Imported Upstream version 1.6.4 upstream/1.6.4
authorŁukasz Stelmach <l.stelmach@samsung.com>
Fri, 4 Oct 2013 11:55:11 +0000 (13:55 +0200)
committerŁukasz Stelmach <l.stelmach@samsung.com>
Fri, 4 Oct 2013 11:55:11 +0000 (13:55 +0200)
1263 files changed:
CHANGES-1.5.txt [new file with mode: 0644]
CHANGES-IPPTOOL.txt [new file with mode: 0644]
CHANGES.txt
CREDITS.txt
INSTALL.txt
IPPTOOL.txt
LICENSE.txt
Makedefs.in
Makefile
README.txt
backend/Dependencies
backend/Makefile
backend/backend-private.h
backend/dnssd.c
backend/ieee1284.c
backend/ipp.c
backend/lpd.c
backend/network.c
backend/org.cups.usb-quirks [new file with mode: 0644]
backend/parallel.c [deleted file]
backend/pseudo [changed mode: 0755->0644]
backend/runloop.c
backend/serial.c [deleted file]
backend/snmp-supplies.c
backend/snmp.c
backend/socket.c
backend/test1284.c
backend/testbackend.c
backend/testsupplies.c
backend/usb-darwin.c
backend/usb-libusb.c
backend/usb-unix.c
backend/usb.c
berkeley/Dependencies
berkeley/Makefile
berkeley/lpc.c
berkeley/lpq.c
berkeley/lpr.c
berkeley/lprm.c
cgi-bin/Dependencies
cgi-bin/Makefile
cgi-bin/admin.c
cgi-bin/cgi-private.h
cgi-bin/cgi.h
cgi-bin/classes.c
cgi-bin/help-index.c
cgi-bin/help-index.h
cgi-bin/help.c
cgi-bin/html.c
cgi-bin/ipp-var.c
cgi-bin/jobs.c
cgi-bin/makedocset.c
cgi-bin/printers.c
cgi-bin/search.c
cgi-bin/template.c
cgi-bin/testcgi.c
cgi-bin/testhi.c
cgi-bin/testtemplate.c
cgi-bin/var.c
cgi-bin/websearch.c
conf/Makefile
conf/cups-files.conf.in [new file with mode: 0644]
conf/cupsd.conf.in
conf/mime.convs.in
conf/mime.types
conf/snmp.conf.in
config-scripts/cups-3264.m4 [deleted file]
config-scripts/cups-common.m4
config-scripts/cups-compiler.m4
config-scripts/cups-defaults.m4
config-scripts/cups-directories.m4
config-scripts/cups-dnssd.m4
config-scripts/cups-gssapi.m4
config-scripts/cups-image.m4 [deleted file]
config-scripts/cups-largefile.m4
config-scripts/cups-launchd.m4
config-scripts/cups-ldap.m4 [deleted file]
config-scripts/cups-libtool.m4
config-scripts/cups-manpages.m4
config-scripts/cups-network.m4
config-scripts/cups-opsys.m4
config-scripts/cups-pam.m4
config-scripts/cups-pdf.m4 [deleted file]
config-scripts/cups-poll.m4
config-scripts/cups-scripting.m4
config-scripts/cups-sharedlibs.m4
config-scripts/cups-slp.m4 [deleted file]
config-scripts/cups-ssl.m4
config-scripts/cups-threads.m4
config.h.in
configure
configure.in
cups-config.in
cups/Dependencies
cups/Makefile
cups/adminutil.c
cups/adminutil.h
cups/api-array.header
cups/api-array.shtml
cups/api-cups.header
cups/api-cups.shtml
cups/api-filedir.header
cups/api-filedir.shtml
cups/api-filter.header
cups/api-filter.shtml
cups/api-httpipp.header
cups/api-httpipp.shtml
cups/api-ppd.header
cups/api-ppd.shtml
cups/array-private.h
cups/array.c
cups/array.h
cups/attr.c
cups/auth.c
cups/backchannel.c
cups/backend.c
cups/backend.h
cups/conflicts.c
cups/cups-private.h
cups/cups.h
cups/custom.c
cups/debug-private.h
cups/debug.c
cups/dest-job.c [new file with mode: 0644]
cups/dest-localization.c [new file with mode: 0644]
cups/dest-options.c [new file with mode: 0644]
cups/dest.c
cups/dir.c
cups/dir.h
cups/emit.c
cups/encode.c
cups/file-private.h
cups/file.c
cups/file.h
cups/getdevices.c
cups/getifaddrs.c
cups/getputfile.c
cups/globals.c
cups/http-addr.c
cups/http-addrlist.c
cups/http-private.h
cups/http-support.c
cups/http.c
cups/http.h
cups/ipp-private.h
cups/ipp-support.c
cups/ipp.c
cups/ipp.h
cups/langprintf.c
cups/language-private.h
cups/language.c
cups/language.h
cups/libcups2.def
cups/libcups_s.exp
cups/localize.c
cups/mark.c
cups/md5-private.h
cups/md5.c
cups/md5passwd.c
cups/notify.c
cups/options.c
cups/page.c
cups/ppd-cache.c
cups/ppd-private.h
cups/ppd.c
cups/ppd.h
cups/pwg-media.c
cups/pwg-private.h
cups/raster-private.h [new file with mode: 0644]
cups/raster.h
cups/request.c
cups/sidechannel.c
cups/sidechannel.h
cups/snmp-private.h
cups/snmp.c
cups/snprintf.c
cups/sspi.c
cups/string-private.h
cups/string.c
cups/tempfile.c
cups/test.ppd
cups/test2.ppd
cups/testadmin.c
cups/testarray.c
cups/testconflicts.c
cups/testcups.c
cups/testfile.c
cups/testhttp.c
cups/testi18n.c
cups/testipp.c
cups/testlang.c
cups/testoptions.c
cups/testppd.c
cups/testpwg.c
cups/testsnmp.c
cups/thread-private.h
cups/thread.c
cups/transcode.c
cups/transcode.h
cups/usersys.c
cups/util.c
cups/versioning.h
data/Makefile
data/epson.h
data/escp.h [deleted file]
data/hp.h
data/label.h
data/media.defs
data/pcl.h [deleted file]
data/psglyphs [deleted file]
data/utf-8 [deleted file]
desktop/Makefile
desktop/cups.desktop.in
doc/Makefile
doc/ca/index.html.in [new file with mode: 0644]
doc/cs/index.html.in [new file with mode: 0644]
doc/de/index.html.in [deleted file]
doc/es/index.html.in
doc/eu/index.html.in [deleted file]
doc/fr/index.html.in
doc/help/api-array.html
doc/help/api-cgi.html
doc/help/api-cups.html
doc/help/api-driver.html
doc/help/api-filedir.html
doc/help/api-filter.html
doc/help/api-httpipp.html
doc/help/api-mime.html
doc/help/api-overview.html
doc/help/api-ppd.html
doc/help/api-ppdc.html
doc/help/api-raster.html
doc/help/kerberos.html
doc/help/license.html
doc/help/man-ipptool.html [new file with mode: 0644]
doc/help/man-ipptoolfile.html [new file with mode: 0644]
doc/help/network.html
doc/help/options.html
doc/help/overview.html
doc/help/policies.html
doc/help/postscript-driver.html
doc/help/ppd-compiler.html
doc/help/raster-driver.html
doc/help/ref-classes-conf.html
doc/help/ref-client-conf.html
doc/help/ref-cups-files-conf.html.in [new file with mode: 0644]
doc/help/ref-cupsd-conf.html.in
doc/help/ref-ppdcfile.html
doc/help/ref-printers-conf.html
doc/help/ref-snmp-conf.html
doc/help/ref-subscriptions-conf.html
doc/help/security.html
doc/help/sharing.html
doc/help/spec-banner.html
doc/help/spec-browsing.html
doc/help/spec-cmp.html
doc/help/spec-command.html
doc/help/spec-ipp.html
doc/help/spec-postscript.html
doc/help/spec-ppd.html
doc/help/whatsnew.html
doc/hu/index.html.in [deleted file]
doc/id/index.html.in [deleted file]
doc/images/color-wheel.png
doc/images/generic.png [deleted file]
doc/index.html.in
doc/it/index.html.in [deleted file]
doc/ja/index.html.in
doc/pl/index.html.in [deleted file]
doc/ru/index.html.in
doc/swish-e.config [new file with mode: 0644]
driver/Dependencies [deleted file]
driver/Makefile [deleted file]
driver/api-driver.header [deleted file]
driver/api-driver.shtml [deleted file]
driver/attr.c [deleted file]
driver/check.c [deleted file]
driver/cmyk.c [deleted file]
driver/commandtoescpx.c [deleted file]
driver/commandtopclx.c [deleted file]
driver/dither.c [deleted file]
driver/driver.h [deleted file]
driver/image.pgm [deleted file]
driver/image.ppm [deleted file]
driver/libcupsdriver.exp [deleted file]
driver/lut.c [deleted file]
driver/pack.c [deleted file]
driver/pcl-common.c [deleted file]
driver/pcl-common.h [deleted file]
driver/rastertoescpx.c [deleted file]
driver/rastertopclx.c [deleted file]
driver/rgb.c [deleted file]
driver/srgb.c [deleted file]
driver/testcmyk.c [deleted file]
driver/testdither.c [deleted file]
driver/testdriver.c [deleted file]
driver/testrgb.c [deleted file]
examples/Makefile
examples/ppdx.c [new file with mode: 0644]
examples/ppdx.h [new file with mode: 0644]
examples/testppdx.c [new file with mode: 0644]
examples/testppdx.ppd [new file with mode: 0644]
filter/Dependencies
filter/Makefile
filter/api-raster.header
filter/api-raster.shtml
filter/bannertops.c [deleted file]
filter/commandtops.c
filter/common.c
filter/common.h
filter/error.c
filter/gziptoany.c
filter/image-bmp.c [deleted file]
filter/image-colorspace.c [deleted file]
filter/image-gif.c [deleted file]
filter/image-jpeg.c [deleted file]
filter/image-photocd.c [deleted file]
filter/image-pix.c [deleted file]
filter/image-png.c [deleted file]
filter/image-pnm.c [deleted file]
filter/image-private.h [deleted file]
filter/image-sgi.c [deleted file]
filter/image-sgi.h [deleted file]
filter/image-sgilib.c [deleted file]
filter/image-sun.c [deleted file]
filter/image-tiff.c [deleted file]
filter/image-zoom.c [deleted file]
filter/image.c [deleted file]
filter/image.h [deleted file]
filter/imagetops.c [deleted file]
filter/imagetoraster.c [deleted file]
filter/interpret.c
filter/pdftops.c [deleted file]
filter/postscript-driver.header
filter/postscript-driver.shtml
filter/ppd-compiler.header
filter/ppd-compiler.shtml
filter/pstext.c [deleted file]
filter/pstext.h [deleted file]
filter/pstops.c
filter/raster-driver.header
filter/raster-driver.shtml
filter/raster.c
filter/rasterbench.c
filter/rastertoepson.c
filter/rastertohp.c
filter/rastertolabel.c
filter/rastertopwg.c
filter/spec-ppd.header
filter/spec-ppd.shtml
filter/testimage.c [deleted file]
filter/testraster.c
filter/textcommon.c [deleted file]
filter/textcommon.h [deleted file]
filter/texttops.c [deleted file]
fonts/Makefile [deleted file]
fonts/Monospace [deleted file]
fonts/Monospace-Bold [deleted file]
fonts/Monospace-BoldOblique [deleted file]
fonts/Monospace-Oblique [deleted file]
install-sh
locale/Dependencies
locale/Makefile
locale/checkpo.c
locale/cups.pot
locale/cups.strings
locale/cups_ca.po [new file with mode: 0644]
locale/cups_cs.po [new file with mode: 0644]
locale/cups_da.po [deleted file]
locale/cups_de.po [deleted file]
locale/cups_es.po
locale/cups_eu.po [deleted file]
locale/cups_fi.po [deleted file]
locale/cups_fr.po
locale/cups_hu.po [deleted file]
locale/cups_id.po [deleted file]
locale/cups_it.po [deleted file]
locale/cups_ja.po
locale/cups_ko.po [deleted file]
locale/cups_nl.po [deleted file]
locale/cups_no.po [deleted file]
locale/cups_pl.po [deleted file]
locale/cups_pt.po [deleted file]
locale/cups_pt_BR.po [deleted file]
locale/cups_ru.po
locale/cups_sv.po [deleted file]
locale/cups_zh.po [deleted file]
locale/cups_zh_TW.po [deleted file]
locale/po2strings.c
locale/strings2po.c
locale/translate.c
man/Makefile
man/backend.man
man/cancel.man
man/classes.conf.man
man/client.conf.man.in
man/cups-config.man
man/cups-deviced.man.in
man/cups-driverd.man.in
man/cups-files.conf.man.in [new file with mode: 0644]
man/cups-lpd.man.in
man/cups-polld.man [deleted file]
man/cups-snmp.conf.man
man/cups-snmp.man.in [new file with mode: 0644]
man/cupsaccept.man
man/cupsaddsmb.man.in
man/cupsctl.man
man/cupsd.conf.man.in
man/cupsd.man.in
man/cupsenable.man
man/cupsfilter.man
man/cupstestdsc.man
man/cupstestppd.man
man/filter.man
man/ipptool.man
man/ipptoolfile.man
man/lp.man
man/lpadmin.man
man/lpc.man
man/lpinfo.man
man/lpmove.man
man/lpoptions.man.in
man/lppasswd.man
man/lpq.man
man/lpr.man
man/lprm.man
man/lpstat.man
man/mailto.conf.man
man/mantohtml.c
man/mime.convs.man
man/mime.types.man
man/notifier.man
man/ppdc.man
man/ppdcfile.man
man/ppdhtml.man
man/ppdi.man
man/ppdmerge.man
man/ppdpo.man
man/printers.conf.man
man/subscriptions.conf.man
monitor/Dependencies
monitor/Makefile
monitor/bcp.c
monitor/tbcp.c
notifier/Dependencies
notifier/Makefile
notifier/dbus.c
notifier/mailto.c
notifier/rss.c
notifier/testnotify.c
packaging/InstallationCheck
packaging/cups.list.in
packaging/cups.spec
packaging/cups.spec.in
ppdc/Dependencies
ppdc/Makefile
ppdc/foo.drv
ppdc/genstrings.cxx
ppdc/ppdc-array.cxx
ppdc/ppdc-attr.cxx
ppdc/ppdc-catalog.cxx
ppdc/ppdc-choice.cxx
ppdc/ppdc-constraint.cxx
ppdc/ppdc-driver.cxx
ppdc/ppdc-file.cxx
ppdc/ppdc-filter.cxx
ppdc/ppdc-font.cxx
ppdc/ppdc-group.cxx
ppdc/ppdc-import.cxx
ppdc/ppdc-mediasize.cxx
ppdc/ppdc-message.cxx
ppdc/ppdc-option.cxx
ppdc/ppdc-private.h
ppdc/ppdc-profile.cxx
ppdc/ppdc-shared.cxx
ppdc/ppdc-source.cxx
ppdc/ppdc-string.cxx
ppdc/ppdc-variable.cxx
ppdc/ppdc.cxx
ppdc/ppdc.h
ppdc/ppdhtml.cxx
ppdc/ppdi.cxx
ppdc/ppdmerge.cxx
ppdc/ppdpo.cxx
ppdc/sample.drv
ppdc/testcatalog.cxx
scheduler/Dependencies
scheduler/Makefile
scheduler/auth.c
scheduler/auth.h
scheduler/banners.c
scheduler/banners.h
scheduler/cert.c
scheduler/cert.h
scheduler/classes.c
scheduler/classes.h
scheduler/client.c
scheduler/client.h
scheduler/colorman.c [new file with mode: 0644]
scheduler/colorman.h [new file with mode: 0644]
scheduler/conf.c
scheduler/conf.h
scheduler/cups-deviced.c
scheduler/cups-driverd.cxx
scheduler/cups-exec.c
scheduler/cups-lpd.c
scheduler/cups-polld.c [deleted file]
scheduler/cups.sh.in
scheduler/cups.xml.in
scheduler/cupsd.h
scheduler/cupsfilter.c
scheduler/dirsvc.c
scheduler/dirsvc.h
scheduler/env.c
scheduler/file.c
scheduler/filter.c
scheduler/ipp.c
scheduler/job.c
scheduler/job.h
scheduler/listen.c
scheduler/log.c
scheduler/main.c
scheduler/mime-private.h
scheduler/mime.c
scheduler/mime.h
scheduler/network.c
scheduler/network.h
scheduler/policy.c
scheduler/policy.h
scheduler/printers.c
scheduler/printers.h
scheduler/process.c
scheduler/quotas.c
scheduler/select.c
scheduler/server.c
scheduler/statbuf.c
scheduler/statbuf.h
scheduler/subscriptions.c
scheduler/subscriptions.h
scheduler/sysman.c
scheduler/sysman.h
scheduler/testdirsvc.c [deleted file]
scheduler/testlpd.c
scheduler/testmime.c
scheduler/testspeed.c
scheduler/testsub.c
scheduler/tls-darwin.c [new file with mode: 0644]
scheduler/tls-gnutls.c [new file with mode: 0644]
scheduler/tls-openssl.c [new file with mode: 0644]
scheduler/tls.c [new file with mode: 0644]
scheduler/type.c
scheduler/util.c
scheduler/util.h
scripting/perl/CUPS.pm [deleted file]
scripting/perl/CUPS.xs [deleted file]
scripting/perl/Makefile.PL [deleted file]
scripting/perl/README [deleted file]
scripting/perl/test.pl [deleted file]
scripting/php/Dependencies [deleted file]
scripting/php/Makefile [deleted file]
scripting/php/README [deleted file]
scripting/php/phpcups.c [deleted file]
scripting/php/phpcups.h [deleted file]
scripting/php/phpcups.php [deleted file]
systemv/Dependencies
systemv/Makefile
systemv/cancel.c
systemv/cupsaccept.c
systemv/cupsaddsmb.c
systemv/cupsctl.c
systemv/cupstestdsc.c
systemv/cupstestppd.c
systemv/lp.c
systemv/lpadmin.c
systemv/lpinfo.c
systemv/lpmove.c
systemv/lpoptions.c
systemv/lppasswd.c
systemv/lpstat.c
templates/Makefile
templates/admin.tmpl
templates/ca/add-class.tmpl [moved from templates/it/add-class.tmpl with 55% similarity]
templates/ca/add-printer.tmpl [moved from templates/eu/add-printer.tmpl with 66% similarity]
templates/ca/add-rss-subscription.tmpl [moved from templates/it/add-rss-subscription.tmpl with 55% similarity]
templates/ca/admin.tmpl [new file with mode: 0644]
templates/ca/choose-device.tmpl [moved from templates/hu/choose-device.tmpl with 77% similarity]
templates/ca/choose-make.tmpl [moved from templates/it/choose-make.tmpl with 76% similarity]
templates/ca/choose-model.tmpl [moved from templates/it/choose-model.tmpl with 70% similarity]
templates/ca/choose-serial.tmpl [moved from templates/it/choose-serial.tmpl with 50% similarity]
templates/ca/choose-uri.tmpl [moved from templates/it/choose-uri.tmpl with 74% similarity]
templates/ca/class-added.tmpl [new file with mode: 0644]
templates/ca/class-confirm.tmpl [moved from templates/it/class-confirm.tmpl with 63% similarity]
templates/ca/class-deleted.tmpl [new file with mode: 0644]
templates/ca/class-jobs-header.tmpl [new file with mode: 0644]
templates/ca/class-modified.tmpl [moved from templates/it/class-modified.tmpl with 51% similarity]
templates/ca/class.tmpl [new file with mode: 0644]
templates/ca/classes-header.tmpl [new file with mode: 0644]
templates/ca/classes.tmpl [moved from templates/de/classes.tmpl with 50% similarity]
templates/ca/command.tmpl [new file with mode: 0644]
templates/ca/edit-config.tmpl [moved from templates/de/edit-config.tmpl with 67% similarity]
templates/ca/error-op.tmpl [moved from templates/de/error-op.tmpl with 53% similarity]
templates/ca/error.tmpl [moved from templates/de/error.tmpl with 76% similarity]
templates/ca/header.tmpl.in [moved from templates/id/header.tmpl.in with 80% similarity]
templates/ca/help-header.tmpl [new file with mode: 0644]
templates/ca/help-printable.tmpl [moved from templates/pl/help-printable.tmpl with 100% similarity]
templates/ca/help-trailer.tmpl [moved from templates/pl/help-trailer.tmpl with 100% similarity]
templates/ca/job-cancel.tmpl [new file with mode: 0644]
templates/ca/job-hold.tmpl [new file with mode: 0644]
templates/ca/job-move.tmpl [moved from templates/it/job-move.tmpl with 69% similarity]
templates/ca/job-moved.tmpl [new file with mode: 0644]
templates/ca/job-release.tmpl [new file with mode: 0644]
templates/ca/job-restart.tmpl [new file with mode: 0644]
templates/ca/jobs-header.tmpl [moved from templates/it/jobs-header.tmpl with 50% similarity]
templates/ca/jobs.tmpl [moved from templates/id/jobs.tmpl with 63% similarity]
templates/ca/list-available-printers.tmpl [moved from templates/de/list-available-printers.tmpl with 79% similarity]
templates/ca/modify-class.tmpl [moved from templates/pl/modify-class.tmpl with 74% similarity]
templates/ca/modify-printer.tmpl [moved from templates/pl/modify-printer.tmpl with 66% similarity]
templates/ca/norestart.tmpl [new file with mode: 0644]
templates/ca/option-boolean.tmpl [moved from templates/pl/option-boolean.tmpl with 100% similarity]
templates/ca/option-conflict.tmpl [new file with mode: 0644]
templates/ca/option-header.tmpl [moved from templates/pl/option-header.tmpl with 100% similarity]
templates/ca/option-pickmany.tmpl [moved from templates/pl/option-pickmany.tmpl with 100% similarity]
templates/ca/option-pickone.tmpl [moved from templates/eu/option-pickone.tmpl with 59% similarity]
templates/ca/option-trailer.tmpl [new file with mode: 0644]
templates/ca/pager.tmpl [moved from templates/id/pager.tmpl with 75% similarity]
templates/ca/printer-accept.tmpl [new file with mode: 0644]
templates/ca/printer-added.tmpl [new file with mode: 0644]
templates/ca/printer-configured.tmpl [new file with mode: 0644]
templates/ca/printer-confirm.tmpl [moved from templates/it/printer-confirm.tmpl with 62% similarity]
templates/ca/printer-default.tmpl [new file with mode: 0644]
templates/ca/printer-deleted.tmpl [new file with mode: 0644]
templates/ca/printer-jobs-header.tmpl [new file with mode: 0644]
templates/ca/printer-modified.tmpl [new file with mode: 0644]
templates/ca/printer-purge.tmpl [new file with mode: 0644]
templates/ca/printer-reject.tmpl [new file with mode: 0644]
templates/ca/printer-start.tmpl [new file with mode: 0644]
templates/ca/printer-stop.tmpl [new file with mode: 0644]
templates/ca/printer.tmpl [new file with mode: 0644]
templates/ca/printers-header.tmpl [new file with mode: 0644]
templates/ca/printers.tmpl [moved from templates/id/printers.tmpl with 54% similarity]
templates/ca/restart.tmpl [new file with mode: 0644]
templates/ca/samba-export.tmpl [new file with mode: 0644]
templates/ca/samba-exported.tmpl [new file with mode: 0644]
templates/ca/search.tmpl [moved from templates/it/search.tmpl with 72% similarity]
templates/ca/set-printer-options-header.tmpl [moved from templates/pl/set-printer-options-header.tmpl with 86% similarity]
templates/ca/set-printer-options-trailer.tmpl [moved from templates/it/set-printer-options-trailer.tmpl with 100% similarity]
templates/ca/subscription-added.tmpl [new file with mode: 0644]
templates/ca/subscription-canceled.tmpl [new file with mode: 0644]
templates/ca/test-page.tmpl [new file with mode: 0644]
templates/ca/trailer.tmpl [new file with mode: 0644]
templates/ca/users.tmpl [moved from templates/it/users.tmpl with 67% similarity]
templates/cs/add-class.tmpl [moved from templates/id/add-class.tmpl with 57% similarity]
templates/cs/add-printer.tmpl [moved from templates/de/add-printer.tmpl with 67% similarity]
templates/cs/add-rss-subscription.tmpl [moved from templates/id/add-rss-subscription.tmpl with 58% similarity]
templates/cs/admin.tmpl [new file with mode: 0644]
templates/cs/choose-device.tmpl [moved from templates/it/choose-device.tmpl with 69% similarity]
templates/cs/choose-make.tmpl [moved from templates/id/choose-make.tmpl with 71% similarity]
templates/cs/choose-model.tmpl [moved from templates/id/choose-model.tmpl with 66% similarity]
templates/cs/choose-serial.tmpl [moved from templates/eu/choose-serial.tmpl with 53% similarity]
templates/cs/choose-uri.tmpl [moved from templates/id/choose-uri.tmpl with 70% similarity]
templates/cs/class-added.tmpl [new file with mode: 0644]
templates/cs/class-confirm.tmpl [moved from templates/id/class-confirm.tmpl with 66% similarity]
templates/cs/class-deleted.tmpl [new file with mode: 0644]
templates/cs/class-jobs-header.tmpl [new file with mode: 0644]
templates/cs/class-modified.tmpl [new file with mode: 0644]
templates/cs/class.tmpl [new file with mode: 0644]
templates/cs/classes-header.tmpl [new file with mode: 0644]
templates/cs/classes.tmpl [new file with mode: 0644]
templates/cs/command.tmpl [new file with mode: 0644]
templates/cs/edit-config.tmpl [moved from templates/pl/edit-config.tmpl with 69% similarity]
templates/cs/error-op.tmpl [new file with mode: 0644]
templates/cs/error.tmpl [new file with mode: 0644]
templates/cs/header.tmpl.in [moved from templates/de/header.tmpl.in with 69% similarity]
templates/cs/help-header.tmpl [new file with mode: 0644]
templates/cs/help-printable.tmpl [moved from templates/de/help-printable.tmpl with 82% similarity]
templates/cs/help-trailer.tmpl [moved from templates/it/help-trailer.tmpl with 100% similarity]
templates/cs/job-cancel.tmpl [new file with mode: 0644]
templates/cs/job-hold.tmpl [new file with mode: 0644]
templates/cs/job-move.tmpl [moved from templates/id/job-move.tmpl with 70% similarity]
templates/cs/job-moved.tmpl [new file with mode: 0644]
templates/cs/job-release.tmpl [new file with mode: 0644]
templates/cs/job-restart.tmpl [new file with mode: 0644]
templates/cs/jobs-header.tmpl [moved from templates/eu/jobs-header.tmpl with 51% similarity]
templates/cs/jobs.tmpl [moved from templates/eu/jobs.tmpl with 60% similarity]
templates/cs/list-available-printers.tmpl [moved from templates/id/list-available-printers.tmpl with 53% similarity]
templates/cs/modify-class.tmpl [moved from templates/eu/modify-class.tmpl with 75% similarity]
templates/cs/modify-printer.tmpl [moved from templates/de/modify-printer.tmpl with 68% similarity]
templates/cs/norestart.tmpl [new file with mode: 0644]
templates/cs/option-boolean.tmpl [moved from templates/it/option-boolean.tmpl with 100% similarity]
templates/cs/option-conflict.tmpl [new file with mode: 0644]
templates/cs/option-header.tmpl [moved from templates/it/option-header.tmpl with 100% similarity]
templates/cs/option-pickmany.tmpl [moved from templates/it/option-pickmany.tmpl with 100% similarity]
templates/cs/option-pickone.tmpl [moved from templates/pl/option-pickone.tmpl with 73% similarity]
templates/cs/option-trailer.tmpl [new file with mode: 0644]
templates/cs/pager.tmpl [moved from templates/pl/pager.tmpl with 67% similarity]
templates/cs/printer-accept.tmpl [new file with mode: 0644]
templates/cs/printer-added.tmpl [new file with mode: 0644]
templates/cs/printer-configured.tmpl [new file with mode: 0644]
templates/cs/printer-confirm.tmpl [moved from templates/pl/printer-confirm.tmpl with 64% similarity]
templates/cs/printer-default.tmpl [new file with mode: 0644]
templates/cs/printer-deleted.tmpl [new file with mode: 0644]
templates/cs/printer-jobs-header.tmpl [new file with mode: 0644]
templates/cs/printer-modified.tmpl [new file with mode: 0644]
templates/cs/printer-purge.tmpl [new file with mode: 0644]
templates/cs/printer-reject.tmpl [new file with mode: 0644]
templates/cs/printer-start.tmpl [new file with mode: 0644]
templates/cs/printer-stop.tmpl [new file with mode: 0644]
templates/cs/printer.tmpl [new file with mode: 0644]
templates/cs/printers-header.tmpl [new file with mode: 0644]
templates/cs/printers.tmpl [new file with mode: 0644]
templates/cs/restart.tmpl [new file with mode: 0644]
templates/cs/samba-export.tmpl [new file with mode: 0644]
templates/cs/samba-exported.tmpl [new file with mode: 0644]
templates/cs/search.tmpl [moved from templates/eu/search.tmpl with 60% similarity]
templates/cs/set-printer-options-header.tmpl [moved from templates/id/set-printer-options-header.tmpl with 87% similarity]
templates/cs/set-printer-options-trailer.tmpl [moved from templates/id/set-printer-options-trailer.tmpl with 100% similarity]
templates/cs/subscription-added.tmpl [new file with mode: 0644]
templates/cs/subscription-canceled.tmpl [new file with mode: 0644]
templates/cs/test-page.tmpl [new file with mode: 0644]
templates/cs/trailer.tmpl [new file with mode: 0644]
templates/cs/users.tmpl [moved from templates/de/users.tmpl with 66% similarity]
templates/de/add-class.tmpl [deleted file]
templates/de/add-rss-subscription.tmpl [deleted file]
templates/de/admin.tmpl [deleted file]
templates/de/choose-device.tmpl [deleted file]
templates/de/choose-make.tmpl [deleted file]
templates/de/choose-model.tmpl [deleted file]
templates/de/choose-serial.tmpl [deleted file]
templates/de/choose-uri.tmpl [deleted file]
templates/de/class-added.tmpl [deleted file]
templates/de/class-confirm.tmpl [deleted file]
templates/de/class-deleted.tmpl [deleted file]
templates/de/class-jobs-header.tmpl [deleted file]
templates/de/class-modified.tmpl [deleted file]
templates/de/class.tmpl [deleted file]
templates/de/classes-header.tmpl [deleted file]
templates/de/command.tmpl [deleted file]
templates/de/help-header.tmpl [deleted file]
templates/de/help-trailer.tmpl [deleted file]
templates/de/job-cancel.tmpl [deleted file]
templates/de/job-hold.tmpl [deleted file]
templates/de/job-move.tmpl [deleted file]
templates/de/job-moved.tmpl [deleted file]
templates/de/job-release.tmpl [deleted file]
templates/de/job-restart.tmpl [deleted file]
templates/de/jobs-header.tmpl [deleted file]
templates/de/jobs.tmpl [deleted file]
templates/de/modify-class.tmpl [deleted file]
templates/de/norestart.tmpl [deleted file]
templates/de/option-boolean.tmpl [deleted file]
templates/de/option-conflict.tmpl [deleted file]
templates/de/option-header.tmpl [deleted file]
templates/de/option-pickmany.tmpl [deleted file]
templates/de/option-pickone.tmpl [deleted file]
templates/de/option-trailer.tmpl [deleted file]
templates/de/pager.tmpl [deleted file]
templates/de/printer-accept.tmpl [deleted file]
templates/de/printer-added.tmpl [deleted file]
templates/de/printer-configured.tmpl [deleted file]
templates/de/printer-confirm.tmpl [deleted file]
templates/de/printer-default.tmpl [deleted file]
templates/de/printer-deleted.tmpl [deleted file]
templates/de/printer-jobs-header.tmpl [deleted file]
templates/de/printer-modified.tmpl [deleted file]
templates/de/printer-purge.tmpl [deleted file]
templates/de/printer-reject.tmpl [deleted file]
templates/de/printer-start.tmpl [deleted file]
templates/de/printer-stop.tmpl [deleted file]
templates/de/printer.tmpl [deleted file]
templates/de/printers-header.tmpl [deleted file]
templates/de/printers.tmpl [deleted file]
templates/de/restart.tmpl [deleted file]
templates/de/samba-export.tmpl [deleted file]
templates/de/samba-exported.tmpl [deleted file]
templates/de/search.tmpl [deleted file]
templates/de/set-printer-options-header.tmpl [deleted file]
templates/de/set-printer-options-trailer.tmpl [deleted file]
templates/de/subscription-added.tmpl [deleted file]
templates/de/subscription-canceled.tmpl [deleted file]
templates/de/test-page.tmpl [deleted file]
templates/de/trailer.tmpl [deleted file]
templates/error.tmpl
templates/es/add-class.tmpl
templates/es/admin.tmpl
templates/es/error.tmpl
templates/es/help-header.tmpl
templates/es/jobs.tmpl
templates/es/trailer.tmpl
templates/eu/add-class.tmpl [deleted file]
templates/eu/add-rss-subscription.tmpl [deleted file]
templates/eu/admin.tmpl [deleted file]
templates/eu/choose-device.tmpl [deleted file]
templates/eu/choose-make.tmpl [deleted file]
templates/eu/choose-model.tmpl [deleted file]
templates/eu/choose-uri.tmpl [deleted file]
templates/eu/class-added.tmpl [deleted file]
templates/eu/class-confirm.tmpl [deleted file]
templates/eu/class-deleted.tmpl [deleted file]
templates/eu/class-jobs-header.tmpl [deleted file]
templates/eu/class-modified.tmpl [deleted file]
templates/eu/class.tmpl [deleted file]
templates/eu/classes-header.tmpl [deleted file]
templates/eu/classes.tmpl [deleted file]
templates/eu/command.tmpl [deleted file]
templates/eu/edit-config.tmpl [deleted file]
templates/eu/error-op.tmpl [deleted file]
templates/eu/error.tmpl [deleted file]
templates/eu/header.tmpl.in [deleted file]
templates/eu/help-header.tmpl [deleted file]
templates/eu/help-printable.tmpl [deleted file]
templates/eu/help-trailer.tmpl [deleted file]
templates/eu/job-cancel.tmpl [deleted file]
templates/eu/job-hold.tmpl [deleted file]
templates/eu/job-move.tmpl [deleted file]
templates/eu/job-moved.tmpl [deleted file]
templates/eu/job-release.tmpl [deleted file]
templates/eu/job-restart.tmpl [deleted file]
templates/eu/list-available-printers.tmpl [deleted file]
templates/eu/modify-printer.tmpl [deleted file]
templates/eu/norestart.tmpl [deleted file]
templates/eu/option-boolean.tmpl [deleted file]
templates/eu/option-conflict.tmpl [deleted file]
templates/eu/option-header.tmpl [deleted file]
templates/eu/option-pickmany.tmpl [deleted file]
templates/eu/option-trailer.tmpl [deleted file]
templates/eu/pager.tmpl [deleted file]
templates/eu/printer-accept.tmpl [deleted file]
templates/eu/printer-added.tmpl [deleted file]
templates/eu/printer-configured.tmpl [deleted file]
templates/eu/printer-confirm.tmpl [deleted file]
templates/eu/printer-default.tmpl [deleted file]
templates/eu/printer-deleted.tmpl [deleted file]
templates/eu/printer-jobs-header.tmpl [deleted file]
templates/eu/printer-modified.tmpl [deleted file]
templates/eu/printer-purge.tmpl [deleted file]
templates/eu/printer-reject.tmpl [deleted file]
templates/eu/printer-start.tmpl [deleted file]
templates/eu/printer-stop.tmpl [deleted file]
templates/eu/printer.tmpl [deleted file]
templates/eu/printers-header.tmpl [deleted file]
templates/eu/printers.tmpl [deleted file]
templates/eu/restart.tmpl [deleted file]
templates/eu/samba-export.tmpl [deleted file]
templates/eu/samba-exported.tmpl [deleted file]
templates/eu/set-printer-options-header.tmpl [deleted file]
templates/eu/set-printer-options-trailer.tmpl [deleted file]
templates/eu/subscription-added.tmpl [deleted file]
templates/eu/subscription-canceled.tmpl [deleted file]
templates/eu/test-page.tmpl [deleted file]
templates/eu/trailer.tmpl [deleted file]
templates/eu/users.tmpl [deleted file]
templates/fr/add-class.tmpl
templates/fr/add-printer.tmpl
templates/fr/add-rss-subscription.tmpl
templates/fr/admin.tmpl
templates/fr/choose-make.tmpl
templates/fr/choose-model.tmpl
templates/fr/choose-serial.tmpl
templates/fr/choose-uri.tmpl
templates/fr/class-added.tmpl
templates/fr/class-deleted.tmpl
templates/fr/class-modified.tmpl
templates/fr/classes-header.tmpl
templates/fr/error.tmpl
templates/fr/header.tmpl.in
templates/fr/help-header.tmpl
templates/fr/jobs.tmpl
templates/fr/modify-class.tmpl
templates/fr/option-pickone.tmpl
templates/fr/option-trailer.tmpl
templates/fr/printer-added.tmpl
templates/fr/printer-default.tmpl
templates/fr/printer-modified.tmpl
templates/fr/printer-purge.tmpl
templates/fr/printer-start.tmpl
templates/fr/printer-stop.tmpl
templates/fr/printer.tmpl
templates/fr/samba-export.tmpl
templates/fr/subscription-canceled.tmpl
templates/fr/trailer.tmpl
templates/help-header.tmpl
templates/hu/add-class.tmpl [deleted file]
templates/hu/add-printer.tmpl [deleted file]
templates/hu/add-rss-subscription.tmpl [deleted file]
templates/hu/admin.tmpl [deleted file]
templates/hu/choose-make.tmpl [deleted file]
templates/hu/choose-model.tmpl [deleted file]
templates/hu/choose-serial.tmpl [deleted file]
templates/hu/choose-uri.tmpl [deleted file]
templates/hu/class-added.tmpl [deleted file]
templates/hu/class-confirm.tmpl [deleted file]
templates/hu/class-deleted.tmpl [deleted file]
templates/hu/class-jobs-header.tmpl [deleted file]
templates/hu/class-modified.tmpl [deleted file]
templates/hu/class.tmpl [deleted file]
templates/hu/classes-header.tmpl [deleted file]
templates/hu/classes.tmpl [deleted file]
templates/hu/command.tmpl [deleted file]
templates/hu/edit-config.tmpl [deleted file]
templates/hu/error-op.tmpl [deleted file]
templates/hu/error.tmpl [deleted file]
templates/hu/header.tmpl.in [deleted file]
templates/hu/help-header.tmpl [deleted file]
templates/hu/help-printable.tmpl [deleted file]
templates/hu/help-trailer.tmpl [deleted file]
templates/hu/job-cancel.tmpl [deleted file]
templates/hu/job-hold.tmpl [deleted file]
templates/hu/job-move.tmpl [deleted file]
templates/hu/job-moved.tmpl [deleted file]
templates/hu/job-release.tmpl [deleted file]
templates/hu/job-restart.tmpl [deleted file]
templates/hu/jobs-header.tmpl [deleted file]
templates/hu/jobs.tmpl [deleted file]
templates/hu/list-available-printers.tmpl [deleted file]
templates/hu/modify-class.tmpl [deleted file]
templates/hu/modify-printer.tmpl [deleted file]
templates/hu/norestart.tmpl [deleted file]
templates/hu/option-boolean.tmpl [deleted file]
templates/hu/option-conflict.tmpl [deleted file]
templates/hu/option-header.tmpl [deleted file]
templates/hu/option-pickmany.tmpl [deleted file]
templates/hu/option-pickone.tmpl [deleted file]
templates/hu/option-trailer.tmpl [deleted file]
templates/hu/pager.tmpl [deleted file]
templates/hu/printer-accept.tmpl [deleted file]
templates/hu/printer-added.tmpl [deleted file]
templates/hu/printer-configured.tmpl [deleted file]
templates/hu/printer-confirm.tmpl [deleted file]
templates/hu/printer-default.tmpl [deleted file]
templates/hu/printer-deleted.tmpl [deleted file]
templates/hu/printer-jobs-header.tmpl [deleted file]
templates/hu/printer-modified.tmpl [deleted file]
templates/hu/printer-purge.tmpl [deleted file]
templates/hu/printer-reject.tmpl [deleted file]
templates/hu/printer-start.tmpl [deleted file]
templates/hu/printer-stop.tmpl [deleted file]
templates/hu/printer.tmpl [deleted file]
templates/hu/printers-header.tmpl [deleted file]
templates/hu/printers.tmpl [deleted file]
templates/hu/restart.tmpl [deleted file]
templates/hu/samba-export.tmpl [deleted file]
templates/hu/samba-exported.tmpl [deleted file]
templates/hu/search.tmpl [deleted file]
templates/hu/set-printer-options-header.tmpl [deleted file]
templates/hu/set-printer-options-trailer.tmpl [deleted file]
templates/hu/subscription-added.tmpl [deleted file]
templates/hu/subscription-canceled.tmpl [deleted file]
templates/hu/test-page.tmpl [deleted file]
templates/hu/trailer.tmpl [deleted file]
templates/hu/users.tmpl [deleted file]
templates/id/add-printer.tmpl [deleted file]
templates/id/admin.tmpl [deleted file]
templates/id/choose-device.tmpl [deleted file]
templates/id/choose-serial.tmpl [deleted file]
templates/id/class-added.tmpl [deleted file]
templates/id/class-deleted.tmpl [deleted file]
templates/id/class-jobs-header.tmpl [deleted file]
templates/id/class-modified.tmpl [deleted file]
templates/id/class.tmpl [deleted file]
templates/id/classes-header.tmpl [deleted file]
templates/id/classes.tmpl [deleted file]
templates/id/command.tmpl [deleted file]
templates/id/edit-config.tmpl [deleted file]
templates/id/error-op.tmpl [deleted file]
templates/id/error.tmpl [deleted file]
templates/id/help-header.tmpl [deleted file]
templates/id/help-printable.tmpl [deleted file]
templates/id/help-trailer.tmpl [deleted file]
templates/id/job-cancel.tmpl [deleted file]
templates/id/job-hold.tmpl [deleted file]
templates/id/job-moved.tmpl [deleted file]
templates/id/job-release.tmpl [deleted file]
templates/id/job-restart.tmpl [deleted file]
templates/id/jobs-header.tmpl [deleted file]
templates/id/modify-class.tmpl [deleted file]
templates/id/modify-printer.tmpl [deleted file]
templates/id/norestart.tmpl [deleted file]
templates/id/option-boolean.tmpl [deleted file]
templates/id/option-conflict.tmpl [deleted file]
templates/id/option-header.tmpl [deleted file]
templates/id/option-pickmany.tmpl [deleted file]
templates/id/option-pickone.tmpl [deleted file]
templates/id/option-trailer.tmpl [deleted file]
templates/id/printer-accept.tmpl [deleted file]
templates/id/printer-added.tmpl [deleted file]
templates/id/printer-configured.tmpl [deleted file]
templates/id/printer-confirm.tmpl [deleted file]
templates/id/printer-default.tmpl [deleted file]
templates/id/printer-deleted.tmpl [deleted file]
templates/id/printer-jobs-header.tmpl [deleted file]
templates/id/printer-modified.tmpl [deleted file]
templates/id/printer-purge.tmpl [deleted file]
templates/id/printer-reject.tmpl [deleted file]
templates/id/printer-start.tmpl [deleted file]
templates/id/printer-stop.tmpl [deleted file]
templates/id/printer.tmpl [deleted file]
templates/id/printers-header.tmpl [deleted file]
templates/id/restart.tmpl [deleted file]
templates/id/samba-export.tmpl [deleted file]
templates/id/samba-exported.tmpl [deleted file]
templates/id/search.tmpl [deleted file]
templates/id/subscription-added.tmpl [deleted file]
templates/id/subscription-canceled.tmpl [deleted file]
templates/id/test-page.tmpl [deleted file]
templates/id/trailer.tmpl [deleted file]
templates/id/users.tmpl [deleted file]
templates/it/add-printer.tmpl [deleted file]
templates/it/admin.tmpl [deleted file]
templates/it/class-added.tmpl [deleted file]
templates/it/class-deleted.tmpl [deleted file]
templates/it/class-jobs-header.tmpl [deleted file]
templates/it/class.tmpl [deleted file]
templates/it/classes-header.tmpl [deleted file]
templates/it/classes.tmpl [deleted file]
templates/it/command.tmpl [deleted file]
templates/it/edit-config.tmpl [deleted file]
templates/it/error-op.tmpl [deleted file]
templates/it/error.tmpl [deleted file]
templates/it/help-header.tmpl [deleted file]
templates/it/help-printable.tmpl [deleted file]
templates/it/job-cancel.tmpl [deleted file]
templates/it/job-hold.tmpl [deleted file]
templates/it/job-moved.tmpl [deleted file]
templates/it/job-release.tmpl [deleted file]
templates/it/job-restart.tmpl [deleted file]
templates/it/jobs.tmpl [deleted file]
templates/it/list-available-printers.tmpl [deleted file]
templates/it/modify-class.tmpl [deleted file]
templates/it/modify-printer.tmpl [deleted file]
templates/it/norestart.tmpl [deleted file]
templates/it/option-conflict.tmpl [deleted file]
templates/it/option-pickone.tmpl [deleted file]
templates/it/option-trailer.tmpl [deleted file]
templates/it/pager.tmpl [deleted file]
templates/it/printer-accept.tmpl [deleted file]
templates/it/printer-added.tmpl [deleted file]
templates/it/printer-configured.tmpl [deleted file]
templates/it/printer-default.tmpl [deleted file]
templates/it/printer-deleted.tmpl [deleted file]
templates/it/printer-jobs-header.tmpl [deleted file]
templates/it/printer-modified.tmpl [deleted file]
templates/it/printer-purge.tmpl [deleted file]
templates/it/printer-reject.tmpl [deleted file]
templates/it/printer-start.tmpl [deleted file]
templates/it/printer-stop.tmpl [deleted file]
templates/it/printer.tmpl [deleted file]
templates/it/printers-header.tmpl [deleted file]
templates/it/printers.tmpl [deleted file]
templates/it/restart.tmpl [deleted file]
templates/it/samba-export.tmpl [deleted file]
templates/it/samba-exported.tmpl [deleted file]
templates/it/set-printer-options-header.tmpl [deleted file]
templates/it/subscription-added.tmpl [deleted file]
templates/it/subscription-canceled.tmpl [deleted file]
templates/it/test-page.tmpl [deleted file]
templates/it/trailer.tmpl [deleted file]
templates/ja/add-class.tmpl
templates/ja/add-printer.tmpl
templates/ja/admin.tmpl
templates/ja/choose-device.tmpl
templates/ja/choose-make.tmpl
templates/ja/choose-model.tmpl
templates/ja/choose-uri.tmpl
templates/ja/class-confirm.tmpl
templates/ja/class-deleted.tmpl
templates/ja/class-modified.tmpl
templates/ja/class.tmpl
templates/ja/classes.tmpl
templates/ja/command.tmpl
templates/ja/edit-config.tmpl
templates/ja/error-op.tmpl
templates/ja/error.tmpl
templates/ja/header.tmpl.in
templates/ja/help-header.tmpl
templates/ja/job-cancel.tmpl
templates/ja/job-hold.tmpl
templates/ja/job-moved.tmpl
templates/ja/jobs-header.tmpl
templates/ja/jobs.tmpl
templates/ja/modify-printer.tmpl
templates/ja/printer-configured.tmpl
templates/ja/printer-default.tmpl
templates/ja/printer-deleted.tmpl
templates/ja/printer-modified.tmpl
templates/ja/printer-purge.tmpl
templates/ja/printer-start.tmpl
templates/ja/printer-stop.tmpl
templates/ja/printer.tmpl
templates/ja/printers.tmpl
templates/ja/restart.tmpl
templates/ja/samba-export.tmpl
templates/ja/set-printer-options-header.tmpl
templates/ja/trailer.tmpl
templates/jobs.tmpl
templates/pl/add-class.tmpl [deleted file]
templates/pl/add-printer.tmpl [deleted file]
templates/pl/add-rss-subscription.tmpl [deleted file]
templates/pl/admin.tmpl [deleted file]
templates/pl/choose-device.tmpl [deleted file]
templates/pl/choose-make.tmpl [deleted file]
templates/pl/choose-model.tmpl [deleted file]
templates/pl/choose-serial.tmpl [deleted file]
templates/pl/choose-uri.tmpl [deleted file]
templates/pl/class-added.tmpl [deleted file]
templates/pl/class-confirm.tmpl [deleted file]
templates/pl/class-deleted.tmpl [deleted file]
templates/pl/class-jobs-header.tmpl [deleted file]
templates/pl/class-modified.tmpl [deleted file]
templates/pl/class.tmpl [deleted file]
templates/pl/classes-header.tmpl [deleted file]
templates/pl/classes.tmpl [deleted file]
templates/pl/command.tmpl [deleted file]
templates/pl/error-op.tmpl [deleted file]
templates/pl/error.tmpl [deleted file]
templates/pl/header.tmpl.in [deleted file]
templates/pl/help-header.tmpl [deleted file]
templates/pl/job-cancel.tmpl [deleted file]
templates/pl/job-hold.tmpl [deleted file]
templates/pl/job-move.tmpl [deleted file]
templates/pl/job-moved.tmpl [deleted file]
templates/pl/job-release.tmpl [deleted file]
templates/pl/job-restart.tmpl [deleted file]
templates/pl/jobs-header.tmpl [deleted file]
templates/pl/jobs.tmpl [deleted file]
templates/pl/list-available-printers.tmpl [deleted file]
templates/pl/norestart.tmpl [deleted file]
templates/pl/option-conflict.tmpl [deleted file]
templates/pl/option-trailer.tmpl [deleted file]
templates/pl/printer-accept.tmpl [deleted file]
templates/pl/printer-added.tmpl [deleted file]
templates/pl/printer-configured.tmpl [deleted file]
templates/pl/printer-default.tmpl [deleted file]
templates/pl/printer-deleted.tmpl [deleted file]
templates/pl/printer-jobs-header.tmpl [deleted file]
templates/pl/printer-modified.tmpl [deleted file]
templates/pl/printer-purge.tmpl [deleted file]
templates/pl/printer-reject.tmpl [deleted file]
templates/pl/printer-start.tmpl [deleted file]
templates/pl/printer-stop.tmpl [deleted file]
templates/pl/printer.tmpl [deleted file]
templates/pl/printers-header.tmpl [deleted file]
templates/pl/printers.tmpl [deleted file]
templates/pl/restart.tmpl [deleted file]
templates/pl/samba-export.tmpl [deleted file]
templates/pl/samba-exported.tmpl [deleted file]
templates/pl/search.tmpl [deleted file]
templates/pl/set-printer-options-trailer.tmpl [deleted file]
templates/pl/subscription-added.tmpl [deleted file]
templates/pl/subscription-canceled.tmpl [deleted file]
templates/pl/test-page.tmpl [deleted file]
templates/pl/trailer.tmpl [deleted file]
templates/pl/users.tmpl [deleted file]
templates/ru/Makefile [deleted file]
templates/ru/add-class.tmpl
templates/ru/add-printer.tmpl
templates/ru/add-rss-subscription.tmpl
templates/ru/admin.tmpl
templates/ru/choose-device.tmpl
templates/ru/choose-make.tmpl
templates/ru/choose-model.tmpl
templates/ru/choose-serial.tmpl
templates/ru/choose-uri.tmpl
templates/ru/class-added.tmpl
templates/ru/class-confirm.tmpl
templates/ru/class-deleted.tmpl
templates/ru/class-modified.tmpl
templates/ru/class.tmpl
templates/ru/classes-header.tmpl
templates/ru/classes.tmpl
templates/ru/error-op.tmpl
templates/ru/error.tmpl
templates/ru/header.tmpl.in
templates/ru/help-header.tmpl
templates/ru/job-moved.tmpl
templates/ru/job-release.tmpl
templates/ru/jobs-header.tmpl
templates/ru/jobs.tmpl
templates/ru/list-available-printers.tmpl
templates/ru/modify-printer.tmpl
templates/ru/norestart.tmpl
templates/ru/option-trailer.tmpl
templates/ru/pager.tmpl
templates/ru/printer-added.tmpl
templates/ru/printer-confirm.tmpl
templates/ru/printer-default.tmpl
templates/ru/printer-deleted.tmpl
templates/ru/printer-modified.tmpl
templates/ru/printer-purge.tmpl
templates/ru/printer-reject.tmpl
templates/ru/printer-start.tmpl
templates/ru/printer-stop.tmpl
templates/ru/printer.tmpl
templates/ru/printers-header.tmpl
templates/ru/printers.tmpl
templates/ru/restart.tmpl
templates/ru/samba-export.tmpl
templates/ru/search.tmpl
templates/ru/subscription-added.tmpl
templates/ru/subscription-canceled.tmpl
templates/ru/test-page.tmpl
templates/ru/trailer.tmpl
templates/ru/users.tmpl
templates/trailer.tmpl
test/4.1-requests.test
test/4.2-cups-printer-ops.test
test/4.3-job-ops.test
test/4.4-subscription-ops.test
test/5.1-lpadmin.sh
test/5.2-lpc.sh
test/5.3-lpq.sh
test/5.4-lpstat.sh
test/5.5-lp.sh
test/5.6-lpr.sh
test/5.7-lprm.sh
test/5.8-cancel.sh
test/5.9-lpinfo.sh
test/Dependencies
test/Makefile
test/cancel-current-job.test [new file with mode: 0644]
test/create-job-format.test
test/create-job-sheets.test
test/create-printer-subscription.test
test/document-a4.ps
test/document-letter.ps
test/get-completed-jobs.test
test/get-devices.test
test/get-job-attributes.test
test/get-job-attributes2.test
test/get-jobs.test
test/get-ppds-drv-only.test
test/get-ppds.test
test/get-subscriptions.test
test/ipp-1.1.test
test/ipp-2.0.test
test/ipp-2.1.test
test/ippserver.c
test/ipptool.c
test/onepage-a4.ps
test/onepage-letter.ps
test/run-stp-tests.sh
test/set-attrs-hold.test
test/str-header.html
test/testfile.pcl [new file with mode: 0644]
test/testfile.ps
test/testfile.txt
test/testhp.ppd
test/testps.ppd
test/waitjobs.sh
test/xmltotest.c [new file with mode: 0644]
vcnet/config.h
vcnet/cups.sln
vcnet/cupstestppd.vcproj
vcnet/ipptool-installer.vdproj [new file with mode: 0644]
vcnet/ipptool.vcproj
vcnet/libcups2-installer.vdproj [new file with mode: 0644]
vcnet/libcups2.vcproj
vcnet/regex.vcproj [new file with mode: 0644]
vcnet/regex/regex.def [new file with mode: 0644]
vcnet/setdebug.bat [new file with mode: 0644]
vcnet/testfile.vcproj
vcnet/testhttp.vcproj
xcode/CUPS.xcodeproj/project.pbxproj
xcode/config.h

diff --git a/CHANGES-1.5.txt b/CHANGES-1.5.txt
new file mode 100644 (file)
index 0000000..39edb42
--- /dev/null
@@ -0,0 +1,312 @@
+CHANGES-1.5.txt
+---------------
+
+CHANGES IN CUPS V1.5.4
+
+       - Documentation updates (STR #4112, STR #4130, STR #4134)
+       - Fixes for libusb-based USB backend (STR #4128)
+       - The lpq command did not show the owner or title of jobs unless passed
+         a username on the command-line (STR #4135)
+       - Localized empty strings contained the message catalog metadata
+         (STR #4119)
+       - Fixed a crash in the libusb-based USB backend (STR #4099)
+       - The cups-lpd mini-daemon no longer handled jobs with multiple copies
+         (STR #4118)
+       - Multiple libusb backend fixes (STR #4098, STR #4100)
+       - The IPP backend no longer tries to get the job status for printers
+         that do not implement the required operation (STR #4083)
+       - Sending a document in an unsupported format to an IPP printer now
+         automatically cancels the job (STR #4093)
+       - Fix some error reporting issues when printing from /dev/null and
+         other unusual situations (STR #4015)
+       - The scheduler now sets the CUPS_MAX_MESSAGE environment variable for
+         filters (STR #4074)
+       - Fixed a build issue when using older versions of autoconf (STR #4084)
+       - The IPP backend now treats the client-error-not-possible status code
+         as a job history issue, allowing IPP printing to Windows to work
+         (STR #4047)
+       - The IPP backend incorrectly included the document-format and
+         compression attributes in Create-Job requests (STR #4086)
+       - The libusb-based USB backend did not work on non-Linux platforms
+         (STR #4088)
+
+
+CHANGES IN CUPS V1.5.3
+
+       - httpReconnect() did not reset the read/write buffers (STR #4065)
+       - Compiling without threading support failed (STR #4060)
+       - Fixed compile problem with old versions of OpenSSL (STR #4036)
+       - The network backends did not check SNMP supply levels regularly
+         (STR #4040)
+       - The online help always included the "help on help" text (STR #4042)
+       - Fixed a SSL handshake issue on OS X (STR #4045)
+       - The scheduler could crash if a PPD file contained an invalid paper
+         size (STR #4049)
+       - The CUPS polling daemon did not reinitialize its connection to the
+         remote server on errors in all cases (STR #4031)
+       - PostScript auto-configuration was slow and unreliable with some
+         printers (STR #4028)
+       - Missing localizations caused empty output (STR #4033)
+       - The cups-driverd program could temporarily "forget" a PPD file if it
+         was updated in place.
+       - The dnssd backend now prefers IPPS over IPP.
+       - The USB backend now uses and requires LIBUSB 1.0 or later (STR #3477)
+       - The LIBUSB-based USB backend now supports the back-channel (STR #2890)
+       - Changed how timeouts are implemented in the LPD backend (STR #4013)
+       - Added more supported color names for SNMP supplies (STR #3981)
+       - The default InputSlot setting was never used (STR #3957)
+       - POSIX ACLs are now set properly on certificate files (STR #3970)
+       - Supplies with commas in their names were not reported correctly
+         (STR #4020)
+       - The cupsGetPPD3() function created a temporary file when one was not
+         needed (STR #4018)
+       - The scheduler now ensures that job notifications contain a value for
+         the notify-printer-uri attribute (STR #4014)
+       - The lp and lpr commands did not cancel jobs queued from stdin on an
+         error (STR #4015)
+       - Fixed the IPP backend's handling of HTTP/1.0 compatibility (STR #3988)
+       - The IPP backend did not always setup username/password authentication
+         for printers (STR #3985)
+       - The IPP backend no longer re-queues print jobs that are too large for
+         the printer/server (STR #3977)
+       - The RPM spec file did not work (STR #4021, STR #4057)
+       - Encryption did not work when the server name ended with "."
+         (STR #4011)
+       - The multi-purpose tray is now mapped to the IPP "by-pass-tray"
+         (STR #4009)
+       - The correct media size was not always passed to IPP printers
+         (STR #4001)
+       - Finishing options were not passed to IPP printers (STR #3995)
+       - Fixed iCloud-based Back to My Mac printing (STR #3996)
+
+
+CHANGES IN CUPS V1.5.2
+
+       - Reposted what should have been CUPS 1.5.1.
+
+
+CHANGES IN CUPS V1.5.1
+
+       - Documentation updates (STR #3885, STR #3886, STR #3946, STR #3969)
+       - Localization updates (STR #3840, STR #3989, STR #3997)
+       - Build fixes (STR #3956, STR #3999)
+       - The SNMP backend did not validate the device URIs reported by printers
+         (STR #4004)
+       - cupsBackendReport() did not handle newlines in 1284 Device IDs
+         (STR #4005)
+       - USB backend fixes for libusb (STR #3965, STR #3978)
+       - The DBUS notifier did not validate string parameters (STR #3984)
+       - Group quota ACLs did not work with Kerberos (STR #3972)
+       - The IPP backend did not retry when a printer responded with
+         client-error-not-possible (STR #3963)
+       - PostScript PPDs with filters used the wrong command filter (STR #3973)
+       - The scheduler incorrectly used free() on a POSIX ACL value, which
+         could cause a crash (STR #3970)
+       - PPD files using the MacStandard encoding did not work.
+       - The web interface did not work on some platforms (STR #3902)
+       - The lpstat command would crash when then "-u" option was used by a
+         non-administrator (STR #3953)
+       - Japanese supply level reporting did not always work.
+       - The DBUS notifier could crash (STR #3947)
+       - Relaxed some of the page size checks in cupstestppd.
+       - The ipptool program now reports attributes that are repeated within
+         the same attribute group.
+       - Updated the PWG raster support to match the current draft
+         specification.
+       - Fixed some IPP conformance issues in the scheduler.
+       - Added ipptool support for repeating requests.
+       - Added IPP/2.2 conformance tests and greatly improved the IPP/1.1,
+         IPP/2.0, and IPP/2.1 conformance testing.
+       - IPP messages containing mixed integer/rangeOfInteger values did not
+         work (STR #3942)
+       - The ipptool program now provides additional diagnostics for badly-
+         formatted responses (STR #3857)
+       - When possible, the IPP backend now stops sending job data early on a
+         cancel.
+       - cupsSendRequest and cupsWriteRequestData did not properly read all
+         HTTP headers, preventing authentication and encryption upgrades from
+         working in all cases.
+       - The client.conf Server directive is no longer supported on Mac OS X
+         10.7 and later.
+       - The IPP backend sent the wrong margins in media-col.
+       - The scheduler did not save or restore large Kerberos credentials for
+         jobs.
+       - The dnssd backend did not properly browse for secure IPP printers.
+       - httpAssembleURI* did not properly escape all special characters in the
+         username/password field.
+       - The scheduler now logs config file errors to stderr (STR #3936)
+       - The configure script incorrectly used bundle-based localizations on
+         Linux (STR #3938)
+       - The cups-driverd helper program did not cache .drv files properly,
+         sometimes leading to a crash (STR #3921)
+       - CUPS did not build on stock Mac OS X installations.
+       - Encryption was broken with OpenSSL.
+       - ipptool's XML output used date/time values with timezone offsets,
+         which are not supported by Mac OS X's NSDate class.
+       - Several programs did not support the cupsFilter2 keyword in PPD files.
+       - The IPP backend incorrectly reported spool-area-full states.
+       - cupsMarkOptions() did not protect against a bad PPD that was missing
+         one or more standard Duplex options.
+       - The PostScript filter did not mirror N-up output properly.
+       - The ipptool program did not validate UTF-8 strings in XML output.
+       - Fixed supply level reporting for some printers.
+       - The scheduler no longer automatically logs debug messages for jobs
+         that were held or canceled.
+       - The cupsSendRequest function did not flush remaining response data
+         from a previous request, leading to apparent chunking issues.
+       - The scheduler did not report the correct version in the Server: header
+         (STR #3903)
+       - The scheduler did not support 1284 device IDs reported by driver
+         interface programs longer than 127 characters (STR #3871)
+       - The image filters did not support loading images larger than the
+         RIPCache setting (STR #3901)
+       - "PAGE: total NNN" messages did not get logged properly (STR #3887)
+       - Updated the PWG Raster support to conform to the current draft of the
+         PWG Raster Format specification.
+       - The PWG Raster filter did not always write the correct number of
+         padding lines on the bottom of the page (STR #3904)
+       - When reporting a denial-of-service attack from the domain socket, the
+         address reported does not always contain the correct path (STR #3888)
+       - Badly formed GIF files could cause the image filters to crash
+         (STR #3914)
+       - Jobs canceled at the printer were retried by the IPP backend.
+       - "cupsfilter -u" deleted the input file instead of the PPD file.
+       - The scheduler did not compute the cost of PPD filters defined using
+         the cupsFilter2 keyword properly.
+       - The scheduler did not correctly support the maxsize() attribute for
+         PPD filters.
+
+
+CHANGES IN CUPS V1.5.0
+
+       - Documentation updates.
+       - Localization update (STR #3865)
+       - Needed to limit TLS to v1.0 on some versions of Mac OS X.
+       - The snmp backend did not work with some printers.
+
+
+CHANGES IN CUPS V1.5rc1
+
+       - Compile fixes (STR #3849, STR #3850)
+       - The scheduler didn't check for empty values for several configuration
+         directives (STR #3861)
+       - ipptool didn't generate valid XML when a test was skipped.
+       - Added additional error checking to the 1284 device ID code (STR #3858)
+       - Fixed some compatibility issues migrating from the old usblp backend
+         to the libusb backend (STR #3860)
+       - Fixed the wake-from-sleep printing behavior on Mac OS X.
+       - The scheduler incorrectly allowed jobs to be held from a terminating
+         state.
+       - The cups-driverd program could crash when a PPD was renamed.
+       - The dnssd backend took too long to discover printers on large or busy
+         networks with the new default timeout used by lpinfo and the web
+         interface. This resulted in "lost" printers.
+
+
+CHANGES IN CUPS V1.5b2
+
+       - Documentation updates.
+       - Localization updates (STR #3845)
+       - Compiler warning cleanup.
+       - Fixed PIE support for Linux (STR #3846)
+       - Made httpSetTimeout API public and use it in the IPP backend to avoid
+         timeout errors.
+       - The scheduler incorrectly set the "authenticated" printer-type bit for
+         remote queues using authentication.
+
+
+CHANGES IN CUPS V1.5b1
+
+       - The CUPS library now supports per-connection HTTP timeouts and
+         callbacks.
+       - The CUPS library now supports (limited) SSL/TLS X.509 certificate
+         validation and revocation (STR #1616)
+       - Updated the PostScript filter to support IncludeFeature in more
+         circumstances (STR #3417)
+       - The schedule did not correctly parse some IPv6 addresses and masks in
+         the cupsd.conf file (STR #3533)
+       - Fixed a case-insensitive string comparison issue for locales that do
+         not treat "I" and "i" as equivalent (STR #3800)
+       - The scheduler reported an incorrect job-printer-uri value when sharing
+         was not enabled (STR #3639)
+       - The scheduler now allows the ServerAlias directive to contain multiple
+         hostnames separated by spaces or commas (STR #3813)
+       - The scheduler now sets the process group for child processes and
+         manages the group (STR #2829)
+       - Fixed some minor issues discovered by a Coverity scan (STR #3838)
+       - The scheduler now more carefully creates and removes configuration,
+         cache, and state files (STR #3715)
+       - The lpadmin command now allows default option values to be deleted
+         (STR #2959)
+       - The lpadmin command now allows the cupsIPPSupplies and
+         cupsSNMPSupplies keywords to be set in a PPD file (STR #3825)
+       - Moving a held job no longer releases it (STR #3839)
+       - Restored support for GNU TLS and OpenSSL with threading enabled
+         (STR #3605)
+       - Fixed a confusing error message from cups-polld (STR #3806)
+       - Increased the default RIPCache value to 128MB (STR #3535)
+       - MIME errors are now routed to the error_log file (STR #2410)
+       - Updated PDF filter to support new Ghostscript ps2write device
+         (STR #3766)
+       - Updated PDF filter to support new Poppler option to preserve page
+         sizes in PDF files when the user has not selected a particular media
+         size (STR #3689)
+       - Added new PWG Raster filter for IPP Everywhere printer support.
+       - Added job-uuid, printer-uuid, and subscription-uuid attributes.
+       - Added support for the cupsSingleFile PPD keyword.
+       - Dropped support for the printer-state-history attribute (STR #3654)
+       - Added support for a new cupsIPPSupplies keyword in PPD files to allow
+         drivers to disable IPP supply level reporting.
+       - Added support for a new cupsFilter2 keyword in PPD files to allow for
+         the propagation of the actual MIME media type produced by a filter.
+       - The scheduler did not always get the correct Kerberos username when
+         authenticating (STR #3670)
+       - Added new cupsRasterOpenIO function and CUPS_RASTER_WRITE_PWG to the
+         CUPS imaging library to support printing to IPP Everywhere raster
+         printers.
+       - The scheduler now provides default values for the pages-per-minute and
+         pages-per-minute-color attributes for PPD files that lack a
+         Throughput keyword.
+       - Email notifications did not work on Mac OS X.
+       - The cupstestppd program now shows an error for files missing a
+         CloseGroup keyword (STR #3668)
+       - Name resolution errors no longer cause queues to stop (STR #3719,
+         STR #3753)
+       - Added a new cups-exec helper program that applies security profiles
+         to filters, port monitors, backends, CGI programs, and mini-daemons.
+       - The web interface can now be disabled using the WebInterface directive
+         in cupsd.conf (STR #2625)
+       - The scheduler now provides privacy controls for jobs and subscriptions
+         (STR #2969)
+       - Added new cupsArrayNew3 API which offers memory management of array
+         elements.
+       - Added several new color spaces to the CUPS raster format (STR #3419)
+       - The Validate-Job operation now uses the same policy as Print-Job by
+         default.
+       - CUPS now uses iconv to implement all of its character encoding
+         support (STR #3097)
+       - The scheduler now implements the Cancel-Jobs, Cancel-My-Jobs, and
+         Close-Job operations along with the job-ids operation attribute from
+         PWG 5100.11.
+       - The main CUPS header (<cups/cups.h>) no longer includes the PPD header
+         (<cups/ppd.h>).
+       - The scheduler and CUPS API now support the print-quality job template
+         attribute.
+       - The scheduler no longer supports the old Mac OS X Server quota
+         plugin.
+       - The scheduler now allows writing to /Users/Shared from print filters
+         on Mac OS X.
+       - CUPS no longer supports the old ~/.cupsrc or ~/.lpoptions files from
+         CUPS 1.1.x.  The ~/.cups/client.conf and ~/.cups/lpoptions files that
+         were introduced in CUPS 1.2 must now be used.
+       - The ipptest tool is now a first-class user program and has several
+         improvements along with new documentation (STR #3484)
+       - The cupstestppd tool now warns about non-unique filenames and
+         provides a way to ignore all filename warnings.
+       - Dropped support for the recoverable: and recovered: message prefixes.
+       - The scheduler now requires that filters and backends have group write
+         permissions disabled.
+       - The PPD compiler now checks for overlapping filenames when writing
+         PPD files.
+       - The HP-GL/2 filter is no longer included with CUPS (STR #3322)
+       - The SCSI backend is no longer included with CUPS (STR #3500)
diff --git a/CHANGES-IPPTOOL.txt b/CHANGES-IPPTOOL.txt
new file mode 100644 (file)
index 0000000..e69de29
index 633ac77..35d38fb 100644 (file)
-CHANGES.txt - 2012-05-15
-------------------------
-
-CHANGES IN CUPS V1.5.3
-
-       - httpReconnect() did not reset the read/write buffers (STR #4065)
-       - Compiling without threading support failed (STR #4060)
-       - Fixed compile problem with old versions of OpenSSL (STR #4036)
-       - The network backends did not check SNMP supply levels regularly
-         (STR #4040)
-       - The online help always included the "help on help" text (STR #4042)
-       - Fixed a SSL handshake issue on OS X (STR #4045)
-       - The scheduler could crash if a PPD file contained an invalid paper
-         size (STR #4049)
-       - The CUPS polling daemon did not reinitialize its connection to the
-         remote server on errors in all cases (STR #4031)
-       - PostScript auto-configuration was slow and unreliable with some
-         printers (STR #4028)
-       - Missing localizations caused empty output (STR #4033)
-       - The cups-driverd program could temporarily "forget" a PPD file if it
-         was updated in place.
-       - The dnssd backend now prefers IPPS over IPP.
-       - The USB backend now uses and requires LIBUSB 1.0 or later (STR #3477)
-       - The LIBUSB-based USB backend now supports the back-channel (STR #2890)
-       - Changed how timeouts are implemented in the LPD backend (STR #4013)
-       - Added more supported color names for SNMP supplies (STR #3981)
-       - The default InputSlot setting was never used (STR #3957)
-       - POSIX ACLs are now set properly on certificate files (STR #3970)
-       - Supplies with commas in their names were not reported correctly
-         (STR #4020)
-       - The cupsGetPPD3() function created a temporary file when one was not
-         needed (STR #4018)
-       - The scheduler now ensures that job notifications contain a value for
-         the notify-printer-uri attribute (STR #4014)
-       - The lp and lpr commands did not cancel jobs queued from stdin on an
-         error (STR #4015)
-       - Fixed the IPP backend's handling of HTTP/1.0 compatibility (STR #3988)
-       - The IPP backend did not always setup username/password authentication
-         for printers (STR #3985)
-       - The IPP backend no longer re-queues print jobs that are too large for
-         the printer/server (STR #3977)
-       - The RPM spec file did not work (STR #4021, STR #4057)
-       - Encryption did not work when the server name ended with "."
-         (STR #4011)
-       - The multi-purpose tray is now mapped to the IPP "by-pass-tray"
-         (STR #4009)
-       - The correct media size was not always passed to IPP printers
-         (STR #4001)
-       - Finishing options were not passed to IPP printers (STR #3995)
-       - Fixed iCloud-based Back to My Mac printing (STR #3996)
-
-
-CHANGES IN CUPS V1.5.2
-
-       - Reposted what should have been CUPS 1.5.1.
-
-
-CHANGES IN CUPS V1.5.1
-
-       - Documentation updates (STR #3885, STR #3886, STR #3946, STR #3969)
-       - Localization updates (STR #3840, STR #3989, STR #3997)
-       - Build fixes (STR #3956, STR #3999)
-       - The SNMP backend did not validate the device URIs reported by printers
-         (STR #4004)
-       - cupsBackendReport() did not handle newlines in 1284 Device IDs
-         (STR #4005)
-       - USB backend fixes for libusb (STR #3965, STR #3978)
-       - The DBUS notifier did not validate string parameters (STR #3984)
-       - Group quota ACLs did not work with Kerberos (STR #3972)
-       - The IPP backend did not retry when a printer responded with
-         client-error-not-possible (STR #3963)
-       - PostScript PPDs with filters used the wrong command filter (STR #3973)
-       - The scheduler incorrectly used free() on a POSIX ACL value, which
-         could cause a crash (STR #3970)
-       - PPD files using the MacStandard encoding did not work.
-       - The web interface did not work on some platforms (STR #3902)
-       - The lpstat command would crash when then "-u" option was used by a
-         non-administrator (STR #3953)
-       - Japanese supply level reporting did not always work.
-       - The DBUS notifier could crash (STR #3947)
-       - Relaxed some of the page size checks in cupstestppd.
-       - The ipptool program now reports attributes that are repeated within
-         the same attribute group.
-       - Updated the PWG raster support to match the current draft
-         specification.
-       - Fixed some IPP conformance issues in the scheduler.
-       - Added ipptool support for repeating requests.
-       - Added IPP/2.2 conformance tests and greatly improved the IPP/1.1,
-         IPP/2.0, and IPP/2.1 conformance testing.
-       - IPP messages containing mixed integer/rangeOfInteger values did not
-         work (STR #3942)
-       - The ipptool program now provides additional diagnostics for badly-
-         formatted responses (STR #3857)
-       - When possible, the IPP backend now stops sending job data early on a
-         cancel.
-       - cupsSendRequest and cupsWriteRequestData did not properly read all
-         HTTP headers, preventing authentication and encryption upgrades from
-         working in all cases.
-       - The client.conf Server directive is no longer supported on Mac OS X
-         10.7 and later.
-       - The IPP backend sent the wrong margins in media-col.
-       - The scheduler did not save or restore large Kerberos credentials for
-         jobs.
-       - The dnssd backend did not properly browse for secure IPP printers.
-       - httpAssembleURI* did not properly escape all special characters in the
-         username/password field.
-       - The scheduler now logs config file errors to stderr (STR #3936)
-       - The configure script incorrectly used bundle-based localizations on
-         Linux (STR #3938)
-       - The cups-driverd helper program did not cache .drv files properly,
-         sometimes leading to a crash (STR #3921)
-       - CUPS did not build on stock Mac OS X installations.
-       - Encryption was broken with OpenSSL.
-       - ipptool's XML output used date/time values with timezone offsets,
-         which are not supported by Mac OS X's NSDate class.
-       - Several programs did not support the cupsFilter2 keyword in PPD files.
-       - The IPP backend incorrectly reported spool-area-full states.
-       - cupsMarkOptions() did not protect against a bad PPD that was missing
-         one or more standard Duplex options.
-       - The PostScript filter did not mirror N-up output properly.
-       - The ipptool program did not validate UTF-8 strings in XML output.
-       - Fixed supply level reporting for some printers.
-       - The scheduler no longer automatically logs debug messages for jobs
-         that were held or canceled.
-       - The cupsSendRequest function did not flush remaining response data
-         from a previous request, leading to apparent chunking issues.
-       - The scheduler did not report the correct version in the Server: header
-         (STR #3903)
-       - The scheduler did not support 1284 device IDs reported by driver
-         interface programs longer than 127 characters (STR #3871)
-       - The image filters did not support loading images larger than the
-         RIPCache setting (STR #3901)
-       - "PAGE: total NNN" messages did not get logged properly (STR #3887)
-       - Updated the PWG Raster support to conform to the current draft of the
-         PWG Raster Format specification.
-       - The PWG Raster filter did not always write the correct number of
-         padding lines on the bottom of the page (STR #3904)
-       - When reporting a denial-of-service attack from the domain socket, the
-         address reported does not always contain the correct path (STR #3888)
-       - Badly formed GIF files could cause the image filters to crash
-         (STR #3914)
-       - Jobs canceled at the printer were retried by the IPP backend.
-       - "cupsfilter -u" deleted the input file instead of the PPD file.
-       - The scheduler did not compute the cost of PPD filters defined using
-         the cupsFilter2 keyword properly.
-       - The scheduler did not correctly support the maxsize() attribute for
-         PPD filters.
-
-
-CHANGES IN CUPS V1.5.0
-
-       - Documentation updates.
-       - Localization update (STR #3865)
-       - Needed to limit TLS to v1.0 on some versions of Mac OS X.
-       - The snmp backend did not work with some printers.
-
-
-CHANGES IN CUPS V1.5rc1
-
-       - Compile fixes (STR #3849, STR #3850)
-       - The scheduler didn't check for empty values for several configuration
-         directives (STR #3861)
-       - ipptool didn't generate valid XML when a test was skipped.
-       - Added additional error checking to the 1284 device ID code (STR #3858)
-       - Fixed some compatibility issues migrating from the old usblp backend
-         to the libusb backend (STR #3860)
-       - Fixed the wake-from-sleep printing behavior on Mac OS X.
-       - The scheduler incorrectly allowed jobs to be held from a terminating
-         state.
-       - The cups-driverd program could crash when a PPD was renamed.
-       - The dnssd backend took too long to discover printers on large or busy
-         networks with the new default timeout used by lpinfo and the web
-         interface. This resulted in "lost" printers.
-
-
-CHANGES IN CUPS V1.5b2
-
-       - Documentation updates.
-       - Localization updates (STR #3845)
-       - Compiler warning cleanup.
-       - Fixed PIE support for Linux (STR #3846)
-       - Made httpSetTimeout API public and use it in the IPP backend to avoid
-         timeout errors.
-       - The scheduler incorrectly set the "authenticated" printer-type bit for
-         remote queues using authentication.
-
-
-CHANGES IN CUPS V1.5b1
-
-       - The CUPS library now supports per-connection HTTP timeouts and
-         callbacks.
-       - The CUPS library now supports (limited) SSL/TLS X.509 certificate
-         validation and revocation (STR #1616)
-       - Updated the PostScript filter to support IncludeFeature in more
-         circumstances (STR #3417)
-       - The schedule did not correctly parse some IPv6 addresses and masks in
-         the cupsd.conf file (STR #3533)
-       - Fixed a case-insensitive string comparison issue for locales that do
-         not treat "I" and "i" as equivalent (STR #3800)
-       - The scheduler reported an incorrect job-printer-uri value when sharing
-         was not enabled (STR #3639)
-       - The scheduler now allows the ServerAlias directive to contain multiple
-         hostnames separated by spaces or commas (STR #3813)
-       - The scheduler now sets the process group for child processes and
-         manages the group (STR #2829)
-       - Fixed some minor issues discovered by a Coverity scan (STR #3838)
-       - The scheduler now more carefully creates and removes configuration,
-         cache, and state files (STR #3715)
-       - The lpadmin command now allows default option values to be deleted
-         (STR #2959)
-       - The lpadmin command now allows the cupsIPPSupplies and
-         cupsSNMPSupplies keywords to be set in a PPD file (STR #3825)
-       - Moving a held job no longer releases it (STR #3839)
-       - Restored support for GNU TLS and OpenSSL with threading enabled
-         (STR #3605)
-       - Fixed a confusing error message from cups-polld (STR #3806)
-       - Increased the default RIPCache value to 128MB (STR #3535)
-       - MIME errors are now routed to the error_log file (STR #2410)
-       - Updated PDF filter to support new Ghostscript ps2write device
-         (STR #3766)
-       - Updated PDF filter to support new Poppler option to preserve page
-         sizes in PDF files when the user has not selected a particular media
-         size (STR #3689)
-       - Added new PWG Raster filter for IPP Everywhere printer support.
-       - Added job-uuid, printer-uuid, and subscription-uuid attributes.
-       - Added support for the cupsSingleFile PPD keyword.
-       - Dropped support for the printer-state-history attribute (STR #3654)
-       - Added support for a new cupsIPPSupplies keyword in PPD files to allow
-         drivers to disable IPP supply level reporting.
-       - Added support for a new cupsFilter2 keyword in PPD files to allow for
-         the propagation of the actual MIME media type produced by a filter.
-       - The scheduler did not always get the correct Kerberos username when
-         authenticating (STR #3670)
-       - Added new cupsRasterOpenIO function and CUPS_RASTER_WRITE_PWG to the
-         CUPS imaging library to support printing to IPP Everywhere raster
-         printers.
-       - The scheduler now provides default values for the pages-per-minute and
-         pages-per-minute-color attributes for PPD files that lack a
-         Throughput keyword.
-       - Email notifications did not work on Mac OS X.
-       - The cupstestppd program now shows an error for files missing a
-         CloseGroup keyword (STR #3668)
-       - Name resolution errors no longer cause queues to stop (STR #3719,
-         STR #3753)
-       - Added a new cups-exec helper program that applies security profiles
-         to filters, port monitors, backends, CGI programs, and mini-daemons.
-       - The web interface can now be disabled using the WebInterface directive
-         in cupsd.conf (STR #2625)
-       - The scheduler now provides privacy controls for jobs and subscriptions
-         (STR #2969)
-       - Added new cupsArrayNew3 API which offers memory management of array
-         elements.
-       - Added several new color spaces to the CUPS raster format (STR #3419)
-       - The Validate-Job operation now uses the same policy as Print-Job by
-         default.
-       - CUPS now uses iconv to implement all of its character encoding
-         support (STR #3097)
-       - The scheduler now implements the Cancel-Jobs, Cancel-My-Jobs, and
-         Close-Job operations along with the job-ids operation attribute from
-         PWG 5100.11.
-       - The main CUPS header (<cups/cups.h>) no longer includes the PPD header
-         (<cups/ppd.h>).
-       - The scheduler and CUPS API now support the print-quality job template
-         attribute.
-       - The scheduler no longer supports the old Mac OS X Server quota
-         plugin.
-       - The scheduler now allows writing to /Users/Shared from print filters
-         on Mac OS X.
-       - CUPS no longer supports the old ~/.cupsrc or ~/.lpoptions files from
-         CUPS 1.1.x.  The ~/.cups/client.conf and ~/.cups/lpoptions files that
-         were introduced in CUPS 1.2 must now be used.
-       - The ipptest tool is now a first-class user program and has several
-         improvements along with new documentation (STR #3484)
-       - The cupstestppd tool now warns about non-unique filenames and
-         provides a way to ignore all filename warnings.
-       - Dropped support for the recoverable: and recovered: message prefixes.
-       - The scheduler now requires that filters and backends have group write
-         permissions disabled.
-       - The PPD compiler now checks for overlapping filenames when writing
-         PPD files.
-       - The HP-GL/2 filter is no longer included with CUPS (STR #3322)
-       - The SCSI backend is no longer included with CUPS (STR #3500)
+CHANGES.txt - 1.6.4 - 2013-09-24
+--------------------------------
+
+CHANGES IN CUPS V1.6.4
+
+       - Removed some duplicate size definitions for some ISO sizes that were
+         causing problems (<rdar://problem/14722721>)
+       - The IPP backend did not add the "last-document" attribute
+         (<rdar://problem/114660379>)
+       - Added a SyncOnClose directive to cups-files.conf to force cupsd to
+         call fsync before closing any configuration/state files it writes
+         (<rdar://problem/14523043>)
+       - Added USB quirk rule for Lexmark E238 (<rdar://problem/14493054>)
+       - Closed server connections were still not always detected
+         (<rdar://problem/14484313>)
+       - The libusb-based USB backend now loads its list of quirks from files
+         in /usr/share/cups/usb instead of using a hardcoded table
+         (<rdar://problem/14442769>)
+       - The scheduler did not properly register ICC color profiles with
+         colord (<rdar://problem/14455625>)
+
+
+CHANGES IN CUPS V1.6.3
+
+       - The configure script now prefers Clang over GCC.
+       - Fixed a compile problem on AIX (STR #4307)
+       - The default IPP version did not always get set before creating a new
+         IPP request message (<rdar://problem/14401718>)
+       - The lp, lpq, lpr, and lpstat now display an error message advising the
+         use of the /version=1.1 ServerName option (<rdar://problem/14290628>)
+       - Added documentation about the /version=1.1 option to ServerName in
+         client.conf (<rdar://problem/14216262>)
+       - httpStatus(HTTP_ERROR) did not return a useful error message
+         (<rdar://problem/14217326>)
+       - The lp, lpq, lpr, and lpstat commands incorrectly ignored the default
+         printer set in the lpoptions file (<rdar://problem/14216472>)
+       - Fixed a URI encoding issue for hostnames containing the ` (backquote)
+         character (<rdar://problem/14243133>)
+       - Added support for RFC 6874's IPv6 link local address format in URIs
+         (<rdar://problem/13979453>)
+       - The USB backend could crash on libusb-based systems if USB was
+         disabled in the BIOS (<rdar://problem/13875729>)
+       - Fixed a rounding error in the PWG media size mapping code
+         (<rdar://problem/13493241>)
+       - Fixed several ipptool test files that used old STATUS names.
+       - Kerberos credentials could get truncated when printing to a shared
+         printer.
+       - Printing using "ipps" URIs was not encrypted.
+       - Insecure ICC profiles prevented installation of user profiles for a
+         printer on OS X.
+       - Added more USB quirks for the libusb-based backend (STR #4311,
+         <rdar://problem/13736470>)
+       - The Russian web interface templates were broken (STR #4310)
+       - The scheduler no longer tries to do Kerberos authentication over the
+         loopback interface.
+       - The IPP backend could fail to pause a job for authentication
+         (STR #4298)
+       - Fixed a regression on the handling of auth keys on OS X if the
+         cups-files.conf was not present or did not contain a SystemAuthKey
+         value.
+       - The scheduler incorrectly did a reverse lookup of the server address
+         when HostNameLookups was turned off (STR #4302)
+       - The scheduler incorrectly computed the final content type value when
+         null filters were present.
+
+
+CHANGES IN CUPS V1.6.2
+
+       - Documentation fixes (STR #4229, STR #4239, STR #4234, STR #4248,
+         STR #4259)
+       - Security: All file, directory, user, and group settings are now stored
+         in a separate cups-files.conf configuration file that cannot be set
+         through the CUPS web interface or APIs (STR #4223)
+       - Added a Czech localization (STR #4201)
+       - Added a French localization (STR #4247)
+       - Added a Russian localization (STR #4228, STR #4285)
+       - Updated the Catalan localization (STR #4202)
+       - Local certificate authentication did not guard against an empty
+         certification file (STR #4293)
+       - The scheduler did not reject device URIs with spaces.
+       - Added USB quirk rule for Epson Stylus Photo 750 (STR #4286)
+       - The IPP backend could crash if the printer disconnects early
+         (STR #4284)
+       - cupsGetPPD did not work with statically-configured CUPS shared
+         queues (STR #4178)
+       - The scheduler did not support long MIME media types (STR #4270)
+       - The cupsfilter command did not set the CHARSET environment variable
+         for the text filters (STR #4273)
+       - The lp command did not show errors for unknown "--foo" (STR #4261)
+       - Bad IPP responses could crash ipptool (STR #4262)
+       - Updated USB quirk rules for Canon and Xerox printers (STR #4217,
+         STR #4263)
+       - Added USB blacklisting for printers that require a custom backend
+         (STR #4218)
+       - The PPD compiler did not correctly JCL options (STR #4115, STR #4203)
+       - The ipptool program now supports DEFINE-MATCH and DEFINE-NO-MATCH
+         predicates for STATUS directives.
+       - Fixed a problem with local Kerberos authentication (STR #4140)
+       - Coverity scan: fixed some minor issues (STR #4242)
+       - The scheduler did not remove color profiles after deleting a printer
+         (STR #4232, STR #4276)
+       - The CUPS library did not always detect a timed out connection to the
+         server which could cause temporary loss of printing from applications
+         (STR #4187)
+       - The ipptool program now supports variable substitution in OPERATION
+         and DELAY directives (STR #4175)
+       - The IPP backend now stops queues when the server configuration
+         prevents successful job submission (STR #4125)
+       - The XML output of ipptool contained empty dictionaries (STR #4136)
+       - The scheduler did not delete job control backup files (STR #4244)
+       - cupsGetPPD3 could return a local PPD instead of the correct remote
+         PPD.
+       - The scheduler incorrectly advertised auth-info-required for local
+         queues needing local authentication (STR #4205)
+       - CUPS 1.6 clients using the ServerName directive in client.conf did not
+         work with CUPS 1.3.x or older servers (STR #4231, STR #4291)
+       - The SNMP backend now tries to work around broken printers that use a
+         newline to separate key/value pairs.
+       - The IPP backend did not send a cancel request to printers when a job
+         was canceled and the printer did not support Create-Job.
+       - Fixed EPM packaging files (STR #4199)
+       - OpenBSD build fix (STR #4195, STR #4196, STR #4197)
+       - The scheduler could crash when using Avahi (STR #4183, STR #4192,
+         STR #4200, STR #4213)
+       - The IPP backend could get stuck in an endless loop on certain network
+         errors (STR #4194)
+       - 32-bit builds failed on Debian (STR #4133)
+       - The scheduler no longer accepts or sends job description attributes.
+       - The IPP backend now works around some conformance issues for broken
+         printers (STR #4190)
+       - cupsBackendReport() now filters out all control characters from the
+         reported 1284 device IDs (STR #4124)
+       - The scheduler no longer allows job-name values that are not valid
+         network Unicode strings (STR #4072)
+       - The web interface did not preserve the order of classes, jobs, or
+         printers (STR #4170)
+       - The network backends now support disabling of SNMP supply level
+         queries via the "snmp" URI option (STR #4106)
+       - The IPP backend did not specify the compression used (STR #4181)
+       - ipptool did not support octetString values.
+       - The scheduler did not recognize dnssd: or ipps: URIs as Bonjour shared
+         queues (STR #4158)
+       - Applications could not get the PPD file for statically-configured
+         Bonjour-shared print queues (STR #4159)
+       - The cupsd.conf file included obsolete browsing directives (STR #4157)
+       - Fixed a USB backend compatibility issue on systems using libusb
+         (STR #4155, STR #4191)
+       - Some Bonjour features were not available on systems with Avahi
+         (STR #4156)
+       - CUPS now includes the port number in the Host: header for HTTP
+         requests.
+       - Fixed REPEAT-MATCH for STATUS and EXPECT - was incorrectly erroring
+         out.
+
+
+CHANGES IN CUPS V1.6.1
+
+       - Documentation fix (STR #4149)
+       - RPM packaging fixes (STR #4129, #4145)
+       - The Japanese and English web interface headers were swapped
+         (STR #4148)
+
+
+CHANGES IN CUPS V1.6.0
+
+       - Document changes (STR #4131)
+       - Added new Catalan (STR #4107) and Spanish (STR #4137) localizations.
+
+
+CHANGES IN CUPS V1.6rc1
+
+       - Added a new Japanese localization (STR #4122)
+       - The SNMP backend no longer exits if it is unable to obtain an IPv6
+         socket (STR #4109)
+       - The LPD backend incorrectly used "localhost" in the control file
+         instead of the current hostname.
+
+
+CHANGES IN CUPS V1.6b1
+
+       - Documentation updates (STR #3927, STR #3980, STR #4010, STR #4068)
+       - The scheduler now consolidates all PPD updates from filters at the
+         end of the job (STR #4075)
+       - CUPS now supports color management using colord (STR #3808)
+       - CUPS now supports Bonjour using Avahi (STR #3066)
+       - The PreserveJobFiles and PreserveJobHistory directives now support
+         specification of a time interval (STR #3143)
+       - PPD files can now be archived in (gzip'd) tar files to further reduce
+         the disk space used by PPD files (STR #3772)
+       - The network backends now deal with printers that report their levels
+         in percent but do not specify a maximum capacity of 100 (STR #3551)
+       - The network backends now report full/almost-full waste bins in
+         printers along with end-of-life for cleaning pads (STR #4017)
+       - Added a configure option to set the permissions of the installed
+         cupsd (STR #3459)
+       - Added a new WITH-ALL-VALUES directive to ipptool EXPECT predicates
+         (STR #3949)
+       - CUPS now supports a User directive in client.conf and the CUPS_USER
+         environment variable for overriding the default username (STR #3114)
+       - Now set the PJL USERNAME variable as needed (STR #3100)
+       - Added support for usernames and passwords longer than 32 characters
+         (STR #2856)
+       - Added a new MaxHoldTime directive to automatically cancel jobs that
+         have been held indefinitely after a specific number of seconds
+         (STR #2291)
+       - The LPD backend now uses the originating host name when it is not the
+         local system (STR #2053)
+       - CUPS now prefers the suffix "dpcm" when reporting resolution in dots-
+         per-centimeter (STR #4006)
+       - The configure script and build system no longer support building of
+         separate 32-bit and 64-bit libraries.
+       - The "brightness", "columns", "fitplot", "gamma", "hue",
+         "natural-scaling", "penwidth", "position", "ppi", "saturation", and
+         "scaling" options are not longer supported (STR #4010)
+       - The "page-bottom", "page-left", "page-right", "page-top",
+         "prettyprint", and "wrap" options have been deprecated (STR #4010)
+       - The scheduler now reports the standard "number-of-documents" attribute
+         instead of the CUPS-specific "document-count" attribute in
+         job objects.
+       - Added new destination connection and enumeration functions (STR #3924)
+       - Added new option, localization, and job submission functions that do
+         not depend on PPD files (STR #3925)
+       - Added a new MaxJobTime directive for cupsd that specifies the maximum
+         amount of time allowed for a job to complete before it is canceled.
+       - The default password callback now supports passwords up to 127
+         characters.
+       - The scheduler now supports a DefaultAuthType of "auto" to
+         automatically choose between Basic (username/password) and Negotiate
+         (Kerberos) authentication.
+       - cupsSideChannelSNMPGet/Walk now support OIDs and values up to 64k in
+         length.
+       - CUPS no longer supports automatic remote printers or implicit classes
+         via the CUPS, LDAP, or SLP protocols (STR #3922, STR #3923)
+       - The PPD APIs are now deprecated and will be removed in a future
+         version of CUPS (STR #3927)
+       - The default IPP version for requests is now 2.0 (STR #3929)
+       - The IPP APIs no longer expose the ipp_t or ipp_attribute_t structures
+         and instead provide accessor functions (STR #3928)
+       - The scheduler will no longer run programs with group write permission.
+       - The PHP module has been removed (STR #3932)
+       - The bannertops, commandtoescpx, commandtopclx, imagetops,
+         imagetoraster, pdftops, rastertoescpx, rastertopclx, and texttops
+         filters have been removed (STR #3930)
+       - The serial and parallel backends have been removed (STR 3935)
index a241eef..b5721c4 100644 (file)
@@ -1,4 +1,4 @@
-CREDITS.txt - 2010-03-13
+CREDITS.txt - 2012-07-16
 ------------------------
 
 Few projects are completed by one person, and CUPS is no exception.  We'd
@@ -17,7 +17,7 @@ like to thank the following individuals for their contributions:
     Wang Jian                      - CUPS RPM corrections.
     Roderick Johnstone             - Beta tester of the millenium.
     Till Kamppeter                 - Bug fixes, beta testing, evangelism.
-    I\96aki Larra\96aga                - Basque localization.
+    Iñaki Larrañaga                - Basque localization.
     Kenshi Muto                    - Japanese localization, patches, and
                                      testing.
     Tomohiro Kato                  - Japanese localization.
@@ -27,16 +27,18 @@ like to thank the following individuals for their contributions:
     Mark Lawrence                  - Microsoft interoperability testing.
     Jeff Licquia                   - Bug fixes, beta testing, evangelism.
     Jason McMullan                 - Original CUPS RPM distributions.
+    Àngel Mompó                    - Catalan localization.
     Wes Morgan                     - *BSD fixes.
     Daniel Nylander                - Swedish localization.
-    Niklas 'Nille' \81kerstr\9am       - Swedish localization.
+    Niklas 'Nille' Åkerström       - Swedish localization.
+    Naruiko Ogasawara              - Japanese localization.
     Giulio Orsero                  - Bug fixes and testing.
     Michal Osowiecki               - Polish localization.
     Citra Paska                    - Indonesian localization.
     Kurt Pfeifle                   - Bug fixes, beta testing, evangelism.
     Vincenzo Reale                 - Italian localization.
     Petter Reinholdtsen            - HP-UX compiler stuff.
-    Juan Pablo Gonz\87lez Riopedre   - Spanish localization.
+    Juan Pablo González Riopedre   - Spanish localization.
     Opher Shachar                  - Hebrew localization.
     Stuart Stevens                 - HP JetDirect IPP information.
     Andrea Suatoni                 - IRIX desktop integration and testing.
index b0e19c9..1688a2b 100644 (file)
@@ -1,14 +1,20 @@
-INSTALL - CUPS v1.5.3 - 2012-05-15
+INSTALL - CUPS v1.6.4 - 2013-09-24
 ----------------------------------
 
 This file describes how to compile and install CUPS from source code. For more
 information on CUPS see the file called "README.txt".  A complete change log can
 be found in "CHANGES.txt".
 
-**** IF YOU HAVE A NON-POSTSCRIPT PRINTER AND ARE NOT       ****
-**** RUNNING MAC OS X, YOU WILL ALSO NEED TO INSTALL GPL    ****
-**** GHOSTSCRIPT WITH THE "cups" DRIVER AFTER YOU INSTALL   ****
-**** CUPS.                                                  ****
+*******************************************************************************
+*******************************************************************************
+****                                                                       ****
+****  USING CUPS REQUIRES ADDITIONAL THIRD-PARTY SUPPORT SOFTWARE AND      ****
+****  PRINTER DRIVERS.  THESE ARE TYPICALLY INCLUDED WITH YOUR OPERATING   ****
+****  SYSTEM DISTRIBUTION.  APPLE DOES NOT ENDORSE OR SUPPORT THIRD-PARTY  ****
+****  SUPPORT SOFTWARE FOR CUPS.                                           ****
+****                                                                       ****
+*******************************************************************************
+*******************************************************************************
 
 
 BEFORE YOU BEGIN
@@ -34,7 +40,7 @@ BEFORE YOU BEGIN
     PostScript filter needed by non-PostScript printers.  You *must* download
     GPL Ghostscript separately from the CUPS web site if you want to print
     PostScript files to non-PostScript printers on operating systems other than
-    Mac OS X.
+    OS X.
 
 
 COMPILING THE SUBVERSION REPOSITORY CODE
index db47e27..1d1fce7 100644 (file)
@@ -1,14 +1,16 @@
-IPPTOOL.txt - 2011-09-20
+IPPTOOL.txt - 2012-02-06
 ------------------------
 
+See the file CHANGES-IPPTOOL.txt for a list of changes to this software.
+
 
 INTRODUCTION
 
-    Starting with CUPS 1.5, CUPS now installs a user program called ipptool that
-    can be used to send arbitrary IPP requests to a CUPS server or IPP printer.
-    This tool started life as part of the CUPS automated test suite and has
-    grown to support complex conformance tests and a simple way to query
-    printer, job, and subscription attributes.
+    CUPS includes a user program called ipptool that can be used to send
+    arbitrary IPP requests to a CUPS server or IPP printer.  This tool started
+    life as part of the CUPS automated test suite and has grown to support
+    complex conformance tests and a simple way to query printer, job, and
+    subscription attributes.
 
 
 BASIC USAGE
@@ -44,6 +46,22 @@ BASIC USAGE
        75,pending-held,testfile.txt,msweet
 
 
+STANDARD TEST FILES
+
+    The following standard test files are included with ipptool:
+
+        create-printer-subscription.test    Creates a printer subscription for
+                                            state change notifications
+        get-completed-jobs.test             Shows a list of completed jobs
+        get-jobs.test                       Shows a list of pending jobs
+        get-printer-attributes.test         Shows printer attributes
+        ipp-1.1.test                        IPP/1.1 conformance test suite
+        ipp-2.0.test                        IPP/2.0 conformance test suite
+        ipp-2.1.test                        IPP/2.1 conformance test suite
+        ipp-2.2.test                        IPP/2.2 conformance test suite
+        print-job.test                      Prints a file
+
+
 CONFORMANCE TESTS
 
     We provide basic IPP conformance tests for IPP/1.1, IPP/2.0, IPP/2.1, and
@@ -69,6 +87,29 @@ CONFORMANCE TESTS
        onepage-a4.ps
        onepage-letter.pdf
        onepage-letter.ps
+       testfile.jpg
+       testfile.pcl
+       testfile.pdf
+       testfile.ps
+       testfile.txt
+
+    Useful options include the following:
+
+        -4           Connect using IPv4
+        -6           Connect using IPv6
+        -C           Send chunked requests (default)
+        -d name=val  Define a variable
+        -E           Test IPP with HTTP Upgrade to TLS
+        -L           Send requests using the Content-Length header (HTTP/1.0)
+        -S           Test IPP over HTTPS (default for ipps: URIs)
+        -T seconds   Set a timeout for responses in seconds
+        -v           Be verbose, showing all attributes sent and received
+
+    The printer-uri must be a URI supported by the printer using the "ipp" or
+    "ipps" scheme, for example:
+
+        ipp://192.168.0.1/ipp
+        ipps://192.168.0.1/ipp/print
 
     Print-by-reference (URL) printing can be tested by defining the document-uri
     variable to a URL, for example:
@@ -78,7 +119,9 @@ CONFORMANCE TESTS
     The standard test files are available on cups.org under the "test"
     directory, for example:
 
-       http://www.cups.org/test/document-a4.pdf
+        ipptool -tf document-a4.pdf \
+            -d document-uri=http://www.cups.org/test/document-a4.pdf \
+            ipp://192.168.0.1/ipp -I -V 2.0 ipp-2.0.test
 
     The "document" test files contain 4 pages each.  Doing the IPP conformance
     tests will will produce up to 90 pages on various media, depending on the
@@ -88,7 +131,8 @@ CONFORMANCE TESTS
 READING THE DOCUMENTATION
 
     The command usage is described in the ipptest(1) man page, while the file
-    format is described in the ipptestfile(5) man page.
+    format is described in the ipptestfile(5) man page.  Both are provided in
+    HTML format with the standalone releases of ipptool.
 
 
 GETTING SUPPORT AND OTHER RESOURCES
@@ -101,15 +145,40 @@ GETTING SUPPORT AND OTHER RESOURCES
     See the CUPS web site at "http://www.cups.org/" for other resources.
 
 
+REPORTING BUGS
+
+    If you believe you have discovered a bug in ipptool, please fill out the
+    bug form at:
+
+       http://www.cups.org/str.php
+
+    Be sure to identify the version of CUPS and ipptool (if you downloaded the
+    standalone version) you are using, the printer (if any) and firmware
+    version, and include any files that apply.
+
+    If you downloaded the standalone version of ipptool, please also re-run the
+    test with debug logging enabled.  Run the following commands on Windows to
+    enable debug logging:
+
+        setdebug.bat
+
+    For Linux and Mac OS X use:
+
+       CUPS_DEBUG_LOG=ipptool.log; export CUPS_DEBUG_LOG
+       CUPS_DEBUG_LEVEL=6; export CUPS_DEBUG_LEVEL
+
+    Then when you run the ipptool command a new "ipptool.log" file will be
+    created with detailed information - attach this file to the bug you file
+    as well.
+
+
 LEGAL STUFF
 
-    CUPS is Copyright 2007-2011 by Apple Inc.  CUPS and the CUPS logo are
+    CUPS is Copyright 2007-2012 by Apple Inc.  CUPS and the CUPS logo are
     trademarks of Apple Inc.
 
     The MD5 Digest code is Copyright 1999 Aladdin Enterprises.
 
-    This software is based in part on the work of the Independent JPEG Group.
-
     CUPS is provided under the terms of version 2 of the GNU General Public
     License and GNU Library General Public License. This program is distributed
     in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
index 7d80518..75c4a37 100644 (file)
@@ -1,6 +1,6 @@
                           CUPS License Agreement
 
-                     Copyright 2007-2011 by Apple Inc.
+                     Copyright 2007-2012 by Apple Inc.
                             1 Infinite Loop
                          Cupertino, CA 95014 USA
 
@@ -68,11 +68,11 @@ the following special exceptions:
           source code of the Apple OS-Developed Software.
 
        b. An Apple Operating System means any operating system
-          software developed and/or marketed by Apple Computer,
-          Inc., including but not limited to all existing
-          releases and versions of Apple's Darwin, Mac OS X,
-          and Mac OS X Server products and all follow-on
-          releases and future versions thereof.
+          software developed and/or marketed by Apple Inc.,
+          including but not limited to all existing releases and
+          versions of Apple's Darwin, OS X, and OS X Server
+          products and all follow-on releases and future
+          versions thereof.
 
        c. This exception is only available for Apple
           OS-Developed Software and does not apply to software
index db540b4..9132440 100644 (file)
@@ -1,9 +1,9 @@
 #
-# "$Id: Makedefs.in 10317 2012-03-01 00:05:55Z mike $"
+# "$Id: Makedefs.in 11173 2013-07-23 12:31:34Z msweet $"
 #
 #   Common makefile definitions for CUPS.
 #
-#   Copyright 2007-2011 by Apple Inc.
+#   Copyright 2007-2013 by Apple Inc.
 #   Copyright 1997-2007 by Easy Software Products, all rights reserved.
 #
 #   These coded instructions, statements, and computer programs are the
@@ -24,13 +24,12 @@ CHMOD               =       @CHMOD@
 CXX            =       @LIBTOOL@ @CXX@
 DSO            =       @DSO@
 DSOXX          =       @DSOXX@
-HTMLDOC                =       @HTMLDOC@
+GZIP           =       @GZIP@
 INSTALL                =       @INSTALL@
 LD             =       @LD@
 LIBTOOL                =       @LIBTOOL@
 LN             =       @LN@ -sf
 MV             =       @MV@
-PHPCONFIG      =       @PHPCONFIG@
 RANLIB         =       @RANLIB@
 RM             =       @RM@ -f
 RMDIR          =       @RMDIR@
@@ -42,8 +41,8 @@ SHELL         =       /bin/sh
 #
 
 INSTALL_BIN    =       $(LIBTOOL) $(INSTALL) -c -m 555 @INSTALL_STRIP@
-INSTALL_CONFIG =       $(INSTALL) -c -m @CUPS_CONFIG_FILE_PERM@
 INSTALL_COMPDATA =     $(INSTALL) -c -m 444 @INSTALL_GZIP@
+INSTALL_CONFIG =       $(INSTALL) -c -m @CUPS_CONFIG_FILE_PERM@
 INSTALL_DATA   =       $(INSTALL) -c -m 444
 INSTALL_DIR    =       $(INSTALL) -d
 INSTALL_LIB    =       $(LIBTOOL) $(INSTALL) -c -m 555 @INSTALL_STRIP@
@@ -64,6 +63,7 @@ CUPS_PRIMARY_SYSTEM_GROUP =   @CUPS_PRIMARY_SYSTEM_GROUP@
 #
 
 CUPS_CONFIG_FILE_PERM = @CUPS_CONFIG_FILE_PERM@
+CUPS_CUPSD_FILE_PERM = @CUPS_CUPSD_FILE_PERM@
 CUPS_LOG_FILE_PERM = @CUPS_LOG_FILE_PERM@
 
 #
@@ -80,19 +80,14 @@ UNINSTALL_LANGUAGES =       @UNINSTALL_LANGUAGES@
 
 LIBCUPS                =       @LIBCUPS@
 LIBCUPSCGI     =       @LIBCUPSCGI@
-LIBCUPSDRIVER  =       @LIBCUPSDRIVER@
 LIBCUPSIMAGE   =       @LIBCUPSIMAGE@
 LIBCUPSMIME    =       @LIBCUPSMIME@
 LIBCUPSPPDC    =       @LIBCUPSPPDC@
 LIBCUPSSTATIC  =       @LIBCUPSSTATIC@
-LIBJPEG                =       @LIBJPEG@
-LIBLDAP                =       @LIBLDAP@
+LIBGSSAPI      =       @LIBGSSAPI@
 LIBMALLOC      =       @LIBMALLOC@
+LIBMXML                =       @LIBMXML@
 LIBPAPER       =       @LIBPAPER@
-LIBPNG         =       @LIBPNG@
-LIBSLP         =       @LIBSLP@
-LIBGSSAPI      =       @LIBGSSAPI@
-LIBTIFF                =       @LIBTIFF@
 LIBUSB         =       @LIBUSB@
 LIBWRAP                =       @LIBWRAP@
 LIBZ           =       @LIBZ@
@@ -119,10 +114,6 @@ INSTALLXPC =       @INSTALLXPC@
 # Program options...
 #
 # ARCHFLAGS     Defines the default architecture build options.
-# ARCH32FLAGS   Defines the 32-bit architecture build options, used
-#               when compiling separate 32/64-bit libraries.
-# ARCH64FLAGS   Defines the 64-bit architecture build options, used
-#               when compiling separate 32/64-bit libraries.
 # OPTIM         Defines the common compiler optimization/debugging options
 #               for all architectures.
 # OPTIONS       Defines other compile-time options (currently only -DDEBUG
@@ -136,7 +127,6 @@ ALL_CXXFLAGS        =       -I.. -D_CUPS_SOURCE $(CXXFLAGS) $(SSLFLAGS) \
 ARCHFLAGS      =       @ARCHFLAGS@
 ARFLAGS                =       @ARFLAGS@
 BACKLIBS       =       @BACKLIBS@
-BANNERTOPS     =       @BANNERTOPS@
 BUILDDIRS      =       @BUILDDIRS@
 CFLAGS         =       @CPPFLAGS@ @CFLAGS@
 COMMONLIBS     =       @LIBS@
@@ -148,52 +138,23 @@ DNSSD_BACKEND     =       @DNSSD_BACKEND@
 DSOFLAGS       =       -L../cups @DSOFLAGS@
 DSOLIBS                =       @DSOLIBS@ $(COMMONLIBS)
 DNSSDLIBS      =       @DNSSDLIBS@
-FONTS          =       @FONTS@
-IMGLIBS                =       @IMGLIBS@
-IMGFILTERS     =       @IMGFILTERS@
 LAUNCHDLIBS    =       @LAUNCHDLIBS@
 LDFLAGS                =       -L../cgi-bin -L../cups -L../filter -L../ppdc \
                        -L../scheduler @LDARCHFLAGS@ \
                        @LDFLAGS@ @RELROFLAGS@ @PIEFLAGS@ $(OPTIM)
-LEGACY_BACKENDS        =       @LEGACY_BACKENDS@
 LINKCUPS       =       @LINKCUPS@ $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(LIBZ)
 LINKCUPSIMAGE  =       @LINKCUPSIMAGE@
 LIBS           =       $(LINKCUPS) $(COMMONLIBS)
 OPTIM          =       @OPTIM@
 OPTIONS                =
 PAMLIBS                =       @PAMLIBS@
-PAP            =       @PAP@
-PDFTOPS                =       @PDFTOPS@
-PHPDIR         =       @PHPDIR@
-PHPOPTIONS     =       @PHPOPTIONS@ -I../.. `$(PHPCONFIG) --includes`
 SERVERLIBS     =       @SERVERLIBS@
 SSLFLAGS       =       @SSLFLAGS@
 SSLLIBS                =       @SSLLIBS@
-TEXTTOPS       =       @TEXTTOPS@
 UNITTESTS      =       @UNITTESTS@
 
 
 #
-# Separate 32/64-bit library support...
-#
-
-ARCH32FLAGS    =       @ARCH32FLAGS@
-DSO32FLAGS     =       @DSO32FLAGS@
-INSTALL32      =       @INSTALL32@
-LIB32CUPS      =       @LIB32CUPS@
-LIB32CUPSIMAGE =       @LIB32CUPSIMAGE@
-LIB32DIR       =       $(BUILDROOT)@LIB32DIR@
-UNINSTALL32    =       @UNINSTALL32@
-
-ARCH64FLAGS    =       @ARCH64FLAGS@
-DSO64FLAGS     =       @DSO64FLAGS@
-INSTALL64      =       @INSTALL64@
-LIB64CUPS      =       @LIB64CUPS@
-LIB64CUPSIMAGE =       @LIB64CUPSIMAGE@
-LIB64DIR       =       $(BUILDROOT)@LIB64DIR@
-UNINSTALL64    =       @UNINSTALL64@
-
-#
 # Directories...
 #
 # The first section uses the GNU names (which are *extremely*
@@ -255,6 +216,7 @@ SERVERBIN   =       $(BUILDROOT)@CUPS_SERVERBIN@
 SERVERROOT     =       $(BUILDROOT)@CUPS_SERVERROOT@
 SMFMANIFESTDIR =       @SMFMANIFESTDIR@
 STATEDIR       =       $(BUILDROOT)@CUPS_STATEDIR@
+USBQUIRKS      =       @USBQUIRKS@
 XINETD         =       @XINETD@
 
 MAN1EXT                =       @MAN1EXT@
@@ -275,20 +237,12 @@ DBUSDIR           =       @DBUSDIR@
 #
 
 .SILENT:
-.SUFFIXES:     .1 .1.gz .1m .1m.gz .3 .3.gz .5 .5.gz .7 .7.gz .8 .8.gz .a .c .cxx .h .man .o .32.o .64.o .gz
+.SUFFIXES:     .1 .1.gz .1m .1m.gz .3 .3.gz .5 .5.gz .7 .7.gz .8 .8.gz .a .c .cxx .h .man .o .gz
 
 .c.o:
        echo Compiling $<...
        $(CC) $(ARCHFLAGS) $(OPTIM) $(ALL_CFLAGS) -c -o $@ $<
 
-.c.32.o:
-       echo Compiling 32-bit $<...
-       $(CC) $(ARCH32FLAGS) $(OPTIM) $(ALL_CFLAGS) -c -o $@ $<
-
-.c.64.o:
-       echo Compiling 64-bit $<...
-       $(CC) $(ARCH64FLAGS) $(OPTIM) $(ALL_CFLAGS) -c -o $@ $<
-
 .cxx.o:
        echo Compiling $<...
        $(CXX) $(ARCHFLAGS) $(OPTIM) $(ALL_CXXFLAGS) -c -o $@ $<
@@ -305,5 +259,5 @@ DBUSDIR             =       @DBUSDIR@
 
 
 #
-# End of "$Id: Makedefs.in 10317 2012-03-01 00:05:55Z mike $"
+# End of "$Id: Makedefs.in 11173 2013-07-23 12:31:34Z msweet $"
 #
index 42c989b..47495ce 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,9 +1,9 @@
 #
-# "$Id: Makefile 9933 2011-08-29 21:19:27Z mike $"
+# "$Id: Makefile 11173 2013-07-23 12:31:34Z msweet $"
 #
 #   Top-level Makefile for CUPS.
 #
-#   Copyright 2007-2010 by Apple Inc.
+#   Copyright 2007-2013 by Apple Inc.
 #   Copyright 1997-2007 by Easy Software Products, all rights reserved.
 #
 #   These coded instructions, statements, and computer programs are the
@@ -20,7 +20,7 @@ include Makedefs
 # Directories to make...
 #
 
-DIRS   =       cups test $(BUILDDIRS) $(PHPDIR) $(FONTS)
+DIRS   =       cups test $(BUILDDIRS)
 
 
 #
@@ -99,8 +99,10 @@ clean:
 distclean:     clean
        $(RM) Makedefs config.h config.log config.status
        $(RM) cups-config
-       $(RM) conf/cupsd.conf conf/mime.convs conf/pam.std conf/snmp.conf
-       $(RM) doc/help/ref-cupsd-conf.html doc/help/standard.html doc/index.html
+       $(RM) conf/cups-files.conf conf/cupsd.conf
+       $(RM) conf/mime.convs conf/pam.std conf/snmp.conf
+       $(RM) doc/help/ref-cups-files-conf.html doc/help/ref-cupsd-conf.html
+       $(RM) doc/help/standard.html doc/index.html
        $(RM) man/client.conf.man
        $(RM) man/cups-deviced.man man/cups-driverd.man
        $(RM) man/cups-lpd.man man/cupsaddsmb.man man/cupsd.man
@@ -234,7 +236,11 @@ test:      all unittests
 
 check: all unittests
        echo Running CUPS test suite with defaults...
-       cd test; ./run-stp-tests.sh 1 0 n
+       cd test; ./run-stp-tests.sh 1 0 n n
+
+debugcheck:    all unittests
+       echo Running CUPS test suite with debug printfs...
+       cd test; ./run-stp-tests.sh 1 0 n y
 
 
 #
@@ -242,13 +248,13 @@ check:    all unittests
 #
 
 apihelp:
-       for dir in cgi-bin cups filter driver ppdc scheduler; do\
+       for dir in cgi-bin cups filter ppdc scheduler; do\
                echo Generating API help in $$dir... ;\
                (cd $$dir; $(MAKE) $(MFLAGS) apihelp) || exit 1;\
        done
 
 framedhelp:
-       for dir in cgi-bin cups filter driver ppdc scheduler; do\
+       for dir in cgi-bin cups filter ppdc scheduler; do\
                echo Generating framed API help in $$dir... ;\
                (cd $$dir; $(MAKE) $(MFLAGS) framedhelp) || exit 1;\
        done
@@ -271,10 +277,10 @@ docset:   apihelp
                doc/help/api-*.tokens
        $(RM) doc/help/api-*.tokens
        echo Indexing docset...
-       /Developer/usr/bin/docsetutil index org.cups.docset
+       /Applications/Xcode.app/Contents/Developer/usr/bin/docsetutil index org.cups.docset
        echo Generating docset archive and feed...
        $(RM) org.cups.docset.atom
-       /Developer/usr/bin/docsetutil package --output org.cups.docset.xar \
+       /Applications/Xcode.app/Contents/Developer/usr/bin/docsetutil package --output org.cups.docset.xar \
                --atom org.cups.docset.atom \
                --download-url http://www.cups.org/org.cups.docset.xar \
                org.cups.docset
@@ -326,5 +332,5 @@ dist:       all
 
 
 #
-# End of "$Id: Makefile 9933 2011-08-29 21:19:27Z mike $".
+# End of "$Id: Makefile 11173 2013-07-23 12:31:34Z msweet $".
 #
index 3a2b2cd..ecccc39 100644 (file)
@@ -1,14 +1,13 @@
-README - CUPS v1.5.3 - 2012-05-15
+README - CUPS v1.6.4 - 2013-09-24
 ---------------------------------
 
-Looking for compile instructions?  Read the file "INSTALL.txt"
-instead...
+Looking for compile instructions?  Read the file "INSTALL.txt" instead...
 
 
 INTRODUCTION
 
     CUPS is a standards-based, open source printing system developed by Apple
-    Inc. for Mac OS® X and other UNIX®-like operating systems.  CUPS uses the
+    Inc. for OS® X and other UNIX®-like operating systems.  CUPS uses the
     Internet Printing Protocol ("IPP") and provides System V and Berkeley
     command-line interfaces, a web interface, and a C API to manage printers and
     print jobs.  It supports printing to both local (parallel, serial, USB) and
@@ -150,7 +149,7 @@ PRINTING FILES
 
 LEGAL STUFF
 
-    CUPS is Copyright 2007-2012 by Apple Inc.  CUPS and the CUPS logo are
+    CUPS is Copyright 2007-2013 by Apple Inc.  CUPS and the CUPS logo are
     trademarks of Apple Inc.
 
     The MD5 Digest code is Copyright 1999 Aladdin Enterprises.
index afc21fa..eeb231a 100644 (file)
-# DO NOT DELETE THIS LINE -- make depend depends on it.
-
-ipp.o: backend-private.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-ipp.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-ipp.o: ../cups/language.h ../cups/string-private.h ../config.h
-ipp.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
-ipp.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-ipp.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-ipp.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-ipp.o: ../cups/transcode.h ../cups/thread-private.h ../cups/snmp-private.h
-ipp.o: ../cups/backend.h ../cups/sidechannel.h ../cups/array-private.h
-ipp.o: ../cups/array.h
-lpd.o: ../cups/http-private.h ../config.h ../cups/http.h
-lpd.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-lpd.o: backend-private.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-lpd.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-lpd.o: ../cups/language.h ../cups/string-private.h ../cups/debug-private.h
-lpd.o: ../cups/versioning.h ../cups/ppd-private.h ../cups/ppd.h
-lpd.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-lpd.o: ../cups/language-private.h ../cups/transcode.h
-lpd.o: ../cups/thread-private.h ../cups/snmp-private.h ../cups/backend.h
-lpd.o: ../cups/sidechannel.h
-dnssd.o: backend-private.h ../cups/cups-private.h ../cups/cups.h
-dnssd.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-dnssd.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
-dnssd.o: ../config.h ../cups/debug-private.h ../cups/versioning.h
-dnssd.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-dnssd.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-dnssd.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-dnssd.o: ../cups/language-private.h ../cups/transcode.h
-dnssd.o: ../cups/thread-private.h ../cups/snmp-private.h ../cups/backend.h
-dnssd.o: ../cups/sidechannel.h ../cups/array.h
-parallel.o: backend-private.h ../cups/cups-private.h ../cups/cups.h
-parallel.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-parallel.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
-parallel.o: ../config.h ../cups/debug-private.h ../cups/versioning.h
-parallel.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-parallel.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-parallel.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-parallel.o: ../cups/language-private.h ../cups/transcode.h
-parallel.o: ../cups/thread-private.h ../cups/snmp-private.h ../cups/backend.h
-parallel.o: ../cups/sidechannel.h
-serial.o: backend-private.h ../cups/cups-private.h ../cups/cups.h
-serial.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-serial.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
-serial.o: ../config.h ../cups/debug-private.h ../cups/versioning.h
-serial.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-serial.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-serial.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-serial.o: ../cups/language-private.h ../cups/transcode.h
-serial.o: ../cups/thread-private.h ../cups/snmp-private.h ../cups/backend.h
-serial.o: ../cups/sidechannel.h
-snmp.o: backend-private.h ../cups/cups-private.h ../cups/cups.h
-snmp.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-snmp.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
-snmp.o: ../config.h ../cups/debug-private.h ../cups/versioning.h
-snmp.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-snmp.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-snmp.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-snmp.o: ../cups/language-private.h ../cups/transcode.h
-snmp.o: ../cups/thread-private.h ../cups/snmp-private.h ../cups/backend.h
-snmp.o: ../cups/sidechannel.h ../cups/array.h ../cups/file.h
-snmp.o: ../cups/http-private.h
-socket.o: ../cups/http-private.h ../config.h ../cups/http.h
-socket.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-socket.o: backend-private.h ../cups/cups-private.h ../cups/cups.h
-socket.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-socket.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
-socket.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
-socket.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-socket.o: ../cups/http-private.h ../cups/language-private.h
-socket.o: ../cups/transcode.h ../cups/thread-private.h ../cups/snmp-private.h
-socket.o: ../cups/backend.h ../cups/sidechannel.h
-test1284.o: ../cups/string-private.h ../config.h ieee1284.c backend-private.h
-test1284.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-test1284.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-test1284.o: ../cups/language.h ../cups/string-private.h
-test1284.o: ../cups/debug-private.h ../cups/versioning.h
-test1284.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-test1284.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-test1284.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-test1284.o: ../cups/language-private.h ../cups/transcode.h
-test1284.o: ../cups/thread-private.h ../cups/snmp-private.h ../cups/backend.h
-test1284.o: ../cups/sidechannel.h
-testbackend.o: ../cups/string-private.h ../config.h ../cups/cups.h
-testbackend.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h
-testbackend.o: ../cups/http.h ../cups/array.h ../cups/language.h
-testbackend.o: ../cups/sidechannel.h
-testsupplies.o: backend-private.h ../cups/cups-private.h ../cups/cups.h
-testsupplies.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h
-testsupplies.o: ../cups/http.h ../cups/array.h ../cups/language.h
-testsupplies.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
-testsupplies.o: ../cups/versioning.h ../cups/ppd-private.h ../cups/ppd.h
-testsupplies.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-testsupplies.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-testsupplies.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-testsupplies.o: ../cups/thread-private.h ../cups/snmp-private.h
-testsupplies.o: ../cups/backend.h ../cups/sidechannel.h
-usb.o: backend-private.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-usb.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-usb.o: ../cups/language.h ../cups/string-private.h ../config.h
-usb.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
-usb.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-usb.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-usb.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-usb.o: ../cups/transcode.h ../cups/thread-private.h ../cups/snmp-private.h
-usb.o: ../cups/backend.h ../cups/sidechannel.h
+ipp.o: ipp.c backend-private.h ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/snmp-private.h ../cups/backend.h ../cups/sidechannel.h \
+  ../cups/array-private.h
+lpd.o: lpd.c ../cups/http-private.h ../config.h ../cups/http.h \
+  ../cups/versioning.h ../cups/array.h ../cups/md5-private.h \
+  ../cups/ipp-private.h ../cups/ipp.h backend-private.h \
+  ../cups/cups-private.h ../cups/string-private.h \
+  ../cups/debug-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/snmp-private.h ../cups/backend.h ../cups/sidechannel.h
+dnssd.o: dnssd.c backend-private.h ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/snmp-private.h ../cups/backend.h ../cups/sidechannel.h
+snmp.o: snmp.c backend-private.h ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/snmp-private.h ../cups/backend.h ../cups/sidechannel.h
+socket.o: socket.c ../cups/http-private.h ../config.h ../cups/http.h \
+  ../cups/versioning.h ../cups/array.h ../cups/md5-private.h \
+  ../cups/ipp-private.h ../cups/ipp.h backend-private.h \
+  ../cups/cups-private.h ../cups/string-private.h \
+  ../cups/debug-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/snmp-private.h ../cups/backend.h ../cups/sidechannel.h
+test1284.o: test1284.c ../cups/string-private.h ../config.h ieee1284.c \
+  backend-private.h ../cups/cups-private.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/snmp-private.h ../cups/backend.h ../cups/sidechannel.h
+testbackend.o: testbackend.c ../cups/string-private.h ../config.h \
+  ../cups/cups.h ../cups/file.h ../cups/versioning.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/language.h \
+  ../cups/sidechannel.h
+testsupplies.o: testsupplies.c backend-private.h ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/snmp-private.h ../cups/backend.h ../cups/sidechannel.h
+usb.o: usb.c backend-private.h ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/snmp-private.h ../cups/backend.h ../cups/sidechannel.h \
+  usb-darwin.c ../cups/file-private.h
index 643ee0c..ad0d5f6 100644 (file)
@@ -1,9 +1,9 @@
 #
-# "$Id: Makefile 10425 2012-04-23 17:42:12Z mike $"
+# "$Id: Makefile 11173 2013-07-23 12:31:34Z msweet $"
 #
 #   Backend makefile for CUPS.
 #
-#   Copyright 2007-2012 by Apple Inc.
+#   Copyright 2007-2013 by Apple Inc.
 #   Copyright 1997-2007 by Easy Software Products, all rights reserved.
 #
 #   These coded instructions, statements, and computer programs are the
@@ -21,13 +21,43 @@ include ../Makedefs
 # Object files...
 #
 
-RBACKENDS =    ipp lpd $(DNSSD_BACKEND)
-UBACKENDS =    $(LEGACY_BACKENDS) serial snmp socket usb
-UNITTESTS =    test1284 testbackend testsupplies
-TARGETS =      libbackend.a $(RBACKENDS) $(UBACKENDS)
-LIBOBJS        =       ieee1284.o network.o runloop.o snmp-supplies.o
-OBJS   =       ipp.o lpd.o dnssd.o parallel.o serial.o snmp.o \
-               socket.o test1284.o testbackend.o testsupplies.o usb.o
+# RBACKENDS are installed mode 0700 so cupsd will run them as root...
+#
+# UBACKENDS are installed mode 0755 so cupsd will run them as an unprivileged
+# user...
+#
+# See http://www.cups.org/documentation.php/api-filter.html for more info...
+RBACKENDS =    \
+               ipp \
+               lpd \
+               $(DNSSD_BACKEND)
+UBACKENDS =    \
+               snmp \
+               socket \
+               usb
+UNITTESTS =    \
+               test1284 \
+               testbackend \
+               testsupplies
+TARGETS =      \
+               libbackend.a \
+               $(RBACKENDS) \
+               $(UBACKENDS)
+LIBOBJS        =       \
+               ieee1284.o \
+               network.o \
+               runloop.o \
+               snmp-supplies.o
+OBJS   =       \
+               ipp.o \
+               lpd.o \
+               dnssd.o \
+               snmp.o \
+               socket.o \
+               test1284.o \
+               testbackend.o \
+               testsupplies.o \
+               usb.o
 
 
 #
@@ -56,7 +86,7 @@ unittests:    $(UNITTESTS)
 #
 
 clean:
-       $(RM) $(OBJS) $(TARGETS) $(UNITTESTS) $(LIBOBJS) http mdns
+       $(RM) $(OBJS) $(TARGETS) $(UNITTESTS) $(LIBOBJS) http https ipps mdns
 
 
 #
@@ -64,7 +94,7 @@ clean:
 #
 
 depend:
-       makedepend -Y -I.. -fDependencies $(OBJS:.o=.c) >/dev/null 2>&1
+       $(CC) -MM $(ALL_CFLAGS) $(OBJS:.o=.c) >Dependencies
 
 
 #
@@ -79,6 +109,11 @@ install:    all install-data install-headers install-libs install-exec
 #
 
 install-data:
+       if test "x$(USBQUIRKS)" != x; then \
+               echo Installing USB quirks in $(USBQUIRKS); \
+               $(INSTALL_DIR) -m 755 $(USBQUIRKS); \
+               $(INSTALL_DATA) org.cups.usb-quirks $(USBQUIRKS); \
+       fi
 
 
 #
@@ -202,8 +237,10 @@ libbackend.a:      $(LIBOBJS)
 dnssd: dnssd.o ../cups/$(LIBCUPS) libbackend.a
        echo Linking $@...
        $(CC) $(LDFLAGS) -o dnssd dnssd.o libbackend.a $(LIBS)
-       $(RM) mdns
-       $(LN) dnssd mdns
+       if test `uname` = Darwin; then \
+               $(RM) mdns; \
+               $(LN) dnssd mdns; \
+       fi
 
 
 #
@@ -227,24 +264,6 @@ lpd:       lpd.o ../cups/$(LIBCUPS) libbackend.a
 
 
 #
-# parallel
-#
-
-parallel:      parallel.o ../cups/$(LIBCUPS) libbackend.a
-       echo Linking $@...
-       $(CC) $(LDFLAGS) -o parallel parallel.o libbackend.a $(LIBS)
-
-
-#
-# serial
-#
-
-serial:        serial.o ../cups/$(LIBCUPS) libbackend.a
-       echo Linking $@...
-       $(CC) $(LDFLAGS) -o serial serial.o libbackend.a $(BACKLIBS) $(LIBS)
-
-
-#
 # snmp
 #
 
@@ -281,5 +300,5 @@ include Dependencies
 
 
 #
-# End of "$Id: Makefile 10425 2012-04-23 17:42:12Z mike $".
+# End of "$Id: Makefile 11173 2013-07-23 12:31:34Z msweet $".
 #
index d3f8f51..9b0eda8 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: backend-private.h 10064 2011-10-07 21:41:07Z mike $"
+ * "$Id: backend-private.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Backend support definitions for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -259,6 +259,20 @@ extern "C" {
 #define CUPS_TC_inserts                                33
 #define CUPS_TC_covers                         34
 
+#define CUPS_TC_tenThousandthsOfInches         3
+#define CUPS_TC_micrometers                    4
+#define CUPS_TC_impressions                    7
+#define CUPS_TC_sheets                         8
+#define CUPS_TC_hours                          11
+#define CUPS_TC_thousandthsOfOunces            12
+#define CUPS_TC_tenthsOfGrams                  13
+#define CUPS_TC_hundrethsOfFluidOunces         14
+#define CUPS_TC_tenthsOfMilliliters            15
+#define CUPS_TC_feet                           16
+#define CUPS_TC_meters                         17
+#define CUPS_TC_items                          18
+#define CUPS_TC_percent                                19
+
 /* These come from RFC 3808 to define character sets we support */
 /* Also see http://www.iana.org/assignments/character-sets */
 #define CUPS_TC_csASCII                                3
@@ -320,5 +334,5 @@ extern int          backendWaitLoop(int snmp_fd, http_addr_t *addr,
 
 
 /*
- * End of "$Id: backend-private.h 10064 2011-10-07 21:41:07Z mike $".
+ * End of "$Id: backend-private.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index 02c7875..317b39f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: dnssd.c 10379 2012-03-23 22:16:22Z mike $"
+ * "$Id: dnssd.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   DNS-SD discovery backend for CUPS.
  *
  *
  * Contents:
  *
- *   main()                  - Browse for printers.
- *   browse_callback()       - Browse devices.
+ *   main()                 - Browse for printers.
+ *   browse_callback()      - Browse devices.
  *   browse_local_callback() - Browse local devices.
- *   compare_devices()       - Compare two devices.
- *   exec_backend()          - Execute the backend that corresponds to the
- *                             resolved service name.
- *   get_device()            - Create or update a device.
- *   query_callback()        - Process query data.
- *   sigterm_handler()       - Handle termination signals...
- *   unquote()               - Unquote a name string.
+ *   client_callback()       - Avahi client callback function.
+ *   compare_devices()      - Compare two devices.
+ *   exec_backend()         - Execute the backend that corresponds to the
+ *                            resolved service name.
+ *   device_type()          - Get DNS-SD type enumeration from string.
+ *   get_device()           - Create or update a device.
+ *   query_callback()       - Process query data.
+ *   find_device()          - Find a device from its name and domain.
+ *   sigterm_handler()      - Handle termination signals.
+ *   unquote()              - Unquote a name string.
  */
 
 /*
 
 #include "backend-private.h"
 #include <cups/array.h>
-#include <dns_sd.h>
+#ifdef HAVE_DNSSD
+#  include <dns_sd.h>
+#endif /* HAVE_DNSSD */
+#ifdef HAVE_AVAHI
+#  include <avahi-client/client.h>
+#  include <avahi-client/lookup.h>
+#  include <avahi-common/simple-watch.h>
+#  include <avahi-common/domain.h>
+#  include <avahi-common/error.h>
+#  include <avahi-common/malloc.h>
+#define kDNSServiceMaxDomainName AVAHI_DOMAIN_NAME_MAX
+#endif /* HAVE_AVAHI */
 
 
 /*
@@ -53,7 +67,12 @@ typedef enum
 
 typedef struct
 {
-  DNSServiceRef        ref;                    /* Service reference for resolve */
+#ifdef HAVE_DNSSD
+  DNSServiceRef        ref;                    /* Service reference for query */
+#endif /* HAVE_DNSSD */
+#ifdef HAVE_AVAHI
+  AvahiRecordBrowser *ref;             /* Browser for query */
+#endif /* HAVE_AVAHI */
   char         *name,                  /* Service name */
                *domain,                /* Domain name */
                *fullName,              /* Full name */
@@ -72,12 +91,18 @@ typedef struct
 
 static int             job_canceled = 0;
                                        /* Set to 1 on SIGTERM */
+#ifdef HAVE_AVAHI
+static AvahiSimplePoll *simple_poll = NULL;
+                                       /* Poll information */
+static int             got_data = 0;   /* Got data from poll? */
+#endif /* HAVE_AVAHI */
 
 
 /*
  * Local functions...
  */
 
+#ifdef HAVE_DNSSD
 static void            browse_callback(DNSServiceRef sdRef,
                                        DNSServiceFlags flags,
                                        uint32_t interfaceIndex,
@@ -95,6 +120,22 @@ static void         browse_local_callback(DNSServiceRef sdRef,
                                              const char *replyDomain,
                                              void *context)
                                              __attribute__((nonnull(1,5,6,7,8)));
+#endif /* HAVE_DNSSD */
+#ifdef HAVE_AVAHI
+static void            browse_callback(AvahiServiceBrowser *browser,
+                                       AvahiIfIndex interface,
+                                       AvahiProtocol protocol,
+                                       AvahiBrowserEvent event,
+                                       const char *serviceName,
+                                       const char *regtype,
+                                       const char *replyDomain,
+                                       AvahiLookupResultFlags flags,
+                                       void *context);
+static void            client_callback(AvahiClient *client,
+                                       AvahiClientState state,
+                                       void *context);
+#endif /* HAVE_AVAHI */
+
 static int             compare_devices(cups_device_t *a, cups_device_t *b);
 static void            exec_backend(char **argv);
 static cups_device_t   *get_device(cups_array_t *devices,
@@ -102,6 +143,7 @@ static cups_device_t        *get_device(cups_array_t *devices,
                                    const char *regtype,
                                    const char *replyDomain)
                                    __attribute__((nonnull(1,2,3,4)));
+#ifdef HAVE_DNSSD
 static void            query_callback(DNSServiceRef sdRef,
                                       DNSServiceFlags flags,
                                       uint32_t interfaceIndex,
@@ -111,6 +153,20 @@ static void                query_callback(DNSServiceRef sdRef,
                                       const void *rdata, uint32_t ttl,
                                       void *context)
                                       __attribute__((nonnull(1,5,9,11)));
+#elif defined(HAVE_AVAHI)
+static int             poll_callback(struct pollfd *pollfds,
+                                     unsigned int num_pollfds, int timeout,
+                                     void *context);
+static void            query_callback(AvahiRecordBrowser *browser,
+                                      AvahiIfIndex interface,
+                                      AvahiProtocol protocol,
+                                      AvahiBrowserEvent event,
+                                      const char *name, uint16_t rrclass,
+                                      uint16_t rrtype, const void *rdata,
+                                      size_t rdlen,
+                                      AvahiLookupResultFlags flags,
+                                      void *context);
+#endif /* HAVE_DNSSD */
 static void            sigterm_handler(int sig);
 static void            unquote(char *dst, const char *src, size_t dstsize)
                            __attribute__((nonnull(1,2)));
@@ -125,6 +181,13 @@ main(int  argc,                            /* I - Number of command-line args */
      char *argv[])                     /* I - Command-line arguments */
 {
   const char   *name;                  /* Backend name */
+  cups_array_t *devices;               /* Device array */
+  cups_device_t        *device;                /* Current device */
+  char         uriName[1024];          /* Unquoted fullName for URI */
+#ifdef HAVE_DNSSD
+  int          fd;                     /* Main file descriptor */
+  fd_set       input;                  /* Input set for select() */
+  struct timeval timeout;              /* Timeout for select() */
   DNSServiceRef        main_ref,               /* Main service reference */
                fax_ipp_ref,            /* IPP fax service reference */
                ipp_ref,                /* IPP service reference */
@@ -138,12 +201,11 @@ main(int  argc,                           /* I - Number of command-line args */
                pdl_datastream_ref,     /* AppSocket service reference */
                printer_ref,            /* LPD service reference */
                riousbprint_ref;        /* Remote IO service reference */
-  int          fd;                     /* Main file descriptor */
-  fd_set       input;                  /* Input set for select() */
-  struct timeval timeout;              /* Timeout for select() */
-  cups_array_t *devices;               /* Device array */
-  cups_device_t        *device;                /* Current device */
-  char         uriName[1024];          /* Unquoted fullName for URI */
+#endif /* HAVE_DNSSD */
+#ifdef HAVE_AVAHI
+  AvahiClient  *client;                /* Client information */
+  int          error;                  /* Error code, if any */
+#endif /* HAVE_AVAHI */
 #if defined(HAVE_SIGACTION) && !defined(HAVE_SIGSET)
   struct sigaction action;             /* Actions for POSIX signals */
 #endif /* HAVE_SIGACTION && !HAVE_SIGSET */
@@ -203,6 +265,7 @@ main(int  argc,                             /* I - Number of command-line args */
   * Browse for different kinds of printers...
   */
 
+#ifdef HAVE_DNSSD
   if (DNSServiceCreateConnection(&main_ref) != kDNSServiceErr_NoError)
   {
     perror("ERROR: Unable to create service connection");
@@ -263,6 +326,52 @@ main(int  argc,                            /* I - Number of command-line args */
   riousbprint_ref = main_ref;
   DNSServiceBrowse(&riousbprint_ref, kDNSServiceFlagsShareConnection, 0,
                    "_riousbprint._tcp", NULL, browse_callback, devices);
+#endif /* HAVE_DNSSD */
+
+#ifdef HAVE_AVAHI
+  if ((simple_poll = avahi_simple_poll_new()) == NULL)
+  {
+    fputs("DEBUG: Unable to create Avahi simple poll object.\n", stderr);
+    return (1);
+  }
+
+  avahi_simple_poll_set_func(simple_poll, poll_callback, NULL);
+
+  client = avahi_client_new(avahi_simple_poll_get(simple_poll),
+                           0, client_callback, simple_poll, &error);
+  if (!client)
+  {
+    fputs("DEBUG: Unable to create Avahi client.\n", stderr);
+    return (1);
+  }
+
+  avahi_service_browser_new(client, AVAHI_IF_UNSPEC,
+                           AVAHI_PROTO_UNSPEC,
+                           "_fax-ipp._tcp", NULL, 0,
+                           browse_callback, devices);
+  avahi_service_browser_new(client, AVAHI_IF_UNSPEC,
+                           AVAHI_PROTO_UNSPEC,
+                           "_ipp._tcp", NULL, 0,
+                           browse_callback, devices);
+  avahi_service_browser_new(client, AVAHI_IF_UNSPEC,
+                           AVAHI_PROTO_UNSPEC,
+                           "_ipp-tls._tcp", NULL, 0,
+                           browse_callback, devices);
+  avahi_service_browser_new(client, AVAHI_IF_UNSPEC,
+                           AVAHI_PROTO_UNSPEC,
+                           "_ipps._tcp", NULL, 0,
+                           browse_callback, devices);
+  avahi_service_browser_new(client, AVAHI_IF_UNSPEC,
+                           AVAHI_PROTO_UNSPEC,
+                           "_pdl-datastream._tcp",
+                           NULL, 0,
+                           browse_callback,
+                           devices);
+  avahi_service_browser_new(client, AVAHI_IF_UNSPEC,
+                           AVAHI_PROTO_UNSPEC,
+                           "_printer._tcp", NULL, 0,
+                           browse_callback, devices);
+#endif /* HAVE_AVAHI */
 
  /*
   * Loop until we are killed...
@@ -270,11 +379,14 @@ main(int  argc,                           /* I - Number of command-line args */
 
   while (!job_canceled)
   {
+    int announce = 0;                  /* Announce printers? */
+
+#ifdef HAVE_DNSSD
     FD_ZERO(&input);
     FD_SET(fd, &input);
 
     timeout.tv_sec  = 0;
-    timeout.tv_usec = 250000;
+    timeout.tv_usec = 500000;
 
     if (select(fd + 1, &input, NULL, NULL, &timeout) < 0)
       continue;
@@ -288,12 +400,36 @@ main(int  argc,                           /* I - Number of command-line args */
       DNSServiceProcessResult(main_ref);
     }
     else
+      announce = 1;
+
+#elif defined(HAVE_AVAHI)
+    got_data = 0;
+
+    if ((error = avahi_simple_poll_iterate(simple_poll, 500)) > 0)
+    {
+     /*
+      * We've been told to exit the loop.  Perhaps the connection to
+      * Avahi failed.
+      */
+
+      break;
+    }
+
+    if (!got_data)
+      announce = 1;
+#endif /* HAVE_DNSSD */
+
+/*    fprintf(stderr, "DEBUG: announce=%d\n", announce);*/
+
+    if (announce)
     {
      /*
       * Announce any devices we've found...
       */
 
+#ifdef HAVE_DNSSD
       DNSServiceErrorType status;      /* DNS query status */
+#endif /* HAVE_DNSSD */
       cups_device_t *best;             /* Best matching device */
       char     device_uri[1024];       /* Device URI */
       int      count;                  /* Number of queries */
@@ -316,36 +452,59 @@ main(int  argc,                           /* I - Number of command-line args */
          * Found the device, now get the TXT record(s) for it...
          */
 
-          if (count < 20)
+          if (count < 50)
          {
-           device->ref = main_ref;
-
            fprintf(stderr, "DEBUG: Querying \"%s\"...\n", device->fullName);
 
+#ifdef HAVE_DNSSD
+           device->ref = main_ref;
+
            status = DNSServiceQueryRecord(&(device->ref),
                                           kDNSServiceFlagsShareConnection,
                                           0, device->fullName,
                                           kDNSServiceType_TXT,
                                           kDNSServiceClass_IN, query_callback,
-                                          devices);
+                                          device);
             if (status != kDNSServiceErr_NoError)
-           {
-             fputs("ERROR: Unable to query for TXT records!\n", stderr);
-             fprintf(stderr, "DEBUG: DNSServiceQueryRecord returned %d\n",
-                     status);
-            }
+             fprintf(stderr,
+                     "ERROR: Unable to query \"%s\" for TXT records: %d\n",
+                     device->fullName, status);
+                                       /* Users never see this */
            else
              count ++;
+
+#else
+           if ((device->ref = avahi_record_browser_new(client, AVAHI_IF_UNSPEC,
+                                                       AVAHI_PROTO_UNSPEC,
+                                                       device->fullName,
+                                                       AVAHI_DNS_CLASS_IN,
+                                                       AVAHI_DNS_TYPE_TXT,
+                                                       0,
+                                                       query_callback,
+                                                       device)) == NULL)
+             fprintf(stderr,
+                     "ERROR: Unable to query \"%s\" for TXT records: %s\n",
+                     device->fullName,
+                     avahi_strerror(avahi_client_errno(client)));
+                                       /* Users never see this */
+           else
+             count ++;
+#endif /* HAVE_AVAHI */
           }
        }
        else if (!device->sent)
        {
+#ifdef HAVE_DNSSD
         /*
          * Got the TXT records, now report the device...
          */
 
          DNSServiceRefDeallocate(device->ref);
-         device->ref = 0;
+#else
+          avahi_record_browser_free(device->ref);
+#endif /* HAVE_DNSSD */
+
+         device->ref = NULL;
 
           if (!best)
            best = device;
@@ -397,6 +556,8 @@ main(int  argc,                             /* I - Number of command-line args */
        sent ++;
       }
 
+      fprintf(stderr, "DEBUG: sent=%d, count=%d\n", sent, count);
+
       if (sent == cupsArrayCount(devices))
        break;
     }
@@ -406,6 +567,7 @@ main(int  argc,                             /* I - Number of command-line args */
 }
 
 
+#ifdef HAVE_DNSSD
 /*
  * 'browse_callback()' - Browse devices.
  */
@@ -425,10 +587,7 @@ browse_callback(
                   "interfaceIndex=%d, errorCode=%d, serviceName=\"%s\", "
                  "regtype=\"%s\", replyDomain=\"%s\", context=%p)\n",
           sdRef, flags, interfaceIndex, errorCode,
-         serviceName ? serviceName : "(null)",
-         regtype ? regtype : "(null)",
-         replyDomain ? replyDomain : "(null)",
-         context);
+         serviceName, regtype, replyDomain, context);
 
  /*
   * Only process "add" data...
@@ -467,10 +626,7 @@ browse_local_callback(
                   "interfaceIndex=%d, errorCode=%d, serviceName=\"%s\", "
                  "regtype=\"%s\", replyDomain=\"%s\", context=%p)\n",
           sdRef, flags, interfaceIndex, errorCode,
-         serviceName ? serviceName : "(null)",
-         regtype ? regtype : "(null)",
-         replyDomain ? replyDomain : "(null)",
-         context);
+         serviceName, regtype, replyDomain, context);
 
  /*
   * Only process "add" data...
@@ -494,6 +650,97 @@ browse_local_callback(
          device->fullName);
   device->sent = 1;
 }
+#endif /* HAVE_DNSSD */
+
+
+#ifdef HAVE_AVAHI
+/*
+ * 'browse_callback()' - Browse devices.
+ */
+
+static void
+browse_callback(
+    AvahiServiceBrowser    *browser,   /* I - Browser */
+    AvahiIfIndex           interface,  /* I - Interface index (unused) */
+    AvahiProtocol          protocol,   /* I - Network protocol (unused) */
+    AvahiBrowserEvent      event,      /* I - What happened */
+    const char             *name,      /* I - Service name */
+    const char             *type,      /* I - Registration type */
+    const char             *domain,    /* I - Domain */
+    AvahiLookupResultFlags flags,      /* I - Flags */
+    void                   *context)   /* I - Devices array */
+{
+  AvahiClient *client = avahi_service_browser_get_client(browser);
+                                       /* Client information */
+
+
+  (void)interface;
+  (void)protocol;
+  (void)context;
+
+  switch (event)
+  {
+    case AVAHI_BROWSER_FAILURE:
+       fprintf(stderr, "DEBUG: browse_callback: %s\n",
+               avahi_strerror(avahi_client_errno(client)));
+       avahi_simple_poll_quit(simple_poll);
+       break;
+
+    case AVAHI_BROWSER_NEW:
+       /*
+       * This object is new on the network.
+       */
+
+       if (flags & AVAHI_LOOKUP_RESULT_LOCAL)
+       {
+        /*
+         * This comes from the local machine so ignore it.
+         */
+
+         fprintf(stderr, "DEBUG: Ignoring local service %s.\n", name);
+       }
+       else
+       {
+        /*
+         * Create a device entry for it if it doesn't yet exist.
+         */
+
+         get_device((cups_array_t *)context, name, type, domain);
+       }
+       break;
+
+    case AVAHI_BROWSER_REMOVE:
+    case AVAHI_BROWSER_ALL_FOR_NOW:
+    case AVAHI_BROWSER_CACHE_EXHAUSTED:
+        break;
+  }
+}
+
+
+/*
+ * 'client_callback()' - Avahi client callback function.
+ */
+
+static void
+client_callback(
+    AvahiClient      *client,          /* I - Client information (unused) */
+    AvahiClientState state,            /* I - Current state */
+    void             *context)         /* I - User data (unused) */
+{
+  (void)client;
+  (void)context;
+
+ /*
+  * If the connection drops, quit.
+  */
+
+  if (state == AVAHI_CLIENT_FAILURE)
+  {
+    fputs("DEBUG: Avahi connection failed.\n", stderr);
+    avahi_simple_poll_quit(simple_poll);
+  }
+}
+#endif /* HAVE_AVAHI */
 
 
 /*
@@ -574,6 +821,41 @@ exec_backend(char **argv)          /* I - Command-line arguments */
 
 
 /*
+ * 'device_type()' - Get DNS-SD type enumeration from string.
+ */
+
+static int
+device_type(const char *regtype)
+{
+#ifdef HAVE_AVAHI
+  if (!strcmp(regtype, "_ipp._tcp"))
+    return (CUPS_DEVICE_IPP);
+  else if (!strcmp(regtype, "_ipps._tcp") ||
+          !strcmp(regtype, "_ipp-tls._tcp"))
+    return (CUPS_DEVICE_IPPS);
+  else if (!strcmp(regtype, "_fax-ipp._tcp"))
+    return (CUPS_DEVICE_FAX_IPP);
+  else if (!strcmp(regtype, "_printer._tcp"))
+    return (CUPS_DEVICE_PDL_DATASTREAM);
+#else
+  if (!strcmp(regtype, "_ipp._tcp."))
+    return (CUPS_DEVICE_IPP);
+  else if (!strcmp(regtype, "_ipps._tcp.") ||
+          !strcmp(regtype, "_ipp-tls._tcp."))
+    return (CUPS_DEVICE_IPPS);
+  else if (!strcmp(regtype, "_fax-ipp._tcp."))
+    return (CUPS_DEVICE_FAX_IPP);
+  else if (!strcmp(regtype, "_printer._tcp."))
+    return (CUPS_DEVICE_PRINTER);
+  else if (!strcmp(regtype, "_pdl-datastream._tcp."))
+    return (CUPS_DEVICE_PDL_DATASTREAM);
+#endif /* HAVE_AVAHI */
+
+  return (CUPS_DEVICE_RIOUSBPRINT);
+}
+
+
+/*
  * 'get_device()' - Create or update a device.
  */
 
@@ -594,20 +876,7 @@ get_device(cups_array_t *devices,  /* I - Device array */
   */
 
   key.name = (char *)serviceName;
-
-  if (!strcmp(regtype, "_ipp._tcp."))
-    key.type = CUPS_DEVICE_IPP;
-  else if (!strcmp(regtype, "_ipps._tcp.") ||
-          !strcmp(regtype, "_ipp-tls._tcp."))
-    key.type = CUPS_DEVICE_IPPS;
-  else if (!strcmp(regtype, "_fax-ipp._tcp."))
-    key.type = CUPS_DEVICE_FAX_IPP;
-  else if (!strcmp(regtype, "_printer._tcp."))
-    key.type = CUPS_DEVICE_PRINTER;
-  else if (!strcmp(regtype, "_pdl-datastream._tcp."))
-    key.type = CUPS_DEVICE_PDL_DATASTREAM;
-  else
-    key.type = CUPS_DEVICE_RIOUSBPRINT;
+  key.type = device_type(regtype);
 
   for (device = cupsArrayFind(devices, &key);
        device;
@@ -627,8 +896,14 @@ get_device(cups_array_t *devices,  /* I - Device array */
         free(device->domain);
        device->domain = strdup(replyDomain);
 
+#ifdef HAVE_DNSSD
        DNSServiceConstructFullName(fullName, device->name, regtype,
                                    replyDomain);
+#else /* HAVE_AVAHI */
+       avahi_service_name_join(fullName, kDNSServiceMaxDomainName,
+                               serviceName, regtype, replyDomain);
+#endif /* HAVE_DNSSD */
+
        free(device->fullName);
        device->fullName = strdup(fullName);
       }
@@ -655,13 +930,55 @@ get_device(cups_array_t *devices, /* I - Device array */
   * Set the "full name" of this service, which is used for queries...
   */
 
+#ifdef HAVE_DNSSD
   DNSServiceConstructFullName(fullName, serviceName, regtype, replyDomain);
+#else /* HAVE_AVAHI */
+  avahi_service_name_join(fullName, kDNSServiceMaxDomainName,
+                          serviceName, regtype, replyDomain);
+#endif /* HAVE_DNSSD */
+
   device->fullName = strdup(fullName);
 
   return (device);
 }
 
 
+#ifdef HAVE_AVAHI
+/*
+ * 'poll_callback()' - Wait for input on the specified file descriptors.
+ *
+ * Note: This function is needed because avahi_simple_poll_iterate is broken
+ *       and always uses a timeout of 0 (!) milliseconds.
+ *       (Avahi Ticket #364)
+ */
+
+static int                             /* O - Number of file descriptors matching */
+poll_callback(
+    struct pollfd *pollfds,            /* I - File descriptors */
+    unsigned int  num_pollfds,         /* I - Number of file descriptors */
+    int           timeout,             /* I - Timeout in milliseconds (unused) */
+    void          *context)            /* I - User data (unused) */
+{
+  int  val;                            /* Return value */
+
+
+  (void)timeout;
+  (void)context;
+
+  val = poll(pollfds, num_pollfds, 500);
+
+  if (val < 0)
+    fprintf(stderr, "DEBUG: poll_callback: %s\n", strerror(errno));
+  else if (val > 0)
+    got_data = 1;
+
+  return (val);
+}
+#endif /* HAVE_AVAHI */
+
+
+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
+#  ifdef HAVE_DNSSD
 /*
  * 'query_callback()' - Process query data.
  */
@@ -678,15 +995,46 @@ query_callback(
     uint16_t            rdlen,         /* I - Length of record data */
     const void          *rdata,                /* I - Record data */
     uint32_t            ttl,           /* I - Time-to-live */
-    void                *context)      /* I - Devices array */
+    void                *context)      /* I - Device */
 {
-  cups_array_t *devices;               /* Device array */
-  char         name[1024],             /* Service name */
-               *ptr;                   /* Pointer into string */
-  cups_device_t        dkey,                   /* Search key */
-               *device;                /* Device */
-
+#  else
+/*
+ * 'query_callback()' - Process query data.
+ */
 
+static void
+query_callback(
+    AvahiRecordBrowser     *browser,   /* I - Record browser */
+    AvahiIfIndex           interfaceIndex,
+                                       /* I - Interface index (unused) */
+    AvahiProtocol          protocol,   /* I - Network protocol (unused) */
+    AvahiBrowserEvent      event,      /* I - What happened? */
+    const char             *fullName,  /* I - Service name */
+    uint16_t               rrclass,    /* I - Record class */
+    uint16_t               rrtype,     /* I - Record type */
+    const void             *rdata,     /* I - TXT record */
+    size_t                 rdlen,      /* I - Length of TXT record */
+    AvahiLookupResultFlags flags,      /* I - Flags */
+    void                   *context)   /* I - Device */
+{
+  AvahiClient          *client = avahi_record_browser_get_client(browser);
+                                       /* Client information */
+#  endif /* HAVE_DNSSD */
+  char         *ptr;                   /* Pointer into string */
+  cups_device_t        *device = (cups_device_t *)context;
+                                       /* Device */
+  const uint8_t        *data,                  /* Pointer into data */
+               *datanext,              /* Next key/value pair */
+               *dataend;               /* End of entire TXT record */
+  uint8_t      datalen;                /* Length of current key/value pair */
+  char         key[256],               /* Key string */
+               value[256],             /* Value string */
+               make_and_model[512],    /* Manufacturer and model */
+               model[256],             /* Model */
+               device_id[2048];        /* 1284 device ID */
+
+
+#  ifdef HAVE_DNSSD
   fprintf(stderr, "DEBUG2: query_callback(sdRef=%p, flags=%x, "
                   "interfaceIndex=%d, errorCode=%d, fullName=\"%s\", "
                  "rrtype=%u, rrclass=%u, rdlen=%u, rdata=%p, ttl=%u, "
@@ -702,221 +1050,183 @@ query_callback(
   if (errorCode != kDNSServiceErr_NoError || !(flags & kDNSServiceFlagsAdd))
     return;
 
+#  else
+  fprintf(stderr, "DEBUG2: query_callback(browser=%p, interfaceIndex=%d, "
+                  "protocol=%d, event=%d, fullName=\"%s\", rrclass=%u, "
+                 "rrtype=%u, rdata=%p, rdlen=%u, flags=%x, context=%p)\n",
+          browser, interfaceIndex, protocol, event,
+         fullName ? fullName : "(null)", rrclass, rrtype, rdata,
+         (unsigned)rdlen, flags, context);
+
  /*
-  * Lookup the service in the devices array.
+  * Only process "add" data...
   */
 
-  devices   = (cups_array_t *)context;
-  dkey.name = name;
+  if (event != AVAHI_BROWSER_NEW)
+  {
+    if (event == AVAHI_BROWSER_FAILURE)
+      fprintf(stderr, "ERROR: %s\n",
+             avahi_strerror(avahi_client_errno(client)));
 
-  unquote(name, fullName, sizeof(name));
+    return;
+  }
+#  endif /* HAVE_DNSSD */
 
-  if ((dkey.domain = strstr(name, "._tcp.")) != NULL)
-    dkey.domain += 6;
-  else
-    dkey.domain = (char *)"local.";
+ /*
+  * Pull out the priority and make and model from the TXT
+  * record and save it...
+  */
 
-  if ((ptr = strstr(name, "._")) != NULL)
-    *ptr = '\0';
+  device_id[0]      = '\0';
+  make_and_model[0] = '\0';
 
-  if (strstr(fullName, "_ipp._tcp."))
-    dkey.type = CUPS_DEVICE_IPP;
-  else if (strstr(fullName, "_ipps._tcp.") ||
-           strstr(fullName, "_ipp-tls._tcp."))
-    dkey.type = CUPS_DEVICE_IPPS;
-  else if (strstr(fullName, "_fax-ipp._tcp."))
-    dkey.type = CUPS_DEVICE_FAX_IPP;
-  else if (strstr(fullName, "_printer._tcp."))
-    dkey.type = CUPS_DEVICE_PRINTER;
-  else if (strstr(fullName, "_pdl-datastream._tcp."))
-    dkey.type = CUPS_DEVICE_PDL_DATASTREAM;
-  else
-    dkey.type = CUPS_DEVICE_RIOUSBPRINT;
+  strcpy(model, "Unknown");
 
-  for (device = cupsArrayFind(devices, &dkey);
-       device;
-       device = cupsArrayNext(devices))
+  for (data = rdata, dataend = data + rdlen;
+       data < dataend;
+       data = datanext)
   {
-    if (_cups_strcasecmp(device->name, dkey.name) ||
-        _cups_strcasecmp(device->domain, dkey.domain))
-    {
-      device = NULL;
+   /*
+    * Read a key/value pair starting with an 8-bit length.  Since the
+    * length is 8 bits and the size of the key/value buffers is 256, we
+    * don't need to check for overflow...
+    */
+
+    datalen = *data++;
+
+    if (!datalen || (data + datalen) > dataend)
       break;
-    }
-    else if (device->type == dkey.type)
+
+    datanext = data + datalen;
+
+    for (ptr = key; data < datanext && *data != '='; data ++)
+      *ptr++ = *data;
+    *ptr = '\0';
+
+    if (data < datanext && *data == '=')
     {
-     /*
-      * Found it, pull out the priority and make and model from the TXT
-      * record and save it...
-      */
+      data ++;
 
-      const uint8_t    *data,          /* Pointer into data */
-                       *datanext,      /* Next key/value pair */
-                       *dataend;       /* End of entire TXT record */
-      uint8_t          datalen;        /* Length of current key/value pair */
-      char             key[256],       /* Key string */
-                       value[256],     /* Value string */
-                       make_and_model[512],
-                                       /* Manufacturer and model */
-                       model[256],     /* Model */
-                       device_id[2048];/* 1284 device ID */
+      if (data < datanext)
+       memcpy(value, data, datanext - data);
+      value[datanext - data] = '\0';
 
+      fprintf(stderr, "DEBUG2: query_callback: \"%s=%s\".\n",
+             key, value);
+    }
+    else
+    {
+      fprintf(stderr, "DEBUG2: query_callback: \"%s\" with no value.\n",
+             key);
+      continue;
+    }
 
-      device_id[0]      = '\0';
-      make_and_model[0] = '\0';
+    if (!_cups_strncasecmp(key, "usb_", 4))
+    {
+     /*
+      * Add USB device ID information...
+      */
 
-      strcpy(model, "Unknown");
+      ptr = device_id + strlen(device_id);
+      snprintf(ptr, sizeof(device_id) - (ptr - device_id), "%s:%s;",
+              key + 4, value);
+    }
 
-      for (data = rdata, dataend = data + rdlen;
-           data < dataend;
-           data = datanext)
+    if (!_cups_strcasecmp(key, "usb_MFG") || !_cups_strcasecmp(key, "usb_MANU") ||
+       !_cups_strcasecmp(key, "usb_MANUFACTURER"))
+      strcpy(make_and_model, value);
+    else if (!_cups_strcasecmp(key, "usb_MDL") || !_cups_strcasecmp(key, "usb_MODEL"))
+      strcpy(model, value);
+    else if (!_cups_strcasecmp(key, "product") && !strstr(value, "Ghostscript"))
+    {
+      if (value[0] == '(')
       {
        /*
-        * Read a key/value pair starting with an 8-bit length.  Since the
-       * length is 8 bits and the size of the key/value buffers is 256, we
-       * don't need to check for overflow...
+       * Strip parenthesis...
        */
 
-        datalen = *data++;
+       if ((ptr = value + strlen(value) - 1) > value && *ptr == ')')
+         *ptr = '\0';
 
-        if (!datalen || (data + datalen) > dataend)
-         break;
-
-        datanext = data + datalen;
+       strcpy(model, value + 1);
+      }
+      else
+       strcpy(model, value);
+    }
+    else if (!_cups_strcasecmp(key, "ty"))
+    {
+      strcpy(model, value);
 
-        for (ptr = key; data < datanext && *data != '='; data ++)
-         *ptr++ = *data;
+      if ((ptr = strchr(model, ',')) != NULL)
        *ptr = '\0';
+    }
+    else if (!_cups_strcasecmp(key, "priority"))
+      device->priority = atoi(value);
+    else if ((device->type == CUPS_DEVICE_IPP ||
+             device->type == CUPS_DEVICE_IPPS ||
+             device->type == CUPS_DEVICE_PRINTER) &&
+            !_cups_strcasecmp(key, "printer-type"))
+    {
+     /*
+      * This is a CUPS printer!
+      */
 
-       if (data < datanext && *data == '=')
-       {
-         data ++;
-
-         if (data < datanext)
-           memcpy(value, data, datanext - data);
-         value[datanext - data] = '\0';
-
-         fprintf(stderr, "DEBUG2: query_callback: \"%s=%s\".\n",
-                 key, value);
-       }
-       else
-       {
-         fprintf(stderr, "DEBUG2: query_callback: \"%s\" with no value.\n",
-                 key);
-         continue;
-       }
-
-        if (!_cups_strncasecmp(key, "usb_", 4))
-       {
-        /*
-         * Add USB device ID information...
-         */
-
-         ptr = device_id + strlen(device_id);
-         snprintf(ptr, sizeof(device_id) - (ptr - device_id), "%s:%s;",
-                  key + 4, value);
-        }
-
-        if (!_cups_strcasecmp(key, "usb_MFG") || !_cups_strcasecmp(key, "usb_MANU") ||
-           !_cups_strcasecmp(key, "usb_MANUFACTURER"))
-         strcpy(make_and_model, value);
-        else if (!_cups_strcasecmp(key, "usb_MDL") || !_cups_strcasecmp(key, "usb_MODEL"))
-         strcpy(model, value);
-       else if (!_cups_strcasecmp(key, "product") && !strstr(value, "Ghostscript"))
-       {
-         if (value[0] == '(')
-         {
-          /*
-           * Strip parenthesis...
-           */
-
-            if ((ptr = value + strlen(value) - 1) > value && *ptr == ')')
-             *ptr = '\0';
-
-           strcpy(model, value + 1);
-         }
-         else
-           strcpy(model, value);
-        }
-       else if (!_cups_strcasecmp(key, "ty"))
-       {
-          strcpy(model, value);
-
-         if ((ptr = strchr(model, ',')) != NULL)
-           *ptr = '\0';
-       }
-       else if (!_cups_strcasecmp(key, "priority"))
-         device->priority = atoi(value);
-       else if ((device->type == CUPS_DEVICE_IPP ||
-                 device->type == CUPS_DEVICE_IPPS ||
-                 device->type == CUPS_DEVICE_PRINTER) &&
-                !_cups_strcasecmp(key, "printer-type"))
-       {
-        /*
-         * This is a CUPS printer!
-         */
-
-         device->cups_shared = 1;
+      device->cups_shared = 1;
 
-         if (device->type == CUPS_DEVICE_PRINTER)
-           device->sent = 1;
-       }
-      }
+      if (device->type == CUPS_DEVICE_PRINTER)
+       device->sent = 1;
+    }
+  }
 
-      if (device->device_id)
-        free(device->device_id);
+  if (device->device_id)
+    free(device->device_id);
 
-      if (!device_id[0] && strcmp(model, "Unknown"))
-      {
-        if (make_and_model[0])
-         snprintf(device_id, sizeof(device_id), "MFG:%s;MDL:%s;",
-                  make_and_model, model);
-        else if (!_cups_strncasecmp(model, "designjet ", 10))
-         snprintf(device_id, sizeof(device_id), "MFG:HP;MDL:%s", model + 10);
-        else if (!_cups_strncasecmp(model, "stylus ", 7))
-         snprintf(device_id, sizeof(device_id), "MFG:EPSON;MDL:%s", model + 7);
-        else if ((ptr = strchr(model, ' ')) != NULL)
-       {
-        /*
-         * Assume the first word is the make...
-         */
+  if (!device_id[0] && strcmp(model, "Unknown"))
+  {
+    if (make_and_model[0])
+      snprintf(device_id, sizeof(device_id), "MFG:%s;MDL:%s;",
+              make_and_model, model);
+    else if (!_cups_strncasecmp(model, "designjet ", 10))
+      snprintf(device_id, sizeof(device_id), "MFG:HP;MDL:%s", model + 10);
+    else if (!_cups_strncasecmp(model, "stylus ", 7))
+      snprintf(device_id, sizeof(device_id), "MFG:EPSON;MDL:%s", model + 7);
+    else if ((ptr = strchr(model, ' ')) != NULL)
+    {
+     /*
+      * Assume the first word is the make...
+      */
 
-          memcpy(make_and_model, model, ptr - model);
-         make_and_model[ptr - model] = '\0';
+      memcpy(make_and_model, model, ptr - model);
+      make_and_model[ptr - model] = '\0';
 
-         snprintf(device_id, sizeof(device_id), "MFG:%s;MDL:%s",
-                  make_and_model, ptr + 1);
-        }
-      }
+      snprintf(device_id, sizeof(device_id), "MFG:%s;MDL:%s",
+              make_and_model, ptr + 1);
+    }
+  }
 
-      if (device_id[0])
-        device->device_id = strdup(device_id);
-      else
-        device->device_id = NULL;
+  if (device_id[0])
+    device->device_id = strdup(device_id);
+  else
+    device->device_id = NULL;
 
-      if (device->make_and_model)
-       free(device->make_and_model);
+  if (device->make_and_model)
+    free(device->make_and_model);
 
-      if (make_and_model[0])
-      {
-       strlcat(make_and_model, " ", sizeof(make_and_model));
-       strlcat(make_and_model, model, sizeof(make_and_model));
+  if (make_and_model[0])
+  {
+    strlcat(make_and_model, " ", sizeof(make_and_model));
+    strlcat(make_and_model, model, sizeof(make_and_model));
 
-       device->make_and_model = strdup(make_and_model);
-      }
-      else
-       device->make_and_model = strdup(model);
-      break;
-    }
+    device->make_and_model = strdup(make_and_model);
   }
-
-  if (!device)
-    fprintf(stderr, "DEBUG: Ignoring TXT record for \"%s\"...\n", fullName);
+  else
+    device->make_and_model = strdup(model);
 }
+#endif /* HAVE_DNSSD || HAVE_AVAHI */
 
 
 /*
- * 'sigterm_handler()' - Handle termination signals...
+ * 'sigterm_handler()' - Handle termination signals.
  */
 
 static void
@@ -966,5 +1276,5 @@ unquote(char       *dst,           /* I - Destination buffer */
 
 
 /*
- * End of "$Id: dnssd.c 10379 2012-03-23 22:16:22Z mike $".
+ * End of "$Id: dnssd.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index c95fbc7..b2d1c7d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: ieee1284.c 9828 2011-06-14 06:38:24Z mike $"
+ * "$Id: ieee1284.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   IEEE-1284 support functions for CUPS.
  *
@@ -487,5 +487,5 @@ backendGetMakeModel(
 
 
 /*
- * End of "$Id: ieee1284.c 9828 2011-06-14 06:38:24Z mike $".
+ * End of "$Id: ieee1284.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index e27f38e..efd570a 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: ipp.c 10452 2012-05-04 23:00:01Z mike $"
+ * "$Id: ipp.c 11221 2013-08-06 16:16:01Z msweet $"
  *
  *   IPP backend for CUPS.
  *
- *   Copyright 2007-2012 by Apple Inc.
+ *   Copyright 2007-2013 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
 #  define kPMPrintUIToolAgent  "com.apple.printuitool.agent"
 #  define kPMStartJob          100
 #  define kPMWaitForJob                101
+#  ifdef HAVE_XPC_PRIVATE_H
+#    include <xpc/private.h>
+#  else
 extern void    xpc_connection_set_target_uid(xpc_connection_t connection,
                                              uid_t uid);
+#  endif /* HAVE_XPC_PRIVATE_H */
 #endif /* HAVE_GSSAPI && HAVE_XPC */
 
 
@@ -62,7 +66,8 @@ typedef struct _cups_monitor_s                /**** Monitoring data ****/
                        *resource;      /* Resource path */
   int                  port,           /* Port number */
                        version,        /* IPP version */
-                       job_id;         /* Job ID for submitted job */
+                       job_id,         /* Job ID for submitted job */
+                       get_job_attrs;  /* Support Get-Job-Attributes? */
   const char           *job_name;      /* Job name for submitted job */
   http_encryption_t    encryption;     /* Use encryption? */
   ipp_jstate_t         job_state;      /* Current job state */
@@ -81,6 +86,7 @@ static int            child_pid = 0;  /* Child process ID */
 #endif /* HAVE_GSSAPI && HAVE_XPC */
 static const char * const jattrs[] =   /* Job attributes we want */
 {
+  "job-id",
   "job-impressions-completed",
   "job-media-sheets-completed",
   "job-name",
@@ -94,8 +100,6 @@ static char          username[256] = "",
                                        /* Username for device URI */
                        *password = NULL;
                                        /* Password for device URI */
-static int             password_tries = 0;
-                                       /* Password tries */
 static const char * const pattrs[] =   /* Printer attributes we want */
 {
   "copies-supported",
@@ -160,11 +164,13 @@ static ipp_t              *new_request(ipp_op_t op, int version, const char *uri,
                                     const char *format, _ppd_cache_t *pc,
                                     ipp_attribute_t *media_col_sup,
                                     ipp_attribute_t *doc_handling_sup);
-static const char      *password_cb(const char *);
+static const char      *password_cb(const char *prompt, http_t *http,
+                                    const char *method, const char *resource,
+                                    int *user_data);
 static void            report_attr(ipp_attribute_t *attr);
 static void            report_printer_state(ipp_t *ipp);
 #if defined(HAVE_GSSAPI) && defined(HAVE_XPC)
-static int             run_as_user(int argc, char *argv[], uid_t uid,
+static int             run_as_user(char *argv[], uid_t uid,
                                    const char *device_uri, int fd);
 #endif /* HAVE_GSSAPI && HAVE_XPC */
 static void            sigterm_handler(int sig);
@@ -197,7 +203,9 @@ main(int  argc,                             /* I - Number of command-line args */
                *name,                  /* Name of option */
                *value,                 /* Value of option */
                sep;                    /* Separator character */
+  int          password_tries = 0;     /* Password tries */
   http_addrlist_t *addrlist;           /* Address of printer */
+  int          snmp_enabled = 1;       /* Is SNMP enabled? */
   int          snmp_fd,                /* SNMP socket */
                start_count,            /* Page count via SNMP at start */
                page_count,             /* Page count via SNMP */
@@ -237,6 +245,7 @@ main(int  argc,                             /* I - Number of command-line args */
   ipp_attribute_t *printer_state;      /* printer-state attribute */
   ipp_attribute_t *printer_accepting;  /* printer-is-accepting-jobs */
   int          create_job = 0,         /* Does printer support Create-Job? */
+               get_job_attrs = 0,      /* Does printer support Get-Job-Attributes? */
                send_document = 0,      /* Does printer support Send-Document? */
                validate_job = 0;       /* Does printer support Validate-Job? */
   int          copies,                 /* Number of copies for job */
@@ -342,7 +351,7 @@ main(int  argc,                             /* I - Number of command-line args */
     if (uid > 0)
     {
       if (argc == 6)
-        return (run_as_user(argc, argv, uid, device_uri, 0));
+        return (run_as_user(argv, uid, device_uri, 0));
       else
       {
         int status = 0;                        /* Exit status */
@@ -351,7 +360,7 @@ main(int  argc,                             /* I - Number of command-line args */
        {
          if ((fd = open(argv[i], O_RDONLY)) >= 0)
          {
-           status = run_as_user(argc, argv, uid, device_uri, fd);
+           status = run_as_user(argv, uid, device_uri, fd);
            close(fd);
          }
          else
@@ -398,7 +407,7 @@ main(int  argc,                             /* I - Number of command-line args */
   if (!port)
     port = IPP_PORT;                   /* Default to port 631 */
 
-  if (!strcmp(scheme, "https"))
+  if (!strcmp(scheme, "https") || !strcmp(scheme, "ipps"))
     cupsSetEncryption(HTTP_ENCRYPT_ALWAYS);
   else
     cupsSetEncryption(HTTP_ENCRYPT_IF_REQUESTED);
@@ -502,6 +511,16 @@ main(int  argc,                            /* I - Number of command-line args */
                               value);
         }
       }
+      else if (!_cups_strcasecmp(name, "snmp"))
+      {
+        /*
+         * Enable/disable SNMP stuff...
+         */
+
+         snmp_enabled = !value[0] || !_cups_strcasecmp(value, "on") ||
+                        _cups_strcasecmp(value, "yes") ||
+                        _cups_strcasecmp(value, "true");
+      }
       else if (!_cups_strcasecmp(name, "version"))
       {
         if (!strcmp(value, "1.0"))
@@ -589,7 +608,7 @@ main(int  argc,                             /* I - Number of command-line args */
   * Set the authentication info, if any...
   */
 
-  cupsSetPasswordCB(password_cb);
+  cupsSetPasswordCB2((cups_password_cb2_t)password_cb, &password_tries);
 
   if (username[0])
   {
@@ -641,6 +660,9 @@ main(int  argc,                             /* I - Number of command-line args */
       update_reasons(NULL, "-connecting-to-device");
       return (CUPS_BACKEND_STOP);
     }
+
+    if (job_canceled)
+      return (CUPS_BACKEND_OK);
   }
 
   http = _httpCreate(hostname, port, addrlist, cupsEncryption(), AF_UNSPEC);
@@ -650,11 +672,14 @@ main(int  argc,                           /* I - Number of command-line args */
   * See if the printer supports SNMP...
   */
 
-  if ((snmp_fd = _cupsSNMPOpen(addrlist->addr.addr.sa_family)) >= 0)
-  {
+  if (snmp_enabled)
+    snmp_fd = _cupsSNMPOpen(addrlist->addr.addr.sa_family);
+  else
+    snmp_fd = -1;
+
+  if (snmp_fd >= 0)
     have_supplies = !backendSNMPSupplies(snmp_fd, &(addrlist->addr),
                                          &start_count, NULL);
-  }
   else
     have_supplies = start_count = 0;
 
@@ -745,7 +770,7 @@ main(int  argc,                             /* I - Number of command-line args */
          case ECONNREFUSED :
          default :
              _cupsLangPrintFilter(stderr, "WARNING",
-                                  _("The printer is busy."));
+                                  _("The printer is in use."));
              break;
         }
 
@@ -768,7 +793,9 @@ main(int  argc,                             /* I - Number of command-line args */
   }
   while (http->fd < 0);
 
-  if (job_canceled || !http)
+  if (job_canceled)
+    return (CUPS_BACKEND_OK);
+  else if (!http)
     return (CUPS_BACKEND_FAILED);
 
   update_reasons(NULL, "-connecting-to-device");
@@ -860,7 +887,7 @@ main(int  argc,                             /* I - Number of command-line args */
          return (CUPS_BACKEND_FAILED);
        }
 
-       _cupsLangPrintFilter(stderr, "INFO", _("The printer is busy."));
+       _cupsLangPrintFilter(stderr, "INFO", _("The printer is in use."));
 
         report_printer_state(supported);
 
@@ -878,14 +905,14 @@ main(int  argc,                           /* I - Number of command-line args */
         if (version >= 20)
        {
          _cupsLangPrintFilter(stderr, "INFO",
-                              _("Printer does not support IPP/%d.%d, trying "
+                              _("The printer does not support IPP/%d.%d, trying "
                                 "IPP/%s."), version / 10, version % 10, "1.1");
          version = 11;
        }
        else
        {
          _cupsLangPrintFilter(stderr, "INFO",
-                              _("Printer does not support IPP/%d.%d, trying "
+                              _("The printer does not support IPP/%d.%d, trying "
                                 "IPP/%s."), version / 10, version % 10, "1.0");
          version = 10;
         }
@@ -921,6 +948,8 @@ main(int  argc,                             /* I - Number of command-line args */
        _cupsLangPrintFilter(stderr, "ERROR",
                             _("Unable to get printer status."));
         sleep(10);
+
+       httpReconnect(http);
       }
 
       ippDelete(supported);
@@ -948,9 +977,15 @@ main(int  argc,                            /* I - Number of command-line args */
 
       if ((printer_state = ippFindAttribute(supported,
                                            "printer-state-reasons",
-                                           IPP_TAG_KEYWORD)) != NULL && !busy)
+                                           IPP_TAG_KEYWORD)) == NULL)
+      {
+        update_reasons(NULL, "+cups-ipp-conformance-failure-report,"
+                            "cups-ipp-missing-printer-state-reasons");
+      }
+      else if (!busy)
       {
        for (i = 0; i < printer_state->num_values; i ++)
+       {
          if (!strcmp(printer_state->values[0].string.text,
                      "spool-area-full") ||
              !strncmp(printer_state->values[0].string.text, "spool-area-full-",
@@ -959,14 +994,12 @@ main(int  argc,                           /* I - Number of command-line args */
            busy = 1;
            break;
          }
+       }
       }
-      else
-        update_reasons(NULL, "+cups-ipp-conformance-failure-report,"
-                            "cups-ipp-missing-printer-state-reasons");
 
       if (busy)
       {
-       _cupsLangPrintFilter(stderr, "INFO", _("The printer is busy."));
+       _cupsLangPrintFilter(stderr, "INFO", _("The printer is in use."));
 
        report_printer_state(supported);
 
@@ -1025,6 +1058,12 @@ main(int  argc,                          /* I - Number of command-line args */
     if ((operations_sup = ippFindAttribute(supported, "operations-supported",
                                           IPP_TAG_ENUM)) != NULL)
     {
+      fprintf(stderr, "DEBUG: operations-supported (%d values)\n",
+              operations_sup->num_values);
+      for (i = 0; i < operations_sup->num_values; i ++)
+        fprintf(stderr, "DEBUG: [%d] = %s\n", i,
+                ippOpString(operations_sup->values[i].integer));
+
       for (i = 0; i < operations_sup->num_values; i ++)
         if (operations_sup->values[i].integer == IPP_PRINT_JOB)
          break;
@@ -1065,13 +1104,18 @@ main(int  argc,                         /* I - Number of command-line args */
          create_job = 1;
         else if (operations_sup->values[i].integer == IPP_SEND_DOCUMENT)
          send_document = 1;
+        else if (operations_sup->values[i].integer == IPP_GET_JOB_ATTRIBUTES)
+         get_job_attrs = 1;
       }
 
-      if (!send_document)
+      if (create_job && !send_document)
       {
         fputs("DEBUG: Printer supports Create-Job but not Send-Document.\n",
               stderr);
         create_job = 0;
+
+       update_reasons(NULL, "+cups-ipp-conformance-failure-report,"
+                             "cups-ipp-missing-send-document");
       }
 
       if (!validate_job)
@@ -1088,7 +1132,10 @@ main(int  argc,                          /* I - Number of command-line args */
 
     report_printer_state(supported);
   }
-  while (ipp_status > IPP_OK_CONFLICT);
+  while (!job_canceled && ipp_status > IPP_OK_CONFLICT);
+
+  if (job_canceled)
+    return (CUPS_BACKEND_OK);
 
  /*
   * See if the printer is accepting jobs and is not stopped; if either
@@ -1139,12 +1186,7 @@ main(int  argc,                          /* I - Number of command-line args */
   copies = atoi(argv[4]);
 
   if (copies_sup || argc < 7)
-  {
     copies_remaining = 1;
-
-    if (argc < 7 && !_cups_strncasecmp(final_content_type, "image/", 6))
-      copies = 1;
-  }
   else
     copies_remaining = copies;
 
@@ -1245,6 +1287,17 @@ main(int  argc,                          /* I - Number of command-line args */
   }
 
  /*
+  * If the printer only claims to support IPP/1.0, or if the user specifically
+  * included version=1.0 in the URI, then do not try to use Create-Job or
+  * Send-Document.  This is another dreaded compatibility hack, but
+  * unfortunately there are enough broken printers out there that we need
+  * this for now...
+  */
+
+  if (version == 10)
+    create_job = send_document = 0;
+
+ /*
   * Start monitoring the printer in the background...
   */
 
@@ -1255,6 +1308,7 @@ main(int  argc,                           /* I - Number of command-line args */
   monitor.port          = port;
   monitor.version       = version;
   monitor.job_id        = 0;
+  monitor.get_job_attrs = get_job_attrs;
   monitor.encryption    = cupsEncryption();
   monitor.job_state     = IPP_JOB_PENDING;
   monitor.printer_state = IPP_PRINTER_IDLE;
@@ -1295,9 +1349,11 @@ main(int  argc,                          /* I - Number of command-line args */
 
     if (ipp_status == IPP_SERVICE_UNAVAILABLE || ipp_status == IPP_PRINTER_BUSY)
     {
-      _cupsLangPrintFilter(stderr, "INFO", _("The printer is busy."));
+      _cupsLangPrintFilter(stderr, "INFO", _("The printer is in use."));
       sleep(10);
     }
+    else if (ipp_status == IPP_DOCUMENT_FORMAT)
+      goto cleanup;
     else if (ipp_status == IPP_FORBIDDEN ||
             ipp_status == IPP_AUTHENTICATION_CANCELED)
     {
@@ -1444,7 +1500,7 @@ main(int  argc,                           /* I - Number of command-line args */
           ipp_status == IPP_NOT_POSSIBLE ||
          ipp_status == IPP_PRINTER_BUSY)
       {
-       _cupsLangPrintFilter(stderr, "INFO", _("The printer is busy."));
+       _cupsLangPrintFilter(stderr, "INFO", _("The printer is in use."));
        sleep(10);
 
        if (num_files == 0)
@@ -1457,10 +1513,9 @@ main(int  argc,                          /* I - Number of command-line args */
          goto cleanup;
        }
       }
-      else if (ipp_status == IPP_ERROR_JOB_CANCELED)
+      else if (ipp_status == IPP_ERROR_JOB_CANCELED ||
+               ipp_status == IPP_NOT_AUTHORIZED)
         goto cleanup;
-      else if (ipp_status == IPP_NOT_AUTHORIZED)
-        continue;
       else
       {
        /*
@@ -1554,13 +1609,17 @@ main(int  argc,                         /* I - Number of command-line args */
          ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_NAME,
                        "requesting-user-name", NULL, argv[2]);
 
-        if ((i + 1) >= num_files)
-         ippAddBoolean(request, IPP_TAG_OPERATION, "last-document", 1);
+       ippAddBoolean(request, IPP_TAG_OPERATION, "last-document",
+                     (i + 1) >= num_files);
 
        if (document_format)
          ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_MIMETYPE,
                       "document-format", NULL, document_format);
 
+        if (compression)
+         ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_KEYWORD,
+                      "compression", NULL, compression);
+
        fprintf(stderr, "DEBUG: Sending file %d using chunking...\n", i + 1);
        http_status = cupsSendRequest(http, request, resource, 0);
        if (http_status == HTTP_CONTINUE && request->state == IPP_DATA)
@@ -1636,13 +1695,70 @@ main(int  argc,                         /* I - Number of command-line args */
     else if (ipp_status == IPP_SERVICE_UNAVAILABLE ||
              ipp_status == IPP_NOT_POSSIBLE ||
             ipp_status == IPP_PRINTER_BUSY)
+    {
+      if (argc == 6)
+      {
+       /*
+        * Need to reprocess the entire job; if we have a job ID, cancel the
+        * job first...
+        */
+
+       if (job_id > 0)
+         cancel_job(http, uri, job_id, resource, argv[2], version);
+
+        goto cleanup;
+      }
       continue;
-    else if (ipp_status == IPP_REQUEST_VALUE)
+    }
+    else if (ipp_status == IPP_REQUEST_VALUE ||
+             ipp_status == IPP_ERROR_JOB_CANCELED ||
+             ipp_status == IPP_NOT_AUTHORIZED ||
+             ipp_status == IPP_INTERNAL_ERROR)
+    {
+     /*
+      * Print file is too large, job was canceled, we need new
+      * authentication data, or we had some sort of error...
+      */
+
+      goto cleanup;
+    }
+    else if (ipp_status == IPP_UPGRADE_REQUIRED)
     {
      /*
-      * Print file is too large, abort this job...
+      * Server is configured incorrectly; the policy for Create-Job and
+      * Send-Document has to be the same (auth or no auth, encryption or
+      * no encryption).  Force the queue to stop since printing will never
+      * work.
       */
 
+      fputs("DEBUG: The server or printer is configured incorrectly.\n",
+            stderr);
+      fputs("DEBUG: The policy for Create-Job and Send-Document must have the "
+            "same authentication and encryption requirements.\n", stderr);
+
+      ipp_status = IPP_INTERNAL_ERROR;
+
+      if (job_id > 0)
+       cancel_job(http, uri, job_id, resource, argv[2], version);
+
+      goto cleanup;
+    }
+    else if (ipp_status == IPP_NOT_FOUND)
+    {
+     /*
+      * Printer does not actually implement support for Create-Job/
+      * Send-Document, so log the conformance issue and stop the printer.
+      */
+
+      fputs("DEBUG: This printer claims to support Create-Job and "
+            "Send-Document, but those operations failed.\n", stderr);
+      fputs("DEBUG: Add '?version=1.0' to the device URI to use legacy "
+            "compatibility mode.\n", stderr);
+      update_reasons(NULL, "+cups-ipp-conformance-failure-report,"
+                          "cups-ipp-missing-send-document");
+
+      ipp_status = IPP_INTERNAL_ERROR; /* Force queue to stop */
+
       goto cleanup;
     }
     else
@@ -1652,7 +1768,7 @@ main(int  argc,                           /* I - Number of command-line args */
     * Wait for the job to complete...
     */
 
-    if (!job_id || !waitjob)
+    if (!job_id || !waitjob || !get_job_attrs)
       continue;
 
     _cupsLangPrintFilter(stderr, "INFO", _("Waiting for job to complete."));
@@ -1695,7 +1811,7 @@ main(int  argc,                           /* I - Number of command-line args */
       response   = cupsDoRequest(http, request, resource);
       ipp_status = cupsLastError();
 
-      if (ipp_status == IPP_NOT_FOUND)
+      if (ipp_status == IPP_NOT_FOUND || ipp_status == IPP_NOT_POSSIBLE)
       {
        /*
         * Job has gone away and/or the server has no job history...
@@ -1717,7 +1833,6 @@ main(int  argc,                           /* I - Number of command-line args */
       else
       {
        if (ipp_status != IPP_SERVICE_UNAVAILABLE &&
-           ipp_status != IPP_NOT_POSSIBLE &&
            ipp_status != IPP_PRINTER_BUSY)
        {
          ippDelete(response);
@@ -1782,6 +1897,9 @@ main(int  argc,                           /* I - Number of command-line args */
 
       ippDelete(response);
 
+      if (cupsLastError() <= IPP_OK_CONFLICT)
+        password_tries = 0;
+
      /*
       * Wait before polling again...
       */
@@ -1796,7 +1914,7 @@ main(int  argc,                           /* I - Number of command-line args */
   * Cancel the job as needed...
   */
 
-  if (job_canceled && job_id)
+  if (job_canceled > 0 && job_id > 0)
     cancel_job(http, uri, job_id, resource, argv[2], version);
 
  /*
@@ -1805,12 +1923,16 @@ main(int  argc,                         /* I - Number of command-line args */
 
   check_printer_state(http, uri, resource, argv[2], version);
 
+  if (cupsLastError() <= IPP_OK_CONFLICT)
+    password_tries = 0;
+
  /*
   * Collect the final page count as needed...
   */
 
   if (have_supplies &&
-      !backendSNMPSupplies(snmp_fd, http->hostaddr, &page_count, NULL) &&
+      !backendSNMPSupplies(snmp_fd, &(http->addrlist->addr), &page_count,
+                           NULL) &&
       page_count > start_count)
     fprintf(stderr, "PAGE: total %d\n", page_count - start_count);
 
@@ -1865,21 +1987,25 @@ main(int  argc,                         /* I - Number of command-line args */
     return (CUPS_BACKEND_AUTH_REQUIRED);
   else if (ipp_status == IPP_INTERNAL_ERROR)
     return (CUPS_BACKEND_STOP);
-  else if (ipp_status == IPP_DOCUMENT_FORMAT ||
-           ipp_status == IPP_CONFLICT)
+  else if (ipp_status == IPP_CONFLICT)
     return (CUPS_BACKEND_FAILED);
-  else if (ipp_status == IPP_REQUEST_VALUE)
+  else if (ipp_status == IPP_REQUEST_VALUE ||
+           ipp_status == IPP_DOCUMENT_FORMAT || job_canceled < 0)
   {
-    _cupsLangPrintFilter(stderr, "ERROR", _("Print job too large."));
+    if (ipp_status == IPP_REQUEST_VALUE)
+      _cupsLangPrintFilter(stderr, "ERROR", _("Print job too large."));
+    else if (ipp_status == IPP_DOCUMENT_FORMAT)
+      _cupsLangPrintFilter(stderr, "ERROR",
+                           _("Printer cannot print supplied content."));
+    else
+      _cupsLangPrintFilter(stderr, "ERROR", _("Print job canceled at printer."));
+
     return (CUPS_BACKEND_CANCEL);
   }
   else if (ipp_status > IPP_OK_CONFLICT && ipp_status != IPP_ERROR_JOB_CANCELED)
     return (CUPS_BACKEND_RETRY_CURRENT);
   else
-  {
-    _cupsLangPrintFilter(stderr, "INFO", _("Ready to print."));
     return (CUPS_BACKEND_OK);
-  }
 }
 
 
@@ -1975,9 +2101,6 @@ check_printer_state(
   fprintf(stderr, "DEBUG: Get-Printer-Attributes: %s (%s)\n",
          ippErrorString(cupsLastError()), cupsLastErrorString());
 
-  if (cupsLastError() <= IPP_OK_CONFLICT)
-    password_tries = 0;
-
  /*
   * Return the printer-state value...
   */
@@ -2076,6 +2199,7 @@ monitor_printer(
   const char   *job_name;              /* Job name */
   ipp_jstate_t job_state;              /* Job state */
   const char   *job_user;              /* Job originating user name */
+  int          password_tries = 0;     /* Password tries */
 
 
  /*
@@ -2087,7 +2211,7 @@ monitor_printer(
   httpSetTimeout(http, 30.0, timeout_cb, NULL);
   if (username[0])
     cupsSetUser(username);
-  cupsSetPasswordCB(password_cb);
+  cupsSetPasswordCB2((cups_password_cb2_t)password_cb, &password_tries);
 
  /*
   * Loop until the job is canceled, aborted, or completed.
@@ -2111,12 +2235,15 @@ monitor_printer(
                                                    monitor->resource,
                                                   monitor->user,
                                                   monitor->version);
+      if (cupsLastError() <= IPP_OK_CONFLICT)
+        password_tries = 0;
 
      /*
       * Check the status of the job itself...
       */
 
-      job_op  = monitor->job_id > 0 ? IPP_GET_JOB_ATTRIBUTES : IPP_GET_JOBS;
+      job_op  = (monitor->job_id > 0 && monitor->get_job_attrs) ?
+                    IPP_GET_JOB_ATTRIBUTES : IPP_GET_JOBS;
       request = ippNewRequest(job_op);
       request->request.op.version[0] = monitor->version / 10;
       request->request.op.version[1] = monitor->version % 10;
@@ -2141,7 +2268,7 @@ monitor_printer(
 
       response = cupsDoRequest(http, request, monitor->resource);
 
-      fprintf(stderr, "DEBUG: %s: %s (%s)\n", ippOpString(job_op),
+      fprintf(stderr, "DEBUG: (monitor) %s: %s (%s)\n", ippOpString(job_op),
              ippErrorString(cupsLastError()), cupsLastErrorString());
 
       if (cupsLastError() <= IPP_OK_CONFLICT)
@@ -2205,6 +2332,14 @@ monitor_printer(
 
       ippDelete(response);
 
+      fprintf(stderr, "DEBUG: (monitor) job-state=%s\n",
+              ippEnumString("job-state", monitor->job_state));
+
+      if (!job_canceled &&
+          (monitor->job_state == IPP_JOB_CANCELED ||
+          monitor->job_state == IPP_JOB_ABORTED))
+       job_canceled = -1;
+
      /*
       * Disconnect from the printer - we'll reconnect on the next poll...
       */
@@ -2225,7 +2360,7 @@ monitor_printer(
   * Cancel the job if necessary...
   */
 
-  if (job_canceled && monitor->job_id > 0)
+  if (job_canceled > 0 && monitor->job_id > 0)
     if (!httpReconnect(http))
       cancel_job(http, monitor->uri, monitor->job_id, monitor->resource,
                  monitor->user, monitor->version);
@@ -2306,7 +2441,7 @@ new_request(
     fprintf(stderr, "DEBUG: job-name=\"%s\"\n", title);
   }
 
-  if (format)
+  if (format && op != IPP_CREATE_JOB)
   {
     ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_MIMETYPE,
                 "document-format", NULL, format);
@@ -2314,7 +2449,7 @@ new_request(
   }
 
 #ifdef HAVE_LIBZ
-  if (compression)
+  if (compression && op != IPP_CREATE_JOB)
   {
     ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_KEYWORD,
                 "compression", NULL, compression);
@@ -2453,9 +2588,46 @@ new_request(
                       NULL, "two-sided-short-edge");
       }
 
-      if (doc_handling_sup &&
-          (!format || _cups_strncasecmp(format, "image/", 6)) &&
-         (keyword = cupsGetOption("collate", num_options, options)) != NULL)
+      if ((keyword = cupsGetOption("multiple-document-handling",
+                                  num_options, options)) != NULL)
+      {
+        if (strstr(keyword, "uncollated"))
+          keyword = "false";
+        else
+          keyword = "true";
+      }
+      else if ((keyword = cupsGetOption("collate", num_options,
+                                        options)) == NULL)
+        keyword = "true";
+
+      if (format)
+      {
+        if (!_cups_strcasecmp(format, "image/gif") ||
+           !_cups_strcasecmp(format, "image/jp2") ||
+           !_cups_strcasecmp(format, "image/jpeg") ||
+           !_cups_strcasecmp(format, "image/png") ||
+           !_cups_strcasecmp(format, "image/tiff") ||
+           !_cups_strncasecmp(format, "image/x-", 8))
+       {
+        /*
+         * Collation makes no sense for single page image formats...
+         */
+
+         keyword = "false";
+       }
+       else if (!_cups_strncasecmp(format, "image/", 6) ||
+                !_cups_strcasecmp(format, "application/vnd.cups-raster"))
+       {
+        /*
+         * Multi-page image formats will have copies applied by the upstream
+         * filters...
+         */
+
+         copies = 1;
+       }
+      }
+
+      if (doc_handling_sup)
       {
         if (!_cups_strcasecmp(keyword, "true"))
          collate_str = "separate-documents-collated-copies";
@@ -2469,6 +2641,9 @@ new_request(
                         "multiple-document-handling", NULL, collate_str);
            break;
           }
+
+        if (i >= doc_handling_sup->num_values)
+          copies = 1;
       }
 
      /*
@@ -2514,10 +2689,10 @@ new_request(
       * When talking to another CUPS server, send all options...
       */
 
-      cupsEncodeOptions(request, num_options, options);
+      cupsEncodeOptions2(request, num_options, options, IPP_TAG_JOB);
     }
 
-    if (copies > 1)
+    if (copies > 1 && (!pc || copies <= pc->max_copies))
       ippAddInteger(request, IPP_TAG_JOB, IPP_TAG_INTEGER, "copies", copies);
   }
 
@@ -2530,12 +2705,20 @@ new_request(
  */
 
 static const char *                    /* O - Password  */
-password_cb(const char *prompt)                /* I - Prompt (not used) */
+password_cb(const char *prompt,                /* I - Prompt (not used) */
+            http_t     *http,          /* I - Connection */
+            const char *method,                /* I - Request method (not used) */
+            const char *resource,      /* I - Resource path (not used) */
+            int        *password_tries)        /* I - Password tries */
 {
-  fprintf(stderr, "DEBUG: password_cb(prompt=\"%s\"), password=%p, "
-          "password_tries=%d\n", prompt, password, password_tries);
+  fprintf(stderr, "DEBUG: password_cb(prompt=\"%s\", http=%p, method=\"%s\", "
+                  "resource=\"%s\", password_tries=%p(%d)), password=%p\n",
+          prompt, http, method, resource, password_tries, *password_tries,
+          password);
 
   (void)prompt;
+  (void)method;
+  (void)resource;
 
  /*
   * Remember that we need to authenticate...
@@ -2543,9 +2726,9 @@ password_cb(const char *prompt)           /* I - Prompt (not used) */
 
   auth_info_required = "username,password";
 
-  if (password && *password && password_tries < 3)
+  if (password && *password && *password_tries < 3)
   {
-    password_tries ++;
+    (*password_tries) ++;
 
     return (password);
   }
@@ -2770,8 +2953,7 @@ report_printer_state(ipp_t *ipp)  /* I - IPP response */
  */
 
 static int                             /* O - Exit status */
-run_as_user(int        argc,           /* I - Number of command-line args */
-           char       *argv[],         /* I - Command-line arguments */
+run_as_user(char       *argv[],                /* I - Command-line arguments */
            uid_t      uid,             /* I - User ID */
            const char *device_uri,     /* I - Device URI */
            int        fd)              /* I - File to print */
@@ -2962,6 +3144,8 @@ sigterm_handler(int sig)          /* I - Signal */
 {
   (void)sig;   /* remove compiler warnings... */
 
+  write(2, "DEBUG: Got SIGTERM.\n", 20);
+
 #if defined(HAVE_GSSAPI) && defined(HAVE_XPC)
   if (child_pid)
   {
@@ -2976,6 +3160,8 @@ sigterm_handler(int sig)          /* I - Signal */
     * Flag that the job should be canceled...
     */
 
+    write(2, "DEBUG: job_canceled = 1.\n", 25);
+
     job_canceled = 1;
     return;
   }
@@ -3205,5 +3391,5 @@ update_reasons(ipp_attribute_t *attr,     /* I - printer-state-reasons or NULL */
 }
 
 /*
- * End of "$Id: ipp.c 10452 2012-05-04 23:00:01Z mike $".
+ * End of "$Id: ipp.c 11221 2013-08-06 16:16:01Z msweet $".
  */
index 7837b34..8436f99 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: lpd.c 10265 2012-02-12 07:20:10Z mike $"
+ * "$Id: lpd.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Line Printer Daemon backend for CUPS.
  *
@@ -92,7 +92,7 @@ static int    lpd_queue(const char *hostname, http_addrlist_t *addrlist,
                          int mode, const char *user, const char *title,
                          int copies, int banner, int format, int order,
                          int reserve, int manual_copies, int timeout,
-                         int contimeout);
+                         int contimeout, const char *orighost);
 static int     lpd_write(int lpd_fd, char *buffer, int length);
 #ifndef HAVE_RRESVPORT_AF
 static int     rresvport_af(int *port, int family);
@@ -126,6 +126,7 @@ main(int  argc,                             /* I - Number of command-line arguments (6 or 7) */
   int          port;                   /* Port number */
   char         portname[256];          /* Port name (string) */
   http_addrlist_t *addrlist;           /* List of addresses for printer */
+  int          snmp_enabled = 1;       /* Is SNMP enabled? */
   int          snmp_fd;                /* SNMP socket */
   int          fd;                     /* Print file */
   int          status;                 /* Status of LPD job */
@@ -144,6 +145,8 @@ main(int  argc,                             /* I - Number of command-line arguments (6 or 7) */
 #if defined(HAVE_SIGACTION) && !defined(HAVE_SIGSET)
   struct sigaction action;             /* Actions for POSIX signals */
 #endif /* HAVE_SIGACTION && !HAVE_SIGSET */
+  int          num_jobopts;            /* Number of job options */
+  cups_option_t        *jobopts = NULL;        /* Job options */
 
 
  /*
@@ -191,6 +194,8 @@ main(int  argc,                             /* I - Number of command-line arguments (6 or 7) */
     return (CUPS_BACKEND_FAILED);
   }
 
+  num_jobopts = cupsParseOptions(argv[5], 0, &jobopts);
+
  /*
   * Extract the hostname and printer name from the URI...
   */
@@ -352,7 +357,8 @@ main(int  argc,                             /* I - Number of command-line arguments (6 or 7) */
        */
 
         if (!value[0] || !_cups_strcasecmp(value, "on") ||
-           !_cups_strcasecmp(value, "yes") || !_cups_strcasecmp(value, "true") ||
+           !_cups_strcasecmp(value, "yes") ||
+           !_cups_strcasecmp(value, "true") ||
            !_cups_strcasecmp(value, "rfc1179"))
          reserve = RESERVE_RFC1179;
        else if (!_cups_strcasecmp(value, "any"))
@@ -367,7 +373,8 @@ main(int  argc,                             /* I - Number of command-line arguments (6 or 7) */
        */
 
         manual_copies = !value[0] || !_cups_strcasecmp(value, "on") ||
-                       !_cups_strcasecmp(value, "yes") || !_cups_strcasecmp(value, "true");
+                       !_cups_strcasecmp(value, "yes") ||
+                       !_cups_strcasecmp(value, "true");
       }
       else if (!_cups_strcasecmp(name, "sanitize_title"))
       {
@@ -376,7 +383,18 @@ main(int  argc,                            /* I - Number of command-line arguments (6 or 7) */
        */
 
         sanitize_title = !value[0] || !_cups_strcasecmp(value, "on") ||
-                        !_cups_strcasecmp(value, "yes") || !_cups_strcasecmp(value, "true");
+                        !_cups_strcasecmp(value, "yes") ||
+                        !_cups_strcasecmp(value, "true");
+      }
+      else if (!_cups_strcasecmp(name, "snmp"))
+      {
+        /*
+         * Enable/disable SNMP stuff...
+         */
+
+         snmp_enabled = !value[0] || !_cups_strcasecmp(value, "on") ||
+                        _cups_strcasecmp(value, "yes") ||
+                        _cups_strcasecmp(value, "true");
       }
       else if (!_cups_strcasecmp(name, "timeout"))
       {
@@ -424,7 +442,10 @@ main(int  argc,                            /* I - Number of command-line arguments (6 or 7) */
     }
   }
 
-  snmp_fd = _cupsSNMPOpen(addrlist->addr.addr.sa_family);
+  if (snmp_enabled)
+    snmp_fd = _cupsSNMPOpen(addrlist->addr.addr.sa_family);
+  else
+    snmp_fd = -1;
 
  /*
   * Wait for data from the filter...
@@ -525,7 +546,9 @@ main(int  argc,                             /* I - Number of command-line arguments (6 or 7) */
 
     status = lpd_queue(hostname, addrlist, resource + 1, fd, snmp_fd, mode,
                        username, title, copies, banner, format, order, reserve,
-                      manual_copies, timeout, contimeout);
+                      manual_copies, timeout, contimeout,
+                      cupsGetOption("job-originating-host-name", num_jobopts,
+                                    jobopts));
 
     if (!status)
       fprintf(stderr, "PAGE: 1 %d\n", atoi(argv[4]));
@@ -533,7 +556,9 @@ main(int  argc,                             /* I - Number of command-line arguments (6 or 7) */
   else
     status = lpd_queue(hostname, addrlist, resource + 1, fd, snmp_fd, mode,
                        username, title, 1, banner, format, order, reserve, 1,
-                      timeout, contimeout);
+                      timeout, contimeout,
+                      cupsGetOption("job-originating-host-name", num_jobopts,
+                                    jobopts));
 
  /*
   * Remove the temporary file if necessary...
@@ -608,7 +633,7 @@ lpd_command(int  fd,                /* I - Socket connection to LPD host */
 
   if (recv(fd, &status, 1, 0) < 1)
   {
-    _cupsLangPrintFilter(stderr, "WARNING", _("Printer did not respond."));
+    _cupsLangPrintFilter(stderr, "WARNING", _("The printer did not respond."));
     status = errno;
   }
 
@@ -638,7 +663,8 @@ lpd_queue(const char      *hostname,        /* I - Host to connect to */
          int             reserve,      /* I - Reserve ports? */
          int             manual_copies,/* I - Do copies by hand... */
          int             timeout,      /* I - Timeout... */
-         int             contimeout)   /* I - Connection timeout */
+         int             contimeout,   /* I - Connection timeout */
+         const char      *orighost)    /* I - job-originating-host-name */
 {
   char                 localhost[255]; /* Local host name */
   int                  error;          /* Error number */
@@ -816,7 +842,7 @@ lpd_queue(const char      *hostname,        /* I - Host to connect to */
          case ECONNREFUSED :
          default :
              _cupsLangPrintFilter(stderr, "WARNING",
-                                  _("The printer is busy."));
+                                  _("The printer is in use."));
              break;
         }
 
@@ -927,7 +953,10 @@ lpd_queue(const char      *hostname,       /* I - Host to connect to */
       return (CUPS_BACKEND_FAILED);
     }
 
-    httpGetHostname(NULL, localhost, sizeof(localhost));
+    if (orighost && _cups_strcasecmp(orighost, "localhost"))
+      strlcpy(localhost, orighost, sizeof(localhost));
+    else
+      httpGetHostname(NULL, localhost, sizeof(localhost));
 
     snprintf(control, sizeof(control),
              "H%.31s\n"                /* RFC 1179, Section 7.2 - host name <= 31 chars */
@@ -994,7 +1023,7 @@ lpd_queue(const char      *hostname,       /* I - Host to connect to */
         if (read(fd, &status, 1) < 1)
        {
          _cupsLangPrintFilter(stderr, "WARNING",
-                              _("Printer did not respond."));
+                              _("The printer did not respond."));
          status = errno;
        }
       }
@@ -1076,7 +1105,7 @@ lpd_queue(const char      *hostname,      /* I - Host to connect to */
           if (recv(fd, &status, 1, 0) < 1)
          {
            _cupsLangPrintFilter(stderr, "WARNING",
-                                _("Printer did not respond."));
+                                _("The printer did not respond."));
            status = 0;
           }
        }
@@ -1126,7 +1155,7 @@ lpd_queue(const char      *hostname,      /* I - Host to connect to */
         if (read(fd, &status, 1) < 1)
        {
          _cupsLangPrintFilter(stderr, "WARNING",
-                              _("Printer did not respond."));
+                              _("The printer did not respond."));
          status = errno;
        }
       }
@@ -1302,5 +1331,5 @@ sigterm_handler(int sig)          /* I - Signal */
 
 
 /*
- * End of "$Id: lpd.c 10265 2012-02-12 07:20:10Z mike $".
+ * End of "$Id: lpd.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index d5827c4..e66f49b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: network.c 9578 2011-03-04 18:44:47Z mike $"
+ * "$Id: network.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Common backend network APIs for CUPS.
  *
@@ -71,7 +71,7 @@ backendNetworkSideCB(
 {
   cups_sc_command_t    command;        /* Request command */
   cups_sc_status_t     status;         /* Request/response status */
-  char                 data[2048];     /* Request/response data */
+  char                 data[65536];    /* Request/response data */
   int                  datalen;        /* Request/response data size */
   const char           *device_id;     /* 1284DEVICEID env var */
 
@@ -92,7 +92,7 @@ backendNetworkSideCB(
          status = CUPS_SC_STATUS_NOT_IMPLEMENTED;
        else if (backendDrainOutput(print_fd, device_fd))
          status = CUPS_SC_STATUS_IO_ERROR;
-       else 
+       else
           status = CUPS_SC_STATUS_OK;
 
        datalen = 0;
@@ -119,8 +119,35 @@ backendNetworkSideCB(
 
         if (snmp_fd >= 0)
        {
+         char          *dataptr;       /* Pointer into data */
          cups_snmp_t   packet;         /* Packet from printer */
+          const char   *snmp_value;    /* CUPS_SNMP_VALUE env var */
 
+          if ((snmp_value = getenv("CUPS_SNMP_VALUE")) != NULL)
+          {
+            const char *snmp_count;    /* CUPS_SNMP_COUNT env var */
+            int                count;          /* Repetition count */
+
+            if ((snmp_count = getenv("CUPS_SNMP_COUNT")) != NULL)
+            {
+              if ((count = atoi(snmp_count)) <= 0)
+                count = 1;
+            }
+            else
+              count = 1;
+
+           for (dataptr = data + strlen(data) + 1;
+                count > 0 && dataptr < (data + sizeof(data) - 1);
+                count --, dataptr += strlen(dataptr))
+             strlcpy(dataptr, snmp_value, sizeof(data) - (dataptr - data));
+
+           fprintf(stderr, "DEBUG: Returning %s %s\n", data,
+                   data + strlen(data) + 1);
+
+           status  = CUPS_SC_STATUS_OK;
+           datalen = dataptr - data;
+           break;
+          }
 
           if (!_cupsSNMPStringToOID(data, packet.object_name, CUPS_SNMP_MAX_OID))
          {
@@ -141,7 +168,6 @@ backendNetworkSideCB(
           {
            if (_cupsSNMPRead(snmp_fd, &packet, 1.0))
            {
-             char      *dataptr;       /* Pointer into data */
              int       i;              /* Looping var */
 
 
@@ -172,7 +198,7 @@ backendNetworkSideCB(
                case CUPS_ASN1_OCTET_STRING :
                    if (packet.object_value.string.num_bytes < 0)
                      i = 0;
-                   else if (packet.object_value.string.num_bytes < 
+                   else if (packet.object_value.string.num_bytes <
                             (sizeof(data) - (dataptr - data)))
                      i = packet.object_value.string.num_bytes;
                    else
@@ -296,5 +322,5 @@ backendNetworkSideCB(
 
 
 /*
- * End of "$Id: network.c 9578 2011-03-04 18:44:47Z mike $".
+ * End of "$Id: network.c 11173 2013-07-23 12:31:34Z msweet $".
  */
diff --git a/backend/org.cups.usb-quirks b/backend/org.cups.usb-quirks
new file mode 100644 (file)
index 0000000..567d715
--- /dev/null
@@ -0,0 +1,214 @@
+# USB backend 'quirks' file.
+#
+# This file lists known issues with various vendors or printers.  Each
+# line contains either a comment (starting with #) or the USB vendor ID,
+# product ID (omit for all vendor products), and a list of known issues:
+#
+#   blacklist     The printer is not functional with the USB backend.
+#   no-reattach   Do no re-attach usblp kernel module after printing.
+#   soft-reset    Do a soft reset after printing for cleanup.
+#   unidir        Only supported unidirectional I/O
+#   usb-init      Needs vendor USB initialization string.
+#   vendor-class  Uses vendor-specific class or subclass.
+#   whitelist     The printer is functional with the USB backend.
+
+# HP DeskJet 895C
+0x03f0 0x0004 unidir
+
+# HP DeskJet 880C
+0x03f0 0x0104 unidir
+
+# HP DeskJet 815C
+0x03f0 0x0204 unidir
+
+# HP DeskJet 810C/812C
+0x03f0 0x0304 unidir
+
+# HP DeskJet 830C
+0x03f0 0x0404 unidir
+
+# HP DeskJet 885C
+0x03f0 0x0504 unidir
+
+# HP DeskJet 840C
+0x03f0 0x0604 unidir
+
+# HP DeskJet 816C
+0x03f0 0x0804 unidir
+
+# HP Deskjet 959C
+0x03f0 0x1104 unidir
+
+# NEC Picty900 (HP OEM)
+0x0409 0xefbe unidir
+
+# NEC Picty760 (HP OEM)
+0x0409 0xbef4 unidir
+
+# NEC Picty920 (HP OEM)
+0x0409 0xf0be unidir
+
+# NEC Picty800 (HP OEM)
+0x0409 0xf1be unidir
+
+# Lexmark International, Inc. (e250d), https://bugs.launchpad.net/bugs/1084164
+0x043d 0x00f3 no-reattach
+
+# Kyocera Mita FS 820, by zut <kernel@zut.de>
+0x0482 0x0010 unidir
+
+# Canon, Inc. PIXMA iP6000D Printer, https://bugs.launchpad.net/bugs/1160638
+0x04a9 0x1095 unidir
+
+# Canon, Inc. PIXMA iP4200 Printer, http://www.cups.org/str.php?L4155
+0x04a9 0x10a2 unidir
+
+# Canon, Inc. PIXMA iP4300 Printer, https://bugs.launchpad.net/bugs/1032385
+0x04a9 0x10b6 unidir
+
+# Canon, Inc. MP210 https://bugzilla.redhat.com/show_bug.cgi?id=847923#c53
+0x04a9 0x1721 unidir
+
+# Canon, Inc. MP500 Printer, https://bugs.launchpad.net/bugs/1032456
+0x04a9 0x170c unidir
+
+# Canon, Inc. MP510 Printer, https://bugs.launchpad.net/bugs/1050009
+0x04a9 0x1717 unidir
+
+# Canon, Inc. MP550 Printer, http://www.cups.org/str.php?L4155
+0x04a9 0x173d unidir
+
+# Canon, Inc. MP560 Printer, http://www.cups.org/str.php?L4155
+0x04a9 0x173e unidir
+
+# Canon, Inc. MF4150 Printer, https://bugs.launchpad.net/bugs/1160638
+0x04a9 0x26a3 no-reattach
+
+# Brother Industries, Ltd HL-1430 Laser Printer, https://bugs.launchpad.net/bugs/1038695
+0x04f9 0x001a no-reattach
+
+# Brother Industries, Ltd HL-1440 Laser Printer, https://bugs.launchpad.net/bugs/1000253
+0x04f9 0x000d no-reattach unidir
+
+# Brother Industries, Ltd HL-1450 Laser Printer, https://bugs.launchpad.net/bugs/1000253
+0x04f9 0x000e no-reattach unidir
+
+# Oki Data Corp. Okipage 14ex Printer, https://bugs.launchpad.net/bugs/872483
+0x06bc 0x000b no-reattach
+
+# Oki Data Corp. B410d, https://bugs.launchpad.net/bugs/872483
+0x06bc 0x01c7 no-reattach
+
+# Seiko Epson Corp. Stylus Color 740 / Photo 750, http://bugs.debian.org/697970
+0x04b8 0x0001 no-reattach unidir
+
+# Seiko Epson Corp. Stylus Color 670, https://bugs.launchpad.net/bugs/872483
+0x04b8 0x0005 no-reattach
+
+# Seiko Epson Receipt Printer M129C
+0x04b8 0x0202 vendor-class
+
+# Prolific Technology, Inc. PL2305 Parallel Port (USB -> Parallel adapter), https://bugs.launchpad.net/bugs/987485
+0x067b 0x2305 no-reattach soft-reset unidir
+
+# Xerox Phaser 3124 https://bugzilla.redhat.com/show_bug.cgi?id=867392
+0x0924 0x3ce9 no-reattach
+
+# Xerox WorkCentre 3210 https://bugs.launchpad.net/bugs/1102470
+0x0924 0x4293 no-reattach
+
+# QinHeng Electronics CH340S (USB -> Parallel adapter), https://bugs.launchpad.net/bugs/1000253
+0x1a86 0x7584 no-reattach
+
+# All Samsung devices, https://bugs.launchpad.net/bugs/1032456
+0x04e8 soft-reset
+
+# All Zebra devices, https://bugs.launchpad.net/bugs/1001028
+0x0a5f unidir
+
+# Canon CP-10
+0x04a9 0x304a blacklist
+
+# Canon CP-100
+0x04a9 0x3063 blacklist
+
+# Canon CP-200
+0x04a9 0x307c blacklist
+
+# Canon CP-300
+0x04a9 0x307d blacklist
+
+# Canon CP-220
+0x04a9 0x30bd blacklist
+
+# Canon CP-330
+0x04a9 0x30be blacklist
+
+# Canon SELPHY CP400
+0x04a9 0x30f6 blacklist
+
+# Canon SELPHY CP600
+0x04a9 0x310b blacklist
+
+# Canon SELPHY CP710
+0x04a9 0x3127 blacklist
+
+# Canon SELPHY CP510
+0x04a9 0x3128 blacklist
+
+# Canon SELPHY ES1
+0x04a9 0x3141 blacklist
+
+# Canon SELPHY CP730
+0x04a9 0x3142 blacklist
+
+# Canon SELPHY CP720
+0x04a9 0x3143 blacklist
+
+# Canon SELPHY CP750
+0x04a9 0x3170 blacklist
+
+# Canon SELPHY CP740
+0x04a9 0x3171 blacklist
+
+# Canon SELPHY ES2
+0x04a9 0x3185 blacklist
+
+# Canon SELPHY ES20
+0x04a9 0x3186 blacklist
+
+# Canon SELPHY CP770
+0x04a9 0x31aa blacklist
+
+# Canon SELPHY CP760
+0x04a9 0x31ab blacklist
+
+# Canon SELPHY ES30
+0x04a9 0x31b0 blacklist
+
+# Canon SELPHY CP780
+0x04a9 0x31dd blacklist
+
+# Canon SELPHY ES40
+0x04a9 0x31ee blacklist
+
+# Canon SELPHY CP800
+0x04a9 0x3214 blacklist
+
+# Canon SELPHY CP900
+0x04a9 0x3255 blacklist
+
+# Canon SELPHY CP810
+0x04a9 0x3256 blacklist
+
+# Canon SELPHY CP500
+0x04a9 0x30f5 blacklist
+
+# Canon SELPHY ES3
+0x04a9 0x31af blacklist
+
+# Canon SELPHY CP780
+0x04a9 0x31dd blacklist
+
+# Lexmark E238 (<rdar://problem/14493054>)
+0x043d 0x00d7 no-reattach
diff --git a/backend/parallel.c b/backend/parallel.c
deleted file mode 100644 (file)
index a475f0e..0000000
+++ /dev/null
@@ -1,676 +0,0 @@
-/*
- * "$Id: parallel.c 9774 2011-05-12 06:15:14Z mike $"
- *
- *   Parallel port backend for CUPS.
- *
- *   Copyright 2007-2011 by Apple Inc.
- *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   "LICENSE" which should have been included with this file.  If this
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- *   This file is subject to the Apple OS-Developed Software exception.
- *
- * Contents:
- *
- *   main()         - Send a file to the specified parallel port.
- *   list_devices() - List all parallel devices.
- *   side_cb()      - Handle side-channel requests...
- */
-
-/*
- * Include necessary headers.
- */
-
-#include "backend-private.h"
-
-#ifdef __hpux
-#  include <sys/time.h>
-#else
-#  include <sys/select.h>
-#endif /* __hpux */
-
-#ifdef WIN32
-#  include <io.h>
-#else
-#  include <unistd.h>
-#  include <fcntl.h>
-#  include <termios.h>
-#  include <sys/socket.h>
-#endif /* WIN32 */
-
-#ifdef __sgi
-#  include <invent.h>
-#  ifndef INV_EPP_ECP_PLP
-#    define INV_EPP_ECP_PLP    6       /* From 6.3/6.4/6.5 sys/invent.h */
-#    define INV_ASO_SERIAL     14      /* serial portion of SGI ASO board */
-#    define INV_IOC3_DMA       16      /* DMA mode IOC3 serial */
-#    define INV_IOC3_PIO       17      /* PIO mode IOC3 serial */
-#    define INV_ISA_DMA                19      /* DMA mode ISA serial -- O2 */
-#  endif /* !INV_EPP_ECP_PLP */
-#endif /* __sgi */
-
-
-/*
- * Local functions...
- */
-
-static void    list_devices(void);
-static int     side_cb(int print_fd, int device_fd, int snmp_fd,
-                       http_addr_t *addr, int use_bc);
-
-
-/*
- * 'main()' - Send a file to the specified parallel port.
- *
- * Usage:
- *
- *    printer-uri job-id user title copies options [file]
- */
-
-int                                    /* O - Exit status */
-main(int  argc,                                /* I - Number of command-line arguments (6 or 7) */
-     char *argv[])                     /* I - Command-line arguments */
-{
-  char         method[255],            /* Method in URI */
-               hostname[1024],         /* Hostname */
-               username[255],          /* Username info (not used) */
-               resource[1024],         /* Resource info (device and options) */
-               *options;               /* Pointer to options */
-  int          port;                   /* Port number (not used) */
-  int          print_fd,               /* Print file */
-               device_fd,              /* Parallel device */
-               use_bc;                 /* Read back-channel data? */
-  int          copies;                 /* Number of copies to print */
-  ssize_t      tbytes;                 /* Total number of bytes written */
-  struct termios opts;                 /* Parallel port options */
-#if defined(HAVE_SIGACTION) && !defined(HAVE_SIGSET)
-  struct sigaction action;             /* Actions for POSIX signals */
-#endif /* HAVE_SIGACTION && !HAVE_SIGSET */
-
-
- /*
-  * Make sure status messages are not buffered...
-  */
-
-  setbuf(stderr, NULL);
-
- /*
-  * Ignore SIGPIPE signals...
-  */
-
-#ifdef HAVE_SIGSET
-  sigset(SIGPIPE, SIG_IGN);
-#elif defined(HAVE_SIGACTION)
-  memset(&action, 0, sizeof(action));
-  action.sa_handler = SIG_IGN;
-  sigaction(SIGPIPE, &action, NULL);
-#else
-  signal(SIGPIPE, SIG_IGN);
-#endif /* HAVE_SIGSET */
-
- /*
-  * Check command-line...
-  */
-
-  if (argc == 1)
-  {
-    list_devices();
-    return (CUPS_BACKEND_OK);
-  }
-  else if (argc < 6 || argc > 7)
-  {
-    _cupsLangPrintf(stderr,
-                   _("Usage: %s job-id user title copies options [file]"),
-                   argv[0]);
-    return (CUPS_BACKEND_FAILED);
-  }
-
- /*
-  * If we have 7 arguments, print the file named on the command-line.
-  * Otherwise, send stdin instead...
-  */
-
-  if (argc == 6)
-  {
-    print_fd = 0;
-    copies   = 1;
-  }
-  else
-  {
-   /*
-    * Try to open the print file...
-    */
-
-    if ((print_fd = open(argv[6], O_RDONLY)) < 0)
-    {
-      _cupsLangPrintError("ERROR", _("Unable to open print file"));
-      return (CUPS_BACKEND_FAILED);
-    }
-
-    copies = atoi(argv[4]);
-  }
-
- /*
-  * Extract the device name and options from the URI...
-  */
-
-  httpSeparateURI(HTTP_URI_CODING_ALL, cupsBackendDeviceURI(argv),
-                  method, sizeof(method), username, sizeof(username),
-                 hostname, sizeof(hostname), &port,
-                 resource, sizeof(resource));
-
- /*
-  * See if there are any options...
-  */
-
-  if ((options = strchr(resource, '?')) != NULL)
-  {
-   /*
-    * Yup, terminate the device name string and move to the first
-    * character of the options...
-    */
-
-    *options++ = '\0';
-  }
-
- /*
-  * Open the parallel port device...
-  */
-
-  fputs("STATE: +connecting-to-device\n", stderr);
-
-  do
-  {
-#if defined(__linux) || defined(__FreeBSD__)
-   /*
-    * The Linux and FreeBSD parallel port drivers currently are broken WRT
-    * select() and bidirection I/O...
-    */
-
-    device_fd = open(resource, O_WRONLY | O_EXCL);
-    use_bc    = 0;
-
-#else
-    if ((device_fd = open(resource, O_RDWR | O_EXCL)) < 0)
-    {
-      device_fd = open(resource, O_WRONLY | O_EXCL);
-      use_bc    = 0;
-    }
-    else
-      use_bc = 1;
-#endif /* __linux || __FreeBSD__ */
-
-    if (device_fd == -1)
-    {
-      if (getenv("CLASS") != NULL)
-      {
-       /*
-        * If the CLASS environment variable is set, the job was submitted
-       * to a class and not to a specific queue.  In this case, we want
-       * to abort immediately so that the job can be requeued on the next
-       * available printer in the class.
-       */
-
-        _cupsLangPrintFilter(stderr, "INFO",
-                            _("Unable to contact printer, queuing on next "
-                              "printer in class."));
-
-       /*
-        * Sleep 5 seconds to keep the job from requeuing too rapidly...
-       */
-
-       sleep(5);
-
-        return (CUPS_BACKEND_FAILED);
-      }
-
-      if (errno == EBUSY)
-      {
-        _cupsLangPrintFilter(stderr, "INFO",
-                            _("Printer busy; will retry in 30 seconds."));
-       sleep(30);
-      }
-      else if (errno == ENXIO || errno == EIO || errno == ENOENT)
-      {
-        _cupsLangPrintFilter(stderr, "INFO",
-                            _("Printer not connected; will retry in 30 "
-                              "seconds."));
-       sleep(30);
-      }
-      else
-      {
-       _cupsLangPrintError("ERROR", _("Unable to open device file"));
-       return (CUPS_BACKEND_FAILED);
-      }
-    }
-  }
-  while (device_fd < 0);
-
-  fputs("STATE: -connecting-to-device\n", stderr);
-
- /*
-  * Set any options provided...
-  */
-
-  tcgetattr(device_fd, &opts);
-
-  opts.c_lflag &= ~(ICANON | ECHO | ISIG);     /* Raw mode */
-
-  /**** No options supported yet ****/
-
-  tcsetattr(device_fd, TCSANOW, &opts);
-
- /*
-  * Finally, send the print file...
-  */
-
-  tbytes = 0;
-
-  while (copies > 0 && tbytes >= 0)
-  {
-    copies --;
-
-    if (print_fd != 0)
-    {
-      fputs("PAGE: 1 1\n", stderr);
-      lseek(print_fd, 0, SEEK_SET);
-    }
-
-    tbytes = backendRunLoop(print_fd, device_fd, -1, NULL, use_bc, 1, side_cb);
-
-    if (print_fd != 0 && tbytes >= 0)
-      _cupsLangPrintFilter(stderr, "INFO", _("Print file sent."));
-  }
-
- /*
-  * Close the socket connection and input file and return...
-  */
-
-  close(device_fd);
-
-  if (print_fd != 0)
-    close(print_fd);
-
-  return (CUPS_BACKEND_OK);
-}
-
-
-/*
- * 'list_devices()' - List all parallel devices.
- */
-
-static void
-list_devices(void)
-{
-#if defined(__hpux) || defined(__sgi) || defined(__sun)
-  static char  *funky_hex = "0123456789abcdefghijklmnopqrstuvwxyz";
-                               /* Funky hex numbering used for some devices */
-#endif /* __hpux || __sgi || __sun */
-
-#ifdef __linux
-  int  i;                      /* Looping var */
-  int  fd;                     /* File descriptor */
-  char device[255],            /* Device filename */
-       basedevice[255],        /* Base device filename for ports */
-       device_id[1024],        /* Device ID string */
-       make_model[1024],       /* Make and model */
-       info[1024],             /* Info string */
-       uri[1024];              /* Device URI */
-
-
-  if (!access("/dev/parallel/", 0))
-    strcpy(basedevice, "/dev/parallel/");
-  else if (!access("/dev/printers/", 0))
-    strcpy(basedevice, "/dev/printers/");
-  else
-    strcpy(basedevice, "/dev/lp");
-
-  for (i = 0; i < 4; i ++)
-  {
-   /*
-    * Open the port, if available...
-    */
-
-    sprintf(device, "%s%d", basedevice, i);
-    if ((fd = open(device, O_RDWR | O_EXCL)) < 0)
-      fd = open(device, O_WRONLY);
-
-    if (fd >= 0)
-    {
-     /*
-      * Now grab the IEEE 1284 device ID string...
-      */
-
-      snprintf(uri, sizeof(uri), "parallel:%s", device);
-
-      if (!backendGetDeviceID(fd, device_id, sizeof(device_id),
-                              make_model, sizeof(make_model),
-                             NULL, uri, sizeof(uri)))
-      {
-        snprintf(info, sizeof(info), "%s LPT #%d", make_model, i + 1);
-       cupsBackendReport("direct", uri, make_model, info, device_id, NULL);
-      }
-      else
-      {
-        snprintf(info, sizeof(info), "LPT #%d", i + 1);
-       cupsBackendReport("direct", uri, NULL, info, NULL, NULL);
-      }
-
-      close(fd);
-    }
-  }
-#elif defined(__sgi)
-  int          i, j, n;        /* Looping vars */
-  char         device[255];    /* Device filename */
-  inventory_t  *inv;           /* Hardware inventory info */
-
-
- /*
-  * IRIX maintains a hardware inventory of most devices...
-  */
-
-  setinvent();
-
-  while ((inv = getinvent()) != NULL)
-  {
-    if (inv->inv_class == INV_PARALLEL &&
-        (inv->inv_type == INV_ONBOARD_PLP ||
-         inv->inv_type == INV_EPP_ECP_PLP))
-    {
-     /*
-      * Standard parallel port...
-      */
-
-      puts("direct parallel:/dev/plp \"Unknown\" \"Onboard Parallel Port\"");
-    }
-    else if (inv->inv_class == INV_PARALLEL &&
-             inv->inv_type == INV_EPC_PLP)
-    {
-     /*
-      * EPC parallel port...
-      */
-
-      printf("direct parallel:/dev/plp%d \"Unknown\" \"Integral EPC parallel port, Ebus slot %d\"\n",
-             inv->inv_controller, inv->inv_controller);
-    }
-  }
-
-  endinvent();
-
- /*
-  * Central Data makes serial and parallel "servers" that can be
-  * connected in a number of ways.  Look for ports...
-  */
-
-  for (i = 0; i < 10; i ++)
-    for (j = 0; j < 8; j ++)
-      for (n = 0; n < 32; n ++)
-      {
-        if (i == 8)            /* EtherLite */
-          sprintf(device, "/dev/lpn%d%c", j, funky_hex[n]);
-        else if (i == 9)       /* PCI */
-          sprintf(device, "/dev/lpp%d%c", j, funky_hex[n]);
-        else                   /* SCSI */
-          sprintf(device, "/dev/lp%d%d%c", i, j, funky_hex[n]);
-
-       if (access(device, 0) == 0)
-       {
-         if (i == 8)
-           printf("direct parallel:%s \"Unknown\" \"Central Data EtherLite Parallel Port, ID %d, port %d\"\n",
-                  device, j, n);
-         else if (i == 9)
-           printf("direct parallel:%s \"Unknown\" \"Central Data PCI Parallel Port, ID %d, port %d\"\n",
-                  device, j, n);
-         else
-           printf("direct parallel:%s \"Unknown\" \"Central Data SCSI Parallel Port, logical bus %d, ID %d, port %d\"\n",
-                  device, i, j, n);
-       }
-      }
-#elif defined(__sun)
-  int          i, j, n;        /* Looping vars */
-  char         device[255];    /* Device filename */
-
-
- /*
-  * Standard parallel ports...
-  */
-
-  for (i = 0; i < 10; i ++)
-  {
-    sprintf(device, "/dev/ecpp%d", i);
-    if (access(device, 0) == 0)
-      printf("direct parallel:%s \"Unknown\" \"Sun IEEE-1284 Parallel Port #%d\"\n",
-             device, i + 1);
-  }
-
-  for (i = 0; i < 10; i ++)
-  {
-    sprintf(device, "/dev/bpp%d", i);
-    if (access(device, 0) == 0)
-      printf("direct parallel:%s \"Unknown\" \"Sun Standard Parallel Port #%d\"\n",
-             device, i + 1);
-  }
-
-  for (i = 0; i < 3; i ++)
-  {
-    sprintf(device, "/dev/lp%d", i);
-
-    if (access(device, 0) == 0)
-      printf("direct parallel:%s \"Unknown\" \"PC Parallel Port #%d\"\n",
-             device, i + 1);
-  }
-
- /*
-  * MAGMA parallel ports...
-  */
-
-  for (i = 0; i < 40; i ++)
-  {
-    sprintf(device, "/dev/pm%02d", i);
-    if (access(device, 0) == 0)
-      printf("direct parallel:%s \"Unknown\" \"MAGMA Parallel Board #%d Port #%d\"\n",
-             device, (i / 10) + 1, (i % 10) + 1);
-  }
-
- /*
-  * Central Data parallel ports...
-  */
-
-  for (i = 0; i < 9; i ++)
-    for (j = 0; j < 8; j ++)
-      for (n = 0; n < 32; n ++)
-      {
-        if (i == 8)    /* EtherLite */
-          sprintf(device, "/dev/sts/lpN%d%c", j, funky_hex[n]);
-        else
-          sprintf(device, "/dev/sts/lp%c%d%c", i + 'C', j,
-                  funky_hex[n]);
-
-       if (access(device, 0) == 0)
-       {
-         if (i == 8)
-           printf("direct parallel:%s \"Unknown\" \"Central Data EtherLite Parallel Port, ID %d, port %d\"\n",
-                  device, j, n);
-         else
-           printf("direct parallel:%s \"Unknown\" \"Central Data SCSI Parallel Port, logical bus %d, ID %d, port %d\"\n",
-                  device, i, j, n);
-       }
-      }
-#elif defined(__hpux)
-  int          i, j, n;        /* Looping vars */
-  char         device[255];    /* Device filename */
-
-
- /*
-  * Standard parallel ports...
-  */
-
-  if (access("/dev/rlp", 0) == 0)
-    puts("direct parallel:/dev/rlp \"Unknown\" \"Standard Parallel Port (/dev/rlp)\"");
-
-  for (i = 0; i < 7; i ++)
-    for (j = 0; j < 7; j ++)
-    {
-      sprintf(device, "/dev/c%dt%dd0_lp", i, j);
-      if (access(device, 0) == 0)
-       printf("direct parallel:%s \"Unknown\" \"Parallel Port #%d,%d\"\n",
-              device, i, j);
-    }
-
- /*
-  * Central Data parallel ports...
-  */
-
-  for (i = 0; i < 9; i ++)
-    for (j = 0; j < 8; j ++)
-      for (n = 0; n < 32; n ++)
-      {
-        if (i == 8)    /* EtherLite */
-          sprintf(device, "/dev/lpN%d%c", j, funky_hex[n]);
-        else
-          sprintf(device, "/dev/lp%c%d%c", i + 'C', j,
-                  funky_hex[n]);
-
-       if (access(device, 0) == 0)
-       {
-         if (i == 8)
-           printf("direct parallel:%s \"Unknown\" \"Central Data EtherLite Parallel Port, ID %d, port %d\"\n",
-                  device, j, n);
-         else
-           printf("direct parallel:%s \"Unknown\" \"Central Data SCSI Parallel Port, logical bus %d, ID %d, port %d\"\n",
-                  device, i, j, n);
-       }
-      }
-#elif defined(__osf__)
-  int  i;                      /* Looping var */
-  int  fd;                     /* File descriptor */
-  char device[255];            /* Device filename */
-
-
-  for (i = 0; i < 3; i ++)
-  {
-    sprintf(device, "/dev/lp%d", i);
-    if ((fd = open(device, O_WRONLY)) >= 0)
-    {
-      close(fd);
-      printf("direct parallel:%s \"Unknown\" \"Parallel Port #%d\"\n", device, i + 1);
-    }
-  }
-#elif defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__DragonFly__) || defined(__FreeBSD_kernel__)
-  int  i;                      /* Looping var */
-  int  fd;                     /* File descriptor */
-  char device[255];            /* Device filename */
-
-
-  for (i = 0; i < 3; i ++)
-  {
-    sprintf(device, "/dev/lpt%d", i);
-    if ((fd = open(device, O_WRONLY)) >= 0)
-    {
-      close(fd);
-      printf("direct parallel:%s \"Unknown\" \"Parallel Port #%d (interrupt-driven)\"\n", device, i + 1);
-    }
-
-    sprintf(device, "/dev/lpa%d", i);
-    if ((fd = open(device, O_WRONLY)) >= 0)
-    {
-      close(fd);
-      printf("direct parallel:%s \"Unknown\" \"Parallel Port #%d (polled)\"\n", device, i + 1);
-    }
-  }
-#elif defined(_AIX)
-  int  i;                      /* Looping var */
-  int  fd;                     /* File descriptor */
-  char device[255];            /* Device filename */
-
-
-  for (i = 0; i < 8; i ++)
-  {
-    sprintf(device, "/dev/lp%d", i);
-    if ((fd = open(device, O_WRONLY)) >= 0)
-    {
-      close(fd);
-      printf("direct parallel:%s \"Unknown\" \"Parallel Port #%d\"\n", device, i + 1);
-    }
-  }
-#endif
-}
-
-
-/*
- * 'side_cb()' - Handle side-channel requests...
- */
-
-static int                             /* O - 0 on success, -1 on error */
-side_cb(int         print_fd,          /* I - Print file */
-        int         device_fd,         /* I - Device file */
-        int         snmp_fd,           /* I - SNMP socket (unused) */
-       http_addr_t *addr,              /* I - Device address (unused) */
-       int         use_bc)             /* I - Using back-channel? */
-{
-  cups_sc_command_t    command;        /* Request command */
-  cups_sc_status_t     status;         /* Request/response status */
-  char                 data[2048];     /* Request/response data */
-  int                  datalen;        /* Request/response data size */
-
-
-  (void)snmp_fd;
-  (void)addr;
-
-  datalen = sizeof(data);
-
-  if (cupsSideChannelRead(&command, &status, data, &datalen, 1.0))
-    return (-1);
-
-  switch (command)
-  {
-    case CUPS_SC_CMD_DRAIN_OUTPUT :
-        if (backendDrainOutput(print_fd, device_fd))
-         status = CUPS_SC_STATUS_IO_ERROR;
-       else if (tcdrain(device_fd))
-         status = CUPS_SC_STATUS_IO_ERROR;
-       else
-         status = CUPS_SC_STATUS_OK;
-
-       datalen = 0;
-        break;
-
-    case CUPS_SC_CMD_GET_BIDI :
-       status  = CUPS_SC_STATUS_OK;
-        data[0] = use_bc;
-        datalen = 1;
-        break;
-
-    case CUPS_SC_CMD_GET_DEVICE_ID :
-        memset(data, 0, sizeof(data));
-
-        if (backendGetDeviceID(device_fd, data, sizeof(data) - 1,
-                              NULL, 0, NULL, NULL, 0))
-        {
-         status  = CUPS_SC_STATUS_NOT_IMPLEMENTED;
-         datalen = 0;
-       }
-       else
-        {
-         status  = CUPS_SC_STATUS_OK;
-         datalen = strlen(data);
-       }
-        break;
-
-    default :
-        status  = CUPS_SC_STATUS_NOT_IMPLEMENTED;
-       datalen = 0;
-       break;
-  }
-
-  return (cupsSideChannelWrite(command, status, data, datalen, 1.0));
-}
-
-
-/*
- * End of "$Id: parallel.c 9774 2011-05-12 06:15:14Z mike $".
- */
old mode 100755 (executable)
new mode 100644 (file)
index 6cb4178..5a81a61 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: runloop.c 10369 2012-03-21 04:31:19Z mike $"
+ * "$Id: runloop.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Common run loop APIs for CUPS backends.
  *
@@ -92,7 +92,8 @@ backendDrainOutput(int print_fd,      /* I - Print file descriptor */
 
       if (errno != EAGAIN || errno != EINTR)
       {
-        _cupsLangPrintError("ERROR", _("Unable to read print data"));
+       fprintf(stderr, "DEBUG: Read failed: %s\n", strerror(errno));
+       _cupsLangPrintFilter(stderr, "ERROR", _("Unable to read print data."));
        return (-1);
       }
 
@@ -250,7 +251,7 @@ backendRunLoop(
        {
          fputs("STATE: +offline-report\n", stderr);
          _cupsLangPrintFilter(stderr, "INFO",
-                              _("Printer is not currently connected."));
+                              _("The printer is not connected."));
          offline = 1;
        }
        else if (errno == EINTR && total_bytes == 0)
@@ -319,7 +320,9 @@ backendRunLoop(
 
        if (errno != EAGAIN || errno != EINTR)
        {
-         _cupsLangPrintError("ERROR", _("Unable to read print data"));
+         fprintf(stderr, "DEBUG: Read failed: %s\n", strerror(errno));
+         _cupsLangPrintFilter(stderr, "ERROR",
+                              _("Unable to read print data."));
          return (-1);
        }
 
@@ -368,7 +371,7 @@ backendRunLoop(
          {
            fputs("STATE: +offline-report\n", stderr);
            _cupsLangPrintFilter(stderr, "INFO",
-                                _("Printer is not currently connected."));
+                                _("The printer is not connected."));
            offline = 1;
          }
        }
@@ -389,7 +392,8 @@ backendRunLoop(
        if (offline && update_state)
        {
          fputs("STATE: -offline-report\n", stderr);
-         _cupsLangPrintFilter(stderr, "INFO", _("Printer is now connected."));
+         _cupsLangPrintFilter(stderr, "INFO",
+                              _("The printer is now connected."));
          offline = 0;
        }
 
@@ -436,7 +440,7 @@ backendWaitLoop(
 {
   int                  nfds;           /* Number of file descriptors */
   fd_set               input;          /* Input set for reading */
-  time_t               curtime,        /* Current time */
+  time_t               curtime = 0,    /* Current time */
                        snmp_update = 0;/* Last SNMP status update */
   struct timeval       timeout;        /* Timeout for select() */
 
@@ -535,5 +539,5 @@ backendWaitLoop(
 
 
 /*
- * End of "$Id: runloop.c 10369 2012-03-21 04:31:19Z mike $".
+ * End of "$Id: runloop.c 11173 2013-07-23 12:31:34Z msweet $".
  */
diff --git a/backend/serial.c b/backend/serial.c
deleted file mode 100644 (file)
index 4f350a1..0000000
+++ /dev/null
@@ -1,1327 +0,0 @@
-/*
- * "$Id: serial.c 9793 2011-05-20 03:49:49Z mike $"
- *
- *   Serial port backend for CUPS.
- *
- *   Copyright 2007-2011 by Apple Inc.
- *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   "LICENSE" which should have been included with this file.  If this
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- *   This file is subject to the Apple OS-Developed Software exception.
- *
- * Contents:
- *
- *   main()         - Send a file to the printer or server.
- *   list_devices() - List all serial devices.
- *   side_cb()      - Handle side-channel requests...
- */
-
-/*
- * Include necessary headers.
- */
-
-#include "backend-private.h"
-#include <stdio.h>
-
-#ifdef __hpux
-#  include <sys/modem.h>
-#endif /* __hpux */
-
-#ifdef WIN32
-#  include <io.h>
-#else
-#  include <unistd.h>
-#  include <fcntl.h>
-#  include <termios.h>
-#  ifdef __hpux
-#    include <sys/time.h>
-#  else
-#    include <sys/select.h>
-#  endif /* __hpux */
-#  ifdef HAVE_SYS_IOCTL_H
-#    include <sys/ioctl.h>
-#  endif /* HAVE_SYS_IOCTL_H */
-#endif /* WIN32 */
-
-#ifdef __sgi
-#  include <invent.h>
-#  ifndef INV_EPP_ECP_PLP
-#    define INV_EPP_ECP_PLP    6       /* From 6.3/6.4/6.5 sys/invent.h */
-#    define INV_ASO_SERIAL     14      /* serial portion of SGI ASO board */
-#    define INV_IOC3_DMA       16      /* DMA mode IOC3 serial */
-#    define INV_IOC3_PIO       17      /* PIO mode IOC3 serial */
-#    define INV_ISA_DMA                19      /* DMA mode ISA serial -- O2 */
-#  endif /* !INV_EPP_ECP_PLP */
-#endif /* __sgi */
-
-#ifndef CRTSCTS
-#  ifdef CNEW_RTSCTS
-#    define CRTSCTS CNEW_RTSCTS
-#  else
-#    define CRTSCTS 0
-#  endif /* CNEW_RTSCTS */
-#endif /* !CRTSCTS */
-
-#if defined(__APPLE__)
-#  include <CoreFoundation/CoreFoundation.h>
-#  include <IOKit/IOKitLib.h>
-#  include <IOKit/serial/IOSerialKeys.h>
-#  include <IOKit/IOBSD.h>
-#endif /* __APPLE__ */
-
-#if defined(__linux) && defined(TIOCGSERIAL)
-#  include <linux/serial.h>
-#  include <linux/ioctl.h>
-#endif /* __linux && TIOCGSERIAL */
-
-
-/*
- * Local functions...
- */
-
-static void    list_devices(void);
-static int     side_cb(int print_fd, int device_fd, int use_bc);
-
-
-/*
- * 'main()' - Send a file to the printer or server.
- *
- * Usage:
- *
- *    printer-uri job-id user title copies options [file]
- */
-
-int                                    /* O - Exit status */
-main(int  argc,                                /* I - Number of command-line arguments (6 or 7) */
-     char *argv[])                     /* I - Command-line arguments */
-{
-  char         method[255],            /* Method in URI */
-               hostname[1024],         /* Hostname */
-               username[255],          /* Username info (not used) */
-               resource[1024],         /* Resource info (device and options) */
-               *options,               /* Pointer to options */
-               *name,                  /* Name of option */
-               *value,                 /* Value of option */
-               sep;                    /* Option separator */
-  int          port;                   /* Port number (not used) */
-  int          copies;                 /* Number of copies to print */
-  int          side_eof = 0,           /* Saw EOF on side-channel? */
-               print_fd,               /* Print file */
-               device_fd;              /* Serial device */
-  int          nfds;                   /* Maximum file descriptor value + 1 */
-  fd_set       input,                  /* Input set for reading */
-               output;                 /* Output set for writing */
-  ssize_t      print_bytes,            /* Print bytes read */
-               bc_bytes,               /* Backchannel bytes read */
-               total_bytes,            /* Total bytes written */
-               bytes;                  /* Bytes written */
-  int          dtrdsr;                 /* Do dtr/dsr flow control? */
-  int          print_size;             /* Size of output buffer for writes */
-  char         print_buffer[8192],     /* Print data buffer */
-               *print_ptr,             /* Pointer into print data buffer */
-               bc_buffer[1024];        /* Back-channel data buffer */
-  struct termios opts;                 /* Serial port options */
-  struct termios origopts;             /* Original port options */
-#if defined(HAVE_SIGACTION) && !defined(HAVE_SIGSET)
-  struct sigaction action;             /* Actions for POSIX signals */
-#endif /* HAVE_SIGACTION && !HAVE_SIGSET */
-
-
- /*
-  * Make sure status messages are not buffered...
-  */
-
-  setbuf(stderr, NULL);
-
- /*
-  * Ignore SIGPIPE signals...
-  */
-
-#ifdef HAVE_SIGSET
-  sigset(SIGPIPE, SIG_IGN);
-#elif defined(HAVE_SIGACTION)
-  memset(&action, 0, sizeof(action));
-  action.sa_handler = SIG_IGN;
-  sigaction(SIGPIPE, &action, NULL);
-#else
-  signal(SIGPIPE, SIG_IGN);
-#endif /* HAVE_SIGSET */
-
- /*
-  * Check command-line...
-  */
-
-  if (argc == 1)
-  {
-    list_devices();
-    return (CUPS_BACKEND_OK);
-  }
-  else if (argc < 6 || argc > 7)
-  {
-    _cupsLangPrintf(stderr,
-                    _("Usage: %s job-id user title copies options [file]"),
-                   argv[0]);
-    return (CUPS_BACKEND_FAILED);
-  }
-
- /*
-  * If we have 7 arguments, print the file named on the command-line.
-  * Otherwise, send stdin instead...
-  */
-
-  if (argc == 6)
-  {
-    print_fd = 0;
-    copies   = 1;
-  }
-  else
-  {
-   /*
-    * Try to open the print file...
-    */
-
-    if ((print_fd = open(argv[6], O_RDONLY)) < 0)
-    {
-      _cupsLangPrintError("ERROR", _("Unable to open print file"));
-      return (CUPS_BACKEND_FAILED);
-    }
-
-    copies = atoi(argv[4]);
-  }
-
- /*
-  * Extract the device name and options from the URI...
-  */
-
-  httpSeparateURI(HTTP_URI_CODING_ALL, cupsBackendDeviceURI(argv),
-                  method, sizeof(method), username, sizeof(username),
-                 hostname, sizeof(hostname), &port,
-                 resource, sizeof(resource));
-
- /*
-  * See if there are any options...
-  */
-
-  if ((options = strchr(resource, '?')) != NULL)
-  {
-   /*
-    * Yup, terminate the device name string and move to the first
-    * character of the options...
-    */
-
-    *options++ = '\0';
-  }
-
- /*
-  * Open the serial port device...
-  */
-
-  fputs("STATE: +connecting-to-device\n", stderr);
-
-  do
-  {
-    if ((device_fd = open(resource, O_RDWR | O_NOCTTY | O_EXCL |
-                                    O_NDELAY)) == -1)
-    {
-      if (getenv("CLASS") != NULL)
-      {
-       /*
-        * If the CLASS environment variable is set, the job was submitted
-       * to a class and not to a specific queue.  In this case, we want
-       * to abort immediately so that the job can be requeued on the next
-       * available printer in the class.
-       */
-
-        _cupsLangPrintFilter(stderr, "INFO",
-                            _("Unable to contact printer, queuing on next "
-                              "printer in class."));
-
-       /*
-        * Sleep 5 seconds to keep the job from requeuing too rapidly...
-       */
-
-       sleep(5);
-
-        return (CUPS_BACKEND_FAILED);
-      }
-
-      if (errno == EBUSY)
-      {
-        _cupsLangPrintFilter(stderr, "INFO",
-                            _("Printer busy; will retry in 30 seconds."));
-       sleep(30);
-      }
-      else
-      {
-       _cupsLangPrintError("ERROR", _("Unable to open device file"));
-       return (CUPS_BACKEND_FAILED);
-      }
-    }
-  }
-  while (device_fd < 0);
-
-  fputs("STATE: -connecting-to-device\n", stderr);
-
- /*
-  * Set any options provided...
-  */
-
-  tcgetattr(device_fd, &origopts);
-  tcgetattr(device_fd, &opts);
-
-  opts.c_lflag &= ~(ICANON | ECHO | ISIG);
-                                       /* Raw mode */
-  opts.c_oflag &= ~OPOST;              /* Don't post-process */
-
-  print_size = 96;                     /* 9600 baud / 10 bits/char / 10Hz */
-  dtrdsr     = 0;                      /* No dtr/dsr flow control */
-
-  if (options)
-  {
-    while (*options)
-    {
-     /*
-      * Get the name...
-      */
-
-      name = options;
-
-      while (*options && *options != '=' && *options != '+' && *options != '&')
-        options ++;
-
-      if ((sep = *options) != '\0')
-        *options++ = '\0';
-
-      if (sep == '=')
-      {
-       /*
-        * Get the value...
-       */
-
-        value = options;
-
-       while (*options && *options != '+' && *options != '&')
-         options ++;
-
-        if (*options)
-         *options++ = '\0';
-      }
-      else
-        value = (char *)"";
-
-     /*
-      * Process the option...
-      */
-
-      if (!_cups_strcasecmp(name, "baud"))
-      {
-       /*
-        * Set the baud rate...
-       */
-
-        print_size = atoi(value) / 100;
-
-#if B19200 == 19200
-        cfsetispeed(&opts, atoi(value));
-       cfsetospeed(&opts, atoi(value));
-#else
-        switch (atoi(value))
-       {
-         case 1200 :
-             cfsetispeed(&opts, B1200);
-             cfsetospeed(&opts, B1200);
-             break;
-         case 2400 :
-             cfsetispeed(&opts, B2400);
-             cfsetospeed(&opts, B2400);
-             break;
-         case 4800 :
-             cfsetispeed(&opts, B4800);
-             cfsetospeed(&opts, B4800);
-             break;
-         case 9600 :
-             cfsetispeed(&opts, B9600);
-             cfsetospeed(&opts, B9600);
-             break;
-         case 19200 :
-             cfsetispeed(&opts, B19200);
-             cfsetospeed(&opts, B19200);
-             break;
-         case 38400 :
-             cfsetispeed(&opts, B38400);
-             cfsetospeed(&opts, B38400);
-             break;
-#  ifdef B57600
-         case 57600 :
-             cfsetispeed(&opts, B57600);
-             cfsetospeed(&opts, B57600);
-             break;
-#  endif /* B57600 */
-#  ifdef B115200
-         case 115200 :
-             cfsetispeed(&opts, B115200);
-             cfsetospeed(&opts, B115200);
-             break;
-#  endif /* B115200 */
-#  ifdef B230400
-         case 230400 :
-             cfsetispeed(&opts, B230400);
-             cfsetospeed(&opts, B230400);
-             break;
-#  endif /* B230400 */
-          default :
-             _cupsLangPrintFilter(stderr, "WARNING",
-                                  _("Unsupported baud rate: %s"), value);
-             break;
-       }
-#endif /* B19200 == 19200 */
-      }
-      else if (!_cups_strcasecmp(name, "bits"))
-      {
-       /*
-        * Set number of data bits...
-       */
-
-        switch (atoi(value))
-       {
-         case 7 :
-             opts.c_cflag &= ~CSIZE;
-              opts.c_cflag |= CS7;
-             opts.c_cflag |= PARENB;
-              opts.c_cflag &= ~PARODD;
-              break;
-         case 8 :
-             opts.c_cflag &= ~CSIZE;
-              opts.c_cflag |= CS8;
-             opts.c_cflag &= ~PARENB;
-             break;
-       }
-      }
-      else if (!_cups_strcasecmp(name, "parity"))
-      {
-       /*
-       * Set parity checking...
-       */
-
-       if (!_cups_strcasecmp(value, "even"))
-       {
-         opts.c_cflag |= PARENB;
-          opts.c_cflag &= ~PARODD;
-       }
-       else if (!_cups_strcasecmp(value, "odd"))
-       {
-         opts.c_cflag |= PARENB;
-          opts.c_cflag |= PARODD;
-       }
-       else if (!_cups_strcasecmp(value, "none"))
-         opts.c_cflag &= ~PARENB;
-       else if (!_cups_strcasecmp(value, "space"))
-       {
-        /*
-         * Note: we only support space parity with 7 bits per character...
-         */
-
-         opts.c_cflag &= ~CSIZE;
-          opts.c_cflag |= CS8;
-         opts.c_cflag &= ~PARENB;
-        }
-       else if (!_cups_strcasecmp(value, "mark"))
-       {
-        /*
-         * Note: we only support mark parity with 7 bits per character
-         * and 1 stop bit...
-         */
-
-         opts.c_cflag &= ~CSIZE;
-          opts.c_cflag |= CS7;
-         opts.c_cflag &= ~PARENB;
-          opts.c_cflag |= CSTOPB;
-        }
-      }
-      else if (!_cups_strcasecmp(name, "flow"))
-      {
-       /*
-       * Set flow control...
-       */
-
-       if (!_cups_strcasecmp(value, "none"))
-       {
-         opts.c_iflag &= ~(IXON | IXOFF);
-          opts.c_cflag &= ~CRTSCTS;
-       }
-       else if (!_cups_strcasecmp(value, "soft"))
-       {
-         opts.c_iflag |= IXON | IXOFF;
-          opts.c_cflag &= ~CRTSCTS;
-       }
-       else if (!_cups_strcasecmp(value, "hard") ||
-                !_cups_strcasecmp(value, "rtscts"))
-        {
-         opts.c_iflag &= ~(IXON | IXOFF);
-          opts.c_cflag |= CRTSCTS;
-       }
-       else if (!_cups_strcasecmp(value, "dtrdsr"))
-       {
-         opts.c_iflag &= ~(IXON | IXOFF);
-          opts.c_cflag &= ~CRTSCTS;
-
-         dtrdsr = 1;
-       }
-      }
-      else if (!_cups_strcasecmp(name, "stop"))
-      {
-        switch (atoi(value))
-       {
-         case 1 :
-             opts.c_cflag &= ~CSTOPB;
-             break;
-
-         case 2 :
-             opts.c_cflag |= CSTOPB;
-             break;
-       }
-      }
-    }
-  }
-
-  tcsetattr(device_fd, TCSANOW, &opts);
-  fcntl(device_fd, F_SETFL, 0);
-
- /*
-  * Now that we are "connected" to the port, ignore SIGTERM so that we
-  * can finish out any page data the driver sends (e.g. to eject the
-  * current page...  Only ignore SIGTERM if we are printing data from
-  * stdin (otherwise you can't cancel raw jobs...)
-  */
-
-  if (!print_fd)
-  {
-#ifdef HAVE_SIGSET /* Use System V signals over POSIX to avoid bugs */
-    sigset(SIGTERM, SIG_IGN);
-#elif defined(HAVE_SIGACTION)
-    memset(&action, 0, sizeof(action));
-
-    sigemptyset(&action.sa_mask);
-    action.sa_handler = SIG_IGN;
-    sigaction(SIGTERM, &action, NULL);
-#else
-    signal(SIGTERM, SIG_IGN);
-#endif /* HAVE_SIGSET */
-  }
-
- /*
-  * Figure out the maximum file descriptor value to use with select()...
-  */
-
-  nfds = (print_fd > device_fd ? print_fd : device_fd) + 1;
-
- /*
-  * Finally, send the print file.  Ordinarily we would just use the
-  * backendRunLoop() function, however since we need to use smaller
-  * writes and may need to do DSR/DTR flow control, we duplicate much
-  * of the code here instead...
-  */
-
-  if (print_size > sizeof(print_buffer))
-    print_size = sizeof(print_buffer);
-
-  total_bytes = 0;
-
-  while (copies > 0)
-  {
-    copies --;
-
-    if (print_fd != 0)
-    {
-      fputs("PAGE: 1 1\n", stderr);
-      lseek(print_fd, 0, SEEK_SET);
-    }
-
-   /*
-    * Now loop until we are out of data from print_fd...
-    */
-
-    for (print_bytes = 0, print_ptr = print_buffer;;)
-    {
-     /*
-      * Use select() to determine whether we have data to copy around...
-      */
-
-      FD_ZERO(&input);
-      if (!print_bytes)
-       FD_SET(print_fd, &input);
-      FD_SET(device_fd, &input);
-      if (!print_bytes && !side_eof)
-        FD_SET(CUPS_SC_FD, &input);
-
-      FD_ZERO(&output);
-      if (print_bytes)
-       FD_SET(device_fd, &output);
-
-      if (select(nfds, &input, &output, NULL, NULL) < 0)
-       continue;                       /* Ignore errors here */
-
-     /*
-      * Check if we have a side-channel request ready...
-      */
-
-      if (FD_ISSET(CUPS_SC_FD, &input))
-      {
-       /*
-       * Do the side-channel request, then start back over in the select
-       * loop since it may have read from print_fd...
-       */
-
-        if (side_cb(print_fd, device_fd, 1))
-         side_eof = 1;
-       continue;
-      }
-
-     /*
-      * Check if we have back-channel data ready...
-      */
-
-      if (FD_ISSET(device_fd, &input))
-      {
-       if ((bc_bytes = read(device_fd, bc_buffer, sizeof(bc_buffer))) > 0)
-       {
-         fprintf(stderr,
-                 "DEBUG: Received " CUPS_LLFMT " bytes of back-channel data\n",
-                 CUPS_LLCAST bc_bytes);
-          cupsBackChannelWrite(bc_buffer, bc_bytes, 1.0);
-       }
-      }
-
-     /*
-      * Check if we have print data ready...
-      */
-
-      if (FD_ISSET(print_fd, &input))
-      {
-       if ((print_bytes = read(print_fd, print_buffer, print_size)) < 0)
-       {
-        /*
-          * Read error - bail if we don't see EAGAIN or EINTR...
-         */
-
-         if (errno != EAGAIN || errno != EINTR)
-         {
-           perror("DEBUG: Unable to read print data");
-
-            tcsetattr(device_fd, TCSADRAIN, &origopts);
-
-           close(device_fd);
-
-           if (print_fd != 0)
-             close(print_fd);
-
-           return (CUPS_BACKEND_FAILED);
-         }
-
-          print_bytes = 0;
-       }
-       else if (print_bytes == 0)
-       {
-        /*
-          * End of file, break out of the loop...
-         */
-
-          break;
-       }
-
-       print_ptr = print_buffer;
-      }
-
-     /*
-      * Check if the device is ready to receive data and we have data to
-      * send...
-      */
-
-      if (print_bytes && FD_ISSET(device_fd, &output))
-      {
-       if (dtrdsr)
-       {
-        /*
-         * Check the port and sleep until DSR is set...
-         */
-
-         int status;
-
-
-         if (!ioctl(device_fd, TIOCMGET, &status))
-            if (!(status & TIOCM_DSR))
-           {
-            /*
-             * Wait for DSR to go high...
-             */
-
-             fputs("DEBUG: DSR is low; waiting for device...\n", stderr);
-
-              do
-             {
-              /*
-               * Poll every 100ms...
-               */
-
-               usleep(100000);
-
-               if (ioctl(device_fd, TIOCMGET, &status))
-                 break;
-             }
-             while (!(status & TIOCM_DSR));
-
-             fputs("DEBUG: DSR is high; writing to device...\n", stderr);
-            }
-       }
-
-       if ((bytes = write(device_fd, print_ptr, print_bytes)) < 0)
-       {
-        /*
-          * Write error - bail if we don't see an error we can retry...
-         */
-
-         if (errno != EAGAIN && errno != EINTR && errno != ENOTTY)
-         {
-           perror("DEBUG: Unable to write print data");
-
-            tcsetattr(device_fd, TCSADRAIN, &origopts);
-
-           close(device_fd);
-
-           if (print_fd != 0)
-             close(print_fd);
-
-           return (CUPS_BACKEND_FAILED);
-         }
-       }
-       else
-       {
-          fprintf(stderr, "DEBUG: Wrote %d bytes...\n", (int)bytes);
-
-          print_bytes -= bytes;
-         print_ptr   += bytes;
-         total_bytes += bytes;
-       }
-      }
-    }
-  }
-
- /*
-  * Close the serial port and input file and return...
-  */
-
-  tcsetattr(device_fd, TCSADRAIN, &origopts);
-
-  close(device_fd);
-
-  if (print_fd != 0)
-    close(print_fd);
-
-  return (CUPS_BACKEND_OK);
-}
-
-
-/*
- * 'list_devices()' - List all serial devices.
- */
-
-static void
-list_devices(void)
-{
-#if defined(__hpux) || defined(__sgi) || defined(__sun) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || defined(__FreeBSD_kernel__)
-  static char  *funky_hex = "0123456789abcdefghijklmnopqrstuvwxyz";
-                                       /* Funky hex numbering used for some *
-                                        * devices                           */
-#endif /* __hpux || __sgi || __sun || __FreeBSD__ || __OpenBSD__ || __FreeBSD_kernel__ */
-
-
-#ifdef __linux
-  int                  i, j;           /* Looping vars */
-  int                  fd;             /* File descriptor */
-  char                 device[255];    /* Device filename */
-  char                 info[255];      /* Device info/description */
-#  ifdef TIOCGSERIAL
-  struct serial_struct serinfo;        /* serial port info */
-#  endif /* TIOCGSERIAL */
-
-
-  for (i = 0; i < 100; i ++)
-  {
-    sprintf(device, "/dev/ttyS%d", i);
-
-    if ((fd = open(device, O_WRONLY | O_NOCTTY | O_NDELAY)) >= 0)
-    {
-#  ifdef TIOCGSERIAL
-     /*
-      * See if this port exists...
-      */
-
-      serinfo.reserved_char[0] = 0;
-
-      if (!ioctl(fd, TIOCGSERIAL, &serinfo))
-      {
-       if (serinfo.type == PORT_UNKNOWN)
-       {
-        /*
-         * Nope...
-         */
-
-         close(fd);
-         continue;
-       }
-      }
-#  endif /* TIOCGSERIAL */
-
-      close(fd);
-
-      snprintf(info, sizeof(info),
-              _cupsLangString(cupsLangDefault(), _("Serial Port #%d")), i + 1);
-
-#  if defined(_ARCH_PPC) || defined(powerpc) || defined(__powerpc)
-      printf("serial serial:%s?baud=230400 \"Unknown\" \"%s\"\n", device, info);
-#  else
-      printf("serial serial:%s?baud=115200 \"Unknown\" \"%s\"\n", device, info);
-#  endif /* _ARCH_PPC || powerpc || __powerpc */
-    }
-  }
-
-  for (i = 0; i < 16; i ++)
-  {
-    snprintf(info, sizeof(info),
-            _cupsLangString(cupsLangDefault(), _("USB Serial Port #%d")),
-            i + 1);
-
-    sprintf(device, "/dev/usb/ttyUSB%d", i);
-    if ((fd = open(device, O_WRONLY | O_NOCTTY | O_NDELAY)) >= 0)
-    {
-      close(fd);
-      printf("serial serial:%s?baud=230400 \"Unknown\" \"%s\"\n", device, info);
-    }
-
-    sprintf(device, "/dev/ttyUSB%d", i);
-    if ((fd = open(device, O_WRONLY | O_NOCTTY | O_NDELAY)) >= 0)
-    {
-      close(fd);
-      printf("serial serial:%s?baud=230400 \"Unknown\" \"%s\"\n", device, info);
-    }
-  }
-
-  for (i = 0; i < 64; i ++)
-  {
-    for (j = 0; j < 8; j ++)
-    {
-      sprintf(device, "/dev/ttyQ%02de%d", i, j);
-      if ((fd = open(device, O_WRONLY | O_NOCTTY | O_NDELAY)) >= 0)
-      {
-        close(fd);
-
-        printf("serial serial:%s?baud=115200 \"Unknown\" "
-              "\"Equinox ESP %d Port #%d\"\n", device, i, j + 1);
-      }
-    }
-  }
-#elif defined(__sgi)
-  int          i, j, n;        /* Looping vars */
-  char         device[255];    /* Device filename */
-  inventory_t  *inv;           /* Hardware inventory info */
-
-
- /*
-  * IRIX maintains a hardware inventory of most devices...
-  */
-
-  setinvent();
-
-  while ((inv = getinvent()) != NULL)
-  {
-    if (inv->inv_class == INV_SERIAL)
-    {
-     /*
-      * Some sort of serial port...
-      */
-
-      if (inv->inv_type == INV_CDSIO || inv->inv_type == INV_CDSIO_E)
-      {
-       /*
-        * CDSIO port...
-        */
-
-       for (n = 0; n < 6; n ++)
-         printf("serial serial:/dev/ttyd%d?baud=38400 \"Unknown\" \"CDSIO Board %d Serial Port #%d\"\n",
-                n + 5 + 8 * inv->inv_controller, inv->inv_controller, n + 1);
-      }
-      else if (inv->inv_type == INV_EPC_SERIAL)
-      {
-       /*
-        * Everest serial port...
-        */
-
-       if (inv->inv_unit == 0)
-          i = 1;
-       else
-          i = 41 + 4 * (int)inv->inv_controller;
-
-       for (n = 0; n < (int)inv->inv_state; n ++)
-         printf("serial serial:/dev/ttyd%d?baud=38400 \"Unknown\" \"EPC Serial Port %d, Ebus slot %d\"\n",
-                n + i, n + 1, (int)inv->inv_controller);
-      }
-      else if (inv->inv_state > 1)
-      {
-       /*
-        * Standard serial port under IRIX 6.4 and earlier...
-        */
-
-       for (n = 0; n < (int)inv->inv_state; n ++)
-         printf("serial serial:/dev/ttyd%d?baud=38400 \"Unknown\" \"Onboard Serial Port %d\"\n",
-                n + (int)inv->inv_unit + 1, n + (int)inv->inv_unit + 1);
-      }
-      else
-      {
-       /*
-        * Standard serial port under IRIX 6.5 and beyond...
-        */
-
-       printf("serial serial:/dev/ttyd%d?baud=115200 \"Unknown\" \"Onboard Serial Port %d\"\n",
-               (int)inv->inv_controller, (int)inv->inv_controller);
-      }
-    }
-  }
-
-  endinvent();
-
- /*
-  * Central Data makes serial and parallel "servers" that can be
-  * connected in a number of ways.  Look for ports...
-  */
-
-  for (i = 0; i < 10; i ++)
-    for (j = 0; j < 8; j ++)
-      for (n = 0; n < 32; n ++)
-      {
-        if (i == 8)            /* EtherLite */
-          sprintf(device, "/dev/ttydn%d%c", j, funky_hex[n]);
-        else if (i == 9)       /* PCI */
-          sprintf(device, "/dev/ttydp%d%c", j, funky_hex[n]);
-        else                   /* SCSI */
-          sprintf(device, "/dev/ttyd%d%d%c", i, j, funky_hex[n]);
-
-       if (access(device, 0) == 0)
-       {
-         if (i == 8)
-           printf("serial serial:%s?baud=38400 \"Unknown\" \"Central Data EtherLite Serial Port, ID %d, port %d\"\n",
-                  device, j, n);
-         else if (i == 9)
-           printf("serial serial:%s?baud=38400 \"Unknown\" \"Central Data PCI Serial Port, ID %d, port %d\"\n",
-                  device, j, n);
-         else
-           printf("serial serial:%s?baud=38400 \"Unknown\" \"Central Data SCSI Serial Port, logical bus %d, ID %d, port %d\"\n",
-                  device, i, j, n);
-       }
-      }
-#elif defined(__sun)
-  int          i, j, n;                /* Looping vars */
-  char         device[255];            /* Device filename */
-  char         info[255];              /* Device info/description */
-
-
- /*
-  * Standard serial ports...
-  */
-
-  for (i = 0; i < 26; i ++)
-  {
-    sprintf(device, "/dev/cua/%c", 'a' + i);
-    if (!access(device, 0))
-    {
-      snprintf(info, sizeof(info),
-              _cupsLangString(cupsLangDefault(), _("Serial Port #%d")), i + 1);
-
-#  ifdef B115200
-      printf("serial serial:%s?baud=115200 \"Unknown\" \"%s\"\n", device, info);
-#  else
-      printf("serial serial:%s?baud=38400 \"Unknown\" \"%s\"\n", device, info);
-#  endif /* B115200 */
-    }
-  }
-
- /*
-  * MAGMA serial ports...
-  */
-
-  for (i = 0; i < 40; i ++)
-  {
-    sprintf(device, "/dev/term/%02d", i);
-    if (access(device, 0) == 0)
-      printf("serial serial:%s?baud=38400 \"Unknown\" \"MAGMA Serial Board #%d Port #%d\"\n",
-             device, (i / 10) + 1, (i % 10) + 1);
-  }
-
- /*
-  * Central Data serial ports...
-  */
-
-  for (i = 0; i < 9; i ++)
-    for (j = 0; j < 8; j ++)
-      for (n = 0; n < 32; n ++)
-      {
-        if (i == 8)    /* EtherLite */
-          sprintf(device, "/dev/sts/ttyN%d%c", j, funky_hex[n]);
-        else
-          sprintf(device, "/dev/sts/tty%c%d%c", i + 'C', j,
-                  funky_hex[n]);
-
-       if (access(device, 0) == 0)
-       {
-         if (i == 8)
-           printf("serial serial:%s?baud=38400 \"Unknown\" \"Central Data EtherLite Serial Port, ID %d, port %d\"\n",
-                  device, j, n);
-         else
-           printf("serial serial:%s?baud=38400 \"Unknown\" \"Central Data SCSI Serial Port, logical bus %d, ID %d, port %d\"\n",
-                  device, i, j, n);
-       }
-      }
-#elif defined(__hpux)
-  int          i, j, n;        /* Looping vars */
-  char         device[255];    /* Device filename */
-
-
- /*
-  * Standard serial ports...
-  */
-
-  for (i = 0; i < 10; i ++)
-  {
-    sprintf(device, "/dev/tty%dp0", i);
-    if (access(device, 0) == 0)
-      printf("serial serial:%s?baud=38400 \"Unknown\" \"Serial Port #%d\"\n",
-             device, i + 1);
-  }
-
- /*
-  * Central Data serial ports...
-  */
-
-  for (i = 0; i < 9; i ++)
-    for (j = 0; j < 8; j ++)
-      for (n = 0; n < 32; n ++)
-      {
-        if (i == 8)    /* EtherLite */
-          sprintf(device, "/dev/ttyN%d%c", j, funky_hex[n]);
-        else
-          sprintf(device, "/dev/tty%c%d%c", i + 'C', j,
-                  funky_hex[n]);
-
-       if (access(device, 0) == 0)
-       {
-         if (i == 8)
-           printf("serial serial:%s?baud=38400 \"Unknown\" \"Central Data EtherLite Serial Port, ID %d, port %d\"\n",
-                  device, j, n);
-         else
-           printf("serial serial:%s?baud=38400 \"Unknown\" \"Central Data SCSI Serial Port, logical bus %d, ID %d, port %d\"\n",
-                  device, i, j, n);
-       }
-      }
-#elif defined(__osf__)
-  int          i;              /* Looping var */
-  char         device[255];    /* Device filename */
-
-
- /*
-  * Standard serial ports...
-  */
-
-  for (i = 0; i < 100; i ++)
-  {
-    sprintf(device, "/dev/tty%02d", i);
-    if (access(device, 0) == 0)
-      printf("serial serial:%s?baud=38400 \"Unknown\" \"Serial Port #%d\"\n",
-             device, i + 1);
-  }
-#elif defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || defined(__FreeBSD_kernel__)
-  int  i, j;                           /* Looping vars */
-  int  fd;                             /* File descriptor */
-  char device[255];                    /* Device filename */
-  char info[255];                      /* Device info/description */
-
-
- /*
-  * SIO ports...
-  */
-
-  for (i = 0; i < 32; i ++)
-  {
-    sprintf(device, "/dev/ttyd%c", funky_hex[i]);
-    if ((fd = open(device, O_WRONLY | O_NOCTTY | O_NDELAY)) >= 0)
-    {
-      close(fd);
-
-      snprintf(info, sizeof(info),
-              _cupsLangString(cupsLangDefault(), _("Serial Port #%d")), i + 1);
-
-      printf("serial serial:%s?baud=115200 \"Unknown\" \"%s\"\n", device, info);
-    }
-  }
-
- /*
-  * Cyclades ports...
-  */
-
-  for (i = 0; i < 16; i ++) /* Should be up to 65536 boards... */
-    for (j = 0; j < 32; j ++)
-    {
-      sprintf(device, "/dev/ttyc%d%c", i, funky_hex[j]);
-      if ((fd = open(device, O_WRONLY | O_NOCTTY | O_NDELAY)) >= 0)
-      {
-       close(fd);
-       printf("serial serial:%s?baud=115200 \"Unknown\" \"Cyclades #%d Serial Port #%d\"\n",
-               device, i, j + 1);
-      }
-
-      sprintf(device, "/dev/ttyC%d%c", i, funky_hex[j]);
-      if ((fd = open(device, O_WRONLY | O_NOCTTY | O_NDELAY)) >= 0)
-      {
-       close(fd);
-       printf("serial serial:%s?baud=115200 \"Unknown\" \"Cyclades #%d Serial Port #%d\"\n",
-               device, i, j + 1);
-      }
-    }
-
- /*
-  * Digiboard ports...
-  */
-
-  for (i = 0; i < 16; i ++) /* Should be up to 65536 boards... */
-    for (j = 0; j < 32; j ++)
-    {
-      sprintf(device, "/dev/ttyD%d%c", i, funky_hex[j]);
-      if ((fd = open(device, O_WRONLY | O_NOCTTY | O_NDELAY)) >= 0)
-      {
-       close(fd);
-       printf("serial serial:%s?baud=115200 \"Unknown\" \"Digiboard #%d Serial Port #%d\"\n",
-               device, i, j + 1);
-      }
-    }
-
- /*
-  * Stallion ports...
-  */
-
-  for (i = 0; i < 32; i ++)
-  {
-    sprintf(device, "/dev/ttyE%c", funky_hex[i]);
-    if ((fd = open(device, O_WRONLY | O_NOCTTY | O_NDELAY)) >= 0)
-    {
-      close(fd);
-      printf("serial serial:%s?baud=115200 \"Unknown\" \"Stallion Serial Port #%d\"\n",
-             device, i + 1);
-    }
-  }
-
- /*
-  * SX ports...
-  */
-
-  for (i = 0; i < 128; i ++)
-  {
-    sprintf(device, "/dev/ttyA%d", i + 1);
-    if ((fd = open(device, O_WRONLY | O_NOCTTY | O_NDELAY)) >= 0)
-    {
-      close(fd);
-      printf("serial serial:%s?baud=115200 \"Unknown\" \"SX Serial Port #%d\"\n",
-             device, i + 1);
-    }
-  }
-#elif defined(__NetBSD__)
-  int  i, j;                           /* Looping vars */
-  int  fd;                             /* File descriptor */
-  char device[255];                    /* Device filename */
-  char info[255];                      /* Device info/description */
-
-
- /*
-  * Standard serial ports...
-  */
-
-  for (i = 0; i < 4; i ++)
-  {
-    sprintf(device, "/dev/tty%02d", i);
-    if ((fd = open(device, O_WRONLY | O_NOCTTY | O_NDELAY)) >= 0)
-    {
-      close(fd);
-
-      snprintf(info, sizeof(info),
-              _cupsLangString(cupsLangDefault(), _("Serial Port #%d")), i + 1);
-
-      printf("serial serial:%s?baud=115200 \"Unknown\" \"%s\"\n", device, info);
-    }
-  }
-
- /*
-  * Cyclades-Z ports...
-  */
-
-  for (i = 0; i < 16; i ++) /* Should be up to 65536 boards... */
-    for (j = 0; j < 64; j ++)
-    {
-      sprintf(device, "/dev/ttyCZ%02d%02d", i, j);
-      if ((fd = open(device, O_WRONLY | O_NOCTTY | O_NDELAY)) >= 0)
-      {
-       close(fd);
-       printf("serial serial:%s?baud=115200 \"Unknown\" \"Cyclades #%d Serial Prt #%d\"\n",
-              device, i, j + 1);
-      }
-    }
-#elif defined(__APPLE__)
- /*
-  * Standard serial ports on MacOS X...
-  */
-
-  kern_return_t                        kernResult;
-  mach_port_t                  masterPort;
-  io_iterator_t                        serialPortIterator;
-  CFMutableDictionaryRef       classesToMatch;
-  io_object_t                  serialService;
-
-
-  kernResult = IOMasterPort(MACH_PORT_NULL, &masterPort);
-  if (KERN_SUCCESS != kernResult)
-    return;
-
- /*
-  * Serial devices are instances of class IOSerialBSDClient.
-  */
-
-  classesToMatch = IOServiceMatching(kIOSerialBSDServiceValue);
-  if (classesToMatch != NULL)
-  {
-    CFDictionarySetValue(classesToMatch, CFSTR(kIOSerialBSDTypeKey),
-                         CFSTR(kIOSerialBSDRS232Type));
-
-    kernResult = IOServiceGetMatchingServices(masterPort, classesToMatch,
-                                              &serialPortIterator);
-    if (kernResult == KERN_SUCCESS)
-    {
-      while ((serialService = IOIteratorNext(serialPortIterator)))
-      {
-       CFTypeRef       serialNameAsCFString;
-       CFTypeRef       bsdPathAsCFString;
-       CFTypeRef       hiddenVal;
-       char            serialName[128];
-       char            bsdPath[1024];
-       Boolean         result;
-
-
-       /* Check if hidden... */
-       hiddenVal = IORegistryEntrySearchCFProperty(serialService,
-                                                   kIOServicePlane,
-                                                   CFSTR("HiddenPort"),
-                                                   kCFAllocatorDefault,
-                                                   kIORegistryIterateRecursively |
-                                                   kIORegistryIterateParents);
-       if (hiddenVal)
-         CFRelease(hiddenVal); /* This interface should not be used */
-       else
-       {
-         serialNameAsCFString =
-             IORegistryEntryCreateCFProperty(serialService,
-                                             CFSTR(kIOTTYDeviceKey),
-                                             kCFAllocatorDefault, 0);
-         if (serialNameAsCFString)
-         {
-           result = CFStringGetCString(serialNameAsCFString, serialName,
-                                       sizeof(serialName),
-                                       kCFStringEncodingASCII);
-           CFRelease(serialNameAsCFString);
-
-           if (result)
-           {
-             bsdPathAsCFString =
-                 IORegistryEntryCreateCFProperty(serialService,
-                                                 CFSTR(kIOCalloutDeviceKey),
-                                                 kCFAllocatorDefault, 0);
-             if (bsdPathAsCFString)
-             {
-               result = CFStringGetCString(bsdPathAsCFString, bsdPath,
-                                           sizeof(bsdPath),
-                                           kCFStringEncodingASCII);
-               CFRelease(bsdPathAsCFString);
-
-               if (result)
-                 printf("serial serial:%s?baud=115200 \"Unknown\" \"%s\"\n",
-                        bsdPath, serialName);
-             }
-           }
-         }
-       }
-
-       IOObjectRelease(serialService);
-      }
-
-     /*
-      * Release the iterator.
-      */
-
-      IOObjectRelease(serialPortIterator);
-    }
-  }
-#endif
-}
-
-
-/*
- * 'side_cb()' - Handle side-channel requests...
- */
-
-static int                             /* O - 0 on success, -1 on error */
-side_cb(int print_fd,                  /* I - Print file */
-        int device_fd,                 /* I - Device file */
-       int use_bc)                     /* I - Using back-channel? */
-{
-  cups_sc_command_t    command;        /* Request command */
-  cups_sc_status_t     status;         /* Request/response status */
-  char                 data[2048];     /* Request/response data */
-  int                  datalen;        /* Request/response data size */
-
-
-  datalen = sizeof(data);
-
-  if (cupsSideChannelRead(&command, &status, data, &datalen, 1.0))
-    return (-1);
-
-  switch (command)
-  {
-    case CUPS_SC_CMD_DRAIN_OUTPUT :
-        if (backendDrainOutput(print_fd, device_fd))
-         status = CUPS_SC_STATUS_IO_ERROR;
-       else if (tcdrain(device_fd))
-         status = CUPS_SC_STATUS_IO_ERROR;
-       else
-         status = CUPS_SC_STATUS_OK;
-
-       datalen = 0;
-        break;
-
-    case CUPS_SC_CMD_GET_BIDI :
-       status  = CUPS_SC_STATUS_OK;
-        data[0] = use_bc;
-        datalen = 1;
-        break;
-
-    default :
-        status  = CUPS_SC_STATUS_NOT_IMPLEMENTED;
-       datalen = 0;
-       break;
-  }
-
-  return (cupsSideChannelWrite(command, status, data, datalen, 1.0));
-}
-
-
-/*
- * End of "$Id: serial.c 9793 2011-05-20 03:49:49Z mike $".
- */
index dc2b3f1..41d4d75 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: snmp-supplies.c 10262 2012-02-12 05:48:09Z mike $"
+ * "$Id: snmp-supplies.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   SNMP supplies functions for CUPS.
  *
- *   Copyright 2008-2012 by Apple Inc.
+ *   Copyright 2008-2013 by Apple Inc.
  *
  *   These coded instructions, statements, and computer programs are the
  *   property of Apple Inc. and are protected by Federal copyright
 #define CUPS_MAX_SUPPLIES      32      /* Maximum number of supplies for a printer */
 #define CUPS_SUPPLY_TIMEOUT    2.0     /* Timeout for SNMP lookups */
 
-#define CUPS_DEVELOPER_LOW             1
-#define CUPS_DEVELOPER_EMPTY           2
-#define CUPS_MARKER_SUPPLY_LOW         4
-#define CUPS_MARKER_SUPPLY_EMPTY       8
-#define CUPS_OPC_NEAR_EOL              16
-#define CUPS_OPC_LIFE_OVER             32
-#define CUPS_TONER_LOW                 64
-#define CUPS_TONER_EMPTY               128
+#define CUPS_DEVELOPER_LOW     0x0001
+#define CUPS_DEVELOPER_EMPTY   0x0002
+#define CUPS_MARKER_SUPPLY_LOW 0x0004
+#define CUPS_MARKER_SUPPLY_EMPTY 0x0008
+#define CUPS_OPC_NEAR_EOL      0x0010
+#define CUPS_OPC_LIFE_OVER     0x0020
+#define CUPS_TONER_LOW         0x0040
+#define CUPS_TONER_EMPTY       0x0080
+#define CUPS_WASTE_ALMOST_FULL 0x0100
+#define CUPS_WASTE_FULL                0x0200
+#define CUPS_CLEANER_NEAR_EOL  0x0400  /* Proposed JPS3 */
+#define CUPS_CLEANER_LIFE_OVER 0x0800  /* Proposed JPS3 */
+
+#define CUPS_SNMP_NONE         0x0000
+#define CUPS_SNMP_CAPACITY     0x0001  /* Supply levels reported as percentages */
 
 
 /*
@@ -75,6 +82,8 @@ static http_addr_t    current_addr;   /* Current address */
 static int             current_state = -1;
                                        /* Current device state bits */
 static int             charset = -1;   /* Character set for supply names */
+static unsigned                quirks = CUPS_SNMP_NONE;
+                                       /* Quirks we have to work around */
 static int             num_supplies = 0;
                                        /* Number of supplies found */
 static backend_supplies_t supplies[CUPS_MAX_SUPPLIES];
@@ -146,10 +155,17 @@ static const int  prtMarkerSuppliesType[] =
                        (sizeof(prtMarkerSuppliesType) /
                         sizeof(prtMarkerSuppliesType[0]));
                                        /* Offset to supply index */
-
-static const backend_state_t const printer_states[] =
+static const int       prtMarkerSuppliesSupplyUnit[] =
+                       { CUPS_OID_prtMarkerSuppliesSupplyUnit, -1 },
+                                       /* Units OID */
+                       prtMarkerSuppliesSupplyUnitOffset =
+                       (sizeof(prtMarkerSuppliesSupplyUnit) /
+                        sizeof(prtMarkerSuppliesSupplyUnit[0]));
+                                       /* Offset to supply index */
+
+static const backend_state_t printer_states[] =
                        {
-                         { CUPS_TC_lowPaper, "media-low-report" },
+                         /* { CUPS_TC_lowPaper, "media-low-report" }, */
                          { CUPS_TC_noPaper | CUPS_TC_inputTrayEmpty, "media-empty-warning" },
                          /* { CUPS_TC_lowToner, "toner-low-report" }, */ /* now use prtMarkerSupplies */
                          /* { CUPS_TC_noToner, "toner-empty-warning" }, */ /* now use prtMarkerSupplies */
@@ -164,7 +180,7 @@ static const backend_state_t const printer_states[] =
                          { CUPS_TC_outputFull, "output-area-full-warning" }
                        };
 
-static const backend_state_t const supply_states[] =
+static const backend_state_t supply_states[] =
                        {
                          { CUPS_DEVELOPER_LOW, "developer-low-report" },
                          { CUPS_DEVELOPER_EMPTY, "developer-empty-warning" },
@@ -173,7 +189,11 @@ static const backend_state_t const supply_states[] =
                          { CUPS_OPC_NEAR_EOL, "opc-near-eol-report" },
                          { CUPS_OPC_LIFE_OVER, "opc-life-over-warning" },
                          { CUPS_TONER_LOW, "toner-low-report" },
-                         { CUPS_TONER_EMPTY, "toner-empty-warning" }
+                         { CUPS_TONER_EMPTY, "toner-empty-warning" },
+                         { CUPS_WASTE_ALMOST_FULL, "waste-receptacle-almost-full-report" },
+                         { CUPS_WASTE_FULL, "waste-receptacle-full-warning" },
+                         { CUPS_CLEANER_NEAR_EOL, "cleaner-life-almost-over-report" },
+                         { CUPS_CLEANER_LIFE_OVER, "cleaner-life-over-warning" },
                        };
 
 
@@ -231,6 +251,9 @@ backendSNMPSupplies(
     {
       if (supplies[i].max_capacity > 0 && supplies[i].level >= 0)
        percent = 100 * supplies[i].level / supplies[i].max_capacity;
+      else if (supplies[i].level >= 0 && supplies[i].level <= 100 &&
+               (quirks & CUPS_SNMP_CAPACITY))
+        percent = supplies[i].level;
       else
         percent = 50;
 
@@ -245,9 +268,6 @@ backendSNMPSupplies(
               else
                 new_supply_state |= CUPS_TONER_LOW;
               break;
-          case CUPS_TC_wasteToner :
-          case CUPS_TC_wasteInk :
-              break;
           case CUPS_TC_ink :
           case CUPS_TC_inkCartridge :
           case CUPS_TC_inkRibbon :
@@ -273,13 +293,31 @@ backendSNMPSupplies(
               else
                 new_supply_state |= CUPS_OPC_NEAR_EOL;
               break;
+          case CUPS_TC_wasteInk :
+          case CUPS_TC_wastePaper :
+          case CUPS_TC_wasteToner :
+          case CUPS_TC_wasteWater :
+          case CUPS_TC_wasteWax :
+              if (percent <= 1)
+                new_supply_state |= CUPS_WASTE_FULL;
+              else
+                new_supply_state |= CUPS_WASTE_ALMOST_FULL;
+              break;
+          case CUPS_TC_cleanerUnit :
+          case CUPS_TC_fuserCleaningPad :
+              if (percent <= 1)
+                new_supply_state |= CUPS_CLEANER_LIFE_OVER;
+              else
+                new_supply_state |= CUPS_CLEANER_NEAR_EOL;
+              break;
         }
       }
 
       if (i)
         *ptr++ = ',';
 
-      if (supplies[i].max_capacity > 0 && supplies[i].level >= 0)
+      if ((supplies[i].max_capacity > 0 || (quirks & CUPS_SNMP_CAPACITY)) &&
+          supplies[i].level >= 0)
         sprintf(ptr, "%d", percent);
       else
         strcpy(ptr, "-1");
@@ -477,6 +515,12 @@ backend_init_supplies(
     return;
   }
 
+  if ((ppdattr = ppdFindAttr(ppd, "cupsSNMPQuirks", NULL)) != NULL)
+  {
+    if (!_cups_strcasecmp(ppdattr->value, "capacity"))
+      quirks |= CUPS_SNMP_CAPACITY;
+  }
+
   ppdClose(ppd);
 
  /*
@@ -903,7 +947,8 @@ backend_walk_cb(cups_snmp_t *packet,        /* I - SNMP packet */
 
     supplies[i - 1].level = packet->object_value.integer;
   }
-  else if (_cupsSNMPIsOIDPrefixed(packet, prtMarkerSuppliesMaxCapacity))
+  else if (_cupsSNMPIsOIDPrefixed(packet, prtMarkerSuppliesMaxCapacity) &&
+           !(quirks & CUPS_SNMP_CAPACITY))
   {
    /*
     * Get max capacity...
@@ -920,7 +965,9 @@ backend_walk_cb(cups_snmp_t *packet,        /* I - SNMP packet */
     if (i > num_supplies)
       num_supplies = i;
 
-    supplies[i - 1].max_capacity = packet->object_value.integer;
+    if (supplies[i - 1].max_capacity == 0 &&
+        packet->object_value.integer > 0)
+      supplies[i - 1].max_capacity = packet->object_value.integer;
   }
   else if (_cupsSNMPIsOIDPrefixed(packet, prtMarkerSuppliesType))
   {
@@ -941,6 +988,26 @@ backend_walk_cb(cups_snmp_t *packet,       /* I - SNMP packet */
 
     supplies[i - 1].type = packet->object_value.integer;
   }
+  else if (_cupsSNMPIsOIDPrefixed(packet, prtMarkerSuppliesSupplyUnit))
+  {
+   /*
+    * Get units for capacity...
+    */
+
+    i = packet->object_name[prtMarkerSuppliesSupplyUnitOffset];
+    if (i < 1 || i > CUPS_MAX_SUPPLIES ||
+        packet->object_type != CUPS_ASN1_INTEGER)
+      return;
+
+    fprintf(stderr, "DEBUG2: prtMarkerSuppliesSupplyUnit.1.%d = %d\n", i,
+            packet->object_value.integer);
+
+    if (i > num_supplies)
+      num_supplies = i;
+
+    if (packet->object_value.integer == CUPS_TC_percent)
+      supplies[i - 1].max_capacity = 100;
+  }
 }
 
 
@@ -1006,5 +1073,5 @@ utf16_to_utf8(
 
 
 /*
- * End of "$Id: snmp-supplies.c 10262 2012-02-12 05:48:09Z mike $".
+ * End of "$Id: snmp-supplies.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index fbd236a..2262095 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: snmp.c 10209 2012-01-30 22:19:03Z mike $"
+ * "$Id: snmp.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   SNMP discovery backend for CUPS.
  *
@@ -251,7 +251,7 @@ main(int  argc,                             /* I - Number of command-line arguments (6 or 7) */
 
 #ifdef AF_INET6
   if ((ipv6 = _cupsSNMPOpen(AF_INET6)) < 0)
-    return (1);
+    perror("DEBUG: Unable to create IPv6 socket");
 #else
   ipv6 = -1;
 #endif /* AF_INET6 */
@@ -1025,6 +1025,11 @@ read_snmp_response(int fd)               /* I - SNMP socket file descriptor */
            * Description is the IEEE-1284 device ID...
            */
 
+            char *ptr;                 /* Pointer into device ID */
+
+            for (ptr = (char *)packet.object_value.string.bytes; *ptr; ptr ++)
+              if (*ptr == '\n')
+                *ptr = ';';            /* A lot of bad printers put a newline */
            if (!device->id)
              device->id = strdup((char *)packet.object_value.string.bytes);
 
@@ -1066,8 +1071,11 @@ read_snmp_response(int fd)               /* I - SNMP socket file descriptor */
          */
 
          char  make_model[256];        /* Make and model */
+          char *ptr;                   /* Pointer into device ID */
 
-
+          for (ptr = (char *)packet.object_value.string.bytes; *ptr; ptr ++)
+            if (*ptr == '\n')
+              *ptr = ';';              /* A lot of bad printers put a newline */
          if (device->id)
            free(device->id);
 
@@ -1383,5 +1391,5 @@ update_cache(snmp_cache_t *device,        /* I - Device */
 
 
 /*
- * End of "$Id: snmp.c 10209 2012-01-30 22:19:03Z mike $".
+ * End of "$Id: snmp.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 5e28fc8..2ec83f2 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: socket.c 9793 2011-05-20 03:49:49Z mike $"
+ * "$Id: socket.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   AppSocket backend for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -87,6 +87,7 @@ main(int  argc,                               /* I - Number of command-line arguments (6 or 7) */
   http_addrlist_t *addrlist,           /* Address list */
                *addr;                  /* Connected address */
   char         addrname[256];          /* Address name */
+  int          snmp_enabled = 1;       /* Is SNMP enabled? */
   int          snmp_fd,                /* SNMP socket */
                start_count,            /* Page count via SNMP at start */
                page_count,             /* Page count via SNMP */
@@ -246,6 +247,16 @@ main(int  argc,                            /* I - Number of command-line arguments (6 or 7) */
         waiteof = !value[0] || !_cups_strcasecmp(value, "on") ||
                  !_cups_strcasecmp(value, "yes") || !_cups_strcasecmp(value, "true");
       }
+      else if (!_cups_strcasecmp(name, "snmp"))
+      {
+        /*
+         * Enable/disable SNMP stuff...
+         */
+
+         snmp_enabled = !value[0] || !_cups_strcasecmp(value, "on") ||
+                        _cups_strcasecmp(value, "yes") ||
+                        _cups_strcasecmp(value, "true");
+      }
       else if (!_cups_strcasecmp(name, "contimeout"))
       {
        /*
@@ -286,11 +297,14 @@ main(int  argc,                           /* I - Number of command-line arguments (6 or 7) */
   * See if the printer supports SNMP...
   */
 
-  if ((snmp_fd = _cupsSNMPOpen(addrlist->addr.addr.sa_family)) >= 0)
-  {
+  if (snmp_enabled)
+    snmp_fd = _cupsSNMPOpen(addrlist->addr.addr.sa_family);
+  else
+    snmp_fd = -1;
+
+  if (snmp_fd >= 0)
     have_supplies = !backendSNMPSupplies(snmp_fd, &(addrlist->addr),
                                          &start_count, NULL);
-  }
   else
     have_supplies = start_count = 0;
 
@@ -371,7 +385,7 @@ main(int  argc,                             /* I - Number of command-line arguments (6 or 7) */
          case ECONNREFUSED :
          default :
              _cupsLangPrintFilter(stderr, "WARNING",
-                                  _("The printer is busy."));
+                                  _("The printer is in use."));
              break;
         }
 
@@ -472,8 +486,6 @@ main(int  argc,                             /* I - Number of command-line arguments (6 or 7) */
   if (print_fd != 0)
     close(print_fd);
 
-  _cupsLangPrintFilter(stderr, "INFO", _("Ready to print."));
-
   return (CUPS_BACKEND_OK);
 }
 
@@ -523,5 +535,5 @@ wait_bc(int device_fd,                      /* I - Socket */
 
 
 /*
- * End of "$Id: socket.c 9793 2011-05-20 03:49:49Z mike $".
+ * End of "$Id: socket.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 1080c19..18861fd 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: test1284.c 9042 2010-03-24 00:45:34Z mike $"
+ * "$Id: test1284.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   IEEE-1284 support functions test program for CUPS.
  *
@@ -80,5 +80,5 @@ main(int  argc,                               /* I - Number of command-line args */
 
 
 /*
- * End of "$Id: test1284.c 9042 2010-03-24 00:45:34Z mike $".
+ * End of "$Id: test1284.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 682b8aa..065c27a 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: testbackend.c 9042 2010-03-24 00:45:34Z mike $"
+ * "$Id: testbackend.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Backend test program for CUPS.
  *
- *   Copyright 2007-2010 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2005 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -47,7 +47,7 @@ static int    job_canceled = 0;
  */
 
 static void    sigterm_handler(int sig);
-static void    usage(void);
+static void    usage(void) __attribute__((noreturn));
 static void    walk_cb(const char *oid, const char *data, int datalen,
                        void *context);
 
@@ -57,7 +57,7 @@ static void   walk_cb(const char *oid, const char *data, int datalen,
  *
  * Usage:
  *
- *    betest [-s] [-t] device-uri job-id user title copies options [file]
+ *    testbackend [-s] [-t] device-uri job-id user title copies options [file]
  */
 
 int                                    /* O - Exit status */
@@ -75,7 +75,9 @@ main(int  argc,                               /* I - Number of command-line args */
   const char   *oid = ".1.3.6.1.2.1.43.10.2.1.4.1.1";
                                        /* OID to lookup or walk */
   char         scheme[255],            /* Scheme in URI == backend */
-               backend[1024];          /* Backend path */
+               backend[1024],          /* Backend path */
+               libpath[1024],          /* Path for libcups */
+               *ptr;                   /* Pointer into path */
   const char   *serverbin;             /* CUPS_SERVERBIN environment variable */
   int          fd,                     /* Temporary file descriptor */
                back_fds[2],            /* Back-channel pipe */
@@ -88,6 +90,29 @@ main(int  argc,                              /* I - Number of command-line args */
 
 
  /*
+  * Get the current directory and point the run-time linker at the "cups"
+  * subdirectory...
+  */
+
+  if (getcwd(libpath, sizeof(libpath)) &&
+      (ptr = strrchr(libpath, '/')) != NULL && !strcmp(ptr, "/backend"))
+  {
+    strlcpy(ptr, "/cups", sizeof(libpath) - (ptr - libpath));
+    if (!access(libpath, 0))
+    {
+#ifdef __APPLE__
+      fprintf(stderr, "Setting DYLD_LIBRARY_PATH to \"%s\".\n", libpath);
+      setenv("DYLD_LIBRARY_PATH", libpath, 1);
+#else
+      fprintf(stderr, "Setting LD_LIBRARY_PATH to \"%s\".\n", libpath);
+      setenv("LD_LIBRARY_PATH", libpath, 1);
+#endif /* __APPLE__ */
+    }
+    else
+      perror(libpath);
+  }
+
+ /*
   * See if we have side-channel tests to do...
   */
 
@@ -548,13 +573,13 @@ main(int  argc,                           /* I - Number of command-line args */
 
       length   = sizeof(buffer);
       scstatus = cupsSideChannelSNMPGet(oid, buffer, &length, 5.0);
-      printf("CUPS_SC_CMD_SNMP_GET %s returned %s, %s\n", oid,
-            statuses[scstatus], buffer);
+      printf("CUPS_SC_CMD_SNMP_GET %s returned %s, %d bytes (%s)\n", oid,
+            statuses[scstatus], (int)length, buffer);
 
       length   = sizeof(buffer);
       scstatus = cupsSideChannelSNMPGet(oid, buffer, &length, 5.0);
-      printf("CUPS_SC_CMD_SNMP_GET %s returned %s, %s\n", oid,
-            statuses[scstatus], buffer);
+      printf("CUPS_SC_CMD_SNMP_GET %s returned %s, %d bytes (%s)\n", oid,
+            statuses[scstatus], (int)length, buffer);
     }
 
     length   = 0;
@@ -569,7 +594,7 @@ main(int  argc,                             /* I - Number of command-line args */
     kill(data_pid, SIGTERM);
     kill(back_pid, SIGTERM);
   }
-  
+
   while ((pid = wait(&status)) > 0)
   {
     if (status)
@@ -613,13 +638,13 @@ sigterm_handler(int sig)          /* I - Signal */
 static void
 usage(void)
 {
-  puts("Usage: testbackend [-cancel] [-d] [-ps | -pcl] [-s [-oid OID] "
+  puts("Usage: testbackend [-cancel] [-d] [-ps | -pcl] [-s [-get OID] "
        "[-walk OID]] [-t] device-uri job-id user title copies options [file]");
   puts("");
   puts("Options:");
   puts("  -cancel     Simulate a canceled print job after 2 seconds.");
   puts("  -d          Show log messages from backend.");
-  puts("  -oid OID    Lookup the specified SNMP OID.");
+  puts("  -get OID    Lookup the specified SNMP OID.");
   puts("              (.1.3.6.1.2.1.43.10.2.1.4.1.1 is a good one for printers)");
   puts("  -pcl        Send PCL+PJL query and test page to backend.");
   puts("  -ps         Send PostScript query and test page to backend.");
@@ -642,10 +667,10 @@ walk_cb(const char *oid,          /* I - OID */
        int        datalen,             /* I - Length of data */
        void       *context)            /* I - Context (unused) */
 {
-  printf("CUPS_SC_CMD_SNMP_WALK %s=%s (%d bytes)\n", oid, data, datalen);
+  printf("CUPS_SC_CMD_SNMP_WALK %s, %d bytes (%s)\n", oid, datalen, data);
 }
 
 
 /*
- * End of "$Id: testbackend.c 9042 2010-03-24 00:45:34Z mike $".
+ * End of "$Id: testbackend.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 827cdf6..0079ce3 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: testsupplies.c 9771 2011-05-12 05:21:56Z mike $"
+ * "$Id: testsupplies.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   SNMP supplies test program for CUPS.
  *
@@ -79,5 +79,5 @@ main(int  argc,                               /* I - Number of command-line args */
 
 
 /*
- * End of "$Id: testsupplies.c 9771 2011-05-12 05:21:56Z mike $".
+ * End of "$Id: testsupplies.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 8b249a9..6d7514d 100644 (file)
@@ -1,7 +1,7 @@
 /*
-* "$Id: usb-darwin.c 9887 2011-08-11 22:04:59Z mike $"
+* "$Id: usb-darwin.c 11173 2013-07-23 12:31:34Z msweet $"
 *
-* Copyright 2005-2011 Apple Inc. All rights reserved.
+* Copyright 2005-2012 Apple Inc. All rights reserved.
 *
 * IMPORTANT:  This Apple software is supplied to you by Apple Computer,
 * Inc. ("Apple") in consideration of your agreement to the following
@@ -820,10 +820,10 @@ print_device(const char *uri,             /* I - Device URI */
    /*
     * If it didn't exit abort the pending read and wait an additional second...
     */
-  
+
     if (!g.read_thread_done)
     {
-      fputs("DEBUG: Read thread still active, aborting the pending read...\n", 
+      fputs("DEBUG: Read thread still active, aborting the pending read...\n",
            stderr);
 
       g.wait_eof = 0;
@@ -833,7 +833,7 @@ print_device(const char *uri,               /* I - Device URI */
       gettimeofday(&tv, NULL);
       cond_timeout.tv_sec  = tv.tv_sec + 1;
       cond_timeout.tv_nsec = tv.tv_usec * 1000;
-  
+
       while (!g.read_thread_done)
       {
        if (pthread_cond_timedwait(&g.read_thread_cond, &g.read_thread_mutex,
@@ -1283,7 +1283,7 @@ static Boolean find_device_cb(void *refcon,
   if (!keepLooking && g.status_timer != NULL)
   {
     fputs("STATE: -offline-report\n", stderr);
-    _cupsLangPrintFilter(stderr, "INFO", _("Printer is now online."));
+    _cupsLangPrintFilter(stderr, "INFO", _("The printer is now online."));
     CFRunLoopRemoveTimer(CFRunLoopGetCurrent(), g.status_timer, kCFRunLoopDefaultMode);
     CFRelease(g.status_timer);
     g.status_timer = NULL;
@@ -1304,7 +1304,7 @@ static void status_timer_cb(CFRunLoopTimerRef timer,
   (void)info;
 
   fputs("STATE: +offline-report\n", stderr);
-  _cupsLangPrintFilter(stderr, "INFO", _("Printer is offline."));
+  _cupsLangPrintFilter(stderr, "INFO", _("The printer is offline."));
 
   if (getenv("CLASS") != NULL)
   {
@@ -2265,5 +2265,5 @@ static void get_device_id(cups_sc_status_t *status,
 
 
 /*
- * End of "$Id: usb-darwin.c 9887 2011-08-11 22:04:59Z mike $".
+ * End of "$Id: usb-darwin.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index e3a02be..8101006 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: usb-libusb.c 10267 2012-02-12 08:35:28Z mike $"
+ * "$Id: usb-libusb.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   LIBUSB interface code for CUPS.
  *
- *   Copyright 2007-2012 by Apple Inc.
+ *   Copyright 2007-2013 by Apple Inc.
  *
  *   These coded instructions, statements, and computer programs are the
  *   property of Apple Inc. and are protected by Federal copyright
  *
  * Contents:
  *
- *   list_devices()   - List the available printers.
+ *   list_devices()      - List the available printers.
  *   print_device()      - Print a file to a USB device.
  *   close_device()      - Close the connection to the USB printer.
+ *   compare_quirks()    - Compare two quirks entries.
  *   find_device()       - Find or enumerate USB printers.
+ *   find_quirks()       - Find the quirks for the given printer, if any.
  *   get_device_id()     - Get the IEEE-1284 device ID for the printer.
  *   list_cb()           - List USB printers for discovery.
+ *   load_quirks()       - Load all quirks files in the /usr/share/cups/usb
+ *                         directory.
  *   make_device_uri()   - Create a device URI for a USB printer.
  *   open_device()       - Open a connection to the USB printer.
  *   print_cb()          - Find a USB printer for printing.
  *   read_thread()       - Thread to read the backchannel data on.
  *   sidechannel_thread() - Handle side-channel requests.
  *   soft_reset()        - Send a soft reset to the device.
+ *   soft_reset_printer() - Do the soft reset request specific to printers
  */
 
 /*
@@ -33,6 +38,7 @@
 
 #include <libusb.h>
 #include <cups/cups-private.h>
+#include <cups/dir.h>
 #include <pthread.h>
 #include <sys/select.h>
 #include <sys/types.h>
@@ -60,20 +66,22 @@ typedef struct usb_printer_s                /**** USB Printer Data ****/
 {
   struct libusb_device *device;        /* Device info */
   int                  conf,           /* Configuration */
+                       origconf,       /* Original configuration */
                        iface,          /* Interface */
                        altset,         /* Alternate setting */
                        write_endp,     /* Write endpoint */
-                        read_endp,     /* Read endpoint */
+                       read_endp,      /* Read endpoint */
                        protocol,       /* Protocol: 1 = Uni-di, 2 = Bi-di. */
-                        usblp_attached; /* Is the "usblp" kernel module
-                                          attached? */
+                       usblp_attached, /* "usblp" kernel module attached? */
+                       reset_after_job;/* Set to 1 by print_device() */
+  unsigned             quirks;         /* Quirks flags */
   struct libusb_device_handle *handle; /* Open handle to device */
 } usb_printer_t;
 
 typedef int (*usb_cb_t)(usb_printer_t *, const char *, const char *,
                         const void *);
 
-typedef struct usb_globals_s
+typedef struct usb_globals_s           /* Global USB printer information */
 {
   usb_printer_t                *printer;       /* Printer */
 
@@ -99,13 +107,42 @@ typedef struct usb_globals_s
   int                  sidechannel_thread_done;
 } usb_globals_t;
 
+/*
+ * Quirks: various printer quirks are handled by this structure and its flags.
+ *
+ * The quirks table used to be compiled into the backend but is now loaded from
+ * one or more files in the /usr/share/cups/usb directory.
+ */
+
+#define USB_QUIRK_BLACKLIST    0x0001  /* Does not conform to the spec */
+#define USB_QUIRK_NO_REATTACH  0x0002  /* After printing we cannot re-attach
+                                          the usblp kernel module */
+#define USB_QUIRK_SOFT_RESET   0x0004  /* After printing do a soft reset
+                                          for clean-up */
+#define USB_QUIRK_UNIDIR       0x0008  /* Requires unidirectional mode */
+#define USB_QUIRK_USB_INIT     0x0010  /* Needs vendor USB init string */
+#define USB_QUIRK_VENDOR_CLASS 0x0020  /* Descriptor uses vendor-specific
+                                          Class or SubClass */
+#define USB_QUIRK_WHITELIST    0x0000  /* no quirks */
+
+
+typedef struct usb_quirk_s             /* USB "quirk" information */
+{
+  int          vendor_id,              /* Affected vendor ID */
+               product_id;             /* Affected product ID or 0 for all */
+  unsigned     quirks;                 /* Quirks bitfield */
+} usb_quirk_t;
+
+
+
 
 /*
  * Globals...
  */
 
+cups_array_t           *all_quirks;    /* Array of printer quirks */
 usb_globals_t          g = { 0 };      /* Globals */
-libusb_device           **list;         /* List of connected USB devices */
+libusb_device          **all_list;     /* List of connected USB devices */
 
 
 /*
@@ -113,11 +150,14 @@ libusb_device           **list;         /* List of connected USB devices */
  */
 
 static int             close_device(usb_printer_t *printer);
+static int             compare_quirks(usb_quirk_t *a, usb_quirk_t *b);
 static usb_printer_t   *find_device(usb_cb_t cb, const void *data);
+static unsigned                find_quirks(int vendor_id, int product_id);
 static int             get_device_id(usb_printer_t *printer, char *buffer,
                                      size_t bufsize);
 static int             list_cb(usb_printer_t *printer, const char *device_uri,
                                const char *device_id, const void *data);
+static void            load_quirks(void);
 static char            *make_device_uri(usb_printer_t *printer,
                                         const char *device_id,
                                         char *uri, size_t uri_size);
@@ -127,6 +167,7 @@ static int          print_cb(usb_printer_t *printer, const char *device_uri,
 static void            *read_thread(void *reference);
 static void            *sidechannel_thread(void *reference);
 static void            soft_reset(void);
+static int             soft_reset_printer(usb_printer_t *printer);
 
 
 /*
@@ -136,6 +177,8 @@ static void         soft_reset(void);
 void
 list_devices(void)
 {
+  load_quirks();
+
   fputs("DEBUG: list_devices\n", stderr);
   find_device(list_cb, NULL);
 }
@@ -163,7 +206,8 @@ print_device(const char *uri,               /* I - Device URI */
                iostatus;               /* Current IO status */
   pthread_t    read_thread_id,         /* Read thread */
                sidechannel_thread_id;  /* Side-channel thread */
-  int          have_sidechannel = 0;   /* Was the side-channel thread started? */
+  int          have_sidechannel = 0,   /* Was the side-channel thread started? */
+               have_backchannel = 0;   /* Do we have a back channel? */
   struct stat   sidechannel_info;      /* Side-channel file descriptor info */
   unsigned char        print_buffer[8192],     /* Print data buffer */
                *print_ptr;             /* Pointer into print data buffer */
@@ -172,8 +216,13 @@ print_device(const char *uri,              /* I - Device URI */
   struct timeval *timeout,             /* Timeout pointer */
                tv;                     /* Time value */
   struct timespec cond_timeout;                /* pthread condition timeout */
+  int          num_opts;               /* Number of options */
+  cups_option_t        *opts;                  /* Options */
+  const char   *val;                   /* Option value */
 
 
+  load_quirks();
+
  /*
   * See if the side-channel descriptor is valid...
   */
@@ -187,6 +236,7 @@ print_device(const char *uri,               /* I - Device URI */
   * Connect to the printer...
   */
 
+  fprintf(stderr, "DEBUG: Printing on printer with URI: %s\n", uri);
   while ((g.printer = find_device(print_cb, uri)) == NULL)
   {
     _cupsLangPrintFilter(stderr, "INFO",
@@ -197,6 +247,12 @@ print_device(const char *uri,              /* I - Device URI */
   g.print_fd = print_fd;
 
  /*
+  * Some devices need a reset after finishing a job, these devices are
+  * marked with the USB_QUIRK_SOFT_RESET quirk.
+  */
+  g.printer->reset_after_job = (g.printer->quirks & USB_QUIRK_SOFT_RESET ? 1 : 0);
+
+ /*
   * If we are printing data from a print driver on stdin, ignore SIGTERM
   * so that the driver can finish out any page data, e.g. to eject the
   * current page.  We only do this for stdin printing as otherwise there
@@ -240,24 +296,61 @@ print_device(const char *uri,             /* I - Device URI */
   }
 
  /*
-  * Get the read thread going...
+  * Debug mode: If option "usb-unidir" is given, always deactivate
+  * backchannel
   */
 
-  g.read_thread_stop = 0;
-  g.read_thread_done = 0;
+  num_opts = cupsParseOptions(argv[5], 0, &opts);
+  val = cupsGetOption("usb-unidir", num_opts, opts);
+  if (val && strcasecmp(val, "no") && strcasecmp(val, "off") &&
+      strcasecmp(val, "false"))
+  {
+    g.printer->read_endp = -1;
+    fprintf(stderr, "DEBUG: Forced uni-directional communication "
+           "via \"usb-unidir\" option.\n");
+  }
+
+ /*
+  * Debug mode: If option "usb-no-reattach" is given, do not re-attach
+  * the usblp kernel module after the job has completed.
+  */
 
-  pthread_cond_init(&g.read_thread_cond, NULL);
-  pthread_mutex_init(&g.read_thread_mutex, NULL);
+  val = cupsGetOption("usb-no-reattach", num_opts, opts);
+  if (val && strcasecmp(val, "no") && strcasecmp(val, "off") &&
+      strcasecmp(val, "false"))
+  {
+    g.printer->usblp_attached = 0;
+    fprintf(stderr, "DEBUG: Forced not re-attaching the usblp kernel module "
+           "after the job via \"usb-no-reattach\" option.\n");
+  }
+
+ /*
+  * Get the read thread going...
+  */
 
-  if (pthread_create(&read_thread_id, NULL, read_thread, NULL))
+  if (g.printer->read_endp != -1)
   {
-    fprintf(stderr, "DEBUG: Fatal USB error.\n");
-    _cupsLangPrintFilter(stderr, "ERROR",
-                         _("There was an unrecoverable USB error."));
-    fputs("DEBUG: Couldn't create read thread.\n", stderr);
-    close_device(g.printer);
-    return (CUPS_BACKEND_STOP);
+    have_backchannel = 1;
+
+    g.read_thread_stop = 0;
+    g.read_thread_done = 0;
+
+    pthread_cond_init(&g.read_thread_cond, NULL);
+    pthread_mutex_init(&g.read_thread_mutex, NULL);
+
+    if (pthread_create(&read_thread_id, NULL, read_thread, NULL))
+    {
+      fprintf(stderr, "DEBUG: Fatal USB error.\n");
+      _cupsLangPrintFilter(stderr, "ERROR",
+                          _("There was an unrecoverable USB error."));
+      fputs("DEBUG: Couldn't create read thread.\n", stderr);
+      close_device(g.printer);
+      return (CUPS_BACKEND_STOP);
+    }
   }
+  else
+    fprintf(stderr, "DEBUG: Uni-directional device/mode, back channel "
+           "deactivated.\n");
 
  /*
   * The main thread sends the print file...
@@ -515,53 +608,54 @@ print_device(const char *uri,             /* I - Device URI */
   * Signal the read thread to exit then wait 7 seconds for it to complete...
   */
 
-  g.read_thread_stop = 1;
-
-  pthread_mutex_lock(&g.read_thread_mutex);
-
-  if (!g.read_thread_done)
+  if (have_backchannel)
   {
-    fputs("DEBUG: Waiting for read thread to exit...\n", stderr);
+    g.read_thread_stop = 1;
 
-    gettimeofday(&tv, NULL);
-    cond_timeout.tv_sec  = tv.tv_sec + WAIT_EOF_DELAY;
-    cond_timeout.tv_nsec = tv.tv_usec * 1000;
-
-    while (!g.read_thread_done)
-    {
-      if (pthread_cond_timedwait(&g.read_thread_cond, &g.read_thread_mutex,
-                                &cond_timeout) != 0)
-       break;
-    }
+    pthread_mutex_lock(&g.read_thread_mutex);
 
-   /*
-    * If it didn't exit abort the pending read and wait an additional second...
-    */
-  
     if (!g.read_thread_done)
     {
-      fputs("DEBUG: Read thread still active, aborting the pending read...\n", 
-           stderr);
-
-      g.wait_eof = 0;
+      fputs("DEBUG: Waiting for read thread to exit...\n", stderr);
 
       gettimeofday(&tv, NULL);
-      cond_timeout.tv_sec  = tv.tv_sec + 1;
+      cond_timeout.tv_sec  = tv.tv_sec + WAIT_EOF_DELAY;
       cond_timeout.tv_nsec = tv.tv_usec * 1000;
-  
+
       while (!g.read_thread_done)
       {
        if (pthread_cond_timedwait(&g.read_thread_cond, &g.read_thread_mutex,
                                   &cond_timeout) != 0)
          break;
       }
-    }
-  }
 
-  pthread_mutex_unlock(&g.read_thread_mutex);
+      /*
+       * If it didn't exit abort the pending read and wait an additional
+       * second...
+       */
+
+      if (!g.read_thread_done)
+      {
+       fputs("DEBUG: Read thread still active, aborting the pending read...\n",
+             stderr);
+
+       g.wait_eof = 0;
 
-  if (print_fd)
-    close(print_fd);
+       gettimeofday(&tv, NULL);
+       cond_timeout.tv_sec  = tv.tv_sec + 1;
+       cond_timeout.tv_nsec = tv.tv_usec * 1000;
+
+       while (!g.read_thread_done)
+       {
+         if (pthread_cond_timedwait(&g.read_thread_cond, &g.read_thread_mutex,
+                                    &cond_timeout) != 0)
+           break;
+       }
+      }
+    }
+
+    pthread_mutex_unlock(&g.read_thread_mutex);
+  }
 
  /*
   * Close the connection and input file and general clean up...
@@ -573,7 +667,7 @@ print_device(const char *uri,               /* I - Device URI */
   * Clean up ....
   */
 
-  libusb_free_device_list(list, 1);
+  libusb_free_device_list(all_list, 1);
   libusb_exit(NULL);
 
   return (status);
@@ -600,31 +694,86 @@ close_device(usb_printer_t *printer)      /* I - Printer */
     * to the device...
     */
 
-    int number;                                /* Interface number */
+    int errcode;                       /* Return value of libusb function */
+    int number1,                       /* Interface number */
+       number2;                        /* Configuration number */
 
-    libusb_get_device_descriptor (printer->device, &devdesc);
-    libusb_get_config_descriptor (printer->device, printer->conf, &confptr);
-    number = confptr->interface[printer->iface].
-                 altsetting[printer->altset].bInterfaceNumber;
-    libusb_release_interface(printer->handle, number);
-    if (number != 0)
-      libusb_release_interface(printer->handle, 0);
+    errcode =
+      libusb_get_config_descriptor(printer->device, printer->conf, &confptr);
+    if (errcode >= 0)
+    {
+      number1 = confptr->interface[printer->iface].
+       altsetting[printer->altset].bInterfaceNumber;
+      libusb_release_interface(printer->handle, number1);
+
+      number2 = confptr->bConfigurationValue;
+
+      libusb_free_config_descriptor(confptr);
+
+     /*
+      * If we have changed the configuration from one valid configuration
+      * to another, restore the old one
+      */
+      if (printer->origconf > 0 && printer->origconf != number2)
+      {
+       fprintf(stderr, "DEBUG: Restoring USB device configuration: %d -> %d\n",
+               number2, printer->origconf);
+       if ((errcode = libusb_set_configuration(printer->handle,
+                                               printer->origconf)) < 0)
+       {
+         if (errcode != LIBUSB_ERROR_BUSY)
+         {
+           errcode =
+             libusb_get_device_descriptor (printer->device, &devdesc);
+           if (errcode < 0)
+             fprintf(stderr,
+                     "DEBUG: Failed to set configuration %d\n",
+                     printer->origconf);
+           else
+             fprintf(stderr,
+                     "DEBUG: Failed to set configuration %d for %04x:%04x\n",
+                     printer->origconf, devdesc.idVendor, devdesc.idProduct);
+         }
+       }
+      }
+
+     /*
+      * Re-attach "usblp" kernel module if it was attached before using this
+      * device
+      */
+      if (printer->usblp_attached == 1)
+       if (libusb_attach_kernel_driver(printer->handle, number1) < 0)
+       {
+         errcode = libusb_get_device_descriptor (printer->device, &devdesc);
+         if (errcode < 0)
+           fprintf(stderr,
+                   "DEBUG: Failed to re-attach \"usblp\" kernel module\n");
+         else
+           fprintf(stderr,
+                   "DEBUG: Failed to re-attach \"usblp\" kernel module to "
+                   "%04x:%04x\n", devdesc.idVendor, devdesc.idProduct);
+       }
+    }
+    else
+      fprintf(stderr,
+             "DEBUG: Failed to get configuration descriptor %d\n",
+             printer->conf);
 
    /*
-    * Re-attach "usblp" kernel module if it was attached before using this
-    * device
+    * Reset the device to clean up after the job
     */
 
-    if (printer->usblp_attached == 1)
+    if (printer->reset_after_job == 1)
     {
-      if (libusb_attach_kernel_driver(printer->handle, printer->iface) < 0)
+      if ((errcode = libusb_reset_device(printer->handle)) < 0)
        fprintf(stderr,
-               "DEBUG: Failed to re-attach \"usblp\" kernel module to "
-               "%04x:%04x\n", devdesc.idVendor, devdesc.idProduct);
+               "DEBUG: Device reset failed, error code: %d\n",
+               errcode);
+      else
+       fprintf(stderr,
+               "DEBUG: Resetting printer.\n");
     }
 
-    libusb_free_config_descriptor(confptr);
-
    /*
     * Close the interface and return...
     */
@@ -638,6 +787,23 @@ close_device(usb_printer_t *printer)       /* I - Printer */
 
 
 /*
+ * 'compare_quirks()' - Compare two quirks entries.
+ */
+
+static int                             /* O - Result of comparison */
+compare_quirks(usb_quirk_t *a,         /* I - First quirk entry */
+               usb_quirk_t *b)         /* I - Second quirk entry */
+{
+  int result;                          /* Result of comparison */
+
+  if ((result = b->vendor_id - a->vendor_id) == 0)
+    result = b->product_id - a->product_id;
+
+  return (result);
+}
+
+
+/*
  * 'find_device()' - Find or enumerate USB printers.
  */
 
@@ -657,7 +823,8 @@ find_device(usb_cb_t   cb,          /* I - Callback function */
                                        /* Pointer to current alternate setting */
   const struct libusb_endpoint_descriptor *endpptr = NULL;
                                        /* Pointer to current endpoint */
-  ssize_t               numdevs,        /* number of connected devices */
+  ssize_t               err = 0,       /* Error code */
+                        numdevs,        /* number of connected devices */
                         i = 0;
   uint8_t              conf,           /* Current configuration */
                        iface,          /* Current interface */
@@ -676,7 +843,14 @@ find_device(usb_cb_t   cb,         /* I - Callback function */
   * Initialize libusb...
   */
 
-  libusb_init(NULL);
+  err = libusb_init(NULL);
+  if (err)
+  {
+    fprintf(stderr, "DEBUG: Unable to initialize USB access via libusb, "
+                    "libusb error %i\n", (int)err);
+    return (NULL);
+  }
+
   numdevs = libusb_get_device_list(NULL, &list);
   fprintf(stderr, "DEBUG: libusb_get_device_list=%d\n", (int)numdevs);
 
@@ -694,15 +868,25 @@ find_device(usb_cb_t   cb,                /* I - Callback function */
       * a printer...
       */
 
-      libusb_get_device_descriptor (device, &devdesc);
+      if (libusb_get_device_descriptor(device, &devdesc) < 0)
+       continue;
 
       if (!devdesc.bNumConfigurations || !devdesc.idVendor ||
           !devdesc.idProduct)
        continue;
 
+      printer.quirks = find_quirks(devdesc.idVendor, devdesc.idProduct);
+
+     /*
+      * Ignore blacklisted printers...
+      */
+
+      if (printer.quirks & USB_QUIRK_BLACKLIST)
+        continue;
+
       for (conf = 0; conf < devdesc.bNumConfigurations; conf ++)
       {
-       if (libusb_get_config_descriptor (device, conf, &confptr) < 0)
+       if (libusb_get_config_descriptor(device, conf, &confptr) < 0)
          continue;
         for (iface = 0, ifaceptr = confptr->interface;
             iface < confptr->bNumInterfaces;
@@ -724,13 +908,18 @@ find_device(usb_cb_t   cb,                /* I - Callback function */
            * 1284.4 (packet mode) protocol as well.
            */
 
-           if (altptr->bInterfaceClass != LIBUSB_CLASS_PRINTER ||
-               altptr->bInterfaceSubClass != 1 ||
+           if (((altptr->bInterfaceClass != LIBUSB_CLASS_PRINTER ||
+                 altptr->bInterfaceSubClass != 1) &&
+                ((printer.quirks & USB_QUIRK_VENDOR_CLASS) == 0)) ||
                (altptr->bInterfaceProtocol != 1 &&     /* Unidirectional */
                 altptr->bInterfaceProtocol != 2) ||    /* Bidirectional */
                altptr->bInterfaceProtocol < protocol)
              continue;
 
+           if (printer.quirks & USB_QUIRK_VENDOR_CLASS)
+             fprintf(stderr, "DEBUG: Printer does not report class 7 and/or "
+                     "subclass 1 but works as a printer anyway\n");
+
            read_endp  = -1;
            write_endp = -1;
 
@@ -755,7 +944,10 @@ find_device(usb_cb_t   cb,         /* I - Callback function */
               protocol           = altptr->bInterfaceProtocol;
              printer.altset     = altset;
              printer.write_endp = write_endp;
-             printer.read_endp  = read_endp;
+             if (protocol > 1)
+               printer.read_endp = read_endp;
+             else
+               printer.read_endp = -1;
            }
          }
 
@@ -773,16 +965,41 @@ find_device(usb_cb_t   cb,                /* I - Callback function */
              make_device_uri(&printer, device_id, device_uri,
                              sizeof(device_uri));
 
+             fprintf(stderr, "DEBUG2: Printer found with device ID: %s "
+                     "Device URI: %s\n",
+                     device_id, device_uri);
+
              if ((*cb)(&printer, device_uri, device_id, data))
              {
-               printer.read_endp  = confptr->interface[printer.iface].
-                                          altsetting[printer.altset].
-                                          endpoint[printer.read_endp].
-                                          bEndpointAddress;
+               fprintf(stderr, "DEBUG: Device protocol: %d\n",
+                       printer.protocol);
+               if (printer.quirks & USB_QUIRK_UNIDIR)
+               {
+                 printer.read_endp = -1;
+                 fprintf(stderr, "DEBUG: Printer reports bi-di support "
+                         "but in reality works only uni-directionally\n");
+               }
+               if (printer.read_endp != -1)
+               {
+                 printer.read_endp = confptr->interface[printer.iface].
+                                           altsetting[printer.altset].
+                                           endpoint[printer.read_endp].
+                                           bEndpointAddress;
+               }
+               else
+                 fprintf(stderr, "DEBUG: Uni-directional USB communication "
+                         "only!\n");
                printer.write_endp = confptr->interface[printer.iface].
                                           altsetting[printer.altset].
                                           endpoint[printer.write_endp].
                                           bEndpointAddress;
+               if (printer.quirks & USB_QUIRK_NO_REATTACH)
+               {
+                 printer.usblp_attached = 0;
+                 fprintf(stderr, "DEBUG: Printer does not like usblp "
+                         "kernel module to be re-attached after job\n");
+               }
+               libusb_free_config_descriptor(confptr);
                return (&printer);
               }
 
@@ -803,7 +1020,8 @@ find_device(usb_cb_t   cb,         /* I - Callback function */
   * Clean up ....
   */
 
-  libusb_free_device_list(list, 1);
+  if (numdevs >= 0)
+    libusb_free_device_list(list, 1);
   libusb_exit(NULL);
 
   return (NULL);
@@ -811,6 +1029,35 @@ find_device(usb_cb_t   cb,                /* I - Callback function */
 
 
 /*
+ * 'find_quirks()' - Find the quirks for the given printer, if any.
+ *
+ * First looks for an exact match, then looks for the vendor ID wildcard match.
+ */
+
+static unsigned                                /* O - Quirks flags */
+find_quirks(int vendor_id,             /* I - Vendor ID */
+            int product_id)            /* I - Product ID */
+{
+  usb_quirk_t  key,                    /* Search key */
+               *match;                 /* Matching quirk entry */
+
+
+  key.vendor_id  = vendor_id;
+  key.product_id = product_id;
+
+  if ((match = cupsArrayFind(all_quirks, &key)) != NULL)
+    return (match->quirks);
+
+  key.product_id = 0;
+
+  if ((match = cupsArrayFind(all_quirks, &key)) != NULL)
+    return (match->quirks);
+
+  return (USB_QUIRK_WHITELIST);
+}
+
+
+/*
  * 'get_device_id()' - Get the IEEE-1284 device ID for the printer.
  */
 
@@ -916,6 +1163,104 @@ list_cb(usb_printer_t *printer,          /* I - Printer */
 
 
 /*
+ * 'load_quirks()' - Load all quirks files in the /usr/share/cups/usb directory.
+ */
+
+static void
+load_quirks(void)
+{
+  const char   *datadir;               /* CUPS_DATADIR environment variable */
+  char         filename[1024],         /* Filename */
+               line[1024];             /* Line from file */
+  cups_dir_t   *dir;                   /* Directory */
+  cups_dentry_t        *dent;                  /* Directory entry */
+  cups_file_t  *fp;                    /* Quirks file */
+  usb_quirk_t  *quirk;                 /* New quirk */
+
+
+  all_quirks = cupsArrayNew((cups_array_func_t)compare_quirks, NULL);
+
+  if ((datadir = getenv("CUPS_DATADIR")) == NULL)
+    datadir = CUPS_DATADIR;
+
+  snprintf(filename, sizeof(filename), "%s/usb", datadir);
+  if ((dir = cupsDirOpen(filename)) == NULL)
+  {
+    perror(filename);
+    return;
+  }
+
+  fprintf(stderr, "DEBUG: Loading USB quirks from \"%s\".\n", filename);
+
+  while ((dent = cupsDirRead(dir)) != NULL)
+  {
+    if (!S_ISREG(dent->fileinfo.st_mode))
+      continue;
+
+    snprintf(filename, sizeof(filename), "%s/usb/%s", datadir, dent->filename);
+    if ((fp = cupsFileOpen(filename, "r")) == NULL)
+    {
+      perror(filename);
+      continue;
+    }
+
+    while (cupsFileGets(fp, line, sizeof(line)))
+    {
+     /*
+      * Skip blank and comment lines...
+      */
+
+      if (line[0] == '#' || !line[0])
+        continue;
+
+     /*
+      * Add a quirk...
+      */
+
+      if ((quirk = calloc(1, sizeof(usb_quirk_t))) == NULL)
+      {
+        perror("DEBUG: Unable to allocate memory for quirk");
+        break;
+      }
+
+      if (sscanf(line, "%x%x", &quirk->vendor_id, &quirk->product_id) < 1)
+      {
+        fprintf(stderr, "DEBUG: Bad line: %s\n", line);
+        free(quirk);
+        continue;
+      }
+
+      if (strstr(line, " blacklist"))
+        quirk->quirks |= USB_QUIRK_BLACKLIST;
+
+      if (strstr(line, " no-reattach"))
+        quirk->quirks |= USB_QUIRK_NO_REATTACH;
+
+      if (strstr(line, " soft-reset"))
+        quirk->quirks |= USB_QUIRK_SOFT_RESET;
+
+      if (strstr(line, " unidir"))
+        quirk->quirks |= USB_QUIRK_UNIDIR;
+
+      if (strstr(line, " usb-init"))
+        quirk->quirks |= USB_QUIRK_USB_INIT;
+
+      if (strstr(line, " vendor-class"))
+        quirk->quirks |= USB_QUIRK_VENDOR_CLASS;
+
+      cupsArrayAdd(all_quirks, quirk);
+    }
+
+    cupsFileClose(fp);
+  }
+
+  fprintf(stderr, "DEBUG: Loaded %d quirks.\n", cupsArrayCount(all_quirks));
+
+  cupsDirClose(dir);
+}
+
+
+/*
  * 'make_device_uri()' - Create a device URI for a USB printer.
  */
 
@@ -950,7 +1295,7 @@ make_device_uri(
   if ((sern = cupsGetOption("SERIALNUMBER", num_values, values)) == NULL)
     if ((sern = cupsGetOption("SERN", num_values, values)) == NULL)
       if ((sern = cupsGetOption("SN", num_values, values)) == NULL &&
-         ((libusb_get_device_descriptor (printer->device, &devdesc) >= 0) &&
+         ((libusb_get_device_descriptor(printer->device, &devdesc) >= 0) &&
           devdesc.iSerialNumber))
       {
        /*
@@ -1086,12 +1431,53 @@ open_device(usb_printer_t *printer,     /* I - Printer */
   * Try opening the printer...
   */
 
-  if (libusb_open(printer->device, &printer->handle) < 0)
+  if ((errcode = libusb_open(printer->device, &printer->handle)) < 0)
+  {
+    fprintf(stderr, "DEBUG: Failed to open device, code: %d\n",
+           errcode);
     return (-1);
+  }
+
+  printer->usblp_attached = 0;
+  printer->reset_after_job = 0;
 
   if (verbose)
     fputs("STATE: +connecting-to-device\n", stderr);
 
+  if ((errcode = libusb_get_device_descriptor(printer->device, &devdesc)) < 0)
+  {
+    fprintf(stderr, "DEBUG: Failed to get device descriptor, code: %d\n",
+           errcode);
+    goto error;
+  }
+
+ /*
+  * Get the "usblp" kernel module out of the way. This backend only
+  * works without the module attached.
+  */
+
+  errcode = libusb_kernel_driver_active(printer->handle, printer->iface);
+  if (errcode == 0)
+    printer->usblp_attached = 0;
+  else if (errcode == 1)
+  {
+    printer->usblp_attached = 1;
+    if ((errcode =
+        libusb_detach_kernel_driver(printer->handle, printer->iface)) < 0)
+    {
+      fprintf(stderr, "DEBUG: Failed to detach \"usblp\" module from %04x:%04x\n",
+             devdesc.idVendor, devdesc.idProduct);
+      goto error;
+    }
+  }
+  else
+  {
+    printer->usblp_attached = 0;
+    fprintf(stderr, "DEBUG: Failed to check whether %04x:%04x has the \"usblp\" kernel module attached\n",
+             devdesc.idVendor, devdesc.idProduct);
+    goto error;
+  }
+
  /*
   * Set the desired configuration, but only if it needs changing. Some
   * printers (e.g., Samsung) don't like libusb_set_configuration. It will
@@ -1106,12 +1492,22 @@ open_device(usb_printer_t *printer,     /* I - Printer */
                0, 0, (unsigned char *)&current, 1, 5000) < 0)
     current = 0;                       /* Assume not configured */
 
-  libusb_get_device_descriptor (printer->device, &devdesc);
-  libusb_get_config_descriptor (printer->device, printer->conf, &confptr);
+  printer->origconf = current;
+
+  if ((errcode =
+       libusb_get_config_descriptor (printer->device, printer->conf, &confptr))
+      < 0)
+  {
+    fprintf(stderr, "DEBUG: Failed to get config descriptor for %04x:%04x\n",
+           devdesc.idVendor, devdesc.idProduct);
+    goto error;
+  }
   number1 = confptr->bConfigurationValue;
 
   if (number1 != current)
   {
+    fprintf(stderr, "DEBUG: Switching USB device configuration: %d -> %d\n",
+           current, number1);
     if ((errcode = libusb_set_configuration(printer->handle, number1)) < 0)
     {
      /*
@@ -1127,33 +1523,6 @@ open_device(usb_printer_t *printer,      /* I - Printer */
   }
 
  /*
-  * Get the "usblp" kernel module out of the way. This backend only
-  * works without the module attached.
-  */
-
-  errcode = libusb_kernel_driver_active(printer->handle, printer->iface);
-  if (errcode == 0)
-    printer->usblp_attached = 0;
-  else if (errcode == 1)
-  {
-    printer->usblp_attached = 1;
-    if ((errcode =
-        libusb_detach_kernel_driver(printer->handle, printer->iface)) < 0)
-    {
-      fprintf(stderr, "DEBUG: Failed to detach \"usblp\" module from %04x:%04x\n",
-             devdesc.idVendor, devdesc.idProduct);
-      goto error;
-    }
-  }
-  else
-  {
-    printer->usblp_attached = 0;
-    fprintf(stderr, "DEBUG: Failed to check whether %04x:%04x has the \"usblp\" kernel module attached\n",
-             devdesc.idVendor, devdesc.idProduct);
-    goto error;
-  }
-
- /*
   * Claim interfaces as needed...
   */
 
@@ -1163,11 +1532,13 @@ open_device(usb_printer_t *printer,     /* I - Printer */
   while ((errcode = libusb_claim_interface(printer->handle, number1)) < 0)
   {
     if (errcode != LIBUSB_ERROR_BUSY)
+    {
       fprintf(stderr,
               "DEBUG: Failed to claim interface %d for %04x:%04x: %s\n",
               number1, devdesc.idVendor, devdesc.idProduct, strerror(errno));
 
-    goto error;
+      goto error;
+    }
   }
 
  /*
@@ -1187,12 +1558,14 @@ open_device(usb_printer_t *printer,     /* I - Printer */
           < 0)
     {
       if (errcode != LIBUSB_ERROR_BUSY)
+      {
         fprintf(stderr,
                 "DEBUG: Failed to set alternate interface %d for %04x:%04x: "
                 "%s\n",
                 number2, devdesc.idVendor, devdesc.idProduct, strerror(errno));
 
-      goto error;
+       goto error;
+      }
     }
   }
 
@@ -1536,13 +1909,15 @@ sidechannel_thread(void *reference)
  * 'soft_reset()' - Send a soft reset to the device.
  */
 
-static void soft_reset(void)
+static void
+soft_reset(void)
 {
   fd_set         input_set;            /* Input set for select() */
   struct timeval  tv;                  /* Time value */
   char           buffer[2048];         /* Buffer */
   struct timespec cond_timeout;                /* pthread condition timeout */
 
+
  /*
   * Send an abort once a second until the I/O lock is released by the main
   * thread...
@@ -1587,7 +1962,7 @@ static void soft_reset(void)
   * Send the reset...
   */
 
-  libusb_reset_device (g.printer->handle);
+  soft_reset_printer(g.printer);
 
  /*
   * Release the I/O lock...
@@ -1601,6 +1976,51 @@ static void soft_reset(void)
 
 
 /*
- * End of "$Id: usb-libusb.c 10267 2012-02-12 08:35:28Z mike $".
+ * 'soft_reset_printer()' - Do the soft reset request specific to printers
+ *
+ * This soft reset is specific to the printer device class and is much less
+ * invasive than the general USB reset libusb_reset_device(). Especially it
+ * does never happen that the USB addressing and configuration changes. What
+ * is actually done is that all buffers get flushed and the bulk IN and OUT
+ * pipes get reset to their default states. This clears all stall conditions.
+ * See http://cholla.mmto.org/computers/linux/usb/usbprint11.pdf
+ */
+
+static int                             /* O - 0 on success, < 0 on error */
+soft_reset_printer(
+    usb_printer_t *printer)            /* I - Printer */
+{
+  struct libusb_config_descriptor *confptr = NULL;
+                                        /* Pointer to current configuration */
+  int interface,                       /* Interface to reset */
+      errcode;                         /* Error code */
+
+
+  if (libusb_get_config_descriptor(printer->device, printer->conf,
+                                   &confptr) < 0)
+    interface = printer->iface;
+  else
+    interface = confptr->interface[printer->iface].
+                         altsetting[printer->altset].bInterfaceNumber;
+
+  libusb_free_config_descriptor(confptr);
+
+  if ((errcode = libusb_control_transfer(printer->handle,
+                                        LIBUSB_REQUEST_TYPE_CLASS |
+                                        LIBUSB_ENDPOINT_OUT |
+                                        LIBUSB_RECIPIENT_OTHER,
+                                        2, 0, interface, NULL, 0, 5000)) < 0)
+    errcode = libusb_control_transfer(printer->handle,
+                                     LIBUSB_REQUEST_TYPE_CLASS |
+                                     LIBUSB_ENDPOINT_OUT |
+                                     LIBUSB_RECIPIENT_INTERFACE,
+                                     2, 0, interface, NULL, 0, 5000);
+
+  return (errcode);
+}
+
+
+/*
+ * End of "$Id: usb-libusb.c 11173 2013-07-23 12:31:34Z msweet $".
  */
 
index 1c28033..adcd254 100644 (file)
@@ -1,11 +1,11 @@
 /*
- * "$Id: usb-unix.c 9793 2011-05-20 03:49:49Z mike $"
+ * "$Id: usb-unix.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   USB port backend for CUPS.
  *
  *   This file is included from "usb.c" when compiled on UNIX/Linux.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -128,16 +128,12 @@ print_device(const char *uri,             /* I - Device URI */
 
       if (errno == EBUSY)
       {
-        _cupsLangPrintFilter(stderr, "INFO",
-                            _("Printer busy, will retry in 10 seconds."));
+        _cupsLangPrintFilter(stderr, "INFO", _("The printer is in use."));
        sleep(10);
       }
       else if (errno == ENXIO || errno == EIO || errno == ENOENT ||
                errno == ENODEV)
       {
-        _cupsLangPrintFilter(stderr, "INFO",
-                            _("Printer not connected, will retry in 30 "
-                              "seconds."));
        sleep(30);
       }
       else
@@ -425,8 +421,7 @@ open_device(const char *uri,                /* I - Device URI */
       */
 
       if (busy)
-       _cupsLangPrintFilter(stderr, "INFO",
-                            _("Printer is busy, will retry in 5 seconds."));
+       _cupsLangPrintFilter(stderr, "INFO", _("The printer is in use."));
 
       sleep(5);
     }
@@ -509,8 +504,7 @@ open_device(const char *uri,                /* I - Device URI */
 
       if (busy)
       {
-       _cupsLangPrintFilter(stderr, "INFO",
-                            _("Printer is busy, will retry in 5 seconds."));
+       _cupsLangPrintFilter(stderr, "INFO", _("The printer is in use."));
        sleep(5);
       }
     }
@@ -619,5 +613,5 @@ side_cb(int         print_fd,               /* I - Print file */
 
 
 /*
- * End of "$Id: usb-unix.c 9793 2011-05-20 03:49:49Z mike $".
+ * End of "$Id: usb-unix.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 2cacb74..914a4ac 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: usb.c 10265 2012-02-12 07:20:10Z mike $"
+ * "$Id: usb.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   USB port backend for CUPS.
  *
@@ -260,5 +260,5 @@ main(int  argc,                             /* I - Number of command-line arguments (6 or 7) */
 
 
 /*
- * End of "$Id: usb.c 10265 2012-02-12 07:20:10Z mike $".
+ * End of "$Id: usb.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 9d43cca..46b71d9 100644 (file)
@@ -1,34 +1,25 @@
-# DO NOT DELETE THIS LINE -- make depend depends on it.
-
-lpc.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-lpc.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-lpc.o: ../cups/language.h ../cups/string-private.h ../config.h
-lpc.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
-lpc.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-lpc.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-lpc.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-lpc.o: ../cups/transcode.h ../cups/thread-private.h
-lpq.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-lpq.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-lpq.o: ../cups/language.h ../cups/string-private.h ../config.h
-lpq.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
-lpq.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-lpq.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-lpq.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-lpq.o: ../cups/transcode.h ../cups/thread-private.h
-lpr.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-lpr.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-lpr.o: ../cups/language.h ../cups/string-private.h ../config.h
-lpr.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
-lpr.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-lpr.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-lpr.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-lpr.o: ../cups/transcode.h ../cups/thread-private.h
-lprm.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-lprm.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-lprm.o: ../cups/language.h ../cups/string-private.h ../config.h
-lprm.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
-lprm.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-lprm.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-lprm.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-lprm.o: ../cups/transcode.h ../cups/thread-private.h
+lpc.o: lpc.c ../cups/cups-private.h ../cups/string-private.h ../config.h \
+  ../cups/debug-private.h ../cups/versioning.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+lpq.o: lpq.c ../cups/cups-private.h ../cups/string-private.h ../config.h \
+  ../cups/debug-private.h ../cups/versioning.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+lpr.o: lpr.c ../cups/cups-private.h ../cups/string-private.h ../config.h \
+  ../cups/debug-private.h ../cups/versioning.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+lprm.o: lprm.c ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
index 64aa82d..8f208ae 100644 (file)
@@ -1,9 +1,9 @@
 #
-# "$Id: Makefile 9771 2011-05-12 05:21:56Z mike $"
+# "$Id: Makefile 11173 2013-07-23 12:31:34Z msweet $"
 #
 #   Berkeley commands makefile for CUPS.
 #
-#   Copyright 2007-2011 by Apple Inc.
+#   Copyright 2007-2012 by Apple Inc.
 #   Copyright 1997-2006 by Easy Software Products, all rights reserved.
 #
 #   These coded instructions, statements, and computer programs are the
@@ -54,7 +54,7 @@ clean:
 #
 
 depend:
-       makedepend -Y -I.. -fDependencies $(OBJS:.o=.c) >/dev/null 2>&1
+       $(CC) -MM $(ALL_CFLAGS) $(OBJS:.o=.c) >Dependencies
 
 
 #
@@ -163,5 +163,5 @@ include Dependencies
 
 
 #
-# End of "$Id: Makefile 9771 2011-05-12 05:21:56Z mike $".
+# End of "$Id: Makefile 11173 2013-07-23 12:31:34Z msweet $".
 #
index 0460a8f..e402a78 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: lpc.c 10379 2012-03-23 22:16:22Z mike $"
+ * "$Id: lpc.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   "lpc" command for CUPS.
  *
@@ -446,5 +446,5 @@ show_status(http_t     *http,               /* I - HTTP connection to server */
 
 
 /*
- * End of "$Id: lpc.c 10379 2012-03-23 22:16:22Z mike $".
+ * End of "$Id: lpc.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 1c67395..d3839d5 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: lpq.c 9744 2011-05-05 23:42:30Z mike $"
+ * "$Id: lpq.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   "lpq" command for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2013 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -39,7 +39,7 @@ static http_t *connect_server(const char *, http_t *);
 static int     show_jobs(const char *, http_t *, const char *,
                          const char *, const int, const int);
 static void    show_printer(const char *, http_t *, const char *);
-static void    usage(void);
+static void    usage(void) __attribute__((noreturn));
 
 
 /*
@@ -60,8 +60,7 @@ main(int  argc,                               /* I - Number of command-line arguments */
                all,                    /* All printers */
                interval,               /* Reporting interval */
                longstatus;             /* Show file details */
-  int          num_dests;              /* Number of destinations */
-  cups_dest_t  *dests;                 /* Destinations */
+  cups_dest_t  *named_dest;            /* Named destination */
 
 
   _cupsSetLocale(argv);
@@ -77,8 +76,6 @@ main(int  argc,                               /* I - Number of command-line arguments */
   interval   = 0;
   longstatus = 0;
   all        = 0;
-  num_dests  = 0;
-  dests      = NULL;
 
   for (i = 1; i < argc; i ++)
     if (argv[i][0] == '+')
@@ -127,7 +124,6 @@ main(int  argc,                             /* I - Number of command-line arguments */
              if (i >= argc)
              {
                httpClose(http);
-               cupsFreeDests(num_dests, dests);
 
                usage();
              }
@@ -140,12 +136,14 @@ main(int  argc,                           /* I - Number of command-line arguments */
 
             http = connect_server(argv[0], http);
 
-            if (num_dests == 0)
-              num_dests = cupsGetDests2(http, &dests);
-
-            if (cupsGetDest(dest, instance, num_dests, dests) == NULL)
+            if ((named_dest = cupsGetNamedDest(http, dest, instance)) == NULL)
            {
-             if (instance)
+             if (cupsLastError() == IPP_BAD_REQUEST ||
+                 cupsLastError() == IPP_VERSION_NOT_SUPPORTED)
+               _cupsLangPrintf(stderr,
+                               _("%s: Error - add '/version=1.1' to server "
+                                 "name."), argv[0]);
+             else if (instance)
                _cupsLangPrintf(stderr,
                                _("%s: Error - unknown destination \"%s/%s\"."),
                                argv[0], dest, instance);
@@ -155,6 +153,8 @@ main(int  argc,                             /* I - Number of command-line arguments */
 
              return (1);
            }
+
+           cupsFreeDests(1, named_dest);
            break;
 
        case 'a' : /* All printers */
@@ -192,7 +192,6 @@ main(int  argc,                             /* I - Number of command-line arguments */
 
        default :
            httpClose(http);
-           cupsFreeDests(num_dests, dests);
 
            usage();
            break;
@@ -207,15 +206,17 @@ main(int  argc,                           /* I - Number of command-line arguments */
 
   if (dest == NULL && !all)
   {
-    if (num_dests == 0)
-      num_dests = cupsGetDests2(http, &dests);
-
-    for (i = 0; i < num_dests; i ++)
-      if (dests[i].is_default)
-       dest = dests[i].name;
-
-    if (dest == NULL)
+    if ((named_dest = cupsGetNamedDest(http, NULL, NULL)) == NULL)
     {
+      if (cupsLastError() == IPP_BAD_REQUEST ||
+          cupsLastError() == IPP_VERSION_NOT_SUPPORTED)
+      {
+       _cupsLangPrintf(stderr,
+                       _("%s: Error - add '/version=1.1' to server name."),
+                       argv[0]);
+        return (1);
+      }
+
       val = NULL;
 
       if ((dest = getenv("LPDEST")) == NULL)
@@ -231,7 +232,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
       else
        val = "LPDEST";
 
-      if (dest && !cupsGetDest(dest, NULL, num_dests, dests))
+      if (dest && val)
        _cupsLangPrintf(stderr,
                        _("%s: Error - %s environment variable names "
                          "non-existent destination \"%s\"."), argv[0], val,
@@ -241,9 +242,10 @@ main(int  argc,                            /* I - Number of command-line arguments */
                        _("%s: Error - no default destination available."),
                        argv[0]);
       httpClose(http);
-      cupsFreeDests(num_dests, dests);
       return (1);
     }
+
+    dest = named_dest->name;
   }
 
  /*
@@ -270,7 +272,6 @@ main(int  argc,                             /* I - Number of command-line arguments */
   * Close the connection to the server and return...
   */
 
-  cupsFreeDests(num_dests, dests);
   httpClose(http);
 
   return (0);
@@ -371,6 +372,7 @@ show_jobs(const char *command,              /* I - Command name */
   *    attributes-natural-language
   *    job-uri or printer-uri
   *    requested-attributes
+  *    requesting-user-name
   */
 
   request = ippNewRequest(id ? IPP_GET_JOB_ATTRIBUTES : IPP_GET_JOBS);
@@ -399,6 +401,9 @@ show_jobs(const char *command,              /* I - Command name */
                  "requesting-user-name", NULL, user);
     ippAddBoolean(request, IPP_TAG_OPERATION, "my-jobs", 1);
   }
+  else
+    ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_NAME,
+                 "requesting-user-name", NULL, cupsUser());
 
   ippAddStrings(request, IPP_TAG_OPERATION, IPP_TAG_KEYWORD,
                 "requested-attributes",
@@ -447,8 +452,8 @@ show_jobs(const char *command,              /* I - Command name */
       jobpriority = 50;
 #endif /* __osf__ */
       jobstate    = IPP_JOB_PENDING;
-      jobname     = "untitled";
-      jobuser     = NULL;
+      jobname     = "unknown";
+      jobuser     = "unknown";
       jobdest     = NULL;
       jobcopies   = 1;
 
@@ -674,5 +679,5 @@ usage(void)
 
 
 /*
- * End of "$Id: lpq.c 9744 2011-05-05 23:42:30Z mike $".
+ * End of "$Id: lpq.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 34bb329..724a0c1 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: lpr.c 9636 2011-03-21 22:02:00Z mike $"
+ * "$Id: lpr.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   "lpr" command for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2013 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -61,6 +61,7 @@ main(int  argc,                               /* I - Number of command-line arguments */
 
   for (i = 1; i < argc; i ++)
     if (argv[i][0] == '-')
+    {
       switch (ch = argv[i][1])
       {
         case 'E' : /* Encrypt */
@@ -89,7 +90,7 @@ main(int  argc,                               /* I - Number of command-line arguments */
               cupsSetUser(argv[i]);
            }
            break;
-           
+
         case 'H' : /* Connect to host */
            if (argv[i][2] != '\0')
               cupsSetServer(argv[i] + 2);
@@ -226,6 +227,14 @@ main(int  argc,                            /* I - Number of command-line arguments */
                                              dest->options[j].value,
                                              num_options, &options);
            }
+           else if (cupsLastError() == IPP_BAD_REQUEST ||
+                    cupsLastError() == IPP_VERSION_NOT_SUPPORTED)
+           {
+             _cupsLangPrintf(stderr,
+                             _("%s: Error - add '/version=1.1' to server "
+                               "name."), argv[0]);
+             return (1);
+           }
            break;
 
        case '#' : /* Number of copies */
@@ -275,6 +284,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
                            argv[i][1]);
            return (1);
       }
+    }
     else if (num_files < 1000)
     {
      /*
@@ -320,6 +330,14 @@ main(int  argc,                            /* I - Number of command-line arguments */
                                      dest->options[j].value,
                                      num_options, &options);
     }
+    else if (cupsLastError() == IPP_BAD_REQUEST ||
+            cupsLastError() == IPP_VERSION_NOT_SUPPORTED)
+    {
+      _cupsLangPrintf(stderr,
+                     _("%s: Error - add '/version=1.1' to server "
+                       "name."), argv[0]);
+      return (1);
+    }
   }
 
   if (printer == NULL)
@@ -377,7 +395,6 @@ main(int  argc,                             /* I - Number of command-line arguments */
     const char         *format;        /* Document format */
     ssize_t            bytes;          /* Bytes read */
 
-
     if (cupsGetOption("raw", num_options, options))
       format = CUPS_FORMAT_RAW;
     else if ((format = cupsGetOption("document-format", num_options,
@@ -395,11 +412,17 @@ main(int  argc,                           /* I - Number of command-line arguments */
     {
       _cupsLangPrintf(stderr, _("%s: Error - unable to queue from stdin - %s."),
                      argv[0], httpStatus(status));
+      cupsFinishDocument(CUPS_HTTP_DEFAULT, printer);
+      cupsCancelJob2(CUPS_HTTP_DEFAULT, printer, job_id, 0);
       return (1);
     }
 
     if (cupsFinishDocument(CUPS_HTTP_DEFAULT, printer) != IPP_OK)
-      job_id = 0;
+    {
+      _cupsLangPrintf(stderr, "%s: %s", argv[0], cupsLastErrorString());
+      cupsCancelJob2(CUPS_HTTP_DEFAULT, printer, job_id, 0);
+      return (1);
+    }
   }
 
   if (job_id < 1)
@@ -413,5 +436,5 @@ main(int  argc,                             /* I - Number of command-line arguments */
 
 
 /*
- * End of "$Id: lpr.c 9636 2011-03-21 22:02:00Z mike $".
+ * End of "$Id: lpr.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 6d69a46..3427def 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: lprm.c 9384 2010-11-22 07:06:39Z mike $"
+ * "$Id: lprm.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   "lprm" command for CUPS.
  *
@@ -213,5 +213,5 @@ main(int  argc,                     /* I - Number of command-line arguments */
 
 
 /*
- * End of "$Id: lprm.c 9384 2010-11-22 07:06:39Z mike $".
+ * End of "$Id: lprm.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 9b7f87e..ff16e48 100644 (file)
@@ -1,84 +1,73 @@
-# DO NOT DELETE
-
-help-index.o: cgi-private.h cgi.h ../cups/cups.h ../cups/file.h
-help-index.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-help-index.o: ../cups/array.h ../cups/language.h ../cups/array.h help-index.h
-help-index.o: ../cups/debug-private.h ../cups/versioning.h
-help-index.o: ../cups/language-private.h ../cups/transcode.h
-help-index.o: ../cups/string-private.h ../config.h ../cups/dir.h
-html.o: cgi-private.h cgi.h ../cups/cups.h ../cups/file.h
-html.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-html.o: ../cups/language.h ../cups/array.h help-index.h
-html.o: ../cups/debug-private.h ../cups/versioning.h
-html.o: ../cups/language-private.h ../cups/transcode.h
-html.o: ../cups/string-private.h ../config.h
-ipp-var.o: cgi-private.h cgi.h ../cups/cups.h ../cups/file.h
-ipp-var.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-ipp-var.o: ../cups/language.h ../cups/array.h help-index.h
-ipp-var.o: ../cups/debug-private.h ../cups/versioning.h
-ipp-var.o: ../cups/language-private.h ../cups/transcode.h
-ipp-var.o: ../cups/string-private.h ../config.h
-search.o: cgi-private.h cgi.h ../cups/cups.h ../cups/file.h
-search.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-search.o: ../cups/language.h ../cups/array.h help-index.h
-search.o: ../cups/debug-private.h ../cups/versioning.h
-search.o: ../cups/language-private.h ../cups/transcode.h
-search.o: ../cups/string-private.h ../config.h
-template.o: cgi-private.h cgi.h ../cups/cups.h ../cups/file.h
-template.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-template.o: ../cups/language.h ../cups/array.h help-index.h
-template.o: ../cups/debug-private.h ../cups/versioning.h
-template.o: ../cups/language-private.h ../cups/transcode.h
-template.o: ../cups/string-private.h ../config.h
-var.o: cgi-private.h cgi.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
-var.o: ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
-var.o: ../cups/array.h help-index.h ../cups/debug-private.h
-var.o: ../cups/versioning.h ../cups/language-private.h ../cups/transcode.h
-var.o: ../cups/string-private.h ../config.h ../cups/http.h
-var.o: ../cups/md5-private.h
-admin.o: cgi-private.h cgi.h ../cups/cups.h ../cups/file.h
-admin.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-admin.o: ../cups/language.h ../cups/array.h help-index.h
-admin.o: ../cups/debug-private.h ../cups/versioning.h
-admin.o: ../cups/language-private.h ../cups/transcode.h
-admin.o: ../cups/string-private.h ../config.h ../cups/adminutil.h
-admin.o: ../cups/cups.h ../cups/ppd.h
-classes.o: cgi-private.h cgi.h ../cups/cups.h ../cups/file.h
-classes.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-classes.o: ../cups/language.h ../cups/array.h help-index.h
-classes.o: ../cups/debug-private.h ../cups/versioning.h
-classes.o: ../cups/language-private.h ../cups/transcode.h
-classes.o: ../cups/string-private.h ../config.h
-help.o: cgi-private.h cgi.h ../cups/cups.h ../cups/file.h
-help.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-help.o: ../cups/language.h ../cups/array.h help-index.h
-help.o: ../cups/debug-private.h ../cups/versioning.h
-help.o: ../cups/language-private.h ../cups/transcode.h
-help.o: ../cups/string-private.h ../config.h
-jobs.o: cgi-private.h cgi.h ../cups/cups.h ../cups/file.h
-jobs.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-jobs.o: ../cups/language.h ../cups/array.h help-index.h
-jobs.o: ../cups/debug-private.h ../cups/versioning.h
-jobs.o: ../cups/language-private.h ../cups/transcode.h
-jobs.o: ../cups/string-private.h ../config.h
-makedocset.o: cgi.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
-makedocset.o: ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
-makedocset.o: ../cups/array.h help-index.h
-printers.o: cgi-private.h cgi.h ../cups/cups.h ../cups/file.h
-printers.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-printers.o: ../cups/language.h ../cups/array.h help-index.h
-printers.o: ../cups/debug-private.h ../cups/versioning.h
-printers.o: ../cups/language-private.h ../cups/transcode.h
-printers.o: ../cups/string-private.h ../config.h
-testcgi.o: cgi.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
-testcgi.o: ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
-testcgi.o: ../cups/array.h help-index.h
-testhi.o: cgi.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
-testhi.o: ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
-testhi.o: ../cups/array.h help-index.h
-testtemplate.o: cgi.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
-testtemplate.o: ../cups/ipp.h ../cups/http.h ../cups/array.h
-testtemplate.o: ../cups/language.h ../cups/array.h help-index.h
-websearch.o: cgi.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
-websearch.o: ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
-websearch.o: ../cups/array.h help-index.h
+help-index.o: help-index.c cgi-private.h cgi.h ../cups/cups.h \
+  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h \
+  ../cups/array.h ../cups/language.h help-index.h \
+  ../cups/debug-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/string-private.h ../config.h ../cups/ipp-private.h \
+  ../cups/dir.h
+html.o: html.c cgi-private.h cgi.h ../cups/cups.h ../cups/file.h \
+  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/language.h help-index.h ../cups/debug-private.h \
+  ../cups/language-private.h ../cups/transcode.h \
+  ../cups/string-private.h ../config.h ../cups/ipp-private.h
+ipp-var.o: ipp-var.c cgi-private.h cgi.h ../cups/cups.h ../cups/file.h \
+  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/language.h help-index.h ../cups/debug-private.h \
+  ../cups/language-private.h ../cups/transcode.h \
+  ../cups/string-private.h ../config.h ../cups/ipp-private.h
+search.o: search.c cgi-private.h cgi.h ../cups/cups.h ../cups/file.h \
+  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/language.h help-index.h ../cups/debug-private.h \
+  ../cups/language-private.h ../cups/transcode.h \
+  ../cups/string-private.h ../config.h ../cups/ipp-private.h
+template.o: template.c cgi-private.h cgi.h ../cups/cups.h ../cups/file.h \
+  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/language.h help-index.h ../cups/debug-private.h \
+  ../cups/language-private.h ../cups/transcode.h \
+  ../cups/string-private.h ../config.h ../cups/ipp-private.h
+var.o: var.c cgi-private.h cgi.h ../cups/cups.h ../cups/file.h \
+  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/language.h help-index.h ../cups/debug-private.h \
+  ../cups/language-private.h ../cups/transcode.h \
+  ../cups/string-private.h ../config.h ../cups/ipp-private.h \
+  ../cups/md5-private.h
+admin.o: admin.c cgi-private.h cgi.h ../cups/cups.h ../cups/file.h \
+  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/language.h help-index.h ../cups/debug-private.h \
+  ../cups/language-private.h ../cups/transcode.h \
+  ../cups/string-private.h ../config.h ../cups/ipp-private.h \
+  ../cups/adminutil.h ../cups/ppd.h
+classes.o: classes.c cgi-private.h cgi.h ../cups/cups.h ../cups/file.h \
+  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/language.h help-index.h ../cups/debug-private.h \
+  ../cups/language-private.h ../cups/transcode.h \
+  ../cups/string-private.h ../config.h ../cups/ipp-private.h
+help.o: help.c cgi-private.h cgi.h ../cups/cups.h ../cups/file.h \
+  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/language.h help-index.h ../cups/debug-private.h \
+  ../cups/language-private.h ../cups/transcode.h \
+  ../cups/string-private.h ../config.h ../cups/ipp-private.h
+jobs.o: jobs.c cgi-private.h cgi.h ../cups/cups.h ../cups/file.h \
+  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/language.h help-index.h ../cups/debug-private.h \
+  ../cups/language-private.h ../cups/transcode.h \
+  ../cups/string-private.h ../config.h ../cups/ipp-private.h
+makedocset.o: makedocset.c cgi.h ../cups/cups.h ../cups/file.h \
+  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/language.h help-index.h
+printers.o: printers.c cgi-private.h cgi.h ../cups/cups.h ../cups/file.h \
+  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/language.h help-index.h ../cups/debug-private.h \
+  ../cups/language-private.h ../cups/transcode.h \
+  ../cups/string-private.h ../config.h ../cups/ipp-private.h
+testcgi.o: testcgi.c cgi.h ../cups/cups.h ../cups/file.h \
+  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/language.h help-index.h
+testhi.o: testhi.c cgi.h ../cups/cups.h ../cups/file.h \
+  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/language.h help-index.h
+testtemplate.o: testtemplate.c cgi.h ../cups/cups.h ../cups/file.h \
+  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/language.h help-index.h
+websearch.o: websearch.c cgi.h ../cups/cups.h ../cups/file.h \
+  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/language.h help-index.h
index 9f20ff6..a3d5265 100644 (file)
@@ -1,9 +1,9 @@
 #
-# "$Id: Makefile 8983 2010-02-13 02:20:23Z mike $"
+# "$Id: Makefile 11173 2013-07-23 12:31:34Z msweet $"
 #
 #   CGI makefile for CUPS.
 #
-#   Copyright 2007-2010 by Apple Inc.
+#   Copyright 2007-2012 by Apple Inc.
 #   Copyright 1997-2006 by Easy Software Products.
 #
 #   These coded instructions, statements, and computer programs are the
@@ -90,7 +90,7 @@ clean:
 #
 
 depend:
-       makedepend -Y -I.. -fDependencies $(OBJS:.o=.c) >/dev/null 2>&1
+       $(CC) -MM $(ALL_CFLAGS) $(OBJS:.o=.c) >Dependencies
 
 
 #
@@ -378,5 +378,5 @@ include Dependencies
 
 
 #
-# End of "$Id: Makefile 8983 2010-02-13 02:20:23Z mike $".
+# End of "$Id: Makefile 11173 2013-07-23 12:31:34Z msweet $".
 #
index a695c61..c30b590 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: admin.c 9901 2011-08-17 21:01:53Z mike $"
+ * "$Id: admin.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Administration CGI for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -523,7 +523,7 @@ do_add_rss_subscription(http_t *http)       /* I - HTTP connection */
   else if (cupsLastError() > IPP_OK_CONFLICT)
   {
     cgiStartHTML(_("Add RSS Subscription"));
-    cgiShowIPPError(_("Unable to add RSS subscription:"));
+    cgiShowIPPError(_("Unable to add RSS subscription"));
   }
   else
   {
@@ -586,8 +586,7 @@ do_am_class(http_t *http,           /* I - HTTP connection */
     ippAddInteger(request, IPP_TAG_OPERATION, IPP_TAG_ENUM, "printer-type",
                  CUPS_PRINTER_LOCAL);
     ippAddInteger(request, IPP_TAG_OPERATION, IPP_TAG_ENUM, "printer-type-mask",
-                 CUPS_PRINTER_CLASS | CUPS_PRINTER_REMOTE |
-                     CUPS_PRINTER_IMPLICIT);
+                 CUPS_PRINTER_CLASS | CUPS_PRINTER_REMOTE);
 
    /*
     * Do the request and get back a response...
@@ -811,8 +810,8 @@ do_am_class(http_t *http,           /* I - HTTP connection */
   else if (cupsLastError() > IPP_OK_CONFLICT)
   {
     cgiStartHTML(title);
-    cgiShowIPPError(modify ? _("Unable to modify class:") :
-                             _("Unable to add class:"));
+    cgiShowIPPError(modify ? _("Unable to modify class") :
+                             _("Unable to add class"));
   }
   else
   {
@@ -1056,8 +1055,8 @@ do_am_printer(http_t *http,               /* I - HTTP connection */
       else
       {
        cgiStartHTML(title);
-       cgiShowIPPError(modify ? _("Unable to modify printer:") :
-                                _("Unable to add printer:"));
+       cgiShowIPPError(modify ? _("Unable to modify printer") :
+                                _("Unable to add printer"));
        cgiEndHTML();
         return;
       }
@@ -1318,7 +1317,7 @@ do_am_printer(http_t *http,               /* I - HTTP connection */
     else
     {
       cgiStartHTML(title);
-      cgiShowIPPError(_("Unable to get list of printer drivers:"));
+      cgiShowIPPError(_("Unable to get list of printer drivers"));
       cgiCopyTemplateLang("error.tmpl");
       cgiEndHTML();
     }
@@ -1416,8 +1415,8 @@ do_am_printer(http_t *http,               /* I - HTTP connection */
     else if (cupsLastError() > IPP_OK_CONFLICT)
     {
       cgiStartHTML(title);
-      cgiShowIPPError(modify ? _("Unable to modify printer:") :
-                               _("Unable to add printer:"));
+      cgiShowIPPError(modify ? _("Unable to modify printer") :
+                               _("Unable to add printer"));
     }
     else if (modify)
     {
@@ -1523,7 +1522,7 @@ do_cancel_subscription(http_t *http)/* I - HTTP connection */
   else if (cupsLastError() > IPP_OK_CONFLICT)
   {
     cgiStartHTML(_("Cancel RSS Subscription"));
-    cgiShowIPPError(_("Unable to cancel RSS subscription:"));
+    cgiShowIPPError(_("Unable to cancel RSS subscription"));
   }
   else
   {
@@ -1558,10 +1557,10 @@ do_config_server(http_t *http)          /* I - HTTP connection */
     int                        advanced,       /* Advanced settings shown? */
                        changed;        /* Have settings changed? */
     const char         *debug_logging, /* DEBUG_LOGGING value */
+                       *preserve_jobs = NULL,
+                                       /* PRESERVE_JOBS value */
                        *remote_admin,  /* REMOTE_ADMIN value */
                        *remote_any,    /* REMOTE_ANY value */
-                       *remote_printers,
-                                       /* REMOTE_PRINTERS value */
                        *share_printers,/* SHARE_PRINTERS value */
                        *user_cancel_any,
                                        /* USER_CANCEL_ANY value */
@@ -1577,10 +1576,6 @@ do_config_server(http_t *http)           /* I - HTTP connection */
                                        /* MaxJobs value */
                        *max_log_size = NULL;
                                        /* MaxLogSize value */
-    char               local_protocols[255],
-                                       /* BrowseLocalProtocols */
-                       remote_protocols[255];
-                                       /* BrowseRemoteProtocols */
     const char         *current_browse_web_if,
                                        /* BrowseWebIF value */
                        *current_preserve_job_history,
@@ -1591,12 +1586,8 @@ do_config_server(http_t *http)           /* I - HTTP connection */
                                        /* MaxClients value */
                        *current_max_jobs,
                                        /* MaxJobs value */
-                       *current_max_log_size,
+                       *current_max_log_size;
                                        /* MaxLogSize value */
-                       *current_local_protocols,
-                                       /* BrowseLocalProtocols */
-                       *current_remote_protocols;
-                                       /* BrowseRemoteProtocols */
 #ifdef HAVE_GSSAPI
     char               default_auth_type[255];
                                        /* DefaultAuthType value */
@@ -1611,7 +1602,6 @@ do_config_server(http_t *http)            /* I - HTTP connection */
     debug_logging        = cgiGetVariable("DEBUG_LOGGING") ? "1" : "0";
     remote_admin         = cgiGetVariable("REMOTE_ADMIN") ? "1" : "0";
     remote_any           = cgiGetVariable("REMOTE_ANY") ? "1" : "0";
-    remote_printers      = cgiGetVariable("REMOTE_PRINTERS") ? "1" : "0";
     share_printers       = cgiGetVariable("SHARE_PRINTERS") ? "1" : "0";
     user_cancel_any      = cgiGetVariable("USER_CANCEL_ANY") ? "1" : "0";
 
@@ -1623,80 +1613,37 @@ do_config_server(http_t *http)          /* I - HTTP connection */
       */
 
       browse_web_if        = cgiGetVariable("BROWSE_WEB_IF") ? "Yes" : "No";
-      preserve_job_history = cgiGetVariable("PRESERVE_JOB_HISTORY") ? "Yes" : "No";
-      preserve_job_files   = cgiGetVariable("PRESERVE_JOB_FILES") ? "Yes" : "No";
       max_clients          = cgiGetVariable("MAX_CLIENTS");
-      max_jobs             = cgiGetVariable("MAX_JOBS");
       max_log_size         = cgiGetVariable("MAX_LOG_SIZE");
+      preserve_jobs        = cgiGetVariable("PRESERVE_JOBS");
 
-      if (!max_clients || atoi(max_clients) <= 0)
-       max_clients = "100";
-
-      if (!max_jobs || atoi(max_jobs) <= 0)
-       max_jobs = "500";
-
-      if (!max_log_size || atof(max_log_size) <= 0.0)
-       max_log_size = "1m";
-
-      if (cgiGetVariable("BROWSE_LOCAL_CUPS"))
-       strcpy(local_protocols, "cups");
-      else
-       local_protocols[0] = '\0';
-
-#ifdef HAVE_DNSSD
-      if (cgiGetVariable("BROWSE_LOCAL_DNSSD"))
+      if (preserve_jobs)
       {
-       if (local_protocols[0])
-         strcat(local_protocols, " dnssd");
-       else
-         strcat(local_protocols, "dnssd");
-      }
-#endif /* HAVE_DNSSD */
+        max_jobs             = cgiGetVariable("MAX_JOBS");
+       preserve_job_history = cgiGetVariable("PRESERVE_JOB_HISTORY");
+       preserve_job_files   = cgiGetVariable("PRESERVE_JOB_FILES");
 
-#ifdef HAVE_LDAP
-      if (cgiGetVariable("BROWSE_LOCAL_LDAP"))
-      {
-       if (local_protocols[0])
-         strcat(local_protocols, " ldap");
-       else
-         strcat(local_protocols, "ldap");
-      }
-#endif /* HAVE_LDAP */
+       if (!max_jobs || atoi(max_jobs) < 0)
+         max_jobs = "500";
 
-#ifdef HAVE_LIBSLP
-      if (cgiGetVariable("BROWSE_LOCAL_SLP"))
-      {
-       if (local_protocols[0])
-         strcat(local_protocols, " slp");
-       else
-         strcat(local_protocols, "slp");
-      }
-#endif /* HAVE_SLP */
+       if (!preserve_job_history)
+         preserve_job_history = "On";
 
-      if (cgiGetVariable("BROWSE_REMOTE_CUPS"))
-       strcpy(remote_protocols, "cups");
+       if (!preserve_job_files)
+         preserve_job_files = "1d";
+      }
       else
-       remote_protocols[0] = '\0';
-
-#ifdef HAVE_LDAP
-      if (cgiGetVariable("BROWSE_REMOTE_LDAP"))
       {
-       if (remote_protocols[0])
-         strcat(remote_protocols, " ldap");
-       else
-         strcat(remote_protocols, "ldap");
+        max_jobs             = "0";
+        preserve_job_history = "No";
+        preserve_job_files   = "No";
       }
-#endif /* HAVE_LDAP */
 
-#ifdef HAVE_LIBSLP
-      if (cgiGetVariable("BROWSE_REMOTE_SLP"))
-      {
-       if (remote_protocols[0])
-         strcat(remote_protocols, " slp");
-       else
-         strcat(remote_protocols, "slp");
-      }
-#endif /* HAVE_SLP */
+      if (!max_clients || atoi(max_clients) <= 0)
+       max_clients = "100";
+
+      if (!max_log_size || atoi(max_log_size) <= 0.0)
+       max_log_size = "1m";
     }
 
    /*
@@ -1707,7 +1654,7 @@ do_config_server(http_t *http)            /* I - HTTP connection */
     {
       cgiStartHTML(cgiText(_("Change Settings")));
       cgiSetVariable("MESSAGE",
-                     cgiText(_("Unable to change server settings:")));
+                     cgiText(_("Unable to change server settings")));
       cgiSetVariable("ERROR", cupsLastErrorString());
       cgiCopyTemplateLang("error.tmpl");
       cgiEndHTML();
@@ -1746,7 +1693,7 @@ do_config_server(http_t *http)            /* I - HTTP connection */
     if ((current_preserve_job_files = cupsGetOption("PreserveJobFiles",
                                                     num_settings,
                                                    settings)) == NULL)
-      current_preserve_job_files = "No";
+      current_preserve_job_files = "1d";
 
     if ((current_max_clients = cupsGetOption("MaxClients", num_settings,
                                              settings)) == NULL)
@@ -1760,16 +1707,6 @@ do_config_server(http_t *http)           /* I - HTTP connection */
                                               settings)) == NULL)
       current_max_log_size = "1m";
 
-    if ((current_local_protocols = cupsGetOption("BrowseLocalProtocols",
-                                                 num_settings,
-                                               settings)) == NULL)
-      current_local_protocols = CUPS_DEFAULT_BROWSE_LOCAL_PROTOCOLS;
-
-    if ((current_remote_protocols = cupsGetOption("BrowseRemoteProtocols",
-                                                  num_settings,
-                                                 settings)) == NULL)
-      current_remote_protocols = CUPS_DEFAULT_BROWSE_REMOTE_PROTOCOLS;
-
    /*
     * See if the settings have changed...
     */
@@ -1780,8 +1717,6 @@ do_config_server(http_t *http)            /* I - HTTP connection */
                                                 num_settings, settings)) ||
              strcmp(remote_any, cupsGetOption(CUPS_SERVER_REMOTE_ANY,
                                               num_settings, settings)) ||
-             strcmp(remote_printers, cupsGetOption(CUPS_SERVER_REMOTE_PRINTERS,
-                                                   num_settings, settings)) ||
              strcmp(share_printers, cupsGetOption(CUPS_SERVER_SHARE_PRINTERS,
                                                   num_settings, settings)) ||
 #ifdef HAVE_GSSAPI
@@ -1793,9 +1728,7 @@ do_config_server(http_t *http)            /* I - HTTP connection */
                                                    num_settings, settings));
 
     if (advanced && !changed)
-      changed = _cups_strcasecmp(local_protocols, current_local_protocols) ||
-               _cups_strcasecmp(remote_protocols, current_remote_protocols) ||
-               _cups_strcasecmp(browse_web_if, current_browse_web_if) ||
+      changed = _cups_strcasecmp(browse_web_if, current_browse_web_if) ||
                _cups_strcasecmp(preserve_job_history, current_preserve_job_history) ||
                _cups_strcasecmp(preserve_job_files, current_preserve_job_files) ||
                _cups_strcasecmp(max_clients, current_max_clients) ||
@@ -1817,8 +1750,6 @@ do_config_server(http_t *http)            /* I - HTTP connection */
                                    remote_admin, num_settings, &settings);
       num_settings = cupsAddOption(CUPS_SERVER_REMOTE_ANY,
                                    remote_any, num_settings, &settings);
-      num_settings = cupsAddOption(CUPS_SERVER_REMOTE_PRINTERS,
-                                   remote_printers, num_settings, &settings);
       num_settings = cupsAddOption(CUPS_SERVER_SHARE_PRINTERS,
                                    share_printers, num_settings, &settings);
       num_settings = cupsAddOption(CUPS_SERVER_USER_CANCEL_ANY,
@@ -1834,12 +1765,6 @@ do_config_server(http_t *http)           /* I - HTTP connection */
         * Add advanced settings...
        */
 
-       if (_cups_strcasecmp(local_protocols, current_local_protocols))
-         num_settings = cupsAddOption("BrowseLocalProtocols", local_protocols,
-                                      num_settings, &settings);
-       if (_cups_strcasecmp(remote_protocols, current_remote_protocols))
-         num_settings = cupsAddOption("BrowseRemoteProtocols", remote_protocols,
-                                      num_settings, &settings);
        if (_cups_strcasecmp(browse_web_if, current_browse_web_if))
          num_settings = cupsAddOption("BrowseWebIF", browse_web_if,
                                       num_settings, &settings);
@@ -1871,14 +1796,15 @@ do_config_server(http_t *http)          /* I - HTTP connection */
 
        cgiStartHTML(cgiText(_("Change Settings")));
        cgiSetVariable("MESSAGE",
-                       cgiText(_("Unable to change server settings:")));
+                       cgiText(_("Unable to change server settings")));
        cgiSetVariable("ERROR", cupsLastErrorString());
        cgiCopyTemplateLang("error.tmpl");
       }
       else
       {
         if (advanced)
-         cgiSetVariable("refresh_page", "5;URL=/admin/?OP=redirect&URL=/admin/?ADVANCEDSETTINGS=YES");
+         cgiSetVariable("refresh_page", "5;URL=/admin/?OP=redirect&"
+                                        "URL=/admin/?ADVANCEDSETTINGS=YES");
         else
          cgiSetVariable("refresh_page", "5;URL=/admin/?OP=redirect");
        cgiStartHTML(cgiText(_("Change Settings")));
@@ -1921,7 +1847,7 @@ do_config_server(http_t *http)            /* I - HTTP connection */
     if ((tempfd = cupsTempFd(tempfile, sizeof(tempfile))) < 0)
     {
       cgiStartHTML(cgiText(_("Edit Configuration File")));
-      cgiSetVariable("MESSAGE", cgiText(_("Unable to create temporary file:")));
+      cgiSetVariable("MESSAGE", cgiText(_("Unable to create temporary file")));
       cgiSetVariable("ERROR", strerror(errno));
       cgiCopyTemplateLang("error.tmpl");
       cgiEndHTML();
@@ -1933,7 +1859,7 @@ do_config_server(http_t *http)            /* I - HTTP connection */
     if ((temp = cupsFileOpenFd(tempfd, "w")) == NULL)
     {
       cgiStartHTML(cgiText(_("Edit Configuration File")));
-      cgiSetVariable("MESSAGE", cgiText(_("Unable to create temporary file:")));
+      cgiSetVariable("MESSAGE", cgiText(_("Unable to create temporary file")));
       cgiSetVariable("ERROR", strerror(errno));
       cgiCopyTemplateLang("error.tmpl");
       cgiEndHTML();
@@ -1983,7 +1909,7 @@ do_config_server(http_t *http)            /* I - HTTP connection */
     else if (status != HTTP_CREATED)
     {
       cgiSetVariable("MESSAGE",
-                     cgiText(_("Unable to upload cupsd.conf file:")));
+                     cgiText(_("Unable to upload cupsd.conf file")));
       cgiSetVariable("ERROR", httpStatus(status));
 
       cgiStartHTML(cgiText(_("Edit Configuration File")));
@@ -2030,7 +1956,7 @@ do_config_server(http_t *http)            /* I - HTTP connection */
     {
       cgiStartHTML(cgiText(_("Edit Configuration File")));
       cgiSetVariable("MESSAGE",
-                     cgiText(_("Unable to access cupsd.conf file:")));
+                     cgiText(_("Unable to access cupsd.conf file")));
       cgiSetVariable("ERROR", strerror(errno));
       cgiCopyTemplateLang("error.tmpl");
       cgiEndHTML();
@@ -2043,7 +1969,7 @@ do_config_server(http_t *http)            /* I - HTTP connection */
     {
       cgiStartHTML(cgiText(_("Edit Configuration File")));
       cgiSetVariable("MESSAGE",
-                     cgiText(_("Unable to access cupsd.conf file:")));
+                     cgiText(_("Unable to access cupsd.conf file")));
       cgiSetVariable("ERROR",
                      cgiText(_("Unable to edit cupsd.conf files larger than "
                               "1MB")));
@@ -2067,7 +1993,7 @@ do_config_server(http_t *http)            /* I - HTTP connection */
 
       cgiStartHTML(cgiText(_("Edit Configuration File")));
       cgiSetVariable("MESSAGE",
-                     cgiText(_("Unable to access cupsd.conf file:")));
+                     cgiText(_("Unable to access cupsd.conf file")));
       cgiSetVariable("ERROR", strerror(errno));
       cgiCopyTemplateLang("error.tmpl");
       cgiEndHTML();
@@ -2224,7 +2150,7 @@ do_delete_class(http_t *http)             /* I - HTTP connection */
   cgiStartHTML(cgiText(_("Delete Class")));
 
   if (cupsLastError() > IPP_OK_CONFLICT)
-    cgiShowIPPError(_("Unable to delete class:"));
+    cgiShowIPPError(_("Unable to delete class"));
   else
     cgiCopyTemplateLang("class-deleted.tmpl");
 
@@ -2309,7 +2235,7 @@ do_delete_printer(http_t *http)           /* I - HTTP connection */
   cgiStartHTML(cgiText(_("Delete Printer")));
 
   if (cupsLastError() > IPP_OK_CONFLICT)
-    cgiShowIPPError(_("Unable to delete printer:"));
+    cgiShowIPPError(_("Unable to delete printer"));
   else
     cgiCopyTemplateLang("printer-deleted.tmpl");
 
@@ -2359,8 +2285,7 @@ do_export(http_t *http)                   /* I - HTTP connection */
                 "printer-type", 0);
 
   ippAddInteger(request, IPP_TAG_OPERATION, IPP_TAG_ENUM,
-                "printer-type-mask", CUPS_PRINTER_CLASS | CUPS_PRINTER_REMOTE |
-                                    CUPS_PRINTER_IMPLICIT);
+                "printer-type-mask", CUPS_PRINTER_CLASS | CUPS_PRINTER_REMOTE);
 
   ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_KEYWORD,
                "requested-attributes", NULL, "printer-name");
@@ -2696,10 +2621,6 @@ do_menu(http_t *http)                    /* I - HTTP connection */
                            settings)) != NULL && atoi(val))
     cgiSetVariable("REMOTE_ANY", "CHECKED");
 
-  if ((val = cupsGetOption(CUPS_SERVER_REMOTE_PRINTERS, num_settings,
-                           settings)) != NULL && atoi(val))
-    cgiSetVariable("REMOTE_PRINTERS", "CHECKED");
-
   if ((val = cupsGetOption(CUPS_SERVER_SHARE_PRINTERS, num_settings,
                            settings)) != NULL && atoi(val))
     cgiSetVariable("SHARE_PRINTERS", "CHECKED");
@@ -2718,53 +2639,6 @@ do_menu(http_t *http)                    /* I - HTTP connection */
 #endif /* HAVE_GSSAPI */
   cgiSetVariable("KERBEROS", "");
 
-#ifdef HAVE_DNSSD
-  cgiSetVariable("HAVE_DNSSD", "1");
-#endif /* HAVE_DNSSD */
-
-#ifdef HAVE_LDAP
-  cgiSetVariable("HAVE_LDAP", "1");
-#endif /* HAVE_LDAP */
-
-#ifdef HAVE_LIBSLP
-  cgiSetVariable("HAVE_LIBSLP", "1");
-#endif /* HAVE_LIBSLP */
-
-  if ((val = cupsGetOption("BrowseRemoteProtocols", num_settings,
-                           settings)) == NULL)
-    if ((val = cupsGetOption("BrowseProtocols", num_settings,
-                           settings)) == NULL)
-      val = CUPS_DEFAULT_BROWSE_REMOTE_PROTOCOLS;
-
-  if (strstr(val, "cups") || strstr(val, "CUPS"))
-    cgiSetVariable("BROWSE_REMOTE_CUPS", "CHECKED");
-
-  if (strstr(val, "ldap") || strstr(val, "LDAP"))
-    cgiSetVariable("BROWSE_REMOTE_LDAP", "CHECKED");
-
-  if (strstr(val, "slp") || strstr(val, "SLP"))
-    cgiSetVariable("BROWSE_REMOTE_SLP", "CHECKED");
-
-  if ((val = cupsGetOption("BrowseLocalProtocols", num_settings,
-                           settings)) == NULL)
-    if ((val = cupsGetOption("BrowseProtocols", num_settings,
-                           settings)) == NULL)
-      val = CUPS_DEFAULT_BROWSE_LOCAL_PROTOCOLS;
-
-  if (strstr(val, "cups") || strstr(val, "CUPS"))
-    cgiSetVariable("BROWSE_LOCAL_CUPS", "CHECKED");
-
-  if (strstr(val, "dnssd") || strstr(val, "DNSSD") ||
-      strstr(val, "dns-sd") || strstr(val, "DNS-SD") ||
-      strstr(val, "bonjour") || strstr(val, "BONJOUR"))
-    cgiSetVariable("BROWSE_LOCAL_DNSSD", "CHECKED");
-
-  if (strstr(val, "ldap") || strstr(val, "LDAP"))
-    cgiSetVariable("BROWSE_LOCAL_LDAP", "CHECKED");
-
-  if (strstr(val, "slp") || strstr(val, "SLP"))
-    cgiSetVariable("BROWSE_LOCAL_SLP", "CHECKED");
-
   if ((val = cupsGetOption("BrowseWebIF", num_settings,
                            settings)) == NULL)
     val = "No";
@@ -2777,18 +2651,25 @@ do_menu(http_t *http)                   /* I - HTTP connection */
                            settings)) == NULL)
     val = "Yes";
 
-  if (!_cups_strcasecmp(val, "yes") || !_cups_strcasecmp(val, "on") ||
-      !_cups_strcasecmp(val, "true"))
+  if (val &&
+      (!_cups_strcasecmp(val, "0") || !_cups_strcasecmp(val, "no") ||
+       !_cups_strcasecmp(val, "off") || !_cups_strcasecmp(val, "false") ||
+       !_cups_strcasecmp(val, "disabled")))
+  {
+    cgiSetVariable("PRESERVE_JOB_HISTORY", "0");
+    cgiSetVariable("PRESERVE_JOB_FILES", "0");
+  }
+  else
   {
-    cgiSetVariable("PRESERVE_JOB_HISTORY", "CHECKED");
+    cgiSetVariable("PRESERVE_JOBS", "CHECKED");
+    cgiSetVariable("PRESERVE_JOB_HISTORY", val);
 
     if ((val = cupsGetOption("PreserveJobFiles", num_settings,
                             settings)) == NULL)
-      val = "No";
+      val = "1d";
+
+    cgiSetVariable("PRESERVE_JOB_FILES", val);
 
-    if (!_cups_strcasecmp(val, "yes") || !_cups_strcasecmp(val, "on") ||
-       !_cups_strcasecmp(val, "true"))
-      cgiSetVariable("PRESERVE_JOB_FILES", "CHECKED");
   }
 
   if ((val = cupsGetOption("MaxClients", num_settings, settings)) == NULL)
@@ -2956,7 +2837,7 @@ do_set_allowed_users(http_t *http)        /* I - HTTP connection */
       exit(0);
     }
     else if (cupsLastError() > IPP_OK_CONFLICT)
-      cgiShowIPPError(_("Unable to get printer attributes:"));
+      cgiShowIPPError(_("Unable to get printer attributes"));
     else
       cgiCopyTemplateLang("users.tmpl");
 
@@ -3106,7 +2987,7 @@ do_set_allowed_users(http_t *http)        /* I - HTTP connection */
     else if (cupsLastError() > IPP_OK_CONFLICT)
     {
       cgiStartHTML(cgiText(_("Set Allowed Users")));
-      cgiShowIPPError(_("Unable to change printer:"));
+      cgiShowIPPError(_("Unable to change printer"));
     }
     else
     {
@@ -3193,7 +3074,7 @@ do_set_default(http_t *http)              /* I - HTTP connection */
   else if (cupsLastError() > IPP_OK_CONFLICT)
   {
     cgiStartHTML(title);
-    cgiShowIPPError(_("Unable to set server default:"));
+    cgiShowIPPError(_("Unable to set server default"));
   }
   else
   {
@@ -3302,7 +3183,7 @@ do_set_options(http_t *http,              /* I - HTTP connection */
     if ((ppd = ppdOpenFile(filename)) == NULL)
     {
       cgiSetVariable("ERROR", ppdErrorString(ppdLastError(&i)));
-      cgiSetVariable("MESSAGE", cgiText(_("Unable to open PPD file:")));
+      cgiSetVariable("MESSAGE", cgiText(_("Unable to open PPD file")));
       cgiStartHTML(title);
       cgiCopyTemplateLang("error.tmpl");
       cgiEndHTML();
@@ -3923,7 +3804,7 @@ do_set_options(http_t *http,              /* I - HTTP connection */
     else if (cupsLastError() > IPP_OK_CONFLICT)
     {
       cgiStartHTML(title);
-      cgiShowIPPError(_("Unable to set options:"));
+      cgiShowIPPError(_("Unable to set options"));
     }
     else
     {
@@ -4022,7 +3903,7 @@ do_set_sharing(http_t *http)              /* I - HTTP connection */
   else if (cupsLastError() > IPP_OK_CONFLICT)
   {
     cgiStartHTML(cgiText(_("Set Publishing")));
-    cgiShowIPPError(_("Unable to change printer-is-shared attribute:"));
+    cgiShowIPPError(_("Unable to change printer-is-shared attribute"));
   }
   else
   {
@@ -4337,5 +4218,5 @@ get_points(double     number,             /* I - Original number */
 
 
 /*
- * End of "$Id: admin.c 9901 2011-08-17 21:01:53Z mike $".
+ * End of "$Id: admin.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 73d80c0..348da08 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: cgi-private.h 9042 2010-03-24 00:45:34Z mike $"
+ * "$Id: cgi-private.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Private CGI definitions for CUPS.
  *
- *   Copyright 2007-2010 by Apple Inc.
+ *   Copyright 2007-2011 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -21,6 +21,7 @@
 #include <cups/debug-private.h>
 #include <cups/language-private.h>
 #include <cups/string-private.h>
+#include <cups/ipp-private.h>  /* TODO: Update so we don't need this */
 
 
 /*
@@ -31,5 +32,5 @@
 
 
 /*
- * End of "$Id: cgi-private.h 9042 2010-03-24 00:45:34Z mike $".
+ * End of "$Id: cgi-private.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index c6562ab..4d76a02 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: cgi.h 8976 2010-02-02 07:12:05Z mike $"
+ * "$Id: cgi.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   CGI support library definitions for CUPS.
  *
@@ -115,5 +115,5 @@ extern const char   *cgiText(const char *message);
 #endif /* !_CUPS_CGI_H_ */
 
 /*
- * End of "$Id: cgi.h 8976 2010-02-02 07:12:05Z mike $".
+ * End of "$Id: cgi.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index b8f5e7c..47bcedf 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: classes.c 9793 2011-05-20 03:49:49Z mike $"
+ * "$Id: classes.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Class status CGI for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -257,7 +257,7 @@ do_class_op(http_t      *http,              /* I - HTTP connection */
   else if (cupsLastError() > IPP_OK_CONFLICT)
   {
     cgiStartHTML(title);
-    cgiShowIPPError(_("Unable to do maintenance command:"));
+    cgiShowIPPError(_("Unable to do maintenance command"));
   }
   else
   {
@@ -380,7 +380,7 @@ show_all_classes(http_t     *http,  /* I - Connection to server */
     sprintf(val, "%d", count);
     cgiSetVariable("TOTAL", val);
 
-    if ((var = cgiGetVariable("ORDER")) != NULL)
+    if ((var = cgiGetVariable("ORDER")) != NULL && *var)
       ascending = !_cups_strcasecmp(var, "asc");
     else
       ascending = 1;
@@ -447,7 +447,7 @@ show_all_classes(http_t     *http,  /* I - Connection to server */
     * Show the error...
     */
 
-    cgiShowIPPError(_("Unable to get class list:"));
+    cgiShowIPPError(_("Unable to get class list"));
   }
 
    cgiEndHTML();
@@ -546,7 +546,7 @@ show_class(http_t     *http,                /* I - Connection to server */
     */
 
     cgiStartHTML(pclass);
-    cgiShowIPPError(_("Unable to get class status:"));
+    cgiShowIPPError(_("Unable to get class status"));
   }
 
    cgiEndHTML();
@@ -554,5 +554,5 @@ show_class(http_t     *http,                /* I - Connection to server */
 
 
 /*
- * End of "$Id: classes.c 9793 2011-05-20 03:49:49Z mike $".
+ * End of "$Id: classes.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index ce97be3..195c1f6 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: help-index.c 9793 2011-05-20 03:49:49Z mike $"
+ * "$Id: help-index.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Online help index routines for CUPS.
  *
@@ -161,7 +161,8 @@ static int          help_load_file(help_index_t *hi,
 static help_node_t     *help_new_node(const char *filename, const char *anchor,
                                       const char *section, const char *text,
                                       time_t mtime, off_t offset,
-                                      size_t length);
+                                      size_t length)
+                                      __attribute__((nonnull(1,3,4)));
 static int             help_sort_by_name(help_node_t *p1, help_node_t *p2);
 static int             help_sort_by_score(help_node_t *p1, help_node_t *p2);
 static int             help_sort_words(help_word_t *w1, help_word_t *w2);
@@ -177,7 +178,7 @@ helpDeleteIndex(help_index_t *hi)   /* I - Help index */
   help_node_t  *node;                  /* Current node */
 
 
-  DEBUG_printf(("helpDeleteIndex(hi=%p)\n", hi));
+  DEBUG_printf(("helpDeleteIndex(hi=%p)", hi));
 
   if (!hi)
     return;
@@ -209,8 +210,8 @@ helpFindNode(help_index_t *hi,              /* I - Index */
   help_node_t  key;                    /* Search key */
 
 
-  DEBUG_printf(("helpFindNode(hi=%p, filename=\"%s\", anchor=\"%s\")\n",
-                hi, filename ? filename : "(nil)", anchor ? anchor : "(nil)"));
+  DEBUG_printf(("helpFindNode(hi=%p, filename=\"%s\", anchor=\"%s\")",
+                hi, filename, anchor));
 
  /*
   * Range check input...
@@ -259,7 +260,7 @@ helpLoadIndex(const char *hifile,   /* I - Index filename */
   help_word_t  *word;                  /* Current word */
 
 
-  DEBUG_printf(("helpLoadIndex(hifile=\"%s\", directory=\"%s\")\n",
+  DEBUG_printf(("helpLoadIndex(hifile=\"%s\", directory=\"%s\")",
                 hifile, directory));
 
  /*
@@ -464,7 +465,7 @@ helpSaveIndex(help_index_t *hi,             /* I - Index */
   help_word_t  *word;                  /* Current word */
 
 
-  DEBUG_printf(("helpSaveIndex(hi=%p, hifile=\"%s\")\n", hi, hifile));
+  DEBUG_printf(("helpSaveIndex(hi=%p, hifile=\"%s\")", hi, hifile));
 
  /*
   * Try creating a new index file...
@@ -545,9 +546,8 @@ helpSearchIndex(help_index_t *hi,   /* I - Index */
   int          matches;                /* Number of matches */
 
 
-  DEBUG_printf(("helpSearchIndex(hi=%p, query=\"%s\", filename=\"%s\")\n",
-                hi, query ? query : "(nil)",
-               filename ? filename : "(nil)"));
+  DEBUG_printf(("helpSearchIndex(hi=%p, query=\"%s\", filename=\"%s\")",
+                hi, query, filename));
 
  /*
   * Range check...
@@ -670,7 +670,7 @@ help_add_word(help_node_t *n,               /* I - Node */
                key;                    /* Search key */
 
 
-  DEBUG_printf(("help_add_word(n=%p, text=\"%s\")\n", n, text));
+  DEBUG_printf(("2help_add_word(n=%p, text=\"%s\")", n, text));
 
  /*
   * Create the words array as needed...
@@ -723,7 +723,7 @@ help_delete_node(help_node_t *n)    /* I - Node */
   help_word_t  *w;                     /* Current word */
 
 
-  DEBUG_printf(("help_delete_node(n=%p)\n", n));
+  DEBUG_printf(("2help_delete_node(n=%p)", n));
 
   if (!n)
     return;
@@ -758,7 +758,7 @@ help_delete_node(help_node_t *n)    /* I - Node */
 static void
 help_delete_word(help_word_t *w)       /* I - Word */
 {
-  DEBUG_printf(("help_delete_word(w=%p)\n", w));
+  DEBUG_printf(("2help_delete_word(w=%p)", w));
 
   if (!w)
     return;
@@ -789,8 +789,8 @@ help_load_directory(
   help_node_t  *node;                  /* Current node */
 
 
-  DEBUG_printf(("help_load_directory(hi=%p, directory=\"%s\", relative=\"%s\")\n",
-                hi, directory ? directory : "(nil)", relative ? relative : "(nil)"));
+  DEBUG_printf(("2help_load_directory(hi=%p, directory=\"%s\", relative=\"%s\")",
+                hi, directory, relative));
 
  /*
   * Open the directory and scan it...
@@ -901,9 +901,8 @@ help_load_file(
   int          wordlen;                /* Length of word */
 
 
-  DEBUG_printf(("help_load_file(hi=%p, filename=\"%s\", relative=\"%s\", mtime=%ld)\n",
-                hi, filename ? filename : "(nil)",
-               relative ? relative : "(nil)", mtime));
+  DEBUG_printf(("2help_load_file(hi=%p, filename=\"%s\", relative=\"%s\", "
+                "mtime=%ld)", hi, filename, relative, mtime));
 
   if ((fp = cupsFileOpen(filename, "r")) == NULL)
     return (-1);
@@ -1229,11 +1228,9 @@ help_new_node(const char   *filename,    /* I - Filename */
   help_node_t  *n;                     /* Node */
 
 
-  DEBUG_printf(("help_new_node(filename=\"%s\", anchor=\"%s\", text=\"%s\", "
-                "mtime=%ld, offset=%ld, length=%ld)\n",
-                filename ? filename : "(nil)", anchor ? anchor : "(nil)",
-               text ? text : "(nil)", (long)mtime, (long)offset,
-               (long)length));
+  DEBUG_printf(("2help_new_node(filename=\"%s\", anchor=\"%s\", text=\"%s\", "
+                "mtime=%ld, offset=%ld, length=%ld)", filename, anchor, text,
+                (long)mtime, (long)offset, (long)length));
 
   n = (help_node_t *)calloc(1, sizeof(help_node_t));
   if (!n)
@@ -1262,9 +1259,9 @@ help_sort_by_name(help_node_t *n1,        /* I - First node */
   int          diff;                   /* Difference */
 
 
-  DEBUG_printf(("help_sort_by_name(n1=%p(%s#%s), n2=%p(%s#%s)\n",
-                n1, n1->filename, n1->anchor ? n1->anchor : "",
-               n2, n2->filename, n2->anchor ? n2->anchor : ""));
+  DEBUG_printf(("2help_sort_by_name(n1=%p(%s#%s), n2=%p(%s#%s)",
+                n1, n1->filename, n1->anchor,
+               n2, n2->filename, n2->anchor));
 
   if ((diff = strcmp(n1->filename, n2->filename)) != 0)
     return (diff);
@@ -1291,10 +1288,10 @@ help_sort_by_score(help_node_t *n1,     /* I - First node */
   int          diff;                   /* Difference */
 
 
-  DEBUG_printf(("help_sort_by_score(n1=%p(%d \"%s\" \"%s\"), "
-                "n2=%p(%d \"%s\" \"%s\")\n",
-                n1, n1->score, n1->section ? n1->section : "", n1->text,
-                n2, n2->score, n2->section ? n2->section : "", n2->text));
+  DEBUG_printf(("2help_sort_by_score(n1=%p(%d \"%s\" \"%s\"), "
+                "n2=%p(%d \"%s\" \"%s\")",
+                n1, n1->score, n1->section, n1->text,
+                n2, n2->score, n2->section, n2->text));
 
   if (n1->score != n2->score)
     return (n2->score - n1->score);
@@ -1319,7 +1316,7 @@ static int                                /* O - Difference */
 help_sort_words(help_word_t *w1,       /* I - Second word */
                 help_word_t *w2)       /* I - Second word */
 {
-  DEBUG_printf(("help_sort_words(w1=%p(\"%s\"), w2=%p(\"%s\"))\n",
+  DEBUG_printf(("2help_sort_words(w1=%p(\"%s\"), w2=%p(\"%s\"))",
                 w1, w1->text, w2, w2->text));
 
   return (_cups_strcasecmp(w1->text, w2->text));
@@ -1327,5 +1324,5 @@ help_sort_words(help_word_t *w1,  /* I - Second word */
 
 
 /*
- * End of "$Id: help-index.c 9793 2011-05-20 03:49:49Z mike $".
+ * End of "$Id: help-index.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 253b587..4b03969 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: help-index.h 9771 2011-05-12 05:21:56Z mike $"
+ * "$Id: help-index.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Online help index definitions for CUPS.
  *
@@ -83,5 +83,5 @@ extern help_index_t   *helpSearchIndex(help_index_t *hi, const char *query,
 #endif /* !_CUPS_HELP_INDEX_H_ */
 
 /*
- * End of "$Id: help-index.h 9771 2011-05-12 05:21:56Z mike $".
+ * End of "$Id: help-index.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index 215c98b..c8fc66e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id$"
+ * "$Id: help.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Online help CGI for CUPS.
  *
@@ -393,5 +393,5 @@ main(int  argc,                             /* I - Number of command-line arguments */
 
 
 /*
- * End of "$Id$".
+ * End of "$Id: help.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 9893298..b721ee3 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: html.c 9449 2011-01-08 00:56:50Z mike $"
+ * "$Id: html.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   HTML support functions for CUPS.
  *
@@ -235,5 +235,5 @@ cgi_null_passwd(const char *prompt) /* I - Prompt string (unused) */
 
 
 /*
- * End of "$Id: html.c 9449 2011-01-08 00:56:50Z mike $".
+ * End of "$Id: html.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 8f13c27..a1d7f38 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: ipp-var.c 9793 2011-05-20 03:49:49Z mike $"
+ * "$Id: ipp-var.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   CGI <-> IPP variable routines for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -554,8 +554,8 @@ cgiPrintCommand(http_t     *http,   /* I - Connection to server */
   ipp_t                *request,               /* Get-Job-Attributes request */
                *response;              /* Get-Job-Attributes response */
   ipp_attribute_t *attr;               /* Current job attribute */
-  static const char const *job_attrs[] =/* Job attributes we want */
-               {
+  static const char * const job_attrs[] =
+               {                       /* Job attributes we want */
                  "job-state",
                  "job-printer-state-message"
                };
@@ -792,7 +792,7 @@ cgiPrintTestPage(http_t     *http,  /* I - Connection to server */
   cgiStartHTML(cgiText(_("Print Test Page")));
 
   if (cupsLastError() > IPP_OK_CONFLICT)
-    cgiShowIPPError(_("Unable to print test page:"));
+    cgiShowIPPError(_("Unable to print test page"));
   else
   {
     cgiSetVariable("PRINTER_NAME", dest);
@@ -1219,7 +1219,7 @@ cgiSetIPPObjectVars(
                     "%dx%d%s", attr->values[i].resolution.xres,
                     attr->values[i].resolution.yres,
                     attr->values[i].resolution.units == IPP_RES_PER_INCH ?
-                        "dpi" : "dpc");
+                        "dpi" : "dpcm");
            break;
 
        case IPP_TAG_URI :
@@ -1432,7 +1432,7 @@ cgiShowJobs(http_t     *http,             /* I - Connection to server */
     ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri", NULL,
                 "ipp://localhost/");
 
-  if ((which_jobs = cgiGetVariable("which_jobs")) != NULL)
+  if ((which_jobs = cgiGetVariable("which_jobs")) != NULL && *which_jobs)
     ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_KEYWORD, "which-jobs",
                  NULL, which_jobs);
 
@@ -1480,10 +1480,11 @@ cgiShowJobs(http_t     *http,           /* I - Connection to server */
     if (first < 0)
       first = 0;
 
-    if ((var = cgiGetVariable("ORDER")) != NULL)
+    if ((var = cgiGetVariable("ORDER")) != NULL && *var)
       ascending = !_cups_strcasecmp(var, "asc");
     else
-      ascending = !which_jobs || !_cups_strcasecmp(which_jobs, "not-completed");
+      ascending = !which_jobs || !*which_jobs ||
+                  !_cups_strcasecmp(which_jobs, "not-completed");
 
     section = cgiGetVariable("SECTION");
 
@@ -1588,5 +1589,5 @@ cgiText(const char *message)              /* I - Message */
 
 
 /*
- * End of "$Id: ipp-var.c 9793 2011-05-20 03:49:49Z mike $".
+ * End of "$Id: ipp-var.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 6863505..95c8d1d 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: jobs.c 9771 2011-05-12 05:21:56Z mike $"
+ * "$Id: jobs.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Job status CGI for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -195,7 +195,7 @@ do_job_op(http_t      *http,                /* I - HTTP connection */
   cgiStartHTML(cgiText(_("Jobs")));
 
   if (cupsLastError() > IPP_OK_CONFLICT)
-    cgiShowIPPError(_("Job operation failed:"));
+    cgiShowIPPError(_("Job operation failed"));
   else if (op == IPP_CANCEL_JOB)
     cgiCopyTemplateLang("job-cancel.tmpl");
   else if (op == IPP_HOLD_JOB)
@@ -210,5 +210,5 @@ do_job_op(http_t      *http,                /* I - HTTP connection */
 
 
 /*
- * End of "$Id: jobs.c 9771 2011-05-12 05:21:56Z mike $".
+ * End of "$Id: jobs.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index a87f9ce..079c59f 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: makedocset.c 9793 2011-05-20 03:49:49Z mike $"
+ * "$Id: makedocset.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Xcode documentation set generator.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -31,7 +31,7 @@
  * Include necessary headers...
  */
 
-#include "cgi.h"
+#include "cgi-private.h"
 #include <errno.h>
 
 
@@ -482,5 +482,5 @@ write_nodes(const char   *path,             /* I - File to write */
 
 
 /*
- * End of "$Id: makedocset.c 9793 2011-05-20 03:49:49Z mike $".
+ * End of "$Id: makedocset.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 89f2a1b..f61d407 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: printers.c 9793 2011-05-20 03:49:49Z mike $"
+ * "$Id: printers.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Printer status CGI for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -266,7 +266,7 @@ do_printer_op(http_t      *http,    /* I - HTTP connection */
   else if (cupsLastError() > IPP_OK_CONFLICT)
   {
     cgiStartHTML(title);
-    cgiShowIPPError(_("Unable to do maintenance command:"));
+    cgiShowIPPError(_("Unable to do maintenance command"));
   }
   else
   {
@@ -397,7 +397,7 @@ show_all_printers(http_t     *http, /* I - Connection to server */
     sprintf(val, "%d", count);
     cgiSetVariable("TOTAL", val);
 
-    if ((var = cgiGetVariable("ORDER")) != NULL)
+    if ((var = cgiGetVariable("ORDER")) != NULL && *var)
       ascending = !_cups_strcasecmp(var, "asc");
     else
       ascending = 1;
@@ -464,7 +464,7 @@ show_all_printers(http_t     *http, /* I - Connection to server */
     * Show the error...
     */
 
-    cgiShowIPPError(_("Unable to get printer list:"));
+    cgiShowIPPError(_("Unable to get printer list"));
   }
 
    cgiEndHTML();
@@ -566,7 +566,7 @@ show_printer(http_t     *http,              /* I - Connection to server */
     */
 
     cgiStartHTML(printer);
-    cgiShowIPPError(_("Unable to get printer status:"));
+    cgiShowIPPError(_("Unable to get printer status"));
   }
 
    cgiEndHTML();
@@ -574,5 +574,5 @@ show_printer(http_t     *http,              /* I - Connection to server */
 
 
 /*
- * End of "$Id: printers.c 9793 2011-05-20 03:49:49Z mike $".
+ * End of "$Id: printers.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 75c47bd..8fd8221 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: search.c 9793 2011-05-20 03:49:49Z mike $"
+ * "$Id: search.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Search routines for CUPS.
  *
@@ -377,5 +377,5 @@ cgiFreeSearch(void *search)         /* I - Search context */
 
 
 /*
- * End of "$Id: search.c 9793 2011-05-20 03:49:49Z mike $".
+ * End of "$Id: search.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 8fb8b3f..7c36c67 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: template.c 9793 2011-05-20 03:49:49Z mike $"
+ * "$Id: template.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   CGI template function.
  *
@@ -729,5 +729,5 @@ cgi_puturi(const char *s,           /* I - String to output */
 
 
 /*
- * End of "$Id: template.c 9793 2011-05-20 03:49:49Z mike $".
+ * End of "$Id: template.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 0ed1269..e59986a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: testcgi.c 9771 2011-05-12 05:21:56Z mike $"
+ * "$Id: testcgi.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   CGI test program for CUPS.
  *
@@ -71,5 +71,5 @@ main(int  argc,                               /* I - Number of command-line arguments */
 
 
 /*
- * End of "$Id: testcgi.c 9771 2011-05-12 05:21:56Z mike $".
+ * End of "$Id: testcgi.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 93f1f63..a257b70 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: testhi.c 9771 2011-05-12 05:21:56Z mike $"
+ * "$Id: testhi.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Help index test program for CUPS.
  *
@@ -109,5 +109,5 @@ list_nodes(const char   *title,             /* I - Title string */
 
 
 /*
- * End of "$Id: testhi.c 9771 2011-05-12 05:21:56Z mike $".
+ * End of "$Id: testhi.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 6ced30c..979296e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: testtemplate.c 9771 2011-05-12 05:21:56Z mike $"
+ * "$Id: testtemplate.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   CGI template test program for CUPS.
  *
@@ -99,5 +99,5 @@ main(int  argc,                               /* I - Number of command-line arguments */
 
 
 /*
- * End of "$Id: testtemplate.c 9771 2011-05-12 05:21:56Z mike $".
+ * End of "$Id: testtemplate.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 90fbc83..c124778 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: var.c 10367 2012-03-21 04:09:04Z mike $"
+ * "$Id: var.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   CGI form variable and array functions for CUPS.
  *
@@ -1307,5 +1307,5 @@ cgi_unlink_file(void)
 
 
 /*
- * End of "$Id: var.c 10367 2012-03-21 04:09:04Z mike $".
+ * End of "$Id: var.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index f096ba2..91ed4b1 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: websearch.c 8668 2009-05-21 00:21:27Z mike $"
+ * "$Id: websearch.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Web search program for www.cups.org.
  *
@@ -112,5 +112,5 @@ list_nodes(help_index_t *hi,                /* I - Help index */
 
 
 /*
- * End of "$Id: websearch.c 8668 2009-05-21 00:21:27Z mike $".
+ * End of "$Id: websearch.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 3376f19..1235324 100644 (file)
@@ -1,5 +1,5 @@
 #
-# "$Id: Makefile 9771 2011-05-12 05:21:56Z mike $"
+# "$Id: Makefile 11173 2013-07-23 12:31:34Z msweet $"
 #
 #   Configuration file makefile for CUPS.
 #
@@ -19,7 +19,7 @@ include ../Makedefs
 # Config files...
 #
 
-KEEP   =       cupsd.conf snmp.conf
+KEEP   =       cups-files.conf cupsd.conf snmp.conf
 REPLACE        =       mime.convs mime.types
 
 
@@ -139,5 +139,5 @@ uninstall:
 
 
 #
-# End of "$Id: Makefile 9771 2011-05-12 05:21:56Z mike $".
+# End of "$Id: Makefile 11173 2013-07-23 12:31:34Z msweet $".
 #
diff --git a/conf/cups-files.conf.in b/conf/cups-files.conf.in
new file mode 100644 (file)
index 0000000..d7e88b3
--- /dev/null
@@ -0,0 +1,101 @@
+#
+# "$Id: cups-files.conf.in 11221 2013-08-06 16:16:01Z msweet $"
+#
+# Sample file/directory/user/group configuration file for the CUPS scheduler.
+# See "man cups-files.conf" for a complete description of this file.
+#
+
+# List of events that are considered fatal errors for the scheduler...
+#FatalErrors @CUPS_FATAL_ERRORS@
+
+# Do we call fsync() after writing configuration or status files?
+#SyncOnClose No
+
+# Default user and group for filters/backends/helper programs; this cannot be
+# any user or group that resolves to ID 0 for security reasons...
+#User @CUPS_USER@
+#Group @CUPS_GROUP@
+
+# Administrator user group, used to match @SYSTEM in cupsd.conf policy rules...
+SystemGroup @CUPS_SYSTEM_GROUPS@
+@CUPS_SYSTEM_AUTHKEY@
+
+# User that is substituted for unauthenticated (remote) root accesses...
+#RemoteRoot remroot
+
+# Do we allow file: device URIs other than to /dev/null?
+#FileDevice No
+
+# Permissions for configuration and log files...
+#ConfigFilePerm 0@CUPS_CONFIG_FILE_PERM@
+#LogFilePerm 0@CUPS_LOG_FILE_PERM@
+
+# Location of the file logging all access to the scheduler; may be the name
+# "syslog". If not an absolute path, the value of ServerRoot is used as the
+# root directory.  Also see the "AccessLogLevel" directive in cupsd.conf.
+AccessLog @CUPS_LOGDIR@/access_log
+
+# Location of cache files used by the scheduler...
+#CacheDir @CUPS_CACHEDIR@
+
+# Location of data files used by the scheduler...
+#DataDir @CUPS_DATADIR@
+
+# Location of the static web content served by the scheduler...
+#DocumentRoot @CUPS_DOCROOT@
+
+# Location of the file logging all messages produced by the scheduler and any
+# helper programs; may be the name "syslog". If not an absolute path, the value
+# of ServerRoot is used as the root directory.  Also see the "LogLevel"
+# directive in cupsd.conf.
+ErrorLog @CUPS_LOGDIR@/error_log
+
+# Location of fonts used by older print filters...
+#FontPath @CUPS_FONTPATH@
+
+# Location of LPD configuration
+#LPDConfigFile @CUPS_DEFAULT_LPD_CONFIG_FILE@
+
+# Location of the file logging all pages printed by the scheduler and any
+# helper programs; may be the name "syslog". If not an absolute path, the value
+# of ServerRoot is used as the root directory.  Also see the "PageLogFormat"
+# directive in cupsd.conf.
+PageLog @CUPS_LOGDIR@/page_log
+
+# Location of the file listing all of the local printers...
+#Printcap @CUPS_DEFAULT_PRINTCAP@
+
+# Format of the Printcap file...
+#PrintcapFormat bsd
+#PrintcapFormat plist
+#PrintcapFormat solaris
+
+# Location of all spool files...
+#RequestRoot @CUPS_REQUESTS@
+
+# Location of helper programs...
+#ServerBin @CUPS_SERVERBIN@
+
+# SSL/TLS certificate for the scheduler...
+#ServerCertificate @CUPS_SERVERCERT@
+
+# SSL/TLS private key for the scheduler...
+#ServerKey @CUPS_SERVERKEY@
+
+# Location of other configuration files...
+#ServerRoot @CUPS_SERVERROOT@
+
+# Location of Samba configuration file...
+#SMBConfigFile @CUPS_DEFAULT_SMB_CONFIG_FILE@
+
+# Location of scheduler state files...
+#StateDir @CUPS_STATEDIR@
+
+# Location of scheduler/helper temporary files. This directory is emptied on
+# scheduler startup and cannot be one of the standard (public) temporary
+# directory locations for security reasons...
+#TempDir @CUPS_REQUESTS@/tmp
+
+#
+# End of "$Id: cups-files.conf.in 11221 2013-08-06 16:16:01Z msweet $".
+#
index 7ee57fd..9fe0365 100644 (file)
@@ -1,5 +1,5 @@
 #
-# "$Id: cupsd.conf.in 9407 2010-12-09 21:24:51Z mike $"
+# "$Id: cupsd.conf.in 11173 2013-07-23 12:31:34Z msweet $"
 #
 # Sample configuration file for the CUPS scheduler.  See "man cupsd.conf" for a
 # complete description of this file.
@@ -9,18 +9,12 @@
 # for troubleshooting...
 LogLevel @CUPS_LOG_LEVEL@
 
-# Administrator user group...
-SystemGroup @CUPS_SYSTEM_GROUPS@
-@CUPS_SYSTEM_AUTHKEY@
-
 # Only listen for connections from the local machine.
 Listen localhost:@DEFAULT_IPP_PORT@
 @CUPS_LISTEN_DOMAINSOCKET@
 
 # Show shared printers on the local network.
 Browsing On
-BrowseOrder allow,deny
-BrowseAllow all
 BrowseLocalProtocols @CUPS_BROWSE_LOCAL_PROTOCOLS@
 
 # Default authentication type, when authentication is required...
@@ -136,5 +130,5 @@ WebInterface @CUPS_WEBIF@
 </Policy>
 
 #
-# End of "$Id: cupsd.conf.in 9407 2010-12-09 21:24:51Z mike $".
+# End of "$Id: cupsd.conf.in 11173 2013-07-23 12:31:34Z msweet $".
 #
index 7a2333d..d6bebf8 100644 (file)
@@ -1,5 +1,5 @@
 #
-# "$Id: mime.convs.in 9750 2011-05-06 22:53:53Z mike $"
+# "$Id: mime.convs.in 11173 2013-07-23 12:31:34Z msweet $"
 #
 #   DO NOT EDIT THIS FILE, AS IT IS OVERWRITTEN WHEN YOU INSTALL NEW
 #   VERSIONS OF CUPS.  Instead, create a "local.convs" file that
 # PostScript filters
 #
 
-@DEFAULT_PDFTOPS@application/pdf                       application/vnd.cups-postscript 66      pdftops
 application/postscript         application/vnd.cups-postscript 66      pstops
-@DEFAULT_TEXTTOPS@application/x-cshell         application/postscript          33      texttops
-@DEFAULT_TEXTTOPS@application/x-csource                application/postscript          33      texttops
-@DEFAULT_TEXTTOPS@application/x-perl           application/postscript          33      texttops
-@DEFAULT_TEXTTOPS@application/x-shell          application/postscript          33      texttops
-@DEFAULT_TEXTTOPS@text/plain                   application/postscript          33      texttops
-@DEFAULT_TEXTTOPS@text/css                     application/postscript          33      texttops
-@DEFAULT_TEXTTOPS@text/html                    application/postscript          33      texttops
-@DEFAULT_IMAGEFILTERS@image/gif                        application/vnd.cups-postscript 66      imagetops
-@DEFAULT_IMAGEFILTERS@image/png                        application/vnd.cups-postscript 66      imagetops
-@DEFAULT_IMAGEFILTERS@image/jpeg                       application/vnd.cups-postscript 66      imagetops
-@DEFAULT_IMAGEFILTERS@image/tiff                       application/vnd.cups-postscript 66      imagetops
-@DEFAULT_IMAGEFILTERS@image/x-bitmap                   application/vnd.cups-postscript 66      imagetops
-@DEFAULT_IMAGEFILTERS@image/x-photocd                  application/vnd.cups-postscript 66      imagetops
-@DEFAULT_IMAGEFILTERS@image/x-portable-anymap          application/vnd.cups-postscript 66      imagetops
-@DEFAULT_IMAGEFILTERS@image/x-portable-bitmap          application/vnd.cups-postscript 66      imagetops
-@DEFAULT_IMAGEFILTERS@image/x-portable-graymap application/vnd.cups-postscript 66      imagetops
-@DEFAULT_IMAGEFILTERS@image/x-portable-pixmap          application/vnd.cups-postscript 66      imagetops
-@DEFAULT_IMAGEFILTERS@image/x-sgi-rgb                  application/vnd.cups-postscript 66      imagetops
-@DEFAULT_IMAGEFILTERS@image/x-xbitmap                  application/vnd.cups-postscript 66      imagetops
-@DEFAULT_IMAGEFILTERS@image/x-xpixmap                  application/vnd.cups-postscript 66      imagetops
-@DEFAULT_IMAGEFILTERS@image/x-sun-raster               application/vnd.cups-postscript 66      imagetops
-@DEFAULT_BANNERTOPS@application/vnd.cups-banner        application/postscript          33      bannertops
 
 ########################################################################
 #
 # Raster filters...
 #
 
-@DEFAULT_IMAGEFILTERS@image/gif                        application/vnd.cups-raster     100     imagetoraster
-@DEFAULT_IMAGEFILTERS@image/png                        application/vnd.cups-raster     100     imagetoraster
-@DEFAULT_IMAGEFILTERS@image/jpeg                       application/vnd.cups-raster     100     imagetoraster
-@DEFAULT_IMAGEFILTERS@image/tiff                       application/vnd.cups-raster     100     imagetoraster
-@DEFAULT_IMAGEFILTERS@image/x-bitmap                   application/vnd.cups-raster     100     imagetoraster
-@DEFAULT_IMAGEFILTERS@image/x-photocd                  application/vnd.cups-raster     100     imagetoraster
-@DEFAULT_IMAGEFILTERS@image/x-portable-anymap          application/vnd.cups-raster     100     imagetoraster
-@DEFAULT_IMAGEFILTERS@image/x-portable-bitmap          application/vnd.cups-raster     100     imagetoraster
-@DEFAULT_IMAGEFILTERS@image/x-portable-graymap application/vnd.cups-raster     100     imagetoraster
-@DEFAULT_IMAGEFILTERS@image/x-portable-pixmap          application/vnd.cups-raster     100     imagetoraster
-@DEFAULT_IMAGEFILTERS@image/x-sgi-rgb                  application/vnd.cups-raster     100     imagetoraster
-@DEFAULT_IMAGEFILTERS@image/x-xbitmap                  application/vnd.cups-raster     100     imagetoraster
-@DEFAULT_IMAGEFILTERS@image/x-xpixmap                  application/vnd.cups-raster     100     imagetoraster
-@DEFAULT_IMAGEFILTERS@image/x-sun-raster               application/vnd.cups-raster     100     imagetoraster
-
 # PWG Raster filter for IPP Everywhere...
 application/vnd.cups-raster    image/pwg-raster                100     rastertopwg
 
@@ -97,5 +59,5 @@ application/vnd.cups-raster   image/pwg-raster                100     rastertopwg
 @DEFAULT_RAW_PRINTING@application/octet-stream application/vnd.cups-raw        0       -
 
 #
-# End of "$Id: mime.convs.in 9750 2011-05-06 22:53:53Z mike $".
+# End of "$Id: mime.convs.in 11173 2013-07-23 12:31:34Z msweet $".
 #
index 21ec3bd..217d75b 100644 (file)
@@ -1,5 +1,5 @@
 #
-# "$Id: mime.types 9871 2011-08-06 06:34:46Z mike $"
+# "$Id: mime.types 7670 2008-06-17 22:42:08Z mike $"
 #
 #   Base MIME types file for CUPS.
 #
@@ -170,5 +170,5 @@ application/vnd.cups-raw    (string(0,<1B>E) + !string(2,<1B>%0B)) \
 application/octet-stream
 
 #
-# End of "$Id: mime.types 9871 2011-08-06 06:34:46Z mike $".
+# End of "$Id: mime.types 7670 2008-06-17 22:42:08Z mike $".
 #
index 1e8dfbc..5d7d52c 100644 (file)
@@ -1,5 +1,5 @@
 #
-# "$Id: snmp.conf.in 9045 2010-03-24 07:48:42Z mike $"
+# "$Id: snmp.conf.in 11173 2013-07-23 12:31:34Z msweet $"
 #
 #   Sample SNMP configuration file for CUPS.  See "man cups-snmp.conf" for a
 #   complete description of this file.
@@ -9,5 +9,5 @@
 @CUPS_SNMP_COMMUNITY@
 
 #
-# End of "$Id: snmp.conf.in 9045 2010-03-24 07:48:42Z mike $".
+# End of "$Id: snmp.conf.in 11173 2013-07-23 12:31:34Z msweet $".
 #
diff --git a/config-scripts/cups-3264.m4 b/config-scripts/cups-3264.m4
deleted file mode 100644 (file)
index 107289a..0000000
+++ /dev/null
@@ -1,140 +0,0 @@
-dnl
-dnl "$Id: cups-3264.m4 9771 2011-05-12 05:21:56Z mike $"
-dnl
-dnl   32/64-bit library support stuff for CUPS.
-dnl
-dnl   Copyright 2007-2011 by Apple Inc.
-dnl   Copyright 1997-2006 by Easy Software Products, all rights reserved.
-dnl
-dnl   These coded instructions, statements, and computer programs are the
-dnl   property of Apple Inc. and are protected by Federal copyright
-dnl   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
-dnl   which should have been included with this file.  If this file is
-dnl   file is missing or damaged, see the license at "http://www.cups.org/".
-dnl
-
-dnl Setup support for separate 32/64-bit library generation...
-AC_ARG_ENABLE(32bit, [  --enable-32bit          generate 32-bit libraries on 32/64-bit systems])
-
-INSTALL32=""
-LIB32CUPS=""
-LIB32CUPSIMAGE=""
-LIB32DIR=""
-UNINSTALL32=""
-
-AC_SUBST(INSTALL32)
-AC_SUBST(LIB32CUPS)
-AC_SUBST(LIB32CUPSIMAGE)
-AC_SUBST(LIB32DIR)
-AC_SUBST(UNINSTALL32)
-
-AC_ARG_ENABLE(64bit, [  --enable-64bit          generate 64-bit libraries on 32/64-bit systems])
-
-INSTALL64=""
-LIB64CUPS=""
-LIB64CUPSIMAGE=""
-LIB64DIR=""
-UNINSTALL64=""
-
-AC_SUBST(INSTALL64)
-AC_SUBST(LIB64CUPS)
-AC_SUBST(LIB64CUPSIMAGE)
-AC_SUBST(LIB64DIR)
-AC_SUBST(UNINSTALL64)
-
-case "$uname" in
-       HP-UX*)
-               if test "x$enable_32bit" = xyes; then
-                       # Build 32-bit libraries, 64-bit base...
-                       INSTALL32="install32bit"
-                       LIB32CUPS="32bit/libcups.so.2"
-                       LIB32CUPSIMAGE="32bit/libcupsimage.so.2"
-                       LIB32DIR="$exec_prefix/lib"
-                       if test -d /usr/lib/hpux32; then
-                               LIB32DIR="${LIB32DIR}/hpux32"
-                       fi
-                       UNINSTALL32="uninstall32bit"
-               fi
-
-               if test "x$enable_64bit" = xyes; then
-                       # Build 64-bit libraries, 32-bit base...
-                       INSTALL64="install64bit"
-                       LIB64CUPS="64bit/libcups.so.2"
-                       LIB64CUPSIMAGE="64bit/libcupsimage.so.2"
-                       LIB64DIR="$exec_prefix/lib"
-                       if test -d /usr/lib/hpux64; then
-                               LIB64DIR="${LIB64DIR}/hpux64"
-                       fi
-                       UNINSTALL64="uninstall64bit"
-               fi
-               ;;
-
-       IRIX)
-               if test "x$enable_32bit" = xyes; then
-                       INSTALL32="install32bit"
-                       LIB32CUPS="32bit/libcups.so.2"
-                       LIB32CUPSIMAGE="32bit/libcupsimage.so.2"
-                       LIB32DIR="$prefix/lib32"
-                       UNINSTALL32="uninstall32bit"
-               fi
-
-               if test "x$enable_64bit" = xyes; then
-                       # Build 64-bit libraries, 32-bit base...
-                       INSTALL64="install64bit"
-                       LIB64CUPS="64bit/libcups.so.2"
-                       LIB64CUPSIMAGE="64bit/libcupsimage.so.2"
-                       LIB64DIR="$prefix/lib64"
-                       UNINSTALL64="uninstall64bit"
-               fi
-               ;;
-
-       Linux*)
-               if test "x$enable_32bit" = xyes; then
-                       # Build 32-bit libraries, 64-bit base...
-                       INSTALL32="install32bit"
-                       LIB32CUPS="32bit/libcups.so.2"
-                       LIB32CUPSIMAGE="32bit/libcupsimage.so.2"
-                       LIB32DIR="$exec_prefix/lib"
-                       if test -d /usr/lib32; then
-                               LIB32DIR="${LIB32DIR}32"
-                       fi
-                       UNINSTALL32="uninstall32bit"
-               fi
-
-               if test "x$enable_64bit" = xyes; then
-                       # Build 64-bit libraries, 32-bit base...
-                       INSTALL64="install64bit"
-                       LIB64CUPS="64bit/libcups.so.2"
-                       LIB64CUPSIMAGE="64bit/libcupsimage.so.2"
-                       LIB64DIR="$exec_prefix/lib"
-                       if test -d /usr/lib64; then
-                               LIB64DIR="${LIB64DIR}64"
-                       fi
-                       UNINSTALL64="uninstall64bit"
-               fi
-               ;;
-
-       SunOS*)
-               if test "x$enable_32bit" = xyes; then
-                       # Build 32-bit libraries, 64-bit base...
-                       INSTALL32="install32bit"
-                       LIB32CUPS="32bit/libcups.so.2"
-                       LIB32CUPSIMAGE="32bit/libcupsimage.so.2"
-                       LIB32DIR="$exec_prefix/lib/32"
-                       UNINSTALL32="uninstall32bit"
-               fi
-
-               if test "x$enable_64bit" = xyes; then
-                       # Build 64-bit libraries, 32-bit base...
-                       INSTALL64="install64bit"
-                       LIB64CUPS="64bit/libcups.so.2"
-                       LIB64CUPSIMAGE="64bit/libcupsimage.so.2"
-                       LIB64DIR="$exec_prefix/lib/64"
-                       UNINSTALL64="uninstall64bit"
-               fi
-               ;;
-esac
-
-dnl
-dnl End of "$Id: cups-3264.m4 9771 2011-05-12 05:21:56Z mike $".
-dnl
index a5de94f..06e675a 100644 (file)
@@ -1,9 +1,9 @@
 dnl
-dnl "$Id: cups-common.m4 10317 2012-03-01 00:05:55Z mike $"
+dnl "$Id: cups-common.m4 8781 2009-08-28 17:34:54Z mike $"
 dnl
 dnl   Common configuration stuff for CUPS.
 dnl
-dnl   Copyright 2007-2012 by Apple Inc.
+dnl   Copyright 2007-2013 by Apple Inc.
 dnl   Copyright 1997-2007 by Easy Software Products, all rights reserved.
 dnl
 dnl   These coded instructions, statements, and computer programs are the
@@ -20,7 +20,7 @@ dnl Set the name of the config header file...
 AC_CONFIG_HEADER(config.h)
 
 dnl Version number information...
-CUPS_VERSION=1.5.3
+CUPS_VERSION=1.6.4
 CUPS_REVISION=
 #if test -z "$CUPS_REVISION" -a -d .svn; then
 #      CUPS_REVISION="-r`svnversion . | awk -F: '{print $NF}' | sed -e '1,$s/[[a-zA-Z]]*//g'`"
@@ -44,14 +44,13 @@ LDFLAGS="${LDFLAGS:=}"
 
 dnl Checks for programs...
 AC_PROG_AWK
-AC_PROG_CC
+AC_PROG_CC(clang cc gcc)
 AC_PROG_CPP
-AC_PROG_CXX
+AC_PROG_CXX(clang++ c++ g++)
 AC_PROG_RANLIB
 AC_PATH_PROG(AR,ar)
 AC_PATH_PROG(CHMOD,chmod)
 AC_PATH_PROG(GZIP,gzip)
-AC_PATH_PROG(HTMLDOC,htmldoc)
 AC_PATH_PROG(LD,ld)
 AC_PATH_PROG(LN,ln)
 AC_PATH_PROG(MV,mv)
@@ -93,8 +92,9 @@ dnl Check for pkg-config, which is used for some other tests later on...
 AC_PATH_PROG(PKGCONFIG, pkg-config)
 
 dnl Check for libraries...
-AC_SEARCH_LIBS(fmod, m)
+AC_SEARCH_LIBS(abs, m, AC_DEFINE(HAVE_ABS))
 AC_SEARCH_LIBS(crypt, crypt)
+AC_SEARCH_LIBS(fmod, m)
 AC_SEARCH_LIBS(getspent, sec gen)
 
 LIBMALLOC=""
@@ -125,10 +125,12 @@ AC_SUBST(LIBPAPER)
 
 dnl Checks for header files.
 AC_HEADER_STDC
+AC_CHECK_HEADER(stdlib.h,AC_DEFINE(HAVE_STDLIB_H))
 AC_CHECK_HEADER(crypt.h,AC_DEFINE(HAVE_CRYPT_H))
 AC_CHECK_HEADER(langinfo.h,AC_DEFINE(HAVE_LANGINFO_H))
 AC_CHECK_HEADER(malloc.h,AC_DEFINE(HAVE_MALLOC_H))
 AC_CHECK_HEADER(shadow.h,AC_DEFINE(HAVE_SHADOW_H))
+AC_CHECK_HEADER(stdint.h,AC_DEFINE(HAVE_STDINT_H))
 AC_CHECK_HEADER(string.h,AC_DEFINE(HAVE_STRING_H))
 AC_CHECK_HEADER(strings.h,AC_DEFINE(HAVE_STRINGS_H))
 AC_CHECK_HEADER(bstring.h,AC_DEFINE(HAVE_BSTRING_H))
@@ -147,6 +149,16 @@ AC_CHECK_HEADER(iconv.h,
                SAVELIBS="$SAVELIBS $LIBS")
        LIBS="$SAVELIBS")
 
+dnl Checks for Mini-XML (www.minixml.org)...
+LIBMXML=""
+AC_CHECK_HEADER(mxml.h,
+       SAVELIBS="$LIBS"
+       AC_SEARCH_LIBS(mmxlNewElement,mxml,
+               AC_DEFINE(HAVE_MXML_H)
+               LIBMXML="-lmxml")
+       LIBS="$SAVELIBS")
+AC_SUBST(LIBMXML)
+
 dnl Checks for statfs and its many headers...
 AC_CHECK_HEADER(sys/mount.h,AC_DEFINE(HAVE_SYS_MOUNT_H))
 AC_CHECK_HEADER(sys/statfs.h,AC_DEFINE(HAVE_SYS_STATFS_H))
@@ -213,7 +225,9 @@ dnl See if we have libusb...
 AC_ARG_ENABLE(libusb, [  --enable-libusb         use libusb for USB printing])
 
 LIBUSB=""
+USBQUIRKS=""
 AC_SUBST(LIBUSB)
+AC_SUBST(USBQUIRKS)
 
 if test "x$PKGCONFIG" != x; then
        if test x$enable_libusb = xyes -o $uname != Darwin; then
@@ -223,6 +237,7 @@ if test "x$PKGCONFIG" != x; then
                        AC_DEFINE(HAVE_LIBUSB)
                        CFLAGS="$CFLAGS `$PKGCONFIG --cflags libusb-1.0`"
                        LIBUSB="`$PKGCONFIG --libs libusb-1.0`"
+                       USBQUIRKS="\$(DATADIR)/usb"
                else
                        AC_MSG_RESULT(no)
                fi
@@ -244,6 +259,20 @@ if test x$enable_tcp_wrappers = xyes; then
                        LIBWRAP="-lwrap")])
 fi
 
+dnl ZLIB
+INSTALL_GZIP=""
+LIBZ=""
+AC_CHECK_HEADER(zlib.h,
+    AC_CHECK_LIB(z, gzgets,
+       AC_DEFINE(HAVE_LIBZ)
+       LIBZ="-lz"
+       LIBS="$LIBS -lz"
+       if test "x$GZIP" != z; then
+               INSTALL_GZIP="-z"
+       fi))
+AC_SUBST(INSTALL_GZIP)
+AC_SUBST(LIBZ)
+
 dnl Flags for "ar" command...
 case $uname in
         Darwin* | *BSD*)
@@ -311,13 +340,12 @@ AC_SUBST(DBUS_NOTIFIERLIBS)
 
 dnl Extra platform-specific libraries...
 CUPS_DEFAULT_PRINTOPERATOR_AUTH="@SYSTEM"
+CUPS_DEFAULT_SYSTEM_AUTHKEY=""
 CUPS_SYSTEM_AUTHKEY=""
 INSTALLXPC=""
-LEGACY_BACKENDS="parallel"
 
 case $uname in
         Darwin*)
-               LEGACY_BACKENDS=""
                 BACKLIBS="$BACKLIBS -framework IOKit"
                 SERVERLIBS="$SERVERLIBS -framework IOKit -weak_framework ApplicationServices"
                 LIBS="-framework SystemConfiguration -framework CoreFoundation -framework Security $LIBS"
@@ -332,12 +360,6 @@ case $uname in
                dnl Check for dynamic store function...
                AC_CHECK_FUNCS(SCDynamicStoreCopyComputerName)
 
-               dnl Check for new ColorSync APIs...
-               SAVELIBS="$LIBS"
-               LIBS="$LIBS -framework ApplicationServices"
-               AC_CHECK_FUNCS(ColorSyncRegisterDevice)
-               LIBS="$SAVELIBS"
-
                dnl Check for the new membership functions in MacOSX 10.4...
                AC_CHECK_HEADER(membership.h,AC_DEFINE(HAVE_MEMBERSHIP_H))
                AC_CHECK_HEADER(membershipPriv.h,AC_DEFINE(HAVE_MEMBERSHIPPRIV_H))
@@ -366,10 +388,13 @@ case $uname in
 
                        if test "x$default_adminkey" != xdefault; then
                                CUPS_SYSTEM_AUTHKEY="SystemGroupAuthKey $default_adminkey"
+                               CUPS_DEFAULT_SYSTEM_AUTHKEY="$default_adminkey"
                        elif grep -q system.print.operator /etc/authorization; then
                                CUPS_SYSTEM_AUTHKEY="SystemGroupAuthKey system.print.admin"
+                               CUPS_DEFAULT_SYSTEM_AUTHKEY="system.print.admin"
                        else
                                CUPS_SYSTEM_AUTHKEY="SystemGroupAuthKey system.preferences"
+                               CUPS_DEFAULT_SYSTEM_AUTHKEY="system.preferences"
                        fi
 
                        if test "x$default_operkey" != xdefault; then
@@ -385,8 +410,8 @@ case $uname in
                if test $uversion -ge 100; then
                        AC_CHECK_HEADER(sandbox.h,AC_DEFINE(HAVE_SANDBOX_H))
                fi
-               if test $uversion -ge 110; then
-                       # Broken public headers in 10.7...
+               if test $uversion -ge 110 -a $uversion -lt 120; then
+                       # Broken public headers in 10.7.x...
                        AC_MSG_CHECKING(for sandbox/private.h presence)
                        if test -f /usr/local/include/sandbox/private.h; then
                                AC_MSG_RESULT(yes)
@@ -400,14 +425,16 @@ case $uname in
                AC_CHECK_HEADER(xpc/xpc.h,
                        AC_DEFINE(HAVE_XPC)
                        INSTALLXPC="install-xpc")
+               AC_CHECK_HEADER(xpc/private.h,
+                       AC_DEFINE(HAVE_XPC_PRIVATE_H))
                 ;;
 esac
 
 AC_SUBST(CUPS_DEFAULT_PRINTOPERATOR_AUTH)
 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_PRINTOPERATOR_AUTH, "$CUPS_DEFAULT_PRINTOPERATOR_AUTH")
+AC_DEFINE_UNQUOTED(CUPS_DEFAULT_SYSTEM_AUTHKEY, "$CUPS_DEFAULT_SYSTEM_AUTHKEY")
 AC_SUBST(CUPS_SYSTEM_AUTHKEY)
 AC_SUBST(INSTALLXPC)
-AC_SUBST(LEGACY_BACKENDS)
 
 dnl Check for build components
 COMPONENTS="all"
@@ -419,7 +446,7 @@ AC_ARG_WITH(components, [  --with-components       set components to build:
 
 case "$COMPONENTS" in
        all)
-               BUILDDIRS="filter backend berkeley cgi-bin driver monitor notifier ppdc scheduler systemv conf data desktop locale man doc examples templates"
+               BUILDDIRS="filter backend berkeley cgi-bin monitor notifier ppdc scheduler systemv conf data desktop locale man doc examples templates"
                ;;
 
        core)
@@ -434,5 +461,5 @@ esac
 AC_SUBST(BUILDDIRS)
 
 dnl
-dnl End of "$Id: cups-common.m4 10317 2012-03-01 00:05:55Z mike $".
+dnl End of "$Id: cups-common.m4 8781 2009-08-28 17:34:54Z mike $".
 dnl
index 3714c00..4286895 100644 (file)
@@ -1,9 +1,9 @@
 dnl
-dnl "$Id: cups-compiler.m4 9981 2011-09-09 17:28:58Z mike $"
+dnl "$Id: cups-compiler.m4 7871 2008-08-27 21:12:43Z mike $"
 dnl
 dnl   Compiler stuff for CUPS.
 dnl
-dnl   Copyright 2007-2011 by Apple Inc.
+dnl   Copyright 2007-2012 by Apple Inc.
 dnl   Copyright 1997-2007 by Easy Software Products, all rights reserved.
 dnl
 dnl   These coded instructions, statements, and computer programs are the
@@ -66,8 +66,8 @@ fi
 
 if test -z "$with_ldarchflags"; then
        if test "$uname" = Darwin; then
-               # Only create 32-bit programs by default
-               LDARCHFLAGS="`echo $ARCHFLAGS | sed -e '1,$s/-arch x86_64//' -e '1,$s/-arch ppc64//'`"
+               # Only create Intel programs by default
+               LDARCHFLAGS="`echo $ARCHFLAGS | sed -e '1,$s/-arch ppc64//'`"
        else
                LDARCHFLAGS="$ARCHFLAGS"
        fi
@@ -78,15 +78,6 @@ fi
 AC_SUBST(ARCHFLAGS)
 AC_SUBST(LDARCHFLAGS)
 
-dnl Setup support for separate 32/64-bit library generation...
-AC_ARG_WITH(arch32flags, [  --with-arch32flags      set 32-bit architecture flags])
-ARCH32FLAGS=""
-AC_SUBST(ARCH32FLAGS)
-
-AC_ARG_WITH(arch64flags, [  --with-arch64flags      set 64-bit architecture flags])
-ARCH64FLAGS=""
-AC_SUBST(ARCH64FLAGS)
-
 dnl Read-only data/program support on Linux...
 AC_ARG_ENABLE(relro, [  --enable-relro          build with the GCC relro option])
 
@@ -100,9 +91,6 @@ AC_SUBST(PIEFLAGS)
 RELROFLAGS=""
 AC_SUBST(RELROFLAGS)
 
-PHPOPTIONS=""
-AC_SUBST(PHPOPTIONS)
-
 if test -n "$GCC"; then
        # Add GCC-specific compiler options...
        if test -z "$OPTIM"; then
@@ -157,7 +145,6 @@ if test -n "$GCC"; then
                # Additional warning options for development testing...
                if test -d .svn; then
                        OPTIM="-Wshadow -Werror $OPTIM"
-                       PHPOPTIONS="-Wno-shadow"
                else
                        AC_MSG_CHECKING(if GCC supports -Wno-tautological-compare)
                        OLDCFLAGS="$CFLAGS"
@@ -180,154 +167,12 @@ if test -n "$GCC"; then
                        CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=2"
                        ;;
 
-               HP-UX*)
-                       if test "x$enable_32bit" = xyes; then
-                               # Build 32-bit libraries, 64-bit base...
-                               if test -z "$with_arch32flags"; then
-                                       ARCH32FLAGS="-milp32"
-                               else
-                                       ARCH32FLAGS="$with_arch32flags"
-                               fi
-
-                               if test -z "$with_archflags"; then
-                                       if test -z "$with_arch64flags"; then
-                                               ARCHFLAGS="-mlp64"
-                                       else
-                                               ARCHFLAGS="$with_arch64flags"
-                                       fi
-                               fi
-                       fi
-
-                       if test "x$enable_64bit" = xyes; then
-                               # Build 64-bit libraries, 32-bit base...
-                               if test -z "$with_arch64flags"; then
-                                       ARCH64FLAGS="-mlp64"
-                               else
-                                       ARCH64FLAGS="$with_arch64flags"
-                               fi
-
-                               if test -z "$with_archflags"; then
-                                       if test -z "$with_arch32flags"; then
-                                               ARCHFLAGS="-milp32"
-                                       else
-                                               ARCHFLAGS="$with_arch32flags"
-                                       fi
-                               fi
-                       fi
-                       ;;
-
-               IRIX)
-                       if test "x$enable_32bit" = xyes; then
-                               # Build 32-bit libraries, 64-bit base...
-                               if test -z "$with_arch32flags"; then
-                                       ARCH32FLAGS="-n32 -mips3"
-                               else
-                                       ARCH32FLAGS="$with_arch32flags"
-                               fi
-
-                               if test -z "$with_archflags"; then
-                                       if test -z "$with_arch64flags"; then
-                                               ARCHFLAGS="-64 -mips4"
-                                       else
-                                               ARCHFLAGS="$with_arch64flags"
-                                       fi
-                               fi
-                       fi
-
-                       if test "x$enable_64bit" = xyes; then
-                               # Build 64-bit libraries, 32-bit base...
-                               if test -z "$with_arch64flags"; then
-                                       ARCH64FLAGS="-64 -mips4"
-                               else
-                                       ARCH64FLAGS="$with_arch64flags"
-                               fi
-
-                               if test -z "$with_archflags"; then
-                                       if test -z "$with_arch32flags"; then
-                                               ARCHFLAGS="-n32 -mips3"
-                                       else
-                                               ARCHFLAGS="$with_arch32flags"
-                                       fi
-                               fi
-                       fi
-                       ;;
-
                Linux*)
                        # The -z relro option is provided by the Linux linker command to
                        # make relocatable data read-only.
                        if test x$enable_relro = xyes; then
                                RELROFLAGS="-Wl,-z,relro"
                        fi
-
-                       if test "x$enable_32bit" = xyes; then
-                               # Build 32-bit libraries, 64-bit base...
-                               if test -z "$with_arch32flags"; then
-                                       ARCH32FLAGS="-m32"
-                               else
-                                       ARCH32FLAGS="$with_arch32flags"
-                               fi
-
-                               if test -z "$with_archflags"; then
-                                       if test -z "$with_arch64flags"; then
-                                               ARCHFLAGS="-m64"
-                                       else
-                                               ARCHFLAGS="$with_arch64flags"
-                                       fi
-                               fi
-                       fi
-
-                       if test "x$enable_64bit" = xyes; then
-                               # Build 64-bit libraries, 32-bit base...
-                               if test -z "$with_arch64flags"; then
-                                       ARCH64FLAGS="-m64"
-                               else
-                                       ARCH64FLAGS="$with_arch64flags"
-                               fi
-
-                               if test -z "$with_archflags"; then
-                                       if test -z "$with_arch32flags"; then
-                                               ARCHFLAGS="-m32"
-                                       else
-                                               ARCHFLAGS="$with_arch32flags"
-                                       fi
-                               fi
-                       fi
-                       ;;
-
-               SunOS*)
-                       if test "x$enable_32bit" = xyes; then
-                               # Build 32-bit libraries, 64-bit base...
-                               if test -z "$with_arch32flags"; then
-                                       ARCH32FLAGS="-m32"
-                               else
-                                       ARCH32FLAGS="$with_arch32flags"
-                               fi
-
-                               if test -z "$with_archflags"; then
-                                       if test -z "$with_arch64flags"; then
-                                               ARCHFLAGS="-m64"
-                                       else
-                                               ARCHFLAGS="$with_arch64flags"
-                                       fi
-                               fi
-                       fi
-
-                       if test "x$enable_64bit" = xyes; then
-                               # Build 64-bit libraries, 32-bit base...
-                               if test -z "$with_arch64flags"; then
-                                       ARCH64FLAGS="-m64"
-                               else
-                                       ARCH64FLAGS="$with_arch64flags"
-                               fi
-
-                               if test -z "$with_archflags"; then
-                                       if test -z "$with_arch32flags"; then
-                                               ARCHFLAGS="-m32"
-                                       else
-                                               ARCHFLAGS="$with_arch32flags"
-                                       fi
-                               fi
-                       fi
                        ;;
        esac
 else
@@ -356,40 +201,6 @@ else
                        if test $PICFLAG = 1; then
                                OPTIM="+z $OPTIM"
                        fi
-
-                       if test "x$enable_32bit" = xyes; then
-                               # Build 32-bit libraries, 64-bit base...
-                               if test -z "$with_arch32flags"; then
-                                       ARCH32FLAGS="+DD32"
-                               else
-                                       ARCH32FLAGS="$with_arch32flags"
-                               fi
-
-                               if test -z "$with_archflags"; then
-                                       if test -z "$with_arch64flags"; then
-                                               ARCHFLAGS="+DD64"
-                                       else
-                                               ARCHFLAGS="$with_arch64flags"
-                                       fi
-                               fi
-                       fi
-
-                       if test "x$enable_64bit" = xyes; then
-                               # Build 64-bit libraries, 32-bit base...
-                               if test -z "$with_arch64flags"; then
-                                       ARCH64FLAGS="+DD64"
-                               else
-                                       ARCH64FLAGS="$with_arch64flags"
-                               fi
-
-                               if test -z "$with_archflags"; then
-                                       if test -z "$with_arch32flags"; then
-                                               ARCHFLAGS="+DD32"
-                                       else
-                                               ARCHFLAGS="$with_arch32flags"
-                                       fi
-                               fi
-                       fi
                        ;;
                IRIX)
                        if test -z "$OPTIM"; then
@@ -403,40 +214,6 @@ else
                        if test "x$with_optim" = x; then
                                OPTIM="-fullwarn -woff 1183,1209,1349,1506,3201 $OPTIM"
                        fi
-
-                       if test "x$enable_32bit" = xyes; then
-                               # Build 32-bit libraries, 64-bit base...
-                               if test -z "$with_arch32flags"; then
-                                       ARCH32FLAGS="-n32 -mips3"
-                               else
-                                       ARCH32FLAGS="$with_arch32flags"
-                               fi
-
-                               if test -z "$with_archflags"; then
-                                       if test -z "$with_arch64flags"; then
-                                               ARCHFLAGS="-64 -mips4"
-                                       else
-                                               ARCHFLAGS="$with_arch64flags"
-                                       fi
-                               fi
-                       fi
-
-                       if test "x$enable_64bit" = xyes; then
-                               # Build 64-bit libraries, 32-bit base...
-                               if test -z "$with_arch64flags"; then
-                                       ARCH64FLAGS="-64 -mips4"
-                               else
-                                       ARCH64FLAGS="$with_arch64flags"
-                               fi
-
-                               if test -z "$with_archflags"; then
-                                       if test -z "$with_arch32flags"; then
-                                               ARCHFLAGS="-n32 -mips3"
-                                       else
-                                               ARCHFLAGS="$with_arch32flags"
-                                       fi
-                               fi
-                       fi
                        ;;
                OSF*)
                        # Tru64 UNIX aka Digital UNIX aka OSF/1
@@ -461,47 +238,6 @@ else
                        if test $PICFLAG = 1; then
                                OPTIM="-KPIC $OPTIM"
                        fi
-
-                       if test "x$enable_32bit" = xyes; then
-                               # Compiling on a Solaris system, build 64-bit
-                               # binaries with separate 32-bit libraries...
-                               ARCH32FLAGS="-xarch=generic"
-
-                               if test "x$with_optim" = x; then
-                                       # Suppress all of Sun's questionable
-                                       # warning messages, and default to
-                                       # 64-bit compiles of everything else...
-                                       OPTIM="-w $OPTIM"
-                               fi
-
-                               if test -z "$with_archflags"; then
-                                       if test -z "$with_arch64flags"; then
-                                               ARCHFLAGS="-xarch=generic64"
-                                       else
-                                               ARCHFLAGS="$with_arch64flags"
-                                       fi
-                               fi
-                       else
-                               if test "x$enable_64bit" = xyes; then
-                                       # Build 64-bit libraries...
-                                       ARCH64FLAGS="-xarch=generic64"
-                               fi
-
-                               if test "x$with_optim" = x; then
-                                       # Suppress all of Sun's questionable
-                                       # warning messages, and default to
-                                       # 32-bit compiles of everything else...
-                                       OPTIM="-w $OPTIM"
-                               fi
-
-                               if test -z "$with_archflags"; then
-                                       if test -z "$with_arch32flags"; then
-                                               ARCHFLAGS="-xarch=generic"
-                                       else
-                                               ARCHFLAGS="$with_arch32flags"
-                                       fi
-                               fi
-                       fi
                        ;;
                UNIX_SVR*)
                        # UnixWare
@@ -559,5 +295,5 @@ case $uname in
 esac
 
 dnl
-dnl End of "$Id: cups-compiler.m4 9981 2011-09-09 17:28:58Z mike $".
+dnl End of "$Id: cups-compiler.m4 7871 2008-08-27 21:12:43Z mike $".
 dnl
index f56ca55..173cfea 100644 (file)
@@ -1,9 +1,9 @@
 dnl
-dnl "$Id: cups-defaults.m4 9750 2011-05-06 22:53:53Z mike $"
+dnl "$Id: cups-defaults.m4 7959 2008-09-17 19:30:58Z mike $"
 dnl
 dnl   Default cupsd configuration settings for CUPS.
 dnl
-dnl   Copyright 2007-2011 by Apple Inc.
+dnl   Copyright 2007-2012 by Apple Inc.
 dnl   Copyright 2006-2007 by Easy Software Products, all rights reserved.
 dnl
 dnl   These coded instructions, statements, and computer programs are the
@@ -14,7 +14,7 @@ dnl   file is missing or damaged, see the license at "http://www.cups.org/".
 dnl
 
 dnl Default languages...
-LANGUAGES="`ls -1 locale/cups_*.po | sed -e '1,$s/locale\/cups_//' -e '1,$s/\.po//' | tr '\n' ' '`"
+LANGUAGES="`ls -1 locale/cups_*.po 2>/dev/null | sed -e '1,$s/locale\/cups_//' -e '1,$s/\.po//' | tr '\n' ' '`"
 
 AC_ARG_WITH(languages, [  --with-languages        set installed languages, default=all ],[
        case "$withval" in
@@ -24,8 +24,8 @@ AC_ARG_WITH(languages, [  --with-languages        set installed languages, defau
        esac])
 AC_SUBST(LANGUAGES)
 
-dnl Mac OS X bundle-based localization support
-AC_ARG_WITH(bundledir, [  --with-bundledir     set Mac OS X localization bundle directory ],
+dnl OS X bundle-based localization support
+AC_ARG_WITH(bundledir, [  --with-bundledir        set OS X localization bundle directory ],
        CUPS_BUNDLEDIR="$withval",
        if test "x$uname" = xDarwin -a $uversion -ge 100; then
                CUPS_BUNDLEDIR="/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A"
@@ -50,6 +50,12 @@ AC_ARG_WITH(config_file_perm, [  --with-config-file-perm set default ConfigFileP
 AC_SUBST(CUPS_CONFIG_FILE_PERM)
 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_CONFIG_FILE_PERM, 0$CUPS_CONFIG_FILE_PERM)
 
+dnl Default permissions for cupsd
+AC_ARG_WITH(cupsd_file_perm, [  --with-cupsd-file-perm  set default cupsd permissions, default=0500],
+       CUPS_CUPSD_FILE_PERM="$withval",
+       CUPS_CUPSD_FILE_PERM="500")
+AC_SUBST(CUPS_CUPSD_FILE_PERM)
+
 dnl Default LogFilePerm
 AC_ARG_WITH(log_file_perm, [  --with-log-file-perm    set default LogFilePerm value, default=0644],
        CUPS_LOG_FILE_PERM="$withval",
@@ -64,7 +70,6 @@ AC_ARG_WITH(fatal_errors, [  --with-fatal-errors     set default FatalErrors val
 AC_SUBST(CUPS_FATAL_ERRORS)
 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_FATAL_ERRORS, "$CUPS_FATAL_ERRORS")
 
-
 dnl Default LogLevel
 AC_ARG_WITH(log_level, [  --with-log-level        set default LogLevel value, default=warn],
        CUPS_LOG_LEVEL="$withval",
@@ -91,16 +96,16 @@ fi
 AC_SUBST(CUPS_BROWSING)
 
 dnl Default BrowseLocalProtocols
-AC_ARG_WITH(local_protocols, [  --with-local-protocols  set default BrowseLocalProtocols, default="CUPS"],
+AC_ARG_WITH(local_protocols, [  --with-local-protocols  set default BrowseLocalProtocols, default=""],
        default_local_protocols="$withval",
        default_local_protocols="default")
 
 if test x$with_local_protocols != xno; then
        if test "x$default_local_protocols" = "xdefault"; then
-               if test "x$DNSSDLIBS" != "x"; then
-               CUPS_BROWSE_LOCAL_PROTOCOLS="CUPS dnssd"
-       else
-               CUPS_BROWSE_LOCAL_PROTOCOLS="CUPS"
+               if test "x$DNSSD_BACKEND" != "x"; then
+                       CUPS_BROWSE_LOCAL_PROTOCOLS="dnssd"
+               else
+                       CUPS_BROWSE_LOCAL_PROTOCOLS=""
                fi
        else
                CUPS_BROWSE_LOCAL_PROTOCOLS="$default_local_protocols"
@@ -113,41 +118,6 @@ AC_SUBST(CUPS_BROWSE_LOCAL_PROTOCOLS)
 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_BROWSE_LOCAL_PROTOCOLS,
        "$CUPS_BROWSE_LOCAL_PROTOCOLS")
 
-dnl Default BrowseRemoteProtocols
-AC_ARG_WITH(remote_protocols, [  --with-remote-protocols set default BrowseRemoteProtocols, default="CUPS"],
-       default_remote_protocols="$withval",
-       default_remote_protocols="default")
-
-if test x$with_remote_protocols != xno; then
-       if test "x$default_remote_protocols" = "xdefault"; then
-               if test "$uname" = "Darwin" -a $uversion -ge 90; then
-                       CUPS_BROWSE_REMOTE_PROTOCOLS=""
-               else
-                       CUPS_BROWSE_REMOTE_PROTOCOLS="CUPS"
-               fi
-       else
-               CUPS_BROWSE_REMOTE_PROTOCOLS="$default_remote_protocols"
-       fi
-else
-       CUPS_BROWSE_REMOTE_PROTOCOLS=""
-fi
-
-AC_SUBST(CUPS_BROWSE_REMOTE_PROTOCOLS)
-AC_DEFINE_UNQUOTED(CUPS_DEFAULT_BROWSE_REMOTE_PROTOCOLS,
-       "$CUPS_BROWSE_REMOTE_PROTOCOLS")
-
-dnl Default BrowseShortNames
-AC_ARG_ENABLE(browse_short, [  --disable-browse-short-names
-                         disable BrowseShortNames by default])
-if test "x$enable_browse_short" = xno; then
-       CUPS_BROWSE_SHORT_NAMES="No"
-       AC_DEFINE_UNQUOTED(CUPS_DEFAULT_BROWSE_SHORT_NAMES, 0)
-else
-       CUPS_BROWSE_SHORT_NAMES="Yes"
-       AC_DEFINE_UNQUOTED(CUPS_DEFAULT_BROWSE_SHORT_NAMES, 1)
-fi
-AC_SUBST(CUPS_BROWSE_SHORT_NAMES)
-
 dnl Default DefaultShared
 AC_ARG_ENABLE(default_shared, [  --disable-default-shared
                          disable DefaultShared by default])
@@ -160,38 +130,6 @@ else
 fi
 AC_SUBST(CUPS_DEFAULT_SHARED)
 
-dnl Default ImplicitClasses
-AC_ARG_ENABLE(implicit, [  --disable-implicit-classes
-                          disable ImplicitClasses by default])
-if test "x$enable_implicit" = xno; then
-       CUPS_IMPLICIT_CLASSES="No"
-       AC_DEFINE_UNQUOTED(CUPS_DEFAULT_IMPLICIT_CLASSES, 0)
-else
-       CUPS_IMPLICIT_CLASSES="Yes"
-       AC_DEFINE_UNQUOTED(CUPS_DEFAULT_IMPLICIT_CLASSES, 1)
-fi
-AC_SUBST(CUPS_IMPLICIT_CLASSES)
-
-dnl Default UseNetworkDefault
-AC_ARG_ENABLE(use_network_default, [  --enable-use-network-default
-                          set UseNetworkDefault to Yes by default])
-if test "x$enable_use_network_default" != xno; then
-       AC_MSG_CHECKING(whether to use network default printers)
-       if test "x$enable_use_network_default" = xyes -o $uname != Darwin; then
-               CUPS_USE_NETWORK_DEFAULT="Yes"
-               AC_DEFINE_UNQUOTED(CUPS_DEFAULT_USE_NETWORK_DEFAULT, 1)
-               AC_MSG_RESULT(yes)
-       else
-               CUPS_USE_NETWORK_DEFAULT="No"
-               AC_DEFINE_UNQUOTED(CUPS_DEFAULT_USE_NETWORK_DEFAULT, 0)
-               AC_MSG_RESULT(no)
-       fi
-else
-       CUPS_USE_NETWORK_DEFAULT="No"
-       AC_DEFINE_UNQUOTED(CUPS_DEFAULT_USE_NETWORK_DEFAULT, 0)
-fi
-AC_SUBST(CUPS_USE_NETWORK_DEFAULT)
-
 dnl Determine the correct username and group for this OS...
 AC_ARG_WITH(cups_user, [  --with-cups-user        set default user for CUPS],
        CUPS_USER="$withval",
@@ -367,6 +305,7 @@ else
 fi
 
 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_LPD_CONFIG_FILE, "$CUPS_DEFAULT_LPD_CONFIG_FILE")
+AC_SUBST(CUPS_DEFAULT_LPD_CONFIG_FILE)
 
 dnl Default SMB config file...
 AC_ARG_WITH(smbconfigfile, [  --with-smbconfigfile    set default SMBConfigFile URI],
@@ -388,6 +327,7 @@ else
 fi
 
 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_SMB_CONFIG_FILE, "$CUPS_DEFAULT_SMB_CONFIG_FILE")
+AC_SUBST(CUPS_DEFAULT_SMB_CONFIG_FILE)
 
 dnl Default MaxCopies value...
 AC_ARG_WITH(max-copies, [  --with-max-copies       set default max copies value, default=9999 ],
@@ -434,54 +374,8 @@ AC_ARG_WITH(ipp-port, [  --with-ipp-port         set port number for IPP, defaul
 AC_SUBST(DEFAULT_IPP_PORT)
 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_IPP_PORT,$DEFAULT_IPP_PORT)
 
-dnl Filters
-AC_ARG_ENABLE(bannertops, [  --enable-bannertops     always build the banner filter ])
-AC_ARG_ENABLE(texttops, [  --enable-texttops       always build the text filter ])
-
-if test "x$enable_bannertops" = xno; then
-       BANNERTOPS=""
-       DEFAULT_BANNERTOPS="#"
-elif test "x$enable_bannertops" = xyes; then
-       BANNERTOPS="bannertops"
-       DEFAULT_BANNERTOPS=""
-elif test $uname = Darwin; then
-       BANNERTOPS=""
-       DEFAULT_BANNERTOPS="#"
-else
-       BANNERTOPS="bannertops"
-       DEFAULT_BANNERTOPS=""
-fi
-
-if test "x$enable_texttops" = xno; then
-       TEXTTOPS=""
-       DEFAULT_TEXTTOPS="#"
-elif test "x$enable_texttops" = xyes; then
-       TEXTTOPS="texttops"
-       DEFAULT_TEXTTOPS=""
-elif test $uname = Darwin; then
-       TEXTTOPS=""
-       DEFAULT_TEXTTOPS="#"
-else
-       TEXTTOPS="texttops"
-       DEFAULT_TEXTTOPS=""
-fi
-
-AC_SUBST(BANNERTOPS)
-AC_SUBST(DEFAULT_BANNERTOPS)
-AC_SUBST(DEFAULT_TEXTTOPS)
-AC_SUBST(TEXTTOPS)
-
-dnl Fonts
-if test "x$BANNERTOPS" = x -a "x$TEXTTOPS" = x; then
-       FONTS=""
-else
-       FONTS="fonts"
-fi
-
-AC_SUBST(FONTS)
-
 dnl Web interface...
-AC_ARG_ENABLE(webif, [  --enable-webif          enable the web interface by default, default=no for Mac OS X])
+AC_ARG_ENABLE(webif, [  --enable-webif          enable the web interface by default, default=no for OS X])
 case "x$enable_webif" in
        xno)
                CUPS_WEBIF=No
@@ -506,5 +400,5 @@ AC_SUBST(CUPS_WEBIF)
 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_WEBIF, $CUPS_DEFAULT_WEBIF)
 
 dnl
-dnl End of "$Id: cups-defaults.m4 9750 2011-05-06 22:53:53Z mike $".
+dnl End of "$Id: cups-defaults.m4 7959 2008-09-17 19:30:58Z mike $".
 dnl
index 4159f4c..fe6e01e 100644 (file)
@@ -1,9 +1,9 @@
 dnl
-dnl "$Id: cups-directories.m4 9771 2011-05-12 05:21:56Z mike $"
+dnl "$Id: cups-directories.m4 7799 2008-07-25 20:06:08Z mike $"
 dnl
 dnl   Directory stuff for CUPS.
 dnl
-dnl   Copyright 2007-2011 by Apple Inc.
+dnl   Copyright 2007-2012 by Apple Inc.
 dnl   Copyright 1997-2007 by Easy Software Products, all rights reserved.
 dnl
 dnl   These coded instructions, statements, and computer programs are the
@@ -106,7 +106,7 @@ if test "$libdir" = "\${exec_prefix}/lib"; then
                        libdir="$exec_prefix/lib32"
                        ;;
                Linux*)
-                       if test -d /usr/lib64; then
+                       if test -d /usr/lib64 -a ! -d /usr/lib64/fakeroot; then
                                libdir="$exec_prefix/lib64"
                        fi
                        ;;
@@ -424,7 +424,7 @@ AC_SUBST(CUPS_SERVERROOT)
 # Transient run-time state
 case "$uname" in
        Darwin*)
-               # Darwin (Mac OS X)
+               # Darwin (OS X)
                CUPS_STATEDIR="$CUPS_SERVERROOT"
                ;;
        *)
@@ -436,5 +436,5 @@ AC_DEFINE_UNQUOTED(CUPS_STATEDIR, "$CUPS_STATEDIR")
 AC_SUBST(CUPS_STATEDIR)
 
 dnl
-dnl End of "$Id: cups-directories.m4 9771 2011-05-12 05:21:56Z mike $".
+dnl End of "$Id: cups-directories.m4 7799 2008-07-25 20:06:08Z mike $".
 dnl
index e6bb855..426637a 100644 (file)
@@ -1,9 +1,9 @@
 dnl
-dnl "$Id: cups-dnssd.m4 9771 2011-05-12 05:21:56Z mike $"
+dnl "$Id: cups-dnssd.m4 7890 2008-08-29 22:19:39Z mike $"
 dnl
 dnl   DNS Service Discovery (aka Bonjour) stuff for CUPS.
 dnl
-dnl   Copyright 2007-2011 by Apple Inc.
+dnl   Copyright 2007-2012 by Apple Inc.
 dnl
 dnl   These coded instructions, statements, and computer programs are the
 dnl   property of Apple Inc. and are protected by Federal copyright
@@ -12,7 +12,8 @@ dnl   which should have been included with this file.  If this file is
 dnl   file is missing or damaged, see the license at "http://www.cups.org/".
 dnl
 
-AC_ARG_ENABLE(dnssd, [  --disable-dnssd         disable DNS Service Discovery support])
+AC_ARG_ENABLE(avahi, [  --disable-avahi         disable DNS Service Discovery support using Avahi])
+AC_ARG_ENABLE(dnssd, [  --disable-dnssd         disable DNS Service Discovery support using mDNSResponder])
 AC_ARG_WITH(dnssd-libs, [  --with-dnssd-libs       set directory for DNS Service Discovery library],
        LDFLAGS="-L$withval $LDFLAGS"
        DSOFLAGS="-L$withval $DSOFLAGS",)
@@ -23,14 +24,25 @@ AC_ARG_WITH(dnssd-includes, [  --with-dnssd-includes   set directory for DNS Ser
 DNSSDLIBS=""
 DNSSD_BACKEND=""
 
-if test x$enable_dnssd != xno; then
+if test "x$PKGCONFIG" != x -a x$enable_avahi != xno; then
+       AC_MSG_CHECKING(for Avahi)
+       if $PKGCONFIG --exists avahi-client; then
+               AC_MSG_RESULT(yes)
+               CFLAGS="$CFLAGS `$PKGCONFIG --cflags avahi-client`"
+               DNSSDLIBS="`$PKGCONFIG --libs avahi-client`"
+               DNSSD_BACKEND="dnssd"
+               AC_DEFINE(HAVE_AVAHI)
+       else
+               AC_MSG_RESULT(no)
+       fi
+fi
+
+if test "x$DNSSD_BACKEND" = x -a x$enable_dnssd != xno; then
        AC_CHECK_HEADER(dns_sd.h, [
                case "$uname" in
                        Darwin*)
                                # Darwin and MacOS X...
                                AC_DEFINE(HAVE_DNSSD)
-                               AC_DEFINE(HAVE_COREFOUNDATION)
-                               AC_DEFINE(HAVE_SYSTEMCONFIGURATION)
                                DNSSDLIBS="-framework CoreFoundation -framework SystemConfiguration"
                                DNSSD_BACKEND="dnssd"
                                ;;
@@ -60,5 +72,5 @@ AC_SUBST(DNSSDLIBS)
 AC_SUBST(DNSSD_BACKEND)
 
 dnl
-dnl End of "$Id: cups-dnssd.m4 9771 2011-05-12 05:21:56Z mike $".
+dnl End of "$Id: cups-dnssd.m4 7890 2008-08-29 22:19:39Z mike $".
 dnl
index a9b93af..d378bbf 100644 (file)
@@ -1,9 +1,9 @@
 dnl
-dnl   "$Id: cups-gssapi.m4 10083 2011-10-19 20:21:16Z mike $"
+dnl   "$Id$"
 dnl
 dnl   GSSAPI/Kerberos library detection for CUPS.
 dnl
-dnl   Copyright 2007-2011 by Apple Inc.
+dnl   Copyright 2007-2012 by Apple Inc.
 dnl   Copyright 2006-2007 by Easy Software Products.
 dnl
 dnl   This file contains Kerberos support code, copyright 2006 by
@@ -26,7 +26,7 @@ if test x$enable_gssapi != xno; then
        if test "x$KRB5CONFIG" != x; then
                case "$uname" in
                        Darwin)
-                               # Mac OS X weak-links to the Kerberos framework...
+                               # OS X weak-links to the Kerberos framework...
                                LIBGSSAPI="-weak_framework Kerberos"
                                AC_MSG_CHECKING(for GSS framework)
                                if test -d /System/Library/Frameworks/GSS.framework; then
@@ -86,13 +86,6 @@ if test x$enable_gssapi != xno; then
                        else
                                AC_MSG_RESULT(no)
                        fi
-                       AC_MSG_CHECKING(for GSS/gssapi_krb5.h presence)
-                       if test -f $gssdir/Headers/gssapi_krb5.h; then
-                               AC_DEFINE(HAVE_GSSAPI_KRB5_H)
-                               AC_MSG_RESULT(yes)
-                       else
-                               AC_MSG_RESULT(no)
-                       fi
                        AC_MSG_CHECKING(for GSS/gssapi_spi.h presence)
                        if test -f $gssdir/PrivateHeaders/gssapi_spi.h; then
                                AC_MSG_RESULT(yes)
@@ -105,16 +98,14 @@ if test x$enable_gssapi != xno; then
                                fi
                        else
                                AC_MSG_RESULT(no)
-                               if test $uversion -ge 110; then
-                                       # Broken public headers in 10.7...
+                               if test $uversion -ge 110 -a $uversion -lt 120; then
+                                       # Broken public headers in 10.7.x...
                                        AC_MSG_ERROR(Run 'sudo mkdir -p $gssdir/PrivateHeaders' and 'sudo touch $gssdir/PrivateHeaders/gssapi_spi.h' to build CUPS.)
                                fi
                        fi
                else
                        AC_CHECK_HEADER(gssapi.h, AC_DEFINE(HAVE_GSSAPI_H))
                        AC_CHECK_HEADER(gssapi/gssapi.h, AC_DEFINE(HAVE_GSSAPI_GSSAPI_H))
-                       AC_CHECK_HEADER(gssapi/gssapi_generic.h, AC_DEFINE(HAVE_GSSAPI_GENERIC_H))
-                       AC_CHECK_HEADER(gssapi/gssapi_krb5.h, AC_DEFINE(HAVE_GSSAPI_KRB5_H))
                fi
 
                SAVELIBS="$LIBS"
@@ -163,8 +154,9 @@ else
        CUPS_DEFAULT_GSSSERVICENAME=""
 fi
 
+AC_SUBST(CUPS_DEFAULT_GSSSERVICENAME)
 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_GSSSERVICENAME, "$CUPS_DEFAULT_GSSSERVICENAME")
 
 dnl
-dnl End of "$Id: cups-gssapi.m4 10083 2011-10-19 20:21:16Z mike $".
+dnl End of "$Id$".
 dnl
diff --git a/config-scripts/cups-image.m4 b/config-scripts/cups-image.m4
deleted file mode 100644 (file)
index 4a77775..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-dnl
-dnl "$Id: cups-image.m4 10317 2012-03-01 00:05:55Z mike $"
-dnl
-dnl   Image library/filter stuff for CUPS.
-dnl
-dnl   Copyright 2007-2011 by Apple Inc.
-dnl   Copyright 1997-2006 by Easy Software Products, all rights reserved.
-dnl
-dnl   These coded instructions, statements, and computer programs are the
-dnl   property of Apple Inc. and are protected by Federal copyright
-dnl   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
-dnl   which should have been included with this file.  If this file is
-dnl   file is missing or damaged, see the license at "http://www.cups.org/".
-dnl
-
-dnl See if we want the image filters included at all...
-AC_ARG_ENABLE(image, [  --enable-image          always build the image filters])
-
-DEFAULT_IMAGEFILTERS="#"
-IMGFILTERS=""
-if test "x$enable_image" != xno; then
-        AC_MSG_CHECKING(whether to build image filters)
-        if test "x$enable_image" = xyes -o $uname != Darwin; then
-               IMGFILTERS="imagetops imagetoraster"
-               DEFAULT_IMAGEFILTERS=""
-                AC_MSG_RESULT(yes)
-        else
-                AC_MSG_RESULT(no)
-        fi
-fi
-
-AC_SUBST(DEFAULT_IMAGEFILTERS)
-AC_SUBST(IMGFILTERS)
-
-dnl Check for image libraries...
-AC_ARG_ENABLE(jpeg, [  --disable-jpeg          disable JPEG support])
-AC_ARG_ENABLE(png, [  --disable-png           disable PNG support])
-AC_ARG_ENABLE(tiff, [  --disable-tiff          disable TIFF support])
-
-LIBJPEG=""
-LIBPNG=""
-LIBTIFF=""
-LIBZ=""
-
-AC_SUBST(LIBJPEG)
-AC_SUBST(LIBPNG)
-AC_SUBST(LIBTIFF)
-AC_SUBST(LIBZ)
-
-dnl Image libraries use math library functions...
-AC_SEARCH_LIBS(pow, m)
-
-dnl Save the current libraries since we don't want the image libraries
-dnl included with every program...
-SAVELIBS="$LIBS"
-
-dnl JPEG library...
-if test x$enable_jpeg != xno; then
-    AC_CHECK_HEADER(jpeglib.h,
-       AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,
-           AC_DEFINE(HAVE_LIBJPEG)
-           LIBJPEG="-ljpeg"
-           LIBS="$LIBS -ljpeg"))
-else
-    AC_MSG_NOTICE([JPEG support disabled with --disable-jpeg.])
-fi
-
-dnl ZLIB library...
-INSTALL_GZIP=""
-AC_CHECK_HEADER(zlib.h,
-    AC_CHECK_LIB(z, gzgets,
-       AC_DEFINE(HAVE_LIBZ)
-       LIBZ="-lz"
-       LIBS="$LIBS -lz"
-       if test "x$GZIP" != x; then
-               INSTALL_GZIP="-z"
-       fi))
-AC_SUBST(INSTALL_GZIP)
-
-dnl PNG library...
-if test x$enable_png != xno; then
-    AC_CHECK_HEADER(png.h,
-       AC_CHECK_LIB(png, png_create_read_struct,
-           AC_DEFINE(HAVE_LIBPNG)
-           LIBPNG="-lpng"))
-else
-    AC_MSG_NOTICE([PNG support disabled with --disable-png.])
-fi
-
-dnl TIFF library...
-if test x$enable_tiff != xno; then
-    AC_CHECK_HEADER(tiff.h,
-       AC_CHECK_LIB(tiff, TIFFReadScanline,
-       AC_DEFINE(HAVE_LIBTIFF)
-       LIBTIFF="-ltiff"))
-else
-    AC_MSG_NOTICE([TIFF support disabled with --disable-tiff.])
-fi
-
-dnl Restore original LIBS settings...
-LIBS="$SAVELIBS"
-
-EXPORT_LIBJPEG="$LIBJPEG"
-EXPORT_LIBPNG="$LIBPNG"
-EXPORT_LIBTIFF="$LIBTIFF"
-EXPORT_LIBZ="$LIBZ"
-
-AC_SUBST(EXPORT_LIBJPEG)
-AC_SUBST(EXPORT_LIBPNG)
-AC_SUBST(EXPORT_LIBTIFF)
-AC_SUBST(EXPORT_LIBZ)
-
-AC_CHECK_HEADER(stdlib.h,AC_DEFINE(HAVE_STDLIB_H))
-
-dnl
-dnl End of "$Id: cups-image.m4 10317 2012-03-01 00:05:55Z mike $".
-dnl
index c4eab9a..8243de7 100644 (file)
@@ -1,5 +1,5 @@
 dnl
-dnl "$Id: cups-largefile.m4 9771 2011-05-12 05:21:56Z mike $"
+dnl "$Id: cups-largefile.m4 6649 2007-07-11 21:46:42Z mike $"
 dnl
 dnl   Large file support stuff for CUPS.
 dnl
@@ -48,5 +48,5 @@ fi
 AC_CHECK_FUNC(strtoll, AC_DEFINE(HAVE_STRTOLL))
 
 dnl
-dnl End of "$Id: cups-largefile.m4 9771 2011-05-12 05:21:56Z mike $".
+dnl End of "$Id: cups-largefile.m4 6649 2007-07-11 21:46:42Z mike $".
 dnl
index 5da5e07..23a2295 100644 (file)
@@ -1,5 +1,5 @@
 dnl
-dnl "$Id: cups-launchd.m4 8983 2010-02-13 02:20:23Z mike $"
+dnl "$Id: cups-launchd.m4 6649 2007-07-11 21:46:42Z mike $"
 dnl
 dnl   launchd stuff for CUPS.
 dnl
@@ -39,5 +39,5 @@ AC_SUBST(DEFAULT_LAUNCHD_CONF)
 AC_SUBST(LAUNCHDLIBS)
 
 dnl
-dnl End of "$Id: cups-launchd.m4 8983 2010-02-13 02:20:23Z mike $".
+dnl End of "$Id: cups-launchd.m4 6649 2007-07-11 21:46:42Z mike $".
 dnl
diff --git a/config-scripts/cups-ldap.m4 b/config-scripts/cups-ldap.m4
deleted file mode 100644 (file)
index 7d68323..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-dnl
-dnl "$Id: cups-ldap.m4 9771 2011-05-12 05:21:56Z mike $"
-dnl
-dnl   LDAP configuration stuff for CUPS.
-dnl
-dnl   Copyright 2007-2011 by Apple Inc.
-dnl   Copyright 2003-2006 by Easy Software Products, all rights reserved.
-dnl
-dnl   These coded instructions, statements, and computer programs are the
-dnl   property of Apple Inc. and are protected by Federal copyright
-dnl   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
-dnl   which should have been included with this file.  If this file is
-dnl   file is missing or damaged, see the license at "http://www.cups.org/".
-dnl
-
-AC_ARG_ENABLE(ldap, [  --disable-ldap          disable LDAP support])
-AC_ARG_WITH(ldap-libs, [  --with-ldap-libs        set directory for LDAP library],
-    LDFLAGS="-L$withval $LDFLAGS"
-    DSOFLAGS="-L$withval $DSOFLAGS",)
-AC_ARG_WITH(ldap-includes, [  --with-ldap-includes    set directory for LDAP includes],
-    CFLAGS="-I$withval $CFLAGS"
-    CPPFLAGS="-I$withval $CPPFLAGS",)
-
-LIBLDAP=""
-
-if test x$enable_ldap != xno; then
-    AC_CHECK_HEADER(ldap.h, [
-       AC_CHECK_LIB(ldap, ldap_initialize,
-           AC_DEFINE(HAVE_LDAP)
-           AC_DEFINE(HAVE_OPENLDAP)
-           LIBLDAP="-lldap"
-           AC_CHECK_LIB(ldap, ldap_start_tls,
-               AC_DEFINE(HAVE_LDAP_SSL)),
-
-           AC_CHECK_LIB(ldap, ldap_init,
-               AC_DEFINE(HAVE_LDAP)
-               AC_DEFINE(HAVE_MOZILLA_LDAP)
-               LIBLDAP="-lldap"
-               AC_CHECK_HEADER(ldap_ssl.h, AC_DEFINE(HAVE_LDAP_SSL_H),,[#include <ldap.h>])
-               AC_CHECK_LIB(ldap, ldapssl_init,
-                   AC_DEFINE(HAVE_LDAP_SSL)))
-       )
-       AC_CHECK_LIB(ldap, ldap_set_rebind_proc, AC_DEFINE(HAVE_LDAP_REBIND_PROC))
-    ])
-fi
-
-AC_SUBST(LIBLDAP)
-
-
-dnl
-dnl End of "$Id: cups-ldap.m4 9771 2011-05-12 05:21:56Z mike $".
-dnl
index 5b95b39..d6026b2 100644 (file)
@@ -1,5 +1,5 @@
 dnl
-dnl "$Id: cups-libtool.m4 9771 2011-05-12 05:21:56Z mike $"
+dnl "$Id: cups-libtool.m4 6649 2007-07-11 21:46:42Z mike $"
 dnl
 dnl   Libtool stuff for CUPS.
 dnl
@@ -35,5 +35,5 @@ if test x$LIBTOOL != x; then
 fi
 
 dnl
-dnl End of "$Id: cups-libtool.m4 9771 2011-05-12 05:21:56Z mike $".
+dnl End of "$Id: cups-libtool.m4 6649 2007-07-11 21:46:42Z mike $".
 dnl
index 3a7afd7..7420433 100644 (file)
@@ -1,9 +1,9 @@
 dnl
-dnl "$Id: cups-manpages.m4 9771 2011-05-12 05:21:56Z mike $"
+dnl "$Id: cups-manpages.m4 6649 2007-07-11 21:46:42Z mike $"
 dnl
 dnl   Manpage stuff for CUPS.
 dnl
-dnl   Copyright 2007-2011 by Apple Inc.
+dnl   Copyright 2007-2012 by Apple Inc.
 dnl   Copyright 1997-2006 by Easy Software Products, all rights reserved.
 dnl
 dnl   These coded instructions, statements, and computer programs are the
@@ -68,7 +68,7 @@ case "$uname" in
                MAN8DIR=1m
                ;;
        Linux* | GNU* | Darwin*)
-               # Linux, GNU Hurd, and Mac OS X
+               # Linux, GNU Hurd, and OS X
                MAN1EXT=1.gz
                MAN5EXT=5.gz
                MAN7EXT=7.gz
@@ -92,5 +92,5 @@ AC_SUBST(MAN8EXT)
 AC_SUBST(MAN8DIR)
 
 dnl
-dnl End of "$Id: cups-manpages.m4 9771 2011-05-12 05:21:56Z mike $".
+dnl End of "$Id: cups-manpages.m4 6649 2007-07-11 21:46:42Z mike $".
 dnl
index 9b591ed..b97fb4a 100644 (file)
@@ -1,5 +1,5 @@
 dnl
-dnl "$Id: cups-network.m4 9771 2011-05-12 05:21:56Z mike $"
+dnl "$Id: cups-network.m4 7918 2008-09-08 22:03:01Z mike $"
 dnl
 dnl   Networking stuff for CUPS.
 dnl
@@ -70,5 +70,5 @@ AC_CHECK_HEADERS(AppleTalk/at_proto.h,AC_DEFINE(HAVE_APPLETALK_AT_PROTO_H),,
        [#include <netat/appletalk.h>])
 
 dnl
-dnl End of "$Id: cups-network.m4 9771 2011-05-12 05:21:56Z mike $".
+dnl End of "$Id: cups-network.m4 7918 2008-09-08 22:03:01Z mike $".
 dnl
index 0effd62..5b38975 100644 (file)
@@ -1,5 +1,5 @@
 dnl
-dnl "$Id: cups-opsys.m4 9771 2011-05-12 05:21:56Z mike $"
+dnl "$Id: cups-opsys.m4 6649 2007-07-11 21:46:42Z mike $"
 dnl
 dnl   Operating system stuff for CUPS.
 dnl
@@ -31,5 +31,5 @@ case "$uname" in
 esac
 
 dnl
-dnl "$Id: cups-opsys.m4 9771 2011-05-12 05:21:56Z mike $"
+dnl "$Id: cups-opsys.m4 6649 2007-07-11 21:46:42Z mike $"
 dnl
index 9a770bf..72bf32f 100644 (file)
@@ -1,9 +1,9 @@
 dnl
-dnl "$Id: cups-pam.m4 9771 2011-05-12 05:21:56Z mike $"
+dnl "$Id: cups-pam.m4 7960 2008-09-17 19:42:02Z mike $"
 dnl
 dnl   PAM stuff for CUPS.
 dnl
-dnl   Copyright 2007-2011 by Apple Inc.
+dnl   Copyright 2007-2012 by Apple Inc.
 dnl   Copyright 1997-2005 by Easy Software Products, all rights reserved.
 dnl
 dnl   These coded instructions, statements, and computer programs are the
@@ -61,7 +61,7 @@ if test x$enable_pam != xno; then
 
        case "$uname" in
                Darwin*)
-                       # Darwin/Mac OS X
+                       # Darwin/OS X
                        if test "x$with_pam_module" != x; then
                                PAMFILE="pam.$with_pam_module"
                        elif test -f /usr/lib/pam/pam_opendirectory.so.2; then
@@ -98,5 +98,5 @@ AC_SUBST(PAMMOD)
 AC_SUBST(PAMMODAUTH)
 
 dnl
-dnl End of "$Id: cups-pam.m4 9771 2011-05-12 05:21:56Z mike $".
+dnl End of "$Id: cups-pam.m4 7960 2008-09-17 19:42:02Z mike $".
 dnl
diff --git a/config-scripts/cups-pdf.m4 b/config-scripts/cups-pdf.m4
deleted file mode 100644 (file)
index 5743f79..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-dnl
-dnl "$Id: cups-pdf.m4 9750 2011-05-06 22:53:53Z mike $"
-dnl
-dnl   PDF filter configuration stuff for CUPS.
-dnl
-dnl   Copyright 2007-2011 by Apple Inc.
-dnl   Copyright 2006 by Easy Software Products, all rights reserved.
-dnl
-dnl   These coded instructions, statements, and computer programs are the
-dnl   property of Apple Inc. and are protected by Federal copyright
-dnl   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
-dnl   which should have been included with this file.  If this file is
-dnl   file is missing or damaged, see the license at "http://www.cups.org/".
-dnl
-
-AC_ARG_WITH(pdftops, [  --with-pdftops          set pdftops filter (gs,/path/to/gs,pdftops,/path/to/pdftops,none), default=pdftops ])
-
-PDFTOPS=""
-CUPS_PDFTOPS=""
-CUPS_GHOSTSCRIPT=""
-
-case "x$with_pdftops" in
-       x) # Default/auto
-       if test $uname != Darwin; then
-               AC_PATH_PROG(CUPS_PDFTOPS, pdftops)
-               if test "x$CUPS_PDFTOPS" != x; then
-                       AC_DEFINE(HAVE_PDFTOPS)
-                       PDFTOPS="pdftops"
-               else
-                       AC_PATH_PROG(CUPS_GHOSTSCRIPT, gs)
-                       if test "x$CUPS_GHOSTSCRIPT" != x; then
-                               AC_DEFINE(HAVE_GHOSTSCRIPT)
-                               PDFTOPS="pdftops"
-                       fi
-               fi
-       fi
-       ;;
-
-       xgs)
-       AC_PATH_PROG(CUPS_GHOSTSCRIPT, gs)
-       if test "x$CUPS_GHOSTSCRIPT" != x; then
-               AC_DEFINE(HAVE_GHOSTSCRIPT)
-               PDFTOPS="pdftops"
-       else
-               AC_MSG_ERROR(Unable to find gs program!)
-               exit 1
-       fi
-       ;;
-
-       x/*/gs) # Use /path/to/gs without any check:
-       CUPS_GHOSTSCRIPT="$with_pdftops"
-       AC_DEFINE(HAVE_GHOSTSCRIPT)
-       PDFTOPS="pdftops"
-       ;;
-
-       xpdftops)
-       AC_PATH_PROG(CUPS_PDFTOPS, pdftops)
-       if test "x$CUPS_PDFTOPS" != x; then
-               AC_DEFINE(HAVE_PDFTOPS)
-               PDFTOPS="pdftops"
-       else
-               AC_MSG_ERROR(Unable to find pdftops program!)
-               exit 1
-       fi
-       ;;
-
-       x/*/pdftops) # Use /path/to/pdftops without any check:
-       CUPS_PDFTOPS="$with_pdftops"
-       AC_DEFINE(HAVE_PDFTOPS)
-       PDFTOPS="pdftops"
-       ;;
-
-       xnone) # Make no pdftops filter if with_pdftops=none:
-       ;;
-
-       *) # Invalid with_pdftops value:
-       AC_MSG_ERROR(Invalid with_pdftops value!)
-       exit 1
-       ;;
-esac
-
-if test "x$CUPS_PDFTOPS" != x; then
-       AC_MSG_CHECKING(whether pdftops supports -origpagesizes)
-       if ($CUPS_PDFTOPS -h 2>&1 | grep -q -- -origpagesizes); then
-               AC_MSG_RESULT(yes)
-               AC_DEFINE(HAVE_PDFTOPS_WITH_ORIGPAGESIZES)
-       else
-               AC_MSG_RESULT(no)
-       fi
-
-       DEFAULT_PDFTOPS=""
-elif test "x$CUPS_GHOSTSCRIPT" != x; then
-       AC_MSG_CHECKING(whether gs supports the ps2write device)
-       if ($CUPS_GHOSTSCRIPT -h 2>&1 | grep -q ps2write); then
-               AC_MSG_RESULT(yes)
-               AC_DEFINE(HAVE_GHOSTSCRIPT_PS2WRITE)
-       else
-               AC_MSG_RESULT(no)
-       fi
-
-       DEFAULT_PDFTOPS=""
-else
-       DEFAULT_PDFTOPS="#"
-fi
-
-AC_DEFINE_UNQUOTED(CUPS_PDFTOPS, "$CUPS_PDFTOPS")
-AC_DEFINE_UNQUOTED(CUPS_GHOSTSCRIPT, "$CUPS_GHOSTSCRIPT")
-AC_SUBST(DEFAULT_PDFTOPS)
-AC_SUBST(PDFTOPS)
-
-dnl
-dnl End of "$Id: cups-pdf.m4 9750 2011-05-06 22:53:53Z mike $".
-dnl
index 46d1af5..901068c 100644 (file)
@@ -1,5 +1,5 @@
 dnl
-dnl "$Id: cups-poll.m4 9771 2011-05-12 05:21:56Z mike $"
+dnl "$Id$"
 dnl
 dnl   Select/poll stuff for CUPS.
 dnl
@@ -18,5 +18,5 @@ AC_CHECK_FUNC(epoll_create, AC_DEFINE(HAVE_EPOLL))
 AC_CHECK_FUNC(kqueue, AC_DEFINE(HAVE_KQUEUE))
 
 dnl
-dnl End of "$Id: cups-poll.m4 9771 2011-05-12 05:21:56Z mike $".
+dnl End of "$Id$".
 dnl
index cfbde74..d4ed988 100644 (file)
@@ -1,5 +1,5 @@
 dnl
-dnl "$Id: cups-scripting.m4 9099 2010-04-11 07:16:05Z mike $"
+dnl "$Id: cups-scripting.m4 7915 2008-09-07 22:18:29Z mike $"
 dnl
 dnl   Scripting configuration stuff for CUPS.
 dnl
@@ -68,17 +68,6 @@ else
        AC_DEFINE(HAVE_PHP)
 fi
 
-PHPDIR=""
-if test "x$CUPS_PHP" != xno; then
-       AC_PATH_PROG(PHPCONFIG, php-config)
-
-       if test "x$PHPCONFIG" != x; then
-               PHPDIR="scripting/php"
-       fi
-fi
-
-AC_SUBST(PHPDIR)
-
 dnl Do we have Python?
 AC_ARG_WITH(python, [  --with-python           set Python interpreter for web interfaces ],
        CUPS_PYTHON="$withval",
@@ -96,5 +85,5 @@ if test "x$CUPS_PYTHON" != x; then
 fi
 
 dnl
-dnl End of "$Id: cups-scripting.m4 9099 2010-04-11 07:16:05Z mike $".
+dnl End of "$Id: cups-scripting.m4 7915 2008-09-07 22:18:29Z mike $".
 dnl
index 75b3e8d..13dde4b 100644 (file)
@@ -1,9 +1,9 @@
 dnl
-dnl "$Id: cups-sharedlibs.m4 9153 2010-06-16 00:48:25Z mike $"
+dnl "$Id: cups-sharedlibs.m4 7630 2008-06-09 22:31:44Z mike $"
 dnl
 dnl   Shared library support for CUPS.
 dnl
-dnl   Copyright 2007-2010 by Apple Inc.
+dnl   Copyright 2007-2012 by Apple Inc.
 dnl   Copyright 1997-2005 by Easy Software Products, all rights reserved.
 dnl
 dnl   These coded instructions, statements, and computer programs are the
@@ -27,7 +27,6 @@ if test x$enable_shared != xno; then
                SunOS*)
                        LIBCUPS="lib$cupsbase.so.2"
                        LIBCUPSCGI="libcupscgi.so.1"
-                       LIBCUPSDRIVER="libcupsdriver.so.1"
                        LIBCUPSIMAGE="libcupsimage.so.2"
                        LIBCUPSMIME="libcupsmime.so.1"
                        LIBCUPSPPDC="libcupsppdc.so.1"
@@ -38,7 +37,6 @@ if test x$enable_shared != xno; then
                UNIX_S*)
                        LIBCUPS="lib$cupsbase.so.2"
                        LIBCUPSCGI="libcupscgi.so.1"
-                       LIBCUPSDRIVER="libcupsdriver.so.1"
                        LIBCUPSIMAGE="libcupsimage.so.2"
                        LIBCUPSMIME="libcupsmime.so.1"
                        LIBCUPSPPDC="libcupsppdc.so.1"
@@ -51,7 +49,6 @@ if test x$enable_shared != xno; then
                                ia64)
                                        LIBCUPS="lib$cupsbase.so.2"
                                        LIBCUPSCGI="libcupscgi.so.1"
-                                       LIBCUPSDRIVER="libcupsdriver.so.1"
                                        LIBCUPSIMAGE="libcupsimage.so.2"
                                        LIBCUPSMIME="libcupsmime.so.1"
                                        LIBCUPSPPDC="libcupsppdc.so.1"
@@ -62,7 +59,6 @@ if test x$enable_shared != xno; then
                                *)
                                        LIBCUPS="lib$cupsbase.sl.2"
                                        LIBCUPSCGI="libcupscgi.sl.1"
-                                       LIBCUPSDRIVER="libcupsdriver.sl.1"
                                        LIBCUPSIMAGE="libcupsimage.sl.2"
                                        LIBCUPSMIME="libcupsmime.sl.1"
                                        LIBCUPSPPDC="libcupsppdc.sl.1"
@@ -75,7 +71,6 @@ if test x$enable_shared != xno; then
                IRIX)
                        LIBCUPS="lib$cupsbase.so.2"
                        LIBCUPSCGI="libcupscgi.so.1"
-                       LIBCUPSDRIVER="libcupsdriver.so.1"
                        LIBCUPSIMAGE="libcupsimage.so.2"
                        LIBCUPSMIME="libcupsmime.so.1"
                        LIBCUPSPPDC="libcupsppdc.so.1"
@@ -86,7 +81,6 @@ if test x$enable_shared != xno; then
                OSF1* | Linux | GNU | *BSD*)
                        LIBCUPS="lib$cupsbase.so.2"
                        LIBCUPSCGI="libcupscgi.so.1"
-                       LIBCUPSDRIVER="libcupsdriver.so.1"
                        LIBCUPSIMAGE="libcupsimage.so.2"
                        LIBCUPSMIME="libcupsmime.so.1"
                        LIBCUPSPPDC="libcupsppdc.so.1"
@@ -97,7 +91,6 @@ if test x$enable_shared != xno; then
                Darwin*)
                        LIBCUPS="lib$cupsbase.2.dylib"
                        LIBCUPSCGI="libcupscgi.1.dylib"
-                       LIBCUPSDRIVER="libcupsdriver.1.dylib"
                        LIBCUPSIMAGE="libcupsimage.2.dylib"
                        LIBCUPSMIME="libcupsmime.1.dylib"
                        LIBCUPSPPDC="libcupsppdc.1.dylib"
@@ -109,7 +102,6 @@ if test x$enable_shared != xno; then
                        LIBCUPS="lib${cupsbase}_s.a"
                        LIBCUPSBASE="${cupsbase}_s"
                        LIBCUPSCGI="libcupscgi_s.a"
-                       LIBCUPSDRIVER="libcupsdriver_s.a"
                        LIBCUPSIMAGE="libcupsimage_s.a"
                        LIBCUPSMIME="libcupsmime_s.a"
                        LIBCUPSPPDC="libcupsppdc_s.a"
@@ -122,7 +114,6 @@ if test x$enable_shared != xno; then
                        echo "         option with compiler."
                        LIBCUPS="lib$cupsbase.so.2"
                        LIBCUPSCGI="libcupscgi.so.1"
-                       LIBCUPSDRIVER="libcupsdriver.so.1"
                        LIBCUPSIMAGE="libcupsimage.so.2"
                        LIBCUPSMIME="libcupsmime.so.1"
                        LIBCUPSPPDC="libcupsppdc.so.1"
@@ -135,7 +126,6 @@ else
        PICFLAG=0
        LIBCUPS="lib$cupsbase.a"
        LIBCUPSCGI="libcupscgi.a"
-       LIBCUPSDRIVER="libcupsdriver.a"
        LIBCUPSIMAGE="libcupsimage.a"
        LIBCUPSMIME="libcupsmime.a"
        LIBCUPSPPDC="libcupsppdc.a"
@@ -143,20 +133,12 @@ else
        DSOXX=":"
 fi
 
-# 32-bit and 64-bit libraries need variations of the standard
-# DSOFLAGS...
-DSO32FLAGS="$DSOFLAGS"
-DSO64FLAGS="$DSOFLAGS"
-
 AC_SUBST(DSO)
 AC_SUBST(DSOXX)
 AC_SUBST(DSOFLAGS)
-AC_SUBST(DSO32FLAGS)
-AC_SUBST(DSO64FLAGS)
 AC_SUBST(LIBCUPS)
 AC_SUBST(LIBCUPSBASE)
 AC_SUBST(LIBCUPSCGI)
-AC_SUBST(LIBCUPSDRIVER)
 AC_SUBST(LIBCUPSIMAGE)
 AC_SUBST(LIBCUPSMIME)
 AC_SUBST(LIBCUPSPPDC)
@@ -167,7 +149,6 @@ if test x$enable_shared = xno; then
        LINKCUPSIMAGE="../filter/libcupsimage.a"
 
        EXTLINKCUPS="-lcups"
-       EXTLINKCUPSDRIVER="-lcupsdriver"
        EXTLINKCUPSIMAGE="-lcupsimage"
 else
        if test $uname = AIX; then
@@ -175,20 +156,17 @@ else
                LINKCUPSIMAGE="-lcupsimage_s"
 
                EXTLINKCUPS="-lcups_s"
-               EXTLINKCUPSDRIVER="-lcupsdriver_s"
                EXTLINKCUPSIMAGE="-lcupsimage_s"
        else
                LINKCUPS="-l${cupsbase}"
                LINKCUPSIMAGE="-lcupsimage"
 
                EXTLINKCUPS="-lcups"
-               EXTLINKCUPSDRIVER="-lcupsdriver"
                EXTLINKCUPSIMAGE="-lcupsimage"
        fi
 fi
 
 AC_SUBST(EXTLINKCUPS)
-AC_SUBST(EXTLINKCUPSDRIVER)
 AC_SUBST(EXTLINKCUPSIMAGE)
 AC_SUBST(LINKCUPS)
 AC_SUBST(LINKCUPSIMAGE)
@@ -201,7 +179,7 @@ if test "$DSO" != ":"; then
        # rather than to the executables.  This makes things smaller if you
        # are using any static libraries, and it also allows us to distribute
        # a single DSO rather than a bunch...
-       DSOLIBS="\$(LIBTIFF) \$(LIBPNG) \$(LIBJPEG) \$(LIBZ)"
+       DSOLIBS="\$(LIBZ)"
        IMGLIBS=""
 
        # Tell the run-time linkers where to find a DSO.  Some platforms
@@ -213,13 +191,9 @@ if test "$DSO" != ":"; then
                        case "$uarch" in
                                ia64)
                                        DSOFLAGS="-Wl,+s,+b,$libdir $DSOFLAGS"
-                                       DSO32FLAGS="-Wl,+s,+b,$LIB32DIR $DSO32FLAGS"
-                                       DSO64FLAGS="-Wl,+s,+b,$LIB64DIR $DSO64FLAGS"
                                        ;;
                                *)
                                        DSOFLAGS="+s +b $libdir $DSOFLAGS"
-                                       DSO32FLAGS="+s +b $LIB32DIR $DSO32FLAGS"
-                                       DSO64FLAGS="+s +b $LIB64DIR $DSO64FLAGS"
                                        ;;
                        esac
                        LDFLAGS="$LDFLAGS -Wl,+s,+b,$libdir"
@@ -229,8 +203,6 @@ if test "$DSO" != ":"; then
                        # Solaris...
                        if test $exec_prefix != /usr; then
                                DSOFLAGS="-R$libdir $DSOFLAGS"
-                               DSO32FLAGS="-R$LIB32DIR $DSO32FLAGS"
-                               DSO64FLAGS="-R$LIB64DIR $DSO64FLAGS"
                                LDFLAGS="$LDFLAGS -R$libdir"
                                EXPORT_LDFLAGS="-R$libdir"
                        fi
@@ -239,8 +211,6 @@ if test "$DSO" != ":"; then
                         # *BSD...
                        if test $exec_prefix != /usr; then
                                DSOFLAGS="-Wl,-R$libdir $DSOFLAGS"
-                               DSO32FLAGS="-Wl,-R$LIB32DIR $DSO32FLAGS"
-                               DSO64FLAGS="-Wl,-R$LIB64DIR $DSO64FLAGS"
                                LDFLAGS="$LDFLAGS -Wl,-R$libdir"
                                EXPORT_LDFLAGS="-Wl,-R$libdir"
                        fi
@@ -249,8 +219,6 @@ if test "$DSO" != ":"; then
                         # IRIX, Linux, and HURD...
                        if test $exec_prefix != /usr; then
                                DSOFLAGS="-Wl,-rpath,$libdir $DSOFLAGS"
-                               DSO32FLAGS="-Wl,-rpath,$LIB32DIR $DSO32FLAGS"
-                               DSO64FLAGS="-Wl,-rpath,$LIB64DIR $DSO64FLAGS"
                                LDFLAGS="$LDFLAGS -Wl,-rpath,$libdir"
                                EXPORT_LDFLAGS="-Wl,-rpath,$libdir"
                        fi
@@ -258,7 +226,7 @@ if test "$DSO" != ":"; then
        esac
 else
        DSOLIBS=""
-       IMGLIBS="\$(LIBTIFF) \$(LIBPNG) \$(LIBJPEG) \$(LIBZ)"
+       IMGLIBS="\$(LIBZ)"
 fi
 
 AC_SUBST(DSOLIBS)
@@ -266,5 +234,5 @@ AC_SUBST(IMGLIBS)
 AC_SUBST(EXPORT_LDFLAGS)
 
 dnl
-dnl End of "$Id: cups-sharedlibs.m4 9153 2010-06-16 00:48:25Z mike $".
+dnl End of "$Id: cups-sharedlibs.m4 7630 2008-06-09 22:31:44Z mike $".
 dnl
diff --git a/config-scripts/cups-slp.m4 b/config-scripts/cups-slp.m4
deleted file mode 100644 (file)
index c681624..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-dnl
-dnl "$Id: cups-slp.m4 9771 2011-05-12 05:21:56Z mike $"
-dnl
-dnl   OpenSLP configuration stuff for CUPS.
-dnl
-dnl   Copyright 2007-2011 by Apple Inc.
-dnl   Copyright 1997-2005 by Easy Software Products, all rights reserved.
-dnl
-dnl   These coded instructions, statements, and computer programs are the
-dnl   property of Apple Inc. and are protected by Federal copyright
-dnl   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
-dnl   which should have been included with this file.  If this file is
-dnl   file is missing or damaged, see the license at "http://www.cups.org/".
-dnl
-
-AC_ARG_ENABLE(slp, [  --disable-slp           disable SLP support])
-AC_ARG_WITH(openslp-libs, [  --with-openslp-libs     set directory for OpenSLP library],
-    LDFLAGS="-L$withval $LDFLAGS"
-    DSOFLAGS="-L$withval $DSOFLAGS",)
-AC_ARG_WITH(openslp-includes, [  --with-openslp-includes set directory for OpenSLP includes],
-    CFLAGS="-I$withval $CFLAGS"
-    CPPFLAGS="-I$withval $CPPFLAGS",)
-
-LIBSLP=""
-
-if test x$enable_slp != xno; then
-    AC_CHECK_HEADER(slp.h,
-       AC_CHECK_LIB(slp, SLPOpen,
-            AC_DEFINE(HAVE_LIBSLP)
-           LIBSLP="-lslp"))
-fi
-
-AC_SUBST(LIBSLP)
-
-
-dnl
-dnl End of "$Id: cups-slp.m4 9771 2011-05-12 05:21:56Z mike $".
-dnl
index b5943d5..03f7530 100644 (file)
@@ -1,5 +1,5 @@
 dnl
-dnl "$Id: cups-ssl.m4 10371 2012-03-21 04:45:48Z mike $"
+dnl "$Id: cups-ssl.m4 7241 2008-01-22 22:34:52Z mike $"
 dnl
 dnl   OpenSSL/GNUTLS stuff for CUPS.
 dnl
@@ -27,6 +27,8 @@ AC_ARG_WITH(openssl-includes, [  --with-openssl-includes set directory for OpenS
 SSLFLAGS=""
 SSLLIBS=""
 have_ssl=0
+CUPS_SERVERCERT=""
+CUPS_SERVERKEY=""
 
 if test x$enable_ssl != xno; then
     dnl Look for CDSA...
@@ -36,6 +38,7 @@ if test x$enable_ssl != xno; then
                have_ssl=1
                AC_DEFINE(HAVE_SSL)
                AC_DEFINE(HAVE_CDSASSL)
+               CUPS_SERVERCERT="/Library/Keychains/System.keychain"
 
                dnl Check for the various security headers...
                AC_CHECK_HEADER(Security/SecureTransportPriv.h,
@@ -56,12 +59,6 @@ if test x$enable_ssl != xno; then
                AC_CHECK_HEADER(Security/SecIdentitySearchPriv.h,
                    AC_DEFINE(HAVE_SECIDENTITYSEARCHPRIV_H))
 
-               dnl Check for SSLSetProtocolVersionMax...
-               SAVELIBS="$LIBS"
-               LIBS="$LIBS -framework Security"
-               AC_CHECK_FUNC(SSLSetProtocolVersionMax)
-               LIBS="$SAVELIBS"
-
                dnl Check for SecCertificateCopyData..
                AC_MSG_CHECKING(for SecCertificateCopyData)
                if test $uversion -ge 100; then
@@ -112,6 +109,9 @@ if test x$enable_ssl != xno; then
        fi
 
        if test $have_ssl = 1; then
+           CUPS_SERVERCERT="ssl/server.crt"
+           CUPS_SERVERKEY="ssl/server.key"
+
             if $PKGCONFIG --exists gcrypt; then
                SSLLIBS="$SSLLIBS `$PKGCONFIG --libs gcrypt`"
                SSLFLAGS="$SSLFLAGS `$PKGCONFIG --cflags gcrypt`"
@@ -124,7 +124,7 @@ if test x$enable_ssl != xno; then
 
     dnl Check for the OpenSSL library last...
     if test $have_ssl = 0 -a "x$enable_openssl" != "xno"; then
-       AC_CHECK_HEADER(openssl/ssl.h,
+       AC_CHECK_HEADER(openssl/ssl.h,[
            dnl Save the current libraries so the crypto stuff isn't always
            dnl included...
            SAVELIBS="$LIBS"
@@ -149,14 +149,19 @@ if test x$enable_ssl != xno; then
                    $libcrypto)
 
                if test "x${SSLLIBS}" != "x"; then
-                   LIBS="$SAVELIBS $SSLLIBS"
-                   AC_CHECK_FUNC(SSL_set_tlsext_host_name,
-                       AC_DEFINE(HAVE_SSL_SET_TLSEXT_HOST_NAME))
                    break
                fi
            done
 
-           LIBS="$SAVELIBS")
+           if test "x${SSLLIBS}" != "x"; then
+               CUPS_SERVERCERT="ssl/server.crt"
+               CUPS_SERVERKEY="ssl/server.key"
+
+               LIBS="$SAVELIBS $SSLLIBS"
+               AC_CHECK_FUNCS(SSL_set_tlsext_host_name)
+           fi
+
+           LIBS="$SAVELIBS"])
     fi
 fi
 
@@ -169,6 +174,8 @@ elif test x$enable_cdsa = xyes -o x$enable_gnutls = xyes -o x$enable_openssl = x
     AC_MSG_ERROR([Unable to enable SSL support.])
 fi
 
+AC_SUBST(CUPS_SERVERCERT)
+AC_SUBST(CUPS_SERVERKEY)
 AC_SUBST(IPPALIASES)
 AC_SUBST(SSLFLAGS)
 AC_SUBST(SSLLIBS)
@@ -177,5 +184,5 @@ EXPORT_SSLLIBS="$SSLLIBS"
 AC_SUBST(EXPORT_SSLLIBS)
 
 dnl
-dnl End of "$Id: cups-ssl.m4 10371 2012-03-21 04:45:48Z mike $".
+dnl End of "$Id: cups-ssl.m4 7241 2008-01-22 22:34:52Z mike $".
 dnl
index 0743e34..b95c79f 100644 (file)
@@ -1,5 +1,5 @@
 dnl
-dnl "$Id: cups-threads.m4 9771 2011-05-12 05:21:56Z mike $"
+dnl "$Id: cups-threads.m4 6649 2007-07-11 21:46:42Z mike $"
 dnl
 dnl   Threading stuff for CUPS.
 dnl
@@ -50,5 +50,5 @@ fi
 AC_SUBST(PTHREAD_FLAGS)
 
 dnl
-dnl End of "$Id: cups-threads.m4 9771 2011-05-12 05:21:56Z mike $".
+dnl End of "$Id: cups-threads.m4 6649 2007-07-11 21:46:42Z mike $".
 dnl
index 1d1c7f4..edff532 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: config.h.in 10371 2012-03-21 04:45:48Z mike $"
+ * "$Id: config.h.in 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Configuration file for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -32,6 +32,7 @@
 #define CUPS_DEFAULT_GROUP     "sys"
 #define CUPS_DEFAULT_SYSTEM_GROUPS     "sys root system"
 #define CUPS_DEFAULT_PRINTOPERATOR_AUTH        "@SYSTEM"
+#define CUPS_DEFAULT_SYSTEM_AUTHKEY    "system.print.admin"
 
 
 /*
  */
 
 #define CUPS_DEFAULT_BROWSING  1
-#define CUPS_DEFAULT_BROWSE_LOCAL_PROTOCOLS    "CUPS"
-#define CUPS_DEFAULT_BROWSE_REMOTE_PROTOCOLS   "CUPS"
-#define CUPS_DEFAULT_BROWSE_SHORT_NAMES        1
+#define CUPS_DEFAULT_BROWSE_LOCAL_PROTOCOLS    ""
 #define CUPS_DEFAULT_DEFAULT_SHARED 1
-#define CUPS_DEFAULT_IMPLICIT_CLASSES  1
-#define CUPS_DEFAULT_USE_NETWORK_DEFAULT 1
 
 
 /*
 
 
 /*
+ * Use <stdint.h>?
+ */
+
+#undef HAVE_STDINT_H
+
+
+/*
  * Use <string.h>, <strings.h>, and/or <bstring.h>?
  */
 
 
 
 /*
- * Do we have the SSLSetProtocolVersionMax function?
- */
-
-#undef HAVE_SSLSETPROTOCOLVERSIONMAX
-
-
-/*
  * Do we have the cssmErrorString function?
  */
 
 
 
 /*
- * Do we have the SLP library?
- */
-
-#undef HAVE_LIBSLP
-
-
-/*
- * Do we have an LDAP library?
+ * Do we have libpaper?
  */
 
-#undef HAVE_LDAP
-#undef HAVE_OPENLDAP
-#undef HAVE_MOZILLA_LDAP
-#undef HAVE_LDAP_SSL_H
-#undef HAVE_LDAP_SSL
-#undef HAVE_LDAP_REBIND_PROC
+#undef HAVE_LIBPAPER
 
 
 /*
- * Do we have libpaper?
+ * Do we have mDNSResponder for DNS Service Discovery (aka Bonjour)?
  */
 
-#undef HAVE_LIBPAPER
+#undef HAVE_DNSSD
 
 
 /*
- * Do we have DNS Service Discovery (aka Bonjour)?
+ * Do we have Avahi for DNS Service Discovery (aka Bonjour)?
  */
 
-#undef HAVE_DNSSD
+#undef HAVE_AVAHI
 
 
 /*
 
 
 /*
- * Do we have Darwin's CoreFoundation and SystemConfiguration frameworks?
- */
-
-#undef HAVE_COREFOUNDATION
-#undef HAVE_SYSTEMCONFIGURATION
-
-
-/*
  * Do we have CoreFoundation public and private headers?
  */
 
 
 
 /*
- * Do we have Mac OS X 10.4's mbr_XXX functions?
+ * Do we have OS X 10.4's mbr_XXX functions?
  */
 
 #undef HAVE_MEMBERSHIP_H
 #undef HAVE_GSS_GSSAPI_H
 #undef HAVE_GSS_GSSAPI_SPI_H
 #undef HAVE_GSSAPI
-#undef HAVE_GSSAPI_GENERIC_H
 #undef HAVE_GSSAPI_GSSAPI_H
 #undef HAVE_GSSAPI_H
-#undef HAVE_GSSAPI_KRB5_H
-#undef HAVE_KRB5_H
 
 
 /*
 
 
 /*
- * Location of Mac OS X localization bundle, if any.
+ * Location of OS X localization bundle, if any.
  */
 
 #undef CUPS_BUNDLEDIR
 
 
 /*
- * Do we have the ColorSyncRegisterDevice function?
+ * Do we have XPC?
  */
 
-#undef HAVE_COLORSYNCREGISTERDEVICE
+#undef HAVE_XPC
+#undef HAVE_XPC_PRIVATE_H
 
 
 /*
- * Do we have XPC?
+ * Do we have Mini-XML?
  */
 
-#undef HAVE_XPC
+#undef HAVE_MXML_H
+
+
+/*
+ * Do we have the C99 abs() function?
+ */
 
+#undef HAVE_ABS
+#if !defined(HAVE_ABS) && !defined(abs)
+#  if defined(__GNUC__) || __STDC_VERSION__ >= 199901L
+#    define abs(x) _cups_abs(x)
+static inline int _cups_abs(int i) { return (i < 0 ? -i : i); }
+#  elif defined(_MSC_VER)
+#    define abs(x) _cups_abs(x)
+static __inline int _cups_abs(int i) { return (i < 0 ? -i : i); }
+#  else
+#    define abs(x) ((x) < 0 ? -(x) : (x))
+#  endif /* __GNUC__ || __STDC_VERSION__ */
+#endif /* !HAVE_ABS && !abs */
 
 #endif /* !_CUPS_CONFIG_H_ */
 
 /*
- * End of "$Id: config.h.in 10371 2012-03-21 04:45:48Z mike $".
+ * End of "$Id: config.h.in 11173 2013-07-23 12:31:34Z msweet $".
  */
index f8c040f..8582cb8 100755 (executable)
--- a/configure
+++ b/configure
@@ -605,43 +605,31 @@ LIBOBJS
 UNINSTALL_LANGUAGES
 INSTALL_LANGUAGES
 PYTHON
-PHPDIR
-PHPCONFIG
 PHP
 PHPCGI
 PERL
 JAVA
-PDFTOPS
-DEFAULT_PDFTOPS
-CUPS_GHOSTSCRIPT
-CUPS_PDFTOPS
 CUPS_WEBIF
-FONTS
-TEXTTOPS
-DEFAULT_TEXTTOPS
-DEFAULT_BANNERTOPS
-BANNERTOPS
 DEFAULT_IPP_PORT
 CUPS_SNMP_COMMUNITY
 CUPS_SNMP_ADDRESS
 DEFAULT_RAW_PRINTING
 CUPS_MAX_COPIES
+CUPS_DEFAULT_SMB_CONFIG_FILE
+CUPS_DEFAULT_LPD_CONFIG_FILE
 CUPS_DEFAULT_PRINTCAP
 CUPS_PRIMARY_SYSTEM_GROUP
 CUPS_SYSTEM_GROUPS
 CUPS_GROUP
 CUPS_USER
-CUPS_USE_NETWORK_DEFAULT
-CUPS_IMPLICIT_CLASSES
 CUPS_DEFAULT_SHARED
-CUPS_BROWSE_SHORT_NAMES
-CUPS_BROWSE_REMOTE_PROTOCOLS
 CUPS_BROWSE_LOCAL_PROTOCOLS
 CUPS_BROWSING
 CUPS_ACCESS_LOG_LEVEL
 CUPS_LOG_LEVEL
 CUPS_FATAL_ERRORS
 CUPS_LOG_FILE_PERM
+CUPS_CUPSD_FILE_PERM
 CUPS_CONFIG_FILE_PERM
 CUPS_BUNDLEDIR
 LANGUAGES
@@ -659,32 +647,19 @@ EXPORT_SSLLIBS
 SSLLIBS
 SSLFLAGS
 IPPALIASES
+CUPS_SERVERKEY
+CUPS_SERVERCERT
 LIBGCRYPTCONFIG
 LIBGNUTLSCONFIG
 PTHREAD_FLAGS
-LIBLDAP
+CUPS_DEFAULT_GSSSERVICENAME
 KRB5CONFIG
 LIBGSSAPI
-LIBSLP
 CUPS_LISTEN_DOMAINSOCKET
 CUPS_DEFAULT_DOMAINSOCKET
-EXPORT_LIBZ
-EXPORT_LIBTIFF
-EXPORT_LIBPNG
-EXPORT_LIBJPEG
-INSTALL_GZIP
-LIBZ
-LIBTIFF
-LIBPNG
-LIBJPEG
-IMGFILTERS
-DEFAULT_IMAGEFILTERS
-PHPOPTIONS
 RELROFLAGS
 PIEFLAGS
 CXXLIBS
-ARCH64FLAGS
-ARCH32FLAGS
 LDARCHFLAGS
 ARCHFLAGS
 UNITTESTS
@@ -697,31 +672,17 @@ DSOLIBS
 LINKCUPSIMAGE
 LINKCUPS
 EXTLINKCUPSIMAGE
-EXTLINKCUPSDRIVER
 EXTLINKCUPS
 LIBCUPSSTATIC
 LIBCUPSPPDC
 LIBCUPSMIME
 LIBCUPSIMAGE
-LIBCUPSDRIVER
 LIBCUPSCGI
 LIBCUPSBASE
 LIBCUPS
-DSO64FLAGS
-DSO32FLAGS
 DSOFLAGS
 DSOXX
 DSO
-UNINSTALL64
-LIB64DIR
-LIB64CUPSIMAGE
-LIB64CUPS
-INSTALL64
-UNINSTALL32
-LIB32DIR
-LIB32CUPSIMAGE
-LIB32CUPS
-INSTALL32
 MAN8DIR
 MAN8EXT
 MAN7EXT
@@ -752,7 +713,6 @@ INITDIR
 PRIVATEINCLUDE
 privateinclude
 BUILDDIRS
-LEGACY_BACKENDS
 INSTALLXPC
 CUPS_SYSTEM_AUTHKEY
 CUPS_DEFAULT_PRINTOPERATOR_AUTH
@@ -762,8 +722,12 @@ DBUSDIR
 SERVERLIBS
 BACKLIBS
 ARFLAGS
+LIBZ
+INSTALL_GZIP
 LIBWRAP
+USBQUIRKS
 LIBUSB
+LIBMXML
 EGREP
 GREP
 LIBPAPER
@@ -779,7 +743,6 @@ RM
 MV
 LN
 LD
-HTMLDOC
 GZIP
 CHMOD
 AR
@@ -867,8 +830,6 @@ with_menudir
 with_docdir
 with_fontpath
 with_logdir
-enable_32bit
-enable_64bit
 enable_shared
 enable_libtool_unsupported
 with_optim
@@ -878,22 +839,10 @@ enable_debug_printfs
 enable_unit_tests
 with_archflags
 with_ldarchflags
-with_arch32flags
-with_arch64flags
 enable_relro
-enable_image
-enable_jpeg
-enable_png
-enable_tiff
 with_domainsocket
-enable_slp
-with_openslp_libs
-with_openslp_includes
 enable_gssapi
 with_gssservicename
-enable_ldap
-with_ldap_libs
-with_ldap_includes
 enable_threads
 enable_ssl
 enable_cdsassl
@@ -904,6 +853,7 @@ with_openssl_includes
 enable_pam
 with_pam_module
 enable_largefile
+enable_avahi
 enable_dnssd
 with_dnssd_libs
 with_dnssd_includes
@@ -911,17 +861,14 @@ enable_launchd
 with_languages
 with_bundledir
 with_config_file_perm
+with_cupsd_file_perm
 with_log_file_perm
 with_fatal_errors
 with_log_level
 with_access_log_level
 enable_browsing
 with_local_protocols
-with_remote_protocols
-enable_browse_short
 enable_default_shared
-enable_implicit
-enable_use_network_default
 with_cups_user
 with_cups_group
 with_system_groups
@@ -933,10 +880,7 @@ enable_raw_printing
 with_snmp_address
 with_snmp_community
 with_ipp_port
-enable_bannertops
-enable_texttops
 enable_webif
-with_pdftops
 with_java
 with_perl
 with_php
@@ -1570,8 +1514,6 @@ Optional Features:
   --enable-tcp-wrappers   use libwrap for TCP wrappers support
   --enable-acl            build with POSIX ACL support
   --enable-dbus           build with DBUS support
-  --enable-32bit          generate 32-bit libraries on 32/64-bit systems
-  --enable-64bit          generate 64-bit libraries on 32/64-bit systems
   --disable-shared        do not create shared libraries
   --enable-libtool-unsupported
                           build with libtool (UNSUPPORTED!)
@@ -1580,13 +1522,7 @@ Optional Features:
   --enable-debug-printfs  build with CUPS_DEBUG_LOG support
   --enable-unit-tests     build and run unit tests
   --enable-relro          build with the GCC relro option
-  --enable-image          always build the image filters
-  --disable-jpeg          disable JPEG support
-  --disable-png           disable PNG support
-  --disable-tiff          disable TIFF support
-  --disable-slp           disable SLP support
   --disable-gssapi        disable GSSAPI support
-  --disable-ldap          disable LDAP support
   --disable-threads       disable multi-threading support
   --disable-ssl           disable SSL/TLS support
   --enable-cdsassl        use CDSA for SSL/TLS support, default=first
@@ -1594,21 +1530,14 @@ Optional Features:
   --enable-openssl        use OpenSSL for SSL/TLS support, default=third
   --disable-pam           disable PAM support
   --disable-largefile     omit support for large files
-  --disable-dnssd         disable DNS Service Discovery support
+  --disable-avahi         disable DNS Service Discovery support using Avahi
+  --disable-dnssd         disable DNS Service Discovery support using mDNSResponder
   --disable-launchd       disable launchd support
   --disable-browsing      disable Browsing by default
-  --disable-browse-short-names
-                         disable BrowseShortNames by default
   --disable-default-shared
                          disable DefaultShared by default
-  --disable-implicit-classes
-                          disable ImplicitClasses by default
-  --enable-use-network-default
-                          set UseNetworkDefault to Yes by default
   --disable-raw-printing  do not allow raw printing by default
-  --enable-bannertops     always build the banner filter
-  --enable-texttops       always build the text filter
-  --enable-webif          enable the web interface by default, default=no for Mac OS X
+  --enable-webif          enable the web interface by default, default=no for OS X
 
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
@@ -1638,28 +1567,22 @@ Optional Packages:
   --with-optim            set optimization flags
   --with-archflags        set default architecture flags
   --with-ldarchflags      set program architecture flags
-  --with-arch32flags      set 32-bit architecture flags
-  --with-arch64flags      set 64-bit architecture flags
   --with-domainsocket     set unix domain socket name
-  --with-openslp-libs     set directory for OpenSLP library
-  --with-openslp-includes set directory for OpenSLP includes
   --with-gssservicename   set default gss service name
-  --with-ldap-libs        set directory for LDAP library
-  --with-ldap-includes    set directory for LDAP includes
   --with-openssl-libs     set directory for OpenSSL library
   --with-openssl-includes set directory for OpenSSL includes
   --with-pam-module       specify the PAM module to use
   --with-dnssd-libs       set directory for DNS Service Discovery library
   --with-dnssd-includes   set directory for DNS Service Discovery includes
   --with-languages        set installed languages, default=all
-  --with-bundledir     set Mac OS X localization bundle directory
+  --with-bundledir        set OS X localization bundle directory
   --with-config-file-perm set default ConfigFilePerm value, default=0640
+  --with-cupsd-file-perm  set default cupsd permissions, default=0500
   --with-log-file-perm    set default LogFilePerm value, default=0644
   --with-fatal-errors     set default FatalErrors value, default=config
   --with-log-level        set default LogLevel value, default=warn
   --with-access-log-level set default AccessLogLevel value, default=actions
-  --with-local-protocols  set default BrowseLocalProtocols, default="CUPS"
-  --with-remote-protocols set default BrowseRemoteProtocols, default="CUPS"
+  --with-local-protocols  set default BrowseLocalProtocols, default=""
   --with-cups-user        set default user for CUPS
   --with-cups-group       set default group for CUPS
   --with-system-groups    set default system groups for CUPS
@@ -1670,7 +1593,6 @@ Optional Packages:
   --with-snmp-address     set SNMP query address, default=auto
   --with-snmp-community   set SNMP community, default=public
   --with-ipp-port         set port number for IPP, default=631
-  --with-pdftops          set pdftops filter (gs,/path/to/gs,pdftops,/path/to/pdftops,none), default=pdftops
   --with-java             set Java interpreter for web interfaces
   --with-perl             set Perl interpreter for web interfaces
   --with-php              set PHP interpreter for web interfaces
@@ -2587,7 +2509,7 @@ esac
 ac_config_headers="$ac_config_headers config.h"
 
 
-CUPS_VERSION=1.5.3
+CUPS_VERSION=1.6.4
 CUPS_REVISION=
 #if test -z "$CUPS_REVISION" -a -d .svn; then
 #      CUPS_REVISION="-r`svnversion . | awk -F: '{print $NF}' | sed -e '1,$s/[[a-zA-Z]]*//g'`"
@@ -2666,197 +2588,7 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
-  ac_ct_CC=$CC
-  # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-else
-  CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
-          if test -n "$ac_tool_prefix"; then
-    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  fi
-fi
-if test -z "$CC"; then
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-       ac_prog_rejected=yes
-       continue
-     fi
-    ac_cv_prog_CC="cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
-  # We found a bogon in the path, so make sure we never use it.
-  set dummy $ac_cv_prog_CC
-  shift
-  if test $# != 0; then
-    # We chose a different compiler from the bogus one.
-    # However, it has the same basename, so the bogon will be chosen
-    # first if we set CC to just the basename; use the full file name.
-    shift
-    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
-  fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
-  if test -n "$ac_tool_prefix"; then
-  for ac_prog in cl.exe
+  for ac_prog in clang cc gcc
   do
     # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
@@ -2900,7 +2632,7 @@ fi
 fi
 if test -z "$CC"; then
   ac_ct_CC=$CC
-  for ac_prog in cl.exe
+  for ac_prog in clang cc gcc
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -2955,8 +2687,6 @@ esac
   fi
 fi
 
-fi
-
 
 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
@@ -3597,7 +3327,7 @@ if test -z "$CXX"; then
     CXX=$CCC
   else
     if test -n "$ac_tool_prefix"; then
-  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
+  for ac_prog in clang++ c++ g++
   do
     # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
@@ -3641,7 +3371,7 @@ fi
 fi
 if test -z "$CXX"; then
   ac_ct_CXX=$CXX
-  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
+  for ac_prog in clang++ c++ g++
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -4056,46 +3786,6 @@ $as_echo "no" >&6; }
 fi
 
 
-# Extract the first word of "htmldoc", so it can be a program name with args.
-set dummy htmldoc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_HTMLDOC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $HTMLDOC in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_HTMLDOC="$HTMLDOC" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_HTMLDOC="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-HTMLDOC=$ac_cv_path_HTMLDOC
-if test -n "$HTMLDOC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $HTMLDOC" >&5
-$as_echo "$HTMLDOC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
 # Extract the first word of "ld", so it can be a program name with args.
 set dummy ld; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
@@ -4453,9 +4143,9 @@ fi
 
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing fmod" >&5
-$as_echo_n "checking for library containing fmod... " >&6; }
-if ${ac_cv_search_fmod+:} false; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing abs" >&5
+$as_echo_n "checking for library containing abs... " >&6; }
+if ${ac_cv_search_abs+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
@@ -4468,11 +4158,11 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 #ifdef __cplusplus
 extern "C"
 #endif
-char fmod ();
+char abs ();
 int
 main ()
 {
-return fmod ();
+return abs ();
   ;
   return 0;
 }
@@ -4485,27 +4175,28 @@ for ac_lib in '' m; do
     LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
   fi
   if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_fmod=$ac_res
+  ac_cv_search_abs=$ac_res
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext
-  if ${ac_cv_search_fmod+:} false; then :
+  if ${ac_cv_search_abs+:} false; then :
   break
 fi
 done
-if ${ac_cv_search_fmod+:} false; then :
+if ${ac_cv_search_abs+:} false; then :
 
 else
-  ac_cv_search_fmod=no
+  ac_cv_search_abs=no
 fi
 rm conftest.$ac_ext
 LIBS=$ac_func_search_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_fmod" >&5
-$as_echo "$ac_cv_search_fmod" >&6; }
-ac_res=$ac_cv_search_fmod
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_abs" >&5
+$as_echo "$ac_cv_search_abs" >&6; }
+ac_res=$ac_cv_search_abs
 if test "$ac_res" != no; then :
   test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+  $as_echo "#define HAVE_ABS 1" >>confdefs.h
 
 fi
 
@@ -4565,9 +4256,9 @@ if test "$ac_res" != no; then :
 
 fi
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing getspent" >&5
-$as_echo_n "checking for library containing getspent... " >&6; }
-if ${ac_cv_search_getspent+:} false; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing fmod" >&5
+$as_echo_n "checking for library containing fmod... " >&6; }
+if ${ac_cv_search_fmod+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
@@ -4580,16 +4271,16 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 #ifdef __cplusplus
 extern "C"
 #endif
-char getspent ();
+char fmod ();
 int
 main ()
 {
-return getspent ();
+return fmod ();
   ;
   return 0;
 }
 _ACEOF
-for ac_lib in '' sec gen; do
+for ac_lib in '' m; do
   if test -z "$ac_lib"; then
     ac_res="none required"
   else
@@ -4597,44 +4288,33 @@ for ac_lib in '' sec gen; do
     LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
   fi
   if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_getspent=$ac_res
+  ac_cv_search_fmod=$ac_res
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext
-  if ${ac_cv_search_getspent+:} false; then :
+  if ${ac_cv_search_fmod+:} false; then :
   break
 fi
 done
-if ${ac_cv_search_getspent+:} false; then :
+if ${ac_cv_search_fmod+:} false; then :
 
 else
-  ac_cv_search_getspent=no
+  ac_cv_search_fmod=no
 fi
 rm conftest.$ac_ext
 LIBS=$ac_func_search_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_getspent" >&5
-$as_echo "$ac_cv_search_getspent" >&6; }
-ac_res=$ac_cv_search_getspent
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_fmod" >&5
+$as_echo "$ac_cv_search_fmod" >&6; }
+ac_res=$ac_cv_search_fmod
 if test "$ac_res" != no; then :
   test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
 fi
 
-
-LIBMALLOC=""
-# Check whether --enable-mallinfo was given.
-if test "${enable_mallinfo+set}" = set; then :
-  enableval=$enable_mallinfo;
-fi
-
-
-if test x$enable_mallinfo = xyes; then
-       SAVELIBS="$LIBS"
-       LIBS=""
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing mallinfo" >&5
-$as_echo_n "checking for library containing mallinfo... " >&6; }
-if ${ac_cv_search_mallinfo+:} false; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing getspent" >&5
+$as_echo_n "checking for library containing getspent... " >&6; }
+if ${ac_cv_search_getspent+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
@@ -4647,16 +4327,83 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 #ifdef __cplusplus
 extern "C"
 #endif
-char mallinfo ();
+char getspent ();
 int
 main ()
 {
-return mallinfo ();
+return getspent ();
   ;
   return 0;
 }
 _ACEOF
-for ac_lib in '' malloc; do
+for ac_lib in '' sec gen; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_getspent=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if ${ac_cv_search_getspent+:} false; then :
+  break
+fi
+done
+if ${ac_cv_search_getspent+:} false; then :
+
+else
+  ac_cv_search_getspent=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_getspent" >&5
+$as_echo "$ac_cv_search_getspent" >&6; }
+ac_res=$ac_cv_search_getspent
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+
+LIBMALLOC=""
+# Check whether --enable-mallinfo was given.
+if test "${enable_mallinfo+set}" = set; then :
+  enableval=$enable_mallinfo;
+fi
+
+
+if test x$enable_mallinfo = xyes; then
+       SAVELIBS="$LIBS"
+       LIBS=""
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing mallinfo" >&5
+$as_echo_n "checking for library containing mallinfo... " >&6; }
+if ${ac_cv_search_mallinfo+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char mallinfo ();
+int
+main ()
+{
+return mallinfo ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' malloc; do
   if test -z "$ac_lib"; then
     ac_res="none required"
   else
@@ -5011,6 +4758,13 @@ fi
 done
 
 
+ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default"
+if test "x$ac_cv_header_stdlib_h" = xyes; then :
+  $as_echo "#define HAVE_STDLIB_H 1" >>confdefs.h
+
+fi
+
+
 ac_fn_c_check_header_mongrel "$LINENO" "crypt.h" "ac_cv_header_crypt_h" "$ac_includes_default"
 if test "x$ac_cv_header_crypt_h" = xyes; then :
   $as_echo "#define HAVE_CRYPT_H 1" >>confdefs.h
@@ -5039,6 +4793,13 @@ if test "x$ac_cv_header_shadow_h" = xyes; then :
 fi
 
 
+ac_fn_c_check_header_mongrel "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default"
+if test "x$ac_cv_header_stdint_h" = xyes; then :
+  $as_echo "#define HAVE_STDINT_H 1" >>confdefs.h
+
+fi
+
+
 ac_fn_c_check_header_mongrel "$LINENO" "string.h" "ac_cv_header_string_h" "$ac_includes_default"
 if test "x$ac_cv_header_string_h" = xyes; then :
   $as_echo "#define HAVE_STRING_H 1" >>confdefs.h
@@ -5163,6 +4924,74 @@ fi
 
 
 
+LIBMXML=""
+ac_fn_c_check_header_mongrel "$LINENO" "mxml.h" "ac_cv_header_mxml_h" "$ac_includes_default"
+if test "x$ac_cv_header_mxml_h" = xyes; then :
+  SAVELIBS="$LIBS"
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing mmxlNewElement" >&5
+$as_echo_n "checking for library containing mmxlNewElement... " >&6; }
+if ${ac_cv_search_mmxlNewElement+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char mmxlNewElement ();
+int
+main ()
+{
+return mmxlNewElement ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' mxml; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_mmxlNewElement=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if ${ac_cv_search_mmxlNewElement+:} false; then :
+  break
+fi
+done
+if ${ac_cv_search_mmxlNewElement+:} false; then :
+
+else
+  ac_cv_search_mmxlNewElement=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_mmxlNewElement" >&5
+$as_echo "$ac_cv_search_mmxlNewElement" >&6; }
+ac_res=$ac_cv_search_mmxlNewElement
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+  $as_echo "#define HAVE_MXML_H 1" >>confdefs.h
+
+               LIBMXML="-lmxml"
+fi
+
+       LIBS="$SAVELIBS"
+fi
+
+
+
+
 ac_fn_c_check_header_mongrel "$LINENO" "sys/mount.h" "ac_cv_header_sys_mount_h" "$ac_includes_default"
 if test "x$ac_cv_header_sys_mount_h" = xyes; then :
   $as_echo "#define HAVE_SYS_MOUNT_H 1" >>confdefs.h
@@ -5396,6 +5225,8 @@ fi
 
 
 LIBUSB=""
+USBQUIRKS=""
+
 
 
 if test "x$PKGCONFIG" != x; then
@@ -5409,6 +5240,7 @@ $as_echo "yes" >&6; }
 
                        CFLAGS="$CFLAGS `$PKGCONFIG --cflags libusb-1.0`"
                        LIBUSB="`$PKGCONFIG --libs libusb-1.0`"
+                       USBQUIRKS="\$(DATADIR)/usb"
                else
                        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
@@ -5478,6 +5310,62 @@ fi
 
 fi
 
+INSTALL_GZIP=""
+LIBZ=""
+ac_fn_c_check_header_mongrel "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default"
+if test "x$ac_cv_header_zlib_h" = xyes; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gzgets in -lz" >&5
+$as_echo_n "checking for gzgets in -lz... " >&6; }
+if ${ac_cv_lib_z_gzgets+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lz  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char gzgets ();
+int
+main ()
+{
+return gzgets ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_z_gzgets=yes
+else
+  ac_cv_lib_z_gzgets=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_gzgets" >&5
+$as_echo "$ac_cv_lib_z_gzgets" >&6; }
+if test "x$ac_cv_lib_z_gzgets" = xyes; then :
+  $as_echo "#define HAVE_LIBZ 1" >>confdefs.h
+
+       LIBZ="-lz"
+       LIBS="$LIBS -lz"
+       if test "x$GZIP" != z; then
+               INSTALL_GZIP="-z"
+       fi
+fi
+
+fi
+
+
+
+
+
 case $uname in
         Darwin* | *BSD*)
                 ARFLAGS="-rcv"
@@ -5616,13 +5504,12 @@ fi
 
 
 CUPS_DEFAULT_PRINTOPERATOR_AUTH="@SYSTEM"
+CUPS_DEFAULT_SYSTEM_AUTHKEY=""
 CUPS_SYSTEM_AUTHKEY=""
 INSTALLXPC=""
-LEGACY_BACKENDS="parallel"
 
 case $uname in
         Darwin*)
-               LEGACY_BACKENDS=""
                 BACKLIBS="$BACKLIBS -framework IOKit"
                 SERVERLIBS="$SERVERLIBS -framework IOKit -weak_framework ApplicationServices"
                 LIBS="-framework SystemConfiguration -framework CoreFoundation -framework Security $LIBS"
@@ -5675,21 +5562,6 @@ fi
 done
 
 
-                               SAVELIBS="$LIBS"
-               LIBS="$LIBS -framework ApplicationServices"
-               for ac_func in ColorSyncRegisterDevice
-do :
-  ac_fn_c_check_func "$LINENO" "ColorSyncRegisterDevice" "ac_cv_func_ColorSyncRegisterDevice"
-if test "x$ac_cv_func_ColorSyncRegisterDevice" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_COLORSYNCREGISTERDEVICE 1
-_ACEOF
-
-fi
-done
-
-               LIBS="$SAVELIBS"
-
                                ac_fn_c_check_header_mongrel "$LINENO" "membership.h" "ac_cv_header_membership_h" "$ac_includes_default"
 if test "x$ac_cv_header_membership_h" = xyes; then :
   $as_echo "#define HAVE_MEMBERSHIP_H 1" >>confdefs.h
@@ -5780,10 +5652,13 @@ if test "x$ac_cv_header_Security_Authorization_h" = xyes; then :
 
                        if test "x$default_adminkey" != xdefault; then
                                CUPS_SYSTEM_AUTHKEY="SystemGroupAuthKey $default_adminkey"
+                               CUPS_DEFAULT_SYSTEM_AUTHKEY="$default_adminkey"
                        elif grep -q system.print.operator /etc/authorization; then
                                CUPS_SYSTEM_AUTHKEY="SystemGroupAuthKey system.print.admin"
+                               CUPS_DEFAULT_SYSTEM_AUTHKEY="system.print.admin"
                        else
                                CUPS_SYSTEM_AUTHKEY="SystemGroupAuthKey system.preferences"
+                               CUPS_DEFAULT_SYSTEM_AUTHKEY="system.preferences"
                        fi
 
                        if test "x$default_operkey" != xdefault; then
@@ -5813,8 +5688,8 @@ fi
 
 
                fi
-               if test $uversion -ge 110; then
-                       # Broken public headers in 10.7...
+               if test $uversion -ge 110 -a $uversion -lt 120; then
+                       # Broken public headers in 10.7.x...
                        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sandbox/private.h presence" >&5
 $as_echo_n "checking for sandbox/private.h presence... " >&6; }
                        if test -f /usr/local/include/sandbox/private.h; then
@@ -5835,6 +5710,13 @@ if test "x$ac_cv_header_xpc_xpc_h" = xyes; then :
 fi
 
 
+               ac_fn_c_check_header_mongrel "$LINENO" "xpc/private.h" "ac_cv_header_xpc_private_h" "$ac_includes_default"
+if test "x$ac_cv_header_xpc_private_h" = xyes; then :
+  $as_echo "#define HAVE_XPC_PRIVATE_H 1" >>confdefs.h
+
+fi
+
+
                 ;;
 esac
 
@@ -5843,6 +5725,9 @@ cat >>confdefs.h <<_ACEOF
 #define CUPS_DEFAULT_PRINTOPERATOR_AUTH "$CUPS_DEFAULT_PRINTOPERATOR_AUTH"
 _ACEOF
 
+cat >>confdefs.h <<_ACEOF
+#define CUPS_DEFAULT_SYSTEM_AUTHKEY "$CUPS_DEFAULT_SYSTEM_AUTHKEY"
+_ACEOF
 
 
 
@@ -5858,7 +5743,7 @@ fi
 
 case "$COMPONENTS" in
        all)
-               BUILDDIRS="filter backend berkeley cgi-bin driver monitor notifier ppdc scheduler systemv conf data desktop locale man doc examples templates"
+               BUILDDIRS="filter backend berkeley cgi-bin monitor notifier ppdc scheduler systemv conf data desktop locale man doc examples templates"
                ;;
 
        core)
@@ -5962,7 +5847,7 @@ if test "$libdir" = "\${exec_prefix}/lib"; then
                        libdir="$exec_prefix/lib32"
                        ;;
                Linux*)
-                       if test -d /usr/lib64; then
+                       if test -d /usr/lib64 -a ! -d /usr/lib64/fakeroot; then
                                libdir="$exec_prefix/lib64"
                        fi
                        ;;
@@ -6419,7 +6304,7 @@ _ACEOF
 # Transient run-time state
 case "$uname" in
        Darwin*)
-               # Darwin (Mac OS X)
+               # Darwin (OS X)
                CUPS_STATEDIR="$CUPS_SERVERROOT"
                ;;
        *)
@@ -6488,7 +6373,7 @@ case "$uname" in
                MAN8DIR=1m
                ;;
        Linux* | GNU* | Darwin*)
-               # Linux, GNU Hurd, and Mac OS X
+               # Linux, GNU Hurd, and OS X
                MAN1EXT=1.gz
                MAN5EXT=5.gz
                MAN7EXT=7.gz
@@ -6514,137 +6399,6 @@ esac
 
 
 
-# Check whether --enable-32bit was given.
-if test "${enable_32bit+set}" = set; then :
-  enableval=$enable_32bit;
-fi
-
-
-INSTALL32=""
-LIB32CUPS=""
-LIB32CUPSIMAGE=""
-LIB32DIR=""
-UNINSTALL32=""
-
-
-
-
-
-
-
-# Check whether --enable-64bit was given.
-if test "${enable_64bit+set}" = set; then :
-  enableval=$enable_64bit;
-fi
-
-
-INSTALL64=""
-LIB64CUPS=""
-LIB64CUPSIMAGE=""
-LIB64DIR=""
-UNINSTALL64=""
-
-
-
-
-
-
-
-case "$uname" in
-       HP-UX*)
-               if test "x$enable_32bit" = xyes; then
-                       # Build 32-bit libraries, 64-bit base...
-                       INSTALL32="install32bit"
-                       LIB32CUPS="32bit/libcups.so.2"
-                       LIB32CUPSIMAGE="32bit/libcupsimage.so.2"
-                       LIB32DIR="$exec_prefix/lib"
-                       if test -d /usr/lib/hpux32; then
-                               LIB32DIR="${LIB32DIR}/hpux32"
-                       fi
-                       UNINSTALL32="uninstall32bit"
-               fi
-
-               if test "x$enable_64bit" = xyes; then
-                       # Build 64-bit libraries, 32-bit base...
-                       INSTALL64="install64bit"
-                       LIB64CUPS="64bit/libcups.so.2"
-                       LIB64CUPSIMAGE="64bit/libcupsimage.so.2"
-                       LIB64DIR="$exec_prefix/lib"
-                       if test -d /usr/lib/hpux64; then
-                               LIB64DIR="${LIB64DIR}/hpux64"
-                       fi
-                       UNINSTALL64="uninstall64bit"
-               fi
-               ;;
-
-       IRIX)
-               if test "x$enable_32bit" = xyes; then
-                       INSTALL32="install32bit"
-                       LIB32CUPS="32bit/libcups.so.2"
-                       LIB32CUPSIMAGE="32bit/libcupsimage.so.2"
-                       LIB32DIR="$prefix/lib32"
-                       UNINSTALL32="uninstall32bit"
-               fi
-
-               if test "x$enable_64bit" = xyes; then
-                       # Build 64-bit libraries, 32-bit base...
-                       INSTALL64="install64bit"
-                       LIB64CUPS="64bit/libcups.so.2"
-                       LIB64CUPSIMAGE="64bit/libcupsimage.so.2"
-                       LIB64DIR="$prefix/lib64"
-                       UNINSTALL64="uninstall64bit"
-               fi
-               ;;
-
-       Linux*)
-               if test "x$enable_32bit" = xyes; then
-                       # Build 32-bit libraries, 64-bit base...
-                       INSTALL32="install32bit"
-                       LIB32CUPS="32bit/libcups.so.2"
-                       LIB32CUPSIMAGE="32bit/libcupsimage.so.2"
-                       LIB32DIR="$exec_prefix/lib"
-                       if test -d /usr/lib32; then
-                               LIB32DIR="${LIB32DIR}32"
-                       fi
-                       UNINSTALL32="uninstall32bit"
-               fi
-
-               if test "x$enable_64bit" = xyes; then
-                       # Build 64-bit libraries, 32-bit base...
-                       INSTALL64="install64bit"
-                       LIB64CUPS="64bit/libcups.so.2"
-                       LIB64CUPSIMAGE="64bit/libcupsimage.so.2"
-                       LIB64DIR="$exec_prefix/lib"
-                       if test -d /usr/lib64; then
-                               LIB64DIR="${LIB64DIR}64"
-                       fi
-                       UNINSTALL64="uninstall64bit"
-               fi
-               ;;
-
-       SunOS*)
-               if test "x$enable_32bit" = xyes; then
-                       # Build 32-bit libraries, 64-bit base...
-                       INSTALL32="install32bit"
-                       LIB32CUPS="32bit/libcups.so.2"
-                       LIB32CUPSIMAGE="32bit/libcupsimage.so.2"
-                       LIB32DIR="$exec_prefix/lib/32"
-                       UNINSTALL32="uninstall32bit"
-               fi
-
-               if test "x$enable_64bit" = xyes; then
-                       # Build 64-bit libraries, 32-bit base...
-                       INSTALL64="install64bit"
-                       LIB64CUPS="64bit/libcups.so.2"
-                       LIB64CUPSIMAGE="64bit/libcupsimage.so.2"
-                       LIB64DIR="$exec_prefix/lib/64"
-                       UNINSTALL64="uninstall64bit"
-               fi
-               ;;
-esac
-
-
-
 PICFLAG=1
 DSOFLAGS="${DSOFLAGS:=}"
 
@@ -6663,7 +6417,6 @@ if test x$enable_shared != xno; then
                SunOS*)
                        LIBCUPS="lib$cupsbase.so.2"
                        LIBCUPSCGI="libcupscgi.so.1"
-                       LIBCUPSDRIVER="libcupsdriver.so.1"
                        LIBCUPSIMAGE="libcupsimage.so.2"
                        LIBCUPSMIME="libcupsmime.so.1"
                        LIBCUPSPPDC="libcupsppdc.so.1"
@@ -6674,7 +6427,6 @@ if test x$enable_shared != xno; then
                UNIX_S*)
                        LIBCUPS="lib$cupsbase.so.2"
                        LIBCUPSCGI="libcupscgi.so.1"
-                       LIBCUPSDRIVER="libcupsdriver.so.1"
                        LIBCUPSIMAGE="libcupsimage.so.2"
                        LIBCUPSMIME="libcupsmime.so.1"
                        LIBCUPSPPDC="libcupsppdc.so.1"
@@ -6687,7 +6439,6 @@ if test x$enable_shared != xno; then
                                ia64)
                                        LIBCUPS="lib$cupsbase.so.2"
                                        LIBCUPSCGI="libcupscgi.so.1"
-                                       LIBCUPSDRIVER="libcupsdriver.so.1"
                                        LIBCUPSIMAGE="libcupsimage.so.2"
                                        LIBCUPSMIME="libcupsmime.so.1"
                                        LIBCUPSPPDC="libcupsppdc.so.1"
@@ -6698,7 +6449,6 @@ if test x$enable_shared != xno; then
                                *)
                                        LIBCUPS="lib$cupsbase.sl.2"
                                        LIBCUPSCGI="libcupscgi.sl.1"
-                                       LIBCUPSDRIVER="libcupsdriver.sl.1"
                                        LIBCUPSIMAGE="libcupsimage.sl.2"
                                        LIBCUPSMIME="libcupsmime.sl.1"
                                        LIBCUPSPPDC="libcupsppdc.sl.1"
@@ -6711,7 +6461,6 @@ if test x$enable_shared != xno; then
                IRIX)
                        LIBCUPS="lib$cupsbase.so.2"
                        LIBCUPSCGI="libcupscgi.so.1"
-                       LIBCUPSDRIVER="libcupsdriver.so.1"
                        LIBCUPSIMAGE="libcupsimage.so.2"
                        LIBCUPSMIME="libcupsmime.so.1"
                        LIBCUPSPPDC="libcupsppdc.so.1"
@@ -6722,7 +6471,6 @@ if test x$enable_shared != xno; then
                OSF1* | Linux | GNU | *BSD*)
                        LIBCUPS="lib$cupsbase.so.2"
                        LIBCUPSCGI="libcupscgi.so.1"
-                       LIBCUPSDRIVER="libcupsdriver.so.1"
                        LIBCUPSIMAGE="libcupsimage.so.2"
                        LIBCUPSMIME="libcupsmime.so.1"
                        LIBCUPSPPDC="libcupsppdc.so.1"
@@ -6733,7 +6481,6 @@ if test x$enable_shared != xno; then
                Darwin*)
                        LIBCUPS="lib$cupsbase.2.dylib"
                        LIBCUPSCGI="libcupscgi.1.dylib"
-                       LIBCUPSDRIVER="libcupsdriver.1.dylib"
                        LIBCUPSIMAGE="libcupsimage.2.dylib"
                        LIBCUPSMIME="libcupsmime.1.dylib"
                        LIBCUPSPPDC="libcupsppdc.1.dylib"
@@ -6745,7 +6492,6 @@ if test x$enable_shared != xno; then
                        LIBCUPS="lib${cupsbase}_s.a"
                        LIBCUPSBASE="${cupsbase}_s"
                        LIBCUPSCGI="libcupscgi_s.a"
-                       LIBCUPSDRIVER="libcupsdriver_s.a"
                        LIBCUPSIMAGE="libcupsimage_s.a"
                        LIBCUPSMIME="libcupsmime_s.a"
                        LIBCUPSPPDC="libcupsppdc_s.a"
@@ -6758,7 +6504,6 @@ if test x$enable_shared != xno; then
                        echo "         option with compiler."
                        LIBCUPS="lib$cupsbase.so.2"
                        LIBCUPSCGI="libcupscgi.so.1"
-                       LIBCUPSDRIVER="libcupsdriver.so.1"
                        LIBCUPSIMAGE="libcupsimage.so.2"
                        LIBCUPSMIME="libcupsmime.so.1"
                        LIBCUPSPPDC="libcupsppdc.so.1"
@@ -6771,7 +6516,6 @@ else
        PICFLAG=0
        LIBCUPS="lib$cupsbase.a"
        LIBCUPSCGI="libcupscgi.a"
-       LIBCUPSDRIVER="libcupsdriver.a"
        LIBCUPSIMAGE="libcupsimage.a"
        LIBCUPSMIME="libcupsmime.a"
        LIBCUPSPPDC="libcupsppdc.a"
@@ -6779,10 +6523,6 @@ else
        DSOXX=":"
 fi
 
-# 32-bit and 64-bit libraries need variations of the standard
-# DSOFLAGS...
-DSO32FLAGS="$DSOFLAGS"
-DSO64FLAGS="$DSOFLAGS"
 
 
 
@@ -6794,16 +6534,11 @@ DSO64FLAGS="$DSOFLAGS"
 
 
 
-
-
-
-
-if test x$enable_shared = xno; then
-       LINKCUPS="../cups/lib$cupsbase.a"
-       LINKCUPSIMAGE="../filter/libcupsimage.a"
+if test x$enable_shared = xno; then
+       LINKCUPS="../cups/lib$cupsbase.a"
+       LINKCUPSIMAGE="../filter/libcupsimage.a"
 
        EXTLINKCUPS="-lcups"
-       EXTLINKCUPSDRIVER="-lcupsdriver"
        EXTLINKCUPSIMAGE="-lcupsimage"
 else
        if test $uname = AIX; then
@@ -6811,14 +6546,12 @@ else
                LINKCUPSIMAGE="-lcupsimage_s"
 
                EXTLINKCUPS="-lcups_s"
-               EXTLINKCUPSDRIVER="-lcupsdriver_s"
                EXTLINKCUPSIMAGE="-lcupsimage_s"
        else
                LINKCUPS="-l${cupsbase}"
                LINKCUPSIMAGE="-lcupsimage"
 
                EXTLINKCUPS="-lcups"
-               EXTLINKCUPSDRIVER="-lcupsdriver"
                EXTLINKCUPSIMAGE="-lcupsimage"
        fi
 fi
@@ -6828,7 +6561,6 @@ fi
 
 
 
-
 EXPORT_LDFLAGS=""
 
 if test "$DSO" != ":"; then
@@ -6836,7 +6568,7 @@ if test "$DSO" != ":"; then
        # rather than to the executables.  This makes things smaller if you
        # are using any static libraries, and it also allows us to distribute
        # a single DSO rather than a bunch...
-       DSOLIBS="\$(LIBTIFF) \$(LIBPNG) \$(LIBJPEG) \$(LIBZ)"
+       DSOLIBS="\$(LIBZ)"
        IMGLIBS=""
 
        # Tell the run-time linkers where to find a DSO.  Some platforms
@@ -6848,13 +6580,9 @@ if test "$DSO" != ":"; then
                        case "$uarch" in
                                ia64)
                                        DSOFLAGS="-Wl,+s,+b,$libdir $DSOFLAGS"
-                                       DSO32FLAGS="-Wl,+s,+b,$LIB32DIR $DSO32FLAGS"
-                                       DSO64FLAGS="-Wl,+s,+b,$LIB64DIR $DSO64FLAGS"
                                        ;;
                                *)
                                        DSOFLAGS="+s +b $libdir $DSOFLAGS"
-                                       DSO32FLAGS="+s +b $LIB32DIR $DSO32FLAGS"
-                                       DSO64FLAGS="+s +b $LIB64DIR $DSO64FLAGS"
                                        ;;
                        esac
                        LDFLAGS="$LDFLAGS -Wl,+s,+b,$libdir"
@@ -6864,8 +6592,6 @@ if test "$DSO" != ":"; then
                        # Solaris...
                        if test $exec_prefix != /usr; then
                                DSOFLAGS="-R$libdir $DSOFLAGS"
-                               DSO32FLAGS="-R$LIB32DIR $DSO32FLAGS"
-                               DSO64FLAGS="-R$LIB64DIR $DSO64FLAGS"
                                LDFLAGS="$LDFLAGS -R$libdir"
                                EXPORT_LDFLAGS="-R$libdir"
                        fi
@@ -6874,8 +6600,6 @@ if test "$DSO" != ":"; then
                         # *BSD...
                        if test $exec_prefix != /usr; then
                                DSOFLAGS="-Wl,-R$libdir $DSOFLAGS"
-                               DSO32FLAGS="-Wl,-R$LIB32DIR $DSO32FLAGS"
-                               DSO64FLAGS="-Wl,-R$LIB64DIR $DSO64FLAGS"
                                LDFLAGS="$LDFLAGS -Wl,-R$libdir"
                                EXPORT_LDFLAGS="-Wl,-R$libdir"
                        fi
@@ -6884,8 +6608,6 @@ if test "$DSO" != ":"; then
                         # IRIX, Linux, and HURD...
                        if test $exec_prefix != /usr; then
                                DSOFLAGS="-Wl,-rpath,$libdir $DSOFLAGS"
-                               DSO32FLAGS="-Wl,-rpath,$LIB32DIR $DSO32FLAGS"
-                               DSO64FLAGS="-Wl,-rpath,$LIB64DIR $DSO64FLAGS"
                                LDFLAGS="$LDFLAGS -Wl,-rpath,$libdir"
                                EXPORT_LDFLAGS="-Wl,-rpath,$libdir"
                        fi
@@ -6893,7 +6615,7 @@ if test "$DSO" != ":"; then
        esac
 else
        DSOLIBS=""
-       IMGLIBS="\$(LIBTIFF) \$(LIBPNG) \$(LIBJPEG) \$(LIBZ)"
+       IMGLIBS="\$(LIBZ)"
 fi
 
 
@@ -7003,8 +6725,8 @@ fi
 
 if test -z "$with_ldarchflags"; then
        if test "$uname" = Darwin; then
-               # Only create 32-bit programs by default
-               LDARCHFLAGS="`echo $ARCHFLAGS | sed -e '1,$s/-arch x86_64//' -e '1,$s/-arch ppc64//'`"
+               # Only create Intel programs by default
+               LDARCHFLAGS="`echo $ARCHFLAGS | sed -e '1,$s/-arch ppc64//'`"
        else
                LDARCHFLAGS="$ARCHFLAGS"
        fi
@@ -7015,24 +6737,6 @@ fi
 
 
 
-
-# Check whether --with-arch32flags was given.
-if test "${with_arch32flags+set}" = set; then :
-  withval=$with_arch32flags;
-fi
-
-ARCH32FLAGS=""
-
-
-
-# Check whether --with-arch64flags was given.
-if test "${with_arch64flags+set}" = set; then :
-  withval=$with_arch64flags;
-fi
-
-ARCH64FLAGS=""
-
-
 # Check whether --enable-relro was given.
 if test "${enable_relro+set}" = set; then :
   enableval=$enable_relro;
@@ -7048,9 +6752,6 @@ PIEFLAGS=""
 RELROFLAGS=""
 
 
-PHPOPTIONS=""
-
-
 if test -n "$GCC"; then
        # Add GCC-specific compiler options...
        if test -z "$OPTIM"; then
@@ -7140,7 +6841,6 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
                # Additional warning options for development testing...
                if test -d .svn; then
                        OPTIM="-Wshadow -Werror $OPTIM"
-                       PHPOPTIONS="-Wno-shadow"
                else
                        { $as_echo "$as_me:${as_lineno-$LINENO}: checking if GCC supports -Wno-tautological-compare" >&5
 $as_echo_n "checking if GCC supports -Wno-tautological-compare... " >&6; }
@@ -7180,154 +6880,12 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
                        CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=2"
                        ;;
 
-               HP-UX*)
-                       if test "x$enable_32bit" = xyes; then
-                               # Build 32-bit libraries, 64-bit base...
-                               if test -z "$with_arch32flags"; then
-                                       ARCH32FLAGS="-milp32"
-                               else
-                                       ARCH32FLAGS="$with_arch32flags"
-                               fi
-
-                               if test -z "$with_archflags"; then
-                                       if test -z "$with_arch64flags"; then
-                                               ARCHFLAGS="-mlp64"
-                                       else
-                                               ARCHFLAGS="$with_arch64flags"
-                                       fi
-                               fi
-                       fi
-
-                       if test "x$enable_64bit" = xyes; then
-                               # Build 64-bit libraries, 32-bit base...
-                               if test -z "$with_arch64flags"; then
-                                       ARCH64FLAGS="-mlp64"
-                               else
-                                       ARCH64FLAGS="$with_arch64flags"
-                               fi
-
-                               if test -z "$with_archflags"; then
-                                       if test -z "$with_arch32flags"; then
-                                               ARCHFLAGS="-milp32"
-                                       else
-                                               ARCHFLAGS="$with_arch32flags"
-                                       fi
-                               fi
-                       fi
-                       ;;
-
-               IRIX)
-                       if test "x$enable_32bit" = xyes; then
-                               # Build 32-bit libraries, 64-bit base...
-                               if test -z "$with_arch32flags"; then
-                                       ARCH32FLAGS="-n32 -mips3"
-                               else
-                                       ARCH32FLAGS="$with_arch32flags"
-                               fi
-
-                               if test -z "$with_archflags"; then
-                                       if test -z "$with_arch64flags"; then
-                                               ARCHFLAGS="-64 -mips4"
-                                       else
-                                               ARCHFLAGS="$with_arch64flags"
-                                       fi
-                               fi
-                       fi
-
-                       if test "x$enable_64bit" = xyes; then
-                               # Build 64-bit libraries, 32-bit base...
-                               if test -z "$with_arch64flags"; then
-                                       ARCH64FLAGS="-64 -mips4"
-                               else
-                                       ARCH64FLAGS="$with_arch64flags"
-                               fi
-
-                               if test -z "$with_archflags"; then
-                                       if test -z "$with_arch32flags"; then
-                                               ARCHFLAGS="-n32 -mips3"
-                                       else
-                                               ARCHFLAGS="$with_arch32flags"
-                                       fi
-                               fi
-                       fi
-                       ;;
-
                Linux*)
                        # The -z relro option is provided by the Linux linker command to
                        # make relocatable data read-only.
                        if test x$enable_relro = xyes; then
                                RELROFLAGS="-Wl,-z,relro"
                        fi
-
-                       if test "x$enable_32bit" = xyes; then
-                               # Build 32-bit libraries, 64-bit base...
-                               if test -z "$with_arch32flags"; then
-                                       ARCH32FLAGS="-m32"
-                               else
-                                       ARCH32FLAGS="$with_arch32flags"
-                               fi
-
-                               if test -z "$with_archflags"; then
-                                       if test -z "$with_arch64flags"; then
-                                               ARCHFLAGS="-m64"
-                                       else
-                                               ARCHFLAGS="$with_arch64flags"
-                                       fi
-                               fi
-                       fi
-
-                       if test "x$enable_64bit" = xyes; then
-                               # Build 64-bit libraries, 32-bit base...
-                               if test -z "$with_arch64flags"; then
-                                       ARCH64FLAGS="-m64"
-                               else
-                                       ARCH64FLAGS="$with_arch64flags"
-                               fi
-
-                               if test -z "$with_archflags"; then
-                                       if test -z "$with_arch32flags"; then
-                                               ARCHFLAGS="-m32"
-                                       else
-                                               ARCHFLAGS="$with_arch32flags"
-                                       fi
-                               fi
-                       fi
-                       ;;
-
-               SunOS*)
-                       if test "x$enable_32bit" = xyes; then
-                               # Build 32-bit libraries, 64-bit base...
-                               if test -z "$with_arch32flags"; then
-                                       ARCH32FLAGS="-m32"
-                               else
-                                       ARCH32FLAGS="$with_arch32flags"
-                               fi
-
-                               if test -z "$with_archflags"; then
-                                       if test -z "$with_arch64flags"; then
-                                               ARCHFLAGS="-m64"
-                                       else
-                                               ARCHFLAGS="$with_arch64flags"
-                                       fi
-                               fi
-                       fi
-
-                       if test "x$enable_64bit" = xyes; then
-                               # Build 64-bit libraries, 32-bit base...
-                               if test -z "$with_arch64flags"; then
-                                       ARCH64FLAGS="-m64"
-                               else
-                                       ARCH64FLAGS="$with_arch64flags"
-                               fi
-
-                               if test -z "$with_archflags"; then
-                                       if test -z "$with_arch32flags"; then
-                                               ARCHFLAGS="-m32"
-                                       else
-                                               ARCHFLAGS="$with_arch32flags"
-                                       fi
-                               fi
-                       fi
                        ;;
        esac
 else
@@ -7356,40 +6914,6 @@ else
                        if test $PICFLAG = 1; then
                                OPTIM="+z $OPTIM"
                        fi
-
-                       if test "x$enable_32bit" = xyes; then
-                               # Build 32-bit libraries, 64-bit base...
-                               if test -z "$with_arch32flags"; then
-                                       ARCH32FLAGS="+DD32"
-                               else
-                                       ARCH32FLAGS="$with_arch32flags"
-                               fi
-
-                               if test -z "$with_archflags"; then
-                                       if test -z "$with_arch64flags"; then
-                                               ARCHFLAGS="+DD64"
-                                       else
-                                               ARCHFLAGS="$with_arch64flags"
-                                       fi
-                               fi
-                       fi
-
-                       if test "x$enable_64bit" = xyes; then
-                               # Build 64-bit libraries, 32-bit base...
-                               if test -z "$with_arch64flags"; then
-                                       ARCH64FLAGS="+DD64"
-                               else
-                                       ARCH64FLAGS="$with_arch64flags"
-                               fi
-
-                               if test -z "$with_archflags"; then
-                                       if test -z "$with_arch32flags"; then
-                                               ARCHFLAGS="+DD32"
-                                       else
-                                               ARCHFLAGS="$with_arch32flags"
-                                       fi
-                               fi
-                       fi
                        ;;
                IRIX)
                        if test -z "$OPTIM"; then
@@ -7403,40 +6927,6 @@ else
                        if test "x$with_optim" = x; then
                                OPTIM="-fullwarn -woff 1183,1209,1349,1506,3201 $OPTIM"
                        fi
-
-                       if test "x$enable_32bit" = xyes; then
-                               # Build 32-bit libraries, 64-bit base...
-                               if test -z "$with_arch32flags"; then
-                                       ARCH32FLAGS="-n32 -mips3"
-                               else
-                                       ARCH32FLAGS="$with_arch32flags"
-                               fi
-
-                               if test -z "$with_archflags"; then
-                                       if test -z "$with_arch64flags"; then
-                                               ARCHFLAGS="-64 -mips4"
-                                       else
-                                               ARCHFLAGS="$with_arch64flags"
-                                       fi
-                               fi
-                       fi
-
-                       if test "x$enable_64bit" = xyes; then
-                               # Build 64-bit libraries, 32-bit base...
-                               if test -z "$with_arch64flags"; then
-                                       ARCH64FLAGS="-64 -mips4"
-                               else
-                                       ARCH64FLAGS="$with_arch64flags"
-                               fi
-
-                               if test -z "$with_archflags"; then
-                                       if test -z "$with_arch32flags"; then
-                                               ARCHFLAGS="-n32 -mips3"
-                                       else
-                                               ARCHFLAGS="$with_arch32flags"
-                                       fi
-                               fi
-                       fi
                        ;;
                OSF*)
                        # Tru64 UNIX aka Digital UNIX aka OSF/1
@@ -7461,47 +6951,6 @@ else
                        if test $PICFLAG = 1; then
                                OPTIM="-KPIC $OPTIM"
                        fi
-
-                       if test "x$enable_32bit" = xyes; then
-                               # Compiling on a Solaris system, build 64-bit
-                               # binaries with separate 32-bit libraries...
-                               ARCH32FLAGS="-xarch=generic"
-
-                               if test "x$with_optim" = x; then
-                                       # Suppress all of Sun's questionable
-                                       # warning messages, and default to
-                                       # 64-bit compiles of everything else...
-                                       OPTIM="-w $OPTIM"
-                               fi
-
-                               if test -z "$with_archflags"; then
-                                       if test -z "$with_arch64flags"; then
-                                               ARCHFLAGS="-xarch=generic64"
-                                       else
-                                               ARCHFLAGS="$with_arch64flags"
-                                       fi
-                               fi
-                       else
-                               if test "x$enable_64bit" = xyes; then
-                                       # Build 64-bit libraries...
-                                       ARCH64FLAGS="-xarch=generic64"
-                               fi
-
-                               if test "x$with_optim" = x; then
-                                       # Suppress all of Sun's questionable
-                                       # warning messages, and default to
-                                       # 32-bit compiles of everything else...
-                                       OPTIM="-w $OPTIM"
-                               fi
-
-                               if test -z "$with_archflags"; then
-                                       if test -z "$with_arch32flags"; then
-                                               ARCHFLAGS="-xarch=generic"
-                                       else
-                                               ARCHFLAGS="$with_arch32flags"
-                                       fi
-                               fi
-                       fi
                        ;;
                UNIX_SVR*)
                        # UnixWare
@@ -7561,60 +7010,16 @@ esac
 
 
 
-# Check whether --enable-image was given.
-if test "${enable_image+set}" = set; then :
-  enableval=$enable_image;
-fi
-
-
-DEFAULT_IMAGEFILTERS="#"
-IMGFILTERS=""
-if test "x$enable_image" != xno; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build image filters" >&5
-$as_echo_n "checking whether to build image filters... " >&6; }
-        if test "x$enable_image" = xyes -o $uname != Darwin; then
-               IMGFILTERS="imagetops imagetoraster"
-               DEFAULT_IMAGEFILTERS=""
-                { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-        else
-                { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-        fi
-fi
-
-
-
-
-# Check whether --enable-jpeg was given.
-if test "${enable_jpeg+set}" = set; then :
-  enableval=$enable_jpeg;
-fi
-
-# Check whether --enable-png was given.
-if test "${enable_png+set}" = set; then :
-  enableval=$enable_png;
-fi
+ac_fn_c_check_header_mongrel "$LINENO" "resolv.h" "ac_cv_header_resolv_h" "$ac_includes_default"
+if test "x$ac_cv_header_resolv_h" = xyes; then :
+  $as_echo "#define HAVE_RESOLV_H 1" >>confdefs.h
 
-# Check whether --enable-tiff was given.
-if test "${enable_tiff+set}" = set; then :
-  enableval=$enable_tiff;
 fi
 
 
-LIBJPEG=""
-LIBPNG=""
-LIBTIFF=""
-LIBZ=""
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing pow" >&5
-$as_echo_n "checking for library containing pow... " >&6; }
-if ${ac_cv_search_pow+:} false; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing socket" >&5
+$as_echo_n "checking for library containing socket... " >&6; }
+if ${ac_cv_search_socket+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
@@ -7627,16 +7032,16 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 #ifdef __cplusplus
 extern "C"
 #endif
-char pow ();
+char socket ();
 int
 main ()
 {
-return pow ();
+return socket ();
   ;
   return 0;
 }
 _ACEOF
-for ac_lib in '' m; do
+for ac_lib in '' socket; do
   if test -z "$ac_lib"; then
     ac_res="none required"
   else
@@ -7644,43 +7049,36 @@ for ac_lib in '' m; do
     LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
   fi
   if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_pow=$ac_res
+  ac_cv_search_socket=$ac_res
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext
-  if ${ac_cv_search_pow+:} false; then :
+  if ${ac_cv_search_socket+:} false; then :
   break
 fi
 done
-if ${ac_cv_search_pow+:} false; then :
+if ${ac_cv_search_socket+:} false; then :
 
 else
-  ac_cv_search_pow=no
+  ac_cv_search_socket=no
 fi
 rm conftest.$ac_ext
 LIBS=$ac_func_search_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_pow" >&5
-$as_echo "$ac_cv_search_pow" >&6; }
-ac_res=$ac_cv_search_pow
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_socket" >&5
+$as_echo "$ac_cv_search_socket" >&6; }
+ac_res=$ac_cv_search_socket
 if test "$ac_res" != no; then :
   test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
 fi
 
-
-SAVELIBS="$LIBS"
-
-if test x$enable_jpeg != xno; then
-    ac_fn_c_check_header_mongrel "$LINENO" "jpeglib.h" "ac_cv_header_jpeglib_h" "$ac_includes_default"
-if test "x$ac_cv_header_jpeglib_h" = xyes; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for jpeg_destroy_decompress in -ljpeg" >&5
-$as_echo_n "checking for jpeg_destroy_decompress in -ljpeg... " >&6; }
-if ${ac_cv_lib_jpeg_jpeg_destroy_decompress+:} false; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing gethostbyaddr" >&5
+$as_echo_n "checking for library containing gethostbyaddr... " >&6; }
+if ${ac_cv_search_gethostbyaddr+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ljpeg  $LIBS"
+  ac_func_search_save_LIBS=$LIBS
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
@@ -7690,51 +7088,53 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 #ifdef __cplusplus
 extern "C"
 #endif
-char jpeg_destroy_decompress ();
+char gethostbyaddr ();
 int
 main ()
 {
-return jpeg_destroy_decompress ();
+return gethostbyaddr ();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_jpeg_jpeg_destroy_decompress=yes
-else
-  ac_cv_lib_jpeg_jpeg_destroy_decompress=no
+for ac_lib in '' nsl; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_gethostbyaddr=$ac_res
 fi
 rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
+    conftest$ac_exeext
+  if ${ac_cv_search_gethostbyaddr+:} false; then :
+  break
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_jpeg_jpeg_destroy_decompress" >&5
-$as_echo "$ac_cv_lib_jpeg_jpeg_destroy_decompress" >&6; }
-if test "x$ac_cv_lib_jpeg_jpeg_destroy_decompress" = xyes; then :
-  $as_echo "#define HAVE_LIBJPEG 1" >>confdefs.h
+done
+if ${ac_cv_search_gethostbyaddr+:} false; then :
 
-           LIBJPEG="-ljpeg"
-           LIBS="$LIBS -ljpeg"
+else
+  ac_cv_search_gethostbyaddr=no
 fi
-
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_gethostbyaddr" >&5
+$as_echo "$ac_cv_search_gethostbyaddr" >&6; }
+ac_res=$ac_cv_search_gethostbyaddr
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
-
-else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: JPEG support disabled with --disable-jpeg." >&5
-$as_echo "$as_me: JPEG support disabled with --disable-jpeg." >&6;}
 fi
 
-INSTALL_GZIP=""
-ac_fn_c_check_header_mongrel "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default"
-if test "x$ac_cv_header_zlib_h" = xyes; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gzgets in -lz" >&5
-$as_echo_n "checking for gzgets in -lz... " >&6; }
-if ${ac_cv_lib_z_gzgets+:} false; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing getifaddrs" >&5
+$as_echo_n "checking for library containing getifaddrs... " >&6; }
+if ${ac_cv_search_getifaddrs+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lz  $LIBS"
+  ac_func_search_save_LIBS=$LIBS
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
@@ -7744,326 +7144,29 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 #ifdef __cplusplus
 extern "C"
 #endif
-char gzgets ();
+char getifaddrs ();
 int
 main ()
 {
-return gzgets ();
+return getifaddrs ();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_z_gzgets=yes
-else
-  ac_cv_lib_z_gzgets=no
+for ac_lib in '' nsl; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_getifaddrs=$ac_res
 fi
 rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_gzgets" >&5
-$as_echo "$ac_cv_lib_z_gzgets" >&6; }
-if test "x$ac_cv_lib_z_gzgets" = xyes; then :
-  $as_echo "#define HAVE_LIBZ 1" >>confdefs.h
-
-       LIBZ="-lz"
-       LIBS="$LIBS -lz"
-       if test "x$GZIP" != x; then
-               INSTALL_GZIP="-z"
-       fi
-fi
-
-fi
-
-
-
-
-if test x$enable_png != xno; then
-    ac_fn_c_check_header_mongrel "$LINENO" "png.h" "ac_cv_header_png_h" "$ac_includes_default"
-if test "x$ac_cv_header_png_h" = xyes; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for png_create_read_struct in -lpng" >&5
-$as_echo_n "checking for png_create_read_struct in -lpng... " >&6; }
-if ${ac_cv_lib_png_png_create_read_struct+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lpng  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char png_create_read_struct ();
-int
-main ()
-{
-return png_create_read_struct ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_png_png_create_read_struct=yes
-else
-  ac_cv_lib_png_png_create_read_struct=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_png_png_create_read_struct" >&5
-$as_echo "$ac_cv_lib_png_png_create_read_struct" >&6; }
-if test "x$ac_cv_lib_png_png_create_read_struct" = xyes; then :
-  $as_echo "#define HAVE_LIBPNG 1" >>confdefs.h
-
-           LIBPNG="-lpng"
-fi
-
-fi
-
-
-else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: PNG support disabled with --disable-png." >&5
-$as_echo "$as_me: PNG support disabled with --disable-png." >&6;}
-fi
-
-if test x$enable_tiff != xno; then
-    ac_fn_c_check_header_mongrel "$LINENO" "tiff.h" "ac_cv_header_tiff_h" "$ac_includes_default"
-if test "x$ac_cv_header_tiff_h" = xyes; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for TIFFReadScanline in -ltiff" >&5
-$as_echo_n "checking for TIFFReadScanline in -ltiff... " >&6; }
-if ${ac_cv_lib_tiff_TIFFReadScanline+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ltiff  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char TIFFReadScanline ();
-int
-main ()
-{
-return TIFFReadScanline ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_tiff_TIFFReadScanline=yes
-else
-  ac_cv_lib_tiff_TIFFReadScanline=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_tiff_TIFFReadScanline" >&5
-$as_echo "$ac_cv_lib_tiff_TIFFReadScanline" >&6; }
-if test "x$ac_cv_lib_tiff_TIFFReadScanline" = xyes; then :
-  $as_echo "#define HAVE_LIBTIFF 1" >>confdefs.h
-
-       LIBTIFF="-ltiff"
-fi
-
-fi
-
-
-else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: TIFF support disabled with --disable-tiff." >&5
-$as_echo "$as_me: TIFF support disabled with --disable-tiff." >&6;}
-fi
-
-LIBS="$SAVELIBS"
-
-EXPORT_LIBJPEG="$LIBJPEG"
-EXPORT_LIBPNG="$LIBPNG"
-EXPORT_LIBTIFF="$LIBTIFF"
-EXPORT_LIBZ="$LIBZ"
-
-
-
-
-
-
-ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default"
-if test "x$ac_cv_header_stdlib_h" = xyes; then :
-  $as_echo "#define HAVE_STDLIB_H 1" >>confdefs.h
-
-fi
-
-
-
-
-
-ac_fn_c_check_header_mongrel "$LINENO" "resolv.h" "ac_cv_header_resolv_h" "$ac_includes_default"
-if test "x$ac_cv_header_resolv_h" = xyes; then :
-  $as_echo "#define HAVE_RESOLV_H 1" >>confdefs.h
-
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing socket" >&5
-$as_echo_n "checking for library containing socket... " >&6; }
-if ${ac_cv_search_socket+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char socket ();
-int
-main ()
-{
-return socket ();
-  ;
-  return 0;
-}
-_ACEOF
-for ac_lib in '' socket; do
-  if test -z "$ac_lib"; then
-    ac_res="none required"
-  else
-    ac_res=-l$ac_lib
-    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
-  fi
-  if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_socket=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext
-  if ${ac_cv_search_socket+:} false; then :
-  break
-fi
-done
-if ${ac_cv_search_socket+:} false; then :
-
-else
-  ac_cv_search_socket=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_socket" >&5
-$as_echo "$ac_cv_search_socket" >&6; }
-ac_res=$ac_cv_search_socket
-if test "$ac_res" != no; then :
-  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing gethostbyaddr" >&5
-$as_echo_n "checking for library containing gethostbyaddr... " >&6; }
-if ${ac_cv_search_gethostbyaddr+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gethostbyaddr ();
-int
-main ()
-{
-return gethostbyaddr ();
-  ;
-  return 0;
-}
-_ACEOF
-for ac_lib in '' nsl; do
-  if test -z "$ac_lib"; then
-    ac_res="none required"
-  else
-    ac_res=-l$ac_lib
-    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
-  fi
-  if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_gethostbyaddr=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext
-  if ${ac_cv_search_gethostbyaddr+:} false; then :
-  break
-fi
-done
-if ${ac_cv_search_gethostbyaddr+:} false; then :
-
-else
-  ac_cv_search_gethostbyaddr=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_gethostbyaddr" >&5
-$as_echo "$ac_cv_search_gethostbyaddr" >&6; }
-ac_res=$ac_cv_search_gethostbyaddr
-if test "$ac_res" != no; then :
-  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing getifaddrs" >&5
-$as_echo_n "checking for library containing getifaddrs... " >&6; }
-if ${ac_cv_search_getifaddrs+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char getifaddrs ();
-int
-main ()
-{
-return getifaddrs ();
-  ;
-  return 0;
-}
-_ACEOF
-for ac_lib in '' nsl; do
-  if test -z "$ac_lib"; then
-    ac_res="none required"
-  else
-    ac_res=-l$ac_lib
-    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
-  fi
-  if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_getifaddrs=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext
-  if ${ac_cv_search_getifaddrs+:} false; then :
-  break
+    conftest$ac_exeext
+  if ${ac_cv_search_getifaddrs+:} false; then :
+  break
 fi
 done
 if ${ac_cv_search_getifaddrs+:} false; then :
 
 
 
-for ac_header in AppleTalk/at_proto.h
-do :
-  ac_fn_c_check_header_compile "$LINENO" "AppleTalk/at_proto.h" "ac_cv_header_AppleTalk_at_proto_h" "#include <netat/appletalk.h>
-"
-if test "x$ac_cv_header_AppleTalk_at_proto_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_APPLETALK_AT_PROTO_H 1
-_ACEOF
- $as_echo "#define HAVE_APPLETALK_AT_PROTO_H 1" >>confdefs.h
-
-fi
-
-done
-
-
-
-
-ac_fn_c_check_func "$LINENO" "poll" "ac_cv_func_poll"
-if test "x$ac_cv_func_poll" = xyes; then :
-  $as_echo "#define HAVE_POLL 1" >>confdefs.h
-
-fi
-
-ac_fn_c_check_func "$LINENO" "epoll_create" "ac_cv_func_epoll_create"
-if test "x$ac_cv_func_epoll_create" = xyes; then :
-  $as_echo "#define HAVE_EPOLL 1" >>confdefs.h
-
-fi
-
-ac_fn_c_check_func "$LINENO" "kqueue" "ac_cv_func_kqueue"
-if test "x$ac_cv_func_kqueue" = xyes; then :
-  $as_echo "#define HAVE_KQUEUE 1" >>confdefs.h
-
-fi
-
-
-
-
-# Check whether --enable-slp was given.
-if test "${enable_slp+set}" = set; then :
-  enableval=$enable_slp;
-fi
-
-
-# Check whether --with-openslp-libs was given.
-if test "${with_openslp_libs+set}" = set; then :
-  withval=$with_openslp_libs; LDFLAGS="-L$withval $LDFLAGS"
-    DSOFLAGS="-L$withval $DSOFLAGS"
-fi
-
-
-# Check whether --with-openslp-includes was given.
-if test "${with_openslp_includes+set}" = set; then :
-  withval=$with_openslp_includes; CFLAGS="-I$withval $CFLAGS"
-    CPPFLAGS="-I$withval $CPPFLAGS"
-fi
-
-
-LIBSLP=""
-
-if test x$enable_slp != xno; then
-    ac_fn_c_check_header_mongrel "$LINENO" "slp.h" "ac_cv_header_slp_h" "$ac_includes_default"
-if test "x$ac_cv_header_slp_h" = xyes; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SLPOpen in -lslp" >&5
-$as_echo_n "checking for SLPOpen in -lslp... " >&6; }
-if ${ac_cv_lib_slp_SLPOpen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lslp  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char SLPOpen ();
-int
-main ()
-{
-return SLPOpen ();
-  ;
-  return 0;
-}
+for ac_header in AppleTalk/at_proto.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "AppleTalk/at_proto.h" "ac_cv_header_AppleTalk_at_proto_h" "#include <netat/appletalk.h>
+"
+if test "x$ac_cv_header_AppleTalk_at_proto_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_APPLETALK_AT_PROTO_H 1
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_slp_SLPOpen=yes
-else
-  ac_cv_lib_slp_SLPOpen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_slp_SLPOpen" >&5
-$as_echo "$ac_cv_lib_slp_SLPOpen" >&6; }
-if test "x$ac_cv_lib_slp_SLPOpen" = xyes; then :
-  $as_echo "#define HAVE_LIBSLP 1" >>confdefs.h
+ $as_echo "#define HAVE_APPLETALK_AT_PROTO_H 1" >>confdefs.h
 
-           LIBSLP="-lslp"
 fi
 
+done
+
+
+
+
+ac_fn_c_check_func "$LINENO" "poll" "ac_cv_func_poll"
+if test "x$ac_cv_func_poll" = xyes; then :
+  $as_echo "#define HAVE_POLL 1" >>confdefs.h
+
 fi
 
+ac_fn_c_check_func "$LINENO" "epoll_create" "ac_cv_func_epoll_create"
+if test "x$ac_cv_func_epoll_create" = xyes; then :
+  $as_echo "#define HAVE_EPOLL 1" >>confdefs.h
 
 fi
 
+ac_fn_c_check_func "$LINENO" "kqueue" "ac_cv_func_kqueue"
+if test "x$ac_cv_func_kqueue" = xyes; then :
+  $as_echo "#define HAVE_KQUEUE 1" >>confdefs.h
 
+fi
 
 
 
@@ -8712,7 +7738,7 @@ fi
        if test "x$KRB5CONFIG" != x; then
                case "$uname" in
                        Darwin)
-                               # Mac OS X weak-links to the Kerberos framework...
+                               # OS X weak-links to the Kerberos framework...
                                LIBGSSAPI="-weak_framework Kerberos"
                                { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GSS framework" >&5
 $as_echo_n "checking for GSS framework... " >&6; }
@@ -8911,17 +7937,6 @@ $as_echo "yes" >&6; }
                                { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
                        fi
-                       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GSS/gssapi_krb5.h presence" >&5
-$as_echo_n "checking for GSS/gssapi_krb5.h presence... " >&6; }
-                       if test -f $gssdir/Headers/gssapi_krb5.h; then
-                               $as_echo "#define HAVE_GSSAPI_KRB5_H 1" >>confdefs.h
-
-                               { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-                       else
-                               { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-                       fi
                        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GSS/gssapi_spi.h presence" >&5
 $as_echo_n "checking for GSS/gssapi_spi.h presence... " >&6; }
                        if test -f $gssdir/PrivateHeaders/gssapi_spi.h; then
@@ -8940,407 +7955,136 @@ $as_echo "no" >&6; }
                                fi
                        else
                                { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-                               if test $uversion -ge 110; then
-                                       # Broken public headers in 10.7...
-                                       as_fn_error $? "Run 'sudo mkdir -p $gssdir/PrivateHeaders' and 'sudo touch $gssdir/PrivateHeaders/gssapi_spi.h' to build CUPS." "$LINENO" 5
-                               fi
-                       fi
-               else
-                       ac_fn_c_check_header_mongrel "$LINENO" "gssapi.h" "ac_cv_header_gssapi_h" "$ac_includes_default"
-if test "x$ac_cv_header_gssapi_h" = xyes; then :
-  $as_echo "#define HAVE_GSSAPI_H 1" >>confdefs.h
-
-fi
-
-
-                       ac_fn_c_check_header_mongrel "$LINENO" "gssapi/gssapi.h" "ac_cv_header_gssapi_gssapi_h" "$ac_includes_default"
-if test "x$ac_cv_header_gssapi_gssapi_h" = xyes; then :
-  $as_echo "#define HAVE_GSSAPI_GSSAPI_H 1" >>confdefs.h
-
-fi
-
-
-                       ac_fn_c_check_header_mongrel "$LINENO" "gssapi/gssapi_generic.h" "ac_cv_header_gssapi_gssapi_generic_h" "$ac_includes_default"
-if test "x$ac_cv_header_gssapi_gssapi_generic_h" = xyes; then :
-  $as_echo "#define HAVE_GSSAPI_GENERIC_H 1" >>confdefs.h
-
-fi
-
-
-                       ac_fn_c_check_header_mongrel "$LINENO" "gssapi/gssapi_krb5.h" "ac_cv_header_gssapi_gssapi_krb5_h" "$ac_includes_default"
-if test "x$ac_cv_header_gssapi_gssapi_krb5_h" = xyes; then :
-  $as_echo "#define HAVE_GSSAPI_KRB5_H 1" >>confdefs.h
-
-fi
-
-
-               fi
-
-               SAVELIBS="$LIBS"
-               LIBS="$LIBS $LIBGSSAPI"
-
-               ac_fn_c_check_func "$LINENO" "__ApplePrivate_gss_acquire_cred_ex_f" "ac_cv_func___ApplePrivate_gss_acquire_cred_ex_f"
-if test "x$ac_cv_func___ApplePrivate_gss_acquire_cred_ex_f" = xyes; then :
-  $as_echo "#define HAVE_GSS_ACQUIRE_CRED_EX_F 1" >>confdefs.h
-
-fi
-
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GSS_C_NT_HOSTBASED_SERVICE" >&5
-$as_echo_n "checking for GSS_C_NT_HOSTBASED_SERVICE... " >&6; }
-               if test x$ac_cv_header_gssapi_gssapi_h = xyes; then
-                       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
- #include <gssapi/gssapi.h>
-int
-main ()
-{
- gss_OID foo = GSS_C_NT_HOSTBASED_SERVICE;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  $as_echo "#define HAVE_GSS_C_NT_HOSTBASED_SERVICE 1" >>confdefs.h
-
-                                      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-               elif test x$ac_cv_header_gss_gssapi_h = xyes; then
-                       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
- #include <GSS/gssapi.h>
-int
-main ()
-{
- gss_OID foo = GSS_C_NT_HOSTBASED_SERVICE;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  $as_echo "#define HAVE_GSS_C_NT_HOSTBASED_SERVICE 1" >>confdefs.h
-
-                                      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-               else
-                       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
- #include <gssapi.h>
-int
-main ()
-{
- gss_OID foo = GSS_C_NT_HOSTBASED_SERVICE;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  $as_echo "#define HAVE_GSS_C_NT_HOSTBASED_SERVICE 1" >>confdefs.h
-
-                                      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-               fi
-
-               LIBS="$SAVELIBS"
-       fi
-fi
-
-
-# Check whether --with-gssservicename was given.
-if test "${with_gssservicename+set}" = set; then :
-  withval=$with_gssservicename; default_gssservicename="$withval"
-else
-  default_gssservicename="default"
-fi
-
-
-if test x$default_gssservicename != xno; then
-       if test "x$default_gssservicename" = "xdefault"; then
-               CUPS_DEFAULT_GSSSERVICENAME="host"
-       else
-               CUPS_DEFAULT_GSSSERVICENAME="$default_gssservicename"
-       fi
-else
-       CUPS_DEFAULT_GSSSERVICENAME=""
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define CUPS_DEFAULT_GSSSERVICENAME "$CUPS_DEFAULT_GSSSERVICENAME"
-_ACEOF
-
-
-
-
-# Check whether --enable-ldap was given.
-if test "${enable_ldap+set}" = set; then :
-  enableval=$enable_ldap;
-fi
-
-
-# Check whether --with-ldap-libs was given.
-if test "${with_ldap_libs+set}" = set; then :
-  withval=$with_ldap_libs; LDFLAGS="-L$withval $LDFLAGS"
-    DSOFLAGS="-L$withval $DSOFLAGS"
-fi
-
-
-# Check whether --with-ldap-includes was given.
-if test "${with_ldap_includes+set}" = set; then :
-  withval=$with_ldap_includes; CFLAGS="-I$withval $CFLAGS"
-    CPPFLAGS="-I$withval $CPPFLAGS"
-fi
-
-
-LIBLDAP=""
-
-if test x$enable_ldap != xno; then
-    ac_fn_c_check_header_mongrel "$LINENO" "ldap.h" "ac_cv_header_ldap_h" "$ac_includes_default"
-if test "x$ac_cv_header_ldap_h" = xyes; then :
-
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldap_initialize in -lldap" >&5
-$as_echo_n "checking for ldap_initialize in -lldap... " >&6; }
-if ${ac_cv_lib_ldap_ldap_initialize+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lldap  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char ldap_initialize ();
-int
-main ()
-{
-return ldap_initialize ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_ldap_ldap_initialize=yes
-else
-  ac_cv_lib_ldap_ldap_initialize=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ldap_ldap_initialize" >&5
-$as_echo "$ac_cv_lib_ldap_ldap_initialize" >&6; }
-if test "x$ac_cv_lib_ldap_ldap_initialize" = xyes; then :
-  $as_echo "#define HAVE_LDAP 1" >>confdefs.h
-
-           $as_echo "#define HAVE_OPENLDAP 1" >>confdefs.h
-
-           LIBLDAP="-lldap"
-           { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldap_start_tls in -lldap" >&5
-$as_echo_n "checking for ldap_start_tls in -lldap... " >&6; }
-if ${ac_cv_lib_ldap_ldap_start_tls+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lldap  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char ldap_start_tls ();
-int
-main ()
-{
-return ldap_start_tls ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_ldap_ldap_start_tls=yes
-else
-  ac_cv_lib_ldap_ldap_start_tls=no
+$as_echo "no" >&6; }
+                               if test $uversion -ge 110 -a $uversion -lt 120; then
+                                       # Broken public headers in 10.7.x...
+                                       as_fn_error $? "Run 'sudo mkdir -p $gssdir/PrivateHeaders' and 'sudo touch $gssdir/PrivateHeaders/gssapi_spi.h' to build CUPS." "$LINENO" 5
+                               fi
+                       fi
+               else
+                       ac_fn_c_check_header_mongrel "$LINENO" "gssapi.h" "ac_cv_header_gssapi_h" "$ac_includes_default"
+if test "x$ac_cv_header_gssapi_h" = xyes; then :
+  $as_echo "#define HAVE_GSSAPI_H 1" >>confdefs.h
+
 fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
+
+
+                       ac_fn_c_check_header_mongrel "$LINENO" "gssapi/gssapi.h" "ac_cv_header_gssapi_gssapi_h" "$ac_includes_default"
+if test "x$ac_cv_header_gssapi_gssapi_h" = xyes; then :
+  $as_echo "#define HAVE_GSSAPI_GSSAPI_H 1" >>confdefs.h
+
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ldap_ldap_start_tls" >&5
-$as_echo "$ac_cv_lib_ldap_ldap_start_tls" >&6; }
-if test "x$ac_cv_lib_ldap_ldap_start_tls" = xyes; then :
-  $as_echo "#define HAVE_LDAP_SSL 1" >>confdefs.h
+
+
+               fi
+
+               SAVELIBS="$LIBS"
+               LIBS="$LIBS $LIBGSSAPI"
+
+               ac_fn_c_check_func "$LINENO" "__ApplePrivate_gss_acquire_cred_ex_f" "ac_cv_func___ApplePrivate_gss_acquire_cred_ex_f"
+if test "x$ac_cv_func___ApplePrivate_gss_acquire_cred_ex_f" = xyes; then :
+  $as_echo "#define HAVE_GSS_ACQUIRE_CRED_EX_F 1" >>confdefs.h
 
 fi
 
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldap_init in -lldap" >&5
-$as_echo_n "checking for ldap_init in -lldap... " >&6; }
-if ${ac_cv_lib_ldap_ldap_init+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lldap  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
 
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char ldap_init ();
+               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GSS_C_NT_HOSTBASED_SERVICE" >&5
+$as_echo_n "checking for GSS_C_NT_HOSTBASED_SERVICE... " >&6; }
+               if test x$ac_cv_header_gssapi_gssapi_h = xyes; then
+                       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+ #include <gssapi/gssapi.h>
 int
 main ()
 {
-return ldap_init ();
+ gss_OID foo = GSS_C_NT_HOSTBASED_SERVICE;
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_ldap_ldap_init=yes
-else
-  ac_cv_lib_ldap_ldap_init=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ldap_ldap_init" >&5
-$as_echo "$ac_cv_lib_ldap_ldap_init" >&6; }
-if test "x$ac_cv_lib_ldap_ldap_init" = xyes; then :
-  $as_echo "#define HAVE_LDAP 1" >>confdefs.h
-
-               $as_echo "#define HAVE_MOZILLA_LDAP 1" >>confdefs.h
-
-               LIBLDAP="-lldap"
-               ac_fn_c_check_header_compile "$LINENO" "ldap_ssl.h" "ac_cv_header_ldap_ssl_h" "#include <ldap.h>
-"
-if test "x$ac_cv_header_ldap_ssl_h" = xyes; then :
-  $as_echo "#define HAVE_LDAP_SSL_H 1" >>confdefs.h
-
-fi
-
+if ac_fn_c_try_compile "$LINENO"; then :
+  $as_echo "#define HAVE_GSS_C_NT_HOSTBASED_SERVICE 1" >>confdefs.h
 
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldapssl_init in -lldap" >&5
-$as_echo_n "checking for ldapssl_init in -lldap... " >&6; }
-if ${ac_cv_lib_ldap_ldapssl_init+:} false; then :
-  $as_echo_n "(cached) " >&6
+                                      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
 else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lldap  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+               elif test x$ac_cv_header_gss_gssapi_h = xyes; then
+                       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char ldapssl_init ();
+ #include <GSS/gssapi.h>
 int
 main ()
 {
-return ldapssl_init ();
+ gss_OID foo = GSS_C_NT_HOSTBASED_SERVICE;
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_ldap_ldapssl_init=yes
-else
-  ac_cv_lib_ldap_ldapssl_init=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ldap_ldapssl_init" >&5
-$as_echo "$ac_cv_lib_ldap_ldapssl_init" >&6; }
-if test "x$ac_cv_lib_ldap_ldapssl_init" = xyes; then :
-  $as_echo "#define HAVE_LDAP_SSL 1" >>confdefs.h
-
-fi
-
-fi
-
-
-fi
+if ac_fn_c_try_compile "$LINENO"; then :
+  $as_echo "#define HAVE_GSS_C_NT_HOSTBASED_SERVICE 1" >>confdefs.h
 
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldap_set_rebind_proc in -lldap" >&5
-$as_echo_n "checking for ldap_set_rebind_proc in -lldap... " >&6; }
-if ${ac_cv_lib_ldap_ldap_set_rebind_proc+:} false; then :
-  $as_echo_n "(cached) " >&6
+                                      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
 else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lldap  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+               else
+                       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char ldap_set_rebind_proc ();
+ #include <gssapi.h>
 int
 main ()
 {
-return ldap_set_rebind_proc ();
+ gss_OID foo = GSS_C_NT_HOSTBASED_SERVICE;
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_ldap_ldap_set_rebind_proc=yes
+if ac_fn_c_try_compile "$LINENO"; then :
+  $as_echo "#define HAVE_GSS_C_NT_HOSTBASED_SERVICE 1" >>confdefs.h
+
+                                      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
 else
-  ac_cv_lib_ldap_ldap_set_rebind_proc=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ldap_ldap_set_rebind_proc" >&5
-$as_echo "$ac_cv_lib_ldap_ldap_set_rebind_proc" >&6; }
-if test "x$ac_cv_lib_ldap_ldap_set_rebind_proc" = xyes; then :
-  $as_echo "#define HAVE_LDAP_REBIND_PROC 1" >>confdefs.h
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+               fi
 
+               LIBS="$SAVELIBS"
+       fi
 fi
 
 
+# Check whether --with-gssservicename was given.
+if test "${with_gssservicename+set}" = set; then :
+  withval=$with_gssservicename; default_gssservicename="$withval"
+else
+  default_gssservicename="default"
 fi
 
 
+if test x$default_gssservicename != xno; then
+       if test "x$default_gssservicename" = "xdefault"; then
+               CUPS_DEFAULT_GSSSERVICENAME="host"
+       else
+               CUPS_DEFAULT_GSSSERVICENAME="$default_gssservicename"
+       fi
+else
+       CUPS_DEFAULT_GSSSERVICENAME=""
 fi
 
 
+cat >>confdefs.h <<_ACEOF
+#define CUPS_DEFAULT_GSSSERVICENAME "$CUPS_DEFAULT_GSSSERVICENAME"
+_ACEOF
 
 
 
@@ -9446,6 +8190,8 @@ fi
 SSLFLAGS=""
 SSLLIBS=""
 have_ssl=0
+CUPS_SERVERCERT=""
+CUPS_SERVERKEY=""
 
 if test x$enable_ssl != xno; then
         if test $have_ssl = 0 -a "x$enable_cdsassl" != "xno"; then
@@ -9458,6 +8204,7 @@ if test "x$ac_cv_header_Security_SecureTransport_h" = xyes; then :
 
                $as_echo "#define HAVE_CDSASSL 1" >>confdefs.h
 
+               CUPS_SERVERCERT="/Library/Keychains/System.keychain"
 
                                ac_fn_c_check_header_mongrel "$LINENO" "Security/SecureTransportPriv.h" "ac_cv_header_Security_SecureTransportPriv_h" "$ac_includes_default"
 if test "x$ac_cv_header_Security_SecureTransportPriv_h" = xyes; then :
@@ -9517,15 +8264,6 @@ fi
 
 
 
-                               SAVELIBS="$LIBS"
-               LIBS="$LIBS -framework Security"
-               ac_fn_c_check_func "$LINENO" "SSLSetProtocolVersionMax" "ac_cv_func_SSLSetProtocolVersionMax"
-if test "x$ac_cv_func_SSLSetProtocolVersionMax" = xyes; then :
-
-fi
-
-               LIBS="$SAVELIBS"
-
                                { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SecCertificateCopyData" >&5
 $as_echo_n "checking for SecCertificateCopyData... " >&6; }
                if test $uversion -ge 100; then
@@ -9670,6 +8408,9 @@ fi
        fi
 
        if test $have_ssl = 1; then
+           CUPS_SERVERCERT="ssl/server.crt"
+           CUPS_SERVERKEY="ssl/server.key"
+
             if $PKGCONFIG --exists gcrypt; then
                SSLLIBS="$SSLLIBS `$PKGCONFIG --libs gcrypt`"
                SSLFLAGS="$SSLFLAGS `$PKGCONFIG --cflags gcrypt`"
@@ -9683,7 +8424,8 @@ fi
         if test $have_ssl = 0 -a "x$enable_openssl" != "xno"; then
        ac_fn_c_check_header_mongrel "$LINENO" "openssl/ssl.h" "ac_cv_header_openssl_ssl_h" "$ac_includes_default"
 if test "x$ac_cv_header_openssl_ssl_h" = xyes; then :
-                   SAVELIBS="$LIBS"
+
+                           SAVELIBS="$LIBS"
 
 
            for libcrypto in \
@@ -9739,16 +8481,27 @@ fi
 
 
                if test "x${SSLLIBS}" != "x"; then
-                   LIBS="$SAVELIBS $SSLLIBS"
-                   ac_fn_c_check_func "$LINENO" "SSL_set_tlsext_host_name" "ac_cv_func_SSL_set_tlsext_host_name"
+                   break
+               fi
+           done
+
+           if test "x${SSLLIBS}" != "x"; then
+               CUPS_SERVERCERT="ssl/server.crt"
+               CUPS_SERVERKEY="ssl/server.key"
+
+               LIBS="$SAVELIBS $SSLLIBS"
+               for ac_func in SSL_set_tlsext_host_name
+do :
+  ac_fn_c_check_func "$LINENO" "SSL_set_tlsext_host_name" "ac_cv_func_SSL_set_tlsext_host_name"
 if test "x$ac_cv_func_SSL_set_tlsext_host_name" = xyes; then :
-  $as_echo "#define HAVE_SSL_SET_TLSEXT_HOST_NAME 1" >>confdefs.h
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_SSL_SET_TLSEXT_HOST_NAME 1
+_ACEOF
 
 fi
+done
 
-                   break
-               fi
-           done
+           fi
 
            LIBS="$SAVELIBS"
 fi
@@ -9772,6 +8525,8 @@ fi
 
 
 
+
+
 EXPORT_SSLLIBS="$SSLLIBS"
 
 
@@ -10011,7 +8766,7 @@ fi
 
        case "$uname" in
                Darwin*)
-                       # Darwin/Mac OS X
+                       # Darwin/OS X
                        if test "x$with_pam_module" != x; then
                                PAMFILE="pam.$with_pam_module"
                        elif test -f /usr/lib/pam/pam_opendirectory.so.2; then
@@ -10306,6 +9061,11 @@ fi
 
 
 
+# Check whether --enable-avahi was given.
+if test "${enable_avahi+set}" = set; then :
+  enableval=$enable_avahi;
+fi
+
 # Check whether --enable-dnssd was given.
 if test "${enable_dnssd+set}" = set; then :
   enableval=$enable_dnssd;
@@ -10329,7 +9089,24 @@ fi
 DNSSDLIBS=""
 DNSSD_BACKEND=""
 
-if test x$enable_dnssd != xno; then
+if test "x$PKGCONFIG" != x -a x$enable_avahi != xno; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Avahi" >&5
+$as_echo_n "checking for Avahi... " >&6; }
+       if $PKGCONFIG --exists avahi-client; then
+               { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+               CFLAGS="$CFLAGS `$PKGCONFIG --cflags avahi-client`"
+               DNSSDLIBS="`$PKGCONFIG --libs avahi-client`"
+               DNSSD_BACKEND="dnssd"
+               $as_echo "#define HAVE_AVAHI 1" >>confdefs.h
+
+       else
+               { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+       fi
+fi
+
+if test "x$DNSSD_BACKEND" = x -a x$enable_dnssd != xno; then
        ac_fn_c_check_header_mongrel "$LINENO" "dns_sd.h" "ac_cv_header_dns_sd_h" "$ac_includes_default"
 if test "x$ac_cv_header_dns_sd_h" = xyes; then :
 
@@ -10338,10 +9115,6 @@ if test "x$ac_cv_header_dns_sd_h" = xyes; then :
                                # Darwin and MacOS X...
                                $as_echo "#define HAVE_DNSSD 1" >>confdefs.h
 
-                               $as_echo "#define HAVE_COREFOUNDATION 1" >>confdefs.h
-
-                               $as_echo "#define HAVE_SYSTEMCONFIGURATION 1" >>confdefs.h
-
                                DNSSDLIBS="-framework CoreFoundation -framework SystemConfiguration"
                                DNSSD_BACKEND="dnssd"
                                ;;
@@ -10434,7 +9207,7 @@ fi
 
 
 
-LANGUAGES="`ls -1 locale/cups_*.po | sed -e '1,$s/locale\/cups_//' -e '1,$s/\.po//' | tr '\n' ' '`"
+LANGUAGES="`ls -1 locale/cups_*.po 2>/dev/null | sed -e '1,$s/locale\/cups_//' -e '1,$s/\.po//' | tr '\n' ' '`"
 
 
 # Check whether --with-languages was given.
@@ -10490,6 +9263,16 @@ _ACEOF
 
 
 
+# Check whether --with-cupsd_file_perm was given.
+if test "${with_cupsd_file_perm+set}" = set; then :
+  withval=$with_cupsd_file_perm; CUPS_CUPSD_FILE_PERM="$withval"
+else
+  CUPS_CUPSD_FILE_PERM="500"
+fi
+
+
+
+
 # Check whether --with-log_file_perm was given.
 if test "${with_log_file_perm+set}" = set; then :
   withval=$with_log_file_perm; CUPS_LOG_FILE_PERM="$withval"
@@ -10518,7 +9301,6 @@ _ACEOF
 
 
 
-
 # Check whether --with-log_level was given.
 if test "${with_log_level+set}" = set; then :
   withval=$with_log_level; CUPS_LOG_LEVEL="$withval"
 
 if test x$with_local_protocols != xno; then
        if test "x$default_local_protocols" = "xdefault"; then
-               if test "x$DNSSDLIBS" != "x"; then
-               CUPS_BROWSE_LOCAL_PROTOCOLS="CUPS dnssd"
-       else
-               CUPS_BROWSE_LOCAL_PROTOCOLS="CUPS"
+               if test "x$DNSSD_BACKEND" != "x"; then
+                       CUPS_BROWSE_LOCAL_PROTOCOLS="dnssd"
+               else
+                       CUPS_BROWSE_LOCAL_PROTOCOLS=""
                fi
        else
                CUPS_BROWSE_LOCAL_PROTOCOLS="$default_local_protocols"
@@ -10595,124 +9377,21 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
 
-
-# Check whether --with-remote_protocols was given.
-if test "${with_remote_protocols+set}" = set; then :
-  withval=$with_remote_protocols; default_remote_protocols="$withval"
-else
-  default_remote_protocols="default"
-fi
-
-
-if test x$with_remote_protocols != xno; then
-       if test "x$default_remote_protocols" = "xdefault"; then
-               if test "$uname" = "Darwin" -a $uversion -ge 90; then
-                       CUPS_BROWSE_REMOTE_PROTOCOLS=""
-               else
-                       CUPS_BROWSE_REMOTE_PROTOCOLS="CUPS"
-               fi
-       else
-               CUPS_BROWSE_REMOTE_PROTOCOLS="$default_remote_protocols"
-       fi
-else
-       CUPS_BROWSE_REMOTE_PROTOCOLS=""
-fi
-
-
-cat >>confdefs.h <<_ACEOF
-#define CUPS_DEFAULT_BROWSE_REMOTE_PROTOCOLS "$CUPS_BROWSE_REMOTE_PROTOCOLS"
-_ACEOF
-
-
-# Check whether --enable-browse_short was given.
-if test "${enable_browse_short+set}" = set; then :
-  enableval=$enable_browse_short;
-fi
-
-if test "x$enable_browse_short" = xno; then
-       CUPS_BROWSE_SHORT_NAMES="No"
-       cat >>confdefs.h <<_ACEOF
-#define CUPS_DEFAULT_BROWSE_SHORT_NAMES 0
-_ACEOF
-
-else
-       CUPS_BROWSE_SHORT_NAMES="Yes"
-       cat >>confdefs.h <<_ACEOF
-#define CUPS_DEFAULT_BROWSE_SHORT_NAMES 1
-_ACEOF
-
-fi
-
-
 # Check whether --enable-default_shared was given.
 if test "${enable_default_shared+set}" = set; then :
   enableval=$enable_default_shared;
-fi
-
-if test "x$enable_default_shared" = xno; then
-       CUPS_DEFAULT_SHARED="No"
-       cat >>confdefs.h <<_ACEOF
-#define CUPS_DEFAULT_DEFAULT_SHARED 0
-_ACEOF
-
-else
-       CUPS_DEFAULT_SHARED="Yes"
-       cat >>confdefs.h <<_ACEOF
-#define CUPS_DEFAULT_DEFAULT_SHARED 1
-_ACEOF
-
-fi
-
-
-# Check whether --enable-implicit was given.
-if test "${enable_implicit+set}" = set; then :
-  enableval=$enable_implicit;
-fi
-
-if test "x$enable_implicit" = xno; then
-       CUPS_IMPLICIT_CLASSES="No"
-       cat >>confdefs.h <<_ACEOF
-#define CUPS_DEFAULT_IMPLICIT_CLASSES 0
-_ACEOF
-
-else
-       CUPS_IMPLICIT_CLASSES="Yes"
-       cat >>confdefs.h <<_ACEOF
-#define CUPS_DEFAULT_IMPLICIT_CLASSES 1
-_ACEOF
-
-fi
-
-
-# Check whether --enable-use_network_default was given.
-if test "${enable_use_network_default+set}" = set; then :
-  enableval=$enable_use_network_default;
-fi
-
-if test "x$enable_use_network_default" != xno; then
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use network default printers" >&5
-$as_echo_n "checking whether to use network default printers... " >&6; }
-       if test "x$enable_use_network_default" = xyes -o $uname != Darwin; then
-               CUPS_USE_NETWORK_DEFAULT="Yes"
-               cat >>confdefs.h <<_ACEOF
-#define CUPS_DEFAULT_USE_NETWORK_DEFAULT 1
-_ACEOF
+fi
 
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-       else
-               CUPS_USE_NETWORK_DEFAULT="No"
-               cat >>confdefs.h <<_ACEOF
-#define CUPS_DEFAULT_USE_NETWORK_DEFAULT 0
+if test "x$enable_default_shared" = xno; then
+       CUPS_DEFAULT_SHARED="No"
+       cat >>confdefs.h <<_ACEOF
+#define CUPS_DEFAULT_DEFAULT_SHARED 0
 _ACEOF
 
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-       fi
 else
-       CUPS_USE_NETWORK_DEFAULT="No"
+       CUPS_DEFAULT_SHARED="Yes"
        cat >>confdefs.h <<_ACEOF
-#define CUPS_DEFAULT_USE_NETWORK_DEFAULT 0
+#define CUPS_DEFAULT_DEFAULT_SHARED 1
 _ACEOF
 
 fi
@@ -10946,6 +9625,7 @@ _ACEOF
 
 
 
+
 # Check whether --with-smbconfigfile was given.
 if test "${with_smbconfigfile+set}" = set; then :
   withval=$with_smbconfigfile; default_smbconfigfile="$withval"
@@ -10974,6 +9654,7 @@ _ACEOF
 
 
 
+
 # Check whether --with-max-copies was given.
 if test "${with_max_copies+set}" = set; then :
   withval=$with_max_copies; CUPS_MAX_COPIES="$withval"
@@ -11044,58 +9725,6 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
 
-# Check whether --enable-bannertops was given.
-if test "${enable_bannertops+set}" = set; then :
-  enableval=$enable_bannertops;
-fi
-
-# Check whether --enable-texttops was given.
-if test "${enable_texttops+set}" = set; then :
-  enableval=$enable_texttops;
-fi
-
-
-if test "x$enable_bannertops" = xno; then
-       BANNERTOPS=""
-       DEFAULT_BANNERTOPS="#"
-elif test "x$enable_bannertops" = xyes; then
-       BANNERTOPS="bannertops"
-       DEFAULT_BANNERTOPS=""
-elif test $uname = Darwin; then
-       BANNERTOPS=""
-       DEFAULT_BANNERTOPS="#"
-else
-       BANNERTOPS="bannertops"
-       DEFAULT_BANNERTOPS=""
-fi
-
-if test "x$enable_texttops" = xno; then
-       TEXTTOPS=""
-       DEFAULT_TEXTTOPS="#"
-elif test "x$enable_texttops" = xyes; then
-       TEXTTOPS="texttops"
-       DEFAULT_TEXTTOPS=""
-elif test $uname = Darwin; then
-       TEXTTOPS=""
-       DEFAULT_TEXTTOPS="#"
-else
-       TEXTTOPS="texttops"
-       DEFAULT_TEXTTOPS=""
-fi
-
-
-
-
-
-
-if test "x$BANNERTOPS" = x -a "x$TEXTTOPS" = x; then
-       FONTS=""
-else
-       FONTS="fonts"
-fi
-
-
-
 # Check whether --enable-webif was given.
 if test "${enable_webif+set}" = set; then :
   enableval=$enable_webif;
@@ -11130,284 +9759,6 @@ _ACEOF
 
 
 
-# Check whether --with-pdftops was given.
-if test "${with_pdftops+set}" = set; then :
-  withval=$with_pdftops;
-fi
-
-
-PDFTOPS=""
-CUPS_PDFTOPS=""
-CUPS_GHOSTSCRIPT=""
-
-case "x$with_pdftops" in
-       x) # Default/auto
-       if test $uname != Darwin; then
-               # Extract the first word of "pdftops", so it can be a program name with args.
-set dummy pdftops; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_CUPS_PDFTOPS+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $CUPS_PDFTOPS in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_CUPS_PDFTOPS="$CUPS_PDFTOPS" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_CUPS_PDFTOPS="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-CUPS_PDFTOPS=$ac_cv_path_CUPS_PDFTOPS
-if test -n "$CUPS_PDFTOPS"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CUPS_PDFTOPS" >&5
-$as_echo "$CUPS_PDFTOPS" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-               if test "x$CUPS_PDFTOPS" != x; then
-                       $as_echo "#define HAVE_PDFTOPS 1" >>confdefs.h
-
-                       PDFTOPS="pdftops"
-               else
-                       # Extract the first word of "gs", so it can be a program name with args.
-set dummy gs; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_CUPS_GHOSTSCRIPT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $CUPS_GHOSTSCRIPT in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_CUPS_GHOSTSCRIPT="$CUPS_GHOSTSCRIPT" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_CUPS_GHOSTSCRIPT="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-CUPS_GHOSTSCRIPT=$ac_cv_path_CUPS_GHOSTSCRIPT
-if test -n "$CUPS_GHOSTSCRIPT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CUPS_GHOSTSCRIPT" >&5
-$as_echo "$CUPS_GHOSTSCRIPT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-                       if test "x$CUPS_GHOSTSCRIPT" != x; then
-                               $as_echo "#define HAVE_GHOSTSCRIPT 1" >>confdefs.h
-
-                               PDFTOPS="pdftops"
-                       fi
-               fi
-       fi
-       ;;
-
-       xgs)
-       # Extract the first word of "gs", so it can be a program name with args.
-set dummy gs; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_CUPS_GHOSTSCRIPT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $CUPS_GHOSTSCRIPT in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_CUPS_GHOSTSCRIPT="$CUPS_GHOSTSCRIPT" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_CUPS_GHOSTSCRIPT="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-CUPS_GHOSTSCRIPT=$ac_cv_path_CUPS_GHOSTSCRIPT
-if test -n "$CUPS_GHOSTSCRIPT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CUPS_GHOSTSCRIPT" >&5
-$as_echo "$CUPS_GHOSTSCRIPT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-       if test "x$CUPS_GHOSTSCRIPT" != x; then
-               $as_echo "#define HAVE_GHOSTSCRIPT 1" >>confdefs.h
-
-               PDFTOPS="pdftops"
-       else
-               as_fn_error $? "Unable to find gs program!" "$LINENO" 5
-               exit 1
-       fi
-       ;;
-
-       x/*/gs) # Use /path/to/gs without any check:
-       CUPS_GHOSTSCRIPT="$with_pdftops"
-       $as_echo "#define HAVE_GHOSTSCRIPT 1" >>confdefs.h
-
-       PDFTOPS="pdftops"
-       ;;
-
-       xpdftops)
-       # Extract the first word of "pdftops", so it can be a program name with args.
-set dummy pdftops; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_CUPS_PDFTOPS+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $CUPS_PDFTOPS in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_CUPS_PDFTOPS="$CUPS_PDFTOPS" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_CUPS_PDFTOPS="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-CUPS_PDFTOPS=$ac_cv_path_CUPS_PDFTOPS
-if test -n "$CUPS_PDFTOPS"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CUPS_PDFTOPS" >&5
-$as_echo "$CUPS_PDFTOPS" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-       if test "x$CUPS_PDFTOPS" != x; then
-               $as_echo "#define HAVE_PDFTOPS 1" >>confdefs.h
-
-               PDFTOPS="pdftops"
-       else
-               as_fn_error $? "Unable to find pdftops program!" "$LINENO" 5
-               exit 1
-       fi
-       ;;
-
-       x/*/pdftops) # Use /path/to/pdftops without any check:
-       CUPS_PDFTOPS="$with_pdftops"
-       $as_echo "#define HAVE_PDFTOPS 1" >>confdefs.h
-
-       PDFTOPS="pdftops"
-       ;;
-
-       xnone) # Make no pdftops filter if with_pdftops=none:
-       ;;
-
-       *) # Invalid with_pdftops value:
-       as_fn_error $? "Invalid with_pdftops value!" "$LINENO" 5
-       exit 1
-       ;;
-esac
-
-if test "x$CUPS_PDFTOPS" != x; then
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pdftops supports -origpagesizes" >&5
-$as_echo_n "checking whether pdftops supports -origpagesizes... " >&6; }
-       if ($CUPS_PDFTOPS -h 2>&1 | grep -q -- -origpagesizes); then
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-               $as_echo "#define HAVE_PDFTOPS_WITH_ORIGPAGESIZES 1" >>confdefs.h
-
-       else
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-       fi
-
-       DEFAULT_PDFTOPS=""
-elif test "x$CUPS_GHOSTSCRIPT" != x; then
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gs supports the ps2write device" >&5
-$as_echo_n "checking whether gs supports the ps2write device... " >&6; }
-       if ($CUPS_GHOSTSCRIPT -h 2>&1 | grep -q ps2write); then
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-               $as_echo "#define HAVE_GHOSTSCRIPT_PS2WRITE 1" >>confdefs.h
-
-       else
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-       fi
-
-       DEFAULT_PDFTOPS=""
-else
-       DEFAULT_PDFTOPS="#"
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define CUPS_PDFTOPS "$CUPS_PDFTOPS"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define CUPS_GHOSTSCRIPT "$CUPS_GHOSTSCRIPT"
-_ACEOF
-
-
-
-
-
-
-
 # Check whether --with-java was given.
 if test "${with_java+set}" = set; then :
   withval=$with_java; CUPS_JAVA="$withval"
@@ -11642,56 +9993,6 @@ else
 
 fi
 
-PHPDIR=""
-if test "x$CUPS_PHP" != xno; then
-       # Extract the first word of "php-config", so it can be a program name with args.
-set dummy php-config; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_PHPCONFIG+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $PHPCONFIG in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_PHPCONFIG="$PHPCONFIG" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_PHPCONFIG="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-PHPCONFIG=$ac_cv_path_PHPCONFIG
-if test -n "$PHPCONFIG"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PHPCONFIG" >&5
-$as_echo "$PHPCONFIG" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-       if test "x$PHPCONFIG" != x; then
-               PHPDIR="scripting/php"
-       fi
-fi
-
-
-
 
 # Check whether --with-python was given.
 if test "${with_python+set}" = set; then :
@@ -11780,7 +10081,7 @@ fi
 
 
 
-ac_config_files="$ac_config_files Makedefs conf/cupsd.conf conf/mime.convs conf/pam.std conf/snmp.conf cups-config data/testprint desktop/cups.desktop doc/help/ref-cupsd-conf.html doc/help/standard.html doc/index.html man/client.conf.man man/cups-deviced.man man/cups-driverd.man man/cups-lpd.man man/cupsaddsmb.man man/cupsd.conf.man man/cupsd.man man/lpoptions.man scheduler/cups-lpd.xinetd scheduler/cups.sh scheduler/cups.xml scheduler/org.cups.cups-lpd.plist templates/header.tmpl packaging/cups.list $LANGFILES"
+ac_config_files="$ac_config_files Makedefs conf/cups-files.conf conf/cupsd.conf conf/mime.convs conf/pam.std conf/snmp.conf cups-config data/testprint desktop/cups.desktop doc/help/ref-cups-files-conf.html doc/help/ref-cupsd-conf.html doc/help/standard.html doc/index.html man/client.conf.man man/cups-deviced.man man/cups-driverd.man man/cups-files.conf.man man/cups-lpd.man man/cups-snmp.man man/cupsaddsmb.man man/cupsd.conf.man man/cupsd.man man/lpoptions.man scheduler/cups-lpd.xinetd scheduler/cups.sh scheduler/cups.xml scheduler/org.cups.cups-lpd.plist templates/header.tmpl packaging/cups.list $LANGFILES"
 
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
@@ -12486,6 +10787,7 @@ do
   case $ac_config_target in
     "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
     "Makedefs") CONFIG_FILES="$CONFIG_FILES Makedefs" ;;
+    "conf/cups-files.conf") CONFIG_FILES="$CONFIG_FILES conf/cups-files.conf" ;;
     "conf/cupsd.conf") CONFIG_FILES="$CONFIG_FILES conf/cupsd.conf" ;;
     "conf/mime.convs") CONFIG_FILES="$CONFIG_FILES conf/mime.convs" ;;
     "conf/pam.std") CONFIG_FILES="$CONFIG_FILES conf/pam.std" ;;
     "cups-config") CONFIG_FILES="$CONFIG_FILES cups-config" ;;
     "data/testprint") CONFIG_FILES="$CONFIG_FILES data/testprint" ;;
     "desktop/cups.desktop") CONFIG_FILES="$CONFIG_FILES desktop/cups.desktop" ;;
+    "doc/help/ref-cups-files-conf.html") CONFIG_FILES="$CONFIG_FILES doc/help/ref-cups-files-conf.html" ;;
     "doc/help/ref-cupsd-conf.html") CONFIG_FILES="$CONFIG_FILES doc/help/ref-cupsd-conf.html" ;;
     "doc/help/standard.html") CONFIG_FILES="$CONFIG_FILES doc/help/standard.html" ;;
     "doc/index.html") CONFIG_FILES="$CONFIG_FILES doc/index.html" ;;
     "man/client.conf.man") CONFIG_FILES="$CONFIG_FILES man/client.conf.man" ;;
     "man/cups-deviced.man") CONFIG_FILES="$CONFIG_FILES man/cups-deviced.man" ;;
     "man/cups-driverd.man") CONFIG_FILES="$CONFIG_FILES man/cups-driverd.man" ;;
+    "man/cups-files.conf.man") CONFIG_FILES="$CONFIG_FILES man/cups-files.conf.man" ;;
     "man/cups-lpd.man") CONFIG_FILES="$CONFIG_FILES man/cups-lpd.man" ;;
+    "man/cups-snmp.man") CONFIG_FILES="$CONFIG_FILES man/cups-snmp.man" ;;
     "man/cupsaddsmb.man") CONFIG_FILES="$CONFIG_FILES man/cupsaddsmb.man" ;;
     "man/cupsd.conf.man") CONFIG_FILES="$CONFIG_FILES man/cupsd.conf.man" ;;
     "man/cupsd.man") CONFIG_FILES="$CONFIG_FILES man/cupsd.man" ;;
index 3ce4064..33a7ba2 100644 (file)
@@ -1,9 +1,9 @@
 dnl
-dnl "$Id: configure.in 9939 2011-08-31 01:36:33Z mike $"
+dnl "$Id: configure.in 11173 2013-07-23 12:31:34Z msweet $"
 dnl
 dnl   Configuration script for CUPS.
 dnl
-dnl   Copyright 2007-2010 by Apple Inc.
+dnl   Copyright 2007-2013 by Apple Inc.
 dnl   Copyright 1997-2007 by Easy Software Products, all rights reserved.
 dnl
 dnl   These coded instructions, statements, and computer programs are the
@@ -20,17 +20,13 @@ sinclude(config-scripts/cups-common.m4)
 sinclude(config-scripts/cups-directories.m4)
 sinclude(config-scripts/cups-manpages.m4)
 
-sinclude(config-scripts/cups-3264.m4)
 sinclude(config-scripts/cups-sharedlibs.m4)
 sinclude(config-scripts/cups-libtool.m4)
 sinclude(config-scripts/cups-compiler.m4)
 
-sinclude(config-scripts/cups-image.m4)
 sinclude(config-scripts/cups-network.m4)
 sinclude(config-scripts/cups-poll.m4)
-sinclude(config-scripts/cups-slp.m4)
 sinclude(config-scripts/cups-gssapi.m4)
-sinclude(config-scripts/cups-ldap.m4)
 sinclude(config-scripts/cups-threads.m4)
 sinclude(config-scripts/cups-ssl.m4)
 sinclude(config-scripts/cups-pam.m4)
@@ -38,7 +34,6 @@ sinclude(config-scripts/cups-largefile.m4)
 sinclude(config-scripts/cups-dnssd.m4)
 sinclude(config-scripts/cups-launchd.m4)
 sinclude(config-scripts/cups-defaults.m4)
-sinclude(config-scripts/cups-pdf.m4)
 sinclude(config-scripts/cups-scripting.m4)
 
 INSTALL_LANGUAGES=""
@@ -65,6 +60,7 @@ AC_SUBST(INSTALL_LANGUAGES)
 AC_SUBST(UNINSTALL_LANGUAGES)
 
 AC_OUTPUT(Makedefs
+         conf/cups-files.conf
          conf/cupsd.conf
          conf/mime.convs
          conf/pam.std
@@ -72,13 +68,16 @@ AC_OUTPUT(Makedefs
          cups-config
          data/testprint
          desktop/cups.desktop
+         doc/help/ref-cups-files-conf.html
          doc/help/ref-cupsd-conf.html
          doc/help/standard.html
          doc/index.html
          man/client.conf.man
          man/cups-deviced.man
          man/cups-driverd.man
+         man/cups-files.conf.man
          man/cups-lpd.man
+         man/cups-snmp.man
          man/cupsaddsmb.man
          man/cupsd.conf.man
          man/cupsd.man
@@ -94,5 +93,5 @@ AC_OUTPUT(Makedefs
 chmod +x cups-config
 
 dnl
-dnl End of "$Id: configure.in 9939 2011-08-31 01:36:33Z mike $".
+dnl End of "$Id: configure.in 11173 2013-07-23 12:31:34Z msweet $".
 dnl
index 2cdeca8..ee9a0ea 100755 (executable)
@@ -1,10 +1,10 @@
 #! /bin/sh
 #
-# "$Id: cups-config.in 9153 2010-06-16 00:48:25Z mike $"
-# 
+# "$Id: cups-config.in 11173 2013-07-23 12:31:34Z msweet $"
+#
 #   CUPS configuration utility.
 #
-#   Copyright 2007-2010 by Apple Inc.
+#   Copyright 2007-2011 by Apple Inc.
 #   Copyright 2001-2006 by Easy Software Products, all rights reserved.
 #
 #   These coded instructions, statements, and computer programs are the
@@ -15,7 +15,7 @@
 #
 
 VERSION="@CUPS_VERSION@"
-APIVERSION="1.5"
+APIVERSION="1.6"
 BUILD="@CUPS_BUILD@"
 
 prefix=@prefix@
@@ -35,8 +35,7 @@ INSTALLSTATIC=@INSTALLSTATIC@
 # flags for C++ compiler:
 CFLAGS=""
 LDFLAGS="@EXPORT_LDFLAGS@"
-LIBS="@LIBGSSAPI@ @EXPORT_SSLLIBS@ @EXPORT_LIBZ@ @LIBS@"
-IMGLIBS="@EXPORT_LIBTIFF@ @EXPORT_LIBJPEG@ @EXPORT_LIBPNG@"
+LIBS="@LIBGSSAPI@ @EXPORT_SSLLIBS@ @LIBZ@ @LIBS@"
 
 # Check for local invocation...
 selfdir=`dirname $0`
@@ -46,9 +45,6 @@ if test -f "$selfdir/cups/cups.h"; then
     LDFLAGS="-L$selfdir/cups -L$selfdir/filter $LDFLAGS"
     libdir="$selfdir/cups"
     imagelibdir="$selfdir/filter"
-    if test ! -f "$selfdir/cups/raster.h"; then
-        ln -s ../filter/raster.h "$selfdir/cups"
-    fi
 else
     if test $includedir != /usr/include; then
        CFLAGS="$CFLAGS -I$includedir"
@@ -68,7 +64,7 @@ usage ()
     echo "       cups-config --datadir"
     echo "       cups-config --help"
     echo "       cups-config --ldflags"
-    echo "       cups-config [--driver] [--image] [--static] --libs"
+    echo "       cups-config [--image] [--static] --libs"
     echo "       cups-config --serverbin"
     echo "       cups-config --serverroot"
     echo "       cups-config --version"
@@ -83,7 +79,6 @@ fi
 # Parse command line options
 static=no
 image=no
-driver=no
 
 while test $# -gt 0; do
     case $1 in
@@ -99,9 +94,6 @@ while test $# -gt 0; do
        --datadir)
            echo $cups_datadir
            ;;
-       --driver)
-           driver=yes
-           ;;
        --help)
            usage 0
            ;;
@@ -117,16 +109,10 @@ while test $# -gt 0; do
                if test $image = yes; then
                    libs="@EXTLINKCUPSIMAGE@ $libs"
                fi
-               if test $driver = yes; then
-                   libs="@EXTLINKCUPSDRIVER@ $libs"
-               fi
            else
                libs="$libdir/libcups.a $LIBS";
                if test $image = yes; then
-                   libs="$libdir/libcupsimage.a $IMGLIBS $libs"
-               fi
-               if test $driver = yes; then
-                   libs="$libdir/libcupsdriver.a $libs"
+                   libs="$libdir/libcupsimage.a $libs"
                fi
            fi
            echo $libs
@@ -156,5 +142,5 @@ while test $# -gt 0; do
 done
 
 #
-# End of "$Id: cups-config.in 9153 2010-06-16 00:48:25Z mike $".
+# End of "$Id: cups-config.in 11173 2013-07-23 12:31:34Z msweet $".
 #
index e2d4516..10beea2 100644 (file)
-# DO NOT DELETE
-
-adminutil.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-adminutil.o: array.h language.h string-private.h ../config.h debug-private.h
-adminutil.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-adminutil.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
-adminutil.o: ipp-private.h ../cups/ipp.h language-private.h
-adminutil.o: ../cups/transcode.h thread-private.h adminutil.h
-array.o: string-private.h ../config.h debug-private.h ../cups/versioning.h
-array.o: array-private.h ../cups/array.h versioning.h
-attr.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-attr.o: array.h language.h string-private.h ../config.h debug-private.h
-attr.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
-attr.o: http-private.h ../cups/http.h md5-private.h ipp-private.h
-attr.o: ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
-auth.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-auth.o: array.h language.h string-private.h ../config.h debug-private.h
-auth.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
-auth.o: http-private.h ../cups/http.h md5-private.h ipp-private.h
-auth.o: ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
-backchannel.o: cups.h
-backend.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-backend.o: array.h language.h string-private.h ../config.h debug-private.h
-backend.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-backend.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
-backend.o: ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-backend.o: thread-private.h backend.h
-conflicts.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-conflicts.o: array.h language.h string-private.h ../config.h debug-private.h
-conflicts.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-conflicts.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
-conflicts.o: ipp-private.h ../cups/ipp.h language-private.h
-conflicts.o: ../cups/transcode.h thread-private.h
-custom.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-custom.o: array.h language.h string-private.h ../config.h debug-private.h
-custom.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-custom.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
-custom.o: ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-custom.o: thread-private.h
-debug.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-debug.o: array.h language.h string-private.h ../config.h debug-private.h
-debug.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-debug.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
-debug.o: ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-debug.o: thread-private.h
-dest.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-dest.o: array.h language.h string-private.h ../config.h debug-private.h
-dest.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
-dest.o: http-private.h ../cups/http.h md5-private.h ipp-private.h
-dest.o: ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
-dir.o: string-private.h ../config.h debug-private.h ../cups/versioning.h
-dir.o: dir.h versioning.h
-emit.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-emit.o: array.h language.h string-private.h ../config.h debug-private.h
-emit.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
-emit.o: http-private.h ../cups/http.h md5-private.h ipp-private.h
-emit.o: ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
-encode.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-encode.o: array.h language.h string-private.h ../config.h debug-private.h
-encode.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-encode.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
-encode.o: ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-encode.o: thread-private.h
-file.o: file-private.h cups-private.h ../cups/cups.h file.h versioning.h
-file.o: ipp.h http.h array.h language.h string-private.h ../config.h
-file.o: debug-private.h ../cups/versioning.h ppd-private.h ../cups/ppd.h
-file.o: cups.h pwg-private.h http-private.h ../cups/http.h md5-private.h
-file.o: ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-file.o: thread-private.h
-getdevices.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-getdevices.o: array.h language.h string-private.h ../config.h debug-private.h
-getdevices.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-getdevices.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
-getdevices.o: ipp-private.h ../cups/ipp.h language-private.h
-getdevices.o: ../cups/transcode.h thread-private.h
-getifaddrs.o: http-private.h ../config.h ../cups/http.h md5-private.h
-getifaddrs.o: ipp-private.h ../cups/ipp.h
-getputfile.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-getputfile.o: array.h language.h string-private.h ../config.h debug-private.h
-getputfile.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-getputfile.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
-getputfile.o: ipp-private.h ../cups/ipp.h language-private.h
-getputfile.o: ../cups/transcode.h thread-private.h
-globals.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-globals.o: array.h language.h string-private.h ../config.h debug-private.h
-globals.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-globals.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
-globals.o: ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-globals.o: thread-private.h
-http.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-http.o: array.h language.h string-private.h ../config.h debug-private.h
-http.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
-http.o: http-private.h ../cups/http.h md5-private.h ipp-private.h
-http.o: ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
-http-addr.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-http-addr.o: array.h language.h string-private.h ../config.h debug-private.h
-http-addr.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-http-addr.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
-http-addr.o: ipp-private.h ../cups/ipp.h language-private.h
-http-addr.o: ../cups/transcode.h thread-private.h
-http-addrlist.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h
-http-addrlist.o: http.h array.h language.h string-private.h ../config.h
-http-addrlist.o: debug-private.h ../cups/versioning.h ppd-private.h
-http-addrlist.o: ../cups/ppd.h cups.h pwg-private.h http-private.h
-http-addrlist.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-http-addrlist.o: language-private.h ../cups/transcode.h thread-private.h
-http-support.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h
-http-support.o: http.h array.h language.h string-private.h ../config.h
-http-support.o: debug-private.h ../cups/versioning.h ppd-private.h
-http-support.o: ../cups/ppd.h cups.h pwg-private.h http-private.h
-http-support.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-http-support.o: language-private.h ../cups/transcode.h thread-private.h
-ipp.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h array.h
-ipp.o: language.h string-private.h ../config.h debug-private.h
-ipp.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
-ipp.o: http-private.h ../cups/http.h md5-private.h ipp-private.h
-ipp.o: ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
-ipp-support.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-ipp-support.o: array.h language.h string-private.h ../config.h
-ipp-support.o: debug-private.h ../cups/versioning.h ppd-private.h
-ipp-support.o: ../cups/ppd.h cups.h pwg-private.h http-private.h
-ipp-support.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-ipp-support.o: language-private.h ../cups/transcode.h thread-private.h
-langprintf.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-langprintf.o: array.h language.h string-private.h ../config.h debug-private.h
-langprintf.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-langprintf.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
-langprintf.o: ipp-private.h ../cups/ipp.h language-private.h
-langprintf.o: ../cups/transcode.h thread-private.h
-language.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-language.o: array.h language.h string-private.h ../config.h debug-private.h
-language.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-language.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
-language.o: ipp-private.h ../cups/ipp.h language-private.h
-language.o: ../cups/transcode.h thread-private.h
-localize.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-localize.o: array.h language.h string-private.h ../config.h debug-private.h
-localize.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-localize.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
-localize.o: ipp-private.h ../cups/ipp.h language-private.h
-localize.o: ../cups/transcode.h thread-private.h
-mark.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-mark.o: array.h language.h string-private.h ../config.h debug-private.h
-mark.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
-mark.o: http-private.h ../cups/http.h md5-private.h ipp-private.h
-mark.o: ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
-md5.o: md5-private.h string-private.h ../config.h
-md5passwd.o: http-private.h ../config.h ../cups/http.h md5-private.h
-md5passwd.o: ipp-private.h ../cups/ipp.h string-private.h
-notify.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-notify.o: array.h language.h string-private.h ../config.h debug-private.h
-notify.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-notify.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
-notify.o: ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-notify.o: thread-private.h
-options.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-options.o: array.h language.h string-private.h ../config.h debug-private.h
-options.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-options.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
-options.o: ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-options.o: thread-private.h
-page.o: string-private.h ../config.h debug-private.h ../cups/versioning.h
-page.o: ppd.h cups.h array.h versioning.h file.h
-ppd.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h array.h
-ppd.o: language.h string-private.h ../config.h debug-private.h
-ppd.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
-ppd.o: http-private.h ../cups/http.h md5-private.h ipp-private.h
-ppd.o: ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
-ppd-cache.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-ppd-cache.o: array.h language.h string-private.h ../config.h debug-private.h
-ppd-cache.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-ppd-cache.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
-ppd-cache.o: ipp-private.h ../cups/ipp.h language-private.h
-ppd-cache.o: ../cups/transcode.h thread-private.h
-pwg-media.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-pwg-media.o: array.h language.h string-private.h ../config.h debug-private.h
-pwg-media.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-pwg-media.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
-pwg-media.o: ipp-private.h ../cups/ipp.h language-private.h
-pwg-media.o: ../cups/transcode.h thread-private.h
-request.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-request.o: array.h language.h string-private.h ../config.h debug-private.h
-request.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-request.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
-request.o: ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-request.o: thread-private.h
-sidechannel.o: sidechannel.h versioning.h string-private.h ../config.h
-sidechannel.o: debug-private.h ../cups/versioning.h
-snmp.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-snmp.o: array.h language.h string-private.h ../config.h debug-private.h
-snmp.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
-snmp.o: http-private.h ../cups/http.h md5-private.h ipp-private.h
-snmp.o: ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
-snmp.o: snmp-private.h
-snprintf.o: string-private.h ../config.h
-string.o: string-private.h ../config.h debug-private.h ../cups/versioning.h
-string.o: thread-private.h array.h versioning.h
-tempfile.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-tempfile.o: array.h language.h string-private.h ../config.h debug-private.h
-tempfile.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-tempfile.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
-tempfile.o: ipp-private.h ../cups/ipp.h language-private.h
-tempfile.o: ../cups/transcode.h thread-private.h
-thread.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-thread.o: array.h language.h string-private.h ../config.h debug-private.h
-thread.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-thread.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
-thread.o: ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-thread.o: thread-private.h
-transcode.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-transcode.o: array.h language.h string-private.h ../config.h debug-private.h
-transcode.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-transcode.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
-transcode.o: ipp-private.h ../cups/ipp.h language-private.h
-transcode.o: ../cups/transcode.h thread-private.h
-usersys.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-usersys.o: array.h language.h string-private.h ../config.h debug-private.h
-usersys.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-usersys.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
-usersys.o: ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-usersys.o: thread-private.h
-util.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-util.o: array.h language.h string-private.h ../config.h debug-private.h
-util.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
-util.o: http-private.h ../cups/http.h md5-private.h ipp-private.h
-util.o: ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
-testadmin.o: adminutil.h cups.h string-private.h ../config.h
-testarray.o: string-private.h ../config.h debug-private.h
-testarray.o: ../cups/versioning.h array.h versioning.h dir.h
-testconflicts.o: cups.h ppd.h array.h versioning.h file.h string-private.h
-testconflicts.o: ../config.h
-testcups.o: string-private.h ../config.h cups.h ppd.h array.h versioning.h
-testcups.o: file.h
-testfile.o: string-private.h ../config.h debug-private.h ../cups/versioning.h
-testfile.o: file.h versioning.h
-testhttp.o: string-private.h ../config.h http-private.h ../cups/http.h
-testhttp.o: md5-private.h ipp-private.h ../cups/ipp.h
-testi18n.o: string-private.h ../config.h language-private.h
-testi18n.o: ../cups/transcode.h language.h array.h versioning.h
-testipp.o: file.h versioning.h string-private.h ../config.h ipp-private.h
-testipp.o: ../cups/ipp.h
-testoptions.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-testoptions.o: array.h language.h string-private.h ../config.h
-testoptions.o: debug-private.h ../cups/versioning.h ppd-private.h
-testoptions.o: ../cups/ppd.h cups.h pwg-private.h http-private.h
-testoptions.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-testoptions.o: language-private.h ../cups/transcode.h thread-private.h
-testlang.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-testlang.o: array.h language.h string-private.h ../config.h debug-private.h
-testlang.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-testlang.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
-testlang.o: ipp-private.h ../cups/ipp.h language-private.h
-testlang.o: ../cups/transcode.h thread-private.h
-testppd.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-testppd.o: array.h language.h string-private.h ../config.h debug-private.h
-testppd.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-testppd.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
-testppd.o: ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-testppd.o: thread-private.h
-testpwg.o: ppd-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-testpwg.o: array.h language.h ../cups/ppd.h cups.h pwg-private.h
-testpwg.o: file-private.h cups-private.h string-private.h ../config.h
-testpwg.o: debug-private.h ../cups/versioning.h http-private.h ../cups/http.h
-testpwg.o: md5-private.h ipp-private.h ../cups/ipp.h language-private.h
-testpwg.o: ../cups/transcode.h thread-private.h
-testsnmp.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-testsnmp.o: array.h language.h string-private.h ../config.h debug-private.h
-testsnmp.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-testsnmp.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
-testsnmp.o: ipp-private.h ../cups/ipp.h language-private.h
-testsnmp.o: ../cups/transcode.h thread-private.h snmp-private.h
-# DO NOT DELETE
-
-adminutil.32.o: adminutil.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-adminutil.32.o: adminutil.c  array.h language.h string-private.h ../config.h debug-private.h
-adminutil.32.o: adminutil.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-adminutil.32.o: adminutil.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-adminutil.32.o: adminutil.c  ipp-private.h ../cups/ipp.h language-private.h
-adminutil.32.o: adminutil.c  ../cups/transcode.h thread-private.h adminutil.h
-array.32.o: array.c  string-private.h ../config.h debug-private.h ../cups/versioning.h
-array.32.o: array.c  array-private.h ../cups/array.h versioning.h
-attr.32.o: attr.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-attr.32.o: attr.c  array.h language.h string-private.h ../config.h debug-private.h
-attr.32.o: attr.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
-attr.32.o: attr.c  http-private.h ../cups/http.h md5-private.h ipp-private.h
-attr.32.o: attr.c  ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
-auth.32.o: auth.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-auth.32.o: auth.c  array.h language.h string-private.h ../config.h debug-private.h
-auth.32.o: auth.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
-auth.32.o: auth.c  http-private.h ../cups/http.h md5-private.h ipp-private.h
-auth.32.o: auth.c  ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
-backchannel.32.o: backchannel.c  cups.h
-backend.32.o: backend.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-backend.32.o: backend.c  array.h language.h string-private.h ../config.h debug-private.h
-backend.32.o: backend.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-backend.32.o: backend.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-backend.32.o: backend.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-backend.32.o: backend.c  thread-private.h backend.h
-conflicts.32.o: conflicts.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-conflicts.32.o: conflicts.c  array.h language.h string-private.h ../config.h debug-private.h
-conflicts.32.o: conflicts.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-conflicts.32.o: conflicts.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-conflicts.32.o: conflicts.c  ipp-private.h ../cups/ipp.h language-private.h
-conflicts.32.o: conflicts.c  ../cups/transcode.h thread-private.h
-custom.32.o: custom.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-custom.32.o: custom.c  array.h language.h string-private.h ../config.h debug-private.h
-custom.32.o: custom.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-custom.32.o: custom.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-custom.32.o: custom.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-custom.32.o: custom.c  thread-private.h
-debug.32.o: debug.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-debug.32.o: debug.c  array.h language.h string-private.h ../config.h debug-private.h
-debug.32.o: debug.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-debug.32.o: debug.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-debug.32.o: debug.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-debug.32.o: debug.c  thread-private.h
-dest.32.o: dest.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-dest.32.o: dest.c  array.h language.h string-private.h ../config.h debug-private.h
-dest.32.o: dest.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
-dest.32.o: dest.c  http-private.h ../cups/http.h md5-private.h ipp-private.h
-dest.32.o: dest.c  ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
-dir.32.o: dir.c  string-private.h ../config.h debug-private.h ../cups/versioning.h
-dir.32.o: dir.c  dir.h versioning.h
-emit.32.o: emit.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-emit.32.o: emit.c  array.h language.h string-private.h ../config.h debug-private.h
-emit.32.o: emit.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
-emit.32.o: emit.c  http-private.h ../cups/http.h md5-private.h ipp-private.h
-emit.32.o: emit.c  ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
-encode.32.o: encode.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-encode.32.o: encode.c  array.h language.h string-private.h ../config.h debug-private.h
-encode.32.o: encode.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-encode.32.o: encode.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-encode.32.o: encode.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-encode.32.o: encode.c  thread-private.h
-file.32.o: file.c  file-private.h cups-private.h ../cups/cups.h file.h versioning.h
-file.32.o: file.c  ipp.h http.h array.h language.h string-private.h ../config.h
-file.32.o: file.c  debug-private.h ../cups/versioning.h ppd-private.h ../cups/ppd.h
-file.32.o: file.c  cups.h pwg-private.h http-private.h ../cups/http.h md5-private.h
-file.32.o: file.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-file.32.o: file.c  thread-private.h
-getdevices.32.o: getdevices.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-getdevices.32.o: getdevices.c  array.h language.h string-private.h ../config.h debug-private.h
-getdevices.32.o: getdevices.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-getdevices.32.o: getdevices.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-getdevices.32.o: getdevices.c  ipp-private.h ../cups/ipp.h language-private.h
-getdevices.32.o: getdevices.c  ../cups/transcode.h thread-private.h
-getifaddrs.32.o: getifaddrs.c  http-private.h ../config.h ../cups/http.h md5-private.h
-getifaddrs.32.o: getifaddrs.c  ipp-private.h ../cups/ipp.h
-getputfile.32.o: getputfile.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-getputfile.32.o: getputfile.c  array.h language.h string-private.h ../config.h debug-private.h
-getputfile.32.o: getputfile.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-getputfile.32.o: getputfile.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-getputfile.32.o: getputfile.c  ipp-private.h ../cups/ipp.h language-private.h
-getputfile.32.o: getputfile.c  ../cups/transcode.h thread-private.h
-globals.32.o: globals.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-globals.32.o: globals.c  array.h language.h string-private.h ../config.h debug-private.h
-globals.32.o: globals.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-globals.32.o: globals.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-globals.32.o: globals.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-globals.32.o: globals.c  thread-private.h
-http.32.o: http.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-http.32.o: http.c  array.h language.h string-private.h ../config.h debug-private.h
-http.32.o: http.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
-http.32.o: http.c  http-private.h ../cups/http.h md5-private.h ipp-private.h
-http.32.o: http.c  ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
-http-addr.32.o: http-addr.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-http-addr.32.o: http-addr.c  array.h language.h string-private.h ../config.h debug-private.h
-http-addr.32.o: http-addr.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-http-addr.32.o: http-addr.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-http-addr.32.o: http-addr.c  ipp-private.h ../cups/ipp.h language-private.h
-http-addr.32.o: http-addr.c  ../cups/transcode.h thread-private.h
-http-addrlist.32.o: http-addrlist.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h
-http-addrlist.32.o: http-addrlist.c  http.h array.h language.h string-private.h ../config.h
-http-addrlist.32.o: http-addrlist.c  debug-private.h ../cups/versioning.h ppd-private.h
-http-addrlist.32.o: http-addrlist.c  ../cups/ppd.h cups.h pwg-private.h http-private.h
-http-addrlist.32.o: http-addrlist.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-http-addrlist.32.o: http-addrlist.c  language-private.h ../cups/transcode.h thread-private.h
-http-support.32.o: http-support.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h
-http-support.32.o: http-support.c  http.h array.h language.h string-private.h ../config.h
-http-support.32.o: http-support.c  debug-private.h ../cups/versioning.h ppd-private.h
-http-support.32.o: http-support.c  ../cups/ppd.h cups.h pwg-private.h http-private.h
-http-support.32.o: http-support.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-http-support.32.o: http-support.c  language-private.h ../cups/transcode.h thread-private.h
-ipp.32.o: ipp.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h array.h
-ipp.32.o: ipp.c  language.h string-private.h ../config.h debug-private.h
-ipp.32.o: ipp.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
-ipp.32.o: ipp.c  http-private.h ../cups/http.h md5-private.h ipp-private.h
-ipp.32.o: ipp.c  ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
-ipp-support.32.o: ipp-support.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-ipp-support.32.o: ipp-support.c  array.h language.h string-private.h ../config.h
-ipp-support.32.o: ipp-support.c  debug-private.h ../cups/versioning.h ppd-private.h
-ipp-support.32.o: ipp-support.c  ../cups/ppd.h cups.h pwg-private.h http-private.h
-ipp-support.32.o: ipp-support.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-ipp-support.32.o: ipp-support.c  language-private.h ../cups/transcode.h thread-private.h
-langprintf.32.o: langprintf.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-langprintf.32.o: langprintf.c  array.h language.h string-private.h ../config.h debug-private.h
-langprintf.32.o: langprintf.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-langprintf.32.o: langprintf.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-langprintf.32.o: langprintf.c  ipp-private.h ../cups/ipp.h language-private.h
-langprintf.32.o: langprintf.c  ../cups/transcode.h thread-private.h
-language.32.o: language.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-language.32.o: language.c  array.h language.h string-private.h ../config.h debug-private.h
-language.32.o: language.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-language.32.o: language.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-language.32.o: language.c  ipp-private.h ../cups/ipp.h language-private.h
-language.32.o: language.c  ../cups/transcode.h thread-private.h
-localize.32.o: localize.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-localize.32.o: localize.c  array.h language.h string-private.h ../config.h debug-private.h
-localize.32.o: localize.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-localize.32.o: localize.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-localize.32.o: localize.c  ipp-private.h ../cups/ipp.h language-private.h
-localize.32.o: localize.c  ../cups/transcode.h thread-private.h
-mark.32.o: mark.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-mark.32.o: mark.c  array.h language.h string-private.h ../config.h debug-private.h
-mark.32.o: mark.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
-mark.32.o: mark.c  http-private.h ../cups/http.h md5-private.h ipp-private.h
-mark.32.o: mark.c  ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
-md5.32.o: md5.c  md5-private.h string-private.h ../config.h
-md5passwd.32.o: md5passwd.c  http-private.h ../config.h ../cups/http.h md5-private.h
-md5passwd.32.o: md5passwd.c  ipp-private.h ../cups/ipp.h string-private.h
-notify.32.o: notify.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-notify.32.o: notify.c  array.h language.h string-private.h ../config.h debug-private.h
-notify.32.o: notify.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-notify.32.o: notify.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-notify.32.o: notify.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-notify.32.o: notify.c  thread-private.h
-options.32.o: options.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-options.32.o: options.c  array.h language.h string-private.h ../config.h debug-private.h
-options.32.o: options.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-options.32.o: options.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-options.32.o: options.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-options.32.o: options.c  thread-private.h
-page.32.o: page.c  string-private.h ../config.h debug-private.h ../cups/versioning.h
-page.32.o: page.c  ppd.h cups.h array.h versioning.h file.h
-ppd.32.o: ppd.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h array.h
-ppd.32.o: ppd.c  language.h string-private.h ../config.h debug-private.h
-ppd.32.o: ppd.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
-ppd.32.o: ppd.c  http-private.h ../cups/http.h md5-private.h ipp-private.h
-ppd.32.o: ppd.c  ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
-ppd-cache.32.o: ppd-cache.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-ppd-cache.32.o: ppd-cache.c  array.h language.h string-private.h ../config.h debug-private.h
-ppd-cache.32.o: ppd-cache.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-ppd-cache.32.o: ppd-cache.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-ppd-cache.32.o: ppd-cache.c  ipp-private.h ../cups/ipp.h language-private.h
-ppd-cache.32.o: ppd-cache.c  ../cups/transcode.h thread-private.h
-pwg-media.32.o: pwg-media.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-pwg-media.32.o: pwg-media.c  array.h language.h string-private.h ../config.h debug-private.h
-pwg-media.32.o: pwg-media.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-pwg-media.32.o: pwg-media.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-pwg-media.32.o: pwg-media.c  ipp-private.h ../cups/ipp.h language-private.h
-pwg-media.32.o: pwg-media.c  ../cups/transcode.h thread-private.h
-request.32.o: request.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-request.32.o: request.c  array.h language.h string-private.h ../config.h debug-private.h
-request.32.o: request.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-request.32.o: request.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-request.32.o: request.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-request.32.o: request.c  thread-private.h
-sidechannel.32.o: sidechannel.c  sidechannel.h versioning.h string-private.h ../config.h
-sidechannel.32.o: sidechannel.c  debug-private.h ../cups/versioning.h
-snmp.32.o: snmp.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-snmp.32.o: snmp.c  array.h language.h string-private.h ../config.h debug-private.h
-snmp.32.o: snmp.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
-snmp.32.o: snmp.c  http-private.h ../cups/http.h md5-private.h ipp-private.h
-snmp.32.o: snmp.c  ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
-snmp.32.o: snmp.c  snmp-private.h
-snprintf.32.o: snprintf.c  string-private.h ../config.h
-string.32.o: string.c  string-private.h ../config.h debug-private.h ../cups/versioning.h
-string.32.o: string.c  thread-private.h array.h versioning.h
-tempfile.32.o: tempfile.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-tempfile.32.o: tempfile.c  array.h language.h string-private.h ../config.h debug-private.h
-tempfile.32.o: tempfile.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-tempfile.32.o: tempfile.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-tempfile.32.o: tempfile.c  ipp-private.h ../cups/ipp.h language-private.h
-tempfile.32.o: tempfile.c  ../cups/transcode.h thread-private.h
-thread.32.o: thread.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-thread.32.o: thread.c  array.h language.h string-private.h ../config.h debug-private.h
-thread.32.o: thread.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-thread.32.o: thread.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-thread.32.o: thread.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-thread.32.o: thread.c  thread-private.h
-transcode.32.o: transcode.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-transcode.32.o: transcode.c  array.h language.h string-private.h ../config.h debug-private.h
-transcode.32.o: transcode.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-transcode.32.o: transcode.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-transcode.32.o: transcode.c  ipp-private.h ../cups/ipp.h language-private.h
-transcode.32.o: transcode.c  ../cups/transcode.h thread-private.h
-usersys.32.o: usersys.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-usersys.32.o: usersys.c  array.h language.h string-private.h ../config.h debug-private.h
-usersys.32.o: usersys.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-usersys.32.o: usersys.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-usersys.32.o: usersys.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-usersys.32.o: usersys.c  thread-private.h
-util.32.o: util.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-util.32.o: util.c  array.h language.h string-private.h ../config.h debug-private.h
-util.32.o: util.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
-util.32.o: util.c  http-private.h ../cups/http.h md5-private.h ipp-private.h
-util.32.o: util.c  ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
-testadmin.32.o: testadmin.c  adminutil.h cups.h string-private.h ../config.h
-testarray.32.o: testarray.c  string-private.h ../config.h debug-private.h
-testarray.32.o: testarray.c  ../cups/versioning.h array.h versioning.h dir.h
-testconflicts.32.o: testconflicts.c  cups.h ppd.h array.h versioning.h file.h string-private.h
-testconflicts.32.o: testconflicts.c  ../config.h
-testcups.32.o: testcups.c  string-private.h ../config.h cups.h ppd.h array.h versioning.h
-testcups.32.o: testcups.c  file.h
-testfile.32.o: testfile.c  string-private.h ../config.h debug-private.h ../cups/versioning.h
-testfile.32.o: testfile.c  file.h versioning.h
-testhttp.32.o: testhttp.c  string-private.h ../config.h http-private.h ../cups/http.h
-testhttp.32.o: testhttp.c  md5-private.h ipp-private.h ../cups/ipp.h
-testi18n.32.o: testi18n.c  string-private.h ../config.h language-private.h
-testi18n.32.o: testi18n.c  ../cups/transcode.h language.h array.h versioning.h
-testipp.32.o: testipp.c  file.h versioning.h string-private.h ../config.h ipp-private.h
-testipp.32.o: testipp.c  ../cups/ipp.h
-testoptions.32.o: testoptions.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-testoptions.32.o: testoptions.c  array.h language.h string-private.h ../config.h
-testoptions.32.o: testoptions.c  debug-private.h ../cups/versioning.h ppd-private.h
-testoptions.32.o: testoptions.c  ../cups/ppd.h cups.h pwg-private.h http-private.h
-testoptions.32.o: testoptions.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-testoptions.32.o: testoptions.c  language-private.h ../cups/transcode.h thread-private.h
-testlang.32.o: testlang.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-testlang.32.o: testlang.c  array.h language.h string-private.h ../config.h debug-private.h
-testlang.32.o: testlang.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-testlang.32.o: testlang.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-testlang.32.o: testlang.c  ipp-private.h ../cups/ipp.h language-private.h
-testlang.32.o: testlang.c  ../cups/transcode.h thread-private.h
-testppd.32.o: testppd.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-testppd.32.o: testppd.c  array.h language.h string-private.h ../config.h debug-private.h
-testppd.32.o: testppd.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-testppd.32.o: testppd.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-testppd.32.o: testppd.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-testppd.32.o: testppd.c  thread-private.h
-testpwg.32.o: testpwg.c  ppd-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-testpwg.32.o: testpwg.c  array.h language.h ../cups/ppd.h cups.h pwg-private.h
-testpwg.32.o: testpwg.c  file-private.h cups-private.h string-private.h ../config.h
-testpwg.32.o: testpwg.c  debug-private.h ../cups/versioning.h http-private.h ../cups/http.h
-testpwg.32.o: testpwg.c  md5-private.h ipp-private.h ../cups/ipp.h language-private.h
-testpwg.32.o: testpwg.c  ../cups/transcode.h thread-private.h
-testsnmp.32.o: testsnmp.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-testsnmp.32.o: testsnmp.c  array.h language.h string-private.h ../config.h debug-private.h
-testsnmp.32.o: testsnmp.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-testsnmp.32.o: testsnmp.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-testsnmp.32.o: testsnmp.c  ipp-private.h ../cups/ipp.h language-private.h
-testsnmp.32.o: testsnmp.c  ../cups/transcode.h thread-private.h snmp-private.h
-# DO NOT DELETE
-
-adminutil.64.o: adminutil.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-adminutil.64.o: adminutil.c  array.h language.h string-private.h ../config.h debug-private.h
-adminutil.64.o: adminutil.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-adminutil.64.o: adminutil.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-adminutil.64.o: adminutil.c  ipp-private.h ../cups/ipp.h language-private.h
-adminutil.64.o: adminutil.c  ../cups/transcode.h thread-private.h adminutil.h
-array.64.o: array.c  string-private.h ../config.h debug-private.h ../cups/versioning.h
-array.64.o: array.c  array-private.h ../cups/array.h versioning.h
-attr.64.o: attr.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-attr.64.o: attr.c  array.h language.h string-private.h ../config.h debug-private.h
-attr.64.o: attr.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
-attr.64.o: attr.c  http-private.h ../cups/http.h md5-private.h ipp-private.h
-attr.64.o: attr.c  ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
-auth.64.o: auth.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-auth.64.o: auth.c  array.h language.h string-private.h ../config.h debug-private.h
-auth.64.o: auth.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
-auth.64.o: auth.c  http-private.h ../cups/http.h md5-private.h ipp-private.h
-auth.64.o: auth.c  ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
-backchannel.64.o: backchannel.c  cups.h
-backend.64.o: backend.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-backend.64.o: backend.c  array.h language.h string-private.h ../config.h debug-private.h
-backend.64.o: backend.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-backend.64.o: backend.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-backend.64.o: backend.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-backend.64.o: backend.c  thread-private.h backend.h
-conflicts.64.o: conflicts.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-conflicts.64.o: conflicts.c  array.h language.h string-private.h ../config.h debug-private.h
-conflicts.64.o: conflicts.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-conflicts.64.o: conflicts.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-conflicts.64.o: conflicts.c  ipp-private.h ../cups/ipp.h language-private.h
-conflicts.64.o: conflicts.c  ../cups/transcode.h thread-private.h
-custom.64.o: custom.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-custom.64.o: custom.c  array.h language.h string-private.h ../config.h debug-private.h
-custom.64.o: custom.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-custom.64.o: custom.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-custom.64.o: custom.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-custom.64.o: custom.c  thread-private.h
-debug.64.o: debug.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-debug.64.o: debug.c  array.h language.h string-private.h ../config.h debug-private.h
-debug.64.o: debug.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-debug.64.o: debug.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-debug.64.o: debug.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-debug.64.o: debug.c  thread-private.h
-dest.64.o: dest.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-dest.64.o: dest.c  array.h language.h string-private.h ../config.h debug-private.h
-dest.64.o: dest.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
-dest.64.o: dest.c  http-private.h ../cups/http.h md5-private.h ipp-private.h
-dest.64.o: dest.c  ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
-dir.64.o: dir.c  string-private.h ../config.h debug-private.h ../cups/versioning.h
-dir.64.o: dir.c  dir.h versioning.h
-emit.64.o: emit.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-emit.64.o: emit.c  array.h language.h string-private.h ../config.h debug-private.h
-emit.64.o: emit.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
-emit.64.o: emit.c  http-private.h ../cups/http.h md5-private.h ipp-private.h
-emit.64.o: emit.c  ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
-encode.64.o: encode.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-encode.64.o: encode.c  array.h language.h string-private.h ../config.h debug-private.h
-encode.64.o: encode.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-encode.64.o: encode.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-encode.64.o: encode.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-encode.64.o: encode.c  thread-private.h
-file.64.o: file.c  file-private.h cups-private.h ../cups/cups.h file.h versioning.h
-file.64.o: file.c  ipp.h http.h array.h language.h string-private.h ../config.h
-file.64.o: file.c  debug-private.h ../cups/versioning.h ppd-private.h ../cups/ppd.h
-file.64.o: file.c  cups.h pwg-private.h http-private.h ../cups/http.h md5-private.h
-file.64.o: file.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-file.64.o: file.c  thread-private.h
-getdevices.64.o: getdevices.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-getdevices.64.o: getdevices.c  array.h language.h string-private.h ../config.h debug-private.h
-getdevices.64.o: getdevices.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-getdevices.64.o: getdevices.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-getdevices.64.o: getdevices.c  ipp-private.h ../cups/ipp.h language-private.h
-getdevices.64.o: getdevices.c  ../cups/transcode.h thread-private.h
-getifaddrs.64.o: getifaddrs.c  http-private.h ../config.h ../cups/http.h md5-private.h
-getifaddrs.64.o: getifaddrs.c  ipp-private.h ../cups/ipp.h
-getputfile.64.o: getputfile.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-getputfile.64.o: getputfile.c  array.h language.h string-private.h ../config.h debug-private.h
-getputfile.64.o: getputfile.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-getputfile.64.o: getputfile.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-getputfile.64.o: getputfile.c  ipp-private.h ../cups/ipp.h language-private.h
-getputfile.64.o: getputfile.c  ../cups/transcode.h thread-private.h
-globals.64.o: globals.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-globals.64.o: globals.c  array.h language.h string-private.h ../config.h debug-private.h
-globals.64.o: globals.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-globals.64.o: globals.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-globals.64.o: globals.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-globals.64.o: globals.c  thread-private.h
-http.64.o: http.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-http.64.o: http.c  array.h language.h string-private.h ../config.h debug-private.h
-http.64.o: http.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
-http.64.o: http.c  http-private.h ../cups/http.h md5-private.h ipp-private.h
-http.64.o: http.c  ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
-http-addr.64.o: http-addr.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-http-addr.64.o: http-addr.c  array.h language.h string-private.h ../config.h debug-private.h
-http-addr.64.o: http-addr.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-http-addr.64.o: http-addr.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-http-addr.64.o: http-addr.c  ipp-private.h ../cups/ipp.h language-private.h
-http-addr.64.o: http-addr.c  ../cups/transcode.h thread-private.h
-http-addrlist.64.o: http-addrlist.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h
-http-addrlist.64.o: http-addrlist.c  http.h array.h language.h string-private.h ../config.h
-http-addrlist.64.o: http-addrlist.c  debug-private.h ../cups/versioning.h ppd-private.h
-http-addrlist.64.o: http-addrlist.c  ../cups/ppd.h cups.h pwg-private.h http-private.h
-http-addrlist.64.o: http-addrlist.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-http-addrlist.64.o: http-addrlist.c  language-private.h ../cups/transcode.h thread-private.h
-http-support.64.o: http-support.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h
-http-support.64.o: http-support.c  http.h array.h language.h string-private.h ../config.h
-http-support.64.o: http-support.c  debug-private.h ../cups/versioning.h ppd-private.h
-http-support.64.o: http-support.c  ../cups/ppd.h cups.h pwg-private.h http-private.h
-http-support.64.o: http-support.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-http-support.64.o: http-support.c  language-private.h ../cups/transcode.h thread-private.h
-ipp.64.o: ipp.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h array.h
-ipp.64.o: ipp.c  language.h string-private.h ../config.h debug-private.h
-ipp.64.o: ipp.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
-ipp.64.o: ipp.c  http-private.h ../cups/http.h md5-private.h ipp-private.h
-ipp.64.o: ipp.c  ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
-ipp-support.64.o: ipp-support.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-ipp-support.64.o: ipp-support.c  array.h language.h string-private.h ../config.h
-ipp-support.64.o: ipp-support.c  debug-private.h ../cups/versioning.h ppd-private.h
-ipp-support.64.o: ipp-support.c  ../cups/ppd.h cups.h pwg-private.h http-private.h
-ipp-support.64.o: ipp-support.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-ipp-support.64.o: ipp-support.c  language-private.h ../cups/transcode.h thread-private.h
-langprintf.64.o: langprintf.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-langprintf.64.o: langprintf.c  array.h language.h string-private.h ../config.h debug-private.h
-langprintf.64.o: langprintf.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-langprintf.64.o: langprintf.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-langprintf.64.o: langprintf.c  ipp-private.h ../cups/ipp.h language-private.h
-langprintf.64.o: langprintf.c  ../cups/transcode.h thread-private.h
-language.64.o: language.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-language.64.o: language.c  array.h language.h string-private.h ../config.h debug-private.h
-language.64.o: language.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-language.64.o: language.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-language.64.o: language.c  ipp-private.h ../cups/ipp.h language-private.h
-language.64.o: language.c  ../cups/transcode.h thread-private.h
-localize.64.o: localize.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-localize.64.o: localize.c  array.h language.h string-private.h ../config.h debug-private.h
-localize.64.o: localize.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-localize.64.o: localize.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-localize.64.o: localize.c  ipp-private.h ../cups/ipp.h language-private.h
-localize.64.o: localize.c  ../cups/transcode.h thread-private.h
-mark.64.o: mark.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-mark.64.o: mark.c  array.h language.h string-private.h ../config.h debug-private.h
-mark.64.o: mark.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
-mark.64.o: mark.c  http-private.h ../cups/http.h md5-private.h ipp-private.h
-mark.64.o: mark.c  ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
-md5.64.o: md5.c  md5-private.h string-private.h ../config.h
-md5passwd.64.o: md5passwd.c  http-private.h ../config.h ../cups/http.h md5-private.h
-md5passwd.64.o: md5passwd.c  ipp-private.h ../cups/ipp.h string-private.h
-notify.64.o: notify.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-notify.64.o: notify.c  array.h language.h string-private.h ../config.h debug-private.h
-notify.64.o: notify.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-notify.64.o: notify.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-notify.64.o: notify.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-notify.64.o: notify.c  thread-private.h
-options.64.o: options.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-options.64.o: options.c  array.h language.h string-private.h ../config.h debug-private.h
-options.64.o: options.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-options.64.o: options.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-options.64.o: options.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-options.64.o: options.c  thread-private.h
-page.64.o: page.c  string-private.h ../config.h debug-private.h ../cups/versioning.h
-page.64.o: page.c  ppd.h cups.h array.h versioning.h file.h
-ppd.64.o: ppd.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h array.h
-ppd.64.o: ppd.c  language.h string-private.h ../config.h debug-private.h
-ppd.64.o: ppd.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
-ppd.64.o: ppd.c  http-private.h ../cups/http.h md5-private.h ipp-private.h
-ppd.64.o: ppd.c  ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
-ppd-cache.64.o: ppd-cache.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-ppd-cache.64.o: ppd-cache.c  array.h language.h string-private.h ../config.h debug-private.h
-ppd-cache.64.o: ppd-cache.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-ppd-cache.64.o: ppd-cache.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-ppd-cache.64.o: ppd-cache.c  ipp-private.h ../cups/ipp.h language-private.h
-ppd-cache.64.o: ppd-cache.c  ../cups/transcode.h thread-private.h
-pwg-media.64.o: pwg-media.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-pwg-media.64.o: pwg-media.c  array.h language.h string-private.h ../config.h debug-private.h
-pwg-media.64.o: pwg-media.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-pwg-media.64.o: pwg-media.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-pwg-media.64.o: pwg-media.c  ipp-private.h ../cups/ipp.h language-private.h
-pwg-media.64.o: pwg-media.c  ../cups/transcode.h thread-private.h
-request.64.o: request.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-request.64.o: request.c  array.h language.h string-private.h ../config.h debug-private.h
-request.64.o: request.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-request.64.o: request.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-request.64.o: request.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-request.64.o: request.c  thread-private.h
-sidechannel.64.o: sidechannel.c  sidechannel.h versioning.h string-private.h ../config.h
-sidechannel.64.o: sidechannel.c  debug-private.h ../cups/versioning.h
-snmp.64.o: snmp.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-snmp.64.o: snmp.c  array.h language.h string-private.h ../config.h debug-private.h
-snmp.64.o: snmp.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
-snmp.64.o: snmp.c  http-private.h ../cups/http.h md5-private.h ipp-private.h
-snmp.64.o: snmp.c  ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
-snmp.64.o: snmp.c  snmp-private.h
-snprintf.64.o: snprintf.c  string-private.h ../config.h
-string.64.o: string.c  string-private.h ../config.h debug-private.h ../cups/versioning.h
-string.64.o: string.c  thread-private.h array.h versioning.h
-tempfile.64.o: tempfile.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-tempfile.64.o: tempfile.c  array.h language.h string-private.h ../config.h debug-private.h
-tempfile.64.o: tempfile.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-tempfile.64.o: tempfile.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-tempfile.64.o: tempfile.c  ipp-private.h ../cups/ipp.h language-private.h
-tempfile.64.o: tempfile.c  ../cups/transcode.h thread-private.h
-thread.64.o: thread.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-thread.64.o: thread.c  array.h language.h string-private.h ../config.h debug-private.h
-thread.64.o: thread.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-thread.64.o: thread.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-thread.64.o: thread.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-thread.64.o: thread.c  thread-private.h
-transcode.64.o: transcode.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-transcode.64.o: transcode.c  array.h language.h string-private.h ../config.h debug-private.h
-transcode.64.o: transcode.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-transcode.64.o: transcode.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-transcode.64.o: transcode.c  ipp-private.h ../cups/ipp.h language-private.h
-transcode.64.o: transcode.c  ../cups/transcode.h thread-private.h
-usersys.64.o: usersys.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-usersys.64.o: usersys.c  array.h language.h string-private.h ../config.h debug-private.h
-usersys.64.o: usersys.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-usersys.64.o: usersys.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-usersys.64.o: usersys.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-usersys.64.o: usersys.c  thread-private.h
-util.64.o: util.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-util.64.o: util.c  array.h language.h string-private.h ../config.h debug-private.h
-util.64.o: util.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
-util.64.o: util.c  http-private.h ../cups/http.h md5-private.h ipp-private.h
-util.64.o: util.c  ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
-testadmin.64.o: testadmin.c  adminutil.h cups.h string-private.h ../config.h
-testarray.64.o: testarray.c  string-private.h ../config.h debug-private.h
-testarray.64.o: testarray.c  ../cups/versioning.h array.h versioning.h dir.h
-testconflicts.64.o: testconflicts.c  cups.h ppd.h array.h versioning.h file.h string-private.h
-testconflicts.64.o: testconflicts.c  ../config.h
-testcups.64.o: testcups.c  string-private.h ../config.h cups.h ppd.h array.h versioning.h
-testcups.64.o: testcups.c  file.h
-testfile.64.o: testfile.c  string-private.h ../config.h debug-private.h ../cups/versioning.h
-testfile.64.o: testfile.c  file.h versioning.h
-testhttp.64.o: testhttp.c  string-private.h ../config.h http-private.h ../cups/http.h
-testhttp.64.o: testhttp.c  md5-private.h ipp-private.h ../cups/ipp.h
-testi18n.64.o: testi18n.c  string-private.h ../config.h language-private.h
-testi18n.64.o: testi18n.c  ../cups/transcode.h language.h array.h versioning.h
-testipp.64.o: testipp.c  file.h versioning.h string-private.h ../config.h ipp-private.h
-testipp.64.o: testipp.c  ../cups/ipp.h
-testoptions.64.o: testoptions.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-testoptions.64.o: testoptions.c  array.h language.h string-private.h ../config.h
-testoptions.64.o: testoptions.c  debug-private.h ../cups/versioning.h ppd-private.h
-testoptions.64.o: testoptions.c  ../cups/ppd.h cups.h pwg-private.h http-private.h
-testoptions.64.o: testoptions.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-testoptions.64.o: testoptions.c  language-private.h ../cups/transcode.h thread-private.h
-testlang.64.o: testlang.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-testlang.64.o: testlang.c  array.h language.h string-private.h ../config.h debug-private.h
-testlang.64.o: testlang.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-testlang.64.o: testlang.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-testlang.64.o: testlang.c  ipp-private.h ../cups/ipp.h language-private.h
-testlang.64.o: testlang.c  ../cups/transcode.h thread-private.h
-testppd.64.o: testppd.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-testppd.64.o: testppd.c  array.h language.h string-private.h ../config.h debug-private.h
-testppd.64.o: testppd.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-testppd.64.o: testppd.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-testppd.64.o: testppd.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-testppd.64.o: testppd.c  thread-private.h
-testpwg.64.o: testpwg.c  ppd-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-testpwg.64.o: testpwg.c  array.h language.h ../cups/ppd.h cups.h pwg-private.h
-testpwg.64.o: testpwg.c  file-private.h cups-private.h string-private.h ../config.h
-testpwg.64.o: testpwg.c  debug-private.h ../cups/versioning.h http-private.h ../cups/http.h
-testpwg.64.o: testpwg.c  md5-private.h ipp-private.h ../cups/ipp.h language-private.h
-testpwg.64.o: testpwg.c  ../cups/transcode.h thread-private.h
-testsnmp.64.o: testsnmp.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
-testsnmp.64.o: testsnmp.c  array.h language.h string-private.h ../config.h debug-private.h
-testsnmp.64.o: testsnmp.c  ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
-testsnmp.64.o: testsnmp.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
-testsnmp.64.o: testsnmp.c  ipp-private.h ../cups/ipp.h language-private.h
-testsnmp.64.o: testsnmp.c  ../cups/transcode.h thread-private.h snmp-private.h
+adminutil.o: adminutil.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h adminutil.h
+array.o: array.c string-private.h ../config.h debug-private.h \
+  ../cups/versioning.h array-private.h ../cups/array.h
+attr.o: attr.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+auth.o: auth.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+backchannel.o: backchannel.c cups.h file.h versioning.h ipp.h http.h \
+  array.h language.h
+backend.o: backend.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h backend.h
+conflicts.o: conflicts.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+custom.o: custom.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+debug.o: debug.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+dest.o: dest.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+dest-job.o: dest-job.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+dest-localization.o: dest-localization.c cups-private.h string-private.h \
+  ../config.h debug-private.h ../cups/versioning.h ipp-private.h \
+  ../cups/ipp.h http.h array.h http-private.h md5-private.h \
+  language-private.h ../cups/transcode.h language.h pwg-private.h \
+  ../cups/cups.h file.h ppd-private.h ../cups/ppd.h thread-private.h
+dest-options.o: dest-options.c cups-private.h string-private.h \
+  ../config.h debug-private.h ../cups/versioning.h ipp-private.h \
+  ../cups/ipp.h http.h array.h http-private.h md5-private.h \
+  language-private.h ../cups/transcode.h language.h pwg-private.h \
+  ../cups/cups.h file.h ppd-private.h ../cups/ppd.h thread-private.h
+dir.o: dir.c string-private.h ../config.h debug-private.h \
+  ../cups/versioning.h dir.h
+emit.o: emit.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+encode.o: encode.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+file.o: file.c file-private.h cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+getdevices.o: getdevices.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+getifaddrs.o: getifaddrs.c http-private.h ../config.h ../cups/http.h \
+  versioning.h array.h md5-private.h ipp-private.h ../cups/ipp.h
+getputfile.o: getputfile.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+globals.o: globals.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+http.o: http.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+http-addr.o: http-addr.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+http-addrlist.o: http-addrlist.c cups-private.h string-private.h \
+  ../config.h debug-private.h ../cups/versioning.h ipp-private.h \
+  ../cups/ipp.h http.h array.h http-private.h md5-private.h \
+  language-private.h ../cups/transcode.h language.h pwg-private.h \
+  ../cups/cups.h file.h ppd-private.h ../cups/ppd.h thread-private.h
+http-support.o: http-support.c cups-private.h string-private.h \
+  ../config.h debug-private.h ../cups/versioning.h ipp-private.h \
+  ../cups/ipp.h http.h array.h http-private.h md5-private.h \
+  language-private.h ../cups/transcode.h language.h pwg-private.h \
+  ../cups/cups.h file.h ppd-private.h ../cups/ppd.h thread-private.h
+ipp.o: ipp.c cups-private.h string-private.h ../config.h debug-private.h \
+  ../cups/versioning.h ipp-private.h ../cups/ipp.h http.h array.h \
+  http-private.h md5-private.h language-private.h ../cups/transcode.h \
+  language.h pwg-private.h ../cups/cups.h file.h ppd-private.h \
+  ../cups/ppd.h thread-private.h
+ipp-support.o: ipp-support.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+langprintf.o: langprintf.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+language.o: language.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+localize.o: localize.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+mark.o: mark.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+md5.o: md5.c md5-private.h string-private.h ../config.h
+md5passwd.o: md5passwd.c http-private.h ../config.h ../cups/http.h \
+  versioning.h array.h md5-private.h ipp-private.h ../cups/ipp.h \
+  string-private.h
+notify.o: notify.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+options.o: options.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+page.o: page.c string-private.h ../config.h debug-private.h \
+  ../cups/versioning.h ppd.h cups.h file.h ipp.h http.h array.h \
+  language.h
+ppd.o: ppd.c cups-private.h string-private.h ../config.h debug-private.h \
+  ../cups/versioning.h ipp-private.h ../cups/ipp.h http.h array.h \
+  http-private.h md5-private.h language-private.h ../cups/transcode.h \
+  language.h pwg-private.h ../cups/cups.h file.h ppd-private.h \
+  ../cups/ppd.h thread-private.h
+ppd-cache.o: ppd-cache.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+pwg-media.o: pwg-media.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+request.o: request.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+sidechannel.o: sidechannel.c sidechannel.h versioning.h cups-private.h \
+  string-private.h ../config.h debug-private.h ipp-private.h \
+  ../cups/ipp.h http.h array.h http-private.h md5-private.h \
+  language-private.h ../cups/transcode.h language.h pwg-private.h \
+  ../cups/cups.h file.h ppd-private.h ../cups/ppd.h thread-private.h
+snmp.o: snmp.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h snmp-private.h
+snprintf.o: snprintf.c string-private.h ../config.h
+string.o: string.c string-private.h ../config.h debug-private.h \
+  ../cups/versioning.h thread-private.h array.h
+tempfile.o: tempfile.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+thread.o: thread.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+transcode.o: transcode.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+usersys.o: usersys.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+util.o: util.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+testadmin.o: testadmin.c adminutil.h cups.h file.h versioning.h ipp.h \
+  http.h array.h language.h string-private.h ../config.h
+testarray.o: testarray.c string-private.h ../config.h debug-private.h \
+  ../cups/versioning.h array.h dir.h
+testconflicts.o: testconflicts.c cups.h file.h versioning.h ipp.h http.h \
+  array.h language.h ppd.h string-private.h ../config.h
+testcups.o: testcups.c string-private.h ../config.h cups.h file.h \
+  versioning.h ipp.h http.h array.h language.h ppd.h
+testfile.o: testfile.c string-private.h ../config.h debug-private.h \
+  ../cups/versioning.h file.h
+testhttp.o: testhttp.c string-private.h ../config.h http-private.h \
+  ../cups/http.h versioning.h array.h md5-private.h ipp-private.h \
+  ../cups/ipp.h
+testi18n.o: testi18n.c string-private.h ../config.h language-private.h \
+  ../cups/transcode.h language.h array.h versioning.h
+testipp.o: testipp.c file.h versioning.h string-private.h ../config.h \
+  ipp-private.h ../cups/ipp.h http.h array.h
+testoptions.o: testoptions.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+testlang.o: testlang.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+testppd.o: testppd.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+testpwg.o: testpwg.c ppd-private.h ../cups/cups.h file.h versioning.h \
+  ipp.h http.h array.h language.h ../cups/ppd.h pwg-private.h \
+  file-private.h cups-private.h string-private.h ../config.h \
+  debug-private.h ipp-private.h http-private.h md5-private.h \
+  language-private.h ../cups/transcode.h thread-private.h
+testsnmp.o: testsnmp.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h snmp-private.h
index 1789c2c..662a00b 100644 (file)
@@ -1,9 +1,9 @@
 #
-# "$Id: Makefile 9979 2011-09-09 16:34:29Z mike $"
+# "$Id: Makefile 11173 2013-07-23 12:31:34Z msweet $"
 #
 #   API library Makefile for CUPS.
 #
-#   Copyright 2007-2011 by Apple Inc.
+#   Copyright 2007-2012 by Apple Inc.
 #   Copyright 1997-2006 by Easy Software Products, all rights reserved.
 #
 #   These coded instructions, statements, and computer programs are the
@@ -32,6 +32,9 @@ LIBOBJS       =       \
                custom.o \
                debug.o \
                dest.o \
+               dest-job.o \
+               dest-localization.o \
+               dest-options.o \
                dir.o \
                emit.o \
                encode.o \
@@ -68,12 +71,7 @@ LIBOBJS      =       \
                transcode.o \
                usersys.o \
                util.o
-LIB32OBJS      = $(LIBOBJS:.o=.32.o)
-LIB64OBJS      = $(LIBOBJS:.o=.64.o)
-OBJS   =       \
-               $(LIBOBJS) \
-               $(LIB32OBJS) \
-               $(LIB64OBJS) \
+TESTOBJS       = \
                testadmin.o \
                testarray.o \
                testconflicts.o \
@@ -87,6 +85,9 @@ OBJS  =       \
                testppd.o \
                testpwg.o \
                testsnmp.o
+OBJS   =       \
+               $(LIBOBJS) \
+               $(TESTOBJS)
 
 
 #
@@ -120,6 +121,7 @@ HEADERSPRIV =       \
                md5-private.h \
                ppd-private.h \
                pwg-private.h \
+               raster-private.h \
                snmp-private.h \
                string-private.h \
                thread-private.h
@@ -131,9 +133,7 @@ HEADERSPRIV =       \
 
 LIBTARGETS =   \
                $(LIBCUPSSTATIC) \
-               $(LIBCUPS) \
-               $(LIB32CUPS) \
-               $(LIB64CUPS)
+               $(LIBCUPS)
 
 UNITTARGETS =  \
                testadmin \
@@ -182,7 +182,6 @@ unittests:  $(UNITTARGETS)
 clean:
        $(RM) $(OBJS) $(TARGETS) $(UNITTARGETS)
        $(RM) libcups.so libcups.sl libcups.dylib
-       $(RM) -r 32bit 64bit
 
 
 #
@@ -190,13 +189,15 @@ clean:
 #
 
 depend:
-       touch Dependencies.tmp
-       makedepend -Y -I.. -fDependencies.tmp $(OBJS:.o=.c) >/dev/null 2>&1
-       $(RM) Dependencies
-       cp Dependencies.tmp Dependencies
-       sed -E -e '1,$$s/^([^.]+)\.o:/\1\.32.o: \1\.c /' Dependencies.tmp >>Dependencies
-       sed -E -e '1,$$s/^([^.]+)\.o:/\1\.64.o: \1\.c /' Dependencies.tmp >>Dependencies
-       $(RM) Dependencies.tmp
+       $(CC) -MM $(ALL_CFLAGS) $(OBJS:.o=.c) >Dependencies
+
+
+#
+# Run oclint to check code coverage...
+#
+
+oclint:
+       oclint -o=oclint.html -html $(LIBOBJS:.o=.c) -- $(ALL_CFLAGS)
 
 
 #
@@ -243,7 +244,7 @@ install-headers:
 # Install libraries...
 #
 
-install-libs: $(INSTALLSTATIC) $(INSTALL32) $(INSTALL64)
+install-libs: $(INSTALLSTATIC)
        echo Installing libraries in $(LIBDIR)...
        $(INSTALL_DIR) -m 755 $(LIBDIR)
        $(INSTALL_LIB) $(LIBCUPS) $(LIBDIR)
@@ -266,24 +267,12 @@ installstatic:
        $(RANLIB) $(LIBDIR)/$(LIBCUPSSTATIC)
        $(CHMOD) 555 $(LIBDIR)/$(LIBCUPSSTATIC)
 
-install32bit:
-       echo Installing libraries in $(LIB32DIR)...
-       $(INSTALL_DIR) -m 755 $(LIB32DIR)
-       $(INSTALL_LIB) 32bit/libcups.so.2 $(LIB32DIR)/libcups.so.2
-       $(LN) libcups.so.2 $(LIB32DIR)/libcups.so
-
-install64bit:
-       echo Installing libraries in $(LIB64DIR)...
-       $(INSTALL_DIR) -m 755 $(LIB64DIR)
-       $(INSTALL_LIB) 64bit/libcups.so.2 $(LIB64DIR)/libcups.so.2
-       $(LN) libcups.so.2 $(LIB64DIR)/libcups.so
-
 
 #
 # Uninstall object and target files...
 #
 
-uninstall: $(UNINSTALL32) $(UNINSTALL64)
+uninstall:
        $(RM) $(LIBDIR)/libcups.2.dylib
        $(RM) $(LIBDIR)/$(LIBCUPSSTATIC)
        $(RM) $(LIBDIR)/libcups.dylib
@@ -298,16 +287,6 @@ uninstall: $(UNINSTALL32) $(UNINSTALL64)
        done
        -$(RMDIR) $(INCLUDEDIR)/cups
 
-uninstall32bit:
-       $(RM) $(LIB32DIR)/libcups.so
-       $(RM) $(LIB32DIR)/libcups.so.2
-       -$(RMDIR) $(LIB32DIR)
-
-uninstall64bit:
-       $(RM) $(LIB64DIR)/libcups.so
-       $(RM) $(LIB64DIR)/libcups.so.2
-       -$(RMDIR) $(LIB64DIR)
-
 
 #
 # libcups.so.2, libcups.sl.2
@@ -322,32 +301,6 @@ libcups.so.2 libcups.sl.2: $(LIBOBJS)
 
 
 #
-# 32bit/libcups.so.2
-#
-
-32bit/libcups.so.2:    $(LIB32OBJS)
-       echo Linking 32-bit $@...
-       -mkdir 32bit
-       $(DSO) $(ARCH32FLAGS) $(DSO32FLAGS) -o $@ $(LIB32OBJS) $(LIBGSSAPI) \
-               $(DNSSDLIBS) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
-       $(RM) 32bit/libcups.so
-       $(LN) libcups.so.2 32bit/libcups.so
-
-
-#
-# 64bit/libcups.so.2
-#
-
-64bit/libcups.so.2:    $(LIB64OBJS)
-       echo Linking 64-bit $@...
-       -mkdir 64bit
-       $(DSO) $(ARCH64FLAGS) $(DSO64FLAGS) -o $@ $(LIB64OBJS) $(LIBGSSAPI) \
-               $(DNSSDLIBS) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
-       $(RM) 64bit/libcups.so
-       $(LN) libcups.so.2 64bit/libcups.so
-
-
-#
 # libcups.2.dylib
 #
 
@@ -359,7 +312,7 @@ libcups.2.dylib:    $(LIBOBJS) $(LIBCUPSORDER)
        echo Linking $@...
        $(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ \
                -install_name $(libdir)/$@ \
-               -current_version 2.9.0 \
+               -current_version 2.10.0 \
                -compatibility_version 2.0.0 \
                -exported_symbols_list t.exp \
                $(LIBOBJS) $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
@@ -388,7 +341,7 @@ libcups_s.a:        $(LIBOBJS) libcups_s.exp
 libcups.la:    $(LIBOBJS)
        echo Linking $@...
        $(CC) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS:.o=.lo) \
-               -rpath $(LIBDIR) -version-info 2:9 $(LIBGSSAPI) $(SSLLIBS) \
+               -rpath $(LIBDIR) -version-info 2:10 $(LIBGSSAPI) $(SSLLIBS) \
                $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
 
 
@@ -573,7 +526,7 @@ apihelp:
                --css ../doc/cups-printable.css \
                --header api-cups.header --intro api-cups.shtml \
                api-cups.xml \
-               cups.h adminutil.c dest.c language.c notify.c \
+               cups.h adminutil.c dest*.c language.c notify.c \
                options.c tempfile.c usersys.c \
                util.c >../doc/help/api-cups.html
        mxmldoc --tokens help/api-cups.html api-cups.xml >../doc/help/api-cups.tokens
@@ -585,7 +538,7 @@ apihelp:
                file.h file.c dir.h dir.c >../doc/help/api-filedir.html
        mxmldoc --tokens api-filedir.xml >../doc/help/api-filedir.tokens
        $(RM) api-filedir.xml
-       mxmldoc --section "Programming" --title "PPD API" \
+       mxmldoc --section "Programming" --title "PPD API (DEPRECATED)" \
                --css ../doc/cups-printable.css \
                --header api-ppd.header --intro api-ppd.shtml \
                api-ppd.xml \
@@ -628,7 +581,7 @@ framedhelp:
                --section "Programming" --title "CUPS API" \
                --css ../doc/cups-printable.css \
                --header api-cups.header --intro api-cups.shtml \
-               cups.h adminutil.c dest.c language.c notify.c \
+               cups.h adminutil.c dest*.c language.c notify.c \
                options.c tempfile.c usersys.c \
                util.c
        mxmldoc --framed api-filedir \
@@ -637,7 +590,7 @@ framedhelp:
                --header api-filedir.header --intro api-filedir.shtml \
                file.h file.c dir.h dir.c
        mxmldoc --framed api-ppd \
-               --section "Programming" --title "PPD API" \
+               --section "Programming" --title "PPD API (DEPRECATED)" \
                --css ../doc/cups-printable.css \
                --header api-ppd.header --intro api-ppd.shtml \
                ppd.h attr.c conflicts.c custom.c emit.c localize.c mark.c \
@@ -676,5 +629,5 @@ include Dependencies
 
 
 #
-# End of "$Id: Makefile 9979 2011-09-09 16:34:29Z mike $".
+# End of "$Id: Makefile 11173 2013-07-23 12:31:34Z msweet $".
 #
index 995704e..a5e2612 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: adminutil.c 9793 2011-05-20 03:49:49Z mike $"
+ * "$Id: adminutil.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Administration utility API definitions for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 2001-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -65,7 +65,7 @@ static void           write_option(cups_file_t *dstfp, int order,
 /*
  * 'cupsAdminCreateWindowsPPD()' - Create the Windows PPD file for a printer.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @deprecated@
  */
 
 char *                                 /* O - PPD file or NULL */
@@ -393,7 +393,7 @@ cupsAdminCreateWindowsPPD(
 /*
  * 'cupsAdminExportSamba()' - Export a printer to Samba.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @deprecated@
  */
 
 int                                    /* O - 1 on success, 0 on failure */
@@ -843,7 +843,7 @@ cupsAdminExportSamba(
  * The returned settings should be freed with cupsFreeOptions() when
  * you are done with them.
  *
- * @since CUPS 1.3/Mac OS X 10.5@
+ * @since CUPS 1.3/OS X 10.5@
  */
 
 int                                    /* O - 1 on success, 0 on failure */
@@ -970,8 +970,6 @@ cupsAdminGetServerSettings(
                remote_admin = 0,       /* Remote administration allowed? */
                remote_any = 0,         /* Remote access from anywhere allowed? */
                browsing = 1,           /* Browsing enabled? */
-               browse_allow = 1,       /* Browse address set? */
-               browse_address = 0,     /* Browse address set? */
                cancel_policy = 1,      /* Cancel-job policy set? */
                debug_logging = 0;      /* LogLevel debug set? */
     int                linenum = 0,            /* Line number in file */
@@ -1020,26 +1018,16 @@ cupsAdminGetServerSettings(
       }
       else if (!_cups_strcasecmp(line, "Browsing"))
       {
-       browsing = !_cups_strcasecmp(value, "yes") || !_cups_strcasecmp(value, "on") ||
+       browsing = !_cups_strcasecmp(value, "yes") ||
+                  !_cups_strcasecmp(value, "on") ||
                   !_cups_strcasecmp(value, "true");
       }
-      else if (!_cups_strcasecmp(line, "BrowseAddress"))
-      {
-       browse_address = 1;
-      }
-      else if (!_cups_strcasecmp(line, "BrowseAllow"))
-      {
-       browse_allow = 1;
-      }
-      else if (!_cups_strcasecmp(line, "BrowseOrder"))
-      {
-       browse_allow = !_cups_strncasecmp(value, "deny,", 5);
-      }
       else if (!_cups_strcasecmp(line, "LogLevel"))
       {
        debug_logging = !_cups_strncasecmp(value, "debug", 5);
       }
-      else if (!_cups_strcasecmp(line, "<Policy") && !_cups_strcasecmp(value, "default"))
+      else if (!_cups_strcasecmp(line, "<Policy") &&
+               !_cups_strcasecmp(value, "default"))
       {
        in_policy = 1;
       }
@@ -1063,7 +1051,8 @@ cupsAdminGetServerSettings(
          if (*valptr)
            *valptr++ = '\0';
 
-          if (!_cups_strcasecmp(value, "cancel-job") || !_cups_strcasecmp(value, "all"))
+          if (!_cups_strcasecmp(value, "cancel-job") ||
+              !_cups_strcasecmp(value, "all"))
          {
            in_cancel_job = 1;
            break;
@@ -1091,7 +1080,8 @@ cupsAdminGetServerSettings(
        in_location       = 0;
       }
       else if (!_cups_strcasecmp(line, "Allow") && value &&
-               _cups_strcasecmp(value, "localhost") && _cups_strcasecmp(value, "127.0.0.1")
+               _cups_strcasecmp(value, "localhost") &&
+               _cups_strcasecmp(value, "127.0.0.1")
 #ifdef AF_LOCAL
               && *value != '/'
 #endif /* AF_LOCAL */
@@ -1135,15 +1125,9 @@ cupsAdminGetServerSettings(
                                           cg->cupsd_num_settings,
                                           &(cg->cupsd_settings));
 
-    cg->cupsd_num_settings = cupsAddOption(CUPS_SERVER_REMOTE_PRINTERS,
-                                           (browsing && browse_allow) ?
-                                              "1" : "0",
-                                          cg->cupsd_num_settings,
-                                          &(cg->cupsd_settings));
-
     cg->cupsd_num_settings = cupsAddOption(CUPS_SERVER_SHARE_PRINTERS,
-                                           (remote_access && browsing &&
-                                           browse_address) ? "1" : "0",
+                                           (remote_access && browsing) ? "1" :
+                                                                         "0",
                                           cg->cupsd_num_settings,
                                           &(cg->cupsd_settings));
 
@@ -1175,7 +1159,7 @@ cupsAdminGetServerSettings(
 /*
  * 'cupsAdminSetServerSettings()' - Set settings on the server.
  *
- * @since CUPS 1.3/Mac OS X 10.5@
+ * @since CUPS 1.3/OS X 10.5@
  */
 
 int                                    /* O - 1 on success, 0 on failure */
@@ -1204,8 +1188,7 @@ cupsAdminSetServerSettings(
                in_conf_location,       /* In the /admin/conf location? */
                in_root_location;       /* In the / location? */
   const char   *val;                   /* Setting value */
-  int          remote_printers,        /* Show remote printers */
-               share_printers,         /* Share local printers */
+  int          share_printers,         /* Share local printers */
                remote_admin,           /* Remote administration allowed? */
                remote_any,             /* Remote access from anywhere? */
                user_cancel_any,        /* Cancel-job policy set? */
@@ -1219,8 +1202,7 @@ cupsAdminSetServerSettings(
                wrote_root_location;    /* Wrote the / location? */
   int          indent;                 /* Indentation */
   int          cupsd_num_settings;     /* New number of settings */
-  int          old_remote_printers,    /* Show remote printers */
-               old_share_printers,     /* Share local printers */
+  int          old_share_printers,     /* Share local printers */
                old_remote_admin,       /* Remote administration allowed? */
                old_user_cancel_any,    /* Cancel-job policy set? */
                old_debug_logging;      /* LogLevel debug set? */
@@ -1294,15 +1276,6 @@ cupsAdminSetServerSettings(
   DEBUG_printf(("1cupsAdminSetServerSettings: old remote_any=%d",
                 remote_any));
 
-  if ((val = cupsGetOption(CUPS_SERVER_REMOTE_PRINTERS, cupsd_num_settings,
-                           cupsd_settings)) != NULL)
-    old_remote_printers = atoi(val);
-  else
-    old_remote_printers = 1;
-
-  DEBUG_printf(("1cupsAdminSetServerSettings: old remote_printers=%d",
-                old_remote_printers));
-
   if ((val = cupsGetOption(CUPS_SERVER_SHARE_PRINTERS, cupsd_num_settings,
                            cupsd_settings)) != NULL)
     old_share_printers = atoi(val);
@@ -1374,26 +1347,6 @@ cupsAdminSetServerSettings(
   DEBUG_printf(("1cupsAdminSetServerSettings: remote_admin=%d",
                 remote_admin));
 
-  if ((val = cupsGetOption(CUPS_SERVER_REMOTE_PRINTERS, num_settings,
-                           settings)) != NULL)
-  {
-    remote_printers = atoi(val);
-
-    if (remote_printers == old_remote_printers)
-    {
-     /*
-      * No change to this setting...
-      */
-
-      remote_printers = -1;
-    }
-  }
-  else
-    remote_printers = -1;
-
-  DEBUG_printf(("1cupsAdminSetServerSettings: remote_printers=%d",
-                remote_printers));
-
   if ((val = cupsGetOption(CUPS_SERVER_SHARE_PRINTERS, num_settings,
                            settings)) != NULL)
   {
@@ -1517,80 +1470,33 @@ cupsAdminSetServerSettings(
         cupsFilePrintf(temp, "Listen %s\n", value);
     }
     else if ((!_cups_strcasecmp(line, "Browsing") ||
-              !_cups_strcasecmp(line, "BrowseAddress") ||
-              !_cups_strcasecmp(line, "BrowseAllow") ||
-              !_cups_strcasecmp(line, "BrowseDeny") ||
-              !_cups_strcasecmp(line, "BrowseLocalProtocols") ||
-              !_cups_strcasecmp(line, "BrowseRemoteProtocols") ||
-              !_cups_strcasecmp(line, "BrowseOrder")) &&
-            (remote_printers >= 0 || share_printers >= 0))
+              !_cups_strcasecmp(line, "BrowseLocalProtocols")) &&
+            share_printers >= 0)
     {
       if (!wrote_browsing)
       {
-       int new_remote_printers = (remote_printers > 0 ||
-                                  (remote_printers == -1 &&
-                                   old_remote_printers > 0));
        int new_share_printers = (share_printers > 0 ||
                                  (share_printers == -1 &&
                                   old_share_printers > 0));
 
         wrote_browsing = 1;
 
-        if (new_remote_printers || new_share_printers)
+        if (new_share_printers)
        {
          const char *localp = cupsGetOption("BrowseLocalProtocols",
                                             num_settings, settings);
-         const char *remotep = cupsGetOption("BrowseRemoteProtocols",
-                                             num_settings, settings);
 
           if (!localp || !localp[0])
            localp = cupsGetOption("BrowseLocalProtocols", cupsd_num_settings,
                                   cupsd_settings);
 
-          if (!remotep)
-           remotep = cupsGetOption("BrowseRemoteProtocols", cupsd_num_settings,
-                                   cupsd_settings);
-
-         if (new_remote_printers && new_share_printers)
-           cupsFilePuts(temp,
-                        "# Enable printer sharing and shared printers.\n");
-         else if (new_remote_printers)
-           cupsFilePuts(temp,
-                        "# Show shared printers on the local network.\n");
-         else
-           cupsFilePuts(temp,
-                        "# Share local printers on the local network.\n");
-
+         cupsFilePuts(temp, "# Share local printers on the local network.\n");
          cupsFilePuts(temp, "Browsing On\n");
-         cupsFilePuts(temp, "BrowseOrder allow,deny\n");
-
-         if (new_remote_printers)
-         {
-           cupsFilePuts(temp, "BrowseAllow all\n");
-
-           if (!remotep)
-             remotep = CUPS_DEFAULT_BROWSE_REMOTE_PROTOCOLS;
-
-           cupsFilePrintf(temp, "BrowseRemoteProtocols %s\n", remotep);
-          }
-         else
-           cupsFilePuts(temp, "BrowseRemoteProtocols\n");
 
-         cupsd_num_settings = cupsAddOption("BrowseRemoteProtocols", remotep,
-                                            cupsd_num_settings,
-                                            &cupsd_settings);
+         if (!localp)
+           localp = CUPS_DEFAULT_BROWSE_LOCAL_PROTOCOLS;
 
-         if (new_share_printers)
-         {
-           cupsFilePuts(temp, "BrowseAddress @LOCAL\n");
-
-           if (!localp)
-             localp = CUPS_DEFAULT_BROWSE_LOCAL_PROTOCOLS;
-
-           cupsFilePrintf(temp, "BrowseLocalProtocols %s\n", localp);
-         }
-         else
-           cupsFilePuts(temp, "BrowseLocalProtocols\n");
+         cupsFilePrintf(temp, "BrowseLocalProtocols %s\n", localp);
 
          cupsd_num_settings = cupsAddOption("BrowseLocalProtocols", localp,
                                             cupsd_num_settings,
@@ -1598,8 +1504,7 @@ cupsAdminSetServerSettings(
         }
        else
        {
-         cupsFilePuts(temp,
-                      "# Disable printer sharing and shared printers.\n");
+         cupsFilePuts(temp, "# Disable printer sharing.\n");
          cupsFilePuts(temp, "Browsing Off\n");
        }
       }
@@ -1865,25 +1770,12 @@ cupsAdminSetServerSettings(
   * Write any missing info...
   */
 
-  if (!wrote_browsing && (remote_printers >= 0 || share_printers >= 0))
+  if (!wrote_browsing && share_printers >= 0)
   {
-    if (remote_printers > 0 || share_printers > 0)
+    if (share_printers > 0)
     {
-      if (remote_printers > 0 && share_printers > 0)
-       cupsFilePuts(temp, "# Enable printer sharing and shared printers.\n");
-      else if (remote_printers > 0)
-       cupsFilePuts(temp, "# Show shared printers on the local network.\n");
-      else
-       cupsFilePuts(temp, "# Share local printers on the local network.\n");
-
+      cupsFilePuts(temp, "# Share local printers on the local network.\n");
       cupsFilePuts(temp, "Browsing On\n");
-      cupsFilePuts(temp, "BrowseOrder allow,deny\n");
-
-      if (remote_printers > 0)
-       cupsFilePuts(temp, "BrowseAllow all\n");
-
-      if (share_printers > 0)
-       cupsFilePuts(temp, "BrowseAddress @LOCAL\n");
     }
     else
     {
@@ -2090,15 +1982,6 @@ cupsAdminSetServerSettings(
                                        remote_any ? "1" : "0",
                                       cupsd_num_settings, &cupsd_settings);
 
-    if (remote_printers >= 0)
-      cupsd_num_settings = cupsAddOption(CUPS_SERVER_REMOTE_PRINTERS,
-                                        remote_printers ? "1" : "0",
-                                        cupsd_num_settings, &cupsd_settings);
-    else
-      cupsd_num_settings = cupsAddOption(CUPS_SERVER_REMOTE_PRINTERS,
-                                        old_remote_printers ? "1" : "0",
-                                        cupsd_num_settings, &cupsd_settings);
-
     if (share_printers >= 0)
       cupsd_num_settings = cupsAddOption(CUPS_SERVER_SHARE_PRINTERS,
                                         share_printers ? "1" : "0",
@@ -2454,5 +2337,5 @@ write_option(cups_file_t     *dstfp,      /* I - PPD file */
 
 
 /*
- * End of "$Id: adminutil.c 9793 2011-05-20 03:49:49Z mike $".
+ * End of "$Id: adminutil.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index ed3e235..d00452e 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: adminutil.h 9063 2010-04-01 17:01:09Z mike $"
+ * "$Id: adminutil.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Administration utility API definitions for CUPS.
  *
- *   Copyright 2007-2010 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 2001-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -42,7 +42,7 @@ extern "C" {
 #  define CUPS_SERVER_DEBUG_LOGGING    "_debug_logging"
 #  define CUPS_SERVER_REMOTE_ADMIN     "_remote_admin"
 #  define CUPS_SERVER_REMOTE_ANY       "_remote_any"
-#  define CUPS_SERVER_REMOTE_PRINTERS  "_remote_printers"
+/*#  define CUPS_SERVER_REMOTE_PRINTERS        "_remote_printers"*/
 #  define CUPS_SERVER_SHARE_PRINTERS   "_share_printers"
 #  define CUPS_SERVER_USER_CANCEL_ANY  "_user_cancel_any"
 
@@ -55,16 +55,19 @@ extern int  cupsAdminExportSamba(const char *dest, const char *ppd,
                                     const char *samba_server,
                                     const char *samba_user,
                                     const char *samba_password,
-                                    FILE *logfile) _CUPS_API_1_2;
+                                    FILE *logfile) _CUPS_DEPRECATED;
 extern char    *cupsAdminCreateWindowsPPD(http_t *http, const char *dest,
-                                          char *buffer, int bufsize) _CUPS_API_1_2;
+                                          char *buffer, int bufsize)
+                                          _CUPS_DEPRECATED;
 
 extern int     cupsAdminGetServerSettings(http_t *http,
                                           int *num_settings,
-                                          cups_option_t **settings) _CUPS_API_1_3;
+                                          cups_option_t **settings)
+                                          _CUPS_API_1_3;
 extern int     cupsAdminSetServerSettings(http_t *http,
                                           int num_settings,
-                                          cups_option_t *settings) _CUPS_API_1_3;
+                                          cups_option_t *settings)
+                                          _CUPS_API_1_3;
 
 
 #  ifdef __cplusplus
@@ -74,5 +77,5 @@ extern int    cupsAdminSetServerSettings(http_t *http,
 #endif /* !_CUPS_ADMINUTIL_H_ */
 
 /*
- * End of "$Id: adminutil.h 9063 2010-04-01 17:01:09Z mike $".
+ * End of "$Id: adminutil.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index 88e5341..4d5acf0 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-  "$Id: api-array.header 9771 2011-05-12 05:21:56Z mike $"
+  "$Id: api-array.header 7266 2008-01-29 02:15:29Z mike $"
 
   Array API header for CUPS.
 
index 7406a0d..7246a7b 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-  "$Id: api-array.shtml 9727 2011-04-28 21:20:12Z mike $"
+  "$Id: api-array.shtml 7616 2008-05-28 00:34:13Z mike $"
 
   Array API introduction for CUPS.
 
index 8e6d3c0..ac781af 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-  "$Id: api-cups.header 9771 2011-05-12 05:21:56Z mike $"
+  "$Id: api-cups.header 7279 2008-01-31 01:50:44Z mike $"
 
   CUPS API header for CUPS.
 
index dcc4fe9..caa96b9 100644 (file)
@@ -1,9 +1,9 @@
 <!--
-  "$Id: api-cups.shtml 9727 2011-04-28 21:20:12Z mike $"
+  "$Id: api-cups.shtml 7337 2008-02-22 04:44:04Z mike $"
 
   API introduction for CUPS.
 
-  Copyright 2007-2011 by Apple Inc.
+  Copyright 2007-2013 by Apple Inc.
   Copyright 1997-2006 by Easy Software Products, all rights reserved.
 
   These coded instructions, statements, and computer programs are the
@@ -183,7 +183,7 @@ int num_options = 0;
 <a href='#cups_option_t'>cups_option_t</a> *options = NULL;
 <a href='#cups_dest_t'>cups_dest_t</a> *dest;
 
-for (i = 0; i < dest->num_options; i ++)
+for (i = 0; i &lt; dest->num_options; i ++)
   num_options = <a href='#cupsAddOption'>cupsAddOption</a>(dest->options[i].name, dest->options[i].value,
                               num_options, &amp;options);
 </pre>
@@ -235,7 +235,7 @@ job_id = <a href='#cupsPrintFiles'>cupsPrintFiles</a>(dest->name, 3, files, "Tes
 
 <p>Finally, the <a href='#cupsCreateJob'><code>cupsCreateJob</code></a>
 function creates a new job with no files in it. Files are added using the
-<a href='#cupsStartDocument'><code>cupsStartDocument</code></a>, 
+<a href='#cupsStartDocument'><code>cupsStartDocument</code></a>,
 <a href='api-httpipp.html#cupsWriteRequestData'><code>cupsWriteRequestData</code></a>,
 and <a href='#cupsFinishDocument'><code>cupsFinishDocument</code></a> functions.
 The following example creates a job with 10 text files for printing:</p>
@@ -299,7 +299,7 @@ int num_jobs;
 <a href='#cups_job_t'>cups_job_t</a> *jobs;
 int i;
 ipp_jstate_t job_state = IPP_JOB_PENDING;
+
 while (job_state &lt; IPP_JOB_STOPPED)
 {
   /* Get my jobs (1) with any state (-1) */
index 63f6296..f9f5298 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-  "$Id: api-filedir.header 9771 2011-05-12 05:21:56Z mike $"
+  "$Id: api-filedir.header 7279 2008-01-31 01:50:44Z mike $"
 
   File and Directory API header for CUPS.
 
index 4a4a16f..96bf0fa 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-  "$Id: api-filedir.shtml 9727 2011-04-28 21:20:12Z mike $"
+  "$Id: api-filedir.shtml 7279 2008-01-31 01:50:44Z mike $"
 
   File and directory API introduction for CUPS.
 
index 54e1d89..5b7ee18 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-  "$Id: api-filter.header 9771 2011-05-12 05:21:56Z mike $"
+  "$Id: api-filter.header 7616 2008-05-28 00:34:13Z mike $"
 
   Filter and backend programming header for CUPS.
 
index edc822c..3f912ba 100644 (file)
@@ -1,9 +1,9 @@
 <!--
-  "$Id: api-filter.shtml 9799 2011-05-20 18:09:22Z mike $"
+  "$Id: api-filter.shtml 7677 2008-06-19 23:22:19Z mike $"
 
   Filter and backend programming introduction for CUPS.
 
-  Copyright 2007-2011 by Apple Inc.
+  Copyright 2007-2013 by Apple Inc.
   Copyright 1997-2006 by Easy Software Products, all rights reserved.
 
   These coded instructions, statements, and computer programs are the
@@ -81,7 +81,7 @@ directory to write to.</p>
 
 <p>In addition, some operating systems provide additional security mechanisms
 that further limit file system access, even for backends running as root. On
-Mac OS X, for example, no backend may write to a user's home directory.</p>
+OS X, for example, no backend may write to a user's home directory.</p>
 </blockquote>
 
 <h3><a name="SIGNALS">Canceled Jobs and Signal Handling</a></h3>
@@ -153,7 +153,7 @@ when running print filters and backends:</p>
 
        <dt>APPLE_LANGUAGE</dt>
        <dd>The Apple language identifier associated with the job
-       (Mac OS X only).</dd>
+       (OS X only).</dd>
 
        <dt>CHARSET</dt>
        <dd>The job character set, typically "utf-8".</dd>
@@ -474,7 +474,7 @@ sub-state and not an issue that applies when a job is not printing.</p>
 <blockquote><b>Note:</b>
 
 <p>"STATE:" messages often provide visible alerts to the user. For example,
-on Mac OS X setting a printer-state-reason value with an "-error" or
+on OS X setting a printer-state-reason value with an "-error" or
 "-warning" suffix will cause the printer's dock item to bounce if the
 corresponding reason is localized with a cupsIPPReason keyword in the
 printer's PPD file.</p>
@@ -488,7 +488,7 @@ from localizing the vendor-prefixed keyword in the PPD file - otherwise both
 the generic and vendor-specific keyword will be shown in the user
 interface.</p>
 
-</blockquote></dd>
+</blockquote>
 
 <h4><a name="REPORTING_SUPPLIES">Reporting Supply Levels</a></h4>
 
@@ -613,7 +613,7 @@ datalen = sizeof(data) - 1;
 status = <a href="#cupsSideChannelDoRequest">cupsSideChannelDoRequest</a>(CUPS_SC_CMD_GET_DEVICE_ID, data, &amp;datalen, 1.0);
 
 /* Use the returned value if OK was returned and the length is non-zero */
-if (status == CUPS_SC_STATUS_OK && datalen > 0)
+if (status == CUPS_SC_STATUS_OK &amp;&amp; datalen > 0)
   data[datalen] = '\0';
 else
   data[0] = '\0';
index 42dffb1..5f245d7 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-  "$Id: api-httpipp.header 9771 2011-05-12 05:21:56Z mike $"
+  "$Id: api-httpipp.header 7258 2008-01-28 00:15:05Z mike $"
 
   HTTP and IPP API header for CUPS.
 
index 484c00d..cd0fd53 100644 (file)
@@ -1,9 +1,9 @@
 <!--
-  "$Id: api-httpipp.shtml 9727 2011-04-28 21:20:12Z mike $"
+  "$Id: api-httpipp.shtml 7684 2008-06-23 16:47:38Z mike $"
 
   HTTP and IPP API introduction for CUPS.
 
-  Copyright 2007-2011 by Apple Inc.
+  Copyright 2007-2012 by Apple Inc.
   Copyright 1997-2006 by Easy Software Products, all rights reserved.
 
   These coded instructions, statements, and computer programs are the
@@ -29,35 +29,20 @@ The constant <code>CUPS_HTTP_DEFAULT</code> can be used with all of the
 <code>cups</code> functions to refer to the default CUPS server - the functions
 create a per-thread <a href='#http_t'><code>http_t</code></a> as needed.</p>
 
-<p>The IPP APIs use two structures for requests (messages sent to the CUPS
-scheduler) and responses (messages sent back to your application from the
-scheduler). The <a href='#ipp_t'><code>ipp_t</code></a> structure holds a
-complete request or response and is allocated using the
-<a href='#ippNew'><code>ippNew</code></a> or
-<a href='#ippNewRequest'><code>ippNewRequest</code></a> functions and
-freed using the <a href='#ippDelete'><code>ippDelete</code></a> function.</p>
-
-<p>The second structure is called
-<a href='#ipp_attribute_t'><code>ipp_attribute_t</code></a> and holds a
-single IPP attribute which consists of a group tag (<code>group_tag</code>), a
-value type tag (<code>value_tag</code>), the attribute name (<code>name</code>),
-and 1 or more values (<code>values[]</code>). Attributes are added to an
-<a href='#ipp_t'><code>ipp_t</code></a> structure using one of the
-<code>ippAdd</code> functions. For example, use
-<a href='#ippAddString'><code>ippAddString</code></a> to add a
-"requesting-user-name" string attribute to a request:</p>
+<p>The IPP APIs use two opaque structures for requests (messages sent to the CUPS scheduler) and responses (messages sent back to your application from the scheduler). The <a href='#ipp_t'><code>ipp_t</code></a> type holds a complete request or response and is allocated using the <a href='#ippNew'><code>ippNew</code></a> or <a href='#ippNewRequest'><code>ippNewRequest</code></a> functions and freed using the <a href='#ippDelete'><code>ippDelete</code></a> function.</p>
+
+<p>The second opaque structure is called <a href='#ipp_attribute_t'><code>ipp_attribute_t</code></a> and holds a single IPP attribute which consists of a group tag (<a href='#ippGetGroupTag'><code>ippGetGroupTag</code></a>), a value type tag (<a href='#ippGetValueTag'><code>ippGetValueTag</code></a>), the attribute name (<a href='#ippGetName'><code>ippGetName</code></a>), and 1 or more values (<a href='#ippGetCount'><code>ippGetCount</code></a>, <a href='#ippGetBoolean'><code>ippGetBoolean</code></a>, <a href='#ippGetCollection'><code>ippGetCollection</code></a>, <a href='#ippGetDate'><code>ippGetDate</code></a>, <a href='#ippGetInteger'><code>ippGetInteger</code></a>, <a href='#ippGetRange'><code>ippGetRange</code></a>, <a href='#ippGetResolution'><code>ippGetResolution</code></a>, and <a href='#ippGetString'><code>ippGetString</code></a>). Attributes are added to an <a href='#ipp_t'><code>ipp_t</code></a> pointer using one of the <code>ippAdd</code> functions. For example, use <a href='#ippAddString'><code>ippAddString</code></a> to add the "printer-uri" and "requesting-user-name" string attributes to a request:</p>
 
 <pre class='example'>
 <a href='#ipp_t'>ipp_t</a> *request = <a href='#ippNewRequest'>ippNewRequest</a>(IPP_GET_JOBS);
 
+<a href='#ippAddString'>ippAddString</a>(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri",
+             NULL, "ipp://localhost/printers/");
 <a href='#ippAddString'>ippAddString</a>(request, IPP_TAG_OPERATION, IPP_TAG_NAME, "requesting-user-name",
              NULL, cupsUser());
 </pre>
 
-<p>Once you have created an IPP request, use the <code>cups</code>
-functions to send the request to and read the response from the server.
-For example, the <a href='#cupsDoRequest'><code>cupsDoRequest</code></a>
-function can be used for simple query operations that do not involve files:</p>
+<p>Once you have created an IPP request, use the <code>cups</code> functions to send the request to and read the response from the server. For example, the <a href='#cupsDoRequest'><code>cupsDoRequest</code></a> function can be used for simple query operations that do not involve files:</p>
 
 <pre class='example'>
 #include &lt;cups/cups.h&gt;
@@ -67,6 +52,8 @@ function can be used for simple query operations that do not involve files:</p>
 {
   <a href='#ipp_t'>ipp_t</a> *request = <a href='#ippNewRequest'>ippNewRequest</a>(IPP_GET_JOBS);
 
+  <a href='#ippAddString'>ippAddString</a>(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri",
+               NULL, "ipp://localhost/printers/");
   <a href='#ippAddString'>ippAddString</a>(request, IPP_TAG_OPERATION, IPP_TAG_NAME, "requesting-user-name",
                NULL, cupsUser());
 
@@ -74,13 +61,7 @@ function can be used for simple query operations that do not involve files:</p>
 }
 </pre>
 
-<p>The <a href='#cupsDoRequest'><code>cupsDoRequest</code></a> function frees
-the request structure and returns an IPP response structure or NULL pointer if
-the request could not be sent to the server. Once you have a response from
-the server, you can either use the
-<a href='#ippFindAttribute'><code>ippFindAttribute</code></a> and
-<a href='#ippFindNextAttribute'><code>ippFindNextAttribute</code></a> functions
-to find specific attributes, for example:</p>
+<p>The <a href='#cupsDoRequest'><code>cupsDoRequest</code></a> function frees the request and returns an IPP response or <code>NULL</code> pointer if the request could not be sent to the server. Once you have a response from the server, you can either use the <a href='#ippFindAttribute'><code>ippFindAttribute</code></a> and <a href='#ippFindNextAttribute'><code>ippFindNextAttribute</code></a> functions to find specific attributes, for example:</p>
 
 <pre class='example'>
 <a href='#ipp_t'>ipp_t</a> *response;
@@ -89,25 +70,20 @@ to find specific attributes, for example:</p>
 attr = <a href='#ippFindAttribute'>ippFindAttribute</a>(response, "printer-state", IPP_TAG_ENUM);
 </pre>
 
-<p>You can also walk the list of attributes with a simple <code>for</code> loop
-like this:</p>
+<p>You can also walk the list of attributes with a simple <code>for</code> loop like this:</p>
 
 <pre class='example'>
 <a href='#ipp_t'>ipp_t</a> *response;
 <a href='#ipp_attribute_t'>ipp_attribute_t</a> *attr;
 
-for (attr = response->attrs; attr != NULL; attr = attr->next)
-  if (attr->name == NULL)
+for (attr = <a href='#ippFirstAttribute'>ippFirstAttribute</a>(response); attr != NULL; attr = <a href='#ippNextAttribute'>ippNextAttribute</a>(response))
+  if (ippGetName(attr) == NULL)
     puts("--SEPARATOR--");
   else
-    puts(attr->name);
+    puts(ippGetName(attr));
 </pre>
 
-<p>The <code>for</code> loop approach is normally used when collecting
-attributes for multiple objects (jobs, printers, etc.) in a response. Attributes
-with <code>NULL</code> names indicate a separator between the attributes of
-each object. For example, the following code will list the jobs returned from
-our previous <a href='#get_jobs'><code>get_jobs</code></a> example code:</p>
+<p>The <code>for</code> loop approach is normally used when collecting attributes for multiple objects (jobs, printers, etc.) in a response. Attributes with <code>NULL</code> names indicate a separator between the attributes of each object. For example, the following code will list the jobs returned from our previous <a href='#get_jobs'><code>get_jobs</code></a> example code:</p>
 
 <pre class='example'>
 <a href='#ipp_t'>ipp_t</a> *response = <a href='#get_jobs'>get_jobs</a>();
@@ -115,37 +91,55 @@ our previous <a href='#get_jobs'><code>get_jobs</code></a> example code:</p>
 if (response != NULL)
 {
   <a href='#ipp_attribute_t'>ipp_attribute_t</a> *attr;
+  const char *attrname;
   int job_id = 0;
-  char *job_name = NULL;
-  char *job_originating_user_name = NULL;
+  const char *job_name = NULL;
+  const char *job_originating_user_name = NULL;
 
   puts("Job ID  Owner             Title");
   puts("------  ----------------  ---------------------------------");
 
-  for (attr = response->attrs; attr != NULL; attr = attr->next)
+  for (attr = <a href='#ippFirstAttribute'>ippFirstAttribute</a>(response); attr != NULL; attr = <a href='#ippNextAttribute'>ippNextAttribute</a>(response))
   {
    /* Attributes without names are separators between jobs */
-    if (attr->name == NULL)
+    attrname = ippGetName(attr);
+    if (attrname == NULL)
     {
-      if (job_id > 0 &amp;&amp; job_name != NULL &amp;&amp; job_originating_user_name != NULL)
+      if (job_id > 0)
+      {
+        if (job_name == NULL)
+          job_name = "(withheld)";
+
+        if (job_originating_user_name == NULL)
+          job_originating_user_name = "(withheld)";
+
         printf("%5d  %-16s  %s\n", job_id, job_originating_user_name, job_name);
+      }
 
       job_id = 0;
       job_name = NULL;
       job_originating_user_name = NULL;
       continue;
     }
-    else if (!strcmp(attr->name, "job-id") &amp;&amp; attr->value_tag == IPP_TAG_INTEGER)
-      job_id = attr->values[0].integer;
-    else if (!strcmp(attr->name, "job-name") &amp;&amp; attr->value_tag == IPP_TAG_NAME)
-      job_name = attr->values[0].string.text;
-    else if (!strcmp(attr->name, "job-originating-user-name") &amp;&amp;
-             attr->value_tag == IPP_TAG_NAME)
-      job_originating_user_name = attr->values[0].string.text;
+    else if (!strcmp(attrname, "job-id") &amp;&amp; ippGetValueTag(attr) == IPP_TAG_INTEGER)
+      job_id = ippGetInteger(attr, 0);
+    else if (!strcmp(attrname, "job-name") &amp;&amp; ippGetValueTag(attr) == IPP_TAG_NAME)
+      job_name = ippGetString(attr, 0, NULL);
+    else if (!strcmp(attrname, "job-originating-user-name") &amp;&amp;
+             ippGetValueTag(attr) == IPP_TAG_NAME)
+      job_originating_user_name = ippGetString(attr, 0, NULL);
   }
 
-  if (job_id > 0 &amp;&amp; job_name != NULL &amp;&amp; job_originating_user_name != NULL)
+  if (job_id > 0)
+  {
+    if (job_name == NULL)
+      job_name = "(withheld)";
+
+    if (job_originating_user_name == NULL)
+      job_originating_user_name = "(withheld)";
+
     printf("%5d  %-16s  %s\n", job_id, job_originating_user_name, job_name);
+  }
 }
 </pre>
 
index 2dfcb56..ef0d051 100644 (file)
@@ -1,9 +1,9 @@
 <!--
-  "$Id: api-ppd.header 9771 2011-05-12 05:21:56Z mike $"
+  "$Id: api-ppd.header 7616 2008-05-28 00:34:13Z mike $"
 
   PPD API header for CUPS.
 
-  Copyright 2008-2011 by Apple Inc.
+  Copyright 2008-2012 by Apple Inc.
 
   These coded instructions, statements, and computer programs are the
   property of Apple Inc. and are protected by Federal copyright
@@ -12,7 +12,9 @@
   file is missing or damaged, see the license at "http://www.cups.org/".
 -->
 
-<h1 class='title'>PPD API</h1>
+<h1 class='title'>PPD API (DEPRECATED)</h1>
+
+<blockquote>The PPD API is deprecated starting in CUPS 1.6/OS X 10.8. Please use the new Job Ticket APIs in the <a href="api-cups.html">CUPS API</a> documentation. These functions will be removed in a future release of CUPS.</blockquote>
 
 <div class='summary'><table summary='General Information'>
 <thead>
index e9beb9b..6319f23 100644 (file)
@@ -1,9 +1,9 @@
 <!--
-  "$Id: api-ppd.shtml 9727 2011-04-28 21:20:12Z mike $"
+  "$Id: api-ppd.shtml 7616 2008-05-28 00:34:13Z mike $"
 
   PPD API introduction for CUPS.
 
-  Copyright 2007-2011 by Apple Inc.
+  Copyright 2007-2012 by Apple Inc.
   Copyright 1997-2006 by Easy Software Products, all rights reserved.
 
   These coded instructions, statements, and computer programs are the
@@ -15,6 +15,8 @@
 
 <h2 class='title'><a name='OVERVIEW'>Overview</a></h2>
 
+<blockquote>The PPD API is deprecated starting in CUPS 1.6/OS X 10.8. Please use the new Job Ticket APIs in the <a href="api-cups.html">CUPS API</a> documentation. These functions will be removed in a future release of CUPS.</blockquote>
+
 <p>The CUPS PPD API provides read-only access the data in PostScript Printer
 Description ("PPD") files which are used for all printers with a driver. With
 it you can obtain the data necessary to display printer options to users, mark
index b1348e7..b9d0b7f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: array-private.h 10035 2011-09-30 22:52:42Z mike $"
+ * "$Id: array-private.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Private array definitions for CUPS.
  *
@@ -47,5 +47,5 @@ extern cups_array_t   *_cupsArrayNewStrings(const char *s) _CUPS_API_1_5;
 #endif /* !_CUPS_ARRAY_PRIVATE_H_ */
 
 /*
- * End of "$Id: array-private.h 10035 2011-09-30 22:52:42Z mike $".
+ * End of "$Id: array-private.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index 3ae71e3..cd8f64d 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: array.c 9772 2011-05-12 05:46:30Z mike $"
+ * "$Id: array.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Sorted array routines for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -110,7 +110,7 @@ static int  cups_array_find(cups_array_t *a, void *e, int prev, int *rdiff);
  * appended at the end of the run of identical elements.  For unsorted arrays,
  * the element is appended to the end of the array.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - 1 on success, 0 on failure */
@@ -202,7 +202,7 @@ _cupsArrayAddStrings(cups_array_t *a,       /* I - Array */
  * The caller is responsible for freeing the memory used by the
  * elements themselves.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 void
@@ -244,7 +244,7 @@ cupsArrayClear(cups_array_t *a)             /* I - Array */
 /*
  * 'cupsArrayCount()' - Get the number of elements in the array.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - Number of elements */
@@ -271,7 +271,7 @@ cupsArrayCount(cups_array_t *a)             /* I - Array */
  * The current element is undefined until you call @link cupsArrayFind@,
  * @link cupsArrayFirst@, or @link cupsArrayIndex@, or @link cupsArrayLast@.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 void *                                 /* O - Element */
@@ -301,7 +301,7 @@ cupsArrayCurrent(cups_array_t *a)   /* I - Array */
  * The caller is responsible for freeing the memory used by the
  * elements themselves.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 void
@@ -345,7 +345,7 @@ cupsArrayDelete(cups_array_t *a)    /* I - Array */
 /*
  * 'cupsArrayDup()' - Duplicate the array.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 cups_array_t *                         /* O - Duplicate array */
@@ -430,7 +430,7 @@ cupsArrayDup(cups_array_t *a)               /* I - Array */
 /*
  * 'cupsArrayFind()' - Find an element in the array.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 void *                                 /* O - Element found or @code NULL@ */
@@ -525,7 +525,7 @@ cupsArrayFind(cups_array_t *a,              /* I - Array */
 /*
  * 'cupsArrayFirst()' - Get the first element in the array.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 void *                                 /* O - First element or @code NULL@ if the array is empty */
@@ -554,7 +554,7 @@ cupsArrayFirst(cups_array_t *a)             /* I - Array */
  * The current element is undefined until you call @link cupsArrayFind@,
  * @link cupsArrayFirst@, or @link cupsArrayIndex@, or @link cupsArrayLast@.
  *
- * @since CUPS 1.3/Mac OS X 10.5@
+ * @since CUPS 1.3/OS X 10.5@
  */
 
 int                                    /* O - Index of the current element, starting at 0 */
@@ -570,7 +570,7 @@ cupsArrayGetIndex(cups_array_t *a)  /* I - Array */
 /*
  * 'cupsArrayGetInsert()' - Get the index of the last inserted element.
  *
- * @since CUPS 1.3/Mac OS X 10.5@
+ * @since CUPS 1.3/OS X 10.5@
  */
 
 int                                    /* O - Index of the last inserted element, starting at 0 */
@@ -586,7 +586,7 @@ cupsArrayGetInsert(cups_array_t *a) /* I - Array */
 /*
  * 'cupsArrayIndex()' - Get the N-th element in the array.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 void *                                 /* O - N-th element or @code NULL@ */
@@ -609,7 +609,7 @@ cupsArrayIndex(cups_array_t *a,             /* I - Array */
  * inserted at the beginning of the run of identical elements.  For unsorted
  * arrays, the element is inserted at the beginning of the array.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - 0 on failure, 1 on success */
@@ -639,7 +639,7 @@ cupsArrayInsert(cups_array_t *a,    /* I - Array */
 /*
  * 'cupsArrayLast()' - Get the last element in the array.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 void *                                 /* O - Last element or @code NULL@ if the array is empty */
@@ -670,7 +670,7 @@ cupsArrayLast(cups_array_t *a)              /* I - Array */
  * data pointer argument can safely be omitted when not required so functions
  * like @code strcmp@ can be used for sorted string arrays.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 cups_array_t *                         /* O - Array */
@@ -692,7 +692,7 @@ cupsArrayNew(cups_array_func_t f,   /* I - Comparison function or @code NULL@ for
  * The hash function ("h") is used to implement cached lookups with the
  * specified hash size ("hsize").
  *
- * @since CUPS 1.3/Mac OS X 10.5@
+ * @since CUPS 1.3/OS X 10.5@
  */
 
 cups_array_t *                         /* O - Array */
@@ -722,7 +722,7 @@ cupsArrayNew2(cups_array_func_t  f, /* I - Comparison function or @code NULL@ fo
  * The free function ("cf") is used to automatically free/release elements when
  * removed or the array is deleted.
  *
- * @since CUPS 1.5/Mac OS X 10.7@
+ * @since CUPS 1.5/OS X 10.7@
  */
 
 cups_array_t *                         /* O - Array */
@@ -805,7 +805,7 @@ _cupsArrayNewStrings(const char *s) /* I - Comma-delimited strings or NULL */
  * @link cupsArrayFirst@, or @link cupsArrayIndex@, or @link cupsArrayLast@
  * to set the current element.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 void *                                 /* O - Next element or @code NULL@ */
@@ -838,7 +838,7 @@ cupsArrayNext(cups_array_t *a)              /* I - Array */
  * @link cupsArrayFirst@, or @link cupsArrayIndex@, or @link cupsArrayLast@
  * to set the current element.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 void *                                 /* O - Previous element or @code NULL@ */
@@ -871,7 +871,7 @@ cupsArrayPrev(cups_array_t *a)              /* I - Array */
  * The caller is responsible for freeing the memory used by the
  * removed element.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - 1 on success, 0 on failure */
@@ -936,7 +936,7 @@ cupsArrayRemove(cups_array_t *a,    /* I - Array */
 /*
  * 'cupsArrayRestore()' - Reset the current element to the last @link cupsArraySave@.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 void *                                 /* O - New current element */
@@ -967,7 +967,7 @@ cupsArrayRestore(cups_array_t *a)   /* I - Array */
  *
  * The save/restore stack is guaranteed to be at least 32 elements deep.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - 1 on success, 0 on failure */
@@ -989,7 +989,7 @@ cupsArraySave(cups_array_t *a)              /* I - Array */
 /*
  * 'cupsArrayUserData()' - Return the user data for an array.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 void *                                 /* O - User data */
@@ -1005,7 +1005,7 @@ cupsArrayUserData(cups_array_t *a)        /* I - Array */
 /*
  * 'cups_array_add()' - Insert or append an element to the array.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 static int                             /* O - 1 on success, 0 on failure */
@@ -1322,5 +1322,5 @@ cups_array_find(cups_array_t *a,  /* I - Array */
 
 
 /*
- * End of "$Id: array.c 9772 2011-05-12 05:46:30Z mike $".
+ * End of "$Id: array.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 30d9f1e..235fcc9 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: array.h 9348 2010-11-02 21:37:38Z mike $"
+ * "$Id: array.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Sorted array definitions for CUPS.
  *
@@ -88,5 +88,5 @@ extern void           *cupsArrayUserData(cups_array_t *a) _CUPS_API_1_2;
 #endif /* !_CUPS_ARRAY_H_ */
 
 /*
- * End of "$Id: array.h 9348 2010-11-02 21:37:38Z mike $".
+ * End of "$Id: array.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index ec00ac4..10d88dd 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: attr.c 9793 2011-05-20 03:49:49Z mike $"
+ * "$Id: attr.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   PPD model-specific attribute routines for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -30,7 +30,7 @@
 /*
  * 'ppdFindAttr()' - Find the first matching attribute.
  *
- * @since CUPS 1.1.19/Mac OS X 10.3@
+ * @since CUPS 1.1.19/OS X 10.3@
  */
 
 ppd_attr_t *                           /* O - Attribute or @code NULL@ if not found */
@@ -87,7 +87,7 @@ ppdFindAttr(ppd_file_t *ppd,          /* I - PPD file data */
 /*
  * 'ppdFindNextAttr()' - Find the next matching attribute.
  *
- * @since CUPS 1.1.19/Mac OS X 10.3@
+ * @since CUPS 1.1.19/OS X 10.3@
  */
 
 ppd_attr_t *                           /* O - Attribute or @code NULL@ if not found */
@@ -331,5 +331,5 @@ _ppdNormalizeMakeAndModel(
 
 
 /*
- * End of "$Id: attr.c 9793 2011-05-20 03:49:49Z mike $".
+ * End of "$Id: attr.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index f2fa373..e1fc2c9 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: auth.c 10288 2012-02-15 19:21:37Z mike $"
+ * "$Id: auth.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Authentication functions for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2013 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products.
  *
  *   This file contains Kerberos support code, copyright 2006 by
@@ -115,7 +115,7 @@ static int  cups_local_auth(http_t *http);
  * This function should be called in response to a @code HTTP_UNAUTHORIZED@
  * status, prior to resubmitting your request.
  *
- * @since CUPS 1.1.20/Mac OS X 10.4@
+ * @since CUPS 1.1.20/OS X 10.4@
  */
 
 int                                    /* O - 0 on success, -1 on error */
@@ -660,8 +660,7 @@ cups_local_auth(http_t *http)               /* I - HTTP connection to server */
   int                  pid;            /* Current process ID */
   FILE                 *fp;            /* Certificate file */
   char                 trc[16],        /* Try Root Certificate parameter */
-                       filename[1024], /* Certificate filename */
-                       certificate[33];/* Certificate string */
+                       filename[1024]; /* Certificate filename */
   _cups_globals_t *cg = _cupsGlobals();        /* Global data */
 #  if defined(HAVE_AUTHORIZATION_H)
   OSStatus             status;         /* Status */
@@ -855,19 +854,25 @@ cups_local_auth(http_t *http)             /* I - HTTP connection to server */
     * Read the certificate from the file...
     */
 
-    fgets(certificate, sizeof(certificate), fp);
+    char       certificate[33],        /* Certificate string */
+               *certptr;               /* Pointer to certificate string */
+
+    certptr = fgets(certificate, sizeof(certificate), fp);
     fclose(fp);
 
-   /*
-    * Set the authorization string and return...
-    */
+    if (certptr)
+    {
+     /*
+      * Set the authorization string and return...
+      */
 
-    httpSetAuthString(http, "Local", certificate);
+      httpSetAuthString(http, "Local", certificate);
 
-    DEBUG_printf(("8cups_local_auth: Returning authstring=\"%s\"",
-                 http->authstring));
+      DEBUG_printf(("8cups_local_auth: Returning authstring=\"%s\"",
+                   http->authstring));
 
-    return (0);
+      return (0);
+    }
   }
 
   return (1);
@@ -876,5 +881,5 @@ cups_local_auth(http_t *http)               /* I - HTTP connection to server */
 
 
 /*
- * End of "$Id: auth.c 10288 2012-02-15 19:21:37Z mike $".
+ * End of "$Id: auth.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index bcc4331..ffae80b 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: backchannel.c 9042 2010-03-24 00:45:34Z mike $"
+ * "$Id: backchannel.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Backchannel functions for CUPS.
  *
- *   Copyright 2007-2010 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -18,7 +18,7 @@
  *
  *   cupsBackChannelRead()  - Read data from the backchannel.
  *   cupsBackChannelWrite() - Write data to the backchannel.
- *   cups_setup()           - Setup select() 
+ *   cups_setup()           - Setup select()
  */
 
 /*
@@ -50,7 +50,7 @@ static void   cups_setup(fd_set *set, struct timeval *tval,
  * parameter controls how many seconds to wait for the data - use 0.0 to
  * return immediately if there is no data, -1.0 to wait for data indefinitely.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 ssize_t                                        /* O - Bytes read or -1 on error */
@@ -101,7 +101,7 @@ cupsBackChannelRead(char   *buffer, /* I - Buffer to read into */
  * 0.0 to return immediately if the data cannot be written, -1.0 to wait
  * indefinitely.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 ssize_t                                        /* O - Bytes written or -1 on error */
@@ -178,7 +178,7 @@ cupsBackChannelWrite(
 
 
 /*
- * 'cups_setup()' - Setup select() 
+ * 'cups_setup()' - Setup select()
  */
 
 static void
@@ -195,5 +195,5 @@ cups_setup(fd_set         *set,             /* I - Set for select() */
 
 
 /*
- * End of "$Id: backchannel.c 9042 2010-03-24 00:45:34Z mike $".
+ * End of "$Id: backchannel.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 49c396e..22b379e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: backend.c 10207 2012-01-30 21:50:42Z mike $"
+ * "$Id: backend.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Backend functions for CUPS.
  *
@@ -44,7 +44,7 @@ static void   quote_string(const char *s);
  * variable or the device URI passed in argv[0], whichever is found
  * first.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 const char *                           /* O - Device URI or @code NULL@ */
@@ -54,6 +54,8 @@ cupsBackendDeviceURI(char **argv)     /* I - Command-line arguments */
                *auth_info_required;    /* AUTH_INFO_REQUIRED env var */
   _cups_globals_t *cg = _cupsGlobals();        /* Global info */
   int          options;                /* Resolve options */
+  ppd_file_t   *ppd;                   /* PPD file */
+  ppd_attr_t   *ppdattr;               /* PPD attribute */
 
 
   if ((device_uri = getenv("DEVICE_URI")) == NULL)
@@ -69,6 +71,15 @@ cupsBackendDeviceURI(char **argv)    /* I - Command-line arguments */
       !strcmp(auth_info_required, "negotiate"))
     options |= _HTTP_RESOLVE_FQDN;
 
+  if ((ppd = ppdOpenFile(getenv("PPD"))) != NULL)
+  {
+    if ((ppdattr = ppdFindAttr(ppd, "cupsIPPFaxOut", NULL)) != NULL &&
+        !_cups_strcasecmp(ppdattr->value, "true"))
+      options |= _HTTP_RESOLVE_FAXOUT;
+
+    ppdClose(ppd);
+  }
+
   return (_httpResolveURI(device_uri, cg->resolved_uri,
                           sizeof(cg->resolved_uri), options, NULL, NULL));
 }
@@ -81,7 +92,7 @@ cupsBackendDeviceURI(char **argv)     /* I - Command-line arguments */
  * It handles quoting of special characters in the device-make-and-model,
  * device-info, device-id, and device-location strings.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 void
@@ -125,7 +136,7 @@ quote_string(const char *s)         /* I - String to write */
       if (*s == '\\' || *s == '\"')
        putchar('\\');
 
-      if (*s == '\n')
+      if (((*s & 255) < ' ' && *s != '\t') || *s == 0x7f)
         putchar(' ');
       else
         putchar(*s);
@@ -139,5 +150,5 @@ quote_string(const char *s)         /* I - String to write */
 
 
 /*
- * End of "$Id: backend.c 10207 2012-01-30 21:50:42Z mike $".
+ * End of "$Id: backend.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 09fca22..565960d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: backend.h 9771 2011-05-12 05:21:56Z mike $"
+ * "$Id: backend.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Backend definitions for CUPS.
  *
@@ -74,5 +74,5 @@ extern void           cupsBackendReport(const char *device_scheme,
 #endif /* !_CUPS_BACKEND_H_ */
 
 /*
- * End of "$Id: backend.h 9771 2011-05-12 05:21:56Z mike $".
+ * End of "$Id: backend.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index bc6bdc0..dcfd84d 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: conflicts.c 9829 2011-06-14 21:01:39Z mike $"
+ * "$Id: conflicts.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Option marking routines for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -79,7 +79,7 @@ static cups_array_t   *ppd_test_constraints(ppd_file_t *ppd,
  * the conflicting options.  The returned option array must be freed using
  * @link cupsFreeOptions@.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 int                                    /* O - Number of conflicting options */
@@ -178,7 +178,7 @@ cupsGetConflicts(
  * choice for the conflicting option, then iterating over all possible choices
  * until a non-conflicting option choice is found.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 int                                    /* O  - 1 on success, 0 on failure */
@@ -650,7 +650,7 @@ ppdConflicts(ppd_file_t *ppd)               /* I - PPD to check */
  * This function tests whether a particular option choice is available based
  * on constraints against options in the "InstallableOptions" group.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 int                                    /* O - 1 if conflicting, 0 if not conflicting */
@@ -1210,5 +1210,5 @@ ppd_test_constraints(
 
 
 /*
- * End of "$Id: conflicts.c 9829 2011-06-14 21:01:39Z mike $".
+ * End of "$Id: conflicts.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 5696e6b..6ef16b4 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: cups-private.h 9734 2011-05-02 23:33:49Z mike $"
+ * "$Id: cups-private.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Private definitions for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2013 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
  * Include necessary headers...
  */
 
-#  include <cups/cups.h>
 #  include "string-private.h"
 #  include "debug-private.h"
-#  include "ppd-private.h"
-#  include "http-private.h"
 #  include "ipp-private.h"
+#  include "http-private.h"
 #  include "language-private.h"
 #  include "pwg-private.h"
+#  include "ppd-private.h"
 #  include "thread-private.h"
+#  include <cups/cups.h>
 #  ifdef __APPLE__
 #    include <sys/cdefs.h>
 #    include <CoreFoundation/CoreFoundation.h>
@@ -50,6 +50,14 @@ extern "C" {
  * Types...
  */
 
+typedef struct _cups_buffer_s          /**** Read/write buffer ****/
+{
+  struct _cups_buffer_s        *next;          /* Next buffer in list */
+  size_t               size;           /* Size of buffer */
+  char                 used,           /* Is this buffer used? */
+                       d[1];           /* Data buffer */
+} _cups_buffer_t;
+
 typedef struct _cups_globals_s         /**** CUPS global state data ****/
 {
   /* Multiple places... */
@@ -95,7 +103,7 @@ typedef struct _cups_globals_s               /**** CUPS global state data ****/
 
   /* ipp.c */
   ipp_uchar_t          ipp_date[11];   /* RFC-1903 date/time data */
-  _ipp_buffer_t                *ipp_buffers;   /* Buffer list */
+  _cups_buffer_t       *cups_buffers;  /* Buffer list */
 
   /* ipp-support.c */
   int                  ipp_port;       /* IPP port number */
@@ -138,7 +146,8 @@ typedef struct _cups_globals_s              /**** CUPS global state data ****/
   http_encryption_t    encryption;     /* Encryption setting */
   char                 user[65],       /* User name */
                        server[256],    /* Server address */
-                       servername[256];/* Server hostname */
+                       servername[256],/* Server hostname */
+                       password[128];  /* Password for default callback */
   cups_password_cb2_t  password_cb;    /* Password callback */
   void                 *password_data; /* Password user data */
   http_tls_credentials_t tls_credentials;
@@ -149,7 +158,8 @@ typedef struct _cups_globals_s              /**** CUPS global state data ****/
   cups_server_cert_cb_t        server_cert_cb; /* Server certificate callback */
   void                 *server_cert_data;
                                        /* Server certificate user data */
-  int                  any_root,       /* Allow any root */
+  int                  server_version, /* Server IPP version */
+                       any_root,       /* Allow any root */
                        expired_certs,  /* Allow expired certs */
                        expired_root;   /* Allow expired root */
 
@@ -160,6 +170,49 @@ typedef struct _cups_globals_s             /**** CUPS global state data ****/
                                        /* PPD filename */
 } _cups_globals_t;
 
+typedef struct _cups_media_db_s                /* Media database */
+{
+  char         *color,                 /* Media color, if any */
+               *key,                   /* Media key, if any */
+               *info,                  /* Media human-readable name, if any */
+               *size_name,             /* Media PWG size name, if provided */
+               *source,                /* Media source, if any */
+               *type;                  /* Media type, if any */
+  int          width,                  /* Width in hundredths of millimeters */
+               length,                 /* Length in hundredths of
+                                        * millimeters */
+               bottom,                 /* Bottom margin in hundredths of
+                                        * millimeters */
+               left,                   /* Left margin in hundredths of
+                                        * millimeters */
+               right,                  /* Right margin in hundredths of
+                                        * millimeters */
+               top;                    /* Top margin in hundredths of
+                                        * millimeters */
+} _cups_media_db_t;
+
+typedef struct _cups_dconstres_s       /* Constraint/resolver */
+{
+  char *name;                          /* Name of resolver */
+  ipp_t        *collection;                    /* Collection containing attrs */
+} _cups_dconstres_t;
+
+struct _cups_dinfo_s                   /* Destination capability and status
+                                        * information */
+{
+  const char           *uri;           /* Printer URI */
+  char                 *resource;      /* Resource path */
+  ipp_t                        *attrs;         /* Printer attributes */
+  int                  num_defaults;   /* Number of default options */
+  cups_option_t                *defaults;      /* Default options */
+  cups_array_t         *constraints;   /* Job constraints */
+  cups_array_t         *resolvers;     /* Job resolvers */
+  cups_array_t         *localizations; /* Localization information */
+  cups_array_t         *media_db;      /* Media database */
+  _cups_media_db_t     min_size,       /* Minimum size */
+                       max_size;       /* Maximum size */
+};
+
 
 /*
  * Prototypes...
@@ -174,11 +227,17 @@ extern void               _cupsAppleSetDefaultPrinter(CFStringRef name);
 extern void            _cupsAppleSetUseLastPrinter(int uselast);
 #  endif /* __APPLE__ */
 
+extern char            *_cupsBufferGet(size_t size);
+extern void            _cupsBufferRelease(char *b);
+
 extern http_t          *_cupsConnect(void);
 extern int             _cupsGet1284Values(const char *device_id,
                                           cups_option_t **values);
+extern const char      *_cupsGetDestResource(cups_dest_t *dest, char *resource,
+                                             size_t resourcesize);
 extern int             _cupsGetDests(http_t *http, ipp_op_t op,
-                                     const char *name, cups_dest_t **dests);
+                                     const char *name, cups_dest_t **dests,
+                                     cups_ptype_t type, cups_ptype_t mask);
 extern const char      *_cupsGetPassword(const char *prompt);
 extern void            _cupsGlobalLock(void);
 extern _cups_globals_t *_cupsGlobals(void);
@@ -209,5 +268,5 @@ extern char         *_cupsUserDefault(char *name, size_t namesize);
 #endif /* !_CUPS_CUPS_PRIVATE_H_ */
 
 /*
- * End of "$Id: cups-private.h 9734 2011-05-02 23:33:49Z mike $".
+ * End of "$Id: cups-private.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index d47be7e..b6a2674 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: cups.h 10235 2012-02-06 20:54:37Z mike $"
+ * "$Id: cups.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   API definitions for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2013 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
 typedef off_t ssize_t;                 /* @private@ */
 #  endif /* WIN32 && !__CUPS_SSIZE_T_DEFINED */
 
+#  ifdef __BLOCKS__
+#    include <dispatch/dispatch.h>
+#  endif /* __BLOCKS__ */
+
 #  include "file.h"
 #  include "ipp.h"
 #  include "language.h"
 
 
 /*
- * With GCC 3.0 and higher, we can mark old APIs "deprecated" so you get
- * a warning at compile-time.
- */
-
-#  if defined(__GNUC__) && __GNUC__ > 2
-#    define _CUPS_DEPRECATED __attribute__ ((__deprecated__))
-#  else
-#    define _CUPS_DEPRECATED
-#  endif /* __GNUC__ && __GNUC__ > 2 */
-
-
-/*
  * C++ magic...
  */
 
@@ -60,37 +52,160 @@ extern "C" {
  * Constants...
  */
 
-#  define CUPS_VERSION         1.0503
-#  define CUPS_VERSION_MAJOR   1
-#  define CUPS_VERSION_MINOR   5
-#  define CUPS_VERSION_PATCH   3
-
-#  define CUPS_BC_FD           3       /* Back-channel file descriptor for select/poll */
-#  define CUPS_DATE_ANY                (time_t)-1
-#  define CUPS_EXCLUDE_NONE    (const char *)0
-#  define CUPS_FORMAT_AUTO     "application/octet-stream"
-#  define CUPS_FORMAT_COMMAND  "application/vnd.cups-command"
-#  define CUPS_FORMAT_PDF      "application/pdf"
-#  define CUPS_FORMAT_POSTSCRIPT "application/postscript"
-#  define CUPS_FORMAT_RAW      "application/vnd.cups-raw"
-#  define CUPS_FORMAT_TEXT     "text/plain"
-#  define CUPS_HTTP_DEFAULT    (http_t *)0
-#  define CUPS_INCLUDE_ALL     (const char *)0
-#  define CUPS_JOBID_ALL       -1
-#  define CUPS_JOBID_CURRENT   0
-#  define CUPS_LENGTH_VARIABLE (ssize_t)0
-#  define CUPS_TIMEOUT_DEFAULT 0
-#  define CUPS_WHICHJOBS_ALL   -1
-#  define CUPS_WHICHJOBS_ACTIVE        0
-#  define CUPS_WHICHJOBS_COMPLETED 1
+#  define CUPS_VERSION                 1.0604
+#  define CUPS_VERSION_MAJOR           1
+#  define CUPS_VERSION_MINOR           6
+#  define CUPS_VERSION_PATCH           4
+
+#  define CUPS_BC_FD                   3
+                                       /* Back-channel file descriptor for
+                                        * select/poll */
+#  define CUPS_DATE_ANY                        (time_t)-1
+#  define CUPS_EXCLUDE_NONE            (const char *)0
+#  define CUPS_FORMAT_AUTO             "application/octet-stream"
+#  define CUPS_FORMAT_COMMAND          "application/vnd.cups-command"
+#  define CUPS_FORMAT_JPEG             "image/jpeg"
+#  define CUPS_FORMAT_PDF              "application/pdf"
+#  define CUPS_FORMAT_POSTSCRIPT       "application/postscript"
+#  define CUPS_FORMAT_RAW              "application/vnd.cups-raw"
+#  define CUPS_FORMAT_TEXT             "text/plain"
+#  define CUPS_HTTP_DEFAULT            (http_t *)0
+#  define CUPS_INCLUDE_ALL             (const char *)0
+#  define CUPS_JOBID_ALL               -1
+#  define CUPS_JOBID_CURRENT           0
+#  define CUPS_LENGTH_VARIABLE         (ssize_t)0
+#  define CUPS_TIMEOUT_DEFAULT         0
+#  define CUPS_WHICHJOBS_ALL           -1
+#  define CUPS_WHICHJOBS_ACTIVE                0
+#  define CUPS_WHICHJOBS_COMPLETED     1
+
+/* Flags for cupsConnectDest and cupsEnumDests */
+#  define CUPS_DEST_FLAGS_NONE         0x00
+                                       /* No flags are set */
+#  define CUPS_DEST_FLAGS_UNCONNECTED  0x01
+                                       /* There is not connection */
+#  define CUPS_DEST_FLAGS_MORE         0x02
+                                       /* There are more destinations */
+#  define CUPS_DEST_FLAGS_REMOVED      0x04
+                                       /* The destination has gone away */
+#  define CUPS_DEST_FLAGS_ERROR                0x08
+                                       /* An error occurred */
+#  define CUPS_DEST_FLAGS_RESOLVING    0x10
+                                       /* The destination address is being
+                                        * resolved */
+#  define CUPS_DEST_FLAGS_CONNECTING   0x20
+                                       /* A connection is being established */
+#  define CUPS_DEST_FLAGS_CANCELED     0x40
+                                       /* Operation was canceled */
+
+/* Flags for cupsGetDestMediaByName/Size */
+#  define CUPS_MEDIA_FLAGS_DEFAULT     0x00
+                                       /* Find the closest size supported by
+                                        * the printer */
+#  define CUPS_MEDIA_FLAGS_BORDERLESS  0x01
+                                       /* Find a borderless size */
+#  define CUPS_MEDIA_FLAGS_DUPLEX      0x02
+                                       /* Find a size compatible with 2-sided
+                                        * printing */
+#  define CUPS_MEDIA_FLAGS_EXACT       0x04
+                                       /* Find an exact match for the size */
+#  define CUPS_MEDIA_FLAGS_READY       0x08
+                                       /* If the printer supports media
+                                        * sensing, find the size amongst the
+                                        * "ready" media. */
+
+/* Options and values */
+#  define CUPS_COPIES                  "copies"
+#  define CUPS_COPIES_SUPPORTED                "copies-supported"
+
+#  define CUPS_FINISHINGS              "finishings"
+#  define CUPS_FINISHINGS_SUPPORTED    "finishings-supported"
+
+#  define CUPS_FINISHINGS_BIND         "7"
+#  define CUPS_FINISHINGS_COVER                "6"
+#  define CUPS_FINISHINGS_FOLD         "10"
+#  define CUPS_FINISHINGS_NONE         "3"
+#  define CUPS_FINISHINGS_PUNCH                "5"
+#  define CUPS_FINISHINGS_STAPLE       "4"
+#  define CUPS_FINISHINGS_TRIM         "11"
+
+#  define CUPS_MEDIA                   "media"
+#  define CUPS_MEDIA_READY             "media-ready"
+#  define CUPS_MEDIA_SUPPORTED         "media-supported"
+
+#  define CUPS_MEDIA_3X5               "na_index-3x5_3x5in"
+#  define CUPS_MEDIA_4X6               "na_index-4x6_4x6in"
+#  define CUPS_MEDIA_5X7               "na_5x7_5x7in"
+#  define CUPS_MEDIA_8X10              "na_govt-letter_8x10in"
+#  define CUPS_MEDIA_A3                        "iso_a3_297x420mm"
+#  define CUPS_MEDIA_A4                        "iso_a4_210x297mm"
+#  define CUPS_MEDIA_A5                        "iso_a5_148x210mm"
+#  define CUPS_MEDIA_A6                        "iso_a6_105x148mm"
+#  define CUPS_MEDIA_ENV10             "na_number-10_4.125x9.5in"
+#  define CUPS_MEDIA_ENVDL             "iso_dl_110x220mm"
+#  define CUPS_MEDIA_LEGAL             "na_legal_8.5x14in"
+#  define CUPS_MEDIA_LETTER            "na_letter_8.5x11in"
+#  define CUPS_MEDIA_PHOTO_L           "oe_photo-l_3.5x5in"
+#  define CUPS_MEDIA_SUPERBA3          "na_super-b_13x19in"
+#  define CUPS_MEDIA_TABLOID           "na_ledger_11x17in"
+
+#  define CUPS_MEDIA_SOURCE            "media-source"
+#  define CUPS_MEDIA_SOURCE_SUPPORTED  "media-source-supported"
+
+#  define CUPS_MEDIA_SOURCE_AUTO       "auto"
+#  define CUPS_MEDIA_SOURCE_MANUAL     "manual"
+
+#  define CUPS_MEDIA_TYPE              "media-type"
+#  define CUPS_MEDIA_TYPE_SUPPORTED    "media-type-supported"
+
+#  define CUPS_MEDIA_TYPE_AUTO         "auto"
+#  define CUPS_MEDIA_TYPE_ENVELOPE     "envelope"
+#  define CUPS_MEDIA_TYPE_LABELS       "labels"
+#  define CUPS_MEDIA_TYPE_LETTERHEAD   "stationery-letterhead"
+#  define CUPS_MEDIA_TYPE_PHOTO                "photographic"
+#  define CUPS_MEDIA_TYPE_PHOTO_GLOSSY "photographic-glossy"
+#  define CUPS_MEDIA_TYPE_PHOTO_MATTE  "photographic-matte"
+#  define CUPS_MEDIA_TYPE_PLAIN                "stationery"
+#  define CUPS_MEDIA_TYPE_TRANSPARENCY "transparency"
+
+#  define CUPS_NUMBER_UP               "number-up"
+#  define CUPS_NUMBER_UP_SUPPORTED     "number-up-supported"
+
+#  define CUPS_ORIENTATION             "orientation-requested"
+#  define CUPS_ORIENTATION_SUPPORTED   "orientation-requested-supported"
+
+#  define CUPS_ORIENTATION_PORTRAIT    "3"
+#  define CUPS_ORIENTATION_LANDSCAPE   "4"
+
+#  define CUPS_PRINT_COLOR_MODE                "print-color-mode"
+#  define CUPS_PRINT_COLOR_MODE_SUPPORTED "print-color-mode-supported"
+
+#  define CUPS_PRINT_COLOR_MODE_AUTO   "auto"
+#  define CUPS_PRINT_COLOR_MODE_MONOCHROME "monochrome"
+#  define CUPS_PRINT_COLOR_MODE_COLOR  "color"
+
+#  define CUPS_PRINT_QUALITY           "print-quality"
+#  define CUPS_PRINT_QUALITY_SUPPORTED "print-quality-supported"
+
+#  define CUPS_PRINT_QUALITY_DRAFT     "3"
+#  define CUPS_PRINT_QUALITY_NORMAL    "4"
+#  define CUPS_PRINT_QUALITY_HIGH      "5"
+
+#  define CUPS_SIDES                   "sides"
+#  define CUPS_SIDES_SUPPORTED         "sides-supported"
+
+#  define CUPS_SIDES_ONE_SIDED         "one-sided"
+#  define CUPS_SIDES_TWO_SIDED_PORTRAIT        "two-sided-long-edge"
+#  define CUPS_SIDES_TWO_SIDED_LANDSCAPE "two-sided-short-edge"
 
 
 /*
  * Types and structures...
  */
 
-typedef unsigned cups_ptype_t;         /**** Printer type/capability bits ****/
-enum cups_ptype_e                      /**** Printer type/capability bit constants ****/
+typedef unsigned cups_ptype_t;         /* Printer type/capability bits */
+enum cups_ptype_e                      /* Printer type/capability bit
+                                        * constants */
 {                                      /* Not a typedef'd enum so we can OR */
   CUPS_PRINTER_LOCAL = 0x0000,         /* Local printer or class */
   CUPS_PRINTER_CLASS = 0x0001,         /* Printer class */
@@ -109,36 +224,32 @@ enum cups_ptype_e                 /**** Printer type/capability bit constants ****/
   CUPS_PRINTER_MEDIUM = 0x2000,                /* Can do Tabloid/B/C/A3/A2 */
   CUPS_PRINTER_LARGE = 0x4000,         /* Can do D/E/A1/A0 */
   CUPS_PRINTER_VARIABLE = 0x8000,      /* Can do variable sizes */
-  CUPS_PRINTER_IMPLICIT = 0x10000,     /* Implicit class */
+  CUPS_PRINTER_IMPLICIT = 0x10000,     /* Implicit class @private@
+                                        * @since Deprecated@ */
   CUPS_PRINTER_DEFAULT = 0x20000,      /* Default printer on network */
   CUPS_PRINTER_FAX = 0x40000,          /* Fax queue */
   CUPS_PRINTER_REJECTING = 0x80000,    /* Printer is rejecting jobs */
-  CUPS_PRINTER_DELETE = 0x100000,      /* Delete printer @since CUPS 1.2/Mac OS X 10.5@ */
-  CUPS_PRINTER_NOT_SHARED = 0x200000,  /* Printer is not shared @since CUPS 1.2/Mac OS X 10.5@ */
-  CUPS_PRINTER_AUTHENTICATED = 0x400000,/* Printer requires authentication @since CUPS 1.2/Mac OS X 10.5@ */
-  CUPS_PRINTER_COMMANDS = 0x800000,    /* Printer supports maintenance commands @since CUPS 1.2/Mac OS X 10.5@ */
-  CUPS_PRINTER_DISCOVERED = 0x1000000, /* Printer was automatically discovered and added @since CUPS 1.3/Mac OS X 10.5@ */
-  CUPS_PRINTER_SCANNER = 0x2000000,    /* Scanner-only device @since CUPS 1.4/Mac OS X 10.6@ */
-  CUPS_PRINTER_MFP = 0x4000000,                /* Printer with scanning capabilities @since CUPS 1.4/Mac OS X 10.6@ */
-  CUPS_PRINTER_OPTIONS = 0x6fffc       /* ~(CLASS | REMOTE | IMPLICIT | DEFAULT | FAX | REJECTING | DELETE | NOT_SHARED | AUTHENTICATED | COMMANDS | DISCOVERED) @private@ */
+  CUPS_PRINTER_DELETE = 0x100000,      /* Delete printer
+                                        * @since CUPS 1.2/OS X 10.5@ */
+  CUPS_PRINTER_NOT_SHARED = 0x200000,  /* Printer is not shared
+                                        * @since CUPS 1.2/OS X 10.5@ */
+  CUPS_PRINTER_AUTHENTICATED = 0x400000,/* Printer requires authentication
+                                        * @since CUPS 1.2/OS X 10.5@ */
+  CUPS_PRINTER_COMMANDS = 0x800000,    /* Printer supports maintenance commands
+                                        * @since CUPS 1.2/OS X 10.5@ */
+  CUPS_PRINTER_DISCOVERED = 0x1000000, /* Printer was automatically discovered
+                                        * and added @private@
+                                        * @since Deprecated@ */
+  CUPS_PRINTER_SCANNER = 0x2000000,    /* Scanner-only device
+                                        * @since CUPS 1.4/OS X 10.6@ */
+  CUPS_PRINTER_MFP = 0x4000000,                /* Printer with scanning capabilities
+                                        * @since CUPS 1.4/OS X 10.6@ */
+  CUPS_PRINTER_OPTIONS = 0x6fffc       /* ~(CLASS | REMOTE | IMPLICIT |
+                                        * DEFAULT | FAX | REJECTING | DELETE |
+                                        * NOT_SHARED | AUTHENTICATED |
+                                        * COMMANDS | DISCOVERED) @private@ */
 };
 
-typedef const char *(*cups_password_cb_t)(const char *prompt);
-                                       /**** Password callback ****/
-
-typedef const char *(*cups_password_cb2_t)(const char *prompt, http_t *http,
-                                          const char *method,
-                                          const char *resource,
-                                          void *user_data);
-                                       /**** New password callback @since CUPS 1.4/Mac OS X 10.6@ ****/
-
-typedef void (*cups_device_cb_t)(const char *device_class,
-                                 const char *device_id, const char *device_info,
-                                 const char *device_make_and_model,
-                                 const char *device_uri,
-                                const char *device_location, void *user_data);
-                                       /**** Device callback @since CUPS 1.4/Mac OS X 10.6@ ****/
-
 typedef struct cups_option_s           /**** Printer Options ****/
 {
   char         *name;                  /* Name of option */
@@ -154,6 +265,10 @@ typedef struct cups_dest_s         /**** Destination ****/
   cups_option_t        *options;               /* Options */
 } cups_dest_t;
 
+typedef struct _cups_dinfo_s cups_dinfo_t;
+                                       /* Destination capability and status
+                                        * information @since CUPS 1.6/OS X 10.8@ */
+
 typedef struct cups_job_s              /**** Job ****/
 {
   int          id;                     /* The job ID */
@@ -169,14 +284,61 @@ typedef struct cups_job_s         /**** Job ****/
   time_t       processing_time;        /* Time the job was processed */
 } cups_job_t;
 
+typedef struct cups_size_s             /**** Media Size @since CUPS 1.6/OS X 10.8@ ****/
+{
+  char         media[128];             /* Media name to use */
+  int          width,                  /* Width in hundredths of millimeters */
+               length,                 /* Length in hundredths of
+                                        * millimeters */
+               bottom,                 /* Bottom margin in hundredths of
+                                        * millimeters */
+               left,                   /* Left margin in hundredths of
+                                        * millimeters */
+               right,                  /* Right margin in hundredths of
+                                        * millimeters */
+               top;                    /* Top margin in hundredths of
+                                        * millimeters */
+} cups_size_t;
+
 typedef int (*cups_client_cert_cb_t)(http_t *http, void *tls,
                                     cups_array_t *distinguished_names,
                                     void *user_data);
-                                       /**** Client credentials callback @since CUPS 1.5/Mac OS X 10.7@ ****/
+                                       /* Client credentials callback
+                                        * @since CUPS 1.5/OS X 10.7@ */
+
+typedef int (*cups_dest_cb_t)(void *user_data, unsigned flags,
+                             cups_dest_t *dest);
+                                       /* Destination enumeration callback
+                                        * @since CUPS 1.6/OS X 10.8@ */
+
+#  ifdef __BLOCKS__
+typedef int (^cups_dest_block_t)(unsigned flags, cups_dest_t *dest);
+                                       /* Destination enumeration block
+                                        * @since CUPS 1.6/OS X 10.8@ */
+#  endif /* __BLOCKS__ */
+
+typedef void (*cups_device_cb_t)(const char *device_class,
+                                 const char *device_id, const char *device_info,
+                                 const char *device_make_and_model,
+                                 const char *device_uri,
+                                const char *device_location, void *user_data);
+                                       /* Device callback
+                                        * @since CUPS 1.4/OS X 10.6@ */
+
+typedef const char *(*cups_password_cb_t)(const char *prompt);
+                                       /* Password callback */
+
+typedef const char *(*cups_password_cb2_t)(const char *prompt, http_t *http,
+                                          const char *method,
+                                          const char *resource,
+                                          void *user_data);
+                                       /* New password callback
+                                        * @since CUPS 1.4/OS X 10.6@ */
 
 typedef int (*cups_server_cert_cb_t)(http_t *http, void *tls,
                                     cups_array_t *certs, void *user_data);
-                                       /**** Server credentials callback @since CUPS 1.5/Mac OS X 10.7@ ****/
+                                       /* Server credentials callback
+                                        * @since CUPS 1.5/OS X 10.7@ */
 
 
 /*
@@ -219,7 +381,8 @@ extern int          cupsAddOption(const char *name, const char *value,
                                      int num_options, cups_option_t **options);
 extern void            cupsEncodeOptions(ipp_t *ipp, int num_options,
                                          cups_option_t *options);
-extern void            cupsFreeOptions(int num_options, cups_option_t *options);
+extern void            cupsFreeOptions(int num_options,
+                                       cups_option_t *options);
 extern const char      *cupsGetOption(const char *name, int num_options,
                                       cups_option_t *options);
 extern int             cupsParseOptions(const char *arg, int num_options,
@@ -235,21 +398,25 @@ extern const char *cupsUser(void);
 
 /**** New in CUPS 1.1.20 ****/
 extern int             cupsDoAuthentication(http_t *http, const char *method,
-                                            const char *resource) _CUPS_API_1_1_20;
+                                            const char *resource)
+                                            _CUPS_API_1_1_20;
 extern http_status_t   cupsGetFile(http_t *http, const char *resource,
                                    const char *filename) _CUPS_API_1_1_20;
 extern http_status_t   cupsGetFd(http_t *http, const char *resource, int fd);
 extern http_status_t   cupsPutFile(http_t *http, const char *resource,
                                    const char *filename) _CUPS_API_1_1_20;
-extern http_status_t   cupsPutFd(http_t *http, const char *resource, int fd) _CUPS_API_1_1_20;
+extern http_status_t   cupsPutFd(http_t *http, const char *resource, int fd)
+                                 _CUPS_API_1_1_20;
 
 /**** New in CUPS 1.1.21 ****/
 extern const char      *cupsGetDefault2(http_t *http) _CUPS_API_1_1_21;
-extern int             cupsGetDests2(http_t *http, cups_dest_t **dests) _CUPS_API_1_1_21;
+extern int             cupsGetDests2(http_t *http, cups_dest_t **dests)
+                                     _CUPS_API_1_1_21;
 extern int             cupsGetJobs2(http_t *http, cups_job_t **jobs,
                                     const char *name, int myjobs,
                                     int whichjobs) _CUPS_API_1_1_21;
-extern const char      *cupsGetPPD2(http_t *http, const char *name) _CUPS_API_1_1_21;
+extern const char      *cupsGetPPD2(http_t *http, const char *name)
+                                    _CUPS_API_1_1_21;
 extern int             cupsPrintFile2(http_t *http, const char *name,
                                       const char *filename,
                                       const char *title, int num_options,
@@ -257,11 +424,12 @@ extern int                cupsPrintFile2(http_t *http, const char *name,
 extern int             cupsPrintFiles2(http_t *http, const char *name,
                                        int num_files, const char **files,
                                        const char *title, int num_options,
-                                       cups_option_t *options) _CUPS_API_1_1_21;
+                                       cups_option_t *options)
+                                       _CUPS_API_1_1_21;
 extern int             cupsSetDests2(http_t *http, int num_dests,
                                      cups_dest_t *dests) _CUPS_API_1_1_21;
 
-/**** New in CUPS 1.2/Mac OS X 10.5 ****/
+/**** New in CUPS 1.2/OS X 10.5 ****/
 extern ssize_t         cupsBackChannelRead(char *buffer, size_t bytes,
                                            double timeout) _CUPS_API_1_2;
 extern ssize_t         cupsBackChannelWrite(const char *buffer, size_t bytes,
@@ -270,26 +438,30 @@ extern void               cupsEncodeOptions2(ipp_t *ipp, int num_options,
                                           cups_option_t *options,
                                           ipp_tag_t group_tag) _CUPS_API_1_2;
 extern const char      *cupsLastErrorString(void) _CUPS_API_1_2;
-extern char            *cupsNotifySubject(cups_lang_t *lang, ipp_t *event) _CUPS_API_1_2;
-extern char            *cupsNotifyText(cups_lang_t *lang, ipp_t *event) _CUPS_API_1_2;
+extern char            *cupsNotifySubject(cups_lang_t *lang, ipp_t *event)
+                                          _CUPS_API_1_2;
+extern char            *cupsNotifyText(cups_lang_t *lang, ipp_t *event)
+                                       _CUPS_API_1_2;
 extern int             cupsRemoveOption(const char *name, int num_options,
                                         cups_option_t **options) _CUPS_API_1_2;
 extern cups_file_t     *cupsTempFile2(char *filename, int len) _CUPS_API_1_2;
 
-/**** New in CUPS 1.3/Mac OS X 10.5 ****/
+/**** New in CUPS 1.3/OS X 10.5 ****/
 extern ipp_t           *cupsDoIORequest(http_t *http, ipp_t *request,
                                         const char *resource, int infile,
                                         int outfile) _CUPS_API_1_3;
-extern char            *cupsGetServerPPD(http_t *http, const char *name) _CUPS_API_1_3;
+extern char            *cupsGetServerPPD(http_t *http, const char *name)
+                                         _CUPS_API_1_3;
 extern int             cupsRemoveDest(const char *name,
                                       const char *instance,
-                                      int num_dests, cups_dest_t **dests) _CUPS_API_1_3;
+                                      int num_dests, cups_dest_t **dests)
+                                      _CUPS_API_1_3;
 extern void            cupsSetDefaultDest(const char *name,
                                           const char *instance,
                                           int num_dests,
                                           cups_dest_t *dests) _CUPS_API_1_3;
 
-/**** New in CUPS 1.4/Mac OS X 10.6 ****/
+/**** New in CUPS 1.4/OS X 10.6 ****/
 extern ipp_status_t    cupsCancelJob2(http_t *http, const char *name,
                                       int job_id, int purge) _CUPS_API_1_4;
 extern int             cupsCreateJob(http_t *http, const char *name,
@@ -326,13 +498,97 @@ extern http_status_t      cupsStartDocument(http_t *http, const char *name,
 extern http_status_t   cupsWriteRequestData(http_t *http, const char *buffer,
                                             size_t length) _CUPS_API_1_4;
 
-/**** New in CUPS 1.5 ****/
+/**** New in CUPS 1.5/OS X 10.7 ****/
 extern void            cupsSetClientCertCB(cups_client_cert_cb_t cb,
                                            void *user_data) _CUPS_API_1_5;
 extern int             cupsSetCredentials(cups_array_t *certs) _CUPS_API_1_5;
 extern void            cupsSetServerCertCB(cups_server_cert_cb_t cb,
                                            void *user_data) _CUPS_API_1_5;
 
+/**** New in CUPS 1.6/OS X 10.8 ****/
+extern ipp_status_t    cupsCancelDestJob(http_t *http, cups_dest_t *dest,
+                                         int job_id) _CUPS_API_1_6;
+extern int             cupsCheckDestSupported(http_t *http, cups_dest_t *dest,
+                                              cups_dinfo_t *info,
+                                              const char *option,
+                                              const char *value) _CUPS_API_1_6;
+extern ipp_status_t    cupsCloseDestJob(http_t *http, cups_dest_t *dest,
+                                        cups_dinfo_t *info, int job_id)
+                                        _CUPS_API_1_6;
+extern http_t          *cupsConnectDest(cups_dest_t *dest, unsigned flags,
+                                        int msec, int *cancel,
+                                        char *resource, size_t resourcesize,
+                                        cups_dest_cb_t cb, void *user_data)
+                                        _CUPS_API_1_6;
+#  ifdef __BLOCKS__
+extern http_t          *cupsConnectDestBlock(cups_dest_t *dest,
+                                             unsigned flags, int msec,
+                                             int *cancel, char *resource,
+                                             size_t resourcesize,
+                                             cups_dest_block_t block)
+                                             _CUPS_API_1_6;
+#  endif /* __BLOCKS__ */
+extern int             cupsCopyDest(cups_dest_t *dest, int num_dests,
+                                    cups_dest_t **dests) _CUPS_API_1_6;
+extern cups_dinfo_t    *cupsCopyDestInfo(http_t *http, cups_dest_t *dest)
+                                         _CUPS_API_1_6;
+extern int             cupsCopyDestConflicts(http_t *http, cups_dest_t *dest,
+                                             cups_dinfo_t *info,
+                                             int num_options,
+                                             cups_option_t *options,
+                                             const char *new_option,
+                                             const char *new_value,
+                                             int *num_conflicts,
+                                             cups_option_t **conflicts,
+                                             int *num_resolved,
+                                             cups_option_t **resolved)
+                                             _CUPS_API_1_6;
+extern ipp_status_t    cupsCreateDestJob(http_t *http, cups_dest_t *dest,
+                                         cups_dinfo_t *info, int *job_id,
+                                         const char *title, int num_options,
+                                         cups_option_t *options) _CUPS_API_1_6;
+extern int             cupsEnumDests(unsigned flags, int msec, int *cancel,
+                                     cups_ptype_t type, cups_ptype_t mask,
+                                     cups_dest_cb_t cb, void *user_data)
+                                     _CUPS_API_1_6;
+#  ifdef __BLOCKS__
+extern int             cupsEnumDestsBlock(unsigned flags, int msec,
+                                          int *cancel, cups_ptype_t type,
+                                          cups_ptype_t mask,
+                                          cups_dest_block_t block)
+                                          _CUPS_API_1_6;
+#  endif /* __BLOCKS__ */
+extern ipp_status_t    cupsFinishDestDocument(http_t *http,
+                                              cups_dest_t *dest,
+                                              cups_dinfo_t *info)
+                                              _CUPS_API_1_6;
+extern void            cupsFreeDestInfo(cups_dinfo_t *dinfo) _CUPS_API_1_6;
+extern int             cupsGetDestMediaByName(http_t *http, cups_dest_t *dest,
+                                              cups_dinfo_t *dinfo,
+                                              const char *media,
+                                              unsigned flags,
+                                              cups_size_t *size) _CUPS_API_1_6;
+extern int             cupsGetDestMediaBySize(http_t *http, cups_dest_t *dest,
+                                              cups_dinfo_t *dinfo,
+                                              int width, int length,
+                                              unsigned flags,
+                                              cups_size_t *size) _CUPS_API_1_6;
+extern const char      *cupsLocalizeDestOption(http_t *http, cups_dest_t *dest,
+                                               cups_dinfo_t *info,
+                                               const char *option)
+                                               _CUPS_API_1_6;
+extern const char      *cupsLocalizeDestValue(http_t *http, cups_dest_t *dest,
+                                              cups_dinfo_t *info,
+                                              const char *option,
+                                              const char *value)
+                                              _CUPS_API_1_6;
+extern http_status_t   cupsStartDestDocument(http_t *http, cups_dest_t *dest,
+                                             cups_dinfo_t *info, int job_id,
+                                             const char *docname,
+                                             const char *format,
+                                             int num_options,
+                                             cups_option_t *options,
+                                             int last_document) _CUPS_API_1_6;
 
 #  ifdef __cplusplus
 }
@@ -341,5 +597,5 @@ extern void         cupsSetServerCertCB(cups_server_cert_cb_t cb,
 #endif /* !_CUPS_CUPS_H_ */
 
 /*
- * End of "$Id: cups.h 10235 2012-02-06 20:54:37Z mike $".
+ * End of "$Id: cups.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index ff0960d..09c3b71 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: custom.c 9793 2011-05-20 03:49:49Z mike $"
+ * "$Id: custom.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   PPD custom option routines for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -41,7 +41,7 @@
 /*
  * 'ppdFindCustomOption()' - Find a custom option.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 ppd_coption_t *                                /* O - Custom option or NULL */
@@ -62,7 +62,7 @@ ppdFindCustomOption(ppd_file_t *ppd,  /* I - PPD file */
 /*
  * 'ppdFindCustomParam()' - Find a parameter for a custom option.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 ppd_cparam_t *                         /* O - Custom parameter or NULL */
@@ -88,7 +88,7 @@ ppdFindCustomParam(ppd_coption_t *opt,        /* I - Custom option */
 /*
  * 'ppdFirstCustomParam()' - Return the first parameter for a custom option.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 ppd_cparam_t *                         /* O - Custom parameter or NULL */
@@ -104,7 +104,7 @@ ppdFirstCustomParam(ppd_coption_t *opt)     /* I - Custom option */
 /*
  * 'ppdNextCustomParam()' - Return the next parameter for a custom option.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 ppd_cparam_t *                         /* O - Custom parameter or NULL */
@@ -118,5 +118,5 @@ ppdNextCustomParam(ppd_coption_t *opt)      /* I - Custom option */
 
 
 /*
- * End of "$Id: custom.c 9793 2011-05-20 03:49:49Z mike $".
+ * End of "$Id: custom.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 38328a5..7a817ad 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: debug-private.h 10234 2012-02-06 19:35:59Z mike $"
+ * "$Id: debug-private.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Private debugging macros for CUPS.
  *
@@ -113,5 +113,5 @@ extern int  _cups_gettimeofday(struct timeval *tv, void *tz);
 #endif /* !_CUPS_DEBUG_PRIVATE_H_ */
 
 /*
- * End of "$Id: debug-private.h 10234 2012-02-06 19:35:59Z mike $".
+ * End of "$Id: debug-private.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index 4f09024..846d98b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: debug.c 10234 2012-02-06 19:35:59Z mike $"
+ * "$Id: debug.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Debugging functions for CUPS.
  *
@@ -654,5 +654,5 @@ _cups_debug_set(const char *logfile,        /* I - Log file or NULL */
 
 
 /*
- * End of "$Id: debug.c 10234 2012-02-06 19:35:59Z mike $".
+ * End of "$Id: debug.c 11173 2013-07-23 12:31:34Z msweet $".
  */
diff --git a/cups/dest-job.c b/cups/dest-job.c
new file mode 100644 (file)
index 0000000..a11386c
--- /dev/null
@@ -0,0 +1,358 @@
+/*
+ * "$Id: dest-job.c 11173 2013-07-23 12:31:34Z msweet $"
+ *
+ *   Destination job support for CUPS.
+ *
+ *   Copyright 2012 by Apple Inc.
+ *
+ *   These coded instructions, statements, and computer programs are the
+ *   property of Apple Inc. and are protected by Federal copyright
+ *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
+ *   which should have been included with this file.  If this file is
+ *   file is missing or damaged, see the license at "http://www.cups.org/".
+ *
+ *   This file is subject to the Apple OS-Developed Software exception.
+ *
+ * Contents:
+ *
+ *   cupsCancelDestJob()      - Cancel a job on a destination.
+ *   cupsCloseDestJob()       - Close a job and start printing.
+ *   cupsCreateDestJob()      - Create a job on a destination.
+ *   cupsFinishDestDocument() - Finish the current document.
+ *   cupsStartDestDocument()  - Start a new document.
+ */
+
+/*
+ * Include necessary headers...
+ */
+
+#include "cups-private.h"
+
+
+/*
+ * 'cupsCancelDestJob()' - Cancel a job on a destination.
+ *
+ * The "job_id" is the number returned by cupsCreateDestJob.
+ *
+ * Returns IPP_OK on success and IPP_NOT_AUTHORIZED or IPP_FORBIDDEN on
+ * failure.
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
+
+ipp_status_t
+cupsCancelDestJob(http_t      *http,   /* I - Connection to destination */
+                  cups_dest_t *dest,   /* I - Destination */
+                  int         job_id)  /* I - Job ID */
+{
+  return (IPP_NOT_FOUND);
+}
+
+
+/*
+ * 'cupsCloseDestJob()' - Close a job and start printing.
+ *
+ * Use when the last call to cupsStartDocument passed 0 for "last_document".
+ * "job_id" is the job ID returned by cupsCreateDestJob. Returns @code IPP_OK@
+ * on success.
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
+
+ipp_status_t                           /* O - IPP status code */
+cupsCloseDestJob(
+    http_t       *http,                        /* I - Connection to destination */
+    cups_dest_t  *dest,                        /* I - Destination */
+    cups_dinfo_t *info,                /* I - Destination information */
+    int          job_id)               /* I - Job ID */
+{
+  int                  i;              /* Looping var */
+  ipp_t                        *request = NULL;/* Close-Job/Send-Document request */
+  ipp_attribute_t      *attr;          /* operations-supported attribute */
+
+
+  DEBUG_printf(("cupsCloseDestJob(http=%p, dest=%p(%s/%s), info=%p, job_id=%d)",
+                http, dest, dest ? dest->name : NULL,
+                dest ? dest->instance : NULL, info, job_id));
+
+ /*
+  * Range check input...
+  */
+
+  if (!http || !dest || !info || job_id <= 0)
+  {
+    _cupsSetError(IPP_INTERNAL_ERROR, strerror(EINVAL), 0);
+    DEBUG_puts("1cupsCloseDestJob: Bad arguments.");
+    return (IPP_INTERNAL_ERROR);
+  }
+
+ /*
+  * Build a Close-Job or empty Send-Document request...
+  */
+
+  if ((attr = ippFindAttribute(info->attrs, "operations-supported",
+                               IPP_TAG_ENUM)) != NULL)
+  {
+    for (i = 0; i < attr->num_values; i ++)
+      if (attr->values[i].integer == IPP_CLOSE_JOB)
+      {
+        request = ippNewRequest(IPP_CLOSE_JOB);
+        break;
+      }
+  }
+
+  if (!request)
+    request = ippNewRequest(IPP_SEND_DOCUMENT);
+
+  if (!request)
+  {
+    _cupsSetError(IPP_INTERNAL_ERROR, strerror(ENOMEM), 0);
+    DEBUG_puts("1cupsCloseDestJob: Unable to create Close-Job/Send-Document "
+               "request.");
+    return (IPP_INTERNAL_ERROR);
+  }
+
+  ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri",
+               NULL, info->uri);
+  ippAddInteger(request, IPP_TAG_OPERATION, IPP_TAG_INTEGER, "job-id",
+                job_id);
+  ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_NAME, "requesting-user-name",
+               NULL, cupsUser());
+  if (ippGetOperation(request) == IPP_SEND_DOCUMENT)
+    ippAddBoolean(request, IPP_TAG_OPERATION, "last-document", 1);
+
+ /*
+  * Send the request and return the status...
+  */
+
+  ippDelete(cupsDoRequest(http, request, info->resource));
+
+  DEBUG_printf(("1cupsCloseDestJob: %s (%s)", ippErrorString(cupsLastError()),
+                cupsLastErrorString()));
+
+  return (cupsLastError());
+}
+
+
+/*
+ * 'cupsCreateDestJob()' - Create a job on a destination.
+ *
+ * Returns @code IPP_OK@ or @code IPP_OK_SUBST@ on success, saving the job ID
+ * in the variable pointed to by "job_id".
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
+
+ipp_status_t                           /* O - IPP status code */
+cupsCreateDestJob(
+    http_t        *http,               /* I - Connection to destination */
+    cups_dest_t   *dest,               /* I - Destination */
+    cups_dinfo_t  *info,               /* I - Destination information */
+    int           *job_id,             /* O - Job ID or 0 on error */
+    const char    *title,              /* I - Job name */
+    int           num_options,         /* I - Number of job options */
+    cups_option_t *options)            /* I - Job options */
+{
+  ipp_t                        *request,       /* Create-Job request */
+                       *response;      /* Create-Job response */
+  ipp_attribute_t      *attr;          /* job-id attribute */
+
+
+  DEBUG_printf(("cupsCreateDestJob(http=%p, dest=%p(%s/%s), info=%p, "
+                "job_id=%p, title=\"%s\", num_options=%d, options=%p)",
+                http, dest, dest ? dest->name : NULL,
+                dest ? dest->instance : NULL, info, job_id, title, num_options,
+                options));
+
+ /*
+  * Range check input...
+  */
+
+  if (job_id)
+    *job_id = 0;
+
+  if (!http || !dest || !info || !job_id)
+  {
+    _cupsSetError(IPP_INTERNAL_ERROR, strerror(EINVAL), 0);
+    DEBUG_puts("1cupsCreateDestJob: Bad arguments.");
+    return (IPP_INTERNAL_ERROR);
+  }
+
+ /*
+  * Build a Create-Job request...
+  */
+
+  if ((request = ippNewRequest(IPP_CREATE_JOB)) == NULL)
+  {
+    _cupsSetError(IPP_INTERNAL_ERROR, strerror(ENOMEM), 0);
+    DEBUG_puts("1cupsCreateDestJob: Unable to create Create-Job request.");
+    return (IPP_INTERNAL_ERROR);
+  }
+
+  ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri",
+               NULL, info->uri);
+  ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_NAME, "requesting-user-name",
+               NULL, cupsUser());
+  if (title)
+    ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_NAME, "job-name", NULL,
+                 title);
+
+  cupsEncodeOptions2(request, num_options, options, IPP_TAG_JOB);
+  cupsEncodeOptions2(request, num_options, options, IPP_TAG_SUBSCRIPTION);
+
+ /*
+  * Send the request and get the job-id...
+  */
+
+  response = cupsDoRequest(http, request, info->resource);
+
+  if ((attr = ippFindAttribute(response, "job-id", IPP_TAG_INTEGER)) != NULL)
+  {
+    *job_id = attr->values[0].integer;
+    DEBUG_printf(("1cupsCreateDestJob: job-id=%d", *job_id));
+  }
+
+  ippDelete(response);
+
+ /*
+  * Return the status code from the Create-Job request...
+  */
+
+  DEBUG_printf(("1cupsCreateDestJob: %s (%s)", ippErrorString(cupsLastError()),
+                cupsLastErrorString()));
+
+  return (cupsLastError());
+}
+
+
+/*
+ * 'cupsFinishDestDocument()' - Finish the current document.
+ *
+ * Returns @code IPP_OK@ or @code IPP_OK_SUBST@ on success.
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
+
+ipp_status_t                           /* O - Status of document submission */
+cupsFinishDestDocument(
+    http_t       *http,                        /* I - Connection to destination */
+    cups_dest_t  *dest,                        /* I - Destination */
+    cups_dinfo_t *info)                /* I - Destination information */
+{
+  DEBUG_printf(("cupsFinishDestDocument(http=%p, dest=%p(%s/%s), info=%p)",
+                http, dest, dest ? dest->name : NULL,
+                dest ? dest->instance : NULL, info));
+
+ /*
+  * Range check input...
+  */
+
+  if (!http || !dest || !info)
+  {
+    _cupsSetError(IPP_INTERNAL_ERROR, strerror(EINVAL), 0);
+    DEBUG_puts("1cupsFinishDestDocument: Bad arguments.");
+    return (IPP_INTERNAL_ERROR);
+  }
+
+ /*
+  * Get the response at the end of the document and return it...
+  */
+
+  ippDelete(cupsGetResponse(http, info->resource));
+
+  DEBUG_printf(("1cupsFinishDestDocument: %s (%s)",
+                ippErrorString(cupsLastError()), cupsLastErrorString()));
+
+  return (cupsLastError());
+}
+
+
+/*
+ * 'cupsStartDestDocument()' - Start a new document.
+ *
+ * "job_id" is the job ID returned by cupsCreateDestJob.  "docname" is the name
+ * of the document/file being printed, "format" is the MIME media type for the
+ * document (see CUPS_FORMAT_xxx constants), and "num_options" and "options"
+ * are the options do be applied to the document. "last_document" should be 1
+ * if this is the last document to be submitted in the job.  Returns
+ * @code HTTP_CONTINUE@ on success.
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
+
+http_status_t                          /* O - Status of document creation */
+cupsStartDestDocument(
+    http_t        *http,               /* I - Connection to destination */
+    cups_dest_t   *dest,               /* I - Destination */
+    cups_dinfo_t  *info,               /* I - Destination information */
+    int           job_id,              /* I - Job ID */
+    const char    *docname,            /* I - Document name */
+    const char    *format,             /* I - Document format */
+    int           num_options,         /* I - Number of document options */
+    cups_option_t *options,            /* I - Document options */
+    int           last_document)       /* I - 1 if this is the last document */
+{
+  ipp_t                *request;               /* Send-Document request */
+  http_status_t        status;                 /* HTTP status */
+
+
+  DEBUG_printf(("cupsStartDestDocument(http=%p, dest=%p(%s/%s), info=%p, "
+                "job_id=%d, docname=\"%s\", format=\"%s\", num_options=%d, "
+                "options=%p, last_document=%d)",
+                http, dest, dest ? dest->name : NULL,
+                dest ? dest->instance : NULL, info, job_id, docname, format,
+                num_options, options, last_document));
+
+ /*
+  * Range check input...
+  */
+
+  if (!http || !dest || !info || job_id <= 0)
+  {
+    _cupsSetError(IPP_INTERNAL_ERROR, strerror(EINVAL), 0);
+    DEBUG_puts("1cupsStartDestDocument: Bad arguments.");
+    return (HTTP_ERROR);
+  }
+
+ /*
+  * Create a Send-Document request...
+  */
+
+  if ((request = ippNewRequest(IPP_SEND_DOCUMENT)) == NULL)
+  {
+    _cupsSetError(IPP_INTERNAL_ERROR, strerror(ENOMEM), 0);
+    DEBUG_puts("1cupsStartDestDocument: Unable to create Send-Document "
+               "request.");
+    return (HTTP_ERROR);
+  }
+
+  ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri",
+               NULL, info->uri);
+  ippAddInteger(request, IPP_TAG_OPERATION, IPP_TAG_INTEGER, "job-id", job_id);
+  ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_NAME, "requesting-user-name",
+               NULL, cupsUser());
+  if (docname)
+    ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_NAME, "document-name",
+                 NULL, docname);
+  if (format)
+    ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_MIMETYPE,
+                 "document-format", NULL, format);
+  ippAddBoolean(request, IPP_TAG_OPERATION, "last-document", last_document);
+
+  cupsEncodeOptions2(request, num_options, options, IPP_TAG_DOCUMENT);
+
+ /*
+  * Send and delete the request, then return the status...
+  */
+
+  status = cupsSendRequest(http, request, info->resource, CUPS_LENGTH_VARIABLE);
+
+  ippDelete(request);
+
+  return (status);
+}
+
+
+/*
+ * End of "$Id: dest-job.c 11173 2013-07-23 12:31:34Z msweet $".
+ */
diff --git a/cups/dest-localization.c b/cups/dest-localization.c
new file mode 100644 (file)
index 0000000..4d8bff6
--- /dev/null
@@ -0,0 +1,386 @@
+/*
+ * "$Id: dest-localization.c 11173 2013-07-23 12:31:34Z msweet $"
+ *
+ *   Destination localization support for CUPS.
+ *
+ *   Copyright 2012 by Apple Inc.
+ *
+ *   These coded instructions, statements, and computer programs are the
+ *   property of Apple Inc. and are protected by Federal copyright
+ *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
+ *   which should have been included with this file.  If this file is
+ *   file is missing or damaged, see the license at "http://www.cups.org/".
+ *
+ *   This file is subject to the Apple OS-Developed Software exception.
+ *
+ * Contents:
+ *
+ *   cupsLocalizeDestOption()   - Get the localized string for a destination
+ *                                option.
+ *   cupsLocalizeDestValue()    - Get the localized string for a destination
+ *                                option+value pair.
+ *   cups_create_localizations() - Create the localizations array for a
+ *                                destination.
+ *   cups_read_strings()        - Read a pair of strings from a .strings file.
+ *   cups_scan_strings()        - Scan a quoted string.
+ */
+
+/*
+ * Include necessary headers...
+ */
+
+#include "cups-private.h"
+
+
+/*
+ * Local functions...
+ */
+
+static void    cups_create_localizations(http_t *http, cups_dinfo_t *dinfo);
+static int     cups_read_strings(cups_file_t *fp, char *buffer, size_t bufsize,
+                                 char **id, char **str);
+static char    *cups_scan_strings(char *buffer);
+
+
+/*
+ * 'cupsLocalizeDestOption()' - Get the localized string for a destination
+ *                              option.
+ *
+ * The returned string is stored in the destination information and will become
+ * invalid if the destination information is deleted.
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
+
+const char *                           /* O - Localized string */
+cupsLocalizeDestOption(
+    http_t       *http,                        /* I - Connection to destination */
+    cups_dest_t  *dest,                        /* I - Destination */
+    cups_dinfo_t *dinfo,               /* I - Destination information */
+    const char   *option)              /* I - Option to localize */
+{
+  _cups_message_t      key,            /* Search key */
+                       *match;         /* Matching entry */
+
+
+  if (!http || !dest || !dinfo)
+    return (option);
+
+  if (!dinfo->localizations)
+    cups_create_localizations(http, dinfo);
+
+  if (cupsArrayCount(dinfo->localizations) == 0)
+    return (option);
+
+  key.id = (char *)option;
+  if ((match = (_cups_message_t *)cupsArrayFind(dinfo->localizations,
+                                                &key)) != NULL)
+    return (match->str);
+  else
+    return (option);
+}
+
+
+/*
+ * 'cupsLocalizeDestValue()' - Get the localized string for a destination
+ *                             option+value pair.
+ *
+ * The returned string is stored in the destination information and will become
+ * invalid if the destination information is deleted.
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
+
+const char *                           /* O - Localized string */
+cupsLocalizeDestValue(
+    http_t       *http,                        /* I - Connection to destination */
+    cups_dest_t  *dest,                        /* I - Destination */
+    cups_dinfo_t *dinfo,               /* I - Destination information */
+    const char   *option,              /* I - Option to localize */
+    const char   *value)               /* I - Value to localize */
+{
+  _cups_message_t      key,            /* Search key */
+                       *match;         /* Matching entry */
+  char                 pair[256];      /* option.value pair */
+
+
+  if (!http || !dest || !dinfo)
+    return (value);
+
+  if (!dinfo->localizations)
+    cups_create_localizations(http, dinfo);
+
+  if (cupsArrayCount(dinfo->localizations) == 0)
+    return (value);
+
+  snprintf(pair, sizeof(pair), "%s.%s", option, value);
+  key.id = pair;
+  if ((match = (_cups_message_t *)cupsArrayFind(dinfo->localizations,
+                                                &key)) != NULL)
+    return (match->str);
+  else
+    return (value);
+}
+
+
+/*
+ * 'cups_create_localizations()' - Create the localizations array for a
+ *                                 destination.
+ */
+
+static void
+cups_create_localizations(
+    http_t       *http,                        /* I - Connection to destination */
+    cups_dinfo_t *dinfo)               /* I - Destination informations */
+{
+  http_t               *http2;         /* Connection for strings file */
+  http_status_t                status;         /* Request status */
+  ipp_attribute_t      *attr;          /* "printer-strings-uri" attribute */
+  char                 scheme[32],     /* URI scheme */
+                       userpass[256],  /* Username/password info */
+                       hostname[256],  /* Hostname */
+                       resource[1024], /* Resource */
+                       http_hostname[256],
+                                       /* Hostname of connection */
+                       tempfile[1024]; /* Temporary filename */
+  int                  port;           /* Port number */
+  http_encryption_t    encryption;     /* Encryption to use */
+  cups_file_t          *temp;          /* Temporary file */
+
+
+ /*
+  * Create an empty message catalog...
+  */
+
+  dinfo->localizations = _cupsMessageNew(NULL);
+
+ /*
+  * See if there are any localizations...
+  */
+
+  if ((attr = ippFindAttribute(dinfo->attrs, "printer-strings-uri",
+                               IPP_TAG_URI)) == NULL)
+  {
+   /*
+    * Nope...
+    */
+
+    DEBUG_puts("4cups_create_localizations: No printer-strings-uri (uri) "
+               "value.");
+    return;                            /* Nope */
+  }
+
+ /*
+  * Pull apart the URI and determine whether we need to try a different
+  * server...
+  */
+
+  if (httpSeparateURI(HTTP_URI_CODING_ALL, attr->values[0].string.text,
+                      scheme, sizeof(scheme), userpass, sizeof(userpass),
+                      hostname, sizeof(hostname), &port, resource,
+                      sizeof(resource)) < HTTP_URI_OK)
+  {
+    DEBUG_printf(("4cups_create_localizations: Bad printer-strings-uri value "
+                  "\"%s\".", attr->values[0].string.text));
+    return;
+  }
+
+  httpGetHostname(http, http_hostname, sizeof(http_hostname));
+
+  if (!_cups_strcasecmp(http_hostname, hostname) &&
+      port == _httpAddrPort(http->hostaddr))
+  {
+   /*
+    * Use the same connection...
+    */
+
+    http2 = http;
+  }
+  else
+  {
+   /*
+    * Connect to the alternate host...
+    */
+
+    if (!strcmp(scheme, "https"))
+      encryption = HTTP_ENCRYPT_ALWAYS;
+    else
+      encryption = HTTP_ENCRYPT_IF_REQUESTED;
+
+    if ((http2 = httpConnectEncrypt(hostname, port, encryption)) == NULL)
+    {
+      DEBUG_printf(("4cups_create_localizations: Unable to connect to "
+                    "%s:%d: %s", hostname, port, cupsLastErrorString()));
+      return;
+    }
+  }
+
+ /*
+  * Get a temporary file...
+  */
+
+  if ((temp = cupsTempFile2(tempfile, sizeof(tempfile))) == NULL)
+  {
+    DEBUG_printf(("4cups_create_localizations: Unable to create temporary "
+                  "file: %s", cupsLastErrorString()));
+    if (http2 != http)
+      httpClose(http2);
+    return;
+  }
+
+  status = cupsGetFd(http2, resource, cupsFileNumber(temp));
+
+  DEBUG_printf(("4cups_create_localizations: GET %s = %s", resource,
+                httpStatus(status)));
+
+  if (status == HTTP_OK)
+  {
+   /*
+    * Got the file, read it...
+    */
+
+    char               buffer[8192],   /* Message buffer */
+                       *id,            /* ID string */
+                       *str;           /* Translated message */
+    _cups_message_t    *m;             /* Current message */
+
+    lseek(cupsFileNumber(temp), 0, SEEK_SET);
+
+    while (cups_read_strings(temp, buffer, sizeof(buffer), &id, &str))
+    {
+      if ((m = malloc(sizeof(_cups_message_t))) == NULL)
+        break;
+
+      m->id  = strdup(id);
+      m->str = strdup(str);
+
+      if (m->id && m->str)
+        cupsArrayAdd(dinfo->localizations, m);
+      else
+      {
+        if (m->id)
+          free(m->id);
+
+        if (m->str)
+          free(m->str);
+
+        free(m);
+        break;
+      }
+    }
+  }
+
+  DEBUG_printf(("4cups_create_localizations: %d messages loaded.",
+                cupsArrayCount(dinfo->localizations)));
+
+ /*
+  * Cleanup...
+  */
+
+  unlink(tempfile);
+  cupsFileClose(temp);
+
+  if (http2 != http)
+    httpClose(http2);
+}
+
+
+/*
+ * 'cups_read_strings()' - Read a pair of strings from a .strings file.
+ */
+
+static int                             /* O - 1 on success, 0 on failure */
+cups_read_strings(cups_file_t *strings,        /* I - .strings file */
+                  char        *buffer, /* I - Line buffer */
+                  size_t      bufsize, /* I - Size of line buffer */
+                 char        **id,     /* O - Pointer to ID string */
+                 char        **str)    /* O - Pointer to translation string */
+{
+  char *bufptr;                        /* Pointer into buffer */
+
+
+  while (cupsFileGets(strings, buffer, bufsize))
+  {
+    if (buffer[0] != '\"')
+      continue;
+
+    *id    = buffer + 1;
+    bufptr = cups_scan_strings(buffer);
+
+    if (*bufptr != '\"')
+      continue;
+
+    *bufptr++ = '\0';
+
+    while (*bufptr && *bufptr != '\"')
+      bufptr ++;
+
+    if (!*bufptr)
+      continue;
+
+    *str   = bufptr + 1;
+    bufptr = cups_scan_strings(bufptr);
+
+    if (*bufptr != '\"')
+      continue;
+
+    *bufptr = '\0';
+
+    return (1);
+  }
+
+  return (0);
+}
+
+
+/*
+ * 'cups_scan_strings()' - Scan a quoted string.
+ */
+
+static char *                          /* O - End of string */
+cups_scan_strings(char *buffer)                /* I - Start of string */
+{
+  char *bufptr;                        /* Pointer into string */
+
+
+  for (bufptr = buffer + 1; *bufptr && *bufptr != '\"'; bufptr ++)
+  {
+    if (*bufptr == '\\')
+    {
+      if (bufptr[1] >= '0' && bufptr[1] <= '3' &&
+         bufptr[2] >= '0' && bufptr[2] <= '7' &&
+         bufptr[3] >= '0' && bufptr[3] <= '7')
+      {
+       /*
+       * Decode \nnn octal escape...
+       */
+
+       *bufptr = ((((bufptr[1] - '0') << 3) | (bufptr[2] - '0')) << 3) |
+                 (bufptr[3] - '0');
+       _cups_strcpy(bufptr + 1, bufptr + 4);
+      }
+      else
+      {
+       /*
+       * Decode \C escape...
+       */
+
+       _cups_strcpy(bufptr, bufptr + 1);
+       if (*bufptr == 'n')
+         *bufptr = '\n';
+       else if (*bufptr == 'r')
+         *bufptr = '\r';
+       else if (*bufptr == 't')
+         *bufptr = '\t';
+      }
+    }
+  }
+
+  return (bufptr);
+}
+
+
+
+/*
+ * End of "$Id: dest-localization.c 11173 2013-07-23 12:31:34Z msweet $".
+ */
diff --git a/cups/dest-options.c b/cups/dest-options.c
new file mode 100644 (file)
index 0000000..08bd16d
--- /dev/null
@@ -0,0 +1,1763 @@
+/*
+ * "$Id: dest-options.c 11173 2013-07-23 12:31:34Z msweet $"
+ *
+ *   Destination option/media support for CUPS.
+ *
+ *   Copyright 2012 by Apple Inc.
+ *
+ *   These coded instructions, statements, and computer programs are the
+ *   property of Apple Inc. and are protected by Federal copyright
+ *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
+ *   which should have been included with this file.  If this file is
+ *   file is missing or damaged, see the license at "http://www.cups.org/".
+ *
+ *   This file is subject to the Apple OS-Developed Software exception.
+ *
+ * Contents:
+ *
+ *   cupsCheckDestSupported()  - Check that the option and value are supported
+ *                              by the destination.
+ *   cupsCopyDestConflicts()   - Get conflicts and resolutions for a new
+ *                              option/value pair.
+ *   cupsCopyDestInfo()        - Get the supported values/capabilities for the
+ *                              destination.
+ *   cupsFreeDestInfo()        - Free destination information obtained using
+ *                              @link cupsCopyDestInfo@.
+ *   cupsGetDestMediaByName()  - Get media names, dimensions, and margins.
+ *   cupsGetDestMediaBySize()  - Get media names, dimensions, and margins.
+ *   cups_add_dconstres()      - Add a constraint or resolver to an array.
+ *   cups_compare_dconstres()  - Compare to resolver entries.
+ *   cups_compare_media_db()   - Compare two media entries.
+ *   cups_copy_media_db()      - Copy a media entry.
+ *   cups_create_constraints() - Create the constraints and resolvers arrays.
+ *   cups_create_defaults()    - Create the -default option array.
+ *   cups_create_media_db()    - Create the media database.
+ *   cups_free_media_cb()      - Free a media entry.
+ *   cups_get_media_db()       - Lookup the media entry for a given size.
+ *   cups_is_close_media_db()  - Compare two media entries to see if they are
+ *                              close to the same size.
+ *   cups_test_constraints()   - Test constraints.
+ */
+
+/*
+ * Include necessary headers...
+ */
+
+#include "cups-private.h"
+
+
+/*
+ * Local functions...
+ */
+
+static void            cups_add_dconstres(cups_array_t *a, ipp_t *collection);
+static int             cups_compare_dconstres(_cups_dconstres_t *a,
+                                              _cups_dconstres_t *b);
+static int             cups_compare_media_db(_cups_media_db_t *a,
+                                             _cups_media_db_t *b);
+static _cups_media_db_t        *cups_copy_media_db(_cups_media_db_t *mdb);
+static void            cups_create_constraints(cups_dinfo_t *dinfo);
+static void            cups_create_defaults(cups_dinfo_t *dinfo);
+static void            cups_create_media_db(cups_dinfo_t *dinfo);
+static void            cups_free_media_db(_cups_media_db_t *mdb);
+static int             cups_get_media_db(cups_dinfo_t *dinfo,
+                                         _pwg_media_t *pwg, unsigned flags,
+                                         cups_size_t *size);
+static int             cups_is_close_media_db(_cups_media_db_t *a,
+                                              _cups_media_db_t *b);
+static cups_array_t    *cups_test_constraints(cups_dinfo_t *dinfo,
+                                              const char *new_option,
+                                              const char *new_value,
+                                              int num_options,
+                                              cups_option_t *options,
+                                              int *num_conflicts,
+                                              cups_option_t **conflicts);
+
+
+/*
+ * 'cupsCheckDestSupported()' - Check that the option and value are supported
+ *                              by the destination.
+ *
+ * Returns 1 if supported, 0 otherwise.
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
+
+int                                    /* O - 1 if supported, 0 otherwise */
+cupsCheckDestSupported(
+    http_t       *http,                        /* I - Connection to destination */
+    cups_dest_t  *dest,                        /* I - Destination */
+    cups_dinfo_t *dinfo,               /* I - Destination information */
+    const char   *option,              /* I - Option */
+    const char   *value)               /* I - Value */
+{
+  int                  i;              /* Looping var */
+  char                 temp[1024];     /* Temporary string */
+  int                  int_value;      /* Integer value */
+  int                  xres_value,     /* Horizontal resolution */
+                       yres_value;     /* Vertical resolution */
+  ipp_res_t            units_value;    /* Resolution units */
+  ipp_attribute_t      *attr;          /* Attribute */
+  _ipp_value_t         *attrval;       /* Current attribute value */
+
+
+ /*
+  * Range check input...
+  */
+
+  if (!http || !dest || !dinfo || !option || !value)
+    return (0);
+
+ /*
+  * Lookup the attribute...
+  */
+
+  if (strstr(option, "-supported"))
+    attr = ippFindAttribute(dinfo->attrs, option, IPP_TAG_ZERO);
+  else
+  {
+    snprintf(temp, sizeof(temp), "%s-supported", option);
+    attr = ippFindAttribute(dinfo->attrs, temp, IPP_TAG_ZERO);
+  }
+
+  if (!attr)
+    return (0);
+
+ /*
+  * Compare values...
+  */
+
+  if (!strcmp(option, "media") && !strncmp(value, "custom_", 7))
+  {
+   /*
+    * Check range of custom media sizes...
+    */
+
+    _pwg_media_t       *pwg;           /* Current PWG media size info */
+    int                        min_width,      /* Minimum width */
+                       min_length,     /* Minimum length */
+                       max_width,      /* Maximum width */
+                       max_length;     /* Maximum length */
+
+   /*
+    * Get the minimum and maximum size...
+    */
+
+    min_width = min_length = INT_MAX;
+    max_width = max_length = 0;
+
+    for (i = attr->num_values, attrval = attr->values;
+        i > 0;
+        i --, attrval ++)
+    {
+      if (!strncmp(attrval->string.text, "custom_min_", 11) &&
+          (pwg = _pwgMediaForPWG(attrval->string.text)) != NULL)
+      {
+        min_width  = pwg->width;
+        min_length = pwg->length;
+      }
+      else if (!strncmp(attrval->string.text, "custom_max_", 11) &&
+              (pwg = _pwgMediaForPWG(attrval->string.text)) != NULL)
+      {
+        max_width  = pwg->width;
+        max_length = pwg->length;
+      }
+    }
+
+   /*
+    * Check the range...
+    */
+
+    if (min_width < INT_MAX && max_width > 0 &&
+        (pwg = _pwgMediaForPWG(value)) != NULL &&
+        pwg->width >= min_width && pwg->width <= max_width &&
+        pwg->length >= min_length && pwg->length <= max_length)
+      return (1);
+  }
+  else
+  {
+   /*
+    * Check literal values...
+    */
+
+    switch (attr->value_tag)
+    {
+      case IPP_TAG_INTEGER :
+      case IPP_TAG_ENUM :
+          int_value = atoi(value);
+
+          for (i = 0; i < attr->num_values; i ++)
+            if (attr->values[i].integer == int_value)
+              return (1);
+          break;
+
+      case IPP_TAG_BOOLEAN :
+          return (attr->values[0].boolean);
+
+      case IPP_TAG_RANGE :
+          int_value = atoi(value);
+
+          for (i = 0; i < attr->num_values; i ++)
+            if (int_value >= attr->values[i].range.lower &&
+                int_value <= attr->values[i].range.upper)
+              return (1);
+          break;
+
+      case IPP_TAG_RESOLUTION :
+          if (sscanf(value, "%dx%d%15s", &xres_value, &yres_value, temp) != 3)
+          {
+            if (sscanf(value, "%d%15s", &xres_value, temp) != 2)
+              return (0);
+
+            yres_value = xres_value;
+          }
+
+          if (!strcmp(temp, "dpi"))
+            units_value = IPP_RES_PER_INCH;
+          else if (!strcmp(temp, "dpc") || !strcmp(temp, "dpcm"))
+            units_value = IPP_RES_PER_CM;
+          else
+            return (0);
+
+          for (i = attr->num_values, attrval = attr->values;
+               i > 0;
+               i --, attrval ++)
+          {
+            if (attrval->resolution.xres == xres_value &&
+                attrval->resolution.yres == yres_value &&
+                attrval->resolution.units == units_value)
+              return (1);
+          }
+          break;
+
+      case IPP_TAG_TEXT :
+      case IPP_TAG_NAME :
+      case IPP_TAG_KEYWORD :
+      case IPP_TAG_CHARSET :
+      case IPP_TAG_URI :
+      case IPP_TAG_URISCHEME :
+      case IPP_TAG_MIMETYPE :
+      case IPP_TAG_LANGUAGE :
+      case IPP_TAG_TEXTLANG :
+      case IPP_TAG_NAMELANG :
+          for (i = 0; i < attr->num_values; i ++)
+            if (!strcmp(attr->values[i].string.text, value))
+              return (1);
+          break;
+
+      default :
+          break;
+    }
+  }
+
+ /*
+  * If we get there the option+value is not supported...
+  */
+
+  return (0);
+}
+
+
+/*
+ * 'cupsCopyDestConflicts()' - Get conflicts and resolutions for a new
+ *                             option/value pair.
+ *
+ * "num_options" and "options" represent the currently selected options by the
+ * user.  "new_option" and "new_value" are the setting the user has just
+ * changed.
+ *
+ * Returns 1 if there is a conflict, 0 if there are no conflicts, and -1 if
+ * there was an unrecoverable error such as a resolver loop.
+ *
+ * If "num_conflicts" and "conflicts" are not @code NULL@, they are set to
+ * contain the list of conflicting option/value pairs.  Similarly, if
+ * "num_resolved" and "resolved" are not @code NULL@ they will be set to the
+ * list of changes needed to resolve the conflict.
+ *
+ * If cupsCopyDestConflicts returns 1 but "num_resolved" and "resolved" are set
+ * to 0 and @code NULL@, respectively, then the conflict cannot be resolved.
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
+
+int                                    /* O - 1 if there is a conflict, 0 if none, -1 on error */
+cupsCopyDestConflicts(
+    http_t        *http,               /* I - Connection to destination */
+    cups_dest_t   *dest,               /* I - Destination */
+    cups_dinfo_t  *dinfo,              /* I - Destination information */
+    int           num_options,         /* I - Number of current options */
+    cups_option_t *options,            /* I - Current options */
+    const char    *new_option,         /* I - New option */
+    const char    *new_value,          /* I - New value */
+    int           *num_conflicts,      /* O - Number of conflicting options */
+    cups_option_t **conflicts,         /* O - Conflicting options */
+    int           *num_resolved,       /* O - Number of options to resolve */
+    cups_option_t **resolved)          /* O - Resolved options */
+{
+  int          i,                      /* Looping var */
+               have_conflicts = 0,     /* Do we have conflicts? */
+               changed,                /* Did we change something? */
+               tries,                  /* Number of tries for resolution */
+               num_myconf = 0,         /* My number of conflicting options */
+               num_myres = 0;          /* My number of resolved options */
+  cups_option_t        *myconf = NULL,         /* My conflicting options */
+               *myres = NULL,          /* My resolved options */
+               *myoption,              /* My current option */
+               *option;                /* Current option */
+  cups_array_t *active,                /* Active conflicts */
+               *pass = NULL,           /* Resolvers for this pass */
+               *resolvers = NULL,      /* Resolvers we have used */
+               *test;                  /* Test array for conflicts */
+  _cups_dconstres_t *c,                        /* Current constraint */
+               *r;                     /* Current resolver */
+  ipp_attribute_t *attr;               /* Current attribute */
+  char         value[2048];            /* Current attribute value as string */
+  const char   *myvalue;               /* Current value of an option */
+
+
+ /*
+  * Clear returned values...
+  */
+
+  if (num_conflicts)
+    *num_conflicts = 0;
+
+  if (conflicts)
+    *conflicts = NULL;
+
+  if (num_resolved)
+    *num_resolved = 0;
+
+  if (resolved)
+    *resolved = NULL;
+
+ /*
+  * Range check input...
+  */
+
+  if (!http || !dest || !dinfo ||
+      (num_conflicts != NULL) != (conflicts != NULL) ||
+      (num_resolved != NULL) != (resolved != NULL))
+    return (0);
+
+ /*
+  * Load constraints as needed...
+  */
+
+  if (!dinfo->constraints)
+    cups_create_constraints(dinfo);
+
+  if (cupsArrayCount(dinfo->constraints) == 0)
+    return (0);
+
+  if (!dinfo->num_defaults)
+    cups_create_defaults(dinfo);
+
+ /*
+  * If we are resolving, create a shadow array...
+  */
+
+  if (num_resolved)
+  {
+    for (i = num_options, option = options; i > 0; i --, option ++)
+      num_myres = cupsAddOption(option->name, option->value, num_myres, &myres);
+
+    if (new_option && new_value)
+      num_myres = cupsAddOption(new_option, new_value, num_myres, &myres);
+  }
+  else
+  {
+    num_myres = num_options;
+    myres     = options;
+  }
+
+ /*
+  * Check for any conflicts...
+  */
+
+  if (num_resolved)
+    pass = cupsArrayNew((cups_array_func_t)cups_compare_dconstres, NULL);
+
+  for (tries = 0; tries < 100; tries ++)
+  {
+   /*
+    * Check for any conflicts...
+    */
+
+    if (num_conflicts || num_resolved)
+    {
+      cupsFreeOptions(num_myconf, myconf);
+
+      num_myconf = 0;
+      myconf     = NULL;
+      active     = cups_test_constraints(dinfo, new_option, new_value,
+                                         num_myres, myres, &num_myconf,
+                                         &myconf);
+    }
+    else
+      active = cups_test_constraints(dinfo, new_option, new_value, num_myres,
+                                    myres, NULL, NULL);
+
+    have_conflicts = (active != NULL);
+
+    if (!active || !num_resolved)
+      break;                           /* All done */
+
+   /*
+    * Scan the constraints that were triggered to apply resolvers...
+    */
+
+    if (!resolvers)
+      resolvers = cupsArrayNew((cups_array_func_t)cups_compare_dconstres, NULL);
+
+    for (c = (_cups_dconstres_t *)cupsArrayFirst(active), changed = 0;
+         c;
+         c = (_cups_dconstres_t *)cupsArrayNext(active))
+    {
+      if (cupsArrayFind(pass, c))
+        continue;                      /* Already applied this resolver... */
+
+      if (cupsArrayFind(resolvers, c))
+      {
+        DEBUG_printf(("1cupsCopyDestConflicts: Resolver loop with %s.",
+                      c->name));
+        have_conflicts = -1;
+        goto cleanup;
+      }
+
+      if ((r = cupsArrayFind(dinfo->resolvers, c)) == NULL)
+      {
+        DEBUG_printf(("1cupsCopyDestConflicts: Resolver %s not found.",
+                      c->name));
+        have_conflicts = -1;
+        goto cleanup;
+      }
+
+     /*
+      * Add the options from the resolver...
+      */
+
+      cupsArrayAdd(pass, r);
+      cupsArrayAdd(resolvers, r);
+
+      for (attr = ippFirstAttribute(r->collection);
+           attr;
+           attr = ippNextAttribute(r->collection))
+      {
+        if (new_option && !strcmp(attr->name, new_option))
+          continue;                    /* Ignore this if we just changed it */
+
+        if (ippAttributeString(attr, value, sizeof(value)) >= sizeof(value))
+          continue;                    /* Ignore if the value is too long */
+
+        if ((test = cups_test_constraints(dinfo, attr->name, value, num_myres,
+                                          myres, NULL, NULL)) == NULL)
+        {
+         /*
+          * That worked, flag it...
+          */
+
+          changed = 1;
+        }
+        else
+          cupsArrayDelete(test);
+
+       /*
+       * Add the option/value from the resolver regardless of whether it
+       * worked; this makes sure that we can cascade several changes to
+       * make things resolve...
+       */
+
+       num_myres = cupsAddOption(attr->name, value, num_myres, &myres);
+      }
+    }
+
+    if (!changed)
+    {
+      DEBUG_puts("1cupsCopyDestConflicts: Unable to resolve constraints.");
+      have_conflicts = -1;
+      goto cleanup;
+    }
+
+    cupsArrayClear(pass);
+
+    cupsArrayDelete(active);
+    active = NULL;
+  }
+
+  if (tries >= 100)
+  {
+    DEBUG_puts("1cupsCopyDestConflicts: Unable to resolve after 100 tries.");
+    have_conflicts = -1;
+    goto cleanup;
+  }
+
+ /*
+  * Copy resolved options as needed...
+  */
+
+  if (num_resolved)
+  {
+    for (i = num_myres, myoption = myres; i > 0; i --, myoption ++)
+    {
+      if ((myvalue = cupsGetOption(myoption->name, num_options,
+                                   options)) == NULL ||
+          strcmp(myvalue, myoption->value))
+      {
+        if (new_option && !strcmp(new_option, myoption->name) &&
+            new_value && !strcmp(new_value, myoption->value))
+          continue;
+
+        *num_resolved = cupsAddOption(myoption->name, myoption->value,
+                                      *num_resolved, resolved);
+      }
+    }
+  }
+
+ /*
+  * Clean up...
+  */
+
+  cleanup:
+
+  cupsArrayDelete(active);
+  cupsArrayDelete(pass);
+  cupsArrayDelete(resolvers);
+
+  if (num_resolved)
+  {
+   /*
+    * Free shadow copy of options...
+    */
+
+    cupsFreeOptions(num_myres, myres);
+  }
+
+  if (num_conflicts)
+  {
+   /*
+    * Return conflicting options to caller...
+    */
+
+    *num_conflicts = num_myconf;
+    *conflicts     = myconf;
+  }
+  else
+  {
+   /*
+    * Free conflicting options...
+    */
+
+    cupsFreeOptions(num_myconf, myconf);
+  }
+
+  return (have_conflicts);
+}
+
+
+/*
+ * 'cupsCopyDestInfo()' - Get the supported values/capabilities for the
+ *                        destination.
+ *
+ * The caller is responsible for calling @link cupsFreeDestInfo@ on the return
+ * value. @code NULL@ is returned on error.
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
+
+cups_dinfo_t *                         /* O - Destination information */
+cupsCopyDestInfo(
+    http_t      *http,                 /* I - Connection to destination */
+    cups_dest_t *dest)                 /* I - Destination */
+{
+  cups_dinfo_t *dinfo;                 /* Destination information */
+  ipp_t                *request,               /* Get-Printer-Attributes request */
+               *response;              /* Supported attributes */
+  int          tries,                  /* Number of tries so far */
+               delay,                  /* Current retry delay */
+               prev_delay;             /* Next retry delay */
+  const char   *uri;                   /* Printer URI */
+  char         resource[1024];         /* Resource path */
+  int          version;                /* IPP version */
+  ipp_status_t status;                 /* Status of request */
+  static const char * const requested_attrs[] =
+  {                                    /* Requested attributes */
+    "job-template",
+    "media-col-database",
+    "printer-description"
+  };
+
+
+  DEBUG_printf(("cupsCopyDestSupported(http=%p, dest=%p(%s))", http, dest,
+                dest ? dest->name : ""));
+
+ /*
+  * Range check input...
+  */
+
+  if (!http || !dest)
+    return (NULL);
+
+ /*
+  * Get the printer URI and resource path...
+  */
+
+  if ((uri = _cupsGetDestResource(dest, resource, sizeof(resource))) == NULL)
+    return (NULL);
+
+ /*
+  * Get the supported attributes...
+  */
+
+  delay      = 1;
+  prev_delay = 1;
+  tries      = 0;
+  version    = 20;
+
+  do
+  {
+   /*
+    * Send a Get-Printer-Attributes request...
+    */
+
+    request = ippNewRequest(IPP_GET_PRINTER_ATTRIBUTES);
+    ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri", NULL,
+                uri);
+    ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_NAME, "requesting-user-name",
+                NULL, cupsUser());
+    ippAddStrings(request, IPP_TAG_OPERATION, IPP_TAG_KEYWORD,
+                 "requested-attributes",
+                 (int)(sizeof(requested_attrs) / sizeof(requested_attrs[0])),
+                 NULL, requested_attrs);
+    response = cupsDoRequest(http, request, resource);
+    status   = cupsLastError();
+
+    if (status > IPP_OK_SUBST)
+    {
+      DEBUG_printf(("cupsCopyDestSupported: Get-Printer-Attributes for '%s' "
+                   "returned %s (%s)", dest->name, ippErrorString(status),
+                   cupsLastErrorString()));
+
+      ippDelete(response);
+      response = NULL;
+
+      if (status == IPP_VERSION_NOT_SUPPORTED && version > 11)
+        version = 11;
+      else if (status == IPP_PRINTER_BUSY)
+      {
+        sleep(delay);
+
+        delay = _cupsNextDelay(delay, &prev_delay);
+      }
+      else
+        return (NULL);
+    }
+
+    tries ++;
+  }
+  while (!response && tries < 10);
+
+  if (!response)
+    return (NULL);
+
+ /*
+  * Allocate a cups_dinfo_t structure and return it...
+  */
+
+  if ((dinfo = calloc(1, sizeof(cups_dinfo_t))) == NULL)
+  {
+    _cupsSetError(IPP_INTERNAL_ERROR, strerror(errno), 0);
+    ippDelete(response);
+    return (NULL);
+  }
+
+  dinfo->uri      = uri;
+  dinfo->resource = _cupsStrAlloc(resource);
+  dinfo->attrs    = response;
+
+  return (dinfo);
+}
+
+
+/*
+ * 'cupsFreeDestInfo()' - Free destination information obtained using
+ *                        @link cupsCopyDestInfo@.
+ */
+
+void
+cupsFreeDestInfo(cups_dinfo_t *dinfo)  /* I - Destination information */
+{
+ /*
+  * Range check input...
+  */
+
+  if (!dinfo)
+    return;
+
+ /*
+  * Free memory and return...
+  */
+
+  _cupsStrFree(dinfo->resource);
+
+  cupsArrayDelete(dinfo->constraints);
+  cupsArrayDelete(dinfo->resolvers);
+
+  cupsArrayDelete(dinfo->localizations);
+
+  cupsArrayDelete(dinfo->media_db);
+
+  ippDelete(dinfo->attrs);
+
+  free(dinfo);
+}
+
+
+/*
+ * 'cupsGetDestMediaByName()' - Get media names, dimensions, and margins.
+ *
+ * The "media" string is a PWG media name.  "Flags" provides some matching
+ * guidance (multiple flags can be combined):
+ *
+ * CUPS_MEDIA_FLAGS_DEFAULT    = find the closest size supported by the printer,
+ * CUPS_MEDIA_FLAGS_BORDERLESS = find a borderless size,
+ * CUPS_MEDIA_FLAGS_DUPLEX     = find a size compatible with 2-sided printing,
+ * CUPS_MEDIA_FLAGS_EXACT      = find an exact match for the size, and
+ * CUPS_MEDIA_FLAGS_READY      = if the printer supports media sensing, find the
+ *                               size amongst the "ready" media.
+ *
+ * The matching result (if any) is returned in the "cups_size_t" structure.
+ *
+ * Returns 1 when there is a match and 0 if there is not a match.
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
+
+int                                    /* O - 1 on match, 0 on failure */
+cupsGetDestMediaByName(
+    http_t       *http,                        /* I - Connection to destination */
+    cups_dest_t  *dest,                        /* I - Destination */
+    cups_dinfo_t *dinfo,               /* I - Destination information */
+    const char   *media,               /* I - Media name */
+    unsigned     flags,                        /* I - Media matching flags */
+    cups_size_t  *size)                        /* O - Media size information */
+{
+  _pwg_media_t         *pwg;           /* PWG media info */
+
+
+ /*
+  * Range check input...
+  */
+
+  if (size)
+    memset(size, 0, sizeof(cups_size_t));
+
+  if (!http || !dest || !dinfo || !media || !size)
+  {
+    _cupsSetError(IPP_INTERNAL_ERROR, strerror(EINVAL), 0);
+    return (0);
+  }
+
+ /*
+  * Lookup the media size name...
+  */
+
+  if ((pwg = _pwgMediaForPWG(media)) == NULL)
+    if ((pwg = _pwgMediaForLegacy(media)) == NULL)
+    {
+      DEBUG_printf(("1cupsGetDestMediaByName: Unknown size '%s'.", media));
+      _cupsSetError(IPP_INTERNAL_ERROR, _("Unknown media size name."), 1);
+      return (0);
+    }
+
+ /*
+  * Lookup the size...
+  */
+
+  return (cups_get_media_db(dinfo, pwg, flags, size));
+}
+
+
+/*
+ * 'cupsGetDestMediaBySize()' - Get media names, dimensions, and margins.
+ *
+ * "Width" and "length" are the dimensions in hundredths of millimeters.
+ * "Flags" provides some matching guidance (multiple flags can be combined):
+ *
+ * CUPS_MEDIA_FLAGS_DEFAULT    = find the closest size supported by the printer,
+ * CUPS_MEDIA_FLAGS_BORDERLESS = find a borderless size,
+ * CUPS_MEDIA_FLAGS_DUPLEX     = find a size compatible with 2-sided printing,
+ * CUPS_MEDIA_FLAGS_EXACT      = find an exact match for the size, and
+ * CUPS_MEDIA_FLAGS_READY      = if the printer supports media sensing, find the
+ *                               size amongst the "ready" media.
+ *
+ * The matching result (if any) is returned in the "cups_size_t" structure.
+ *
+ * Returns 1 when there is a match and 0 if there is not a match.
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
+
+int                                    /* O - 1 on match, 0 on failure */
+cupsGetDestMediaBySize(
+    http_t       *http,                        /* I - Connection to destination */
+    cups_dest_t  *dest,                        /* I - Destination */
+    cups_dinfo_t *dinfo,               /* I - Destination information */
+    int         width,                 /* I - Media width in hundredths of
+                                        *     of millimeters */
+    int         length,                        /* I - Media length in hundredths of
+                                        *     of millimeters */
+    unsigned     flags,                        /* I - Media matching flags */
+    cups_size_t  *size)                        /* O - Media size information */
+{
+  _pwg_media_t         *pwg;           /* PWG media info */
+
+
+ /*
+  * Range check input...
+  */
+
+  if (size)
+    memset(size, 0, sizeof(cups_size_t));
+
+  if (!http || !dest || !dinfo || width <= 0 || length <= 0 || !size)
+  {
+    _cupsSetError(IPP_INTERNAL_ERROR, strerror(EINVAL), 0);
+    return (0);
+  }
+
+ /*
+  * Lookup the media size name...
+  */
+
+  if ((pwg = _pwgMediaForSize(width, length)) == NULL)
+  {
+    DEBUG_printf(("1cupsGetDestMediaBySize: Invalid size %dx%d.", width,
+                  length));
+    _cupsSetError(IPP_INTERNAL_ERROR, _("Invalid media size."), 1);
+    return (0);
+  }
+
+ /*
+  * Lookup the size...
+  */
+
+  return (cups_get_media_db(dinfo, pwg, flags, size));
+}
+
+
+/*
+ * 'cups_add_dconstres()' - Add a constraint or resolver to an array.
+ */
+
+static void
+cups_add_dconstres(
+    cups_array_t *a,                   /* I - Array */
+    ipp_t        *collection)          /* I - Collection value */
+{
+  ipp_attribute_t      *attr;          /* Attribute */
+  _cups_dconstres_t    *temp;          /* Current constraint/resolver */
+
+
+  if ((attr = ippFindAttribute(collection, "resolver-name",
+                               IPP_TAG_NAME)) == NULL)
+    return;
+
+  if ((temp = calloc(1, sizeof(_cups_dconstres_t))) == NULL)
+    return;
+
+  temp->name       = attr->values[0].string.text;
+  temp->collection = collection;
+
+  cupsArrayAdd(a, temp);
+}
+
+
+/*
+ * 'cups_compare_dconstres()' - Compare to resolver entries.
+ */
+
+static int                             /* O - Result of comparison */
+cups_compare_dconstres(
+    _cups_dconstres_t *a,              /* I - First resolver */
+    _cups_dconstres_t *b)              /* I - Second resolver */
+{
+  return (strcmp(a->name, b->name));
+}
+
+
+/*
+ * 'cups_compare_media_db()' - Compare two media entries.
+ */
+
+static int                             /* O - Result of comparison */
+cups_compare_media_db(
+    _cups_media_db_t *a,               /* I - First media entries */
+    _cups_media_db_t *b)               /* I - Second media entries */
+{
+  int  result;                         /* Result of comparison */
+
+
+  if ((result = a->width - b->width) == 0)
+    result = a->length - b->length;
+
+  return (result);
+}
+
+
+/*
+ * 'cups_copy_media_db()' - Copy a media entry.
+ */
+
+static _cups_media_db_t *              /* O - New media entry */
+cups_copy_media_db(
+    _cups_media_db_t *mdb)             /* I - Media entry to copy */
+{
+  _cups_media_db_t *temp;              /* New media entry */
+
+
+  if ((temp = calloc(1, sizeof(_cups_media_db_t))) == NULL)
+    return (NULL);
+
+  if (mdb->color)
+    temp->color = _cupsStrAlloc(mdb->color);
+  if (mdb->key)
+    temp->key = _cupsStrAlloc(mdb->key);
+  if (mdb->info)
+    temp->info = _cupsStrAlloc(mdb->info);
+  if (mdb->size_name)
+    temp->size_name = _cupsStrAlloc(mdb->size_name);
+  if (mdb->source)
+    temp->source = _cupsStrAlloc(mdb->source);
+  if (mdb->type)
+    temp->type = _cupsStrAlloc(mdb->type);
+
+  temp->width  = mdb->width;
+  temp->length = mdb->length;
+  temp->bottom = mdb->bottom;
+  temp->left   = mdb->left;
+  temp->right  = mdb->right;
+  temp->top    = mdb->top;
+
+  return (temp);
+}
+
+
+/*
+ * 'cups_create_constraints()' - Create the constraints and resolvers arrays.
+ */
+
+static void
+cups_create_constraints(
+    cups_dinfo_t *dinfo)               /* I - Destination information */
+{
+  int                  i;              /* Looping var */
+  ipp_attribute_t      *attr;          /* Attribute */
+  _ipp_value_t         *val;           /* Current value */
+
+
+  dinfo->constraints = cupsArrayNew3(NULL, NULL, NULL, 0, NULL,
+                                     (cups_afree_func_t)free);
+  dinfo->resolvers   = cupsArrayNew3((cups_array_func_t)cups_compare_dconstres,
+                                    NULL, NULL, 0, NULL,
+                                     (cups_afree_func_t)free);
+
+  if ((attr = ippFindAttribute(dinfo->attrs, "job-constraints-supported",
+                              IPP_TAG_BEGIN_COLLECTION)) != NULL)
+  {
+    for (i = attr->num_values, val = attr->values; i > 0; i --, val ++)
+      cups_add_dconstres(dinfo->constraints, val->collection);
+  }
+
+  if ((attr = ippFindAttribute(dinfo->attrs, "job-resolvers-supported",
+                              IPP_TAG_BEGIN_COLLECTION)) != NULL)
+  {
+    for (i = attr->num_values, val = attr->values; i > 0; i --, val ++)
+      cups_add_dconstres(dinfo->resolvers, val->collection);
+  }
+}
+
+
+/*
+ * 'cups_create_defaults()' - Create the -default option array.
+ *
+ * TODO: Need to support collection defaults...
+ */
+
+static void
+cups_create_defaults(
+    cups_dinfo_t *dinfo)               /* I - Destination information */
+{
+  ipp_attribute_t      *attr;          /* Current attribute */
+  char                 name[IPP_MAX_NAME + 1],
+                                       /* Current name */
+                       *nameptr,       /* Pointer into current name */
+                       value[2048];    /* Current value */
+
+
+ /*
+  * Iterate through the printer attributes looking for xxx-default and adding
+  * xxx=value to the defaults option array.
+  */
+
+  for (attr = ippFirstAttribute(dinfo->attrs);
+       attr;
+       attr = ippNextAttribute(dinfo->attrs))
+  {
+    if (!attr->name || attr->group_tag != IPP_TAG_PRINTER)
+      continue;
+
+    if (attr->value_tag == IPP_TAG_BEGIN_COLLECTION)
+      continue;                                /* TODO: STR #4096 */
+
+    if ((nameptr = attr->name + strlen(attr->name) - 8) <= attr->name ||
+        strcmp(nameptr, "-default"))
+      continue;
+
+    strlcpy(name, attr->name, sizeof(name));
+    if ((nameptr = name + strlen(name) - 8) <= name ||
+        strcmp(nameptr, "-default"))
+      continue;
+
+    *nameptr = '\0';
+
+    if (ippAttributeString(attr, value, sizeof(value)) >= sizeof(value))
+      continue;
+
+    dinfo->num_defaults = cupsAddOption(name, value, dinfo->num_defaults,
+                                        &dinfo->defaults);
+  }
+}
+
+
+/*
+ * 'cups_create_media_db()' - Create the media database.
+ */
+
+static void
+cups_create_media_db(
+    cups_dinfo_t *dinfo)               /* I - Destination information */
+{
+  int                  i;              /* Looping var */
+  _ipp_value_t         *val;           /* Current value */
+  ipp_attribute_t      *media_col_db,  /* media-col-database */
+                       *media_attr,    /* media-xxx */
+                       *x_dimension,   /* x-dimension */
+                       *y_dimension;   /* y-dimension */
+  _pwg_media_t         *pwg;           /* PWG media info */
+  _cups_media_db_t     mdb;            /* Media entry */
+
+
+  dinfo->media_db = cupsArrayNew3((cups_array_func_t)cups_compare_media_db,
+                                  NULL, NULL, 0,
+                                  (cups_acopy_func_t)cups_copy_media_db,
+                                  (cups_afree_func_t)cups_free_media_db);
+  dinfo->min_size.width  = INT_MAX;
+  dinfo->min_size.length = INT_MAX;
+  dinfo->max_size.width  = 0;
+  dinfo->max_size.length = 0;
+
+  if ((media_col_db = ippFindAttribute(dinfo->attrs, "media-col-database",
+                                       IPP_TAG_BEGIN_COLLECTION)) != NULL)
+  {
+    _ipp_value_t       *custom = NULL; /* Custom size range value */
+
+    for (i = media_col_db->num_values, val = media_col_db->values;
+         i > 0;
+         i --, val ++)
+    {
+      memset(&mdb, 0, sizeof(mdb));
+
+      if ((media_attr = ippFindAttribute(val->collection, "media-size",
+                                         IPP_TAG_BEGIN_COLLECTION)) != NULL)
+      {
+        ipp_t  *media_size = media_attr->values[0].collection;
+                                       /* media-size collection value */
+
+        if ((x_dimension = ippFindAttribute(media_size, "x-dimension",
+                                          IPP_TAG_INTEGER)) != NULL &&
+           (y_dimension = ippFindAttribute(media_size, "y-dimension",
+                                           IPP_TAG_INTEGER)) != NULL)
+       {
+         mdb.width  = x_dimension->values[0].integer;
+         mdb.length = y_dimension->values[0].integer;
+       }
+        else if ((x_dimension = ippFindAttribute(media_size, "x-dimension",
+                                              IPP_TAG_RANGE)) != NULL &&
+                (y_dimension = ippFindAttribute(media_size, "y-dimension",
+                                                IPP_TAG_RANGE)) != NULL)
+       {
+        /*
+         * Custom size range; save this as the custom size value with default
+         * margins, then continue; we'll capture the real margins below...
+         */
+
+         custom = val;
+
+         dinfo->min_size.width  = x_dimension->values[0].range.lower;
+         dinfo->min_size.length = y_dimension->values[0].range.lower;
+         dinfo->min_size.left   =
+         dinfo->min_size.right  = 635; /* Default 1/4" side margins */
+         dinfo->min_size.top    =
+         dinfo->min_size.bottom = 1270; /* Default 1/2" top/bottom margins */
+
+         dinfo->max_size.width  = x_dimension->values[0].range.upper;
+         dinfo->max_size.length = y_dimension->values[0].range.upper;
+         dinfo->max_size.left   =
+         dinfo->max_size.right  = 635; /* Default 1/4" side margins */
+         dinfo->max_size.top    =
+         dinfo->max_size.bottom = 1270; /* Default 1/2" top/bottom margins */
+
+         continue;
+       }
+      }
+
+      if ((media_attr = ippFindAttribute(val->collection, "media-color",
+                                         IPP_TAG_ZERO)) != NULL &&
+          (media_attr->value_tag == IPP_TAG_NAME ||
+           media_attr->value_tag == IPP_TAG_NAMELANG ||
+           media_attr->value_tag == IPP_TAG_KEYWORD))
+        mdb.color = media_attr->values[0].string.text;
+
+      if ((media_attr = ippFindAttribute(val->collection, "media-info",
+                                         IPP_TAG_TEXT)) != NULL)
+        mdb.info = media_attr->values[0].string.text;
+
+      if ((media_attr = ippFindAttribute(val->collection, "media-key",
+                                         IPP_TAG_ZERO)) != NULL &&
+          (media_attr->value_tag == IPP_TAG_NAME ||
+           media_attr->value_tag == IPP_TAG_NAMELANG ||
+           media_attr->value_tag == IPP_TAG_KEYWORD))
+        mdb.key = media_attr->values[0].string.text;
+
+      if ((media_attr = ippFindAttribute(val->collection, "media-size-name",
+                                         IPP_TAG_ZERO)) != NULL &&
+          (media_attr->value_tag == IPP_TAG_NAME ||
+           media_attr->value_tag == IPP_TAG_NAMELANG ||
+           media_attr->value_tag == IPP_TAG_KEYWORD))
+        mdb.size_name = media_attr->values[0].string.text;
+
+      if ((media_attr = ippFindAttribute(val->collection, "media-source",
+                                         IPP_TAG_ZERO)) != NULL &&
+          (media_attr->value_tag == IPP_TAG_NAME ||
+           media_attr->value_tag == IPP_TAG_NAMELANG ||
+           media_attr->value_tag == IPP_TAG_KEYWORD))
+        mdb.source = media_attr->values[0].string.text;
+
+      if ((media_attr = ippFindAttribute(val->collection, "media-type",
+                                         IPP_TAG_ZERO)) != NULL &&
+          (media_attr->value_tag == IPP_TAG_NAME ||
+           media_attr->value_tag == IPP_TAG_NAMELANG ||
+           media_attr->value_tag == IPP_TAG_KEYWORD))
+        mdb.type = media_attr->values[0].string.text;
+
+      if ((media_attr = ippFindAttribute(val->collection, "media-bottom-margin",
+                                         IPP_TAG_INTEGER)) != NULL)
+        mdb.bottom = media_attr->values[0].integer;
+
+      if ((media_attr = ippFindAttribute(val->collection, "media-left-margin",
+                                         IPP_TAG_INTEGER)) != NULL)
+        mdb.left = media_attr->values[0].integer;
+
+      if ((media_attr = ippFindAttribute(val->collection, "media-right-margin",
+                                         IPP_TAG_INTEGER)) != NULL)
+        mdb.right = media_attr->values[0].integer;
+
+      if ((media_attr = ippFindAttribute(val->collection, "media-top-margin",
+                                         IPP_TAG_INTEGER)) != NULL)
+        mdb.top = media_attr->values[0].integer;
+
+      cupsArrayAdd(dinfo->media_db, &mdb);
+    }
+
+    if (custom)
+    {
+      if ((media_attr = ippFindAttribute(custom->collection,
+                                         "media-bottom-margin",
+                                         IPP_TAG_INTEGER)) != NULL)
+      {
+        dinfo->min_size.top =
+        dinfo->max_size.top = media_attr->values[0].integer;
+      }
+
+      if ((media_attr = ippFindAttribute(custom->collection,
+                                         "media-left-margin",
+                                         IPP_TAG_INTEGER)) != NULL)
+      {
+        dinfo->min_size.left =
+        dinfo->max_size.left = media_attr->values[0].integer;
+      }
+
+      if ((media_attr = ippFindAttribute(custom->collection,
+                                         "media-right-margin",
+                                         IPP_TAG_INTEGER)) != NULL)
+      {
+        dinfo->min_size.right =
+        dinfo->max_size.right = media_attr->values[0].integer;
+      }
+
+      if ((media_attr = ippFindAttribute(custom->collection,
+                                         "media-top-margin",
+                                         IPP_TAG_INTEGER)) != NULL)
+      {
+        dinfo->min_size.top =
+        dinfo->max_size.top = media_attr->values[0].integer;
+      }
+    }
+  }
+  else if ((media_attr = ippFindAttribute(dinfo->attrs, "media-supported",
+                                          IPP_TAG_ZERO)) != NULL &&
+           (media_attr->value_tag == IPP_TAG_NAME ||
+            media_attr->value_tag == IPP_TAG_NAMELANG ||
+            media_attr->value_tag == IPP_TAG_KEYWORD))
+  {
+    memset(&mdb, 0, sizeof(mdb));
+
+    mdb.left   =
+    mdb.right  = 635; /* Default 1/4" side margins */
+    mdb.top    =
+    mdb.bottom = 1270; /* Default 1/2" top/bottom margins */
+
+    for (i = media_attr->num_values, val = media_attr->values;
+         i > 0;
+         i --, val ++)
+    {
+      if ((pwg = _pwgMediaForPWG(val->string.text)) == NULL)
+        if ((pwg = _pwgMediaForLegacy(val->string.text)) == NULL)
+       {
+         DEBUG_printf(("3cups_create_media_db: Ignoring unknown size '%s'.",
+                       val->string.text));
+         continue;
+       }
+
+      mdb.width  = pwg->width;
+      mdb.length = pwg->length;
+
+      if (!strncmp(val->string.text, "custom_min_", 11))
+      {
+        mdb.size_name   = NULL;
+        dinfo->min_size = mdb;
+      }
+      else if (!strncmp(val->string.text, "custom_max_", 11))
+      {
+        mdb.size_name   = NULL;
+        dinfo->max_size = mdb;
+      }
+      else
+      {
+        mdb.size_name = val->string.text;
+
+        cupsArrayAdd(dinfo->media_db, &mdb);
+      }
+    }
+  }
+}
+
+
+/*
+ * 'cups_free_media_cb()' - Free a media entry.
+ */
+
+static void
+cups_free_media_db(
+    _cups_media_db_t *mdb)             /* I - Media entry to free */
+{
+  if (mdb->color)
+    _cupsStrFree(mdb->color);
+  if (mdb->key)
+    _cupsStrFree(mdb->key);
+  if (mdb->info)
+    _cupsStrFree(mdb->info);
+  if (mdb->size_name)
+    _cupsStrFree(mdb->size_name);
+  if (mdb->source)
+    _cupsStrFree(mdb->source);
+  if (mdb->type)
+    _cupsStrFree(mdb->type);
+
+  free(mdb);
+}
+
+
+/*
+ * 'cups_get_media_db()' - Lookup the media entry for a given size.
+ */
+
+static int                             /* O - 1 on match, 0 on failure */
+cups_get_media_db(cups_dinfo_t *dinfo, /* I - Destination information */
+                  _pwg_media_t *pwg,   /* I - PWG media info */
+                  unsigned     flags,  /* I - Media matching flags */
+                  cups_size_t *size)   /* O - Media size/margin/name info */
+{
+  _cups_media_db_t     *mdb,           /* Current media database entry */
+                       *best = NULL,   /* Best matching entry */
+                       key;            /* Search key */
+
+
+ /*
+  * Create the media database as needed...
+  */
+
+  if (!dinfo->media_db)
+    cups_create_media_db(dinfo);
+
+ /*
+  * Find a match...
+  */
+
+  memset(&key, 0, sizeof(key));
+  key.width  = pwg->width;
+  key.length = pwg->length;
+
+  if ((mdb = cupsArrayFind(dinfo->media_db, &key)) != NULL)
+  {
+   /*
+    * Found an exact match, let's figure out the best margins for the flags
+    * supplied...
+    */
+
+    best = mdb;
+
+    if (flags & CUPS_MEDIA_FLAGS_BORDERLESS)
+    {
+     /*
+      * Look for the smallest margins...
+      */
+
+      if (best->left != 0 || best->right != 0 || best->top != 0 ||
+          best->bottom != 0)
+      {
+       for (mdb = (_cups_media_db_t *)cupsArrayNext(dinfo->media_db);
+            mdb && !cups_compare_media_db(mdb, &key);
+            mdb = (_cups_media_db_t *)cupsArrayNext(dinfo->media_db))
+       {
+         if (mdb->left <= best->left && mdb->right <= best->right &&
+             mdb->top <= best->top && mdb->bottom <= best->bottom)
+         {
+           best = mdb;
+           if (mdb->left == 0 && mdb->right == 0 && mdb->bottom == 0 &&
+               mdb->top == 0)
+             break;
+         }
+       }
+      }
+
+     /*
+      * If we need an exact match, return no-match if the size is not
+      * borderless.
+      */
+
+      if ((flags & CUPS_MEDIA_FLAGS_EXACT) &&
+          (best->left || best->right || best->top || best->bottom))
+        return (0);
+    }
+    else if (flags & CUPS_MEDIA_FLAGS_DUPLEX)
+    {
+     /*
+      * Look for the largest margins...
+      */
+
+      for (mdb = (_cups_media_db_t *)cupsArrayNext(dinfo->media_db);
+          mdb && !cups_compare_media_db(mdb, &key);
+          mdb = (_cups_media_db_t *)cupsArrayNext(dinfo->media_db))
+      {
+       if (mdb->left >= best->left && mdb->right >= best->right &&
+           mdb->top >= best->top && mdb->bottom >= best->bottom)
+         best = mdb;
+      }
+    }
+    else
+    {
+     /*
+      * Look for the smallest non-zero margins...
+      */
+
+      for (mdb = (_cups_media_db_t *)cupsArrayNext(dinfo->media_db);
+          mdb && !cups_compare_media_db(mdb, &key);
+          mdb = (_cups_media_db_t *)cupsArrayNext(dinfo->media_db))
+      {
+       if (((mdb->left > 0 && mdb->left <= best->left) || best->left == 0) &&
+           ((mdb->right > 0 && mdb->right <= best->right) ||
+            best->right == 0) &&
+           ((mdb->top > 0 && mdb->top <= best->top) || best->top == 0) &&
+           ((mdb->bottom > 0 && mdb->bottom <= best->bottom) ||
+            best->bottom == 0))
+         best = mdb;
+      }
+    }
+  }
+  else if (flags & CUPS_MEDIA_FLAGS_EXACT)
+  {
+   /*
+    * See if we can do this as a custom size...
+    */
+
+    if (pwg->width < dinfo->min_size.width ||
+        pwg->width > dinfo->max_size.width ||
+        pwg->length < dinfo->min_size.length ||
+        pwg->length > dinfo->max_size.length)
+      return (0);                      /* Out of range */
+
+    if ((flags & CUPS_MEDIA_FLAGS_BORDERLESS) &&
+        (dinfo->min_size.left > 0 || dinfo->min_size.right > 0 ||
+         dinfo->min_size.top > 0 || dinfo->min_size.bottom > 0))
+      return (0);                      /* Not borderless */
+
+    key.size_name = (char *)pwg->pwg;
+    key.bottom    = dinfo->min_size.bottom;
+    key.left      = dinfo->min_size.left;
+    key.right     = dinfo->min_size.right;
+    key.top       = dinfo->min_size.top;
+
+    best = &key;
+  }
+  else if (pwg->width >= dinfo->min_size.width &&
+          pwg->width <= dinfo->max_size.width &&
+          pwg->length >= dinfo->min_size.length &&
+          pwg->length <= dinfo->max_size.length)
+  {
+   /*
+    * Map to custom size...
+    */
+
+    key.size_name = (char *)pwg->pwg;
+    key.bottom    = dinfo->min_size.bottom;
+    key.left      = dinfo->min_size.left;
+    key.right     = dinfo->min_size.right;
+    key.top       = dinfo->min_size.top;
+
+    best = &key;
+  }
+  else
+  {
+   /*
+    * Find a close size...
+    */
+
+    for (mdb = (_cups_media_db_t *)cupsArrayFirst(dinfo->media_db);
+         mdb;
+         mdb = (_cups_media_db_t *)cupsArrayNext(dinfo->media_db))
+      if (cups_is_close_media_db(mdb, &key))
+        break;
+
+    if (!mdb)
+      return (0);
+
+    best = mdb;
+
+    if (flags & CUPS_MEDIA_FLAGS_BORDERLESS)
+    {
+     /*
+      * Look for the smallest margins...
+      */
+
+      if (best->left != 0 || best->right != 0 || best->top != 0 ||
+          best->bottom != 0)
+      {
+       for (mdb = (_cups_media_db_t *)cupsArrayNext(dinfo->media_db);
+            mdb && cups_is_close_media_db(mdb, &key);
+            mdb = (_cups_media_db_t *)cupsArrayNext(dinfo->media_db))
+       {
+         if (mdb->left <= best->left && mdb->right <= best->right &&
+             mdb->top <= best->top && mdb->bottom <= best->bottom)
+         {
+           best = mdb;
+           if (mdb->left == 0 && mdb->right == 0 && mdb->bottom == 0 &&
+               mdb->top == 0)
+             break;
+         }
+       }
+      }
+    }
+    else if (flags & CUPS_MEDIA_FLAGS_DUPLEX)
+    {
+     /*
+      * Look for the largest margins...
+      */
+
+      for (mdb = (_cups_media_db_t *)cupsArrayNext(dinfo->media_db);
+          mdb && cups_is_close_media_db(mdb, &key);
+          mdb = (_cups_media_db_t *)cupsArrayNext(dinfo->media_db))
+      {
+       if (mdb->left >= best->left && mdb->right >= best->right &&
+           mdb->top >= best->top && mdb->bottom >= best->bottom)
+         best = mdb;
+      }
+    }
+    else
+    {
+     /*
+      * Look for the smallest non-zero margins...
+      */
+
+      for (mdb = (_cups_media_db_t *)cupsArrayNext(dinfo->media_db);
+          mdb && cups_is_close_media_db(mdb, &key);
+          mdb = (_cups_media_db_t *)cupsArrayNext(dinfo->media_db))
+      {
+       if (((mdb->left > 0 && mdb->left <= best->left) || best->left == 0) &&
+           ((mdb->right > 0 && mdb->right <= best->right) ||
+            best->right == 0) &&
+           ((mdb->top > 0 && mdb->top <= best->top) || best->top == 0) &&
+           ((mdb->bottom > 0 && mdb->bottom <= best->bottom) ||
+            best->bottom == 0))
+         best = mdb;
+      }
+    }
+  }
+
+  if (best)
+  {
+   /*
+    * Return the matching size...
+    */
+
+    if (best->size_name)
+      strlcpy(size->media, best->size_name, sizeof(size->media));
+    else if (best->key)
+      strlcpy(size->media, best->key, sizeof(size->media));
+    else
+      strlcpy(size->media, pwg->pwg, sizeof(size->media));
+
+    size->width  = best->width;
+    size->length = best->length;
+    size->bottom = best->bottom;
+    size->left   = best->left;
+    size->right  = best->right;
+    size->top    = best->top;
+
+    return (1);
+  }
+
+  return (0);
+}
+
+
+/*
+ * 'cups_is_close_media_db()' - Compare two media entries to see if they are
+ *                              close to the same size.
+ *
+ * Currently we use 5 points (from PostScript) as the matching range...
+ */
+
+static int                             /* O - 1 if the sizes are close */
+cups_is_close_media_db(
+    _cups_media_db_t *a,               /* I - First media entries */
+    _cups_media_db_t *b)               /* I - Second media entries */
+{
+  int  dwidth,                         /* Difference in width */
+       dlength;                        /* Difference in length */
+
+
+  dwidth  = a->width - b->width;
+  dlength = a->length - b->length;
+
+  return (dwidth >= -176 && dwidth <= 176 &&
+          dlength >= -176 && dlength <= 176);
+}
+
+
+/*
+ * 'cups_test_constraints()' - Test constraints.
+ *
+ * TODO: STR #4096 - Need to properly support media-col contraints...
+ */
+
+static cups_array_t *                  /* O - Active constraints */
+cups_test_constraints(
+    cups_dinfo_t  *dinfo,              /* I - Destination information */
+    const char    *new_option,         /* I - Newly selected option */
+    const char    *new_value,          /* I - Newly selected value */
+    int           num_options,         /* I - Number of options */
+    cups_option_t *options,            /* I - Options */
+    int           *num_conflicts,      /* O - Number of conflicting options */
+    cups_option_t **conflicts)         /* O - Conflicting options */
+{
+  int                  i,              /* Looping var */
+                       match;          /* Value matches? */
+  int                  num_matching;   /* Number of matching options */
+  cups_option_t                *matching;      /* Matching options */
+  _cups_dconstres_t    *c;             /* Current constraint */
+  cups_array_t         *active = NULL; /* Active constraints */
+  ipp_attribute_t      *attr;          /* Current attribute */
+  _ipp_value_t         *attrval;       /* Current attribute value */
+  const char           *value;         /* Current value */
+  char                 temp[1024];     /* Temporary string */
+  int                  int_value;      /* Integer value */
+  int                  xres_value,     /* Horizontal resolution */
+                       yres_value;     /* Vertical resolution */
+  ipp_res_t            units_value;    /* Resolution units */
+
+
+  for (c = (_cups_dconstres_t *)cupsArrayFirst(dinfo->constraints);
+       c;
+       c = (_cups_dconstres_t *)cupsArrayNext(dinfo->constraints))
+  {
+    num_matching = 0;
+    matching     = NULL;
+
+    for (attr = ippFirstAttribute(c->collection);
+         attr;
+         attr = ippNextAttribute(c->collection))
+    {
+      if (attr->value_tag == IPP_TAG_BEGIN_COLLECTION)
+        break;                         /* TODO: STR #4096 */
+
+     /*
+      * Get the value for the current attribute in the constraint...
+      */
+
+      if (new_option && new_value && !strcmp(attr->name, new_option))
+        value = new_value;
+      else if ((value = cupsGetOption(attr->name, num_options,
+                                      options)) == NULL)
+        value = cupsGetOption(attr->name, dinfo->num_defaults, dinfo->defaults);
+
+      if (!value)
+      {
+       /*
+        * Not set so this constraint does not apply...
+        */
+
+        break;
+      }
+
+      match = 0;
+
+      switch (attr->value_tag)
+      {
+        case IPP_TAG_INTEGER :
+        case IPP_TAG_ENUM :
+           int_value = atoi(value);
+
+           for (i = attr->num_values, attrval = attr->values;
+                i > 0;
+                i --, attrval ++)
+           {
+             if (attrval->integer == int_value)
+             {
+               match = 1;
+               break;
+             }
+            }
+            break;
+
+        case IPP_TAG_BOOLEAN :
+           int_value = !strcmp(value, "true");
+
+           for (i = attr->num_values, attrval = attr->values;
+                i > 0;
+                i --, attrval ++)
+           {
+             if (attrval->boolean == int_value)
+             {
+               match = 1;
+               break;
+             }
+            }
+            break;
+
+        case IPP_TAG_RANGE :
+           int_value = atoi(value);
+
+           for (i = attr->num_values, attrval = attr->values;
+                i > 0;
+                i --, attrval ++)
+           {
+             if (int_value >= attrval->range.lower &&
+                 int_value <= attrval->range.upper)
+             {
+               match = 1;
+               break;
+             }
+            }
+            break;
+
+        case IPP_TAG_RESOLUTION :
+           if (sscanf(value, "%dx%d%15s", &xres_value, &yres_value, temp) != 3)
+           {
+             if (sscanf(value, "%d%15s", &xres_value, temp) != 2)
+               break;
+
+             yres_value = xres_value;
+           }
+
+           if (!strcmp(temp, "dpi"))
+             units_value = IPP_RES_PER_INCH;
+           else if (!strcmp(temp, "dpc") || !strcmp(temp, "dpcm"))
+             units_value = IPP_RES_PER_CM;
+           else
+             break;
+
+           for (i = attr->num_values, attrval = attr->values;
+                i > 0;
+                i --, attrval ++)
+           {
+             if (attrval->resolution.xres == xres_value &&
+                 attrval->resolution.yres == yres_value &&
+                 attrval->resolution.units == units_value)
+             {
+               match = 1;
+               break;
+             }
+           }
+            break;
+
+       case IPP_TAG_TEXT :
+       case IPP_TAG_NAME :
+       case IPP_TAG_KEYWORD :
+       case IPP_TAG_CHARSET :
+       case IPP_TAG_URI :
+       case IPP_TAG_URISCHEME :
+       case IPP_TAG_MIMETYPE :
+       case IPP_TAG_LANGUAGE :
+       case IPP_TAG_TEXTLANG :
+       case IPP_TAG_NAMELANG :
+           for (i = attr->num_values, attrval = attr->values;
+                i > 0;
+                i --, attrval ++)
+           {
+             if (!strcmp(attrval->string.text, value))
+             {
+               match = 1;
+               break;
+             }
+            }
+           break;
+
+        default :
+            break;
+      }
+
+      if (!match)
+        break;
+
+      num_matching = cupsAddOption(attr->name, value, num_matching, &matching);
+    }
+
+    if (!attr)
+    {
+      if (!active)
+        active = cupsArrayNew(NULL, NULL);
+
+      cupsArrayAdd(active, c);
+
+      if (num_conflicts && conflicts)
+      {
+        cups_option_t  *moption;       /* Matching option */
+
+        for (i = num_matching, moption = matching; i > 0; i --, moption ++)
+          *num_conflicts = cupsAddOption(moption->name, moption->value,
+                                        *num_conflicts, conflicts);
+      }
+    }
+
+    cupsFreeOptions(num_matching, matching);
+  }
+
+  return (active);
+}
+
+
+/*
+ * End of "$Id: dest-options.c 11173 2013-07-23 12:31:34Z msweet $".
+ */
index b068f21..9999c0c 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: dest.c 10379 2012-03-23 22:16:22Z mike $"
+ * "$Id: dest.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   User-defined destination (and option) support for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2013 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
  *
  * Contents:
  *
- *   cupsAddDest()                  - Add a destination to the list of
- *                                    destinations.
+ *   cupsAddDest()                 - Add a destination to the list of
+ *                                   destinations.
  *   _cupsAppleCopyDefaultPaperID() - Get the default paper ID.
  *   _cupsAppleCopyDefaultPrinter() - Get the default printer at this location.
  *   _cupsAppleGetUseLastPrinter()  - Get whether to use the last used printer.
  *   _cupsAppleSetDefaultPaperID()  - Set the default paper id.
- *   _cupsAppleSetDefaultPrinter()  - Set the default printer for this location.
+ *   _cupsAppleSetDefaultPrinter()  - Set the default printer for this
+ *                                   location.
  *   _cupsAppleSetUseLastPrinter()  - Set whether to use the last used printer.
- *   cupsFreeDests()                - Free the memory used by the list of
- *                                    destinations.
- *   cupsGetDest()                  - Get the named destination from the list.
- *   _cupsGetDests()                - Get destinations from a server.
- *   cupsGetDests()                 - Get the list of destinations from the
- *                                    default server.
- *   cupsGetDests2()                - Get the list of destinations from the
- *                                    specified server.
- *   cupsGetNamedDest()             - Get options for the named destination.
- *   cupsRemoveDest()               - Remove a destination from the destination
- *                                    list.
- *   cupsSetDefaultDest()           - Set the default destination.
- *   cupsSetDests()                 - Save the list of destinations for the
- *                                    default server.
- *   cupsSetDests2()                - Save the list of destinations for the
- *                                    specified server.
- *   _cupsUserDefault()             - Get the user default printer from
- *                                    environment variables and location
- *                                    information.
- *   appleCopyLocations()           - Copy the location history array.
- *   appleCopyNetwork()             - Get the network ID for the current
- *                                    location.
- *   appleGetPaperSize()            - Get the default paper size.
- *   appleGetPrinter()              - Get a printer from the history array.
- *   cups_add_dest()                - Add a destination to the array.
- *   cups_compare_dests()           - Compare two destinations.
- *   cups_find_dest()               - Find a destination using a binary search.
- *   cups_get_default()             - Get the default destination from an
- *                                    lpoptions file.
- *   cups_get_dests()               - Get destinations from a file.
- *   cups_make_string()             - Make a comma-separated string of values
- *                                    from an IPP attribute.
+ *   cupsConnectDest()             - Connect to the server for a destination.
+ *   cupsConnectDestBlock()        - Connect to the server for a destination.
+ *   cupsCopyDest()                - Copy a destination.
+ *   cupsEnumDests()               - Enumerate available destinations with a
+ *                                   callback function.
+ *   cupsEnumDestsBlock()          - Enumerate available destinations with a
+ *                                   block.
+ *   cupsFreeDests()               - Free the memory used by the list of
+ *                                   destinations.
+ *   cupsGetDest()                 - Get the named destination from the list.
+ *   _cupsGetDestResource()        - Get the resource path and URI for a
+ *                                   destination.
+ *   _cupsGetDests()               - Get destinations from a server.
+ *   cupsGetDests()                - Get the list of destinations from the
+ *                                   default server.
+ *   cupsGetDests2()               - Get the list of destinations from the
+ *                                   specified server.
+ *   cupsGetNamedDest()            - Get options for the named destination.
+ *   cupsRemoveDest()              - Remove a destination from the destination
+ *                                   list.
+ *   cupsSetDefaultDest()          - Set the default destination.
+ *   cupsSetDests()                - Save the list of destinations for the
+ *                                   default server.
+ *   cupsSetDests2()               - Save the list of destinations for the
+ *                                   specified server.
+ *   _cupsUserDefault()            - Get the user default printer from
+ *                                   environment variables and location
+ *                                   information.
+ *   appleCopyLocations()          - Copy the location history array.
+ *   appleCopyNetwork()            - Get the network ID for the current
+ *                                   location.
+ *   appleGetPaperSize()           - Get the default paper size.
+ *   appleGetPrinter()             - Get a printer from the history array.
+ *   cups_add_dest()               - Add a destination to the array.
+ *   cups_block_cb()               - Enumeration callback for block API.
+ *   cups_compare_dests()          - Compare two destinations.
+ *   cups_dnssd_browse_cb()        - Browse for printers.
+ *   cups_dnssd_browse_cb()        - Browse for printers.
+ *   cups_dnssd_client_cb()        - Avahi client callback function.
+ *   cups_dnssd_compare_device()    - Compare two devices.
+ *   cups_dnssd_free_device()      - Free the memory used by a device.
+ *   cups_dnssd_get_device()       - Lookup a device and create it as needed.
+ *   cups_dnssd_local_cb()         - Browse for local printers.
+ *   cups_dnssd_poll_cb()          - Wait for input on the specified file
+ *                                   descriptors.
+ *   cups_dnssd_query_cb()         - Process query data.
+ *   cups_dnssd_resolve()          - Resolve a Bonjour printer URI.
+ *   cups_dnssd_resolve_cb()       - See if we should continue resolving.
+ *   cups_dnssd_unquote()          - Unquote a name string.
+ *   cups_find_dest()              - Find a destination using a binary search.
+ *   cups_get_default()            - Get the default destination from an
+ *                                   lpoptions file.
+ *   cups_get_dests()              - Get destinations from a file.
+ *   cups_make_string()            - Make a comma-separated string of values
+ *                                   from an IPP attribute.
  */
 
 /*
 #  include <notify.h>
 #endif /* HAVE_NOTIFY_H */
 
+#ifdef HAVE_POLL
+#  include <poll.h>
+#endif /* HAVE_POLL */
+
+#ifdef HAVE_DNSSD
+#  include <dns_sd.h>
+#endif /* HAVE_DNSSD */
+
+#ifdef HAVE_AVAHI
+#  include <avahi-client/client.h>
+#  include <avahi-client/lookup.h>
+#  include <avahi-common/simple-watch.h>
+#  include <avahi-common/domain.h>
+#  include <avahi-common/error.h>
+#  include <avahi-common/malloc.h>
+#define kDNSServiceMaxDomainName AVAHI_DOMAIN_NAME_MAX
+#endif /* HAVE_AVAHI */
+
+
+/*
+ * Constants...
+ */
+
 #ifdef __APPLE__
 #  include <SystemConfiguration/SystemConfiguration.h>
 #  define kCUPSPrintingPrefs   CFSTR("org.cups.PrintingPrefs")
 
 
 /*
+ * Types...
+ */
+
+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
+typedef enum _cups_dnssd_state_e       /* Enumerated device state */
+{
+  _CUPS_DNSSD_NEW,
+  _CUPS_DNSSD_QUERY,
+  _CUPS_DNSSD_PENDING,
+  _CUPS_DNSSD_ACTIVE,
+  _CUPS_DNSSD_LOCAL,
+  _CUPS_DNSSD_INCOMPATIBLE,
+  _CUPS_DNSSD_ERROR
+} _cups_dnssd_state_t;
+
+typedef struct _cups_dnssd_data_s      /* Enumeration data */
+{
+#  ifdef HAVE_DNSSD
+  DNSServiceRef                main_ref;       /* Main service reference */
+#  else /* HAVE_AVAHI */
+  AvahiSimplePoll      *simple_poll;   /* Polling interface */
+  AvahiClient          *client;        /* Client information */
+  int                  got_data;       /* Did we get data? */
+#  endif /* HAVE_DNSSD */
+  cups_dest_cb_t       cb;             /* Callback */
+  void                 *user_data;     /* User data pointer */
+  cups_ptype_t         type,           /* Printer type filter */
+                       mask;           /* Printer type mask */
+  cups_array_t         *devices;       /* Devices found so far */
+} _cups_dnssd_data_t;
+
+typedef struct _cups_dnssd_device_s    /* Enumerated device */
+{
+  _cups_dnssd_state_t  state;          /* State of device listing */
+#  ifdef HAVE_DNSSD
+  DNSServiceRef                ref;            /* Service reference for query */
+#  else /* HAVE_AVAHI */
+  AvahiRecordBrowser   *ref;           /* Browser for query */
+#  endif /* HAVE_DNSSD */
+  char                 *domain,        /* Domain name */
+                       *fullName,      /* Full name */
+                       *regtype;       /* Registration type */
+  cups_ptype_t         type;           /* Device registration type */
+  cups_dest_t          dest;           /* Destination record */
+} _cups_dnssd_device_t;
+
+typedef struct _cups_dnssd_resolve_s   /* Data for resolving URI */
+{
+  int                  *cancel;        /* Pointer to "cancel" variable */
+  struct timeval       end_time;       /* Ending time */
+} _cups_dnssd_resolve_t;
+#endif /* HAVE_DNSSD */
+
+
+/*
  * Local functions...
  */
 
 #ifdef __APPLE__
-static CFArrayRef appleCopyLocations(void);
-static CFStringRef appleCopyNetwork(void);
-static char    *appleGetPaperSize(char *name, int namesize);
-static CFStringRef appleGetPrinter(CFArrayRef locations, CFStringRef network,
-                                  CFIndex *locindex);
+static CFArrayRef      appleCopyLocations(void);
+static CFStringRef     appleCopyNetwork(void);
+static char            *appleGetPaperSize(char *name, int namesize);
+static CFStringRef     appleGetPrinter(CFArrayRef locations,
+                                       CFStringRef network, CFIndex *locindex);
 #endif /* __APPLE__ */
-static cups_dest_t *cups_add_dest(const char *name, const char *instance,
-                                 int *num_dests, cups_dest_t **dests);
-static int     cups_compare_dests(cups_dest_t *a, cups_dest_t *b);
-static int     cups_find_dest(const char *name, const char *instance,
-                              int num_dests, cups_dest_t *dests, int prev,
-                              int *rdiff);
-static char    *cups_get_default(const char *filename, char *namebuf,
-                                 size_t namesize, const char **instance);
-static int     cups_get_dests(const char *filename, const char *match_name,
-                              const char *match_inst, int user_default_set,
-                              int num_dests, cups_dest_t **dests);
-static char    *cups_make_string(ipp_attribute_t *attr, char *buffer,
-                                 size_t bufsize);
+static cups_dest_t     *cups_add_dest(const char *name, const char *instance,
+                                      int *num_dests, cups_dest_t **dests);
+#ifdef __BLOCKS__
+static int             cups_block_cb(cups_dest_block_t block, unsigned flags,
+                                     cups_dest_t *dest);
+#endif /* __BLOCKS__ */
+static int             cups_compare_dests(cups_dest_t *a, cups_dest_t *b);
+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
+#  ifdef HAVE_DNSSD
+static void            cups_dnssd_browse_cb(DNSServiceRef sdRef,
+                                            DNSServiceFlags flags,
+                                            uint32_t interfaceIndex,
+                                            DNSServiceErrorType errorCode,
+                                            const char *serviceName,
+                                            const char *regtype,
+                                            const char *replyDomain,
+                                            void *context);
+#  else /* HAVE_AVAHI */
+static void            cups_dnssd_browse_cb(AvahiServiceBrowser *browser,
+                                            AvahiIfIndex interface,
+                                            AvahiProtocol protocol,
+                                            AvahiBrowserEvent event,
+                                            const char *serviceName,
+                                            const char *regtype,
+                                            const char *replyDomain,
+                                            AvahiLookupResultFlags flags,
+                                            void *context);
+static void            cups_dnssd_client_cb(AvahiClient *client,
+                                            AvahiClientState state,
+                                            void *context);
+#  endif /* HAVE_DNSSD */
+static int             cups_dnssd_compare_devices(_cups_dnssd_device_t *a,
+                                                  _cups_dnssd_device_t *b);
+static void            cups_dnssd_free_device(_cups_dnssd_device_t *device,
+                                              _cups_dnssd_data_t *data);
+static _cups_dnssd_device_t *
+                       cups_dnssd_get_device(_cups_dnssd_data_t *data,
+                                             const char *serviceName,
+                                             const char *regtype,
+                                             const char *replyDomain);
+#  ifdef HAVE_DNSSD
+static void            cups_dnssd_local_cb(DNSServiceRef sdRef,
+                                           DNSServiceFlags flags,
+                                           uint32_t interfaceIndex,
+                                           DNSServiceErrorType errorCode,
+                                           const char *serviceName,
+                                           const char *regtype,
+                                           const char *replyDomain,
+                                           void *context);
+static void            cups_dnssd_query_cb(DNSServiceRef sdRef,
+                                           DNSServiceFlags flags,
+                                           uint32_t interfaceIndex,
+                                           DNSServiceErrorType errorCode,
+                                           const char *fullName,
+                                           uint16_t rrtype, uint16_t rrclass,
+                                           uint16_t rdlen, const void *rdata,
+                                           uint32_t ttl, void *context);
+#  else /* HAVE_AVAHI */
+static int             cups_dnssd_poll_cb(struct pollfd *pollfds,
+                                          unsigned int num_pollfds,
+                                          int timeout, void *context);
+static void            cups_dnssd_query_cb(AvahiRecordBrowser *browser,
+                                           AvahiIfIndex interface,
+                                           AvahiProtocol protocol,
+                                           AvahiBrowserEvent event,
+                                           const char *name, uint16_t rrclass,
+                                           uint16_t rrtype, const void *rdata,
+                                           size_t rdlen,
+                                           AvahiLookupResultFlags flags,
+                                           void *context);
+#  endif /* HAVE_DNSSD */
+static const char      *cups_dnssd_resolve(cups_dest_t *dest, const char *uri,
+                                           int msec, int *cancel,
+                                           cups_dest_cb_t cb, void *user_data);
+static int             cups_dnssd_resolve_cb(void *context);
+static void            cups_dnssd_unquote(char *dst, const char *src,
+                                          size_t dstsize);
+#endif /* HAVE_DNSSD || HAVE_AVAHI */
+static int             cups_find_dest(const char *name, const char *instance,
+                                      int num_dests, cups_dest_t *dests, int prev,
+                                      int *rdiff);
+static char            *cups_get_default(const char *filename, char *namebuf,
+                                         size_t namesize, const char **instance);
+static int             cups_get_dests(const char *filename, const char *match_name,
+                                      const char *match_inst, int user_default_set,
+                                      int num_dests, cups_dest_t **dests);
+static char            *cups_make_string(ipp_attribute_t *attr, char *buffer,
+                                         size_t bufsize);
 
 
 /*
@@ -226,11 +403,6 @@ _cupsAppleCopyDefaultPrinter(void)
     return (NULL);
   }
 
-//#  ifdef DEBUG
-//  CFStringGetCString(network, name, namesize, kCFStringEncodingUTF8);
-//  DEBUG_printf(("2_cupsUserDefault: network=\"%s\"", name));
-//#  endif /* DEBUG */
-
  /*
   * Lookup the network in the preferences...
   */
@@ -419,6 +591,611 @@ _cupsAppleSetUseLastPrinter(
 
 
 /*
+ * 'cupsConnectDest()' - Connect to the server for a destination.
+ *
+ * Connect to the destination, returning a new http_t connection object and
+ * optionally the resource path to use for the destination.  These calls will
+ * block until a connection is made, the timeout expires, the integer pointed
+ * to by "cancel" is non-zero, or the callback function (or block) returns 0,
+ * The caller is responsible for calling httpClose() on the returned object.
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
+
+http_t *                               /* O - Connection to server or @code NULL@ */
+cupsConnectDest(
+    cups_dest_t    *dest,              /* I - Destination */
+    unsigned       flags,              /* I - Connection flags */
+    int            msec,               /* I - Timeout in milliseconds */
+    int            *cancel,            /* I - Pointer to "cancel" variable */
+    char           *resource,          /* I - Resource buffer */
+    size_t         resourcesize,       /* I - Size of resource buffer */
+    cups_dest_cb_t cb,                 /* I - Callback function */
+    void           *user_data)         /* I - User data pointer */
+{
+  const char   *uri;                   /* Printer URI */
+  char         scheme[32],             /* URI scheme */
+               userpass[256],          /* Username and password (unused) */
+               hostname[256],          /* Hostname */
+               tempresource[1024];     /* Temporary resource buffer */
+  int          port;                   /* Port number */
+  char         portstr[16];            /* Port number string */
+  http_encryption_t encryption;                /* Encryption to use */
+  http_addrlist_t *addrlist;           /* Address list for server */
+  http_t       *http;                  /* Connection to server */
+
+
+ /*
+  * Range check input...
+  */
+
+  if (!dest)
+  {
+    if (resource)
+      *resource = '\0';
+
+    _cupsSetError(IPP_INTERNAL_ERROR, strerror(EINVAL), 0);
+    return (NULL);
+  }
+
+  if (!resource || resourcesize < 1)
+  {
+    resource     = tempresource;
+    resourcesize = sizeof(tempresource);
+  }
+
+ /*
+  * Grab the printer URI...
+  */
+
+  if ((uri = cupsGetOption("printer-uri-supported", dest->num_options,
+                           dest->options)) == NULL)
+  {
+    _cupsSetError(IPP_INTERNAL_ERROR, strerror(ENOENT), 0);
+
+    if (cb)
+      (*cb)(user_data, CUPS_DEST_FLAGS_UNCONNECTED | CUPS_DEST_FLAGS_ERROR,
+            dest);
+
+    return (NULL);
+  }
+
+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
+  if (strstr(uri, "._tcp"))
+  {
+    if ((uri = cups_dnssd_resolve(dest, uri, msec, cancel, cb,
+                                  user_data)) == NULL)
+      return (NULL);
+  }
+#endif /* HAVE_DNSSD || HAVE_AVAHI */
+
+  if (httpSeparateURI(HTTP_URI_CODING_ALL, uri, scheme, sizeof(scheme),
+                      userpass, sizeof(userpass), hostname, sizeof(hostname),
+                      &port, resource, resourcesize) < HTTP_URI_OK)
+  {
+    _cupsSetError(IPP_INTERNAL_ERROR, _("Bad printer URI."), 1);
+
+    if (cb)
+      (*cb)(user_data, CUPS_DEST_FLAGS_UNCONNECTED | CUPS_DEST_FLAGS_ERROR,
+            dest);
+
+    return (NULL);
+  }
+
+ /*
+  * Lookup the address for the server...
+  */
+
+  if (cb)
+    (*cb)(user_data, CUPS_DEST_FLAGS_UNCONNECTED | CUPS_DEST_FLAGS_RESOLVING,
+          dest);
+
+  snprintf(portstr, sizeof(portstr), "%d", port);
+
+  if ((addrlist = httpAddrGetList(hostname, AF_UNSPEC, portstr)) == NULL)
+  {
+    if (cb)
+      (*cb)(user_data, CUPS_DEST_FLAGS_UNCONNECTED | CUPS_DEST_FLAGS_ERROR,
+            dest);
+
+    return (NULL);
+  }
+
+  if (cancel && *cancel)
+  {
+    httpAddrFreeList(addrlist);
+
+    if (cb)
+      (*cb)(user_data, CUPS_DEST_FLAGS_UNCONNECTED | CUPS_DEST_FLAGS_CANCELED,
+            dest);
+
+    return (NULL);
+  }
+
+ /*
+  * Create the HTTP object pointing to the server referenced by the URI...
+  */
+
+  if (!strcmp(scheme, "ipps") || port == 443)
+    encryption = HTTP_ENCRYPT_ALWAYS;
+  else
+    encryption = HTTP_ENCRYPT_IF_REQUESTED;
+
+  http = _httpCreate(hostname, port, addrlist, encryption, AF_UNSPEC);
+
+ /*
+  * Connect if requested...
+  */
+
+  if (flags & CUPS_DEST_FLAGS_UNCONNECTED)
+  {
+    if (cb)
+      (*cb)(user_data, CUPS_DEST_FLAGS_UNCONNECTED, dest);
+  }
+  else
+  {
+    if (cb)
+      (*cb)(user_data, CUPS_DEST_FLAGS_UNCONNECTED | CUPS_DEST_FLAGS_CONNECTING,
+            dest);
+
+    if (!httpReconnect2(http, msec, cancel) && cb)
+    {
+      if (cancel && *cancel)
+       (*cb)(user_data,
+             CUPS_DEST_FLAGS_UNCONNECTED | CUPS_DEST_FLAGS_CONNECTING, dest);
+      else
+       (*cb)(user_data, CUPS_DEST_FLAGS_UNCONNECTED | CUPS_DEST_FLAGS_ERROR,
+             dest);
+    }
+    else if (cb)
+      (*cb)(user_data, CUPS_DEST_FLAGS_NONE, dest);
+  }
+
+  return (http);
+}
+
+
+#ifdef __BLOCKS__
+/*
+ * 'cupsConnectDestBlock()' - Connect to the server for a destination.
+ *
+ * Connect to the destination, returning a new http_t connection object and
+ * optionally the resource path to use for the destination.  These calls will
+ * block until a connection is made, the timeout expires, the integer pointed
+ * to by "cancel" is non-zero, or the callback function (or block) returns 0,
+ * The caller is responsible for calling httpClose() on the returned object.
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
+
+http_t *                               /* O - Connection to server or @code NULL@ */
+cupsConnectDestBlock(
+    cups_dest_t       *dest,           /* I - Destination */
+    unsigned          flags,           /* I - Connection flags */
+    int               msec,            /* I - Timeout in milliseconds */
+    int               *cancel,         /* I - Pointer to "cancel" variable */
+    char              *resource,       /* I - Resource buffer */
+    size_t            resourcesize,    /* I - Size of resource buffer */
+    cups_dest_block_t block)           /* I - Callback block */
+{
+  return (cupsConnectDest(dest, flags, msec, cancel, resource, resourcesize,
+                          (cups_dest_cb_t)cups_block_cb, (void *)block));
+}
+#endif /* __BLOCKS__ */
+
+
+/*
+ * 'cupsCopyDest()' - Copy a destination.
+ *
+ * Make a copy of the destination to an array of destinations (or just a single
+ * copy) - for use with the cupsEnumDests* functions. The caller is responsible
+ * for calling cupsFreeDests() on the returned object(s).
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
+
+int
+cupsCopyDest(cups_dest_t *dest,
+             int         num_dests,
+             cups_dest_t **dests)
+{
+  int          i;                      /* Looping var */
+  cups_dest_t  *new_dest;              /* New destination pointer */
+  cups_option_t        *new_option,            /* Current destination option */
+               *option;                /* Current parent option */
+
+
+ /*
+  * Range check input...
+  */
+
+  if (!dest || num_dests < 0 || !dests)
+    return (num_dests);
+
+ /*
+  * See if the destination already exists...
+  */
+
+  if ((new_dest = cupsGetDest(dest->name, dest->instance, num_dests,
+                              *dests)) != NULL)
+  {
+   /*
+    * Protect against copying destination to itself...
+    */
+
+    if (new_dest == dest)
+      return (num_dests);
+
+   /*
+    * Otherwise, free the options...
+    */
+
+    cupsFreeOptions(new_dest->num_options, new_dest->options);
+
+    new_dest->num_options = 0;
+    new_dest->options     = NULL;
+  }
+  else
+    new_dest = cups_add_dest(dest->name, dest->instance, &num_dests, dests);
+
+  if (new_dest)
+  {
+    if ((new_dest->options = calloc(sizeof(cups_option_t),
+                                    dest->num_options)) == NULL)
+      return (cupsRemoveDest(dest->name, dest->instance, num_dests, dests));
+
+    new_dest->num_options = dest->num_options;
+
+    for (i = dest->num_options, option = dest->options,
+            new_option = new_dest->options;
+        i > 0;
+        i --, option ++, new_option ++)
+    {
+      new_option->name  = _cupsStrRetain(option->name);
+      new_option->value = _cupsStrRetain(option->value);
+    }
+  }
+
+  return (num_dests);
+}
+
+
+/*
+ * 'cupsEnumDests()' - Enumerate available destinations with a callback function.
+ *
+ * Destinations are enumerated from one or more sources. The callback function
+ * receives the @code user_data@ pointer, destination name, instance, number of
+ * options, and options which can be used as input to the @link cupsAddDest@
+ * function.  The function must return 1 to continue enumeration or 0 to stop.
+ *
+ * Enumeration happens on the current thread and does not return until all
+ * destinations have been enumerated or the callback function returns 0.
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
+
+int                                    /* O - 1 on success, 0 on failure */
+cupsEnumDests(
+    unsigned       flags,              /* I - Enumeration flags */
+    int            msec,               /* I - Timeout in milliseconds,
+                                        *     -1 for indefinite */
+    int            *cancel,            /* I - Pointer to "cancel" variable */
+    cups_ptype_t   type,               /* I - Printer type bits */
+    cups_ptype_t   mask,               /* I - Mask for printer type bits */
+    cups_dest_cb_t cb,                 /* I - Callback function */
+    void           *user_data)         /* I - User data */
+{
+  int                  i,              /* Looping var */
+                       num_dests;      /* Number of destinations */
+  cups_dest_t          *dests = NULL,  /* Destinations */
+                       *dest;          /* Current destination */
+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
+  int                  count,          /* Number of queries started */
+                       remaining;      /* Remainder of timeout */
+  _cups_dnssd_data_t   data;           /* Data for callback */
+  _cups_dnssd_device_t *device;        /* Current device */
+#  ifdef HAVE_DNSSD
+  int                  nfds,           /* Number of files responded */
+                       main_fd;        /* File descriptor for lookups */
+  DNSServiceRef                ipp_ref,        /* IPP browser */
+                       local_ipp_ref;  /* Local IPP browser */
+#    ifdef HAVE_SSL
+  DNSServiceRef                ipps_ref,       /* IPPS browser */
+                       local_ipps_ref; /* Local IPPS browser */
+#    endif /* HAVE_SSL */
+#    ifdef HAVE_POLL
+  struct pollfd                pfd;            /* Polling data */
+#    else
+  fd_set               input;          /* Input set for select() */
+  struct timeval       timeout;        /* Timeout for select() */
+#    endif /* HAVE_POLL */
+#  else /* HAVE_AVAHI */
+  int                  error;          /* Error value */
+  AvahiServiceBrowser  *ipp_ref;       /* IPP browser */
+#    ifdef HAVE_SSL
+  AvahiServiceBrowser  *ipps_ref;      /* IPPS browser */
+#    endif /* HAVE_SSL */
+#  endif /* HAVE_DNSSD */
+#endif /* HAVE_DNSSD || HAVE_AVAHI */
+
+ /*
+  * Range check input...
+  */
+
+  (void)flags;
+
+  if (!cb)
+    return (0);
+
+ /*
+  * Get the list of local printers and pass them to the callback function...
+  */
+
+  num_dests = _cupsGetDests(CUPS_HTTP_DEFAULT, CUPS_GET_PRINTERS, NULL, &dests,
+                            type, mask);
+
+  for (i = num_dests, dest = dests;
+       i > 0 && (!cancel || !*cancel);
+       i --, dest ++)
+    if (!(*cb)(user_data, i > 1 ? CUPS_DEST_FLAGS_MORE : CUPS_DEST_FLAGS_NONE,
+               dest))
+      break;
+
+  cupsFreeDests(num_dests, dests);
+
+  if (i > 0 || msec == 0)
+    return (1);
+
+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
+ /*
+  * Get Bonjour-shared printers...
+  */
+
+  data.type    = type;
+  data.mask    = mask;
+  data.devices = cupsArrayNew3((cups_array_func_t)cups_dnssd_compare_devices,
+                               NULL, NULL, 0, NULL,
+                               (cups_afree_func_t)cups_dnssd_free_device);
+
+#  ifdef HAVE_DNSSD
+  if (DNSServiceCreateConnection(&data.main_ref) != kDNSServiceErr_NoError)
+    return (0);
+
+  main_fd = DNSServiceRefSockFD(data.main_ref);
+
+  ipp_ref = data.main_ref;
+  DNSServiceBrowse(&ipp_ref, kDNSServiceFlagsShareConnection, 0,
+                   "_ipp._tcp", NULL,
+                   (DNSServiceBrowseReply)cups_dnssd_browse_cb, &data);
+
+  local_ipp_ref = data.main_ref;
+  DNSServiceBrowse(&local_ipp_ref, kDNSServiceFlagsShareConnection,
+                   kDNSServiceInterfaceIndexLocalOnly,
+                   "_ipp._tcp", NULL,
+                   (DNSServiceBrowseReply)cups_dnssd_local_cb, &data);
+
+#    ifdef HAVE_SSL
+  ipps_ref = data.main_ref;
+  DNSServiceBrowse(&ipps_ref, kDNSServiceFlagsShareConnection, 0,
+                   "_ipps._tcp", NULL,
+                   (DNSServiceBrowseReply)cups_dnssd_browse_cb, &data);
+
+  local_ipps_ref = data.main_ref;
+  DNSServiceBrowse(&local_ipps_ref, kDNSServiceFlagsShareConnection,
+                   kDNSServiceInterfaceIndexLocalOnly,
+                   "_ipps._tcp", NULL,
+                   (DNSServiceBrowseReply)cups_dnssd_local_cb, &data);
+#    endif /* HAVE_SSL */
+
+#  else /* HAVE_AVAHI */
+  if ((data.simple_poll = avahi_simple_poll_new()) == NULL)
+  {
+    DEBUG_puts("cupsEnumDests: Unable to create Avahi simple poll object.");
+    return (1);
+  }
+
+  avahi_simple_poll_set_func(data.simple_poll, cups_dnssd_poll_cb, &data);
+
+  data.client = avahi_client_new(avahi_simple_poll_get(data.simple_poll),
+                                0, cups_dnssd_client_cb, &data,
+                                &error);
+  if (!data.client)
+  {
+    DEBUG_puts("cupsEnumDests: Unable to create Avahi client.");
+    avahi_simple_poll_free(data.simple_poll);
+    return (1);
+  }
+
+  ipp_ref  = avahi_service_browser_new(data.client, AVAHI_IF_UNSPEC,
+                                      AVAHI_PROTO_UNSPEC, "_ipp._tcp", NULL,
+                                      0, cups_dnssd_browse_cb, &data);
+#    ifdef HAVE_SSL
+  ipps_ref = avahi_service_browser_new(data.client, AVAHI_IF_UNSPEC,
+                                      AVAHI_PROTO_UNSPEC, "_ipps._tcp", NULL,
+                                      0, cups_dnssd_browse_cb, &data);
+#    endif /* HAVE_SSL */
+#  endif /* HAVE_DNSSD */
+
+  if (msec < 0)
+    remaining = INT_MAX;
+  else
+    remaining = msec;
+
+  while (remaining > 0 && (!cancel || !*cancel))
+  {
+   /*
+    * Check for input...
+    */
+
+#  ifdef HAVE_DNSSD
+#    ifdef HAVE_POLL
+    pfd.fd     = main_fd;
+    pfd.events = POLLIN;
+
+    nfds = poll(&pfd, 1, remaining > 250 ? 250 : remaining);
+
+#    else
+    FD_ZERO(&input);
+    FD_SET(main_fd, &input);
+
+    timeout.tv_sec  = 0;
+    timeout.tv_usec = remaining > 250 ? 250000 : remaining * 1000;
+
+    nfds = select(main_fd + 1, &input, NULL, NULL, &timeout);
+#    endif /* HAVE_POLL */
+
+    if (nfds > 0)
+      DNSServiceProcessResult(data.main_ref);
+    else if (nfds == 0)
+      remaining -= 250;
+
+#  else /* HAVE_AVAHI */
+    data.got_data = 0;
+
+    if ((error = avahi_simple_poll_iterate(data.simple_poll, 250)) > 0)
+    {
+     /*
+      * We've been told to exit the loop.  Perhaps the connection to
+      * Avahi failed.
+      */
+
+      break;
+    }
+
+    if (!data.got_data)
+      remaining -= 250;
+#  endif /* HAVE_DNSSD */
+
+    for (device = (_cups_dnssd_device_t *)cupsArrayFirst(data.devices),
+             count = 0;
+         device;
+         device = (_cups_dnssd_device_t *)cupsArrayNext(data.devices))
+    {
+      if (device->ref)
+        count ++;
+
+      if (!device->ref && device->state == _CUPS_DNSSD_NEW)
+      {
+       DEBUG_printf(("1cupsEnumDests: Querying '%s'.", device->fullName));
+
+#  ifdef HAVE_DNSSD
+        device->ref = data.main_ref;
+
+       if (DNSServiceQueryRecord(&(device->ref),
+                                 kDNSServiceFlagsShareConnection,
+                                 0, device->fullName,
+                                 kDNSServiceType_TXT,
+                                 kDNSServiceClass_IN,
+                                 (DNSServiceQueryRecordReply)cups_dnssd_query_cb,
+                                 &data) == kDNSServiceErr_NoError)
+       {
+         count ++;
+       }
+       else
+       {
+         device->ref   = 0;
+         device->state = _CUPS_DNSSD_ERROR;
+
+         DEBUG_puts("1cupsEnumDests: Query failed.");
+       }
+
+#  else /* HAVE_AVAHI */
+       if ((device->ref = avahi_record_browser_new(data.client,
+                                                   AVAHI_IF_UNSPEC,
+                                                   AVAHI_PROTO_UNSPEC,
+                                                   device->fullName,
+                                                   AVAHI_DNS_CLASS_IN,
+                                                   AVAHI_DNS_TYPE_TXT,
+                                                   0,
+                                                   cups_dnssd_query_cb,
+                                                   &data)) != NULL)
+        {
+         count ++;
+       }
+       else
+       {
+         device->state = _CUPS_DNSSD_ERROR;
+
+         DEBUG_printf(("1cupsEnumDests: Query failed: %s",
+                       avahi_strerror(avahi_client_errno(data.client))));
+       }
+#  endif /* HAVE_DNSSD */
+      }
+      else if (device->ref && device->state == _CUPS_DNSSD_PENDING)
+      {
+        if ((device->type & mask) == type)
+        {
+         if (!(*cb)(user_data, CUPS_DEST_FLAGS_NONE, &device->dest))
+         {
+           remaining = -1;
+           break;
+         }
+        }
+
+        device->state = _CUPS_DNSSD_ACTIVE;
+      }
+    }
+  }
+
+  cupsArrayDelete(data.devices);
+
+#  ifdef HAVE_DNSSD
+  DNSServiceRefDeallocate(ipp_ref);
+  DNSServiceRefDeallocate(local_ipp_ref);
+
+#    ifdef HAVE_SSL
+  DNSServiceRefDeallocate(ipp_ref);
+  DNSServiceRefDeallocate(local_ipp_ref);
+#    endif /* HAVE_SSL */
+
+  DNSServiceRefDeallocate(data.main_ref);
+
+#  else /* HAVE_AVAHI */
+  avahi_service_browser_free(ipp_ref);
+#    ifdef HAVE_SSL
+  avahi_service_browser_free(ipps_ref);
+#    endif /* HAVE_SSL */
+
+  avahi_client_free(data.client);
+  avahi_simple_poll_free(data.simple_poll);
+#  endif /* HAVE_DNSSD */
+#endif /* HAVE_DNSSD || HAVE_DNSSD */
+
+  return (1);
+}
+
+
+#  ifdef __BLOCKS__
+/*
+ * 'cupsEnumDestsBlock()' - Enumerate available destinations with a block.
+ *
+ * Destinations are enumerated from one or more sources. The block receives the
+ * destination name, instance, number of options, and options which can be used
+ * as input to the @link cupsAddDest@ function.  The block must return 1 to
+ * continue enumeration or 0 to stop.
+ *
+ * Enumeration happens on the current thread and does not return until all
+ * destinations have been enumerated or the block returns 0.
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
+
+int                                    /* O - 1 on success, 0 on failure */
+cupsEnumDestsBlock(
+    unsigned          flags,           /* I - Enumeration flags */
+    int               timeout,         /* I - Timeout in milliseconds, 0 for indefinite */
+    int               *cancel,         /* I - Pointer to "cancel" variable */
+    cups_ptype_t      type,            /* I - Printer type bits */
+    cups_ptype_t      mask,            /* I - Mask for printer type bits */
+    cups_dest_block_t block)           /* I - Block */
+{
+  return (cupsEnumDests(flags, timeout, cancel, type, mask,
+                        (cups_dest_cb_t)cups_block_cb, (void *)block));
+}
+#  endif /* __BLOCKS__ */
+
+
+/*
  * 'cupsFreeDests()' - Free the memory used by the list of destinations.
  */
 
@@ -497,11 +1274,77 @@ cupsGetDest(const char  *name,           /* I - Destination name or @code NULL@ for the d
 
 
 /*
- * '_cupsGetDests()' - Get destinations from a server.
- *
- * "op" is CUPS_GET_PRINTERS to get a full list, CUPS_GET_DEFAULT to get the
- * system-wide default printer, or IPP_GET_PRINTER_ATTRIBUTES for a known
- * printer.
+ * '_cupsGetDestResource()' - Get the resource path and URI for a destination.
+ */
+
+const char *                           /* O - Printer URI */
+_cupsGetDestResource(
+    cups_dest_t *dest,                 /* I - Destination */
+    char        *resource,             /* I - Resource buffer */
+    size_t      resourcesize)          /* I - Size of resource buffer */
+{
+  const char   *uri;                   /* Printer URI */
+  char         scheme[32],             /* URI scheme */
+               userpass[256],          /* Username and password (unused) */
+               hostname[256];          /* Hostname */
+  int          port;                   /* Port number */
+
+
+ /*
+  * Range check input...
+  */
+
+  if (!dest || !resource || resourcesize < 1)
+  {
+    if (resource)
+      *resource = '\0';
+
+    _cupsSetError(IPP_INTERNAL_ERROR, strerror(EINVAL), 0);
+    return (NULL);
+  }
+
+ /*
+  * Grab the printer URI...
+  */
+
+  if ((uri = cupsGetOption("printer-uri-supported", dest->num_options,
+                           dest->options)) == NULL)
+  {
+    if (resource)
+      *resource = '\0';
+
+    _cupsSetError(IPP_INTERNAL_ERROR, strerror(ENOENT), 0);
+
+    return (NULL);
+  }
+
+#ifdef HAVE_DNSSD
+  if (strstr(uri, "._tcp"))
+  {
+    if ((uri = cups_dnssd_resolve(dest, uri, 5000, NULL, NULL, NULL)) == NULL)
+      return (NULL);
+  }
+#endif /* HAVE_DNSSD */
+
+  if (httpSeparateURI(HTTP_URI_CODING_ALL, uri, scheme, sizeof(scheme),
+                      userpass, sizeof(userpass), hostname, sizeof(hostname),
+                      &port, resource, resourcesize) < HTTP_URI_OK)
+  {
+    _cupsSetError(IPP_INTERNAL_ERROR, _("Bad printer URI."), 1);
+
+    return (NULL);
+  }
+
+  return (uri);
+}
+
+
+/*
+ * '_cupsGetDests()' - Get destinations from a server.
+ *
+ * "op" is CUPS_GET_PRINTERS to get a full list, CUPS_GET_DEFAULT to get the
+ * system-wide default printer, or IPP_GET_PRINTER_ATTRIBUTES for a known
+ * printer.
  *
  * "name" is the name of an existing printer and is only used when "op" is
  * IPP_GET_PRINTER_ATTRIBUTES.
@@ -514,16 +1357,19 @@ cupsGetDest(const char  *name,           /* I - Destination name or @code NULL@ for the d
  * Free the memory used by the destination array using the @link cupsFreeDests@
  * function.
  *
- * Note: On Mac OS X this function also gets the default paper from the system
+ * Note: On OS X this function also gets the default paper from the system
  * preferences (~/L/P/org.cups.PrintingPrefs.plist) and includes it in the
  * options array for each destination that supports it.
  */
 
-int                                    /* O - Number of destinations */
-_cupsGetDests(http_t      *http,       /* I - Connection to server or CUPS_HTTP_DEFAULT */
-             ipp_op_t    op,           /* I - IPP operation */
-             const char  *name,        /* I - Name of destination */
-             cups_dest_t **dests)      /* IO - Destinations */
+int                                    /* O  - Number of destinations */
+_cupsGetDests(http_t       *http,      /* I  - Connection to server or
+                                        *      @code CUPS_HTTP_DEFAULT@ */
+             ipp_op_t     op,          /* I  - IPP operation */
+             const char   *name,       /* I  - Name of destination */
+             cups_dest_t  **dests,     /* IO - Destinations */
+             cups_ptype_t type,        /* I  - Printer type bits */
+             cups_ptype_t mask)        /* I  - Printer type mask */
 {
   int          num_dests = 0;          /* Number of destinations */
   cups_dest_t  *dest;                  /* Current destination */
@@ -606,6 +1452,13 @@ _cupsGetDests(http_t      *http,  /* I - Connection to server or CUPS_HTTP_DEFAUL
     ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri", NULL,
                  uri);
   }
+  else if (mask)
+  {
+    ippAddInteger(request, IPP_TAG_OPERATION, IPP_TAG_ENUM, "printer-type",
+                  type);
+    ippAddInteger(request, IPP_TAG_OPERATION, IPP_TAG_ENUM, "printer-type-mask",
+                  mask);
+  }
 
  /*
   * Do the request and get back a response...
@@ -797,14 +1650,13 @@ cupsGetDests(cups_dest_t **dests)        /* O - Destinations */
  * Use the @link cupsFreeDests@ function to free the destination list and
  * the @link cupsGetDest@ function to find a particular destination.
  *
- * @since CUPS 1.1.21/Mac OS X 10.4@
+ * @since CUPS 1.1.21/OS X 10.4@
  */
 
 int                                    /* O - Number of destinations */
 cupsGetDests2(http_t      *http,       /* I - Connection to server or @code CUPS_HTTP_DEFAULT@ */
               cups_dest_t **dests)     /* O - Destinations */
 {
-  int          i;                      /* Looping var */
   int          num_dests;              /* Number of destinations */
   cups_dest_t  *dest;                  /* Destination pointer */
   const char   *home;                  /* HOME environment variable */
@@ -833,7 +1685,7 @@ cupsGetDests2(http_t      *http,   /* I - Connection to server or @code CUPS_HTTP_
   */
 
   *dests    = (cups_dest_t *)0;
-  num_dests = _cupsGetDests(http, CUPS_GET_PRINTERS, NULL, dests);
+  num_dests = _cupsGetDests(http, CUPS_GET_PRINTERS, NULL, dests, 0, 0);
 
   if (cupsLastError() >= IPP_REDIRECTION_OTHER_SITE)
   {
@@ -927,21 +1779,16 @@ cupsGetDests2(http_t      *http, /* I - Connection to server or @code CUPS_HTTP_
       * Have a default; see if it is real...
       */
 
-      dest = cupsGetDest(dest->name, NULL, num_reals, reals);
-    }
-
-   /*
-    * If dest is NULL, then no default (that exists) is set, so we
-    * need to set a default if one exists...
-    */
-
-    if (dest == NULL && defprinter != NULL)
-    {
-      for (i = 0; i < num_dests; i ++)
-        (*dests)[i].is_default = 0;
+      if (!cupsGetDest(dest->name, NULL, num_reals, reals))
+      {
+       /*
+        * Remove the non-real printer from the list, since we don't want jobs
+        * going to an unexpected printer... (<rdar://problem/14216472>)
+        */
 
-      if ((dest = cupsGetDest(name, instance, num_dests, *dests)) != NULL)
-       dest->is_default = 1;
+        num_dests = cupsRemoveDest(dest->name, dest->instance, num_dests,
+                                   dests);
+      }
     }
 
    /*
@@ -980,7 +1827,7 @@ cupsGetDests2(http_t      *http,   /* I - Connection to server or @code CUPS_HTTP_
  * The returned destination must be freed using @link cupsFreeDests@ with a
  * "num_dests" value of 1.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 cups_dest_t *                          /* O - Destination or @code NULL@ */
@@ -1055,19 +1902,8 @@ cupsGetNamedDest(http_t     *http,       /* I - Connection to server or @code CUPS_HTT
   * Get the printer's attributes...
   */
 
-  if (!_cupsGetDests(http, op, name, &dest))
-  {
-    if (op == CUPS_GET_DEFAULT || (name && !set_as_default))
-      return (NULL);
-
-   /*
-    * The default printer from environment variables or from a
-    * configuration file does not exist.  Find out the real default.
-    */
-
-    if (!_cupsGetDests(http, CUPS_GET_DEFAULT, NULL, &dest))
-      return (NULL);
-  }
+  if (!_cupsGetDests(http, op, name, &dest, 0, 0))
+    return (NULL);
 
   if (instance)
     dest->instance = _cupsStrAlloc(instance);
@@ -1105,7 +1941,7 @@ cupsGetNamedDest(http_t     *http,        /* I - Connection to server or @code CUPS_HTT
  * @link cupsSetDests@ or @link cupsSetDests2@ functions to save the new
  * options for the user.
  *
- * @since CUPS 1.3/Mac OS X 10.5@
+ * @since CUPS 1.3/OS X 10.5@
  */
 
 int                                    /* O  - New number of destinations */
@@ -1151,7 +1987,7 @@ cupsRemoveDest(const char  *name, /* I  - Destination name */
 /*
  * 'cupsSetDefaultDest()' - Set the default destination.
  *
- * @since CUPS 1.3/Mac OS X 10.5@
+ * @since CUPS 1.3/OS X 10.5@
  */
 
 void
@@ -1206,7 +2042,7 @@ cupsSetDests(int         num_dests,       /* I - Number of destinations */
  * This function saves the destinations to /etc/cups/lpoptions when run
  * as root and ~/.cups/lpoptions when run as a normal user.
  *
- * @since CUPS 1.1.21/Mac OS X 10.4@
+ * @since CUPS 1.1.21/OS X 10.4@
  */
 
 int                                    /* O - 0 on success, -1 on error */
@@ -1242,7 +2078,7 @@ cupsSetDests2(http_t      *http,  /* I - Connection to server or @code CUPS_HTTP_
   * Get the server destinations...
   */
 
-  num_temps = _cupsGetDests(http, CUPS_GET_PRINTERS, NULL, &temps);
+  num_temps = _cupsGetDests(http, CUPS_GET_PRINTERS, NULL, &temps, 0, 0);
 
   if (cupsLastError() >= IPP_REDIRECTION_OTHER_SITE)
   {
@@ -1596,7 +2432,7 @@ appleCopyNetwork(void)
  * 'appleGetPaperSize()' - Get the default paper size.
  */
 
-char *                                 /* O - Default paper size */
+static char *                          /* O - Default paper size */
 appleGetPaperSize(char *name,          /* I - Paper size name buffer */
                   int  namesize)       /* I - Size of buffer */
 {
@@ -1731,6 +2567,22 @@ cups_add_dest(const char  *name, /* I  - Name of destination */
 }
 
 
+#  ifdef __BLOCKS__
+/*
+ * 'cups_block_cb()' - Enumeration callback for block API.
+ */
+
+static int                             /* O - 1 to continue, 0 to stop */
+cups_block_cb(
+    cups_dest_block_t block,           /* I - Block */
+    unsigned          flags,           /* I - Destination flags */
+    cups_dest_t       *dest)           /* I - Destination */
+{
+  return ((block)(flags, dest));
+}
+#  endif /* __BLOCKS__ */
+
+
 /*
  * 'cups_compare_dests()' - Compare two destinations.
  */
@@ -1751,6 +2603,876 @@ cups_compare_dests(cups_dest_t *a,      /* I - First destination */
 }
 
 
+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
+#  ifdef HAVE_DNSSD
+/*
+ * 'cups_dnssd_browse_cb()' - Browse for printers.
+ */
+
+static void
+cups_dnssd_browse_cb(
+    DNSServiceRef       sdRef,         /* I - Service reference */
+    DNSServiceFlags     flags,         /* I - Option flags */
+    uint32_t            interfaceIndex,        /* I - Interface number */
+    DNSServiceErrorType errorCode,     /* I - Error, if any */
+    const char          *serviceName,  /* I - Name of service/device */
+    const char          *regtype,      /* I - Type of service */
+    const char          *replyDomain,  /* I - Service domain */
+    void                *context)      /* I - Enumeration data */
+{
+  _cups_dnssd_data_t   *data = (_cups_dnssd_data_t *)context;
+                                       /* Enumeration data */
+
+
+  DEBUG_printf(("5cups_dnssd_browse_cb(sdRef=%p, flags=%x, "
+               "interfaceIndex=%d, errorCode=%d, serviceName=\"%s\", "
+               "regtype=\"%s\", replyDomain=\"%s\", context=%p)",
+               sdRef, flags, interfaceIndex, errorCode, serviceName, regtype,
+               replyDomain, context));
+
+ /*
+  * Don't do anything on error...
+  */
+
+  if (errorCode != kDNSServiceErr_NoError)
+    return;
+
+ /*
+  * Get the device...
+  */
+
+  cups_dnssd_get_device(data, serviceName, regtype, replyDomain);
+}
+
+
+#  else /* HAVE_AVAHI */
+/*
+ * 'cups_dnssd_browse_cb()' - Browse for printers.
+ */
+
+static void
+cups_dnssd_browse_cb(
+    AvahiServiceBrowser    *browser,   /* I - Browser */
+    AvahiIfIndex           interface,  /* I - Interface index (unused) */
+    AvahiProtocol          protocol,   /* I - Network protocol (unused) */
+    AvahiBrowserEvent      event,      /* I - What happened */
+    const char             *name,      /* I - Service name */
+    const char             *type,      /* I - Registration type */
+    const char             *domain,    /* I - Domain */
+    AvahiLookupResultFlags flags,      /* I - Flags */
+    void                   *context)   /* I - Devices array */
+{
+#ifdef DEBUG
+  AvahiClient          *client = avahi_service_browser_get_client(browser);
+                                       /* Client information */
+#endif /* DEBUG */
+  _cups_dnssd_data_t   *data = (_cups_dnssd_data_t *)context;
+                                       /* Enumeration data */
+
+
+  (void)interface;
+  (void)protocol;
+  (void)context;
+
+  switch (event)
+  {
+    case AVAHI_BROWSER_FAILURE:
+       DEBUG_printf(("cups_dnssd_browse_cb: %s",
+                     avahi_strerror(avahi_client_errno(client))));
+       avahi_simple_poll_quit(data->simple_poll);
+       break;
+
+    case AVAHI_BROWSER_NEW:
+       /*
+       * This object is new on the network.
+       */
+
+       if (flags & AVAHI_LOOKUP_RESULT_LOCAL)
+       {
+        /*
+         * This comes from the local machine so ignore it.
+         */
+
+         DEBUG_printf(("cups_dnssd_browse_cb: Ignoring local service \"%s\".",
+                       name));
+       }
+       else
+       {
+        /*
+         * Create a device entry for it if it doesn't yet exist.
+         */
+
+         cups_dnssd_get_device(data, name, type, domain);
+       }
+       break;
+
+    case AVAHI_BROWSER_REMOVE:
+    case AVAHI_BROWSER_ALL_FOR_NOW:
+    case AVAHI_BROWSER_CACHE_EXHAUSTED:
+        break;
+  }
+}
+
+
+/*
+ * 'cups_dnssd_client_cb()' - Avahi client callback function.
+ */
+
+static void
+cups_dnssd_client_cb(
+    AvahiClient      *client,          /* I - Client information (unused) */
+    AvahiClientState state,            /* I - Current state */
+    void             *context)         /* I - User data (unused) */
+{
+  _cups_dnssd_data_t   *data = (_cups_dnssd_data_t *)context;
+                                       /* Enumeration data */
+
+
+  (void)client;
+
+ /*
+  * If the connection drops, quit.
+  */
+
+  if (state == AVAHI_CLIENT_FAILURE)
+  {
+    DEBUG_puts("cups_dnssd_client_cb: Avahi connection failed.");
+    avahi_simple_poll_quit(data->simple_poll);
+  }
+}
+#  endif /* HAVE_DNSSD */
+
+
+/*
+ * 'cups_dnssd_compare_device()' - Compare two devices.
+ */
+
+static int                             /* O - Result of comparison */
+cups_dnssd_compare_devices(
+    _cups_dnssd_device_t *a,           /* I - First device */
+    _cups_dnssd_device_t *b)           /* I - Second device */
+{
+  return (strcmp(a->dest.name, b->dest.name));
+}
+
+
+/*
+ * 'cups_dnssd_free_device()' - Free the memory used by a device.
+ */
+
+static void
+cups_dnssd_free_device(
+    _cups_dnssd_device_t *device,      /* I - Device */
+    _cups_dnssd_data_t   *data)                /* I - Enumeration data */
+{
+  DEBUG_printf(("5cups_dnssd_free_device(device=%p(%s), data=%p)", device,
+                device->dest.name, data));
+
+#  ifdef HAVE_DNSSD
+  if (device->ref)
+    DNSServiceRefDeallocate(device->ref);
+#  else /* HAVE_AVAHI */
+  if (device->ref)
+    avahi_record_browser_free(device->ref);
+#  endif /* HAVE_DNSSD */
+
+  _cupsStrFree(device->domain);
+  _cupsStrFree(device->fullName);
+  _cupsStrFree(device->regtype);
+  _cupsStrFree(device->dest.name);
+
+  cupsFreeOptions(device->dest.num_options, device->dest.options);
+
+  free(device);
+}
+
+
+/*
+ * 'cups_dnssd_get_device()' - Lookup a device and create it as needed.
+ */
+
+static _cups_dnssd_device_t *          /* O - Device */
+cups_dnssd_get_device(
+    _cups_dnssd_data_t *data,          /* I - Enumeration data */
+    const char         *serviceName,   /* I - Service name */
+    const char         *regtype,       /* I - Registration type */
+    const char         *replyDomain)   /* I - Domain name */
+{
+  _cups_dnssd_device_t key,            /* Search key */
+                       *device;        /* Device */
+  char                 fullName[kDNSServiceMaxDomainName];
+                                       /* Full name for query */
+
+
+  DEBUG_printf(("5cups_dnssd_get_device(data=%p, serviceName=\"%s\", "
+                "regtype=\"%s\", replyDomain=\"%s\")", data, serviceName,
+                regtype, replyDomain));
+
+ /*
+  * See if this is an existing device...
+  */
+
+  key.dest.name = (char *)serviceName;
+
+  if ((device = cupsArrayFind(data->devices, &key)) != NULL)
+  {
+   /*
+    * Yes, see if we need to do anything with this...
+    */
+
+    int        update = 0;                     /* Non-zero if we need to update */
+
+    if (!_cups_strcasecmp(replyDomain, "local.") &&
+       _cups_strcasecmp(device->domain, replyDomain))
+    {
+     /*
+      * Update the "global" listing to use the .local domain name instead.
+      */
+
+      _cupsStrFree(device->domain);
+      device->domain = _cupsStrAlloc(replyDomain);
+
+      DEBUG_printf(("6cups_dnssd_get_device: Updating '%s' to use local "
+                    "domain.", device->dest.name));
+
+      update = 1;
+    }
+
+    if (!_cups_strcasecmp(regtype, "_ipps._tcp") &&
+       _cups_strcasecmp(device->regtype, regtype))
+    {
+     /*
+      * Prefer IPPS over IPP.
+      */
+
+      _cupsStrFree(device->regtype);
+      device->regtype = _cupsStrAlloc(regtype);
+
+      DEBUG_printf(("6cups_dnssd_get_device: Updating '%s' to use IPPS.",
+                   device->dest.name));
+
+      update = 1;
+    }
+
+    if (!update)
+    {
+      DEBUG_printf(("6cups_dnssd_get_device: No changes to '%s'.",
+                    device->dest.name));
+      return (device);
+    }
+  }
+  else
+  {
+   /*
+    * No, add the device...
+    */
+
+    DEBUG_printf(("6cups_dnssd_get_device: Adding '%s' for %s with domain "
+                  "'%s'.", serviceName,
+                  !strcmp(regtype, "_ipps._tcp") ? "IPPS" : "IPP",
+                  replyDomain));
+
+    device            = calloc(sizeof(_cups_dnssd_device_t), 1);
+    device->dest.name = _cupsStrAlloc(serviceName);
+    device->domain    = _cupsStrAlloc(replyDomain);
+    device->regtype   = _cupsStrAlloc(regtype);
+
+    cupsArrayAdd(data->devices, device);
+  }
+
+ /*
+  * Set the "full name" of this service, which is used for queries...
+  */
+
+#  ifdef HAVE_DNSSD
+  DNSServiceConstructFullName(fullName, device->dest.name, device->regtype,
+                             device->domain);
+#  else /* HAVE_AVAHI */
+  avahi_service_name_join(fullName, kDNSServiceMaxDomainName, serviceName,
+                          regtype, replyDomain);
+#  endif /* HAVE_DNSSD */
+
+  _cupsStrFree(device->fullName);
+  device->fullName = _cupsStrAlloc(fullName);
+
+  if (device->ref)
+  {
+#  ifdef HAVE_DNSSD
+    DNSServiceRefDeallocate(device->ref);
+#  else /* HAVE_AVAHI */
+    avahi_record_browser_free(device->ref);
+#  endif /* HAVE_DNSSD */
+
+    device->ref = 0;
+  }
+
+  if (device->state == _CUPS_DNSSD_ACTIVE)
+  {
+    (*data->cb)(data->user_data, CUPS_DEST_FLAGS_REMOVED, &device->dest);
+    device->state = _CUPS_DNSSD_NEW;
+  }
+
+  return (device);
+}
+
+
+#  ifdef HAVE_DNSSD
+/*
+ * 'cups_dnssd_local_cb()' - Browse for local printers.
+ */
+
+static void
+cups_dnssd_local_cb(
+    DNSServiceRef       sdRef,         /* I - Service reference */
+    DNSServiceFlags     flags,         /* I - Option flags */
+    uint32_t            interfaceIndex,        /* I - Interface number */
+    DNSServiceErrorType errorCode,     /* I - Error, if any */
+    const char          *serviceName,  /* I - Name of service/device */
+    const char          *regtype,      /* I - Type of service */
+    const char          *replyDomain,  /* I - Service domain */
+    void                *context)      /* I - Devices array */
+{
+  _cups_dnssd_data_t   *data = (_cups_dnssd_data_t *)context;
+                                       /* Enumeration data */
+  _cups_dnssd_device_t *device;        /* Device */
+
+
+  DEBUG_printf(("5cups_dnssd_local_cb(sdRef=%p, flags=%x, "
+               "interfaceIndex=%d, errorCode=%d, serviceName=\"%s\", "
+               "regtype=\"%s\", replyDomain=\"%s\", context=%p)",
+               sdRef, flags, interfaceIndex, errorCode, serviceName,
+               regtype, replyDomain, context));
+
+ /*
+  * Only process "add" data...
+  */
+
+  if (errorCode != kDNSServiceErr_NoError || !(flags & kDNSServiceFlagsAdd))
+    return;
+
+ /*
+  * Get the device...
+  */
+
+  device = cups_dnssd_get_device(data, serviceName, regtype, replyDomain);
+
+ /*
+  * Hide locally-registered devices...
+  */
+
+  DEBUG_printf(("6cups_dnssd_local_cb: Hiding local printer '%s'.",
+                serviceName));
+
+  if (device->ref)
+  {
+    DNSServiceRefDeallocate(device->ref);
+    device->ref = 0;
+  }
+
+  if (device->state == _CUPS_DNSSD_ACTIVE)
+    (*data->cb)(data->user_data, CUPS_DEST_FLAGS_REMOVED, &device->dest);
+
+  device->state = _CUPS_DNSSD_LOCAL;
+}
+#  endif /* HAVE_DNSSD */
+
+
+#  ifdef HAVE_AVAHI
+/*
+ * 'cups_dnssd_poll_cb()' - Wait for input on the specified file descriptors.
+ *
+ * Note: This function is needed because avahi_simple_poll_iterate is broken
+ *       and always uses a timeout of 0 (!) milliseconds.
+ *       (Avahi Ticket #364)
+ */
+
+static int                             /* O - Number of file descriptors matching */
+cups_dnssd_poll_cb(
+    struct pollfd *pollfds,            /* I - File descriptors */
+    unsigned int  num_pollfds,         /* I - Number of file descriptors */
+    int           timeout,             /* I - Timeout in milliseconds (unused) */
+    void          *context)            /* I - User data (unused) */
+{
+  _cups_dnssd_data_t   *data = (_cups_dnssd_data_t *)context;
+                                       /* Enumeration data */
+  int                  val;            /* Return value */
+
+
+  (void)timeout;
+
+  val = poll(pollfds, num_pollfds, 250);
+
+  if (val < 0)
+  {
+    DEBUG_printf(("cups_dnssd_poll_cb: %s", strerror(errno)));
+  }
+  else if (val > 0)
+    data->got_data = 1;
+
+  return (val);
+}
+#  endif /* HAVE_AVAHI */
+
+
+/*
+ * 'cups_dnssd_query_cb()' - Process query data.
+ */
+
+#  ifdef HAVE_DNSSD
+static void
+cups_dnssd_query_cb(
+    DNSServiceRef       sdRef,         /* I - Service reference */
+    DNSServiceFlags     flags,         /* I - Data flags */
+    uint32_t            interfaceIndex,        /* I - Interface */
+    DNSServiceErrorType errorCode,     /* I - Error, if any */
+    const char          *fullName,     /* I - Full service name */
+    uint16_t            rrtype,                /* I - Record type */
+    uint16_t            rrclass,       /* I - Record class */
+    uint16_t            rdlen,         /* I - Length of record data */
+    const void          *rdata,                /* I - Record data */
+    uint32_t            ttl,           /* I - Time-to-live */
+    void                *context)      /* I - Enumeration data */
+{
+#  else /* HAVE_AVAHI */
+static void
+cups_dnssd_query_cb(
+    AvahiRecordBrowser     *browser,   /* I - Record browser */
+    AvahiIfIndex           interfaceIndex,
+                                       /* I - Interface index (unused) */
+    AvahiProtocol          protocol,   /* I - Network protocol (unused) */
+    AvahiBrowserEvent      event,      /* I - What happened? */
+    const char             *fullName,  /* I - Service name */
+    uint16_t               rrclass,    /* I - Record class */
+    uint16_t               rrtype,     /* I - Record type */
+    const void             *rdata,     /* I - TXT record */
+    size_t                 rdlen,      /* I - Length of TXT record */
+    AvahiLookupResultFlags flags,      /* I - Flags */
+    void                   *context)   /* I - Enumeration data */
+{
+#    ifdef DEBUG
+  AvahiClient          *client = avahi_record_browser_get_client(browser);
+                                       /* Client information */
+#    endif /* DEBUG */
+#  endif /* HAVE_DNSSD */
+  _cups_dnssd_data_t   *data = (_cups_dnssd_data_t *)context;
+                                       /* Enumeration data */
+  char                 name[1024],     /* Service name */
+                       *ptr;           /* Pointer into string */
+  _cups_dnssd_device_t dkey,           /* Search key */
+                       *device;        /* Device */
+
+
+#  ifdef HAVE_DNSSD
+  DEBUG_printf(("5cups_dnssd_query_cb(sdRef=%p, flags=%x, "
+               "interfaceIndex=%d, errorCode=%d, fullName=\"%s\", "
+               "rrtype=%u, rrclass=%u, rdlen=%u, rdata=%p, ttl=%u, "
+               "context=%p)", sdRef, flags, interfaceIndex, errorCode,
+               fullName, rrtype, rrclass, rdlen, rdata, ttl, context));
+
+ /*
+  * Only process "add" data...
+  */
+
+  if (errorCode != kDNSServiceErr_NoError || !(flags & kDNSServiceFlagsAdd))
+    return;
+
+#  else /* HAVE_AVAHI */
+  DEBUG_printf(("5cups_dnssd_query_cb(browser=%p, interfaceIndex=%d, "
+               "protocol=%d, event=%d, fullName=\"%s\", rrclass=%u, "
+               "rrtype=%u, rdata=%p, rdlen=%u, flags=%x, context=%p)",
+               browser, interfaceIndex, protocol, event, fullName, rrclass,
+               rrtype, rdata, (unsigned)rdlen, flags, context));
+
+ /*
+  * Only process "add" data...
+  */
+
+  if (event != AVAHI_BROWSER_NEW)
+  {
+    if (event == AVAHI_BROWSER_FAILURE)
+      DEBUG_printf(("cups_dnssd_query_cb: %s",
+                   avahi_strerror(avahi_client_errno(client))));
+
+    return;
+  }
+#  endif /* HAVE_DNSSD */
+
+ /*
+  * Lookup the service in the devices array.
+  */
+
+  dkey.dest.name = name;
+
+  cups_dnssd_unquote(name, fullName, sizeof(name));
+
+  if ((ptr = strstr(name, "._")) != NULL)
+    *ptr = '\0';
+
+  if ((device = cupsArrayFind(data->devices, &dkey)) != NULL)
+  {
+   /*
+    * Found it, pull out the make and model from the TXT record and save it...
+    */
+
+    const uint8_t      *txt,           /* Pointer into data */
+                       *txtnext,       /* Next key/value pair */
+                       *txtend;        /* End of entire TXT record */
+    uint8_t            txtlen;         /* Length of current key/value pair */
+    char               key[256],       /* Key string */
+                       value[256],     /* Value string */
+                       make_and_model[512],
+                                       /* Manufacturer and model */
+                       model[256],     /* Model */
+                       uriname[1024],  /* Name for URI */
+                       uri[1024];      /* Printer URI */
+    cups_ptype_t       type = CUPS_PRINTER_REMOTE | CUPS_PRINTER_BW;
+                                       /* Printer type */
+    int                        saw_printer_type = 0;
+                                       /* Did we see a printer-type key? */
+
+    device->state     = _CUPS_DNSSD_PENDING;
+    make_and_model[0] = '\0';
+
+    strcpy(model, "Unknown");
+
+    for (txt = rdata, txtend = txt + rdlen;
+        txt < txtend;
+        txt = txtnext)
+    {
+     /*
+      * Read a key/value pair starting with an 8-bit length.  Since the
+      * length is 8 bits and the size of the key/value buffers is 256, we
+      * don't need to check for overflow...
+      */
+
+      txtlen = *txt++;
+
+      if (!txtlen || (txt + txtlen) > txtend)
+       break;
+
+      txtnext = txt + txtlen;
+
+      for (ptr = key; txt < txtnext && *txt != '='; txt ++)
+       *ptr++ = *txt;
+      *ptr = '\0';
+
+      if (txt < txtnext && *txt == '=')
+      {
+       txt ++;
+
+       if (txt < txtnext)
+         memcpy(value, txt, txtnext - txt);
+       value[txtnext - txt] = '\0';
+
+       DEBUG_printf(("6cups_dnssd_query_cb: %s=%s", key, value));
+      }
+      else
+      {
+       DEBUG_printf(("6cups_dnssd_query_cb: '%s' with no value.", key));
+       continue;
+      }
+
+      if (!_cups_strcasecmp(key, "usb_MFG") ||
+          !_cups_strcasecmp(key, "usb_MANU") ||
+         !_cups_strcasecmp(key, "usb_MANUFACTURER"))
+       strcpy(make_and_model, value);
+      else if (!_cups_strcasecmp(key, "usb_MDL") ||
+               !_cups_strcasecmp(key, "usb_MODEL"))
+       strcpy(model, value);
+      else if (!_cups_strcasecmp(key, "product") && !strstr(value, "Ghostscript"))
+      {
+       if (value[0] == '(')
+       {
+        /*
+         * Strip parenthesis...
+         */
+
+         if ((ptr = value + strlen(value) - 1) > value && *ptr == ')')
+           *ptr = '\0';
+
+         strcpy(model, value + 1);
+       }
+       else
+         strcpy(model, value);
+      }
+      else if (!_cups_strcasecmp(key, "ty"))
+      {
+       strcpy(model, value);
+
+       if ((ptr = strchr(model, ',')) != NULL)
+         *ptr = '\0';
+      }
+      else if (!_cups_strcasecmp(key, "note"))
+        device->dest.num_options = cupsAddOption("printer-location", value,
+                                                device->dest.num_options,
+                                                &device->dest.options);
+      else if (!_cups_strcasecmp(key, "pdl"))
+      {
+       /*
+        * Look for PDF-capable printers; only PDF-capable printers are shown.
+        */
+
+        const char     *start, *next;  /* Pointer into value */
+        int            have_pdf = 0;   /* Have PDF? */
+
+        for (start = value; start && *start; start = next)
+        {
+          if (!_cups_strncasecmp(start, "application/pdf", 15) &&
+              (!start[15] || start[15] == ','))
+          {
+            have_pdf = 1;
+            break;
+          }
+
+          if ((next = strchr(start, ',')) != NULL)
+            next ++;
+        }
+
+        if (!have_pdf)
+          device->state = _CUPS_DNSSD_INCOMPATIBLE;
+      }
+      else if (!_cups_strcasecmp(key, "printer-type"))
+      {
+       /*
+        * Value is either NNNN or 0xXXXX
+        */
+
+       saw_printer_type = 1;
+        type             = strtol(value, NULL, 0);
+      }
+      else if (!saw_printer_type)
+      {
+       if (!_cups_strcasecmp(key, "air") &&
+                !_cups_strcasecmp(value, "t"))
+         type |= CUPS_PRINTER_AUTHENTICATED;
+       else if (!_cups_strcasecmp(key, "bind") &&
+                !_cups_strcasecmp(value, "t"))
+         type |= CUPS_PRINTER_BIND;
+       else if (!_cups_strcasecmp(key, "collate") &&
+                !_cups_strcasecmp(value, "t"))
+         type |= CUPS_PRINTER_COLLATE;
+       else if (!_cups_strcasecmp(key, "color") &&
+                !_cups_strcasecmp(value, "t"))
+         type |= CUPS_PRINTER_COLOR;
+       else if (!_cups_strcasecmp(key, "copies") &&
+                !_cups_strcasecmp(value, "t"))
+         type |= CUPS_PRINTER_COPIES;
+       else if (!_cups_strcasecmp(key, "duplex") &&
+                !_cups_strcasecmp(value, "t"))
+         type |= CUPS_PRINTER_DUPLEX;
+       else if (!_cups_strcasecmp(key, "fax") &&
+                !_cups_strcasecmp(value, "t"))
+         type |= CUPS_PRINTER_MFP;
+       else if (!_cups_strcasecmp(key, "papercustom") &&
+                !_cups_strcasecmp(value, "t"))
+         type |= CUPS_PRINTER_VARIABLE;
+       else if (!_cups_strcasecmp(key, "papermax"))
+       {
+         if (!_cups_strcasecmp(value, "legal-a4"))
+           type |= CUPS_PRINTER_SMALL;
+         else if (!_cups_strcasecmp(value, "isoc-a2"))
+           type |= CUPS_PRINTER_MEDIUM;
+         else if (!_cups_strcasecmp(value, ">isoc-a2"))
+           type |= CUPS_PRINTER_LARGE;
+       }
+       else if (!_cups_strcasecmp(key, "punch") &&
+                !_cups_strcasecmp(value, "t"))
+         type |= CUPS_PRINTER_PUNCH;
+       else if (!_cups_strcasecmp(key, "scan") &&
+                !_cups_strcasecmp(value, "t"))
+         type |= CUPS_PRINTER_MFP;
+       else if (!_cups_strcasecmp(key, "sort") &&
+                !_cups_strcasecmp(value, "t"))
+         type |= CUPS_PRINTER_SORT;
+       else if (!_cups_strcasecmp(key, "staple") &&
+                !_cups_strcasecmp(value, "t"))
+         type |= CUPS_PRINTER_STAPLE;
+      }
+    }
+
+   /*
+    * Save the printer-xxx values...
+    */
+
+    device->dest.num_options = cupsAddOption("printer-info", name,
+                                            device->dest.num_options,
+                                            &device->dest.options);
+
+    if (make_and_model[0])
+    {
+      strlcat(make_and_model, " ", sizeof(make_and_model));
+      strlcat(make_and_model, model, sizeof(make_and_model));
+
+      device->dest.num_options = cupsAddOption("printer-make-and-model",
+                                              make_and_model,
+                                              device->dest.num_options,
+                                              &device->dest.options);
+    }
+    else
+      device->dest.num_options = cupsAddOption("printer-make-and-model",
+                                              model,
+                                              device->dest.num_options,
+                                              &device->dest.options);
+
+    device->type = type;
+    snprintf(value, sizeof(value), "%u", type);
+    device->dest.num_options = cupsAddOption("printer-type", value,
+                                            device->dest.num_options,
+                                            &device->dest.options);
+
+   /*
+    * Save the URI...
+    */
+
+    cups_dnssd_unquote(uriname, device->fullName, sizeof(uriname));
+    httpAssembleURI(HTTP_URI_CODING_ALL, uri, sizeof(uri),
+                    !strcmp(device->regtype, "_ipps._tcp") ? "ipps" : "ipp",
+                    NULL, uriname, 0, saw_printer_type ? "/cups" : "/");
+
+    DEBUG_printf(("6cups_dnssd_query: printer-uri-supported=\"%s\"", uri));
+
+    device->dest.num_options = cupsAddOption("printer-uri-supported", uri,
+                                            device->dest.num_options,
+                                            &device->dest.options);
+  }
+  else
+    DEBUG_printf(("6cups_dnssd_query: Ignoring TXT record for '%s'.",
+                  fullName));
+}
+
+
+/*
+ * 'cups_dnssd_resolve()' - Resolve a Bonjour printer URI.
+ */
+
+static const char *                    /* O - Resolved URI or NULL */
+cups_dnssd_resolve(
+    cups_dest_t    *dest,              /* I - Destination */
+    const char     *uri,               /* I - Current printer URI */
+    int            msec,               /* I - Time in milliseconds */
+    int            *cancel,            /* I - Pointer to "cancel" variable */
+    cups_dest_cb_t cb,                 /* I - Callback */
+    void           *user_data)         /* I - User data for callback */
+{
+  char                 tempuri[1024];  /* Temporary URI buffer */
+  _cups_dnssd_resolve_t        resolve;        /* Resolve data */
+
+
+ /*
+  * Resolve the URI...
+  */
+
+  resolve.cancel = cancel;
+  gettimeofday(&resolve.end_time, NULL);
+  if (msec > 0)
+  {
+    resolve.end_time.tv_sec  += msec / 1000;
+    resolve.end_time.tv_usec += (msec % 1000) * 1000;
+
+    while (resolve.end_time.tv_usec >= 1000000)
+    {
+      resolve.end_time.tv_sec ++;
+      resolve.end_time.tv_usec -= 1000000;
+    }
+  }
+  else
+    resolve.end_time.tv_sec += 75;
+
+  if (cb)
+    (*cb)(user_data, CUPS_DEST_FLAGS_UNCONNECTED | CUPS_DEST_FLAGS_RESOLVING,
+         dest);
+
+  if ((uri = _httpResolveURI(uri, tempuri, sizeof(tempuri),
+                            _HTTP_RESOLVE_FQDN, cups_dnssd_resolve_cb,
+                            &resolve)) == NULL)
+  {
+    _cupsSetError(IPP_INTERNAL_ERROR, _("Unable to resolve printer URI."), 1);
+
+    if (cb)
+      (*cb)(user_data, CUPS_DEST_FLAGS_UNCONNECTED | CUPS_DEST_FLAGS_ERROR,
+           dest);
+
+    return (NULL);
+  }
+
+ /*
+  * Save the resolved URI...
+  */
+
+  dest->num_options = cupsAddOption("printer-uri-supported", uri,
+                                   dest->num_options, &dest->options);
+
+  return (cupsGetOption("printer-uri-supported", dest->num_options,
+                        dest->options));
+}
+
+
+/*
+ * 'cups_dnssd_resolve_cb()' - See if we should continue resolving.
+ */
+
+static int                             /* O - 1 to continue, 0 to stop */
+cups_dnssd_resolve_cb(void *context)   /* I - Resolve data */
+{
+  _cups_dnssd_resolve_t        *resolve = (_cups_dnssd_resolve_t *)context;
+                                       /* Resolve data */
+  struct timeval       curtime;        /* Current time */
+
+
+ /*
+  * If the cancel variable is set, return immediately.
+  */
+
+  if (*resolve->cancel)
+    return (0);
+
+ /*
+  * Otherwise check the end time...
+  */
+
+  gettimeofday(&curtime, NULL);
+
+  return (curtime.tv_sec > resolve->end_time.tv_sec ||
+          (curtime.tv_sec == resolve->end_time.tv_sec &&
+           curtime.tv_usec > resolve->end_time.tv_usec));
+}
+
+
+/*
+ * 'cups_dnssd_unquote()' - Unquote a name string.
+ */
+
+static void
+cups_dnssd_unquote(char       *dst,    /* I - Destination buffer */
+                   const char *src,    /* I - Source string */
+                  size_t     dstsize)  /* I - Size of destination buffer */
+{
+  char *dstend = dst + dstsize - 1;    /* End of destination buffer */
+
+
+  while (*src && dst < dstend)
+  {
+    if (*src == '\\')
+    {
+      src ++;
+      if (isdigit(src[0] & 255) && isdigit(src[1] & 255) &&
+          isdigit(src[2] & 255))
+      {
+        *dst++ = ((((src[0] - '0') * 10) + src[1] - '0') * 10) + src[2] - '0';
+       src += 3;
+      }
+      else
+        *dst++ = *src++;
+    }
+    else
+      *dst++ = *src ++;
+  }
+
+  *dst = '\0';
+}
+#endif /* HAVE_DNSSD */
+
+
 /*
  * 'cups_find_dest()' - Find a destination using a binary search.
  */
@@ -2165,5 +3887,5 @@ cups_make_string(
 
 
 /*
- * End of "$Id: dest.c 10379 2012-03-23 22:16:22Z mike $".
+ * End of "$Id: dest.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index e25bd0b..ede139d 100644 (file)
@@ -1,11 +1,11 @@
 /*
- * "$Id: dir.c 9306 2010-09-16 21:43:57Z mike $"
+ * "$Id: dir.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Directory routines for CUPS.
  *
  *   This set of APIs abstracts enumeration of directory entries.
  *
- *   Copyright 2007-2010 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2005 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -79,7 +79,7 @@ _cups_dir_time(FILETIME ft)           /* I - File time */
 /*
  * 'cupsDirClose()' - Close a directory.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 void
@@ -110,7 +110,7 @@ cupsDirClose(cups_dir_t *dp)                /* I - Directory pointer */
 /*
  * 'cupsDirOpen()' - Open a directory.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 cups_dir_t *                           /* O - Directory pointer or @code NULL@ if the directory could not be opened. */
@@ -153,7 +153,7 @@ cupsDirOpen(const char *directory)  /* I - Directory name */
 /*
  * 'cupsDirRead()' - Read the next directory entry.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 cups_dentry_t *                                /* O - Directory entry or @code NULL@ if there are no more */
@@ -213,7 +213,7 @@ cupsDirRead(cups_dir_t *dp)         /* I - Directory pointer */
 /*
  * 'cupsDirRewind()' - Rewind to the start of the directory.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 void
@@ -263,7 +263,7 @@ struct _cups_dir_s                  /**** Directory data structure ****/
 /*
  * 'cupsDirClose()' - Close a directory.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 void
@@ -290,7 +290,7 @@ cupsDirClose(cups_dir_t *dp)                /* I - Directory pointer */
 /*
  * 'cupsDirOpen()' - Open a directory.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 cups_dir_t *                           /* O - Directory pointer or @code NULL@ if the directory could not be opened. */
@@ -344,7 +344,7 @@ cupsDirOpen(const char *directory)  /* I - Directory name */
 /*
  * 'cupsDirRead()' - Read the next directory entry.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 cups_dentry_t *                                /* O - Directory entry or @code NULL@ when there are no more */
@@ -442,7 +442,7 @@ cupsDirRead(cups_dir_t *dp)         /* I - Directory pointer */
 /*
  * 'cupsDirRewind()' - Rewind to the start of the directory.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 void
@@ -468,5 +468,5 @@ cupsDirRewind(cups_dir_t *dp)               /* I - Directory pointer */
 #endif /* WIN32 */
 
 /*
- * End of "$Id: dir.c 9306 2010-09-16 21:43:57Z mike $".
+ * End of "$Id: dir.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index a5f9692..a16871f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: dir.h 9771 2011-05-12 05:21:56Z mike $"
+ * "$Id: dir.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Public directory definitions for CUPS.
  *
@@ -65,5 +65,5 @@ extern void           cupsDirRewind(cups_dir_t *dp) _CUPS_API_1_2;
 #endif /* !_CUPS_DIR_H_ */
 
 /*
- * End of "$Id: dir.h 9771 2011-05-12 05:21:56Z mike $".
+ * End of "$Id: dir.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index 539a900..15f2fcd 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: emit.c 9993 2011-09-09 21:55:11Z mike $"
+ * "$Id: emit.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   PPD code emission routines for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -87,7 +87,7 @@ ppdCollect(ppd_file_t    *ppd,                /* I - PPD file data */
  * The choices array should be freed using @code free@ when you are
  * finished with it.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - Number of options marked */
@@ -260,7 +260,7 @@ ppdEmit(ppd_file_t    *ppd,         /* I - PPD file record */
  *
  * When "limit" is zero, this function is identical to ppdEmit().
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - 0 on success, -1 on failure */
@@ -519,15 +519,27 @@ ppdEmitJCL(ppd_file_t *ppd,               /* I - PPD file record */
     */
 
     if (display && strcmp(display->value, "job"))
-    {
       fprintf(fp, "@PJL JOB NAME = \"%s\"\n", temp);
-
-      if (display && !strcmp(display->value, "rdymsg"))
-        fprintf(fp, "@PJL RDYMSG DISPLAY = \"%s\"\n", displaymsg);
-    }
+    else if (display && !strcmp(display->value, "rdymsg"))
+      fprintf(fp, "@PJL RDYMSG DISPLAY = \"%s\"\n", displaymsg);
     else
       fprintf(fp, "@PJL JOB NAME = \"%s\" DISPLAY = \"%s\"\n", temp,
              displaymsg);
+
+   /*
+    * Replace double quotes with single quotes and UTF-8 characters with
+    * question marks so that the user does not cause a PJL syntax error.
+    */
+
+    strlcpy(temp, user, sizeof(temp));
+
+    for (ptr = temp; *ptr; ptr ++)
+      if (*ptr == '\"')
+        *ptr = '\'';
+      else if (!charset && (*ptr & 128))
+        *ptr = '?';
+
+    fprintf(fp, "@PJL SET USERNAME = \"%s\"\n", temp);
   }
   else
     fputs(ppd->jcl_begin, fp);
@@ -542,7 +554,7 @@ ppdEmitJCL(ppd_file_t *ppd,         /* I - PPD file record */
 /*
  * 'ppdEmitJCLEnd()' - Emit JCLEnd code to a file.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - 0 on success, -1 on failure */
@@ -601,7 +613,7 @@ ppdEmitJCLEnd(ppd_file_t *ppd,              /* I - PPD file record */
  * The return string is allocated on the heap and should be freed using
  * @code free@ when you are done with it.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 char *                                 /* O - String containing option code or @code NULL@ if there is no option code */
@@ -1213,5 +1225,5 @@ ppd_handle_media(ppd_file_t *ppd) /* I - PPD file */
 
 
 /*
- * End of "$Id: emit.c 9993 2011-09-09 21:55:11Z mike $".
+ * End of "$Id: emit.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index adb3d9e..ee0f955 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: encode.c 9793 2011-05-20 03:49:49Z mike $"
+ * "$Id: encode.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Option encoding routines for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -47,15 +47,22 @@ static const _ipp_option_t ipp_options[] =
   { 0, "columns",              IPP_TAG_INTEGER,        IPP_TAG_JOB },
   { 0, "columns-default",      IPP_TAG_INTEGER,        IPP_TAG_PRINTER },
   { 0, "compression",          IPP_TAG_KEYWORD,        IPP_TAG_OPERATION },
-  { 0, "copies",               IPP_TAG_INTEGER,        IPP_TAG_JOB },
+  { 0, "copies",               IPP_TAG_INTEGER,        IPP_TAG_JOB,
+                                                       IPP_TAG_DOCUMENT },
   { 0, "copies-default",       IPP_TAG_INTEGER,        IPP_TAG_PRINTER },
   { 0, "device-uri",           IPP_TAG_URI,            IPP_TAG_PRINTER },
+  { 1, "document-copies",      IPP_TAG_RANGE,          IPP_TAG_JOB,
+                                                       IPP_TAG_DOCUMENT },
   { 0, "document-format",      IPP_TAG_MIMETYPE,       IPP_TAG_OPERATION },
   { 0, "document-format-default", IPP_TAG_MIMETYPE,    IPP_TAG_PRINTER },
+  { 1, "document-numbers",     IPP_TAG_RANGE,          IPP_TAG_JOB,
+                                                       IPP_TAG_DOCUMENT },
   { 1, "exclude-schemes",      IPP_TAG_NAME,           IPP_TAG_OPERATION },
-  { 1, "finishings",           IPP_TAG_ENUM,           IPP_TAG_JOB },
+  { 1, "finishings",           IPP_TAG_ENUM,           IPP_TAG_JOB,
+                                                       IPP_TAG_DOCUMENT },
   { 1, "finishings-default",   IPP_TAG_ENUM,           IPP_TAG_PRINTER },
-  { 0, "fit-to-page",          IPP_TAG_BOOLEAN,        IPP_TAG_JOB },
+  { 0, "fit-to-page",          IPP_TAG_BOOLEAN,        IPP_TAG_JOB,
+                                                       IPP_TAG_DOCUMENT },
   { 0, "fit-to-page-default",  IPP_TAG_BOOLEAN,        IPP_TAG_PRINTER },
   { 0, "fitplot",              IPP_TAG_BOOLEAN,        IPP_TAG_JOB },
   { 0, "fitplot-default",      IPP_TAG_BOOLEAN,        IPP_TAG_PRINTER },
@@ -64,13 +71,22 @@ static const _ipp_option_t ipp_options[] =
   { 0, "hue",                  IPP_TAG_INTEGER,        IPP_TAG_JOB },
   { 0, "hue-default",          IPP_TAG_INTEGER,        IPP_TAG_PRINTER },
   { 1, "include-schemes",      IPP_TAG_NAME,           IPP_TAG_OPERATION },
-  { 0, "job-impressions",      IPP_TAG_INTEGER,        IPP_TAG_JOB },
+  { 0, "job-id",               IPP_TAG_INTEGER,        IPP_TAG_ZERO }, /* never send as option */
+  { 0, "job-impressions",      IPP_TAG_INTEGER,        IPP_TAG_ZERO }, /* never send as option */
+  { 0, "job-impressions-completed", IPP_TAG_INTEGER,   IPP_TAG_ZERO }, /* never send as option */
   { 0, "job-k-limit",          IPP_TAG_INTEGER,        IPP_TAG_PRINTER },
+  { 0, "job-k-octets",         IPP_TAG_INTEGER,        IPP_TAG_ZERO }, /* never send as option */
+  { 0, "job-k-octets-completed",IPP_TAG_INTEGER,       IPP_TAG_ZERO }, /* never send as option */
+  { 0, "job-media-sheets",     IPP_TAG_INTEGER,        IPP_TAG_ZERO }, /* never send as option */
+  { 0, "job-media-sheets-completed", IPP_TAG_INTEGER,  IPP_TAG_ZERO }, /* never send as option */
   { 0, "job-page-limit",       IPP_TAG_INTEGER,        IPP_TAG_PRINTER },
   { 0, "job-priority",         IPP_TAG_INTEGER,        IPP_TAG_JOB },
   { 0, "job-quota-period",     IPP_TAG_INTEGER,        IPP_TAG_PRINTER },
   { 1, "job-sheets",           IPP_TAG_NAME,           IPP_TAG_JOB },
   { 1, "job-sheets-default",   IPP_TAG_NAME,           IPP_TAG_PRINTER },
+  { 0, "job-state",            IPP_TAG_ENUM,           IPP_TAG_ZERO }, /* never send as option */
+  { 0, "job-state-message",    IPP_TAG_TEXT,           IPP_TAG_ZERO }, /* never send as option */
+  { 0, "job-state-reasons",    IPP_TAG_KEYWORD,        IPP_TAG_ZERO }, /* never send as option */
   { 0, "job-uuid",             IPP_TAG_URI,            IPP_TAG_JOB },
   { 0, "landscape",            IPP_TAG_BOOLEAN,        IPP_TAG_JOB },
   { 1, "marker-change-time",   IPP_TAG_INTEGER,        IPP_TAG_PRINTER },
@@ -81,14 +97,20 @@ static const _ipp_option_t ipp_options[] =
   { 0, "marker-message",       IPP_TAG_TEXT,           IPP_TAG_PRINTER },
   { 1, "marker-names",         IPP_TAG_NAME,           IPP_TAG_PRINTER },
   { 1, "marker-types",         IPP_TAG_KEYWORD,        IPP_TAG_PRINTER },
-  { 1, "media",                        IPP_TAG_KEYWORD,        IPP_TAG_JOB },
-  { 0, "media-col",            IPP_TAG_BEGIN_COLLECTION, IPP_TAG_JOB },
+  { 1, "media",                        IPP_TAG_KEYWORD,        IPP_TAG_JOB,
+                                                       IPP_TAG_DOCUMENT },
+  { 0, "media-col",            IPP_TAG_BEGIN_COLLECTION, IPP_TAG_JOB,
+                                                       IPP_TAG_DOCUMENT },
   { 0, "media-col-default",    IPP_TAG_BEGIN_COLLECTION, IPP_TAG_PRINTER },
-  { 0, "media-color",          IPP_TAG_KEYWORD,        IPP_TAG_JOB },
+  { 0, "media-color",          IPP_TAG_KEYWORD,        IPP_TAG_JOB,
+                                                       IPP_TAG_DOCUMENT },
   { 1, "media-default",                IPP_TAG_KEYWORD,        IPP_TAG_PRINTER },
-  { 0, "media-key",            IPP_TAG_KEYWORD,        IPP_TAG_JOB },
-  { 0, "media-size",           IPP_TAG_BEGIN_COLLECTION, IPP_TAG_JOB },
-  { 0, "media-type",           IPP_TAG_KEYWORD,        IPP_TAG_JOB },
+  { 0, "media-key",            IPP_TAG_KEYWORD,        IPP_TAG_JOB,
+                                                       IPP_TAG_DOCUMENT },
+  { 0, "media-size",           IPP_TAG_BEGIN_COLLECTION, IPP_TAG_JOB,
+                                                       IPP_TAG_DOCUMENT },
+  { 0, "media-type",           IPP_TAG_KEYWORD,        IPP_TAG_JOB,
+                                                       IPP_TAG_DOCUMENT },
   { 0, "mirror",               IPP_TAG_BOOLEAN,        IPP_TAG_JOB },
   { 0, "mirror-default",       IPP_TAG_BOOLEAN,        IPP_TAG_PRINTER },
   { 0, "natural-scaling",      IPP_TAG_INTEGER,        IPP_TAG_JOB },
@@ -103,20 +125,27 @@ static const _ipp_option_t ipp_options[] =
   { 0, "notify-recipient-uri", IPP_TAG_URI,            IPP_TAG_SUBSCRIPTION },
   { 0, "notify-time-interval", IPP_TAG_INTEGER,        IPP_TAG_SUBSCRIPTION },
   { 0, "notify-user-data",     IPP_TAG_STRING,         IPP_TAG_SUBSCRIPTION },
-  { 0, "number-up",            IPP_TAG_INTEGER,        IPP_TAG_JOB },
+  { 0, "number-up",            IPP_TAG_INTEGER,        IPP_TAG_JOB,
+                                                       IPP_TAG_DOCUMENT },
   { 0, "number-up-default",    IPP_TAG_INTEGER,        IPP_TAG_PRINTER },
-  { 0, "orientation-requested",        IPP_TAG_ENUM,           IPP_TAG_JOB },
+  { 0, "orientation-requested",        IPP_TAG_ENUM,           IPP_TAG_JOB,
+                                                       IPP_TAG_DOCUMENT },
   { 0, "orientation-requested-default", IPP_TAG_ENUM,  IPP_TAG_PRINTER },
+  { 1, "overrides",            IPP_TAG_BEGIN_COLLECTION, IPP_TAG_JOB,
+                                                       IPP_TAG_DOCUMENT },
   { 0, "page-bottom",          IPP_TAG_INTEGER,        IPP_TAG_JOB },
   { 0, "page-bottom-default",  IPP_TAG_INTEGER,        IPP_TAG_PRINTER },
   { 0, "page-left",            IPP_TAG_INTEGER,        IPP_TAG_JOB },
   { 0, "page-left-default",    IPP_TAG_INTEGER,        IPP_TAG_PRINTER },
-  { 1, "page-ranges",          IPP_TAG_RANGE,          IPP_TAG_JOB },
+  { 1, "page-ranges",          IPP_TAG_RANGE,          IPP_TAG_JOB,
+                                                       IPP_TAG_DOCUMENT },
   { 1, "page-ranges-default",  IPP_TAG_RANGE,          IPP_TAG_PRINTER },
   { 0, "page-right",           IPP_TAG_INTEGER,        IPP_TAG_JOB },
   { 0, "page-right-default",   IPP_TAG_INTEGER,        IPP_TAG_PRINTER },
   { 0, "page-top",             IPP_TAG_INTEGER,        IPP_TAG_JOB },
   { 0, "page-top-default",     IPP_TAG_INTEGER,        IPP_TAG_PRINTER },
+  { 1, "pages",                        IPP_TAG_RANGE,          IPP_TAG_JOB,
+                                                       IPP_TAG_DOCUMENT },
   { 0, "penwidth",             IPP_TAG_INTEGER,        IPP_TAG_JOB },
   { 0, "penwidth-default",     IPP_TAG_INTEGER,        IPP_TAG_PRINTER },
   { 0, "port-monitor",         IPP_TAG_NAME,           IPP_TAG_PRINTER },
@@ -125,7 +154,8 @@ static const _ipp_option_t ipp_options[] =
   { 0, "ppi-default",          IPP_TAG_INTEGER,        IPP_TAG_PRINTER },
   { 0, "prettyprint",          IPP_TAG_BOOLEAN,        IPP_TAG_JOB },
   { 0, "prettyprint-default",  IPP_TAG_BOOLEAN,        IPP_TAG_PRINTER },
-  { 0, "print-quality",                IPP_TAG_ENUM,           IPP_TAG_JOB },
+  { 0, "print-quality",                IPP_TAG_ENUM,           IPP_TAG_JOB,
+                                                       IPP_TAG_DOCUMENT },
   { 0, "print-quality-default",        IPP_TAG_ENUM,           IPP_TAG_PRINTER },
   { 1, "printer-commands",     IPP_TAG_KEYWORD,        IPP_TAG_PRINTER },
   { 0, "printer-error-policy", IPP_TAG_NAME,           IPP_TAG_PRINTER },
@@ -136,7 +166,8 @@ static const _ipp_option_t ipp_options[] =
   { 0, "printer-make-and-model", IPP_TAG_TEXT,         IPP_TAG_PRINTER },
   { 0, "printer-more-info",    IPP_TAG_URI,            IPP_TAG_PRINTER },
   { 0, "printer-op-policy",    IPP_TAG_NAME,           IPP_TAG_PRINTER },
-  { 0, "printer-resolution",   IPP_TAG_RESOLUTION,     IPP_TAG_JOB },
+  { 0, "printer-resolution",   IPP_TAG_RESOLUTION,     IPP_TAG_JOB,
+                                                       IPP_TAG_DOCUMENT },
   { 0, "printer-state",                IPP_TAG_ENUM,           IPP_TAG_PRINTER },
   { 0, "printer-state-change-time", IPP_TAG_INTEGER,   IPP_TAG_PRINTER },
   { 1, "printer-state-reasons",        IPP_TAG_KEYWORD,        IPP_TAG_PRINTER },
@@ -154,12 +185,18 @@ static const _ipp_option_t ipp_options[] =
   { 0, "saturation-default",   IPP_TAG_INTEGER,        IPP_TAG_PRINTER },
   { 0, "scaling",              IPP_TAG_INTEGER,        IPP_TAG_JOB },
   { 0, "scaling-default",      IPP_TAG_INTEGER,        IPP_TAG_PRINTER },
-  { 0, "sides",                        IPP_TAG_KEYWORD,        IPP_TAG_JOB },
+  { 0, "sides",                        IPP_TAG_KEYWORD,        IPP_TAG_JOB,
+                                                       IPP_TAG_DOCUMENT },
   { 0, "sides-default",                IPP_TAG_KEYWORD,        IPP_TAG_PRINTER },
+  { 0, "time-at-completed",    IPP_TAG_INTEGER,        IPP_TAG_ZERO }, /* never send as option */
+  { 0, "time-at-creation",     IPP_TAG_INTEGER,        IPP_TAG_ZERO }, /* never send as option */
+  { 0, "time-at-processing",   IPP_TAG_INTEGER,        IPP_TAG_ZERO }, /* never send as option */
   { 0, "wrap",                 IPP_TAG_BOOLEAN,        IPP_TAG_JOB },
   { 0, "wrap-default",         IPP_TAG_BOOLEAN,        IPP_TAG_PRINTER },
-  { 0, "x-dimension",          IPP_TAG_INTEGER,        IPP_TAG_JOB },
-  { 0, "y-dimension",          IPP_TAG_INTEGER,        IPP_TAG_JOB }
+  { 0, "x-dimension",          IPP_TAG_INTEGER,        IPP_TAG_JOB,
+                                                       IPP_TAG_DOCUMENT },
+  { 0, "y-dimension",          IPP_TAG_INTEGER,        IPP_TAG_JOB,
+                                                       IPP_TAG_DOCUMENT }
 };
 
 
@@ -202,7 +239,7 @@ cupsEncodeOptions(ipp_t         *ipp,               /* I - Request to add to */
  * function multiple times for each group, or use cupsEncodeOptions()
  * to add the standard groups.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 void
@@ -282,7 +319,7 @@ cupsEncodeOptions2(
 
     if ((match = _ippFindOption(option->name)) != NULL)
     {
-      if (match->group_tag != group_tag)
+      if (match->group_tag != group_tag && match->alt_group_tag != group_tag)
         continue;
 
       value_tag = match->value_tag;
@@ -294,9 +331,11 @@ cupsEncodeOptions2(
 
       namelen = (int)strlen(option->name);
 
-      if (namelen < 9 || strcmp(option->name + namelen - 8, "-default"))
+      if (namelen < 10 ||
+          (strcmp(option->name + namelen - 8, "-default") &&
+           strcmp(option->name + namelen - 10, "-supported")))
       {
-       if (group_tag != IPP_TAG_JOB)
+       if (group_tag != IPP_TAG_JOB && group_tag != IPP_TAG_DOCUMENT)
           continue;
       }
       else if (group_tag != IPP_TAG_PRINTER)
@@ -343,7 +382,8 @@ cupsEncodeOptions2(
     * Allocate memory for the attribute values...
     */
 
-    if ((attr = _ippAddAttr(ipp, count)) == NULL)
+    if ((attr = ippAddStrings(ipp, group_tag, value_tag, option->name, count,
+                              NULL, NULL)) == NULL)
     {
      /*
       * Ran out of memory!
@@ -353,19 +393,6 @@ cupsEncodeOptions2(
       return;
     }
 
-   /*
-    * Now figure out what type of value we have...
-    */
-
-    attr->group_tag = group_tag;
-    attr->value_tag = value_tag;
-
-   /*
-    * Copy the name over...
-    */
-
-    attr->name = _cupsStrAlloc(option->name);
-
     if (count > 1)
     {
      /*
@@ -524,7 +551,8 @@ cupsEncodeOptions2(
            else
              attr->values[j].resolution.yres = attr->values[j].resolution.xres;
 
-           if (!_cups_strcasecmp(s, "dpc"))
+           if (!_cups_strcasecmp(s, "dpc") ||
+               !_cups_strcasecmp(s, "dpcm"))
               attr->values[j].resolution.units = IPP_RES_PER_CM;
             else
               attr->values[j].resolution.units = IPP_RES_PER_INCH;
@@ -632,5 +660,5 @@ compare_ipp_options(_ipp_option_t *a,       /* I - First option */
 
 
 /*
- * End of "$Id: encode.c 9793 2011-05-20 03:49:49Z mike $".
+ * End of "$Id: encode.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index b69557e..ed61700 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: file-private.h 9777 2011-05-13 23:04:16Z mike $"
+ * "$Id: file-private.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Private file definitions for CUPS.
  *
@@ -133,5 +133,5 @@ extern void                 _cupsFileCheckFilter(void *context,
 #endif /* !_CUPS_FILE_PRIVATE_H_ */
 
 /*
- * End of "$Id: file-private.h 9777 2011-05-13 23:04:16Z mike $".
+ * End of "$Id: file-private.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index 86ad132..062d1a2 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: file.c 9993 2011-09-09 21:55:11Z mike $"
+ * "$Id: file.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   File functions for CUPS.
  *
@@ -8,7 +8,7 @@
  *   our own file functions allows us to provide transparent support of
  *   gzip'd print files, PPD files, etc.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -168,19 +168,13 @@ _cupsFileCheck(
   * Verify permission of the file itself:
   *
   * 1. Must be owned by root
-  * 2. Must not be writable by group unless group is root/wheel/admin
+  * 2. Must not be writable by group
   * 3. Must not be setuid
   * 4. Must not be writable by others
   */
 
   if (fileinfo.st_uid ||               /* 1. Must be owned by root */
-#ifdef __APPLE__
-      ((fileinfo.st_mode & S_IWGRP) && fileinfo.st_gid &&
-       fileinfo.st_gid != 80) ||       /* 2. Must not be writable by group */
-#else
-      ((fileinfo.st_mode & S_IWGRP) && fileinfo.st_gid) ||
-                                       /* 2. Must not be writable by group */
-#endif /* __APPLE__ */
+      (fileinfo.st_mode & S_IWGRP)  || /* 2. Must not be writable by group */
       (fileinfo.st_mode & S_ISUID) ||  /* 3. Must not be setuid */
       (fileinfo.st_mode & S_IWOTH))    /* 4. Must not be writable by others */
   {
@@ -219,13 +213,7 @@ _cupsFileCheck(
   }
 
   if (fileinfo.st_uid ||               /* 1. Must be owned by root */
-#ifdef __APPLE__
-      ((fileinfo.st_mode & S_IWGRP) && fileinfo.st_gid &&
-       fileinfo.st_gid != 80) ||       /* 2. Must not be writable by group */
-#else
-      ((fileinfo.st_mode & S_IWGRP) && fileinfo.st_gid) ||
-                                       /* 2. Must not be writable by group */
-#endif /* __APPLE__ */
+      (fileinfo.st_mode & S_IWGRP) ||  /* 2. Must not be writable by group */
       (fileinfo.st_mode & S_ISUID) ||  /* 3. Must not be setuid */
       (fileinfo.st_mode & S_IWOTH))    /* 4. Must not be writable by others */
   {
@@ -364,7 +352,7 @@ _cupsFileCheckFilter(
 /*
  * 'cupsFileClose()' - Close a CUPS file.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - 0 on success, -1 on error */
@@ -496,7 +484,7 @@ cupsFileClose(cups_file_t *fp)              /* I - CUPS file */
 /*
  * 'cupsFileCompression()' - Return whether a file is compressed.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - @code CUPS_FILE_NONE@ or @code CUPS_FILE_GZIP@ */
@@ -509,7 +497,7 @@ cupsFileCompression(cups_file_t *fp)        /* I - CUPS file */
 /*
  * 'cupsFileEOF()' - Return the end-of-file status.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - 1 on end of file, 0 otherwise */
@@ -528,7 +516,7 @@ cupsFileEOF(cups_file_t *fp)                /* I - CUPS file */
  * the supplied paths, @code NULL@ is returned. A @code NULL@ path only
  * matches the current directory.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 const char *                           /* O - Full path to file or @code NULL@ if not found */
@@ -631,7 +619,7 @@ cupsFileFind(const char *filename,  /* I - File to find */
 /*
  * 'cupsFileFlush()' - Flush pending output.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - 0 on success, -1 on error */
@@ -679,7 +667,7 @@ cupsFileFlush(cups_file_t *fp)              /* I - CUPS file */
 /*
  * 'cupsFileGetChar()' - Get a single character from a file.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - Character or -1 on end of file */
@@ -723,7 +711,7 @@ cupsFileGetChar(cups_file_t *fp)    /* I - CUPS file */
 /*
  * 'cupsFileGetConf()' - Get a line from a configuration file.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 char *                                 /* O  - Line read or @code NULL@ on end of file or error */
@@ -867,7 +855,7 @@ cupsFileGetConf(cups_file_t *fp,    /* I  - CUPS file */
  * nul-terminated, however you should use the returned length to determine
  * the number of bytes on the line.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 size_t                                 /* O - Number of bytes on line or 0 on end of file */
@@ -942,7 +930,7 @@ cupsFileGetLine(cups_file_t *fp,    /* I - File to read from */
 /*
  * 'cupsFileGets()' - Get a CR and/or LF-terminated line.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 char *                                 /* O - Line read or @code NULL@ on end of file or error */
@@ -1024,7 +1012,7 @@ cupsFileGets(cups_file_t *fp,             /* I - CUPS file */
 /*
  * 'cupsFileLock()' - Temporarily lock access to a file.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - 0 on success, -1 on error */
@@ -1053,7 +1041,7 @@ cupsFileLock(cups_file_t *fp,             /* I - CUPS file */
 /*
  * 'cupsFileNumber()' - Return the file descriptor associated with a CUPS file.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - File descriptor */
@@ -1082,7 +1070,7 @@ cupsFileNumber(cups_file_t *fp)           /* I - CUPS file */
  * connection as needed, generally preferring IPv6 connections when there is
  * a choice.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 cups_file_t *                          /* O - CUPS file or @code NULL@ if the file or socket cannot be opened */
@@ -1204,7 +1192,7 @@ cupsFileOpen(const char *filename,        /* I - Name of file */
  * supplied which enables Flate compression of the file.  Compression is
  * not supported for the "a" (append) mode.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 cups_file_t *                          /* O - CUPS file or @code NULL@ if the file could not be opened */
@@ -1316,7 +1304,7 @@ cupsFileOpenFd(int        fd,             /* I - File descriptor */
 /*
  * 'cupsFilePeekChar()' - Peek at the next character from a file.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - Character or -1 on end of file */
@@ -1348,7 +1336,7 @@ cupsFilePeekChar(cups_file_t *fp) /* I - CUPS file */
 /*
  * 'cupsFilePrintf()' - Write a formatted string.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - Number of bytes written or -1 on error */
@@ -1445,7 +1433,7 @@ cupsFilePrintf(cups_file_t *fp,           /* I - CUPS file */
 /*
  * 'cupsFilePutChar()' - Write a character.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - 0 on success, -1 on error */
@@ -1499,7 +1487,7 @@ cupsFilePutChar(cups_file_t *fp,  /* I - CUPS file */
  *
  * This function handles any comment escaping of the value.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 ssize_t                                        /* O - Number of bytes written or -1 on error */
@@ -1560,7 +1548,7 @@ cupsFilePutConf(cups_file_t *fp,  /* I - CUPS file */
  *
  * Like the @code fputs@ function, no newline is appended to the string.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - Number of bytes written or -1 on error */
@@ -1624,7 +1612,7 @@ cupsFilePuts(cups_file_t *fp,             /* I - CUPS file */
 /*
  * 'cupsFileRead()' - Read from a file.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 ssize_t                                        /* O - Number of bytes read or -1 on error */
@@ -1701,7 +1689,7 @@ cupsFileRead(cups_file_t *fp,             /* I - CUPS file */
  * 'cupsFileRewind()' - Set the current file position to the beginning of the
  *                      file.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 off_t                                  /* O - New file position or -1 on error */
@@ -1773,7 +1761,7 @@ cupsFileRewind(cups_file_t *fp)           /* I - CUPS file */
 /*
  * 'cupsFileSeek()' - Seek in a file.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 off_t                                  /* O - New file position or -1 on error */
@@ -1926,7 +1914,7 @@ cupsFileSeek(cups_file_t *fp,             /* I - CUPS file */
 /*
  * 'cupsFileStderr()' - Return a CUPS file associated with stderr.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 cups_file_t *                          /* O - CUPS file */
@@ -1962,7 +1950,7 @@ cupsFileStderr(void)
 /*
  * 'cupsFileStdin()' - Return a CUPS file associated with stdin.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 cups_file_t *                          /* O - CUPS file */
@@ -1992,7 +1980,7 @@ cupsFileStdin(void)
 /*
  * 'cupsFileStdout()' - Return a CUPS file associated with stdout.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 cups_file_t *                          /* O - CUPS file */
@@ -2028,7 +2016,7 @@ cupsFileStdout(void)
 /*
  * 'cupsFileTell()' - Return the current file position.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 off_t                                  /* O - File position */
@@ -2045,7 +2033,7 @@ cupsFileTell(cups_file_t *fp)             /* I - CUPS file */
 /*
  * 'cupsFileUnlock()' - Unlock access to a file.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - 0 on success, -1 on error */
@@ -2075,7 +2063,7 @@ cupsFileUnlock(cups_file_t *fp)           /* I - CUPS file */
 /*
  * 'cupsFileWrite()' - Write to a file.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 ssize_t                                        /* O - Number of bytes written or -1 on error */
@@ -2722,5 +2710,5 @@ cups_write(cups_file_t *fp,               /* I - CUPS file */
 
 
 /*
- * End of "$Id: file.c 9993 2011-09-09 21:55:11Z mike $".
+ * End of "$Id: file.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index f85d150..fb63d64 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: file.h 9771 2011-05-12 05:21:56Z mike $"
+ * "$Id: file.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Public file definitions for CUPS.
  *
@@ -72,26 +72,29 @@ extern const char   *cupsFileFind(const char *filename, const char *path,
                                      int bufsize) _CUPS_API_1_2;
 extern int             cupsFileFlush(cups_file_t *fp) _CUPS_API_1_2;
 extern int             cupsFileGetChar(cups_file_t *fp) _CUPS_API_1_2;
-extern char            *cupsFileGetConf(cups_file_t *fp, char *buf, size_t buflen,
-                                        char **value, int *linenum) _CUPS_API_1_2;
+extern char            *cupsFileGetConf(cups_file_t *fp, char *buf,
+                                        size_t buflen, char **value,
+                                        int *linenum) _CUPS_API_1_2;
 extern size_t          cupsFileGetLine(cups_file_t *fp, char *buf,
                                        size_t buflen) _CUPS_API_1_2;
-extern char            *cupsFileGets(cups_file_t *fp, char *buf, size_t buflen) _CUPS_API_1_2;
+extern char            *cupsFileGets(cups_file_t *fp, char *buf, size_t buflen)
+                       _CUPS_API_1_2;
 extern int             cupsFileLock(cups_file_t *fp, int block) _CUPS_API_1_2;
 extern int             cupsFileNumber(cups_file_t *fp) _CUPS_API_1_2;
-extern cups_file_t     *cupsFileOpen(const char *filename, const char *mode) _CUPS_API_1_2;
+extern cups_file_t     *cupsFileOpen(const char *filename, const char *mode)
+                       _CUPS_API_1_2;
 extern cups_file_t     *cupsFileOpenFd(int fd, const char *mode) _CUPS_API_1_2;
 extern int             cupsFilePeekChar(cups_file_t *fp) _CUPS_API_1_2;
 extern int             cupsFilePrintf(cups_file_t *fp, const char *format, ...)
-#ifdef __GNUC__
-__attribute__ ((__format__ (__printf__, 2, 3)))
-#endif /* __GNUC__ */
-_CUPS_API_1_2;
+                       __attribute__((__format__ (__printf__, 2, 3)))
+                       _CUPS_API_1_2;
 extern int             cupsFilePutChar(cups_file_t *fp, int c) _CUPS_API_1_2;
 extern ssize_t         cupsFilePutConf(cups_file_t *fp, const char *directive,
                                        const char *value) _CUPS_API_1_4;
-extern int             cupsFilePuts(cups_file_t *fp, const char *s) _CUPS_API_1_2;
-extern ssize_t         cupsFileRead(cups_file_t *fp, char *buf, size_t bytes) _CUPS_API_1_2;
+extern int             cupsFilePuts(cups_file_t *fp, const char *s)
+                       _CUPS_API_1_2;
+extern ssize_t         cupsFileRead(cups_file_t *fp, char *buf, size_t bytes)
+                       _CUPS_API_1_2;
 extern off_t           cupsFileRewind(cups_file_t *fp) _CUPS_API_1_2;
 extern off_t           cupsFileSeek(cups_file_t *fp, off_t pos) _CUPS_API_1_2;
 extern cups_file_t     *cupsFileStderr(void) _CUPS_API_1_2;
@@ -99,7 +102,8 @@ extern cups_file_t   *cupsFileStdin(void) _CUPS_API_1_2;
 extern cups_file_t     *cupsFileStdout(void) _CUPS_API_1_2;
 extern off_t           cupsFileTell(cups_file_t *fp) _CUPS_API_1_2;
 extern int             cupsFileUnlock(cups_file_t *fp) _CUPS_API_1_2;
-extern ssize_t         cupsFileWrite(cups_file_t *fp, const char *buf, size_t bytes) _CUPS_API_1_2;
+extern ssize_t         cupsFileWrite(cups_file_t *fp, const char *buf,
+                                     size_t bytes) _CUPS_API_1_2;
 
 
 #  ifdef __cplusplus
@@ -108,5 +112,5 @@ extern ssize_t              cupsFileWrite(cups_file_t *fp, const char *buf, size_t bytes) _C
 #endif /* !_CUPS_FILE_H_ */
 
 /*
- * End of "$Id: file.h 9771 2011-05-12 05:21:56Z mike $".
+ * End of "$Id: file.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index 164b808..89f5b8d 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: getdevices.c 9055 2010-03-25 23:06:26Z mike $"
+ * "$Id: getdevices.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   cupsGetDevices implementation for CUPS.
  *
- *   Copyright 2008-2010 by Apple Inc.
+ *   Copyright 2008-2012 by Apple Inc.
  *
  *   These coded instructions, statements, and computer programs are the
  *   property of Apple Inc. and are protected by Federal copyright
@@ -34,7 +34,7 @@
  * parameters provide comma-delimited lists of backends to include or omit from
  * the request respectively.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 ipp_status_t                           /* O - Request status - @code IPP_OK@ on success. */
@@ -258,7 +258,7 @@ cupsGetDevices(
   httpFlush(http);
 
   if (status == HTTP_ERROR)
-    _cupsSetError(IPP_ERROR, NULL, 0);
+    _cupsSetError(IPP_INTERNAL_ERROR, strerror(http->error), 0);
   else
   {
     attr = ippFindAttribute(response, "status-message", IPP_TAG_TEXT);
@@ -279,5 +279,5 @@ cupsGetDevices(
 
 
 /*
- * End of "$Id: getdevices.c 9055 2010-03-25 23:06:26Z mike $".
+ * End of "$Id: getdevices.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 26c912c..e227276 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: getifaddrs.c 9042 2010-03-24 00:45:34Z mike $"
+ * "$Id: getifaddrs.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Network interface functions for CUPS.
  *
@@ -262,5 +262,5 @@ _cups_freeifaddrs(struct ifaddrs *addrs)/* I - Interface list to free */
 
 
 /*
- * End of "$Id: getifaddrs.c 9042 2010-03-24 00:45:34Z mike $".
+ * End of "$Id: getifaddrs.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index ec9a5f3..c7534ec 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: getputfile.c 9042 2010-03-24 00:45:34Z mike $"
+ * "$Id: getputfile.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Get/put file functions for CUPS.
  *
- *   Copyright 2007-2010 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -41,7 +41,7 @@
  *
  * This function returns @code HTTP_OK@ when the file is successfully retrieved.
  *
- * @since CUPS 1.1.20/Mac OS X 10.4@
+ * @since CUPS 1.1.20/OS X 10.4@
  */
 
 http_status_t                          /* O - HTTP status */
@@ -187,7 +187,7 @@ cupsGetFd(http_t     *http,         /* I - Connection to server or @code CUPS_HTTP_DEFA
  *
  * This function returns @code HTTP_OK@ when the file is successfully retrieved.
  *
- * @since CUPS 1.1.20/Mac OS X 10.4@
+ * @since CUPS 1.1.20/OS X 10.4@
  */
 
 http_status_t                          /* O - HTTP status */
@@ -255,7 +255,7 @@ cupsGetFile(http_t     *http,               /* I - Connection to server or @code CUPS_HTTP_DE
  * This function returns @code HTTP_CREATED@ when the file is stored
  * successfully.
  *
- * @since CUPS 1.1.20/Mac OS X 10.4@
+ * @since CUPS 1.1.20/OS X 10.4@
  */
 
 http_status_t                          /* O - HTTP status */
@@ -446,7 +446,7 @@ cupsPutFd(http_t     *http,         /* I - Connection to server or @code CUPS_HTTP_DEFA
  * This function returns @code HTTP_CREATED@ when the file is stored
  * successfully.
  *
- * @since CUPS 1.1.20/Mac OS X 10.4@
+ * @since CUPS 1.1.20/OS X 10.4@
  */
 
 http_status_t                          /* O - HTTP status */
@@ -498,5 +498,5 @@ cupsPutFile(http_t     *http,               /* I - Connection to server or @code CUPS_HTTP_DE
 
 
 /*
- * End of "$Id: getputfile.c 9042 2010-03-24 00:45:34Z mike $".
+ * End of "$Id: getputfile.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 0f77a76..8493a08 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: globals.c 10436 2012-04-23 21:52:02Z mike $"
+ * "$Id: globals.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Global variable access routines for CUPS.
  *
- *   Copyright 2007-2010 by Apple Inc.
+ *   Copyright 2007-2013 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -20,6 +20,7 @@
  *   _cupsGlobals()       - Return a pointer to thread local storage
  *   _cupsGlobalUnlock()  - Unlock the global mutex.
  *   DllMain()            - Main entry for library.
+ *   cups_fix_path()      - Fix a file path to use forward slashes consistently.
  *   cups_globals_alloc() - Allocate and initialize global data.
  *   cups_globals_free()  - Free global data.
  *   cups_globals_init()  - Initialize environment variables.
@@ -53,6 +54,9 @@ static _cups_mutex_t  cups_global_mutex = _CUPS_MUTEX_INITIALIZER;
  * Local functions...
  */
 
+#ifdef WIN32
+static void            cups_fix_path(char *path);
+#endif /* WIN32 */
 static _cups_globals_t *cups_globals_alloc(void);
 #if defined(HAVE_PTHREAD_H) || defined(WIN32)
 static void            cups_globals_free(_cups_globals_t *g);
@@ -191,9 +195,9 @@ cups_globals_alloc(void)
 #ifdef WIN32
   HKEY         key;                    /* Registry key */
   DWORD                size;                   /* Size of string */
-  static char  installdir[1024],       /* Install directory */
-               confdir[1024],          /* Server root directory */
-               localedir[1024];        /* Locale directory */
+  static char  installdir[1024] = "",  /* Install directory */
+               confdir[1024] = "",     /* Server root directory */
+               localedir[1024] = "";   /* Locale directory */
 #endif /* WIN32 */
 
 
@@ -206,38 +210,58 @@ cups_globals_alloc(void)
   */
 
   memset(cg, 0, sizeof(_cups_globals_t));
-  cg->encryption    = (http_encryption_t)-1;
-  cg->password_cb   = (cups_password_cb2_t)_cupsGetPassword;
-  cg->any_root      = 1;
-  cg->expired_certs = 1;
-  cg->expired_root  = 1;
+  cg->encryption     = (http_encryption_t)-1;
+  cg->password_cb    = (cups_password_cb2_t)_cupsGetPassword;
+  cg->any_root       = 1;
+  cg->expired_certs  = 1;
+  cg->expired_root   = 1;
 
  /*
   * Then set directories as appropriate...
   */
 
 #ifdef WIN32
- /*
-  * Open the registry...
-  */
-
-  strcpy(installdir, "C:/Program Files/cups.org");
-
-  if (!RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE\\cups.org", 0, KEY_READ,
-                    &key))
+  if (!installdir[0])
   {
    /*
-    * Grab the installation directory...
+    * Open the registry...
     */
 
-    size = sizeof(installdir);
-    RegQueryValueEx(key, "installdir", NULL, NULL, installdir, &size);
-    RegCloseKey(key);
+    strcpy(installdir, "C:/Program Files/cups.org");
+
+    if (!RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE\\cups.org", 0, KEY_READ,
+                      &key))
+    {
+     /*
+      * Grab the installation directory...
+      */
+
+      char  *ptr;                      /* Pointer into installdir */
+
+      size = sizeof(installdir);
+      RegQueryValueEx(key, "installdir", NULL, NULL, installdir, &size);
+      RegCloseKey(key);
+
+      for (ptr = installdir; *ptr;)
+      {
+        if (*ptr == '\\')
+        {
+          if (ptr[1])
+            *ptr++ = '/';
+          else
+            *ptr = '\0';               /* Strip trailing \ */
+        }
+        else if (*ptr == '/' && !ptr[1])
+          *ptr = '\0';                 /* Strip trailing / */
+        else
+          ptr ++;
+      }
+    }
+
+    snprintf(confdir, sizeof(confdir), "%s/conf", installdir);
+    snprintf(localedir, sizeof(localedir), "%s/locale", installdir);
   }
 
-  snprintf(confdir, sizeof(confdir), "%s/conf", installdir);
-  snprintf(localedir, sizeof(localedir), "%s/locale", installdir);
-
   if ((cg->cups_datadir = getenv("CUPS_DATADIR")) == NULL)
     cg->cups_datadir = installdir;
 
@@ -306,14 +330,14 @@ cups_globals_alloc(void)
 static void
 cups_globals_free(_cups_globals_t *cg) /* I - Pointer to global data */
 {
-  _ipp_buffer_t                *buffer,        /* Current IPP read/write buffer */
+  _cups_buffer_t       *buffer,        /* Current read/write buffer */
                        *next;          /* Next buffer */
 
 
   if (cg->last_status_message)
     _cupsStrFree(cg->last_status_message);
 
-  for (buffer = cg->ipp_buffers; buffer; buffer = next)
+  for (buffer = cg->cups_buffers; buffer; buffer = next)
   {
     next = buffer->next;
     free(buffer);
@@ -356,5 +380,5 @@ cups_globals_init(void)
 
 
 /*
- * End of "$Id: globals.c 10436 2012-04-23 21:52:02Z mike $".
+ * End of "$Id: globals.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index db9895d..74218de 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: http-addr.c 9868 2011-08-06 04:53:00Z mike $"
+ * "$Id: http-addr.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   HTTP address routines for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
 #ifdef HAVE_RESOLV_H
 #  include <resolv.h>
 #endif /* HAVE_RESOLV_H */
-#ifdef HAVE_COREFOUNDATION
+#ifdef __APPLE__
 #  include <CoreFoundation/CoreFoundation.h>
-#endif /* HAVE_COREFOUNDATION */
-#ifdef HAVE_SYSTEMCONFIGURATION
 #  include <SystemConfiguration/SystemConfiguration.h>
-#endif /* HAVE_SYSTEMCONFIGURATION */
+#endif /* __APPLE__ */
 
 
 /*
  * 'httpAddrAny()' - Check for the "any" address.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - 1 if "any", 0 otherwise */
@@ -71,7 +69,7 @@ httpAddrAny(const http_addr_t *addr)  /* I - Address to check */
 /*
  * 'httpAddrEqual()' - Compare two addresses.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                            /* O - 1 if equal, 0 if not */
@@ -104,7 +102,7 @@ httpAddrEqual(const http_addr_t *addr1,             /* I - First address */
 /*
  * 'httpAddrLength()' - Return the length of the address in bytes.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - Length in bytes */
@@ -135,7 +133,7 @@ httpAddrLength(const http_addr_t *addr)     /* I - Address */
 /*
  * 'httpAddrLocalhost()' - Check for the local loopback address.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - 1 if local host, 0 otherwise */
@@ -174,7 +172,7 @@ httpAddrLocalhost(
 /*
  * 'httpAddrLookup()' - Lookup the hostname associated with the address.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 char *                                 /* O - Host name */
@@ -342,7 +340,7 @@ _httpAddrSetPort(http_addr_t *addr, /* I - Address */
 /*
  * 'httpAddrString()' - Convert an address to a numeric string.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 char *                                 /* O - Numeric address string */
@@ -616,7 +614,7 @@ httpGetHostByName(const char *name) /* I - Hostname or IP address */
  * Otherwise, return the FQDN for the local system using both gethostname()
  * and gethostbyname() to get the local hostname with domain.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 const char *                           /* O - FQDN for connection or system */
@@ -701,5 +699,5 @@ httpGetHostname(http_t *http,               /* I - HTTP connection or NULL */
 
 
 /*
- * End of "$Id: http-addr.c 9868 2011-08-06 04:53:00Z mike $".
+ * End of "$Id: http-addr.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index a07ffb3..7160007 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: http-addrlist.c 10006 2011-09-20 18:36:33Z mike $"
+ * "$Id: http-addrlist.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   HTTP address list routines for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -15,6 +15,8 @@
  * Contents:
  *
  *   httpAddrConnect()  - Connect to any of the addresses in the list.
+ *   httpAddrConnect2() - Connect to any of the addresses in the list with a
+ *                        timeout and optional cancel.
  *   httpAddrFreeList() - Free an address list.
  *   httpAddrGetList()  - Get a list of addresses for a hostname.
  */
 #ifdef HAVE_RESOLV_H
 #  include <resolv.h>
 #endif /* HAVE_RESOLV_H */
+#ifdef HAVE_POLL
+#  include <poll.h>
+#endif /* HAVE_POLL */
+#ifndef WIN32
+#  include <fcntl.h>
+#endif /* WIN32 */
 
 
 /*
  * 'httpAddrConnect()' - Connect to any of the addresses in the list.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 http_addrlist_t *                      /* O - Connected address or NULL on failure */
@@ -40,34 +48,76 @@ httpAddrConnect(
     http_addrlist_t *addrlist,         /* I - List of potential addresses */
     int             *sock)             /* O - Socket */
 {
+  DEBUG_printf(("httpAddrConnect(addrlist=%p, sock=%p)", addrlist, sock));
+
+  return (httpAddrConnect2(addrlist, sock, 30000, NULL));
+}
+
+
+/*
+ * 'httpAddrConnect2()' - Connect to any of the addresses in the list with a
+ *                        timeout and optional cancel.
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
+
+http_addrlist_t *                      /* O - Connected address or NULL on failure */
+httpAddrConnect2(
+    http_addrlist_t *addrlist,         /* I - List of potential addresses */
+    int             *sock,             /* O - Socket */
+    int             msec,              /* I - Timeout in milliseconds */
+    int             *cancel)           /* I - Pointer to "cancel" variable */
+{
   int                  val;            /* Socket option value */
-#ifdef __APPLE__
-  struct timeval       timeout;        /* Socket timeout value */
-#endif /* __APPLE__ */
+#ifdef O_NONBLOCK
+  socklen_t            len;            /* Length of value */
+  http_addr_t          peer;           /* Peer address */
+  int                  flags,          /* Socket flags */
+                       remaining;      /* Remaining timeout */
+#  ifdef HAVE_POLL
+  struct pollfd                pfd;            /* Polled file descriptor */
+#  else
+  fd_set               input_set,      /* select() input set */
+                       output_set;     /* select() output set */
+  struct timeval       timeout;        /* Timeout */
+#  endif /* HAVE_POLL */
+  int                  nfds;           /* Result from select()/poll() */
+#endif /* O_NONBLOCK */
 #ifdef DEBUG
   char                 temp[256];      /* Temporary address string */
 #endif /* DEBUG */
 
 
-  DEBUG_printf(("httpAddrConnect(addrlist=%p, sock=%p)", addrlist, sock));
+  DEBUG_printf(("httpAddrConnect2(addrlist=%p, sock=%p, msec=%d, cancel=%p)",
+                addrlist, sock, msec, cancel));
 
   if (!sock)
   {
     errno = EINVAL;
+    _cupsSetError(IPP_INTERNAL_ERROR, strerror(errno), 0);
     return (NULL);
   }
 
+  if (cancel && *cancel)
+    return (NULL);
+
+  if (msec <= 0 || getenv("CUPS_DISABLE_ASYNC_CONNECT"))
+    msec = INT_MAX;
+
  /*
   * Loop through each address until we connect or run out of addresses...
   */
 
   while (addrlist)
   {
+    if (cancel && *cancel)
+      return (NULL);
+
    /*
     * Create the socket...
     */
 
-    DEBUG_printf(("2httpAddrConnect: Trying %s:%d...",
+    DEBUG_printf(("2httpAddrConnect2: Trying %s:%d...",
                  httpAddrString(&(addrlist->addr), temp, sizeof(temp)),
                  _httpAddrPort(&(addrlist->addr))));
 
@@ -105,17 +155,6 @@ httpAddrConnect(
     setsockopt(*sock, SOL_SOCKET, SO_NOSIGPIPE, &val, sizeof(val));
 #endif /* SO_NOSIGPIPE */
 
-#ifdef __APPLE__
-   /*
-    * Use a 30-second read timeout when connecting to limit the amount of time
-    * we block...
-    */
-
-    timeout.tv_sec  = 30;
-    timeout.tv_usec = 0;
-    setsockopt(*sock, SOL_SOCKET, SO_RCVTIMEO, &timeout, sizeof(timeout));
-#endif /* __APPLE__ */
-
    /*
     * Using TCP_NODELAY improves responsiveness, especially on systems
     * with a slow loopback interface...
@@ -137,6 +176,22 @@ httpAddrConnect(
     fcntl(*sock, F_SETFD, FD_CLOEXEC);
 #endif /* FD_CLOEXEC */
 
+#ifdef O_NONBLOCK
+   /*
+    * Do an asynchronous connect by setting the socket non-blocking...
+    */
+
+    DEBUG_printf(("httpAddrConnect2: Setting non-blocking connect()"));
+
+    flags = fcntl(*sock, F_GETFL, 0);
+    if (msec != INT_MAX)
+    {
+      DEBUG_puts("httpAddrConnect2: Setting non-blocking connect()");
+
+      fcntl(*sock, F_SETFL, flags | O_NONBLOCK);
+    }
+#endif /* O_NONBLOCK */
+
    /*
     * Then connect...
     */
@@ -144,16 +199,109 @@ httpAddrConnect(
     if (!connect(*sock, &(addrlist->addr.addr),
                  httpAddrLength(&(addrlist->addr))))
     {
-      DEBUG_printf(("1httpAddrConnect: Connected to %s:%d...",
+      DEBUG_printf(("1httpAddrConnect2: Connected to %s:%d...",
                    httpAddrString(&(addrlist->addr), temp, sizeof(temp)),
                    _httpAddrPort(&(addrlist->addr))));
-      break;
+
+#ifdef O_NONBLOCK
+      fcntl(*sock, F_SETFL, flags);
+#endif /* O_NONBLOCK */
+
+      return (addrlist);
+    }
+
+#ifdef O_NONBLOCK
+#  ifdef WIN32
+    if (WSAGetLastError() == WSAEINPROGRESS ||
+        WSAGetLastError() == WSAEWOULDBLOCK)
+#  else
+    if (errno == EINPROGRESS || errno == EWOULDBLOCK)
+#  endif /* WIN32 */
+    {
+      DEBUG_puts("1httpAddrConnect2: Finishing async connect()");
+
+      fcntl(*sock, F_SETFL, flags);
+
+      for (remaining = msec; remaining > 0; remaining -= 250)
+      {
+       do
+        {
+          if (cancel && *cancel)
+          {
+          /*
+           * Close this socket and return...
+           */
+
+            DEBUG_puts("1httpAddrConnect2: Canceled connect()");
+
+#    ifdef WIN32
+           closesocket(*sock);
+#    else
+           close(*sock);
+#    endif /* WIN32 */
+
+           *sock = -1;
+
+           return (NULL);
+          }
+
+#  ifdef HAVE_POLL
+         pfd.fd     = *sock;
+         pfd.events = POLLIN | POLLOUT;
+
+          nfds = poll(&pfd, 1, remaining > 250 ? 250 : remaining);
+
+         DEBUG_printf(("1httpAddrConnect2: poll() returned %d (%d)", nfds,
+                       errno));
+
+#  else
+         FD_ZERO(&input_set);
+         FD_SET(*sock, &input_set);
+         output_set = input_set;
+
+         timeout.tv_sec  = 0;
+         timeout.tv_usec = (remaining > 250 ? 250 : remaining) * 1000;
+
+         nfds = select(*sock + 1, &input_set, &output_set, NULL, &timeout);
+
+         DEBUG_printf(("1httpAddrConnect2: select() returned %d (%d)", nfds,
+                       errno));
+#  endif /* HAVE_POLL */
+       }
+#  ifdef WIN32
+       while (nfds < 0 && (WSAGetLastError() == WSAEINTR ||
+                           WSAGetLastError() == WSAEWOULDBLOCK));
+#  else
+       while (nfds < 0 && (errno == EINTR || errno == EAGAIN));
+#  endif /* WIN32 */
+
+        if (nfds > 0)
+        {
+          len = sizeof(peer);
+          if (!getpeername(*sock, (struct sockaddr *)&peer, &len))
+          {
+           DEBUG_printf(("1httpAddrConnect2: Connected to %s:%d...",
+                         httpAddrString(&peer, temp, sizeof(temp)),
+                         _httpAddrPort(&peer)));
+
+           return (addrlist);
+         }
+
+          break;
+        }
+      }
     }
+#endif /* O_NONBLOCK */
 
-    DEBUG_printf(("1httpAddrConnect: Unable to connect to %s:%d: %s",
+    DEBUG_printf(("1httpAddrConnect2: Unable to connect to %s:%d: %s",
                  httpAddrString(&(addrlist->addr), temp, sizeof(temp)),
                  _httpAddrPort(&(addrlist->addr)), strerror(errno)));
 
+#ifndef WIN32
+    if (errno == EINPROGRESS)
+      errno = ETIMEDOUT;
+#endif /* !WIN32 */
+
    /*
     * Close this socket and move to the next address...
     */
@@ -169,7 +317,11 @@ httpAddrConnect(
   }
 
   if (!addrlist)
+#ifdef WIN32
+    _cupsSetError(IPP_SERVICE_UNAVAILABLE, "Connection failed", 0);
+#else
     _cupsSetError(IPP_SERVICE_UNAVAILABLE, strerror(errno), 0);
+#endif /* WIN32 */
 
   return (addrlist);
 }
@@ -178,7 +330,7 @@ httpAddrConnect(
 /*
  * 'httpAddrFreeList()' - Free an address list.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 void
@@ -206,7 +358,7 @@ httpAddrFreeList(
 /*
  * 'httpAddrGetList()' - Get a list of addresses for a hostname.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 http_addrlist_t        *                       /* O - List of addresses or NULL */
@@ -256,7 +408,6 @@ httpAddrGetList(const char *hostname,       /* I - Hostname, IP address, or NULL for p
   }
 #endif /* HAVE_RES_INIT */
 
-
  /*
   * Lookup the address the best way we can...
   */
@@ -357,6 +508,7 @@ httpAddrGetList(const char *hostname,       /* I - Hostname, IP address, or NULL for p
          if (!temp)
          {
            httpAddrFreeList(first);
+           _cupsSetError(IPP_INTERNAL_ERROR, strerror(errno), 0);
            return (NULL);
          }
 
@@ -386,8 +538,13 @@ httpAddrGetList(const char *hostname,      /* I - Hostname, IP address, or NULL for p
 
       freeaddrinfo(results);
     }
-    else if (error == EAI_FAIL)
-      cg->need_res_init = 1;
+    else
+    {
+      if (error == EAI_FAIL)
+        cg->need_res_init = 1;
+
+      _cupsSetError(IPP_INTERNAL_ERROR, gai_strerror(error), 0);
+    }
 
 #else
     if (hostname)
@@ -505,8 +662,13 @@ httpAddrGetList(const char *hostname,      /* I - Hostname, IP address, or NULL for p
          addr = temp;
        }
       }
-      else if (h_errno == NO_RECOVERY)
-        cg->need_res_init = 1;
+      else
+      {
+        if (h_errno == NO_RECOVERY)
+          cg->need_res_init = 1;
+
+       _cupsSetError(IPP_INTERNAL_ERROR, hstrerror(h_errno), 0);
+      }
     }
 #endif /* HAVE_GETADDRINFO */
   }
@@ -544,6 +706,8 @@ httpAddrGetList(const char *hostname,       /* I - Hostname, IP address, or NULL for p
     else
     {
       httpAddrFreeList(first);
+
+      _cupsSetError(IPP_INTERNAL_ERROR, _("Unknown service name."), 1);
       return (NULL);
     }
 
@@ -566,6 +730,7 @@ httpAddrGetList(const char *hostname,       /* I - Hostname, IP address, or NULL for p
        temp = (http_addrlist_t *)calloc(1, sizeof(http_addrlist_t));
        if (!temp)
        {
+         _cupsSetError(IPP_INTERNAL_ERROR, strerror(errno), 0);
          httpAddrFreeList(first);
          return (NULL);
        }
@@ -594,6 +759,7 @@ httpAddrGetList(const char *hostname,       /* I - Hostname, IP address, or NULL for p
        temp = (http_addrlist_t *)calloc(1, sizeof(http_addrlist_t));
        if (!temp)
        {
+         _cupsSetError(IPP_INTERNAL_ERROR, strerror(errno), 0);
          httpAddrFreeList(first);
          return (NULL);
        }
@@ -625,6 +791,7 @@ httpAddrGetList(const char *hostname,       /* I - Hostname, IP address, or NULL for p
        temp = (http_addrlist_t *)calloc(1, sizeof(http_addrlist_t));
        if (!temp)
        {
+         _cupsSetError(IPP_INTERNAL_ERROR, strerror(errno), 0);
          httpAddrFreeList(first);
          return (NULL);
        }
@@ -648,6 +815,7 @@ httpAddrGetList(const char *hostname,       /* I - Hostname, IP address, or NULL for p
        temp = (http_addrlist_t *)calloc(1, sizeof(http_addrlist_t));
        if (!temp)
        {
+         _cupsSetError(IPP_INTERNAL_ERROR, strerror(errno), 0);
          httpAddrFreeList(first);
          return (NULL);
        }
@@ -673,5 +841,5 @@ httpAddrGetList(const char *hostname,       /* I - Hostname, IP address, or NULL for p
 
 
 /*
- * End of "$Id: http-addrlist.c 10006 2011-09-20 18:36:33Z mike $".
+ * End of "$Id: http-addrlist.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 29ae57e..a99b381 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: http-private.h 9960 2011-09-02 22:37:14Z mike $"
+ * "$Id: http-private.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Private HTTP definitions for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
 #  ifdef HAVE_GSSAPI
 #    ifdef HAVE_GSS_GSSAPI_H
 #      include <GSS/gssapi.h>
-#      ifdef HAVE_GSSAPI_GENERIC_H
-#        include <GSS/gssapi_generic.h>
-#      endif /* HAVE_GSSAPI_GENERIC_H */
-#      ifdef HAVE_GSSAPI_KRB5_H
-#        include <GSS/gssapi_krb5.h>
-#      endif /* HAVE_GSSAPI_KRB5_H */
 #    elif defined(HAVE_GSSAPI_GSSAPI_H)
 #      include <gssapi/gssapi.h>
-#      ifdef HAVE_GSSAPI_GENERIC_H
-#        include <gssapi/gssapi_generic.h>
-#      endif /* HAVE_GSSAPI_GENERIC_H */
-#      ifdef HAVE_GSSAPI_KRB5_H
-#        include <gssapi/gssapi_krb5.h>
-#      endif /* HAVE_GSSAPI_KRB5_H */
 #    elif defined(HAVE_GSSAPI_H)
 #      include <gssapi.h>
 #    endif /* HAVE_GSS_GSSAPI_H */
 #    ifndef HAVE_GSS_C_NT_HOSTBASED_SERVICE
 #      define GSS_C_NT_HOSTBASED_SERVICE gss_nt_service_name
 #    endif /* !HAVE_GSS_C_NT_HOSTBASED_SERVICE */
-#    ifdef HAVE_KRB5_H
-#      include <krb5.h>
-#    endif /* HAVE_KRB5_H */
 #  endif /* HAVE_GSSAPI */
 
 #  ifdef HAVE_AUTHORIZATION_H
@@ -154,6 +139,7 @@ extern "C" {
 #define _HTTP_RESOLVE_DEFAULT  0       /* Just resolve with default options */
 #define _HTTP_RESOLVE_STDERR   1       /* Log resolve progress to stderr */
 #define _HTTP_RESOLVE_FQDN     2       /* Resolve to a FQDN */
+#define _HTTP_RESOLVE_FAXOUT   4       /* Resolve FaxOut service? */
 
 
 /*
@@ -404,5 +390,5 @@ extern int          _httpWait(http_t *http, int msec, int usessl);
 #endif /* !_CUPS_HTTP_PRIVATE_H_ */
 
 /*
- * End of "$Id: http-private.h 9960 2011-09-02 22:37:14Z mike $".
+ * End of "$Id: http-private.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index b0cf967..d15d904 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: http-support.c 10284 2012-02-15 01:06:12Z mike $"
+ * "$Id: http-support.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   HTTP support routines for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2013 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
  *
  * Contents:
  *
- *   httpAssembleURI()    - Assemble a uniform resource identifier from its
- *                          components.
+ *   httpAssembleURI()   - Assemble a uniform resource identifier from its
+ *                         components.
  *   httpAssembleURIf()   - Assemble a uniform resource identifier from its
- *                          components with a formatted resource.
+ *                         components with a formatted resource.
  *   _httpAssembleUUID()  - Make a UUID URI conforming to RFC 4122.
- *   httpDecode64()       - Base64-decode a string.
- *   httpDecode64_2()     - Base64-decode a string.
- *   httpEncode64()       - Base64-encode a string.
- *   httpEncode64_2()     - Base64-encode a string.
+ *   httpDecode64()      - Base64-decode a string.
+ *   httpDecode64_2()    - Base64-decode a string.
+ *   httpEncode64()      - Base64-encode a string.
+ *   httpEncode64_2()    - Base64-encode a string.
  *   httpGetDateString()  - Get a formatted date/time string from a time value.
  *   httpGetDateString2() - Get a formatted date/time string from a time value.
- *   httpGetDateTime()    - Get a time value from a formatted date/time string.
- *   httpSeparate()       - Separate a Universal Resource Identifier into its
- *                          components.
- *   httpSeparate2()      - Separate a Universal Resource Identifier into its
- *                          components.
- *   httpSeparateURI()    - Separate a Universal Resource Identifier into its
- *                          components.
- *   httpStatus()         - Return a short string describing a HTTP status code.
- *   _cups_hstrerror()    - hstrerror() emulation function for Solaris and
- *                          others.
- *   _httpDecodeURI()     - Percent-decode a HTTP request URI.
- *   _httpEncodeURI()     - Percent-encode a HTTP request URI.
- *   _httpResolveURI()    - Resolve a DNS-SD URI.
+ *   httpGetDateTime()   - Get a time value from a formatted date/time string.
+ *   httpSeparate()      - Separate a Universal Resource Identifier into its
+ *                         components.
+ *   httpSeparate2()     - Separate a Universal Resource Identifier into its
+ *                         components.
+ *   httpSeparateURI()   - Separate a Universal Resource Identifier into its
+ *                         components.
+ *   httpStatus()        - Return a short string describing a HTTP status
+ *                         code.
+ *   _cups_hstrerror()   - hstrerror() emulation function for Solaris and
+ *                         others.
+ *   _httpDecodeURI()    - Percent-decode a HTTP request URI.
+ *   _httpEncodeURI()    - Percent-encode a HTTP request URI.
+ *   _httpResolveURI()   - Resolve a DNS-SD URI.
+ *   http_client_cb()    - Client callback for resolving URI.
  *   http_copy_decode()   - Copy and decode a URI.
  *   http_copy_encode()   - Copy and encode a URI.
- *   http_resolve_cb()    - Build a device URI for the given service name.
+ *   http_poll_cb()       - Wait for input on the specified file descriptors.
+ *   http_resolve_cb()   - Build a device URI for the given service name.
+ *   http_resolve_cb()   - Build a device URI for the given service name.
  */
 
 /*
 #  else
 #    include <sys/select.h>
 #  endif /* WIN32 */
+#elif defined(HAVE_AVAHI)
+#  include <avahi-client/client.h>
+#  include <avahi-client/lookup.h>
+#  include <avahi-common/simple-watch.h>
 #endif /* HAVE_DNSSD */
 
 
 
 typedef struct _http_uribuf_s          /* URI buffer */
 {
-  char         *buffer;                /* Pointer to buffer */
-  size_t       bufsize;                /* Size of buffer */
-  int          options;                /* Options passed to _httpResolveURI */
+#ifdef HAVE_AVAHI
+  AvahiSimplePoll      *poll;          /* Poll state */
+#endif /* HAVE_AVAHI */
+  char                 *buffer;        /* Pointer to buffer */
+  size_t               bufsize;        /* Size of buffer */
+  int                  options;        /* Options passed to _httpResolveURI */
+  const char           *resource;      /* Resource from URI */
 } _http_uribuf_t;
 
 
@@ -127,6 +139,22 @@ static void DNSSD_API      http_resolve_cb(DNSServiceRef sdRef,
                                        void *context);
 #endif /* HAVE_DNSSD */
 
+#ifdef HAVE_AVAHI
+static void    http_client_cb(AvahiClient *client,
+                              AvahiClientState state, void *simple_poll);
+static int     http_poll_cb(struct pollfd *pollfds, unsigned int num_pollfds,
+                            int timeout, void *context);
+static void    http_resolve_cb(AvahiServiceResolver *resolver,
+                               AvahiIfIndex interface,
+                               AvahiProtocol protocol,
+                               AvahiResolverEvent event,
+                               const char *name, const char *type,
+                               const char *domain, const char *host_name,
+                               const AvahiAddress *address, uint16_t port,
+                               AvahiStringList *txt,
+                               AvahiLookupResultFlags flags, void *context);
+#endif /* HAVE_AVAHI */
+
 
 /*
  * 'httpAssembleURI()' - Assemble a uniform resource identifier from its
@@ -137,7 +165,7 @@ static void DNSSD_API       http_resolve_cb(DNSServiceRef sdRef,
  * place of traditional string functions whenever you need to create a
  * URI string.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 http_uri_status_t                      /* O - URI status */
@@ -210,6 +238,9 @@ httpAssembleURI(
 
   if (host)
   {
+    const char *hostptr;               /* Pointer into hostname */
+    int                have_ipv6;              /* Do we have an IPv6 address? */
+
     if (username && *username)
     {
      /*
@@ -237,13 +268,23 @@ httpAssembleURI(
     * too...
     */
 
-    if (host[0] != '[' && strchr(host, ':') && !strstr(host, "._tcp"))
+    for (hostptr = host,
+             have_ipv6 = strchr(host, ':') && !strstr(host, "._tcp");
+         *hostptr && have_ipv6;
+         hostptr ++)
+      if (*hostptr != ':' && !isxdigit(*hostptr & 255))
+      {
+        have_ipv6 = *hostptr == '%';
+        break;
+      }
+
+    if (have_ipv6)
     {
      /*
       * We have a raw IPv6 address...
       */
 
-      if (strchr(host, '%'))
+      if (strchr(host, '%') && !(encoding & HTTP_URI_CODING_RFC6874))
       {
        /*
         * We have a link-local address, add "[v1." prefix...
@@ -262,7 +303,7 @@ httpAssembleURI(
       else
       {
        /*
-        * We have a normal address, add "[" prefix...
+        * We have a normal (or RFC 6874 link-local) address, add "[" prefix...
        */
 
        if (ptr < end)
@@ -278,8 +319,23 @@ httpAssembleURI(
       while (ptr < end && *host)
       {
         if (*host == '%')
-       {
-          *ptr++ = '+';                        /* Convert zone separator */
+        {
+         /*
+          * Convert/encode zone separator
+          */
+
+          if (encoding & HTTP_URI_CODING_RFC6874)
+          {
+            if (ptr >= (end - 2))
+              goto assemble_overflow;
+
+            *ptr++ = '%';
+            *ptr++ = '2';
+            *ptr++ = '5';
+          }
+          else
+           *ptr++ = '+';
+
          host ++;
        }
        else
@@ -297,10 +353,12 @@ httpAssembleURI(
     else
     {
      /*
-      * Otherwise, just copy the host string...
+      * Otherwise, just copy the host string (the extra chars are not in the
+      * "reg-name" ABNF rule; anything <= SP or >= DEL plus % gets automatically
+      * percent-encoded.
       */
 
-      ptr = http_copy_encode(ptr, host, end, ":/?#[]@\\\"", NULL,
+      ptr = http_copy_encode(ptr, host, end, "\"#/:<>?@[\\]^`{|}", NULL,
                              encoding & HTTP_URI_CODING_HOSTNAME);
 
       if (!ptr)
@@ -387,7 +445,7 @@ httpAssembleURI(
  * this function in place of traditional string functions whenever
  * you need to create a URI string.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 http_uri_status_t                      /* O - URI status */
@@ -517,7 +575,7 @@ httpDecode64(char       *out,               /* I - String to write to */
 /*
  * 'httpDecode64_2()' - Base64-decode a string.
  *
- * @since CUPS 1.1.21/Mac OS X 10.4@
+ * @since CUPS 1.1.21/OS X 10.4@
  */
 
 char *                                 /* O  - Decoded string */
@@ -636,7 +694,7 @@ httpEncode64(char       *out,               /* I - String to write to */
 /*
  * 'httpEncode64_2()' - Base64-encode a string.
  *
- * @since CUPS 1.1.21/Mac OS X 10.4@
+ * @since CUPS 1.1.21/OS X 10.4@
  */
 
 char *                                 /* O - Encoded string */
@@ -745,7 +803,7 @@ httpGetDateString(time_t t)         /* I - UNIX time */
 /*
  * 'httpGetDateString2()' - Get a formatted date/time string from a time value.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 const char *                           /* O - Date/time string */
@@ -865,7 +923,7 @@ httpSeparate(const char *uri,               /* I - Universal Resource Identifier */
  *
  * This function is deprecated; use the httpSeparateURI() function instead.
  *
- * @since CUPS 1.1.21/Mac OS X 10.4@
+ * @since CUPS 1.1.21/OS X 10.4@
  * @deprecated@
  */
 
@@ -890,7 +948,7 @@ httpSeparate2(const char *uri,              /* I - Universal Resource Identifier */
  * 'httpSeparateURI()' - Separate a Universal Resource Identifier into its
  *                       components.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 http_uri_status_t                      /* O - Result of separation */
@@ -1056,8 +1114,25 @@ httpSeparateURI(
       */
 
       uri ++;
-      if (!strncmp(uri, "v1.", 3))
-        uri += 3;                      /* Skip IPvN leader... */
+      if (*uri == 'v')
+      {
+       /*
+        * Skip IPvFuture ("vXXXX.") prefix...
+        */
+
+        uri ++;
+
+        while (isxdigit(*uri & 255))
+          uri ++;
+
+        if (*uri != '.')
+        {
+         *host = '\0';
+         return (HTTP_URI_BAD_HOSTNAME);
+        }
+
+        uri ++;
+      }
 
       uri = http_copy_decode(host, uri, hostlen, "]",
                              decoding & HTTP_URI_CODING_HOSTNAME);
@@ -1090,6 +1165,14 @@ httpSeparateURI(
          *ptr = '%';
          break;
        }
+       else if (*ptr == '%')
+       {
+        /*
+         * Stop at zone separator (RFC 6874)
+         */
+
+         break;
+       }
        else if (*ptr != ':' && *ptr != '.' && !isxdigit(*ptr & 255))
        {
          *host = '\0';
@@ -1105,12 +1188,13 @@ httpSeparateURI(
       for (ptr = (char *)uri; *ptr; ptr ++)
         if (strchr(":?/", *ptr))
          break;
-        else if (!strchr("abcdefghijklmnopqrstuvwxyz"
-                        "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
-                        "0123456789"
-                        "-._~"
-                        "%"
-                        "!$&'()*+,;=\\", *ptr))
+        else if (!strchr("abcdefghijklmnopqrstuvwxyz"  /* unreserved */
+                        "ABCDEFGHIJKLMNOPQRSTUVWXYZ"   /* unreserved */
+                        "0123456789"                   /* unreserved */
+                        "-._~"                         /* unreserved */
+                        "%"                            /* pct-encoded */
+                        "!$&'()*+,;="                  /* sub-delims */
+                        "\\", *ptr))                   /* SMB domain */
        {
          *host = '\0';
          return (HTTP_URI_BAD_HOSTNAME);
@@ -1203,8 +1287,9 @@ httpSeparateURI(
 
       char *resptr = resource + strlen(resource);
 
-      uri = http_copy_decode(resptr, uri, resourcelen - (int)(resptr - resource),
-                             NULL, decoding & HTTP_URI_CODING_QUERY);
+      uri = http_copy_decode(resptr, uri,
+                             resourcelen - (int)(resptr - resource), NULL,
+                             decoding & HTTP_URI_CODING_QUERY);
     }
   }
 
@@ -1241,6 +1326,9 @@ httpStatus(http_status_t status)  /* I - HTTP status code */
 
   switch (status)
   {
+    case HTTP_ERROR :
+        s = strerror(errno);
+        break;
     case HTTP_CONTINUE :
         s = _("Continue");
        break;
@@ -1434,24 +1522,29 @@ _httpResolveURI(
 
   if (strstr(hostname, "._tcp"))
   {
-#ifdef HAVE_DNSSD
-#  ifdef WIN32
-#    pragma comment(lib, "dnssd.lib")
-#  endif /* WIN32 */
-    DNSServiceRef      ref,            /* DNS-SD master service reference */
-                       domainref,      /* DNS-SD service reference for domain */
-                       localref;       /* DNS-SD service reference for .local */
-    int                        domainsent = 0, /* Send the domain resolve? */
-                       offline = 0;    /* offline-report state set? */
+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
     char               *regtype,       /* Pointer to type in hostname */
                        *domain;        /* Pointer to domain in hostname */
     _http_uribuf_t     uribuf;         /* URI buffer */
-#ifdef HAVE_POLL
+    int                        offline = 0;    /* offline-report state set? */
+#  ifdef HAVE_DNSSD
+#    ifdef WIN32
+#      pragma comment(lib, "dnssd.lib")
+#    endif /* WIN32 */
+    DNSServiceRef      ref,            /* DNS-SD master service reference */
+                       domainref,      /* DNS-SD service reference for domain */
+                       localref;       /* DNS-SD service reference for .local */
+    int                        domainsent = 0; /* Send the domain resolve? */
+#    ifdef HAVE_POLL
     struct pollfd      polldata;       /* Polling data */
-#else /* select() */
+#    else /* select() */
     fd_set             input_set;      /* Input set for select() */
     struct timeval     stimeout;       /* Timeout value for select() */
-#endif /* HAVE_POLL */
+#    endif /* HAVE_POLL */
+#  elif defined(HAVE_AVAHI)
+    AvahiClient                *client;        /* Client information */
+    int                        error;          /* Status */
+#  endif /* HAVE_DNSSD */
 
     if (options & _HTTP_RESOLVE_STDERR)
       fprintf(stderr, "DEBUG: Resolving \"%s\"...\n", hostname);
@@ -1491,6 +1584,8 @@ _httpResolveURI(
     uribuf.buffer   = resolved_uri;
     uribuf.bufsize  = resolved_size;
     uribuf.options  = options;
+    uribuf.resource = resource;
+
     resolved_uri[0] = '\0';
 
     DEBUG_printf(("6_httpResolveURI: Resolving hostname=\"%s\", regtype=\"%s\", "
@@ -1504,18 +1599,22 @@ _httpResolveURI(
 
     uri = NULL;
 
+#  ifdef HAVE_DNSSD
     if (DNSServiceCreateConnection(&ref) == kDNSServiceErr_NoError)
     {
       localref = ref;
-      if (DNSServiceResolve(&localref, kDNSServiceFlagsShareConnection, 0,
-                           hostname, regtype, "local.", http_resolve_cb,
+      if (DNSServiceResolve(&localref,
+                            kDNSServiceFlagsShareConnection, 0, hostname, regtype,
+                           "local.", http_resolve_cb,
                            &uribuf) == kDNSServiceErr_NoError)
       {
        int     fds;                    /* Number of ready descriptors */
        time_t  timeout,                /* Poll timeout */
-               start_time = time(NULL);/* Start time */
+               start_time = time(NULL),/* Start time */
+               end_time = start_time + 90;
+                                       /* End time */
 
-       for (;;)
+       while (time(NULL) < end_time)
        {
          if (options & _HTTP_RESOLVE_STDERR)
            _cupsLangPrintFilter(stderr, "INFO", _("Looking for printer."));
@@ -1527,28 +1626,32 @@ _httpResolveURI(
          }
 
         /*
-         * For the first minute (or forever if we have a callback), wakeup
-         * every 2 seconds to emit a "looking for printer" message...
+         * Wakeup every 2 seconds to emit a "looking for printer" message...
          */
 
-         timeout = (time(NULL) < (start_time + 60) || cb) ? 2000 : -1;
+         if ((timeout = end_time - time(NULL)) > 2)
+           timeout = 2;
 
-#ifdef HAVE_POLL
+#    ifdef HAVE_POLL
          polldata.fd     = DNSServiceRefSockFD(ref);
          polldata.events = POLLIN;
 
-         fds = poll(&polldata, 1, timeout);
+         fds = poll(&polldata, 1, 1000 * timeout);
 
-#else /* select() */
+#    else /* select() */
          FD_ZERO(&input_set);
          FD_SET(DNSServiceRefSockFD(ref), &input_set);
 
-         stimeout.tv_sec  = ((int)timeout) / 1000;
-         stimeout.tv_usec = ((int)(timeout) * 1000) % 1000000;
+#      ifdef WIN32
+         stimeout.tv_sec  = (long)timeout;
+#      else
+         stimeout.tv_sec  = timeout;
+#      endif /* WIN32 */
+         stimeout.tv_usec = 0;
 
          fds = select(DNSServiceRefSockFD(ref)+1, &input_set, NULL, NULL,
-                      timeout < 0.0 ? NULL : &stimeout);
-#endif /* HAVE_POLL */
+                      &stimeout);
+#    endif /* HAVE_POLL */
 
          if (fds < 0)
          {
@@ -1565,7 +1668,7 @@ _httpResolveURI(
            * comes in, do an additional domain resolution...
            */
 
-           if (domainsent == 0 && (domain && _cups_strcasecmp(domain, "local.")))
+           if (domainsent == 0 && domain && _cups_strcasecmp(domain, "local."))
            {
              if (options & _HTTP_RESOLVE_STDERR)
                fprintf(stderr,
@@ -1574,10 +1677,11 @@ _httpResolveURI(
                        domain ? domain : "");
 
              domainref = ref;
-             if (DNSServiceResolve(&domainref, kDNSServiceFlagsShareConnection,
+             if (DNSServiceResolve(&domainref,
+                                   kDNSServiceFlagsShareConnection,
                                    0, hostname, regtype, domain,
-                                   http_resolve_cb, &uribuf)
-                     == kDNSServiceErr_NoError)
+                                   http_resolve_cb,
+                                   &uribuf) == kDNSServiceErr_NoError)
                domainsent = 1;
            }
 
@@ -1611,24 +1715,96 @@ _httpResolveURI(
 
       DNSServiceRefDeallocate(ref);
     }
+#  else /* HAVE_AVAHI */
+    if ((uribuf.poll = avahi_simple_poll_new()) != NULL)
+    {
+      avahi_simple_poll_set_func(uribuf.poll, http_poll_cb, NULL);
+
+      if ((client = avahi_client_new(avahi_simple_poll_get(uribuf.poll),
+                                     0, http_client_cb,
+                                     &uribuf, &error)) != NULL)
+      {
+       if (avahi_service_resolver_new(client, AVAHI_IF_UNSPEC,
+                                      AVAHI_PROTO_UNSPEC, hostname,
+                                      regtype, "local.", AVAHI_PROTO_UNSPEC, 0,
+                                      http_resolve_cb, &uribuf) != NULL)
+       {
+         time_t        start_time = time(NULL),
+                                       /* Start time */
+                       end_time = start_time + 90;
+                                       /* End time */
+          int           pstatus;       /* Poll status */
+
+         pstatus = avahi_simple_poll_iterate(uribuf.poll, 2000);
+
+         if (pstatus == 0 && !resolved_uri[0] && domain &&
+             _cups_strcasecmp(domain, "local."))
+         {
+          /*
+           * Resolve for .local hasn't returned anything, try the listed
+           * domain...
+           */
+
+           avahi_service_resolver_new(client, AVAHI_IF_UNSPEC,
+                                      AVAHI_PROTO_UNSPEC, hostname,
+                                      regtype, domain, AVAHI_PROTO_UNSPEC, 0,
+                                      http_resolve_cb, &uribuf);
+          }
+
+         while (!pstatus && !resolved_uri[0] && time(NULL) < end_time)
+          {
+           if ((pstatus = avahi_simple_poll_iterate(uribuf.poll, 2000)) != 0)
+             break;
+
+          /*
+           * If it hasn't resolved within 5 seconds set the offline-report
+           * printer-state-reason...
+           */
+
+           if ((options & _HTTP_RESOLVE_STDERR) && offline == 0 &&
+               time(NULL) > (start_time + 5))
+           {
+             fputs("STATE: +offline-report\n", stderr);
+             offline = 1;
+           }
+          }
+
+        /*
+         * Collect the result (if we got one).
+         */
+
+         if (resolved_uri[0])
+           uri = resolved_uri;
+       }
+
+       avahi_client_free(client);
+      }
+
+      avahi_simple_poll_free(uribuf.poll);
+    }
+#  endif /* HAVE_DNSSD */
 
     if (options & _HTTP_RESOLVE_STDERR)
     {
       if (uri)
+      {
         fprintf(stderr, "DEBUG: Resolved as \"%s\"...\n", uri);
+       fputs("STATE: -connecting-to-device,offline-report\n", stderr);
+      }
       else
+      {
         fputs("DEBUG: Unable to resolve URI\n", stderr);
-
-      fputs("STATE: -connecting-to-device,offline-report\n", stderr);
+       fputs("STATE: -connecting-to-device\n", stderr);
+      }
     }
 
-#else
+#else /* HAVE_DNSSD || HAVE_AVAHI */
    /*
     * No DNS-SD support...
     */
 
     uri = NULL;
-#endif /* HAVE_DNSSD */
+#endif /* HAVE_DNSSD || HAVE_AVAHI */
 
     if ((options & _HTTP_RESOLVE_STDERR) && !uri)
       _cupsLangPrintFilter(stderr, "ERROR", _("Unable to find printer."));
@@ -1649,6 +1825,35 @@ _httpResolveURI(
 }
 
 
+#ifdef HAVE_AVAHI
+/*
+ * 'http_client_cb()' - Client callback for resolving URI.
+ */
+
+static void
+http_client_cb(
+    AvahiClient      *client,          /* I - Client information */
+    AvahiClientState state,            /* I - Current state */
+    void             *context)         /* I - Pointer to URI buffer */
+{
+  DEBUG_printf(("7http_client_cb(client=%p, state=%d, context=%p)", client,
+                state, context));
+
+ /*
+  * If the connection drops, quit.
+  */
+
+  if (state == AVAHI_CLIENT_FAILURE)
+  {
+    _http_uribuf_t *uribuf = (_http_uribuf_t *)context;
+                                       /* URI buffer */
+
+    avahi_simple_poll_quit(uribuf->poll);
+  }
+}
+#endif /* HAVE_AVAHI */
+
+
 /*
  * 'http_copy_decode()' - Copy and decode a URI.
  */
@@ -1707,6 +1912,11 @@ http_copy_decode(char       *dst,        /* O - Destination buffer */
          return (NULL);
        }
       }
+      else if ((*src & 255) <= 0x20 || (*src & 255) >= 0x7f)
+      {
+        *ptr = '\0';
+        return (NULL);
+      }
       else
        *ptr++ = *src;
     }
@@ -1784,13 +1994,16 @@ http_resolve_cb(
     const unsigned char *txtRecord,    /* I - TXT record data */
     void                *context)      /* I - Pointer to URI buffer */
 {
+  _http_uribuf_t       *uribuf = (_http_uribuf_t *)context;
+                                       /* URI buffer */
   const char           *scheme,        /* URI scheme */
-                       *hostptr;       /* Pointer into hostTarget */
-  char                 rp[257],        /* Remote printer */
+                       *hostptr,       /* Pointer into hostTarget */
+                       *reskey,        /* "rp" or "rfo" */
+                       *resdefault;    /* Default path */
+  char                 resource[257],  /* Remote path */
                        fqdn[256];      /* FQDN of the .local name */
   const void           *value;         /* Value from TXT record */
   uint8_t              valueLen;       /* Length of value */
-  _http_uribuf_t       *uribuf;        /* URI buffer */
 
 
   DEBUG_printf(("7http_resolve_cb(sdRef=%p, flags=%x, interfaceIndex=%u, "
@@ -1799,8 +2012,6 @@ http_resolve_cb(
                interfaceIndex, errorCode, fullName, hostTarget, port, txtLen,
                txtRecord, context));
 
-  uribuf = (_http_uribuf_t *)context;
-
  /*
   * Figure out the scheme from the full name...
   */
@@ -1824,17 +2035,29 @@ http_resolve_cb(
   * Extract the "remote printer" key from the TXT record...
   */
 
-  if ((value = TXTRecordGetValuePtr(txtLen, txtRecord, "rp",
+  if ((uribuf->options & _HTTP_RESOLVE_FAXOUT) &&
+      (!strcmp(scheme, "ipp") || !strcmp(scheme, "ipps")))
+  {
+    reskey     = "rfo";
+    resdefault = "/ipp/faxout";
+  }
+  else
+  {
+    reskey     = "rp";
+    resdefault = "/";
+  }
+
+  if ((value = TXTRecordGetValuePtr(txtLen, txtRecord, reskey,
                                     &valueLen)) != NULL)
   {
     if (((char *)value)[0] == '/')
     {
      /*
-      * "rp" value (incorrectly) has a leading slash already...
+      * Value (incorrectly) has a leading slash already...
       */
 
-      memcpy(rp, value, valueLen);
-      rp[valueLen] = '\0';
+      memcpy(resource, value, valueLen);
+      resource[valueLen] = '\0';
     }
     else
     {
@@ -1842,19 +2065,18 @@ http_resolve_cb(
       * Convert to resource by concatenating with a leading "/"...
       */
 
-      rp[0] = '/';
-      memcpy(rp + 1, value, valueLen);
-      rp[valueLen + 1] = '\0';
+      resource[0] = '/';
+      memcpy(resource + 1, value, valueLen);
+      resource[valueLen + 1] = '\0';
     }
   }
   else
   {
    /*
-    * Default "rp" value is blank, mapping to a path of "/"...
+    * Use the default value...
     */
 
-    rp[0] = '/';
-    rp[1] = '\0';
+    strlcpy(resource, resdefault, sizeof(resource));
   }
 
  /*
@@ -1902,6 +2124,8 @@ http_resolve_cb(
                        error));
 #endif /* DEBUG */
       }
+
+      httpAddrFreeList(addrlist);
     }
   }
 
@@ -1909,14 +2133,232 @@ http_resolve_cb(
   * Assemble the final device URI...
   */
 
-  httpAssembleURI(HTTP_URI_CODING_ALL, uribuf->buffer, uribuf->bufsize, scheme,
-                  NULL, hostTarget, ntohs(port), rp);
+  if ((!strcmp(scheme, "ipp") || !strcmp(scheme, "ipps")) &&
+      !strcmp(uribuf->resource, "/cups"))
+    httpAssembleURIf(HTTP_URI_CODING_ALL, uribuf->buffer, uribuf->bufsize,
+                     scheme, NULL, hostTarget, ntohs(port), "%s?snmp=false",
+                     resource);
+  else
+    httpAssembleURI(HTTP_URI_CODING_ALL, uribuf->buffer, uribuf->bufsize,
+                    scheme, NULL, hostTarget, ntohs(port), resource);
 
   DEBUG_printf(("8http_resolve_cb: Resolved URI is \"%s\"...", uribuf->buffer));
 }
+
+#elif defined(HAVE_AVAHI)
+/*
+ * 'http_poll_cb()' - Wait for input on the specified file descriptors.
+ *
+ * Note: This function is needed because avahi_simple_poll_iterate is broken
+ *       and always uses a timeout of 0 (!) milliseconds.
+ *       (Avahi Ticket #364)
+ */
+
+static int                             /* O - Number of file descriptors matching */
+http_poll_cb(
+    struct pollfd *pollfds,            /* I - File descriptors */
+    unsigned int  num_pollfds,         /* I - Number of file descriptors */
+    int           timeout,             /* I - Timeout in milliseconds (used) */
+    void          *context)            /* I - User data (unused) */
+{
+  (void)timeout;
+  (void)context;
+
+  return (poll(pollfds, num_pollfds, 2000));
+}
+
+
+/*
+ * 'http_resolve_cb()' - Build a device URI for the given service name.
+ */
+
+static void
+http_resolve_cb(
+    AvahiServiceResolver   *resolver,  /* I - Resolver (unused) */
+    AvahiIfIndex           interface,  /* I - Interface index (unused) */
+    AvahiProtocol          protocol,   /* I - Network protocol (unused) */
+    AvahiResolverEvent     event,      /* I - Event (found, etc.) */
+    const char             *name,      /* I - Service name */
+    const char             *type,      /* I - Registration type */
+    const char             *domain,    /* I - Domain (unused) */
+    const char             *hostTarget,        /* I - Hostname */
+    const AvahiAddress     *address,   /* I - Address (unused) */
+    uint16_t               port,       /* I - Port number */
+    AvahiStringList        *txt,       /* I - TXT record */
+    AvahiLookupResultFlags flags,      /* I - Lookup flags (unused) */
+    void                   *context)   /* I - Pointer to URI buffer */
+{
+  _http_uribuf_t       *uribuf = (_http_uribuf_t *)context;
+                                       /* URI buffer */
+  const char           *scheme,        /* URI scheme */
+                       *hostptr,       /* Pointer into hostTarget */
+                       *reskey,        /* "rp" or "rfo" */
+                       *resdefault;    /* Default path */
+  char                 resource[257],  /* Remote path */
+                       fqdn[256];      /* FQDN of the .local name */
+  AvahiStringList      *pair;          /* Current TXT record key/value pair */
+  char                 *value;         /* Value for "rp" key */
+  size_t               valueLen = 0;   /* Length of "rp" key */
+
+
+  DEBUG_printf(("7http_resolve_cb(resolver=%p, "
+               "interface=%d, protocol=%d, event=%d, name=\"%s\", "
+               "type=\"%s\", domain=\"%s\", hostTarget=\"%s\", address=%p, "
+               "port=%d, txt=%p, flags=%d, context=%p)",
+               resolver, interface, protocol, event, name, type, domain,
+               hostTarget, address, port, txt, flags, context));
+
+  if (event != AVAHI_RESOLVER_FOUND)
+  {
+    avahi_service_resolver_free(resolver);
+    avahi_simple_poll_quit(uribuf->poll);
+    return;
+  }
+
+ /*
+  * Figure out the scheme from the full name...
+  */
+
+  if (strstr(type, "_ipp."))
+    scheme = "ipp";
+  else if (strstr(type, "_printer."))
+    scheme = "lpd";
+  else if (strstr(type, "_pdl-datastream."))
+    scheme = "socket";
+  else
+    scheme = "riousbprint";
+
+  if (!strncmp(type, "_ipps.", 6) || !strncmp(type, "_ipp-tls.", 9))
+    scheme = "ipps";
+  else if (!strncmp(type, "_ipp.", 5) || !strncmp(type, "_fax-ipp.", 9))
+    scheme = "ipp";
+  else if (!strncmp(type, "_http.", 6))
+    scheme = "http";
+  else if (!strncmp(type, "_https.", 7))
+    scheme = "https";
+  else if (!strncmp(type, "_printer.", 9))
+    scheme = "lpd";
+  else if (!strncmp(type, "_pdl-datastream.", 16))
+    scheme = "socket";
+  else
+  {
+    avahi_service_resolver_free(resolver);
+    avahi_simple_poll_quit(uribuf->poll);
+    return;
+  }
+
+ /*
+  * Extract the remote resource key from the TXT record...
+  */
+
+  if ((uribuf->options & _HTTP_RESOLVE_FAXOUT) &&
+      (!strcmp(scheme, "ipp") || !strcmp(scheme, "ipps")))
+  {
+    reskey     = "rfo";
+    resdefault = "/ipp/faxout";
+  }
+  else
+  {
+    reskey     = "rp";
+    resdefault = "/";
+  }
+
+  if ((pair = avahi_string_list_find(txt, reskey)) != NULL)
+  {
+    avahi_string_list_get_pair(pair, NULL, &value, &valueLen);
+
+    if (value[0] == '/')
+    {
+     /*
+      * Value (incorrectly) has a leading slash already...
+      */
+
+      memcpy(resource, value, valueLen);
+      resource[valueLen] = '\0';
+    }
+    else
+    {
+     /*
+      * Convert to resource by concatenating with a leading "/"...
+      */
+
+      resource[0] = '/';
+      memcpy(resource + 1, value, valueLen);
+      resource[valueLen + 1] = '\0';
+    }
+  }
+  else
+  {
+   /*
+    * Use the default value...
+    */
+
+    strlcpy(resource, resdefault, sizeof(resource));
+  }
+
+ /*
+  * Lookup the FQDN if needed...
+  */
+
+  if ((uribuf->options & _HTTP_RESOLVE_FQDN) &&
+      (hostptr = hostTarget + strlen(hostTarget) - 6) > hostTarget &&
+      !_cups_strcasecmp(hostptr, ".local"))
+  {
+   /*
+    * OK, we got a .local name but the caller needs a real domain.  Start by
+    * getting the IP address of the .local name and then do reverse-lookups...
+    */
+
+    http_addrlist_t    *addrlist,      /* List of addresses */
+                       *addr;          /* Current address */
+
+    DEBUG_printf(("8http_resolve_cb: Looking up \"%s\".", hostTarget));
+
+    snprintf(fqdn, sizeof(fqdn), "%d", ntohs(port));
+    if ((addrlist = httpAddrGetList(hostTarget, AF_UNSPEC, fqdn)) != NULL)
+    {
+      for (addr = addrlist; addr; addr = addr->next)
+      {
+        int error = getnameinfo(&(addr->addr.addr),
+                               httpAddrLength(&(addr->addr)),
+                               fqdn, sizeof(fqdn), NULL, 0, NI_NAMEREQD);
+
+        if (!error)
+       {
+         DEBUG_printf(("8http_resolve_cb: Found \"%s\".", fqdn));
+
+         if ((hostptr = fqdn + strlen(fqdn) - 6) <= fqdn ||
+             _cups_strcasecmp(hostptr, ".local"))
+         {
+           hostTarget = fqdn;
+           break;
+         }
+       }
+#ifdef DEBUG
+       else
+         DEBUG_printf(("8http_resolve_cb: \"%s\" did not resolve: %d",
+                       httpAddrString(&(addr->addr), fqdn, sizeof(fqdn)),
+                       error));
+#endif /* DEBUG */
+      }
+
+      httpAddrFreeList(addrlist);
+    }
+  }
+
+ /*
+  * Assemble the final device URI using the resolved hostname...
+  */
+
+  httpAssembleURI(HTTP_URI_CODING_ALL, uribuf->buffer, uribuf->bufsize, scheme,
+                  NULL, hostTarget, port, resource);
+  DEBUG_printf(("8http_resolve_cb: Resolved URI is \"%s\".", uribuf->buffer));
+
+  avahi_simple_poll_quit(uribuf->poll);
+}
 #endif /* HAVE_DNSSD */
 
 
 /*
- * End of "$Id: http-support.c 10284 2012-02-15 01:06:12Z mike $".
+ * End of "$Id: http-support.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 18bad5b..5c77d3d 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: http.c 10450 2012-05-04 22:52:56Z mike $"
+ * "$Id: http.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   HTTP routines for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2013 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   This file contains Kerberos support code, copyright 2006 by
  *
  * Contents:
  *
- *   httpAddCredential()       - Allocates and adds a single credential to an
- *                               array.
- *   _httpBIOMethods()         - Get the OpenSSL BIO methods for HTTP
- *                               connections.
- *   httpBlocking()            - Set blocking/non-blocking behavior on a
- *                               connection.
- *   httpCheck()               - Check to see if there is a pending response
- *                               from the server.
- *   httpClearCookie()         - Clear the cookie value(s).
- *   httpClearFields()         - Clear HTTP request fields.
- *   httpClose()               - Close an HTTP connection.
- *   httpConnect()             - Connect to a HTTP server.
- *   httpConnectEncrypt()      - Connect to a HTTP server using encryption.
- *   httpCopyCredentials()     - Copy the credentials associated with an
- *                               encrypted connection.
- *   _httpCreate()             - Create an unconnected HTTP connection.
- *   _httpCreateCredentials()  - Create credentials in the internal format.
- *   httpDelete()              - Send a DELETE request to the server.
- *   _httpDisconnect()         - Disconnect a HTTP connection.
- *   httpEncryption()          - Set the required encryption on the link.
- *   httpError()               - Get the last error on a connection.
- *   httpFlush()               - Flush data from a HTTP connection.
- *   httpFlushWrite()          - Flush data in write buffer.
- *   _httpFreeCredentials()    - Free internal credentials.
- *   httpFreeCredentials()     - Free an array of credentials.
- *   httpGet()                 - Send a GET request to the server.
- *   httpGetAuthString()       - Get the current authorization string.
- *   httpGetBlocking()         - Get the blocking/non-block state of a
- *                               connection.
- *   httpGetCookie()           - Get any cookie data from the response.
- *   httpGetFd()               - Get the file descriptor associated with a
- *                               connection.
- *   httpGetField()            - Get a field value from a request/response.
- *   httpGetLength()           - Get the amount of data remaining from the
- *                               content-length or transfer-encoding fields.
- *   httpGetLength2()          - Get the amount of data remaining from the
- *                               content-length or transfer-encoding fields.
- *   httpGetStatus()           - Get the status of the last HTTP request.
- *   httpGetSubField()         - Get a sub-field value.
- *   httpGetSubField2()        - Get a sub-field value.
- *   httpGets()                - Get a line of text from a HTTP connection.
- *   httpHead()                - Send a HEAD request to the server.
- *   httpInitialize()          - Initialize the HTTP interface library and set
- *                               the default HTTP proxy (if any).
- *   httpOptions()             - Send an OPTIONS request to the server.
- *   _httpPeek()               - Peek at data from a HTTP connection.
- *   httpPost()                - Send a POST request to the server.
- *   httpPrintf()              - Print a formatted string to a HTTP connection.
- *   httpPut()                 - Send a PUT request to the server.
- *   httpRead()                - Read data from a HTTP connection.
- *   httpRead2()               - Read data from a HTTP connection.
- *   _httpReadCDSA()           - Read function for the CDSA library.
- *   _httpReadGNUTLS()         - Read function for the GNU TLS library.
- *   httpReconnect()           - Reconnect to a HTTP server.
- *   httpSetAuthString()       - Set the current authorization string.
- *   httpSetCredentials()      - Set the credentials associated with an
- *                               encrypted connection.
- *   httpSetCookie()           - Set the cookie value(s).
- *   httpSetExpect()           - Set the Expect: header in a request.
- *   httpSetField()            - Set the value of an HTTP header.
- *   httpSetLength()           - Set the content-length and content-encoding.
- *   httpSetTimeout()          - Set read/write timeouts and an optional
- *                               callback.
- *   httpTrace()               - Send an TRACE request to the server.
- *   _httpUpdate()             - Update the current HTTP status for incoming
- *                               data.
- *   httpUpdate()              - Update the current HTTP state for incoming
- *                               data.
- *   _httpWait()               - Wait for data available on a connection (no
- *                               flush).
- *   httpWait()                - Wait for data available on a connection.
- *   httpWrite()               - Write data to a HTTP connection.
- *   httpWrite2()              - Write data to a HTTP connection.
- *   _httpWriteCDSA()          - Write function for the CDSA library.
- *   _httpWriteGNUTLS()        - Write function for the GNU TLS library.
- *   http_bio_ctrl()           - Control the HTTP connection.
- *   http_bio_free()           - Free OpenSSL data.
- *   http_bio_new()            - Initialize an OpenSSL BIO structure.
- *   http_bio_puts()           - Send a string for OpenSSL.
- *   http_bio_read()           - Read data for OpenSSL.
- *   http_bio_write()          - Write data for OpenSSL.
- *   http_debug_hex()          - Do a hex dump of a buffer.
- *   http_field()              - Return the field index for a field name.
- *   http_read_ssl()           - Read from a SSL/TLS connection.
- *   http_locking_cb()         - Lock/unlock a thread's mutex.
- *   http_send()               - Send a request with all fields and the trailing
- *                               blank line.
- *   http_set_credentials()    - Set the SSL/TLS credentials.
- *   http_set_timeout()        - Set the socket timeout values.
- *   http_set_wait()           - Set the default wait value for reads.
- *   http_setup_ssl()          - Set up SSL/TLS support on a connection.
- *   http_shutdown_ssl()       - Shut down SSL/TLS on a connection.
- *   http_threadid_cb()        - Return the current thread ID.
- *   http_upgrade()            - Force upgrade to TLS encryption.
- *   http_write()              - Write a buffer to a HTTP connection.
- *   http_write_chunk()        - Write a chunked buffer.
- *   http_write_ssl()          - Write to a SSL/TLS connection.
+ *   httpAddCredential()      - Allocates and adds a single credential to an
+ *                             array.
+ *   _httpBIOMethods()       - Get the OpenSSL BIO methods for HTTP
+ *                             connections.
+ *   httpBlocking()          - Set blocking/non-blocking behavior on a
+ *                             connection.
+ *   httpCheck()             - Check to see if there is a pending response
+ *                             from the server.
+ *   httpClearCookie()       - Clear the cookie value(s).
+ *   httpClearFields()       - Clear HTTP request fields.
+ *   httpClose()             - Close an HTTP connection.
+ *   httpConnect()           - Connect to a HTTP server.
+ *   httpConnectEncrypt()     - Connect to a HTTP server using encryption.
+ *   httpCopyCredentials()    - Copy the credentials associated with an
+ *                             encrypted connection.
+ *   _httpCreate()           - Create an unconnected HTTP connection.
+ *   _httpCreateCredentials() - Create credentials in the internal format.
+ *   httpDelete()            - Send a DELETE request to the server.
+ *   _httpDisconnect()       - Disconnect a HTTP connection.
+ *   httpEncryption()        - Set the required encryption on the link.
+ *   httpError()             - Get the last error on a connection.
+ *   httpFlush()             - Flush data from a HTTP connection.
+ *   httpFlushWrite()        - Flush data in write buffer.
+ *   _httpFreeCredentials()   - Free internal credentials.
+ *   httpFreeCredentials()    - Free an array of credentials.
+ *   httpGet()               - Send a GET request to the server.
+ *   httpGetAuthString()      - Get the current authorization string.
+ *   httpGetBlocking()       - Get the blocking/non-block state of a
+ *                             connection.
+ *   httpGetCookie()         - Get any cookie data from the response.
+ *   httpGetFd()             - Get the file descriptor associated with a
+ *                             connection.
+ *   httpGetField()          - Get a field value from a request/response.
+ *   httpGetLength()         - Get the amount of data remaining from the
+ *                             content-length or transfer-encoding fields.
+ *   httpGetLength2()        - Get the amount of data remaining from the
+ *                             content-length or transfer-encoding fields.
+ *   httpGets()              - Get a line of text from a HTTP connection.
+ *   httpGetState()          - Get the current state of the HTTP request.
+ *   httpGetStatus()         - Get the status of the last HTTP request.
+ *   httpGetSubField()       - Get a sub-field value.
+ *   httpGetSubField2()       - Get a sub-field value.
+ *   httpGetVersion()        - Get the HTTP version at the other end.
+ *   httpHead()              - Send a HEAD request to the server.
+ *   httpInitialize()        - Initialize the HTTP interface library and set
+ *                             the default HTTP proxy (if any).
+ *   httpOptions()           - Send an OPTIONS request to the server.
+ *   _httpPeek()             - Peek at data from a HTTP connection.
+ *   httpPost()              - Send a POST request to the server.
+ *   httpPrintf()            - Print a formatted string to a HTTP connection.
+ *   httpPut()               - Send a PUT request to the server.
+ *   httpRead()              - Read data from a HTTP connection.
+ *   httpRead2()             - Read data from a HTTP connection.
+ *   _httpReadCDSA()         - Read function for the CDSA library.
+ *   _httpReadGNUTLS()       - Read function for the GNU TLS library.
+ *   httpReconnect()         - Reconnect to a HTTP server.
+ *   httpReconnect2()        - Reconnect to a HTTP server with timeout and
+ *                             optional cancel.
+ *   httpSetAuthString()      - Set the current authorization string.
+ *   httpSetCredentials()     - Set the credentials associated with an
+ *                             encrypted connection.
+ *   httpSetCookie()         - Set the cookie value(s).
+ *   httpSetExpect()         - Set the Expect: header in a request.
+ *   httpSetField()          - Set the value of an HTTP header.
+ *   httpSetLength()         - Set the content-length and content-encoding.
+ *   httpSetTimeout()        - Set read/write timeouts and an optional
+ *                             callback.
+ *   httpTrace()             - Send an TRACE request to the server.
+ *   _httpUpdate()           - Update the current HTTP status for incoming
+ *                             data.
+ *   httpUpdate()            - Update the current HTTP state for incoming
+ *                             data.
+ *   _httpWait()             - Wait for data available on a connection (no
+ *                             flush).
+ *   httpWait()              - Wait for data available on a connection.
+ *   httpWrite()             - Write data to a HTTP connection.
+ *   httpWrite2()            - Write data to a HTTP connection.
+ *   _httpWriteCDSA()        - Write function for the CDSA library.
+ *   _httpWriteGNUTLS()       - Write function for the GNU TLS library.
+ *   http_bio_ctrl()         - Control the HTTP connection.
+ *   http_bio_free()         - Free OpenSSL data.
+ *   http_bio_new()          - Initialize an OpenSSL BIO structure.
+ *   http_bio_puts()         - Send a string for OpenSSL.
+ *   http_bio_read()         - Read data for OpenSSL.
+ *   http_bio_write()        - Write data for OpenSSL.
+ *   http_debug_hex()        - Do a hex dump of a buffer.
+ *   http_field()            - Return the field index for a field name.
+ *   http_read_ssl()         - Read from a SSL/TLS connection.
+ *   http_send()             - Send a request with all fields and the trailing
+ *                             blank line.
+ *   http_set_credentials()   - Set the SSL/TLS credentials.
+ *   http_set_timeout()       - Set the socket timeout values.
+ *   http_set_wait()         - Set the default wait value for reads.
+ *   http_setup_ssl()        - Set up SSL/TLS support on a connection.
+ *   http_shutdown_ssl()      - Shut down SSL/TLS on a connection.
+ *   http_upgrade()          - Force upgrade to TLS encryption.
+ *   http_write()            - Write a buffer to a HTTP connection.
+ *   http_write_chunk()       - Write a chunked buffer.
+ *   http_write_ssl()        - Write to a SSL/TLS connection.
  */
 
 /*
 #  include <signal.h>
 #  include <sys/time.h>
 #  include <sys/resource.h>
+#  include <sys/utsname.h>
 #endif /* WIN32 */
 #ifdef HAVE_POLL
-#  include <sys/poll.h>
+#  include <poll.h>
 #endif /* HAVE_POLL */
 
 
 /*
- * Some operating systems have done away with the Fxxxx constants for
- * the fcntl() call; this works around that "feature"...
- */
-
-#ifndef FNONBLK
-#  define FNONBLK O_NONBLOCK
-#endif /* !FNONBLK */
-
-
-/*
  * Local functions...
  */
 
@@ -266,7 +259,7 @@ static BIO_METHOD   http_bio_methods =
  *
  * Use @code cupsArrayNew(NULL, NULL)@ to create a credentials array.
  *
- * @since CUPS 1.5/Mac OS X 10.7@
+ * @since CUPS 1.5/OS X 10.7@
  */
 
 int                                    /* O - 0 on success, -1 on error */
@@ -339,7 +332,7 @@ httpCheck(http_t *http)                     /* I - Connection to server */
 /*
  * 'httpClearCookie()' - Clear the cookie value(s).
  *
- * @since CUPS 1.1.19/Mac OS X 10.3@
+ * @since CUPS 1.1.19/OS X 10.3@
  */
 
 void
@@ -502,7 +495,7 @@ httpConnectEncrypt(
  * 'httpCopyCredentials()' - Copy the credentials associated with an encrypted
  *                          connection.
  *
- * @since CUPS 1.5/Mac OS X 10.7@
+ * @since CUPS 1.5/OS X 10.7@
  */
 
 int                                    /* O - Status of call (0 = success) */
@@ -606,6 +599,7 @@ _httpCreate(
 
   if ((http = calloc(sizeof(http_t), 1)) == NULL)
   {
+    _cupsSetError(IPP_INTERNAL_ERROR, strerror(errno), 0);
     httpAddrFreeList(addrlist);
     return (NULL);
   }
@@ -842,7 +836,7 @@ httpFlush(http_t *http)                     /* I - Connection to server */
 /*
  * 'httpFlushWrite()' - Flush data in write buffer.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - Bytes written or -1 on error */
@@ -944,7 +938,7 @@ httpGet(http_t     *http,           /* I - Connection to server */
  * string to use with httpSetField() for the HTTP_FIELD_AUTHORIZATION
  * value.
  *
- * @since CUPS 1.3/Mac OS X 10.5@
+ * @since CUPS 1.3/OS X 10.5@
  */
 
 char *                                 /* O - Authorization string */
@@ -960,7 +954,7 @@ httpGetAuthString(http_t *http)             /* I - Connection to server */
 /*
  * 'httpGetBlocking()' - Get the blocking/non-block state of a connection.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - 1 if blocking, 0 if non-blocking */
@@ -973,7 +967,7 @@ httpGetBlocking(http_t *http)               /* I - Connection to server */
 /*
  * 'httpGetCookie()' - Get any cookie data from the response.
  *
- * @since CUPS 1.1.19/Mac OS X 10.3@
+ * @since CUPS 1.1.19/OS X 10.3@
  */
 
 const char *                           /* O - Cookie data or NULL */
@@ -986,7 +980,7 @@ httpGetCookie(http_t *http)         /* I - HTTP connecion */
 /*
  * 'httpGetFd()' - Get the file descriptor associated with a connection.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - File descriptor or -1 if none */
@@ -1056,7 +1050,7 @@ httpGetLength(http_t *http)               /* I - Connection to server */
  * This function returns the complete content length, even for
  * content larger than 2^31 - 1.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 off_t                                  /* O - Content length */
@@ -1117,167 +1111,6 @@ httpGetLength2(http_t *http)            /* I - Connection to server */
 
 
 /*
- * 'httpGetStatus()' - Get the status of the last HTTP request.
- *
- * @since CUPS 1.2/Mac OS X 10.5@
- */
-
-http_status_t                          /* O - HTTP status */
-httpGetStatus(http_t *http)            /* I - Connection to server */
-{
-  return (http ? http->status : HTTP_ERROR);
-}
-
-
-/*
- * 'httpGetSubField()' - Get a sub-field value.
- *
- * @deprecated@
- */
-
-char *                                 /* O - Value or NULL */
-httpGetSubField(http_t       *http,    /* I - Connection to server */
-                http_field_t field,    /* I - Field index */
-                const char   *name,    /* I - Name of sub-field */
-               char         *value)    /* O - Value string */
-{
-  return (httpGetSubField2(http, field, name, value, HTTP_MAX_VALUE));
-}
-
-
-/*
- * 'httpGetSubField2()' - Get a sub-field value.
- *
- * @since CUPS 1.2/Mac OS X 10.5@
- */
-
-char *                                 /* O - Value or NULL */
-httpGetSubField2(http_t       *http,   /* I - Connection to server */
-                 http_field_t field,   /* I - Field index */
-                 const char   *name,   /* I - Name of sub-field */
-                char         *value,   /* O - Value string */
-                int          valuelen) /* I - Size of value buffer */
-{
-  const char   *fptr;                  /* Pointer into field */
-  char         temp[HTTP_MAX_VALUE],   /* Temporary buffer for name */
-               *ptr,                   /* Pointer into string buffer */
-               *end;                   /* End of value buffer */
-
-  DEBUG_printf(("2httpGetSubField2(http=%p, field=%d, name=\"%s\", value=%p, "
-                "valuelen=%d)", http, field, name, value, valuelen));
-
-  if (!http || !name || !value || valuelen < 2 ||
-      field <= HTTP_FIELD_UNKNOWN || field >= HTTP_FIELD_MAX)
-    return (NULL);
-
-  end = value + valuelen - 1;
-
-  for (fptr = http->fields[field]; *fptr;)
-  {
-   /*
-    * Skip leading whitespace...
-    */
-
-    while (_cups_isspace(*fptr))
-      fptr ++;
-
-    if (*fptr == ',')
-    {
-      fptr ++;
-      continue;
-    }
-
-   /*
-    * Get the sub-field name...
-    */
-
-    for (ptr = temp;
-         *fptr && *fptr != '=' && !_cups_isspace(*fptr) &&
-            ptr < (temp + sizeof(temp) - 1);
-         *ptr++ = *fptr++);
-
-    *ptr = '\0';
-
-    DEBUG_printf(("4httpGetSubField2: name=\"%s\"", temp));
-
-   /*
-    * Skip trailing chars up to the '='...
-    */
-
-    while (_cups_isspace(*fptr))
-      fptr ++;
-
-    if (!*fptr)
-      break;
-
-    if (*fptr != '=')
-      continue;
-
-   /*
-    * Skip = and leading whitespace...
-    */
-
-    fptr ++;
-
-    while (_cups_isspace(*fptr))
-      fptr ++;
-
-    if (*fptr == '\"')
-    {
-     /*
-      * Read quoted string...
-      */
-
-      for (ptr = value, fptr ++;
-           *fptr && *fptr != '\"' && ptr < end;
-          *ptr++ = *fptr++);
-
-      *ptr = '\0';
-
-      while (*fptr && *fptr != '\"')
-        fptr ++;
-
-      if (*fptr)
-        fptr ++;
-    }
-    else
-    {
-     /*
-      * Read unquoted string...
-      */
-
-      for (ptr = value;
-           *fptr && !_cups_isspace(*fptr) && *fptr != ',' && ptr < end;
-          *ptr++ = *fptr++);
-
-      *ptr = '\0';
-
-      while (*fptr && !_cups_isspace(*fptr) && *fptr != ',')
-        fptr ++;
-    }
-
-    DEBUG_printf(("4httpGetSubField2: value=\"%s\"", value));
-
-   /*
-    * See if this is the one...
-    */
-
-    if (!strcmp(name, temp))
-    {
-      DEBUG_printf(("3httpGetSubField2: Returning \"%s\"", value));
-      return (value);
-    }
-  }
-
-  value[0] = '\0';
-
-  DEBUG_puts("3httpGetSubField2: Returning NULL");
-
-  return (NULL);
-}
-
-
-/*
  * 'httpGets()' - Get a line of text from a HTTP connection.
  */
 
@@ -1351,6 +1184,10 @@ httpGets(char   *line,                   /* I - Line to read into */
 
       DEBUG_printf(("4httpGets: read %d bytes...", bytes));
 
+#ifdef DEBUG
+      http_debug_hex("httpGets", http->buffer + http->used, bytes);
+#endif /* DEBUG */
+
       if (bytes < 0)
       {
        /*
@@ -1458,6 +1295,189 @@ httpGets(char   *line,                  /* I - Line to read into */
 
 
 /*
+ * 'httpGetState()' - Get the current state of the HTTP request.
+ */
+
+http_state_t                           /* O - HTTP state */
+httpGetState(http_t *http)             /* I - Connection to server */
+{
+  return (http ? http->state : HTTP_ERROR);
+}
+
+
+/*
+ * 'httpGetStatus()' - Get the status of the last HTTP request.
+ *
+ * @since CUPS 1.2/OS X 10.5@
+ */
+
+http_status_t                          /* O - HTTP status */
+httpGetStatus(http_t *http)            /* I - Connection to server */
+{
+  return (http ? http->status : HTTP_ERROR);
+}
+
+
+/*
+ * 'httpGetSubField()' - Get a sub-field value.
+ *
+ * @deprecated@
+ */
+
+char *                                 /* O - Value or NULL */
+httpGetSubField(http_t       *http,    /* I - Connection to server */
+                http_field_t field,    /* I - Field index */
+                const char   *name,    /* I - Name of sub-field */
+               char         *value)    /* O - Value string */
+{
+  return (httpGetSubField2(http, field, name, value, HTTP_MAX_VALUE));
+}
+
+
+/*
+ * 'httpGetSubField2()' - Get a sub-field value.
+ *
+ * @since CUPS 1.2/OS X 10.5@
+ */
+
+char *                                 /* O - Value or NULL */
+httpGetSubField2(http_t       *http,   /* I - Connection to server */
+                 http_field_t field,   /* I - Field index */
+                 const char   *name,   /* I - Name of sub-field */
+                char         *value,   /* O - Value string */
+                int          valuelen) /* I - Size of value buffer */
+{
+  const char   *fptr;                  /* Pointer into field */
+  char         temp[HTTP_MAX_VALUE],   /* Temporary buffer for name */
+               *ptr,                   /* Pointer into string buffer */
+               *end;                   /* End of value buffer */
+
+  DEBUG_printf(("2httpGetSubField2(http=%p, field=%d, name=\"%s\", value=%p, "
+                "valuelen=%d)", http, field, name, value, valuelen));
+
+  if (!http || !name || !value || valuelen < 2 ||
+      field <= HTTP_FIELD_UNKNOWN || field >= HTTP_FIELD_MAX)
+    return (NULL);
+
+  end = value + valuelen - 1;
+
+  for (fptr = http->fields[field]; *fptr;)
+  {
+   /*
+    * Skip leading whitespace...
+    */
+
+    while (_cups_isspace(*fptr))
+      fptr ++;
+
+    if (*fptr == ',')
+    {
+      fptr ++;
+      continue;
+    }
+
+   /*
+    * Get the sub-field name...
+    */
+
+    for (ptr = temp;
+         *fptr && *fptr != '=' && !_cups_isspace(*fptr) &&
+            ptr < (temp + sizeof(temp) - 1);
+         *ptr++ = *fptr++);
+
+    *ptr = '\0';
+
+    DEBUG_printf(("4httpGetSubField2: name=\"%s\"", temp));
+
+   /*
+    * Skip trailing chars up to the '='...
+    */
+
+    while (_cups_isspace(*fptr))
+      fptr ++;
+
+    if (!*fptr)
+      break;
+
+    if (*fptr != '=')
+      continue;
+
+   /*
+    * Skip = and leading whitespace...
+    */
+
+    fptr ++;
+
+    while (_cups_isspace(*fptr))
+      fptr ++;
+
+    if (*fptr == '\"')
+    {
+     /*
+      * Read quoted string...
+      */
+
+      for (ptr = value, fptr ++;
+           *fptr && *fptr != '\"' && ptr < end;
+          *ptr++ = *fptr++);
+
+      *ptr = '\0';
+
+      while (*fptr && *fptr != '\"')
+        fptr ++;
+
+      if (*fptr)
+        fptr ++;
+    }
+    else
+    {
+     /*
+      * Read unquoted string...
+      */
+
+      for (ptr = value;
+           *fptr && !_cups_isspace(*fptr) && *fptr != ',' && ptr < end;
+          *ptr++ = *fptr++);
+
+      *ptr = '\0';
+
+      while (*fptr && !_cups_isspace(*fptr) && *fptr != ',')
+        fptr ++;
+    }
+
+    DEBUG_printf(("4httpGetSubField2: value=\"%s\"", value));
+
+   /*
+    * See if this is the one...
+    */
+
+    if (!strcmp(name, temp))
+    {
+      DEBUG_printf(("3httpGetSubField2: Returning \"%s\"", value));
+      return (value);
+    }
+  }
+
+  value[0] = '\0';
+
+  DEBUG_puts("3httpGetSubField2: Returning NULL");
+
+  return (NULL);
+}
+
+
+/*
+ * 'httpGetVersion()' - Get the HTTP version at the other end.
+ */
+
+http_version_t                         /* O - Version number */
+httpGetVersion(http_t *http)           /* I - Connection to server */
+{
+  return (http ? http->version : HTTP_1_0);
+}
+
+
+/*
  * 'httpHead()' - Send a HEAD request to the server.
  */
 
@@ -1649,6 +1669,8 @@ _httpPeek(http_t *http,                   /* I - Connection to server */
     * Buffer small reads for better performance...
     */
 
+    ssize_t    buflen;                 /* Length of read for buffer */
+
     if (!http->blocking)
     {
       while (!httpWait(http, http->wait_value))
@@ -1661,48 +1683,69 @@ _httpPeek(http_t *http,                 /* I - Connection to server */
     }
 
     if (http->data_remaining > sizeof(http->buffer))
-      bytes = sizeof(http->buffer);
+      buflen = sizeof(http->buffer);
     else
-      bytes = http->data_remaining;
+      buflen = http->data_remaining;
+
+    DEBUG_printf(("2_httpPeek: Reading %d bytes into buffer.", (int)buflen));
 
+    do
+    {
 #ifdef HAVE_SSL
-    if (http->tls)
-      bytes = http_read_ssl(http, http->buffer, bytes);
-    else
+      if (http->tls)
+       bytes = http_read_ssl(http, http->buffer, buflen);
+      else
 #endif /* HAVE_SSL */
-    {
-      DEBUG_printf(("2_httpPeek: reading %d bytes from socket into buffer...",
-                    (int)bytes));
-
-      bytes = recv(http->fd, http->buffer, bytes, 0);
-
-      DEBUG_printf(("2_httpPeek: read %d bytes from socket into buffer...",
-                    (int)bytes));
-    }
+      bytes = recv(http->fd, http->buffer, buflen, 0);
 
-    if (bytes > 0)
-      http->used = bytes;
-    else if (bytes < 0)
-    {
-#ifdef WIN32
-      if (WSAGetLastError() != WSAEINTR && WSAGetLastError() != WSAEWOULDBLOCK)
+      if (bytes < 0)
       {
-        http->error = WSAGetLastError();
-        return (-1);
-      }
+#ifdef WIN32
+       if (WSAGetLastError() != WSAEINTR)
+       {
+         http->error = WSAGetLastError();
+         return (-1);
+       }
+       else if (WSAGetLastError() == WSAEWOULDBLOCK)
+       {
+         if (!http->timeout_cb ||
+             !(*http->timeout_cb)(http, http->timeout_data))
+         {
+           http->error = WSAEWOULDBLOCK;
+           return (-1);
+         }
+       }
 #else
-      if (errno != EINTR && errno != EAGAIN)
-      {
-        http->error = errno;
-        return (-1);
-      }
+       if (errno == EWOULDBLOCK || errno == EAGAIN)
+       {
+         if (http->timeout_cb && !(*http->timeout_cb)(http, http->timeout_data))
+         {
+           http->error = errno;
+           return (-1);
+         }
+         else if (!http->timeout_cb && errno != EAGAIN)
+         {
+           http->error = errno;
+           return (-1);
+         }
+       }
+       else if (errno != EINTR)
+       {
+         http->error = errno;
+         return (-1);
+       }
 #endif /* WIN32 */
+      }
     }
-    else
-    {
-      http->error = EPIPE;
-      return (0);
-    }
+    while (bytes < 0);
+
+    DEBUG_printf(("2_httpPeek: Read " CUPS_LLFMT " bytes into buffer.",
+                  CUPS_LLCAST bytes));
+#ifdef DEBUG
+    http_debug_hex("_httpPeek", http->buffer, (int)bytes);
+#endif /* DEBUG */
+
+    http->used = bytes;
   }
 
   if (http->used > 0)
@@ -1835,7 +1878,7 @@ httpRead(http_t *http,                    /* I - Connection to server */
 /*
  * 'httpRead2()' - Read data from a HTTP connection.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 ssize_t                                        /* O - Number of bytes read */
@@ -1983,7 +2026,11 @@ httpRead2(http_t *http,                  /* I - Connection to server */
     }
     while (bytes < 0);
 
-    DEBUG_printf(("2httpRead2: Read %d bytes into buffer.", (int)bytes));
+    DEBUG_printf(("2httpRead2: Read " CUPS_LLFMT " bytes into buffer.",
+                  CUPS_LLCAST bytes));
+#ifdef DEBUG
+    http_debug_hex("httpRead2", http->buffer, (int)bytes);
+#endif /* DEBUG */
 
     http->used = bytes;
   }
@@ -2086,6 +2133,9 @@ httpRead2(http_t *http,                   /* I - Connection to server */
 
     DEBUG_printf(("2httpRead2: read " CUPS_LLFMT " bytes from socket...",
                   CUPS_LLCAST bytes));
+#ifdef DEBUG
+    http_debug_hex("httpRead2", buffer, (int)bytes);
+#endif /* DEBUG */
   }
 
   if (bytes > 0)
@@ -2127,10 +2177,6 @@ httpRead2(http_t *http,                  /* I - Connection to server */
       http->state = HTTP_WAITING;
   }
 
-#ifdef DEBUG
-  http_debug_hex("httpRead2", buffer, (int)bytes);
-#endif /* DEBUG */
-
   return (bytes);
 }
 
@@ -2250,6 +2296,22 @@ _httpReadGNUTLS(
 int                                    /* O - 0 on success, non-zero on failure */
 httpReconnect(http_t *http)            /* I - Connection to server */
 {
+  DEBUG_printf(("httpReconnect(http=%p)", http));
+
+  return (httpReconnect2(http, 30000, NULL));
+}
+
+
+/*
+ * 'httpReconnect2()' - Reconnect to a HTTP server with timeout and optional
+ *                      cancel.
+ */
+
+int                                    /* O - 0 on success, non-zero on failure */
+httpReconnect2(http_t *http,           /* I - Connection to server */
+              int    msec,             /* I - Timeout in milliseconds */
+              int    *cancel)          /* I - Pointer to "cancel" variable */
+{
   http_addrlist_t      *addr;          /* Connected address */
 #ifdef DEBUG
   http_addrlist_t      *current;       /* Current address */
@@ -2257,15 +2319,19 @@ httpReconnect(http_t *http)             /* I - Connection to server */
 #endif /* DEBUG */
 
 
-  DEBUG_printf(("httpReconnect(http=%p)", http));
+  DEBUG_printf(("httpReconnect2(http=%p, msec=%d, cancel=%p)", http, msec,
+                cancel));
 
   if (!http)
+  {
+    _cupsSetError(IPP_INTERNAL_ERROR, strerror(EINVAL), 0);
     return (-1);
+  }
 
 #ifdef HAVE_SSL
   if (http->tls)
   {
-    DEBUG_puts("2httpReconnect: Shutting down SSL/TLS...");
+    DEBUG_puts("2httpReconnect2: Shutting down SSL/TLS...");
     http_shutdown_ssl(http);
   }
 #endif /* HAVE_SSL */
@@ -2276,7 +2342,7 @@ httpReconnect(http_t *http)               /* I - Connection to server */
 
   if (http->fd >= 0)
   {
-    DEBUG_printf(("2httpReconnect: Closing socket %d...", http->fd));
+    DEBUG_printf(("2httpReconnect2: Closing socket %d...", http->fd));
 
 #ifdef WIN32
     closesocket(http->fd);
@@ -2310,12 +2376,13 @@ httpReconnect(http_t *http)             /* I - Connection to server */
 
 #ifdef DEBUG
   for (current = http->addrlist; current; current = current->next)
-    DEBUG_printf(("2httpReconnect: Address %s:%d",
+    DEBUG_printf(("2httpReconnect2: Address %s:%d",
                   httpAddrString(&(current->addr), temp, sizeof(temp)),
                   _httpAddrPort(&(current->addr))));
 #endif /* DEBUG */
 
-  if ((addr = httpAddrConnect(http->addrlist, &(http->fd))) == NULL)
+  if ((addr = httpAddrConnect2(http->addrlist, &(http->fd), msec,
+                               cancel)) == NULL)
   {
    /*
     * Unable to connect...
@@ -2328,13 +2395,13 @@ httpReconnect(http_t *http)             /* I - Connection to server */
 #endif /* WIN32 */
     http->status = HTTP_ERROR;
 
-    DEBUG_printf(("1httpReconnect: httpAddrConnect failed: %s",
+    DEBUG_printf(("1httpReconnect2: httpAddrConnect failed: %s",
                   strerror(http->error)));
 
     return (-1);
   }
 
-  DEBUG_printf(("2httpReconnect: New socket=%d", http->fd));
+  DEBUG_printf(("2httpReconnect2: New socket=%d", http->fd));
 
   if (http->timeout_value > 0)
     http_set_timeout(http->fd, http->timeout_value);
@@ -2364,7 +2431,7 @@ httpReconnect(http_t *http)               /* I - Connection to server */
     return (http_upgrade(http));
 #endif /* HAVE_SSL */
 
-  DEBUG_printf(("1httpReconnect: Connected to %s:%d...",
+  DEBUG_printf(("1httpReconnect2: Connected to %s:%d...",
                httpAddrString(http->hostaddr, temp, sizeof(temp)),
                _httpAddrPort(http->hostaddr)));
 
@@ -2380,7 +2447,7 @@ httpReconnect(http_t *http)               /* I - Connection to server */
  * HTTP_FIELD_AUTHORIZATION prior to issuing a HTTP request using httpGet(),
  * httpHead(), httpOptions(), httpPost, or httpPut().
  *
- * @since CUPS 1.3/Mac OS X 10.5@
+ * @since CUPS 1.3/OS X 10.5@
  */
 
 void
@@ -2437,7 +2504,7 @@ httpSetAuthString(http_t     *http,       /* I - Connection to server */
  * 'httpSetCredentials()' - Set the credentials associated with an encrypted
  *                         connection.
  *
- * @since CUPS 1.5/Mac OS X 10.7@
+ * @since CUPS 1.5/OS X 10.7@
  */
 
 int                                            /* O - Status of call (0 = success) */
@@ -2458,7 +2525,7 @@ httpSetCredentials(http_t *http,          /* I - Connection to server */
 /*
  * 'httpSetCookie()' - Set the cookie value(s).
  *
- * @since CUPS 1.1.19/Mac OS X 10.3@
+ * @since CUPS 1.1.19/OS X 10.3@
  */
 
 void
@@ -2483,7 +2550,7 @@ httpSetCookie(http_t     *http,           /* I - Connection */
  *
  * Currently only HTTP_CONTINUE is supported for the "expect" argument.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 void
@@ -2568,7 +2635,7 @@ httpSetField(http_t       *http,  /* I - Connection to server */
 /*
  * 'httpSetLength()' - Set the content-length and content-encoding.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 void
@@ -2598,7 +2665,7 @@ httpSetLength(http_t *http,               /* I - Connection to server */
  * The optional timeout callback receives both the HTTP connection and a user
  * data pointer and must return 1 to continue or 0 to error (time) out.
  *
- * @since CUPS 1.5/Mac OS X 10.7@
+ * @since CUPS 1.5/OS X 10.7@
  */
 
 void
@@ -2925,8 +2992,11 @@ _httpWait(http_t *http,                  /* I - Connection to server */
   pfd.fd     = http->fd;
   pfd.events = POLLIN;
 
-  while ((nfds = poll(&pfd, 1, msec)) < 0 &&
-         (errno == EINTR || errno == EAGAIN));
+  do
+  {
+    nfds = poll(&pfd, 1, msec);
+  }
+  while (nfds < 0 && (errno == EINTR || errno == EAGAIN));
 
 #else
   do
@@ -2966,7 +3036,7 @@ _httpWait(http_t *http,                   /* I - Connection to server */
 /*
  * 'httpWait()' - Wait for data available on a connection.
  *
- * @since CUPS 1.1.19/Mac OS X 10.3@
+ * @since CUPS 1.1.19/OS X 10.3@
  */
 
 int                                    /* O - 1 if data is available, 0 otherwise */
@@ -3029,7 +3099,7 @@ httpWrite(http_t     *http,               /* I - Connection to server */
 /*
  * 'httpWrite2()' - Write data to a HTTP connection.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 ssize_t                                        /* O - Number of bytes written */
@@ -3577,7 +3647,39 @@ http_send(http_t       *http,    /* I - Connection to server */
   */
 
   if (!http->fields[HTTP_FIELD_USER_AGENT][0])
-    httpSetField(http, HTTP_FIELD_USER_AGENT, CUPS_MINIMAL);
+  {
+#ifdef WIN32
+    SYSTEM_INFO        sysinfo;                /* System information */
+    OSVERSIONEX        version;                /* OS version info */
+
+    version.dwOSVersionInfoSize = sizeof(OSVERSIONEX);
+    GetVersionInfoEx(&version);
+    GetNativeSystemInfo(&sysinfo);
+
+    snprintf(buf, sizeof(buf), CUPS_MINIMAL " (Windows %d.%d; %s) IPP/2.0",
+            version.major, version.minor,
+            sysinfo.wProcessorArchitecture
+                == PROCESSOR_ARCHITECTURE_AMD64 ? "amd64" :
+                sysinfo.wProcessorArchitecture
+                    == PROCESSOR_ARCHITECTURE_ARM ? "arm" :
+                sysinfo.wProcessorArchitecture
+                    == PROCESSOR_ARCHITECTURE_IA64 ? "ia64" :
+                sysinfo.wProcessorArchitecture
+                    == PROCESSOR_ARCHITECTURE_INTEL ? "intel" :
+                "unknown");
+
+#else
+    struct utsname     name;           /* uname info */
+
+    uname(&name);
+
+    snprintf(buf, sizeof(buf), CUPS_MINIMAL " (%s %s; %s) IPP/2.0",
+            name.sysname, name.release, name.machine);
+#endif /* WIN32 */
+
+    DEBUG_printf(("8http_send: Default User-Agent: %s", buf));
+    httpSetField(http, HTTP_FIELD_USER_AGENT, buf);
+  }
 
  /*
   * Encode the URI as needed...
@@ -3636,8 +3738,17 @@ http_send(http_t       *http,    /* I - Connection to server */
       DEBUG_printf(("9http_send: %s: %s", http_fields[i],
                     httpGetField(http, i)));
 
-      if (httpPrintf(http, "%s: %s\r\n", http_fields[i],
-                    httpGetField(http, i)) < 1)
+      if (i == HTTP_FIELD_HOST)
+      {
+       if (httpPrintf(http, "Host: %s:%d\r\n", httpGetField(http, i),
+                      _httpAddrPort(http->hostaddr)) < 1)
+       {
+         http->status = HTTP_ERROR;
+         return (-1);
+       }
+      }
+      else if (httpPrintf(http, "%s: %s\r\n", http_fields[i],
+                         httpGetField(http, i)) < 1)
       {
        http->status = HTTP_ERROR;
        return (-1);
@@ -3715,63 +3826,6 @@ http_set_credentials(http_t *http)       /* I - Connection to server */
   if ((credentials = http->tls_credentials) == NULL)
     credentials = cg->tls_credentials;
 
-#    if HAVE_SECPOLICYCREATESSL
- /*
-  * Otherwise root around in the user's keychain to see if one can be found...
-  */
-
-  if (!credentials)
-  {
-    CFDictionaryRef    query;          /* Query dictionary */
-    CFTypeRef          matches = NULL; /* Matching credentials */
-    CFArrayRef         dn_array = NULL;/* Distinguished names array */
-    CFTypeRef          keys[]   = { kSecClass,
-                                    kSecMatchLimit,
-                                    kSecReturnRef };
-                                       /* Keys for dictionary */
-    CFTypeRef          values[] = { kSecClassCertificate,
-                                    kSecMatchLimitOne,
-                                    kCFBooleanTrue };
-                                       /* Values for dictionary */
-
-   /*
-    * Get the names associated with the server.
-    */
-
-    if ((error = SSLCopyDistinguishedNames(http->tls, &dn_array)) != noErr)
-    {
-      DEBUG_printf(("4http_set_credentials: SSLCopyDistinguishedNames, error=%d",
-                    (int)error));
-      return (error);
-    }
-
-   /*
-    * Create a query which will return all identities that can sign and match
-    * the passed in policy.
-    */
-
-    query = CFDictionaryCreate(NULL,
-                              (const void**)(&keys[0]),
-                              (const void**)(&values[0]),
-                              sizeof(keys) / sizeof(keys[0]),
-                              &kCFTypeDictionaryKeyCallBacks,
-                              &kCFTypeDictionaryValueCallBacks);
-    if (query)
-    {
-      error = SecItemCopyMatching(query, &matches);
-      DEBUG_printf(("4http_set_credentials: SecItemCopyMatching, error=%d",
-                   (int)error));
-      CFRelease(query);
-    }
-
-    if (matches)
-      CFRelease(matches);
-
-    if (dn_array)
-      CFRelease(dn_array);
-  }
-#    endif /* HAVE_SECPOLICYCREATESSL */
-
   if (credentials)
   {
     error = SSLSetCertificate(http->tls, credentials);
@@ -3841,12 +3895,11 @@ http_set_wait(http_t *http)             /* I - Connection to server */
 static int                             /* O - 0 on success, -1 on failure */
 http_setup_ssl(http_t *http)           /* I - Connection to server */
 {
-  _cups_globals_t      *cg = _cupsGlobals();
-                                       /* Pointer to library globals */
   int                  any_root;       /* Allow any root */
   char                 hostname[256],  /* Hostname */
                        *hostptr;       /* Pointer into hostname */
-
+  _cups_globals_t      *cg = _cupsGlobals();
+                                       /* Pointer to library globals */
 #  ifdef HAVE_LIBSSL
   SSL_CTX              *context;       /* Context for encryption */
   BIO                  *bio;           /* BIO data */
@@ -4156,6 +4209,8 @@ http_setup_ssl(http_t *http)              /* I - Connection to server */
                               credential->datalen);
                        cupsArrayAdd(names, credential);
                      }
+                     else
+                       free(credential);
                    }
                  }
                }
@@ -4449,6 +4504,8 @@ http_write(http_t     *http,              /* I - Connection to server */
 
   while (length > 0)
   {
+    DEBUG_printf(("3http_write: About to write %d bytes.", (int)length));
+
     if (http->timeout_cb)
     {
 #ifdef HAVE_POLL
@@ -4513,6 +4570,9 @@ http_write(http_t     *http,              /* I - Connection to server */
 #endif /* HAVE_SSL */
     bytes = send(http->fd, buffer, length, 0);
 
+    DEBUG_printf(("3http_write: Write of %d bytes returned %d.", (int)length,
+                  (int)bytes));
+
     if (bytes < 0)
     {
 #ifdef WIN32
@@ -4706,5 +4766,5 @@ http_write_ssl(http_t     *http,  /* I - Connection to server */
 
 
 /*
- * End of "$Id: http.c 10450 2012-05-04 22:52:56Z mike $".
+ * End of "$Id: http.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index d24f9e6..a882ff7 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: http.h 9801 2011-05-21 04:02:41Z mike $"
+ * "$Id: http.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Hyper-Text Transport Protocol definitions for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -124,7 +124,7 @@ typedef enum http_auth_e            /**** HTTP authentication types ****/
   HTTP_AUTH_MD5_SESS,                  /* MD5-session authentication in use */
   HTTP_AUTH_MD5_INT,                   /* Digest authentication in use for body */
   HTTP_AUTH_MD5_SESS_INT,              /* MD5-session authentication in use for body */
-  HTTP_AUTH_NEGOTIATE                  /* GSSAPI authentication in use @since CUPS 1.3/Mac OS X 10.5@ */
+  HTTP_AUTH_NEGOTIATE                  /* GSSAPI authentication in use @since CUPS 1.3/OS X 10.5@ */
 } http_auth_t;
 
 typedef enum http_encoding_e           /**** HTTP transfer encoding values ****/
@@ -251,7 +251,7 @@ typedef enum http_status_e          /**** HTTP status codes ****/
   HTTP_NOT_SUPPORTED,                  /* HTTP version not supported */
 
   HTTP_AUTHORIZATION_CANCELED = 1000,  /* User canceled authorization @since CUPS 1.4@ */
-  HTTP_PKI_ERROR,                      /* Error negotiating a secure connection @since CUPS 1.5/Mac OS X 10.7@ */
+  HTTP_PKI_ERROR,                      /* Error negotiating a secure connection @since CUPS 1.5/OS X 10.7@ */
   HTTP_WEBIF_DISABLED                  /* Web interface is disabled @private@ */
 } http_status_t;
 
@@ -279,7 +279,8 @@ typedef enum http_uri_coding_e              /**** URI en/decode flags ****/
   HTTP_URI_CODING_RESOURCE = 4,                /* En/decode the resource portion */
   HTTP_URI_CODING_MOST = 7,            /* En/decode all but the query */
   HTTP_URI_CODING_QUERY = 8,           /* En/decode the query portion */
-  HTTP_URI_CODING_ALL = 15             /* En/decode everything */
+  HTTP_URI_CODING_ALL = 15,            /* En/decode everything */
+  HTTP_URI_CODING_RFC6874 = 16         /* Use RFC 6874 address format */
 } http_uri_coding_t;
 
 typedef enum http_version_e            /**** HTTP version numbers ****/
@@ -292,7 +293,7 @@ typedef enum http_version_e         /**** HTTP version numbers ****/
 typedef union _http_addr_u             /**** Socket address union, which
                                         **** makes using IPv6 and other
                                         **** address types easier and
-                                        **** more portable. @since CUPS 1.2/Mac OS X 10.5@
+                                        **** more portable. @since CUPS 1.2/OS X 10.5@
                                         ****/
 {
   struct sockaddr      addr;           /* Base structure for family value */
@@ -309,7 +310,7 @@ typedef union _http_addr_u          /**** Socket address union, which
 typedef struct http_addrlist_s         /**** Socket address list, which is
                                         **** used to enumerate all of the
                                         **** addresses that are associated
-                                        **** with a hostname. @since CUPS 1.2/Mac OS X 10.5@
+                                        **** with a hostname. @since CUPS 1.2/OS X 10.5@
                                         ****/
 {
   struct http_addrlist_s *next;                /* Pointer to next address in list */
@@ -318,14 +319,14 @@ typedef struct http_addrlist_s            /**** Socket address list, which is
 
 typedef struct _http_s http_t;         /**** HTTP connection type ****/
 
-typedef struct http_credential_s       /**** HTTP credential data @since CUPS 1.5/Mac OS X 10.7@ ****/
+typedef struct http_credential_s       /**** HTTP credential data @since CUPS 1.5/OS X 10.7@ ****/
 {
   void         *data;                  /* Pointer to credential data */
   size_t       datalen;                /* Credential length */
 } http_credential_t;
 
 typedef int (*http_timeout_cb_t)(http_t *http, void *user_data);
-                                       /**** HTTP timeout callback @since CUPS 1.5/Mac OS X 10.7@ ****/
+                                       /**** HTTP timeout callback @since CUPS 1.5/OS X 10.7@ ****/
 
 
 
@@ -357,10 +358,7 @@ extern void                httpInitialize(void);
 extern int             httpOptions(http_t *http, const char *uri);
 extern int             httpPost(http_t *http, const char *uri);
 extern int             httpPrintf(http_t *http, const char *format, ...)
-#  ifdef __GNUC__
-__attribute__ ((__format__ (__printf__, 2, 3)))
-#  endif /* __GNUC__ */
-;
+                       __attribute__ ((__format__ (__printf__, 2, 3)));
 extern int             httpPut(http_t *http, const char *uri);
 extern int             httpRead(http_t *http, char *buffer, int length) _CUPS_DEPRECATED;
 extern int             httpReconnect(http_t *http);
@@ -398,7 +396,7 @@ extern void         httpSeparate2(const char *uri,
                                      char *host, int hostlen, int *port,
                                      char *resource, int resourcelen) _CUPS_DEPRECATED;
 
-/**** New in CUPS 1.2/Mac OS X 10.5 ****/
+/**** New in CUPS 1.2/OS X 10.5 ****/
 extern int             httpAddrAny(const http_addr_t *addr) _CUPS_API_1_2;
 extern http_addrlist_t *httpAddrConnect(http_addrlist_t *addrlist, int *sock) _CUPS_API_1_2;
 extern int             httpAddrEqual(const http_addr_t *addr1,
@@ -446,12 +444,12 @@ extern void               httpSetLength(http_t *http, size_t length) _CUPS_API_1_2;
 extern ssize_t         httpWrite2(http_t *http, const char *buffer,
                                   size_t length) _CUPS_API_1_2;
 
-/**** New in CUPS 1.3/Mac OS X 10.5 ****/
+/**** New in CUPS 1.3/OS X 10.5 ****/
 extern char            *httpGetAuthString(http_t *http) _CUPS_API_1_3;
 extern void            httpSetAuthString(http_t *http, const char *scheme,
                                          const char *data) _CUPS_API_1_3;
 
-/**** New in CUPS 1.5/Mac OS X 10.7 ****/
+/**** New in CUPS 1.5/OS X 10.7 ****/
 extern int             httpAddCredential(cups_array_t *credentials,
                                          const void *data, size_t datalen)
                                          _CUPS_API_1_5;
@@ -462,7 +460,17 @@ extern void                httpFreeCredentials(cups_array_t *certs) _CUPS_API_1_5;
 extern int             httpSetCredentials(http_t *http, cups_array_t *certs)
                                           _CUPS_API_1_5;
 extern void            httpSetTimeout(http_t *http, double timeout,
-                                      http_timeout_cb_t cb, void *user_data);
+                                      http_timeout_cb_t cb, void *user_data)
+                                      _CUPS_API_1_5;
+
+/**** New in CUPS 1.6/OS X 10.8 ****/
+extern http_addrlist_t *httpAddrConnect2(http_addrlist_t *addrlist, int *sock,
+                                         int msec, int *cancel)
+                                         _CUPS_API_1_6;
+extern http_state_t    httpGetState(http_t *http) _CUPS_API_1_6;
+extern http_version_t  httpGetVersion(http_t *http) _CUPS_API_1_6;
+extern int             httpReconnect2(http_t *http, int msec, int *cancel)
+                                      _CUPS_API_1_6;
 
 
 /*
@@ -475,5 +483,5 @@ extern void         httpSetTimeout(http_t *http, double timeout,
 #endif /* !_CUPS_HTTP_H_ */
 
 /*
- * End of "$Id: http.h 9801 2011-05-21 04:02:41Z mike $".
+ * End of "$Id: http.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index a173f67..abf2d23 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: ipp-private.h 9084 2010-04-07 06:54:31Z mike $"
+ * "$Id: ipp-private.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Private IPP definitions for CUPS.
  *
- *   Copyright 2007-2010 by Apple Inc.
+ *   Copyright 2007-2011 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -46,19 +46,14 @@ extern "C" {
  * Structures...
  */
 
-typedef struct _ipp_buffer_s           /**** Read/write buffer ****/
-{
-  unsigned char                d[IPP_BUF_SIZE];/* Data buffer */
-  struct _ipp_buffer_s *next;          /* Next buffer in list */
-  int                  used;           /* Is this buffer used? */
-} _ipp_buffer_t;
-
 typedef struct                         /**** Attribute mapping data ****/
 {
   int          multivalue;             /* Option has multiple values? */
   const char   *name;                  /* Option/attribute name */
   ipp_tag_t    value_tag;              /* Value tag for this attribute */
   ipp_tag_t    group_tag;              /* Group tag for this attribute */
+  ipp_tag_t    alt_group_tag;          /* Alternate group tag for this
+                                        * attribute */
 } _ipp_option_t;
 
 
@@ -66,11 +61,7 @@ typedef struct                               /**** Attribute mapping data ****/
  * Prototypes for private functions...
  */
 
-extern ipp_attribute_t *_ippAddAttr(ipp_t *ipp, int num_values);
-extern size_t          _ippAttrString(ipp_attribute_t *attr, char *buffer,
-                                      size_t bufsize);
 extern _ipp_option_t   *_ippFindOption(const char *name);
-extern void            _ippFreeAttr(ipp_attribute_t *attr);
 
 
 /*
@@ -83,5 +74,5 @@ extern void           _ippFreeAttr(ipp_attribute_t *attr);
 #endif /* !_CUPS_IPP_H_ */
 
 /*
- * End of "$Id: ipp-private.h 9084 2010-04-07 06:54:31Z mike $".
+ * End of "$Id: ipp-private.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index a428170..815828b 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: ipp-support.c 10108 2011-11-04 22:22:22Z mike $"
+ * "$Id: ipp-support.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Internet Printing Protocol support functions for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
  *
  * Contents:
  *
- *   _ippAttrString() - Convert the attribute's value to a string.
- *   ippErrorString() - Return a name for the given status code.
- *   ippErrorValue()  - Return a status code for the given name.
- *   ippOpString()    - Return a name for the given operation id.
- *   ippOpValue()     - Return an operation id for the given name.
- *   ippPort()        - Return the default IPP port number.
- *   ippSetPort()     - Set the default port number.
- *   ippTagString()   - Return the tag name corresponding to a tag value.
- *   ippTagValue()    - Return the tag value corresponding to a tag name.
- *   ipp_col_string() - Convert a collection to a string.
+ *   ippAttributeString() - Convert the attribute's value to a string.
+ *   ippEnumString()     - Return a string corresponding to the enum value.
+ *   ippEnumValue()      - Return the value associated with a given enum
+ *                         string.
+ *   ippErrorString()    - Return a name for the given status code.
+ *   ippErrorValue()     - Return a status code for the given name.
+ *   ippOpString()       - Return a name for the given operation id.
+ *   ippOpValue()        - Return an operation id for the given name.
+ *   ippPort()           - Return the default IPP port number.
+ *   ippSetPort()        - Set the default port number.
+ *   ippTagString()      - Return the tag name corresponding to a tag value.
+ *   ippTagValue()       - Return the tag value corresponding to a tag name.
+ *   ipp_col_string()    - Convert a collection to a string.
  */
 
 /*
  */
 
 static const char * const ipp_status_oks[] =   /* "OK" status codes */
-               {
+               {                               /* (name) = abandoned standard value */
                  "successful-ok",
                  "successful-ok-ignored-or-substituted-attributes",
                  "successful-ok-conflicting-attributes",
                  "successful-ok-ignored-subscriptions",
-                 "successful-ok-ignored-notifications",
+                 "(successful-ok-ignored-notifications)",
                  "successful-ok-too-many-events",
-                 "successful-ok-but-cancel-subscription",
+                 "(successful-ok-but-cancel-subscription)",
                  "successful-ok-events-complete"
                },
                * const ipp_status_400s[] =     /* Client errors */
-               {
+               {                               /* (name) = abandoned standard value */
                  "client-error-bad-request",
                  "client-error-forbidden",
                  "client-error-not-authenticated",
@@ -74,8 +77,12 @@ static const char * const ipp_status_oks[] = /* "OK" status codes */
                  "client-error-attributes-not-settable",
                  "client-error-ignored-all-subscriptions",
                  "client-error-too-many-subscriptions",
-                 "client-error-ignored-all-notifications",
-                 "client-error-print-support-file-not-found"
+                 "(client-error-ignored-all-notifications)",
+                 "(client-error-client-print-support-file-not-found)",
+                 "client-error-document-password-error",
+                 "client-error-document-permission-error",
+                 "client-error-document-security-error",
+                 "client-error-document-unprintable-error"
                },
                * const ipp_status_500s[] =             /* Server errors */
                {
@@ -99,7 +106,7 @@ static const char * const ipp_status_oks[] = /* "OK" status codes */
                  "cups-pki-error",
                  "cups-upgrade-required"
                };
-static char    * const ipp_std_ops[] =
+static const char * const ipp_std_ops[] =
                {
                  /* 0x0000 - 0x000f */
                  "0x00",
@@ -133,13 +140,13 @@ static char       * const ipp_std_ops[] =
                  "Renew-Subscription",
                  "Cancel-Subscription",
                  "Get-Notifications",
-                 "Send-Notifications",
-                 "0x1e",
-                 "0x1f",
+                 "(Send-Notifications)",
+                 "(Get-Resource-Attributes)",
+                 "(Get-Resource-Data)",
 
                  /* 0x0020 - 0x002f */
-                 "0x20",
-                 "Get-Printer-Support-Files",
+                 "(Get-Resources)",
+                 "(Get-Printer-Support-Files)",
                  "Enable-Printer",
                  "Disable-Printer",
                  "Pause-Printer-After-Current-Job",
@@ -155,7 +162,7 @@ static char * const ipp_std_ops[] =
                  "Suspend-Current-Job",
                  "Resume-Job",
 
-                 /* 0x0030 - 0x003b */
+                 /* 0x0030 - 0x003d */
                  "Promote-Job",
                  "Schedule-Job-After",
                  "0x32",
@@ -168,7 +175,8 @@ static char * const ipp_std_ops[] =
                  "Cancel-My-Jobs",
                  "Resubmit-Job",
                  "Close-Job",
-                 "Identify-Printer"
+                 "Identify-Printer",
+                 "Validate-Document"
                },
                * const ipp_cups_ops[] =
                {
@@ -208,7 +216,8 @@ static char * const ipp_std_ops[] =
                                        /* 0x06 */
                  "event-notification-attributes-tag",
                                        /* 0x07 */
-                 "0x08",               /* 0x08 */
+                 "(resource-attributes-tag)",
+                                       /* 0x08 */
                  "document-attributes-tag",
                                        /* 0x09 */
                  "0x0a",               /* 0x0a */
@@ -277,22 +286,115 @@ static char      * const ipp_std_ops[] =
                  "mimeMediaType",      /* 0x49 */
                  "memberAttrName"      /* 0x4a */
                };
-static const char * const job_states[] =
-{                                      /* job-state enums */
-  "pending",
-  "pending-held",
-  "processing",
-  "processing-stopped",
-  "canceled",
-  "aborted",
-  "completed"
-};
-static const char * const printer_states[] =
-{                                      /* printer-state enums */
-  "idle",
-  "processing",
-  "stopped",
-};
+static const char * const ipp_document_states[] =
+               {                       /* document-state-enums */
+                 "pending",
+                 "4",
+                 "processing",
+                 "6",
+                 "canceled",
+                 "aborted",
+                 "completed"
+               },
+               * const ipp_finishings[] =
+               {                       /* finishings enums */
+                 "none",
+                 "staple",
+                 "punch",
+                 "cover",
+                 "bind",
+                 "saddle-stitch",
+                 "edge-stitch",
+                 "fold",
+                 "trim",
+                 "bale",
+                 "booklet-maker",
+                 "jog-offset",
+                 "15",
+                 "16",
+                 "17",
+                 "18",
+                 "19",
+                 "staple-top-left",
+                 "staple-bottom-left",
+                 "staple-top-right",
+                 "staple-bottom-right",
+                 "edge-stitch-left",
+                 "edge-stitch-top",
+                 "edge-stitch-right",
+                 "edge-stitch-bottom",
+                 "staple-dual-left",
+                 "staple-dual-top",
+                 "staple-dual-right",
+                 "staple-dual-bottom",
+                 "32",
+                 "33",
+                 "34",
+                 "35",
+                 "36",
+                 "37",
+                 "38",
+                 "39",
+                 "40",
+                 "41",
+                 "42",
+                 "43",
+                 "44",
+                 "45",
+                 "46",
+                 "47",
+                 "48",
+                 "49",
+                 "bind-left",
+                 "bind-top",
+                 "bind-right",
+                 "bind-bottom",
+                 "54",
+                 "55",
+                 "56",
+                 "57",
+                 "58",
+                 "59",
+                 "trim-after-pages",
+                 "trim-after-documents",
+                 "trim-after-copies",
+                 "trim-after-job"
+               },
+               * const ipp_job_collation_types[] =
+               {                       /* job-collation-type enums */
+                 "uncollated-sheets",
+                 "collated-documents",
+                 "uncollated-documents"
+               },
+               * const ipp_job_states[] =
+               {                       /* job-state enums */
+                 "pending",
+                 "pending-held",
+                 "processing",
+                 "processing-stopped",
+                 "canceled",
+                 "aborted",
+                 "completed"
+               },
+               * const ipp_orientation_requesteds[] =
+               {                       /* orientation-requested enums */
+                 "portrait",
+                 "landscape",
+                 "reverse-landscape",
+                 "reverse-portrait"
+               },
+               * const ipp_print_qualities[] =
+               {                       /* print-quality enums */
+                 "draft",
+                 "normal",
+                 "high"
+               },
+               * const ipp_printer_states[] =
+               {                       /* printer-state enums */
+                 "idle",
+                 "processing",
+                 "stopped",
+               };
 
 
 /*
@@ -303,24 +405,27 @@ static size_t     ipp_col_string(ipp_t *col, char *buffer, size_t bufsize);
 
 
 /*
- * '_ippAttrString()' - Convert the attribute's value to a string.
+ * 'ippAttributeString()' - Convert the attribute's value to a string.
  *
  * Returns the number of bytes that would be written, not including the
  * trailing nul. The buffer pointer can be NULL to get the required length,
  * just like (v)snprintf.
+ *
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 size_t                                 /* O - Number of bytes less nul */
-_ippAttrString(ipp_attribute_t *attr,  /* I - Attribute */
-               char            *buffer,        /* I - String buffer or NULL */
-               size_t          bufsize)        /* I - Size of string buffer */
+ippAttributeString(
+    ipp_attribute_t *attr,             /* I - Attribute */
+    char            *buffer,           /* I - String buffer or NULL */
+    size_t          bufsize)           /* I - Size of string buffer */
 {
   int          i;                      /* Looping var */
   char         *bufptr,                /* Pointer into buffer */
                *bufend,                /* End of buffer */
                temp[256];              /* Temporary string */
   const char   *ptr;                   /* Pointer into string */
-  ipp_value_t  *val;                   /* Current value */
+  _ipp_value_t *val;                   /* Current value */
 
 
   if (!attr || !attr->name)
@@ -350,40 +455,13 @@ _ippAttrString(ipp_attribute_t *attr,     /* I - Attribute */
     switch (attr->value_tag & ~IPP_TAG_COPY)
     {
       case IPP_TAG_ENUM :
-          if (!strcmp(attr->name, "printer-state") &&
-              val->integer >= IPP_PRINTER_IDLE &&
-              val->integer <= IPP_PRINTER_STOPPED)
-          {
-            ptr = printer_states[val->integer - IPP_PRINTER_IDLE];
-
-            if (buffer && bufptr < bufend)
-              strlcpy(bufptr, ptr, bufend - bufptr + 1);
+          ptr = ippEnumString(attr->name, val->integer);
 
-            bufptr += strlen(ptr);
-            break;
-          }
-          else if (!strcmp(attr->name, "job-state") &&
-                  val->integer >= IPP_JOB_PENDING &&
-                  val->integer <= IPP_JOB_COMPLETED)
-          {
-            ptr = job_states[val->integer - IPP_JOB_PENDING];
-
-            if (buffer && bufptr < bufend)
-              strlcpy(bufptr, ptr, bufend - bufptr + 1);
-
-            bufptr += strlen(ptr);
-            break;
-          }
-          else if (!strcmp(attr->name, "operations-supported"))
-          {
-            ptr = ippOpString(val->integer);
-
-            if (buffer && bufptr < bufend)
-              strlcpy(bufptr, ptr, bufend - bufptr + 1);
+          if (buffer && bufptr < bufend)
+            strlcpy(bufptr, ptr, bufend - bufptr + 1);
 
-            bufptr += strlen(ptr);
-            break;
-          }
+          bufptr += strlen(ptr);
+          break;
 
       case IPP_TAG_INTEGER :
           if (buffer && bufptr < bufend)
@@ -414,12 +492,12 @@ _ippAttrString(ipp_attribute_t *attr,     /* I - Attribute */
             bufptr += snprintf(bufptr, bufend - bufptr + 1, "%dx%d%s",
                                val->resolution.xres, val->resolution.yres,
                                val->resolution.units == IPP_RES_PER_INCH ?
-                                   "dpi" : "dpc");
+                                   "dpi" : "dpcm");
           else
             bufptr += snprintf(temp, sizeof(temp), "%dx%d%s",
                                val->resolution.xres, val->resolution.yres,
                                val->resolution.units == IPP_RES_PER_INCH ?
-                                   "dpi" : "dpc");
+                                   "dpi" : "dpcm");
           break;
 
       case IPP_TAG_DATE :
@@ -461,7 +539,7 @@ _ippAttrString(ipp_attribute_t *attr,       /* I - Attribute */
 
           for (ptr = val->string.text; *ptr; ptr ++)
           {
-            if (*ptr == '\\' || *ptr == '\"')
+            if (*ptr == '\\' || *ptr == '\"' || *ptr == '[')
             {
               if (buffer && bufptr < bufend)
                 *bufptr = '\\';
@@ -472,6 +550,25 @@ _ippAttrString(ipp_attribute_t *attr,      /* I - Attribute */
               *bufptr = *ptr;
             bufptr ++;
           }
+
+          if (val->string.language)
+          {
+           /*
+            * Add "[language]" to end of string...
+            */
+
+            if (buffer && bufptr < bufend)
+              *bufptr = '[';
+            bufptr ++;
+
+            if (buffer && bufptr < bufend)
+              strlcpy(bufptr, val->string.language, bufend - bufptr);
+            bufptr += strlen(val->string.language);
+
+            if (buffer && bufptr < bufend)
+              *bufptr = ']';
+            bufptr ++;
+          }
           break;
 
       case IPP_TAG_BEGIN_COLLECTION :
@@ -532,6 +629,159 @@ _ippAttrString(ipp_attribute_t *attr,     /* I - Attribute */
 
 
 /*
+ * 'ippEnumString()' - Return a string corresponding to the enum value.
+ */
+
+const char *                           /* O - Enum string */
+ippEnumString(const char *attrname,    /* I - Attribute name */
+              int        enumvalue)    /* I - Enum value */
+{
+  _cups_globals_t *cg = _cupsGlobals();        /* Pointer to library globals */
+
+
+ /*
+  * Check for standard enum values...
+  */
+
+  if (!strcmp(attrname, "document-state") &&
+      enumvalue >= 3 &&
+      enumvalue < (3 + (int)(sizeof(ipp_document_states) /
+                            sizeof(ipp_document_states[0]))))
+    return (ipp_document_states[enumvalue - 3]);
+  else if ((!strcmp(attrname, "finishings") ||
+            !strcmp(attrname, "finishings-actual") ||
+            !strcmp(attrname, "finishings-default") ||
+            !strcmp(attrname, "finishings-ready") ||
+            !strcmp(attrname, "finishings-supported")) &&
+           enumvalue >= 3 &&
+           enumvalue < (3 + (int)(sizeof(ipp_finishings) / sizeof(ipp_finishings[0]))))
+    return (ipp_finishings[enumvalue - 3]);
+  else if ((!strcmp(attrname, "job-collation-type") ||
+            !strcmp(attrname, "job-collation-type-actual")) &&
+           enumvalue >= 3 &&
+           enumvalue < (3 + (int)(sizeof(ipp_job_collation_types) /
+                                 sizeof(ipp_job_collation_types[0]))))
+    return (ipp_job_collation_types[enumvalue - 3]);
+  else if (!strcmp(attrname, "job-state") &&
+          enumvalue >= IPP_JOB_PENDING && enumvalue <= IPP_JOB_COMPLETED)
+    return (ipp_job_states[enumvalue - IPP_JOB_PENDING]);
+  else if (!strcmp(attrname, "operations-supported"))
+    return (ippOpString((ipp_op_t)enumvalue));
+  else if ((!strcmp(attrname, "orientation-requested") ||
+            !strcmp(attrname, "orientation-requested-actual") ||
+            !strcmp(attrname, "orientation-requested-default") ||
+            !strcmp(attrname, "orientation-requested-supported")) &&
+           enumvalue >= 3 &&
+           enumvalue < (3 + (int)(sizeof(ipp_orientation_requesteds) /
+                                 sizeof(ipp_orientation_requesteds[0]))))
+    return (ipp_orientation_requesteds[enumvalue - 3]);
+  else if ((!strcmp(attrname, "print-quality") ||
+            !strcmp(attrname, "print-quality-actual") ||
+            !strcmp(attrname, "print-quality-default") ||
+            !strcmp(attrname, "print-quality-supported")) &&
+           enumvalue >= 3 &&
+           enumvalue < (3 + (int)(sizeof(ipp_print_qualities) /
+                                 sizeof(ipp_print_qualities[0]))))
+    return (ipp_print_qualities[enumvalue - 3]);
+  else if (!strcmp(attrname, "printer-state") &&
+           enumvalue >= IPP_PRINTER_IDLE && enumvalue <= IPP_PRINTER_STOPPED)
+    return (ipp_printer_states[enumvalue - IPP_PRINTER_IDLE]);
+
+ /*
+  * Not a standard enum value, just return the decimal equivalent...
+  */
+
+  snprintf(cg->ipp_unknown, sizeof(cg->ipp_unknown), "%d", enumvalue);
+  return (cg->ipp_unknown);
+}
+
+
+/*
+ * 'ippEnumValue()' - Return the value associated with a given enum string.
+ */
+
+int                                    /* O - Enum value or -1 if unknown */
+ippEnumValue(const char *attrname,     /* I - Attribute name */
+             const char *enumstring)   /* I - Enum string */
+{
+  int          i,                      /* Looping var */
+               num_strings;            /* Number of strings to compare */
+  const char * const *strings;         /* Strings to compare */
+
+
+ /*
+  * If the string is just a number, return it...
+  */
+
+  if (isdigit(*enumstring & 255))
+    return (strtol(enumstring, NULL, 0));
+
+ /*
+  * Otherwise look up the string...
+  */
+
+  if (!strcmp(attrname, "document-state"))
+  {
+    num_strings = (int)(sizeof(ipp_document_states) / sizeof(ipp_document_states[0]));
+    strings     = ipp_document_states;
+  }
+  else if (!strcmp(attrname, "finishings") ||
+          !strcmp(attrname, "finishings-actual") ||
+          !strcmp(attrname, "finishings-default") ||
+          !strcmp(attrname, "finishings-ready") ||
+          !strcmp(attrname, "finishings-supported"))
+  {
+    num_strings = (int)(sizeof(ipp_finishings) / sizeof(ipp_finishings[0]));
+    strings     = ipp_finishings;
+  }
+  else if (!strcmp(attrname, "job-collation-type") ||
+           !strcmp(attrname, "job-collation-type-actual"))
+  {
+    num_strings = (int)(sizeof(ipp_job_collation_types) /
+                        sizeof(ipp_job_collation_types[0]));
+    strings     = ipp_job_collation_types;
+  }
+  else if (!strcmp(attrname, "job-state"))
+  {
+    num_strings = (int)(sizeof(ipp_job_states) / sizeof(ipp_job_states[0]));
+    strings     = ipp_job_states;
+  }
+  else if (!strcmp(attrname, "operations-supported"))
+    return (ippOpValue(enumstring));
+  else if (!strcmp(attrname, "orientation-requested") ||
+           !strcmp(attrname, "orientation-requested-actual") ||
+           !strcmp(attrname, "orientation-requested-default") ||
+           !strcmp(attrname, "orientation-requested-supported"))
+  {
+    num_strings = (int)(sizeof(ipp_orientation_requesteds) /
+                        sizeof(ipp_orientation_requesteds[0]));
+    strings     = ipp_orientation_requesteds;
+  }
+  else if (!strcmp(attrname, "print-quality") ||
+           !strcmp(attrname, "print-quality-actual") ||
+           !strcmp(attrname, "print-quality-default") ||
+           !strcmp(attrname, "print-quality-supported"))
+  {
+    num_strings = (int)(sizeof(ipp_print_qualities) / sizeof(ipp_print_qualities[0]));
+    strings     = ipp_print_qualities;
+  }
+  else if (!strcmp(attrname, "printer-state"))
+  {
+    num_strings = (int)(sizeof(ipp_printer_states) / sizeof(ipp_printer_states[0]));
+    strings     = ipp_printer_states;
+  }
+  else
+    return (-1);
+
+  for (i = 0; i < num_strings; i ++)
+    if (!strcmp(enumstring, strings[i]))
+      return (i + 3);
+
+  return (-1);
+}
+
+
+/*
  * 'ippErrorString()' - Return a name for the given status code.
  */
 
@@ -571,7 +821,7 @@ ippErrorString(ipp_status_t error)  /* I - Error status */
 /*
  * 'ippErrorValue()' - Return a status code for the given name.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 ipp_status_t                           /* O - IPP status code */
@@ -609,7 +859,7 @@ ippErrorValue(const char *name)             /* I - Name */
 /*
  * 'ippOpString()' - Return a name for the given operation id.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 const char *                           /* O - Name */
@@ -644,7 +894,7 @@ ippOpString(ipp_op_t op)            /* I - Operation ID */
 /*
  * 'ippOpValue()' - Return an operation id for the given name.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 ipp_op_t                               /* O - Operation ID */
@@ -720,7 +970,7 @@ ippSetPort(int p)                   /* I - Port number to use */
  *
  * The returned names are defined in RFC 2911 and 3382.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 const char *                           /* O - Tag name */
@@ -740,7 +990,7 @@ ippTagString(ipp_tag_t tag)         /* I - Tag value */
  *
  * The tag names are defined in RFC 2911 and 3382.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 ipp_tag_t                              /* O - Tag value */
@@ -791,6 +1041,7 @@ ipp_col_string(ipp_t  *col,                /* I - Collection attribute */
 {
   char                 *bufptr,        /* Position in buffer */
                        *bufend,        /* End of buffer */
+                       prefix = '{',   /* Prefix character */
                        temp[256];      /* Temporary string */
   ipp_attribute_t      *attr;          /* Current member attribute */
 
@@ -798,24 +1049,32 @@ ipp_col_string(ipp_t  *col,              /* I - Collection attribute */
   bufptr = buffer;
   bufend = buffer + bufsize - 1;
 
-  if (buffer && bufptr < bufend)
-    *bufptr = '{';
-  bufptr ++;
-
   for (attr = col->attrs; attr; attr = attr->next)
   {
     if (!attr->name)
       continue;
 
     if (buffer && bufptr < bufend)
+      *bufptr = prefix;
+    bufptr ++;
+    prefix = ' ';
+
+    if (buffer && bufptr < bufend)
       bufptr += snprintf(bufptr, bufend - bufptr + 1, "%s=", attr->name);
     else
       bufptr += strlen(attr->name) + 1;
 
     if (buffer && bufptr < bufend)
-      bufptr += _ippAttrString(attr, bufptr, bufend - bufptr + 1);
+      bufptr += ippAttributeString(attr, bufptr, bufend - bufptr + 1);
     else
-      bufptr += _ippAttrString(attr, temp, sizeof(temp));
+      bufptr += ippAttributeString(attr, temp, sizeof(temp));
+  }
+
+  if (prefix == '{')
+  {
+    if (buffer && bufptr < bufend)
+      *bufptr = prefix;
+    bufptr ++;
   }
 
   if (buffer && bufptr < bufend)
@@ -827,5 +1086,5 @@ ipp_col_string(ipp_t  *col,                /* I - Collection attribute */
 
 
 /*
- * End of "$Id: ipp-support.c 10108 2011-11-04 22:22:22Z mike $".
+ * End of "$Id: ipp-support.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index b63d1cc..1a8beed 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: ipp.c 10450 2012-05-04 22:52:56Z mike $"
+ * "$Id: ipp.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Internet Printing Protocol functions for CUPS.
  *
- *   Copyright 2007-2012 by Apple Inc.
+ *   Copyright 2007-2013 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
  *
  * Contents:
  *
- *   ippAddBoolean()        - Add a boolean attribute to an IPP message.
- *   ippAddBooleans()       - Add an array of boolean values.
- *   ippAddDate()           - Add a date attribute to an IPP message.
- *   ippAddInteger()        - Add a integer attribute to an IPP message.
- *   ippAddIntegers()       - Add an array of integer values.
+ *   _cupsBufferGet()      - Get a read/write buffer.
+ *   _cupsBufferRelease()   - Release a read/write buffer.
+ *   ippAddBoolean()       - Add a boolean attribute to an IPP message.
+ *   ippAddBooleans()      - Add an array of boolean values.
+ *   ippAddCollection()     - Add a collection value.
+ *   ippAddCollections()    - Add an array of collection values.
+ *   ippAddDate()          - Add a date attribute to an IPP message.
+ *   ippAddInteger()       - Add a integer attribute to an IPP message.
+ *   ippAddIntegers()      - Add an array of integer values.
  *   ippAddOctetString()    - Add an octetString value to an IPP message.
- *   ippAddString()         - Add a language-encoded string to an IPP message.
- *   ippAddStrings()        - Add language-encoded strings to an IPP message.
- *   ippAddRange()          - Add a range of values to an IPP message.
- *   ippAddRanges()         - Add ranges of values to an IPP message.
+ *   ippAddOutOfBand()     - Add an out-of-band value to an IPP message.
+ *   ippAddRange()         - Add a range of values to an IPP message.
+ *   ippAddRanges()        - Add ranges of values to an IPP message.
  *   ippAddResolution()     - Add a resolution value to an IPP message.
  *   ippAddResolutions()    - Add resolution values to an IPP message.
- *   ippAddSeparator()      - Add a group separator to an IPP message.
- *   ippDateToTime()        - Convert from RFC 1903 Date/Time format to
- *                            UNIX time in seconds.
- *   ippDelete()            - Delete an IPP message.
+ *   ippAddSeparator()     - Add a group separator to an IPP message.
+ *   ippAddString()        - Add a language-encoded string to an IPP message.
+ *   ippAddStrings()       - Add language-encoded strings to an IPP message.
+ *   ippCopyAttribute()     - Copy an attribute.
+ *   ippCopyAttributes()    - Copy attributes from one IPP message to another.
+ *   ippDateToTime()       - Convert from RFC 1903 Date/Time format to UNIX
+ *                           time in seconds.
+ *   ippDelete()           - Delete an IPP message.
  *   ippDeleteAttribute()   - Delete a single attribute in an IPP message.
- *   ippFindAttribute()     - Find a named attribute in a request...
- *   ippFindNextAttribute() - Find the next named attribute in a request...
- *   ippLength()            - Compute the length of an IPP message.
- *   ippNew()               - Allocate a new IPP message.
- *   ippNewRequest()        - Allocate a new IPP message.
- *   ippRead()              - Read data for an IPP message from a HTTP
- *                            connection.
- *   ippReadFile()          - Read data for an IPP message from a file.
- *   ippReadIO()            - Read data for an IPP message.
- *   ippTimeToDate()        - Convert from UNIX time to RFC 1903 format.
- *   ippWrite()             - Write data for an IPP message to a HTTP
- *                            connection.
- *   ippWriteFile()         - Write data for an IPP message to a file.
- *   ippWriteIO()           - Write data for an IPP message.
- *   _ippAddAttr()          - Add a new attribute to the request.
- *   _ippFreeAttr()         - Free an attribute.
- *   ipp_length()           - Compute the length of an IPP message or
- *                            collection value.
- *   ipp_read_http()        - Semi-blocking read on a HTTP connection...
- *   ipp_read_file()        - Read IPP data from a file.
- *   ipp_write_file()       - Write IPP data to a file.
+ *   ippDeleteValues()     - Delete values in an attribute.
+ *   ippFindAttribute()     - Find a named attribute in a request.
+ *   ippFindNextAttribute() - Find the next named attribute in a request.
+ *   ippFirstAttribute()    - Return the first attribute in the message.
+ *   ippGetBoolean()       - Get a boolean value for an attribute.
+ *   ippGetCollection()     - Get a collection value for an attribute.
+ *   ippGetCount()         - Get the number of values in an attribute.
+ *   ippGetDate()           - Get a date value for an attribute.
+ *   ippGetGroupTag()      - Get the group associated with an attribute.
+ *   ippGetInteger()       - Get the integer/enum value for an attribute.
+ *   ippGetName()          - Get the attribute name.
+ *   ippGetOperation()     - Get the operation ID in an IPP message.
+ *   ippGetRange()          - Get a rangeOfInteger value from an attribute.
+ *   ippGetRequestId()     - Get the request ID from an IPP message.
+ *   ippGetResolution()     - Get a resolution value for an attribute.
+ *   ippGetStatusCode()     - Get the status code from an IPP response or event
+ *                           message.
+ *   ippGetString()        - Get the string and optionally the language code
+ *                           for an attribute.
+ *   ippGetValueTag()      - Get the value tag for an attribute.
+ *   ippGetVersion()       - Get the major and minor version number from an
+ *                           IPP message.
+ *   ippLength()           - Compute the length of an IPP message.
+ *   ippNextAttribute()     - Return the next attribute in the message.
+ *   ippNew()              - Allocate a new IPP message.
+ *   ippNewRequest()       - Allocate a new IPP request message.
+ *   ippRead()             - Read data for an IPP message from a HTTP
+ *                           connection.
+ *   ippReadFile()         - Read data for an IPP message from a file.
+ *   ippReadIO()           - Read data for an IPP message.
+ *   ippSetBoolean()       - Set a boolean value in an attribute.
+ *   ippSetCollection()     - Set a collection value in an attribute.
+ *   ippSetDate()           - Set a date value in an attribute.
+ *   ippSetGroupTag()      - Set the group tag of an attribute.
+ *   ippSetInteger()       - Set an integer or enum value in an attribute.
+ *   ippSetName()          - Set the name of an attribute.
+ *   ippSetOperation()     - Set the operation ID in an IPP request message.
+ *   ippSetRange()         - Set a rangeOfInteger value in an attribute.
+ *   ippSetRequestId()     - Set the request ID in an IPP message.
+ *   ippSetResolution()     - Set a resolution value in an attribute.
+ *   ippSetState()          - Set the current state of the IPP message.
+ *   ippSetStatusCode()     - Set the status code in an IPP response or event
+ *                           message.
+ *   ippSetString()        - Set a string value in an attribute.
+ *   ippSetValueTag()      - Set the value tag of an attribute.
+ *   ippSetVersion()       - Set the version number in an IPP message.
+ *   ippTimeToDate()       - Convert from UNIX time to RFC 1903 format.
+ *   ippWrite()            - Write data for an IPP message to a HTTP
+ *                           connection.
+ *   ippWriteFile()        - Write data for an IPP message to a file.
+ *   ippWriteIO()          - Write data for an IPP message.
+ *   ipp_add_attr()        - Add a new attribute to the message.
+ *   ipp_free_values()     - Free attribute values.
+ *   ipp_get_code()        - Convert a C locale/charset name into an IPP
+ *                           language/charset code.
+ *   ipp_lang_code()       - Convert a C locale name into an IPP language
+ *                           code.
+ *   ipp_length()          - Compute the length of an IPP message or
+ *                           collection value.
+ *   ipp_read_http()       - Semi-blocking read on a HTTP connection...
+ *   ipp_read_file()       - Read IPP data from a file.
+ *   ipp_set_value()       - Get the value element from an attribute,
+ *                           expanding it as needed.
+ *   ipp_write_file()      - Write IPP data to a file.
  */
 
 /*
  * Local functions...
  */
 
-static unsigned char   *ipp_buffer_get(void);
-static void            ipp_buffer_release(unsigned char *b);
+static ipp_attribute_t *ipp_add_attr(ipp_t *ipp, const char *name,
+                                     ipp_tag_t  group_tag, ipp_tag_t value_tag,
+                                     int num_values);
+static void            ipp_free_values(ipp_attribute_t *attr, int element,
+                                       int count);
+static char            *ipp_get_code(const char *locale, char *buffer,
+                                     size_t bufsize)
+                                     __attribute__((nonnull(1,2)));
+static char            *ipp_lang_code(const char *locale, char *buffer,
+                                      size_t bufsize)
+                                      __attribute__((nonnull(1,2)));
 static size_t          ipp_length(ipp_t *ipp, int collection);
 static ssize_t         ipp_read_http(http_t *http, ipp_uchar_t *buffer,
                                      size_t length);
 static ssize_t         ipp_read_file(int *fd, ipp_uchar_t *buffer,
                                      size_t length);
+static _ipp_value_t    *ipp_set_value(ipp_t *ipp, ipp_attribute_t **attr,
+                                      int element);
 static ssize_t         ipp_write_file(int *fd, ipp_uchar_t *buffer,
                                       size_t length);
 
 
 /*
+ * '_cupsBufferGet()' - Get a read/write buffer.
+ */
+
+char *                                 /* O - Buffer */
+_cupsBufferGet(size_t size)            /* I - Size required */
+{
+  _cups_buffer_t       *buffer;        /* Current buffer */
+  _cups_globals_t      *cg = _cupsGlobals();
+                                       /* Global data */
+
+
+  for (buffer = cg->cups_buffers; buffer; buffer = buffer->next)
+    if (!buffer->used && buffer->size >= size)
+      break;
+
+  if (!buffer)
+  {
+    if ((buffer = malloc(sizeof(_cups_buffer_t) + size - 1)) == NULL)
+      return (NULL);
+
+    buffer->next     = cg->cups_buffers;
+    buffer->size     = size;
+    cg->cups_buffers = buffer;
+  }
+
+  buffer->used = 1;
+
+  return (buffer->d);
+}
+
+
+/*
+ * '_cupsBufferRelease()' - Release a read/write buffer.
+ */
+
+void
+_cupsBufferRelease(char *b)            /* I - Buffer to release */
+{
+  _cups_buffer_t       *buffer;        /* Buffer */
+
+
+ /*
+  * Mark this buffer as unused...
+  */
+
+  buffer       = (_cups_buffer_t *)(b - offsetof(_cups_buffer_t, d));
+  buffer->used = 0;
+}
+
+
+/*
  * 'ippAddBoolean()' - Add a boolean attribute to an IPP message.
+ *
+ * The @code ipp@ parameter refers to an IPP message previously created using the
+ * @link ippNew@ or @link ippNewRequest@ functions.
+ *
+ * The @code group@ parameter specifies the IPP attribute group tag: none
+ * (@code IPP_TAG_ZERO@, for member attributes), document (@code IPP_TAG_DOCUMENT@),
+ * event notification (@code IPP_TAG_EVENT_NOTIFICATION@), operation
+ * (@code IPP_TAG_OPERATION@), printer (@code IPP_TAG_PRINTER@), subscription
+ * (@code IPP_TAG_SUBSCRIPTION@), or unsupported (@code IPP_TAG_UNSUPPORTED_GROUP@).
  */
 
 ipp_attribute_t *                      /* O - New attribute */
@@ -97,15 +218,21 @@ ippAddBoolean(ipp_t      *ipp,             /* I - IPP message */
   DEBUG_printf(("ippAddBoolean(ipp=%p, group=%02x(%s), name=\"%s\", value=%d)",
                 ipp, group, ippTagString(group), name, value));
 
-  if (!ipp || !name)
+ /*
+  * Range check input...
+  */
+
+  if (!ipp || !name || group < IPP_TAG_ZERO ||
+      group == IPP_TAG_END || group >= IPP_TAG_UNSUPPORTED_VALUE)
     return (NULL);
 
-  if ((attr = _ippAddAttr(ipp, 1)) == NULL)
+ /*
+  * Create the attribute...
+  */
+
+  if ((attr = ipp_add_attr(ipp, name, group, IPP_TAG_BOOLEAN, 1)) == NULL)
     return (NULL);
 
-  attr->name              = _cupsStrAlloc(name);
-  attr->group_tag         = group;
-  attr->value_tag         = IPP_TAG_BOOLEAN;
   attr->values[0].boolean = value;
 
   return (attr);
@@ -114,6 +241,15 @@ ippAddBoolean(ipp_t      *ipp,             /* I - IPP message */
 
 /*
  * 'ippAddBooleans()' - Add an array of boolean values.
+ *
+ * The @code ipp@ parameter refers to an IPP message previously created using the
+ * @link ippNew@ or @link ippNewRequest@ functions.
+ *
+ * The @code group@ parameter specifies the IPP attribute group tag: none
+ * (@code IPP_TAG_ZERO@, for member attributes), document (@code IPP_TAG_DOCUMENT@),
+ * event notification (@code IPP_TAG_EVENT_NOTIFICATION@), operation
+ * (@code IPP_TAG_OPERATION@), printer (@code IPP_TAG_PRINTER@), subscription
+ * (@code IPP_TAG_SUBSCRIPTION@), or unsupported (@code IPP_TAG_UNSUPPORTED_GROUP@).
  */
 
 ipp_attribute_t *                      /* O - New attribute */
@@ -125,28 +261,36 @@ ippAddBooleans(ipp_t      *ipp,           /* I - IPP message */
 {
   int                  i;              /* Looping var */
   ipp_attribute_t      *attr;          /* New attribute */
-  ipp_value_t          *value;         /* Current value */
+  _ipp_value_t         *value;         /* Current value */
 
 
   DEBUG_printf(("ippAddBooleans(ipp=%p, group=%02x(%s), name=\"%s\", "
                 "num_values=%d, values=%p)", ipp, group, ippTagString(group),
                 name, num_values, values));
 
-  if (!ipp || !name || num_values < 1)
-    return (NULL);
+ /*
+  * Range check input...
+  */
 
-  if ((attr = _ippAddAttr(ipp, num_values)) == NULL)
+  if (!ipp || !name || group < IPP_TAG_ZERO ||
+      group == IPP_TAG_END || group >= IPP_TAG_UNSUPPORTED_VALUE ||
+      num_values < 1)
     return (NULL);
 
-  attr->name      = _cupsStrAlloc(name);
-  attr->group_tag = group;
-  attr->value_tag = IPP_TAG_BOOLEAN;
+ /*
+  * Create the attribute...
+  */
+
+  if ((attr = ipp_add_attr(ipp, name, group, IPP_TAG_BOOLEAN, num_values)) == NULL)
+    return (NULL);
 
-  if (values != NULL)
-    for (i = 0, value = attr->values;
-        i < num_values;
-        i ++, value ++)
-      value->boolean = values[i];
+  if (values)
+  {
+    for (i = num_values, value = attr->values;
+        i > 0;
+        i --, value ++)
+      value->boolean = *values++;
+  }
 
   return (attr);
 }
@@ -155,7 +299,16 @@ ippAddBooleans(ipp_t      *ipp,            /* I - IPP message */
 /*
  * 'ippAddCollection()' - Add a collection value.
  *
- * @since CUPS 1.1.19/Mac OS X 10.3@
+ * The @code ipp@ parameter refers to an IPP message previously created using the
+ * @link ippNew@ or @link ippNewRequest@ functions.
+ *
+ * The @code group@ parameter specifies the IPP attribute group tag: none
+ * (@code IPP_TAG_ZERO@, for member attributes), document (@code IPP_TAG_DOCUMENT@),
+ * event notification (@code IPP_TAG_EVENT_NOTIFICATION@), operation
+ * (@code IPP_TAG_OPERATION@), printer (@code IPP_TAG_PRINTER@), subscription
+ * (@code IPP_TAG_SUBSCRIPTION@), or unsupported (@code IPP_TAG_UNSUPPORTED_GROUP@).
+ *
+ * @since CUPS 1.1.19/OS X 10.3@
  */
 
 ipp_attribute_t *                      /* O - New attribute */
@@ -170,18 +323,25 @@ ippAddCollection(ipp_t      *ipp, /* I - IPP message */
   DEBUG_printf(("ippAddCollection(ipp=%p, group=%02x(%s), name=\"%s\", "
                 "value=%p)", ipp, group, ippTagString(group), name, value));
 
-  if (!ipp || !name)
+ /*
+  * Range check input...
+  */
+
+  if (!ipp || !name || group < IPP_TAG_ZERO ||
+      group == IPP_TAG_END || group >= IPP_TAG_UNSUPPORTED_VALUE)
     return (NULL);
 
-  if ((attr = _ippAddAttr(ipp, 1)) == NULL)
+ /*
+  * Create the attribute...
+  */
+
+  if ((attr = ipp_add_attr(ipp, name, group, IPP_TAG_BEGIN_COLLECTION, 1)) == NULL)
     return (NULL);
 
-  attr->name                 = _cupsStrAlloc(name);
-  attr->group_tag            = group;
-  attr->value_tag            = IPP_TAG_BEGIN_COLLECTION;
   attr->values[0].collection = value;
 
-  value->use ++;
+  if (value)
+    value->use ++;
 
   return (attr);
 }
@@ -190,7 +350,16 @@ ippAddCollection(ipp_t      *ipp,  /* I - IPP message */
 /*
  * 'ippAddCollections()' - Add an array of collection values.
  *
- * @since CUPS 1.1.19/Mac OS X 10.3@
+ * The @code ipp@ parameter refers to an IPP message previously created using the
+ * @link ippNew@ or @link ippNewRequest@ functions.
+ *
+ * The @code group@ parameter specifies the IPP attribute group tag: none
+ * (@code IPP_TAG_ZERO@, for member attributes), document (@code IPP_TAG_DOCUMENT@),
+ * event notification (@code IPP_TAG_EVENT_NOTIFICATION@), operation
+ * (@code IPP_TAG_OPERATION@), printer (@code IPP_TAG_PRINTER@), subscription
+ * (@code IPP_TAG_SUBSCRIPTION@), or unsupported (@code IPP_TAG_UNSUPPORTED_GROUP@).
+ *
+ * @since CUPS 1.1.19/OS X 10.3@
  */
 
 ipp_attribute_t *                      /* O - New attribute */
@@ -203,30 +372,37 @@ ippAddCollections(
 {
   int                  i;              /* Looping var */
   ipp_attribute_t      *attr;          /* New attribute */
-  ipp_value_t          *value;         /* Current value */
+  _ipp_value_t         *value;         /* Current value */
 
 
   DEBUG_printf(("ippAddCollections(ipp=%p, group=%02x(%s), name=\"%s\", "
                 "num_values=%d, values=%p)", ipp, group, ippTagString(group),
                 name, num_values, values));
 
-  if (!ipp || !name || num_values < 1)
-    return (NULL);
+ /*
+  * Range check input...
+  */
 
-  if ((attr = _ippAddAttr(ipp, num_values)) == NULL)
+  if (!ipp || !name || group < IPP_TAG_ZERO ||
+      group == IPP_TAG_END || group >= IPP_TAG_UNSUPPORTED_VALUE ||
+      num_values < 1)
     return (NULL);
 
-  attr->name      = _cupsStrAlloc(name);
-  attr->group_tag = group;
-  attr->value_tag = IPP_TAG_BEGIN_COLLECTION;
+ /*
+  * Create the attribute...
+  */
+
+  if ((attr = ipp_add_attr(ipp, name, group, IPP_TAG_BEGIN_COLLECTION,
+                           num_values)) == NULL)
+    return (NULL);
 
-  if (values != NULL)
+  if (values)
   {
-    for (i = 0, value = attr->values;
-        i < num_values;
-        i ++, value ++)
+    for (i = num_values, value = attr->values;
+        i > 0;
+        i --, value ++)
     {
-      value->collection = (ipp_t *)values[i];
+      value->collection = (ipp_t *)*values++;
       value->collection->use ++;
     }
   }
@@ -237,6 +413,15 @@ ippAddCollections(
 
 /*
  * 'ippAddDate()' - Add a date attribute to an IPP message.
+ *
+ * The @code ipp@ parameter refers to an IPP message previously created using the
+ * @link ippNew@ or @link ippNewRequest@ functions.
+ *
+ * The @code group@ parameter specifies the IPP attribute group tag: none
+ * (@code IPP_TAG_ZERO@, for member attributes), document (@code IPP_TAG_DOCUMENT@),
+ * event notification (@code IPP_TAG_EVENT_NOTIFICATION@), operation
+ * (@code IPP_TAG_OPERATION@), printer (@code IPP_TAG_PRINTER@), subscription
+ * (@code IPP_TAG_SUBSCRIPTION@), or unsupported (@code IPP_TAG_UNSUPPORTED_GROUP@).
  */
 
 ipp_attribute_t *                      /* O - New attribute */
@@ -251,15 +436,21 @@ ippAddDate(ipp_t             *ipp,        /* I - IPP message */
   DEBUG_printf(("ippAddDate(ipp=%p, group=%02x(%s), name=\"%s\", value=%p)",
                 ipp, group, ippTagString(group), name, value));
 
-  if (!ipp || !name || !value)
+ /*
+  * Range check input...
+  */
+
+  if (!ipp || !name || !value || group < IPP_TAG_ZERO ||
+      group == IPP_TAG_END || group >= IPP_TAG_UNSUPPORTED_VALUE)
     return (NULL);
 
-  if ((attr = _ippAddAttr(ipp, 1)) == NULL)
+ /*
+  * Create the attribute...
+  */
+
+  if ((attr = ipp_add_attr(ipp, name, group, IPP_TAG_DATE, 1)) == NULL)
     return (NULL);
 
-  attr->name      = _cupsStrAlloc(name);
-  attr->group_tag = group;
-  attr->value_tag = IPP_TAG_DATE;
   memcpy(attr->values[0].date, value, 11);
 
   return (attr);
@@ -268,12 +459,24 @@ ippAddDate(ipp_t             *ipp,        /* I - IPP message */
 
 /*
  * 'ippAddInteger()' - Add a integer attribute to an IPP message.
+ *
+ * The @code ipp@ parameter refers to an IPP message previously created using the
+ * @link ippNew@ or @link ippNewRequest@ functions.
+ *
+ * The @code group@ parameter specifies the IPP attribute group tag: none
+ * (@code IPP_TAG_ZERO@, for member attributes), document (@code IPP_TAG_DOCUMENT@),
+ * event notification (@code IPP_TAG_EVENT_NOTIFICATION@), operation
+ * (@code IPP_TAG_OPERATION@), printer (@code IPP_TAG_PRINTER@), subscription
+ * (@code IPP_TAG_SUBSCRIPTION@), or unsupported (@code IPP_TAG_UNSUPPORTED_GROUP@).
+ *
+ * Supported values include enum (@code IPP_TAG_ENUM@) and integer
+ * (@code IPP_TAG_INTEGER@).
  */
 
 ipp_attribute_t *                      /* O - New attribute */
 ippAddInteger(ipp_t      *ipp,         /* I - IPP message */
               ipp_tag_t  group,                /* I - IPP group */
-             ipp_tag_t  type,          /* I - Type of attribute */
+             ipp_tag_t  value_tag,     /* I - Type of attribute */
               const char *name,                /* I - Name of attribute */
               int        value)                /* I - Value of attribute */
 {
@@ -282,17 +485,40 @@ ippAddInteger(ipp_t      *ipp,            /* I - IPP message */
 
   DEBUG_printf(("ippAddInteger(ipp=%p, group=%02x(%s), type=%02x(%s), "
                 "name=\"%s\", value=%d)", ipp, group, ippTagString(group),
-               type, ippTagString(type), name, value));
+               value_tag, ippTagString(value_tag), name, value));
 
-  if (!ipp || !name)
+  value_tag &= IPP_TAG_MASK;
+
+ /*
+  * Special-case for legacy usage: map out-of-band attributes to new ippAddOutOfBand
+  * function...
+  */
+
+  if (value_tag >= IPP_TAG_UNSUPPORTED_VALUE && value_tag <= IPP_TAG_ADMINDEFINE)
+    return (ippAddOutOfBand(ipp, group, value_tag, name));
+
+ /*
+  * Range check input...
+  */
+
+#if 0
+  if (!ipp || !name || group < IPP_TAG_ZERO ||
+      group == IPP_TAG_END || group >= IPP_TAG_UNSUPPORTED_VALUE ||
+      (value_tag != IPP_TAG_INTEGER && value_tag != IPP_TAG_ENUM))
+    return (NULL);
+#else
+  if (!ipp || !name || group < IPP_TAG_ZERO ||
+      group == IPP_TAG_END || group >= IPP_TAG_UNSUPPORTED_VALUE)
     return (NULL);
+#endif /* 0 */
+
+ /*
+  * Create the attribute...
+  */
 
-  if ((attr = _ippAddAttr(ipp, 1)) == NULL)
+  if ((attr = ipp_add_attr(ipp, name, group, value_tag, 1)) == NULL)
     return (NULL);
 
-  attr->name              = _cupsStrAlloc(name);
-  attr->group_tag         = group;
-  attr->value_tag         = type;
   attr->values[0].integer = value;
 
   return (attr);
@@ -301,41 +527,71 @@ ippAddInteger(ipp_t      *ipp,            /* I - IPP message */
 
 /*
  * 'ippAddIntegers()' - Add an array of integer values.
+ *
+ * The @code ipp@ parameter refers to an IPP message previously created using the
+ * @link ippNew@ or @link ippNewRequest@ functions.
+ *
+ * The @code group@ parameter specifies the IPP attribute group tag: none
+ * (@code IPP_TAG_ZERO@, for member attributes), document (@code IPP_TAG_DOCUMENT@),
+ * event notification (@code IPP_TAG_EVENT_NOTIFICATION@), operation
+ * (@code IPP_TAG_OPERATION@), printer (@code IPP_TAG_PRINTER@), subscription
+ * (@code IPP_TAG_SUBSCRIPTION@), or unsupported (@code IPP_TAG_UNSUPPORTED_GROUP@).
+ *
+ * Supported values include enum (@code IPP_TAG_ENUM@) and integer
+ * (@code IPP_TAG_INTEGER@).
  */
 
 ipp_attribute_t *                      /* O - New attribute */
 ippAddIntegers(ipp_t      *ipp,                /* I - IPP message */
                ipp_tag_t  group,       /* I - IPP group */
-              ipp_tag_t  type,         /* I - Type of attribute */
+              ipp_tag_t  value_tag,    /* I - Type of attribute */
               const char *name,        /* I - Name of attribute */
               int        num_values,   /* I - Number of values */
               const int  *values)      /* I - Values */
 {
   int                  i;              /* Looping var */
   ipp_attribute_t      *attr;          /* New attribute */
-  ipp_value_t          *value;         /* Current value */
+  _ipp_value_t         *value;         /* Current value */
 
 
   DEBUG_printf(("ippAddIntegers(ipp=%p, group=%02x(%s), type=%02x(%s), "
                 "name=\"%s\", num_values=%d, values=%p)", ipp,
-               group, ippTagString(group), type, ippTagString(type), name,
+               group, ippTagString(group), value_tag, ippTagString(value_tag), name,
                num_values, values));
 
-  if (!ipp || !name || num_values < 1)
-    return (NULL);
+  value_tag &= IPP_TAG_MASK;
 
-  if ((attr = _ippAddAttr(ipp, num_values)) == NULL)
+ /*
+  * Range check input...
+  */
+
+#if 0
+  if (!ipp || !name || group < IPP_TAG_ZERO ||
+      group == IPP_TAG_END || group >= IPP_TAG_UNSUPPORTED_VALUE ||
+      (value_tag != IPP_TAG_INTEGER && value_tag != IPP_TAG_ENUM) ||
+      num_values < 1)
+    return (NULL);
+#else
+  if (!ipp || !name || group < IPP_TAG_ZERO ||
+      group == IPP_TAG_END || group >= IPP_TAG_UNSUPPORTED_VALUE ||
+      num_values < 1)
     return (NULL);
+#endif /* 0 */
+
+ /*
+  * Create the attribute...
+  */
 
-  attr->name      = _cupsStrAlloc(name);
-  attr->group_tag = group;
-  attr->value_tag = type;
+  if ((attr = ipp_add_attr(ipp, name, group, value_tag, num_values)) == NULL)
+    return (NULL);
 
-  if (values != NULL)
-    for (i = 0, value = attr->values;
-        i < num_values;
-        i ++, value ++)
-      value->integer = values[i];
+  if (values)
+  {
+    for (i = num_values, value = attr->values;
+        i > 0;
+        i --, value ++)
+      value->integer = *values++;
+  }
 
   return (attr);
 }
@@ -344,7 +600,16 @@ ippAddIntegers(ipp_t      *ipp,            /* I - IPP message */
 /*
  * 'ippAddOctetString()' - Add an octetString value to an IPP message.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * The @code ipp@ parameter refers to an IPP message previously created using the
+ * @link ippNew@ or @link ippNewRequest@ functions.
+ *
+ * The @code group@ parameter specifies the IPP attribute group tag: none
+ * (@code IPP_TAG_ZERO@, for member attributes), document (@code IPP_TAG_DOCUMENT@),
+ * event notification (@code IPP_TAG_EVENT_NOTIFICATION@), operation
+ * (@code IPP_TAG_OPERATION@), printer (@code IPP_TAG_PRINTER@), subscription
+ * (@code IPP_TAG_SUBSCRIPTION@), or unsupported (@code IPP_TAG_UNSUPPORTED_GROUP@).
+ *
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 ipp_attribute_t        *                       /* O - New attribute */
@@ -357,19 +622,17 @@ ippAddOctetString(ipp_t      *ipp,        /* I - IPP message */
   ipp_attribute_t      *attr;          /* New attribute */
 
 
-  if (ipp == NULL || name == NULL)
+  if (!ipp || !name || group < IPP_TAG_ZERO ||
+      group == IPP_TAG_END || group >= IPP_TAG_UNSUPPORTED_VALUE)
     return (NULL);
 
-  if ((attr = _ippAddAttr(ipp, 1)) == NULL)
+  if ((attr = ipp_add_attr(ipp, name, group, IPP_TAG_STRING, 1)) == NULL)
     return (NULL);
 
  /*
   * Initialize the attribute data...
   */
 
-  attr->name                     = _cupsStrAlloc(name);
-  attr->group_tag                = group;
-  attr->value_tag                = IPP_TAG_STRING;
   attr->values[0].unknown.length = datalen;
 
   if (data)
@@ -392,164 +655,74 @@ ippAddOctetString(ipp_t      *ipp,       /* I - IPP message */
 
 
 /*
- * 'ippAddString()' - Add a language-encoded string to an IPP message.
+ * 'ippAddOutOfBand()' - Add an out-of-band value to an IPP message.
+ *
+ * The @code ipp@ parameter refers to an IPP message previously created using the
+ * @link ippNew@ or @link ippNewRequest@ functions.
+ *
+ * The @code group@ parameter specifies the IPP attribute group tag: none
+ * (@code IPP_TAG_ZERO@, for member attributes), document (@code IPP_TAG_DOCUMENT@),
+ * event notification (@code IPP_TAG_EVENT_NOTIFICATION@), operation
+ * (@code IPP_TAG_OPERATION@), printer (@code IPP_TAG_PRINTER@), subscription
+ * (@code IPP_TAG_SUBSCRIPTION@), or unsupported (@code IPP_TAG_UNSUPPORTED_GROUP@).
+ *
+ * Supported out-of-band values include unsupported-value
+ * (@code IPP_TAG_UNSUPPORTED_VALUE@), default (@code IPP_TAG_DEFAULT@), unknown
+ * (@code IPP_TAG_UNKNOWN@), no-value (@code IPP_TAG_NOVALUE@), not-settable
+ * (@code IPP_TAG_NOTSETTABLE@), delete-attribute (@code IPP_TAG_DELETEATTR@), and
+ * admin-define (@code IPP_TAG_ADMINDEFINE@).
+ *
+ * @since CUPS 1.6/OS X 10.8@
  */
 
-ipp_attribute_t *                      /* O - New attribute */
-ippAddString(ipp_t      *ipp,          /* I - IPP message */
-             ipp_tag_t  group,         /* I - IPP group */
-            ipp_tag_t  type,           /* I - Type of attribute */
-             const char *name,         /* I - Name of attribute */
-             const char *charset,      /* I - Character set */
-             const char *value)                /* I - Value */
+ipp_attribute_t        *                       /* O - New attribute */
+ippAddOutOfBand(ipp_t      *ipp,       /* I - IPP message */
+                ipp_tag_t  group,      /* I - IPP group */
+                ipp_tag_t  value_tag,  /* I - Type of attribute */
+               const char *name)       /* I - Name of attribute */
 {
-  ipp_attribute_t      *attr;          /* New attribute */
-  char                 buffer[1024],   /* Language/charset value buffer */
-                       *bufptr;        /* Pointer into buffer */
-
-
-  DEBUG_printf(("ippAddString(ipp=%p, group=%02x(%s), type=%02x(%s), "
-                "name=\"%s\", charset=\"%s\", value=\"%s\")", ipp,
-               group, ippTagString(group), type, ippTagString(type), name,
-               charset, value));
+  DEBUG_printf(("ippAddOutOfBand(ipp=%p, group=%02x(%s), value_tag=%02x(%s), "
+                "name=\"%s\")", ipp, group, ippTagString(group), value_tag,
+                ippTagString(value_tag), name));
 
-  if (!ipp || !name)
-    return (NULL);
-
-  if ((attr = _ippAddAttr(ipp, 1)) == NULL)
-    return (NULL);
-
- /*
-  * Force value to be English for the POSIX locale...
-  */
-
-  if (type == IPP_TAG_LANGUAGE && !_cups_strcasecmp(value, "C"))
-    value = "en";
-
- /*
-  * Convert language and charset values to lowercase and change _ to - as
-  * needed...
-  */
-
-  if ((type == IPP_TAG_LANGUAGE || type == IPP_TAG_CHARSET) && value)
-  {
-    strlcpy(buffer, value, sizeof(buffer));
-    value = buffer;
-
-    for (bufptr = buffer; *bufptr; bufptr ++)
-      if (*bufptr == '_')
-        *bufptr = '-';
-      else
-        *bufptr = tolower(*bufptr & 255);
-  }
+  value_tag &= IPP_TAG_MASK;
 
  /*
-  * Initialize the attribute data...
+  * Range check input...
   */
 
-  attr->name                     = _cupsStrAlloc(name);
-  attr->group_tag                = group;
-  attr->value_tag                = type;
-  attr->values[0].string.charset = ((int)type & IPP_TAG_COPY) ? (char *)charset :
-                                   charset ? _cupsStrAlloc(charset) : NULL;
-  attr->values[0].string.text    = ((int)type & IPP_TAG_COPY) ? (char *)value :
-                                   value ? _cupsStrAlloc(value) : NULL;
-
-  return (attr);
-}
-
-
-/*
- * 'ippAddStrings()' - Add language-encoded strings to an IPP message.
- */
-
-ipp_attribute_t *                      /* O - New attribute */
-ippAddStrings(
-    ipp_t              *ipp,           /* I - IPP message */
-    ipp_tag_t          group,          /* I - IPP group */
-    ipp_tag_t          type,           /* I - Type of attribute */
-    const char         *name,          /* I - Name of attribute */
-    int                num_values,     /* I - Number of values */
-    const char         *charset,       /* I - Character set */
-    const char * const *values)                /* I - Values */
-{
-  int                  i;              /* Looping var */
-  ipp_attribute_t      *attr;          /* New attribute */
-  ipp_value_t          *value;         /* Current value */
-  char                 buffer[1024],   /* Language/charset value buffer */
-                       *bufptr;        /* Pointer into buffer */
-
-
-  DEBUG_printf(("ippAddStrings(ipp=%p, group=%02x(%s), type=%02x(%s), "
-                "name=\"%s\", num_values=%d, charset=\"%s\", values=%p)", ipp,
-               group, ippTagString(group), type, ippTagString(type), name,
-               num_values, charset, values));
-
-  if (!ipp || !name || num_values < 1)
-    return (NULL);
-
-  if ((attr = _ippAddAttr(ipp, num_values)) == NULL)
+  if (!ipp || !name || group < IPP_TAG_ZERO ||
+      group == IPP_TAG_END || group >= IPP_TAG_UNSUPPORTED_VALUE ||
+      (value_tag != IPP_TAG_UNSUPPORTED_VALUE &&
+       value_tag != IPP_TAG_DEFAULT &&
+       value_tag != IPP_TAG_UNKNOWN &&
+       value_tag != IPP_TAG_NOVALUE &&
+       value_tag != IPP_TAG_NOTSETTABLE &&
+       value_tag != IPP_TAG_DELETEATTR &&
+       value_tag != IPP_TAG_ADMINDEFINE))
     return (NULL);
 
  /*
-  * Initialize the attribute data...
+  * Create the attribute...
   */
 
-  attr->name      = _cupsStrAlloc(name);
-  attr->group_tag = group;
-  attr->value_tag = type;
-
-  for (i = 0, value = attr->values;
-       i < num_values;
-       i ++, value ++)
-  {
-    if (i == 0)
-      value->string.charset = ((int)type & IPP_TAG_COPY) ? (char *)charset :
-                                   charset ? _cupsStrAlloc(charset) : NULL;
-    else
-      value->string.charset = attr->values[0].string.charset;
-
-    if (values != NULL)
-    {
-      if ((int)type & IPP_TAG_COPY)
-        value->string.text = (char *)values[i];
-      else if (type == IPP_TAG_LANGUAGE && !_cups_strcasecmp(values[i], "C"))
-      {
-       /*
-       * Force language to be English for the POSIX locale...
-       */
-
-       value->string.text = ((int)type & IPP_TAG_COPY) ? "en" :
-                                      _cupsStrAlloc("en");
-      }
-      else if (type == IPP_TAG_LANGUAGE || type == IPP_TAG_CHARSET)
-      {
-       /*
-       * Convert language values to lowercase and change _ to - as needed...
-       */
-
-       strlcpy(buffer, values[i], sizeof(buffer));
-
-       for (bufptr = buffer; *bufptr; bufptr ++)
-         if (*bufptr == '_')
-           *bufptr = '-';
-         else
-           *bufptr = tolower(*bufptr & 255);
-
-       value->string.text = _cupsStrAlloc(buffer);
-      }
-      else
-       value->string.text = _cupsStrAlloc(values[i]);
-
-    }
-  }
-
-  return (attr);
+  return (ipp_add_attr(ipp, name, group, value_tag, 1));
 }
 
 
 /*
  * 'ippAddRange()' - Add a range of values to an IPP message.
+ *
+ * The @code ipp@ parameter refers to an IPP message previously created using the
+ * @link ippNew@ or @link ippNewRequest@ functions.
+ *
+ * The @code group@ parameter specifies the IPP attribute group tag: none
+ * (@code IPP_TAG_ZERO@, for member attributes), document (@code IPP_TAG_DOCUMENT@),
+ * event notification (@code IPP_TAG_EVENT_NOTIFICATION@), operation
+ * (@code IPP_TAG_OPERATION@), printer (@code IPP_TAG_PRINTER@), subscription
+ * (@code IPP_TAG_SUBSCRIPTION@), or unsupported (@code IPP_TAG_UNSUPPORTED_GROUP@).
+ *
+ * The @code lower@ parameter must be less than or equal to the @code upper@ parameter.
  */
 
 ipp_attribute_t *                      /* O - New attribute */
@@ -566,15 +739,21 @@ ippAddRange(ipp_t      *ipp,              /* I - IPP message */
                 "upper=%d)", ipp, group, ippTagString(group), name, lower,
                upper));
 
-  if (!ipp || !name)
+ /*
+  * Range check input...
+  */
+
+  if (!ipp || !name || group < IPP_TAG_ZERO ||
+      group == IPP_TAG_END || group >= IPP_TAG_UNSUPPORTED_VALUE)
     return (NULL);
 
-  if ((attr = _ippAddAttr(ipp, 1)) == NULL)
+ /*
+  * Create the attribute...
+  */
+
+  if ((attr = ipp_add_attr(ipp, name, group, IPP_TAG_RANGE, 1)) == NULL)
     return (NULL);
 
-  attr->name                  = _cupsStrAlloc(name);
-  attr->group_tag             = group;
-  attr->value_tag             = IPP_TAG_RANGE;
   attr->values[0].range.lower = lower;
   attr->values[0].range.upper = upper;
 
@@ -584,6 +763,15 @@ ippAddRange(ipp_t      *ipp,               /* I - IPP message */
 
 /*
  * 'ippAddRanges()' - Add ranges of values to an IPP message.
+ *
+ * The @code ipp@ parameter refers to an IPP message previously created using the
+ * @link ippNew@ or @link ippNewRequest@ functions.
+ *
+ * The @code group@ parameter specifies the IPP attribute group tag: none
+ * (@code IPP_TAG_ZERO@, for member attributes), document (@code IPP_TAG_DOCUMENT@),
+ * event notification (@code IPP_TAG_EVENT_NOTIFICATION@), operation
+ * (@code IPP_TAG_OPERATION@), printer (@code IPP_TAG_PRINTER@), subscription
+ * (@code IPP_TAG_SUBSCRIPTION@), or unsupported (@code IPP_TAG_UNSUPPORTED_GROUP@).
  */
 
 ipp_attribute_t *                      /* O - New attribute */
@@ -596,31 +784,39 @@ ippAddRanges(ipp_t      *ipp,             /* I - IPP message */
 {
   int                  i;              /* Looping var */
   ipp_attribute_t      *attr;          /* New attribute */
-  ipp_value_t          *value;         /* Current value */
+  _ipp_value_t         *value;         /* Current value */
 
 
   DEBUG_printf(("ippAddRanges(ipp=%p, group=%02x(%s), name=\"%s\", "
                 "num_values=%d, lower=%p, upper=%p)", ipp, group,
                ippTagString(group), name, num_values, lower, upper));
 
-  if (!ipp || !name || num_values < 1)
-    return (NULL);
+ /*
+  * Range check input...
+  */
 
-  if ((attr = _ippAddAttr(ipp, num_values)) == NULL)
+  if (!ipp || !name || group < IPP_TAG_ZERO ||
+      group == IPP_TAG_END || group >= IPP_TAG_UNSUPPORTED_VALUE ||
+      num_values < 1)
     return (NULL);
 
-  attr->name      = _cupsStrAlloc(name);
-  attr->group_tag = group;
-  attr->value_tag = IPP_TAG_RANGE;
+ /*
+  * Create the attribute...
+  */
+
+  if ((attr = ipp_add_attr(ipp, name, group, IPP_TAG_RANGE, num_values)) == NULL)
+    return (NULL);
 
-  if (lower != NULL && upper != NULL)
-    for (i = 0, value = attr->values;
-        i < num_values;
-        i ++, value ++)
+  if (lower && upper)
+  {
+    for (i = num_values, value = attr->values;
+        i > 0;
+        i --, value ++)
     {
-      value->range.lower = lower[i];
-      value->range.upper = upper[i];
+      value->range.lower = *lower++;
+      value->range.upper = *upper++;
     }
+  }
 
   return (attr);
 }
@@ -628,6 +824,15 @@ ippAddRanges(ipp_t      *ipp,              /* I - IPP message */
 
 /*
  * 'ippAddResolution()' - Add a resolution value to an IPP message.
+ *
+ * The @code ipp@ parameter refers to an IPP message previously created using the
+ * @link ippNew@ or @link ippNewRequest@ functions.
+ *
+ * The @code group@ parameter specifies the IPP attribute group tag: none
+ * (@code IPP_TAG_ZERO@, for member attributes), document (@code IPP_TAG_DOCUMENT@),
+ * event notification (@code IPP_TAG_EVENT_NOTIFICATION@), operation
+ * (@code IPP_TAG_OPERATION@), printer (@code IPP_TAG_PRINTER@), subscription
+ * (@code IPP_TAG_SUBSCRIPTION@), or unsupported (@code IPP_TAG_UNSUPPORTED_GROUP@).
  */
 
 ipp_attribute_t *                      /* O - New attribute */
@@ -645,15 +850,23 @@ ippAddResolution(ipp_t      *ipp, /* I - IPP message */
                 "units=%d, xres=%d, yres=%d)", ipp, group,
                ippTagString(group), name, units, xres, yres));
 
-  if (!ipp || !name)
+ /*
+  * Range check input...
+  */
+
+  if (!ipp || !name || group < IPP_TAG_ZERO ||
+      group == IPP_TAG_END || group >= IPP_TAG_UNSUPPORTED_VALUE ||
+      units < IPP_RES_PER_INCH || units > IPP_RES_PER_CM ||
+      xres < 0 || yres < 0)
     return (NULL);
 
-  if ((attr = _ippAddAttr(ipp, 1)) == NULL)
+ /*
+  * Create the attribute...
+  */
+
+  if ((attr = ipp_add_attr(ipp, name, group, IPP_TAG_RESOLUTION, 1)) == NULL)
     return (NULL);
 
-  attr->name                       = _cupsStrAlloc(name);
-  attr->group_tag                  = group;
-  attr->value_tag                  = IPP_TAG_RESOLUTION;
   attr->values[0].resolution.xres  = xres;
   attr->values[0].resolution.yres  = yres;
   attr->values[0].resolution.units = units;
@@ -664,6 +877,15 @@ ippAddResolution(ipp_t      *ipp,  /* I - IPP message */
 
 /*
  * 'ippAddResolutions()' - Add resolution values to an IPP message.
+ *
+ * The @code ipp@ parameter refers to an IPP message previously created using the
+ * @link ippNew@ or @link ippNewRequest@ functions.
+ *
+ * The @code group@ parameter specifies the IPP attribute group tag: none
+ * (@code IPP_TAG_ZERO@, for member attributes), document (@code IPP_TAG_DOCUMENT@),
+ * event notification (@code IPP_TAG_EVENT_NOTIFICATION@), operation
+ * (@code IPP_TAG_OPERATION@), printer (@code IPP_TAG_PRINTER@), subscription
+ * (@code IPP_TAG_SUBSCRIPTION@), or unsupported (@code IPP_TAG_UNSUPPORTED_GROUP@).
  */
 
 ipp_attribute_t *                      /* O - New attribute */
@@ -677,32 +899,41 @@ ippAddResolutions(ipp_t      *ipp,        /* I - IPP message */
 {
   int                  i;              /* Looping var */
   ipp_attribute_t      *attr;          /* New attribute */
-  ipp_value_t          *value;         /* Current value */
+  _ipp_value_t         *value;         /* Current value */
 
 
   DEBUG_printf(("ippAddResolutions(ipp=%p, group=%02x(%s), name=\"%s\", "
                 "num_value=%d, units=%d, xres=%p, yres=%p)", ipp, group,
                ippTagString(group), name, num_values, units, xres, yres));
 
-  if (!ipp || !name || num_values < 1)
-    return (NULL);
+ /*
+  * Range check input...
+  */
 
-  if ((attr = _ippAddAttr(ipp, num_values)) == NULL)
+  if (!ipp || !name || group < IPP_TAG_ZERO ||
+      group == IPP_TAG_END || group >= IPP_TAG_UNSUPPORTED_VALUE ||
+      num_values < 1 ||
+      units < IPP_RES_PER_INCH || units > IPP_RES_PER_CM)
     return (NULL);
 
-  attr->name      = _cupsStrAlloc(name);
-  attr->group_tag = group;
-  attr->value_tag = IPP_TAG_RESOLUTION;
+ /*
+  * Create the attribute...
+  */
+
+  if ((attr = ipp_add_attr(ipp, name, group, IPP_TAG_RESOLUTION, num_values)) == NULL)
+    return (NULL);
 
-  if (xres != NULL && yres != NULL)
-    for (i = 0, value = attr->values;
-        i < num_values;
-        i ++, value ++)
+  if (xres && yres)
+  {
+    for (i = num_values, value = attr->values;
+        i > 0;
+        i --, value ++)
     {
-      value->resolution.xres  = xres[i];
-      value->resolution.yres  = yres[i];
+      value->resolution.xres  = *xres++;
+      value->resolution.yres  = *yres++;
       value->resolution.units = units;
     }
+  }
 
   return (attr);
 }
@@ -710,35 +941,590 @@ ippAddResolutions(ipp_t      *ipp,       /* I - IPP message */
 
 /*
  * 'ippAddSeparator()' - Add a group separator to an IPP message.
+ *
+ * The @code ipp@ parameter refers to an IPP message previously created using the
+ * @link ippNew@ or @link ippNewRequest@ functions.
  */
 
 ipp_attribute_t *                      /* O - New attribute */
 ippAddSeparator(ipp_t *ipp)            /* I - IPP message */
 {
-  ipp_attribute_t      *attr;          /* New attribute */
-
-
   DEBUG_printf(("ippAddSeparator(ipp=%p)", ipp));
 
-  if (!ipp)
-    return (NULL);
+ /*
+  * Range check input...
+  */
 
-  if ((attr = _ippAddAttr(ipp, 0)) == NULL)
+  if (!ipp)
     return (NULL);
 
-  attr->group_tag = IPP_TAG_ZERO;
-  attr->value_tag = IPP_TAG_ZERO;
+ /*
+  * Create the attribute...
+  */
 
-  return (attr);
+  return (ipp_add_attr(ipp, NULL, IPP_TAG_ZERO, IPP_TAG_ZERO, 0));
 }
 
 
 /*
- * 'ippDateToTime()' - Convert from RFC 1903 Date/Time format to UNIX time
- *                     in seconds.
+ * 'ippAddString()' - Add a language-encoded string to an IPP message.
+ *
+ * The @code ipp@ parameter refers to an IPP message previously created using the
+ * @link ippNew@ or @link ippNewRequest@ functions.
+ *
+ * The @code group@ parameter specifies the IPP attribute group tag: none
+ * (@code IPP_TAG_ZERO@, for member attributes), document (@code IPP_TAG_DOCUMENT@),
+ * event notification (@code IPP_TAG_EVENT_NOTIFICATION@), operation
+ * (@code IPP_TAG_OPERATION@), printer (@code IPP_TAG_PRINTER@), subscription
+ * (@code IPP_TAG_SUBSCRIPTION@), or unsupported (@code IPP_TAG_UNSUPPORTED_GROUP@).
+ *
+ * Supported string values include charset (@code IPP_TAG_CHARSET@), keyword
+ * (@code IPP_TAG_KEYWORD@), language (@code IPP_TAG_LANGUAGE@), mimeMediaType
+ * (@code IPP_TAG_MIMETYPE@), name (@code IPP_TAG_NAME@), nameWithLanguage
+ * (@code IPP_TAG_NAMELANG), text (@code IPP_TAG_TEXT@), textWithLanguage
+ * (@code IPP_TAG_TEXTLANG@), uri (@code IPP_TAG_URI@), and uriScheme
+ * (@code IPP_TAG_URISCHEME@).
+ *
+ * The @code language@ parameter must be non-@code NULL@ for nameWithLanguage and
+ * textWithLanguage string values and must be @code NULL@ for all other string values.
  */
 
-time_t                                 /* O - UNIX time value */
+ipp_attribute_t *                      /* O - New attribute */
+ippAddString(ipp_t      *ipp,          /* I - IPP message */
+             ipp_tag_t  group,         /* I - IPP group */
+            ipp_tag_t  value_tag,      /* I - Type of attribute */
+             const char *name,         /* I - Name of attribute */
+             const char *language,     /* I - Language code */
+             const char *value)                /* I - Value */
+{
+  ipp_tag_t            temp_tag;       /* Temporary value tag (masked) */
+  ipp_attribute_t      *attr;          /* New attribute */
+  char                 code[32];       /* Charset/language code buffer */
+
+
+  DEBUG_printf(("ippAddString(ipp=%p, group=%02x(%s), value_tag=%02x(%s), "
+                "name=\"%s\", language=\"%s\", value=\"%s\")", ipp,
+               group, ippTagString(group), value_tag, ippTagString(value_tag), name,
+               language, value));
+
+ /*
+  * Range check input...
+  */
+
+  temp_tag = (ipp_tag_t)((int)value_tag & IPP_TAG_MASK);
+
+#if 0
+  if (!ipp || !name || group < IPP_TAG_ZERO ||
+      group == IPP_TAG_END || group >= IPP_TAG_UNSUPPORTED_VALUE ||
+      (temp_tag < IPP_TAG_TEXT && temp_tag != IPP_TAG_TEXTLANG &&
+       temp_tag != IPP_TAG_NAMELANG) || temp_tag > IPP_TAG_MIMETYPE)
+    return (NULL);
+
+  if ((temp_tag == IPP_TAG_TEXTLANG || temp_tag == IPP_TAG_NAMELANG)
+          != (language != NULL))
+    return (NULL);
+#else
+  if (!ipp || !name || group < IPP_TAG_ZERO ||
+      group == IPP_TAG_END || group >= IPP_TAG_UNSUPPORTED_VALUE)
+    return (NULL);
+#endif /* 0 */
+
+ /*
+  * See if we need to map charset, language, or locale values...
+  */
+
+  if (language && ((int)value_tag & IPP_TAG_COPY) &&
+      strcmp(language, ipp_lang_code(language, code, sizeof(code))))
+    value_tag = temp_tag;              /* Don't do a fast copy */
+  else if (value && value_tag == (ipp_tag_t)(IPP_TAG_CHARSET | IPP_TAG_COPY) &&
+           strcmp(value, ipp_get_code(value, code, sizeof(code))))
+    value_tag = temp_tag;              /* Don't do a fast copy */
+  else if (value && value_tag == (ipp_tag_t)(IPP_TAG_LANGUAGE | IPP_TAG_COPY) &&
+           strcmp(value, ipp_lang_code(value, code, sizeof(code))))
+    value_tag = temp_tag;              /* Don't do a fast copy */
+
+ /*
+  * Create the attribute...
+  */
+
+  if ((attr = ipp_add_attr(ipp, name, group, value_tag, 1)) == NULL)
+    return (NULL);
+
+ /*
+  * Initialize the attribute data...
+  */
+
+  if ((int)value_tag & IPP_TAG_COPY)
+  {
+    attr->values[0].string.language = (char *)language;
+    attr->values[0].string.text     = (char *)value;
+  }
+  else
+  {
+    if (language)
+      attr->values[0].string.language = _cupsStrAlloc(ipp_lang_code(language, code,
+                                                     sizeof(code)));
+
+    if (value)
+    {
+      if (value_tag == IPP_TAG_CHARSET)
+       attr->values[0].string.text = _cupsStrAlloc(ipp_get_code(value, code,
+                                                                sizeof(code)));
+      else if (value_tag == IPP_TAG_LANGUAGE)
+       attr->values[0].string.text = _cupsStrAlloc(ipp_lang_code(value, code,
+                                                                 sizeof(code)));
+      else
+       attr->values[0].string.text = _cupsStrAlloc(value);
+    }
+  }
+
+  return (attr);
+}
+
+
+/*
+ * 'ippAddStrings()' - Add language-encoded strings to an IPP message.
+ *
+ * The @code ipp@ parameter refers to an IPP message previously created using the
+ * @link ippNew@ or @link ippNewRequest@ functions.
+ *
+ * The @code group@ parameter specifies the IPP attribute group tag: none
+ * (@code IPP_TAG_ZERO@, for member attributes), document (@code IPP_TAG_DOCUMENT@),
+ * event notification (@code IPP_TAG_EVENT_NOTIFICATION@), operation
+ * (@code IPP_TAG_OPERATION@), printer (@code IPP_TAG_PRINTER@), subscription
+ * (@code IPP_TAG_SUBSCRIPTION@), or unsupported (@code IPP_TAG_UNSUPPORTED_GROUP@).
+ *
+ * Supported string values include charset (@code IPP_TAG_CHARSET@), keyword
+ * (@code IPP_TAG_KEYWORD@), language (@code IPP_TAG_LANGUAGE@), mimeMediaType
+ * (@code IPP_TAG_MIMETYPE@), name (@code IPP_TAG_NAME@), nameWithLanguage
+ * (@code IPP_TAG_NAMELANG), text (@code IPP_TAG_TEXT@), textWithLanguage
+ * (@code IPP_TAG_TEXTLANG@), uri (@code IPP_TAG_URI@), and uriScheme
+ * (@code IPP_TAG_URISCHEME@).
+ *
+ * The @code language@ parameter must be non-@code NULL@ for nameWithLanguage and
+ * textWithLanguage string values and must be @code NULL@ for all other string values.
+ */
+
+ipp_attribute_t *                      /* O - New attribute */
+ippAddStrings(
+    ipp_t              *ipp,           /* I - IPP message */
+    ipp_tag_t          group,          /* I - IPP group */
+    ipp_tag_t          value_tag,      /* I - Type of attribute */
+    const char         *name,          /* I - Name of attribute */
+    int                num_values,     /* I - Number of values */
+    const char         *language,      /* I - Language code (@code NULL@ for default) */
+    const char * const *values)                /* I - Values */
+{
+  int                  i;              /* Looping var */
+  ipp_tag_t            temp_tag;       /* Temporary value tag (masked) */
+  ipp_attribute_t      *attr;          /* New attribute */
+  _ipp_value_t         *value;         /* Current value */
+  char                 code[32];       /* Language/charset value buffer */
+
+
+  DEBUG_printf(("ippAddStrings(ipp=%p, group=%02x(%s), value_tag=%02x(%s), "
+                "name=\"%s\", num_values=%d, language=\"%s\", values=%p)", ipp,
+               group, ippTagString(group), value_tag, ippTagString(value_tag), name,
+               num_values, language, values));
+
+ /*
+  * Range check input...
+  */
+
+  temp_tag = (ipp_tag_t)((int)value_tag & IPP_TAG_MASK);
+
+#if 0
+  if (!ipp || !name || group < IPP_TAG_ZERO ||
+      group == IPP_TAG_END || group >= IPP_TAG_UNSUPPORTED_VALUE ||
+      (temp_tag < IPP_TAG_TEXT && temp_tag != IPP_TAG_TEXTLANG &&
+       temp_tag != IPP_TAG_NAMELANG) || temp_tag > IPP_TAG_MIMETYPE ||
+      num_values < 1)
+    return (NULL);
+
+  if ((temp_tag == IPP_TAG_TEXTLANG || temp_tag == IPP_TAG_NAMELANG)
+          != (language != NULL))
+    return (NULL);
+#else
+  if (!ipp || !name || group < IPP_TAG_ZERO ||
+      group == IPP_TAG_END || group >= IPP_TAG_UNSUPPORTED_VALUE ||
+      num_values < 1)
+    return (NULL);
+#endif /* 0 */
+
+ /*
+  * See if we need to map charset, language, or locale values...
+  */
+
+  if (language && ((int)value_tag & IPP_TAG_COPY) &&
+      strcmp(language, ipp_lang_code(language, code, sizeof(code))))
+    value_tag = temp_tag;              /* Don't do a fast copy */
+  else if (values && value_tag == (ipp_tag_t)(IPP_TAG_CHARSET | IPP_TAG_COPY))
+  {
+    for (i = 0; i < num_values; i ++)
+      if (strcmp(values[i], ipp_get_code(values[i], code, sizeof(code))))
+      {
+       value_tag = temp_tag;           /* Don't do a fast copy */
+        break;
+      }
+  }
+  else if (values && value_tag == (ipp_tag_t)(IPP_TAG_LANGUAGE | IPP_TAG_COPY))
+  {
+    for (i = 0; i < num_values; i ++)
+      if (strcmp(values[i], ipp_lang_code(values[i], code, sizeof(code))))
+      {
+       value_tag = temp_tag;           /* Don't do a fast copy */
+        break;
+      }
+  }
+
+ /*
+  * Create the attribute...
+  */
+
+  if ((attr = ipp_add_attr(ipp, name, group, value_tag, num_values)) == NULL)
+    return (NULL);
+
+ /*
+  * Initialize the attribute data...
+  */
+
+  for (i = num_values, value = attr->values;
+       i > 0;
+       i --, value ++)
+  {
+    if (language)
+    {
+      if (value == attr->values)
+      {
+        if ((int)value_tag & IPP_TAG_COPY)
+          value->string.language = (char *)language;
+        else
+          value->string.language = _cupsStrAlloc(ipp_lang_code(language, code,
+                                                               sizeof(code)));
+      }
+      else
+       value->string.language = attr->values[0].string.language;
+    }
+
+    if (values)
+    {
+      if ((int)value_tag & IPP_TAG_COPY)
+        value->string.text = (char *)*values++;
+      else if (value_tag == IPP_TAG_CHARSET)
+       value->string.text = _cupsStrAlloc(ipp_get_code(*values++, code, sizeof(code)));
+      else if (value_tag == IPP_TAG_LANGUAGE)
+       value->string.text = _cupsStrAlloc(ipp_lang_code(*values++, code, sizeof(code)));
+      else
+       value->string.text = _cupsStrAlloc(*values++);
+    }
+  }
+
+  return (attr);
+}
+
+
+/*
+ * 'ippCopyAttribute()' - Copy an attribute.
+ *
+ * The specified attribute, @code attr@, is copied to the destination IPP message.
+ * When @code quickcopy@ is non-zero, a "shallow" reference copy of the attribute is
+ * created - this should only be done as long as the original source IPP message will
+ * not be freed for the life of the destination.
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
+
+
+ipp_attribute_t *                      /* O - New attribute */
+ippCopyAttribute(
+    ipp_t           *dst,              /* I - Destination IPP message */
+    ipp_attribute_t *srcattr,          /* I - Attribute to copy */
+    int             quickcopy)         /* I - 1 for a referenced copy, 0 for normal */
+{
+  int                  i;              /* Looping var */
+  ipp_attribute_t      *dstattr;       /* Destination attribute */
+  _ipp_value_t         *srcval,        /* Source value */
+                       *dstval;        /* Destination value */
+
+
+  DEBUG_printf(("ippCopyAttribute(dst=%p, srcattr=%p, quickcopy=%d)", dst, srcattr,
+                quickcopy));
+
+ /*
+  * Range check input...
+  */
+
+  if (!dst || !srcattr)
+    return (NULL);
+
+ /*
+  * Copy it...
+  */
+
+  quickcopy = quickcopy ? IPP_TAG_COPY : 0;
+
+  switch (srcattr->value_tag & ~IPP_TAG_COPY)
+  {
+    case IPP_TAG_ZERO :
+        dstattr = ippAddSeparator(dst);
+       break;
+
+    case IPP_TAG_INTEGER :
+    case IPP_TAG_ENUM :
+        dstattr = ippAddIntegers(dst, srcattr->group_tag, srcattr->value_tag,
+                                srcattr->name, srcattr->num_values, NULL);
+        if (!dstattr)
+          break;
+
+        for (i = srcattr->num_values, srcval = srcattr->values, dstval = dstattr->values;
+             i > 0;
+             i --, srcval ++, dstval ++)
+         dstval->integer = srcval->integer;
+        break;
+
+    case IPP_TAG_BOOLEAN :
+        dstattr = ippAddBooleans(dst, srcattr->group_tag, srcattr->name,
+                               srcattr->num_values, NULL);
+        if (!dstattr)
+          break;
+
+        for (i = srcattr->num_values, srcval = srcattr->values, dstval = dstattr->values;
+             i > 0;
+             i --, srcval ++, dstval ++)
+         dstval->boolean = srcval->boolean;
+        break;
+
+    case IPP_TAG_TEXT :
+    case IPP_TAG_NAME :
+    case IPP_TAG_KEYWORD :
+    case IPP_TAG_URI :
+    case IPP_TAG_URISCHEME :
+    case IPP_TAG_CHARSET :
+    case IPP_TAG_LANGUAGE :
+    case IPP_TAG_MIMETYPE :
+        dstattr = ippAddStrings(dst, srcattr->group_tag,
+                               (ipp_tag_t)(srcattr->value_tag | quickcopy),
+                               srcattr->name, srcattr->num_values, NULL, NULL);
+        if (!dstattr)
+          break;
+
+        if (quickcopy)
+       {
+         for (i = srcattr->num_values, srcval = srcattr->values,
+                  dstval = dstattr->values;
+              i > 0;
+              i --, srcval ++, dstval ++)
+           dstval->string.text = srcval->string.text;
+        }
+       else if (srcattr->value_tag & IPP_TAG_COPY)
+       {
+         for (i = srcattr->num_values, srcval = srcattr->values,
+                  dstval = dstattr->values;
+              i > 0;
+              i --, srcval ++, dstval ++)
+           dstval->string.text = _cupsStrAlloc(srcval->string.text);
+       }
+       else
+       {
+         for (i = srcattr->num_values, srcval = srcattr->values,
+                  dstval = dstattr->values;
+              i > 0;
+              i --, srcval ++, dstval ++)
+           dstval->string.text = _cupsStrRetain(srcval->string.text);
+       }
+        break;
+
+    case IPP_TAG_DATE :
+        if (srcattr->num_values != 1)
+          return (NULL);
+
+        dstattr = ippAddDate(dst, srcattr->group_tag, srcattr->name,
+                            srcattr->values[0].date);
+        break;
+
+    case IPP_TAG_RESOLUTION :
+        dstattr = ippAddResolutions(dst, srcattr->group_tag, srcattr->name,
+                                   srcattr->num_values, IPP_RES_PER_INCH,
+                                   NULL, NULL);
+        if (!dstattr)
+          break;
+
+        for (i = srcattr->num_values, srcval = srcattr->values, dstval = dstattr->values;
+             i > 0;
+             i --, srcval ++, dstval ++)
+       {
+         dstval->resolution.xres  = srcval->resolution.xres;
+         dstval->resolution.yres  = srcval->resolution.yres;
+         dstval->resolution.units = srcval->resolution.units;
+       }
+        break;
+
+    case IPP_TAG_RANGE :
+        dstattr = ippAddRanges(dst, srcattr->group_tag, srcattr->name,
+                              srcattr->num_values, NULL, NULL);
+        if (!dstattr)
+          break;
+
+        for (i = srcattr->num_values, srcval = srcattr->values, dstval = dstattr->values;
+             i > 0;
+             i --, srcval ++, dstval ++)
+       {
+         dstval->range.lower = srcval->range.lower;
+         dstval->range.upper = srcval->range.upper;
+       }
+        break;
+
+    case IPP_TAG_TEXTLANG :
+    case IPP_TAG_NAMELANG :
+        dstattr = ippAddStrings(dst, srcattr->group_tag,
+                               (ipp_tag_t)(srcattr->value_tag | quickcopy),
+                               srcattr->name, srcattr->num_values, NULL, NULL);
+        if (!dstattr)
+          break;
+
+        if (quickcopy)
+       {
+         for (i = srcattr->num_values, srcval = srcattr->values,
+                  dstval = dstattr->values;
+              i > 0;
+              i --, srcval ++, dstval ++)
+         {
+            dstval->string.language = srcval->string.language;
+           dstval->string.text     = srcval->string.text;
+          }
+        }
+       else if (srcattr->value_tag & IPP_TAG_COPY)
+       {
+         for (i = srcattr->num_values, srcval = srcattr->values,
+                  dstval = dstattr->values;
+              i > 0;
+              i --, srcval ++, dstval ++)
+         {
+           if (srcval == srcattr->values)
+              dstval->string.language = _cupsStrAlloc(srcval->string.language);
+           else
+              dstval->string.language = dstattr->values[0].string.language;
+
+           dstval->string.text = _cupsStrAlloc(srcval->string.text);
+          }
+        }
+       else
+       {
+         for (i = srcattr->num_values, srcval = srcattr->values,
+                  dstval = dstattr->values;
+              i > 0;
+              i --, srcval ++, dstval ++)
+         {
+           if (srcval == srcattr->values)
+              dstval->string.language = _cupsStrRetain(srcval->string.language);
+           else
+              dstval->string.language = dstattr->values[0].string.language;
+
+           dstval->string.text = _cupsStrRetain(srcval->string.text);
+          }
+        }
+        break;
+
+    case IPP_TAG_BEGIN_COLLECTION :
+        dstattr = ippAddCollections(dst, srcattr->group_tag, srcattr->name,
+                                   srcattr->num_values, NULL);
+        if (!dstattr)
+          break;
+
+        for (i = srcattr->num_values, srcval = srcattr->values, dstval = dstattr->values;
+             i > 0;
+             i --, srcval ++, dstval ++)
+       {
+         dstval->collection = srcval->collection;
+         srcval->collection->use ++;
+       }
+        break;
+
+    case IPP_TAG_STRING :
+    default :
+        /* TODO: Implement quick copy for unknown/octetString values */
+        dstattr = ippAddIntegers(dst, srcattr->group_tag, srcattr->value_tag,
+                                srcattr->name, srcattr->num_values, NULL);
+        if (!dstattr)
+          break;
+
+        for (i = srcattr->num_values, srcval = srcattr->values, dstval = dstattr->values;
+             i > 0;
+             i --, srcval ++, dstval ++)
+       {
+         dstval->unknown.length = srcval->unknown.length;
+
+         if (dstval->unknown.length > 0)
+         {
+           if ((dstval->unknown.data = malloc(dstval->unknown.length)) == NULL)
+             dstval->unknown.length = 0;
+           else
+             memcpy(dstval->unknown.data, srcval->unknown.data, dstval->unknown.length);
+         }
+       }
+        break; /* anti-compiler-warning-code */
+  }
+
+  return (dstattr);
+}
+
+
+/*
+ * 'ippCopyAttributes()' - Copy attributes from one IPP message to another.
+ *
+ * Zero or more attributes are copied from the source IPP message, @code@ src, to the
+ * destination IPP message, @code dst@. When @code quickcopy@ is non-zero, a "shallow"
+ * reference copy of the attribute is created - this should only be done as long as the
+ * original source IPP message will not be freed for the life of the destination.
+ *
+ * The @code cb@ and @code context@ parameters provide a generic way to "filter" the
+ * attributes that are copied - the function must return 1 to copy the attribute or
+ * 0 to skip it. The function may also choose to do a partial copy of the source attribute
+ * itself.
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
+
+int                                    /* O - 1 on success, 0 on error */
+ippCopyAttributes(
+    ipp_t        *dst,                 /* I - Destination IPP message */
+    ipp_t        *src,                 /* I - Source IPP message */
+    int          quickcopy,            /* I - 1 for a referenced copy, 0 for normal */
+    ipp_copycb_t cb,                   /* I - Copy callback or @code NULL@ for none */
+    void         *context)             /* I - Context pointer */
+{
+  ipp_attribute_t      *srcattr;       /* Source attribute */
+
+
+  DEBUG_printf(("ippCopyAttributes(dst=%p, src=%p, quickcopy=%d, cb=%p, context=%p)",
+                dst, src, quickcopy, cb, context));
+
+ /*
+  * Range check input...
+  */
+
+  if (!dst || !src)
+    return (0);
+
+ /*
+  * Loop through source attributes and copy as needed...
+  */
+
+  for (srcattr = src->attrs; srcattr; srcattr = srcattr->next)
+    if (!cb || (*cb)(context, dst, srcattr))
+      if (!ippCopyAttribute(dst, srcattr, quickcopy))
+        return (0);
+
+  return (1);
+}
+
+
+/*
+ * 'ippDateToTime()' - Convert from RFC 1903 Date/Time format to UNIX time
+ *                     in seconds.
+ */
+
+time_t                                 /* O - UNIX time value */
 ippDateToTime(const ipp_uchar_t *date) /* I - RFC 1903 date info */
 {
   struct tm    unixdate;               /* UNIX date/time info */
@@ -808,7 +1594,13 @@ ippDelete(ipp_t *ipp)                     /* I - IPP message */
   for (attr = ipp->attrs; attr != NULL; attr = next)
   {
     next = attr->next;
-    _ippFreeAttr(attr);
+
+    ipp_free_values(attr, 0, attr->num_values);
+
+    if (attr->name)
+      _cupsStrFree(attr->name);
+
+    free(attr);
   }
 
   free(ipp);
@@ -818,7 +1610,7 @@ ippDelete(ipp_t *ipp)                      /* I - IPP message */
 /*
  * 'ippDeleteAttribute()' - Delete a single attribute in an IPP message.
  *
- * @since CUPS 1.1.19/Mac OS X 10.3@
+ * @since CUPS 1.1.19/OS X 10.3@
  */
 
 void
@@ -834,38 +1626,107 @@ ippDeleteAttribute(
                 attr ? attr->name : "(null)"));
 
  /*
-  * Find the attribute in the list...
+  * Range check input...
   */
 
-  for (current = ipp->attrs, prev = NULL;
-       current != NULL && current != attr;
-       prev = current, current = current->next);
+  if (!attr)
+    return;
 
-  if (current)
-  {
-   /*
-    * Found it, remove the attribute from the list...
-    */
+ /*
+  * Find the attribute in the list...
+  */
 
-    if (prev)
-      prev->next = current->next;
-    else
-      ipp->attrs = current->next;
+  if (ipp)
+  {
+    for (current = ipp->attrs, prev = NULL;
+        current;
+        prev = current, current = current->next)
+      if (current == attr)
+      {
+       /*
+       * Found it, remove the attribute from the list...
+       */
 
-    if (current == ipp->last)
-      ipp->last = prev;
+       if (prev)
+         prev->next = current->next;
+       else
+         ipp->attrs = current->next;
 
-   /*
-    * Free memory used by the attribute...
-    */
+       if (current == ipp->last)
+         ipp->last = prev;
+
+        break;
+      }
+
+    if (!current)
+      return;
+  }
+
+ /*
+  * Free memory used by the attribute...
+  */
+
+  ipp_free_values(attr, 0, attr->num_values);
+
+  if (attr->name)
+    _cupsStrFree(attr->name);
+
+  free(attr);
+}
+
+
+/*
+ * 'ippDeleteValues()' - Delete values in an attribute.
+ *
+ * The @code element@ parameter specifies the first value to delete, starting at
+ * 0. It must be less than the number of values returned by @link ippGetCount@.
+ *
+ * The @code attr@ parameter may be modified as a result of setting the value.
+ *
+ * Deleting all values in an attribute deletes the attribute.
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
+
+int                                    /* O  - 1 on success, 0 on failure */
+ippDeleteValues(
+    ipp_t           *ipp,              /* I  - IPP message */
+    ipp_attribute_t **attr,            /* IO - Attribute */
+    int             element,           /* I  - Index of first value to delete (0-based) */
+    int             count)             /* I  - Number of values to delete */
+{
+ /*
+  * Range check input...
+  */
+
+  if (!ipp || !attr || !*attr ||
+      element < 0 || element >= (*attr)->num_values || count <= 0 ||
+      (element + count) >= (*attr)->num_values)
+    return (0);
 
-    _ippFreeAttr(current);
+ /*
+  * If we are deleting all values, just delete the attribute entirely.
+  */
+
+  if (count == (*attr)->num_values)
+  {
+    ippDeleteAttribute(ipp, *attr);
+    *attr = NULL;
+    return (1);
   }
+
+ /*
+  * Otherwise free the values in question and return.
+  */
+
+  ipp_free_values(*attr, element, count);
+
+  return (1);
 }
 
 
 /*
- * 'ippFindAttribute()' - Find a named attribute in a request...
+ * 'ippFindAttribute()' - Find a named attribute in a request.
  */
 
 ipp_attribute_t        *                       /* O - Matching attribute */
@@ -894,7 +1755,7 @@ ippFindAttribute(ipp_t      *ipp,  /* I - IPP message */
 
 
 /*
- * 'ippFindNextAttribute()' - Find the next named attribute in a request...
+ * 'ippFindNextAttribute()' - Find the next named attribute in a request.
  */
 
 ipp_attribute_t        *                       /* O - Matching attribute */
@@ -949,884 +1810,2147 @@ ippFindNextAttribute(ipp_t      *ipp, /* I - IPP message */
 
 
 /*
- * 'ippLength()' - Compute the length of an IPP message.
+ * 'ippFirstAttribute()' - Return the first attribute in the message.
+ *
+ * @since CUPS 1.6/OS X 10.8@
  */
 
-size_t                                 /* O - Size of IPP message */
-ippLength(ipp_t *ipp)                  /* I - IPP message */
+ipp_attribute_t        *                       /* O - First attribute or @code NULL@ if none */
+ippFirstAttribute(ipp_t *ipp)          /* I - IPP message */
 {
-  return (ipp_length(ipp, 0));
+ /*
+  * Range check input...
+  */
+
+  if (!ipp)
+    return (NULL);
+
+ /*
+  * Return the first attribute...
+  */
+
+  return (ipp->current = ipp->attrs);
 }
 
 
 /*
- * 'ippNew()' - Allocate a new IPP message.
+ * 'ippGetBoolean()' - Get a boolean value for an attribute.
+ *
+ * The @code element@ parameter specifies which value to get from 0 to
+ * @link ippGetCount(attr)@ - 1.
+ *
+ * @since CUPS 1.6/OS X 10.8@
  */
 
-ipp_t *                                        /* O - New IPP message */
-ippNew(void)
+int                                    /* O - Boolean value or -1 on error */
+ippGetBoolean(ipp_attribute_t *attr,   /* I - IPP attribute */
+              int             element) /* I - Value number (0-based) */
 {
-  ipp_t        *temp;                          /* New IPP message */
-
-
-  DEBUG_puts("ippNew()");
-
-  if ((temp = (ipp_t *)calloc(1, sizeof(ipp_t))) != NULL)
-  {
-   /*
-    * Default to IPP 1.1...
-    */
+ /*
+  * Range check input...
+  */
 
-    temp->request.any.version[0] = 1;
-    temp->request.any.version[1] = 1;
-    temp->use                    = 1;
-  }
+  if (!attr || attr->value_tag != IPP_TAG_BOOLEAN ||
+      element < 0 || element >= attr->num_values)
+    return (-1);
 
-  DEBUG_printf(("1ippNew: Returning %p", temp));
+ /*
+  * Return the value...
+  */
 
-  return (temp);
+  return (attr->values[element].boolean);
 }
 
 
 /*
- *  'ippNewRequest()' - Allocate a new IPP request message.
+ * 'ippGetCollection()' - Get a collection value for an attribute.
  *
- * The new request message is initialized with the attributes-charset and
- * attributes-natural-language attributes added. The
- * attributes-natural-language value is derived from the current locale.
+ * The @code element@ parameter specifies which value to get from 0 to
+ * @link ippGetCount(attr)@ - 1.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
-ipp_t *                                        /* O - IPP request message */
-ippNewRequest(ipp_op_t op)             /* I - Operation code */
+ipp_t *                                        /* O - Collection value or @code NULL@ on error */
+ippGetCollection(
+    ipp_attribute_t *attr,             /* I - IPP attribute */
+    int             element)           /* I - Value number (0-based) */
 {
-  ipp_t                *request;               /* IPP request message */
-  cups_lang_t  *language;              /* Current language localization */
+ /*
+  * Range check input...
+  */
 
+  if (!attr || attr->value_tag != IPP_TAG_BEGIN_COLLECTION ||
+      element < 0 || element >= attr->num_values)
+    return (NULL);
 
-  DEBUG_printf(("ippNewRequest(op=%02x(%s))", op, ippOpString(op)));
+ /*
+  * Return the value...
+  */
+
+  return (attr->values[element].collection);
+}
 
+
+/*
+ * 'ippGetCount()' - Get the number of values in an attribute.
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
+
+int                                    /* O - Number of values or -1 on error */
+ippGetCount(ipp_attribute_t *attr)     /* I - IPP attribute */
+{
  /*
-  * Create a new IPP message...
+  * Range check input...
   */
 
-  if ((request = ippNew()) == NULL)
-    return (NULL);
+  if (!attr)
+    return (-1);
 
  /*
-  * Set the operation and request ID...
+  * Return the number of values...
   */
 
-  request->request.op.operation_id = op;
-  request->request.op.request_id   = 1;
+  return (attr->num_values);
+}
+
+
+/*
+ * 'ippGetDate()' - Get a date value for an attribute.
+ *
+ * The @code element@ parameter specifies which value to get from 0 to
+ * @link ippGetCount(attr)@ - 1.
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
 
+const ipp_uchar_t *                    /* O - Date value or @code NULL@ */
+ippGetDate(ipp_attribute_t *attr,      /* I - IPP attribute */
+           int             element)    /* I - Value number (0-based) */
+{
  /*
-  * Use UTF-8 as the character set...
+  * Range check input...
   */
 
-  ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_CHARSET,
-               "attributes-charset", NULL, "utf-8");
+  if (!attr || attr->value_tag != IPP_TAG_DATE ||
+      element < 0 || element >= attr->num_values)
+    return (NULL);
 
  /*
-  * Get the language from the current locale...
+  * Return the value...
   */
 
-  language = cupsLangDefault();
+  return (attr->values[element].date);
+}
 
-  ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE,
-               "attributes-natural-language", NULL, language->language);
 
+/*
+ * 'ippGetGroupTag()' - Get the group associated with an attribute.
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
+
+ipp_tag_t                              /* O - Group tag or @code IPP_TAG_ZERO@ on error */
+ippGetGroupTag(ipp_attribute_t *attr)  /* I - IPP attribute */
+{
  /*
-  * Return the new request...
+  * Range check input...
   */
 
-  return (request);
+  if (!attr)
+    return (IPP_TAG_ZERO);
+
+ /*
+  * Return the group...
+  */
+
+  return (attr->group_tag);
 }
 
 
 /*
- * 'ippRead()' - Read data for an IPP message from a HTTP connection.
+ * 'ippGetInteger()' - Get the integer/enum value for an attribute.
+ *
+ * The @code element@ parameter specifies which value to get from 0 to
+ * @link ippGetCount(attr)@ - 1.
+ *
+ * @since CUPS 1.6/OS X 10.8@
  */
 
-ipp_state_t                            /* O - Current state */
-ippRead(http_t *http,                  /* I - HTTP connection */
-        ipp_t  *ipp)                   /* I - IPP data */
+int                                    /* O - Value or -1 on error */
+ippGetInteger(ipp_attribute_t *attr,   /* I - IPP attribute */
+              int             element) /* I - Value number (0-based) */
 {
-  DEBUG_printf(("ippRead(http=%p, ipp=%p), data_remaining=" CUPS_LLFMT,
-                http, ipp, CUPS_LLCAST (http ? http->data_remaining : -1)));
+ /*
+  * Range check input...
+  */
 
-  if (!http)
-    return (IPP_ERROR);
+  if (!attr || (attr->value_tag != IPP_TAG_INTEGER && attr->value_tag != IPP_TAG_ENUM) ||
+      element < 0 || element >= attr->num_values)
+    return (-1);
 
-  DEBUG_printf(("2ippRead: http->state=%d, http->used=%d", http->state,
-                http->used));
+ /*
+  * Return the value...
+  */
 
-  return (ippReadIO(http, (ipp_iocb_t)ipp_read_http, http->blocking, NULL,
-                    ipp));
+  return (attr->values[element].integer);
 }
 
 
 /*
- * 'ippReadFile()' - Read data for an IPP message from a file.
+ * 'ippGetName()' - Get the attribute name.
  *
- * @since CUPS 1.1.19/Mac OS X 10.3@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
-ipp_state_t                            /* O - Current state */
-ippReadFile(int   fd,                  /* I - HTTP data */
-            ipp_t *ipp)                        /* I - IPP data */
+const char *                           /* O - Attribute name or @code NULL@ for separators */
+ippGetName(ipp_attribute_t *attr)      /* I - IPP attribute */
 {
-  DEBUG_printf(("ippReadFile(fd=%d, ipp=%p)", fd, ipp));
+ /*
+  * Range check input...
+  */
 
-  return (ippReadIO(&fd, (ipp_iocb_t)ipp_read_file, 1, NULL, ipp));
+  if (!attr)
+    return (NULL);
+
+ /*
+  * Return the name...
+  */
+
+  return (attr->name);
 }
 
 
 /*
- * 'ippReadIO()' - Read data for an IPP message.
+ * 'ippGetOperation()' - Get the operation ID in an IPP message.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
-ipp_state_t                            /* O - Current state */
-ippReadIO(void       *src,             /* I - Data source */
-          ipp_iocb_t cb,               /* I - Read callback function */
-         int        blocking,          /* I - Use blocking IO? */
-         ipp_t      *parent,           /* I - Parent request, if any */
-          ipp_t      *ipp)             /* I - IPP data */
+ipp_op_t                               /* O - Operation ID or -1 on error */
+ippGetOperation(ipp_t *ipp)            /* I - IPP request message */
 {
-  int                  n;              /* Length of data */
-  unsigned char                *buffer,        /* Data buffer */
-                       string[IPP_MAX_NAME],
-                                       /* Small string buffer */
-                       *bufptr;        /* Pointer into buffer */
-  ipp_attribute_t      *attr;          /* Current attribute */
-  ipp_tag_t            tag;            /* Current tag */
-  ipp_tag_t            value_tag;      /* Current value tag */
-  ipp_value_t          *value;         /* Current value */
+ /*
+  * Range check input...
+  */
 
+  if (!ipp)
+    return ((ipp_op_t)-1);
 
-  DEBUG_printf(("ippReadIO(src=%p, cb=%p, blocking=%d, parent=%p, ipp=%p)",
-                src, cb, blocking, parent, ipp));
-  DEBUG_printf(("2ippReadIO: ipp->state=%d", ipp ? ipp->state : IPP_ERROR));
+ /*
+  * Return the value...
+  */
 
-  if (!src || !ipp)
-    return (IPP_ERROR);
+  return (ipp->request.op.operation_id);
+}
 
-  if ((buffer = ipp_buffer_get()) == NULL)
+
+/*
+ * 'ippGetRange()' - Get a rangeOfInteger value from an attribute.
+ *
+ * The @code element@ parameter specifies which value to get from 0 to
+ * @link ippGetCount(attr)@ - 1.
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
+
+int                                    /* O - Lower value of range or -1 */
+ippGetRange(ipp_attribute_t *attr,     /* I - IPP attribute */
+           int             element,    /* I - Value number (0-based) */
+           int             *uppervalue)/* O - Upper value of range */
+{
+ /*
+  * Range check input...
+  */
+
+  if (!attr || attr->value_tag != IPP_TAG_RANGE ||
+      element < 0 || element >= attr->num_values)
   {
-    DEBUG_puts("1ippReadIO: Unable to get read buffer.");
-    return (IPP_ERROR);
+    if (uppervalue)
+      *uppervalue = -1;
+
+    return (-1);
   }
 
-  switch (ipp->state)
-  {
-    case IPP_IDLE :
-        ipp->state ++; /* Avoid common problem... */
+ /*
+  * Return the values...
+  */
 
-    case IPP_HEADER :
-        if (parent == NULL)
-       {
-        /*
-          * Get the request header...
-         */
+  if (uppervalue)
+    *uppervalue = attr->values[element].range.upper;
 
-          if ((*cb)(src, buffer, 8) < 8)
-         {
-           DEBUG_puts("1ippReadIO: Unable to read header.");
-           ipp_buffer_release(buffer);
-           return (IPP_ERROR);
-         }
+  return (attr->values[element].range.lower);
+}
 
-        /*
-          * Then copy the request header over...
-         */
 
-          ipp->request.any.version[0]  = buffer[0];
-          ipp->request.any.version[1]  = buffer[1];
-          ipp->request.any.op_status   = (buffer[2] << 8) | buffer[3];
-          ipp->request.any.request_id  = (((((buffer[4] << 8) | buffer[5]) << 8) |
-                                        buffer[6]) << 8) | buffer[7];
+/*
+ * 'ippGetRequestId()' - Get the request ID from an IPP message.
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
 
-          DEBUG_printf(("2ippReadIO: version=%d.%d", buffer[0], buffer[1]));
-         DEBUG_printf(("2ippReadIO: op_status=%04x",
-                       ipp->request.any.op_status));
-         DEBUG_printf(("2ippReadIO: request_id=%d",
-                       ipp->request.any.request_id));
-        }
+int                                    /* O - Request ID or -1 on error */
+ippGetRequestId(ipp_t *ipp)            /* I - IPP message */
+{
+ /*
+  * Range check input...
+  */
 
-        ipp->state   = IPP_ATTRIBUTE;
-       ipp->current = NULL;
-       ipp->curtag  = IPP_TAG_ZERO;
-       ipp->prev    = ipp->last;
+  if (!ipp)
+    return (-1);
 
      /*
-        * If blocking is disabled, stop here...
-       */
+ /*
+  * Return the request ID...
+  */
 
-        if (!blocking)
-         break;
+  return (ipp->request.any.request_id);
+}
 
-    case IPP_ATTRIBUTE :
-        for (;;)
-       {
-         if ((*cb)(src, buffer, 1) < 1)
-         {
-           DEBUG_puts("1ippReadIO: Callback returned EOF/error");
-           ipp_buffer_release(buffer);
-           return (IPP_ERROR);
-         }
 
-         DEBUG_printf(("2ippReadIO: ipp->current=%p, ipp->prev=%p",
-                       ipp->current, ipp->prev));
+/*
+ * 'ippGetResolution()' - Get a resolution value for an attribute.
+ *
+ * The @code element@ parameter specifies which value to get from 0 to
+ * @link ippGetCount(attr)@ - 1.
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
 
-        /*
-         * Read this attribute...
-         */
+int                                    /* O - Horizontal/cross feed resolution or -1 */
+ippGetResolution(
+    ipp_attribute_t *attr,             /* I - IPP attribute */
+    int             element,           /* I - Value number (0-based) */
+    int             *yres,             /* O - Vertical/feed resolution */
+    ipp_res_t       *units)            /* O - Units for resolution */
+{
+ /*
+  * Range check input...
+  */
 
-          tag = (ipp_tag_t)buffer[0];
+  if (!attr || attr->value_tag != IPP_TAG_RESOLUTION ||
+      element < 0 || element >= attr->num_values)
+    return (-1);
 
-         if (tag == IPP_TAG_END)
-         {
-          /*
-           * No more attributes left...
-           */
+ /*
+  * Return the value...
+  */
 
-            DEBUG_puts("2ippReadIO: IPP_TAG_END.");
+  if (yres)
+    *yres = attr->values[element].resolution.yres;
 
-           ipp->state = IPP_DATA;
-           break;
-         }
-          else if (tag < IPP_TAG_UNSUPPORTED_VALUE)
-         {
-          /*
-           * Group tag...  Set the current group and continue...
-           */
+  if (units)
+    *units = attr->values[element].resolution.units;
 
-            if (ipp->curtag == tag)
-             ipp->prev = ippAddSeparator(ipp);
-            else if (ipp->current)
-             ipp->prev = ipp->current;
+  return (attr->values[element].resolution.xres);
+}
 
-           ipp->curtag  = tag;
-           ipp->current = NULL;
-           DEBUG_printf(("2ippReadIO: group tag=%x(%s), ipp->prev=%p", tag,
-                         ippTagString(tag), ipp->prev));
-           continue;
-         }
 
-          DEBUG_printf(("2ippReadIO: value tag=%x(%s)", tag,
-                       ippTagString(tag)));
+/*
+ * 'ippGetState()' - Get the IPP message state.
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
 
-         /*
-         * Get the name...
-         */
+ipp_state_t                            /* O - IPP message state value */
+ippGetState(ipp_t *ipp)                        /* I - IPP message */
+{
+ /*
+  * Range check input...
+  */
 
-          if ((*cb)(src, buffer, 2) < 2)
-         {
-           DEBUG_puts("1ippReadIO: unable to read name length.");
-           ipp_buffer_release(buffer);
-           return (IPP_ERROR);
-         }
+  if (!ipp)
+    return (IPP_IDLE);
 
-          n = (buffer[0] << 8) | buffer[1];
+ /*
+  * Return the value...
+  */
 
-          if (n >= IPP_BUF_SIZE)
-         {
-           _cupsSetError(IPP_ERROR, _("IPP name larger than 32767 bytes."), 1);
-           DEBUG_printf(("1ippReadIO: bad name length %d.", n));
-           ipp_buffer_release(buffer);
-           return (IPP_ERROR);
-         }
+  return (ipp->state);
+}
 
-          DEBUG_printf(("2ippReadIO: name length=%d", n));
 
-          if (n == 0 && tag != IPP_TAG_MEMBERNAME &&
-             tag != IPP_TAG_END_COLLECTION)
-         {
-          /*
-           * More values for current attribute...
-           */
+/*
+ * 'ippGetStatusCode()' - Get the status code from an IPP response or event message.
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
 
-            if (ipp->current == NULL)
-           {
-             _cupsSetError(IPP_ERROR, _("IPP attribute has no name."), 1);
-             DEBUG_puts("1ippReadIO: Attribute without name and no current.");
-             ipp_buffer_release(buffer);
-             return (IPP_ERROR);
-           }
+ipp_status_t                           /* O - Status code in IPP message */
+ippGetStatusCode(ipp_t *ipp)           /* I - IPP response or event message */
+{
+ /*
+  * Range check input...
+  */
 
-            attr      = ipp->current;
-           value_tag = (ipp_tag_t)(attr->value_tag & IPP_TAG_MASK);
+  if (!ipp)
+    return (IPP_INTERNAL_ERROR);
 
-          /*
-           * Make sure we aren't adding a new value of a different
-           * type...
-           */
+ /*
+  * Return the value...
+  */
 
-           if (value_tag == IPP_TAG_ZERO)
-           {
-            /*
-             * Setting the value of a collection member...
-             */
+  return (ipp->request.status.status_code);
+}
 
-             attr->value_tag = tag;
-           }
-           else if (value_tag == IPP_TAG_TEXTLANG ||
-                    value_tag == IPP_TAG_NAMELANG ||
-                    (value_tag >= IPP_TAG_TEXT &&
-                     value_tag <= IPP_TAG_MIMETYPE))
-            {
-            /*
-             * String values can sometimes come across in different
-             * forms; accept sets of differing values...
-             */
 
-             if (tag != IPP_TAG_TEXTLANG && tag != IPP_TAG_NAMELANG &&
-                 (tag < IPP_TAG_TEXT || tag > IPP_TAG_MIMETYPE) &&
-                 tag != IPP_TAG_NOVALUE)
-             {
-               _cupsSetError(IPP_ERROR,
-                             _("IPP 1setOf attribute with incompatible value "
-                               "tags."), 1);
-               DEBUG_printf(("1ippReadIO: 1setOf value tag %x(%s) != %x(%s)",
-                             value_tag, ippTagString(value_tag), tag,
-                             ippTagString(tag)));
-               ipp_buffer_release(buffer);
-               return (IPP_ERROR);
-             }
-            }
-           else if (value_tag == IPP_TAG_INTEGER ||
-                    value_tag == IPP_TAG_RANGE)
-            {
-            /*
-             * Integer and rangeOfInteger values can sometimes be mixed; accept
-             * sets of differing values...
-             */
+/*
+ * 'ippGetString()' - Get the string and optionally the language code for an attribute.
+ *
+ * The @code element@ parameter specifies which value to get from 0 to
+ * @link ippGetCount(attr)@ - 1.
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
 
-             if (tag != IPP_TAG_INTEGER && tag != IPP_TAG_RANGE)
-             {
-               _cupsSetError(IPP_ERROR,
-                             _("IPP 1setOf attribute with incompatible value "
-                               "tags."), 1);
-               DEBUG_printf(("1ippReadIO: 1setOf value tag %x(%s) != %x(%s)",
-                             value_tag, ippTagString(value_tag), tag,
-                             ippTagString(tag)));
-               ipp_buffer_release(buffer);
-               return (IPP_ERROR);
-             }
+const char *
+ippGetString(ipp_attribute_t *attr,    /* I - IPP attribute */
+             int             element,  /* I - Value number (0-based) */
+            const char      **language)/* O - Language code (@code NULL@ for don't care) */
+{
+ /*
+  * Range check input...
+  */
 
-              if (value_tag == IPP_TAG_INTEGER && tag == IPP_TAG_RANGE)
-              {
-               /*
-                * Convert integer values to rangeOfInteger values...
-                */
+  if (!attr || element < 0 || element >= attr->num_values ||
+      (attr->value_tag != IPP_TAG_TEXTLANG && attr->value_tag != IPP_TAG_NAMELANG &&
+       (attr->value_tag < IPP_TAG_TEXT || attr->value_tag > IPP_TAG_MIMETYPE)))
+    return (NULL);
 
-               int i;                  /* Looping var */
+ /*
+  * Return the value...
+  */
 
-               DEBUG_printf(("1ippReadIO: Converting %s attribute to "
-                             "rangeOfInteger.", attr->name));
+  if (language)
+    *language = attr->values[element].string.language;
 
-               attr->value_tag = IPP_TAG_RANGE;
+  return (attr->values[element].string.text);
+}
 
-                for (i = attr->num_values, value = attr->values;
-                     i > 0;
-                     i --, value ++)
-                {
-                  n                  = value->integer;
-                  value->range.lower = value->range.upper = n;
-                }
-              }
-            }
-           else if (value_tag != tag)
-           {
-             _cupsSetError(IPP_ERROR,
-                           _("IPP 1setOf attribute with incompatible value "
-                             "tags."), 1);
-             DEBUG_printf(("1ippReadIO: value tag %x(%s) != %x(%s)",
-                           value_tag, ippTagString(value_tag), tag,
-                           ippTagString(tag)));
-             ipp_buffer_release(buffer);
-             return (IPP_ERROR);
-            }
 
-           /*
-           * Finally, reallocate the attribute array as needed...
-           */
+/*
+ * 'ippGetValueTag()' - Get the value tag for an attribute.
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
 
-           if (attr->num_values == 1 ||
-               (attr->num_values > 0 &&
-                (attr->num_values & (IPP_MAX_VALUES - 1)) == 0))
-           {
-             ipp_attribute_t   *temp;  /* Pointer to new buffer */
+ipp_tag_t                              /* O - Value tag or @code IPP_TAG_ZERO@ on error */
+ippGetValueTag(ipp_attribute_t *attr)  /* I - IPP attribute */
+{
+ /*
+  * Range check input...
+  */
 
-              DEBUG_printf(("2ippReadIO: reallocating for up to %d values...",
-                           attr->num_values + IPP_MAX_VALUES));
+  if (!attr)
+    return (IPP_TAG_ZERO);
 
            /*
-             * Reallocate memory...
-             */
+ /*
+  * Return the value...
+  */
 
-              if ((temp = realloc(attr, sizeof(ipp_attribute_t) +
-                                       (attr->num_values + IPP_MAX_VALUES - 1) *
-                                       sizeof(ipp_value_t))) == NULL)
-             {
-               _cupsSetHTTPError(HTTP_ERROR);
-               DEBUG_puts("1ippReadIO: Unable to resize attribute");
-               ipp_buffer_release(buffer);
-               return (IPP_ERROR);
-             }
+  return (attr->value_tag);
+}
 
-              if (temp != attr)
-             {
-               /*
-               * Reset pointers in the list...
-               */
 
-               if (ipp->prev)
-                 ipp->prev->next = temp;
-               else
-                 ipp->attrs = temp;
+/*
+ * 'ippGetVersion()' - Get the major and minor version number from an IPP message.
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
 
-               attr = ipp->current = ipp->last = temp;
-             }
-           }
-         }
-         else if (tag == IPP_TAG_MEMBERNAME)
-         {
-          /*
-           * Name must be length 0!
-           */
+int                                    /* O - Major version number or -1 on error */
+ippGetVersion(ipp_t *ipp,              /* I - IPP message */
+              int   *minor)            /* O - Minor version number or @code NULL@ */
+{
+ /*
+  * Range check input...
+  */
 
-           if (n)
-           {
-             _cupsSetError(IPP_ERROR, _("IPP member name is not empty."), 1);
-             DEBUG_puts("1ippReadIO: member name not empty.");
-             ipp_buffer_release(buffer);
-             return (IPP_ERROR);
-           }
+  if (!ipp)
+  {
+    if (minor)
+      *minor = -1;
 
-            if (ipp->current)
-             ipp->prev = ipp->current;
+    return (-1);
+  }
 
-           attr = ipp->current = _ippAddAttr(ipp, 1);
+ /*
+  * Return the value...
+  */
 
-           DEBUG_printf(("2ippReadIO: membername, ipp->current=%p, "
-                         "ipp->prev=%p", ipp->current, ipp->prev));
+  if (minor)
+    *minor = ipp->request.any.version[1];
 
-           attr->group_tag  = ipp->curtag;
-           attr->value_tag  = IPP_TAG_ZERO;
-           attr->num_values = 0;
-         }
-         else if (tag != IPP_TAG_END_COLLECTION)
-         {
-          /*
-           * New attribute; read the name and add it...
-           */
+  return (ipp->request.any.version[0]);
+}
 
-           if ((*cb)(src, buffer, n) < n)
-           {
-             DEBUG_puts("1ippReadIO: unable to read name.");
-             ipp_buffer_release(buffer);
-             return (IPP_ERROR);
-           }
 
-           buffer[n] = '\0';
+/*
+ * 'ippLength()' - Compute the length of an IPP message.
+ */
 
-            if (ipp->current)
-             ipp->prev = ipp->current;
+size_t                                 /* O - Size of IPP message */
+ippLength(ipp_t *ipp)                  /* I - IPP message */
+{
+  return (ipp_length(ipp, 0));
+}
 
-           if ((attr = ipp->current = _ippAddAttr(ipp, 1)) == NULL)
-           {
-             _cupsSetHTTPError(HTTP_ERROR);
-             DEBUG_puts("1ippReadIO: unable to allocate attribute.");
-             ipp_buffer_release(buffer);
-             return (IPP_ERROR);
-           }
 
-           DEBUG_printf(("2ippReadIO: name=\"%s\", ipp->current=%p, "
-                         "ipp->prev=%p", buffer, ipp->current, ipp->prev));
+/*
+ * 'ippNextAttribute()' - Return the next attribute in the message.
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
 
-           attr->group_tag  = ipp->curtag;
-           attr->value_tag  = tag;
-           attr->name       = _cupsStrAlloc((char *)buffer);
-           attr->num_values = 0;
-         }
-         else
-           attr = NULL;
+ipp_attribute_t *                      /* O - Next attribute or @code NULL@ if none */
+ippNextAttribute(ipp_t *ipp)           /* I - IPP message */
+{
+ /*
+  * Range check input...
+  */
 
-          if (tag != IPP_TAG_END_COLLECTION)
-            value = attr->values + attr->num_values;
-         else
-           value = NULL;
+  if (!ipp || !ipp->current)
+    return (NULL);
 
-         if ((*cb)(src, buffer, 2) < 2)
-         {
-           DEBUG_puts("1ippReadIO: unable to read value length.");
-           ipp_buffer_release(buffer);
-           return (IPP_ERROR);
-         }
+ /*
+  * Return the next attribute...
+  */
 
-         n = (buffer[0] << 8) | buffer[1];
-          DEBUG_printf(("2ippReadIO: value length=%d", n));
+  return (ipp->current = ipp->current->next);
+}
 
-         if (n >= IPP_BUF_SIZE)
+
+/*
+ * 'ippNew()' - Allocate a new IPP message.
+ */
+
+ipp_t *                                        /* O - New IPP message */
+ippNew(void)
+{
+  ipp_t                        *temp;          /* New IPP message */
+  _cups_globals_t      *cg = _cupsGlobals();
+                                       /* Global data */
+
+
+  DEBUG_puts("ippNew()");
+
+  if ((temp = (ipp_t *)calloc(1, sizeof(ipp_t))) != NULL)
+  {
+   /*
+    * Set default version - usually 2.0...
+    */
+
+    if (cg->server_version == 0)
+      _cupsSetDefaults();
+
+    temp->request.any.version[0] = cg->server_version / 10;
+    temp->request.any.version[1] = cg->server_version % 10;
+    temp->use                    = 1;
+  }
+
+  DEBUG_printf(("1ippNew: Returning %p", temp));
+
+  return (temp);
+}
+
+
+/*
+ *  'ippNewRequest()' - Allocate a new IPP request message.
+ *
+ * The new request message is initialized with the attributes-charset and
+ * attributes-natural-language attributes added. The
+ * attributes-natural-language value is derived from the current locale.
+ *
+ * @since CUPS 1.2/OS X 10.5@
+ */
+
+ipp_t *                                        /* O - IPP request message */
+ippNewRequest(ipp_op_t op)             /* I - Operation code */
+{
+  ipp_t                *request;               /* IPP request message */
+  cups_lang_t  *language;              /* Current language localization */
+  static int   request_id = 0;         /* Current request ID */
+  static _cups_mutex_t request_mutex = _CUPS_MUTEX_INITIALIZER;
+                                       /* Mutex for request ID */
+
+
+  DEBUG_printf(("ippNewRequest(op=%02x(%s))", op, ippOpString(op)));
+
+ /*
+  * Create a new IPP message...
+  */
+
+  if ((request = ippNew()) == NULL)
+    return (NULL);
+
+ /*
+  * Set the operation and request ID...
+  */
+
+  _cupsMutexLock(&request_mutex);
+
+  request->request.op.operation_id = op;
+  request->request.op.request_id   = ++request_id;
+
+  _cupsMutexUnlock(&request_mutex);
+
+ /*
+  * Use UTF-8 as the character set...
+  */
+
+  ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_CHARSET,
+               "attributes-charset", NULL, "utf-8");
+
+ /*
+  * Get the language from the current locale...
+  */
+
+  language = cupsLangDefault();
+
+  ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE,
+               "attributes-natural-language", NULL, language->language);
+
+ /*
+  * Return the new request...
+  */
+
+  return (request);
+}
+
+
+/*
+ * 'ippRead()' - Read data for an IPP message from a HTTP connection.
+ */
+
+ipp_state_t                            /* O - Current state */
+ippRead(http_t *http,                  /* I - HTTP connection */
+        ipp_t  *ipp)                   /* I - IPP data */
+{
+  DEBUG_printf(("ippRead(http=%p, ipp=%p), data_remaining=" CUPS_LLFMT,
+                http, ipp, CUPS_LLCAST (http ? http->data_remaining : -1)));
+
+  if (!http)
+    return (IPP_ERROR);
+
+  DEBUG_printf(("2ippRead: http->state=%d, http->used=%d", http->state,
+                http->used));
+
+  return (ippReadIO(http, (ipp_iocb_t)ipp_read_http, http->blocking, NULL,
+                    ipp));
+}
+
+
+/*
+ * 'ippReadFile()' - Read data for an IPP message from a file.
+ *
+ * @since CUPS 1.1.19/OS X 10.3@
+ */
+
+ipp_state_t                            /* O - Current state */
+ippReadFile(int   fd,                  /* I - HTTP data */
+            ipp_t *ipp)                        /* I - IPP data */
+{
+  DEBUG_printf(("ippReadFile(fd=%d, ipp=%p)", fd, ipp));
+
+  return (ippReadIO(&fd, (ipp_iocb_t)ipp_read_file, 1, NULL, ipp));
+}
+
+
+/*
+ * 'ippReadIO()' - Read data for an IPP message.
+ *
+ * @since CUPS 1.2/OS X 10.5@
+ */
+
+ipp_state_t                            /* O - Current state */
+ippReadIO(void       *src,             /* I - Data source */
+          ipp_iocb_t cb,               /* I - Read callback function */
+         int        blocking,          /* I - Use blocking IO? */
+         ipp_t      *parent,           /* I - Parent request, if any */
+          ipp_t      *ipp)             /* I - IPP data */
+{
+  int                  n;              /* Length of data */
+  unsigned char                *buffer,        /* Data buffer */
+                       string[IPP_MAX_NAME],
+                                       /* Small string buffer */
+                       *bufptr;        /* Pointer into buffer */
+  ipp_attribute_t      *attr;          /* Current attribute */
+  ipp_tag_t            tag;            /* Current tag */
+  ipp_tag_t            value_tag;      /* Current value tag */
+  _ipp_value_t         *value;         /* Current value */
+
+
+  DEBUG_printf(("ippReadIO(src=%p, cb=%p, blocking=%d, parent=%p, ipp=%p)",
+                src, cb, blocking, parent, ipp));
+  DEBUG_printf(("2ippReadIO: ipp->state=%d", ipp ? ipp->state : IPP_ERROR));
+
+  if (!src || !ipp)
+    return (IPP_ERROR);
+
+  if ((buffer = (unsigned char *)_cupsBufferGet(IPP_BUF_SIZE)) == NULL)
+  {
+    DEBUG_puts("1ippReadIO: Unable to get read buffer.");
+    return (IPP_ERROR);
+  }
+
+  switch (ipp->state)
+  {
+    case IPP_IDLE :
+        ipp->state ++; /* Avoid common problem... */
+
+    case IPP_HEADER :
+        if (parent == NULL)
+       {
+        /*
+          * Get the request header...
+         */
+
+          if ((*cb)(src, buffer, 8) < 8)
          {
-           _cupsSetError(IPP_ERROR,
-                         _("IPP value larger than 32767 bytes."), 1);
-           DEBUG_printf(("1ippReadIO: bad value length %d.", n));
-           ipp_buffer_release(buffer);
+           DEBUG_puts("1ippReadIO: Unable to read header.");
+           _cupsBufferRelease((char *)buffer);
            return (IPP_ERROR);
          }
 
-         switch (tag)
-         {
-           case IPP_TAG_INTEGER :
-           case IPP_TAG_ENUM :
-               if (n != 4)
-               {
-                 if (tag == IPP_TAG_INTEGER)
-                   _cupsSetError(IPP_ERROR,
-                                 _("IPP integer value not 4 bytes."), 1);
-                 else
-                   _cupsSetError(IPP_ERROR,
-                                 _("IPP enum value not 4 bytes."), 1);
-                 DEBUG_printf(("1ippReadIO: bad value length %d.", n));
-                 ipp_buffer_release(buffer);
-                 return (IPP_ERROR);
-               }
+        /*
+          * Then copy the request header over...
+         */
 
-               if ((*cb)(src, buffer, 4) < 4)
-               {
-                 DEBUG_puts("1ippReadIO: Unable to read integer value.");
-                 ipp_buffer_release(buffer);
-                 return (IPP_ERROR);
-               }
+          ipp->request.any.version[0]  = buffer[0];
+          ipp->request.any.version[1]  = buffer[1];
+          ipp->request.any.op_status   = (buffer[2] << 8) | buffer[3];
+          ipp->request.any.request_id  = (((((buffer[4] << 8) | buffer[5]) << 8) |
+                                        buffer[6]) << 8) | buffer[7];
 
-               n = (((((buffer[0] << 8) | buffer[1]) << 8) | buffer[2]) << 8) |
-                   buffer[3];
+          DEBUG_printf(("2ippReadIO: version=%d.%d", buffer[0], buffer[1]));
+         DEBUG_printf(("2ippReadIO: op_status=%04x",
+                       ipp->request.any.op_status));
+         DEBUG_printf(("2ippReadIO: request_id=%d",
+                       ipp->request.any.request_id));
+        }
 
-                if (attr->value_tag == IPP_TAG_RANGE)
-                  value->range.lower = value->range.upper = n;
-                else
-                 value->integer = n;
-               break;
+        ipp->state   = IPP_ATTRIBUTE;
+       ipp->current = NULL;
+       ipp->curtag  = IPP_TAG_ZERO;
+       ipp->prev    = ipp->last;
 
-           case IPP_TAG_BOOLEAN :
-               if (n != 1)
-               {
-                 _cupsSetError(IPP_ERROR, _("IPP boolean value not 1 byte."),
-                               1);
-                 DEBUG_printf(("1ippReadIO: bad value length %d.", n));
-                 ipp_buffer_release(buffer);
-                 return (IPP_ERROR);
-               }
+       /*
+        * If blocking is disabled, stop here...
+       */
 
-               if ((*cb)(src, buffer, 1) < 1)
-               {
-                 DEBUG_puts("1ippReadIO: Unable to read boolean value.");
-                 ipp_buffer_release(buffer);
-                 return (IPP_ERROR);
-               }
+        if (!blocking)
+         break;
 
-                value->boolean = buffer[0];
-               break;
+    case IPP_ATTRIBUTE :
+        for (;;)
+       {
+         if ((*cb)(src, buffer, 1) < 1)
+         {
+           DEBUG_puts("1ippReadIO: Callback returned EOF/error");
+           _cupsBufferRelease((char *)buffer);
+           return (IPP_ERROR);
+         }
+
+         DEBUG_printf(("2ippReadIO: ipp->current=%p, ipp->prev=%p",
+                       ipp->current, ipp->prev));
+
+        /*
+         * Read this attribute...
+         */
+
+          tag = (ipp_tag_t)buffer[0];
+          if (tag == IPP_TAG_EXTENSION)
+          {
+           /*
+            * Read 32-bit "extension" tag...
+            */
+
+           if ((*cb)(src, buffer, 4) < 1)
+           {
+             DEBUG_puts("1ippReadIO: Callback returned EOF/error");
+             _cupsBufferRelease((char *)buffer);
+             return (IPP_ERROR);
+           }
+
+           tag = (ipp_tag_t)((((((buffer[0] << 8) | buffer[1]) << 8) |
+                               buffer[2]) << 8) | buffer[3]);
+
+            if (tag & IPP_TAG_COPY)
+            {
+             /*
+              * Fail if the high bit is set in the tag...
+              */
+
+             _cupsSetError(IPP_INTERNAL_ERROR, _("IPP extension tag larger than 0x7FFFFFFF."), 1);
+             DEBUG_printf(("1ippReadIO: bad tag 0x%x.", tag));
+             _cupsBufferRelease((char *)buffer);
+             return (IPP_ERROR);
+            }
+          }
+
+         if (tag == IPP_TAG_END)
+         {
+          /*
+           * No more attributes left...
+           */
+
+            DEBUG_puts("2ippReadIO: IPP_TAG_END.");
+
+           ipp->state = IPP_DATA;
+           break;
+         }
+          else if (tag < IPP_TAG_UNSUPPORTED_VALUE)
+         {
+          /*
+           * Group tag...  Set the current group and continue...
+           */
+
+            if (ipp->curtag == tag)
+             ipp->prev = ippAddSeparator(ipp);
+            else if (ipp->current)
+             ipp->prev = ipp->current;
+
+           ipp->curtag  = tag;
+           ipp->current = NULL;
+           DEBUG_printf(("2ippReadIO: group tag=%x(%s), ipp->prev=%p", tag,
+                         ippTagString(tag), ipp->prev));
+           continue;
+         }
+
+          DEBUG_printf(("2ippReadIO: value tag=%x(%s)", tag,
+                       ippTagString(tag)));
+
+         /*
+         * Get the name...
+         */
+
+          if ((*cb)(src, buffer, 2) < 2)
+         {
+           DEBUG_puts("1ippReadIO: unable to read name length.");
+           _cupsBufferRelease((char *)buffer);
+           return (IPP_ERROR);
+         }
+
+          n = (buffer[0] << 8) | buffer[1];
+
+          if (n >= IPP_BUF_SIZE)
+         {
+           _cupsSetError(IPP_INTERNAL_ERROR, _("IPP name larger than 32767 bytes."), 1);
+           DEBUG_printf(("1ippReadIO: bad name length %d.", n));
+           _cupsBufferRelease((char *)buffer);
+           return (IPP_ERROR);
+         }
+
+          DEBUG_printf(("2ippReadIO: name length=%d", n));
+
+          if (n == 0 && tag != IPP_TAG_MEMBERNAME &&
+             tag != IPP_TAG_END_COLLECTION)
+         {
+          /*
+           * More values for current attribute...
+           */
+
+            if (ipp->current == NULL)
+           {
+             _cupsSetError(IPP_INTERNAL_ERROR, _("IPP attribute has no name."), 1);
+             DEBUG_puts("1ippReadIO: Attribute without name and no current.");
+             _cupsBufferRelease((char *)buffer);
+             return (IPP_ERROR);
+           }
+
+            attr      = ipp->current;
+           value_tag = (ipp_tag_t)(attr->value_tag & IPP_TAG_MASK);
+
+          /*
+           * Make sure we aren't adding a new value of a different
+           * type...
+           */
+
+           if (value_tag == IPP_TAG_ZERO)
+           {
+            /*
+             * Setting the value of a collection member...
+             */
+
+             attr->value_tag = tag;
+           }
+           else if (value_tag == IPP_TAG_TEXTLANG ||
+                    value_tag == IPP_TAG_NAMELANG ||
+                    (value_tag >= IPP_TAG_TEXT &&
+                     value_tag <= IPP_TAG_MIMETYPE))
+            {
+            /*
+             * String values can sometimes come across in different
+             * forms; accept sets of differing values...
+             */
+
+             if (tag != IPP_TAG_TEXTLANG && tag != IPP_TAG_NAMELANG &&
+                 (tag < IPP_TAG_TEXT || tag > IPP_TAG_MIMETYPE) &&
+                 tag != IPP_TAG_NOVALUE)
+             {
+               _cupsSetError(IPP_INTERNAL_ERROR,
+                             _("IPP 1setOf attribute with incompatible value "
+                               "tags."), 1);
+               DEBUG_printf(("1ippReadIO: 1setOf value tag %x(%s) != %x(%s)",
+                             value_tag, ippTagString(value_tag), tag,
+                             ippTagString(tag)));
+               _cupsBufferRelease((char *)buffer);
+               return (IPP_ERROR);
+             }
+
+              if (value_tag != tag)
+              {
+                DEBUG_printf(("1ippReadIO: Converting %s attribute from %s to %s.",
+                              attr->name, ippTagString(value_tag), ippTagString(tag)));
+               ippSetValueTag(ipp, &attr, tag);
+             }
+            }
+           else if (value_tag == IPP_TAG_INTEGER ||
+                    value_tag == IPP_TAG_RANGE)
+            {
+            /*
+             * Integer and rangeOfInteger values can sometimes be mixed; accept
+             * sets of differing values...
+             */
+
+             if (tag != IPP_TAG_INTEGER && tag != IPP_TAG_RANGE)
+             {
+               _cupsSetError(IPP_INTERNAL_ERROR,
+                             _("IPP 1setOf attribute with incompatible value "
+                               "tags."), 1);
+               DEBUG_printf(("1ippReadIO: 1setOf value tag %x(%s) != %x(%s)",
+                             value_tag, ippTagString(value_tag), tag,
+                             ippTagString(tag)));
+               _cupsBufferRelease((char *)buffer);
+               return (IPP_ERROR);
+             }
+
+              if (value_tag == IPP_TAG_INTEGER && tag == IPP_TAG_RANGE)
+              {
+               /*
+                * Convert integer values to rangeOfInteger values...
+                */
+
+               DEBUG_printf(("1ippReadIO: Converting %s attribute to "
+                             "rangeOfInteger.", attr->name));
+                ippSetValueTag(ipp, &attr, IPP_TAG_RANGE);
+              }
+            }
+           else if (value_tag != tag)
+           {
+             _cupsSetError(IPP_INTERNAL_ERROR,
+                           _("IPP 1setOf attribute with incompatible value "
+                             "tags."), 1);
+             DEBUG_printf(("1ippReadIO: value tag %x(%s) != %x(%s)",
+                           value_tag, ippTagString(value_tag), tag,
+                           ippTagString(tag)));
+             _cupsBufferRelease((char *)buffer);
+             return (IPP_ERROR);
+            }
+
+           /*
+           * Finally, reallocate the attribute array as needed...
+           */
+
+           if ((value = ipp_set_value(ipp, &attr, attr->num_values)) == NULL)
+           {
+             _cupsBufferRelease((char *)buffer);
+             return (IPP_ERROR);
+           }
+         }
+         else if (tag == IPP_TAG_MEMBERNAME)
+         {
+          /*
+           * Name must be length 0!
+           */
+
+           if (n)
+           {
+             _cupsSetError(IPP_INTERNAL_ERROR, _("IPP member name is not empty."), 1);
+             DEBUG_puts("1ippReadIO: member name not empty.");
+             _cupsBufferRelease((char *)buffer);
+             return (IPP_ERROR);
+           }
+
+            if (ipp->current)
+             ipp->prev = ipp->current;
+
+           attr = ipp->current = ipp_add_attr(ipp, NULL, ipp->curtag, IPP_TAG_ZERO, 1);
+           if (!attr)
+           {
+             _cupsSetHTTPError(HTTP_ERROR);
+             DEBUG_puts("1ippReadIO: unable to allocate attribute.");
+             _cupsBufferRelease((char *)buffer);
+             return (IPP_ERROR);
+           }
+
+           DEBUG_printf(("2ippReadIO: membername, ipp->current=%p, ipp->prev=%p",
+                         ipp->current, ipp->prev));
+
+           value = attr->values;
+         }
+         else if (tag != IPP_TAG_END_COLLECTION)
+         {
+          /*
+           * New attribute; read the name and add it...
+           */
+
+           if ((*cb)(src, buffer, n) < n)
+           {
+             DEBUG_puts("1ippReadIO: unable to read name.");
+             _cupsBufferRelease((char *)buffer);
+             return (IPP_ERROR);
+           }
+
+           buffer[n] = '\0';
+
+            if (ipp->current)
+             ipp->prev = ipp->current;
+
+           if ((attr = ipp->current = ipp_add_attr(ipp, (char *)buffer, ipp->curtag, tag,
+                                                   1)) == NULL)
+           {
+             _cupsSetHTTPError(HTTP_ERROR);
+             DEBUG_puts("1ippReadIO: unable to allocate attribute.");
+             _cupsBufferRelease((char *)buffer);
+             return (IPP_ERROR);
+           }
+
+           DEBUG_printf(("2ippReadIO: name=\"%s\", ipp->current=%p, "
+                         "ipp->prev=%p", buffer, ipp->current, ipp->prev));
+
+           value = attr->values;
+         }
+         else
+         {
+           attr  = NULL;
+           value = NULL;
+         }
+
+         if ((*cb)(src, buffer, 2) < 2)
+         {
+           DEBUG_puts("1ippReadIO: unable to read value length.");
+           _cupsBufferRelease((char *)buffer);
+           return (IPP_ERROR);
+         }
+
+         n = (buffer[0] << 8) | buffer[1];
+          DEBUG_printf(("2ippReadIO: value length=%d", n));
+
+         if (n >= IPP_BUF_SIZE)
+         {
+           _cupsSetError(IPP_INTERNAL_ERROR,
+                         _("IPP value larger than 32767 bytes."), 1);
+           DEBUG_printf(("1ippReadIO: bad value length %d.", n));
+           _cupsBufferRelease((char *)buffer);
+           return (IPP_ERROR);
+         }
+
+         switch (tag)
+         {
+           case IPP_TAG_INTEGER :
+           case IPP_TAG_ENUM :
+               if (n != 4)
+               {
+                 if (tag == IPP_TAG_INTEGER)
+                   _cupsSetError(IPP_INTERNAL_ERROR,
+                                 _("IPP integer value not 4 bytes."), 1);
+                 else
+                   _cupsSetError(IPP_INTERNAL_ERROR,
+                                 _("IPP enum value not 4 bytes."), 1);
+                 DEBUG_printf(("1ippReadIO: bad integer value length %d.", n));
+                 _cupsBufferRelease((char *)buffer);
+                 return (IPP_ERROR);
+               }
+
+               if ((*cb)(src, buffer, 4) < 4)
+               {
+                 DEBUG_puts("1ippReadIO: Unable to read integer value.");
+                 _cupsBufferRelease((char *)buffer);
+                 return (IPP_ERROR);
+               }
+
+               n = (((((buffer[0] << 8) | buffer[1]) << 8) | buffer[2]) << 8) |
+                   buffer[3];
+
+                if (attr->value_tag == IPP_TAG_RANGE)
+                  value->range.lower = value->range.upper = n;
+                else
+                 value->integer = n;
+               break;
+
+           case IPP_TAG_BOOLEAN :
+               if (n != 1)
+               {
+                 _cupsSetError(IPP_INTERNAL_ERROR, _("IPP boolean value not 1 byte."),
+                               1);
+                 DEBUG_printf(("1ippReadIO: bad boolean value length %d.", n));
+                 _cupsBufferRelease((char *)buffer);
+                 return (IPP_ERROR);
+               }
+
+               if ((*cb)(src, buffer, 1) < 1)
+               {
+                 DEBUG_puts("1ippReadIO: Unable to read boolean value.");
+                 _cupsBufferRelease((char *)buffer);
+                 return (IPP_ERROR);
+               }
+
+                value->boolean = buffer[0];
+               break;
+
+            case IPP_TAG_NOVALUE :
+           case IPP_TAG_NOTSETTABLE :
+           case IPP_TAG_DELETEATTR :
+           case IPP_TAG_ADMINDEFINE :
+              /*
+               * These value types are not supposed to have values, however
+               * some vendors (Brother) do not implement IPP correctly and so
+               * we need to map non-empty values to text...
+               */
+
+               if (attr->value_tag == tag)
+               {
+                 if (n == 0)
+                   break;
+
+                 attr->value_tag = IPP_TAG_TEXT;
+               }
+
+           case IPP_TAG_TEXT :
+           case IPP_TAG_NAME :
+           case IPP_TAG_KEYWORD :
+           case IPP_TAG_URI :
+           case IPP_TAG_URISCHEME :
+           case IPP_TAG_CHARSET :
+           case IPP_TAG_LANGUAGE :
+           case IPP_TAG_MIMETYPE :
+               if (n > 0)
+               {
+                 if ((*cb)(src, buffer, n) < n)
+                 {
+                   DEBUG_puts("1ippReadIO: unable to read string value.");
+                   _cupsBufferRelease((char *)buffer);
+                   return (IPP_ERROR);
+                 }
+               }
+
+               buffer[n] = '\0';
+               value->string.text = _cupsStrAlloc((char *)buffer);
+               DEBUG_printf(("2ippReadIO: value=\"%s\"", value->string.text));
+               break;
+
+           case IPP_TAG_DATE :
+               if (n != 11)
+               {
+                 _cupsSetError(IPP_INTERNAL_ERROR, _("IPP date value not 11 bytes."), 1);
+                 DEBUG_printf(("1ippReadIO: bad date value length %d.", n));
+                 _cupsBufferRelease((char *)buffer);
+                 return (IPP_ERROR);
+               }
+
+               if ((*cb)(src, value->date, 11) < 11)
+               {
+                 DEBUG_puts("1ippReadIO: Unable to read date value.");
+                 _cupsBufferRelease((char *)buffer);
+                 return (IPP_ERROR);
+               }
+               break;
+
+           case IPP_TAG_RESOLUTION :
+               if (n != 9)
+               {
+                 _cupsSetError(IPP_INTERNAL_ERROR,
+                               _("IPP resolution value not 9 bytes."), 1);
+                 DEBUG_printf(("1ippReadIO: bad resolution value length %d.", n));
+                 _cupsBufferRelease((char *)buffer);
+                 return (IPP_ERROR);
+               }
+
+               if ((*cb)(src, buffer, 9) < 9)
+               {
+                 DEBUG_puts("1ippReadIO: Unable to read resolution value.");
+                 _cupsBufferRelease((char *)buffer);
+                 return (IPP_ERROR);
+               }
+
+                value->resolution.xres =
+                   (((((buffer[0] << 8) | buffer[1]) << 8) | buffer[2]) << 8) |
+                   buffer[3];
+                value->resolution.yres =
+                   (((((buffer[4] << 8) | buffer[5]) << 8) | buffer[6]) << 8) |
+                   buffer[7];
+                value->resolution.units =
+                   (ipp_res_t)buffer[8];
+               break;
+
+           case IPP_TAG_RANGE :
+               if (n != 8)
+               {
+                 _cupsSetError(IPP_INTERNAL_ERROR,
+                               _("IPP rangeOfInteger value not 8 bytes."), 1);
+                 DEBUG_printf(("1ippReadIO: bad rangeOfInteger value length "
+                               "%d.", n));
+                 _cupsBufferRelease((char *)buffer);
+                 return (IPP_ERROR);
+               }
+
+               if ((*cb)(src, buffer, 8) < 8)
+               {
+                 DEBUG_puts("1ippReadIO: Unable to read range value.");
+                 _cupsBufferRelease((char *)buffer);
+                 return (IPP_ERROR);
+               }
+
+                value->range.lower =
+                   (((((buffer[0] << 8) | buffer[1]) << 8) | buffer[2]) << 8) |
+                   buffer[3];
+                value->range.upper =
+                   (((((buffer[4] << 8) | buffer[5]) << 8) | buffer[6]) << 8) |
+                   buffer[7];
+               break;
+
+           case IPP_TAG_TEXTLANG :
+           case IPP_TAG_NAMELANG :
+               if (n < 4)
+               {
+                 if (tag == IPP_TAG_TEXTLANG)
+                   _cupsSetError(IPP_INTERNAL_ERROR,
+                                 _("IPP textWithLanguage value less than "
+                                   "minimum 4 bytes."), 1);
+                 else
+                   _cupsSetError(IPP_INTERNAL_ERROR,
+                                 _("IPP nameWithLanguage value less than "
+                                   "minimum 4 bytes."), 1);
+                 DEBUG_printf(("1ippReadIO: bad stringWithLanguage value "
+                               "length %d.", n));
+                 _cupsBufferRelease((char *)buffer);
+                 return (IPP_ERROR);
+               }
+
+               if ((*cb)(src, buffer, n) < n)
+               {
+                 DEBUG_puts("1ippReadIO: Unable to read string w/language "
+                            "value.");
+                 _cupsBufferRelease((char *)buffer);
+                 return (IPP_ERROR);
+               }
+
+                bufptr = buffer;
+
+              /*
+               * text-with-language and name-with-language are composite
+               * values:
+               *
+               *    language-length
+               *    language
+               *    text-length
+               *    text
+               */
+
+               n = (bufptr[0] << 8) | bufptr[1];
+
+               if ((bufptr + 2 + n) >= (buffer + IPP_BUF_SIZE) ||
+                   n >= sizeof(string))
+               {
+                 _cupsSetError(IPP_INTERNAL_ERROR,
+                               _("IPP language length overflows value."), 1);
+                 DEBUG_printf(("1ippReadIO: bad language value length %d.",
+                               n));
+                 _cupsBufferRelease((char *)buffer);
+                 return (IPP_ERROR);
+               }
+
+               memcpy(string, bufptr + 2, n);
+               string[n] = '\0';
+
+               value->string.language = _cupsStrAlloc((char *)string);
+
+                bufptr += 2 + n;
+               n = (bufptr[0] << 8) | bufptr[1];
+
+               if ((bufptr + 2 + n) >= (buffer + IPP_BUF_SIZE))
+               {
+                 _cupsSetError(IPP_INTERNAL_ERROR,
+                               _("IPP string length overflows value."), 1);
+                 DEBUG_printf(("1ippReadIO: bad string value length %d.", n));
+                 _cupsBufferRelease((char *)buffer);
+                 return (IPP_ERROR);
+               }
+
+               bufptr[2 + n] = '\0';
+                value->string.text = _cupsStrAlloc((char *)bufptr + 2);
+               break;
+
+            case IPP_TAG_BEGIN_COLLECTION :
+              /*
+               * Oh, boy, here comes a collection value, so read it...
+               */
+
+                value->collection = ippNew();
+
+                if (n > 0)
+               {
+                 _cupsSetError(IPP_INTERNAL_ERROR,
+                               _("IPP begCollection value not 0 bytes."), 1);
+                 DEBUG_puts("1ippReadIO: begCollection tag with value length "
+                            "> 0.");
+                 _cupsBufferRelease((char *)buffer);
+                 return (IPP_ERROR);
+               }
+
+               if (ippReadIO(src, cb, 1, ipp, value->collection) == IPP_ERROR)
+               {
+                 DEBUG_puts("1ippReadIO: Unable to read collection value.");
+                 _cupsBufferRelease((char *)buffer);
+                 return (IPP_ERROR);
+               }
+                break;
+
+            case IPP_TAG_END_COLLECTION :
+               _cupsBufferRelease((char *)buffer);
+
+                if (n > 0)
+               {
+                 _cupsSetError(IPP_INTERNAL_ERROR,
+                               _("IPP endCollection value not 0 bytes."), 1);
+                 DEBUG_puts("1ippReadIO: endCollection tag with value length "
+                            "> 0.");
+                 return (IPP_ERROR);
+               }
+
+               DEBUG_puts("1ippReadIO: endCollection tag...");
+               return (ipp->state = IPP_DATA);
+
+            case IPP_TAG_MEMBERNAME :
+              /*
+               * The value the name of the member in the collection, which
+               * we need to carry over...
+               */
+
+                if (!attr)
+                {
+                 _cupsSetError(IPP_INTERNAL_ERROR,
+                               _("IPP memberName with no attribute."), 1);
+                 DEBUG_puts("1ippReadIO: Member name without attribute.");
+                 _cupsBufferRelease((char *)buffer);
+                 return (IPP_ERROR);
+                }
+               else if (n == 0)
+               {
+                 _cupsSetError(IPP_INTERNAL_ERROR,
+                               _("IPP memberName value is empty."), 1);
+                 DEBUG_puts("1ippReadIO: Empty member name value.");
+                 _cupsBufferRelease((char *)buffer);
+                 return (IPP_ERROR);
+               }
+               else if ((*cb)(src, buffer, n) < n)
+               {
+                 DEBUG_puts("1ippReadIO: Unable to read member name value.");
+                 _cupsBufferRelease((char *)buffer);
+                 return (IPP_ERROR);
+               }
+
+               buffer[n] = '\0';
+               attr->name = _cupsStrAlloc((char *)buffer);
+
+               /*
+               * Since collection members are encoded differently than
+               * regular attributes, make sure we don't start with an
+               * empty value...
+               */
+
+                attr->num_values --;
+
+               DEBUG_printf(("2ippReadIO: member name=\"%s\"", attr->name));
+               break;
+
+            default : /* Other unsupported values */
+                value->unknown.length = n;
+               if (n > 0)
+               {
+                 if ((value->unknown.data = malloc(n)) == NULL)
+                 {
+                   _cupsSetHTTPError(HTTP_ERROR);
+                   DEBUG_puts("1ippReadIO: Unable to allocate value");
+                   _cupsBufferRelease((char *)buffer);
+                   return (IPP_ERROR);
+                 }
+
+                 if ((*cb)(src, value->unknown.data, n) < n)
+                 {
+                   DEBUG_puts("1ippReadIO: Unable to read unsupported value.");
+                   _cupsBufferRelease((char *)buffer);
+                   return (IPP_ERROR);
+                 }
+               }
+               else
+                 value->unknown.data = NULL;
+               break;
+         }
+
+        /*
+          * If blocking is disabled, stop here...
+         */
+
+          if (!blocking)
+           break;
+       }
+        break;
+
+    case IPP_DATA :
+        break;
+
+    default :
+        break; /* anti-compiler-warning-code */
+  }
+
+  DEBUG_printf(("1ippReadIO: returning ipp->state=%d.", ipp->state));
+  _cupsBufferRelease((char *)buffer);
+
+  return (ipp->state);
+}
+
+
+/*
+ * 'ippSetBoolean()' - Set a boolean value in an attribute.
+ *
+ * The @code ipp@ parameter refers to the IPP message containing the attribute that was
+ * previously created using the @link ippNew@ or @link ippNewRequest@ functions.
+ *
+ * The @code attr@ parameter may be modified as a result of setting the value.
+ *
+ * The @code element@ parameter specifies which value to set from 0 to
+ * @link ippGetCount(attr)@.
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
+
+int                                    /* O  - 1 on success, 0 on failure */
+ippSetBoolean(ipp_t           *ipp,    /* IO - IPP message */
+              ipp_attribute_t **attr,  /* IO - IPP attribute */
+              int             element, /* I  - Value number (0-based) */
+              int             boolvalue)/* I  - Boolean value */
+{
+  _ipp_value_t *value;                 /* Current value */
+
+
+ /*
+  * Range check input...
+  */
+
+  if (!ipp || !attr || !*attr || (*attr)->value_tag != IPP_TAG_BOOLEAN ||
+      element < 0 || element > (*attr)->num_values)
+    return (0);
+
+ /*
+  * Set the value and return...
+  */
+
+  if ((value = ipp_set_value(ipp, attr, element)) != NULL)
+    value->boolean = boolvalue;
+
+  return (value != NULL);
+}
+
+
+/*
+ * 'ippSetCollection()' - Set a collection value in an attribute.
+ *
+ * The @code ipp@ parameter refers to the IPP message containing the attribute that was
+ * previously created using the @link ippNew@ or @link ippNewRequest@ functions.
+ *
+ * The @code attr@ parameter may be modified as a result of setting the value.
+ *
+ * The @code element@ parameter specifies which value to set from 0 to
+ * @link ippGetCount(attr)@.
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
+
+int                                    /* O  - 1 on success, 0 on failure */
+ippSetCollection(
+    ipp_t           *ipp,              /* IO - IPP message */
+    ipp_attribute_t **attr,            /* IO - IPP attribute */
+    int             element,           /* I  - Value number (0-based) */
+    ipp_t           *colvalue)         /* I  - Collection value */
+{
+  _ipp_value_t *value;                 /* Current value */
+
+
+ /*
+  * Range check input...
+  */
+
+  if (!ipp || !attr || !*attr || (*attr)->value_tag != IPP_TAG_BEGIN_COLLECTION ||
+      element < 0 || element > (*attr)->num_values || !colvalue)
+    return (0);
+
+ /*
+  * Set the value and return...
+  */
+
+  if ((value = ipp_set_value(ipp, attr, element)) != NULL)
+  {
+    if (value->collection)
+      ippDelete(value->collection);
+
+    value->collection = colvalue;
+    colvalue->use ++;
+  }
+
+  return (value != NULL);
+}
+
+
+/*
+ * 'ippSetDate()' - Set a date value in an attribute.
+ *
+ * The @code ipp@ parameter refers to the IPP message containing the attribute that was
+ * previously created using the @link ippNew@ or @link ippNewRequest@ functions.
+ *
+ * The @code attr@ parameter may be modified as a result of setting the value.
+ *
+ * The @code element@ parameter specifies which value to set from 0 to
+ * @link ippGetCount(attr)@.
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
+
+int                                    /* O  - 1 on success, 0 on failure */
+ippSetDate(ipp_t             *ipp,     /* IO - IPP message */
+           ipp_attribute_t   **attr,   /* IO - IPP attribute */
+           int               element,  /* I  - Value number (0-based) */
+           const ipp_uchar_t *datevalue)/* I  - Date value */
+{
+  _ipp_value_t *value;                 /* Current value */
+
+
+ /*
+  * Range check input...
+  */
+
+  if (!ipp || !attr || !*attr || (*attr)->value_tag != IPP_TAG_DATE ||
+      element < 0 || element > (*attr)->num_values || !datevalue)
+    return (0);
+
+ /*
+  * Set the value and return...
+  */
+
+  if ((value = ipp_set_value(ipp, attr, element)) != NULL)
+    memcpy(value->date, datevalue, sizeof(value->date));
+
+  return (value != NULL);
+}
+
+
+/*
+ * 'ippSetGroupTag()' - Set the group tag of an attribute.
+ *
+ * The @code ipp@ parameter refers to the IPP message containing the attribute that was
+ * previously created using the @link ippNew@ or @link ippNewRequest@ functions.
+ *
+ * The @code attr@ parameter may be modified as a result of setting the value.
+ *
+ * The @code group@ parameter specifies the IPP attribute group tag: none
+ * (@code IPP_TAG_ZERO@, for member attributes), document (@code IPP_TAG_DOCUMENT@),
+ * event notification (@code IPP_TAG_EVENT_NOTIFICATION@), operation
+ * (@code IPP_TAG_OPERATION@), printer (@code IPP_TAG_PRINTER@), subscription
+ * (@code IPP_TAG_SUBSCRIPTION@), or unsupported (@code IPP_TAG_UNSUPPORTED_GROUP@).
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
+
+int                                    /* O  - 1 on success, 0 on failure */
+ippSetGroupTag(
+    ipp_t           *ipp,              /* IO - IPP message */
+    ipp_attribute_t **attr,            /* IO - Attribute */
+    ipp_tag_t       group_tag)         /* I  - Group tag */
+{
+ /*
+  * Range check input - group tag must be 0x01 to 0x0F, per RFC 2911...
+  */
+
+  if (!ipp || !attr || group_tag < IPP_TAG_ZERO || group_tag == IPP_TAG_END ||
+      group_tag >= IPP_TAG_UNSUPPORTED_VALUE)
+    return (0);
+
+ /*
+  * Set the group tag and return...
+  */
+
+  (*attr)->group_tag = group_tag;
+
+  return (1);
+}
+
+
+/*
+ * 'ippSetInteger()' - Set an integer or enum value in an attribute.
+ *
+ * The @code ipp@ parameter refers to the IPP message containing the attribute that was
+ * previously created using the @link ippNew@ or @link ippNewRequest@ functions.
+ *
+ * The @code attr@ parameter may be modified as a result of setting the value.
+ *
+ * The @code element@ parameter specifies which value to set from 0 to
+ * @link ippGetCount(attr)@.
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
+
+int                                    /* O  - 1 on success, 0 on failure */
+ippSetInteger(ipp_t           *ipp,    /* IO - IPP message */
+              ipp_attribute_t **attr,  /* IO - IPP attribute */
+              int             element, /* I  - Value number (0-based) */
+              int             intvalue)        /* I  - Integer/enum value */
+{
+  _ipp_value_t *value;                 /* Current value */
+
+
+ /*
+  * Range check input...
+  */
+
+  if (!ipp || !attr || !*attr ||
+      ((*attr)->value_tag != IPP_TAG_INTEGER && (*attr)->value_tag != IPP_TAG_ENUM) ||
+      element < 0 || element > (*attr)->num_values)
+    return (0);
+
+ /*
+  * Set the value and return...
+  */
+
+  if ((value = ipp_set_value(ipp, attr, element)) != NULL)
+    value->integer = intvalue;
+
+  return (value != NULL);
+}
+
+
+/*
+ * 'ippSetName()' - Set the name of an attribute.
+ *
+ * The @code ipp@ parameter refers to the IPP message containing the attribute that was
+ * previously created using the @link ippNew@ or @link ippNewRequest@ functions.
+ *
+ * The @code attr@ parameter may be modified as a result of setting the value.
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
+
+int                                    /* O  - 1 on success, 0 on failure */
+ippSetName(ipp_t           *ipp,       /* IO - IPP message */
+          ipp_attribute_t **attr,      /* IO - IPP attribute */
+          const char      *name)       /* I  - Attribute name */
+{
+  char *temp;                          /* Temporary name value */
+
+
+ /*
+  * Range check input...
+  */
+
+  if (!ipp || !attr || !*attr)
+    return (0);
+
+ /*
+  * Set the value and return...
+  */
+
+  if ((temp = _cupsStrAlloc(name)) != NULL)
+  {
+    if ((*attr)->name)
+      _cupsStrFree((*attr)->name);
+
+    (*attr)->name = temp;
+  }
+
+  return (temp != NULL);
+}
+
+
+/*
+ * 'ippSetOperation()' - Set the operation ID in an IPP request message.
+ *
+ * The @code ipp@ parameter refers to an IPP message previously created using the
+ * @link ippNew@ or @link ippNewRequest@ functions.
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
+
+int                                    /* O - 1 on success, 0 on failure */
+ippSetOperation(ipp_t    *ipp,         /* I - IPP request message */
+                ipp_op_t op)           /* I - Operation ID */
+{
+ /*
+  * Range check input...
+  */
+
+  if (!ipp)
+    return (0);
+
+ /*
+  * Set the operation and return...
+  */
+
+  ipp->request.op.operation_id = op;
+
+  return (1);
+}
+
+
+/*
+ * 'ippSetRange()' - Set a rangeOfInteger value in an attribute.
+ *
+ * The @code ipp@ parameter refers to the IPP message containing the attribute that was
+ * previously created using the @link ippNew@ or @link ippNewRequest@ functions.
+ *
+ * The @code attr@ parameter may be modified as a result of setting the value.
+ *
+ * The @code element@ parameter specifies which value to set from 0 to
+ * @link ippGetCount(attr)@.
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
+
+int                                    /* O  - 1 on success, 0 on failure */
+ippSetRange(ipp_t           *ipp,      /* IO - IPP message */
+            ipp_attribute_t **attr,    /* IO - IPP attribute */
+            int             element,   /* I  - Value number (0-based) */
+           int             lowervalue, /* I  - Lower bound for range */
+           int             uppervalue) /* I  - Upper bound for range */
+{
+  _ipp_value_t *value;                 /* Current value */
+
+
+ /*
+  * Range check input...
+  */
+
+  if (!ipp || !attr || !*attr || (*attr)->value_tag != IPP_TAG_RANGE ||
+      element < 0 || element > (*attr)->num_values || lowervalue > uppervalue)
+    return (0);
+
+ /*
+  * Set the value and return...
+  */
+
+  if ((value = ipp_set_value(ipp, attr, element)) != NULL)
+  {
+    value->range.lower = lowervalue;
+    value->range.upper = uppervalue;
+  }
+
+  return (value != NULL);
+}
+
+
+/*
+ * 'ippSetRequestId()' - Set the request ID in an IPP message.
+ *
+ * The @code ipp@ parameter refers to an IPP message previously created using the
+ * @link ippNew@ or @link ippNewRequest@ functions.
+ *
+ * The @code request_id@ parameter must be greater than 0.
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
+
+int                                    /* O - 1 on success, 0 on failure */
+ippSetRequestId(ipp_t *ipp,            /* I - IPP message */
+                int   request_id)      /* I - Request ID */
+{
+ /*
+  * Range check input; not checking request_id values since ipptool wants to send
+  * invalid values for conformance testing and a bad request_id does not affect the
+  * encoding of a message...
+  */
+
+  if (!ipp)
+    return (0);
+
+ /*
+  * Set the request ID and return...
+  */
+
+  ipp->request.any.request_id = request_id;
+
+  return (1);
+}
+
+
+/*
+ * 'ippSetResolution()' - Set a resolution value in an attribute.
+ *
+ * The @code ipp@ parameter refers to the IPP message containing the attribute that was
+ * previously created using the @link ippNew@ or @link ippNewRequest@ functions.
+ *
+ * The @code attr@ parameter may be modified as a result of setting the value.
+ *
+ * The @code element@ parameter specifies which value to set from 0 to
+ * @link ippGetCount(attr)@.
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
+
+int                                    /* O  - 1 on success, 0 on failure */
+ippSetResolution(
+    ipp_t           *ipp,              /* IO - IPP message */
+    ipp_attribute_t **attr,            /* IO - IPP attribute */
+    int             element,           /* I  - Value number (0-based) */
+    ipp_res_t       unitsvalue,                /* I  - Resolution units */
+    int             xresvalue,         /* I  - Horizontal/cross feed resolution */
+    int             yresvalue)         /* I  - Vertical/feed resolution */
+{
+  _ipp_value_t *value;                 /* Current value */
+
+
+ /*
+  * Range check input...
+  */
+
+  if (!ipp || !attr || !*attr || (*attr)->value_tag != IPP_TAG_RESOLUTION ||
+      element < 0 || element > (*attr)->num_values || xresvalue <= 0 || yresvalue <= 0 ||
+      unitsvalue < IPP_RES_PER_INCH || unitsvalue > IPP_RES_PER_CM)
+    return (0);
+
+ /*
+  * Set the value and return...
+  */
+
+  if ((value = ipp_set_value(ipp, attr, element)) != NULL)
+  {
+    value->resolution.units = unitsvalue;
+    value->resolution.xres  = xresvalue;
+    value->resolution.yres  = yresvalue;
+  }
+
+  return (value != NULL);
+}
+
+
+/*
+ * 'ippSetState()' - Set the current state of the IPP message.
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
+
+int                                    /* O - 1 on success, 0 on failure */
+ippSetState(ipp_t       *ipp,          /* I - IPP message */
+            ipp_state_t state)         /* I - IPP state value */
+{
+ /*
+  * Range check input...
+  */
+
+  if (!ipp)
+    return (0);
+
+ /*
+  * Set the state and return...
+  */
 
-            case IPP_TAG_NOVALUE :
-           case IPP_TAG_NOTSETTABLE :
-           case IPP_TAG_DELETEATTR :
-           case IPP_TAG_ADMINDEFINE :
-              /*
-               * These value types are not supposed to have values, however
-               * some vendors (Brother) do not implement IPP correctly and so
-               * we need to map non-empty values to text...
-               */
+  ipp->state   = state;
+  ipp->current = NULL;
 
-               if (attr->value_tag == tag)
-               {
-                 if (n == 0)
-                   break;
+  return (1);
+}
 
-                 attr->value_tag = IPP_TAG_TEXT;
-               }
 
-           case IPP_TAG_TEXT :
-           case IPP_TAG_NAME :
-           case IPP_TAG_KEYWORD :
-           case IPP_TAG_URI :
-           case IPP_TAG_URISCHEME :
-           case IPP_TAG_CHARSET :
-           case IPP_TAG_LANGUAGE :
-           case IPP_TAG_MIMETYPE :
-               if ((*cb)(src, buffer, n) < n)
-               {
-                 DEBUG_puts("1ippReadIO: unable to read string value.");
-                 ipp_buffer_release(buffer);
-                 return (IPP_ERROR);
-               }
+/*
+ * 'ippSetStatusCode()' - Set the status code in an IPP response or event message.
+ *
+ * The @code ipp@ parameter refers to an IPP message previously created using the
+ * @link ippNew@ or @link ippNewRequest@ functions.
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
 
-               buffer[n] = '\0';
-               value->string.text = _cupsStrAlloc((char *)buffer);
-               DEBUG_printf(("2ippReadIO: value=\"%s\"", value->string.text));
-               break;
+int                                    /* O - 1 on success, 0 on failure */
+ippSetStatusCode(ipp_t        *ipp,    /* I - IPP response or event message */
+                 ipp_status_t status)  /* I - Status code */
+{
+ /*
+  * Range check input...
+  */
 
-           case IPP_TAG_DATE :
-               if (n != 11)
-               {
-                 _cupsSetError(IPP_ERROR, _("IPP date value not 11 bytes."),
-                               1);
-                 DEBUG_printf(("1ippReadIO: bad value length %d.", n));
-                 ipp_buffer_release(buffer);
-                 return (IPP_ERROR);
-               }
+  if (!ipp)
+    return (0);
 
-               if ((*cb)(src, value->date, 11) < 11)
-               {
-                 DEBUG_puts("1ippReadIO: Unable to read date value.");
-                 ipp_buffer_release(buffer);
-                 return (IPP_ERROR);
-               }
-               break;
+ /*
+  * Set the status code and return...
+  */
 
-           case IPP_TAG_RESOLUTION :
-               if (n != 9)
-               {
-                 _cupsSetError(IPP_ERROR,
-                               _("IPP resolution value not 9 bytes."), 1);
-                 DEBUG_printf(("1ippReadIO: bad value length %d.", n));
-                 ipp_buffer_release(buffer);
-                 return (IPP_ERROR);
-               }
+  ipp->request.status.status_code = status;
 
-               if ((*cb)(src, buffer, 9) < 9)
-               {
-                 DEBUG_puts("1ippReadIO: Unable to read resolution value.");
-                 ipp_buffer_release(buffer);
-                 return (IPP_ERROR);
-               }
+  return (1);
+}
 
-                value->resolution.xres =
-                   (((((buffer[0] << 8) | buffer[1]) << 8) | buffer[2]) << 8) |
-                   buffer[3];
-                value->resolution.yres =
-                   (((((buffer[4] << 8) | buffer[5]) << 8) | buffer[6]) << 8) |
-                   buffer[7];
-                value->resolution.units =
-                   (ipp_res_t)buffer[8];
-               break;
 
-           case IPP_TAG_RANGE :
-               if (n != 8)
-               {
-                 _cupsSetError(IPP_ERROR,
-                               _("IPP rangeOfInteger value not 8 bytes."), 1);
-                 DEBUG_printf(("1ippReadIO: bad value length %d.", n));
-                 ipp_buffer_release(buffer);
-                 return (IPP_ERROR);
-               }
+/*
+ * 'ippSetString()' - Set a string value in an attribute.
+ *
+ * The @code ipp@ parameter refers to the IPP message containing the attribute that was
+ * previously created using the @link ippNew@ or @link ippNewRequest@ functions.
+ *
+ * The @code attr@ parameter may be modified as a result of setting the value.
+ *
+ * The @code element@ parameter specifies which value to set from 0 to
+ * @link ippGetCount(attr)@.
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
 
-               if ((*cb)(src, buffer, 8) < 8)
-               {
-                 DEBUG_puts("1ippReadIO: Unable to read range value.");
-                 ipp_buffer_release(buffer);
-                 return (IPP_ERROR);
-               }
+int                                    /* O  - 1 on success, 0 on failure */
+ippSetString(ipp_t           *ipp,     /* IO - IPP message */
+             ipp_attribute_t **attr,   /* IO - IPP attribute */
+             int             element,  /* I  - Value number (0-based) */
+            const char      *strvalue) /* I  - String value */
+{
+  char         *temp;                  /* Temporary string */
+  _ipp_value_t *value;                 /* Current value */
 
-                value->range.lower =
-                   (((((buffer[0] << 8) | buffer[1]) << 8) | buffer[2]) << 8) |
-                   buffer[3];
-                value->range.upper =
-                   (((((buffer[4] << 8) | buffer[5]) << 8) | buffer[6]) << 8) |
-                   buffer[7];
-               break;
 
-           case IPP_TAG_TEXTLANG :
-           case IPP_TAG_NAMELANG :
-               if (n < 4)
-               {
-                 if (tag == IPP_TAG_TEXTLANG)
-                   _cupsSetError(IPP_ERROR,
-                                 _("IPP textWithLanguage value less than "
-                                   "minimum 4 bytes."), 1);
-                 else
-                   _cupsSetError(IPP_ERROR,
-                                 _("IPP nameWithLanguage value less than "
-                                   "minimum 4 bytes."), 1);
-                 DEBUG_printf(("1ippReadIO: bad value length %d.", n));
-                 ipp_buffer_release(buffer);
-                 return (IPP_ERROR);
-               }
+ /*
+  * Range check input...
+  */
 
-               if ((*cb)(src, buffer, n) < n)
-               {
-                 DEBUG_puts("1ippReadIO: Unable to read string w/language "
-                            "value.");
-                 ipp_buffer_release(buffer);
-                 return (IPP_ERROR);
-               }
+  if (!ipp || !attr || !*attr ||
+      ((*attr)->value_tag != IPP_TAG_TEXTLANG &&
+      (*attr)->value_tag != IPP_TAG_NAMELANG &&
+       ((*attr)->value_tag < IPP_TAG_TEXT ||
+        (*attr)->value_tag > IPP_TAG_MIMETYPE)) ||
+      element < 0 || element > (*attr)->num_values || !strvalue)
+    return (0);
 
-                bufptr = buffer;
+ /*
+  * Set the value and return...
+  */
 
-              /*
-               * text-with-language and name-with-language are composite
-               * values:
-               *
-               *    language-length
-               *    language
-               *    text-length
-               *    text
-               *
-               * The "charset" field name is an unfortunate typo from
-               * CUPS 1.0...
-               */
+  if ((value = ipp_set_value(ipp, attr, element)) != NULL)
+  {
+    if (element > 0)
+      value->string.language = (*attr)->values[0].string.language;
 
-               n = (bufptr[0] << 8) | bufptr[1];
+    if ((int)((*attr)->value_tag) & IPP_TAG_COPY)
+      value->string.text = (char *)strvalue;
+    else if ((temp = _cupsStrAlloc(strvalue)) != NULL)
+    {
+      if (value->string.text)
+        _cupsStrFree(value->string.text);
 
-               if ((bufptr + 2 + n) >= (buffer + IPP_BUF_SIZE) ||
-                   n >= sizeof(string))
-               {
-                 _cupsSetError(IPP_ERROR,
-                               _("IPP language length overflows value."), 1);
-                 DEBUG_printf(("1ippReadIO: bad value length %d.", n));
-                 ipp_buffer_release(buffer);
-                 return (IPP_ERROR);
-               }
+      value->string.text = temp;
+    }
+    else
+      return (0);
+  }
 
-               memcpy(string, bufptr + 2, n);
-               string[n] = '\0';
+  return (value != NULL);
+}
 
-               value->string.charset = _cupsStrAlloc((char *)string);
 
-                bufptr += 2 + n;
-               n = (bufptr[0] << 8) | bufptr[1];
+/*
+ * 'ippSetValueTag()' - Set the value tag of an attribute.
+ *
+ * The @code ipp@ parameter refers to the IPP message containing the attribute that was
+ * previously created using the @link ippNew@ or @link ippNewRequest@ functions.
+ *
+ * The @code attr@ parameter may be modified as a result of setting the value.
+ *
+ * Integer (@code IPP_TAG_INTEGER@) values can be promoted to rangeOfInteger
+ * (@code IPP_TAG_RANGE@) values, the various string tags can be promoted to name
+ * (@code IPP_TAG_NAME@) or nameWithLanguage (@code IPP_TAG_NAMELANG@) values, text
+ * (@code IPP_TAG_TEXT@) values can be promoted to textWithLanguage
+ * (@code IPP_TAG_TEXTLANG@) values, and all values can be demoted to the various
+ * out-of-band value tags such as no-value (@code IPP_TAG_NOVALUE@). All other changes
+ * will be rejected.
+ *
+ * Promoting a string attribute to nameWithLanguage or textWithLanguage adds the language
+ * code in the "attributes-natural-language" attribute or, if not present, the language
+ * code for the current locale.
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
 
-               if ((bufptr + 2 + n) >= (buffer + IPP_BUF_SIZE))
-               {
-                 _cupsSetError(IPP_ERROR,
-                               _("IPP string length overflows value."), 1);
-                 DEBUG_printf(("1ippReadIO: bad value length %d.", n));
-                 ipp_buffer_release(buffer);
-                 return (IPP_ERROR);
-               }
+int                                    /* O  - 1 on success, 0 on failure */
+ippSetValueTag(
+    ipp_t          *ipp,               /* IO - IPP message */
+    ipp_attribute_t **attr,            /* IO - IPP attribute */
+    ipp_tag_t       value_tag)         /* I  - Value tag */
+{
+  int          i;                      /* Looping var */
+  _ipp_value_t *value;                 /* Current value */
+  int          integer;                /* Current integer value */
+  cups_lang_t  *language;              /* Current language */
+  char         code[32];               /* Language code */
+  ipp_tag_t    temp_tag;               /* Temporary value tag */
 
-               bufptr[2 + n] = '\0';
-                value->string.text = _cupsStrAlloc((char *)bufptr + 2);
-               break;
 
-            case IPP_TAG_BEGIN_COLLECTION :
-              /*
-               * Oh, boy, here comes a collection value, so read it...
-               */
+ /*
+  * Range check input...
+  */
 
-                value->collection = ippNew();
+  if (!ipp || !attr)
+    return (0);
 
-                if (n > 0)
-               {
-                 _cupsSetError(IPP_ERROR,
-                               _("IPP begCollection value not 0 bytes."), 1);
-                 DEBUG_puts("1ippReadIO: begCollection tag with value length "
-                            "> 0.");
-                 ipp_buffer_release(buffer);
-                 return (IPP_ERROR);
-               }
+ /*
+  * If there is no change, return immediately...
+  */
 
-               if (ippReadIO(src, cb, 1, ipp, value->collection) == IPP_ERROR)
-               {
-                 DEBUG_puts("1ippReadIO: Unable to read collection value.");
-                 ipp_buffer_release(buffer);
-                 return (IPP_ERROR);
-               }
-                break;
+  if (value_tag == (*attr)->value_tag)
+    return (1);
 
-            case IPP_TAG_END_COLLECTION :
-               ipp_buffer_release(buffer);
+ /*
+  * Otherwise implement changes as needed...
+  */
 
-                if (n > 0)
-               {
-                 _cupsSetError(IPP_ERROR,
-                               _("IPP endCollection value not 0 bytes."), 1);
-                 DEBUG_puts("1ippReadIO: endCollection tag with value length "
-                            "> 0.");
-                 return (IPP_ERROR);
-               }
+  temp_tag = (ipp_tag_t)((int)((*attr)->value_tag) & IPP_TAG_MASK);
 
-               DEBUG_puts("1ippReadIO: endCollection tag...");
-               return (ipp->state = IPP_DATA);
+  switch (value_tag)
+  {
+    case IPP_TAG_UNSUPPORTED_VALUE :
+    case IPP_TAG_DEFAULT :
+    case IPP_TAG_UNKNOWN :
+    case IPP_TAG_NOVALUE :
+    case IPP_TAG_NOTSETTABLE :
+    case IPP_TAG_DELETEATTR :
+    case IPP_TAG_ADMINDEFINE :
+       /*
+        * Free any existing values...
+        */
 
-            case IPP_TAG_MEMBERNAME :
-              /*
-               * The value the name of the member in the collection, which
-               * we need to carry over...
-               */
+        if ((*attr)->num_values > 0)
+          ipp_free_values(*attr, 0, (*attr)->num_values);
 
-               if ((*cb)(src, buffer, n) < n)
-               {
-                 DEBUG_puts("1ippReadIO: Unable to read member name value.");
-                 ipp_buffer_release(buffer);
-                 return (IPP_ERROR);
-               }
+       /*
+        * Set out-of-band value...
+        */
 
-               buffer[n] = '\0';
-               attr->name = _cupsStrAlloc((char *)buffer);
+        (*attr)->value_tag = value_tag;
+        break;
 
-               /*
-               * Since collection members are encoded differently than
-               * regular attributes, make sure we don't start with an
-               * empty value...
-               */
+    case IPP_TAG_RANGE :
+        if (temp_tag != IPP_TAG_INTEGER)
+          return (0);
+
+        for (i = (*attr)->num_values, value = (*attr)->values;
+             i > 0;
+             i --, value ++)
+        {
+          integer            = value->integer;
+          value->range.lower = value->range.upper = integer;
+        }
 
-                attr->num_values --;
+        (*attr)->value_tag = IPP_TAG_RANGE;
+        break;
 
-               DEBUG_printf(("2ippReadIO: member name=\"%s\"", attr->name));
-               break;
+    case IPP_TAG_NAME :
+        if (temp_tag != IPP_TAG_KEYWORD && temp_tag != IPP_TAG_URI &&
+            temp_tag != IPP_TAG_URISCHEME && temp_tag != IPP_TAG_LANGUAGE &&
+            temp_tag != IPP_TAG_MIMETYPE)
+          return (0);
 
-            default : /* Other unsupported values */
-                value->unknown.length = n;
-               if (n > 0)
-               {
-                 if ((value->unknown.data = malloc(n)) == NULL)
-                 {
-                   _cupsSetHTTPError(HTTP_ERROR);
-                   DEBUG_puts("1ippReadIO: Unable to allocate value");
-                   ipp_buffer_release(buffer);
-                   return (IPP_ERROR);
-                 }
+        (*attr)->value_tag = (ipp_tag_t)(IPP_TAG_NAME | ((*attr)->value_tag & IPP_TAG_COPY));
+        break;
 
-                 if ((*cb)(src, value->unknown.data, n) < n)
-                 {
-                   DEBUG_puts("1ippReadIO: Unable to read unsupported value.");
-                   ipp_buffer_release(buffer);
-                   return (IPP_ERROR);
-                 }
-               }
-               else
-                 value->unknown.data = NULL;
-               break;
-         }
+    case IPP_TAG_NAMELANG :
+    case IPP_TAG_TEXTLANG :
+        if (value_tag == IPP_TAG_NAMELANG &&
+            (temp_tag != IPP_TAG_NAME && temp_tag != IPP_TAG_KEYWORD &&
+             temp_tag != IPP_TAG_URI && temp_tag != IPP_TAG_URISCHEME &&
+             temp_tag != IPP_TAG_LANGUAGE && temp_tag != IPP_TAG_MIMETYPE))
+          return (0);
+
+        if (value_tag == IPP_TAG_TEXTLANG && temp_tag != IPP_TAG_TEXT)
+          return (0);
+
+        if (ipp->attrs && ipp->attrs->next && ipp->attrs->next->name &&
+            !strcmp(ipp->attrs->next->name, "attributes-natural-language"))
+        {
+         /*
+          * Use the language code from the IPP message...
+          */
 
-          attr->num_values ++;
+         (*attr)->values[0].string.language =
+             _cupsStrAlloc(ipp->attrs->next->values[0].string.text);
+        }
+        else
+        {
+         /*
+          * Otherwise, use the language code corresponding to the locale...
+          */
 
-        /*
-          * If blocking is disabled, stop here...
-         */
+         language = cupsLangDefault();
+         (*attr)->values[0].string.language = _cupsStrAlloc(ipp_lang_code(language->language,
+                                                                       code,
+                                                                       sizeof(code)));
+        }
 
-          if (!blocking)
-           break;
-       }
-        break;
+        for (i = (*attr)->num_values - 1, value = (*attr)->values + 1;
+             i > 0;
+             i --, value ++)
+          value->string.language = (*attr)->values[0].string.language;
 
-    case IPP_DATA :
+        if ((int)(*attr)->value_tag & IPP_TAG_COPY)
+        {
+         /*
+          * Make copies of all values...
+          */
+
+         for (i = (*attr)->num_values, value = (*attr)->values;
+              i > 0;
+              i --, value ++)
+           value->string.text = _cupsStrAlloc(value->string.text);
+        }
+
+        (*attr)->value_tag = IPP_TAG_NAMELANG;
         break;
 
+    case IPP_TAG_KEYWORD :
+        if (temp_tag == IPP_TAG_NAME || temp_tag == IPP_TAG_NAMELANG)
+          break;                       /* Silently "allow" name -> keyword */
+
     default :
-        break; /* anti-compiler-warning-code */
+        return (0);
   }
 
-  DEBUG_printf(("1ippReadIO: returning ipp->state=%d.", ipp->state));
-  ipp_buffer_release(buffer);
+  return (1);
+}
 
-  return (ipp->state);
+
+/*
+ * 'ippSetVersion()' - Set the version number in an IPP message.
+ *
+ * The @code ipp@ parameter refers to an IPP message previously created using the
+ * @link ippNew@ or @link ippNewRequest@ functions.
+ *
+ * The valid version numbers are currently 1.0, 1.1, 2.0, 2.1, and 2.2.
+ *
+ * @since CUPS 1.6/OS X 10.8@
+ */
+
+int                                    /* O - 1 on success, 0 on failure */
+ippSetVersion(ipp_t *ipp,              /* I - IPP message */
+              int   major,             /* I - Major version number (major.minor) */
+              int   minor)             /* I - Minor version number (major.minor) */
+{
+ /*
+  * Range check input...
+  */
+
+  if (!ipp || major < 0 || minor < 0)
+    return (0);
+
+ /*
+  * Set the version number...
+  */
+
+  ipp->request.any.version[0] = major;
+  ipp->request.any.version[1] = minor;
+
+  return (1);
 }
 
 
@@ -1898,7 +4022,7 @@ ippWrite(http_t *http,                    /* I - HTTP connection */
 /*
  * 'ippWriteFile()' - Write data for an IPP message to a file.
  *
- * @since CUPS 1.1.19/Mac OS X 10.3@
+ * @since CUPS 1.1.19/OS X 10.3@
  */
 
 ipp_state_t                            /* O - Current state */
@@ -1916,7 +4040,7 @@ ippWriteFile(int   fd,                    /* I - HTTP data */
 /*
  * 'ippWriteIO()' - Write data for an IPP message.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 ipp_state_t                            /* O - Current state */
@@ -1931,7 +4055,7 @@ ippWriteIO(void       *dst,               /* I - Destination */
   unsigned char                *buffer,        /* Data buffer */
                        *bufptr;        /* Pointer into buffer */
   ipp_attribute_t      *attr;          /* Current attribute */
-  ipp_value_t          *value;         /* Current value */
+  _ipp_value_t         *value;         /* Current value */
 
 
   DEBUG_printf(("ippWriteIO(dst=%p, cb=%p, blocking=%d, parent=%p, ipp=%p)",
@@ -1940,7 +4064,7 @@ ippWriteIO(void       *dst,               /* I - Destination */
   if (!dst || !ipp)
     return (IPP_ERROR);
 
-  if ((buffer = ipp_buffer_get()) == NULL)
+  if ((buffer = (unsigned char *)_cupsBufferGet(IPP_BUF_SIZE)) == NULL)
   {
     DEBUG_puts("1ippWriteIO: Unable to get write buffer");
     return (IPP_ERROR);
@@ -1983,7 +4107,7 @@ ippWriteIO(void       *dst,               /* I - Destination */
           if ((*cb)(dst, buffer, (int)(bufptr - buffer)) < 0)
          {
            DEBUG_puts("1ippWriteIO: Could not write IPP header...");
-           ipp_buffer_release(buffer);
+           _cupsBufferRelease((char *)buffer);
            return (IPP_ERROR);
          }
        }
@@ -2044,9 +4168,7 @@ ippWriteIO(void       *dst,               /* I - Destination */
                        ippTagString(attr->value_tag)));
 
          /*
-         * Write the attribute tag and name.  The current implementation
-         * does not support the extension value tags above 0x7f, so all
-         * value tags are 1 byte.
+         * Write the attribute tag and name.
          *
          * The attribute name length does not include the trailing nul
          * character in the source string.
@@ -2061,10 +4183,10 @@ ippWriteIO(void       *dst,             /* I - Destination */
            * overflow the buffer...
            */
 
-            if ((n = (int)strlen(attr->name)) > (IPP_BUF_SIZE - 4))
+            if ((n = (int)strlen(attr->name)) > (IPP_BUF_SIZE - 8))
            {
              DEBUG_printf(("1ippWriteIO: Attribute name too long (%d)", n));
-             ipp_buffer_release(buffer);
+             _cupsBufferRelease((char *)buffer);
              return (IPP_ERROR);
            }
 
@@ -2077,7 +4199,17 @@ ippWriteIO(void       *dst,              /* I - Destination */
             DEBUG_printf(("2ippWriteIO: writing name=%d,\"%s\"", n,
                          attr->name));
 
-            *bufptr++ = attr->value_tag;
+            if (attr->value_tag > 0xff)
+            {
+              *bufptr++ = IPP_TAG_EXTENSION;
+             *bufptr++ = attr->value_tag >> 24;
+             *bufptr++ = attr->value_tag >> 16;
+             *bufptr++ = attr->value_tag >> 8;
+             *bufptr++ = attr->value_tag;
+            }
+            else
+             *bufptr++ = attr->value_tag;
+
            *bufptr++ = n >> 8;
            *bufptr++ = n;
            memcpy(bufptr, attr->name, n);
@@ -2090,10 +4222,10 @@ ippWriteIO(void       *dst,             /* I - Destination */
            * overflow the buffer...
            */
 
-            if ((n = (int)strlen(attr->name)) > (IPP_BUF_SIZE - 7))
+            if ((n = (int)strlen(attr->name)) > (IPP_BUF_SIZE - 12))
            {
              DEBUG_printf(("1ippWriteIO: Attribute name too long (%d)", n));
-             ipp_buffer_release(buffer);
+             _cupsBufferRelease((char *)buffer);
              return (IPP_ERROR);
            }
 
@@ -2118,7 +4250,17 @@ ippWriteIO(void       *dst,              /* I - Destination */
            memcpy(bufptr, attr->name, n);
            bufptr += n;
 
-            *bufptr++ = attr->value_tag;
+            if (attr->value_tag > 0xff)
+            {
+              *bufptr++ = IPP_TAG_EXTENSION;
+             *bufptr++ = attr->value_tag >> 24;
+             *bufptr++ = attr->value_tag >> 16;
+             *bufptr++ = attr->value_tag >> 8;
+             *bufptr++ = attr->value_tag;
+            }
+            else
+             *bufptr++ = attr->value_tag;
+
             *bufptr++ = 0;
             *bufptr++ = 0;
          }
@@ -2129,6 +4271,17 @@ ippWriteIO(void       *dst,              /* I - Destination */
 
          switch (attr->value_tag & ~IPP_TAG_COPY)
          {
+           case IPP_TAG_UNSUPPORTED_VALUE :
+           case IPP_TAG_DEFAULT :
+           case IPP_TAG_UNKNOWN :
+           case IPP_TAG_NOVALUE :
+           case IPP_TAG_NOTSETTABLE :
+           case IPP_TAG_DELETEATTR :
+           case IPP_TAG_ADMINDEFINE :
+               *bufptr++ = 0;
+               *bufptr++ = 0;
+               break;
+
            case IPP_TAG_INTEGER :
            case IPP_TAG_ENUM :
                for (i = 0, value = attr->values;
@@ -2141,7 +4294,7 @@ ippWriteIO(void       *dst,               /* I - Destination */
                    {
                      DEBUG_puts("1ippWriteIO: Could not write IPP "
                                 "attribute...");
-                     ipp_buffer_release(buffer);
+                     _cupsBufferRelease((char *)buffer);
                      return (IPP_ERROR);
                    }
 
@@ -2187,7 +4340,7 @@ ippWriteIO(void       *dst,               /* I - Destination */
                    {
                      DEBUG_puts("1ippWriteIO: Could not write IPP "
                                 "attribute...");
-                     ipp_buffer_release(buffer);
+                     _cupsBufferRelease((char *)buffer);
                      return (IPP_ERROR);
                    }
 
@@ -2248,7 +4401,7 @@ ippWriteIO(void       *dst,               /* I - Destination */
                      {
                        DEBUG_puts("1ippWriteIO: Could not write IPP "
                                   "attribute...");
-                       ipp_buffer_release(buffer);
+                       _cupsBufferRelease((char *)buffer);
                        return (IPP_ERROR);
                      }
 
@@ -2268,7 +4421,7 @@ ippWriteIO(void       *dst,               /* I - Destination */
                   if (n > (IPP_BUF_SIZE - 2))
                  {
                    DEBUG_printf(("1ippWriteIO: String too long (%d)", n));
-                   ipp_buffer_release(buffer);
+                   _cupsBufferRelease((char *)buffer);
                    return (IPP_ERROR);
                  }
 
@@ -2281,7 +4434,7 @@ ippWriteIO(void       *dst,               /* I - Destination */
                    {
                      DEBUG_puts("1ippWriteIO: Could not write IPP "
                                 "attribute...");
-                     ipp_buffer_release(buffer);
+                     _cupsBufferRelease((char *)buffer);
                      return (IPP_ERROR);
                    }
 
@@ -2320,7 +4473,7 @@ ippWriteIO(void       *dst,               /* I - Destination */
                    {
                      DEBUG_puts("1ippWriteIO: Could not write IPP "
                                 "attribute...");
-                     ipp_buffer_release(buffer);
+                     _cupsBufferRelease((char *)buffer);
                      return (IPP_ERROR);
                    }
 
@@ -2365,7 +4518,7 @@ ippWriteIO(void       *dst,               /* I - Destination */
                    {
                      DEBUG_puts("1ippWriteIO: Could not write IPP "
                                 "attribute...");
-                     ipp_buffer_release(buffer);
+                     _cupsBufferRelease((char *)buffer);
                      return (IPP_ERROR);
                    }
 
@@ -2418,7 +4571,7 @@ ippWriteIO(void       *dst,               /* I - Destination */
                    {
                      DEBUG_puts("1ippWriteIO: Could not write IPP "
                                 "attribute...");
-                     ipp_buffer_release(buffer);
+                     _cupsBufferRelease((char *)buffer);
                      return (IPP_ERROR);
                    }
 
@@ -2477,7 +4630,7 @@ ippWriteIO(void       *dst,               /* I - Destination */
                      {
                        DEBUG_puts("1ippWriteIO: Could not write IPP "
                                   "attribute...");
-                       ipp_buffer_release(buffer);
+                       _cupsBufferRelease((char *)buffer);
                        return (IPP_ERROR);
                      }
 
@@ -2501,8 +4654,8 @@ ippWriteIO(void       *dst,               /* I - Destination */
 
                   n = 4;
 
-                 if (value->string.charset != NULL)
-                    n += (int)strlen(value->string.charset);
+                 if (value->string.language != NULL)
+                    n += (int)strlen(value->string.language);
 
                  if (value->string.text != NULL)
                     n += (int)strlen(value->string.text);
@@ -2511,7 +4664,7 @@ ippWriteIO(void       *dst,               /* I - Destination */
                  {
                    DEBUG_printf(("1ippWriteIO: text/nameWithLanguage value "
                                  "too long (%d)", n));
-                   ipp_buffer_release(buffer);
+                   _cupsBufferRelease((char *)buffer);
                    return (IPP_ERROR);
                   }
 
@@ -2521,7 +4674,7 @@ ippWriteIO(void       *dst,               /* I - Destination */
                    {
                      DEBUG_puts("1ippWriteIO: Could not write IPP "
                                 "attribute...");
-                     ipp_buffer_release(buffer);
+                     _cupsBufferRelease((char *)buffer);
                      return (IPP_ERROR);
                    }
 
@@ -2532,19 +4685,19 @@ ippWriteIO(void       *dst,             /* I - Destination */
                  *bufptr++ = n >> 8;
                  *bufptr++ = n;
 
-                 /* Length of charset */
-                 if (value->string.charset != NULL)
-                   n = (int)strlen(value->string.charset);
+                 /* Length of language */
+                 if (value->string.language != NULL)
+                   n = (int)strlen(value->string.language);
                  else
                    n = 0;
 
                  *bufptr++ = n >> 8;
                  *bufptr++ = n;
 
-                 /* Charset */
+                 /* Language */
                  if (n > 0)
                  {
-                   memcpy(bufptr, value->string.charset, n);
+                   memcpy(bufptr, value->string.language, n);
                    bufptr += n;
                  }
 
@@ -2584,7 +4737,7 @@ ippWriteIO(void       *dst,               /* I - Destination */
                    {
                      DEBUG_puts("1ippWriteIO: Could not write IPP "
                                 "attribute...");
-                     ipp_buffer_release(buffer);
+                     _cupsBufferRelease((char *)buffer);
                      return (IPP_ERROR);
                    }
 
@@ -2614,7 +4767,7 @@ ippWriteIO(void       *dst,               /* I - Destination */
                  {
                    DEBUG_puts("1ippWriteIO: Could not write IPP "
                               "attribute...");
-                   ipp_buffer_release(buffer);
+                   _cupsBufferRelease((char *)buffer);
                    return (IPP_ERROR);
                  }
 
@@ -2630,7 +4783,7 @@ ippWriteIO(void       *dst,               /* I - Destination */
                                 value->collection) == IPP_ERROR)
                  {
                    DEBUG_puts("1ippWriteIO: Unable to write collection value");
-                   ipp_buffer_release(buffer);
+                   _cupsBufferRelease((char *)buffer);
                    return (IPP_ERROR);
                  }
                }
@@ -2654,7 +4807,7 @@ ippWriteIO(void       *dst,               /* I - Destination */
                      {
                        DEBUG_puts("1ippWriteIO: Could not write IPP "
                                   "attribute...");
-                       ipp_buffer_release(buffer);
+                       _cupsBufferRelease((char *)buffer);
                        return (IPP_ERROR);
                      }
 
@@ -2679,7 +4832,7 @@ ippWriteIO(void       *dst,               /* I - Destination */
                  {
                    DEBUG_printf(("1ippWriteIO: Data length too long (%d)",
                                  n));
-                   ipp_buffer_release(buffer);
+                   _cupsBufferRelease((char *)buffer);
                    return (IPP_ERROR);
                  }
 
@@ -2689,7 +4842,7 @@ ippWriteIO(void       *dst,               /* I - Destination */
                    {
                      DEBUG_puts("1ippWriteIO: Could not write IPP "
                                 "attribute...");
-                     ipp_buffer_release(buffer);
+                     _cupsBufferRelease((char *)buffer);
                      return (IPP_ERROR);
                    }
 
@@ -2719,7 +4872,7 @@ ippWriteIO(void       *dst,               /* I - Destination */
            if ((*cb)(dst, buffer, (int)(bufptr - buffer)) < 0)
            {
              DEBUG_puts("1ippWriteIO: Could not write IPP attribute...");
-             ipp_buffer_release(buffer);
+             _cupsBufferRelease((char *)buffer);
              return (IPP_ERROR);
            }
 
@@ -2760,7 +4913,7 @@ ippWriteIO(void       *dst,               /* I - Destination */
          if ((*cb)(dst, buffer, n) < 0)
          {
            DEBUG_puts("1ippWriteIO: Could not write IPP end-tag...");
-           ipp_buffer_release(buffer);
+           _cupsBufferRelease((char *)buffer);
            return (IPP_ERROR);
          }
 
@@ -2775,170 +4928,246 @@ ippWriteIO(void       *dst,           /* I - Destination */
         break; /* anti-compiler-warning-code */
   }
 
-  ipp_buffer_release(buffer);
+  _cupsBufferRelease((char *)buffer);
 
   return (ipp->state);
 }
 
 
 /*
- * '_ippAddAttr()' - Add a new attribute to the request.
+ * 'ipp_add_attr()' - Add a new attribute to the message.
  */
 
-ipp_attribute_t *                      /* O - New attribute */
-_ippAddAttr(ipp_t *ipp,                        /* I - IPP message */
-            int   num_values)          /* I - Number of values */
+static ipp_attribute_t *               /* O - New attribute */
+ipp_add_attr(ipp_t      *ipp,          /* I - IPP message */
+             const char *name,         /* I - Attribute name or NULL */
+             ipp_tag_t  group_tag,     /* I - Group tag or IPP_TAG_ZERO */
+             ipp_tag_t  value_tag,     /* I - Value tag or IPP_TAG_ZERO */
+             int        num_values)    /* I - Number of values */
 {
+  int                  alloc_values;   /* Number of values to allocate */
   ipp_attribute_t      *attr;          /* New attribute */
 
 
-  DEBUG_printf(("4_ippAddAttr(ipp=%p, num_values=%d)", ipp, num_values));
+  DEBUG_printf(("4ipp_add_attr(ipp=%p, name=\"%s\", group_tag=0x%x, value_tag=0x%x, "
+                "num_values=%d)", ipp, name, group_tag, value_tag, num_values));
+
+ /*
+  * Range check input...
+  */
 
   if (!ipp || num_values < 0)
     return (NULL);
 
+ /*
+  * Allocate memory, rounding the allocation up as needed...
+  */
+
+  if (num_values <= 1)
+    alloc_values = 1;
+  else
+    alloc_values = (num_values + IPP_MAX_VALUES - 1) & ~(IPP_MAX_VALUES - 1);
+
   attr = calloc(sizeof(ipp_attribute_t) +
-                (num_values - 1) * sizeof(ipp_value_t), 1);
+                (alloc_values - 1) * sizeof(_ipp_value_t), 1);
 
-  if (attr != NULL)
+  if (attr)
   {
+   /*
+    * Initialize attribute...
+    */
+
+    if (name)
+      attr->name = _cupsStrAlloc(name);
+
+    attr->group_tag  = group_tag;
+    attr->value_tag  = value_tag;
     attr->num_values = num_values;
 
-    if (ipp->last == NULL)
-      ipp->attrs = attr;
-    else
+   /*
+    * Add it to the end of the linked list...
+    */
+
+    if (ipp->last)
       ipp->last->next = attr;
+    else
+      ipp->attrs = attr;
 
-    ipp->last = attr;
+    ipp->prev = ipp->last;
+    ipp->last = ipp->current = attr;
   }
 
-  DEBUG_printf(("5_ippAddAttr: Returning %p", attr));
+  DEBUG_printf(("5ipp_add_attr: Returning %p", attr));
 
   return (attr);
 }
 
 
 /*
- * '_ippFreeAttr()' - Free an attribute.
+ * 'ipp_free_values()' - Free attribute values.
  */
 
-void
-_ippFreeAttr(ipp_attribute_t *attr)    /* I - Attribute to free */
+static void
+ipp_free_values(ipp_attribute_t *attr, /* I - Attribute to free values from */
+                int             element,/* I - First value to free */
+                int             count) /* I - Number of values to free */
 {
   int          i;                      /* Looping var */
-  ipp_value_t  *value;                 /* Current value */
+  _ipp_value_t *value;                 /* Current value */
 
 
-  DEBUG_printf(("4_ippFreeAttr(attr=%p)", attr));
+  DEBUG_printf(("4ipp_free_values(attr=%p, element=%d, count=%d)", attr,
+                element, count));
 
-  switch (attr->value_tag)
+  if (!(attr->value_tag & IPP_TAG_COPY))
   {
-    case IPP_TAG_TEXT :
-    case IPP_TAG_NAME :
-    case IPP_TAG_RESERVED_STRING :
-    case IPP_TAG_KEYWORD :
-    case IPP_TAG_URI :
-    case IPP_TAG_URISCHEME :
-    case IPP_TAG_CHARSET :
-    case IPP_TAG_LANGUAGE :
-    case IPP_TAG_MIMETYPE :
-       for (i = 0, value = attr->values;
-            i < attr->num_values;
-            i ++, value ++)
-         _cupsStrFree(value->string.text);
-       break;
+   /*
+    * Free values as needed...
+    */
 
-    case IPP_TAG_TEXTLANG :
-    case IPP_TAG_NAMELANG :
-       for (i = 0, value = attr->values;
-            i < attr->num_values;
-            i ++, value ++)
-       {
-         if (value->string.charset && i == 0)
-           _cupsStrFree(value->string.charset);
-         _cupsStrFree(value->string.text);
-       }
-       break;
+    switch (attr->value_tag)
+    {
+      case IPP_TAG_TEXTLANG :
+      case IPP_TAG_NAMELANG :
+         if (element == 0 && count == attr->num_values &&
+             attr->values[0].string.language)
+         {
+           _cupsStrFree(attr->values[0].string.language);
+           attr->values[0].string.language = NULL;
+         }
+         /* Fall through to other string values */
 
-    case IPP_TAG_INTEGER :
-    case IPP_TAG_ENUM :
-    case IPP_TAG_BOOLEAN :
-    case IPP_TAG_DATE :
-    case IPP_TAG_RESOLUTION :
-    case IPP_TAG_RANGE :
-       break;
+      case IPP_TAG_TEXT :
+      case IPP_TAG_NAME :
+      case IPP_TAG_RESERVED_STRING :
+      case IPP_TAG_KEYWORD :
+      case IPP_TAG_URI :
+      case IPP_TAG_URISCHEME :
+      case IPP_TAG_CHARSET :
+      case IPP_TAG_LANGUAGE :
+      case IPP_TAG_MIMETYPE :
+         for (i = count, value = attr->values + element;
+              i > 0;
+              i --, value ++)
+         {
+           _cupsStrFree(value->string.text);
+           value->string.text = NULL;
+         }
+         break;
 
-    case IPP_TAG_BEGIN_COLLECTION :
-       for (i = 0, value = attr->values;
-            i < attr->num_values;
-            i ++, value ++)
-          ippDelete(value->collection);
-       break;
+      case IPP_TAG_DEFAULT :
+      case IPP_TAG_UNKNOWN :
+      case IPP_TAG_NOVALUE :
+      case IPP_TAG_NOTSETTABLE :
+      case IPP_TAG_DELETEATTR :
+      case IPP_TAG_ADMINDEFINE :
+      case IPP_TAG_INTEGER :
+      case IPP_TAG_ENUM :
+      case IPP_TAG_BOOLEAN :
+      case IPP_TAG_DATE :
+      case IPP_TAG_RESOLUTION :
+      case IPP_TAG_RANGE :
+         break;
 
-    case IPP_TAG_STRING :
-       for (i = 0, value = attr->values;
-            i < attr->num_values;
-            i ++, value ++)
-         free(value->unknown.data);
-        break;
+      case IPP_TAG_BEGIN_COLLECTION :
+         for (i = count, value = attr->values + element;
+              i > 0;
+              i --, value ++)
+         {
+           ippDelete(value->collection);
+           value->collection = NULL;
+         }
+         break;
 
-    default :
-        if (!((int)attr->value_tag & IPP_TAG_COPY))
-       {
-         for (i = 0, value = attr->values;
-              i < attr->num_values;
-              i ++, value ++)
-            if (value->unknown.data)
+      case IPP_TAG_STRING :
+      default :
+         for (i = count, value = attr->values + element;
+              i > 0;
+              i --, value ++)
+         {
+           if (value->unknown.data)
+           {
              free(value->unknown.data);
-        }
-       break;
+             value->unknown.data = NULL;
+           }
+         }
+         break;
+    }
   }
 
-  if (attr->name)
-    _cupsStrFree(attr->name);
+ /*
+  * If we are not freeing values from the end, move the remaining values up...
+  */
 
-  free(attr);
+  if ((element + count) < attr->num_values)
+    memmove(attr->values + element, attr->values + element + count,
+            (attr->num_values - count - element) * sizeof(_ipp_value_t));
+
+  attr->num_values -= count;
 }
 
 
 /*
- * 'ipp_buffer_get()' - Get a read/write buffer.
+ * 'ipp_get_code()' - Convert a C locale/charset name into an IPP language/charset code.
+ *
+ * This typically converts strings of the form "ll_CC", "ll-REGION", and "CHARSET_NUMBER"
+ * to "ll-cc", "ll-region", and "charset-number", respectively.
  */
 
-static unsigned char *                 /* O - Buffer */
-ipp_buffer_get(void)
+static char *                          /* O - Language code string */
+ipp_get_code(const char *value,                /* I - Locale/charset string */
+             char       *buffer,       /* I - String buffer */
+             size_t     bufsize)       /* I - Size of string buffer */
 {
-  _ipp_buffer_t                *buffer;        /* Current buffer */
-  _cups_globals_t      *cg = _cupsGlobals();
-                                       /* Global data */
+  char *bufptr,                        /* Pointer into buffer */
+       *bufend;                        /* End of buffer */
 
 
-  for (buffer = cg->ipp_buffers; buffer; buffer = buffer->next)
-    if (!buffer->used)
-    {
-      buffer->used = 1;
-      return (buffer->d);
-    }
+ /*
+  * Convert values to lowercase and change _ to - as needed...
+  */
 
-  if ((buffer = malloc(sizeof(_ipp_buffer_t))) == NULL)
-    return (NULL);
+  for (bufptr = buffer, bufend = buffer + bufsize - 1;
+       *value && bufptr < bufend;
+       value ++)
+    if (*value == '_')
+      *bufptr++ = '-';
+    else
+      *bufptr++ = _cups_tolower(*value);
 
-  buffer->used    = 1;
-  buffer->next    = cg->ipp_buffers;
-  cg->ipp_buffers = buffer;
+  *bufptr = '\0';
 
-  return (buffer->d);
+ /*
+  * Return the converted string...
+  */
+
+  return (buffer);
 }
 
 
 /*
- * 'ipp_buffer_release()' - Release a read/write buffer.
+ * 'ipp_lang_code()' - Convert a C locale name into an IPP language code.
+ *
+ * This typically converts strings of the form "ll_CC" and "ll-REGION" to "ll-cc" and
+ * "ll-region", respectively.  It also converts the "C" (POSIX) locale to "en".
  */
 
-static void
-ipp_buffer_release(unsigned char *b)   /* I - Buffer to release */
+static char *                          /* O - Language code string */
+ipp_lang_code(const char *locale,      /* I - Locale string */
+              char       *buffer,      /* I - String buffer */
+              size_t     bufsize)      /* I - Size of string buffer */
 {
-  ((_ipp_buffer_t *)b)->used = 0;
+ /*
+  * Map POSIX ("C") locale to generic English, otherwise convert the locale string as-is.
+  */
+
+  if (!_cups_strcasecmp(locale, "c"))
+  {
+    strlcpy(buffer, "en", bufsize);
+    return (buffer);
+  }
+  else
+    return (ipp_get_code(locale, buffer, bufsize));
 }
 
 
@@ -2951,14 +5180,19 @@ ipp_length(ipp_t *ipp,                  /* I - IPP message or collection */
            int   collection)           /* I - 1 if a collection, 0 otherwise */
 {
   int                  i;              /* Looping var */
-  int                  bytes;          /* Number of bytes */
+  size_t               bytes;          /* Number of bytes */
   ipp_attribute_t      *attr;          /* Current attribute */
   ipp_tag_t            group;          /* Current group */
-  ipp_value_t          *value;         /* Current value */
+  _ipp_value_t         *value;         /* Current value */
+
 
+  DEBUG_printf(("3ipp_length(ipp=%p, collection=%d)", ipp, collection));
 
-  if (ipp == NULL)
+  if (!ipp)
+  {
+    DEBUG_puts("4ipp_length: Returning 0 bytes");
     return (0);
+  }
 
  /*
   * Start with 8 bytes for the IPP message header...
@@ -2986,12 +5220,15 @@ ipp_length(ipp_t *ipp,                  /* I - IPP message or collection */
     if (!attr->name)
       continue;
 
-    DEBUG_printf(("9ipp_length: attr->name=\"%s\", attr->num_values=%d, "
-                  "bytes=%d", attr->name, attr->num_values, bytes));
+    DEBUG_printf(("5ipp_length: attr->name=\"%s\", attr->num_values=%d, "
+                  "bytes=" CUPS_LLFMT, attr->name, attr->num_values, CUPS_LLCAST bytes));
 
-    bytes += (int)strlen(attr->name);  /* Name */
-    bytes += attr->num_values;         /* Value tag for each value */
+    if (attr->value_tag < IPP_TAG_EXTENSION)
+      bytes += attr->num_values;       /* Value tag for each value */
+    else
+      bytes += 5 * attr->num_values;   /* Value tag for each value */
     bytes += 2 * attr->num_values;     /* Name lengths */
+    bytes += (int)strlen(attr->name);  /* Name */
     bytes += 2 * attr->num_values;     /* Value lengths */
 
     if (collection)
@@ -2999,6 +5236,15 @@ ipp_length(ipp_t *ipp,                   /* I - IPP message or collection */
 
     switch (attr->value_tag & ~IPP_TAG_COPY)
     {
+      case IPP_TAG_UNSUPPORTED_VALUE :
+      case IPP_TAG_DEFAULT :
+      case IPP_TAG_UNKNOWN :
+      case IPP_TAG_NOVALUE :
+      case IPP_TAG_NOTSETTABLE :
+      case IPP_TAG_DELETEATTR :
+      case IPP_TAG_ADMINDEFINE :
+          break;
+
       case IPP_TAG_INTEGER :
       case IPP_TAG_ENUM :
           bytes += 4 * attr->num_values;
@@ -3019,8 +5265,8 @@ ipp_length(ipp_t *ipp,                    /* I - IPP message or collection */
          for (i = 0, value = attr->values;
               i < attr->num_values;
               i ++, value ++)
-           if (value->string.text != NULL)
-             bytes += (int)strlen(value->string.text);
+           if (value->string.text)
+             bytes += strlen(value->string.text);
          break;
 
       case IPP_TAG_DATE :
@@ -3043,11 +5289,11 @@ ipp_length(ipp_t *ipp,                  /* I - IPP message or collection */
               i < attr->num_values;
               i ++, value ++)
          {
-           if (value->string.charset != NULL)
-             bytes += (int)strlen(value->string.charset);
+           if (value->string.language)
+             bytes += strlen(value->string.language);
 
-           if (value->string.text != NULL)
-             bytes += (int)strlen(value->string.text);
+           if (value->string.text)
+             bytes += strlen(value->string.text);
          }
          break;
 
@@ -3055,7 +5301,7 @@ ipp_length(ipp_t *ipp,                    /* I - IPP message or collection */
          for (i = 0, value = attr->values;
               i < attr->num_values;
               i ++, value ++)
-            bytes += (int)ipp_length(value->collection, 1);
+            bytes += ipp_length(value->collection, 1);
          break;
 
       default :
@@ -3077,7 +5323,7 @@ ipp_length(ipp_t *ipp,                    /* I - IPP message or collection */
   else
     bytes ++;
 
-  DEBUG_printf(("8ipp_length: Returning %d bytes", bytes));
+  DEBUG_printf(("4ipp_length: Returning " CUPS_LLFMT " bytes", CUPS_LLCAST bytes));
 
   return (bytes);
 }
@@ -3176,6 +5422,137 @@ ipp_read_file(int         *fd,          /* I - File descriptor */
 
 
 /*
+ * 'ipp_set_value()' - Get the value element from an attribute, expanding it as
+ *                     needed.
+ */
+
+static _ipp_value_t *                  /* O  - IPP value element or NULL on error */
+ipp_set_value(ipp_t           *ipp,    /* IO - IPP message */
+              ipp_attribute_t **attr,  /* IO - IPP attribute */
+              int             element) /* I  - Value number (0-based) */
+{
+  ipp_attribute_t      *temp,          /* New attribute pointer */
+                       *current,       /* Current attribute in list */
+                       *prev;          /* Previous attribute in list */
+  int                  alloc_values;   /* Allocated values */
+
+
+ /*
+  * If we are setting an existing value element, return it...
+  */
+
+  temp = *attr;
+
+  if (temp->num_values <= 1)
+    alloc_values = 1;
+  else
+    alloc_values = (temp->num_values + IPP_MAX_VALUES - 1) &
+                   ~(IPP_MAX_VALUES - 1);
+
+  if (element < alloc_values)
+  {
+    if (element >= temp->num_values)
+      temp->num_values = element + 1;
+
+    return (temp->values + element);
+  }
+
+ /*
+  * Otherwise re-allocate the attribute - we allocate in groups of IPP_MAX_VALUE
+  * values when num_values > 1.
+  */
+
+  if (alloc_values < IPP_MAX_VALUES)
+    alloc_values = IPP_MAX_VALUES;
+  else
+    alloc_values += IPP_MAX_VALUES;
+
+  DEBUG_printf(("4ipp_set_value: Reallocating for up to %d values.",
+                alloc_values));
+
+ /*
+  * Reallocate memory...
+  */
+
+  if ((temp = realloc(temp, sizeof(ipp_attribute_t) +
+                           (alloc_values - 1) * sizeof(_ipp_value_t))) == NULL)
+  {
+    _cupsSetHTTPError(HTTP_ERROR);
+    DEBUG_puts("4ipp_set_value: Unable to resize attribute.");
+    return (NULL);
+  }
+
+ /*
+  * Zero the new memory...
+  */
+
+  memset(temp->values + temp->num_values, 0,
+         (alloc_values - temp->num_values) * sizeof(_ipp_value_t));
+
+  if (temp != *attr)
+  {
+   /*
+    * Reset pointers in the list...
+    */
+
+    if (ipp->current == *attr && ipp->prev)
+    {
+     /*
+      * Use current "previous" pointer...
+      */
+
+      prev = ipp->prev;
+    }
+    else
+    {
+     /*
+      * Find this attribute in the linked list...
+      */
+
+      for (prev = NULL, current = ipp->attrs;
+          current && current != *attr;
+          prev = current, current = current->next);
+
+      if (!current)
+      {
+       /*
+       * This is a serious error!
+       */
+
+       *attr = temp;
+       _cupsSetError(IPP_INTERNAL_ERROR,
+                     _("IPP attribute is not a member of the message."), 1);
+       DEBUG_puts("4ipp_set_value: Unable to find attribute in message.");
+       return (NULL);
+      }
+    }
+
+    if (prev)
+      prev->next = temp;
+    else
+      ipp->attrs = temp;
+
+    ipp->current = temp;
+    ipp->prev    = prev;
+
+    if (ipp->last == *attr)
+      ipp->last = temp;
+
+    *attr = temp;
+  }
+
+ /*
+  * Return the value element...
+  */
+
+  if (element >= temp->num_values)
+    temp->num_values = element + 1;
+
+  return (temp->values + element);
+}
+
+
+/*
  * 'ipp_write_file()' - Write IPP data to a file.
  */
 
@@ -3192,29 +5569,6 @@ ipp_write_file(int         *fd,          /* I - File descriptor */
 }
 
 
-#ifdef __linux
-/*
- * The following symbol definitions are provided only for KDE
- * compatibility during the CUPS 1.2 testing period and will be
- * removed in a future release of CUPS.  These are PRIVATE APIs
- * from CUPS 1.1.x that the KDE developers chose to use...
- */
-
-ipp_attribute_t *                      /* O - New attribute */
-_ipp_add_attr(ipp_t *ipp,              /* I - IPP message */
-              int   num_values)                /* I - Number of values */
-{
-  return (_ippAddAttr(ipp, num_values));
-}
-
-void
-_ipp_free_attr(ipp_attribute_t *attr)  /* I - Attribute to free */
-{
-  _ippFreeAttr(attr);
-}
-#endif /* __linux */
-
-
 /*
- * End of "$Id: ipp.c 10450 2012-05-04 22:52:56Z mike $".
+ * End of "$Id: ipp.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 6d6a6f0..b9de668 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: ipp.h 10108 2011-11-04 22:22:22Z mike $"
+ * "$Id: ipp.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Internet Printing Protocol definitions for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -63,54 +63,14 @@ extern "C" {
  * Types and structures...
  */
 
-typedef enum ipp_tag_e                 /**** Format tags for attributes ****/
-{
-  IPP_TAG_ZERO = 0x00,                 /* Zero tag - used for separators */
-  IPP_TAG_OPERATION,                   /* Operation group */
-  IPP_TAG_JOB,                         /* Job group */
-  IPP_TAG_END,                         /* End-of-attributes */
-  IPP_TAG_PRINTER,                     /* Printer group */
-  IPP_TAG_UNSUPPORTED_GROUP,           /* Unsupported attributes group */
-  IPP_TAG_SUBSCRIPTION,                        /* Subscription group */
-  IPP_TAG_EVENT_NOTIFICATION,          /* Event group */
-  IPP_TAG_DOCUMENT = 0x09,             /* Document group */
-  IPP_TAG_UNSUPPORTED_VALUE = 0x10,    /* Unsupported value */
-  IPP_TAG_DEFAULT,                     /* Default value */
-  IPP_TAG_UNKNOWN,                     /* Unknown value */
-  IPP_TAG_NOVALUE,                     /* No-value value */
-  IPP_TAG_NOTSETTABLE = 0x15,          /* Not-settable value */
-  IPP_TAG_DELETEATTR,                  /* Delete-attribute value */
-  IPP_TAG_ADMINDEFINE,                 /* Admin-defined value */
-  IPP_TAG_INTEGER = 0x21,              /* Integer value */
-  IPP_TAG_BOOLEAN,                     /* Boolean value */
-  IPP_TAG_ENUM,                                /* Enumeration value */
-  IPP_TAG_STRING = 0x30,               /* Octet string value */
-  IPP_TAG_DATE,                                /* Date/time value */
-  IPP_TAG_RESOLUTION,                  /* Resolution value */
-  IPP_TAG_RANGE,                       /* Range value */
-  IPP_TAG_BEGIN_COLLECTION,            /* Beginning of collection value */
-  IPP_TAG_TEXTLANG,                    /* Text-with-language value */
-  IPP_TAG_NAMELANG,                    /* Name-with-language value */
-  IPP_TAG_END_COLLECTION,              /* End of collection value */
-  IPP_TAG_TEXT = 0x41,                 /* Text value */
-  IPP_TAG_NAME,                                /* Name value */
-  IPP_TAG_RESERVED_STRING,             /* Reserved for future string value @private@ */
-  IPP_TAG_KEYWORD,                     /* Keyword value */
-  IPP_TAG_URI,                         /* URI value */
-  IPP_TAG_URISCHEME,                   /* URI scheme value */
-  IPP_TAG_CHARSET,                     /* Character set value */
-  IPP_TAG_LANGUAGE,                    /* Language value */
-  IPP_TAG_MIMETYPE,                    /* MIME media type value */
-  IPP_TAG_MEMBERNAME,                  /* Collection member name value */
-  IPP_TAG_MASK = 0x7fffffff,           /* Mask for copied attribute values */
-  IPP_TAG_COPY = -0x7fffffff-1         /* Bitflag for copied attribute values */
-} ipp_tag_t;
-
-typedef enum ipp_res_e                 /**** Resolution units ****/
+typedef enum ipp_dstate_e              /**** Document states ****/
 {
-  IPP_RES_PER_INCH = 3,                        /* Pixels per inch */
-  IPP_RES_PER_CM                       /* Pixels per centimeter */
-} ipp_res_t;
+  IPP_DOCUMENT_PENDING = 3,
+  IPP_DOCUMENT_PROCESSING = 5,
+  IPP_DOCUMENT_CANCELED = 7,
+  IPP_DOCUMENT_ABORTED,
+  IPP_DOCUMENT_COMPLETED
+} ipp_dstate_t;
 
 typedef enum ipp_finish_e              /**** Finishings ****/
 {
@@ -141,23 +101,19 @@ typedef enum ipp_finish_e         /**** Finishings ****/
   IPP_FINISHINGS_BIND_LEFT = 50,       /* Bind on left */
   IPP_FINISHINGS_BIND_TOP,             /* Bind on top */
   IPP_FINISHINGS_BIND_RIGHT,           /* Bind on right */
-  IPP_FINISHINGS_BIND_BOTTOM           /* Bind on bottom */
+  IPP_FINISHINGS_BIND_BOTTOM,          /* Bind on bottom */
+  IPP_FINISHINGS_TRIM_AFTER_PAGES = 60,        /* Trim output after each page */
+  IPP_FINISHINGS_TRIM_AFTER_DOCUMENTS, /* Trim output after each document */
+  IPP_FINISHINGS_TRIM_AFTER_COPIES,    /* Trim output after each copy */
+  IPP_FINISHINGS_TRIM_AFTER_JOB                /* Trim output after job */
 } ipp_finish_t;
 
-typedef enum ipp_orient_e              /**** Orientation values ****/
+typedef enum ipp_jcollate_e            /**** Job collation types ****/
 {
-  IPP_PORTRAIT = 3,                    /* No rotation */
-  IPP_LANDSCAPE,                       /* 90 degrees counter-clockwise */
-  IPP_REVERSE_LANDSCAPE,               /* 90 degrees clockwise */
-  IPP_REVERSE_PORTRAIT                 /* 180 degrees */
-} ipp_orient_t;
-
-typedef enum ipp_quality_e             /**** Qualities ****/
-{
-  IPP_QUALITY_DRAFT = 3,               /* Draft quality */
-  IPP_QUALITY_NORMAL,                  /* Normal quality */
-  IPP_QUALITY_HIGH                     /* High quality */
-} ipp_quality_t;
+  IPP_JOB_UNCOLLATED_SHEETS = 3,
+  IPP_JOB_COLLATED_DOCUMENTS,
+  IPP_JOB_UNCOLLATED_DOCUMENTS
+} ipp_jcollate_t;
 
 typedef enum ipp_jstate_e              /**** Job states ****/
 {
@@ -168,27 +124,13 @@ typedef enum ipp_jstate_e         /**** Job states ****/
   IPP_JOB_CANCELED,                    /* Job has been canceled */
   IPP_JOB_ABORTED,                     /* Job has aborted due to error */
   IPP_JOB_COMPLETED                    /* Job has completed successfully */
-} ipp_jstate_t;
+  /* Legacy name for canceled state */
 #define IPP_JOB_CANCELLED IPP_JOB_CANCELED
-
-typedef enum ipp_pstate_e              /**** Printer states ****/
-{
-  IPP_PRINTER_IDLE = 3,                        /* Printer is idle */
-  IPP_PRINTER_PROCESSING,              /* Printer is working */
-  IPP_PRINTER_STOPPED                  /* Printer is stopped */
-} ipp_pstate_t;
-
-typedef enum ipp_state_e               /**** IPP states ****/
-{
-  IPP_ERROR = -1,                      /* An error occurred */
-  IPP_IDLE,                            /* Nothing is happening/request completed */
-  IPP_HEADER,                          /* The request header needs to be sent/received */
-  IPP_ATTRIBUTE,                       /* One or more attributes need to be sent/received */
-  IPP_DATA                             /* IPP request data needs to be sent/received */
-} ipp_state_t;
+} ipp_jstate_t;
 
 typedef enum ipp_op_e                  /**** IPP operations ****/
 {
+  IPP_OP_CUPS_INVALID = -1,            /* Invalid operation name for @link ippOpValue@ */
   IPP_PRINT_JOB = 0x0002,              /* Print a single file */
   IPP_PRINT_URI,                       /* Print a single URL @private@ */
   IPP_VALIDATE_JOB,                    /* Validate job options */
@@ -208,15 +150,18 @@ typedef enum ipp_op_e                     /**** IPP operations ****/
   IPP_SET_PRINTER_ATTRIBUTES,          /* Set printer attributes @private@ */
   IPP_SET_JOB_ATTRIBUTES,              /* Set job attributes */
   IPP_GET_PRINTER_SUPPORTED_VALUES,    /* Get supported attribute values */
-  IPP_CREATE_PRINTER_SUBSCRIPTION,     /* Create a printer subscription @since CUPS 1.2/Mac OS X 10.5@ */
-  IPP_CREATE_JOB_SUBSCRIPTION,         /* Create a job subscription @since CUPS 1.2/Mac OS X 10.5@ */
-  IPP_GET_SUBSCRIPTION_ATTRIBUTES,     /* Get subscription attributes @since CUPS 1.2/Mac OS X 10.5@ */
-  IPP_GET_SUBSCRIPTIONS,               /* Get list of subscriptions @since CUPS 1.2/Mac OS X 10.5@ */
-  IPP_RENEW_SUBSCRIPTION,              /* Renew a printer subscription @since CUPS 1.2/Mac OS X 10.5@ */
-  IPP_CANCEL_SUBSCRIPTION,             /* Cancel a subscription @since CUPS 1.2/Mac OS X 10.5@ */
-  IPP_GET_NOTIFICATIONS,               /* Get notification events @since CUPS 1.2/Mac OS X 10.5@ */
+  IPP_CREATE_PRINTER_SUBSCRIPTION,     /* Create a printer subscription @since CUPS 1.2/OS X 10.5@ */
+  IPP_CREATE_JOB_SUBSCRIPTION,         /* Create a job subscription @since CUPS 1.2/OS X 10.5@ */
+  IPP_GET_SUBSCRIPTION_ATTRIBUTES,     /* Get subscription attributes @since CUPS 1.2/OS X 10.5@ */
+  IPP_GET_SUBSCRIPTIONS,               /* Get list of subscriptions @since CUPS 1.2/OS X 10.5@ */
+  IPP_RENEW_SUBSCRIPTION,              /* Renew a printer subscription @since CUPS 1.2/OS X 10.5@ */
+  IPP_CANCEL_SUBSCRIPTION,             /* Cancel a subscription @since CUPS 1.2/OS X 10.5@ */
+  IPP_GET_NOTIFICATIONS,               /* Get notification events @since CUPS 1.2/OS X 10.5@ */
   IPP_SEND_NOTIFICATIONS,              /* Send notification events @private@ */
-  IPP_GET_PRINT_SUPPORT_FILES = 0x0021,        /* Get printer support files @private@ */
+  IPP_GET_RESOURCE_ATTRIBUTES,         /* Get resource attributes @private@ */
+  IPP_GET_RESOURCE_DATA,               /* Get resource data @private@ */
+  IPP_GET_RESOURCES,                   /* Get list of resources @private@ */
+  IPP_GET_PRINT_SUPPORT_FILES,         /* Get printer support files @private@ */
   IPP_ENABLE_PRINTER,                  /* Start a printer */
   IPP_DISABLE_PRINTER,                 /* Stop a printer */
   IPP_PAUSE_PRINTER_AFTER_CURRENT_JOB, /* Stop printer after the current job @private@ */
@@ -243,6 +188,7 @@ typedef enum ipp_op_e                       /**** IPP operations ****/
   IPP_RESUBMIT_JOB,                    /* Resubmit-Job */
   IPP_CLOSE_JOB,                       /* Close-Job */
   IPP_IDENTIFY_PRINTER,                        /* Identify-Printer (proposed IPP JPS3) */
+  IPP_VALIDATE_DOCUMENT,               /* Validate-Document (proposed IPP JPS3) */
   IPP_PRIVATE = 0x4000,                        /* Reserved @private@ */
   CUPS_GET_DEFAULT,                    /* Get the default printer */
   CUPS_GET_PRINTERS,                   /* Get a list of printers and/or classes */
@@ -257,24 +203,62 @@ typedef enum ipp_op_e                     /**** IPP operations ****/
   CUPS_GET_DEVICES,                    /* Get a list of supported devices */
   CUPS_GET_PPDS,                       /* Get a list of supported drivers */
   CUPS_MOVE_JOB,                       /* Move a job to a different printer */
-  CUPS_AUTHENTICATE_JOB,               /* Authenticate a job @since CUPS 1.2/Mac OS X 10.5@ */
-  CUPS_GET_PPD,                                /* Get a PPD file @since CUPS 1.3/Mac OS X 10.5@ */
-  CUPS_GET_DOCUMENT = 0x4027           /* Get a document file @since CUPS 1.4/Mac OS X 10.6@ */
-} ipp_op_t;
+  CUPS_AUTHENTICATE_JOB,               /* Authenticate a job @since CUPS 1.2/OS X 10.5@ */
+  CUPS_GET_PPD,                                /* Get a PPD file @since CUPS 1.3/OS X 10.5@ */
+  CUPS_GET_DOCUMENT = 0x4027           /* Get a document file @since CUPS 1.4/OS X 10.6@ */
 
-/* Old names for the operations */
+  /* Legacy names for the add operations */
 #define CUPS_ADD_PRINTER       CUPS_ADD_MODIFY_PRINTER
 #define CUPS_ADD_CLASS         CUPS_ADD_MODIFY_CLASS
+} ipp_op_t;
+
+typedef enum ipp_orient_e              /**** Orientation values ****/
+{
+  IPP_PORTRAIT = 3,                    /* No rotation */
+  IPP_LANDSCAPE,                       /* 90 degrees counter-clockwise */
+  IPP_REVERSE_LANDSCAPE,               /* 90 degrees clockwise */
+  IPP_REVERSE_PORTRAIT                 /* 180 degrees */
+} ipp_orient_t;
+
+typedef enum ipp_pstate_e              /**** Printer states ****/
+{
+  IPP_PRINTER_IDLE = 3,                        /* Printer is idle */
+  IPP_PRINTER_PROCESSING,              /* Printer is working */
+  IPP_PRINTER_STOPPED                  /* Printer is stopped */
+} ipp_pstate_t;
+
+typedef enum ipp_quality_e             /**** Qualities ****/
+{
+  IPP_QUALITY_DRAFT = 3,               /* Draft quality */
+  IPP_QUALITY_NORMAL,                  /* Normal quality */
+  IPP_QUALITY_HIGH                     /* High quality */
+} ipp_quality_t;
+
+typedef enum ipp_res_e                 /**** Resolution units ****/
+{
+  IPP_RES_PER_INCH = 3,                        /* Pixels per inch */
+  IPP_RES_PER_CM                       /* Pixels per centimeter */
+} ipp_res_t;
+
+typedef enum ipp_state_e               /**** IPP states ****/
+{
+  IPP_ERROR = -1,                      /* An error occurred */
+  IPP_IDLE,                            /* Nothing is happening/request completed */
+  IPP_HEADER,                          /* The request header needs to be sent/received */
+  IPP_ATTRIBUTE,                       /* One or more attributes need to be sent/received */
+  IPP_DATA                             /* IPP request data needs to be sent/received */
+} ipp_state_t;
 
 typedef enum ipp_status_e              /**** IPP status codes ****/
 {
+  IPP_STATUS_CUPS_INVALID = -1,                /* Invalid status name for @link ippErrorValue@ */
   IPP_OK = 0x0000,                     /* successful-ok */
   IPP_OK_SUBST,                                /* successful-ok-ignored-or-substituted-attributes */
   IPP_OK_CONFLICT,                     /* successful-ok-conflicting-attributes */
   IPP_OK_IGNORED_SUBSCRIPTIONS,                /* successful-ok-ignored-subscriptions */
-  IPP_OK_IGNORED_NOTIFICATIONS,                /* successful-ok-ignored-notifications */
+  IPP_OK_IGNORED_NOTIFICATIONS,                /* successful-ok-ignored-notifications @private@ */
   IPP_OK_TOO_MANY_EVENTS,              /* successful-ok-too-many-events */
-  IPP_OK_BUT_CANCEL_SUBSCRIPTION,      /* successful-ok-but-cancel-subscription */
+  IPP_OK_BUT_CANCEL_SUBSCRIPTION,      /* successful-ok-but-cancel-subscription @private@ */
   IPP_OK_EVENTS_COMPLETE,              /* successful-ok-events-complete */
   IPP_REDIRECTION_OTHER_SITE = 0x200,  /* redirection-other-site @private@ */
   CUPS_SEE_OTHER = 0x280,              /* cups-see-other */
@@ -300,8 +284,12 @@ typedef enum ipp_status_e          /**** IPP status codes ****/
   IPP_ATTRIBUTES_NOT_SETTABLE,         /* client-error-attributes-not-settable */
   IPP_IGNORED_ALL_SUBSCRIPTIONS,       /* client-error-ignored-all-subscriptions */
   IPP_TOO_MANY_SUBSCRIPTIONS,          /* client-error-too-many-subscriptions */
-  IPP_IGNORED_ALL_NOTIFICATIONS,       /* client-error-ignored-all-notifications */
-  IPP_PRINT_SUPPORT_FILE_NOT_FOUND,    /* client-error-print-support-file-not-found */
+  IPP_IGNORED_ALL_NOTIFICATIONS,       /* client-error-ignored-all-notifications @private@ */
+  IPP_PRINT_SUPPORT_FILE_NOT_FOUND,    /* client-error-print-support-file-not-found @private@ */
+  IPP_DOCUMENT_PASSWORD_ERROR,         /* client-error-document-password-error */
+  IPP_DOCUMENT_PERMISSION_ERROR,       /* client-error-document-permission-error */
+  IPP_DOCUMENT_SECURITY_ERROR,         /* client-error-document-security-error */
+  IPP_DOCUMENT_UNPRINTABLE_ERROR,      /* client-error-document-unprintable-error */
 
   IPP_INTERNAL_ERROR = 0x0500,         /* server-error-internal-error */
   IPP_OPERATION_NOT_SUPPORTED,         /* server-error-operation-not-supported */
@@ -317,19 +305,100 @@ typedef enum ipp_status_e                /**** IPP status codes ****/
   IPP_TOO_MANY_JOBS,                   /* server-error-too-many-jobs */
   IPP_TOO_MANY_DOCUMENTS,              /* server-error-too-many-documents */
 
-  IPP_AUTHENTICATION_CANCELED = 0x1000,        /* Authentication canceled by user @since CUPS 1.5/Mac OS X 10.7@ */
-  IPP_PKI_ERROR,                       /* Error negotiating a secure connection @since CUPS 1.5/Mac OS X 10.7@ */
+  IPP_AUTHENTICATION_CANCELED = 0x1000,        /* Authentication canceled by user @since CUPS 1.5/OS X 10.7@ */
+  IPP_PKI_ERROR,                       /* Error negotiating a secure connection @since CUPS 1.5/OS X 10.7@ */
   IPP_UPGRADE_REQUIRED                 /* TLS upgrade required */
-} ipp_status_t;
+
+  /* Legacy name for canceled status */
 #define IPP_ERROR_JOB_CANCELLED IPP_ERROR_JOB_CANCELED
 
+} ipp_status_t;
+
+typedef enum ipp_tag_e                 /**** Format tags for attributes ****/
+{
+  IPP_TAG_CUPS_INVALID = -1,           /* Invalid tag name for @link ippTagValue@ */
+  IPP_TAG_ZERO = 0x00,                 /* Zero tag - used for separators */
+  IPP_TAG_OPERATION,                   /* Operation group */
+  IPP_TAG_JOB,                         /* Job group */
+  IPP_TAG_END,                         /* End-of-attributes */
+  IPP_TAG_PRINTER,                     /* Printer group */
+  IPP_TAG_UNSUPPORTED_GROUP,           /* Unsupported attributes group */
+  IPP_TAG_SUBSCRIPTION,                        /* Subscription group */
+  IPP_TAG_EVENT_NOTIFICATION,          /* Event group */
+  IPP_TAG_RESOURCE,                    /* Resource group @private@ */
+  IPP_TAG_DOCUMENT,                    /* Document group */
+  IPP_TAG_UNSUPPORTED_VALUE = 0x10,    /* Unsupported value */
+  IPP_TAG_DEFAULT,                     /* Default value */
+  IPP_TAG_UNKNOWN,                     /* Unknown value */
+  IPP_TAG_NOVALUE,                     /* No-value value */
+  IPP_TAG_NOTSETTABLE = 0x15,          /* Not-settable value */
+  IPP_TAG_DELETEATTR,                  /* Delete-attribute value */
+  IPP_TAG_ADMINDEFINE,                 /* Admin-defined value */
+  IPP_TAG_INTEGER = 0x21,              /* Integer value */
+  IPP_TAG_BOOLEAN,                     /* Boolean value */
+  IPP_TAG_ENUM,                                /* Enumeration value */
+  IPP_TAG_STRING = 0x30,               /* Octet string value */
+  IPP_TAG_DATE,                                /* Date/time value */
+  IPP_TAG_RESOLUTION,                  /* Resolution value */
+  IPP_TAG_RANGE,                       /* Range value */
+  IPP_TAG_BEGIN_COLLECTION,            /* Beginning of collection value */
+  IPP_TAG_TEXTLANG,                    /* Text-with-language value */
+  IPP_TAG_NAMELANG,                    /* Name-with-language value */
+  IPP_TAG_END_COLLECTION,              /* End of collection value */
+  IPP_TAG_TEXT = 0x41,                 /* Text value */
+  IPP_TAG_NAME,                                /* Name value */
+  IPP_TAG_RESERVED_STRING,             /* Reserved for future string value @private@ */
+  IPP_TAG_KEYWORD,                     /* Keyword value */
+  IPP_TAG_URI,                         /* URI value */
+  IPP_TAG_URISCHEME,                   /* URI scheme value */
+  IPP_TAG_CHARSET,                     /* Character set value */
+  IPP_TAG_LANGUAGE,                    /* Language value */
+  IPP_TAG_MIMETYPE,                    /* MIME media type value */
+  IPP_TAG_MEMBERNAME,                  /* Collection member name value */
+  IPP_TAG_EXTENSION = 0x7f,            /* Extension point for 32-bit tags */
+  IPP_TAG_MASK = 0x7fffffff,           /* Mask for copied attribute values @private@ */
+  /* The following expression is used to avoid compiler warnings with +/-0x80000000 */
+  IPP_TAG_COPY = -0x7fffffff-1         /* Bitflag for copied attribute values @private@ */
+} ipp_tag_t;
+
 typedef unsigned char ipp_uchar_t;     /**** Unsigned 8-bit integer/character ****/
+typedef struct _ipp_s ipp_t;           /**** IPP request/response data ****/
+typedef struct _ipp_attribute_s ipp_attribute_t;
+                                       /**** IPP attribute ****/
 
-/**** New in CUPS 1.2 ****/
-typedef ssize_t        (*ipp_iocb_t)(void *, ipp_uchar_t *, size_t);
-                                       /**** IPP IO Callback Function @since CUPS 1.2/Mac OS X 10.5@ ****/
+/**** New in CUPS 1.2/OS X 10.5 ****/
+typedef ssize_t        (*ipp_iocb_t)(void *context, ipp_uchar_t *buffer, size_t bytes);
+                                       /**** IPP IO Callback Function @since CUPS 1.2/OS X 10.5@ ****/
+
+/**** New in CUPS 1.6/OS X 10.8 ****/
+typedef int (*ipp_copycb_t)(void *context, ipp_t *dst, ipp_attribute_t *attr);
+
+
+/*
+ * The following structures are PRIVATE starting with CUPS 1.6/OS X 10.8.
+ * Please use the new accessor functions available in CUPS 1.6 and later, as
+ * these definitions will be moved to a private header file in a future release.
+ *
+ * Define _IPP_PRIVATE_STRUCTURES to cause the private IPP structures to be
+ * exposed in CUPS 1.6.  This happens automatically on OS X when compiling for
+ * a deployment target of 10.7 or earlier.
+ */
 
-typedef union ipp_request_u            /**** Request Header ****/
+#  if defined(_CUPS_SOURCE) || defined(_CUPS_IPP_PRIVATE_H_)
+     /* Building CUPS */
+#    define _IPP_PRIVATE_STRUCTURES 1
+#  elif defined(__APPLE__)
+#    if defined(MAC_OS_X_VERSION_10_8) && MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_8
+       /* Building for 10.7 and earlier */
+#      define _IPP_PRIVATE_STRUCTURES 1
+#    elif !defined(MAC_OS_X_VERSION_10_8)
+       /* Building for 10.7 and earlier */
+#      define _IPP_PRIVATE_STRUCTURES 1
+#    endif /* MAC_OS_X_VERSION_10_8 && MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_8 */
+#  endif /* _CUPS_SOURCE || _CUPS_IPP_PRIVATE_H_ */
+
+#  ifdef _IPP_PRIVATE_STRUCTURES
+typedef union _ipp_request_u           /**** Request Header ****/
 {
   struct                               /* Any Header */
   {
@@ -353,18 +422,17 @@ typedef union ipp_request_u               /**** Request Header ****/
   }            status;
 
   /**** New in CUPS 1.1.19 ****/
-  struct                               /* Event Header @since CUPS 1.1.19/Mac OS X 10.3@ */
+  struct                               /* Event Header @since CUPS 1.1.19/OS X 10.3@ */
   {
     ipp_uchar_t        version[2];             /* Protocol version number */
     ipp_status_t status_code;          /* Status code */
     int                request_id;             /* Request ID */
   }            event;
-} ipp_request_t;
+} _ipp_request_t;
 
 /**** New in CUPS 1.1.19 ****/
-typedef struct ipp_s ipp_t;
 
-typedef union ipp_value_u              /**** Attribute Value ****/
+typedef union _ipp_value_u             /**** Attribute Value ****/
 {
   int          integer;                /* Integer/enumerated value */
 
@@ -387,7 +455,7 @@ typedef union ipp_value_u           /**** Attribute Value ****/
 
   struct
   {
-    char       *charset;               /* Character set */
+    char       *language;              /* Language code */
     char       *text;                  /* String */
   }            string;                 /* String with language value */
 
@@ -398,34 +466,36 @@ typedef union ipp_value_u         /**** Attribute Value ****/
   }            unknown;                /* Unknown attribute type */
 
 /**** New in CUPS 1.1.19 ****/
-  ipp_t                *collection;            /* Collection value @since CUPS 1.1.19/Mac OS X 10.3@ */
-} ipp_value_t;
+  ipp_t                *collection;            /* Collection value @since CUPS 1.1.19/OS X 10.3@ */
+} _ipp_value_t;
+typedef _ipp_value_t ipp_value_t;      /**** Convenience typedef that will be removed @private@ ****/
 
-typedef struct ipp_attribute_s         /**** Attribute ****/
+struct _ipp_attribute_s                        /**** Attribute ****/
 {
-  struct ipp_attribute_s *next;                /* Next attribute in list */
+  ipp_attribute_t *next;               /* Next attribute in list */
   ipp_tag_t    group_tag,              /* Job/Printer/Operation group tag */
                value_tag;              /* What type of value is it? */
   char         *name;                  /* Name of attribute */
   int          num_values;             /* Number of values */
-  ipp_value_t  values[1];              /* Values */
-} ipp_attribute_t;
+  _ipp_value_t values[1];              /* Values */
+};
 
-struct ipp_s                           /**** IPP Request/Response/Notification ****/
+struct _ipp_s                          /**** IPP Request/Response/Notification ****/
 {
-  ipp_state_t  state;                  /* State of request */
-  ipp_request_t        request;                /* Request header */
-  ipp_attribute_t *attrs;              /* Attributes */
-  ipp_attribute_t *last;               /* Last attribute in list */
-  ipp_attribute_t *current;            /* Current attribute (for read/write) */
-  ipp_tag_t    curtag;                 /* Current attribute group tag */
+  ipp_state_t          state;          /* State of request */
+  _ipp_request_t       request;        /* Request header */
+  ipp_attribute_t      *attrs;         /* Attributes */
+  ipp_attribute_t      *last;          /* Last attribute in list */
+  ipp_attribute_t      *current;       /* Current attribute (for read/write) */
+  ipp_tag_t            curtag;         /* Current attribute group tag */
 
 /**** New in CUPS 1.2 ****/
-  ipp_attribute_t *prev;               /* Previous attribute (for read) @since CUPS 1.2/Mac OS X 10.5@ */
+  ipp_attribute_t      *prev;          /* Previous attribute (for read) @since CUPS 1.2/OS X 10.5@ */
 
 /**** New in CUPS 1.4.4 ****/
-  int          use;                    /* Use count @since CUPS 1.4.4/Mac OS X 10.6.?@ */
+  int                  use;            /* Use count @since CUPS 1.4.4/OS X 10.6.?@ */
 };
+#  endif /* _IPP_PRIVATE_STRUCTURES */
 
 
 /*
@@ -440,10 +510,10 @@ extern ipp_attribute_t    *ippAddBooleans(ipp_t *ipp, ipp_tag_t group,
 extern ipp_attribute_t *ippAddDate(ipp_t *ipp, ipp_tag_t group,
                                    const char *name, const ipp_uchar_t *value);
 extern ipp_attribute_t *ippAddInteger(ipp_t *ipp, ipp_tag_t group,
-                                      ipp_tag_t type, const char *name,
+                                      ipp_tag_t value_tag, const char *name,
                                       int value);
 extern ipp_attribute_t *ippAddIntegers(ipp_t *ipp, ipp_tag_t group,
-                                       ipp_tag_t type, const char *name,
+                                       ipp_tag_t value_tag, const char *name,
                                        int num_values, const int *values);
 extern ipp_attribute_t *ippAddRange(ipp_t *ipp, ipp_tag_t group,
                                     const char *name, int lower, int upper);
@@ -459,19 +529,19 @@ extern ipp_attribute_t    *ippAddResolutions(ipp_t *ipp, ipp_tag_t group,
                                           const int *yres);
 extern ipp_attribute_t *ippAddSeparator(ipp_t *ipp);
 extern ipp_attribute_t *ippAddString(ipp_t *ipp, ipp_tag_t group,
-                                     ipp_tag_t type, const char *name,
-                                     const char *charset, const char *value);
+                                     ipp_tag_t value_tag, const char *name,
+                                     const char *language, const char *value);
 extern ipp_attribute_t *ippAddStrings(ipp_t *ipp, ipp_tag_t group,
-                                      ipp_tag_t type, const char *name,
-                                      int num_values, const char *charset,
+                                      ipp_tag_t value_tag, const char *name,
+                                      int num_values, const char *language,
                                       const char * const *values);
 extern time_t          ippDateToTime(const ipp_uchar_t *date);
 extern void            ippDelete(ipp_t *ipp);
 extern const char      *ippErrorString(ipp_status_t error);
 extern ipp_attribute_t *ippFindAttribute(ipp_t *ipp, const char *name,
-                                         ipp_tag_t type);
+                                         ipp_tag_t value_tag);
 extern ipp_attribute_t *ippFindNextAttribute(ipp_t *ipp, const char *name,
-                                             ipp_tag_t type);
+                                             ipp_tag_t value_tag);
 extern size_t          ippLength(ipp_t *ipp);
 extern ipp_t           *ippNew(void);
 extern ipp_state_t     ippRead(http_t *http, ipp_t *ipp);
@@ -490,7 +560,7 @@ extern void         ippDeleteAttribute(ipp_t *ipp, ipp_attribute_t *attr) _CUPS_API_1_1
 extern ipp_state_t     ippReadFile(int fd, ipp_t *ipp) _CUPS_API_1_1_19;
 extern ipp_state_t     ippWriteFile(int fd, ipp_t *ipp) _CUPS_API_1_1_19;
 
-/**** New in CUPS 1.2 ****/
+/**** New in CUPS 1.2/OS X 10.5 ****/
 extern ipp_attribute_t *ippAddOctetString(ipp_t *ipp, ipp_tag_t group,
                                           const char *name,
                                           const void *data, int datalen) _CUPS_API_1_2;
@@ -503,10 +573,89 @@ extern ipp_state_t        ippReadIO(void *src, ipp_iocb_t cb, int blocking,
 extern ipp_state_t     ippWriteIO(void *dst, ipp_iocb_t cb, int blocking,
                                   ipp_t *parent, ipp_t *ipp) _CUPS_API_1_2;
 
-/**** New in CUPS 1.4 ****/
+/**** New in CUPS 1.4/OS X 10.6 ****/
 extern const char      *ippTagString(ipp_tag_t tag) _CUPS_API_1_4;
 extern ipp_tag_t       ippTagValue(const char *name) _CUPS_API_1_4;
 
+/**** New in CUPS 1.6/OS X 10.8 ****/
+extern ipp_attribute_t *ippAddOutOfBand(ipp_t *ipp, ipp_tag_t group,
+                                        ipp_tag_t value_tag, const char *name)
+                                        _CUPS_API_1_6;
+extern size_t          ippAttributeString(ipp_attribute_t *attr, char *buffer,
+                                          size_t bufsize) _CUPS_API_1_6;
+extern ipp_attribute_t *ippCopyAttribute(ipp_t *dst, ipp_attribute_t *attr,
+                                        int quickcopy) _CUPS_API_1_6;
+extern int             ippCopyAttributes(ipp_t *dst, ipp_t *src,
+                                         int quickcopy, ipp_copycb_t cb,
+                                         void *context) _CUPS_API_1_6;
+extern int             ippDeleteValues(ipp_t *ipp, ipp_attribute_t **attr,
+                                       int element, int count) _CUPS_API_1_6;
+extern const char      *ippEnumString(const char *attrname, int enumvalue)
+                                      _CUPS_API_1_6;
+extern int             ippEnumValue(const char *attrname,
+                                    const char *enumstring) _CUPS_API_1_6;
+extern ipp_attribute_t *ippFirstAttribute(ipp_t *ipp) _CUPS_API_1_6;
+extern int             ippGetBoolean(ipp_attribute_t *attr, int element)
+                                     _CUPS_API_1_6;
+extern ipp_t           *ippGetCollection(ipp_attribute_t *attr,
+                                         int element) _CUPS_API_1_6;
+extern int             ippGetCount(ipp_attribute_t *attr) _CUPS_API_1_6;
+extern const ipp_uchar_t *ippGetDate(ipp_attribute_t *attr, int element)
+                                    _CUPS_API_1_6;
+extern ipp_tag_t       ippGetGroupTag(ipp_attribute_t *attr) _CUPS_API_1_6;
+extern int             ippGetInteger(ipp_attribute_t *attr, int element)
+                                     _CUPS_API_1_6;
+extern const char      *ippGetName(ipp_attribute_t *attr) _CUPS_API_1_6;
+extern ipp_op_t                ippGetOperation(ipp_t *ipp) _CUPS_API_1_6;
+extern int             ippGetRange(ipp_attribute_t *attr, int element,
+                                   int *upper) _CUPS_API_1_6;
+extern int             ippGetRequestId(ipp_t *ipp) _CUPS_API_1_6;
+extern int             ippGetResolution(ipp_attribute_t *attr, int element,
+                                        int *yres, ipp_res_t *units)
+                                        _CUPS_API_1_6;
+extern ipp_state_t     ippGetState(ipp_t *ipp) _CUPS_API_1_6;
+extern ipp_status_t    ippGetStatusCode(ipp_t *ipp) _CUPS_API_1_6;
+extern const char      *ippGetString(ipp_attribute_t *attr, int element,
+                                     const char **language) _CUPS_API_1_6;
+extern ipp_tag_t       ippGetValueTag(ipp_attribute_t *attr) _CUPS_API_1_6;
+extern int             ippGetVersion(ipp_t *ipp, int *minor) _CUPS_API_1_6;
+extern ipp_attribute_t *ippNextAttribute(ipp_t *ipp) _CUPS_API_1_6;
+extern int             ippSetBoolean(ipp_t *ipp, ipp_attribute_t **attr,
+                                     int element, int boolvalue) _CUPS_API_1_6;
+extern int             ippSetCollection(ipp_t *ipp, ipp_attribute_t **attr,
+                                        int element, ipp_t *colvalue)
+                                        _CUPS_API_1_6;
+extern int             ippSetDate(ipp_t *ipp, ipp_attribute_t **attr,
+                                   int element, const ipp_uchar_t *datevalue)
+                                   _CUPS_API_1_6;
+extern int             ippSetGroupTag(ipp_t *ipp, ipp_attribute_t **attr,
+                                      ipp_tag_t group_tag) _CUPS_API_1_6;
+extern int             ippSetInteger(ipp_t *ipp, ipp_attribute_t **attr,
+                                     int element, int intvalue) _CUPS_API_1_6;
+extern int             ippSetName(ipp_t *ipp, ipp_attribute_t **attr,
+                                   const char *name) _CUPS_API_1_6;
+extern int             ippSetOperation(ipp_t *ipp, ipp_op_t op) _CUPS_API_1_6;
+extern int             ippSetRange(ipp_t *ipp, ipp_attribute_t **attr,
+                                   int element, int lowervalue, int uppervalue)
+                                   _CUPS_API_1_6;
+extern int             ippSetRequestId(ipp_t *ipp, int request_id)
+                                       _CUPS_API_1_6;
+extern int             ippSetResolution(ipp_t *ipp, ipp_attribute_t **attr,
+                                        int element, ipp_res_t unitsvalue,
+                                        int xresvalue, int yresvalue)
+                                        _CUPS_API_1_6;
+extern int             ippSetState(ipp_t *ipp, ipp_state_t state)
+                                   _CUPS_API_1_6;
+extern int             ippSetStatusCode(ipp_t *ipp, ipp_status_t status)
+                                        _CUPS_API_1_6;
+extern int             ippSetString(ipp_t *ipp, ipp_attribute_t **attr,
+                                    int element, const char *strvalue)
+                                    _CUPS_API_1_6;
+extern int             ippSetValueTag(ipp_t *ipp, ipp_attribute_t **attr,
+                                      ipp_tag_t value_tag) _CUPS_API_1_6;
+extern int             ippSetVersion(ipp_t *ipp, int major, int minor)
+                                     _CUPS_API_1_6;
+
 
 /*
  * C++ magic...
@@ -518,5 +667,5 @@ extern ipp_tag_t    ippTagValue(const char *name) _CUPS_API_1_4;
 #endif /* !_CUPS_IPP_H_ */
 
 /*
- * End of "$Id: ipp.h 10108 2011-11-04 22:22:22Z mike $".
+ * End of "$Id: ipp.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index 6c7d946..54cef2c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: langprintf.c 9637 2011-03-21 23:03:22Z mike $"
+ * "$Id: langprintf.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Localized printf/puts functions for CUPS.
  *
@@ -348,5 +348,5 @@ _cupsSetLocale(char *argv[])                /* IO - Command-line arguments */
 
 
 /*
- * End of "$Id: langprintf.c 9637 2011-03-21 23:03:22Z mike $".
+ * End of "$Id: langprintf.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 1a6a09e..8b44b8b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: language-private.h 9382 2010-11-20 01:03:46Z mike $"
+ * "$Id: language-private.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Private localization support for CUPS.
  *
@@ -62,21 +62,16 @@ extern void         _cupsLangPrintError(const char *prefix,
                                            const char *message);
 extern int             _cupsLangPrintFilter(FILE *fp, const char *prefix,
                                             const char *message, ...)
-#  ifdef __GNUC__
-__attribute__ ((__format__ (__printf__, 3, 4)))
-#  endif /* __GNUC__ */
-;
+                       __attribute__ ((__format__ (__printf__, 3, 4)));
 extern int             _cupsLangPrintf(FILE *fp, const char *message, ...)
-#  ifdef __GNUC__
-__attribute__ ((__format__ (__printf__, 2, 3)))
-#  endif /* __GNUC__ */
-;
+                       __attribute__ ((__format__ (__printf__, 2, 3)));
 extern int             _cupsLangPuts(FILE *fp, const char *message);
 extern const char      *_cupsLangString(cups_lang_t *lang,
                                         const char *message);
 extern void            _cupsMessageFree(cups_array_t *a);
 extern cups_array_t    *_cupsMessageLoad(const char *filename, int unquote);
 extern const char      *_cupsMessageLookup(cups_array_t *a, const char *m);
+extern cups_array_t    *_cupsMessageNew(void *context);
 extern void            _cupsSetLocale(char *argv[]);
 
 
@@ -87,5 +82,5 @@ extern void           _cupsSetLocale(char *argv[]);
 #endif /* !_CUPS_LANGUAGE_PRIVATE_H_ */
 
 /*
- * End of "$Id: language-private.h 9382 2010-11-20 01:03:46Z mike $".
+ * End of "$Id: language-private.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index b762e7d..b35a865 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: language.c 10379 2012-03-23 22:16:22Z mike $"
+ * "$Id: language.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   I18N/language support for CUPS.
  *
  * Contents:
  *
  *   _cupsAppleLanguage()   - Get the Apple language identifier associated with
- *                            a locale ID.
+ *                           a locale ID.
  *   _cupsEncodingName()    - Return the character encoding name string for the
- *                            given encoding enumeration.
- *   cupsLangDefault()      - Return the default language.
- *   cupsLangEncoding()     - Return the character encoding (us-ascii, etc.) for
- *                            the given language.
- *   cupsLangFlush()        - Flush all language data out of the cache.
- *   cupsLangFree()         - Free language data.
- *   cupsLangGet()          - Get a language.
- *   _cupsLangString()      - Get a message string.
+ *                           given encoding enumeration.
+ *   cupsLangDefault()     - Return the default language.
+ *   cupsLangEncoding()     - Return the character encoding (us-ascii, etc.)
+ *                           for the given language.
+ *   cupsLangFlush()       - Flush all language data out of the cache.
+ *   cupsLangFree()        - Free language data.
+ *   cupsLangGet()         - Get a language.
+ *   _cupsLangString()     - Get a message string.
  *   _cupsMessageFree()     - Free a messages array.
  *   _cupsMessageLoad()     - Load a .po file into a messages array.
  *   _cupsMessageLookup()   - Lookup a message string.
+ *   _cupsMessageNew()     - Make a new message catalog array.
  *   appleLangDefault()     - Get the default locale string.
  *   appleMessageLoad()     - Load a message catalog from a localizable bundle.
  *   cups_cache_lookup()    - Lookup a language in the cache...
  *   cups_message_compare() - Compare two messages.
  *   cups_message_free()    - Free a message.
- *   cups_unquote()         - Unquote characters in strings...
+ *   cups_message_load()    - Load the message catalog for a language.
+ *   cups_unquote()        - Unquote characters in strings...
  */
 
 /*
@@ -176,6 +178,7 @@ static cups_lang_t  *cups_cache_lookup(const char *name,
 static int             cups_message_compare(_cups_message_t *m1,
                                             _cups_message_t *m2);
 static void            cups_message_free(_cups_message_t *m);
+static void            cups_message_load(cups_lang_t *lang);
 static void            cups_unquote(char *d, const char *s);
 
 
@@ -393,11 +396,6 @@ cupsLangGet(const char *language)  /* I - Language or locale */
                        real[48];       /* Real language name */
   cups_encoding_t      encoding;       /* Encoding to use */
   cups_lang_t          *lang;          /* Current language... */
-#if !defined(__APPLE__) || !defined(CUPS_BUNDLEDIR)
-  char                 filename[1024]; /* Filename for language locale file */
-  _cups_globals_t      *cg = _cupsGlobals();
-                                       /* Pointer to library globals */
-#endif /* !__APPLE__ || !CUPS_BUNDLEDIR */
   static const char * const locale_encodings[] =
                {                       /* Locale charset names */
                  "ASCII",      "ISO88591",     "ISO88592",     "ISO88593",
@@ -701,21 +699,9 @@ cupsLangGet(const char *language)  /* I - Language or locale */
   */
 
   if (country[0])
-  {
     snprintf(real, sizeof(real), "%s_%s", langname, country);
-
-#if !defined(__APPLE__) || !defined(CUPS_BUNDLEDIR)
-    snprintf(filename, sizeof(filename), "%s/%s/cups_%s.po", cg->localedir,
-             real, real);
-#endif /* !__APPLE__ || !CUPS_BUNDLEDIR */
-  }
   else
-  {
     strcpy(real, langname);
-#if !defined(__APPLE__) || !defined(CUPS_BUNDLEDIR)
-    filename[0] = '\0';                        /* anti-compiler-warning-code */
-#endif /* !__APPLE__ || !CUPS_BUNDLEDIR */
-  }
 
   _cupsMutexLock(&lang_mutex);
 
@@ -728,30 +714,6 @@ cupsLangGet(const char *language)  /* I - Language or locale */
     return (lang);
   }
 
-#if !defined(__APPLE__) || !defined(CUPS_BUNDLEDIR)
-  if (!country[0] || access(filename, 0))
-  {
-   /*
-    * Country localization not available, look for generic localization...
-    */
-
-    snprintf(filename, sizeof(filename), "%s/%s/cups_%s.po", cg->localedir,
-             langname, langname);
-
-    if (access(filename, 0))
-    {
-     /*
-      * No generic localization, so use POSIX...
-      */
-
-      DEBUG_printf(("4cupsLangGet: access(\"%s\", 0): %s", filename,
-                    strerror(errno)));
-
-      snprintf(filename, sizeof(filename), "%s/C/cups_C.po", cg->localedir);
-    }
-  }
-#endif /* !__APPLE__ || !CUPS_BUNDLEDIR */
-
  /*
   * See if there is a free language available; if so, use that
   * record...
@@ -784,6 +746,7 @@ cupsLangGet(const char *language)   /* I - Language or locale */
     */
 
     _cupsMessageFree(lang->strings);
+    lang->strings = NULL;
   }
 
  /*
@@ -799,16 +762,6 @@ cupsLangGet(const char *language)  /* I - Language or locale */
     lang->encoding = CUPS_UTF8;
 
  /*
-  * Read the strings from the file...
-  */
-
-#if defined(__APPLE__) && defined(CUPS_BUNDLEDIR)
-  lang->strings = appleMessageLoad(lang->language);
-#else
-  lang->strings = _cupsMessageLoad(filename, 1);
-#endif /* __APPLE__ && CUPS_BUNDLEDIR */
-
- /*
   * Return...
   */
 
@@ -835,11 +788,18 @@ _cupsLangString(cups_lang_t *lang,        /* I - Language */
   * Range check input...
   */
 
-  if (!lang || !message)
+  if (!lang || !message || !*message)
     return (message);
 
   _cupsMutexLock(&lang_mutex);
 
+ /*
+  * Load the message catalog if needed...
+  */
+
+  if (!lang->strings)
+    cups_message_load(lang);
+
   s = _cupsMessageLookup(lang->strings, message);
 
   _cupsMutexUnlock(&lang_mutex);
@@ -895,10 +855,7 @@ _cupsMessageLoad(const char *filename,     /* I - Message catalog to load */
   * Create an array to hold the messages...
   */
 
-  if ((a = cupsArrayNew3((cups_array_func_t)cups_message_compare, NULL,
-                         (cups_ahash_func_t)NULL, 0,
-                        (cups_acopy_func_t)NULL,
-                        (cups_afree_func_t)cups_message_free)) == NULL)
+  if ((a = _cupsMessageNew(NULL)) == NULL)
   {
     DEBUG_puts("5_cupsMessageLoad: Unable to allocate array!");
     return (NULL);
@@ -1181,6 +1138,20 @@ _cupsMessageLookup(cups_array_t *a,      /* I - Message array */
 }
 
 
+/*
+ * '_cupsMessageNew()' - Make a new message catalog array.
+ */
+
+cups_array_t *                         /* O - Array */
+_cupsMessageNew(void *context)         /* I - User data */
+{
+  return (cupsArrayNew3((cups_array_func_t)cups_message_compare, context,
+                        (cups_ahash_func_t)NULL, 0,
+                       (cups_acopy_func_t)NULL,
+                       (cups_afree_func_t)cups_message_free));
+}
+
+
 #ifdef __APPLE__
 /*
  * 'appleLangDefault()' - Get the default locale string.
@@ -1415,10 +1386,7 @@ appleMessageLoad(const char *locale)     /* I - Locale ID */
   * plist as the user data.
   */
 
-  return (cupsArrayNew3((cups_array_func_t)cups_message_compare, (void *)plist,
-                        (cups_ahash_func_t)NULL, 0,
-                       (cups_acopy_func_t)NULL,
-                       (cups_afree_func_t)cups_message_free));
+  return (_cupsMessageNew((void *)plist));
 }
 #  endif /* CUPS_BUNDLEDIR */
 #endif /* __APPLE__ */
@@ -1498,6 +1466,56 @@ cups_message_free(_cups_message_t *m)    /* I - Message */
 
 
 /*
+ * 'cups_message_load()' - Load the message catalog for a language.
+ */
+
+static void
+cups_message_load(cups_lang_t *lang)   /* I - Language */
+{
+#if defined(__APPLE__) && defined(CUPS_BUNDLEDIR)
+  lang->strings = appleMessageLoad(lang->language);
+
+#else
+  char                 filename[1024]; /* Filename for language locale file */
+  _cups_globals_t      *cg = _cupsGlobals();
+                                       /* Pointer to library globals */
+
+
+  snprintf(filename, sizeof(filename), "%s/%s/cups_%s.po", cg->localedir,
+          lang->language, lang->language);
+
+  if (strchr(lang->language, '_') && access(filename, 0))
+  {
+   /*
+    * Country localization not available, look for generic localization...
+    */
+
+    snprintf(filename, sizeof(filename), "%s/%.2s/cups_%.2s.po", cg->localedir,
+             lang->language, lang->language);
+
+    if (access(filename, 0))
+    {
+     /*
+      * No generic localization, so use POSIX...
+      */
+
+      DEBUG_printf(("4cups_message_load: access(\"%s\", 0): %s", filename,
+                    strerror(errno)));
+
+      snprintf(filename, sizeof(filename), "%s/C/cups_C.po", cg->localedir);
+    }
+  }
+
+ /*
+  * Read the strings from the file...
+  */
+
+  lang->strings = _cupsMessageLoad(filename, 1);
+#endif /* __APPLE__ && CUPS_BUNDLEDIR */
+}
+
+
+/*
  * 'cups_unquote()' - Unquote characters in strings...
  */
 
@@ -1545,5 +1563,5 @@ cups_unquote(char       *d,               /* O - Unquoted string */
 
 
 /*
- * End of "$Id: language.c 10379 2012-03-23 22:16:22Z mike $".
+ * End of "$Id: language.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 03c8eb5..d2ad208 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: language.h 9771 2011-05-12 05:21:56Z mike $"
+ * "$Id: language.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Multi-language support for CUPS.
  *
@@ -111,5 +111,5 @@ extern cups_lang_t  *cupsLangGet(const char *language);
 #endif /* !_CUPS_LANGUAGE_H_ */
 
 /*
- * End of "$Id: language.h 9771 2011-05-12 05:21:56Z mike $".
+ * End of "$Id: language.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index 1576fff..ef22daa 100644 (file)
@@ -1,6 +1,8 @@
 LIBRARY libcups2\r
 VERSION 2.9\r
 EXPORTS\r
+_cupsBufferGet\r
+_cupsBufferRelease\r
 _cupsGet1284Values\r
 _cupsGetDests\r
 _cupsGetPassword\r
@@ -15,6 +17,8 @@ _cupsMD5Init
 _cupsMessageFree\r
 _cupsMessageLoad\r
 _cupsMessageLookup\r
+_cupsMutexLock\r
+_cupsMutexUnlock\r
 _cupsNextDelay\r
 _cupsSetError\r
 _cupsSetLocale\r
@@ -38,10 +42,7 @@ _httpEncodeURI
 _httpPeek\r
 _httpResolveURI\r
 _httpWait\r
-_ippAddAttr\r
-_ippAttrString\r
 _ippFindOption\r
-_ippFreeAttr\r
 _ppdCacheCreateWithFile\r
 _ppdCacheCreateWithPPD\r
 _ppdCacheDestroy\r
@@ -60,6 +61,8 @@ _ppdGetLanguages
 _ppdHashName\r
 _ppdLocalizedAttr\r
 _ppdNormalizeMakeAndModel\r
+_ppdOpen\r
+_ppdOpenFile\r
 _ppdParseOptions\r
 _pwgGenerateSize\r
 _pwgInitSize\r
@@ -272,6 +275,7 @@ ippAddDate
 ippAddInteger\r
 ippAddIntegers\r
 ippAddOctetString\r
+ippAddOutOfBand\r
 ippAddRange\r
 ippAddRanges\r
 ippAddResolution\r
@@ -279,16 +283,40 @@ ippAddResolutions
 ippAddSeparator\r
 ippAddString\r
 ippAddStrings\r
+ippAttributeString\r
+ippCopyAttribute\r
+ippCopyAttributes\r
 ippDateToTime\r
 ippDelete\r
 ippDeleteAttribute\r
+ippDeleteValues\r
+ippEnumString\r
+ippEnumValue\r
 ippErrorString\r
 ippErrorValue\r
 ippFindAttribute\r
 ippFindNextAttribute\r
+ippFirstAttribute\r
+ippGetBoolean\r
+ippGetCollection\r
+ippGetCount\r
+ippGetDate\r
+ippGetGroupTag\r
+ippGetInteger\r
+ippGetName\r
+ippGetOperation\r
+ippGetRange\r
+ippGetRequestId\r
+ippGetResolution\r
+ippGetState\r
+ippGetStatusCode\r
+ippGetString\r
+ippGetValueTag\r
+ippGetVersion\r
 ippLength\r
 ippNew\r
 ippNewRequest\r
+ippNextAttribute\r
 ippOpString\r
 ippOpValue\r
 ippPort\r
@@ -296,6 +324,21 @@ ippRead
 ippReadFile\r
 ippReadIO\r
 ippSetPort\r
+ippSetBoolean\r
+ippSetCollection\r
+ippSetDate\r
+ippSetGroupTag\r
+ippSetInteger\r
+ippSetName\r
+ippSetOperation\r
+ippSetRange\r
+ippSetRequestId\r
+ippSetResolution\r
+ippSetState\r
+ippSetStatusCode\r
+ippSetString\r
+ippSetValueTag\r
+ippSetVersion\r
 ippTagString\r
 ippTagValue\r
 ippTimeToDate\r
index 4d09553..b8b2207 100644 (file)
@@ -1,4 +1,6 @@
 _cups_debug_fd
+_cupsBufferGet
+_cupsBufferRelease
 _cupsGet1284Values
 _cupsGetDests
 _cupsGetPassword
@@ -50,15 +52,15 @@ _httpPeek
 _httpResolveURI
 _httpSetTimeout
 _httpWait
-_ippAddAttr
 _ippFindOption
-_ippFreeAttr
 _ppdFreeLanguages
 _ppdGetEncoding
 _ppdGetLanguages
 _ppdHashName
 _ppdLocalizedAttr
 _ppdNormalizeMakeAndModel
+_ppdOpen
+_ppdOpenFile
 _ppdParseOptions
 _pwgCreateWithFile
 _pwgDestroy
index 6a35c38..30ccda4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: localize.c 10270 2012-02-13 17:13:21Z mike $"
+ * "$Id: localize.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   PPD localization routines for CUPS.
  *
@@ -61,7 +61,7 @@ static cups_lang_t    *ppd_ll_CC(char *ll_CC, int ll_CC_size);
  * descriptions, printer presets, and custom option parameters.  Each
  * localized string uses the UTF-8 character encoding.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - 0 on success, -1 on error */
@@ -246,7 +246,7 @@ ppdLocalizeAttr(ppd_file_t *ppd,    /* I - PPD file */
  *
  * If no value of the requested scheme can be found, NULL is returned.
  *
- * @since CUPS 1.3/Mac OS X 10.5@
+ * @since CUPS 1.3/OS X 10.5@
  */
 
 const char *                           /* O - Value or NULL if not found */
@@ -332,9 +332,9 @@ ppdLocalizeIPPReason(
       else if (!strncmp(reason, "output-area-full", 16))
        message = _("The output bin is full.");
       else if (!strncmp(reason, "marker-supply-low", 17))
-       message = _("The printer is running low on ink.");              
+       message = _("The printer is running low on ink.");
       else if (!strncmp(reason, "marker-supply-empty", 19))
-       message = _("The printer is out of ink.");
+       message = _("The printer may be out of ink.");
       else if (!strncmp(reason, "marker-waste-almost-full", 24))
        message = _("The printer's waste bin is almost full.");
       else if (!strncmp(reason, "marker-waste-full", 17))
@@ -351,7 +351,7 @@ ppdLocalizeIPPReason(
        message = _("The developer unit will need to be replaced soon.");
       else if (!strncmp(reason, "developer-empty", 15))
        message = _("The developer unit needs to be replaced.");
-               
+
       if (message)
       {
         strlcpy(buffer, _cupsLangString(lang, message), bufsize);
@@ -499,7 +499,7 @@ ppdLocalizeIPPReason(
  * text from the attribute value. If no localized text for the requested
  * name can be found, @code NULL@ is returned.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 const char *                           /* O - Value or @code NULL@ if not found */
@@ -637,7 +637,7 @@ _ppdGetLanguages(ppd_file_t *ppd)   /* I - PPD file */
 /*
  * '_ppdHashName()' - Generate a hash value for a device or profile name.
  *
- * This function is primarily used on Mac OS X, but is generally accessible
+ * This function is primarily used on OS X, but is generally accessible
  * since cupstestppd needs to check for profile name collisions in PPD files...
  */
 
@@ -775,5 +775,5 @@ ppd_ll_CC(char *ll_CC,                      /* O - Country-specific locale name */
 
 
 /*
- * End of "$Id: localize.c 10270 2012-02-13 17:13:21Z mike $".
+ * End of "$Id: localize.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index f598551..86bcc09 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: mark.c 9895 2011-08-12 00:16:55Z mike $"
+ * "$Id: mark.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Option marking routines for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -575,7 +575,7 @@ ppdMarkOption(ppd_file_t *ppd,              /* I - PPD file record */
  *
  * Options are returned from all groups in ascending alphanumeric order.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 ppd_option_t *                         /* O - First option or @code NULL@ */
@@ -593,7 +593,7 @@ ppdFirstOption(ppd_file_t *ppd)             /* I - PPD file */
  *
  * Options are returned from all groups in ascending alphanumeric order.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 ppd_option_t *                         /* O - Next option or @code NULL@ */
@@ -1097,5 +1097,5 @@ ppd_mark_option(ppd_file_t *ppd,  /* I - PPD file */
 
 
 /*
- * End of "$Id: mark.c 9895 2011-08-12 00:16:55Z mike $".
+ * End of "$Id: mark.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 720ae34..5fe826c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: md5-private.h 9042 2010-03-24 00:45:34Z mike $"
+ * "$Id: md5-private.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Private MD5 definitions for CUPS.
  *
@@ -75,5 +75,5 @@ void _cupsMD5Finish(_cups_md5_state_t *pms, unsigned char digest[16]);
 #endif /* !_CUPS_MD5_PRIVATE_H_ */
 
 /*
- * End of "$Id: md5-private.h 9042 2010-03-24 00:45:34Z mike $".
+ * End of "$Id: md5-private.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index f7c42ad..9078938 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: md5.c 9042 2010-03-24 00:45:34Z mike $"
+ * "$Id: md5.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Private MD5 implementation for CUPS.
  *
@@ -342,5 +342,5 @@ _cupsMD5Finish(_cups_md5_state_t *pms, unsigned char digest[16])
 
 
 /*
- * End of "$Id: md5.c 9042 2010-03-24 00:45:34Z mike $".
+ * End of "$Id: md5.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 8b53897..b18e384 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: md5passwd.c 9042 2010-03-24 00:45:34Z mike $"
+ * "$Id: md5passwd.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   MD5 password support for CUPS.
  *
@@ -138,5 +138,5 @@ httpMD5String(const unsigned char *sum,     /* I - MD5 sum data */
 
 
 /*
- * End of "$Id: md5passwd.c 9042 2010-03-24 00:45:34Z mike $".
+ * End of "$Id: md5passwd.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 9ac2f62..d07745d 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: notify.c 9042 2010-03-24 00:45:34Z mike $"
+ * "$Id: notify.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Notification routines for CUPS.
  *
- *   Copyright 2007-2010 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 2005-2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -33,7 +33,7 @@
  *
  * The returned string must be freed by the caller using @code free@.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 char *                                 /* O - Subject string or @code NULL@ */
@@ -164,7 +164,7 @@ cupsNotifySubject(cups_lang_t *lang,        /* I - Language data */
  *
  * The returned string must be freed by the caller using @code free@.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 char *                                 /* O - Message text or @code NULL@ */
@@ -198,5 +198,5 @@ cupsNotifyText(cups_lang_t *lang,   /* I - Language data */
 
 
 /*
- * End of "$Id: notify.c 9042 2010-03-24 00:45:34Z mike $".
+ * End of "$Id: notify.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 2058c04..b1b2d41 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: options.c 9793 2011-05-20 03:49:49Z mike $"
+ * "$Id: options.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Option routines for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -438,7 +438,7 @@ cupsParseOptions(
 /*
  * 'cupsRemoveOption()' - Remove an option from an option array.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O  - New number of options */
@@ -707,5 +707,5 @@ cups_find_option(
 
 
 /*
- * End of "$Id: options.c 9793 2011-05-20 03:49:49Z mike $".
+ * End of "$Id: options.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 1abd3f8..ab3eec4 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: page.c 9793 2011-05-20 03:49:49Z mike $"
+ * "$Id: page.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Page size functions for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -34,7 +34,7 @@
 
 
 /*
- * 'ppdPageSize()' - Get the page size record for the given size.
+ * 'ppdPageSize()' - Get the page size record for the named size.
  */
 
 ppd_size_t *                           /* O - Size record for page or NULL */
@@ -198,7 +198,7 @@ ppdPageSize(ppd_file_t *ppd,                /* I - PPD file record */
  * If the specified PPD file does not support custom page sizes, both
  * "minimum" and "maximum" are filled with zeroes.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 int                                    /* O - 1 if custom sizes are supported, 0 otherwise */
@@ -392,5 +392,5 @@ ppdPageLength(ppd_file_t *ppd,      /* I - PPD file */
 
 
 /*
- * End of "$Id: page.c 9793 2011-05-20 03:49:49Z mike $".
+ * End of "$Id: page.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 9292715..2905051 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: ppd-cache.c 10340 2012-03-07 17:16:42Z mike $"
+ * "$Id: ppd-cache.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   PPD cache implementation for CUPS.
  *
@@ -69,7 +69,8 @@ static int    pwg_compare_finishings(_pwg_finishings_t *a,
                                       _pwg_finishings_t *b);
 static void    pwg_free_finishings(_pwg_finishings_t *f);
 static void    pwg_ppdize_name(const char *ipp, char *name, size_t namesize);
-static void    pwg_unppdize_name(const char *ppd, char *name, size_t namesize);
+static void    pwg_unppdize_name(const char *ppd, char *name, size_t namesize,
+                                 const char *dashchars);
 
 
 /*
@@ -171,6 +172,8 @@ _ppdCacheCreateWithFile(
     goto create_error;
   }
 
+  pc->max_copies = 9999;
+
  /*
   * Read the file...
   */
@@ -327,7 +330,7 @@ _ppdCacheCreateWithFile(
        goto create_error;
       }
 
-      if ((num_sizes = atoi(value)) <= 0 || num_sizes > 65536)
+      if ((num_sizes = atoi(value)) < 0 || num_sizes > 65536)
       {
         DEBUG_printf(("_ppdCacheCreateWithFile: Bad NumSizes value %d on line "
                      "%d.", num_sizes, linenum));
@@ -335,12 +338,15 @@ _ppdCacheCreateWithFile(
        goto create_error;
       }
 
-      if ((pc->sizes = calloc(num_sizes, sizeof(_pwg_size_t))) == NULL)
+      if (num_sizes > 0)
       {
-        DEBUG_printf(("_ppdCacheCreateWithFile: Unable to allocate %d sizes.",
-                     num_sizes));
-       _cupsSetError(IPP_INTERNAL_ERROR, strerror(errno), 0);
-       goto create_error;
+       if ((pc->sizes = calloc(num_sizes, sizeof(_pwg_size_t))) == NULL)
+       {
+         DEBUG_printf(("_ppdCacheCreateWithFile: Unable to allocate %d sizes.",
+                       num_sizes));
+         _cupsSetError(IPP_INTERNAL_ERROR, strerror(errno), 0);
+         goto create_error;
+       }
       }
     }
     else if (!_cups_strcasecmp(line, "Size"))
@@ -553,6 +559,8 @@ _ppdCacheCreateWithFile(
 
       cupsArrayAdd(pc->finishings, finishings);
     }
+    else if (!_cups_strcasecmp(line, "MaxCopies"))
+      pc->max_copies = atoi(value);
     else
     {
       DEBUG_printf(("_ppdCacheCreateWithFile: Unknown %s on line %d.", line,
@@ -680,148 +688,145 @@ _ppdCacheCreateWithPPD(ppd_file_t *ppd) /* I - PPD file */
   * Copy and convert size data...
   */
 
-  if (ppd->num_sizes == 0)
-  {
-    DEBUG_puts("_ppdCacheCreateWithPPD: No page sizes in PPD.");
-    goto create_error;
-  }
-
-  if ((pc->sizes = calloc(ppd->num_sizes, sizeof(_pwg_size_t))) == NULL)
+  if (ppd->num_sizes > 0)
   {
-    DEBUG_printf(("_ppdCacheCreateWithPPD: Unable to allocate %d "
-                  "_pwg_size_t's.", ppd->num_sizes));
-    goto create_error;
-  }
-
-  for (i = ppd->num_sizes, pwg_size = pc->sizes, ppd_size = ppd->sizes;
-       i > 0;
-       i --, ppd_size ++)
-  {
-   /*
-    * Don't copy over custom size...
-    */
-
-    if (!_cups_strcasecmp(ppd_size->name, "Custom"))
-      continue;
-
-   /*
-    * Convert the PPD size name to the corresponding PWG keyword name.
-    */
-
-    if ((pwg_media = _pwgMediaForPPD(ppd_size->name)) != NULL)
+    if ((pc->sizes = calloc(ppd->num_sizes, sizeof(_pwg_size_t))) == NULL)
     {
-     /*
-      * Standard name, do we have conflicts?
-      */
-
-      for (j = 0; j < pc->num_sizes; j ++)
-        if (!strcmp(pc->sizes[j].map.pwg, pwg_media->pwg))
-       {
-         pwg_media = NULL;
-         break;
-       }
+      DEBUG_printf(("_ppdCacheCreateWithPPD: Unable to allocate %d "
+                   "_pwg_size_t's.", ppd->num_sizes));
+      goto create_error;
     }
 
-    if (pwg_media)
+    for (i = ppd->num_sizes, pwg_size = pc->sizes, ppd_size = ppd->sizes;
+        i > 0;
+        i --, ppd_size ++)
     {
      /*
-      * Standard name and no conflicts, use it!
+      * Don't copy over custom size...
       */
 
-      pwg_name      = pwg_media->pwg;
-      new_known_pwg = 1;
-    }
-    else
-    {
+      if (!_cups_strcasecmp(ppd_size->name, "Custom"))
+       continue;
+
      /*
-      * Not a standard name; convert it to a PWG vendor name of the form:
-      *
-      *     pp_lowerppd_WIDTHxHEIGHTuu
+      * Convert the PPD size name to the corresponding PWG keyword name.
       */
 
-      pwg_name      = pwg_keyword;
-      new_known_pwg = 0;
+      if ((pwg_media = _pwgMediaForPPD(ppd_size->name)) != NULL)
+      {
+       /*
+       * Standard name, do we have conflicts?
+       */
 
-      pwg_unppdize_name(ppd_size->name, ppd_name, sizeof(ppd_name));
-      _pwgGenerateSize(pwg_keyword, sizeof(pwg_keyword), NULL, ppd_name,
-                      _PWG_FROMPTS(ppd_size->width),
-                      _PWG_FROMPTS(ppd_size->length));
-    }
+       for (j = 0; j < pc->num_sizes; j ++)
+         if (!strcmp(pc->sizes[j].map.pwg, pwg_media->pwg))
+         {
+           pwg_media = NULL;
+           break;
+         }
+      }
 
-   /*
-    * If we have a similar paper with non-zero margins then we only want to
-    * keep it if it has a larger imageable area length.  The NULL check is for
-    * dimensions that are <= 0...
-    */
+      if (pwg_media)
+      {
+       /*
+       * Standard name and no conflicts, use it!
+       */
 
-    if ((pwg_media = _pwgMediaForSize(_PWG_FROMPTS(ppd_size->width),
-                                      _PWG_FROMPTS(ppd_size->length))) == NULL)
-      continue;
-
-    new_width      = pwg_media->width;
-    new_length     = pwg_media->length;
-    new_left       = _PWG_FROMPTS(ppd_size->left);
-    new_bottom     = _PWG_FROMPTS(ppd_size->bottom);
-    new_right      = _PWG_FROMPTS(ppd_size->width - ppd_size->right);
-    new_top        = _PWG_FROMPTS(ppd_size->length - ppd_size->top);
-    new_imageable  = new_length - new_top - new_bottom;
-    new_borderless = new_bottom == 0 && new_top == 0 &&
-                     new_left == 0 && new_right == 0;
-
-    for (k = pc->num_sizes, similar = 0, old_size = pc->sizes, new_size = NULL;
-         k > 0 && !similar;
-         k --, old_size ++)
-    {
-      old_imageable  = old_size->length - old_size->top - old_size->bottom;
-      old_borderless = old_size->left == 0 && old_size->bottom == 0 &&
-                      old_size->right == 0 && old_size->top == 0;
-      old_known_pwg  = strncmp(old_size->map.pwg, "oe_", 3) &&
-                      strncmp(old_size->map.pwg, "om_", 3);
-
-      similar = old_borderless == new_borderless &&
-                _PWG_EQUIVALENT(old_size->width, new_width) &&
-               _PWG_EQUIVALENT(old_size->length, new_length);
-
-      if (similar &&
-          (new_known_pwg || (!old_known_pwg && new_imageable > old_imageable)))
+       pwg_name      = pwg_media->pwg;
+       new_known_pwg = 1;
+      }
+      else
       {
        /*
-       * The new paper has a larger imageable area so it could replace
-       * the older paper.  Regardless of the imageable area, we always
-       * prefer the size with a well-known PWG name.
+       * Not a standard name; convert it to a PWG vendor name of the form:
+       *
+       *     pp_lowerppd_WIDTHxHEIGHTuu
        */
 
-       new_size = old_size;
-       _cupsStrFree(old_size->map.ppd);
-       _cupsStrFree(old_size->map.pwg);
+       pwg_name      = pwg_keyword;
+       new_known_pwg = 0;
+
+       pwg_unppdize_name(ppd_size->name, ppd_name, sizeof(ppd_name), "_.");
+       _pwgGenerateSize(pwg_keyword, sizeof(pwg_keyword), NULL, ppd_name,
+                        _PWG_FROMPTS(ppd_size->width),
+                        _PWG_FROMPTS(ppd_size->length));
       }
-    }
 
-    if (!similar)
-    {
      /*
-      * The paper was unique enough to deserve its own entry so add it to the
-      * end.
+      * If we have a similar paper with non-zero margins then we only want to
+      * keep it if it has a larger imageable area length.  The NULL check is for
+      * dimensions that are <= 0...
       */
 
-      new_size = pwg_size ++;
-      pc->num_sizes ++;
-    }
+      if ((pwg_media = _pwgMediaForSize(_PWG_FROMPTS(ppd_size->width),
+                                       _PWG_FROMPTS(ppd_size->length))) == NULL)
+       continue;
 
-    if (new_size)
-    {
-     /*
-      * Save this size...
-      */
+      new_width      = pwg_media->width;
+      new_length     = pwg_media->length;
+      new_left       = _PWG_FROMPTS(ppd_size->left);
+      new_bottom     = _PWG_FROMPTS(ppd_size->bottom);
+      new_right      = _PWG_FROMPTS(ppd_size->width - ppd_size->right);
+      new_top        = _PWG_FROMPTS(ppd_size->length - ppd_size->top);
+      new_imageable  = new_length - new_top - new_bottom;
+      new_borderless = new_bottom == 0 && new_top == 0 &&
+                      new_left == 0 && new_right == 0;
+
+      for (k = pc->num_sizes, similar = 0, old_size = pc->sizes, new_size = NULL;
+          k > 0 && !similar;
+          k --, old_size ++)
+      {
+       old_imageable  = old_size->length - old_size->top - old_size->bottom;
+       old_borderless = old_size->left == 0 && old_size->bottom == 0 &&
+                        old_size->right == 0 && old_size->top == 0;
+       old_known_pwg  = strncmp(old_size->map.pwg, "oe_", 3) &&
+                        strncmp(old_size->map.pwg, "om_", 3);
+
+       similar = old_borderless == new_borderless &&
+                 _PWG_EQUIVALENT(old_size->width, new_width) &&
+                 _PWG_EQUIVALENT(old_size->length, new_length);
+
+       if (similar &&
+           (new_known_pwg || (!old_known_pwg && new_imageable > old_imageable)))
+       {
+        /*
+         * The new paper has a larger imageable area so it could replace
+         * the older paper.  Regardless of the imageable area, we always
+         * prefer the size with a well-known PWG name.
+         */
+
+         new_size = old_size;
+         _cupsStrFree(old_size->map.ppd);
+         _cupsStrFree(old_size->map.pwg);
+       }
+      }
 
-      new_size->map.ppd = _cupsStrAlloc(ppd_size->name);
-      new_size->map.pwg = _cupsStrAlloc(pwg_name);
-      new_size->width   = new_width;
-      new_size->length  = new_length;
-      new_size->left    = new_left;
-      new_size->bottom  = new_bottom;
-      new_size->right   = new_right;
-      new_size->top     = new_top;
+      if (!similar)
+      {
+       /*
+       * The paper was unique enough to deserve its own entry so add it to the
+       * end.
+       */
+
+       new_size = pwg_size ++;
+       pc->num_sizes ++;
+      }
+
+      if (new_size)
+      {
+       /*
+       * Save this size...
+       */
+
+       new_size->map.ppd = _cupsStrAlloc(ppd_size->name);
+       new_size->map.pwg = _cupsStrAlloc(pwg_name);
+       new_size->width   = new_width;
+       new_size->length  = new_length;
+       new_size->left    = new_left;
+       new_size->bottom  = new_bottom;
+       new_size->right   = new_right;
+       new_size->top     = new_top;
+      }
     }
   }
 
@@ -909,7 +914,8 @@ _ppdCacheCreateWithPPD(ppd_file_t *ppd)     /* I - PPD file */
        */
 
         pwg_name = pwg_keyword;
-       pwg_unppdize_name(choice->choice, pwg_keyword, sizeof(pwg_keyword));
+       pwg_unppdize_name(choice->choice, pwg_keyword, sizeof(pwg_keyword),
+                         "_");
       }
 
       map->pwg = _cupsStrAlloc(pwg_name);
@@ -973,7 +979,8 @@ _ppdCacheCreateWithPPD(ppd_file_t *ppd)     /* I - PPD file */
        */
 
         pwg_name = pwg_keyword;
-       pwg_unppdize_name(choice->choice, pwg_keyword, sizeof(pwg_keyword));
+       pwg_unppdize_name(choice->choice, pwg_keyword, sizeof(pwg_keyword),
+                         "_");
       }
 
       map->pwg = _cupsStrAlloc(pwg_name);
@@ -1002,7 +1009,7 @@ _ppdCacheCreateWithPPD(ppd_file_t *ppd)   /* I - PPD file */
         i > 0;
         i --, choice ++, map ++)
     {
-      pwg_unppdize_name(choice->choice, pwg_keyword, sizeof(pwg_keyword));
+      pwg_unppdize_name(choice->choice, pwg_keyword, sizeof(pwg_keyword), "_");
 
       map->pwg = _cupsStrAlloc(pwg_keyword);
       map->ppd = _cupsStrAlloc(choice->choice);
@@ -1352,6 +1359,17 @@ _ppdCacheCreateWithPPD(ppd_file_t *ppd)  /* I - PPD file */
   }
 
  /*
+  * Max copies...
+  */
+
+  if ((ppd_attr = ppdFindAttr(ppd, "cupsMaxCopies", NULL)) != NULL)
+    pc->max_copies = atoi(ppd_attr->value);
+  else if (ppd->manual_copies)
+    pc->max_copies = 1;
+  else
+    pc->max_copies = 9999;
+
+ /*
   * Return the cache data...
   */
 
@@ -1522,9 +1540,11 @@ _ppdCacheGetFinishingOptions(
 
   if (job && (attr = ippFindAttribute(job, "finishings", IPP_TAG_ENUM)) != NULL)
   {
-    for (i = 0; i < attr->num_values; i ++)
+    int        num_values = ippGetCount(attr); /* Number of values */
+
+    for (i = 0; i < num_values; i ++)
     {
-      key.value = attr->values[i].integer;
+      key.value = ippGetInteger(attr, i);
 
       if ((f = cupsArrayFind(pc->finishings, &key)) != NULL)
       {
@@ -1638,7 +1658,7 @@ _ppdCacheGetInputSlot(
 
     media_col = ippFindAttribute(job, "media-col", IPP_TAG_BEGIN_COLLECTION);
     if (media_col &&
-        (media_source = ippFindAttribute(media_col->values[0].collection,
+        (media_source = ippFindAttribute(ippGetCollection(media_col, 0),
                                          "media-source",
                                         IPP_TAG_KEYWORD)) != NULL)
     {
@@ -1646,7 +1666,7 @@ _ppdCacheGetInputSlot(
       * Use the media-source value from media-col...
       */
 
-      keyword = media_source->values[0].string.text;
+      keyword = ippGetString(media_source, 0, NULL);
     }
     else if (_pwgInitSize(&size, job, &margins_set))
     {
@@ -2335,6 +2355,12 @@ _ppdCacheWriteFile(
   }
 
  /*
+  * Max copies...
+  */
+
+  cupsFilePrintf(fp, "MaxCopies %d\n", pc->max_copies);
+
+ /*
   * IPP attributes, if any...
   */
 
@@ -2579,7 +2605,8 @@ pwg_ppdize_name(const char *ipp,  /* I - IPP keyword */
 static void
 pwg_unppdize_name(const char *ppd,     /* I - PPD keyword */
                  char       *name,     /* I - Name buffer */
-                  size_t     namesize) /* I - Size of name buffer */
+                  size_t     namesize, /* I - Size of name buffer */
+                  const char *dashchars)/* I - Characters to be replaced by dashes */
 {
   char *ptr,                           /* Pointer into name buffer */
        *end;                           /* End of name buffer */
@@ -2589,8 +2616,10 @@ pwg_unppdize_name(const char *ppd,       /* I - PPD keyword */
   {
     if (_cups_isalnum(*ppd) || *ppd == '-')
       *ptr++ = tolower(*ppd & 255);
-    else if (*ppd == '_' || *ppd == '.')
+    else if (strchr(dashchars, *ppd))
       *ptr++ = '-';
+    else
+      *ptr++ = *ppd;
 
     if (!_cups_isupper(*ppd) && _cups_isalnum(*ppd) &&
        _cups_isupper(ppd[1]) && ptr < end)
@@ -2602,5 +2631,5 @@ pwg_unppdize_name(const char *ppd,        /* I - PPD keyword */
 
 
 /*
- * End of "$Id: ppd-cache.c 10340 2012-03-07 17:16:42Z mike $".
+ * End of "$Id: ppd-cache.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index be161df..2a2696c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: ppd-private.h 10244 2012-02-11 02:21:34Z mike $"
+ * "$Id: ppd-private.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Private PPD definitions for CUPS.
  *
@@ -49,13 +49,21 @@ extern "C" {
  * Constants...
  */
 
-#  define _PPD_CACHE_VERSION   2       /* Version number in cache file */
+#  define _PPD_CACHE_VERSION   3       /* Version number in cache file */
 
 
 /*
  * Types and structures...
  */
 
+typedef enum _ppd_localization_e       /**** Selector for _ppdOpen ****/
+{
+  _PPD_LOCALIZATION_DEFAULT,           /* Load only the default localization */
+  _PPD_LOCALIZATION_ICC_PROFILES,      /* Load only the color profile localization */
+  _PPD_LOCALIZATION_NONE,              /* Load no localizations */
+  _PPD_LOCALIZATION_ALL                        /* Load all localizations */
+} _ppd_localization_t;
+
 typedef enum _ppd_parse_e              /**** Selector for _ppdParseOptions ****/
 {
   _PPD_PARSE_OPTIONS,                  /* Parse only the options */
@@ -133,6 +141,7 @@ struct _ppd_cache_s                 /**** PPD cache and PWG conversion data ****/
                *prefilters;            /* cupsPreFilter values */
   int          single_file;            /* cupsSingleFile value */
   cups_array_t *finishings;            /* cupsIPPFinishings values */
+  int          max_copies;             /* cupsMaxCopies value */
 };
 
 
@@ -177,6 +186,10 @@ extern ppd_attr_t  *_ppdLocalizedAttr(ppd_file_t *ppd, const char *keyword,
 extern char            *_ppdNormalizeMakeAndModel(const char *make_and_model,
                                                   char *buffer,
                                                   size_t bufsize);
+extern ppd_file_t      *_ppdOpen(cups_file_t *fp,
+                                 _ppd_localization_t localization);
+extern ppd_file_t      *_ppdOpenFile(const char *filename,
+                                     _ppd_localization_t localization);
 extern int             _ppdParseOptions(const char *s, int num_options,
                                         cups_option_t **options,
                                         _ppd_parse_t which);
@@ -198,5 +211,5 @@ extern const char   *_pwgPageSizeForMedia(_pwg_media_t *media,
 #endif /* !_CUPS_PPD_PRIVATE_H_ */
 
 /*
- * End of "$Id: ppd-private.h 10244 2012-02-11 02:21:34Z mike $".
+ * End of "$Id: ppd-private.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index 99e6d43..dd8097d 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: ppd.c 9901 2011-08-17 21:01:53Z mike $"
+ * "$Id: ppd.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   PPD file routines for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
  *                            LanguageEncoding.
  *   ppdLastError()         - Return the status from the last ppdOpen*().
  *   ppdOpen()              - Read a PPD file into memory.
+ *   _ppdOpen()             - Read a PPD file into memory.
  *   ppdOpen2()             - Read a PPD file into memory.
  *   ppdOpenFd()            - Read a PPD file into memory.
+ *   _ppdOpenFile()         - Read a PPD file into memory.
  *   ppdOpenFile()          - Read a PPD file into memory.
  *   ppdSetConformance()    - Set the conformance level for PPD files.
  *   ppd_add_attr()         - Add an attribute to the PPD data.
@@ -325,7 +327,7 @@ ppdClose(ppd_file_t *ppd)           /* I - PPD file record */
 /*
  * 'ppdErrorString()' - Returns the text assocated with a status.
  *
- * @since CUPS 1.1.19/Mac OS X 10.3@
+ * @since CUPS 1.1.19/OS X 10.3@
  */
 
 const char *                           /* O - Status string */
@@ -395,7 +397,7 @@ _ppdGetEncoding(const char *name)   /* I - LanguageEncoding string */
 /*
  * 'ppdLastError()' - Return the status from the last ppdOpen*().
  *
- * @since CUPS 1.1.19/Mac OS X 10.3@
+ * @since CUPS 1.1.19/OS X 10.3@
  */
 
 ppd_status_t                           /* O - Status code */
@@ -413,47 +415,15 @@ ppdLastError(int *line)                   /* O - Line number */
 
 
 /*
- * 'ppdOpen()' - Read a PPD file into memory.
- */
-
-ppd_file_t *                           /* O - PPD file record */
-ppdOpen(FILE *fp)                      /* I - File to read from */
-{
-  ppd_file_t   *ppd;                   /* PPD file record */
-  cups_file_t  *cf;                    /* CUPS file */
-
-
- /*
-  * Reopen the stdio file as a CUPS file...
-  */
-
-  if ((cf = cupsFileOpenFd(fileno(fp), "r")) == NULL)
-    return (NULL);
-
- /*
-  * Load the PPD file using the newer API...
-  */
-
-  ppd = ppdOpen2(cf);
-
- /*
-  * Close the CUPS file and return the PPD...
-  */
-
-  cupsFileClose(cf);
-
-  return (ppd);
-}
-
-
-/*
- * 'ppdOpen2()' - Read a PPD file into memory.
+ * '_ppdOpen()' - Read a PPD file into memory.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 ppd_file_t *                           /* O - PPD file record or @code NULL@ if the PPD file could not be opened. */
-ppdOpen2(cups_file_t *fp)              /* I - File to read from */
+_ppdOpen(
+    cups_file_t                *fp,            /* I - File to read from */
+    _ppd_localization_t        localization)   /* I - Localization to load */
 {
   int                  i, j, k;        /* Looping vars */
   int                  count;          /* Temporary count */
@@ -483,12 +453,17 @@ ppdOpen2(cups_file_t *fp)         /* I - File to read from */
   char                 **filter;       /* Pointer to filter */
   struct lconv         *loc;           /* Locale data */
   int                  ui_keyword;     /* Is this line a UI keyword? */
+  cups_lang_t          *lang;          /* Language data */
   cups_encoding_t      encoding;       /* Encoding of PPD file */
   _cups_globals_t      *cg = _cupsGlobals();
                                        /* Global data */
   char                 custom_name[PPD_MAX_NAME];
                                        /* CustomFoo attribute name */
   ppd_attr_t           *custom_attr;   /* CustomFoo attribute */
+  char                 ll[4],          /* Language + '.' */
+                       ll_CC[7];       /* Language + country + '.' */
+  size_t               ll_len = 0,     /* Language length */
+                       ll_CC_len = 0;  /* Language + country length */
   static const char * const ui_keywords[] =
                        {
 #ifdef CUPS_USE_FULL_UI_KEYWORDS_LIST
@@ -550,9 +525,14 @@ ppdOpen2(cups_file_t *fp)          /* I - File to read from */
                          "PageSize"
 #endif /* CUPS_USE_FULL_UI_KEYWORDS_LIST */
                        };
+  static const char * const color_keywords[] = /* Keywords associated with color profiles */
+                       {
+                         ".cupsICCProfile",
+                         ".ColorModel",
+                       };
 
 
-  DEBUG_printf(("ppdOpen2(fp=%p)", fp));
+  DEBUG_printf(("_ppdOpen(fp=%p)", fp));
 
  /*
   * Default to "OK" status...
@@ -572,6 +552,25 @@ ppdOpen2(cups_file_t *fp)          /* I - File to read from */
   }
 
  /*
+  * If only loading a single localization set up the strings to match...
+  */
+
+  if (localization == _PPD_LOCALIZATION_DEFAULT)
+  {
+    if ((lang = cupsLangDefault()) == NULL)
+      return (NULL);
+
+    snprintf(ll_CC, sizeof(ll_CC), "%s.", lang->language);
+    snprintf(ll, sizeof(ll), "%2.2s.", lang->language);
+
+    ll_CC_len = strlen(ll_CC);
+    ll_len    = strlen(ll);
+
+    DEBUG_printf(("2_ppdOpen: Loading localizations matching \"%s\" and \"%s\"",
+                  ll_CC, ll));
+  }
+
+ /*
   * Grab the first line and make sure it reads '*PPD-Adobe: "major.minor"'...
   */
 
@@ -580,7 +579,7 @@ ppdOpen2(cups_file_t *fp)           /* I - File to read from */
 
   mask = ppd_read(fp, &line, keyword, name, text, &string, 0, cg);
 
-  DEBUG_printf(("2ppdOpen2: mask=%x, keyword=\"%s\"...", mask, keyword));
+  DEBUG_printf(("2_ppdOpen: mask=%x, keyword=\"%s\"...", mask, keyword));
 
   if (mask == 0 ||
       strcmp(keyword, "PPD-Adobe") ||
@@ -599,7 +598,7 @@ ppdOpen2(cups_file_t *fp)           /* I - File to read from */
     return (NULL);
   }
 
-  DEBUG_printf(("2ppdOpen2: keyword=%s, string=%p", keyword, string));
+  DEBUG_printf(("2_ppdOpen: keyword=%s, string=%p", keyword, string));
 
   _cupsStrFree(string);
 
@@ -638,7 +637,7 @@ ppdOpen2(cups_file_t *fp)           /* I - File to read from */
 
   while ((mask = ppd_read(fp, &line, keyword, name, text, &string, 1, cg)) != 0)
   {
-    DEBUG_printf(("2ppdOpen2: mask=%x, keyword=\"%s\", name=\"%s\", "
+    DEBUG_printf(("2_ppdOpen: mask=%x, keyword=\"%s\", name=\"%s\", "
                   "text=\"%s\", string=%d chars...", mask, keyword, name, text,
                  string ? (int)strlen(string) : 0));
 
@@ -675,6 +674,50 @@ ppdOpen2(cups_file_t *fp)          /* I - File to read from */
       ui_keyword = 0;
     }
 
+   /*
+    * If we are filtering out keyword localizations, see if this line needs to
+    * be used...
+    */
+
+    if (localization != _PPD_LOCALIZATION_ALL &&
+        (temp = strchr(keyword, '.')) != NULL &&
+        ((temp - keyword) == 2 || (temp - keyword) == 5) &&
+        _cups_isalpha(keyword[0]) &&
+        _cups_isalpha(keyword[1]) &&
+        (keyword[2] == '.' ||
+         (keyword[2] == '_' && _cups_isalpha(keyword[3]) &&
+          _cups_isalpha(keyword[4]) && keyword[5] == '.')))
+    {
+      if (localization == _PPD_LOCALIZATION_NONE ||
+         (localization == _PPD_LOCALIZATION_DEFAULT &&
+          strncmp(ll_CC, keyword, ll_CC_len) &&
+          strncmp(ll, keyword, ll_len)))
+      {
+       DEBUG_printf(("2_ppdOpen: Ignoring localization: \"%s\"\n", keyword));
+       continue;
+      }
+      else if (localization == _PPD_LOCALIZATION_ICC_PROFILES)
+      {
+       /*
+        * Only load localizations for the color profile related keywords...
+        */
+
+       for (i = 0;
+            i < (int)(sizeof(color_keywords) / sizeof(color_keywords[0]));
+            i ++)
+       {
+         if (!_cups_strcasecmp(temp, color_keywords[i]))
+           break;
+       }
+
+       if (i >= (int)(sizeof(color_keywords) / sizeof(color_keywords[0])))
+       {
+         DEBUG_printf(("2_ppdOpen: Ignoring localization: \"%s\"\n", keyword));
+         continue;
+       }
+      }
+    }
+
     if (option == NULL &&
         (mask & (PPD_KEYWORD | PPD_OPTION | PPD_STRING)) ==
            (PPD_KEYWORD | PPD_OPTION | PPD_STRING))
@@ -691,7 +734,7 @@ ppdOpen2(cups_file_t *fp)           /* I - File to read from */
 
         ui_keyword = 1;
 
-        DEBUG_printf(("2ppdOpen2: FOUND ADOBE UI KEYWORD %s WITHOUT OPENUI!",
+        DEBUG_printf(("2_ppdOpen: FOUND ADOBE UI KEYWORD %s WITHOUT OPENUI!",
                      keyword));
 
         if (!group)
@@ -700,7 +743,7 @@ ppdOpen2(cups_file_t *fp)           /* I - File to read from */
                                     encoding)) == NULL)
            goto error;
 
-          DEBUG_printf(("2ppdOpen2: Adding to group %s...", group->text));
+          DEBUG_printf(("2_ppdOpen: Adding to group %s...", group->text));
           option = ppd_get_option(group, keyword);
          group  = NULL;
        }
@@ -735,7 +778,7 @@ ppdOpen2(cups_file_t *fp)           /* I - File to read from */
              !strcmp(ppd->attrs[j]->name + 7, keyword) &&
              ppd->attrs[j]->value)
          {
-           DEBUG_printf(("2ppdOpen2: Setting Default%s to %s via attribute...",
+           DEBUG_printf(("2_ppdOpen: Setting Default%s to %s via attribute...",
                          option->keyword, ppd->attrs[j]->value));
            strlcpy(option->defchoice, ppd->attrs[j]->value,
                    sizeof(option->defchoice));
@@ -1033,7 +1076,7 @@ ppdOpen2(cups_file_t *fp)         /* I - File to read from */
     {
       ppd_option_t     *custom_option; /* Custom option */
 
-      DEBUG_puts("2ppdOpen2: Processing Custom option...");
+      DEBUG_puts("2_ppdOpen: Processing Custom option...");
 
      /*
       * Get the option and custom option...
@@ -1060,7 +1103,7 @@ ppdOpen2(cups_file_t *fp)         /* I - File to read from */
         if ((choice = ppdFindChoice(custom_option, "Custom")) == NULL)
          if ((choice = ppd_add_choice(custom_option, "Custom")) == NULL)
          {
-           DEBUG_puts("1ppdOpen2: Unable to add Custom choice!");
+           DEBUG_puts("1_ppdOpen: Unable to add Custom choice!");
 
            cg->ppd_status = PPD_ALLOC_ERROR;
 
@@ -1100,7 +1143,7 @@ ppdOpen2(cups_file_t *fp)         /* I - File to read from */
          if ((choice = ppdFindChoice(custom_option, "Custom")) == NULL)
            if ((choice = ppd_add_choice(custom_option, "Custom")) == NULL)
            {
-             DEBUG_puts("1ppdOpen2: Unable to add Custom choice!");
+             DEBUG_puts("1_ppdOpen: Unable to add Custom choice!");
 
              cg->ppd_status = PPD_ALLOC_ERROR;
 
@@ -1241,7 +1284,7 @@ ppdOpen2(cups_file_t *fp)         /* I - File to read from */
       * Add an option record to the current sub-group, group, or file...
       */
 
-      DEBUG_printf(("2ppdOpen2: name=\"%s\" (%d)", name, (int)strlen(name)));
+      DEBUG_printf(("2_ppdOpen: name=\"%s\" (%d)", name, (int)strlen(name)));
 
       if (name[0] == '*')
         _cups_strcpy(name, name + 1); /* Eliminate leading asterisk */
@@ -1249,7 +1292,7 @@ ppdOpen2(cups_file_t *fp)         /* I - File to read from */
       for (i = (int)strlen(name) - 1; i > 0 && _cups_isspace(name[i]); i --)
         name[i] = '\0'; /* Eliminate trailing spaces */
 
-      DEBUG_printf(("2ppdOpen2: OpenUI of %s in group %s...", name,
+      DEBUG_printf(("2_ppdOpen: OpenUI of %s in group %s...", name,
                     group ? group->text : "(null)"));
 
       if (subgroup != NULL)
@@ -1260,7 +1303,7 @@ ppdOpen2(cups_file_t *fp)         /* I - File to read from */
                                   encoding)) == NULL)
          goto error;
 
-        DEBUG_printf(("2ppdOpen2: Adding to group %s...", group->text));
+        DEBUG_printf(("2_ppdOpen: Adding to group %s...", group->text));
         option = ppd_get_option(group, name);
        group  = NULL;
       }
@@ -1298,7 +1341,7 @@ ppdOpen2(cups_file_t *fp)         /* I - File to read from */
            !strcmp(ppd->attrs[j]->name + 7, name) &&
            ppd->attrs[j]->value)
        {
-         DEBUG_printf(("2ppdOpen2: Setting Default%s to %s via attribute...",
+         DEBUG_printf(("2_ppdOpen: Setting Default%s to %s via attribute...",
                        option->keyword, ppd->attrs[j]->value));
          strlcpy(option->defchoice, ppd->attrs[j]->value,
                  sizeof(option->defchoice));
@@ -1344,7 +1387,7 @@ ppdOpen2(cups_file_t *fp)         /* I - File to read from */
         if ((choice = ppdFindChoice(option, "Custom")) == NULL)
          if ((choice = ppd_add_choice(option, "Custom")) == NULL)
          {
-           DEBUG_puts("1ppdOpen2: Unable to add Custom choice!");
+           DEBUG_puts("1_ppdOpen: Unable to add Custom choice!");
 
            cg->ppd_status = PPD_ALLOC_ERROR;
 
@@ -1417,7 +1460,7 @@ ppdOpen2(cups_file_t *fp)         /* I - File to read from */
            !strcmp(ppd->attrs[j]->name + 7, name) &&
            ppd->attrs[j]->value)
        {
-         DEBUG_printf(("2ppdOpen2: Setting Default%s to %s via attribute...",
+         DEBUG_printf(("2_ppdOpen: Setting Default%s to %s via attribute...",
                        option->keyword, ppd->attrs[j]->value));
          strlcpy(option->defchoice, ppd->attrs[j]->value,
                  sizeof(option->defchoice));
@@ -1447,7 +1490,7 @@ ppdOpen2(cups_file_t *fp)         /* I - File to read from */
       {
        if ((choice = ppd_add_choice(option, "Custom")) == NULL)
        {
-         DEBUG_puts("1ppdOpen2: Unable to add Custom choice!");
+         DEBUG_puts("1_ppdOpen: Unable to add Custom choice!");
 
          cg->ppd_status = PPD_ALLOC_ERROR;
 
@@ -1620,11 +1663,11 @@ ppdOpen2(cups_file_t *fp)               /* I - File to read from */
         * Set the default as part of the current option...
        */
 
-        DEBUG_printf(("2ppdOpen2: Setting %s to %s...", keyword, string));
+        DEBUG_printf(("2_ppdOpen: Setting %s to %s...", keyword, string));
 
         strlcpy(option->defchoice, string, sizeof(option->defchoice));
 
-        DEBUG_printf(("2ppdOpen2: %s is now %s...", keyword, option->defchoice));
+        DEBUG_printf(("2_ppdOpen: %s is now %s...", keyword, option->defchoice));
       }
       else
       {
@@ -1637,7 +1680,7 @@ ppdOpen2(cups_file_t *fp)         /* I - File to read from */
 
         if ((toption = ppdFindOption(ppd, keyword + 7)) != NULL)
        {
-         DEBUG_printf(("2ppdOpen2: Setting %s to %s...", keyword, string));
+         DEBUG_printf(("2_ppdOpen: Setting %s to %s...", keyword, string));
          strlcpy(toption->defchoice, string, sizeof(toption->defchoice));
        }
       }
@@ -1874,7 +1917,7 @@ ppdOpen2(cups_file_t *fp)         /* I - File to read from */
                 (PPD_KEYWORD | PPD_OPTION | PPD_STRING) &&
             !strcmp(keyword, option->keyword))
     {
-      DEBUG_printf(("2ppdOpen2: group=%p, subgroup=%p", group, subgroup));
+      DEBUG_printf(("2_ppdOpen: group=%p, subgroup=%p", group, subgroup));
 
       if (!strcmp(keyword, "PageSize"))
       {
@@ -1943,7 +1986,7 @@ ppdOpen2(cups_file_t *fp)         /* I - File to read from */
 
 #ifdef DEBUG
   if (!cupsFileEOF(fp))
-    DEBUG_printf(("1ppdOpen2: Premature EOF at %lu...\n",
+    DEBUG_printf(("1_ppdOpen: Premature EOF at %lu...\n",
                   (unsigned long)cupsFileTell(fp)));
 #endif /* DEBUG */
 
@@ -2027,6 +2070,53 @@ ppdOpen2(cups_file_t *fp)                /* I - File to read from */
 
 
 /*
+ * 'ppdOpen()' - Read a PPD file into memory.
+ */
+
+ppd_file_t *                           /* O - PPD file record */
+ppdOpen(FILE *fp)                      /* I - File to read from */
+{
+  ppd_file_t   *ppd;                   /* PPD file record */
+  cups_file_t  *cf;                    /* CUPS file */
+
+
+ /*
+  * Reopen the stdio file as a CUPS file...
+  */
+
+  if ((cf = cupsFileOpenFd(fileno(fp), "r")) == NULL)
+    return (NULL);
+
+ /*
+  * Load the PPD file using the newer API...
+  */
+
+  ppd = _ppdOpen(cf, _PPD_LOCALIZATION_DEFAULT);
+
+ /*
+  * Close the CUPS file and return the PPD...
+  */
+
+  cupsFileClose(cf);
+
+  return (ppd);
+}
+
+
+/*
+ * 'ppdOpen2()' - Read a PPD file into memory.
+ *
+ * @since CUPS 1.2/OS X 10.5@
+ */
+
+ppd_file_t *                           /* O - PPD file record or @code NULL@ if the PPD file could not be opened. */
+ppdOpen2(cups_file_t *fp)              /* I - File to read from */
+{
+  return _ppdOpen(fp, _PPD_LOCALIZATION_DEFAULT);
+}
+
+
+/*
  * 'ppdOpenFd()' - Read a PPD file into memory.
  */
 
@@ -2077,11 +2167,12 @@ ppdOpenFd(int fd)                       /* I - File to read from */
 
 
 /*
- * 'ppdOpenFile()' - Read a PPD file into memory.
+ * '_ppdOpenFile()' - Read a PPD file into memory.
  */
 
 ppd_file_t *                           /* O - PPD file record or @code NULL@ if the PPD file could not be opened. */
-ppdOpenFile(const char *filename)      /* I - File to read from */
+_ppdOpenFile(const char                  *filename,    /* I - File to read from */
+            _ppd_localization_t  localization) /* I - Localization to load */
 {
   cups_file_t          *fp;            /* File pointer */
   ppd_file_t           *ppd;           /* PPD file record */
@@ -2112,7 +2203,7 @@ ppdOpenFile(const char *filename) /* I - File to read from */
 
   if ((fp = cupsFileOpen(filename, "r")) != NULL)
   {
-    ppd = ppdOpen2(fp);
+    ppd = _ppdOpen(fp, localization);
 
     cupsFileClose(fp);
   }
@@ -2127,9 +2218,20 @@ ppdOpenFile(const char *filename)        /* I - File to read from */
 
 
 /*
+ * 'ppdOpenFile()' - Read a PPD file into memory.
+ */
+
+ppd_file_t *                           /* O - PPD file record or @code NULL@ if the PPD file could not be opened. */
+ppdOpenFile(const char *filename)      /* I - File to read from */
+{
+  return _ppdOpenFile(filename, _PPD_LOCALIZATION_DEFAULT);
+}
+
+
+/*
  * 'ppdSetConformance()' - Set the conformance level for PPD files.
  *
- * @since CUPS 1.1.20/Mac OS X 10.4@
+ * @since CUPS 1.1.20/OS X 10.4@
  */
 
 void
@@ -2960,7 +3062,7 @@ ppd_read(cups_file_t    *fp,              /* I - File to read from */
     DEBUG_printf(("9ppd_read: LINE=\"%s\"", line->buffer));
 
    /*
-    * The dynamically created PPDs for older style Mac OS X
+    * The dynamically created PPDs for older style OS X
     * drivers include a large blob of data inserted as comments
     * at the end of the file.  As an optimization we can stop
     * reading the PPD when we get to the start of this data.
@@ -3292,5 +3394,5 @@ ppd_update_filters(ppd_file_t      *ppd,/* I - PPD file */
 
 
 /*
- * End of "$Id: ppd.c 9901 2011-08-17 21:01:53Z mike $".
+ * End of "$Id: ppd.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 1d09762..b8fa365 100644 (file)
@@ -1,9 +1,13 @@
 /*
- * "$Id: ppd.h 9772 2011-05-12 05:46:30Z mike $"
+ * "$Id: ppd.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   PostScript Printer Description definitions for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   THESE APIS ARE DEPRECATED. TO COMPILE WITHOUT WARNINGS ADD
+ *   -D_PPD_DEPRECATED="" TO YOUR COMPILE OPTIONS.  THIS HEADER AND THESE
+ *   FUNCTIONS WILL BE REMOVED IN A FUTURE RELEASE OF CUPS.
+ *
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -47,6 +51,28 @@ extern "C" {
 
 
 /*
+ * Define _PPD_DEPRECATED to silence the warnings about PPD functions being
+ * deprecated...
+ */
+
+#  ifndef _PPD_DEPRECATED
+#    if defined(__APPLE__)
+#      if defined(MAC_OS_X_VERSION_10_8) && MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_8
+         /* Building for OS X 10.7 and earlier */
+#        define _PPD_DEPRECATED
+#      elif !defined(MAC_OS_X_VERSION_10_8)
+        /* Building for OS X 10.7 and earlier */
+#        define _PPD_DEPRECATED
+#      else
+#        define _PPD_DEPRECATED _CUPS_DEPRECATED
+#      endif /* MAC_OS_X_VERSION_10_8 && MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_8 */
+#    else
+#      define _PPD_DEPRECATED _CUPS_DEPRECATED
+#    endif /* __APPLE__ */
+#  endif /* !_PPD_DEPRECATED */
+
+
+/*
  * PPD version...
  */
 
@@ -93,7 +119,7 @@ typedef enum ppd_cs_e                        /**** Colorspaces ****/
   PPD_CS_N                             /* DeviceN colorspace */
 } ppd_cs_t;
 
-typedef enum ppd_status_e              /**** Status Codes @since CUPS 1.1.19/Mac OS X 10.3@ ****/
+typedef enum ppd_status_e              /**** Status Codes @since CUPS 1.1.19/OS X 10.3@ ****/
 {
   PPD_OK = 0,                          /* OK */
   PPD_FILE_OPEN_ERROR,                 /* Unable to open PPD file */
@@ -122,16 +148,16 @@ typedef enum ppd_status_e         /**** Status Codes @since CUPS 1.1.19/Mac OS X 10.3@
   PPD_MAX_STATUS                       /* @private@ */
 } ppd_status_t;
 
-enum ppd_conform_e                     /**** Conformance Levels @since CUPS 1.1.19/Mac OS X 10.3@ ****/
+enum ppd_conform_e                     /**** Conformance Levels @since CUPS 1.1.19/OS X 10.3@ ****/
 {
   PPD_CONFORM_RELAXED,                 /* Relax whitespace and control char */
   PPD_CONFORM_STRICT                   /* Require strict conformance */
 };
 
 typedef enum ppd_conform_e ppd_conform_t;
-                                       /**** Conformance Levels @since CUPS 1.1.19/Mac OS X 10.3@ ****/
+                                       /**** Conformance Levels @since CUPS 1.1.19/OS X 10.3@ ****/
 
-typedef struct ppd_attr_s              /**** PPD Attribute Structure @since CUPS 1.1.19/Mac OS X 10.3@ ****/
+typedef struct ppd_attr_s              /**** PPD Attribute Structure @since CUPS 1.1.19/OS X 10.3@ ****/
 {
   char         name[PPD_MAX_NAME];     /* Name of attribute (cupsXYZ) */
   char         spec[PPD_MAX_NAME];     /* Specifier string, if any */
@@ -172,7 +198,7 @@ typedef struct ppd_group_s          /**** Groups ****/
    ****/
   char         text[PPD_MAX_TEXT - PPD_MAX_NAME];
                                        /* Human-readable group name */
-  char         name[PPD_MAX_NAME];     /* Group name @since CUPS 1.1.18/Mac OS X 10.3@ */
+  char         name[PPD_MAX_NAME];     /* Group name @since CUPS 1.1.18/OS X 10.3@ */
   int          num_options;            /* Number of options */
   ppd_option_t *options;               /* Options */
   int          num_subgroups;          /* Number of sub-groups */
@@ -217,8 +243,8 @@ typedef struct ppd_profile_s                /**** sRGB Color Profiles ****/
   float                matrix[3][3];           /* Transform matrix */
 } ppd_profile_t;
 
-/**** New in CUPS 1.2/Mac OS X 10.5 ****/
-typedef enum ppd_cptype_e              /**** Custom Parameter Type @since CUPS 1.2/Mac OS X 10.5@ ****/
+/**** New in CUPS 1.2/OS X 10.5 ****/
+typedef enum ppd_cptype_e              /**** Custom Parameter Type @since CUPS 1.2/OS X 10.5@ ****/
 {
   PPD_CUSTOM_CURVE,                    /* Curve value for f(x) = x^value */
   PPD_CUSTOM_INT,                      /* Integer number value */
@@ -230,7 +256,7 @@ typedef enum ppd_cptype_e           /**** Custom Parameter Type @since CUPS 1.2/Mac OS X
   PPD_CUSTOM_STRING                    /* String of characters */
 } ppd_cptype_t;
 
-typedef union ppd_cplimit_u            /**** Custom Parameter Limit @since CUPS 1.2/Mac OS X 10.5@ ****/
+typedef union ppd_cplimit_u            /**** Custom Parameter Limit @since CUPS 1.2/OS X 10.5@ ****/
 {
   float                custom_curve;           /* Gamma value */
   int          custom_int;             /* Integer value */
@@ -242,7 +268,7 @@ typedef union ppd_cplimit_u         /**** Custom Parameter Limit @since CUPS 1.2/Mac OS
   int          custom_string;          /* String length */
 } ppd_cplimit_t;
 
-typedef union ppd_cpvalue_u            /**** Custom Parameter Value @since CUPS 1.2/Mac OS X 10.5@ ****/
+typedef union ppd_cpvalue_u            /**** Custom Parameter Value @since CUPS 1.2/OS X 10.5@ ****/
 {
   float                custom_curve;           /* Gamma value */
   int          custom_int;             /* Integer value */
@@ -254,7 +280,7 @@ typedef union ppd_cpvalue_u         /**** Custom Parameter Value @since CUPS 1.2/Mac OS
   char         *custom_string;         /* String value */
 } ppd_cpvalue_t;
 
-typedef struct ppd_cparam_s            /**** Custom Parameter @since CUPS 1.2/Mac OS X 10.5@ ****/
+typedef struct ppd_cparam_s            /**** Custom Parameter @since CUPS 1.2/OS X 10.5@ ****/
 {
   char         name[PPD_MAX_NAME];     /* Parameter name */
   char         text[PPD_MAX_TEXT];     /* Human-readable text */
@@ -265,7 +291,7 @@ typedef struct ppd_cparam_s         /**** Custom Parameter @since CUPS 1.2/Mac OS X 10.
   ppd_cpvalue_t        current;                /* Current value */
 } ppd_cparam_t;
 
-typedef struct ppd_coption_s           /**** Custom Option @since CUPS 1.2/Mac OS X 10.5@ ****/
+typedef struct ppd_coption_s           /**** Custom Option @since CUPS 1.2/OS X 10.5@ ****/
 {
   char         keyword[PPD_MAX_NAME];  /* Name of option that is being extended... */
   ppd_option_t *option;                /* Option that is being extended... */
@@ -274,7 +300,7 @@ typedef struct ppd_coption_s                /**** Custom Option @since CUPS 1.2/Mac OS X 10.5@
 } ppd_coption_t;
 
 typedef struct _ppd_cache_s _ppd_cache_t;
-                                       /**** PPD cache and mapping data @since CUPS 1.5/Mac OS X 10.7@ @private@ ****/
+                                       /**** PPD cache and mapping data @since CUPS 1.5/OS X 10.7@ @private@ ****/
 
 typedef struct ppd_file_s              /**** PPD File ****/
 {
@@ -322,25 +348,25 @@ typedef struct ppd_file_s         /**** PPD File ****/
   int          flip_duplex;            /* 1 = Flip page for back sides @deprecated@ */
 
   /**** New in CUPS 1.1.19 ****/
-  char         *protocols;             /* Protocols (BCP, TBCP) string @since CUPS 1.1.19/Mac OS X 10.3@ */
-  char         *pcfilename;            /* PCFileName string @since CUPS 1.1.19/Mac OS X 10.3@ */
-  int          num_attrs;              /* Number of attributes @since CUPS 1.1.19/Mac OS X 10.3@ @private@ */
-  int          cur_attr;               /* Current attribute @since CUPS 1.1.19/Mac OS X 10.3@ @private@ */
-  ppd_attr_t   **attrs;                /* Attributes @since CUPS 1.1.19/Mac OS X 10.3@ @private@ */
+  char         *protocols;             /* Protocols (BCP, TBCP) string @since CUPS 1.1.19/OS X 10.3@ */
+  char         *pcfilename;            /* PCFileName string @since CUPS 1.1.19/OS X 10.3@ */
+  int          num_attrs;              /* Number of attributes @since CUPS 1.1.19/OS X 10.3@ @private@ */
+  int          cur_attr;               /* Current attribute @since CUPS 1.1.19/OS X 10.3@ @private@ */
+  ppd_attr_t   **attrs;                /* Attributes @since CUPS 1.1.19/OS X 10.3@ @private@ */
 
-  /**** New in CUPS 1.2/Mac OS X 10.5 ****/
-  cups_array_t *sorted_attrs;          /* Attribute lookup array @since CUPS 1.2/Mac OS X 10.5@ @private@ */
-  cups_array_t *options;               /* Option lookup array @since CUPS 1.2/Mac OS X 10.5@ @private@ */
-  cups_array_t *coptions;              /* Custom options array @since CUPS 1.2/Mac OS X 10.5@ @private@ */
+  /**** New in CUPS 1.2/OS X 10.5 ****/
+  cups_array_t *sorted_attrs;          /* Attribute lookup array @since CUPS 1.2/OS X 10.5@ @private@ */
+  cups_array_t *options;               /* Option lookup array @since CUPS 1.2/OS X 10.5@ @private@ */
+  cups_array_t *coptions;              /* Custom options array @since CUPS 1.2/OS X 10.5@ @private@ */
 
-  /**** New in CUPS 1.3/Mac OS X 10.5 ****/
-  cups_array_t *marked;                /* Marked choices @since CUPS 1.3/Mac OS X 10.5@ @private@ */
+  /**** New in CUPS 1.3/OS X 10.5 ****/
+  cups_array_t *marked;                /* Marked choices @since CUPS 1.3/OS X 10.5@ @private@ */
 
-  /**** New in CUPS 1.4/Mac OS X 10.6 ****/
-  cups_array_t *cups_uiconstraints;    /* cupsUIConstraints @since CUPS 1.4/Mac OS X 10.6@ @private@ */
+  /**** New in CUPS 1.4/OS X 10.6 ****/
+  cups_array_t *cups_uiconstraints;    /* cupsUIConstraints @since CUPS 1.4/OS X 10.6@ @private@ */
 
   /**** New in CUPS 1.5 ****/
-  _ppd_cache_t *cache;                 /* PPD cache and mapping data @since CUPS 1.5/Mac OS X 10.7@ @private@ */
+  _ppd_cache_t *cache;                 /* PPD cache and mapping data @since CUPS 1.5/OS X 10.7@ @private@ */
 } ppd_file_t;
 
 
@@ -361,7 +387,8 @@ extern int          ppdEmitFd(ppd_file_t *ppd, int fd,
 extern int             ppdEmitJCL(ppd_file_t *ppd, FILE *fp, int job_id,
                                   const char *user, const char *title);
 extern ppd_choice_t    *ppdFindChoice(ppd_option_t *o, const char *option);
-extern ppd_choice_t    *ppdFindMarkedChoice(ppd_file_t *ppd, const char *keyword);
+extern ppd_choice_t    *ppdFindMarkedChoice(ppd_file_t *ppd,
+                                            const char *keyword);
 extern ppd_option_t    *ppdFindOption(ppd_file_t *ppd, const char *keyword);
 extern int             ppdIsMarked(ppd_file_t *ppd, const char *keyword,
                                    const char *option);
@@ -376,64 +403,67 @@ extern ppd_size_t *ppdPageSize(ppd_file_t *ppd, const char *name);
 extern float           ppdPageWidth(ppd_file_t *ppd, const char *name);
 
 /**** New in CUPS 1.1.19 ****/
-extern const char      *ppdErrorString(ppd_status_t status) _CUPS_API_1_1_19;
+extern const char      *ppdErrorString(ppd_status_t status) _PPD_DEPRECATED;
 extern ppd_attr_t      *ppdFindAttr(ppd_file_t *ppd, const char *name,
-                                    const char *spec) _CUPS_API_1_1_19;
+                                    const char *spec) _PPD_DEPRECATED;
 extern ppd_attr_t      *ppdFindNextAttr(ppd_file_t *ppd, const char *name,
-                                        const char *spec) _CUPS_API_1_1_19;
-extern ppd_status_t    ppdLastError(int *line) _CUPS_API_1_1_19;
+                                        const char *spec) _PPD_DEPRECATED;
+extern ppd_status_t    ppdLastError(int *line) _PPD_DEPRECATED;
 
 /**** New in CUPS 1.1.20 ****/
-extern void            ppdSetConformance(ppd_conform_t c) _CUPS_API_1_1_20;
+extern void            ppdSetConformance(ppd_conform_t c) _PPD_DEPRECATED;
 
 /**** New in CUPS 1.2 ****/
 extern int             ppdCollect2(ppd_file_t *ppd, ppd_section_t section,
-                                   float min_order, ppd_choice_t  ***choices) _CUPS_API_1_2;
+                                   float min_order, ppd_choice_t  ***choices)
+                                   _PPD_DEPRECATED;
 extern int             ppdEmitAfterOrder(ppd_file_t *ppd, FILE *fp,
                                          ppd_section_t section, int limit,
-                                         float min_order) _CUPS_API_1_2;
-extern int             ppdEmitJCLEnd(ppd_file_t *ppd, FILE *fp) _CUPS_API_1_2;
+                                         float min_order) _PPD_DEPRECATED;
+extern int             ppdEmitJCLEnd(ppd_file_t *ppd, FILE *fp) _PPD_DEPRECATED;
 extern char            *ppdEmitString(ppd_file_t *ppd, ppd_section_t section,
-                                      float min_order) _CUPS_API_1_2;
+                                      float min_order) _PPD_DEPRECATED;
 extern ppd_coption_t   *ppdFindCustomOption(ppd_file_t *ppd,
-                                            const char *keyword) _CUPS_API_1_2;
+                                            const char *keyword) _PPD_DEPRECATED;
 extern ppd_cparam_t    *ppdFindCustomParam(ppd_coption_t *opt,
-                                           const char *name) _CUPS_API_1_2;
-extern ppd_cparam_t    *ppdFirstCustomParam(ppd_coption_t *opt) _CUPS_API_1_2;
-extern ppd_option_t    *ppdFirstOption(ppd_file_t *ppd) _CUPS_API_1_2;
-extern ppd_cparam_t    *ppdNextCustomParam(ppd_coption_t *opt) _CUPS_API_1_2;
-extern ppd_option_t    *ppdNextOption(ppd_file_t *ppd) _CUPS_API_1_2;
-extern int             ppdLocalize(ppd_file_t *ppd) _CUPS_API_1_2;
-extern ppd_file_t      *ppdOpen2(cups_file_t *fp) _CUPS_API_1_2;
-
-/**** New in CUPS 1.3/Mac OS X 10.5 ****/
+                                           const char *name) _PPD_DEPRECATED;
+extern ppd_cparam_t    *ppdFirstCustomParam(ppd_coption_t *opt) _PPD_DEPRECATED;
+extern ppd_option_t    *ppdFirstOption(ppd_file_t *ppd) _PPD_DEPRECATED;
+extern ppd_cparam_t    *ppdNextCustomParam(ppd_coption_t *opt) _PPD_DEPRECATED;
+extern ppd_option_t    *ppdNextOption(ppd_file_t *ppd) _PPD_DEPRECATED;
+extern int             ppdLocalize(ppd_file_t *ppd) _PPD_DEPRECATED;
+extern ppd_file_t      *ppdOpen2(cups_file_t *fp) _PPD_DEPRECATED;
+
+/**** New in CUPS 1.3/OS X 10.5 ****/
 extern const char      *ppdLocalizeIPPReason(ppd_file_t *ppd,
                                              const char *reason,
                                              const char *scheme,
                                              char *buffer,
-                                             size_t bufsize) _CUPS_API_1_3;
+                                             size_t bufsize) _PPD_DEPRECATED;
 
-/**** New in CUPS 1.4/Mac OS X 10.6 ****/
+/**** New in CUPS 1.4/OS X 10.6 ****/
 extern int             cupsGetConflicts(ppd_file_t *ppd, const char *option,
                                         const char *choice,
                                         cups_option_t **options)
-                                            _CUPS_API_1_4;
-extern int             cupsResolveConflicts(ppd_file_t *ppd, const char *option,
+                                            _PPD_DEPRECATED;
+extern int             cupsResolveConflicts(ppd_file_t *ppd,
+                                            const char *option,
                                             const char *choice,
                                             int *num_options,
                                             cups_option_t **options)
-                                            _CUPS_API_1_4;
+                                            _PPD_DEPRECATED;
 extern int             ppdInstallableConflict(ppd_file_t *ppd,
                                               const char *option,
                                               const char *choice)
-                                                  _CUPS_API_1_4;
+                                                  _PPD_DEPRECATED;
 extern ppd_attr_t      *ppdLocalizeAttr(ppd_file_t *ppd, const char *keyword,
-                                        const char *spec) _CUPS_API_1_4;
+                                        const char *spec) _PPD_DEPRECATED;
 extern const char      *ppdLocalizeMarkerName(ppd_file_t *ppd,
-                                              const char *name) _CUPS_API_1_4;
+                                              const char *name)
+                                              _PPD_DEPRECATED;
 extern int             ppdPageSizeLimits(ppd_file_t *ppd,
                                          ppd_size_t *minimum,
-                                         ppd_size_t *maximum) _CUPS_API_1_4;
+                                         ppd_size_t *maximum) _PPD_DEPRECATED;
 
 
 /*
@@ -446,5 +476,5 @@ extern int          ppdPageSizeLimits(ppd_file_t *ppd,
 #endif /* !_CUPS_PPD_H_ */
 
 /*
- * End of "$Id: ppd.h 9772 2011-05-12 05:46:30Z mike $".
+ * End of "$Id: ppd.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index 3bfbc24..54574f1 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: pwg-media.c 10340 2012-03-07 17:16:42Z mike $"
+ * "$Id: pwg-media.c 11241 2013-08-14 20:41:32Z msweet $"
  *
  *   PWG media name API implementation for CUPS.
  *
- *   Copyright 2009-2012 by Apple Inc.
+ *   Copyright 2009-2013 by Apple Inc.
  *
  *   These coded instructions, statements, and computer programs are the
  *   property of Apple Inc. and are protected by Federal copyright
  *
  * Contents:
  *
- *   _pwgGenerateSize()   - Generate a PWG size keyword.
- *   _pwgInitSize()       - Initialize a PWG size using IPP job template
- *                          attributes.
- *   _pwgMediaForLegacy() - Find a PWG media size by ISO/IPP legacy name.
- *   _pwgMediaForPPD()    - Find a PWG media size by Adobe PPD name.
- *   _pwgMediaForPWG()    - Find a PWG media size by 5101.1 self-describing
- *                          name.
- *   _pwgMediaForSize()   - Get the PWG media name for a given size.
- *   pwg_compare_legacy() - Compare two sizes using the legacy names.
- *   pwg_compare_ppd()    - Compare two sizes using the PPD names.
- *   pwg_compare_pwg()    - Compare two sizes using the PWG names.
+ *   _pwgFormatInches()      - Convert and format PWG units as inches.
+ *   _pwgFormatMillimeters() - Convert and format PWG units as millimeters.
+ *   _pwgGenerateSize()      - Generate a PWG size keyword.
+ *   _pwgInitSize()         - Initialize a PWG size using IPP job template
+ *                            attributes.
+ *   _pwgMediaForLegacy()    - Find a PWG media size by ISO/IPP legacy name.
+ *   _pwgMediaForPPD()      - Find a PWG media size by Adobe PPD name.
+ *   _pwgMediaForPWG()      - Find a PWG media size by 5101.1 self-describing
+ *                            name.
+ *   _pwgMediaForSize()      - Get the PWG media name for a given size.
+ *   pwg_compare_legacy()    - Compare two sizes using the legacy names.
+ *   pwg_compare_ppd()      - Compare two sizes using the PPD names.
+ *   pwg_compare_pwg()      - Compare two sizes using the PWG names.
  */
 
 /*
@@ -66,7 +68,7 @@ static _pwg_media_t const cups_pwg_media[] =
   _PWG_MEDIA_IN("na_number-9_3.875x8.875in", "na-number-9-envelope", "Env9", 3.875, 8.875),
   _PWG_MEDIA_IN("na_index-4x6_4x6in", NULL, "4x6", 4, 6),
   _PWG_MEDIA_IN("na_number-10_4.125x9.5in", "na-number-10-envelope", "Env10", 4.125, 9.5),
-  _PWG_MEDIA_IN("na_a2_4.375x5.75in", NULL, NULL, 4.375, 5.75),
+  _PWG_MEDIA_IN("na_a2_4.375x5.75in", NULL, "EnvA2", 4.375, 5.75),
   _PWG_MEDIA_IN("na_number-11_4.5x10.375in", NULL, "Env11", 4.5, 10.375),
   _PWG_MEDIA_IN("na_number-12_4.75x11in", NULL, "Env12", 4.75, 11),
   _PWG_MEDIA_IN("na_5x7_5x7in", NULL, "5x7", 5, 7),
@@ -204,6 +206,7 @@ static _pwg_media_t const cups_pwg_media[] =
   _PWG_MEDIA_MM("jpn_chou4_90x205mm", NULL, "EnvChou4", 90, 205),
   _PWG_MEDIA_MM("jpn_hagaki_100x148mm", NULL, "Postcard", 100, 148),
   _PWG_MEDIA_MM("jpn_you4_105x235mm", NULL, "EnvYou4", 105, 235),
+  _PWG_MEDIA_MM("jpn_you6_98x190mm", NULL, "EnvYou6", 98, 190),
   _PWG_MEDIA_MM("jpn_chou2_111.1x146mm", NULL, NULL, 111.1, 146),
   _PWG_MEDIA_MM("jpn_chou3_120x235mm", NULL, "EnvChou3", 120, 235),
   _PWG_MEDIA_MM("jpn_oufuku_148x200mm", NULL, "DoublePostcardRotated", 148, 200),
@@ -218,21 +221,18 @@ static _pwg_media_t const cups_pwg_media[] =
   _PWG_MEDIA_MM("prc_5_110x220mm", NULL, "EnvPRC5", 110, 220),
   _PWG_MEDIA_MM("prc_8_120x309mm", NULL, "EnvPRC8", 120, 309),
   _PWG_MEDIA_MM("prc_6_120x320mm", NULL, NULL, 120, 320),
-  _PWG_MEDIA_MM("prc_3_125x176mm", NULL, "EnvPRC3", 125, 176),
   _PWG_MEDIA_MM("prc_16k_146x215mm", NULL, "PRC16K", 146, 215),
   _PWG_MEDIA_MM("prc_7_160x230mm", NULL, "EnvPRC7", 160, 230),
   _PWG_MEDIA_MM("om_juuro-ku-kai_198x275mm", NULL, NULL, 198, 275),
   _PWG_MEDIA_MM("om_pa-kai_267x389mm", NULL, NULL, 267, 389),
   _PWG_MEDIA_MM("om_dai-pa-kai_275x395mm", NULL, NULL, 275, 395),
-  _PWG_MEDIA_MM("prc_10_324x458mm", NULL, "EnvPRC10", 324, 458),
 
   /* Other English Standard Sheet Media Sizes */
   _PWG_MEDIA_IN("oe_photo-l_3.5x5in", NULL, "3.5x5", 3.5, 5),
 
   /* Other Metric Standard Sheet Media Sizes */
-  _PWG_MEDIA_MM("om_small-photo_100x150mm", NULL, NULL, 100, 150),
+  _PWG_MEDIA_MM("om_small-photo_100x150mm", NULL, "om_small-photo", 100, 150),
   _PWG_MEDIA_MM("om_italian_110x230mm", NULL, "EnvItalian", 110, 230),
-  _PWG_MEDIA_MM("om_postfix_114x229mm", NULL, NULL, 114, 229),
   _PWG_MEDIA_MM("om_large-photo_200x300", NULL, "om_large-photo", 200, 300),
   _PWG_MEDIA_MM("om_folio_210x330mm", "folio", "Folio", 210, 330),
   _PWG_MEDIA_MM("om_folio-sp_215x315mm", NULL, "FolioSP", 215, 315),
@@ -241,6 +241,83 @@ static _pwg_media_t const cups_pwg_media[] =
 
 
 /*
+ * '_pwgFormatInches()' - Convert and format PWG units as inches.
+ */
+
+char *                                 /* O - String */
+_pwgFormatInches(char   *buf,          /* I - Buffer */
+                 size_t bufsize,       /* I - Size of buffer */
+                 int    val)           /* I - Value in hundredths of millimeters */
+{
+  int  thousandths,                    /* Thousandths of inches */
+       integer,                        /* Integer portion */
+       fraction;                       /* Fractional portion */
+
+
+ /*
+  * Convert hundredths of millimeters to thousandths of inches and round to
+  * the nearest thousandth.
+  */
+
+  thousandths = (val * 1000 + 1270) / 2540;
+  integer     = thousandths / 1000;
+  fraction    = thousandths % 1000;
+
+ /*
+  * Format as a pair of integers (avoids locale stuff), avoiding trailing
+  * zeros...
+  */
+
+  if (fraction == 0)
+    snprintf(buf, bufsize, "%d", integer);
+  else if (fraction % 10)
+    snprintf(buf, bufsize, "%d.%03d", integer, fraction);
+  else if (fraction % 100)
+    snprintf(buf, bufsize, "%d.%02d", integer, fraction / 10);
+  else
+    snprintf(buf, bufsize, "%d.%01d", integer, fraction / 100);
+
+  return (buf);
+}
+
+
+/*
+ * '_pwgFormatMillimeters()' - Convert and format PWG units as millimeters.
+ */
+
+char *                                 /* O - String */
+_pwgFormatMillimeters(char   *buf,     /* I - Buffer */
+                      size_t bufsize,  /* I - Size of buffer */
+                      int    val)      /* I - Value in hundredths of millimeters */
+{
+  int  integer,                        /* Integer portion */
+       fraction;                       /* Fractional portion */
+
+
+ /*
+  * Convert hundredths of millimeters to integer and fractional portions.
+  */
+
+  integer     = val / 100;
+  fraction    = val % 100;
+
+ /*
+  * Format as a pair of integers (avoids locale stuff), avoiding trailing
+  * zeros...
+  */
+
+  if (fraction == 0)
+    snprintf(buf, bufsize, "%d", integer);
+  else if (fraction % 10)
+    snprintf(buf, bufsize, "%d.%02d", integer, fraction);
+  else
+    snprintf(buf, bufsize, "%d.%01d", integer, fraction / 10);
+
+  return (buf);
+}
+
+
+/*
  * '_pwgGenerateSize()' - Generate a PWG size keyword.
  */
 
@@ -252,25 +329,21 @@ _pwgGenerateSize(char       *keyword,     /* I - Keyword buffer */
                 int        width,      /* I - Width of page in 2540ths */
                 int        length)     /* I - Length of page in 2540ths */
 {
-  struct lconv *loc;                   /* Locale conversion data */
-  double       uwidth,                 /* Width in inches or millimeters */
-               ulength;                /* Height in inches or millimeters */
   const char   *units;                 /* Units to report */
   char         usize[12 + 1 + 12 + 3], /* Unit size: NNNNNNNNNNNNxNNNNNNNNNNNNuu */
                *uptr;                  /* Pointer into unit size */
+  char         *(*format)(char *, size_t, int);
+                                       /* Formatting function */
 
 
-  loc = localeconv();
-
   if ((width % 635) == 0 && (length % 635) == 0)
   {
    /*
     * Use inches since the size is a multiple of 1/4 inch.
     */
 
-    uwidth  = width / 2540.0;
-    ulength = length / 2540.0;
     units   = "in";
+    format  = _pwgFormatInches;
 
     if (!prefix)
       prefix = "oe";
@@ -281,26 +354,25 @@ _pwgGenerateSize(char       *keyword,     /* I - Keyword buffer */
     * Use millimeters since the size is not a multiple of 1/4 inch.
     */
 
-    uwidth  = width * 0.01;
-    ulength = length * 0.01;
     units   = "mm";
+    format  = _pwgFormatMillimeters;
 
     if (!prefix)
       prefix = "om";
   }
 
   uptr = usize;
-  _cupsStrFormatd(uptr, uptr + 12, uwidth, loc);
+  (*format)(uptr, sizeof(usize) - (uptr - usize), width);
   uptr += strlen(uptr);
   *uptr++ = 'x';
-  _cupsStrFormatd(uptr, uptr + 12, ulength, loc);
+  (*format)(uptr, sizeof(usize) - (uptr - usize), length);
   uptr += strlen(uptr);
 
  /*
   * Safe because usize can hold up to 12 + 1 + 12 + 4 bytes.
   */
 
-  strcpy(uptr, units);
+  memcpy(uptr, units, 3);
 
   if (!name)
     name = usize;
@@ -732,13 +804,13 @@ _pwgMediaForPWG(const char *pwg)  /* I - PWG size name */
 
        if (!strcmp(ptr, "mm"))
        {
-         size->width  = (int)(w * 100);
-         size->length = (int)(l * 100);
+         size->width  = (int)(w * 100 + 0.5);
+         size->length = (int)(l * 100 + 0.5);
        }
        else
        {
-         size->width  = (int)(w * 2540);
-         size->length = (int)(l * 2540);
+         size->width  = (int)(w * 2540 + 0.5);
+         size->length = (int)(l * 2540 + 0.5);
        }
 
         strlcpy(cg->pwg_name, pwg, sizeof(cg->pwg_name));
@@ -760,8 +832,11 @@ _pwgMediaForSize(int width,                /* I - Width in 2540ths */
                 int length)            /* I - Length in 2540ths */
 {
   int          i;                      /* Looping var */
-  _pwg_media_t *media;                 /* Current media */
-  int          dw, dl;                 /* Difference in width and length */
+  _pwg_media_t *media,                 /* Current media */
+               *best_media = NULL;     /* Best match */
+  int          dw, dl,                 /* Difference in width and length */
+               best_dw = 999,          /* Best difference in width and length */
+               best_dl = 999;
   _cups_globals_t *cg = _cupsGlobals();        /* Global data */
 
 
@@ -786,13 +861,25 @@ _pwgMediaForSize(int width,               /* I - Width in 2540ths */
     * is just about 176/2540ths...
     */
 
-    dw = media->width - width;
-    dl = media->length - length;
+    dw = abs(media->width - width);
+    dl = abs(media->length - length);
 
-    if (dw > -176 && dw < 176 && dl > -176 && dl < 176)
+    if (!dw && !dl)
       return (media);
+    else if (dw < 176 && dl < 176)
+    {
+      if (dw <= best_dw && dl <= best_dl)
+      {
+        best_media = media;
+        best_dw    = dw;
+        best_dl    = dl;
+      }
+    }
   }
 
+  if (best_media)
+    return (best_media);
+
  /*
   * Not a standard size; convert it to a PWG custom name of the form:
   *
@@ -847,5 +934,5 @@ pwg_compare_pwg(_pwg_media_t *a,    /* I - First size */
 
 
 /*
- * End of "$Id: pwg-media.c 10340 2012-03-07 17:16:42Z mike $".
+ * End of "$Id: pwg-media.c 11241 2013-08-14 20:41:32Z msweet $".
  */
index 1d00e83..113a1e7 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: pwg-private.h 10245 2012-02-11 02:24:44Z mike $"
+ * "$Id: pwg-private.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Private PWG media API definitions for CUPS.
  *
- *   Copyright 2009-2010 by Apple Inc.
+ *   Copyright 2009-2012 by Apple Inc.
  *
  *   These coded instructions, statements, and computer programs are the
  *   property of Apple Inc. and are protected by Federal copyright
@@ -79,6 +79,9 @@ typedef struct _pwg_size_s            /**** Size element - PPD to/from PWG */
  * Functions...
  */
 
+extern char            *_pwgFormatInches(char *buf, size_t bufsize, int val);
+extern char            *_pwgFormatMillimeters(char *buf, size_t bufsize,
+                                              int val);
 extern void            _pwgGenerateSize(char *keyword, size_t keysize,
                                         const char *prefix,
                                         const char *name,
@@ -90,7 +93,6 @@ extern _pwg_media_t   *_pwgMediaForPPD(const char *ppd);
 extern _pwg_media_t    *_pwgMediaForPWG(const char *pwg);
 extern _pwg_media_t    *_pwgMediaForSize(int width, int length);
 
-
 #  ifdef __cplusplus
 }
 #  endif /* __cplusplus */
@@ -98,5 +100,5 @@ extern _pwg_media_t  *_pwgMediaForSize(int width, int length);
 #endif /* !_CUPS_PWG_PRIVATE_H_ */
 
 /*
- * End of "$Id: pwg-private.h 10245 2012-02-11 02:24:44Z mike $".
+ * End of "$Id: pwg-private.h 11173 2013-07-23 12:31:34Z msweet $".
  */
diff --git a/cups/raster-private.h b/cups/raster-private.h
new file mode 100644 (file)
index 0000000..77ec7c2
--- /dev/null
@@ -0,0 +1,66 @@
+/*
+ * "$Id: raster-private.h 11173 2013-07-23 12:31:34Z msweet $"
+ *
+ *   Private image library definitions for CUPS.
+ *
+ *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 1993-2006 by Easy Software Products.
+ *
+ *   These coded instructions, statements, and computer programs are the
+ *   property of Apple Inc. and are protected by Federal copyright
+ *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
+ *   which should have been included with this file.  If this file is
+ *   file is missing or damaged, see the license at "http://www.cups.org/".
+ *
+ *   This file is subject to the Apple OS-Developed Software exception.
+ */
+
+#ifndef _CUPS_RASTER_PRIVATE_H_
+#  define _CUPS_RASTER_PRIVATE_H_
+
+/*
+ * Include necessary headers...
+ */
+
+#  include "raster.h"
+#  include <cups/cups.h>
+#  include <cups/debug-private.h>
+#  include <cups/string-private.h>
+#  ifdef WIN32
+#    include <io.h>
+#    include <winsock2.h>              /* for htonl() definition */
+#  else
+#    include <unistd.h>
+#    include <fcntl.h>
+#  endif /* WIN32 */
+
+
+/*
+ * min/max macros...
+ */
+
+#  ifndef max
+#    define    max(a,b)        ((a) > (b) ? (a) : (b))
+#  endif /* !max */
+#  ifndef min
+#    define    min(a,b)        ((a) < (b) ? (a) : (b))
+#  endif /* !min */
+
+
+/*
+ * Prototypes...
+ */
+
+extern int             _cupsRasterExecPS(cups_page_header2_t *h,
+                                         int *preferred_bits,
+                                         const char *code)
+                                         __attribute__((nonnull(3)));
+extern void            _cupsRasterAddError(const char *f, ...)
+                       __attribute__((__format__(__printf__, 1, 2)));
+extern void            _cupsRasterClearError(void);
+
+#endif /* !_CUPS_RASTER_PRIVATE_H_ */
+
+/*
+ * End of "$Id: raster-private.h 11173 2013-07-23 12:31:34Z msweet $".
+ */
index 0516a93..c638f5a 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: raster.h 9772 2011-05-12 05:46:30Z mike $"
+ * "$Id: raster.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Raster file definitions for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products.
  *
  *   This file is part of the CUPS Imaging library.
@@ -117,28 +117,28 @@ typedef enum cups_cspace_e                /**** cupsColorSpace attribute values ****/
   CUPS_CSPACE_GOLD = 13,               /* Gold foil @deprecated@ */
   CUPS_CSPACE_SILVER = 14,             /* Silver foil @deprecated@ */
 
-  CUPS_CSPACE_CIEXYZ = 15,             /* CIE XYZ @since CUPS 1.1.19/Mac OS X 10.3@ */
-  CUPS_CSPACE_CIELab = 16,             /* CIE Lab @since CUPS 1.1.19/Mac OS X 10.3@ */
-  CUPS_CSPACE_RGBW = 17,               /* Red, green, blue, white (DeviceRGB, sRGB by default) @since CUPS 1.2/Mac OS X 10.5@ */
+  CUPS_CSPACE_CIEXYZ = 15,             /* CIE XYZ @since CUPS 1.1.19/OS X 10.3@ */
+  CUPS_CSPACE_CIELab = 16,             /* CIE Lab @since CUPS 1.1.19/OS X 10.3@ */
+  CUPS_CSPACE_RGBW = 17,               /* Red, green, blue, white (DeviceRGB, sRGB by default) @since CUPS 1.2/OS X 10.5@ */
   CUPS_CSPACE_SW = 18,                 /* Luminance (gamma 2.2) @since CUPS 1.4.5@ */
   CUPS_CSPACE_SRGB = 19,               /* Red, green, blue (sRGB) @since CUPS 1.4.5@ */
   CUPS_CSPACE_ADOBERGB = 20,           /* Red, green, blue (Adobe RGB) @since CUPS 1.4.5@ */
 
-  CUPS_CSPACE_ICC1 = 32,               /* ICC-based, 1 color @since CUPS 1.1.19/Mac OS X 10.3@ */
-  CUPS_CSPACE_ICC2 = 33,               /* ICC-based, 2 colors @since CUPS 1.1.19/Mac OS X 10.3@ */
-  CUPS_CSPACE_ICC3 = 34,               /* ICC-based, 3 colors @since CUPS 1.1.19/Mac OS X 10.3@ */
-  CUPS_CSPACE_ICC4 = 35,               /* ICC-based, 4 colors @since CUPS 1.1.19/Mac OS X 10.3@ */
-  CUPS_CSPACE_ICC5 = 36,               /* ICC-based, 5 colors @since CUPS 1.1.19/Mac OS X 10.3@ */
-  CUPS_CSPACE_ICC6 = 37,               /* ICC-based, 6 colors @since CUPS 1.1.19/Mac OS X 10.3@ */
-  CUPS_CSPACE_ICC7 = 38,               /* ICC-based, 7 colors @since CUPS 1.1.19/Mac OS X 10.3@ */
-  CUPS_CSPACE_ICC8 = 39,               /* ICC-based, 8 colors @since CUPS 1.1.19/Mac OS X 10.3@ */
-  CUPS_CSPACE_ICC9 = 40,               /* ICC-based, 9 colors @since CUPS 1.1.19/Mac OS X 10.3@ */
-  CUPS_CSPACE_ICCA = 41,               /* ICC-based, 10 colors @since CUPS 1.1.19/Mac OS X 10.3@ */
-  CUPS_CSPACE_ICCB = 42,               /* ICC-based, 11 colors @since CUPS 1.1.19/Mac OS X 10.3@ */
-  CUPS_CSPACE_ICCC = 43,               /* ICC-based, 12 colors @since CUPS 1.1.19/Mac OS X 10.3@ */
-  CUPS_CSPACE_ICCD = 44,               /* ICC-based, 13 colors @since CUPS 1.1.19/Mac OS X 10.3@ */
-  CUPS_CSPACE_ICCE = 45,               /* ICC-based, 14 colors @since CUPS 1.1.19/Mac OS X 10.3@ */
-  CUPS_CSPACE_ICCF = 46,               /* ICC-based, 15 colors @since CUPS 1.1.19/Mac OS X 10.3@ */
+  CUPS_CSPACE_ICC1 = 32,               /* ICC-based, 1 color @since CUPS 1.1.19/OS X 10.3@ */
+  CUPS_CSPACE_ICC2 = 33,               /* ICC-based, 2 colors @since CUPS 1.1.19/OS X 10.3@ */
+  CUPS_CSPACE_ICC3 = 34,               /* ICC-based, 3 colors @since CUPS 1.1.19/OS X 10.3@ */
+  CUPS_CSPACE_ICC4 = 35,               /* ICC-based, 4 colors @since CUPS 1.1.19/OS X 10.3@ */
+  CUPS_CSPACE_ICC5 = 36,               /* ICC-based, 5 colors @since CUPS 1.1.19/OS X 10.3@ */
+  CUPS_CSPACE_ICC6 = 37,               /* ICC-based, 6 colors @since CUPS 1.1.19/OS X 10.3@ */
+  CUPS_CSPACE_ICC7 = 38,               /* ICC-based, 7 colors @since CUPS 1.1.19/OS X 10.3@ */
+  CUPS_CSPACE_ICC8 = 39,               /* ICC-based, 8 colors @since CUPS 1.1.19/OS X 10.3@ */
+  CUPS_CSPACE_ICC9 = 40,               /* ICC-based, 9 colors @since CUPS 1.1.19/OS X 10.3@ */
+  CUPS_CSPACE_ICCA = 41,               /* ICC-based, 10 colors @since CUPS 1.1.19/OS X 10.3@ */
+  CUPS_CSPACE_ICCB = 42,               /* ICC-based, 11 colors @since CUPS 1.1.19/OS X 10.3@ */
+  CUPS_CSPACE_ICCC = 43,               /* ICC-based, 12 colors @since CUPS 1.1.19/OS X 10.3@ */
+  CUPS_CSPACE_ICCD = 44,               /* ICC-based, 13 colors @since CUPS 1.1.19/OS X 10.3@ */
+  CUPS_CSPACE_ICCE = 45,               /* ICC-based, 14 colors @since CUPS 1.1.19/OS X 10.3@ */
+  CUPS_CSPACE_ICCF = 46,               /* ICC-based, 15 colors @since CUPS 1.1.19/OS X 10.3@ */
 
   CUPS_CSPACE_DEVICE1 = 48,            /* DeviceN, 1 color @since CUPS 1.4.5@ */
   CUPS_CSPACE_DEVICE2 = 49,            /* DeviceN, 2 colors @since CUPS 1.4.5@ */
@@ -186,8 +186,8 @@ enum cups_mode_e                    /**** cupsRasterOpen modes ****/
 {
   CUPS_RASTER_READ = 0,                        /* Open stream for reading */
   CUPS_RASTER_WRITE = 1,               /* Open stream for writing */
-  CUPS_RASTER_WRITE_COMPRESSED = 2,    /* Open stream for compressed writing @since CUPS 1.3/Mac OS X 10.5@ */
-  CUPS_RASTER_WRITE_PWG = 3            /* Open stream for compressed writing in PWG mode @since CUPS 1.5/Mac OS X 10.7@ */
+  CUPS_RASTER_WRITE_COMPRESSED = 2,    /* Open stream for compressed writing @since CUPS 1.3/OS X 10.5@ */
+  CUPS_RASTER_WRITE_PWG = 3            /* Open stream for compressed writing in PWG mode @since CUPS 1.5/OS X 10.7@ */
 };
 
 typedef enum cups_mode_e cups_mode_t;  /**** cupsRasterOpen modes ****/
@@ -266,7 +266,7 @@ typedef struct cups_page_header_s   /**** Version 1 page header @deprecated@ ****/
 } cups_page_header_t;
 
 /**** New in CUPS 1.2 ****/
-typedef struct cups_page_header2_s     /**** Version 2 page header @since CUPS 1.2/Mac OS X 10.5@ ****/
+typedef struct cups_page_header2_s     /**** Version 2 page header @since CUPS 1.2/OS X 10.5@ ****/
 {
   /**** Standard Page Device Dictionary String Values ****/
   char         MediaClass[64];         /* MediaClass string */
@@ -314,20 +314,20 @@ typedef struct cups_page_header2_s        /**** Version 2 page header @since CUPS 1.2/M
   unsigned     cupsRowStep;            /* Spacing between lines */
 
   /**** Version 2 Dictionary Values ****/
-  unsigned     cupsNumColors;          /* Number of color compoents @since CUPS 1.2/Mac OS X 10.5@ */
+  unsigned     cupsNumColors;          /* Number of color compoents @since CUPS 1.2/OS X 10.5@ */
   float                cupsBorderlessScalingFactor;
-                                       /* Scaling that was applied to page data @since CUPS 1.2/Mac OS X 10.5@ */
+                                       /* Scaling that was applied to page data @since CUPS 1.2/OS X 10.5@ */
   float                cupsPageSize[2];        /* Floating point PageSize (scaling *
-                                        * factor not applied) @since CUPS 1.2/Mac OS X 10.5@ */
+                                        * factor not applied) @since CUPS 1.2/OS X 10.5@ */
   float                cupsImagingBBox[4];     /* Floating point ImagingBoundingBox
                                         * (scaling factor not applied, left,
-                                        * bottom, right, top) @since CUPS 1.2/Mac OS X 10.5@ */
-  unsigned     cupsInteger[16];        /* User-defined integer values @since CUPS 1.2/Mac OS X 10.5@ */
-  float                cupsReal[16];           /* User-defined floating-point values @since CUPS 1.2/Mac OS X 10.5@ */
-  char         cupsString[16][64];     /* User-defined string values @since CUPS 1.2/Mac OS X 10.5@ */
-  char         cupsMarkerType[64];     /* Ink/toner type @since CUPS 1.2/Mac OS X 10.5@ */
-  char         cupsRenderingIntent[64];/* Color rendering intent @since CUPS 1.2/Mac OS X 10.5@ */
-  char         cupsPageSizeName[64];   /* PageSize name @since CUPS 1.2/Mac OS X 10.5@ */
+                                        * bottom, right, top) @since CUPS 1.2/OS X 10.5@ */
+  unsigned     cupsInteger[16];        /* User-defined integer values @since CUPS 1.2/OS X 10.5@ */
+  float                cupsReal[16];           /* User-defined floating-point values @since CUPS 1.2/OS X 10.5@ */
+  char         cupsString[16][64];     /* User-defined string values @since CUPS 1.2/OS X 10.5@ */
+  char         cupsMarkerType[64];     /* Ink/toner type @since CUPS 1.2/OS X 10.5@ */
+  char         cupsRenderingIntent[64];/* Color rendering intent @since CUPS 1.2/OS X 10.5@ */
+  char         cupsPageSizeName[64];   /* PageSize name @since CUPS 1.2/OS X 10.5@ */
 } cups_page_header2_t;
 
 typedef struct _cups_raster_s cups_raster_t;
@@ -401,5 +401,5 @@ extern cups_raster_t        *cupsRasterOpenIO(cups_raster_iocb_t iocb, void *ctx,
 #endif /* !_CUPS_RASTER_H_ */
 
 /*
- * End of "$Id: raster.h 9772 2011-05-12 05:46:30Z mike $".
+ * End of "$Id: raster.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index 885c01b..9afe1e5 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: request.c 10015 2011-09-21 22:09:29Z mike $"
+ * "$Id: request.c 11176 2013-07-23 13:24:57Z msweet $"
  *
  *   IPP utilities for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2013 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -51,9 +51,9 @@
 /*
  * 'cupsDoFileRequest()' - Do an IPP request with a file.
  *
- * This function sends the IPP request to the specified server, retrying
- * and authenticating as necessary.  The request is freed with @link ippDelete@
- * after receiving a valid IPP response.
+ * This function sends the IPP request and attached file to the specified
+ * server, retrying and authenticating as necessary.  The request is freed with
+ * @link ippDelete@.
  */
 
 ipp_t *                                        /* O - Response data */
@@ -102,17 +102,17 @@ cupsDoFileRequest(http_t     *http,       /* I - Connection to server or @code CUPS_HT
 /*
  * 'cupsDoIORequest()' - Do an IPP request with file descriptors.
  *
- * This function sends the IPP request to the specified server, retrying
- * and authenticating as necessary.  The request is freed with ippDelete()
- * after receiving a valid IPP response.
+ * This function sends the IPP request with the optional input file "infile" to
+ * the specified server, retrying and authenticating as necessary.  The request
+ * is freed with @link ippDelete@.
  *
- * If "infile" is a valid file descriptor, cupsDoIORequest() copies
+ * If "infile" is a valid file descriptor, @code cupsDoIORequest@ copies
  * all of the data from the file after the IPP request message.
  *
- * If "outfile" is a valid file descriptor, cupsDoIORequest() copies
+ * If "outfile" is a valid file descriptor, @code cupsDoIORequest@ copies
  * all of the data after the IPP response message to the file.
  *
- * @since CUPS 1.3/Mac OS X 10.5@
+ * @since CUPS 1.3/OS X 10.5@
  */
 
 ipp_t *                                        /* O - Response data */
@@ -309,8 +309,7 @@ cupsDoIORequest(http_t     *http,   /* I - Connection to server or @code CUPS_HTTP
  * 'cupsDoRequest()' - Do an IPP request.
  *
  * This function sends the IPP request to the specified server, retrying
- * and authenticating as necessary.  The request is freed with ippDelete()
- * after receiving a valid IPP response.
+ * and authenticating as necessary.  The request is freed with @link ippDelete@.
  */
 
 ipp_t *                                        /* O - Response data */
@@ -331,11 +330,11 @@ cupsDoRequest(http_t     *http,           /* I - Connection to server or @code CUPS_HTTP_
  * 'cupsGetResponse()' - Get a response to an IPP request.
  *
  * Use this function to get the response for an IPP request sent using
- * cupsSendDocument() or cupsSendRequest(). For requests that return
- * additional data, use httpRead() after getting a successful response,
- * otherwise call httpFlush() to complete the response processing.
+ * @link cupsSendRequest@. For requests that return additional data, use
+ * @link cupsReadResponseData@ after getting a successful response,
+ * otherwise call @link httpFlush@ to complete the response processing.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 ipp_t *                                        /* O - Response or @code NULL@ on HTTP error */
@@ -415,9 +414,8 @@ cupsGetResponse(http_t     *http,   /* I - Connection to server or @code CUPS_HTTP
       ippDelete(response);
       response = NULL;
 
-      _cupsSetError(IPP_SERVICE_UNAVAILABLE, NULL, 0);
       http->status = status = HTTP_ERROR;
-      http->error  = EIO;
+      http->error  = EINVAL;
     }
   }
   else if (status != HTTP_ERROR)
@@ -476,17 +474,14 @@ cupsGetResponse(http_t     *http, /* I - Connection to server or @code CUPS_HTTP
                   attr ? attr->values[0].string.text :
                      ippErrorString(response->request.status.status_code), 0);
   }
-  else if (status == HTTP_ERROR)
-    _cupsSetError(IPP_INTERNAL_ERROR, strerror(http->error), 0);
-  else if (status != HTTP_OK)
-    _cupsSetHTTPError(status);
 
   return (response);
 }
 
 
 /*
- * 'cupsLastError()' - Return the last IPP status code.
+ * 'cupsLastError()' - Return the last IPP status code received on the current
+ *                     thread.
  */
 
 ipp_status_t                           /* O - IPP status code from last request */
@@ -497,9 +492,10 @@ cupsLastError(void)
 
 
 /*
- * 'cupsLastErrorString()' - Return the last IPP status-message.
+ * 'cupsLastErrorString()' - Return the last IPP status-message received on the
+ *                           current thread.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 const char *                           /* O - status-message text from last request */
@@ -542,10 +538,11 @@ _cupsNextDelay(int current,               /* I  - Current delay value or 0 */
 /*
  * 'cupsReadResponseData()' - Read additional data after the IPP response.
  *
- * This function is used after cupsGetResponse() to read the PPD or document
- * files for CUPS_GET_PPD and CUPS_GET_DOCUMENT requests, respectively.
+ * This function is used after @link cupsGetResponse@ to read the PPD or document
+ * files from @code CUPS_GET_PPD@ and @code CUPS_GET_DOCUMENT@ requests,
+ * respectively.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 ssize_t                                        /* O - Bytes read, 0 on EOF, -1 on error */
@@ -584,15 +581,19 @@ cupsReadResponseData(
 /*
  * 'cupsSendRequest()' - Send an IPP request.
  *
- * Use httpWrite() to write any additional data (document, PPD file, etc.)
- * for the request, cupsGetResponse() to get the IPP response, and httpRead()
- * to read any additional data following the response. Only one request can be
- * sent/queued at a time.
+ * Use @link cupsWriteRequestData@ to write any additional data (document, PPD
+ * file, etc.) for the request, @link cupsGetResponse@ to get the IPP response,
+ * and @link cupsReadResponseData@ to read any additional data following the
+ * response. Only one request can be sent/queued at a time per @code http_t@
+ * connection.
  *
- * Unlike cupsDoFileRequest(), cupsDoIORequest(), and cupsDoRequest(), the
- * request is not freed.
+ * Returns the initial HTTP status code, which will be @code HTTP_CONTINUE@
+ * on a successful send of the request.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * Note: Unlike @link cupsDoFileRequest@, @link cupsDoIORequest@, and
+ * @link cupsDoRequest@, the request is NOT freed with @link ippDelete@.
+ *
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 http_status_t                          /* O - Initial HTTP status */
@@ -643,11 +644,10 @@ cupsSendRequest(http_t     *http, /* I - Connection to server or @code CUPS_HTTP
   }
   else if (http->state != HTTP_WAITING)
   {
-    DEBUG_printf(("1cupsSendRequest: Unknown HTTP state (%d), bailing.",
-                  http->state));
-    _cupsSetError(IPP_INTERNAL_ERROR, strerror(EINVAL), 0);
-
-    return (HTTP_ERROR);
+    DEBUG_printf(("1cupsSendRequest: Unknown HTTP state (%d), "
+                  "reconnecting.", http->state));
+    if (httpReconnect(http))
+      return (HTTP_ERROR);
   }
 
 #ifdef HAVE_SSL
@@ -885,7 +885,7 @@ cupsSendRequest(http_t     *http,   /* I - Connection to server or @code CUPS_HTTP
  * This function is used after @link cupsSendRequest@ to provide a PPD and
  * after @link cupsStartDocument@ to provide a document file.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 http_status_t                          /* O - @code HTTP_CONTINUE@ if OK or HTTP status on error */
@@ -1004,6 +1004,31 @@ _cupsConnect(void)
       httpClose(cg->http);
       cg->http = NULL;
     }
+    else
+    {
+     /*
+      * Same server, see if the connection is still established...
+      */
+
+      char     ch;                     /* Connection check byte */
+      ssize_t  n;                      /* Number of bytes */
+
+#ifdef WIN32
+      if ((n = recv(cg->http->fd, &ch, 1, MSG_PEEK)) == 0 ||
+          (n < 0 && WSAGetLastError() != WSAEWOULDBLOCK))
+#else
+      if ((n = recv(cg->http->fd, &ch, 1, MSG_PEEK | MSG_DONTWAIT)) == 0 ||
+          (n < 0 && errno != EWOULDBLOCK))
+#endif /* WIN32 */
+      {
+       /*
+        * Nope, close the connection...
+        */
+
+       httpClose(cg->http);
+       cg->http = NULL;
+      }
+    }
   }
 
  /*
@@ -1145,5 +1170,5 @@ _cupsSetHTTPError(http_status_t status)   /* I - HTTP status code */
 
 
 /*
- * End of "$Id: request.c 10015 2011-09-21 22:09:29Z mike $".
+ * End of "$Id: request.c 11176 2013-07-23 13:24:57Z msweet $".
  */
index 35940ea..169d721 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: sidechannel.c 9578 2011-03-04 18:44:47Z mike $"
+ * "$Id: sidechannel.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Side-channel API code for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -29,8 +29,7 @@
  */
 
 #include "sidechannel.h"
-#include "string-private.h"
-#include "debug-private.h"
+#include "cups-private.h"
 #ifdef WIN32
 #  include <io.h>
 #else
 #  include <sys/time.h>
 #endif /* !WIN32 */
 #ifdef HAVE_POLL
-#  include <sys/poll.h>
+#  include <poll.h>
 #endif /* HAVE_POLL */
 
 
 /*
+ * Buffer size for side-channel requests...
+ */
+
+#define _CUPS_SC_MAX_DATA      65535
+#define _CUPS_SC_MAX_BUFFER    65540
+
+
+/*
  * 'cupsSideChannelDoRequest()' - Send a side-channel command to a backend and wait for a response.
  *
  * This function is normally only called by filters, drivers, or port
@@ -62,7 +69,7 @@
  * pointed to by the "data" parameter.  cupsSideChannelDoRequest() will
  * update the value to contain the number of data bytes in the buffer.
  *
- * @since CUPS 1.3/Mac OS X 10.5@
+ * @since CUPS 1.3/OS X 10.5@
  */
 
 cups_sc_status_t                       /* O  - Status of command */
@@ -101,7 +108,7 @@ cupsSideChannelDoRequest(
  * pointed to by the "data" parameter.  cupsSideChannelDoRequest() will
  * update the value to contain the number of data bytes in the buffer.
  *
- * @since CUPS 1.3/Mac OS X 10.5@
+ * @since CUPS 1.3/OS X 10.5@
  */
 
 int                                    /* O - 0 on success, -1 on error */
@@ -112,7 +119,7 @@ cupsSideChannelRead(
     int               *datalen,                /* IO - Size of data buffer on entry, number of bytes in buffer on return */
     double            timeout)         /* I  - Timeout in seconds */
 {
-  char         buffer[16388];          /* Message buffer */
+  char         *buffer;                /* Message buffer */
   int          bytes;                  /* Bytes read */
   int          templen;                /* Data length from message */
   int          nfds;                   /* Number of file descriptors */
@@ -143,7 +150,7 @@ cupsSideChannelRead(
   pfd.fd     = CUPS_SC_FD;
   pfd.events = POLLIN;
 
-  while ((nfds = poll(&pfd, 1, 
+  while ((nfds = poll(&pfd, 1,
                      timeout < 0.0 ? -1 : (long)(timeout * 1000))) < 0 &&
         (errno == EINTR || errno == EAGAIN))
     ;
@@ -155,16 +162,17 @@ cupsSideChannelRead(
   stimeout.tv_sec  = (int)timeout;
   stimeout.tv_usec = (int)(timeout * 1000000) % 1000000;
 
-  while ((nfds = select(CUPS_SC_FD + 1, &input_set, NULL, NULL, 
+  while ((nfds = select(CUPS_SC_FD + 1, &input_set, NULL, NULL,
                        timeout < 0.0 ? NULL : &stimeout)) < 0 &&
         (errno == EINTR || errno == EAGAIN))
     ;
 
 #endif /* HAVE_POLL */
 
-  if  (nfds < 1)
+  if (nfds < 1)
   {
-    *status = nfds==0 ? CUPS_SC_STATUS_TIMEOUT : CUPS_SC_STATUS_IO_ERROR;
+    *command = CUPS_SC_CMD_NONE;
+    *status  = nfds==0 ? CUPS_SC_STATUS_TIMEOUT : CUPS_SC_STATUS_IO_ERROR;
     return (-1);
   }
 
@@ -175,16 +183,28 @@ cupsSideChannelRead(
   * -------  -------------------------------------------
   * 0        Command code
   * 1        Status code
-  * 2-3      Data length (network byte order) <= 16384
+  * 2-3      Data length (network byte order)
   * 4-N      Data
   */
 
-  while ((bytes = read(CUPS_SC_FD, buffer, sizeof(buffer))) < 0)
+  if ((buffer = _cupsBufferGet(_CUPS_SC_MAX_BUFFER)) == NULL)
+  {
+    *command = CUPS_SC_CMD_NONE;
+    *status  = CUPS_SC_STATUS_TOO_BIG;
+
+    return (-1);
+  }
+
+  while ((bytes = read(CUPS_SC_FD, buffer, _CUPS_SC_MAX_BUFFER)) < 0)
     if (errno != EINTR && errno != EAGAIN)
     {
       DEBUG_printf(("1cupsSideChannelRead: Read error: %s", strerror(errno)));
+
+      _cupsBufferRelease(buffer);
+
       *command = CUPS_SC_CMD_NONE;
       *status  = CUPS_SC_STATUS_IO_ERROR;
+
       return (-1);
     }
 
@@ -195,8 +215,12 @@ cupsSideChannelRead(
   if (bytes < 4)
   {
     DEBUG_printf(("1cupsSideChannelRead: Short read of %d bytes", bytes));
+
+    _cupsBufferRelease(buffer);
+
     *command = CUPS_SC_CMD_NONE;
     *status  = CUPS_SC_STATUS_BAD_MESSAGE;
+
     return (-1);
   }
 
@@ -208,8 +232,12 @@ cupsSideChannelRead(
       buffer[0] >= CUPS_SC_CMD_MAX)
   {
     DEBUG_printf(("1cupsSideChannelRead: Bad command %d!", buffer[0]));
+
+    _cupsBufferRelease(buffer);
+
     *command = CUPS_SC_CMD_NONE;
     *status  = CUPS_SC_STATUS_BAD_MESSAGE;
+
     return (-1);
   }
 
@@ -252,6 +280,8 @@ cupsSideChannelRead(
     memcpy(data, buffer + 4, templen);
   }
 
+  _cupsBufferRelease(buffer);
+
   DEBUG_printf(("1cupsSideChannelRead: Returning status=%d", *status));
 
   return (0);
@@ -278,7 +308,7 @@ cupsSideChannelRead(
  * support SNMP queries.  @code CUPS_SC_STATUS_NO_RESPONSE@ is returned when
  * the printer does not respond to the SNMP query.
  *
- * @since CUPS 1.4/Mac OS X 10.6@ 
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 cups_sc_status_t                       /* O  - Query status */
@@ -290,7 +320,7 @@ cupsSideChannelSNMPGet(
 {
   cups_sc_status_t     status;         /* Status of command */
   cups_sc_command_t    rcommand;       /* Response command */
-  char                 real_data[2048];/* Real data buffer for response */
+  char                 *real_data;     /* Real data buffer for response */
   int                  real_datalen,   /* Real length of data buffer */
                        real_oidlen;    /* Length of returned OID string */
 
@@ -316,12 +346,21 @@ cupsSideChannelSNMPGet(
                            (int)strlen(oid) + 1, timeout))
     return (CUPS_SC_STATUS_TIMEOUT);
 
-  real_datalen = sizeof(real_data);
+  if ((real_data = _cupsBufferGet(_CUPS_SC_MAX_BUFFER)) == NULL)
+    return (CUPS_SC_STATUS_TOO_BIG);
+
+  real_datalen = _CUPS_SC_MAX_BUFFER;
   if (cupsSideChannelRead(&rcommand, &status, real_data, &real_datalen, timeout))
+  {
+    _cupsBufferRelease(real_data);
     return (CUPS_SC_STATUS_TIMEOUT);
+  }
 
   if (rcommand != CUPS_SC_CMD_SNMP_GET)
+  {
+    _cupsBufferRelease(real_data);
     return (CUPS_SC_STATUS_BAD_MESSAGE);
+  }
 
   if (status == CUPS_SC_STATUS_OK)
   {
@@ -333,7 +372,10 @@ cupsSideChannelSNMPGet(
     real_datalen -= real_oidlen;
 
     if ((real_datalen + 1) > *datalen)
+    {
+      _cupsBufferRelease(real_data);
       return (CUPS_SC_STATUS_TOO_BIG);
+    }
 
     memcpy(data, real_data + real_oidlen, real_datalen);
     data[real_datalen] = '\0';
@@ -341,6 +383,8 @@ cupsSideChannelSNMPGet(
     *datalen = real_datalen;
   }
 
+  _cupsBufferRelease(real_data);
+
   return (status);
 }
 
@@ -370,7 +414,7 @@ cupsSideChannelSNMPGet(
  * support SNMP queries.  @code CUPS_SC_STATUS_NO_RESPONSE@ is returned when
  * the printer does not respond to the first SNMP query.
  *
- * @since CUPS 1.4/Mac OS X 10.6@ 
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 cups_sc_status_t                       /* O - Status of first query of @code CUPS_SC_STATUS_OK@ on success */
@@ -382,7 +426,7 @@ cupsSideChannelSNMPWalk(
 {
   cups_sc_status_t     status;         /* Status of command */
   cups_sc_command_t    rcommand;       /* Response command */
-  char                 real_data[2048];/* Real data buffer for response */
+  char                 *real_data;     /* Real data buffer for response */
   int                  real_datalen,   /* Real length of data buffer */
                        real_oidlen,    /* Length of returned OID string */
                        oidlen;         /* Length of first OID */
@@ -400,6 +444,9 @@ cupsSideChannelSNMPWalk(
   if (!oid || !*oid || !cb)
     return (CUPS_SC_STATUS_BAD_MESSAGE);
 
+  if ((real_data = _cupsBufferGet(_CUPS_SC_MAX_BUFFER)) == NULL)
+    return (CUPS_SC_STATUS_TOO_BIG);
+
  /*
   * Loop until the OIDs don't match...
   */
@@ -416,15 +463,24 @@ cupsSideChannelSNMPWalk(
 
     if (cupsSideChannelWrite(CUPS_SC_CMD_SNMP_GET_NEXT, CUPS_SC_STATUS_NONE,
                              current_oid, (int)strlen(current_oid) + 1, timeout))
+    {
+      _cupsBufferRelease(real_data);
       return (CUPS_SC_STATUS_TIMEOUT);
+    }
 
-    real_datalen = sizeof(real_data);
+    real_datalen = _CUPS_SC_MAX_BUFFER;
     if (cupsSideChannelRead(&rcommand, &status, real_data, &real_datalen,
                             timeout))
+    {
+      _cupsBufferRelease(real_data);
       return (CUPS_SC_STATUS_TIMEOUT);
+    }
 
     if (rcommand != CUPS_SC_CMD_SNMP_GET_NEXT)
+    {
+      _cupsBufferRelease(real_data);
       return (CUPS_SC_STATUS_BAD_MESSAGE);
+    }
 
     if (status == CUPS_SC_STATUS_OK)
     {
@@ -439,6 +495,7 @@ cupsSideChannelSNMPWalk(
         * Done with this set of OIDs...
        */
 
+       _cupsBufferRelease(real_data);
         return (CUPS_SC_STATUS_OK);
       }
 
@@ -452,7 +509,7 @@ cupsSideChannelSNMPWalk(
       * Call the callback with the OID and data...
       */
 
-      (*cb)(real_data, real_data + real_oidlen, real_datalen, context); 
+      (*cb)(real_data, real_data + real_oidlen, real_datalen, context);
 
      /*
       * Update the current OID...
@@ -464,6 +521,8 @@ cupsSideChannelSNMPWalk(
   }
   while (status == CUPS_SC_STATUS_OK);
 
+  _cupsBufferRelease(real_data);
+
   return (status);
 }
 
@@ -474,7 +533,7 @@ cupsSideChannelSNMPWalk(
  * This function is normally only called by backend programs to send
  * responses to a filter, driver, or port monitor program.
  *
- * @since CUPS 1.3/Mac OS X 10.5@
+ * @since CUPS 1.3/OS X 10.5@
  */
 
 int                                    /* O - 0 on success, -1 on error */
@@ -485,7 +544,7 @@ cupsSideChannelWrite(
     int               datalen,         /* I - Number of bytes of data */
     double            timeout)         /* I - Timeout in seconds */
 {
-  char         buffer[16388];          /* Message buffer */
+  char         *buffer;                /* Message buffer */
   int          bytes;                  /* Bytes written */
 #ifdef HAVE_POLL
   struct pollfd        pfd;                    /* Poll structure for poll() */
@@ -500,7 +559,7 @@ cupsSideChannelWrite(
   */
 
   if (command < CUPS_SC_CMD_SOFT_RESET || command >= CUPS_SC_CMD_MAX ||
-      datalen < 0 || datalen > 16384 || (datalen > 0 && !data))
+      datalen < 0 || datalen > _CUPS_SC_MAX_DATA || (datalen > 0 && !data))
     return (-1);
 
  /*
@@ -549,6 +608,9 @@ cupsSideChannelWrite(
   * 4-N      Data
   */
 
+  if ((buffer = _cupsBufferGet(datalen + 4)) == NULL)
+    return (-1);
+
   buffer[0] = command;
   buffer[1] = status;
   buffer[2] = datalen >> 8;
@@ -564,12 +626,17 @@ cupsSideChannelWrite(
 
   while (write(CUPS_SC_FD, buffer, bytes) < 0)
     if (errno != EINTR && errno != EAGAIN)
+    {
+      _cupsBufferRelease(buffer);
       return (-1);
+    }
+
+  _cupsBufferRelease(buffer);
 
   return (0);
 }
 
 
 /*
- * End of "$Id: sidechannel.c 9578 2011-03-04 18:44:47Z mike $".
+ * End of "$Id: sidechannel.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 94858c6..19494b2 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: sidechannel.h 9772 2011-05-12 05:46:30Z mike $"
+ * "$Id: sidechannel.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Side-channel API definitions for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -61,9 +61,9 @@ enum cups_sc_command_e                        /**** Request command codes ****/
   CUPS_SC_CMD_GET_BIDI = 3,            /* Return bidirectional capabilities */
   CUPS_SC_CMD_GET_DEVICE_ID = 4,       /* Return the IEEE-1284 device ID */
   CUPS_SC_CMD_GET_STATE = 5,           /* Return the device state */
-  CUPS_SC_CMD_SNMP_GET = 6,            /* Query an SNMP OID @since CUPS 1.4/Mac OS X 10.6@ */
-  CUPS_SC_CMD_SNMP_GET_NEXT = 7,       /* Query the next SNMP OID @since CUPS 1.4/Mac OS X 10.6@ */
-  CUPS_SC_CMD_GET_CONNECTED = 8,       /* Return whether the backend is "connected" to the printer @since CUPS 1.5/Mac OS X 10.7@ */
+  CUPS_SC_CMD_SNMP_GET = 6,            /* Query an SNMP OID @since CUPS 1.4/OS X 10.6@ */
+  CUPS_SC_CMD_SNMP_GET_NEXT = 7,       /* Query the next SNMP OID @since CUPS 1.4/OS X 10.6@ */
+  CUPS_SC_CMD_GET_CONNECTED = 8,       /* Return whether the backend is "connected" to the printer @since CUPS 1.5/OS X 10.7@ */
   CUPS_SC_CMD_MAX                      /* End of valid values @private@ */
 };
 typedef enum cups_sc_command_e cups_sc_command_t;
@@ -143,5 +143,5 @@ extern cups_sc_status_t     cupsSideChannelSNMPWalk(const char *oid, double timeout,
 #endif /* !_CUPS_SIDECHANNEL_H_ */
 
 /*
- * End of "$Id: sidechannel.h 9772 2011-05-12 05:46:30Z mike $".
+ * End of "$Id: sidechannel.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index 896b662..e0c3608 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: snmp-private.h 9042 2010-03-24 00:45:34Z mike $"
+ * "$Id: snmp-private.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Private SNMP definitions for CUPS.
  *
- *   Copyright 2007-2010 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 2006-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
  */
 
 #define CUPS_SNMP_PORT         161     /* SNMP well-known port */
+#define CUPS_SNMP_MAX_COMMUNITY        512     /* Maximum size of community name */
 #define CUPS_SNMP_MAX_OID      128     /* Maximum number of OID numbers */
 #define CUPS_SNMP_MAX_PACKET   1472    /* Maximum size of SNMP packet */
-#define CUPS_SNMP_MAX_STRING   512     /* Maximum size of string */
+#define CUPS_SNMP_MAX_STRING   1024    /* Maximum size of string */
 #define CUPS_SNMP_VERSION_1    0       /* SNMPv1 */
 
 
@@ -84,7 +85,7 @@ typedef struct cups_snmp_s            /**** SNMP data packet ****/
   const char   *error;                 /* Encode/decode error */
   http_addr_t  address;                /* Source address */
   int          version;                /* Version number */
-  char         community[CUPS_SNMP_MAX_STRING];
+  char         community[CUPS_SNMP_MAX_COMMUNITY];
                                        /* Community name */
   cups_asn1_t  request_type;           /* Request type */
   int          request_id;             /* request-id value */
@@ -141,5 +142,5 @@ extern int          _cupsSNMPWrite(int fd, http_addr_t *address, int version,
 
 
 /*
- * End of "$Id: snmp-private.h 9042 2010-03-24 00:45:34Z mike $".
+ * End of "$Id: snmp-private.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index 3f1a2a3..419bcfb 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: snmp.c 9793 2011-05-20 03:49:49Z mike $"
+ * "$Id: snmp.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   SNMP functions for CUPS.
  *
@@ -61,7 +61,7 @@
 #include "cups-private.h"
 #include "snmp-private.h"
 #ifdef HAVE_POLL
-#  include <sys/poll.h>
+#  include <poll.h>
 #endif /* HAVE_POLL */
 
 
@@ -1085,7 +1085,7 @@ asn1_decode_snmp(unsigned char *buffer,   /* I - Buffer */
                    packet->object_value.string.num_bytes = length;
                    asn1_get_string(&bufptr, bufend, length,
                                    (char *)packet->object_value.string.bytes,
-                                   CUPS_SNMP_MAX_STRING);
+                                   sizeof(packet->object_value.string.bytes));
                    break;
 
                case CUPS_ASN1_OID :
@@ -1733,5 +1733,5 @@ snmp_set_error(cups_snmp_t *packet,       /* I - Packet */
 
 
 /*
- * End of "$Id: snmp.c 9793 2011-05-20 03:49:49Z mike $".
+ * End of "$Id: snmp.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 75e92cd..4e4d91f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: snprintf.c 9042 2010-03-24 00:45:34Z mike $"
+ * "$Id: snprintf.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   snprintf functions for CUPS.
  *
@@ -357,6 +357,6 @@ _cups_snprintf(char       *buffer,  /* O - Output buffer */
 
 
 /*
- * End of "$Id: snprintf.c 9042 2010-03-24 00:45:34Z mike $".
+ * End of "$Id: snprintf.c 11173 2013-07-23 12:31:34Z msweet $".
  */
 
index 3ad3a01..97e9654 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: sspi.c 9771 2011-05-12 05:21:56Z mike $"
+ * "$Id: sspi.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Windows SSPI SSL implementation for CUPS.
  *
@@ -1481,5 +1481,5 @@ cleanup:
 
 
 /*
- * End of "$Id: sspi.c 9771 2011-05-12 05:21:56Z mike $".
+ * End of "$Id: sspi.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 7600357..c0bded3 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: string-private.h 9793 2011-05-20 03:49:49Z mike $"
+ * "$Id: string-private.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Private string definitions for CUPS.
  *
@@ -155,10 +155,7 @@ extern size_t _cups_strlcpy(char *, const char *, size_t);
 
 #  ifndef HAVE_SNPRINTF
 extern int     _cups_snprintf(char *, size_t, const char *, ...)
-#    ifdef __GNUC__
-__attribute__ ((__format__ (__printf__, 3, 4)))
-#    endif /* __GNUC__ */
-;
+               __attribute__ ((__format__ (__printf__, 3, 4)));
 #    define snprintf _cups_snprintf
 #  endif /* !HAVE_SNPRINTF */
 
@@ -199,5 +196,5 @@ extern double       _cupsStrScand(const char *buf, char **bufptr,
 #endif /* !_CUPS_STRING_H_ */
 
 /*
- * End of "$Id: string-private.h 9793 2011-05-20 03:49:49Z mike $".
+ * End of "$Id: string-private.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index 01bfbe3..8575424 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: string.c 9793 2011-05-20 03:49:49Z mike $"
+ * "$Id: string.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   String functions for CUPS.
  *
@@ -755,5 +755,5 @@ compare_sp_items(_cups_sp_item_t *a,        /* I - First item */
 
 
 /*
- * End of "$Id: string.c 9793 2011-05-20 03:49:49Z mike $".
+ * End of "$Id: string.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index fe46a7a..e992f40 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: tempfile.c 9042 2010-03-24 00:45:34Z mike $"
+ * "$Id: tempfile.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Temp file utilities for CUPS.
  *
- *   Copyright 2007-2010 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -204,7 +204,7 @@ cupsTempFile(char *filename,                /* I - Pointer to buffer */
  * The temporary filename is returned in the filename buffer.
  * The temporary file is opened for writing.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 cups_file_t *                          /* O - CUPS file or @code NULL@ on error */
@@ -229,5 +229,5 @@ cupsTempFile2(char *filename,               /* I - Pointer to buffer */
 
 
 /*
- * End of "$Id: tempfile.c 9042 2010-03-24 00:45:34Z mike $".
+ * End of "$Id: tempfile.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index b5de344..fc453a6 100644 (file)
@@ -1,6 +1,6 @@
 *PPD-Adobe: "4.3"
 *%
-*% "$Id: test.ppd 9314 2010-09-24 02:36:17Z mike $"
+*% "$Id: test.ppd 7819 2008-08-01 00:27:24Z mike $"
 *%
 *% Test PPD file for CUPS.
 *%
@@ -258,5 +258,5 @@ help:anchor='foo'%20bookID=Vendor%20Help
 *Font ZapfChancery-MediumItalic: Standard "(001.007S)" Standard ROM
 *Font ZapfDingbats: Special "(001.004S)" Standard ROM
 *%
-*% End of "$Id: test.ppd 9314 2010-09-24 02:36:17Z mike $".
+*% End of "$Id: test.ppd 7819 2008-08-01 00:27:24Z mike $".
 *%
index 3f19bc3..353afb6 100644 (file)
@@ -1,6 +1,6 @@
 *PPD-Adobe: "4.3"
 *%
-*% "$Id: test2.ppd 9771 2011-05-12 05:21:56Z mike $"
+*% "$Id: test2.ppd 7791 2008-07-24 00:55:30Z mike $"
 *%
 *% Test PPD file #2 for CUPS.
 *%
@@ -248,5 +248,5 @@ help:anchor='foo'%20bookID=Vendor%20Help
 *Font ZapfChancery-MediumItalic: Standard "(001.007S)" Standard ROM
 *Font ZapfDingbats: Special "(001.004S)" Standard ROM
 *%
-*% End of "$Id: test2.ppd 9771 2011-05-12 05:21:56Z mike $".
+*% End of "$Id: test2.ppd 7791 2008-07-24 00:55:30Z mike $".
 *%
index c6946d4..fac7528 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: testadmin.c 9042 2010-03-24 00:45:34Z mike $"
+ * "$Id: testadmin.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Admin function test program for CUPS.
  *
@@ -116,5 +116,5 @@ show_settings(
 
 
 /*
- * End of "$Id: testadmin.c 9042 2010-03-24 00:45:34Z mike $".
+ * End of "$Id: testadmin.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 31d227c..a73da61 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: testarray.c 9099 2010-04-11 07:16:05Z mike $"
+ * "$Id: testarray.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Array test program for CUPS.
  *
@@ -476,5 +476,5 @@ load_words(const char   *filename,  /* I - File to load */
 
 
 /*
- * End of "$Id: testarray.c 9099 2010-04-11 07:16:05Z mike $".
+ * End of "$Id: testarray.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index ec0ea1c..9b21356 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: testconflicts.c 10379 2012-03-23 22:16:22Z mike $"
+ * "$Id: testconflicts.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   PPD constraint test program for CUPS.
  *
@@ -134,5 +134,5 @@ main(int  argc,                             /* I - Number of command-line arguments */
 
 
 /*
- * End of "$Id: testconflicts.c 10379 2012-03-23 22:16:22Z mike $".
+ * End of "$Id: testconflicts.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index c6cf134..e151f4a 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: testcups.c 9979 2011-09-09 16:34:29Z mike $"
+ * "$Id: testcups.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   CUPS API test program for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -35,6 +35,7 @@
  */
 
 static int     dests_equal(cups_dest_t *a, cups_dest_t *b);
+static int     enum_cb(void *user_data, unsigned flags, cups_dest_t *dest);
 static void    show_diffs(cups_dest_t *a, cups_dest_t *b);
 
 
@@ -60,66 +61,192 @@ main(int  argc,                            /* I - Number of command-line arguments */
 
   if (argc > 1)
   {
-   /*
-    * ./testcups printer file interval
-    */
-
-    int                interval,               /* Interval between writes */
-               job_id;                 /* Job ID */
-    cups_file_t        *fp;                    /* Print file */
-    char       buffer[16384];          /* Read/write buffer */
-    ssize_t    bytes;                  /* Bytes read/written */
-
-
-    if (argc != 4)
+    if (!strcmp(argv[1], "enum"))
     {
-      puts("Usage: ./testcups");
-      puts("       ./testcups printer file interval");
-      return (1);
+      cups_ptype_t     mask = CUPS_PRINTER_LOCAL,
+                                       /* Printer type mask */
+                       type = CUPS_PRINTER_LOCAL;
+                                       /* Printer type */
+      int              msec = 0;       /* Timeout in milliseconds */
+
+
+      for (i = 2; i < argc; i ++)
+        if (isdigit(argv[i][0] & 255) || argv[i][0] == '.')
+          msec = (int)(atof(argv[i]) * 1000);
+        else if (!_cups_strcasecmp(argv[i], "bw"))
+        {
+          mask |= CUPS_PRINTER_BW;
+          type |= CUPS_PRINTER_BW;
+        }
+        else if (!_cups_strcasecmp(argv[i], "color"))
+        {
+          mask |= CUPS_PRINTER_COLOR;
+          type |= CUPS_PRINTER_COLOR;
+        }
+        else if (!_cups_strcasecmp(argv[i], "mono"))
+        {
+          mask |= CUPS_PRINTER_COLOR;
+        }
+        else if (!_cups_strcasecmp(argv[i], "duplex"))
+        {
+          mask |= CUPS_PRINTER_DUPLEX;
+          type |= CUPS_PRINTER_DUPLEX;
+        }
+        else if (!_cups_strcasecmp(argv[i], "simplex"))
+        {
+          mask |= CUPS_PRINTER_DUPLEX;
+        }
+        else if (!_cups_strcasecmp(argv[i], "staple"))
+        {
+          mask |= CUPS_PRINTER_STAPLE;
+          type |= CUPS_PRINTER_STAPLE;
+        }
+        else if (!_cups_strcasecmp(argv[i], "copies"))
+        {
+          mask |= CUPS_PRINTER_COPIES;
+          type |= CUPS_PRINTER_COPIES;
+        }
+        else if (!_cups_strcasecmp(argv[i], "collate"))
+        {
+          mask |= CUPS_PRINTER_COLLATE;
+          type |= CUPS_PRINTER_COLLATE;
+        }
+        else if (!_cups_strcasecmp(argv[i], "punch"))
+        {
+          mask |= CUPS_PRINTER_PUNCH;
+          type |= CUPS_PRINTER_PUNCH;
+        }
+        else if (!_cups_strcasecmp(argv[i], "cover"))
+        {
+          mask |= CUPS_PRINTER_COVER;
+          type |= CUPS_PRINTER_COVER;
+        }
+        else if (!_cups_strcasecmp(argv[i], "bind"))
+        {
+          mask |= CUPS_PRINTER_BIND;
+          type |= CUPS_PRINTER_BIND;
+        }
+        else if (!_cups_strcasecmp(argv[i], "sort"))
+        {
+          mask |= CUPS_PRINTER_SORT;
+          type |= CUPS_PRINTER_SORT;
+        }
+        else if (!_cups_strcasecmp(argv[i], "mfp"))
+        {
+          mask |= CUPS_PRINTER_MFP;
+          type |= CUPS_PRINTER_MFP;
+        }
+        else if (!_cups_strcasecmp(argv[i], "printer"))
+        {
+          mask |= CUPS_PRINTER_MFP;
+        }
+        else if (!_cups_strcasecmp(argv[i], "large"))
+        {
+          mask |= CUPS_PRINTER_LARGE;
+          type |= CUPS_PRINTER_LARGE;
+        }
+        else if (!_cups_strcasecmp(argv[i], "medium"))
+        {
+          mask |= CUPS_PRINTER_MEDIUM;
+          type |= CUPS_PRINTER_MEDIUM;
+        }
+        else if (!_cups_strcasecmp(argv[i], "small"))
+        {
+          mask |= CUPS_PRINTER_SMALL;
+          type |= CUPS_PRINTER_SMALL;
+        }
+        else
+          fprintf(stderr, "Unknown argument \"%s\" ignored...\n", argv[i]);
+
+      cupsEnumDests(CUPS_DEST_FLAGS_NONE, msec, NULL, type, mask, enum_cb, NULL);
     }
-
-    if ((fp = cupsFileOpen(argv[2], "r")) == NULL)
+    else if (!strcmp(argv[1], "password"))
     {
-      printf("Unable to open \"%s\": %s\n", argv[2], strerror(errno));
-      return (1);
-    }
+      const char *pass = cupsGetPassword("Password:");
+                                         /* Password string */
 
-    if ((job_id = cupsCreateJob(CUPS_HTTP_DEFAULT, argv[1], "testcups", 0,
-                                NULL)) <= 0)
-    {
-      printf("Unable to create print job on %s: %s\n", argv[1],
-             cupsLastErrorString());
-      return (1);
+      if (pass)
+       printf("Password entered: %s\n", pass);
+      else
+       puts("No password entered.");
     }
+    else if (!strcmp(argv[1], "print") && argc == 5)
+    {
+     /*
+      * ./testcups printer file interval
+      */
 
-    interval = atoi(argv[3]);
+      int              interval,       /* Interval between writes */
+                       job_id;         /* Job ID */
+      cups_file_t      *fp;            /* Print file */
+      char             buffer[16384];  /* Read/write buffer */
+      ssize_t          bytes;          /* Bytes read/written */
 
-    if (cupsStartDocument(CUPS_HTTP_DEFAULT, argv[1], job_id, argv[2],
-                          CUPS_FORMAT_AUTO, 1) != HTTP_CONTINUE)
-    {
-      puts("Unable to start document!");
-      return (1);
-    }
+      if ((fp = cupsFileOpen(argv[3], "r")) == NULL)
+      {
+       printf("Unable to open \"%s\": %s\n", argv[2], strerror(errno));
+       return (1);
+      }
 
-    while ((bytes = cupsFileRead(fp, buffer, sizeof(buffer))) > 0)
-    {
-      printf("Writing %d bytes...\n", (int)bytes);
+      if ((job_id = cupsCreateJob(CUPS_HTTP_DEFAULT, argv[2], "testcups", 0,
+                                 NULL)) <= 0)
+      {
+       printf("Unable to create print job on %s: %s\n", argv[1],
+              cupsLastErrorString());
+       return (1);
+      }
+
+      interval = atoi(argv[4]);
 
-      if (cupsWriteRequestData(CUPS_HTTP_DEFAULT, buffer,
-                              bytes) != HTTP_CONTINUE)
+      if (cupsStartDocument(CUPS_HTTP_DEFAULT, argv[1], job_id, argv[2],
+                           CUPS_FORMAT_AUTO, 1) != HTTP_CONTINUE)
       {
-        puts("Unable to write bytes!");
+       puts("Unable to start document!");
        return (1);
       }
 
-      sleep(interval);
-    }
+      while ((bytes = cupsFileRead(fp, buffer, sizeof(buffer))) > 0)
+      {
+       printf("Writing %d bytes...\n", (int)bytes);
+
+       if (cupsWriteRequestData(CUPS_HTTP_DEFAULT, buffer,
+                                bytes) != HTTP_CONTINUE)
+       {
+         puts("Unable to write bytes!");
+         return (1);
+       }
+
+        if (interval > 0)
+         sleep(interval);
+      }
 
-    cupsFileClose(fp);
+      cupsFileClose(fp);
 
-    if (cupsFinishDocument(CUPS_HTTP_DEFAULT, argv[1]) > IPP_OK_SUBST)
+      if (cupsFinishDocument(CUPS_HTTP_DEFAULT, argv[1]) > IPP_OK_SUBST)
+      {
+       puts("Unable to finish document!");
+       return (1);
+      }
+    }
+    else
     {
-      puts("Unable to finish document!");
+      puts("Usage:");
+      puts("");
+      puts("Run basic unit tests:");
+      puts("");
+      puts("    ./testcups");
+      puts("");
+      puts("Enumerate printers (for N seconds, -1 for indefinitely):");
+      puts("");
+      puts("    ./testcups enum [seconds]");
+      puts("");
+      puts("Ask for a password:");
+      puts("");
+      puts("    ./testcups password");
+      puts("");
+      puts("Print a file (interval controls delay between buffers in seconds):");
+      puts("");
+      puts("    ./testcups print printer file interval");
       return (1);
     }
 
@@ -370,6 +497,33 @@ dests_equal(cups_dest_t *a,                /* I - First destination */
 
 
 /*
+ * 'enum_cb()' - Report additions and removals.
+ */
+
+static int                             /* O - 1 to continue, 0 to stop */
+enum_cb(void        *user_data,                /* I - User data (unused) */
+        unsigned    flags,             /* I - Destination flags */
+        cups_dest_t *dest)             /* I - Destination */
+{
+  int          i;                      /* Looping var */
+  cups_option_t        *option;                /* Current option */
+
+
+  if (flags & CUPS_DEST_FLAGS_REMOVED)
+    printf("Removed '%s':\n", dest->name);
+  else
+    printf("Added '%s':\n", dest->name);
+
+  for (i = dest->num_options, option = dest->options; i > 0; i --, option ++)
+    printf("    %s=\"%s\"\n", option->name, option->value);
+
+  putchar('\n');
+
+  return (1);
+}
+
+
+/*
  * 'show_diffs()' - Show differences between two destinations.
  */
 
@@ -412,5 +566,5 @@ show_diffs(cups_dest_t *a,          /* I - First destination */
 
 
 /*
- * End of "$Id: testcups.c 9979 2011-09-09 16:34:29Z mike $".
+ * End of "$Id: testcups.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index d92f2e6..207e410 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: testfile.c 9793 2011-05-20 03:49:49Z mike $"
+ * "$Id: testfile.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   File test program for CUPS.
  *
@@ -133,9 +133,9 @@ main(int  argc,                             /* I - Number of command-line arguments */
     * Count lines in psglyphs, rewind, then count again.
     */
 
-    fputs("\ncupsFileOpen(\"../data/psglyphs\", \"r\"): ", stdout);
+    fputs("\ncupsFileOpen(\"../data/media.defs\", \"r\"): ", stdout);
 
-    if ((fp = cupsFileOpen("../data/psglyphs", "r")) == NULL)
+    if ((fp = cupsFileOpen("../data/media.defs", "r")) == NULL)
     {
       puts("FAIL");
       status ++;
@@ -145,9 +145,9 @@ main(int  argc,                             /* I - Number of command-line arguments */
       puts("PASS");
       fputs("cupsFileGets: ", stdout);
 
-      if ((count = count_lines(fp)) != 1051)
+      if ((count = count_lines(fp)) != 208)
       {
-        printf("FAIL (got %d lines, expected 1051)\n", count);
+        printf("FAIL (got %d lines, expected 208)\n", count);
        status ++;
       }
       else
@@ -165,9 +165,9 @@ main(int  argc,                             /* I - Number of command-line arguments */
          puts("PASS");
          fputs("cupsFileGets: ", stdout);
 
-         if ((count = count_lines(fp)) != 1051)
+         if ((count = count_lines(fp)) != 208)
          {
-           printf("FAIL (got %d lines, expected 1051)\n", count);
+           printf("FAIL (got %d lines, expected 208)\n", count);
            status ++;
          }
          else
@@ -817,5 +817,5 @@ read_write_tests(int compression)   /* I - Use compression? */
 
 
 /*
- * End of "$Id: testfile.c 9793 2011-05-20 03:49:49Z mike $".
+ * End of "$Id: testfile.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 64b5580..c93a28a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: testhttp.c 9993 2011-09-09 21:55:11Z mike $"
+ * "$Id: testhttp.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   HTTP test program for CUPS.
  *
@@ -131,6 +131,8 @@ static uri_test_t   uri_tests[] =   /* URI test data */
                            "http", "", "", "", 80, 0 },
                          { HTTP_URI_BAD_HOSTNAME, "http://serve%7/index.html",
                            "http", "", "", "", 80, 0 },
+                         { HTTP_URI_BAD_HOSTNAME, "http://server with spaces/index.html",
+                           "http", "", "", "", 80, 0 },
 
                          /* Bad port number */
                          { HTTP_URI_BAD_PORT, "http://127.0.0.1:9999a/index.html",
@@ -138,7 +140,9 @@ static uri_test_t   uri_tests[] =   /* URI test data */
 
                          /* Bad resource */
                          { HTTP_URI_BAD_RESOURCE, "http://server/index.html%",
-                           "http", "", "server", "", 80, 0 }
+                           "http", "", "server", "", 80, 0 },
+                         { HTTP_URI_BAD_RESOURCE, "http://server/index with spaces.html",
+                           "http", "", "server", "", 80, 0 }
                        };
 static const char * const base64_tests[][2] =
                        {
@@ -596,5 +600,5 @@ main(int  argc,                             /* I - Number of command-line arguments */
 
 
 /*
- * End of "$Id: testhttp.c 9993 2011-09-09 21:55:11Z mike $".
+ * End of "$Id: testhttp.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index fc056e0..0fa0bcc 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: testi18n.c 9793 2011-05-20 03:49:49Z mike $"
+ * "$Id: testi18n.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Internationalization test for CUPS.
  *
@@ -615,5 +615,5 @@ print_utf8(const char            *msg,      /* I - Message String */
 
 
 /*
- * End of "$Id: testi18n.c 9793 2011-05-20 03:49:49Z mike $"
+ * End of "$Id: testi18n.c 11173 2013-07-23 12:31:34Z msweet $"
  */
index 92b0e14..d9d7bee 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: testipp.c 9999 2011-09-14 00:31:10Z mike $"
+ * "$Id: testipp.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   IPP test program for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2005 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -758,7 +758,7 @@ print_attributes(ipp_t *ipp,                /* I - IPP request */
   int                  i;              /* Looping var */
   ipp_tag_t            group;          /* Current group */
   ipp_attribute_t      *attr;          /* Current attribute */
-  ipp_value_t          *val;           /* Current value */
+  _ipp_value_t         *val;           /* Current value */
   static const char * const tags[] =   /* Value/group tag strings */
                        {
                          "reserved-00",
@@ -901,7 +901,7 @@ print_attributes(ipp_t *ipp,                /* I - IPP request */
       case IPP_TAG_RESOLUTION :
           for (i = 0, val = attr->values; i < attr->num_values; i ++, val ++)
            printf(" %dx%d%s", val->resolution.xres, val->resolution.yres,
-                  val->resolution.units == IPP_RES_PER_INCH ? "dpi" : "dpc");
+                  val->resolution.units == IPP_RES_PER_INCH ? "dpi" : "dpcm");
           putchar('\n');
           break;
 
@@ -1001,5 +1001,5 @@ write_cb(_ippdata_t   *data,              /* I - Data */
 
 
 /*
- * End of "$Id: testipp.c 9999 2011-09-14 00:31:10Z mike $".
+ * End of "$Id: testipp.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 4e80e4f..0f8942f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: testlang.c 9042 2010-03-24 00:45:34Z mike $"
+ * "$Id: testlang.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Localization test program for CUPS.
  *
@@ -110,5 +110,5 @@ main(int  argc,                             /* I - Number of command-line arguments */
 
 
 /*
- * End of "$Id: testlang.c 9042 2010-03-24 00:45:34Z mike $".
+ * End of "$Id: testlang.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 424e00f..144f161 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: testoptions.c 9042 2010-03-24 00:45:34Z mike $"
+ * "$Id: testoptions.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Option test program for CUPS.
  *
@@ -112,5 +112,5 @@ main(int  argc,                             /* I - Number of command-line arguments */
 
 
 /*
- * End of "$Id: testoptions.c 9042 2010-03-24 00:45:34Z mike $".
+ * End of "$Id: testoptions.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 8c23664..d66be19 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: testppd.c 9793 2011-05-20 03:49:49Z mike $"
+ * "$Id: testppd.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   PPD test program for CUPS.
  *
@@ -178,7 +178,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
 
     fputs("ppdOpenFile(test.ppd): ", stdout);
 
-    if ((ppd = ppdOpenFile("test.ppd")) != NULL)
+    if ((ppd = _ppdOpenFile("test.ppd", _PPD_LOCALIZATION_ALL)) != NULL)
       puts("PASS");
     else
     {
@@ -471,6 +471,26 @@ main(int  argc,                            /* I - Number of command-line arguments */
       puts("PASS");
 
    /*
+    * Custom sizes...
+    */
+
+    fputs("cupsMarkOptions(media=Custom.8x10in): ", stdout);
+    num_options = cupsAddOption("media", "Custom.8x10in", 0, &options);
+    cupsMarkOptions(ppd, num_options, options);
+    cupsFreeOptions(num_options, options);
+
+    size = ppdPageSize(ppd, NULL);
+    if (!size || strcmp(size->name, "Custom") ||
+        size->width != 576 || size->length != 720)
+    {
+      printf("FAIL (%s - %gx%g)\n", size ? size->name : "unknown",
+             size ? size->width : 0.0, size ? size->length : 0.0);
+      status ++;
+    }
+    else
+      puts("PASS");
+
+   /*
     * Test localization...
     */
 
@@ -1078,5 +1098,5 @@ main(int  argc,                           /* I - Number of command-line arguments */
 
 
 /*
- * End of "$Id: testppd.c 9793 2011-05-20 03:49:49Z mike $".
+ * End of "$Id: testppd.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index b372306..9b6741e 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: testpwg.c 9793 2011-05-20 03:49:49Z mike $"
+ * "$Id: testpwg.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   PWG test program for CUPS.
  *
- *   Copyright 2009-2011 by Apple Inc.
+ *   Copyright 2009-2012 by Apple Inc.
  *
  *   These coded instructions, statements, and computer programs are the
  *   property of Apple Inc. and are protected by Federal copyright
@@ -260,6 +260,34 @@ main(int  argc,                            /* I - Number of command-line args */
   else
     puts("PASS");
 
+  fputs("_pwgMediaForSize(9842, 19050): ", stdout);
+  if ((pwgmedia = _pwgMediaForSize(9842, 19050)) == NULL)
+  {
+    puts("FAIL (not found)");
+    status ++;
+  }
+  else if (strcmp(pwgmedia->pwg, "na_monarch_3.875x7.5in"))
+  {
+    printf("FAIL (%s)\n", pwgmedia->pwg);
+    status ++;
+  }
+  else
+    printf("PASS (%s)\n", pwgmedia->pwg);
+
+  fputs("_pwgMediaForSize(9800, 19000): ", stdout);
+  if ((pwgmedia = _pwgMediaForSize(9800, 19000)) == NULL)
+  {
+    puts("FAIL (not found)");
+    status ++;
+  }
+  else if (strcmp(pwgmedia->pwg, "jpn_you6_98x190mm"))
+  {
+    printf("FAIL (%s)\n", pwgmedia->pwg);
+    status ++;
+  }
+  else
+    printf("PASS (%s)\n", pwgmedia->pwg);
+
   return (status);
 }
 
@@ -493,5 +521,5 @@ test_ppd_cache(_ppd_cache_t *pc,    /* I - PWG mapping data */
 
 
 /*
- * End of "$Id: testpwg.c 9793 2011-05-20 03:49:49Z mike $".
+ * End of "$Id: testpwg.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 14700fd..809584f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: testsnmp.c 9099 2010-04-11 07:16:05Z mike $"
+ * "$Id: testsnmp.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   SNMP test program for CUPS.
  *
@@ -36,7 +36,7 @@
 static void    print_packet(cups_snmp_t *packet, void *data);
 static int     show_oid(int fd, const char *community,
                         http_addr_t *addr, const char *s, int walk);
-static void    usage(void);
+static void    usage(void) __attribute__((noreturn));
 
 
 /*
@@ -119,7 +119,7 @@ main(int  argc,                             /* I - Number of command-line args */
                         ".1.3.6.1.2.1.43.10.2.1.4.1.1", walk))
       return (1);
   }
-  
+
   return (0);
 }
 
@@ -300,5 +300,5 @@ usage(void)
 
 
 /*
- * End of "$Id: testsnmp.c 9099 2010-04-11 07:16:05Z mike $".
+ * End of "$Id: testsnmp.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 5057879..8682222 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: thread-private.h 10436 2012-04-23 21:52:02Z mike $"
+ * "$Id: thread-private.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Private threading definitions for CUPS.
  *
@@ -94,5 +94,5 @@ extern int    _cupsThreadCreate(_cups_thread_func_t func, void *arg);
 #endif /* !_CUPS_THREAD_PRIVATE_H_ */
 
 /*
- * End of "$Id: thread-private.h 10436 2012-04-23 21:52:02Z mike $".
+ * End of "$Id: thread-private.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index 0907b4a..7f1ea21 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: thread.c 10436 2012-04-23 21:52:02Z mike $"
+ * "$Id: thread.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Threading primitives for CUPS.
  *
@@ -332,5 +332,5 @@ _cupsThreadCreate(
 
 
 /*
- * End of "$Id: thread.c 10436 2012-04-23 21:52:02Z mike $".
+ * End of "$Id: thread.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index effc7ec..2289220 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: transcode.c 9820 2011-06-10 22:06:26Z mike $"
+ * "$Id: transcode.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Transcoding support for CUPS.
  *
@@ -716,5 +716,5 @@ cupsUTF32ToUTF8(
 
 
 /*
- * End of "$Id: transcode.c 9820 2011-06-10 22:06:26Z mike $"
+ * End of "$Id: transcode.c 11173 2013-07-23 12:31:34Z msweet $"
  */
index e4a4252..7c7840e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: transcode.h 9771 2011-05-12 05:21:56Z mike $"
+ * "$Id: transcode.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Transcoding definitions for CUPS.
  *
@@ -77,5 +77,5 @@ extern int    cupsUTF32ToUTF8(cups_utf8_t *dest,
 
 
 /*
- * End of "$Id: transcode.h 9771 2011-05-12 05:21:56Z mike $"
+ * End of "$Id: transcode.h 11173 2013-07-23 12:31:34Z msweet $"
  */
index 706a402..73d47f5 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: usersys.c 9969 2011-09-07 22:32:14Z mike $"
+ * "$Id: usersys.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   User, system, and password routines for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2013 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
 #  include <windows.h>
 #else
 #  include <pwd.h>
+#  include <termios.h>
 #endif /* WIN32 */
 
 
 /*
+ * Local constants...
+ */
+
+#define _CUPS_PASSCHAR '*'             /* Character that is echoed for password */
+
+
+/*
  * Local functions...
  */
 
@@ -58,6 +66,7 @@ static void   cups_read_client_conf(cups_file_t *fp,
                                      _cups_globals_t *cg,
                                      const char *cups_encryption,
                                      const char *cups_server,
+                                     const char *cups_user,
 #ifdef HAVE_GSSAPI
                                       const char *cups_gssservicename,
 #endif /* HAVE_GSSAPI */
@@ -127,7 +136,7 @@ cupsGetPassword(const char *prompt) /* I - Prompt string */
  * the @link cupsSetPasswordCB@ or @link cupsSetPasswordCB2@ functions need to
  * do so in each thread for the same function to be used.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 const char *                           /* O - Password */
@@ -185,7 +194,7 @@ cupsServer(void)
  * in a program. Multi-threaded programs that override the callback need to do
  * so in each thread for the same callback to be used.
  *
- * @since CUPS 1.5/Mac OS X 10.7@
+ * @since CUPS 1.5/OS X 10.7@
  */
 
 void
@@ -209,7 +218,7 @@ cupsSetClientCertCB(
  * program. Multi-threaded programs that override the setting need to do so in
  * each thread for the same setting to be used.
  *
- * @since CUPS 1.5/Mac OS X 10.7@
+ * @since CUPS 1.5/OS X 10.7@
  */
 
 int                                    /* O - Status of call (0 = success) */
@@ -295,7 +304,7 @@ cupsSetPasswordCB(cups_password_cb_t cb)/* I - Callback function */
  * in a program. Multi-threaded programs that override the callback need to do
  * so in each thread for the same callback to be used.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 void
@@ -332,7 +341,8 @@ cupsSetPasswordCB2(
 void
 cupsSetServer(const char *server)      /* I - Server name */
 {
-  char         *port;                  /* Pointer to port */
+  char         *options,               /* Options */
+               *port;                  /* Pointer to port */
   _cups_globals_t *cg = _cupsGlobals();        /* Pointer to library globals */
 
 
@@ -340,6 +350,24 @@ cupsSetServer(const char *server)  /* I - Server name */
   {
     strlcpy(cg->server, server, sizeof(cg->server));
 
+    if (cg->server[0] != '/' && (options = strrchr(cg->server, '/')) != NULL)
+    {
+      *options++ = '\0';
+
+      if (!strcmp(options, "version=1.0"))
+        cg->server_version = 10;
+      else if (!strcmp(options, "version=1.1"))
+        cg->server_version = 11;
+      else if (!strcmp(options, "version=2.0"))
+        cg->server_version = 20;
+      else if (!strcmp(options, "version=2.1"))
+        cg->server_version = 21;
+      else if (!strcmp(options, "version=2.2"))
+        cg->server_version = 22;
+    }
+    else
+      cg->server_version = 20;
+
     if (cg->server[0] != '/' && (port = strrchr(cg->server, ':')) != NULL &&
         !strchr(port, ']') && isdigit(port[1] & 255))
     {
@@ -355,8 +383,9 @@ cupsSetServer(const char *server)   /* I - Server name */
   }
   else
   {
-    cg->server[0]     = '\0';
-    cg->servername[0] = '\0';
+    cg->server[0]      = '\0';
+    cg->servername[0]  = '\0';
+    cg->server_version = 20;
   }
 
   if (cg->http)
@@ -376,7 +405,7 @@ cupsSetServer(const char *server)   /* I - Server name */
  * in a program. Multi-threaded programs that override the callback need to do
  * so in each thread for the same callback to be used.
  *
- * @since CUPS 1.5/Mac OS X 10.7@
+ * @since CUPS 1.5/OS X 10.7@
  */
 
 void
@@ -427,87 +456,284 @@ cupsSetUser(const char *user)            /* I - User name */
 const char *                           /* O - User name */
 cupsUser(void)
 {
-  const char   *user;                  /* USER environment variable */
   _cups_globals_t *cg = _cupsGlobals();        /* Pointer to library globals */
 
 
   if (!cg->user[0])
-  {
+    _cupsSetDefaults();
+
+  return (cg->user);
+}
+
+
+/*
+ * '_cupsGetPassword()' - Get a password from the user.
+ */
+
+const char *                           /* O - Password or @code NULL@ if none */
+_cupsGetPassword(const char *prompt)   /* I - Prompt string */
+{
 #ifdef WIN32
-   /*
-    * Get the current user name from the OS...
-    */
+  HANDLE               tty;            /* Console handle */
+  DWORD                        mode;           /* Console mode */
+  char                 passch,         /* Current key press */
+                       *passptr,       /* Pointer into password string */
+                       *passend;       /* End of password string */
+  DWORD                        passbytes;      /* Bytes read */
+  _cups_globals_t      *cg = _cupsGlobals();
+                                       /* Thread globals */
 
-    DWORD      size;                   /* Size of string */
 
-    size = sizeof(cg->user);
-    if (!GetUserName(cg->user, &size))
-#else
-   /*
-    * Get the user name corresponding to the current UID...
-    */
+ /*
+  * Disable input echo and set raw input...
+  */
+
+  if ((tty = GetStdHandle(STD_INPUT_HANDLE)) == INVALID_HANDLE_VALUE)
+    return (NULL);
+
+  if (!GetConsoleMode(tty, &mode))
+    return (NULL);
 
-    struct passwd      *pwd;           /* User/password entry */
+  if (!SetConsoleMode(tty, 0))
+    return (NULL);
+
+ /*
+  * Display the prompt...
+  */
+
+  printf("%s ", prompt);
+  fflush(stdout);
 
-    setpwent();
-    if ((pwd = getpwuid(getuid())) != NULL)
+ /*
+  * Read the password string from /dev/tty until we get interrupted or get a
+  * carriage return or newline...
+  */
+
+  passptr = cg->password;
+  passend = cg->password + sizeof(cg->password) - 1;
+
+  while (ReadFile(tty, &passch, 1, &passbytes, NULL))
+  {
+    if (passch == 0x0A || passch == 0x0D)
     {
      /*
-      * Found a match!
+      * Enter/return...
       */
 
-      strlcpy(cg->user, pwd->pw_name, sizeof(cg->user));
+      break;
     }
-    else
-#endif /* WIN32 */
-    if ((user = getenv("USER")) != NULL)
+    else if (passch == 0x08 || passch == 0x7F)
     {
      /*
-      * Use the username from the "USER" environment variable...
+      * Backspace/delete (erase character)...
       */
-      strlcpy(cg->user, user, sizeof(cg->user));
+
+      if (passptr > cg->password)
+      {
+        passptr --;
+        fputs("\010 \010", stdout);
+      }
+      else
+        putchar(0x07);
     }
-    else
+    else if (passch == 0x15)
     {
      /*
-      * Use the default "unknown" user name...
+      * CTRL+U (erase line)
       */
 
-      strcpy(cg->user, "unknown");
+      if (passptr > cg->password)
+      {
+       while (passptr > cg->password)
+       {
+          passptr --;
+          fputs("\010 \010", stdout);
+        }
+      }
+      else
+        putchar(0x07);
+    }
+    else if (passch == 0x03)
+    {
+     /*
+      * CTRL+C...
+      */
+
+      passptr = cg->password;
+      break;
+    }
+    else if ((passch & 255) < 0x20 || passptr >= passend)
+      putchar(0x07);
+    else
+    {
+      *passptr++ = passch;
+      putchar(_CUPS_PASSCHAR);
     }
+
+    fflush(stdout);
   }
 
-  return (cg->user);
-}
+  putchar('\n');
+  fflush(stdout);
 
+ /*
+  * Cleanup...
+  */
 
-/*
- * '_cupsGetPassword()' - Get a password from the user.
- */
+  SetConsoleMode(tty, mode);
 
-const char *                           /* O - Password */
-_cupsGetPassword(const char *prompt)   /* I - Prompt string */
-{
-#ifdef WIN32
  /*
-  * Currently no console password support is provided on Windows.
+  * Return the proper value...
   */
 
-  return (NULL);
+  if (passbytes == 1 && passptr > cg->password)
+  {
+    *passptr = '\0';
+    return (cg->password);
+  }
+  else
+  {
+    memset(cg->password, 0, sizeof(cg->password));
+    return (NULL);
+  }
 
 #else
+  int                  tty;            /* /dev/tty - never read from stdin */
+  struct termios       original,       /* Original input mode */
+                       noecho;         /* No echo input mode */
+  char                 passch,         /* Current key press */
+                       *passptr,       /* Pointer into password string */
+                       *passend;       /* End of password string */
+  ssize_t              passbytes;      /* Bytes read */
+  _cups_globals_t      *cg = _cupsGlobals();
+                                       /* Thread globals */
+
+
  /*
-  * Use the standard getpass function to get a password from the console.  An
-  * empty password is treated as canceling the authentication request.
+  * Disable input echo and set raw input...
   */
 
-  const char   *password = getpass(prompt);
-                                       /* Password string */
+  if ((tty = open("/dev/tty", O_RDONLY)) < 0)
+    return (NULL);
+
+  if (tcgetattr(tty, &original))
+  {
+    close(tty);
+    return (NULL);
+  }
 
-  if (!password || !password[0])
+  noecho = original;
+  noecho.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG);
+
+  if (tcsetattr(tty, TCSAFLUSH, &noecho))
+  {
+    close(tty);
     return (NULL);
+  }
+
+ /*
+  * Display the prompt...
+  */
+
+  printf("%s ", prompt);
+  fflush(stdout);
+
+ /*
+  * Read the password string from /dev/tty until we get interrupted or get a
+  * carriage return or newline...
+  */
+
+  passptr = cg->password;
+  passend = cg->password + sizeof(cg->password) - 1;
+
+  while ((passbytes = read(tty, &passch, 1)) == 1)
+  {
+    if (passch == noecho.c_cc[VEOL] || passch == noecho.c_cc[VEOL2] ||
+        passch == 0x0A || passch == 0x0D)
+    {
+     /*
+      * Enter/return...
+      */
+
+      break;
+    }
+    else if (passch == noecho.c_cc[VERASE] ||
+             passch == 0x08 || passch == 0x7F)
+    {
+     /*
+      * Backspace/delete (erase character)...
+      */
+
+      if (passptr > cg->password)
+      {
+        passptr --;
+        fputs("\010 \010", stdout);
+      }
+      else
+        putchar(0x07);
+    }
+    else if (passch == noecho.c_cc[VKILL])
+    {
+     /*
+      * CTRL+U (erase line)
+      */
+
+      if (passptr > cg->password)
+      {
+       while (passptr > cg->password)
+       {
+          passptr --;
+          fputs("\010 \010", stdout);
+        }
+      }
+      else
+        putchar(0x07);
+    }
+    else if (passch == noecho.c_cc[VINTR] || passch == noecho.c_cc[VQUIT] ||
+             passch == noecho.c_cc[VEOF])
+    {
+     /*
+      * CTRL+C, CTRL+D, or CTRL+Z...
+      */
+
+      passptr = cg->password;
+      break;
+    }
+    else if ((passch & 255) < 0x20 || passptr >= passend)
+      putchar(0x07);
+    else
+    {
+      *passptr++ = passch;
+      putchar(_CUPS_PASSCHAR);
+    }
+
+    fflush(stdout);
+  }
+
+  putchar('\n');
+  fflush(stdout);
+
+ /*
+  * Cleanup...
+  */
+
+  tcsetattr(tty, TCSAFLUSH, &original);
+  close(tty);
+
+ /*
+  * Return the proper value...
+  */
+
+  if (passbytes == 1 && passptr > cg->password)
+  {
+    *passptr = '\0';
+    return (cg->password);
+  }
   else
-    return (password);
+  {
+    memset(cg->password, 0, sizeof(cg->password));
+    return (NULL);
+  }
 #endif /* WIN32 */
 }
 
@@ -542,6 +768,7 @@ _cupsSetDefaults(void)
   const char   *home,                  /* Home directory of user */
                *cups_encryption,       /* CUPS_ENCRYPTION env var */
                *cups_server,           /* CUPS_SERVER env var */
+               *cups_user,             /* CUPS_USER/USER env var */
 #ifdef HAVE_GSSAPI
                *cups_gssservicename,   /* CUPS_GSSSERVICENAME env var */
 #endif /* HAVE_GSSAPI */
@@ -567,13 +794,16 @@ _cupsSetDefaults(void)
   cups_expiredroot    = getenv("CUPS_EXPIREDROOT");
   cups_expiredcerts   = getenv("CUPS_EXPIREDCERTS");
 
+  if ((cups_user = getenv("CUPS_USER")) == NULL)
+    cups_user = getenv("USER");
+
  /*
   * Then, if needed, read the ~/.cups/client.conf or /etc/cups/client.conf
   * files to get the default values...
   */
 
   if (cg->encryption == (http_encryption_t)-1 || !cg->server[0] ||
-      !cg->ipp_port)
+      !cg->user[0] || !cg->ipp_port)
   {
     if ((home = getenv("HOME")) != NULL)
     {
@@ -603,7 +833,7 @@ _cupsSetDefaults(void)
     * functions handle NULL cups_file_t pointers...
     */
 
-    cups_read_client_conf(fp, cg, cups_encryption, cups_server,
+    cups_read_client_conf(fp, cg, cups_encryption, cups_server, cups_user,
 #ifdef HAVE_GSSAPI
                          cups_gssservicename,
 #endif /* HAVE_GSSAPI */
@@ -624,6 +854,7 @@ cups_read_client_conf(
     _cups_globals_t *cg,               /* I - Global data */
     const char      *cups_encryption,  /* I - CUPS_ENCRYPTION env var */
     const char      *cups_server,      /* I - CUPS_SERVER env var */
+    const char      *cups_user,                /* I - CUPS_USER env var */
 #ifdef HAVE_GSSAPI
     const char      *cups_gssservicename,
                                        /* I - CUPS_GSSSERVICENAME env var */
@@ -639,6 +870,7 @@ cups_read_client_conf(
 #ifndef __APPLE__
        server_name[1024],              /* ServerName value */
 #endif /* !__APPLE__ */
+       user[256],                      /* User value */
        any_root[1024],                 /* AllowAnyRoot value */
        expired_root[1024],             /* AllowExpiredRoot value */
        expired_certs[1024];            /* AllowExpiredCerts value */
@@ -662,7 +894,7 @@ cups_read_client_conf(
     }
 #ifndef __APPLE__
    /*
-    * The Server directive is not supported on Mac OS X due to app sandboxing
+    * The Server directive is not supported on OS X due to app sandboxing
     * restrictions, i.e. not all apps request network access.
     */
     else if (!cups_server && (!cg->server[0] || !cg->ipp_port) &&
@@ -672,6 +904,11 @@ cups_read_client_conf(
       cups_server = server_name;
     }
 #endif /* !__APPLE__ */
+    else if (!cups_user && !_cups_strcasecmp(line, "User") && value)
+    {
+      strlcpy(user, value, sizeof(user));
+      cups_user = user;
+    }
     else if (!cups_anyroot && !_cups_strcasecmp(line, "AllowAnyRoot") && value)
     {
       strlcpy(any_root, value, sizeof(any_root));
@@ -716,36 +953,7 @@ cups_read_client_conf(
   }
 
   if ((!cg->server[0] || !cg->ipp_port) && cups_server)
-  {
-    if (!cg->server[0])
-    {
-     /*
-      * Copy server name...
-      */
-
-      strlcpy(cg->server, cups_server, sizeof(cg->server));
-
-      if (cg->server[0] != '/' && (value = strrchr(cg->server, ':')) != NULL &&
-         !strchr(value, ']') && isdigit(value[1] & 255))
-        *value++ = '\0';
-      else
-        value = NULL;
-
-      if (cg->server[0] == '/')
-       strcpy(cg->servername, "localhost");
-      else
-       strlcpy(cg->servername, cg->server, sizeof(cg->servername));
-    }
-    else if (cups_server[0] != '/' &&
-             (value = strrchr(cups_server, ':')) != NULL &&
-            !strchr(value, ']') && isdigit(value[1] & 255))
-      value ++;
-    else
-      value = NULL;
-
-    if (!cg->ipp_port && value)
-      cg->ipp_port = atoi(value);
-  }
+    cupsSetServer(cups_server);
 
   if (!cg->server[0])
   {
@@ -780,6 +988,49 @@ cups_read_client_conf(
       cg->ipp_port = CUPS_DEFAULT_IPP_PORT;
   }
 
+  if (!cg->user[0])
+  {
+    if (cups_user)
+      strlcpy(cg->user, cups_user, sizeof(cg->user));
+    else
+    {
+#ifdef WIN32
+     /*
+      * Get the current user name from the OS...
+      */
+
+      DWORD    size;                   /* Size of string */
+
+      size = sizeof(cg->user);
+      if (!GetUserName(cg->user, &size))
+#else
+     /*
+      * Get the user name corresponding to the current UID...
+      */
+
+      struct passwd    *pwd;           /* User/password entry */
+
+      setpwent();
+      if ((pwd = getpwuid(getuid())) != NULL)
+      {
+       /*
+       * Found a match!
+       */
+
+       strlcpy(cg->user, pwd->pw_name, sizeof(cg->user));
+      }
+      else
+#endif /* WIN32 */
+      {
+       /*
+       * Use the default "unknown" user name...
+       */
+
+       strcpy(cg->user, "unknown");
+      }
+    }
+  }
+
 #ifdef HAVE_GSSAPI
   if (!cups_gssservicename)
     cups_gssservicename = CUPS_DEFAULT_GSSSERVICENAME;
@@ -806,5 +1057,5 @@ cups_read_client_conf(
 
 
 /*
- * End of "$Id: usersys.c 9969 2011-09-07 22:32:14Z mike $".
+ * End of "$Id: usersys.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 7778455..87cf327 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: util.c 10262 2012-02-12 05:48:09Z mike $"
+ * "$Id: util.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Printing utilities for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -106,7 +106,7 @@ cupsCancelJob(const char *name,             /* I - Name of printer or class */
  * Use the @link cupsLastError@ and @link cupsLastErrorString@ functions to get
  * the cause of any failure.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 ipp_status_t                           /* O - IPP status */
@@ -194,7 +194,7 @@ cupsCancelJob2(http_t     *http,    /* I - Connection to server or @code CUPS_HTTP_
  * print, use the @link cupsPrintFile2@ or @link cupsPrintFiles2@ function
  * instead.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 int                                    /* O - Job ID or 0 on error */
@@ -248,7 +248,8 @@ cupsCreateJob(
   if (title)
     ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_NAME, "job-name", NULL,
                  title);
-  cupsEncodeOptions(request, num_options, options);
+  cupsEncodeOptions2(request, num_options, options, IPP_TAG_JOB);
+  cupsEncodeOptions2(request, num_options, options, IPP_TAG_SUBSCRIPTION);
 
  /*
   * Send the request and get the job-id...
@@ -274,7 +275,7 @@ cupsCreateJob(
  *
  * The document must have been started using @link cupsStartDocument@.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 ipp_status_t                           /* O - Status of document submission */
@@ -443,7 +444,7 @@ cupsGetDefault(void)
  * functions to get the user-defined default printer, as this function does
  * not support the lpoptions-defined default printer.
  *
- * @since CUPS 1.1.21/Mac OS X 10.4@
+ * @since CUPS 1.1.21/OS X 10.4@
  */
 
 const char *                           /* O - Default printer or @code NULL@ */
@@ -534,7 +535,7 @@ cupsGetJobs(cups_job_t **jobs,              /* O - Job data */
  * pending, processing, or held and @code CUPS_WHICHJOBS_COMPLETED@ returns
  * jobs that are stopped, canceled, aborted, or completed.
  *
- * @since CUPS 1.1.21/Mac OS X 10.4@
+ * @since CUPS 1.1.21/OS X 10.4@
  */
 
 int                                    /* O - Number of jobs */
@@ -838,7 +839,7 @@ cupsGetPPD(const char *name)                /* I - Destination name */
  * each call to @link cupsGetPPD@ or @code cupsGetPPD2@.  The caller "owns" the
  * file that is created and must @code unlink@ the returned filename.
  *
- * @since CUPS 1.1.21/Mac OS X 10.4@
+ * @since CUPS 1.1.21/OS X 10.4@
  */
 
 const char *                           /* O - Filename for PPD file */
@@ -879,7 +880,7 @@ cupsGetPPD2(http_t     *http,               /* I - Connection to server or @code CUPS_HTTP_DE
  * For classes, @code cupsGetPPD3@ returns the PPD file for the first printer
  * in the class.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 http_status_t                          /* O  - HTTP status */
@@ -934,10 +935,16 @@ cupsGetPPD3(http_t     *http,             /* I  - HTTP connection or @code CUPS_HTTP_DEFAUL
   * See if the PPD file is available locally...
   */
 
-  if (!cg->servername[0])
-    cupsServer();
+  if (http)
+    httpGetHostname(http, hostname, sizeof(hostname));
+  else
+  {
+    strlcpy(hostname, cupsServer(), sizeof(hostname));
+    if (hostname[0] == '/')
+      strlcpy(hostname, "localhost", sizeof(hostname));
+  }
 
-  if (!_cups_strcasecmp(cg->servername, "localhost"))
+  if (!_cups_strcasecmp(hostname, "localhost"))
   {
     char       ppdname[1024];          /* PPD filename */
     struct stat        ppdinfo;                /* PPD file information */
@@ -1275,7 +1282,7 @@ cupsGetPrinters(char ***printers) /* O - Printers */
  * overwritten on the next call to @link cupsGetPPD@, @link cupsGetPPD2@,
  * or @link cupsGetServerPPD@.
  *
- * @since CUPS 1.3/Mac OS X 10.5@
+ * @since CUPS 1.3/OS X 10.5@
  */
 
 char *                                 /* O - Name of PPD file or @code NULL@ on error */
@@ -1364,7 +1371,7 @@ cupsPrintFile(const char    *name,        /* I - Destination name */
  * 'cupsPrintFile2()' - Print a file to a printer or class on the specified
  *                      server.
  *
- * @since CUPS 1.1.21/Mac OS X 10.4@
+ * @since CUPS 1.1.21/OS X 10.4@
  */
 
 int                                    /* O - Job ID or 0 on error */
@@ -1416,7 +1423,7 @@ cupsPrintFiles(
  * 'cupsPrintFiles2()' - Print one or more files to a printer or class on the
  *                       specified server.
  *
- * @since CUPS 1.1.21/Mac OS X 10.4@
+ * @since CUPS 1.1.21/OS X 10.4@
  */
 
 int                                    /* O - Job ID or 0 on error */
@@ -1548,7 +1555,7 @@ cupsPrintFiles2(
  * @code CUPS_FORMAT_TEXT@ are provided for the "format" argument, although
  * any supported MIME type string can be supplied.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 http_status_t                          /* O - HTTP status of request */
@@ -1573,7 +1580,7 @@ cupsStartDocument(
   if ((request = ippNewRequest(IPP_SEND_DOCUMENT)) == NULL)
   {
     _cupsSetError(IPP_INTERNAL_ERROR, strerror(ENOMEM), 0);
-    return (0);
+    return (HTTP_ERROR);
   }
 
   httpAssembleURIf(HTTP_URI_CODING_ALL, printer_uri, sizeof(printer_uri), "ipp",
@@ -1635,6 +1642,7 @@ cups_get_printer_uri(
                                        /* Hostname associated with connection */
   static const char * const requested_attrs[] =
                {                       /* Requested attributes */
+                 "device-uri",
                  "member-uris",
                  "printer-uri-supported",
                  "printer-type"
@@ -1693,9 +1701,38 @@ cups_get_printer_uri(
   * Do the request and get back a response...
   */
 
-  if ((response = cupsDoRequest(http, request, "/")) != NULL)
+  snprintf(resource, resourcesize, "/printers/%s", name);
+
+  if ((response = cupsDoRequest(http, request, resource)) != NULL)
   {
-    if ((attr = ippFindAttribute(response, "member-uris", IPP_TAG_URI)) != NULL)
+    const char *device_uri = NULL;     /* device-uri value */
+
+    if ((attr = ippFindAttribute(response, "device-uri",
+                                 IPP_TAG_URI)) != NULL)
+      device_uri = attr->values[0].string.text;
+
+    if (device_uri &&
+        (!strncmp(device_uri, "ipp://", 6) ||
+         !strncmp(device_uri, "ipps://", 7) ||
+         ((strstr(device_uri, "._ipp.") != NULL ||
+           strstr(device_uri, "._ipps.") != NULL) &&
+          !strcmp(device_uri + strlen(device_uri) - 5, "/cups"))))
+    {
+     /*
+      * Statically-configured shared printer.
+      */
+
+      httpSeparateURI(HTTP_URI_CODING_ALL,
+                      _httpResolveURI(device_uri, uri, sizeof(uri),
+                                      _HTTP_RESOLVE_DEFAULT, NULL, NULL),
+                      scheme, sizeof(scheme), username, sizeof(username),
+                     host, hostsize, port, resource, resourcesize);
+      ippDelete(response);
+
+      return (1);
+    }
+    else if ((attr = ippFindAttribute(response, "member-uris",
+                                      IPP_TAG_URI)) != NULL)
     {
      /*
       * Get the first actual printer name in the class...
@@ -1807,5 +1844,5 @@ cups_get_printer_uri(
 
 
 /*
- * End of "$Id: util.c 10262 2012-02-12 05:48:09Z mike $".
+ * End of "$Id: util.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 39d01d3..9ccf18f 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: versioning.h 9230 2010-08-10 00:02:02Z mike $"
+ * "$Id: versioning.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   API versioning definitions for CUPS.
  *
- *   Copyright 2007-2010 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *
  *   These coded instructions, statements, and computer programs are the
  *   property of Apple Inc. and are protected by Federal copyright
 /*
  * This header defines several constants - _CUPS_DEPRECATED,
  * _CUPS_API_1_1, _CUPS_API_1_1_19, _CUPS_API_1_1_20, _CUPS_API_1_1_21,
- * _CUPS_API_1_2, _CUPS_API_1_3, _CUPS_API_1_4, _CUPS_API_1_5 - which add
- * compiler-specific attributes that flag functions that are deprecated or added
- * in particular releases.
+ * _CUPS_API_1_2, _CUPS_API_1_3, _CUPS_API_1_4, _CUPS_API_1_5, _CUPS_API_1_6 -
+ * which add compiler-specific attributes that flag functions that are
+ * deprecated or added in particular releases.
  *
- * On Mac OS X, the _CUPS_API_* constants are defined based on the values of
+ * On OS X, the _CUPS_API_* constants are defined based on the values of
  * the MAC_OS_X_VERSION_MIN_ALLOWED and MAC_OS_X_VERSION_MAX_ALLOWED constants
  * provided by the compiler.
  */
@@ -46,6 +46,9 @@
 #    ifndef AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER
 #      define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER __attribute__((unavailable))
 #    endif /* !AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER */
+#    ifndef AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER
+#      define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER __attribute__((unavailable))
+#    endif /* !AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER */
 #    define _CUPS_API_1_1_19 AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER
 #    define _CUPS_API_1_1_20 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER
 #    define _CUPS_API_1_1_21 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER
@@ -53,6 +56,7 @@
 #    define _CUPS_API_1_3 AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER
 #    define _CUPS_API_1_4 AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER
 #    define _CUPS_API_1_5 AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER
+#    define _CUPS_API_1_6
 #  else
 #    define _CUPS_API_1_1_19
 #    define _CUPS_API_1_1_20
@@ -61,6 +65,7 @@
 #    define _CUPS_API_1_3
 #    define _CUPS_API_1_4
 #    define _CUPS_API_1_5
+#    define _CUPS_API_1_6
 #  endif /* __APPLE__ && !_CUPS_SOURCE */
 
 /*
  * a warning at compile-time.
  */
 
-#  if defined(__GNUC__) && __GNUC__ > 2
+#  if defined(__GNUC__) && __GNUC__ > 2 && !defined(_CUPS_SOURCE)
 #    define _CUPS_DEPRECATED __attribute__ ((__deprecated__))
 #  else
 #    define _CUPS_DEPRECATED
-#  endif /* __GNUC__ && __GNUC__ > 2 */
+#  endif /* __GNUC__ && __GNUC__ > 2 && !_CUPS_SOURCE */
 
 #  ifndef __GNUC__
 #    define __attribute__(x)
@@ -81,5 +86,5 @@
 #endif /* !_CUPS_VERSIONING_H_ */
 
 /*
- * End of "$Id: versioning.h 9230 2010-08-10 00:02:02Z mike $".
+ * End of "$Id: versioning.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index fa4d247..5adc9e9 100644 (file)
@@ -1,5 +1,5 @@
 #
-# "$Id: Makefile 9771 2011-05-12 05:21:56Z mike $"
+# "$Id: Makefile 11173 2013-07-23 12:31:34Z msweet $"
 #
 #   Datafile makefile for CUPS.
 #
@@ -27,21 +27,15 @@ BANNERS     =       \
                topsecret \
                unclassified
 
-CHARSETS =     \
-               utf-8
-
 DATAFILES =    \
-               psglyphs \
                testprint
 
 PPDCFILES =    \
                epson.h \
-               escp.h \
                font.defs \
                hp.h \
                label.h \
                media.defs \
-               pcl.h \
                raster.defs
 
 
@@ -96,12 +90,6 @@ install-data:
        for file in $(BANNERS); do \
                $(INSTALL_DATA) $$file $(DATADIR)/banners; \
        done
-       $(INSTALL_DIR) -m 755 $(DATADIR)/charsets
-       if test "x$(BANNERTOPS)" != x -o "x$(TEXTTOPS)" != x; then \
-               for file in $(CHARSETS); do \
-                       $(INSTALL_DATA) $$file $(DATADIR)/charsets; \
-               done; \
-       fi
        $(INSTALL_DIR) -m 755 $(DATADIR)/data
        for file in $(DATAFILES); do \
                $(INSTALL_DATA) $$file $(DATADIR)/data; \
@@ -143,9 +131,6 @@ uninstall:
        for file in $(BANNERS); do \
                $(RM) $(DATADIR)/banners/$$file; \
        done
-       for file in $(CHARSETS); do \
-               $(RM) $(DATADIR)/charsets/$$file; \
-       done
        for file in $(DATAFILES); do \
                $(RM) $(DATADIR)/data/$$file; \
        done
@@ -156,11 +141,10 @@ uninstall:
        -$(RMDIR) $(DATADIR)/ppdc
        -$(RMDIR) $(DATADIR)/model
        -$(RMDIR) $(DATADIR)/data
-       -$(RMDIR) $(DATADIR)/charsets
        -$(RMDIR) $(DATADIR)/banners
        -$(RMDIR) $(DATADIR)
 
 
 #
-# End of "$Id: Makefile 9771 2011-05-12 05:21:56Z mike $".
+# End of "$Id: Makefile 11173 2013-07-23 12:31:34Z msweet $".
 #
index 8f6d2c3..ee6b8af 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: epson.h 7304 2008-02-14 01:52:22Z mike $"
+ * "$Id: epson.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   This file contains model number definitions for the CUPS sample
  *   ESC/P driver.
@@ -23,5 +23,5 @@
 
 
 /*
- * End of "$Id: epson.h 7304 2008-02-14 01:52:22Z mike $".
+ * End of "$Id: epson.h 11173 2013-07-23 12:31:34Z msweet $".
  */
diff --git a/data/escp.h b/data/escp.h
deleted file mode 100644 (file)
index 096ee56..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * "$Id: escp.h 7304 2008-02-14 01:52:22Z mike $"
- *
- *   This file contains model number definitions for the CUPS unified
- *   ESC/P driver.
- *
- *   Copyright 2007 by Apple Inc.
- *   Copyright 1997-2005 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- */
-
-/* General ESC/P Support */
-#define ESCP_DOTMATRIX         0x1             /* Dot matrix printer? */
-#define ESCP_MICROWEAVE                0x2             /* Use microweave command? */
-#define ESCP_STAGGER           0x4             /* Are color jets staggered? */
-#define ESCP_ESCK              0x8             /* Use print mode command?*/
-#define ESCP_EXT_UNITS         0x10            /* Use extended unit commands? */
-#define ESCP_EXT_MARGINS       0x20            /* Use extended margin command */
-#define ESCP_USB               0x40            /* Send USB packet mode escape? */
-#define ESCP_PAGE_SIZE         0x80            /* Use page size command */
-#define ESCP_RASTER_ESCI       0x100           /* Use ESC i graphics command */
-
-/* Remote mode support */
-#define ESCP_REMOTE            0x1000          /* Use remote mode commands? */
-
-
-/*
- * End of "$Id: escp.h 7304 2008-02-14 01:52:22Z mike $".
- */
index f6938fd..30de578 100644 (file)
--- a/data/hp.h
+++ b/data/hp.h
@@ -1,5 +1,5 @@
 /*
- * "$Id: hp.h 7304 2008-02-14 01:52:22Z mike $"
+ * "$Id: hp.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   This file contains model number definitions for the CUPS sample
  *   HP driver.
@@ -20,5 +20,5 @@
 
 
 /*
- * End of "$Id: hp.h 7304 2008-02-14 01:52:22Z mike $".
+ * End of "$Id: hp.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index a23d964..23450de 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: label.h 7304 2008-02-14 01:52:22Z mike $"
+ * "$Id: label.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   This file contains model number definitions for the CUPS sample
  *   label printer driver.
@@ -24,5 +24,5 @@
 #define INTELLITECH_PCL        0x20            /* Intellitech PCL-based printers */
 
 /*
- * End of "$Id: label.h 7304 2008-02-14 01:52:22Z mike $".
+ * End of "$Id: label.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index 43b48c3..6f0be82 100644 (file)
 #media "w167h288/Shipping Address" 167 288
 #media "w162h540/Internet Postage 2-Part" 162 540
 #media "w162h504/Internet Postage 3-Part" 162 504
-#media "w41h248/File Folder" 41 248
+#media "w41h248/File Folder " 41 248
 #media "w41h144/Hanging Folder" 41 144
 #media "w153h198/3.5\" Disk" 153 198
 
diff --git a/data/pcl.h b/data/pcl.h
deleted file mode 100644 (file)
index a1fedad..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * "$Id: pcl.h 7304 2008-02-14 01:52:22Z mike $"
- *
- *   This file contains model number definitions for the CUPS unified
- *   PCL driver.
- *
- *   Copyright 2007 by Apple Inc.
- *   Copyright 1997-2005 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- */
-
-/* General PCL Support */
-#define PCL_PAPER_SIZE         0x1             /* Use ESC&l#A */
-#define PCL_INKJET             0x2             /* Use inkjet commands */
-
-/* Raster Support */
-#define PCL_RASTER_END_COLOR   0x100           /* Use ESC*rC */
-#define PCL_RASTER_CID         0x200           /* Use ESC*v#W */
-#define PCL_RASTER_CRD         0x400           /* Use ESC*g#W */
-#define PCL_RASTER_SIMPLE      0x800           /* Use ESC*r#U */
-#define PCL_RASTER_RGB24       0x1000          /* Use 24-bit RGB mode */
-
-/* PJL Support */
-#define PCL_PJL                        0x10000         /* Use PJL Commands */
-#define PCL_PJL_PAPERWIDTH     0x20000         /* Use PJL PAPERWIDTH/LENGTH */
-#define PCL_PJL_HPGL2          0x40000         /* Enter HPGL2 */
-#define PCL_PJL_PCL3GUI                0x80000         /* Enter PCL3GUI */
-#define PCL_PJL_RESOLUTION     0x100000        /* Use PJL SET RESOLUTION */
-
-
-/*
- * End of "$Id: pcl.h 7304 2008-02-14 01:52:22Z mike $".
- */
diff --git a/data/psglyphs b/data/psglyphs
deleted file mode 100644 (file)
index c4a902c..0000000
+++ /dev/null
@@ -1,1051 +0,0 @@
-0020 space
-0021 exclam
-0022 quotedbl
-0023 numbersign
-0024 dollar
-0025 percent
-0026 ampersand
-0027 quotesingle
-0028 parenleft
-0029 parenright
-002a asterisk
-002b plus
-002c comma
-002d minus
-002e period
-002f slash
-0030 zero
-0031 one
-0032 two
-0033 three
-0034 four
-0035 five
-0036 six
-0037 seven
-0038 eight
-0039 nine
-003a colon
-003b semicolon
-003c less
-003d equal
-003e greater
-003f question
-0040 at
-0041 A
-0042 B
-0043 C
-0044 D
-0045 E
-0046 F
-0047 G
-0048 H
-0049 I
-004a J
-004b K
-004c L
-004d M
-004e N
-004f O
-0050 P
-0051 Q
-0052 R
-0053 S
-0054 T
-0055 U
-0056 V
-0057 W
-0058 X
-0059 Y
-005a Z
-005b bracketleft
-005c backslash
-005d bracketright
-005e asciicircum
-005f underscore
-0060 grave
-0061 a
-0062 b
-0063 c
-0064 d
-0065 e
-0066 f
-0067 g
-0068 h
-0069 i
-006a j
-006b k
-006c l
-006d m
-006e n
-006f o
-0070 p
-0071 q
-0072 r
-0073 s
-0074 t
-0075 u
-0076 v
-0077 w
-0078 x
-0079 y
-007a z
-007b braceleft
-007c bar
-007d braceright
-007e asciitilde
-00a0 space
-00a1 exclamdown
-00a2 cent
-00a3 sterling
-00a4 currency
-00a5 yen
-00a6 brokenbar
-00a7 section
-00a8 dieresis
-00a9 copyright
-00aa ordfeminine
-00ab guillemotleft
-00ac logicalnot
-00ad hyphen
-00ae registered
-00af macron
-00b0 degree
-00b1 plusminus
-00b2 twosuperior
-00b3 threesuperior
-00b4 acute
-00b5 mu
-00b6 paragraph
-00b7 periodcentered
-00b8 cedilla
-00b9 onesuperior
-00ba ordmasculine
-00bb guillemotright
-00bc onequarter
-00bd onehalf
-00be threequarters
-00bf questiondown
-00c0 Agrave
-00c1 Aacute
-00c2 Acircumflex
-00c3 Atilde
-00c4 Adieresis
-00c5 Aring
-00c6 AE
-00c7 Ccedilla
-00c8 Egrave
-00c9 Eacute
-00ca Ecircumflex
-00cb Edieresis
-00cc Igrave
-00cd Iacute
-00ce Icircumflex
-00cf Idieresis
-00d0 Eth
-00d1 Ntilde
-00d2 Ograve
-00d3 Oacute
-00d4 Ocircumflex
-00d5 Otilde
-00d6 Odieresis
-00d7 multiply
-00d8 Oslash
-00d9 Ugrave
-00da Uacute
-00db Ucircumflex
-00dc Udieresis
-00dd Yacute
-00de Thorn
-00df germandbls
-00e0 agrave
-00e1 aacute
-00e2 acircumflex
-00e3 atilde
-00e4 adieresis
-00e5 aring
-00e6 ae
-00e7 ccedilla
-00e8 egrave
-00e9 eacute
-00ea ecircumflex
-00eb edieresis
-00ec igrave
-00ed iacute
-00ee icircumflex
-00ef idieresis
-00f0 eth
-00f1 ntilde
-00f2 ograve
-00f3 oacute
-00f4 ocircumflex
-00f5 otilde
-00f6 odieresis
-00f7 divide
-00f8 oslash
-00f9 ugrave
-00fa uacute
-00fb ucircumflex
-00fc udieresis
-00fd yacute
-00fe thorn
-00ff ydieresis
-0100 Amacron
-0101 amacron
-0102 Abreve
-0103 abreve
-0104 Aogonek
-0105 aogonek
-0106 Cacute
-0107 cacute
-0108 Ccircumflex
-0109 ccircumflex
-010a Cdotaccent
-010b cdotaccent
-010c Ccaron
-010d ccaron
-010e Dcaron
-010f dcaron
-0110 Dcroat
-0111 dcroat
-0112 Emacron
-0113 emacron
-0114 Ebreve
-0115 ebreve
-0116 Edotaccent
-0117 edotaccent
-0118 Eogonek
-0119 eogonek
-011a Ecaron
-011b ecaron
-011c Gcircumflex
-011d gcircumflex
-011e Gbreve
-011f gbreve
-0120 Gdotaccent
-0121 gdotaccent
-0122 Gcommaaccent
-0123 gcommaaccent
-0124 Hcircumflex
-0125 hcircumflex
-0126 Hbar
-0127 hbar
-0128 Itilde
-0129 itilde
-012a Imacron
-012b imacron
-012c Ibreve
-012d ibreve
-012e Iogonek
-012f iogonek
-0130 Idotaccent
-0131 dotlessi
-0132 IJ
-0133 ij
-0134 Jcircumflex
-0135 jcircumflex
-0136 Kcommaaccent
-0137 kcommaaccent
-0138 kgreenlandic
-0139 Lacute
-013a lacute
-013b Lcommaaccent
-013c lcommaaccent
-013d Lcaron
-013e lcaron
-013f Ldot
-0140 ldot
-0141 Lslash
-0142 lslash
-0143 Nacute
-0144 nacute
-0145 Ncommaaccent
-0146 ncommaaccent
-0147 Ncaron
-0148 ncaron
-0149 napostrophe
-014a Eng
-014b eng
-014c Omacron
-014d omacron
-014e Obreve
-014f obreve
-0150 Ohungarumlaut
-0151 ohungarumlaut
-0152 OE
-0153 oe
-0154 Racute
-0155 racute
-0156 Rcommaaccent
-0157 rcommaaccent
-0158 Rcaron
-0159 rcaron
-015a Sacute
-015b sacute
-015c Scircumflex
-015d scircumflex
-015e Scedilla
-015f scedilla
-0160 Scaron
-0161 scaron
-0162 Tcommaaccent
-0163 tcommaaccent
-0164 Tcaron
-0165 tcaron
-0166 Tbar
-0167 tbar
-0168 Utilde
-0169 utilde
-016a Umacron
-016b umacron
-016c Ubreve
-016d ubreve
-016e Uring
-016f uring
-0170 Uhungarumlaut
-0171 uhungarumlaut
-0172 Uogonek
-0173 uogonek
-0174 Wcircumflex
-0175 wcircumflex
-0176 Ycircumflex
-0177 ycircumflex
-0178 Ydieresis
-0179 Zacute
-017a zacute
-017b Zdotaccent
-017c zdotaccent
-017d Zcaron
-017e zcaron
-017f longs
-0192 florin
-01a0 Ohorn
-01a1 ohorn
-01af Uhorn
-01b0 uhorn
-01e6 Gcaron
-01e7 gcaron
-01fa Aringacute
-01fb aringacute
-01fc AEacute
-01fd aeacute
-01fe Oslashacute
-01ff oslashacute
-0218 Scommaaccent
-0219 scommaaccent
-021a Tcommaaccent
-021b tcommaaccent
-02bc afii57929
-02bd afii64937
-02c6 circumflex
-02c7 caron
-02c9 macron
-02d8 breve
-02d9 dotaccent
-02da ring
-02db ogonek
-02dc tilde
-02dd hungarumlaut
-0300 gravecomb
-0301 acutecomb
-0303 tildecomb
-0309 hookabovecomb
-0323 dotbelowcomb
-0384 tonos
-0385 dieresistonos
-0386 Alphatonos
-0387 anoteleia
-0388 Epsilontonos
-0389 Etatonos
-038a Iotatonos
-038c Omicrontonos
-038e Upsilontonos
-038f Omegatonos
-0390 iotadieresistonos
-0391 Alpha
-0392 Beta
-0393 Gamma
-0394 Delta
-0395 Epsilon
-0396 Zeta
-0397 Eta
-0398 Theta
-0399 Iota
-039a Kappa
-039b Lambda
-039c Mu
-039d Nu
-039e Xi
-039f Omicron
-03a0 Pi
-03a1 Rho
-03a3 Sigma
-03a4 Tau
-03a5 Upsilon
-03a6 Phi
-03a7 Chi
-03a8 Psi
-03a9 Omega
-03aa Iotadieresis
-03ab Upsilondieresis
-03ac alphatonos
-03ad epsilontonos
-03ae etatonos
-03af iotatonos
-03b0 upsilondieresistonos
-03b1 alpha
-03b2 beta
-03b3 gamma
-03b4 delta
-03b5 epsilon
-03b6 zeta
-03b7 eta
-03b8 theta
-03b9 iota
-03ba kappa
-03bb lambda
-03bc mu
-03bd nu
-03be xi
-03bf omicron
-03c0 pi
-03c1 rho
-03c2 sigma1
-03c3 sigma
-03c4 tau
-03c5 upsilon
-03c6 phi
-03c7 chi
-03c8 psi
-03c9 omega
-03ca iotadieresis
-03cb upsilondieresis
-03cc omicrontonos
-03cd upsilontonos
-03ce omegatonos
-03d1 theta1
-03d2 Upsilon1
-03d5 phi1
-03d6 omega1
-0401 afii10023
-0402 afii10051
-0403 afii10052
-0404 afii10053
-0405 afii10054
-0406 afii10055
-0407 afii10056
-0408 afii10057
-0409 afii10058
-040a afii10059
-040b afii10060
-040c afii10061
-040e afii10062
-040f afii10145
-0410 afii10017
-0411 afii10018
-0412 afii10019
-0413 afii10020
-0414 afii10021
-0415 afii10022
-0416 afii10024
-0417 afii10025
-0418 afii10026
-0419 afii10027
-041a afii10028
-041b afii10029
-041c afii10030
-041d afii10031
-041e afii10032
-041f afii10033
-0420 afii10034
-0421 afii10035
-0422 afii10036
-0423 afii10037
-0424 afii10038
-0425 afii10039
-0426 afii10040
-0427 afii10041
-0428 afii10042
-0429 afii10043
-042a afii10044
-042b afii10045
-042c afii10046
-042d afii10047
-042e afii10048
-042f afii10049
-0430 afii10065
-0431 afii10066
-0432 afii10067
-0433 afii10068
-0434 afii10069
-0435 afii10070
-0436 afii10072
-0437 afii10073
-0438 afii10074
-0439 afii10075
-043a afii10076
-043b afii10077
-043c afii10078
-043d afii10079
-043e afii10080
-043f afii10081
-0440 afii10082
-0441 afii10083
-0442 afii10084
-0443 afii10085
-0444 afii10086
-0445 afii10087
-0446 afii10088
-0447 afii10089
-0448 afii10090
-0449 afii10091
-044a afii10092
-044b afii10093
-044c afii10094
-044d afii10095
-044e afii10096
-044f afii10097
-0451 afii10071
-0452 afii10099
-0453 afii10100
-0454 afii10101
-0455 afii10102
-0456 afii10103
-0457 afii10104
-0458 afii10105
-0459 afii10106
-045a afii10107
-045b afii10108
-045c afii10109
-045e afii10110
-045f afii10193
-0462 afii10146
-0463 afii10194
-0472 afii10147
-0473 afii10195
-0474 afii10148
-0475 afii10196
-0490 afii10050
-0491 afii10098
-04d9 afii10846
-05b0 afii57799
-05b1 afii57801
-05b2 afii57800
-05b3 afii57802
-05b4 afii57793
-05b5 afii57794
-05b6 afii57795
-05b7 afii57798
-05b8 afii57797
-05b9 afii57806
-05bb afii57796
-05bc afii57807
-05bd afii57839
-05be afii57645
-05bf afii57841
-05c0 afii57842
-05c1 afii57804
-05c2 afii57803
-05c3 afii57658
-05d0 afii57664
-05d1 afii57665
-05d2 afii57666
-05d3 afii57667
-05d4 afii57668
-05d5 afii57669
-05d6 afii57670
-05d7 afii57671
-05d8 afii57672
-05d9 afii57673
-05da afii57674
-05db afii57675
-05dc afii57676
-05dd afii57677
-05de afii57678
-05df afii57679
-05e0 afii57680
-05e1 afii57681
-05e2 afii57682
-05e3 afii57683
-05e4 afii57684
-05e5 afii57685
-05e6 afii57686
-05e7 afii57687
-05e8 afii57688
-05e9 afii57689
-05ea afii57690
-05f0 afii57716
-05f1 afii57717
-05f2 afii57718
-060c afii57388
-061b afii57403
-061f afii57407
-0621 afii57409
-0622 afii57410
-0623 afii57411
-0624 afii57412
-0625 afii57413
-0626 afii57414
-0627 afii57415
-0628 afii57416
-0629 afii57417
-062a afii57418
-062b afii57419
-062c afii57420
-062d afii57421
-062e afii57422
-062f afii57423
-0630 afii57424
-0631 afii57425
-0632 afii57426
-0633 afii57427
-0634 afii57428
-0635 afii57429
-0636 afii57430
-0637 afii57431
-0638 afii57432
-0639 afii57433
-063a afii57434
-0640 afii57440
-0641 afii57441
-0642 afii57442
-0643 afii57443
-0644 afii57444
-0645 afii57445
-0646 afii57446
-0647 afii57470
-0648 afii57448
-0649 afii57449
-064a afii57450
-064b afii57451
-064c afii57452
-064d afii57453
-064e afii57454
-064f afii57455
-0650 afii57456
-0651 afii57457
-0652 afii57458
-0660 afii57392
-0661 afii57393
-0662 afii57394
-0663 afii57395
-0664 afii57396
-0665 afii57397
-0666 afii57398
-0667 afii57399
-0668 afii57400
-0669 afii57401
-066a afii57381
-066d afii63167
-0679 afii57511
-067e afii57506
-0686 afii57507
-0688 afii57512
-0691 afii57513
-0698 afii57508
-06a4 afii57505
-06af afii57509
-06ba afii57514
-06d2 afii57519
-06d5 afii57534
-1e80 Wgrave
-1e81 wgrave
-1e82 Wacute
-1e83 wacute
-1e84 Wdieresis
-1e85 wdieresis
-1ef2 Ygrave
-1ef3 ygrave
-200c afii61664
-200d afii301
-200e afii299
-200f afii300
-2012 figuredash
-2013 endash
-2014 emdash
-2015 afii00208
-2017 underscoredbl
-2018 quoteleft
-2019 quoteright
-201a quotesinglbase
-201b quotereversed
-201c quotedblleft
-201d quotedblright
-201e quotedblbase
-2020 dagger
-2021 daggerdbl
-2022 bullet
-2024 onedotenleader
-2025 twodotenleader
-2026 ellipsis
-202c afii61573
-202d afii61574
-202e afii61575
-2030 perthousand
-2032 minute
-2033 second
-2039 guilsinglleft
-203a guilsinglright
-203c exclamdbl
-2044 fraction
-2070 zerosuperior
-2074 foursuperior
-2075 fivesuperior
-2076 sixsuperior
-2077 sevensuperior
-2078 eightsuperior
-2079 ninesuperior
-207d parenleftsuperior
-207e parenrightsuperior
-207f nsuperior
-2080 zeroinferior
-2081 oneinferior
-2082 twoinferior
-2083 threeinferior
-2084 fourinferior
-2085 fiveinferior
-2086 sixinferior
-2087 seveninferior
-2088 eightinferior
-2089 nineinferior
-208d parenleftinferior
-208e parenrightinferior
-20a1 colonmonetary
-20a3 franc
-20a4 lira
-20a7 peseta
-20aa afii57636
-20ab dong
-20ac Euro
-2105 afii61248
-2111 Ifraktur
-2113 afii61289
-2116 afii61352
-2118 weierstrass
-211c Rfraktur
-211e prescription
-2122 trademark
-2126 Omega
-212e estimated
-2135 aleph
-2153 onethird
-2154 twothirds
-215b oneeighth
-215c threeeighths
-215d fiveeighths
-215e seveneighths
-2190 arrowleft
-2191 arrowup
-2192 arrowright
-2193 arrowdown
-2194 arrowboth
-2195 arrowupdn
-21a8 arrowupdnbse
-21b5 carriagereturn
-21d0 arrowdblleft
-21d1 arrowdblup
-21d2 arrowdblright
-21d3 arrowdbldown
-21d4 arrowdblboth
-2200 universal
-2202 partialdiff
-2203 existential
-2205 emptyset
-2206 Delta
-2207 gradient
-2208 element
-2209 notelement
-220b suchthat
-220f product
-2211 summation
-2212 minus
-2215 fraction
-2217 asteriskmath
-2219 periodcentered
-221a radical
-221d proportional
-221e infinity
-221f orthogonal
-2220 angle
-2227 logicaland
-2228 logicalor
-2229 intersection
-222a union
-222b integral
-2234 therefore
-223c similar
-2245 congruent
-2248 approxequal
-2260 notequal
-2261 equivalence
-2264 lessequal
-2265 greaterequal
-2282 propersubset
-2283 propersuperset
-2284 notsubset
-2286 reflexsubset
-2287 reflexsuperset
-2295 circleplus
-2297 circlemultiply
-22a5 perpendicular
-22c5 dotmath
-2302 house
-2310 revlogicalnot
-2320 integraltp
-2321 integralbt
-2329 angleleft
-232a angleright
-2500 SF100000
-2502 SF110000
-250c SF010000
-2510 SF030000
-2514 SF020000
-2518 SF040000
-251c SF080000
-2524 SF090000
-252c SF060000
-2534 SF070000
-253c SF050000
-2550 SF430000
-2551 SF240000
-2552 SF510000
-2553 SF520000
-2554 SF390000
-2555 SF220000
-2556 SF210000
-2557 SF250000
-2558 SF500000
-2559 SF490000
-255a SF380000
-255b SF280000
-255c SF270000
-255d SF260000
-255e SF360000
-255f SF370000
-2560 SF420000
-2561 SF190000
-2562 SF200000
-2563 SF230000
-2564 SF470000
-2565 SF480000
-2566 SF410000
-2567 SF450000
-2568 SF460000
-2569 SF400000
-256a SF540000
-256b SF530000
-256c SF440000
-2580 upblock
-2584 dnblock
-2588 block
-258c lfblock
-2590 rtblock
-2591 ltshade
-2592 shade
-2593 dkshade
-25a0 filledbox
-25a1 H22073
-25aa H18543
-25ab H18551
-25ac filledrect
-25b2 triagup
-25ba triagrt
-25bc triagdn
-25c4 triaglf
-25ca lozenge
-25cb circle
-25cf H18533
-25d8 invbullet
-25d9 invcircle
-25e6 openbullet
-263a smileface
-263b invsmileface
-263c sun
-2640 female
-2642 male
-2660 spade
-2663 club
-2665 heart
-2666 diamond
-266a musicalnote
-266b musicalnotedbl
-f6be dotlessj
-f6bf LL
-f6c0 ll
-f6c1 Scedilla
-f6c2 scedilla
-f6c3 commaaccent
-f6c4 afii10063
-f6c5 afii10064
-f6c6 afii10192
-f6c7 afii10831
-f6c8 afii10832
-f6c9 Acute
-f6ca Caron
-f6cb Dieresis
-f6cc DieresisAcute
-f6cd DieresisGrave
-f6ce Grave
-f6cf Hungarumlaut
-f6d0 Macron
-f6d1 cyrBreve
-f6d2 cyrFlex
-f6d3 dblGrave
-f6d4 cyrbreve
-f6d5 cyrflex
-f6d6 dblgrave
-f6d7 dieresisacute
-f6d8 dieresisgrave
-f6d9 copyrightserif
-f6da registerserif
-f6db trademarkserif
-f6dc onefitted
-f6dd rupiah
-f6de threequartersemdash
-f6df centinferior
-f6e0 centsuperior
-f6e1 commainferior
-f6e2 commasuperior
-f6e3 dollarinferior
-f6e4 dollarsuperior
-f6e5 hypheninferior
-f6e6 hyphensuperior
-f6e7 periodinferior
-f6e8 periodsuperior
-f6e9 asuperior
-f6ea bsuperior
-f6eb dsuperior
-f6ec esuperior
-f6ed isuperior
-f6ee lsuperior
-f6ef msuperior
-f6f0 osuperior
-f6f1 rsuperior
-f6f2 ssuperior
-f6f3 tsuperior
-f6f4 Brevesmall
-f6f5 Caronsmall
-f6f6 Circumflexsmall
-f6f7 Dotaccentsmall
-f6f8 Hungarumlautsmall
-f6f9 Lslashsmall
-f6fa OEsmall
-f6fb Ogoneksmall
-f6fc Ringsmall
-f6fd Scaronsmall
-f6fe Tildesmall
-f6ff Zcaronsmall
-f721 exclamsmall
-f724 dollaroldstyle
-f726 ampersandsmall
-f730 zerooldstyle
-f731 oneoldstyle
-f732 twooldstyle
-f733 threeoldstyle
-f734 fouroldstyle
-f735 fiveoldstyle
-f736 sixoldstyle
-f737 sevenoldstyle
-f738 eightoldstyle
-f739 nineoldstyle
-f73f questionsmall
-f760 Gravesmall
-f761 Asmall
-f762 Bsmall
-f763 Csmall
-f764 Dsmall
-f765 Esmall
-f766 Fsmall
-f767 Gsmall
-f768 Hsmall
-f769 Ismall
-f76a Jsmall
-f76b Ksmall
-f76c Lsmall
-f76d Msmall
-f76e Nsmall
-f76f Osmall
-f770 Psmall
-f771 Qsmall
-f772 Rsmall
-f773 Ssmall
-f774 Tsmall
-f775 Usmall
-f776 Vsmall
-f777 Wsmall
-f778 Xsmall
-f779 Ysmall
-f77a Zsmall
-f7a1 exclamdownsmall
-f7a2 centoldstyle
-f7a8 Dieresissmall
-f7af Macronsmall
-f7b4 Acutesmall
-f7b8 Cedillasmall
-f7bf questiondownsmall
-f7e0 Agravesmall
-f7e1 Aacutesmall
-f7e2 Acircumflexsmall
-f7e3 Atildesmall
-f7e4 Adieresissmall
-f7e5 Aringsmall
-f7e6 AEsmall
-f7e7 Ccedillasmall
-f7e8 Egravesmall
-f7e9 Eacutesmall
-f7ea Ecircumflexsmall
-f7eb Edieresissmall
-f7ec Igravesmall
-f7ed Iacutesmall
-f7ee Icircumflexsmall
-f7ef Idieresissmall
-f7f0 Ethsmall
-f7f1 Ntildesmall
-f7f2 Ogravesmall
-f7f3 Oacutesmall
-f7f4 Ocircumflexsmall
-f7f5 Otildesmall
-f7f6 Odieresissmall
-f7f8 Oslashsmall
-f7f9 Ugravesmall
-f7fa Uacutesmall
-f7fb Ucircumflexsmall
-f7fc Udieresissmall
-f7fd Yacutesmall
-f7fe Thornsmall
-f7ff Ydieresissmall
-f8e5 radicalex
-f8e6 arrowvertex
-f8e7 arrowhorizex
-f8e8 registersans
-f8e9 copyrightsans
-f8ea trademarksans
-f8eb parenlefttp
-f8ec parenleftex
-f8ed parenleftbt
-f8ee bracketlefttp
-f8ef bracketleftex
-f8f0 bracketleftbt
-f8f1 bracelefttp
-f8f2 braceleftmid
-f8f3 braceleftbt
-f8f4 braceex
-f8f5 integralex
-f8f6 parenrighttp
-f8f7 parenrightex
-f8f8 parenrightbt
-f8f9 bracketrighttp
-f8fa bracketrightex
-f8fb bracketrightbt
-f8fc bracerighttp
-f8fd bracerightmid
-f8fe bracerightbt
-fb00 ff
-fb01 fi
-fb02 fl
-fb03 ffi
-fb04 ffl
-fb1f afii57705
-fb2a afii57694
-fb2b afii57695
-fb35 afii57723
-fb4b afii57700
diff --git a/data/utf-8 b/data/utf-8
deleted file mode 100644 (file)
index 044691b..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-charset utf8
-
-#
-# This file defines the font mappings used for Unicode/UTF-8 text printing.
-#
-# Each line consists of:
-#
-#   first last direction width normal bold italic bold-italic
-#
-# First and last are the first and last glyphs in the font mapping
-# that correspond to that font; a maximum of 256 characters can be
-# mapped within each group, with a maximum of 256 mappings (this is a
-# PostScript limitation.) The glyph values are hexadecimal.
-#
-# Direction is the string "ltor" or "rtol", indicating left-to-right or
-# right-to-left text.
-#
-# Width is the string "single" or "double"; double means that the glyphs
-# are twice as wide as ASCII characters in the Monospace typeface.
-#
-# "Normal", "bold", "italic", and "bold-italic" are the typefaces to use
-# for each presentation.  If characters are only available in a single
-# style then only one typeface should be listed, e.g.
-#
-#    1000 10ff ltor single Monospace
-#
-# Each font that is listed will be downloaded to the printer when used.
-#
-
-0000 00FF ltor single Monospace Monospace-Bold Monospace-Oblique Monospace-BoldOblique
-0100 01FF ltor single Monospace Monospace-Bold Monospace-Oblique Monospace-BoldOblique
-0200 02FF ltor single Monospace Monospace-Bold Monospace-Oblique Monospace-BoldOblique
-0300 03FF ltor single Monospace Monospace-Bold Monospace-Oblique Monospace-BoldOblique
-0400 04FF ltor single Monospace Monospace-Bold Monospace-Oblique Monospace-BoldOblique
-1E00 1EFF ltor single Monospace Monospace-Bold Monospace-Oblique Monospace-BoldOblique
-2000 20FF ltor single Monospace Monospace-Bold Monospace-Oblique Monospace-BoldOblique
-2300 23FF ltor single Monospace Monospace-Bold Monospace-Oblique Monospace-BoldOblique
-2400 24FF ltor single Monospace Monospace-Bold Monospace-Oblique Monospace-BoldOblique
-2500 25FF ltor single Monospace Monospace-Bold Monospace-Oblique Monospace-BoldOblique
-2600 26FF ltor single Monospace Monospace-Bold Monospace-Oblique Monospace-BoldOblique
index ed43bce..e382636 100644 (file)
@@ -1,5 +1,5 @@
 #
-# "$Id: Makefile 8844 2009-10-14 16:53:45Z mike $"
+# "$Id: Makefile 11173 2013-07-23 12:31:34Z msweet $"
 #
 #   Desktop makefile for CUPS.
 #
@@ -131,5 +131,5 @@ uninstall:
 
 
 #
-# End of "$Id: Makefile 8844 2009-10-14 16:53:45Z mike $".
+# End of "$Id: Makefile 11173 2013-07-23 12:31:34Z msweet $".
 #
index ef200ce..2d521fa 100644 (file)
@@ -7,6 +7,10 @@ Terminal=false
 Type=Application
 Name=Manage Printing
 Comment=CUPS Web Interface
+Name[ca]=Gestor d'impressió
+Comment[ca]=Interfície web de CUPS
+Name[cs]=Správa tisku CUPS
+Comment[cs]=Webové rozhraní CUPS
 Name[de]=Druckerverwaltung
 Comment[de]=CUPS Webinterface
 Name[en_US]=Manage Printing
@@ -21,8 +25,6 @@ Name[fr]=Gestionnaire d'impression
 Comment[fr]=Interface Web de CUPS
 Name[he]=נהל הדפסות
 Comment[he]=ממשק דפדפן של CUPS
-Name[hu]=Nyomtatás kezelése
-Comment[hu]=A CUPS webes felülete
 Name[id]=Manajemen Pencetakan
 Comment[id]=Antarmuka Web CUPS
 Name[it]=Gestione stampa
index 014074a..c726747 100644 (file)
@@ -1,9 +1,9 @@
 #
-# "$Id: Makefile 9483 2011-01-17 05:40:28Z mike $"
+# "$Id: Makefile 11173 2013-07-23 12:31:34Z msweet $"
 #
 #   Documentation makefile for CUPS.
 #
-#   Copyright 2007-2011 by Apple Inc.
+#   Copyright 2007-2012 by Apple Inc.
 #   Copyright 1997-2007 by Easy Software Products.
 #
 #   These coded instructions, statements, and computer programs are the
@@ -66,7 +66,7 @@ HELPFILES     =       \
                        help/man-cancel.html \
                        help/man-cups-config.html \
                        help/man-cups-lpd.html \
-                       help/man-cups-polld.html \
+                       help/man-cups-snmp.html \
                        help/man-cupsaddsmb.html \
                        help/man-cupsd.html \
                        help/man-cupsenable.html \
@@ -105,6 +105,7 @@ HELPFILES   =       \
                        help/ref-classes-conf.html \
                        help/ref-client-conf.html \
                        help/ref-cupsd-conf.html \
+                       help/ref-cups-files-conf.html \
                        help/ref-error_log.html \
                        help/ref-mailto-conf.html \
                        help/ref-page_log.html \
diff --git a/doc/ca/index.html.in b/doc/ca/index.html.in
new file mode 100644 (file)
index 0000000..77542d3
--- /dev/null
@@ -0,0 +1,107 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML>
+<HEAD>
+       <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+       <TITLE>Inici - CUPS @CUPS_VERSION@@CUPS_REVISION@</TITLE>
+       <LINK REL="STYLESHEET" TYPE="text/css" HREF="/cups.css">
+       <LINK REL="SHORTCUT ICON" HREF="/images/cups-icon.png" TYPE="image/png">
+</HEAD>
+<BODY>
+<TABLE CLASS="page" SUMMARY="{title}">
+<TR><TD CLASS="body">
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
+<TR HEIGHT="36">
+<TD><A HREF="http://www.cups.org/" TARGET="_blank"><IMG
+SRC="/images/left.gif" WIDTH="64" HEIGHT="36" BORDER="0" ALT=""></A></TD>
+<TD CLASS="sel"><A HREF="/">&nbsp;&nbsp;Inici&nbsp;&nbsp;</A></TD>
+<TD CLASS="unsel"><A HREF="/admin">&nbsp;&nbsp;Administració&nbsp;&nbsp;</A></TD>
+<TD CLASS="unsel"><A HREF="/classes/">&nbsp;&nbsp;Classes&nbsp;&nbsp;</A></TD>
+<TD CLASS="unsel"><A HREF="/help/">&nbsp;&nbsp;Ajuda&nbsp;en&nbsp;línia&nbsp;&nbsp;</A></TD>
+<TD CLASS="unsel"><A HREF="/jobs/">&nbsp;&nbsp;Tasques&nbsp;&nbsp;</A></TD>
+<TD CLASS="unsel"><A HREF="/printers/">&nbsp;&nbsp;Impressores&nbsp;&nbsp;</A></TD>
+<TD CLASS="unsel" WIDTH="100%"><FORM ACTION="/help/" METHOD="GET"><INPUT
+TYPE="SEARCH" NAME="QUERY" SIZE="20" PLACEHOLDER="Search Help"
+AUTOSAVE="org.cups.help" RESULTS="20"></FORM></TD>
+<TD><IMG SRC="/images/right.gif" WIDTH="4" HEIGHT="36" ALT=""></TD>
+</TR>
+</TABLE>
+
+<TABLE CLASS="indent" SUMMARY="">
+<TR><TD STYLE="padding-right: 20px;">
+
+<H1>CUPS @CUPS_VERSION@</H1>
+
+<P>CUPS és el sistema d'impressió de codi obert i basat en estandards desenvolupat per
+<A HREF="http://www.apple.com/">Apple Inc.</A> per OS<SUP>&reg;</SUP> X and
+altres sistemes operatius basats en UNIX<SUP>&reg;</SUP></P>
+
+</TD>
+<TD><A HREF="http://www.cups.org/"><IMG SRC="images/cups-icon.png" WIDTH="128"
+HEIGHT="128" ALT="CUPS"></A></TD>
+</TR>
+</TABLE>
+
+<TABLE CLASS="indent" SUMMARY="">
+<TR><TD VALIGN="top" STYLE="border-right: dotted thin #cccccc; padding-right: 20px;">
+
+<H2>CUPS per usuaris</H2>
+
+<P><A HREF="help/overview.html">Descripció general del CUPS</A></P>
+
+<P><A HREF="help/options.html">Impresió i opcions en linia de comandes</A></P>
+
+<P><A HREF="help/whatsnew.html">Novetats del CUPS 1.4</A></P>
+
+<P><A HREF="http://www.cups.org/newsgroups.php?gcups.general">Fòrum d'usuaris</A></P>
+
+</TD><TD VALIGN="top" STYLE="border-right: dotted thin #cccccc; padding-left: 20px; padding-right: 20px;">
+
+<H2>CUPS per Administradors</H2>
+
+<P><A HREF="admin">Afegir impressores i classes</A></P>
+
+<P><A HREF="help/policies.html">Gestió de les polítiques de treball</A></P>
+
+<P><A HREF="help/accounting.html">Bàsic de comptes d'impressió</A></P>
+
+<P><A HREF="help/security.html">Seguritat del servidor</A></P>
+
+<P><A HREF="help/kerberos.html">Ús d'autenticació amb el Kerberos</A></P>
+
+<P><A HREF="help/network.html">Ús d'impressores en xarxa</A></P>
+
+<P><A HREF="help/ref-cupsd-conf.html">Referència del cupsd.conf</A></P>
+
+<P><A HREF="http://www.cups.org/ppd.php">Cerca de controladors d'impressora</A></P>
+
+</TD><TD VALIGN="top" STYLE="padding-left: 20px;">
+
+<H2>CUPS per desenvolupadors</H2>
+
+<P><A HREF="help/api-overview.html">Introducció a la programació amb CUPS</A></P>
+
+<P><A HREF="help/api-cups.html">La API de CUPS</A></P>
+
+<P><A HREF="help/api-filter.html">Programació de filtres i rerefons</A></P>
+
+<P><A HREF="help/api-httpipp.html">APIs per HTTP i IPP</A></P>
+
+<P><A HREF="help/api-ppd.html">API per PPD</A></P>
+
+<P><A HREF="help/api-raster.html">API per Raster</A></P>
+
+<P><A HREF="help/ref-ppdcfile.html">Referència del fitxer d'inf. del compilador del controlador per PPD</A></P>
+
+<P><A HREF="http://www.cups.org/newsgroups.php?gcups.development">Fòrum de desenvolupadors</A></P>
+
+</TD></TR>
+</TABLE>
+
+</TD></TR>
+<TR><TD>&nbsp;</TD></TR>
+<TR><TD CLASS="trailer">CUPS i el seu logotip són marques registrades de
+<A HREF="http://www.apple.com">Apple Inc.</A> CUPS té copyright 2007-2013 d'Apple
+Inc. Tots els drets reservats.</TD></TR>
+</TABLE>
+</BODY>
+</HTML>
diff --git a/doc/cs/index.html.in b/doc/cs/index.html.in
new file mode 100644 (file)
index 0000000..38f4a6f
--- /dev/null
@@ -0,0 +1,107 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML>
+<HEAD>
+       <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+       <TITLE>Hlavní strana - CUPS @CUPS_VERSION@@CUPS_REVISION@</TITLE>
+       <LINK REL="STYLESHEET" TYPE="text/css" HREF="/cups.css">
+       <LINK REL="SHORTCUT ICON" HREF="/images/cups-icon.png" TYPE="image/png">
+</HEAD>
+<BODY>
+<TABLE CLASS="page" SUMMARY="{title}">
+<TR><TD CLASS="body">
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
+<TR HEIGHT="36">
+<TD><A HREF="http://www.cups.org/" TARGET="_blank"><IMG
+SRC="/images/left.gif" WIDTH="64" HEIGHT="36" BORDER="0" ALT=""></A></TD>
+<TD CLASS="sel"><A HREF="/">&nbsp;&nbsp;Hlavní strana&nbsp;&nbsp;</A></TD>
+<TD CLASS="unsel"><A HREF="/admin">&nbsp;&nbsp;Administrace&nbsp;&nbsp;</A></TD>
+<TD CLASS="unsel"><A HREF="/classes/">&nbsp;&nbsp;Třídy tiskáren&nbsp;&nbsp;</A></TD>
+<TD CLASS="unsel"><A HREF="/help/">&nbsp;&nbsp;Nápověda&nbsp;&nbsp;</A></TD>
+<TD CLASS="unsel"><A HREF="/jobs/">&nbsp;&nbsp;Úlohy&nbsp;&nbsp;</A></TD>
+<TD CLASS="unsel"><A HREF="/printers/">&nbsp;&nbsp;Tiskárny&nbsp;&nbsp;</A></TD>
+<TD CLASS="unsel" WIDTH="100%"><FORM ACTION="/help/" METHOD="GET"><INPUT
+TYPE="SEARCH" NAME="QUERY" SIZE="20" PLACEHOLDER="Hledat"
+AUTOSAVE="org.cups.help" RESULTS="20"></FORM></TD>
+<TD><IMG SRC="/images/right.gif" WIDTH="4" HEIGHT="36" ALT=""></TD>
+</TR>
+</TABLE>
+
+<TABLE CLASS="indent" SUMMARY="">
+<TR><TD STYLE="padding-right: 20px;">
+
+<H1>CUPS @CUPS_VERSION@</H1>
+
+<P>CUPS je na bázi standardů otevřený zdrojový kód tiskového systému vyvinutý
+společností <A HREF="http://www.apple.com/">Apple Inc.</A> pro Mac OS<SUP>&reg;</SUP>
+X a jiné UNIX<SUP>&reg;</SUP>ové operační systémy.</P>
+
+</TD>
+<TD><A HREF="http://www.cups.org/"><IMG SRC="images/cups-icon.png" WIDTH="128"
+HEIGHT="128" ALT="CUPS"></A></TD>
+</TR>
+</TABLE>
+
+<TABLE CLASS="indent" SUMMARY="">
+<TR><TD VALIGN="top" STYLE="border-right: dotted thin #cccccc; padding-right: 20px;">
+
+<H2>CUPS pro uživatele</H2>
+
+<P><A HREF="help/overview.html">Popis CUPS</A></P>
+
+<P><A HREF="help/options.html">Příkazová řádka tisku a Možnosti</A></P>
+
+<P><A HREF="help/whatsnew.html">Co je nového v CUPS 1.6</A></P>
+
+<P><A HREF="http://www.cups.org/newsgroups.php?gcups.general">Uživatelské fórum</A></P>
+
+</TD><TD VALIGN="top" STYLE="border-right: dotted thin #cccccc; padding-left: 20px; padding-right: 20px;">
+
+<H2>CUPS pro administrátory</H2>
+
+<P><A HREF="admin">Přidání tiskáren a tříd</A></P>
+
+<P><A HREF="help/policies.html">Správa politik</A></P>
+
+<P><A HREF="help/accounting.html">Základní účtování tiskáren</A></P>
+
+<P><A HREF="help/security.html">Zabezpečení serveru</A></P>
+
+<P><A HREF="help/kerberos.html">Použití ověřování pomocí protokolu Kerberos</A></P>
+
+<P><A HREF="help/network.html">Použití síťových tiskáren</A></P>
+
+<P><A HREF="help/ref-cupsd-conf.html">Konfigurační soubor cupsd.conf</A></P>
+
+<P><A HREF="http://www.cups.org/ppd.php">Hedat ovladače tiskárny</A></P>
+
+</TD><TD VALIGN="top" STYLE="padding-left: 20px;">
+
+<H2>CUPS pro vývojáře</H2>
+
+<P><A HREF="help/api-overview.html">Úvod do CUPS programování</A></P>
+
+<P><A HREF="help/api-cups.html">CUPS API knihovny</A></P>
+
+<P><A HREF="help/api-filter.html">Programování filtrů a backendů</A></P>
+
+<P><A HREF="help/api-httpipp.html">HTTP a IPP API knihovny</A></P>
+
+<P><A HREF="help/api-ppd.html">PPD API knihovny</A></P>
+
+<P><A HREF="help/api-raster.html">Raster API knihovny</A></P>
+
+<P><A HREF="help/ref-ppdcfile.html">PPD kompilátor Driver Information File Reference</A></P>
+
+<P><A HREF="http://www.cups.org/newsgroups.php?gcups.development">Vývojářské fórum</A></P>
+
+</TD></TR>
+</TABLE>
+
+</TD></TR>
+<TR><TD>&nbsp;</TD></TR>
+<TR><TD CLASS="trailer">CUPS a logo CUPS jsou ochranné známky společnosti
+<A HREF="http://www.apple.com">Apple Inc.</A> CUPS je chráněn autorskými
+právy 2007-2013 Apple Inc. Všechna práva vyhrazena.</TD></TR>
+</TABLE>
+</BODY>
+</HTML>
diff --git a/doc/de/index.html.in b/doc/de/index.html.in
deleted file mode 100644 (file)
index 37af841..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<HTML>
-<HEAD>
-       <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
-       <TITLE>Home - CUPS @CUPS_VERSION@@CUPS_REVISION@</TITLE>
-       <LINK REL="STYLESHEET" TYPE="text/css" HREF="/cups.css">
-       <LINK REL="SHORTCUT ICON" HREF="/images/cups-icon.png" TYPE="image/png">
-</HEAD>
-<BODY>
-<TABLE CLASS="page" SUMMARY="{title}">
-<TR><TD CLASS="body">
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
-<TR HEIGHT="36">
-<TD><A HREF="http://www.cups.org/" TARGET="_blank"><IMG
-SRC="/images/left.gif" WIDTH="64" HEIGHT="36" BORDER="0" ALT=""></A></TD>
-<TD CLASS="sel"><A HREF="/">&nbsp;&nbsp;Startseite&nbsp;&nbsp;</A></TD>
-<TD CLASS="unsel"><A HREF="/admin">&nbsp;&nbsp;Verwaltung&nbsp;&nbsp;</A></TD>
-<TD CLASS="unsel"><A HREF="/classes/">&nbsp;&nbsp;Klassen&nbsp;&nbsp;</A></TD>
-<TD CLASS="unsel"><A HREF="/help/">&nbsp;&nbsp;Online-&nbsp;Hilfe&nbsp;&nbsp;</A></TD>
-<TD CLASS="unsel"><A HREF="/jobs/">&nbsp;&nbsp;Auftr&auml;ge&nbsp;&nbsp;</A></TD>
-<TD CLASS="unsel"><A HREF="/printers/">&nbsp;&nbsp;Drucker&nbsp;&nbsp;</A></TD>
-<TD CLASS="unsel" WIDTH="100%"><FORM ACTION="/help/" METHOD="GET"><INPUT
-TYPE="SEARCH" NAME="QUERY" SIZE="20" PLACEHOLDER="Search Help"
-AUTOSAVE="org.cups.help" RESULTS="20"></FORM></TD>
-<TD><IMG SRC="/images/right.gif" WIDTH="4" HEIGHT="36" ALT=""></TD>
-</TR>
-</TABLE>
-
-<TABLE CLASS="indent" SUMMARY="">
-<TR><TD STYLE="padding-right: 20px;">
-
-<H1>Common UNIX Printing System @CUPS_VERSION@</H1>
-
-<P>CUPS ist das auf Standards basierte, Opensource-Drucksystem, welches von
-<A HREF="http://www.apple.com/">Apple Inc.</A> f&uuml;r Mac OS<SUP>&reg;</SUP> X und
-andere UNIX<SUP>&reg;</SUP>-&auml;hnliche Betriebssysteme entwickelt wird.</P>
-
-</TD>
-<TD><A HREF="http://www.cups.org/"><IMG SRC="images/cups-icon.png" WIDTH="128"
-HEIGHT="128" ALT="CUPS"></A></TD>
-</TR>
-</TABLE>
-
-<TABLE CLASS="indent" SUMMARY="">
-<TR><TD VALIGN="top" STYLE="border-right: dotted thin #cccccc; padding-right: 20px;">
-
-<H2>CUPS f&uuml;r Benutzer</H2>
-
-<P><A HREF="help/overview.html">CUPS.&Uuml;bersicht</A></P>
-
-<P><A HREF="help/options.html">Kommandozeilendruck und Einstellungen</A></P>
-
-<P><A HREF="help/whatsnew.html">Neues in CUPS 1.5</A></P>
-
-<P><A HREF="http://www.cups.org/newsgroups.php?gcups.general">Benutzerforum</A></P>
-
-</TD><TD VALIGN="top" STYLE="border-right: dotted thin #cccccc; padding-left: 20px; padding-right: 20px;">
-
-<H2>CUPS f&uuml;r Administratoren</H2>
-
-<P><A HREF="admin">Drucker und Klassen hinzuf&uuml;gen</A></P>
-
-<P><A HREF="help/policies.html">Betriebsrichtlinien verwalten</A></P>
-
-<P><A HREF="help/accounting.html">Basiswissen Druckabrechnung</A></P>
-
-<P><A HREF="help/security.html">Sicherheit des Servers</A></P>
-
-<P><A HREF="help/kerberos.html">Verwenden der Kerberos Authentifizierung</A></P>
-
-<P><A HREF="help/network.html">Benutzen von Netzwerkdruckern</A></P>
-
-<P><A HREF="help/ref-cupsd-conf.html">cupsd.conf Referenz</A></P>
-
-<P><A HREF="http://www.cups.org/ppd.php">Druckertreiber finden</A></P>
-
-</TD><TD VALIGN="top" STYLE="padding-left: 20px;">
-
-<H2>CUPS f&uuml;r Entwickler</H2>
-
-<P><A HREF="help/api-overview.html">Einf&uuml;hrung in die CUPS-Programmierung</A></P>
-
-<P><A HREF="help/api-cups.html">CUPS-API</A></P>
-
-<P><A HREF="help/api-filter.html">Filter- und Backend-Programmierung</A></P>
-
-<P><A HREF="help/api-httpipp.html">HTTP- und IPP-APIs</A></P>
-
-<P><A HREF="help/api-ppd.html">PPD-API</A></P>
-
-<P><A HREF="help/api-raster.html">Raster-API</A></P>
-
-<P><A HREF="help/ref-ppdcfile.html">PPD Compiler Driver Information File Reference</A></P>
-
-<P><A HREF="http://www.cups.org/newsgroups.php?gcups.development">Entwicklerforum</A></P>
-
-</TD></TR>
-</TABLE>
-
-</TD></TR>
-<TR><TD>&nbsp;</TD></TR>
-<TR><TD CLASS="trailer">CUPS und das CUPS Logo sind
-eingetragene Warenzeichen der <A HREF="http://www.apple.com">Apple Inc.</A>
-CUPS ist urheberrechtlich gesch&uuml;tzt 2007-2012 von Apple Inc, alle Rechte vorbehalten.</TD></TR>
-</TABLE>
-</BODY>
-</HTML>
index d40bf55..d4ef797 100644 (file)
@@ -32,7 +32,7 @@ AUTOSAVE="org.cups.help" RESULTS="20"></FORM></TD>
 <H1>CUPS @CUPS_VERSION@</H1>
 
 <P>CUPS es el sistema de impresi&oacute;n de c&oacute;digo abierto basado en
-est&aacute;ndares desarrollado por <A HREF="http://www.apple.com/">Apple Inc.</A> para Mac
+est&aacute;ndares desarrollado por <A HREF="http://www.apple.com/">Apple Inc.</A> para
 OS<SUP>&reg;</SUP> X y otros sistemas operativos tipo UNIX<SUP>&reg;</SUP>.</P>
 
 </TD>
@@ -50,7 +50,7 @@ HEIGHT="128" ALT="CUPS"></A></TD>
 
 <P><A HREF="help/options.html">Impresi&oacute;n desde la l&iacute;nea de comandos y opciones</A></P>
 
-<P><A HREF="help/whatsnew.html">Qu&eacute; hay de nuevo en CUPS 1.5</A></P>
+<P><A HREF="help/whatsnew.html">Qu&eacute; hay de nuevo en CUPS 1.6</A></P>
 
 <P><A HREF="http://www.cups.org/newsgroups.php?gcups.general">Foro de usuarios</A></P>
 
@@ -78,7 +78,7 @@ HEIGHT="128" ALT="CUPS"></A></TD>
 
 <H2>CUPS para desarrolladores</H2>
 
-<P><A HREF="help/api-overview.html">Introducci&oacute;n a la programación de CUPS</A></P>
+<P><A HREF="help/api-overview.html">Introducci&oacute;n a la programaci&oacute;n de CUPS</A></P>
 
 <P><A HREF="help/api-cups.html">La API de CUPS</A></P>
 
@@ -101,7 +101,7 @@ HEIGHT="128" ALT="CUPS"></A></TD>
 <TR><TD>&nbsp;</TD></TR>
 <TR><TD CLASS="trailer">CUPS y el logo de CUPS son
 marcas registradas de <A HREF="http://www.apple.com">Apple Inc.</A> Los derechos
-de copia de CUPS 2007-2012 son de Apple Inc. Todos los derechos reservados.</TD></TR>
+de copia de CUPS 2007-2013 son de Apple Inc. Todos los derechos reservados.</TD></TR>
 </TABLE>
 </BODY>
 </HTML>
diff --git a/doc/eu/index.html.in b/doc/eu/index.html.in
deleted file mode 100644 (file)
index 339e524..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<HTML>
-<HEAD>
-       <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
-       <TITLE>Hasiera - CUPS @CUPS_VERSION@@CUPS_REVISION@</TITLE>
-       <LINK REL="STYLESHEET" TYPE="text/css" HREF="/cups.css">
-       <LINK REL="SHORTCUT ICON" HREF="/images/cups-icon.png" TYPE="image/png">
-</HEAD>
-<BODY>
-<TABLE CLASS="page" SUMMARY="{title}">
-<TR><TD CLASS="body">
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
-<TR HEIGHT="36">
-<TD><A HREF="http://www.cups.org/" TARGET="_blank"><IMG
-SRC="/images/left.gif" WIDTH="64" HEIGHT="36" BORDER="0" ALT=""></A></TD>
-<TD CLASS="sel"><A HREF="/">&nbsp;&nbsp;Hasiera&nbsp;&nbsp;</A></TD>
-<TD CLASS="unsel"><A HREF="/admin">&nbsp;&nbsp;Administrazioa&nbsp;&nbsp;</A></TD>
-<TD CLASS="unsel"><A HREF="/classes/">&nbsp;&nbsp;Klaseak&nbsp;&nbsp;</A></TD>
-<TD CLASS="unsel"><A HREF="/help/">&nbsp;&nbsp;Lineako&nbsp;laguntza&nbsp;&nbsp;</A></TD>
-<TD CLASS="unsel"><A HREF="/jobs/">&nbsp;&nbsp;Lanak&nbsp;&nbsp;</A></TD>
-<TD CLASS="unsel"><A HREF="/printers/">&nbsp;&nbsp;Inprimagailuak&nbsp;&nbsp;</A></TD>
-<TD CLASS="unsel" WIDTH="100%"><FORM ACTION="/help/" METHOD="GET"><INPUT
-TYPE="SEARCH" NAME="QUERY" SIZE="20" PLACEHOLDER="Bilatu laguntzan"
-AUTOSAVE="org.cups.help" RESULTS="20"></FORM></TD>
-<TD><IMG SRC="/images/right.gif" WIDTH="4" HEIGHT="36" ALT=""></TD>
-</TR>
-</TABLE>
-
-<TABLE CLASS="indent" SUMMARY="">
-<TR><TD STYLE="padding-right: 20px;">
-
-<H1>CUPS @CUPS_VERSION@</H1>
-
-<P><A HREF="http://www.apple.com/">Apple Inc.</A>-ek Mac OS<SUP>&reg;</SUP> X eta
-beste UNIX<SUP>&reg;</SUP> bezalako sistema eragileentzako iturburu irekiko
-inprimatzeko sisteman oinarrituta dago.</P>
-
-</TD>
-<TD><A HREF="http://www.cups.org/"><IMG SRC="images/cups-icon.png" WIDTH="128"
-HEIGHT="128" ALT="CUPS"></A></TD>
-</TR>
-</TABLE>
-
-<TABLE CLASS="indent" SUMMARY="">
-<TR><TD VALIGN="top" STYLE="border-right: dotted thin #cccccc; padding-right: 20px;">
-
-<H2>CUPS erabiltzaileentzako</H2>
-
-<P><A HREF="help/overview.html">CUPSen gainbegiraketa</A></P>
-
-<P><A HREF="help/options.html">Komando-lerroaren bidez inprimatzea eta aukerak</A></P>
-
-<P><A HREF="help/whatsnew.html">CUPS 1.5 bertsioak dakartzan berrikuntza.</A></P>
-
-<P><A HREF="http://www.cups.org/newsgroups.php?gcups.general">Erabiltzaileen foroa</A></P>
-
-</TD><TD VALIGN="top" STYLE="border-right: dotted thin #cccccc; padding-left: 20px; padding-right: 20px;">
-
-<H2>CUPS administratzaileentzako</H2>
-
-<P><A HREF="admin">Inprimagailuak eta klaseak gehitzea</A></P>
-
-<P><A HREF="help/policies.html">Kudeaketako eragiketen politikak</A></P>
-
-<P><A HREF="help/accounting.html">Inprimagailuaren oinarrizko kontabilitatea</A></P>
-
-<P><A HREF="help/security.html">Zerbitzariaren segurtasuna</A></P>
-
-<P><A HREF="help/kerberos.html">Kerberos autentifikazioa erabiltzea</A></P>
-
-<P><A HREF="help/network.html">Sareko inprimagailuak erabiltzea</A></P>
-
-<P><A HREF="help/ref-cupsd-conf.html">cupsd.conf erreferentzia</A></P>
-
-<P><A HREF="http://www.cups.org/ppd.php">Bilatu inprimagailuaren kontrolatzaileak</A></P>
-
-</TD><TD VALIGN="top" STYLE="padding-left: 20px;">
-
-<H2>CUPS garatzaileentzako</H2>
-
-<P><A HREF="help/api-overview.html">Sarrera CUPSen programaziora</A></P>
-
-<P><A HREF="help/api-cups.html">CUPSen APIa</A></P>
-
-<P><A HREF="help/api-filter.html">Iragazkien eta atzeko planoan programatzeea</A></P>
-
-<P><A HREF="help/api-httpipp.html">HTTP eta IPP APIak</A></P>
-
-<P><A HREF="help/api-ppd.html">PPD APIa</A></P>
-
-<P><A HREF="help/api-raster.html">Bilbearen APIa</A></P>
-
-<P><A HREF="help/ref-ppdcfile.html">PPD kontrolatzaileen konpilatzailearen informazioaren fitxategiaren erreferentzia</A></P>
-
-<P><A HREF="http://www.cups.org/newsgroups.php?gcups.development">Garatzaileen forua</A></P>
-
-</TD></TR>
-</TABLE>
-
-</TD></TR>
-<TR><TD>&nbsp;</TD></TR>
-<TR><TD CLASS="trailer">CUPS eta CUPSen logotipoa <A HREF="http://www.apple.com">Apple Inc.</A> en marka erregistratuak dira.
-CUPSen copyright-a 2007-2012 Apple Inc. Eskubide guztiak gordeta.</TD></TR>
-</TABLE>
-</BODY>
-</HTML>
index 86f2435..3345a48 100644 (file)
@@ -50,7 +50,7 @@ HEIGHT="128" ALT="CUPS"></A></TD>
 
 <P><A HREF="help/options.html">Impression en ligne de commande et options</A></P>
 
-<P><A HREF="help/whatsnew.html">Quoi de neuf dans CUPS 1.5</A></P>
+<P><A HREF="help/whatsnew.html">Quoi de neuf dans CUPS 1.6</A></P>
 
 <P><A HREF="http://www.cups.org/newsgroups.php?gcups.general">Forum utilisateur</A></P>
 
@@ -100,7 +100,7 @@ HEIGHT="128" ALT="CUPS"></A></TD>
 </TD></TR>
 <TR><TD>&nbsp;</TD></TR>
 <TR><TD CLASS="trailer">CUPS et le logo CUPS sont des marques d&eacute;pos&eacute;es de
-<A HREF="http://www.apple.com">Apple Inc.</A> CUPS est sous copyright 2007-2012 Apple
+<A HREF="http://www.apple.com">Apple Inc.</A> CUPS est sous copyright 2007-2013 Apple
 Inc. Tous droits r&eacute;serv&eacute;s.</TD></TR>
 </TABLE>
 </BODY>
index 7f22251..0c1998e 100644 (file)
@@ -341,7 +341,7 @@ div.contents ul.subcontents li {
 <body>
 <div class='body'>
 <!--
-  "$Id: api-array.html 9772 2011-05-12 05:46:30Z mike $"
+  "$Id: api-array.header 7266 2008-01-29 02:15:29Z mike $"
 
   Array API header for CUPS.
 
@@ -413,7 +413,7 @@ div.contents ul.subcontents li {
 </ul></li>
 </ul>
 <!--
-  "$Id: api-array.html 9772 2011-05-12 05:46:30Z mike $"
+  "$Id: api-array.shtml 7616 2008-05-28 00:34:13Z mike $"
 
   Array API introduction for CUPS.
 
@@ -609,7 +609,7 @@ for (s = (char *)<a href='#cupsArrayFirst'>cupsArrayFirst</a>(array); s != NULL;
   puts(s);
 </pre>
 <h2 class="title"><a name="FUNCTIONS">Functions</a></h2>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsArrayAdd">cupsArrayAdd</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsArrayAdd">cupsArrayAdd</a></h3>
 <p class="description">Add an element to the array.</p>
 <p class="code">
 int cupsArrayAdd (<br>
@@ -631,7 +631,7 @@ appended at the end of the run of identical elements.  For unsorted arrays,
 the element is appended to the end of the array.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsArrayClear">cupsArrayClear</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsArrayClear">cupsArrayClear</a></h3>
 <p class="description">Clear the array.</p>
 <p class="code">
 void cupsArrayClear (<br>
@@ -648,7 +648,7 @@ The caller is responsible for freeing the memory used by the
 elements themselves.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsArrayCount">cupsArrayCount</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsArrayCount">cupsArrayCount</a></h3>
 <p class="description">Get the number of elements in the array.</p>
 <p class="code">
 int cupsArrayCount (<br>
@@ -661,7 +661,7 @@ int cupsArrayCount (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Number of elements</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsArrayCurrent">cupsArrayCurrent</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsArrayCurrent">cupsArrayCurrent</a></h3>
 <p class="description">Return the current element in the array.</p>
 <p class="code">
 void *cupsArrayCurrent (<br>
@@ -679,7 +679,7 @@ void *cupsArrayCurrent (<br>
 <a href="#cupsArrayFirst"><code>cupsArrayFirst</code></a>, or <a href="#cupsArrayIndex"><code>cupsArrayIndex</code></a>, or <a href="#cupsArrayLast"><code>cupsArrayLast</code></a>.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsArrayDelete">cupsArrayDelete</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsArrayDelete">cupsArrayDelete</a></h3>
 <p class="description">Free all memory used by the array.</p>
 <p class="code">
 void cupsArrayDelete (<br>
@@ -695,7 +695,7 @@ void cupsArrayDelete (<br>
 elements themselves.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsArrayDup">cupsArrayDup</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsArrayDup">cupsArrayDup</a></h3>
 <p class="description">Duplicate the array.</p>
 <p class="code">
 <a href="#cups_array_t">cups_array_t</a> *cupsArrayDup (<br>
@@ -708,7 +708,7 @@ elements themselves.
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Duplicate array</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsArrayFind">cupsArrayFind</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsArrayFind">cupsArrayFind</a></h3>
 <p class="description">Find an element in the array.</p>
 <p class="code">
 void *cupsArrayFind (<br>
@@ -724,7 +724,7 @@ void *cupsArrayFind (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Element found or <code>NULL</code></p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsArrayFirst">cupsArrayFirst</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsArrayFirst">cupsArrayFirst</a></h3>
 <p class="description">Get the first element in the array.</p>
 <p class="code">
 void *cupsArrayFirst (<br>
@@ -737,7 +737,7 @@ void *cupsArrayFirst (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">First element or <code>NULL</code> if the array is empty</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.3/Mac OS X 10.5&nbsp;</span><a name="cupsArrayGetIndex">cupsArrayGetIndex</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.3/OS X 10.5&nbsp;</span><a name="cupsArrayGetIndex">cupsArrayGetIndex</a></h3>
 <p class="description">Get the index of the current element.</p>
 <p class="code">
 int cupsArrayGetIndex (<br>
@@ -755,7 +755,7 @@ int cupsArrayGetIndex (<br>
 <a href="#cupsArrayFirst"><code>cupsArrayFirst</code></a>, or <a href="#cupsArrayIndex"><code>cupsArrayIndex</code></a>, or <a href="#cupsArrayLast"><code>cupsArrayLast</code></a>.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.3/Mac OS X 10.5&nbsp;</span><a name="cupsArrayGetInsert">cupsArrayGetInsert</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.3/OS X 10.5&nbsp;</span><a name="cupsArrayGetInsert">cupsArrayGetInsert</a></h3>
 <p class="description">Get the index of the last inserted element.</p>
 <p class="code">
 int cupsArrayGetInsert (<br>
@@ -768,7 +768,7 @@ int cupsArrayGetInsert (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Index of the last inserted element, starting at 0</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsArrayIndex">cupsArrayIndex</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsArrayIndex">cupsArrayIndex</a></h3>
 <p class="description">Get the N-th element in the array.</p>
 <p class="code">
 void *cupsArrayIndex (<br>
@@ -784,7 +784,7 @@ void *cupsArrayIndex (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">N-th element or <code>NULL</code></p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsArrayInsert">cupsArrayInsert</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsArrayInsert">cupsArrayInsert</a></h3>
 <p class="description">Insert an element in the array.</p>
 <p class="code">
 int cupsArrayInsert (<br>
@@ -806,7 +806,7 @@ inserted at the beginning of the run of identical elements.  For unsorted
 arrays, the element is inserted at the beginning of the array.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsArrayLast">cupsArrayLast</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsArrayLast">cupsArrayLast</a></h3>
 <p class="description">Get the last element in the array.</p>
 <p class="code">
 void *cupsArrayLast (<br>
@@ -819,7 +819,7 @@ void *cupsArrayLast (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Last element or <code>NULL</code> if the array is empty</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsArrayNew">cupsArrayNew</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsArrayNew">cupsArrayNew</a></h3>
 <p class="description">Create a new array.</p>
 <p class="code">
 <a href="#cups_array_t">cups_array_t</a> *cupsArrayNew (<br>
@@ -842,7 +842,7 @@ data pointer argument can safely be omitted when not required so functions
 like <code>strcmp</code> can be used for sorted string arrays.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.3/Mac OS X 10.5&nbsp;</span><a name="cupsArrayNew2">cupsArrayNew2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.3/OS X 10.5&nbsp;</span><a name="cupsArrayNew2">cupsArrayNew2</a></h3>
 <p class="description">Create a new array with hash.</p>
 <p class="code">
 <a href="#cups_array_t">cups_array_t</a> *cupsArrayNew2 (<br>
@@ -874,7 +874,7 @@ The hash function (&quot;h&quot;) is used to implement cached lookups with the
 specified hash size (&quot;hsize&quot;).
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span><a name="cupsArrayNew3">cupsArrayNew3</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.5/OS X 10.7&nbsp;</span><a name="cupsArrayNew3">cupsArrayNew3</a></h3>
 <p class="description">Create a new array with hash and/or free function.</p>
 <p class="code">
 <a href="#cups_array_t">cups_array_t</a> *cupsArrayNew3 (<br>
@@ -918,7 +918,7 @@ The free function (&quot;cf&quot;) is used to automatically free/release element
 removed or the array is deleted.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsArrayNext">cupsArrayNext</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsArrayNext">cupsArrayNext</a></h3>
 <p class="description">Get the next element in the array.</p>
 <p class="code">
 void *cupsArrayNext (<br>
@@ -939,7 +939,7 @@ The next element is undefined until you call <a href="#cupsArrayFind"><code>cups
 to set the current element.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsArrayPrev">cupsArrayPrev</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsArrayPrev">cupsArrayPrev</a></h3>
 <p class="description">Get the previous element in the array.</p>
 <p class="code">
 void *cupsArrayPrev (<br>
@@ -960,7 +960,7 @@ The previous element is undefined until you call <a href="#cupsArrayFind"><code>
 to set the current element.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsArrayRemove">cupsArrayRemove</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsArrayRemove">cupsArrayRemove</a></h3>
 <p class="description">Remove an element from the array.</p>
 <p class="code">
 int cupsArrayRemove (<br>
@@ -984,7 +984,7 @@ The caller is responsible for freeing the memory used by the
 removed element.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsArrayRestore">cupsArrayRestore</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsArrayRestore">cupsArrayRestore</a></h3>
 <p class="description">Reset the current element to the last <a href="#cupsArraySave"><code>cupsArraySave</code></a>.</p>
 <p class="code">
 void *cupsArrayRestore (<br>
@@ -997,7 +997,7 @@ void *cupsArrayRestore (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">New current element</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsArraySave">cupsArraySave</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsArraySave">cupsArraySave</a></h3>
 <p class="description">Mark the current element for a later <a href="#cupsArrayRestore"><code>cupsArrayRestore</code></a>.</p>
 <p class="code">
 int cupsArraySave (<br>
@@ -1018,7 +1018,7 @@ to set the current element.<br>
 The save/restore stack is guaranteed to be at least 32 elements deep.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsArrayUserData">cupsArrayUserData</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsArrayUserData">cupsArrayUserData</a></h3>
 <p class="description">Return the user data for an array.</p>
 <p class="code">
 void *cupsArrayUserData (<br>
index 5c07e58..82c740a 100644 (file)
@@ -341,7 +341,7 @@ div.contents ul.subcontents li {
 <body>
 <div class='body'>
 <!--
-  "$Id: api-cgi.html 9740 2011-05-04 06:26:22Z mike $"
+  "$Id: api-array.header 8087 2008-10-27 21:37:05Z mike $"
 
   CGI API header for CUPS.
 
@@ -437,7 +437,7 @@ by the template file.">cgiGetAttributes</a></li>
 </ul></li>
 </ul>
 <!--
-  "$Id: api-cgi.html 9740 2011-05-04 06:26:22Z mike $"
+  "$Id: api-array.shtml 7616 2008-05-28 00:34:13Z mike $"
 
   CGI API introduction for CUPS.
 
index 2dd4083..de95e67 100644 (file)
@@ -341,7 +341,7 @@ div.contents ul.subcontents li {
 <body>
 <div class='body'>
 <!--
-  "$Id: api-cups.html 9772 2011-05-12 05:46:30Z mike $"
+  "$Id: api-cups.header 7279 2008-01-31 01:50:44Z mike $"
 
   CUPS API header for CUPS.
 
@@ -391,18 +391,34 @@ div.contents ul.subcontents li {
        <li><a href="#PASSWORDS_AND_AUTHENTICATION">Passwords and Authentication</a></li>
 </ul></li>
 <li><a href="#FUNCTIONS">Functions</a><ul class="code">
-       <li><a href="#appleGetPaperSize" title="Get the default paper size.">appleGetPaperSize</a></li>
        <li><a href="#cupsAddDest" title="Add a destination to the list of destinations.">cupsAddDest</a></li>
        <li><a href="#cupsAddOption" title="Add an option to an option array.">cupsAddOption</a></li>
        <li><a href="#cupsAdminCreateWindowsPPD" title="Create the Windows PPD file for a printer.">cupsAdminCreateWindowsPPD</a></li>
        <li><a href="#cupsAdminExportSamba" title="Export a printer to Samba.">cupsAdminExportSamba</a></li>
        <li><a href="#cupsAdminGetServerSettings" title="Get settings from the server.">cupsAdminGetServerSettings</a></li>
        <li><a href="#cupsAdminSetServerSettings" title="Set settings on the server.">cupsAdminSetServerSettings</a></li>
+       <li><a href="#cupsCancelDestJob" title="Include necessary headers...">cupsCancelDestJob</a></li>
        <li><a href="#cupsCancelJob" title="Cancel a print job on the default server.">cupsCancelJob</a></li>
        <li><a href="#cupsCancelJob2" title="Cancel or purge a print job.">cupsCancelJob2</a></li>
+       <li><a href="#cupsCheckDestSupported" title="Check that the option and value are supported
+by the destination.">cupsCheckDestSupported</a></li>
+       <li><a href="#cupsCloseDestJob" title="Close a job and start printing.">cupsCloseDestJob</a></li>
+       <li><a href="#cupsConnectDest" title="Connect to the server for a destination.">cupsConnectDest</a></li>
+       <li><a href="#cupsConnectDestBlock" title="Connect to the server for a destination.">cupsConnectDestBlock</a></li>
+       <li><a href="#cupsCopyDest" title="Callback block">cupsCopyDest</a></li>
+       <li><a href="#cupsCopyDestConflicts" title="Get conflicts and resolutions for a new
+option/value pair.">cupsCopyDestConflicts</a></li>
+       <li><a href="#cupsCopyDestInfo" title="Get the supported values/capabilities for the
+destination.">cupsCopyDestInfo</a></li>
+       <li><a href="#cupsCreateDestJob" title="Create a job on a destination.">cupsCreateDestJob</a></li>
        <li><a href="#cupsCreateJob" title="Create an empty job for streaming.">cupsCreateJob</a></li>
        <li><a href="#cupsEncryption" title="Get the current encryption settings.">cupsEncryption</a></li>
+       <li><a href="#cupsEnumDests" title="Enumerate available destinations with a callback function.">cupsEnumDests</a></li>
+       <li><a href="#cupsEnumDestsBlock" title="Enumerate available destinations with a block.">cupsEnumDestsBlock</a></li>
+       <li><a href="#cupsFinishDestDocument" title="Finish the current document.">cupsFinishDestDocument</a></li>
        <li><a href="#cupsFinishDocument" title="Finish sending a document.">cupsFinishDocument</a></li>
+       <li><a href="#cupsFreeDestInfo" title="Free destination information obtained using
+cupsCopyDestInfo.">cupsFreeDestInfo</a></li>
        <li><a href="#cupsFreeDests" title="Free the memory used by the list of destinations.">cupsFreeDests</a></li>
        <li><a href="#cupsFreeJobs" title="Free memory used by job data.">cupsFreeJobs</a></li>
        <li><a href="#cupsFreeOptions" title="Free all memory used by options.">cupsFreeOptions</a></li>
@@ -410,6 +426,8 @@ div.contents ul.subcontents li {
        <li><a href="#cupsGetDefault" title="Get the default printer or class for the default server.">cupsGetDefault</a></li>
        <li><a href="#cupsGetDefault2" title="Get the default printer or class for the specified server.">cupsGetDefault2</a></li>
        <li><a href="#cupsGetDest" title="Get the named destination from the list.">cupsGetDest</a></li>
+       <li><a href="#cupsGetDestMediaByName" title="Get media names, dimensions, and margins.">cupsGetDestMediaByName</a></li>
+       <li><a href="#cupsGetDestMediaBySize" title="Get media names, dimensions, and margins.">cupsGetDestMediaBySize</a></li>
        <li><a href="#cupsGetDests" title="Get the list of destinations from the default server.">cupsGetDests</a></li>
        <li><a href="#cupsGetDests2" title="Get the list of destinations from the specified server.">cupsGetDests2</a></li>
        <li><a href="#cupsGetJobs" title="Get the jobs from the default server.">cupsGetJobs</a></li>
@@ -431,6 +449,10 @@ for the given language.">cupsLangEncoding</a></li>
        <li><a href="#cupsLangFlush" title="Flush all language data out of the cache.">cupsLangFlush</a></li>
        <li><a href="#cupsLangFree" title="Free language data.">cupsLangFree</a></li>
        <li><a href="#cupsLangGet" title="Get a language.">cupsLangGet</a></li>
+       <li><a href="#cupsLocalizeDestOption" title="Get the localized string for a destination
+option.">cupsLocalizeDestOption</a></li>
+       <li><a href="#cupsLocalizeDestValue" title="Get the localized string for a destination
+option+value pair.">cupsLocalizeDestValue</a></li>
        <li><a href="#cupsNotifySubject" title="Return the subject for the given notification message.">cupsNotifySubject</a></li>
        <li><a href="#cupsNotifyText" title="Return the text for the given notification message.">cupsNotifyText</a></li>
        <li><a href="#cupsParseOptions" title="Parse options from a command-line argument.">cupsParseOptions</a></li>
@@ -456,6 +478,7 @@ connections.">cupsSetCredentials</a></li>
        <li><a href="#cupsSetServer" title="Set the default server name and port.">cupsSetServer</a></li>
        <li><a href="#cupsSetServerCertCB" title="Set the server certificate callback.">cupsSetServerCertCB</a></li>
        <li><a href="#cupsSetUser" title="Set the default user name.">cupsSetUser</a></li>
+       <li><a href="#cupsStartDestDocument" title="Start a new document.">cupsStartDestDocument</a></li>
        <li><a href="#cupsStartDocument" title="Add a document to a job created with cupsCreateJob().">cupsStartDocument</a></li>
        <li><a href="#cupsTempFd" title="Creates a temporary file.">cupsTempFd</a></li>
        <li><a href="#cupsTempFile" title="Generates a temporary filename.">cupsTempFile</a></li>
@@ -463,35 +486,49 @@ connections.">cupsSetCredentials</a></li>
        <li><a href="#cupsUser" title="Return the current user's name.">cupsUser</a></li>
 </ul></li>
 <li><a href="#TYPES">Data Types</a><ul class="code">
-       <li><a href="#cups_client_cert_cb_t" title="Client credentials callback ">cups_client_cert_cb_t</a></li>
+       <li><a href="#cups_client_cert_cb_t" title="Client credentials callback
+">cups_client_cert_cb_t</a></li>
+       <li><a href="#cups_dest_block_t" title="Destination enumeration block
+">cups_dest_block_t</a></li>
+       <li><a href="#cups_dest_cb_t" title="Destination enumeration callback
+">cups_dest_cb_t</a></li>
        <li><a href="#cups_dest_t" title="Destination">cups_dest_t</a></li>
-       <li><a href="#cups_device_cb_t" title="Device callback ">cups_device_cb_t</a></li>
+       <li><a href="#cups_device_cb_t" title="Device callback
+">cups_device_cb_t</a></li>
+       <li><a href="#cups_dinfo_t" title="Destination capability and status
+information ">cups_dinfo_t</a></li>
        <li><a href="#cups_job_t" title="Job">cups_job_t</a></li>
        <li><a href="#cups_option_t" title="Printer Options">cups_option_t</a></li>
-       <li><a href="#cups_password_cb2_t" title="New password callback ">cups_password_cb2_t</a></li>
+       <li><a href="#cups_password_cb2_t" title="New password callback
+">cups_password_cb2_t</a></li>
        <li><a href="#cups_password_cb_t" title="Password callback">cups_password_cb_t</a></li>
        <li><a href="#cups_ptype_t" title="Printer type/capability bits">cups_ptype_t</a></li>
-       <li><a href="#cups_server_cert_cb_t" title="Server credentials callback ">cups_server_cert_cb_t</a></li>
+       <li><a href="#cups_server_cert_cb_t" title="Server credentials callback
+">cups_server_cert_cb_t</a></li>
+       <li><a href="#cups_size_t" title="Media Size ">cups_size_t</a></li>
 </ul></li>
 <li><a href="#STRUCTURES">Structures</a><ul class="code">
        <li><a href="#cups_dest_s" title="Destination">cups_dest_s</a></li>
        <li><a href="#cups_job_s" title="Job">cups_job_s</a></li>
        <li><a href="#cups_option_s" title="Printer Options">cups_option_s</a></li>
+       <li><a href="#cups_size_s" title="Media Size ">cups_size_s</a></li>
+       <li><a href="#pollfd" title="User data (unused)">pollfd</a></li>
 </ul></li>
 <li><a href="#VARIABLES">Variables</a><ul class="code">
        <li><a href="#CF_RETURNS_RETAINED" title="Get the Apple language identifier associated with a
 locale ID.">CF_RETURNS_RETAINED</a></li>
 </ul></li>
 <li><a href="#ENUMERATIONS">Constants</a><ul class="code">
-       <li><a href="#cups_ptype_e" title="Printer type/capability bit constants">cups_ptype_e</a></li>
+       <li><a href="#cups_ptype_e" title="Printer type/capability bit
+constants">cups_ptype_e</a></li>
 </ul></li>
 </ul>
 <!--
-  "$Id: api-cups.html 9772 2011-05-12 05:46:30Z mike $"
+  "$Id: api-cups.shtml 7337 2008-02-22 04:44:04Z mike $"
 
   API introduction for CUPS.
 
-  Copyright 2007-2011 by Apple Inc.
+  Copyright 2007-2013 by Apple Inc.
   Copyright 1997-2006 by Easy Software Products, all rights reserved.
 
   These coded instructions, statements, and computer programs are the
@@ -671,7 +708,7 @@ int num_options = 0;
 <a href='#cups_option_t'>cups_option_t</a> *options = NULL;
 <a href='#cups_dest_t'>cups_dest_t</a> *dest;
 
-for (i = 0; i < dest->num_options; i ++)
+for (i = 0; i &lt; dest->num_options; i ++)
   num_options = <a href='#cupsAddOption'>cupsAddOption</a>(dest->options[i].name, dest->options[i].value,
                               num_options, &amp;options);
 </pre>
@@ -723,7 +760,7 @@ job_id = <a href='#cupsPrintFiles'>cupsPrintFiles</a>(dest->name, 3, files, "Tes
 
 <p>Finally, the <a href='#cupsCreateJob'><code>cupsCreateJob</code></a>
 function creates a new job with no files in it. Files are added using the
-<a href='#cupsStartDocument'><code>cupsStartDocument</code></a>, 
+<a href='#cupsStartDocument'><code>cupsStartDocument</code></a>,
 <a href='api-httpipp.html#cupsWriteRequestData'><code>cupsWriteRequestData</code></a>,
 and <a href='#cupsFinishDocument'><code>cupsFinishDocument</code></a> functions.
 The following example creates a job with 10 text files for printing:</p>
@@ -787,7 +824,7 @@ int num_jobs;
 <a href='#cups_job_t'>cups_job_t</a> *jobs;
 int i;
 ipp_jstate_t job_state = IPP_JOB_PENDING;
+
 while (job_state &lt; IPP_JOB_STOPPED)
 {
   /* Get my jobs (1) with any state (-1) */
@@ -930,22 +967,6 @@ fields for the username and password. The username should default to the
 string returned by the <a href="#cupsUser"><code>cupsUser</code></a>
 function.</p>
 <h2 class="title"><a name="FUNCTIONS">Functions</a></h2>
-<h3 class="function"><a name="appleGetPaperSize">appleGetPaperSize</a></h3>
-<p class="description">Get the default paper size.</p>
-<p class="code">
-char *appleGetPaperSize (<br>
-&nbsp;&nbsp;&nbsp;&nbsp;char *name,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;int namesize<br>
-);</p>
-<h4 class="parameters">Parameters</h4>
-<dl>
-<dt>name</dt>
-<dd class="description">Paper size name buffer</dd>
-<dt>namesize</dt>
-<dd class="description">Size of buffer</dd>
-</dl>
-<h4 class="returnvalue">Return Value</h4>
-<p class="description">Default paper size</p>
 <h3 class="function"><a name="cupsAddDest">cupsAddDest</a></h3>
 <p class="description">Add a destination to the list of destinations.</p>
 <p class="code">
@@ -1004,7 +1025,7 @@ int cupsAddOption (<br>
 <h4 class="discussion">Discussion</h4>
 <p class="discussion">New option arrays can be initialized simply by passing 0 for the
 &quot;num_options&quot; parameter.</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsAdminCreateWindowsPPD">cupsAdminCreateWindowsPPD</a></h3>
+<h3 class="function"><span class="info">&nbsp;DEPRECATED&nbsp;</span><a name="cupsAdminCreateWindowsPPD">cupsAdminCreateWindowsPPD</a></h3>
 <p class="description">Create the Windows PPD file for a printer.</p>
 <p class="code">
 char *cupsAdminCreateWindowsPPD (<br>
@@ -1026,7 +1047,7 @@ char *cupsAdminCreateWindowsPPD (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">PPD file or NULL</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsAdminExportSamba">cupsAdminExportSamba</a></h3>
+<h3 class="function"><span class="info">&nbsp;DEPRECATED&nbsp;</span><a name="cupsAdminExportSamba">cupsAdminExportSamba</a></h3>
 <p class="description">Export a printer to Samba.</p>
 <p class="code">
 int cupsAdminExportSamba (<br>
@@ -1054,7 +1075,7 @@ int cupsAdminExportSamba (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">1 on success, 0 on failure</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.3/Mac OS X 10.5&nbsp;</span><a name="cupsAdminGetServerSettings">cupsAdminGetServerSettings</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.3/OS X 10.5&nbsp;</span><a name="cupsAdminGetServerSettings">cupsAdminGetServerSettings</a></h3>
 <p class="description">Get settings from the server.</p>
 <p class="code">
 int cupsAdminGetServerSettings (<br>
@@ -1078,7 +1099,7 @@ int cupsAdminGetServerSettings (<br>
 you are done with them.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.3/Mac OS X 10.5&nbsp;</span><a name="cupsAdminSetServerSettings">cupsAdminSetServerSettings</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.3/OS X 10.5&nbsp;</span><a name="cupsAdminSetServerSettings">cupsAdminSetServerSettings</a></h3>
 <p class="description">Set settings on the server.</p>
 <p class="code">
 int cupsAdminSetServerSettings (<br>
@@ -1097,6 +1118,31 @@ int cupsAdminSetServerSettings (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">1 on success, 0 on failure</p>
+<h3 class="function"><a name="cupsCancelDestJob">cupsCancelDestJob</a></h3>
+<p class="description">Include necessary headers...</p>
+<p class="code">
+ipp_status_t cupsCancelDestJob (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;http_t *http,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int job_id<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>http</dt>
+<dd class="description">Connection to destination</dd>
+<dt>dest</dt>
+<dd class="description">Destination</dd>
+<dt>job_id</dt>
+<dd class="description">Job ID</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">Cancel a job on a destination.</p>
+<p class="discussion">The &quot;job_id&quot; is the number returned by cupsCreateDestJob.<br>
+<br>
+Returns IPP_OK on success and IPP_NOT_AUTHORIZED or IPP_FORBIDDEN on
+failure.
+
+</p>
 <h3 class="function"><a name="cupsCancelJob">cupsCancelJob</a></h3>
 <p class="description">Cancel a print job on the default server.</p>
 <p class="code">
@@ -1119,7 +1165,7 @@ to cancel the current job on the named destination.<br>
 <br>
 Use the <a href="#cupsLastError"><code>cupsLastError</code></a> and <a href="#cupsLastErrorString"><code>cupsLastErrorString</code></a> functions to get
 the cause of any failure.</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="cupsCancelJob2">cupsCancelJob2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="cupsCancelJob2">cupsCancelJob2</a></h3>
 <p class="description">Cancel or purge a print job.</p>
 <p class="code">
 ipp_status_t cupsCancelJob2 (<br>
@@ -1152,7 +1198,286 @@ Use the <a href="#cupsLastError"><code>cupsLastError</code></a> and <a href="#cu
 the cause of any failure.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="cupsCreateJob">cupsCreateJob</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="cupsCheckDestSupported">cupsCheckDestSupported</a></h3>
+<p class="description">Check that the option and value are supported
+by the destination.</p>
+<p class="code">
+int cupsCheckDestSupported (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;http_t *http,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_dinfo_t">cups_dinfo_t</a> *dinfo,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;const char *option,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;const char *value<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>http</dt>
+<dd class="description">Connection to destination</dd>
+<dt>dest</dt>
+<dd class="description">Destination</dd>
+<dt>dinfo</dt>
+<dd class="description">Destination information</dd>
+<dt>option</dt>
+<dd class="description">Option</dd>
+<dt>value</dt>
+<dd class="description">Value</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">1 if supported, 0 otherwise</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">Returns 1 if supported, 0 otherwise.
+
+</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="cupsCloseDestJob">cupsCloseDestJob</a></h3>
+<p class="description">Close a job and start printing.</p>
+<p class="code">
+ipp_status_t cupsCloseDestJob (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;http_t *http,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_dinfo_t">cups_dinfo_t</a> *info,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int job_id<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>http</dt>
+<dd class="description">Connection to destination</dd>
+<dt>dest</dt>
+<dd class="description">Destination</dd>
+<dt>info</dt>
+<dd class="description">Destination information</dd>
+<dt>job_id</dt>
+<dd class="description">Job ID</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">IPP status code</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">Use when the last call to cupsStartDocument passed 0 for &quot;last_document&quot;.
+&quot;job_id&quot; is the job ID returned by cupsCreateDestJob. Returns <code>IPP_OK</code>
+on success.
+
+</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="cupsConnectDest">cupsConnectDest</a></h3>
+<p class="description">Connect to the server for a destination.</p>
+<p class="code">
+http_t *cupsConnectDest (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;unsigned flags,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int msec,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int *cancel,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;char *resource,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;size_t resourcesize,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_dest_cb_t">cups_dest_cb_t</a> cb,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;void *user_data<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>dest</dt>
+<dd class="description">Destination</dd>
+<dt>flags</dt>
+<dd class="description">Connection flags</dd>
+<dt>msec</dt>
+<dd class="description">Timeout in milliseconds</dd>
+<dt>cancel</dt>
+<dd class="description">Pointer to &quot;cancel&quot; variable</dd>
+<dt>resource</dt>
+<dd class="description">Resource buffer</dd>
+<dt>resourcesize</dt>
+<dd class="description">Size of resource buffer</dd>
+<dt>cb</dt>
+<dd class="description">Callback function</dd>
+<dt>user_data</dt>
+<dd class="description">User data pointer</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">Connection to server or <code>NULL</code></p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">Connect to the destination, returning a new http_t connection object and
+optionally the resource path to use for the destination.  These calls will
+block until a connection is made, the timeout expires, the integer pointed
+to by &quot;cancel&quot; is non-zero, or the callback function (or block) returns 0,
+The caller is responsible for calling httpClose() on the returned object.
+
+</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="cupsConnectDestBlock">cupsConnectDestBlock</a></h3>
+<p class="description">Connect to the server for a destination.</p>
+<p class="code">
+http_t *cupsConnectDestBlock (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;unsigned flags,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int msec,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int *cancel,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;char *resource,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;size_t resourcesize,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_dest_block_t">cups_dest_block_t</a> block<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>dest</dt>
+<dd class="description">Destination</dd>
+<dt>flags</dt>
+<dd class="description">Connection flags</dd>
+<dt>msec</dt>
+<dd class="description">Timeout in milliseconds</dd>
+<dt>cancel</dt>
+<dd class="description">Pointer to &quot;cancel&quot; variable</dd>
+<dt>resource</dt>
+<dd class="description">Resource buffer</dd>
+<dt>resourcesize</dt>
+<dd class="description">Size of resource buffer</dd>
+<dt>block</dt>
+<dd class="description">Callback block</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">Connection to server or <code>NULL</code></p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">Connect to the destination, returning a new http_t connection object and
+optionally the resource path to use for the destination.  These calls will
+block until a connection is made, the timeout expires, the integer pointed
+to by &quot;cancel&quot; is non-zero, or the callback function (or block) returns 0,
+The caller is responsible for calling httpClose() on the returned object.
+
+</p>
+<h3 class="function"><a name="cupsCopyDest">cupsCopyDest</a></h3>
+<p class="description">Callback block</p>
+<p class="code">
+int cupsCopyDest (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int num_dests,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_dest_t">cups_dest_t</a> **dests<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>dest</dt>
+<dt>num_dests</dt>
+<dt>dests</dt>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">Copy a destination.</p>
+<p class="discussion">Make a copy of the destination to an array of destinations (or just a single
+copy) - for use with the cupsEnumDests* functions. The caller is responsible
+for calling cupsFreeDests() on the returned object(s).
+
+</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="cupsCopyDestConflicts">cupsCopyDestConflicts</a></h3>
+<p class="description">Get conflicts and resolutions for a new
+option/value pair.</p>
+<p class="code">
+int cupsCopyDestConflicts (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;http_t *http,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_dinfo_t">cups_dinfo_t</a> *dinfo,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int num_options,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_option_t">cups_option_t</a> *options,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;const char *new_option,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;const char *new_value,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int *num_conflicts,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_option_t">cups_option_t</a> **conflicts,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int *num_resolved,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_option_t">cups_option_t</a> **resolved<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>http</dt>
+<dd class="description">Connection to destination</dd>
+<dt>dest</dt>
+<dd class="description">Destination</dd>
+<dt>dinfo</dt>
+<dd class="description">Destination information</dd>
+<dt>num_options</dt>
+<dd class="description">Number of current options</dd>
+<dt>options</dt>
+<dd class="description">Current options</dd>
+<dt>new_option</dt>
+<dd class="description">New option</dd>
+<dt>new_value</dt>
+<dd class="description">New value</dd>
+<dt>num_conflicts</dt>
+<dd class="description">Number of conflicting options</dd>
+<dt>conflicts</dt>
+<dd class="description">Conflicting options</dd>
+<dt>num_resolved</dt>
+<dd class="description">Number of options to resolve</dd>
+<dt>resolved</dt>
+<dd class="description">Resolved options</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">1 if there is a conflict, 0 if none, -1 on error</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">&quot;num_options&quot; and &quot;options&quot; represent the currently selected options by the
+user.  &quot;new_option&quot; and &quot;new_value&quot; are the setting the user has just
+changed.<br>
+<br>
+Returns 1 if there is a conflict, 0 if there are no conflicts, and -1 if
+there was an unrecoverable error such as a resolver loop.<br>
+<br>
+If &quot;num_conflicts&quot; and &quot;conflicts&quot; are not <code>NULL</code>, they are set to
+contain the list of conflicting option/value pairs.  Similarly, if
+&quot;num_resolved&quot; and &quot;resolved&quot; are not <code>NULL</code> they will be set to the
+list of changes needed to resolve the conflict.<br>
+<br>
+If cupsCopyDestConflicts returns 1 but &quot;num_resolved&quot; and &quot;resolved&quot; are set
+to 0 and <code>NULL</code>, respectively, then the conflict cannot be resolved.
+
+</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="cupsCopyDestInfo">cupsCopyDestInfo</a></h3>
+<p class="description">Get the supported values/capabilities for the
+destination.</p>
+<p class="code">
+<a href="#cups_dinfo_t">cups_dinfo_t</a> *cupsCopyDestInfo (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;http_t *http,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_dest_t">cups_dest_t</a> *dest<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>http</dt>
+<dd class="description">Connection to destination</dd>
+<dt>dest</dt>
+<dd class="description">Destination</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">Destination information</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The caller is responsible for calling <a href="#cupsFreeDestInfo"><code>cupsFreeDestInfo</code></a> on the return
+value. <code>NULL</code> is returned on error.
+
+</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="cupsCreateDestJob">cupsCreateDestJob</a></h3>
+<p class="description">Create a job on a destination.</p>
+<p class="code">
+ipp_status_t cupsCreateDestJob (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;http_t *http,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_dinfo_t">cups_dinfo_t</a> *info,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int *job_id,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;const char *title,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int num_options,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_option_t">cups_option_t</a> *options<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>http</dt>
+<dd class="description">Connection to destination</dd>
+<dt>dest</dt>
+<dd class="description">Destination</dd>
+<dt>info</dt>
+<dd class="description">Destination information</dd>
+<dt>job_id</dt>
+<dd class="description">Job ID or 0 on error</dd>
+<dt>title</dt>
+<dd class="description">Job name</dd>
+<dt>num_options</dt>
+<dd class="description">Number of job options</dd>
+<dt>options</dt>
+<dd class="description">Job options</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">IPP status code</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">Returns <code>IPP_OK</code> or <code>IPP_OK_SUBST</code> on success, saving the job ID
+in the variable pointed to by &quot;job_id&quot;.
+
+</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="cupsCreateJob">cupsCreateJob</a></h3>
 <p class="description">Create an empty job for streaming.</p>
 <p class="code">
 int cupsCreateJob (<br>
@@ -1201,7 +1526,110 @@ Note: The current encryption setting is tracked separately for each thread
 in a program. Multi-threaded programs that override the setting via the
 <a href="#cupsSetEncryption"><code>cupsSetEncryption</code></a> function need to do so in each thread for the same
 setting to be used.</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="cupsFinishDocument">cupsFinishDocument</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="cupsEnumDests">cupsEnumDests</a></h3>
+<p class="description">Enumerate available destinations with a callback function.</p>
+<p class="code">
+int cupsEnumDests (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;unsigned flags,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int msec,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int *cancel,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_ptype_t">cups_ptype_t</a> type,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_ptype_t">cups_ptype_t</a> mask,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_dest_cb_t">cups_dest_cb_t</a> cb,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;void *user_data<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>flags</dt>
+<dd class="description">Enumeration flags</dd>
+<dt>msec</dt>
+<dd class="description">Timeout in milliseconds,
+-1 for indefinite</dd>
+<dt>cancel</dt>
+<dd class="description">Pointer to &quot;cancel&quot; variable</dd>
+<dt>type</dt>
+<dd class="description">Printer type bits</dd>
+<dt>mask</dt>
+<dd class="description">Mask for printer type bits</dd>
+<dt>cb</dt>
+<dd class="description">Callback function</dd>
+<dt>user_data</dt>
+<dd class="description">User data</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">1 on success, 0 on failure</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">Destinations are enumerated from one or more sources. The callback function
+receives the <code>user_data</code> pointer, destination name, instance, number of
+options, and options which can be used as input to the <a href="#cupsAddDest"><code>cupsAddDest</code></a>
+function.  The function must return 1 to continue enumeration or 0 to stop.<br>
+<br>
+Enumeration happens on the current thread and does not return until all
+destinations have been enumerated or the callback function returns 0.
+
+</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="cupsEnumDestsBlock">cupsEnumDestsBlock</a></h3>
+<p class="description">Enumerate available destinations with a block.</p>
+<p class="code">
+int cupsEnumDestsBlock (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;unsigned flags,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int timeout,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int *cancel,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_ptype_t">cups_ptype_t</a> type,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_ptype_t">cups_ptype_t</a> mask,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_dest_block_t">cups_dest_block_t</a> block<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>flags</dt>
+<dd class="description">Enumeration flags</dd>
+<dt>timeout</dt>
+<dd class="description">Timeout in milliseconds, 0 for indefinite</dd>
+<dt>cancel</dt>
+<dd class="description">Pointer to &quot;cancel&quot; variable</dd>
+<dt>type</dt>
+<dd class="description">Printer type bits</dd>
+<dt>mask</dt>
+<dd class="description">Mask for printer type bits</dd>
+<dt>block</dt>
+<dd class="description">Block</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">1 on success, 0 on failure</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">Destinations are enumerated from one or more sources. The block receives the
+destination name, instance, number of options, and options which can be used
+as input to the <a href="#cupsAddDest"><code>cupsAddDest</code></a> function.  The block must return 1 to
+continue enumeration or 0 to stop.<br>
+<br>
+Enumeration happens on the current thread and does not return until all
+destinations have been enumerated or the block returns 0.
+
+</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="cupsFinishDestDocument">cupsFinishDestDocument</a></h3>
+<p class="description">Finish the current document.</p>
+<p class="code">
+ipp_status_t cupsFinishDestDocument (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;http_t *http,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_dinfo_t">cups_dinfo_t</a> *info<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>http</dt>
+<dd class="description">Connection to destination</dd>
+<dt>dest</dt>
+<dd class="description">Destination</dd>
+<dt>info</dt>
+<dd class="description">Destination information</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">Status of document submission</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">Returns <code>IPP_OK</code> or <code>IPP_OK_SUBST</code> on success.
+
+</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="cupsFinishDocument">cupsFinishDocument</a></h3>
 <p class="description">Finish sending a document.</p>
 <p class="code">
 ipp_status_t cupsFinishDocument (<br>
@@ -1221,6 +1649,18 @@ ipp_status_t cupsFinishDocument (<br>
 <p class="discussion">The document must have been started using <a href="#cupsStartDocument"><code>cupsStartDocument</code></a>.
 
 </p>
+<h3 class="function"><a name="cupsFreeDestInfo">cupsFreeDestInfo</a></h3>
+<p class="description">Free destination information obtained using
+<a href="#cupsCopyDestInfo"><code>cupsCopyDestInfo</code></a>.</p>
+<p class="code">
+void cupsFreeDestInfo (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_dinfo_t">cups_dinfo_t</a> *dinfo<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>dinfo</dt>
+<dd class="description">Destination information</dd>
+</dl>
 <h3 class="function"><a name="cupsFreeDests">cupsFreeDests</a></h3>
 <p class="description">Free the memory used by the list of destinations.</p>
 <p class="code">
@@ -1293,7 +1733,7 @@ variables are not set, the server default destination is returned.
 Applications should use the <a href="#cupsGetDests"><code>cupsGetDests</code></a> and <a href="#cupsGetDest"><code>cupsGetDest</code></a>
 functions to get the user-defined default printer, as this function does
 not support the lpoptions-defined default printer.</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.21/Mac OS X 10.4&nbsp;</span><a name="cupsGetDefault2">cupsGetDefault2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.21/OS X 10.4&nbsp;</span><a name="cupsGetDefault2">cupsGetDefault2</a></h3>
 <p class="description">Get the default printer or class for the specified server.</p>
 <p class="code">
 const char *cupsGetDefault2 (<br>
@@ -1340,6 +1780,99 @@ not support the lpoptions-defined default printer.
 <h4 class="discussion">Discussion</h4>
 <p class="discussion">Use the <a href="#cupsGetDests"><code>cupsGetDests</code></a> or <a href="#cupsGetDests2"><code>cupsGetDests2</code></a> functions to get a
 list of supported destinations for the current user.</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="cupsGetDestMediaByName">cupsGetDestMediaByName</a></h3>
+<p class="description">Get media names, dimensions, and margins.</p>
+<p class="code">
+int cupsGetDestMediaByName (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;http_t *http,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_dinfo_t">cups_dinfo_t</a> *dinfo,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;const char *media,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;unsigned flags,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_size_t">cups_size_t</a> *size<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>http</dt>
+<dd class="description">Connection to destination</dd>
+<dt>dest</dt>
+<dd class="description">Destination</dd>
+<dt>dinfo</dt>
+<dd class="description">Destination information</dd>
+<dt>media</dt>
+<dd class="description">Media name</dd>
+<dt>flags</dt>
+<dd class="description">Media matching flags</dd>
+<dt>size</dt>
+<dd class="description">Media size information</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">1 on match, 0 on failure</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The &quot;media&quot; string is a PWG media name.  &quot;Flags&quot; provides some matching
+guidance (multiple flags can be combined):<br>
+<br>
+CUPS_MEDIA_FLAGS_DEFAULT    = find the closest size supported by the printer,
+CUPS_MEDIA_FLAGS_BORDERLESS = find a borderless size,
+CUPS_MEDIA_FLAGS_DUPLEX     = find a size compatible with 2-sided printing,
+CUPS_MEDIA_FLAGS_EXACT      = find an exact match for the size, and
+CUPS_MEDIA_FLAGS_READY      = if the printer supports media sensing, find the
+size amongst the &quot;ready&quot; media.<br>
+<br>
+The matching result (if any) is returned in the &quot;cups_size_t&quot; structure.<br>
+<br>
+Returns 1 when there is a match and 0 if there is not a match.
+
+</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="cupsGetDestMediaBySize">cupsGetDestMediaBySize</a></h3>
+<p class="description">Get media names, dimensions, and margins.</p>
+<p class="code">
+int cupsGetDestMediaBySize (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;http_t *http,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_dinfo_t">cups_dinfo_t</a> *dinfo,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int width,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int length,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;unsigned flags,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_size_t">cups_size_t</a> *size<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>http</dt>
+<dd class="description">Connection to destination</dd>
+<dt>dest</dt>
+<dd class="description">Destination</dd>
+<dt>dinfo</dt>
+<dd class="description">Destination information</dd>
+<dt>width</dt>
+<dd class="description">Media width in hundredths of
+of millimeters</dd>
+<dt>length</dt>
+<dd class="description">Media length in hundredths of
+of millimeters</dd>
+<dt>flags</dt>
+<dd class="description">Media matching flags</dd>
+<dt>size</dt>
+<dd class="description">Media size information</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">1 on match, 0 on failure</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">&quot;Width&quot; and &quot;length&quot; are the dimensions in hundredths of millimeters.
+&quot;Flags&quot; provides some matching guidance (multiple flags can be combined):<br>
+<br>
+CUPS_MEDIA_FLAGS_DEFAULT    = find the closest size supported by the printer,
+CUPS_MEDIA_FLAGS_BORDERLESS = find a borderless size,
+CUPS_MEDIA_FLAGS_DUPLEX     = find a size compatible with 2-sided printing,
+CUPS_MEDIA_FLAGS_EXACT      = find an exact match for the size, and
+CUPS_MEDIA_FLAGS_READY      = if the printer supports media sensing, find the
+size amongst the &quot;ready&quot; media.<br>
+<br>
+The matching result (if any) is returned in the &quot;cups_size_t&quot; structure.<br>
+<br>
+Returns 1 when there is a match and 0 if there is not a match.
+
+</p>
 <h3 class="function"><a name="cupsGetDests">cupsGetDests</a></h3>
 <p class="description">Get the list of destinations from the default server.</p>
 <p class="code">
@@ -1364,7 +1897,7 @@ marker-types, and printer-commands attributes as well.<br>
 <br>
 Use the <a href="#cupsFreeDests"><code>cupsFreeDests</code></a> function to free the destination list and
 the <a href="#cupsGetDest"><code>cupsGetDest</code></a> function to find a particular destination.</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.21/Mac OS X 10.4&nbsp;</span><a name="cupsGetDests2">cupsGetDests2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.21/OS X 10.4&nbsp;</span><a name="cupsGetDests2">cupsGetDests2</a></h3>
 <p class="description">Get the list of destinations from the specified server.</p>
 <p class="code">
 int cupsGetDests2 (<br>
@@ -1420,7 +1953,7 @@ int cupsGetJobs (<br>
 of state, while <code>CUPS_WHICHJOBS_ACTIVE</code> returns jobs that are
 pending, processing, or held and <code>CUPS_WHICHJOBS_COMPLETED</code> returns
 jobs that are stopped, canceled, aborted, or completed.</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.21/Mac OS X 10.4&nbsp;</span><a name="cupsGetJobs2">cupsGetJobs2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.21/OS X 10.4&nbsp;</span><a name="cupsGetJobs2">cupsGetJobs2</a></h3>
 <p class="description">Get the jobs from the specified server.</p>
 <p class="code">
 int cupsGetJobs2 (<br>
@@ -1452,7 +1985,7 @@ pending, processing, or held and <code>CUPS_WHICHJOBS_COMPLETED</code> returns
 jobs that are stopped, canceled, aborted, or completed.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="cupsGetNamedDest">cupsGetNamedDest</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="cupsGetNamedDest">cupsGetNamedDest</a></h3>
 <p class="description">Get options for the named destination.</p>
 <p class="code">
 <a href="#cups_dest_t">cups_dest_t</a> *cupsGetNamedDest (<br>
@@ -1527,7 +2060,7 @@ in the class.<br>
 The returned filename is stored in a static buffer and is overwritten with
 each call to <code>cupsGetPPD</code> or <a href="#cupsGetPPD2"><code>cupsGetPPD2</code></a>.  The caller &quot;owns&quot; the
 file that is created and must <code>unlink</code> the returned filename.</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.21/Mac OS X 10.4&nbsp;</span><a name="cupsGetPPD2">cupsGetPPD2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.21/OS X 10.4&nbsp;</span><a name="cupsGetPPD2">cupsGetPPD2</a></h3>
 <p class="description">Get the PPD file for a printer from the specified server.</p>
 <p class="code">
 const char *cupsGetPPD2 (<br>
@@ -1552,7 +2085,7 @@ each call to <a href="#cupsGetPPD"><code>cupsGetPPD</code></a> or <code>cupsGetP
 file that is created and must <code>unlink</code> the returned filename.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="cupsGetPPD3">cupsGetPPD3</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="cupsGetPPD3">cupsGetPPD3</a></h3>
 <p class="description">Get the PPD file for a printer on the specified
 server if it has changed.</p>
 <p class="code">
@@ -1617,7 +2150,7 @@ Note: The current password callback function is tracked separately for each
 thread in a program. Multi-threaded programs that override the setting via
 the <a href="#cupsSetPasswordCB"><code>cupsSetPasswordCB</code></a> or <a href="#cupsSetPasswordCB2"><code>cupsSetPasswordCB2</code></a> functions need to
 do so in each thread for the same function to be used.</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="cupsGetPassword2">cupsGetPassword2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="cupsGetPassword2">cupsGetPassword2</a></h3>
 <p class="description">Get a password from the user using the advanced
 password callback.</p>
 <p class="code">
@@ -1667,7 +2200,7 @@ int cupsGetPrinters (<br>
 <p class="discussion">This function is deprecated - use <a href="#cupsGetDests"><code>cupsGetDests</code></a> instead.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.3/Mac OS X 10.5&nbsp;</span><a name="cupsGetServerPPD">cupsGetServerPPD</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.3/OS X 10.5&nbsp;</span><a name="cupsGetServerPPD">cupsGetServerPPD</a></h3>
 <p class="description">Get an available PPD file from the server.</p>
 <p class="code">
 char *cupsGetServerPPD (<br>
@@ -1744,7 +2277,66 @@ cups_lang_t *cupsLangGet (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Language data</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsNotifySubject">cupsNotifySubject</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="cupsLocalizeDestOption">cupsLocalizeDestOption</a></h3>
+<p class="description">Get the localized string for a destination
+option.</p>
+<p class="code">
+const char *cupsLocalizeDestOption (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;http_t *http,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_dinfo_t">cups_dinfo_t</a> *dinfo,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;const char *option<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>http</dt>
+<dd class="description">Connection to destination</dd>
+<dt>dest</dt>
+<dd class="description">Destination</dd>
+<dt>dinfo</dt>
+<dd class="description">Destination information</dd>
+<dt>option</dt>
+<dd class="description">Option to localize</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">Localized string</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The returned string is stored in the destination information and will become
+invalid if the destination information is deleted.
+
+</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="cupsLocalizeDestValue">cupsLocalizeDestValue</a></h3>
+<p class="description">Get the localized string for a destination
+option+value pair.</p>
+<p class="code">
+const char *cupsLocalizeDestValue (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;http_t *http,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_dinfo_t">cups_dinfo_t</a> *dinfo,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;const char *option,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;const char *value<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>http</dt>
+<dd class="description">Connection to destination</dd>
+<dt>dest</dt>
+<dd class="description">Destination</dd>
+<dt>dinfo</dt>
+<dd class="description">Destination information</dd>
+<dt>option</dt>
+<dd class="description">Option to localize</dd>
+<dt>value</dt>
+<dd class="description">Value to localize</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">Localized string</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The returned string is stored in the destination information and will become
+invalid if the destination information is deleted.
+
+</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsNotifySubject">cupsNotifySubject</a></h3>
 <p class="description">Return the subject for the given notification message.</p>
 <p class="code">
 char *cupsNotifySubject (<br>
@@ -1764,7 +2356,7 @@ char *cupsNotifySubject (<br>
 <p class="discussion">The returned string must be freed by the caller using <code>free</code>.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsNotifyText">cupsNotifyText</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsNotifyText">cupsNotifyText</a></h3>
 <p class="description">Return the text for the given notification message.</p>
 <p class="code">
 char *cupsNotifyText (<br>
@@ -1834,7 +2426,7 @@ int cupsPrintFile (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Job ID or 0 on error</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.21/Mac OS X 10.4&nbsp;</span><a name="cupsPrintFile2">cupsPrintFile2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.21/OS X 10.4&nbsp;</span><a name="cupsPrintFile2">cupsPrintFile2</a></h3>
 <p class="description">Print a file to a printer or class on the specified
 server.</p>
 <p class="code">
@@ -1892,7 +2484,7 @@ int cupsPrintFiles (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Job ID or 0 on error</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.21/Mac OS X 10.4&nbsp;</span><a name="cupsPrintFiles2">cupsPrintFiles2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.21/OS X 10.4&nbsp;</span><a name="cupsPrintFiles2">cupsPrintFiles2</a></h3>
 <p class="description">Print one or more files to a printer or class on the
 specified server.</p>
 <p class="code">
@@ -1924,7 +2516,7 @@ int cupsPrintFiles2 (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Job ID or 0 on error</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.3/Mac OS X 10.5&nbsp;</span><a name="cupsRemoveDest">cupsRemoveDest</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.3/OS X 10.5&nbsp;</span><a name="cupsRemoveDest">cupsRemoveDest</a></h3>
 <p class="description">Remove a destination from the destination list.</p>
 <p class="code">
 int cupsRemoveDest (<br>
@@ -1953,7 +2545,7 @@ queue, merely the lpoptions for that destination/instance.  Use the
 options for the user.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsRemoveOption">cupsRemoveOption</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsRemoveOption">cupsRemoveOption</a></h3>
 <p class="description">Remove an option from an option array.</p>
 <p class="code">
 int cupsRemoveOption (<br>
@@ -1991,7 +2583,7 @@ Note: The current server is tracked separately for each thread in a program.
 Multi-threaded programs that override the server via the
 <a href="#cupsSetServer"><code>cupsSetServer</code></a> function need to do so in each thread for the same
 server to be used.</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span><a name="cupsSetClientCertCB">cupsSetClientCertCB</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.5/OS X 10.7&nbsp;</span><a name="cupsSetClientCertCB">cupsSetClientCertCB</a></h3>
 <p class="description">Set the client certificate callback.</p>
 <p class="code">
 void cupsSetClientCertCB (<br>
@@ -2013,7 +2605,7 @@ in a program. Multi-threaded programs that override the callback need to do
 so in each thread for the same callback to be used.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span><a name="cupsSetCredentials">cupsSetCredentials</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.5/OS X 10.7&nbsp;</span><a name="cupsSetCredentials">cupsSetCredentials</a></h3>
 <p class="description">Set the default credentials to be used for SSL/TLS
 connections.</p>
 <p class="code">
@@ -2033,7 +2625,7 @@ program. Multi-threaded programs that override the setting need to do so in
 each thread for the same setting to be used.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.3/Mac OS X 10.5&nbsp;</span><a name="cupsSetDefaultDest">cupsSetDefaultDest</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.3/OS X 10.5&nbsp;</span><a name="cupsSetDefaultDest">cupsSetDefaultDest</a></h3>
 <p class="description">Set the default destination.</p>
 <p class="code">
 void cupsSetDefaultDest (<br>
@@ -2070,7 +2662,7 @@ void cupsSetDests (<br>
 <h4 class="discussion">Discussion</h4>
 <p class="discussion">This function saves the destinations to /etc/cups/lpoptions when run
 as root and ~/.cups/lpoptions when run as a normal user.</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.21/Mac OS X 10.4&nbsp;</span><a name="cupsSetDests2">cupsSetDests2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.21/OS X 10.4&nbsp;</span><a name="cupsSetDests2">cupsSetDests2</a></h3>
 <p class="description">Save the list of destinations for the specified server.</p>
 <p class="code">
 int cupsSetDests2 (<br>
@@ -2134,7 +2726,7 @@ by a program per thread.<br>
 Note: The current password callback is tracked separately for each thread
 in a program. Multi-threaded programs that override the callback need to do
 so in each thread for the same callback to be used.</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="cupsSetPasswordCB2">cupsSetPasswordCB2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="cupsSetPasswordCB2">cupsSetPasswordCB2</a></h3>
 <p class="description">Set the advanced password callback for CUPS.</p>
 <p class="code">
 void cupsSetPasswordCB2 (<br>
@@ -2180,7 +2772,7 @@ default server name and port.<br>
 Note: The current server is tracked separately for each thread in a program.
 Multi-threaded programs that override the server need to do so in each
 thread for the same server to be used.</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span><a name="cupsSetServerCertCB">cupsSetServerCertCB</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.5/OS X 10.7&nbsp;</span><a name="cupsSetServerCertCB">cupsSetServerCertCB</a></h3>
 <p class="description">Set the server certificate callback.</p>
 <p class="code">
 void cupsSetServerCertCB (<br>
@@ -2219,7 +2811,53 @@ void cupsSetUser (<br>
 Note: The current user name is tracked separately for each thread in a
 program. Multi-threaded programs that override the user name need to do so
 in each thread for the same user name to be used.</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="cupsStartDocument">cupsStartDocument</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="cupsStartDestDocument">cupsStartDestDocument</a></h3>
+<p class="description">Start a new document.</p>
+<p class="code">
+http_status_t cupsStartDestDocument (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;http_t *http,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_dest_t">cups_dest_t</a> *dest,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_dinfo_t">cups_dinfo_t</a> *info,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int job_id,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;const char *docname,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;const char *format,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int num_options,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#cups_option_t">cups_option_t</a> *options,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int last_document<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>http</dt>
+<dd class="description">Connection to destination</dd>
+<dt>dest</dt>
+<dd class="description">Destination</dd>
+<dt>info</dt>
+<dd class="description">Destination information</dd>
+<dt>job_id</dt>
+<dd class="description">Job ID</dd>
+<dt>docname</dt>
+<dd class="description">Document name</dd>
+<dt>format</dt>
+<dd class="description">Document format</dd>
+<dt>num_options</dt>
+<dd class="description">Number of document options</dd>
+<dt>options</dt>
+<dd class="description">Document options</dd>
+<dt>last_document</dt>
+<dd class="description">1 if this is the last document</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">Status of document creation</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">&quot;job_id&quot; is the job ID returned by cupsCreateDestJob.  &quot;docname&quot; is the name
+of the document/file being printed, &quot;format&quot; is the MIME media type for the
+document (see CUPS_FORMAT_xxx constants), and &quot;num_options&quot; and &quot;options&quot;
+are the options do be applied to the document. &quot;last_document&quot; should be 1
+if this is the last document to be submitted in the job.  Returns
+<code>HTTP_CONTINUE</code> on success.
+
+</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="cupsStartDocument">cupsStartDocument</a></h3>
 <p class="description">Add a document to a job created with cupsCreateJob().</p>
 <p class="code">
 http_status_t cupsStartDocument (<br>
@@ -2298,7 +2936,7 @@ This function is deprecated - use <a href="#cupsTempFd"><code>cupsTempFd</code><
 <a href="#cupsTempFile2"><code>cupsTempFile2</code></a> instead.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsTempFile2">cupsTempFile2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsTempFile2">cupsTempFile2</a></h3>
 <p class="description">Creates a temporary CUPS file.</p>
 <p class="code">
 cups_file_t *cupsTempFile2 (<br>
@@ -2331,21 +2969,41 @@ program. Multi-threaded programs that override the user name with the
 <a href="#cupsSetUser"><code>cupsSetUser</code></a> function need to do so in each thread for the same user
 name to be used.</p>
 <h2 class="title"><a name="TYPES">Data Types</a></h2>
-<h3 class="typedef"><span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span><a name="cups_client_cert_cb_t">cups_client_cert_cb_t</a></h3>
-<p class="description">Client credentials callback </p>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.5/OS X 10.7&nbsp;</span><a name="cups_client_cert_cb_t">cups_client_cert_cb_t</a></h3>
+<p class="description">Client credentials callback
+</p>
 <p class="code">
 typedef int (*cups_client_cert_cb_t)(http_t *http, void *tls, cups_array_t *distinguished_names, void *user_data);
 </p>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="cups_dest_block_t">cups_dest_block_t</a></h3>
+<p class="description">Destination enumeration block
+</p>
+<p class="code">
+typedef int (*cups_dest_block_t(unsigned flags, <a href="#cups_dest_t">cups_dest_t</a> *dest);
+</p>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="cups_dest_cb_t">cups_dest_cb_t</a></h3>
+<p class="description">Destination enumeration callback
+</p>
+<p class="code">
+typedef int (*cups_dest_cb_t)(void *user_data, unsigned flags, <a href="#cups_dest_t">cups_dest_t</a> *dest);
+</p>
 <h3 class="typedef"><a name="cups_dest_t">cups_dest_t</a></h3>
 <p class="description">Destination</p>
 <p class="code">
 typedef struct <a href="#cups_dest_s">cups_dest_s</a> cups_dest_t;
 </p>
-<h3 class="typedef"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="cups_device_cb_t">cups_device_cb_t</a></h3>
-<p class="description">Device callback </p>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="cups_device_cb_t">cups_device_cb_t</a></h3>
+<p class="description">Device callback
+</p>
 <p class="code">
 typedef void (*cups_device_cb_t)(const char *device_class, const char *device_id, const char *device_info, const char *device_make_and_model, const char *device_uri, const char *device_location, void *user_data);
 </p>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="cups_dinfo_t">cups_dinfo_t</a></h3>
+<p class="description">Destination capability and status
+information </p>
+<p class="code">
+typedef struct _cups_dinfo_s cups_dinfo_t;
+</p>
 <h3 class="typedef"><a name="cups_job_t">cups_job_t</a></h3>
 <p class="description">Job</p>
 <p class="code">
@@ -2356,8 +3014,9 @@ typedef struct <a href="#cups_job_s">cups_job_s</a> cups_job_t;
 <p class="code">
 typedef struct <a href="#cups_option_s">cups_option_s</a> cups_option_t;
 </p>
-<h3 class="typedef"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="cups_password_cb2_t">cups_password_cb2_t</a></h3>
-<p class="description">New password callback </p>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="cups_password_cb2_t">cups_password_cb2_t</a></h3>
+<p class="description">New password callback
+</p>
 <p class="code">
 typedef const char *(*cups_password_cb2_t)(const char *prompt, http_t *http, const char *method, const char *resource, void *user_data);
 </p>
@@ -2371,11 +3030,17 @@ typedef const char *(*cups_password_cb_t)(const char *prompt);
 <p class="code">
 typedef unsigned cups_ptype_t;
 </p>
-<h3 class="typedef"><span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span><a name="cups_server_cert_cb_t">cups_server_cert_cb_t</a></h3>
-<p class="description">Server credentials callback </p>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.5/OS X 10.7&nbsp;</span><a name="cups_server_cert_cb_t">cups_server_cert_cb_t</a></h3>
+<p class="description">Server credentials callback
+</p>
 <p class="code">
 typedef int (*cups_server_cert_cb_t)(http_t *http, void *tls, cups_array_t *certs, void *user_data);
 </p>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="cups_size_t">cups_size_t</a></h3>
+<p class="description">Media Size </p>
+<p class="code">
+typedef struct <a href="#cups_size_s">cups_size_s</a> cups_size_t;
+</p>
 <h2 class="title"><a name="STRUCTURES">Structures</a></h2>
 <h3 class="struct"><a name="cups_dest_s">cups_dest_s</a></h3>
 <p class="description">Destination</p>
@@ -2449,6 +3114,37 @@ typedef int (*cups_server_cert_cb_t)(http_t *http, void *tls, cups_array_t *cert
 <dt>value </dt>
 <dd class="description">Value of option</dd>
 </dl>
+<h3 class="struct"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="cups_size_s">cups_size_s</a></h3>
+<p class="description">Media Size </p>
+<p class="code">struct cups_size_s {<br>
+&nbsp;&nbsp;&nbsp;&nbsp;char media[128];<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int width, length, bottom, left, right, top;<br>
+};</p>
+<h4 class="members">Members</h4>
+<dl>
+<dt>media[128] </dt>
+<dd class="description">Media name to use</dd>
+<dt>top </dt>
+<dd class="description">Top margin in hundredths of
+millimeters</dd>
+</dl>
+<h3 class="struct"><a name="pollfd">pollfd</a></h3>
+<p class="description">User data (unused)</p>
+<p class="code">struct pollfd *pollfds, unsigned int num_pollfds, int timeout, void *context) {<br>
+&nbsp;&nbsp;&nbsp;&nbsp;_cups_dnssd_data_t *data;<br>
+&nbsp;&nbsp;&nbsp;&nbsp;else if(val 0) data - got_data;<br>
+&nbsp;&nbsp;&nbsp;&nbsp;void) timeout;<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int val;<br>
+};</p>
+<h4 class="members">Members</h4>
+<dl>
+<dt>data </dt>
+<dd class="description">Enumeration data</dd>
+<dt>got_data </dt>
+<dt>timeout </dt>
+<dt>val </dt>
+<dd class="description">Return value</dd>
+</dl>
 <h2 class="title"><a name="VARIABLES">Variables</a></h2>
 <h3 class="variable"><a name="CF_RETURNS_RETAINED">CF_RETURNS_RETAINED</a></h3>
 <p class="description">Get the Apple language identifier associated with a
@@ -2456,11 +3152,13 @@ locale ID.</p>
 <p class="code">const char *locale) CF_RETURNS_RETAINED;</p>
 <h2 class="title"><a name="ENUMERATIONS">Constants</a></h2>
 <h3 class="enumeration"><a name="cups_ptype_e">cups_ptype_e</a></h3>
-<p class="description">Printer type/capability bit constants</p>
+<p class="description">Printer type/capability bit
+constants</p>
 <h4 class="constants">Constants</h4>
 <dl>
-<dt>CUPS_PRINTER_AUTHENTICATED <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
-<dd class="description">Printer requires authentication </dd>
+<dt>CUPS_PRINTER_AUTHENTICATED <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
+<dd class="description">Printer requires authentication
+</dd>
 <dt>CUPS_PRINTER_BIND </dt>
 <dd class="description">Can bind output</dd>
 <dt>CUPS_PRINTER_BW </dt>
@@ -2471,42 +3169,43 @@ locale ID.</p>
 <dd class="description">Can collage copies</dd>
 <dt>CUPS_PRINTER_COLOR </dt>
 <dd class="description">Can do color printing</dd>
-<dt>CUPS_PRINTER_COMMANDS <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
-<dd class="description">Printer supports maintenance commands </dd>
+<dt>CUPS_PRINTER_COMMANDS <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
+<dd class="description">Printer supports maintenance commands
+</dd>
 <dt>CUPS_PRINTER_COPIES </dt>
 <dd class="description">Can do copies</dd>
 <dt>CUPS_PRINTER_COVER </dt>
 <dd class="description">Can cover output</dd>
 <dt>CUPS_PRINTER_DEFAULT </dt>
 <dd class="description">Default printer on network</dd>
-<dt>CUPS_PRINTER_DELETE <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
-<dd class="description">Delete printer </dd>
-<dt>CUPS_PRINTER_DISCOVERED <span class="info">&nbsp;CUPS 1.3/Mac OS X 10.5&nbsp;</span></dt>
-<dd class="description">Printer was automatically discovered and added </dd>
+<dt>CUPS_PRINTER_DELETE <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
+<dd class="description">Delete printer
+</dd>
 <dt>CUPS_PRINTER_DUPLEX </dt>
 <dd class="description">Can do duplexing</dd>
 <dt>CUPS_PRINTER_FAX </dt>
 <dd class="description">Fax queue</dd>
-<dt>CUPS_PRINTER_IMPLICIT </dt>
-<dd class="description">Implicit class</dd>
 <dt>CUPS_PRINTER_LARGE </dt>
 <dd class="description">Can do D/E/A1/A0</dd>
 <dt>CUPS_PRINTER_LOCAL </dt>
 <dd class="description">Local printer or class</dd>
 <dt>CUPS_PRINTER_MEDIUM </dt>
 <dd class="description">Can do Tabloid/B/C/A3/A2</dd>
-<dt>CUPS_PRINTER_MFP <span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span></dt>
-<dd class="description">Printer with scanning capabilities </dd>
-<dt>CUPS_PRINTER_NOT_SHARED <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
-<dd class="description">Printer is not shared </dd>
+<dt>CUPS_PRINTER_MFP <span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span></dt>
+<dd class="description">Printer with scanning capabilities
+</dd>
+<dt>CUPS_PRINTER_NOT_SHARED <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
+<dd class="description">Printer is not shared
+</dd>
 <dt>CUPS_PRINTER_PUNCH </dt>
 <dd class="description">Can punch output</dd>
 <dt>CUPS_PRINTER_REJECTING </dt>
 <dd class="description">Printer is rejecting jobs</dd>
 <dt>CUPS_PRINTER_REMOTE </dt>
 <dd class="description">Remote printer or class</dd>
-<dt>CUPS_PRINTER_SCANNER <span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span></dt>
-<dd class="description">Scanner-only device </dd>
+<dt>CUPS_PRINTER_SCANNER <span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span></dt>
+<dd class="description">Scanner-only device
+</dd>
 <dt>CUPS_PRINTER_SMALL </dt>
 <dd class="description">Can do Letter/Legal/A4</dd>
 <dt>CUPS_PRINTER_SORT </dt>
index 1a3ee3a..d0e4a55 100644 (file)
@@ -341,7 +341,7 @@ div.contents ul.subcontents li {
 <body>
 <div class='body'>
 <!--
-  "$Id: api-driver.html 9740 2011-05-04 06:26:22Z mike $"
+  "$Id$"
 
   Driver API header for CUPS.
 
@@ -430,7 +430,7 @@ media, and resolution.">cupsFindAttr</a></li>
 </ul></li>
 </ul>
 <!--
-  "$Id: api-driver.html 9740 2011-05-04 06:26:22Z mike $"
+  "$Id$"
 
   Driver API introduction for CUPS.
 
index 430494a..fc7b72a 100644 (file)
@@ -341,7 +341,7 @@ div.contents ul.subcontents li {
 <body>
 <div class='body'>
 <!--
-  "$Id: api-filedir.html 9772 2011-05-12 05:46:30Z mike $"
+  "$Id: api-filedir.header 7279 2008-01-31 01:50:44Z mike $"
 
   File and Directory API header for CUPS.
 
@@ -424,7 +424,7 @@ file.">cupsFileRewind</a></li>
 </ul></li>
 </ul>
 <!--
-  "$Id: api-filedir.html 9772 2011-05-12 05:46:30Z mike $"
+  "$Id: api-filedir.shtml 7279 2008-01-31 01:50:44Z mike $"
 
   File and directory API introduction for CUPS.
 
@@ -455,7 +455,7 @@ details of directory access/listing and provide a convenient way
 to get both a list of files and the information (permissions,
 size, timestamp, etc.) for each of those files.</p>
 <h2 class="title"><a name="FUNCTIONS">Functions</a></h2>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsDirClose">cupsDirClose</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsDirClose">cupsDirClose</a></h3>
 <p class="description">Close a directory.</p>
 <p class="code">
 void cupsDirClose (<br>
@@ -466,7 +466,7 @@ void cupsDirClose (<br>
 <dt>dp</dt>
 <dd class="description">Directory pointer</dd>
 </dl>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsDirOpen">cupsDirOpen</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsDirOpen">cupsDirOpen</a></h3>
 <p class="description">Open a directory.</p>
 <p class="code">
 <a href="#cups_dir_t">cups_dir_t</a> *cupsDirOpen (<br>
@@ -479,7 +479,7 @@ void cupsDirClose (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Directory pointer or <code>NULL</code> if the directory could not be opened.</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsDirRead">cupsDirRead</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsDirRead">cupsDirRead</a></h3>
 <p class="description">Read the next directory entry.</p>
 <p class="code">
 <a href="#cups_dentry_t">cups_dentry_t</a> *cupsDirRead (<br>
@@ -492,7 +492,7 @@ void cupsDirClose (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Directory entry or <code>NULL</code> when there are no more</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsDirRewind">cupsDirRewind</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsDirRewind">cupsDirRewind</a></h3>
 <p class="description">Rewind to the start of the directory.</p>
 <p class="code">
 void cupsDirRewind (<br>
@@ -503,7 +503,7 @@ void cupsDirRewind (<br>
 <dt>dp</dt>
 <dd class="description">Directory pointer</dd>
 </dl>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFileClose">cupsFileClose</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFileClose">cupsFileClose</a></h3>
 <p class="description">Close a CUPS file.</p>
 <p class="code">
 int cupsFileClose (<br>
@@ -516,7 +516,7 @@ int cupsFileClose (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">0 on success, -1 on error</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFileCompression">cupsFileCompression</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFileCompression">cupsFileCompression</a></h3>
 <p class="description">Return whether a file is compressed.</p>
 <p class="code">
 int cupsFileCompression (<br>
@@ -529,7 +529,7 @@ int cupsFileCompression (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description"><code>CUPS_FILE_NONE</code> or <code>CUPS_FILE_GZIP</code></p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFileEOF">cupsFileEOF</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFileEOF">cupsFileEOF</a></h3>
 <p class="description">Return the end-of-file status.</p>
 <p class="code">
 int cupsFileEOF (<br>
@@ -542,7 +542,7 @@ int cupsFileEOF (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">1 on end of file, 0 otherwise</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFileFind">cupsFileFind</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFileFind">cupsFileFind</a></h3>
 <p class="description">Find a file using the specified path.</p>
 <p class="code">
 const char *cupsFileFind (<br>
@@ -575,7 +575,7 @@ the supplied paths, <code>NULL</code> is returned. A <code>NULL</code> path only
 matches the current directory.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFileFlush">cupsFileFlush</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFileFlush">cupsFileFlush</a></h3>
 <p class="description">Flush pending output.</p>
 <p class="code">
 int cupsFileFlush (<br>
@@ -588,7 +588,7 @@ int cupsFileFlush (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">0 on success, -1 on error</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFileGetChar">cupsFileGetChar</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFileGetChar">cupsFileGetChar</a></h3>
 <p class="description">Get a single character from a file.</p>
 <p class="code">
 int cupsFileGetChar (<br>
@@ -601,7 +601,7 @@ int cupsFileGetChar (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Character or -1 on end of file</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFileGetConf">cupsFileGetConf</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFileGetConf">cupsFileGetConf</a></h3>
 <p class="description">Get a line from a configuration file.</p>
 <p class="code">
 char *cupsFileGetConf (<br>
@@ -626,7 +626,7 @@ char *cupsFileGetConf (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Line read or <code>NULL</code> on end of file or error</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFileGetLine">cupsFileGetLine</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFileGetLine">cupsFileGetLine</a></h3>
 <p class="description">Get a CR and/or LF-terminated line that may
 contain binary data.</p>
 <p class="code">
@@ -653,7 +653,7 @@ nul-terminated, however you should use the returned length to determine
 the number of bytes on the line.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFileGets">cupsFileGets</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFileGets">cupsFileGets</a></h3>
 <p class="description">Get a CR and/or LF-terminated line.</p>
 <p class="code">
 char *cupsFileGets (<br>
@@ -672,7 +672,7 @@ char *cupsFileGets (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Line read or <code>NULL</code> on end of file or error</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFileLock">cupsFileLock</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFileLock">cupsFileLock</a></h3>
 <p class="description">Temporarily lock access to a file.</p>
 <p class="code">
 int cupsFileLock (<br>
@@ -688,7 +688,7 @@ int cupsFileLock (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">0 on success, -1 on error</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFileNumber">cupsFileNumber</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFileNumber">cupsFileNumber</a></h3>
 <p class="description">Return the file descriptor associated with a CUPS file.</p>
 <p class="code">
 int cupsFileNumber (<br>
@@ -701,7 +701,7 @@ int cupsFileNumber (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">File descriptor</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFileOpen">cupsFileOpen</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFileOpen">cupsFileOpen</a></h3>
 <p class="description">Open a CUPS file.</p>
 <p class="code">
 <a href="#cups_file_t">cups_file_t</a> *cupsFileOpen (<br>
@@ -732,7 +732,7 @@ connection as needed, generally preferring IPv6 connections when there is
 a choice.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFileOpenFd">cupsFileOpenFd</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFileOpenFd">cupsFileOpenFd</a></h3>
 <p class="description">Open a CUPS file using a file descriptor.</p>
 <p class="code">
 <a href="#cups_file_t">cups_file_t</a> *cupsFileOpenFd (<br>
@@ -757,7 +757,7 @@ supplied which enables Flate compression of the file.  Compression is
 not supported for the &quot;a&quot; (append) mode.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFilePeekChar">cupsFilePeekChar</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFilePeekChar">cupsFilePeekChar</a></h3>
 <p class="description">Peek at the next character from a file.</p>
 <p class="code">
 int cupsFilePeekChar (<br>
@@ -770,7 +770,7 @@ int cupsFilePeekChar (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Character or -1 on end of file</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFilePrintf">cupsFilePrintf</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFilePrintf">cupsFilePrintf</a></h3>
 <p class="description">Write a formatted string.</p>
 <p class="code">
 int cupsFilePrintf (<br>
@@ -789,7 +789,7 @@ int cupsFilePrintf (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Number of bytes written or -1 on error</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFilePutChar">cupsFilePutChar</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFilePutChar">cupsFilePutChar</a></h3>
 <p class="description">Write a character.</p>
 <p class="code">
 int cupsFilePutChar (<br>
@@ -805,7 +805,7 @@ int cupsFilePutChar (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">0 on success, -1 on error</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="cupsFilePutConf">cupsFilePutConf</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="cupsFilePutConf">cupsFilePutConf</a></h3>
 <p class="description">Write a configuration line.</p>
 <p class="code">
 ssize_t cupsFilePutConf (<br>
@@ -828,7 +828,7 @@ ssize_t cupsFilePutConf (<br>
 <p class="discussion">This function handles any comment escaping of the value.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFilePuts">cupsFilePuts</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFilePuts">cupsFilePuts</a></h3>
 <p class="description">Write a string.</p>
 <p class="code">
 int cupsFilePuts (<br>
@@ -848,7 +848,7 @@ int cupsFilePuts (<br>
 <p class="discussion">Like the <code>fputs</code> function, no newline is appended to the string.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFileRead">cupsFileRead</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFileRead">cupsFileRead</a></h3>
 <p class="description">Read from a file.</p>
 <p class="code">
 ssize_t cupsFileRead (<br>
@@ -867,7 +867,7 @@ ssize_t cupsFileRead (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Number of bytes read or -1 on error</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFileRewind">cupsFileRewind</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFileRewind">cupsFileRewind</a></h3>
 <p class="description">Set the current file position to the beginning of the
 file.</p>
 <p class="code">
@@ -881,7 +881,7 @@ off_t cupsFileRewind (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">New file position or -1 on error</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFileSeek">cupsFileSeek</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFileSeek">cupsFileSeek</a></h3>
 <p class="description">Seek in a file.</p>
 <p class="code">
 off_t cupsFileSeek (<br>
@@ -897,25 +897,25 @@ off_t cupsFileSeek (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">New file position or -1 on error</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFileStderr">cupsFileStderr</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFileStderr">cupsFileStderr</a></h3>
 <p class="description">Return a CUPS file associated with stderr.</p>
 <p class="code">
 <a href="#cups_file_t">cups_file_t</a> *cupsFileStderr (void);</p>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">CUPS file</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFileStdin">cupsFileStdin</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFileStdin">cupsFileStdin</a></h3>
 <p class="description">Return a CUPS file associated with stdin.</p>
 <p class="code">
 <a href="#cups_file_t">cups_file_t</a> *cupsFileStdin (void);</p>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">CUPS file</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFileStdout">cupsFileStdout</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFileStdout">cupsFileStdout</a></h3>
 <p class="description">Return a CUPS file associated with stdout.</p>
 <p class="code">
 <a href="#cups_file_t">cups_file_t</a> *cupsFileStdout (void);</p>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">CUPS file</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFileTell">cupsFileTell</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFileTell">cupsFileTell</a></h3>
 <p class="description">Return the current file position.</p>
 <p class="code">
 off_t cupsFileTell (<br>
@@ -928,7 +928,7 @@ off_t cupsFileTell (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">File position</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFileUnlock">cupsFileUnlock</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFileUnlock">cupsFileUnlock</a></h3>
 <p class="description">Unlock access to a file.</p>
 <p class="code">
 int cupsFileUnlock (<br>
@@ -941,7 +941,7 @@ int cupsFileUnlock (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">0 on success, -1 on error</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFileWrite">cupsFileWrite</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFileWrite">cupsFileWrite</a></h3>
 <p class="description">Write to a file.</p>
 <p class="code">
 ssize_t cupsFileWrite (<br>
index 3a9d128..5428058 100644 (file)
@@ -341,7 +341,7 @@ div.contents ul.subcontents li {
 <body>
 <div class='body'>
 <!--
-  "$Id: api-filter.html 9799 2011-05-20 18:09:22Z mike $"
+  "$Id: api-filter.header 7616 2008-05-28 00:34:13Z mike $"
 
   Filter and backend programming header for CUPS.
 
@@ -426,11 +426,11 @@ div.contents ul.subcontents li {
 </ul></li>
 </ul>
 <!--
-  "$Id: api-filter.html 9799 2011-05-20 18:09:22Z mike $"
+  "$Id: api-filter.shtml 7677 2008-06-19 23:22:19Z mike $"
 
   Filter and backend programming introduction for CUPS.
 
-  Copyright 2007-2011 by Apple Inc.
+  Copyright 2007-2013 by Apple Inc.
   Copyright 1997-2006 by Easy Software Products, all rights reserved.
 
   These coded instructions, statements, and computer programs are the
@@ -508,7 +508,7 @@ directory to write to.</p>
 
 <p>In addition, some operating systems provide additional security mechanisms
 that further limit file system access, even for backends running as root. On
-Mac OS X, for example, no backend may write to a user's home directory.</p>
+OS X, for example, no backend may write to a user's home directory.</p>
 </blockquote>
 
 <h3><a name="SIGNALS">Canceled Jobs and Signal Handling</a></h3>
@@ -580,7 +580,7 @@ when running print filters and backends:</p>
 
        <dt>APPLE_LANGUAGE</dt>
        <dd>The Apple language identifier associated with the job
-       (Mac OS X only).</dd>
+       (OS X only).</dd>
 
        <dt>CHARSET</dt>
        <dd>The job character set, typically "utf-8".</dd>
@@ -901,7 +901,7 @@ sub-state and not an issue that applies when a job is not printing.</p>
 <blockquote><b>Note:</b>
 
 <p>"STATE:" messages often provide visible alerts to the user. For example,
-on Mac OS X setting a printer-state-reason value with an "-error" or
+on OS X setting a printer-state-reason value with an "-error" or
 "-warning" suffix will cause the printer's dock item to bounce if the
 corresponding reason is localized with a cupsIPPReason keyword in the
 printer's PPD file.</p>
@@ -915,7 +915,7 @@ from localizing the vendor-prefixed keyword in the PPD file - otherwise both
 the generic and vendor-specific keyword will be shown in the user
 interface.</p>
 
-</blockquote></dd>
+</blockquote>
 
 <h4><a name="REPORTING_SUPPLIES">Reporting Supply Levels</a></h4>
 
@@ -1040,7 +1040,7 @@ datalen = sizeof(data) - 1;
 status = <a href="#cupsSideChannelDoRequest">cupsSideChannelDoRequest</a>(CUPS_SC_CMD_GET_DEVICE_ID, data, &amp;datalen, 1.0);
 
 /* Use the returned value if OK was returned and the length is non-zero */
-if (status == CUPS_SC_STATUS_OK && datalen > 0)
+if (status == CUPS_SC_STATUS_OK &amp;&amp; datalen > 0)
   data[datalen] = '\0';
 else
   data[0] = '\0';
@@ -1191,7 +1191,7 @@ void *my_data;
 <a href="#cupsSideChannelSNMPWalk">cupsSNMPSideChannelWalk</a>(".1.3.6.1.2.1.43", 5.0, my_callback, my_data);
 </pre>
 <h2 class="title"><a name="FUNCTIONS">Functions</a></h2>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsBackChannelRead">cupsBackChannelRead</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsBackChannelRead">cupsBackChannelRead</a></h3>
 <p class="description">Read data from the backchannel.</p>
 <p class="code">
 ssize_t cupsBackChannelRead (<br>
@@ -1216,7 +1216,7 @@ parameter controls how many seconds to wait for the data - use 0.0 to
 return immediately if there is no data, -1.0 to wait for data indefinitely.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsBackChannelWrite">cupsBackChannelWrite</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsBackChannelWrite">cupsBackChannelWrite</a></h3>
 <p class="description">Write data to the backchannel.</p>
 <p class="code">
 ssize_t cupsBackChannelWrite (<br>
@@ -1242,7 +1242,7 @@ controls how many seconds to wait for the data to be written - use
 indefinitely.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsBackendDeviceURI">cupsBackendDeviceURI</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsBackendDeviceURI">cupsBackendDeviceURI</a></h3>
 <p class="description">Get the device URI for a backend.</p>
 <p class="code">
 const char *cupsBackendDeviceURI (<br>
@@ -1262,7 +1262,7 @@ variable or the device URI passed in argv[0], whichever is found
 first.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="cupsBackendReport">cupsBackendReport</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="cupsBackendReport">cupsBackendReport</a></h3>
 <p class="description">Write a device line from a backend.</p>
 <p class="code">
 void cupsBackendReport (<br>
@@ -1294,7 +1294,7 @@ It handles quoting of special characters in the device-make-and-model,
 device-info, device-id, and device-location strings.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.3/Mac OS X 10.5&nbsp;</span><a name="cupsSideChannelDoRequest">cupsSideChannelDoRequest</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.3/OS X 10.5&nbsp;</span><a name="cupsSideChannelDoRequest">cupsSideChannelDoRequest</a></h3>
 <p class="description">Send a side-channel command to a backend and wait for a response.</p>
 <p class="code">
 <a href="#cups_sc_status_t">cups_sc_status_t</a> cupsSideChannelDoRequest (<br>
@@ -1328,7 +1328,7 @@ pointed to by the &quot;data&quot; parameter.  cupsSideChannelDoRequest() will
 update the value to contain the number of data bytes in the buffer.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.3/Mac OS X 10.5&nbsp;</span><a name="cupsSideChannelRead">cupsSideChannelRead</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.3/OS X 10.5&nbsp;</span><a name="cupsSideChannelRead">cupsSideChannelRead</a></h3>
 <p class="description">Read a side-channel message.</p>
 <p class="code">
 int cupsSideChannelRead (<br>
@@ -1364,7 +1364,7 @@ pointed to by the &quot;data&quot; parameter.  cupsSideChannelDoRequest() will
 update the value to contain the number of data bytes in the buffer.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="cupsSideChannelSNMPGet">cupsSideChannelSNMPGet</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="cupsSideChannelSNMPGet">cupsSideChannelSNMPGet</a></h3>
 <p class="description">Query a SNMP OID's value.</p>
 <p class="code">
 <a href="#cups_sc_status_t">cups_sc_status_t</a> cupsSideChannelSNMPGet (<br>
@@ -1405,7 +1405,7 @@ support SNMP queries.  <code>CUPS_SC_STATUS_NO_RESPONSE</code> is returned when
 the printer does not respond to the SNMP query.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="cupsSideChannelSNMPWalk">cupsSideChannelSNMPWalk</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="cupsSideChannelSNMPWalk">cupsSideChannelSNMPWalk</a></h3>
 <p class="description">Query multiple SNMP OID values.</p>
 <p class="code">
 <a href="#cups_sc_status_t">cups_sc_status_t</a> cupsSideChannelSNMPWalk (<br>
@@ -1451,7 +1451,7 @@ support SNMP queries.  <code>CUPS_SC_STATUS_NO_RESPONSE</code> is returned when
 the printer does not respond to the first SNMP query.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.3/Mac OS X 10.5&nbsp;</span><a name="cupsSideChannelWrite">cupsSideChannelWrite</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.3/OS X 10.5&nbsp;</span><a name="cupsSideChannelWrite">cupsSideChannelWrite</a></h3>
 <p class="description">Write a side-channel message.</p>
 <p class="code">
 int cupsSideChannelWrite (<br>
@@ -1556,15 +1556,15 @@ typedef void (*cups_sc_walk_func_t)(const char *oid, const char *data, int datal
 <dd class="description">Drain all pending output</dd>
 <dt>CUPS_SC_CMD_GET_BIDI </dt>
 <dd class="description">Return bidirectional capabilities</dd>
-<dt>CUPS_SC_CMD_GET_CONNECTED <span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span></dt>
+<dt>CUPS_SC_CMD_GET_CONNECTED <span class="info">&nbsp;CUPS 1.5/OS X 10.7&nbsp;</span></dt>
 <dd class="description">Return whether the backend is &quot;connected&quot; to the printer </dd>
 <dt>CUPS_SC_CMD_GET_DEVICE_ID </dt>
 <dd class="description">Return the IEEE-1284 device ID</dd>
 <dt>CUPS_SC_CMD_GET_STATE </dt>
 <dd class="description">Return the device state</dd>
-<dt>CUPS_SC_CMD_SNMP_GET <span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span></dt>
+<dt>CUPS_SC_CMD_SNMP_GET <span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span></dt>
 <dd class="description">Query an SNMP OID </dd>
-<dt>CUPS_SC_CMD_SNMP_GET_NEXT <span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span></dt>
+<dt>CUPS_SC_CMD_SNMP_GET_NEXT <span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span></dt>
 <dd class="description">Query the next SNMP OID </dd>
 <dt>CUPS_SC_CMD_SOFT_RESET </dt>
 <dd class="description">Do a soft reset</dd>
index 38a3e3f..0e0591a 100644 (file)
@@ -341,7 +341,7 @@ div.contents ul.subcontents li {
 <body>
 <div class='body'>
 <!--
-  "$Id: api-httpipp.html 9801 2011-05-21 04:02:41Z mike $"
+  "$Id: api-httpipp.header 7258 2008-01-28 00:15:05Z mike $"
 
   HTTP and IPP API header for CUPS.
 
@@ -395,8 +395,10 @@ div.contents ul.subcontents li {
        <li><a href="#cupsGetFd" title="Get a file from the server.">cupsGetFd</a></li>
        <li><a href="#cupsGetFile" title="Get a file from the server.">cupsGetFile</a></li>
        <li><a href="#cupsGetResponse" title="Get a response to an IPP request.">cupsGetResponse</a></li>
-       <li><a href="#cupsLastError" title="Return the last IPP status code.">cupsLastError</a></li>
-       <li><a href="#cupsLastErrorString" title="Return the last IPP status-message.">cupsLastErrorString</a></li>
+       <li><a href="#cupsLastError" title="Return the last IPP status code received on the current
+thread.">cupsLastError</a></li>
+       <li><a href="#cupsLastErrorString" title="Return the last IPP status-message received on the
+current thread.">cupsLastErrorString</a></li>
        <li><a href="#cupsPutFd" title="Put a file on the server.">cupsPutFd</a></li>
        <li><a href="#cupsPutFile" title="Put a file on the server.">cupsPutFile</a></li>
        <li><a href="#cupsReadResponseData" title="Read additional data after the IPP response.">cupsReadResponseData</a></li>
@@ -448,9 +450,11 @@ address records for the specified name.">httpGetHostByName</a></li>
 content-length or transfer-encoding fields.">httpGetLength</a></li>
        <li><a href="#httpGetLength2" title="Get the amount of data remaining from the
 content-length or transfer-encoding fields.">httpGetLength2</a></li>
+       <li><a href="#httpGetState" title="Get the current state of the HTTP request.">httpGetState</a></li>
        <li><a href="#httpGetStatus" title="Get the status of the last HTTP request.">httpGetStatus</a></li>
        <li><a href="#httpGetSubField" title="Get a sub-field value.">httpGetSubField</a></li>
        <li><a href="#httpGetSubField2" title="Get a sub-field value.">httpGetSubField2</a></li>
+       <li><a href="#httpGetVersion" title="Get the HTTP version at the other end.">httpGetVersion</a></li>
        <li><a href="#httpGets" title="Get a line of text from a HTTP connection.">httpGets</a></li>
        <li><a href="#httpHead" title="Send a HEAD request to the server.">httpHead</a></li>
        <li><a href="#httpInitialize" title="Initialize the HTTP interface library and set the
@@ -466,6 +470,8 @@ request-uri.">httpMD5Final</a></li>
        <li><a href="#httpRead" title="Read data from a HTTP connection.">httpRead</a></li>
        <li><a href="#httpRead2" title="Read data from a HTTP connection.">httpRead2</a></li>
        <li><a href="#httpReconnect" title="Reconnect to a HTTP server.">httpReconnect</a></li>
+       <li><a href="#httpReconnect2" title="Reconnect to a HTTP server with timeout and optional
+cancel.">httpReconnect2</a></li>
        <li><a href="#httpSeparate" title="Separate a Universal Resource Identifier into its
 components.">httpSeparate</a></li>
        <li><a href="#httpSeparate2" title="Separate a Universal Resource Identifier into its
@@ -494,6 +500,7 @@ connection.">httpSetCredentials</a></li>
        <li><a href="#ippAddInteger" title="Add a integer attribute to an IPP message.">ippAddInteger</a></li>
        <li><a href="#ippAddIntegers" title="Add an array of integer values.">ippAddIntegers</a></li>
        <li><a href="#ippAddOctetString" title="Add an octetString value to an IPP message.">ippAddOctetString</a></li>
+       <li><a href="#ippAddOutOfBand" title="Add an out-of-band value to an IPP message.">ippAddOutOfBand</a></li>
        <li><a href="#ippAddRange" title="Add a range of values to an IPP message.">ippAddRange</a></li>
        <li><a href="#ippAddRanges" title="Add ranges of values to an IPP message.">ippAddRanges</a></li>
        <li><a href="#ippAddResolution" title="Add a resolution value to an IPP message.">ippAddResolution</a></li>
@@ -501,24 +508,63 @@ connection.">httpSetCredentials</a></li>
        <li><a href="#ippAddSeparator" title="Add a group separator to an IPP message.">ippAddSeparator</a></li>
        <li><a href="#ippAddString" title="Add a language-encoded string to an IPP message.">ippAddString</a></li>
        <li><a href="#ippAddStrings" title="Add language-encoded strings to an IPP message.">ippAddStrings</a></li>
+       <li><a href="#ippAttributeString" title="Convert the attribute's value to a string.">ippAttributeString</a></li>
+       <li><a href="#ippCopyAttribute" title="Copy an attribute.">ippCopyAttribute</a></li>
+       <li><a href="#ippCopyAttributes" title="Copy attributes from one IPP message to another.">ippCopyAttributes</a></li>
        <li><a href="#ippDateToTime" title="Convert from RFC 1903 Date/Time format to UNIX time
 in seconds.">ippDateToTime</a></li>
        <li><a href="#ippDelete" title="Delete an IPP message.">ippDelete</a></li>
        <li><a href="#ippDeleteAttribute" title="Delete a single attribute in an IPP message.">ippDeleteAttribute</a></li>
+       <li><a href="#ippDeleteValues" title="Delete values in an attribute.">ippDeleteValues</a></li>
+       <li><a href="#ippEnumString" title="Return a string corresponding to the enum value.">ippEnumString</a></li>
+       <li><a href="#ippEnumValue" title="Return the value associated with a given enum string.">ippEnumValue</a></li>
        <li><a href="#ippErrorString" title="Return a name for the given status code.">ippErrorString</a></li>
        <li><a href="#ippErrorValue" title="Return a status code for the given name.">ippErrorValue</a></li>
-       <li><a href="#ippFindAttribute" title="Find a named attribute in a request...">ippFindAttribute</a></li>
-       <li><a href="#ippFindNextAttribute" title="Find the next named attribute in a request...">ippFindNextAttribute</a></li>
+       <li><a href="#ippFindAttribute" title="Find a named attribute in a request.">ippFindAttribute</a></li>
+       <li><a href="#ippFindNextAttribute" title="Find the next named attribute in a request.">ippFindNextAttribute</a></li>
+       <li><a href="#ippFirstAttribute" title="Return the first attribute in the message.">ippFirstAttribute</a></li>
+       <li><a href="#ippGetBoolean" title="Get a boolean value for an attribute.">ippGetBoolean</a></li>
+       <li><a href="#ippGetCollection" title="Get a collection value for an attribute.">ippGetCollection</a></li>
+       <li><a href="#ippGetCount" title="Get the number of values in an attribute.">ippGetCount</a></li>
+       <li><a href="#ippGetDate" title="Get a date value for an attribute.">ippGetDate</a></li>
+       <li><a href="#ippGetGroupTag" title="Get the group associated with an attribute.">ippGetGroupTag</a></li>
+       <li><a href="#ippGetInteger" title="Get the integer/enum value for an attribute.">ippGetInteger</a></li>
+       <li><a href="#ippGetName" title="Get the attribute name.">ippGetName</a></li>
+       <li><a href="#ippGetOperation" title="Get the operation ID in an IPP message.">ippGetOperation</a></li>
+       <li><a href="#ippGetRange" title="Get a rangeOfInteger value from an attribute.">ippGetRange</a></li>
+       <li><a href="#ippGetRequestId" title="Get the request ID from an IPP message.">ippGetRequestId</a></li>
+       <li><a href="#ippGetResolution" title="Get a resolution value for an attribute.">ippGetResolution</a></li>
+       <li><a href="#ippGetState" title="Get the IPP message state.">ippGetState</a></li>
+       <li><a href="#ippGetStatusCode" title="Get the status code from an IPP response or event message.">ippGetStatusCode</a></li>
+       <li><a href="#ippGetString" title="Return the value...">ippGetString</a></li>
+       <li><a href="#ippGetValueTag" title="Get the value tag for an attribute.">ippGetValueTag</a></li>
+       <li><a href="#ippGetVersion" title="Get the major and minor version number from an IPP message.">ippGetVersion</a></li>
        <li><a href="#ippLength" title="Compute the length of an IPP message.">ippLength</a></li>
        <li><a href="#ippNew" title="Allocate a new IPP message.">ippNew</a></li>
        <li><a href="#ippNewRequest" title="Allocate a new IPP request message.">ippNewRequest</a></li>
+       <li><a href="#ippNextAttribute" title="Return the next attribute in the message.">ippNextAttribute</a></li>
        <li><a href="#ippOpString" title="Return a name for the given operation id.">ippOpString</a></li>
        <li><a href="#ippOpValue" title="Return an operation id for the given name.">ippOpValue</a></li>
        <li><a href="#ippPort" title="Return the default IPP port number.">ippPort</a></li>
        <li><a href="#ippRead" title="Read data for an IPP message from a HTTP connection.">ippRead</a></li>
        <li><a href="#ippReadFile" title="Read data for an IPP message from a file.">ippReadFile</a></li>
        <li><a href="#ippReadIO" title="Read data for an IPP message.">ippReadIO</a></li>
+       <li><a href="#ippSetBoolean" title="Set a boolean value in an attribute.">ippSetBoolean</a></li>
+       <li><a href="#ippSetCollection" title="Set a collection value in an attribute.">ippSetCollection</a></li>
+       <li><a href="#ippSetDate" title="Set a date value in an attribute.">ippSetDate</a></li>
+       <li><a href="#ippSetGroupTag" title="Set the group tag of an attribute.">ippSetGroupTag</a></li>
+       <li><a href="#ippSetInteger" title="Set an integer or enum value in an attribute.">ippSetInteger</a></li>
+       <li><a href="#ippSetName" title="Set the name of an attribute.">ippSetName</a></li>
+       <li><a href="#ippSetOperation" title="Set the operation ID in an IPP request message.">ippSetOperation</a></li>
        <li><a href="#ippSetPort" title="Set the default port number.">ippSetPort</a></li>
+       <li><a href="#ippSetRange" title="Set a rangeOfInteger value in an attribute.">ippSetRange</a></li>
+       <li><a href="#ippSetRequestId" title="Set the request ID in an IPP message.">ippSetRequestId</a></li>
+       <li><a href="#ippSetResolution" title="Set a resolution value in an attribute.">ippSetResolution</a></li>
+       <li><a href="#ippSetState" title="Set the current state of the IPP message.">ippSetState</a></li>
+       <li><a href="#ippSetStatusCode" title="Set the status code in an IPP response or event message.">ippSetStatusCode</a></li>
+       <li><a href="#ippSetString" title="Set a string value in an attribute.">ippSetString</a></li>
+       <li><a href="#ippSetValueTag" title="Set the value tag of an attribute.">ippSetValueTag</a></li>
+       <li><a href="#ippSetVersion" title="Set the version number in an IPP message.">ippSetVersion</a></li>
        <li><a href="#ippTagString" title="Return the tag name corresponding to a tag value.">ippTagString</a></li>
        <li><a href="#ippTagValue" title="Return the tag value corresponding to a tag name.">ippTagValue</a></li>
        <li><a href="#ippTimeToDate" title="Convert from UNIX time to RFC 1903 format.">ippTimeToDate</a></li>
@@ -550,21 +596,21 @@ are server-oriented...">http_state_t</a></li>
        <li><a href="#http_uri_coding_t" title="URI en/decode flags">http_uri_coding_t</a></li>
        <li><a href="#http_uri_status_t" title="URI separation status ">http_uri_status_t</a></li>
        <li><a href="#http_version_t" title="HTTP version numbers">http_version_t</a></li>
-       <li><a href="#ipp_attribute_t" title="Attribute">ipp_attribute_t</a></li>
+       <li><a href="#ipp_attribute_t" title="IPP attribute">ipp_attribute_t</a></li>
+       <li><a href="#ipp_copycb_t" title="The following structures are PRIVATE starting with CUPS 1.6/OS X 10.8.
+Please use the new accessor functions available in CUPS 1.6 and later, as
+these definitions will be moved to a private header file in a future release.">ipp_copycb_t</a></li>
+       <li><a href="#ipp_dstate_t" title="Document states">ipp_dstate_t</a></li>
        <li><a href="#ipp_finish_t" title="Finishings">ipp_finish_t</a></li>
        <li><a href="#ipp_iocb_t" title="IPP IO Callback Function ">ipp_iocb_t</a></li>
-       <li><a href="#ipp_jstate_t" title="Job states">ipp_jstate_t</a></li>
-       <li><a href="#ipp_op_t" title="IPP operations">ipp_op_t</a></li>
+       <li><a href="#ipp_jcollate_t" title="Job collation types">ipp_jcollate_t</a></li>
        <li><a href="#ipp_orient_t" title="Orientation values">ipp_orient_t</a></li>
        <li><a href="#ipp_pstate_t" title="Printer states">ipp_pstate_t</a></li>
        <li><a href="#ipp_quality_t" title="Qualities">ipp_quality_t</a></li>
-       <li><a href="#ipp_request_t" title="Request Header">ipp_request_t</a></li>
        <li><a href="#ipp_res_t" title="Resolution units">ipp_res_t</a></li>
        <li><a href="#ipp_state_t" title="IPP states">ipp_state_t</a></li>
-       <li><a href="#ipp_t" title="Attribute Value">ipp_t</a></li>
-       <li><a href="#ipp_uchar_t" title="IPP status codes">ipp_uchar_t</a></li>
-       <li><a href="#ipp_tag_t" title="Format tags for attributes">ipp_tag_t</a></li>
-       <li><a href="#ipp_value_t" title="Attribute Value">ipp_value_t</a></li>
+       <li><a href="#ipp_t" title="IPP request/response data">ipp_t</a></li>
+       <li><a href="#ipp_uchar_t" title="Unsigned 8-bit integer/character">ipp_uchar_t</a></li>
 </ul></li>
 <li><a href="#STRUCTURES">Structures</a><ul class="code">
        <li><a href="#gss_auth_identity" title="Local functions...">gss_auth_identity</a></li>
@@ -573,12 +619,7 @@ used to enumerate all of the
 addresses that are associated
 with a hostname. ">http_addrlist_s</a></li>
        <li><a href="#http_credential_s" title="HTTP credential data ">http_credential_s</a></li>
-       <li><a href="#ipp_attribute_s" title="Attribute">ipp_attribute_s</a></li>
-       <li><a href="#ipp_s" title="IPP Request/Response/Notification">ipp_s</a></li>
-</ul></li>
-<li><a href="#UNIONS">Unions</a><ul class="code">
-       <li><a href="#ipp_request_u" title="Request Header">ipp_request_u</a></li>
-       <li><a href="#ipp_value_u" title="Attribute Value">ipp_value_u</a></li>
+       <li><a href="#pollfd" title="User data (unused)">pollfd</a></li>
 </ul></li>
 <li><a href="#ENUMERATIONS">Constants</a><ul class="code">
        <li><a href="#http_auth_e" title="HTTP authentication types">http_auth_e</a></li>
@@ -592,7 +633,9 @@ are server-oriented...">http_state_e</a></li>
        <li><a href="#http_uri_coding_e" title="URI en/decode flags">http_uri_coding_e</a></li>
        <li><a href="#http_uri_status_e" title="URI separation status ">http_uri_status_e</a></li>
        <li><a href="#http_version_e" title="HTTP version numbers">http_version_e</a></li>
+       <li><a href="#ipp_dstate_e" title="Document states">ipp_dstate_e</a></li>
        <li><a href="#ipp_finish_e" title="Finishings">ipp_finish_e</a></li>
+       <li><a href="#ipp_jcollate_e" title="Job collation types">ipp_jcollate_e</a></li>
        <li><a href="#ipp_jstate_e" title="Job states">ipp_jstate_e</a></li>
        <li><a href="#ipp_op_e" title="IPP operations">ipp_op_e</a></li>
        <li><a href="#ipp_orient_e" title="Orientation values">ipp_orient_e</a></li>
@@ -605,11 +648,11 @@ are server-oriented...">http_state_e</a></li>
 </ul></li>
 </ul>
 <!--
-  "$Id: api-httpipp.html 9801 2011-05-21 04:02:41Z mike $"
+  "$Id: api-httpipp.shtml 7684 2008-06-23 16:47:38Z mike $"
 
   HTTP and IPP API introduction for CUPS.
 
-  Copyright 2007-2011 by Apple Inc.
+  Copyright 2007-2012 by Apple Inc.
   Copyright 1997-2006 by Easy Software Products, all rights reserved.
 
   These coded instructions, statements, and computer programs are the
@@ -635,35 +678,20 @@ The constant <code>CUPS_HTTP_DEFAULT</code> can be used with all of the
 <code>cups</code> functions to refer to the default CUPS server - the functions
 create a per-thread <a href='#http_t'><code>http_t</code></a> as needed.</p>
 
-<p>The IPP APIs use two structures for requests (messages sent to the CUPS
-scheduler) and responses (messages sent back to your application from the
-scheduler). The <a href='#ipp_t'><code>ipp_t</code></a> structure holds a
-complete request or response and is allocated using the
-<a href='#ippNew'><code>ippNew</code></a> or
-<a href='#ippNewRequest'><code>ippNewRequest</code></a> functions and
-freed using the <a href='#ippDelete'><code>ippDelete</code></a> function.</p>
-
-<p>The second structure is called
-<a href='#ipp_attribute_t'><code>ipp_attribute_t</code></a> and holds a
-single IPP attribute which consists of a group tag (<code>group_tag</code>), a
-value type tag (<code>value_tag</code>), the attribute name (<code>name</code>),
-and 1 or more values (<code>values[]</code>). Attributes are added to an
-<a href='#ipp_t'><code>ipp_t</code></a> structure using one of the
-<code>ippAdd</code> functions. For example, use
-<a href='#ippAddString'><code>ippAddString</code></a> to add a
-"requesting-user-name" string attribute to a request:</p>
+<p>The IPP APIs use two opaque structures for requests (messages sent to the CUPS scheduler) and responses (messages sent back to your application from the scheduler). The <a href='#ipp_t'><code>ipp_t</code></a> type holds a complete request or response and is allocated using the <a href='#ippNew'><code>ippNew</code></a> or <a href='#ippNewRequest'><code>ippNewRequest</code></a> functions and freed using the <a href='#ippDelete'><code>ippDelete</code></a> function.</p>
+
+<p>The second opaque structure is called <a href='#ipp_attribute_t'><code>ipp_attribute_t</code></a> and holds a single IPP attribute which consists of a group tag (<a href='#ippGetGroupTag'><code>ippGetGroupTag</code></a>), a value type tag (<a href='#ippGetValueTag'><code>ippGetValueTag</code></a>), the attribute name (<a href='#ippGetName'><code>ippGetName</code></a>), and 1 or more values (<a href='#ippGetCount'><code>ippGetCount</code></a>, <a href='#ippGetBoolean'><code>ippGetBoolean</code></a>, <a href='#ippGetCollection'><code>ippGetCollection</code></a>, <a href='#ippGetDate'><code>ippGetDate</code></a>, <a href='#ippGetInteger'><code>ippGetInteger</code></a>, <a href='#ippGetRange'><code>ippGetRange</code></a>, <a href='#ippGetResolution'><code>ippGetResolution</code></a>, and <a href='#ippGetString'><code>ippGetString</code></a>). Attributes are added to an <a href='#ipp_t'><code>ipp_t</code></a> pointer using one of the <code>ippAdd</code> functions. For example, use <a href='#ippAddString'><code>ippAddString</code></a> to add the "printer-uri" and "requesting-user-name" string attributes to a request:</p>
 
 <pre class='example'>
 <a href='#ipp_t'>ipp_t</a> *request = <a href='#ippNewRequest'>ippNewRequest</a>(IPP_GET_JOBS);
 
+<a href='#ippAddString'>ippAddString</a>(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri",
+             NULL, "ipp://localhost/printers/");
 <a href='#ippAddString'>ippAddString</a>(request, IPP_TAG_OPERATION, IPP_TAG_NAME, "requesting-user-name",
              NULL, cupsUser());
 </pre>
 
-<p>Once you have created an IPP request, use the <code>cups</code>
-functions to send the request to and read the response from the server.
-For example, the <a href='#cupsDoRequest'><code>cupsDoRequest</code></a>
-function can be used for simple query operations that do not involve files:</p>
+<p>Once you have created an IPP request, use the <code>cups</code> functions to send the request to and read the response from the server. For example, the <a href='#cupsDoRequest'><code>cupsDoRequest</code></a> function can be used for simple query operations that do not involve files:</p>
 
 <pre class='example'>
 #include &lt;cups/cups.h&gt;
@@ -673,6 +701,8 @@ function can be used for simple query operations that do not involve files:</p>
 {
   <a href='#ipp_t'>ipp_t</a> *request = <a href='#ippNewRequest'>ippNewRequest</a>(IPP_GET_JOBS);
 
+  <a href='#ippAddString'>ippAddString</a>(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri",
+               NULL, "ipp://localhost/printers/");
   <a href='#ippAddString'>ippAddString</a>(request, IPP_TAG_OPERATION, IPP_TAG_NAME, "requesting-user-name",
                NULL, cupsUser());
 
@@ -680,13 +710,7 @@ function can be used for simple query operations that do not involve files:</p>
 }
 </pre>
 
-<p>The <a href='#cupsDoRequest'><code>cupsDoRequest</code></a> function frees
-the request structure and returns an IPP response structure or NULL pointer if
-the request could not be sent to the server. Once you have a response from
-the server, you can either use the
-<a href='#ippFindAttribute'><code>ippFindAttribute</code></a> and
-<a href='#ippFindNextAttribute'><code>ippFindNextAttribute</code></a> functions
-to find specific attributes, for example:</p>
+<p>The <a href='#cupsDoRequest'><code>cupsDoRequest</code></a> function frees the request and returns an IPP response or <code>NULL</code> pointer if the request could not be sent to the server. Once you have a response from the server, you can either use the <a href='#ippFindAttribute'><code>ippFindAttribute</code></a> and <a href='#ippFindNextAttribute'><code>ippFindNextAttribute</code></a> functions to find specific attributes, for example:</p>
 
 <pre class='example'>
 <a href='#ipp_t'>ipp_t</a> *response;
@@ -695,25 +719,20 @@ to find specific attributes, for example:</p>
 attr = <a href='#ippFindAttribute'>ippFindAttribute</a>(response, "printer-state", IPP_TAG_ENUM);
 </pre>
 
-<p>You can also walk the list of attributes with a simple <code>for</code> loop
-like this:</p>
+<p>You can also walk the list of attributes with a simple <code>for</code> loop like this:</p>
 
 <pre class='example'>
 <a href='#ipp_t'>ipp_t</a> *response;
 <a href='#ipp_attribute_t'>ipp_attribute_t</a> *attr;
 
-for (attr = response->attrs; attr != NULL; attr = attr->next)
-  if (attr->name == NULL)
+for (attr = <a href='#ippFirstAttribute'>ippFirstAttribute</a>(response); attr != NULL; attr = <a href='#ippNextAttribute'>ippNextAttribute</a>(response))
+  if (ippGetName(attr) == NULL)
     puts("--SEPARATOR--");
   else
-    puts(attr->name);
+    puts(ippGetName(attr));
 </pre>
 
-<p>The <code>for</code> loop approach is normally used when collecting
-attributes for multiple objects (jobs, printers, etc.) in a response. Attributes
-with <code>NULL</code> names indicate a separator between the attributes of
-each object. For example, the following code will list the jobs returned from
-our previous <a href='#get_jobs'><code>get_jobs</code></a> example code:</p>
+<p>The <code>for</code> loop approach is normally used when collecting attributes for multiple objects (jobs, printers, etc.) in a response. Attributes with <code>NULL</code> names indicate a separator between the attributes of each object. For example, the following code will list the jobs returned from our previous <a href='#get_jobs'><code>get_jobs</code></a> example code:</p>
 
 <pre class='example'>
 <a href='#ipp_t'>ipp_t</a> *response = <a href='#get_jobs'>get_jobs</a>();
@@ -721,37 +740,55 @@ our previous <a href='#get_jobs'><code>get_jobs</code></a> example code:</p>
 if (response != NULL)
 {
   <a href='#ipp_attribute_t'>ipp_attribute_t</a> *attr;
+  const char *attrname;
   int job_id = 0;
-  char *job_name = NULL;
-  char *job_originating_user_name = NULL;
+  const char *job_name = NULL;
+  const char *job_originating_user_name = NULL;
 
   puts("Job ID  Owner             Title");
   puts("------  ----------------  ---------------------------------");
 
-  for (attr = response->attrs; attr != NULL; attr = attr->next)
+  for (attr = <a href='#ippFirstAttribute'>ippFirstAttribute</a>(response); attr != NULL; attr = <a href='#ippNextAttribute'>ippNextAttribute</a>(response))
   {
    /* Attributes without names are separators between jobs */
-    if (attr->name == NULL)
+    attrname = ippGetName(attr);
+    if (attrname == NULL)
     {
-      if (job_id > 0 &amp;&amp; job_name != NULL &amp;&amp; job_originating_user_name != NULL)
+      if (job_id > 0)
+      {
+        if (job_name == NULL)
+          job_name = "(withheld)";
+
+        if (job_originating_user_name == NULL)
+          job_originating_user_name = "(withheld)";
+
         printf("%5d  %-16s  %s\n", job_id, job_originating_user_name, job_name);
+      }
 
       job_id = 0;
       job_name = NULL;
       job_originating_user_name = NULL;
       continue;
     }
-    else if (!strcmp(attr->name, "job-id") &amp;&amp; attr->value_tag == IPP_TAG_INTEGER)
-      job_id = attr->values[0].integer;
-    else if (!strcmp(attr->name, "job-name") &amp;&amp; attr->value_tag == IPP_TAG_NAME)
-      job_name = attr->values[0].string.text;
-    else if (!strcmp(attr->name, "job-originating-user-name") &amp;&amp;
-             attr->value_tag == IPP_TAG_NAME)
-      job_originating_user_name = attr->values[0].string.text;
+    else if (!strcmp(attrname, "job-id") &amp;&amp; ippGetValueTag(attr) == IPP_TAG_INTEGER)
+      job_id = ippGetInteger(attr, 0);
+    else if (!strcmp(attrname, "job-name") &amp;&amp; ippGetValueTag(attr) == IPP_TAG_NAME)
+      job_name = ippGetString(attr, 0, NULL);
+    else if (!strcmp(attrname, "job-originating-user-name") &amp;&amp;
+             ippGetValueTag(attr) == IPP_TAG_NAME)
+      job_originating_user_name = ippGetString(attr, 0, NULL);
   }
 
-  if (job_id > 0 &amp;&amp; job_name != NULL &amp;&amp; job_originating_user_name != NULL)
+  if (job_id > 0)
+  {
+    if (job_name == NULL)
+      job_name = "(withheld)";
+
+    if (job_originating_user_name == NULL)
+      job_originating_user_name = "(withheld)";
+
     printf("%5d  %-16s  %s\n", job_id, job_originating_user_name, job_name);
+  }
 }
 </pre>
 
@@ -928,7 +965,7 @@ if (status == HTTP_CONTINUE)
 <a href='#ippDelete'>ippDelete</a>(request);
 </pre>
 <h2 class="title"><a name="FUNCTIONS">Functions</a></h2>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.20/Mac OS X 10.4&nbsp;</span><a name="cupsDoAuthentication">cupsDoAuthentication</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.20/OS X 10.4&nbsp;</span><a name="cupsDoAuthentication">cupsDoAuthentication</a></h3>
 <p class="description">Authenticate a request.</p>
 <p class="code">
 int cupsDoAuthentication (<br>
@@ -975,10 +1012,10 @@ status, prior to resubmitting your request.
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Response data</p>
 <h4 class="discussion">Discussion</h4>
-<p class="discussion">This function sends the IPP request to the specified server, retrying
-and authenticating as necessary.  The request is freed with <a href="#ippDelete"><code>ippDelete</code></a>
-after receiving a valid IPP response.</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.3/Mac OS X 10.5&nbsp;</span><a name="cupsDoIORequest">cupsDoIORequest</a></h3>
+<p class="discussion">This function sends the IPP request and attached file to the specified
+server, retrying and authenticating as necessary.  The request is freed with
+<a href="#ippDelete"><code>ippDelete</code></a>.</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.3/OS X 10.5&nbsp;</span><a name="cupsDoIORequest">cupsDoIORequest</a></h3>
 <p class="description">Do an IPP request with file descriptors.</p>
 <p class="code">
 <a href="#ipp_t">ipp_t</a> *cupsDoIORequest (<br>
@@ -1004,14 +1041,14 @@ after receiving a valid IPP response.</p>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Response data</p>
 <h4 class="discussion">Discussion</h4>
-<p class="discussion">This function sends the IPP request to the specified server, retrying
-and authenticating as necessary.  The request is freed with ippDelete()
-after receiving a valid IPP response.<br>
+<p class="discussion">This function sends the IPP request with the optional input file &quot;infile&quot; to
+the specified server, retrying and authenticating as necessary.  The request
+is freed with <a href="#ippDelete"><code>ippDelete</code></a>.<br>
 <br>
-If &quot;infile&quot; is a valid file descriptor, cupsDoIORequest() copies
+If &quot;infile&quot; is a valid file descriptor, <code>cupsDoIORequest</code> copies
 all of the data from the file after the IPP request message.<br>
 <br>
-If &quot;outfile&quot; is a valid file descriptor, cupsDoIORequest() copies
+If &quot;outfile&quot; is a valid file descriptor, <code>cupsDoIORequest</code> copies
 all of the data after the IPP response message to the file.
 
 </p>
@@ -1036,8 +1073,7 @@ all of the data after the IPP response message to the file.
 <p class="description">Response data</p>
 <h4 class="discussion">Discussion</h4>
 <p class="discussion">This function sends the IPP request to the specified server, retrying
-and authenticating as necessary.  The request is freed with ippDelete()
-after receiving a valid IPP response.</p>
+and authenticating as necessary.  The request is freed with <a href="#ippDelete"><code>ippDelete</code></a>.</p>
 <h3 class="function"><a name="cupsEncodeOptions">cupsEncodeOptions</a></h3>
 <p class="description">Encode printer options into IPP attributes.</p>
 <p class="code">
@@ -1059,14 +1095,14 @@ void cupsEncodeOptions (<br>
 <p class="discussion">This function adds operation, job, and then subscription attributes,
 in that order. Use the cupsEncodeOptions2() function to add attributes
 for a single group.</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsEncodeOptions2">cupsEncodeOptions2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsEncodeOptions2">cupsEncodeOptions2</a></h3>
 <p class="description">Encode printer options into IPP attributes for a group.</p>
 <p class="code">
 void cupsEncodeOptions2 (<br>
 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;int num_options,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;cups_option_t *options,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_tag_t">ipp_tag_t</a> group_tag<br>
+&nbsp;&nbsp;&nbsp;&nbsp;ipp_tag_t group_tag<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
 <dl>
@@ -1085,7 +1121,7 @@ function multiple times for each group, or use cupsEncodeOptions()
 to add the standard groups.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="cupsGetDevices">cupsGetDevices</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="cupsGetDevices">cupsGetDevices</a></h3>
 <p class="description">Get available printer devices.</p>
 <p class="code">
 ipp_status_t cupsGetDevices (<br>
@@ -1121,7 +1157,7 @@ parameters provide comma-delimited lists of backends to include or omit from
 the request respectively.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.20/Mac OS X 10.4&nbsp;</span><a name="cupsGetFd">cupsGetFd</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.20/OS X 10.4&nbsp;</span><a name="cupsGetFd">cupsGetFd</a></h3>
 <p class="description">Get a file from the server.</p>
 <p class="code">
 <a href="#http_status_t">http_status_t</a> cupsGetFd (<br>
@@ -1144,7 +1180,7 @@ the request respectively.
 <p class="discussion">This function returns <code>HTTP_OK</code> when the file is successfully retrieved.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.20/Mac OS X 10.4&nbsp;</span><a name="cupsGetFile">cupsGetFile</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.20/OS X 10.4&nbsp;</span><a name="cupsGetFile">cupsGetFile</a></h3>
 <p class="description">Get a file from the server.</p>
 <p class="code">
 <a href="#http_status_t">http_status_t</a> cupsGetFile (<br>
@@ -1167,7 +1203,7 @@ the request respectively.
 <p class="discussion">This function returns <code>HTTP_OK</code> when the file is successfully retrieved.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="cupsGetResponse">cupsGetResponse</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="cupsGetResponse">cupsGetResponse</a></h3>
 <p class="description">Get a response to an IPP request.</p>
 <p class="code">
 <a href="#ipp_t">ipp_t</a> *cupsGetResponse (<br>
@@ -1185,23 +1221,26 @@ the request respectively.
 <p class="description">Response or <code>NULL</code> on HTTP error</p>
 <h4 class="discussion">Discussion</h4>
 <p class="discussion">Use this function to get the response for an IPP request sent using
-cupsSendDocument() or cupsSendRequest(). For requests that return
-additional data, use httpRead() after getting a successful response.
+<a href="#cupsSendRequest"><code>cupsSendRequest</code></a>. For requests that return additional data, use
+<a href="#cupsReadResponseData"><code>cupsReadResponseData</code></a> after getting a successful response,
+otherwise call <a href="#httpFlush"><code>httpFlush</code></a> to complete the response processing.
 
 </p>
 <h3 class="function"><a name="cupsLastError">cupsLastError</a></h3>
-<p class="description">Return the last IPP status code.</p>
+<p class="description">Return the last IPP status code received on the current
+thread.</p>
 <p class="code">
 ipp_status_t cupsLastError (void);</p>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">IPP status code from last request</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsLastErrorString">cupsLastErrorString</a></h3>
-<p class="description">Return the last IPP status-message.</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsLastErrorString">cupsLastErrorString</a></h3>
+<p class="description">Return the last IPP status-message received on the
+current thread.</p>
 <p class="code">
 const char *cupsLastErrorString (void);</p>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">status-message text from last request</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.20/Mac OS X 10.4&nbsp;</span><a name="cupsPutFd">cupsPutFd</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.20/OS X 10.4&nbsp;</span><a name="cupsPutFd">cupsPutFd</a></h3>
 <p class="description">Put a file on the server.</p>
 <p class="code">
 <a href="#http_status_t">http_status_t</a> cupsPutFd (<br>
@@ -1225,7 +1264,7 @@ const char *cupsLastErrorString (void);</p>
 successfully.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.20/Mac OS X 10.4&nbsp;</span><a name="cupsPutFile">cupsPutFile</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.20/OS X 10.4&nbsp;</span><a name="cupsPutFile">cupsPutFile</a></h3>
 <p class="description">Put a file on the server.</p>
 <p class="code">
 <a href="#http_status_t">http_status_t</a> cupsPutFile (<br>
@@ -1249,7 +1288,7 @@ successfully.
 successfully.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="cupsReadResponseData">cupsReadResponseData</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="cupsReadResponseData">cupsReadResponseData</a></h3>
 <p class="description">Read additional data after the IPP response.</p>
 <p class="code">
 ssize_t cupsReadResponseData (<br>
@@ -1269,11 +1308,12 @@ ssize_t cupsReadResponseData (<br>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Bytes read, 0 on EOF, -1 on error</p>
 <h4 class="discussion">Discussion</h4>
-<p class="discussion">This function is used after cupsGetResponse() to read the PPD or document
-files for CUPS_GET_PPD and CUPS_GET_DOCUMENT requests, respectively.
+<p class="discussion">This function is used after <a href="#cupsGetResponse"><code>cupsGetResponse</code></a> to read the PPD or document
+files from <code>CUPS_GET_PPD</code> and <code>CUPS_GET_DOCUMENT</code> requests,
+respectively.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="cupsSendRequest">cupsSendRequest</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="cupsSendRequest">cupsSendRequest</a></h3>
 <p class="description">Send an IPP request.</p>
 <p class="code">
 <a href="#http_status_t">http_status_t</a> cupsSendRequest (<br>
@@ -1296,16 +1336,20 @@ files for CUPS_GET_PPD and CUPS_GET_DOCUMENT requests, respectively.
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Initial HTTP status</p>
 <h4 class="discussion">Discussion</h4>
-<p class="discussion">Use httpWrite() to write any additional data (document, PPD file, etc.)
-for the request, cupsGetResponse() to get the IPP response, and httpRead()
-to read any additional data following the response. Only one request can be
-sent/queued at a time.<br>
+<p class="discussion">Use <a href="#cupsWriteRequestData"><code>cupsWriteRequestData</code></a> to write any additional data (document, PPD
+file, etc.) for the request, <a href="#cupsGetResponse"><code>cupsGetResponse</code></a> to get the IPP response,
+and <a href="#cupsReadResponseData"><code>cupsReadResponseData</code></a> to read any additional data following the
+response. Only one request can be sent/queued at a time per <code>http_t</code>
+connection.<br>
+<br>
+Returns the initial HTTP status code, which will be <code>HTTP_CONTINUE</code>
+on a successful send of the request.<br>
 <br>
-Unlike cupsDoFileRequest(), cupsDoIORequest(), and cupsDoRequest(), the
-request is not freed.
+Note: Unlike <a href="#cupsDoFileRequest"><code>cupsDoFileRequest</code></a>, <a href="#cupsDoIORequest"><code>cupsDoIORequest</code></a>, and
+<a href="#cupsDoRequest"><code>cupsDoRequest</code></a>, the request is NOT freed with <a href="#ippDelete"><code>ippDelete</code></a>.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="cupsWriteRequestData">cupsWriteRequestData</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="cupsWriteRequestData">cupsWriteRequestData</a></h3>
 <p class="description">Write additional data after an IPP request.</p>
 <p class="code">
 <a href="#http_status_t">http_status_t</a> cupsWriteRequestData (<br>
@@ -1329,7 +1373,7 @@ request is not freed.
 after <a href="#cupsStartDocument"><code>cupsStartDocument</code></a> to provide a document file.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span><a name="httpAddCredential">httpAddCredential</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.5/OS X 10.7&nbsp;</span><a name="httpAddCredential">httpAddCredential</a></h3>
 <p class="description">Allocates and adds a single credential to an array.</p>
 <p class="code">
 int httpAddCredential (<br>
@@ -1352,7 +1396,7 @@ int httpAddCredential (<br>
 <p class="discussion">Use <code>cupsArrayNew(NULL, NULL)</code> to create a credentials array.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="httpAddrAny">httpAddrAny</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="httpAddrAny">httpAddrAny</a></h3>
 <p class="description">Check for the &quot;any&quot; address.</p>
 <p class="code">
 int httpAddrAny (<br>
@@ -1365,7 +1409,7 @@ int httpAddrAny (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">1 if &quot;any&quot;, 0 otherwise</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="httpAddrEqual">httpAddrEqual</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="httpAddrEqual">httpAddrEqual</a></h3>
 <p class="description">Compare two addresses.</p>
 <p class="code">
 int httpAddrEqual (<br>
@@ -1381,7 +1425,7 @@ int httpAddrEqual (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">1 if equal, 0 if not</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="httpAddrLength">httpAddrLength</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="httpAddrLength">httpAddrLength</a></h3>
 <p class="description">Return the length of the address in bytes.</p>
 <p class="code">
 int httpAddrLength (<br>
@@ -1394,7 +1438,7 @@ int httpAddrLength (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Length in bytes</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="httpAddrLocalhost">httpAddrLocalhost</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="httpAddrLocalhost">httpAddrLocalhost</a></h3>
 <p class="description">Check for the local loopback address.</p>
 <p class="code">
 int httpAddrLocalhost (<br>
@@ -1407,7 +1451,7 @@ int httpAddrLocalhost (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">1 if local host, 0 otherwise</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="httpAddrLookup">httpAddrLookup</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="httpAddrLookup">httpAddrLookup</a></h3>
 <p class="description">Lookup the hostname associated with the address.</p>
 <p class="code">
 char *httpAddrLookup (<br>
@@ -1426,7 +1470,7 @@ char *httpAddrLookup (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Host name</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="httpAddrString">httpAddrString</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="httpAddrString">httpAddrString</a></h3>
 <p class="description">Convert an address to a numeric string.</p>
 <p class="code">
 char *httpAddrString (<br>
@@ -1445,7 +1489,7 @@ char *httpAddrString (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Numeric address string</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="httpAssembleURI">httpAssembleURI</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="httpAssembleURI">httpAssembleURI</a></h3>
 <p class="description">Assemble a uniform resource identifier from its
 components.</p>
 <p class="code">
@@ -1487,7 +1531,7 @@ place of traditional string functions whenever you need to create a
 URI string.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="httpAssembleURIf">httpAssembleURIf</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="httpAssembleURIf">httpAssembleURIf</a></h3>
 <p class="description">Assemble a uniform resource identifier from its
 components with a formatted resource.</p>
 <p class="code">
@@ -1560,7 +1604,7 @@ int httpCheck (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">0 = no data, 1 = data available</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span><a name="httpClearCookie">httpClearCookie</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span><a name="httpClearCookie">httpClearCookie</a></h3>
 <p class="description">Clear the cookie value(s).</p>
 <p class="code">
 void httpClearCookie (<br>
@@ -1632,7 +1676,7 @@ void httpClose (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">New HTTP connection</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span><a name="httpCopyCredentials">httpCopyCredentials</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.5/OS X 10.7&nbsp;</span><a name="httpCopyCredentials">httpCopyCredentials</a></h3>
 <p class="description">Copy the credentials associated with an encrypted
 connection.</p>
 <p class="code">
@@ -1670,7 +1714,7 @@ char *httpDecode64 (<br>
 which provides buffer length arguments.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.21/Mac OS X 10.4&nbsp;</span><a name="httpDecode64_2">httpDecode64_2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.21/OS X 10.4&nbsp;</span><a name="httpDecode64_2">httpDecode64_2</a></h3>
 <p class="description">Base64-decode a string.</p>
 <p class="code">
 char *httpDecode64_2 (<br>
@@ -1726,7 +1770,7 @@ char *httpEncode64 (<br>
 which provides buffer length arguments.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.21/Mac OS X 10.4&nbsp;</span><a name="httpEncode64_2">httpEncode64_2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.21/OS X 10.4&nbsp;</span><a name="httpEncode64_2">httpEncode64_2</a></h3>
 <p class="description">Base64-encode a string.</p>
 <p class="code">
 char *httpEncode64_2 (<br>
@@ -1788,7 +1832,7 @@ void httpFlush (<br>
 <dt>http</dt>
 <dd class="description">Connection to server</dd>
 </dl>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="httpFlushWrite">httpFlushWrite</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="httpFlushWrite">httpFlushWrite</a></h3>
 <p class="description">Flush data in write buffer.</p>
 <p class="code">
 int httpFlushWrite (<br>
@@ -1828,7 +1872,7 @@ int httpGet (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Status of call (0 = success)</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.3/Mac OS X 10.5&nbsp;</span><a name="httpGetAuthString">httpGetAuthString</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.3/OS X 10.5&nbsp;</span><a name="httpGetAuthString">httpGetAuthString</a></h3>
 <p class="description">Get the current authorization string.</p>
 <p class="code">
 char *httpGetAuthString (<br>
@@ -1848,7 +1892,7 @@ string to use with httpSetField() for the HTTP_FIELD_AUTHORIZATION
 value.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="httpGetBlocking">httpGetBlocking</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="httpGetBlocking">httpGetBlocking</a></h3>
 <p class="description">Get the blocking/non-block state of a connection.</p>
 <p class="code">
 int httpGetBlocking (<br>
@@ -1861,7 +1905,7 @@ int httpGetBlocking (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">1 if blocking, 0 if non-blocking</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span><a name="httpGetCookie">httpGetCookie</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span><a name="httpGetCookie">httpGetCookie</a></h3>
 <p class="description">Get any cookie data from the response.</p>
 <p class="code">
 const char *httpGetCookie (<br>
@@ -1887,7 +1931,7 @@ const char *httpGetDateString (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Date/time string</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="httpGetDateString2">httpGetDateString2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="httpGetDateString2">httpGetDateString2</a></h3>
 <p class="description">Get a formatted date/time string from a time value.</p>
 <p class="code">
 const char *httpGetDateString2 (<br>
@@ -1919,7 +1963,7 @@ time_t httpGetDateTime (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">UNIX time</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="httpGetFd">httpGetFd</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="httpGetFd">httpGetFd</a></h3>
 <p class="description">Get the file descriptor associated with a connection.</p>
 <p class="code">
 int httpGetFd (<br>
@@ -1962,7 +2006,7 @@ struct hostent *httpGetHostByName (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Host entry</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="httpGetHostname">httpGetHostname</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="httpGetHostname">httpGetHostname</a></h3>
 <p class="description">Get the FQDN for the connection or local system.</p>
 <p class="code">
 const char *httpGetHostname (<br>
@@ -2007,7 +2051,7 @@ int httpGetLength (<br>
 2^31 - 1; use httpGetLength2() instead.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="httpGetLength2">httpGetLength2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="httpGetLength2">httpGetLength2</a></h3>
 <p class="description">Get the amount of data remaining from the
 content-length or transfer-encoding fields.</p>
 <p class="code">
@@ -2026,7 +2070,20 @@ off_t httpGetLength2 (<br>
 content larger than 2^31 - 1.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="httpGetStatus">httpGetStatus</a></h3>
+<h3 class="function"><a name="httpGetState">httpGetState</a></h3>
+<p class="description">Get the current state of the HTTP request.</p>
+<p class="code">
+<a href="#http_state_t">http_state_t</a> httpGetState (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#http_t">http_t</a> *http<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>http</dt>
+<dd class="description">Connection to server</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">HTTP state</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="httpGetStatus">httpGetStatus</a></h3>
 <p class="description">Get the status of the last HTTP request.</p>
 <p class="code">
 <a href="#http_status_t">http_status_t</a> httpGetStatus (<br>
@@ -2061,7 +2118,7 @@ char *httpGetSubField (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Value or NULL</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="httpGetSubField2">httpGetSubField2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="httpGetSubField2">httpGetSubField2</a></h3>
 <p class="description">Get a sub-field value.</p>
 <p class="code">
 char *httpGetSubField2 (<br>
@@ -2086,6 +2143,19 @@ char *httpGetSubField2 (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Value or NULL</p>
+<h3 class="function"><a name="httpGetVersion">httpGetVersion</a></h3>
+<p class="description">Get the HTTP version at the other end.</p>
+<p class="code">
+<a href="#http_version_t">http_version_t</a> httpGetVersion (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#http_t">http_t</a> *http<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>http</dt>
+<dd class="description">Connection to server</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">Version number</p>
 <h3 class="function"><a name="httpGets">httpGets</a></h3>
 <p class="description">Get a line of text from a HTTP connection.</p>
 <p class="code">
@@ -2260,7 +2330,7 @@ int httpRead (<br>
 read more than 2GB of data.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="httpRead2">httpRead2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="httpRead2">httpRead2</a></h3>
 <p class="description">Read data from a HTTP connection.</p>
 <p class="code">
 ssize_t httpRead2 (<br>
@@ -2292,6 +2362,26 @@ int httpReconnect (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">0 on success, non-zero on failure</p>
+<h3 class="function"><a name="httpReconnect2">httpReconnect2</a></h3>
+<p class="description">Reconnect to a HTTP server with timeout and optional
+cancel.</p>
+<p class="code">
+int httpReconnect2 (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#http_t">http_t</a> *http,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int msec,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int *cancel<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>http</dt>
+<dd class="description">Connection to server</dd>
+<dt>msec</dt>
+<dd class="description">Timeout in milliseconds</dd>
+<dt>cancel</dt>
+<dd class="description">Pointer to &quot;cancel&quot; variable</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">0 on success, non-zero on failure</p>
 <h3 class="function"><span class="info">&nbsp;DEPRECATED&nbsp;</span><a name="httpSeparate">httpSeparate</a></h3>
 <p class="description">Separate a Universal Resource Identifier into its
 components.</p>
@@ -2323,7 +2413,7 @@ void httpSeparate (<br>
 <p class="discussion">This function is deprecated; use the httpSeparateURI() function instead.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.21/Mac OS X 10.4&nbsp;</span><a name="httpSeparate2">httpSeparate2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.21/OS X 10.4&nbsp;</span><a name="httpSeparate2">httpSeparate2</a></h3>
 <p class="description">Separate a Universal Resource Identifier into its
 components.</p>
 <p class="code">
@@ -2367,7 +2457,7 @@ void httpSeparate2 (<br>
 
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="httpSeparateURI">httpSeparateURI</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="httpSeparateURI">httpSeparateURI</a></h3>
 <p class="description">Separate a Universal Resource Identifier into its
 components.</p>
 <p class="code">
@@ -2411,7 +2501,7 @@ components.</p>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Result of separation</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.3/Mac OS X 10.5&nbsp;</span><a name="httpSetAuthString">httpSetAuthString</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.3/OS X 10.5&nbsp;</span><a name="httpSetAuthString">httpSetAuthString</a></h3>
 <p class="description">Set the current authorization string.</p>
 <p class="code">
 void httpSetAuthString (<br>
@@ -2435,7 +2525,7 @@ HTTP_FIELD_AUTHORIZATION prior to issuing a HTTP request using httpGet(),
 httpHead(), httpOptions(), httpPost, or httpPut().
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span><a name="httpSetCookie">httpSetCookie</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span><a name="httpSetCookie">httpSetCookie</a></h3>
 <p class="description">Set the cookie value(s).</p>
 <p class="code">
 void httpSetCookie (<br>
@@ -2449,7 +2539,7 @@ void httpSetCookie (<br>
 <dt>cookie</dt>
 <dd class="description">Cookie string</dd>
 </dl>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span><a name="httpSetCredentials">httpSetCredentials</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.5/OS X 10.7&nbsp;</span><a name="httpSetCredentials">httpSetCredentials</a></h3>
 <p class="description">Set the credentials associated with an encrypted
 connection.</p>
 <p class="code">
@@ -2466,7 +2556,7 @@ int httpSetCredentials (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Status of call (0 = success)</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="httpSetExpect">httpSetExpect</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="httpSetExpect">httpSetExpect</a></h3>
 <p class="description">Set the Expect: header in a request.</p>
 <p class="code">
 void httpSetExpect (<br>
@@ -2501,7 +2591,7 @@ void httpSetField (<br>
 <dt>value</dt>
 <dd class="description">Value</dd>
 </dl>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="httpSetLength">httpSetLength</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="httpSetLength">httpSetLength</a></h3>
 <p class="description">Set the content-length and content-encoding.</p>
 <p class="code">
 void httpSetLength (<br>
@@ -2515,7 +2605,7 @@ void httpSetLength (<br>
 <dt>length</dt>
 <dd class="description">Length (0 for chunked)</dd>
 </dl>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span><a name="httpSetTimeout">httpSetTimeout</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.5/OS X 10.7&nbsp;</span><a name="httpSetTimeout">httpSetTimeout</a></h3>
 <p class="description">Set read/write timeouts and an optional callback.</p>
 <p class="code">
 void httpSetTimeout (<br>
@@ -2586,7 +2676,7 @@ int httpTrace (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">HTTP status</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span><a name="httpWait">httpWait</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span><a name="httpWait">httpWait</a></h3>
 <p class="description">Wait for data available on a connection.</p>
 <p class="code">
 int httpWait (<br>
@@ -2626,7 +2716,7 @@ int httpWrite (<br>
 write more than 2GB of data.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="httpWrite2">httpWrite2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="httpWrite2">httpWrite2</a></h3>
 <p class="description">Write data to a HTTP connection.</p>
 <p class="code">
 ssize_t httpWrite2 (<br>
@@ -2650,7 +2740,7 @@ ssize_t httpWrite2 (<br>
 <p class="code">
 <a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddBoolean (<br>
 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_tag_t">ipp_tag_t</a> group,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;ipp_tag_t group,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;const char *name,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;char value<br>
 );</p>
@@ -2667,12 +2757,21 @@ ssize_t httpWrite2 (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">New attribute</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>ipp</code> parameter refers to an IPP message previously created using the
+<a href="#ippNew"><code>ippNew</code></a> or <a href="#ippNewRequest"><code>ippNewRequest</code></a> functions.<br>
+<br>
+The <code>group</code> parameter specifies the IPP attribute group tag: none
+(<code>IPP_TAG_ZERO</code>, for member attributes), document (<code>IPP_TAG_DOCUMENT</code>),
+event notification (<code>IPP_TAG_EVENT_NOTIFICATION</code>), operation
+(<code>IPP_TAG_OPERATION</code>), printer (<code>IPP_TAG_PRINTER</code>), subscription
+(<code>IPP_TAG_SUBSCRIPTION</code>), or unsupported (<code>IPP_TAG_UNSUPPORTED_GROUP</code>).</p>
 <h3 class="function"><a name="ippAddBooleans">ippAddBooleans</a></h3>
 <p class="description">Add an array of boolean values.</p>
 <p class="code">
 <a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddBooleans (<br>
 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_tag_t">ipp_tag_t</a> group,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;ipp_tag_t group,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;const char *name,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;int num_values,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;const char *values<br>
@@ -2692,12 +2791,21 @@ ssize_t httpWrite2 (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">New attribute</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span><a name="ippAddCollection">ippAddCollection</a></h3>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>ipp</code> parameter refers to an IPP message previously created using the
+<a href="#ippNew"><code>ippNew</code></a> or <a href="#ippNewRequest"><code>ippNewRequest</code></a> functions.<br>
+<br>
+The <code>group</code> parameter specifies the IPP attribute group tag: none
+(<code>IPP_TAG_ZERO</code>, for member attributes), document (<code>IPP_TAG_DOCUMENT</code>),
+event notification (<code>IPP_TAG_EVENT_NOTIFICATION</code>), operation
+(<code>IPP_TAG_OPERATION</code>), printer (<code>IPP_TAG_PRINTER</code>), subscription
+(<code>IPP_TAG_SUBSCRIPTION</code>), or unsupported (<code>IPP_TAG_UNSUPPORTED_GROUP</code>).</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span><a name="ippAddCollection">ippAddCollection</a></h3>
 <p class="description">Add a collection value.</p>
 <p class="code">
 <a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddCollection (<br>
 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_tag_t">ipp_tag_t</a> group,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;ipp_tag_t group,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;const char *name,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *value<br>
 );</p>
@@ -2714,12 +2822,23 @@ ssize_t httpWrite2 (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">New attribute</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span><a name="ippAddCollections">ippAddCollections</a></h3>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>ipp</code> parameter refers to an IPP message previously created using the
+<a href="#ippNew"><code>ippNew</code></a> or <a href="#ippNewRequest"><code>ippNewRequest</code></a> functions.<br>
+<br>
+The <code>group</code> parameter specifies the IPP attribute group tag: none
+(<code>IPP_TAG_ZERO</code>, for member attributes), document (<code>IPP_TAG_DOCUMENT</code>),
+event notification (<code>IPP_TAG_EVENT_NOTIFICATION</code>), operation
+(<code>IPP_TAG_OPERATION</code>), printer (<code>IPP_TAG_PRINTER</code>), subscription
+(<code>IPP_TAG_SUBSCRIPTION</code>), or unsupported (<code>IPP_TAG_UNSUPPORTED_GROUP</code>).
+
+</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span><a name="ippAddCollections">ippAddCollections</a></h3>
 <p class="description">Add an array of collection values.</p>
 <p class="code">
 <a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddCollections (<br>
 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_tag_t">ipp_tag_t</a> group,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;ipp_tag_t group,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;const char *name,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;int num_values,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;const <a href="#ipp_t">ipp_t</a> **values<br>
@@ -2739,12 +2858,23 @@ ssize_t httpWrite2 (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">New attribute</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>ipp</code> parameter refers to an IPP message previously created using the
+<a href="#ippNew"><code>ippNew</code></a> or <a href="#ippNewRequest"><code>ippNewRequest</code></a> functions.<br>
+<br>
+The <code>group</code> parameter specifies the IPP attribute group tag: none
+(<code>IPP_TAG_ZERO</code>, for member attributes), document (<code>IPP_TAG_DOCUMENT</code>),
+event notification (<code>IPP_TAG_EVENT_NOTIFICATION</code>), operation
+(<code>IPP_TAG_OPERATION</code>), printer (<code>IPP_TAG_PRINTER</code>), subscription
+(<code>IPP_TAG_SUBSCRIPTION</code>), or unsupported (<code>IPP_TAG_UNSUPPORTED_GROUP</code>).
+
+</p>
 <h3 class="function"><a name="ippAddDate">ippAddDate</a></h3>
 <p class="description">Add a date attribute to an IPP message.</p>
 <p class="code">
 <a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddDate (<br>
 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_tag_t">ipp_tag_t</a> group,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;ipp_tag_t group,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;const char *name,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;const <a href="#ipp_uchar_t">ipp_uchar_t</a> *value<br>
 );</p>
@@ -2761,13 +2891,22 @@ ssize_t httpWrite2 (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">New attribute</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>ipp</code> parameter refers to an IPP message previously created using the
+<a href="#ippNew"><code>ippNew</code></a> or <a href="#ippNewRequest"><code>ippNewRequest</code></a> functions.<br>
+<br>
+The <code>group</code> parameter specifies the IPP attribute group tag: none
+(<code>IPP_TAG_ZERO</code>, for member attributes), document (<code>IPP_TAG_DOCUMENT</code>),
+event notification (<code>IPP_TAG_EVENT_NOTIFICATION</code>), operation
+(<code>IPP_TAG_OPERATION</code>), printer (<code>IPP_TAG_PRINTER</code>), subscription
+(<code>IPP_TAG_SUBSCRIPTION</code>), or unsupported (<code>IPP_TAG_UNSUPPORTED_GROUP</code>).</p>
 <h3 class="function"><a name="ippAddInteger">ippAddInteger</a></h3>
 <p class="description">Add a integer attribute to an IPP message.</p>
 <p class="code">
 <a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddInteger (<br>
 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_tag_t">ipp_tag_t</a> group,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_tag_t">ipp_tag_t</a> type,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;ipp_tag_t group,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;ipp_tag_t value_tag,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;const char *name,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;int value<br>
 );</p>
@@ -2777,7 +2916,7 @@ ssize_t httpWrite2 (<br>
 <dd class="description">IPP message</dd>
 <dt>group</dt>
 <dd class="description">IPP group</dd>
-<dt>type</dt>
+<dt>value_tag</dt>
 <dd class="description">Type of attribute</dd>
 <dt>name</dt>
 <dd class="description">Name of attribute</dd>
@@ -2786,13 +2925,25 @@ ssize_t httpWrite2 (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">New attribute</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>ipp</code> parameter refers to an IPP message previously created using the
+<a href="#ippNew"><code>ippNew</code></a> or <a href="#ippNewRequest"><code>ippNewRequest</code></a> functions.<br>
+<br>
+The <code>group</code> parameter specifies the IPP attribute group tag: none
+(<code>IPP_TAG_ZERO</code>, for member attributes), document (<code>IPP_TAG_DOCUMENT</code>),
+event notification (<code>IPP_TAG_EVENT_NOTIFICATION</code>), operation
+(<code>IPP_TAG_OPERATION</code>), printer (<code>IPP_TAG_PRINTER</code>), subscription
+(<code>IPP_TAG_SUBSCRIPTION</code>), or unsupported (<code>IPP_TAG_UNSUPPORTED_GROUP</code>).<br>
+<br>
+Supported values include enum (<code>IPP_TAG_ENUM</code>) and integer
+(<code>IPP_TAG_INTEGER</code>).</p>
 <h3 class="function"><a name="ippAddIntegers">ippAddIntegers</a></h3>
 <p class="description">Add an array of integer values.</p>
 <p class="code">
 <a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddIntegers (<br>
 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_tag_t">ipp_tag_t</a> group,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_tag_t">ipp_tag_t</a> type,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;ipp_tag_t group,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;ipp_tag_t value_tag,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;const char *name,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;int num_values,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;const int *values<br>
@@ -2803,7 +2954,7 @@ ssize_t httpWrite2 (<br>
 <dd class="description">IPP message</dd>
 <dt>group</dt>
 <dd class="description">IPP group</dd>
-<dt>type</dt>
+<dt>value_tag</dt>
 <dd class="description">Type of attribute</dd>
 <dt>name</dt>
 <dd class="description">Name of attribute</dd>
@@ -2814,12 +2965,24 @@ ssize_t httpWrite2 (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">New attribute</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ippAddOctetString">ippAddOctetString</a></h3>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>ipp</code> parameter refers to an IPP message previously created using the
+<a href="#ippNew"><code>ippNew</code></a> or <a href="#ippNewRequest"><code>ippNewRequest</code></a> functions.<br>
+<br>
+The <code>group</code> parameter specifies the IPP attribute group tag: none
+(<code>IPP_TAG_ZERO</code>, for member attributes), document (<code>IPP_TAG_DOCUMENT</code>),
+event notification (<code>IPP_TAG_EVENT_NOTIFICATION</code>), operation
+(<code>IPP_TAG_OPERATION</code>), printer (<code>IPP_TAG_PRINTER</code>), subscription
+(<code>IPP_TAG_SUBSCRIPTION</code>), or unsupported (<code>IPP_TAG_UNSUPPORTED_GROUP</code>).<br>
+<br>
+Supported values include enum (<code>IPP_TAG_ENUM</code>) and integer
+(<code>IPP_TAG_INTEGER</code>).</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ippAddOctetString">ippAddOctetString</a></h3>
 <p class="description">Add an octetString value to an IPP message.</p>
 <p class="code">
 <a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddOctetString (<br>
 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_tag_t">ipp_tag_t</a> group,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;ipp_tag_t group,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;const char *name,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;const void *data,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;int datalen<br>
@@ -2839,12 +3002,62 @@ ssize_t httpWrite2 (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">New attribute</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>ipp</code> parameter refers to an IPP message previously created using the
+<a href="#ippNew"><code>ippNew</code></a> or <a href="#ippNewRequest"><code>ippNewRequest</code></a> functions.<br>
+<br>
+The <code>group</code> parameter specifies the IPP attribute group tag: none
+(<code>IPP_TAG_ZERO</code>, for member attributes), document (<code>IPP_TAG_DOCUMENT</code>),
+event notification (<code>IPP_TAG_EVENT_NOTIFICATION</code>), operation
+(<code>IPP_TAG_OPERATION</code>), printer (<code>IPP_TAG_PRINTER</code>), subscription
+(<code>IPP_TAG_SUBSCRIPTION</code>), or unsupported (<code>IPP_TAG_UNSUPPORTED_GROUP</code>).
+
+</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippAddOutOfBand">ippAddOutOfBand</a></h3>
+<p class="description">Add an out-of-band value to an IPP message.</p>
+<p class="code">
+<a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddOutOfBand (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;ipp_tag_t group,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;ipp_tag_t value_tag,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;const char *name<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>ipp</dt>
+<dd class="description">IPP message</dd>
+<dt>group</dt>
+<dd class="description">IPP group</dd>
+<dt>value_tag</dt>
+<dd class="description">Type of attribute</dd>
+<dt>name</dt>
+<dd class="description">Name of attribute</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">New attribute</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>ipp</code> parameter refers to an IPP message previously created using the
+<a href="#ippNew"><code>ippNew</code></a> or <a href="#ippNewRequest"><code>ippNewRequest</code></a> functions.<br>
+<br>
+The <code>group</code> parameter specifies the IPP attribute group tag: none
+(<code>IPP_TAG_ZERO</code>, for member attributes), document (<code>IPP_TAG_DOCUMENT</code>),
+event notification (<code>IPP_TAG_EVENT_NOTIFICATION</code>), operation
+(<code>IPP_TAG_OPERATION</code>), printer (<code>IPP_TAG_PRINTER</code>), subscription
+(<code>IPP_TAG_SUBSCRIPTION</code>), or unsupported (<code>IPP_TAG_UNSUPPORTED_GROUP</code>).<br>
+<br>
+Supported out-of-band values include unsupported-value
+(<code>IPP_TAG_UNSUPPORTED_VALUE</code>), default (<code>IPP_TAG_DEFAULT</code>), unknown
+(<code>IPP_TAG_UNKNOWN</code>), no-value (<code>IPP_TAG_NOVALUE</code>), not-settable
+(<code>IPP_TAG_NOTSETTABLE</code>), delete-attribute (<code>IPP_TAG_DELETEATTR</code>), and
+admin-define (<code>IPP_TAG_ADMINDEFINE</code>).
+
+</p>
 <h3 class="function"><a name="ippAddRange">ippAddRange</a></h3>
 <p class="description">Add a range of values to an IPP message.</p>
 <p class="code">
 <a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddRange (<br>
 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_tag_t">ipp_tag_t</a> group,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;ipp_tag_t group,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;const char *name,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;int lower,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;int upper<br>
@@ -2864,12 +3077,23 @@ ssize_t httpWrite2 (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">New attribute</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>ipp</code> parameter refers to an IPP message previously created using the
+<a href="#ippNew"><code>ippNew</code></a> or <a href="#ippNewRequest"><code>ippNewRequest</code></a> functions.<br>
+<br>
+The <code>group</code> parameter specifies the IPP attribute group tag: none
+(<code>IPP_TAG_ZERO</code>, for member attributes), document (<code>IPP_TAG_DOCUMENT</code>),
+event notification (<code>IPP_TAG_EVENT_NOTIFICATION</code>), operation
+(<code>IPP_TAG_OPERATION</code>), printer (<code>IPP_TAG_PRINTER</code>), subscription
+(<code>IPP_TAG_SUBSCRIPTION</code>), or unsupported (<code>IPP_TAG_UNSUPPORTED_GROUP</code>).<br>
+<br>
+The <code>lower</code> parameter must be less than or equal to the <code>upper</code> parameter.</p>
 <h3 class="function"><a name="ippAddRanges">ippAddRanges</a></h3>
 <p class="description">Add ranges of values to an IPP message.</p>
 <p class="code">
 <a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddRanges (<br>
 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_tag_t">ipp_tag_t</a> group,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;ipp_tag_t group,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;const char *name,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;int num_values,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;const int *lower,<br>
@@ -2892,12 +3116,21 @@ ssize_t httpWrite2 (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">New attribute</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>ipp</code> parameter refers to an IPP message previously created using the
+<a href="#ippNew"><code>ippNew</code></a> or <a href="#ippNewRequest"><code>ippNewRequest</code></a> functions.<br>
+<br>
+The <code>group</code> parameter specifies the IPP attribute group tag: none
+(<code>IPP_TAG_ZERO</code>, for member attributes), document (<code>IPP_TAG_DOCUMENT</code>),
+event notification (<code>IPP_TAG_EVENT_NOTIFICATION</code>), operation
+(<code>IPP_TAG_OPERATION</code>), printer (<code>IPP_TAG_PRINTER</code>), subscription
+(<code>IPP_TAG_SUBSCRIPTION</code>), or unsupported (<code>IPP_TAG_UNSUPPORTED_GROUP</code>).</p>
 <h3 class="function"><a name="ippAddResolution">ippAddResolution</a></h3>
 <p class="description">Add a resolution value to an IPP message.</p>
 <p class="code">
 <a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddResolution (<br>
 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_tag_t">ipp_tag_t</a> group,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;ipp_tag_t group,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;const char *name,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_res_t">ipp_res_t</a> units,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;int xres,<br>
@@ -2920,12 +3153,21 @@ ssize_t httpWrite2 (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">New attribute</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>ipp</code> parameter refers to an IPP message previously created using the
+<a href="#ippNew"><code>ippNew</code></a> or <a href="#ippNewRequest"><code>ippNewRequest</code></a> functions.<br>
+<br>
+The <code>group</code> parameter specifies the IPP attribute group tag: none
+(<code>IPP_TAG_ZERO</code>, for member attributes), document (<code>IPP_TAG_DOCUMENT</code>),
+event notification (<code>IPP_TAG_EVENT_NOTIFICATION</code>), operation
+(<code>IPP_TAG_OPERATION</code>), printer (<code>IPP_TAG_PRINTER</code>), subscription
+(<code>IPP_TAG_SUBSCRIPTION</code>), or unsupported (<code>IPP_TAG_UNSUPPORTED_GROUP</code>).</p>
 <h3 class="function"><a name="ippAddResolutions">ippAddResolutions</a></h3>
 <p class="description">Add resolution values to an IPP message.</p>
 <p class="code">
 <a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddResolutions (<br>
 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_tag_t">ipp_tag_t</a> group,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;ipp_tag_t group,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;const char *name,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;int num_values,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_res_t">ipp_res_t</a> units,<br>
@@ -2951,6 +3193,15 @@ ssize_t httpWrite2 (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">New attribute</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>ipp</code> parameter refers to an IPP message previously created using the
+<a href="#ippNew"><code>ippNew</code></a> or <a href="#ippNewRequest"><code>ippNewRequest</code></a> functions.<br>
+<br>
+The <code>group</code> parameter specifies the IPP attribute group tag: none
+(<code>IPP_TAG_ZERO</code>, for member attributes), document (<code>IPP_TAG_DOCUMENT</code>),
+event notification (<code>IPP_TAG_EVENT_NOTIFICATION</code>), operation
+(<code>IPP_TAG_OPERATION</code>), printer (<code>IPP_TAG_PRINTER</code>), subscription
+(<code>IPP_TAG_SUBSCRIPTION</code>), or unsupported (<code>IPP_TAG_UNSUPPORTED_GROUP</code>).</p>
 <h3 class="function"><a name="ippAddSeparator">ippAddSeparator</a></h3>
 <p class="description">Add a group separator to an IPP message.</p>
 <p class="code">
@@ -2964,15 +3215,18 @@ ssize_t httpWrite2 (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">New attribute</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>ipp</code> parameter refers to an IPP message previously created using the
+<a href="#ippNew"><code>ippNew</code></a> or <a href="#ippNewRequest"><code>ippNewRequest</code></a> functions.</p>
 <h3 class="function"><a name="ippAddString">ippAddString</a></h3>
 <p class="description">Add a language-encoded string to an IPP message.</p>
 <p class="code">
 <a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddString (<br>
 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_tag_t">ipp_tag_t</a> group,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_tag_t">ipp_tag_t</a> type,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;ipp_tag_t group,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;ipp_tag_t value_tag,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;const char *name,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;const char *charset,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;const char *language,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;const char *value<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
@@ -2981,27 +3235,46 @@ ssize_t httpWrite2 (<br>
 <dd class="description">IPP message</dd>
 <dt>group</dt>
 <dd class="description">IPP group</dd>
-<dt>type</dt>
+<dt>value_tag</dt>
 <dd class="description">Type of attribute</dd>
 <dt>name</dt>
 <dd class="description">Name of attribute</dd>
-<dt>charset</dt>
-<dd class="description">Character set</dd>
+<dt>language</dt>
+<dd class="description">Language code</dd>
 <dt>value</dt>
 <dd class="description">Value</dd>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">New attribute</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>ipp</code> parameter refers to an IPP message previously created using the
+<a href="#ippNew"><code>ippNew</code></a> or <a href="#ippNewRequest"><code>ippNewRequest</code></a> functions.<br>
+<br>
+The <code>group</code> parameter specifies the IPP attribute group tag: none
+(<code>IPP_TAG_ZERO</code>, for member attributes), document (<code>IPP_TAG_DOCUMENT</code>),
+event notification (<code>IPP_TAG_EVENT_NOTIFICATION</code>), operation
+(<code>IPP_TAG_OPERATION</code>), printer (<code>IPP_TAG_PRINTER</code>), subscription
+(<code>IPP_TAG_SUBSCRIPTION</code>), or unsupported (<code>IPP_TAG_UNSUPPORTED_GROUP</code>).<br>
+<br>
+Supported string values include charset (<code>IPP_TAG_CHARSET</code>), keyword
+(<code>IPP_TAG_KEYWORD</code>), language (<code>IPP_TAG_LANGUAGE</code>), mimeMediaType
+(<code>IPP_TAG_MIMETYPE</code>), name (<code>IPP_TAG_NAME</code>), nameWithLanguage
+(<code>IPP_TAG_NAMELANG), text (</code>code IPP_TAG_TEXT@), textWithLanguage
+(<code>IPP_TAG_TEXTLANG</code>), uri (<code>IPP_TAG_URI</code>), and uriScheme
+(<code>IPP_TAG_URISCHEME</code>).<br>
+<br>
+The <code>language</code> parameter must be non-<code>NULL</code> for nameWithLanguage and
+textWithLanguage string values and must be <code>NULL</code> for all other string values.</p>
 <h3 class="function"><a name="ippAddStrings">ippAddStrings</a></h3>
 <p class="description">Add language-encoded strings to an IPP message.</p>
 <p class="code">
 <a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddStrings (<br>
 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_tag_t">ipp_tag_t</a> group,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_tag_t">ipp_tag_t</a> type,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;ipp_tag_t group,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;ipp_tag_t value_tag,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;const char *name,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;int num_values,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;const char *charset,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;const char *language,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;const char *const *values<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
@@ -3010,19 +3283,126 @@ ssize_t httpWrite2 (<br>
 <dd class="description">IPP message</dd>
 <dt>group</dt>
 <dd class="description">IPP group</dd>
-<dt>type</dt>
+<dt>value_tag</dt>
 <dd class="description">Type of attribute</dd>
 <dt>name</dt>
 <dd class="description">Name of attribute</dd>
 <dt>num_values</dt>
 <dd class="description">Number of values</dd>
-<dt>charset</dt>
-<dd class="description">Character set</dd>
+<dt>language</dt>
+<dd class="description">Language code (<code>NULL</code> for default)</dd>
 <dt>values</dt>
 <dd class="description">Values</dd>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">New attribute</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>ipp</code> parameter refers to an IPP message previously created using the
+<a href="#ippNew"><code>ippNew</code></a> or <a href="#ippNewRequest"><code>ippNewRequest</code></a> functions.<br>
+<br>
+The <code>group</code> parameter specifies the IPP attribute group tag: none
+(<code>IPP_TAG_ZERO</code>, for member attributes), document (<code>IPP_TAG_DOCUMENT</code>),
+event notification (<code>IPP_TAG_EVENT_NOTIFICATION</code>), operation
+(<code>IPP_TAG_OPERATION</code>), printer (<code>IPP_TAG_PRINTER</code>), subscription
+(<code>IPP_TAG_SUBSCRIPTION</code>), or unsupported (<code>IPP_TAG_UNSUPPORTED_GROUP</code>).<br>
+<br>
+Supported string values include charset (<code>IPP_TAG_CHARSET</code>), keyword
+(<code>IPP_TAG_KEYWORD</code>), language (<code>IPP_TAG_LANGUAGE</code>), mimeMediaType
+(<code>IPP_TAG_MIMETYPE</code>), name (<code>IPP_TAG_NAME</code>), nameWithLanguage
+(<code>IPP_TAG_NAMELANG), text (</code>code IPP_TAG_TEXT@), textWithLanguage
+(<code>IPP_TAG_TEXTLANG</code>), uri (<code>IPP_TAG_URI</code>), and uriScheme
+(<code>IPP_TAG_URISCHEME</code>).<br>
+<br>
+The <code>language</code> parameter must be non-<code>NULL</code> for nameWithLanguage and
+textWithLanguage string values and must be <code>NULL</code> for all other string values.</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippAttributeString">ippAttributeString</a></h3>
+<p class="description">Convert the attribute's value to a string.</p>
+<p class="code">
+size_t ippAttributeString (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;char *buffer,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;size_t bufsize<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>attr</dt>
+<dd class="description">Attribute</dd>
+<dt>buffer</dt>
+<dd class="description">String buffer or NULL</dd>
+<dt>bufsize</dt>
+<dd class="description">Size of string buffer</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">Number of bytes less nul</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">Returns the number of bytes that would be written, not including the
+trailing nul. The buffer pointer can be NULL to get the required length,
+just like (v)snprintf.
+
+</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippCopyAttribute">ippCopyAttribute</a></h3>
+<p class="description">Copy an attribute.</p>
+<p class="code">
+<a href="#ipp_attribute_t">ipp_attribute_t</a> *ippCopyAttribute (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *dst,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_attribute_t">ipp_attribute_t</a> *srcattr,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int quickcopy<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>dst</dt>
+<dd class="description">Destination IPP message</dd>
+<dt>srcattr</dt>
+<dd class="description">Attribute to copy</dd>
+<dt>quickcopy</dt>
+<dd class="description">1 for a referenced copy, 0 for normal</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">New attribute</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The specified attribute, <code>attr</code>, is copied to the destination IPP message.
+When <code>quickcopy</code> is non-zero, a &quot;shallow&quot; reference copy of the attribute is
+created - this should only be done as long as the original source IPP message will
+not be freed for the life of the destination.
+
+</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippCopyAttributes">ippCopyAttributes</a></h3>
+<p class="description">Copy attributes from one IPP message to another.</p>
+<p class="code">
+int ippCopyAttributes (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *dst,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *src,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int quickcopy,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_copycb_t">ipp_copycb_t</a> cb,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;void *context<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>dst</dt>
+<dd class="description">Destination IPP message</dd>
+<dt>src</dt>
+<dd class="description">Source IPP message</dd>
+<dt>quickcopy</dt>
+<dd class="description">1 for a referenced copy, 0 for normal</dd>
+<dt>cb</dt>
+<dd class="description">Copy callback or <code>NULL</code> for none</dd>
+<dt>context</dt>
+<dd class="description">Context pointer</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">1 on success, 0 on error</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">Zero or more attributes are copied from the source IPP message, @code@ src, to the
+destination IPP message, <code>dst</code>. When <code>quickcopy</code> is non-zero, a &quot;shallow&quot;
+reference copy of the attribute is created - this should only be done as long as the
+original source IPP message will not be freed for the life of the destination.<br>
+<br>
+The <code>cb</code> and <code>context</code> parameters provide a generic way to &quot;filter&quot; the
+attributes that are copied - the function must return 1 to copy the attribute or
+0 to skip it. The function may also choose to do a partial copy of the source attribute
+itself.
+
+</p>
 <h3 class="function"><a name="ippDateToTime">ippDateToTime</a></h3>
 <p class="description">Convert from RFC 1903 Date/Time format to UNIX time
 in seconds.</p>
@@ -3048,7 +3428,7 @@ void ippDelete (<br>
 <dt>ipp</dt>
 <dd class="description">IPP message</dd>
 </dl>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span><a name="ippDeleteAttribute">ippDeleteAttribute</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span><a name="ippDeleteAttribute">ippDeleteAttribute</a></h3>
 <p class="description">Delete a single attribute in an IPP message.</p>
 <p class="code">
 void ippDeleteAttribute (<br>
@@ -3062,6 +3442,69 @@ void ippDeleteAttribute (<br>
 <dt>attr</dt>
 <dd class="description">Attribute to delete</dd>
 </dl>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippDeleteValues">ippDeleteValues</a></h3>
+<p class="description">Delete values in an attribute.</p>
+<p class="code">
+int ippDeleteValues (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int element,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int count<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>ipp</dt>
+<dd class="description">IPP message</dd>
+<dt>attr</dt>
+<dd class="description">Attribute</dd>
+<dt>element</dt>
+<dd class="description">Index of first value to delete (0-based)</dd>
+<dt>count</dt>
+<dd class="description">Number of values to delete</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">1 on success, 0 on failure</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>element</code> parameter specifies the first value to delete, starting at
+0. It must be less than the number of values returned by <a href="#ippGetCount"><code>ippGetCount</code></a>.<br>
+<br>
+The <code>attr</code> parameter may be modified as a result of setting the value.<br>
+<br>
+Deleting all values in an attribute deletes the attribute.
+
+</p>
+<h3 class="function"><a name="ippEnumString">ippEnumString</a></h3>
+<p class="description">Return a string corresponding to the enum value.</p>
+<p class="code">
+const char *ippEnumString (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;const char *attrname,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int enumvalue<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>attrname</dt>
+<dd class="description">Attribute name</dd>
+<dt>enumvalue</dt>
+<dd class="description">Enum value</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">Enum string</p>
+<h3 class="function"><a name="ippEnumValue">ippEnumValue</a></h3>
+<p class="description">Return the value associated with a given enum string.</p>
+<p class="code">
+int ippEnumValue (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;const char *attrname,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;const char *enumstring<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>attrname</dt>
+<dd class="description">Attribute name</dd>
+<dt>enumstring</dt>
+<dd class="description">Enum string</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">Enum value or -1 if unknown</p>
 <h3 class="function"><a name="ippErrorString">ippErrorString</a></h3>
 <p class="description">Return a name for the given status code.</p>
 <p class="code">
@@ -3075,7 +3518,7 @@ const char *ippErrorString (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Text string</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ippErrorValue">ippErrorValue</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ippErrorValue">ippErrorValue</a></h3>
 <p class="description">Return a status code for the given name.</p>
 <p class="code">
 ipp_status_t ippErrorValue (<br>
@@ -3089,12 +3532,12 @@ ipp_status_t ippErrorValue (<br>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">IPP status code</p>
 <h3 class="function"><a name="ippFindAttribute">ippFindAttribute</a></h3>
-<p class="description">Find a named attribute in a request...</p>
+<p class="description">Find a named attribute in a request.</p>
 <p class="code">
 <a href="#ipp_attribute_t">ipp_attribute_t</a> *ippFindAttribute (<br>
 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;const char *name,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_tag_t">ipp_tag_t</a> type<br>
+&nbsp;&nbsp;&nbsp;&nbsp;ipp_tag_t type<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
 <dl>
@@ -3108,12 +3551,12 @@ ipp_status_t ippErrorValue (<br>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Matching attribute</p>
 <h3 class="function"><a name="ippFindNextAttribute">ippFindNextAttribute</a></h3>
-<p class="description">Find the next named attribute in a request...</p>
+<p class="description">Find the next named attribute in a request.</p>
 <p class="code">
 <a href="#ipp_attribute_t">ipp_attribute_t</a> *ippFindNextAttribute (<br>
 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;const char *name,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_tag_t">ipp_tag_t</a> type<br>
+&nbsp;&nbsp;&nbsp;&nbsp;ipp_tag_t type<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
 <dl>
@@ -3126,10 +3569,10 @@ ipp_status_t ippErrorValue (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Matching attribute</p>
-<h3 class="function"><a name="ippLength">ippLength</a></h3>
-<p class="description">Compute the length of an IPP message.</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippFirstAttribute">ippFirstAttribute</a></h3>
+<p class="description">Return the first attribute in the message.</p>
 <p class="code">
-size_t ippLength (<br>
+<a href="#ipp_attribute_t">ipp_attribute_t</a> *ippFirstAttribute (<br>
 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
@@ -3138,111 +3581,415 @@ size_t ippLength (<br>
 <dd class="description">IPP message</dd>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
-<p class="description">Size of IPP message</p>
-<h3 class="function"><a name="ippNew">ippNew</a></h3>
-<p class="description">Allocate a new IPP message.</p>
+<p class="description">First attribute or <code>NULL</code> if none</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippGetBoolean">ippGetBoolean</a></h3>
+<p class="description">Get a boolean value for an attribute.</p>
 <p class="code">
-<a href="#ipp_t">ipp_t</a> *ippNew (void);</p>
+int ippGetBoolean (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int element<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>attr</dt>
+<dd class="description">IPP attribute</dd>
+<dt>element</dt>
+<dd class="description">Value number (0-based)</dd>
+</dl>
 <h4 class="returnvalue">Return Value</h4>
-<p class="description">New IPP message</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ippNewRequest">ippNewRequest</a></h3>
-<p class="description">Allocate a new IPP request message.</p>
+<p class="description">Boolean value or -1 on error</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>element</code> parameter specifies which value to get from 0 to
+<a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a> - 1.
+
+</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippGetCollection">ippGetCollection</a></h3>
+<p class="description">Get a collection value for an attribute.</p>
 <p class="code">
-<a href="#ipp_t">ipp_t</a> *ippNewRequest (<br>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_op_t">ipp_op_t</a> op<br>
+<a href="#ipp_t">ipp_t</a> *ippGetCollection (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int element<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
 <dl>
-<dt>op</dt>
-<dd class="description">Operation code</dd>
+<dt>attr</dt>
+<dd class="description">IPP attribute</dd>
+<dt>element</dt>
+<dd class="description">Value number (0-based)</dd>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
-<p class="description">IPP request message</p>
+<p class="description">Collection value or <code>NULL</code> on error</p>
 <h4 class="discussion">Discussion</h4>
-<p class="discussion">The new request message is initialized with the attributes-charset and
-attributes-natural-language attributes added. The
-attributes-natural-language value is derived from the current locale.
+<p class="discussion">The <code>element</code> parameter specifies which value to get from 0 to
+<a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a> - 1.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ippOpString">ippOpString</a></h3>
-<p class="description">Return a name for the given operation id.</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippGetCount">ippGetCount</a></h3>
+<p class="description">Get the number of values in an attribute.</p>
 <p class="code">
-const char *ippOpString (<br>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_op_t">ipp_op_t</a> op<br>
+int ippGetCount (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
 <dl>
-<dt>op</dt>
-<dd class="description">Operation ID</dd>
+<dt>attr</dt>
+<dd class="description">IPP attribute</dd>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
-<p class="description">Name</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ippOpValue">ippOpValue</a></h3>
-<p class="description">Return an operation id for the given name.</p>
+<p class="description">Number of values or -1 on error</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippGetDate">ippGetDate</a></h3>
+<p class="description">Get a date value for an attribute.</p>
 <p class="code">
-<a href="#ipp_op_t">ipp_op_t</a> ippOpValue (<br>
-&nbsp;&nbsp;&nbsp;&nbsp;const char *name<br>
+const <a href="#ipp_uchar_t">ipp_uchar_t</a> *ippGetDate (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int element<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
 <dl>
-<dt>name</dt>
-<dd class="description">Textual name</dd>
+<dt>attr</dt>
+<dd class="description">IPP attribute</dd>
+<dt>element</dt>
+<dd class="description">Value number (0-based)</dd>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
-<p class="description">Operation ID</p>
-<h3 class="function"><a name="ippPort">ippPort</a></h3>
-<p class="description">Return the default IPP port number.</p>
+<p class="description">Date value or <code>NULL</code></p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>element</code> parameter specifies which value to get from 0 to
+<a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a> - 1.
+
+</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippGetGroupTag">ippGetGroupTag</a></h3>
+<p class="description">Get the group associated with an attribute.</p>
 <p class="code">
-int ippPort (void);</p>
+ipp_tag_t ippGetGroupTag (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>attr</dt>
+<dd class="description">IPP attribute</dd>
+</dl>
 <h4 class="returnvalue">Return Value</h4>
-<p class="description">Port number</p>
-<h3 class="function"><a name="ippRead">ippRead</a></h3>
-<p class="description">Read data for an IPP message from a HTTP connection.</p>
+<p class="description">Group tag or <code>IPP_TAG_ZERO</code> on error</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippGetInteger">ippGetInteger</a></h3>
+<p class="description">Get the integer/enum value for an attribute.</p>
 <p class="code">
-<a href="#ipp_state_t">ipp_state_t</a> ippRead (<br>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#http_t">http_t</a> *http,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp<br>
+int ippGetInteger (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int element<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
 <dl>
-<dt>http</dt>
-<dd class="description">HTTP connection</dd>
-<dt>ipp</dt>
-<dd class="description">IPP data</dd>
+<dt>attr</dt>
+<dd class="description">IPP attribute</dd>
+<dt>element</dt>
+<dd class="description">Value number (0-based)</dd>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
-<p class="description">Current state</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span><a name="ippReadFile">ippReadFile</a></h3>
-<p class="description">Read data for an IPP message from a file.</p>
+<p class="description">Value or -1 on error</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>element</code> parameter specifies which value to get from 0 to
+<a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a> - 1.
+
+</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippGetName">ippGetName</a></h3>
+<p class="description">Get the attribute name.</p>
 <p class="code">
-<a href="#ipp_state_t">ipp_state_t</a> ippReadFile (<br>
-&nbsp;&nbsp;&nbsp;&nbsp;int fd,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp<br>
+const char *ippGetName (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
 <dl>
-<dt>fd</dt>
-<dd class="description">HTTP data</dd>
-<dt>ipp</dt>
-<dd class="description">IPP data</dd>
+<dt>attr</dt>
+<dd class="description">IPP attribute</dd>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
-<p class="description">Current state</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ippReadIO">ippReadIO</a></h3>
-<p class="description">Read data for an IPP message.</p>
+<p class="description">Attribute name or <code>NULL</code> for separators</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippGetOperation">ippGetOperation</a></h3>
+<p class="description">Get the operation ID in an IPP message.</p>
 <p class="code">
-<a href="#ipp_state_t">ipp_state_t</a> ippReadIO (<br>
-&nbsp;&nbsp;&nbsp;&nbsp;void *src,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_iocb_t">ipp_iocb_t</a> cb,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;int blocking,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *parent,<br>
+ipp_op_t ippGetOperation (<br>
 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
 <dl>
-<dt>src</dt>
-<dd class="description">Data source</dd>
-<dt>cb</dt>
+<dt>ipp</dt>
+<dd class="description">IPP request message</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">Operation ID or -1 on error</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippGetRange">ippGetRange</a></h3>
+<p class="description">Get a rangeOfInteger value from an attribute.</p>
+<p class="code">
+int ippGetRange (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int element,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int *uppervalue<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>attr</dt>
+<dd class="description">IPP attribute</dd>
+<dt>element</dt>
+<dd class="description">Value number (0-based)</dd>
+<dt>uppervalue</dt>
+<dd class="description">Upper value of range</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">Lower value of range or -1</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>element</code> parameter specifies which value to get from 0 to
+<a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a> - 1.
+
+</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippGetRequestId">ippGetRequestId</a></h3>
+<p class="description">Get the request ID from an IPP message.</p>
+<p class="code">
+int ippGetRequestId (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>ipp</dt>
+<dd class="description">IPP message</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">Request ID or -1 on error</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippGetResolution">ippGetResolution</a></h3>
+<p class="description">Get a resolution value for an attribute.</p>
+<p class="code">
+int ippGetResolution (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int element,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int *yres,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_res_t">ipp_res_t</a> *units<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>attr</dt>
+<dd class="description">IPP attribute</dd>
+<dt>element</dt>
+<dd class="description">Value number (0-based)</dd>
+<dt>yres</dt>
+<dd class="description">Vertical/feed resolution</dd>
+<dt>units</dt>
+<dd class="description">Units for resolution</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">Horizontal/cross feed resolution or -1</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>element</code> parameter specifies which value to get from 0 to
+<a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a> - 1.
+
+</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippGetState">ippGetState</a></h3>
+<p class="description">Get the IPP message state.</p>
+<p class="code">
+<a href="#ipp_state_t">ipp_state_t</a> ippGetState (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>ipp</dt>
+<dd class="description">IPP message</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">IPP message state value</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippGetStatusCode">ippGetStatusCode</a></h3>
+<p class="description">Get the status code from an IPP response or event message.</p>
+<p class="code">
+ipp_status_t ippGetStatusCode (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>ipp</dt>
+<dd class="description">IPP response or event message</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">Status code in IPP message</p>
+<h3 class="function"><a name="ippGetString">ippGetString</a></h3>
+<p class="description">Return the value...</p>
+<p class="code">
+const char *ippGetString (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int element,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;const char **language<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>attr</dt>
+<dd class="description">IPP attribute</dd>
+<dt>element</dt>
+<dd class="description">Value number (0-based)</dd>
+<dt>language</dt>
+<dd class="description">Language code (<code>NULL</code> for don't care)</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">Get the string and optionally the language code for an attribute.</p>
+<p class="discussion">The <code>element</code> parameter specifies which value to get from 0 to
+<a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a> - 1.
+
+</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippGetValueTag">ippGetValueTag</a></h3>
+<p class="description">Get the value tag for an attribute.</p>
+<p class="code">
+ipp_tag_t ippGetValueTag (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_attribute_t">ipp_attribute_t</a> *attr<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>attr</dt>
+<dd class="description">IPP attribute</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">Value tag or <code>IPP_TAG_ZERO</code> on error</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippGetVersion">ippGetVersion</a></h3>
+<p class="description">Get the major and minor version number from an IPP message.</p>
+<p class="code">
+int ippGetVersion (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int *minor<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>ipp</dt>
+<dd class="description">IPP message</dd>
+<dt>minor</dt>
+<dd class="description">Minor version number or <code>NULL</code></dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">Major version number or -1 on error</p>
+<h3 class="function"><a name="ippLength">ippLength</a></h3>
+<p class="description">Compute the length of an IPP message.</p>
+<p class="code">
+size_t ippLength (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>ipp</dt>
+<dd class="description">IPP message</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">Size of IPP message</p>
+<h3 class="function"><a name="ippNew">ippNew</a></h3>
+<p class="description">Allocate a new IPP message.</p>
+<p class="code">
+<a href="#ipp_t">ipp_t</a> *ippNew (void);</p>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">New IPP message</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ippNewRequest">ippNewRequest</a></h3>
+<p class="description">Allocate a new IPP request message.</p>
+<p class="code">
+<a href="#ipp_t">ipp_t</a> *ippNewRequest (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;ipp_op_t op<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>op</dt>
+<dd class="description">Operation code</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">IPP request message</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The new request message is initialized with the attributes-charset and
+attributes-natural-language attributes added. The
+attributes-natural-language value is derived from the current locale.
+
+</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippNextAttribute">ippNextAttribute</a></h3>
+<p class="description">Return the next attribute in the message.</p>
+<p class="code">
+<a href="#ipp_attribute_t">ipp_attribute_t</a> *ippNextAttribute (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>ipp</dt>
+<dd class="description">IPP message</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">Next attribute or <code>NULL</code> if none</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ippOpString">ippOpString</a></h3>
+<p class="description">Return a name for the given operation id.</p>
+<p class="code">
+const char *ippOpString (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;ipp_op_t op<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>op</dt>
+<dd class="description">Operation ID</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">Name</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ippOpValue">ippOpValue</a></h3>
+<p class="description">Return an operation id for the given name.</p>
+<p class="code">
+ipp_op_t ippOpValue (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;const char *name<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>name</dt>
+<dd class="description">Textual name</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">Operation ID</p>
+<h3 class="function"><a name="ippPort">ippPort</a></h3>
+<p class="description">Return the default IPP port number.</p>
+<p class="code">
+int ippPort (void);</p>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">Port number</p>
+<h3 class="function"><a name="ippRead">ippRead</a></h3>
+<p class="description">Read data for an IPP message from a HTTP connection.</p>
+<p class="code">
+<a href="#ipp_state_t">ipp_state_t</a> ippRead (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#http_t">http_t</a> *http,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>http</dt>
+<dd class="description">HTTP connection</dd>
+<dt>ipp</dt>
+<dd class="description">IPP data</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">Current state</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span><a name="ippReadFile">ippReadFile</a></h3>
+<p class="description">Read data for an IPP message from a file.</p>
+<p class="code">
+<a href="#ipp_state_t">ipp_state_t</a> ippReadFile (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int fd,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>fd</dt>
+<dd class="description">HTTP data</dd>
+<dt>ipp</dt>
+<dd class="description">IPP data</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">Current state</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ippReadIO">ippReadIO</a></h3>
+<p class="description">Read data for an IPP message.</p>
+<p class="code">
+<a href="#ipp_state_t">ipp_state_t</a> ippReadIO (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;void *src,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_iocb_t">ipp_iocb_t</a> cb,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int blocking,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *parent,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>src</dt>
+<dd class="description">Data source</dd>
+<dt>cb</dt>
 <dd class="description">Read callback function</dd>
 <dt>blocking</dt>
 <dd class="description">Use blocking IO?</dd>
@@ -3253,6 +4000,213 @@ int ippPort (void);</p>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Current state</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippSetBoolean">ippSetBoolean</a></h3>
+<p class="description">Set a boolean value in an attribute.</p>
+<p class="code">
+int ippSetBoolean (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int element,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int boolvalue<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>ipp</dt>
+<dd class="description">IPP message</dd>
+<dt>attr</dt>
+<dd class="description">IPP attribute</dd>
+<dt>element</dt>
+<dd class="description">Value number (0-based)</dd>
+<dt>boolvalue</dt>
+<dd class="description">Boolean value</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">1 on success, 0 on failure</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>ipp</code> parameter refers to the IPP message containing the attribute that was
+previously created using the <a href="#ippNew"><code>ippNew</code></a> or <a href="#ippNewRequest"><code>ippNewRequest</code></a> functions.<br>
+<br>
+The <code>attr</code> parameter may be modified as a result of setting the value.<br>
+<br>
+The <code>element</code> parameter specifies which value to set from 0 to
+<a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a>.
+
+</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippSetCollection">ippSetCollection</a></h3>
+<p class="description">Set a collection value in an attribute.</p>
+<p class="code">
+int ippSetCollection (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int element,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *colvalue<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>ipp</dt>
+<dd class="description">IPP message</dd>
+<dt>attr</dt>
+<dd class="description">IPP attribute</dd>
+<dt>element</dt>
+<dd class="description">Value number (0-based)</dd>
+<dt>colvalue</dt>
+<dd class="description">Collection value</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">1 on success, 0 on failure</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>ipp</code> parameter refers to the IPP message containing the attribute that was
+previously created using the <a href="#ippNew"><code>ippNew</code></a> or <a href="#ippNewRequest"><code>ippNewRequest</code></a> functions.<br>
+<br>
+The <code>attr</code> parameter may be modified as a result of setting the value.<br>
+<br>
+The <code>element</code> parameter specifies which value to set from 0 to
+<a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a>.
+
+</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippSetDate">ippSetDate</a></h3>
+<p class="description">Set a date value in an attribute.</p>
+<p class="code">
+int ippSetDate (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int element,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;const <a href="#ipp_uchar_t">ipp_uchar_t</a> *datevalue<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>ipp</dt>
+<dd class="description">IPP message</dd>
+<dt>attr</dt>
+<dd class="description">IPP attribute</dd>
+<dt>element</dt>
+<dd class="description">Value number (0-based)</dd>
+<dt>datevalue</dt>
+<dd class="description">Date value</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">1 on success, 0 on failure</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>ipp</code> parameter refers to the IPP message containing the attribute that was
+previously created using the <a href="#ippNew"><code>ippNew</code></a> or <a href="#ippNewRequest"><code>ippNewRequest</code></a> functions.<br>
+<br>
+The <code>attr</code> parameter may be modified as a result of setting the value.<br>
+<br>
+The <code>element</code> parameter specifies which value to set from 0 to
+<a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a>.
+
+</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippSetGroupTag">ippSetGroupTag</a></h3>
+<p class="description">Set the group tag of an attribute.</p>
+<p class="code">
+int ippSetGroupTag (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;ipp_tag_t group_tag<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>ipp</dt>
+<dd class="description">IPP message</dd>
+<dt>attr</dt>
+<dd class="description">Attribute</dd>
+<dt>group_tag</dt>
+<dd class="description">Group tag</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">1 on success, 0 on failure</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>ipp</code> parameter refers to the IPP message containing the attribute that was
+previously created using the <a href="#ippNew"><code>ippNew</code></a> or <a href="#ippNewRequest"><code>ippNewRequest</code></a> functions.<br>
+<br>
+The <code>attr</code> parameter may be modified as a result of setting the value.<br>
+<br>
+The <code>group</code> parameter specifies the IPP attribute group tag: none
+(<code>IPP_TAG_ZERO</code>, for member attributes), document (<code>IPP_TAG_DOCUMENT</code>),
+event notification (<code>IPP_TAG_EVENT_NOTIFICATION</code>), operation
+(<code>IPP_TAG_OPERATION</code>), printer (<code>IPP_TAG_PRINTER</code>), subscription
+(<code>IPP_TAG_SUBSCRIPTION</code>), or unsupported (<code>IPP_TAG_UNSUPPORTED_GROUP</code>).
+
+</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippSetInteger">ippSetInteger</a></h3>
+<p class="description">Set an integer or enum value in an attribute.</p>
+<p class="code">
+int ippSetInteger (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int element,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int intvalue<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>ipp</dt>
+<dd class="description">IPP message</dd>
+<dt>attr</dt>
+<dd class="description">IPP attribute</dd>
+<dt>element</dt>
+<dd class="description">Value number (0-based)</dd>
+<dt>intvalue</dt>
+<dd class="description">Integer/enum value</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">1 on success, 0 on failure</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>ipp</code> parameter refers to the IPP message containing the attribute that was
+previously created using the <a href="#ippNew"><code>ippNew</code></a> or <a href="#ippNewRequest"><code>ippNewRequest</code></a> functions.<br>
+<br>
+The <code>attr</code> parameter may be modified as a result of setting the value.<br>
+<br>
+The <code>element</code> parameter specifies which value to set from 0 to
+<a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a>.
+
+</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippSetName">ippSetName</a></h3>
+<p class="description">Set the name of an attribute.</p>
+<p class="code">
+int ippSetName (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;const char *name<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>ipp</dt>
+<dd class="description">IPP message</dd>
+<dt>attr</dt>
+<dd class="description">IPP attribute</dd>
+<dt>name</dt>
+<dd class="description">Attribute name</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">1 on success, 0 on failure</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>ipp</code> parameter refers to the IPP message containing the attribute that was
+previously created using the <a href="#ippNew"><code>ippNew</code></a> or <a href="#ippNewRequest"><code>ippNewRequest</code></a> functions.<br>
+<br>
+The <code>attr</code> parameter may be modified as a result of setting the value.
+
+</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippSetOperation">ippSetOperation</a></h3>
+<p class="description">Set the operation ID in an IPP request message.</p>
+<p class="code">
+int ippSetOperation (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;ipp_op_t op<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>ipp</dt>
+<dd class="description">IPP request message</dd>
+<dt>op</dt>
+<dd class="description">Operation ID</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">1 on success, 0 on failure</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>ipp</code> parameter refers to an IPP message previously created using the
+<a href="#ippNew"><code>ippNew</code></a> or <a href="#ippNewRequest"><code>ippNewRequest</code></a> functions.
+
+</p>
 <h3 class="function"><a name="ippSetPort">ippSetPort</a></h3>
 <p class="description">Set the default port number.</p>
 <p class="code">
@@ -3264,11 +4218,240 @@ void ippSetPort (<br>
 <dt>p</dt>
 <dd class="description">Port number to use</dd>
 </dl>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="ippTagString">ippTagString</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippSetRange">ippSetRange</a></h3>
+<p class="description">Set a rangeOfInteger value in an attribute.</p>
+<p class="code">
+int ippSetRange (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int element,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int lowervalue,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int uppervalue<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>ipp</dt>
+<dd class="description">IPP message</dd>
+<dt>attr</dt>
+<dd class="description">IPP attribute</dd>
+<dt>element</dt>
+<dd class="description">Value number (0-based)</dd>
+<dt>lowervalue</dt>
+<dd class="description">Lower bound for range</dd>
+<dt>uppervalue</dt>
+<dd class="description">Upper bound for range</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">1 on success, 0 on failure</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>ipp</code> parameter refers to the IPP message containing the attribute that was
+previously created using the <a href="#ippNew"><code>ippNew</code></a> or <a href="#ippNewRequest"><code>ippNewRequest</code></a> functions.<br>
+<br>
+The <code>attr</code> parameter may be modified as a result of setting the value.<br>
+<br>
+The <code>element</code> parameter specifies which value to set from 0 to
+<a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a>.
+
+</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippSetRequestId">ippSetRequestId</a></h3>
+<p class="description">Set the request ID in an IPP message.</p>
+<p class="code">
+int ippSetRequestId (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int request_id<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>ipp</dt>
+<dd class="description">IPP message</dd>
+<dt>request_id</dt>
+<dd class="description">Request ID</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">1 on success, 0 on failure</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>ipp</code> parameter refers to an IPP message previously created using the
+<a href="#ippNew"><code>ippNew</code></a> or <a href="#ippNewRequest"><code>ippNewRequest</code></a> functions.<br>
+<br>
+The <code>request_id</code> parameter must be greater than 0.
+
+</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippSetResolution">ippSetResolution</a></h3>
+<p class="description">Set a resolution value in an attribute.</p>
+<p class="code">
+int ippSetResolution (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int element,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_res_t">ipp_res_t</a> unitsvalue,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int xresvalue,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int yresvalue<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>ipp</dt>
+<dd class="description">IPP message</dd>
+<dt>attr</dt>
+<dd class="description">IPP attribute</dd>
+<dt>element</dt>
+<dd class="description">Value number (0-based)</dd>
+<dt>unitsvalue</dt>
+<dd class="description">Resolution units</dd>
+<dt>xresvalue</dt>
+<dd class="description">Horizontal/cross feed resolution</dd>
+<dt>yresvalue</dt>
+<dd class="description">Vertical/feed resolution</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">1 on success, 0 on failure</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>ipp</code> parameter refers to the IPP message containing the attribute that was
+previously created using the <a href="#ippNew"><code>ippNew</code></a> or <a href="#ippNewRequest"><code>ippNewRequest</code></a> functions.<br>
+<br>
+The <code>attr</code> parameter may be modified as a result of setting the value.<br>
+<br>
+The <code>element</code> parameter specifies which value to set from 0 to
+<a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a>.
+
+</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippSetState">ippSetState</a></h3>
+<p class="description">Set the current state of the IPP message.</p>
+<p class="code">
+int ippSetState (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_state_t">ipp_state_t</a> state<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>ipp</dt>
+<dd class="description">IPP message</dd>
+<dt>state</dt>
+<dd class="description">IPP state value</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">1 on success, 0 on failure</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippSetStatusCode">ippSetStatusCode</a></h3>
+<p class="description">Set the status code in an IPP response or event message.</p>
+<p class="code">
+int ippSetStatusCode (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;ipp_status_t status<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>ipp</dt>
+<dd class="description">IPP response or event message</dd>
+<dt>status</dt>
+<dd class="description">Status code</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">1 on success, 0 on failure</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>ipp</code> parameter refers to an IPP message previously created using the
+<a href="#ippNew"><code>ippNew</code></a> or <a href="#ippNewRequest"><code>ippNewRequest</code></a> functions.
+
+</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippSetString">ippSetString</a></h3>
+<p class="description">Set a string value in an attribute.</p>
+<p class="code">
+int ippSetString (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int element,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;const char *strvalue<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>ipp</dt>
+<dd class="description">IPP message</dd>
+<dt>attr</dt>
+<dd class="description">IPP attribute</dd>
+<dt>element</dt>
+<dd class="description">Value number (0-based)</dd>
+<dt>strvalue</dt>
+<dd class="description">String value</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">1 on success, 0 on failure</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>ipp</code> parameter refers to the IPP message containing the attribute that was
+previously created using the <a href="#ippNew"><code>ippNew</code></a> or <a href="#ippNewRequest"><code>ippNewRequest</code></a> functions.<br>
+<br>
+The <code>attr</code> parameter may be modified as a result of setting the value.<br>
+<br>
+The <code>element</code> parameter specifies which value to set from 0 to
+<a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a>.
+
+</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippSetValueTag">ippSetValueTag</a></h3>
+<p class="description">Set the value tag of an attribute.</p>
+<p class="code">
+int ippSetValueTag (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_attribute_t">ipp_attribute_t</a> **attr,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;ipp_tag_t value_tag<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>ipp</dt>
+<dd class="description">IPP message</dd>
+<dt>attr</dt>
+<dd class="description">IPP attribute</dd>
+<dt>value_tag</dt>
+<dd class="description">Value tag</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">1 on success, 0 on failure</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>ipp</code> parameter refers to the IPP message containing the attribute that was
+previously created using the <a href="#ippNew"><code>ippNew</code></a> or <a href="#ippNewRequest"><code>ippNewRequest</code></a> functions.<br>
+<br>
+The <code>attr</code> parameter may be modified as a result of setting the value.<br>
+<br>
+Integer (<code>IPP_TAG_INTEGER</code>) values can be promoted to rangeOfInteger
+(<code>IPP_TAG_RANGE</code>) values, the various string tags can be promoted to name
+(<code>IPP_TAG_NAME</code>) or nameWithLanguage (<code>IPP_TAG_NAMELANG</code>) values, text
+(<code>IPP_TAG_TEXT</code>) values can be promoted to textWithLanguage
+(<code>IPP_TAG_TEXTLANG</code>) values, and all values can be demoted to the various
+out-of-band value tags such as no-value (<code>IPP_TAG_NOVALUE</code>). All other changes
+will be rejected.<br>
+<br>
+Promoting a string attribute to nameWithLanguage or textWithLanguage adds the language
+code in the &quot;attributes-natural-language&quot; attribute or, if not present, the language
+code for the current locale.
+
+</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippSetVersion">ippSetVersion</a></h3>
+<p class="description">Set the version number in an IPP message.</p>
+<p class="code">
+int ippSetVersion (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *ipp,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int major,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int minor<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>ipp</dt>
+<dd class="description">IPP message</dd>
+<dt>major</dt>
+<dd class="description">Major version number (major.minor)</dd>
+<dt>minor</dt>
+<dd class="description">Minor version number (major.minor)</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">1 on success, 0 on failure</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The <code>ipp</code> parameter refers to an IPP message previously created using the
+<a href="#ippNew"><code>ippNew</code></a> or <a href="#ippNewRequest"><code>ippNewRequest</code></a> functions.<br>
+<br>
+The valid version numbers are currently 1.0, 1.1, 2.0, 2.1, and 2.2.
+
+</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="ippTagString">ippTagString</a></h3>
 <p class="description">Return the tag name corresponding to a tag value.</p>
 <p class="code">
 const char *ippTagString (<br>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_tag_t">ipp_tag_t</a> tag<br>
+&nbsp;&nbsp;&nbsp;&nbsp;ipp_tag_t tag<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
 <dl>
@@ -3281,10 +4464,10 @@ const char *ippTagString (<br>
 <p class="discussion">The returned names are defined in RFC 2911 and 3382.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="ippTagValue">ippTagValue</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="ippTagValue">ippTagValue</a></h3>
 <p class="description">Return the tag value corresponding to a tag name.</p>
 <p class="code">
-<a href="#ipp_tag_t">ipp_tag_t</a> ippTagValue (<br>
+ipp_tag_t ippTagValue (<br>
 &nbsp;&nbsp;&nbsp;&nbsp;const char *name<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
@@ -3327,7 +4510,7 @@ const <a href="#ipp_uchar_t">ipp_uchar_t</a> *ippTimeToDate (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Current state</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span><a name="ippWriteFile">ippWriteFile</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span><a name="ippWriteFile">ippWriteFile</a></h3>
 <p class="description">Write data for an IPP message to a file.</p>
 <p class="code">
 <a href="#ipp_state_t">ipp_state_t</a> ippWriteFile (<br>
@@ -3343,7 +4526,7 @@ const <a href="#ipp_uchar_t">ipp_uchar_t</a> *ippTimeToDate (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Current state</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ippWriteIO">ippWriteIO</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ippWriteIO">ippWriteIO</a></h3>
 <p class="description">Write data for an IPP message.</p>
 <p class="code">
 <a href="#ipp_state_t">ipp_state_t</a> ippWriteIO (<br>
@@ -3374,7 +4557,7 @@ const <a href="#ipp_uchar_t">ipp_uchar_t</a> *ippTimeToDate (<br>
 <p class="code">
 typedef struct <a href="#gss_auth_identity">gss_auth_identity</a> gss_auth_identity_desc;
 </p>
-<h3 class="typedef"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="http_addr_t">http_addr_t</a></h3>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="http_addr_t">http_addr_t</a></h3>
 <p class="description">Socket address union, which
 makes using IPv6 and other
 address types easier and
@@ -3382,7 +4565,7 @@ more portable. </p>
 <p class="code">
 typedef union _http_addr_u / http_addr_t;
 </p>
-<h3 class="typedef"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="http_addrlist_t">http_addrlist_t</a></h3>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="http_addrlist_t">http_addrlist_t</a></h3>
 <p class="description">Socket address list, which is
 used to enumerate all of the
 addresses that are associated
@@ -3395,7 +4578,7 @@ typedef struct <a href="#http_addrlist_s">http_addrlist_s</a> / http_addrlist_t;
 <p class="code">
 typedef enum <a href="#http_auth_e">http_auth_e</a> http_auth_t;
 </p>
-<h3 class="typedef"><span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span><a name="http_credential_t">http_credential_t</a></h3>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.5/OS X 10.7&nbsp;</span><a name="http_credential_t">http_credential_t</a></h3>
 <p class="description">HTTP credential data </p>
 <p class="code">
 typedef struct <a href="#http_credential_s">http_credential_s</a> http_credential_t;
@@ -3436,7 +4619,7 @@ typedef enum <a href="#http_status_e">http_status_e</a> http_status_t;
 <p class="code">
 typedef struct _http_s http_t;
 </p>
-<h3 class="typedef"><span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span><a name="http_timeout_cb_t">http_timeout_cb_t</a></h3>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.5/OS X 10.7&nbsp;</span><a name="http_timeout_cb_t">http_timeout_cb_t</a></h3>
 <p class="description">HTTP timeout callback </p>
 <p class="code">
 typedef int (*http_timeout_cb_t)(<a href="#http_t">http_t</a> *http, void *user_data);
@@ -3457,29 +4640,36 @@ typedef enum <a href="#http_uri_status_e">http_uri_status_e</a> http_uri_status_
 typedef enum <a href="#http_version_e">http_version_e</a> http_version_t;
 </p>
 <h3 class="typedef"><a name="ipp_attribute_t">ipp_attribute_t</a></h3>
-<p class="description">Attribute</p>
+<p class="description">IPP attribute</p>
+<p class="code">
+typedef struct _ipp_attribute_s ipp_attribute_t;
+</p>
+<h3 class="typedef"><a name="ipp_copycb_t">ipp_copycb_t</a></h3>
+<p class="description">The following structures are PRIVATE starting with CUPS 1.6/OS X 10.8.
+Please use the new accessor functions available in CUPS 1.6 and later, as
+these definitions will be moved to a private header file in a future release.</p>
+<p class="code">
+typedef int (*ipp_copycb_t)(void *context, <a href="#ipp_t">ipp_t</a> *dst, <a href="#ipp_attribute_t">ipp_attribute_t</a> *attr);
+</p>
+<h3 class="typedef"><a name="ipp_dstate_t">ipp_dstate_t</a></h3>
+<p class="description">Document states</p>
 <p class="code">
-typedef struct <a href="#ipp_attribute_s">ipp_attribute_s</a> ipp_attribute_t;
+typedef enum <a href="#ipp_dstate_e">ipp_dstate_e</a> ipp_dstate_t;
 </p>
 <h3 class="typedef"><a name="ipp_finish_t">ipp_finish_t</a></h3>
 <p class="description">Finishings</p>
 <p class="code">
 typedef enum <a href="#ipp_finish_e">ipp_finish_e</a> ipp_finish_t;
 </p>
-<h3 class="typedef"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ipp_iocb_t">ipp_iocb_t</a></h3>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ipp_iocb_t">ipp_iocb_t</a></h3>
 <p class="description">IPP IO Callback Function </p>
 <p class="code">
-typedef ssize_t (*ipp_iocb_t)(void *, <a href="#ipp_uchar_t">ipp_uchar_t</a> *, size_t);
+typedef ssize_t (*ipp_iocb_t)(void *context, <a href="#ipp_uchar_t">ipp_uchar_t</a> *buffer, size_t bytes);
 </p>
-<h3 class="typedef"><a name="ipp_jstate_t">ipp_jstate_t</a></h3>
-<p class="description">Job states</p>
-<p class="code">
-typedef enum <a href="#ipp_jstate_e">ipp_jstate_e</a> ipp_jstate_t;
-</p>
-<h3 class="typedef"><a name="ipp_op_t">ipp_op_t</a></h3>
-<p class="description">IPP operations</p>
+<h3 class="typedef"><a name="ipp_jcollate_t">ipp_jcollate_t</a></h3>
+<p class="description">Job collation types</p>
 <p class="code">
-typedef enum <a href="#ipp_op_e">ipp_op_e</a> ipp_op_t;
+typedef enum <a href="#ipp_jcollate_e">ipp_jcollate_e</a> ipp_jcollate_t;
 </p>
 <h3 class="typedef"><a name="ipp_orient_t">ipp_orient_t</a></h3>
 <p class="description">Orientation values</p>
@@ -3496,11 +4686,6 @@ typedef enum <a href="#ipp_pstate_e">ipp_pstate_e</a> ipp_pstate_t;
 <p class="code">
 typedef enum <a href="#ipp_quality_e">ipp_quality_e</a> ipp_quality_t;
 </p>
-<h3 class="typedef"><a name="ipp_request_t">ipp_request_t</a></h3>
-<p class="description">Request Header</p>
-<p class="code">
-typedef union <a href="#ipp_request_u">ipp_request_u</a> ipp_request_t;
-</p>
 <h3 class="typedef"><a name="ipp_res_t">ipp_res_t</a></h3>
 <p class="description">Resolution units</p>
 <p class="code">
@@ -3512,24 +4697,14 @@ typedef enum <a href="#ipp_res_e">ipp_res_e</a> ipp_res_t;
 typedef enum <a href="#ipp_state_e">ipp_state_e</a> ipp_state_t;
 </p>
 <h3 class="typedef"><a name="ipp_t">ipp_t</a></h3>
-<p class="description">Attribute Value</p>
+<p class="description">IPP request/response data</p>
 <p class="code">
-typedef struct <a href="#ipp_s">ipp_s</a> ipp_t;
+typedef struct _ipp_s ipp_t;
 </p>
 <h3 class="typedef"><a name="ipp_uchar_t">ipp_uchar_t</a></h3>
-<p class="description">IPP status codes</p>
+<p class="description">Unsigned 8-bit integer/character</p>
 <p class="code">
-typedef typedef unsigned char ipp_uchar_t;
-</p>
-<h3 class="typedef"><a name="ipp_tag_t">ipp_tag_t</a></h3>
-<p class="description">Format tags for attributes</p>
-<p class="code">
-typedef enum <a href="#ipp_tag_e">ipp_tag_e</a> ipp_tag_t;
-</p>
-<h3 class="typedef"><a name="ipp_value_t">ipp_value_t</a></h3>
-<p class="description">Attribute Value</p>
-<p class="code">
-typedef union <a href="#ipp_value_u">ipp_value_u</a> ipp_value_t;
+typedef unsigned char ipp_uchar_t;
 </p>
 <h2 class="title"><a name="STRUCTURES">Structures</a></h2>
 <h3 class="struct"><a name="gss_auth_identity">gss_auth_identity</a></h3>
@@ -3551,7 +4726,7 @@ typedef union <a href="#ipp_value_u">ipp_value_u</a> ipp_value_t;
 <dt>type </dt>
 <dt>username </dt>
 </dl>
-<h3 class="struct"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="http_addrlist_s">http_addrlist_s</a></h3>
+<h3 class="struct"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="http_addrlist_s">http_addrlist_s</a></h3>
 <p class="description">Socket address list, which is
 used to enumerate all of the
 addresses that are associated
@@ -3567,7 +4742,7 @@ with a hostname. </p>
 <dt>next </dt>
 <dd class="description">Pointer to next address in list</dd>
 </dl>
-<h3 class="struct"><span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span><a name="http_credential_s">http_credential_s</a></h3>
+<h3 class="struct"><span class="info">&nbsp;CUPS 1.5/OS X 10.7&nbsp;</span><a name="http_credential_s">http_credential_s</a></h3>
 <p class="description">HTTP credential data </p>
 <p class="code">struct http_credential_s {<br>
 &nbsp;&nbsp;&nbsp;&nbsp;void *data;<br>
@@ -3580,85 +4755,16 @@ with a hostname. </p>
 <dt>datalen </dt>
 <dd class="description">Credential length</dd>
 </dl>
-<h3 class="struct"><a name="ipp_attribute_s">ipp_attribute_s</a></h3>
-<p class="description">Attribute</p>
-<p class="code">struct ipp_attribute_s {<br>
-&nbsp;&nbsp;&nbsp;&nbsp;char *name;<br>
-&nbsp;&nbsp;&nbsp;&nbsp;struct <a href="#ipp_attribute_s">ipp_attribute_s</a> *next;<br>
-&nbsp;&nbsp;&nbsp;&nbsp;int num_values;<br>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_tag_t">ipp_tag_t</a> group_tag, value_tag;<br>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_value_t">ipp_value_t</a> values[1];<br>
+<h3 class="struct"><a name="pollfd">pollfd</a></h3>
+<p class="description">User data (unused)</p>
+<p class="code">struct pollfd *pollfds, unsigned int num_pollfds, int timeout, void *context) {<br>
+&nbsp;&nbsp;&nbsp;&nbsp;void) context;<br>
+&nbsp;&nbsp;&nbsp;&nbsp;void) timeout;<br>
 };</p>
 <h4 class="members">Members</h4>
 <dl>
-<dt>name </dt>
-<dd class="description">Name of attribute</dd>
-<dt>next </dt>
-<dd class="description">Next attribute in list</dd>
-<dt>num_values </dt>
-<dd class="description">Number of values</dd>
-<dt>value_tag </dt>
-<dd class="description">What type of value is it?</dd>
-<dt>values[1] </dt>
-<dd class="description">Values</dd>
-</dl>
-<h3 class="struct"><a name="ipp_s">ipp_s</a></h3>
-<p class="description">IPP Request/Response/Notification</p>
-<p class="code">struct ipp_s {<br>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_attribute_t">ipp_attribute_t</a> *attrs;<br>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_attribute_t">ipp_attribute_t</a> *current;<br>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_tag_t">ipp_tag_t</a> curtag;<br>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_attribute_t">ipp_attribute_t</a> *last;<br>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_attribute_t">ipp_attribute_t</a> *prev;<br>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_request_t">ipp_request_t</a> request;<br>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_state_t">ipp_state_t</a> state;<br>
-&nbsp;&nbsp;&nbsp;&nbsp;int use;<br>
-};</p>
-<h4 class="members">Members</h4>
-<dl>
-<dt>attrs </dt>
-<dd class="description">Attributes</dd>
-<dt>current </dt>
-<dd class="description">Current attribute (for read/write)</dd>
-<dt>curtag </dt>
-<dd class="description">Current attribute group tag</dd>
-<dt>last </dt>
-<dd class="description">Last attribute in list</dd>
-<dt>prev <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
-<dd class="description">Previous attribute (for read) </dd>
-<dt>request </dt>
-<dd class="description">Request header</dd>
-<dt>state </dt>
-<dd class="description">State of request</dd>
-<dt>use <span class="info">&nbsp;CUPS 1.4.4/Mac OS X 10.6.?&nbsp;</span></dt>
-<dd class="description">Use count </dd>
-</dl>
-<h2 class="title"><a name="UNIONS">Unions</a></h2>
-<h3 class="union"><a name="ipp_request_u">ipp_request_u</a></h3>
-<p class="description">Request Header</p>
-<p class="code">union ipp_request_u {<br>
-};</p>
-<h4 class="members">Members</h4>
-<dl>
-</dl>
-<h3 class="union"><a name="ipp_value_u">ipp_value_u</a></h3>
-<p class="description">Attribute Value</p>
-<p class="code">union ipp_value_u {<br>
-&nbsp;&nbsp;&nbsp;&nbsp;char boolean;<br>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_t">ipp_t</a> *collection;<br>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_uchar_t">ipp_uchar_t</a> date[11];<br>
-&nbsp;&nbsp;&nbsp;&nbsp;int integer;<br>
-};</p>
-<h4 class="members">Members</h4>
-<dl>
-<dt>boolean </dt>
-<dd class="description">Boolean value</dd>
-<dt>collection <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
-<dd class="description">Collection value </dd>
-<dt>date[11] </dt>
-<dd class="description">Date/time value</dd>
-<dt>integer </dt>
-<dd class="description">Integer/enumerated value</dd>
+<dt>context </dt>
+<dt>timeout </dt>
 </dl>
 <h2 class="title"><a name="ENUMERATIONS">Constants</a></h2>
 <h3 class="enumeration"><a name="http_auth_e">http_auth_e</a></h3>
@@ -3675,7 +4781,7 @@ with a hostname. </p>
 <dd class="description">MD5-session authentication in use</dd>
 <dt>HTTP_AUTH_MD5_SESS_INT </dt>
 <dd class="description">MD5-session authentication in use for body</dd>
-<dt>HTTP_AUTH_NEGOTIATE <span class="info">&nbsp;CUPS 1.3/Mac OS X 10.5&nbsp;</span></dt>
+<dt>HTTP_AUTH_NEGOTIATE <span class="info">&nbsp;CUPS 1.3/OS X 10.5&nbsp;</span></dt>
 <dd class="description">GSSAPI authentication in use </dd>
 <dt>HTTP_AUTH_NONE </dt>
 <dd class="description">No authentication in use</dd>
@@ -3868,7 +4974,7 @@ are server-oriented...</p>
 <dd class="description">Only a partial file was recieved/sent</dd>
 <dt>HTTP_PAYMENT_REQUIRED </dt>
 <dd class="description">Payment required</dd>
-<dt>HTTP_PKI_ERROR <span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span></dt>
+<dt>HTTP_PKI_ERROR <span class="info">&nbsp;CUPS 1.5/OS X 10.7&nbsp;</span></dt>
 <dd class="description">Error negotiating a secure connection </dd>
 <dt>HTTP_PRECONDITION </dt>
 <dd class="description">Precondition failed</dd>
@@ -3917,6 +5023,8 @@ are server-oriented...</p>
 <dd class="description">En/decode the query portion</dd>
 <dt>HTTP_URI_CODING_RESOURCE </dt>
 <dd class="description">En/decode the resource portion</dd>
+<dt>HTTP_URI_CODING_RFC6874 </dt>
+<dd class="description">Use RFC 6874 address format</dd>
 <dt>HTTP_URI_CODING_USERNAME </dt>
 <dd class="description">En/decode the username portion</dd>
 </dl>
@@ -3960,6 +5068,16 @@ are server-oriented...</p>
 <dt>HTTP_1_1 </dt>
 <dd class="description">HTTP/1.1</dd>
 </dl>
+<h3 class="enumeration"><a name="ipp_dstate_e">ipp_dstate_e</a></h3>
+<p class="description">Document states</p>
+<h4 class="constants">Constants</h4>
+<dl>
+<dt>IPP_DOCUMENT_ABORTED </dt>
+<dt>IPP_DOCUMENT_CANCELED </dt>
+<dt>IPP_DOCUMENT_COMPLETED </dt>
+<dt>IPP_DOCUMENT_PENDING </dt>
+<dt>IPP_DOCUMENT_PROCESSING </dt>
+</dl>
 <h3 class="enumeration"><a name="ipp_finish_e">ipp_finish_e</a></h3>
 <p class="description">Finishings</p>
 <h4 class="constants">Constants</h4>
@@ -4020,6 +5138,22 @@ are server-oriented...</p>
 <dd class="description">Staple top right corner</dd>
 <dt>IPP_FINISHINGS_TRIM </dt>
 <dd class="description">Trim (any type)</dd>
+<dt>IPP_FINISHINGS_TRIM_AFTER_COPIES </dt>
+<dd class="description">Trim output after each copy</dd>
+<dt>IPP_FINISHINGS_TRIM_AFTER_DOCUMENTS </dt>
+<dd class="description">Trim output after each document</dd>
+<dt>IPP_FINISHINGS_TRIM_AFTER_JOB </dt>
+<dd class="description">Trim output after job</dd>
+<dt>IPP_FINISHINGS_TRIM_AFTER_PAGES </dt>
+<dd class="description">Trim output after each page</dd>
+</dl>
+<h3 class="enumeration"><a name="ipp_jcollate_e">ipp_jcollate_e</a></h3>
+<p class="description">Job collation types</p>
+<h4 class="constants">Constants</h4>
+<dl>
+<dt>IPP_JOB_COLLATED_DOCUMENTS </dt>
+<dt>IPP_JOB_UNCOLLATED_DOCUMENTS </dt>
+<dt>IPP_JOB_UNCOLLATED_SHEETS </dt>
 </dl>
 <h3 class="enumeration"><a name="ipp_jstate_e">ipp_jstate_e</a></h3>
 <p class="description">Job states</p>
@@ -4050,7 +5184,7 @@ are server-oriented...</p>
 <dd class="description">Add or modify a class</dd>
 <dt>CUPS_ADD_MODIFY_PRINTER </dt>
 <dd class="description">Add or modify a printer</dd>
-<dt>CUPS_AUTHENTICATE_JOB <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
+<dt>CUPS_AUTHENTICATE_JOB <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
 <dd class="description">Authenticate a job </dd>
 <dt>CUPS_DELETE_CLASS </dt>
 <dd class="description">Delete a class</dd>
@@ -4062,9 +5196,9 @@ are server-oriented...</p>
 <dd class="description">Get the default printer</dd>
 <dt>CUPS_GET_DEVICES </dt>
 <dd class="description">Get a list of supported devices</dd>
-<dt>CUPS_GET_DOCUMENT <span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span></dt>
+<dt>CUPS_GET_DOCUMENT <span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span></dt>
 <dd class="description">Get a document file </dd>
-<dt>CUPS_GET_PPD <span class="info">&nbsp;CUPS 1.3/Mac OS X 10.5&nbsp;</span></dt>
+<dt>CUPS_GET_PPD <span class="info">&nbsp;CUPS 1.3/OS X 10.5&nbsp;</span></dt>
 <dd class="description">Get a PPD file </dd>
 <dt>CUPS_GET_PPDS </dt>
 <dd class="description">Get a list of supported drivers</dd>
@@ -4082,15 +5216,15 @@ are server-oriented...</p>
 <dd class="description">Cancel-Jobs</dd>
 <dt>IPP_CANCEL_MY_JOBS </dt>
 <dd class="description">Cancel-My-Jobs</dd>
-<dt>IPP_CANCEL_SUBSCRIPTION <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
+<dt>IPP_CANCEL_SUBSCRIPTION <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
 <dd class="description">Cancel a subscription </dd>
 <dt>IPP_CLOSE_JOB </dt>
 <dd class="description">Close-Job</dd>
 <dt>IPP_CREATE_JOB </dt>
 <dd class="description">Create an empty print job</dd>
-<dt>IPP_CREATE_JOB_SUBSCRIPTION <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
+<dt>IPP_CREATE_JOB_SUBSCRIPTION <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
 <dd class="description">Create a job subscription </dd>
-<dt>IPP_CREATE_PRINTER_SUBSCRIPTION <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
+<dt>IPP_CREATE_PRINTER_SUBSCRIPTION <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
 <dd class="description">Create a printer subscription </dd>
 <dt>IPP_DISABLE_PRINTER </dt>
 <dd class="description">Stop a printer</dd>
@@ -4100,18 +5234,22 @@ are server-oriented...</p>
 <dd class="description">Get a list of jobs</dd>
 <dt>IPP_GET_JOB_ATTRIBUTES </dt>
 <dd class="description">Get job attributes</dd>
-<dt>IPP_GET_NOTIFICATIONS <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
+<dt>IPP_GET_NOTIFICATIONS <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
 <dd class="description">Get notification events </dd>
 <dt>IPP_GET_PRINTER_ATTRIBUTES </dt>
 <dd class="description">Get printer attributes</dd>
 <dt>IPP_GET_PRINTER_SUPPORTED_VALUES </dt>
 <dd class="description">Get supported attribute values</dd>
-<dt>IPP_GET_SUBSCRIPTIONS <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
+<dt>IPP_GET_SUBSCRIPTIONS <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
 <dd class="description">Get list of subscriptions </dd>
-<dt>IPP_GET_SUBSCRIPTION_ATTRIBUTES <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
+<dt>IPP_GET_SUBSCRIPTION_ATTRIBUTES <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
 <dd class="description">Get subscription attributes </dd>
 <dt>IPP_HOLD_JOB </dt>
 <dd class="description">Hold a job for printing</dd>
+<dt>IPP_IDENTIFY_PRINTER </dt>
+<dd class="description">Identify-Printer (proposed IPP JPS3)</dd>
+<dt>IPP_OP_CUPS_INVALID </dt>
+<dd class="description">Invalid operation name for <a href="#ippOpValue"><code>ippOpValue</code></a></dd>
 <dt>IPP_PAUSE_PRINTER </dt>
 <dd class="description">Stop a printer</dd>
 <dt>IPP_PRINT_JOB </dt>
@@ -4120,7 +5258,7 @@ are server-oriented...</p>
 <dd class="description">Cancel all jobs</dd>
 <dt>IPP_RELEASE_JOB </dt>
 <dd class="description">Release a job for printing</dd>
-<dt>IPP_RENEW_SUBSCRIPTION <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
+<dt>IPP_RENEW_SUBSCRIPTION <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
 <dd class="description">Renew a printer subscription </dd>
 <dt>IPP_RESTART_JOB </dt>
 <dd class="description">Reprint a job</dd>
@@ -4132,6 +5270,8 @@ are server-oriented...</p>
 <dd class="description">Add a file to a job</dd>
 <dt>IPP_SET_JOB_ATTRIBUTES </dt>
 <dd class="description">Set job attributes</dd>
+<dt>IPP_VALIDATE_DOCUMENT </dt>
+<dd class="description">Validate-Document (proposed IPP JPS3)</dd>
 <dt>IPP_VALIDATE_JOB </dt>
 <dd class="description">Validate job options</dd>
 </dl>
@@ -4204,7 +5344,7 @@ are server-oriented...</p>
 <dd class="description">client-error-attributes-or-values-not-supported</dd>
 <dt>IPP_ATTRIBUTES_NOT_SETTABLE </dt>
 <dd class="description">client-error-attributes-not-settable</dd>
-<dt>IPP_AUTHENTICATION_CANCELED <span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span></dt>
+<dt>IPP_AUTHENTICATION_CANCELED <span class="info">&nbsp;CUPS 1.5/OS X 10.7&nbsp;</span></dt>
 <dd class="description">Authentication canceled by user </dd>
 <dt>IPP_BAD_REQUEST </dt>
 <dd class="description">client-error-bad-request</dd>
@@ -4224,14 +5364,20 @@ are server-oriented...</p>
 <dd class="description">client-error-document-format-not-supported</dd>
 <dt>IPP_DOCUMENT_FORMAT_ERROR </dt>
 <dd class="description">client-error-document-format-error</dd>
+<dt>IPP_DOCUMENT_PASSWORD_ERROR </dt>
+<dd class="description">client-error-document-password-error</dd>
+<dt>IPP_DOCUMENT_PERMISSION_ERROR </dt>
+<dd class="description">client-error-document-permission-error</dd>
+<dt>IPP_DOCUMENT_SECURITY_ERROR </dt>
+<dd class="description">client-error-document-security-error</dd>
+<dt>IPP_DOCUMENT_UNPRINTABLE_ERROR </dt>
+<dd class="description">client-error-document-unprintable-error</dd>
 <dt>IPP_ERROR_JOB_CANCELED </dt>
 <dd class="description">server-error-job-canceled</dd>
 <dt>IPP_FORBIDDEN </dt>
 <dd class="description">client-error-forbidden</dd>
 <dt>IPP_GONE </dt>
 <dd class="description">client-error-gone</dd>
-<dt>IPP_IGNORED_ALL_NOTIFICATIONS </dt>
-<dd class="description">client-error-ignored-all-notifications</dd>
 <dt>IPP_IGNORED_ALL_SUBSCRIPTIONS </dt>
 <dd class="description">client-error-ignored-all-subscriptions</dd>
 <dt>IPP_INTERNAL_ERROR </dt>
@@ -4250,14 +5396,10 @@ are server-oriented...</p>
 <dd class="description">client-error-not-possible</dd>
 <dt>IPP_OK </dt>
 <dd class="description">successful-ok</dd>
-<dt>IPP_OK_BUT_CANCEL_SUBSCRIPTION </dt>
-<dd class="description">successful-ok-but-cancel-subscription</dd>
 <dt>IPP_OK_CONFLICT </dt>
 <dd class="description">successful-ok-conflicting-attributes</dd>
 <dt>IPP_OK_EVENTS_COMPLETE </dt>
 <dd class="description">successful-ok-events-complete</dd>
-<dt>IPP_OK_IGNORED_NOTIFICATIONS </dt>
-<dd class="description">successful-ok-ignored-notifications</dd>
 <dt>IPP_OK_IGNORED_SUBSCRIPTIONS </dt>
 <dd class="description">successful-ok-ignored-subscriptions</dd>
 <dt>IPP_OK_SUBST </dt>
@@ -4266,24 +5408,28 @@ are server-oriented...</p>
 <dd class="description">successful-ok-too-many-events</dd>
 <dt>IPP_OPERATION_NOT_SUPPORTED </dt>
 <dd class="description">server-error-operation-not-supported</dd>
-<dt>IPP_PKI_ERROR <span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span></dt>
+<dt>IPP_PKI_ERROR <span class="info">&nbsp;CUPS 1.5/OS X 10.7&nbsp;</span></dt>
 <dd class="description">Error negotiating a secure connection </dd>
 <dt>IPP_PRINTER_BUSY </dt>
 <dd class="description">server-error-busy</dd>
 <dt>IPP_PRINTER_IS_DEACTIVATED </dt>
 <dd class="description">server-error-printer-is-deactivated</dd>
-<dt>IPP_PRINT_SUPPORT_FILE_NOT_FOUND </dt>
-<dd class="description">client-error-print-support-file-not-found</dd>
 <dt>IPP_REQUEST_ENTITY </dt>
 <dd class="description">client-error-request-entity-too-large</dd>
 <dt>IPP_REQUEST_VALUE </dt>
 <dd class="description">client-error-request-value-too-long</dd>
 <dt>IPP_SERVICE_UNAVAILABLE </dt>
 <dd class="description">server-error-service-unavailable</dd>
+<dt>IPP_STATUS_CUPS_INVALID </dt>
+<dd class="description">Invalid status name for <a href="#ippErrorValue"><code>ippErrorValue</code></a></dd>
 <dt>IPP_TEMPORARY_ERROR </dt>
 <dd class="description">server-error-temporary-error</dd>
 <dt>IPP_TIMEOUT </dt>
 <dd class="description">client-error-timeout</dd>
+<dt>IPP_TOO_MANY_DOCUMENTS </dt>
+<dd class="description">server-error-too-many-documents</dd>
+<dt>IPP_TOO_MANY_JOBS </dt>
+<dd class="description">server-error-too-many-jobs</dd>
 <dt>IPP_TOO_MANY_SUBSCRIPTIONS </dt>
 <dd class="description">client-error-too-many-subscriptions</dd>
 <dt>IPP_UPGRADE_REQUIRED </dt>
@@ -4305,14 +5451,16 @@ are server-oriented...</p>
 <dd class="description">Boolean value</dd>
 <dt>IPP_TAG_CHARSET </dt>
 <dd class="description">Character set value</dd>
-<dt>IPP_TAG_COPY </dt>
-<dd class="description">Bitflag for copied attribute values</dd>
+<dt>IPP_TAG_CUPS_INVALID </dt>
+<dd class="description">Invalid tag name for <a href="#ippTagValue"><code>ippTagValue</code></a></dd>
 <dt>IPP_TAG_DATE </dt>
 <dd class="description">Date/time value</dd>
 <dt>IPP_TAG_DEFAULT </dt>
 <dd class="description">Default value</dd>
 <dt>IPP_TAG_DELETEATTR </dt>
 <dd class="description">Delete-attribute value</dd>
+<dt>IPP_TAG_DOCUMENT </dt>
+<dd class="description">Document group</dd>
 <dt>IPP_TAG_END </dt>
 <dd class="description">End-of-attributes</dd>
 <dt>IPP_TAG_END_COLLECTION </dt>
@@ -4321,6 +5469,8 @@ are server-oriented...</p>
 <dd class="description">Enumeration value</dd>
 <dt>IPP_TAG_EVENT_NOTIFICATION </dt>
 <dd class="description">Event group</dd>
+<dt>IPP_TAG_EXTENSION </dt>
+<dd class="description">Extension point for 32-bit tags</dd>
 <dt>IPP_TAG_INTEGER </dt>
 <dd class="description">Integer value</dd>
 <dt>IPP_TAG_JOB </dt>
@@ -4329,8 +5479,6 @@ are server-oriented...</p>
 <dd class="description">Keyword value</dd>
 <dt>IPP_TAG_LANGUAGE </dt>
 <dd class="description">Language value</dd>
-<dt>IPP_TAG_MASK </dt>
-<dd class="description">Mask for copied attribute values</dd>
 <dt>IPP_TAG_MEMBERNAME </dt>
 <dd class="description">Collection member name value</dd>
 <dt>IPP_TAG_MIMETYPE </dt>
index c273376..2269927 100644 (file)
@@ -341,7 +341,7 @@ div.contents ul.subcontents li {
 <body>
 <div class='body'>
 <!--
-  "$Id: api-mime.html 9772 2011-05-12 05:46:30Z mike $"
+  "$Id: api-array.header 8087 2008-10-27 21:37:05Z mike $"
 
   MIME API header for CUPS.
 
@@ -412,7 +412,7 @@ including file size.">mimeFilter2</a></li>
 </ul></li>
 </ul>
 <!--
-  "$Id: api-mime.html 9772 2011-05-12 05:46:30Z mike $"
+  "$Id: api-array.shtml 7616 2008-05-28 00:34:13Z mike $"
 
   MIME API introduction for CUPS.
 
index 278df7c..a310f6e 100644 (file)
@@ -341,7 +341,7 @@ div.contents ul.subcontents li {
 <body>
 <div class='body'>
 <!--
-  "$Id: api-overview.html 9772 2011-05-12 05:46:30Z mike $"
+  "$Id: api-cups.header 7279 2008-01-31 01:50:44Z mike $"
 
   Introduction to CUPS programming header for CUPS.
 
@@ -403,7 +403,7 @@ div.contents ul.subcontents li {
 <li><a href="#WHERETOGO">Where to Go Next</a></li>
 </ul>
 <!--
-  "$Id: api-overview.html 9772 2011-05-12 05:46:30Z mike $"
+  "$Id: api-cups.header 7279 2008-01-31 01:50:44Z mike $"
 
   Introduction to CUPS programming content for CUPS.
 
index ae32165..6530d4b 100644 (file)
@@ -2,7 +2,7 @@
 <html>
 <!-- SECTION: Programming -->
 <head>
-       <title>PPD API  </title>
+       <title>PPD API (DEPRECATED)     </title>
        <meta name="keywords" content="Programming">
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
        <meta name="creator" content="Mini-XML v2.7">
@@ -341,11 +341,11 @@ div.contents ul.subcontents li {
 <body>
 <div class='body'>
 <!--
-  "$Id: api-ppd.html 9772 2011-05-12 05:46:30Z mike $"
+  "$Id: api-ppd.header 7616 2008-05-28 00:34:13Z mike $"
 
   PPD API header for CUPS.
 
-  Copyright 2008-2011 by Apple Inc.
+  Copyright 2008-2012 by Apple Inc.
 
   These coded instructions, statements, and computer programs are the
   property of Apple Inc. and are protected by Federal copyright
@@ -354,7 +354,9 @@ div.contents ul.subcontents li {
   file is missing or damaged, see the license at "http://www.cups.org/".
 -->
 
-<h1 class='title'>PPD API</h1>
+<h1 class='title'>PPD API (DEPRECATED)</h1>
+
+<blockquote>The PPD API is deprecated starting in CUPS 1.6/OS X 10.8. Please use the new Job Ticket APIs in the <a href="api-cups.html">CUPS API</a> documentation. These functions will be removed in a future release of CUPS.</blockquote>
 
 <div class='summary'><table summary='General Information'>
 <thead>
@@ -432,7 +434,7 @@ conflicts.">ppdMarkOption</a></li>
        <li><a href="#ppdOpenFd" title="Read a PPD file into memory.">ppdOpenFd</a></li>
        <li><a href="#ppdOpenFile" title="Read a PPD file into memory.">ppdOpenFile</a></li>
        <li><a href="#ppdPageLength" title="Get the page length for the given size.">ppdPageLength</a></li>
-       <li><a href="#ppdPageSize" title="Get the page size record for the given size.">ppdPageSize</a></li>
+       <li><a href="#ppdPageSize" title="Get the page size record for the named size.">ppdPageSize</a></li>
        <li><a href="#ppdPageSizeLimits" title="Return the custom page size limits.">ppdPageSizeLimits</a></li>
        <li><a href="#ppdPageWidth" title="Get the page width for the given size.">ppdPageWidth</a></li>
        <li><a href="#ppdSetConformance" title="Set the conformance level for PPD files.">ppdSetConformance</a></li>
@@ -484,11 +486,11 @@ conflicts.">ppdMarkOption</a></li>
 </ul></li>
 </ul>
 <!--
-  "$Id: api-ppd.html 9772 2011-05-12 05:46:30Z mike $"
+  "$Id: api-ppd.shtml 7616 2008-05-28 00:34:13Z mike $"
 
   PPD API introduction for CUPS.
 
-  Copyright 2007-2011 by Apple Inc.
+  Copyright 2007-2012 by Apple Inc.
   Copyright 1997-2006 by Easy Software Products, all rights reserved.
 
   These coded instructions, statements, and computer programs are the
@@ -500,6 +502,8 @@ conflicts.">ppdMarkOption</a></li>
 
 <h2 class='title'><a name='OVERVIEW'>Overview</a></h2>
 
+<blockquote>The PPD API is deprecated starting in CUPS 1.6/OS X 10.8. Please use the new Job Ticket APIs in the <a href="api-cups.html">CUPS API</a> documentation. These functions will be removed in a future release of CUPS.</blockquote>
+
 <p>The CUPS PPD API provides read-only access the data in PostScript Printer
 Description ("PPD") files which are used for all printers with a driver. With
 it you can obtain the data necessary to display printer options to users, mark
@@ -701,7 +705,7 @@ for (attr = <a href="#ppdFindAttr">ppdFindAttr</a>(ppd, "Product", NULL);
   puts(attr->value);
 </pre>
 <h2 class="title"><a name="FUNCTIONS">Functions</a></h2>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="cupsGetConflicts">cupsGetConflicts</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="cupsGetConflicts">cupsGetConflicts</a></h3>
 <p class="description">Get a list of conflicting options in a marked PPD.</p>
 <p class="code">
 int cupsGetConflicts (<br>
@@ -758,7 +762,7 @@ int cupsMarkOptions (<br>
 &quot;multiple-document-handling&quot;, &quot;output-bin&quot;, &quot;print-color-mode&quot;,
 &quot;print-quality&quot;, &quot;printer-resolution&quot;, and &quot;sides&quot; attributes to their
 corresponding PPD options and choices.</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="cupsResolveConflicts">cupsResolveConflicts</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="cupsResolveConflicts">cupsResolveConflicts</a></h3>
 <p class="description">Resolve conflicts in a marked PPD.</p>
 <p class="code">
 int cupsResolveConflicts (<br>
@@ -850,7 +854,7 @@ int ppdCollect (<br>
 <h4 class="discussion">Discussion</h4>
 <p class="discussion">The choices array should be freed using <code>free</code> when you are
 finished with it.</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ppdCollect2">ppdCollect2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ppdCollect2">ppdCollect2</a></h3>
 <p class="description">Collect all marked options that reside in the
 specified section and minimum order.</p>
 <p class="code">
@@ -913,7 +917,7 @@ int ppdEmit (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">0 on success, -1 on failure</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ppdEmitAfterOrder">ppdEmitAfterOrder</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ppdEmitAfterOrder">ppdEmitAfterOrder</a></h3>
 <p class="description">Emit a subset of the code for marked options to a file.</p>
 <p class="code">
 int ppdEmitAfterOrder (<br>
@@ -989,7 +993,7 @@ int ppdEmitJCL (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">0 on success, -1 on failure</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ppdEmitJCLEnd">ppdEmitJCLEnd</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ppdEmitJCLEnd">ppdEmitJCLEnd</a></h3>
 <p class="description">Emit JCLEnd code to a file.</p>
 <p class="code">
 int ppdEmitJCLEnd (<br>
@@ -1005,7 +1009,7 @@ int ppdEmitJCLEnd (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">0 on success, -1 on failure</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ppdEmitString">ppdEmitString</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ppdEmitString">ppdEmitString</a></h3>
 <p class="description">Get a string containing the code for marked options.</p>
 <p class="code">
 char *ppdEmitString (<br>
@@ -1034,7 +1038,7 @@ The return string is allocated on the heap and should be freed using
 <code>free</code> when you are done with it.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span><a name="ppdErrorString">ppdErrorString</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span><a name="ppdErrorString">ppdErrorString</a></h3>
 <p class="description">Returns the text assocated with a status.</p>
 <p class="code">
 const char *ppdErrorString (<br>
@@ -1047,7 +1051,7 @@ const char *ppdErrorString (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Status string</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span><a name="ppdFindAttr">ppdFindAttr</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span><a name="ppdFindAttr">ppdFindAttr</a></h3>
 <p class="description">Find the first matching attribute.</p>
 <p class="code">
 <a href="#ppd_attr_t">ppd_attr_t</a> *ppdFindAttr (<br>
@@ -1082,7 +1086,7 @@ const char *ppdErrorString (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Choice pointer or <code>NULL</code></p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ppdFindCustomOption">ppdFindCustomOption</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ppdFindCustomOption">ppdFindCustomOption</a></h3>
 <p class="description">Find a custom option.</p>
 <p class="code">
 <a href="#ppd_coption_t">ppd_coption_t</a> *ppdFindCustomOption (<br>
@@ -1098,7 +1102,7 @@ const char *ppdErrorString (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Custom option or NULL</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ppdFindCustomParam">ppdFindCustomParam</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ppdFindCustomParam">ppdFindCustomParam</a></h3>
 <p class="description">Find a parameter for a custom option.</p>
 <p class="code">
 <a href="#ppd_cparam_t">ppd_cparam_t</a> *ppdFindCustomParam (<br>
@@ -1130,7 +1134,7 @@ const char *ppdErrorString (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Pointer to choice or <code>NULL</code></p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span><a name="ppdFindNextAttr">ppdFindNextAttr</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span><a name="ppdFindNextAttr">ppdFindNextAttr</a></h3>
 <p class="description">Find the next matching attribute.</p>
 <p class="code">
 <a href="#ppd_attr_t">ppd_attr_t</a> *ppdFindNextAttr (<br>
@@ -1165,7 +1169,7 @@ const char *ppdErrorString (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Pointer to option or <code>NULL</code></p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ppdFirstCustomParam">ppdFirstCustomParam</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ppdFirstCustomParam">ppdFirstCustomParam</a></h3>
 <p class="description">Return the first parameter for a custom option.</p>
 <p class="code">
 <a href="#ppd_cparam_t">ppd_cparam_t</a> *ppdFirstCustomParam (<br>
@@ -1178,7 +1182,7 @@ const char *ppdErrorString (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Custom parameter or NULL</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ppdFirstOption">ppdFirstOption</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ppdFirstOption">ppdFirstOption</a></h3>
 <p class="description">Return the first option in the PPD file.</p>
 <p class="code">
 <a href="#ppd_option_t">ppd_option_t</a> *ppdFirstOption (<br>
@@ -1195,7 +1199,7 @@ const char *ppdErrorString (<br>
 <p class="discussion">Options are returned from all groups in ascending alphanumeric order.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="ppdInstallableConflict">ppdInstallableConflict</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="ppdInstallableConflict">ppdInstallableConflict</a></h3>
 <p class="description">Test whether an option choice conflicts with
 an installable option.</p>
 <p class="code">
@@ -1239,7 +1243,7 @@ int ppdIsMarked (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Non-zero if option is marked</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span><a name="ppdLastError">ppdLastError</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span><a name="ppdLastError">ppdLastError</a></h3>
 <p class="description">Return the status from the last ppdOpen*().</p>
 <p class="code">
 <a href="#ppd_status_t">ppd_status_t</a> ppdLastError (<br>
@@ -1252,7 +1256,7 @@ int ppdIsMarked (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Status code</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ppdLocalize">ppdLocalize</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ppdLocalize">ppdLocalize</a></h3>
 <p class="description">Localize the PPD file to the current locale.</p>
 <p class="code">
 int ppdLocalize (<br>
@@ -1294,7 +1298,7 @@ localized string uses the UTF-8 character encoding.
 <p class="discussion">This function uses the current locale to find the localized attribute for
 the given main and option keywords.  If no localized version of the
 attribute exists for the current locale, the unlocalized version is returned.</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.3/Mac OS X 10.5&nbsp;</span><a name="ppdLocalizeIPPReason">ppdLocalizeIPPReason</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.3/OS X 10.5&nbsp;</span><a name="ppdLocalizeIPPReason">ppdLocalizeIPPReason</a></h3>
 <p class="description">Get the localized version of a cupsIPPReason
 attribute.</p>
 <p class="code">
@@ -1329,7 +1333,7 @@ string or attribute value. Otherwise the corresponding URI is returned.<br>
 If no value of the requested scheme can be found, NULL is returned.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="ppdLocalizeMarkerName">ppdLocalizeMarkerName</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="ppdLocalizeMarkerName">ppdLocalizeMarkerName</a></h3>
 <p class="description">Get the localized version of a marker-names
 attribute value.</p>
 <p class="code">
@@ -1383,7 +1387,7 @@ int ppdMarkOption (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Number of conflicts</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ppdNextCustomParam">ppdNextCustomParam</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ppdNextCustomParam">ppdNextCustomParam</a></h3>
 <p class="description">Return the next parameter for a custom option.</p>
 <p class="code">
 <a href="#ppd_cparam_t">ppd_cparam_t</a> *ppdNextCustomParam (<br>
@@ -1396,7 +1400,7 @@ int ppdMarkOption (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Custom parameter or NULL</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ppdNextOption">ppdNextOption</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ppdNextOption">ppdNextOption</a></h3>
 <p class="description">Return the next option in the PPD file.</p>
 <p class="code">
 <a href="#ppd_option_t">ppd_option_t</a> *ppdNextOption (<br>
@@ -1426,7 +1430,7 @@ int ppdMarkOption (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">PPD file record</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ppdOpen2">ppdOpen2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ppdOpen2">ppdOpen2</a></h3>
 <p class="description">Read a PPD file into memory.</p>
 <p class="code">
 <a href="#ppd_file_t">ppd_file_t</a> *ppdOpen2 (<br>
@@ -1482,7 +1486,7 @@ float ppdPageLength (<br>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Length of page in points or 0.0</p>
 <h3 class="function"><a name="ppdPageSize">ppdPageSize</a></h3>
-<p class="description">Get the page size record for the given size.</p>
+<p class="description">Get the page size record for the named size.</p>
 <p class="code">
 <a href="#ppd_size_t">ppd_size_t</a> *ppdPageSize (<br>
 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#ppd_file_t">ppd_file_t</a> *ppd,<br>
@@ -1497,7 +1501,7 @@ float ppdPageLength (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Size record for page or NULL</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="ppdPageSizeLimits">ppdPageSizeLimits</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="ppdPageSizeLimits">ppdPageSizeLimits</a></h3>
 <p class="description">Return the custom page size limits.</p>
 <p class="code">
 int ppdPageSizeLimits (<br>
@@ -1540,7 +1544,7 @@ float ppdPageWidth (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Width of page in points or 0.0</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.20/Mac OS X 10.4&nbsp;</span><a name="ppdSetConformance">ppdSetConformance</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.20/OS X 10.4&nbsp;</span><a name="ppdSetConformance">ppdSetConformance</a></h3>
 <p class="description">Set the conformance level for PPD files.</p>
 <p class="code">
 void ppdSetConformance (<br>
@@ -1552,7 +1556,7 @@ void ppdSetConformance (<br>
 <dd class="description">Conformance level</dd>
 </dl>
 <h2 class="title"><a name="TYPES">Data Types</a></h2>
-<h3 class="typedef"><span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span><a name="ppd_attr_t">ppd_attr_t</a></h3>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span><a name="ppd_attr_t">ppd_attr_t</a></h3>
 <p class="description">PPD Attribute Structure </p>
 <p class="code">
 typedef struct <a href="#ppd_attr_s">ppd_attr_s</a> ppd_attr_t;
@@ -1562,7 +1566,7 @@ typedef struct <a href="#ppd_attr_s">ppd_attr_s</a> ppd_attr_t;
 <p class="code">
 typedef struct <a href="#ppd_choice_s">ppd_choice_s</a> ppd_choice_t;
 </p>
-<h3 class="typedef"><span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span><a name="ppd_conform_t">ppd_conform_t</a></h3>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span><a name="ppd_conform_t">ppd_conform_t</a></h3>
 <p class="description">Conformance Levels </p>
 <p class="code">
 typedef enum <a href="#ppd_conform_e">ppd_conform_e</a> ppd_conform_t;
@@ -1572,27 +1576,27 @@ typedef enum <a href="#ppd_conform_e">ppd_conform_e</a> ppd_conform_t;
 <p class="code">
 typedef struct <a href="#ppd_const_s">ppd_const_s</a> ppd_const_t;
 </p>
-<h3 class="typedef"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ppd_coption_t">ppd_coption_t</a></h3>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ppd_coption_t">ppd_coption_t</a></h3>
 <p class="description">Custom Option </p>
 <p class="code">
 typedef struct <a href="#ppd_coption_s">ppd_coption_s</a> ppd_coption_t;
 </p>
-<h3 class="typedef"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ppd_cparam_t">ppd_cparam_t</a></h3>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ppd_cparam_t">ppd_cparam_t</a></h3>
 <p class="description">Custom Parameter </p>
 <p class="code">
 typedef struct <a href="#ppd_cparam_s">ppd_cparam_s</a> ppd_cparam_t;
 </p>
-<h3 class="typedef"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ppd_cplimit_t">ppd_cplimit_t</a></h3>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ppd_cplimit_t">ppd_cplimit_t</a></h3>
 <p class="description">Custom Parameter Limit </p>
 <p class="code">
 typedef union <a href="#ppd_cplimit_u">ppd_cplimit_u</a> ppd_cplimit_t;
 </p>
-<h3 class="typedef"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ppd_cptype_t">ppd_cptype_t</a></h3>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ppd_cptype_t">ppd_cptype_t</a></h3>
 <p class="description">Custom Parameter Type </p>
 <p class="code">
 typedef enum ppd_cptype_e ppd_cptype_t;
 </p>
-<h3 class="typedef"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ppd_cpvalue_t">ppd_cpvalue_t</a></h3>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ppd_cpvalue_t">ppd_cpvalue_t</a></h3>
 <p class="description">Custom Parameter Value </p>
 <p class="code">
 typedef union <a href="#ppd_cpvalue_u">ppd_cpvalue_u</a> ppd_cpvalue_t;
@@ -1637,7 +1641,7 @@ typedef enum <a href="#ppd_section_e">ppd_section_e</a> ppd_section_t;
 <p class="code">
 typedef struct <a href="#ppd_size_s">ppd_size_s</a> ppd_size_t;
 </p>
-<h3 class="typedef"><span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span><a name="ppd_status_t">ppd_status_t</a></h3>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span><a name="ppd_status_t">ppd_status_t</a></h3>
 <p class="description">Status Codes </p>
 <p class="code">
 typedef enum <a href="#ppd_status_e">ppd_status_e</a> ppd_status_t;
@@ -1648,7 +1652,7 @@ typedef enum <a href="#ppd_status_e">ppd_status_e</a> ppd_status_t;
 typedef enum <a href="#ppd_ui_e">ppd_ui_e</a> ppd_ui_t;
 </p>
 <h2 class="title"><a name="STRUCTURES">Structures</a></h2>
-<h3 class="struct"><span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span><a name="ppd_attr_s">ppd_attr_s</a></h3>
+<h3 class="struct"><span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span><a name="ppd_attr_s">ppd_attr_s</a></h3>
 <p class="description">PPD Attribute Structure </p>
 <p class="code">struct ppd_attr_s {<br>
 &nbsp;&nbsp;&nbsp;&nbsp;char name[PPD_MAX_NAME];<br>
@@ -1708,7 +1712,7 @@ typedef enum <a href="#ppd_ui_e">ppd_ui_e</a> ppd_ui_t;
 <dt>option2[PPD_MAX_NAME] </dt>
 <dd class="description">Second keyword</dd>
 </dl>
-<h3 class="struct"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ppd_coption_s">ppd_coption_s</a></h3>
+<h3 class="struct"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ppd_coption_s">ppd_coption_s</a></h3>
 <p class="description">Custom Option </p>
 <p class="code">struct ppd_coption_s {<br>
 &nbsp;&nbsp;&nbsp;&nbsp;char keyword[PPD_MAX_NAME];<br>
@@ -1727,7 +1731,7 @@ typedef enum <a href="#ppd_ui_e">ppd_ui_e</a> ppd_ui_t;
 <dt>params </dt>
 <dd class="description">Parameters</dd>
 </dl>
-<h3 class="struct"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ppd_cparam_s">ppd_cparam_s</a></h3>
+<h3 class="struct"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ppd_cparam_s">ppd_cparam_s</a></h3>
 <p class="description">Custom Parameter </p>
 <p class="code">struct ppd_cparam_s {<br>
 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#ppd_cpvalue_t">ppd_cpvalue_t</a> current;<br>
@@ -1882,13 +1886,13 @@ typedef enum <a href="#ppd_ui_e">ppd_ui_e</a> ppd_ui_t;
 <dd class="description">Number of page sizes</dd>
 <dt>patches </dt>
 <dd class="description">Patch commands to be sent to printer</dd>
-<dt>pcfilename <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
+<dt>pcfilename <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
 <dd class="description">PCFileName string </dd>
 <dt>product </dt>
 <dd class="description">Product name (from PS RIP/interpreter)</dd>
 <dt>profiles <span class="info">&nbsp;DEPRECATED&nbsp;</span></dt>
 <dd class="description">sRGB color profiles </dd>
-<dt>protocols <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
+<dt>protocols <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
 <dd class="description">Protocols (BCP, TBCP) string </dd>
 <dt>shortnickname </dt>
 <dd class="description">Short version of nickname</dd>
@@ -1915,7 +1919,7 @@ typedef enum <a href="#ppd_ui_e">ppd_ui_e</a> ppd_ui_t;
 <dl>
 <dt>PPD_MAX_NAME] </dt>
 <dd class="description">Human-readable group name</dd>
-<dt>name[PPD_MAX_NAME] <span class="info">&nbsp;CUPS 1.1.18/Mac OS X 10.3&nbsp;</span></dt>
+<dt>name[PPD_MAX_NAME] <span class="info">&nbsp;CUPS 1.1.18/OS X 10.3&nbsp;</span></dt>
 <dd class="description">Group name </dd>
 <dt>num_options </dt>
 <dd class="description">Number of options</dd>
@@ -2014,7 +2018,7 @@ typedef enum <a href="#ppd_ui_e">ppd_ui_e</a> ppd_ui_t;
 <dd class="description">Width of media in points</dd>
 </dl>
 <h2 class="title"><a name="UNIONS">Unions</a></h2>
-<h3 class="union"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ppd_cplimit_u">ppd_cplimit_u</a></h3>
+<h3 class="union"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ppd_cplimit_u">ppd_cplimit_u</a></h3>
 <p class="description">Custom Parameter Limit </p>
 <p class="code">union ppd_cplimit_u {<br>
 &nbsp;&nbsp;&nbsp;&nbsp;float custom_curve;<br>
@@ -2045,7 +2049,7 @@ typedef enum <a href="#ppd_ui_e">ppd_ui_e</a> ppd_ui_t;
 <dt>custom_string </dt>
 <dd class="description">String length</dd>
 </dl>
-<h3 class="union"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ppd_cpvalue_u">ppd_cpvalue_u</a></h3>
+<h3 class="union"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ppd_cpvalue_u">ppd_cpvalue_u</a></h3>
 <p class="description">Custom Parameter Value </p>
 <p class="code">union ppd_cpvalue_u {<br>
 &nbsp;&nbsp;&nbsp;&nbsp;float custom_curve;<br>
@@ -2077,7 +2081,7 @@ typedef enum <a href="#ppd_ui_e">ppd_ui_e</a> ppd_ui_t;
 <dd class="description">String value</dd>
 </dl>
 <h2 class="title"><a name="ENUMERATIONS">Constants</a></h2>
-<h3 class="enumeration"><span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span><a name="ppd_conform_e">ppd_conform_e</a></h3>
+<h3 class="enumeration"><span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span><a name="ppd_conform_e">ppd_conform_e</a></h3>
 <p class="description">Conformance Levels </p>
 <h4 class="constants">Constants</h4>
 <dl>
@@ -2120,7 +2124,7 @@ typedef enum <a href="#ppd_ui_e">ppd_ui_e</a> ppd_ui_t;
 <dt>PPD_ORDER_PROLOG </dt>
 <dd class="description">... must be in the Prolog section</dd>
 </dl>
-<h3 class="enumeration"><span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span><a name="ppd_status_e">ppd_status_e</a></h3>
+<h3 class="enumeration"><span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span><a name="ppd_status_e">ppd_status_e</a></h3>
 <p class="description">Status Codes </p>
 <h4 class="constants">Constants</h4>
 <dl>
index cb15f61..484288e 100644 (file)
@@ -341,7 +341,7 @@ div.contents ul.subcontents li {
 <body>
 <div class='body'>
 <!--
-  "$Id: api-ppdc.html 9740 2011-05-04 06:26:22Z mike $"
+  "$Id: api-array.header 8087 2008-10-27 21:37:05Z mike $"
 
   PPD Compiler API header for CUPS.
 
@@ -414,7 +414,7 @@ div.contents ul.subcontents li {
 </ul></li>
 </ul>
 <!--
-  "$Id: api-ppdc.html 9740 2011-05-04 06:26:22Z mike $"
+  "$Id: api-array.shtml 7616 2008-05-28 00:34:13Z mike $"
 
   PPD Compiler API introduction for CUPS.
 
@@ -1016,12 +1016,15 @@ void ~ppdcDriver (void);</p>
 <p class="description">// File</p>
 <p class="code">class ppdcFile {<br>
 &nbsp;&nbsp;public:<br>
+&nbsp;&nbsp;&nbsp;&nbsp;bool close_on_delete;<br>
 &nbsp;&nbsp;&nbsp;&nbsp;const char *filename;<br>
 &nbsp;&nbsp;&nbsp;&nbsp;cups_file_t *fp;<br>
 &nbsp;&nbsp;&nbsp;&nbsp;int line;<br>
 };</p>
 <h4 class="members">Members</h4>
 <dl>
+<dt>close_on_delete </dt>
+<dd class="description">Close file on delete?</dd>
 <dt>filename </dt>
 <dd class="description">Filename</dd>
 <dt>fp </dt>
index f193d07..f2dade4 100644 (file)
@@ -341,7 +341,7 @@ div.contents ul.subcontents li {
 <body>
 <div class='body'>
 <!--
-  "$Id: api-raster.html 9772 2011-05-12 05:46:30Z mike $"
+  "$Id$"
 
   Raster API documentation for CUPS.
 
@@ -434,11 +434,11 @@ page header structure.">cupsRasterWriteHeader2</a></li>
 </ul></li>
 </ul>
 <!--
-  "$Id: api-raster.html 9772 2011-05-12 05:46:30Z mike $"
+  "$Id$"
 
   Raster API introduction for CUPS.
 
-  Copyright 2007-2011 by Apple Inc.
+  Copyright 2007-2013 by Apple Inc.
   Copyright 1997-2006 by Easy Software Products, all rights reserved.
 
   These coded instructions, statements, and computer programs are the
@@ -457,7 +457,7 @@ avoid incompatibilities with newer versions of CUPS.</p>
 
 <p>Two kinds of CUPS filters use the CUPS raster API - raster image processor
 (RIP) filters such as <code>pstoraster</code> and <code>cgpdftoraster</code>
-(Mac OS X) that produce CUPS raster files and printer driver filters that
+(OS X) that produce CUPS raster files and printer driver filters that
 convert CUPS raster files into a format usable by the printer. Printer
 driver filters are by far the most common.</p>
 
@@ -577,7 +577,7 @@ the memory used to read the raster file:</p>
 
 <ul class="code">
 
-       <li><a href="#cupsRasterReadHeader" title="Read a raster page header and store it in a version 1 page header structure.">cupsRasterReadHeader</a> <span class="info">Deprecated in CUPS 1.2/Mac OS X 10.5</span></li>
+       <li><a href="#cupsRasterReadHeader" title="Read a raster page header and store it in a version 1 page header structure.">cupsRasterReadHeader</a> <span class="info">Deprecated in CUPS 1.2/OS X 10.5</span></li>
        <li><a href="#cupsRasterReadHeader2" title="Read a raster page header and store it in a version 2 page header structure.">cupsRasterReadHeader2</a></li>
        <li><a href="#cupsRasterReadPixels" title="Read raster pixels.">cupsRasterReadPixels</a></li>
 
@@ -588,10 +588,10 @@ the memory used to read the raster file:</p>
 <ul class="code">
 
        <li><a href="#cupsRasterInterpretPPD" title="Interpret PPD commands to create a page header.">cupsRasterInterpretPPD</a></li>
-       <li><a href="#cupsRasterWriteHeader" title="Write a raster page header from a version 1 page header structure.">cupsRasterWriteHeader</a> <span class="info">Deprecated in CUPS 1.2/Mac OS X 10.5</span></li>
+       <li><a href="#cupsRasterWriteHeader" title="Write a raster page header from a version 1 page header structure.">cupsRasterWriteHeader</a> <span class="info">Deprecated in CUPS 1.2/OS X 10.5</span></li>
        <li><a href="#cupsRasterWriteHeader2" title="Write a raster page header from a version 2 page header structure.">cupsRasterWriteHeader2</a></li>
        <li><a href="#cupsRasterWritePixels" title="Write raster pixels.">cupsRasterWritePixels</a></li>
-       
+
 </ul>
 <h2 class="title"><a name="FUNCTIONS">Functions</a></h2>
 <h3 class="function"><a name="cupsRasterClose">cupsRasterClose</a></h3>
@@ -608,7 +608,7 @@ void cupsRasterClose (<br>
 <h4 class="discussion">Discussion</h4>
 <p class="discussion">The file descriptor associated with the raster stream must be closed
 separately as needed.</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsRasterInterpretPPD">cupsRasterInterpretPPD</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsRasterInterpretPPD">cupsRasterInterpretPPD</a></h3>
 <p class="description">Interpret PPD commands to create a page header.</p>
 <p class="code">
 int cupsRasterInterpretPPD (<br>
@@ -653,7 +653,7 @@ requested attributes cannot be supported.<br>
 <br>
 
 <code>cupsRasterInterpretPPD</code> supports a subset of the PostScript language.
-Currently only the <code>[</code>, <code>]</code>, <code><<</code>, <code>>></code>, <code>{</code>,
+Currently only the <code>[</code>, <code>]</code>, <code>&lt;&lt;</code>, <code>&gt;&gt;</code>, <code>{</code>,
 <code>}</code>, <code>cleartomark</code>, <code>copy</code>, <code>dup</code>, <code>index</code>,
 <code>pop</code>, <code>roll</code>, <code>setpagedevice</code>, and <code>stopped</code> operators
 are supported.
@@ -743,7 +743,7 @@ of the version 2 page header data. This function handles reading version 2
 page headers and copying only the version 1 data into the provided buffer.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsRasterReadHeader2">cupsRasterReadHeader2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsRasterReadHeader2">cupsRasterReadHeader2</a></h3>
 <p class="description">Read a raster page header and store it in a
 version 2 page header structure.</p>
 <p class="code">
@@ -804,7 +804,7 @@ unsigned cupsRasterWriteHeader (<br>
 <p class="discussion">This function is deprecated. Use <a href="#cupsRasterWriteHeader2"><code>cupsRasterWriteHeader2</code></a> instead.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsRasterWriteHeader2">cupsRasterWriteHeader2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsRasterWriteHeader2">cupsRasterWriteHeader2</a></h3>
 <p class="description">Write a raster page header from a version 2
 page header structure.</p>
 <p class="code">
@@ -899,7 +899,7 @@ typedef enum <a href="#cups_order_e">cups_order_e</a> cups_order_t;
 <p class="code">
 typedef enum <a href="#cups_orient_e">cups_orient_e</a> cups_orient_t;
 </p>
-<h3 class="typedef"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cups_page_header2_t">cups_page_header2_t</a></h3>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cups_page_header2_t">cups_page_header2_t</a></h3>
 <p class="description">Version 2 page header </p>
 <p class="code">
 typedef struct <a href="#cups_page_header2_s">cups_page_header2_s</a> cups_page_header2_t;
@@ -920,7 +920,7 @@ typedef ssize_t (*cups_raster_iocb_t)(void *ctx, unsigned char *buffer, size_t l
 typedef struct _cups_raster_s cups_raster_t;
 </p>
 <h2 class="title"><a name="STRUCTURES">Structures</a></h2>
-<h3 class="struct"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cups_page_header2_s">cups_page_header2_s</a></h3>
+<h3 class="struct"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cups_page_header2_s">cups_page_header2_s</a></h3>
 <p class="description">Version 2 page header </p>
 <p class="code">struct cups_page_header2_s {<br>
 &nbsp;&nbsp;&nbsp;&nbsp;unsigned AdvanceDistance;<br>
@@ -1033,7 +1033,7 @@ typedef struct _cups_raster_s cups_raster_t;
 <dd class="description">Number of bits for each color</dd>
 <dt>cupsBitsPerPixel </dt>
 <dd class="description">Number of bits for each pixel</dd>
-<dt>cupsBorderlessScalingFactor <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
+<dt>cupsBorderlessScalingFactor <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
 <dd class="description">Scaling that was applied to page data </dd>
 <dt>cupsBytesPerLine </dt>
 <dd class="description">Number of bytes per line</dd>
@@ -1045,26 +1045,26 @@ typedef struct _cups_raster_s cups_raster_t;
 <dd class="description">Device compression to use</dd>
 <dt>cupsHeight </dt>
 <dd class="description">Height of page image in pixels</dd>
-<dt>cupsImagingBBox[4] <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
+<dt>cupsImagingBBox[4] <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
 <dd class="description">Floating point ImagingBoundingBox
 (scaling factor not applied, left,
 bottom, right, top) </dd>
-<dt>cupsInteger[16] <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
+<dt>cupsInteger[16] <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
 <dd class="description">User-defined integer values </dd>
-<dt>cupsMarkerType[64] <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
+<dt>cupsMarkerType[64] <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
 <dd class="description">Ink/toner type </dd>
 <dt>cupsMediaType </dt>
 <dd class="description">Media type code</dd>
-<dt>cupsNumColors <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
+<dt>cupsNumColors <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
 <dd class="description">Number of color compoents </dd>
-<dt>cupsPageSizeName[64] <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
+<dt>cupsPageSizeName[64] <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
 <dd class="description">PageSize name </dd>
-<dt>cupsPageSize[2] <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
+<dt>cupsPageSize[2] <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
 <dd class="description">Floating point PageSize (scaling *
 factor not applied) </dd>
-<dt>cupsReal[16] <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
+<dt>cupsReal[16] <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
 <dd class="description">User-defined floating-point values </dd>
-<dt>cupsRenderingIntent[64] <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
+<dt>cupsRenderingIntent[64] <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
 <dd class="description">Color rendering intent </dd>
 <dt>cupsRowCount </dt>
 <dd class="description">Rows per band</dd>
@@ -1072,7 +1072,7 @@ factor not applied) </dd>
 <dd class="description">Feed between bands</dd>
 <dt>cupsRowStep </dt>
 <dd class="description">Spacing between lines</dd>
-<dt>cupsString[16][64] <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
+<dt>cupsString[16][64] <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
 <dd class="description">User-defined string values </dd>
 <dt>cupsWidth </dt>
 <dd class="description">Width of page image in pixels</dd>
@@ -1232,9 +1232,9 @@ factor not applied) </dd>
 <dl>
 <dt>CUPS_CSPACE_ADOBERGB <span class="info">&nbsp;CUPS 1.4.5&nbsp;</span></dt>
 <dd class="description">Red, green, blue (Adobe RGB) </dd>
-<dt>CUPS_CSPACE_CIELab <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
+<dt>CUPS_CSPACE_CIELab <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
 <dd class="description">CIE Lab </dd>
-<dt>CUPS_CSPACE_CIEXYZ <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
+<dt>CUPS_CSPACE_CIEXYZ <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
 <dd class="description">CIE XYZ </dd>
 <dt>CUPS_CSPACE_CMY </dt>
 <dd class="description">Cyan, magenta, yellow (DeviceCMY)</dd>
@@ -1276,35 +1276,35 @@ factor not applied) </dd>
 <dd class="description">Gold, magenta, yellow, silver </dd>
 <dt>CUPS_CSPACE_GOLD <span class="info">&nbsp;DEPRECATED&nbsp;</span></dt>
 <dd class="description">Gold foil </dd>
-<dt>CUPS_CSPACE_ICC1 <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
+<dt>CUPS_CSPACE_ICC1 <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
 <dd class="description">ICC-based, 1 color </dd>
-<dt>CUPS_CSPACE_ICC2 <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
+<dt>CUPS_CSPACE_ICC2 <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
 <dd class="description">ICC-based, 2 colors </dd>
-<dt>CUPS_CSPACE_ICC3 <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
+<dt>CUPS_CSPACE_ICC3 <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
 <dd class="description">ICC-based, 3 colors </dd>
-<dt>CUPS_CSPACE_ICC4 <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
+<dt>CUPS_CSPACE_ICC4 <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
 <dd class="description">ICC-based, 4 colors </dd>
-<dt>CUPS_CSPACE_ICC5 <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
+<dt>CUPS_CSPACE_ICC5 <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
 <dd class="description">ICC-based, 5 colors </dd>
-<dt>CUPS_CSPACE_ICC6 <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
+<dt>CUPS_CSPACE_ICC6 <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
 <dd class="description">ICC-based, 6 colors </dd>
-<dt>CUPS_CSPACE_ICC7 <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
+<dt>CUPS_CSPACE_ICC7 <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
 <dd class="description">ICC-based, 7 colors </dd>
-<dt>CUPS_CSPACE_ICC8 <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
+<dt>CUPS_CSPACE_ICC8 <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
 <dd class="description">ICC-based, 8 colors </dd>
-<dt>CUPS_CSPACE_ICC9 <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
+<dt>CUPS_CSPACE_ICC9 <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
 <dd class="description">ICC-based, 9 colors </dd>
-<dt>CUPS_CSPACE_ICCA <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
+<dt>CUPS_CSPACE_ICCA <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
 <dd class="description">ICC-based, 10 colors </dd>
-<dt>CUPS_CSPACE_ICCB <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
+<dt>CUPS_CSPACE_ICCB <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
 <dd class="description">ICC-based, 11 colors </dd>
-<dt>CUPS_CSPACE_ICCC <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
+<dt>CUPS_CSPACE_ICCC <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
 <dd class="description">ICC-based, 12 colors </dd>
-<dt>CUPS_CSPACE_ICCD <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
+<dt>CUPS_CSPACE_ICCD <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
 <dd class="description">ICC-based, 13 colors </dd>
-<dt>CUPS_CSPACE_ICCE <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
+<dt>CUPS_CSPACE_ICCE <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
 <dd class="description">ICC-based, 14 colors </dd>
-<dt>CUPS_CSPACE_ICCF <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
+<dt>CUPS_CSPACE_ICCF <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
 <dd class="description">ICC-based, 15 colors </dd>
 <dt>CUPS_CSPACE_K </dt>
 <dd class="description">Black (DeviceK)</dd>
@@ -1316,7 +1316,7 @@ factor not applied) </dd>
 <dd class="description">Red, green, blue (DeviceRGB, sRGB by default)</dd>
 <dt>CUPS_CSPACE_RGBA </dt>
 <dd class="description">Red, green, blue, alpha (DeviceRGB, sRGB by default)</dd>
-<dt>CUPS_CSPACE_RGBW <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
+<dt>CUPS_CSPACE_RGBW <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
 <dd class="description">Red, green, blue, white (DeviceRGB, sRGB by default) </dd>
 <dt>CUPS_CSPACE_SILVER <span class="info">&nbsp;DEPRECATED&nbsp;</span></dt>
 <dd class="description">Silver foil </dd>
@@ -1382,9 +1382,9 @@ factor not applied) </dd>
 <dd class="description">Open stream for reading</dd>
 <dt>CUPS_RASTER_WRITE </dt>
 <dd class="description">Open stream for writing</dd>
-<dt>CUPS_RASTER_WRITE_COMPRESSED <span class="info">&nbsp;CUPS 1.3/Mac OS X 10.5&nbsp;</span></dt>
+<dt>CUPS_RASTER_WRITE_COMPRESSED <span class="info">&nbsp;CUPS 1.3/OS X 10.5&nbsp;</span></dt>
 <dd class="description">Open stream for compressed writing </dd>
-<dt>CUPS_RASTER_WRITE_PWG <span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span></dt>
+<dt>CUPS_RASTER_WRITE_PWG <span class="info">&nbsp;CUPS 1.5/OS X 10.7&nbsp;</span></dt>
 <dd class="description">Open stream for compressed writing in PWG mode </dd>
 </dl>
 <h3 class="enumeration"><a name="cups_order_e">cups_order_e</a></h3>
index cb8b88c..30fb533 100644 (file)
@@ -46,7 +46,7 @@ DNS server(s).</li>
        <LI><A HREF="http://web.mit.edu/kerberos/">Kerberos: The Network Authentication Protocol</A></LI>
 
        <LI><A HREF="http://web.mit.edu/macdev/KfM/Common/Documentation/faq-osx.html">Kerberos
-       on Mac OS X Frequently Asked Questions</A></LI>
+       on OS X Frequently Asked Questions</A></LI>
 
 </UL>
 
index 2b7c246..9bbc729 100644 (file)
@@ -8,7 +8,7 @@
 
 <H1 CLASS="title">Software License Agreement</H1>
 
-<P ALIGN="CENTER">Copyright 2007-2011 by Apple Inc.<BR>
+<P ALIGN="CENTER">Copyright 2007-2012 by Apple Inc.<BR>
 1 Infinite Loop<BR>
 Cupertino, CA 95014 USA<BR>
 <BR>
@@ -91,11 +91,10 @@ the following special exceptions:</P>
 
                <LI>An Apple Operating System means any
                operating system software developed and/or
-               marketed by Apple Computer, Inc., including but
-               not limited to all existing releases and
-               versions of Apple's Darwin, Mac OS X, and Mac OS
-               X Server products and all follow-on releases and
-               future versions thereof.</LI>
+               marketed by Apple Inc., including but not limited
+               to all existing releases and versions of Apple's
+               Darwin, OS X, and OS X Server products and all
+               follow-on releases and future versions thereof.</LI>
 
                <LI>This exception is only available for Apple
                OS-Developed Software and does not apply to
diff --git a/doc/help/man-ipptool.html b/doc/help/man-ipptool.html
new file mode 100644 (file)
index 0000000..189613a
--- /dev/null
@@ -0,0 +1,157 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- SECTION: Man Pages -->
+<head>
+       <link rel="stylesheet" type="text/css" href="../cups-printable.css">
+       <title>ipptool(1)</title>
+</head>
+<body>
+<h1 class="title">ipptool(1)</h1>
+<h2 class="title"><a name="NAME">Name</a></h2>
+ipptool - perform internet printing protocol requests
+<h2 class="title"><a name="SYNOPSIS">Synopsis</a></h2>
+<b>ipptool
+</b>[ -4 ] [ -6 ] [ -C ] [ -E ] [ -I ] [ -L ] [ -S ] [ -T
+<i>seconds
+</i>] [ -V
+<i>version
+</i>] [ -X ] [ -c ] [ -d
+<i>name=value
+</i>] [ -f
+<i>filename
+</i>] [ -i
+<i>seconds
+</i>] [ -n
+<i>repeat-count
+</i>] [ -q ] [ -t ] [ -v ]
+<i>URI
+</i><i>filename
+</i>[
+<i>... filenameN
+</i>]
+<h2 class="title"><a name="DESCRIPTION">Description</a></h2>
+<i>ipptool</i> sends IPP requests to the specified URI and tests and/or displays the results. Each named file defines one or more requests, including the expected response status, attributes, and values. Output is either a plain text, formatted text, CSV, or XML report on the standard output, with a non-zero exit status indicating that one or more tests have failed. The file format is described in <a href='man-ipptoolfile.html?TOPIC=Man+Pages'>ipptoolfile(5)</a>.
+<h2 class="title"><a name="OPTIONS">Options</a></h2>
+The following options are recognized by <i>ipptool</i>:
+<dl>
+<dt>-4
+</dt>
+<dd>Specifies that <i>ipptool</i> must connect to the printer or server using IPv4.
+</dd>
+<dt>-6
+</dt>
+<dd>Specifies that <i>ipptool</i> must connect to the printer or server using IPv6.
+</dd>
+<dt>-C
+</dt>
+<dd>Specifies that requests should be sent using the HTTP/1.1 "Transfer-Encoding: chunked" header, which is required for conformance by all versions of IPP. The default is to use "Transfer-Encoding: chunked" for requests with attached files and "Content-Length:" for requests without attached files.
+</dd>
+<dt>-E
+</dt>
+<dd>Forces TLS encryption when connecting to the server using the HTTP "Upgrade" header.
+</dd>
+<dt>-I
+</dt>
+<dd>Specifies that <i>ipptool</i> will continue past errors.
+</dd>
+<dt>-L
+</dt>
+<dd>Specifies that requests should be sent using the HTTP/1.0 "Content-Length:" header, which is required for conformance by all versions of IPP. The default is to use "Transfer-Encoding: chunked" for requests with attached files and "Content-Length:" for requests without attached files.
+</dd>
+<dt>-S
+</dt>
+<dd>Forces (dedicated) SSL encryption when connecting to the server.
+</dd>
+<dt>-T seconds
+</dt>
+<dd>Specifies a timeout for IPP requests in seconds.
+</dd>
+<dt>-V version
+</dt>
+<dd>Specifies the default IPP version to use: 1.0, 1.1, 2.0, 2.1, or 2.2. If not specified, version 1.1 is used.
+</dd>
+<dt>-X
+</dt>
+<dd>Specifies that XML (Apple plist) output is desired instead of the plain text report. This option is incompatible with the <i>-i</i> (interval) and <i>-n</i> (repeat-count) options.
+</dd>
+<dt>-c
+</dt>
+<dd>Specifies that CSV (comma-separated values) output is desired instead of the plain text output.
+</dd>
+<dt>-d name=value
+</dt>
+<dd>Defines the named variable.
+</dd>
+<dt>-f filename
+</dt>
+<dd>Defines the default request filename for tests.
+</dd>
+<dt>-i seconds
+</dt>
+<dd>Specifies that the (last) file should be repeated at the specified interval. This option is incompatible with the <i>-X</i> (XML plist output) option.
+</dd>
+<dt>-l
+</dt>
+<dd>Specifies that plain text output is desired.
+</dd>
+<dt>-n repeat-count
+</dt>
+<dd>Specifies that the (last) file should be repeated the specified number of times. This option is incompatible with the <i>-X</i> (XML plist output) option.
+</dd>
+<dt>-t
+</dt>
+<dd>Specifies that CUPS test report output is desired instead of the plain text output.
+</dd>
+<dt>-v
+</dt>
+<dd>Specifies that all request and response attributes should be output in CUPS test mode (<i>-t</i>). This is the default for XML output.
+</dd>
+</dl>
+<h2 class="title"><a name="COMPATIBILITY">Compatibility</a></h2>
+The <i>ipptool</i> program is unique to CUPS.
+<h2 class="title"><a name="EXAMPLES">Examples</a></h2>
+Get a list of completed jobs for "myprinter":
+<pre>
+    ipptool ipp://localhost/printers/myprinter get-completed-jobs.test
+</pre>
+<p>Send email notifications to "user@example.com" when "myprinter" changes:
+<pre>
+    ipptool -d recipient=mailto:user@example.com 
+        ipp://localhost/printers/myprinter create-printer-subscription.test
+</pre>
+<h2 class="title"><a name="STANDARD_FILES">Standard Files</a></h2>
+The following standard files are available:
+<pre>
+    color.jpg
+    create-printer-subscription.test
+    document-a4.pdf
+    document-a4.ps
+    document-letter.pdf
+    document-letter.ps
+    get-completed-jobs.test
+    get-jobs.test
+    get-printer-attributes.test
+    gray.jpg
+    ipp-1.1.test
+    ipp-2.0.test
+    ipp-2.1.test
+    ipp-2.2.test
+    onepage-a4.pdf
+    onepage-a4.ps
+    onepage-letter.pdf
+    onepage-letter.ps
+    print-job.test
+    testfile.jpg
+    testfile.pdf
+    testfile.ps
+    testfile.txt
+</pre>
+<h2 class="title"><a name="SEE_ALSO">See Also</a></h2>
+<a href='man-ipptoolfile.html?TOPIC=Man+Pages'>ipptoolfile(5)</a>,
+<br>
+<a href='http://localhost:631/help'>http://localhost:631/help</a>
+<h2 class="title"><a name="COPYRIGHT">Copyright</a></h2>
+Copyright 2007-2013 by Apple Inc.
+
+</body>
+</html>
diff --git a/doc/help/man-ipptoolfile.html b/doc/help/man-ipptoolfile.html
new file mode 100644 (file)
index 0000000..8c75389
--- /dev/null
@@ -0,0 +1,676 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- SECTION: Man Pages -->
+<head>
+       <link rel="stylesheet" type="text/css" href="../cups-printable.css">
+       <title>ipptoolfile(5)</title>
+</head>
+<body>
+<h1 class="title">ipptoolfile(5)</h1>
+<h2 class="title"><a name="NAME">Name</a></h2>
+ipptoolfile - ipptool file format
+
+<h2 class="title"><a name="DESCRIPTION">Description</a></h2>
+The <a href='man-ipptool.html?TOPIC=Man+Pages'>ipptool(1)</a> program accepts free-form plain text files that describe one or more IPP requests. Comments start with the "#" character and continue to the end of the line. Each request is enclosed by curly braces, for example:
+<pre>
+
+    # This is a comment
+    {
+      # The name of the test
+      NAME "Print PostScript Job"
+
+      # The request to send
+      OPERATION Print-Job
+      GROUP operation-attributes-tag
+      ATTR charset attributes-charset utf-8
+      ATTR language attributes-natural-language en
+      ATTR uri printer-uri $uri
+      ATTR name requesting-user-name $user
+      FILE testfile.ps
+
+      # The response to expect
+      STATUS successful-ok
+      EXPECT attributes-charset OF-TYPE charset
+      EXPECT attributes-natural-language OF-TYPE naturalLanguage
+      EXPECT job-id OF-TYPE integer
+      EXPECT job-uri OF-TYPE uri
+    }
+    {
+      # The name of the test
+      NAME "Get Attributes of PostScript Job"
+
+      # The request to send
+      OPERATION Get-Job-Attributes
+      GROUP operation-attributes-tag
+      ATTR charset attributes-charset utf-8
+      ATTR language attributes-natural-language en
+      ATTR uri printer-uri $uri
+      ATTR integer job-id $job-id
+      ATTR name requesting-user-name $user
+
+      # The response to expect
+      STATUS successful-ok
+      EXPECT attributes-charset OF-TYPE charset
+      EXPECT attributes-natural-language OF-TYPE naturalLanguage
+      EXPECT job-id OF-TYPE integer
+      EXPECT job-uri OF-TYPE uri
+      EXPECT job-state OF-TYPE enum
+      EXPECT job-originating-user-name OF-TYPE name WITH-VALUE "$user"
+    }
+</pre>
+
+<h2 class="title"><a name="TOP-LEVEL_DIRECTIVES">Top-level Directives</a></h2>
+The following directives can be used outside of a test:
+<dl>
+<dt>{ test }
+</dt>
+<dd>Defines a test.
+</dd>
+<dt>DEFINE variable-name value
+</dt>
+<dd>Defines the named variable to the given value. This is equivalent to specifying
+"-d variable-name=value" on the <i>ipptool</i> command-line.
+</dd>
+<dt>DEFINE-DEFAULT variable-name value
+</dt>
+<dd>Defines the named variable to the given value if it does not already have a
+value.
+</dd>
+<dt>IGNORE-ERRORS yes
+</dt>
+<dd></dd>
+<dt>IGNORE-ERRORS no
+</dt>
+<dd>Specifies whether, by default, <i>ipptool</i> will ignore errors and continue with
+subsequent tests.
+</dd>
+<dt>INCLUDE "filename"
+</dt>
+<dd></dd>
+<dt>INCLUDE &lt;filename>
+</dt>
+<dd>Includes another test file. The first form includes a file relative to the
+current test file, while the second form includes a file from the <i>ipptool</i>
+include directory.
+</dd>
+<dt>INCLUDE-IF-DEFINED name "filename"
+</dt>
+<dd></dd>
+<dt>INCLUDE-IF-DEFINED name &lt;filename>
+</dt>
+<dd>Includes another test file if the named variable is defined. The first form
+includes a file relative to the current test file, while the second form
+includes a file from the <i>ipptool</i> include directory.
+</dd>
+<dt>INCLUDE-IF-NOT-DEFINED name "filename"
+</dt>
+<dd></dd>
+<dt>INCLUDE-IF-NOT-DEFINED name &lt;filename>
+</dt>
+<dd>Includes another test file if the named variable is not defined. The first form
+includes a file relative to the current test file, while the second form
+includes a file from the <i>ipptool</i> include directory.
+</dd>
+<dt>SKIP-IF-DEFINED variable-name
+</dt>
+<dd></dd>
+<dt>SKIP-IF-NOT-DEFINED variable-name
+</dt>
+<dd>Specifies that the remainder of the test file should be skipped when the
+variable is or is not defined.
+</dd>
+<dt>TRANSFER auto
+</dt>
+<dd>Specifies that tests will, by default, use "Transfer-Encoding: chunked" for
+requests with attached files and "Content-Length:" for requests without attached
+files.
+</dd>
+<dt>TRANSFER chunked
+</dt>
+<dd>Specifies that tests will, by default, use the HTTP/1.1 "Transfer-Encoding:
+chunked" header. This is the default and is equivalent to specifying "-c" on the
+<i>ipptool</i> command-line. Support for chunked requests is required for
+conformance with all versions of IPP.
+</dd>
+<dt>TRANSFER length
+</dt>
+<dd>Specifies that tests will, by default, use the HTTP/1.0 "Content-Length:"
+header. This is equivalent to specifying "-l" on the <i>ipptool</i> command-line.
+Support for content length requests is required for conformance with all
+versions of IPP.
+</dd>
+<dt>VERSION 1.0
+</dt>
+<dd></dd>
+<dt>VERSION 1.1
+</dt>
+<dd></dd>
+<dt>VERSION 2.0
+</dt>
+<dd></dd>
+<dt>VERSION 2.1
+</dt>
+<dd></dd>
+<dt>VERSION 2.2
+</dt>
+<dd>Specifies the default IPP version number to use for the tests that follow.
+
+</dd>
+</dl>
+<h2 class="title"><a name="TEST_DIRECTIVES">Test Directives</a></h2>
+The following directives are understood in a test:
+<dl>
+<dt>ATTR tag attribute-name value(s)
+</dt>
+<dd>Adds an attribute to the test request. Values are separated by the comma (",")
+character - escape commas using the "" character.
+</dd>
+<dt>ATTR collection attribute-name { MEMBER tag member-name value(s) ... } [ ... { ... } ]
+</dt>
+<dd>Adds a collection attribute to the test request. Member attributes follow the
+same syntax as regular attributes and can themselves be nested collections.
+Multiple collection values can be supplied as needed.
+</dd>
+<dt>DELAY seconds
+</dt>
+<dd>Specifies a delay before this test will be run.
+</dd>
+<dt>DISPLAY attribute-name
+</dt>
+<dd>Specifies that value of the named attribute should be output as part of the
+test report.
+</dd>
+<dt>EXPECT attribute-name [ predicate(s) ]
+</dt>
+<dd></dd>
+<dt>EXPECT ?attribute-name predicate(s)
+</dt>
+<dd></dd>
+<dt>EXPECT !attribute-name
+</dt>
+<dd>Specifies that the response must/may/must not include the named attribute.
+Additional requirements can be added as predicates - see the "EXPECT PREDICATES"
+section for more information on predicates.
+</dd>
+<dt>FILE filename
+</dt>
+<dd>Specifies a file to include at the end of the request. This is typically used
+when sending a test print file.
+</dd>
+<dt>GROUP tag
+</dt>
+<dd>Specifies the group tag for subsequent attributes in the request.
+</dd>
+<dt>IGNORE-ERRORS yes
+</dt>
+<dd></dd>
+<dt>IGNORE-ERRORS no
+</dt>
+<dd>Specifies whether <i>ipptool</i> will ignore errors and continue with subsequent
+tests.
+</dd>
+<dt>NAME "literal string"
+</dt>
+<dd>Specifies the human-readable name of the test.
+</dd>
+<dt>OPERATION operation-code
+</dt>
+<dd>Specifies the operation to be performed.
+</dd>
+<dt>REQUEST-ID number
+</dt>
+<dd></dd>
+<dt>REQUEST-ID random
+</dt>
+<dd>Specifies the request-id value to use in the request, either an integer or the
+word "random" to use a randomly generated value (the default).
+</dd>
+<dt>RESOURCE path
+</dt>
+<dd>Specifies an alternate resource path that is used for the HTTP POST request.
+The default is the resource from the URI provided to the <i>ipptool</i> program.
+</dd>
+<dt>SKIP-IF-DEFINED variable-name
+</dt>
+<dd></dd>
+<dt>SKIP-IF-NOT-DEFINED variable-name
+</dt>
+<dd>Specifies that the current test should be skipped when the variable is or is not
+defined.
+</dd>
+<dt>SKIP-PREVIOUS-ERROR yes
+</dt>
+<dd></dd>
+<dt>SKIP-PREVIOUS-ERROR no
+</dt>
+<dd>Specifies whether <i>ipptool</i> will skip the current test if the previous test
+resulted in an error/failure.
+</dd>
+<dt>STATUS status-code [ predicate ]
+</dt>
+<dd>Specifies an expected response status-code value. Additional requirements can be
+added as predicates - see the "STATUS PREDICATES" section for more information
+on predicates.
+</dd>
+<dt>TRANSFER auto
+</dt>
+<dd>Specifies that this test will use "Transfer-Encoding: chunked" if it has an
+attached file or "Content-Length:" otherwise.
+</dd>
+<dt>TRANSFER chunked
+</dt>
+<dd>Specifies that this test will use the HTTP/1.1 "Transfer-Encoding: chunked"
+header.
+</dd>
+<dt>TRANSFER length
+</dt>
+<dd>Specifies that this test will use the HTTP/1.0 "Content-Length:" header.
+</dd>
+<dt>VERSION 1.0
+</dt>
+<dd></dd>
+<dt>VERSION 1.1
+</dt>
+<dd></dd>
+<dt>VERSION 2.0
+</dt>
+<dd></dd>
+<dt>VERSION 2.1
+</dt>
+<dd></dd>
+<dt>VERSION 2.2
+</dt>
+<dd>Specifies the IPP version number to use for this test.
+
+</dd>
+</dl>
+<h2 class="title"><a name="EXPECT_PREDICATES">Expect Predicates</a></h2>
+The following predicates are understood following the EXPECT test directive:
+<dl>
+<dt>COUNT number
+</dt>
+<dd>Requires the EXPECT attribute to have the specified number of values.
+</dd>
+<dt>DEFINE-MATCH variable-name
+</dt>
+<dd>Defines the variable to "1" when the EXPECT condition matches. A side-effect of
+this predicate is that this EXPECT will never fail a test.
+</dd>
+<dt>DEFINE-NO-MATCH variable-name
+</dt>
+<dd>Defines the variable to "1" when the EXPECT condition does not match. A side-
+effect of this predicate is that this EXPECT will never fail a test.
+</dd>
+<dt>DEFINE-VALUE variable-name
+</dt>
+<dd>Defines the variable to the value of the attribute when the EXPECT condition
+matches. A side-effect of this predicate is that this EXPECT will never fail a test.
+</dd>
+<dt>IF-DEFINED variable-name
+</dt>
+<dd>Makes the EXPECT conditions apply only if the specified variable is defined.
+</dd>
+<dt>IF-NOT-DEFINED variable-name
+</dt>
+<dd>Makes the EXPECT conditions apply only if the specified variable is not
+defined.
+</dd>
+<dt>IN-GROUP tag
+</dt>
+<dd>Requires the EXPECT attribute to be in the specified group tag.
+</dd>
+<dt>OF-TYPE tag[,tag,...]
+</dt>
+<dd>Requires the EXPECT attribute to use the specified value tag(s).
+</dd>
+<dt>REPEAT-LIMIT number
+</dt>
+<dd></dd>
+<dd>Specifies the maximum number of times to repeat. The default value is 1000.
+</dd>
+<dt>REPEAT-MATCH
+</dt>
+<dd></dd>
+<dt>REPEAT-NO-MATCH
+</dt>
+<dd>Specifies that the current test should be repeated when the EXPECT condition
+matches or does not match.
+</dd>
+<dt>SAME-COUNT-AS attribute-name
+</dt>
+<dd>Requires the EXPECT attribute to have the same number of values as the specified
+parallel attribute.
+</dd>
+<dt>WITH-ALL-VALUES "literal string"
+</dt>
+<dd>Requires that all values of the EXPECT attribute match the literal string. Comparisons are case-sensitive.
+</dd>
+<dt>WITH-ALL-VALUES &lt;number
+</dt>
+<dd></dd>
+<dt>WITH-ALL-VALUES =number
+</dt>
+<dd></dd>
+<dt>WITH-ALL-VALUES >number
+</dt>
+<dd></dd>
+<dt>WITH-ALL-VALUES number[,number,...]
+</dt>
+<dd>Requires that all values of the EXPECT attribute match the number(s) or numeric comparison. When comparing rangeOfInteger values, the "&lt;" and ">" operators only check the upper bound of the range.
+</dd>
+<dt>WITH-ALL-VALUES "false"
+</dt>
+<dd></dd>
+<dt>WITH-ALL-VALUES "true"
+</dt>
+<dd>Requires that all values of the EXPECT attribute match the boolean value given.
+</dd>
+<dt>WITH-ALL-VALUES "/regular expression/"
+</dt>
+<dd>Requires that all values of the EXPECT attribute match the regular expression, which must conform to the POSIX regular expression syntax. Comparisons are case-sensitive.
+</dd>
+<dt>WITH-VALUE "literal string"
+</dt>
+<dd>Requires that at least one value of the EXPECT attribute matches the literal string. Comparisons are case-sensitive.
+</dd>
+<dt>WITH-VALUE &lt;number
+</dt>
+<dd></dd>
+<dt>WITH-VALUE =number
+</dt>
+<dd></dd>
+<dt>WITH-VALUE >number
+</dt>
+<dd></dd>
+<dt>WITH-VALUE number[,number,...]
+</dt>
+<dd>Requires that at least one value of the EXPECT attribute matches the number(s) or numeric comparison. When comparing rangeOfInteger values, the "&lt;" and ">" operators only check the upper bound of the range.
+</dd>
+<dt>WITH-VALUE "false"
+</dt>
+<dd></dd>
+<dt>WITH-VALUE "true"
+</dt>
+<dd>Requires that at least one value of the EXPECT attribute matches the boolean value given.
+</dd>
+<dt>WITH-VALUE "/regular expression/"
+</dt>
+<dd>Requires that at least one value of the EXPECT attribute matches the regular expression, which must conform to the POSIX regular expression syntax. Comparisons are case-sensitive.
+
+</dd>
+</dl>
+<h2 class="title"><a name="STATUS_PREDICATES">Status Predicates</a></h2>
+The following predicates are understood following the STATUS test directive:
+<dl>
+<dt>DEFINE-MATCH variable-name
+</dt>
+<dd>Defines the variable to "1" when the STATUS matches. A side-effect of this predicate is that this STATUS will never fail a test.
+</dd>
+<dt>DEFINE-NO-MATCH variable-name
+</dt>
+<dd>Defines the variable to "1" when the STATUS does not match. A side-effect of this predicate is that this STATUS will never fail a test.
+</dd>
+<dt>IF-DEFINED variable-name
+</dt>
+<dd>Makes the STATUS apply only if the specified variable is defined.
+</dd>
+<dt>IF-NOT-DEFINED variable-name
+</dt>
+<dd>Makes the STATUS apply only if the specified variable is not defined.
+</dd>
+<dt>REPEAT-LIMIT number
+</dt>
+<dd></dd>
+<dd>Specifies the maximum number of times to repeat. The default value is 1000.
+</dd>
+<dt>REPEAT-MATCH
+</dt>
+<dd></dd>
+<dt>REPEAT-NO-MATCH
+</dt>
+<dd>Specifies that the current test should be repeated when the response status-code
+matches or does not match the value specified by the STATUS directive.
+
+</dd>
+</dl>
+<h2 class="title"><a name="OPERATION_CODES">Operation Codes</a></h2>
+Operation codes correspond to the hexadecimal numbers (0xHHHH) and names from
+RFC 2911 and other IPP extension specifications. Here is a complete list:
+<pre>
+    Activate-Printer
+    CUPS-Accept-Jobs
+    CUPS-Add-Modify-Class
+    CUPS-Add-Modify-Printer
+    CUPS-Authenticate-Job
+    CUPS-Delete-Class
+    CUPS-Delete-Printer
+    CUPS-Get-Classes
+    CUPS-Get-Default
+    CUPS-Get-Devices
+    CUPS-Get-Document
+    CUPS-Get-PPD
+    CUPS-Get-PPDs
+    CUPS-Get-Printers
+    CUPS-Move-Job
+    CUPS-Reject-Jobs
+    CUPS-Set-Default
+    Cancel-Current-Job
+    Cancel-Job
+    Cancel-Jobs
+    Cancel-My-Jobs
+    Cancel-Subscription
+    Close-Job
+    Create-Job
+    Create-Job-Subscription
+    Create-Printer-Subscription
+    Deactivate-Printer
+    Disable-Printer
+    Enable-Printer
+    Get-Job-Attributes
+    Get-Jobs
+    Get-Notifications
+    Get-Printer-Attributes
+    Get-Printer-Support-Files
+    Get-Printer-Supported-Values
+    Get-Subscription-Attributes
+    Get-Subscriptions
+    Hold-Job
+    Hold-New-Jobs
+    Identify-Printer
+    Pause-Printer
+    Pause-Printer-After-Current-Job
+    Print-Job
+    Print-URI
+    Promote-Job
+    Purge-Jobs
+    Release-Held-New-Jobs
+    Release-Job
+    Renew-Subscription
+    Reprocess-Job
+    Restart-Job
+    Restart-Printer
+    Resubmit-Job
+    Resume-Job
+    Resume-Printer
+    Schedule-Job-After
+    Send-Document
+    Send-Notifications
+    Send-URI
+    Set-Job-Attributes
+    Set-Printer-Attributes
+    Shutdown-Printer
+    Startup-Printer
+    Suspend-Current-Job
+    Validate-Document
+    Validate-Job
+</pre>
+
+<h2 class="title"><a name="STATUS_CODES">Status Codes</a></h2>
+Status codes correspond to the hexadecimal numbers (0xHHHH) and names from RFC
+2911 and other IPP extension specifications. Here is a complete list:
+<pre>
+    client-error-attributes-not-settable
+    client-error-attributes-or-values-not-supported
+    client-error-bad-request
+    client-error-charset-not-supported
+    client-error-compression-error
+    client-error-compression-not-supported
+    client-error-conflicting-attributes
+    client-error-document-access-error
+    client-error-document-format-error
+    client-error-document-format-not-supported
+    client-error-document-password-error
+    client-error-document-permission-error
+    client-error-document-security-error
+    client-error-document-unprintable-error
+    client-error-forbidden
+    client-error-gone
+    client-error-ignored-all-notifications
+    client-error-ignored-all-subscriptions
+    client-error-not-authenticated
+    client-error-not-authorized
+    client-error-not-found
+    client-error-not-possible
+    client-error-print-support-file-not-found
+    client-error-request-entity-too-large
+    client-error-request-value-too-long
+    client-error-timeout
+    client-error-too-many-subscriptions
+    client-error-uri-scheme-not-supported
+    cups-see-other
+    redirection-other-site
+    server-error-busy
+    server-error-device-error
+    server-error-internal-error
+    server-error-job-canceled
+    server-error-multiple-document-jobs-not-supported
+    server-error-not-accepting-jobs
+    server-error-operation-not-supported
+    server-error-printer-is-deactivated
+    server-error-service-unavailable
+    server-error-temporary-error
+    server-error-version-not-supported
+    successful-ok
+    successful-ok-but-cancel-subscription
+    successful-ok-conflicting-attributes
+    successful-ok-events-complete
+    successful-ok-ignored-notifications
+    successful-ok-ignored-or-substituted-attributes
+    successful-ok-ignored-subscriptions
+    successful-ok-too-many-events
+</pre>
+
+<h2 class="title"><a name="TAGS">Tags</a></h2>
+Value and group tags correspond to the names from RFC 2911 and other IPP
+extension specifications. Here are the group tags:
+<pre>
+    event-notification-attributes-tag
+    job-attributes-tag
+    operation-attributes-tag
+    printer-attributes-tag
+    subscription-attributes-tag
+    unsupported-attributes-tag
+</pre>
+<p>Here are the value tags:
+<pre>
+    admin-define
+    boolean
+    charset
+    collection
+    dateTime
+    default
+    delete-attribute
+    enum
+    integer
+    keyword
+    mimeMediaType
+    nameWithLanguage
+    nameWithoutLanguage
+    naturalLanguage
+    no-value
+    not-settable
+    octetString
+    rangeOfInteger
+    resolution
+    textWithLanguage
+    textWithoutLanguage
+    unknown
+    unsupported
+    uri
+    uriScheme
+</pre>
+
+<h2 class="title"><a name="VARIABLES">Variables</a></h2>
+The <i>ipptool</i> program maintains a list of variables that can be used in any
+literal string or attribute value by specifying "$variable-name". Aside from
+variables defined using the "-d" option or "DEFINE" directive, the following
+pre-defined variables are available:
+<dl>
+<dt>$$
+</dt>
+<dd>Inserts a single "$" character.
+</dd>
+<dt>$ENV[name]
+</dt>
+<dd>Inserts the value of the named environment variable, or an empty string if the
+environment variable is not defined.
+</dd>
+<dt>$filename
+</dt>
+<dd>Inserts the filename provided to <i>ipptool</i> with the "-f" option.
+</dd>
+<dt>$hostname
+</dt>
+<dd>Inserts the hostname from the URI provided to <i>ipptool</i>.
+</dd>
+<dt>$job-id
+</dt>
+<dd>Inserts the last job-id value returned in a test response or 0 if no job-id has
+been seen.
+</dd>
+<dt>$job-uri
+</dt>
+<dd>Inserts the last job-uri value returned in a test response or an empty string if
+no job-uri has been seen.
+</dd>
+<dt>$scheme
+</dt>
+<dd>Inserts the scheme from the URI provided to <i>ipptool</i>.
+</dd>
+<dt>$notify-subscription-id
+</dt>
+<dd>Inserts the last notify-subscription-id value returned in a test response or 0 if
+no notify-subscription-id has been seen.
+</dd>
+<dt>$port
+</dt>
+<dd>Inserts the port number from the URI provided to <i>ipptool</i>.
+</dd>
+<dt>$resource
+</dt>
+<dd>Inserts the resource path from the URI provided to <i>ipptool</i>.
+</dd>
+<dt>$uri
+</dt>
+<dd>Inserts the URI provided to <i>ipptool</i>.
+</dd>
+<dt>$user
+</dt>
+<dd>Inserts the current user's login name.
+</dd>
+<dt>$username
+</dt>
+<dd>Inserts the username from the URI provided to <i>ipptool</i>, if any.
+
+</dd>
+</dl>
+<h2 class="title"><a name="SEE_ALSO">See Also</a></h2>
+<a href='man-ipptool.html?TOPIC=Man+Pages'>ipptool(1)</a>,
+<br>
+<a href='http://localhost:631/help'>http://localhost:631/help</a>
+
+<h2 class="title"><a name="COPYRIGHT">Copyright</a></h2>
+Copyright 2007-2013 by Apple Inc.
+
+</body>
+</html>
index d02d4f4..e8c2219 100644 (file)
@@ -93,27 +93,39 @@ page on the device.</P>
 
 <PRE>
 socket://<i>ip-address-or-hostname</i>
-socket://<i>ip-address-or-hostname</i>/?waiteof=false
+socket://<i>ip-address-or-hostname</i>/?option=value
+socket://<i>ip-address-or-hostname</i>/?option=value&amp;option=value
 socket://<i>ip-address-or-hostname</i>:<i>port-number</i>
-socket://<i>ip-address-or-hostname</i>:<i>port-number</i>/?waiteof=false
+socket://<i>ip-address-or-hostname</i>:<i>port-number</i>/?option=value
+socket://<i>ip-address-or-hostname</i>:<i>port-number</i>/?option=value&amp;option=value
 </PRE>
 
+<P>The "contimeout" option controls the number of seconds that the backend will wait to obtain a connection to the printer. The default is 1 week.</P>
+
+<P>The "snmp" option controls whether the <tt>socket</tt> backend queries for supply and page count information via SNMP.</P>
+
 <P>The "waiteof" option controls whether the <tt>socket</tt> backend waits for the printer to complete the printing of the job. The default is to wait.</P>
 
 <H3><A NAME="IPP">Internet Printing Protocol (IPP)</A></H3>
 
-<P>IPP is the only protocol that CUPS supports natively and is supported by some network printers and print servers. However, since many printers do not implement IPP properly, only use IPP when the vendor actually documents official support for it. IPP printing normally happens over port 631 and uses the <tt>http</tt> and <tt>ipp</tt> URI schemes:</P>
+<P>IPP is the only protocol that CUPS supports natively and is supported by some network printers and print servers. However, since many printers do not implement IPP properly, only use IPP when the vendor actually documents official support for it. IPP printing normally happens over port 631 and uses the <tt>http</tt>, <tt>ipp</tt>, and <tt>ipps</tt> URI schemes:</P>
 
 <PRE>
 http://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>
 http://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>?<i>option=value</i>
-http://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>?<i>option=value&option=value</i>
+http://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>?<i>option=value&amp;option=value</i>
 ipp://<i>ip-address-or-hostname</i>/<i>resource</i>
 ipp://<i>ip-address-or-hostname</i>/<i>resource</i>?<i>option=value</i>
-ipp://<i>ip-address-or-hostname</i>/<i>resource</i>?<i>option=value&option=value</i>
+ipp://<i>ip-address-or-hostname</i>/<i>resource</i>?<i>option=value&amp;option=value</i>
 ipp://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>
 ipp://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>?<i>option=value</i>
-ipp://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>?<i>option=value&option=value</i>
+ipp://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>?<i>option=value&amp;option=value</i>
+ipps://<i>ip-address-or-hostname</i>/<i>resource</i>
+ipps://<i>ip-address-or-hostname</i>/<i>resource</i>?<i>option=value</i>
+ipps://<i>ip-address-or-hostname</i>/<i>resource</i>?<i>option=value&amp;option=value</i>
+ipps://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>
+ipps://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>?<i>option=value</i>
+ipps://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>?<i>option=value&amp;option=value</i>
 </PRE>
 
 <P>The <tt>ipp</tt> backend supports many options, which are summarized in <A HREF="#TABLE2">Table 2</A>.</P>
@@ -148,16 +160,20 @@ ipp://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>?<i>option
        <TD>Specifies that the connection to the IPP server should be encrypted using TLS.</TD>
 </TR>
 <TR>
+       <TD><TT>snmp=false</TT></TD>
+       <TD>Specifies that SNMP supply and page count queries should not be performed.</TD>
+</TR>
+<TR>
        <TD><TT>version=1.0</TT></TD>
-       <TD>Specifies that version 1.0 of the IPP protocol should be used instead of the default version 1.1.</TD>
+       <TD>Specifies that version 1.0 of the IPP protocol should be used instead of the default version 2.0.</TD>
 </TR>
 <TR>
-       <TD><TT>version=2.0</TT></TD>
-       <TD>Specifies that version 2.0 of the IPP protocol should be used instead of the default version 1.1.</TD>
+       <TD><TT>version=1.1</TT></TD>
+       <TD>Specifies that version 1.1 of the IPP protocol should be used instead of the default version 2.0.</TD>
 </TR>
 <TR>
        <TD><TT>version=2.1</TT></TD>
-       <TD>Specifies that version 2.1 of the IPP protocol should be used instead of the default version 1.1.</TD>
+       <TD>Specifies that version 2.1 of the IPP protocol should be used instead of the default version 2.0.</TD>
 </TR>
 <TR>
        <TD><TT>waitjob=false</TT></TD>
@@ -179,8 +195,8 @@ lpd://<i>ip-address-or-hostname</i>/<i>queue</i>
 lpd://<i>username@ip-address-or-hostname</i>/<i>queue</i>
 lpd://<i>ip-address-or-hostname</i>/<i>queue</i>?<i>option=value</i>
 lpd://<i>username@ip-address-or-hostname</i>/<i>queue</i>?<i>option=value</i>
-lpd://<i>ip-address-or-hostname</i>/<i>queue</i>?<i>option=value&option=value</i>
-lpd://<i>username@ip-address-or-hostname</i>/<i>queue</i>?<i>option=value&option=value</i>
+lpd://<i>ip-address-or-hostname</i>/<i>queue</i>?<i>option=value&amp;option=value</i>
+lpd://<i>username@ip-address-or-hostname</i>/<i>queue</i>?<i>option=value&amp;option=value</i>
 </PRE>
 
 <P><A HREF="#TABLE3">Table 3</A> summarizes the options supported by the <tt>lpd</tt> backend.</P>
@@ -267,6 +283,10 @@ lpd://<i>username@ip-address-or-hostname</i>/<i>queue</i>?<i>option=value&option
        <TD>Specifies that the job title string should be restricted to ASCII characters.</TD>
 </TR>
 <TR>
+       <TD><TT>snmp=false</TT></TD>
+       <TD>Specifies that SNMP supply and page count queries should not be performed.</TD>
+</TR>
+<TR>
        <TD><TT>timeout=<I>seconds</I></TT></TD>
        <TD>Specifies the number of seconds to wait for LPD commands to complete.</TD>
 </TR>
@@ -397,21 +417,19 @@ lpd://<i>username@ip-address-or-hostname</i>/<i>queue</i>?<i>option=value&option
 
 <H2 CLASS="title"><A NAME="SNMP">Troubleshooting SNMP Discovery Problems</A></H2>
 
-<P>Whenever you view the administration web page or a list of supported device URIs, the <tt>snmp</tt> backend will probe the local network(s) using Simple Network Management Protocol (SNMP) broadcasts. Printers that respond to these broadcasts are then interrogated for the make and model and supported protocols, yielding a device URI that can be used to add the printer.</P> 
+<P>Whenever you view the administration web page or a list of supported device URIs, the <tt>snmp</tt> backend can probe the local network(s) using Simple Network Management Protocol (SNMP) v1 broadcasts. Printers that respond to these broadcasts are then interrogated for the make, model, and supported protocols, yielding a device URI that can be used to add the printer.</P>
 
-<P>That said, the SNMP requests sometimes expose problems in vendor SNMP or IPP implementations. If you are experiencing long delays in loading the CUPS web interface administration page, or if you don't see your printer listed, the following instructions will help you to diagnose those problems and/or provide important feedback to the CUPS developers so that we can correct problems and improve the SNMP backend in future releases.</P>
+<P>That said, the SNMP requests sometimes expose problems in vendor implementations. If you are experiencing long delays in loading the CUPS web interface administration page, or if you don't see your printer listed, the following instructions will help you to diagnose those problems and/or provide important feedback to the CUPS developers so that we can correct problems and improve the SNMP backend in future releases.</P>
 
 <H3>Quick Fixes</H3>
 
-<P>If you don't use "public" as your community name, create a text file called <VAR>/etc/cups/snmp.conf</VAR> and put the following line in it:</P>
+<P>If you don't use "public" as your community name, edit or create (as needed) a text file called <VAR>/etc/cups/snmp.conf</VAR> and put the following line in it:</P>
 
 <PRE CLASS="command">
 Community <I>your community name</I>
 </PRE>
 
-<P>If you have more than one community name, list them all on separate lines.</P>
-
-<P>If you don't support SNMP v1 on your network, you are currently "out of luck". That said, we will be adding v2, v2c, and v3 support in future CUPS releases once we have a handle on the actual requirements people have for such things. Please file or update an <A HREF="http://www.cups.org/str.php">SNMP enhancement request</A> with <em>specific</em> requirements you have - what you need supported, why you need it supported, and how you would like to see the functionality provided/exposed - so that we can do it "right" the first time.</P>
+<P>The SNMP backend will not be able to find any printers on your network if SNMP v1 or broadcasting are not supported on your network.</P>
 
 <H3>Basic Debugging</H3>
 
@@ -424,7 +442,7 @@ CUPS_DEBUG_LEVEL=2 /usr/lib/cups/backend/snmp 2>&amp;1 | tee snmp.log
 <P>For C shell (/bin/csh) and TCsh (/bin/tcsh), use the following command instead:</P>
 
 <PRE CLASS="command">
-(setenv CUPS_DEBUG_LEVEL 2; /usr/lib/cups/backend/snmp) |& tee snmp.log
+(setenv CUPS_DEBUG_LEVEL 2; /usr/lib/cups/backend/snmp) |&amp; tee snmp.log
 </PRE>
 
 <P>On MacOS X you'll find the SNMP backend in /usr/libexec/cups/backend instead:</P>
index 0cfa741..9f3a81a 100644 (file)
@@ -95,8 +95,8 @@ printing.</P>
 printer options using the <CODE>-o</CODE> option:</P>
 
 <PRE CLASS="command">
-lp -o landscape -o scaling=75 -o media=A4 filename.jpg
-lpr -o landscape -o scaling=75 -o media=A4 filename.jpg
+lp -o landscape -o fit-to-page -o media=A4 filename.jpg
+lpr -o landscape -o fit-to-page -o media=A4 filename.jpg
 </PRE>
 
 <P>The available printer options vary depending on the printer.
@@ -609,18 +609,6 @@ lpr -o lpi=8 filename
 
 <P>The default lines per inch is 6.</P>
 
-<H3><A NAME="COLUMNS">Setting the Number of Columns</A></H3>
-
-<P>The <CODE>-o columns=value</CODE> option sets the number of
-text columns:</P>
-
-<PRE CLASS="command">
-lp -o columns=2 filename
-lpr -o columns=3 filename
-</PRE>
-
-<P>The default number of columns is 1.</P>
-
 <H3><A NAME="MARGINS">Setting the Page Margins</A></H3>
 
 <P>Normally the page margins are set to the hard limits of the
@@ -662,117 +650,5 @@ lpr -o nowrap filename
 </PRE>
 
 
-<H2 CLASS="title"><SPAN CLASS="info">Not Supported on Mac OS X</SPAN><A NAME="IMAGEOPTIONS">Image Options</A></H2>
-
-<P>CUPS supports several options that are only used when printing
-image files. These options have absolutely no effect on PostScript, PDF,
-HP-GL/2, or text files.</P>
-
-<H3><A NAME="position">Positioning Images</A></H3>
-
-<P>The <CODE>-o position=name</CODE> option specifies the position of the
-image on the page:
-
-<UL>
-
-       <LI><CODE>center</CODE> - Center the image on the page (default)
-
-       <LI><CODE>top</CODE> - Print the image centered at the top of the page
-
-       <LI><CODE>left</CODE> - Print the image centered on the left of page
-
-       <LI><CODE>right</CODE> - Print the image centered on the right of the page
-
-       <LI><CODE>top-left</CODE> - Print the image at the top left corner of
-       the page
-
-       <LI><CODE>top-right</CODE> - Print the image at the top right corner of
-       the page
-
-       <LI><CODE>bottom</CODE> - Print the image centered at the bottom of
-       the page
-
-       <LI><CODE>bottom-left</CODE> - Print the image at the bottom left
-       corner of the page
-
-       <LI><CODE>bottom-right</CODE> - Print the image at the bottom right
-       corner of the page
-
-</UL>
-
-<H3><A NAME="scaling">Scaling Images</A></H3>
-
-<P>The <CODE>-o scaling=percent</CODE>, <CODE>-o
-ppi=value</CODE>, and <CODE>-o natural-scaling=percent</CODE>
-options change the size of a printed image:
-
-<PRE CLASS="command">
-lp -o scaling=<EM>percent</EM> filename 
-lp -o ppi=<EM>value</EM> filename
-lpr -o natural-scaling=<EM>percent</EM> filename
-</PRE>
-
-<P>The <CODE>scaling=percent</CODE> value is a number from 1 to 800
-specifying the size in relation to the page (<EM>not</EM> the image.) A
-scaling of 100 percent will fill the page as completely as the image
-aspect ratio allows. A scaling of 200 percent will print on up to 4
-pages.
-
-<P>The <CODE>ppi=value</CODE> value is a number from 1 to 1200 specifying the
-resolution of the image in pixels per inch. An image that is 3000x2400
-pixels will print 10x8 inches at 300 pixels per inch, for example. If
-the specified resolution makes the image larger than the page, multiple
-pages will be printed to satisfy the request.
-
-<P>The <CODE>natural-scaling=percent</CODE> value is a number
-from 1 to 800 specifying the size in relation to the natural
-image size. A scaling of 100 percent will print the image at its
-natural size, while a scaling of 50 percent will print the image
-at half its natural size. If the specified scaling makes the
-image larger than the page, multiple pages will be printed to
-satisfy the request.
-
-
-<H2 CLASS="title"><A NAME="HPGL2OPTIONS">HP-GL/2 Options</A></H2>
-
-<P>CUPS supports several options that are only used when printing
-HP-GL/2 files. These options have absolutely no effect on PostScript, PDF,
-image, or text files.</P>
-
-<H3><A NAME="blackplot">Printing in Black</A></H3>
-
-<P>The <CODE>-o blackplot</CODE> option specifies that all pens should
-plot in black:</P>
-
-<PRE CLASS="command">
-lp -o blackplot filename
-lpr -o blackplot filename
-</PRE>
-
-<P>The default is to use the colors defined in the plot file or the
-standard pen colors defined in the HP-GL/2 reference manual from
-Hewlett Packard.
-
-<H3><A NAME="penwidth">Setting the Default Pen Width</A></H3>
-
-<P>The <CODE>-o penwidth=value</CODE> option specifies the default pen
-width for HP-GL/2 files:</P>
-
-<PRE CLASS="command">
-lp -o penwidth=<EM>value</EM> filename
-lpr -o penwidth=<EM>value</EM> filename
-</PRE>
-
-<P>The pen width <CODE>value</CODE> specifies the pen width in micrometers.
-The default value of 1000 produces lines that are 1 millimeter in width.
-Specifying a pen width of 0 produces lines that are exactly 1 pixel wide.</P>
-
-<BLOCKQUOTE><B>Note:</B>
-
-<P>This option is ignored when the pen widths are set in the plot
-file.
-
-</BLOCKQUOTE>
-
 </BODY>
 </HTML>
index 59a2ac0..4a4b173 100644 (file)
@@ -26,7 +26,7 @@ out on its own.</P>
 <P>The first time you print to a printer, CUPS creates a <em>queue</em> to keep
 track of the current status of the printer (everything OK, out of paper, etc.)
 and any pages you have printed. Most of the time the queue points to a printer
-connected directly to your computer via a USB or parallel port, however it can
+connected directly to your computer via a USB port, however it can
 also point to a printer on your network, a printer on the Internet, or multiple
 printers depending on the configuration. Regardless of <em>where</em> the queue
 points, it will look like any other printer to you and your applications.</P>
index 14a5b4b..18f4c80 100644 (file)
@@ -36,7 +36,7 @@ HREF="ref-cupsd-conf.html#LimitIPP"><TT>Limit</TT></A> subsections which list th
  4        Require user @OWNER @SYSTEM
  5        Order deny,allow
  6      &lt;/Limit>
- 7    
+ 7
  8      # All administration operations require an administrator
       to authenticate...
  9      &lt;Limit CUPS-Add-Printer CUPS-Delete-Printer CUPS-Add-Class
@@ -45,7 +45,7 @@ HREF="ref-cupsd-conf.html#LimitIPP"><TT>Limit</TT></A> subsections which list th
 11        Require user @SYSTEM
 12        Order deny,allow
 13      &lt;/Limit>
-14    
+14
 15      # All printer operations require a printer operator
       to authenticate...
 16      &lt;Limit Pause-Printer Resume-Printer
@@ -59,14 +59,14 @@ HREF="ref-cupsd-conf.html#LimitIPP"><TT>Limit</TT></A> subsections which list th
 18        Require user <em>varies by OS</em>
 19        Order deny,allow
 20      &lt;/Limit>
-21    
+21
 22      # Only the owner or an administrator can cancel or
       authenticate a job...
 23      &lt;Limit Cancel-Job CUPS-Authenticate-Job>
 24        Require user @OWNER @SYSTEM
 25        Order deny,allow
 26      &lt;/Limit>
-27    
+27
 28      &lt;Limit All>
 29        Order deny,allow
 30      &lt;/Limit>
@@ -106,7 +106,7 @@ HREF="ref-cupsd-conf.html#LimitIPP"><TT>Limit</TT></A> subsections which list th
 11        Require user @SYSTEM
 12        Order deny,allow
 13      &lt;/Limit>
-14    
+14
 15      # All printer operations require a printer operator
       to authenticate...
 16      &lt;Limit Pause-Printer Resume-Printer
@@ -380,12 +380,12 @@ HREF="ref-cupsd-conf.html#LimitIPP"><TT>Limit</TT></A> subsections which list th
        <TD>Prints a job after others.</TD>
 </TR>
 <TR>
-       <TD NOWRAP><TT>CUPS-Get-Default</TT></TD>
+       <TD NOWRAP><TT>CUPS-Get-Default</TT> *</TD>
        <TD>Yes</TD>
        <TD>Gets the server/network default printer or class.</TD>
 </TR>
 <TR>
-       <TD NOWRAP><TT>CUPS-Get-Printers</TT></TD>
+       <TD NOWRAP><TT>CUPS-Get-Printers</TT> *</TD>
        <TD>Yes</TD>
        <TD>Gets a list of printers and/or classes.</TD>
 </TR>
@@ -395,12 +395,12 @@ HREF="ref-cupsd-conf.html#LimitIPP"><TT>Limit</TT></A> subsections which list th
        <TD>Adds or modifies a printer.</TD>
 </TR>
 <TR>
-       <TD NOWRAP><TT>CUPS-Delete-Printer</TT></TD>
+       <TD NOWRAP><TT>CUPS-Delete-Printer</TT> *</TD>
        <TD>Yes</TD>
        <TD>Removes a printer.</TD>
 </TR>
 <TR>
-       <TD NOWRAP><TT>CUPS-Get-Classes</TT></TD>
+       <TD NOWRAP><TT>CUPS-Get-Classes</TT> *</TD>
        <TD>Yes</TD>
        <TD>Gets a list of classes.</TD>
 </TR>
@@ -410,7 +410,7 @@ HREF="ref-cupsd-conf.html#LimitIPP"><TT>Limit</TT></A> subsections which list th
        <TD>Adds or modifies a class.</TD>
 </TR>
 <TR>
-       <TD NOWRAP><TT>CUPS-Delete-Class</TT></TD>
+       <TD NOWRAP><TT>CUPS-Delete-Class</TT> *</TD>
        <TD>Yes</TD>
        <TD>Removes a class.</TD>
 </TR>
@@ -427,17 +427,17 @@ HREF="ref-cupsd-conf.html#LimitIPP"><TT>Limit</TT></A> subsections which list th
        attribute to false.</TD>
 </TR>
 <TR>
-       <TD NOWRAP><TT>CUPS-Set-Default</TT></TD>
+       <TD NOWRAP><TT>CUPS-Set-Default</TT> *</TD>
        <TD>Yes</TD>
        <TD>Sets the server/network default printer or class.</TD>
 </TR>
 <TR>
-       <TD NOWRAP><TT>CUPS-Get-Devices</TT></TD>
+       <TD NOWRAP><TT>CUPS-Get-Devices</TT> *</TD>
        <TD>Yes</TD>
        <TD>Gets a list of printer devices.</TD>
 </TR>
 <TR>
-       <TD NOWRAP><TT>CUPS-Get-PPDs</TT></TD>
+       <TD NOWRAP><TT>CUPS-Get-PPDs</TT> *</TD>
        <TD>Yes</TD>
        <TD>Gets a list of printer drivers or manufacturers.</TD>
 </TR>
@@ -459,6 +459,7 @@ HREF="ref-cupsd-conf.html#LimitIPP"><TT>Limit</TT></A> subsections which list th
 </TBODY>
 </TABLE></DIV>
 
+<P>* = These operations only apply to the default policy.</P>
 
 <H2 CLASS="title"><A NAME="CREATING">Creating Your Own Policies</A></H2>
 
@@ -556,7 +557,7 @@ Allow from @LOCAL</PRE></TD>
  5        Order allow,deny
  6        Allow from 10.0.2.0/24
  7      &lt;/Limit>
- 8    
+ 8
  9      # All administration operations require a lab technician
       or an administrator to authenticate...
 10      &lt;Limit Pause-Printer Resume-Printer
index 501043c..fde5890 100644 (file)
@@ -341,11 +341,11 @@ div.contents ul.subcontents li {
 <body>
 <div class='body'>
 <!--
-  "$Id: postscript-driver.html 9740 2011-05-04 06:26:22Z mike $"
+  "$Id$"
 
   PostScript printer driver documentation for CUPS.
 
-  Copyright 2007-2010 by Apple Inc.
+  Copyright 2007-2012 by Apple Inc.
   Copyright 1997-2007 by Easy Software Products.
 
   These coded instructions, statements, and computer programs are the
@@ -357,7 +357,7 @@ div.contents ul.subcontents li {
 
 <h1 class='title'>Developing PostScript Printer Drivers</h1>
 
-<p>This document describes how to develop printer drivers for PostScript printers. Topics include: <a href='#BASICS'>printer driver basics</a>, <a href='#CREATE'>creating new PPD files</a>, <a href='#IMPORT'>importing existing PPD files</a>, <a href='#FILTERS'>using custom filters</a>, <a href='#COLOR'>implementing color management</a>, and <a href='#MACOSX'>adding Mac OS X features</a>.</p>
+<p>This document describes how to develop printer drivers for PostScript printers. Topics include: <a href='#BASICS'>printer driver basics</a>, <a href='#CREATE'>creating new PPD files</a>, <a href='#IMPORT'>importing existing PPD files</a>, <a href='#FILTERS'>using custom filters</a>, <a href='#COLOR'>implementing color management</a>, and <a href='#MACOSX'>adding OS X features</a>.</p>
 
 <div class='summary'><table summary='General Information'>
 <tbody>
@@ -380,7 +380,7 @@ div.contents ul.subcontents li {
 </ul></li>
 <li><a href="#FILTERS">Using Custom Filters</a></li>
 <li><a href="#COLOR">Implementing Color Management</a></li>
-<li><a href="#MACOSX">Adding Mac OS X Features</a></li>
+<li><a href="#MACOSX">Adding OS X Features</a></li>
 </ul>
 <h2 class='title'><a name='BASICS'>Printer Driver Basics</a></h2>
 
@@ -453,7 +453,7 @@ div.contents ul.subcontents li {
               dup [612 792] (Letter) put
               dup [612 1008] (Legal) put
               dup [595 842] (A4) put
-              {exch aload pop 4 index sub abs 5 le exch 
+              {exch aload pop 4 index sub abs 5 le exch
                5 index sub abs 5 le and
               {exch pop exit} {pop} ifelse
       } bind forall = flush pop pop
@@ -550,7 +550,7 @@ div.contents ul.subcontents li {
               dup [612 792] (Letter) put
               dup [612 1008] (Legal) put
               dup [595 842] (A4) put
-              {exch aload pop 4 index sub abs 5 le exch 
+              {exch aload pop 4 index sub abs 5 le exch
                5 index sub abs 5 le and
               {exch pop exit} {pop} ifelse
       } bind forall = flush pop pop
@@ -648,9 +648,9 @@ information file.</P>
 <p>The options used for profile selection can be customized using the <tt>cupsICCQualifier2</tt> and <tt>cupsICCQualifier3</tt> attributes.</p>
 
 
-<h2 class='title'><a name='MACOSX'>Adding Mac OS X Features</a></h2>
+<h2 class='title'><a name='MACOSX'>Adding OS X Features</a></h2>
 
-<p>Mac OS X printer drivers can provide <a href='spec-ppd.html#MACOSX'>additional attributes</a> to specify additional option panes in the print dialog, an image of the printer, a help book, and option presets for the driver software:</p>
+<p>OS X printer drivers can provide <a href='spec-ppd.html#MACOSX'>additional attributes</a> to specify additional option panes in the print dialog, an image of the printer, a help book, and option presets for the driver software:</p>
 
 <pre class='example'>
 <a href='ref-ppdcfile.html#Attribute'>Attribute</a> APDialogExtension "" /Library/Printers/Vendor/filename.plugin
index db891f1..27decdb 100644 (file)
@@ -341,11 +341,11 @@ div.contents ul.subcontents li {
 <body>
 <div class='body'>
 <!--
-  "$Id: ppd-compiler.html 9740 2011-05-04 06:26:22Z mike $"
+  "$Id$"
 
   PPD compiler documentation for CUPS.
 
-  Copyright 2007-2010 by Apple Inc.
+  Copyright 2007-2012 by Apple Inc.
   Copyright 1997-2007 by Easy Software Products.
 
   These coded instructions, statements, and computer programs are the
@@ -361,6 +361,12 @@ div.contents ul.subcontents li {
 (PPD) file compiler. The PPD compiler generates PPD files from simple text files
 that describe the features and capabilities of one or more printers.</P>
 
+<BLOCKQUOTE><B>Note:</B>
+
+<P>The PPD compiler and related tools are deprecated and will be removed in a future release of CUPS.</P>
+
+</BLOCKQUOTE>
+
 <div class='summary'><table summary='General Information'>
 <tbody>
 <tr>
@@ -598,7 +604,7 @@ follows:</P>
 
        <LI>Bits per color. In the example file, we define 8 bits per color, for
        a continuous-tone grayscale output. All versions of CUPS support 1 and
-       8 bits per color.  CUPS 1.2 and higher (Mac OS X 10.5 and higher) also
+       8 bits per color.  CUPS 1.2 and higher (OS X 10.5 and higher) also
        supports 16 bits per color.</LI>
 
        <LI>Rows per band. In the example file, we define 0 rows per band to
index 2ec3f4e..0399f05 100644 (file)
@@ -341,11 +341,11 @@ div.contents ul.subcontents li {
 <body>
 <div class='body'>
 <!--
-  "$Id: raster-driver.html 9740 2011-05-04 06:26:22Z mike $"
+  "$Id$"
 
   Raster printer driver documentation for CUPS.
 
-  Copyright 2007-2010 by Apple Inc.
+  Copyright 2007-2012 by Apple Inc.
   Copyright 1997-2007 by Easy Software Products.
 
   These coded instructions, statements, and computer programs are the
@@ -357,7 +357,7 @@ div.contents ul.subcontents li {
 
 <h1 class='title'>Developing Raster Printer Drivers</h1>
 
-<p>This document describes how to develop printer drivers for raster printers. Topics include: <a href='#BASICS'>printer driver basics</a>, <a href='#CREATE'>creating new PPD files</a>, <a href='#FILTERS'>using filters</a>, <a href='#COLOR'>implementing color management</a>, and <a href='#MACOSX'>adding Mac OS X features</a>.</p>
+<p>This document describes how to develop printer drivers for raster printers. Topics include: <a href='#BASICS'>printer driver basics</a>, <a href='#CREATE'>creating new PPD files</a>, <a href='#FILTERS'>using filters</a>, <a href='#COLOR'>implementing color management</a>, and <a href='#MACOSX'>adding OS X features</a>.</p>
 
 <div class='summary'><table summary='General Information'>
 <tbody>
@@ -378,7 +378,7 @@ div.contents ul.subcontents li {
 <li><a href="#CREATING">Creating New PPD Files</a></li>
 <li><a href="#FILTERS">Using Filters</a></li>
 <li><a href="#COLOR">Implementing Color Management</a></li>
-<li><a href="#MACOSX">Adding Mac OS X Features</a></li>
+<li><a href="#MACOSX">Adding OS X Features</a></li>
 </ul>
 <h2 class='title'><a name='BASICS'>Printer Driver Basics</a></h2>
 
@@ -554,9 +554,9 @@ div.contents ul.subcontents li {
 
 <p>The options used for profile selection can be customized using the <tt>cupsICCQualifier2</tt> and <tt>cupsICCQualifier3</tt> attributes.</p>
 
-<h3><span class='info'>Since Mac OS X 10.5</span>Custom Color Matching Support</h3>
+<h3><span class='info'>Since OS X 10.5</span>Custom Color Matching Support</h3>
 
-<p>Mac OS X printer drivers that are based on an existing standard RGB colorspace can tell the system to use the corresponding colorspace instead of an arbitrary ICC color profile when doing color management. The <a href='#APCustom'><tt>APSupportsCustomColorMatching</tt></a> and <tt>APDefaultCustomColorMatchingProfile</tt> attributes can be used to enable this mode:</p>
+<p>OS X printer drivers that are based on an existing standard RGB colorspace can tell the system to use the corresponding colorspace instead of an arbitrary ICC color profile when doing color management. The <a href='#APCustom'><tt>APSupportsCustomColorMatching</tt></a> and <tt>APDefaultCustomColorMatchingProfile</tt> attributes can be used to enable this mode:</p>
 
 <pre class='example'>
 <a href='ref-ppdcfile.html#Attribute'>Attribute</a> APSupportsCustomColorMatching "" true
@@ -564,9 +564,9 @@ div.contents ul.subcontents li {
 </pre>
 
 
-<h2 class='title'><a name='MACOSX'>Adding Mac OS X Features</a></h2>
+<h2 class='title'><a name='MACOSX'>Adding OS X Features</a></h2>
 
-<p>Mac OS X printer drivers can provide <a href='spec-ppd.html#MACOSX'>additional attributes</a> to specify additional option panes in the print dialog, an image of the printer, a help book, and option presets for the driver software:</p>
+<p>OS X printer drivers can provide <a href='spec-ppd.html#MACOSX'>additional attributes</a> to specify additional option panes in the print dialog, an image of the printer, a help book, and option presets for the driver software:</p>
 
 <pre class='example'>
 <a href='ref-ppdcfile.html#Attribute'>Attribute</a> APDialogExtension "" /Library/Printers/Vendor/filename.plugin
index 40bc3d5..4171bb2 100644 (file)
@@ -171,7 +171,7 @@ HREF="#AllowUser"><CODE>AllowUser</CODE></A></P>
 
 <H3>Description</H3>
 
-<P>The <CODE>Info</CODE> directive defines the string for the 
+<P>The <CODE>Info</CODE> directive defines the string for the
 <VAR>printer-info</VAR> attribute. It is normally set using the
 <CODE>lpadmin(8)</CODE> command:</P>
 
@@ -260,7 +260,7 @@ section.</P>
 
 <H3>Description</H3>
 
-<P>The <CODE>KLimit</CODE> directive defines the value of the 
+<P>The <CODE>KLimit</CODE> directive defines the value of the
 <VAR>job-k-limit</VAR> attribute. It is normally set using the
 <CODE>lpadmin(8)</CODE> command:</P>
 
@@ -287,7 +287,7 @@ section.</P>
 
 <H3>Description</H3>
 
-<P>The <CODE>Location</CODE> directive defines the string for the 
+<P>The <CODE>Location</CODE> directive defines the string for the
 <VAR>printer-location</VAR> attribute. It is normally set using the
 <CODE>lpadmin(8)</CODE> command:</P>
 
@@ -372,7 +372,7 @@ section.</P>
 
 <H3>Description</H3>
 
-<P>The <CODE>PageLimit</CODE> directive defines the value of the 
+<P>The <CODE>PageLimit</CODE> directive defines the value of the
 <VAR>job-page-limit</VAR> attribute. It can be set using the
 <CODE>lpadmin(8)</CODE> command:</P>
 
@@ -511,7 +511,7 @@ section.</P>
 <PRE CLASS="command">
 &lt;Class name&gt;
   ...
-  StateMessage Ready to print.
+  StateMessage Class is lonely.
 &lt;/Class&gt;
 </PRE>
 
@@ -528,7 +528,6 @@ StateMessage Network host host_name is busy; will retry in 30 seconds...
 StateMessage Class busy; will retry in 10 seconds...
 StateMessage Class is busy; retrying print job...
 StateMessage Print file accepted - job ID id_number.
-StateMessage Ready to print.
 StateMessage Waiting for job to complete
 </PRE>
 
index 0229b00..03d1ea0 100644 (file)
@@ -34,6 +34,20 @@ encryption settings for the client.</P>
 <P>The default setting is <VAR>IfRequested</VAR>.</P>
 
 
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.6/OS X 10.8</SPAN><A NAME="GSSServiceName">GSSServiceName</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+GSSServiceName http
+GSSServiceName ipp
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>GSSServiceName</CODE> directive sets the Kerberos service name to use. The default is <CODE>http</CODE> for compatibility with Microsoft Windows.</P>
+
+
 <H2 CLASS="title"><A NAME="ServerName">ServerName</A></H2>
 
 <H3>Examples</H3>
@@ -42,6 +56,8 @@ encryption settings for the client.</P>
 ServerName foo.bar.com
 ServerName 11.22.33.44
 ServerName foo.bar.com:8631
+<SPAN CLASS="info">CUPS 1.6</SPAN>ServerName foo.bar.com/version=1.1
+<SPAN CLASS="info">CUPS 1.6</SPAN>ServerName foo.bar.com:8631/version=1.1
 </PRE>
 
 <H3>Description</H3>
@@ -50,7 +66,29 @@ ServerName foo.bar.com:8631
 
 <P>The default port number is 631 but can be overridden by adding a colon followed by the desired port number to the value.</P>
 
+<P>By default, CUPS 1.6 and later use IPP/2.0 to communicate with the server. Add "/version=1.1" to force IPP/1.1 which is required for CUPS 1.3.12 and earlier.</P>
+
 <P>The default is to use the local server ("<VAR>localhost</VAR>") or domain socket, if so configured.</P>
 
+<BLOCKQUOTE><B>Note:</B>
+<P>Only one <CODE>ServerName</CODE> directive may appear. If multiple names are
+present, only the last one is used. This directive is not supported on OS X 10.7 or later.</P>
+</BLOCKQUOTE>
+
+
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.6/OS X 10.8</SPAN><A NAME="User">User</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+User joe
+User bob
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>User</CODE> directive sets the user name to use. The default is the username associated with the current login.</P>
+
+
 </BODY>
 </HTML>
diff --git a/doc/help/ref-cups-files-conf.html.in b/doc/help/ref-cups-files-conf.html.in
new file mode 100644 (file)
index 0000000..07049d9
--- /dev/null
@@ -0,0 +1,538 @@
+<HTML>
+<!-- SECTION: References -->
+<HEAD>
+       <TITLE>cups-files.conf</TITLE>
+       <LINK REL="STYLESHEET" TYPE="text/css" HREF="../cups-printable.css">
+</HEAD>
+<BODY>
+
+<H1 CLASS="title">cups-files.conf</H1>
+
+<P>The <VAR>/etc/cups/cups-files.conf</VAR> file contains configuration <I>directives</I> that control the files, directories. users. and groups that are used by the CUPS scheduler, <CODE>cupsd(8)</CODE>. Each directive is listed on a line by itself followed by its value. Comments are introduced using the number sign ("#") character at the beginning of a line.</P>
+
+<H2 CLASS="title"><A NAME="AccessLog">AccessLog</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+AccessLog /var/log/cups/access_log
+AccessLog /var/log/cups/access_log-%s
+AccessLog syslog
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>AccessLog</CODE> directive sets the name of the
+access log file. If the filename is not absolute then it is
+assumed to be relative to the <A
+HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory. The
+access log file is stored in "common log format" and can be used
+by any web access reporting tool to generate a report on CUPS
+server activity.</P>
+
+<P>The server name can be included in the filename by using
+<CODE>%s</CODE> in the name.</P>
+
+<P>The special name "syslog" can be used to send the access
+information to the system log instead of a plain file.</P>
+
+<P>The default access log file is
+<VAR>@CUPS_LOGDIR@/access_log</VAR>.</P>
+
+
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.15</SPAN><A NAME="ConfigFilePerm">ConfigFilePerm</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+ConfigFilePerm 0644
+ConfigFilePerm 0640
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>ConfigFilePerm</CODE> directive specifies the permissions to use when the scheduler writes configuration and cache files, typically in response to IPP or HTTP requests. The default is @CUPS_CONFIG_FILE_PERM@.</P>
+
+<BLOCKQUOTE><B>Note:</B>
+
+<P>The permissions for the <VAR>printers.conf</VAR> file are always masked to only allow access from the scheduler user (typically root). This is done because printer device URIs sometimes contain sensitive authentication information that should not be generally known on the system. There is no way to disable this security feature.</P>
+
+</BLOCKQUOTE>
+
+
+<H2 CLASS="title"><A NAME="DataDir">DataDir</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+DataDir /usr/share/cups
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>DataDir</CODE> directive sets the directory to use
+for data files.</P>
+
+
+<H2 CLASS="title"><A NAME="DocumentRoot">DocumentRoot</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+DocumentRoot /usr/share/doc/cups
+DocumentRoot /foo/bar/doc/cups
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>DocumentRoot</CODE> directive specifies the location
+of web content for the HTTP server in CUPS. If an absolute path
+is not specified then it is assumed to be relative to the <A
+HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory. The
+default directory is <VAR>@CUPS_DOCROOT@</VAR>.</P>
+
+<P>Documents are first looked up in a sub-directory for the
+primary language requested by the client (e.g.
+<VAR>@CUPS_DOCROOT@/fr/...</VAR>) and then directly under
+the <CODE>DocumentRoot</CODE> directory (e.g.
+<VAR>@CUPS_DOCROOT@/...</VAR>), so it is possible to
+localize the web content by providing subdirectories for each
+language needed.</P>
+
+
+<H2 CLASS="title"><A NAME="ErrorLog">ErrorLog</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+ErrorLog /var/log/cups/error_log
+ErrorLog /var/log/cups/error_log-%s
+ErrorLog syslog
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>ErrorLog</CODE> directive sets the name of the error
+log file. If the filename is not absolute then it is assumed to
+be relative to the <A
+HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory. The
+default error log file is <VAR>@CUPS_LOGDIR@/error_log</VAR>.</P>
+
+<P>The server name can be included in the filename by using
+<CODE>%s</CODE> in the name.</P>
+
+<P>The special name "syslog" can be used to send the error
+information to the system log instead of a plain file.</P>
+
+
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.4/OS X 10.6</SPAN><A NAME="FatalErrors">FatalErrors</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+FatalErrors none
+FatalErrors all
+FatalErrors browse
+FatalErrors config
+FatalErrors listen
+FatalErrors log
+FatalErrors permissions
+FatalErrors all -permissions
+FatalErrors config permissions log
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>FatalErrors</CODE> directive determines whether certain kinds of
+errors are fatal. The following kinds of errors are currently recognized:</P>
+
+<UL>
+
+       <LI><CODE>none</CODE> - No errors are fatal</LI>
+
+       <LI><CODE>all</CODE> - All of the errors below are fatal</LI>
+
+       <LI><CODE>browse</CODE> - Browsing initialization errors are fatal,
+       for example failed binding to the CUPS browse port or failed connections
+       to LDAP servers</LI>
+
+       <LI><CODE>config</CODE> - Configuration file syntax errors are
+       fatal</LI>
+
+       <LI><CODE>listen</CODE> - Listen or Port errors are fatal, except for
+       IPv6 failures on the loopback or "any" addresses</LI>
+
+       <LI><CODE>log</CODE> - Log file creation or write errors are fatal</LI>
+
+       <LI><CODE>permissions</CODE> - Bad startup file permissions are
+       fatal, for example shared SSL certificate and key files with world-
+       read permissions</LI>
+
+</UL>
+
+<P>Multiple errors can be listed, and the form "-kind" can be used with
+<CODE>all</CODE> to remove specific kinds of errors. The default setting is
+<CODE>@CUPS_FATAL_ERRORS@</CODE>.</P>
+
+
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.18</SPAN><A NAME="FileDevice">FileDevice</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+FileDevice Yes
+FileDevice No
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>FileDevice</CODE> directive determines whether the
+scheduler allows new printers to be added using device URIs of
+the form <CODE>file:/filename</CODE>. File devices are most often
+used to test new printer drivers and do not support raw file
+printing.</P>
+
+<P>The default setting is <CODE>No</CODE>.</P>
+
+<BLOCKQUOTE><B>Note:</B>
+
+<P>File devices are managed by the scheduler. Since the
+scheduler normally runs as the root user, file devices
+can be used to overwrite system files and potentially
+gain unauthorized access to the system. If you must
+create printers using file devices, we recommend that
+you set the <CODE>FileDevice</CODE> directive to
+<CODE>Yes</CODE> for only as long as you need to add the
+printers to the system, and then reset the directive to
+<CODE>No</CODE>.</P>
+
+</BLOCKQUOTE>
+
+
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.3</SPAN><A NAME="FontPath">FontPath</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+FontPath /foo/bar/fonts
+FontPath /usr/share/cups/fonts:/foo/bar/fonts
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>FontPath</CODE> directive specifies the font path to
+use when searching for fonts. The default font path is
+<CODE>/usr/share/cups/fonts</CODE>.</P>
+
+
+<H2 CLASS="title"><A NAME="Group">Group</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+Group lp
+Group nobody
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>Group</CODE> directive specifies the UNIX group that
+filter and CGI programs run as. The default group is
+system-specific but is usually <CODE>lp</CODE> or
+<CODE>nobody</CODE>.</P>
+
+
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.15</SPAN><A NAME="LogFilePerm">LogFilePerm</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+LogFilePerm 0644
+LogFilePerm 0600
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>LogFilePerm</CODE> directive specifies the
+permissions to use when writing log files. The default
+is @CUPS_LOG_FILE_PERM@.</P>
+
+
+<H2 CLASS="title"><A NAME="PageLog">PageLog</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+PageLog /var/log/cups/page_log
+PageLog /var/log/cups/page_log-%s
+PageLog syslog
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>PageLog</CODE> directive sets the name of the page
+log file. If the filename is not absolute then it is assumed to
+be relative to the <A
+HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory. The
+default page log file is <VAR>@CUPS_LOGDIR@/page_log</VAR>.</P>
+
+<P>The server name can be included in the filename by using
+<CODE>%s</CODE> in the name.</P>
+
+<P>The special name "syslog" can be used to send the page
+information to the system log instead of a plain file.</P>
+
+
+<H2 CLASS="title"><A NAME="Printcap">Printcap</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+Printcap
+Printcap /etc/printcap
+Printcap /etc/printers.conf
+Printcap /Library/Preferences/org.cups.printers.plist
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>Printcap</CODE> directive controls whether or not a
+printcap file is automatically generated and updated with a list
+of available printers. If specified with no value, then no
+printcap file will be generated. The default is to generate a
+file named <VAR>@CUPS_DEFAULT_PRINTCAP@</VAR>.</P>
+
+<P>When a filename is specified (e.g. <VAR>@CUPS_DEFAULT_PRINTCAP@</VAR>),
+the printcap file is written whenever a printer is added or
+removed. The printcap file can then be used by applications that
+are hardcoded to look at the printcap file for the available
+printers.</P>
+
+
+<H2 CLASS="title"><A NAME="PrintcapFormat">PrintcapFormat</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+PrintcapFormat BSD
+PrintcapFormat Solaris
+PrintcapFormat plist
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>PrintcapFormat</CODE> directive controls the output format of the
+printcap file. The default is to generate the plist format on OS X, the
+Solaris format on Solaris, and the BSD format on other operating systems.</P>
+
+
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.3</SPAN><A NAME="RemoteRoot">RemoteRoot</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+RemoteRoot remroot
+RemoteRoot root
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>RemoteRoot</CODE> directive sets the username for
+unauthenticated root requests from remote hosts. The default
+username is <VAR>remroot</VAR>. Setting <CODE>RemoteRoot</CODE>
+to <VAR>root</VAR> effectively disables this security
+mechanism.</P>
+
+
+<H2 CLASS="title"><A NAME="RequestRoot">RequestRoot</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+RequestRoot /var/spool/cups
+RequestRoot /foo/bar/spool/cups
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>RequestRoot</CODE> directive sets the directory for
+incoming IPP requests and HTML forms. If an absolute path is not
+provided then it is assumed to be relative to the <A
+HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory. The
+default request directory is <VAR>@CUPS_REQUESTS@</VAR>.</P>
+
+
+<H2 CLASS="title"><A NAME="ServerBin">ServerBin</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+ServerBin /usr/lib/cups
+ServerBin /foo/bar/lib/cups
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>ServerBin</CODE> directive sets the directory for
+server-run executables. If an absolute path is not provided then
+it is assumed to be relative to the <A
+HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory. The
+default executable directory is <VAR>/usr/lib/cups</VAR>,
+<VAR>/usr/lib32/cups</VAR>, or <VAR>/usr/libexec/cups</VAR>
+depending on the operating system.</P>
+
+
+<H2 CLASS="title"><A NAME="ServerCertificate">ServerCertificate</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+ServerCertificate /etc/cups/ssl/server.crt
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>ServerCertificate</CODE> directive specifies the
+location of the SSL certificate file used by the server when
+negotiating encrypted connections. The certificate must not be
+encrypted (password protected) since the scheduler normally runs
+in the background and will be unable to ask for a password.</P>
+
+<P>The default certificate file is
+<VAR>/etc/cups/ssl/server.crt</VAR>.</P>
+
+
+<H2 CLASS="title"><A NAME="ServerKey">ServerKey</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+ServerKey /etc/cups/ssl/server.key
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>ServerKey</CODE> directive specifies the location of
+the SSL private key file used by the server when negotiating
+encrypted connections.</P>
+
+<P>The default key file is
+<VAR>/etc/cups/ssl/server.crt</VAR>.</P>
+
+
+<H2 CLASS="title"><A NAME="ServerRoot">ServerRoot</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+ServerRoot /etc/cups
+ServerRoot /foo/bar/cups
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>ServerRoot</CODE> directive specifies the absolute
+path to the server configuration and state files. It is also used
+to resolve relative paths in the <VAR>cupsd.conf</VAR> file. The
+default server directory is <VAR>/etc/cups</VAR>.</P>
+
+
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.6.4</SPAN><A NAME="SyncOnClose">SyncOnClose</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+SyncOnClose No
+SyncOnClose Yes
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>SyncOnClose</CODE> directive determines whether the scheduler
+flushes changes to configuration and state files to disk. The default is
+<CODE>No</CODE> which relies on the operating system to schedule a suitable
+time to write changes to disk.</P>
+
+<BLOCKQUOTE><B>Note:</B>
+
+<P>Setting <CODE>SyncOnClose</CODE> to <CODE>Yes</CODE> makes the scheduler use the <CODE>fsync(2)</CODE> system call to write all changes to disk, however the drive or network file system server may still delay writing data to disk. Do not depend on this functionality to prevent data loss in the event of unexpected hardware failure.</P>
+
+<P>Enabling <CODE>SyncOnClose</CODE> may also cause the scheduler to periodically become unresponsive while it waits for changes to be written.</P>
+
+</BLOCKQUOTE>
+
+
+<H2 CLASS="title"><A NAME="SystemGroup">SystemGroup</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+SystemGroup lpadmin
+SystemGroup sys
+SystemGroup system
+SystemGroup root
+SystemGroup root lpadmin
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>SystemGroup</CODE> directive specifies the system
+administration group for <CODE>System</CODE> authentication.
+Multiple groups can be listed, separated with spaces. The default
+group list is <CODE>@CUPS_SYSTEM_GROUPS@</CODE>.</P>
+
+
+<H2 CLASS="title"><A NAME="TempDir">TempDir</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+TempDir /var/tmp
+TempDir /foo/bar/tmp
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>TempDir</CODE> directive specifies an absolute path
+for the directory to use for temporary files. The default
+directory is <VAR>@CUPS_REQUESTS@/tmp</VAR>.</P>
+
+<P>Temporary directories must be world-writable and should have
+the "sticky" permission bit enabled so that other users cannot
+delete filter temporary files. The following commands will create
+an appropriate temporary directory called
+<VAR>/foo/bar/tmp</VAR>:</P>
+
+<PRE CLASS="command">
+<KBD>mkdir /foo/bar/tmp</KBD>
+<KBD>chmod a+rwxt /foo/bar/tmp</KBD>
+</PRE>
+
+
+<H2 CLASS="title"><A NAME="User">User</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+User lp
+User guest
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>User</CODE> directive specifies the UNIX user that
+filter and CGI programs run as. The default user is
+<CODE>@CUPS_USER@</CODE>.</P>
+
+<BLOCKQUOTE><B>Note:</B>
+
+<P>You may not use user <CODE>root</CODE>, as that would expose
+the system to unacceptable security risks. The scheduler will
+automatically choose user <CODE>nobody</CODE> if you specify a
+user whose ID is 0.</P>
+
+</BLOCKQUOTE>
+
+
+</BODY>
+</HTML>
index ce0ec8f..989765d 100644 (file)
@@ -42,35 +42,11 @@ sudo launchctl load /System/Library/LaunchDaemons/org.cups.cupsd.plist
 <P>You can also edit this file from the CUPS web interface, which
 automatically handles restarting the scheduler.</P>
 
+<BLOCKQUOTE><B>Note:</B>
 
-<H2 CLASS="title"><A NAME="AccessLog">AccessLog</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-AccessLog /var/log/cups/access_log
-AccessLog /var/log/cups/access_log-%s
-AccessLog syslog
-</PRE>
-
-<H3>Description</H3>
-
-<P>The <CODE>AccessLog</CODE> directive sets the name of the
-access log file. If the filename is not absolute then it is
-assumed to be relative to the <A
-HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory. The
-access log file is stored in "common log format" and can be used
-by any web access reporting tool to generate a report on CUPS
-server activity.</P>
-
-<P>The server name can be included in the filename by using
-<CODE>%s</CODE> in the name.</P>
-
-<P>The special name "syslog" can be used to send the access
-information to the system log instead of a plain file.</P>
+<P>The specification of time units ("w" for weeks, "h" for hours, etc.) in the various time interval directives is new in CUPS 1.6/OS X 10.8. Prior releases of CUPS only supported time intervals in seconds.</P>
 
-<P>The default access log file is
-<VAR>@CUPS_LOGDIR@/access_log</VAR>.</P>
+</BLOCKQUOTE>
 
 
 <H2 CLASS="title"><A NAME="AccessLogLevel">AccessLogLevel</A></H2>
@@ -191,82 +167,6 @@ HREF="#Location"><CODE>Location</CODE></A> or <A
 HREF="#Limit"><CODE>Limit</CODE></A> section.</P>
 
 
-<H2 CLASS="title"><SPAN CLASS="info">Deprecated</SPAN><A NAME="AuthClass">AuthClass</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-&lt;Location /path&gt;
-  ...
-  AuthClass Anonymous
-  AuthClass User
-  AuthClass System
-  AuthClass Group
-&lt;/Location&gt;
-</PRE>
-
-<H3>Description</H3>
-
-<P>The <CODE>AuthClass</CODE> directive defines what level of
-authentication is required:</P>
-
-<UL>
-
-       <LI><CODE>Anonymous</CODE> - No authentication should be
-       performed (default)</LI>
-
-       <LI><CODE>User</CODE> - A valid username and password is
-       required</LI>
-
-       <LI><CODE>System</CODE> - A valid username and password
-       is required, and the username must belong to the "sys"
-       group; this can be changed using the <A
-       HREF="#SystemGroup"><CODE>SystemGroup</CODE></A>
-       directive</LI>
-
-       <LI><CODE>Group</CODE> - A valid username and password is
-       required, and the username must belong to the group named
-       by the <A
-       HREF="#AuthGroupName"><CODE>AuthGroupName</CODE></A>
-       directive</LI>
-
-</UL>
-
-<P>The <CODE>AuthClass</CODE> directive must appear inside a <A
-HREF="#Location"><CODE>Location</CODE></A> or <A
-HREF="#Limit"><CODE>Limit</CODE></A> section.</P>
-
-<P><B>This directive is deprecated and will be removed from a
-future release of CUPS.</B> Consider using the more flexible <A
-HREF="#Require"><CODE>Require</CODE></A> directive instead.</P>
-
-
-<H2 CLASS="title"><SPAN CLASS="info">Deprecated</SPAN><A NAME="AuthGroupName">AuthGroupName</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-&lt;Location /path&gt;
-  ...
-  AuthGroupName mygroup
-  AuthGroupName lp
-&lt;/Location&gt;
-</PRE>
-
-<H3>Description</H3>
-
-<P>The <CODE>AuthGroupName</CODE> directive sets the group to use
-for <CODE>Group</CODE> authentication.</P>
-
-<P>The <CODE>AuthGroupName</CODE> directive must appear inside a
-<A HREF="#Location"><CODE>Location</CODE></A> or <A
-HREF="#Limit"><CODE>Limit</CODE></A> section.</P>
-
-<P><B>This directive is deprecated and will be removed from a
-future release of CUPS.</B> Consider using the more flexible <A
-HREF="#Require"><CODE>Require</CODE></A> directive instead.</P>
-
-
 <H2 CLASS="title"><A NAME="AuthType">AuthType</A></H2>
 
 <H3>Examples</H3>
@@ -335,243 +235,14 @@ quotas. This option has no effect if quotas are not enabled. The
 default setting is <CODE>No</CODE>.</P>
 
 
-<H2 CLASS="title"><A NAME="BrowseAddress">BrowseAddress</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-BrowseAddress 255.255.255.255:631
-BrowseAddress 192.0.2.255:631
-BrowseAddress host.example.com:631
-BrowseAddress @LOCAL
-BrowseAddress @IF(name)
-</PRE>
-
-<H3>Description</H3>
-
-<P>The <CODE>BrowseAddress</CODE> directive specifies an address
-to send browsing information to. Multiple
-<CODE>BrowseAddress</CODE> directives can be specified to send
-browsing information to different networks or systems.</P>
-
-<P>The <CODE>@LOCAL</CODE> name will broadcast printer
-information to all local interfaces. The <CODE>@IF(name)</CODE>
-name will broadcast to the named interface.</P>
-
-<P>There is no default browse address.</P>
-
-<BLOCKQUOTE><B>Note:</B>
-
-<P>If you are using HP-UX 10.20 and a subnet that is not 24,
-16, or 8 bits, printer browsing (and in fact all broadcast
-reception) will not work. This problem appears to be fixed in
-HP-UX 11.0.</P>
-
-</BLOCKQUOTE>
-
-
-<H2 CLASS="title"><A NAME="BrowseAllow">BrowseAllow</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-BrowseAllow from all
-BrowseAllow from none
-BrowseAllow from 192.0.2
-BrowseAllow from 192.0.2.0/24
-BrowseAllow from 192.0.2.0/255.255.255.0
-BrowseAllow from *.example.com
-BrowseAllow from @LOCAL
-BrowseAllow from @IF(name)
-</PRE>
-
-<H3>Description</H3>
-
-<P>The <CODE>BrowseAllow</CODE> directive specifies a system or
-network to accept browse packets from. The default is to accept
-browse packets from all hosts.</P>
-
-<P>Host and domain name matching require that you enable the <A
-HREF="#HostNameLookups"><CODE>HostNameLookups</CODE></A>
-directive.</P>
-
-<P>IP address matching supports exact matches, partial addresses that match
-networks using netmasks of 255.0.0.0, 255.255.0.0, and 255.255.255.0, or network
-addresses using the specified netmask or bit count. The <CODE>/mm</CODE>
-notation specifies a CIDR netmask, a shown in <A HREF="TABLE1">Table 1</A>.</P>
-
-<P>The <CODE>@LOCAL</CODE> name will allow browse data from all
-local interfaces. The <CODE>@IF(name)</CODE> name will allow
-browse data from the named interface. In both cases, CUPS only
-allows data from the network that the interface(s) are configured
-for - data arriving on the interface from a foreign network will
-<em>not</em> be allowed.</P>
-
-
-<H2 CLASS="title"><A NAME="BrowseDeny">BrowseDeny</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-BrowseDeny from all
-BrowseDeny from none
-BrowseDeny from 192.0.2
-BrowseDeny from 192.0.2.0/24
-BrowseDeny from 192.0.2.0/255.255.255.0
-BrowseDeny from *.example.com
-BrowseDeny from @LOCAL
-BrowseDeny from @IF(name)
-</PRE>
-
-<H3>Description</H3>
-
-<P>The <CODE>BrowseDeny</CODE> directive specifies a system or
-network to reject browse packets from. The default is to not deny
-browse packets from any hosts.</P>
-
-<P>Host and domain name matching require that you enable the <A
-HREF="#HostNameLookups"><CODE>HostNameLookups</CODE></A>
-directive.</P>
-
-<P>IP address matching supports exact matches, partial addresses that match
-networks using netmasks of 255.0.0.0, 255.255.0.0, and 255.255.255.0, or network
-addresses using the specified netmask or bit count. The <CODE>/mm</CODE>
-notation specifies a CIDR netmask, a shown in <A HREF="TABLE1">Table 1</A>.</P>
-
-<P>The <CODE>@LOCAL</CODE> name will block browse data from all
-local interfaces. The <CODE>@IF(name)</CODE> name will block
-browse data from the named interface. In both cases, CUPS only
-blocks data from the network that the interface(s) are configured
-for - data arriving on the interface from a foreign network will
-<em>not</em> be blocked.</P>
-
-
-<H2 CLASS="title"><A NAME="BrowseInterval">BrowseInterval</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-BrowseInterval 0
-BrowseInterval 30
-</PRE>
-
-<H3>Description</H3>
-
-<P>The <CODE>BrowseInterval</CODE> directive specifies the
-maximum amount of time between browsing updates. Specifying a
-value of 0 seconds disables outgoing browse updates but allows a
-server to receive printer information from other hosts.</P>
-
-<P>The <CODE>BrowseInterval</CODE> value should always be less
-than the <A HREF="#BrowseTimeout"><CODE>BrowseTimeout</CODE></A>
-value. Otherwise printers and classes will disappear from client
-systems between updates.</P>
-
-
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="BrowseLDAPBindDN">BrowseLDAPBindDN</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-BrowseLDAPBindDN foo
-</PRE>
-
-<H3>Description</H3>
-
-<P>The <CODE>BrowseLDAPBindDN</CODE> directive specifies the LDAP
-domain name to use when listening for printer registrations. The
-default is undefined.</P>
-
-
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.4/Mac OS X 10.6</SPAN><A NAME="BrowseLDAPCACertFile">BrowseLDAPCACertFile</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-BrowseLDAPCACertFile /etc/cups/ssl/certs
-</PRE>
-
-<H3>Description</H3>
-
-<P>The <CODE>BrowseLDAPCACertFile</CODE> directive specifies the SSL certificate
-authority file to use for LDAP + SSL. The default is undefined.</P>
-
-
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="BrowseLDAPDN">BrowseLDAPDN</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-BrowseLDAPDN bar
-</PRE>
-
-<H3>Description</H3>
-
-<P>The <CODE>BrowseLDAPDN</CODE> directive specifies the LDAP
-domain name to use when registering local shared printers. The
-default is undefined.</P>
-
-
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="BrowseLDAPPassword">BrowseLDAPPassword</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-BrowseLDAPPassword foo123
-</PRE>
-
-<H3>Description</H3>
-
-<P>The <CODE>BrowseLDAPPassword</CODE> directive specifies the
-access password to use when connecting to the LDAP server. The
-default is undefined.</P>
-
-
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="BrowseLDAPServer">BrowseLDAPServer</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-BrowseLDAPServer localhost
-</PRE>
-
-<H3>Description</H3>
-
-<P>The <CODE>BrowseLDAPServer</CODE> directive specifies the name
-of the LDAP server to connect to. The default is undefined.</P>
-
-
-<H2 CLASS="title"><A NAME="BrowseLocalOptions">BrowseLocalOptions</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-BrowseLocalOptions compression=yes
-BrowseLocalOptions encryption=required
-BrowseLocalOptions compression=yes&amp;encryption=required
-</PRE>
-
-<H3>Description</H3>
-
-<P>The <CODE>BrowseLocalOptions</CODE> directive specifies
-additional IPP backend options to advertise with local shared
-printers. The default is to not include any options.</P>
-
-
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="BrowseLocalProtocols">BrowseLocalProtocols</A></H2>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/OS X 10.5</SPAN><A NAME="BrowseLocalProtocols">BrowseLocalProtocols</A></H2>
 
 <H3>Examples</H3>
 
 <PRE CLASS="command">
 BrowseLocalProtocols all
 BrowseLocalProtocols none
-BrowseLocalProtocols cups
 BrowseLocalProtocols dnssd
-BrowseLocalProtocols ldap
-BrowseLocalProtocols lpd
-BrowseLocalProtocols slp
-BrowseLocalProtocols smb
-BrowseLocalProtocols cups dnssd
 </PRE>
 
 <H3>Description</H3>
@@ -582,230 +253,6 @@ network. Multiple protocols can be specified by separating them
 with spaces. The default is "<CODE>@CUPS_BROWSE_LOCAL_PROTOCOLS@</CODE>".</P>
 
 
-<H2 CLASS="title"><A NAME="BrowseOrder">BrowseOrder</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-BrowseOrder allow,deny
-BrowseOrder deny,allow
-</PRE>
-
-<H3>Description</H3>
-
-<P>The <CODE>BrowseOrder</CODE> directive specifies the order of
-allow/deny processing. The default order is
-<CODE>deny,allow</CODE>:</P>
-
-<UL>
-
-       <LI><CODE>allow,deny</CODE> - Deny browse packets by
-       default, then check <CODE>BrowseAllow</CODE> lines
-       followed by <CODE>BrowseDeny</CODE> lines.</LI>
-
-       <LI><CODE>deny,allow</CODE> - Allow browse packets by
-       default, then check <CODE>BrowseDeny</CODE> lines
-       followed by <CODE>BrowseAllow</CODE> lines.</LI>
-
-</UL>
-
-
-<H2 CLASS="title"><A NAME="BrowsePoll">BrowsePoll</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-BrowsePoll 192.0.2.2:631
-BrowsePoll host.example.com:631
-</PRE>
-
-<H3>Description</H3>
-
-<P>The <CODE>BrowsePoll</CODE> directive polls a server for
-available printers once every <A
-HREF="#BrowseInterval"><CODE>BrowseInterval</CODE></A> seconds.
-Multiple <CODE>BrowsePoll</CODE> directives can be specified to
-poll multiple servers.</P>
-
-<P>If <CODE>BrowseInterval</CODE> is set to 0 then the server is
-polled once every 30 seconds.</P>
-
-
-<H2 CLASS="title"><A NAME="BrowsePort">BrowsePort</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-BrowsePort 631
-BrowsePort 9999
-</PRE>
-
-<H3>Description</H3>
-
-<P>The <CODE>BrowsePort</CODE> directive specifies the UDP port number
-used for browse packets. The default port number is 631.</P>
-
-<BLOCKQUOTE><B>Note:</B>
-
-<P>You must set the <CODE>BrowsePort</CODE> to the same value
-on all of the systems that you want to see.
-
-</BLOCKQUOTE>
-
-
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.10</SPAN><A NAME="BrowseProtocols">BrowseProtocols</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-BrowseProtocols all
-BrowseProtocols none
-BrowseProtocols cups
-BrowseProtocols dnssd
-BrowseProtocols ldap
-BrowseProtocols lpd
-BrowseProtocols slp
-BrowseProtocols smb
-BrowseProtocols cups dnssd
-</PRE>
-
-<H3>Description</H3>
-
-<P>The <CODE>BrowseProtocols</CODE> directive specifies the
-protocols to use when showing and advertising shared printers on
-the local network. Multiple protocols can be specified by
-separating them with spaces. The default protocol is
-"<CODE>@CUPS_BROWSE_LOCAL_PROTOCOLS@</CODE>" for
-<A HREF="#BrowseLocalProtocols"><CODE>BrowseLocalProtocols</CODE></A> and
-"<CODE>@CUPS_BROWSE_REMOTE_PROTOCOLS@</CODE>" for
-<A HREF="#BrowseRemoteProtocols"><CODE>BrowseRemoteProtocols</CODE></A>.</P>
-
-<BLOCKQUOTE><B>Note:</B>
-
-<P>When using the <CODE>SLP</CODE> protocol, you must have at least
-one Directory Agent (DA) server on your network. Otherwise the
-CUPS scheduler (<CODE>cupsd</CODE>) will not respond to client
-requests for several seconds while polling the network.</P>
-
-</BLOCKQUOTE>
-
-
-<H2 CLASS="title"><A NAME="BrowseRelay">BrowseRelay</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-BrowseRelay 193.0.2.1 192.0.2.255
-BrowseRelay 193.0.2.0/255.255.255.0 192.0.2.255
-BrowseRelay 193.0.2.0/24 192.0.2.255
-BrowseRelay *.example.com 192.0.2.255
-BrowseRelay host.example.com 192.0.2.255
-</PRE>
-
-<H3>Description</H3>
-
-<P>The <CODE>BrowseRelay</CODE> directive specifies source and
-destination addresses for relaying browsing information from one
-host or network to another. Multiple <CODE>BrowseRelay</CODE>
-directives can be specified as needed.</P>
-
-<P><CODE>BrowseRelay</CODE> is typically used on systems that
-bridge multiple subnets using one or more network interfaces. It
-can also be used to relay printer information from polled servers
-with the line:</P>
-
-<PRE CLASS="command">
-BrowseRelay 127.0.0.1 192.0.2.255
-</PRE>
-
-<P>This effectively provides access to printers on a WAN for all
-clients on the LAN. Use multiple <CODE>BrowseRelay</CODE> lines to
-relay information to multiple subnets.</P>
-
-
-<H2 CLASS="title"><A NAME="BrowseRemoteOptions">BrowseRemoteOptions</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-BrowseRemoteOptions compression=yes
-BrowseRemoteOptions encryption=required
-BrowseRemoteOptions ?compression=yes&amp;encryption=required
-</PRE>
-
-<H3>Description</H3>
-
-<P>The <CODE>BrowseRemoteOptions</CODE> directive specifies
-additional IPP backend options to include with remote shared
-printers. If the options string begins with a question mark (?),
-the options replace any options specified by the remote server.
-The default is to not include any options.</P>
-
-
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="BrowseRemoteProtocols">BrowseRemoteProtocols</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-BrowseRemoteProtocols all
-BrowseRemoteProtocols none
-BrowseRemoteProtocols cups
-BrowseRemoteProtocols ldap
-BrowseRemoteProtocols slp
-</PRE>
-
-<H3>Description</H3>
-
-<P>The <CODE>BrowseRemoteProtocols</CODE> directive specifies the
-protocols to use when finding remote shared printers on the
-network. Multiple protocols can be specified by separating them
-with spaces. The default is "<CODE>@CUPS_BROWSE_REMOTE_PROTOCOLS@</CODE>".</P>
-
-
-<H2 CLASS="title"><A NAME="BrowseShortNames">BrowseShortNames</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-BrowseShortNames Yes
-BrowseShortNames No
-</PRE>
-
-<H3>Description</H3>
-
-<P>The <CODE>BrowseShortNames</CODE> directive specifies whether
-or not short names are used for remote printers when possible.
-Short names are just the remote printer name, without the server
-("printer"). If more than one remote printer is detected with the
-same name, the printers will have long names ("printer@server1",
-"printer@server2".)</P>
-
-<P>The default value for this option is <CODE>@CUPS_BROWSE_SHORT_NAMES@</CODE>.</P>
-
-
-<H2 CLASS="title"><A NAME="BrowseTimeout">BrowseTimeout</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-BrowseTimeout 300
-BrowseTimeout 60
-</PRE>
-
-<H3>Description</H3>
-
-<P>The <CODE>BrowseTimeout</CODE> directive sets the timeout for
-printer or class information that is received in browse packets.
-Once a printer or class times out it is removed from the list of
-available destinations.</P>
-
-<P>The <CODE>BrowseTimeout</CODE> value should always be greater
-than the <A
-HREF="#BrowseInterval"><CODE>BrowseInterval</CODE></A> value.
-Otherwise printers and classes will disappear from client systems
-between updates.</P>
-
-
 <H2 CLASS="title"><A NAME="BrowseWebIF">BrowseWebIF</A></H2>
 
 <H3>Examples</H3>
@@ -834,24 +281,9 @@ Browsing Off
 <H3>Description</H3>
 
 <P>The <CODE>Browsing</CODE> directive controls whether or not
-network printer browsing is enabled. The default setting is
+printer sharing is enabled. The default setting is
 <CODE>@CUPS_BROWSING@</CODE>.</P>
 
-<P>This directive does not enable sharing of local printers by
-itself; you must also use the <A
-HREF="#BrowseAddress"><CODE>BrowseAddress</CODE></A> or <A
-HREF="#BrowseProtocols"><CODE>BrowseProtocols</CODE></A>
-directives to advertise local printers to other systems.</P>
-
-<BLOCKQUOTE><B>Note:</B>
-
-<P>If you are using HP-UX 10.20 and a subnet that is not 24,
-16, or 8 bits, printer browsing (and in fact all broadcast
-reception) will not work. This problem appears to be fixed in
-HP-UX 11.0.</P>
-
-</BLOCKQUOTE>
-
 
 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.7</SPAN><A NAME="Classification">Classification</A></H2>
 
@@ -898,41 +330,7 @@ used.</P>
 <P>The default is to not allow classification overrides.</P>
 
 
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.15</SPAN><A NAME="ConfigFilePerm">ConfigFilePerm</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-ConfigFilePerm 0644
-ConfigFilePerm 0640
-</PRE>
-
-<H3>Description</H3>
-
-<P>The <CODE>ConfigFilePerm</CODE> directive specifies the permissions to use when the scheduler writes configuration and cache files, typically in response to IPP or HTTP requests. The default is @CUPS_CONFIG_FILE_PERM@.</P>
-
-<BLOCKQUOTE><B>Note:</B>
-
-<P>The permissions for the <VAR>printers.conf</VAR> file are always masked to only allow access from the scheduler user (typically root). This is done because printer device URIs sometimes contain sensitive authentication information that should not be generally known on the system. There is no way to disable this security feature.</P>
-
-</BLOCKQUOTE>
-
-
-<H2 CLASS="title"><A NAME="DataDir">DataDir</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-DataDir /usr/share/cups
-</PRE>
-
-<H3>Description</H3>
-
-<P>The <CODE>DataDir</CODE> directive sets the directory to use
-for data files.</P>
-
-
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="DefaultAuthType">DefaultAuthType</A></H2>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/OS X 10.5</SPAN><A NAME="DefaultAuthType">DefaultAuthType</A></H2>
 
 <H3>Examples</H3>
 
@@ -950,7 +348,7 @@ of authentication to use for IPP operations that require a
 username. The default is <CODE>Basic</CODE>.</P>
 
 
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="DefaultEncryption">DefaultEncryption</A></H2>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/OS X 10.5</SPAN><A NAME="DefaultEncryption">DefaultEncryption</A></H2>
 
 <H3>Examples</H3>
 
@@ -988,7 +386,7 @@ language localization file exists for it. The default language
 is "en" for English.</P>
 
 
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.4/Mac OS X 10.6</SPAN><A NAME="DefaultPaperSize">DefaultPaperSize</A></H2>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.4/OS X 10.6</SPAN><A NAME="DefaultPaperSize">DefaultPaperSize</A></H2>
 
 <H3>Examples</H3>
 
@@ -1008,7 +406,7 @@ of <CODE>None</CODE> tells the scheduler to not set the default paper
 size.</P>
 
 
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="DefaultPolicy">DefaultPolicy</A></H2>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/OS X 10.5</SPAN><A NAME="DefaultPolicy">DefaultPolicy</A></H2>
 
 <H3>Examples</H3>
 
@@ -1027,7 +425,7 @@ policy to use for IPP operation. The default is
 and other job operations.</P>
 
 
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="DefaultShared">DefaultShared</A></H2>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/OS X 10.5</SPAN><A NAME="DefaultShared">DefaultShared</A></H2>
 
 <H3>Examples</H3>
 
@@ -1095,48 +493,24 @@ HREF="#Location"><CODE>Location</CODE></A> or <A
 HREF="#Limit"><CODE>Limit</CODE></A> section.</P>
 
 
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.4/Mac OS X 10.6</SPAN><A NAME="DirtyCleanInterval">DirtyCleanInterval</A></H2>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.4/OS X 10.6</SPAN><A NAME="DirtyCleanInterval">DirtyCleanInterval</A></H2>
 
 <H3>Examples</H3>
 
 <PRE CLASS="command">
+DirtyCleanInterval 1w
+DirtyCleanInterval 1d
+DirtyCleanInterval 1h
+DirtyCleanInterval 1m
 DirtyCleanInterval 30
 DirtyCleanInterval 0
 </PRE>
 
 <H3>Description</H3>
 
-<P>The <CODE>DirtyCleanInterval</CODE> directive specifies the number of
-seconds to wait before updating configuration and state files for printers,
-classes, subscriptions, and jobs. The default is 30 seconds. A value of 0
-causes the update to occur as soon as possible, typically within a few
-milliseconds.</P>
-
-
-<H2 CLASS="title"><A NAME="DocumentRoot">DocumentRoot</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-DocumentRoot /usr/share/doc/cups
-DocumentRoot /foo/bar/doc/cups
-</PRE>
-
-<H3>Description</H3>
-
-<P>The <CODE>DocumentRoot</CODE> directive specifies the location
-of web content for the HTTP server in CUPS. If an absolute path
-is not specified then it is assumed to be relative to the <A
-HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory. The
-default directory is <VAR>@CUPS_DOCROOT@</VAR>.</P>
+<P>The <CODE>DirtyCleanInterval</CODE> directive specifies the amount of time to wait before updating configuration and state files for printers, classes, subscriptions, and jobs in seconds (no suffix), minutes ("m" suffix), hours ("h" suffix), days ("d" suffix), or weeks ("w" suffix). A value of <CODE>0</CODE> causes the update to occur as soon as possible, typically within a few milliseconds.</P>
 
-<P>Documents are first looked up in a sub-directory for the
-primary language requested by the client (e.g.
-<VAR>@CUPS_DOCROOT@/fr/...</VAR>) and then directly under
-the <CODE>DocumentRoot</CODE> directory (e.g.
-<VAR>@CUPS_DOCROOT@/...</VAR>), so it is possible to
-localize the web content by providing subdirectories for each
-language needed.</P>
+<P>The default value is <CODE>30</CODE> (30 seconds).</P>
 
 
 <H2 CLASS="title"><A NAME="Encryption">Encryption</A></H2>
@@ -1161,32 +535,7 @@ encryption settings for that location. The default setting is
 <CODE>IfRequested</CODE> for all locations.</P>
 
 
-<H2 CLASS="title"><A NAME="ErrorLog">ErrorLog</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-ErrorLog /var/log/cups/error_log
-ErrorLog /var/log/cups/error_log-%s
-ErrorLog syslog
-</PRE>
-
-<H3>Description</H3>
-
-<P>The <CODE>ErrorLog</CODE> directive sets the name of the error
-log file. If the filename is not absolute then it is assumed to
-be relative to the <A
-HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory. The
-default error log file is <VAR>@CUPS_LOGDIR@/error_log</VAR>.</P>
-
-<P>The server name can be included in the filename by using
-<CODE>%s</CODE> in the name.</P>
-
-<P>The special name "syslog" can be used to send the error
-information to the system log instead of a plain file.</P>
-
-
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.3/Mac OS X 10.5</SPAN><A NAME="ErrorPolicy">ErrorPolicy</A></H2>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.3/OS X 10.5</SPAN><A NAME="ErrorPolicy">ErrorPolicy</A></H2>
 
 <H3>Examples</H3>
 
@@ -1214,99 +563,14 @@ printer.</P>
        HREF="#JobRetryInterval"><CODE>JobRetryInterval</CODE></A>
        directive controls the value of N</LI>
 
-       <LI><CODE>retry-this-job</CODE> - Retry the current job immediately
-       and indefinitely.</LI>
-
-       <LI><CODE>stop-printer</CODE> - Stop the printer and keep
-       the job for future printing; this is the default
-       value</LI>
-
-</UL>
-
-
-
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.4/Mac OS X 10.6</SPAN><A NAME="FatalErrors">FatalErrors</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-FatalErrors none
-FatalErrors all
-FatalErrors browse
-FatalErrors config
-FatalErrors listen
-FatalErrors log
-FatalErrors permissions
-FatalErrors all -permissions
-FatalErrors config permissions log
-</PRE>
-
-<H3>Description</H3>
-
-<P>The <CODE>FatalErrors</CODE> directive determines whether certain kinds of
-errors are fatal. The following kinds of errors are currently recognized:</P>
-
-<UL>
-
-       <LI><CODE>none</CODE> - No errors are fatal</LI>
-
-       <LI><CODE>all</CODE> - All of the errors below are fatal</LI>
-
-       <LI><CODE>browse</CODE> - Browsing initialization errors are fatal,
-       for example failed binding to the CUPS browse port or failed connections
-       to LDAP servers</LI>
-
-       <LI><CODE>config</CODE> - Configuration file syntax errors are
-       fatal</LI>
-
-       <LI><CODE>listen</CODE> - Listen or Port errors are fatal, except for
-       IPv6 failures on the loopback or "any" addresses</LI>
-
-       <LI><CODE>log</CODE> - Log file creation or write errors are fatal</LI>
-
-       <LI><CODE>permissions</CODE> - Bad startup file permissions are
-       fatal, for example shared SSL certificate and key files with world-
-       read permissions</LI>
-
-</UL>
-
-<P>Multiple errors can be listed, and the form "-kind" can be used with
-<CODE>all</CODE> to remove specific kinds of errors. The default setting is
-<CODE>@CUPS_FATAL_ERRORS@</CODE>.</P>
-
-
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.18</SPAN><A NAME="FileDevice">FileDevice</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-FileDevice Yes
-FileDevice No
-</PRE>
-
-<H3>Description</H3>
-
-<P>The <CODE>FileDevice</CODE> directive determines whether the
-scheduler allows new printers to be added using device URIs of
-the form <CODE>file:/filename</CODE>. File devices are most often
-used to test new printer drivers and do not support raw file
-printing.</P>
-
-<P>The default setting is <CODE>No</CODE>.</P>
-
-<BLOCKQUOTE><B>Note:</B>
+       <LI><CODE>retry-this-job</CODE> - Retry the current job immediately
+       and indefinitely.</LI>
 
-<P>File devices are managed by the scheduler. Since the
-scheduler normally runs as the root user, file devices
-can be used to overwrite system files and potentially
-gain unauthorized access to the system. If you must
-create printers using file devices, we recommend that
-you set the <CODE>FileDevice</CODE> directive to
-<CODE>Yes</CODE> for only as long as you need to add the
-printers to the system, and then reset the directive to
-<CODE>No</CODE>.</P>
+       <LI><CODE>stop-printer</CODE> - Stop the printer and keep
+       the job for future printing; this is the default
+       value</LI>
 
-</BLOCKQUOTE>
+</UL>
 
 
 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.3</SPAN><A NAME="FilterLimit">FilterLimit</A></H2>
@@ -1353,56 +617,18 @@ value to assign to filter processes. The nice value ranges from
 is 0.</P>
 
 
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.3</SPAN><A NAME="FontPath">FontPath</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-FontPath /foo/bar/fonts
-FontPath /usr/share/cups/fonts:/foo/bar/fonts
-</PRE>
-
-<H3>Description</H3>
-
-<P>The <CODE>FontPath</CODE> directive specifies the font path to
-use when searching for fonts. The default font path is
-<CODE>/usr/share/cups/fonts</CODE>.</P>
-
-
-<H2 CLASS="title"><A NAME="Group">Group</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-Group lp
-Group nobody
-</PRE>
-
-<H3>Description</H3>
-
-<P>The <CODE>Group</CODE> directive specifies the UNIX group that
-filter and CGI programs run as. The default group is
-system-specific but is usually <CODE>lp</CODE> or
-<CODE>nobody</CODE>.</P>
-
-
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.10</SPAN><A NAME="HideImplicitMembers">HideImplicitMembers</A></H2>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.6/OS X 10.8</SPAN><A NAME="GSSServiceName">GSSServiceName</A></H2>
 
 <H3>Examples</H3>
 
 <PRE CLASS="command">
-HideImplicitMembers Yes
-HideImplicitMembers No
+GSSServiceName http
+GSSServiceName ipp
 </PRE>
 
 <H3>Description</H3>
 
-<P>The <CODE>HideImplicitMembers</CODE> directive controls
-whether the individual printers in an implicit class are hidden
-from the user. The default is <CODE>Yes</CODE>.</P>
-
-<P><A HREF="#ImplicitClasses"><CODE>ImplicitClasses</CODE></A>
-must be enabled for this directive to have any effect.</P>
+<P>The <CODE>GSSServiceName</CODE> directive sets the Kerberos service name to use. The default is <CODE>@CUPS_DEFAULT_GSSSERVICE_NAME@</CODE> for compatibility with Microsoft Windows.</P>
 
 
 <H2 CLASS="title"><A NAME="HostNameLookups">HostNameLookups</A></H2>
@@ -1431,45 +657,6 @@ performance problems with hostname lookups. Set this option to
 required.</P>
 
 
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.10</SPAN><A NAME="ImplicitAnyClasses">ImplicitAnyClasses</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-ImplicitAnyClasses On
-ImplicitAnyClasses Off
-</PRE>
-
-<H3>Description</H3>
-
-<P>The <CODE>ImplicitAnyClasses</CODE> directive controls
-whether implicit classes for local and remote printers are
-created with the name <CODE>AnyPrinter</CODE>. The default
-setting is <CODE>Off</CODE>.</P>
-
-<P><A HREF="#ImplicitClasses"><CODE>ImplicitClasses</CODE></A>
-must be enabled for this directive to have any effect.</P>
-
-
-<H2 CLASS="title"><A NAME="ImplicitClasses">ImplicitClasses</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-ImplicitClasses On
-ImplicitClasses Off
-</PRE>
-
-<H3>Description</H3>
-
-<P>The <CODE>ImplicitClasses</CODE> directive controls whether
-implicit classes are created based upon the available network
-printers and classes. The default setting is
-<CODE>@CUPS_IMPLICIT_CLASSES@</CODE> but is automatically turned
-<CODE>Off</CODE> if <A HREF="#Browsing"><CODE>Browsing</CODE></A> is turned
-<CODE>Off</CODE>.</P>
-
-
 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.9</SPAN><A NAME="Include">Include</A></H2>
 
 <H3>Examples</H3>
@@ -1484,7 +671,7 @@ Include /foo/bar/filename
 <P>The <CODE>Include</CODE> directive includes the named file in
 the <CODE>cupsd.conf</CODE> file. If no leading path is provided,
 the file is assumed to be relative to the <A
-HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory.</P>
+HREF="ref-cups-files-conf.html#ServerRoot"><CODE>ServerRoot</CODE></A> directory.</P>
 
 
 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.5</SPAN><A NAME="JobPrivateAccess">JobPrivateAccess</A></H2>
@@ -1523,47 +710,51 @@ JobPrivateValues attribute-name-1 [ ... attribute-name-N ]
 
 <P>The <CODE>JobPrivateValues</CODE> directive specifies the list of job values
 to make private. The "default" values are "job-name",
-"job-originating-host-name", and "job-originating-user-name".</P>
+"job-originating-host-name", "job-originating-user-name", and "phone".</P>
 
 <P>The <CODE>JobPrivateValues</CODE> directive must appear inside a <A
 HREF="#Policy"><CODE>Policy</CODE></A> section.</P>
 
 
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="JobRetryInterval">JobRetryInterval</A></H2>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/OS X 10.5</SPAN><A NAME="JobRetryInterval">JobRetryInterval</A></H2>
 
 <H3>Examples</H3>
 
 <PRE CLASS="command">
+JobRetryInterval 1w
+JobRetryInterval 1d
+JobRetryInterval 1h
+JobRetryInterval 1m
 JobRetryInterval 30
-JobRetryInterval 120
 </PRE>
 
 <H3>Description</H3>
 
-<P>The <CODE>JobRetryInterval</CODE> directive specifies the
-number of seconds to wait before retrying a job. This is
-typically used for fax queues but can also be used with normal
-print queues whose error policy is <CODE>retry-job</CODE>. The
-default is 30 seconds.</P>
+<P>The <CODE>JobRetryInterval</CODE> directive specifies the amount of time to wait before retrying a job in seconds (no suffix), minutes ("m" suffix), hours ("h" suffix), days ("d" suffix), or weeks ("w" suffix). This is typically used for fax queues but can also be used with normal print queues whose error policy is <CODE>retry-job</CODE> or <CODE>retry-current-job</CODE>.</P>
+
+<P>The default is <CODE>30</CODE> (30 seconds).</P>
 
 
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.4/Mac OS X 10.6</SPAN><A NAME="JobKillDelay">JobKillDelay</A></H2>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.4/OS X 10.6</SPAN><A NAME="JobKillDelay">JobKillDelay</A></H2>
 
 <H3>Examples</H3>
 
 <PRE CLASS="command">
+JobKillDelay 1w
+JobKillDelay 1d
+JobKillDelay 1h
+JobKillDelay 1m
 JobKillDelay 30
-JobKillDelay 120
 </PRE>
 
 <H3>Description</H3>
 
-<P>The <CODE>JobKillDelay</CODE> directive specifies the number of seconds to
-wait before killing the filters and backend associated with a canceled or held
-job. The default is 30 seconds.</P>
+<P>The <CODE>JobKillDelay</CODE> directive specifies the amount of time to wait before killing the filters and backend associated with a canceled or held job in seconds (no suffix), minutes ("m" suffix), hours ("h" suffix), days ("d" suffix), or weeks ("w" suffix).</P>
 
+<P>The default is <CODE>30</CODE> (30 seconds).</P>
 
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="JobRetryLimit">JobRetryLimit</A></H2>
+
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/OS X 10.5</SPAN><A NAME="JobRetryLimit">JobRetryLimit</A></H2>
 
 <H3>Examples</H3>
 
@@ -1607,15 +798,18 @@ field of each request.</P>
 <H3>Examples</H3>
 
 <PRE CLASS="command">
-KeepAliveTimeout 60
+KeepAliveTimeout 1w
+KeepAliveTimeout 1d
+KeepAliveTimeout 1h
+KeepAliveTimeout 1m
 KeepAliveTimeout 30
 </PRE>
 
 <H3>Description</H3>
 
-<P>The <CODE>KeepAliveTimeout</CODE> directive controls how long
-a persistent HTTP connection will remain open after the last
-request. The default is 30 seconds.</P>
+<P>The <CODE>KeepAliveTimeout</CODE> directive controls how long a persistent HTTP connection will remain open after the last request in seconds (no suffix), minutes ("m" suffix), hours ("h" suffix), days ("d" suffix), or weeks ("w" suffix).</P>
+
+<P>The default is <CODE>30</CODE> (30 seconds).</P>
 
 
 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.7</SPAN><A NAME="Limit">Limit (Location)</A></H2>
@@ -1647,7 +841,7 @@ The request type names are case-sensitive for compatibility with
 Apache.</P>
 
 
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="LimitIPP">Limit (Policy)</A></H2>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/OS X 10.5</SPAN><A NAME="LimitIPP">Limit (Policy)</A></H2>
 
 <H3>Examples</H3>
 
@@ -2030,22 +1224,6 @@ error occurs during printing. The default is 200 messages. A value of 0
 disables debugging history entirely and is not recommended.</P>
 
 
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.15</SPAN><A NAME="LogFilePerm">LogFilePerm</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-LogFilePerm 0644
-LogFilePerm 0600
-</PRE>
-
-<H3>Description</H3>
-
-<P>The <CODE>LogFilePerm</CODE> directive specifies the
-permissions to use when writing log files. The default
-is @CUPS_LOG_FILE_PERM@.</P>
-
-
 <H2 CLASS="title"><A NAME="LogLevel">LogLevel</A></H2>
 
 <H3>Examples</H3>
@@ -2066,7 +1244,7 @@ LogLevel debug2
 <H3>Description</H3>
 
 <P>The <CODE>LogLevel</CODE> directive specifies the level of
-logging for the <A HREF="#ErrorLog"><CODE>ErrorLog</CODE></A>
+logging for the <A HREF="ref-cups-files-conf.html#ErrorLog"><CODE>ErrorLog</CODE></A>
 file. The following values are recognized (each level logs
 everything under the preceding levels):</P>
 
@@ -2187,6 +1365,23 @@ copies to 100.</P>
 </BLOCKQUOTE>
 
 
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.6/OS X 10.8</SPAN><A NAME="MaxHoldTime">MaxHoldTime</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+MaxHoldTime 10800
+MaxHoldTime 3h
+MaxHoldTime 180m
+MaxHoldTime 0
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>MaxHoldTime</CODE> directive controls the maximum number of seconds allowed for a job to remain in the "indefinite" hold state. The job is canceled automatically if it remains held indefinitely longer than the specified time interval in seconds (no suffix), minutes ("m" suffix), hours ("h" suffix), days ("d" suffix), or weeks ("w" suffix).</P>
+
+<p>The default setting is <CODE>0</CODE> which disables this functionality.</P>
+
 
 <H2 CLASS="title"><A NAME="MaxJobs">MaxJobs</A></H2>
 
@@ -2254,6 +1449,26 @@ active jobs is completed, stopped, aborted, or canceled.</P>
 default setting is 0.</P>
 
 
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.6/OS X 10.8</SPAN><A NAME="MaxJobTime">MaxJobTime</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+MaxJobTime 10800
+MaxJobTime 3h
+MaxJobTime 180m
+MaxJobTime 0
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>MaxJobTime</CODE> directive controls the maximum number of
+seconds allowed for a job to complete printing before it is considered "stuck".
+The job is canceled automatically if it takes longer than the specified time to complete in seconds (no suffix), minutes ("m" suffix), hours ("h" suffix), days ("d" suffix), or weeks ("w" suffix).</P>
+
+<p>Setting the maximum time to <CODE>0</CODE> disables this functionality. The default setting is <CODE>3h</CODE> (3 hours).</P>
+
+
 <H2 CLASS="title"><A NAME="MaxLogSize">MaxLogSize</A></H2>
 
 <H3>Examples</H3>
@@ -2298,20 +1513,23 @@ HREF="#LimitRequestBody"><CODE>LimitRequestBody</CODE></A>
 directive instead.</P>
 
 
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.4/Mac OS X 10.6</SPAN><A NAME="MultipleOperationTimeout">MultipleOperationTimeout</A></H2>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.4/OS X 10.6</SPAN><A NAME="MultipleOperationTimeout">MultipleOperationTimeout</A></H2>
 
 <H3>Examples</H3>
 
 <PRE CLASS="command">
-MultipleOperationTimeout 60
+MultipleOperationTimeout 1w
+MultipleOperationTimeout 1d
+MultipleOperationTimeout 1h
+MultipleOperationTimeout 5m
 MultipleOperationTimeout 300
-MultipleOperationTimeout 86400
 </PRE>
 
 <H3>Description</H3>
 
-<P>The <CODE>MultipleOperationTimeout</CODE> directive sets the maximum amount
-of time between files in a multi-file print job. The default is 300 seconds.</P>
+<P>The <CODE>MultipleOperationTimeout</CODE> directive sets the maximum amount of time between files in a multi-file print job in seconds (no suffix), minutes ("m" suffix), hours ("h" suffix), days ("d" suffix), or weeks ("w" suffix).</P>
+
+<P>The default is <CODE>5m</CODE> (five minutes).</P>
 
 
 <H2 CLASS="title"><A NAME="Order">Order</A></H2>
@@ -2350,31 +1568,6 @@ HREF="#Location"><CODE>Location</CODE></A> or <A
 HREF="#Limit"><CODE>Limit</CODE></A> section.</P>
 
 
-<H2 CLASS="title"><A NAME="PageLog">PageLog</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-PageLog /var/log/cups/page_log
-PageLog /var/log/cups/page_log-%s
-PageLog syslog
-</PRE>
-
-<H3>Description</H3>
-
-<P>The <CODE>PageLog</CODE> directive sets the name of the page
-log file. If the filename is not absolute then it is assumed to
-be relative to the <A
-HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory. The
-default page log file is <VAR>@CUPS_LOGDIR@/page_log</VAR>.</P>
-
-<P>The server name can be included in the filename by using
-<CODE>%s</CODE> in the name.</P>
-
-<P>The special name "syslog" can be used to send the page
-information to the system log instead of a plain file.</P>
-
-
 <H2 CLASS="title"><A NAME="PageLogFormat">PageLogFormat</A></H2>
 
 <H3>Examples</H3>
@@ -2417,7 +1610,7 @@ recognized:</P>
 <P>The default is "%p %u %j %T %P %C %{job-billing} %{job-originating-host-name} %{job-name} %{media} %{sides}".</P>
 
 
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="PassEnv">PassEnv</A></H2>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/OS X 10.5</SPAN><A NAME="PassEnv">PassEnv</A></H2>
 
 <H3>Examples</H3>
 
@@ -2436,7 +1629,7 @@ scheduler only passes the <CODE>DYLD_LIBRARY_PATH</CODE>,
 environment variables to child processes.</P>
 
 
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="Policy">Policy</A></H2>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/OS X 10.5</SPAN><A NAME="Policy">Policy</A></H2>
 
 <H3>Examples</H3>
 
@@ -2504,20 +1697,24 @@ the IPv4 and IPv6 wildcard address.</P>
 <PRE CLASS="command">
 PreserveJobHistory On
 PreserveJobHistory Off
+PreserveJobHistory 1w
+PreserveJobHistory 7d
+PreserveJobHistory 168h
+PreserveJobHistory 10080m
+PreserveJobHistory 604800
 </PRE>
 
 <H3>Description</H3>
 
-<P>The <CODE>PreserveJobHistory</CODE> directive controls whether
-the history of completed, canceled, or aborted print jobs is
-stored on disk.</P>
+<P>The <CODE>PreserveJobHistory</CODE> directive controls whether the history of completed, canceled, or aborted print jobs is retained by the scheduler. A value of <CODE>On</CODE> preserves job information until the administrator purges it with the <CODE>cancel</CODE> command. A value of <CODE>Off</CODE> removes the job information as soon as each job is completed, canceled, or aborted. Numeric values preserve job information for the specified number of seconds (no suffix), minutes ("m" suffix), hours ("h" suffix), days ("d" suffix), or weeks ("w" suffix).</P>
 
-<P>A value of <CODE>On</CODE> (the default) preserves job
-information until the administrator purges it with the
-<CODE>cancel</CODE> command.</P>
+<P>The default value is <CODE>On</CODE>.</P>
 
-<P>A value of <CODE>Off</CODE> removes the job information as
-soon as each job is completed, canceled, or aborted.</P>
+<BLOCKQUOTE><B>Note:</B>
+
+<P>The <A HREF="#MaxJobs"><CODE>MaxJobs</CODE></A>, <A HREF="#MaxJobsPerPrinter"><CODE>MaxJobsPerPrinter</CODE></A>, and <A HREF="#MaxJobsPerUser"><CODE>MaxJobsPerUser</CODE></A> directives can cause job history to be discarded to make room for new jobs.</P>
+
+</BLOCKQUOTE>
 
 
 <H2 CLASS="title"><A NAME="PreserveJobFiles">PreserveJobFiles</A></H2>
@@ -2527,80 +1724,26 @@ soon as each job is completed, canceled, or aborted.</P>
 <PRE CLASS="command">
 PreserveJobFiles On
 PreserveJobFiles Off
+PreserveJobFiles 1w
+PreserveJobFiles 7d
+PreserveJobFiles 168h
+PreserveJobFiles 10080m
+PreserveJobFiles 604800
 </PRE>
 
 <H3>Description</H3>
 
-<P>The <CODE>PreserveJobFiles</CODE> directive controls whether
-the document files of completed, canceled, or aborted print jobs
-are stored on disk.</P>
-
-<P>A value of <CODE>On</CODE> preserves job files until the
-administrator purges them with the <CODE>cancel</CODE> command.
-Jobs can be restarted (and reprinted) as desired until they are
-purged.</P>
-
-<P>A value of <CODE>Off</CODE> (the default) removes the job
-files as soon as each job is completed, canceled, or aborted.</P>
-
-
-<H2 CLASS="title"><A NAME="Printcap">Printcap</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-Printcap
-Printcap /etc/printcap
-Printcap /etc/printers.conf
-Printcap /Library/Preferences/org.cups.printers.plist
-</PRE>
-
-<H3>Description</H3>
-
-<P>The <CODE>Printcap</CODE> directive controls whether or not a
-printcap file is automatically generated and updated with a list
-of available printers. If specified with no value, then no
-printcap file will be generated. The default is to generate a
-file named <VAR>@CUPS_DEFAUL_PRINTCAP@</VAR>.</P>
-
-<P>When a filename is specified (e.g. <VAR>@CUPS_DEFAULT_PRINTCAP@</VAR>),
-the printcap file is written whenever a printer is added or
-removed. The printcap file can then be used by applications that
-are hardcoded to look at the printcap file for the available
-printers.</P>
-
-
-<H2 CLASS="title"><A NAME="PrintcapFormat">PrintcapFormat</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-PrintcapFormat BSD
-PrintcapFormat Solaris
-PrintcapFormat plist
-</PRE>
-
-<H3>Description</H3>
-
-<P>The <CODE>PrintcapFormat</CODE> directive controls the output format of the
-printcap file. The default is to generate the plist format on Mac OS X, the
-Solaris format on Solaris, and the BSD format on other operating systems.</P>
-
+<P>The <CODE>PreserveJobFiles</CODE> directive controls whether the document files of completed, canceled, or aborted print jobs are retained. Jobs can be restarted (and reprinted) as desired until they are purged.</P>
 
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.13</SPAN><A NAME="PrintcapGUI">PrintcapGUI</A></H2>
+<P>A value of <CODE>On</CODE> preserves job files until the administrator purges them with the <CODE>cancel</CODE> command. A value of <CODE>Off</CODE> removes the job files as soon as each job is completed, canceled, or aborted. Numeric values preserve job files for the specified number of seconds (no suffix), minutes ("m" suffix), hours ("h" suffix), days ("d" suffix), or weeks ("w" suffix).</P>
 
-<H3>Examples</H3>
+<P>The default value is <CODE>1d</CODE> (one day).</P>
 
-<PRE CLASS="command">
-PrintGUI /usr/bin/glpoptions
-</PRE>
+<BLOCKQUOTE><B>Note:</B>
 
-<H3>Description</H3>
+<P>The <A HREF="#MaxJobs"><CODE>MaxJobs</CODE></A>, <A HREF="#MaxJobsPerPrinter"><CODE>MaxJobsPerPrinter</CODE></A>, <A HREF="#MaxJobsPerUser"><CODE>MaxJobsPerUser</CODE></A>, and <A HREF="#PreserveJobHistory"><CODE>PreserveJobHistory</CODE></A> directives can cause job files to be discarded sooner than specified.</P>
 
-<P>The <CODE>PrintcapGUI</CODE> directive sets the program to
-associate with the IRIX printer GUI interface script which is
-used by IRIX applications to display printer-specific options.
-There is no default program.</P>
+</BLOCKQUOTE>
 
 
 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.21</SPAN><A NAME="ReloadTimeout">ReloadTimeout</A></H2>
@@ -2619,42 +1762,6 @@ of seconds the scheduler will wait for active jobs to complete
 before doing a restart. The default is 30 seconds.</P>
 
 
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.3</SPAN><A NAME="RemoteRoot">RemoteRoot</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-RemoteRoot remroot
-RemoteRoot root
-</PRE>
-
-<H3>Description</H3>
-
-<P>The <CODE>RemoteRoot</CODE> directive sets the username for
-unauthenticated root requests from remote hosts. The default
-username is <VAR>remroot</VAR>. Setting <CODE>RemoteRoot</CODE>
-to <VAR>root</VAR> effectively disables this security
-mechanism.</P>
-
-
-<H2 CLASS="title"><A NAME="RequestRoot">RequestRoot</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-RequestRoot /var/spool/cups
-RequestRoot /foo/bar/spool/cups
-</PRE>
-
-<H3>Description</H3>
-
-<P>The <CODE>RequestRoot</CODE> directive sets the directory for
-incoming IPP requests and HTML forms. If an absolute path is not
-provided then it is assumed to be relative to the <A
-HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory. The
-default request directory is <VAR>@CUPS_REQUESTS@</VAR>.</P>
-
-
 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.7</SPAN><A NAME="Require">Require</A></H2>
 
 <H3>Examples</H3>
@@ -2717,17 +1824,18 @@ megabytes.</P>
 
 <PRE CLASS="command">
 RootCertDuration 0
+RootCertDuration 1w
+RootCertDuration 1d
+RootCertDuration 1h
+RootCertDuration 5m
 RootCertDuration 300
 </PRE>
 
 <H3>Description</H3>
 
-<P>The <CODE>RootCertDuration</CODE> directive specifies the
-number of seconds the <EM>root certificate</EM> remains valid.
-The scheduler will generate a new certificate as needed when the
-number of seconds has expired. If set to 0, the root certificate
-is generated only once on startup or on a restart. The default is
-300 seconds.</P>
+<P>The <CODE>RootCertDuration</CODE> directive specifies the amount of time the <EM>root certificate</EM> remains valid in seconds (no suffix), minutes ("m" suffix), hours ("h" suffix), days ("d" suffix), or weeks ("w" suffix). The scheduler will generate a new certificate as needed when the given time interval has expired. If set to 0, the root certificate is generated only once on startup or on a restart.</P>
+
+<P>The default is <CODE>5m</CODE> (five minutes).</P>
 
 
 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.7</SPAN><A NAME="Satisfy">Satisfy</A></H2>
@@ -2806,64 +1914,6 @@ alternate name with a ServerAlias directive instead of using "*".</P>
 </BLOCKQUOTE>
 
 
-<H2 CLASS="title"><A NAME="ServerBin">ServerBin</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-ServerBin /usr/lib/cups
-ServerBin /foo/bar/lib/cups
-</PRE>
-
-<H3>Description</H3>
-
-<P>The <CODE>ServerBin</CODE> directive sets the directory for
-server-run executables. If an absolute path is not provided then
-it is assumed to be relative to the <A
-HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory. The
-default executable directory is <VAR>/usr/lib/cups</VAR>,
-<VAR>/usr/lib32/cups</VAR>, or <VAR>/usr/libexec/cups</VAR>
-depending on the operating system.</P>
-
-
-<H2 CLASS="title"><A NAME="ServerCertificate">ServerCertificate</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-ServerCertificate /etc/cups/ssl/server.crt
-</PRE>
-
-<H3>Description</H3>
-
-<P>The <CODE>ServerCertificate</CODE> directive specifies the
-location of the SSL certificate file used by the server when
-negotiating encrypted connections. The certificate must not be
-encrypted (password protected) since the scheduler normally runs
-in the background and will be unable to ask for a password.</P>
-
-<P>The default certificate file is
-<VAR>/etc/cups/ssl/server.crt</VAR>.</P>
-
-
-<H2 CLASS="title"><A NAME="ServerKey">ServerKey</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-ServerKey /etc/cups/ssl/server.key
-</PRE>
-
-<H3>Description</H3>
-
-<P>The <CODE>ServerKey</CODE> directive specifies the location of
-the SSL private key file used by the server when negotiating
-encrypted connections.</P>
-
-<P>The default key file is
-<VAR>/etc/cups/ssl/server.crt</VAR>.</P>
-
-
 <H2 CLASS="title"><A NAME="ServerName">ServerName</A></H2>
 
 <H3>Examples</H3>
@@ -2880,23 +1930,6 @@ that is reported to clients. By default the server name is the
 hostname.</P>
 
 
-<H2 CLASS="title"><A NAME="ServerRoot">ServerRoot</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-ServerRoot /etc/cups
-ServerRoot /foo/bar/cups
-</PRE>
-
-<H3>Description</H3>
-
-<P>The <CODE>ServerRoot</CODE> directive specifies the absolute
-path to the server configuration and state files. It is also used
-to resolve relative paths in the <VAR>cupsd.conf</VAR> file. The
-default server directory is <VAR>/etc/cups</VAR>.</P>
-
-
 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.21</SPAN><A NAME="ServerTokens">ServerTokens</A></H2>
 
 <H3>Examples</H3>
@@ -2963,7 +1996,7 @@ the text that is returned. The default is
 </TABLE></DIV>
 
 
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="SetEnv">SetEnv</A></H2>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/OS X 10.5</SPAN><A NAME="SetEnv">SetEnv</A></H2>
 
 <H3>Examples</H3>
 
@@ -3032,6 +2065,23 @@ on for secure connections. Multiple <CODE>SSLPort</CODE> lines
 can be specified to listen on multiple ports.</P>
 
 
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.6</SPAN><A NAME="StrictConformance">StrictConformance</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+StrictConformance No
+StrictConformance Yes
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>StrictConformance</CODE> directive specifies whether the scheduler
+requires strict IPP conformance for client requests, for example to not allow
+document attributes in a Create-Job request. The default is
+<code>No</code>.</P>
+
+
 <H2 CLASS="title"><SPAN CLASS="info">CUPS 1.5</SPAN><A NAME="SubscriptionPrivateAccess">SubscriptionPrivateAccess</A></H2>
 
 <H3>Examples</H3>
@@ -3075,114 +2125,24 @@ subscription values to make private. The "default" values are "notify-events",
 HREF="#Policy"><CODE>Policy</CODE></A> section.</P>
 
 
-<H2 CLASS="title"><A NAME="SystemGroup">SystemGroup</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-SystemGroup lpadmin
-SystemGroup sys
-SystemGroup system
-SystemGroup root
-SystemGroup root lpadmin
-</PRE>
-
-<H3>Description</H3>
-
-<P>The <CODE>SystemGroup</CODE> directive specifies the system
-administration group for <CODE>System</CODE> authentication.
-Multiple groups can be listed, separated with spaces. The default
-group list is <CODE>@CUPS_SYSTEM_GROUPS@</CODE>.</P>
-
-
-<H2 CLASS="title"><A NAME="TempDir">TempDir</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-TempDir /var/tmp
-TempDir /foo/bar/tmp
-</PRE>
-
-<H3>Description</H3>
-
-<P>The <CODE>TempDir</CODE> directive specifies an absolute path
-for the directory to use for temporary files. The default
-directory is <VAR>@CUPS_REQUESTS@/tmp</VAR>.</P>
-
-<P>Temporary directories must be world-writable and should have
-the "sticky" permission bit enabled so that other users cannot
-delete filter temporary files. The following commands will create
-an appropriate temporary directory called
-<VAR>/foo/bar/tmp</VAR>:</P>
-
-<PRE CLASS="command">
-<KBD>mkdir /foo/bar/tmp</KBD>
-<KBD>chmod a+rwxt /foo/bar/tmp</KBD>
-</PRE>
-
-
 <H2 CLASS="title"><A NAME="Timeout">Timeout</A></H2>
 
 <H3>Examples</H3>
 
 <PRE CLASS="command">
+Timeout 1w
+Timeout 1d
+Timeout 1h
+Timeout 5m
 Timeout 300
-Timeout 90
 </PRE>
 
 <H3>Description</H3>
 
 <P>The <CODE>Timeout</CODE> directive controls the amount of time
-to wait before an active HTTP or IPP request times out. The
-default timeout is 300 seconds.</P>
-
-
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="UseNetworkDefault">UseNetworkDefault</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-UseNetworkDefault yes
-UseNetworkDefault no
-</PRE>
-
-<H3>Description</H3>
+to wait before an active HTTP or IPP request times out in seconds (no suffix), minutes ("m" suffix), hours ("h" suffix), days ("d" suffix), or weeks ("w" suffix).</P>
 
-<P>The <CODE>UseNetworkDefault</CODE> directive controls whether
-the client will use a network/remote printer as a default
-printer. If enabled, the default printer of a server is used as
-the default printer on a client. When multiple servers are
-advertising a default printer, the client's default printer is
-set to the first discovered printer, or to the implicit class for
-the same printer available from multiple servers.</P>
-
-<P>The default is <CODE>@CUPS_USE_NETWORK_DEFAULT@</CODE>.</P>
-
-
-<H2 CLASS="title"><A NAME="User">User</A></H2>
-
-<H3>Examples</H3>
-
-<PRE CLASS="command">
-User lp
-User guest
-</PRE>
-
-<H3>Description</H3>
-
-<P>The <CODE>User</CODE> directive specifies the UNIX user that
-filter and CGI programs run as. The default user is
-<CODE>@CUPS_USER@</CODE>.</P>
-
-<BLOCKQUOTE><B>Note:</B>
-
-<P>You may not use user <CODE>root</CODE>, as that would expose
-the system to unacceptable security risks. The scheduler will
-automatically choose user <CODE>nobody</CODE> if you specify a
-user whose ID is 0.</P>
-
-</BLOCKQUOTE>
+<P>The default timeout is <CODE>5m</CODE> (five minutes).</P>
 
 
 <H2 CLASS="title"><SPAN CLASS="INFO">CUPS 1.5</SPAN><A NAME="WebInterface">WebInterface</A></H2>
index c3967f1..1c77a73 100644 (file)
@@ -148,7 +148,7 @@ and the underscore. The value can be any valid expression.</p>
 ...
 #else
 ...
-#endif 
+#endif
 </pre>
 
 <h3>Description</h3>
@@ -181,7 +181,7 @@ corresponding <a href="#_if"><code>#if</code></a> directive.</p>
 ...
 #else
 ...
-#endif 
+#endif
 </pre>
 
 <h3>Description</h3>
@@ -215,7 +215,7 @@ expressions are non-zero.</p>
 ...
 #else
 ...
-#endif 
+#endif
 </pre>
 
 <h3>Description</h3>
@@ -302,7 +302,7 @@ defining the standard raster fonts in the
 ...
 #else
 ...
-#endif 
+#endif
 </pre>
 
 <h3>Description</h3>
@@ -405,7 +405,7 @@ suffixes:</p>
 
 </ul>
 
-<p>Points are assumed if no units are specified. 
+<p>Points are assumed if no units are specified.
 
 <h3>See Also</h3>
 
@@ -434,7 +434,7 @@ suffixes:</p>
 <p>The <code>#po</code> directive defines a message catalog to use for the
 given POSIX language abbreviation. Multiple <code>#po</code> directives can be
 specified to list multiple catalogs. The filename can be an absolute path or
-relative to the driver information file. GNU gettext and Mac OS X .strings
+relative to the driver information file. GNU gettext and OS X .strings
 files are supported.</p>
 
 
@@ -1111,7 +1111,7 @@ Adobe PPD file specification.</p>
 either the word <code>ROM</code> or <code>Disk</code>.</p>
 
 <p>Device fonts differ from fonts defined using the <a
-href='#_font'><code>#font</code></a> directive in that they are 
+href='#_font'><code>#font</code></a> directive in that they are
 automatically associated with the current driver. Fonts defined
 using <code>#font</code> may be imported into the current driver
 using the <code>Font *</code> form of this directive.</p>
@@ -1597,7 +1597,7 @@ Option <i>"name/text" type section order</i>
 
 <pre>
 Option Punch Boolean AnySetup 10
-Option "fooFinish/Finishing Option" PickOne DocumentSetup 10 
+Option "fooFinish/Finishing Option" PickOne DocumentSetup 10
 </pre>
 
 <h3>Description</h3>
@@ -1798,7 +1798,7 @@ SimpleColorProfile 720dpi/Glossy 100 90 120 1.5 -5 5 10
 <h3>Description</h3>
 
 <p>The <code>SimpleColorProfile</code> directive creates a
-matrix-based <a href="#ColorProfile"><code>ColorProfile</code></a>. 
+matrix-based <a href="#ColorProfile"><code>ColorProfile</code></a>.
 The resolution and mediatype arguments specify the
 <code>Resolution</code> and <code>MediaType</code> choices which use the
 profile; the hyphen (<code>-</code>) is used to specify that any
@@ -2414,8 +2414,8 @@ supported keywords for each type.</p>
 
        <BR>&nbsp;
 
-       <BR><A NAME="REF_COLOR_APPLE">*</A> = This colorspace is not supported on Mac OS X prior to 10.4.
-       <BR><A NAME="REF_COLOR_APPLE2">**</A> = This colorspace is not supported on Mac OS X.</LI>
+       <BR><A NAME="REF_COLOR_APPLE">*</A> = This colorspace is not supported on OS X prior to 10.4.
+       <BR><A NAME="REF_COLOR_APPLE2">**</A> = This colorspace is not supported on OS X.</LI>
 
 </UL>
 
@@ -2441,7 +2441,7 @@ supported keywords for each type.</p>
        <BR><A NAME="REF_COLOR_APPLE2">*</A> = This color order
        is not supported by the current Apple RIP filters and
        should not be used when developing printer drivers for
-       Mac OS X.</LI>
+       OS X.</LI>
 
 </UL>
 
index 9568fc7..bb44c4c 100644 (file)
@@ -151,7 +151,7 @@ HREF="#AllowUser"><CODE>AllowUser</CODE></A></P>
 
 <H3>Description</H3>
 
-<P>The <CODE>DeviceURI</CODE> directive defines the value of the 
+<P>The <CODE>DeviceURI</CODE> directive defines the value of the
 <VAR>device-uri-attribute</VAR> attribute. It is normally set
 using the <CODE>lpadmin(8)</CODE> command:</P>
 
@@ -248,7 +248,7 @@ in the printer's PPD file.</P>
 
 <H3>Description</H3>
 
-<P>The <CODE>Info</CODE> directive defines the string for the 
+<P>The <CODE>Info</CODE> directive defines the string for the
 <VAR>printer-info</VAR> attribute. It is normally set using the
 <CODE>lpadmin(8)</CODE> command:</P>
 
@@ -337,7 +337,7 @@ section.</P>
 
 <H3>Description</H3>
 
-<P>The <CODE>KLimit</CODE> directive defines the value of the 
+<P>The <CODE>KLimit</CODE> directive defines the value of the
 <VAR>job-k-limit</VAR> attribute. It is normally set using the
 <CODE>lpadmin(8)</CODE> command:</P>
 
@@ -364,7 +364,7 @@ section.</P>
 
 <H3>Description</H3>
 
-<P>The <CODE>Location</CODE> directive defines the string for the 
+<P>The <CODE>Location</CODE> directive defines the string for the
 <VAR>printer-location</VAR> attribute. It is normally set using the
 <CODE>lpadmin(8)</CODE> command:</P>
 
@@ -449,7 +449,7 @@ section.</P>
 
 <H3>Description</H3>
 
-<P>The <CODE>PageLimit</CODE> directive defines the value of the 
+<P>The <CODE>PageLimit</CODE> directive defines the value of the
 <VAR>job-page-limit</VAR> attribute. It can be set using the
 <CODE>lpadmin(8)</CODE> command:</P>
 
@@ -665,7 +665,7 @@ section.</P>
 <PRE CLASS="command">
 &lt;Printer name&gt;
   ...
-  StateMessage Ready to print.
+  StateMessage Printer is lonely.
 &lt;/Printer&gt;
 </PRE>
 
@@ -682,7 +682,6 @@ StateMessage Network host host_name is busy; will retry in 30 seconds...
 StateMessage Printer busy; will retry in 10 seconds...
 StateMessage Printer is busy; retrying print job...
 StateMessage Print file accepted - job ID id_number.
-StateMessage Ready to print.
 StateMessage Waiting for job to complete
 </PRE>
 
index db4aace..4cab237 100644 (file)
@@ -55,9 +55,8 @@ Community BigCorp
 <H3>Description</H3>
 
 <P>The <CODE>Community</CODE> directive specifies a community
-name to use when discovering printers. Multiple
-<CODE>Community</CODE> lines can be provided to scan different
-SNMP communities.</P>
+name to use when discovering printers and reporting status and supply
+levels for network printers.</P>
 
 <P>The default community is "public".</P>
 
index d4f4def..06cfc72 100644 (file)
@@ -196,7 +196,7 @@ HREF="#Subscription"><CODE>Subscription</CODE></A> section.</P>
 <PRE CLASS="command">
 &lt;Subscription NNN&gt;
   ...
-  LeaseDuration 
+  LeaseDuration
 &lt;/Subscription&gt;
 </PRE>
 
@@ -335,17 +335,17 @@ unique (to the server) number starting at 1.</P>
 <PRE CLASS="command">
 &lt;Subscription NNN&gt;
   ...
-  UserData mailto:bar<40>domain.com
+  UserData mailto:bar&lt;40&gt;example.com
 &lt;/Subscription&gt;
 </PRE>
 
 <H3>Description</H3>
 
 <P>The <CODE>UserData</CODE> directive specifies the
-<CODE>notify-user-data</CODE> value, which is normally the "from"
+<CODE>notify-user-data</CODE> value, which is normally the "to"
 address used in <CODE>mailto</CODE> notifications. Binary values
 are introduced by encoding the bytes as hexadecimal values inside
-angle brackets, e.g. "<1234>".</P>
+angle brackets, e.g. "&lt;1234&gt;".</P>
 
 <P>The <CODE>UserData</CODE> directive must appear inside a <A
 HREF="#Subscription"><CODE>Subscription</CODE></A> section.</P>
index c86151d..3bd5642 100644 (file)
@@ -48,7 +48,7 @@ authentication:</P>
        middle" and replay attacks from the same client.</P>
 
        <P><B>Recommendation:</B> Enable encryption to hide the
-       username and password information.</P></LI></LI>
+       username and password information.</P></LI>
 
        <LI>Local certificate authentication passes 128-bit
        "certificates" that identify an authenticated user.
@@ -65,7 +65,7 @@ authentication:</P>
        socket.</P>
 
        <P><B>Recommendation:</B> Ensure that unauthorized users
-       are not added to the system group(s).</P></LI></LI>
+       are not added to the system group(s).</P></LI>
 
 </OL>
 
index 00ccb6f..e13cfed 100644 (file)
 
 <h2><a name="BASICS">The Basics</h2>
 
-<p>A "server" is any machine that communicates directly to a printer. A "client"
-is any machine that sends print jobs to a server for final printing. Clients can
-also be servers if they communicate directly with any printers of their own.</p>
+<p>A "server" is any machine that communicates directly to a printer. A "client" is any machine that sends print jobs to a server for final printing. Clients can also be servers if they communicate directly with any printers of their own.</p>
 
-<p>By default, CUPS uses the Internet Printing Protocol (IPP) to send jobs from
-a client to a server. When printing to legacy print servers you may also use the
-Line Printer Daemon (LPD) when printing to older UNIX-based servers or Server
-Message Block (SMB) when printing to Windows<sup>&reg;</sup> servers.</p>
+<p>By default, CUPS uses the Internet Printing Protocol (IPP) to send jobs from a client to a server. When printing to legacy print servers you may also use the Line Printer Daemon (LPD) protocol when printing to older UNIX-based servers or Server Message Block (SMB) when printing to Windows<sup>&reg;</sup> servers.</p>
 
-<p>Clients can automatically discover and access shared printers via CUPS
-browsing, IPP, Service Location Protocol (SLP), and Lightweight Directory Access
-Protocol (LDAP). DNS Service Discovery (DNS-SD a.k.a. Bonjour<sup>&reg;</sup>)
-and SMB browsing can also be used to manually discover and access shared
-printers.</p>
+<p>Clients can automatically discover and access shared printers via DNS Service Discovery (DNS-SD a.k.a. Bonjour<sup>&reg;</sup>). SMB browsing can also be used to manually discover and access shared printers when <a href="http://www.samba.org/">Samba</a> is installed.</p>
 
 
 <h2><a name="SERVER_CONFIG">Configuring the Server</a></h2>
 
-<p>You must enable printer sharing on the server before clients can print
-through it. The simplest way to do this is to use the
-<a href="man-cupsctl.html">cupsctl(8)</a> command on the server:</p>
+<p>You must enable printer sharing on the server before clients can print through it. The simplest way to do this is to use the <a href="man-cupsctl.html">cupsctl(8)</a> command on the server:</p>
 
 <pre class="command">
 cupsctl --share-printers
 </pre>
 
-<p>By default, the above command will allow printing from other clients on the
-same subnet as your server. To allow printing from any subnet, use the following
-command instead:</p>
+<p>By default, the above command will allow printing from other clients on the same subnet as your server. To allow printing from any subnet, use the following command instead:</p>
 
 <pre class="command">
 cupsctl --share-printers --remote-any
 </pre>
 
-<p>Next, you need to choose which protocols to use for printer sharing. The
-default is CUPS browsing and DNS-SD on Mac OS X and CUPS browsing alone on
-other platforms. To set the sharing protocols, run the <b>cupsctl</b> command
-to set the
-<a href="ref-cupsd-conf.html#BrowseLocalProtocols">BrowseLocalProtocols</a>
-value. For example, run the following command to allow shared printing via
-CUPS, DNS-SD, LPD, and SMB:</p>
+<p>Next, tag each printer that you want to share using the <a href="man-lpadmin.html">lpadmin(8)</a> command on the server, for example:</p>
 
 <pre class="command">
-cupsctl 'BrowseLocalProtocols="cups dnssd lpd smb"'
+lpadmin -p printer -o printer-is-shared=true
 </pre>
 
-
-<h2><a name="AUTO_CUPS">Automatic Configuration using CUPS Browsing</a></h2>
-
-<p>CUPS browsing works by periodically broadcasting information about printers
-that are being shared to client systems on the same subnet. Each client
-maintains its own list of shared printers, and when more than one server shares
-the same printer (or the same kind of printer) the client uses all of the
-servers and printers to provide high-availability and failsafe printing.</p>
-
-<p>To configure printers on the same subnet, <em>do nothing</em>. Each client
-should see the available printers within 30 seconds automatically. The printer
-and class lists are updated automatically as printers and servers are added or
-removed.</p>
-
-<blockquote><b>Note:</b>
-
-<p>Due to user interface changes in Mac OS X 10.5, CUPS shared printers will not
-automatically appear in the print dialog. Instead, you must first run the
-following command to enable CUPS browsing on your system:</p>
-
-<pre class="command">
-cupsctl BrowseRemoteProtocols=cups
-</pre>
-
-<p>Then choose each of the CUPS shared printers you want to see in the print
-dialog by adding them, either from the <var>Add Printer...</var> item in the
-print dialog or from the <var>Print &amp; Fax</var> preference pane in the
-<var>System Preferences</var> window.</p>
-
-</blockquote>
-
-<h3><a name="BROWSE_POLL">Seeing Printers on Other Subnets</a></h3>
-
-<p>You can automatically access printers on other subnets by adding
-<a href="ref-cupsd-conf.html#BrowsePoll"><code>BrowsePoll</code></a> lines
-to the <var>cupsd.conf</var> file on your local system. For a single
-server you can use the <b>cupsctl</b> command:</p>
+<p>You can require authentication for shared printing by setting the policy on each printer, for example:</p>
 
 <pre class="command">
-cupsctl BrowsePoll=server:port
-</pre>
-
-<p>For multiple servers, use the CUPS web interface (http://localhost:631/admin)
-to edit the configuration file instead. Enter one <code>BrowsePoll</code> line
-per server at the bottom of the file, as follows:</p>
-
-<pre class="example">
-BrowsePoll server1:port
-BrowsePoll server2:port
-BrowsePoll server3:port
-</pre>
-
-<p>If you have more than one client on your subnet that wants to see the
-printers on those servers, add a
-<a href="ref-cupsd-conf.html#BrowseRelay"><code>BrowseRely</code></a> line
-to the <var>cupsd.conf</var> file on your local system using the <b>cupsctl</b>
-command:</p>
-
-<pre class="command">
-cupsctl 'BrowseRelay="127.0.0.1 @LOCAL"'
-</pre>
-
-<p>or CUPS web interface (again, at the bottom of the file):</p>
-
-<pre class="example">
-BrowseRelay 127.0.0.1 @LOCAL
+lpadmin -p printer -o printer-op-policy=authenticated
 </pre>
 
 
 <h2><a name="AUTO_IPP">Automatic Configuration using IPP</a></h2>
 
+<blockquote><b>Note:</b>
+<p>This method of configuration does not work on OS X 10.7 or later because sandboxed applications do not always have direct network access.</p>
+</blockquote>
+
 <p>CUPS can be configured to run without a local spooler and send all jobs to a
 single server. However, if that server goes down then all printing will be
 disabled. Use this configuration only as absolutely necessary.</p>
@@ -167,6 +90,10 @@ port. The environment variable overrides both the user and system
 
 <h2><a name="MANUAL">Manual Configuration of Print Queues</a></h2>
 
+<blockquote><b>Note:</b>
+<p>This method of configuration does not work on OS X 10.7 or later because sandboxed applications do not always have direct network access.</p>
+</blockquote>
+
 <p>The most tedious method of configuring client machines is to configure
 each remote queue by hand using the <a href="man-lpadmin.html">lpadmin(8)</a>
 command:</p>
index 2d22d9e..65b0961 100644 (file)
@@ -8,7 +8,7 @@
 </head>
 <body>
 <!--
-  "$Id: spec-banner.html 9727 2011-04-28 21:20:12Z mike $"
+  "$Id$"
 
   Banner file format specification for CUPS.
 
index 4583731..3a29132 100644 (file)
@@ -8,11 +8,11 @@
 </head>
 <body>
 <!--
-  "$Id: spec-browsing.html 9727 2011-04-28 21:20:12Z mike $"
+  "$Id$"
 
   CUPS Browse Protocol specification for CUPS.
 
-  Copyright 2008-2011 by Apple Inc.
+  Copyright 2008-2012 by Apple Inc.
   Copyright 1997-2005 by Easy Software Products.
 
   These coded instructions, statements, and computer programs are the
@@ -24,7 +24,7 @@
 
 <BLOCKQUOTE><B>Note:</B>
 
-<P>The CUPS Browse Protocol is deprecated and will no longer be used in a future release of CUPS.</P>
+<P>The CUPS Browse Protocol was deprecated in CUPS 1.4 and is no longer supported.</P>
 
 </BLOCKQUOTE>
 
 
 <h2><a name='INTRO'>Introduction</a></h2>
 
-<p>This specification describes the CUPS browsing protocol which is used for
-printer sharing. The protocol is a UDP/IP-based broadcast service that
-operates on IP service port 631 by default. Each broadcast packet describes
+<p>This specification describes the CUPS browsing protocol which was used for
+printer sharing. The protocol was a UDP/IP-based broadcast service that
+operated on IP service port 631 by default. Each broadcast packet described
 a single printer or class being shared.</p>
 
 <p>For simple networks with a single subnet, a CUPS system sharing a printer
-(the <em>server</em>) will periodically broadcast that printer's availability
+(the <em>server</em>) would periodically broadcast that printer's availability
 and status information to the subnet. Every other CUPS system on the subnet
-(the <em>clients</em>) will receive the broadcast and make that printer
-available to local users. If a client stops receiving broadcasts from the
-server, or if the server sends a special "deleted" broadcast message, the
-client will remove its copy of the printer.</p>
+(the <em>clients</em>) would receive the broadcast and make that printer
+available to local users. If a client stopped receiving broadcasts from the
+server, or if the server sent a special "deleted" broadcast message, the
+client would remove its copy of the printer.</p>
 
-<p>For larger networks with multiple subnets, a relay configuration can be used
-where one or more client systems poll the server and then broadcast the
+<p>For larger networks with multiple subnets, a relay configuration could be used
+where one or more client systems polled the server and then broadcast the
 availability and status information for the server's shared printers to the
 clients' local subnets.</p>
 
-<p>A key feature of CUPS printer sharing is support for <em>implicit
+<p>A key feature of CUPS printer sharing was support for <em>implicit
 classes</em>, which are automatically-created classes for printers that are
-shared by multiple servers. These implicit classes provide automatic load
+shared by multiple servers. These implicit classes provided automatic load
 balancing and fail-safe printing functionality transparently to the user.</p>
 
 
 <h2><a name='SECURITY'>Security Considerations</a></h2>
 
-<p>Like most discovery protocols, CUPS browse packets are not encrypted or
-signed, so it is possible for malicious systems on a network to advertise
+<p>Like most discovery protocols, CUPS browse packets were not encrypted or
+signed, so it was possible for malicious systems on a network to advertise
 or remove printers on that network to cause denial of service or information
-disclosure. In order to combat this, CUPS logs incoming browse packets and
-provides access controls to limit browse packet reception to known hosts.</p>
+disclosure. In order to combat this, CUPS logged incoming browse packets and
+provided access controls to limit browse packet reception to known hosts.</p>
 
 
 <h2><a name='FORMAT'>Browse Packet Format</a></h2>
index 47f56d3..2c66e32 100644 (file)
 
 <P>This developer guide documents the guidelines and processes we use when developing and maintaining CUPS and related software. Our goal is to provide reliable and efficient software and documentation that addresses the needs of our users.</P>
 
+<H2 CLASS="title"><A NAME="OVERVIEW">Overview</A></H2>
+
+<P>CUPS is developed by Apple Inc. and distributed as open source software under a combination of GNU GPL2 and GNU LGPL2 licenses with exceptions to allow linking to OpenSSL (which has a GPL-incompatible license) and for developers on Apple's operating systems to develop CUPS-based software until alternate license terms. Significant contributions to CUPS must be licensed to Apple using the <A HREF="http://www.cups.org/AppleContributorAgreement_2011-03-10.pdf">Apple Contributor Agreement</A>.</P>
+
+<P>Apple releases updates to the CUPS software approximately every three months. Each release has a version number consisting of the major version (currently 1), minor version (currently 6), and patch version (starting at 0) separated by the period, for example "1.6.0". Releases where only the patch version number changes will contain only bug fixes to the previous release, for example "1.6.1" includes bug fixes for the "1.6.0" release. New features require the major or minor version numbers to change, for example "1.6.0" release contains new features compared to the "1.5.3" release. Multiple beta and "candidate" releases generally precede each new feature release, for example "1.5b1", "1.5b2", and "1.5rc1" preceded the "1.5.0" release. Finally, we also post regular Subversion snapshot releases, for example "1.6svn-r10486", which represent a snapshot of the development for the next feature release.</P>
+
+<P>CUPS interfaces, including the C APIs and command-line arguments, environment variables, configuration files, and output format, are stable across patch versions and are generally backwards-compatible with interfaces used in prior major and minor versions. However, program interfaces such as those used by the scheduler to run filter, port monitor, and backend processes for job processing should only be considered stable from the point of view of a filter, port monitor, or backend. Software that simulates the scheduler in order to run those programs outside of CUPS must necessarily be updated when the corresponding interface is changed in a subsequent CUPS release, otherwise undefined behavior can occur.</P>
+
+<P>CUPS C APIs starting with an underscore (_) are considered to be private to CUPS and are not subject to the normal guarantees of stability between CUPS releases and must <em>never</em> be used in non-CUPS source code. Similarly, configuration and state files written by CUPS are considered private if a corresponding man page is not provided with the CUPS release. <em>Never</em> rely on undocumented files or formats when developing software for CUPS. <em>Always</em> use a published C API to access data stored in a file to avoid compatibility problems in the future.</P>
+
+
 <H2 CLASS="title"><A NAME="COMMUNICATION">Communication</A></H2>
 
 <H3><A NAME="CONTACT">How to Contact the Developers</A></H3>
 
-<P>The <A HREF="http://www.cups.org/newsgroups.php">CUPS
-Forums</A> are the primary means of asking questions and
-informally discussing issues and feature requests with the CUPS
-developers. Table 1 shows the available forums and their
-focus:</P>
+<P>The <A HREF="http://lists.cups.org/">CUPS Mailing Lists</A> are the primary means of asking questions and informally discussing issues and feature requests with the CUPS developers and other experienced CUPS users and developers. Table 1 shows the available mailing lists and their focus:</P>
 
 <DIV CLASS="table"><TABLE SUMMARY="CUPS Forums">
-<CAPTION>Table 1: CUPS Forums</CAPTION>
+<CAPTION>Table 1: CUPS Mailing Lists</CAPTION>
 <TR>
-       <TH>Forum</TH>
+       <TH>List</TH>
        <TH>Focus/Purpose</TH>
 </TR>
 <TR>
-       <TD>cups.bugs</TD>
-       <TD>Discussion of bugs and issues in the CUPS
-       software</TD>
-</TR>
-<TR>
-       <TD>cups.commit</TD>
-       <TD>Report of all commits to the Subversion repository
-       (read-only)</TD>
+       <TD>cups</TD>
+       <TD>General discussion and usage questions for the CUPS software</TD>
 </TR>
 <TR>
-       <TD>cups.ddk</TD>
-       <TD>Usage and development questions for the CUPS Driver
-       Development Kit</TD>
+       <TD>cups-bugs</TD>
+       <TD>Discussion of bugs and issues in the CUPS software</TD>
 </TR>
 <TR>
-       <TD>cups.development</TD>
-       <TD>Development questions and discussion of new features
-       in the CUPS software</TD>
+       <TD>cups-commit</TD>
+       <TD>Report of all commits to the Subversion repository (read-only)</TD>
 </TR>
 <TR>
-       <TD>cups.general</TD>
-       <TD>Usage questions for the CUPS software</TD>
+       <TD>cups-dev</TD>
+       <TD>Development questions and discussion of new features in the CUPS software</TD>
 </TR>
 </TABLE></DIV>
 
+
 <H3><A NAME="SUBMIT">How to Submit a Bug Report or Feature Request</A></H3>
 
-<P>The CUPS "<A HREF="http://www.cups.org/str.php">Bugs &amp;
-Features</A>" page provides access to the CUPS <em>software
-trouble report</em> database and is the formal way to submit a
-bug report or feature request to the CUPS developers. Please
-note, however, that we <em>do not</em> provide answers to usage
-questions or resolve problems in third-party software on this
-page - use the CUPS Forums for that instead.</P>
-
-<P>Unlike discussions that occur on the CUPS Forums, formal bug
-reports and feature requests must be acted on by the CUPS
-developers. This does not mean that every bug report is resolved
-or every feature request is implemented, but we do respond and
-keep track of them all for posterity.</P>
-
-<BLOCKQUOTE>Please use the search feature of the Bugs &amp;
-Features page before submitting a new bug report or feature
-request. If you see an existing report that matches your issue,
-please post a message to that report ("I have this issue as
-well", "I would also like to see", etc.) rather than submitting a
-new report. This helps speed the resolution of your issue by
-reducing the CUPS developers' work load.</BLOCKQUOTE>
+<P>The CUPS "<A HREF="http://www.cups.org/str.php">Bugs &amp; Features</A>" page provides access to the CUPS <em>Software Trouble Report</em> (STR) database and is the formal way to submit a bug report or feature request to the CUPS developers. Please note, however, that we <em>do not</em> provide answers to usage questions or resolve problems in third-party software on this page - use the <A HREF="#CONTACT">CUPS Mailing Lists</A> for that instead.</P>
+
+<P>Unlike discussions that occur on the CUPS Mailing Lists, formal bug reports and feature requests must be acted on by the CUPS developers. This does not mean that every bug report is resolved or every feature request is implemented, but we do respond and keep track of them all for posterity.</P>
+
+<BLOCKQUOTE>Please use the search feature of the Bugs &amp; Features page before submitting a new bug report or feature request. If you see an existing report that matches your issue, please post a message to that report ("I have this issue as well", "I would also like to see", etc.) rather than submitting a new report. This helps speed the resolution of your issue by reducing the CUPS developers' work load and identifying popular issues.</BLOCKQUOTE>
+
 
 <H3><A NAME="PATCH">How to Prepare a Patch</A></H3>
 
-<P>When submitting a bug report or feature request, you can
-include patch files that resolve the bug or implement the feature
-to speed the inclusion of that bug fix or feature in a new CUPS
-release. For changes to existing files, we prefer a unified diff
-against the current Subversion <VAR>trunk</VAR> branch, which can
-be generated easily using the following Subversion command:</P>
+<P>When submitting a bug report or feature request, you can include patch files that resolve the bug or implement the feature to speed the inclusion of that bug fix or feature in a new CUPS release. For changes to existing files, we prefer a unified diff against the current Subversion <VAR>trunk</VAR> branch, which can be generated easily using the following Subversion command:</P>
 
 <PRE CLASS="command">
 svn diff >filename.patch
 </PRE>
 
-<P>If you produce a patch using a released source archive, use
-one of the following commands instead:</P>
+<P>If you produce a patch using a released source archive, use one of the following commands instead:</P>
 
 <PRE CLASS="command">
 diff -u oldfilename filename >filename.patch
@@ -99,36 +78,22 @@ diff -u oldfilename filename >filename.patch
 diff -urN olddirectory directory >filename.patch
 </PRE>
 
-<P>New files and files with significant changes can be submitted
-in their entirety, however that may delay the adoption of your
-changes.</P>
+<P>New files and files with significant changes can be submitted in their entirety, however that may delay the adoption of your changes.</P>
+
+<BLOCKQUOTE><B>Note:</B>
 
-<BLOCKQUOTE>Patches and files must conform to the standards outlined in the
-"<A HREF="#CODING">Coding Guidelines</A>" and "<A HREF="#MAKEFILES">Makefile
-Guidelines</A>" sections in this document. In addition, since Apple Inc.
-provides CUPS under multiple licenses, we require that you assign the copyright
-for your changes and files to us for inclusion in CUPS.</BLOCKQUOTE>
+<P>Patches and files must conform to the standards outlined in the "<A HREF="#CODING">Coding Guidelines</A>" and "<A HREF="#MAKEFILES">Makefile Guidelines</A>" sections in this document. In addition, since Apple Inc. provides CUPS under multiple licenses, we require that you <A HREF="http://www.cups.org/AppleContributorAgreement_2011-03-10.pdf">license</A>  significant changes and files to us for inclusion in CUPS. The CUPS developers will inform you if licensing is required.</P></BLOCKQUOTE>
 
 
 <H2 CLASS="title"><A NAME="PRACTICES">Software Development Practices</A></H2>
 
 <H3><A NAME="VERSIONS">Version Numbering</A></H3>
 
-<P>CUPS uses a three-part version number separated by periods to
-represent the major, minor, and patch release numbers. Major
-release numbers indicate large design changes or
-backwards-incompatible changes to the CUPS API or CUPS Imaging
-API. Minor release numbers indicate new features and other
-smaller changes which are backwards-compatible with previous CUPS
-releases. Patch numbers indicate bug fixes to the previous
-release.</P>
-
-<BLOCKQUOTE>When we talk about compatibility, we are talking
-about binary compatibility for public APIs and output format
-compatibility for program interfaces. Changes to configuration
-file formats or the default behavior of programs are not
-generally considered incompatible as the upgrade process can
-normally address such changes gracefully.</BLOCKQUOTE>
+<P>CUPS uses a three-part version number separated by periods to represent the major, minor, and patch release numbers. Major release numbers indicate large design changes or backwards-incompatible changes to the CUPS API or CUPS Imaging API. Minor release numbers indicate new features and other smaller changes which are backwards-compatible with previous CUPS releases. Patch numbers indicate bug fixes to the previous feature release.</P>
+
+<BLOCKQUOTE><B>Note:</B>
+
+<P>When we talk about compatibility, we are talking about binary compatibility for public APIs and output format compatibility for program interfaces. Changes to configuration file formats or the default behavior of programs are not generally considered incompatible as the upgrade process can normally address such changes gracefully.</P></BLOCKQUOTE>
 
 <P>Production releases use the plain version numbers:</P>
 
@@ -149,59 +114,44 @@ MAJOR.MINOR.PATCH
 2.0.0
 </PRE>
 
-<P>The first production release in a MAJOR.MINOR series (MAJOR.MINOR.0) is
-called a feature release. Feature releases are the only releases that may
-contain new features. Subsequent production releases in a MAJOR.MINOR series may
-only contain bug fixes.</P>
+<P>The first production release in a MAJOR.MINOR series (MAJOR.MINOR.0) is called a feature release. Feature releases are the only releases that may contain new features. Subsequent production releases in a MAJOR.MINOR series may only contain bug fixes.</P>
+
+<BLOCKQUOTE><B>Note:</B>
 
-<BLOCKQUOTE>We did not hold to this limitation in the CUPS 1.1 series for a
-variety of reasons. Starting with CUPS 1.2, the "no new features in a patch
-release" policy has been strictly enforced. The policy has also resulted in
-fewer new features (and interactions!) to validate/test in the subsequence
-feature releases.</BLOCKQUOTE>
+<P>We did not hold to this limitation in the CUPS 1.1 series for a variety of reasons. Starting with CUPS 1.2, the "no new features in a patch release" policy has been strictly enforced. The policy has also resulted in fewer new features (and interactions!) to validate/test in the subsequence feature releases.</P></BLOCKQUOTE>
 
-<P>Beta-test releases are identified by appending the letter B to the major and
-minor version numbers followed by the beta release number:</P>
+<P>Beta-test releases are identified by appending the letter B to the major and minor version numbers followed by the beta release number:</P>
 
 <PRE CLASS="command">
 MAJOR.MINORbNUMBER
 1.2b1
 </PRE>
 
-<P>Release candidates are identified by appending the letters RC to the major
-and minor version numbers followed by the release candidate number:</P>
+<P>Release candidates are identified by appending the letters RC to the major and minor version numbers followed by the release candidate number:</P>
 
 <PRE CLASS="command">
 MAJOR.MINORrcNUMBER
 1.2rc1
 </PRE>
 
-<P>Developer snapshots are identified by appending the letters SVN-R to the
-major and minor version numbers followed by the revision number:</P>
+<P>Developer snapshots are identified by appending the letters SVN-R to the major and minor version numbers followed by the revision number:</P>
 
 <PRE CLASS="command">
 MAJOR.MINORsvn-rREV
 1.2svn-r1234
 </PRE>
 
-<P>Beta-test releases, release candidates, and developer snapshots are only
-created for new minor releases. Once a production release has been made
-(MAJOR.MINOR.0), subsequent patch releases are issues without preliminary beta
-or release testing.</P>
+<P>Beta-test releases, release candidates, and developer snapshots are only created for new minor releases. Once a production release has been made (MAJOR.MINOR.0), subsequent patch releases are issued without preliminary beta or release testing.</P>
 
 <H3>Version Control (Subversion)</H3>
 
-<P>The CUPS source files are managed by the Subversion ("SVN")
-software, available at:</P>
+<P>The CUPS source files are managed by the Subversion ("SVN") software, available at:</P>
 
 <PRE CLASS="command">
-<A HREF="http://subversion.tigris.org/" TARGET="_blank">subversion.tigris.org</A>
+<A HREF="http://subversion.apache.org/" TARGET="_blank">subversion.apache.org</A>
 </PRE>
 
-<P>Source files are "checked in" with each change so that
-modifications can be tracked, and each checkin must reference any
-applicable STRs. The following format <em>must</em> be used for
-commit log messages:</P>
+<P>Source files are "checked in" with each change so that modifications can be tracked, and each checkin must reference any applicable STRs. The following format <em>must</em> be used for commit log messages:</P>
 
 <PRE CLASS="command">
 Summary of the change on one line followed by bug number (STR #NNNN)
@@ -209,10 +159,7 @@ Summary of the change on one line followed by bug number (STR #NNNN)
 Detailed list of changes.
 </PRE>
 
-<P>Primary development occurs on the <var>trunk</var> branch,
-with changes merged back to release branches as needed. Table 2
-shows the URLs developers use for the various CUPS sub-projects
-and branches:</P>
+<P>Primary development occurs on the <var>trunk</var> branch, with changes merged back to release branches as needed. Table 2 shows the URLs developers use for the various CUPS sub-projects and branches:</P>
 
 <DIV CLASS="table"><TABLE SUMMARY="CUPS Subversion URLs">
 <CAPTION>Table 2: CUPS Subversion URLs</CAPTION>
@@ -221,113 +168,55 @@ and branches:</P>
        <TH>Purpose</TH>
 </TR>
 <TR>
-       <TD><A HREF="http://svn.easysw.com/public/cups/trunk/">https://svn.easysw.com/public/cups/trunk/</A></TD>
+       <TD><A HREF="http://svn.cups.org/public/cups/trunk/">https://svn.cups.org/public/cups/trunk/</A></TD>
        <TD>Primary CUPS development branch</TD>
 </TR>
 <TR>
-       <TD><A HREF="http://svn.easysw.com/public/cups/branches/">https://svn.easysw.com/public/cups/branches/</A></TD>
+       <TD><A HREF="http://svn.cups.org/public/cups/branches/">https://svn.cups.org/public/cups/branches/</A></TD>
        <TD>CUPS maintenance branches (merge-only)</TD>
 </TR>
 <TR>
-       <TD><A HREF="http://svn.easysw.com/public/cups/tags/">https://svn.easysw.com/public/cups/tags/</A></TD>
+       <TD><A HREF="http://svn.cups.org/public/cups/tags/">https://svn.cups.org/public/cups/tags/</A></TD>
        <TD>CUPS release tags (read-only)</TD>
 </TR>
-<TR>
-       <TD><A HREF="http://svn.easysw.com/public/windows/trunk/">https://svn.easysw.com/public/windows/trunk/</A></TD>
-       <TD>Primary CUPS Windows Driver development branch</TD>
-</TR>
-<TR>
-       <TD><A HREF="http://svn.easysw.com/public/windows/branches/">https://svn.easysw.com/public/windows/branches/</A></TD>
-       <TD>CUPS Windows Driver maintenance branches (merge-only)</TD>
-</TR>
-<TR>
-       <TD><A HREF="http://svn.easysw.com/public/windows/tags/">https://svn.easysw.com/public/windows/tags/</A></TD>
-       <TD>CUPS Windows Driver release tags (read-only)</TD>
-</TR>
 </TABLE></DIV>
 
-<P>The branch for a MAJOR.MINOR release are created when the
-first production release (MAJOR.MINOR.0) is made using the name
-"branch-MAJOR.MINOR". Release tags are created for every beta,
-candidate, and production release using the name
-"release-MAJOR.MINOR.PATCHbNUMBER",
-"release-MAJOR.MINOR.PATCHrcNUMBER", or
-"release-MAJOR.MINOR.PATCH", respectively. No release tags are
-created for developer snapshots.</P>
+<P>The branch for a MAJOR.MINOR release are created when the first production release (MAJOR.MINOR.0) is made using the name "branch-MAJOR.MINOR". Release tags are created for every beta, candidate, and production release using the name "release-MAJOR.MINORbNUMBER", "release-MAJOR.MINORrcNUMBER", or "release-MAJOR.MINOR.PATCH", respectively. No release tags are created for developer snapshots.</P>
 
 
 <H3>Files and Directories</H3>
 
-<P>File and directory names may not exceed 16 characters in
-length to ensure compatibility with older UNIX filesystems. In
-addition, to avoid problems with case-insensitive filesystems, 
-you may not use names which differ only by case, for example
-"ReadMe" and "README" are not allowed in the same directory.</P>
+<P>File and directory names may not exceed 16 characters in length to ensure compatibility with older UNIX filesystems. In addition, to avoid problems with case-insensitive filesystems, you may not use names which differ only by case, for example "ReadMe" and "README" are not allowed in the same directory.</P>
 
-<P>Source files must be documented and formatted as described in
-"<A HREF="#CODING">Coding Requirements</A>". Make files must
-follow the guidelines in "<A HREF="#MAKEFILE">Makefile
-Guidelines</A>".</P>
+<P>Source files must be documented and formatted as described in "<A HREF="#CODING">Coding Requirements</A>". Makefiles must follow the guidelines in "<A HREF="#MAKEFILE">Makefile Guidelines</A>".</P>
 
 
 <H3>Build System</H3>
 
-<P>The CUPS build system uses <A
-HREF="http://www.gnu.org/software/autoconf/">GNU autoconf</A> to
-tailor the library to the local operating system. Project files
-for major IDEs are also provided for Microsoft
-Windows<SUP>&reg;</SUP>. To improve portability, makefiles must
-not make use of the unique features offered by <A
-HREF="http://www.gnu.org/software/make/">GNU make</A>. See the <A
-HREF="#MAKEFILES">Makefile Guidelines</A> section for a
-description of the allowed make features and makefile
-guidelines.</P>
-
-<P>Additional GNU build programs such as <A
-HREF="http://www.gnu.org/software/automake">GNU automake</A> and
-<A HREF="http://www.gnu.org/software/libtool">GNU libtool</A>
-must not be used. GNU automake produces non-portable makefiles
-which depend on GNU-specific extensions, and GNU libtool is not
-portable or reliable enough for CUPS.</P>
+<P>The CUPS build system uses <A HREF="http://www.gnu.org/software/autoconf/">GNU autoconf</A> to tailor the library to the local operating system. Project files for the current release of Visual C++ are also provided for Microsoft Windows<SUP>&reg;</SUP>. To improve portability, makefiles must not make use of features unique to <A HREF="http://www.gnu.org/software/make/">GNU make</A>. See the <A HREF="#MAKEFILES">Makefile Guidelines</A> section for a description of the allowed make features and makefile guidelines.</P>
+
+<P>Additional GNU build programs such as <A HREF="http://www.gnu.org/software/automake">GNU automake</A> and <A HREF="http://www.gnu.org/software/libtool">GNU libtool</A> must not be used. GNU automake produces non-portable makefiles which depend on GNU-specific extensions, and GNU libtool is not portable or reliable enough for CUPS.</P>
 
 
 <H3><A NAME="PACKAGING">Packaging</A></H3>
 
-<P>Source packages are created using the
-<VAR>tools/makesrcdist</VAR> script in the Subversion repository.
-The script optionally uses a version number argument:</P>
+<P>Source packages are created using the <VAR>tools/makesrcdist</VAR> script in the Subversion repository. The script optionally uses a version number argument:</P>
 
 <PRE CLASS="command">
 tools/makesrcdist
 tools/makesrcdist <I>version</I>
 </PRE>
 
-<P>When run with no arguments, the script creates a snapshot of
-the current working copy and names it using the highest revision
-number in the WC, for example
-"/tmp/cups-1.3svn-r1234-source.tar.bz2" and
-"/tmp/cups-1.3svn-r1234-source.tar.gz". When run with two
-arguments, the script creates a release tag in the repository and
-exports that tag, creating the files
-"/tmp/cups-<I>version</I>-source.tar.bz2" and
-"/tmp/cups-<I>version</I>-source.tar.gz".</P>
-
-<P>Binary packages are not generally distributed by the CUPS
-team, however the <VAR>packaging/cups.spec</VAR> and
-<VAR>packaging/cups.list</VAR> files may be used to create binary
-packages on Linux, Mac OS X, and UNIX. The
-<VAR>packaging/cups.spec</VAR> file produces a binary package
-using the <CODE>rpmbuild(8)</CODE> software:</P>
+<P>When run with no arguments, the script creates a snapshot of the current working copy and names it using the highest revision number in the WC, for example "/tmp/cups-1.3svn-r1234-source.tar.bz2" and "/tmp/cups-1.3svn-r1234-source.tar.gz". When run with two arguments, the script creates a release tag in the repository and exports that tag, creating the files
+"/tmp/cups-<I>version</I>-source.tar.bz2" and "/tmp/cups-<I>version</I>-source.tar.gz".</P>
+
+<P>Binary packages are not generally distributed by the CUPS team, however the <VAR>packaging/cups.spec</VAR> and <VAR>packaging/cups.list</VAR> files may be used to create binary packages on Linux, OS X, and UNIX. The <VAR>packaging/cups.spec</VAR> file produces a binary package using the <CODE>rpmbuild(8)</CODE> software:</P>
 
 <PRE CLASS="command">
 rpmbuild -ta cups-<I>version</I>-source.tar.gz
 </PRE>
 
-<P>The <VAR>cups.list</VAR> file is generated by the
-<VAR>configure</VAR> script and produces binary packages for many
-platforms using the <A HREF="http://www.easysw.com/epm/"
-TARGET="_blank">EPM</A> software. Table 3 shows the targets that
-are available for each type of binary package:</P>
+<P>The <VAR>cups.list</VAR> file is generated by the <VAR>configure</VAR> script and produces binary packages for many platforms using the <A HREF="http://www.epmhome.org/" TARGET="_blank">EPM</A> software. Table 3 shows the targets that are available for each type of binary package:</P>
 
 <DIV CLASS="table"><TABLE SUMMARY="Binary Package Targets">
 <CAPTION>Table 3: Binary Package Targets</CAPTION>
@@ -360,10 +249,6 @@ are available for each type of binary package:</P>
        <TD>IRIX inst/tardist</TD>
 </TR>
 <TR>
-       <TD>osx</TD>
-       <TD>Mac OS X Install</TD>
-</TR>
-<TR>
        <TD>pkg</TD>
        <TD>Solaris pkgadd</TD>
 </TR>
@@ -389,10 +274,7 @@ are available for each type of binary package:</P>
 </TR>
 </TABLE></DIV>
 
-<P>Finally, the <VAR>tools/testrpm</VAR> and
-<VAR>tools/testosx</VAR> scripts can be used to create binary
-packages from the current working copy for testing on Linux and
-Mac OS X, respectively:</P>
+<P>Finally, the <VAR>tools/testrpm</VAR> and <VAR>tools/testosx</VAR> scripts can be used to create binary packages from the current working copy for testing on Linux and OS X, respectively:</P>
 
 <PRE CLASS="command">
 tools/testrpm
@@ -405,26 +287,18 @@ open cups.pkg
 
 <H3><A NAME="TESTING">Testing</A></H3>
 
-<P>Software testing is conducted according to the <A
-HREF="spec-stp.html">CUPS Software Test Plan</A>. This testing is
-automated via the top-level makefile <VAR>test</VAR> target:</P>
+<P>Software testing is conducted according to the <A HREF="spec-stp.html">CUPS Software Test Plan</A>. This testing is automated via the top-level makefile <VAR>test</VAR> target:</P>
 
 <PRE CLASS="command">
 make test
 </PRE>
 
-<P>The test environment allows for both short-term automated
-testing and long-term testing and development without the
-automated test script.</P>
+<P>The test environment allows for both short-term automated testing and long-term testing and development without the automated test script.</P>
 
 
 <H2 CLASS="title"><A NAME="STR">Trouble Report Processing</A></H2>
 
-<P>A Software Trouble Report ("STR") must be submitted every time
-a user or vendor experiences a problem with the CUPS software.
-Trouble reports are maintained on the <A
-HREF="http://www.cups.org/str.php" TARGET="_blank">Bugs &amp;
-Features</A> page with one of the following states:</P>
+<P>A Software Trouble Report ("STR") must be submitted every time a user or vendor experiences a problem with the CUPS software. Trouble reports are maintained on the <A HREF="http://www.cups.org/str.php" TARGET="_blank">Bugs &amp; Features</A> page with one of the following states:</P>
 
 <OL>
 
@@ -442,36 +316,25 @@ Features</A> page with one of the following states:</P>
 
 <P>Trouble reports are processed using the following steps.</P>
 
-<OL>
+<H3>1. Classification</H3>
 
-<LI>Classification
-
-<P>When a trouble report is received it must be classified at one
-of the following priority levels:</P>
+<P>When a trouble report is received it must be classified at one of the following priority levels:</P>
 
 <OL>
 
-       <LI>Request for enhancement, e.g. asking for a
-       feature
+       <LI>Request for enhancement, e.g. asking for a feature
 
-       <LI>Low, e.g. a documentation error or undocumented
-       side-effect
+       <LI>Low, e.g. a documentation error or undocumented side-effect
 
-       <LI>Moderate, e.g. unable to print a file or unable to
-       compile the software
+       <LI>Moderate, e.g. unable to print a file or unable to compile the software
 
-       <LI>High, e.g. unable to print to a printer or key
-       functionality not working
+       <LI>High, e.g. unable to print to a printer or key functionality not working
 
        <LI>Critical, e.g. unable to print at all
 
 </OL>
 
-<P>Level 4 and 5 trouble reports must be resolved in the next
-software release. Level 2 and 3 trouble reports are scheduled for
-resolution in a specific release at the discretion of the release
-coordinator. Level 1 trouble reports are scheduled for resolution
-in a future feature release.</P>
+<P>Level 4 and 5 trouble reports must be resolved in the next software release. Level 2 and 3 trouble reports are scheduled for resolution in a specific release at the discretion of the release coordinator. Level 1 trouble reports are scheduled for resolution in a future feature release.</P>
 
 <P>The scope of the problem is also determined as:</P>
 
@@ -485,43 +348,24 @@ in a future feature release.</P>
 
 </OL>
 
-<LI>Identification
-
-<P>Once the level and scope of the trouble report is determined
-the software sub-system(s) involved with the problem are
-determined. This may involve additional communication with the
-user or vendor to isolate the problem to a specific cause.</P>
+<H3>2. Identification</H3>
 
-<P>When the sub-system(s) involved have been identified, an
-engineer will then determine the change(s) needed and estimate
-the time required for the change(s).</P>
+<P>Once the level and scope of the trouble report is determined the software sub-system(s) involved with the problem are determined. This may involve additional communication with the user or vendor to isolate the problem to a specific cause.</P>
 
-<LI>Correction
+<P>When the sub-system(s) involved have been identified, an engineer will then determine the change(s) needed and estimate the time required for the change(s).</P>
 
-<P>Corrections are scheduled based upon the severity and
-complexity of the problem. Once all changes have been made,
-documented, and tested successfully a new software release
-snapshot is generated. Additional tests are added as necessary
-for proper testing of the changes.</P>
+<H3>3. Correction</H3>
 
-<LI>Notification
+<P>Corrections are scheduled based upon the severity and complexity of the problem. Once all changes have been made, documented, and tested successfully a new software release snapshot is generated. Additional tests are added as necessary for proper testing of the changes.</P>
 
-<P>The user or vendor is notified when the fix is available or if
-the problem was caused by user error.</P>
+<H3>4. Notification</H3>
 
-</OL>
+<P>The user or vendor is notified when the fix is available or if the problem was caused by user error.</P>
 
 
 <H2 CLASS="title"><A NAME="RELEASES">Release Management</A></H2>
 
-<P>When testing has been completed successfully, a new source
-package is created using the <VAR>tools/makesrcdist</VAR> script.
-Three types of releases, beta, candidate, and production, are
-created and released to the public using the basic schedule in
-Table 4. At least one beta and one release candidate must be
-created prior to a production release, and there must be at least
-two weeks between the last beta and first candidate and last
-candidate and first production release.</P>
+<P>When testing has been completed successfully, a new source package is created using the <VAR>tools/makesrcdist</VAR> script. Three types of releases - beta, candidate, and production - are created and released to the public using the basic schedule in Table 4. At least one beta and one release candidate must be created prior to a production release, and there must be at least two weeks between the last beta and first candidate and last candidate and first production release.</P>
 
 <DIV CLASS="table"><TABLE SUMMARY="CUPS Basic Release Schedule">
 <CAPTION>Table: CUPS Basic Release Schedule</CAPTION>
@@ -560,25 +404,18 @@ candidate and first production release.</P>
 
 <H2 CLASS="title"><A NAME="CODING">Coding Guidelines</A></H2>
 
-<P>These coding guidelines provide detailed information on source
-file formatting and documentation content and must be applied to
-all C and C++ source files provided with CUPS. Source code for
-other languages should conform to these guidelines as allowed by
-the language.</P>
+<P>These coding guidelines provide detailed information on source file formatting and documentation content and must be applied to all C and C++ source files provided with CUPS. Source code for other languages should conform to these guidelines as allowed by the language.</P>
+
 
 <H3>Source Files</H3>
 
-<P>All source files names shall be 16 characters or less in
-length to ensure compatibility with older UNIX filesystems.
-Source files containing functions shall have an extension of ".c"
-for ANSI C and ".cxx" for C++ source files. All other "include"
-files shall have an extension of ".h".</P>
+<P>All source files names must be 16 characters or less in length to ensure compatibility with older UNIX filesystems. Source files containing functions have an extension of ".c" for ANSI C and ".cxx" for C++ source files. All other "include" files have an extension of ".h". Tabs are set to 8 characters.</P>
 
-<P>The top of each source file shall contain a header giving the
-name of the file, the purpose or nature of the source file, the
-copyright and licensing notice, and the functions contained in
-the file.  The file name and revision information is provided by
-the Subversion "&#36;Id$" tag:</P>
+<BLOCKQUOTE><B>Note:</B>
+
+<P>The ".cxx" extension is used because it is the only common C++ extension between Linux, OS X, UNIX, and Windows.</P></BLOCKQUOTE>
+
+<P>The top of each source file contains a header giving the name of the file, the purpose or nature of the source file, the copyright and licensing notice, and the functions contained in the file.  The file name and revision information is provided by the Subversion "&#36;Id$" tag:</P>
 
 <PRE CLASS="command">
 /*
@@ -586,7 +423,7 @@ the Subversion "&#36;Id$" tag:</P>
  *
  *   Description of file contents.
  *
- *   Copyright 2010 by Apple Inc.
+ *   Copyright 2012 by Apple Inc.
  *
  *   These coded instructions, statements, and computer programs are the
  *   property of Apple Inc. and are protected by Federal copyright
@@ -602,19 +439,13 @@ the Subversion "&#36;Id$" tag:</P>
  */
 </PRE>
 
-<P>For source files that are subject to the Apple OS-Developed
-Software exception, the following additional comment should
-appear after the contact information:</P>
+<P>For source files that are subject to the Apple OS-Developed Software exception, the following additional comment appears after the contact information:</P>
 
 <PRE CLASS="command">
  *   This file is subject to the Apple OS-Developed Software exception.
 </PRE>
 
-<P>The bottom of each source file shall contain a trailer giving
-the name of the file using the Subversion "&#36;Id$" tag. The
-primary purpose of this is to mark the end of a source file; if
-the trailer is missing it is possible that code has been lost
-near the end of the file:</P>
+<P>The bottom of each source file contains a trailer giving the name of the file using the Subversion "&#36;Id$" tag. The primary purpose of this is to mark the end of a source file; if the trailer is missing it is possible that code has been lost near the end of the file:</P>
 
 <PRE CLASS="command">
 /*
@@ -622,22 +453,92 @@ near the end of the file:</P>
  */
 </PRE>
 
+
+<H3>Comments</H3>
+
+<P>All source code utilizes block comments within functions to describe the operations being performed by a group of statements; avoid putting a comment per line unless absolutely necessary, and then consider refactoring the code so that it is not necessary.  C source files use the block comment format ("/* comment */") since many vendor C compilers still do not support C99/C++ comments ("// comment"):</P>
+
+<PRE CLASS="command">
+ /*
+  * Clear the state array before we begin...
+  */
+
+  for (i = 0; i &lt; (sizeof(array) / sizeof(sizeof(array[0])); i ++)
+    array[i] = CUPS_STATE_IDLE;
+
+ /*
+  * Wait for state changes on another thread...
+  */
+
+  do
+  {
+    for (i = 0; i &lt; (sizeof(array) / sizeof(sizeof(array[0])); i ++)
+      if (array[i] != CUPS_STATE_IDLE)
+        break;
+
+    if (i == (sizeof(array) / sizeof(array[0])))
+      sleep(1);
+  } while (i == (sizeof(array) / sizeof(array[0])));
+</PRE>
+
+<H3>Indentation</H3>
+
+<P>All code blocks enclosed by brackets begin with the opening brace on a new line. The code then follows starting on a new line after the brace and is indented 2 spaces. The closing brace is then placed on a new line following the code at the original indentation:</P>
+
+<PRE CLASS="command">
+{
+  int i; /* Looping var */
+
+
+ /*
+  * Process foobar values from 0 to 999...
+  */
+
+  for (i = 0; i &lt; 1000; i ++)
+  {
+    do_this(i);
+    do_that(i);
+  }
+}
+</PRE>
+
+<P>Single-line statements following "do", "else", "for", "if", and "while" are indented 2 spaces as well. Blocks of code in a "switch" block are indented 4 spaces after each "case" and "default" case:</P>
+
+<PRE CLASS="command">
+switch (array[i])
+{
+  case CUPS_STATE_IDLE :
+      do_this(i);
+      do_that(i);
+      break;
+  default :
+      do_nothing(i);
+      break;
+}
+</PRE>
+
+
+<H3>Spacing</H3>
+
+<P>A space follows each reserved word such as "if", "while", etc. Spaces are not inserted between a function name and the arguments in parenthesis.</P>
+
+
+<H3>Return Values</H3>
+
+<P>Parenthesis surround values returned from a function:</P>
+
+<PRE CLASS="command">
+return (CUPS_STATE_IDLE);
+</PRE>
+
+
 <H3>Functions</H3>
 
-<P>Functions with a global scope shall have a lowercase prefix
-followed by capitalized words ("cupsDoThis", "cupsDoThat",
-"cupsDoSomethingElse", etc.) Private global functions shall begin
-with a leading underscore ("_cupsDoThis", "_cupsDoThat",
-etc.)</P>
+<P>Functions with a global scope have a lowercase prefix followed by capitalized words, e.g., "cupsDoThis", "cupsDoThat", "cupsDoSomethingElse", etc. Private global functions begin with a leading underscore, e.g., "_cupsDoThis", "_cupsDoThat", etc.</P>
 
-<P>Functions with a local scope shall be declared "static" and be
-lowercase with underscores between words ("do_this", "do_that",
-"do_something_else", etc.)</P>
+<P>Functions with a local scope are declared "static" with lowercase names and underscores between words, e.g., "do_this", "do_that", "do_something_else", etc.</P>
 
-<P>Each function shall begin with a comment header describing
-what the function does, the possible input limits (if any), and
-the possible output values (if any), and any special information
-needed:</P>
+<P>Each function begins with a comment header describing what the function does, the possible input limits (if any), and the possible output values (if any), and any special information needed:</P>
 
 <PRE CLASS="command">
 /*
@@ -654,100 +555,68 @@ do_this(float x)                        /* I - Power value (0.0 &lt;= x &lt;= 1.
 }
 </PRE>
 
-<P>Return/output values are indicated using an "O" prefix, input
-values are indicated using the "I" prefix, and values that are
-both input and output use the "IO" prefix for the corresponding
-in-line comment.</P>
+<P>Return/output values are indicated using an "O" prefix, input values are indicated using the "I" prefix, and values that are both input and output use the "IO" prefix for the corresponding in-line comment.</P>
 
-<P>The Mini-XML documentation generator also understands the following
-special text in the function description comment:</P>
+<P>The Mini-XML documentation generator also understands the following special text in the function description comment:</P>
 
 <UL>
 
-       <LI><CODE>@deprecated@</CODE> - Marks the function as
-       deprecated (not recommended for new development and
-       scheduled for removal)</LI>
+       <LI><CODE>@deprecated@</CODE> - Marks the function as deprecated (not recommended for new development and scheduled for removal)</LI>
 
-       <LI><CODE>@since CUPS <I>version</I>@</CODE> - Marks the
-       function as new in the specified version of CUPS.</LI>
+       <LI><CODE>@since CUPS <I>version</I>@</CODE> - Marks the function as new in the specified version of CUPS.</LI>
 
-       <LI><CODE>@private@</CODE> - Marks the function as private.</LI>
+       <LI><CODE>@private@</CODE> - Marks the function as private (same as starting the function name with an underscore)</LI>
 
 </UL>
 
+
 <H3>Variables</H3>
 
-<P>Variables with a global scope shall be capitalized
-("ThisVariable", "ThatVariable", "ThisStateVariable", etc.) The
-only exception to this rule shall be the CUPS interface library
-global variables which must begin with the prefix "cups"
-("cupsThisVariable", "cupsThatVariable", etc.) Global variables
-shall be replaced by function arguments whenever possible.</P>
+<P>Variables with a global scope are capitalized, e.g., "ThisVariable", "ThatVariable", "ThisStateVariable", etc. Globals in CUPS libraries are either part of the per-thread global values managed by the "_cupsGlobals()" function or are suitably protected for concurrent access. Global variables should be replaced by function arguments whenever possible.</P>
 
-<P>Variables with a local scope shall be lowercase with
-underscores between words ("this_variable", "that_variable",
-etc.) Any local variables shared by functions within a source
-file shall be declared "static".</P>
+<P>Variables with a local scope are lowercase with underscores between words, e.g., "this_variable", "that_variable", etc. Any "local global" variables shared by functions within a source file are declared "static". As for global variables, local static variables are suitably protected for concurrent access.</P>
 
-<P>Each variable shall be declared on a separate line and shall
-be immediately followed by a comment block describing the
-variable:</P>
+<P>Each variable is declared on a separate line and is immediately followed by a comment block describing the variable:</P>
 
 <PRE CLASS="command">
-int this_variable;   /* The current state of this */
-int that_variable;   /* The current state of that */
+int         ThisVariable;    /* The current state of this */
+static int  that_variable;   /* The current state of that */
 </PRE>
 
+
 <H3>Types</H3>
 
-<P>All type names shall be lowercase with underscores between
-words and "_t" appended to the end of the name
-("cups_this_type_t", "cups_that_type_t", etc.) Type names must
-start with a prefix, typically "cups" or the name of the program,
-to avoid conflicts with system types. Private type names must
-start with an underscore ("_cups_this_t", "_cups_that_t",
-etc.)</P>
+<P>All type names are lowercase with underscores between words and "_t" appended to the end of the name, e.g., "cups_this_type_t", "cups_that_type_t", etc. Type names start with a prefix, typically "cups" or the name of the program, to avoid conflicts with system types. Private type names start with an underscore, e.g., "_cups_this_t", "_cups_that_t", etc.</P>
 
-<P>Each type shall have a comment block immediately after the
-typedef:</P>
+<P>Each type has a comment block immediately after the typedef:</P>
 
 <PRE CLASS="command">
-typedef int cups_this_type_t;           /* This type is for CUPS foobar options. */
+typedef int cups_this_type_t;       /* This type is for CUPS foobar options. */
 </PRE>
 
+
 <H3>Structures</H3>
 
-<P>All structure names shall be lowercase with underscores
-between words and "_s" appended to the end of the name
-("cups_this_s", "cups_that_s", etc.) Structure names must start
-with a prefix, typically "cups" or the name of the program, to
-avoid conflicts with system types. Private structure names must
-start with an underscore ("_cups_this_s", "_cups_that_s",
-etc.)</P>
+<P>All structure names are lowercase with underscores between words and "_s" appended to the end of the name, e.g., "cups_this_s", "cups_that_s", etc. Structure names start with a prefix, typically "cups" or the name of the program, to avoid conflicts with system types. Private structure names start with an underscore, e.g., "_cups_this_s", "_cups_that_s", etc.</P>
 
-<P>Each structure shall have a comment block immediately after
-the struct and each member shall be documented in accordance with
-the variable naming policy above:</P>
+<P>Each structure has a comment block immediately after the struct and each member is documented similar to the variable naming policy above:</P>
 
 <PRE CLASS="command">
-struct cups_this_struct_s               /* This structure is for CUPS foobar options. */
+struct cups_this_struct_s     /* This structure is for CUPS foobar options. */
 {
-  int this_member;                      /* Current state for this */
-  int that_member;                      /* Current state for that */
+  int this_member;            /* Current state for this */
+  int that_member;            /* Current state for that */
 };
 </PRE>
 
+
 <H3>Constants</H3>
 
-<P>All constant names shall be uppercase with underscored between
-words ("CUPS_THIS_CONSTANT", "CUPS_THAT_CONSTANT", etc.)
-Constants must begin with an uppercase prefix, typically "CUPS"
-or the program name.</P>
+<P>All constant names are uppercase with underscores between words, e.g., "CUPS_THIS_CONSTANT", "CUPS_THAT_CONSTANT", etc. Constants begin with an uppercase prefix, typically "CUPS" or the program name. Private constants start with an underscore, e.g., "_CUPS_THIS_CONSTANT", "_CUPS_THAT_CONSTANT", etc.</P>
 
-<P>Typed enumerations shall be used whenever possible to allow
-for type checking by the compiler.</P>
+<P>Typed enumerations should be used whenever possible to allow for type checking by the compiler.</P>
 
-<P>Comment blocks shall immediately follow each constant:</P>
+<P>Comment blocks immediately follow each constant:</P>
 
 <PRE CLASS="command">
 enum
@@ -757,124 +626,20 @@ enum
 };
 </PRE>
 
-<H3>Code</H3>
-
-<P>All source code shall utilize block comments within functions
-to describe the operations being performed by a group of
-statements; avoid putting a comment per line unless absolutely
-necessary, and then consider refactoring the code so that it is
-not necessary:</P>
-
-<PRE CLASS="command">
-/*
- * Clear the state array before we begin...
- */
-
-for (i = 0; i &lt; (sizeof(array) / sizeof(sizeof(array[0])); i ++)
-  array[i] = STATE_IDLE;
-
-/*
- * Wait for state changes...
- */
-
-do
-{
-  for (i = 0; i &lt; (sizeof(array) / sizeof(sizeof(array[0])); i ++)
-    if (array[i] != STATE_IDLE)
-      break;
-
-  if (i == (sizeof(array) / sizeof(array[0])))
-    sleep(1);
-} while (i == (sizeof(array) / sizeof(array[0])));
-</PRE>
-
-<H3>Indentation</H3>
-
-<P>All code blocks enclosed by brackets shall begin with the
-opening brace on a new line. The code then follows starting on a
-new line after the brace and is indented 2 spaces. The closing
-brace is then placed on a new line following the code at the
-original indentation:</P>
-
-<PRE CLASS="command">
-{
-  int i; /* Looping var */
-
- /*
-  * Process foobar values from 0 to 999...
-  */
-
-  for (i = 0; i &lt; 1000; i ++)
-  {
-    do_this(i);
-    do_that(i);
-  }
-}
-</PRE>
-
-<P>Single-line statements following "do", "else", "for", "if",
-and "while" shall be indented 2 spaces as well. Blocks of code
-in a "switch" block shall be indented 4 spaces after each "case"
-and "default" case:</P>
-
-<PRE CLASS="command">
-switch (array[i])
-{
-  case STATE_IDLE :
-      do_this(i);
-      do_that(i);
-      break;
-  default :
-      do_nothing(i);
-      break;
-}
-</PRE>
-
-<H3>Spacing</H3>
-
-<P>A space shall follow each reserved word ("if", "while", etc.)
-Spaces shall not be inserted between a function name and the
-arguments in parenthesis.</P>
-
-<H3>Return Values</H3>
-
-<P>Parenthesis shall surround values returned from a function
-using "return":</P>
-
-<PRE CLASS="command">
-return (CUPS_STATE_IDLE);
-</PRE>
-
-<H3>Loops</H3>
-
-<P>Whenever convenient loops should count downward to zero to
-improve program performance:</P>
-
-<PRE CLASS="command">
-for (i = sizeof(array) / sizeof(array[0]) - 1; i >= 0; i --)
-  array[i] = CUPS_STATE_IDLE;
-</PRE>
 
 <H2 CLASS="title"><A NAME="MAKEFILES">Makefile Guidelines</A></H2>
 
-<P>The following is a guide to the makefile-based build system
-used by CUPS. These standards have been developed over the years
-to allow CUPS to be built on as many systems and environments as
-possible.</P>
+<P>The following is a guide to the makefile-based build system used by CUPS. These standards have been developed over the years to allow CUPS to be built on as many systems and environments as possible.</P>
+
 
 <H3>General Organization</H3>
 
-<P>The CUPS source code is organized functionally into a
-top-level makefile, include file, and subdirectories each with
-their own makefile and dependencies files. The ".in" files are
-template files for the <CODE>autoconf</CODE> software and are
-used to generate a static version of the corresponding file.</P>
+<P>The CUPS source code is organized functionally into a top-level makefile, include file, and subdirectories each with their own makefile and dependencies files. The ".in" files are template files for the <CODE>autoconf</CODE> software and are used to generate a static version of the corresponding file.</P>
+
 
 <H3>Makefile Documentation</H3>
 
-<P>Each make file must start with the standard CUPS header
-containing the Subversion "&#36;Id$" keyword, description of the
-file, and CUPS copyright and license notice:</P>
+<P>Each makefile starts with the standard CUPS header containing the Subversion "&#36;Id$" keyword, description of the file, and CUPS copyright and license notice:</P>
 
 <PRE CLASS="command">
 #
@@ -882,7 +647,7 @@ file, and CUPS copyright and license notice:</P>
 #
 #   Makefile for ...
 #
-#   Copyright 2007 by Apple Inc.
+#   Copyright 2012 by Apple Inc.
 #
 #   These coded instructions, statements, and computer programs are the
 #   property of Apple Inc. and are protected by Federal copyright
@@ -892,7 +657,7 @@ file, and CUPS copyright and license notice:</P>
 #
 </PRE>
 
-<P>The end of each makefile must have a comment saying:</P>
+<P>The end of each makefile has a comment saying:</P>
 
 <PRE CLASS="command">
 #
@@ -900,28 +665,21 @@ file, and CUPS copyright and license notice:</P>
 #
 </PRE>
 
-<P>The purpose of the trailer is to indicate the end of the
-makefile so that truncations are immediately obvious.</P>
+<P>The purpose of the trailer is to indicate the end of the makefile so that truncations are immediately obvious.</P>
+
 
 <H3>Portable Makefile Construction</H3>
 
-<P>CUPS uses a common subset of make program syntax to ensure
-that the software can be compiled "out of the box" on as many
-systems as possible. The following is a list of assumptions we
-follow when constructing makefiles:</P>
+<P>CUPS uses a common subset of make program syntax to ensure that the software can be compiled "out of the box" on as many systems as possible. The following is a list of assumptions we follow when constructing makefiles:</P>
 
 <UL>
 
-       <LI><b>Targets</b>; we assume that the make program
-       supports the notion of simple targets of the form
-       "name:" that perform tab-indented commands that follow
-       the target, e.g.:
+       <LI><b>Targets</b>; we assume that the make program supports the notion of simple targets of the form "name:" that perform tab-indented commands that follow the target, e.g.:
        <PRE CLASS="command">
 target:
 &rarr; target commands</PRE></LI>
 
-       <LI><b>Dependencies</b>; we assume that the make program
-       supports recursive dependencies on targets, e.g.:
+       <LI><b>Dependencies</b>; we assume that the make program supports recursive dependencies on targets, e.g.:
        <PRE CLASS="command">
 target: foo bar
 &rarr; target commands
@@ -935,28 +693,21 @@ bar:
 bla:
 &rarr; bla commands</PRE></LI>
 
-       <LI><b>Variable Definition</b>; we assume that the make program
-       supports variable definition on the command-line or in the makefile
-       using the following form:
+       <LI><b>Variable Definition</b>; we assume that the make program supports variable definition on the command-line or in the makefile using the following form:
        <PRE CLASS="command">
 name=value</PRE>
 
-       <LI><b>Variable Substitution</b>; we assume that the make program
-       supports variable substitution using the following forms:
+       <LI><b>Variable Substitution</b>; we assume that the make program supports variable substitution using the following forms:
        <UL>
                <LI><CODE>$(name)</CODE>; substitutes the value of "name",</LI>
-               <LI><CODE>($name:.old=.new)</CODE>; substitutes the value of "name"
-               with the filename extensions ".old" changed to ".new",</LI>
-               <LI><CODE>$(MAKEFLAGS)</CODE>; substitutes the 
-               command-line options passed to the program
-               without the leading hyphen (-),</LI>
+               <LI><CODE>($name:.old=.new)</CODE>; substitutes the value of "name"     with the filename extension ".old" changed to ".new",</LI>
+               <LI><CODE>$(MAKEFLAGS)</CODE>; substitutes the command-line options passed to the program without the leading hyphen (-),</LI>
                <LI><CODE>$$</CODE>; substitutes a single <CODE>$</CODE> character,</LI>
                <LI><CODE>$&lt;</CODE>; substitutes the current source file or dependency, and</LI>
                <LI><CODE>$@</CODE>; substitutes the current target name.</LI>
        </UL></LI>
 
-       <LI><b>Suffixes</b>; we assume that the make program
-       supports filename suffixes with assumed dependencies, e.g.:
+       <LI><b>Suffixes</b>; we assume that the make program supports filename suffixes with assumed dependencies, e.g.:
        <PRE CLASS="command">
 .SUFFIXES: .c .o
 .c.o:
@@ -968,64 +719,67 @@ name=value</PRE>
 include ../Makedefs
 include Dependencies</PRE></LI>
 
-       <LI><b>Comments</b>; we assume that comments begin with
-       a <CODE>#</CODE> character and proceed to the end of the
-       current line.</LI>
+       <LI><b>Comments</b>; we assume that comments begin with a <CODE>#</CODE> character and proceed to the end of the current line.</LI>
 
-       <LI><b>Line Length</b>; we assume that there is no
-       practical limit to the length of lines.</LI>
+       <LI><b>Line Length</b>; we assume that there is no practical limit to the length of lines.</LI>
 
-       <LI><b>Continuation of long lines</b>; we assume that
-       the <CODE>\</CODE> character may be placed at the end of a
-       line to concatenate two or more lines in a
-       makefile to form a single long line.</LI>
+       <LI><b>Continuation of long lines</b>; we assume that the <CODE>\</CODE> character may be placed at the end of a line to concatenate two or more lines in a makefile to form a single long line.</LI>
 
-       <LI><b>Shell</b>; we assume a POSIX-compatible shell is
-       present on the build system.</LI>
+       <LI><b>Shell</b>; we assume a POSIX-compatible shell is present on the build system.</LI>
 
 </UL>
 
+
 <H3>Standard Variables</H3>
 
-<P>The following variables are defined in the "Makedefs" file
-generated by the <CODE>autoconf</CODE> software:</P>
+<P>The following variables are defined in the "Makedefs" file generated by the <CODE>autoconf</CODE> software:</P>
 
 <UL>
 
-       <LI><CODE>AR</CODE>; the library archiver command,</LI>
+       <LI><CODE>ALL_CFLAGS</CODE>; the combined C compiler options,</LI>
 
-       <LI><CODE>ARFLAGS</CODE>; options for the library archiver command,</LI>
-
-       <LI><CODE>BUILDROOT</CODE>; optional installation prefix,</LI>
+       <LI><CODE>ALL_CXXFLAGS</CODE>; the combined C++ compiler options,</LI>
 
-       <LI><CODE>MAN1EXT</CODE>; extension for man pages in section 1,</LI>
+       <LI><CODE>AMANDIR</CODE>; the administrative man page installation directory (section 8/1m depending on the platform),</LI>
 
-       <LI><CODE>MAN3EXT</CODE>; extension for man pages in section 3,</LI>
+       <LI><CODE>AR</CODE>; the library archiver command,</LI>
 
-       <LI><CODE>MAN5EXT</CODE>; extension for man pages in section 5,</LI>
+       <LI><CODE>ARFLAGS</CODE>; options for the library archiver command,</LI>
 
-       <LI><CODE>MAN7EXT</CODE>; extension for man pages in section 7,</LI>
+       <LI><CODE>AWK</CODE>; the local awk command,</LI>
 
-       <LI><CODE>MAN8DIR</CODE>; subdirectory for man pages in section 8,</LI>
+       <LI><CODE>BINDIR</CODE>; the binary installation directory,</LI>
 
-       <LI><CODE>MAN8EXT</CODE>; extension for man pages in section 8,</LI>
+       <LI><CODE>BUILDROOT</CODE>; optional installation prefix (defaults to DSTROOT),</LI>
 
        <LI><CODE>CC</CODE>; the C compiler command,</LI>
 
        <LI><CODE>CFLAGS</CODE>; options for the C compiler command,</LI>
 
+       <LI><CODE>CHMOD</CODE>; the chmod command,</LI>
+
        <LI><CODE>CXX</CODE>; the C++ compiler command,</LI>
 
        <LI><CODE>CXXFLAGS</CODE>; options for the C++ compiler command,</LI>
 
-       <LI><CODE>DSOCOMMAND</CODE>; the shared library building command,</LI>
+       <LI><CODE>DATADIR</CODE>; the data file installation directory,</LI>
+
+       <LI><CODE>DSO</CODE>; the C shared library building command,</LI>
+
+       <LI><CODE>DSOXX</CODE>; the C++ shared library building command,</LI>
 
        <LI><CODE>DSOFLAGS</CODE>; options for the shared library building command,</LI>
 
+       <LI><CODE>INCLUDEDIR</CODE>; the public header file installation directory,</LI>
+
        <LI><CODE>INSTALL</CODE>; the <CODE>install</CODE> command,</LI>
 
        <LI><CODE>INSTALL_BIN</CODE>; the program installation command,</LI>
 
+       <LI><CODE>INSTALL_COMPDATA</CODE>; the compressed data file installation command,</LI>
+
+       <LI><CODE>INSTALL_CONFIG</CODE>; the configuration file installation command,</LI>
+
        <LI><CODE>INSTALL_DATA</CODE>; the data file installation command,</LI>
 
        <LI><CODE>INSTALL_DIR</CODE>; the directory installation command,</LI>
@@ -1036,77 +790,82 @@ generated by the <CODE>autoconf</CODE> software:</P>
 
        <LI><CODE>INSTALL_SCRIPT</CODE>; the shell script installation command,</LI>
 
+       <LI><CODE>LD</CODE>; the linker command,</LI>
+
        <LI><CODE>LDFLAGS</CODE>; options for the linker,</LI>
 
+       <LI><CODE>LIBDIR</CODE>; the library installation directory,</LI>
+
        <LI><CODE>LIBS</CODE>; libraries for all programs,</LI>
 
        <LI><CODE>LN</CODE>; the <CODE>ln</CODE> command,</LI>
 
-       <LI><CODE>OPTIM</CODE>; common compiler optimization options,</LI>
+       <LI><CODE>MAN1EXT</CODE>; extension for man pages in section 1,</LI>
 
-       <LI><CODE>RM</CODE>; the <CODE>rm</CODE> command,</LI>
+       <LI><CODE>MAN3EXT</CODE>; extension for man pages in section 3,</LI>
 
-       <LI><CODE>SHELL</CODE>; the <CODE>sh</CODE> (POSIX shell) command,</LI>
+       <LI><CODE>MAN5EXT</CODE>; extension for man pages in section 5,</LI>
 
-       <LI><CODE>STRIP</CODE>; the <CODE>strip</CODE> command,</LI>
+       <LI><CODE>MAN7EXT</CODE>; extension for man pages in section 7,</LI>
 
-       <LI><CODE>bindir</CODE>; the binary installation directory,</LI>
+       <LI><CODE>MAN8DIR</CODE>; subdirectory for man pages in section 8,</LI>
+
+       <LI><CODE>MAN8EXT</CODE>; extension for man pages in section 8,</LI>
 
-       <LI><CODE>datadir</CODE>; the data file installation directory,</LI>
+       <LI><CODE>MANDIR</CODE>; the man page installation directory,</LI>
 
-       <LI><CODE>exec_prefix</CODE>; the installation prefix for executable files,</LI>
+       <LI><CODE>OPTIM</CODE>; common compiler optimization options,</LI>
+
+       <LI><CODE>PRIVATEINCLUDE</CODE>; the private header file installation directory,</LI>
 
-       <LI><CODE>libdir</CODE>; the library installation directory,</LI>
+       <LI><CODE>RM</CODE>; the <CODE>rm</CODE> command,</LI>
 
-       <LI><CODE>mandir</CODE>; the man page installation directory,</LI>
+       <LI><CODE>SHELL</CODE>; the <CODE>sh</CODE> (POSIX shell) command,</LI>
 
-       <LI><CODE>prefix</CODE>; the installation prefix for non-executable files, and</LI>
+       <LI><CODE>STRIP</CODE>; the <CODE>strip</CODE> command,</LI>
 
        <LI><CODE>srcdir</CODE>; the source directory.</LI>
 
 </UL>
 
+
 <H3>Standard Targets</H3>
 
-<P>The following standard targets must be defined in each
-makefile:</P>
+<P>The following standard targets are defined in each makefile:</P>
 
 <UL>
 
-       <LI><CODE>all</CODE>; creates all target programs,
-       libraries, and documentation files,</LI>
+       <LI><CODE>all</CODE>; creates all target programs, libraries, and documentation files,</LI>
+
+       <LI><CODE>clean</CODE>; removes all target programs libraries, documentation files, and object files,</LI>
+
+       <LI><CODE>depend</CODE>; generates automatic dependencies for any C or C++ source files (also see <A HREF="#DEPEND_TARGET">"Dependencies"</A>),</LI>
+
+       <LI><CODE>distclean</CODE>; removes autoconf-generated files in addition to those removed by the "clean" target,</LI>
+
+       <LI><CODE>install</CODE>; installs all distribution files in their corresponding locations (also see <A HREF="#INSTALL_TARGET">"Install/Uninstall Support"</A>),</LI>
 
-       <LI><CODE>clean</CODE>; removes all target programs,
-       libraries, documentation files, and object files,</LI>
+       <LI><CODE>install-data</CODE>; installs all data files in their corresponding locations (also see <A HREF="#INSTALL_TARGET">"Install/Uninstall Support"</A>),</LI>
 
-       <LI><CODE>depend</CODE>; generates automatic dependencies
-       for any C or C++ source files (also see <A
-       HREF="#DEPEND_TARGET">"Dependencies"</A>),</LI>
+       <LI><CODE>install-exec</CODE>; installs all executable files in their corresponding locations (also see <A HREF="#INSTALL_TARGET">"Install/Uninstall Support"</A>),</LI>
 
-       <LI><CODE>distclean</CODE>; removes autoconf-generated files
-       in addition to those removed by the "clean" target,</LI>
+       <LI><CODE>install-headers</CODE>; installs all include files in their corresponding locations (also see <A HREF="#INSTALL_TARGET">"Install/Uninstall Support"</A>),</LI>
 
-       <LI><CODE>install</CODE>; installs all distribution files in
-       their corresponding locations (also see <A
-       HREF="#INSTALL_TARGET">"Install/Uninstall Support"</A>), </LI>
+       <LI><CODE>install-libs</CODE>; installs all library files in their corresponding locations (also see <A HREF="#INSTALL_TARGET">"Install/Uninstall Support"</A>),</LI>
 
-       <LI><CODE>uninstall</CODE>; removes all distribution files from
-       their corresponding locations (also see <A
-       HREF="#INSTALL_TARGET">"Install/Uninstall Support"</A>), and</LI>
+       <LI><CODE>uninstall</CODE>; removes all distribution files from their corresponding locations (also see <A HREF="#INSTALL_TARGET">"Install/Uninstall Support"</A>), and</LI>
 
 </UL>
 
 
 <H3>Object Files</H3>
 
-<P>Object files (the result of compiling a C or C++ source file)
-have the extension ".o".</P>
+<P>Object files (the result of compiling a C or C++ source file) have the extension ".o".</P>
+
 
 <H3>Programs</H3>
 
-<P>Program files are the result of linking object files and
-libraries together to form an executable file. A typical
-program target looks like:</P>
+<P>Program files are the result of linking object files and libraries together to form an executable file. A typical program target looks like:</P>
 
 <PRE CLASS="command">
 program: $(OBJS)
@@ -1114,10 +873,10 @@ program: $(OBJS)
 &rarr; $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)
 </PRE>
 
+
 <H3>Static Libraries</H3>
 
-<P>Static libraries have a prefix of "lib" and the extension
-".a". A typical static library target looks like:</P>
+<P>Static libraries have a prefix of "lib" and the extension ".a". A typical static library target looks like:</P>
 
 <PRE CLASS="command">
 libname.a: $(OBJECTS)
@@ -1127,12 +886,10 @@ libname.a: $(OBJECTS)
 &rarr; $(RANLIB) $@
 </PRE>
 
+
 <H3>Shared Libraries</H3>
 
-<P>Shared libraries have a prefix of "lib" and the extension
-".dylib", ".sl", ".so", or "_s.a" depending on the operating
-system. A typical shared library is composed of several targets
-that look like:</P>
+<P>Shared libraries have a prefix of "lib" and the extension ".dylib", ".sl", ".so", or "_s.a" depending on the operating system. A typical shared library is composed of several targets that look like:</P>
 
 <PRE CLASS="command">
 libname.so: $(OBJECTS)
@@ -1173,46 +930,29 @@ libname_s.a: $(OBJECTS)
 
 <H3>Dependencies</H3>
 
-<P>Static dependencies are expressed in each makefile following the
-target, for example:</P>
+<P>Static dependencies are expressed in each makefile following the target, for example:</P>
 
 <PRE CLASS="command">
 foo: bar
 </PRE>
 
-<P>Static dependencies shall only be used when it is not
-possible to automatically generate them. Automatic dependencies
-are stored in a file named "Dependencies" and included at the
-end of the makefile. The following "depend" target rule shall be
-used to create the automatic dependencies:
+<P>Static dependencies are only used when it is not possible to automatically generate them. Automatic dependencies are stored in a file named "Dependencies" and included at the end of the makefile. The following "depend" target rule is used to create the automatic dependencies:
 
 <PRE CLASS="command">
 depend:
-&rarr; $(MAKEDEPEND) -Y -I.. -f Dependencies $(OBJS:.o=.c)
+&rarr; $(CC) -MM $(ALL_CFLAGS) $(OBJS:.o=.c) >Dependencies
 </PRE>
 
-<P>We only regenerate the automatic dependencies on a Linux
-system and express any non-Linux dependencies statically in the
-makefile.</P>
+<P>We regenerate the automatic dependencies on an OS X system and express any non-OS X dependencies statically in the makefile.</P>
+
 
 <H3><A NAME="TARGET_INSTALL">Install/Uninstall Support</A></H3>
 
-<P>All makefiles must contain install and uninstall rules which
-install or remove the corresponding software. These rules must
-use the <CODE>$(BUILDROOT)</CODE> variable as a prefix to any
-installation directory so that CUPS can be installed in a
-temporary location for packaging by programs like
-<CODE>rpmbuild</CODE>.</P>
-
-<P>The <CODE>$(INSTALL_BIN)</CODE>, <CODE>$(INSTALL_DATA)</CODE>,
-<CODE>$(INSTALL_DIR)</CODE>, <CODE>$(INSTALL_LIB)</CODE>,
-<CODE>$(INSTALL_MAN)</CODE>, and <CODE>$(INSTALL_SCRIPT)</CODE>
-variables must be used when installing files so that the proper
-ownership and permissions are set on the installed files.</P>
-
-<P>The <CODE>$(RANLIB)</CODE> command must be run on any static
-libraries after installation since the symbol table is
-invalidated when the library is copied on some platforms.</P>
+<P>All makefiles contains install and uninstall rules which install or remove the corresponding software. These rules must use the <CODE>$(BUILDROOT)</CODE> variable as a prefix to any installation directory so that CUPS can be installed in a temporary location for packaging by programs like <CODE>rpmbuild</CODE>.</P>
+
+<P>The <CODE>$(INSTALL_BIN)</CODE>, <CODE>$(INSTALL_COMPDATA)</CODE>, <CODE>$(INSTALL_CONFIG)</CODE>, <CODE>$(INSTALL_DATA)</CODE>, <CODE>$(INSTALL_DIR)</CODE>, <CODE>$(INSTALL_LIB)</CODE>, <CODE>$(INSTALL_MAN)</CODE>, and <CODE>$(INSTALL_SCRIPT)</CODE> variables must be used when installing files so that the proper ownership and permissions are set on the installed files.</P>
+
+<P>The <CODE>$(RANLIB)</CODE> command must be run on any static libraries after installation since the symbol table is invalidated when the library is copied on some platforms.</P>
 
 </BODY>
 </HTML>
index af201cb..0609357 100644 (file)
@@ -8,7 +8,7 @@
 </head>
 <body>
 <!--
-  "$Id: spec-command.html 9727 2011-04-28 21:20:12Z mike $"
+  "$Id$"
 
   CUPS command file format specification for CUPS.
 
index 98bc057..e06270c 100644 (file)
@@ -8,11 +8,11 @@
 </head>
 <body>
 <!--
-  "$Id: spec-ipp.html 9727 2011-04-28 21:20:12Z mike $"
+  "$Id$"
 
   CUPS IPP specification for CUPS.
 
-  Copyright 2007-2011 by Apple Inc.
+  Copyright 2007-2012 by Apple Inc.
   Copyright 1997-2007 by Easy Software Products.
 
   These coded instructions, statements, and computer programs are the
@@ -365,7 +365,7 @@ Print-Job request:
 
 <dl>
 
-       <dt>"auth-info" (1setOf text(MAX)):<span class='info'>CUPS 1.3/Mac OS X 10.5</span>
+       <dt>"auth-info" (1setOf text(MAX)):<span class='info'>CUPS 1.3/OS X 10.5</span>
 
        <dd>The client OPTIONALLY supplies one or more authentication values as specified by the "auth-info-required" attribute.
 
@@ -472,7 +472,7 @@ Create-Job request:
 
 <dl>
 
-       <dt>"auth-info" (1setOf text(MAX)):<span class='info'>CUPS 1.3/Mac OS X 10.5</span>
+       <dt>"auth-info" (1setOf text(MAX)):<span class='info'>CUPS 1.3/OS X 10.5</span>
 
        <dd>The client OPTIONALLY supplies one or more authentication values as specified by the "auth-info-required" attribute.
 
@@ -577,7 +577,7 @@ Cancel-Job request:
        <dd>The client MUST supply a URI for the specified printer and
        a job ID number, or the job URI.
 
-       <dt><span class="info">CUPS 1.4/Mac OS X 10.6</span>"purge-job" (boolean):
+       <dt><span class="info">CUPS 1.4/OS X 10.6</span>"purge-job" (boolean):
 
        <dd>The client OPTIONALLY supplies this attribute. When true,
        all job files (history and document) are purged. The default
@@ -632,18 +632,18 @@ Purge-Jobs request:
        <dd>The client MUST supply a URI for the specified printer or
        "ipp://.../printers" for all printers and classes.
 
-       <dt><span class="info">CUPS 1.2/Mac OS X 10.5</span>"requesting-user-name" (name(MAX)):
+       <dt><span class="info">CUPS 1.2/OS X 10.5</span>"requesting-user-name" (name(MAX)):
 
        <dd>The client OPTIONALLY supplies this attribute to specify whose jobs
        jobs are purged or canceled.
 
-       <dt><span class="info">CUPS 1.2/Mac OS X 10.5</span>"my-jobs" (boolean):
+       <dt><span class="info">CUPS 1.2/OS X 10.5</span>"my-jobs" (boolean):
 
        <dd>The client OPTIONALLY supplies this attribute to specify that only
        the jobs owned by the requesting user are purged or canceled. The
        default is false.
 
-       <dt><span class="info">CUPS 1.2/Mac OS X 10.5</span>"purge-jobs" (boolean):
+       <dt><span class="info">CUPS 1.2/OS X 10.5</span>"purge-jobs" (boolean):
 
        <dd>The client OPTIONALLY supplies this attribute to specify
        whether the jobs are purged (true) or just canceled (false).
@@ -754,7 +754,7 @@ Response:
 
 </dl>
 
-<h3 class='title'><span class='info'>CUPS 1.2/Mac OS X 10.5</span><a
+<h3 class='title'><span class='info'>CUPS 1.2/OS X 10.5</span><a
 name='CREATE_PRINTER_SUBSCRIPTION'>Create-Printer-Subscription</a></h3>
 
 <p>The Create-Printer-Subscription operation (0x0016) creates a
@@ -926,7 +926,7 @@ CUPS-Get-Printers request:
        attributes as described in section 3.1.4.1 of the IPP Model and
        Semantics document.
 
-       <dt>"first-printer-name" (name(127)):<span class='info'>CUPS 1.2/Mac OS X 10.5</span>
+       <dt>"first-printer-name" (name(127)):<span class='info'>CUPS 1.2/OS X 10.5</span>
 
        <dd>The client OPTIONALLY supplies this attribute to
        select the first printer that is returned.
@@ -960,7 +960,7 @@ CUPS-Get-Printers request:
        responds as if this attribute had been supplied with a value of
        'all'.
 
-       <dt>"requested-user-name" (name(127)) : <span class='info'>CUPS 1.2/Mac OS X 10.5</span>
+       <dt>"requested-user-name" (name(127)) : <span class='info'>CUPS 1.2/OS X 10.5</span>
 
        <dd>The client OPTIONALLY supplies a user name that is used to filter
        the returned printers.
@@ -1027,7 +1027,7 @@ CUPS-Add-Modify-Printer request:
 
 <dl>
 
-       <dt>"auth-info-required" (1setOf type2 keyword):<span class='info'>CUPS 1.3/Mac OS X 10.5</span>
+       <dt>"auth-info-required" (1setOf type2 keyword):<span class='info'>CUPS 1.3/OS X 10.5</span>
 
        <dd>The client OPTIONALLY supplies one or more authentication keywords that are required to communicate with the printer/remote queue.
 
@@ -1190,7 +1190,7 @@ CUPS-Get-Classes request:
        attributes as described in section 3.1.4.1 of the IPP Model and
        Semantics document.
 
-       <dt>"first-printer-name" (name(127)):<span class='info'>CUPS 1.2/Mac OS X 10.5</span>
+       <dt>"first-printer-name" (name(127)):<span class='info'>CUPS 1.2/OS X 10.5</span>
 
        <dd>The client OPTIONALLY supplies this attribute to
        select the first printer that is returned.
@@ -1220,7 +1220,7 @@ CUPS-Get-Classes request:
        interested. If the client omits this attribute, the server responds as
        if this attribute had been supplied with a value of 'all'.
 
-       <dt>"requested-user-name" (name(127)) : <span class='info'>CUPS 1.2/Mac OS X 10.5</span>
+       <dt>"requested-user-name" (name(127)) : <span class='info'>CUPS 1.2/OS X 10.5</span>
 
        <dd>The client OPTIONALLY supplies a user name that is used to filter
        the returned printers.
@@ -1287,7 +1287,7 @@ CUPS-Add-Modify-Class request:
 
 <dl>
 
-       <dt>"auth-info-required" (1setOf type2 keyword):<span class='info'>CUPS 1.3/Mac OS X 10.5</span>
+       <dt>"auth-info-required" (1setOf type2 keyword):<span class='info'>CUPS 1.3/OS X 10.5</span>
 
        <dd>The client OPTIONALLY supplies one or more authentication keywords that are required to communicate with the printer/remote queue.
 
@@ -1586,14 +1586,14 @@ CUPS-Get-Devices request:
        <dd>The client OPTIONALLY supplies a device class keyword to select
        which devices are returned.
 
-       <dt>"exclude-schemes" (1setOf name) :<span class='info'>CUPS 1.4/Mac OS X 10.6</span>
+       <dt>"exclude-schemes" (1setOf name) :<span class='info'>CUPS 1.4/OS X 10.6</span>
 
        <dd>The client OPTIONALLY supplies a set of scheme names that the
        requestor does not want to discover. If the client omits this attribute,
        the server responds with devices of all schemes specified by
        the "include-schemes" attribute.
 
-       <dt>"include-schemes" (1setOf name) :<span class='info'>CUPS 1.4/Mac OS X 10.6</span>
+       <dt>"include-schemes" (1setOf name) :<span class='info'>CUPS 1.4/OS X 10.6</span>
 
        <dd>The client OPTIONALLY supplies a set of scheme names that the
        requestor wants to discover. If the client omits this attribute,
@@ -1612,7 +1612,7 @@ CUPS-Get-Devices request:
        the client omits this attribute, the server responds as if this
        attribute had been supplied with a value of 'all'.
 
-       <dt>"timeout" (integer (1:MAX)) :<span class='info'>CUPS 1.4/Mac OS X 10.6</span>
+       <dt>"timeout" (integer (1:MAX)) :<span class='info'>CUPS 1.4/OS X 10.6</span>
 
        <dd>The client OPTIONALLY supplies this attribute to limit the duration
        of the lookup. The default timeout is 15 seconds.
@@ -1669,14 +1669,14 @@ CUPS-Get-PPDs request:
        attributes as described in section 3.1.4.1 of the IPP Model and
        Semantics document.
 
-       <dt>"exclude-schemes" (1setOf name) :<span class='info'>CUPS 1.4/Mac OS X 10.6</span>
+       <dt>"exclude-schemes" (1setOf name) :<span class='info'>CUPS 1.4/OS X 10.6</span>
 
        <dd>The client OPTIONALLY supplies a set of scheme names that the
        requestor does not want to list. If the client omits this attribute,
        the server responds with PPDs of all schemes specified by the
        "include-schemes" attribute.
 
-       <dt>"include-schemes" (1setOf name) :<span class='info'>CUPS 1.4/Mac OS X 10.6</span>
+       <dt>"include-schemes" (1setOf name) :<span class='info'>CUPS 1.4/OS X 10.6</span>
 
        <dd>The client OPTIONALLY supplies a set of scheme names that the
        requestor wants to list. If the client omits this attribute, the server
@@ -1691,27 +1691,27 @@ CUPS-Get-PPDs request:
 
        <dd>The client OPTIONALLY supplies a printer manufacturer to select which PPDs are returned.
 
-       <dt>"ppd-make-and-model" (text(127)):<span class='info'>CUPS 1.3/Mac OS X 10.5</span>
+       <dt>"ppd-make-and-model" (text(127)):<span class='info'>CUPS 1.3/OS X 10.5</span>
 
        <dd>The client OPTIONALLY supplies a make and model to select which PPDs are returned.
 
-       <dt>"ppd-model-number" (integer):<span class='info'>CUPS 1.3/Mac OS X 10.5</span>
+       <dt>"ppd-model-number" (integer):<span class='info'>CUPS 1.3/OS X 10.5</span>
 
        <dd>The client OPTIONALLY supplies a model number to select which PPDs are returned.
 
-       <dt>"ppd-natural-language" (naturalLanguage):<span class='info'>CUPS 1.3/Mac OS X 10.5</span>
+       <dt>"ppd-natural-language" (naturalLanguage):<span class='info'>CUPS 1.3/OS X 10.5</span>
 
        <dd>The client OPTIONALLY supplies a language to select which PPDs are returned.
 
-       <dt>"ppd-product" (text(127)):<span class='info'>CUPS 1.3/Mac OS X 10.5</span>
+       <dt>"ppd-product" (text(127)):<span class='info'>CUPS 1.3/OS X 10.5</span>
 
        <dd>The client OPTIONALLY supplies a PostScript product string to select which PPDs are returned.
 
-       <dt>"ppd-psversion" (text(127)):<span class='info'>CUPS 1.3/Mac OS X 10.5</span>
+       <dt>"ppd-psversion" (text(127)):<span class='info'>CUPS 1.3/OS X 10.5</span>
 
        <dd>The client OPTIONALLY supplies a PostScript version string to select which PPDs are returned.
 
-       <dt>"ppd-type" (type1 keyword):<span class='info'>CUPS 1.3/Mac OS X 10.5</span>
+       <dt>"ppd-type" (type1 keyword):<span class='info'>CUPS 1.3/OS X 10.5</span>
 
        <dd>The client OPTIONALLY supplies a driver type to select which PPDs are returned.
 
@@ -1813,7 +1813,7 @@ CUPS-Move-Job Response:
 
 </dl>
 
-<h3 class='title'><span class='info'>CUPS 1.2/Mac OS X 10.5</span><a name='CUPS_AUTHENTICATE_JOB'>CUPS-Authenticate-Job Operation</a></h3>
+<h3 class='title'><span class='info'>CUPS 1.2/OS X 10.5</span><a name='CUPS_AUTHENTICATE_JOB'>CUPS-Authenticate-Job Operation</a></h3>
 
 <p>The CUPS-Authenticate-Job operation (0x400E) authenticates a print job for
 printing, releasing the job if it is held. Typically this is used when printing
@@ -1848,11 +1848,11 @@ CUPS-Authenticate-Job request:
 
 <dl>
 
-       <dt>"auth-info" (1setOf text(MAX)):<span class='info'>CUPS 1.3/Mac OS X 10.5</span>
+       <dt>"auth-info" (1setOf text(MAX)):<span class='info'>CUPS 1.3/OS X 10.5</span>
 
        <dd>The client OPTIONALLY supplies one or more authentication values as specified by the "auth-info-required" attribute.
 
-       <dt>"job-hold-until" (keyword | name(MAX)):<span class='info'>CUPS 1.3/Mac OS X 10.5</span>
+       <dt>"job-hold-until" (keyword | name(MAX)):<span class='info'>CUPS 1.3/OS X 10.5</span>
 
        <dd>The client OPTIONALLY supplies a new job-hold-until value for the
        job. If specified and not the "no-hold" value, the job is held instead
@@ -1891,7 +1891,7 @@ CUPS-Authenticate-Job Response:
 
 </dl>
 
-<h3 class='title'><span class='info'>CUPS 1.3/Mac OS X 10.5</span><a name='CUPS_GET_PPD'>CUPS-Get-PPD Operation</a></h3>
+<h3 class='title'><span class='info'>CUPS 1.3/OS X 10.5</span><a name='CUPS_GET_PPD'>CUPS-Get-PPD Operation</a></h3>
 
 <p>The CUPS-Get-PPD operation (0x400F) gets a PPD file from the
 server. The PPD file can be specified using a <tt>ppd-name</tt>
@@ -1961,7 +1961,7 @@ CUPS-Get-PPD Response:
 <p>If the status code is <tt>successful-ok</tt>, the PPD file follows
 the end of the IPP response.</p>
 
-<h3 class='title'><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='CUPS_GET_DOCUMENT'>CUPS-Get-Document Operation</a></h3>
+<h3 class='title'><span class='info'>CUPS 1.4/OS X 10.6</span><a name='CUPS_GET_DOCUMENT'>CUPS-Get-Document Operation</a></h3>
 
 <p>The CUPS-Get-Document operation (0x4027) gets a document file from a
 job on the server. The document file is specified using the
@@ -2078,7 +2078,7 @@ one of the following:
 
 </ul>
 
-<h4><a name="device-id">device-id (text(127))</a><span class="info">CUPS 1.2/Mac OS X 10.5</span></h4>
+<h4><a name="device-id">device-id (text(127))</a><span class="info">CUPS 1.2/OS X 10.5</span></h4>
 
 <p>The device-id attribute specifies the IEEE-1284 device ID
 string for the device.</p>
@@ -2088,7 +2088,7 @@ string for the device.</p>
 <p>The device-info attribute specifies a human-readable string describing
 the device, e.g. "Parallel Port #1".
 
-<h4><a name="device-location">device-location (text(127))</a><span class="info">CUPS 1.4/Mac OS X 10.6</span></h4>
+<h4><a name="device-location">device-location (text(127))</a><span class="info">CUPS 1.4/OS X 10.6</span></h4>
 
 <p>The device-location attribute specifies the physical location of the
 printer.
@@ -2148,89 +2148,22 @@ of the device-class attribute:
 
 <h3 class='title'><a name='JOB_TEMPLATE_ATTRIBUTES'>Job Template Attributes</a></h3>
 
-<h4><a name="auth-info">auth-info (1setOf text(MAX))</a><span class="info">CUPS 1.3/Mac OS X 10.5</span></h4>
+<h4><a name="auth-info">auth-info (1setOf text(MAX))</a><span class="info">CUPS 1.3/OS X 10.5</span></h4>
 
 <p>The auth-info attribute specifies the authentication information to use when printing to a remote device. The order and content of each text value is specifed by the <a href="#auth-info-required">auth-info-required</a> printer attribute.
 
-<h4><a name="blackplot">blackplot (boolean)</a></h4>
-
-<p>The blackplot attribute specifies whether HP-GL/2 plot files should be
-rendered entirely in black ink (blackplot=true) or using the colors and shades
-specified in the file (blackplot=false). The default value is false.
-
-<h4><a name="brightness">brightness (integer(0:200))</a><span class="info">Deprecated</span></h4>
-
-<p>The brightness attribute specifies the overall brightness of the printed
-output in percent. A brightness of 100 is normal, while 200 is twice as
-bright and 50 is half as bright. The default value is 100.
-
-<p>Brightness is applied to the Cyan, Magenta, Yellow, and Black values using
-the function "f(x) = brightness / 100 * x".
-
-<blockquote><b>Note:</b>
-
-<p>This attribute is deprecated and will be removed from a future CUPS
-release.</p>
-
-</blockquote>
-
-<h4><a name="columns">columns (integer(1:4))</a> <span class='info'>Deprecated</span></h4>
-
-<p>The columns attribute specifies the number of columns to generate when
-printing text files. The default value is 1.
-
 <h4><a name="cpi">cpi (type2 enum)</a></h4>
 
 <p>The cpi attribute specifies the number of characters per inch when
 printing text files. Only the values 10, 12, and 17 are currently
 supported. The default value is 10.
 
-<h4><a name="document-count">document-count (integer(1:MAX))</a></h4>
-
-<p>The document-count attribute specifies the number of documents that
-are present in the job.
-
-<h4><a name="fit-to-page">fit-to-page (boolean)</a><span class="info">CUPS 1.4/Mac OS X 10.6</span></h4>
+<h4><a name="fit-to-page">fit-to-page (boolean)</a><span class="info">CUPS 1.4/OS X 10.6</span></h4>
 
 <p>The fit-to-page attribute specifies whether to scale documents to fit on the
 selected media (fit-to-page=true) or use the physical size specified in the
 document (fit-to-page=false). The default value is false.
 
-<h4><a name="fitplot">fitplot (boolean)</a><span class="info">Deprecated</span></h4>
-
-<p>The fitplot attribute specifies whether to scale HP-GL/2 plot files to
-fit on the selected media (fitplot=true) or use the physical scale specified
-in the plot file (fitplot=false). The default value is false.
-
-<h4><a name="gamma">gamma (integer(1:10000))</a><span class="info">Deprecated</span></h4>
-
-<p>The gamma attribute specifies the luminance correction for the output.
-A value of 1000 specifies no correction, while values of 2000 and 500 will
-generate lighter and darker output, respectively. The default value is
-1000.
-
-<p>Gamma is applied to the Red, Green, and Blue values (or luminance for
-grayscale output) using the function "f(x) = x<sup>(1000/gamma)</sup>".
-
-<blockquote><b>Note:</b>
-
-<p>This attribute is deprecated and will be removed from a future CUPS
-release.</p>
-
-</blockquote>
-
-<h4><a name="hue">hue (integer(-180:180))</a><span class="info">Deprecated</span></h4>
-
-<p>The hue attribute specifies a color hue rotation when printing image
-files. The default value is 0.
-
-<blockquote><b>Note:</b>
-
-<p>This attribute is deprecated and will be removed from a future CUPS
-release.</p>
-
-</blockquote>
-
 <h4><a name="job-billing">job-billing (text(MAX))</a><span class='info'>CUPS 1.1</span></h4>
 
 <p>The job-billing attribute provides a text value to associate with a job
@@ -2245,17 +2178,17 @@ Universal Coordinated Time (UTC) and <i>not</i> in the local time zone. If the
 specified time is less than the current time, the job is held until the
 next day.
 
-<h4><a name="job-media-progress">job-media-progress (integer(0:100))</a><span class='info'>CUPS 1.4/Mac OS X 10.6</span></h4>
+<h4><a name="job-media-progress">job-media-progress (integer(0:100))</a><span class='info'>CUPS 1.4/OS X 10.6</span></h4>
 
 <p>The job-media-progress attribute specifies the percentage of completion of
 the current page. It is only valid when the job-state attribute has the
 "processing" value (5).</p>
 
-<h4><a name="job-printer-state-message">job-printer-state-message (text(MAX))</a><span class='info'>CUPS 1.3/Mac OS X 10.5</span></h4>
+<h4><a name="job-printer-state-message">job-printer-state-message (text(MAX))</a><span class='info'>CUPS 1.3/OS X 10.5</span></h4>
 
 <p>The job-printer-state-message attribute provides the last known value of the printer-state-message attribute for the printer that processed (or is processing) the job.</p>
 
-<h4><a name="job-printer-state-reasons">job-printer-state-reasons (1setOf type2 keyword)</a><span class='info'>CUPS 1.3/Mac OS X 10.5</span></h4>
+<h4><a name="job-printer-state-reasons">job-printer-state-reasons (1setOf type2 keyword)</a><span class='info'>CUPS 1.3/OS X 10.5</span></h4>
 
 <p>The job-printer-state-reasons attribute provides the last known value of the printer-state-reasons attribute for the printer that processed (or is processing) the job.</p>
 
@@ -2293,16 +2226,8 @@ The default value is 6.
 their X axis, which is useful for printing transfer images on
 special media. The default value is false.
 
-<h4><a name="natural-scaling">natural-scaling (integer(1:1000))</a><span class='info'>CUPS 1.1.9</span></h4>
-<p>The natural-scaling attribute specifies the scaling of image files with
-respect to the natural image size. A value of 100 specifies that the image
-file should exactly the natural size, while 50 is half the natural size
-and 200 is twice the natural size. The default value is 100.
+<h4><a name="number-up-layout">number-up-layout (type2 keyword)</a><span class='info'>Deprecated/Introduced in CUPS 1.1.15</span></h4>
 
-<p>The ppi option can be used to override the natural resolution of the
-image, which controls the natural size.
-
-<h4><a name="number-up-layout">number-up-layout (type2 keyword)</a><span class='info'>CUPS 1.1.15</span></h4>
 <p>The number-up-layout attribute specifies the order each input
 page is placed on each output page. The following keywords are
 presently defined:
@@ -2327,6 +2252,12 @@ presently defined:
 
 </ul>
 
+<blockquote><b>Note:</b>
+
+<p>This attribute is deprecated in favor of the PWG presentation-direction-number-up attribute and will be removed in a future release.</p>
+
+</blockquote>
+
 <h4><a name="page-border">page-border (type2 keyword)</a><span class='info'>CUPS 1.1.15</span></h4>
 <p>The page-border attribute specifies whether a border is
 draw around each page. The following keywords are presently
@@ -2346,23 +2277,23 @@ defined:
 
 </ul>
 
-<h4><a name="page-bottom">page-bottom (integer(0:MAX))</a></h4>
+<h4><a name="page-bottom">page-bottom (integer(0:MAX))</a><span class="info">Deprecated</span></h4>
 
 <p>The page-bottom attribute specifies the bottom margin in points (72 points
 equals 1 inch). The default value is the device physical margin.
 
-<h4><a name="page-label">page-label (text(MAX))</a><span class='info'>CUPS 1.1.7</span></h4>
+<h4><a name="page-label">page-label (text(MAX))</a><span class='info'>Deprecated</span></h4>
 <p>The page-label attribute provides a text value to place in
 the header and footer on each page. If a classification level is
 set on the server, then this classification is printed before
 the page label.
 
-<h4><a name="page-left">page-left (integer(0:MAX))</a></h4>
+<h4><a name="page-left">page-left (integer(0:MAX))</a><span class="info">Deprecated</span></h4>
 
 <p>The page-left attribute specifies the left margin in points (72 points
 equals 1 inch). The default value is the device physical margin.
 
-<h4><a name="page-right">page-right (integer(0:MAX))</a></h4>
+<h4><a name="page-right">page-right (integer(0:MAX))</a><span class="info">Deprecated</span></h4>
 
 <p>The page-right attribute specifies the right margin in points (72 points
 equals 1 inch). The default value is the device physical margin.
@@ -2373,84 +2304,18 @@ equals 1 inch). The default value is the device physical margin.
 supported keywords are "all", "even", and "odd". The default value is
 "all".
 
-<h4><a name="page-top">page-top (integer(0:MAX))</a></h4>
+<h4><a name="page-top">page-top (integer(0:MAX))</a><span class="info">Deprecated</span></h4>
 
 <p>The page-top attribute specifies the top margin in points (72 points
 equals 1 inch). The default value is the device physical margin.
 
-<h4><a name="penwidth">penwidth (integer(0:MAX))</a></h4>
-
-<p>The penwidth attribute specifies the default pen width in micrometers
-when printing HP-GL/2 plot files. The default value is 1000 (1 millimeter).
-
-<h4><a name="position">position (type2 keyword)</a></h4>
-
-<p>The position attribute specifies the location of image files on the
-media. The following keyword values are recognized:
-
-<ul>
-
-       <li><CODE>center</CODE> - Center the image on the page (default)
-
-       <li><CODE>top</CODE> - Print the image centered at the top of the page
-
-       <li><CODE>left</CODE> - Print the image centered on the left of page
-
-       <li><CODE>right</CODE> - Print the image centered on the right of the page
-
-       <li><CODE>top-left</CODE> - Print the image at the top left corner of
-       the page
-
-       <li><CODE>top-right</CODE> - Print the image at the top right corner of
-       the page
-
-       <li><CODE>bottom</CODE> - Print the image centered at the bottom of
-       the page
-
-       <li><CODE>bottom-left</CODE> - Print the image at the bottom left
-       corner of the page
-
-       <li><CODE>bottom-right</CODE> - Print the image at the bottom right
-       corner of the page
-
-</ul>
-
-<h4><a name="ppi">ppi (integer(1:MAX))</a></h4>
-
-<p>The ppi attribute specifies the resolution of an image file in pixels
-per inch. The default value is the resolution included with the file or
-128 if no resolution information is available.
-
-<h4><a name="prettyprint">prettyprint (boolean)</a></h4>
+<h4><a name="prettyprint">prettyprint (boolean)</a><span class="info">Deprecated</span></h4>
 
 <p>The prettyprint attribute specifies whether text files should be printed
 with a shaded header and keyword highlighting (prettyprint=true) or without
 additional formatting (prettyprint=false). The default value is false.
 
-<h4><a name="saturation">saturation (integer(0:200))</a><span class="info">Deprecated</span></h4>
-
-<p>The saturation attribute specifies the color saturation when
-printing image files. A saturation of 100 is normal, while values of 50
-and 200 will be half and twice as colorful, respectively. The default
-value is 100.
-
-<blockquote><b>Note:</b>
-
-<p>This attribute is deprecated and will be removed from a future CUPS
-release.</p>
-
-</blockquote>
-
-<h4><a name="scaling">scaling (integer(1:1000))</a></h4>
-
-<p>The scaling attribute specifies the scaling of image files with
-respect to the selected media. A value of 100 specifies that the image
-file should fit 100% of the page, or as much as possible given the
-image dimensions. The default value is unspecified.
-
-<p>The scaling attribute overrides the ppi attribute if specified.
-
-<h4><a name="wrap">wrap (boolean)</a></h4>
+<h4><a name="wrap">wrap (boolean)</a><span class="info">Deprecated</span></h4>
 
 <p>The wrap attribute specifies whether long lines should be wrapped
 (wrap=true) or not (wrap=false) when printing text files. The default
@@ -2477,7 +2342,7 @@ name of the PPD file (the NickName attribute in the PPD file). If the
 make and model is not specified in the PPD file then the ModelName or
 ShortNickName attributes are used instead.
 
-<h4><a name="ppd-model-number">ppd-model-number (integer)</a><span class="info">CUPS 1.3/Mac OS X 10.5</span></h4>
+<h4><a name="ppd-model-number">ppd-model-number (integer)</a><span class="info">CUPS 1.3/OS X 10.5</span></h4>
 
 <p>The ppd-model-number attribute provides the <tt>cupsModelNumber</tt> value from the PPD file.
 
@@ -2495,11 +2360,11 @@ language is unknown or undefined then "en" (English) is assumed.
 
 <p>The ppd-product attribute specifies the Product attribute values in the PPD file.
 
-<h4><a name="ppd-psversion">ppd-psversion (1setOf text(127))</a><span class="info">CUPS 1.3/Mac OS X 10.5</span></h4>
+<h4><a name="ppd-psversion">ppd-psversion (1setOf text(127))</a><span class="info">CUPS 1.3/OS X 10.5</span></h4>
 
 <p>The ppd-product attribute specifies the PSVersion attribute values in the PPD file.
 
-<h4><a name="ppd-type">ppd-type (type1 keyword)</a><span class="info">CUPS 1.3/Mac OS X 10.5</span></h4>
+<h4><a name="ppd-type">ppd-type (type1 keyword)</a><span class="info">CUPS 1.3/OS X 10.5</span></h4>
 
 <p>The ppd-type attribute specifies the type of driver described by the PPD file:</p>
 
@@ -2520,7 +2385,7 @@ language is unknown or undefined then "en" (English) is assumed.
 
 <h3 class='title'><a name='PRINTER_ATTRIBUTES'>Printer Attributes</a></h3>
 
-<h4><a name="auth-info-required">auth-info-required (1setOf type2 keyword)</a><span class="info">CUPS 1.3/Mac OS X 10.5</span></h4>
+<h4><a name="auth-info-required">auth-info-required (1setOf type2 keyword)</a><span class="info">CUPS 1.3/OS X 10.5</span></h4>
 
 <p>The auth-info-required attribute specifies the authentication information that is required for printing a job. The following keywords are recognized:</p>
 
@@ -2560,26 +2425,26 @@ the system.
 <p>The job-sheets-supported attribute specifies the available banner files.
 There will always be at least one banner file available called "none".
 
-<h4><a name="marker-change-time">marker-change-time (integer)</a><span class='info'>CUPS 1.3/Mac OS X 10.5</span></h4>
+<h4><a name="marker-change-time">marker-change-time (integer)</a><span class='info'>CUPS 1.3/OS X 10.5</span></h4>
 
 <p>The marker-change-time attribute specifies the printer-up-time value when
 the last change to the marker-colors, marker-levels, marker-message,
 marker-names, or marker-types attributes was made.</p>
 
-<h4><a name="marker-colors">marker-colors (1setof name(MAX))</a><span class='info'>CUPS 1.3/Mac OS X 10.5</span></h4>
+<h4><a name="marker-colors">marker-colors (1setof name(MAX))</a><span class='info'>CUPS 1.3/OS X 10.5</span></h4>
 
 <p>The marker-colors attribute specifies the color(s) for each supply in the
 printer. It is only available when the driver provides supply levels. The
 color is either "none" or one or more hex-encoded sRGB colors of the form
 "#RRGGBB".</p>
 
-<h4><a name="marker-high-levels">marker-high-levels (1setof integer(0:100))</a><span class='info'>CUPS 1.4/Mac OS X 10.6</span></h4>
+<h4><a name="marker-high-levels">marker-high-levels (1setof integer(0:100))</a><span class='info'>CUPS 1.4/OS X 10.6</span></h4>
 
 <p>The marker-high-levels attribute specifies the supply levels that indicate
 a near-full condition. A value of 100 should be used for supplies that are
 consumed/emptied, e.g. ink cartridges.</p>
 
-<h4><a name="marker-levels">marker-levels (1setof integer(-3:100))</a><span class='info'>CUPS 1.3/Mac OS X 10.5</span></h4>
+<h4><a name="marker-levels">marker-levels (1setof integer(-3:100))</a><span class='info'>CUPS 1.3/OS X 10.5</span></h4>
 
 <p>The marker-levels attribute specifies the current supply levels for the
 printer. It is only available when the driver provides supply levels. A
@@ -2587,24 +2452,24 @@ value of -1 indicates the level is unavailable, -2 indicates unknown, and -3
 indicates the level is unknown but has not yet reached capacity. Values from 0
 to 100 indicate the corresponding percentage.</p>
 
-<h4><a name="marker-low-levels">marker-low-levels (1setof integer(0:100))</a><span class='info'>CUPS 1.4/Mac OS X 10.6</span></h4>
+<h4><a name="marker-low-levels">marker-low-levels (1setof integer(0:100))</a><span class='info'>CUPS 1.4/OS X 10.6</span></h4>
 
 <p>The marker-low-levels attribute specifies the supply levels that indicate
 a near-empty condition. A value of 0 should be used for supplies that are
 filled, e.g. waste ink tanks.</p>
 
-<h4><a name="marker-message">marker-message (text(MAX))</a><span class='info'>CUPS 1.4/Mac OS X 10.6</span></h4>
+<h4><a name="marker-message">marker-message (text(MAX))</a><span class='info'>CUPS 1.4/OS X 10.6</span></h4>
 
 <p>The marker-message attribute provides a human-readable status message
 for the current supply levels, e.g. "12 pages of ink remaining." It is only
 available when the driver provides supply levels.</p>
 
-<h4><a name="marker-names">marker-names (1setof name(MAX))</a><span class='info'>CUPS 1.3/Mac OS X 10.5</span></h4>
+<h4><a name="marker-names">marker-names (1setof name(MAX))</a><span class='info'>CUPS 1.3/OS X 10.5</span></h4>
 
 <p>The marker-names attribute specifies the name(s) for each supply in the
 printer. It is only available when the driver provides supply levels.</p>
 
-<h4><a name="marker-types">marker-types (1setof type3 keyword)</a><span class='info'>CUPS 1.3/Mac OS X 10.5</span></h4>
+<h4><a name="marker-types">marker-types (1setof type3 keyword)</a><span class='info'>CUPS 1.3/OS X 10.5</span></h4>
 
 <p>The marker-types attribute specifies the type(s) of each supply in the
 printer. It is only available when the driver provides supply levels. The
@@ -2683,13 +2548,13 @@ to this printer. The default port monitor is "none".
 
 <p>The port-monitor-supported attribute specifies the available port monitors.
 
-<h4><a name="printer-commands">printer-commands (1setOf Type3 keyword)</a><span class='info'>CUPS 1.4/Mac OS X 10.6</span></h4>
+<h4><a name="printer-commands">printer-commands (1setOf Type3 keyword)</a><span class='info'>CUPS 1.4/OS X 10.6</span></h4>
 
 <p>The printer-commands attribute specifies the commands that are supported
 by the CUPS command file filter. The keyword "none" indicates that no commands
 are supported.</p>
 
-<h4><a name="printer-dns-sd-name">printer-dns-sd-name (name(MAX) | noValue)</a><span class='info'>CUPS 1.4/Mac OS X 10.6</span></h4>
+<h4><a name="printer-dns-sd-name">printer-dns-sd-name (name(MAX) | noValue)</a><span class='info'>CUPS 1.4/OS X 10.6</span></h4>
 
 <p>The printer-dns-sd-name attribute specifies the registered DNS-SD service
 name for the printer. If the printer is not being shared using this protocol,
@@ -2709,10 +2574,10 @@ and the following CUPS-specific keywords:</p>
        permissions. CUPS will not execute programs with world write permissions
        or setuid programs. When run as root (the default), CUPS also does not
        execute programs that are not owned by root.
-       <span class='info'>CUPS 1.4/Mac OS X 10.6</span></li>
+       <span class='info'>CUPS 1.4/OS X 10.6</span></li>
 
        <li><tt>cups-missing-filter-warning</tt> - a filter or backend is not
-       installed. <span class='info'>CUPS 1.4/Mac OS X 10.6</span></li>
+       installed. <span class='info'>CUPS 1.4/OS X 10.6</span></li>
 
 </ul>
 
index 3aa99c4..110c5a3 100644 (file)
@@ -8,11 +8,11 @@
 </head>
 <body>
 <!--
-  "$Id: spec-postscript.html 9727 2011-04-28 21:20:12Z mike $"
+  "$Id$"
 
   CUPS PostScript file specification for CUPS.
 
-  Copyright 2007-2011 by Apple Inc.
+  Copyright 2007-2012 by Apple Inc.
   Copyright 2006 by Easy Software Products.
 
   These coded instructions, statements, and computer programs are the
@@ -39,7 +39,7 @@ output will work reliably.</p>
 de-facto standard print job file format/language for UNIX-based
 applications, it is slowly being phased out in favor of Adobe's
 Portable Document Format ("PDF") which offers many advantages
-over PostScript. Mac OS X uses PDF as the primary print job file
+over PostScript. OS X uses PDF as the primary print job file
 format and Linux is making the transition. Both PostScript and
 PDF are complex formats, and we highly recommend using high-level
 toolkits whenever possible to create your print jobs.</blockquote>
index f92725d..75a927f 100644 (file)
@@ -341,7 +341,7 @@ div.contents ul.subcontents li {
 <body>
 <div class='body'>
 <!--
-  "$Id: spec-ppd.html 9813 2011-06-01 17:00:27Z mike $"
+  "$Id$"
 
   PPD extension documentation for CUPS.
 
@@ -390,13 +390,14 @@ div.contents ul.subcontents li {
        <li><a href="#cupsUIResolver">cupsUIResolver</a></li>
 </ul></li>
 <li><a href="#I18N">Globalized PPD Support</a></li>
-<li><a href="#OPTIONS">CUPS 1.3/Mac OS X 10.6Custom Options</a></li>
+<li><a href="#OPTIONS">CUPS 1.3/OS X 10.6Custom Options</a></li>
 <li><a href="#RASTERPS">Writing PostScript Option Commands for Raster Drivers</a></li>
 <li><a href="#MEDIA">Media Keywords</a><ul class="subcontents">
        <li><a href="#cupsMediaQualifier2">cupsMediaQualifier2</a></li>
        <li><a href="#cupsMediaQualifier3">cupsMediaQualifier3</a></li>
        <li><a href="#cupsMinSize">cupsMinSize</a></li>
        <li><a href="#cupsMaxSize">cupsMaxSize</a></li>
+       <li><a href="#cupsPageSizeCategory">cupsPageSizeCategory</a></li>
 </ul></li>
 <li><a href="#ATTRIBUTES">General Attributes</a><ul class="subcontents">
        <li><a href="#cupsBackSide">cupsBackSide</a></li>
@@ -413,6 +414,7 @@ div.contents ul.subcontents li {
        <li><a href="#cupsManualCopies">cupsManualCopies</a></li>
        <li><a href="#cupsMarkerName">cupsMarkerName</a></li>
        <li><a href="#cupsMarkerNotice">cupsMarkerNotice</a></li>
+       <li><a href="#cupsMaxCopies">cupsMaxCopies</a></li>
        <li><a href="#cupsModelNumber">cupsModelNumber</a></li>
        <li><a href="#cupsPJLCharset">cupsPJLCharset</a></li>
        <li><a href="#cupsPJLDisplay">cupsPJLDisplay</a></li>
@@ -422,8 +424,9 @@ div.contents ul.subcontents li {
        <li><a href="#cupsSingleFile">cupsSingleFile</a></li>
        <li><a href="#cupsSNMPSupplies">cupsSNMPSupplies</a></li>
        <li><a href="#cupsVersion">cupsVersion</a></li>
+       <li><a href="#JCLToPDFInterpreter">JCLToPDFInterpreter</a></li>
 </ul></li>
-<li><a href="#MACOSX">Mac OS X Attributes</a><ul class="subcontents">
+<li><a href="#MACOSX">OS X Attributes</a><ul class="subcontents">
        <li><a href="#APDialogExtension">APDialogExtension</a></li>
        <li><a href="#APDuplexRequiresFlippedMargin">APDuplexRequiresFlippedMargin</a></li>
        <li><a href="#APHelpBook">APHelpBook</a></li>
@@ -469,11 +472,11 @@ LINE-END = CR / LF / CR LF
 
 <p>CUPS supports several methods of auto-configuration via PPD keywords.</p>
 
-<h3><span class='info'>Mac OS X 10.5</span><a name='APAutoSetupTool'>APAutoSetupTool</a></h3>
+<h3><span class='info'>OS X 10.5</span><a name='APAutoSetupTool'>APAutoSetupTool</a></h3>
 
 <p class='summary'>*APAutoSetupTool: "/LibraryPrinters/vendor/filename"</p>
 
-<p>This Mac OS X keyword defines a program that sets the default option choices. It is run when a printer is added from the <var>Add Printer</var> window or the <var>Nearby Printers</var> list in the <var>Print</var> dialog.</p>
+<p>This OS X keyword defines a program that sets the default option choices. It is run when a printer is added from the <var>Add Printer</var> window or the <var>Nearby Printers</var> list in the <var>Print</var> dialog.</p>
 
 <p>The program is provided with two arguments: the printer's device URI and the PPD file to be used for the printer. The program must write an updated PPD file to stdout.</p>
 
@@ -484,7 +487,7 @@ LINE-END = CR / LF / CR LF
 *APAutoSetupTool: "/Library/Printers/vendor/Tools/autosetuptool"
 </pre>
 
-<h3><span class='info'>Mac OS X 10.2/CUPS 1.4</span><a name='QUERYKEYWORD'>?MainKeyword</a></h3>
+<h3><span class='info'>OS X 10.2/CUPS 1.4</span><a name='QUERYKEYWORD'>?MainKeyword</a></h3>
 
 <p class='summary'>*?<i>MainKeyword</i>: "<br>
   PostScript query code that writes a message using the = operator...<br>
@@ -513,7 +516,7 @@ LINE-END = CR / LF / CR LF
 *CloseUI: OptionDuplex
 </pre>
 
-<h3><span class='info'>Mac OS X 10.4/CUPS 1.5</span><a name='OID'>OIDMainKeyword</a></h3>
+<h3><span class='info'>OS X 10.4/CUPS 1.5</span><a name='OID'>OIDMainKeyword</a></h3>
 
 <p class='summary'>*?OID<i>MainKeyword</i>: ".n.n.n..."<br>
 *OID<i>MainKeyword</i> <i>OptionKeyword1</i>: "value"<br>
@@ -548,7 +551,7 @@ LINE-END = CR / LF / CR LF
 
 <p class='summary'>*cupsColorProfile Resolution/MediaType: "density gamma m00 m01 m02 m10 m11 m12 m20 m21 m22"</p>
 
-<p>This string keyword specifies an sRGB-based color profile consisting of gamma and density controls and a 3x3 CMY color transform matrix. <em>This keyword is not supported on Mac OS X.</em></p>
+<p>This string keyword specifies an sRGB-based color profile consisting of gamma and density controls and a 3x3 CMY color transform matrix. <em>This keyword is not supported on OS X.</em></p>
 
 <p>The <i>Resolution</i> and <i>MediaType</i> values may be "-" to act as a wildcard. Otherwise they must match one of the <tt>Resolution</tt> or <tt>MediaType</tt> option keywords defined in the PPD file.</p>
 
@@ -581,7 +584,7 @@ f(x) = density * x <sup style='font-size: 100%'>gamma</sup>
 </pre>
 
 
-<h3><span class='info'>Mac OS X 10.3/CUPS 1.2</span><a name='cupsICCProfile'>cupsICCProfile</a></h3>
+<h3><span class='info'>OS X 10.3/CUPS 1.2</span><a name='cupsICCProfile'>cupsICCProfile</a></h3>
 
 <p class='summary'>*cupsICCProfile ColorModel.MediaType.Resolution/Description: "filename"</p>
 
@@ -620,22 +623,22 @@ f(x) = density * x <sup style='font-size: 100%'>gamma</sup>
 *cupsICCQualifier3: Resolution
 </pre>
 
-<h3><span class='info'>Mac OS X 10.4</span><a name='APCustom'>Custom Color Matching Support</a></h3>
+<h3><span class='info'>OS X 10.4</span><a name='APCustom'>Custom Color Matching Support</a></h3>
 
 <p class='summary'>*<a href='#APSupportsCustomColorMatching'>APSupportsCustomColorMatching</a>: true<br>
 *<a href='#APCustomColorMatchingName'>APCustomColorMatchingName</a> name/text: ""<br>
 *<a href='#APCustomColorMatchingProfile'>APCustomColorMatchingProfile</a>: profile<br>
 *<a href='#APDefaultCustomColorMatchingProfile'>APDefaultCustomColorMatchingProfile</a>: profile</p>
 
-<p>These keywords tell the Mac OS X raster filters that the printer driver provides its own custom color matching and that generic color profiles should be used when generating 1-, 3-, and 4-component raster data as requested by the driver. The <tt>APCustomColorMatchingProfile</tt> and <tt>APDefaultColorMatchingProfile</tt> keywords specify alternate color profiles (sRGB or AdobeRGB) to use for 3-color (RGB) raster data.</p>
+<p>These keywords tell the OS X raster filters that the printer driver provides its own custom color matching and that generic color profiles should be used when generating 1-, 3-, and 4-component raster data as requested by the driver. The <tt>APCustomColorMatchingProfile</tt> and <tt>APDefaultColorMatchingProfile</tt> keywords specify alternate color profiles (sRGB or AdobeRGB) to use for 3-color (RGB) raster data.</p>
 
 <blockquote><b>Note:</b>
 
-<p>Prior to Mac OS X 10.6, the default RGB color space was Apple's "GenericRGB". The new default in Mac OS X 10.6 and later is "sRGB". For more information, see <a href="http://support.apple.com/kb/HT3712">"Mac OS X v10.6: About gamma 2.2"</a> on Apple's support site.</p>
+<p>Prior to OS X 10.6, the default RGB color space was Apple's "GenericRGB". The new default in OS X 10.6 and later is "sRGB". For more information, see <a href="http://support.apple.com/kb/HT3712">"OS X v10.6: About gamma 2.2"</a> on Apple's support site.</p>
 
 </blockquote>
 
-<h4><span class='info'>Mac OS X 10.5</span><a name='APCustomColorMatchingName'>APCustomColorMatchingName</a></h4>
+<h4><span class='info'>OS X 10.5</span><a name='APCustomColorMatchingName'>APCustomColorMatchingName</a></h4>
 
 <p class='summary'>*APCustomColorMatchingName name/text: ""</p>
 
@@ -649,7 +652,7 @@ f(x) = density * x <sup style='font-size: 100%'>gamma</sup>
 *fr.APCustomColorMatchingName name/La AcmeColor(tm): ""
 </pre>
 
-<h4><span class='info'>Mac OS X 10.5</span><a name='APCustomColorMatchingProfile'>APCustomColorMatchingProfile</a></h4>
+<h4><span class='info'>OS X 10.5</span><a name='APCustomColorMatchingProfile'>APCustomColorMatchingProfile</a></h4>
 
 <p class='summary'>*APCustomColorMatchingProfile: name</p>
 
@@ -671,7 +674,7 @@ f(x) = density * x <sup style='font-size: 100%'>gamma</sup>
 *APCustomColorMatchingProfile: AdobeRGB
 </pre>
 
-<h4><span class='info'>Mac OS X 10.5</span><a name='APDefaultCustomColorMatchingProfile'>APDefaultCustomColorMatchingProfile</a></h4>
+<h4><span class='info'>OS X 10.5</span><a name='APDefaultCustomColorMatchingProfile'>APDefaultCustomColorMatchingProfile</a></h4>
 
 <p class='summary'>*APDefaultCustomColorMatchingProfile: name</p>
 
@@ -685,7 +688,7 @@ f(x) = density * x <sup style='font-size: 100%'>gamma</sup>
 *APDefaultCustomColorMatchingProfile: sRGB
 </pre>
 
-<h4><span class='info'>Mac OS X 10.4</span><a name='APSupportsCustomColorMatching'>APSupportsCustomColorMatching</a></h4>
+<h4><span class='info'>OS X 10.4</span><a name='APSupportsCustomColorMatching'>APSupportsCustomColorMatching</a></h4>
 
 <p class='summary'>*APSupportsCustomColorMatching: boolean</p>
 
@@ -721,7 +724,7 @@ f(x) = density * x <sup style='font-size: 100%'>gamma</sup>
 
 </blockquote>
 
-<h3><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='cupsUIConstraints'>cupsUIConstraints</a></h3>
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsUIConstraints'>cupsUIConstraints</a></h3>
 
 <p class='summary'>*cupsUIConstraints resolver: "*Keyword1 *Keyword2 ..."<br>
 *cupsUIConstraints resolver: "*Keyword1 OptionKeyword1 *Keyword2 ..."<br>
@@ -751,7 +754,7 @@ f(x) = density * x <sup style='font-size: 100%'>gamma</sup>
 *cupsUIConstraints photo: "*OutputMode Photo *MediaType Transparency *Resolution 1200dpi"
 </pre>
 
-<h3><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='cupsUIResolver'>cupsUIResolver</a></h3>
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsUIResolver'>cupsUIResolver</a></h3>
 
 <p class='summary'>*cupsUIResolver resolver: "*Keyword1 OptionKeyword1 *Keyword2 OptionKeyword2 ..."</p>
 
@@ -853,7 +856,7 @@ f(x) = density * x <sup style='font-size: 100%'>gamma</sup>
 </pre>
 
 
-<h2 class='title'><a name='OPTIONS'><span class="info">CUPS 1.3/Mac OS X 10.6</span>Custom Options</a></h2>
+<h2 class='title'><a name='OPTIONS'><span class="info">CUPS 1.3/OS X 10.6</span>Custom Options</a></h2>
 
 <p>CUPS supports custom options using an extension of the <tt>CustomPageSize</tt> and <tt>ParamCustomPageSize</tt> syntax:</p>
 
@@ -968,7 +971,7 @@ option value is "1234" then CUPS will output the string "@PJL SET PASSCODE=1234"
 
 <p>The resulting dictionary sets the page device attributes that are sent to your raster driver in the page header.</p>
 
-<h3>Custom Page Size Code</a></h3>
+<h3>Custom Page Size Code</h3>
 
 <p>There are many possible implementations of the <tt>CustomPageSize</tt> code. For CUPS raster drivers, the following code is recommended:</p>
 
@@ -981,7 +984,7 @@ option value is "1234" then CUPS will output the string "@PJL SET PASSCODE=1234"
 *CustomPageSize True: "pop pop pop &lt;&lt;/PageSize[5 -2 roll]/ImagingBBox null&gt;&gt;setpagedevice"
 </pre>
 
-<h3>Supported PostScript Operators</a></h3>
+<h3>Supported PostScript Operators</h3>
 
 <p>CUPS supports the following PostScript operators in addition to the usual PostScript number, string (literal and hex-encoded), boolean, null, and name values:</p>
 
@@ -1040,7 +1043,7 @@ PRE B {
 
 </blockquote>
 
-<h3>Supported Page Device Attributes</a></h3>
+<h3>Supported Page Device Attributes</h3>
 
 <p>Table 2 shows the supported page device attributes along with PostScript code examples.</p>
 
@@ -1311,7 +1314,7 @@ PRE B {
 <p>The CUPS media keywords allow drivers to specify alternate custom page
 size limits based on up to two options.</p>
 
-<h3><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='cupsMediaQualifier2'>cupsMediaQualifier2</a></h3>
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsMediaQualifier2'>cupsMediaQualifier2</a></h3>
 
 <p class='summary'>*cupsMediaQualifier2: MainKeyword</p>
 
@@ -1330,7 +1333,7 @@ custom page size limits.</p>
 *cupsMinSize ..Photo: "300 300"
 </pre>
 
-<h3><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='cupsMediaQualifier3'>cupsMediaQualifier3</a></h3>
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsMediaQualifier3'>cupsMediaQualifier3</a></h3>
 
 <p class='summary'>*cupsMediaQualifier3: MainKeyword</p>
 
@@ -1349,7 +1352,7 @@ custom page size limits.</p>
 *cupsMinSize ..Photo: "300 300"
 </pre>
 
-<h3><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='cupsMinSize'>cupsMinSize</a></h3>
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsMinSize'>cupsMinSize</a></h3>
 
 <p class='summary'>*cupsMinSize .Qualifier2.Qualifier3: "width length"<br>
 *cupsMinSize .Qualifier2.: "width length"<br>
@@ -1372,7 +1375,7 @@ are used to identify options to use for matching.</p>
 *cupsMinSize ..Photo: "300 300"
 </pre>
 
-<h3><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='cupsMaxSize'>cupsMaxSize</a></h3>
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsMaxSize'>cupsMaxSize</a></h3>
 
 <p class='summary'>*cupsMaxSize .Qualifier2.Qualifier3: "width length"<br>
 *cupsMaxSize .Qualifier2.: "width length"<br>
@@ -1396,9 +1399,24 @@ are used to identify options to use for matching.</p>
 </pre>
 
 
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsPageSizeCategory'>cupsPageSizeCategory</a></h3>
+
+<p class="summary">*cupsPageSizeCategory name/text: "name name2 ... nameN"</p>
+
+<p>This keyword lists related paper size names that should be grouped together in the Print or Page Setup dialogs. The "name" portion of the keyword specifies the root/default size for the grouping. On OS X the grouped paper sizes are shown in a submenu of the main paper size. When omitted, sizes with the same dimensions are automatically grouped together, for example "Letter" and "Letter.Borderless".</p>
+
+<p>Example:</p>
+
+<pre class="command">
+<em>*% Specify grouping of borderless/non-borderless sizes</em>
+*cupsPageSizeCategory Letter/US Letter: "Letter Letter.Borderless"
+*cupsPageSizeCategory A4/A4: "A4 A4.Borderless"
+</pre>
+
+
 <h2 class='title'><a name='ATTRIBUTES'>General Attributes</a></h2>
 
-<h3><span class='info'>CUPS 1.3/Mac OS X 10.5</span><a name='cupsBackSide'>cupsBackSide</a></h3>
+<h3><span class='info'>CUPS 1.3/OS X 10.5</span><a name='cupsBackSide'>cupsBackSide</a></h3>
 
 <p class='summary'>*cupsBackSide: keyword</p>
 
@@ -1474,7 +1492,7 @@ will be ignored.</p>
 </table>
 </div>
 
-<p><em>* - Not supported in Mac OS X 10.5.x and earlier</em></p>
+<p><em>* - Not supported in OS X 10.5.x and earlier</em></p>
 
 <div class='figure'><table summary='Back side images'>
 <caption>Figure 1: Back side images</caption>
@@ -1494,7 +1512,7 @@ will be ignored.</p>
 <p>Also see the related <a href='#APDuplexRequiresFlippedMargin'><tt>APDuplexRequiresFlippedMargin</tt></a>
 keyword.</p>
 
-<h3><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='cupsCommands'>cupsCommands</a></h3>
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsCommands'>cupsCommands</a></h3>
 
 <p class='summary'>*cupsCommands: "name name2 ... nameN"</p>
 
@@ -1510,7 +1528,7 @@ by whitespace.</p>
 </pre>
 
 
-<h3><span class='info'>CUPS 1.3/Mac OS X 10.5</span><a name='cupsEvenDuplex'>cupsEvenDuplex</a></h3>
+<h3><span class='info'>CUPS 1.3/OS X 10.5</span><a name='cupsEvenDuplex'>cupsEvenDuplex</a></h3>
 
 <p class='summary'>*cupsEvenDuplex: boolean</p>
 
@@ -1588,21 +1606,21 @@ the special filter program "-" may be specified.</p>
 
 <p class='summary'>*cupsFlipDuplex: boolean</p>
 
-<p>Due to implementation differences between Mac OS X and Ghostscript,
+<p>Due to implementation differences between OS X and Ghostscript,
 the <tt>cupsFlipDuplex</tt> keyword is deprecated. Instead, use
 the <a href='#cupsBackSide'><tt>cupsBackSide</tt></a> keyword to specify
 the coordinate system (pixel layout) of the page data on the back side of
 duplex pages.</p>
 
 <p>The value <code>true</code> maps to a <tt>cupsBackSide</tt> value
-of <code>Rotated</code> on Mac OS X and <code>Flipped</code> with
+of <code>Rotated</code> on OS X and <code>Flipped</code> with
 Ghostscript.</p>
 
 <p>The default value is <code>false</code>.</p>
 
 <blockquote><b>Note:</b>
 
-<p>Mac OS X drivers that previously used
+<p>OS X drivers that previously used
 <tt>cupsFlipDuplex</tt> may wish to provide both the old and
 new keywords for maximum compatibility, for example:</p>
 
@@ -1619,7 +1637,7 @@ Ghostscript can use:</p>
 *cupsFlipDuplex: true
 </pre></blockquote>
 
-<h3><span class='info'>CUPS 1.3/Mac OS X 10.5</span><a name='cupsIPPFinishings'>cupsIPPFinishings</a></h3>
+<h3><span class='info'>CUPS 1.3/OS X 10.5</span><a name='cupsIPPFinishings'>cupsIPPFinishings</a></h3>
 
 <p class='summary'>*cupsIPPFinishings number/text: "*Option Choice ..."</p>
 
@@ -1635,7 +1653,7 @@ values to PPD options and choices.</p>
 *cupsIPPFinishings 21/staple-bottom-left: "*StapleLocation SingleLandscape"
 </pre>
 
-<h3><span class='info'>CUPS 1.3/Mac OS X 10.5</span><a name='cupsIPPReason'>cupsIPPReason</a></h3>
+<h3><span class='info'>CUPS 1.3/OS X 10.5</span><a name='cupsIPPReason'>cupsIPPReason</a></h3>
 
 <p class='summary'>*cupsIPPReason reason/Reason Text: "optional URIs"</p>
 
@@ -1688,7 +1706,7 @@ http://www.vendor.com/help"
 *cupsIPPSupplies: False
 </pre>
 
-<h3><span class='info'>CUPS 1.2/Mac OS X 10.5</span><a name='cupsLanguages'>cupsLanguages</a></h3>
+<h3><span class='info'>CUPS 1.2/OS X 10.5</span><a name='cupsLanguages'>cupsLanguages</a></h3>
 
 <p class='summary'>*cupsLanguages: "locale list"</p>
 
@@ -1718,7 +1736,7 @@ hardware. The default value is <code>false</code>.</p>
 *cupsManualCopies: true
 </pre>
 
-<h3><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='cupsMarkerName'>cupsMarkerName</a></h3>
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsMarkerName'>cupsMarkerName</a></h3>
 
 <p class='summary'>*cupsMarkerName/Name Text: ""</p>
 
@@ -1732,7 +1750,7 @@ generated by the driver to human readable text.</p>
 *cupsMarkerName cyanToner/Cyan Toner: ""
 </pre>
 
-<h3><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='cupsMarkerNotice'>cupsMarkerNotice</a></h3>
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsMarkerNotice'>cupsMarkerNotice</a></h3>
 
 <p class='summary'>*cupsMarkerNotice: "disclaimer text"</p>
 
@@ -1746,6 +1764,19 @@ are approximate".</p>
 *cupsMarkerNotice: "Supply levels are approximate."
 </pre>
 
+<h3><span class='info'>CUPS 1.6/OS X 10.8</span><a name='cupsMaxCopies'>cupsMaxCopies</a></h3>
+
+<p class='summary'>*cupsMaxCopies: integer</p>
+
+<p>This integer keyword notifies the filters that the destination printer supports up to N copies in hardware. The default value is <code>9999</code>.</p>
+
+<p>Example:</p>
+
+<pre class='command'>
+<em>*% Tell the RIP filters we can do up to 99 copies</em>
+*cupsMaxCopies: 99
+</pre>
+
 <h3><a name='cupsModelNumber'>cupsModelNumber</a></h3>
 
 <p class='summary'>*cupsModelNumber: number</p>
@@ -1761,7 +1792,8 @@ the output for a specific model of printer.</p>
 *cupsModelNumber: 1234
 </pre>
 
-<h3><span class='info'>CUPS 1.3/Mac OS X 10.5</span><a name='cupsPJLCharset'>cupsPJLCharset</a></h3>
+
+<h3><span class='info'>CUPS 1.3/OS X 10.5</span><a name='cupsPJLCharset'>cupsPJLCharset</a></h3>
 
 <p class='summary'>*cupsPJLCharset: "ISO character set name"</p>
 
@@ -1776,7 +1808,7 @@ assumed.</p>
 *cupsPJLCharset: "UTF-8"
 </pre>
 
-<h3><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='cupsPJLDisplay'>cupsPJLDisplay</a></h3>
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsPJLDisplay'>cupsPJLDisplay</a></h3>
 
 <p class='summary'>*cupsPJLDisplay: "what"</p>
 
@@ -1795,7 +1827,7 @@ to use "@PJL RDYMSG DISPLAY". The default is "job".</p>
 *cupsPJLDisplay: "none"
 </pre>
 
-<h3><span class='info'>CUPS 1.2/Mac OS X 10.5</span><a name='cupsPortMonitor'>cupsPortMonitor</a></h3>
+<h3><span class='info'>CUPS 1.2/OS X 10.5</span><a name='cupsPortMonitor'>cupsPortMonitor</a></h3>
 
 <p class='summary'>*cupsPortMonitor urischeme/Descriptive Text: "port monitor"</p>
 
@@ -1827,7 +1859,7 @@ to disable the port monitor for the given URI scheme.</p>
 *cupsPortMonitor usb/USB Status Monitor: "epson-usb"
 </pre>
 
-<h3><span class='info'>CUPS 1.3/Mac OS X 10.5</span><a name='cupsPreFilter'>cupsPreFilter</a></h3>
+<h3><span class='info'>CUPS 1.3/OS X 10.5</span><a name='cupsPreFilter'>cupsPreFilter</a></h3>
 
 <p class='summary'>*cupsPreFilter: "source/type cost program"</p>
 
@@ -1886,7 +1918,7 @@ before the filter that accepts the given MIME type.</p>
 *cupsSingleFile: True
 </pre>
 
-<h3><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='cupsSNMPSupplies'>cupsSNMPSupplies</a></h3>
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsSNMPSupplies'>cupsSNMPSupplies</a></h3>
 
 <p class='summary'>*cupsSNMPSupplies: boolean</p>
 
@@ -1907,7 +1939,7 @@ the standard SNMP Printer MIB OIDs for supply levels. The default value is
 
 <p>This required keyword describes which version of the CUPS
 PPD file extensions was used. Currently it must be the string
-"1.0", "1.1", "1.2", or "1.3".</p>
+"1.0", "1.1", "1.2", "1.3", "1.4", "1.5", or "1.6".</p>
 
 <p>Example:</p>
 
@@ -1917,9 +1949,23 @@ PPD file extensions was used. Currently it must be the string
 </pre>
 
 
-<h2 class='title'><a name='MACOSX'>Mac OS X Attributes</a></h2>
+<h3><span class="info">CUPS 1.6/OS X 10.8</span><a name="JCLToPDFInterpreter">JCLToPDFInterpreter</a></h3>
+
+<p class="summary">*JCLToPDFInterpreter: "JCL"</p>
+
+<p>This keyword provfides the JCL command to insert a PDF job file into a printer-ready data stream. The JCL command is added after the <tt>JCLBegin</tt> value and any commands for JCL options in the PPD file.</p>
+
+<p>Example:</p>
+
+<pre class='command'>
+<em>*% PJL command to start the PDF interpreter</em>
+*JCLToPDFInterpreter: "@PJL ENTER LANGUAGE = PDF&lt;0A&gt;"
+</pre>
+
+
+<h2 class='title'><a name='MACOSX'>OS X Attributes</a></h2>
 
-<h3><span class='info'>Mac OS X 10.3</span><a name='APDialogExtension'>APDialogExtension</a></h3>
+<h3><span class='info'>OS X 10.3</span><a name='APDialogExtension'>APDialogExtension</a></h3>
 
 <p class='summary'>*APDialogExtension: "/Library/Printers/vendor/filename.plugin"</p>
 
@@ -1931,7 +1977,7 @@ plug-ins.</p>
 
 <blockquote><b>Note:</b>
 
-<p>Starting with Mac OS X 10.5, each plug-in must be compiled "4-way fat"
+<p>Starting with OS X 10.5, each plug-in must be compiled "4-way fat"
 (32-bit and 64-bit for both PowerPC and Intel) with garbage collection enabled
 in order to be usable with all applications.</p>
 
@@ -1945,7 +1991,7 @@ in order to be usable with all applications.</p>
 *APDialogExtension: "/Library/Printers/vendor/options.plugin"
 </pre>
 
-<h3><span class='info'>Mac OS X 10.4</span><a name='APDuplexRequiresFlippedMargin'>APDuplexRequiresFlippedMargin</a></h3>
+<h3><span class='info'>OS X 10.4</span><a name='APDuplexRequiresFlippedMargin'>APDuplexRequiresFlippedMargin</a></h3>
 
 <p class='summary'>*APDuplexRequiresFlippedMargin: boolean</p>
 
@@ -2042,7 +2088,7 @@ looking up IPP reason codes for this printer driver. The
 *APHelpBook: "file:///Library/Printers/vendor/Help.bundle"
 </pre>
 
-<h3><span class='info'>Mac OS X 10.6</span><a name='APICADriver'>APICADriver</a></h3>
+<h3><span class='info'>OS X 10.6</span><a name='APICADriver'>APICADriver</a></h3>
 
 <p class='summary'>*APICADriver: boolean</p>
 
@@ -2056,7 +2102,7 @@ Architecture (ICA) driver for scanning. The default is <tt>False</tt>.</p>
 *APScanAppBundleID: "com.apple.ImageCaptureApp"
 </pre>
 
-<h3><span class='info'>Mac OS X 10.3</span><a name='APPrinterIconPath'>APPrinterIconPath</a></h3>
+<h3><span class='info'>OS X 10.3</span><a name='APPrinterIconPath'>APPrinterIconPath</a></h3>
 
 <p class='summary'>*APPrinterIconPath: "/Library/Printers/vendor/filename.icns"</p>
 
@@ -2070,7 +2116,7 @@ displaying the printer. The file must be in the Apple icon format.</p>
 *APPrinterIconPath: "/Library/Printers/vendor/Icons/filename.icns"
 </pre>
 
-<h3><span class='info'>Mac OS X 10.4</span><a name='APPrinterLowInkTool'>APPrinterLowInkTool</a></h3>
+<h3><span class='info'>OS X 10.4</span><a name='APPrinterLowInkTool'>APPrinterLowInkTool</a></h3>
 
 <p class='summary'>*APPrinterLowInkTool: "/Library/Printers/vendor/program"</p>
 
@@ -2087,7 +2133,7 @@ Technical Note TN2144</a> for more information.</p>
 *APPrinterLowInkTool: "/Library/Printers/vendor/Tools/lowinktool"
 </pre>
 
-<h3><span class='info'>Mac OS X 10.5</span><a name='APPrinterPreset'>APPrinterPreset</a></h3>
+<h3><span class='info'>OS X 10.5</span><a name='APPrinterPreset'>APPrinterPreset</a></h3>
 
 <p class='summary'>*APPrinterPreset name/text: "*Option Choice ..."</p>
 
@@ -2157,7 +2203,7 @@ choice (*MainKeyword OptionKeyword) or a preset identifier and value
 *fr.APPrinterPreset Photo_on_Photo_Paper/Photo sur papier photographique: ""
 </pre>
 
-<h3><span class='info'>Mac OS X 10.3</span><a name='APPrinterUtilityPath'>APPrinterUtilityPath</a></h3>
+<h3><span class='info'>OS X 10.3</span><a name='APPrinterUtilityPath'>APPrinterUtilityPath</a></h3>
 
 <p class='summary'>*APPrinterPrinterUtilityPath: "/Library/Printers/vendor/filename.app"</p>
 
@@ -2172,7 +2218,7 @@ information.</p>
 *APPrinterPrinterUtilityPath: "/Library/Printers/vendor/Tools/utility.app"
 </pre>
 
-<h3><span class='info'>Mac OS X 10.6</span><a name='APScannerOnly'>APScannerOnly</a></h3>
+<h3><span class='info'>OS X 10.6</span><a name='APScannerOnly'>APScannerOnly</a></h3>
 
 <p class='summary'>*APScannerOnly: boolean</p>
 
@@ -2186,7 +2232,7 @@ capabilities. The default is <tt>False</tt>.</p>
 *APScannerOnly: True
 </pre>
 
-<h3><span class='info'>Mac OS X 10.3</span><a name='APScanAppBundleID'>APScanAppBundleID</a></h3>
+<h3><span class='info'>OS X 10.3</span><a name='APScanAppBundleID'>APScanAppBundleID</a></h3>
 
 <p class='summary'>*APScanAppBundleID: "bundle ID"</p>
 
@@ -2203,6 +2249,21 @@ the device.</p>
 
 <h2 class='title'><a name='HISTORY'>Change History</a></h2>
 
+<h3>Changes in CUPS 1.6</h3>
+
+<ul>
+
+       <li>Added <a href="#cupsPageSizeCategory"><tt>cupsPageSizeCategory</tt></a> keyword (originally defined in CUPS 1.4).</li>
+
+       <li>Added <a href="#cupsMaxCopies"><tt>cupsMaxCopies</tt></a> keyword.</li>
+
+       <li>Documented <a href="#JCLToPDFInterpreter"><tt>JCLToPDFInterpreter</tt></a> keyword.</li>
+
+       <li>Updated <a href="#cupsVersion"><tt>cupsVersion</tt></a> keyword documentation to list all current releases of CUPS.</li>
+
+</ul>
+
+
 <h3>Changes in CUPS 1.5</h3>
 
 <ul>
@@ -2262,7 +2323,7 @@ the device.</p>
 
 <ul>
 
-       <li>Added missing Mac OS X <tt>AP</tt> keywords.</li>
+       <li>Added missing OS X <tt>AP</tt> keywords.</li>
 
        <li>Added section on auto-configuration including the
        <tt>OID<i>MainKeyword</i></tt> and <tt>?<i>MainKeyword</i></tt>
index 856f30a..1d77c67 100644 (file)
@@ -1,59 +1,64 @@
 <HTML>
 <!-- SECTION: Getting Started -->
 <HEAD>
-       <TITLE>What's New in CUPS 1.5</TITLE>
+       <TITLE>What's New in CUPS 1.6</TITLE>
        <LINK REL="STYLESHEET" TYPE="text/css" HREF="../cups-printable.css">
 </HEAD>
 <BODY>
 
-<H1 CLASS="title">What's New in CUPS 1.5</H1>
+<H1 CLASS="title">What's New in CUPS 1.6</H1>
 
-<P>CUPS 1.5 many changes and new features to CUPS 1.4.x. This page provides a high-level outline of these changes. If you have never used CUPS before, read the <A HREF="overview.html">"Overview of CUPS"</A> document instead.</P>
+<P>CUPS 1.6 provides many changes and new features to CUPS 1.5.x. This page provides a high-level outline of these changes. If you have never used CUPS before, read the <A HREF="overview.html">"Overview of CUPS"</A> document instead.</P>
 
-<H2 CLASS="title"><A NAME="COMMANDS">Commands</A></H2>
+<H2 CLASS="title"><A NAME="COMMANDS">General</A></H2>
 
 <OL START="1">
 
-       <LI><EM>User defaults;</EM> Starting in CUPS 1.2, user defaults were stored in the ~/.cups directory, and the old ~/.cupsrc and ~/.lpoptions files were deprecated. Support for ~/.cupsrc and ~/.lpoptions have been removed in CUPS 1.5.</LI>
+       <LI><EM>Bonjour Support;</EM> Bonjour printer sharing and discovery is now also supported using Avahi.</LI>
 
-       <LI><EM>IPP test tool;</EM> The <code>ipptool</code> IPP test tool is now a first-class user program.</LI>
+       <LI><EM>Color Management;</EM> ICC profiles referenced by PPD files are now registered on systems with D-BUS and colord installed.</LI>
 
-       <LI><EM>lpadmin;</EM> The <code>lpadmin</code> command now supports setting the cupsIPPSupplies and cupsSNMPSupplies keywords in PPDs and deleting options.</LI>
-</OL>
+       <LI><EM>Default Username;</EM> CUPS now supports the <CODE>CUPS_USER</CODE> environment variable and <CODE>User</CODE> directive in the <VAR>client.conf</VAR> file to override the default username.</LI>
 
-<H2 CLASS="title"><A NAME="SCHEDULER">Scheduler</A></H2>
+       <LI><EM>Open Printing Filters;</EM> The parallel and serial backends, php_cups scripting module, and bannertops, commandtoescpx, commandtopclx, imagetops, imagetoraster, pdftops, rastertoescpx, rastertopclx, and texttops filters are now provided as part of a separate cups-filters project hosted by the Linux Foundation.</LI>
 
-<OL START="4">
+       <LI><EM>Passwords;</EM> Passwords up to 127 characters are now supported.</LI>
 
-       <LI><EM>Filter security;</EM> Filters and backends must now have group write permissions disabled.</LI>
+       <LI><EM>Printer Options;</EM> The "brightness", "columns", "fitplot", "gamma", "hue", "natural-scaling", "penwidth", "position", "ppi", "saturation", and "scaling" options are not longer supported by CUPS directly, while the "page-bottom", "page-left", "page-right", "page-top", "prettyprint", and "wrap" options have been deprecated.</LI>
 
 </OL>
 
 
-<H2 CLASS="title"><A NAME="FILTERS">Print Filters</A></H2>
+<H2 CLASS="title"><A NAME="SCHEDULER">Scheduler</A></H2>
+
+<OL START="7">
+
+       <LI><EM>Authentication;</EM> The scheduler now supports a <CODE>DefaultAuthType</CODE> value of <CODE>auto</CODE> which automatically chooses between Basic (username/password) and Negotiate (Kerberos) authentication.</LI>
 
-<OL START="5">
+       <LI><EM>IPP Conformance;</EM> The scheduler now correctly reports the "number-of-documents" attribute for jobs and fully conforms to the latest IPP/2.1 test suite.</LI>
 
-       <LI><EM>HP-GL/2 filter;</EM> The HP-GL/2 filter is no longer provided with CUPS.</LI>
+       <LI><EM>Permissions;</EM> Filters and backends may no longer have group write permissions enabled.</LI>
 
-       <LI><EM>PDF filter;</EM> The PDF filter now supports new Poppler and Ghostscript options.</LI>
+       <LI><EM>PPD Files;</EM> PPD files can now be packaged and installed as compressed tar files to reduce the amount of disk space required. Dynamic PPD updates are now also consolidated so that a printer's PPD file is updated once at the end of a job.</LI>
 
-       <LI><EM>PWG Raster driver;</EM> Added a new PWG Raster printer driver filter.</LI>
+       <LI><EM>Sharing Protocols;</EM> The scheduler no longer supports the CUPS, LDAP, or SLP protocols for printer sharing.</LI>
 
-       <LI><EM>SCSI backend;</EM> The SCSI backend is no longer provided with CUPS.</LI>
+       <LI><EM>Time-Based Job Limits;</EM> New <CODE>MaxHoldTime</CODE> and <CODE>MaxJobTime</CODE> directives, combined with support for time values in the <CODE>PreserveJobFiles</CODE> and <CODE>PreserveJobHistory</CODE> directives, allow administrators to define time-based job limits and behaviors.</LI>
 
 </OL>
 
 
 <H2 CLASS="title"><A NAME="CUPSAPI">CUPS API</A></H2>
 
-<OL START="9">
+<OL START="13">
+
+       <LI><EM>Destination-Based Printing;</EM> Inspired by IPP Everywhere, new dynamic destination-based APIs allow applications to discover, query, and use both shared and network printers directly and display localized user interfaces with full conflict resolution without static configuration files. These APIs provide equivalent functionality offered by PPD-based printer drivers without the disadvantages of static configuration files.</LI>
 
-       <LI><EM>CUPS headers;</EM> Changes to the main CUPS header may require code changes to applications and toolkits. Users of PPD functions must now include the &lt;cups/ppd.h&gt; header file explicitly since the &lt;cups/cups.h&gt; header no longer does so.</LI>
+       <LI><EM>IPP;</EM> IPP requests now default to protocol version 2.0, and the <CODE>ipp_t</CODE> and <CODE>ipp_value_t</CODE> structures are now private by default. New software should be developed using the corresponding accessor functions instead of directly accessing these structures.</LI>
 
-       <LI><EM>HTTP support:</EM> Applications can now set a per-connection timeout interval and callback for HTTP operations as well as query and set SSL/TLS X.509 certificates.</LI>
+       <LI><EM>PPD;</EM> The PPD functions are now officially deprecated in favor of the new destination-based printing APIs.</LI>
 
-       <LI><EM>Raster support;</EM> The CUPS raster functions now support the creation of PWG Raster files and streams, and a new callback-based context function allows reading and writing from objects other than file descriptors.</LI>
+       <LI><EM>SNMP Support;</EM> The <CODE>cupsSideChannelSNMPGet</CODE> and <CODE>cupsSideChannelSNMPWalk</CODE> functions now support OIDs and values up to 64k in length.</LI>
 
 </OL>
 
diff --git a/doc/hu/index.html.in b/doc/hu/index.html.in
deleted file mode 100755 (executable)
index ae0039d..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<HTML>
-<HEAD>
-       <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
-       <TITLE>Kezdőlap - CUPS @CUPS_VERSION@@CUPS_REVISION@</TITLE>
-       <LINK REL="STYLESHEET" TYPE="text/css" HREF="/cups.css">
-       <LINK REL="SHORTCUT ICON" HREF="/images/cups-icon.png" TYPE="image/png">
-</HEAD>
-<BODY>
-<TABLE CLASS="page" SUMMARY="{title}">
-<TR><TD CLASS="body">
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
-<TR HEIGHT="36">
-<TD><A HREF="http://www.cups.org/" TARGET="_blank"><IMG
-SRC="/images/left.gif" WIDTH="64" HEIGHT="36" BORDER="0" ALT=""></A></TD>
-<TD CLASS="sel"><A HREF="/">&nbsp;&nbsp;Kezdőoldal&nbsp;&nbsp;</A></TD>
-<TD CLASS="unsel"><A
-HREF="/admin">&nbsp;&nbsp;Adminisztráció&nbsp;&nbsp;</A></TD>
-<TD CLASS="unsel"><A HREF="/classes/">&nbsp;&nbsp;Osztályok&nbsp;&nbsp;</A></TD>
-<TD CLASS="unsel"><A
-HREF="/help/">&nbsp;&nbsp;Online&nbsp;súgó&nbsp;&nbsp;</A></TD>
-<TD CLASS="unsel"><A HREF="/jobs/">&nbsp;&nbsp;Feladatok&nbsp;&nbsp;</A></TD>
-<TD CLASS="unsel"><A
-HREF="/printers/">&nbsp;&nbsp;Nyomtatók&nbsp;&nbsp;</A></TD>
-<TD CLASS="unsel" WIDTH="100%"><FORM ACTION="/help/" METHOD="GET"><INPUT
-TYPE="SEARCH" NAME="QUERY" SIZE="20" PLACEHOLDER="Keresés a súgóban"
-AUTOSAVE="org.cups.help" RESULTS="20"></FORM></TD>
-<TD><IMG SRC="/images/right.gif" WIDTH="4" HEIGHT="36" ALT=""></TD>
-</TR>
-</TABLE>
-
-<TABLE CLASS="indent" SUMMARY="">
-<TR><TD STYLE="padding-right: 20px;">
-
-<H1>CUPS @CUPS_VERSION@</H1>
-
-<P>A CUPS az <A HREF="http://www.apple.com/">Apple Inc.</A> által a Mac
-OS<SUP>&reg;</SUP> X és más UNIX<SUP>&reg;</SUP>-szerű operációs
-rendszerekhez kifejlesztett, szabványokra épülő, nyílt forrású
-nyomtatórendszer.</P>
-
-</TD>
-<TD><A HREF="http://www.cups.org/"><IMG SRC="images/cups-icon.png" WIDTH="128"
-HEIGHT="128" ALT="CUPS"></A></TD>
-</TR>
-</TABLE>
-
-<TABLE CLASS="indent" SUMMARY="">
-<TR><TD VALIGN="top" STYLE="border-right: dotted thin #cccccc; padding-right: 20px;">
-
-<H2>CUPS felhasználóknak</H2>
-
-<P><A HREF="help/overview.html">A CUPS bemutatása</A></P>
-
-<P><A HREF="help/options.html">Parancssori nyomtatás és kapcsolók</A></P>
-
-<P><A HREF="help/whatsnew.html">A CUPS 1.5 újdonságai</A></P>
-
-<P><A HREF="http://www.cups.org/newsgroups.php?gcups.general">Felhasználói fórum</A></P>
-
-</TD><TD VALIGN="top" STYLE="border-right: dotted thin #cccccc; padding-left: 20px; padding-right: 20px;">
-
-<H2>CUPS rendszergazdáknak</H2>
-
-<P><A HREF="admin">Nyomtatók és osztályok hozzáadása</A></P>
-
-<P><A HREF="help/policies.html">Műveletházirendek kezelése</A></P>
-
-<P><A HREF="help/accounting.html">Nyomtatási számlázás alapjai</A></P>
-
-<P><A HREF="help/security.html">Kiszolgáló biztonsága</A></P>
-
-<P><A HREF="help/kerberos.html">Kerberos hitelesítés használata</A></P>
-
-<P><A HREF="help/network.html">Hálózati nyomtatók használata</A></P>
-
-<P><A HREF="help/ref-cupsd-conf.html">cupsd.conf referencia</A></P>
-
-<P><A HREF="http://www.cups.org/ppd.php">Nyomtató-illesztőprogramok
-keresése</A></P>
-
-</TD><TD VALIGN="top" STYLE="padding-left: 20px;">
-
-<H2>A CUPS fejlesztőknek</H2>
-
-<P><A HREF="help/api-overview.html">A CUPS programozásának bemutatása</A></P>
-
-<P><A HREF="help/api-cups.html">CUPS API</A></P>
-
-<P><A HREF="help/api-filter.html">Szűrők és háttérprogramok
-programozása</A></P>
-
-<P><A HREF="help/api-httpipp.html">HTTP és IPP API-k</A></P>
-
-<P><A HREF="help/api-ppd.html">PPD API</A></P>
-
-<P><A HREF="help/api-raster.html">Raszter API</A></P>
-
-<P><A HREF="help/ref-ppdcfile.html">PPD fordító illesztőprogram-információs fájljának referenciája</A></P>
-
-<P><A HREF="http://www.cups.org/newsgroups.php?gcups.development">Fejlesztői fórum</A></P>
-
-</TD></TR>
-</TABLE>
-
-</TD></TR>
-<TR><TD>&nbsp;</TD></TR>
-<TR><TD CLASS="trailer">A CUPS és a CUPS logó az <A
-HREF="http://www.apple.com">Apple Inc.</A> védjegyei. CUPS copyright
-2007-2012 Apple Inc. Minden jog fenntartva.</TD></TR>
-</TABLE>
-</BODY>
-</HTML>
diff --git a/doc/id/index.html.in b/doc/id/index.html.in
deleted file mode 100644 (file)
index 032cff9..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<HTML>
-<HEAD>
-       <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
-       <TITLE>Beranda - CUPS @CUPS_VERSION@@CUPS_REVISION@</TITLE>
-       <LINK REL="STYLESHEET" TYPE="text/css" HREF="/cups.css">
-       <LINK REL="SHORTCUT ICON" HREF="/images/cups-icon.png" TYPE="image/png">
-</HEAD>
-<BODY>
-<TABLE CLASS="page" SUMMARY="{title}">
-<TR><TD CLASS="body">
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
-<TR HEIGHT="36">
-<TD><A HREF="http://www.cups.org/" TARGET="_blank"><IMG
-SRC="/images/left.gif" WIDTH="64" HEIGHT="36" BORDER="0" ALT=""></A></TD>
-<TD CLASS="sel"><A HREF="/">&nbsp;&nbsp;Beranda&nbsp;&nbsp;</A></TD>
-<TD CLASS="unsel"><A HREF="/admin">&nbsp;&nbsp;Administrasi&nbsp;&nbsp;</A></TD>
-<TD CLASS="unsel"><A HREF="/classes/">&nbsp;&nbsp;Kelas&nbsp;&nbsp;</A></TD>
-<TD CLASS="unsel"><A HREF="/help/">&nbsp;&nbsp;Bantuan&nbsp;Langsung&nbsp;&nbsp;</A></TD>
-<TD CLASS="unsel"><A HREF="/jobs/">&nbsp;&nbsp;Tugas&nbsp;&nbsp;</A></TD>
-<TD CLASS="unsel"><A HREF="/printers/">&nbsp;&nbsp;Pencetak&nbsp;&nbsp;</A></TD>
-<TD CLASS="unsel" WIDTH="100%"><FORM ACTION="/help/" METHOD="GET"><INPUT
-TYPE="SEARCH" NAME="QUERY" SIZE="20" PLACEHOLDER="Search Help"
-AUTOSAVE="org.cups.help" RESULTS="20"></FORM></TD>
-<TD><IMG SRC="/images/right.gif" WIDTH="4" HEIGHT="36" ALT=""></TD>
-</TR>
-</TABLE>
-
-<TABLE CLASS="indent" SUMMARY="">
-<TR><TD STYLE="padding-right: 20px;">
-
-<H1>CUPS @CUPS_VERSION@</H1>
-
-<P>CUPS adalah sistem pencetakan berstandar dan berkode sumber terbuka, dikembangkan oleh
-<A HREF="http://www.apple.com/">Apple Inc.</A> untuk Mac OS<SUP>&reg;</SUP> X dan sistem
-operasi serupa UNIX<SUP>&reg;</SUP> lainnya.</P>
-
-</TD>
-<TD><A HREF="http://www.cups.org/"><IMG SRC="images/cups-icon.png" WIDTH="128"
-HEIGHT="128" ALT="CUPS"></A></TD>
-</TR>
-</TABLE>
-
-<TABLE CLASS="indent" SUMMARY="">
-<TR><TD VALIGN="top" STYLE="border-right: dotted thin #cccccc; padding-right: 20px;">
-
-<H2>CUPS bagi Pengguna</H2>
-
-<P><A HREF="help/overview.html">Ikhtisar CUPS</A></P>
-
-<P><A HREF="help/options.html">Opsi dan Pencetakan dari Baris Perintah</A></P>
-
-<P><A HREF="help/whatsnew.html">Apa yang Baru di CUPS 1.5</A></P>
-
-<P><A HREF="http://www.cups.org/newsgroups.php?gcups.general">Forum Pengguna</A></P>
-
-</TD><TD VALIGN="top" STYLE="border-right: dotted thin #cccccc; padding-left: 20px; padding-right: 20px;">
-
-<H2>CUPS bagi Administrator</H2>
-
-<P><A HREF="admin">Menambah Pencetak dan Kelas</A></P>
-
-<P><A HREF="help/policies.html">Mengatur Kebijakan Operasi</A></P>
-
-<P><A HREF="help/accounting.html">Dasar Akunting Pencetak</A></P>
-
-<P><A HREF="help/security.html">Keamanan Server</A></P>
-
-<P><A HREF="help/kerberos.html">Menggunakan Otentikasi Kerberos</A></P>
-
-<P><A HREF="help/network.html">Menggunakan Pencetak di Jaringan</A></P>
-
-<P><A HREF="help/ref-cupsd-conf.html">Referensi cupsd.conf</A></P>
-
-<P><A HREF="http://www.cups.org/ppd.php">Mencari Penggerak Pencetak</A></P>
-
-</TD><TD VALIGN="top" STYLE="padding-left: 20px;">
-
-<H2>CUPS bagi Pengembang</H2>
-
-<P><A HREF="help/api-overview.html">Pengenalan untuk Pemrograman CUPS</A></P>
-
-<P><A HREF="help/api-cups.html">API di CUPS</A></P>
-
-<P><A HREF="help/api-filter.html">Penyaring dan Pemrograman Balik (<I>Backend Programming</I>)</A></P>
-
-<P><A HREF="help/api-httpipp.html">API di HTTP dan IPP</A></P>
-
-<P><A HREF="help/api-ppd.html">API di PPD</A></P>
-
-<P><A HREF="help/api-raster.html">API di Raster</A></P>
-
-<P><A HREF="help/ref-ppdcfile.html">Referensi Kompiler Berkas Penggerak PPD</A></P>
-
-<P><A HREF="http://www.cups.org/newsgroups.php?gcups.development">Forum Pengembang</A></P>
-
-</TD></TR>
-</TABLE>
-
-</TD></TR>
-<TR><TD>&nbsp;</TD></TR>
-<TR><TD CLASS="trailer">CUPS dan logo CUPS logo adalah merek dagang dari
-<A HREF="http://www.apple.com">Apple Inc.</A> Hak cipta CUPS pada 2007-2012 Apple
-Inc. Semua hak terpelihara.</TD></TR>
-</TABLE>
-</BODY>
-</HTML>
index 301e3fd..f55e69f 100644 (file)
Binary files a/doc/images/color-wheel.png and b/doc/images/color-wheel.png differ
diff --git a/doc/images/generic.png b/doc/images/generic.png
deleted file mode 100644 (file)
index 2abe9de..0000000
Binary files a/doc/images/generic.png and /dev/null differ
index da77fa9..5838144 100644 (file)
@@ -32,7 +32,7 @@ AUTOSAVE="org.cups.help" RESULTS="20"></FORM></TD>
 <H1>CUPS @CUPS_VERSION@</H1>
 
 <P>CUPS is the standards-based, open source printing system developed by
-<A HREF="http://www.apple.com/">Apple Inc.</A> for Mac OS<SUP>&reg;</SUP> X and
+<A HREF="http://www.apple.com/">Apple Inc.</A> for OS<SUP>&reg;</SUP> X and
 other UNIX<SUP>&reg;</SUP>-like operating systems.</P>
 
 </TD>
@@ -50,7 +50,7 @@ HEIGHT="128" ALT="CUPS"></A></TD>
 
 <P><A HREF="help/options.html">Command-Line Printing and Options</A></P>
 
-<P><A HREF="help/whatsnew.html">What's New in CUPS 1.5</A></P>
+<P><A HREF="help/whatsnew.html">What's New in CUPS 1.6</A></P>
 
 <P><A HREF="http://www.cups.org/newsgroups.php?gcups.general">User Forum</A></P>
 
@@ -100,7 +100,7 @@ HEIGHT="128" ALT="CUPS"></A></TD>
 </TD></TR>
 <TR><TD>&nbsp;</TD></TR>
 <TR><TD CLASS="trailer">CUPS and the CUPS logo are trademarks of
-<A HREF="http://www.apple.com">Apple Inc.</A> CUPS is copyright 2007-2012 Apple
+<A HREF="http://www.apple.com">Apple Inc.</A> Copyright 2007-2013 Apple
 Inc. All rights reserved.</TD></TR>
 </TABLE>
 </BODY>
diff --git a/doc/it/index.html.in b/doc/it/index.html.in
deleted file mode 100644 (file)
index b7a43fb..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<HTML>
-<HEAD>
-       <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
-       <TITLE>Home - CUPS @CUPS_VERSION@@CUPS_REVISION@</TITLE>
-       <LINK REL="STYLESHEET" TYPE="text/css" HREF="/cups.css">
-       <LINK REL="SHORTCUT ICON" HREF="/images/cups-icon.png" TYPE="image/png">
-</HEAD>
-<BODY>
-<TABLE CLASS="page" SUMMARY="{title}">
-<TR><TD CLASS="body">
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
-<TR HEIGHT="36">
-<TD><A HREF="http://www.cups.org/" TARGET="_blank"><IMG
-SRC="/images/left.gif" WIDTH="64" HEIGHT="36" BORDER="0" ALT=""></A></TD>
-<TD CLASS="sel"><A HREF="/">&nbsp;&nbsp;Home&nbsp;&nbsp;</A></TD>
-<TD CLASS="unsel"><A HREF="/admin">&nbsp;&nbsp;Amministrazione&nbsp;&nbsp;</A></TD>
-<TD CLASS="unsel"><A HREF="/classes/">&nbsp;&nbsp;Classi&nbsp;&nbsp;</A></TD>
-<TD CLASS="unsel"><A HREF="/help/">&nbsp;&nbsp;Guida&nbsp;&nbsp;</A></TD>
-<TD CLASS="unsel"><A HREF="/jobs/">&nbsp;&nbsp;Stampe&nbsp;&nbsp;</A></TD>
-<TD CLASS="unsel"><A HREF="/printers/">&nbsp;&nbsp;Stampanti&nbsp;&nbsp;</A></TD>
-<TD CLASS="unsel" WIDTH="100%"><FORM ACTION="/help/" METHOD="GET"><INPUT
-TYPE="SEARCH" NAME="QUERY" SIZE="20" PLACEHOLDER="Aiuto alla ricerca"
-AUTOSAVE="org.cups.help" RESULTS="20"></FORM></TD>
-<TD><IMG SRC="/images/right.gif" WIDTH="4" HEIGHT="36" ALT=""></TD>
-</TR>
-</TABLE>
-
-<TABLE CLASS="indent" SUMMARY="">
-<TR><TD STYLE="padding-right: 20px;">
-
-<H1>CUPS @CUPS_VERSION@</H1>
-
-<P>CUPS è un sistema di stampa basato su standard, open source sviluppato da
-<A HREF="http://www.apple.com/">Apple Inc.</A> per Mac OS<SUP>&reg;</SUP> X e
-altri sistemi UNIX<SUP>&reg;</SUP> e derivati.</P>
-
-</TD>
-<TD><A HREF="http://www.cups.org/"><IMG SRC="images/cups-icon.png" WIDTH="128"
-HEIGHT="128" ALT="CUPS"></A></TD>
-</TR>
-</TABLE>
-
-<TABLE CLASS="indent" SUMMARY="">
-<TR><TD VALIGN="top" STYLE="border-right: dotted thin #cccccc; padding-right: 20px;">
-
-<H2>CUPS per utenti</H2>
-
-<P><A HREF="help/overview.html">Panoramica di CUPS</A></P>
-
-<P><A HREF="help/options.html">Stampa e opzioni da riga di comando</A></P>
-
-<P><A HREF="help/whatsnew.html">Cosa c'è di nuovo in CUPS 1.5</A></P>
-
-<P><A HREF="http://www.cups.org/newsgroups.php?gcups.general">Forum degli utenti</A></P>
-
-</TD><TD VALIGN="top" STYLE="border-right: dotted thin #cccccc; padding-left: 20px; padding-right: 20px;">
-
-<H2>CUPS per amministratori</H2>
-
-<P><A HREF="admin">Aggiungere stampanti e classi</A></P>
-
-<P><A HREF="help/policies.html">Gestire i criteri di funzionamento</A></P>
-
-<P><A HREF="help/accounting.html">Basi di controllo di accesso alle stampanti</A></P>
-
-<P><A HREF="help/security.html">Sicurezza del server</A></P>
-
-<P><A HREF="help/kerberos.html">Utilizzare l'autenticazione Kerberos</A></P>
-
-<P><A HREF="help/network.html">Utilizzare stampanti di rete</A></P>
-
-<P><A HREF="help/ref-cupsd-conf.html">Riferimenti al cupsd.conf</A></P>
-
-<P><A HREF="http://www.cups.org/ppd.php">Trovare driver per le stampanti</A></P>
-
-</TD><TD VALIGN="top" STYLE="padding-left: 20px;">
-
-<H2>CUPS per sviluppatori</H2>
-
-<P><A HREF="help/api-overview.html">Introduzione alla programmazione di CUPS</A></P>
-
-<P><A HREF="help/api-cups.html">API di CUPS</A></P>
-
-<P><A HREF="help/api-filter.html">Programmazione di filtri e motori</A></P>
-
-<P><A HREF="help/api-httpipp.html">API HTTP e IPP</A></P>
-
-<P><A HREF="help/api-ppd.html">API PPD</A></P>
-
-<P><A HREF="help/api-raster.html">API Raster</A></P>
-
-<P><A HREF="help/ref-ppdcfile.html">Riferimenti al file del compilatore di driver PPD</A></P>
-
-<P><A HREF="http://www.cups.org/newsgroups.php?gcups.development">Forum degli sviluppatori</A></P>
-
-</TD></TR>
-</TABLE>
-
-</TD></TR>
-<TR><TD>&nbsp;</TD></TR>
-<TR><TD CLASS="trailer">CUPS e il logo CUPS sono marchi di
-<A HREF="http://www.apple.com">Apple Inc.</A> CUPS è un copyright 2007-2012 di Apple
-Inc. Tutti i diritti sono riservati.</TD></TR>
-</TABLE>
-</BODY>
-</HTML>
index 3c28c4c..e62d8f1 100644 (file)
@@ -2,7 +2,7 @@
 <HTML>
 <HEAD>
        <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
-       <TITLE>ホーム - CUPS @CUPS_VERSION@@CUPS_REVISION@</TITLE>
+       <TITLE>ホーム - CUPS 1.6</TITLE>
        <LINK REL="STYLESHEET" TYPE="text/css" HREF="/cups.css">
        <LINK REL="SHORTCUT ICON" HREF="/images/cups-icon.png" TYPE="image/png">
 </HEAD>
 <TR HEIGHT="36">
 <TD><A HREF="http://www.cups.org/" TARGET="_blank"><IMG
 SRC="/images/left.gif" WIDTH="64" HEIGHT="36" BORDER="0" ALT=""></A></TD>
-<TD CLASS="sel" NOWRAP><A HREF="/">&nbsp;&nbsp;ホーム&nbsp;&nbsp;</A></TD>
-<TD CLASS="unsel" NOWRAP><A HREF="/admin">&nbsp;&nbsp;管理&nbsp;&nbsp;</A></TD>
-<TD CLASS="unsel" NOWRAP><A HREF="/classes/">&nbsp;&nbsp;クラス&nbsp;&nbsp;</A></TD>
-<TD CLASS="unsel" NOWRAP><A HREF="/help/">&nbsp;&nbsp;ヘルプ&nbsp;&nbsp;</A></TD>
-<TD CLASS="unsel" NOWRAP><A HREF="/jobs/">&nbsp;&nbsp;ジョブ&nbsp;&nbsp;</A></TD>
-<TD CLASS="unsel" NOWRAP><A HREF="/printers/">&nbsp;プリンター&nbsp;</A></TD>
+<TD CLASS="sel"><A HREF="/">&nbsp;&nbsp;ホーム&nbsp;&nbsp;</A></TD>
+<TD CLASS="unsel"><A HREF="/admin">&nbsp;&nbsp;管理&nbsp;&nbsp;</A></TD>
+<TD CLASS="unsel"><A HREF="/classes/">&nbsp;&nbsp;クラス&nbsp;&nbsp;</A></TD>
+<TD CLASS="unsel"><A HREF="/help/">&nbsp;&nbsp;ヘルプ&nbsp;&nbsp;</A></TD>
+<TD CLASS="unsel"><A HREF="/jobs/">&nbsp;&nbsp;ジョブ&nbsp;&nbsp;</A></TD>
+<TD CLASS="unsel"><A HREF="/printers/">&nbsp;&nbsp;プリンター&nbsp;&nbsp;</A></TD>
 <TD CLASS="unsel" WIDTH="100%"><FORM ACTION="/help/" METHOD="GET"><INPUT
 TYPE="SEARCH" NAME="QUERY" SIZE="20" PLACEHOLDER="Search Help"
 AUTOSAVE="org.cups.help" RESULTS="20"></FORM></TD>
@@ -31,7 +31,7 @@ AUTOSAVE="org.cups.help" RESULTS="20"></FORM></TD>
 
 <H1>CUPS @CUPS_VERSION@</H1>
 
-<P>CUPS は、Mac OS<SUP>&reg;</SUP> X およびその他の UNIX 系 OS のために、
+<P>CUPS は、OS<SUP>&reg;</SUP> X およびその他の UNIX <SUP>&reg;</SUP> 系 OS のために、
 <A HREF="http://www.apple.com/">Apple Inc.</A>
 によって開発された標準ベースのオープンソース印刷システムです。</P>
 
@@ -50,7 +50,7 @@ HEIGHT="128" ALT="CUPS"></A></TD>
 
 <P><A HREF="help/options.html">コマンドラインからの印刷とオプション</A></P>
 
-<P><A HREF="help/whatsnew.html">CUPS 1.5 の新機能</A></P>
+<P><A HREF="help/whatsnew.html">CUPS 1.6 の新機能</A></P>
 
 <P><A HREF="http://www.cups.org/newsgroups.php?gcups.general">ユーザーフォーラム</A></P>
 
@@ -78,7 +78,7 @@ HEIGHT="128" ALT="CUPS"></A></TD>
 
 <H2>開発者向け</H2>
 
-<P><A HREF="help/api-overview.html">イントロダクション</A></P>
+<P><A HREF="help/api-overview.html">CUPS プログラミングのイントロダクション</A></P>
 
 <P><A HREF="help/api-cups.html">CUPS API</A></P>
 
@@ -100,7 +100,7 @@ HEIGHT="128" ALT="CUPS"></A></TD>
 </TD></TR>
 <TR><TD>&nbsp;</TD></TR>
 <TR><TD CLASS="trailer">CUPS and the CUPS logo are trademarks of
-<A HREF="http://www.apple.com">Apple Inc.</A> CUPS is copyright 2007-2012 Apple
+<A HREF="http://www.apple.com">Apple Inc.</A> CUPS is copyright 2007-2013 Apple
 Inc. All rights reserved.</TD></TR>
 </TABLE>
 </BODY>
diff --git a/doc/pl/index.html.in b/doc/pl/index.html.in
deleted file mode 100644 (file)
index 98db4f4..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<HTML>
-<HEAD>
-       <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
-       <TITLE>Strona domowa - CUPS @CUPS_VERSION@@CUPS_REVISION@</TITLE>
-       <LINK REL="STYLESHEET" TYPE="text/css" HREF="/cups.css">
-       <LINK REL="SHORTCUT ICON" HREF="/images/cups-icon.png" TYPE="image/png">
-</HEAD>
-<BODY>
-<TABLE CLASS="page" SUMMARY="{title}">
-<TR><TD CLASS="body">
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
-<TR HEIGHT="36">
-<TD><A HREF="http://www.cups.org/" TARGET="_blank"><IMG
-SRC="/images/left.gif" WIDTH="64" HEIGHT="36" BORDER="0" ALT=""></A></TD>
-<TD CLASS="sel"><A HREF="/">&nbsp;&nbsp;Strona domowa&nbsp;&nbsp;</A></TD>
-<TD CLASS="unsel"><A HREF="/admin">&nbsp;&nbsp;Administracja&nbsp;&nbsp;</A></TD>
-<TD CLASS="unsel"><A HREF="/classes/">&nbsp;&nbsp;Klasy&nbsp;&nbsp;</A></TD>
-<TD CLASS="unsel"><A HREF="/help/">&nbsp;&nbsp;Pomoc&nbsp;online&nbsp;&nbsp;</A></TD>
-<TD CLASS="unsel"><A HREF="/jobs/">&nbsp;&nbsp;Zadania&nbsp;&nbsp;</A></TD>
-<TD CLASS="unsel"><A HREF="/printers/">&nbsp;&nbsp;Drukowanie&nbsp;&nbsp;</A></TD>
-<TD CLASS="unsel" WIDTH="100%"><FORM ACTION="/help/" METHOD="GET"><INPUT
-TYPE="SEARCH" NAME="QUERY" SIZE="20" PLACEHOLDER="Search Help"
-AUTOSAVE="org.cups.help" RESULTS="20"></FORM></TD>
-<TD><IMG SRC="/images/right.gif" WIDTH="4" HEIGHT="36" ALT=""></TD>
-</TR>
-</TABLE>
-
-<TABLE CLASS="indent" SUMMARY="">
-<TR><TD STYLE="padding-right: 20px;">
-
-<H1>CUPS @CUPS_VERSION@</H1>
-
-<P>CUPS jest opartym na standardach systemem drukowania na licencji open source, tworzonym przez
-<A HREF="http://www.apple.com/">Apple Inc.</A> dla Mac OS<SUP>&reg;</SUP> X i
-innych systemów operacyjnych podobnych do Uniksa<SUP>&reg;</SUP>.</P>
-
-</TD>
-<TD><A HREF="http://www.cups.org/"><IMG SRC="images/cups-icon.png" WIDTH="128"
-HEIGHT="128" ALT="CUPS"></A></TD>
-</TR>
-</TABLE>
-
-<TABLE CLASS="indent" SUMMARY="">
-<TR><TD VALIGN="top" STYLE="border-right: dotted thin #cccccc; padding-right: 20px;">
-
-<H2>CUPS dla użytkowników</H2>
-
-<P><A HREF="help/overview.html">Przegląd CUPS</A></P>
-
-<P><A HREF="help/options.html">Drukowanie i opcje w wierszu poleceń</A></P>
-
-<P><A HREF="help/whatsnew.html">Co nowego w CUPS 1.5</A></P>
-
-<P><A HREF="http://www.cups.org/newsgroups.php?gcups.general">Forum użytkowników</A></P>
-
-</TD><TD VALIGN="top" STYLE="border-right: dotted thin #cccccc; padding-left: 20px; padding-right: 20px;">
-
-<H2>CUPS dla administratorów</H2>
-
-<P><A HREF="admin">Dodawanie drukarek i klas</A></P>
-
-<P><A HREF="help/policies.html">Zarządzanie politykami operacji</A></P>
-
-<P><A HREF="help/accounting.html">Podstawy kont drukowania</A></P>
-
-<P><A HREF="help/security.html">Bezpieczeństwo systemu</A></P>
-
-<P><A HREF="help/kerberos.html">Używanie uwierzytelniania Kerberosa</A></P>
-
-<P><A HREF="help/network.html">Używanie drukarek sieciowych</A></P>
-
-<P><A HREF="help/ref-cupsd-conf.html">Informacje o cupsd.conf</A></P>
-
-<P><A HREF="http://www.cups.org/ppd.php">Wyszukiwanie sterowników drukarek</A></P>
-
-</TD><TD VALIGN="top" STYLE="padding-left: 20px;">
-
-<H2>CUPS dla programistów</H2>
-
-<P><A HREF="help/api-overview.html">Wprowadzenie do programowania CUPS</A></P>
-
-<P><A HREF="help/api-cups.html">API CUPS</A></P>
-
-<P><A HREF="help/api-filter.html">Programowanie filtrów i modułów przetwarzających</A></P>
-
-<P><A HREF="help/api-httpipp.html">API HTTP i IPP</A></P>
-
-<P><A HREF="help/api-ppd.html">API PPD</A></P>
-
-<P><A HREF="help/api-raster.html">API rastrowe</A></P>
-
-<P><A HREF="help/ref-ppdcfile.html">Informacje o kompilatorze plików informacji o sterownikach PPD</A></P>
-
-<P><A HREF="http://www.cups.org/newsgroups.php?gcups.development">Forum programistów</A></P>
-
-</TD></TR>
-</TABLE>
-
-</TD></TR>
-<TR><TD>&nbsp;</TD></TR>
-<TR><TD CLASS="trailer">CUPS i logo CUPS
-są znakami handlowymi <A HREF="http://www.apple.com">Apple Inc.</A> CUPS
-copyright 2007-2012 Apple Inc. Wszystkie prawa zastrzeżone.</TD></TR>
-</TABLE>
-</BODY>
-</HTML>
index c81ec29..d1300e1 100644 (file)
@@ -1,8 +1,8 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <HTML>
 <HEAD>
        <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
-       <TITLE>Начало  CUPS @CUPS_VERSION@@CUPS_REVISION@</TITLE>
+       <TITLE>Начало - CUPS @CUPS_VERSION@@CUPS_REVISION@</TITLE>
        <LINK REL="STYLESHEET" TYPE="text/css" HREF="/cups.css">
        <LINK REL="SHORTCUT ICON" HREF="/images/cups-icon.png" TYPE="image/png">
 </HEAD>
@@ -20,7 +20,7 @@ SRC="/images/left.gif" WIDTH="64" HEIGHT="36" BORDER="0" ALT=""></A></TD>
 <TD CLASS="unsel"><A HREF="/jobs/">&nbsp;&nbsp;Задания&nbsp;&nbsp;</A></TD>
 <TD CLASS="unsel"><A HREF="/printers/">&nbsp;&nbsp;Принтеры&nbsp;&nbsp;</A></TD>
 <TD CLASS="unsel" WIDTH="100%"><FORM ACTION="/help/" METHOD="GET"><INPUT
-TYPE="SEARCH" NAME="QUERY" SIZE="20" PLACEHOLDER="Поиск по справке"
+TYPE="SEARCH" NAME="QUERY" SIZE="20" PLACEHOLDER="Search Help"
 AUTOSAVE="org.cups.help" RESULTS="20"></FORM></TD>
 <TD><IMG SRC="/images/right.gif" WIDTH="4" HEIGHT="36" ALT=""></TD>
 </TR>
@@ -42,13 +42,13 @@ HEIGHT="128" ALT="CUPS"></A></TD>
 <TABLE CLASS="indent" SUMMARY="">
 <TR><TD VALIGN="top" STYLE="border-right: dotted thin #cccccc; padding-right: 20px;">
 
-<H2>CUPS for Users</H2>
+<H2>CUPS для пользователей</H2>
 
 <P><A HREF="help/overview.html">Введение в CUPS</A></P>
 
 <P><A HREF="help/options.html">Печать из командной строки</A></P>
 
-<P><A HREF="help/whatsnew.html">Что нового в CUPS 1.5</A></P>
+<P><A HREF="help/whatsnew.html">Что нового в CUPS 1.6</A></P>
 
 <P><A HREF="http://www.cups.org/newsgroups.php?gcups.general">Форум пользователей</A></P>
 
@@ -97,7 +97,7 @@ HEIGHT="128" ALT="CUPS"></A></TD>
 
 </TD></TR>
 <TR><TD>&nbsp;</TD></TR>
-<TR><TD CLASS="trailer">CUPS а также логотип CUPS являются зарегистрированными торговыми марками <A HREF="http://www.apple.com">Apple Inc.</A> Авторские права на CUPS принадлежат (2007-2012) компании Apple Inc. Все права защищены.</TD></TR>
+<TR><TD CLASS="trailer">CUPS а также логотип CUPS являются зарегистрированными торговыми марками <A HREF="http://www.apple.com">Apple Inc.</A> Авторские права на CUPS принадлежат (2007-2013) компании Apple Inc. Все права защищены.</TD></TR>
 </TABLE>
 </BODY>
 </HTML>
diff --git a/doc/swish-e.config b/doc/swish-e.config
new file mode 100644 (file)
index 0000000..662f983
--- /dev/null
@@ -0,0 +1,16 @@
+# Where to get things
+IndexDir doc
+
+# Where to put things
+IndexFile doc/swish-e.index
+
+# Ignore image and index files
+FileRules filename contains .gif
+FileRules filename contains .gz
+FileRules filename contains .jpg
+FileRules filename contains .png
+FileRules filename contains .svg
+FileRules filename contains swish-e
+FileRules filename contains .tokens
+FileRules filename is Makefile
+
diff --git a/driver/Dependencies b/driver/Dependencies
deleted file mode 100644 (file)
index 475ee80..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-# DO NOT DELETE
-
-commandtoescpx.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-commandtoescpx.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-commandtoescpx.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
-commandtoescpx.o: ../config.h ../cups/debug-private.h ../cups/versioning.h
-commandtoescpx.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-commandtoescpx.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-commandtoescpx.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-commandtoescpx.o: ../cups/language-private.h ../cups/transcode.h
-commandtoescpx.o: ../cups/thread-private.h driver.h ../cups/raster.h
-commandtoescpx.o: ../cups/ppd.h ../data/escp.h
-commandtopclx.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-commandtopclx.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-commandtopclx.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
-commandtopclx.o: ../config.h ../cups/debug-private.h ../cups/versioning.h
-commandtopclx.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-commandtopclx.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-commandtopclx.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-commandtopclx.o: ../cups/language-private.h ../cups/transcode.h
-commandtopclx.o: ../cups/thread-private.h driver.h ../cups/raster.h
-commandtopclx.o: ../cups/ppd.h ../data/pcl.h
-rastertoescpx.o: driver.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
-rastertoescpx.o: ../cups/ipp.h ../cups/http.h ../cups/array.h
-rastertoescpx.o: ../cups/language.h ../cups/raster.h ../cups/cups.h
-rastertoescpx.o: ../cups/ppd.h ../cups/language-private.h ../cups/transcode.h
-rastertoescpx.o: ../cups/string-private.h ../config.h ../data/escp.h
-rastertopclx.o: driver.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
-rastertopclx.o: ../cups/ipp.h ../cups/http.h ../cups/array.h
-rastertopclx.o: ../cups/language.h ../cups/raster.h ../cups/cups.h
-rastertopclx.o: ../cups/ppd.h ../cups/language-private.h ../cups/transcode.h
-rastertopclx.o: ../cups/string-private.h ../config.h pcl-common.h
-rastertopclx.o: ../data/pcl.h
-pcl-common.o: driver.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
-pcl-common.o: ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
-pcl-common.o: ../cups/raster.h ../cups/cups.h ../cups/ppd.h pcl-common.h
-pcl-common.o: ../cups/string-private.h ../config.h ../data/pcl.h
-testcmyk.o: ../cups/string-private.h ../config.h driver.h ../cups/cups.h
-testcmyk.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-testcmyk.o: ../cups/array.h ../cups/language.h ../cups/raster.h
-testcmyk.o: ../cups/cups.h ../cups/ppd.h
-testdither.o: driver.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
-testdither.o: ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
-testdither.o: ../cups/raster.h ../cups/cups.h ../cups/ppd.h
-testdither.o: ../cups/string-private.h ../config.h
-testrgb.o: ../cups/string-private.h ../config.h driver.h ../cups/cups.h
-testrgb.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-testrgb.o: ../cups/array.h ../cups/language.h ../cups/raster.h ../cups/cups.h
-testrgb.o: ../cups/ppd.h
-attr.o: driver.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
-attr.o: ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
-attr.o: ../cups/raster.h ../cups/cups.h ../cups/ppd.h
-attr.o: ../cups/string-private.h ../config.h
-check.o: driver.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
-check.o: ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
-check.o: ../cups/raster.h ../cups/cups.h ../cups/ppd.h
-cmyk.o: driver.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
-cmyk.o: ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
-cmyk.o: ../cups/raster.h ../cups/cups.h ../cups/ppd.h
-cmyk.o: ../cups/string-private.h ../config.h
-dither.o: driver.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
-dither.o: ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
-dither.o: ../cups/raster.h ../cups/cups.h ../cups/ppd.h ../config.h
-lut.o: driver.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
-lut.o: ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
-lut.o: ../cups/raster.h ../cups/cups.h ../cups/ppd.h
-pack.o: driver.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
-pack.o: ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
-pack.o: ../cups/raster.h ../cups/cups.h ../cups/ppd.h
-rgb.o: driver.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
-rgb.o: ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
-rgb.o: ../cups/raster.h ../cups/cups.h ../cups/ppd.h
-srgb.o: driver.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
-srgb.o: ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
-srgb.o: ../cups/raster.h ../cups/cups.h ../cups/ppd.h
diff --git a/driver/Makefile b/driver/Makefile
deleted file mode 100644 (file)
index 7269e9e..0000000
+++ /dev/null
@@ -1,382 +0,0 @@
-#
-# "$Id: Makefile 9099 2010-04-11 07:16:05Z mike $"
-#
-#   Makefile for the CUPS base drivers.
-#
-#   Copyright 2007-2010 by Apple Inc.
-#   Copyright 2002-2005 by Easy Software Products.
-#
-#   These coded instructions, statements, and computer programs are the
-#   property of Apple Inc. and are protected by Federal copyright
-#   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
-#   which should have been included with this file.  If this file is
-#   file is missing or damaged, see the license at "http://www.cups.org/".
-#
-
-#
-# Include standard definitions...
-#
-
-include ../Makedefs
-
-
-#
-# Object files...
-#
-
-LIBOBJS        = \
-               attr.o \
-               check.o \
-               cmyk.o \
-               dither.o \
-               lut.o \
-               pack.o \
-               rgb.o \
-               srgb.o
-OBJS           = \
-               commandtoescpx.o \
-               commandtopclx.o \
-               rastertoescpx.o \
-               rastertopclx.o \
-               pcl-common.o \
-               testcmyk.o \
-               testdither.o \
-               testrgb.o \
-               $(LIBOBJS)
-
-LIBTARGETS =   \
-               $(LIBCUPSDRIVER) \
-               libcupsdriver.a
-UNITTARGETS =  \
-               testcmyk \
-               testdither \
-               testrgb
-FILTERS =      \
-               commandtoescpx \
-               commandtopclx \
-               rastertoescpx \
-               rastertopclx
-TARGETS =      \
-               $(LIBTARGETS) \
-               $(FILTERS)
-
-
-#
-# Make everything...
-#
-
-all:           $(TARGETS)
-
-
-#
-# Make library targets...
-#
-
-libs:          $(LIBTARGETS)
-
-
-#
-# Make unit tests...
-#
-
-unittests:     $(UNITTARGETS)
-
-
-#
-# Clean everything...
-#
-
-clean:
-       $(RM) $(OBJS) core
-       $(RM) *.bck core.*
-       $(RM) $(TARGETS) $(UNITTARGETS)
-       $(RM) -r test
-       $(RM) libcupsdriver.so libcupsdriver.sl libcupsdriver.dylib
-
-
-#
-# Update dependencies...
-#
-
-depend:
-       makedepend -Y -I.. -fDependencies $(OBJS:.o=.c) >/dev/null 2>&1
-
-
-#
-# Install all targets...
-#
-
-install:       all install-data install-headers install-libs install-exec
-
-
-#
-# Install data files...
-#
-
-install-data:
-
-
-#
-# Install programs...
-#
-
-install-exec:
-       $(INSTALL_DIR) $(SERVERBIN)/filter
-       for file in $(FILTERS); do \
-               $(INSTALL_BIN) $$file $(SERVERBIN)/filter; \
-       done
-       if test "x$(SYMROOT)" != "x"; then \
-               $(INSTALL_DIR) $(SYMROOT); \
-               for file in $(FILTERS); do \
-                       cp $$file $(SYMROOT); \
-               done \
-       fi
-
-
-#
-# Install headers...
-#
-
-install-headers:
-       echo Installing header files in $(INCLUDEDIR)/cups...
-       $(INSTALL_DIR) -m 755 $(INCLUDEDIR)/cups
-       $(INSTALL_DATA) driver.h $(INCLUDEDIR)/cups
-
-
-#
-# Install libraries...
-#
-
-install-libs: $(INSTALLSTATIC)
-       echo Installing libraries in $(LIBDIR)...
-       $(INSTALL_DIR) -m 755 $(LIBDIR)
-       $(INSTALL_LIB) $(LIBCUPSDRIVER) $(LIBDIR)
-       if test $(LIBCUPSDRIVER) = "libcupsdriver.so.1" -o $(LIBCUPSDRIVER) = "libcupsdriver.sl.1"; then \
-               $(RM) $(LIBDIR)/`basename $(LIBCUPSDRIVER) .1`; \
-               $(LN) $(LIBCUPSDRIVER) $(LIBDIR)/`basename $(LIBCUPSDRIVER) .1`; \
-       fi
-       if test $(LIBCUPSDRIVER) = "libcupsdriver.1.dylib"; then \
-               $(RM) $(LIBDIR)/libcupsdriver.dylib; \
-               $(LN) $(LIBCUPSDRIVER) $(LIBDIR)/libcupsdriver.dylib; \
-       fi
-       if test "x$(SYMROOT)" != "x"; then \
-               $(INSTALL_DIR) $(SYMROOT); \
-               cp $(LIBCUPSDRIVER) $(SYMROOT); \
-       fi
-
-installstatic:
-       $(INSTALL_DIR) -m 755 $(LIBDIR)
-       $(INSTALL_LIB) -m 755 libcupsdriver.a $(LIBDIR)
-       $(RANLIB) $(LIBDIR)/libcupsdriver.a
-       $(CHMOD) 555 $(LIBDIR)/libcupsdriver.a
-
-
-#
-# Uninstall...
-#
-
-uninstall:
-       for file in commandtoescpx commandtopclx rastertoescpx rastertopclx; do \
-               $(RM) $(SERVERBIN)/filter/$$file; \
-       done
-       $(RM) $(LIBDIR)/libcupsdriver.1.dylib
-       $(RM) $(LIBDIR)/libcupsdriver.a
-       $(RM) $(LIBDIR)/libcupsdriver.dylib
-       $(RM) $(LIBDIR)/libcupsdriver_s.a
-       $(RM) $(LIBDIR)/libcupsdriver.sl
-       $(RM) $(LIBDIR)/libcupsdriver.sl.1
-       $(RM) $(LIBDIR)/libcupsdriver.so
-       $(RM) $(LIBDIR)/libcupsdriver.so.1
-       -$(RMDIR) $(LIBDIR)
-       $(RM) $(INCLUDEDIR)/cups/driver.h
-       -$(RMDIR) $(INCLUDEDIR)/cups
-
-
-#
-# Automatic API help files...
-#
-
-apihelp:
-       mxmldoc --section "Programming" \
-               --title "Printer Driver API" \
-               --css ../doc/cups-printable.css \
-               --header api-driver.header --intro api-driver.shtml \
-               api-driver.xml \
-               driver.h $(LIBOBJS:.o=.c) >../doc/help/api-driver.html
-       mxmldoc --tokens help/api-driver.html >../doc/help/api-driver.tokens
-       $(RM) api-driver.xml
-
-framedhelp:
-       mxmldoc --framed api-driver \
-               --section "Programming" \
-               --title "Printer Driver API" \
-               --css ../doc/cups-printable.css \
-               --header api-driver.header --intro api-driver.shtml \
-               driver.h $(LIBOBJS:.o=.c)
-
-
-#
-# commandtopclx, the PCL command printer driver.
-#
-
-commandtopclx:         commandtopclx.o $(LIBCUPSDRIVER) ../cups/$(LIBCUPS)
-       echo Linking $@...
-       $(CC) $(LDFLAGS) -o $@ commandtopclx.o -L. -lcupsdriver $(LIBS)
-
-
-#
-# commandtoescpx, the ESC/P command printer driver.
-#
-
-commandtoescpx:                commandtoescpx.o $(LIBCUPSDRIVER) ../cups/$(LIBCUPS)
-       echo Linking $@...
-       $(CC) $(LDFLAGS) -o $@ commandtoescpx.o -L. -lcupsdriver $(LIBS)
-
-
-#
-# rastertoescpx, the ESC/P raster printer driver.
-#
-
-rastertoescpx:         rastertoescpx.o $(LIBCUPSDRIVER) ../cups/$(LIBCUPS)
-       echo Linking $@...
-       $(CC) $(LDFLAGS) -o $@ rastertoescpx.o -L. -lcupsdriver \
-               $(LINKCUPSIMAGE) $(LIBS)
-
-
-#
-# rastertopclx, the ESC/P raster printer driver.
-#
-
-rastertopclx:          rastertopclx.o pcl-common.o $(LIBCUPSDRIVER) \
-                       ../cups/$(LIBCUPS)
-       echo Linking $@...
-       $(CC) $(LDFLAGS) -o $@ rastertopclx.o pcl-common.o -L. -lcupsdriver \
-               $(LINKCUPSIMAGE) $(LIBS)
-
-
-#
-# test, make a common test subdirectory for the other test programs.
-#
-
-test:
-       if test ! -d test; then \
-               rm -rf test; \
-               mkdir test; \
-       fi
-
-
-#
-# testcmyk, test cmyk separation functions.
-#
-
-testcmyk:              test testcmyk.o libcupsdriver.a ../cups/$(LIBCUPSSTATIC)
-       echo Linking $@...
-       $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testcmyk.o libcupsdriver.a \
-               ../cups/$(LIBCUPSSTATIC) $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
-               $(COMMONLIBS) $(LIBZ)
-       echo Running CMYK API tests...
-       ./testcmyk > test/testcmyk.log
-
-
-#
-# testdither, test dithering functions.
-#
-
-testdither:            test testdither.o libcupsdriver.a ../cups/$(LIBCUPSSTATIC)
-       echo Linking $@...
-       $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testdither.o libcupsdriver.a \
-               ../cups/$(LIBCUPSSTATIC) $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
-               $(COMMONLIBS) $(LIBZ)
-       echo Running dither API tests...
-       ./testdither > test/0-255.pgm 2>test/0-255.log
-       ./testdither 0 127 255 > test/0-127-255.pgm 2>test/0-127-255.log
-       ./testdither 0 85 170 255 > test/0-85-170-255.pgm 2>test/0-85-170-255.log
-       ./testdither 0 63 127 170 198 227 255 > test/0-63-127-170-198-227-255.pgm 2>test/0-63-127-170-198-227-255.log
-       ./testdither 0 210 383 > test/0-210-383.pgm 2>test/0-210-383.log
-       ./testdither 0 82 255 > test/0-82-255.pgm 2>test/0-82-255.log
-       ./testdither 0 510 > test/0-510.pgm 2>test/0-510.log
-       ./testdither 0 1020 > test/0-1020.pgm 2>test/0-1020.log
-
-
-#
-# testrgb, test RGB separation functions.
-#
-
-testrgb:               test testrgb.o libcupsdriver.a ../cups/$(LIBCUPSSTATIC)
-       echo Linking $@...
-       $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testrgb.o libcupsdriver.a \
-               ../cups/$(LIBCUPSSTATIC) $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
-               $(COMMONLIBS) $(LIBZ)
-       echo Running RGB API tests...
-       ./testrgb > test/testrgb.log 2>&1 || echo "RGB tests failed!"
-
-
-#
-# libcupsdriver.so.1, libcupsdriver.sl.1
-#
-
-libcupsdriver.so.1 libcupsdriver.sl.1: $(LIBOBJS)
-       echo Linking $@...
-       $(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS) $(LIBS)
-       $(RM) `basename $@ .1`
-       $(LN) $@ `basename $@ .1`
-
-
-#
-# libcupsdriver.1.dylib
-#
-
-libcupsdriver.1.dylib: $(LIBOBJS) libcupsdriver.exp
-       echo Linking $@...
-       $(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ \
-               -install_name $(libdir)/$@ \
-               -current_version 1.0.0 \
-               -compatibility_version 1.0.0 \
-               -exported_symbols_list libcupsdriver.exp \
-               $(LIBOBJS) $(LIBS)
-       $(RM) libcupsdriver.dylib
-       $(LN) $@ libcupsdriver.dylib
-
-
-#
-# libcupsdriver_s.a
-#
-
-libcupsdriver_s.a:     $(LIBOBJS)
-       echo Creating $@...
-       $(DSO) $(DSOFLAGS) -o libcupsdriver_s.o $(LIBOBJS) $(LIBS)
-       $(RM) $@
-       $(AR) $(ARFLAGS) $@ libcupsdriver_s.o
-
-
-#
-# libcupsdriver.la
-#
-
-libcupsdriver.la:    $(LIBOBJS)
-       echo Linking $@...
-       $(CC) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS:.o=.lo) -rpath $(LIBDIR) \
-               -version-info 1:0 $(LIBS)
-
-
-#
-# libcupsdriver.a
-#
-
-libcupsdriver.a:       $(LIBOBJS)
-       echo Archiving $@...
-       $(RM) $@
-       $(AR) $(ARFLAGS) $@ $(LIBOBJS)
-       $(RANLIB) $@
-
-
-#
-# Include dependencies...
-#
-
-include Dependencies
-
-
-#
-# End of "$Id: Makefile 9099 2010-04-11 07:16:05Z mike $".
-#
diff --git a/driver/api-driver.header b/driver/api-driver.header
deleted file mode 100644 (file)
index 0f3937b..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-<!--
-  "$Id: api-array.header 8087 2008-10-27 21:37:05Z mike $"
-
-  Driver API header for CUPS.
-
-  Copyright 2009 by Apple Inc.
-
-  These coded instructions, statements, and computer programs are the
-  property of Apple Inc. and are protected by Federal copyright
-  law.  Distribution and use rights are outlined in the file "LICENSE.txt"
-  which should have been included with this file.  If this file is
-  file is missing or damaged, see the license at "http://www.cups.org/".
--->
-
-<h1 class='title'>Driver API</h1>
-
-<div class='summary'><table summary='General Information'>
-<thead>
-<tr>
-       <th>Header</th>
-       <th>cups/driver.h</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-       <th>Library</th>
-       <td>-lcupsdriver</td>
-</tr>
-<tr>
-       <th>See Also</th>
-       <td>Programming: <a href='api-overview.html' target='_top'>Introduction to CUPS Programming</a></td>
-</tr>
-</tbody>
-</table></div>
diff --git a/driver/api-driver.shtml b/driver/api-driver.shtml
deleted file mode 100644 (file)
index 0e8bcff..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!--
-  "$Id: api-array.shtml 7616 2008-05-28 00:34:13Z mike $"
-
-  Driver API introduction for CUPS.
-
-  Copyright 2009 by Apple Inc.
-
-  These coded instructions, statements, and computer programs are the
-  property of Apple Inc. and are protected by Federal copyright
-  law.  Distribution and use rights are outlined in the file "LICENSE.txt"
-  which should have been included with this file.  If this file is
-  file is missing or damaged, see the license at "http://www.cups.org/".
--->
-
-<h2 class='title'><a name='OVERVIEW'>Overview</a></h2>
-
-<p>The driver API provides common dithering, color conversion, and utility
-functions for CUPS drivers.</p>
diff --git a/driver/attr.c b/driver/attr.c
deleted file mode 100644 (file)
index fff68bf..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * "$Id: attr.c 9042 2010-03-24 00:45:34Z mike $"
- *
- *   PPD attribute lookup routine for CUPS.
- *
- *   Copyright 2007-2010 by Apple Inc.
- *   Copyright 1993-2005 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- * Contents:
- *
- *   cupsFindAttr() - Find a PPD attribute based on the colormodel,
- *                    media, and resolution.
- */
-
-/*
- * Include necessary headers.
- */
-
-#include "driver.h"
-#include <cups/string-private.h>
-
-
-/*
- * 'cupsFindAttr()' - Find a PPD attribute based on the colormodel,
- *                    media, and resolution.
- */
-
-ppd_attr_t *                           /* O - Matching attribute or NULL */
-cupsFindAttr(ppd_file_t *ppd,          /* I - PPD file */
-             const char *name,         /* I - Attribute name */
-             const char *colormodel,   /* I - Color model */
-             const char *media,                /* I - Media type */
-             const char *resolution,   /* I - Resolution */
-            char       *spec,          /* O - Final selection string */
-            int        specsize)       /* I - Size of string buffer */
-{
-  ppd_attr_t   *attr;                  /* Attribute */
-
-
- /*
-  * Range check input...
-  */
-
-  if (!ppd || !name || !colormodel || !media || !resolution || !spec ||
-      specsize < PPD_MAX_NAME)
-    return (NULL);
-
- /*
-  * Look for the attribute with the following keywords:
-  *
-  *     ColorModel.MediaType.Resolution
-  *     ColorModel.Resolution
-  *     ColorModel
-  *     MediaType.Resolution
-  *     MediaType
-  *     Resolution
-  *     ""
-  */
-
-  snprintf(spec, specsize, "%s.%s.%s", colormodel, media, resolution);
-  fprintf(stderr, "DEBUG2: Looking for \"*%s %s\"...\n", name, spec);
-  if ((attr = ppdFindAttr(ppd, name, spec)) != NULL && attr->value != NULL)
-    return (attr);
-
-  snprintf(spec, specsize, "%s.%s", colormodel, resolution);
-  fprintf(stderr, "DEBUG2: Looking for \"*%s %s\"...\n", name, spec);
-  if ((attr = ppdFindAttr(ppd, name, spec)) != NULL && attr->value != NULL)
-    return (attr);
-
-  strlcpy(spec, colormodel, specsize);
-  fprintf(stderr, "DEBUG2: Looking for \"*%s %s\"...\n", name, spec);
-  if ((attr = ppdFindAttr(ppd, name, spec)) != NULL && attr->value != NULL)
-    return (attr);
-
-  snprintf(spec, specsize, "%s.%s", media, resolution);
-  fprintf(stderr, "DEBUG2: Looking for \"*%s %s\"...\n", name, spec);
-  if ((attr = ppdFindAttr(ppd, name, spec)) != NULL && attr->value != NULL)
-    return (attr);
-
-  strlcpy(spec, media, specsize);
-  fprintf(stderr, "DEBUG2: Looking for \"*%s %s\"...\n", name, spec);
-  if ((attr = ppdFindAttr(ppd, name, spec)) != NULL && attr->value != NULL)
-    return (attr);
-
-  strlcpy(spec, resolution, specsize);
-  fprintf(stderr, "DEBUG2: Looking for \"*%s %s\"...\n", name, spec);
-  if ((attr = ppdFindAttr(ppd, name, spec)) != NULL && attr->value != NULL)
-    return (attr);
-
-  spec[0] = '\0';
-  fprintf(stderr, "DEBUG2: Looking for \"*%s\"...\n", name);
-  if ((attr = ppdFindAttr(ppd, name, spec)) != NULL && attr->value != NULL)
-    return (attr);
-
-  fprintf(stderr, "DEBUG2: No instance of \"*%s\" found...\n", name);
-
-  return (NULL);
-}
-
-
-/*
- * End of "$Id: attr.c 9042 2010-03-24 00:45:34Z mike $".
- */
diff --git a/driver/check.c b/driver/check.c
deleted file mode 100644 (file)
index 613530c..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * "$Id: check.c 7306 2008-02-15 00:52:38Z mike $"
- *
- *   Byte checking routines for CUPS.
- *
- *   Copyright 2007 by Apple Inc.
- *   Copyright 1993-2005 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- * Contents:
- *
- *   cupsCheckBytes() - Check to see if all bytes are zero.
- *   cupsCheckValue() - Check to see if all bytes match the given value.
- */
-
-/*
- * Include necessary headers.
- */
-
-#include "driver.h"
-
-
-/*
- * 'cupsCheckBytes()' - Check to see if all bytes are zero.
- */
-
-int                                            /* O - 1 if they match */
-cupsCheckBytes(const unsigned char *bytes,     /* I - Bytes to check */
-               int                 length)     /* I - Number of bytes to check */
-{
-  while (length > 7)
-  {
-    if (*bytes++)
-      return (0);
-    if (*bytes++)
-      return (0);
-    if (*bytes++)
-      return (0);
-    if (*bytes++)
-      return (0);
-    if (*bytes++)
-      return (0);
-    if (*bytes++)
-      return (0);
-    if (*bytes++)
-      return (0);
-    if (*bytes++)
-      return (0);
-
-    length -= 8;
-  }
-
-  while (length > 0)
-    if (*bytes++)
-      return (0);
-    else
-      length --;
-
-  return (1);
-}
-
-
-/*
- * 'cupsCheckValue()' - Check to see if all bytes match the given value.
- */
-
-int                                            /* O - 1 if they match */
-cupsCheckValue(const unsigned char *bytes,     /* I - Bytes to check */
-               int                 length,     /* I - Number of bytes to check */
-              const unsigned char value)       /* I - Value to check */
-{
-  while (length > 7)
-  {
-    if (*bytes++ != value)
-      return (0);
-    if (*bytes++ != value)
-      return (0);
-    if (*bytes++ != value)
-      return (0);
-    if (*bytes++ != value)
-      return (0);
-    if (*bytes++ != value)
-      return (0);
-    if (*bytes++ != value)
-      return (0);
-    if (*bytes++ != value)
-      return (0);
-    if (*bytes++ != value)
-      return (0);
-
-    length -= 8;
-  }
-
-  while (length > 0)
-    if (*bytes++ != value)
-      return (0);
-    else
-      length --;
-
-  return (1);
-}
-
-
-/*
- * End of "$Id: check.c 7306 2008-02-15 00:52:38Z mike $".
- */
diff --git a/driver/cmyk.c b/driver/cmyk.c
deleted file mode 100644 (file)
index 757584b..0000000
+++ /dev/null
@@ -1,1955 +0,0 @@
-/*
- * "$Id: cmyk.c 9042 2010-03-24 00:45:34Z mike $"
- *
- *   CMYK color separation code for CUPS.
- *
- *   Copyright 2007-2010 by Apple Inc.
- *   Copyright 1993-2005 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- * Contents:
- *
- *   cupsCMYKDelete()      - Delete a color separation.
- *   cupsCMYKDoBlack()     - Do a black separation...
- *   cupsCMYKDoCMYK()      - Do a CMYK separation...
- *   cupsCMYKDoGray()      - Do a grayscale separation...
- *   cupsCMYKDoRGB()       - Do an sRGB separation...
- *   cupsCMYKLoad()        - Load a CMYK color profile from PPD attributes.
- *   cupsCMYKNew()         - Create a new CMYK color separation.
- *   cupsCMYKSetBlack()    - Set the transition range for CMY to black.
- *   cupsCMYKSetCurve()    - Set a color transform curve using points.
- *   cupsCMYKSetGamma()    - Set a color transform curve using gamma and
- *                           density.
- *   cupsCMYKSetInkLimit() - Set the limit on the amount of ink.
- *   cupsCMYKSetLtDk()     - Set light/dark ink transforms.
- */
-
-/*
- * Include necessary headers.
- */
-
-#include "driver.h"
-#include <cups/string-private.h>
-
-
-/*
- * 'cupsCMYKDelete()' - Delete a color separation.
- */
-
-void
-cupsCMYKDelete(cups_cmyk_t *cmyk)      /* I - Color separation */
-{
- /*
-  * Range check input...
-  */
-
-  if (cmyk == NULL)
-    return;
-
- /*
-  * Free memory used...
-  */
-
-  free(cmyk->channels[0]);
-  free(cmyk);
-}
-
-
-/*
- * 'cupsCMYKDoBlack()' - Do a black separation...
- */
-
-void
-cupsCMYKDoBlack(const cups_cmyk_t   *cmyk,
-                                       /* I - Color separation */
-               const unsigned char *input,
-                                       /* I - Input grayscale pixels */
-               short               *output,
-                                       /* O - Output Device-N pixels */
-               int                 num_pixels)
-                                       /* I - Number of pixels */
-{
-  int                  k;              /* Current black value */
-  const short          **channels;     /* Copy of channel LUTs */
-  int                  ink,            /* Amount of ink */
-                       ink_limit;      /* Ink limit from separation */
-
-
- /*
-  * Range check input...
-  */
-
-  if (cmyk == NULL || input == NULL || output == NULL || num_pixels <= 0)
-    return;
-
- /*
-  * Loop through it all...
-  */
-
-  channels  = (const short **)cmyk->channels;
-  ink_limit = cmyk->ink_limit;
-
-  switch (cmyk->num_channels)
-  {
-    case 1 : /* Black */
-        while (num_pixels > 0)
-        {
-        /*
-         * Get the input black value and then set the corresponding color
-         * channel values...
-         */
-
-         k         = *input++;
-         *output++ = channels[0][k];
-
-          num_pixels --;
-        }
-       break;
-
-    case 2 : /* Black, light black */
-        while (num_pixels > 0)
-        {
-        /*
-         * Get the input black value and then set the corresponding color
-         * channel values...
-         */
-
-         k         = *input++;
-         output[0] = channels[0][k];
-         output[1] = channels[1][k];
-
-          if (ink_limit)
-         {
-           ink = output[0] + output[1];
-
-           if (ink > ink_limit)
-           {
-             output[0] = ink_limit * output[0] / ink;
-             output[1] = ink_limit * output[1] / ink;
-           }
-         }
-
-          output += 2;
-          num_pixels --;
-        }
-       break;
-
-    case 3 : /* CMY */
-        while (num_pixels > 0)
-        {
-        /*
-         * Get the input black value and then set the corresponding color
-         * channel values...
-         */
-
-         k         = *input++;
-         output[0] = channels[0][k];
-         output[1] = channels[1][k];
-         output[2] = channels[2][k];
-
-          if (ink_limit)
-         {
-           ink = output[0] + output[1] + output[2];
-
-           if (ink > ink_limit)
-           {
-             output[0] = ink_limit * output[0] / ink;
-             output[1] = ink_limit * output[1] / ink;
-             output[2] = ink_limit * output[2] / ink;
-           }
-         }
-
-          output += 3;
-          num_pixels --;
-        }
-       break;
-
-    case 4 : /* CMYK */
-        while (num_pixels > 0)
-        {
-        /*
-         * Get the input black value and then set the corresponding color
-         * channel values...
-         */
-
-         k         = *input++;
-         *output++ = 0;
-         *output++ = 0;
-         *output++ = 0;
-         *output++ = channels[3][k];
-
-          num_pixels --;
-        }
-       break;
-
-    case 6 : /* CcMmYK */
-        while (num_pixels > 0)
-        {
-        /*
-         * Get the input black value and then set the corresponding color
-         * channel values...
-         */
-
-         k         = *input++;
-         *output++ = 0;
-         *output++ = 0;
-         *output++ = 0;
-         *output++ = 0;
-         *output++ = 0;
-         *output++ = channels[5][k];
-
-          num_pixels --;
-        }
-       break;
-
-    case 7 : /* CcMmYKk */
-        while (num_pixels > 0)
-        {
-        /*
-         * Get the input black value and then set the corresponding color
-         * channel values...
-         */
-
-         k         = *input++;
-         output[0] = 0;
-         output[1] = 0;
-         output[2] = 0;
-         output[3] = 0;
-         output[4] = 0;
-         output[5] = channels[5][k];
-         output[6] = channels[6][k];
-
-          if (ink_limit)
-         {
-           ink = output[5] + output[6];
-
-           if (ink > ink_limit)
-           {
-             output[5] = ink_limit * output[5] / ink;
-             output[6] = ink_limit * output[6] / ink;
-           }
-         }
-
-          output += 7;
-          num_pixels --;
-        }
-       break;
-  }
-}
-
-
-/*
- * 'cupsCMYKDoCMYK()' - Do a CMYK separation...
- */
-
-void
-cupsCMYKDoCMYK(const cups_cmyk_t   *cmyk,
-                                       /* I - Color separation */
-              const unsigned char *input,
-                                       /* I - Input grayscale pixels */
-              short               *output,
-                                       /* O - Output Device-N pixels */
-              int                 num_pixels)
-                                       /* I - Number of pixels */
-{
-  int                  c,              /* Current cyan value */
-                       m,              /* Current magenta value */
-                       y,              /* Current yellow value */
-                       k;              /* Current black value */
-  const short          **channels;     /* Copy of channel LUTs */
-  int                  ink,            /* Amount of ink */
-                       ink_limit;      /* Ink limit from separation */
-
-
- /*
-  * Range check input...
-  */
-
-  if (cmyk == NULL || input == NULL || output == NULL || num_pixels <= 0)
-    return;
-
- /*
-  * Loop through it all...
-  */
-
-  channels  = (const short **)cmyk->channels;
-  ink_limit = cmyk->ink_limit;
-
-  switch (cmyk->num_channels)
-  {
-    case 1 : /* Black */
-        while (num_pixels > 0)
-        {
-        /*
-         * Get the input black value and then set the corresponding color
-         * channel values...
-         */
-
-         c = *input++;
-         m = *input++;
-         y = *input++;
-         k = *input++ + (c * 31 + m * 61 + y * 8) / 100;
-
-         if (k < 255)
-           *output++ = channels[0][k];
-         else
-           *output++ = channels[0][255];
-
-          num_pixels --;
-        }
-       break;
-
-    case 2 : /* Black, light black */
-        while (num_pixels > 0)
-        {
-        /*
-         * Get the input black value and then set the corresponding color
-         * channel values...
-         */
-
-         c = *input++;
-         m = *input++;
-         y = *input++;
-         k = *input++ + (c * 31 + m * 61 + y * 8) / 100;
-
-         if (k < 255)
-         {
-           output[0] = channels[0][k];
-           output[1] = channels[1][k];
-         }
-         else
-         {
-           output[0] = channels[0][255];
-           output[1] = channels[1][255];
-         }
-
-          if (ink_limit)
-         {
-           ink = output[0] + output[1];
-
-           if (ink > ink_limit)
-           {
-             output[0] = ink_limit * output[0] / ink;
-             output[1] = ink_limit * output[1] / ink;
-           }
-         }
-
-          output += 2;
-          num_pixels --;
-        }
-       break;
-
-    case 3 : /* CMY */
-        while (num_pixels > 0)
-        {
-        /*
-         * Get the input black value and then set the corresponding color
-         * channel values...
-         */
-
-         c = *input++;
-         m = *input++;
-         y = *input++;
-         k = *input++;
-         c += k;
-         m += k;
-         y += k;
-
-         if (c < 255)
-           output[0] = channels[0][c];
-         else
-           output[0] = channels[0][255];
-
-         if (m < 255)
-           output[1] = channels[1][m];
-         else
-           output[1] = channels[1][255];
-
-         if (y < 255)
-           output[2] = channels[2][y];
-         else
-           output[2] = channels[2][255];
-
-          if (ink_limit)
-         {
-           ink = output[0] + output[1] + output[2];
-
-           if (ink > ink_limit)
-           {
-             output[0] = ink_limit * output[0] / ink;
-             output[1] = ink_limit * output[1] / ink;
-             output[2] = ink_limit * output[2] / ink;
-           }
-         }
-
-          output += 3;
-          num_pixels --;
-        }
-       break;
-
-    case 4 : /* CMYK */
-        while (num_pixels > 0)
-        {
-        /*
-         * Get the input black value and then set the corresponding color
-         * channel values...
-         */
-
-         c         = *input++;
-         m         = *input++;
-         y         = *input++;
-         k         = *input++;
-
-         output[0] = channels[0][c];
-         output[1] = channels[1][m];
-         output[2] = channels[2][y];
-         output[3] = channels[3][k];
-
-          if (ink_limit)
-         {
-           ink = output[0] + output[1] + output[2] + output[3];
-
-           if (ink > ink_limit)
-           {
-             output[0] = ink_limit * output[0] / ink;
-             output[1] = ink_limit * output[1] / ink;
-             output[2] = ink_limit * output[2] / ink;
-             output[3] = ink_limit * output[3] / ink;
-           }
-         }
-
-          output += 4;
-          num_pixels --;
-        }
-       break;
-
-    case 6 : /* CcMmYK */
-        while (num_pixels > 0)
-        {
-        /*
-         * Get the input black value and then set the corresponding color
-         * channel values...
-         */
-
-         c         = *input++;
-         m         = *input++;
-         y         = *input++;
-         k         = *input++;
-
-         output[0] = channels[0][c];
-         output[1] = channels[1][c];
-         output[2] = channels[2][m];
-         output[3] = channels[3][m];
-         output[4] = channels[4][y];
-         output[5] = channels[5][k];
-
-          if (ink_limit)
-         {
-           ink = output[0] + output[1] + output[2] + output[3] +
-                 output[4] + output[5];
-
-           if (ink > ink_limit)
-           {
-             output[0] = ink_limit * output[0] / ink;
-             output[1] = ink_limit * output[1] / ink;
-             output[2] = ink_limit * output[2] / ink;
-             output[3] = ink_limit * output[3] / ink;
-             output[4] = ink_limit * output[4] / ink;
-             output[5] = ink_limit * output[5] / ink;
-           }
-         }
-
-          output += 6;
-          num_pixels --;
-        }
-       break;
-
-    case 7 : /* CcMmYKk */
-        while (num_pixels > 0)
-        {
-        /*
-         * Get the input black value and then set the corresponding color
-         * channel values...
-         */
-
-         c         = *input++;
-         m         = *input++;
-         y         = *input++;
-         k         = *input++;
-
-         output[0] = channels[0][c];
-         output[1] = channels[1][c];
-         output[2] = channels[2][m];
-         output[3] = channels[3][m];
-         output[4] = channels[4][y];
-         output[5] = channels[5][k];
-         output[6] = channels[6][k];
-
-          if (ink_limit)
-         {
-           ink = output[0] + output[1] + output[2] + output[3] +
-                 output[4] + output[5] + output[6];
-
-           if (ink > ink_limit)
-           {
-             output[0] = ink_limit * output[0] / ink;
-             output[1] = ink_limit * output[1] / ink;
-             output[2] = ink_limit * output[2] / ink;
-             output[3] = ink_limit * output[3] / ink;
-             output[4] = ink_limit * output[4] / ink;
-             output[5] = ink_limit * output[5] / ink;
-             output[6] = ink_limit * output[6] / ink;
-           }
-         }
-
-          output += 7;
-          num_pixels --;
-        }
-       break;
-  }
-}
-
-
-/*
- * 'cupsCMYKDoGray()' - Do a grayscale separation...
- */
-
-void
-cupsCMYKDoGray(const cups_cmyk_t   *cmyk,
-                                       /* I - Color separation */
-              const unsigned char *input,
-                                       /* I - Input grayscale pixels */
-              short               *output,
-                                       /* O - Output Device-N pixels */
-              int                 num_pixels)
-                                       /* I - Number of pixels */
-{
-  int                  k,              /* Current black value */
-                       kc;             /* Current black color value */
-  const short          **channels;     /* Copy of channel LUTs */
-  int                  ink,            /* Amount of ink */
-                       ink_limit;      /* Ink limit from separation */
-
-
- /*
-  * Range check input...
-  */
-
-  if (cmyk == NULL || input == NULL || output == NULL || num_pixels <= 0)
-    return;
-
- /*
-  * Loop through it all...
-  */
-
-  channels  = (const short **)cmyk->channels;
-  ink_limit = cmyk->ink_limit;
-
-  switch (cmyk->num_channels)
-  {
-    case 1 : /* Black */
-        while (num_pixels > 0)
-        {
-        /*
-         * Get the input black value and then set the corresponding color
-         * channel values...
-         */
-
-         k         = cups_scmy_lut[*input++];
-         *output++ = channels[0][k];
-
-          num_pixels --;
-        }
-       break;
-
-    case 2 : /* Black, light black */
-        while (num_pixels > 0)
-        {
-        /*
-         * Get the input black value and then set the corresponding color
-         * channel values...
-         */
-
-         k         = cups_scmy_lut[*input++];
-         output[0] = channels[0][k];
-         output[1] = channels[1][k];
-
-          if (ink_limit)
-         {
-           ink = output[0] + output[1];
-
-           if (ink > ink_limit)
-           {
-             output[0] = ink_limit * output[0] / ink;
-             output[1] = ink_limit * output[1] / ink;
-           }
-         }
-
-          output += 2;
-          num_pixels --;
-        }
-       break;
-
-    case 3 : /* CMY */
-        while (num_pixels > 0)
-        {
-        /*
-         * Get the input black value and then set the corresponding color
-         * channel values...
-         */
-
-         k         = cups_scmy_lut[*input++];
-         output[0] = channels[0][k];
-         output[1] = channels[1][k];
-         output[2] = channels[2][k];
-
-          if (ink_limit)
-         {
-           ink = output[0] + output[1] + output[2];
-
-           if (ink > ink_limit)
-           {
-             output[0] = ink_limit * output[0] / ink;
-             output[1] = ink_limit * output[1] / ink;
-             output[2] = ink_limit * output[2] / ink;
-           }
-         }
-
-          output += 3;
-          num_pixels --;
-        }
-       break;
-
-    case 4 : /* CMYK */
-        while (num_pixels > 0)
-        {
-        /*
-         * Get the input black value and then set the corresponding color
-         * channel values...
-         */
-
-         k         = cups_scmy_lut[*input++];
-         kc        = cmyk->color_lut[k];
-         k         = cmyk->black_lut[k];
-         output[0] = channels[0][kc];
-         output[1] = channels[1][kc];
-         output[2] = channels[2][kc];
-         output[3] = channels[3][k];
-
-          if (ink_limit)
-         {
-           ink = output[0] + output[1] + output[2] + output[3];
-
-           if (ink > ink_limit)
-           {
-             output[0] = ink_limit * output[0] / ink;
-             output[1] = ink_limit * output[1] / ink;
-             output[2] = ink_limit * output[2] / ink;
-             output[3] = ink_limit * output[3] / ink;
-           }
-         }
-
-          output += 4;
-          num_pixels --;
-        }
-       break;
-
-    case 6 : /* CcMmYK */
-        while (num_pixels > 0)
-        {
-        /*
-         * Get the input black value and then set the corresponding color
-         * channel values...
-         */
-
-         k         = cups_scmy_lut[*input++];
-         kc        = cmyk->color_lut[k];
-         k         = cmyk->black_lut[k];
-         output[0] = channels[0][kc];
-         output[1] = channels[1][kc];
-         output[2] = channels[2][kc];
-         output[3] = channels[3][kc];
-         output[4] = channels[4][kc];
-         output[5] = channels[5][k];
-
-          if (ink_limit)
-         {
-           ink = output[0] + output[1] + output[2] + output[3] +
-                 output[4] + output[5];
-
-           if (ink > ink_limit)
-           {
-             output[0] = ink_limit * output[0] / ink;
-             output[1] = ink_limit * output[1] / ink;
-             output[2] = ink_limit * output[2] / ink;
-             output[3] = ink_limit * output[3] / ink;
-             output[4] = ink_limit * output[4] / ink;
-             output[5] = ink_limit * output[5] / ink;
-           }
-         }
-
-          output += 6;
-          num_pixels --;
-        }
-       break;
-
-    case 7 : /* CcMmYKk */
-        while (num_pixels > 0)
-        {
-        /*
-         * Get the input black value and then set the corresponding color
-         * channel values...
-         */
-
-         k         = cups_scmy_lut[*input++];
-         kc        = cmyk->color_lut[k];
-         k         = cmyk->black_lut[k];
-         output[0] = channels[0][kc];
-         output[1] = channels[1][kc];
-         output[2] = channels[2][kc];
-         output[3] = channels[3][kc];
-         output[4] = channels[4][kc];
-         output[5] = channels[5][k];
-         output[6] = channels[6][k];
-
-          if (ink_limit)
-         {
-           ink = output[0] + output[1] + output[2] + output[3] +
-                 output[4] + output[5] + output[6];
-
-           if (ink > ink_limit)
-           {
-             output[0] = ink_limit * output[0] / ink;
-             output[1] = ink_limit * output[1] / ink;
-             output[2] = ink_limit * output[2] / ink;
-             output[3] = ink_limit * output[3] / ink;
-             output[4] = ink_limit * output[4] / ink;
-             output[5] = ink_limit * output[5] / ink;
-             output[6] = ink_limit * output[6] / ink;
-           }
-         }
-
-          output += 7;
-          num_pixels --;
-        }
-       break;
-  }
-}
-
-
-/*
- * 'cupsCMYKDoRGB()' - Do an sRGB separation...
- */
-
-void
-cupsCMYKDoRGB(const cups_cmyk_t   *cmyk,
-                                       /* I - Color separation */
-             const unsigned char *input,
-                                       /* I - Input grayscale pixels */
-             short               *output,
-                                       /* O - Output Device-N pixels */
-             int                 num_pixels)
-                                       /* I - Number of pixels */
-{
-  int                  c,              /* Current cyan value */
-                       m,              /* Current magenta value */
-                       y,              /* Current yellow value */
-                       k,              /* Current black value */
-                       kc,             /* Current black color value */
-                       km;             /* Maximum black value */
-  const short          **channels;     /* Copy of channel LUTs */
-  int                  ink,            /* Amount of ink */
-                       ink_limit;      /* Ink limit from separation */
-
-
- /*
-  * Range check input...
-  */
-
-  if (cmyk == NULL || input == NULL || output == NULL || num_pixels <= 0)
-    return;
-
- /*
-  * Loop through it all...
-  */
-
-  channels  = (const short **)cmyk->channels;
-  ink_limit = cmyk->ink_limit;
-
-  switch (cmyk->num_channels)
-  {
-    case 1 : /* Black */
-        while (num_pixels > 0)
-        {
-        /*
-         * Get the input black value and then set the corresponding color
-         * channel values...
-         */
-
-         c = cups_scmy_lut[*input++];
-         m = cups_scmy_lut[*input++];
-         y = cups_scmy_lut[*input++];
-         k = (c * 31 + m * 61 + y * 8) / 100;
-
-          *output++ = channels[0][k];
-
-          num_pixels --;
-        }
-       break;
-
-    case 2 : /* Black, light black */
-        while (num_pixels > 0)
-        {
-        /*
-         * Get the input black value and then set the corresponding color
-         * channel values...
-         */
-
-         c = cups_scmy_lut[*input++];
-         m = cups_scmy_lut[*input++];
-         y = cups_scmy_lut[*input++];
-         k = (c * 31 + m * 61 + y * 8) / 100;
-
-          output[0] = channels[0][k];
-          output[1] = channels[1][k];
-
-          if (ink_limit)
-         {
-           ink = output[0] + output[1];
-
-           if (ink > ink_limit)
-           {
-             output[0] = ink_limit * output[0] / ink;
-             output[1] = ink_limit * output[1] / ink;
-           }
-         }
-
-          output += 2;
-          num_pixels --;
-        }
-       break;
-
-    case 3 : /* CMY */
-        while (num_pixels > 0)
-        {
-        /*
-         * Get the input black value and then set the corresponding color
-         * channel values...
-         */
-
-         c = cups_scmy_lut[*input++];
-         m = cups_scmy_lut[*input++];
-         y = cups_scmy_lut[*input++];
-
-         output[0] = channels[0][c];
-          output[1] = channels[1][m];
-         output[2] = channels[2][y];
-
-          if (ink_limit)
-         {
-           ink = output[0] + output[1] + output[2];
-
-           if (ink > ink_limit)
-           {
-             output[0] = ink_limit * output[0] / ink;
-             output[1] = ink_limit * output[1] / ink;
-             output[2] = ink_limit * output[2] / ink;
-           }
-         }
-
-          output += 3;
-          num_pixels --;
-        }
-       break;
-
-    case 4 : /* CMYK */
-        while (num_pixels > 0)
-        {
-        /*
-         * Get the input black value and then set the corresponding color
-         * channel values...
-         */
-
-         c  = cups_scmy_lut[*input++];
-         m  = cups_scmy_lut[*input++];
-         y  = cups_scmy_lut[*input++];
-         k  = min(c, min(m, y));
-
-         if ((km = max(c, max(m, y))) > k)
-            k = k * k * k / (km * km);
-
-         kc = cmyk->color_lut[k] - k;
-         k  = cmyk->black_lut[k];
-         c  += kc;
-         m  += kc;
-         y  += kc;
-
-         output[0] = channels[0][c];
-          output[1] = channels[1][m];
-         output[2] = channels[2][y];
-         output[3] = channels[3][k];
-
-          if (ink_limit)
-         {
-           ink = output[0] + output[1] + output[2] + output[3];
-
-           if (ink > ink_limit)
-           {
-             output[0] = ink_limit * output[0] / ink;
-             output[1] = ink_limit * output[1] / ink;
-             output[2] = ink_limit * output[2] / ink;
-             output[3] = ink_limit * output[3] / ink;
-           }
-         }
-
-          output += 4;
-          num_pixels --;
-        }
-       break;
-
-    case 6 : /* CcMmYK */
-        while (num_pixels > 0)
-        {
-        /*
-         * Get the input black value and then set the corresponding color
-         * channel values...
-         */
-
-         c  = cups_scmy_lut[*input++];
-         m  = cups_scmy_lut[*input++];
-         y  = cups_scmy_lut[*input++];
-         k  = min(c, min(m, y));
-
-         if ((km = max(c, max(m, y))) > k)
-            k = k * k * k / (km * km);
-
-         kc = cmyk->color_lut[k] - k;
-         k  = cmyk->black_lut[k];
-         c  += kc;
-         m  += kc;
-         y  += kc;
-
-         output[0] = channels[0][c];
-         output[1] = channels[1][c];
-         output[2] = channels[2][m];
-         output[3] = channels[3][m];
-         output[4] = channels[4][y];
-         output[5] = channels[5][k];
-
-          if (ink_limit)
-         {
-           ink = output[0] + output[1] + output[2] + output[3] +
-                 output[4] + output[5];
-
-           if (ink > ink_limit)
-           {
-             output[0] = ink_limit * output[0] / ink;
-             output[1] = ink_limit * output[1] / ink;
-             output[2] = ink_limit * output[2] / ink;
-             output[3] = ink_limit * output[3] / ink;
-             output[4] = ink_limit * output[4] / ink;
-             output[5] = ink_limit * output[5] / ink;
-           }
-         }
-
-          output += 6;
-          num_pixels --;
-        }
-       break;
-
-    case 7 : /* CcMmYKk */
-        while (num_pixels > 0)
-        {
-        /*
-         * Get the input black value and then set the corresponding color
-         * channel values...
-         */
-
-         c  = cups_scmy_lut[*input++];
-         m  = cups_scmy_lut[*input++];
-         y  = cups_scmy_lut[*input++];
-         k  = min(c, min(m, y));
-
-         if ((km = max(c, max(m, y))) > k)
-            k = k * k * k / (km * km);
-
-         kc = cmyk->color_lut[k] - k;
-         k  = cmyk->black_lut[k];
-         c  += kc;
-         m  += kc;
-         y  += kc;
-
-         output[0] = channels[0][c];
-         output[1] = channels[1][c];
-         output[2] = channels[2][m];
-         output[3] = channels[3][m];
-         output[4] = channels[4][y];
-         output[5] = channels[5][k];
-         output[6] = channels[6][k];
-
-          if (ink_limit)
-         {
-           ink = output[0] + output[1] + output[2] + output[3] +
-                 output[4] + output[5] + output[6];
-
-           if (ink > ink_limit)
-           {
-             output[0] = ink_limit * output[0] / ink;
-             output[1] = ink_limit * output[1] / ink;
-             output[2] = ink_limit * output[2] / ink;
-             output[3] = ink_limit * output[3] / ink;
-             output[4] = ink_limit * output[4] / ink;
-             output[5] = ink_limit * output[5] / ink;
-             output[6] = ink_limit * output[6] / ink;
-           }
-         }
-
-          output += 7;
-          num_pixels --;
-        }
-       break;
-  }
-}
-
-
-/*
- * 'cupsCMYKLoad()' - Load a CMYK color profile from PPD attributes.
- */
-
-cups_cmyk_t *                          /* O - CMYK color separation */
-cupsCMYKLoad(ppd_file_t *ppd,          /* I - PPD file */
-            const char *colormodel,    /* I - ColorModel value */
-            const char *media,         /* I - MediaType value */
-            const char *resolution)    /* I - Resolution value */
-{
-  cups_cmyk_t  *cmyk;                  /* CMYK color separation */
-  char         spec[PPD_MAX_NAME];     /* Profile name */
-  ppd_attr_t   *attr;                  /* Attribute from PPD file */
-  int          num_channels;           /* Number of color components */
-  float                gamval,                 /* Gamma correction value */
-               density,                /* Density value */
-               light,                  /* Light ink limit */
-               dark,                   /* Light ink cut-off */
-               lower,                  /* Start of black ink */
-               upper;                  /* End of color ink */
-  int          num_xypoints;           /* Number of X,Y points */
-  float                xypoints[100 * 2],      /* X,Y points */
-               *xyptr;                 /* Current X,Y point */
-
-
- /*
-  * Range check input...
-  */
-
-  if (ppd == NULL || colormodel == NULL || resolution == NULL || media == NULL)
-    return (NULL);
-
- /*
-  * Find the following attributes:
-  *
-  *     cupsAllGamma          - Set default curve using gamma + density
-  *     cupsAllXY             - Set default curve using XY points
-  *     cupsBlackGamma        - Set black curve using gamma + density
-  *     cupsBlackGeneration   - Set black generation
-  *     cupsBlackLightDark    - Set black light/dark transition
-  *     cupsBlackXY           - Set black curve using XY points
-  *     cupsCyanGamma         - Set cyan curve using gamma + density
-  *     cupsCyanLightDark     - Set cyan light/dark transition
-  *     cupsCyanXY            - Set cyan curve using XY points
-  *     cupsInkChannels       - Set number of color channels
-  *     cupsInkLimit          - Set total ink limit
-  *     cupsLightBlackGamma   - Set light black curve using gamma + density
-  *     cupsLightBlackXY      - Set light black curve using XY points
-  *     cupsLightCyanGamma    - Set light cyan curve using gamma + density
-  *     cupsLightCyanXY       - Set light cyan curve using XY points
-  *     cupsLightMagentaGamma - Set light magenta curve using gamma + density
-  *     cupsLightMagentaXY    - Set light magenta curve using XY points
-  *     cupsMagentaGamma      - Set magenta curve using gamma + density
-  *     cupsMagentaLightDark  - Set magenta light/dark transition
-  *     cupsMagentaXY         - Set magenta curve using XY points
-  *     cupsYellowGamma       - Set yellow curve using gamma + density
-  *     cupsYellowXY          - Set yellow curve using XY points
-  *
-  * The only required attribute is cupsInkChannels.
-  *
-  * The *XY attributes have precedence over the *Gamma attributes, and
-  * the *Light* attributes have precedence over the corresponding
-  * *LightDark* attributes.
-  */
-
- /*
-  * Get the required cupsInkChannels attribute...
-  */
-
-  if ((attr = cupsFindAttr(ppd, "cupsInkChannels", colormodel, media,
-                           resolution, spec, sizeof(spec))) == NULL)
-    return (NULL);
-
-  num_channels = atoi(attr->value);
-
-  if (num_channels < 1 || num_channels > 7 || num_channels == 5)
-    return (NULL);
-
-  if ((cmyk = cupsCMYKNew(num_channels)) == NULL)
-    return (NULL);
-
- /*
-  * Get the optional cupsInkLimit attribute...
-  */
-
-  if ((attr = cupsFindAttr(ppd, "cupsInkLimit", colormodel, media,
-                           resolution, spec, sizeof(spec))) != NULL)
-    cupsCMYKSetInkLimit(cmyk, atof(attr->value));
-
- /*
-  * Get the optional cupsBlackGeneration attribute...
-  */
-
-  if ((attr = cupsFindAttr(ppd, "cupsBlackGeneration", colormodel, media,
-                           resolution, spec, sizeof(spec))) != NULL)
-  {
-    if (sscanf(attr->value, "%f%f", &lower, &upper) == 2)
-      cupsCMYKSetBlack(cmyk, lower, upper);
-  }
-
- /*
-  * Get the optional cupsBlackXY or cupsBlackGamma attributes...
-  */
-
-  if (num_channels != 3)
-  {
-    if ((attr = cupsFindAttr(ppd, "cupsBlackXY", colormodel, media,
-                             resolution, spec, sizeof(spec))) != NULL)
-    {
-      for (num_xypoints = 0, xyptr = xypoints;
-           attr != NULL && attr->value != NULL && num_xypoints < 100;
-          attr = ppdFindNextAttr(ppd, "cupsBlackXY", spec))
-       if (sscanf(attr->value, "%f%f", xyptr, xyptr + 1) == 2)
-       {
-          num_xypoints ++;
-         xyptr += 2;
-       }
-
-      switch (num_channels)
-      {
-       case 1 :
-       case 2 :
-            cupsCMYKSetCurve(cmyk, 0, num_xypoints, xypoints);
-           break;
-       case 4 :
-            cupsCMYKSetCurve(cmyk, 3, num_xypoints, xypoints);
-           break;
-       case 6 :
-       case 7 :
-            cupsCMYKSetCurve(cmyk, 5, num_xypoints, xypoints);
-           break;
-      }
-    }
-    else if ((attr = cupsFindAttr(ppd, "cupsBlackGamma", colormodel,
-                                  media, resolution, spec,
-                                 sizeof(spec))) != NULL)
-    {
-      if (sscanf(attr->value, "%f%f", &gamval, &density) == 2)
-       switch (num_channels)
-       {
-         case 1 :
-         case 2 :
-              cupsCMYKSetGamma(cmyk, 0, gamval, density);
-             break;
-         case 4 :
-              cupsCMYKSetGamma(cmyk, 3, gamval, density);
-             break;
-         case 6 :
-         case 7 :
-              cupsCMYKSetGamma(cmyk, 5, gamval, density);
-             break;
-       }
-    }
-    else if ((attr = cupsFindAttr(ppd, "cupsAllXY", colormodel, media,
-                                  resolution, spec, sizeof(spec))) != NULL)
-    {
-      for (num_xypoints = 0, xyptr = xypoints;
-           attr != NULL && attr->value != NULL && num_xypoints < 100;
-          attr = ppdFindNextAttr(ppd, "cupsAllXY", spec))
-       if (sscanf(attr->value, "%f%f", xyptr, xyptr + 1) == 2)
-       {
-          num_xypoints ++;
-         xyptr += 2;
-       }
-
-      switch (num_channels)
-      {
-       case 1 :
-       case 2 :
-            cupsCMYKSetCurve(cmyk, 0, num_xypoints, xypoints);
-           break;
-       case 4 :
-            cupsCMYKSetCurve(cmyk, 3, num_xypoints, xypoints);
-           break;
-       case 6 :
-       case 7 :
-            cupsCMYKSetCurve(cmyk, 5, num_xypoints, xypoints);
-           break;
-      }
-    }
-    else if ((attr = cupsFindAttr(ppd, "cupsAllGamma", colormodel,
-                                  media, resolution, spec,
-                                 sizeof(spec))) != NULL &&
-             num_channels != 3)
-    {
-      if (sscanf(attr->value, "%f%f", &gamval, &density) == 2)
-       switch (num_channels)
-       {
-         case 1 :
-         case 2 :
-              cupsCMYKSetGamma(cmyk, 0, gamval, density);
-             break;
-         case 4 :
-              cupsCMYKSetGamma(cmyk, 3, gamval, density);
-             break;
-         case 6 :
-         case 7 :
-              cupsCMYKSetGamma(cmyk, 5, gamval, density);
-             break;
-       }
-    }
-  }
-
-  if (num_channels > 2)
-  {
-   /*
-    * Get the optional cupsCyanXY or cupsCyanGamma attributes...
-    */
-
-    if ((attr = cupsFindAttr(ppd, "cupsCyanXY", colormodel, media,
-                             resolution, spec, sizeof(spec))) != NULL)
-    {
-      for (num_xypoints = 0, xyptr = xypoints;
-           attr != NULL && attr->value != NULL && num_xypoints < 100;
-          attr = ppdFindNextAttr(ppd, "cupsCyanXY", spec))
-       if (sscanf(attr->value, "%f%f", xyptr, xyptr + 1) == 2)
-       {
-          num_xypoints ++;
-         xyptr += 2;
-       }
-
-      cupsCMYKSetCurve(cmyk, 0, num_xypoints, xypoints);
-    }
-    else if ((attr = cupsFindAttr(ppd, "cupsCyanGamma", colormodel, media,
-                                  resolution, spec, sizeof(spec))) != NULL)
-    {
-      if (sscanf(attr->value, "%f%f", &gamval, &density) == 2)
-       cupsCMYKSetGamma(cmyk, 0, gamval, density);
-    }
-    else if ((attr = cupsFindAttr(ppd, "cupsAllXY", colormodel, media,
-                                  resolution, spec, sizeof(spec))) != NULL)
-    {
-      for (num_xypoints = 0, xyptr = xypoints;
-           attr != NULL && attr->value != NULL && num_xypoints < 100;
-          attr = ppdFindNextAttr(ppd, "cupsAllXY", spec))
-       if (sscanf(attr->value, "%f%f", xyptr, xyptr + 1) == 2)
-       {
-          num_xypoints ++;
-         xyptr += 2;
-       }
-
-      cupsCMYKSetCurve(cmyk, 0, num_xypoints, xypoints);
-    }
-    else if ((attr = cupsFindAttr(ppd, "cupsAllGamma", colormodel, media,
-                                  resolution, spec, sizeof(spec))) != NULL)
-    {
-      if (sscanf(attr->value, "%f%f", &gamval, &density) == 2)
-       cupsCMYKSetGamma(cmyk, 0, gamval, density);
-    }
-
-   /*
-    * Get the optional cupsMagentaXY or cupsMagentaGamma attributes...
-    */
-
-    if ((attr = cupsFindAttr(ppd, "cupsMagentaXY", colormodel, media,
-                             resolution, spec, sizeof(spec))) != NULL)
-    {
-      for (num_xypoints = 0, xyptr = xypoints;
-           attr != NULL && attr->value != NULL && num_xypoints < 100;
-          attr = ppdFindNextAttr(ppd, "cupsMagentaXY", spec))
-       if (sscanf(attr->value, "%f%f", xyptr, xyptr + 1) == 2)
-       {
-          num_xypoints ++;
-         xyptr += 2;
-       }
-
-      switch (num_channels)
-      {
-       case 3 :
-       case 4 :
-            cupsCMYKSetCurve(cmyk, 1, num_xypoints, xypoints);
-           break;
-       case 6 :
-       case 7 :
-            cupsCMYKSetCurve(cmyk, 2, num_xypoints, xypoints);
-           break;
-      }
-    }
-    else if ((attr = cupsFindAttr(ppd, "cupsMagentaGamma", colormodel, media,
-                                  resolution, spec, sizeof(spec))) != NULL)
-    {
-      if (sscanf(attr->value, "%f%f", &gamval, &density) == 2)
-       switch (num_channels)
-       {
-         case 3 :
-         case 4 :
-              cupsCMYKSetGamma(cmyk, 1, gamval, density);
-             break;
-         case 6 :
-         case 7 :
-              cupsCMYKSetGamma(cmyk, 2, gamval, density);
-             break;
-       }
-    }
-    else if ((attr = cupsFindAttr(ppd, "cupsAllXY", colormodel, media,
-                                  resolution, spec, sizeof(spec))) != NULL)
-    {
-      for (num_xypoints = 0, xyptr = xypoints;
-           attr != NULL && attr->value != NULL && num_xypoints < 100;
-          attr = ppdFindNextAttr(ppd, "cupsAllXY", spec))
-       if (sscanf(attr->value, "%f%f", xyptr, xyptr + 1) == 2)
-       {
-          num_xypoints ++;
-         xyptr += 2;
-       }
-
-      switch (num_channels)
-      {
-       case 3 :
-       case 4 :
-            cupsCMYKSetCurve(cmyk, 1, num_xypoints, xypoints);
-           break;
-       case 6 :
-       case 7 :
-            cupsCMYKSetCurve(cmyk, 2, num_xypoints, xypoints);
-           break;
-      }
-    }
-    else if ((attr = cupsFindAttr(ppd, "cupsAllGamma", colormodel, media,
-                                  resolution, spec, sizeof(spec))) != NULL)
-    {
-      if (sscanf(attr->value, "%f%f", &gamval, &density) == 2)
-       switch (num_channels)
-       {
-         case 3 :
-         case 4 :
-              cupsCMYKSetGamma(cmyk, 1, gamval, density);
-             break;
-         case 6 :
-         case 7 :
-              cupsCMYKSetGamma(cmyk, 2, gamval, density);
-             break;
-       }
-    }
-
-   /*
-    * Get the optional cupsYellowXY or cupsYellowGamma attributes...
-    */
-
-    if ((attr = cupsFindAttr(ppd, "cupsYellowXY", colormodel, media,
-                             resolution, spec, sizeof(spec))) != NULL)
-    {
-      for (num_xypoints = 0, xyptr = xypoints;
-           attr != NULL && attr->value != NULL && num_xypoints < 100;
-          attr = ppdFindNextAttr(ppd, "cupsYellowXY", spec))
-       if (sscanf(attr->value, "%f%f", xyptr, xyptr + 1) == 2)
-       {
-          num_xypoints ++;
-         xyptr += 2;
-       }
-
-      switch (num_channels)
-      {
-       case 3 :
-       case 4 :
-            cupsCMYKSetCurve(cmyk, 2, num_xypoints, xypoints);
-           break;
-       case 6 :
-       case 7 :
-            cupsCMYKSetCurve(cmyk, 4, num_xypoints, xypoints);
-           break;
-      }
-    }
-    else if ((attr = cupsFindAttr(ppd, "cupsYellowGamma", colormodel, media,
-                                  resolution, spec, sizeof(spec))) != NULL)
-    {
-      if (sscanf(attr->value, "%f%f", &gamval, &density) == 2)
-       switch (num_channels)
-       {
-         case 3 :
-         case 4 :
-              cupsCMYKSetGamma(cmyk, 2, gamval, density);
-             break;
-         case 6 :
-         case 7 :
-              cupsCMYKSetGamma(cmyk, 4, gamval, density);
-             break;
-       }
-    }
-    else if ((attr = cupsFindAttr(ppd, "cupsAllXY", colormodel, media,
-                                  resolution, spec, sizeof(spec))) != NULL)
-    {
-      for (num_xypoints = 0, xyptr = xypoints;
-           attr != NULL && attr->value != NULL && num_xypoints < 100;
-          attr = ppdFindNextAttr(ppd, "cupsAllXY", spec))
-       if (sscanf(attr->value, "%f%f", xyptr, xyptr + 1) == 2)
-       {
-          num_xypoints ++;
-         xyptr += 2;
-       }
-
-      switch (num_channels)
-      {
-       case 3 :
-       case 4 :
-            cupsCMYKSetCurve(cmyk, 2, num_xypoints, xypoints);
-           break;
-       case 6 :
-       case 7 :
-            cupsCMYKSetCurve(cmyk, 4, num_xypoints, xypoints);
-           break;
-      }
-    }
-    else if ((attr = cupsFindAttr(ppd, "cupsAllGamma", colormodel, media,
-                                  resolution, spec, sizeof(spec))) != NULL)
-    {
-      if (sscanf(attr->value, "%f%f", &gamval, &density) == 2)
-       switch (num_channels)
-       {
-         case 3 :
-         case 4 :
-              cupsCMYKSetGamma(cmyk, 2, gamval, density);
-             break;
-         case 6 :
-         case 7 :
-              cupsCMYKSetGamma(cmyk, 4, gamval, density);
-             break;
-       }
-    }
-  }
-
- /*
-  * Get the optional cupsLightBlackXY, cupsLightBlackGamma, or
-  * cupsBlackLtDk attributes...
-  */
-
-  if (num_channels == 2 || num_channels == 7)
-  {
-    if ((attr = cupsFindAttr(ppd, "cupsLightBlackXY", colormodel, media,
-                             resolution, spec, sizeof(spec))) != NULL)
-    {
-      for (num_xypoints = 0, xyptr = xypoints;
-           attr != NULL && attr->value != NULL && num_xypoints < 100;
-          attr = ppdFindNextAttr(ppd, "cupsLightBlackXY", spec))
-       if (sscanf(attr->value, "%f%f", xyptr, xyptr + 1) == 2)
-       {
-          num_xypoints ++;
-         xyptr += 2;
-       }
-
-      switch (num_channels)
-      {
-       case 2 :
-            cupsCMYKSetCurve(cmyk, 1, num_xypoints, xypoints);
-           break;
-       case 7 :
-            cupsCMYKSetCurve(cmyk, 6, num_xypoints, xypoints);
-           break;
-      }
-    }
-    else if ((attr = cupsFindAttr(ppd, "cupsLightBlackGamma", colormodel,
-                                  media, resolution, spec,
-                                 sizeof(spec))) != NULL)
-    {
-      if (sscanf(attr->value, "%f%f", &gamval, &density) == 2)
-       switch (num_channels)
-       {
-         case 2 :
-              cupsCMYKSetGamma(cmyk, 1, gamval, density);
-             break;
-         case 7 :
-              cupsCMYKSetGamma(cmyk, 6, gamval, density);
-             break;
-       }
-    }
-    else if ((attr = cupsFindAttr(ppd, "cupsBlackLtDk", colormodel, media,
-                                  resolution, spec, sizeof(spec))) != NULL)
-    {
-      if (sscanf(attr->value, "%f%f", &light, &dark) == 2)
-       switch (num_channels)
-       {
-         case 2 :
-              cupsCMYKSetLtDk(cmyk, 0, light, dark);
-             break;
-         case 7 :
-              cupsCMYKSetLtDk(cmyk, 5, light, dark);
-             break;
-       }
-      else
-       fprintf(stderr, "ERROR: Bad cupsBlackLtDk value \"%s\"!\n",
-               attr->value);
-    }
-    else
-      fprintf(stderr, "WARNING: No light black attribute found for %s!\n",
-              spec);
-  }
-
-  if (num_channels >= 6)
-  {
-   /*
-    * Get the optional cupsLightCyanXY, cupsLightCyanGamma, or
-    * cupsCyanLtDk attributes...
-    */
-
-    if ((attr = cupsFindAttr(ppd, "cupsLightCyanXY", colormodel, media,
-                             resolution, spec, sizeof(spec))) != NULL)
-    {
-      for (num_xypoints = 0, xyptr = xypoints;
-           attr != NULL && attr->value != NULL && num_xypoints < 100;
-          attr = ppdFindNextAttr(ppd, "cupsLightCyanXY", spec))
-       if (sscanf(attr->value, "%f%f", xyptr, xyptr + 1) == 2)
-       {
-          num_xypoints ++;
-         xyptr += 2;
-       }
-
-      cupsCMYKSetCurve(cmyk, 1, num_xypoints, xypoints);
-    }
-    else if ((attr = cupsFindAttr(ppd, "cupsLightCyanGamma", colormodel,
-                                  media, resolution, spec,
-                                 sizeof(spec))) != NULL)
-    {
-      if (sscanf(attr->value, "%f%f", &gamval, &density) == 2)
-       cupsCMYKSetGamma(cmyk, 1, gamval, density);
-    }
-    else if ((attr = cupsFindAttr(ppd, "cupsCyanLtDk", colormodel, media,
-                                  resolution, spec, sizeof(spec))) != NULL)
-    {
-      if (sscanf(attr->value, "%f%f", &light, &dark) == 2)
-       cupsCMYKSetLtDk(cmyk, 0, light, dark);
-      else
-       fprintf(stderr, "ERROR: Bad cupsCyanLtDk value \"%s\"!\n",
-               attr->value);
-    }
-    else
-      fprintf(stderr, "WARNING: No light cyan attribute found for %s!\n",
-              spec);
-
-   /*
-    * Get the optional cupsLightMagentaXY, cupsLightMagentaGamma, or
-    * cupsMagentaLtDk attributes...
-    */
-
-    if ((attr = cupsFindAttr(ppd, "cupsLightMagentaXY", colormodel, media,
-                             resolution, spec, sizeof(spec))) != NULL)
-    {
-      for (num_xypoints = 0, xyptr = xypoints;
-           attr != NULL && attr->value != NULL && num_xypoints < 100;
-          attr = ppdFindNextAttr(ppd, "cupsLightMagentaXY", spec))
-       if (sscanf(attr->value, "%f%f", xyptr, xyptr + 1) == 2)
-       {
-          num_xypoints ++;
-         xyptr += 2;
-       }
-
-      cupsCMYKSetCurve(cmyk, 3, num_xypoints, xypoints);
-    }
-    else if ((attr = cupsFindAttr(ppd, "cupsLightMagentaGamma", colormodel,
-                                  media, resolution, spec,
-                                 sizeof(spec))) != NULL)
-    {
-      if (sscanf(attr->value, "%f%f", &gamval, &density) == 2)
-       cupsCMYKSetGamma(cmyk, 3, gamval, density);
-    }
-    else if ((attr = cupsFindAttr(ppd, "cupsMagentaLtDk", colormodel, media,
-                                  resolution, spec, sizeof(spec))) != NULL)
-    {
-      if (sscanf(attr->value, "%f%f", &light, &dark) == 2)
-       cupsCMYKSetLtDk(cmyk, 2, light, dark);
-      else
-       fprintf(stderr, "ERROR: Bad cupsMagentaLtDk value \"%s\"!\n",
-               attr->value);
-    }
-    else
-      fprintf(stderr, "WARNING: No light magenta attribute found for %s!\n",
-              spec);
-  }
-
- /*
-  * Return the new profile...
-  */
-
-  return (cmyk);
-}
-
-
-/*
- * 'cupsCMYKNew()' - Create a new CMYK color separation.
- */
-
-cups_cmyk_t *                          /* O - New CMYK separation or NULL */
-cupsCMYKNew(int num_channels)          /* I - Number of color components */
-{
-  cups_cmyk_t  *cmyk;                  /* New color separation */
-  int          i;                      /* Looping var */
-
-
- /*
-  * Range-check the input...
-  */
-
-  if (num_channels < 1)
-    return (NULL);
-
- /*
-  * Allocate memory for the separation...
-  */
-
-  if ((cmyk = calloc(1, sizeof(cups_cmyk_t))) == NULL)
-    return (NULL);
-
- /*
-  * Allocate memory for the LUTs...
-  */
-
-  cmyk->num_channels = num_channels;
-
-  if ((cmyk->channels[0] = calloc(num_channels * 256, sizeof(short))) == NULL)
-  {
-    free(cmyk);
-    return (NULL);
-  }
-
-  for (i = 1; i < num_channels; i ++)
-    cmyk->channels[i] = cmyk->channels[0] + i * 256;
-
- /*
-  * Fill in the LUTs with unity transitions...
-  */
-
-  for (i = 0; i < 256; i ++)
-    cmyk->black_lut[i] = i;
-
-  switch (num_channels)
-  {
-    case 1 : /* K */
-    case 2 : /* Kk */
-       for (i = 0; i < 256; i ++)
-       {
-         cmyk->channels[0][i] = CUPS_MAX_LUT * i / 255;
-       }
-       break;
-    case 3 : /* CMY */
-       for (i = 0; i < 256; i ++)
-       {
-         cmyk->channels[0][i] = CUPS_MAX_LUT * i / 255;
-         cmyk->channels[1][i] = CUPS_MAX_LUT * i / 255;
-         cmyk->channels[2][i] = CUPS_MAX_LUT * i / 255;
-       }
-       break;
-    case 4 : /* CMYK */
-       for (i = 0; i < 256; i ++)
-       {
-         cmyk->channels[0][i] = CUPS_MAX_LUT * i / 255;
-         cmyk->channels[1][i] = CUPS_MAX_LUT * i / 255;
-         cmyk->channels[2][i] = CUPS_MAX_LUT * i / 255;
-         cmyk->channels[3][i] = CUPS_MAX_LUT * i / 255;
-       }
-       break;
-    case 6 : /* CcMmYK */
-    case 7 : /* CcMmYKk */
-       for (i = 0; i < 256; i ++)
-       {
-         cmyk->channels[0][i] = CUPS_MAX_LUT * i / 255;
-         cmyk->channels[2][i] = CUPS_MAX_LUT * i / 255;
-         cmyk->channels[4][i] = CUPS_MAX_LUT * i / 255;
-         cmyk->channels[5][i] = CUPS_MAX_LUT * i / 255;
-       }
-       break;
-  }
-
- /*
-  * Return the separation...
-  */
-
-  return (cmyk);
-}
-
-
-/*
- * 'cupsCMYKSetBlack()' - Set the transition range for CMY to black.
- */
-
-void
-cupsCMYKSetBlack(cups_cmyk_t *cmyk,    /* I - CMYK color separation */
-                float       lower,     /* I - No black ink */
-                float       upper)     /* I - Only black ink */
-{
-  int  i,                              /* Looping var */
-       delta,                          /* Difference between lower and upper */
-       ilower,                         /* Lower level from 0 to 255 */
-       iupper;                         /* Upper level from 0 to 255 */
-
-
- /*
-  * Range check input...
-  */
-
-  if (cmyk == NULL || lower < 0.0 || lower > 1.0 || upper < 0.0 || upper > 1.0 ||
-      lower > upper)
-    return;
-
- /*
-  * Convert lower and upper to integers from 0 to 255...
-  */
-
-  ilower  = (int)(255.0 * lower + 0.5);
-  iupper  = (int)(255.0 * upper + 0.5);
-  delta   = iupper - ilower;
-
- /*
-  * Generate the CMY-only data...
-  */
-
-  for (i = 0; i < ilower; i ++)
-  {
-    cmyk->black_lut[i] = 0;
-    cmyk->color_lut[i] = i;
-  }
-
- /*
-  * Then the transition data...
-  */
-
-  for (; i < iupper; i ++)
-  {
-    cmyk->black_lut[i] = iupper * (i - ilower) / delta;
-    cmyk->color_lut[i] = ilower - ilower * (i - ilower) / delta;
-  }
-
- /*
-  * Then the K-only data...
-  */
-
-  for (; i < 256; i ++)
-  {
-    cmyk->black_lut[i] = i;
-    cmyk->color_lut[i] = 0;
-  }
-
-  fprintf(stderr, "DEBUG: cupsCMYKSetBlack(cmyk, lower=%.3f, upper=%.3f)\n", lower, upper);
-
-  for (i = 0; i < 256; i += 17)
-    fprintf(stderr, "DEBUG:    %3d = %3dk + %3dc\n", i,
-            cmyk->black_lut[i], cmyk->color_lut[i]);
-}
-
-
-/*
- * 'cupsCMYKSetCurve()' - Set a color transform curve using points.
- */
-
-void
-cupsCMYKSetCurve(cups_cmyk_t *cmyk,    /* I - CMYK color separation */
-                 int         channel,  /* I - Color channel */
-                int         num_xypoints,
-                                       /* I - Number of X,Y points */
-                const float *xypoints) /* I - X,Y points */
-{
-  int  i;                              /* Looping var */
-  int  xstart;                         /* Start position */
-  int  xend;                           /* End position */
-  int  xdelta;                         /* Difference in position */
-  int  ystart;                         /* Start value */
-  int  yend;                           /* End value */
-  int  ydelta;                         /* Difference in value */
-
-
- /*
-  * Range check input...
-  */
-
-  if (cmyk == NULL || channel < 0 || channel >= cmyk->num_channels ||
-      num_xypoints < 1 || xypoints == NULL)
-    return;
-
- /*
-  * Initialize the lookup table for the specified channel...
-  */
-
-  for (xstart = xend = 0, ystart = yend = 0;
-       num_xypoints > 0;
-       num_xypoints --, xypoints += 2, xstart = xend, ystart = yend)
-  {
-    xend   = (int)(255.0 * xypoints[1] + 0.5);
-    yend   = (int)(CUPS_MAX_LUT * xypoints[0] + 0.5);
-    xdelta = xend - xstart;
-    ydelta = yend - ystart;
-
-    for (i = xstart; i < xend; i ++)
-      cmyk->channels[channel][i] = ystart + ydelta * (i - xstart) / xdelta;
-  }
-
- /*
-  * Initialize any trailing values to the maximum of the last data point...
-  */
-
-  for (i = xend; i < 256; i ++)
-    cmyk->channels[channel][i] = yend;
-
-  fprintf(stderr, "DEBUG: cupsCMYKSetXY(cmyk, channel=%d, num_xypoints=%d, "
-                  "xypoints=[%.3f %.3f %.3f %.3f ...])\n", channel,
-          num_xypoints, xypoints[0], xypoints[1], xypoints[2], xypoints[3]);
-
-  for (i = 0; i < 256; i += 17)
-    fprintf(stderr, "DEBUG:     %3d = %4d\n", i,
-            cmyk->channels[channel + 0][i]);
-}
-
-
-/*
- * 'cupsCMYKSetGamma()' - Set a color transform curve using gamma and density.
- */
-
-void
-cupsCMYKSetGamma(cups_cmyk_t *cmyk,    /* I - CMYK color separation */
-                 int         channel,  /* I - Ink channel */
-                 float       gamval,   /* I - Gamma correction */
-                float       density)   /* I - Maximum density */
-{
-  int  i;                              /* Looping var */
-
-
- /*
-  * Range check input...
-  */
-
-  if (cmyk == NULL || channel < 0 || channel >= cmyk->num_channels ||
-      gamval <= 0.0 || density <= 0.0 || density > 1.0)
-    return;
-
- /*
-  * Initialize the lookup table for the specified channel...
-  */
-
-  for (i = 0; i < 256; i ++)
-    cmyk->channels[channel][i] = (int)(density * CUPS_MAX_LUT *
-                                       pow((float)i / 255.0, gamval) + 0.5);
-
-  fprintf(stderr, "DEBUG: cupsCMYKSetGamma(cmyk, channel=%d, gamval=%.3f, "
-                  "density=%.3f)\n", channel, gamval, density);
-
-  for (i = 0; i < 256; i += 17)
-    fprintf(stderr, "DEBUG:     %3d = %4d\n", i,
-            cmyk->channels[channel + 0][i]);
-}
-
-
-/*
- * 'cupsCMYKSetInkLimit()' - Set the limit on the amount of ink.
- */
-
-void
-cupsCMYKSetInkLimit(cups_cmyk_t *cmyk, /* I - CMYK color separation */
-                    float       limit) /* I - Limit of ink */
-{
-  if (!cmyk || limit < 0.0)
-    return;
-
-  cmyk->ink_limit = limit * CUPS_MAX_LUT;
-}
-
-
-/*
- * 'cupsCMYKSetLtDk()' - Set light/dark ink transforms.
- */
-
-void
-cupsCMYKSetLtDk(cups_cmyk_t *cmyk,     /* I - CMYK color separation */
-                int         channel,   /* I - Dark ink channel (+1 for light) */
-               float       light,      /* I - Light ink only level */
-               float       dark)       /* I - Dark ink only level */
-{
-  int  i,                              /* Looping var */
-       delta,                          /* Difference between lower and upper */
-       ilight,                         /* Light level from 0 to 255 */
-       idark;                          /* Dark level from 0 to 255 */
-  short        lut[256];                       /* Original LUT data */
-
-
- /*
-  * Range check input...
-  */
-
-  if (cmyk == NULL || light < 0.0 || light > 1.0 || dark < 0.0 || dark > 1.0 ||
-      light > dark || channel < 0 || channel > (cmyk->num_channels - 2))
-    return;
-
- /*
-  * Convert lower and upper to integers from 0 to 255...
-  */
-
-  ilight = (int)(255.0 * light + 0.5);
-  idark  = (int)(255.0 * dark + 0.5);
-  delta  = idark - ilight;
-
- /*
-  * Copy the dark ink LUT...
-  */
-
-  memcpy(lut, cmyk->channels[channel], sizeof(lut));
-
- /*
-  * Generate the light-only data...
-  */
-
-  for (i = 0; i < ilight; i ++)
-  {
-    cmyk->channels[channel + 0][i] = 0;
-    cmyk->channels[channel + 1][i] = CUPS_MAX_LUT * i / ilight;
-  }
-
- /*
-  * Then the transition data...
-  */
-
-  for (; i < idark; i ++)
-  {
-    cmyk->channels[channel + 0][i] = CUPS_MAX_LUT * idark * (i - ilight) /
-                                     delta / 255;
-    cmyk->channels[channel + 1][i] = CUPS_MAX_LUT - CUPS_MAX_LUT *
-                                     (i - ilight) / delta;
-  }
-
- /*
-  * Then the K-only data...
-  */
-
-  for (; i < 256; i ++)
-  {
-    cmyk->channels[channel + 0][i] = CUPS_MAX_LUT * i / 255;
-    cmyk->channels[channel + 1][i] = 0;
-  }
-
-  fprintf(stderr, "DEBUG: cupsCMYKSetLtDk(cmyk, channel=%d, light=%.3f, "
-                  "dark=%.3f)\n", channel, light, dark);
-
-  for (i = 0; i < 256; i += 17)
-    fprintf(stderr, "DEBUG:     %3d = %4dlt + %4ddk\n", i,
-            cmyk->channels[channel + 0][i], cmyk->channels[channel + 1][i]);
-}
-
-
-/*
- * End of "$Id: cmyk.c 9042 2010-03-24 00:45:34Z mike $".
- */
diff --git a/driver/commandtoescpx.c b/driver/commandtoescpx.c
deleted file mode 100644 (file)
index ebd95b4..0000000
+++ /dev/null
@@ -1,245 +0,0 @@
-/*
- * "$Id: commandtoescpx.c 9793 2011-05-20 03:49:49Z mike $"
- *
- *   Advanced EPSON ESC/P command filter for CUPS.
- *
- *   Copyright 2007-2011 by Apple Inc.
- *   Copyright 1993-2005 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- *
- * Contents:
- *
- *   main() - Main entry and command processing.
- */
-
-/*
- * Include necessary headers...
- */
-
-#include <cups/cups-private.h>
-#include "driver.h"
-#include "data/escp.h"
-
-
-/*
- * 'main()' - Main entry and processing of driver.
- */
-
-int                                            /* O - Exit status */
-main(int  argc,                                        /* I - Number of command-line arguments */
-     char *argv[])                             /* I - Command-line arguments */
-{
-  FILE         *fp;                            /* Command file */
-  char         line[1024],                     /* Line from file */
-               *lineptr;                       /* Pointer into line */
-  int          feedpage;                       /* Feed the page */
-  ppd_file_t   *ppd;                           /* PPD file */
-
-
- /*
-  * Check for valid arguments...
-  */
-
-  if (argc < 6 || argc > 7)
-  {
-   /*
-    * We don't have the correct number of arguments; write an error message
-    * and return.
-    */
-
-    _cupsLangPrintf(stderr,
-                    _("Usage: %s job-id user title copies options [file]"),
-                   argv[0]);
-    return (1);
-  }
-
- /*
-  * Open the PPD file...
-  */
-
-  if ((ppd = ppdOpenFile(getenv("PPD"))) == NULL)
-  {
-    fputs("ERROR: Unable to open PPD file!\n", stderr);
-    return (1);
-  }
-
- /*
-  * Open the command file as needed...
-  */
-
-  if (argc == 7)
-  {
-    if ((fp = fopen(argv[6], "r")) == NULL)
-    {
-      perror("ERROR: Unable to open command file - ");
-      return (1);
-    }
-  }
-  else
-    fp = stdin;
-
- /*
-  * Some EPSON printers need an additional command issued at the
-  * beginning of each job to exit from USB "packet" mode...
-  */
-
-  if (ppd->model_number & ESCP_USB)
-    cupsWritePrintData("\000\000\000\033\001@EJL 1284.4\n@EJL     \n\033@", 29);
-
- /*
-  * Reset the printer...
-  */
-
-  cupsWritePrintData("\033@", 2);
-
- /*
-  * Enter remote mode...
-  */
-
-  cupsWritePrintData("\033(R\010\000\000REMOTE1", 13);
-  feedpage = 0;
-
- /*
-  * Read the commands from the file and send the appropriate commands...
-  */
-
-  while (fgets(line, sizeof(line), fp) != NULL)
-  {
-   /*
-    * Drop trailing newline...
-    */
-
-    lineptr = line + strlen(line) - 1;
-    if (*lineptr == '\n')
-      *lineptr = '\0';
-
-   /*
-    * Skip leading whitespace...
-    */
-
-    for (lineptr = line; isspace(*lineptr); lineptr ++);
-
-   /*
-    * Skip comments and blank lines...
-    */
-
-    if (*lineptr == '#' || !*lineptr)
-      continue;
-
-   /*
-    * Parse the command...
-    */
-
-    if (_cups_strncasecmp(lineptr, "Clean", 5) == 0)
-    {
-     /*
-      * Clean heads...
-      */
-
-      cupsWritePrintData("CH\002\000\000\000", 6);
-    }
-    else if (_cups_strncasecmp(lineptr, "PrintAlignmentPage", 18) == 0)
-    {
-     /*
-      * Print alignment page...
-      */
-
-      int phase;
-
-      phase = atoi(lineptr + 18);
-
-      cupsWritePrintData("DT\003\000\000", 5);
-      putchar(phase & 255);
-      putchar(phase >> 8);
-      feedpage = 1;
-    }
-    else if (_cups_strncasecmp(lineptr, "PrintSelfTestPage", 17) == 0)
-    {
-     /*
-      * Print version info and nozzle check...
-      */
-
-      cupsWritePrintData("VI\002\000\000\000", 6);
-      cupsWritePrintData("NC\002\000\000\000", 6);
-      feedpage = 1;
-    }
-    else if (_cups_strncasecmp(lineptr, "ReportLevels", 12) == 0)
-    {
-     /*
-      * Report ink levels...
-      */
-
-      cupsWritePrintData("IQ\001\000\001", 5);
-    }
-    else if (_cups_strncasecmp(lineptr, "SetAlignment", 12) == 0)
-    {
-     /*
-      * Set head alignment...
-      */
-
-      int phase, x;
-
-      if (sscanf(lineptr + 12, "%d%d", &phase, &x) != 2)
-      {
-        fprintf(stderr, "ERROR: Invalid printer command \"%s\"!\n", lineptr);
-        continue;
-      }
-
-      cupsWritePrintData("DA\004\000", 4);
-      putchar(0);
-      putchar(phase);
-      putchar(0);
-      putchar(x);
-      cupsWritePrintData("SV\000\000", 4);
-    }
-    else
-      fprintf(stderr, "ERROR: Invalid printer command \"%s\"!\n", lineptr);
-  }
-
- /*
-  * Exit remote mode...
-  */
-
-  cupsWritePrintData("\033\000\000\000", 4);
-
- /*
-  * Eject the page as needed...
-  */
-
-  if (feedpage)
-  {
-    fputs("PAGE: 1 1\n", stderr);
-
-    putchar(13);
-    putchar(10);
-    putchar(12);
-  }
-
- /*
-  * Reset the printer...
-  */
-
-  cupsWritePrintData("\033@", 2);
-
- /*
-  * Close the command file and return...
-  */
-
-  ppdClose(ppd);
-
-  if (fp != stdin)
-    fclose(fp);
-
-  return (0);
-}
-
-
-/*
- * End of "$Id: commandtoescpx.c 9793 2011-05-20 03:49:49Z mike $".
- */
diff --git a/driver/commandtopclx.c b/driver/commandtopclx.c
deleted file mode 100644 (file)
index 4e3ec22..0000000
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * "$Id: commandtopclx.c 9793 2011-05-20 03:49:49Z mike $"
- *
- *   Advanced PCL command filter for CUPS.
- *
- *   Copyright 2007-2011 by Apple Inc.
- *   Copyright 1993-2005 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- *
- * Contents:
- *
- *   main() - Main entry and command processing.
- */
-
-/*
- * Include necessary headers...
- */
-
-#include <cups/cups-private.h>
-#include "driver.h"
-#include "data/pcl.h"
-
-
-/*
- * 'main()' - Main entry and processing of driver.
- */
-
-int                                            /* O - Exit status */
-main(int  argc,                                        /* I - Number of command-line arguments */
-     char *argv[])                             /* I - Command-line arguments */
-{
-  FILE         *fp;                            /* Command file */
-  char         line[1024],                     /* Line from file */
-               *lineptr;                       /* Pointer into line */
-  int          feedpage;                       /* Feed the page */
-  ppd_file_t   *ppd;                           /* PPD file */
-
-
- /*
-  * Check for valid arguments...
-  */
-
-  if (argc < 6 || argc > 7)
-  {
-   /*
-    * We don't have the correct number of arguments; write an error message
-    * and return.
-    */
-
-    _cupsLangPrintf(stderr,
-                    _("Usage: %s job-id user title copies options [file]"),
-                   argv[0]);
-    return (1);
-  }
-
- /*
-  * Open the PPD file...
-  */
-
-  if ((ppd = ppdOpenFile(getenv("PPD"))) == NULL)
-  {
-    fputs("ERROR: Unable to open PPD file!\n", stderr);
-    return (1);
-  }
-
- /*
-  * Open the command file as needed...
-  */
-
-  if (argc == 7)
-  {
-    if ((fp = fopen(argv[6], "r")) == NULL)
-    {
-      perror("ERROR: Unable to open command file - ");
-      return (1);
-    }
-  }
-  else
-    fp = stdin;
-
- /*
-  * Reset the printer...
-  */
-
-  cupsWritePrintData("\033E", 2);
-
- /*
-  * Read the commands from the file and send the appropriate commands...
-  */
-
-  feedpage = 0;
-
-  while (fgets(line, sizeof(line), fp) != NULL)
-  {
-   /*
-    * Drop trailing newline...
-    */
-
-    lineptr = line + strlen(line) - 1;
-    if (*lineptr == '\n')
-      *lineptr = '\0';
-
-   /*
-    * Skip leading whitespace...
-    */
-
-    for (lineptr = line; isspace(*lineptr); lineptr ++);
-
-   /*
-    * Skip comments and blank lines...
-    */
-
-    if (*lineptr == '#' || !*lineptr)
-      continue;
-
-   /*
-    * Parse the command...
-    */
-
-    if (_cups_strncasecmp(lineptr, "Clean", 5) == 0 &&
-        (ppd->model_number & PCL_INKJET))
-    {
-     /*
-      * Clean heads...
-      */
-
-      cupsWritePrintData("\033&b16WPML \004\000\006\001\004\001\005\001"
-                         "\001\004\001\144", 22);
-    }
-    else
-      fprintf(stderr, "ERROR: Invalid printer command \"%s\"!\n", lineptr);
-  }
-
- /*
-  * Eject the page as needed...
-  */
-
-  if (feedpage)
-  {
-    fputs("PAGE: 1 1\n", stderr);
-
-    putchar(12);
-  }
-
- /*
-  * Reset the printer...
-  */
-
-  cupsWritePrintData("\033E", 2);
-
- /*
-  * Close the command file and return...
-  */
-
-  ppdClose(ppd);
-
-  if (fp != stdin)
-    fclose(fp);
-
-  return (0);
-}
-
-
-/*
- * End of "$Id: commandtopclx.c 9793 2011-05-20 03:49:49Z mike $".
- */
diff --git a/driver/dither.c b/driver/dither.c
deleted file mode 100644 (file)
index bebaaec..0000000
+++ /dev/null
@@ -1,306 +0,0 @@
-/*
- * "$Id: dither.c 8937 2009-12-18 23:50:23Z mike $"
- *
- *   Dithering routines for CUPS.
- *
- *   Copyright 2007 by Apple Inc.
- *   Copyright 1993-2005 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- * Contents:
- *
- *   cupsDitherDelete() - Free a dithering buffer.
- *   cupsDitherLine()   - Dither a line of pixels...
- *   cupsDitherNew()    - Create a dithering buffer.
- */
-
-/*
- * Include necessary headers.
- */
-
-#include "driver.h"
-#include <config.h>
-
-
-/*
- * 'cupsDitherDelete()' - Free a dithering buffer.
- *
- * Returns 0 on success, -1 on failure.
- */
-
-void
-cupsDitherDelete(cups_dither_t *d)     /* I - Dithering buffer */
-{
-  if (d != NULL)
-    free(d);
-}
-
-
-/*
- * 'cupsDitherLine()' - Dither a line of pixels...
- */
-
-void
-cupsDitherLine(cups_dither_t    *d,    /* I - Dither data */
-               const cups_lut_t *lut,  /* I - Lookup table */
-              const short      *data,  /* I - Separation data */
-              int              num_channels,
-                                       /* I - Number of components */
-              unsigned char    *p)     /* O - Pixels */
-{
-  register int x,                      /* Horizontal position in line... */
-               pixel,                  /* Current adjusted pixel... */
-               e,                      /* Current error */
-               e0,e1,e2;               /* Error values */
-  register int errval0,                /* First half of error value */
-               errval1,                /* Second half of error value */
-               errbase,                /* Base multiplier */
-               errbase0,               /* Base multiplier for large values */
-               errbase1,               /* Base multiplier for small values */
-               errrange;               /* Range of random multiplier */
-  register int *p0,                    /* Error buffer pointers... */
-               *p1;
-  static char  logtable[16384];        /* Error magnitude for randomness */
-  static char  loginit = 0;            /* Has the table been initialized? */
-
-
-  if (!loginit)
-  {
-   /*
-    * Initialize a logarithmic table for the magnitude of randomness
-    * that is introduced.
-    */
-
-    loginit = 1;
-
-    logtable[0] = 0;
-    for (x = 1; x < 2049; x ++)
-      logtable[x] = (int)(log(x / 16.0) / log(2.0) + 1.0);
-    for (; x < 16384; x ++)
-      logtable[x] = logtable[2049];
-  }
-
-  if (d->row == 0)
-  {
-   /*
-    * Dither from left to right:
-    *
-    *       e0   ==        p0[0]
-    *    e1 e2   == p1[-1] p1[0]
-    */
-
-    p0 = d->errors + 2;
-    p1 = d->errors + 2 + d->width + 4;
-    e0 = p0[0];
-    e1 = 0;
-    e2 = 0;
-
-   /*
-    * Error diffuse each output pixel...
-    */
-
-    for (x = d->width;
-        x > 0;
-        x --, p0 ++, p1 ++, p ++, data += num_channels)
-    {
-     /*
-      * Skip blank pixels...
-      */
-
-      if (*data == 0)
-      {
-        *p     = 0;
-       e0     = p0[1];
-       p1[-1] = e1;
-       e1     = e2;
-       e2     = 0;
-       continue;
-      }
-
-     /*
-      * Compute the net pixel brightness and brightness error.  Set a dot
-      * if necessary...
-      */
-
-      pixel = lut[*data].intensity + e0 / 128;
-
-      if (pixel > CUPS_MAX_LUT)
-       pixel = CUPS_MAX_LUT;
-      else if (pixel < 0)
-       pixel = 0;
-
-      *p = lut[pixel].pixel;
-      e  = lut[pixel].error;
-
-     /*
-      * Set the randomness factor...
-      */
-
-      if (e > 0)
-        errrange = logtable[e];
-      else
-        errrange = logtable[-e];
-
-      errbase  = 8 - errrange;
-      errrange = errrange * 2 + 1;
-
-     /*
-      * Randomize the error value.
-      */
-
-      if (errrange > 1)
-      {
-        errbase0 = errbase + (CUPS_RAND() % errrange);
-        errbase1 = errbase + (CUPS_RAND() % errrange);
-      }
-      else
-        errbase0 = errbase1 = errbase;
-
-     /*
-      *       X   7/16 =    X  e0
-      * 3/16 5/16 1/16 =    e1 e2
-      */
-
-      errval0 = errbase0 * e;
-      errval1 = (16 - errbase0) * e;
-      e0      = p0[1] + 7 * errval0;
-      e1      = e2 + 5 * errval1;
-
-      errval0 = errbase1 * e;
-      errval1 = (16 - errbase1) * e;
-      e2      = errval0;
-      p1[-1]  = e1 + 3 * errval1;
-    }
-  }
-  else
-  {
-   /*
-    * Dither from right to left:
-    *
-    *    e0      == p0[0]
-    *    e2 e1   == p1[0] p1[1]
-    */
-
-    p0   = d->errors + d->width + 1 + d->width + 4;
-    p1   = d->errors + d->width + 1;
-    p    += d->width - 1;
-    data += num_channels * (d->width - 1);
-    e0   = p0[0];
-    e1   = 0;
-    e2   = 0;
-
-   /*
-    * Error diffuse each output pixel...
-    */
-
-    for (x = d->width;
-        x > 0;
-        x --, p0 --, p1 --, p --, data -= num_channels)
-    {
-     /*
-      * Skip blank pixels...
-      */
-
-      if (*data == 0)
-      {
-        *p    = 0;
-       e0    = p0[-1];
-       p1[1] = e1;
-       e1    = e2;
-       e2    = 0;
-       continue;
-      }
-
-     /*
-      * Compute the net pixel brightness and brightness error.  Set a dot
-      * if necessary...
-      */
-
-      pixel = lut[*data].intensity + e0 / 128;
-
-      if (pixel > CUPS_MAX_LUT)
-       pixel = CUPS_MAX_LUT;
-      else if (pixel < 0)
-       pixel = 0;
-
-      *p = lut[pixel].pixel;
-      e  = lut[pixel].error;
-
-     /*
-      * Set the randomness factor...
-      */
-
-      if (e > 0)
-        errrange = logtable[e];
-      else
-        errrange = logtable[-e];
-
-      errbase  = 8 - errrange;
-      errrange = errrange * 2 + 1;
-
-     /*
-      * Randomize the error value.
-      */
-
-      if (errrange > 1)
-      {
-        errbase0 = errbase + (CUPS_RAND() % errrange);
-        errbase1 = errbase + (CUPS_RAND() % errrange);
-      }
-      else
-        errbase0 = errbase1 = errbase;
-
-     /*
-      *       X   7/16 =    X  e0
-      * 3/16 5/16 1/16 =    e1 e2
-      */
-
-      errval0 = errbase0 * e;
-      errval1 = (16 - errbase0) * e;
-      e0      = p0[-1] + 7 * errval0;
-      e1      = e2 + 5 * errval1;
-
-      errval0 = errbase1 * e;
-      errval1 = (16 - errbase1) * e;
-      e2      = errval0;
-      p1[1]   = e1 + 3 * errval1;
-    }
-  }
-
- /*
-  * Update to the next row...
-  */
-
-  d->row = 1 - d->row;
-}
-
-
-/*
- * 'cupsDitherNew()' - Create an error-diffusion dithering buffer.
- */
-
-cups_dither_t *                        /* O - New state array */
-cupsDitherNew(int width)       /* I - Width of output in pixels */
-{
-  cups_dither_t        *d;             /* New dithering buffer */
-
-
-  if ((d = (cups_dither_t *)calloc(1, sizeof(cups_dither_t) +
-                                   2 * (width + 4) *
-                                      sizeof(int))) == NULL)
-    return (NULL);
-
-  d->width = width;
-
-  return (d);
-}
-
-
-/*
- * End of "$Id: dither.c 8937 2009-12-18 23:50:23Z mike $".
- */
diff --git a/driver/driver.h b/driver/driver.h
deleted file mode 100644 (file)
index 8cff244..0000000
+++ /dev/null
@@ -1,249 +0,0 @@
-/*
- * "$Id: driver.h 7306 2008-02-15 00:52:38Z mike $"
- *
- *   Printer driver utilities header file for CUPS.
- *
- *   Copyright 2007 by Apple Inc.
- *   Copyright 1993-2005 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- */
-
-#ifndef _CUPS_DRIVER_H_
-#  define _CUPS_DRIVER_H_
-
-#  ifdef __cplusplus
-extern "C" {
-#  endif /* __cplusplus */
-
-/*
- * Include necessary headers...
- */
-
-#  include <stdio.h>
-#  include <stdlib.h>
-#  include <time.h>
-#  include <math.h>
-
-#  if defined(WIN32) || defined(__EMX__)
-#    include <io.h>
-#  else
-#    include <unistd.h>
-#    include <fcntl.h>
-#  endif /* WIN32 || __EMX__ */
-
-#  include <cups/cups.h>
-#  include <cups/raster.h>
-
-
-/*
- * Common macros...
- */
-
-#  ifndef min
-#    define min(a,b)   ((a) < (b) ? (a) : (b))
-#    define max(a,b)   ((a) > (b) ? (a) : (b))
-#  endif /* !min */
-
-
-/*
- * Constants...
- */
-
-#define CUPS_MAX_CHAN  15              /* Maximum number of color components */
-#define CUPS_MAX_LUT   4095            /* Maximum LUT value */
-#define CUPS_MAX_RGB   4               /* Maximum number of sRGB components */
-
-
-/*
- * Types/structures for the various routines.
- */
-
-typedef struct cups_lut_s              /**** Lookup Table for Dithering ****/
-{
-  short                intensity;              /* Adjusted intensity */
-  short                pixel;                  /* Output pixel value */
-  int          error;                  /* Error from desired value */
-} cups_lut_t;
-
-typedef struct cups_dither_s           /**** Dithering State ****/
-{
-  int          width;                  /* Width of buffer */
-  int          row;                    /* Current row */
-  int          errors[96];             /* Error values */
-} cups_dither_t;
-
-typedef struct cups_sample_s           /**** Color sample point ****/
-{
-  unsigned char        rgb[3];                 /* sRGB values */
-  unsigned char        colors[CUPS_MAX_RGB];   /* Color values */
-} cups_sample_t;
-
-typedef struct cups_rgb_s              /**** Color separation lookup table ****/
-{
-  int          cube_size;              /* Size of color cube (2-N) on a side */
-  int          num_channels;           /* Number of colors per sample */
-  unsigned char        ****colors;             /* 4-D array of sample values */
-  int          cube_index[256];        /* Index into cube for a given sRGB value */
-  int          cube_mult[256];         /* Multiplier value for a given sRGB value */
-  int          cache_init;             /* Are cached values initialized? */
-  unsigned char        black[CUPS_MAX_RGB];    /* Cached black (sRGB = 0,0,0) */
-  unsigned char        white[CUPS_MAX_RGB];    /* Cached white (sRGB = 255,255,255) */
-} cups_rgb_t;
-
-typedef struct cups_cmyk_s             /**** Simple CMYK lookup table ****/
-{
-  unsigned char        black_lut[256];         /* Black generation LUT */
-  unsigned char        color_lut[256];         /* Color removal LUT */
-  int          ink_limit;              /* Ink limit */
-  int          num_channels;           /* Number of components */
-  short                *channels[CUPS_MAX_CHAN];
-                                       /* Lookup tables */
-} cups_cmyk_t;
-
-
-/*
- * Globals...
- */
-
-extern const unsigned char
-                       cups_srgb_lut[256];
-                                       /* sRGB gamma lookup table */
-extern const unsigned char
-                       cups_scmy_lut[256];
-                                       /* sRGB gamma lookup table (inverted) */
-
-
-/*
- * Prototypes...
- */
-
-/*
- * Attribute function...
- */
-
-extern ppd_attr_t      *cupsFindAttr(ppd_file_t *ppd, const char *name,
-                                     const char *colormodel,
-                                     const char *media,
-                                     const char *resolution,
-                                     char *spec, int specsize);
-                              
-/*
- * Byte checking functions...
- */
-
-extern int             cupsCheckBytes(const unsigned char *, int);
-extern int             cupsCheckValue(const unsigned char *, int,
-                                      const unsigned char);
-
-/*
- * Dithering functions...
- */
-
-extern void            cupsDitherLine(cups_dither_t *d, const cups_lut_t *lut,
-                                      const short *data, int num_channels,
-                                      unsigned char *p);
-extern cups_dither_t   *cupsDitherNew(int width);
-extern void            cupsDitherDelete(cups_dither_t *);
-
-/*
- * Lookup table functions for dithering...
- */
-
-extern cups_lut_t      *cupsLutNew(int num_vals, const float *vals);
-extern void            cupsLutDelete(cups_lut_t *lut);
-extern cups_lut_t      *cupsLutLoad(ppd_file_t *ppd,
-                                    const char *colormodel,
-                                    const char *media,
-                                    const char *resolution,
-                                    const char *ink);
-
-
-/*
- * Bit packing functions...
- */
-
-extern void            cupsPackHorizontal(const unsigned char *,
-                                          unsigned char *, int,
-                                          const unsigned char, const int);
-extern void            cupsPackHorizontal2(const unsigned char *,
-                                           unsigned char *, int, const int);
-extern void            cupsPackHorizontalBit(const unsigned char *,
-                                             unsigned char *, int,
-                                             const unsigned char,
-                                             const unsigned char);
-extern void            cupsPackVertical(const unsigned char *, unsigned char *,
-                                        int, const unsigned char, const int);
-
-/*
- * Color separation functions...
- */
-
-extern void            cupsRGBDelete(cups_rgb_t *rgb);
-extern void            cupsRGBDoGray(cups_rgb_t *rgb,
-                                     const unsigned char *input,
-                                     unsigned char *output, int num_pixels);
-extern void            cupsRGBDoRGB(cups_rgb_t *rgb,
-                                    const unsigned char *input,
-                                    unsigned char *output, int num_pixels);
-extern cups_rgb_t      *cupsRGBLoad(ppd_file_t *ppd,
-                                    const char *colormodel,
-                                    const char *media,
-                                    const char *resolution);
-extern cups_rgb_t      *cupsRGBNew(int num_samples, cups_sample_t *samples,
-                                   int cube_size, int num_channels);
-
-/*
- * CMYK separation functions...
- */
-
-extern cups_cmyk_t     *cupsCMYKNew(int num_channels);
-extern void            cupsCMYKDelete(cups_cmyk_t *cmyk);
-extern void            cupsCMYKDoBlack(const cups_cmyk_t *cmyk,
-                                       const unsigned char *input,
-                                       short *output, int num_pixels);
-extern void            cupsCMYKDoCMYK(const cups_cmyk_t *cmyk,
-                                      const unsigned char *input,
-                                      short *output, int num_pixels);
-extern void            cupsCMYKDoGray(const cups_cmyk_t *cmyk,
-                                      const unsigned char *input,
-                                      short *output, int num_pixels);
-extern void            cupsCMYKDoRGB(const cups_cmyk_t *cmyk,
-                                     const unsigned char *input,
-                                     short *output, int num_pixels);
-extern cups_cmyk_t     *cupsCMYKLoad(ppd_file_t *ppd,
-                                     const char *colormodel,
-                                     const char *media,
-                                     const char *resolution);
-extern void            cupsCMYKSetBlack(cups_cmyk_t *cmyk,
-                                        float lower, float upper);
-extern void            cupsCMYKSetCurve(cups_cmyk_t *cmyk, int channel,
-                                        int num_xypoints,
-                                        const float *xypoints);
-extern void            cupsCMYKSetGamma(cups_cmyk_t *cmyk, int channel,
-                                        float gamval, float density);
-extern void            cupsCMYKSetInkLimit(cups_cmyk_t *cmyk, float limit);
-extern void            cupsCMYKSetLtDk(cups_cmyk_t *cmyk, int channel,
-                                       float light, float dark);
-
-
-/*
- * Convenience macro for writing print data...
- */
-
-#  define cupsWritePrintData(s,n) fwrite((s), 1, (n), stdout)
-
-#  ifdef __cplusplus
-}
-#  endif /* __cplusplus */
-
-#endif /* !_CUPS_DRIVER_H_ */
-
-/*
- * End of "$Id: driver.h 7306 2008-02-15 00:52:38Z mike $".
- */
-
diff --git a/driver/image.pgm b/driver/image.pgm
deleted file mode 100644 (file)
index c0b7a22..0000000
Binary files a/driver/image.pgm and /dev/null differ
diff --git a/driver/image.ppm b/driver/image.ppm
deleted file mode 100644 (file)
index 3823fe4..0000000
Binary files a/driver/image.ppm and /dev/null differ
diff --git a/driver/libcupsdriver.exp b/driver/libcupsdriver.exp
deleted file mode 100644 (file)
index fff6506..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-_cupsCMYKDelete
-_cupsCMYKDoBlack
-_cupsCMYKDoCMYK
-_cupsCMYKDoGray
-_cupsCMYKDoRGB
-_cupsCMYKLoad
-_cupsCMYKNew
-_cupsCMYKSetBlack
-_cupsCMYKSetCurve
-_cupsCMYKSetGamma
-_cupsCMYKSetInkLimit
-_cupsCMYKSetLtDk
-_cupsCheckBytes
-_cupsCheckValue
-_cupsDitherDelete
-_cupsDitherLine
-_cupsDitherNew
-_cupsFindAttr
-_cupsLutDelete
-_cupsLutLoad
-_cupsLutNew
-_cupsPackHorizontal
-_cupsPackHorizontal2
-_cupsPackHorizontalBit
-_cupsPackVertical
-_cupsRGBDelete
-_cupsRGBDoGray
-_cupsRGBDoRGB
-_cupsRGBLoad
-_cupsRGBNew
diff --git a/driver/lut.c b/driver/lut.c
deleted file mode 100644 (file)
index 76684ca..0000000
+++ /dev/null
@@ -1,202 +0,0 @@
-/*
- * "$Id: lut.c 7306 2008-02-15 00:52:38Z mike $"
- *
- *   Lookup table routines for CUPS.
- *
- *   Copyright 2007 by Apple Inc.
- *   Copyright 1993-2005 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- * Contents:
- *
- *   cupsLutDelete() - Free the memory used by a lookup table.
- *   cupsLutLoad()   - Load a LUT from a PPD file.
- *   cupsLutNew()    - Make a lookup table from a list of pixel values.
- */
-
-/*
- * Include necessary headers.
- */
-
-#include "driver.h"
-#include <math.h>
-
-
-/*
- * 'cupsLutDelete()' - Free the memory used by a lookup table.
- */
-
-void
-cupsLutDelete(cups_lut_t *lut)         /* I - Lookup table to free */
-{
-  if (lut != NULL)
-    free(lut);
-}
-
-
-/*
- * 'cupsLutLoad()' - Load a LUT from a PPD file.
- */
-
-cups_lut_t *                           /* O - New lookup table */
-cupsLutLoad(ppd_file_t *ppd,           /* I - PPD file */
-            const char *colormodel,    /* I - Color model */
-            const char *media,         /* I - Media type */
-            const char *resolution,    /* I - Resolution */
-           const char *ink)            /* I - Ink name */
-{
-  char         name[PPD_MAX_NAME],     /* Attribute name */
-               spec[PPD_MAX_NAME];     /* Attribute spec */
-  ppd_attr_t   *attr;                  /* Attribute */
-  int          nvals;                  /* Number of values */
-  float                vals[4];                /* Values */
-
-
- /*
-  * Range check input...
-  */
-
-  if (!ppd || !colormodel || !media || !resolution || !ink)
-    return (NULL);
-
- /*
-  * Try to find the LUT values...
-  */
-
-  snprintf(name, sizeof(name), "cups%sDither", ink);
-
-  if ((attr = cupsFindAttr(ppd, name, colormodel, media, resolution, spec,
-                           sizeof(spec))) == NULL)
-    attr = cupsFindAttr(ppd, "cupsAllDither", colormodel, media,
-                        resolution, spec, sizeof(spec));
-
-  if (!attr)
-    return (NULL);
-
-  vals[0] = 0.0;
-  vals[1] = 0.0;
-  vals[2] = 0.0;
-  vals[3] = 0.0;
-  nvals   = sscanf(attr->value, "%f%f%f", vals + 1, vals + 2, vals + 3) + 1;
-
-  fprintf(stderr, "DEBUG: Loaded LUT %s from PPD with values [%.3f %.3f %.3f %.3f]\n",
-          name, vals[0], vals[1], vals[2], vals[3]);
-
-  return (cupsLutNew(nvals, vals));
-}
-
-
-/*
- * 'cupsLutNew()' - Make a lookup table from a list of pixel values.
- *
- * Returns a pointer to the lookup table on success, NULL on failure.
- */
-
-cups_lut_t *                           /* O - New lookup table */
-cupsLutNew(int         num_values,     /* I - Number of values */
-          const float *values)         /* I - Lookup table values */
-{
-  int          pixel;                  /* Pixel value */
-  cups_lut_t   *lut;                   /* Lookup table */
-  int          start,                  /* Start value */
-               end,                    /* End value */
-               maxval;                 /* Maximum value */
-
-
- /*
-  * Range check...
-  */
-
-  if (!num_values || !values)
-    return (NULL);
-
- /*
-  * Allocate memory for the lookup table...
-  */
-
-  if ((lut = (cups_lut_t *)calloc((CUPS_MAX_LUT + 1),
-                                  sizeof(cups_lut_t))) == NULL)
-    return (NULL);
-
- /*
-  * Generate the dither lookup table.  The pixel values are roughly
-  * defined by a piecewise linear curve that has an intensity value
-  * at each output pixel.  This isn't perfectly accurate, but it's
-  * close enough for jazz.
-  */
-
-  maxval = CUPS_MAX_LUT / values[num_values - 1];
-
-  for (start = 0; start <= CUPS_MAX_LUT; start ++)
-    lut[start].intensity = start * maxval / CUPS_MAX_LUT;
-
-  for (pixel = 0; pixel < num_values; pixel ++)
-  {
-   /*
-    * Select start and end values for this pixel...
-    */
-
-    if (pixel == 0)
-      start = 0;
-    else
-      start = (int)(0.5 * maxval * (values[pixel - 1] +
-                                    values[pixel])) + 1;
-
-    if (start < 0)
-      start = 0;
-    else if (start > CUPS_MAX_LUT)
-      start = CUPS_MAX_LUT;
-
-    if (pixel == (num_values - 1))
-      end = CUPS_MAX_LUT;
-    else
-      end = (int)(0.5 * maxval * (values[pixel] + values[pixel + 1]));
-
-    if (end < 0)
-      end = 0;
-    else if (end > CUPS_MAX_LUT)
-      end = CUPS_MAX_LUT;
-
-    if (start == end)
-      break;
-
-   /*
-    * Generate lookup values and errors for each pixel.
-    */
-
-    while (start <= end)
-    {
-      lut[start].pixel = pixel;
-      if (start == 0)
-        lut[0].error = 0;
-      else
-        lut[start].error = start - maxval * values[pixel];
-
-      start ++;
-    }
-  }
-
- /*
-  * Show the lookup table...
-  */
-
-  for (start = 0; start <= CUPS_MAX_LUT; start += CUPS_MAX_LUT / 15)
-    fprintf(stderr, "DEBUG: %d = %d/%d/%d\n", start, lut[start].intensity,
-            lut[start].pixel, lut[start].error);
-
- /*
-  * Return the lookup table...
-  */
-
-  return (lut);
-}
-
-
-/*
- * End of "$Id: lut.c 7306 2008-02-15 00:52:38Z mike $".
- */
diff --git a/driver/pack.c b/driver/pack.c
deleted file mode 100644 (file)
index db9e5de..0000000
+++ /dev/null
@@ -1,307 +0,0 @@
-/*
- * "$Id: pack.c 7306 2008-02-15 00:52:38Z mike $"
- *
- *   Bit packing routines for CUPS.
- *
- *   Copyright 2007 by Apple Inc.
- *   Copyright 1993-2005 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- * Contents:
- *
- *   cupsPackHorizontal()    - Pack pixels horizontally...
- *   cupsPackHorizontal2()   - Pack 2-bit pixels horizontally...
- *   cupsPackHorizontalBit() - Pack pixels horizontally by bit...
- *   cupsPackVertical()      - Pack pixels vertically...
- */
-
-/*
- * Include necessary headers...
- */
-
-#include "driver.h"
-
-
-/*
- * 'cupsPackHorizontal()' - Pack pixels horizontally...
- */
-
-void
-cupsPackHorizontal(const unsigned char *ipixels,/* I - Input pixels */
-                  unsigned char       *obytes, /* O - Output bytes */
-                  int                 width,   /* I - Number of pixels */
-                  const unsigned char clearto, /* I - Initial value of bytes */
-                  const int           step)    /* I - Step value between pixels */
-{
-  register unsigned char       b;              /* Current byte */
-
-
- /*
-  * Do whole bytes first...
-  */
-
-  while (width > 7)
-  {
-    b = clearto;
-
-    if (*ipixels)
-      b ^= 0x80;
-    ipixels += step;
-    if (*ipixels)
-      b ^= 0x40;
-    ipixels += step;
-    if (*ipixels)
-      b ^= 0x20;
-    ipixels += step;
-    if (*ipixels)
-      b ^= 0x10;
-    ipixels += step;
-    if (*ipixels)
-      b ^= 0x08;
-    ipixels += step;
-    if (*ipixels)
-      b ^= 0x04;
-    ipixels += step;
-    if (*ipixels)
-      b ^= 0x02;
-    ipixels += step;
-    if (*ipixels)
-      b ^= 0x01;
-    ipixels += step;
-
-    *obytes++ = b;
-
-    width -= 8;
-  }
-
- /*
-  * Then do the last N bytes (N < 8)...
-  */
-
-  b = clearto;
-
-  switch (width)
-  {
-    case 7 :
-       if (ipixels[6 * step])
-         b ^= 0x02;
-    case 6 :
-       if (ipixels[5 * step])
-         b ^= 0x04;
-    case 5 :
-       if (ipixels[4 * step])
-         b ^= 0x08;
-    case 4 :
-       if (ipixels[3 * step])
-         b ^= 0x10;
-    case 3 :
-       if (ipixels[2 * step])
-         b ^= 0x20;
-    case 2 :
-       if (ipixels[1 * step])
-         b ^= 0x40;
-    case 1 :
-       if (ipixels[0])
-         b ^= 0x80;
-        *obytes = b;
-        break;
-  }
-}
-
-
-/*
- * 'cupsPackHorizontal2()' - Pack 2-bit pixels horizontally...
- */
-
-void
-cupsPackHorizontal2(const unsigned char *ipixels,      /* I - Input pixels */
-                   unsigned char       *obytes,        /* O - Output bytes */
-                   int                 width,          /* I - Number of pixels */
-                   const int           step)           /* I - Stepping value */
-{
-  register unsigned char       b;                      /* Current byte */
-
-
- /*
-  * Do whole bytes first...
-  */
-
-  while (width > 3)
-  {
-    b = *ipixels;
-    ipixels += step;
-    b = (b << 2) | *ipixels;
-    ipixels += step;
-    b = (b << 2) | *ipixels;
-    ipixels += step;
-    b = (b << 2) | *ipixels;
-    ipixels += step;
-
-    *obytes++ = b;
-
-    width -= 4;
-  }
-
- /*
-  * Then do the last N bytes (N < 4)...
-  */
-
-  b = 0;
-
-  switch (width)
-  {
-    case 3 :
-       b = ipixels[2 * step];
-    case 2 :
-       b = (b << 2) | ipixels[step];
-    case 1 :
-       b = (b << 2) | ipixels[0];
-        *obytes = b << (8 - 2 * width);
-        break;
-  }
-}
-
-
-/*
- * 'cupsPackHorizontalBit()' - Pack pixels horizontally by bit...
- */
-
-void
-cupsPackHorizontalBit(const unsigned char *ipixels,    /* I - Input pixels */
-                      unsigned char       *obytes,     /* O - Output bytes */
-                      int                 width,       /* I - Number of pixels */
-                      const unsigned char clearto,     /* I - Initial value of bytes */
-                     const unsigned char bit)          /* I - Bit to check */
-{
-  register unsigned char       b;                      /* Current byte */
-
-
- /*
-  * Do whole bytes first...
-  */
-
-  while (width > 7)
-  {
-    b = clearto;
-
-    if (*ipixels++ & bit)
-      b ^= 0x80;
-    if (*ipixels++ & bit)
-      b ^= 0x40;
-    if (*ipixels++ & bit)
-      b ^= 0x20;
-    if (*ipixels++ & bit)
-      b ^= 0x10;
-    if (*ipixels++ & bit)
-      b ^= 0x08;
-    if (*ipixels++ & bit)
-      b ^= 0x04;
-    if (*ipixels++ & bit)
-      b ^= 0x02;
-    if (*ipixels++ & bit)
-      b ^= 0x01;
-
-    *obytes++ = b;
-
-    width -= 8;
-  }
-
- /*
-  * Then do the last N bytes (N < 8)...
-  */
-
-  b = clearto;
-
-  switch (width)
-  {
-    case 7 :
-       if (ipixels[6] & bit)
-         b ^= 0x02;
-    case 6 :
-       if (ipixels[5] & bit)
-         b ^= 0x04;
-    case 5 :
-       if (ipixels[4] & bit)
-         b ^= 0x08;
-    case 4 :
-       if (ipixels[3] & bit)
-         b ^= 0x10;
-    case 3 :
-       if (ipixels[2] & bit)
-         b ^= 0x20;
-    case 2 :
-       if (ipixels[1] & bit)
-         b ^= 0x40;
-    case 1 :
-       if (ipixels[0] & bit)
-         b ^= 0x80;
-        *obytes = b;
-        break;
-  }
-}
-
-
-/*
- * 'cupsPackVertical()' - Pack pixels vertically...
- */
-
-void
-cupsPackVertical(const unsigned char *ipixels, /* I - Input pixels */
-                 unsigned char       *obytes,  /* O - Output bytes */
-                 int                 width,    /* I - Number of input pixels */
-                 const unsigned char bit,      /* I - Output bit */
-                 const int           step)     /* I - Number of bytes between columns */
-{
- /*
-  * Loop through the entire array...
-  */
-
-  while (width > 7)
-  {
-    if (*ipixels++)
-      *obytes ^= bit;
-    obytes += step;
-    if (*ipixels++)
-      *obytes ^= bit;
-    obytes += step;
-    if (*ipixels++)
-      *obytes ^= bit;
-    obytes += step;
-    if (*ipixels++)
-      *obytes ^= bit;
-    obytes += step;
-    if (*ipixels++)
-      *obytes ^= bit;
-    obytes += step;
-    if (*ipixels++)
-      *obytes ^= bit;
-    obytes += step;
-    if (*ipixels++)
-      *obytes ^= bit;
-    obytes += step;
-    if (*ipixels++)
-      *obytes ^= bit;
-    obytes += step;
-
-    width -= 8;
-  }
-
-  while (width > 0)
-  {
-    if (*ipixels++)
-      *obytes ^= bit;
-
-    obytes += step;
-    width --;
-  }
-}
-
-
-/*
- * End of "$Id: pack.c 7306 2008-02-15 00:52:38Z mike $".
- */
diff --git a/driver/pcl-common.c b/driver/pcl-common.c
deleted file mode 100644 (file)
index f5aa244..0000000
+++ /dev/null
@@ -1,272 +0,0 @@
-/*
- * "$Id: pcl-common.c 7306 2008-02-15 00:52:38Z mike $"
- *
- *   Common PCL functions for CUPS.
- *
- *   Copyright 2007 by Apple Inc.
- *   Copyright 1993-2005 by Easy Software Products
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- * Contents:
- *
- *   pcl_set_media_size() - Set media size using the page size command.
- *   pjl_write()          - Write a PJL command string, performing
- *                          substitutions as needed.
- */
-
-/*
- * Include necessary headers...
- */
-
-#include "driver.h"
-#include "pcl-common.h"
-#include <math.h>
-
-
-/*
- * 'pcl_set_media_size()' - Set media size using the page size command.
- */
-
-void
-pcl_set_media_size(ppd_file_t *ppd,    /* I - PPD file */
-                   float      width,   /* I - Width of page */
-                   float      length)  /* I - Length of page */
-{
-  (void)width;
-
-  printf("\033&l0O");                  /* Set portrait orientation */
-
-  if (ppd->model_number & PCL_PAPER_SIZE)
-    switch ((int)(length + 0.5f))
-    {
-      case 419 : /* Postcard */
-          printf("\033&l71A");         /* Set page size */
-         break;
-
-      case 540 : /* Monarch Envelope */
-          printf("\033&l80A");         /* Set page size */
-         break;
-
-      case 567 : /* Double Postcard */
-          printf("\033&l72A");         /* Set page size */
-         break;
-
-      case 595 : /* A5 */
-          printf("\033&l25A");         /* Set page size */
-         break;
-
-      case 612 : /* Statement */
-          printf("\033&l5A");          /* Set page size */
-         break;
-
-      case 624 : /* DL Envelope */
-          printf("\033&l90A");         /* Set page size */
-         break;
-
-      case 649 : /* C5 Envelope */
-          printf("\033&l91A");         /* Set page size */
-         break;
-
-      case 684 : /* COM-10 Envelope */
-          printf("\033&l81A");         /* Set page size */
-         break;
-
-      case 709 : /* B5 Envelope */
-          printf("\033&l100A");                /* Set page size */
-         break;
-
-      case 729 : /* B5 */
-          printf("\033&l45A");         /* Set page size */
-         break;
-
-      case 756 : /* Executive */
-          printf("\033&l1A");          /* Set page size */
-         break;
-
-      case 792 : /* Letter */
-          printf("\033&l2A");          /* Set page size */
-         break;
-
-      case 842 : /* A4 */
-          printf("\033&l26A");         /* Set page size */
-         break;
-
-      case 936 : /* Foolscap */
-          printf("\033&l23A");         /* Set page size */
-         break;
-
-      case 1008 : /* Legal */
-          printf("\033&l3A");          /* Set page size */
-         break;
-
-      case 1032 : /* B4 */
-          printf("\033&l46A");         /* Set page size */
-         break;
-
-      case 1191 : /* A3 */
-          printf("\033&l27A");         /* Set page size */
-         break;
-
-      case 1224 : /* Tabloid */
-          printf("\033&l6A");          /* Set page size */
-         break;
-
-      default :
-          printf("\033&l101A");                /* Set page size */
-         printf("\033&l6D\033&k12H");  /* Set 6 LPI, 10 CPI */
-         printf("\033&l%.2fP", length / 12.0);
-                                       /* Set page length */
-         printf("\033&l%.0fF", length / 12.0);
-                                       /* Set text length to page */
-         break;
-    }
-  else
-  {
-    printf("\033&l6D\033&k12H");       /* Set 6 LPI, 10 CPI */
-    printf("\033&l%.2fP", length / 12.0);
-                                       /* Set page length */
-    printf("\033&l%.0fF", length / 12.0);
-                                       /* Set text length to page */
-  }
-
-  printf("\033&l0L");                  /* Turn off perforation skip */
-  printf("\033&l0E");                  /* Reset top margin to 0 */
-}
-
-
-/*
- * 'pjl_write()' - Write a PJL command string, performing substitutions as needed.
- */
-
-void
-pjl_write(ppd_file_t    *ppd,          /* I - PPD file */
-          const char    *format,       /* I - Format string */
-          const char    *value,                /* I - Value for %s */
-         int           job_id,         /* I - Job ID */
-          const char    *user,         /* I - Username */
-         const char    *title,         /* I - Title */
-         int           num_options,    /* I - Number of options */
-          cups_option_t *options)      /* I - Options */
-{
-  const char   *optval;                /* Option value */
-  char         match[255],             /* Match string */
-               *mptr;                  /* Pointer into match string */
-
-
-  if (!format)
-    return;
-
-  while (*format)
-  {
-    if (*format == '%')
-    {
-     /*
-      * Perform substitution...
-      */
-
-      format ++;
-      switch (*format)
-      {
-        case 'b' :                     /* job-billing */
-           if ((optval = cupsGetOption("job-billing", num_options,
-                                       options)) != NULL)
-             fputs(optval, stdout);
-           break;
-
-       case 'h' :                      /* job-originating-host-name */
-           if ((optval = cupsGetOption("job-originating-host-name",
-                                       num_options, options)) != NULL)
-             fputs(optval, stdout);
-           break;
-
-       case 'j' :                      /* job-id */
-           printf("%d", job_id);
-           break;
-
-       case 'n' :                      /* CR + LF */
-           putchar('\r');
-           putchar('\n');
-           break;
-
-       case 'q' :                      /* double quote (") */
-           putchar('\"');
-           break;
-
-       case 's' :                      /* "value" */
-           if (value)
-             fputs(value, stdout);
-           break;
-
-       case 't' :                      /* job-name */
-            fputs(title, stdout);
-           break;
-
-       case 'u' :                      /* job-originating-user-name */
-            fputs(user, stdout);
-           break;
-
-        case '?' :                     /* ?value:string; */
-           /*
-           * Get the match value...
-           */
-
-           for (format ++, mptr = match; *format && *format != ':'; format ++)
-             if (mptr < (match + sizeof(match) - 1))
-               *mptr++ = *format;
-
-            if (!*format)
-             return;
-
-           /*
-           * See if we have a match...
-           */
-
-            format ++;
-            *mptr = '\0';
-
-           if (!value || strcmp(match, value))
-           {
-            /*
-             * Value doesn't match; skip the string that follows...
-             */
-
-              while (*format && *format != ';')
-               format ++;
-           }
-           else
-           {
-            /*
-             * Value matches; copy the string that follows...
-             */
-
-              while (*format && *format != ';')
-               putchar(*format++);
-           }
-
-           if (!*format)
-             return;
-           break;
-
-       default :                       /* Anything else */
-           putchar('%');
-       case '%' :                      /* %% = single % */
-           putchar(*format);
-           break;
-      }
-    }
-    else
-      putchar(*format);
-
-    format ++;
-  }
-}
-
-
-/*
- * End of "$Id: pcl-common.c 7306 2008-02-15 00:52:38Z mike $".
- */
diff --git a/driver/pcl-common.h b/driver/pcl-common.h
deleted file mode 100644 (file)
index 0b34950..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * "$Id: pcl-common.h 9042 2010-03-24 00:45:34Z mike $"
- *
- *   Common HP-PCL definitions for CUPS.
- *
- *   Copyright 2007-2010 by Apple Inc.
- *   Copyright 1993-2005 by Easy Software Products, All Rights Reserved.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- */
-
-/*
- * Include necessary headers...
- */
-
-#include <cups/string-private.h>
-#include "data/pcl.h"
-
-
-/*
- * Functions/macros...
- */
-
-#define pcl_reset()\
-       printf("\033E")
-#define pcl_set_copies(copies)\
-       printf("\033&l%dX", (copies))
-#define pcl_set_pcl_mode(m)\
-       printf("\033%%%dA", (m))
-#define pcl_set_hpgl_mode(m)\
-       printf("\033%%%dB", (m))
-#define pcl_set_negative_motion()\
-        printf("\033&a1N")
-#define pcl_set_media_source(source)\
-       printf("\033&l%dH", source)
-#define pcl_set_media_type(type)\
-       printf("\033&l%dM", type)
-#define pcl_set_duplex(duplex,landscape)\
-       if (duplex) printf("\033&l%dS", (duplex) + (landscape))
-#define pcl_set_simple_black()\
-       printf("\033*r-1U")
-#define pcl_set_simple_color()\
-       printf("\033*r3U")
-#define pcl_set_simple_cmy()\
-       printf("\033*r-3U")
-#define pcl_set_simple_kcmy()\
-       printf("\033*r-4U")
-#define pcl_set_simple_resolution(r)\
-       printf("\033*t%dR", (r))
-
-#define pjl_escape()\
-       printf("\033%%-12345X@PJL\r\n")
-#define pjl_set_job(job_id,user,title)\
-       printf("@PJL JOB NAME = \"%s\" DISPLAY = \"%d %s %s\"\r\n", \
-              (title), (job_id), (user), (title))
-#define pjl_enter_language(lang)\
-       printf("@PJL ENTER LANGUAGE=%s\r\n", (lang))
-
-extern void    pcl_set_media_size(ppd_file_t *ppd, float width, float length);
-extern void    pjl_write(ppd_file_t *ppd, const char *format,
-                         const char *value, int job_id,
-                         const char *user, const char *title,
-                         int num_options, cups_option_t *options);
-
-/*
- * End of "$Id: pcl-common.h 9042 2010-03-24 00:45:34Z mike $".
- */
diff --git a/driver/rastertoescpx.c b/driver/rastertoescpx.c
deleted file mode 100644 (file)
index 6e4dd4e..0000000
+++ /dev/null
@@ -1,1931 +0,0 @@
-/*
- * "$Id: rastertoescpx.c 9382 2010-11-20 01:03:46Z mike $"
- *
- *   Advanced EPSON ESC/P raster driver for CUPS.
- *
- *   Copyright 2007-2010 by Apple Inc.
- *   Copyright 1993-2005 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- * Contents:
- *
- *   Setup()           - Prepare the printer for graphics output.
- *   StartPage()       - Start a page of graphics.
- *   EndPage()         - Finish a page of graphics.
- *   Shutdown()        - Shutdown a printer.
- *   CancelJob()       - Cancel the current job...
- *   CompressData()    - Compress a line of graphics.
- *   OutputBand()      - Output a band of graphics.
- *   ProcessLine()     - Read graphics from the page stream and output
- *                       as needed.
- *   main()            - Main entry and processing of driver.
- */
-
-/*
- * Include necessary headers...
- */
-
-#include "driver.h"
-#include <cups/language-private.h>
-#include <cups/string-private.h>
-#include "data/escp.h"
-#include <signal.h>
-
-
-/*
- * Softweave data...
- */
-
-typedef struct cups_weave_str
-{
-  struct cups_weave_str        *prev,                  /* Previous band */
-                       *next;                  /* Next band */
-  int                  x, y,                   /* Column/Line on the page */
-                       plane,                  /* Color plane */
-                       dirty,                  /* Is this buffer dirty? */
-                       row,                    /* Row in the buffer */
-                       count;                  /* Max rows this pass */
-  unsigned char                *buffer;                /* Data buffer */
-} cups_weave_t;
-
-
-/*
- * Globals...
- */
-
-cups_rgb_t     *RGB;                   /* RGB color separation data */
-cups_cmyk_t    *CMYK;                  /* CMYK color separation data */
-unsigned char  *PixelBuffer,           /* Pixel buffer */
-               *CMYKBuffer,            /* CMYK buffer */
-               *OutputBuffers[7],      /* Output buffers */
-               *DotBuffers[7],         /* Dot buffers */
-               *CompBuffer;            /* Compression buffer */
-short          *InputBuffer;           /* Color separation buffer */
-cups_weave_t   *DotAvailList,          /* Available buffers */
-               *DotUsedList,           /* Used buffers */
-               *DotBands[128][7];      /* Buffers in use */
-int            DotBufferSize,          /* Size of dot buffers */
-               DotRowMax,              /* Maximum row number in buffer */
-               DotColStep,             /* Step for each output column */
-               DotRowStep,             /* Step for each output line */
-               DotRowFeed,             /* Amount to feed for interleave */
-               DotRowCount,            /* Number of rows to output */
-               DotRowOffset[7],        /* Offset for each color on print head */
-               DotRowCurrent,          /* Current row */
-               DotSize;                /* Dot size (Pro 5000 only) */
-int            PrinterPlanes,          /* # of color planes */
-               BitPlanes,              /* # of bit planes per color */
-               PrinterTop,             /* Top of page */
-               PrinterLength;          /* Length of page */
-cups_lut_t     *DitherLuts[7];         /* Lookup tables for dithering */
-cups_dither_t  *DitherStates[7];       /* Dither state tables */
-int            OutputFeed;             /* Number of lines to skip */
-int            Canceled;               /* Is the job canceled? */
-
-
-/*
- * Prototypes...
- */
-
-void   Setup(ppd_file_t *);
-void   StartPage(ppd_file_t *, cups_page_header2_t *);
-void   EndPage(ppd_file_t *, cups_page_header2_t *);
-void   Shutdown(ppd_file_t *);
-
-void   AddBand(cups_weave_t *band);
-void   CancelJob(int sig);
-void   CompressData(ppd_file_t *, const unsigned char *, const int,
-                    int, int, const int, const int, const int,
-                    const int);
-void   OutputBand(ppd_file_t *, cups_page_header2_t *,
-                  cups_weave_t *band);
-void   ProcessLine(ppd_file_t *, cups_raster_t *,
-                   cups_page_header2_t *, const int y);
-
-
-/*
- * 'Setup()' - Prepare a printer for graphics output.
- */
-
-void
-Setup(ppd_file_t *ppd)         /* I - PPD file */
-{
- /*
-  * Some EPSON printers need an additional command issued at the
-  * beginning of each job to exit from USB "packet" mode...
-  */
-
-  if (ppd->model_number & ESCP_USB)
-    cupsWritePrintData("\000\000\000\033\001@EJL 1284.4\n@EJL     \n\033@", 29);
-}
-
-
-/*
- * 'StartPage()' - Start a page of graphics.
- */
-
-void
-StartPage(ppd_file_t         *ppd,     /* I - PPD file */
-          cups_page_header2_t *header) /* I - Page header */
-{
-  int          i, y;                   /* Looping vars */
-  int          subrow,                 /* Current subrow */
-               modrow,                 /* Subrow modulus */
-               plane;                  /* Current color plane */
-  unsigned char        *ptr;                   /* Pointer into dot buffer */
-  int          bands;                  /* Number of bands to allocate */
-  int          units;                  /* Units for resolution */
-  cups_weave_t *band;                  /* Current band */
-  const char   *colormodel;            /* Color model string */
-  char         resolution[PPD_MAX_NAME],
-                                       /* Resolution string */
-               spec[PPD_MAX_NAME];     /* PPD attribute name */
-  ppd_attr_t   *attr;                  /* Attribute from PPD file */
-  const float  default_lut[2] =        /* Default dithering lookup table */
-               {
-                 0.0,
-                 1.0
-               };
-
-
-  fprintf(stderr, "DEBUG: StartPage...\n");
-  fprintf(stderr, "DEBUG: MediaClass = \"%s\"\n", header->MediaClass);
-  fprintf(stderr, "DEBUG: MediaColor = \"%s\"\n", header->MediaColor);
-  fprintf(stderr, "DEBUG: MediaType = \"%s\"\n", header->MediaType);
-  fprintf(stderr, "DEBUG: OutputType = \"%s\"\n", header->OutputType);
-
-  fprintf(stderr, "DEBUG: AdvanceDistance = %d\n", header->AdvanceDistance);
-  fprintf(stderr, "DEBUG: AdvanceMedia = %d\n", header->AdvanceMedia);
-  fprintf(stderr, "DEBUG: Collate = %d\n", header->Collate);
-  fprintf(stderr, "DEBUG: CutMedia = %d\n", header->CutMedia);
-  fprintf(stderr, "DEBUG: Duplex = %d\n", header->Duplex);
-  fprintf(stderr, "DEBUG: HWResolution = [ %d %d ]\n", header->HWResolution[0],
-          header->HWResolution[1]);
-  fprintf(stderr, "DEBUG: ImagingBoundingBox = [ %d %d %d %d ]\n",
-          header->ImagingBoundingBox[0], header->ImagingBoundingBox[1],
-          header->ImagingBoundingBox[2], header->ImagingBoundingBox[3]);
-  fprintf(stderr, "DEBUG: InsertSheet = %d\n", header->InsertSheet);
-  fprintf(stderr, "DEBUG: Jog = %d\n", header->Jog);
-  fprintf(stderr, "DEBUG: LeadingEdge = %d\n", header->LeadingEdge);
-  fprintf(stderr, "DEBUG: Margins = [ %d %d ]\n", header->Margins[0],
-          header->Margins[1]);
-  fprintf(stderr, "DEBUG: ManualFeed = %d\n", header->ManualFeed);
-  fprintf(stderr, "DEBUG: MediaPosition = %d\n", header->MediaPosition);
-  fprintf(stderr, "DEBUG: MediaWeight = %d\n", header->MediaWeight);
-  fprintf(stderr, "DEBUG: MirrorPrint = %d\n", header->MirrorPrint);
-  fprintf(stderr, "DEBUG: NegativePrint = %d\n", header->NegativePrint);
-  fprintf(stderr, "DEBUG: NumCopies = %d\n", header->NumCopies);
-  fprintf(stderr, "DEBUG: Orientation = %d\n", header->Orientation);
-  fprintf(stderr, "DEBUG: OutputFaceUp = %d\n", header->OutputFaceUp);
-  fprintf(stderr, "DEBUG: PageSize = [ %d %d ]\n", header->PageSize[0],
-          header->PageSize[1]);
-  fprintf(stderr, "DEBUG: Separations = %d\n", header->Separations);
-  fprintf(stderr, "DEBUG: TraySwitch = %d\n", header->TraySwitch);
-  fprintf(stderr, "DEBUG: Tumble = %d\n", header->Tumble);
-  fprintf(stderr, "DEBUG: cupsWidth = %d\n", header->cupsWidth);
-  fprintf(stderr, "DEBUG: cupsHeight = %d\n", header->cupsHeight);
-  fprintf(stderr, "DEBUG: cupsMediaType = %d\n", header->cupsMediaType);
-  fprintf(stderr, "DEBUG: cupsBitsPerColor = %d\n", header->cupsBitsPerColor);
-  fprintf(stderr, "DEBUG: cupsBitsPerPixel = %d\n", header->cupsBitsPerPixel);
-  fprintf(stderr, "DEBUG: cupsBytesPerLine = %d\n", header->cupsBytesPerLine);
-  fprintf(stderr, "DEBUG: cupsColorOrder = %d\n", header->cupsColorOrder);
-  fprintf(stderr, "DEBUG: cupsColorSpace = %d\n", header->cupsColorSpace);
-  fprintf(stderr, "DEBUG: cupsCompression = %d\n", header->cupsCompression);
-  fprintf(stderr, "DEBUG: cupsRowCount = %d\n", header->cupsRowCount);
-  fprintf(stderr, "DEBUG: cupsRowFeed = %d\n", header->cupsRowFeed);
-  fprintf(stderr, "DEBUG: cupsRowStep = %d\n", header->cupsRowStep);
-
- /*
-  * Figure out the color model and spec strings...
-  */
-
-  switch (header->cupsColorSpace)
-  {
-    case CUPS_CSPACE_K :
-        colormodel = "Black";
-       break;
-    case CUPS_CSPACE_W :
-        colormodel = "Gray";
-       break;
-    default :
-    case CUPS_CSPACE_RGB :
-        colormodel = "RGB";
-       break;
-    case CUPS_CSPACE_CMYK :
-        colormodel = "CMYK";
-       break;
-  }
-
-  if (header->HWResolution[0] != header->HWResolution[1])
-    snprintf(resolution, sizeof(resolution), "%dx%ddpi",
-             header->HWResolution[0], header->HWResolution[1]);
-  else
-    snprintf(resolution, sizeof(resolution), "%ddpi",
-             header->HWResolution[0]);
-
-  if (!header->MediaType[0])
-    strcpy(header->MediaType, "Plain");
-
- /*
-  * Load the appropriate color profiles...
-  */
-
-  RGB  = NULL;
-  CMYK = NULL;
-
-  fputs("DEBUG: Attempting to load color profiles using the following values:\n", stderr);
-  fprintf(stderr, "DEBUG: ColorModel = %s\n", colormodel);
-  fprintf(stderr, "DEBUG: MediaType = %s\n", header->MediaType);
-  fprintf(stderr, "DEBUG: Resolution = %s\n", resolution);
-
-  if (header->cupsColorSpace == CUPS_CSPACE_RGB ||
-      header->cupsColorSpace == CUPS_CSPACE_W)
-    RGB = cupsRGBLoad(ppd, colormodel, header->MediaType, resolution);
-  else
-    RGB = NULL;
-
-  CMYK = cupsCMYKLoad(ppd, colormodel, header->MediaType, resolution);
-
-  if (RGB)
-    fputs("DEBUG: Loaded RGB separation from PPD.\n", stderr);
-
-  if (CMYK)
-    fputs("DEBUG: Loaded CMYK separation from PPD.\n", stderr);
-  else
-  {
-    fputs("DEBUG: Loading default CMYK separation.\n", stderr);
-    CMYK = cupsCMYKNew(4);
-  }
-
-  PrinterPlanes = CMYK->num_channels;
-
-  fprintf(stderr, "DEBUG: PrinterPlanes = %d\n", PrinterPlanes);
-
- /*
-  * Get the dithering parameters...
-  */
-
-  switch (PrinterPlanes)
-  {
-    case 1 : /* K */
-        DitherLuts[0] = cupsLutLoad(ppd, colormodel, header->MediaType,
-                                   resolution, "Black");
-        break;
-
-    case 2 : /* Kk */
-        DitherLuts[0] = cupsLutLoad(ppd, colormodel, header->MediaType,
-                                   resolution, "Black");
-        DitherLuts[1] = cupsLutLoad(ppd, colormodel, header->MediaType,
-                                   resolution, "LightBlack");
-        break;
-
-    case 3 : /* CMY */
-        DitherLuts[0] = cupsLutLoad(ppd, colormodel, header->MediaType,
-                                   resolution, "Cyan");
-        DitherLuts[1] = cupsLutLoad(ppd, colormodel, header->MediaType,
-                                   resolution, "Magenta");
-        DitherLuts[2] = cupsLutLoad(ppd, colormodel, header->MediaType,
-                                   resolution, "Yellow");
-        break;
-
-    case 4 : /* CMYK */
-        DitherLuts[0] = cupsLutLoad(ppd, colormodel, header->MediaType,
-                                   resolution, "Cyan");
-        DitherLuts[1] = cupsLutLoad(ppd, colormodel, header->MediaType,
-                                   resolution, "Magenta");
-        DitherLuts[2] = cupsLutLoad(ppd, colormodel, header->MediaType,
-                                   resolution, "Yellow");
-        DitherLuts[3] = cupsLutLoad(ppd, colormodel, header->MediaType,
-                                   resolution, "Black");
-        break;
-
-    case 6 : /* CcMmYK */
-        DitherLuts[0] = cupsLutLoad(ppd, colormodel, header->MediaType,
-                                   resolution, "Cyan");
-        DitherLuts[1] = cupsLutLoad(ppd, colormodel, header->MediaType,
-                                   resolution, "LightCyan");
-        DitherLuts[2] = cupsLutLoad(ppd, colormodel, header->MediaType,
-                                   resolution, "Magenta");
-        DitherLuts[3] = cupsLutLoad(ppd, colormodel, header->MediaType,
-                                   resolution, "LightMagenta");
-        DitherLuts[4] = cupsLutLoad(ppd, colormodel, header->MediaType,
-                                   resolution, "Yellow");
-        DitherLuts[5] = cupsLutLoad(ppd, colormodel, header->MediaType,
-                                   resolution, "Black");
-        break;
-
-    case 7 : /* CcMmYKk */
-        DitherLuts[0] = cupsLutLoad(ppd, colormodel, header->MediaType,
-                                   resolution, "Cyan");
-        DitherLuts[1] = cupsLutLoad(ppd, colormodel, header->MediaType,
-                                   resolution, "LightCyan");
-        DitherLuts[2] = cupsLutLoad(ppd, colormodel, header->MediaType,
-                                   resolution, "Magenta");
-        DitherLuts[3] = cupsLutLoad(ppd, colormodel, header->MediaType,
-                                   resolution, "LightMagenta");
-        DitherLuts[4] = cupsLutLoad(ppd, colormodel, header->MediaType,
-                                   resolution, "Yellow");
-        DitherLuts[5] = cupsLutLoad(ppd, colormodel, header->MediaType,
-                                   resolution, "Black");
-        DitherLuts[6] = cupsLutLoad(ppd, colormodel, header->MediaType,
-                                   resolution, "LightBlack");
-        break;
-  }
-
-  for (plane = 0; plane < PrinterPlanes; plane ++)
-  {
-    DitherStates[plane] = cupsDitherNew(header->cupsWidth);
-
-    if (!DitherLuts[plane])
-      DitherLuts[plane] = cupsLutNew(2, default_lut);
-  }
-
-  if (DitherLuts[0][4095].pixel > 1)
-    BitPlanes = 2;
-  else
-    BitPlanes = 1;
-
- /*
-  * Initialize the printer...
-  */
-
-  printf("\033@");
-
-  if (ppd->model_number & ESCP_REMOTE)
-  {
-   /*
-    * Go into remote mode...
-    */
-
-    cupsWritePrintData("\033(R\010\000\000REMOTE1", 13);
-
-   /*
-    * Disable status reporting...
-    */
-
-    cupsWritePrintData("ST\002\000\000\000", 6);
-
-   /*
-    * Enable borderless printing...
-    */
-
-    if ((attr = ppdFindAttr(ppd, "cupsESCPFP", NULL)) != NULL && attr->value)
-    {
-     /*
-      * Set horizontal offset...
-      */
-
-      i = atoi(attr->value);
-
-      cupsWritePrintData("FP\003\000\000", 5);
-      putchar(i & 255);
-      putchar(i >> 8);
-    }
-
-   /*
-    * Set media type...
-    */
-
-    if (header->cupsMediaType)
-    {
-      sprintf(spec, "%d", header->cupsMediaType);
-
-      if ((attr = ppdFindAttr(ppd, "cupsESCPSN0", spec)) != NULL && attr->value)
-      {
-       /*
-        * Set feed sequence...
-       */
-
-       cupsWritePrintData("SN\003\000\000\000", 6);
-       putchar(atoi(attr->value));
-      }
-
-      if ((attr = ppdFindAttr(ppd, "cupsESCPSN1", spec)) != NULL && attr->value)
-      {
-       /*
-        * Set platten gap...
-       */
-
-       cupsWritePrintData("SN\003\000\000\001", 6);
-       putchar(atoi(attr->value));
-      }
-
-      if ((attr = ppdFindAttr(ppd, "cupsESCPSN2", spec)) != NULL && attr->value)
-      {
-       /*
-        * Paper feeding/ejecting sequence...
-       */
-
-       cupsWritePrintData("SN\003\000\000\002", 6);
-       putchar(atoi(attr->value));
-      }
-
-      if ((attr = ppdFindAttr(ppd, "cupsESCPSN6", spec)) != NULL && attr->value)
-      {
-       /*
-        * Eject delay...
-       */
-
-        cupsWritePrintData("SN\003\000\000\006", 6);
-        putchar(atoi(attr->value));
-      }
-
-      if ((attr = ppdFindAttr(ppd, "cupsESCPMT", spec)) != NULL && attr->value)
-      {
-       /*
-        * Set media type.
-       */
-
-       cupsWritePrintData("MT\003\000\000\000", 6);
-        putchar(atoi(attr->value));
-      }
-
-      if ((attr = ppdFindAttr(ppd, "cupsESCPPH", spec)) != NULL && attr->value)
-      {
-       /*
-        * Set paper thickness.
-        */
-
-       cupsWritePrintData("PH\002\000\000", 5);
-        putchar(atoi(attr->value));
-      }
-    }
-
-    sprintf(spec, "%d", header->MediaPosition);
-
-    if (header->MediaPosition)
-    {
-      if ((attr = ppdFindAttr(ppd, "cupsESCPPC", spec)) != NULL && attr->value)
-      {
-       /*
-       * Paper check.
-       */
-
-       cupsWritePrintData("PC\002\000\000", 5);
-        putchar(atoi(attr->value));
-      }
-
-      if ((attr = ppdFindAttr(ppd, "cupsESCPPP", spec)) != NULL && attr->value)
-      {
-       /*
-       * Paper path.
-       */
-
-        int a, b;
-
-        a = b = 0;
-        sscanf(attr->value, "%d%d", &a, &b);
-
-       cupsWritePrintData("PP\003\000\000", 5);
-        putchar(a);
-        putchar(b);
-      }
-
-      if ((attr = ppdFindAttr(ppd, "cupsESCPEX", spec)) != NULL && attr->value)
-      {
-       /*
-       * Set media position.
-       */
-
-       cupsWritePrintData("EX\006\000\000\000\000\000\005", 9);
-        putchar(atoi(attr->value));
-      }
-    }
-
-    if ((attr = ppdFindAttr(ppd, "cupsESCPMS", spec)) != NULL && attr->value)
-    {
-     /*
-      * Set media size...
-      */
-
-      cupsWritePrintData("MS\010\000\000", 5);
-      putchar(atoi(attr->value));
-
-      switch (header->PageSize[1])
-      {
-        case 1191 :    /* A3 */
-           putchar(0x01);
-           putchar(0x00);
-           putchar(0x00);
-           putchar(0x00);
-           putchar(0x00);
-           putchar(0x00);
-           break;
-       case 1032 :     /* B4 */
-           putchar(0x02);
-           putchar(0x00);
-           putchar(0x00);
-           putchar(0x00);
-           putchar(0x00);
-           putchar(0x00);
-           break;
-       case 842 :      /* A4 */
-           putchar(0x03);
-           putchar(0x00);
-           putchar(0x00);
-           putchar(0x00);
-           putchar(0x00);
-           putchar(0x00);
-           break;
-       case 595 :      /* A4.Transverse */
-           putchar(0x03);
-           putchar(0x01);
-           putchar(0x00);
-           putchar(0x00);
-           putchar(0x00);
-           putchar(0x00);
-           break;
-       case 729 :      /* B5 */
-           putchar(0x04);
-           putchar(0x00);
-           putchar(0x00);
-           putchar(0x00);
-           putchar(0x00);
-           putchar(0x00);
-           break;
-       case 516 :      /* B5.Transverse */
-           putchar(0x04);
-           putchar(0x01);
-           putchar(0x00);
-           putchar(0x00);
-           putchar(0x00);
-           putchar(0x00);
-           break;
-       case 1369 :     /* Super A3/B */
-           putchar(0x20);
-           putchar(0x00);
-           putchar(0x00);
-           putchar(0x00);
-           putchar(0x00);
-           putchar(0x00);
-           break;
-       case 792 :      /* Letter */
-           putchar(0x08);
-           putchar(0x00);
-           putchar(0x00);
-           putchar(0x00);
-           putchar(0x00);
-           putchar(0x00);
-           break;
-       case 612 :      /* Letter.Transverse */
-           putchar(0x08);
-           putchar(0x01);
-           putchar(0x00);
-           putchar(0x00);
-           putchar(0x00);
-           putchar(0x00);
-           break;
-       case 1004 :     /* Legal */
-           putchar(0x0a);
-           putchar(0x00);
-           putchar(0x00);
-           putchar(0x00);
-           putchar(0x00);
-           putchar(0x00);
-           break;
-       case 1224 :     /* Tabloid */
-           putchar(0x2d);
-           putchar(0x00);
-           putchar(0x00);
-           putchar(0x00);
-           putchar(0x00);
-           putchar(0x00);
-           break;
-       default :       /* Custom size */
-           putchar(0xff);
-           putchar(0xff);
-           i = 360 * header->PageSize[0] / 72;
-           putchar(i);
-           putchar(i >> 8);
-           i = 360 * header->PageSize[1] / 72;
-           putchar(i);
-           putchar(i >> 8);
-           break;
-      }
-    }
-
-    sprintf(spec, "%d", header->CutMedia);
-
-    if ((attr = ppdFindAttr(ppd, "cupsESCPAC", spec)) != NULL && attr->value)
-    {
-     /*
-      * Enable/disable cutter.
-      */
-
-      cupsWritePrintData("AC\002\000\000", 5);
-      putchar(atoi(attr->value));
-
-      if ((attr = ppdFindAttr(ppd, "cupsESCPSN80", header->MediaType)) != NULL && attr->value)
-      {
-       /*
-       * Cutting method...
-       */
-
-       cupsWritePrintData("SN\003\000\000\200", 6);
-       putchar(atoi(attr->value));
-      }
-
-      if ((attr = ppdFindAttr(ppd, "cupsESCPSN81", header->MediaType)) != NULL && attr->value)
-      {
-       /*
-       * Cutting pressure...
-       */
-
-       cupsWritePrintData("SN\003\000\000\201", 6);
-       putchar(atoi(attr->value));
-      }
-    }
-
-    if ((attr = ppdFindAttr(ppd, "cupsESCPCO", spec)) != NULL && attr->value)
-    {
-     /*
-      * Enable/disable cutter.
-      */
-
-      cupsWritePrintData("CO\010\000\000\000", 6);
-      putchar(atoi(attr->value));
-      cupsWritePrintData("\000\000\000\000\000", 5);
-    }
-
-   /*
-    * Exit remote mode...
-    */
-
-    cupsWritePrintData("\033\000\000\000", 4);
-  }
-
- /*
-  * Enter graphics mode...
-  */
-
-  cupsWritePrintData("\033(G\001\000\001", 6);
-
- /*
-  * Set the line feed increment...
-  */
-
-  /* TODO: get this from the PPD file... */
-  for (units = 1440; units < header->HWResolution[0]; units *= 2);
-
-  if (ppd->model_number & ESCP_EXT_UNITS)
-  {
-    cupsWritePrintData("\033(U\005\000", 5);
-    putchar(units / header->HWResolution[1]);
-    putchar(units / header->HWResolution[1]);
-    putchar(units / header->HWResolution[0]);
-    putchar(units);
-    putchar(units >> 8);
-  }
-  else
-  {
-    cupsWritePrintData("\033(U\001\000", 5);
-    putchar(3600 / header->HWResolution[1]);
-  }
-
- /*
-  * Set the page length...
-  */
-
-  PrinterLength = header->PageSize[1] * header->HWResolution[1] / 72;
-
-  if (ppd->model_number & ESCP_PAGE_SIZE)
-  {
-   /*
-    * Set page size (expands bottom margin)...
-    */
-
-    cupsWritePrintData("\033(S\010\000", 5);
-
-    i = header->PageSize[0] * header->HWResolution[1] / 72;
-    putchar(i);
-    putchar(i >> 8);
-    putchar(i >> 16);
-    putchar(i >> 24);
-
-    i = header->PageSize[1] * header->HWResolution[1] / 72;
-    putchar(i);
-    putchar(i >> 8);
-    putchar(i >> 16);
-    putchar(i >> 24);
-  }
-  else
-  {
-    cupsWritePrintData("\033(C\002\000", 5);
-    putchar(PrinterLength & 255);
-    putchar(PrinterLength >> 8);
-  }
-
- /*
-  * Set the top and bottom margins...
-  */
-
-  PrinterTop = (int)((ppd->sizes[1].length - ppd->sizes[1].top) *
-                     header->HWResolution[1] / 72.0);
-
-  if (ppd->model_number & ESCP_EXT_MARGINS)
-  {
-    cupsWritePrintData("\033(c\010\000", 5);
-
-    putchar(PrinterTop);
-    putchar(PrinterTop >> 8);
-    putchar(PrinterTop >> 16);
-    putchar(PrinterTop >> 24);
-
-    putchar(PrinterLength);
-    putchar(PrinterLength >> 8);
-    putchar(PrinterLength >> 16);
-    putchar(PrinterLength >> 24);
-  }
-  else
-  {
-    cupsWritePrintData("\033(c\004\000", 5);
-
-    putchar(PrinterTop & 255);
-    putchar(PrinterTop >> 8);
-
-    putchar(PrinterLength & 255);
-    putchar(PrinterLength >> 8);
-  }
-
- /*
-  * Set the top position...
-  */
-
-  cupsWritePrintData("\033(V\002\000\000\000", 7);
-
- /*
-  * Enable unidirectional printing depending on the mode...
-  */
-
-  if ((attr = cupsFindAttr(ppd, "cupsESCPDirection", colormodel,
-                           header->MediaType, resolution, spec,
-                          sizeof(spec))) != NULL)
-    printf("\033U%c", atoi(attr->value));
-
- /*
-  * Enable/disable microweaving as needed...
-  */
-
-  if ((attr = cupsFindAttr(ppd, "cupsESCPMicroWeave", colormodel,
-                           header->MediaType, resolution, spec,
-                          sizeof(spec))) != NULL)
-    printf("\033(i\001%c%c", 0, atoi(attr->value));
-
- /*
-  * Set the dot size and print speed as needed...
-  */
-
-  if ((attr = cupsFindAttr(ppd, "cupsESCPDotSize", colormodel,
-                           header->MediaType, resolution, spec,
-                          sizeof(spec))) != NULL)
-    printf("\033(e\002%c%c%c", 0, 0, atoi(attr->value));
-
-  if (ppd->model_number & ESCP_ESCK)
-  {
-   /*
-    * Set the print mode...
-    */
-
-    if (PrinterPlanes == 1)
-    {
-     /*
-      * Fast black printing.
-      */
-
-      cupsWritePrintData("\033(K\002\000\000\001", 7);
-    }
-    else
-    {
-     /*
-      * Color printing.
-      */
-
-      cupsWritePrintData("\033(K\002\000\000\002", 7);
-    }
-  }
-
- /*
-  * Get softweave settings from header...
-  */
-
-  if (header->cupsRowCount <= 1)
-  {
-    DotRowCount = 1;
-    DotColStep  = 1;
-    DotRowStep  = 1;
-    DotRowFeed  = 1;
-  }
-  else
-  {
-    DotRowCount = header->cupsRowCount;
-    DotRowFeed  = header->cupsRowFeed;
-    DotRowStep  = header->cupsRowStep % 100;
-    DotColStep  = header->cupsRowStep / 100;
-
-    if (DotColStep == 0)
-      DotColStep ++;
-  }
-
- /*
-  * Setup softweave parameters...
-  */
-
-  DotRowCurrent = 0;
-  DotRowMax     = DotRowCount * DotRowStep;
-  DotBufferSize = (header->cupsWidth / DotColStep * BitPlanes + 7) / 8;
-
-  fprintf(stderr, "DEBUG: DotBufferSize = %d\n", DotBufferSize);
-  fprintf(stderr, "DEBUG: DotColStep = %d\n", DotColStep);
-  fprintf(stderr, "DEBUG: DotRowMax = %d\n", DotRowMax);
-  fprintf(stderr, "DEBUG: DotRowStep = %d\n", DotRowStep);
-  fprintf(stderr, "DEBUG: DotRowFeed = %d\n", DotRowFeed);
-  fprintf(stderr, "DEBUG: DotRowCount = %d\n", DotRowCount);
-
-  DotAvailList  = NULL;
-  DotUsedList   = NULL;
-  DotBuffers[0] = NULL;
-
-  fprintf(stderr, "DEBUG: model_number = %x\n", ppd->model_number);
-
-  if (DotRowMax > 1)
-  {
-   /*
-    * Compute offsets for the color jets on the print head...
-    */
-
-    bands = DotRowStep * DotColStep * PrinterPlanes * 4;
-
-    memset(DotRowOffset, 0, sizeof(DotRowOffset));
-
-    if (PrinterPlanes == 1)
-    {
-     /*
-      * Use full height of print head...
-      */
-
-      if ((attr = ppdFindAttr(ppd, "cupsESCPBlack", resolution)) != NULL &&
-          attr->value)
-      {
-       /*
-        * Use custom black head data...
-       */
-
-        sscanf(attr->value, "%d%d", &DotRowCount, &DotRowStep);
-      }
-    }
-    else if (ppd->model_number & ESCP_STAGGER)
-    {
-     /*
-      * Use staggered print head...
-      */
-
-      fputs("DEBUG: Offset head detected...\n", stderr);
-
-      if ((attr = ppdFindAttr(ppd, "cupsESCPOffsets", resolution)) != NULL &&
-          attr->value)
-      {
-       /*
-        * Use only 1/3 of the print head when printing color...
-       */
-
-        sscanf(attr->value, "%d%d%d%d", DotRowOffset + 0,
-              DotRowOffset + 1, DotRowOffset + 2, DotRowOffset + 3);
-      }
-    }
-
-    for (i = 0; i < PrinterPlanes; i ++)
-      fprintf(stderr, "DEBUG: DotRowOffset[%d] = %d\n", i, DotRowOffset[i]);
-
-   /*
-    * Allocate bands...
-    */
-
-    for (i = 0; i < bands; i ++)
-    {
-      band         = (cups_weave_t *)calloc(1, sizeof(cups_weave_t));
-      band->next   = DotAvailList;
-      DotAvailList = band;
-
-      band->buffer = calloc(DotRowCount, DotBufferSize);
-    }
-
-    if (!DotAvailList)
-    {
-      fputs("ERROR: Unable to allocate band list\n", stderr);
-      exit(1);
-    }
-
-    fputs("DEBUG: Pointer list at start of page...\n", stderr);
-
-    for (band = DotAvailList; band != NULL; band = band->next)
-      fprintf(stderr, "DEBUG: %p\n", band);
-
-    fputs("DEBUG: ----END----\n", stderr);
-
-   /*
-    * Fill the initial bands...
-    */
-
-    modrow = DotColStep * DotRowStep;
-
-    if (DotRowFeed == 0)
-    {
-     /*
-      * Automatically compute the optimal feed value...
-      */
-
-      DotRowFeed = DotRowCount / DotColStep - DotRowStep;
-
-      while ((((DotRowFeed % 2) == 0) == ((DotRowCount % 2) == 0) ||
-              ((DotRowFeed % 3) == 0) == ((DotRowCount % 3) == 0) ||
-              ((DotRowFeed % 5) == 0) == ((DotRowCount % 5) == 0)) &&
-            DotRowFeed > 1)
-       DotRowFeed --;
-
-      if (DotRowFeed < 1)
-       DotRowFeed = 1;
-
-      fprintf(stderr, "DEBUG: Auto DotRowFeed = %d, modrow=%d...\n",
-              DotRowFeed, modrow);
-    }
-
-    memset(DotBands, 0, sizeof(DotBands));
-
-    for (i = modrow, subrow = modrow - 1, y = DotRowFeed;
-        i > 0;
-        i --, y += DotRowFeed)
-    {
-      while (DotBands[subrow][0])
-      {
-       /*
-        * This subrow is already used, move to another one...
-       */
-
-       subrow = (subrow + 1) % modrow;
-      }
-
-      for (plane = 0; plane < PrinterPlanes; plane ++)
-      {
-       /*
-        * Pull the next available band from the list...
-       */
-
-        band                    = DotAvailList;
-       DotAvailList            = DotAvailList->next;
-       DotBands[subrow][plane] = band;
-
-       /*
-        * Start the band in the first few passes, with the number of rows
-       * varying to allow for a nice interleaved pattern...
-       */
-
-        band->x     = subrow / DotRowStep;
-        band->y     = (subrow % DotRowStep) + DotRowOffset[plane];
-       band->plane = plane;
-       band->row   = 0;
-       band->count = DotRowCount - y / DotRowStep;
-
-        if (band->count < 1)
-         band->count = 1;
-       else if (band->count > DotRowCount)
-         band->count = DotRowCount;
-
-       fprintf(stderr, "DEBUG: DotBands[%d][%d] = %p, x = %d, y = %d, plane = %d, count = %d\n",
-               subrow, plane, band, band->x, band->y, band->plane, band->count);
-      }
-
-      subrow = (subrow + DotRowFeed) % modrow;
-    }
-  }
-  else
-  {
-   /*
-    * Allocate memory for a single line of graphics...
-    */
-
-    ptr = calloc(PrinterPlanes, DotBufferSize);
-
-    for (plane = 0; plane < PrinterPlanes; plane ++, ptr += DotBufferSize)
-      DotBuffers[plane] = ptr;
-  }
-
- /*
-  * Set the output resolution...
-  */
-
-  cupsWritePrintData("\033(D\004\000", 5);
-  putchar(units);
-  putchar(units >> 8);
-  putchar(units * DotRowStep / header->HWResolution[1]);
-  putchar(units * DotColStep / header->HWResolution[0]);
-
- /*
-  * Set the top of form...
-  */
-
-  OutputFeed = 0;
-
- /*
-  * Allocate buffers as needed...
-  */
-
-  PixelBuffer      = malloc(header->cupsBytesPerLine);
-  InputBuffer      = malloc(header->cupsWidth * PrinterPlanes * 2);
-  OutputBuffers[0] = malloc(PrinterPlanes * header->cupsWidth);
-
-  for (i = 1; i < PrinterPlanes; i ++)
-    OutputBuffers[i] = OutputBuffers[0] + i * header->cupsWidth;
-
-  if (RGB)
-    CMYKBuffer = malloc(header->cupsWidth * PrinterPlanes);
-
-  CompBuffer = malloc(10 * DotBufferSize * DotRowMax);
-}
-
-
-/*
- * 'EndPage()' - Finish a page of graphics.
- */
-
-void
-EndPage(ppd_file_t         *ppd,       /* I - PPD file */
-        cups_page_header2_t *header)   /* I - Page header */
-{
-  int          i;                      /* Looping var */
-  cups_weave_t *band,                  /* Current band */
-               *next;                  /* Next band in list */
-  int          plane;                  /* Current plane */
-  int          subrow;                 /* Current subrow */
-  int          subrows;                /* Number of subrows */
-
-
- /*
-  * Output the last bands of print data as necessary...
-  */
-
-  if (DotRowMax > 1)
-  {
-   /*
-    * Move the remaining bands to the used or avail lists...
-    */
-
-    subrows = DotRowStep * DotColStep;
-
-    for (subrow = 0; subrow < subrows; subrow ++)
-      for (plane = 0; plane < PrinterPlanes; plane ++)
-      {
-        if (DotBands[subrow][plane]->dirty)
-       {
-        /*
-         * Insert into the used list...
-         */
-
-          DotBands[subrow][plane]->count = DotBands[subrow][plane]->row;
-
-          AddBand(DotBands[subrow][plane]);
-       }
-       else
-       {
-        /*
-         * Nothing here, so move it to the available list...
-         */
-
-         DotBands[subrow][plane]->next = DotAvailList;
-         DotAvailList                  = DotBands[subrow][plane];
-       }
-
-       DotBands[subrow][plane] = NULL;
-      }
-
-   /*
-    * Loop until all bands are written...
-    */
-
-    fputs("DEBUG: Pointer list at end of page...\n", stderr);
-
-    for (band = DotUsedList; band != NULL; band = band->next)
-      fprintf(stderr, "DEBUG: %p (used)\n", band);
-    for (band = DotAvailList; band != NULL; band = band->next)
-      fprintf(stderr, "DEBUG: %p (avail)\n", band);
-
-    fputs("DEBUG: ----END----\n", stderr);
-
-    for (band = DotUsedList; band != NULL; band = next)
-    {
-      next = band->next;
-
-      OutputBand(ppd, header, band);
-
-      fprintf(stderr, "DEBUG: freeing used band %p, prev = %p, next = %p\n",
-              band, band->prev, band->next);
-
-      free(band->buffer);
-      free(band);
-    }
-
-   /*
-    * Free memory for the available bands, if any...
-    */
-
-    for (band = DotAvailList; band != NULL; band = next)
-    {
-      next = band->next;
-
-      fprintf(stderr, "DEBUG: freeing avail band %p, prev = %p,  next = %p\n",
-              band, band->prev, band->next);
-
-      free(band->buffer);
-      free(band);
-    }
-  }
-  else
-    free(DotBuffers[0]);
-
- /*
-  * Output a page eject sequence...
-  */
-
-  putchar(12);
-
- /*
-  * Free memory for the page...
-  */
-
-  for (i = 0; i < PrinterPlanes; i ++)
-  {
-    cupsDitherDelete(DitherStates[i]);
-    cupsLutDelete(DitherLuts[i]);
-  }
-
-  free(OutputBuffers[0]);
-
-  free(PixelBuffer);
-  free(InputBuffer);
-  free(CompBuffer);
-
-  cupsCMYKDelete(CMYK);
-
-  if (RGB)
-  {
-    cupsRGBDelete(RGB);
-    free(CMYKBuffer);
-  }
-}
-
-
-/*
- * 'Shutdown()' - Shutdown a printer.
- */
-
-void
-Shutdown(ppd_file_t *ppd)              /* I - PPD file */
-{
- /*
-  * Reset the printer...
-  */
-
-  printf("\033@");
-
-  if (ppd->model_number & ESCP_REMOTE)
-  {
-   /*
-    * Go into remote mode...
-    */
-
-    cupsWritePrintData("\033(R\010\000\000REMOTE1", 13);
-
-   /*
-    * Load defaults...
-    */
-
-    cupsWritePrintData("LD\000\000", 4);
-
-   /*
-    * Exit remote mode...
-    */
-
-    cupsWritePrintData("\033\000\000\000", 4);
-  }
-}
-
-
-/*
- * 'AddBand()' - Add a band of data to the used list.
- */
-
-void
-AddBand(cups_weave_t *band)                    /* I - Band to add */
-{
-  cups_weave_t *current,                       /* Current band */
-               *prev;                          /* Previous band */
-
-
-  if (band->count < 1)
-    return;
-
-  for (current = DotUsedList, prev = NULL;
-       current != NULL;
-       prev = current, current = current->next)
-    if (band->y < current->y ||
-        (band->y == current->y && band->x < current->x) ||
-       (band->y == current->y && band->x == current->x &&
-        band->plane < current->plane))
-      break;
-
-  if (current != NULL)
-  {
-   /*
-    * Insert the band...
-    */
-
-    band->next    = current;
-    band->prev    = prev;
-    current->prev = band;
-
-    if (prev != NULL)
-      prev->next = band;
-    else
-      DotUsedList = band;
-  }
-  else if (prev != NULL)
-  {
-   /*
-    * Append the band to the end...
-    */
-
-    band->prev = prev;
-    prev->next = band;
-    band->next = NULL;
-  }
-  else
-  {
-   /*
-    * First band in list...
-    */
-
-    DotUsedList = band;
-    band->prev  = NULL;
-    band->next  = NULL;
-  }
-}
-
-
-/*
- * 'CancelJob()' - Cancel the current job...
- */
-
-void
-CancelJob(int sig)                     /* I - Signal */
-{
-  (void)sig;
-
-  Canceled = 1;
-}
-
-
-/*
- * 'CompressData()' - Compress a line of graphics.
- */
-
-void
-CompressData(ppd_file_t          *ppd, /* I - PPD file information */
-             const unsigned char *line,        /* I - Data to compress */
-             const int           length,/* I - Number of bytes */
-            int                 plane, /* I - Color plane */
-            int                 type,  /* I - Type of compression */
-            const int           rows,  /* I - Number of lines to write */
-            const int           xstep, /* I - Spacing between columns */
-            const int           ystep, /* I - Spacing between lines */
-            const int           offset)/* I - Head offset */
-{
-  register const unsigned char *line_ptr,
-                                       /* Current byte pointer */
-               *line_end,              /* End-of-line byte pointer */
-               *start;                 /* Start of compression sequence */
-  register unsigned char *comp_ptr;    /* Pointer into compression buffer */
-  register int  count;                 /* Count of bytes for output */
-  register int bytes;                  /* Number of bytes per row */
-  static int   ctable[7][7] =          /* Colors */
-               {
-                 {  0,  0,  0,  0,  0,  0,  0 },       /* K */
-                 {  0, 16,  0,  0,  0,  0,  0 },       /* Kk */
-                 {  2,  1,  4,  0,  0,  0,  0 },       /* CMY */
-                 {  2,  1,  4,  0,  0,  0,  0 },       /* CMYK */
-                 {  0,  0,  0,  0,  0,  0,  0 },
-                 {  2, 18,  1, 17,  4,  0,  0 },       /* CcMmYK */
-                 {  2, 18,  1, 17,  4,  0, 16 },       /* CcMmYKk */
-               };
-
-
-  switch (type)
-  {
-    case 0 :
-       /*
-       * Do no compression...
-       */
-
-       line_ptr = (const unsigned char *)line;
-       line_end = (const unsigned char *)line + length;
-       break;
-
-    default :
-       /*
-        * Do TIFF pack-bits encoding...
-        */
-
-       line_ptr = (const unsigned char *)line;
-       line_end = (const unsigned char *)line + length;
-       comp_ptr = CompBuffer;
-
-       while (line_ptr < line_end && (comp_ptr - CompBuffer) < length)
-       {
-         if ((line_ptr + 1) >= line_end)
-         {
-          /*
-           * Single byte on the end...
-           */
-
-           *comp_ptr++ = 0x00;
-           *comp_ptr++ = *line_ptr++;
-         }
-         else if (line_ptr[0] == line_ptr[1])
-         {
-          /*
-           * Repeated sequence...
-           */
-
-           line_ptr ++;
-           count = 2;
-
-           while (line_ptr < (line_end - 1) &&
-                  line_ptr[0] == line_ptr[1] &&
-                  count < 127)
-           {
-              line_ptr ++;
-              count ++;
-           }
-
-           *comp_ptr++ = 257 - count;
-           *comp_ptr++ = *line_ptr++;
-         }
-         else
-         {
-          /*
-           * Non-repeated sequence...
-           */
-
-           start    = line_ptr;
-           line_ptr ++;
-           count    = 1;
-
-           while (line_ptr < (line_end - 1) &&
-                  line_ptr[0] != line_ptr[1] &&
-                  count < 127)
-           {
-              line_ptr ++;
-              count ++;
-           }
-
-           *comp_ptr++ = count - 1;
-
-           memcpy(comp_ptr, start, count);
-           comp_ptr += count;
-         }
-       }
-
-        if ((comp_ptr - CompBuffer) < length)
-       {
-          line_ptr = (const unsigned char *)CompBuffer;
-          line_end = (const unsigned char *)comp_ptr;
-       }
-       else
-       {
-         type     = 0;
-         line_ptr = (const unsigned char *)line;
-         line_end = (const unsigned char *)line + length;
-       }
-       break;
-  }
-
- /*
-  * Position the print head...
-  */
-
-  putchar(0x0d);
-
-  if (offset)
-  {
-    if (BitPlanes == 1)
-      cupsWritePrintData("\033(\\\004\000\240\005", 7);
-    else
-      printf("\033\\");
-
-    putchar(offset);
-    putchar(offset >> 8);
-  }
-
- /*
-  * Send the graphics...
-  */
-
-  bytes = length / rows;
-
-  if (ppd->model_number & ESCP_RASTER_ESCI)
-  {
-   /*
-    * Send graphics with ESC i command.
-    */
-
-    printf("\033i");
-    putchar(ctable[PrinterPlanes - 1][plane]);
-    putchar(type != 0);
-    putchar(BitPlanes);
-    putchar(bytes & 255);
-    putchar(bytes >> 8);
-    putchar(rows & 255);
-    putchar(rows >> 8);
-  }
-  else
-  {
-   /*
-    * Set the color if necessary...
-    */
-
-    if (PrinterPlanes > 1)
-    {
-      plane = ctable[PrinterPlanes - 1][plane];
-
-      if (plane & 0x10)
-       printf("\033(r%c%c%c%c", 2, 0, 1, plane & 0x0f);
-      else
-       printf("\033r%c", plane);
-    }
-
-   /*
-    * Send graphics with ESC . command.
-    */
-
-    bytes *= 8;
-
-    printf("\033.");
-    putchar(type != 0);
-    putchar(ystep);
-    putchar(xstep);
-    putchar(rows);
-    putchar(bytes & 255);
-    putchar(bytes >> 8);
-  }
-
-  cupsWritePrintData(line_ptr, line_end - line_ptr);
-}
-
-
-/*
- * 'OutputBand()' - Output a band of graphics.
- */
-
-void
-OutputBand(ppd_file_t         *ppd,    /* I - PPD file */
-           cups_page_header2_t *header,        /* I - Page header */
-           cups_weave_t       *band)   /* I - Current band */
-{
-  int  xstep,                          /* Spacing between columns */
-       ystep;                          /* Spacing between rows */
-
-
- /*
-  * Interleaved ESC/P2 graphics...
-  */
-
-  OutputFeed    = band->y - DotRowCurrent;
-  DotRowCurrent = band->y;
-
-  fprintf(stderr, "DEBUG: Printing band %p, x = %d, y = %d, plane = %d, count = %d, OutputFeed = %d\n",
-          band, band->x, band->y, band->plane, band->count, OutputFeed);
-
- /*
-  * Compute step values...
-  */
-
-  xstep = 3600 * DotColStep / header->HWResolution[0];
-  ystep = 3600 * DotRowStep / header->HWResolution[1];
-
- /*
-  * Output the band...
-  */
-
-  if (OutputFeed > 0)
-  {
-    cupsWritePrintData("\033(v\002\000", 5);
-    putchar(OutputFeed & 255);
-    putchar(OutputFeed >> 8);
-
-    OutputFeed = 0;
-  }
-
-  CompressData(ppd, band->buffer, band->count * DotBufferSize, band->plane,
-              header->cupsCompression, band->count, xstep, ystep, band->x);
-
- /*
-  * Clear the band...
-  */
-
-  memset(band->buffer, 0, band->count * DotBufferSize);
-  band->dirty = 0;
-
- /*
-  * Flush the output buffers...
-  */
-
-  fflush(stdout);
-}
-
-
-/*
- * 'ProcessLine()' - Read graphics from the page stream and output as needed.
- */
-
-void
-ProcessLine(ppd_file_t         *ppd,   /* I - PPD file */
-            cups_raster_t      *ras,   /* I - Raster stream */
-            cups_page_header2_t *header,       /* I - Page header */
-            const int          y)      /* I - Current scanline */
-{
-  int          plane,                  /* Current color plane */
-               width,                  /* Width of line */
-               subwidth,               /* Width of interleaved row */
-               subrow,                 /* Subrow for interleaved output */
-               offset,                 /* Offset to current line */
-               pass,                   /* Pass number */
-               xstep,                  /* X step value */
-               ystep;                  /* Y step value */
-  cups_weave_t *band;                  /* Current band */
-
-
- /*
-  * Read a row of graphics...
-  */
-
-  if (!cupsRasterReadPixels(ras, PixelBuffer, header->cupsBytesPerLine))
-    return;
-
- /*
-  * Perform the color separation...
-  */
-
-  width    = header->cupsWidth;
-  subwidth = header->cupsWidth / DotColStep;
-  xstep    = 3600 / header->HWResolution[0];
-  ystep    = 3600 / header->HWResolution[1];
-
-  switch (header->cupsColorSpace)
-  {
-    case CUPS_CSPACE_W :
-        if (RGB)
-       {
-         cupsRGBDoGray(RGB, PixelBuffer, CMYKBuffer, width);
-         cupsCMYKDoCMYK(CMYK, CMYKBuffer, InputBuffer, width);
-       }
-       else
-          cupsCMYKDoGray(CMYK, PixelBuffer, InputBuffer, width);
-       break;
-
-    case CUPS_CSPACE_K :
-        cupsCMYKDoBlack(CMYK, PixelBuffer, InputBuffer, width);
-       break;
-
-    default :
-    case CUPS_CSPACE_RGB :
-        if (RGB)
-       {
-         cupsRGBDoRGB(RGB, PixelBuffer, CMYKBuffer, width);
-         cupsCMYKDoCMYK(CMYK, CMYKBuffer, InputBuffer, width);
-       }
-       else
-          cupsCMYKDoRGB(CMYK, PixelBuffer, InputBuffer, width);
-       break;
-
-    case CUPS_CSPACE_CMYK :
-        cupsCMYKDoCMYK(CMYK, PixelBuffer, InputBuffer, width);
-       break;
-  }
-
- /*
-  * Dither the pixels...
-  */
-
-  for (plane = 0; plane < PrinterPlanes; plane ++)
-  {
-    cupsDitherLine(DitherStates[plane], DitherLuts[plane], InputBuffer + plane,
-                   PrinterPlanes, OutputBuffers[plane]);
-
-    if (DotRowMax == 1)
-    {
-     /*
-      * Handle microweaved output...
-      */
-
-      if (cupsCheckBytes(OutputBuffers[plane], width))
-       continue;
-
-      if (BitPlanes == 1)
-       cupsPackHorizontal(OutputBuffers[plane], DotBuffers[plane],
-                          width, 0, 1);
-      else
-       cupsPackHorizontal2(OutputBuffers[plane], DotBuffers[plane],
-                           width, 1);
-
-      if (OutputFeed > 0)
-      {
-       cupsWritePrintData("\033(v\002\000", 5);
-       putchar(OutputFeed & 255);
-       putchar(OutputFeed >> 8);
-       OutputFeed = 0;
-      }
-
-      CompressData(ppd, DotBuffers[plane], DotBufferSize, plane, 1, 1,
-                   xstep, ystep, 0);
-      fflush(stdout);
-    }
-    else
-    {
-     /*
-      * Handle softweaved output...
-      */
-
-      for (pass = 0, subrow = y % DotRowStep;
-           pass < DotColStep;
-          pass ++, subrow += DotRowStep)
-      {
-       /*
-       * See if we need to output the band...
-       */
-
-        band   = DotBands[subrow][plane];
-       offset = band->row * DotBufferSize;
-
-        if (BitPlanes == 1)
-         cupsPackHorizontal(OutputBuffers[plane] + pass,
-                            band->buffer + offset, subwidth, 0, DotColStep);
-        else
-         cupsPackHorizontal2(OutputBuffers[plane] + pass,
-                             band->buffer + offset, subwidth, DotColStep);
-
-        band->row ++;
-       band->dirty |= !cupsCheckBytes(band->buffer + offset, DotBufferSize);
-       if (band->row >= band->count)
-       {
-         if (band->dirty)
-         {
-          /*
-           * Dirty band needs to be added to the used list...
-           */
-
-           AddBand(band);
-
-           /*
-           * Then find a new band...
-           */
-
-           if (DotAvailList == NULL)
-           {
-             OutputBand(ppd, header, DotUsedList);
-
-             DotBands[subrow][plane] = DotUsedList;
-             DotUsedList->x          = band->x;
-             DotUsedList->y          = band->y + band->count * DotRowStep;
-             DotUsedList->plane      = band->plane;
-             DotUsedList->row        = 0;
-             DotUsedList->count      = DotRowCount;
-             DotUsedList             = DotUsedList->next;
-           }
-           else
-           {
-             DotBands[subrow][plane] = DotAvailList;
-             DotAvailList->x         = band->x;
-             DotAvailList->y         = band->y + band->count * DotRowStep;
-             DotAvailList->plane     = band->plane;
-             DotAvailList->row       = 0;
-             DotAvailList->count     = DotRowCount;
-             DotAvailList            = DotAvailList->next;
-           }
-         }
-         else
-         {
-          /*
-           * This band isn't dirty, so reuse it...
-           */
-
-            fprintf(stderr, "DEBUG: Blank band %p, x = %d, y = %d, plane = %d, count = %d\n",
-                   band, band->x, band->y, band->plane, band->count);
-
-           band->y     += band->count * DotRowStep;
-           band->row   = 0;
-           band->count = DotRowCount;
-         }
-        }
-      }
-    }
-  }
-
-  if (DotRowMax == 1)
-    OutputFeed ++;
-}
-
-
-/*
- * 'main()' - Main entry and processing of driver.
- */
-
-int                                    /* O - Exit status */
-main(int  argc,                                /* I - Number of command-line arguments */
-     char *argv[])                     /* I - Command-line arguments */
-{
-  int                  fd;             /* File descriptor */
-  cups_raster_t                *ras;           /* Raster stream for printing */
-  cups_page_header2_t  header;         /* Page header from file */
-  int                  page;           /* Current page */
-  int                  y;              /* Current line */
-  ppd_file_t           *ppd;           /* PPD file */
-  int                  num_options;    /* Number of options */
-  cups_option_t                *options;       /* Options */
-#if defined(HAVE_SIGACTION) && !defined(HAVE_SIGSET)
-  struct sigaction action;             /* Actions for POSIX signals */
-#endif /* HAVE_SIGACTION && !HAVE_SIGSET */
-
-
- /*
-  * Make sure status messages are not buffered...
-  */
-
-  setbuf(stderr, NULL);
-
- /*
-  * Check command-line...
-  */
-
-  if (argc < 6 || argc > 7)
-  {
-    _cupsLangPrintFilter(stderr, "ERROR",
-                         _("%s job-id user title copies options [file]"),
-                        "rastertoescpx");
-    return (1);
-  }
-
-  num_options = cupsParseOptions(argv[5], 0, &options);
-
- /*
-  * Open the PPD file...
-  */
-
-  ppd = ppdOpenFile(getenv("PPD"));
-
-  if (!ppd)
-  {
-    ppd_status_t       status;         /* PPD error */
-    int                        linenum;        /* Line number */
-
-    _cupsLangPrintFilter(stderr, "ERROR",
-                         _("The PPD file could not be opened."));
-
-    status = ppdLastError(&linenum);
-
-    fprintf(stderr, "DEBUG: %s on line %d.\n", ppdErrorString(status), linenum);
-
-    return (1);
-  }
-
-  ppdMarkDefaults(ppd);
-  cupsMarkOptions(ppd, num_options, options);
-
- /*
-  * Open the page stream...
-  */
-
-  if (argc == 7)
-  {
-    if ((fd = open(argv[6], O_RDONLY)) == -1)
-    {
-      _cupsLangPrintError("ERROR", _("Unable to open raster file"));
-      return (1);
-    }
-  }
-  else
-    fd = 0;
-
-  ras = cupsRasterOpen(fd, CUPS_RASTER_READ);
-
- /*
-  * Register a signal handler to eject the current page if the
-  * job is cancelled.
-  */
-
-  Canceled = 0;
-
-#ifdef HAVE_SIGSET /* Use System V signals over POSIX to avoid bugs */
-  sigset(SIGTERM, CancelJob);
-#elif defined(HAVE_SIGACTION)
-  memset(&action, 0, sizeof(action));
-
-  sigemptyset(&action.sa_mask);
-  action.sa_handler = CancelJob;
-  sigaction(SIGTERM, &action, NULL);
-#else
-  signal(SIGTERM, CancelJob);
-#endif /* HAVE_SIGSET */
-
- /*
-  * Initialize the print device...
-  */
-
-  Setup(ppd);
-
- /*
-  * Process pages as needed...
-  */
-
-  page = 0;
-
-  while (cupsRasterReadHeader2(ras, &header))
-  {
-   /*
-    * Write a status message with the page number and number of copies.
-    */
-
-    if (Canceled)
-      break;
-
-    page ++;
-
-    fprintf(stderr, "PAGE: %d 1\n", page);
-    _cupsLangPrintFilter(stderr, "INFO", _("Starting page %d."), page);
-
-    StartPage(ppd, &header);
-
-    for (y = 0; y < header.cupsHeight; y ++)
-    {
-     /*
-      * Let the user know how far we have progressed...
-      */
-
-      if (Canceled)
-       break;
-
-      if ((y & 127) == 0)
-      {
-        _cupsLangPrintFilter(stderr, "INFO",
-                            _("Printing page %d, %d%% complete."),
-                            page, 100 * y / header.cupsHeight);
-        fprintf(stderr, "ATTR: job-media-progress=%d\n",
-               100 * y / header.cupsHeight);
-      }
-
-     /*
-      * Read and write a line of graphics or whitespace...
-      */
-
-      ProcessLine(ppd, ras, &header, y);
-    }
-
-   /*
-    * Eject the page...
-    */
-
-    _cupsLangPrintFilter(stderr, "INFO", _("Finished page %d."), page);
-
-    EndPage(ppd, &header);
-
-    if (Canceled)
-      break;
-  }
-
-  Shutdown(ppd);
-
-  cupsFreeOptions(num_options, options);
-
-  cupsRasterClose(ras);
-
-  if (fd != 0)
-    close(fd);
-
-  if (page == 0)
-  {
-    _cupsLangPrintFilter(stderr, "ERROR", _("No pages were found."));
-    return (1);
-  }
-  else
-  {
-    _cupsLangPrintFilter(stderr, "INFO", _("Ready to print."));
-    return (0);
-  }
-}
-
-
-/*
- * End of "$Id: rastertoescpx.c 9382 2010-11-20 01:03:46Z mike $".
- */
diff --git a/driver/rastertopclx.c b/driver/rastertopclx.c
deleted file mode 100644 (file)
index 3c1075b..0000000
+++ /dev/null
@@ -1,1956 +0,0 @@
-/*
- * "$Id: rastertopclx.c 9382 2010-11-20 01:03:46Z mike $"
- *
- *   Advanced HP Page Control Language and Raster Transfer Language
- *   filter for CUPS.
- *
- *   Copyright 2007-2010 by Apple Inc.
- *   Copyright 1993-2005 by Easy Software Products
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- * Contents:
- *
- *   StartPage()    - Start a page of graphics.
- *   EndPage()      - Finish a page of graphics.
- *   Shutdown()     - Shutdown a printer.
- *   CancelJob()    - Cancel the current job...
- *   CompressData() - Compress a line of graphics.
- *   OutputLine()   - Output the specified number of lines of graphics.
- *   ReadLine()     - Read graphics from the page stream.
- *   main()         - Main entry and processing of driver.
- */
-
-/*
- * Include necessary headers...
- */
-
-#include "driver.h"
-#include <cups/language-private.h>
-#include <cups/string-private.h>
-#include "pcl-common.h"
-#include <signal.h>
-
-
-/*
- * Output modes...
- */
-
-typedef enum
-{
-  OUTPUT_BITMAP,                       /* Output bitmap data from RIP */
-  OUTPUT_INVERBIT,                     /* Output inverted bitmap data */
-  OUTPUT_RGB,                          /* Output 24-bit RGB data from RIP */
-  OUTPUT_DITHERED                      /* Output dithered data */
-} pcl_output_t;
-
-
-/*
- * Globals...
- */
-
-cups_rgb_t     *RGB;                   /* RGB color separation data */
-cups_cmyk_t    *CMYK;                  /* CMYK color separation data */
-unsigned char  *PixelBuffer,           /* Pixel buffer */
-               *CMYKBuffer,            /* CMYK buffer */
-               *OutputBuffers[6],      /* Output buffers */
-               *DotBuffers[6],         /* Bit buffers */
-               *CompBuffer,            /* Compression buffer */
-               *SeedBuffer,            /* Mode 3 seed buffers */
-               BlankValue;             /* The blank value */
-short          *InputBuffer;           /* Color separation buffer */
-cups_lut_t     *DitherLuts[6];         /* Lookup tables for dithering */
-cups_dither_t  *DitherStates[6];       /* Dither state tables */
-int            PrinterPlanes,          /* Number of color planes */
-               SeedInvalid,            /* Contents of seed buffer invalid? */
-               DotBits[6],             /* Number of bits per color */
-               DotBufferSizes[6],      /* Size of one row of color dots */
-               DotBufferSize,          /* Size of complete line */
-               OutputFeed,             /* Number of lines to skip */
-               Page;                   /* Current page number */
-pcl_output_t   OutputMode;             /* Output mode - see OUTPUT_ consts */
-const int      ColorOrders[7][7] =     /* Order of color planes */
-               {
-                 { 0, 0, 0, 0, 0, 0, 0 },      /* Black */
-                 { 0, 0, 0, 0, 0, 0, 0 },
-                 { 0, 1, 2, 0, 0, 0, 0 },      /* CMY */
-                 { 3, 0, 1, 2, 0, 0, 0 },      /* KCMY */
-                 { 0, 0, 0, 0, 0, 0, 0 },
-                 { 5, 0, 1, 2, 3, 4, 0 },      /* KCMYcm */
-                 { 5, 0, 1, 2, 3, 4, 6 }       /* KCMYcmk */
-               };
-int            Canceled;               /* Is the job canceled? */
-
-
-/*
- * Prototypes...
- */
-
-void   StartPage(ppd_file_t *ppd, cups_page_header2_t *header, int job_id,
-                 const char *user, const char *title, int num_options,
-                 cups_option_t *options);
-void   EndPage(ppd_file_t *ppd, cups_page_header2_t *header);
-void   Shutdown(ppd_file_t *ppd, int job_id, const char *user,
-                const char *title, int num_options, cups_option_t *options);
-
-void   CancelJob(int sig);
-void   CompressData(unsigned char *line, int length, int plane, int pend,
-                    int type);
-void   OutputLine(ppd_file_t *ppd, cups_page_header2_t *header);
-int    ReadLine(cups_raster_t *ras, cups_page_header2_t *header);
-
-
-/*
- * 'StartPage()' - Start a page of graphics.
- */
-
-void
-StartPage(ppd_file_t         *ppd,     /* I - PPD file */
-          cups_page_header2_t *header, /* I - Page header */
-         int                job_id,    /* I - Job ID */
-         const char         *user,     /* I - User printing job */
-         const char         *title,    /* I - Title of job */
-         int                num_options,
-                                       /* I - Number of command-line options */
-         cups_option_t      *options)  /* I - Command-line options */
-{
-  int          i;                      /* Temporary/looping var */
-  int          plane;                  /* Current plane */
-  char         s[255];                 /* Temporary value */
-  const char   *colormodel;            /* Color model string */
-  char         resolution[PPD_MAX_NAME],
-                                       /* Resolution string */
-               spec[PPD_MAX_NAME];     /* PPD attribute name */
-  ppd_attr_t   *attr;                  /* Attribute from PPD file */
-  ppd_choice_t *choice;                /* Selected option */
-  const int    *order;                 /* Order to use */
-  int          xorigin,                /* X origin of page */
-               yorigin;                /* Y origin of page */
-  static const float default_lut[2] =  /* Default dithering lookup table */
-               {
-                 0.0,
-                 1.0
-               };
-
-
- /*
-  * Debug info...
-  */
-
-  fprintf(stderr, "DEBUG: StartPage...\n");
-  fprintf(stderr, "DEBUG: MediaClass = \"%s\"\n", header->MediaClass);
-  fprintf(stderr, "DEBUG: MediaColor = \"%s\"\n", header->MediaColor);
-  fprintf(stderr, "DEBUG: MediaType = \"%s\"\n", header->MediaType);
-  fprintf(stderr, "DEBUG: OutputType = \"%s\"\n", header->OutputType);
-
-  fprintf(stderr, "DEBUG: AdvanceDistance = %d\n", header->AdvanceDistance);
-  fprintf(stderr, "DEBUG: AdvanceMedia = %d\n", header->AdvanceMedia);
-  fprintf(stderr, "DEBUG: Collate = %d\n", header->Collate);
-  fprintf(stderr, "DEBUG: CutMedia = %d\n", header->CutMedia);
-  fprintf(stderr, "DEBUG: Duplex = %d\n", header->Duplex);
-  fprintf(stderr, "DEBUG: HWResolution = [ %d %d ]\n", header->HWResolution[0],
-          header->HWResolution[1]);
-  fprintf(stderr, "DEBUG: ImagingBoundingBox = [ %d %d %d %d ]\n",
-          header->ImagingBoundingBox[0], header->ImagingBoundingBox[1],
-          header->ImagingBoundingBox[2], header->ImagingBoundingBox[3]);
-  fprintf(stderr, "DEBUG: InsertSheet = %d\n", header->InsertSheet);
-  fprintf(stderr, "DEBUG: Jog = %d\n", header->Jog);
-  fprintf(stderr, "DEBUG: LeadingEdge = %d\n", header->LeadingEdge);
-  fprintf(stderr, "DEBUG: Margins = [ %d %d ]\n", header->Margins[0],
-          header->Margins[1]);
-  fprintf(stderr, "DEBUG: ManualFeed = %d\n", header->ManualFeed);
-  fprintf(stderr, "DEBUG: MediaPosition = %d\n", header->MediaPosition);
-  fprintf(stderr, "DEBUG: MediaWeight = %d\n", header->MediaWeight);
-  fprintf(stderr, "DEBUG: MirrorPrint = %d\n", header->MirrorPrint);
-  fprintf(stderr, "DEBUG: NegativePrint = %d\n", header->NegativePrint);
-  fprintf(stderr, "DEBUG: NumCopies = %d\n", header->NumCopies);
-  fprintf(stderr, "DEBUG: Orientation = %d\n", header->Orientation);
-  fprintf(stderr, "DEBUG: OutputFaceUp = %d\n", header->OutputFaceUp);
-  fprintf(stderr, "DEBUG: PageSize = [ %d %d ]\n", header->PageSize[0],
-          header->PageSize[1]);
-  fprintf(stderr, "DEBUG: Separations = %d\n", header->Separations);
-  fprintf(stderr, "DEBUG: TraySwitch = %d\n", header->TraySwitch);
-  fprintf(stderr, "DEBUG: Tumble = %d\n", header->Tumble);
-  fprintf(stderr, "DEBUG: cupsWidth = %d\n", header->cupsWidth);
-  fprintf(stderr, "DEBUG: cupsHeight = %d\n", header->cupsHeight);
-  fprintf(stderr, "DEBUG: cupsMediaType = %d\n", header->cupsMediaType);
-  fprintf(stderr, "DEBUG: cupsBitsPerColor = %d\n", header->cupsBitsPerColor);
-  fprintf(stderr, "DEBUG: cupsBitsPerPixel = %d\n", header->cupsBitsPerPixel);
-  fprintf(stderr, "DEBUG: cupsBytesPerLine = %d\n", header->cupsBytesPerLine);
-  fprintf(stderr, "DEBUG: cupsColorOrder = %d\n", header->cupsColorOrder);
-  fprintf(stderr, "DEBUG: cupsColorSpace = %d\n", header->cupsColorSpace);
-  fprintf(stderr, "DEBUG: cupsCompression = %d\n", header->cupsCompression);
-
-#ifdef __APPLE__
- /*
-  * MacOS X 10.2.x doesn't set most of the page device attributes, so check
-  * the options and set them accordingly...
-  */
-
-  if (ppdIsMarked(ppd, "Duplex", "DuplexNoTumble"))
-  {
-    header->Duplex = CUPS_TRUE;
-    header->Tumble = CUPS_FALSE;
-  }
-  else if (ppdIsMarked(ppd, "Duplex", "DuplexTumble"))
-  {
-    header->Duplex = CUPS_TRUE;
-    header->Tumble = CUPS_TRUE;
-  }
-
-  fprintf(stderr, "DEBUG: num_options=%d\n", num_options);
-
-  for (i = 0; i < num_options; i ++)
-    fprintf(stderr, "DEBUG: options[%d]=[\"%s\" \"%s\"]\n", i,
-            options[i].name, options[i].value);
-#endif /* __APPLE__ */
-
- /*
-  * Figure out the color model and spec strings...
-  */
-
-  switch (header->cupsColorSpace)
-  {
-    case CUPS_CSPACE_K :
-        colormodel = "Black";
-       break;
-    case CUPS_CSPACE_W :
-        colormodel = "Gray";
-       break;
-    default :
-    case CUPS_CSPACE_RGB :
-        colormodel = "RGB";
-       break;
-    case CUPS_CSPACE_CMY :
-        colormodel = "CMY";
-       break;
-    case CUPS_CSPACE_CMYK :
-        colormodel = "CMYK";
-       break;
-  }
-
-  if (header->HWResolution[0] != header->HWResolution[1])
-    snprintf(resolution, sizeof(resolution), "%dx%ddpi",
-             header->HWResolution[0], header->HWResolution[1]);
-  else
-    snprintf(resolution, sizeof(resolution), "%ddpi",
-             header->HWResolution[0]);
-
-  if (!header->MediaType[0])
-    strcpy(header->MediaType, "PLAIN");
-
- /*
-  * Get the dithering parameters...
-  */
-
-  BlankValue = 0x00;
-
-  if (header->cupsBitsPerColor == 1)
-  {
-   /*
-    * Use raw bitmap mode...
-    */
-
-    switch (header->cupsColorSpace)
-    {
-      case CUPS_CSPACE_K :
-          OutputMode    = OUTPUT_BITMAP;
-         PrinterPlanes = 1;
-         break;
-      case CUPS_CSPACE_W :
-          OutputMode    = OUTPUT_INVERBIT;
-         PrinterPlanes = 1;
-         break;
-      default :
-      case CUPS_CSPACE_RGB :
-          OutputMode    = OUTPUT_INVERBIT;
-         PrinterPlanes = 3;
-         break;
-      case CUPS_CSPACE_CMY :
-          OutputMode    = OUTPUT_BITMAP;
-         PrinterPlanes = 3;
-         break;
-      case CUPS_CSPACE_CMYK :
-          OutputMode    = OUTPUT_BITMAP;
-         PrinterPlanes = 4;
-         break;
-    }
-
-    if (OutputMode == OUTPUT_INVERBIT)
-      BlankValue = 0xff;
-
-    DotBufferSize = header->cupsBytesPerLine;
-
-    memset(DitherLuts, 0, sizeof(DitherLuts));
-    memset(DitherStates, 0, sizeof(DitherStates));
-  }
-  else if (header->cupsColorSpace == CUPS_CSPACE_RGB &&
-           (ppd->model_number & PCL_RASTER_RGB24))
-  {
-   /*
-    * Use 24-bit RGB output mode...
-    */
-
-    OutputMode    = OUTPUT_RGB;
-    PrinterPlanes = 3;
-    DotBufferSize = header->cupsBytesPerLine;
-
-    if (header->cupsCompression == 10)
-      BlankValue = 0xff;
-
-    memset(DitherLuts, 0, sizeof(DitherLuts));
-    memset(DitherStates, 0, sizeof(DitherStates));
-  }
-  else if ((header->cupsColorSpace == CUPS_CSPACE_K ||
-            header->cupsColorSpace == CUPS_CSPACE_W) &&
-           (ppd->model_number & PCL_RASTER_RGB24) &&
-          header->cupsCompression == 10)
-  {
-   /*
-    * Use 24-bit RGB output mode for grayscale/black output...
-    */
-
-    OutputMode    = OUTPUT_RGB;
-    PrinterPlanes = 1;
-    DotBufferSize = header->cupsBytesPerLine;
-
-    if (header->cupsColorSpace == CUPS_CSPACE_W)
-      BlankValue = 0xff;
-
-    memset(DitherLuts, 0, sizeof(DitherLuts));
-    memset(DitherStates, 0, sizeof(DitherStates));
-  }
-  else
-  {
-   /*
-    * Use dithered output mode...
-    */
-
-    OutputMode = OUTPUT_DITHERED;
-
-   /*
-    * Load the appropriate color profiles...
-    */
-
-    RGB  = NULL;
-    CMYK = NULL;
-
-    fputs("DEBUG: Attempting to load color profiles using the following values:\n", stderr);
-    fprintf(stderr, "DEBUG: ColorModel = %s\n", colormodel);
-    fprintf(stderr, "DEBUG: MediaType = %s\n", header->MediaType);
-    fprintf(stderr, "DEBUG: Resolution = %s\n", resolution);
-
-    if (header->cupsColorSpace == CUPS_CSPACE_RGB ||
-       header->cupsColorSpace == CUPS_CSPACE_W)
-      RGB = cupsRGBLoad(ppd, colormodel, header->MediaType, resolution);
-
-    CMYK = cupsCMYKLoad(ppd, colormodel, header->MediaType, resolution);
-
-    if (RGB)
-      fputs("DEBUG: Loaded RGB separation from PPD.\n", stderr);
-
-    if (CMYK)
-      fputs("DEBUG: Loaded CMYK separation from PPD.\n", stderr);
-    else
-    {
-      fputs("DEBUG: Loading default K separation.\n", stderr);
-      CMYK = cupsCMYKNew(1);
-    }
-
-    PrinterPlanes = CMYK->num_channels;
-
-   /*
-    * Use dithered mode...
-    */
-
-    switch (PrinterPlanes)
-    {
-      case 1 : /* K */
-          DitherLuts[0] = cupsLutLoad(ppd, colormodel, header->MediaType,
-                                     resolution, "Black");
-          break;
-
-      case 3 : /* CMY */
-          DitherLuts[0] = cupsLutLoad(ppd, colormodel, header->MediaType,
-                                     resolution, "Cyan");
-          DitherLuts[1] = cupsLutLoad(ppd, colormodel, header->MediaType,
-                                     resolution, "Magenta");
-          DitherLuts[2] = cupsLutLoad(ppd, colormodel, header->MediaType,
-                                     resolution, "Yellow");
-          break;
-
-      case 4 : /* CMYK */
-          DitherLuts[0] = cupsLutLoad(ppd, colormodel, header->MediaType,
-                                     resolution, "Cyan");
-          DitherLuts[1] = cupsLutLoad(ppd, colormodel, header->MediaType,
-                                     resolution, "Magenta");
-          DitherLuts[2] = cupsLutLoad(ppd, colormodel, header->MediaType,
-                                     resolution, "Yellow");
-          DitherLuts[3] = cupsLutLoad(ppd, colormodel, header->MediaType,
-                                     resolution, "Black");
-          break;
-
-      case 6 : /* CcMmYK */
-          DitherLuts[0] = cupsLutLoad(ppd, colormodel, header->MediaType,
-                                     resolution, "Cyan");
-          DitherLuts[1] = cupsLutLoad(ppd, colormodel, header->MediaType,
-                                     resolution, "LightCyan");
-          DitherLuts[2] = cupsLutLoad(ppd, colormodel, header->MediaType,
-                                     resolution, "Magenta");
-          DitherLuts[3] = cupsLutLoad(ppd, colormodel, header->MediaType,
-                                     resolution, "LightMagenta");
-          DitherLuts[4] = cupsLutLoad(ppd, colormodel, header->MediaType,
-                                     resolution, "Yellow");
-          DitherLuts[5] = cupsLutLoad(ppd, colormodel, header->MediaType,
-                                     resolution, "Black");
-          break;
-    }
-
-    for (plane = 0; plane < PrinterPlanes; plane ++)
-    {
-      if (!DitherLuts[plane])
-        DitherLuts[plane] = cupsLutNew(2, default_lut);
-
-      if (DitherLuts[plane][4095].pixel > 1)
-       DotBits[plane] = 2;
-      else
-       DotBits[plane] = 1;
-
-      DitherStates[plane] = cupsDitherNew(header->cupsWidth);
-
-      if (!DitherLuts[plane])
-       DitherLuts[plane] = cupsLutNew(2, default_lut);
-    }
-  }
-
-  fprintf(stderr, "DEBUG: PrinterPlanes = %d\n", PrinterPlanes);
-
- /*
-  * Initialize the printer...
-  */
-
-  if ((attr = ppdFindAttr(ppd, "cupsInitialNulls", NULL)) != NULL)
-    for (i = atoi(attr->value); i > 0; i --)
-      putchar(0);
-
-  if (Page == 1 && (ppd->model_number & PCL_PJL))
-  {
-    pjl_escape();
-
-   /*
-    * PJL job setup...
-    */
-
-    pjl_set_job(job_id, user, title);
-
-    if ((attr = ppdFindAttr(ppd, "cupsPJL", "StartJob")) != NULL)
-      pjl_write(ppd, attr->value, NULL, job_id, user, title, num_options,
-                options);
-
-    snprintf(spec, sizeof(spec), "RENDERMODE.%s", colormodel);
-    if ((attr = ppdFindAttr(ppd, "cupsPJL", spec)) != NULL)
-      printf("@PJL SET RENDERMODE=%s\r\n", attr->value);
-
-    snprintf(spec, sizeof(spec), "COLORSPACE.%s", colormodel);
-    if ((attr = ppdFindAttr(ppd, "cupsPJL", spec)) != NULL)
-      printf("@PJL SET COLORSPACE=%s\r\n", attr->value);
-
-    snprintf(spec, sizeof(spec), "RENDERINTENT.%s", colormodel);
-    if ((attr = ppdFindAttr(ppd, "cupsPJL", spec)) != NULL)
-      printf("@PJL SET RENDERINTENT=%s\r\n", attr->value);
-
-    if ((attr = ppdFindAttr(ppd, "cupsPJL", "Duplex")) != NULL)
-    {
-      sprintf(s, "%d", header->Duplex);
-      pjl_write(ppd, attr->value, s, job_id, user, title, num_options, options);
-    }
-
-    if ((attr = ppdFindAttr(ppd, "cupsPJL", "Tumble")) != NULL)
-    {
-      sprintf(s, "%d", header->Tumble);
-      pjl_write(ppd, attr->value, s, job_id, user, title, num_options, options);
-    }
-
-    if ((attr = ppdFindAttr(ppd, "cupsPJL", "MediaClass")) != NULL)
-      pjl_write(ppd, attr->value, header->MediaClass, job_id, user, title,
-                num_options, options);
-
-    if ((attr = ppdFindAttr(ppd, "cupsPJL", "MediaColor")) != NULL)
-      pjl_write(ppd, attr->value, header->MediaColor, job_id, user, title,
-                num_options, options);
-
-    if ((attr = ppdFindAttr(ppd, "cupsPJL", "MediaType")) != NULL)
-      pjl_write(ppd, attr->value, header->MediaType, job_id, user, title,
-                num_options, options);
-
-    if ((attr = ppdFindAttr(ppd, "cupsPJL", "OutputType")) != NULL)
-      pjl_write(ppd, attr->value, header->OutputType, job_id, user, title,
-                num_options, options);
-
-    if ((attr = ppdFindAttr(ppd, "cupsPJL", "cupsBooklet")) != NULL &&
-        (choice = ppdFindMarkedChoice(ppd, "cupsBooklet")) != NULL)
-      pjl_write(ppd, attr->value, choice->choice, job_id, user, title,
-                num_options, options);
-
-    if ((attr = ppdFindAttr(ppd, "cupsPJL", "Jog")) != NULL)
-    {
-      sprintf(s, "%d", header->Jog);
-      pjl_write(ppd, attr->value, s, job_id, user, title, num_options, options);
-    }
-
-    if ((attr = ppdFindAttr(ppd, "cupsPJL", "cupsPunch")) != NULL &&
-        (choice = ppdFindMarkedChoice(ppd, "cupsPunch")) != NULL)
-      pjl_write(ppd, attr->value, choice->choice, job_id, user, title,
-                num_options, options);
-
-    if ((attr = ppdFindAttr(ppd, "cupsPJL", "cupsStaple")) != NULL &&
-        (choice = ppdFindMarkedChoice(ppd, "cupsStaple")) != NULL)
-      pjl_write(ppd, attr->value, choice->choice, job_id, user, title,
-                num_options, options);
-
-    if ((attr = ppdFindAttr(ppd, "cupsPJL", "cupsRET")) != NULL &&
-        (choice = ppdFindMarkedChoice(ppd, "cupsRET")) != NULL)
-      pjl_write(ppd, attr->value, choice->choice, job_id, user, title,
-                num_options, options);
-
-    if ((attr = ppdFindAttr(ppd, "cupsPJL", "cupsTonerSave")) != NULL &&
-        (choice = ppdFindMarkedChoice(ppd, "cupsTonerSave")) != NULL)
-      pjl_write(ppd, attr->value, choice->choice, job_id, user, title,
-                num_options, options);
-
-    if (ppd->model_number & PCL_PJL_PAPERWIDTH)
-    {
-      printf("@PJL SET PAPERLENGTH=%d\r\n", header->PageSize[1] * 10);
-      printf("@PJL SET PAPERWIDTH=%d\r\n", header->PageSize[0] * 10);
-    }
-
-    if (ppd->model_number & PCL_PJL_RESOLUTION)
-      printf("@PJL SET RESOLUTION=%d\r\n", header->HWResolution[0]);
-
-    if (ppd->model_number & PCL_PJL_HPGL2)
-      pjl_enter_language("HPGL2");
-    else if (ppd->model_number & PCL_PJL_PCL3GUI)
-      pjl_enter_language("PCL3GUI");
-    else
-      pjl_enter_language("PCL");
-  }
-
-  if (Page == 1)
-  {
-    pcl_reset();
-  }
-
-  if (ppd->model_number & PCL_PJL_HPGL2)
-  {
-    if (Page == 1)
-    {
-     /*
-      * HP-GL/2 initialization...
-      */
-
-      printf("IN;");
-      printf("MG\"%d %s %s\";", job_id, user, title);
-    }
-
-   /*
-    * Set media size, position, type, etc...
-    */
-
-    printf("BP5,0;");
-    printf("PS%.0f,%.0f;",
-          header->cupsHeight * 1016.0 / header->HWResolution[1],
-          header->cupsWidth * 1016.0 / header->HWResolution[0]);
-    printf("PU;");
-    printf("PA0,0");
-
-    printf("MT%d;", header->cupsMediaType);
-
-    if (header->CutMedia == CUPS_CUT_PAGE)
-      printf("EC;");
-    else
-      printf("EC0;");
-
-   /*
-    * Set graphics mode...
-    */
-
-    pcl_set_pcl_mode(0);
-    pcl_set_negative_motion();
-  }
-  else
-  {
-   /*
-    * Set media size, position, type, etc...
-    */
-
-    if (!header->Duplex || (Page & 1))
-    {
-      pcl_set_media_size(ppd, header->PageSize[0], header->PageSize[1]);
-
-      if (header->MediaPosition)
-        pcl_set_media_source(header->MediaPosition);
-
-      pcl_set_media_type(header->cupsMediaType);
-
-      if (ppdFindAttr(ppd, "cupsPJL", "Duplex") == NULL)
-        pcl_set_duplex(header->Duplex, header->Tumble);
-
-     /*
-      * Set the number of copies...
-      */
-
-      if (!ppd->manual_copies)
-       pcl_set_copies(header->NumCopies);
-
-     /*
-      * Set the output order/bin...
-      */
-
-      if (ppdFindAttr(ppd, "cupsPJL", "Jog") == NULL && header->Jog)
-        printf("\033&l%dG", header->Jog);
-    }
-    else
-    {
-     /*
-      * Print on the back side...
-      */
-
-      printf("\033&a2G");
-    }
-
-    if (header->Duplex && (ppd->model_number & PCL_RASTER_CRD))
-    {
-     /*
-      * Reload the media...
-      */
-
-      pcl_set_media_source(-2);
-    }
-
-   /*
-    * Set the units for cursor positioning and go to the top of the form.
-    */
-
-    printf("\033&u%dD", header->HWResolution[0]);
-    printf("\033*p0Y\033*p0X");
-  }
-
-  if ((attr = cupsFindAttr(ppd, "cupsPCLQuality", colormodel,
-                           header->MediaType, resolution, spec,
-                          sizeof(spec))) != NULL)
-  {
-   /*
-    * Set the print quality...
-    */
-
-    if (ppd->model_number & PCL_PJL_HPGL2)
-      printf("QM%d", atoi(attr->value));
-    else
-      printf("\033*o%dM", atoi(attr->value));
-  }
-
- /*
-  * Enter graphics mode...
-  */
-
-  if (ppd->model_number & PCL_RASTER_CRD)
-  {
-   /*
-    * Use configure raster data command...
-    */
-
-    if (OutputMode == OUTPUT_RGB)
-    {
-     /*
-      * Send 12-byte configure raster data command with horizontal and
-      * vertical resolutions as well as a color count...
-      */
-
-      if ((attr = cupsFindAttr(ppd, "cupsPCLCRDMode", colormodel,
-                               header->MediaType, resolution, spec,
-                              sizeof(spec))) != NULL)
-        i = atoi(attr->value);
-      else
-        i = 31;
-
-      printf("\033*g12W");
-      putchar(6);                      /* Format 6 */
-      putchar(i);                      /* Set pen mode */
-      putchar(0x00);                   /* Number components */
-      putchar(0x01);                   /* (1 for RGB) */
-
-      putchar(header->HWResolution[0] >> 8);
-      putchar(header->HWResolution[0]);
-      putchar(header->HWResolution[1] >> 8);
-      putchar(header->HWResolution[1]);
-
-      putchar(header->cupsCompression);        /* Compression mode 3 or 10 */
-      putchar(0x01);                   /* Portrait orientation */
-      putchar(0x20);                   /* Bits per pixel (32 = RGB) */
-      putchar(0x01);                   /* Planes per pixel (1 = chunky RGB) */
-    }
-    else
-    {
-     /*
-      * Send the configure raster data command with horizontal and
-      * vertical resolutions as well as a color count...
-      */
-
-      printf("\033*g%dW", PrinterPlanes * 6 + 2);
-      putchar(2);                      /* Format 2 */
-      putchar(PrinterPlanes);          /* Output planes */
-
-      order = ColorOrders[PrinterPlanes - 1];
-
-      for (i = 0; i < PrinterPlanes; i ++)
-      {
-        plane = order[i];
-
-       putchar(header->HWResolution[0] >> 8);
-       putchar(header->HWResolution[0]);
-       putchar(header->HWResolution[1] >> 8);
-       putchar(header->HWResolution[1]);
-       putchar(0);
-       putchar(1 << DotBits[plane]);
-      }
-    }
-  }
-  else if ((ppd->model_number & PCL_RASTER_CID) && OutputMode == OUTPUT_RGB)
-  {
-   /*
-    * Use configure image data command...
-    */
-
-    pcl_set_simple_resolution(header->HWResolution[0]);
-                                       /* Set output resolution */
-
-    cupsWritePrintData("\033*v6W\0\3\0\10\10\10", 11);
-                                       /* 24-bit RGB */
-  }
-  else
-  {
-   /*
-    * Use simple raster commands...
-    */
-
-    pcl_set_simple_resolution(header->HWResolution[0]);
-                                       /* Set output resolution */
-
-    if (PrinterPlanes == 3)
-      pcl_set_simple_cmy();
-    else if (PrinterPlanes == 4)
-      pcl_set_simple_kcmy();
-  }
-
-  if ((attr = ppdFindAttr(ppd, "cupsPCLOrigin", "X")) != NULL)
-    xorigin = atoi(attr->value);
-  else
-    xorigin = 0;
-
-  if ((attr = ppdFindAttr(ppd, "cupsPCLOrigin", "Y")) != NULL)
-    yorigin = atoi(attr->value);
-  else
-    yorigin = 120;
-
-  printf("\033&a%dH\033&a%dV", xorigin, yorigin);
-  printf("\033*r%dS", header->cupsWidth);
-  printf("\033*r%dT", header->cupsHeight);
-  printf("\033*r1A");
-
-  if (header->cupsCompression && header->cupsCompression != 10)
-    printf("\033*b%dM", header->cupsCompression);
-
-  OutputFeed = 0;
-
- /*
-  * Allocate memory for the page...
-  */
-
-  PixelBuffer = malloc(header->cupsBytesPerLine);
-
-  if (OutputMode == OUTPUT_DITHERED)
-  {
-    InputBuffer      = malloc(header->cupsWidth * PrinterPlanes * 2);
-    OutputBuffers[0] = malloc(PrinterPlanes * header->cupsWidth);
-
-    for (i = 1; i < PrinterPlanes; i ++)
-      OutputBuffers[i] = OutputBuffers[0] + i * header->cupsWidth;
-
-    if (RGB)
-      CMYKBuffer = malloc(header->cupsWidth * PrinterPlanes);
-
-    for (plane = 0, DotBufferSize = 0; plane < PrinterPlanes; plane ++)
-    {
-      DotBufferSizes[plane] = (header->cupsWidth + 7) / 8 * DotBits[plane];
-      DotBufferSize         += DotBufferSizes[plane];
-    }
-
-    DotBuffers[0] = malloc(DotBufferSize);
-    for (plane = 1; plane < PrinterPlanes; plane ++)
-      DotBuffers[plane] = DotBuffers[plane - 1] + DotBufferSizes[plane - 1];
-  }
-
-  if (header->cupsCompression)
-    CompBuffer = malloc(DotBufferSize * 4);
-
-  if (header->cupsCompression >= 3)
-    SeedBuffer = malloc(DotBufferSize);
-
-  SeedInvalid = 1;
-
-  fprintf(stderr, "BlankValue=%d\n", BlankValue);
-}
-
-
-/*
- * 'EndPage()' - Finish a page of graphics.
- */
-
-void
-EndPage(ppd_file_t         *ppd,       /* I - PPD file */
-        cups_page_header2_t *header)   /* I - Page header */
-{
-  int  plane;                          /* Current plane */
-
-
- /*
-  * End graphics mode...
-  */
-
-  if (ppd->model_number & PCL_RASTER_END_COLOR)
-    printf("\033*rC");                 /* End color GFX */
-  else
-    printf("\033*r0B");                        /* End B&W GFX */
-
- /*
-  * Output a page eject sequence...
-  */
-
-  if (ppd->model_number & PCL_PJL_HPGL2)
-  {
-     pcl_set_hpgl_mode(0);             /* Back to HP-GL/2 mode */
-     printf("PG;");                    /* Eject the current page */
-  }
-  else if (!(header->Duplex && (Page & 1)))
-    printf("\014");                    /* Eject current page */
-
- /*
-  * Free memory for the page...
-  */
-
-  free(PixelBuffer);
-
-  if (OutputMode == OUTPUT_DITHERED)
-  {
-    for (plane = 0; plane < PrinterPlanes; plane ++)
-    {
-      cupsDitherDelete(DitherStates[plane]);
-      cupsLutDelete(DitherLuts[plane]);
-    }
-
-    free(DotBuffers[0]);
-    free(InputBuffer);
-    free(OutputBuffers[0]);
-
-    cupsCMYKDelete(CMYK);
-
-    if (RGB)
-    {
-      cupsRGBDelete(RGB);
-      free(CMYKBuffer);
-    }
-  }
-
-  if (header->cupsCompression)
-    free(CompBuffer);
-
-  if (header->cupsCompression >= 3)
-    free(SeedBuffer);
-}
-
-
-/*
- * 'Shutdown()' - Shutdown a printer.
- */
-
-void
-Shutdown(ppd_file_t         *ppd,      /* I - PPD file */
-        int                job_id,     /* I - Job ID */
-        const char         *user,      /* I - User printing job */
-        const char         *title,     /* I - Title of job */
-        int                num_options,/* I - Number of command-line options */
-        cups_option_t      *options)   /* I - Command-line options */
-{
-  ppd_attr_t   *attr;                  /* Attribute from PPD file */
-
-
-  if ((attr = ppdFindAttr(ppd, "cupsPCL", "EndJob")) != NULL)
-  {
-   /*
-    * Tell the printer how many pages were in the job...
-    */
-
-    putchar(0x1b);
-    printf(attr->value, Page);
-  }
-  else
-  {
-   /*
-    * Return the printer to the default state...
-    */
-
-    pcl_reset();
-  }
-
-  if (ppd->model_number & PCL_PJL)
-  {
-    pjl_escape();
-
-    if ((attr = ppdFindAttr(ppd, "cupsPJL", "EndJob")) != NULL)
-      pjl_write(ppd, attr->value, NULL, job_id, user, title, num_options,
-                options);
-    else
-      printf("@PJL EOJ\r\n");
-
-    pjl_escape();
-  }
-}
-
-
-/*
- * 'CancelJob()' - Cancel the current job...
- */
-
-void
-CancelJob(int sig)                     /* I - Signal */
-{
-  (void)sig;
-
-  Canceled = 1;
-}
-
-
-/*
- * 'CompressData()' - Compress a line of graphics.
- */
-
-void
-CompressData(unsigned char *line,      /* I - Data to compress */
-             int           length,     /* I - Number of bytes */
-            int           plane,       /* I - Color plane */
-            int           pend,        /* I - End character for data */
-            int           type)        /* I - Type of compression */
-{
-  unsigned char        *line_ptr,              /* Current byte pointer */
-               *line_end,              /* End-of-line byte pointer */
-               *comp_ptr,              /* Pointer into compression buffer */
-               *start,                 /* Start of compression sequence */
-               *seed;                  /* Seed buffer pointer */
-  int           count,                 /* Count of bytes for output */
-               offset,                 /* Offset of bytes for output */
-               temp;                   /* Temporary count */
-  int          r, g, b;                /* RGB deltas for mode 10 compression */
-
-
-  switch (type)
-  {
-    default :
-       /*
-       * Do no compression; with a mode-0 only printer, we can compress blank
-       * lines...
-       */
-
-       line_ptr = line;
-
-        if (cupsCheckBytes(line, length))
-          line_end = line;             /* Blank line */
-        else
-         line_end = line + length;     /* Non-blank line */
-       break;
-
-    case 1 :
-       /*
-        * Do run-length encoding...
-        */
-
-       line_end = line + length;
-       for (line_ptr = line, comp_ptr = CompBuffer;
-            line_ptr < line_end;
-            comp_ptr += 2, line_ptr += count)
-       {
-         for (count = 1;
-               (line_ptr + count) < line_end &&
-                  line_ptr[0] == line_ptr[count] &&
-                  count < 256;
-               count ++);
-
-         comp_ptr[0] = count - 1;
-         comp_ptr[1] = line_ptr[0];
-       }
-
-        line_ptr = CompBuffer;
-        line_end = comp_ptr;
-       break;
-
-    case 2 :
-       /*
-        * Do TIFF pack-bits encoding...
-        */
-
-       line_ptr = line;
-       line_end = line + length;
-       comp_ptr = CompBuffer;
-
-       while (line_ptr < line_end)
-       {
-         if ((line_ptr + 1) >= line_end)
-         {
-          /*
-           * Single byte on the end...
-           */
-
-           *comp_ptr++ = 0x00;
-           *comp_ptr++ = *line_ptr++;
-         }
-         else if (line_ptr[0] == line_ptr[1])
-         {
-          /*
-           * Repeated sequence...
-           */
-
-           line_ptr ++;
-           count = 2;
-
-           while (line_ptr < (line_end - 1) &&
-                  line_ptr[0] == line_ptr[1] &&
-                  count < 127)
-           {
-              line_ptr ++;
-              count ++;
-           }
-
-           *comp_ptr++ = 257 - count;
-           *comp_ptr++ = *line_ptr++;
-         }
-         else
-         {
-          /*
-           * Non-repeated sequence...
-           */
-
-           start    = line_ptr;
-           line_ptr ++;
-           count    = 1;
-
-           while (line_ptr < (line_end - 1) &&
-                  line_ptr[0] != line_ptr[1] &&
-                  count < 127)
-           {
-              line_ptr ++;
-              count ++;
-           }
-
-           *comp_ptr++ = count - 1;
-
-           memcpy(comp_ptr, start, count);
-           comp_ptr += count;
-         }
-       }
-
-        line_ptr = CompBuffer;
-        line_end = comp_ptr;
-       break;
-
-    case 3 :
-       /*
-       * Do delta-row compression...
-       */
-
-       line_ptr = line;
-       line_end = line + length;
-
-       comp_ptr = CompBuffer;
-       seed     = SeedBuffer + plane * length;
-
-       while (line_ptr < line_end)
-        {
-         /*
-          * Find the next non-matching sequence...
-          */
-
-          start = line_ptr;
-
-         if (SeedInvalid)
-         {
-          /*
-           * The seed buffer is invalid, so do the next 8 bytes, max...
-           */
-
-           offset = 0;
-
-           if ((count = line_end - line_ptr) > 8)
-             count = 8;
-
-           line_ptr += count;
-         }
-         else
-         {
-          /*
-           * The seed buffer is valid, so compare against it...
-           */
-
-            while (*line_ptr == *seed &&
-                   line_ptr < line_end)
-            {
-              line_ptr ++;
-              seed ++;
-            }
-
-            if (line_ptr == line_end)
-              break;
-
-            offset = line_ptr - start;
-
-           /*
-            * Find up to 8 non-matching bytes...
-            */
-
-            start = line_ptr;
-            count = 0;
-            while (*line_ptr != *seed &&
-                   line_ptr < line_end &&
-                   count < 8)
-            {
-              line_ptr ++;
-              seed ++;
-              count ++;
-            }
-         }
-
-         /*
-          * Place mode 3 compression data in the buffer; see HP manuals
-          * for details...
-          */
-
-          if (offset >= 31)
-          {
-           /*
-            * Output multi-byte offset...
-            */
-
-            *comp_ptr++ = ((count - 1) << 5) | 31;
-
-            offset -= 31;
-            while (offset >= 255)
-            {
-              *comp_ptr++ = 255;
-              offset    -= 255;
-            }
-
-            *comp_ptr++ = offset;
-          }
-          else
-          {
-           /*
-            * Output single-byte offset...
-            */
-
-            *comp_ptr++ = ((count - 1) << 5) | offset;
-          }
-
-          memcpy(comp_ptr, start, count);
-          comp_ptr += count;
-        }
-
-       line_ptr = CompBuffer;
-       line_end = comp_ptr;
-
-        memcpy(SeedBuffer + plane * length, line, length);
-       break;
-
-    case 10 :
-       /*
-        * Mode 10 "near lossless" RGB compression...
-       */
-
-       line_ptr = line;
-       line_end = line + length;
-
-       comp_ptr = CompBuffer;
-       seed     = SeedBuffer;
-
-        if (PrinterPlanes == 1)
-       {
-        /*
-         * Do grayscale compression to RGB...
-         */
-
-         while (line_ptr < line_end)
-          {
-           /*
-            * Find the next non-matching sequence...
-            */
-
-            start = line_ptr;
-            while (line_ptr < line_end &&
-                  *line_ptr == *seed)
-            {
-              line_ptr ++;
-              seed ++;
-            }
-
-            if (line_ptr == line_end)
-              break;
-
-            offset = line_ptr - start;
-
-           /*
-            * Find non-matching grayscale pixels...
-            */
-
-            start = line_ptr;
-            while (line_ptr < line_end &&
-                  *line_ptr != *seed)
-            {
-              line_ptr ++;
-              seed ++;
-            }
-
-            count = line_ptr - start;
-
-#if 0
-            fprintf(stderr, "DEBUG: offset=%d, count=%d, comp_ptr=%p(%d of %d)...\n",
-                   offset, count, comp_ptr, comp_ptr - CompBuffer,
-                   BytesPerLine * 5);
-#endif /* 0 */
-
-           /*
-            * Place mode 10 compression data in the buffer; each sequence
-           * starts with a command byte that looks like:
-           *
-           *     CMD SRC SRC OFF OFF CNT CNT CNT
-           *
-           * For the purpose of this driver, CMD and SRC are always 0.
-           *
-           * If the offset >= 3 then additional offset bytes follow the
-           * first command byte, each byte == 255 until the last one.
-           *
-           * If the count >= 7, then additional count bytes follow each
-           * group of pixels, each byte == 255 until the last one.
-           *
-           * The offset and count are in RGB tuples (not bytes, as for
-           * Mode 3 and 9)...
-            */
-
-            if (offset >= 3)
-            {
-             /*
-              * Output multi-byte offset...
-              */
-
-              if (count > 7)
-               *comp_ptr++ = 0x1f;
-             else
-               *comp_ptr++ = 0x18 | (count - 1);
-
-              offset -= 3;
-              while (offset >= 255)
-              {
-               *comp_ptr++ = 255;
-               offset      -= 255;
-              }
-
-              *comp_ptr++ = offset;
-            }
-            else
-            {
-             /*
-              * Output single-byte offset...
-              */
-
-              if (count > 7)
-               *comp_ptr++ = (offset << 3) | 0x07;
-             else
-               *comp_ptr++ = (offset << 3) | (count - 1);
-            }
-
-           temp = count - 8;
-           seed -= count;
-
-            while (count > 0)
-           {
-             if (count <= temp)
-             {
-              /*
-               * This is exceedingly lame...  The replacement counts
-               * are intermingled with the data...
-               */
-
-               if (temp >= 255)
-                 *comp_ptr++ = 255;
-               else
-                 *comp_ptr++ = temp;
-
-               temp -= 255;
-             }
-
-             /*
-             * Get difference between current and see pixels...
-             */
-
-              r = *start - *seed;
-             g = r;
-             b = ((*start & 0xfe) - (*seed & 0xfe)) / 2;
-
-              if (r < -16 || r > 15 || g < -16 || g > 15 || b < -16 || b > 15)
-             {
-              /*
-               * Pack 24-bit RGB into 23 bits...  Lame...
-               */
-
-                g = *start;
-
-               *comp_ptr++ = g >> 1;
-
-               if (g & 1)
-                 *comp_ptr++ = 0x80 | (g >> 1);
-               else
-                 *comp_ptr++ = g >> 1;
-
-               if (g & 1)
-                 *comp_ptr++ = 0x80 | (g >> 1);
-               else
-                 *comp_ptr++ = g >> 1;
-              }
-             else
-             {
-              /*
-               * Pack 15-bit RGB difference...
-               */
-
-               *comp_ptr++ = 0x80 | ((r << 2) & 0x7c) | ((g >> 3) & 0x03);
-               *comp_ptr++ = ((g << 5) & 0xe0) | (b & 0x1f);
-             }
-
-              count --;
-             start ++;
-             seed ++;
-            }
-
-           /*
-           * Make sure we have the ending count if the replacement count
-           * was exactly 8 + 255n...
-           */
-
-           if (temp == 0)
-             *comp_ptr++ = 0;
-          }
-       }
-       else
-       {
-        /*
-         * Do RGB compression...
-         */
-
-         while (line_ptr < line_end)
-          {
-           /*
-            * Find the next non-matching sequence...
-            */
-
-            start = line_ptr;
-            while (line_ptr[0] == seed[0] &&
-                   line_ptr[1] == seed[1] &&
-                   line_ptr[2] == seed[2] &&
-                   (line_ptr + 2) < line_end)
-            {
-              line_ptr += 3;
-              seed += 3;
-            }
-
-            if (line_ptr == line_end)
-              break;
-
-            offset = (line_ptr - start) / 3;
-
-           /*
-            * Find non-matching RGB tuples...
-            */
-
-            start = line_ptr;
-            while ((line_ptr[0] != seed[0] ||
-                    line_ptr[1] != seed[1] ||
-                    line_ptr[2] != seed[2]) &&
-                   (line_ptr + 2) < line_end)
-            {
-              line_ptr += 3;
-              seed += 3;
-            }
-
-            count = (line_ptr - start) / 3;
-
-           /*
-            * Place mode 10 compression data in the buffer; each sequence
-           * starts with a command byte that looks like:
-           *
-           *     CMD SRC SRC OFF OFF CNT CNT CNT
-           *
-           * For the purpose of this driver, CMD and SRC are always 0.
-           *
-           * If the offset >= 3 then additional offset bytes follow the
-           * first command byte, each byte == 255 until the last one.
-           *
-           * If the count >= 7, then additional count bytes follow each
-           * group of pixels, each byte == 255 until the last one.
-           *
-           * The offset and count are in RGB tuples (not bytes, as for
-           * Mode 3 and 9)...
-            */
-
-            if (offset >= 3)
-            {
-             /*
-              * Output multi-byte offset...
-              */
-
-              if (count > 7)
-               *comp_ptr++ = 0x1f;
-             else
-               *comp_ptr++ = 0x18 | (count - 1);
-
-              offset -= 3;
-              while (offset >= 255)
-              {
-               *comp_ptr++ = 255;
-               offset      -= 255;
-              }
-
-              *comp_ptr++ = offset;
-            }
-            else
-            {
-             /*
-              * Output single-byte offset...
-              */
-
-              if (count > 7)
-               *comp_ptr++ = (offset << 3) | 0x07;
-             else
-               *comp_ptr++ = (offset << 3) | (count - 1);
-            }
-
-           temp = count - 8;
-           seed -= count * 3;
-
-            while (count > 0)
-           {
-             if (count <= temp)
-             {
-              /*
-               * This is exceedingly lame...  The replacement counts
-               * are intermingled with the data...
-               */
-
-               if (temp >= 255)
-                 *comp_ptr++ = 255;
-               else
-                 *comp_ptr++ = temp;
-
-               temp -= 255;
-             }
-
-             /*
-             * Get difference between current and see pixels...
-             */
-
-              r = start[0] - seed[0];
-             g = start[1] - seed[1];
-             b = ((start[2] & 0xfe) - (seed[2] & 0xfe)) / 2;
-
-              if (r < -16 || r > 15 || g < -16 || g > 15 || b < -16 || b > 15)
-             {
-              /*
-               * Pack 24-bit RGB into 23 bits...  Lame...
-               */
-
-               *comp_ptr++ = start[0] >> 1;
-
-               if (start[0] & 1)
-                 *comp_ptr++ = 0x80 | (start[1] >> 1);
-               else
-                 *comp_ptr++ = start[1] >> 1;
-
-               if (start[1] & 1)
-                 *comp_ptr++ = 0x80 | (start[2] >> 1);
-               else
-                 *comp_ptr++ = start[2] >> 1;
-              }
-             else
-             {
-              /*
-               * Pack 15-bit RGB difference...
-               */
-
-               *comp_ptr++ = 0x80 | ((r << 2) & 0x7c) | ((g >> 3) & 0x03);
-               *comp_ptr++ = ((g << 5) & 0xe0) | (b & 0x1f);
-             }
-
-              count --;
-             start += 3;
-             seed += 3;
-            }
-
-           /*
-           * Make sure we have the ending count if the replacement count
-           * was exactly 8 + 255n...
-           */
-
-           if (temp == 0)
-             *comp_ptr++ = 0;
-          }
-        }
-
-       line_ptr = CompBuffer;
-       line_end = comp_ptr;
-
-        memcpy(SeedBuffer, line, length);
-       break;
-  }
-
- /*
-  * Set the length of the data and write a raster plane...
-  */
-
-  printf("\033*b%d%c", (int)(line_end - line_ptr), pend);
-  cupsWritePrintData(line_ptr, line_end - line_ptr);
-}
-
-
-/*
- * 'OutputLine()' - Output the specified number of lines of graphics.
- */
-
-void
-OutputLine(ppd_file_t         *ppd,    /* I - PPD file */
-           cups_page_header2_t *header)        /* I - Page header */
-{
-  int                  i, j;           /* Looping vars */
-  int                  plane;          /* Current plane */
-  unsigned char                bit;            /* Current bit */
-  int                  bytes;          /* Number of bytes/plane */
-  int                  width;          /* Width of line in pixels */
-  const int            *order;         /* Order to use */
-  unsigned char                *ptr;           /* Pointer into buffer */
-
-
- /*
-  * Output whitespace as needed...
-  */
-
-  if (OutputFeed > 0)
-  {
-    if (header->cupsCompression < 3)
-    {
-     /*
-      * Send blank raster lines...
-      */
-
-      while (OutputFeed > 0)
-      {
-       printf("\033*b0W");
-       OutputFeed --;
-      }
-    }
-    else
-    {
-     /*
-      * Send Y offset command and invalidate the seed buffer...
-      */
-
-      printf("\033*b%dY", OutputFeed);
-      OutputFeed  = 0;
-      SeedInvalid = 1;
-    }
-  }
-
- /*
-  * Write bitmap data as needed...
-  */
-
-  switch (OutputMode)
-  {
-    case OUTPUT_BITMAP :               /* Send 1-bit bitmap data... */
-       order = ColorOrders[PrinterPlanes - 1];
-       bytes = header->cupsBytesPerLine / PrinterPlanes;
-
-       for (i = 0; i < PrinterPlanes; i ++)
-       {
-         plane = order[i];
-
-         CompressData(PixelBuffer + i * bytes, bytes, plane,
-                      (i < (PrinterPlanes - 1)) ? 'V' : 'W',
-                      header->cupsCompression);
-        }
-        break;
-
-    case OUTPUT_INVERBIT :             /* Send inverted 1-bit bitmap data... */
-       order = ColorOrders[PrinterPlanes - 1];
-       bytes = header->cupsBytesPerLine / PrinterPlanes;
-
-        for (i = header->cupsBytesPerLine, ptr = PixelBuffer;
-            i > 0;
-            i --, ptr ++)
-         *ptr = ~*ptr;
-
-       for (i = 0; i < PrinterPlanes; i ++)
-       {
-         plane = order[i];
-
-         CompressData(PixelBuffer + i * bytes, bytes, plane,
-                      (i < (PrinterPlanes - 1)) ? 'V' : 'W',
-                      header->cupsCompression);
-        }
-        break;
-
-    case OUTPUT_RGB :                  /* Send 24-bit RGB data... */
-        if (PrinterPlanes == 1 && !BlankValue)
-       {
-        /*
-         * Invert black to grayscale...
-         */
-
-          for (i = header->cupsBytesPerLine, ptr = PixelBuffer;
-              i > 0;
-              i --, ptr ++)
-           *ptr = ~*ptr;
-       }
-
-       /*
-       * Compress the output...
-       */
-
-       CompressData(PixelBuffer, header->cupsBytesPerLine, 0, 'W',
-                    header->cupsCompression);
-        break;
-
-    default :
-       order = ColorOrders[PrinterPlanes - 1];
-       width = header->cupsWidth;
-
-       for (i = 0, j = 0; i < PrinterPlanes; i ++)
-       {
-         plane = order[i];
-         bytes = DotBufferSizes[plane] / DotBits[plane];
-
-         for (bit = 1, ptr = DotBuffers[plane];
-              bit <= DotBits[plane];
-              bit <<= 1, ptr += bytes, j ++)
-         {
-           cupsPackHorizontalBit(OutputBuffers[plane], DotBuffers[plane],
-                                 width, 0, bit);
-            CompressData(ptr, bytes, j,
-                        i == (PrinterPlanes - 1) &&
-                            bit == DotBits[plane] ? 'W' : 'V',
-                        header->cupsCompression);
-          }
-       }
-       break;
-  }
-
- /*
-  * The seed buffer, if any, now should contain valid data...
-  */
-
-  SeedInvalid = 0;
-}
-
-
-/*
- * 'ReadLine()' - Read graphics from the page stream.
- */
-
-int                                    /* O - Number of lines (0 if blank) */
-ReadLine(cups_raster_t      *ras,      /* I - Raster stream */
-         cups_page_header2_t *header)  /* I - Page header */
-{
-  int  plane,                          /* Current color plane */
-       width;                          /* Width of line */
-
-
- /*
-  * Read raster data...
-  */
-
-  cupsRasterReadPixels(ras, PixelBuffer, header->cupsBytesPerLine);
-
- /*
-  * See if it is blank; if so, return right away...
-  */
-
-  if (cupsCheckValue(PixelBuffer, header->cupsBytesPerLine, BlankValue))
-    return (0);
-
- /*
-  * If we aren't dithering, return immediately...
-  */
-
-  if (OutputMode != OUTPUT_DITHERED)
-    return (1);
-
- /*
-  * Perform the color separation...
-  */
-
-  width = header->cupsWidth;
-
-  switch (header->cupsColorSpace)
-  {
-    case CUPS_CSPACE_W :
-        if (RGB)
-       {
-         cupsRGBDoGray(RGB, PixelBuffer, CMYKBuffer, width);
-
-         if (RGB->num_channels == 1)
-           cupsCMYKDoBlack(CMYK, CMYKBuffer, InputBuffer, width);
-         else
-           cupsCMYKDoCMYK(CMYK, CMYKBuffer, InputBuffer, width);
-       }
-       else
-          cupsCMYKDoGray(CMYK, PixelBuffer, InputBuffer, width);
-       break;
-
-    case CUPS_CSPACE_K :
-        cupsCMYKDoBlack(CMYK, PixelBuffer, InputBuffer, width);
-       break;
-
-    default :
-    case CUPS_CSPACE_RGB :
-        if (RGB)
-       {
-         cupsRGBDoRGB(RGB, PixelBuffer, CMYKBuffer, width);
-
-         if (RGB->num_channels == 1)
-           cupsCMYKDoBlack(CMYK, CMYKBuffer, InputBuffer, width);
-         else
-           cupsCMYKDoCMYK(CMYK, CMYKBuffer, InputBuffer, width);
-       }
-       else
-          cupsCMYKDoRGB(CMYK, PixelBuffer, InputBuffer, width);
-       break;
-
-    case CUPS_CSPACE_CMYK :
-        cupsCMYKDoCMYK(CMYK, PixelBuffer, InputBuffer, width);
-       break;
-  }
-
- /*
-  * Dither the pixels...
-  */
-
-  for (plane = 0; plane < PrinterPlanes; plane ++)
-    cupsDitherLine(DitherStates[plane], DitherLuts[plane], InputBuffer + plane,
-                   PrinterPlanes, OutputBuffers[plane]);
-
- /*
-  * Return 1 to indicate that we have non-blank output...
-  */
-
-  return (1);
-}
-
-
-/*
- * 'main()' - Main entry and processing of driver.
- */
-
-int                                    /* O - Exit status */
-main(int  argc,                                /* I - Number of command-line arguments */
-     char *argv[])                     /* I - Command-line arguments */
-{
-  int                  fd;             /* File descriptor */
-  cups_raster_t                *ras;           /* Raster stream for printing */
-  cups_page_header2_t  header;         /* Page header from file */
-  int                  y;              /* Current line */
-  ppd_file_t           *ppd;           /* PPD file */
-  int                  job_id;         /* Job ID */
-  int                  num_options;    /* Number of options */
-  cups_option_t                *options;       /* Options */
-#if defined(HAVE_SIGACTION) && !defined(HAVE_SIGSET)
-  struct sigaction action;             /* Actions for POSIX signals */
-#endif /* HAVE_SIGACTION && !HAVE_SIGSET */
-
-
- /*
-  * Make sure status messages are not buffered...
-  */
-
-  setbuf(stderr, NULL);
-
- /*
-  * Check command-line...
-  */
-
-  if (argc < 6 || argc > 7)
-  {
-    _cupsLangPrintFilter(stderr, "ERROR",
-                         _("%s job-id user title copies options [file]"),
-                         "rastertopclx");
-    return (1);
-  }
-
-  num_options = cupsParseOptions(argv[5], 0, &options);
-
- /*
-  * Open the PPD file...
-  */
-
-  ppd = ppdOpenFile(getenv("PPD"));
-
-  if (!ppd)
-  {
-    ppd_status_t       status;         /* PPD error */
-    int                        linenum;        /* Line number */
-
-    _cupsLangPrintFilter(stderr, "ERROR",
-                         _("The PPD file could not be opened."));
-
-    status = ppdLastError(&linenum);
-
-    fprintf(stderr, "DEBUG: %s on line %d.\n", ppdErrorString(status), linenum);
-
-    return (1);
-  }
-
-  ppdMarkDefaults(ppd);
-  cupsMarkOptions(ppd, num_options, options);
-
- /*
-  * Open the page stream...
-  */
-
-  if (argc == 7)
-  {
-    if ((fd = open(argv[6], O_RDONLY)) == -1)
-    {
-      _cupsLangPrintError("ERROR", _("Unable to open raster file"));
-      return (1);
-    }
-  }
-  else
-    fd = 0;
-
-  ras = cupsRasterOpen(fd, CUPS_RASTER_READ);
-
- /*
-  * Register a signal handler to eject the current page if the
-  * job is cancelled.
-  */
-
-  Canceled = 0;
-
-#ifdef HAVE_SIGSET /* Use System V signals over POSIX to avoid bugs */
-  sigset(SIGTERM, CancelJob);
-#elif defined(HAVE_SIGACTION)
-  memset(&action, 0, sizeof(action));
-
-  sigemptyset(&action.sa_mask);
-  action.sa_handler = CancelJob;
-  sigaction(SIGTERM, &action, NULL);
-#else
-  signal(SIGTERM, CancelJob);
-#endif /* HAVE_SIGSET */
-
- /*
-  * Process pages as needed...
-  */
-
-  job_id = atoi(argv[1]);
-
-  Page = 0;
-
-  while (cupsRasterReadHeader2(ras, &header))
-  {
-   /*
-    * Write a status message with the page number and number of copies.
-    */
-
-    if (Canceled)
-      break;
-
-    Page ++;
-
-    fprintf(stderr, "PAGE: %d %d\n", Page, header.NumCopies);
-    _cupsLangPrintFilter(stderr, "INFO", _("Starting page %d."), Page);
-
-    StartPage(ppd, &header, atoi(argv[1]), argv[2], argv[3],
-              num_options, options);
-
-    for (y = 0; y < (int)header.cupsHeight; y ++)
-    {
-     /*
-      * Let the user know how far we have progressed...
-      */
-
-      if (Canceled)
-       break;
-
-      if ((y & 127) == 0)
-      {
-        _cupsLangPrintFilter(stderr, "INFO",
-                            _("Printing page %d, %d%% complete."),
-                            Page, 100 * y / header.cupsHeight);
-        fprintf(stderr, "ATTR: job-media-progress=%d\n",
-               100 * y / header.cupsHeight);
-      }
-
-     /*
-      * Read and write a line of graphics or whitespace...
-      */
-
-      if (ReadLine(ras, &header))
-        OutputLine(ppd, &header);
-      else
-        OutputFeed ++;
-    }
-
-   /*
-    * Eject the page...
-    */
-
-    _cupsLangPrintFilter(stderr, "INFO", _("Finished page %d."), Page);
-
-    EndPage(ppd, &header);
-
-    if (Canceled)
-      break;
-  }
-
-  Shutdown(ppd, job_id, argv[2], argv[3], num_options, options);
-
-  cupsFreeOptions(num_options, options);
-
-  cupsRasterClose(ras);
-
-  if (fd != 0)
-    close(fd);
-
-  if (Page == 0)
-  {
-    _cupsLangPrintFilter(stderr, "ERROR", _("No pages were found."));
-    return (1);
-  }
-  else
-  {
-    _cupsLangPrintFilter(stderr, "INFO", _("Ready to print."));
-    return (0);
-  }
-}
-
-
-/*
- * End of "$Id: rastertopclx.c 9382 2010-11-20 01:03:46Z mike $".
- */
diff --git a/driver/rgb.c b/driver/rgb.c
deleted file mode 100644 (file)
index b1fe9fe..0000000
+++ /dev/null
@@ -1,558 +0,0 @@
-/*
- * "$Id: rgb.c 7306 2008-02-15 00:52:38Z mike $"
- *
- *   RGB color separation code for CUPS.
- *
- *   Copyright 2007 by Apple Inc.
- *   Copyright 1993-2005 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- * Contents:
- *
- *   cupsRGBDelete() - Delete a color separation.
- *   cupsRGBDoGray() - Do a grayscale separation...
- *   cupsRGBDoRGB()  - Do a RGB separation...
- *   cupsRGBLoad()   - Load a RGB color profile from a PPD file.
- *   cupsRGBNew()    - Create a new RGB color separation.
- */
-
-/*
- * Include necessary headers.
- */
-
-#include "driver.h"
-
-
-/*
- * 'cupsRGBDelete()' - Delete a color separation.
- */
-
-void
-cupsRGBDelete(cups_rgb_t *rgbptr)      /* I - Color separation */
-{
-  if (rgbptr == NULL)
-    return;
-
-  free(rgbptr->colors[0][0][0]);
-  free(rgbptr->colors[0][0]);
-  free(rgbptr->colors[0]);
-  free(rgbptr->colors);
-  free(rgbptr);
-}
-
-
-/*
- * 'cupsRGBDoGray()' - Do a grayscale separation...
- */
-
-void
-cupsRGBDoGray(cups_rgb_t          *rgbptr,
-                                       /* I - Color separation */
-             const unsigned char *input,
-                                       /* I - Input grayscale pixels */
-             unsigned char       *output,
-                                       /* O - Output Device-N pixels */
-             int                 num_pixels)
-                                       /* I - Number of pixels */
-{
-  int                  i;              /* Looping var */
-  int                  lastgray;       /* Previous grayscale */
-  int                  xs, ys, zs,     /* Current RGB row offsets */
-                       g, gi, gm0, gm1;/* Current gray index and multipliers ... */
-  const unsigned char  *color;         /* Current color data */
-  int                  tempg;          /* Current separation color */
-  int                  rgbsize;        /* Separation data size */
-
-
- /*
-  * Range check input...
-  */
-
-  if (!rgbptr || !input || !output || num_pixels <= 0)
-    return;
-
- /*
-  * Initialize variables used for the duration of the separation...
-  */
-
-  lastgray = -1;
-  rgbsize  = rgbptr->num_channels;
-  xs       = rgbptr->cube_size * rgbptr->cube_size * rgbptr->num_channels;
-  ys       = rgbptr->cube_size * rgbptr->num_channels;
-  zs       = rgbptr->num_channels;
-
- /*
-  * Loop through it all...
-  */
-
-  while (num_pixels > 0)
-  {
-   /*
-    * See if the next pixel is a cached value...
-    */
-
-    num_pixels --;
-
-    g = cups_srgb_lut[*input++];
-
-    if (g == lastgray)
-    {
-     /*
-      * Copy previous color and continue...
-      */
-
-      memcpy(output, output - rgbptr->num_channels, rgbsize);
-
-      output += rgbptr->num_channels;
-      continue;
-    }
-    else if (g == 0x00 && rgbptr->cache_init)
-    {
-     /*
-      * Copy black color and continue...
-      */
-
-      memcpy(output, rgbptr->black, rgbsize);
-
-      output += rgbptr->num_channels;
-      continue;
-    }
-    else if (g == 0xff && rgbptr->cache_init)
-    {
-     /*
-      * Copy white color and continue...
-      */
-
-      memcpy(output, rgbptr->white, rgbsize);
-
-      output += rgbptr->num_channels;
-      continue;
-    }
-
-   /*
-    * Nope, figure this one out on our own...
-    */
-
-    gi  = rgbptr->cube_index[g];
-    gm0 = rgbptr->cube_mult[g];
-    gm1 = 256 - gm0;
-
-    color = rgbptr->colors[gi][gi][gi];
-
-    for (i = 0; i < rgbptr->num_channels; i ++, color ++)
-    {
-      tempg = (color[0] * gm0 + color[xs + ys + zs] * gm1) / 256;
-
-      if (tempg > 255)
-        *output++ = 255;
-      else if (tempg < 0)
-        *output++ = 0;
-      else
-        *output++ = tempg;
-    }
-  }
-}
-
-
-/*
- * 'cupsRGBDoRGB()' - Do a RGB separation...
- */
-
-void
-cupsRGBDoRGB(cups_rgb_t          *rgbptr,
-                                       /* I - Color separation */
-            const unsigned char *input,
-                                       /* I - Input RGB pixels */
-            unsigned char       *output,
-                                       /* O - Output Device-N pixels */
-            int                 num_pixels)
-                                       /* I - Number of pixels */
-{
-  int                  i;              /* Looping var */
-  int                  rgb,            /* Current RGB color */
-                       lastrgb;        /* Previous RGB color */
-  int                  r, ri, rm0, rm1, rs,
-                                       /* Current red index, multipliexs, and row offset */
-                       g, gi, gm0, gm1, gs,
-                                       /* Current green ... */
-                       b, bi, bm0, bm1, bs;
-                                       /* Current blue ... */
-  const unsigned char  *color;         /* Current color data */
-  int                  tempr,          /* Current separation colors */
-                       tempg,          /* ... */
-                       tempb ;         /* ... */
-  int                  rgbsize;        /* Separation data size */
-
-
- /*
-  * Range check input...
-  */
-
-  if (!rgbptr || !input || !output || num_pixels <= 0)
-    return;
-
- /*
-  * Initialize variables used for the duration of the separation...
-  */
-
-  lastrgb = -1;
-  rgbsize = rgbptr->num_channels;
-  rs      = rgbptr->cube_size * rgbptr->cube_size * rgbptr->num_channels;
-  gs      = rgbptr->cube_size * rgbptr->num_channels;
-  bs      = rgbptr->num_channels;
-
- /*
-  * Loop through it all...
-  */
-
-  while (num_pixels > 0)
-  {
-   /*
-    * See if the next pixel is a cached value...
-    */
-
-    num_pixels --;
-
-    r   = cups_srgb_lut[*input++];
-    g   = cups_srgb_lut[*input++];
-    b   = cups_srgb_lut[*input++];
-    rgb = (((r << 8) | g) << 8) | b;
-
-    if (rgb == lastrgb)
-    {
-     /*
-      * Copy previous color and continue...
-      */
-
-      memcpy(output, output - rgbptr->num_channels, rgbsize);
-
-      output += rgbptr->num_channels;
-      continue;
-    }
-    else if (rgb == 0x000000 && rgbptr->cache_init)
-    {
-     /*
-      * Copy black color and continue...
-      */
-
-      memcpy(output, rgbptr->black, rgbsize);
-
-      output += rgbptr->num_channels;
-      continue;
-    }
-    else if (rgb == 0xffffff && rgbptr->cache_init)
-    {
-     /*
-      * Copy white color and continue...
-      */
-
-      memcpy(output, rgbptr->white, rgbsize);
-
-      output += rgbptr->num_channels;
-      continue;
-    }
-
-   /*
-    * Nope, figure this one out on our own...
-    */
-
-    ri  = rgbptr->cube_index[r];
-    rm0 = rgbptr->cube_mult[r];
-    rm1 = 256 - rm0;
-
-    gi  = rgbptr->cube_index[g];
-    gm0 = rgbptr->cube_mult[g];
-    gm1 = 256 - gm0;
-
-    bi  = rgbptr->cube_index[b];
-    bm0 = rgbptr->cube_mult[b];
-    bm1 = 256 - bm0;
-
-    color = rgbptr->colors[ri][gi][bi];
-
-    for (i = rgbptr->num_channels; i > 0; i --, color ++)
-    {
-      tempb = (color[0] * bm0 + color[bs] * bm1) / 256;
-      tempg = tempb  * gm0;
-      tempb = (color[gs] * gm0 + color[gs + bs] * bm1) / 256;
-      tempg = (tempg + tempb  * gm1) / 256;
-
-      tempr = tempg * rm0;
-
-      tempb = (color[rs] * bm0 + color[rs + bs] * bm1) / 256;
-      tempg = tempb  * gm0;
-      tempb = (color[rs + gs] * bm0 + color[rs + gs + bs] * bm1) / 256;
-      tempg = (tempg + tempb  * gm1) / 256;
-
-      tempr = (tempr + tempg * rm1) / 256;
-
-      if (tempr > 255)
-        *output++ = 255;
-      else if (tempr < 0)
-        *output++ = 0;
-      else
-        *output++ = tempr;
-    }
-  }
-}
-
-
-/*
- * 'cupsRGBLoad()' - Load a RGB color profile from a PPD file.
- */
-
-cups_rgb_t *                           /* O - New color profile */
-cupsRGBLoad(ppd_file_t *ppd,           /* I - PPD file */
-            const char *colormodel,    /* I - Color model */
-            const char *media,         /* I - Media type */
-            const char *resolution)    /* I - Resolution */
-{
-  int          i,                      /* Looping var */
-               cube_size,              /* Size of color lookup cube */
-               num_channels,           /* Number of color channels */
-               num_samples;            /* Number of color samples */
-  cups_sample_t        *samples;               /* Color samples */
-  float                values[7];              /* Color sample values */
-  char         spec[PPD_MAX_NAME];     /* Profile name */
-  ppd_attr_t   *attr;                  /* Attribute from PPD file */
-  cups_rgb_t   *rgbptr;                /* RGB color profile */
-
-
- /*
-  * Find the following attributes:
-  *
-  *    cupsRGBProfile  - Specifies the cube size, number of channels, and
-  *                      number of samples
-  *    cupsRGBSample   - Specifies an RGB to CMYK color sample
-  */
-
-  if ((attr = cupsFindAttr(ppd, "cupsRGBProfile", colormodel, media,
-                           resolution, spec, sizeof(spec))) == NULL)
-  {
-    fputs("DEBUG2: No cupsRGBProfile attribute found for the current settings!\n", stderr);
-    return (NULL);
-  }
-
-  if (!attr->value || sscanf(attr->value, "%d%d%d", &cube_size, &num_channels,
-                             &num_samples) != 3)
-  {
-    fprintf(stderr, "ERROR: Bad cupsRGBProfile attribute \'%s\'!\n",
-            attr->value ? attr->value : "(null)");
-    return (NULL);
-  }
-
-  if (cube_size < 2 || cube_size > 16 ||
-      num_channels < 1 || num_channels > CUPS_MAX_RGB ||
-      num_samples != (cube_size * cube_size * cube_size))
-  {
-    fprintf(stderr, "ERROR: Bad cupsRGBProfile attribute \'%s\'!\n",
-            attr->value);
-    return (NULL);
-  }
-
- /*
-  * Allocate memory for the samples and read them...
-  */
-
-  if ((samples = calloc(num_samples, sizeof(cups_sample_t))) == NULL)
-  {
-    fputs("ERROR: Unable to allocate memory for RGB profile!\n", stderr);
-    return (NULL);
-  }
-
- /*
-  * Read all of the samples...
-  */
-
-  for (i = 0; i < num_samples; i ++)
-    if ((attr = ppdFindNextAttr(ppd, "cupsRGBSample", spec)) == NULL)
-      break;
-    else if (!attr->value)
-    {
-      fputs("ERROR: Bad cupsRGBSample value!\n", stderr);
-      break;
-    }
-    else if (sscanf(attr->value, "%f%f%f%f%f%f%f", values + 0,
-                    values + 1, values + 2, values + 3, values + 4, values + 5,
-                    values + 6) != (3 + num_channels))
-    {
-      fputs("ERROR: Bad cupsRGBSample value!\n", stderr);
-      break;
-    }
-    else
-    {
-      samples[i].rgb[0]    = (int)(255.0 * values[0] + 0.5);
-      samples[i].rgb[1]    = (int)(255.0 * values[1] + 0.5);
-      samples[i].rgb[2]    = (int)(255.0 * values[2] + 0.5);
-      samples[i].colors[0] = (int)(255.0 * values[3] + 0.5);
-      if (num_channels > 1)
-       samples[i].colors[1] = (int)(255.0 * values[4] + 0.5);
-      if (num_channels > 2)
-       samples[i].colors[2] = (int)(255.0 * values[5] + 0.5);
-      if (num_channels > 3)
-       samples[i].colors[3] = (int)(255.0 * values[6] + 0.5);
-    }
-
- /*
-  * If everything went OK, create the color profile...
-  */
-
-  if (i == num_samples)
-    rgbptr = cupsRGBNew(num_samples, samples, cube_size, num_channels);
-  else
-    rgbptr = NULL;
-
- /*
-  * Free the temporary sample array and return...
-  */
-
-  free(samples);
-
-  return (rgbptr);
-}
-
-
-/*
- * 'cupsRGBNew()' - Create a new RGB color separation.
- */
-
-cups_rgb_t *                           /* O - New color separation or NULL */
-cupsRGBNew(int           num_samples,  /* I - Number of samples */
-          cups_sample_t *samples,      /* I - Samples */
-          int           cube_size,     /* I - Size of LUT cube */
-           int           num_channels) /* I - Number of color components */
-{
-  cups_rgb_t           *rgbptr;        /* New color separation */
-  int                  i;              /* Looping var */
-  int                  r, g, b;        /* Current RGB */
-  int                  tempsize;       /* Sibe of main arrays */
-  unsigned char                *tempc;         /* Pointer for C arrays */
-  unsigned char                **tempb ;       /* Pointer for Z arrays */
-  unsigned char                ***tempg;       /* Pointer for Y arrays */
-  unsigned char                ****tempr;      /* Pointer for X array */
-  unsigned char                rgb[3];         /* Temporary RGB value */
-
-
- /*
-  * Range-check the input...
-  */
-
-  if (!samples || num_samples != (cube_size * cube_size * cube_size) ||
-      num_channels <= 0 || num_channels > CUPS_MAX_RGB)
-    return (NULL);
-
- /*
-  * Allocate memory for the separation...
-  */
-
-  if ((rgbptr = calloc(1, sizeof(cups_rgb_t))) == NULL)
-    return (NULL);
-
- /*
-  * Allocate memory for the samples and the LUT cube...
-  */
-
-  tempsize = cube_size * cube_size * cube_size;        /* FUTURE: num_samples < cs^3 */
-
-  tempc = calloc(tempsize, num_channels);
-  tempb = calloc(tempsize, sizeof(unsigned char *));
-  tempg = calloc(cube_size * cube_size, sizeof(unsigned char **));
-  tempr = calloc(cube_size, sizeof(unsigned char ***));
-
-  if (tempc == NULL || tempb  == NULL || tempg == NULL || tempr == NULL)
-  {
-    free(rgbptr);
-
-    if (tempc)
-      free(tempc);
-
-    if (tempb)
-      free(tempb);
-
-    if (tempg)
-      free(tempg);
-
-    if (tempr)
-      free(tempr);
-
-    return (NULL);
-  }
-
- /*
-  * Fill in the arrays...
-  */
-
-  for (i = 0, r = 0; r < cube_size; r ++)
-  {
-    tempr[r] = tempg + r * cube_size;
-
-    for (g = 0; g < cube_size; g ++)
-    {
-      tempr[r][g] = tempb + i;
-
-      for (b = 0; b < cube_size; b ++, i ++)
-        tempr[r][g][b] = tempc + i * num_channels;
-    }
-  }
-
-  for (i = 0; i < num_samples; i ++)
-  {
-    r = samples[i].rgb[0] * (cube_size - 1) / 255;
-    g = samples[i].rgb[1] * (cube_size - 1) / 255;
-    b = samples[i].rgb[2] * (cube_size - 1) / 255;
-
-    memcpy(tempr[r][g][b], samples[i].colors, num_channels);
-  }
-
-  rgbptr->cube_size    = cube_size;
-  rgbptr->num_channels = num_channels;
-  rgbptr->colors       = tempr;
-
- /*
-  * Generate the lookup tables for the cube indices and multipliers...
-  */
-
-  for (i = 0; i < 256; i ++)
-  {
-    rgbptr->cube_index[i] = i * (cube_size - 1) / 256;
-
-    if (i == 0)
-      rgbptr->cube_mult[i] = 256;
-    else
-      rgbptr->cube_mult[i] = 255 - ((i * (cube_size - 1)) & 255);
-  }
-
- /*
-  * Generate the black and white cache values for the separation...
-  */
-
-  rgb[0] = 0;
-  rgb[1] = 0;
-  rgb[2] = 0;
-
-  cupsRGBDoRGB(rgbptr, rgb, rgbptr->black, 1);
-
-  rgb[0] = 255;
-  rgb[1] = 255;
-  rgb[2] = 255;
-
-  cupsRGBDoRGB(rgbptr, rgb, rgbptr->white, 1);
-
-  rgbptr->cache_init = 1;
-
- /*
-  * Return the separation...
-  */
-
-  return (rgbptr);
-}
-
-
-/*
- * End of "$Id: rgb.c 7306 2008-02-15 00:52:38Z mike $".
- */
diff --git a/driver/srgb.c b/driver/srgb.c
deleted file mode 100644 (file)
index 0a01ec4..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * "$Id: srgb.c 7306 2008-02-15 00:52:38Z mike $"
- *
- *   sRGB lookup tables for CUPS.
- *
- *   Copyright 2007 by Apple Inc.
- *   Copyright 1993-2005 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- */
-
-/*
- * Include necessary headers.
- */
-
-#include "driver.h"
-
-
-/*
- * sRGB gamma lookup table.
- */
-
-const unsigned char cups_srgb_lut[256] =
-{
-    0,  20,  28,  33,  38,  42,  46,  49,  52,  55,  58,  61,  63,  65,  68,
-   70,  72,  74,  76,  78,  80,  81,  83,  85,  87,  88,  90,  91,  93,  94,
-   96,  97,  99, 100, 102, 103, 104, 106, 107, 108, 109, 111, 112, 113, 114,
-  115, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 128, 129, 130, 131,
-  132, 133, 134, 135, 136, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
-  146, 147, 147, 148, 149, 150, 151, 152, 153, 153, 154, 155, 156, 157, 158,
-  158, 159, 160, 161, 162, 162, 163, 164, 165, 165, 166, 167, 168, 168, 169,
-  170, 171, 171, 172, 173, 174, 174, 175, 176, 176, 177, 178, 178, 179, 180,
-  181, 181, 182, 183, 183, 184, 185, 185, 186, 187, 187, 188, 189, 189, 190,
-  190, 191, 192, 192, 193, 194, 194, 195, 196, 196, 197, 197, 198, 199, 199,
-  200, 200, 201, 202, 202, 203, 203, 204, 205, 205, 206, 206, 207, 208, 208,
-  209, 209, 210, 210, 211, 212, 212, 213, 213, 214, 214, 215, 216, 216, 217,
-  217, 218, 218, 219, 219, 220, 220, 221, 222, 222, 223, 223, 224, 224, 225,
-  225, 226, 226, 227, 227, 228, 228, 229, 229, 230, 230, 231, 231, 232, 232,
-  233, 233, 234, 234, 235, 235, 236, 236, 237, 237, 238, 238, 239, 239, 240,
-  240, 241, 241, 242, 242, 243, 243, 244, 244, 245, 245, 246, 246, 247, 247,
-  248, 248, 249, 249, 249, 250, 250, 251, 251, 252, 252, 253, 253, 254, 254,
-  255
-};
-
-
-/*
- * sRGB gamma lookup table (inverted output to map to CMYK...)
- */
-
-const unsigned char cups_scmy_lut[256] =
-{
-  255, 235, 227, 222, 217, 213, 209, 206, 203, 200, 197, 194, 192, 190, 187,
-  185, 183, 181, 179, 177, 175, 174, 172, 170, 168, 167, 165, 164, 162, 161,
-  159, 158, 156, 155, 153, 152, 151, 149, 148, 147, 146, 144, 143, 142, 141,
-  140, 138, 137, 136, 135, 134, 133, 132, 131, 130, 129, 127, 126, 125, 124,
-  123, 122, 121, 120, 119, 119, 118, 117, 116, 115, 114, 113, 112, 111, 110,
-  109, 108, 108, 107, 106, 105, 104, 103, 102, 102, 101, 100,  99,  98,  97,
-   97,  96,  95,  94,  93,  93,  92,  91,  90,  90,  89,  88,  87,  87,  86,
-   85,  84,  84,  83,  82,  81,  81,  80,  79,  79,  78,  77,  77,  76,  75,
-   74,  74,  73,  72,  72,  71,  70,  70,  69,  68,  68,  67,  66,  66,  65,
-   65,  64,  63,  63,  62,  61,  61,  60,  59,  59,  58,  58,  57,  56,  56,
-   55,  55,  54,  53,  53,  52,  52,  51,  50,  50,  49,  49,  48,  47,  47,
-   46,  46,  45,  45,  44,  43,  43,  42,  42,  41,  41,  40,  39,  39,  38,
-   38,  37,  37,  36,  36,  35,  35,  34,  33,  33,  32,  32,  31,  31,  30,
-   30,  29,  29,  28,  28,  27,  27,  26,  26,  25,  25,  24,  24,  23,  23,
-   22,  22,  21,  21,  20,  20,  19,  19,  18,  18,  17,  17,  16,  16,  15,
-   15,  14,  14,  13,  13,  12,  12,  11,  11,  10,  10,   9,   9,   8,   8,
-    7,   7,   6,   6,   6,   5,   5,   4,   4,   3,   3,   2,   2,   1,   1,
-    0
-};
-
-
-/*
- * End of "$Id: srgb.c 7306 2008-02-15 00:52:38Z mike $".
- */
diff --git a/driver/testcmyk.c b/driver/testcmyk.c
deleted file mode 100644 (file)
index 21dc1a4..0000000
+++ /dev/null
@@ -1,437 +0,0 @@
-/*
- * "$Id: testcmyk.c 9982 2011-09-09 17:32:52Z mike $"
- *
- *   Test the CMYK color separation code for CUPS.
- *
- *   Copyright 2007-2011 by Apple Inc.
- *   Copyright 1993-2006 by Easy Software Products, All Rights Reserved.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- * Contents:
- *
- *   test_gray() - Test grayscale separations...
- *   test_rgb()  - Test color separations...
- *   main()      - Do color separation tests.
- */
-
-/*
- * Include necessary headers.
- */
-
-#include <cups/string-private.h>
-#include "driver.h"
-#include <sys/stat.h>
-
-
-void   test_gray(int num_comps, const char *base);
-void   test_rgb(int num_comps, const char *base);
-
-
-/*
- * 'main()' - Do color separation tests.
- */
-
-int                                            /* O - Exit status */
-main(int  argc,                                        /* I - Number of command-line arguments */
-     char *argv[])                             /* I - Command-line arguments */
-{
- /*
-  * Make the test directory...
-  */
-
-  mkdir("test", 0755);
-
- /*
-  * Run tests for K, Kk, CMY, CMYK, CcMmYK, and CcMmYKk separations...
-  */
-
-  test_rgb(1, "test/K-rgb");
-  test_rgb(2, "test/Kk-rgb");
-  test_rgb(3, "test/CMY-rgb");
-  test_rgb(4, "test/CMYK-rgb");
-  test_rgb(6, "test/CcMmYK-rgb");
-  test_rgb(7, "test/CcMmYKk-rgb");
-
-  test_gray(1, "test/K-gray");
-  test_gray(2, "test/Kk-gray");
-  test_gray(3, "test/CMY-gray");
-  test_gray(4, "test/CMYK-gray");
-  test_gray(6, "test/CcMmYK-gray");
-  test_gray(7, "test/CcMmYKk-gray");
-
- /*
-  * Return with no errors...
-  */
-
-  return (0);
-}
-
-
-/*
- * 'test_gray()' - Test grayscale separations...
- */
-
-void
-test_gray(int        num_comps,                /* I - Number of components */
-         const char *base)             /* I - Base filename of output */
-{
-  int                  i;              /* Looping var */
-  char                 filename[255];  /* Output filename */
-  char                 line[255];      /* Line from PGM file */
-  int                  width, height;  /* Width and height of test image */
-  int                  x, y;           /* Current coordinate in image */
-  int                  r, g, b;        /* Current RGB color */
-  unsigned char                input[7000];    /* Line to separate */
-  short                        output[48000],  /* Output separation data */
-                       *outptr;        /* Pointer in output */
-  FILE                 *in;            /* Input PPM file */
-  FILE                 *out[CUPS_MAX_CHAN];
-                                       /* Output PGM files */
-  FILE                 *comp;          /* Composite output */
-  cups_cmyk_t          *cmyk;          /* Color separation */
-
-
- /*
-  * Open the test image...
-  */
-
-  in = fopen("image.pgm", "rb");
-  while (fgets(line, sizeof(line), in) != NULL)
-    if (isdigit(line[0]))
-      break;
-
-  sscanf(line, "%d%d", &width, &height);
-
-  fgets(line, sizeof(line), in);
-
- /*
-  * Create the color separation...
-  */
-
-  cmyk = cupsCMYKNew(num_comps);
-
-  switch (num_comps)
-  {
-    case 2 : /* Kk */
-        cupsCMYKSetLtDk(cmyk, 0, 0.5, 1.0);
-       break;
-
-    case 4 :
-       cupsCMYKSetGamma(cmyk, 2, 1.0, 0.9);
-        cupsCMYKSetBlack(cmyk, 0.5, 1.0);
-       break;
-
-    case 6 : /* CcMmYK */
-        cupsCMYKSetLtDk(cmyk, 0, 0.5, 1.0);
-        cupsCMYKSetLtDk(cmyk, 2, 0.5, 1.0);
-       cupsCMYKSetGamma(cmyk, 4, 1.0, 0.9);
-        cupsCMYKSetBlack(cmyk, 0.5, 1.0);
-       break;
-
-    case 7 : /* CcMmYKk */
-        cupsCMYKSetLtDk(cmyk, 0, 0.5, 1.0);
-        cupsCMYKSetLtDk(cmyk, 2, 0.5, 1.0);
-       cupsCMYKSetGamma(cmyk, 4, 1.0, 0.9);
-        cupsCMYKSetLtDk(cmyk, 5, 0.5, 1.0);
-       break;
-  }
-
- /*
-  * Open the color separation files...
-  */
-
-  for (i = 0; i < num_comps; i ++)
-  {
-    sprintf(filename, "%s%d.pgm", base, i);
-    out[i] = fopen(filename, "wb");
-
-    fprintf(out[i], "P5\n%d %d 255\n", width, height);
-  }
-
-  sprintf(filename, "%s.ppm", base);
-  comp = fopen(filename, "wb");
-
-  fprintf(comp, "P6\n%d %d 255\n", width, height);
-
- /*
-  * Read the image and do the separations...
-  */
-
-  for (y = 0; y < height; y ++)
-  {
-    fread(input, width, 1, in);
-
-    cupsCMYKDoGray(cmyk, input, output, width);
-
-    for (x = 0, outptr = output; x < width; x ++, outptr += num_comps)
-    {
-      for (i = 0; i < num_comps; i ++)
-        putc(255 - 255 * outptr[i] / 4095, out[i]);
-
-      r = 4095;
-      g = 4095;
-      b = 4095;
-
-      switch (num_comps)
-      {
-        case 1 :
-           r -= outptr[0];
-           g -= outptr[0];
-           b -= outptr[0];
-           break;
-       case 2 :
-           r -= outptr[0];
-           g -= outptr[0];
-           b -= outptr[0];
-
-           r -= outptr[1] / 2;
-           g -= outptr[1] / 2;
-           b -= outptr[1] / 2;
-           break;
-       case 3 :
-           r -= outptr[0];
-           g -= outptr[1];
-           b -= outptr[2];
-           break;
-       case 4 :
-           r -= outptr[0];
-           g -= outptr[1];
-           b -= outptr[2];
-
-           r -= outptr[3];
-           g -= outptr[3];
-           b -= outptr[3];
-           break;
-       case 6 :
-           r -= outptr[0] + outptr[1] / 2;
-           g -= outptr[2] + outptr[3] / 3;
-           b -= outptr[4];
-
-           r -= outptr[5];
-           g -= outptr[5];
-           b -= outptr[5];
-           break;
-       case 7 :
-           r -= outptr[0] + outptr[1] / 2;
-           g -= outptr[2] + outptr[3] / 3;
-           b -= outptr[4];
-
-           r -= outptr[5] + outptr[6] / 2;
-           g -= outptr[5] + outptr[6] / 2;
-           b -= outptr[5] + outptr[6] / 2;
-           break;
-      }
-
-      if (r < 0)
-        putc(0, comp);
-      else
-        putc(255 * r / 4095, comp);
-
-      if (g < 0)
-        putc(0, comp);
-      else
-        putc(255 * g / 4095, comp);
-
-      if (b < 0)
-        putc(0, comp);
-      else
-        putc(255 * b / 4095, comp);
-    }
-  }
-
-  for (i = 0; i < num_comps; i ++)
-    fclose(out[i]);
-
-  fclose(comp);
-  fclose(in);
-
-  cupsCMYKDelete(cmyk);
-}
-
-
-/*
- * 'test_rgb()' - Test color separations...
- */
-
-void
-test_rgb(int        num_comps,         /* I - Number of components */
-        const char *base)              /* I - Base filename of output */
-{
-  int                  i;              /* Looping var */
-  char                 filename[255];  /* Output filename */
-  char                 line[255];      /* Line from PPM file */
-  int                  width, height;  /* Width and height of test image */
-  int                  x, y;           /* Current coordinate in image */
-  int                  r, g, b;        /* Current RGB color */
-  unsigned char                input[7000];    /* Line to separate */
-  short                        output[48000],  /* Output separation data */
-                       *outptr;        /* Pointer in output */
-  FILE                 *in;            /* Input PPM file */
-  FILE                 *out[CUPS_MAX_CHAN];
-                                       /* Output PGM files */
-  FILE                 *comp;          /* Composite output */
-  cups_cmyk_t          *cmyk;          /* Color separation */
-
-
- /*
-  * Open the test image...
-  */
-
-  in = fopen("image.ppm", "rb");
-  while (fgets(line, sizeof(line), in) != NULL)
-    if (isdigit(line[0]))
-      break;
-
-  sscanf(line, "%d%d", &width, &height);
-
-  fgets(line, sizeof(line), in);
-
- /*
-  * Create the color separation...
-  */
-
-  cmyk = cupsCMYKNew(num_comps);
-
-  cupsCMYKSetBlack(cmyk, 0.5, 1.0);
-
-  switch (num_comps)
-  {
-    case 2 : /* Kk */
-        cupsCMYKSetLtDk(cmyk, 0, 0.5, 1.0);
-       break;
-    case 6 : /* CcMmYK */
-       cupsCMYKSetGamma(cmyk, 0, 1.0, 0.8);
-        cupsCMYKSetLtDk(cmyk, 0, 0.5, 1.0);
-       cupsCMYKSetGamma(cmyk, 2, 1.0, 0.8);
-        cupsCMYKSetLtDk(cmyk, 2, 0.5, 1.0);
-       break;
-    case 7 : /* CcMmYKk */
-       cupsCMYKSetGamma(cmyk, 0, 1.0, 0.8);
-        cupsCMYKSetLtDk(cmyk, 0, 0.5, 1.0);
-       cupsCMYKSetGamma(cmyk, 2, 1.0, 0.8);
-        cupsCMYKSetLtDk(cmyk, 2, 0.5, 1.0);
-        cupsCMYKSetLtDk(cmyk, 5, 0.5, 1.0);
-       break;
-  }
-
- /*
-  * Open the color separation files...
-  */
-
-  for (i = 0; i < num_comps; i ++)
-  {
-    sprintf(filename, "%s%d.pgm", base, i);
-    out[i] = fopen(filename, "wb");
-
-    fprintf(out[i], "P5\n%d %d 255\n", width, height);
-  }
-
-  sprintf(filename, "%s.ppm", base);
-  comp = fopen(filename, "wb");
-
-  fprintf(comp, "P6\n%d %d 255\n", width, height);
-
- /*
-  * Read the image and do the separations...
-  */
-
-  for (y = 0; y < height; y ++)
-  {
-    fread(input, width, 3, in);
-
-    cupsCMYKDoRGB(cmyk, input, output, width);
-
-    for (x = 0, outptr = output; x < width; x ++, outptr += num_comps)
-    {
-      for (i = 0; i < num_comps; i ++)
-        putc(255 - 255 * outptr[i] / 4095, out[i]);
-
-      r = 4095;
-      g = 4095;
-      b = 4095;
-
-      switch (num_comps)
-      {
-        case 1 :
-           r -= outptr[0];
-           g -= outptr[0];
-           b -= outptr[0];
-           break;
-       case 2 :
-           r -= outptr[0];
-           g -= outptr[0];
-           b -= outptr[0];
-
-           r -= outptr[1] / 2;
-           g -= outptr[1] / 2;
-           b -= outptr[1] / 2;
-           break;
-       case 3 :
-           r -= outptr[0];
-           g -= outptr[1];
-           b -= outptr[2];
-           break;
-       case 4 :
-           r -= outptr[0];
-           g -= outptr[1];
-           b -= outptr[2];
-
-           r -= outptr[3];
-           g -= outptr[3];
-           b -= outptr[3];
-           break;
-       case 6 :
-           r -= outptr[0] + outptr[1] / 2;
-           g -= outptr[2] + outptr[3] / 3;
-           b -= outptr[4];
-
-           r -= outptr[5];
-           g -= outptr[5];
-           b -= outptr[5];
-           break;
-       case 7 :
-           r -= outptr[0] + outptr[1] / 2;
-           g -= outptr[2] + outptr[3] / 3;
-           b -= outptr[4];
-
-           r -= outptr[5] + outptr[6] / 2;
-           g -= outptr[5] + outptr[6] / 2;
-           b -= outptr[5] + outptr[6] / 2;
-           break;
-      }
-
-      if (r < 0)
-        putc(0, comp);
-      else
-        putc(255 * r / 4095, comp);
-
-      if (g < 0)
-        putc(0, comp);
-      else
-        putc(255 * g / 4095, comp);
-
-      if (b < 0)
-        putc(0, comp);
-      else
-        putc(255 * b / 4095, comp);
-    }
-  }
-
-  for (i = 0; i < num_comps; i ++)
-    fclose(out[i]);
-
-  fclose(comp);
-  fclose(in);
-
-  cupsCMYKDelete(cmyk);
-}
-
-
-/*
- * End of "$Id: testcmyk.c 9982 2011-09-09 17:32:52Z mike $".
- */
diff --git a/driver/testdither.c b/driver/testdither.c
deleted file mode 100644 (file)
index e9dc047..0000000
+++ /dev/null
@@ -1,191 +0,0 @@
-/*
- * "$Id: testdither.c 9042 2010-03-24 00:45:34Z mike $"
- *
- *   Dither test program for CUPS.
- *
- *   Try the following:
- *
- *       testdither 0 255 > filename.ppm
- *       testdither 0 127 255 > filename.ppm
- *       testdither 0 85 170 255 > filename.ppm
- *       testdither 0 63 127 170 198 227 255 > filename.ppm
- *       testdither 0 210 383 > filename.ppm
- *       testdither 0 82 255 > filename.ppm
- *
- *   Copyright 2007-2010 by Apple Inc.
- *   Copyright 1993-2005 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- * Contents:
- *
- *   main()  - Test dithering and output a PPM file.
- *   usage() - Show program usage...
- */
-
-/*
- * Include necessary headers.
- */
-
-#include "driver.h"
-#include <cups/string-private.h>
-
-
-/*
- * Local functions...
- */
-
-void   usage(void);
-
-
-/*
- * 'main()' - Test dithering and output a PPM file.
- */
-
-int                            /* O - Exit status */
-main(int  argc,                        /* I - Number of command-line arguments */
-     char *argv[])             /* I - Command-line arguments */
-{
-  int          x, y;           /* Current coordinate in image */
-  short                line[512];      /* Line to dither */
-  unsigned char        pixels[512],    /* Dither pixels */
-               *pixptr;        /* Pointer in line */
-  int          output;         /* Output pixel */
-  cups_lut_t   *lut;           /* Dither lookup table */
-  cups_dither_t        *dither;        /* Dither state */
-  int          nlutvals;       /* Number of lookup values */
-  float                lutvals[16];    /* Lookup values */
-  int          pixvals[16];    /* Pixel values */
-
-
- /*
-  * See if we have lookup table values on the command-line...
-  */
-
-  if (argc > 1)
-  {
-   /*
-    * Yes, collect them...
-    */
-
-    nlutvals = 0;
-
-    for (x = 1; x < argc; x ++)
-      if (isdigit(argv[x][0]) && nlutvals < 16)
-      {
-        pixvals[nlutvals] = atoi(argv[x]);
-        lutvals[nlutvals] = atof(argv[x]) / 255.0;
-       nlutvals ++;
-      }
-      else
-        usage();
-
-   /*
-    * See if we have at least 2 values...
-    */
-
-    if (nlutvals < 2)
-      usage();
-  }
-  else
-  {
-   /*
-    * Otherwise use the default 2-entry LUT with values of 0 and 255...
-    */
-
-    nlutvals   = 2;
-    lutvals[0] = 0.0;
-    lutvals[1] = 1.0;
-    pixvals[0] = 0;
-    pixvals[1] = 255;
-  }
-
- /*
-  * Create the lookup table and dither state...
-  */
-
-  lut    = cupsLutNew(nlutvals, lutvals);
-  dither = cupsDitherNew(512);
-
- /*
-  * Put out the PGM header for a raw 256x256x8-bit grayscale file...
-  */
-
-  puts("P5\n512\n512\n255");
-
- /*
-  * Dither 512 lines, which are written out in 256 image lines...
-  */
-
-  for (y = 0; y < 512; y ++)
-  {
-   /*
-    * Create the grayscale data for the current line...
-    */
-
-    for (x = 0; x < 512; x ++)
-      line[x] = 4095 * ((y / 32) * 16 + x / 32) / 255;
-
-   /*
-    * Dither the line...
-    */
-
-    cupsDitherLine(dither, lut, line, 1, pixels);
-
-    if (y == 0)
-    {
-      fputs("DEBUG: pixels =", stderr);
-      for (x = 0; x < 512; x ++)
-        fprintf(stderr, " %d", pixels[x]);
-      fputs("\n", stderr);
-    }
-
-   /*
-    * Add or set the output pixel values...
-    */
-
-    for (x = 0, pixptr = pixels; x < 512; x ++, pixptr ++)
-    {
-      output = 255 - pixvals[*pixptr];
-
-      if (output < 0)
-       putchar(0);
-      else
-       putchar(output);
-    }
-  }
-
- /*
-  * Free the dither state and lookup table...
-  */
-
-  cupsDitherDelete(dither);
-  cupsLutDelete(lut);
-
- /*
-  * Return with no errors...
-  */
-
-  return (0);
-}
-
-
-/*
- * 'usage()' - Show program usage...
- */
-
-void
-usage(void)
-{
-  puts("Usage: testdither [val1 val2 [... val16]] >filename.ppm");
-  exit(1);
-}
-
-
-/*
- * End of "$Id: testdither.c 9042 2010-03-24 00:45:34Z mike $".
- */
diff --git a/driver/testdriver.c b/driver/testdriver.c
deleted file mode 100644 (file)
index 413ea42..0000000
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- * "$Id: testdriver.c 9042 2010-03-24 00:45:34Z mike $"
- *
- *   Sample/test driver interface program for CUPS.
- *
- *   This program handles listing and installing both static PPD files
- *   in CUPS_DATADIR/model and dynamically generated PPD files using
- *   the driver helper programs in CUPS_SERVERBIN/driver.
- *
- *   Copyright 2007-2010 by Apple Inc.
- *   Copyright 1997-2006 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- * Contents:
- *
- *   main()      - Enumerate or display PPD files.
- *   cat_ppd()   - Display a PPD file.
- *   list_ppds() - List PPDs.
- */
-
-/*
- * Include necessary headers...
- */
-
-#include <cups/string-private.h>
-#include <cups/cups.h>
-
-
-/*
- * Local functions...
- */
-
-static int     cat_ppd(const char *uri);
-static int     list_ppds(const char *name);
-
-
-/*
- * Sample data...
- */
-
-static const char *models[][2] =
-               {
-                 { "foojet.ppd", "Foo Printer" },
-                 { "barjet.ppd", "Bar Printer" },
-                 { "foobar.ppd", "Foo/Bar Multifunction Printer" }
-               };
-
-
-/*
- * 'main()' - Enumerate or display PPD files.
- */
-
-int                                    /* O - Exit status */
-main(int  argc,                                /* I - Number of command-line args */
-     char *argv[])                     /* I - Command-line arguments */
-{
-  if (argc == 2 && !strcmp(argv[1], "list"))
-    return (list_ppds(argv[0]));
-  else if (argc == 3 && !strcmp(argv[1], "cat"))
-    return (cat_ppd(argv[2]));
-
-  fprintf(stderr, "ERROR: Usage: %s cat URI\n", argv[0]);
-  fprintf(stderr, "ERROR: Usage: %s list\n", argv[0]);
-  return (1);
-}
-
-
-/*
- * 'cat_ppd()' - Display a PPD file.
- */
-
-static int                             /* O - Exit status */
-cat_ppd(const char *uri)               /* I - PPD URI */
-{
-  int          i;                      /* Looping var */
-  char         scheme[255],            /* URI scheme */
-               userpass[255],          /* Username/password (unused) */
-               hostname[255],          /* Hostname (unused) */
-               resource[1024];         /* Resource name */
-  int          port;                   /* Port (unused) */
-  const char   *name;                  /* Pointer to name in URI */
-
-
-  if (httpSeparateURI(HTTP_URI_CODING_ALL, uri, scheme, sizeof(scheme),
-                      userpass, sizeof(userpass), hostname, sizeof(hostname),
-                     &port, resource, sizeof(resource)) < HTTP_URI_OK)
-  {
-    fprintf(stderr, "ERROR: Bad URI \"%s\"!\n", uri);
-    return (1);
-  }
-
-  name = resource + 1;
-
-  for (i = 0 ; i < (int)(sizeof(models) / sizeof(models[0])); i ++)
-    if (!strcmp(name, models[i][0]))
-    {
-     /*
-      * Actually display the PPD file...
-      */
-      puts("*PPD-Adobe: \"4.3\"");
-
-      puts("*LanguageEncoding: ISOLatin1");
-      puts("*LanguageVersion: English");
-      puts("*Manufacturer: \"Test\"");
-      puts("*FileVersion: \"1.0\"");
-      puts("*FormatVersion: \"4.3\"");
-      puts("*PSVersion: \"(3010) 1\"");
-      printf("*PCFileName: \"%s\"\n", models[i][0]);
-
-      printf("*Product: \"(%s)\"\n", models[i][1]);
-      printf("*ModelName: \"Test %s\"\n", models[i][1]);
-      printf("*NickName: \"Test %s\"\n", models[i][1]);
-      printf("*ShortNickName: \"Test %s\"\n", models[i][1]);
-
-      puts("*OpenUI PageSize: PickOne"); 
-      puts("*OrderDependency: 10 AnySetup *PageSetup");
-      puts("*DefaultPageSize: Letter");
-      puts("*PageSize Letter: \"<</PageSize[612 792]>>setpagedevice\"");
-      puts("*PageSize A4: \"<</PageSize[585 842]>>setpagedevice\"");
-      puts("*CloseUI: *PageSize");
-
-      puts("*OpenUI PageRegion: PickOne"); 
-      puts("*OrderDependency: 10 AnySetup *PageRegion");
-      puts("*DefaultPageRegion: Letter");
-      puts("*PageRegion Letter: \"<</PageRegion[612 792]>>setpagedevice\"");
-      puts("*PageRegion A4: \"<</PageRegion[585 842]>>setpagedevice\"");
-      puts("*CloseUI: *PageRegion");
-
-      puts("*DefaultImageableArea: Letter");
-      puts("*ImageableArea Letter: \"0 0 612 792\"");
-      puts("*ImageableArea A4: \"0 0 595 842\"");
-
-      puts("*DefaultPaperDimension: Letter");
-      puts("*PaperDimension Letter: \"612 792\"");
-      puts("*PaperDimension A4: \"595 842\"");
-
-      return (0);
-    }
-
-  fprintf(stderr, "ERROR: Unknown URI \"%s\"!\n", uri);
-  return (1);
-}
-
-
-/*
- * 'list_ppds()' - List PPDs.
- */
-
-static int                             /* O - Exit status */
-list_ppds(const char *name)            /* I - Program name */
-{
-  int          i;                      /* Looping var */
-  const char   *base;                  /* Base name of program */
-
-
-  if ((base = strrchr(name, '/')) != NULL)
-    base ++;
-  else
-    base = name;
-
-  for (i = 0; i < (int)(sizeof(models) / sizeof(models[0])); i ++)
-    printf("\"%s:///%s\" en \"Test\" \"Test %s\" \"1284 device id\"\n",
-           base, models[i][0], models[i][1]);
-
-  return (0);
-}
-
-
-/*
- * End of "$Id: testdriver.c 9042 2010-03-24 00:45:34Z mike $".
- */
diff --git a/driver/testrgb.c b/driver/testrgb.c
deleted file mode 100644 (file)
index f2079d9..0000000
+++ /dev/null
@@ -1,347 +0,0 @@
-/*
- * "$Id: testrgb.c 9982 2011-09-09 17:32:52Z mike $"
- *
- *   Test the new RGB color separation code for CUPS.
- *
- *   Copyright 2007-2011 by Apple Inc.
- *   Copyright 1993-2006 by Easy Software Products, All Rights Reserved.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- * Contents:
- *
- *   main()       - Do color rgb tests.
- *   test_gray()  - Test grayscale rgbs...
- *   test_rgb()   - Test color rgbs...
- */
-
-/*
- * Include necessary headers.
- */
-
-#include <cups/string-private.h>
-#include "driver.h"
-#include <sys/stat.h>
-
-#ifdef HAVE_LIBLCMS
-#  include <lcms/lcms.h>
-#endif /* HAVE_LIBLCMS */
-
-
-void   test_gray(cups_sample_t *samples, int num_samples,
-                 int cube_size, int num_comps, const char *base);
-void   test_rgb(cups_sample_t *samples, int num_samples,
-                int cube_size, int num_comps, const char *base);
-
-
-/*
- * 'main()' - Do color rgb tests.
- */
-
-int                                            /* O - Exit status */
-main(int  argc,                                        /* I - Number of command-line arguments */
-     char *argv[])                             /* I - Command-line arguments */
-{
-  static cups_sample_t CMYK[] =                /* Basic 4-color sep */
-                       {
-                         /*{ r,   g,   b   }, { C,   M,   Y,   K   }*/
-                         { { 0,   0,   0   }, { 0,   0,   0,   255 } },
-                         { { 255, 0,   0   }, { 0,   255, 240, 0   } },
-                         { { 0,   255, 0   }, { 200, 0,   200, 0   } },
-                         { { 255, 255, 0   }, { 0,   0,   240, 0   } },
-                         { { 0,   0,   255 }, { 200, 200, 0,   0   } },
-                         { { 255, 0,   255 }, { 0,   200, 0,   0   } },
-                         { { 0,   255, 255 }, { 200, 0,   0,   0   } },
-                         { { 255, 255, 255 }, { 0,   0,   0,   0   } }
-                       };
-
-
- /*
-  * Make the test directory...
-  */
-
-  mkdir("test", 0755);
-
- /*
-  * Run tests for CMYK and CMYK separations...
-  */
-
-  test_rgb(CMYK, 8, 2, 4, "test/rgb-cmyk");
-
-  test_gray(CMYK, 8, 2, 4, "test/gray-cmyk");
-
- /*
-  * Return with no errors...
-  */
-
-  return (0);
-}
-
-
-/*
- * 'test_gray()' - Test grayscale rgbs...
- */
-
-void
-test_gray(cups_sample_t *samples,      /* I - Sample values */
-          int           num_samples,   /* I - Number of samples */
-         int           cube_size,      /* I - Cube size */
-          int           num_comps,     /* I - Number of components */
-         const char    *base)          /* I - Base filename of output */
-{
-  int                  i;              /* Looping var */
-  char                 filename[255];  /* Output filename */
-  char                 line[255];      /* Line from PPM file */
-  int                  width, height;  /* Width and height of test image */
-  int                  x, y;           /* Current coordinate in image */
-  int                  r, g, b;        /* Current RGB color */
-  unsigned char                input[7000];    /* Line to rgbarate */
-  unsigned char                output[48000],  /* Output rgb data */
-                       *outptr;        /* Pointer in output */
-  FILE                 *in;            /* Input PPM file */
-  FILE                 *out[CUPS_MAX_CHAN];
-                                       /* Output PGM files */
-  FILE                 *comp;          /* Composite output */
-  cups_rgb_t           *rgb;           /* Color separation */
-
-
- /*
-  * Open the test image...
-  */
-
-  in = fopen("image.pgm", "rb");
-  while (fgets(line, sizeof(line), in) != NULL)
-    if (isdigit(line[0]))
-      break;
-
-  sscanf(line, "%d%d", &width, &height);
-
-  fgets(line, sizeof(line), in);
-
- /*
-  * Create the color rgb...
-  */
-
-  rgb = cupsRGBNew(num_samples, samples, cube_size, num_comps);
-
- /*
-  * Open the color rgb files...
-  */
-
-  for (i = 0; i < num_comps; i ++)
-  {
-    sprintf(filename, "%s%d.pgm", base, i);
-    out[i] = fopen(filename, "wb");
-
-    fprintf(out[i], "P5\n%d %d 255\n", width, height);
-  }
-
-  sprintf(filename, "%s.ppm", base);
-  comp = fopen(filename, "wb");
-
-  fprintf(comp, "P6\n%d %d 255\n", width, height);
-
- /*
-  * Read the image and do the rgbs...
-  */
-
-  for (y = 0; y < height; y ++)
-  {
-    fread(input, width, 1, in);
-
-    cupsRGBDoGray(rgb, input, output, width);
-
-    for (x = 0, outptr = output; x < width; x ++, outptr += num_comps)
-    {
-      for (i = 0; i < num_comps; i ++)
-        putc(255 - outptr[i], out[i]);
-
-      r = 255;
-      g = 255;
-      b = 255;
-
-      r -= outptr[0];
-      g -= outptr[1];
-      b -= outptr[2];
-
-      r -= outptr[3];
-      g -= outptr[3];
-      b -= outptr[3];
-
-      if (num_comps > 4)
-      {
-        r -= outptr[4] / 2;
-       g -= outptr[5] / 2;
-      }
-
-      if (num_comps > 6)
-      {
-        r -= outptr[6] / 2;
-       g -= outptr[6] / 2;
-       b -= outptr[6] / 2;
-      }
-
-      if (r < 0)
-        putc(0, comp);
-      else
-        putc(r, comp);
-
-      if (g < 0)
-        putc(0, comp);
-      else
-        putc(g, comp);
-
-      if (b < 0)
-        putc(0, comp);
-      else
-        putc(b, comp);
-    }
-  }
-
-  for (i = 0; i < num_comps; i ++)
-    fclose(out[i]);
-
-  fclose(comp);
-  fclose(in);
-
-  cupsRGBDelete(rgb);
-}
-
-
-/*
- * 'test_rgb()' - Test color rgbs...
- */
-
-void
-test_rgb(cups_sample_t *samples,       /* I - Sample values */
-         int           num_samples,    /* I - Number of samples */
-        int           cube_size,       /* I - Cube size */
-         int           num_comps,      /* I - Number of components */
-        const char    *base)           /* I - Base filename of output */
-{
-  int                  i;              /* Looping var */
-  char                 filename[255];  /* Output filename */
-  char                 line[255];      /* Line from PPM file */
-  int                  width, height;  /* Width and height of test image */
-  int                  x, y;           /* Current coordinate in image */
-  int                  r, g, b;        /* Current RGB color */
-  unsigned char                input[7000];    /* Line to rgbarate */
-  unsigned char                output[48000],  /* Output rgb data */
-                       *outptr;        /* Pointer in output */
-  FILE                 *in;            /* Input PPM file */
-  FILE                 *out[CUPS_MAX_CHAN];
-                                       /* Output PGM files */
-  FILE                 *comp;          /* Composite output */
-  cups_rgb_t           *rgb;           /* Color separation */
-
-
- /*
-  * Open the test image...
-  */
-
-  in = fopen("image.ppm", "rb");
-  while (fgets(line, sizeof(line), in) != NULL)
-    if (isdigit(line[0]))
-      break;
-
-  sscanf(line, "%d%d", &width, &height);
-
-  fgets(line, sizeof(line), in);
-
- /*
-  * Create the color rgb...
-  */
-
-  rgb = cupsRGBNew(num_samples, samples, cube_size, num_comps);
-
- /*
-  * Open the color rgb files...
-  */
-
-  for (i = 0; i < num_comps; i ++)
-  {
-    sprintf(filename, "%s%d.pgm", base, i);
-    out[i] = fopen(filename, "wb");
-
-    fprintf(out[i], "P5\n%d %d 255\n", width, height);
-  }
-
-  sprintf(filename, "%s.ppm", base);
-  comp = fopen(filename, "wb");
-
-  fprintf(comp, "P6\n%d %d 255\n", width, height);
-
- /*
-  * Read the image and do the rgbs...
-  */
-
-  for (y = 0; y < height; y ++)
-  {
-    fread(input, width, 3, in);
-
-    cupsRGBDoRGB(rgb, input, output, width);
-
-    for (x = 0, outptr = output; x < width; x ++, outptr += num_comps)
-    {
-      for (i = 0; i < num_comps; i ++)
-        putc(255 - outptr[i], out[i]);
-
-      r = 255;
-      g = 255;
-      b = 255;
-
-      r -= outptr[0];
-      g -= outptr[1];
-      b -= outptr[2];
-
-      r -= outptr[3];
-      g -= outptr[3];
-      b -= outptr[3];
-
-      if (num_comps > 4)
-      {
-        r -= outptr[4] / 2;
-       g -= outptr[5] / 2;
-      }
-
-      if (num_comps > 6)
-      {
-        r -= outptr[6] / 2;
-       g -= outptr[6] / 2;
-       b -= outptr[6] / 2;
-      }
-
-      if (r < 0)
-        putc(0, comp);
-      else
-        putc(r, comp);
-
-      if (g < 0)
-        putc(0, comp);
-      else
-        putc(g, comp);
-
-      if (b < 0)
-        putc(0, comp);
-      else
-        putc(b, comp);
-    }
-  }
-
-  for (i = 0; i < num_comps; i ++)
-    fclose(out[i]);
-
-  fclose(comp);
-  fclose(in);
-
-  cupsRGBDelete(rgb);
-}
-
-
-/*
- * End of "$Id: testrgb.c 9982 2011-09-09 17:32:52Z mike $".
- */
index da9b597..2a3b1b7 100644 (file)
@@ -1,5 +1,5 @@
 #
-# "$Id: Makefile 9771 2011-05-12 05:21:56Z mike $"
+# "$Id: Makefile 11173 2013-07-23 12:31:34Z msweet $"
 #
 #   PPD compiler example makefile for CUPS.
 #
@@ -124,5 +124,5 @@ uninstall:
 
 
 #
-# End of "$Id: Makefile 9771 2011-05-12 05:21:56Z mike $".
+# End of "$Id: Makefile 11173 2013-07-23 12:31:34Z msweet $".
 #
diff --git a/examples/ppdx.c b/examples/ppdx.c
new file mode 100644 (file)
index 0000000..86961f0
--- /dev/null
@@ -0,0 +1,314 @@
+/*
+ * "$Id: ppdx.c 11173 2013-07-23 12:31:34Z msweet $"
+ *
+ *   Example code for encoding and decoding large amounts of data in a PPD file.
+ *   This would typically be used in a driver to save configuration/state
+ *   information that could be used by an application.
+ *
+ *   Copyright 2012 by Apple Inc.
+ *
+ *   These coded instructions, statements, and computer programs are the
+ *   property of Apple Inc. and are protected by Federal copyright
+ *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
+ *   which should have been included with this file.  If this file is
+ *   file is missing or damaged, see the license at "http://www.cups.org/".
+ *
+ *   This file is subject to the Apple OS-Developed Software exception.
+ *
+ * Contents:
+ *
+ *   ppdxReadData()  - Read encoded data from a ppd_file_t *.
+ *   ppdxWriteData() - Writes encoded data to stderr using PPD: messages.
+ */
+
+/*
+ * Include necessary headers...
+ */
+
+#include "ppdx.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <zlib.h>                      /* For compression of the data */
+
+
+/*
+ * Constants...
+ */
+
+#define PPDX_MAX_VALUE (PPD_MAX_LINE - PPD_MAX_NAME - 4)
+                                       /* Max value length with delimiters + nul */
+#define PPDX_MAX_CHUNK (PPDX_MAX_VALUE * 3 / 4)
+                                       /* Max length of each chunk when Base64-encoded */
+
+
+/*
+ * 'ppdxReadData()' - Read encoded data from a ppd_file_t *.
+ *
+ * Reads chunked data in the PPD file "ppd" using the prefix "name".  Returns
+ * an allocated pointer to the data (which is nul-terminated for convenience)
+ * along with the length of the data in the variable pointed to by "datasize",
+ * which can be NULL to indicate the caller doesn't need the length.
+ *
+ * Returns NULL if no data is present in the PPD with the prefix.
+ */
+
+void *                                 /* O - Data or NULL */
+ppdxReadData(ppd_file_t *ppd,          /* I - PPD file */
+             const char *name,         /* I - Keyword prefix */
+             size_t     *datasize)     /* O - Size of data or NULL for don't care */
+{
+  char         keyword[PPD_MAX_NAME],  /* Keyword name */
+               decoded[PPDX_MAX_CHUNK + 1];
+                                       /* Decoded string */
+  unsigned     chunk = 0;              /* Current chunk number */
+  int          len;                    /* Length of current chunk */
+  ppd_attr_t   *attr;                  /* Keyword/value from PPD file */
+  Bytef                *data;                  /* Pointer to data */
+  size_t       alloc_size;             /* Allocated size of data buffer */
+  z_stream     decomp;                 /* Decompressor stream */
+  int          error;                  /* Error/status from inflate() */
+
+
+ /*
+  * Range check input...
+  */
+
+  if (datasize)
+    *datasize = 0;
+
+  if (!ppd || !name)
+    return (NULL);
+
+ /*
+  * First see if there are any instances of the named keyword in the PPD...
+  */
+
+  snprintf(keyword, sizeof(keyword), "%s%04x", name, chunk);
+  if ((attr = ppdFindAttr(ppd, keyword, NULL)) == NULL)
+    return (NULL);
+
+ /*
+  * Allocate some memory and start decoding...
+  */
+
+  data       = malloc(257);
+  alloc_size = 256;
+
+  memset(&decomp, 0, sizeof(decomp));
+  decomp.next_out  = data;
+  decomp.avail_out = 256;
+
+  inflateInit(&decomp);
+
+  do
+  {
+   /*
+    * Grab the data from the current attribute and decode it...
+    */
+
+    len = sizeof(decoded);
+    if (!httpDecode64_2(decoded, &len, attr->value) || len == 0)
+      break;
+
+//    printf("chunk %04x has length %d\n", chunk, len);
+
+   /*
+    * Decompress this chunk...
+    */
+
+    decomp.next_in  = decoded;
+    decomp.avail_in = len;
+
+    do
+    {
+      Bytef    *temp;                  /* Temporary pointer */
+      size_t   temp_size;              /* Temporary allocation size */
+
+//      printf("Before inflate: avail_in=%d, avail_out=%d\n", decomp.avail_in,
+//             decomp.avail_out);
+
+      if ((error = inflate(&decomp, Z_NO_FLUSH)) < Z_OK)
+      {
+        fprintf(stderr, "ERROR: inflate returned %d (%s)\n", error, decomp.msg);
+        break;
+      }
+
+//      printf("After inflate: avail_in=%d, avail_out=%d, error=%d\n",
+//             decomp.avail_in, decomp.avail_out, error);
+
+      if (decomp.avail_out == 0)
+      {
+       if (alloc_size < 2048)
+         temp_size = alloc_size * 2;
+       else if (alloc_size < PPDX_MAX_DATA)
+         temp_size = alloc_size + 2048;
+       else
+         break;
+
+       if ((temp = realloc(data, temp_size + 1)) == NULL)
+       {
+         free(data);
+         return (NULL);
+       }
+
+       decomp.next_out  = temp + (decomp.next_out - data);
+       decomp.avail_out = temp_size - alloc_size;
+       data             = temp;
+       alloc_size       = temp_size;
+      }
+    }
+    while (decomp.avail_in > 0);
+
+    chunk ++;
+    snprintf(keyword, sizeof(keyword), "%s%04x", name, chunk);
+  }
+  while ((attr = ppdFindAttr(ppd, keyword, NULL)) != NULL);
+
+  inflateEnd(&decomp);
+
+ /*
+  * Nul-terminate the data (usually a string)...
+  */
+
+  *(decomp.next_out) = '\0';
+
+  if (datasize)
+    *datasize = decomp.next_out - data;
+
+  return (data);
+}
+
+
+/*
+ * 'ppdxWriteData()' - Writes encoded data to stderr using PPD: messages.
+ *
+ * Writes chunked data to the PPD file using PPD: messages sent to stderr for
+ * cupsd.  "name" must be a valid PPD keyword string whose length is less than
+ * 37 characters to allow for chunk numbering.  "data" provides a pointer to the
+ * data to be written, and "datasize" provides the length.
+ */
+
+extern void
+ppdxWriteData(const char *name,                /* I - Base name of keyword */
+              const void *data,                /* I - Data to write */
+              size_t     datasize)     /* I - Number of bytes in data */
+{
+  char         buffer[PPDX_MAX_CHUNK], /* Chunk buffer */
+               encoded[PPDX_MAX_VALUE + 1],
+                                       /* Encoded data */
+               pair[PPD_MAX_LINE],     /* name=value pair */
+               line[PPDX_MAX_STATUS],  /* Line buffer */
+               *lineptr,               /* Current position in line buffer */
+               *lineend;               /* End of line buffer */
+  unsigned     chunk = 0;              /* Current chunk number */
+  int          len;                    /* Length of current chunk */
+  z_stream     comp;                   /* Compressor stream */
+  int          error;                  /* Error/status from deflate() */
+
+
+ /*
+  * Range check input...
+  */
+
+  if (!name || (!data && datasize > 0) || datasize > PPDX_MAX_DATA)
+    return;
+
+  strlcpy(line, "PPD:", sizeof(line));
+  lineptr = line + 4;
+  lineend = line + sizeof(line) - 2;
+
+  if (datasize > 0)
+  {
+   /*
+    * Compress and encode output...
+    */
+
+    memset(&comp, 0, sizeof(comp));
+    comp.next_in   = (Bytef *)data;
+    comp.avail_in  = datasize;
+
+    deflateInit(&comp, 9);
+
+    do
+    {
+     /*
+      * Compress a chunk...
+      */
+
+      comp.next_out  = buffer;
+      comp.avail_out = sizeof(buffer);
+
+      if ((error = deflate(&comp, Z_FINISH)) < Z_OK)
+      {
+        fprintf(stderr, "ERROR: deflate returned %d (%s)\n", error, comp.msg);
+        break;
+      }
+
+     /*
+      * Write a chunk...
+      */
+
+      len = sizeof(buffer) - comp.avail_out;
+      httpEncode64_2(encoded, sizeof(encoded), buffer, len);
+
+      len = (int)snprintf(pair, sizeof(pair), " %s%04x=%s", name, chunk,
+                         encoded);
+#ifdef DEBUG
+      fprintf(stderr, "DEBUG: *%s%04x: \"%s\"\n", name, chunk, encoded);
+#endif /* DEBUG */
+
+      if ((lineptr + len) >= lineend)
+      {
+       *lineptr++ = '\n';
+       *lineptr   = '\0';
+
+       fputs(line, stderr);
+       lineptr = line + 4;
+      }
+
+      strlcpy(lineptr, pair, lineend - lineptr);
+      lineptr += len;
+
+     /*
+      * Setup for the next one...
+      */
+
+      chunk ++;
+    }
+    while (comp.avail_out == 0);
+  }
+
+  deflateEnd(&comp);
+
+ /*
+  * Write a trailing empty chunk to signal EOD...
+  */
+
+  len = (int)snprintf(pair, sizeof(pair), " %s%04x=\"\"", name, chunk);
+#ifdef DEBUG
+  fprintf(stderr, "DEBUG: *%s%04x: \"\"\n", name, chunk);
+#endif /* DEBUG */
+
+  if ((lineptr + len) >= lineend)
+  {
+    *lineptr++ = '\n';
+    *lineptr   = '\0';
+
+    fputs(line, stderr);
+    lineptr = line + 4;
+  }
+
+  strlcpy(lineptr, pair, lineend - lineptr);
+  lineptr += len;
+
+  *lineptr++ = '\n';
+  *lineptr   = '\0';
+
+  fputs(line, stderr);
+}
+
+
+/*
+ * End of "$Id: ppdx.c 11173 2013-07-23 12:31:34Z msweet $".
+ */
diff --git a/examples/ppdx.h b/examples/ppdx.h
new file mode 100644 (file)
index 0000000..40a459d
--- /dev/null
@@ -0,0 +1,82 @@
+/*
+ * "$Id: ppdx.h 11173 2013-07-23 12:31:34Z msweet $"
+ *
+ *   Header for PPD data encoding example code.
+ *
+ *   Copyright 2012 by Apple Inc.
+ *
+ *   These coded instructions, statements, and computer programs are the
+ *   property of Apple Inc. and are protected by Federal copyright
+ *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
+ *   which should have been included with this file.  If this file is
+ *   file is missing or damaged, see the license at "http://www.cups.org/".
+ *
+ *   This file is subject to the Apple OS-Developed Software exception.
+ *
+ */
+
+#ifndef _PPDX_H_
+#  define _PPDX_H_
+
+
+/*
+ * Include necessary headers...
+ */
+
+#  include <cups/ppd.h>
+
+
+/*
+ * C++ magic...
+ */
+
+#  ifdef __cplusplus
+extern "C" {
+#  endif /* __cplusplus */
+
+
+/*
+ * Maximum amount of data to encode/decode...
+ */
+
+#  define PPDX_MAX_STATUS      1024    /* Limit on log messages in 10.6 */
+#  define PPDX_MAX_DATA                16777216/* 16MiB */
+
+
+/*
+ * 'ppdxReadData()' - Read encoded data from a ppd_file_t *.
+ *
+ * Reads chunked data in the PPD file "ppd" using the prefix "name".  Returns
+ * an allocated pointer to the data (which is nul-terminated for convenience)
+ * along with the length of the data in the variable pointed to by "datasize",
+ * which can be NULL to indicate the caller doesn't need the length.
+ *
+ * Returns NULL if no data is present in the PPD with the prefix.
+ */
+
+extern void    *ppdxReadData(ppd_file_t *ppd, const char *name,
+                             size_t *datasize);
+
+
+/*
+ * 'ppdxWriteData()' - Writes encoded data to stderr using PPD: messages.
+ *
+ * Writes chunked data to the PPD file using PPD: messages sent to stderr for
+ * cupsd.  "name" must be a valid PPD keyword string whose length is less than
+ * 37 characters to allow for chunk numbering.  "data" provides a pointer to the
+ * data to be written, and "datasize" provides the length.
+ */
+
+extern void    ppdxWriteData(const char *name, const void *data,
+                             size_t datasize);
+
+
+#  ifdef __cplusplus
+}
+#  endif /* __cplusplus */
+
+#endif /* !_PPDX_H */
+
+/*
+ * End of "$Id: ppdx.h 11173 2013-07-23 12:31:34Z msweet $".
+ */
diff --git a/examples/testppdx.c b/examples/testppdx.c
new file mode 100644 (file)
index 0000000..daa147b
--- /dev/null
@@ -0,0 +1,117 @@
+/*
+ * "$Id: testppdx.c 11173 2013-07-23 12:31:34Z msweet $"
+ *
+ *   Test program for PPD data encoding example code.
+ *
+ *   Compile with:
+ *
+ *       gcc -o testppdx -D_PPD_DEPRECATED="" -g testppdx.c ppdx.c -lcups -lz
+ *
+ *   Copyright 2012 by Apple Inc.
+ *
+ *   These coded instructions, statements, and computer programs are the
+ *   property of Apple Inc. and are protected by Federal copyright
+ *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
+ *   which should have been included with this file.  If this file is
+ *   file is missing or damaged, see the license at "http://www.cups.org/".
+ *
+ *   This file is subject to the Apple OS-Developed Software exception.
+ *
+ * Contents:
+ *
+ *   main() - Read data from a test PPD file and write out new chunks.
+ */
+
+/*
+ * Include necessary headers...
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include "ppdx.h"
+
+
+/*
+ * 'main()' - Read data from a test PPD file and write out new chunks.
+ */
+
+int                                    /* O - Exit status */
+main(void)
+{
+  int          status = 0;             /* Exit status */
+  FILE         *fp;                    /* File to read */
+  char         contents[8193],         /* Contents of file */
+               *data;                  /* Data from PPD */
+  size_t       contsize,               /* File size */
+               datasize;               /* Data size */
+  ppd_file_t   *ppd;                   /* Test PPD */
+
+
+ /*
+  * Open the PPD and get the data from it...
+  */
+
+  ppd  = ppdOpenFile("testppdx.ppd");
+  data = ppdxReadData(ppd, "EXData", &datasize);
+
+ /*
+  * Open this source file and read it...
+  */
+
+  fp = fopen("testppdx.c", "r");
+  if (fp)
+  {
+    contsize = fread(contents, 1, sizeof(contents) - 1, fp);
+    fclose(fp);
+    contents[contsize] = '\0';
+  }
+  else
+  {
+    contents[0] = '\0';
+    contsize    = 0;
+  }
+
+ /*
+  * Compare data...
+  */
+
+  if (data)
+  {
+    if (contsize != datasize)
+    {
+      fprintf(stderr, "ERROR: PPD has %ld bytes, test file is %ld bytes.\n",
+              (long)datasize, (long)contsize);
+      status = 1;
+    }
+    else if (strcmp(contents, data))
+    {
+      fputs("ERROR: PPD and test file are not the same.\n", stderr);
+      status = 1;
+    }
+
+    if (status)
+    {
+      if ((fp = fopen("testppdx.dat", "wb")) != NULL)
+      {
+        fwrite(data, 1, datasize, fp);
+        fclose(fp);
+        fputs("ERROR: See testppdx.dat for data from PPD.\n", stderr);
+      }
+      else
+        perror("Unable to open 'testppdx.dat'");
+    }
+
+    free(data);
+  }
+
+  printf("Encoding %ld bytes for PPD...\n", (long)contsize);
+
+  ppdxWriteData("EXData", contents, contsize);
+
+  return (1);
+}
+
+
+/*
+ * End of "$Id: testppdx.c 11173 2013-07-23 12:31:34Z msweet $".
+ */
diff --git a/examples/testppdx.ppd b/examples/testppdx.ppd
new file mode 100644 (file)
index 0000000..2e58df6
--- /dev/null
@@ -0,0 +1,121 @@
+*PPD-Adobe: "4.3"
+*%
+*% "$Id: testppdx.ppd 3833 2012-05-23 22:51:18Z msweet $"
+*%
+*% Test PPD file for data encoding example.
+*%
+*% This file cannot be used with any known printers.
+*%
+*% Copyright 2007-2012 by Apple Inc.
+*% Copyright 2002-2006 by Easy Software Products.
+*%
+*% These coded instructions, statements, and computer programs are the
+*% property of Apple Inc. and are protected by Federal copyright
+*% law.  Distribution and use rights are outlined in the file "LICENSE.txt"
+*% which should have been included with this file.  If this file is
+*% file is missing or damaged, see the license at "http://www.cups.org/".
+*FormatVersion:        "4.3"
+*FileVersion:  "1.3"
+*LanguageVersion: English
+*LanguageEncoding: ISOLatin1
+*PCFileName:   "TESTPPDX.PPD"
+*Manufacturer: "Apple"
+*Product:      "(Test PPDX)"
+*cupsVersion:  1.6
+*ModelName:     "Test PPDX"
+*ShortNickName: "Test PPDX"
+*NickName:      "Test PPDX for CUPS"
+*PSVersion:    "(3010.000) 0"
+*LanguageLevel:        "3"
+*ColorDevice:  True
+*DefaultColorSpace: RGB
+*FileSystem:   False
+*Throughput:   "1"
+*LandscapeOrientation: Plus90
+*TTRasterizer: Type42
+*cupsFilter: "application/vnd.cups-raster 0 -"
+*RequiresPageRegion All: True
+
+*% For PageSize, we have put all of the translations in-line...
+*OpenUI *PageSize/Page Size: PickOne
+*OrderDependency: 10 AnySetup *PageSize
+*DefaultPageSize: Letter
+*PageSize Letter/US Letter:    "PageSize=Letter"
+*PageSize Letter.Banner/US Letter Banner: "PageSize=Letter.Banner"
+*PageSize Letter.Fullbleed/US Letter Borderless: "PageSize=Letter.Fullbleed"
+*PageSize A4/A4:               "PageSize=A4"
+*PageSize Env10/#10 Envelope:  "PageSize=Env10"
+*CloseUI: *PageSize
+
+*% For PageRegion, we have separated the translations...
+*OpenUI *PageRegion/Page Region: PickOne
+*OrderDependency: 10 AnySetup *PageRegion
+*DefaultPageRegion: Letter
+*PageRegion Letter/US Letter:  "PageRegion=Letter"
+*PageRegion Letter.Banner/US Letter Banner: "PageRegion=Letter.Fullbleed"
+*PageRegion Letter.Fullbleed/US Letter Borderless: "PageRegion=Letter.Fullbleed"
+*PageRegion A4/A4:             "PageRegion=A4"
+*PageRegion Env10/#10 Envelope:        "PageRegion=Env10"
+*CloseUI: *PageRegion
+
+*DefaultImageableArea: Letter
+*ImageableArea Letter: "18 36 594 756"
+*ImageableArea Letter.Banner:  "18 0 594 792"
+*ImageableArea Letter.Fullbleed:       "0 0 612 792"
+*ImageableArea A4:     "18 36 577 806"
+*ImageableArea Env10:  "18 36 279 648"
+
+*DefaultPaperDimension: Letter
+*PaperDimension Letter:        "612 792"
+*PaperDimension Letter.Banner: "612 792"
+*PaperDimension Letter.Fullbleed:      "612 792"
+*PaperDimension A4:    "595 842"
+*PaperDimension Env10: "297 684"
+
+*DefaultFont: Courier
+*Font AvantGarde-Book: Standard "(001.006S)" Standard ROM
+*Font AvantGarde-BookOblique: Standard "(001.006S)" Standard ROM
+*Font AvantGarde-Demi: Standard "(001.007S)" Standard ROM
+*Font AvantGarde-DemiOblique: Standard "(001.007S)" Standard ROM
+*Font Bookman-Demi: Standard "(001.004S)" Standard ROM
+*Font Bookman-DemiItalic: Standard "(001.004S)" Standard ROM
+*Font Bookman-Light: Standard "(001.004S)" Standard ROM
+*Font Bookman-LightItalic: Standard "(001.004S)" Standard ROM
+*Font Courier: Standard "(002.004S)" Standard ROM
+*Font Courier-Bold: Standard "(002.004S)" Standard ROM
+*Font Courier-BoldOblique: Standard "(002.004S)" Standard ROM
+*Font Courier-Oblique: Standard "(002.004S)" Standard ROM
+*Font Helvetica: Standard "(001.006S)" Standard ROM
+*Font Helvetica-Bold: Standard "(001.007S)" Standard ROM
+*Font Helvetica-BoldOblique: Standard "(001.007S)" Standard ROM
+*Font Helvetica-Narrow: Standard "(001.006S)" Standard ROM
+*Font Helvetica-Narrow-Bold: Standard "(001.007S)" Standard ROM
+*Font Helvetica-Narrow-BoldOblique: Standard "(001.007S)" Standard ROM
+*Font Helvetica-Narrow-Oblique: Standard "(001.006S)" Standard ROM
+*Font Helvetica-Oblique: Standard "(001.006S)" Standard ROM
+*Font NewCenturySchlbk-Bold: Standard "(001.009S)" Standard ROM
+*Font NewCenturySchlbk-BoldItalic: Standard "(001.007S)" Standard ROM
+*Font NewCenturySchlbk-Italic: Standard "(001.006S)" Standard ROM
+*Font NewCenturySchlbk-Roman: Standard "(001.007S)" Standard ROM
+*Font Palatino-Bold: Standard "(001.005S)" Standard ROM
+*Font Palatino-BoldItalic: Standard "(001.005S)" Standard ROM
+*Font Palatino-Italic: Standard "(001.005S)" Standard ROM
+*Font Palatino-Roman: Standard "(001.005S)" Standard ROM
+*Font Symbol: Special "(001.007S)" Special ROM
+*Font Times-Bold: Standard "(001.007S)" Standard ROM
+*Font Times-BoldItalic: Standard "(001.009S)" Standard ROM
+*Font Times-Italic: Standard "(001.007S)" Standard ROM
+*Font Times-Roman: Standard "(001.007S)" Standard ROM
+*Font ZapfChancery-MediumItalic: Standard "(001.007S)" Standard ROM
+*Font ZapfDingbats: Special "(001.004S)" Standard ROM
+*%
+*% End of "$Id: testppdx.ppd 3833 2012-05-23 22:51:18Z msweet $".
+*%
+*EXData0000: "eNqlVm1v2zYQ/hz/ipvWznLgl6T7siXrgCJ2AANBEyQpNmAtAlqiLG4SKZBU7LTIf9/dUW9Og32ZAFsieffcc88dKS2OR3AM0Zt1+ibCJxoA3EvnobJma0UJmbFwc7OEVHgBUicmVXoLci/KqpCAQznvHC9MWSmc3Smfn3WzdG2TBGYGPCJXVbqH2fIBQR+Wq5vb1cWH+9XyfRTBbNs"
+*EXData0001: "GcwTaG6zIqkrh7evgzDVk1Xb3MO7k9N3sHmCDxWRWeuk53KfSxf4paC087ZOvDLaTcF54WUptcdnoVO0KavaS9um7EBYCT6XAQhnK2n9E5hsEIc9yQ6XvUw8RkEelzKVVhQI2TAMEIXYzQGWClmoTU002L1GgmwVIpraF0ozXYoOGUkZXa0vVh/vVnO/91FA2+UqycHlpi5SyMWjhI0"
+*EXData0002: "lBq9kqKmbEl9BFCOETDwOuuHoFxAaQZQKueooljmVJRiK1NUSHL+UKhEaiQpPES599XZYrHb7eZUkLmx20U0lLsPAK7e/I2agDcME1S7vpst5aMsUM0U7kzmd5S03CeyIkVaqAujPdWm759SKB1PYAa3UqShDzNrShDcLdycHJgk3VnlWUnQcgdJXut/HCEvRqMFw62DSricSOeEfYI"
+*EXData0003: "HFGldfN5Y/djIyT85nyqzDz//WDKolgHcxE3ah6N2hDjQHj8vxkr7Y/oWhzDNYKt9spz89aOljnKo1HpZPRtBMDGzep7ODlntxcuAJfrq9XR0XFWnQfcS6KBZbJElC2SXNijo6Spwl+/nP7685cp27aVoY3A9NEesSi9Bm3ZZUopMpxTX+WDZzx6nPZRaRggCIFG5z1Iuwh0DDxQNAQ"
+*EXData0004: "OcbnJtJ9qyPpNAISHpW/rmTYOrRC4m6l53FfAuW50OzH4IBq4Y1ciVYcdUcQ/kWTc7Rib7baU0GJYIyDKUSrP2kQTeGnNgd0eEmHNoSpbSL7orPch1SyCkNkuDn0gEKC0JENLFQGcVZN8InKjYVqJCU3wovbmk3hdMoCmqybo+2Ds+h/zs5ZUhgn427c1btF/YKw488nY1p+xp8snDw"
+*EXData0005: "CM3WJ0OzASUA7kH27eSgtwNteZJqmDklRnN9ajTTYf3wHjpxeTXYkGK4F30W4zaV1lI1bm+vb8+4+Llw8LagMxm1nIZt155O3fz8s46mDVh7xYXR20kbcNqMWzKNWgDdRjsNM8/8TyIxeTwmkrIaVITze0m/9i4ekqbO6JmSVNqE/nWilMwWQrL/waMTMCwdxqT5+NVOQ4LUa7tNNJk"
+*EXData0006: "kOQfP11dTRqvb51GGZ9WXC3usl6nrpNe667v072jN8wgNn9mpMPj49V0n5t7043hwrezNTaOPmmxCacZ5QbjIf44mhwIhDsmpDFpmxSabopW7TdO1yftNxA2LZP6rifCSbL/g8Th06E/GPoWOLS30tdWQ3yKw+fu1bHCDsDTNXyPhbfAvwxF0gE="
+*EXData0007: ""
index 9b49d85..159135b 100644 (file)
-# DO NOT DELETE
-
-image-bmp.o: image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-bmp.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-image-bmp.o: ../cups/array.h ../cups/language.h ../cups/ppd.h ../cups/cups.h
-image-bmp.o: ../cups/debug-private.h ../cups/versioning.h
-image-bmp.o: ../cups/string-private.h ../config.h
-image-colorspace.o: image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-colorspace.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h
-image-colorspace.o: ../cups/http.h ../cups/array.h ../cups/language.h
-image-colorspace.o: ../cups/ppd.h ../cups/cups.h ../cups/debug-private.h
-image-colorspace.o: ../cups/versioning.h ../cups/string-private.h ../config.h
-image-gif.o: image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-gif.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-image-gif.o: ../cups/array.h ../cups/language.h ../cups/ppd.h ../cups/cups.h
-image-gif.o: ../cups/debug-private.h ../cups/versioning.h
-image-gif.o: ../cups/string-private.h ../config.h
-image-jpeg.o: image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-jpeg.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h
-image-jpeg.o: ../cups/http.h ../cups/array.h ../cups/language.h ../cups/ppd.h
-image-jpeg.o: ../cups/cups.h ../cups/debug-private.h ../cups/versioning.h
-image-jpeg.o: ../cups/string-private.h ../config.h
-image-photocd.o: image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-photocd.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h
-image-photocd.o: ../cups/http.h ../cups/array.h ../cups/language.h
-image-photocd.o: ../cups/ppd.h ../cups/cups.h ../cups/debug-private.h
-image-photocd.o: ../cups/versioning.h ../cups/string-private.h ../config.h
-image-pix.o: image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-pix.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-image-pix.o: ../cups/array.h ../cups/language.h ../cups/ppd.h ../cups/cups.h
-image-pix.o: ../cups/debug-private.h ../cups/versioning.h
-image-pix.o: ../cups/string-private.h ../config.h
-image-png.o: image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-png.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-image-png.o: ../cups/array.h ../cups/language.h ../cups/ppd.h ../cups/cups.h
-image-png.o: ../cups/debug-private.h ../cups/versioning.h
-image-png.o: ../cups/string-private.h ../config.h
-image-pnm.o: image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-pnm.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-image-pnm.o: ../cups/array.h ../cups/language.h ../cups/ppd.h ../cups/cups.h
-image-pnm.o: ../cups/debug-private.h ../cups/versioning.h
-image-pnm.o: ../cups/string-private.h ../config.h
-image-sgi.o: image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-sgi.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-image-sgi.o: ../cups/array.h ../cups/language.h ../cups/ppd.h ../cups/cups.h
-image-sgi.o: ../cups/debug-private.h ../cups/versioning.h
-image-sgi.o: ../cups/string-private.h ../config.h image-sgi.h
-image-sgilib.o: image-sgi.h
-image-sun.o: image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-sun.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-image-sun.o: ../cups/array.h ../cups/language.h ../cups/ppd.h ../cups/cups.h
-image-sun.o: ../cups/debug-private.h ../cups/versioning.h
-image-sun.o: ../cups/string-private.h ../config.h
-image-tiff.o: image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-tiff.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h
-image-tiff.o: ../cups/http.h ../cups/array.h ../cups/language.h ../cups/ppd.h
-image-tiff.o: ../cups/cups.h ../cups/debug-private.h ../cups/versioning.h
-image-tiff.o: ../cups/string-private.h ../config.h
-image-zoom.o: image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-zoom.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h
-image-zoom.o: ../cups/http.h ../cups/array.h ../cups/language.h ../cups/ppd.h
-image-zoom.o: ../cups/cups.h ../cups/debug-private.h ../cups/versioning.h
-image-zoom.o: ../cups/string-private.h ../config.h
-image.o: image-private.h image.h ../cups/raster.h ../cups/cups.h
-image.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-image.o: ../cups/array.h ../cups/language.h ../cups/ppd.h ../cups/cups.h
-image.o: ../cups/debug-private.h ../cups/versioning.h
-image.o: ../cups/string-private.h ../config.h
-error.o: image-private.h image.h ../cups/raster.h ../cups/cups.h
-error.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-error.o: ../cups/array.h ../cups/language.h ../cups/ppd.h ../cups/cups.h
-error.o: ../cups/debug-private.h ../cups/versioning.h
-error.o: ../cups/string-private.h ../config.h
-interpret.o: image-private.h image.h ../cups/raster.h ../cups/cups.h
-interpret.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-interpret.o: ../cups/array.h ../cups/language.h ../cups/ppd.h ../cups/cups.h
-interpret.o: ../cups/debug-private.h ../cups/versioning.h
-interpret.o: ../cups/string-private.h ../config.h
-raster.o: image-private.h image.h ../cups/raster.h ../cups/cups.h
-raster.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-raster.o: ../cups/array.h ../cups/language.h ../cups/ppd.h ../cups/cups.h
-raster.o: ../cups/debug-private.h ../cups/versioning.h
-raster.o: ../cups/string-private.h ../config.h
-bannertops.o: pstext.h common.h ../cups/string-private.h ../config.h
-bannertops.o: ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
-bannertops.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-bannertops.o: ../cups/array.h ../cups/language.h ../cups/transcode.h image.h
-bannertops.o: ../cups/raster.h ../cups/ppd.h ../cups/language-private.h
-commandtops.o: ../cups/cups-private.h ../cups/cups.h ../cups/string-private.h
-commandtops.o: ../config.h ../cups/debug-private.h ../cups/versioning.h
-commandtops.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-commandtops.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h
-commandtops.o: ../cups/http.h ../cups/array.h ../cups/language.h
-commandtops.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-commandtops.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-commandtops.o: ../cups/language-private.h ../cups/transcode.h
-commandtops.o: ../cups/thread-private.h ../cups/sidechannel.h
-gziptoany.o: ../cups/cups-private.h ../cups/cups.h ../cups/string-private.h
-gziptoany.o: ../config.h ../cups/debug-private.h ../cups/versioning.h
-gziptoany.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-gziptoany.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-gziptoany.o: ../cups/array.h ../cups/language.h ../cups/pwg-private.h
-gziptoany.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-gziptoany.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-gziptoany.o: ../cups/transcode.h ../cups/thread-private.h
-imagetops.o: common.h ../cups/string-private.h ../config.h ../cups/cups.h
-imagetops.o: ../cups/ppd.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
-imagetops.o: ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
-imagetops.o: image.h ../cups/raster.h ../cups/ppd.h
-imagetops.o: ../cups/language-private.h ../cups/transcode.h
-imagetoraster.o: common.h ../cups/string-private.h ../config.h ../cups/cups.h
-imagetoraster.o: ../cups/ppd.h ../cups/cups.h ../cups/file.h
-imagetoraster.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-imagetoraster.o: ../cups/array.h ../cups/language.h image-private.h image.h
-imagetoraster.o: ../cups/raster.h ../cups/ppd.h ../cups/debug-private.h
-imagetoraster.o: ../cups/versioning.h ../cups/language-private.h
-imagetoraster.o: ../cups/transcode.h
-common.o: common.h ../cups/string-private.h ../config.h ../cups/cups.h
-common.o: ../cups/ppd.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
-common.o: ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
-pdftops.o: ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
-pdftops.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-pdftops.o: ../cups/language.h ../cups/string-private.h ../config.h
-pdftops.o: ../cups/language-private.h ../cups/transcode.h
-pstext.o: pstext.h common.h ../cups/string-private.h ../config.h
-pstext.o: ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
-pstext.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-pstext.o: ../cups/language.h ../cups/transcode.h ../cups/language-private.h
-pstops.o: common.h ../cups/string-private.h ../config.h ../cups/cups.h
-pstops.o: ../cups/ppd.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
-pstops.o: ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
-pstops.o: ../cups/file.h ../cups/array.h ../cups/language-private.h
-pstops.o: ../cups/transcode.h
-rasterbench.o: ../config.h ../cups/raster.h ../cups/cups.h ../cups/file.h
-rasterbench.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-rasterbench.o: ../cups/array.h ../cups/language.h ../cups/ppd.h
-rastertoepson.o: ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
-rastertoepson.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-rastertoepson.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
-rastertoepson.o: ../config.h ../cups/language-private.h ../cups/transcode.h
-rastertoepson.o: ../cups/raster.h ../cups/ppd.h
-rastertohp.o: ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
-rastertohp.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-rastertohp.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
-rastertohp.o: ../config.h ../cups/language-private.h ../cups/transcode.h
-rastertohp.o: ../cups/raster.h ../cups/ppd.h
-rastertolabel.o: ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
-rastertolabel.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-rastertolabel.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
-rastertolabel.o: ../config.h ../cups/language-private.h ../cups/transcode.h
-rastertolabel.o: ../cups/raster.h ../cups/ppd.h
-rastertopwg.o: ../cups/cups-private.h ../cups/cups.h ../cups/string-private.h
-rastertopwg.o: ../config.h ../cups/debug-private.h ../cups/versioning.h
-rastertopwg.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-rastertopwg.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h
-rastertopwg.o: ../cups/http.h ../cups/array.h ../cups/language.h
-rastertopwg.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-rastertopwg.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-rastertopwg.o: ../cups/language-private.h ../cups/transcode.h
-rastertopwg.o: ../cups/thread-private.h ../cups/raster.h ../cups/ppd.h
-testimage.o: image.h ../cups/raster.h ../cups/cups.h ../cups/file.h
-testimage.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-testimage.o: ../cups/array.h ../cups/language.h ../cups/ppd.h
-testraster.o: image-private.h image.h ../cups/raster.h ../cups/cups.h
-testraster.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h
-testraster.o: ../cups/http.h ../cups/array.h ../cups/language.h ../cups/ppd.h
-testraster.o: ../cups/cups.h ../cups/debug-private.h ../cups/versioning.h
-testraster.o: ../cups/string-private.h ../config.h
-textcommon.o: textcommon.h common.h ../cups/string-private.h ../config.h
-textcommon.o: ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
-textcommon.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-textcommon.o: ../cups/array.h ../cups/language.h ../cups/language-private.h
-textcommon.o: ../cups/transcode.h
-texttops.o: textcommon.h common.h ../cups/string-private.h ../config.h
-texttops.o: ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
-texttops.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-texttops.o: ../cups/language.h ../cups/language-private.h ../cups/transcode.h
-# DO NOT DELETE
-
-image-bmp.32.o: image-bmp.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-bmp.32.o: image-bmp.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-image-bmp.32.o: image-bmp.c  ../cups/array.h ../cups/language.h ../cups/ppd.h ../cups/cups.h
-image-bmp.32.o: image-bmp.c  ../cups/debug-private.h ../cups/versioning.h
-image-bmp.32.o: image-bmp.c  ../cups/string-private.h ../config.h
-image-colorspace.32.o: image-colorspace.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-colorspace.32.o: image-colorspace.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h
-image-colorspace.32.o: image-colorspace.c  ../cups/http.h ../cups/array.h ../cups/language.h
-image-colorspace.32.o: image-colorspace.c  ../cups/ppd.h ../cups/cups.h ../cups/debug-private.h
-image-colorspace.32.o: image-colorspace.c  ../cups/versioning.h ../cups/string-private.h ../config.h
-image-gif.32.o: image-gif.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-gif.32.o: image-gif.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-image-gif.32.o: image-gif.c  ../cups/array.h ../cups/language.h ../cups/ppd.h ../cups/cups.h
-image-gif.32.o: image-gif.c  ../cups/debug-private.h ../cups/versioning.h
-image-gif.32.o: image-gif.c  ../cups/string-private.h ../config.h
-image-jpeg.32.o: image-jpeg.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-jpeg.32.o: image-jpeg.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h
-image-jpeg.32.o: image-jpeg.c  ../cups/http.h ../cups/array.h ../cups/language.h ../cups/ppd.h
-image-jpeg.32.o: image-jpeg.c  ../cups/cups.h ../cups/debug-private.h ../cups/versioning.h
-image-jpeg.32.o: image-jpeg.c  ../cups/string-private.h ../config.h
-image-photocd.32.o: image-photocd.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-photocd.32.o: image-photocd.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h
-image-photocd.32.o: image-photocd.c  ../cups/http.h ../cups/array.h ../cups/language.h
-image-photocd.32.o: image-photocd.c  ../cups/ppd.h ../cups/cups.h ../cups/debug-private.h
-image-photocd.32.o: image-photocd.c  ../cups/versioning.h ../cups/string-private.h ../config.h
-image-pix.32.o: image-pix.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-pix.32.o: image-pix.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-image-pix.32.o: image-pix.c  ../cups/array.h ../cups/language.h ../cups/ppd.h ../cups/cups.h
-image-pix.32.o: image-pix.c  ../cups/debug-private.h ../cups/versioning.h
-image-pix.32.o: image-pix.c  ../cups/string-private.h ../config.h
-image-png.32.o: image-png.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-png.32.o: image-png.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-image-png.32.o: image-png.c  ../cups/array.h ../cups/language.h ../cups/ppd.h ../cups/cups.h
-image-png.32.o: image-png.c  ../cups/debug-private.h ../cups/versioning.h
-image-png.32.o: image-png.c  ../cups/string-private.h ../config.h
-image-pnm.32.o: image-pnm.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-pnm.32.o: image-pnm.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-image-pnm.32.o: image-pnm.c  ../cups/array.h ../cups/language.h ../cups/ppd.h ../cups/cups.h
-image-pnm.32.o: image-pnm.c  ../cups/debug-private.h ../cups/versioning.h
-image-pnm.32.o: image-pnm.c  ../cups/string-private.h ../config.h
-image-sgi.32.o: image-sgi.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-sgi.32.o: image-sgi.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-image-sgi.32.o: image-sgi.c  ../cups/array.h ../cups/language.h ../cups/ppd.h ../cups/cups.h
-image-sgi.32.o: image-sgi.c  ../cups/debug-private.h ../cups/versioning.h
-image-sgi.32.o: image-sgi.c  ../cups/string-private.h ../config.h image-sgi.h
-image-sgilib.32.o: image-sgilib.c  image-sgi.h
-image-sun.32.o: image-sun.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-sun.32.o: image-sun.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-image-sun.32.o: image-sun.c  ../cups/array.h ../cups/language.h ../cups/ppd.h ../cups/cups.h
-image-sun.32.o: image-sun.c  ../cups/debug-private.h ../cups/versioning.h
-image-sun.32.o: image-sun.c  ../cups/string-private.h ../config.h
-image-tiff.32.o: image-tiff.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-tiff.32.o: image-tiff.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h
-image-tiff.32.o: image-tiff.c  ../cups/http.h ../cups/array.h ../cups/language.h ../cups/ppd.h
-image-tiff.32.o: image-tiff.c  ../cups/cups.h ../cups/debug-private.h ../cups/versioning.h
-image-tiff.32.o: image-tiff.c  ../cups/string-private.h ../config.h
-image-zoom.32.o: image-zoom.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-zoom.32.o: image-zoom.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h
-image-zoom.32.o: image-zoom.c  ../cups/http.h ../cups/array.h ../cups/language.h ../cups/ppd.h
-image-zoom.32.o: image-zoom.c  ../cups/cups.h ../cups/debug-private.h ../cups/versioning.h
-image-zoom.32.o: image-zoom.c  ../cups/string-private.h ../config.h
-image.32.o: image.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image.32.o: image.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-image.32.o: image.c  ../cups/array.h ../cups/language.h ../cups/ppd.h ../cups/cups.h
-image.32.o: image.c  ../cups/debug-private.h ../cups/versioning.h
-image.32.o: image.c  ../cups/string-private.h ../config.h
-error.32.o: error.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-error.32.o: error.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-error.32.o: error.c  ../cups/array.h ../cups/language.h ../cups/ppd.h ../cups/cups.h
-error.32.o: error.c  ../cups/debug-private.h ../cups/versioning.h
-error.32.o: error.c  ../cups/string-private.h ../config.h
-interpret.32.o: interpret.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-interpret.32.o: interpret.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-interpret.32.o: interpret.c  ../cups/array.h ../cups/language.h ../cups/ppd.h ../cups/cups.h
-interpret.32.o: interpret.c  ../cups/debug-private.h ../cups/versioning.h
-interpret.32.o: interpret.c  ../cups/string-private.h ../config.h
-raster.32.o: raster.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-raster.32.o: raster.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-raster.32.o: raster.c  ../cups/array.h ../cups/language.h ../cups/ppd.h ../cups/cups.h
-raster.32.o: raster.c  ../cups/debug-private.h ../cups/versioning.h
-raster.32.o: raster.c  ../cups/string-private.h ../config.h
-bannertops.32.o: bannertops.c  pstext.h common.h ../cups/string-private.h ../config.h
-bannertops.32.o: bannertops.c  ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
-bannertops.32.o: bannertops.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-bannertops.32.o: bannertops.c  ../cups/array.h ../cups/language.h ../cups/transcode.h image.h
-bannertops.32.o: bannertops.c  ../cups/raster.h ../cups/ppd.h ../cups/language-private.h
-commandtops.32.o: commandtops.c  ../cups/cups-private.h ../cups/cups.h ../cups/string-private.h
-commandtops.32.o: commandtops.c  ../config.h ../cups/debug-private.h ../cups/versioning.h
-commandtops.32.o: commandtops.c  ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-commandtops.32.o: commandtops.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h
-commandtops.32.o: commandtops.c  ../cups/http.h ../cups/array.h ../cups/language.h
-commandtops.32.o: commandtops.c  ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-commandtops.32.o: commandtops.c  ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-commandtops.32.o: commandtops.c  ../cups/language-private.h ../cups/transcode.h
-commandtops.32.o: commandtops.c  ../cups/thread-private.h ../cups/sidechannel.h
-gziptoany.32.o: gziptoany.c  ../cups/cups-private.h ../cups/cups.h ../cups/string-private.h
-gziptoany.32.o: gziptoany.c  ../config.h ../cups/debug-private.h ../cups/versioning.h
-gziptoany.32.o: gziptoany.c  ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-gziptoany.32.o: gziptoany.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-gziptoany.32.o: gziptoany.c  ../cups/array.h ../cups/language.h ../cups/pwg-private.h
-gziptoany.32.o: gziptoany.c  ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-gziptoany.32.o: gziptoany.c  ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-gziptoany.32.o: gziptoany.c  ../cups/transcode.h ../cups/thread-private.h
-imagetops.32.o: imagetops.c  common.h ../cups/string-private.h ../config.h ../cups/cups.h
-imagetops.32.o: imagetops.c  ../cups/ppd.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
-imagetops.32.o: imagetops.c  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
-imagetops.32.o: imagetops.c  image.h ../cups/raster.h ../cups/ppd.h
-imagetops.32.o: imagetops.c  ../cups/language-private.h ../cups/transcode.h
-imagetoraster.32.o: imagetoraster.c  common.h ../cups/string-private.h ../config.h ../cups/cups.h
-imagetoraster.32.o: imagetoraster.c  ../cups/ppd.h ../cups/cups.h ../cups/file.h
-imagetoraster.32.o: imagetoraster.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-imagetoraster.32.o: imagetoraster.c  ../cups/array.h ../cups/language.h image-private.h image.h
-imagetoraster.32.o: imagetoraster.c  ../cups/raster.h ../cups/ppd.h ../cups/debug-private.h
-imagetoraster.32.o: imagetoraster.c  ../cups/versioning.h ../cups/language-private.h
-imagetoraster.32.o: imagetoraster.c  ../cups/transcode.h
-common.32.o: common.c  common.h ../cups/string-private.h ../config.h ../cups/cups.h
-common.32.o: common.c  ../cups/ppd.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
-common.32.o: common.c  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
-pdftops.32.o: pdftops.c  ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
-pdftops.32.o: pdftops.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-pdftops.32.o: pdftops.c  ../cups/language.h ../cups/string-private.h ../config.h
-pdftops.32.o: pdftops.c  ../cups/language-private.h ../cups/transcode.h
-pstext.32.o: pstext.c  pstext.h common.h ../cups/string-private.h ../config.h
-pstext.32.o: pstext.c  ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
-pstext.32.o: pstext.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-pstext.32.o: pstext.c  ../cups/language.h ../cups/transcode.h ../cups/language-private.h
-pstops.32.o: pstops.c  common.h ../cups/string-private.h ../config.h ../cups/cups.h
-pstops.32.o: pstops.c  ../cups/ppd.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
-pstops.32.o: pstops.c  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
-pstops.32.o: pstops.c  ../cups/file.h ../cups/array.h ../cups/language-private.h
-pstops.32.o: pstops.c  ../cups/transcode.h
-rasterbench.32.o: rasterbench.c  ../config.h ../cups/raster.h ../cups/cups.h ../cups/file.h
-rasterbench.32.o: rasterbench.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-rasterbench.32.o: rasterbench.c  ../cups/array.h ../cups/language.h ../cups/ppd.h
-rastertoepson.32.o: rastertoepson.c  ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
-rastertoepson.32.o: rastertoepson.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-rastertoepson.32.o: rastertoepson.c  ../cups/array.h ../cups/language.h ../cups/string-private.h
-rastertoepson.32.o: rastertoepson.c  ../config.h ../cups/language-private.h ../cups/transcode.h
-rastertoepson.32.o: rastertoepson.c  ../cups/raster.h ../cups/ppd.h
-rastertohp.32.o: rastertohp.c  ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
-rastertohp.32.o: rastertohp.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-rastertohp.32.o: rastertohp.c  ../cups/array.h ../cups/language.h ../cups/string-private.h
-rastertohp.32.o: rastertohp.c  ../config.h ../cups/language-private.h ../cups/transcode.h
-rastertohp.32.o: rastertohp.c  ../cups/raster.h ../cups/ppd.h
-rastertolabel.32.o: rastertolabel.c  ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
-rastertolabel.32.o: rastertolabel.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-rastertolabel.32.o: rastertolabel.c  ../cups/array.h ../cups/language.h ../cups/string-private.h
-rastertolabel.32.o: rastertolabel.c  ../config.h ../cups/language-private.h ../cups/transcode.h
-rastertolabel.32.o: rastertolabel.c  ../cups/raster.h ../cups/ppd.h
-rastertopwg.32.o: rastertopwg.c  ../cups/cups-private.h ../cups/cups.h ../cups/string-private.h
-rastertopwg.32.o: rastertopwg.c  ../config.h ../cups/debug-private.h ../cups/versioning.h
-rastertopwg.32.o: rastertopwg.c  ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-rastertopwg.32.o: rastertopwg.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h
-rastertopwg.32.o: rastertopwg.c  ../cups/http.h ../cups/array.h ../cups/language.h
-rastertopwg.32.o: rastertopwg.c  ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-rastertopwg.32.o: rastertopwg.c  ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-rastertopwg.32.o: rastertopwg.c  ../cups/language-private.h ../cups/transcode.h
-rastertopwg.32.o: rastertopwg.c  ../cups/thread-private.h ../cups/raster.h ../cups/ppd.h
-testimage.32.o: testimage.c  image.h ../cups/raster.h ../cups/cups.h ../cups/file.h
-testimage.32.o: testimage.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-testimage.32.o: testimage.c  ../cups/array.h ../cups/language.h ../cups/ppd.h
-testraster.32.o: testraster.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-testraster.32.o: testraster.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h
-testraster.32.o: testraster.c  ../cups/http.h ../cups/array.h ../cups/language.h ../cups/ppd.h
-testraster.32.o: testraster.c  ../cups/cups.h ../cups/debug-private.h ../cups/versioning.h
-testraster.32.o: testraster.c  ../cups/string-private.h ../config.h
-textcommon.32.o: textcommon.c  textcommon.h common.h ../cups/string-private.h ../config.h
-textcommon.32.o: textcommon.c  ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
-textcommon.32.o: textcommon.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-textcommon.32.o: textcommon.c  ../cups/array.h ../cups/language.h ../cups/language-private.h
-textcommon.32.o: textcommon.c  ../cups/transcode.h
-texttops.32.o: texttops.c  textcommon.h common.h ../cups/string-private.h ../config.h
-texttops.32.o: texttops.c  ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
-texttops.32.o: texttops.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-texttops.32.o: texttops.c  ../cups/language.h ../cups/language-private.h ../cups/transcode.h
-# DO NOT DELETE
-
-image-bmp.64.o: image-bmp.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-bmp.64.o: image-bmp.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-image-bmp.64.o: image-bmp.c  ../cups/array.h ../cups/language.h ../cups/ppd.h ../cups/cups.h
-image-bmp.64.o: image-bmp.c  ../cups/debug-private.h ../cups/versioning.h
-image-bmp.64.o: image-bmp.c  ../cups/string-private.h ../config.h
-image-colorspace.64.o: image-colorspace.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-colorspace.64.o: image-colorspace.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h
-image-colorspace.64.o: image-colorspace.c  ../cups/http.h ../cups/array.h ../cups/language.h
-image-colorspace.64.o: image-colorspace.c  ../cups/ppd.h ../cups/cups.h ../cups/debug-private.h
-image-colorspace.64.o: image-colorspace.c  ../cups/versioning.h ../cups/string-private.h ../config.h
-image-gif.64.o: image-gif.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-gif.64.o: image-gif.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-image-gif.64.o: image-gif.c  ../cups/array.h ../cups/language.h ../cups/ppd.h ../cups/cups.h
-image-gif.64.o: image-gif.c  ../cups/debug-private.h ../cups/versioning.h
-image-gif.64.o: image-gif.c  ../cups/string-private.h ../config.h
-image-jpeg.64.o: image-jpeg.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-jpeg.64.o: image-jpeg.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h
-image-jpeg.64.o: image-jpeg.c  ../cups/http.h ../cups/array.h ../cups/language.h ../cups/ppd.h
-image-jpeg.64.o: image-jpeg.c  ../cups/cups.h ../cups/debug-private.h ../cups/versioning.h
-image-jpeg.64.o: image-jpeg.c  ../cups/string-private.h ../config.h
-image-photocd.64.o: image-photocd.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-photocd.64.o: image-photocd.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h
-image-photocd.64.o: image-photocd.c  ../cups/http.h ../cups/array.h ../cups/language.h
-image-photocd.64.o: image-photocd.c  ../cups/ppd.h ../cups/cups.h ../cups/debug-private.h
-image-photocd.64.o: image-photocd.c  ../cups/versioning.h ../cups/string-private.h ../config.h
-image-pix.64.o: image-pix.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-pix.64.o: image-pix.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-image-pix.64.o: image-pix.c  ../cups/array.h ../cups/language.h ../cups/ppd.h ../cups/cups.h
-image-pix.64.o: image-pix.c  ../cups/debug-private.h ../cups/versioning.h
-image-pix.64.o: image-pix.c  ../cups/string-private.h ../config.h
-image-png.64.o: image-png.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-png.64.o: image-png.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-image-png.64.o: image-png.c  ../cups/array.h ../cups/language.h ../cups/ppd.h ../cups/cups.h
-image-png.64.o: image-png.c  ../cups/debug-private.h ../cups/versioning.h
-image-png.64.o: image-png.c  ../cups/string-private.h ../config.h
-image-pnm.64.o: image-pnm.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-pnm.64.o: image-pnm.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-image-pnm.64.o: image-pnm.c  ../cups/array.h ../cups/language.h ../cups/ppd.h ../cups/cups.h
-image-pnm.64.o: image-pnm.c  ../cups/debug-private.h ../cups/versioning.h
-image-pnm.64.o: image-pnm.c  ../cups/string-private.h ../config.h
-image-sgi.64.o: image-sgi.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-sgi.64.o: image-sgi.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-image-sgi.64.o: image-sgi.c  ../cups/array.h ../cups/language.h ../cups/ppd.h ../cups/cups.h
-image-sgi.64.o: image-sgi.c  ../cups/debug-private.h ../cups/versioning.h
-image-sgi.64.o: image-sgi.c  ../cups/string-private.h ../config.h image-sgi.h
-image-sgilib.64.o: image-sgilib.c  image-sgi.h
-image-sun.64.o: image-sun.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-sun.64.o: image-sun.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-image-sun.64.o: image-sun.c  ../cups/array.h ../cups/language.h ../cups/ppd.h ../cups/cups.h
-image-sun.64.o: image-sun.c  ../cups/debug-private.h ../cups/versioning.h
-image-sun.64.o: image-sun.c  ../cups/string-private.h ../config.h
-image-tiff.64.o: image-tiff.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-tiff.64.o: image-tiff.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h
-image-tiff.64.o: image-tiff.c  ../cups/http.h ../cups/array.h ../cups/language.h ../cups/ppd.h
-image-tiff.64.o: image-tiff.c  ../cups/cups.h ../cups/debug-private.h ../cups/versioning.h
-image-tiff.64.o: image-tiff.c  ../cups/string-private.h ../config.h
-image-zoom.64.o: image-zoom.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-zoom.64.o: image-zoom.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h
-image-zoom.64.o: image-zoom.c  ../cups/http.h ../cups/array.h ../cups/language.h ../cups/ppd.h
-image-zoom.64.o: image-zoom.c  ../cups/cups.h ../cups/debug-private.h ../cups/versioning.h
-image-zoom.64.o: image-zoom.c  ../cups/string-private.h ../config.h
-image.64.o: image.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image.64.o: image.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-image.64.o: image.c  ../cups/array.h ../cups/language.h ../cups/ppd.h ../cups/cups.h
-image.64.o: image.c  ../cups/debug-private.h ../cups/versioning.h
-image.64.o: image.c  ../cups/string-private.h ../config.h
-error.64.o: error.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-error.64.o: error.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-error.64.o: error.c  ../cups/array.h ../cups/language.h ../cups/ppd.h ../cups/cups.h
-error.64.o: error.c  ../cups/debug-private.h ../cups/versioning.h
-error.64.o: error.c  ../cups/string-private.h ../config.h
-interpret.64.o: interpret.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-interpret.64.o: interpret.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-interpret.64.o: interpret.c  ../cups/array.h ../cups/language.h ../cups/ppd.h ../cups/cups.h
-interpret.64.o: interpret.c  ../cups/debug-private.h ../cups/versioning.h
-interpret.64.o: interpret.c  ../cups/string-private.h ../config.h
-raster.64.o: raster.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-raster.64.o: raster.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-raster.64.o: raster.c  ../cups/array.h ../cups/language.h ../cups/ppd.h ../cups/cups.h
-raster.64.o: raster.c  ../cups/debug-private.h ../cups/versioning.h
-raster.64.o: raster.c  ../cups/string-private.h ../config.h
-bannertops.64.o: bannertops.c  pstext.h common.h ../cups/string-private.h ../config.h
-bannertops.64.o: bannertops.c  ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
-bannertops.64.o: bannertops.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-bannertops.64.o: bannertops.c  ../cups/array.h ../cups/language.h ../cups/transcode.h image.h
-bannertops.64.o: bannertops.c  ../cups/raster.h ../cups/ppd.h ../cups/language-private.h
-commandtops.64.o: commandtops.c  ../cups/cups-private.h ../cups/cups.h ../cups/string-private.h
-commandtops.64.o: commandtops.c  ../config.h ../cups/debug-private.h ../cups/versioning.h
-commandtops.64.o: commandtops.c  ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-commandtops.64.o: commandtops.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h
-commandtops.64.o: commandtops.c  ../cups/http.h ../cups/array.h ../cups/language.h
-commandtops.64.o: commandtops.c  ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-commandtops.64.o: commandtops.c  ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-commandtops.64.o: commandtops.c  ../cups/language-private.h ../cups/transcode.h
-commandtops.64.o: commandtops.c  ../cups/thread-private.h ../cups/sidechannel.h
-gziptoany.64.o: gziptoany.c  ../cups/cups-private.h ../cups/cups.h ../cups/string-private.h
-gziptoany.64.o: gziptoany.c  ../config.h ../cups/debug-private.h ../cups/versioning.h
-gziptoany.64.o: gziptoany.c  ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-gziptoany.64.o: gziptoany.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-gziptoany.64.o: gziptoany.c  ../cups/array.h ../cups/language.h ../cups/pwg-private.h
-gziptoany.64.o: gziptoany.c  ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-gziptoany.64.o: gziptoany.c  ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-gziptoany.64.o: gziptoany.c  ../cups/transcode.h ../cups/thread-private.h
-imagetops.64.o: imagetops.c  common.h ../cups/string-private.h ../config.h ../cups/cups.h
-imagetops.64.o: imagetops.c  ../cups/ppd.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
-imagetops.64.o: imagetops.c  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
-imagetops.64.o: imagetops.c  image.h ../cups/raster.h ../cups/ppd.h
-imagetops.64.o: imagetops.c  ../cups/language-private.h ../cups/transcode.h
-imagetoraster.64.o: imagetoraster.c  common.h ../cups/string-private.h ../config.h ../cups/cups.h
-imagetoraster.64.o: imagetoraster.c  ../cups/ppd.h ../cups/cups.h ../cups/file.h
-imagetoraster.64.o: imagetoraster.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-imagetoraster.64.o: imagetoraster.c  ../cups/array.h ../cups/language.h image-private.h image.h
-imagetoraster.64.o: imagetoraster.c  ../cups/raster.h ../cups/ppd.h ../cups/debug-private.h
-imagetoraster.64.o: imagetoraster.c  ../cups/versioning.h ../cups/language-private.h
-imagetoraster.64.o: imagetoraster.c  ../cups/transcode.h
-common.64.o: common.c  common.h ../cups/string-private.h ../config.h ../cups/cups.h
-common.64.o: common.c  ../cups/ppd.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
-common.64.o: common.c  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
-pdftops.64.o: pdftops.c  ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
-pdftops.64.o: pdftops.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-pdftops.64.o: pdftops.c  ../cups/language.h ../cups/string-private.h ../config.h
-pdftops.64.o: pdftops.c  ../cups/language-private.h ../cups/transcode.h
-pstext.64.o: pstext.c  pstext.h common.h ../cups/string-private.h ../config.h
-pstext.64.o: pstext.c  ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
-pstext.64.o: pstext.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-pstext.64.o: pstext.c  ../cups/language.h ../cups/transcode.h ../cups/language-private.h
-pstops.64.o: pstops.c  common.h ../cups/string-private.h ../config.h ../cups/cups.h
-pstops.64.o: pstops.c  ../cups/ppd.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
-pstops.64.o: pstops.c  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
-pstops.64.o: pstops.c  ../cups/file.h ../cups/array.h ../cups/language-private.h
-pstops.64.o: pstops.c  ../cups/transcode.h
-rasterbench.64.o: rasterbench.c  ../config.h ../cups/raster.h ../cups/cups.h ../cups/file.h
-rasterbench.64.o: rasterbench.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-rasterbench.64.o: rasterbench.c  ../cups/array.h ../cups/language.h ../cups/ppd.h
-rastertoepson.64.o: rastertoepson.c  ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
-rastertoepson.64.o: rastertoepson.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-rastertoepson.64.o: rastertoepson.c  ../cups/array.h ../cups/language.h ../cups/string-private.h
-rastertoepson.64.o: rastertoepson.c  ../config.h ../cups/language-private.h ../cups/transcode.h
-rastertoepson.64.o: rastertoepson.c  ../cups/raster.h ../cups/ppd.h
-rastertohp.64.o: rastertohp.c  ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
-rastertohp.64.o: rastertohp.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-rastertohp.64.o: rastertohp.c  ../cups/array.h ../cups/language.h ../cups/string-private.h
-rastertohp.64.o: rastertohp.c  ../config.h ../cups/language-private.h ../cups/transcode.h
-rastertohp.64.o: rastertohp.c  ../cups/raster.h ../cups/ppd.h
-rastertolabel.64.o: rastertolabel.c  ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
-rastertolabel.64.o: rastertolabel.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-rastertolabel.64.o: rastertolabel.c  ../cups/array.h ../cups/language.h ../cups/string-private.h
-rastertolabel.64.o: rastertolabel.c  ../config.h ../cups/language-private.h ../cups/transcode.h
-rastertolabel.64.o: rastertolabel.c  ../cups/raster.h ../cups/ppd.h
-rastertopwg.64.o: rastertopwg.c  ../cups/cups-private.h ../cups/cups.h ../cups/string-private.h
-rastertopwg.64.o: rastertopwg.c  ../config.h ../cups/debug-private.h ../cups/versioning.h
-rastertopwg.64.o: rastertopwg.c  ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-rastertopwg.64.o: rastertopwg.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h
-rastertopwg.64.o: rastertopwg.c  ../cups/http.h ../cups/array.h ../cups/language.h
-rastertopwg.64.o: rastertopwg.c  ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-rastertopwg.64.o: rastertopwg.c  ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-rastertopwg.64.o: rastertopwg.c  ../cups/language-private.h ../cups/transcode.h
-rastertopwg.64.o: rastertopwg.c  ../cups/thread-private.h ../cups/raster.h ../cups/ppd.h
-testimage.64.o: testimage.c  image.h ../cups/raster.h ../cups/cups.h ../cups/file.h
-testimage.64.o: testimage.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-testimage.64.o: testimage.c  ../cups/array.h ../cups/language.h ../cups/ppd.h
-testraster.64.o: testraster.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-testraster.64.o: testraster.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h
-testraster.64.o: testraster.c  ../cups/http.h ../cups/array.h ../cups/language.h ../cups/ppd.h
-testraster.64.o: testraster.c  ../cups/cups.h ../cups/debug-private.h ../cups/versioning.h
-testraster.64.o: testraster.c  ../cups/string-private.h ../config.h
-textcommon.64.o: textcommon.c  textcommon.h common.h ../cups/string-private.h ../config.h
-textcommon.64.o: textcommon.c  ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
-textcommon.64.o: textcommon.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-textcommon.64.o: textcommon.c  ../cups/array.h ../cups/language.h ../cups/language-private.h
-textcommon.64.o: textcommon.c  ../cups/transcode.h
-texttops.64.o: texttops.c  textcommon.h common.h ../cups/string-private.h ../config.h
-texttops.64.o: texttops.c  ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
-texttops.64.o: texttops.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-texttops.64.o: texttops.c  ../cups/language.h ../cups/language-private.h ../cups/transcode.h
+error.o: error.c ../cups/raster-private.h ../cups/raster.h ../cups/cups.h \
+  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h \
+  ../cups/array.h ../cups/language.h ../cups/ppd.h \
+  ../cups/debug-private.h ../cups/string-private.h ../config.h
+interpret.o: interpret.c ../cups/raster-private.h ../cups/raster.h \
+  ../cups/cups.h ../cups/file.h ../cups/versioning.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/language.h ../cups/ppd.h \
+  ../cups/debug-private.h ../cups/string-private.h ../config.h
+raster.o: raster.c ../cups/raster-private.h ../cups/raster.h \
+  ../cups/cups.h ../cups/file.h ../cups/versioning.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/language.h ../cups/ppd.h \
+  ../cups/debug-private.h ../cups/string-private.h ../config.h
+commandtops.o: commandtops.c ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/sidechannel.h
+gziptoany.o: gziptoany.c ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+common.o: common.c common.h ../cups/string-private.h ../config.h \
+  ../cups/cups.h ../cups/file.h ../cups/versioning.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/language.h ../cups/ppd.h
+pstops.o: pstops.c common.h ../cups/string-private.h ../config.h \
+  ../cups/cups.h ../cups/file.h ../cups/versioning.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/language.h ../cups/ppd.h \
+  ../cups/language-private.h ../cups/transcode.h
+rasterbench.o: rasterbench.c ../config.h ../cups/raster.h ../cups/cups.h \
+  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h \
+  ../cups/array.h ../cups/language.h ../cups/ppd.h
+rastertoepson.o: rastertoepson.c ../cups/cups.h ../cups/file.h \
+  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/language.h ../cups/ppd.h ../cups/string-private.h ../config.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/raster.h
+rastertohp.o: rastertohp.c ../cups/cups.h ../cups/file.h \
+  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/language.h ../cups/ppd.h ../cups/string-private.h ../config.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/raster.h
+rastertolabel.o: rastertolabel.c ../cups/cups.h ../cups/file.h \
+  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/language.h ../cups/ppd.h ../cups/string-private.h ../config.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/raster.h
+rastertopwg.o: rastertopwg.c ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/raster.h
+testraster.o: testraster.c ../cups/raster-private.h ../cups/raster.h \
+  ../cups/cups.h ../cups/file.h ../cups/versioning.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/language.h ../cups/ppd.h \
+  ../cups/debug-private.h ../cups/string-private.h ../config.h
index af99f1e..ea27f12 100644 (file)
@@ -1,9 +1,9 @@
 #
-# "$Id: Makefile 9979 2011-09-09 16:34:29Z mike $"
+# "$Id: Makefile 11173 2013-07-23 12:31:34Z msweet $"
 #
 #   Filter makefile for CUPS.
 #
-#   Copyright 2007-2011 by Apple Inc.
+#   Copyright 2007-2012 by Apple Inc.
 #   Copyright 1997-2006 by Easy Software Products.
 #
 #   These coded instructions, statements, and computer programs are the
@@ -19,41 +19,28 @@ include ../Makedefs
 
 
 FILTERS        =       \
-               $(BANNERTOPS) \
                commandtops \
                gziptoany \
-               $(TEXTTOPS) \
                pstops \
-               $(IMGFILTERS) \
-               $(PDFTOPS) \
                rastertoepson \
                rastertohp \
                rastertolabel \
                rastertopwg
 LIBTARGETS =   \
                $(LIBCUPSIMAGE) \
-               libcupsimage.a \
-               $(LIB32CUPSIMAGE) \
-               $(LIB64CUPSIMAGE)
+               libcupsimage.a
 UNITTARGETS =  \
                rasterbench \
-               testimage \
                testraster
 TARGETS        =       \
                $(LIBTARGETS) \
                $(FILTERS)
 
-IMAGEOBJS =    image-bmp.o image-colorspace.o image-gif.o image-jpeg.o \
-               image-photocd.o image-pix.o image-png.o image-pnm.o \
-               image-sgi.o image-sgilib.o image-sun.o image-tiff.o \
-               image-zoom.o image.o error.o interpret.o raster.o
-IMAGE32OBJS =  $(IMAGEOBJS:.o=.32.o)
-IMAGE64OBJS =  $(IMAGEOBJS:.o=.64.o)
+IMAGEOBJS =    error.o interpret.o raster.o
 OBJS   =       $(IMAGEOBJS) \
-               bannertops.o commandtops.o gziptoany.o imagetops.o \
-               imagetoraster.o common.o pdftops.o pstext.o pstops.o \
+               commandtops.o gziptoany.o common.o pstops.o \
                rasterbench.o rastertoepson.o rastertohp.o rastertolabel.o \
-               rastertopwg.o testimage.o testraster.o textcommon.o texttops.o
+               rastertopwg.o testraster.o
 
 
 #
@@ -84,7 +71,6 @@ unittests:    $(UNITTARGETS)
 clean:
        $(RM) $(OBJS) $(TARGETS) $(UNITTARGETS)
        $(RM) libcupsimage.so libcupsimage.sl libcupsimage.dylib
-       $(RM) -r 32bit 64bit
 
 
 #
@@ -92,13 +78,7 @@ clean:
 #
 
 depend:
-       touch Dependencies.tmp
-       makedepend -Y -I.. -fDependencies.tmp $(OBJS:.o=.c) >/dev/null 2>&1
-       $(RM) Dependencies
-       cp Dependencies.tmp Dependencies
-       sed -E -e '1,$$s/^([^.]+)\.o:/\1\.32.o: \1\.c /' Dependencies.tmp >>Dependencies
-       sed -E -e '1,$$s/^([^.]+)\.o:/\1\.64.o: \1\.c /' Dependencies.tmp >>Dependencies
-       $(RM) Dependencies.tmp
+       $(CC) -MM $(ALL_CFLAGS) $(OBJS:.o=.c) >Dependencies
 
 
 #
@@ -139,15 +119,13 @@ install-exec:
 #
 
 install-headers:
-       $(INSTALL_DIR) -m 755 $(INCLUDEDIR)/cups
-       $(INSTALL_DATA) image.h $(INCLUDEDIR)/cups
 
 
 #
 # Install libraries...
 #
 
-install-libs: $(INSTALLSTATIC) $(INSTALL32) $(INSTALL64)
+install-libs: $(INSTALLSTATIC)
        $(INSTALL_DIR) -m 755 $(LIBDIR)
        $(INSTALL_LIB) $(LIBCUPSIMAGE) $(LIBDIR)
        -if test $(LIBCUPSIMAGE) = "libcupsimage.so.2" -o $(LIBCUPSIMAGE) = "libcupsimage.sl.2"; then \
@@ -169,22 +147,12 @@ installstatic:
        $(RANLIB) $(LIBDIR)/libcupsimage.a
        $(CHMOD) 555 $(LIBDIR)/libcupsimage.a
 
-install32bit:
-       $(INSTALL_DIR) -m 755 $(LIB32DIR)
-       $(INSTALL_LIB) 32bit/libcupsimage.so.2 $(LIB32DIR)/libcupsimage.so.2
-       $(LN) libcupsimage.so.2 $(LIB32DIR)/libcupsimage.so
-
-install64bit:
-       $(INSTALL_DIR) -m 755 $(LIB64DIR)
-       $(INSTALL_LIB) 64bit/libcupsimage.so.2 $(LIB64DIR)/libcupsimage.so.2
-       $(LN) libcupsimage.so.2 $(LIB64DIR)/libcupsimage.so
-
 
 #
 # Uninstall all targets...
 #
 
-uninstall: $(UNINSTALL32) $(UNINSTALL64)
+uninstall:
        for file in $(FILTERS); do \
                $(RM) $(SERVERBIN)/filter/$$file; \
        done
@@ -200,18 +168,6 @@ uninstall: $(UNINSTALL32) $(UNINSTALL64)
        $(RM) $(LIBDIR)/libcupsimage.so
        $(RM) $(LIBDIR)/libcupsimage.so.2
        -$(RMDIR) $(LIBDIR)
-       $(RM) $(INCLUDEDIR)/cups/image.h
-       -$(RMDIR) $(INCLUDEDIR)/cups
-
-uninstall32bit:
-       $(RM) $(LIB32DIR)/libcupsimage.so
-       $(RM) $(LIB32DIR)/libcupsimage.so.2
-       -$(RMDIR) $(LIB32DIR)
-
-uninstall64bit:
-       $(RM) $(LIB64DIR)/libcupsimage.so
-       $(RM) $(LIB64DIR)/libcupsimage.so.2
-       -$(RMDIR) $(LIB64DIR)
 
 
 #
@@ -287,16 +243,6 @@ framedhelp:
 
 
 #
-# bannertops
-#
-
-bannertops:    bannertops.o pstext.o common.o ../cups/$(LIBCUPS) $(LIBCUPSIMAGE)
-       echo Linking $@...
-       $(CC) $(LDFLAGS) -o $@ bannertops.o pstext.o common.o $(LINKCUPSIMAGE) \
-               $(IMGLIBS) $(LIBS)
-
-
-#
 # commandtops
 #
 
@@ -327,28 +273,6 @@ libcupsimage.so.2 libcupsimage.sl.2:       $(IMAGEOBJS)
 
 
 #
-# 32bit/libcupsimage.so.2
-#
-
-32bit/libcupsimage.so.2:       $(IMAGE32OBJS)
-       echo Linking 32-bit $@...
-       -mkdir 32bit
-       $(DSO) $(ARCH32FLAGS) $(DSO32FLAGS) -o $@ $(IMAGE32OBJS) $(DSOLIBS) \
-               -L../cups/32bit $(LINKCUPS)
-
-
-#
-# 64bit/libcupsimage.so.2
-#
-
-64bit/libcupsimage.so.2:       $(IMAGE64OBJS)
-       echo Linking 64-bit $@...
-       -mkdir 64bit
-       $(DSO) $(ARCH64FLAGS) $(DSO64FLAGS) -o $@ $(IMAGE64OBJS) $(DSOLIBS) \
-               -L../cups/64bit $(LINKCUPS)
-
-
-#
 # libcupsimage.2.dylib
 #
 
@@ -398,38 +322,6 @@ libcupsimage.a:    $(IMAGEOBJS)
 
 
 #
-# testimage
-#
-
-testimage:     testimage.o libcupsimage.a ../Makedefs
-       echo Linking $@...
-       $(CC) $(LDFLAGS) -o $@ testimage.o libcupsimage.a \
-               $(IMGLIBS) $(DSOLIBS) $(LIBS)
-
-
-#
-# imagetops
-#
-
-imagetops:     imagetops.o common.o $(LIBCUPSIMAGE) \
-               ../cups/$(LIBCUPS)
-       echo Linking $@...
-       $(CC) $(LDFLAGS) -o $@ imagetops.o common.o $(LINKCUPSIMAGE) \
-               $(IMGLIBS) $(LIBS)
-
-
-#
-# imagetoraster
-#
-
-imagetoraster: imagetoraster.o common.o $(LIBCUPSIMAGE) \
-               ../cups/$(LIBCUPS)
-       echo Linking $@...
-       $(CC) $(LDFLAGS) -o $@ imagetoraster.o common.o $(LINKCUPSIMAGE) \
-               $(IMGLIBS) $(LIBS)
-
-
-#
 # pstops
 #
 
@@ -439,15 +331,6 @@ pstops:    pstops.o common.o ../cups/$(LIBCUPS)
 
 
 #
-# pdftops
-#
-
-pdftops:       pdftops.o common.o ../cups/$(LIBCUPS)
-       echo Linking $@...
-       $(CC) $(LDFLAGS) -o $@ pdftops.o common.o $(LIBS)
-
-
-#
 # rastertoepson
 #
 
@@ -506,16 +389,6 @@ rasterbench:       rasterbench.o libcupsimage.a
 
 
 #
-# texttops
-#
-
-texttops:      texttops.o textcommon.o common.o \
-               ../cups/$(LIBCUPS)
-       echo Linking $@...
-       $(CC) $(LDFLAGS) -o $@ texttops.o textcommon.o common.o $(LIBS)
-
-
-#
 # Dependencies...
 #
 
@@ -523,5 +396,5 @@ include Dependencies
 
 
 #
-# End of "$Id: Makefile 9979 2011-09-09 16:34:29Z mike $".
+# End of "$Id: Makefile 11173 2013-07-23 12:31:34Z msweet $".
 #
index 201c799..42c11d1 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-  "$Id: api-raster.header 9344 2010-10-26 23:45:18Z mike $"
+  "$Id$"
 
   Raster API documentation for CUPS.
 
index a309022..cb137d5 100644 (file)
@@ -3,7 +3,7 @@
 
   Raster API introduction for CUPS.
 
-  Copyright 2007-2011 by Apple Inc.
+  Copyright 2007-2013 by Apple Inc.
   Copyright 1997-2006 by Easy Software Products, all rights reserved.
 
   These coded instructions, statements, and computer programs are the
@@ -22,7 +22,7 @@ avoid incompatibilities with newer versions of CUPS.</p>
 
 <p>Two kinds of CUPS filters use the CUPS raster API - raster image processor
 (RIP) filters such as <code>pstoraster</code> and <code>cgpdftoraster</code>
-(Mac OS X) that produce CUPS raster files and printer driver filters that
+(OS X) that produce CUPS raster files and printer driver filters that
 convert CUPS raster files into a format usable by the printer. Printer
 driver filters are by far the most common.</p>
 
@@ -142,7 +142,7 @@ the memory used to read the raster file:</p>
 
 <ul class="code">
 
-       <li><a href="#cupsRasterReadHeader" title="Read a raster page header and store it in a version 1 page header structure.">cupsRasterReadHeader</a> <span class="info">Deprecated in CUPS 1.2/Mac OS X 10.5</span></li>
+       <li><a href="#cupsRasterReadHeader" title="Read a raster page header and store it in a version 1 page header structure.">cupsRasterReadHeader</a> <span class="info">Deprecated in CUPS 1.2/OS X 10.5</span></li>
        <li><a href="#cupsRasterReadHeader2" title="Read a raster page header and store it in a version 2 page header structure.">cupsRasterReadHeader2</a></li>
        <li><a href="#cupsRasterReadPixels" title="Read raster pixels.">cupsRasterReadPixels</a></li>
 
@@ -153,8 +153,8 @@ the memory used to read the raster file:</p>
 <ul class="code">
 
        <li><a href="#cupsRasterInterpretPPD" title="Interpret PPD commands to create a page header.">cupsRasterInterpretPPD</a></li>
-       <li><a href="#cupsRasterWriteHeader" title="Write a raster page header from a version 1 page header structure.">cupsRasterWriteHeader</a> <span class="info">Deprecated in CUPS 1.2/Mac OS X 10.5</span></li>
+       <li><a href="#cupsRasterWriteHeader" title="Write a raster page header from a version 1 page header structure.">cupsRasterWriteHeader</a> <span class="info">Deprecated in CUPS 1.2/OS X 10.5</span></li>
        <li><a href="#cupsRasterWriteHeader2" title="Write a raster page header from a version 2 page header structure.">cupsRasterWriteHeader2</a></li>
        <li><a href="#cupsRasterWritePixels" title="Write raster pixels.">cupsRasterWritePixels</a></li>
-       
+
 </ul>
diff --git a/filter/bannertops.c b/filter/bannertops.c
deleted file mode 100644 (file)
index c017c5f..0000000
+++ /dev/null
@@ -1,1094 +0,0 @@
-/*
- * "$Id: bannertops.c 9793 2011-05-20 03:49:49Z mike $"
- *
- *   Banner to PostScript filter for CUPS.
- *
- *   Copyright 2008-2011 by Apple Inc.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- *   This file is subject to the Apple OS-Developed Software exception.
- *
- * Contents:
- *
- *   main()           - Generate PostScript cover pages.
- *   load_banner()    - Load the banner file.
- *   ps_ascii85()     - Print binary data as a series of base-85 numbers.
- *   write_banner()   - Write a banner page...
- *   write_epilogue() - Write the PostScript file epilogue.
- *   write_prolog()   - Write the PostScript file prolog with options.
- */
-
-/*
- * Include necessary headers...
- */
-
-#include "pstext.h"
-#include "image.h"
-#include <cups/language-private.h>
-
-
-/*
- * Constants...
- */
-
-#define SHOW_IMAGEABLE_AREA            1       /* Show imageable area */
-#define SHOW_JOB_BILLING               2       /* Show billing string */
-#define SHOW_JOB_ID                    4       /* Show job ID */
-#define SHOW_JOB_NAME                  8       /* Show job title */
-#define SHOW_JOB_ORIGINATING_USER_NAME 16      /* Show owner of job */
-#define SHOW_JOB_ORIGINATING_HOST_NAME 32      /* Show submitting system */
-#define SHOW_JOB_UUID                  64      /* Show job UUID */
-#define SHOW_OPTIONS                   128     /* Show print options */
-#define SHOW_PAPER_NAME                        256     /* Show paper size name */
-#define SHOW_PAPER_SIZE                        512     /* Show paper dimensions */
-#define SHOW_PRINTER_DRIVER_NAME       1024    /* Show printer driver name */
-#define SHOW_PRINTER_DRIVER_VERSION    2048    /* Show printer driver version */
-#define SHOW_PRINTER_INFO              4096    /* Show printer description */
-#define SHOW_PRINTER_LOCATION          8192    /* Show printer location */
-#define SHOW_PRINTER_MAKE_AND_MODEL    16384   /* Show printer make and model */
-#define SHOW_PRINTER_NAME              32768   /* Show printer queue ID */
-#define SHOW_TIME_AT_CREATION          65536   /* Show date/time when submitted */
-#define SHOW_TIME_AT_PROCESSING                131072  /* Show date/time when printed */
-
-
-/*
- * Structures...
- */
-
-typedef struct banner_file_s           /**** Banner file data ****/
-{
-  int          show;                   /* What to show */
-  char         *header,                /* Header text */
-               *footer;                /* Footer text */
-  cups_array_t *notices,               /* Notices to show */
-               *images;                /* Images to show */
-} banner_file_t;
-
-
-/*
- * Local functions...
- */
-
-static banner_file_t   *load_banner(const char *filename);
-static int             write_banner(banner_file_t *banner, ppd_file_t *ppd,
-                                    ps_text_t *fonts, int job_id,
-                                    const char *title, const char *username,
-                                    int num_options, cups_option_t *options);
-static void            write_epilogue(int num_pages);
-static ps_text_t       *write_prolog(const char *title, const char *user);
-
-
-/*
- * 'main()' - Generate PostScript cover pages.
- */
-
-int                                    /* O - Exit status */
-main(int  argc,                                /* I - Number of command-line args */
-     char *argv[])                     /* I - Command-line arguments */
-{
-  banner_file_t        *banner;                /* Banner file data */
-  int          num_options;            /* Number of print options */
-  cups_option_t        *options;               /* Print options */
-  ppd_file_t   *ppd;                   /* PPD file */
-  ps_text_t    *fonts;                 /* Fonts for output */
-  int          job_id;                 /* Job ID from command-line */
-  const char   *title,                 /* Title from command-line */
-               *username;              /* Username from command-line */
-  int          num_pages;              /* Number of pages printed */
-
-
- /*
-  * Make sure status messages are not buffered...
-  */
-
-  setbuf(stderr, NULL);
-
- /*
-  * Check command-line...
-  */
-
-  if (argc < 6 || argc > 7)
-  {
-    _cupsLangPrintf(stderr,
-                    _("Usage: %s job-id user title copies options file"),
-                    argv[0]);
-    return (1);
-  }
-
- /*
-  * Get stuff from command-line...
-  */
-
-  job_id      = atoi(argv[1]);
-  username    = argv[2];
-  title       = argv[3];
-  options     = NULL;
-  num_options = cupsParseOptions(argv[5], 0, &options);
-  banner      = load_banner(argv[6]);
-
- /*
-  * Set standard options and get the PPD file for this printer...
-  */
-
-  ppd = SetCommonOptions(num_options, options, 1);
-
- /*
-  * Write a PostScript banner document and return...
-  */
-
-  fonts       = write_prolog(title, username);
-  num_pages   = write_banner(banner, ppd, fonts, job_id, title, username,
-                             num_options, options);
-
-  write_epilogue(num_pages);
-
-  return (0);
-}
-
-
-/*
- * 'load_banner()' - Load the banner file.
- */
-
-static banner_file_t *                 /* O - Banner file data */
-load_banner(const char *filename)      /* I - Filename or NULL for stdin */
-{
-  cups_file_t  *fp;                    /* File */
-  char         line[2048],             /* Line buffer */
-               *ptr;                   /* Pointer into line */
-  int          linenum;                /* Current line number */
-  banner_file_t        *banner;                /* Banner file data */
-  const char   *cups_docroot;          /* CUPS_DOCROOT environment variable */
-
-
-  fprintf(stderr, "DEBUG: load_banner(filename=\"%s\")\n",
-          filename ? filename : "(stdin)");
-
- /*
-  * Open the banner file...
-  */
-
-  if (filename)
-    fp = cupsFileOpen(filename, "r");
-  else
-    fp = cupsFileStdin();
-
-  if (!fp)
-  {
-    _cupsLangPrintError("ERROR", _("Unable to open print file"));
-    exit(1);
-  }
-
- /*
-  * Read the banner file...
-  */
-
-  if ((cups_docroot = getenv("CUPS_DOCROOT")) == NULL)
-    cups_docroot = CUPS_DOCROOT;
-
-  banner  = calloc(1, sizeof(banner_file_t));
-  linenum = 0;
-
-  while (cupsFileGets(fp, line, sizeof(line)))
-  {
-   /*
-    * Skip blank and comment lines...
-    */
-
-    linenum ++;
-
-    fprintf(stderr, "DEBUG: %4d %s\n", linenum, line);
-
-    if (line[0] == '#' || !line[0])
-      continue;
-
-   /*
-    * Break the line into keyword and value parts...
-    */
-
-    for (ptr = line; *ptr && !isspace(*ptr & 255); ptr ++);
-
-    while (isspace(*ptr & 255))
-      *ptr++ = '\0';
-
-    if (!*ptr)
-    {
-      _cupsLangPrintFilter(stderr, "ERROR",
-                           _("Missing value on line %d of banner file."),
-                          linenum);
-      continue;
-    }
-
-   /*
-    * Save keyword values in the appropriate places...
-    */
-
-    if (!_cups_strcasecmp(line, "Footer"))
-    {
-      if (banner->footer)
-        fprintf(stderr, "DEBUG: Extra \"Footer\" on line %d of banner file\n",
-               linenum);
-      else
-        banner->footer = strdup(ptr);
-    }
-    else if (!_cups_strcasecmp(line, "Header"))
-    {
-      if (banner->header)
-        fprintf(stderr, "DEBUG: Extra \"Header\" on line %d of banner file\n",
-               linenum);
-      else
-        banner->header = strdup(ptr);
-    }
-    else if (!_cups_strcasecmp(line, "Image"))
-    {
-      char     imagefile[1024];        /* Image filename */
-
-
-      if (ptr[0] == '/')
-        strlcpy(imagefile, ptr, sizeof(imagefile));
-      else
-        snprintf(imagefile, sizeof(imagefile), "%s/%s", cups_docroot, ptr);
-
-      if (access(imagefile, R_OK))
-      {
-        fprintf(stderr, "DEBUG: Image \"%s\" on line %d of banner file: %s\n",
-               ptr, linenum, strerror(errno));
-      }
-      else
-      {
-        if (!banner->images)
-         banner->images = cupsArrayNew(NULL, NULL);
-
-        cupsArrayAdd(banner->images, strdup(imagefile));
-      }
-    }
-    else if (!_cups_strcasecmp(line, "Notice"))
-    {
-      if (!banner->notices)
-       banner->notices = cupsArrayNew(NULL, NULL);
-
-      cupsArrayAdd(banner->notices, strdup(ptr));
-    }
-    else if (!_cups_strcasecmp(line, "Show"))
-    {
-      char     *value;                 /* Current value */
-
-
-      for (value = ptr; *value; value = ptr)
-      {
-       /*
-       * Find the end of the current value
-       */
-
-        while (*ptr && !isspace(*ptr & 255))
-         ptr ++;
-
-        while (*ptr && isspace(*ptr & 255))
-         *ptr++ = '\0';
-
-       /*
-        * Add the value to the show flags...
-       */
-       if (!_cups_strcasecmp(value, "imageable-area"))
-         banner->show |= SHOW_IMAGEABLE_AREA;
-       else if (!_cups_strcasecmp(value, "job-billing"))
-         banner->show |= SHOW_JOB_BILLING;
-       else if (!_cups_strcasecmp(value, "job-id"))
-         banner->show |= SHOW_JOB_ID;
-       else if (!_cups_strcasecmp(value, "job-name"))
-         banner->show |= SHOW_JOB_NAME;
-       else if (!_cups_strcasecmp(value, "job-originating-host-name"))
-         banner->show |= SHOW_JOB_ORIGINATING_HOST_NAME;
-       else if (!_cups_strcasecmp(value, "job-originating-user-name"))
-         banner->show |= SHOW_JOB_ORIGINATING_USER_NAME;
-       else if (!_cups_strcasecmp(value, "job-uuid"))
-         banner->show |= SHOW_JOB_UUID;
-       else if (!_cups_strcasecmp(value, "options"))
-         banner->show |= SHOW_OPTIONS;
-       else if (!_cups_strcasecmp(value, "paper-name"))
-         banner->show |= SHOW_PAPER_NAME;
-       else if (!_cups_strcasecmp(value, "paper-size"))
-         banner->show |= SHOW_PAPER_SIZE;
-       else if (!_cups_strcasecmp(value, "printer-driver-name"))
-         banner->show |= SHOW_PRINTER_DRIVER_NAME;
-       else if (!_cups_strcasecmp(value, "printer-driver-version"))
-         banner->show |= SHOW_PRINTER_DRIVER_VERSION;
-       else if (!_cups_strcasecmp(value, "printer-info"))
-         banner->show |= SHOW_PRINTER_INFO;
-       else if (!_cups_strcasecmp(value, "printer-location"))
-         banner->show |= SHOW_PRINTER_LOCATION;
-       else if (!_cups_strcasecmp(value, "printer-make-and-model"))
-         banner->show |= SHOW_PRINTER_MAKE_AND_MODEL;
-       else if (!_cups_strcasecmp(value, "printer-name"))
-         banner->show |= SHOW_PRINTER_NAME;
-       else if (!_cups_strcasecmp(value, "time-at-creation"))
-         banner->show |= SHOW_TIME_AT_CREATION;
-       else if (!_cups_strcasecmp(value, "time-at-processing"))
-         banner->show |= SHOW_TIME_AT_PROCESSING;
-       else
-        {
-         fprintf(stderr,
-                 "DEBUG: Unknown \"Show\" value \"%s\" on line %d of banner "
-                 "file\n", value, linenum);
-       }
-      }
-    }
-    else
-      fprintf(stderr, "DEBUG: Unknown key \"%s\" on line %d of banner file\n",
-              line, linenum);
-  }
-
-  if (filename)
-    cupsFileClose(fp);
-
-  return (banner);
-}
-
-
-/*
- * 'ps_ascii85()' - Print binary data as a series of base-85 numbers.
- */
-
-static void
-ps_ascii85(cups_ib_t *data,            /* I - Data to print */
-          int       length,            /* I - Number of bytes to print */
-          int       last_line)         /* I - Last line of raster data? */
-{
-  unsigned     b;                      /* Binary data word */
-  unsigned char        c[5];                   /* ASCII85 encoded chars */
-  static int   col = 0;                /* Current column */
-
-
-  while (length > 3)
-  {
-    b = (((((data[0] << 8) | data[1]) << 8) | data[2]) << 8) | data[3];
-
-    if (b == 0)
-    {
-      putchar('z');
-      col ++;
-    }
-    else
-    {
-      c[4] = (b % 85) + '!';
-      b /= 85;
-      c[3] = (b % 85) + '!';
-      b /= 85;
-      c[2] = (b % 85) + '!';
-      b /= 85;
-      c[1] = (b % 85) + '!';
-      b /= 85;
-      c[0] = b + '!';
-
-      fwrite(c, 5, 1, stdout);
-      col += 5;
-    }
-
-    data += 4;
-    length -= 4;
-
-    if (col >= 75)
-    {
-      putchar('\n');
-      col = 0;
-    }
-  }
-
-  if (last_line)
-  {
-    if (length > 0)
-    {
-      memset(data + length, 0, 4 - length);
-      b = (((((data[0] << 8) | data[1]) << 8) | data[2]) << 8) | data[3];
-
-      c[4] = (b % 85) + '!';
-      b /= 85;
-      c[3] = (b % 85) + '!';
-      b /= 85;
-      c[2] = (b % 85) + '!';
-      b /= 85;
-      c[1] = (b % 85) + '!';
-      b /= 85;
-      c[0] = b + '!';
-
-      fwrite(c, length + 1, 1, stdout);
-    }
-
-    puts("~>");
-    col = 0;
-  }
-}
-
-
-/*
- * 'write_banner()' - Write a banner page...
- */
-
-static int                             /* O - Number of pages */
-write_banner(banner_file_t *banner,    /* I - Banner file */
-             ppd_file_t    *ppd,       /* I - PPD file */
-            ps_text_t     *fonts,      /* I - Fonts */
-            int           job_id,      /* I - Job ID */
-            const char    *title,      /* I - Title of job */
-            const char    *username,   /* I - Owner of job */
-            int           num_options, /* I - Number of options */
-            cups_option_t *options)    /* I - Options */
-{
-  char         *notice;                /* Current notice */
-  char         *imagefile;             /* Current image file */
-  cups_array_t *images;                /* Images */
-  cups_image_t *image;                 /* Current image */
-  const char   *option;                /* Option value */
-  int          i, j;                   /* Looping vars */
-  float                x,                      /* Current X position */
-               y;                      /* Current Y position */
-  cups_lang_t  *language;              /* Default language */
-  int          showlines;              /* Number of lines to show */
-  float                fontsize;               /* Font size to use */
-  int          num_pages;              /* Number of pages */
-  float                print_width,            /* Printable width of page */
-               print_height,           /* Printable height of page */
-               info_top,               /* Top of info fields */
-               info_height,            /* Height of info fields */
-               line_height,            /* Height of info lines */
-               notices_height,         /* Height of all notices */
-               images_width,           /* Width of all images */
-               images_height,          /* Height of all images */
-               total_height;           /* Height of all content */
-  char         text[1024];             /* Formatted field text */
-
-
- /*
-  * Figure out how many lines of text will be shown...
-  */
-
-  showlines = 0;
-  if (banner->show & SHOW_IMAGEABLE_AREA)
-    showlines += 2;
-  if (banner->show & SHOW_JOB_BILLING)
-    showlines ++;
-  if (banner->show & SHOW_JOB_ID)
-    showlines ++;
-  if (banner->show & SHOW_JOB_NAME)
-    showlines ++;
-  if (banner->show & SHOW_JOB_ORIGINATING_USER_NAME)
-    showlines ++;
-  if (banner->show & SHOW_JOB_ORIGINATING_HOST_NAME)
-    showlines ++;
-  if (banner->show & SHOW_JOB_UUID)
-    showlines ++;
-  if (banner->show & SHOW_OPTIONS)
-  {
-    for (j = 0; j < num_options; j ++)
-    {
-      if (_cups_strcasecmp("media", options[j].name) &&
-         _cups_strcasecmp("PageSize", options[j].name) &&
-         _cups_strcasecmp("PageRegion", options[j].name) &&
-         _cups_strcasecmp("InputSlot", options[j].name) &&
-         _cups_strcasecmp("MediaType", options[j].name) &&
-         _cups_strcasecmp("finishings", options[j].name) &&
-         _cups_strcasecmp("sides", options[j].name) &&
-         _cups_strcasecmp("Duplex", options[j].name) &&
-         _cups_strcasecmp("orientation-requested", options[j].name) &&
-         _cups_strcasecmp("landscape", options[j].name) &&
-         _cups_strcasecmp("number-up", options[j].name) &&
-         _cups_strcasecmp("OutputOrder", options[j].name))
-      continue;
-
-      showlines ++;
-    }
-  }
-  if (banner->show & SHOW_PAPER_NAME)
-    showlines ++;
-  if (banner->show & SHOW_PAPER_SIZE)
-    showlines += 2;
-  if (banner->show & SHOW_PRINTER_DRIVER_NAME)
-    showlines ++;
-  if (banner->show & SHOW_PRINTER_DRIVER_VERSION)
-    showlines ++;
-  if (banner->show & SHOW_PRINTER_INFO)
-    showlines ++;
-  if (banner->show & SHOW_PRINTER_LOCATION)
-    showlines ++;
-  if (banner->show & SHOW_PRINTER_MAKE_AND_MODEL)
-    showlines ++;
-  if (banner->show & SHOW_PRINTER_NAME)
-    showlines ++;
-  if (banner->show & SHOW_TIME_AT_CREATION)
-    showlines ++;
-  if (banner->show & SHOW_TIME_AT_PROCESSING)
-    showlines ++;
-
- /*
-  * Figure out the dimensions and positions of everything...
-  */
-
-  print_width    = PageRight - PageLeft;
-  print_height   = PageTop - PageBottom;
-  fontsize       = print_height / 60;  /* Nominally 12pts */
-  line_height    = 1.2 * fontsize;
-  info_height    = showlines * line_height;
-  notices_height = cupsArrayCount(banner->notices) * line_height;
-
-  if (cupsArrayCount(banner->images))
-  {
-    images        = cupsArrayNew(NULL, NULL);
-    images_height = print_height / 10; /* Nominally 1" */
-
-    for (imagefile = (char *)cupsArrayFirst(banner->images), images_width = 0.0;
-         imagefile;
-        imagefile = (char *)cupsArrayNext(banner->images))
-    {
-      if ((image = cupsImageOpen(imagefile, ColorDevice ? CUPS_IMAGE_RGB_CMYK :
-                                                          CUPS_IMAGE_WHITE,
-                                CUPS_IMAGE_WHITE, 100, 0, NULL)) == NULL)
-      {
-        fprintf(stderr, "DEBUG: Unable to open image file \"%s\"\n",
-               imagefile);
-        continue;
-      }
-
-      images_width += cupsImageGetWidth(image) * images_height /
-                      cupsImageGetHeight(image);
-      cupsArrayAdd(images, image);
-    }
-  }
-  else
-  {
-    images        = NULL;
-    images_height = 0;
-    images_width  = 0;
-  }
-
-  total_height = info_height + notices_height + images_height;
-  if (cupsArrayCount(banner->notices) && showlines)
-    total_height += 2 * line_height;
-  if (cupsArrayCount(banner->images) &&
-      (showlines || cupsArrayCount(banner->notices)))
-    total_height += 2 * line_height;
-
-  info_top = 0.5 * (print_height + total_height);
-
- /*
-  * Write the page(s)...
-  */
-
-  language  = cupsLangDefault();
-  num_pages = Duplex ? 2 : 1;
-
-  for (i = 1; i <= num_pages; i ++)
-  {
-   /*
-    * Start the page...
-    */
-
-    printf("%%%%Page: %s %d\n", i == 1 ? "coverpage" : "coverback", i);
-    puts("gsave");
-    if (i == 1)
-      printf("%.1f %.1f translate\n", PageLeft, PageBottom);
-    else
-      printf("%.1f %.1f translate\n", PageWidth - PageRight,
-             PageLength - PageTop);
-    puts("0 setgray");
-
-    y = info_top;
-
-   /*
-    * Information...
-    */
-
-    if (banner->show)
-    {
-      x = 0.33 * print_width;
-
-      if (banner->show & SHOW_PRINTER_NAME)
-      {
-       printf("%.1f %.1f moveto", x, y);
-       y -= line_height;
-       psTextUTF8(fonts, fontsize, PS_BOLD, PS_RIGHT,
-                  _cupsLangString(language, _("Printer Name: ")));
-        psTextUTF8(fonts, fontsize, PS_NORMAL, PS_LEFT, getenv("PRINTER"));
-      }
-      if (banner->show & SHOW_JOB_ID)
-      {
-        snprintf(text, sizeof(text), "%s-%d", getenv("PRINTER"), job_id);
-       printf("%.1f %.1f moveto", x, y);
-       y -= line_height;
-       psTextUTF8(fonts, fontsize, PS_BOLD, PS_RIGHT,
-                  _cupsLangString(language, _("Job ID: ")));
-        psTextUTF8(fonts, fontsize, PS_NORMAL, PS_LEFT, text);
-      }
-      if (banner->show & SHOW_JOB_UUID)
-      {
-       printf("%.1f %.1f moveto", x, y);
-       y -= line_height;
-       psTextUTF8(fonts, fontsize, PS_BOLD, PS_RIGHT,
-                  _cupsLangString(language, _("Job UUID: ")));
-        psTextUTF8(fonts, fontsize, PS_NORMAL, PS_LEFT,
-                  cupsGetOption("job-uuid", num_options, options));
-      }
-      if (banner->show & SHOW_JOB_NAME)
-      {
-       printf("%.1f %.1f moveto", x, y);
-       y -= line_height;
-       psTextUTF8(fonts, fontsize, PS_BOLD, PS_RIGHT,
-                  _cupsLangString(language, _("Title: ")));
-        psTextUTF8(fonts, fontsize, PS_NORMAL, PS_LEFT, title);
-      }
-      if (banner->show & SHOW_JOB_ORIGINATING_USER_NAME)
-      {
-       printf("%.1f %.1f moveto", x, y);
-       y -= line_height;
-       psTextUTF8(fonts, fontsize, PS_BOLD, PS_RIGHT,
-                  _cupsLangString(language, _("Printed For: ")));
-        psTextUTF8(fonts, fontsize, PS_NORMAL, PS_LEFT, username);
-      }
-      if (banner->show & SHOW_JOB_ORIGINATING_HOST_NAME)
-      {
-       printf("%.1f %.1f moveto", x, y);
-       y -= line_height;
-       psTextUTF8(fonts, fontsize, PS_BOLD, PS_RIGHT,
-                  _cupsLangString(language, _("Printed From: ")));
-        psTextUTF8(fonts, fontsize, PS_NORMAL, PS_LEFT,
-                  cupsGetOption("job-originating-host-name", num_options,
-                                options));
-      }
-      if (banner->show & SHOW_JOB_BILLING)
-      {
-       printf("%.1f %.1f moveto", x, y);
-       y -= line_height;
-       psTextUTF8(fonts, fontsize, PS_BOLD, PS_RIGHT,
-                  _cupsLangString(language, _("Billing Information: ")));
-        psTextUTF8(fonts, fontsize, PS_NORMAL, PS_LEFT,
-                  cupsGetOption("job-billing", num_options, options));
-      }
-      if (banner->show & SHOW_OPTIONS)
-      {
-       printf("%.1f %.1f moveto", x, y);
-       psTextUTF8(fonts, fontsize, PS_BOLD, PS_RIGHT,
-                  _cupsLangString(language, _("Options: ")));
-
-        for (j = 0; j < num_options; j ++)
-       {
-         if (_cups_strcasecmp("media", options[j].name) &&
-             _cups_strcasecmp("PageSize", options[j].name) &&
-             _cups_strcasecmp("PageRegion", options[j].name) &&
-             _cups_strcasecmp("InputSlot", options[j].name) &&
-             _cups_strcasecmp("MediaType", options[j].name) &&
-             _cups_strcasecmp("finishings", options[j].name) &&
-             _cups_strcasecmp("sides", options[j].name) &&
-             _cups_strcasecmp("Duplex", options[j].name) &&
-             _cups_strcasecmp("orientation-requested", options[j].name) &&
-             _cups_strcasecmp("landscape", options[j].name) &&
-             _cups_strcasecmp("number-up", options[j].name) &&
-             _cups_strcasecmp("OutputOrder", options[j].name))
-          continue;
-
-          if (!_cups_strcasecmp("landscape", options[j].name))
-           strlcpy(text, "orientation-requested=landscape", sizeof(text));
-         else if (!_cups_strcasecmp("orientation-requested", options[j].name))
-         {
-           switch (atoi(options[j].value))
-           {
-             default :
-             case IPP_PORTRAIT :
-                 strlcpy(text, "orientation-requested=portrait",
-                         sizeof(text));
-                 break;
-
-             case IPP_LANDSCAPE :
-                 strlcpy(text, "orientation-requested=landscape",
-                         sizeof(text));
-                 break;
-
-             case IPP_REVERSE_PORTRAIT :
-                 strlcpy(text, "orientation-requested=reverse-portrait",
-                         sizeof(text));
-                 break;
-
-             case IPP_REVERSE_LANDSCAPE :
-                 strlcpy(text, "orientation-requested=reverse-landscape",
-                         sizeof(text));
-                 break;
-           }
-         }
-         else
-           snprintf(text, sizeof(text), "%s=%s", options[j].name,
-                    options[j].value);
-
-         printf("%.1f %.1f moveto", x, y);
-         y -= line_height;
-         psTextUTF8(fonts, fontsize, PS_NORMAL, PS_LEFT, text);
-        }
-      }
-
-      if (banner->show & SHOW_PRINTER_INFO)
-      {
-       printf("%.1f %.1f moveto", x, y);
-       y -= line_height;
-       psTextUTF8(fonts, fontsize, PS_BOLD, PS_RIGHT,
-                  _cupsLangString(language, _("Description: ")));
-        psTextUTF8(fonts, fontsize, PS_NORMAL, PS_LEFT,
-                  getenv("PRINTER_INFO"));
-      }
-      if (banner->show & SHOW_PRINTER_LOCATION)
-      {
-       printf("%.1f %.1f moveto", x, y);
-       y -= line_height;
-       psTextUTF8(fonts, fontsize, PS_BOLD, PS_RIGHT,
-                  _cupsLangString(language, _("Location: ")));
-        psTextUTF8(fonts, fontsize, PS_NORMAL, PS_LEFT,
-                  getenv("PRINTER_LOCATION"));
-      }
-      if (banner->show & SHOW_PRINTER_MAKE_AND_MODEL)
-      {
-       printf("%.1f %.1f moveto", x, y);
-       y -= line_height;
-       psTextUTF8(fonts, fontsize, PS_BOLD, PS_RIGHT,
-                  _cupsLangString(language, _("Make and Model: ")));
-        psTextUTF8(fonts, fontsize, PS_NORMAL, PS_LEFT,
-                  ppd ? ppd->nickname : NULL);
-      }
-
-      if (banner->show & SHOW_PAPER_NAME)
-      {
-        if ((option = cupsGetOption("media", num_options, options)) == NULL)
-         if ((option = cupsGetOption("PageSize", num_options, options)) == NULL)
-           if ((option = cupsGetOption("PageRegion", num_options,
-                                       options)) == NULL)
-             option = "Default";
-
-       printf("%.1f %.1f moveto", x, y);
-       y -= line_height;
-       psTextUTF8(fonts, fontsize, PS_BOLD, PS_RIGHT,
-                  _cupsLangString(language, _("Media Name: ")));
-        psTextUTF8(fonts, fontsize, PS_NORMAL, PS_LEFT, option);
-      }
-      if (banner->show & SHOW_PAPER_SIZE)
-      {
-        snprintf(text, sizeof(text),
-                _cupsLangString(language, _("%.2f x %.2f inches")),
-                PageWidth / 72.0, PageLength / 72.0);
-       printf("%.1f %.1f moveto", x, y);
-       y -= line_height;
-       psTextUTF8(fonts, fontsize, PS_BOLD, PS_RIGHT,
-                  _cupsLangString(language, _("Media Dimensions: ")));
-        psTextUTF8(fonts, fontsize, PS_NORMAL, PS_LEFT, text);
-
-        snprintf(text, sizeof(text),
-                _cupsLangString(language, _("%.0f x %.0f millimeters")),
-                PageWidth * 25.4 / 72.0, PageLength * 25.4 / 72.0);
-       printf("%.1f %.1f moveto", x, y);
-       y -= line_height;
-        psTextUTF8(fonts, fontsize, PS_NORMAL, PS_LEFT, text);
-      }
-      if (banner->show & SHOW_IMAGEABLE_AREA)
-      {
-        snprintf(text, sizeof(text),
-                _cupsLangString(language,
-                                _("%.2f x %.2f to %.2f x %.2f inches")),
-                PageLeft / 72.0, PageBottom / 72.0,
-                PageRight / 72.0, PageTop / 72.0);
-       printf("%.1f %.1f moveto", x, y);
-       y -= line_height;
-       psTextUTF8(fonts, fontsize, PS_BOLD, PS_RIGHT,
-                  _cupsLangString(language, _("Media Limits: ")));
-        psTextUTF8(fonts, fontsize, PS_NORMAL, PS_LEFT, text);
-
-        snprintf(text, sizeof(text),
-                _cupsLangString(language,
-                                _("%.0f x %.0f to %.0f x %.0f millimeters")),
-                PageLeft * 25.4 / 72.0, PageBottom * 25.4 / 72.0,
-                PageRight * 25.4 / 72.0, PageTop * 25.4 / 72.0);
-       printf("%.1f %.1f moveto", x, y);
-       y -= line_height;
-        psTextUTF8(fonts, fontsize, PS_NORMAL, PS_LEFT, text);
-
-       printf("gsave 2 setlinewidth 1 1 %.1f %.1f rectstroke grestore\n",
-              print_width - 2.0, print_height - 2.0);
-      }
-      if (banner->show & SHOW_PRINTER_DRIVER_NAME)
-      {
-       printf("%.1f %.1f moveto", x, y);
-       y -= line_height;
-       psTextUTF8(fonts, fontsize, PS_BOLD, PS_RIGHT,
-                  _cupsLangString(language, _("Driver Name: ")));
-        psTextUTF8(fonts, fontsize, PS_NORMAL, PS_LEFT,
-                  ppd ? ppd->pcfilename : NULL);
-      }
-      if (banner->show & SHOW_PRINTER_DRIVER_VERSION)
-      {
-        ppd_attr_t  *file_version = ppdFindAttr(ppd, "FileVersion", NULL);
-
-       printf("%.1f %.1f moveto", x, y);
-       y -= line_height;
-       psTextUTF8(fonts, fontsize, PS_BOLD, PS_RIGHT,
-                  _cupsLangString(language, _("Driver Version: ")));
-        psTextUTF8(fonts, fontsize, PS_NORMAL, PS_LEFT,
-                  file_version ? file_version->value : NULL);
-      }
-      if (banner->show & SHOW_TIME_AT_CREATION)
-      {
-        if ((option = cupsGetOption("time-at-creation", num_options,
-                                   options)) != NULL)
-        {
-         time_t        curtime;        /* Current time */
-         struct tm     *curdate;       /* Current date */
-
-          curtime = (time_t)atoi(option);
-         curdate = localtime(&curtime);
-
-          strftime(text, sizeof(text), "%c", curdate);
-       }
-       else
-         strlcpy(text, "?", sizeof(text));
-
-       printf("%.1f %.1f moveto", x, y);
-       y -= line_height;
-       psTextUTF8(fonts, fontsize, PS_BOLD, PS_RIGHT,
-                  _cupsLangString(language, _("Created On: ")));
-        psTextUTF8(fonts, fontsize, PS_NORMAL, PS_LEFT, text);
-      }
-      if (banner->show & SHOW_TIME_AT_PROCESSING)
-      {
-        if ((option = cupsGetOption("time-at-processing", num_options,
-                                   options)) != NULL)
-        {
-         time_t        curtime;        /* Current time */
-         struct tm     *curdate;       /* Current date */
-
-          curtime = (time_t)atoi(option);
-         curdate = localtime(&curtime);
-
-          strftime(text, sizeof(text), "%c", curdate);
-       }
-       else
-         strlcpy(text, "?", sizeof(text));
-
-       printf("%.1f %.1f moveto", x, y);
-       y -= line_height;
-       psTextUTF8(fonts, fontsize, PS_BOLD, PS_RIGHT,
-                  _cupsLangString(language, _("Printed On: ")));
-        psTextUTF8(fonts, fontsize, PS_NORMAL, PS_LEFT, text);
-      }
-    }
-
-   /*
-    * Notices...
-    */
-
-    if (cupsArrayCount(banner->notices))
-    {
-      if (banner->show)
-        y -= 2 * line_height;
-
-      x = 0.5 * print_width;
-
-      for (notice = (char *)cupsArrayFirst(banner->notices);
-           notice;
-          notice = (char *)cupsArrayNext(banner->notices))
-      {
-        printf("%.1f %.1f moveto", x, y);
-       y -= line_height;
-       psTextUTF8(fonts, fontsize, PS_NORMAL, PS_CENTER, notice);
-      }
-    }
-
-   /*
-    * Images...
-    */
-
-    if (cupsArrayCount(images))
-    {
-      if (banner->show || cupsArrayCount(banner->notices))
-        y -= 2 * line_height;
-
-      x = 0.5 * (print_width - images_width);
-
-      for (image = (cups_image_t *)cupsArrayFirst(images);
-           image;
-           image = (cups_image_t *)cupsArrayNext(images))
-      {
-        float          temp_width;     /* Width of this image */
-        int            depth,          /* Bytes per pixel */
-                       num_cols,       /* Number of columns */
-                       row,            /* Current row */
-                       num_rows,       /* Number of rows */
-                       out_length,     /* Length of data to write */
-                       out_offset;     /* Offset in line buffer */
-        unsigned char  *line;          /* Data for current row */
-
-
-        depth      = cupsImageGetDepth(image);
-       num_cols   = cupsImageGetWidth(image);
-        num_rows   = cupsImageGetHeight(image);
-       line       = malloc(depth * num_cols + 3);
-        temp_width = num_cols * images_height / num_rows;
-
-        printf("gsave %.1f %.1f translate %.3f %.3f scale\n", x, y,
-              temp_width / num_cols, images_height / num_rows);
-        x += temp_width;
-
-       switch (cupsImageGetColorSpace(image))
-       {
-         default :
-         case CUPS_IMAGE_WHITE :
-             printf("/DeviceGray setcolorspace"
-                    "<<"
-                    "/ImageType 1"
-                    "/Width %d"
-                    "/Height %d"
-                    "/BitsPerComponent 8"
-                    "/Decode[0 1]\n",
-                    num_cols, num_rows);
-             break;
-
-         case CUPS_IMAGE_RGB :
-             printf("/DeviceRGB setcolorspace"
-                    "<<"
-                    "/ImageType 1"
-                    "/Width %d"
-                    "/Height %d"
-                    "/BitsPerComponent 8"
-                    "/Decode[0 1 0 1 0 1]\n",
-                    num_cols, num_rows);
-             break;
-
-         case CUPS_IMAGE_CMYK :
-             printf("/DeviceCMYK setcolorspace"
-                    "<<"
-                    "/ImageType 1"
-                    "/Width %d"
-                    "/Height %d"
-                    "/BitsPerComponent 8"
-                    "/Decode[0 1 0 1 0 1 0 1]\n",
-                    num_cols, num_rows);
-             break;
-       }
-
-        puts("/DataSource currentfile"
-            "/ASCII85Decode filter"
-            "/ImageMatrix[1 0 0 -1 0 1]>>image");
-
-       for (row = 0, out_offset = 0; row < num_rows; row ++)
-       {
-         cupsImageGetRow(image, 0, row, num_cols, line + out_offset);
-
-         out_length = num_cols * depth + out_offset;
-         out_offset = out_length & 3;
-
-         ps_ascii85(line, out_length, row == (num_rows - 1));
-
-         if (out_offset > 0)
-           memcpy(line, line + out_length - out_offset, out_offset);
-       }
-
-        puts("grestore");
-
-       if (i == num_pages)
-         cupsImageClose(image);
-
-       free(line);
-      }
-    }
-
-   /*
-    * Header and footer...
-    */
-
-    x = 0.5 * print_width;
-
-    if (banner->header)
-    {
-      printf("%.1f %.1f moveto", x, print_height - 2 * fontsize);
-      psTextUTF8(fonts, 2 * fontsize, PS_BOLD, PS_CENTER, banner->header);
-    }
-
-    if (banner->footer)
-    {
-      printf("%.1f %.1f moveto", x, fontsize);
-      psTextUTF8(fonts, 2 * fontsize, PS_BOLD, PS_CENTER, banner->footer);
-    }
-
-   /*
-    * Show the page...
-    */
-
-    puts("grestore");
-    puts("showpage");
-  }
-
-  return (num_pages);
-}
-
-
-/*
- * 'write_epilogue()' - Write the PostScript file epilogue.
- */
-
-static void
-write_epilogue(int num_pages)          /* I - Number of pages */
-{
-  puts("%%Trailer");
-  printf("%%%%Pages: %d\n", num_pages);
-  puts("%%EOF");
-}
-
-
-/*
- * 'write_prolog()' - Write the PostScript file prolog with options.
- */
-
-ps_text_t *                            /* O - Fonts */
-write_prolog(const char *title,                /* I - Title of job */
-            const char *username)      /* I - Username */
-{
-  time_t       curtime;                /* Current time */
-  struct tm    *curtm;                 /* Current date */
-  char         curdate[255];           /* Current date (text format) */
-  ps_text_t    *fonts;                 /* Fonts */
-
-
- /*
-  * Get the fonts we'll need...
-  */
-
-  fonts = psTextInitialize();
-
- /*
-  * Output the DSC header...
-  */
-
-  curtime = time(NULL);
-  curtm   = localtime(&curtime);
-  strftime(curdate, sizeof(curdate), "%c", curtm);
-
-  puts("%!PS-Adobe-3.0");
-  printf("%%%%BoundingBox: %.0f %.0f %.0f %.0f\n", PageLeft, PageBottom,
-         PageRight, PageTop);
-  printf("%%cupsRotation: %d\n", (Orientation & 3) * 90);
-  puts("%%Creator: bannertops/" CUPS_SVERSION);
-  printf("%%%%CreationDate: %s\n", curdate);
-  puts("%%LanguageLevel: 2");
-  puts("%%DocumentData: Clean7Bit");
-  WriteTextComment("Title", title);
-  WriteTextComment("For", username);
-  printf("%%%%Pages: %d\n", Duplex ? 2 : 1);
-  psTextListFonts(fonts);
-  puts("%%EndComments");
-  puts("%%BeginProlog");
-  psTextEmbedFonts(fonts);
-  puts("%%EndProlog");
-
-  return (fonts);
-}
-
-
-/*
- * End of "$Id: bannertops.c 9793 2011-05-20 03:49:49Z mike $".
- */
index 745359e..f44a5ef 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: commandtops.c 10373 2012-03-21 23:00:05Z mike $"
+ * "$Id: commandtops.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   PostScript command filter for CUPS.
  *
@@ -71,7 +71,7 @@ main(int  argc,                               /* I - Number of command-line arguments */
     */
 
     _cupsLangPrintf(stderr,
-                    _("Usage: %s job-id user title copies options file"),
+                    _("Usage: %s job-id user title copies options [file]"),
                     argv[0]);
     return (1);
   }
@@ -534,5 +534,5 @@ report_levels(ppd_file_t *ppd,              /* I - PPD file */
 
 
 /*
- * End of "$Id: commandtops.c 10373 2012-03-21 23:00:05Z mike $".
+ * End of "$Id: commandtops.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 67e440e..6f62642 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: common.c 9793 2011-05-20 03:49:49Z mike $"
+ * "$Id: common.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Common filter routines for CUPS.
  *
@@ -531,5 +531,5 @@ WriteTextComment(const char *name,  /* I - Comment name ("Title", etc.) */
 
 
 /*
- * End of "$Id: common.c 9793 2011-05-20 03:49:49Z mike $".
+ * End of "$Id: common.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index ffb782c..49f36de 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: common.h 9063 2010-04-01 17:01:09Z mike $"
+ * "$Id: common.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Common filter definitions for CUPS.
  *
@@ -74,5 +74,5 @@ extern void   WriteTextComment(const char *name, const char *value);
 
 
 /*
- * End of "$Id: common.h 9063 2010-04-01 17:01:09Z mike $".
+ * End of "$Id: common.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index e74e012..a91f0ca 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: error.c 9771 2011-05-12 05:21:56Z mike $"
+ * "$Id: error.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Raster error handling for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -28,8 +28,7 @@
  * Include necessary headers...
  */
 
-#include "image-private.h"
-#include <stdarg.h>
+#include <cups/raster-private.h>
 
 
 /*
@@ -139,7 +138,7 @@ _cupsRasterClearError(void)
  *
  * If there are no recent errors, NULL is returned.
  *
- * @since CUPS 1.3/Mac OS X 10.5@
+ * @since CUPS 1.3/OS X 10.5@
  */
 
 const char *                           /* O - Last error */
@@ -283,5 +282,5 @@ get_error_buffer(void)
 
 
 /*
- * End of "$Id: error.c 9771 2011-05-12 05:21:56Z mike $".
+ * End of "$Id: error.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 3689b7c..079a8c7 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: gziptoany.c 9557 2011-02-21 16:51:43Z mike $"
+ * "$Id: gziptoany.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   GZIP/raw pre-filter for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1993-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -47,7 +47,7 @@ main(int  argc,                               /* I - Number of command-line arguments */
   if (argc != 7)
   {
     _cupsLangPrintf(stderr,
-                    _("Usage: %s job-id user title copies options file"),
+                    _("Usage: %s job-id user title copies options [file]"),
                     argv[0]);
     return (1);
   }
@@ -108,5 +108,5 @@ main(int  argc,                             /* I - Number of command-line arguments */
 
 
 /*
- * End of "$Id: gziptoany.c 9557 2011-02-21 16:51:43Z mike $".
+ * End of "$Id: gziptoany.c 11173 2013-07-23 12:31:34Z msweet $".
  */
diff --git a/filter/image-bmp.c b/filter/image-bmp.c
deleted file mode 100644 (file)
index dde040b..0000000
+++ /dev/null
@@ -1,545 +0,0 @@
-/*
- * "$Id: image-bmp.c 9771 2011-05-12 05:21:56Z mike $"
- *
- *   BMP image routines for CUPS.
- *
- *   Copyright 2007-2011 by Apple Inc.
- *   Copyright 1993-2007 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- *   This file is subject to the Apple OS-Developed Software exception.
- *
- * Contents:
- *
- *   _cupsImageReadBMP() - Read a BMP image file.
- *   read_word()         - Read a 16-bit unsigned integer.
- *   read_dword()        - Read a 32-bit unsigned integer.
- *   read_long()         - Read a 32-bit signed integer.
- */
-
-/*
- * Include necessary headers...
- */
-
-#include "image-private.h"
-
-
-/*
- * Constants for the bitmap compression...
- */
-
-#  define BI_RGB       0               /* No compression - straight BGR data */
-#  define BI_RLE8      1               /* 8-bit run-length compression */
-#  define BI_RLE4      2               /* 4-bit run-length compression */
-#  define BI_BITFIELDS 3               /* RGB bitmap with RGB masks */
-
-
-/*
- * Local functions...
- */
-
-static unsigned short  read_word(FILE *fp);
-static unsigned int    read_dword(FILE *fp);
-static int             read_long(FILE *fp);
-
-
-/*
- * '_cupsImageReadBMP()' - Read a BMP image file.
- */
-
-int                                    /* O - Read status */
-_cupsImageReadBMP(
-    cups_image_t    *img,              /* IO - cupsImage */
-    FILE            *fp,               /* I - cupsImage file */
-    cups_icspace_t  primary,           /* I - Primary choice for colorspace */
-    cups_icspace_t  secondary,         /* I - Secondary choice for colorspace */
-    int             saturation,                /* I - Color saturation (%) */
-    int             hue,               /* I - Color hue (degrees) */
-    const cups_ib_t *lut)              /* I - Lookup table for gamma/brightness */
-{
-  int          offset,                 /* Offset to bitmap data */
-               info_size,              /* Size of info header */
-               planes,                 /* Number of planes (always 1) */
-               depth,                  /* Depth of image (bits) */
-               compression,            /* Type of compression */
-               image_size,             /* Size of image in bytes */
-               colors_used,            /* Number of colors used */
-               colors_important,       /* Number of important colors */
-               bpp,                    /* Bytes per pixel */
-               x, y,                   /* Looping vars */
-               color,                  /* Color of RLE pixel */
-               count,                  /* Number of times to repeat */
-               temp,                   /* Temporary color */
-               align;                  /* Alignment bytes */
-  cups_ib_t    bit,                    /* Bit in image */
-               byte;                   /* Byte in image */
-  cups_ib_t    *in,                    /* Input pixels */
-               *out,                   /* Output pixels */
-               *ptr;                   /* Pointer into pixels */
-  cups_ib_t    colormap[256][4];       /* Colormap */
-
-
-  (void)secondary;
-
- /*
-  * Get the header...
-  */
-
-  getc(fp);            /* Skip "BM" sync chars */
-  getc(fp);
-  read_dword(fp);      /* Skip size */
-  read_word(fp);       /* Skip reserved stuff */
-  read_word(fp);
-  offset = read_dword(fp);
-
-  fprintf(stderr, "DEBUG: offset = %d\n", offset);
-
-  if (offset < 0)
-  {
-    fprintf(stderr, "DEBUG: Bad BMP offset %d\n", offset);
-    fclose(fp);
-    return (1);
-  }
-
- /*
-  * Then the bitmap information...
-  */
-
-  info_size        = read_dword(fp);
-  img->xsize       = read_long(fp);
-  img->ysize       = read_long(fp);
-  planes           = read_word(fp);
-  depth            = read_word(fp);
-  compression      = read_dword(fp);
-  image_size       = read_dword(fp);
-  img->xppi        = read_long(fp) * 0.0254 + 0.5;
-  img->yppi        = read_long(fp) * 0.0254 + 0.5;
-  colors_used      = read_dword(fp);
-  colors_important = read_dword(fp);
-
-  if (img->xsize == 0 || img->xsize > CUPS_IMAGE_MAX_WIDTH ||
-      img->ysize == 0 || img->ysize > CUPS_IMAGE_MAX_HEIGHT ||
-      (depth != 1 && depth != 4 && depth != 8 && depth != 24))
-  {
-    fprintf(stderr, "DEBUG: Bad BMP dimensions %ux%ux%d\n",
-            img->xsize, img->ysize, depth);
-    fclose(fp);
-    return (1);
-  }
-
-  if (colors_used < 0 || colors_used > 256)
-  {
-    fprintf(stderr, "DEBUG: Bad BMP colormap size %d\n", colors_used);
-    fclose(fp);
-    return (1);
-  }
-
-  if (img->xppi == 0 || img->yppi == 0)
-  {
-    fprintf(stderr, "DEBUG: Bad BMP resolution %dx%d PPI.\n",
-            img->xppi, img->yppi);
-    img->xppi = img->yppi = 128;
-  }
-
- /*
-  * Make sure the resolution info is valid...
-  */
-
-  fprintf(stderr, "info_size = %d, xsize = %d, ysize = %d, planes = %d, depth = %d\n",
-          info_size, img->xsize, img->ysize, planes, depth);
-  fprintf(stderr, "compression = %d, image_size = %d, xppi = %d, yppi = %d\n",
-          compression, image_size, img->xppi, img->yppi);
-  fprintf(stderr, "colors_used = %d, colors_important = %d\n", colors_used,
-          colors_important);
-
-  if (info_size > 40)
-    for (info_size -= 40; info_size > 0; info_size --)
-      getc(fp);
-
- /*
-  * Get colormap...
-  */
-
-  if (colors_used == 0 && depth <= 8)
-    colors_used = 1 << depth;
-
-  if (colors_used > 0)
-    fread(colormap, colors_used, 4, fp);
-  else
-    memset(colormap, 0, sizeof(colormap));
-
- /*
-  * Setup image and buffers...
-  */
-
-  img->colorspace = (primary == CUPS_IMAGE_RGB_CMYK) ? CUPS_IMAGE_RGB : primary;
-
-  cupsImageSetMaxTiles(img, 0);
-
-  bpp = cupsImageGetDepth(img);
-
-  if ((in = malloc(img->xsize * 3)) == NULL)
-  {
-    fputs("DEBUG: Unable to allocate memory!\n", stderr);
-    fclose(fp);
-    return (1);
-  }
-
-  if ((out = malloc(img->xsize * bpp)) == NULL)
-  {
-    fputs("DEBUG: Unable to allocate memory!\n", stderr);
-    free(in);
-    fclose(fp);
-    return (1);
-  }
-
- /*
-  * Read the image data...
-  */
-
-  color = 0;
-  count = 0;
-  align = 0;
-
-  for (y = img->ysize - 1; y >= 0; y --)
-  {
-    ptr = in;
-
-    switch (depth)
-    {
-      case 1 : /* Bitmap */
-          for (x = img->xsize, bit = 128, byte = 0; x > 0; x --)
-         {
-           if (bit == 128)
-             byte = getc(fp);
-
-           if (byte & bit)
-           {
-             *ptr++ = colormap[1][2];
-             *ptr++ = colormap[1][1];
-             *ptr++ = colormap[1][0];
-           }
-           else
-           {
-             *ptr++ = colormap[0][2];
-             *ptr++ = colormap[0][1];
-             *ptr++ = colormap[0][0];
-           }
-
-           if (bit > 1)
-             bit >>= 1;
-           else
-             bit = 128;
-         }
-
-         /*
-         * Read remaining bytes to align to 32 bits...
-         */
-
-         for (temp = (img->xsize + 7) / 8; temp & 3; temp ++)
-           getc(fp);
-          break;
-
-      case 4 : /* 16-color */
-          for (x = img->xsize, bit = 0xf0, temp = 0; x > 0; x --)
-         {
-          /*
-           * Get a new count as needed...
-           */
-
-            if (compression != BI_RLE4 && count == 0)
-           {
-             count = 2;
-             color = -1;
-            }
-
-           if (count == 0)
-           {
-             while (align > 0)
-             {
-               align --;
-               getc(fp);
-              }
-
-             if ((count = getc(fp)) == 0)
-             {
-               if ((count = getc(fp)) == 0)
-               {
-                /*
-                 * End of line...
-                 */
-
-                  x ++;
-                 continue;
-               }
-               else if (count == 1)
-               {
-                /*
-                 * End of image...
-                 */
-
-                 break;
-               }
-               else if (count == 2)
-               {
-                /*
-                 * Delta...
-                 */
-
-                 count = getc(fp) * getc(fp) * img->xsize;
-                 color = 0;
-               }
-               else
-               {
-                /*
-                 * Absolute...
-                 */
-
-                 color = -1;
-                 align = ((4 - (count & 3)) / 2) & 1;
-               }
-             }
-             else
-               color = getc(fp);
-            }
-
-           /*
-           * Get a new color as needed...
-           */
-
-           count --;
-
-            if (bit == 0xf0)
-           {
-              if (color < 0)
-               temp = getc(fp);
-             else
-               temp = color;
-
-             /*
-             * Copy the color value...
-             */
-
-             *ptr++ = colormap[temp >> 4][2];
-             *ptr++ = colormap[temp >> 4][1];
-             *ptr++ = colormap[temp >> 4][0];
-             bit    = 0x0f;
-            }
-           else
-           {
-             /*
-             * Copy the color value...
-             */
-
-             *ptr++ = colormap[temp & 15][2];
-             *ptr++ = colormap[temp & 15][1];
-             *ptr++ = colormap[temp & 15][0];
-             bit    = 0xf0;
-           }
-         }
-          break;
-
-      case 8 : /* 256-color */
-          for (x = img->xsize; x > 0; x --)
-         {
-          /*
-           * Get a new count as needed...
-           */
-
-            if (compression != BI_RLE8)
-           {
-             count = 1;
-             color = -1;
-            }
-
-           if (count == 0)
-           {
-             while (align > 0)
-             {
-               align --;
-               getc(fp);
-              }
-
-             if ((count = getc(fp)) == 0)
-             {
-               if ((count = getc(fp)) == 0)
-               {
-                /*
-                 * End of line...
-                 */
-
-                  x ++;
-                 continue;
-               }
-               else if (count == 1)
-               {
-                /*
-                 * End of image...
-                 */
-
-                 break;
-               }
-               else if (count == 2)
-               {
-                /*
-                 * Delta...
-                 */
-
-                 count = getc(fp) * getc(fp) * img->xsize;
-                 color = 0;
-               }
-               else
-               {
-                /*
-                 * Absolute...
-                 */
-
-                 color = -1;
-                 align = (2 - (count & 1)) & 1;
-               }
-             }
-             else
-               color = getc(fp);
-            }
-
-           /*
-           * Get a new color as needed...
-           */
-
-            if (color < 0)
-             temp = getc(fp);
-           else
-             temp = color;
-
-            count --;
-
-           /*
-           * Copy the color value...
-           */
-
-           *ptr++ = colormap[temp][2];
-           *ptr++ = colormap[temp][1];
-           *ptr++ = colormap[temp][0];
-         }
-          break;
-
-      case 24 : /* 24-bit RGB */
-          for (x = img->xsize; x > 0; x --, ptr += 3)
-         {
-           ptr[2] = getc(fp);
-           ptr[1] = getc(fp);
-           ptr[0] = getc(fp);
-         }
-
-         /*
-         * Read remaining bytes to align to 32 bits...
-         */
-
-         for (temp = img->xsize * 3; temp & 3; temp ++)
-           getc(fp);
-          break;
-    }
-
-    if (saturation != 100 || hue != 0)
-      cupsImageRGBAdjust(in, img->xsize, saturation, hue);
-
-    switch (img->colorspace)
-    {
-      default :
-         break;
-
-      case CUPS_IMAGE_WHITE :
-         cupsImageRGBToWhite(in, out, img->xsize);
-         break;
-
-      case CUPS_IMAGE_RGB :
-         cupsImageRGBToRGB(in, out, img->xsize);
-         break;
-
-      case CUPS_IMAGE_BLACK :
-         cupsImageRGBToBlack(in, out, img->xsize);
-         break;
-
-      case CUPS_IMAGE_CMY :
-         cupsImageRGBToCMY(in, out, img->xsize);
-         break;
-
-      case CUPS_IMAGE_CMYK :
-         cupsImageRGBToCMYK(in, out, img->xsize);
-         break;
-    }
-
-    if (lut)
-      cupsImageLut(out, img->xsize * bpp, lut);
-
-    _cupsImagePutRow(img, 0, y, img->xsize, out);
-  }
-
-  fclose(fp);
-  free(in);
-  free(out);
-
-  return (0);
-}
-
-
-/*
- * 'read_word()' - Read a 16-bit unsigned integer.
- */
-
-static unsigned short     /* O - 16-bit unsigned integer */
-read_word(FILE *fp)       /* I - File to read from */
-{
-  unsigned char b0, b1; /* Bytes from file */
-
-  b0 = getc(fp);
-  b1 = getc(fp);
-
-  return ((b1 << 8) | b0);
-}
-
-
-/*
- * 'read_dword()' - Read a 32-bit unsigned integer.
- */
-
-static unsigned int               /* O - 32-bit unsigned integer */
-read_dword(FILE *fp)              /* I - File to read from */
-{
-  unsigned char b0, b1, b2, b3; /* Bytes from file */
-
-  b0 = getc(fp);
-  b1 = getc(fp);
-  b2 = getc(fp);
-  b3 = getc(fp);
-
-  return ((((((b3 << 8) | b2) << 8) | b1) << 8) | b0);
-}
-
-
-/*
- * 'read_long()' - Read a 32-bit signed integer.
- */
-
-static int                        /* O - 32-bit signed integer */
-read_long(FILE *fp)               /* I - File to read from */
-{
-  unsigned char b0, b1, b2, b3; /* Bytes from file */
-
-  b0 = getc(fp);
-  b1 = getc(fp);
-  b2 = getc(fp);
-  b3 = getc(fp);
-
-  return ((int)(((((b3 << 8) | b2) << 8) | b1) << 8) | b0);
-}
-
-
-/*
- * End of "$Id: image-bmp.c 9771 2011-05-12 05:21:56Z mike $".
- */
diff --git a/filter/image-colorspace.c b/filter/image-colorspace.c
deleted file mode 100644 (file)
index 605e927..0000000
+++ /dev/null
@@ -1,1567 +0,0 @@
-/*
- * "$Id: image-colorspace.c 9748 2011-05-06 21:02:44Z mike $"
- *
- *   Colorspace conversions for CUPS.
- *
- *   Copyright 2007-2011 by Apple Inc.
- *   Copyright 1993-2006 by Easy Software Products.
- *
- *   The color saturation/hue matrix stuff is provided thanks to Mr. Paul
- *   Haeberli at "http://www.sgi.com/grafica/matrix/index.html".
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- *   This file is subject to the Apple OS-Developed Software exception.
- *
- * Contents:
- *
- *   cupsImageCMYKToBlack()         - Convert CMYK data to black.
- *   cupsImageCMYKToCMY()           - Convert CMYK colors to CMY.
- *   cupsImageCMYKToCMYK()          - Convert CMYK colors to CMYK.
- *   cupsImageCMYKToRGB()           - Convert CMYK colors to device-dependent
- *                                    RGB.
- *   cupsImageCMYKToWhite()         - Convert CMYK colors to luminance.
- *   cupsImageLut()                 - Adjust all pixel values with the given
- *                                    LUT.
- *   cupsImageRGBAdjust()           - Adjust the hue and saturation of the
- *                                    given RGB colors.
- *   cupsImageRGBToBlack()          - Convert RGB data to black.
- *   cupsImageRGBToCMY()            - Convert RGB colors to CMY.
- *   cupsImageRGBToCMYK()           - Convert RGB colors to CMYK.
- *   cupsImageRGBToRGB()            - Convert RGB colors to device-dependent
- *                                    RGB.
- *   cupsImageRGBToWhite()          - Convert RGB colors to luminance.
- *   cupsImageSetProfile()          - Set the device color profile.
- *   cupsImageSetRasterColorSpace() - Set the destination colorspace.
- *   cupsImageWhiteToBlack()        - Convert luminance colors to black.
- *   cupsImageWhiteToCMY()          - Convert luminance colors to CMY.
- *   cupsImageWhiteToCMYK()         - Convert luminance colors to CMYK.
- *   cupsImageWhiteToRGB()          - Convert luminance data to RGB.
- *   cupsImageWhiteToWhite()        - Convert luminance colors to device-
- *                                    dependent luminance.
- *   cielab()                       - Map CIE Lab transformation...
- *   huerotate()                    - Rotate the hue, maintaining luminance.
- *   ident()                        - Make an identity matrix.
- *   mult()                         - Multiply two matrices.
- *   rgb_to_lab()                   - Convert an RGB color to CIE Lab.
- *   rgb_to_xyz()                   - Convert an RGB color to CIE XYZ.
- *   saturate()                     - Make a saturation matrix.
- *   xform()                        - Transform a 3D point using a matrix...
- *   xrotate()                      - Rotate about the x (red) axis...
- *   yrotate()                      - Rotate about the y (green) axis...
- *   zrotate()                      - Rotate about the z (blue) axis...
- *   zshear()                       - Shear z using x and y...
- */
-
-/*
- * Include necessary headers...
- */
-
-#include "image-private.h"
-
-
-/*
- * Define some math constants that are required...
- */
-
-#ifndef M_PI
-#  define M_PI         3.14159265358979323846
-#endif /* !M_PI */
-
-#ifndef M_SQRT2
-#  define M_SQRT2      1.41421356237309504880
-#endif /* !M_SQRT2 */
-
-#ifndef M_SQRT1_2
-#  define M_SQRT1_2    0.70710678118654752440
-#endif /* !M_SQRT1_2 */
-
-/*
- * CIE XYZ whitepoint...
- */
-
-#define D65_X  (0.412453 + 0.357580 + 0.180423)
-#define D65_Y  (0.212671 + 0.715160 + 0.072169)
-#define D65_Z  (0.019334 + 0.119193 + 0.950227)
-
-
-/*
- * Lookup table structure...
- */
-
-typedef int cups_clut_t[3][256];
-
-
-/*
- * Local globals...
- */
-
-static int             cupsImageHaveProfile = 0;
-                                       /* Do we have a color profile? */
-static int             *cupsImageDensity;
-                                       /* Ink/marker density LUT */
-static cups_clut_t     *cupsImageMatrix;
-                                       /* Color transform matrix LUT */
-static cups_cspace_t   cupsImageColorSpace = CUPS_CSPACE_RGB;
-                                       /* Destination colorspace */
-
-
-/*
- * Local functions...
- */
-
-static float   cielab(float x, float xn);
-static void    huerotate(float [3][3], float);
-static void    ident(float [3][3]);
-static void    mult(float [3][3], float [3][3], float [3][3]);
-static void    rgb_to_lab(cups_ib_t *val);
-static void    rgb_to_xyz(cups_ib_t *val);
-static void    saturate(float [3][3], float);
-static void    xform(float [3][3], float, float, float, float *, float *, float *);
-static void    xrotate(float [3][3], float, float);
-static void    yrotate(float [3][3], float, float);
-static void    zrotate(float [3][3], float, float);
-static void    zshear(float [3][3], float, float);
-
-
-/*
- * 'cupsImageCMYKToBlack()' - Convert CMYK data to black.
- */
-
-void
-cupsImageCMYKToBlack(
-    const cups_ib_t *in,               /* I - Input pixels */
-    cups_ib_t       *out,              /* I - Output pixels */
-    int             count)             /* I - Number of pixels */
-{
-  int  k;                              /* Black value */
-
-
-  if (cupsImageHaveProfile)
-    while (count > 0)
-    {
-      k = (31 * in[0] + 61 * in[1] + 8 * in[2]) / 100 + in[3];
-
-      if (k < 255)
-        *out++ = cupsImageDensity[k];
-      else
-        *out++ = cupsImageDensity[255];
-
-      in += 4;
-      count --;
-    }
-  else
-    while (count > 0)
-    {
-      k = (31 * in[0] + 61 * in[1] + 8 * in[2]) / 100 + in[3];
-
-      if (k < 255)
-        *out++ = k;
-      else
-        *out++ = 255;
-
-      in += 4;
-      count --;
-    }
-}
-
-
-/*
- * 'cupsImageCMYKToCMY()' - Convert CMYK colors to CMY.
- */
-
-void
-cupsImageCMYKToCMY(
-    const cups_ib_t *in,               /* I - Input pixels */
-    cups_ib_t       *out,              /* I - Output pixels */
-    int             count)             /* I - Number of pixels */
-{
-  int  c, m, y, k;                     /* CMYK values */
-  int  cc, cm, cy;                     /* Calibrated CMY values */
-
-
-  if (cupsImageHaveProfile)
-    while (count > 0)
-    {
-      c = *in++;
-      m = *in++;
-      y = *in++;
-      k = *in++;
-
-      cc = cupsImageMatrix[0][0][c] +
-           cupsImageMatrix[0][1][m] +
-          cupsImageMatrix[0][2][y] + k;
-      cm = cupsImageMatrix[1][0][c] +
-           cupsImageMatrix[1][1][m] +
-          cupsImageMatrix[1][2][y] + k;
-      cy = cupsImageMatrix[2][0][c] +
-           cupsImageMatrix[2][1][m] +
-          cupsImageMatrix[2][2][y] + k;
-
-      if (cc < 0)
-        *out++ = 0;
-      else if (cc > 255)
-        *out++ = cupsImageDensity[255];
-      else
-        *out++ = cupsImageDensity[cc];
-
-      if (cm < 0)
-        *out++ = 0;
-      else if (cm > 255)
-        *out++ = cupsImageDensity[255];
-      else
-        *out++ = cupsImageDensity[cm];
-
-      if (cy < 0)
-        *out++ = 0;
-      else if (cy > 255)
-        *out++ = cupsImageDensity[255];
-      else
-        *out++ = cupsImageDensity[cy];
-
-      count --;
-    }
-  else
-    while (count > 0)
-    {
-      c = *in++;
-      m = *in++;
-      y = *in++;
-      k = *in++;
-
-      c += k;
-      m += k;
-      y += k;
-
-      if (c < 255)
-        *out++ = c;
-      else
-        *out++ = 255;
-
-      if (m < 255)
-        *out++ = y;
-      else
-        *out++ = 255;
-
-      if (y < 255)
-        *out++ = y;
-      else
-        *out++ = 255;
-
-      count --;
-    }
-}
-
-
-/*
- * 'cupsImageCMYKToCMYK()' - Convert CMYK colors to CMYK.
- */
-
-void
-cupsImageCMYKToCMYK(
-    const cups_ib_t *in,               /* I - Input pixels */
-    cups_ib_t       *out,              /* I - Output pixels */
-    int             count)             /* I - Number of pixels */
-{
-  int  c, m, y, k;                     /* CMYK values */
-  int  cc, cm, cy;                     /* Calibrated CMY values */
-
-
-  if (cupsImageHaveProfile)
-    while (count > 0)
-    {
-      c = *in++;
-      m = *in++;
-      y = *in++;
-      k = *in++;
-
-      cc = (cupsImageMatrix[0][0][c] +
-            cupsImageMatrix[0][1][m] +
-           cupsImageMatrix[0][2][y]);
-      cm = (cupsImageMatrix[1][0][c] +
-            cupsImageMatrix[1][1][m] +
-           cupsImageMatrix[1][2][y]);
-      cy = (cupsImageMatrix[2][0][c] +
-            cupsImageMatrix[2][1][m] +
-           cupsImageMatrix[2][2][y]);
-
-      if (cc < 0)
-        *out++ = 0;
-      else if (cc > 255)
-        *out++ = cupsImageDensity[255];
-      else
-        *out++ = cupsImageDensity[cc];
-
-      if (cm < 0)
-        *out++ = 0;
-      else if (cm > 255)
-        *out++ = cupsImageDensity[255];
-      else
-        *out++ = cupsImageDensity[cm];
-
-      if (cy < 0)
-        *out++ = 0;
-      else if (cy > 255)
-        *out++ = cupsImageDensity[255];
-      else
-        *out++ = cupsImageDensity[cy];
-
-      *out++ = cupsImageDensity[k];
-
-      count --;
-    }
-  else if (in != out)
-  {
-    while (count > 0)
-    {
-      *out++ = *in++;
-      *out++ = *in++;
-      *out++ = *in++;
-      *out++ = *in++;
-
-      count --;
-    }
-  }
-}
-
-
-/*
- * 'cupsImageCMYKToRGB()' - Convert CMYK colors to device-dependent RGB.
- */
-
-void
-cupsImageCMYKToRGB(
-    const cups_ib_t *in,               /* I - Input pixels */
-    cups_ib_t       *out,              /* I - Output pixels */
-    int             count)             /* I - Number of pixels */
-{
-  int  c, m, y, k;                     /* CMYK values */
-  int  cr, cg, cb;                     /* Calibrated RGB values */
-
-
-  if (cupsImageHaveProfile)
-  {
-    while (count > 0)
-    {
-      c = *in++;
-      m = *in++;
-      y = *in++;
-      k = *in++;
-
-      cr = cupsImageMatrix[0][0][c] +
-           cupsImageMatrix[0][1][m] +
-           cupsImageMatrix[0][2][y] + k;
-      cg = cupsImageMatrix[1][0][c] +
-           cupsImageMatrix[1][1][m] +
-          cupsImageMatrix[1][2][y] + k;
-      cb = cupsImageMatrix[2][0][c] +
-           cupsImageMatrix[2][1][m] +
-          cupsImageMatrix[2][2][y] + k;
-
-      if (cr < 0)
-        *out++ = 255;
-      else if (cr > 255)
-        *out++ = 255 - cupsImageDensity[255];
-      else
-        *out++ = 255 - cupsImageDensity[cr];
-
-      if (cg < 0)
-        *out++ = 255;
-      else if (cg > 255)
-        *out++ = 255 - cupsImageDensity[255];
-      else
-        *out++ = 255 - cupsImageDensity[cg];
-
-      if (cb < 0)
-        *out++ = 255;
-      else if (cb > 255)
-        *out++ = 255 - cupsImageDensity[255];
-      else
-        *out++ = 255 - cupsImageDensity[cb];
-
-      count --;
-    }
-  }
-  else
-  {
-    while (count > 0)
-    {
-      c = 255 - *in++;
-      m = 255 - *in++;
-      y = 255 - *in++;
-      k = *in++;
-
-      c -= k;
-      m -= k;
-      y -= k;
-
-      if (c > 0)
-       *out++ = c;
-      else
-        *out++ = 0;
-
-      if (m > 0)
-       *out++ = m;
-      else
-        *out++ = 0;
-
-      if (y > 0)
-       *out++ = y;
-      else
-        *out++ = 0;
-
-      if (cupsImageColorSpace == CUPS_CSPACE_CIELab ||
-          cupsImageColorSpace >= CUPS_CSPACE_ICC1)
-        rgb_to_lab(out - 3);
-      else if (cupsImageColorSpace == CUPS_CSPACE_CIEXYZ)
-        rgb_to_xyz(out - 3);
-
-      count --;
-    }
-  }
-}
-
-
-/*
- * 'cupsImageCMYKToWhite()' - Convert CMYK colors to luminance.
- */
-
-void
-cupsImageCMYKToWhite(
-    const cups_ib_t *in,               /* I - Input pixels */
-    cups_ib_t       *out,              /* I - Output pixels */
-    int             count)             /* I - Number of pixels */
-{
-  int  w;                              /* White value */
-
-
-  if (cupsImageHaveProfile)
-  {
-    while (count > 0)
-    {
-      w = 255 - (31 * in[0] + 61 * in[1] + 8 * in[2]) / 100 - in[3];
-
-      if (w > 0)
-        *out++ = cupsImageDensity[w];
-      else
-        *out++ = cupsImageDensity[0];
-
-      in += 4;
-      count --;
-    }
-  }
-  else
-  {
-    while (count > 0)
-    {
-      w = 255 - (31 * in[0] + 61 * in[1] + 8 * in[2]) / 100 - in[3];
-
-      if (w > 0)
-        *out++ = w;
-      else
-        *out++ = 0;
-
-      in += 4;
-      count --;
-    }
-  }
-}
-
-
-/*
- * 'cupsImageLut()' - Adjust all pixel values with the given LUT.
- */
-
-void
-cupsImageLut(cups_ib_t       *pixels,  /* IO - Input/output pixels */
-             int             count,    /* I  - Number of pixels/bytes to adjust */
-             const cups_ib_t *lut)     /* I  - Lookup table */
-{
-  while (count > 0)
-  {
-    *pixels = lut[*pixels];
-    pixels ++;
-    count --;
-  }
-}
-
-
-/*
- * 'cupsImageRGBAdjust()' - Adjust the hue and saturation of the given RGB colors.
- */
-
-void
-cupsImageRGBAdjust(cups_ib_t *pixels,  /* IO - Input/output pixels */
-                  int       count,     /* I - Number of pixels to adjust */
-                  int       saturation,/* I - Color saturation (%) */
-                  int       hue)       /* I - Color hue (degrees) */
-{
-  int                  i, j, k;        /* Looping vars */
-  float                        mat[3][3];      /* Color adjustment matrix */
-  static int           last_sat = 100, /* Last saturation used */
-                       last_hue = 0;   /* Last hue used */
-  static cups_clut_t   *lut = NULL;    /* Lookup table for matrix */
-
-
-  if (saturation != last_sat || hue != last_hue || !lut)
-  {
-   /*
-    * Build the color adjustment matrix...
-    */
-
-    ident(mat);
-    saturate(mat, saturation * 0.01);
-    huerotate(mat, (float)hue);
-
-   /*
-    * Allocate memory for the lookup table...
-    */
-
-    if (lut == NULL)
-      lut = calloc(3, sizeof(cups_clut_t));
-
-    if (lut == NULL)
-      return;
-
-   /*
-    * Convert the matrix into a 3x3 array of lookup tables...
-    */
-
-    for (i = 0; i < 3; i ++)
-      for (j = 0; j < 3; j ++)
-        for (k = 0; k < 256; k ++)
-          lut[i][j][k] = mat[i][j] * k + 0.5;
-
-   /*
-    * Save the saturation and hue to compare later...
-    */
-
-    last_sat = saturation;
-    last_hue = hue;
-  }
-
- /*
-  * Adjust each pixel in the given buffer.
-  */
-
-  while (count > 0)
-  {
-    i = lut[0][0][pixels[0]] +
-        lut[1][0][pixels[1]] +
-        lut[2][0][pixels[2]];
-    if (i < 0)
-      pixels[0] = 0;
-    else if (i > 255)
-      pixels[0] = 255;
-    else
-      pixels[0] = i;
-
-    i = lut[0][1][pixels[0]] +
-        lut[1][1][pixels[1]] +
-        lut[2][1][pixels[2]];
-    if (i < 0)
-      pixels[1] = 0;
-    else if (i > 255)
-      pixels[1] = 255;
-    else
-      pixels[1] = i;
-
-    i = lut[0][2][pixels[0]] +
-        lut[1][2][pixels[1]] +
-        lut[2][2][pixels[2]];
-    if (i < 0)
-      pixels[2] = 0;
-    else if (i > 255)
-      pixels[2] = 255;
-    else
-      pixels[2] = i;
-
-    count --;
-    pixels += 3;
-  }
-}
-
-
-/*
- * 'cupsImageRGBToBlack()' - Convert RGB data to black.
- */
-
-void
-cupsImageRGBToBlack(
-    const cups_ib_t *in,               /* I - Input pixels */
-    cups_ib_t       *out,              /* I - Output pixels */
-    int             count)             /* I - Number of pixels */
-{
-  if (cupsImageHaveProfile)
-    while (count > 0)
-    {
-      *out++ = cupsImageDensity[255 - (31 * in[0] + 61 * in[1] + 8 * in[2]) / 100];
-      in += 3;
-      count --;
-    }
-  else
-    while (count > 0)
-    {
-      *out++ = 255 - (31 * in[0] + 61 * in[1] + 8 * in[2]) / 100;
-      in += 3;
-      count --;
-    }
-}
-
-
-/*
- * 'cupsImageRGBToCMY()' - Convert RGB colors to CMY.
- */
-
-void
-cupsImageRGBToCMY(
-    const cups_ib_t *in,               /* I - Input pixels */
-    cups_ib_t       *out,              /* I - Output pixels */
-    int             count)             /* I - Number of pixels */
-{
-  int  c, m, y, k;                     /* CMYK values */
-  int  cc, cm, cy;                     /* Calibrated CMY values */
-
-
-  if (cupsImageHaveProfile)
-    while (count > 0)
-    {
-      c = 255 - *in++;
-      m = 255 - *in++;
-      y = 255 - *in++;
-      k = min(c, min(m, y));
-      c -= k;
-      m -= k;
-      y -= k;
-
-      cc = cupsImageMatrix[0][0][c] +
-           cupsImageMatrix[0][1][m] +
-          cupsImageMatrix[0][2][y] + k;
-      cm = cupsImageMatrix[1][0][c] +
-           cupsImageMatrix[1][1][m] +
-          cupsImageMatrix[1][2][y] + k;
-      cy = cupsImageMatrix[2][0][c] +
-           cupsImageMatrix[2][1][m] +
-          cupsImageMatrix[2][2][y] + k;
-
-      if (cc < 0)
-        *out++ = 0;
-      else if (cc > 255)
-        *out++ = cupsImageDensity[255];
-      else
-        *out++ = cupsImageDensity[cc];
-
-      if (cm < 0)
-        *out++ = 0;
-      else if (cm > 255)
-        *out++ = cupsImageDensity[255];
-      else
-        *out++ = cupsImageDensity[cm];
-
-      if (cy < 0)
-        *out++ = 0;
-      else if (cy > 255)
-        *out++ = cupsImageDensity[255];
-      else
-        *out++ = cupsImageDensity[cy];
-
-      count --;
-    }
-  else
-    while (count > 0)
-    {
-      c    = 255 - in[0];
-      m    = 255 - in[1];
-      y    = 255 - in[2];
-      k    = min(c, min(m, y));
-
-      *out++ = (255 - in[1] / 4) * (c - k) / 255 + k;
-      *out++ = (255 - in[2] / 4) * (m - k) / 255 + k;
-      *out++ = (255 - in[0] / 4) * (y - k) / 255 + k;
-      in += 3;
-      count --;
-    }
-}
-
-
-/*
- * 'cupsImageRGBToCMYK()' - Convert RGB colors to CMYK.
- */
-
-void
-cupsImageRGBToCMYK(
-    const cups_ib_t *in,               /* I - Input pixels */
-    cups_ib_t       *out,              /* I - Output pixels */
-    int             count)             /* I - Number of pixels */
-{
-  int  c, m, y, k,                     /* CMYK values */
-       km;                             /* Maximum K value */
-  int  cc, cm, cy;                     /* Calibrated CMY values */
-
-
-  if (cupsImageHaveProfile)
-    while (count > 0)
-    {
-      c = 255 - *in++;
-      m = 255 - *in++;
-      y = 255 - *in++;
-      k = min(c, min(m, y));
-
-      if ((km = max(c, max(m, y))) > k)
-        k = k * k * k / (km * km);
-
-      c -= k;
-      m -= k;
-      y -= k;
-
-      cc = (cupsImageMatrix[0][0][c] +
-            cupsImageMatrix[0][1][m] +
-           cupsImageMatrix[0][2][y]);
-      cm = (cupsImageMatrix[1][0][c] +
-            cupsImageMatrix[1][1][m] +
-           cupsImageMatrix[1][2][y]);
-      cy = (cupsImageMatrix[2][0][c] +
-            cupsImageMatrix[2][1][m] +
-           cupsImageMatrix[2][2][y]);
-
-      if (cc < 0)
-        *out++ = 0;
-      else if (cc > 255)
-        *out++ = cupsImageDensity[255];
-      else
-        *out++ = cupsImageDensity[cc];
-
-      if (cm < 0)
-        *out++ = 0;
-      else if (cm > 255)
-        *out++ = cupsImageDensity[255];
-      else
-        *out++ = cupsImageDensity[cm];
-
-      if (cy < 0)
-        *out++ = 0;
-      else if (cy > 255)
-        *out++ = cupsImageDensity[255];
-      else
-        *out++ = cupsImageDensity[cy];
-
-      *out++ = cupsImageDensity[k];
-
-      count --;
-    }
-  else
-    while (count > 0)
-    {
-      c = 255 - *in++;
-      m = 255 - *in++;
-      y = 255 - *in++;
-      k = min(c, min(m, y));
-
-      if ((km = max(c, max(m, y))) > k)
-        k = k * k * k / (km * km);
-
-      c -= k;
-      m -= k;
-      y -= k;
-
-      *out++ = c;
-      *out++ = m;
-      *out++ = y;
-      *out++ = k;
-
-      count --;
-    }
-}
-
-
-/*
- * 'cupsImageRGBToRGB()' - Convert RGB colors to device-dependent RGB.
- */
-
-void
-cupsImageRGBToRGB(
-    const cups_ib_t *in,               /* I - Input pixels */
-    cups_ib_t       *out,              /* I - Output pixels */
-    int             count)             /* I - Number of pixels */
-{
-  int  c, m, y, k;                     /* CMYK values */
-  int  cr, cg, cb;                     /* Calibrated RGB values */
-
-
-  if (cupsImageHaveProfile)
-  {
-    while (count > 0)
-    {
-      c = 255 - *in++;
-      m = 255 - *in++;
-      y = 255 - *in++;
-      k = min(c, min(m, y));
-      c -= k;
-      m -= k;
-      y -= k;
-
-      cr = cupsImageMatrix[0][0][c] +
-           cupsImageMatrix[0][1][m] +
-           cupsImageMatrix[0][2][y] + k;
-      cg = cupsImageMatrix[1][0][c] +
-           cupsImageMatrix[1][1][m] +
-          cupsImageMatrix[1][2][y] + k;
-      cb = cupsImageMatrix[2][0][c] +
-           cupsImageMatrix[2][1][m] +
-          cupsImageMatrix[2][2][y] + k;
-
-      if (cr < 0)
-        *out++ = 255;
-      else if (cr > 255)
-        *out++ = 255 - cupsImageDensity[255];
-      else
-        *out++ = 255 - cupsImageDensity[cr];
-
-      if (cg < 0)
-        *out++ = 255;
-      else if (cg > 255)
-        *out++ = 255 - cupsImageDensity[255];
-      else
-        *out++ = 255 - cupsImageDensity[cg];
-
-      if (cb < 0)
-        *out++ = 255;
-      else if (cb > 255)
-        *out++ = 255 - cupsImageDensity[255];
-      else
-        *out++ = 255 - cupsImageDensity[cb];
-
-      count --;
-    }
-  }
-  else
-  {
-    if (in != out)
-      memcpy(out, in, count * 3);
-
-    if (cupsImageColorSpace == CUPS_CSPACE_CIELab ||
-        cupsImageColorSpace >= CUPS_CSPACE_ICC1)
-    {
-      while (count > 0)
-      {
-        rgb_to_lab(out);
-
-       out += 3;
-       count --;
-      }
-    }
-    else if (cupsImageColorSpace == CUPS_CSPACE_CIEXYZ)
-    {
-      while (count > 0)
-      {
-        rgb_to_xyz(out);
-
-       out += 3;
-       count --;
-      }
-    }
-  }
-}
-
-
-/*
- * 'cupsImageRGBToWhite()' - Convert RGB colors to luminance.
- */
-
-void
-cupsImageRGBToWhite(
-    const cups_ib_t *in,               /* I - Input pixels */
-    cups_ib_t       *out,              /* I - Output pixels */
-    int             count)             /* I - Number of pixels */
-{
-  if (cupsImageHaveProfile)
-  {
-    while (count > 0)
-    {
-      *out++ = 255 - cupsImageDensity[255 - (31 * in[0] + 61 * in[1] + 8 * in[2]) / 100];
-      in += 3;
-      count --;
-    }
-  }
-  else
-  {
-    while (count > 0)
-    {
-      *out++ = (31 * in[0] + 61 * in[1] + 8 * in[2]) / 100;
-      in += 3;
-      count --;
-    }
-  }
-}
-
-
-/*
- * 'cupsImageSetProfile()' - Set the device color profile.
- */
-
-void
-cupsImageSetProfile(float d,           /* I - Ink/marker density */
-                    float g,           /* I - Ink/marker gamma */
-                    float matrix[3][3])        /* I - Color transform matrix */
-{
-  int  i, j, k;                        /* Looping vars */
-  float        m;                              /* Current matrix value */
-  int  *im;                            /* Pointer into cupsImageMatrix */
-
-
- /*
-  * Allocate memory for the profile data...
-  */
-
-  if (cupsImageMatrix == NULL)
-    cupsImageMatrix = calloc(3, sizeof(cups_clut_t));
-
-  if (cupsImageMatrix == NULL)
-    return;
-
-  if (cupsImageDensity == NULL)
-    cupsImageDensity = calloc(256, sizeof(int));
-
-  if (cupsImageDensity == NULL)
-    return;
-
- /*
-  * Populate the profile lookup tables...
-  */
-
-  cupsImageHaveProfile  = 1;
-
-  for (i = 0, im = cupsImageMatrix[0][0]; i < 3; i ++)
-    for (j = 0; j < 3; j ++)
-      for (k = 0, m = matrix[i][j]; k < 256; k ++)
-        *im++ = (int)(k * m + 0.5);
-
-  for (k = 0, im = cupsImageDensity; k < 256; k ++)
-    *im++ = 255.0 * d * pow((float)k / 255.0, g) + 0.5;
-}
-
-
-/*
- * 'cupsImageSetRasterColorSpace()' - Set the destination colorspace.
- */
-
-void
-cupsImageSetRasterColorSpace(
-    cups_cspace_t cs)                  /* I - Destination colorspace */
-{
- /*
-  * Set the destination colorspace...
-  */
-
-  cupsImageColorSpace = cs;
-
- /*
-  * Don't use color profiles in colorimetric colorspaces...
-  */
-
-  if (cs == CUPS_CSPACE_CIEXYZ ||
-      cs == CUPS_CSPACE_CIELab ||
-      cs >= CUPS_CSPACE_ICC1)
-    cupsImageHaveProfile = 0;
-}
-
-
-/*
- * 'cupsImageWhiteToBlack()' - Convert luminance colors to black.
- */
-
-void
-cupsImageWhiteToBlack(
-    const cups_ib_t *in,               /* I - Input pixels */
-    cups_ib_t       *out,              /* I - Output pixels */
-    int             count)             /* I - Number of pixels */
-{
-  if (cupsImageHaveProfile)
-    while (count > 0)
-    {
-      *out++ = cupsImageDensity[255 - *in++];
-      count --;
-    }
-  else
-    while (count > 0)
-    {
-      *out++ = 255 - *in++;
-      count --;
-    }
-}
-
-
-/*
- * 'cupsImageWhiteToCMY()' - Convert luminance colors to CMY.
- */
-
-void
-cupsImageWhiteToCMY(
-    const cups_ib_t *in,               /* I - Input pixels */
-    cups_ib_t       *out,              /* I - Output pixels */
-    int             count)             /* I - Number of pixels */
-{
-  if (cupsImageHaveProfile)
-    while (count > 0)
-    {
-      out[0] = cupsImageDensity[255 - *in++];
-      out[1] = out[0];
-      out[2] = out[0];
-      out += 3;
-      count --;
-    }
-  else
-    while (count > 0)
-    {
-      *out++ = 255 - *in;
-      *out++ = 255 - *in;
-      *out++ = 255 - *in++;
-      count --;
-    }
-}
-
-
-/*
- * 'cupsImageWhiteToCMYK()' - Convert luminance colors to CMYK.
- */
-
-void
-cupsImageWhiteToCMYK(
-    const cups_ib_t *in,               /* I - Input pixels */
-    cups_ib_t       *out,              /* I - Output pixels */
-    int             count)             /* I - Number of pixels */
-{
-  if (cupsImageHaveProfile)
-    while (count > 0)
-    {
-      *out++ = 0;
-      *out++ = 0;
-      *out++ = 0;
-      *out++ = cupsImageDensity[255 - *in++];
-      count --;
-    }
-  else
-    while (count > 0)
-    {
-      *out++ = 0;
-      *out++ = 0;
-      *out++ = 0;
-      *out++ = 255 - *in++;
-      count --;
-    }
-}
-
-
-/*
- * 'cupsImageWhiteToRGB()' - Convert luminance data to RGB.
- */
-
-void
-cupsImageWhiteToRGB(
-    const cups_ib_t *in,               /* I - Input pixels */
-    cups_ib_t       *out,              /* I - Output pixels */
-    int             count)             /* I - Number of pixels */
-{
-  if (cupsImageHaveProfile)
-  {
-    while (count > 0)
-    {
-      out[0] = 255 - cupsImageDensity[255 - *in++];
-      out[1] = out[0];
-      out[2] = out[0];
-      out += 3;
-      count --;
-    }
-  }
-  else
-  {
-    while (count > 0)
-    {
-      *out++ = *in;
-      *out++ = *in;
-      *out++ = *in++;
-
-      if (cupsImageColorSpace == CUPS_CSPACE_CIELab ||
-          cupsImageColorSpace >= CUPS_CSPACE_ICC1)
-        rgb_to_lab(out - 3);
-      else if (cupsImageColorSpace == CUPS_CSPACE_CIEXYZ)
-        rgb_to_xyz(out - 3);
-
-      count --;
-    }
-  }
-}
-
-
-/*
- * 'cupsImageWhiteToWhite()' - Convert luminance colors to device-dependent
- *                             luminance.
- */
-
-void
-cupsImageWhiteToWhite(
-    const cups_ib_t *in,               /* I - Input pixels */
-    cups_ib_t       *out,              /* I - Output pixels */
-    int             count)             /* I - Number of pixels */
-{
-  if (cupsImageHaveProfile)
-    while (count > 0)
-    {
-      *out++ = 255 - cupsImageDensity[255 - *in++];
-      count --;
-    }
-  else if (in != out)
-    memcpy(out, in, count);
-}
-
-
-/*
- * 'cielab()' - Map CIE Lab transformation...
- */
-
-static float                           /* O - Adjusted color value */
-cielab(float x,                                /* I - Raw color value */
-       float xn)                       /* I - Whitepoint color value */
-{
-  float x_xn;                          /* Fraction of whitepoint */
-
-
-  x_xn = x / xn;
-
-  if (x_xn > 0.008856)
-    return (cbrt(x_xn));
-  else
-    return (7.787 * x_xn + 16.0 / 116.0);
-}
-
-
-/* 
- * 'huerotate()' - Rotate the hue, maintaining luminance.
- */
-
-static void
-huerotate(float mat[3][3],             /* I - Matrix to append to */
-          float rot)                   /* I - Hue rotation in degrees */
-{
-  float hmat[3][3];                    /* Hue matrix */
-  float lx, ly, lz;                    /* Luminance vector */
-  float xrs, xrc;                      /* X rotation sine/cosine */
-  float yrs, yrc;                      /* Y rotation sine/cosine */
-  float zrs, zrc;                      /* Z rotation sine/cosine */
-  float zsx, zsy;                      /* Z shear x/y */
-
-
- /*
-  * Load the identity matrix...
-  */
-
-  ident(hmat);
-
- /*
-  * Rotate the grey vector into positive Z...
-  */
-
-  xrs = M_SQRT1_2;
-  xrc = M_SQRT1_2;
-  xrotate(hmat,xrs,xrc);
-
-  yrs = -1.0 / sqrt(3.0);
-  yrc = -M_SQRT2 * yrs;
-  yrotate(hmat,yrs,yrc);
-
- /*
-  * Shear the space to make the luminance plane horizontal...
-  */
-
-  xform(hmat, 0.3086, 0.6094, 0.0820, &lx, &ly, &lz);
-  zsx = lx / lz;
-  zsy = ly / lz;
-  zshear(hmat, zsx, zsy);
-
- /*
-  * Rotate the hue...
-  */
-
-  zrs = sin(rot * M_PI / 180.0);
-  zrc = cos(rot * M_PI / 180.0);
-
-  zrotate(hmat, zrs, zrc);
-
- /*
-  * Unshear the space to put the luminance plane back...
-  */
-
-  zshear(hmat, -zsx, -zsy);
-
- /*
-  * Rotate the grey vector back into place...
-  */
-
-  yrotate(hmat, -yrs, yrc);
-  xrotate(hmat, -xrs, xrc);
-
- /*
-  * Append it to the current matrix...
-  */
-
-  mult(hmat, mat, mat);
-}
-
-
-/* 
- * 'ident()' - Make an identity matrix.
- */
-
-static void
-ident(float mat[3][3])                 /* I - Matrix to identify */
-{
-  mat[0][0] = 1.0;
-  mat[0][1] = 0.0;
-  mat[0][2] = 0.0;
-  mat[1][0] = 0.0;
-  mat[1][1] = 1.0;
-  mat[1][2] = 0.0;
-  mat[2][0] = 0.0;
-  mat[2][1] = 0.0;
-  mat[2][2] = 1.0;
-}
-
-
-/* 
- * 'mult()' - Multiply two matrices.
- */
-
-static void
-mult(float a[3][3],                    /* I - First matrix */
-     float b[3][3],                    /* I - Second matrix */
-     float c[3][3])                    /* I - Destination matrix */
-{
-  int  x, y;                           /* Looping vars */
-  float        temp[3][3];                     /* Temporary matrix */
-
-
- /*
-  * Multiply a and b, putting the result in temp...
-  */
-
-  for (y = 0; y < 3; y ++)
-    for (x = 0; x < 3; x ++)
-      temp[y][x] = b[y][0] * a[0][x] +
-                   b[y][1] * a[1][x] +
-                   b[y][2] * a[2][x];
-
- /*
-  * Copy temp to c (that way c can be a pointer to a or b).
-  */
-
-  memcpy(c, temp, sizeof(temp));
-}
-
-
-/*
- * 'rgb_to_lab()' - Convert an RGB color to CIE Lab.
- */
-
-static void
-rgb_to_lab(cups_ib_t *val)             /* IO - Color value */
-{
-  float        r,                              /* Red value */
-       g,                              /* Green value */
-       b,                              /* Blue value */
-       ciex,                           /* CIE X value */
-       ciey,                           /* CIE Y value */
-       ciez,                           /* CIE Z value */
-       ciey_yn,                        /* Normalized luminance */
-       ciel,                           /* CIE L value */
-       ciea,                           /* CIE a value */
-       cieb;                           /* CIE b value */
-
-
- /*
-  * Convert sRGB to linear RGB...
-  */
-
-  r = pow((val[0] / 255.0 + 0.055) / 1.055, 2.4);
-  g = pow((val[1] / 255.0 + 0.055) / 1.055, 2.4);
-  b = pow((val[2] / 255.0 + 0.055) / 1.055, 2.4);
-
- /*
-  * Convert to CIE XYZ...
-  */
-
-  ciex = 0.412453 * r + 0.357580 * g + 0.180423 * b; 
-  ciey = 0.212671 * r + 0.715160 * g + 0.072169 * b;
-  ciez = 0.019334 * r + 0.119193 * g + 0.950227 * b;
-
- /*
-  * Normalize and convert to CIE Lab...
-  */
-
-  ciey_yn = ciey / D65_Y;
-
-  if (ciey_yn > 0.008856)
-    ciel = 116 * cbrt(ciey_yn) - 16;
-  else
-    ciel = 903.3 * ciey_yn;
-
-/*ciel = ciel;*/
-  ciea = 500 * (cielab(ciex, D65_X) - cielab(ciey, D65_Y));
-  cieb = 200 * (cielab(ciey, D65_Y) - cielab(ciez, D65_Z));
-
- /*
-  * Scale the L value and bias the a and b values by 128 so that all
-  * numbers are from 0 to 255.
-  */
-
-  ciel = ciel * 2.55 + 0.5;
-  ciea += 128.5;
-  cieb += 128.5;
-
- /*
-  * Output 8-bit values...
-  */
-
-  if (ciel < 0.0)
-    val[0] = 0;
-  else if (ciel < 255.0)
-    val[0] = (int)ciel;
-  else
-    val[0] = 255;
-
-  if (ciea < 0.0)
-    val[1] = 0;
-  else if (ciea < 255.0)
-    val[1] = (int)ciea;
-  else
-    val[1] = 255;
-
-  if (cieb < 0.0)
-    val[2] = 0;
-  else if (cieb < 255.0)
-    val[2] = (int)cieb;
-  else
-    val[2] = 255;
-}
-
-
-/*
- * 'rgb_to_xyz()' - Convert an RGB color to CIE XYZ.
- */
-
-static void
-rgb_to_xyz(cups_ib_t *val)             /* IO - Color value */
-{
-  float        r,                              /* Red value */
-       g,                              /* Green value */
-       b,                              /* Blue value */
-       ciex,                           /* CIE X value */
-       ciey,                           /* CIE Y value */
-       ciez;                           /* CIE Z value */
-
-
- /*
-  * Convert sRGB to linear RGB...
-  */
-
-  r = pow((val[0] / 255.0 + 0.055) / 1.055, 2.4);
-  g = pow((val[1] / 255.0 + 0.055) / 1.055, 2.4);
-  b = pow((val[2] / 255.0 + 0.055) / 1.055, 2.4);
-
- /*
-  * Convert to CIE XYZ...
-  */
-
-  ciex = 0.412453 * r + 0.357580 * g + 0.180423 * b; 
-  ciey = 0.212671 * r + 0.715160 * g + 0.072169 * b;
-  ciez = 0.019334 * r + 0.119193 * g + 0.950227 * b;
-
- /*
-  * Encode as 8-bit XYZ...
-  */
-
-  if (ciex < 0.0f)
-    val[0] = 0;
-  else if (ciex < 1.1f)
-    val[0] = (int)(231.8181f * ciex + 0.5);
-  else
-    val[0] = 255;
-
-  if (ciey < 0.0f)
-    val[1] = 0;
-  else if (ciey < 1.1f)
-    val[1] = (int)(231.8181f * ciey + 0.5);
-  else
-    val[1] = 255;
-
-  if (ciez < 0.0f)
-    val[2] = 0;
-  else if (ciez < 1.1f)
-    val[2] = (int)(231.8181f * ciez + 0.5);
-  else
-    val[2] = 255;
-}
-
-
-/* 
- * 'saturate()' - Make a saturation matrix.
- */
-
-static void
-saturate(float mat[3][3],              /* I - Matrix to append to */
-         float sat)                    /* I - Desired color saturation */
-{
-  float        smat[3][3];                     /* Saturation matrix */
-
-
-  smat[0][0] = (1.0 - sat) * 0.3086 + sat;
-  smat[0][1] = (1.0 - sat) * 0.3086;
-  smat[0][2] = (1.0 - sat) * 0.3086;
-  smat[1][0] = (1.0 - sat) * 0.6094;
-  smat[1][1] = (1.0 - sat) * 0.6094 + sat;
-  smat[1][2] = (1.0 - sat) * 0.6094;
-  smat[2][0] = (1.0 - sat) * 0.0820;
-  smat[2][1] = (1.0 - sat) * 0.0820;
-  smat[2][2] = (1.0 - sat) * 0.0820 + sat;
-
-  mult(smat, mat, mat);
-}
-
-
-/* 
- * 'xform()' - Transform a 3D point using a matrix...
- */
-
-static void
-xform(float mat[3][3],                 /* I - Matrix */
-      float x,                         /* I - Input X coordinate */
-      float y,                         /* I - Input Y coordinate */
-      float z,                         /* I - Input Z coordinate */
-      float *tx,                       /* O - Output X coordinate */
-      float *ty,                       /* O - Output Y coordinate */
-      float *tz)                       /* O - Output Z coordinate */
-{
-  *tx = x * mat[0][0] + y * mat[1][0] + z * mat[2][0];
-  *ty = x * mat[0][1] + y * mat[1][1] + z * mat[2][1];
-  *tz = x * mat[0][2] + y * mat[1][2] + z * mat[2][2];
-}
-
-
-/* 
- * 'xrotate()' - Rotate about the x (red) axis...
- */
-
-static void
-xrotate(float mat[3][3],               /* I - Matrix */
-        float rs,                      /* I - Rotation angle sine */
-        float rc)                      /* I - Rotation angle cosine */
-{
-  float rmat[3][3];                    /* I - Rotation matrix */
-
-
-  rmat[0][0] = 1.0;
-  rmat[0][1] = 0.0;
-  rmat[0][2] = 0.0;
-
-  rmat[1][0] = 0.0;
-  rmat[1][1] = rc;
-  rmat[1][2] = rs;
-
-  rmat[2][0] = 0.0;
-  rmat[2][1] = -rs;
-  rmat[2][2] = rc;
-
-  mult(rmat, mat, mat);
-}
-
-
-/* 
- * 'yrotate()' - Rotate about the y (green) axis...
- */
-
-static void
-yrotate(float mat[3][3],               /* I - Matrix */
-        float rs,                      /* I - Rotation angle sine */
-        float rc)                      /* I - Rotation angle cosine */
-{
-  float rmat[3][3];                    /* I - Rotation matrix */
-
-
-  rmat[0][0] = rc;
-  rmat[0][1] = 0.0;
-  rmat[0][2] = -rs;
-
-  rmat[1][0] = 0.0;
-  rmat[1][1] = 1.0;
-  rmat[1][2] = 0.0;
-
-  rmat[2][0] = rs;
-  rmat[2][1] = 0.0;
-  rmat[2][2] = rc;
-
-  mult(rmat,mat,mat);
-}
-
-
-/* 
- * 'zrotate()' - Rotate about the z (blue) axis...
- */
-
-static void
-zrotate(float mat[3][3],               /* I - Matrix */
-        float rs,                      /* I - Rotation angle sine */
-        float rc)                      /* I - Rotation angle cosine */
-{
-  float rmat[3][3];                    /* I - Rotation matrix */
-
-
-  rmat[0][0] = rc;
-  rmat[0][1] = rs;
-  rmat[0][2] = 0.0;
-
-  rmat[1][0] = -rs;
-  rmat[1][1] = rc;
-  rmat[1][2] = 0.0;
-
-  rmat[2][0] = 0.0;
-  rmat[2][1] = 0.0;
-  rmat[2][2] = 1.0;
-
-  mult(rmat,mat,mat);
-}
-
-
-/* 
- * 'zshear()' - Shear z using x and y...
- */
-
-static void
-zshear(float mat[3][3],                        /* I - Matrix */
-       float dx,                       /* I - X shear */
-       float dy)                       /* I - Y shear */
-{
-  float smat[3][3];                    /* Shear matrix */
-
-
-  smat[0][0] = 1.0;
-  smat[0][1] = 0.0;
-  smat[0][2] = dx;
-
-  smat[1][0] = 0.0;
-  smat[1][1] = 1.0;
-  smat[1][2] = dy;
-
-  smat[2][0] = 0.0;
-  smat[2][1] = 0.0;
-  smat[2][2] = 1.0;
-
-  mult(smat, mat, mat);
-}
-
-
-/*
- * End of "$Id: image-colorspace.c 9748 2011-05-06 21:02:44Z mike $".
- */
diff --git a/filter/image-gif.c b/filter/image-gif.c
deleted file mode 100644 (file)
index 7477c0c..0000000
+++ /dev/null
@@ -1,696 +0,0 @@
-/*
- * "$Id: image-gif.c 9865 2011-08-06 04:38:04Z mike $"
- *
- *   GIF image routines for CUPS.
- *
- *   Copyright 2007-2011 by Apple Inc.
- *   Copyright 1993-2007 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- *   This file is subject to the Apple OS-Developed Software exception.
- *
- * Contents:
- *
- *   _cupsImageReadGIF() - Read a GIF image file.
- *   gif_get_block()     - Read a GIF data block...
- *   gif_get_code()      - Get a LZW code from the file...
- *   gif_read_cmap()     - Read the colormap from a GIF file...
- *   gif_read_image()    - Read a GIF image stream...
- *   gif_read_lzw()      - Read a byte from the LZW stream...
- */
-
-/*
- * Include necessary headers...
- */
-
-#include "image-private.h"
-
-
-/*
- * GIF definitions...
- */
-
-#define GIF_INTERLACE  0x40
-#define GIF_COLORMAP   0x80
-#define GIF_MAX_BITS   12
-
-typedef cups_ib_t      gif_cmap_t[256][4];
-typedef short          gif_table_t[4096];
-
-
-/*
- * Local globals...
- */
-
-static int     gif_eof = 0;            /* Did we hit EOF? */
-
-
-/*
- * Local functions...
- */
-
-static int     gif_get_block(FILE *fp, unsigned char *buffer);
-static int     gif_get_code (FILE *fp, int code_size, int first_time);
-static int     gif_read_cmap(FILE *fp, int ncolors, gif_cmap_t cmap,
-                             int *gray);
-static int     gif_read_image(FILE *fp, cups_image_t *img, gif_cmap_t cmap,
-                              int interlace);
-static int     gif_read_lzw(FILE *fp, int first_time, int input_code_size);
-
-
-/*
- * '_cupsImageReadGIF()' - Read a GIF image file.
- */
-
-int                                    /* O - Read status */
-_cupsImageReadGIF(
-    cups_image_t    *img,              /* IO - cupsImage */
-    FILE            *fp,               /* I - cupsImage file */
-    cups_icspace_t  primary,           /* I - Primary choice for colorspace */
-    cups_icspace_t  secondary,         /* I - Secondary choice for colorspace */
-    int             saturation,                /* I - Color saturation (%) */
-    int             hue,               /* I - Color hue (degrees) */
-    const cups_ib_t *lut)              /* I - Lookup table for gamma/brightness */
-{
-  unsigned char        buf[1024];              /* Input buffer */
-  gif_cmap_t   cmap;                   /* Colormap */
-  int          i,                      /* Looping var */
-               bpp,                    /* Bytes per pixel */
-               gray,                   /* Grayscale image? */
-               ncolors,                /* Bits per pixel */
-               transparent;            /* Transparent color index */
-
-
- /*
-  * GIF files are either grayscale or RGB - no CMYK...
-  */
-
-  if (primary == CUPS_IMAGE_RGB_CMYK)
-    primary = CUPS_IMAGE_RGB;
-
- /*
-  * Read the header; we already know it is a GIF file...
-  */
-
-  fread(buf, 13, 1, fp);
-
-  img->xsize = (buf[7] << 8) | buf[6];
-  img->ysize = (buf[9] << 8) | buf[8];
-  ncolors    = 2 << (buf[10] & 0x07);
-  gray       = primary == CUPS_IMAGE_BLACK || primary == CUPS_IMAGE_WHITE;
-
-  if (buf[10] & GIF_COLORMAP)
-    if (gif_read_cmap(fp, ncolors, cmap, &gray))
-    {
-      fclose(fp);
-      return (-1);
-    }
-
-  transparent = -1;
-
-  for (;;)
-  {
-    switch (getc(fp))
-    {
-      case ';' :       /* End of image */
-          fclose(fp);
-          return (-1);         /* Early end of file */
-
-      case '!' :       /* Extension record */
-          buf[0] = getc(fp);
-          if (buf[0] == 0xf9)  /* Graphic Control Extension */
-          {
-            gif_get_block(fp, buf);
-            if (buf[0] & 1)    /* Get transparent color index */
-              transparent = buf[3];
-          }
-
-          while (gif_get_block(fp, buf) != 0);
-          break;
-
-      case ',' :       /* cupsImage data */
-          fread(buf, 9, 1, fp);
-
-          if (buf[8] & GIF_COLORMAP)
-          {
-            ncolors = 2 << (buf[8] & 0x07);
-            gray = primary == CUPS_IMAGE_BLACK || primary == CUPS_IMAGE_WHITE;
-
-           if (gif_read_cmap(fp, ncolors, cmap, &gray))
-           {
-              fclose(fp);
-             return (-1);
-           }
-         }
-
-          if (transparent >= 0)
-          {
-           /*
-            * Make transparent color white...
-            */
-
-            cmap[transparent][0] = 255;
-            cmap[transparent][1] = 255;
-            cmap[transparent][2] = 255;
-          }
-
-         if (gray)
-         {
-           switch (secondary)
-           {
-              case CUPS_IMAGE_CMYK :
-                 for (i = ncolors - 1; i >= 0; i --)
-                   cupsImageWhiteToCMYK(cmap[i], cmap[i], 1);
-                 break;
-              case CUPS_IMAGE_CMY :
-                 for (i = ncolors - 1; i >= 0; i --)
-                   cupsImageWhiteToCMY(cmap[i], cmap[i], 1);
-                 break;
-              case CUPS_IMAGE_BLACK :
-                 for (i = ncolors - 1; i >= 0; i --)
-                   cupsImageWhiteToBlack(cmap[i], cmap[i], 1);
-                 break;
-              case CUPS_IMAGE_WHITE :
-                 break;
-              case CUPS_IMAGE_RGB :
-              case CUPS_IMAGE_RGB_CMYK :
-                 for (i = ncolors - 1; i >= 0; i --)
-                   cupsImageWhiteToRGB(cmap[i], cmap[i], 1);
-                 break;
-           }
-
-            img->colorspace = secondary;
-         }
-         else
-         {
-           if (hue != 0 || saturation != 100)
-              for (i = ncolors - 1; i >= 0; i --)
-               cupsImageRGBAdjust(cmap[i], 1, saturation, hue);
-
-           switch (primary)
-           {
-              case CUPS_IMAGE_CMYK :
-                 for (i = ncolors - 1; i >= 0; i --)
-                   cupsImageRGBToCMYK(cmap[i], cmap[i], 1);
-                 break;
-              case CUPS_IMAGE_CMY :
-                 for (i = ncolors - 1; i >= 0; i --)
-                   cupsImageRGBToCMY(cmap[i], cmap[i], 1);
-                 break;
-              case CUPS_IMAGE_BLACK :
-                 for (i = ncolors - 1; i >= 0; i --)
-                   cupsImageRGBToBlack(cmap[i], cmap[i], 1);
-                 break;
-              case CUPS_IMAGE_WHITE :
-                 for (i = ncolors - 1; i >= 0; i --)
-                   cupsImageRGBToWhite(cmap[i], cmap[i], 1);
-                 break;
-              case CUPS_IMAGE_RGB :
-              case CUPS_IMAGE_RGB_CMYK :
-                 for (i = ncolors - 1; i >= 0; i --)
-                   cupsImageRGBToRGB(cmap[i], cmap[i], 1);
-                 break;
-           }
-
-            img->colorspace = primary;
-         }
-
-          if (lut)
-         {
-           bpp = cupsImageGetDepth(img);
-
-            for (i = ncolors - 1; i >= 0; i --)
-              cupsImageLut(cmap[i], bpp, lut);
-         }
-
-          img->xsize = (buf[5] << 8) | buf[4];
-          img->ysize = (buf[7] << 8) | buf[6];
-
-         /*
-         * Check the dimensions of the image; since the dimensions are
-         * a 16-bit integer we just need to check for 0...
-         */
-
-          if (img->xsize == 0 || img->ysize == 0)
-         {
-           fprintf(stderr, "DEBUG: Bad GIF image dimensions: %dx%d\n",
-                   img->xsize, img->ysize);
-           fclose(fp);
-           return (1);
-         }
-
-         i = gif_read_image(fp, img, cmap, buf[8] & GIF_INTERLACE);
-          fclose(fp);
-          return (i);
-    }
-  }
-}
-
-
-/*
- * 'gif_get_block()' - Read a GIF data block...
- */
-
-static int                             /* O - Number characters read */
-gif_get_block(FILE          *fp,       /* I - File to read from */
-             unsigned char *buf)       /* I - Input buffer */
-{
-  int  count;                          /* Number of character to read */
-
-
- /*
-  * Read the count byte followed by the data from the file...
-  */
-
-  if ((count = getc(fp)) == EOF)
-  {
-    gif_eof = 1;
-    return (-1);
-  }
-  else if (count == 0)
-    gif_eof = 1;
-  else if (fread(buf, 1, count, fp) < count)
-  {
-    gif_eof = 1;
-    return (-1);
-  }
-  else
-    gif_eof = 0;
-
-  return (count);
-}
-
-
-/*
- * 'gif_get_code()' - Get a LZW code from the file...
- */
-
-static int                             /* O - LZW code */
-gif_get_code(FILE *fp,                 /* I - File to read from */
-            int  code_size,            /* I - Size of code in bits */
-            int  first_time)           /* I - 1 = first time, 0 = not first time */
-{
-  unsigned             i, j,           /* Looping vars */
-                       ret;            /* Return value */
-  int                  count;          /* Number of bytes read */
-  static unsigned char buf[280];       /* Input buffer */
-  static unsigned      curbit,         /* Current bit */
-                       lastbit,        /* Last bit in buffer */
-                       done,           /* Done with this buffer? */
-                       last_byte;      /* Last byte in buffer */
-  static const unsigned char bits[8] = /* Bit masks for codes */
-                       {
-                         0x01, 0x02, 0x04, 0x08,
-                         0x10, 0x20, 0x40, 0x80
-                       };
-
-
-  if (first_time)
-  {
-   /*
-    * Just initialize the input buffer...
-    */
-
-    curbit    = 0;
-    lastbit   = 0;
-    last_byte = 0;
-    done      = 0;
-
-    return (0);
-  }
-
-  if ((curbit + code_size) >= lastbit)
-  {
-   /*
-    * Don't have enough bits to hold the code...
-    */
-
-    if (done)
-      return (-1);     /* Sorry, no more... */
-
-   /*
-    * Move last two bytes to front of buffer...
-    */
-
-    if (last_byte > 1)
-    {
-      buf[0]    = buf[last_byte - 2];
-      buf[1]    = buf[last_byte - 1];
-      last_byte = 2;
-    }
-    else if (last_byte == 1)
-    {
-      buf[0]    = buf[last_byte - 1];
-      last_byte = 1;
-    }
-
-   /*
-    * Read in another buffer...
-    */
-
-    if ((count = gif_get_block(fp, buf + last_byte)) <= 0)
-    {
-     /*
-      * Whoops, no more data!
-      */
-
-      done = 1;
-      return (-1);
-    }
-
-   /*
-    * Update buffer state...
-    */
-
-    curbit    = (curbit - lastbit) + 8 * last_byte;
-    last_byte += count;
-    lastbit   = last_byte * 8;
-  }
-
-  for (ret = 0, i = curbit + code_size - 1, j = code_size;
-       j > 0;
-       i --, j --)
-    ret = (ret << 1) | ((buf[i / 8] & bits[i & 7]) != 0);
-
-  curbit += code_size;
-
-  return ret;
-}
-
-
-/*
- * 'gif_read_cmap()' - Read the colormap from a GIF file...
- */
-
-static int                             /* O - -1 on error, 0 on success */
-gif_read_cmap(FILE       *fp,          /* I - File to read from */
-             int        ncolors,       /* I - Number of colors in file */
-             gif_cmap_t cmap,          /* O - Colormap information */
-             int        *gray)         /* IO - Is the image grayscale? */
-{
-  int  i;                              /* Looping var */
-
-
- /*
-  * Read the colormap...
-  */
-
-  for (i = 0; i < ncolors; i ++)
-    if (fread(cmap[i], 3, 1, fp) < 1)
-      return (-1);
-
- /*
-  * Check to see if the colormap is a grayscale ramp...
-  */
-
-  for (i = 0; i < ncolors; i ++)
-    if (cmap[i][0] != cmap[i][1] || cmap[i][1] != cmap[i][2])
-      break;
-
-  if (i == ncolors)
-  {
-    *gray = 1;
-    return (0);
-  }
-
- /*
-  * If this needs to be a grayscale image, convert the RGB values to
-  * luminance values...
-  */
-
-  if (*gray)
-    for (i = 0; i < ncolors; i ++)
-      cmap[i][0] = (cmap[i][0] * 31 + cmap[i][1] * 61 + cmap[i][2] * 8) / 100;
-
-  return (0);
-}
-
-
-/*
- * 'gif_read_image()' - Read a GIF image stream...
- */
-
-static int                             /* I - 0 = success, -1 = failure */
-gif_read_image(FILE         *fp,       /* I - Input file */
-              cups_image_t *img,       /* I - cupsImage pointer */
-              gif_cmap_t   cmap,       /* I - Colormap */
-              int          interlace)  /* I - Non-zero = interlaced image */
-{
-  unsigned char                code_size;      /* Code size */
-  cups_ib_t            *pixels,        /* Pixel buffer */
-                       *temp;          /* Current pixel */
-  int                  xpos,           /* Current X position */
-                       ypos,           /* Current Y position */
-                       pass;           /* Current pass */
-  int                  pixel;          /* Current pixel */
-  int                  bpp;            /* Bytes per pixel */
-  static const int     xpasses[4] =    /* X interleaving */
-                       { 8, 8, 4, 2 },
-                       ypasses[5] =    /* Y interleaving */
-                       { 0, 4, 2, 1, 999999 };
-
-
-  bpp       = cupsImageGetDepth(img);
-  pixels    = calloc(bpp, img->xsize);
-  xpos      = 0;
-  ypos      = 0;
-  pass      = 0;
-  code_size = getc(fp);
-
-  if (!pixels)
-    return (-1);
-
-  if (code_size > GIF_MAX_BITS || gif_read_lzw(fp, 1, code_size) < 0)
-  {
-    free(pixels);
-    return (-1);
-  }
-
-  temp = pixels;
-  while ((pixel = gif_read_lzw(fp, 0, code_size)) >= 0)
-  {
-    switch (bpp)
-    {
-      case 4 :
-          temp[3] = cmap[pixel][3];
-      case 3 :
-          temp[2] = cmap[pixel][2];
-      case 2 :
-          temp[1] = cmap[pixel][1];
-      default :
-          temp[0] = cmap[pixel][0];
-    }
-
-    xpos ++;
-    temp += bpp;
-    if (xpos == img->xsize)
-    {
-      _cupsImagePutRow(img, 0, ypos, img->xsize, pixels);
-
-      xpos = 0;
-      temp = pixels;
-
-      if (interlace)
-      {
-        ypos += xpasses[pass];
-
-        if (ypos >= img->ysize)
-       {
-         pass ++;
-
-          ypos = ypasses[pass];
-       }
-      }
-      else
-       ypos ++;
-    }
-
-    if (ypos >= img->ysize)
-      break;
-  }
-
-  free(pixels);
-
-  return (0);
-}
-
-
-/*
- * 'gif_read_lzw()' - Read a byte from the LZW stream...
- */
-
-static int                             /* I - Byte from stream */
-gif_read_lzw(FILE *fp,                 /* I - File to read from */
-            int  first_time,           /* I - 1 = first time, 0 = not first time */
-            int  input_code_size)      /* I - Code size in bits */
-{
-  int                  i,              /* Looping var */
-                       code,           /* Current code */
-                       incode;         /* Input code */
-  static short         fresh = 0,      /* 1 = empty buffers */
-                       code_size,      /* Current code size */
-                       set_code_size,  /* Initial code size set */
-                       max_code,       /* Maximum code used */
-                       max_code_size,  /* Maximum code size */
-                       firstcode,      /* First code read */
-                       oldcode,        /* Last code read */
-                       clear_code,     /* Clear code for LZW input */
-                       end_code,       /* End code for LZW input */
-                       *stack = NULL,  /* Output stack */
-                       *sp;            /* Current stack pointer */
-  static gif_table_t   *table = NULL;  /* String table */
-
-
-  if (first_time)
-  {
-   /*
-    * Setup LZW state...
-    */
-
-    set_code_size = input_code_size;
-    code_size     = set_code_size + 1;
-    clear_code    = 1 << set_code_size;
-    end_code      = clear_code + 1;
-    max_code_size = 2 * clear_code;
-    max_code      = clear_code + 2;
-
-   /*
-    * Allocate memory for buffers...
-    */
-
-    if (table == NULL)
-      table = calloc(2, sizeof(gif_table_t));
-
-    if (table == NULL)
-      return (-1);
-
-    if (stack == NULL)
-      stack = calloc(8192, sizeof(short));
-
-    if (stack == NULL)
-      return (-1);
-
-   /*
-    * Initialize input buffers...
-    */
-
-    gif_get_code(fp, 0, 1);
-
-   /*
-    * Wipe the decompressor table (already mostly 0 due to the calloc above...)
-    */
-
-    fresh = 1;
-
-    for (i = 1; i < clear_code; i ++)
-      table[1][i] = i;
-
-    sp = stack;
-
-    return (0);
-  }
-  else if (fresh)
-  {
-    fresh = 0;
-
-    do
-    {
-      firstcode = oldcode = gif_get_code(fp, code_size, 0);
-    }
-    while (firstcode == clear_code);
-
-    return (firstcode & 255);
-  }
-  else if (!table)
-    return (0);
-
-  if (sp > stack)
-    return ((*--sp) & 255);
-
-  while ((code = gif_get_code(fp, code_size, 0)) >= 0)
-  {
-    if (code == clear_code)
-    {
-     /*
-      * Clear/reset the compression table...
-      */
-
-      memset(table, 0, 2 * sizeof(gif_table_t));
-      for (i = 1; i < clear_code; i ++)
-       table[1][i] = i;
-
-      code_size     = set_code_size + 1;
-      max_code_size = 2 * clear_code;
-      max_code      = clear_code + 2;
-
-      sp = stack;
-
-      firstcode = oldcode = gif_get_code(fp, code_size, 0);
-
-      return (firstcode & 255);
-    }
-    else if (code == end_code || code > max_code)
-    {
-      unsigned char    buf[260];       /* Block buffer */
-
-      if (!gif_eof)
-        while (gif_get_block(fp, buf) > 0);
-
-      return (-2);
-    }
-
-    incode = code;
-
-    if (code == max_code)
-    {
-      if (sp < (stack + 8192))
-       *sp++ = firstcode;
-
-      code = oldcode;
-    }
-
-    while (code >= clear_code && sp < (stack + 8192))
-    {
-      *sp++ = table[1][code];
-      if (code == table[0][code])
-       return (255);
-
-      code = table[0][code];
-    }
-
-    if (sp < (stack + 8192))
-      *sp++ = firstcode = table[1][code];
-
-    code = max_code;
-
-    if (code < 4096)
-    {
-      table[0][code] = oldcode;
-      table[1][code] = firstcode;
-      max_code ++;
-
-      if (max_code >= max_code_size && max_code_size < 4096)
-      {
-       max_code_size *= 2;
-       code_size ++;
-      }
-    }
-
-    oldcode = incode;
-
-    if (sp > stack)
-      return ((*--sp) & 255);
-  }
-
-  return (code & 255);
-}
-
-
-/*
- * End of "$Id: image-gif.c 9865 2011-08-06 04:38:04Z mike $".
- */
diff --git a/filter/image-jpeg.c b/filter/image-jpeg.c
deleted file mode 100644 (file)
index b892a0e..0000000
+++ /dev/null
@@ -1,322 +0,0 @@
-/*
- * "$Id: image-jpeg.c 9771 2011-05-12 05:21:56Z mike $"
- *
- *   JPEG image routines for CUPS.
- *
- *   Copyright 2007-2011 by Apple Inc.
- *   Copyright 1993-2007 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- *   This file is subject to the Apple OS-Developed Software exception.
- *
- * Contents:
- *
- *   _cupsImageReadJPEG() - Read a JPEG image file.
- */
-
-/*
- * Include necessary headers...
- */
-
-#include "image-private.h"
-
-#ifdef HAVE_LIBJPEG
-#  include <jpeglib.h> /* JPEG/JFIF image definitions */
-
-
-/*
- * '_cupsImageReadJPEG()' - Read a JPEG image file.
- */
-
-int                                    /* O  - Read status */
-_cupsImageReadJPEG(
-    cups_image_t    *img,              /* IO - cupsImage */
-    FILE            *fp,               /* I  - cupsImage file */
-    cups_icspace_t  primary,           /* I  - Primary choice for colorspace */
-    cups_icspace_t  secondary,         /* I  - Secondary choice for colorspace */
-    int             saturation,                /* I  - Color saturation (%) */
-    int             hue,               /* I  - Color hue (degrees) */
-    const cups_ib_t *lut)              /* I  - Lookup table for gamma/brightness */
-{
-  struct jpeg_decompress_struct        cinfo;  /* Decompressor info */
-  struct jpeg_error_mgr        jerr;           /* Error handler info */
-  cups_ib_t            *in,            /* Input pixels */
-                       *out;           /* Output pixels */
-  jpeg_saved_marker_ptr        marker;         /* Pointer to marker data */
-  int                  psjpeg = 0;     /* Non-zero if Photoshop CMYK JPEG */
-  static const char    *cspaces[] =
-                       {               /* JPEG colorspaces... */
-                         "JCS_UNKNOWN",
-                         "JCS_GRAYSCALE",
-                         "JCS_RGB",
-                         "JCS_YCbCr",
-                         "JCS_CMYK",
-                         "JCS_YCCK"
-                       };
-
-
- /*
-  * Read the JPEG header...
-  */
-
-  cinfo.err = jpeg_std_error(&jerr);
-  jpeg_create_decompress(&cinfo);
-  jpeg_save_markers(&cinfo, JPEG_APP0 + 14, 0xffff); /* Adobe JPEG */
-  jpeg_stdio_src(&cinfo, fp);
-  jpeg_read_header(&cinfo, 1);
-
- /*
-  * Parse any Adobe APPE data embedded in the JPEG file.  Since Adobe doesn't
-  * bother following standards, we have to invert the CMYK JPEG data written by
-  * Adobe apps...
-  */
-
-  for (marker = cinfo.marker_list; marker; marker = marker->next)
-    if (marker->marker == (JPEG_APP0 + 14) && marker->data_length >= 12 &&
-        !memcmp(marker->data, "Adobe", 5) && marker->data[11] == 2)
-    {
-      fputs("DEBUG: Adobe CMYK JPEG detected (inverting color values)\n",
-           stderr);
-      psjpeg = 1;
-    }
-
-  cinfo.quantize_colors = 0;
-
-  fprintf(stderr, "DEBUG: num_components = %d\n", cinfo.num_components);
-  fprintf(stderr, "DEBUG: jpeg_color_space = %s\n",
-          cspaces[cinfo.jpeg_color_space]);
-
-  if (cinfo.num_components == 1)
-  {
-    fputs("DEBUG: Converting image to grayscale...\n", stderr);
-
-    cinfo.out_color_space      = JCS_GRAYSCALE;
-    cinfo.out_color_components = 1;
-    cinfo.output_components    = 1;
-
-    img->colorspace = secondary;
-  }
-  else if (cinfo.num_components == 4)
-  {
-    fputs("DEBUG: Converting image to CMYK...\n", stderr);
-
-    cinfo.out_color_space      = JCS_CMYK;
-    cinfo.out_color_components = 4;
-    cinfo.output_components    = 4;
-
-    img->colorspace = (primary == CUPS_IMAGE_RGB_CMYK) ? CUPS_IMAGE_CMYK : primary;
-  }
-  else
-  {
-    fputs("DEBUG: Converting image to RGB...\n", stderr);
-
-    cinfo.out_color_space      = JCS_RGB;
-    cinfo.out_color_components = 3;
-    cinfo.output_components    = 3;
-
-    img->colorspace = (primary == CUPS_IMAGE_RGB_CMYK) ? CUPS_IMAGE_RGB : primary;
-  }
-
-  jpeg_calc_output_dimensions(&cinfo);
-
-  if (cinfo.output_width <= 0 || cinfo.output_width > CUPS_IMAGE_MAX_WIDTH ||
-      cinfo.output_height <= 0 || cinfo.output_height > CUPS_IMAGE_MAX_HEIGHT)
-  {
-    fprintf(stderr, "DEBUG: Bad JPEG dimensions %dx%d!\n",
-            cinfo.output_width, cinfo.output_height);
-
-    jpeg_destroy_decompress(&cinfo);
-
-    fclose(fp);
-    return (1);
-  }
-
-  img->xsize      = cinfo.output_width;
-  img->ysize      = cinfo.output_height;
-
-  if (cinfo.X_density > 0 && cinfo.Y_density > 0 && cinfo.density_unit > 0)
-  {
-    if (cinfo.density_unit == 1)
-    {
-      img->xppi = cinfo.X_density;
-      img->yppi = cinfo.Y_density;
-    }
-    else
-    {
-      img->xppi = (int)((float)cinfo.X_density * 2.54);
-      img->yppi = (int)((float)cinfo.Y_density * 2.54);
-    }
-
-    if (img->xppi == 0 || img->yppi == 0)
-    {
-      fprintf(stderr, "DEBUG: Bad JPEG image resolution %dx%d PPI.\n",
-              img->xppi, img->yppi);
-      img->xppi = img->yppi = 128;
-    }
-  }
-
-  fprintf(stderr, "DEBUG: JPEG image %dx%dx%d, %dx%d PPI\n",
-          img->xsize, img->ysize, cinfo.output_components,
-         img->xppi, img->yppi);
-
-  cupsImageSetMaxTiles(img, 0);
-
-  in  = malloc(img->xsize * cinfo.output_components);
-  out = malloc(img->xsize * cupsImageGetDepth(img));
-
-  jpeg_start_decompress(&cinfo);
-
-  while (cinfo.output_scanline < cinfo.output_height)
-  {
-    jpeg_read_scanlines(&cinfo, (JSAMPROW *)&in, (JDIMENSION)1);
-
-    if (psjpeg && cinfo.output_components == 4)
-    {
-     /*
-      * Invert CMYK data from Photoshop...
-      */
-
-      cups_ib_t        *ptr;   /* Pointer into buffer */
-      int      i;      /* Looping var */
-
-
-      for (ptr = in, i = img->xsize * 4; i > 0; i --, ptr ++)
-        *ptr = 255 - *ptr;
-    }
-
-    if ((saturation != 100 || hue != 0) && cinfo.output_components == 3)
-      cupsImageRGBAdjust(in, img->xsize, saturation, hue);
-
-    if ((img->colorspace == CUPS_IMAGE_WHITE && cinfo.out_color_space == JCS_GRAYSCALE) ||
-       (img->colorspace == CUPS_IMAGE_CMYK && cinfo.out_color_space == JCS_CMYK))
-    {
-#ifdef DEBUG
-      int      i, j;
-      cups_ib_t        *ptr;
-
-
-      fputs("DEBUG: Direct Data...\n", stderr);
-
-      fputs("DEBUG:", stderr);
-
-      for (i = 0, ptr = in; i < img->xsize; i ++)
-      {
-        putc(' ', stderr);
-       for (j = 0; j < cinfo.output_components; j ++, ptr ++)
-         fprintf(stderr, "%02X", *ptr & 255);
-      }
-
-      putc('\n', stderr);
-#endif /* DEBUG */
-
-      if (lut)
-        cupsImageLut(in, img->xsize * cupsImageGetDepth(img), lut);
-
-      _cupsImagePutRow(img, 0, cinfo.output_scanline - 1, img->xsize, in);
-    }
-    else if (cinfo.out_color_space == JCS_GRAYSCALE)
-    {
-      switch (img->colorspace)
-      {
-        default :
-           break;
-
-        case CUPS_IMAGE_BLACK :
-            cupsImageWhiteToBlack(in, out, img->xsize);
-            break;
-        case CUPS_IMAGE_RGB :
-            cupsImageWhiteToRGB(in, out, img->xsize);
-            break;
-        case CUPS_IMAGE_CMY :
-            cupsImageWhiteToCMY(in, out, img->xsize);
-            break;
-        case CUPS_IMAGE_CMYK :
-            cupsImageWhiteToCMYK(in, out, img->xsize);
-            break;
-      }
-
-      if (lut)
-        cupsImageLut(out, img->xsize * cupsImageGetDepth(img), lut);
-
-      _cupsImagePutRow(img, 0, cinfo.output_scanline - 1, img->xsize, out);
-    }
-    else if (cinfo.out_color_space == JCS_RGB)
-    {
-      switch (img->colorspace)
-      {
-        default :
-           break;
-
-        case CUPS_IMAGE_RGB :
-            cupsImageRGBToRGB(in, out, img->xsize);
-           break;
-        case CUPS_IMAGE_WHITE :
-            cupsImageRGBToWhite(in, out, img->xsize);
-            break;
-        case CUPS_IMAGE_BLACK :
-            cupsImageRGBToBlack(in, out, img->xsize);
-            break;
-        case CUPS_IMAGE_CMY :
-            cupsImageRGBToCMY(in, out, img->xsize);
-            break;
-        case CUPS_IMAGE_CMYK :
-            cupsImageRGBToCMYK(in, out, img->xsize);
-            break;
-      }
-
-      if (lut)
-        cupsImageLut(out, img->xsize * cupsImageGetDepth(img), lut);
-
-      _cupsImagePutRow(img, 0, cinfo.output_scanline - 1, img->xsize, out);
-    }
-    else /* JCS_CMYK */
-    {
-      fputs("DEBUG: JCS_CMYK\n", stderr);
-
-      switch (img->colorspace)
-      {
-        default :
-           break;
-
-        case CUPS_IMAGE_WHITE :
-            cupsImageCMYKToWhite(in, out, img->xsize);
-            break;
-        case CUPS_IMAGE_BLACK :
-            cupsImageCMYKToBlack(in, out, img->xsize);
-            break;
-        case CUPS_IMAGE_CMY :
-            cupsImageCMYKToCMY(in, out, img->xsize);
-            break;
-        case CUPS_IMAGE_RGB :
-            cupsImageCMYKToRGB(in, out, img->xsize);
-            break;
-      }
-
-      if (lut)
-        cupsImageLut(out, img->xsize * cupsImageGetDepth(img), lut);
-
-      _cupsImagePutRow(img, 0, cinfo.output_scanline - 1, img->xsize, out);
-    }
-  }
-
-  free(in);
-  free(out);
-
-  jpeg_finish_decompress(&cinfo);
-  jpeg_destroy_decompress(&cinfo);
-
-  fclose(fp);
-
-  return (0);
-}
-#endif /* HAVE_LIBJPEG */
-
-
-/*
- * End of "$Id: image-jpeg.c 9771 2011-05-12 05:21:56Z mike $".
- */
diff --git a/filter/image-photocd.c b/filter/image-photocd.c
deleted file mode 100644 (file)
index 625b0a2..0000000
+++ /dev/null
@@ -1,333 +0,0 @@
-/*
- * "$Id: image-photocd.c 9771 2011-05-12 05:21:56Z mike $"
- *
- *   PhotoCD routines for CUPS.
- *
- *   PhotoCD support is currently limited to the 768x512 base image, which
- *   is only YCC encoded.  Support for the higher resolution images will
- *   require a lot of extra code...
- *
- *   Copyright 2007-2011 by Apple Inc.
- *   Copyright 1993-2006 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- *   This file is subject to the Apple OS-Developed Software exception.
- *
- * Contents:
- *
- *   _cupsImageReadPhotoCD() - Read a PhotoCD image file.
- */
-
-/*
- * Include necessary headers...
- */
-
-#include "image-private.h"
-
-
-/*
- * '_cupsImageReadPhotoCD()' - Read a PhotoCD image file.
- */
-
-int                                    /* O - Read status */
-_cupsImageReadPhotoCD(
-    cups_image_t    *img,              /* IO - cupsImage */
-    FILE            *fp,               /* I - cupsImage file */
-    cups_icspace_t  primary,           /* I - Primary choice for colorspace */
-    cups_icspace_t  secondary,         /* I - Secondary choice for colorspace */
-    int             saturation,                /* I - Color saturation (%) */
-    int             hue,               /* I - Color hue (degrees) */
-    const cups_ib_t *lut)              /* I - Lookup table for gamma/brightness */
-{
-  int          x, y;                   /* Looping vars */
-  int          xdir,                   /* X direction */
-               xstart;                 /* X starting point */
-  int          bpp;                    /* Bytes per pixel */
-  int          pass;                   /* Pass number */
-  int          rotation;               /* 0 for 768x512, 1 for 512x768 */
-  int          temp,                   /* Adjusted luminance */
-               temp2,                  /* Red, green, and blue values */
-               cb, cr;                 /* Adjusted chroma values */
-  cups_ib_t    *in,                    /* Input (YCC) pixels */
-               *iy,                    /* Luminance */
-               *icb,                   /* Blue chroma */
-               *icr,                   /* Red chroma */
-               *rgb,                   /* RGB */
-               *rgbptr,                /* Pointer into RGB data */
-               *out;                   /* Output pixels */
-
-
-  (void)secondary;
-
- /*
-  * Get the image orientation...
-  */
-
-  fseek(fp, 72, SEEK_SET);
-  rotation = (getc(fp) & 63) != 8;
-
- /*
-  * Seek to the start of the base image...
-  */
-
-  fseek(fp, 0x30000, SEEK_SET);
-
- /*
-  * Allocate and initialize...
-  */
-
-  img->colorspace = (primary == CUPS_IMAGE_RGB_CMYK) ? CUPS_IMAGE_RGB : primary;
-  img->xppi       = 128;
-  img->yppi       = 128;
-
-  if (rotation)
-  {
-    img->xsize = 512;
-    img->ysize = 768;
-  }
-  else
-  {
-    img->xsize = 768;
-    img->ysize = 512;
-  }
-
-  cupsImageSetMaxTiles(img, 0);
-
-  bpp = cupsImageGetDepth(img);
-
-  if ((in = malloc(768 * 3)) == NULL)
-  {
-    fputs("DEBUG: Unable to allocate memory!\n", stderr);
-    fclose(fp);
-    return (1);
-  }
-
-  if ((out = malloc(768 * bpp)) == NULL)
-  {
-    fputs("DEBUG: Unable to allocate memory!\n", stderr);
-    fclose(fp);
-    free(in);
-    return (1);
-  }
-
-  if (bpp > 1)
-  {
-    if ((rgb = malloc(768 * 3)) == NULL)
-    {
-      fputs("DEBUG: Unable to allocate memory!\n", stderr);
-      fclose(fp);
-      free(in);
-      free(out);
-      return (1);
-    }
-  }
-  else
-    rgb = NULL;
-
-  if (rotation)
-  {
-    xstart = 767 * bpp;
-    xdir   = -2 * bpp;
-  }
-  else
-  {
-    xstart = 0;
-    xdir   = 0;
-  }
-
- /*
-  * Read the image file...
-  */
-
-  for (y = 0; y < 512; y += 2)
-  {
-   /*
-    * Grab the next two scanlines:
-    *
-    *     YYYYYYYYYYYYYYY...
-    *     YYYYYYYYYYYYYYY...
-    *     CbCbCb...CrCrCr...
-    */
-
-    if (fread(in, 1, 768 * 3, fp) < (768 * 3))
-    {
-     /*
-      * Couldn't read a row of data - return an error!
-      */
-
-      free(in);
-      free(out);
-
-      if (bpp > 1)
-        free(rgb);
-
-      return (-1);
-    }
-
-   /*
-    * Process the two scanlines...
-    */
-
-    for (pass = 0, iy = in; pass < 2; pass ++)
-    {
-      if (bpp == 1)
-      {
-       /*
-       * Just extract the luminance channel from the line and put it
-       * in the image...
-       */
-
-        if (primary == CUPS_IMAGE_BLACK)
-       {
-         if (rotation)
-         {
-           for (rgbptr = out + xstart, x = 0; x < 768; x ++)
-             *rgbptr-- = 255 - *iy++;
-
-           if (lut)
-             cupsImageLut(out, 768, lut);
-
-            _cupsImagePutCol(img, 511 - y - pass, 0, 768, out);
-         }
-         else
-         {
-            cupsImageWhiteToBlack(iy, out, 768);
-
-           if (lut)
-             cupsImageLut(out, 768, lut);
-
-            _cupsImagePutRow(img, 0, y + pass, 768, out);
-            iy += 768;
-         }
-       }
-       else if (rotation)
-       {
-         for (rgbptr = out + xstart, x = 0; x < 768; x ++)
-           *rgbptr-- = 255 - *iy++;
-
-         if (lut)
-           cupsImageLut(out, 768, lut);
-
-          _cupsImagePutCol(img, 511 - y - pass, 0, 768, out);
-       }
-       else
-       {
-         if (lut)
-           cupsImageLut(iy, 768, lut);
-
-          _cupsImagePutRow(img, 0, y + pass, 768, iy);
-          iy += 768;
-       }
-      }
-      else
-      {
-       /*
-        * Convert YCbCr to RGB...  While every pixel gets a luminance
-       * value, adjacent pixels share chroma information.
-       */
-
-        cb = cr = 0.0f;
-
-        for (x = 0, rgbptr = rgb + xstart, icb = in + 1536, icr = in + 1920;
-            x < 768;
-            x ++, iy ++, rgbptr += xdir)
-       {
-         if (!(x & 1))
-         {
-           cb = (float)(*icb - 156);
-           cr = (float)(*icr - 137);
-         }
-
-          temp = 92241 * (*iy);
-
-         temp2 = (temp + 86706 * cr) / 65536;
-         if (temp2 < 0)
-           *rgbptr++ = 0;
-         else if (temp2 > 255)
-           *rgbptr++ = 255;
-         else
-           *rgbptr++ = temp2;
-
-          temp2 = (temp - 25914 * cb - 44166 * cr) / 65536;
-         if (temp2 < 0)
-           *rgbptr++ = 0;
-         else if (temp2 > 255)
-           *rgbptr++ = 255;
-         else
-           *rgbptr++ = temp2;
-
-          temp2 = (temp + 133434 * cb) / 65536;
-         if (temp2 < 0)
-           *rgbptr++ = 0;
-         else if (temp2 > 255)
-           *rgbptr++ = 255;
-         else
-           *rgbptr++ = temp2;
-
-         if (x & 1)
-         {
-           icb ++;
-           icr ++;
-         }
-       }
-
-       /*
-        * Adjust the hue and saturation if needed...
-       */
-
-       if (saturation != 100 || hue != 0)
-         cupsImageRGBAdjust(rgb, 768, saturation, hue);
-
-       /*
-        * Then convert the RGB data to the appropriate colorspace and
-       * put it in the image...
-       */
-
-       switch (img->colorspace)
-       {
-         default :
-             break;
-
-         case CUPS_IMAGE_RGB :
-             cupsImageRGBToRGB(rgb, out, 768);
-             break;
-         case CUPS_IMAGE_CMY :
-             cupsImageRGBToCMY(rgb, out, 768);
-             break;
-         case CUPS_IMAGE_CMYK :
-             cupsImageRGBToCMYK(rgb, out, 768);
-             break;
-       }
-
-       if (lut)
-         cupsImageLut(out, 768 * bpp, lut);
-
-       if (rotation)
-          _cupsImagePutCol(img, 511 - y - pass, 0, 768, out);
-       else
-          _cupsImagePutRow(img, 0, y + pass, 768, out);
-      }
-    }
-  }
-
- /*
-  * Free memory and return...
-  */
-
-  free(in);
-  free(out);
-  if (bpp > 1)
-    free(rgb);
-
-  return (0);
-}
-
-
-/*
- * End of "$Id: image-photocd.c 9771 2011-05-12 05:21:56Z mike $".
- */
diff --git a/filter/image-pix.c b/filter/image-pix.c
deleted file mode 100644 (file)
index e7b75b0..0000000
+++ /dev/null
@@ -1,240 +0,0 @@
-/*
- * "$Id: image-pix.c 9771 2011-05-12 05:21:56Z mike $"
- *
- *   Alias PIX image routines for CUPS.
- *
- *   Copyright 2007-2011 by Apple Inc.
- *   Copyright 1993-2007 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- *   This file is subject to the Apple OS-Developed Software exception.
- *
- * Contents:
- *
- *   _cupsImageReadPIX() - Read a PIX image file.
- *   read_short()        - Read a 16-bit integer.
- */
-
-/*
- * Include necessary headers...
- */
-
-#include "image-private.h"
-
-
-/*
- * Local functions...
- */
-
-static short   read_short(FILE *fp);
-
-
-/*
- * '_cupsImageReadPIX()' - Read a PIX image file.
- */
-
-int                                    /* O - Read status */
-_cupsImageReadPIX(
-    cups_image_t    *img,              /* IO - cupsImage */
-    FILE            *fp,               /* I - cupsImage file */
-    cups_icspace_t  primary,           /* I - Primary choice for colorspace */
-    cups_icspace_t  secondary,         /* I - Secondary choice for colorspace */
-    int             saturation,                /* I - Color saturation (%) */
-    int             hue,               /* I - Color hue (degrees) */
-    const cups_ib_t *lut)              /* I - Lookup table for gamma/brightness */
-{
-  short                width,                  /* Width of image */
-               height,                 /* Height of image */
-               depth;                  /* Depth of image (bits) */
-  int          count,                  /* Repetition count */
-               bpp,                    /* Bytes per pixel */
-               x, y;                   /* Looping vars */
-  cups_ib_t    r, g, b;                /* Red, green/gray, blue values */
-  cups_ib_t    *in,                    /* Input pixels */
-               *out,                   /* Output pixels */
-               *ptr;                   /* Pointer into pixels */
-
-
- /*
-  * Get the image dimensions and setup the image...
-  */
-
-  width  = read_short(fp);
-  height = read_short(fp);
-  read_short(fp);
-  read_short(fp);
-  depth  = read_short(fp);
-
- /*
-  * Check the dimensions of the image.  Since the short values used for the
-  * width and height cannot exceed CUPS_IMAGE_MAX_WIDTH or
-  * CUPS_IMAGE_MAX_HEIGHT, we just need to verify they are positive integers.
-  */
-
-  if (width <= 0 || height <= 0 ||
-      (depth != 8 && depth != 24))
-  {
-    fprintf(stderr, "DEBUG: Bad PIX image dimensions %dx%dx%d\n",
-            width, height, depth);
-    fclose(fp);
-    return (1);
-  }
-
-  if (depth == 8)
-    img->colorspace = secondary;
-  else
-    img->colorspace = (primary == CUPS_IMAGE_RGB_CMYK) ? CUPS_IMAGE_RGB : primary;
-
-  img->xsize = width;
-  img->ysize = height;
-
-  cupsImageSetMaxTiles(img, 0);
-
-  bpp = cupsImageGetDepth(img);
-
-  if ((in = malloc(img->xsize * (depth / 8))) == NULL)
-  {
-    fputs("DEBUG: Unable to allocate memory!\n", stderr);
-    fclose(fp);
-    return (1);
-  }
-
-  if ((out = malloc(img->xsize * bpp)) == NULL)
-  {
-    fputs("DEBUG: Unable to allocate memory!\n", stderr);
-    fclose(fp);
-    free(in);
-    return (1);
-  }
-
- /*
-  * Read the image data...
-  */
-
-  if (depth == 8)
-  {
-    for (count = 0, y = 0, g = 0; y < img->ysize; y ++)
-    {
-      if (img->colorspace == CUPS_IMAGE_WHITE)
-        ptr = out;
-      else
-        ptr = in;
-
-      for (x = img->xsize; x > 0; x --, count --)
-      {
-        if (count == 0)
-       {
-          count = getc(fp);
-         g     = getc(fp);
-       }
-
-        *ptr++ = g;
-      }
-
-      if (img->colorspace != CUPS_IMAGE_WHITE)
-       switch (img->colorspace)
-       {
-         default :
-             cupsImageWhiteToRGB(in, out, img->xsize);
-             break;
-         case CUPS_IMAGE_BLACK :
-             cupsImageWhiteToBlack(in, out, img->xsize);
-             break;
-         case CUPS_IMAGE_CMY :
-             cupsImageWhiteToCMY(in, out, img->xsize);
-             break;
-         case CUPS_IMAGE_CMYK :
-             cupsImageWhiteToCMYK(in, out, img->xsize);
-             break;
-       }
-
-      if (lut)
-       cupsImageLut(out, img->xsize * bpp, lut);
-
-      _cupsImagePutRow(img, 0, y, img->xsize, out);
-    }
-  }
-  else
-  {
-    for (count = 0, y = 0, r = 0, g = 0, b = 0; y < img->ysize; y ++)
-    {
-      ptr = in;
-
-      for (x = img->xsize; x > 0; x --, count --)
-      {
-        if (count == 0)
-       {
-          count = getc(fp);
-         b     = getc(fp);
-         g     = getc(fp);
-         r     = getc(fp);
-       }
-
-        *ptr++ = r;
-        *ptr++ = g;
-        *ptr++ = b;
-      }
-
-      if (saturation != 100 || hue != 0)
-       cupsImageRGBAdjust(in, img->xsize, saturation, hue);
-
-      switch (img->colorspace)
-      {
-       default :
-           break;
-
-       case CUPS_IMAGE_WHITE :
-           cupsImageRGBToWhite(in, out, img->xsize);
-           break;
-       case CUPS_IMAGE_RGB :
-           cupsImageRGBToWhite(in, out, img->xsize);
-           break;
-       case CUPS_IMAGE_BLACK :
-           cupsImageRGBToBlack(in, out, img->xsize);
-           break;
-       case CUPS_IMAGE_CMY :
-           cupsImageRGBToCMY(in, out, img->xsize);
-           break;
-       case CUPS_IMAGE_CMYK :
-           cupsImageRGBToCMYK(in, out, img->xsize);
-           break;
-      }
-
-      if (lut)
-       cupsImageLut(out, img->xsize * bpp, lut);
-
-      _cupsImagePutRow(img, 0, y, img->xsize, out);
-    }
-  }
-
-  fclose(fp);
-  free(in);
-  free(out);
-
-  return (0);
-}
-
-
-/*
- * 'read_short()' - Read a 16-bit integer.
- */
-
-static short                           /* O - Value from file */
-read_short(FILE *fp)                   /* I - File to read from */
-{
-  int  ch;                             /* Character from file */
-
-
-  ch = getc(fp);
-  return ((ch << 8) | getc(fp));
-}
-
-
-/*
- * End of "$Id: image-pix.c 9771 2011-05-12 05:21:56Z mike $".
- */
diff --git a/filter/image-png.c b/filter/image-png.c
deleted file mode 100644 (file)
index e8208b4..0000000
+++ /dev/null
@@ -1,315 +0,0 @@
-/*
- * "$Id: image-png.c 9771 2011-05-12 05:21:56Z mike $"
- *
- *   PNG image routines for CUPS.
- *
- *   Copyright 2007-2011 by Apple Inc.
- *   Copyright 1993-2007 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- *   This file is subject to the Apple OS-Developed Software exception.
- *
- * Contents:
- *
- *   _cupsImageReadPNG() - Read a PNG image file.
- */
-
-/*
- * Include necessary headers...
- */
-
-#include "image-private.h"
-
-#if defined(HAVE_LIBPNG) && defined(HAVE_LIBZ)
-#  include <png.h>     /* Portable Network Graphics (PNG) definitions */
-
-
-/*
- * '_cupsImageReadPNG()' - Read a PNG image file.
- */
-
-int                                    /* O - Read status */
-_cupsImageReadPNG(
-    cups_image_t    *img,              /* IO - cupsImage */
-    FILE            *fp,               /* I - cupsImage file */
-    cups_icspace_t  primary,           /* I - Primary choice for colorspace */
-    cups_icspace_t  secondary,         /* I - Secondary choice for colorspace */
-    int             saturation,                /* I - Color saturation (%) */
-    int             hue,               /* I - Color hue (degrees) */
-    const cups_ib_t *lut)              /* I - Lookup table for gamma/brightness */
-{
-  int          y;                      /* Looping var */
-  png_structp  pp;                     /* PNG read pointer */
-  png_infop    info;                   /* PNG info pointers */
-  png_uint_32  width,                  /* Width of image */
-               height;                 /* Height of image */
-  int          bit_depth,              /* Bit depth */
-               color_type,             /* Color type */
-               interlace_type,         /* Interlace type */
-               compression_type,       /* Compression type */
-               filter_type;            /* Filter type */
-  png_uint_32  xppm,                   /* X pixels per meter */
-               yppm;                   /* Y pixels per meter */
-  int          bpp;                    /* Bytes per pixel */
-  int          pass,                   /* Current pass */
-               passes;                 /* Number of passes required */
-  cups_ib_t    *in,                    /* Input pixels */
-               *inptr,                 /* Pointer into pixels */
-               *out;                   /* Output pixels */
-  png_color_16 bg;                     /* Background color */
-
-
- /*
-  * Setup the PNG data structures...
-  */
-
-  pp   = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
-  info = png_create_info_struct(pp);
-
- /*
-  * Initialize the PNG read "engine"...
-  */
-
-  png_init_io(pp, fp);
-
- /*
-  * Get the image dimensions and load the output image...
-  */
-
-  png_read_info(pp, info);
-
-  png_get_IHDR(pp, info, &width, &height, &bit_depth, &color_type,
-               &interlace_type, &compression_type, &filter_type);
-
-  fprintf(stderr, "DEBUG: PNG image: %dx%dx%d, color_type=%x (%s%s%s)\n",
-          (int)width, (int)height, bit_depth, color_type,
-         (color_type & PNG_COLOR_MASK_COLOR) ? "RGB" : "GRAYSCALE",
-         (color_type & PNG_COLOR_MASK_ALPHA) ? "+ALPHA" : "",
-         (color_type & PNG_COLOR_MASK_PALETTE) ? "+PALETTE" : "");
-
-  if (color_type & PNG_COLOR_MASK_PALETTE)
-    png_set_expand(pp);
-  else if (bit_depth < 8)
-  {
-    png_set_packing(pp);
-    png_set_expand(pp);
-  }
-  else if (bit_depth == 16)
-    png_set_strip_16(pp);
-
-  if (color_type & PNG_COLOR_MASK_COLOR)
-    img->colorspace = (primary == CUPS_IMAGE_RGB_CMYK) ? CUPS_IMAGE_RGB :
-                                                         primary;
-  else
-    img->colorspace = secondary;
-
-  if (width == 0 || width > CUPS_IMAGE_MAX_WIDTH ||
-      height == 0 || height > CUPS_IMAGE_MAX_HEIGHT)
-  {
-    fprintf(stderr, "DEBUG: PNG image has invalid dimensions %ux%u!\n",
-            (unsigned)width, (unsigned)height);
-    fclose(fp);
-    return (1);
-  }
-
-  img->xsize = width;
-  img->ysize = height;
-
-  if ((xppm = png_get_x_pixels_per_meter(pp, info)) != 0 &&
-      (yppm = png_get_y_pixels_per_meter(pp, info)) != 0)
-  {
-    img->xppi = (int)((float)xppm * 0.0254);
-    img->yppi = (int)((float)yppm * 0.0254);
-
-    if (img->xppi == 0 || img->yppi == 0)
-    {
-      fprintf(stderr, "DEBUG: PNG image has invalid resolution %dx%d PPI\n",
-              img->xppi, img->yppi);
-
-      img->xppi = img->yppi = 128;
-    }
-  }
-
-  cupsImageSetMaxTiles(img, 0);
-
-  passes = png_set_interlace_handling(pp);
-
- /*
-  * Handle transparency...
-  */
-
-  if (png_get_valid(pp, info, PNG_INFO_tRNS))
-    png_set_tRNS_to_alpha(pp);
-
-  bg.red   = 65535;
-  bg.green = 65535;
-  bg.blue  = 65535;
-
-  png_set_background(pp, &bg, PNG_BACKGROUND_GAMMA_SCREEN, 0, 1.0);
-
-  if (passes == 1)
-  {
-   /*
-    * Load one row at a time...
-    */
-
-    if (color_type == PNG_COLOR_TYPE_GRAY ||
-       color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
-      in = malloc(img->xsize);
-    else
-      in = malloc(img->xsize * 3);
-  }
-  else
-  {
-   /*
-    * Interlaced images must be loaded all at once...
-    */
-
-    size_t bufsize;                    /* Size of buffer */
-
-
-    if (color_type == PNG_COLOR_TYPE_GRAY ||
-       color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
-    {
-      bufsize = img->xsize * img->ysize;
-
-      if ((bufsize / img->xsize) != img->ysize)
-      {
-       fprintf(stderr, "DEBUG: PNG image dimensions (%ux%u) too large!\n",
-               (unsigned)width, (unsigned)height);
-       fclose(fp);
-       return (1);
-      }
-    }
-    else
-    {
-      bufsize = img->xsize * img->ysize * 3;
-
-      if ((bufsize / (img->xsize * 3)) != img->ysize)
-      {
-       fprintf(stderr, "DEBUG: PNG image dimensions (%ux%u) too large!\n",
-               (unsigned)width, (unsigned)height);
-       fclose(fp);
-       return (1);
-      }
-    }
-
-    in = malloc(bufsize);
-  }
-
-  bpp = cupsImageGetDepth(img);
-  out = malloc(img->xsize * bpp);
-
-  if (!in || !out)
-  {
-    fputs("DEBUG: Unable to allocate memory for PNG image!\n", stderr);
-
-    if (in)
-      free(in);
-
-    if (out)
-      free(out);
-
-    fclose(fp);
-
-    return (1);
-  }
-
- /*
-  * Read the image, interlacing as needed...
-  */
-
-  for (pass = 1; pass <= passes; pass ++)
-    for (inptr = in, y = 0; y < img->ysize; y ++)
-    {
-      png_read_row(pp, (png_bytep)inptr, NULL);
-
-      if (pass == passes)
-      {
-       /*
-        * Output this row...
-       */
-
-       if (color_type & PNG_COLOR_MASK_COLOR)
-       {
-         if ((saturation != 100 || hue != 0) && bpp > 1)
-           cupsImageRGBAdjust(inptr, img->xsize, saturation, hue);
-
-         switch (img->colorspace)
-         {
-           case CUPS_IMAGE_WHITE :
-               cupsImageRGBToWhite(inptr, out, img->xsize);
-               break;
-           case CUPS_IMAGE_RGB :
-           case CUPS_IMAGE_RGB_CMYK :
-               cupsImageRGBToRGB(inptr, out, img->xsize);
-               break;
-           case CUPS_IMAGE_BLACK :
-               cupsImageRGBToBlack(inptr, out, img->xsize);
-               break;
-           case CUPS_IMAGE_CMY :
-               cupsImageRGBToCMY(inptr, out, img->xsize);
-               break;
-           case CUPS_IMAGE_CMYK :
-               cupsImageRGBToCMYK(inptr, out, img->xsize);
-               break;
-         }
-       }
-       else
-       {
-         switch (img->colorspace)
-         {
-           case CUPS_IMAGE_WHITE :
-               memcpy(out, inptr, img->xsize);
-               break;
-           case CUPS_IMAGE_RGB :
-           case CUPS_IMAGE_RGB_CMYK :
-               cupsImageWhiteToRGB(inptr, out, img->xsize);
-               break;
-           case CUPS_IMAGE_BLACK :
-               cupsImageWhiteToBlack(inptr, out, img->xsize);
-               break;
-           case CUPS_IMAGE_CMY :
-               cupsImageWhiteToCMY(inptr, out, img->xsize);
-               break;
-           case CUPS_IMAGE_CMYK :
-               cupsImageWhiteToCMYK(inptr, out, img->xsize);
-               break;
-         }
-       }
-
-       if (lut)
-         cupsImageLut(out, img->xsize * bpp, lut);
-
-       _cupsImagePutRow(img, 0, y, img->xsize, out);
-      }
-
-      if (passes > 1)
-      {
-       if (color_type & PNG_COLOR_MASK_COLOR)
-          inptr += img->xsize * 3;
-       else
-          inptr += img->xsize;
-      }
-    }
-
-  png_read_end(pp, info);
-  png_destroy_read_struct(&pp, &info, NULL);
-
-  fclose(fp);
-  free(in);
-  free(out);
-
-  return (0);
-}
-#endif /* HAVE_LIBPNG && HAVE_LIBZ */
-
-
-/*
- * End of "$Id: image-png.c 9771 2011-05-12 05:21:56Z mike $".
- */
diff --git a/filter/image-pnm.c b/filter/image-pnm.c
deleted file mode 100644 (file)
index 3a25d8f..0000000
+++ /dev/null
@@ -1,320 +0,0 @@
-/*
- * "$Id: image-pnm.c 9771 2011-05-12 05:21:56Z mike $"
- *
- *   Portable Any Map file routines for CUPS.
- *
- *   Copyright 2007-2011 by Apple Inc.
- *   Copyright 1993-2007 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- *   This file is subject to the Apple OS-Developed Software exception.
- *
- * Contents:
- *
- *   _cupsImageReadPNM() - Read a PNM image file.
- */
-
-/*
- * Include necessary headers...
- */
-
-#include "image-private.h"
-
-
-/*
- * '_cupsImageReadPNM()' - Read a PNM image file.
- */
-
-int                                    /* O - Read status */
-_cupsImageReadPNM(
-    cups_image_t    *img,              /* IO - cupsImage */
-    FILE            *fp,               /* I - cupsImage file */
-    cups_icspace_t  primary,           /* I - Primary choice for colorspace */
-    cups_icspace_t  secondary,         /* I - Secondary choice for colorspace */
-    int             saturation,                /* I - Color saturation (%) */
-    int             hue,               /* I - Color hue (degrees) */
-    const cups_ib_t *lut)              /* I - Lookup table for gamma/brightness */
-{
-  int          x, y;                   /* Looping vars */
-  int          bpp;                    /* Bytes per pixel */
-  cups_ib_t    *in,                    /* Input pixels */
-               *inptr,                 /* Current input pixel */
-               *out,                   /* Output pixels */
-               *outptr,                /* Current output pixel */
-               bit;                    /* Bit in input line */
-  char         line[255],              /* Input line */
-               *lineptr;               /* Pointer in line */
-  int          format,                 /* Format of PNM file */
-               val,                    /* Pixel value */
-               maxval;                 /* Maximum pixel value */
-
-
- /*
-  * Read the file header in the format:
-  *
-  *   Pformat
-  *   # comment1
-  *   # comment2
-  *   ...
-  *   # commentN
-  *   width
-  *   height
-  *   max sample
-  */
-
-  if ((lineptr = fgets(line, sizeof(line), fp)) == NULL)
-  {
-    fputs("DEBUG: Bad PNM header!\n", stderr);
-    fclose(fp);
-    return (1);
-  }
-
-  lineptr ++;
-
-  format = atoi(lineptr);
-  while (isdigit(*lineptr & 255))
-    lineptr ++;
-
-  while (lineptr != NULL && img->xsize == 0)
-  {
-    if (*lineptr == '\0' || *lineptr == '#')
-      lineptr = fgets(line, sizeof(line), fp);
-    else if (isdigit(*lineptr & 255))
-    {
-      img->xsize = atoi(lineptr);
-      while (isdigit(*lineptr & 255))
-       lineptr ++;
-    }
-    else
-      lineptr ++;
-  }
-
-  while (lineptr != NULL && img->ysize == 0)
-  {
-    if (*lineptr == '\0' || *lineptr == '#')
-      lineptr = fgets(line, sizeof(line), fp);
-    else if (isdigit(*lineptr & 255))
-    {
-      img->ysize = atoi(lineptr);
-      while (isdigit(*lineptr & 255))
-       lineptr ++;
-    }
-    else
-      lineptr ++;
-  }
-
-  if (format != 1 && format != 4)
-  {
-    maxval = 0;
-
-    while (lineptr != NULL && maxval == 0)
-    {
-      if (*lineptr == '\0' || *lineptr == '#')
-       lineptr = fgets(line, sizeof(line), fp);
-      else if (isdigit(*lineptr & 255))
-      {
-       maxval = atoi(lineptr);
-       while (isdigit(*lineptr & 255))
-         lineptr ++;
-      }
-      else
-       lineptr ++;
-    }
-  }
-  else
-    maxval = 1;
-
-  if (img->xsize == 0 || img->xsize > CUPS_IMAGE_MAX_WIDTH ||
-      img->ysize == 0 || img->ysize > CUPS_IMAGE_MAX_HEIGHT)
-  {
-    fprintf(stderr, "DEBUG: Bad PNM dimensions %dx%d!\n",
-            img->xsize, img->ysize);
-    fclose(fp);
-    return (1);
-  }
-
-  if (maxval == 0)
-  {
-    fprintf(stderr, "DEBUG: Bad PNM max value %d!\n", maxval);
-    fclose(fp);
-    return (1);
-  }
-
-  if (format == 1 || format == 2 || format == 4 || format == 5)
-    img->colorspace = secondary;
-  else
-    img->colorspace = (primary == CUPS_IMAGE_RGB_CMYK) ? CUPS_IMAGE_RGB : primary;
-
-  cupsImageSetMaxTiles(img, 0);
-
-  bpp = cupsImageGetDepth(img);
-
-  if ((in = malloc(img->xsize * 3)) == NULL)
-  {
-    fputs("DEBUG: Unable to allocate memory!\n", stderr);
-    fclose(fp);
-    return (1);
-  }
-
-  if ((out = malloc(img->xsize * bpp)) == NULL)
-  {
-    fputs("DEBUG: Unable to allocate memory!\n", stderr);
-    fclose(fp);
-    free(in);
-    return (1);
-  }
-
- /*
-  * Read the image file...
-  */
-
-  for (y = 0; y < img->ysize; y ++)
-  {
-    switch (format)
-    {
-      case 1 :
-          for (x = img->xsize, inptr = in; x > 0; x --, inptr ++)
-            if (fscanf(fp, "%d", &val) == 1)
-              *inptr = val ? 0 : 255;
-          break;
-
-      case 2 :
-          for (x = img->xsize, inptr = in; x > 0; x --, inptr ++)
-            if (fscanf(fp, "%d", &val) == 1)
-              *inptr = 255 * val / maxval;
-          break;
-
-      case 3 :
-          for (x = img->xsize, inptr = in; x > 0; x --, inptr += 3)
-          {
-            if (fscanf(fp, "%d", &val) == 1)
-              inptr[0] = 255 * val / maxval;
-            if (fscanf(fp, "%d", &val) == 1)
-              inptr[1] = 255 * val / maxval;
-            if (fscanf(fp, "%d", &val) == 1)
-              inptr[2] = 255 * val / maxval;
-          }
-          break;
-
-      case 4 :
-          fread(out, (img->xsize + 7) / 8, 1, fp);
-          for (x = img->xsize, inptr = in, outptr = out, bit = 128;
-               x > 0;
-               x --, inptr ++)
-          {
-            if (*outptr & bit)
-              *inptr = 0;
-            else
-              *inptr = 255;
-
-            if (bit > 1)
-              bit >>= 1;
-            else
-            {
-              bit = 128;
-              outptr ++;
-            }
-          }
-          break;
-
-      case 5 :
-          fread(in, img->xsize, 1, fp);
-          break;
-
-      case 6 :
-          fread(in, img->xsize, 3, fp);
-          break;
-    }
-
-    switch (format)
-    {
-      case 1 :
-      case 2 :
-      case 4 :
-      case 5 :
-          if (img->colorspace == CUPS_IMAGE_WHITE)
-         {
-           if (lut)
-             cupsImageLut(in, img->xsize, lut);
-
-            _cupsImagePutRow(img, 0, y, img->xsize, in);
-         }
-         else
-         {
-           switch (img->colorspace)
-           {
-              default :
-                 break;
-
-             case CUPS_IMAGE_RGB :
-                 cupsImageWhiteToRGB(in, out, img->xsize);
-                 break;
-             case CUPS_IMAGE_BLACK :
-                 cupsImageWhiteToBlack(in, out, img->xsize);
-                 break;
-             case CUPS_IMAGE_CMY :
-                 cupsImageWhiteToCMY(in, out, img->xsize);
-                 break;
-             case CUPS_IMAGE_CMYK :
-                 cupsImageWhiteToCMYK(in, out, img->xsize);
-                 break;
-           }
-
-           if (lut)
-             cupsImageLut(out, img->xsize * bpp, lut);
-
-            _cupsImagePutRow(img, 0, y, img->xsize, out);
-         }
-         break;
-
-      default :
-         if ((saturation != 100 || hue != 0) && bpp > 1)
-           cupsImageRGBAdjust(in, img->xsize, saturation, hue);
-
-         switch (img->colorspace)
-         {
-            default :
-               break;
-
-           case CUPS_IMAGE_WHITE :
-               cupsImageRGBToWhite(in, out, img->xsize);
-               break;
-           case CUPS_IMAGE_RGB :
-               cupsImageRGBToRGB(in, out, img->xsize);
-               break;
-           case CUPS_IMAGE_BLACK :
-               cupsImageRGBToBlack(in, out, img->xsize);
-               break;
-           case CUPS_IMAGE_CMY :
-               cupsImageRGBToCMY(in, out, img->xsize);
-               break;
-           case CUPS_IMAGE_CMYK :
-               cupsImageRGBToCMYK(in, out, img->xsize);
-               break;
-         }
-
-         if (lut)
-           cupsImageLut(out, img->xsize * bpp, lut);
-
-          _cupsImagePutRow(img, 0, y, img->xsize, out);
-         break;
-    }
-  }
-
-  free(in);
-  free(out);
-
-  fclose(fp);
-
-  return (0);
-}
-
-
-/*
- * End of "$Id: image-pnm.c 9771 2011-05-12 05:21:56Z mike $".
- */
diff --git a/filter/image-private.h b/filter/image-private.h
deleted file mode 100644 (file)
index 70a8f5c..0000000
+++ /dev/null
@@ -1,220 +0,0 @@
-/*
- * "$Id: image-private.h 9042 2010-03-24 00:45:34Z mike $"
- *
- *   Private image library definitions for CUPS.
- *
- *   Copyright 2007-2010 by Apple Inc.
- *   Copyright 1993-2006 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- *   This file is subject to the Apple OS-Developed Software exception.
- */
-
-#ifndef _CUPS_IMAGE_PRIVATE_H_
-#  define _CUPS_IMAGE_PRIVATE_H_
-
-/*
- * Include necessary headers...
- */
-
-#  include "image.h"
-#  include <cups/cups.h>
-#  include <cups/debug-private.h>
-#  include <cups/string-private.h>
-#  include <stdlib.h>
-#  include <string.h>
-#  ifdef WIN32
-#    include <io.h>
-#  else
-#    include <unistd.h>
-#  endif /* WIN32 */
-#  include <errno.h>
-#  include <math.h>
-
-
-/*
- * Constants...
- */
-
-#  define CUPS_IMAGE_MAX_WIDTH 0x07ffffff
-                                       /* 2^27-1 to allow for 15-channel data */
-#  define CUPS_IMAGE_MAX_HEIGHT        0x3fffffff
-                                       /* 2^30-1 */
-
-#  define CUPS_TILE_SIZE       256     /* 256x256 pixel tiles */
-#  define CUPS_TILE_MINIMUM    10      /* Minimum number of tiles */
-
-
-/*
- * min/max/abs macros...
- */
-
-#  ifndef max
-#    define    max(a,b)        ((a) > (b) ? (a) : (b))
-#  endif /* !max */
-#  ifndef min
-#    define    min(a,b)        ((a) < (b) ? (a) : (b))
-#  endif /* !min */
-#  ifndef abs
-#    define    abs(a)          ((a) < 0 ? -(a) : (a))
-#  endif /* !abs */
-
-
-/*
- * Types and structures...
- */
-
-typedef enum cups_iztype_e             /**** Image zoom type ****/
-{
-  CUPS_IZOOM_FAST,                     /* Use nearest-neighbor sampling */
-  CUPS_IZOOM_NORMAL,                   /* Use bilinear interpolation */
-  CUPS_IZOOM_BEST                      /* Use bicubic interpolation */
-} cups_iztype_t;
-
-struct cups_ic_s;
-
-typedef struct cups_itile_s            /**** Image tile ****/
-{
-  int                  dirty;          /* True if tile is dirty */
-  off_t                        pos;            /* Position of tile on disk (-1 if not written) */
-  struct cups_ic_s     *ic;            /* Pixel data */
-} cups_itile_t;
-
-typedef struct cups_ic_s               /**** Image tile cache ****/
-{
-  struct cups_ic_s     *prev,          /* Previous tile in cache */
-                       *next;          /* Next tile in cache */
-  cups_itile_t         *tile;          /* Tile this is attached to */
-  cups_ib_t            *pixels;        /* Pixel data */
-} cups_ic_t;
-
-struct cups_image_s                    /**** Image file data ****/
-{
-  cups_icspace_t       colorspace;     /* Colorspace of image */
-  unsigned             xsize,          /* Width of image in pixels */
-                       ysize,          /* Height of image in pixels */
-                       xppi,           /* X resolution in pixels-per-inch */
-                       yppi,           /* Y resolution in pixels-per-inch */
-                       num_ics,        /* Number of cached tiles */
-                       max_ics;        /* Maximum number of cached tiles */
-  cups_itile_t         **tiles;        /* Tiles in image */
-  cups_ic_t            *first,         /* First cached tile in image */
-                       *last;          /* Last cached tile in image */
-  int                  cachefile;      /* Tile cache file */
-  char                 cachename[256]; /* Tile cache filename */
-};
-
-struct cups_izoom_s                    /**** Image zoom data ****/
-{
-  cups_image_t         *img;           /* Image to zoom */
-  cups_iztype_t                type;           /* Type of zooming */
-  unsigned             xorig,          /* X origin */
-                       yorig,          /* Y origin */
-                       width,          /* Width of input area */
-                       height,         /* Height of input area */
-                       depth,          /* Number of bytes per pixel */
-                       rotated,        /* Non-zero if image needs to be rotated */
-                       xsize,          /* Width of output image */
-                       ysize,          /* Height of output image */
-                       xmax,           /* Maximum input image X position */
-                       ymax,           /* Maximum input image Y position */
-                       xmod,           /* Threshold for Bresenheim rounding */
-                       ymod;           /* ... */
-  int                  xstep,          /* Amount to step for each pixel along X */
-                       xincr,
-                       instep,         /* Amount to step pixel pointer along X */
-                       inincr,
-                       ystep,          /* Amount to step for each pixel along Y */
-                       yincr,
-                       row;            /* Current row */
-  cups_ib_t            *rows[2],       /* Horizontally scaled pixel data */
-                       *in;            /* Unscaled input pixel data */
-};
-
-
-/*
- * Prototypes...
- */
-
-extern int             _cupsImagePutCol(cups_image_t *img, int x, int y,
-                                        int height, const cups_ib_t *pixels);
-extern int             _cupsImagePutRow(cups_image_t *img, int x, int y,
-                                        int width, const cups_ib_t *pixels);
-extern int             _cupsImageReadBMP(cups_image_t *img, FILE *fp,
-                                         cups_icspace_t primary,
-                                         cups_icspace_t secondary,
-                                         int saturation, int hue,
-                                         const cups_ib_t *lut);
-extern int             _cupsImageReadFPX(cups_image_t *img, FILE *fp,
-                                         cups_icspace_t primary,
-                                         cups_icspace_t secondary,
-                                         int saturation, int hue,
-                                         const cups_ib_t *lut);
-extern int             _cupsImageReadGIF(cups_image_t *img, FILE *fp,
-                                         cups_icspace_t primary,
-                                         cups_icspace_t secondary,
-                                         int saturation, int hue,
-                                         const cups_ib_t *lut);
-extern int             _cupsImageReadJPEG(cups_image_t *img, FILE *fp,
-                                          cups_icspace_t primary,
-                                          cups_icspace_t secondary,
-                                          int saturation, int hue,
-                                          const cups_ib_t *lut);
-extern int             _cupsImageReadPIX(cups_image_t *img, FILE *fp,
-                                         cups_icspace_t primary,
-                                         cups_icspace_t secondary,
-                                         int saturation, int hue,
-                                         const cups_ib_t *lut);
-extern int             _cupsImageReadPNG(cups_image_t *img, FILE *fp,
-                                         cups_icspace_t primary,
-                                         cups_icspace_t secondary,
-                                         int saturation, int hue,
-                                         const cups_ib_t *lut);
-extern int             _cupsImageReadPNM(cups_image_t *img, FILE *fp,
-                                         cups_icspace_t primary,
-                                         cups_icspace_t secondary,
-                                         int saturation, int hue,
-                                         const cups_ib_t *lut);
-extern int             _cupsImageReadPhotoCD(cups_image_t *img, FILE *fp,
-                                             cups_icspace_t primary,
-                                             cups_icspace_t secondary,
-                                             int saturation, int hue,
-                                             const cups_ib_t *lut);
-extern int             _cupsImageReadSGI(cups_image_t *img, FILE *fp,
-                                         cups_icspace_t primary,
-                                         cups_icspace_t secondary,
-                                         int saturation, int hue,
-                                         const cups_ib_t *lut);
-extern int             _cupsImageReadSunRaster(cups_image_t *img, FILE *fp,
-                                               cups_icspace_t primary,
-                                               cups_icspace_t secondary,
-                                               int saturation, int hue,
-                                               const cups_ib_t *lut);
-extern int             _cupsImageReadTIFF(cups_image_t *img, FILE *fp,
-                                          cups_icspace_t primary,
-                                          cups_icspace_t secondary,
-                                          int saturation, int hue,
-                                          const cups_ib_t *lut);
-extern void            _cupsImageZoomDelete(cups_izoom_t *z);
-extern void            _cupsImageZoomFill(cups_izoom_t *z, int iy);
-extern cups_izoom_t    *_cupsImageZoomNew(cups_image_t *img, int xc0, int yc0,
-                                          int xc1, int yc1, int xsize,
-                                          int ysize, int rotated,
-                                          cups_iztype_t type);
-
-extern int             _cupsRasterExecPS(cups_page_header2_t *h,
-                                         int *preferred_bits,
-                                         const char *code);
-extern void            _cupsRasterAddError(const char *f, ...);
-extern void            _cupsRasterClearError(void);
-
-#endif /* !_CUPS_IMAGE_PRIVATE_H_ */
-
-/*
- * End of "$Id: image-private.h 9042 2010-03-24 00:45:34Z mike $".
- */
diff --git a/filter/image-sgi.c b/filter/image-sgi.c
deleted file mode 100644 (file)
index b9e7fa5..0000000
+++ /dev/null
@@ -1,295 +0,0 @@
-/*
- * "$Id: image-sgi.c 9771 2011-05-12 05:21:56Z mike $"
- *
- *   SGI image file routines for CUPS.
- *
- *   Copyright 2007-2011 by Apple Inc.
- *   Copyright 1993-2007 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- *   This file is subject to the Apple OS-Developed Software exception.
- *
- * Contents:
- *
- *   _cupsImageReadSGI() - Read a SGI image file.
- */
-
-/*
- * Include necessary headers...
- */
-
-#include "image-private.h"
-#include "image-sgi.h"
-
-
-/*
- * '_cupsImageReadSGI()' - Read a SGI image file.
- */
-
-int                                    /* O - Read status */
-_cupsImageReadSGI(
-    cups_image_t    *img,              /* IO - cupsImage */
-    FILE            *fp,               /* I - cupsImage file */
-    cups_icspace_t  primary,           /* I - Primary choice for colorspace */
-    cups_icspace_t  secondary,         /* I - Secondary choice for colorspace */
-    int             saturation,                /* I - Color saturation (%) */
-    int             hue,               /* I - Color hue (degrees) */
-    const cups_ib_t *lut)              /* I - Lookup table for gamma/brightness */
-{
-  int          i, y;                   /* Looping vars */
-  int          bpp;                    /* Bytes per pixel */
-  sgi_t                *sgip;                  /* SGI image file */
-  cups_ib_t    *in,                    /* Input pixels */
-               *inptr,                 /* Current input pixel */
-               *out;                   /* Output pixels */
-  unsigned short *rows[4],             /* Row pointers for image data */
-               *red,
-               *green,
-               *blue,
-               *gray,
-               *alpha;
-
-
- /*
-  * Setup the SGI file...
-  */
-
-  sgip = sgiOpenFile(fp, SGI_READ, 0, 0, 0, 0, 0);
-
- /*
-  * Get the image dimensions and load the output image...
-  */
-
- /*
-  * Check the image dimensions; since xsize and ysize are unsigned shorts,
-  * just check if they are 0 since they can't exceed CUPS_IMAGE_MAX_WIDTH or
-  * CUPS_IMAGE_MAX_HEIGHT...
-  */
-
-  if (sgip->xsize == 0 || sgip->ysize == 0 ||
-      sgip->zsize == 0 || sgip->zsize > 4)
-  {
-    fprintf(stderr, "DEBUG: Bad SGI image dimensions %ux%ux%u!\n",
-            sgip->xsize, sgip->ysize, sgip->zsize);
-    sgiClose(sgip);
-    return (1);
-  }
-
-  if (sgip->zsize < 3)
-    img->colorspace = secondary;
-  else
-    img->colorspace = (primary == CUPS_IMAGE_RGB_CMYK) ? CUPS_IMAGE_RGB : primary;
-
-  img->xsize = sgip->xsize;
-  img->ysize = sgip->ysize;
-
-  cupsImageSetMaxTiles(img, 0);
-
-  bpp = cupsImageGetDepth(img);
-
-  if ((in = malloc(img->xsize * sgip->zsize)) == NULL)
-  {
-    fputs("DEBUG: Unable to allocate memory!\n", stderr);
-    sgiClose(sgip);
-    return (1);
-  }
-
-  if ((out = malloc(img->xsize * bpp)) == NULL)
-  {
-    fputs("DEBUG: Unable to allocate memory!\n", stderr);
-    sgiClose(sgip);
-    free(in);
-    return (1);
-  }
-
-  if ((rows[0] = calloc(img->xsize * sgip->zsize,
-                        sizeof(unsigned short))) == NULL)
-  {
-    fputs("DEBUG: Unable to allocate memory!\n", stderr);
-    sgiClose(sgip);
-    free(in);
-    free(out);
-    return (1);
-  }
-
-  for (i = 1; i < sgip->zsize; i ++)
-    rows[i] = rows[0] + i * img->xsize;
-
- /*
-  * Read the SGI image file...
-  */
-
-  for (y = 0; y < img->ysize; y ++)
-  {
-    for (i = 0; i < sgip->zsize; i ++)
-      sgiGetRow(sgip, rows[i], img->ysize - 1 - y, i);
-
-    switch (sgip->zsize)
-    {
-      case 1 :
-          if (sgip->bpp == 1)
-           for (i = img->xsize - 1, gray = rows[0], inptr = in;
-                i >= 0;
-                i --)
-            {
-              *inptr++ = *gray++;
-            }
-          else
-           for (i = img->xsize - 1, gray = rows[0], inptr = in;
-                i >= 0;
-                i --)
-            {
-              *inptr++ = (*gray++) / 256 + 128;
-            }
-          break;
-      case 2 :
-          if (sgip->bpp == 1)
-           for (i = img->xsize - 1, gray = rows[0], alpha = rows[1], inptr = in;
-                i >= 0;
-                i --)
-            {
-              *inptr++ = (*gray++) * (*alpha++) / 255;
-            }
-          else
-           for (i = img->xsize - 1, gray = rows[0], alpha = rows[1], inptr = in;
-                i >= 0;
-                i --)
-            {
-              *inptr++ = ((*gray++) / 256 + 128) * (*alpha++) / 32767;
-            }
-          break;
-      case 3 :
-          if (sgip->bpp == 1)
-           for (i = img->xsize - 1, red = rows[0], green = rows[1],
-                    blue = rows[2], inptr = in;
-                i >= 0;
-                i --)
-            {
-              *inptr++ = *red++;
-              *inptr++ = *green++;
-              *inptr++ = *blue++;
-            }
-          else
-           for (i = img->xsize - 1, red = rows[0], green = rows[1],
-                    blue = rows[2], inptr = in;
-                i >= 0;
-                i --)
-            {
-              *inptr++ = (*red++) / 256 + 128;
-              *inptr++ = (*green++) / 256 + 128;
-              *inptr++ = (*blue++) / 256 + 128;
-            }
-          break;
-      case 4 :
-          if (sgip->bpp == 1)
-           for (i = img->xsize - 1, red = rows[0], green = rows[1],
-                    blue = rows[2], alpha = rows[3], inptr = in;
-                i >= 0;
-                i --)
-            {
-              *inptr++ = (*red++) * (*alpha) / 255;
-              *inptr++ = (*green++) * (*alpha) / 255;
-              *inptr++ = (*blue++) * (*alpha++) / 255;
-            }
-          else
-           for (i = img->xsize - 1, red = rows[0], green = rows[1],
-                    blue = rows[2], alpha = rows[3], inptr = in;
-                i >= 0;
-                i --)
-            {
-              *inptr++ = ((*red++) / 256 + 128) * (*alpha) / 32767;
-              *inptr++ = ((*green++) / 256 + 128) * (*alpha) / 32767;
-              *inptr++ = ((*blue++) / 256 + 128) * (*alpha++) / 32767;
-            }
-          break;
-    }
-
-    if (sgip->zsize < 3)
-    {
-      if (img->colorspace == CUPS_IMAGE_WHITE)
-      {
-        if (lut)
-         cupsImageLut(in, img->xsize, lut);
-
-        _cupsImagePutRow(img, 0, y, img->xsize, in);
-      }
-      else
-      {
-       switch (img->colorspace)
-       {
-         default :
-             break;
-
-         case CUPS_IMAGE_RGB :
-         case CUPS_IMAGE_RGB_CMYK :
-             cupsImageWhiteToRGB(in, out, img->xsize);
-             break;
-         case CUPS_IMAGE_BLACK :
-             cupsImageWhiteToBlack(in, out, img->xsize);
-             break;
-         case CUPS_IMAGE_CMY :
-             cupsImageWhiteToCMY(in, out, img->xsize);
-             break;
-         case CUPS_IMAGE_CMYK :
-             cupsImageWhiteToCMYK(in, out, img->xsize);
-             break;
-       }
-
-        if (lut)
-         cupsImageLut(out, img->xsize * bpp, lut);
-
-        _cupsImagePutRow(img, 0, y, img->xsize, out);
-      }
-    }
-    else
-    {
-      if ((saturation != 100 || hue != 0) && bpp > 1)
-       cupsImageRGBAdjust(in, img->xsize, saturation, hue);
-
-      switch (img->colorspace)
-      {
-       default :
-           break;
-
-       case CUPS_IMAGE_WHITE :
-           cupsImageRGBToWhite(in, out, img->xsize);
-           break;
-       case CUPS_IMAGE_RGB :
-           cupsImageRGBToRGB(in, out, img->xsize);
-           break;
-       case CUPS_IMAGE_BLACK :
-           cupsImageRGBToBlack(in, out, img->xsize);
-           break;
-       case CUPS_IMAGE_CMY :
-           cupsImageRGBToCMY(in, out, img->xsize);
-           break;
-       case CUPS_IMAGE_CMYK :
-           cupsImageRGBToCMYK(in, out, img->xsize);
-           break;
-      }
-
-      if (lut)
-       cupsImageLut(out, img->xsize * bpp, lut);
-
-      _cupsImagePutRow(img, 0, y, img->xsize, out);
-    }
-  }
-
-  free(in);
-  free(out);
-  free(rows[0]);
-
-  sgiClose(sgip);
-
-  return (0);
-}
-
-
-/*
- * End of "$Id: image-sgi.c 9771 2011-05-12 05:21:56Z mike $".
- */
diff --git a/filter/image-sgi.h b/filter/image-sgi.h
deleted file mode 100644 (file)
index 1637326..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * "$Id: image-sgi.h 9771 2011-05-12 05:21:56Z mike $"
- *
- *   SGI image file format library definitions for CUPS.
- *
- *   Copyright 2007-2011 by Apple Inc.
- *   Copyright 1993-2005 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- *   This file is subject to the Apple OS-Developed Software exception.
- */
-
-#ifndef _SGI_H_
-#  define _SGI_H_
-
-#  include <stdio.h>
-#  include <stdlib.h>
-#  include <string.h>
-
-#  ifdef __cplusplus
-extern "C" {
-#  endif
-
-
-/*
- * Constants...
- */
-
-#  define SGI_MAGIC    474     /* Magic number in image file */
-
-#  define SGI_READ     0       /* Read from an SGI image file */
-#  define SGI_WRITE    1       /* Write to an SGI image file */
-
-#  define SGI_COMP_NONE        0       /* No compression */
-#  define SGI_COMP_RLE 1       /* Run-length encoding */
-#  define SGI_COMP_ARLE        2       /* Agressive run-length encoding */
-
-
-/*
- * Image structure...
- */
-
-typedef struct
-{
-  FILE                 *file;          /* Image file */
-  int                  mode,           /* File open mode */
-                       bpp,            /* Bytes per pixel/channel */
-                       comp;           /* Compression */
-  unsigned short       xsize,          /* Width in pixels */
-                       ysize,          /* Height in pixels */
-                       zsize;          /* Number of channels */
-  long                 firstrow,       /* File offset for first row */
-                       nextrow,        /* File offset for next row */
-                       **table,        /* Offset table for compression */
-                       **length;       /* Length table for compression */
-  unsigned short       *arle_row;      /* Advanced RLE compression buffer */
-  long                 arle_offset,    /* Advanced RLE buffer offset */
-                       arle_length;    /* Advanced RLE buffer length */
-} sgi_t;
-
-
-/*
- * Prototypes...
- */
-
-extern int     sgiClose(sgi_t *sgip);
-extern int     sgiGetRow(sgi_t *sgip, unsigned short *row, int y, int z);
-extern sgi_t   *sgiOpen(const char *filename, int mode, int comp, int bpp,
-                        int xsize, int ysize, int zsize);
-extern sgi_t   *sgiOpenFile(FILE *file, int mode, int comp, int bpp,
-                            int xsize, int ysize, int zsize);
-extern int     sgiPutRow(sgi_t *sgip, unsigned short *row, int y, int z);
-
-#  ifdef __cplusplus
-}
-#  endif
-#endif /* !_SGI_H_ */
-
-/*
- * End of "$Id: image-sgi.h 9771 2011-05-12 05:21:56Z mike $".
- */
diff --git a/filter/image-sgilib.c b/filter/image-sgilib.c
deleted file mode 100644 (file)
index 826cdf2..0000000
+++ /dev/null
@@ -1,890 +0,0 @@
-/*
- * "$Id: image-sgilib.c 9771 2011-05-12 05:21:56Z mike $"
- *
- *   SGI image file format library routines for CUPS.
- *
- *   Copyright 2007-2011 by Apple Inc.
- *   Copyright 1993-2005 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- *   This file is subject to the Apple OS-Developed Software exception.
- *
- * Contents:
- *
- *   sgiClose()    - Close an SGI image file.
- *   sgiGetRow()   - Get a row of image data from a file.
- *   sgiOpen()     - Open an SGI image file for reading or writing.
- *   sgiOpenFile() - Open an SGI image file for reading or writing.
- *   sgiPutRow()   - Put a row of image data to a file.
- *   getlong()     - Get a 32-bit big-endian integer.
- *   getshort()    - Get a 16-bit big-endian integer.
- *   putlong()     - Put a 32-bit big-endian integer.
- *   putshort()    - Put a 16-bit big-endian integer.
- *   read_rle8()   - Read 8-bit RLE data.
- *   read_rle16()  - Read 16-bit RLE data.
- *   write_rle8()  - Write 8-bit RLE data.
- *   write_rle16() - Write 16-bit RLE data.
- */
-
-#include "image-sgi.h"
-
-
-/*
- * Local functions...
- */
-
-static int     getlong(FILE *);
-static int     getshort(FILE *);
-static int     putlong(long, FILE *);
-static int     putshort(unsigned short, FILE *);
-static int     read_rle8(FILE *, unsigned short *, int);
-static int     read_rle16(FILE *, unsigned short *, int);
-static int     write_rle8(FILE *, unsigned short *, int);
-static int     write_rle16(FILE *, unsigned short *, int);
-
-
-/*
- * 'sgiClose()' - Close an SGI image file.
- */
-
-int                                    /* O - 0 on success, -1 on error */
-sgiClose(sgi_t *sgip)                  /* I - SGI image */
-{
-  int  i;                              /* Return status */
-  long *offset;                        /* Looping var for offset table */
-
-
-  if (sgip == NULL)
-    return (-1);
-
-  if (sgip->mode == SGI_WRITE && sgip->comp != SGI_COMP_NONE)
-  {
-   /*
-    * Write the scanline offset table to the file...
-    */
-
-    fseek(sgip->file, 512, SEEK_SET);
-
-    for (i = sgip->ysize * sgip->zsize, offset = sgip->table[0];
-         i > 0;
-         i --, offset ++)
-      if (putlong(offset[0], sgip->file) < 0)
-        return (-1);
-
-    for (i = sgip->ysize * sgip->zsize, offset = sgip->length[0];
-         i > 0;
-         i --, offset ++)
-      if (putlong(offset[0], sgip->file) < 0)
-        return (-1);
-  }
-
-  if (sgip->table != NULL)
-  {
-    free(sgip->table[0]);
-    free(sgip->table);
-  }
-
-  if (sgip->length != NULL)
-  {
-    free(sgip->length[0]);
-    free(sgip->length);
-  }
-
-  if (sgip->comp == SGI_COMP_ARLE)
-    free(sgip->arle_row);
-
-  i = fclose(sgip->file);
-  free(sgip);
-
-  return (i);
-}
-
-
-/*
- * 'sgiGetRow()' - Get a row of image data from a file.
- */
-
-int                                    /* O - 0 on success, -1 on error */
-sgiGetRow(sgi_t          *sgip,                /* I - SGI image */
-          unsigned short *row,         /* O - Row to read */
-          int            y,            /* I - Line to read */
-          int            z)            /* I - Channel to read */
-{
-  int  x;                              /* X coordinate */
-  long offset;                         /* File offset */
-
-
-  if (sgip == NULL ||
-      row == NULL ||
-      y < 0 || y >= sgip->ysize ||
-      z < 0 || z >= sgip->zsize)
-    return (-1);
-
-  switch (sgip->comp)
-  {
-    case SGI_COMP_NONE :
-       /*
-        * Seek to the image row - optimize buffering by only seeking if
-        * necessary...
-        */
-
-        offset = 512 + (y + z * sgip->ysize) * sgip->xsize * sgip->bpp;
-        if (offset != ftell(sgip->file))
-          fseek(sgip->file, offset, SEEK_SET);
-
-        if (sgip->bpp == 1)
-        {
-          for (x = sgip->xsize; x > 0; x --, row ++)
-            *row = getc(sgip->file);
-        }
-        else
-        {
-          for (x = sgip->xsize; x > 0; x --, row ++)
-            *row = getshort(sgip->file);
-        }
-        break;
-
-    case SGI_COMP_RLE :
-        offset = sgip->table[z][y];
-        if (offset != ftell(sgip->file))
-          fseek(sgip->file, offset, SEEK_SET);
-
-        if (sgip->bpp == 1)
-          return (read_rle8(sgip->file, row, sgip->xsize));
-        else
-          return (read_rle16(sgip->file, row, sgip->xsize));
-  }
-
-  return (0);
-}
-
-
-/*
- * 'sgiOpen()' - Open an SGI image file for reading or writing.
- */
-
-sgi_t *                                        /* O - New image */
-sgiOpen(const char *filename,          /* I - File to open */
-        int        mode,               /* I - Open mode (SGI_READ or SGI_WRITE) */
-        int        comp,               /* I - Type of compression */
-        int        bpp,                        /* I - Bytes per pixel */
-        int        xsize,              /* I - Width of image in pixels */
-        int        ysize,              /* I - Height of image in pixels */
-        int        zsize)              /* I - Number of channels */
-{
-  sgi_t        *sgip;                          /* New SGI image file */
-  FILE *file;                          /* Image file pointer */
-
-
-  if (mode == SGI_READ)
-    file = fopen(filename, "rb");
-  else
-    file = fopen(filename, "wb+");
-
-  if (file == NULL)
-    return (NULL);
-
-  if ((sgip = sgiOpenFile(file, mode, comp, bpp, xsize, ysize, zsize)) == NULL)
-    fclose(file);
-
-  return (sgip);
-}
-
-
-/*
- * 'sgiOpenFile()' - Open an SGI image file for reading or writing.
- */
-
-sgi_t *                                        /* O - New image */
-sgiOpenFile(FILE *file,                        /* I - File to open */
-            int  mode,                 /* I - Open mode (SGI_READ or SGI_WRITE) */
-            int  comp,                 /* I - Type of compression */
-            int  bpp,                  /* I - Bytes per pixel */
-            int  xsize,                        /* I - Width of image in pixels */
-            int  ysize,                        /* I - Height of image in pixels */
-            int  zsize)                        /* I - Number of channels */
-{
-  int  i, j;                           /* Looping var */
-  char name[80];                       /* Name of file in image header */
-  short        magic;                          /* Magic number */
-  sgi_t        *sgip;                          /* New image pointer */
-
-
-  if ((sgip = calloc(sizeof(sgi_t), 1)) == NULL)
-    return (NULL);
-
-  sgip->file = file;
-
-  switch (mode)
-  {
-    case SGI_READ :
-        sgip->mode = SGI_READ;
-
-        magic = getshort(sgip->file);
-        if (magic != SGI_MAGIC)
-        {
-          free(sgip);
-          return (NULL);
-        }
-
-        sgip->comp  = getc(sgip->file);
-        sgip->bpp   = getc(sgip->file);
-        getshort(sgip->file);          /* Dimensions */
-        sgip->xsize = getshort(sgip->file);
-        sgip->ysize = getshort(sgip->file);
-        sgip->zsize = getshort(sgip->file);
-        getlong(sgip->file);           /* Minimum pixel */
-        getlong(sgip->file);           /* Maximum pixel */
-
-        if (sgip->comp)
-        {
-         /*
-          * This file is compressed; read the scanline tables...
-          */
-
-          fseek(sgip->file, 512, SEEK_SET);
-
-          if ((sgip->table = calloc(sgip->zsize, sizeof(long *))) == NULL)
-         {
-           free(sgip);
-           return (NULL);
-         }
-
-          if ((sgip->table[0] = calloc(sgip->ysize * sgip->zsize,
-                                      sizeof(long))) == NULL)
-          {
-           free(sgip->table);
-           free(sgip);
-           return (NULL);
-         }
-
-          for (i = 1; i < sgip->zsize; i ++)
-            sgip->table[i] = sgip->table[0] + i * sgip->ysize;
-
-          for (i = 0; i < sgip->zsize; i ++)
-            for (j = 0; j < sgip->ysize; j ++)
-              sgip->table[i][j] = getlong(sgip->file);
-        }
-        break;
-
-    case SGI_WRITE :
-       if (xsize < 1 ||
-           ysize < 1 ||
-           zsize < 1 ||
-           bpp < 1 || bpp > 2 ||
-           comp < SGI_COMP_NONE || comp > SGI_COMP_ARLE)
-        {
-          free(sgip);
-          return (NULL);
-        }
-
-        sgip->mode = SGI_WRITE;
-
-        putshort(SGI_MAGIC, sgip->file);
-        putc((sgip->comp = comp) != 0, sgip->file);
-        putc(sgip->bpp = bpp, sgip->file);
-        putshort(3, sgip->file);               /* Dimensions */
-        putshort(sgip->xsize = xsize, sgip->file);
-        putshort(sgip->ysize = ysize, sgip->file);
-        putshort(sgip->zsize = zsize, sgip->file);
-        if (bpp == 1)
-        {
-          putlong(0, sgip->file);      /* Minimum pixel */
-          putlong(255, sgip->file);    /* Maximum pixel */
-        }
-        else
-        {
-          putlong(-32768, sgip->file); /* Minimum pixel */
-          putlong(32767, sgip->file);  /* Maximum pixel */
-        }
-        putlong(0, sgip->file);                /* Reserved */
-
-        memset(name, 0, sizeof(name));
-        fwrite(name, sizeof(name), 1, sgip->file);
-
-        for (i = 0; i < 102; i ++)
-          putlong(0, sgip->file);
-
-        switch (comp)
-        {
-          case SGI_COMP_NONE : /* No compression */
-             /*
-              * This file is uncompressed.  To avoid problems with sparse files,
-              * we need to write blank pixels for the entire image...
-              */
-
-              if (bpp == 1)
-              {
-               for (i = xsize * ysize * zsize; i > 0; i --)
-                 putc(0, sgip->file);
-              }
-              else
-              {
-               for (i = xsize * ysize * zsize; i > 0; i --)
-                 putshort(0, sgip->file);
-              }
-              break;
-
-          case SGI_COMP_ARLE : /* Aggressive RLE */
-              sgip->arle_row    = calloc(xsize, sizeof(unsigned short));
-              sgip->arle_offset = 0;
-
-          case SGI_COMP_RLE : /* Run-Length Encoding */
-             /*
-              * This file is compressed; write the (blank) scanline tables...
-              */
-
-              for (i = 2 * ysize * zsize; i > 0; i --)
-               putlong(0, sgip->file);
-
-              sgip->firstrow = ftell(sgip->file);
-              sgip->nextrow  = ftell(sgip->file);
-              if ((sgip->table = calloc(sgip->zsize, sizeof(long *))) == NULL)
-             {
-               free(sgip);
-               return (NULL);
-             }
-
-              if ((sgip->table[0] = calloc(sgip->ysize * sgip->zsize,
-                                          sizeof(long))) == NULL)
-              {
-               free(sgip->table);
-               free(sgip);
-               return (NULL);
-             }
-
-              for (i = 1; i < sgip->zsize; i ++)
-               sgip->table[i] = sgip->table[0] + i * sgip->ysize;
-
-              if ((sgip->length = calloc(sgip->zsize, sizeof(long *))) == NULL)
-             {
-               free(sgip->table);
-               free(sgip);
-               return (NULL);
-             }
-
-              if ((sgip->length[0] = calloc(sgip->ysize * sgip->zsize,
-                                           sizeof(long))) == NULL)
-              {
-               free(sgip->length);
-               free(sgip->table);
-               free(sgip);
-               return (NULL);
-             }
-
-              for (i = 1; i < sgip->zsize; i ++)
-               sgip->length[i] = sgip->length[0] + i * sgip->ysize;
-              break;
-        }
-        break;
-
-    default :
-        free(sgip);
-        return (NULL);
-  }
-
-  return (sgip);
-}
-
-
-/*
- * 'sgiPutRow()' - Put a row of image data to a file.
- */
-
-int                                    /* O - 0 on success, -1 on error */
-sgiPutRow(sgi_t          *sgip,                /* I - SGI image */
-          unsigned short *row,         /* I - Row to write */
-          int            y,            /* I - Line to write */
-          int            z)            /* I - Channel to write */
-{
-  int  x;                              /* X coordinate */
-  long offset;                         /* File offset */
-
-
-  if (sgip == NULL ||
-      row == NULL ||
-      y < 0 || y >= sgip->ysize ||
-      z < 0 || z >= sgip->zsize)
-    return (-1);
-
-  switch (sgip->comp)
-  {
-    case SGI_COMP_NONE :
-       /*
-        * Seek to the image row - optimize buffering by only seeking if
-        * necessary...
-        */
-
-        offset = 512 + (y + z * sgip->ysize) * sgip->xsize * sgip->bpp;
-        if (offset != ftell(sgip->file))
-          fseek(sgip->file, offset, SEEK_SET);
-
-        if (sgip->bpp == 1)
-        {
-          for (x = sgip->xsize; x > 0; x --, row ++)
-            putc(*row, sgip->file);
-        }
-        else
-        {
-          for (x = sgip->xsize; x > 0; x --, row ++)
-            putshort(*row, sgip->file);
-        }
-        break;
-
-    case SGI_COMP_ARLE :
-        if (sgip->table[z][y] != 0)
-          return (-1);
-
-       /*
-        * First check the last row written...
-        */
-
-        if (sgip->arle_offset > 0)
-        {
-          for (x = 0; x < sgip->xsize; x ++)
-            if (row[x] != sgip->arle_row[x])
-              break;
-
-          if (x == sgip->xsize)
-          {
-            sgip->table[z][y]  = sgip->arle_offset;
-            sgip->length[z][y] = sgip->arle_length;
-            return (0);
-          }
-        }
-
-       /*
-        * If that didn't match, search all the previous rows...
-        */
-
-        fseek(sgip->file, sgip->firstrow, SEEK_SET);
-
-        if (sgip->bpp == 1)
-        {
-          for (;;)
-          {
-            sgip->arle_offset = ftell(sgip->file);
-            if ((sgip->arle_length = read_rle8(sgip->file, sgip->arle_row, sgip->xsize)) < 0)
-            {
-              x = 0;
-              break;
-            }
-
-            if (memcmp(row, sgip->arle_row, sgip->xsize * sizeof(unsigned short)) == 0)
-           {
-             x = sgip->xsize;
-             break;
-           }
-          }
-        }
-        else
-        {
-          for (;;)
-          {
-            sgip->arle_offset = ftell(sgip->file);
-            if ((sgip->arle_length = read_rle16(sgip->file, sgip->arle_row, sgip->xsize)) < 0)
-            {
-              x = 0;
-              break;
-            }
-
-            if (memcmp(row, sgip->arle_row, sgip->xsize * sizeof(unsigned short)) == 0)
-           {
-             x = sgip->xsize;
-             break;
-           }
-          }
-        }
-
-       if (x == sgip->xsize)
-       {
-          sgip->table[z][y]  = sgip->arle_offset;
-          sgip->length[z][y] = sgip->arle_length;
-          return (0);
-       }
-       else
-         fseek(sgip->file, 0, SEEK_END);       /* Clear EOF */
-
-    case SGI_COMP_RLE :
-        if (sgip->table[z][y] != 0)
-          return (-1);
-
-        offset = sgip->table[z][y] = sgip->nextrow;
-
-        if (offset != ftell(sgip->file))
-          fseek(sgip->file, offset, SEEK_SET);
-
-        if (sgip->bpp == 1)
-          x = write_rle8(sgip->file, row, sgip->xsize);
-        else
-          x = write_rle16(sgip->file, row, sgip->xsize);
-
-        if (sgip->comp == SGI_COMP_ARLE)
-        {
-          sgip->arle_offset = offset;
-          sgip->arle_length = x;
-          memcpy(sgip->arle_row, row, sgip->xsize * sizeof(unsigned short));
-        }
-
-        sgip->nextrow      = ftell(sgip->file);
-        sgip->length[z][y] = x;
-
-        return (x);
-  }
-
-  return (0);
-}
-
-
-/*
- * 'getlong()' - Get a 32-bit big-endian integer.
- */
-
-static int                             /* O - Long value */
-getlong(FILE *fp)                      /* I - File to read from */
-{
-  unsigned char        b[4];                   /* Bytes from file */
-
-
-  fread(b, 4, 1, fp);
-  return ((b[0] << 24) | (b[1] << 16) | (b[2] << 8) | b[3]);
-}
-
-
-/*
- * 'getshort()' - Get a 16-bit big-endian integer.
- */
-
-static int                             /* O - Short value */
-getshort(FILE *fp)                     /* I - File to read from */
-{
-  unsigned char        b[2];                   /* Bytes from file */
-
-
-  fread(b, 2, 1, fp);
-  return ((b[0] << 8) | b[1]);
-}
-
-
-/*
- * 'putlong()' - Put a 32-bit big-endian integer.
- */
-
-static int                             /* O - 0 on success, -1 on error */
-putlong(long n,                                /* I - Long to write */
-        FILE *fp)                      /* I - File to write to */
-{
-  if (putc(n >> 24, fp) == EOF)
-    return (EOF);
-  if (putc(n >> 16, fp) == EOF)
-    return (EOF);
-  if (putc(n >> 8, fp) == EOF)
-    return (EOF);
-  if (putc(n, fp) == EOF)
-    return (EOF);
-  else
-    return (0);
-}
-
-
-/*
- * 'putshort()' - Put a 16-bit big-endian integer.
- */
-
-static int                             /* O - 0 on success, -1 on error */
-putshort(unsigned short n,             /* I - Short to write */
-         FILE           *fp)           /* I - File to write to */
-{
-  if (putc(n >> 8, fp) == EOF)
-    return (EOF);
-  if (putc(n, fp) == EOF)
-    return (EOF);
-  else
-    return (0);
-}
-
-
-/*
- * 'read_rle8()' - Read 8-bit RLE data.
- */
-
-static int                             /* O - Value on success, -1 on error */
-read_rle8(FILE           *fp,          /* I - File to read from */
-          unsigned short *row,         /* O - Data */
-          int            xsize)                /* I - Width of data in pixels */
-{
-  int  i,                              /* Looping var */
-       ch,                             /* Current character */
-       count,                          /* RLE count */
-       length;                         /* Number of bytes read... */
-
-
-  length = 0;
-
-  while (xsize > 0)
-  {
-    if ((ch = getc(fp)) == EOF)
-      return (-1);
-    length ++;
-
-    count = ch & 127;
-    if (count == 0)
-      break;
-
-    if (ch & 128)
-    {
-      for (i = 0; i < count; i ++, row ++, xsize --, length ++)
-        if (xsize > 0)
-         *row = getc(fp);
-    }
-    else
-    {
-      ch = getc(fp);
-      length ++;
-      for (i = 0; i < count && xsize > 0; i ++, row ++, xsize --)
-        *row = ch;
-    }
-  }
-
-  return (xsize > 0 ? -1 : length);
-}
-
-
-/*
- * 'read_rle16()' - Read 16-bit RLE data.
- */
-
-static int                             /* O - Value on success, -1 on error */
-read_rle16(FILE           *fp,         /* I - File to read from */
-           unsigned short *row,                /* O - Data */
-           int            xsize)       /* I - Width of data in pixels */
-{
-  int  i,                              /* Looping var */
-       ch,                             /* Current character */
-       count,                          /* RLE count */
-       length;                         /* Number of bytes read... */
-
-
-  length = 0;
-
-  while (xsize > 0)
-  {
-    if ((ch = getshort(fp)) == EOF)
-      return (-1);
-    length ++;
-
-    count = ch & 127;
-    if (count == 0)
-      break;
-
-    if (ch & 128)
-    {
-      for (i = 0; i < count; i ++, row ++, xsize --, length ++)
-        if (xsize > 0)
-         *row = getshort(fp);
-    }
-    else
-    {
-      ch = getshort(fp);
-      length ++;
-      for (i = 0; i < count && xsize > 0; i ++, row ++, xsize --)
-       *row = ch;
-    }
-  }
-
-  return (xsize > 0 ? -1 : length * 2);
-}
-
-
-/*
- * 'write_rle8()' - Write 8-bit RLE data.
- */
-
-static int                             /* O - Length on success, -1 on error */
-write_rle8(FILE           *fp,         /* I - File to write to */
-           unsigned short *row,                /* I - Data */
-           int            xsize)       /* I - Width of data in pixels */
-{
-  int                  length,         /* Length in bytes */
-                       count,          /* Number of repeating pixels */
-                       i,              /* Looping var */
-                       x;              /* Current column */
-  unsigned short       *start,         /* Start of current sequence */
-                       repeat;         /* Repeated pixel */
-
-
-  for (x = xsize, length = 0; x > 0;)
-  {
-    start = row;
-    row   += 2;
-    x     -= 2;
-
-    while (x > 0 && (row[-2] != row[-1] || row[-1] != row[0]))
-    {
-      row ++;
-      x --;
-    }
-
-    row -= 2;
-    x   += 2;
-
-    count = row - start;
-    while (count > 0)
-    {
-      i     = count > 126 ? 126 : count;
-      count -= i;
-
-      if (putc(128 | i, fp) == EOF)
-        return (-1);
-      length ++;
-
-      while (i > 0)
-      {
-       if (putc(*start, fp) == EOF)
-          return (-1);
-        start ++;
-        i --;
-        length ++;
-      }
-    }
-
-    if (x <= 0)
-      break;
-
-    start  = row;
-    repeat = row[0];
-
-    row ++;
-    x --;
-
-    while (x > 0 && *row == repeat)
-    {
-      row ++;
-      x --;
-    }
-
-    count = row - start;
-    while (count > 0)
-    {
-      i     = count > 126 ? 126 : count;
-      count -= i;
-
-      if (putc(i, fp) == EOF)
-        return (-1);
-      length ++;
-
-      if (putc(repeat, fp) == EOF)
-        return (-1);
-      length ++;
-    }
-  }
-
-  length ++;
-
-  if (putc(0, fp) == EOF)
-    return (-1);
-  else
-    return (length);
-}
-
-
-/*
- * 'write_rle16()' - Write 16-bit RLE data.
- */
-
-static int                             /* O - Length in words */
-write_rle16(FILE           *fp,                /* I - File to write to */
-            unsigned short *row,       /* I - Data */
-            int            xsize)      /* I - Width of data in pixels */
-{
-  int                  length,         /* Length in words */
-                       count,          /* Number of repeating pixels */
-                       i,              /* Looping var */
-                       x;              /* Current column */
-  unsigned short       *start,         /* Start of current sequence */
-                       repeat;         /* Repeated pixel */
-
-
-  for (x = xsize, length = 0; x > 0;)
-  {
-    start = row;
-    row   += 2;
-    x     -= 2;
-
-    while (x > 0 && (row[-2] != row[-1] || row[-1] != row[0]))
-    {
-      row ++;
-      x --;
-    }
-
-    row -= 2;
-    x   += 2;
-
-    count = row - start;
-    while (count > 0)
-    {
-      i     = count > 126 ? 126 : count;
-      count -= i;
-
-      if (putshort(128 | i, fp) == EOF)
-        return (-1);
-      length ++;
-
-      while (i > 0)
-      {
-       if (putshort(*start, fp) == EOF)
-          return (-1);
-        start ++;
-        i --;
-        length ++;
-      }
-    }
-
-    if (x <= 0)
-      break;
-
-    start  = row;
-    repeat = row[0];
-
-    row ++;
-    x --;
-
-    while (x > 0 && *row == repeat)
-    {
-      row ++;
-      x --;
-    }
-
-    count = row - start;
-    while (count > 0)
-    {
-      i     = count > 126 ? 126 : count;
-      count -= i;
-
-      if (putshort(i, fp) == EOF)
-        return (-1);
-      length ++;
-
-      if (putshort(repeat, fp) == EOF)
-        return (-1);
-      length ++;
-    }
-  }
-
-  length ++;
-
-  if (putshort(0, fp) == EOF)
-    return (-1);
-  else
-    return (2 * length);
-}
-
-
-/*
- * End of "$Id: image-sgilib.c 9771 2011-05-12 05:21:56Z mike $".
- */
diff --git a/filter/image-sun.c b/filter/image-sun.c
deleted file mode 100644 (file)
index 9b7db48..0000000
+++ /dev/null
@@ -1,407 +0,0 @@
-/*
- * "$Id: image-sun.c 9771 2011-05-12 05:21:56Z mike $"
- *
- *   Sun Raster image file routines for CUPS.
- *
- *   Copyright 2007-2011 by Apple Inc.
- *   Copyright 1993-2007 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- *   This file is subject to the Apple OS-Developed Software exception.
- *
- * Contents:
- *
- *   _cupsImageReadSunRaster() - Read a SunRaster image file.
- *   read_unsigned()      - Read a 32-bit unsigned integer.
- */
-
-/*
- * Include necessary headers...
- */
-
-#include "image-private.h"
-
-
-#define        RAS_MAGIC       0x59a66a95
-
-       /* Sun supported ras_type's */
-#define RT_OLD         0               /* Raw pixrect image in 68000 byte order */
-#define RT_STANDARD    1               /* Raw pixrect image in 68000 byte order */
-#define RT_BYTE_ENCODED        2               /* Run-length compression of bytes */
-#define RT_FORMAT_RGB  3               /* XRGB or RGB instead of XBGR or BGR */
-#define RT_EXPERIMENTAL        0xffff          /* Reserved for testing */
-
-       /* Sun registered ras_maptype's */
-#define RMT_RAW                2
-       /* Sun supported ras_maptype's */
-#define RMT_NONE       0               /* ras_maplength is expected to be 0 */
-#define RMT_EQUAL_RGB  1               /* red[ras_maplength/3],green[],blue[] */
-
-#define RAS_RLE 0x80
-
-/*
- * NOTES:
- *     Each line of the image is rounded out to a multiple of 16 bits.
- *   This corresponds to the rounding convention used by the memory pixrect
- *   package (/usr/include/pixrect/memvar.h) of the SunWindows system.
- *     The ras_encoding field (always set to 0 by Sun's supported software)
- *   was renamed to ras_length in release 2.0.  As a result, rasterfiles
- *   of type 0 generated by the old software claim to have 0 length; for
- *   compatibility, code reading rasterfiles must be prepared to compute the
- *   true length from the width, height, and depth fields.
- */
-
-/*
- * Local functions...
- */
-
-static unsigned        read_unsigned(FILE *fp);
-
-
-/*
- * '_cupsImageReadSunRaster()' - Read a SunRaster image file.
- */
-
-int                                    /* O - Read status */
-_cupsImageReadSunRaster(
-    cups_image_t    *img,              /* IO - cupsImage */
-    FILE            *fp,               /* I - cupsImage file */
-    cups_icspace_t  primary,           /* I - Primary choice for colorspace */
-    cups_icspace_t  secondary,         /* I - Secondary choice for colorspace */
-    int             saturation,                /* I - Color saturation (%) */
-    int             hue,               /* I - Color hue (degrees) */
-    const cups_ib_t *lut)              /* I - Lookup table for gamma/brightness */
-{
-  int          i, x, y,
-               bpp,                    /* Bytes per pixel */
-               scanwidth,
-               run_count,
-               run_value;
-  cups_ib_t    *in,
-               *out,
-               *scanline,
-               *scanptr,
-               *p,
-               bit;
-  unsigned     ras_depth,              /* depth (1, 8, or 24 bits) of pixel */
-               ras_type,               /* type of file; see RT_* below */
-               ras_maplength;          /* length (bytes) of following map */
-  unsigned char        cmap[3][256];           /* colormap */
-
-
- /*
-  * Read the header; we already know that this is a raster file (cupsImageOpen
-  * checks this) so we don't need to check the magic number again.
-  */
-
-  fputs("DEBUG: Reading Sun Raster image...\n", stderr);
-
-  read_unsigned(fp); /* Skip magic */
-  img->xsize    = read_unsigned(fp);
-  img->ysize    = read_unsigned(fp);
-  ras_depth     = read_unsigned(fp);
-  /* ras_length */read_unsigned(fp);
-  ras_type      = read_unsigned(fp);
-  /* ras_maptype*/read_unsigned(fp);
-  ras_maplength = read_unsigned(fp);
-
-  fprintf(stderr, "DEBUG: ras_width=%d, ras_height=%d, ras_depth=%d, ras_type=%d, ras_maplength=%d\n",
-          img->xsize, img->ysize, ras_depth, ras_type, ras_maplength);
-
-  if (ras_maplength > 768 ||
-      img->xsize == 0 || img->xsize > CUPS_IMAGE_MAX_WIDTH ||
-      img->ysize == 0 || img->ysize > CUPS_IMAGE_MAX_HEIGHT ||
-      ras_depth == 0 || ras_depth > 32)
-  {
-    fputs("DEBUG: Raster image cannot be loaded!\n", stderr);
-    return (1);
-  }
-
-  if (ras_maplength > 0)
-  {
-    memset(cmap[0], 255, sizeof(cmap[0]));
-    memset(cmap[1], 0, sizeof(cmap[1]));
-    memset(cmap[2], 0, sizeof(cmap[2]));
-
-    fread(cmap[0], 1, ras_maplength / 3, fp);
-    fread(cmap[1], 1, ras_maplength / 3, fp);
-    fread(cmap[2], 1, ras_maplength / 3, fp);
-  }
-
- /*
-  * Compute the width of each line and allocate memory as needed...
-  */
-
-  scanwidth = (img->xsize * ras_depth + 7) / 8;
-  if (scanwidth & 1)
-    scanwidth ++;
-
-  if (ras_depth < 24 && ras_maplength == 0)
-  {
-    img->colorspace = secondary;
-    in = malloc(img->xsize + 1);
-  }
-  else
-  {
-    img->colorspace = (primary == CUPS_IMAGE_RGB_CMYK) ? CUPS_IMAGE_RGB : primary;
-    in = malloc(img->xsize * 3 + 1);
-  }
-
-  if (!in)
-  {
-    fputs("DEBUG: Unable to allocate memory!\n", stderr);
-    fclose(fp);
-    return (1);
-  }
-
-  bpp = cupsImageGetDepth(img);
-
-  if ((out = malloc(img->xsize * bpp)) == NULL)
-  {
-    fputs("DEBUG: Unable to allocate memory!\n", stderr);
-    fclose(fp);
-    free(in);
-    return (1);
-  }
-
-  if ((scanline = malloc(scanwidth)) == NULL)
-  {
-    fputs("DEBUG: Unable to allocate memory!\n", stderr);
-    fclose(fp);
-    free(in);
-    free(out);
-    return (1);
-  }
-
-  run_count = 0;
-  run_value = 0;
-
-  fprintf(stderr, "DEBUG: bpp=%d, scanwidth=%d\n", bpp, scanwidth);
-
-  for (y = 0; y < img->ysize; y ++)
-  {
-    if ((ras_depth != 8 && ras_depth != 24) || ras_maplength > 0)
-      p = scanline;
-    else
-      p = in;
-
-    if (ras_type != RT_BYTE_ENCODED)
-      fread(p, scanwidth, 1, fp);
-    else
-    {
-      for (i = scanwidth; i > 0; i --, p ++)
-      {
-        if (run_count > 0)
-        {
-          *p = run_value;
-          run_count --;
-        }
-        else
-        {
-          run_value = getc(fp);
-
-          if (run_value == RAS_RLE)
-          {
-            run_count = getc(fp);
-            if (run_count == 0)
-              *p = RAS_RLE;
-            else
-              run_value = *p = getc(fp);
-          }
-          else
-            *p = run_value;
-        }
-      }
-    }
-
-    if (ras_depth == 1 && ras_maplength == 0)
-    {
-     /*
-      * 1-bit B&W image...
-      */
-
-      for (x = img->xsize, bit = 128, scanptr = scanline, p = in;
-           x > 0;
-           x --, p ++)
-      {
-       if (*scanptr & bit)
-          *p = 255;
-        else
-          *p = 0;
-
-       if (bit > 1)
-          bit >>= 1;
-       else
-       {
-          bit = 128;
-          scanptr ++;
-       }
-      }
-    }
-    else if (ras_depth == 1)
-    {
-     /*
-      * 1-bit colormapped image...
-      */
-
-      for (x = img->xsize, bit = 128, scanptr = scanline, p = in;
-           x > 0;
-           x --)
-      {
-       if (*scanptr & bit)
-       {
-          *p++ = cmap[0][1];
-          *p++ = cmap[1][1];
-          *p++ = cmap[2][1];
-       }
-        else
-       {
-          *p++ = cmap[0][0];
-          *p++ = cmap[1][0];
-          *p++ = cmap[2][0];
-       }
-
-       if (bit > 1)
-          bit >>= 1;
-       else
-       {
-          bit = 128;
-          scanptr ++;
-       }
-      }
-    }
-    else if (ras_depth == 8 && ras_maplength > 0)
-    {
-     /*
-      * 8-bit colormapped image.
-      */
-
-      for (x = img->xsize, scanptr = scanline, p = in;
-           x > 0;
-           x --)
-      {
-        *p++ = cmap[0][*scanptr];
-        *p++ = cmap[1][*scanptr];
-        *p++ = cmap[2][*scanptr++];
-      }
-    }
-    else if (ras_depth == 24 && ras_type != RT_FORMAT_RGB)
-    {
-     /*
-      * Convert BGR to RGB...
-      */
-
-      for (x = img->xsize, scanptr = scanline, p = in;
-           x > 0;
-           x --, scanptr += 3)
-      {
-        *p++ = scanptr[2];
-        *p++ = scanptr[1];
-        *p++ = scanptr[0];
-      }
-    }
-
-    if (ras_depth <= 8 && ras_maplength == 0)
-    {
-      if (img->colorspace == CUPS_IMAGE_WHITE)
-      {
-        if (lut)
-         cupsImageLut(in, img->xsize, lut);
-
-        _cupsImagePutRow(img, 0, y, img->xsize, in);
-      }
-      else
-      {
-       switch (img->colorspace)
-       {
-         default :
-             break;
-
-         case CUPS_IMAGE_RGB :
-             cupsImageWhiteToRGB(in, out, img->xsize);
-             break;
-         case CUPS_IMAGE_BLACK :
-             cupsImageWhiteToBlack(in, out, img->xsize);
-             break;
-         case CUPS_IMAGE_CMY :
-             cupsImageWhiteToCMY(in, out, img->xsize);
-             break;
-         case CUPS_IMAGE_CMYK :
-             cupsImageWhiteToCMYK(in, out, img->xsize);
-             break;
-       }
-
-        if (lut)
-         cupsImageLut(out, img->xsize * bpp, lut);
-
-        _cupsImagePutRow(img, 0, y, img->xsize, out);
-      }
-    }
-    else
-    {
-      if ((saturation != 100 || hue != 0) && bpp > 1)
-       cupsImageRGBAdjust(in, img->xsize, saturation, hue);
-
-      switch (img->colorspace)
-      {
-       default :
-           break;
-
-       case CUPS_IMAGE_WHITE :
-           cupsImageRGBToWhite(in, out, img->xsize);
-           break;
-       case CUPS_IMAGE_BLACK :
-           cupsImageRGBToBlack(in, out, img->xsize);
-           break;
-       case CUPS_IMAGE_CMY :
-           cupsImageRGBToCMY(in, out, img->xsize);
-           break;
-       case CUPS_IMAGE_CMYK :
-           cupsImageRGBToCMYK(in, out, img->xsize);
-           break;
-      }
-
-      if (lut)
-       cupsImageLut(out, img->xsize * bpp, lut);
-
-      _cupsImagePutRow(img, 0, y, img->xsize, out);
-    }
-  }
-
-  free(scanline);
-  free(in);
-  free(out);
-
-  fclose(fp);
-
-  return (0);
-}
-
-
-/*
- * 'read_unsigned()' - Read a 32-bit unsigned integer.
- */
-
-static unsigned                                /* O - Integer from file */
-read_unsigned(FILE *fp)                        /* I - File to read from */
-{
-  unsigned     v;                      /* Integer from file */
-
-
-  v = getc(fp);
-  v = (v << 8) | getc(fp);
-  v = (v << 8) | getc(fp);
-  v = (v << 8) | getc(fp);
-
-  return (v);
-}
-
-
-/*
- * End of "$Id: image-sun.c 9771 2011-05-12 05:21:56Z mike $".
- */
diff --git a/filter/image-tiff.c b/filter/image-tiff.c
deleted file mode 100644 (file)
index e8893d2..0000000
+++ /dev/null
@@ -1,1715 +0,0 @@
-/*
- * "$Id: image-tiff.c 9771 2011-05-12 05:21:56Z mike $"
- *
- *   TIFF file routines for CUPS.
- *
- *   Copyright 2007-2011 by Apple Inc.
- *   Copyright 1993-2007 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- *   This file is subject to the Apple OS-Developed Software exception.
- *
- * Contents:
- *
- *   _cupsImageReadTIFF() - Read a TIFF image file.
- */
-
-/*
- * Include necessary headers...
- */
-
-#include "image-private.h"
-
-#ifdef HAVE_LIBTIFF
-#  include <tiff.h>    /* TIFF image definitions */
-#  include <tiffio.h>
-#  include <unistd.h>
-
-
-/*
- * '_cupsImageReadTIFF()' - Read a TIFF image file.
- */
-
-int                                    /* O - Read status */
-_cupsImageReadTIFF(
-    cups_image_t    *img,              /* IO - cupsImage */
-    FILE            *fp,               /* I - cupsImage file */
-    cups_icspace_t  primary,           /* I - Primary choice for colorspace */
-    cups_icspace_t  secondary,         /* I - Secondary choice for colorspace */
-    int             saturation,                /* I - Color saturation (%) */
-    int             hue,               /* I - Color hue (degrees) */
-    const cups_ib_t *lut)              /* I - Lookup table for gamma/brightness */
-{
-  TIFF         *tif;                   /* TIFF file */
-  uint32       width, height;          /* Size of image */
-  uint16       photometric,            /* Colorspace */
-               compression,            /* Type of compression */
-               orientation,            /* Orientation */
-               resunit,                /* Units for resolution */
-               samples,                /* Number of samples/pixel */
-               bits,                   /* Number of bits/pixel */
-               inkset,                 /* Ink set for color separations */
-               numinks;                /* Number of inks in set */
-  float                xres,                   /* Horizontal resolution */
-               yres;                   /* Vertical resolution */
-  uint16       *redcmap,               /* Red colormap information */
-               *greencmap,             /* Green colormap information */
-               *bluecmap;              /* Blue colormap information */
-  int          c,                      /* Color index */
-               num_colors,             /* Number of colors */
-               bpp,                    /* Bytes per pixel */
-               x, y,                   /* Current x & y */
-               row,                    /* Current row in image */
-               xstart, ystart,         /* Starting x & y */
-               xdir, ydir,             /* X & y direction */
-               xcount, ycount,         /* X & Y counters */
-               pstep,                  /* Pixel step (= bpp or -2 * bpp) */
-               scanwidth,              /* Width of scanline */
-               r, g, b, k,             /* Red, green, blue, and black values */
-               alpha;                  /* cupsImage includes alpha? */
-  cups_ib_t            *in,                    /* Input buffer */
-               *out,                   /* Output buffer */
-               *p,                     /* Pointer into buffer */
-               *scanline,              /* Scanline buffer */
-               *scanptr,               /* Pointer into scanline buffer */
-               bit,                    /* Current bit */
-               pixel,                  /* Current pixel */
-               zero,                   /* Zero value (bitmaps) */
-               one;                    /* One value (bitmaps) */
-
-
- /*
-  * Open the TIFF file and get the required parameters...
-  */
-
-  lseek(fileno(fp), 0, SEEK_SET); /* Work around "feature" in some stdio's */
-
-  if ((tif = TIFFFdOpen(fileno(fp), "", "r")) == NULL)
-  {
-    fputs("DEBUG: TIFFFdOpen() failed!\n", stderr);
-    fclose(fp);
-    return (-1);
-  }
-
-  if (!TIFFGetField(tif, TIFFTAG_IMAGEWIDTH, &width))
-  {
-    fputs("DEBUG: No image width tag in the file!\n", stderr);
-    TIFFClose(tif);
-    fclose(fp);
-    return (-1);
-  }
-
-  if (!TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &height))
-  {
-    fputs("DEBUG: No image height tag in the file!\n", stderr);
-    TIFFClose(tif);
-    fclose(fp);
-    return (-1);
-  }
-
-  if (!TIFFGetField(tif, TIFFTAG_PHOTOMETRIC, &photometric))
-  {
-    fputs("DEBUG: No photometric tag in the file!\n", stderr);
-    TIFFClose(tif);
-    fclose(fp);
-    return (-1);
-  }
-
-  if (!TIFFGetField(tif, TIFFTAG_COMPRESSION, &compression))
-  {
-    fputs("DEBUG: No compression tag in the file!\n", stderr);
-    TIFFClose(tif);
-    fclose(fp);
-    return (-1);
-  }
-
-  if (!TIFFGetField(tif, TIFFTAG_SAMPLESPERPIXEL, &samples))
-    samples = 1;
-
-  if (!TIFFGetField(tif, TIFFTAG_BITSPERSAMPLE, &bits))
-    bits = 1;
-
- /*
-  * Get the image orientation...
-  */
-
-  if (!TIFFGetField(tif, TIFFTAG_ORIENTATION, &orientation))
-    orientation = 0;
-
- /*
-  * Get the image resolution...
-  */
-
-  if (TIFFGetField(tif, TIFFTAG_XRESOLUTION, &xres) &&
-      TIFFGetField(tif, TIFFTAG_YRESOLUTION, &yres) &&
-      TIFFGetField(tif, TIFFTAG_RESOLUTIONUNIT, &resunit))
-  {
-    if (resunit == RESUNIT_INCH)
-    {
-      img->xppi = xres;
-      img->yppi = yres;
-    }
-    else if (resunit == RESUNIT_CENTIMETER)
-    {
-      img->xppi = xres * 2.54;
-      img->yppi = yres * 2.54;
-    }
-    else
-    {
-      img->xppi = 128;
-      img->yppi = 128;
-    }
-
-    if (img->xppi == 0 || img->yppi == 0)
-    {
-      fputs("DEBUG: Bad TIFF resolution.\n", stderr);
-      img->xppi = img->yppi = 128;
-    }
-
-    fprintf(stderr, "DEBUG: TIFF resolution = %fx%f, units=%d\n",
-            xres, yres, resunit);
-    fprintf(stderr, "DEBUG: Stored resolution = %dx%d PPI\n",
-            img->xppi, img->yppi);
-  }
-
- /*
-  * See if the image has an alpha channel...
-  */
-
-  if (samples == 2 || (samples == 4 && photometric == PHOTOMETRIC_RGB))
-    alpha = 1;
-  else
-    alpha = 0;
-
- /*
-  * Check the size of the image...
-  */
-
-  if (width == 0 || width > CUPS_IMAGE_MAX_WIDTH ||
-      height == 0 || height > CUPS_IMAGE_MAX_HEIGHT ||
-      (bits != 1 && bits != 2 && bits != 4 && bits != 8) ||
-      samples < 1 || samples > 4)
-  {
-    fprintf(stderr, "DEBUG: Bad TIFF dimensions %ux%ux%ux%u!\n",
-            (unsigned)width, (unsigned)height, (unsigned)bits,
-           (unsigned)samples);
-    TIFFClose(tif);
-    fclose(fp);
-    return (1);
-  }
-
- /*
-  * Setup the image size and colorspace...
-  */
-
-  img->xsize = width;
-  img->ysize = height;
-  if (photometric == PHOTOMETRIC_MINISBLACK ||
-      photometric == PHOTOMETRIC_MINISWHITE)
-    img->colorspace = secondary;
-  else if (photometric == PHOTOMETRIC_SEPARATED && primary == CUPS_IMAGE_RGB_CMYK)
-    img->colorspace = CUPS_IMAGE_CMYK;
-  else if (primary == CUPS_IMAGE_RGB_CMYK)
-    img->colorspace = CUPS_IMAGE_RGB;
-  else
-    img->colorspace = primary;
-
-  fprintf(stderr, "DEBUG: img->colorspace = %d\n", img->colorspace);
-
-  bpp = cupsImageGetDepth(img);
-
-  cupsImageSetMaxTiles(img, 0);
-
- /*
-  * Set the X & Y start and direction according to the image orientation...
-  */
-
-  switch (orientation)
-  {
-    case ORIENTATION_TOPRIGHT :
-        fputs("DEBUG: orientation = top-right\n", stderr);
-        break;
-    case ORIENTATION_RIGHTTOP :
-        fputs("DEBUG: orientation = right-top\n", stderr);
-        break;
-    default :
-    case ORIENTATION_TOPLEFT :
-        fputs("DEBUG: orientation = top-left\n", stderr);
-        break;
-    case ORIENTATION_LEFTTOP :
-        fputs("DEBUG: orientation = left-top\n", stderr);
-        break;
-    case ORIENTATION_BOTLEFT :
-        fputs("DEBUG: orientation = bottom-left\n", stderr);
-        break;
-    case ORIENTATION_LEFTBOT :
-        fputs("DEBUG: orientation = left-bottom\n", stderr);
-        break;
-    case ORIENTATION_BOTRIGHT :
-        fputs("DEBUG: orientation = bottom-right\n", stderr);
-        break;
-    case ORIENTATION_RIGHTBOT :
-        fputs("DEBUG: orientation = right-bottom\n", stderr);
-        break;
-  }
-
-  switch (orientation)
-  {
-    case ORIENTATION_TOPRIGHT :
-    case ORIENTATION_RIGHTTOP :
-        xstart = img->xsize - 1;
-        xdir   = -1;
-        ystart = 0;
-        ydir   = 1;
-        break;
-    default :
-    case ORIENTATION_TOPLEFT :
-    case ORIENTATION_LEFTTOP :
-        xstart = 0;
-        xdir   = 1;
-        ystart = 0;
-        ydir   = 1;
-        break;
-    case ORIENTATION_BOTLEFT :
-    case ORIENTATION_LEFTBOT :
-        xstart = 0;
-        xdir   = 1;
-        ystart = img->ysize - 1;
-        ydir   = -1;
-        break;
-    case ORIENTATION_BOTRIGHT :
-    case ORIENTATION_RIGHTBOT :
-        xstart = img->xsize - 1;
-        xdir   = -1;
-        ystart = img->ysize - 1;
-        ydir   = -1;
-        break;
-  }
-
- /*
-  * Allocate a scanline buffer...
-  */
-
-  scanwidth = TIFFScanlineSize(tif);
-  scanline  = _TIFFmalloc(scanwidth);
-
- /*
-  * Allocate input and output buffers...
-  */
-
-  if (orientation < ORIENTATION_LEFTTOP)
-  {
-    if (samples > 1 || photometric == PHOTOMETRIC_PALETTE)
-      pstep = xdir * 3;
-    else
-      pstep = xdir;
-
-    in  = malloc(img->xsize * 3 + 3);
-    out = malloc(img->xsize * bpp);
-  }
-  else
-  {
-    if (samples > 1 || photometric == PHOTOMETRIC_PALETTE)
-      pstep = ydir * 3;
-    else
-      pstep = ydir;
-
-    in  = malloc(img->ysize * 3 + 3);
-    out = malloc(img->ysize * bpp);
-  }
-
- /*
-  * Read the image.  This is greatly complicated by the fact that TIFF
-  * supports literally hundreds of different colorspaces and orientations,
-  * each which must be handled separately...
-  */
-
-  fprintf(stderr, "DEBUG: photometric = %d\n", photometric);
-  fprintf(stderr, "DEBUG: compression = %d\n", compression);
-
-  switch (photometric)
-  {
-    case PHOTOMETRIC_MINISWHITE :
-    case PHOTOMETRIC_MINISBLACK :
-        if (photometric == PHOTOMETRIC_MINISWHITE)
-        {
-          zero = 255;
-          one  = 0;
-        }
-        else
-        {
-          zero = 0;
-          one  = 255;
-        }
-
-        if (orientation < ORIENTATION_LEFTTOP)
-        {
-         /*
-          * Row major order...
-          */
-
-          for (y = ystart, ycount = img->ysize, row = 0;
-               ycount > 0;
-               ycount --, y += ydir, row ++)
-          {
-            if (bits == 1)
-            {
-              TIFFReadScanline(tif, scanline, row, 0);
-              for (xcount = img->xsize, scanptr = scanline, p = in + xstart, bit = 128;
-                   xcount > 0;
-                   xcount --, p += pstep)
-              {
-               if (*scanptr & bit)
-                  *p = one;
-                else
-                  *p = zero;
-
-               if (bit > 1)
-                  bit >>= 1;
-               else
-               {
-                  bit = 128;
-                  scanptr ++;
-               }
-              }
-            }
-            else if (bits == 2)
-            {
-              TIFFReadScanline(tif, scanline, row, 0);
-              for (xcount = img->xsize, scanptr = scanline, p = in + xstart, bit = 0xc0;
-                   xcount > 0;
-                   xcount --, p += pstep)
-              {
-                pixel = *scanptr & bit;
-                while (pixel > 3)
-                  pixel >>= 2;
-                *p = (255 * pixel / 3) ^ zero;
-
-               if (bit > 3)
-                  bit >>= 2;
-               else
-               {
-                  bit = 0xc0;
-                  scanptr ++;
-               }
-              }
-            }
-            else if (bits == 4)
-            {
-              TIFFReadScanline(tif, scanline, row, 0);
-              for (xcount = img->xsize, scanptr = scanline, p = in + xstart, bit = 0xf0;
-                   xcount > 0;
-                   xcount --, p += pstep)
-              {
-                if (bit == 0xf0)
-                {
-                  *p = (255 * ((*scanptr & 0xf0) >> 4) / 15) ^ zero;
-                  bit = 0x0f;
-                }
-                else
-               {
-                  *p = (255 * (*scanptr & 0x0f) / 15) ^ zero;
-                  bit = 0xf0;
-                  scanptr ++;
-               }
-              }
-            }
-            else if (xdir < 0 || zero || alpha)
-            {
-              TIFFReadScanline(tif, scanline, row, 0);
-
-              if (alpha)
-             {
-               if (zero)
-               {
-                  for (xcount = img->xsize, p = in + xstart, scanptr = scanline;
-                       xcount > 0;
-                       xcount --, p += pstep, scanptr += 2)
-                    *p = (scanptr[1] * (255 - scanptr[0]) +
-                         (255 - scanptr[1]) * 255) / 255;
-               }
-               else
-               {
-                  for (xcount = img->xsize, p = in + xstart, scanptr = scanline;
-                       xcount > 0;
-                       xcount --, p += pstep, scanptr += 2)
-                    *p = (scanptr[1] * scanptr[0] +
-                         (255 - scanptr[1]) * 255) / 255;
-               }
-             }
-             else
-             {
-               if (zero)
-               {
-                  for (xcount = img->xsize, p = in + xstart, scanptr = scanline;
-                       xcount > 0;
-                       xcount --, p += pstep, scanptr ++)
-                    *p = 255 - *scanptr;
-               }
-               else
-               {
-                  for (xcount = img->xsize, p = in + xstart, scanptr = scanline;
-                       xcount > 0;
-                       xcount --, p += pstep, scanptr ++)
-                    *p = *scanptr;
-               }
-              }
-            }
-            else
-              TIFFReadScanline(tif, in, row, 0);
-
-            if (img->colorspace == CUPS_IMAGE_WHITE)
-           {
-             if (lut)
-               cupsImageLut(in, img->xsize, lut);
-
-              _cupsImagePutRow(img, 0, y, img->xsize, in);
-           }
-            else
-            {
-             switch (img->colorspace)
-             {
-               default :
-                   break;
-
-               case CUPS_IMAGE_RGB :
-                   cupsImageWhiteToRGB(in, out, img->xsize);
-                   break;
-               case CUPS_IMAGE_BLACK :
-                   cupsImageWhiteToBlack(in, out, img->xsize);
-                   break;
-               case CUPS_IMAGE_CMY :
-                   cupsImageWhiteToCMY(in, out, img->xsize);
-                   break;
-               case CUPS_IMAGE_CMYK :
-                   cupsImageWhiteToCMYK(in, out, img->xsize);
-                   break;
-             }
-
-             if (lut)
-               cupsImageLut(out, img->xsize * bpp, lut);
-
-              _cupsImagePutRow(img, 0, y, img->xsize, out);
-           }
-          }
-        }
-        else
-        {
-         /*
-          * Column major order...
-          */
-
-          for (x = xstart, xcount = img->xsize, row = 0;
-               xcount > 0;
-               xcount --, x += xdir, row ++)
-          {
-            if (bits == 1)
-            {
-              TIFFReadScanline(tif, scanline, row, 0);
-              for (ycount = img->ysize, scanptr = scanline, p = in + ystart, bit = 128;
-                   ycount > 0;
-                   ycount --, p += ydir)
-              {
-               if (*scanptr & bit)
-                  *p = one;
-                else
-                  *p = zero;
-
-               if (bit > 1)
-                  bit >>= 1;
-               else
-               {
-                  bit = 128;
-                  scanptr ++;
-               }
-              }
-            }
-            else if (bits == 2)
-            {
-              TIFFReadScanline(tif, scanline, row, 0);
-              for (ycount = img->ysize, scanptr = scanline, p = in + ystart, bit = 0xc0;
-                   ycount > 0;
-                   ycount --, p += ydir)
-              {
-                pixel = *scanptr & 0xc0;
-                while (pixel > 3)
-                  pixel >>= 2;
-
-                *p = (255 * pixel / 3) ^ zero;
-
-               if (bit > 3)
-                  bit >>= 2;
-               else
-               {
-                  bit = 0xc0;
-                  scanptr ++;
-               }
-              }
-            }
-            else if (bits == 4)
-            {
-              TIFFReadScanline(tif, scanline, row, 0);
-              for (ycount = img->ysize, scanptr = scanline, p = in + ystart, bit = 0xf0;
-                   ycount > 0;
-                   ycount --, p += ydir)
-              {
-               if (bit == 0xf0)
-               {
-                  *p = (255 * ((*scanptr & 0xf0) >> 4) / 15) ^ zero;
-                  bit = 0x0f;
-                }
-               else
-               {
-                  *p = (255 * (*scanptr & 0x0f) / 15) ^ zero;
-                  bit = 0xf0;
-                  scanptr ++;
-               }
-              }
-            }
-            else if (ydir < 0 || zero || alpha)
-            {
-              TIFFReadScanline(tif, scanline, row, 0);
-
-              if (alpha)
-             {
-               if (zero)
-               {
-                  for (ycount = img->ysize, p = in + ystart, scanptr = scanline;
-                       ycount > 0;
-                       ycount --, p += ydir, scanptr += 2)
-                    *p = (scanptr[1] * (255 - scanptr[0]) +
-                         (255 - scanptr[1]) * 255) / 255;
-               }
-               else
-               {
-                  for (ycount = img->ysize, p = in + ystart, scanptr = scanline;
-                       ycount > 0;
-                       ycount --, p += ydir, scanptr += 2)
-                    *p = (scanptr[1] * scanptr[0] +
-                         (255 - scanptr[1]) * 255) / 255;
-               }
-              }
-             else
-             {
-               if (zero)
-               {
-                  for (ycount = img->ysize, p = in + ystart, scanptr = scanline;
-                       ycount > 0;
-                       ycount --, p += ydir, scanptr ++)
-                    *p = 255 - *scanptr;
-               }
-               else
-               {
-                  for (ycount = img->ysize, p = in + ystart, scanptr = scanline;
-                       ycount > 0;
-                       ycount --, p += ydir, scanptr ++)
-                    *p = *scanptr;
-               }
-             }
-            }
-            else
-              TIFFReadScanline(tif, in, row, 0);
-
-            if (img->colorspace == CUPS_IMAGE_WHITE)
-           {
-             if (lut)
-               cupsImageLut(in, img->ysize, lut);
-
-              _cupsImagePutCol(img, x, 0, img->ysize, in);
-           }
-            else
-            {
-             switch (img->colorspace)
-             {
-               default :
-                   break;
-
-               case CUPS_IMAGE_RGB :
-                   cupsImageWhiteToRGB(in, out, img->ysize);
-                   break;
-               case CUPS_IMAGE_BLACK :
-                   cupsImageWhiteToBlack(in, out, img->ysize);
-                   break;
-               case CUPS_IMAGE_CMY :
-                   cupsImageWhiteToCMY(in, out, img->ysize);
-                   break;
-               case CUPS_IMAGE_CMYK :
-                   cupsImageWhiteToCMYK(in, out, img->ysize);
-                   break;
-             }
-
-             if (lut)
-               cupsImageLut(out, img->ysize * bpp, lut);
-
-              _cupsImagePutCol(img, x, 0, img->ysize, out);
-           }
-          }
-        }
-        break;
-
-    case PHOTOMETRIC_PALETTE :
-       if (!TIFFGetField(tif, TIFFTAG_COLORMAP, &redcmap, &greencmap, &bluecmap))
-       {
-          fputs("DEBUG: No colormap tag in the file!\n", stderr);
-         fclose(fp);
-         return (-1);
-       }
-
-        num_colors = 1 << bits;
-
-        for (c = 0; c < num_colors; c ++)
-       {
-         redcmap[c]   >>= 8;
-         greencmap[c] >>= 8;
-         bluecmap[c]  >>= 8;
-       }
-
-        if (orientation < ORIENTATION_LEFTTOP)
-        {
-         /*
-          * Row major order...
-          */
-
-          for (y = ystart, ycount = img->ysize, row = 0;
-               ycount > 0;
-               ycount --, y += ydir, row ++)
-          {
-            if (bits == 1)
-            {
-              TIFFReadScanline(tif, scanline, row, 0);
-              for (xcount = img->xsize, scanptr = scanline,
-                      p = in + xstart * 3, bit = 128;
-                   xcount > 0;
-                   xcount --, p += pstep)
-              {
-               if (*scanptr & bit)
-               {
-                  p[0] = redcmap[1];
-                  p[1] = greencmap[1];
-                  p[2] = bluecmap[1];
-               }
-                else
-               {
-                  p[0] = redcmap[0];
-                  p[1] = greencmap[0];
-                  p[2] = bluecmap[0];
-               }
-
-               if (bit > 1)
-                  bit >>= 1;
-               else
-               {
-                  bit = 128;
-                  scanptr ++;
-               }
-              }
-            }
-            else if (bits == 2)
-            {
-              TIFFReadScanline(tif, scanline, row, 0);
-              for (xcount = img->xsize, scanptr = scanline,
-                      p = in + xstart * 3, bit = 0xc0;
-                   xcount > 0;
-                   xcount --, p += pstep)
-              {
-                pixel = *scanptr & bit;
-                while (pixel > 3)
-                  pixel >>= 2;
-
-                p[0] = redcmap[pixel];
-                p[1] = greencmap[pixel];
-                p[2] = bluecmap[pixel];
-
-               if (bit > 3)
-                  bit >>= 2;
-               else
-               {
-                  bit = 0xc0;
-                  scanptr ++;
-               }
-              }
-            }
-            else if (bits == 4)
-            {
-              TIFFReadScanline(tif, scanline, row, 0);
-              for (xcount = img->xsize, scanptr = scanline,
-                      p = in + 3 * xstart, bit = 0xf0;
-                   xcount > 0;
-                   xcount --, p += pstep)
-              {
-                if (bit == 0xf0)
-                {
-                 pixel = (*scanptr & 0xf0) >> 4;
-                  p[0]  = redcmap[pixel];
-                  p[1]  = greencmap[pixel];
-                  p[2]  = bluecmap[pixel];
-                  bit   = 0x0f;
-                }
-                else
-               {
-                 pixel = *scanptr++ & 0x0f;
-                  p[0]  = redcmap[pixel];
-                  p[1]  = greencmap[pixel];
-                  p[2]  = bluecmap[pixel];
-                  bit   = 0xf0;
-               }
-              }
-            }
-            else
-            {
-              TIFFReadScanline(tif, scanline, row, 0);
-
-              for (xcount = img->xsize, p = in + 3 * xstart, scanptr = scanline;
-                   xcount > 0;
-                   xcount --, p += pstep)
-              {
-               p[0] = redcmap[*scanptr];
-               p[1] = greencmap[*scanptr];
-               p[2] = bluecmap[*scanptr++];
-             }
-            }
-
-           switch (img->colorspace)
-           {
-             default :
-                 break;
-
-             case CUPS_IMAGE_WHITE :
-                 cupsImageRGBToWhite(in, out, img->xsize);
-                 break;
-             case CUPS_IMAGE_RGB :
-                 cupsImageRGBToRGB(in, out, img->xsize);
-                 break;
-             case CUPS_IMAGE_BLACK :
-                 cupsImageRGBToBlack(in, out, img->xsize);
-                 break;
-             case CUPS_IMAGE_CMY :
-                 cupsImageRGBToCMY(in, out, img->xsize);
-                 break;
-             case CUPS_IMAGE_CMYK :
-                 cupsImageRGBToCMYK(in, out, img->xsize);
-                 break;
-           }
-
-           if (lut)
-             cupsImageLut(out, img->xsize * bpp, lut);
-
-            _cupsImagePutRow(img, 0, y, img->xsize, out);
-          }
-        }
-        else
-        {
-         /*
-          * Column major order...
-          */
-
-          for (x = xstart, xcount = img->xsize, row = 0;
-               xcount > 0;
-               xcount --, x += xdir, row ++)
-          {
-            if (bits == 1)
-            {
-              TIFFReadScanline(tif, scanline, row, 0);
-              for (ycount = img->ysize, scanptr = scanline,
-                      p = in + 3 * ystart, bit = 128;
-                   ycount > 0;
-                   ycount --, p += ydir)
-              {
-               if (*scanptr & bit)
-               {
-                  p[0] = redcmap[1];
-                  p[1] = greencmap[1];
-                  p[2] = bluecmap[1];
-               }
-                else
-               {
-                  p[0] = redcmap[0];
-                  p[1] = greencmap[0];
-                  p[2] = bluecmap[0];
-               }
-
-               if (bit > 1)
-                  bit >>= 1;
-               else
-               {
-                  bit = 128;
-                  scanptr ++;
-               }
-              }
-            }
-            else if (bits == 2)
-            {
-              TIFFReadScanline(tif, scanline, row, 0);
-              for (ycount = img->ysize, scanptr = scanline,
-                      p = in + 3 * ystart, bit = 0xc0;
-                   ycount > 0;
-                   ycount --, p += ydir)
-              {
-                pixel = *scanptr & 0xc0;
-                while (pixel > 3)
-                  pixel >>= 2;
-
-                p[0] = redcmap[pixel];
-                p[1] = greencmap[pixel];
-                p[2] = bluecmap[pixel];
-
-               if (bit > 3)
-                  bit >>= 2;
-               else
-               {
-                  bit = 0xc0;
-                  scanptr ++;
-               }
-              }
-            }
-            else if (bits == 4)
-            {
-              TIFFReadScanline(tif, scanline, row, 0);
-              for (ycount = img->ysize, scanptr = scanline,
-                      p = in + 3 * ystart, bit = 0xf0;
-                   ycount > 0;
-                   ycount --, p += ydir)
-              {
-                if (bit == 0xf0)
-                {
-                 pixel = (*scanptr & 0xf0) >> 4;
-                  p[0]  = redcmap[pixel];
-                  p[1]  = greencmap[pixel];
-                  p[2]  = bluecmap[pixel];
-                  bit   = 0x0f;
-                }
-                else
-               {
-                 pixel = *scanptr++ & 0x0f;
-                  p[0]  = redcmap[pixel];
-                  p[1]  = greencmap[pixel];
-                  p[2]  = bluecmap[pixel];
-                  bit   = 0xf0;
-               }
-              }
-            }
-            else
-            {
-              TIFFReadScanline(tif, scanline, row, 0);
-
-              for (ycount = img->ysize, p = in + 3 * ystart, scanptr = scanline;
-                   ycount > 0;
-                   ycount --, p += ydir)
-              {
-               p[0] = redcmap[*scanptr];
-               p[1] = greencmap[*scanptr];
-               p[2] = bluecmap[*scanptr++];
-             }
-            }
-
-           switch (img->colorspace)
-           {
-             default :
-                 break;
-
-             case CUPS_IMAGE_WHITE :
-                 cupsImageRGBToWhite(in, out, img->ysize);
-                 break;
-             case CUPS_IMAGE_RGB :
-                 cupsImageRGBToRGB(in, out, img->ysize);
-                 break;
-             case CUPS_IMAGE_BLACK :
-                 cupsImageRGBToBlack(in, out, img->ysize);
-                 break;
-             case CUPS_IMAGE_CMY :
-                 cupsImageRGBToCMY(in, out, img->ysize);
-                 break;
-             case CUPS_IMAGE_CMYK :
-                 cupsImageRGBToCMYK(in, out, img->ysize);
-                 break;
-           }
-
-           if (lut)
-             cupsImageLut(out, img->ysize * bpp, lut);
-
-            _cupsImagePutCol(img, x, 0, img->ysize, out);
-         }
-        }
-        break;
-
-    case PHOTOMETRIC_RGB :
-        if (orientation < ORIENTATION_LEFTTOP)
-        {
-         /*
-          * Row major order...
-          */
-
-          for (y = ystart, ycount = img->ysize, row = 0;
-               ycount > 0;
-               ycount --, y += ydir, row ++)
-          {
-            if (bits == 1)
-            {
-              TIFFReadScanline(tif, scanline, row, 0);
-              for (xcount = img->xsize, scanptr = scanline, p = in + xstart * 3, bit = 0xf0;
-                   xcount > 0;
-                   xcount --, p += pstep)
-              {
-               if (*scanptr & bit & 0x88)
-                  p[0] = 255;
-                else
-                  p[0] = 0;
-
-               if (*scanptr & bit & 0x44)
-                  p[1] = 255;
-                else
-                  p[1] = 0;
-
-               if (*scanptr & bit & 0x22)
-                  p[2] = 255;
-                else
-                  p[2] = 0;
-
-               if (bit == 0xf0)
-                  bit = 0x0f;
-               else
-               {
-                  bit = 0xf0;
-                  scanptr ++;
-               }
-              }
-            }
-            else if (bits == 2)
-            {
-              TIFFReadScanline(tif, scanline, row, 0);
-              for (xcount = img->xsize, scanptr = scanline, p = in + xstart * 3;
-                   xcount > 0;
-                   xcount --, p += pstep, scanptr ++)
-              {
-                pixel = *scanptr >> 2;
-                p[0] = 255 * (pixel & 3) / 3;
-                pixel >>= 2;
-                p[1] = 255 * (pixel & 3) / 3;
-                pixel >>= 2;
-                p[2] = 255 * (pixel & 3) / 3;
-              }
-            }
-            else if (bits == 4)
-            {
-              TIFFReadScanline(tif, scanline, row, 0);
-              for (xcount = img->xsize, scanptr = scanline, p = in + xstart * 3;
-                   xcount > 0;
-                   xcount -= 2, p += 2 * pstep, scanptr += 3)
-              {
-                pixel = scanptr[0];
-                p[1] = 255 * (pixel & 15) / 15;
-                pixel >>= 4;
-                p[0] = 255 * (pixel & 15) / 15;
-                pixel = scanptr[1];
-                p[2] = 255 * ((pixel >> 4) & 15) / 15;
-
-                if (xcount > 1)
-                {
-                  p[pstep + 0] = 255 * (pixel & 15) / 15;
-                  pixel = scanptr[2];
-                  p[pstep + 2] = 255 * (pixel & 15) / 15;
-                  pixel >>= 4;
-                  p[pstep + 1] = 255 * (pixel & 15) / 15;
-                }
-              }
-            }
-            else if (xdir < 0 || alpha)
-            {
-              TIFFReadScanline(tif, scanline, row, 0);
-
-              if (alpha)
-             {
-               for (xcount = img->xsize, p = in + xstart * 3, scanptr = scanline;
-                     xcount > 0;
-                     xcount --, p += pstep, scanptr += 4)
-               {
-                  p[0] = (scanptr[0] * scanptr[3] + 255 * (255 - scanptr[3])) / 255;
-                  p[1] = (scanptr[1] * scanptr[3] + 255 * (255 - scanptr[3])) / 255;
-                  p[2] = (scanptr[2] * scanptr[3] + 255 * (255 - scanptr[3])) / 255;
-               }
-              }
-             else
-              {
-               for (xcount = img->xsize, p = in + xstart * 3, scanptr = scanline;
-                     xcount > 0;
-                     xcount --, p += pstep, scanptr += 3)
-               {
-                  p[0] = scanptr[0];
-                  p[1] = scanptr[1];
-                  p[2] = scanptr[2];
-               }
-             }
-            }
-            else
-              TIFFReadScanline(tif, in, row, 0);
-
-            if ((saturation != 100 || hue != 0) && bpp > 1)
-              cupsImageRGBAdjust(in, img->xsize, saturation, hue);
-
-           switch (img->colorspace)
-           {
-             default :
-                 break;
-
-             case CUPS_IMAGE_WHITE :
-                 cupsImageRGBToWhite(in, out, img->xsize);
-                 break;
-             case CUPS_IMAGE_RGB :
-                 cupsImageRGBToRGB(in, out, img->xsize);
-                 break;
-             case CUPS_IMAGE_BLACK :
-                 cupsImageRGBToBlack(in, out, img->xsize);
-                 break;
-             case CUPS_IMAGE_CMY :
-                 cupsImageRGBToCMY(in, out, img->xsize);
-                 break;
-             case CUPS_IMAGE_CMYK :
-                 cupsImageRGBToCMYK(in, out, img->xsize);
-                 break;
-           }
-
-           if (lut)
-             cupsImageLut(out, img->xsize * bpp, lut);
-
-            _cupsImagePutRow(img, 0, y, img->xsize, out);
-          }
-        }
-        else
-        {
-         /*
-          * Column major order...
-          */
-
-          for (x = xstart, xcount = img->xsize, row = 0;
-               xcount > 0;
-               xcount --, x += xdir, row ++)
-          {
-            if (bits == 1)
-            {
-              TIFFReadScanline(tif, scanline, row, 0);
-              for (ycount = img->ysize, scanptr = scanline, p = in + ystart * 3, bit = 0xf0;
-                   ycount > 0;
-                   ycount --, p += pstep)
-              {
-               if (*scanptr & bit & 0x88)
-                  p[0] = 255;
-                else
-                  p[0] = 0;
-
-               if (*scanptr & bit & 0x44)
-                  p[1] = 255;
-                else
-                  p[1] = 0;
-
-               if (*scanptr & bit & 0x22)
-                  p[2] = 255;
-                else
-                  p[2] = 0;
-
-               if (bit == 0xf0)
-                  bit = 0x0f;
-               else
-               {
-                  bit = 0xf0;
-                  scanptr ++;
-               }
-              }
-            }
-            else if (bits == 2)
-            {
-              TIFFReadScanline(tif, scanline, row, 0);
-              for (ycount = img->ysize, scanptr = scanline, p = in + ystart * 3;
-                   ycount > 0;
-                   ycount --, p += pstep, scanptr ++)
-              {
-                pixel = *scanptr >> 2;
-                p[0] = 255 * (pixel & 3) / 3;
-                pixel >>= 2;
-                p[1] = 255 * (pixel & 3) / 3;
-                pixel >>= 2;
-                p[2] = 255 * (pixel & 3) / 3;
-              }
-            }
-            else if (bits == 4)
-            {
-              TIFFReadScanline(tif, scanline, row, 0);
-              for (ycount = img->ysize, scanptr = scanline, p = in + ystart * 3;
-                   ycount > 0;
-                   ycount -= 2, p += 2 * pstep, scanptr += 3)
-              {
-                pixel = scanptr[0];
-                p[1] = 255 * (pixel & 15) / 15;
-                pixel >>= 4;
-                p[0] = 255 * (pixel & 15) / 15;
-                pixel = scanptr[1];
-                p[2] = 255 * ((pixel >> 4) & 15) / 15;
-
-                if (ycount > 1)
-                {
-                  p[pstep + 0] = 255 * (pixel & 15) / 15;
-                  pixel = scanptr[2];
-                  p[pstep + 2] = 255 * (pixel & 15) / 15;
-                  pixel >>= 4;
-                  p[pstep + 1] = 255 * (pixel & 15) / 15;
-                }
-              }
-            }
-            else if (ydir < 0 || alpha)
-            {
-              TIFFReadScanline(tif, scanline, row, 0);
-
-              if (alpha)
-             {
-               for (ycount = img->ysize, p = in + ystart * 3, scanptr = scanline;
-                     ycount > 0;
-                     ycount --, p += pstep, scanptr += 4)
-               {
-                  p[0] = (scanptr[0] * scanptr[3] + 255 * (255 - scanptr[3])) / 255;
-                  p[1] = (scanptr[1] * scanptr[3] + 255 * (255 - scanptr[3])) / 255;
-                  p[2] = (scanptr[2] * scanptr[3] + 255 * (255 - scanptr[3])) / 255;
-               }
-              }
-             else
-             {
-               for (ycount = img->ysize, p = in + ystart * 3, scanptr = scanline;
-                     ycount > 0;
-                     ycount --, p += pstep, scanptr += 3)
-               {
-                  p[0] = scanptr[0];
-                  p[1] = scanptr[1];
-                  p[2] = scanptr[2];
-               }
-             }
-            }
-            else
-              TIFFReadScanline(tif, in, row, 0);
-
-            if ((saturation != 100 || hue != 0) && bpp > 1)
-              cupsImageRGBAdjust(in, img->ysize, saturation, hue);
-
-           switch (img->colorspace)
-           {
-             default :
-                 break;
-
-             case CUPS_IMAGE_WHITE :
-                 cupsImageRGBToWhite(in, out, img->ysize);
-                 break;
-             case CUPS_IMAGE_RGB :
-                 cupsImageRGBToRGB(in, out, img->ysize);
-                 break;
-             case CUPS_IMAGE_BLACK :
-                 cupsImageRGBToBlack(in, out, img->ysize);
-                 break;
-             case CUPS_IMAGE_CMY :
-                 cupsImageRGBToCMY(in, out, img->ysize);
-                 break;
-             case CUPS_IMAGE_CMYK :
-                 cupsImageRGBToCMYK(in, out, img->ysize);
-                 break;
-           }
-
-           if (lut)
-             cupsImageLut(out, img->ysize * bpp, lut);
-
-            _cupsImagePutCol(img, x, 0, img->ysize, out);
-          }
-        }
-        break;
-
-    case PHOTOMETRIC_SEPARATED :
-        inkset  = INKSET_CMYK;
-        numinks = 4;
-
-#ifdef TIFFTAG_NUMBEROFINKS
-        if (!TIFFGetField(tif, TIFFTAG_INKSET, &inkset) &&
-           !TIFFGetField(tif, TIFFTAG_NUMBEROFINKS, &numinks))
-#else
-        if (!TIFFGetField(tif, TIFFTAG_INKSET, &inkset))
-#endif /* TIFFTAG_NUMBEROFINKS */
-       {
-          fputs("WARNING: No inkset or number-of-inks tag in the file!\n", stderr);
-       }
-
-       if (inkset == INKSET_CMYK || numinks == 4)
-       {
-          if (orientation < ORIENTATION_LEFTTOP)
-          {
-           /*
-            * Row major order...
-            */
-
-            for (y = ystart, ycount = img->ysize, row = 0;
-                ycount > 0;
-                ycount --, y += ydir, row ++)
-            {
-              if (bits == 1)
-              {
-               TIFFReadScanline(tif, scanline, row, 0);
-               for (xcount = img->xsize, scanptr = scanline, p = in + xstart * 3, bit = 0xf0;
-                     xcount > 0;
-                     xcount --, p += pstep)
-               {
-                 if (*scanptr & bit & 0x11)
-                 {
-                    p[0] = 0;
-                    p[1] = 0;
-                    p[2] = 0;
-                  }
-                  else
-                  {
-                   if (*scanptr & bit & 0x88)
-                      p[0] = 0;
-                    else
-                      p[0] = 255;
-
-                   if (*scanptr & bit & 0x44)
-                      p[1] = 0;
-                    else
-                      p[1] = 255;
-
-                   if (*scanptr & bit & 0x22)
-                      p[2] = 0;
-                    else
-                      p[2] = 255;
-                  }
-
-                 if (bit == 0xf0)
-                    bit = 0x0f;
-                 else
-                 {
-                    bit = 0xf0;
-                    scanptr ++;
-                 }
-               }
-              }
-              else if (bits == 2)
-              {
-               TIFFReadScanline(tif, scanline, row, 0);
-               for (xcount = img->xsize, scanptr = scanline, p = in + xstart * 3;
-                     xcount > 0;
-                     xcount --, p += pstep, scanptr ++)
-               {
-                 pixel = *scanptr;
-                 k     = 255 * (pixel & 3) / 3;
-                 if (k == 255)
-                 {
-                   p[0] = 0;
-                   p[1] = 0;
-                   p[2] = 0;
-                 }
-                 else
-                 {
-                    pixel >>= 2;
-                    b = 255 - 255 * (pixel & 3) / 3 - k;
-                    if (b < 0)
-                      p[2] = 0;
-                    else if (b < 256)
-                      p[2] = b;
-                    else
-                      p[2] = 255;
-
-                    pixel >>= 2;
-                    g = 255 - 255 * (pixel & 3) / 3 - k;
-                    if (g < 0)
-                      p[1] = 0;
-                    else if (g < 256)
-                      p[1] = g;
-                    else
-                      p[1] = 255;
-
-                    pixel >>= 2;
-                    r = 255 - 255 * (pixel & 3) / 3 - k;
-                    if (r < 0)
-                      p[0] = 0;
-                    else if (r < 256)
-                      p[0] = r;
-                    else
-                      p[0] = 255;
-                  }
-               }
-              }
-              else if (bits == 4)
-              {
-               TIFFReadScanline(tif, scanline, row, 0);
-               for (xcount = img->xsize, scanptr = scanline, p = in + xstart * 3;
-                     xcount > 0;
-                     xcount --, p += pstep, scanptr += 2)
-               {
-                 pixel = scanptr[1];
-                 k     = 255 * (pixel & 15) / 15;
-                 if (k == 255)
-                 {
-                   p[0] = 0;
-                   p[1] = 0;
-                   p[2] = 0;
-                 }
-                 else
-                 {
-                    pixel >>= 4;
-                    b = 255 - 255 * (pixel & 15) / 15 - k;
-                    if (b < 0)
-                      p[2] = 0;
-                    else if (b < 256)
-                      p[2] = b;
-                    else
-                      p[2] = 255;
-
-                    pixel = scanptr[0];
-                    g = 255 - 255 * (pixel & 15) / 15 - k;
-                    if (g < 0)
-                      p[1] = 0;
-                    else if (g < 256)
-                      p[1] = g;
-                    else
-                      p[1] = 255;
-
-                    pixel >>= 4;
-                    r = 255 - 255 * (pixel & 15) / 15 - k;
-                    if (r < 0)
-                      p[0] = 0;
-                    else if (r < 256)
-                      p[0] = r;
-                    else
-                      p[0] = 255;
-                  }
-               }
-              }
-              else if (img->colorspace == CUPS_IMAGE_CMYK)
-             {
-               TIFFReadScanline(tif, scanline, row, 0);
-               _cupsImagePutRow(img, 0, y, img->xsize, scanline);
-             }
-             else
-              {
-               TIFFReadScanline(tif, scanline, row, 0);
-
-               for (xcount = img->xsize, p = in + xstart * 3, scanptr = scanline;
-                     xcount > 0;
-                     xcount --, p += pstep, scanptr += 4)
-               {
-                 k = scanptr[3];
-                 if (k == 255)
-                 {
-                   p[0] = 0;
-                   p[1] = 0;
-                   p[2] = 0;
-                 }
-                 else
-                 {
-                    r = 255 - scanptr[0] - k;
-                    if (r < 0)
-                      p[0] = 0;
-                    else if (r < 256)
-                      p[0] = r;
-                    else
-                      p[0] = 255;
-
-                    g = 255 - scanptr[1] - k;
-                    if (g < 0)
-                      p[1] = 0;
-                    else if (g < 256)
-                      p[1] = g;
-                    else
-                      p[1] = 255;
-
-                    b = 255 - scanptr[2] - k;
-                    if (b < 0)
-                      p[2] = 0;
-                    else if (b < 256)
-                      p[2] = b;
-                    else
-                      p[2] = 255;
-                 }
-               }
-              }
-
-              if ((saturation != 100 || hue != 0) && bpp > 1)
-               cupsImageRGBAdjust(in, img->xsize, saturation, hue);
-
-             switch (img->colorspace)
-             {
-               default :
-                   break;
-
-               case CUPS_IMAGE_WHITE :
-                   cupsImageRGBToWhite(in, out, img->xsize);
-                   break;
-               case CUPS_IMAGE_RGB :
-                   cupsImageRGBToRGB(in, out, img->xsize);
-                   break;
-               case CUPS_IMAGE_BLACK :
-                   cupsImageRGBToBlack(in, out, img->xsize);
-                   break;
-               case CUPS_IMAGE_CMY :
-                   cupsImageRGBToCMY(in, out, img->xsize);
-                   break;
-               case CUPS_IMAGE_CMYK :
-                   cupsImageRGBToCMYK(in, out, img->xsize);
-                   break;
-             }
-
-             if (lut)
-               cupsImageLut(out, img->xsize * 3, lut);
-
-              _cupsImagePutRow(img, 0, y, img->xsize, out);
-            }
-          }
-          else
-          {
-           /*
-            * Column major order...
-            */
-
-            for (x = xstart, xcount = img->xsize, row = 0;
-                xcount > 0;
-                xcount --, x += xdir, row ++)
-            {
-              if (bits == 1)
-              {
-               TIFFReadScanline(tif, scanline, row, 0);
-               for (ycount = img->ysize, scanptr = scanline, p = in + xstart * 3, bit = 0xf0;
-                     ycount > 0;
-                     ycount --, p += pstep)
-               {
-                 if (*scanptr & bit & 0x11)
-                 {
-                    p[0] = 0;
-                    p[1] = 0;
-                    p[2] = 0;
-                  }
-                  else
-                  {
-                   if (*scanptr & bit & 0x88)
-                      p[0] = 0;
-                    else
-                      p[0] = 255;
-
-                   if (*scanptr & bit & 0x44)
-                      p[1] = 0;
-                    else
-                      p[1] = 255;
-
-                   if (*scanptr & bit & 0x22)
-                      p[2] = 0;
-                    else
-                      p[2] = 255;
-                  }
-
-                 if (bit == 0xf0)
-                    bit = 0x0f;
-                 else
-                 {
-                    bit = 0xf0;
-                    scanptr ++;
-                 }
-               }
-              }
-              else if (bits == 2)
-              {
-               TIFFReadScanline(tif, scanline, row, 0);
-               for (ycount = img->ysize, scanptr = scanline, p = in + xstart * 3;
-                     ycount > 0;
-                     ycount --, p += pstep, scanptr ++)
-               {
-                 pixel = *scanptr;
-                 k     = 255 * (pixel & 3) / 3;
-                 if (k == 255)
-                 {
-                   p[0] = 0;
-                   p[1] = 0;
-                   p[2] = 0;
-                 }
-                 else
-                 {
-                    pixel >>= 2;
-                    b = 255 - 255 * (pixel & 3) / 3 - k;
-                    if (b < 0)
-                      p[2] = 0;
-                    else if (b < 256)
-                      p[2] = b;
-                    else
-                      p[2] = 255;
-
-                    pixel >>= 2;
-                    g = 255 - 255 * (pixel & 3) / 3 - k;
-                    if (g < 0)
-                      p[1] = 0;
-                    else if (g < 256)
-                      p[1] = g;
-                    else
-                      p[1] = 255;
-
-                    pixel >>= 2;
-                    r = 255 - 255 * (pixel & 3) / 3 - k;
-                    if (r < 0)
-                      p[0] = 0;
-                    else if (r < 256)
-                      p[0] = r;
-                    else
-                      p[0] = 255;
-                  }
-               }
-              }
-              else if (bits == 4)
-              {
-               TIFFReadScanline(tif, scanline, row, 0);
-               for (ycount = img->ysize, scanptr = scanline, p = in + xstart * 3;
-                     ycount > 0;
-                     ycount --, p += pstep, scanptr += 2)
-               {
-                 pixel = scanptr[1];
-                 k     = 255 * (pixel & 15) / 15;
-                 if (k == 255)
-                 {
-                   p[0] = 0;
-                   p[1] = 0;
-                   p[2] = 0;
-                 }
-                 else
-                 {
-                    pixel >>= 4;
-                    b = 255 - 255 * (pixel & 15) / 15 - k;
-                    if (b < 0)
-                      p[2] = 0;
-                    else if (b < 256)
-                      p[2] = b;
-                    else
-                      p[2] = 255;
-
-                    pixel = scanptr[0];
-                    g = 255 - 255 * (pixel & 15) / 15 - k;
-                    if (g < 0)
-                      p[1] = 0;
-                    else if (g < 256)
-                      p[1] = g;
-                    else
-                      p[1] = 255;
-
-                    pixel >>= 4;
-                    r = 255 - 255 * (pixel & 15) / 15 - k;
-                    if (r < 0)
-                      p[0] = 0;
-                    else if (r < 256)
-                      p[0] = r;
-                    else
-                      p[0] = 255;
-                  }
-               }
-              }
-              else if (img->colorspace == CUPS_IMAGE_CMYK)
-             {
-               TIFFReadScanline(tif, scanline, row, 0);
-               _cupsImagePutCol(img, x, 0, img->ysize, scanline);
-             }
-              else
-              {
-               TIFFReadScanline(tif, scanline, row, 0);
-
-               for (ycount = img->ysize, p = in + xstart * 3, scanptr = scanline;
-                     ycount > 0;
-                     ycount --, p += pstep, scanptr += 4)
-               {
-                 k = scanptr[3];
-                 if (k == 255)
-                 {
-                   p[0] = 0;
-                   p[1] = 0;
-                   p[2] = 0;
-                 }
-                 else
-                 {
-                    r = 255 - scanptr[0] - k;
-                    if (r < 0)
-                      p[0] = 0;
-                    else if (r < 256)
-                      p[0] = r;
-                    else
-                      p[0] = 255;
-
-                    g = 255 - scanptr[1] - k;
-                    if (g < 0)
-                      p[1] = 0;
-                    else if (g < 256)
-                      p[1] = g;
-                    else
-                      p[1] = 255;
-
-                    b = 255 - scanptr[2] - k;
-                    if (b < 0)
-                      p[2] = 0;
-                    else if (b < 256)
-                      p[2] = b;
-                    else
-                      p[2] = 255;
-                 }
-               }
-              }
-
-              if ((saturation != 100 || hue != 0) && bpp > 1)
-               cupsImageRGBAdjust(in, img->ysize, saturation, hue);
-
-             switch (img->colorspace)
-             {
-               default :
-                   break;
-
-               case CUPS_IMAGE_WHITE :
-                   cupsImageRGBToWhite(in, out, img->ysize);
-                   break;
-               case CUPS_IMAGE_RGB :
-                   cupsImageRGBToRGB(in, out, img->ysize);
-                   break;
-               case CUPS_IMAGE_BLACK :
-                   cupsImageRGBToBlack(in, out, img->ysize);
-                   break;
-               case CUPS_IMAGE_CMY :
-                   cupsImageRGBToCMY(in, out, img->ysize);
-                   break;
-               case CUPS_IMAGE_CMYK :
-                   cupsImageRGBToCMYK(in, out, img->ysize);
-                   break;
-             }
-
-             if (lut)
-               cupsImageLut(out, img->ysize * bpp, lut);
-
-              _cupsImagePutCol(img, x, 0, img->ysize, out);
-            }
-          }
-
-          break;
-       }
-
-    default :
-       _TIFFfree(scanline);
-       free(in);
-       free(out);
-
-       TIFFClose(tif);
-       fputs("DEBUG: Unknown TIFF photometric value!\n", stderr);
-       return (-1);
-  }
-
- /*
-  * Free temporary buffers, close the TIFF file, and return.
-  */
-
-  _TIFFfree(scanline);
-  free(in);
-  free(out);
-
-  TIFFClose(tif);
-  return (0);
-}
-#endif /* HAVE_LIBTIFF */
-
-
-/*
- * End of "$Id: image-tiff.c 9771 2011-05-12 05:21:56Z mike $".
- */
diff --git a/filter/image-zoom.c b/filter/image-zoom.c
deleted file mode 100644 (file)
index 823bc4e..0000000
+++ /dev/null
@@ -1,361 +0,0 @@
-/*
- * "$Id: image-zoom.c 9502 2011-01-21 23:56:14Z mike $"
- *
- *   cupsImage zoom routines for CUPS.
- *
- *   Copyright 2007-2011 by Apple Inc.
- *   Copyright 1993-2006 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- *   This file is subject to the Apple OS-Developed Software exception.
- *
- * Contents:
- *
- *   _cupsImageZoomDelete() - Free a zoom record...
- *   _cupsImageZoomFill()   - Fill a zoom record...
- *   _cupsImageZoomNew()    - Allocate a pixel zoom record...
- *   zoom_bilinear()        - Fill a zoom record with image data utilizing
- *                            bilinear interpolation.
- *   zoom_nearest()         - Fill a zoom record quickly using nearest-neighbor
- *                            sampling.
- */
-
-/*
- * Include necessary headers...
- */
-
-#include "image-private.h"
-
-
-/*
- * Local functions...
- */
-
-static void    zoom_bilinear(cups_izoom_t *z, int iy);
-static void    zoom_nearest(cups_izoom_t *z, int iy);
-
-
-/*
- * '_cupsImageZoomDelete()' - Free a zoom record...
- */
-
-void
-_cupsImageZoomDelete(cups_izoom_t *z)  /* I - Zoom record to free */
-{
-  free(z->rows[0]);
-  free(z->rows[1]);
-  free(z->in);
-  free(z);
-}
-
-
-/*
- * '_cupsImageZoomFill()' - Fill a zoom record with image data utilizing bilinear
- *                         interpolation.
- */
-
-void
-_cupsImageZoomFill(cups_izoom_t *z,    /* I - Zoom record to fill */
-                   int     iy)         /* I - Zoom image row */
-{
-  switch (z->type)
-  {
-    case CUPS_IZOOM_FAST :
-        zoom_nearest(z, iy);
-       break;
-
-    default :
-        zoom_bilinear(z, iy);
-       break;
-  }
-}
-
-
-/*
- * '_cupsImageZoomNew()' - Allocate a pixel zoom record...
- */
-
-cups_izoom_t *
-_cupsImageZoomNew(
-    cups_image_t  *img,                        /* I - cupsImage to zoom */
-    int           xc0,                 /* I - Upper-lefthand corner */
-    int           yc0,                 /* I - ... */
-    int           xc1,                 /* I - Lower-righthand corner */
-    int           yc1,                 /* I - ... */
-    int           xsize,               /* I - Final width of image */
-    int           ysize,               /* I - Final height of image */
-    int           rotated,             /* I - Non-zero if image is rotated 90 degs */
-    cups_iztype_t type)                        /* I - Zoom type */
-{
-  cups_izoom_t *z;                     /* New zoom record */
-  int          flip;                   /* Flip on X axis? */
-
-
-  if (xsize > CUPS_IMAGE_MAX_WIDTH ||
-      ysize > CUPS_IMAGE_MAX_HEIGHT ||
-      (xc1 - xc0) > CUPS_IMAGE_MAX_WIDTH ||
-      (yc1 - yc0) > CUPS_IMAGE_MAX_HEIGHT)
-    return (NULL);             /* Protect against integer overflow */
-
-  if ((z = (cups_izoom_t *)calloc(1, sizeof(cups_izoom_t))) == NULL)
-    return (NULL);
-
-  z->img     = img;
-  z->row     = 0;
-  z->depth   = cupsImageGetDepth(img);
-  z->rotated = rotated;
-  z->type    = type;
-
-  if (xsize < 0)
-  {
-    flip  = 1;
-    xsize = -xsize;
-  }
-  else
-  {
-    flip  = 0;
-  }
-
-  if (rotated)
-  {
-    z->xorig   = xc1;
-    z->yorig   = yc0;
-    z->width   = yc1 - yc0 + 1;
-    z->height  = xc1 - xc0 + 1;
-    z->xsize   = xsize;
-    z->ysize   = ysize;
-    z->xmod    = z->width % z->xsize;
-    z->xstep   = z->width / z->xsize;
-    z->xincr   = 1;
-    z->ymod    = z->height % z->ysize;
-    z->ystep   = z->height / z->ysize;
-    z->yincr   = 1;
-    z->instep  = z->xstep * z->depth;
-    z->inincr  = /* z->xincr * */ z->depth; /* z->xincr is always 1 */
-
-    if (z->width < img->ysize)
-      z->xmax = z->width;
-    else
-      z->xmax = z->width - 1;
-
-    if (z->height < img->xsize)
-      z->ymax = z->height;
-    else
-      z->ymax = z->height - 1;
-  }
-  else
-  {
-    z->xorig   = xc0;
-    z->yorig   = yc0;
-    z->width   = xc1 - xc0 + 1;
-    z->height  = yc1 - yc0 + 1;
-    z->xsize   = xsize;
-    z->ysize   = ysize;
-    z->xmod    = z->width % z->xsize;
-    z->xstep   = z->width / z->xsize;
-    z->xincr   = 1;
-    z->ymod    = z->height % z->ysize;
-    z->ystep   = z->height / z->ysize;
-    z->yincr   = 1;
-    z->instep  = z->xstep * z->depth;
-    z->inincr  = /* z->xincr * */ z->depth; /* z->xincr is always 1 */
-
-    if (z->width < img->xsize)
-      z->xmax = z->width;
-    else
-      z->xmax = z->width - 1;
-
-    if (z->height < img->ysize)
-      z->ymax = z->height;
-    else
-      z->ymax = z->height - 1;
-  }
-
-  if (flip)
-  {
-    z->instep = -z->instep;
-    z->inincr = -z->inincr;
-  }
-
-  if ((z->rows[0] = (cups_ib_t *)malloc(z->xsize * z->depth)) == NULL)
-  {
-    free(z);
-    return (NULL);
-  }
-
-  if ((z->rows[1] = (cups_ib_t *)malloc(z->xsize * z->depth)) == NULL)
-  {
-    free(z->rows[0]);
-    free(z);
-    return (NULL);
-  }
-
-  if ((z->in = (cups_ib_t *)malloc(z->width * z->depth)) == NULL)
-  {
-    free(z->rows[0]);
-    free(z->rows[1]);
-    free(z);
-    return (NULL);
-  }
-
-  return (z);
-}
-
-
-/*
- * 'zoom_bilinear()' - Fill a zoom record with image data utilizing bilinear
- *                     interpolation.
- */
-
-static void
-zoom_bilinear(cups_izoom_t *z,         /* I - Zoom record to fill */
-              int          iy)         /* I - Zoom image row */
-{
-  cups_ib_t    *r,                     /* Row pointer */
-               *inptr;                 /* Pixel pointer */
-  int          xerr0,                  /* X error counter */
-               xerr1;                  /* ... */
-  int          ix,
-               x,
-               count,
-               z_depth,
-               z_xstep,
-               z_xincr,
-               z_instep,
-               z_inincr,
-               z_xmax,
-               z_xmod,
-               z_xsize;
-
-
-  if (iy > z->ymax)
-    iy = z->ymax;
-
-  z->row ^= 1;
-
-  z_depth  = z->depth;
-  z_xsize  = z->xsize;
-  z_xmax   = z->xmax;
-  z_xmod   = z->xmod;
-  z_xstep  = z->xstep;
-  z_xincr  = z->xincr;
-  z_instep = z->instep;
-  z_inincr = z->inincr;
-
-  if (z->rotated)
-    cupsImageGetCol(z->img, z->xorig - iy, z->yorig, z->width, z->in);
-  else
-    cupsImageGetRow(z->img, z->xorig, z->yorig + iy, z->width, z->in);
-
-  if (z_inincr < 0)
-    inptr = z->in + (z->width - 1) * z_depth;
-  else
-    inptr = z->in;
-
-  for (x = z_xsize, xerr0 = z_xsize, xerr1 = 0, ix = 0, r = z->rows[z->row];
-       x > 0;
-       x --)
-  {
-    if (ix < z_xmax)
-    {
-      for (count = 0; count < z_depth; count ++)
-        *r++ = (inptr[count] * xerr0 + inptr[z_depth + count] * xerr1) / z_xsize;
-    }
-    else
-    {
-      for (count = 0; count < z_depth; count ++)
-        *r++ = inptr[count];
-    }
-
-    ix    += z_xstep;
-    inptr += z_instep;
-    xerr0 -= z_xmod;
-    xerr1 += z_xmod;
-
-    if (xerr0 <= 0)
-    {
-      xerr0 += z_xsize;
-      xerr1 -= z_xsize;
-      ix    += z_xincr;
-      inptr += z_inincr;
-    }
-  }
-}
-
-
-/*
- * 'zoom_nearest()' - Fill a zoom record quickly using nearest-neighbor
- *                    sampling.
- */
-
-static void
-zoom_nearest(cups_izoom_t *z,          /* I - Zoom record to fill */
-             int          iy)          /* I - Zoom image row */
-{
-  cups_ib_t    *r,                     /* Row pointer */
-               *inptr;                 /* Pixel pointer */
-  int          xerr0;                  /* X error counter */
-  int          ix,
-               x,
-               count,
-               z_depth,
-               z_xstep,
-               z_xincr,
-               z_instep,
-               z_inincr,
-               z_xmod,
-               z_xsize;
-
-
-  if (iy > z->ymax)
-    iy = z->ymax;
-
-  z->row ^= 1;
-
-  z_depth  = z->depth;
-  z_xsize  = z->xsize;
-  z_xmod   = z->xmod;
-  z_xstep  = z->xstep;
-  z_xincr  = z->xincr;
-  z_instep = z->instep;
-  z_inincr = z->inincr;
-
-  if (z->rotated)
-    cupsImageGetCol(z->img, z->xorig - iy, z->yorig, z->width, z->in);
-  else
-    cupsImageGetRow(z->img, z->xorig, z->yorig + iy, z->width, z->in);
-
-  if (z_inincr < 0)
-    inptr = z->in + (z->width - 1) * z_depth;
-  else
-    inptr = z->in;
-
-  for (x = z_xsize, xerr0 = z_xsize, ix = 0, r = z->rows[z->row];
-       x > 0;
-       x --)
-  {
-    for (count = 0; count < z_depth; count ++)
-      *r++ = inptr[count];
-
-    ix    += z_xstep;
-    inptr += z_instep;
-    xerr0 -= z_xmod;
-
-    if (xerr0 <= 0)
-    {
-      xerr0 += z_xsize;
-      ix    += z_xincr;
-      inptr += z_inincr;
-    }
-  }
-}
-
-
-/*
- * End of "$Id: image-zoom.c 9502 2011-01-21 23:56:14Z mike $".
- */
diff --git a/filter/image.c b/filter/image.c
deleted file mode 100644 (file)
index 3cb11ac..0000000
+++ /dev/null
@@ -1,813 +0,0 @@
-/*
- * "$Id: image.c 9873 2011-08-06 06:47:46Z mike $"
- *
- *   Base image support for CUPS.
- *
- *   Copyright 2007-2011 by Apple Inc.
- *   Copyright 1993-2005 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- *   This file is subject to the Apple OS-Developed Software exception.
- *
- * Contents:
- *
- *   cupsImageClose()         - Close an image file.
- *   cupsImageGetCol()        - Get a column of pixels from an image.
- *   cupsImageGetColorSpace() - Get the image colorspace.
- *   cupsImageGetDepth()      - Get the number of bytes per pixel.
- *   cupsImageGetHeight()     - Get the height of an image.
- *   cupsImageGetRow()        - Get a row of pixels from an image.
- *   cupsImageGetWidth()      - Get the width of an image.
- *   cupsImageGetXPPI()       - Get the horizontal resolution of an image.
- *   cupsImageGetYPPI()       - Get the vertical resolution of an image.
- *   cupsImageOpen()          - Open an image file and read it into memory.
- *   _cupsImagePutCol()       - Put a column of pixels to an image.
- *   _cupsImagePutRow()       - Put a row of pixels to an image.
- *   cupsImageSetMaxTiles()   - Set the maximum number of tiles to cache.
- *   flush_tile()             - Flush the least-recently-used tile in the cache.
- *   get_tile()               - Get a cached tile.
- */
-
-/*
- * Include necessary headers...
- */
-
-#include "image-private.h"
-
-
-/*
- * Local functions...
- */
-
-static void            flush_tile(cups_image_t *img);
-static cups_ib_t       *get_tile(cups_image_t *img, int x, int y);
-
-
-/*
- * 'cupsImageClose()' - Close an image file.
- */
-
-void
-cupsImageClose(cups_image_t *img)      /* I - Image to close */
-{
-  cups_ic_t    *current,               /* Current cached tile */
-               *next;                  /* Next cached tile */
-
-
- /*
-  * Wipe the tile cache file (if any)...
-  */
-
-  if (img->cachefile >= 0)
-  {
-    DEBUG_printf(("Closing/removing swap file \"%s\"...\n", img->cachename));
-
-    close(img->cachefile);
-    unlink(img->cachename);
-  }
-
- /*
-  * Free the image cache...
-  */
-
-  DEBUG_puts("Freeing memory...");
-
-  for (current = img->first, next = NULL; current != NULL; current = next)
-  {
-    DEBUG_printf(("Freeing cache (%p, next = %p)...\n", current, next));
-
-    next = current->next;
-    free(current);
-  }
-
- /*
-  * Free the rest of memory...
-  */
-
-  if (img->tiles != NULL)
-  {
-    DEBUG_printf(("Freeing tiles (%p)...\n", img->tiles[0]));
-
-    free(img->tiles[0]);
-
-    DEBUG_printf(("Freeing tile pointers (%p)...\n", img->tiles));
-
-    free(img->tiles);
-  }
-
-  free(img);
-}
-
-
-/*
- * 'cupsImageGetCol()' - Get a column of pixels from an image.
- */
-
-int                                    /* O - -1 on error, 0 on success */
-cupsImageGetCol(cups_image_t *img,     /* I - Image */
-               int          x,         /* I - Column */
-               int          y,         /* I - Start row */
-               int          height,    /* I - Column height */
-               cups_ib_t    *pixels)   /* O - Pixel data */
-{
-  int                  bpp,            /* Bytes per pixel */
-                       twidth,         /* Tile width */
-                       count;          /* Number of pixels to get */
-  const cups_ib_t      *ib;            /* Pointer into tile */
-
-
-  if (img == NULL || x < 0 || x >= img->xsize || y >= img->ysize)
-    return (-1);
-
-  if (y < 0)
-  {
-    height += y;
-    y = 0;
-  }
-
-  if ((y + height) > img->ysize)
-    height = img->ysize - y;
-
-  if (height < 1)
-    return (-1);
-
-  bpp    = cupsImageGetDepth(img);
-  twidth = bpp * (CUPS_TILE_SIZE - 1);
-
-  while (height > 0)
-  {
-    ib = get_tile(img, x, y);
-
-    if (ib == NULL)
-      return (-1);
-
-    count = CUPS_TILE_SIZE - (y & (CUPS_TILE_SIZE - 1));
-    if (count > height)
-      count = height;
-
-    y      += count;
-    height -= count;
-
-    for (; count > 0; count --, ib += twidth)
-      switch (bpp)
-      {
-        case 4 :
-            *pixels++ = *ib++;
-        case 3 :
-            *pixels++ = *ib++;
-            *pixels++ = *ib++;
-        case 1 :
-            *pixels++ = *ib++;
-            break;
-      }
-  }
-
-  return (0);
-}
-
-
-/*
- * 'cupsImageGetColorSpace()' - Get the image colorspace.
- */
-
-cups_icspace_t                         /* O - Colorspace */
-cupsImageGetColorSpace(
-    cups_image_t *img)                 /* I - Image */
-{
-  return (img->colorspace);
-}
-
-
-/*
- * 'cupsImageGetDepth()' - Get the number of bytes per pixel.
- */
-
-int                                    /* O - Bytes per pixel */
-cupsImageGetDepth(cups_image_t *img)   /* I - Image */
-{
-  return (abs(img->colorspace));
-}
-
-
-/*
- * 'cupsImageGetHeight()' - Get the height of an image.
- */
-
-unsigned                               /* O - Height in pixels */
-cupsImageGetHeight(cups_image_t *img)  /* I - Image */
-{
-  return (img->ysize);
-}
-
-
-/*
- * 'cupsImageGetRow()' - Get a row of pixels from an image.
- */
-
-int                                    /* O - -1 on error, 0 on success */
-cupsImageGetRow(cups_image_t *img,     /* I - Image */
-                int          x,                /* I - Start column */
-                int          y,                /* I - Row */
-                int          width,    /* I - Width of row */
-                cups_ib_t    *pixels)  /* O - Pixel data */
-{
-  int                  bpp,            /* Bytes per pixel */
-                       count;          /* Number of pixels to get */
-  const cups_ib_t      *ib;            /* Pointer to pixels */
-
-
-  if (img == NULL || y < 0 || y >= img->ysize || x >= img->xsize)
-    return (-1);
-
-  if (x < 0)
-  {
-    width += x;
-    x = 0;
-  }
-
-  if ((x + width) > img->xsize)
-    width = img->xsize - x;
-
-  if (width < 1)
-    return (-1);
-
-  bpp = img->colorspace < 0 ? -img->colorspace : img->colorspace;
-
-  while (width > 0)
-  {
-    ib = get_tile(img, x, y);
-
-    if (ib == NULL)
-      return (-1);
-
-    count = CUPS_TILE_SIZE - (x & (CUPS_TILE_SIZE - 1));
-    if (count > width)
-      count = width;
-    memcpy(pixels, ib, count * bpp);
-    pixels += count * bpp;
-    x      += count;
-    width  -= count;
-  }
-
-  return (0);
-}
-
-
-/*
- * 'cupsImageGetWidth()' - Get the width of an image.
- */
-
-unsigned                               /* O - Width in pixels */
-cupsImageGetWidth(cups_image_t *img)   /* I - Image */
-{
-  return (img->xsize);
-}
-
-
-/*
- * 'cupsImageGetXPPI()' - Get the horizontal resolution of an image.
- */
-
-unsigned                               /* O - Horizontal PPI */
-cupsImageGetXPPI(cups_image_t *img)    /* I - Image */
-{
-  return (img->xppi);
-}
-
-
-/*
- * 'cupsImageGetYPPI()' - Get the vertical resolution of an image.
- */
-
-unsigned                               /* O - Vertical PPI */
-cupsImageGetYPPI(cups_image_t *img)    /* I - Image */
-{
-  return (img->yppi);
-}
-
-
-/*
- * 'cupsImageOpen()' - Open an image file and read it into memory.
- */
-
-cups_image_t *                         /* O - New image */
-cupsImageOpen(
-    const char      *filename,         /* I - Filename of image */
-    cups_icspace_t  primary,           /* I - Primary colorspace needed */
-    cups_icspace_t  secondary,         /* I - Secondary colorspace if primary no good */
-    int             saturation,                /* I - Color saturation level */
-    int             hue,               /* I - Color hue adjustment */
-    const cups_ib_t *lut)              /* I - RGB gamma/brightness LUT */
-{
-  FILE         *fp;                    /* File pointer */
-  unsigned char        header[16],             /* First 16 bytes of file */
-               header2[16];            /* Bytes 2048-2064 (PhotoCD) */
-  cups_image_t *img;                   /* New image buffer */
-  int          status;                 /* Status of load... */
-
-
-  DEBUG_printf(("cupsImageOpen(\"%s\", %d, %d, %d, %d, %p)\n",
-               filename ? filename : "(null)", primary, secondary,
-               saturation, hue, lut));
-
- /*
-  * Figure out the file type...
-  */
-
-  if ((fp = fopen(filename, "r")) == NULL)
-    return (NULL);
-
-  if (fread(header, 1, sizeof(header), fp) == 0)
-  {
-    fclose(fp);
-    return (NULL);
-  }
-
-  fseek(fp, 2048, SEEK_SET);
-  memset(header2, 0, sizeof(header2));
-  fread(header2, 1, sizeof(header2), fp);
-  fseek(fp, 0, SEEK_SET);
-
- /*
-  * Allocate memory...
-  */
-
-  img = calloc(sizeof(cups_image_t), 1);
-
-  if (img == NULL)
-  {
-    fclose(fp);
-    return (NULL);
-  }
-
- /*
-  * Load the image as appropriate...
-  */
-
-  img->cachefile = -1;
-  img->max_ics   = CUPS_TILE_MINIMUM;
-  img->xppi      = 128;
-  img->yppi      = 128;
-
-  if (!memcmp(header, "GIF87a", 6) || !memcmp(header, "GIF89a", 6))
-    status = _cupsImageReadGIF(img, fp, primary, secondary, saturation, hue,
-                               lut);
-  else if (!memcmp(header, "BM", 2))
-    status = _cupsImageReadBMP(img, fp, primary, secondary, saturation, hue,
-                               lut);
-  else if (header[0] == 0x01 && header[1] == 0xda)
-    status = _cupsImageReadSGI(img, fp, primary, secondary, saturation, hue,
-                               lut);
-  else if (header[0] == 0x59 && header[1] == 0xa6 &&
-           header[2] == 0x6a && header[3] == 0x95)
-    status = _cupsImageReadSunRaster(img, fp, primary, secondary, saturation,
-                                     hue, lut);
-  else if (header[0] == 'P' && header[1] >= '1' && header[1] <= '6')
-    status = _cupsImageReadPNM(img, fp, primary, secondary, saturation, hue,
-                               lut);
-  else if (!memcmp(header2, "PCD_IPI", 7))
-    status = _cupsImageReadPhotoCD(img, fp, primary, secondary, saturation,
-                                   hue, lut);
-  else if (!memcmp(header + 8, "\000\010", 2) ||
-           !memcmp(header + 8, "\000\030", 2))
-    status = _cupsImageReadPIX(img, fp, primary, secondary, saturation, hue,
-                               lut);
-#if defined(HAVE_LIBPNG) && defined(HAVE_LIBZ)
-  else if (!memcmp(header, "\211PNG", 4))
-    status = _cupsImageReadPNG(img, fp, primary, secondary, saturation, hue,
-                               lut);
-#endif /* HAVE_LIBPNG && HAVE_LIBZ */
-#ifdef HAVE_LIBJPEG
-  else if (!memcmp(header, "\377\330\377", 3) &&       /* Start-of-Image */
-          header[3] >= 0xe0 && header[3] <= 0xef)      /* APPn */
-    status = _cupsImageReadJPEG(img, fp, primary, secondary, saturation, hue,
-                                lut);
-#endif /* HAVE_LIBJPEG */
-#ifdef HAVE_LIBTIFF
-  else if (!memcmp(header, "MM\000\052", 4) ||
-           !memcmp(header, "II\052\000", 4))
-    status = _cupsImageReadTIFF(img, fp, primary, secondary, saturation, hue,
-                                lut);
-#endif /* HAVE_LIBTIFF */
-  else
-  {
-    fclose(fp);
-    status = -1;
-  }
-
-  if (status)
-  {
-    free(img);
-    return (NULL);
-  }
-  else
-    return (img);
-}
-
-
-/*
- * '_cupsImagePutCol()' - Put a column of pixels to an image.
- */
-
-int                                    /* O - -1 on error, 0 on success */
-_cupsImagePutCol(
-    cups_image_t    *img,              /* I - Image */
-    int             x,                 /* I - Column */
-    int             y,                 /* I - Start row */
-    int             height,            /* I - Column height */
-    const cups_ib_t *pixels)           /* I - Pixels to put */
-{
-  int          bpp,                    /* Bytes per pixel */
-               twidth,                 /* Width of tile */
-               count;                  /* Number of pixels to put */
-  int          tilex,                  /* Column within tile */
-               tiley;                  /* Row within tile */
-  cups_ib_t    *ib;                    /* Pointer to pixels in tile */
-
-
-  if (img == NULL || x < 0 || x >= img->xsize || y >= img->ysize)
-    return (-1);
-
-  if (y < 0)
-  {
-    height += y;
-    y = 0;
-  }
-
-  if ((y + height) > img->ysize)
-    height = img->ysize - y;
-
-  if (height < 1)
-    return (-1);
-
-  bpp    = cupsImageGetDepth(img);
-  twidth = bpp * (CUPS_TILE_SIZE - 1);
-  tilex  = x / CUPS_TILE_SIZE;
-  tiley  = y / CUPS_TILE_SIZE;
-
-  while (height > 0)
-  {
-    ib = get_tile(img, x, y);
-
-    if (ib == NULL)
-      return (-1);
-
-    img->tiles[tiley][tilex].dirty = 1;
-    tiley ++;
-
-    count = CUPS_TILE_SIZE - (y & (CUPS_TILE_SIZE - 1));
-    if (count > height)
-      count = height;
-
-    y      += count;
-    height -= count;
-
-    for (; count > 0; count --, ib += twidth)
-      switch (bpp)
-      {
-        case 4 :
-            *ib++ = *pixels++;
-        case 3 :
-            *ib++ = *pixels++;
-            *ib++ = *pixels++;
-        case 1 :
-            *ib++ = *pixels++;
-            break;
-      }
-  }
-
-  return (0);
-}
-
-
-/*
- * '_cupsImagePutRow()' - Put a row of pixels to an image.
- */
-
-int                                    /* O - -1 on error, 0 on success */
-_cupsImagePutRow(
-    cups_image_t    *img,              /* I - Image */
-    int             x,                 /* I - Start column */
-    int             y,                 /* I - Row */
-    int             width,             /* I - Row width */
-    const cups_ib_t *pixels)           /* I - Pixel data */
-{
-  int          bpp,                    /* Bytes per pixel */
-               count;                  /* Number of pixels to put */
-  int          tilex,                  /* Column within tile */
-               tiley;                  /* Row within tile */
-  cups_ib_t    *ib;                    /* Pointer to pixels in tile */
-
-
-  if (img == NULL || y < 0 || y >= img->ysize || x >= img->xsize)
-    return (-1);
-
-  if (x < 0)
-  {
-    width += x;
-    x = 0;
-  }
-
-  if ((x + width) > img->xsize)
-    width = img->xsize - x;
-
-  if (width < 1)
-    return (-1);
-
-  bpp   = img->colorspace < 0 ? -img->colorspace : img->colorspace;
-  tilex = x / CUPS_TILE_SIZE;
-  tiley = y / CUPS_TILE_SIZE;
-
-  while (width > 0)
-  {
-    ib = get_tile(img, x, y);
-
-    if (ib == NULL)
-      return (-1);
-
-    img->tiles[tiley][tilex].dirty = 1;
-
-    count = CUPS_TILE_SIZE - (x & (CUPS_TILE_SIZE - 1));
-    if (count > width)
-      count = width;
-    memcpy(ib, pixels, count * bpp);
-    pixels += count * bpp;
-    x      += count;
-    width  -= count;
-    tilex  ++;
-  }
-
-  return (0);
-}
-
-
-/*
- * 'cupsImageSetMaxTiles()' - Set the maximum number of tiles to cache.
- *
- * If the "max_tiles" argument is 0 then the maximum number of tiles is
- * computed from the image size or the RIP_CACHE environment variable.
- */
-
-void
-cupsImageSetMaxTiles(
-    cups_image_t *img,                 /* I - Image to set */
-    int          max_tiles)            /* I - Number of tiles to cache */
-{
-  int  cache_size,                     /* Size of tile cache in bytes */
-       min_tiles,                      /* Minimum number of tiles to cache */
-       max_size;                       /* Maximum cache size in bytes */
-  char *cache_env,                     /* Cache size environment variable */
-       cache_units[255];               /* Cache size units */
-
-
-  min_tiles = max(CUPS_TILE_MINIMUM,
-                  1 + max((img->xsize + CUPS_TILE_SIZE - 1) / CUPS_TILE_SIZE,
-                          (img->ysize + CUPS_TILE_SIZE - 1) / CUPS_TILE_SIZE));
-
-  if (max_tiles == 0)
-    max_tiles = ((img->xsize + CUPS_TILE_SIZE - 1) / CUPS_TILE_SIZE) *
-                ((img->ysize + CUPS_TILE_SIZE - 1) / CUPS_TILE_SIZE);
-
-  cache_size = max_tiles * CUPS_TILE_SIZE * CUPS_TILE_SIZE *
-               cupsImageGetDepth(img);
-
-  if ((cache_env = getenv("RIP_MAX_CACHE")) != NULL)
-  {
-    switch (sscanf(cache_env, "%d%254s", &max_size, cache_units))
-    {
-      case 0 :
-          max_size = 32 * 1024 * 1024;
-         break;
-      case 1 :
-          max_size *= 4 * CUPS_TILE_SIZE * CUPS_TILE_SIZE;
-         break;
-      case 2 :
-          if (tolower(cache_units[0] & 255) == 'g')
-           max_size *= 1024 * 1024 * 1024;
-          else if (tolower(cache_units[0] & 255) == 'm')
-           max_size *= 1024 * 1024;
-         else if (tolower(cache_units[0] & 255) == 'k')
-           max_size *= 1024;
-         else if (tolower(cache_units[0] & 255) == 't')
-           max_size *= 4 * CUPS_TILE_SIZE * CUPS_TILE_SIZE;
-         break;
-    }
-  }
-  else
-    max_size = 32 * 1024 * 1024;
-
-  if (cache_size > max_size)
-    max_tiles = max_size / CUPS_TILE_SIZE / CUPS_TILE_SIZE /
-                cupsImageGetDepth(img);
-
-  if (max_tiles < min_tiles)
-    max_tiles = min_tiles;
-
-  img->max_ics = max_tiles;
-
-  DEBUG_printf(("max_ics=%d...\n", img->max_ics));
-}
-
-
-/*
- * 'flush_tile()' - Flush the least-recently-used tile in the cache.
- */
-
-static void
-flush_tile(cups_image_t *img)          /* I - Image */
-{
-  int          bpp;                    /* Bytes per pixel */
-  cups_itile_t *tile;                  /* Pointer to tile */
-
-
-  bpp  = cupsImageGetDepth(img);
-  tile = img->first->tile;
-
-  if (!tile->dirty)
-  {
-    tile->ic = NULL;
-    return;
-  }
-
-  if (img->cachefile < 0)
-  {
-    if ((img->cachefile = cupsTempFd(img->cachename,
-                                     sizeof(img->cachename))) < 0)
-    {
-      tile->ic    = NULL;
-      tile->dirty = 0;
-      return;
-    }
-
-    DEBUG_printf(("Created swap file \"%s\"...\n", img->cachename));
-  }
-
-  if (tile->pos >= 0)
-  {
-    if (lseek(img->cachefile, tile->pos, SEEK_SET) != tile->pos)
-    {
-      tile->ic    = NULL;
-      tile->dirty = 0;
-      return;
-    }
-  }
-  else
-  {
-    if ((tile->pos = lseek(img->cachefile, 0, SEEK_END)) < 0)
-    {
-      tile->ic    = NULL;
-      tile->dirty = 0;
-      return;
-    }
-  }
-
-  write(img->cachefile, tile->ic->pixels, bpp * CUPS_TILE_SIZE * CUPS_TILE_SIZE);
-
-  tile->ic    = NULL;
-  tile->dirty = 0;
-}
-
-
-/*
- * 'get_tile()' - Get a cached tile.
- */
-
-static cups_ib_t *                     /* O - Pointer to tile or NULL */
-get_tile(cups_image_t *img,            /* I - Image */
-         int          x,               /* I - Column in image */
-         int          y)               /* I - Row in image */
-{
-  int          bpp,                    /* Bytes per pixel */
-               tilex,                  /* Column within tile */
-               tiley,                  /* Row within tile */
-               xtiles,                 /* Number of tiles horizontally */
-               ytiles;                 /* Number of tiles vertically */
-  cups_ic_t    *ic;                    /* Cache pointer */
-  cups_itile_t *tile;                  /* Tile pointer */
-
-
-  if (img->tiles == NULL)
-  {
-    xtiles = (img->xsize + CUPS_TILE_SIZE - 1) / CUPS_TILE_SIZE;
-    ytiles = (img->ysize + CUPS_TILE_SIZE - 1) / CUPS_TILE_SIZE;
-
-    DEBUG_printf(("Creating tile array (%dx%d)\n", xtiles, ytiles));
-
-    if ((img->tiles = calloc(sizeof(cups_itile_t *), ytiles)) == NULL)
-      return (NULL);
-
-    if ((tile = calloc(xtiles * sizeof(cups_itile_t), ytiles)) == NULL)
-      return (NULL);
-
-    for (tiley = 0; tiley < ytiles; tiley ++)
-    {
-      img->tiles[tiley] = tile;
-      for (tilex = xtiles; tilex > 0; tilex --, tile ++)
-        tile->pos = -1;
-    }
-  }
-
-  bpp   = cupsImageGetDepth(img);
-  tilex = x / CUPS_TILE_SIZE;
-  tiley = y / CUPS_TILE_SIZE;
-  tile  = img->tiles[tiley] + tilex;
-  x     &= (CUPS_TILE_SIZE - 1);
-  y     &= (CUPS_TILE_SIZE - 1);
-
-  if ((ic = tile->ic) == NULL)
-  {
-    if (img->num_ics < img->max_ics)
-    {
-      if ((ic = calloc(sizeof(cups_ic_t) +
-                       bpp * CUPS_TILE_SIZE * CUPS_TILE_SIZE, 1)) == NULL)
-      {
-        if (img->num_ics == 0)
-         return (NULL);
-
-        flush_tile(img);
-       ic = img->first;
-      }
-      else
-      {
-       ic->pixels = ((cups_ib_t *)ic) + sizeof(cups_ic_t);
-
-       img->num_ics ++;
-
-       DEBUG_printf(("Allocated cache tile %d (%p)...\n", img->num_ics, ic));
-      }
-    }
-    else
-    {
-      DEBUG_printf(("Flushing old cache tile (%p)...\n", img->first));
-
-      flush_tile(img);
-      ic = img->first;
-    }
-
-    ic->tile = tile;
-    tile->ic = ic;
-
-    if (tile->pos >= 0)
-    {
-      DEBUG_printf(("Loading cache tile from file position " CUPS_LLFMT "...\n",
-                    CUPS_LLCAST tile->pos));
-
-      lseek(img->cachefile, tile->pos, SEEK_SET);
-      read(img->cachefile, ic->pixels, bpp * CUPS_TILE_SIZE * CUPS_TILE_SIZE);
-    }
-    else
-    {
-      DEBUG_puts("Clearing cache tile...");
-
-      memset(ic->pixels, 0, bpp * CUPS_TILE_SIZE * CUPS_TILE_SIZE);
-    }
-  }
-
-  if (ic == img->first)
-  {
-    if (ic->next != NULL)
-      ic->next->prev = NULL;
-
-    img->first = ic->next;
-    ic->next   = NULL;
-    ic->prev   = NULL;
-  }
-  else if (img->first == NULL)
-    img->first = ic;
-
-  if (ic != img->last)
-  {
-   /*
-    * Remove the cache entry from the list...
-    */
-
-    if (ic->prev != NULL)
-      ic->prev->next = ic->next;
-    if (ic->next != NULL)
-      ic->next->prev = ic->prev;
-
-   /*
-    * And add it to the end...
-    */
-
-    if (img->last != NULL)
-      img->last->next = ic;
-
-    ic->prev  = img->last;
-    img->last = ic;
-  }
-
-  ic->next = NULL;
-
-  return (ic->pixels + bpp * (y * CUPS_TILE_SIZE + x));
-}
-
-
-/*
- * End of "$Id: image.c 9873 2011-08-06 06:47:46Z mike $".
- */
diff --git a/filter/image.h b/filter/image.h
deleted file mode 100644 (file)
index 6b322e1..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * "$Id: image.h 9771 2011-05-12 05:21:56Z mike $"
- *
- *   Image library definitions for CUPS.
- *
- *   Copyright 2007-2011 by Apple Inc.
- *   Copyright 1993-2006 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- *   This file is subject to the Apple OS-Developed Software exception.
- */
-
-#ifndef _CUPS_IMAGE_H_
-#  define _CUPS_IMAGE_H_
-
-/*
- * Include necessary headers...
- */
-
-#  include <stdio.h>
-#  include <cups/raster.h>
-
-#  ifdef __cplusplus
-extern "C" {
-#  endif /* __cplusplus */
-
-/*
- * Constants...
- */
-
-typedef enum cups_icspace_e            /**** Image colorspaces ****/
-{
-  CUPS_IMAGE_CMYK = -4,                        /* Cyan, magenta, yellow, and black */
-  CUPS_IMAGE_CMY = -3,                 /* Cyan, magenta, and yellow */
-  CUPS_IMAGE_BLACK = -1,               /* Black */
-  CUPS_IMAGE_WHITE = 1,                        /* White (luminance) */
-  CUPS_IMAGE_RGB = 3,                  /* Red, green, and blue */
-  CUPS_IMAGE_RGB_CMYK = 4              /* Use RGB or CMYK */
-} cups_icspace_t;
-
-
-/*
- * Types and structures...
- */
-
-typedef unsigned char cups_ib_t;       /**** Image byte ****/
-
-struct cups_image_s;
-typedef struct cups_image_s cups_image_t;
-                                       /**** Image file data ****/
-
-struct cups_izoom_s;
-typedef struct cups_izoom_s cups_izoom_t;
-                                       /**** Image zoom data ****/
-
-
-/*
- * Prototypes...
- */
-
-extern void            cupsImageClose(cups_image_t *img) _CUPS_API_1_2;
-extern void            cupsImageCMYKToBlack(const cups_ib_t *in,
-                                            cups_ib_t *out, int count) _CUPS_API_1_2;
-extern void            cupsImageCMYKToCMY(const cups_ib_t *in,
-                                          cups_ib_t *out, int count) _CUPS_API_1_2;
-extern void            cupsImageCMYKToCMYK(const cups_ib_t *in,
-                                           cups_ib_t *out, int count) _CUPS_API_1_2;
-extern void            cupsImageCMYKToRGB(const cups_ib_t *in,
-                                          cups_ib_t *out, int count) _CUPS_API_1_2;
-extern void            cupsImageCMYKToWhite(const cups_ib_t *in,
-                                            cups_ib_t *out, int count) _CUPS_API_1_2;
-extern int             cupsImageGetCol(cups_image_t *img, int x, int y,
-                                       int height, cups_ib_t *pixels) _CUPS_API_1_2;
-extern cups_icspace_t  cupsImageGetColorSpace(cups_image_t *img) _CUPS_API_1_2;
-extern int             cupsImageGetDepth(cups_image_t *img) _CUPS_API_1_2;
-extern unsigned                cupsImageGetHeight(cups_image_t *img) _CUPS_API_1_2;
-extern int             cupsImageGetRow(cups_image_t *img, int x, int y,
-                                       int width, cups_ib_t *pixels) _CUPS_API_1_2;
-extern unsigned                cupsImageGetWidth(cups_image_t *img) _CUPS_API_1_2;
-extern unsigned                cupsImageGetXPPI(cups_image_t *img) _CUPS_API_1_2;
-extern unsigned                cupsImageGetYPPI(cups_image_t *img) _CUPS_API_1_2;
-extern void            cupsImageLut(cups_ib_t *pixels, int count,
-                                    const cups_ib_t *lut) _CUPS_API_1_2;
-extern cups_image_t    *cupsImageOpen(const char *filename,
-                                      cups_icspace_t primary,
-                                      cups_icspace_t secondary,
-                                      int saturation, int hue,
-                                      const cups_ib_t *lut) _CUPS_API_1_2;
-extern void            cupsImageRGBAdjust(cups_ib_t *pixels, int count,
-                                          int saturation, int hue) _CUPS_API_1_2;
-extern void            cupsImageRGBToBlack(const cups_ib_t *in,
-                                           cups_ib_t *out, int count) _CUPS_API_1_2;
-extern void            cupsImageRGBToCMY(const cups_ib_t *in,
-                                         cups_ib_t *out, int count) _CUPS_API_1_2;
-extern void            cupsImageRGBToCMYK(const cups_ib_t *in,
-                                          cups_ib_t *out, int count) _CUPS_API_1_2;
-extern void            cupsImageRGBToRGB(const cups_ib_t *in,
-                                         cups_ib_t *out, int count) _CUPS_API_1_2;
-extern void            cupsImageRGBToWhite(const cups_ib_t *in,
-                                           cups_ib_t *out, int count) _CUPS_API_1_2;
-extern void            cupsImageSetMaxTiles(cups_image_t *img, int max_tiles) _CUPS_API_1_2;
-extern void            cupsImageSetProfile(float d, float g,
-                                           float matrix[3][3]) _CUPS_API_1_2;
-extern void            cupsImageSetRasterColorSpace(cups_cspace_t cs) _CUPS_API_1_2;
-extern void            cupsImageWhiteToBlack(const cups_ib_t *in,
-                                             cups_ib_t *out, int count) _CUPS_API_1_2;
-extern void            cupsImageWhiteToCMY(const cups_ib_t *in,
-                                           cups_ib_t *out, int count) _CUPS_API_1_2;
-extern void            cupsImageWhiteToCMYK(const cups_ib_t *in,
-                                            cups_ib_t *out, int count) _CUPS_API_1_2;
-extern void            cupsImageWhiteToRGB(const cups_ib_t *in,
-                                           cups_ib_t *out, int count) _CUPS_API_1_2;
-extern void            cupsImageWhiteToWhite(const cups_ib_t *in,
-                                             cups_ib_t *out, int count) _CUPS_API_1_2;
-
-
-#  ifdef __cplusplus
-}
-#  endif /* __cplusplus */
-
-#endif /* !_CUPS_IMAGE_H_ */
-
-/*
- * End of "$Id: image.h 9771 2011-05-12 05:21:56Z mike $".
- */
diff --git a/filter/imagetops.c b/filter/imagetops.c
deleted file mode 100644 (file)
index 8751f95..0000000
+++ /dev/null
@@ -1,1078 +0,0 @@
-/*
- * "$Id: imagetops.c 9901 2011-08-17 21:01:53Z mike $"
- *
- *   Image file to PostScript filter for CUPS.
- *
- *   Copyright 2007-2011 by Apple Inc.
- *   Copyright 1993-2007 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- *   This file is subject to the Apple OS-Developed Software exception.
- *
- * Contents:
- *
- *   main()       - Main entry...
- *   ps_hex()     - Print binary data as a series of hexadecimal numbers.
- *   ps_ascii85() - Print binary data as a series of base-85 numbers.
- */
-
-/*
- * Include necessary headers...
- */
-
-#include "common.h"
-#include "image.h"
-#include <math.h>
-#include <cups/language-private.h>
-#include <signal.h>
-
-
-/*
- * Globals...
- */
-
-int    Flip = 0,               /* Flip/mirror pages */
-       XPosition = 0,          /* Horizontal position on page */
-       YPosition = 0,          /* Vertical position on page */
-       Collate = 0,            /* Collate copies? */
-       Copies = 1;             /* Number of copies */
-
-
-/*
- * Local functions...
- */
-
-static void    ps_hex(cups_ib_t *, int, int);
-static void    ps_ascii85(cups_ib_t *, int, int);
-
-
-/*
- * 'main()' - Main entry...
- */
-
-int                                    /* O - Exit status */
-main(int  argc,                                /* I - Number of command-line arguments */
-     char *argv[])                     /* I - Command-line arguments */
-{
-  cups_image_t *img;                   /* Image to print */
-  float                xprint,                 /* Printable area */
-               yprint,
-               xinches,                /* Total size in inches */
-               yinches;
-  float                xsize,                  /* Total size in points */
-               ysize,
-               xsize2,
-               ysize2;
-  float                aspect;                 /* Aspect ratio */
-  int          xpages,                 /* # x pages */
-               ypages,                 /* # y pages */
-               xpage,                  /* Current x page */
-               ypage,                  /* Current y page */
-               page;                   /* Current page number */
-  int          xc0, yc0,                       /* Corners of the page in image coords */
-               xc1, yc1;
-  cups_ib_t    *row;                   /* Current row */
-  int          y;                      /* Current Y coordinate in image */
-  int          colorspace;             /* Output colorspace */
-  int          out_offset,             /* Offset into output buffer */
-               out_length;             /* Length of output buffer */
-  ppd_file_t   *ppd;                   /* PPD file */
-  ppd_choice_t *choice;                /* PPD option choice */
-  int          num_options;            /* Number of print options */
-  cups_option_t        *options;               /* Print options */
-  const char   *val;                   /* Option value */
-  int          slowcollate;            /* Collate copies the slow way */
-  float                g;                      /* Gamma correction value */
-  float                b;                      /* Brightness factor */
-  float                zoom;                   /* Zoom facter */
-  int          xppi, yppi;             /* Pixels-per-inch */
-  int          hue, sat;               /* Hue and saturation adjustment */
-  int          realcopies,             /* Real copies being printed */
-               emit_jcl;               /* Emit JCL? */
-  float                left, top;              /* Left and top of image */
-  char         filename[1024];         /* Name of file to print */
-  time_t       curtime;                /* Current time */
-  struct tm    *curtm;                 /* Current date */
-  char         curdate[255];           /* Current date string */
-
-
- /*
-  * Make sure status messages are not buffered...
-  */
-
-  setbuf(stderr, NULL);
-
- /*
-  * Ignore broken pipe signals...
-  */
-
-  signal(SIGPIPE, SIG_IGN);
-
- /*
-  * Check command-line...
-  */
-
-  if (argc < 6 || argc > 7)
-  {
-    _cupsLangPrintf(stderr,
-                    _("Usage: %s job-id user title copies options file"),
-                    argv[0]);
-    return (1);
-  }
-
- /*
-  * Copy stdin as needed...
-  */
-
-  if (argc == 6)
-  {
-    int                fd;             /* File to write to */
-    char       buffer[8192];   /* Buffer to read into */
-    int                bytes;          /* # of bytes to read */
-
-
-    if ((fd = cupsTempFd(filename, sizeof(filename))) < 0)
-    {
-      _cupsLangPrintError("ERROR", _("Unable to copy print file"));
-      return (1);
-    }
-
-    fprintf(stderr, "DEBUG: imagetops - copying to temp print file \"%s\".\n",
-            filename);
-
-    while ((bytes = fread(buffer, 1, sizeof(buffer), stdin)) > 0)
-      write(fd, buffer, bytes);
-
-    close(fd);
-  }
-  else
-    strlcpy(filename, argv[6], sizeof(filename));
-
- /*
-  * Process command-line options and write the prolog...
-  */
-
-  zoom = 0.0;
-  xppi = 0;
-  yppi = 0;
-  hue  = 0;
-  sat  = 100;
-  g    = 1.0;
-  b    = 1.0;
-
-  Copies = atoi(argv[4]);
-
-  options     = NULL;
-  num_options = cupsParseOptions(argv[5], 0, &options);
-
-  ppd = SetCommonOptions(num_options, options, 0);
-
-  if ((val = cupsGetOption("multiple-document-handling", num_options, options)) != NULL)
-  {
-   /*
-    * This IPP attribute is unnecessarily complicated...
-    *
-    *   single-document, separate-documents-collated-copies, and
-    *   single-document-new-sheet all require collated copies.
-    *
-    *   separate-documents-uncollated-copies allows for uncollated copies.
-    */
-
-    Collate = _cups_strcasecmp(val, "separate-documents-uncollated-copies") != 0;
-  }
-
-  if ((val = cupsGetOption("Collate", num_options, options)) != NULL &&
-      _cups_strcasecmp(val, "True") == 0)
-    Collate = 1;
-
-  if ((val = cupsGetOption("gamma", num_options, options)) != NULL)
-  {
-   /*
-    * Get gamma value from 1 to 10000...
-    */
-
-    g = atoi(val) * 0.001f;
-
-    if (g < 0.001f)
-      g = 0.001f;
-    else if (g > 10.0f)
-      g = 10.0f;
-  }
-
-  if ((val = cupsGetOption("brightness", num_options, options)) != NULL)
-  {
-   /*
-    * Get brightness value from 10 to 1000.
-    */
-
-    b = atoi(val) * 0.01f;
-
-    if (b < 0.1f)
-      b = 0.1f;
-    else if (b > 10.0f)
-      b = 10.0f;
-  }
-
-  if ((val = cupsGetOption("scaling", num_options, options)) != NULL)
-    zoom = atoi(val) * 0.01;
-  else if ((val = cupsGetOption("fitplot", num_options, options)) != NULL &&
-           !_cups_strcasecmp(val, "true"))
-    zoom = 1.0;
-  else if ((val = cupsGetOption("fit-to-page", num_options, options)) != NULL &&
-           !_cups_strcasecmp(val, "true"))
-    zoom = 1.0;
-
-  if ((val = cupsGetOption("ppi", num_options, options)) != NULL)
-    if (sscanf(val, "%dx%d", &xppi, &yppi) < 2)
-      yppi = xppi;
-
-  if ((val = cupsGetOption("position", num_options, options)) != NULL)
-  {
-    if (_cups_strcasecmp(val, "center") == 0)
-    {
-      XPosition = 0;
-      YPosition = 0;
-    }
-    else if (_cups_strcasecmp(val, "top") == 0)
-    {
-      XPosition = 0;
-      YPosition = 1;
-    }
-    else if (_cups_strcasecmp(val, "left") == 0)
-    {
-      XPosition = -1;
-      YPosition = 0;
-    }
-    else if (_cups_strcasecmp(val, "right") == 0)
-    {
-      XPosition = 1;
-      YPosition = 0;
-    }
-    else if (_cups_strcasecmp(val, "top-left") == 0)
-    {
-      XPosition = -1;
-      YPosition = 1;
-    }
-    else if (_cups_strcasecmp(val, "top-right") == 0)
-    {
-      XPosition = 1;
-      YPosition = 1;
-    }
-    else if (_cups_strcasecmp(val, "bottom") == 0)
-    {
-      XPosition = 0;
-      YPosition = -1;
-    }
-    else if (_cups_strcasecmp(val, "bottom-left") == 0)
-    {
-      XPosition = -1;
-      YPosition = -1;
-    }
-    else if (_cups_strcasecmp(val, "bottom-right") == 0)
-    {
-      XPosition = 1;
-      YPosition = -1;
-    }
-  }
-
-  if ((val = cupsGetOption("saturation", num_options, options)) != NULL)
-    sat = atoi(val);
-
-  if ((val = cupsGetOption("hue", num_options, options)) != NULL)
-    hue = atoi(val);
-
-  if ((choice = ppdFindMarkedChoice(ppd, "MirrorPrint")) != NULL)
-  {
-    val = choice->choice;
-    choice->marked = 0;
-  }
-  else
-    val = cupsGetOption("mirror", num_options, options);
-
-  if (val && (!_cups_strcasecmp(val, "true") || !_cups_strcasecmp(val, "on") ||
-              !_cups_strcasecmp(val, "yes")))
-    Flip = 1;
-
-  if ((val = cupsGetOption("emit-jcl", num_options, options)) != NULL &&
-      (!_cups_strcasecmp(val, "false") || !_cups_strcasecmp(val, "off") ||
-       !_cups_strcasecmp(val, "no") || !strcmp(val, "0")))
-    emit_jcl = 0;
-  else
-    emit_jcl = 1;
-
- /*
-  * Open the input image to print...
-  */
-
-  colorspace = ColorDevice ? CUPS_IMAGE_RGB_CMYK : CUPS_IMAGE_WHITE;
-
-  img = cupsImageOpen(filename, colorspace, CUPS_IMAGE_WHITE, sat, hue, NULL);
-
-  if (argc == 6)
-    unlink(filename);
-
-  if (img == NULL)
-  {
-    _cupsLangPrintFilter(stderr, "ERROR",
-                         _("The print file could not be opened."));
-    ppdClose(ppd);
-    return (1);
-  }
-
-  colorspace = cupsImageGetColorSpace(img);
-
- /*
-  * Scale as necessary...
-  */
-
-  if (zoom == 0.0 && xppi == 0)
-  {
-    xppi = cupsImageGetXPPI(img);
-    yppi = cupsImageGetYPPI(img);
-  }
-
-  if (yppi == 0)
-    yppi = xppi;
-
-  fprintf(stderr, "DEBUG: Before scaling: xppi=%d, yppi=%d, zoom=%.2f\n",
-          xppi, yppi, zoom);
-
-  if (xppi > 0)
-  {
-   /*
-    * Scale the image as neccesary to match the desired pixels-per-inch.
-    */
-
-    if (Orientation & 1)
-    {
-      xprint = (PageTop - PageBottom) / 72.0;
-      yprint = (PageRight - PageLeft) / 72.0;
-    }
-    else
-    {
-      xprint = (PageRight - PageLeft) / 72.0;
-      yprint = (PageTop - PageBottom) / 72.0;
-    }
-
-    fprintf(stderr, "DEBUG: Before scaling: xprint=%.1f, yprint=%.1f\n",
-            xprint, yprint);
-
-    xinches = (float)cupsImageGetWidth(img) / (float)xppi;
-    yinches = (float)cupsImageGetHeight(img) / (float)yppi;
-
-    fprintf(stderr, "DEBUG: Image size is %.1f x %.1f inches...\n",
-            xinches, yinches);
-
-    if ((val = cupsGetOption("natural-scaling", num_options, options)) != NULL)
-    {
-      xinches = xinches * atoi(val) / 100;
-      yinches = yinches * atoi(val) / 100;
-    }
-
-    if (cupsGetOption("orientation-requested", num_options, options) == NULL &&
-        cupsGetOption("landscape", num_options, options) == NULL)
-    {
-     /*
-      * Rotate the image if it will fit landscape but not portrait...
-      */
-
-      fputs("DEBUG: Auto orientation...\n", stderr);
-
-      if ((xinches > xprint || yinches > yprint) &&
-          xinches <= yprint && yinches <= xprint)
-      {
-       /*
-       * Rotate the image as needed...
-       */
-
-        fputs("DEBUG: Using landscape orientation...\n", stderr);
-
-       Orientation = (Orientation + 1) & 3;
-       xsize       = yprint;
-       yprint      = xprint;
-       xprint      = xsize;
-      }
-    }
-  }
-  else
-  {
-   /*
-    * Scale percentage of page size...
-    */
-
-    xprint = (PageRight - PageLeft) / 72.0;
-    yprint = (PageTop - PageBottom) / 72.0;
-    aspect = (float)cupsImageGetYPPI(img) / (float)cupsImageGetXPPI(img);
-
-    fprintf(stderr, "DEBUG: Before scaling: xprint=%.1f, yprint=%.1f\n",
-            xprint, yprint);
-
-    fprintf(stderr, "DEBUG: cupsImageGetXPPI(img) = %d, cupsImageGetYPPI(img) = %d, aspect = %f\n",
-            cupsImageGetXPPI(img), cupsImageGetYPPI(img), aspect);
-
-    xsize = xprint * zoom;
-    ysize = xsize * cupsImageGetHeight(img) / cupsImageGetWidth(img) / aspect;
-
-    if (ysize > (yprint * zoom))
-    {
-      ysize = yprint * zoom;
-      xsize = ysize * cupsImageGetWidth(img) * aspect / cupsImageGetHeight(img);
-    }
-
-    xsize2 = yprint * zoom;
-    ysize2 = xsize2 * cupsImageGetHeight(img) / cupsImageGetWidth(img) / aspect;
-
-    if (ysize2 > (xprint * zoom))
-    {
-      ysize2 = xprint * zoom;
-      xsize2 = ysize2 * cupsImageGetWidth(img) * aspect / cupsImageGetHeight(img);
-    }
-
-    fprintf(stderr, "DEBUG: Portrait size is %.2f x %.2f inches\n", xsize, ysize);
-    fprintf(stderr, "DEBUG: Landscape size is %.2f x %.2f inches\n", xsize2, ysize2);
-
-    if (cupsGetOption("orientation-requested", num_options, options) == NULL &&
-        cupsGetOption("landscape", num_options, options) == NULL)
-    {
-     /*
-      * Choose the rotation with the largest area, but prefer
-      * portrait if they are equal...
-      */
-
-      fputs("DEBUG: Auto orientation...\n", stderr);
-
-      if ((xsize * ysize) < (xsize2 * xsize2))
-      {
-       /*
-       * Do landscape orientation...
-       */
-
-        fputs("DEBUG: Using landscape orientation...\n", stderr);
-
-       Orientation = 1;
-       xinches     = xsize2;
-       yinches     = ysize2;
-       xprint      = (PageTop - PageBottom) / 72.0;
-       yprint      = (PageRight - PageLeft) / 72.0;
-      }
-      else
-      {
-       /*
-       * Do portrait orientation...
-       */
-
-        fputs("DEBUG: Using portrait orientation...\n", stderr);
-
-       Orientation = 0;
-       xinches     = xsize;
-       yinches     = ysize;
-      }
-    }
-    else if (Orientation & 1)
-    {
-      fputs("DEBUG: Using landscape orientation...\n", stderr);
-
-      xinches     = xsize2;
-      yinches     = ysize2;
-      xprint      = (PageTop - PageBottom) / 72.0;
-      yprint      = (PageRight - PageLeft) / 72.0;
-    }
-    else
-    {
-      fputs("DEBUG: Using portrait orientation...\n", stderr);
-
-      xinches     = xsize;
-      yinches     = ysize;
-      xprint      = (PageRight - PageLeft) / 72.0;
-      yprint      = (PageTop - PageBottom) / 72.0;
-    }
-  }
-
- /*
-  * Compute the number of pages to print and the size of the image on each
-  * page...
-  */
-
-  xpages = ceil(xinches / xprint);
-  ypages = ceil(yinches / yprint);
-
-  xprint = xinches / xpages;
-  yprint = yinches / ypages;
-
-  fprintf(stderr, "DEBUG: xpages = %dx%.2fin, ypages = %dx%.2fin\n",
-          xpages, xprint, ypages, yprint);
-
- /*
-  * Update the page size for custom sizes...
-  */
-
-  if ((choice = ppdFindMarkedChoice(ppd, "PageSize")) != NULL &&
-      _cups_strcasecmp(choice->choice, "Custom") == 0)
-  {
-    float      width,          /* New width in points */
-               length;         /* New length in points */
-    char       s[255];         /* New custom page size... */
-
-
-   /*
-    * Use the correct width and length for the current orientation...
-    */
-
-    if (Orientation & 1)
-    {
-      width  = yprint * 72.0;
-      length = xprint * 72.0;
-    }
-    else
-    {
-      width  = xprint * 72.0;
-      length = yprint * 72.0;
-    }
-
-   /*
-    * Add margins to page size...
-    */
-
-    width  += ppd->custom_margins[0] + ppd->custom_margins[2];
-    length += ppd->custom_margins[1] + ppd->custom_margins[3];
-
-   /*
-    * Enforce minimums...
-    */
-
-    if (width < ppd->custom_min[0])
-      width = ppd->custom_min[0];
-
-    if (length < ppd->custom_min[1])
-      length = ppd->custom_min[1];
-
-    fprintf(stderr, "DEBUG: Updated custom page size to %.2f x %.2f inches...\n",
-            width / 72.0, length / 72.0);
-
-   /*
-    * Set the new custom size...
-    */
-
-    sprintf(s, "Custom.%.0fx%.0f", width, length);
-    ppdMarkOption(ppd, "PageSize", s);
-
-   /*
-    * Update page variables...
-    */
-
-    PageWidth  = width;
-    PageLength = length;
-    PageLeft   = ppd->custom_margins[0];
-    PageRight  = width - ppd->custom_margins[2];
-    PageBottom = ppd->custom_margins[1];
-    PageTop    = length - ppd->custom_margins[3];
-  }
-
- /*
-  * See if we need to collate, and if so how we need to do it...
-  */
-
-  if (xpages == 1 && ypages == 1)
-    Collate = 0;
-
-  slowcollate = Collate && ppdFindOption(ppd, "Collate") == NULL;
-
-  if (Copies > 1 && !slowcollate)
-  {
-    realcopies = Copies;
-    Copies     = 1;
-  }
-  else
-    realcopies = 1;
-
- /*
-  * Write any "exit server" options that have been selected...
-  */
-
-  ppdEmit(ppd, stdout, PPD_ORDER_EXIT);
-
- /*
-  * Write any JCL commands that are needed to print PostScript code...
-  */
-
-  if (emit_jcl)
-    ppdEmitJCL(ppd, stdout, atoi(argv[1]), argv[2], argv[3]);
-
- /*
-  * Start sending the document with any commands needed...
-  */
-
-  curtime = time(NULL);
-  curtm   = localtime(&curtime);
-
-  puts("%!PS-Adobe-3.0");
-  printf("%%%%BoundingBox: %.0f %.0f %.0f %.0f\n", PageLeft, PageBottom,
-         PageRight, PageTop);
-  printf("%%%%LanguageLevel: %d\n", LanguageLevel);
-  printf("%%%%Pages: %d\n", xpages * ypages * Copies);
-  puts("%%DocumentData: Clean7Bit");
-  puts("%%DocumentNeededResources: font Helvetica-Bold");
-  puts("%%Creator: imagetops/" CUPS_SVERSION);
-  strftime(curdate, sizeof(curdate), "%c", curtm);
-  printf("%%%%CreationDate: %s\n", curdate);
-  WriteTextComment("Title", argv[3]);
-  WriteTextComment("For", argv[2]);
-  if (Orientation & 1)
-    puts("%%Orientation: Landscape");
-  else
-    puts("%%Orientation: Portrait");
-  puts("%%EndComments");
-  puts("%%BeginProlog");
-
-  if (ppd != NULL && ppd->patches != NULL)
-    puts(ppd->patches);
-
-  ppdEmit(ppd, stdout, PPD_ORDER_DOCUMENT);
-  ppdEmit(ppd, stdout, PPD_ORDER_ANY);
-  ppdEmit(ppd, stdout, PPD_ORDER_PROLOG);
-
-  if (g != 1.0 || b != 1.0)
-    printf("{ neg 1 add dup 0 lt { pop 1 } { %.3f exp neg 1 add } "
-           "ifelse %.3f mul } bind settransfer\n", g, b);
-
-  WriteCommon();
-  switch (Orientation)
-  {
-    case 0 :
-       WriteLabelProlog(cupsGetOption("page-label", num_options, options),
-                        PageBottom, PageTop, PageWidth);
-        break;
-
-    case 1 :
-       WriteLabelProlog(cupsGetOption("page-label", num_options, options),
-                        PageLeft, PageRight, PageLength);
-        break;
-
-    case 2 :
-       WriteLabelProlog(cupsGetOption("page-label", num_options, options),
-                        PageLength - PageTop, PageLength - PageBottom,
-                        PageWidth);
-        break;
-
-    case 3 :
-       WriteLabelProlog(cupsGetOption("page-label", num_options, options),
-                        PageWidth - PageRight, PageWidth - PageLeft,
-                        PageLength);
-        break;
-  }
-
-  if (realcopies > 1)
-  {
-    if (ppd == NULL || ppd->language_level == 1)
-      printf("/#copies %d def\n", realcopies);
-    else
-      printf("<</NumCopies %d>>setpagedevice\n", realcopies);
-  }
-
-  puts("%%EndProlog");
-
- /*
-  * Output the pages...
-  */
-
-  row = malloc(cupsImageGetWidth(img) * abs(colorspace) + 3);
-
-  fprintf(stderr, "DEBUG: XPosition=%d, YPosition=%d, Orientation=%d\n",
-          XPosition, YPosition, Orientation);
-  fprintf(stderr, "DEBUG: xprint=%.0f, yprint=%.0f\n", xprint, yprint);
-  fprintf(stderr, "DEBUG: PageLeft=%.0f, PageRight=%.0f, PageWidth=%.0f\n",
-          PageLeft, PageRight, PageWidth);
-  fprintf(stderr, "DEBUG: PageBottom=%.0f, PageTop=%.0f, PageLength=%.0f\n",
-          PageBottom, PageTop, PageLength);
-
-  switch (Orientation)
-  {
-    default :
-       switch (XPosition)
-       {
-         case -1 :
-              left = PageLeft;
-             break;
-         default :
-              left = (PageRight + PageLeft - xprint * 72) / 2;
-             break;
-         case 1 :
-              left = PageRight - xprint * 72;
-             break;
-       }
-
-       switch (YPosition)
-       {
-         case -1 :
-             top = PageBottom + yprint * 72;
-             break;
-         default :
-             top = (PageTop + PageBottom + yprint * 72) / 2;
-             break;
-         case 1 :
-             top = PageTop;
-             break;
-       }
-       break;
-
-    case 1 :
-       switch (XPosition)
-       {
-         case -1 :
-              left = PageBottom;
-             break;
-         default :
-              left = (PageTop + PageBottom - xprint * 72) / 2;
-             break;
-         case 1 :
-              left = PageTop - xprint * 72;
-             break;
-       }
-
-       switch (YPosition)
-       {
-         case -1 :
-             top = PageLeft + yprint * 72;
-             break;
-         default :
-             top = (PageRight + PageLeft + yprint * 72) / 2;
-             break;
-         case 1 :
-             top = PageRight;
-             break;
-       }
-       break;
-
-    case 2 :
-       switch (XPosition)
-       {
-         case 1 :
-              left = PageLeft;
-             break;
-         default :
-              left = (PageRight + PageLeft - xprint * 72) / 2;
-             break;
-         case -1 :
-              left = PageRight - xprint * 72;
-             break;
-       }
-
-       switch (YPosition)
-       {
-         case 1 :
-             top = PageBottom + yprint * 72;
-             break;
-         default :
-             top = (PageTop + PageBottom + yprint * 72) / 2;
-             break;
-         case -1 :
-             top = PageTop;
-             break;
-       }
-       break;
-
-    case 3 :
-       switch (XPosition)
-       {
-         case 1 :
-              left = PageBottom;
-             break;
-         default :
-              left = (PageTop + PageBottom - xprint * 72) / 2;
-             break;
-         case -1 :
-              left = PageTop - xprint * 72;
-             break;
-       }
-
-       switch (YPosition)
-       {
-         case 1 :
-             top = PageLeft + yprint * 72;
-             break;
-         default :
-             top = (PageRight + PageLeft + yprint * 72) / 2;
-             break;
-         case -1 :
-             top = PageRight;
-             break;
-       }
-       break;
-  }
-
-  fprintf(stderr, "DEBUG: left=%.2f, top=%.2f\n", left, top);
-
-  for (page = 1; Copies > 0; Copies --)
-    for (xpage = 0; xpage < xpages; xpage ++)
-      for (ypage = 0; ypage < ypages; ypage ++, page ++)
-      {
-        if (ppd && ppd->num_filters == 0)
-          fprintf(stderr, "PAGE: %d %d\n", page, realcopies);
-
-       _cupsLangPrintFilter(stderr, "INFO", _("Printing page %d."), page);
-
-        printf("%%%%Page: %d %d\n", page, page);
-
-        ppdEmit(ppd, stdout, PPD_ORDER_PAGE);
-
-       puts("gsave");
-
-       if (Flip)
-         printf("%.0f 0 translate -1 1 scale\n", PageWidth);
-
-       switch (Orientation)
-       {
-         case 1 : /* Landscape */
-              printf("%.0f 0 translate 90 rotate\n", PageWidth);
-              break;
-         case 2 : /* Reverse Portrait */
-              printf("%.0f %.0f translate 180 rotate\n", PageWidth, PageLength);
-              break;
-         case 3 : /* Reverse Landscape */
-              printf("0 %.0f translate -90 rotate\n", PageLength);
-              break;
-       }
-
-        puts("gsave");
-
-       xc0 = cupsImageGetWidth(img) * xpage / xpages;
-       xc1 = cupsImageGetWidth(img) * (xpage + 1) / xpages - 1;
-       yc0 = cupsImageGetHeight(img) * ypage / ypages;
-       yc1 = cupsImageGetHeight(img) * (ypage + 1) / ypages - 1;
-
-        printf("%.1f %.1f translate\n", left, top);
-
-       printf("%.3f %.3f scale\n\n",
-              xprint * 72.0 / (xc1 - xc0 + 1),
-              yprint * 72.0 / (yc1 - yc0 + 1));
-
-       if (LanguageLevel == 1)
-       {
-         printf("/picture %d string def\n", (xc1 - xc0 + 1) * abs(colorspace));
-         printf("%d %d 8[1 0 0 -1 0 1]", (xc1 - xc0 + 1), (yc1 - yc0 + 1));
-
-          if (colorspace == CUPS_IMAGE_WHITE)
-            puts("{currentfile picture readhexstring pop} image");
-          else
-            printf("{currentfile picture readhexstring pop} false %d colorimage\n",
-                  abs(colorspace));
-
-          for (y = yc0; y <= yc1; y ++)
-          {
-            cupsImageGetRow(img, xc0, y, xc1 - xc0 + 1, row);
-            ps_hex(row, (xc1 - xc0 + 1) * abs(colorspace), y == yc1);
-          }
-       }
-       else
-       {
-          switch (colorspace)
-         {
-           case CUPS_IMAGE_WHITE :
-                puts("/DeviceGray setcolorspace");
-               break;
-            case CUPS_IMAGE_RGB :
-                puts("/DeviceRGB setcolorspace");
-               break;
-            case CUPS_IMAGE_CMYK :
-                puts("/DeviceCMYK setcolorspace");
-               break;
-          }
-
-          printf("<<"
-                 "/ImageType 1"
-                "/Width %d"
-                "/Height %d"
-                "/BitsPerComponent 8",
-                xc1 - xc0 + 1, yc1 - yc0 + 1);
-
-          switch (colorspace)
-         {
-           case CUPS_IMAGE_WHITE :
-                fputs("/Decode[0 1]", stdout);
-               break;
-            case CUPS_IMAGE_RGB :
-                fputs("/Decode[0 1 0 1 0 1]", stdout);
-               break;
-            case CUPS_IMAGE_CMYK :
-                fputs("/Decode[0 1 0 1 0 1 0 1]", stdout);
-               break;
-          }
-
-          fputs("\n/DataSource currentfile/ASCII85Decode filter", stdout);
-
-          if (((xc1 - xc0 + 1) / xprint) < 100.0)
-            fputs("/Interpolate true", stdout);
-
-          puts("/ImageMatrix[1 0 0 -1 0 1]>>image");
-
-          for (y = yc0, out_offset = 0; y <= yc1; y ++)
-          {
-            cupsImageGetRow(img, xc0, y, xc1 - xc0 + 1, row + out_offset);
-
-            out_length = (xc1 - xc0 + 1) * abs(colorspace) + out_offset;
-            out_offset = out_length & 3;
-
-            ps_ascii85(row, out_length, y == yc1);
-
-            if (out_offset > 0)
-              memcpy(row, row + out_length - out_offset, out_offset);
-          }
-       }
-
-       puts("grestore");
-       WriteLabels(0);
-       puts("grestore");
-       puts("showpage");
-      }
-
-  puts("%%EOF");
-
- /*
-  * End the job with the appropriate JCL command or CTRL-D otherwise.
-  */
-
-  if (emit_jcl)
-  {
-    if (ppd && ppd->jcl_end)
-      ppdEmitJCLEnd(ppd, stdout);
-    else
-      putchar(0x04);
-  }
-
- /*
-  * Close files...
-  */
-
-  cupsImageClose(img);
-  ppdClose(ppd);
-
-  return (0);
-}
-
-
-/*
- * 'ps_hex()' - Print binary data as a series of hexadecimal numbers.
- */
-
-static void
-ps_hex(cups_ib_t *data,                        /* I - Data to print */
-       int       length,               /* I - Number of bytes to print */
-       int       last_line)            /* I - Last line of raster data? */
-{
-  static int   col = 0;                /* Current column */
-  static char  *hex = "0123456789ABCDEF";
-                                       /* Hex digits */
-
-
-  while (length > 0)
-  {
-   /*
-    * Put the hex chars out to the file; note that we don't use printf()
-    * for speed reasons...
-    */
-
-    putchar(hex[*data >> 4]);
-    putchar(hex[*data & 15]);
-
-    data ++;
-    length --;
-
-    col += 2;
-    if (col > 78)
-    {
-      putchar('\n');
-      col = 0;
-    }
-  }
-
-  if (last_line && col)
-  {
-    putchar('\n');
-    col = 0;
-  }
-}
-
-
-/*
- * 'ps_ascii85()' - Print binary data as a series of base-85 numbers.
- */
-
-static void
-ps_ascii85(cups_ib_t *data,            /* I - Data to print */
-          int       length,            /* I - Number of bytes to print */
-          int       last_line)         /* I - Last line of raster data? */
-{
-  unsigned     b;                      /* Binary data word */
-  unsigned char        c[5];                   /* ASCII85 encoded chars */
-  static int   col = 0;                /* Current column */
-
-
-  while (length > 3)
-  {
-    b = (((((data[0] << 8) | data[1]) << 8) | data[2]) << 8) | data[3];
-
-    if (b == 0)
-    {
-      putchar('z');
-      col ++;
-    }
-    else
-    {
-      c[4] = (b % 85) + '!';
-      b /= 85;
-      c[3] = (b % 85) + '!';
-      b /= 85;
-      c[2] = (b % 85) + '!';
-      b /= 85;
-      c[1] = (b % 85) + '!';
-      b /= 85;
-      c[0] = b + '!';
-
-      fwrite(c, 5, 1, stdout);
-      col += 5;
-    }
-
-    data += 4;
-    length -= 4;
-
-    if (col >= 75)
-    {
-      putchar('\n');
-      col = 0;
-    }
-  }
-
-  if (last_line)
-  {
-    if (length > 0)
-    {
-      memset(data + length, 0, 4 - length);
-      b = (((((data[0] << 8) | data[1]) << 8) | data[2]) << 8) | data[3];
-
-      c[4] = (b % 85) + '!';
-      b /= 85;
-      c[3] = (b % 85) + '!';
-      b /= 85;
-      c[2] = (b % 85) + '!';
-      b /= 85;
-      c[1] = (b % 85) + '!';
-      b /= 85;
-      c[0] = b + '!';
-
-      fwrite(c, length + 1, 1, stdout);
-    }
-
-    puts("~>");
-    col = 0;
-  }
-}
-
-
-/*
- * End of "$Id: imagetops.c 9901 2011-08-17 21:01:53Z mike $".
- */
diff --git a/filter/imagetoraster.c b/filter/imagetoraster.c
deleted file mode 100644 (file)
index 0d09ce2..0000000
+++ /dev/null
@@ -1,4368 +0,0 @@
-/*
- * "$Id: imagetoraster.c 9808 2011-05-26 12:03:28Z mike $"
- *
- *   Image file to raster filter for CUPS.
- *
- *   Copyright 2007-2011 by Apple Inc.
- *   Copyright 1993-2007 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- *   This file is subject to the Apple OS-Developed Software exception.
- *
- * Contents:
- *
- *   main()          - Main entry...
- *   blank_line()    - Clear a line buffer to the blank value...
- *   format_CMY()    - Convert image data to CMY.
- *   format_CMYK()   - Convert image data to CMYK.
- *   format_K()      - Convert image data to black.
- *   format_KCMY()   - Convert image data to KCMY.
- *   format_KCMYcm() - Convert image data to KCMYcm.
- *   format_RGBA()   - Convert image data to RGBA/RGBW.
- *   format_W()      - Convert image data to luminance.
- *   format_YMC()    - Convert image data to YMC.
- *   format_YMCK()   - Convert image data to YMCK.
- *   make_lut()      - Make a lookup table given gamma and brightness values.
- *   raster_cb()     - Validate the page header.
- */
-
-/*
- * Include necessary headers...
- */
-
-#include "common.h"
-#include "image-private.h"
-#include <unistd.h>
-#include <math.h>
-#include <cups/language-private.h>
-#include <signal.h>
-
-
-/*
- * Globals...
- */
-
-int    Flip = 0,                       /* Flip/mirror pages */
-       XPosition = 0,                  /* Horizontal position on page */
-       YPosition = 0,                  /* Vertical position on page */
-       Collate = 0,                    /* Collate copies? */
-       Copies = 1;                     /* Number of copies */
-int    Floyd16x16[16][16] =            /* Traditional Floyd ordered dither */
-       {
-         { 0,   128, 32,  160, 8,   136, 40,  168,
-           2,   130, 34,  162, 10,  138, 42,  170 },
-         { 192, 64,  224, 96,  200, 72,  232, 104,
-           194, 66,  226, 98,  202, 74,  234, 106 },
-         { 48,  176, 16,  144, 56,  184, 24,  152,
-           50,  178, 18,  146, 58,  186, 26,  154 },
-         { 240, 112, 208, 80,  248, 120, 216, 88,
-           242, 114, 210, 82,  250, 122, 218, 90 },
-         { 12,  140, 44,  172, 4,   132, 36,  164,
-           14,  142, 46,  174, 6,   134, 38,  166 },
-         { 204, 76,  236, 108, 196, 68,  228, 100,
-           206, 78,  238, 110, 198, 70,  230, 102 },
-         { 60,  188, 28,  156, 52,  180, 20,  148,
-           62,  190, 30,  158, 54,  182, 22,  150 },
-         { 252, 124, 220, 92,  244, 116, 212, 84,
-           254, 126, 222, 94,  246, 118, 214, 86 },
-         { 3,   131, 35,  163, 11,  139, 43,  171,
-           1,   129, 33,  161, 9,   137, 41,  169 },
-         { 195, 67,  227, 99,  203, 75,  235, 107,
-           193, 65,  225, 97,  201, 73,  233, 105 },
-         { 51,  179, 19,  147, 59,  187, 27,  155,
-           49,  177, 17,  145, 57,  185, 25,  153 },
-         { 243, 115, 211, 83,  251, 123, 219, 91,
-           241, 113, 209, 81,  249, 121, 217, 89 },
-         { 15,  143, 47,  175, 7,   135, 39,  167,
-           13,  141, 45,  173, 5,   133, 37,  165 },
-         { 207, 79,  239, 111, 199, 71,  231, 103,
-           205, 77,  237, 109, 197, 69,  229, 101 },
-         { 63,  191, 31,  159, 55,  183, 23,  151,
-           61,  189, 29,  157, 53,  181, 21,  149 },
-         { 254, 127, 223, 95,  247, 119, 215, 87,
-           253, 125, 221, 93,  245, 117, 213, 85 }
-       };
-int    Floyd8x8[8][8] =
-       {
-         {  0, 32,  8, 40,  2, 34, 10, 42 },
-         { 48, 16, 56, 24, 50, 18, 58, 26 },
-         { 12, 44,  4, 36, 14, 46,  6, 38 },
-         { 60, 28, 52, 20, 62, 30, 54, 22 },
-         {  3, 35, 11, 43,  1, 33,  9, 41 },
-         { 51, 19, 59, 27, 49, 17, 57, 25 },
-         { 15, 47,  7, 39, 13, 45,  5, 37 },
-         { 63, 31, 55, 23, 61, 29, 53, 21 }
-       };
-int    Floyd4x4[4][4] =
-       {
-         {  0,  8,  2, 10 },
-         { 12,  4, 14,  6 },
-         {  3, 11,  1,  9 },
-         { 15,  7, 13,  5 }
-       };
-
-cups_ib_t      OnPixels[256],          /* On-pixel LUT */
-               OffPixels[256];         /* Off-pixel LUT */
-
-
-/*
- * Local functions...
- */
-
-static void    blank_line(cups_page_header2_t *header, unsigned char *row);
-static void    format_CMY(cups_page_header2_t *header, unsigned char *row, int y, int z, int xsize, int ysize, int yerr0, int yerr1, cups_ib_t *r0, cups_ib_t *r1);
-static void    format_CMYK(cups_page_header2_t *header, unsigned char *row, int y, int z, int xsize, int ysize, int yerr0, int yerr1, cups_ib_t *r0, cups_ib_t *r1);
-static void    format_K(cups_page_header2_t *header, unsigned char *row, int y, int z, int xsize, int ysize, int yerr0, int yerr1, cups_ib_t *r0, cups_ib_t *r1);
-static void    format_KCMYcm(cups_page_header2_t *header, unsigned char *row, int y, int z, int xsize, int ysize, int yerr0, int yerr1, cups_ib_t *r0, cups_ib_t *r1);
-static void    format_KCMY(cups_page_header2_t *header, unsigned char *row, int y, int z, int xsize, int ysize, int yerr0, int yerr1, cups_ib_t *r0, cups_ib_t *r1);
-#define                format_RGB format_CMY
-static void    format_RGBA(cups_page_header2_t *header, unsigned char *row, int y, int z, int xsize, int ysize, int yerr0, int yerr1, cups_ib_t *r0, cups_ib_t *r1);
-static void    format_W(cups_page_header2_t *header, unsigned char *row, int y, int z, int xsize, int ysize, int yerr0, int yerr1, cups_ib_t *r0, cups_ib_t *r1);
-static void    format_YMC(cups_page_header2_t *header, unsigned char *row, int y, int z, int xsize, int ysize, int yerr0, int yerr1, cups_ib_t *r0, cups_ib_t *r1);
-static void    format_YMCK(cups_page_header2_t *header, unsigned char *row, int y, int z, int xsize, int ysize, int yerr0, int yerr1, cups_ib_t *r0, cups_ib_t *r1);
-static void    make_lut(cups_ib_t *, int, float, float);
-static int     raster_cb(cups_page_header2_t *header, int preferred_bits);
-
-
-/*
- * 'main()' - Main entry...
- */
-
-int                                    /* O - Exit status */
-main(int  argc,                                /* I - Number of command-line arguments */
-     char *argv[])                     /* I - Command-line arguments */
-{
-  int                  i;              /* Looping var */
-  cups_image_t         *img;           /* Image to print */
-  float                        xprint,         /* Printable area */
-                       yprint,
-                       xinches,        /* Total size in inches */
-                       yinches;
-  float                        xsize,          /* Total size in points */
-                       ysize,
-                       xsize2,
-                       ysize2;
-  float                        aspect;         /* Aspect ratio */
-  int                  xpages,         /* # x pages */
-                       ypages,         /* # y pages */
-                       xpage,          /* Current x page */
-                       ypage,          /* Current y page */
-                       xtemp,          /* Bitmap width in pixels */
-                       ytemp,          /* Bitmap height in pixels */
-                       page;           /* Current page number */
-  int                  xc0, yc0,       /* Corners of the page in image coords */
-                       xc1, yc1;
-  ppd_file_t           *ppd;           /* PPD file */
-  ppd_choice_t         *choice;        /* PPD option choice */
-  char                 *resolution,    /* Output resolution */
-                       *media_type;    /* Media type */
-  ppd_profile_t                *profile;       /* Color profile */
-  ppd_profile_t                userprofile;    /* User-specified profile */
-  cups_raster_t                *ras;           /* Raster stream */
-  cups_page_header2_t  header;         /* Page header */
-  int                  num_options;    /* Number of print options */
-  cups_option_t                *options;       /* Print options */
-  const char           *val;           /* Option value */
-  int                  slowcollate,    /* Collate copies the slow way */
-                       slowcopies;     /* Make copies the "slow" way? */
-  float                        g;              /* Gamma correction value */
-  float                        b;              /* Brightness factor */
-  float                        zoom;           /* Zoom facter */
-  int                  xppi, yppi;     /* Pixels-per-inch */
-  int                  hue, sat;       /* Hue and saturation adjustment */
-  cups_izoom_t         *z;             /* Image zoom buffer */
-  cups_iztype_t                zoom_type;      /* Image zoom type */
-  int                  primary,        /* Primary image colorspace */
-                       secondary;      /* Secondary image colorspace */
-  cups_ib_t            *row,           /* Current row */
-                       *r0,            /* Top row */
-                       *r1;            /* Bottom row */
-  int                  y,              /* Current Y coordinate on page */
-                       iy,             /* Current Y coordinate in image */
-                       last_iy,        /* Previous Y coordinate in image */
-                       yerr0,          /* Top Y error value */
-                       yerr1;          /* Bottom Y error value */
-  cups_ib_t            lut[256];       /* Gamma/brightness LUT */
-  int                  plane,          /* Current color plane */
-                       num_planes;     /* Number of color planes */
-  char                 filename[1024]; /* Name of file to print */
-
-
- /*
-  * Make sure status messages are not buffered...
-  */
-
-  setbuf(stderr, NULL);
-
- /*
-  * Ignore broken pipe signals...
-  */
-
-  signal(SIGPIPE, SIG_IGN);
-
- /*
-  * Check command-line...
-  */
-
-  if (argc < 6 || argc > 7)
-  {
-    _cupsLangPrintf(stderr,
-                    _("Usage: %s job-id user title copies options file"),
-                    argv[0]);
-    return (1);
-  }
-
- /*
-  * See if we need to use the imagetops and pstoraster filters instead...
-  */
-
-  options     = NULL;
-  num_options = cupsParseOptions(argv[5], 0, &options);
-
-  if (getenv("CLASSIFICATION") ||
-      cupsGetOption("page-label", num_options, options))
-  {
-   /*
-    * Yes, fork a copy of pstoraster and then transfer control to imagetops...
-    */
-
-    int        mypipes[2];             /* New pipes for imagetops | pstoraster */
-    int        pid;                    /* PID of pstoraster */
-
-
-    cupsFreeOptions(num_options, options);
-
-    if (pipe(mypipes))
-    {
-      _cupsLangPrintError("ERROR", _("Unable to create pipes for filters"));
-      return (errno);
-    }
-
-    if ((pid = fork()) == 0)
-    {
-     /*
-      * Child process for pstoraster...  Assign new pipe input to pstoraster...
-      */
-
-      dup2(mypipes[0], 0);
-      close(mypipes[0]);
-      close(mypipes[1]);
-
-      execlp("pstoraster", argv[0], argv[1], argv[2], argv[3], argv[4], argv[5],
-             NULL);
-      return (errno);
-    }
-    else if (pid < 0)
-    {
-     /*
-      * Error!
-      */
-
-      _cupsLangPrintError("ERROR", _("Unable to fork filter"));
-      return (errno);
-    }
-
-   /*
-    * Update stdout so it points at the new pstoraster...
-    */
-
-    dup2(mypipes[1], 1);
-    close(mypipes[0]);
-    close(mypipes[1]);
-
-   /*
-    * Run imagetops to get the classification or page labeling that was
-    * requested...
-    */
-
-    execlp("imagetops", argv[0], argv[1], argv[2], argv[3], argv[4], argv[5],
-           argv[6], NULL);
-    return (errno);
-  }
-
- /*
-  * Copy stdin as needed...
-  */
-
-  if (argc == 6)
-  {
-    int                fd;             /* File to write to */
-    char       buffer[8192];   /* Buffer to read into */
-    int                bytes;          /* # of bytes to read */
-
-
-    if ((fd = cupsTempFd(filename, sizeof(filename))) < 0)
-    {
-      _cupsLangPrintError("ERROR", _("Unable to copy print file"));
-      return (1);
-    }
-
-    fprintf(stderr,
-            "DEBUG: imagetoraster - copying to temp print file \"%s\".\n",
-            filename);
-
-    while ((bytes = fread(buffer, 1, sizeof(buffer), stdin)) > 0)
-      write(fd, buffer, bytes);
-
-    close(fd);
-  }
-  else
-    strlcpy(filename, argv[6], sizeof(filename));
-
- /*
-  * Process command-line options and write the prolog...
-  */
-
-  zoom = 0.0;
-  xppi = 0;
-  yppi = 0;
-  hue  = 0;
-  sat  = 100;
-  g    = 1.0;
-  b    = 1.0;
-
-  Copies = atoi(argv[4]);
-
-  ppd = SetCommonOptions(num_options, options, 0);
-
-  if ((val = cupsGetOption("multiple-document-handling", num_options, options)) != NULL)
-  {
-   /*
-    * This IPP attribute is unnecessarily complicated...
-    *
-    *   single-document, separate-documents-collated-copies, and
-    *   single-document-new-sheet all require collated copies.
-    *
-    *   separate-documents-collated-copies allows for uncollated copies.
-    */
-
-    Collate = _cups_strcasecmp(val, "separate-documents-collated-copies") != 0;
-  }
-
-  if ((val = cupsGetOption("Collate", num_options, options)) != NULL &&
-      _cups_strcasecmp(val, "True") == 0)
-    Collate = 1;
-
-  if ((val = cupsGetOption("gamma", num_options, options)) != NULL)
-  {
-   /*
-    * Get gamma value from 1 to 10000...
-    */
-
-    g = atoi(val) * 0.001f;
-
-    if (g < 0.001f)
-      g = 0.001f;
-    else if (g > 10.0f)
-      g = 10.0f;
-  }
-
-  if ((val = cupsGetOption("brightness", num_options, options)) != NULL)
-  {
-   /*
-    * Get brightness value from 10 to 1000.
-    */
-
-    b = atoi(val) * 0.01f;
-
-    if (b < 0.1f)
-      b = 0.1f;
-    else if (b > 10.0f)
-      b = 10.0f;
-  }
-
-  if ((val = cupsGetOption("scaling", num_options, options)) != NULL)
-    zoom = atoi(val) * 0.01;
-  else if ((val = cupsGetOption("fitplot", num_options, options)) != NULL &&
-           !_cups_strcasecmp(val, "true"))
-    zoom = 1.0;
-  else if ((val = cupsGetOption("fit-to-page", num_options, options)) != NULL &&
-           !_cups_strcasecmp(val, "true"))
-    zoom = 1.0;
-
-  if ((val = cupsGetOption("ppi", num_options, options)) != NULL)
-    if (sscanf(val, "%dx%d", &xppi, &yppi) < 2)
-      yppi = xppi;
-
-  if ((val = cupsGetOption("position", num_options, options)) != NULL)
-  {
-    if (_cups_strcasecmp(val, "center") == 0)
-    {
-      XPosition = 0;
-      YPosition = 0;
-    }
-    else if (_cups_strcasecmp(val, "top") == 0)
-    {
-      XPosition = 0;
-      YPosition = 1;
-    }
-    else if (_cups_strcasecmp(val, "left") == 0)
-    {
-      XPosition = -1;
-      YPosition = 0;
-    }
-    else if (_cups_strcasecmp(val, "right") == 0)
-    {
-      XPosition = 1;
-      YPosition = 0;
-    }
-    else if (_cups_strcasecmp(val, "top-left") == 0)
-    {
-      XPosition = -1;
-      YPosition = 1;
-    }
-    else if (_cups_strcasecmp(val, "top-right") == 0)
-    {
-      XPosition = 1;
-      YPosition = 1;
-    }
-    else if (_cups_strcasecmp(val, "bottom") == 0)
-    {
-      XPosition = 0;
-      YPosition = -1;
-    }
-    else if (_cups_strcasecmp(val, "bottom-left") == 0)
-    {
-      XPosition = -1;
-      YPosition = -1;
-    }
-    else if (_cups_strcasecmp(val, "bottom-right") == 0)
-    {
-      XPosition = 1;
-      YPosition = -1;
-    }
-  }
-
-  if ((val = cupsGetOption("saturation", num_options, options)) != NULL)
-    sat = atoi(val);
-
-  if ((val = cupsGetOption("hue", num_options, options)) != NULL)
-    hue = atoi(val);
-
-  if ((choice = ppdFindMarkedChoice(ppd, "MirrorPrint")) != NULL)
-  {
-    val = choice->choice;
-    choice->marked = 0;
-  }
-  else
-    val = cupsGetOption("mirror", num_options, options);
-
-  if (val && (!_cups_strcasecmp(val, "true") || !_cups_strcasecmp(val, "on") ||
-              !_cups_strcasecmp(val, "yes")))
-    Flip = 1;
-
- /*
-  * Set the needed options in the page header...
-  */
-
-  if (cupsRasterInterpretPPD(&header, ppd, num_options, options, raster_cb))
-  {
-    _cupsLangPrintFilter(stderr, "ERROR",
-                         _("The page setup information was not valid."));
-    fprintf(stderr, "DEBUG: %s\n", cupsRasterErrorString());
-    return (1);
-  }
-
- /*
-  * Get the media type and resolution that have been chosen...
-  */
-
-  if ((choice = ppdFindMarkedChoice(ppd, "MediaType")) != NULL)
-    media_type = choice->choice;
-  else
-    media_type = "";
-
-  if ((choice = ppdFindMarkedChoice(ppd, "Resolution")) != NULL)
-    resolution = choice->choice;
-  else
-    resolution = "";
-
- /*
-  * Choose the appropriate colorspace...
-  */
-
-  switch (header.cupsColorSpace)
-  {
-    case CUPS_CSPACE_W :
-    case CUPS_CSPACE_SW :
-        if (header.cupsBitsPerColor >= 8)
-       {
-          primary   = CUPS_IMAGE_WHITE;
-         secondary = CUPS_IMAGE_WHITE;
-        }
-       else
-       {
-          primary   = CUPS_IMAGE_BLACK;
-         secondary = CUPS_IMAGE_BLACK;
-       }
-       break;
-
-    default :
-    case CUPS_CSPACE_RGB :
-    case CUPS_CSPACE_RGBA :
-    case CUPS_CSPACE_RGBW :
-    case CUPS_CSPACE_SRGB :
-    case CUPS_CSPACE_ADOBERGB :
-        if (header.cupsBitsPerColor >= 8)
-       {
-          primary   = CUPS_IMAGE_RGB;
-         secondary = CUPS_IMAGE_RGB;
-        }
-       else
-       {
-          primary   = CUPS_IMAGE_CMY;
-         secondary = CUPS_IMAGE_CMY;
-       }
-       break;
-
-    case CUPS_CSPACE_K :
-    case CUPS_CSPACE_WHITE :
-    case CUPS_CSPACE_GOLD :
-    case CUPS_CSPACE_SILVER :
-        primary   = CUPS_IMAGE_BLACK;
-       secondary = CUPS_IMAGE_BLACK;
-       break;
-
-    case CUPS_CSPACE_CMYK :
-    case CUPS_CSPACE_YMCK :
-    case CUPS_CSPACE_KCMY :
-    case CUPS_CSPACE_KCMYcm :
-    case CUPS_CSPACE_GMCK :
-    case CUPS_CSPACE_GMCS :
-        if (header.cupsBitsPerColor == 1)
-       {
-          primary   = CUPS_IMAGE_CMY;
-         secondary = CUPS_IMAGE_CMY;
-       }
-       else
-       {
-          primary   = CUPS_IMAGE_CMYK;
-         secondary = CUPS_IMAGE_CMYK;
-       }
-       break;
-
-    case CUPS_CSPACE_CMY :
-    case CUPS_CSPACE_YMC :
-        primary   = CUPS_IMAGE_CMY;
-       secondary = CUPS_IMAGE_CMY;
-       break;
-
-    case CUPS_CSPACE_CIEXYZ :
-    case CUPS_CSPACE_CIELab :
-    case CUPS_CSPACE_ICC1 :
-    case CUPS_CSPACE_ICC2 :
-    case CUPS_CSPACE_ICC3 :
-    case CUPS_CSPACE_ICC4 :
-    case CUPS_CSPACE_ICC5 :
-    case CUPS_CSPACE_ICC6 :
-    case CUPS_CSPACE_ICC7 :
-    case CUPS_CSPACE_ICC8 :
-    case CUPS_CSPACE_ICC9 :
-    case CUPS_CSPACE_ICCA :
-    case CUPS_CSPACE_ICCB :
-    case CUPS_CSPACE_ICCC :
-    case CUPS_CSPACE_ICCD :
-    case CUPS_CSPACE_ICCE :
-    case CUPS_CSPACE_ICCF :
-    case CUPS_CSPACE_DEVICE1 :
-    case CUPS_CSPACE_DEVICE2 :
-    case CUPS_CSPACE_DEVICE3 :
-    case CUPS_CSPACE_DEVICE4 :
-    case CUPS_CSPACE_DEVICE5 :
-    case CUPS_CSPACE_DEVICE6 :
-    case CUPS_CSPACE_DEVICE7 :
-    case CUPS_CSPACE_DEVICE8 :
-    case CUPS_CSPACE_DEVICE9 :
-    case CUPS_CSPACE_DEVICEA :
-    case CUPS_CSPACE_DEVICEB :
-    case CUPS_CSPACE_DEVICEC :
-    case CUPS_CSPACE_DEVICED :
-    case CUPS_CSPACE_DEVICEE :
-    case CUPS_CSPACE_DEVICEF :
-        fprintf(stderr, "DEBUG: Colorspace %d not supported.\n",
-               header.cupsColorSpace);
-       exit(1);
-       break;
-  }
-
- /*
-  * Find a color profile matching the current options...
-  */
-
-  if ((val = cupsGetOption("profile", num_options, options)) != NULL)
-  {
-    profile = &userprofile;
-    sscanf(val, "%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f",
-           &(userprofile.density), &(userprofile.gamma),
-          userprofile.matrix[0] + 0, userprofile.matrix[0] + 1,
-          userprofile.matrix[0] + 2,
-          userprofile.matrix[1] + 0, userprofile.matrix[1] + 1,
-          userprofile.matrix[1] + 2,
-          userprofile.matrix[2] + 0, userprofile.matrix[2] + 1,
-          userprofile.matrix[2] + 2);
-
-    userprofile.density      *= 0.001f;
-    userprofile.gamma        *= 0.001f;
-    userprofile.matrix[0][0] *= 0.001f;
-    userprofile.matrix[0][1] *= 0.001f;
-    userprofile.matrix[0][2] *= 0.001f;
-    userprofile.matrix[1][0] *= 0.001f;
-    userprofile.matrix[1][1] *= 0.001f;
-    userprofile.matrix[1][2] *= 0.001f;
-    userprofile.matrix[2][0] *= 0.001f;
-    userprofile.matrix[2][1] *= 0.001f;
-    userprofile.matrix[2][2] *= 0.001f;
-  }
-  else if (ppd != NULL)
-  {
-    fprintf(stderr, "DEBUG: Searching for profile \"%s/%s\"...\n",
-            resolution, media_type);
-
-    for (i = 0, profile = ppd->profiles; i < ppd->num_profiles; i ++, profile ++)
-    {
-      fprintf(stderr, "DEBUG: \"%s/%s\" = ", profile->resolution,
-              profile->media_type);
-
-      if ((strcmp(profile->resolution, resolution) == 0 ||
-           profile->resolution[0] == '-') &&
-          (strcmp(profile->media_type, media_type) == 0 ||
-           profile->media_type[0] == '-'))
-      {
-        fputs("MATCH\n", stderr);
-       break;
-      }
-      else
-        fputs("no.\n", stderr);
-    }
-
-   /*
-    * If we found a color profile, use it!
-    */
-
-    if (i >= ppd->num_profiles)
-      profile = NULL;
-  }
-  else
-    profile = NULL;
-
-  if (profile)
-    cupsImageSetProfile(profile->density, profile->gamma, profile->matrix);
-
-  cupsImageSetRasterColorSpace(header.cupsColorSpace);
-
- /*
-  * Create a gamma/brightness LUT...
-  */
-
-  make_lut(lut, primary, g, b);
-
- /*
-  * Open the input image to print...
-  */
-
-  _cupsLangPrintFilter(stderr, "INFO", _("Loading print file."));
-
-  if (header.cupsColorSpace == CUPS_CSPACE_CIEXYZ ||
-      header.cupsColorSpace == CUPS_CSPACE_CIELab ||
-      header.cupsColorSpace >= CUPS_CSPACE_ICC1)
-    img = cupsImageOpen(filename, primary, secondary, sat, hue, NULL);
-  else
-    img = cupsImageOpen(filename, primary, secondary, sat, hue, lut);
-
-  if (argc == 6)
-    unlink(filename);
-
-  if (img == NULL)
-  {
-    _cupsLangPrintFilter(stderr, "ERROR",
-                         _("The print file could not be opened."));
-    ppdClose(ppd);
-    return (1);
-  }
-
- /*
-  * Scale as necessary...
-  */
-
-  if (zoom == 0.0 && xppi == 0)
-  {
-    xppi = img->xppi;
-    yppi = img->yppi;
-  }
-
-  if (yppi == 0)
-    yppi = xppi;
-
-  fprintf(stderr, "DEBUG: Before scaling: xppi=%d, yppi=%d, zoom=%.2f\n",
-          xppi, yppi, zoom);
-
-  if (xppi > 0)
-  {
-   /*
-    * Scale the image as neccesary to match the desired pixels-per-inch.
-    */
-
-    if (Orientation & 1)
-    {
-      xprint = (PageTop - PageBottom) / 72.0;
-      yprint = (PageRight - PageLeft) / 72.0;
-    }
-    else
-    {
-      xprint = (PageRight - PageLeft) / 72.0;
-      yprint = (PageTop - PageBottom) / 72.0;
-    }
-
-    fprintf(stderr, "DEBUG: Before scaling: xprint=%.1f, yprint=%.1f\n",
-            xprint, yprint);
-
-    xinches = (float)img->xsize / (float)xppi;
-    yinches = (float)img->ysize / (float)yppi;
-
-    fprintf(stderr, "DEBUG: Image size is %.1f x %.1f inches...\n",
-            xinches, yinches);
-
-    if ((val = cupsGetOption("natural-scaling", num_options, options)) != NULL)
-    {
-      xinches = xinches * atoi(val) / 100;
-      yinches = yinches * atoi(val) / 100;
-    }
-
-    if (cupsGetOption("orientation-requested", num_options, options) == NULL &&
-        cupsGetOption("landscape", num_options, options) == NULL)
-    {
-     /*
-      * Rotate the image if it will fit landscape but not portrait...
-      */
-
-      fputs("DEBUG: Auto orientation...\n", stderr);
-
-      if ((xinches > xprint || yinches > yprint) &&
-          xinches <= yprint && yinches <= xprint)
-      {
-       /*
-       * Rotate the image as needed...
-       */
-
-        fputs("DEBUG: Using landscape orientation...\n", stderr);
-
-       Orientation = (Orientation + 1) & 3;
-       xsize       = yprint;
-       yprint      = xprint;
-       xprint      = xsize;
-      }
-    }
-  }
-  else
-  {
-   /*
-    * Scale percentage of page size...
-    */
-
-    xprint = (PageRight - PageLeft) / 72.0;
-    yprint = (PageTop - PageBottom) / 72.0;
-    aspect = (float)img->yppi / (float)img->xppi;
-
-    fprintf(stderr, "DEBUG: Before scaling: xprint=%.1f, yprint=%.1f\n",
-            xprint, yprint);
-
-    fprintf(stderr, "DEBUG: img->xppi = %d, img->yppi = %d, aspect = %f\n",
-            img->xppi, img->yppi, aspect);
-
-    xsize = xprint * zoom;
-    ysize = xsize * img->ysize / img->xsize / aspect;
-
-    if (ysize > (yprint * zoom))
-    {
-      ysize = yprint * zoom;
-      xsize = ysize * img->xsize * aspect / img->ysize;
-    }
-
-    xsize2 = yprint * zoom;
-    ysize2 = xsize2 * img->ysize / img->xsize / aspect;
-
-    if (ysize2 > (xprint * zoom))
-    {
-      ysize2 = xprint * zoom;
-      xsize2 = ysize2 * img->xsize * aspect / img->ysize;
-    }
-
-    fprintf(stderr, "DEBUG: Portrait size is %.2f x %.2f inches\n", xsize, ysize);
-    fprintf(stderr, "DEBUG: Landscape size is %.2f x %.2f inches\n", xsize2, ysize2);
-
-    if (cupsGetOption("orientation-requested", num_options, options) == NULL &&
-        cupsGetOption("landscape", num_options, options) == NULL)
-    {
-     /*
-      * Choose the rotation with the largest area, but prefer
-      * portrait if they are equal...
-      */
-
-      fputs("DEBUG: Auto orientation...\n", stderr);
-
-      if ((xsize * ysize) < (xsize2 * xsize2))
-      {
-       /*
-       * Do landscape orientation...
-       */
-
-        fputs("DEBUG: Using landscape orientation...\n", stderr);
-
-       Orientation = 1;
-       xinches     = xsize2;
-       yinches     = ysize2;
-       xprint      = (PageTop - PageBottom) / 72.0;
-       yprint      = (PageRight - PageLeft) / 72.0;
-      }
-      else
-      {
-       /*
-       * Do portrait orientation...
-       */
-
-        fputs("DEBUG: Using portrait orientation...\n", stderr);
-
-       Orientation = 0;
-       xinches     = xsize;
-       yinches     = ysize;
-      }
-    }
-    else if (Orientation & 1)
-    {
-      fputs("DEBUG: Using landscape orientation...\n", stderr);
-
-      xinches     = xsize2;
-      yinches     = ysize2;
-      xprint      = (PageTop - PageBottom) / 72.0;
-      yprint      = (PageRight - PageLeft) / 72.0;
-    }
-    else
-    {
-      fputs("DEBUG: Using portrait orientation...\n", stderr);
-
-      xinches     = xsize;
-      yinches     = ysize;
-      xprint      = (PageRight - PageLeft) / 72.0;
-      yprint      = (PageTop - PageBottom) / 72.0;
-    }
-  }
-
- /*
-  * Compute the number of pages to print and the size of the image on each
-  * page...
-  */
-
-  xpages = ceil(xinches / xprint);
-  ypages = ceil(yinches / yprint);
-
-  xprint = xinches / xpages;
-  yprint = yinches / ypages;
-
-  fprintf(stderr, "DEBUG: xpages = %dx%.2fin, ypages = %dx%.2fin\n",
-          xpages, xprint, ypages, yprint);
-
- /*
-  * Compute the bitmap size...
-  */
-
-  if ((choice = ppdFindMarkedChoice(ppd, "PageSize")) != NULL &&
-      _cups_strcasecmp(choice->choice, "Custom") == 0)
-  {
-    float      width,          /* New width in points */
-               length;         /* New length in points */
-
-
-   /*
-    * Use the correct width and length for the current orientation...
-    */
-
-    if (Orientation & 1)
-    {
-      width  = yprint * 72.0;
-      length = xprint * 72.0;
-    }
-    else
-    {
-      width  = xprint * 72.0;
-      length = yprint * 72.0;
-    }
-
-   /*
-    * Add margins to page size...
-    */
-
-    width  += ppd->custom_margins[0] + ppd->custom_margins[2];
-    length += ppd->custom_margins[1] + ppd->custom_margins[3];
-
-   /*
-    * Enforce minimums...
-    */
-
-    if (width < ppd->custom_min[0])
-      width = ppd->custom_min[0];
-
-    if (length < ppd->custom_min[1])
-      length = ppd->custom_min[1];
-
-    fprintf(stderr, "DEBUG: Updated custom page size to %.2f x %.2f inches...\n",
-            width / 72.0, length / 72.0);
-
-   /*
-    * Set the new custom size...
-    */
-
-    strcpy(header.cupsPageSizeName, "Custom");
-
-    header.cupsPageSize[0] = width + 0.5;
-    header.cupsPageSize[1] = length + 0.5;
-    header.PageSize[0]     = width + 0.5;
-    header.PageSize[1]     = length + 0.5;
-
-   /*
-    * Update page variables...
-    */
-
-    PageWidth  = width;
-    PageLength = length;
-    PageLeft   = ppd->custom_margins[0];
-    PageRight  = width - ppd->custom_margins[2];
-    PageBottom = ppd->custom_margins[1];
-    PageTop    = length - ppd->custom_margins[3];
-
-   /*
-    * Remove margins from page size...
-    */
-
-    width  -= ppd->custom_margins[0] + ppd->custom_margins[2];
-    length -= ppd->custom_margins[1] + ppd->custom_margins[3];
-
-   /*
-    * Set the bitmap size...
-    */
-
-    header.cupsWidth  = width * header.HWResolution[0] / 72.0;
-    header.cupsHeight = length * header.HWResolution[1] / 72.0;
-
-    header.cupsBytesPerLine = (header.cupsBitsPerPixel *
-                               header.cupsWidth + 7) / 8;
-
-    if (header.cupsColorOrder == CUPS_ORDER_BANDED)
-      header.cupsBytesPerLine *= header.cupsNumColors;
-  }
-
-  header.Margins[0] = PageLeft;
-  header.Margins[1] = PageBottom;
-
-  fprintf(stderr, "DEBUG: PageSize = [%d %d]\n", header.PageSize[0],
-          header.PageSize[1]);
-
-  switch (Orientation)
-  {
-    default :
-       switch (XPosition)
-       {
-         case -1 :
-              header.cupsImagingBBox[0] = PageLeft;
-             header.cupsImagingBBox[2] = PageLeft + xprint * 72;
-             break;
-         default :
-              header.cupsImagingBBox[0] = (PageRight + PageLeft - xprint * 72) / 2;
-             header.cupsImagingBBox[2] = (PageRight + PageLeft + xprint * 72) / 2;
-             break;
-         case 1 :
-              header.cupsImagingBBox[0] = PageRight - xprint * 72;
-             header.cupsImagingBBox[2] = PageRight;
-             break;
-       }
-
-       switch (YPosition)
-       {
-         case -1 :
-              header.cupsImagingBBox[1] = PageBottom;
-             header.cupsImagingBBox[3] = PageBottom + yprint * 72;
-             break;
-         default :
-              header.cupsImagingBBox[1] = (PageTop + PageBottom - yprint * 72) / 2;
-             header.cupsImagingBBox[3] = (PageTop + PageBottom + yprint * 72) / 2;
-             break;
-         case 1 :
-              header.cupsImagingBBox[1] = PageTop - yprint * 72;
-             header.cupsImagingBBox[3] = PageTop;
-             break;
-       }
-       break;
-
-    case 1 :
-       switch (XPosition)
-       {
-         case -1 :
-              header.cupsImagingBBox[0] = PageBottom;
-             header.cupsImagingBBox[2] = PageBottom + yprint * 72;
-             break;
-         default :
-              header.cupsImagingBBox[0] = (PageTop + PageBottom - yprint * 72) / 2;
-             header.cupsImagingBBox[2] = (PageTop + PageBottom + yprint * 72) / 2;
-             break;
-         case 1 :
-              header.cupsImagingBBox[0] = PageTop - yprint * 72;
-             header.cupsImagingBBox[2] = PageTop;
-             break;
-       }
-
-       switch (YPosition)
-       {
-         case -1 :
-              header.cupsImagingBBox[1] = PageLeft;
-             header.cupsImagingBBox[3] = PageLeft + xprint * 72;
-             break;
-         default :
-              header.cupsImagingBBox[1] = (PageRight + PageLeft - xprint * 72) / 2;
-             header.cupsImagingBBox[3] = (PageRight + PageLeft + xprint * 72) / 2;
-             break;
-         case 1 :
-              header.cupsImagingBBox[1] = PageRight - xprint * 72;
-             header.cupsImagingBBox[3] = PageRight;
-             break;
-       }
-       break;
-
-    case 2 :
-       switch (XPosition)
-       {
-         case 1 :
-              header.cupsImagingBBox[0] = PageLeft;
-             header.cupsImagingBBox[2] = PageLeft + xprint * 72;
-             break;
-         default :
-              header.cupsImagingBBox[0] = (PageRight + PageLeft - xprint * 72) / 2;
-             header.cupsImagingBBox[2] = (PageRight + PageLeft + xprint * 72) / 2;
-             break;
-         case -1 :
-              header.cupsImagingBBox[0] = PageRight - xprint * 72;
-             header.cupsImagingBBox[2] = PageRight;
-             break;
-       }
-
-       switch (YPosition)
-       {
-         case 1 :
-              header.cupsImagingBBox[1] = PageBottom;
-             header.cupsImagingBBox[3] = PageBottom + yprint * 72;
-             break;
-         default :
-              header.cupsImagingBBox[1] = (PageTop + PageBottom - yprint * 72) / 2;
-             header.cupsImagingBBox[3] = (PageTop + PageBottom + yprint * 72) / 2;
-             break;
-         case -1 :
-              header.cupsImagingBBox[1] = PageTop - yprint * 72;
-             header.cupsImagingBBox[3] = PageTop;
-             break;
-       }
-       break;
-
-    case 3 :
-       switch (XPosition)
-       {
-         case 1 :
-              header.cupsImagingBBox[0] = PageBottom;
-             header.cupsImagingBBox[2] = PageBottom + yprint * 72;
-             break;
-         default :
-              header.cupsImagingBBox[0] = (PageTop + PageBottom - yprint * 72) / 2;
-             header.cupsImagingBBox[2] = (PageTop + PageBottom + yprint * 72) / 2;
-             break;
-         case -1 :
-              header.cupsImagingBBox[0] = PageTop - yprint * 72;
-             header.cupsImagingBBox[2] = PageTop;
-             break;
-       }
-
-       switch (YPosition)
-       {
-         case 1 :
-              header.cupsImagingBBox[1] = PageLeft;
-             header.cupsImagingBBox[3] = PageLeft + xprint * 72;
-             break;
-         default :
-              header.cupsImagingBBox[1] = (PageRight + PageLeft - xprint * 72) / 2;
-             header.cupsImagingBBox[3] = (PageRight + PageLeft + xprint * 72) / 2;
-             break;
-         case -1 :
-              header.cupsImagingBBox[1] = PageRight - xprint * 72;
-             header.cupsImagingBBox[3] = PageRight;
-             break;
-       }
-       break;
-  }
-
-  header.ImagingBoundingBox[0] = header.cupsImagingBBox[0];
-  header.ImagingBoundingBox[1] = header.cupsImagingBBox[1];
-  header.ImagingBoundingBox[2] = header.cupsImagingBBox[2];
-  header.ImagingBoundingBox[3] = header.cupsImagingBBox[3];
-
-  if (header.cupsColorOrder == CUPS_ORDER_PLANAR)
-    num_planes = header.cupsNumColors;
-  else
-    num_planes = 1;
-
-  if (header.cupsBitsPerColor >= 8)
-    zoom_type = CUPS_IZOOM_NORMAL;
-  else
-    zoom_type = CUPS_IZOOM_FAST;
-
- /*
-  * See if we need to collate, and if so how we need to do it...
-  */
-
-  if (xpages == 1 && ypages == 1)
-    Collate = 0;
-
-  slowcollate = Collate && ppdFindOption(ppd, "Collate") == NULL;
-  if (ppd != NULL)
-    slowcopies = ppd->manual_copies;
-  else
-    slowcopies = 1;
-
-  if (Copies > 1 && !slowcollate && !slowcopies)
-  {
-    header.Collate   = (cups_bool_t)Collate;
-    header.NumCopies = Copies;
-
-    Copies = 1;
-  }
-  else
-    header.NumCopies = 1;
-
- /*
-  * Create the dithering lookup tables...
-  */
-
-  OnPixels[0]    = 0x00;
-  OnPixels[255]  = 0xff;
-  OffPixels[0]   = 0x00;
-  OffPixels[255] = 0xff;
-
-  switch (header.cupsBitsPerColor)
-  {
-    case 2 :
-        for (i = 1; i < 255; i ++)
-        {
-          OnPixels[i]  = 0x55 * (i / 85 + 1);
-          OffPixels[i] = 0x55 * (i / 64);
-        }
-        break;
-    case 4 :
-        for (i = 1; i < 255; i ++)
-        {
-          OnPixels[i]  = 17 * (i / 17 + 1);
-          OffPixels[i] = 17 * (i / 16);
-        }
-        break;
-  }
-
- /*
-  * Output the pages...
-  */
-
-  fprintf(stderr, "DEBUG: cupsWidth = %d\n", header.cupsWidth);
-  fprintf(stderr, "DEBUG: cupsHeight = %d\n", header.cupsHeight);
-  fprintf(stderr, "DEBUG: cupsBitsPerColor = %d\n", header.cupsBitsPerColor);
-  fprintf(stderr, "DEBUG: cupsBitsPerPixel = %d\n", header.cupsBitsPerPixel);
-  fprintf(stderr, "DEBUG: cupsBytesPerLine = %d\n", header.cupsBytesPerLine);
-  fprintf(stderr, "DEBUG: cupsColorOrder = %d\n", header.cupsColorOrder);
-  fprintf(stderr, "DEBUG: cupsColorSpace = %d\n", header.cupsColorSpace);
-  fprintf(stderr, "DEBUG: img->colorspace = %d\n", img->colorspace);
-
-  row = malloc(2 * header.cupsBytesPerLine);
-  ras = cupsRasterOpen(1, CUPS_RASTER_WRITE);
-
-  for (i = 0, page = 1; i < Copies; i ++)
-    for (xpage = 0; xpage < xpages; xpage ++)
-      for (ypage = 0; ypage < ypages; ypage ++, page ++)
-      {
-        _cupsLangPrintFilter(stderr, "INFO", _("Formatting page %d."), page);
-
-       if (Orientation & 1)
-       {
-         xc0    = img->xsize * ypage / ypages;
-         xc1    = img->xsize * (ypage + 1) / ypages - 1;
-         yc0    = img->ysize * xpage / xpages;
-         yc1    = img->ysize * (xpage + 1) / xpages - 1;
-
-         xtemp = header.HWResolution[0] * yprint;
-         ytemp = header.HWResolution[1] * xprint;
-       }
-       else
-       {
-         xc0    = img->xsize * xpage / xpages;
-         xc1    = img->xsize * (xpage + 1) / xpages - 1;
-         yc0    = img->ysize * ypage / ypages;
-         yc1    = img->ysize * (ypage + 1) / ypages - 1;
-
-         xtemp = header.HWResolution[0] * xprint;
-         ytemp = header.HWResolution[1] * yprint;
-        }
-
-        cupsRasterWriteHeader2(ras, &header);
-
-        for (plane = 0; plane < num_planes; plane ++)
-       {
-        /*
-         * Initialize the image "zoom" engine...
-         */
-
-          if (Flip)
-           z = _cupsImageZoomNew(img, xc0, yc0, xc1, yc1, -xtemp, ytemp,
-                                 Orientation & 1, zoom_type);
-          else
-           z = _cupsImageZoomNew(img, xc0, yc0, xc1, yc1, xtemp, ytemp,
-                                 Orientation & 1, zoom_type);
-
-         /*
-         * Write leading blank space as needed...
-         */
-
-          if (header.cupsHeight > z->ysize && YPosition <= 0)
-         {
-           blank_line(&header, row);
-
-            y = header.cupsHeight - z->ysize;
-           if (YPosition == 0)
-             y /= 2;
-
-            fprintf(stderr, "DEBUG: Writing %d leading blank lines...\n", y);
-
-           for (; y > 0; y --)
-           {
-             if (cupsRasterWritePixels(ras, row, header.cupsBytesPerLine) <
-                     header.cupsBytesPerLine)
-             {
-               _cupsLangPrintFilter(stderr, "ERROR",
-                                    _("Unable to send raster data to the "
-                                      "driver."));
-               cupsImageClose(img);
-               exit(1);
-             }
-            }
-         }
-
-         /*
-         * Then write image data...
-         */
-
-         for (y = z->ysize, yerr0 = 0, yerr1 = z->ysize, iy = 0, last_iy = -2;
-               y > 0;
-               y --)
-         {
-           if (iy != last_iy)
-           {
-             if (zoom_type != CUPS_IZOOM_FAST && (iy - last_iy) > 1)
-               _cupsImageZoomFill(z, iy);
-
-              _cupsImageZoomFill(z, iy + z->yincr);
-
-              last_iy = iy;
-           }
-
-           /*
-           * Format this line of raster data for the printer...
-           */
-
-           blank_line(&header, row);
-
-            r0 = z->rows[z->row];
-            r1 = z->rows[1 - z->row];
-
-            switch (header.cupsColorSpace)
-           {
-             case CUPS_CSPACE_W :
-                 format_W(&header, row, y, plane, z->xsize, z->ysize,
-                          yerr0, yerr1, r0, r1);
-                 break;
-              default :
-             case CUPS_CSPACE_RGB :
-                 format_RGB(&header, row, y, plane, z->xsize, z->ysize,
-                            yerr0, yerr1, r0, r1);
-                 break;
-             case CUPS_CSPACE_RGBA :
-             case CUPS_CSPACE_RGBW :
-                 format_RGBA(&header, row, y, plane, z->xsize, z->ysize,
-                             yerr0, yerr1, r0, r1);
-                 break;
-             case CUPS_CSPACE_K :
-             case CUPS_CSPACE_WHITE :
-             case CUPS_CSPACE_GOLD :
-             case CUPS_CSPACE_SILVER :
-                 format_K(&header, row, y, plane, z->xsize, z->ysize,
-                          yerr0, yerr1, r0, r1);
-                 break;
-             case CUPS_CSPACE_CMY :
-                 format_CMY(&header, row, y, plane, z->xsize, z->ysize,
-                            yerr0, yerr1, r0, r1);
-                 break;
-             case CUPS_CSPACE_YMC :
-                 format_YMC(&header, row, y, plane, z->xsize, z->ysize,
-                            yerr0, yerr1, r0, r1);
-                 break;
-             case CUPS_CSPACE_CMYK :
-                 format_CMYK(&header, row, y, plane, z->xsize, z->ysize,
-                             yerr0, yerr1, r0, r1);
-                 break;
-             case CUPS_CSPACE_YMCK :
-             case CUPS_CSPACE_GMCK :
-             case CUPS_CSPACE_GMCS :
-                 format_YMCK(&header, row, y, plane, z->xsize, z->ysize,
-                             yerr0, yerr1, r0, r1);
-                 break;
-             case CUPS_CSPACE_KCMYcm :
-                 if (header.cupsBitsPerColor == 1)
-                 {
-                   format_KCMYcm(&header, row, y, plane, z->xsize, z->ysize,
-                                 yerr0, yerr1, r0, r1);
-                   break;
-                 }
-             case CUPS_CSPACE_KCMY :
-                 format_KCMY(&header, row, y, plane, z->xsize, z->ysize,
-                             yerr0, yerr1, r0, r1);
-                 break;
-           }
-
-           /*
-           * Write the raster data to the driver...
-           */
-
-           if (cupsRasterWritePixels(ras, row, header.cupsBytesPerLine) <
-                                     header.cupsBytesPerLine)
-           {
-             _cupsLangPrintFilter(stderr, "ERROR",
-                                  _("Unable to send raster data to the "
-                                    "driver."));
-             cupsImageClose(img);
-             exit(1);
-           }
-
-           /*
-           * Compute the next scanline in the image...
-           */
-
-           iy    += z->ystep;
-           yerr0 += z->ymod;
-           yerr1 -= z->ymod;
-           if (yerr1 <= 0)
-           {
-              yerr0 -= z->ysize;
-              yerr1 += z->ysize;
-              iy    += z->yincr;
-           }
-         }
-
-         /*
-         * Write trailing blank space as needed...
-         */
-
-          if (header.cupsHeight > z->ysize && YPosition >= 0)
-         {
-           blank_line(&header, row);
-
-            y = header.cupsHeight - z->ysize;
-           if (YPosition == 0)
-             y = y - y / 2;
-
-            fprintf(stderr, "DEBUG: Writing %d trailing blank lines...\n", y);
-
-           for (; y > 0; y --)
-           {
-             if (cupsRasterWritePixels(ras, row, header.cupsBytesPerLine) <
-                     header.cupsBytesPerLine)
-             {
-               _cupsLangPrintFilter(stderr, "ERROR",
-                                    _("Unable to send raster data to the "
-                                      "driver."));
-               cupsImageClose(img);
-               exit(1);
-             }
-            }
-         }
-
-         /*
-         * Free memory used for the "zoom" engine...
-         */
-
-          _cupsImageZoomDelete(z);
-        }
-      }
-
- /*
-  * Close files...
-  */
-
-  free(row);
-  cupsRasterClose(ras);
-  cupsImageClose(img);
-  ppdClose(ppd);
-
-  return (0);
-}
-
-
-/*
- * 'blank_line()' - Clear a line buffer to the blank value...
- */
-
-static void
-blank_line(cups_page_header2_t *header,        /* I - Page header */
-           unsigned char       *row)   /* I - Row buffer */
-{
-  int  count;                          /* Remaining bytes */
-
-
-  count = header->cupsBytesPerLine;
-
-  switch (header->cupsColorSpace)
-  {
-    case CUPS_CSPACE_CIEXYZ :
-        while (count > 2)
-       {
-         *row++ = 242;
-         *row++ = 255;
-         *row++ = 255;
-         count -= 3;
-       }
-       break;
-
-    case CUPS_CSPACE_CIELab :
-    case CUPS_CSPACE_ICC1 :
-    case CUPS_CSPACE_ICC2 :
-    case CUPS_CSPACE_ICC3 :
-    case CUPS_CSPACE_ICC4 :
-    case CUPS_CSPACE_ICC5 :
-    case CUPS_CSPACE_ICC6 :
-    case CUPS_CSPACE_ICC7 :
-    case CUPS_CSPACE_ICC8 :
-    case CUPS_CSPACE_ICC9 :
-    case CUPS_CSPACE_ICCA :
-    case CUPS_CSPACE_ICCB :
-    case CUPS_CSPACE_ICCC :
-    case CUPS_CSPACE_ICCD :
-    case CUPS_CSPACE_ICCE :
-    case CUPS_CSPACE_ICCF :
-        while (count > 2)
-       {
-         *row++ = 255;
-         *row++ = 128;
-         *row++ = 128;
-         count -= 3;
-       }
-        break;
-
-    case CUPS_CSPACE_K :
-    case CUPS_CSPACE_CMY :
-    case CUPS_CSPACE_CMYK :
-    case CUPS_CSPACE_YMC :
-    case CUPS_CSPACE_YMCK :
-    case CUPS_CSPACE_KCMY :
-    case CUPS_CSPACE_KCMYcm :
-    case CUPS_CSPACE_GMCK :
-    case CUPS_CSPACE_GMCS :
-    case CUPS_CSPACE_WHITE :
-    case CUPS_CSPACE_GOLD :
-    case CUPS_CSPACE_SILVER :
-        memset(row, 0, count);
-       break;
-
-    default :
-        memset(row, 255, count);
-       break;
-  }
-}
-
-
-/*
- * 'format_CMY()' - Convert image data to CMY.
- */
-
-static void
-format_CMY(cups_page_header2_t *header,        /* I - Page header */
-            unsigned char      *row,   /* IO - Bitmap data for device */
-           int                y,       /* I - Current row */
-           int                z,       /* I - Current plane */
-           int                xsize,   /* I - Width of image data */
-           int                ysize,   /* I - Height of image data */
-           int                yerr0,   /* I - Top Y error */
-           int                yerr1,   /* I - Bottom Y error */
-           cups_ib_t          *r0,     /* I - Primary image data */
-           cups_ib_t          *r1)     /* I - Image data for interpolation */
-{
-  cups_ib_t    *ptr,                   /* Pointer into row */
-               *cptr,                  /* Pointer into cyan */
-               *mptr,                  /* Pointer into magenta */
-               *yptr,                  /* Pointer into yellow */
-               bitmask;                /* Current mask for pixel */
-  int          bitoffset;              /* Current offset in line */
-  int          bandwidth;              /* Width of a color band */
-  int          x,                      /* Current X coordinate on page */
-               *dither;                /* Pointer into dither array */
-
-
-  switch (XPosition)
-  {
-    case -1 :
-        bitoffset = 0;
-       break;
-    default :
-        bitoffset = header->cupsBitsPerPixel * ((header->cupsWidth - xsize) / 2);
-       break;
-    case 1 :
-        bitoffset = header->cupsBitsPerPixel * (header->cupsWidth - xsize);
-       break;
-  }
-
-  ptr       = row + bitoffset / 8;
-  bandwidth = header->cupsBytesPerLine / 3;
-
-  switch (header->cupsColorOrder)
-  {
-    case CUPS_ORDER_CHUNKED :
-        switch (header->cupsBitsPerColor)
-        {
-          case 1 :
-              bitmask = 64 >> (bitoffset & 7);
-             dither  = Floyd16x16[y & 15];
-
-              for (x = xsize ; x > 0; x --)
-              {
-               if (*r0++ > dither[x & 15])
-                 *ptr ^= bitmask;
-               bitmask >>= 1;
-
-               if (*r0++ > dither[x & 15])
-                 *ptr ^= bitmask;
-               bitmask >>= 1;
-
-               if (*r0++ > dither[x & 15])
-                 *ptr ^= bitmask;
-
-                if (bitmask > 1)
-                 bitmask >>= 2;
-               else
-               {
-                 bitmask = 64;
-                 ptr ++;
-               }
-              }
-              break;
-
-          case 2 :
-             dither = Floyd8x8[y & 7];
-
-              for (x = xsize ; x > 0; x --, r0 += 3)
-              {
-               if ((r0[0] & 63) > dither[x & 7])
-                 *ptr ^= (0x30 & OnPixels[r0[0]]);
-               else
-                 *ptr ^= (0x30 & OffPixels[r0[0]]);
-
-               if ((r0[1] & 63) > dither[x & 7])
-                 *ptr ^= (0x0c & OnPixels[r0[1]]);
-               else
-                 *ptr ^= (0x0c & OffPixels[r0[1]]);
-
-               if ((r0[2] & 63) > dither[x & 7])
-                 *ptr++ ^= (0x03 & OnPixels[r0[2]]);
-               else
-                 *ptr++ ^= (0x03 & OffPixels[r0[2]]);
-              }
-              break;
-
-          case 4 :
-             dither = Floyd4x4[y & 3];
-
-              for (x = xsize ; x > 0; x --, r0 += 3)
-              {
-               if ((r0[0] & 15) > dither[x & 3])
-                 *ptr++ ^= (0x0f & OnPixels[r0[0]]);
-               else
-                 *ptr++ ^= (0x0f & OffPixels[r0[0]]);
-
-               if ((r0[1] & 15) > dither[x & 3])
-                 *ptr ^= (0xf0 & OnPixels[r0[1]]);
-               else
-                 *ptr ^= (0xf0 & OffPixels[r0[1]]);
-
-               if ((r0[2] & 15) > dither[x & 3])
-                 *ptr++ ^= (0x0f & OnPixels[r0[2]]);
-               else
-                 *ptr++ ^= (0x0f & OffPixels[r0[2]]);
-              }
-              break;
-
-          case 8 :
-              for (x = xsize  * 3; x > 0; x --, r0 ++, r1 ++)
-               if (*r0 == *r1)
-                  *ptr++ = *r0;
-               else
-                  *ptr++ = (*r0 * yerr0 + *r1 * yerr1) / ysize;
-              break;
-        }
-        break;
-
-    case CUPS_ORDER_BANDED :
-       cptr = ptr;
-       mptr = ptr + bandwidth;
-       yptr = ptr + 2 * bandwidth;
-
-        switch (header->cupsBitsPerColor)
-        {
-          case 1 :
-              bitmask = 0x80 >> (bitoffset & 7);
-             dither  = Floyd16x16[y & 15];
-
-              for (x = xsize; x > 0; x --)
-              {
-               if (*r0++ > dither[x & 15])
-                 *cptr ^= bitmask;
-               if (*r0++ > dither[x & 15])
-                 *mptr ^= bitmask;
-               if (*r0++ > dither[x & 15])
-                 *yptr ^= bitmask;
-
-                if (bitmask > 1)
-                 bitmask >>= 1;
-               else
-               {
-                 bitmask = 0x80;
-                 cptr ++;
-                 mptr ++;
-                 yptr ++;
-               }
-             }
-              break;
-
-          case 2 :
-              bitmask = 0xc0 >> (bitoffset & 7);
-             dither  = Floyd8x8[y & 7];
-
-              for (x = xsize; x > 0; x --)
-              {
-               if ((*r0 & 63) > dither[x & 7])
-                 *cptr ^= (bitmask & OnPixels[*r0++]);
-               else
-                 *cptr ^= (bitmask & OffPixels[*r0++]);
-
-               if ((*r0 & 63) > dither[x & 7])
-                 *mptr ^= (bitmask & OnPixels[*r0++]);
-               else
-                 *mptr ^= (bitmask & OffPixels[*r0++]);
-
-               if ((*r0 & 63) > dither[x & 7])
-                 *yptr ^= (bitmask & OnPixels[*r0++]);
-               else
-                 *yptr ^= (bitmask & OffPixels[*r0++]);
-
-                if (bitmask > 3)
-                 bitmask >>= 2;
-               else
-               {
-                 bitmask = 0xc0;
-
-                 cptr ++;
-                 mptr ++;
-                 yptr ++;
-               }
-             }
-              break;
-
-          case 4 :
-              bitmask = 0xf0 >> (bitoffset & 7);
-             dither  = Floyd4x4[y & 3];
-
-              for (x = xsize; x > 0; x --)
-              {
-               if ((*r0 & 15) > dither[x & 3])
-                 *cptr ^= (bitmask & OnPixels[*r0++]);
-               else
-                 *cptr ^= (bitmask & OffPixels[*r0++]);
-
-               if ((*r0 & 15) > dither[x & 3])
-                 *mptr ^= (bitmask & OnPixels[*r0++]);
-               else
-                 *mptr ^= (bitmask & OffPixels[*r0++]);
-
-               if ((*r0 & 15) > dither[x & 3])
-                 *yptr ^= (bitmask & OnPixels[*r0++]);
-               else
-                 *yptr ^= (bitmask & OffPixels[*r0++]);
-
-                if (bitmask == 0xf0)
-                 bitmask = 0x0f;
-               else
-               {
-                 bitmask = 0xf0;
-
-                 cptr ++;
-                 mptr ++;
-                 yptr ++;
-               }
-             }
-              break;
-
-          case 8 :
-              for (x = xsize; x > 0; x --, r0 += 3, r1 += 3)
-             {
-               if (r0[0] == r1[0])
-                  *cptr++ = r0[0];
-               else
-                  *cptr++ = (r0[0] * yerr0 + r1[0] * yerr1) / ysize;
-
-               if (r0[1] == r1[1])
-                  *mptr++ = r0[1];
-               else
-                  *mptr++ = (r0[1] * yerr0 + r1[1] * yerr1) / ysize;
-
-               if (r0[2] == r1[2])
-                  *yptr++ = r0[2];
-               else
-                  *yptr++ = (r0[2] * yerr0 + r1[2] * yerr1) / ysize;
-              }
-              break;
-        }
-        break;
-
-    case CUPS_ORDER_PLANAR :
-        switch (header->cupsBitsPerColor)
-        {
-          case 1 :
-              bitmask = 0x80 >> (bitoffset & 7);
-             dither  = Floyd16x16[y & 15];
-
-              switch (z)
-             {
-               case 0 :
-                   for (x = xsize; x > 0; x --, r0 += 3)
-                   {
-                     if (r0[0] > dither[x & 15])
-                       *ptr ^= bitmask;
-
-                      if (bitmask > 1)
-                       bitmask >>= 1;
-                     else
-                     {
-                       bitmask = 0x80;
-                       ptr ++;
-                     }
-                   }
-                   break;
-
-               case 1 :
-                   for (x = xsize; x > 0; x --, r0 += 3)
-                   {
-                     if (r0[1] > dither[x & 15])
-                       *ptr ^= bitmask;
-
-                      if (bitmask > 1)
-                       bitmask >>= 1;
-                     else
-                     {
-                       bitmask = 0x80;
-                       ptr ++;
-                     }
-                   }
-                   break;
-
-               case 2 :
-                   for (x = xsize; x > 0; x --, r0 += 3)
-                   {
-                     if (r0[2] > dither[x & 15])
-                       *ptr ^= bitmask;
-
-                      if (bitmask > 1)
-                       bitmask >>= 1;
-                     else
-                     {
-                       bitmask = 0x80;
-                       ptr ++;
-                     }
-                   }
-                   break;
-             }
-              break;
-
-          case 2 :
-              bitmask = 0xc0 >> (bitoffset & 7);
-             dither  = Floyd8x8[y & 7];
-              r0 += z;
-
-              for (x = xsize; x > 0; x --, r0 += 3)
-              {
-               if ((*r0 & 63) > dither[x & 7])
-                 *ptr ^= (bitmask & OnPixels[*r0]);
-               else
-                 *ptr ^= (bitmask & OffPixels[*r0]);
-
-                if (bitmask > 3)
-                 bitmask >>= 2;
-               else
-               {
-                 bitmask = 0xc0;
-
-                 ptr ++;
-               }
-             }
-              break;
-
-          case 4 :
-              bitmask = 0xf0 >> (bitoffset & 7);
-             dither  = Floyd4x4[y & 3];
-              r0 += z;
-
-              for (x = xsize; x > 0; x --, r0 += 3)
-              {
-               if ((*r0 & 15) > dither[x & 3])
-                 *ptr ^= (bitmask & OnPixels[*r0]);
-               else
-                 *ptr ^= (bitmask & OffPixels[*r0]);
-
-                if (bitmask == 0xf0)
-                 bitmask = 0x0f;
-               else
-               {
-                 bitmask = 0xf0;
-
-                 ptr ++;
-               }
-             }
-              break;
-
-          case 8 :
-              r0 += z;
-             r1 += z;
-
-              for (x = xsize; x > 0; x --, r0 += 3, r1 += 3)
-             {
-               if (*r0 == *r1)
-                  *ptr++ = *r0;
-               else
-                  *ptr++ = (*r0 * yerr0 + *r1 * yerr1) / ysize;
-              }
-              break;
-        }
-        break;
-  }
-}
-
-
-/*
- * 'format_CMYK()' - Convert image data to CMYK.
- */
-
-static void
-format_CMYK(cups_page_header2_t *header,/* I - Page header */
-            unsigned char       *row,  /* IO - Bitmap data for device */
-           int                 y,      /* I - Current row */
-           int                 z,      /* I - Current plane */
-           int                 xsize,  /* I - Width of image data */
-           int                 ysize,  /* I - Height of image data */
-           int                 yerr0,  /* I - Top Y error */
-           int                 yerr1,  /* I - Bottom Y error */
-           cups_ib_t           *r0,    /* I - Primary image data */
-           cups_ib_t           *r1)    /* I - Image data for interpolation */
-{
-  cups_ib_t    *ptr,                   /* Pointer into row */
-               *cptr,                  /* Pointer into cyan */
-               *mptr,                  /* Pointer into magenta */
-               *yptr,                  /* Pointer into yellow */
-               *kptr,                  /* Pointer into black */
-               bitmask;                /* Current mask for pixel */
-  int          bitoffset;              /* Current offset in line */
-  int          bandwidth;              /* Width of a color band */
-  int          x,                      /* Current X coordinate on page */
-               *dither;                /* Pointer into dither array */
-  int          pc, pm, py;             /* CMY pixels */
-
-
-  switch (XPosition)
-  {
-    case -1 :
-        bitoffset = 0;
-       break;
-    default :
-        bitoffset = header->cupsBitsPerPixel * ((header->cupsWidth - xsize) / 2);
-       break;
-    case 1 :
-        bitoffset = header->cupsBitsPerPixel * (header->cupsWidth - xsize);
-       break;
-  }
-
-  ptr       = row + bitoffset / 8;
-  bandwidth = header->cupsBytesPerLine / 4;
-
-  switch (header->cupsColorOrder)
-  {
-    case CUPS_ORDER_CHUNKED :
-        switch (header->cupsBitsPerColor)
-        {
-          case 1 :
-              bitmask = 128 >> (bitoffset & 7);
-             dither  = Floyd16x16[y & 15];
-
-              for (x = xsize ; x > 0; x --)
-              {
-               pc = *r0++ > dither[x & 15];
-               pm = *r0++ > dither[x & 15];
-               py = *r0++ > dither[x & 15];
-
-               if (pc && pm && py)
-               {
-                 bitmask >>= 3;
-                 *ptr ^= bitmask;
-               }
-               else
-               {
-                 if (pc)
-                   *ptr ^= bitmask;
-                 bitmask >>= 1;
-
-                 if (pm)
-                   *ptr ^= bitmask;
-                 bitmask >>= 1;
-
-                 if (py)
-                   *ptr ^= bitmask;
-                 bitmask >>= 1;
-                }
-
-                if (bitmask > 1)
-                 bitmask >>= 1;
-               else
-               {
-                 bitmask = 128;
-                 ptr ++;
-               }
-              }
-              break;
-
-          case 2 :
-             dither = Floyd8x8[y & 7];
-
-              for (x = xsize ; x > 0; x --, r0 += 4)
-              {
-               if ((r0[0] & 63) > dither[x & 7])
-                 *ptr ^= (0xc0 & OnPixels[r0[0]]);
-               else
-                 *ptr ^= (0xc0 & OffPixels[r0[0]]);
-
-               if ((r0[1] & 63) > dither[x & 7])
-                 *ptr ^= (0x30 & OnPixels[r0[1]]);
-               else
-                 *ptr ^= (0x30 & OffPixels[r0[1]]);
-
-               if ((r0[2] & 63) > dither[x & 7])
-                 *ptr ^= (0x0c & OnPixels[r0[2]]);
-               else
-                 *ptr ^= (0x0c & OffPixels[r0[2]]);
-
-               if ((r0[3] & 63) > dither[x & 7])
-                 *ptr++ ^= (0x03 & OnPixels[r0[3]]);
-               else
-                 *ptr++ ^= (0x03 & OffPixels[r0[3]]);
-              }
-              break;
-
-          case 4 :
-             dither = Floyd4x4[y & 3];
-
-              for (x = xsize ; x > 0; x --, r0 += 4)
-              {
-               if ((r0[0] & 15) > dither[x & 3])
-                 *ptr ^= (0xf0 & OnPixels[r0[0]]);
-               else
-                 *ptr ^= (0xf0 & OffPixels[r0[0]]);
-
-               if ((r0[1] & 15) > dither[x & 3])
-                 *ptr++ ^= (0x0f & OnPixels[r0[1]]);
-               else
-                 *ptr++ ^= (0x0f & OffPixels[r0[1]]);
-
-               if ((r0[2] & 15) > dither[x & 3])
-                 *ptr ^= (0xf0 & OnPixels[r0[2]]);
-               else
-                 *ptr ^= (0xf0 & OffPixels[r0[2]]);
-
-               if ((r0[3] & 15) > dither[x & 3])
-                 *ptr++ ^= (0x0f & OnPixels[r0[3]]);
-               else
-                 *ptr++ ^= (0x0f & OffPixels[r0[3]]);
-              }
-              break;
-
-          case 8 :
-              for (x = xsize  * 4; x > 0; x --, r0 ++, r1 ++)
-               if (*r0 == *r1)
-                  *ptr++ = *r0;
-               else
-                  *ptr++ = (*r0 * yerr0 + *r1 * yerr1) / ysize;
-              break;
-        }
-        break;
-
-    case CUPS_ORDER_BANDED :
-       cptr = ptr;
-       mptr = ptr + bandwidth;
-       yptr = ptr + 2 * bandwidth;
-       kptr = ptr + 3 * bandwidth;
-
-        switch (header->cupsBitsPerColor)
-        {
-          case 1 :
-              bitmask = 0x80 >> (bitoffset & 7);
-             dither  = Floyd16x16[y & 15];
-
-              for (x = xsize; x > 0; x --)
-              {
-               pc = *r0++ > dither[x & 15];
-               pm = *r0++ > dither[x & 15];
-               py = *r0++ > dither[x & 15];
-
-               if (pc && pm && py)
-                 *kptr ^= bitmask;
-               else
-               {
-                 if (pc)
-                   *cptr ^= bitmask;
-                 if (pm)
-                   *mptr ^= bitmask;
-                 if (py)
-                   *yptr ^= bitmask;
-                }
-
-                if (bitmask > 1)
-                 bitmask >>= 1;
-               else
-               {
-                 bitmask = 0x80;
-                 cptr ++;
-                 mptr ++;
-                 yptr ++;
-                 kptr ++;
-               }
-             }
-              break;
-
-          case 2 :
-              bitmask = 0xc0 >> (bitoffset & 7);
-             dither  = Floyd8x8[y & 7];
-
-              for (x = xsize; x > 0; x --)
-              {
-               if ((*r0 & 63) > dither[x & 7])
-                 *cptr ^= (bitmask & OnPixels[*r0++]);
-               else
-                 *cptr ^= (bitmask & OffPixels[*r0++]);
-
-               if ((*r0 & 63) > dither[x & 7])
-                 *mptr ^= (bitmask & OnPixels[*r0++]);
-               else
-                 *mptr ^= (bitmask & OffPixels[*r0++]);
-
-               if ((*r0 & 63) > dither[x & 7])
-                 *yptr ^= (bitmask & OnPixels[*r0++]);
-               else
-                 *yptr ^= (bitmask & OffPixels[*r0++]);
-
-               if ((*r0 & 63) > dither[x & 7])
-                 *kptr ^= (bitmask & OnPixels[*r0++]);
-               else
-                 *kptr ^= (bitmask & OffPixels[*r0++]);
-
-                if (bitmask > 3)
-                 bitmask >>= 2;
-               else
-               {
-                 bitmask = 0xc0;
-
-                 cptr ++;
-                 mptr ++;
-                 yptr ++;
-                 kptr ++;
-               }
-             }
-              break;
-
-          case 4 :
-              bitmask = 0xf0 >> (bitoffset & 7);
-             dither  = Floyd4x4[y & 3];
-
-              for (x = xsize; x > 0; x --)
-              {
-               if ((*r0 & 15) > dither[x & 3])
-                 *cptr ^= (bitmask & OnPixels[*r0++]);
-               else
-                 *cptr ^= (bitmask & OffPixels[*r0++]);
-
-               if ((*r0 & 15) > dither[x & 3])
-                 *mptr ^= (bitmask & OnPixels[*r0++]);
-               else
-                 *mptr ^= (bitmask & OffPixels[*r0++]);
-
-               if ((*r0 & 15) > dither[x & 3])
-                 *yptr ^= (bitmask & OnPixels[*r0++]);
-               else
-                 *yptr ^= (bitmask & OffPixels[*r0++]);
-
-               if ((*r0 & 15) > dither[x & 3])
-                 *kptr ^= (bitmask & OnPixels[*r0++]);
-               else
-                 *kptr ^= (bitmask & OffPixels[*r0++]);
-
-                if (bitmask == 0xf0)
-                 bitmask = 0x0f;
-               else
-               {
-                 bitmask = 0xf0;
-
-                 cptr ++;
-                 mptr ++;
-                 yptr ++;
-                 kptr ++;
-               }
-             }
-              break;
-
-          case 8 :
-              for (x = xsize; x > 0; x --, r0 += 4, r1 += 4)
-             {
-               if (r0[0] == r1[0])
-                  *cptr++ = r0[0];
-               else
-                  *cptr++ = (r0[0] * yerr0 + r1[0] * yerr1) / ysize;
-
-               if (r0[1] == r1[1])
-                  *mptr++ = r0[1];
-               else
-                  *mptr++ = (r0[1] * yerr0 + r1[1] * yerr1) / ysize;
-
-               if (r0[2] == r1[2])
-                  *yptr++ = r0[2];
-               else
-                  *yptr++ = (r0[2] * yerr0 + r1[2] * yerr1) / ysize;
-
-               if (r0[3] == r1[3])
-                  *kptr++ = r0[3];
-               else
-                  *kptr++ = (r0[3] * yerr0 + r1[3] * yerr1) / ysize;
-              }
-              break;
-        }
-        break;
-
-    case CUPS_ORDER_PLANAR :
-        switch (header->cupsBitsPerColor)
-        {
-          case 1 :
-              bitmask = 0x80 >> (bitoffset & 7);
-             dither  = Floyd16x16[y & 15];
-
-              for (x = xsize; x > 0; x --)
-              {
-               pc = *r0++ > dither[x & 15];
-               pm = *r0++ > dither[x & 15];
-               py = *r0++ > dither[x & 15];
-
-               if ((pc && pm && py && z == 3) ||
-                   (pc && z == 0) || (pm && z == 1) || (py && z == 2))
-                 *ptr ^= bitmask;
-
-                if (bitmask > 1)
-                 bitmask >>= 1;
-               else
-               {
-                 bitmask = 0x80;
-                 ptr ++;
-               }
-             }
-             break;
-
-          case 2 :
-              bitmask = 0xc0 >> (bitoffset & 7);
-             dither  = Floyd8x8[y & 7];
-              r0      += z;
-
-              for (x = xsize; x > 0; x --, r0 += 4)
-              {
-               if ((*r0 & 63) > dither[x & 7])
-                 *ptr ^= (bitmask & OnPixels[*r0]);
-               else
-                 *ptr ^= (bitmask & OffPixels[*r0]);
-
-                if (bitmask > 3)
-                 bitmask >>= 2;
-               else
-               {
-                 bitmask = 0xc0;
-
-                 ptr ++;
-               }
-             }
-              break;
-
-          case 4 :
-              bitmask = 0xf0 >> (bitoffset & 7);
-             dither  = Floyd4x4[y & 3];
-              r0 += z;
-
-              for (x = xsize; x > 0; x --, r0 += 4)
-              {
-               if ((*r0 & 15) > dither[x & 3])
-                 *ptr ^= (bitmask & OnPixels[*r0]);
-               else
-                 *ptr ^= (bitmask & OffPixels[*r0]);
-
-                if (bitmask == 0xf0)
-                 bitmask = 0x0f;
-               else
-               {
-                 bitmask = 0xf0;
-
-                 ptr ++;
-               }
-             }
-              break;
-
-          case 8 :
-              r0 += z;
-             r1 += z;
-
-              for (x = xsize; x > 0; x --, r0 += 4, r1 += 4)
-             {
-               if (*r0 == *r1)
-                  *ptr++ = *r0;
-               else
-                  *ptr++ = (*r0 * yerr0 + *r1 * yerr1) / ysize;
-              }
-              break;
-        }
-        break;
-  }
-}
-
-
-/*
- * 'format_K()' - Convert image data to black.
- */
-
-static void
-format_K(cups_page_header2_t *header,  /* I - Page header */
-         unsigned char       *row,     /* IO - Bitmap data for device */
-        int                 y,         /* I - Current row */
-        int                 z,         /* I - Current plane */
-        int                 xsize,     /* I - Width of image data */
-        int                 ysize,     /* I - Height of image data */
-        int                 yerr0,     /* I - Top Y error */
-        int                 yerr1,     /* I - Bottom Y error */
-        cups_ib_t           *r0,       /* I - Primary image data */
-        cups_ib_t           *r1)       /* I - Image data for interpolation */
-{
-  cups_ib_t    *ptr,                   /* Pointer into row */
-               bitmask;                /* Current mask for pixel */
-  int          bitoffset;              /* Current offset in line */
-  int          x,                      /* Current X coordinate on page */
-               *dither;                /* Pointer into dither array */
-
-
-  (void)z;
-
-  switch (XPosition)
-  {
-    case -1 :
-        bitoffset = 0;
-       break;
-    default :
-        bitoffset = header->cupsBitsPerPixel * ((header->cupsWidth - xsize) / 2);
-       break;
-    case 1 :
-        bitoffset = header->cupsBitsPerPixel * (header->cupsWidth - xsize);
-       break;
-  }
-
-  ptr = row + bitoffset / 8;
-
-  switch (header->cupsBitsPerColor)
-  {
-    case 1 :
-        bitmask = 0x80 >> (bitoffset & 7);
-        dither  = Floyd16x16[y & 15];
-
-        for (x = xsize; x > 0; x --)
-        {
-          if (*r0++ > dither[x & 15])
-            *ptr ^= bitmask;
-
-          if (bitmask > 1)
-           bitmask >>= 1;
-         else
-         {
-           bitmask = 0x80;
-           ptr ++;
-          }
-       }
-        break;
-
-    case 2 :
-        bitmask = 0xc0 >> (bitoffset & 7);
-        dither  = Floyd8x8[y & 7];
-
-        for (x = xsize; x > 0; x --)
-        {
-          if ((*r0 & 63) > dither[x & 7])
-            *ptr ^= (bitmask & OnPixels[*r0++]);
-          else
-            *ptr ^= (bitmask & OffPixels[*r0++]);
-
-          if (bitmask > 3)
-           bitmask >>= 2;
-         else
-         {
-           bitmask = 0xc0;
-
-           ptr ++;
-          }
-       }
-        break;
-
-    case 4 :
-        bitmask = 0xf0 >> (bitoffset & 7);
-        dither  = Floyd4x4[y & 3];
-
-        for (x = xsize; x > 0; x --)
-        {
-          if ((*r0 & 15) > dither[x & 3])
-            *ptr ^= (bitmask & OnPixels[*r0++]);
-          else
-            *ptr ^= (bitmask & OffPixels[*r0++]);
-
-          if (bitmask == 0xf0)
-           bitmask = 0x0f;
-         else
-         {
-           bitmask = 0xf0;
-
-           ptr ++;
-          }
-       }
-        break;
-
-    case 8 :
-        for (x = xsize; x > 0; x --, r0 ++, r1 ++)
-       {
-          if (*r0 == *r1)
-            *ptr++ = *r0;
-          else
-            *ptr++ = (*r0 * yerr0 + *r1 * yerr1) / ysize;
-        }
-        break;
-  }
-}
-
-
-/*
- * 'format_KCMY()' - Convert image data to KCMY.
- */
-
-static void
-format_KCMY(cups_page_header2_t *header,/* I - Page header */
-            unsigned char       *row,  /* IO - Bitmap data for device */
-           int                 y,      /* I - Current row */
-           int                 z,      /* I - Current plane */
-           int                 xsize,  /* I - Width of image data */
-           int                 ysize,  /* I - Height of image data */
-           int                 yerr0,  /* I - Top Y error */
-           int                 yerr1,  /* I - Bottom Y error */
-           cups_ib_t           *r0,    /* I - Primary image data */
-           cups_ib_t           *r1)    /* I - Image data for interpolation */
-{
-  cups_ib_t    *ptr,                   /* Pointer into row */
-               *cptr,                  /* Pointer into cyan */
-               *mptr,                  /* Pointer into magenta */
-               *yptr,                  /* Pointer into yellow */
-               *kptr,                  /* Pointer into black */
-               bitmask;                /* Current mask for pixel */
-  int          bitoffset;              /* Current offset in line */
-  int          bandwidth;              /* Width of a color band */
-  int          x,                      /* Current X coordinate on page */
-               *dither;                /* Pointer into dither array */
-  int          pc, pm, py;             /* CMY pixels */
-
-
-  switch (XPosition)
-  {
-    case -1 :
-        bitoffset = 0;
-       break;
-    default :
-        bitoffset = header->cupsBitsPerPixel * ((header->cupsWidth - xsize) / 2);
-       break;
-    case 1 :
-        bitoffset = header->cupsBitsPerPixel * (header->cupsWidth - xsize);
-       break;
-  }
-
-  ptr       = row + bitoffset / 8;
-  bandwidth = header->cupsBytesPerLine / 4;
-
-  switch (header->cupsColorOrder)
-  {
-    case CUPS_ORDER_CHUNKED :
-        switch (header->cupsBitsPerColor)
-        {
-          case 1 :
-              bitmask = 128 >> (bitoffset & 7);
-              dither  = Floyd16x16[y & 15];
-
-              for (x = xsize ; x > 0; x --)
-              {
-               pc = *r0++ > dither[x & 15];
-               pm = *r0++ > dither[x & 15];
-               py = *r0++ > dither[x & 15];
-
-               if (pc && pm && py)
-               {
-                 *ptr ^= bitmask;
-                 bitmask >>= 3;
-               }
-               else
-               {
-                 bitmask >>= 1;
-                 if (pc)
-                   *ptr ^= bitmask;
-
-                 bitmask >>= 1;
-                 if (pm)
-                   *ptr ^= bitmask;
-
-                 bitmask >>= 1;
-                 if (py)
-                   *ptr ^= bitmask;
-                }
-
-                if (bitmask > 1)
-                 bitmask >>= 1;
-               else
-               {
-                 bitmask = 128;
-                 ptr ++;
-               }
-              }
-              break;
-
-          case 2 :
-              dither = Floyd8x8[y & 7];
-
-              for (x = xsize ; x > 0; x --, r0 += 4)
-              {
-               if ((r0[3] & 63) > dither[x & 7])
-                 *ptr ^= (0xc0 & OnPixels[r0[3]]);
-               else
-                 *ptr ^= (0xc0 & OffPixels[r0[3]]);
-
-               if ((r0[0] & 63) > dither[x & 7])
-                 *ptr ^= (0x30 & OnPixels[r0[0]]);
-               else
-                 *ptr ^= (0x30 & OffPixels[r0[0]]);
-
-               if ((r0[1] & 63) > dither[x & 7])
-                 *ptr ^= (0x0c & OnPixels[r0[1]]);
-               else
-                 *ptr ^= (0x0c & OffPixels[r0[1]]);
-
-               if ((r0[2] & 63) > dither[x & 7])
-                 *ptr++ ^= (0x03 & OnPixels[r0[2]]);
-               else
-                 *ptr++ ^= (0x03 & OffPixels[r0[2]]);
-              }
-              break;
-
-          case 4 :
-              dither = Floyd4x4[y & 3];
-
-              for (x = xsize ; x > 0; x --, r0 += 4)
-              {
-               if ((r0[3] & 15) > dither[x & 3])
-                 *ptr ^= (0xf0 & OnPixels[r0[3]]);
-               else
-                 *ptr ^= (0xf0 & OffPixels[r0[3]]);
-
-               if ((r0[0] & 15) > dither[x & 3])
-                 *ptr++ ^= (0x0f & OnPixels[r0[0]]);
-               else
-                 *ptr++ ^= (0x0f & OffPixels[r0[0]]);
-
-               if ((r0[1] & 15) > dither[x & 3])
-                 *ptr ^= (0xf0 & OnPixels[r0[1]]);
-               else
-                 *ptr ^= (0xf0 & OffPixels[r0[1]]);
-
-               if ((r0[2] & 15) > dither[x & 3])
-                 *ptr++ ^= (0x0f & OnPixels[r0[2]]);
-               else
-                 *ptr++ ^= (0x0f & OffPixels[r0[2]]);
-              }
-              break;
-
-          case 8 :
-              for (x = xsize; x > 0; x --, r0 += 4, r1 += 4)
-             {
-               if (r0[3] == r1[3])
-                  *ptr++ = r0[3];
-               else
-                  *ptr++ = (r0[3] * yerr0 + r1[3] * yerr1) / ysize;
-
-               if (r0[0] == r1[0])
-                  *ptr++ = r0[0];
-               else
-                  *ptr++ = (r0[0] * yerr0 + r1[0] * yerr1) / ysize;
-
-               if (r0[1] == r1[1])
-                  *ptr++ = r0[1];
-               else
-                  *ptr++ = (r0[1] * yerr0 + r1[1] * yerr1) / ysize;
-
-               if (r0[2] == r1[2])
-                  *ptr++ = r0[2];
-               else
-                  *ptr++ = (r0[2] * yerr0 + r1[2] * yerr1) / ysize;
-              }
-              break;
-        }
-        break;
-
-    case CUPS_ORDER_BANDED :
-       kptr = ptr;
-       cptr = ptr + bandwidth;
-       mptr = ptr + 2 * bandwidth;
-       yptr = ptr + 3 * bandwidth;
-
-        switch (header->cupsBitsPerColor)
-        {
-          case 1 :
-              bitmask = 0x80 >> (bitoffset & 7);
-              dither  = Floyd16x16[y & 15];
-
-              for (x = xsize; x > 0; x --)
-              {
-               pc = *r0++ > dither[x & 15];
-               pm = *r0++ > dither[x & 15];
-               py = *r0++ > dither[x & 15];
-
-               if (pc && pm && py)
-                 *kptr ^= bitmask;
-               else
-               {
-                 if (pc)
-                   *cptr ^= bitmask;
-                 if (pm)
-                   *mptr ^= bitmask;
-                 if (py)
-                   *yptr ^= bitmask;
-                }
-
-                if (bitmask > 1)
-                 bitmask >>= 1;
-               else
-               {
-                 bitmask = 0x80;
-                 cptr ++;
-                 mptr ++;
-                 yptr ++;
-                 kptr ++;
-               }
-             }
-              break;
-
-          case 2 :
-              bitmask = 0xc0 >> (bitoffset & 7);
-              dither  = Floyd8x8[y & 7];
-
-              for (x = xsize; x > 0; x --)
-              {
-               if ((*r0 & 63) > dither[x & 7])
-                 *cptr ^= (bitmask & OnPixels[*r0++]);
-               else
-                 *cptr ^= (bitmask & OffPixels[*r0++]);
-
-               if ((*r0 & 63) > dither[x & 7])
-                 *mptr ^= (bitmask & OnPixels[*r0++]);
-               else
-                 *mptr ^= (bitmask & OffPixels[*r0++]);
-
-               if ((*r0 & 63) > dither[x & 7])
-                 *yptr ^= (bitmask & OnPixels[*r0++]);
-               else
-                 *yptr ^= (bitmask & OffPixels[*r0++]);
-
-               if ((*r0 & 63) > dither[x & 7])
-                 *kptr ^= (bitmask & OnPixels[*r0++]);
-               else
-                 *kptr ^= (bitmask & OffPixels[*r0++]);
-
-                if (bitmask > 3)
-                 bitmask >>= 2;
-               else
-               {
-                 bitmask = 0xc0;
-
-                 cptr ++;
-                 mptr ++;
-                 yptr ++;
-                 kptr ++;
-               }
-             }
-              break;
-
-          case 4 :
-              bitmask = 0xf0 >> (bitoffset & 7);
-              dither  = Floyd4x4[y & 3];
-
-              for (x = xsize; x > 0; x --)
-              {
-               if ((*r0 & 15) > dither[x & 3])
-                 *cptr ^= (bitmask & OnPixels[*r0++]);
-               else
-                 *cptr ^= (bitmask & OffPixels[*r0++]);
-
-               if ((*r0 & 15) > dither[x & 3])
-                 *mptr ^= (bitmask & OnPixels[*r0++]);
-               else
-                 *mptr ^= (bitmask & OffPixels[*r0++]);
-
-               if ((*r0 & 15) > dither[x & 3])
-                 *yptr ^= (bitmask & OnPixels[*r0++]);
-               else
-                 *yptr ^= (bitmask & OffPixels[*r0++]);
-
-               if ((*r0 & 15) > dither[x & 3])
-                 *kptr ^= (bitmask & OnPixels[*r0++]);
-               else
-                 *kptr ^= (bitmask & OffPixels[*r0++]);
-
-                if (bitmask == 0xf0)
-                 bitmask = 0x0f;
-               else
-               {
-                 bitmask = 0xf0;
-
-                 cptr ++;
-                 mptr ++;
-                 yptr ++;
-                 kptr ++;
-               }
-             }
-              break;
-
-          case 8 :
-              for (x = xsize; x > 0; x --, r0 += 4, r1 += 4)
-             {
-               if (r0[0] == r1[0])
-                  *cptr++ = r0[0];
-               else
-                  *cptr++ = (r0[0] * yerr0 + r1[0] * yerr1) / ysize;
-
-               if (r0[1] == r1[1])
-                  *mptr++ = r0[1];
-               else
-                  *mptr++ = (r0[1] * yerr0 + r1[1] * yerr1) / ysize;
-
-               if (r0[2] == r1[2])
-                  *yptr++ = r0[2];
-               else
-                  *yptr++ = (r0[2] * yerr0 + r1[2] * yerr1) / ysize;
-
-               if (r0[3] == r1[3])
-                  *kptr++ = r0[3];
-               else
-                  *kptr++ = (r0[3] * yerr0 + r1[3] * yerr1) / ysize;
-              }
-              break;
-        }
-        break;
-
-    case CUPS_ORDER_PLANAR :
-        switch (header->cupsBitsPerColor)
-        {
-          case 1 :
-              bitmask = 0x80 >> (bitoffset & 7);
-              dither  = Floyd16x16[y & 15];
-
-              for (x = xsize; x > 0; x --)
-              {
-               pc = *r0++ > dither[x & 15];
-               pm = *r0++ > dither[x & 15];
-               py = *r0++ > dither[x & 15];
-
-               if ((pc && pm && py && z == 0) ||
-                   (pc && z == 1) || (pm && z == 2) || (py && z == 3))
-                 *ptr ^= bitmask;
-
-                if (bitmask > 1)
-                 bitmask >>= 1;
-               else
-               {
-                 bitmask = 0x80;
-                 ptr ++;
-               }
-             }
-             break;
-
-          case 2 :
-              bitmask = 0xc0 >> (bitoffset & 7);
-              dither  = Floyd8x8[y & 7];
-              if (z == 0)
-               r0 += 3;
-             else
-               r0 += z - 1;
-
-              for (x = xsize; x > 0; x --, r0 += 4)
-              {
-               if ((*r0 & 63) > dither[x & 7])
-                 *ptr ^= (bitmask & OnPixels[*r0]);
-               else
-                 *ptr ^= (bitmask & OffPixels[*r0]);
-
-                if (bitmask > 3)
-                 bitmask >>= 2;
-               else
-               {
-                 bitmask = 0xc0;
-
-                 ptr ++;
-               }
-             }
-              break;
-
-          case 4 :
-              bitmask = 0xf0 >> (bitoffset & 7);
-              dither  = Floyd4x4[y & 3];
-              if (z == 0)
-               r0 += 3;
-             else
-               r0 += z - 1;
-
-              for (x = xsize; x > 0; x --, r0 += 4)
-              {
-               if ((*r0 & 15) > dither[x & 3])
-                 *ptr ^= (bitmask & OnPixels[*r0]);
-               else
-                 *ptr ^= (bitmask & OffPixels[*r0]);
-
-                if (bitmask == 0xf0)
-                 bitmask = 0x0f;
-               else
-               {
-                 bitmask = 0xf0;
-
-                 ptr ++;
-               }
-             }
-              break;
-
-          case 8 :
-              if (z == 0)
-             {
-               r0 += 3;
-               r1 += 3;
-             }
-             else
-             {
-               r0 += z - 1;
-               r1 += z - 1;
-             }
-
-              for (x = xsize; x > 0; x --, r0 += 4, r1 += 4)
-             {
-               if (*r0 == *r1)
-                  *ptr++ = *r0;
-               else
-                  *ptr++ = (*r0 * yerr0 + *r1 * yerr1) / ysize;
-              }
-              break;
-        }
-        break;
-  }
-}
-
-
-/*
- * 'format_KCMYcm()' - Convert image data to KCMYcm.
- */
-
-static void
-format_KCMYcm(
-    cups_page_header2_t *header,       /* I - Page header */
-    unsigned char       *row,          /* IO - Bitmap data for device */
-    int                 y,             /* I - Current row */
-    int                 z,             /* I - Current plane */
-    int                 xsize,         /* I - Width of image data */
-    int                 ysize,         /* I - Height of image data */
-    int                 yerr0,         /* I - Top Y error */
-    int                 yerr1,         /* I - Bottom Y error */
-    cups_ib_t           *r0,           /* I - Primary image data */
-    cups_ib_t           *r1)           /* I - Image data for interpolation */
-{
-  int          pc, pm, py, pk;         /* Cyan, magenta, yellow, and black values */
-  cups_ib_t    *ptr,                   /* Pointer into row */
-               *cptr,                  /* Pointer into cyan */
-               *mptr,                  /* Pointer into magenta */
-               *yptr,                  /* Pointer into yellow */
-               *kptr,                  /* Pointer into black */
-               *lcptr,                 /* Pointer into light cyan */
-               *lmptr,                 /* Pointer into light magenta */
-               bitmask;                /* Current mask for pixel */
-  int          bitoffset;              /* Current offset in line */
-  int          bandwidth;              /* Width of a color band */
-  int          x,                      /* Current X coordinate on page */
-               *dither;                /* Pointer into dither array */
-
-
-  switch (XPosition)
-  {
-    case -1 :
-        bitoffset = 0;
-       break;
-    default :
-        bitoffset = header->cupsBitsPerPixel * ((header->cupsWidth - xsize) / 2);
-       break;
-    case 1 :
-        bitoffset = header->cupsBitsPerPixel * (header->cupsWidth - xsize);
-       break;
-  }
-
-  ptr       = row + bitoffset / 8;
-  bandwidth = header->cupsBytesPerLine / 6;
-
-  switch (header->cupsColorOrder)
-  {
-    case CUPS_ORDER_CHUNKED :
-        dither = Floyd16x16[y & 15];
-
-        for (x = xsize ; x > 0; x --)
-        {
-         pc = *r0++ > dither[x & 15];
-         pm = *r0++ > dither[x & 15];
-         py = *r0++ > dither[x & 15];
-         pk = pc && pm && py;
-
-         if (pk)
-           *ptr++ ^= 32;       /* Black */
-         else if (pc && pm)
-           *ptr++ ^= 17;       /* Blue (cyan + light magenta) */
-         else if (pc && py)
-           *ptr++ ^= 6;        /* Green (light cyan + yellow) */
-         else if (pm && py)
-           *ptr++ ^= 12;       /* Red (magenta + yellow) */
-         else if (pc)
-           *ptr++ ^= 16;
-         else if (pm)
-           *ptr++ ^= 8;
-         else if (py)
-           *ptr++ ^= 4;
-         else
-           ptr ++;
-        }
-        break;
-
-    case CUPS_ORDER_BANDED :
-       kptr  = ptr;
-       cptr  = ptr + bandwidth;
-       mptr  = ptr + 2 * bandwidth;
-       yptr  = ptr + 3 * bandwidth;
-       lcptr = ptr + 4 * bandwidth;
-       lmptr = ptr + 5 * bandwidth;
-
-        bitmask = 0x80 >> (bitoffset & 7);
-        dither  = Floyd16x16[y & 15];
-
-        for (x = xsize; x > 0; x --)
-        {
-         pc = *r0++ > dither[x & 15];
-         pm = *r0++ > dither[x & 15];
-         py = *r0++ > dither[x & 15];
-         pk = pc && pm && py;
-
-         if (pk)
-           *kptr ^= bitmask;   /* Black */
-         else if (pc && pm)
-         {
-           *cptr ^= bitmask;   /* Blue (cyan + light magenta) */
-           *lmptr ^= bitmask;
-         }
-         else if (pc && py)
-         {
-           *lcptr ^= bitmask;  /* Green (light cyan + yellow) */
-           *yptr  ^= bitmask;
-         }
-         else if (pm && py)
-         {
-           *mptr ^= bitmask;   /* Red (magenta + yellow) */
-           *yptr ^= bitmask;
-         }
-         else if (pc)
-           *cptr ^= bitmask;
-         else if (pm)
-           *mptr ^= bitmask;
-         else if (py)
-           *yptr ^= bitmask;
-
-          if (bitmask > 1)
-           bitmask >>= 1;
-         else
-         {
-           bitmask = 0x80;
-           cptr ++;
-           mptr ++;
-           yptr ++;
-           kptr ++;
-           lcptr ++;
-           lmptr ++;
-          }
-       }
-        break;
-
-    case CUPS_ORDER_PLANAR :
-        bitmask = 0x80 >> (bitoffset & 7);
-        dither  = Floyd16x16[y & 15];
-
-        for (x = xsize; x > 0; x --)
-        {
-         pc = *r0++ > dither[x & 15];
-         pm = *r0++ > dither[x & 15];
-         py = *r0++ > dither[x & 15];
-         pk = pc && pm && py;
-
-          if (pk && z == 0)
-            *ptr ^= bitmask;
-         else if (pc && pm && (z == 1 || z == 5))
-           *ptr ^= bitmask;    /* Blue (cyan + light magenta) */
-         else if (pc && py && (z == 3 || z == 4))
-           *ptr ^= bitmask;    /* Green (light cyan + yellow) */
-         else if (pm && py && (z == 2 || z == 3))
-           *ptr ^= bitmask;    /* Red (magenta + yellow) */
-         else if (pc && z == 1)
-           *ptr ^= bitmask;
-         else if (pm && z == 2)
-           *ptr ^= bitmask;
-         else if (py && z == 3)
-           *ptr ^= bitmask;
-
-          if (bitmask > 1)
-           bitmask >>= 1;
-         else
-         {
-           bitmask = 0x80;
-           ptr ++;
-          }
-       }
-        break;
-  }
-}
-
-
-/*
- * 'format_RGBA()' - Convert image data to RGBA/RGBW.
- */
-
-static void
-format_RGBA(cups_page_header2_t *header,/* I - Page header */
-            unsigned char       *row,  /* IO - Bitmap data for device */
-           int                 y,      /* I - Current row */
-           int                 z,      /* I - Current plane */
-           int                 xsize,  /* I - Width of image data */
-           int                 ysize,  /* I - Height of image data */
-           int                 yerr0,  /* I - Top Y error */
-           int                 yerr1,  /* I - Bottom Y error */
-           cups_ib_t           *r0,    /* I - Primary image data */
-           cups_ib_t           *r1)    /* I - Image data for interpolation */
-{
-  cups_ib_t    *ptr,                   /* Pointer into row */
-               *cptr,                  /* Pointer into cyan */
-               *mptr,                  /* Pointer into magenta */
-               *yptr,                  /* Pointer into yellow */
-               bitmask;                /* Current mask for pixel */
-  int          bitoffset;              /* Current offset in line */
-  int          bandwidth;              /* Width of a color band */
-  int          x,                      /* Current X coordinate on page */
-               *dither;                /* Pointer into dither array */
-
-
-  switch (XPosition)
-  {
-    case -1 :
-        bitoffset = 0;
-       break;
-    default :
-        bitoffset = header->cupsBitsPerPixel * ((header->cupsWidth - xsize) / 2);
-       break;
-    case 1 :
-        bitoffset = header->cupsBitsPerPixel * (header->cupsWidth - xsize);
-       break;
-  }
-
-  ptr       = row + bitoffset / 8;
-  bandwidth = header->cupsBytesPerLine / 4;
-
-  switch (header->cupsColorOrder)
-  {
-    case CUPS_ORDER_CHUNKED :
-        switch (header->cupsBitsPerColor)
-        {
-          case 1 :
-              bitmask = 128 >> (bitoffset & 7);
-             dither  = Floyd16x16[y & 15];
-
-              for (x = xsize ; x > 0; x --)
-              {
-               if (*r0++ > dither[x & 15])
-                 *ptr ^= bitmask;
-               bitmask >>= 1;
-
-               if (*r0++ > dither[x & 15])
-                 *ptr ^= bitmask;
-               bitmask >>= 1;
-
-               if (*r0++ > dither[x & 15])
-                 *ptr ^= bitmask;
-
-                if (bitmask > 2)
-                 bitmask >>= 2;
-               else
-               {
-                 bitmask = 128;
-                 ptr ++;
-               }
-              }
-              break;
-
-          case 2 :
-             dither = Floyd8x8[y & 7];
-
-              for (x = xsize ; x > 0; x --, r0 += 3)
-              {
-               if ((r0[0] & 63) > dither[x & 7])
-                 *ptr ^= (0xc0 & OnPixels[r0[0]]);
-               else
-                 *ptr ^= (0xc0 & OffPixels[r0[0]]);
-
-               if ((r0[1] & 63) > dither[x & 7])
-                 *ptr ^= (0x30 & OnPixels[r0[1]]);
-               else
-                 *ptr ^= (0x30 & OffPixels[r0[1]]);
-
-               if ((r0[2] & 63) > dither[x & 7])
-                 *ptr ^= (0x0c & OnPixels[r0[2]]);
-               else
-                 *ptr ^= (0x0c & OffPixels[r0[2]]);
-
-                ptr ++;
-              }
-              break;
-
-          case 4 :
-             dither = Floyd4x4[y & 3];
-
-              for (x = xsize ; x > 0; x --, r0 += 3)
-              {
-               if ((r0[0] & 15) > dither[x & 3])
-                 *ptr ^= (0xf0 & OnPixels[r0[0]]);
-               else
-                 *ptr ^= (0xf0 & OffPixels[r0[0]]);
-
-               if ((r0[1] & 15) > dither[x & 3])
-                 *ptr++ ^= (0x0f & OnPixels[r0[1]]);
-               else
-                 *ptr++ ^= (0x0f & OffPixels[r0[1]]);
-
-               if ((r0[2] & 15) > dither[x & 3])
-                 *ptr ^= (0xf0 & OnPixels[r0[2]]);
-               else
-                 *ptr ^= (0xf0 & OffPixels[r0[2]]);
-
-                ptr ++;
-              }
-              break;
-
-          case 8 :
-              for (x = xsize; x > 0; x --, r0 += 3, r1 += 3)
-             {
-               if (r0[0] == r1[0])
-                  *ptr++ = r0[0];
-               else
-                  *ptr++ = (r0[0] * yerr0 + r1[0] * yerr1) / ysize;
-
-               if (r0[1] == r1[1])
-                  *ptr++ = r0[1];
-               else
-                  *ptr++ = (r0[1] * yerr0 + r1[1] * yerr1) / ysize;
-
-               if (r0[2] == r1[2])
-                  *ptr++ = r0[2];
-               else
-                  *ptr++ = (r0[2] * yerr0 + r1[2] * yerr1) / ysize;
-
-                ptr ++;
-              }
-             break;
-        }
-        break;
-
-    case CUPS_ORDER_BANDED :
-       cptr = ptr;
-       mptr = ptr + bandwidth;
-       yptr = ptr + 2 * bandwidth;
-
-        memset(ptr + 3 * bandwidth, 255, bandwidth);
-
-        switch (header->cupsBitsPerColor)
-        {
-          case 1 :
-              bitmask = 0x80 >> (bitoffset & 7);
-             dither  = Floyd16x16[y & 15];
-
-              for (x = xsize; x > 0; x --)
-              {
-               if (*r0++ > dither[x & 15])
-                 *cptr ^= bitmask;
-               if (*r0++ > dither[x & 15])
-                 *mptr ^= bitmask;
-               if (*r0++ > dither[x & 15])
-                 *yptr ^= bitmask;
-
-                if (bitmask > 1)
-                 bitmask >>= 1;
-               else
-               {
-                 bitmask = 0x80;
-                 cptr ++;
-                 mptr ++;
-                 yptr ++;
-               }
-             }
-              break;
-
-          case 2 :
-              bitmask = 0xc0 >> (bitoffset & 7);
-             dither  = Floyd8x8[y & 7];
-
-              for (x = xsize; x > 0; x --)
-              {
-               if ((*r0 & 63) > dither[x & 7])
-                 *cptr ^= (bitmask & OnPixels[*r0++]);
-               else
-                 *cptr ^= (bitmask & OffPixels[*r0++]);
-
-               if ((*r0 & 63) > dither[x & 7])
-                 *mptr ^= (bitmask & OnPixels[*r0++]);
-               else
-                 *mptr ^= (bitmask & OffPixels[*r0++]);
-
-               if ((*r0 & 63) > dither[x & 7])
-                 *yptr ^= (bitmask & OnPixels[*r0++]);
-               else
-                 *yptr ^= (bitmask & OffPixels[*r0++]);
-
-                if (bitmask > 3)
-                 bitmask >>= 2;
-               else
-               {
-                 bitmask = 0xc0;
-
-                 cptr ++;
-                 mptr ++;
-                 yptr ++;
-               }
-             }
-              break;
-
-          case 4 :
-              bitmask = 0xf0 >> (bitoffset & 7);
-             dither  = Floyd4x4[y & 3];
-
-              for (x = xsize; x > 0; x --)
-              {
-               if ((*r0 & 15) > dither[x & 3])
-                 *cptr ^= (bitmask & OnPixels[*r0++]);
-               else
-                 *cptr ^= (bitmask & OffPixels[*r0++]);
-
-               if ((*r0 & 15) > dither[x & 3])
-                 *mptr ^= (bitmask & OnPixels[*r0++]);
-               else
-                 *mptr ^= (bitmask & OffPixels[*r0++]);
-
-               if ((*r0 & 15) > dither[x & 3])
-                 *yptr ^= (bitmask & OnPixels[*r0++]);
-               else
-                 *yptr ^= (bitmask & OffPixels[*r0++]);
-
-                if (bitmask == 0xf0)
-                 bitmask = 0x0f;
-               else
-               {
-                 bitmask = 0xf0;
-
-                 cptr ++;
-                 mptr ++;
-                 yptr ++;
-               }
-             }
-              break;
-
-          case 8 :
-              for (x = xsize; x > 0; x --, r0 += 3, r1 += 3)
-             {
-               if (r0[0] == r1[0])
-                  *cptr++ = r0[0];
-               else
-                  *cptr++ = (r0[0] * yerr0 + r1[0] * yerr1) / ysize;
-
-               if (r0[1] == r1[1])
-                  *mptr++ = r0[1];
-               else
-                  *mptr++ = (r0[1] * yerr0 + r1[1] * yerr1) / ysize;
-
-               if (r0[2] == r1[2])
-                  *yptr++ = r0[2];
-               else
-                  *yptr++ = (r0[2] * yerr0 + r1[2] * yerr1) / ysize;
-              }
-              break;
-        }
-        break;
-
-    case CUPS_ORDER_PLANAR :
-        if (z == 3)
-       {
-          memset(row, 255, header->cupsBytesPerLine);
-         break;
-        }
-
-        switch (header->cupsBitsPerColor)
-        {
-          case 1 :
-              bitmask = 0x80 >> (bitoffset & 7);
-             dither  = Floyd16x16[y & 15];
-
-              switch (z)
-             {
-               case 0 :
-                   for (x = xsize; x > 0; x --, r0 += 3)
-                   {
-                     if (r0[0] > dither[x & 15])
-                       *ptr ^= bitmask;
-
-                      if (bitmask > 1)
-                       bitmask >>= 1;
-                     else
-                     {
-                       bitmask = 0x80;
-                       ptr ++;
-                     }
-                   }
-                   break;
-
-               case 1 :
-                   for (x = xsize; x > 0; x --, r0 += 3)
-                   {
-                     if (r0[1] > dither[x & 15])
-                       *ptr ^= bitmask;
-
-                      if (bitmask > 1)
-                       bitmask >>= 1;
-                     else
-                     {
-                       bitmask = 0x80;
-                       ptr ++;
-                     }
-                   }
-                   break;
-
-               case 2 :
-                   for (x = xsize; x > 0; x --, r0 += 3)
-                   {
-                     if (r0[2] > dither[x & 15])
-                       *ptr ^= bitmask;
-
-                      if (bitmask > 1)
-                       bitmask >>= 1;
-                     else
-                     {
-                       bitmask = 0x80;
-                       ptr ++;
-                     }
-                   }
-                   break;
-             }
-              break;
-
-          case 2 :
-              bitmask = 0xc0 >> (bitoffset & 7);
-             dither  = Floyd8x8[y & 7];
-              r0 += z;
-
-              for (x = xsize; x > 0; x --, r0 += 3)
-              {
-               if ((*r0 & 63) > dither[x & 7])
-                 *ptr ^= (bitmask & OnPixels[*r0]);
-               else
-                 *ptr ^= (bitmask & OffPixels[*r0]);
-
-                if (bitmask > 3)
-                 bitmask >>= 2;
-               else
-               {
-                 bitmask = 0xc0;
-
-                 ptr ++;
-               }
-             }
-              break;
-
-          case 4 :
-              bitmask = 0xf0 >> (bitoffset & 7);
-             dither  = Floyd4x4[y & 3];
-              r0 += z;
-
-              for (x = xsize; x > 0; x --, r0 += 3)
-              {
-               if ((*r0 & 15) > dither[x & 3])
-                 *ptr ^= (bitmask & OnPixels[*r0]);
-               else
-                 *ptr ^= (bitmask & OffPixels[*r0]);
-
-                if (bitmask == 0xf0)
-                 bitmask = 0x0f;
-               else
-               {
-                 bitmask = 0xf0;
-
-                 ptr ++;
-               }
-             }
-              break;
-
-          case 8 :
-              r0 += z;
-             r1 += z;
-
-              for (x = xsize; x > 0; x --, r0 += 3, r1 += 3)
-             {
-               if (*r0 == *r1)
-                  *ptr++ = *r0;
-               else
-                  *ptr++ = (*r0 * yerr0 + *r1 * yerr1) / ysize;
-              }
-              break;
-        }
-        break;
-  }
-}
-
-
-/*
- * 'format_W()' - Convert image data to luminance.
- */
-
-static void
-format_W(cups_page_header2_t *header,  /* I - Page header */
-            unsigned char    *row,     /* IO - Bitmap data for device */
-           int              y,         /* I - Current row */
-           int              z,         /* I - Current plane */
-           int              xsize,     /* I - Width of image data */
-           int              ysize,     /* I - Height of image data */
-           int              yerr0,     /* I - Top Y error */
-           int              yerr1,     /* I - Bottom Y error */
-           cups_ib_t        *r0,       /* I - Primary image data */
-           cups_ib_t        *r1)       /* I - Image data for interpolation */
-{
-  cups_ib_t    *ptr,                   /* Pointer into row */
-               bitmask;                /* Current mask for pixel */
-  int          bitoffset;              /* Current offset in line */
-  int          x,                      /* Current X coordinate on page */
-               *dither;                /* Pointer into dither array */
-
-
-  (void)z;
-
-  switch (XPosition)
-  {
-    case -1 :
-        bitoffset = 0;
-       break;
-    default :
-        bitoffset = header->cupsBitsPerPixel * ((header->cupsWidth - xsize) / 2);
-       break;
-    case 1 :
-        bitoffset = header->cupsBitsPerPixel * (header->cupsWidth - xsize);
-       break;
-  }
-
-  ptr = row + bitoffset / 8;
-
-  switch (header->cupsBitsPerColor)
-  {
-    case 1 :
-        bitmask = 0x80 >> (bitoffset & 7);
-        dither  = Floyd16x16[y & 15];
-
-        for (x = xsize; x > 0; x --)
-        {
-          if (*r0++ > dither[x & 15])
-            *ptr ^= bitmask;
-
-          if (bitmask > 1)
-           bitmask >>= 1;
-         else
-         {
-           bitmask = 0x80;
-           ptr ++;
-          }
-       }
-        break;
-
-    case 2 :
-        bitmask = 0xc0 >> (bitoffset & 7);
-        dither  = Floyd8x8[y & 7];
-
-        for (x = xsize; x > 0; x --)
-        {
-          if ((*r0 & 63) > dither[x & 7])
-            *ptr ^= (bitmask & OnPixels[*r0++]);
-          else
-            *ptr ^= (bitmask & OffPixels[*r0++]);
-
-          if (bitmask > 3)
-           bitmask >>= 2;
-         else
-         {
-           bitmask = 0xc0;
-
-           ptr ++;
-          }
-       }
-        break;
-
-    case 4 :
-        bitmask = 0xf0 >> (bitoffset & 7);
-        dither  = Floyd4x4[y & 3];
-
-        for (x = xsize; x > 0; x --)
-        {
-          if ((*r0 & 15) > dither[x & 3])
-            *ptr ^= (bitmask & OnPixels[*r0++]);
-          else
-            *ptr ^= (bitmask & OffPixels[*r0++]);
-
-          if (bitmask == 0xf0)
-           bitmask = 0x0f;
-         else
-         {
-           bitmask = 0xf0;
-
-           ptr ++;
-          }
-       }
-        break;
-
-    case 8 :
-        for (x = xsize; x > 0; x --, r0 ++, r1 ++)
-       {
-          if (*r0 == *r1)
-            *ptr++ = *r0;
-          else
-            *ptr++ = (*r0 * yerr0 + *r1 * yerr1) / ysize;
-        }
-        break;
-  }
-}
-
-
-/*
- * 'format_YMC()' - Convert image data to YMC.
- */
-
-static void
-format_YMC(cups_page_header2_t *header,        /* I - Page header */
-            unsigned char      *row,   /* IO - Bitmap data for device */
-           int                y,       /* I - Current row */
-           int                z,       /* I - Current plane */
-           int                xsize,   /* I - Width of image data */
-           int                ysize,   /* I - Height of image data */
-           int                yerr0,   /* I - Top Y error */
-           int                yerr1,   /* I - Bottom Y error */
-           cups_ib_t          *r0,     /* I - Primary image data */
-           cups_ib_t          *r1)     /* I - Image data for interpolation */
-{
-  cups_ib_t    *ptr,                   /* Pointer into row */
-               *cptr,                  /* Pointer into cyan */
-               *mptr,                  /* Pointer into magenta */
-               *yptr,                  /* Pointer into yellow */
-               bitmask;                /* Current mask for pixel */
-  int          bitoffset;              /* Current offset in line */
-  int          bandwidth;              /* Width of a color band */
-  int          x,                      /* Current X coordinate on page */
-               *dither;                /* Pointer into dither array */
-
-
-  switch (XPosition)
-  {
-    case -1 :
-        bitoffset = 0;
-       break;
-    default :
-        bitoffset = header->cupsBitsPerPixel * ((header->cupsWidth - xsize) / 2);
-       break;
-    case 1 :
-        bitoffset = header->cupsBitsPerPixel * (header->cupsWidth - xsize);
-       break;
-  }
-
-  ptr       = row + bitoffset / 8;
-  bandwidth = header->cupsBytesPerLine / 3;
-
-  switch (header->cupsColorOrder)
-  {
-    case CUPS_ORDER_CHUNKED :
-        switch (header->cupsBitsPerColor)
-        {
-          case 1 :
-              bitmask = 64 >> (bitoffset & 7);
-             dither  = Floyd16x16[y & 15];
-
-              for (x = xsize ; x > 0; x --, r0 += 3)
-              {
-               if (r0[2] > dither[x & 15])
-                 *ptr ^= bitmask;
-               bitmask >>= 1;
-
-               if (r0[1] > dither[x & 15])
-                 *ptr ^= bitmask;
-               bitmask >>= 1;
-
-               if (r0[0] > dither[x & 15])
-                 *ptr ^= bitmask;
-
-                if (bitmask > 1)
-                 bitmask >>= 2;
-               else
-               {
-                 bitmask = 64;
-                 ptr ++;
-               }
-              }
-              break;
-
-          case 2 :
-             dither = Floyd8x8[y & 7];
-
-              for (x = xsize ; x > 0; x --, r0 += 3)
-              {
-               if ((r0[2] & 63) > dither[x & 7])
-                 *ptr ^= (0x30 & OnPixels[r0[2]]);
-               else
-                 *ptr ^= (0x30 & OffPixels[r0[2]]);
-
-               if ((r0[1] & 63) > dither[x & 7])
-                 *ptr ^= (0x0c & OnPixels[r0[1]]);
-               else
-                 *ptr ^= (0x0c & OffPixels[r0[1]]);
-
-               if ((r0[0] & 63) > dither[x & 7])
-                 *ptr++ ^= (0x03 & OnPixels[r0[0]]);
-               else
-                 *ptr++ ^= (0x03 & OffPixels[r0[0]]);
-              }
-              break;
-
-          case 4 :
-             dither = Floyd4x4[y & 3];
-
-              for (x = xsize ; x > 0; x --, r0 += 3)
-              {
-               if ((r0[2] & 15) > dither[x & 3])
-                 *ptr++ ^= (0x0f & OnPixels[r0[2]]);
-               else
-                 *ptr++ ^= (0x0f & OffPixels[r0[2]]);
-
-               if ((r0[1] & 15) > dither[x & 3])
-                 *ptr ^= (0xf0 & OnPixels[r0[1]]);
-               else
-                 *ptr ^= (0xf0 & OffPixels[r0[1]]);
-
-               if ((r0[0] & 15) > dither[x & 3])
-                 *ptr++ ^= (0x0f & OnPixels[r0[0]]);
-               else
-                 *ptr++ ^= (0x0f & OffPixels[r0[0]]);
-              }
-              break;
-
-          case 8 :
-              for (x = xsize; x > 0; x --, r0 += 3, r1 += 3)
-             {
-               if (r0[2] == r1[2])
-                  *ptr++ = r0[2];
-               else
-                  *ptr++ = (r0[2] * yerr0 + r1[2] * yerr1) / ysize;
-
-               if (r0[1] == r1[1])
-                  *ptr++ = r0[1];
-               else
-                  *ptr++ = (r0[1] * yerr0 + r1[1] * yerr1) / ysize;
-
-               if (r0[0] == r1[0])
-                  *ptr++ = r0[0];
-               else
-                  *ptr++ = (r0[0] * yerr0 + r1[0] * yerr1) / ysize;
-              }
-             break;
-        }
-        break;
-
-    case CUPS_ORDER_BANDED :
-       yptr = ptr;
-       mptr = ptr + bandwidth;
-       cptr = ptr + 2 * bandwidth;
-
-        switch (header->cupsBitsPerColor)
-        {
-          case 1 :
-              bitmask = 0x80 >> (bitoffset & 7);
-             dither  = Floyd16x16[y & 15];
-
-              for (x = xsize; x > 0; x --)
-              {
-               if (*r0++ > dither[x & 15])
-                 *cptr ^= bitmask;
-               if (*r0++ > dither[x & 15])
-                 *mptr ^= bitmask;
-               if (*r0++ > dither[x & 15])
-                 *yptr ^= bitmask;
-
-                if (bitmask > 1)
-                 bitmask >>= 1;
-               else
-               {
-                 bitmask = 0x80;
-                 cptr ++;
-                 mptr ++;
-                 yptr ++;
-               }
-             }
-              break;
-
-          case 2 :
-              bitmask = 0xc0 >> (bitoffset & 7);
-             dither  = Floyd8x8[y & 7];
-
-              for (x = xsize; x > 0; x --)
-              {
-               if ((*r0 & 63) > dither[x & 7])
-                 *cptr ^= (bitmask & OnPixels[*r0++]);
-               else
-                 *cptr ^= (bitmask & OffPixels[*r0++]);
-
-               if ((*r0 & 63) > dither[x & 7])
-                 *mptr ^= (bitmask & OnPixels[*r0++]);
-               else
-                 *mptr ^= (bitmask & OffPixels[*r0++]);
-
-               if ((*r0 & 63) > dither[x & 7])
-                 *yptr ^= (bitmask & OnPixels[*r0++]);
-               else
-                 *yptr ^= (bitmask & OffPixels[*r0++]);
-
-                if (bitmask > 3)
-                 bitmask >>= 2;
-               else
-               {
-                 bitmask = 0xc0;
-
-                 cptr ++;
-                 mptr ++;
-                 yptr ++;
-               }
-             }
-              break;
-
-          case 4 :
-              bitmask = 0xf0 >> (bitoffset & 7);
-             dither  = Floyd4x4[y & 3];
-
-              for (x = xsize; x > 0; x --)
-              {
-               if ((*r0 & 15) > dither[x & 3])
-                 *cptr ^= (bitmask & OnPixels[*r0++]);
-               else
-                 *cptr ^= (bitmask & OffPixels[*r0++]);
-
-               if ((*r0 & 15) > dither[x & 3])
-                 *mptr ^= (bitmask & OnPixels[*r0++]);
-               else
-                 *mptr ^= (bitmask & OffPixels[*r0++]);
-
-               if ((*r0 & 15) > dither[x & 3])
-                 *yptr ^= (bitmask & OnPixels[*r0++]);
-               else
-                 *yptr ^= (bitmask & OffPixels[*r0++]);
-
-                if (bitmask == 0xf0)
-                 bitmask = 0x0f;
-               else
-               {
-                 bitmask = 0xf0;
-
-                 cptr ++;
-                 mptr ++;
-                 yptr ++;
-               }
-             }
-              break;
-
-          case 8 :
-              for (x = xsize; x > 0; x --, r0 += 3, r1 += 3)
-             {
-               if (r0[0] == r1[0])
-                  *cptr++ = r0[0];
-               else
-                  *cptr++ = (r0[0] * yerr0 + r1[0] * yerr1) / ysize;
-
-               if (r0[1] == r1[1])
-                  *mptr++ = r0[1];
-               else
-                  *mptr++ = (r0[1] * yerr0 + r1[1] * yerr1) / ysize;
-
-               if (r0[2] == r1[2])
-                  *yptr++ = r0[2];
-               else
-                  *yptr++ = (r0[2] * yerr0 + r1[2] * yerr1) / ysize;
-              }
-              break;
-        }
-        break;
-
-    case CUPS_ORDER_PLANAR :
-        switch (header->cupsBitsPerColor)
-        {
-          case 1 :
-              bitmask = 0x80 >> (bitoffset & 7);
-             dither  = Floyd16x16[y & 15];
-
-              switch (z)
-             {
-               case 2 :
-                   for (x = xsize; x > 0; x --, r0 += 3)
-                   {
-                     if (r0[0] > dither[x & 15])
-                       *ptr ^= bitmask;
-
-                      if (bitmask > 1)
-                       bitmask >>= 1;
-                     else
-                     {
-                       bitmask = 0x80;
-                       ptr ++;
-                     }
-                   }
-                   break;
-
-               case 1 :
-                   for (x = xsize; x > 0; x --, r0 += 3)
-                   {
-                     if (r0[1] > dither[x & 15])
-                       *ptr ^= bitmask;
-
-                      if (bitmask > 1)
-                       bitmask >>= 1;
-                     else
-                     {
-                       bitmask = 0x80;
-                       ptr ++;
-                     }
-                   }
-                   break;
-
-               case 0 :
-                   for (x = xsize; x > 0; x --, r0 += 3)
-                   {
-                     if (r0[2] > dither[x & 15])
-                       *ptr ^= bitmask;
-
-                      if (bitmask > 1)
-                       bitmask >>= 1;
-                     else
-                     {
-                       bitmask = 0x80;
-                       ptr ++;
-                     }
-                   }
-                   break;
-             }
-              break;
-
-          case 2 :
-              bitmask = 0xc0 >> (bitoffset & 7);
-             dither  = Floyd8x8[y & 7];
-              z       = 2 - z;
-              r0      += z;
-
-              for (x = xsize; x > 0; x --, r0 += 3)
-              {
-               if ((*r0 & 63) > dither[x & 7])
-                 *ptr ^= (bitmask & OnPixels[*r0]);
-               else
-                 *ptr ^= (bitmask & OffPixels[*r0]);
-
-                if (bitmask > 3)
-                 bitmask >>= 2;
-               else
-               {
-                 bitmask = 0xc0;
-
-                 ptr ++;
-               }
-             }
-              break;
-
-          case 4 :
-              bitmask = 0xf0 >> (bitoffset & 7);
-             dither  = Floyd4x4[y & 3];
-              z       = 2 - z;
-              r0      += z;
-
-              for (x = xsize; x > 0; x --, r0 += 3)
-              {
-               if ((*r0 & 15) > dither[x & 3])
-                 *ptr ^= (bitmask & OnPixels[*r0]);
-               else
-                 *ptr ^= (bitmask & OffPixels[*r0]);
-
-                if (bitmask == 0xf0)
-                 bitmask = 0x0f;
-               else
-               {
-                 bitmask = 0xf0;
-
-                 ptr ++;
-               }
-             }
-              break;
-
-          case 8 :
-              z  = 2 - z;
-              r0 += z;
-             r1 += z;
-
-              for (x = xsize; x > 0; x --, r0 += 3, r1 += 3)
-             {
-               if (*r0 == *r1)
-                  *ptr++ = *r0;
-               else
-                  *ptr++ = (*r0 * yerr0 + *r1 * yerr1) / ysize;
-              }
-              break;
-        }
-        break;
-  }
-}
-
-
-/*
- * 'format_YMCK()' - Convert image data to YMCK.
- */
-
-static void
-format_YMCK(cups_page_header2_t *header,/* I - Page header */
-            unsigned char       *row,  /* IO - Bitmap data for device */
-           int                 y,      /* I - Current row */
-           int                 z,      /* I - Current plane */
-           int                 xsize,  /* I - Width of image data */
-           int                 ysize,  /* I - Height of image data */
-           int                 yerr0,  /* I - Top Y error */
-           int                 yerr1,  /* I - Bottom Y error */
-           cups_ib_t           *r0,    /* I - Primary image data */
-           cups_ib_t           *r1)    /* I - Image data for interpolation */
-{
-  cups_ib_t    *ptr,                   /* Pointer into row */
-               *cptr,                  /* Pointer into cyan */
-               *mptr,                  /* Pointer into magenta */
-               *yptr,                  /* Pointer into yellow */
-               *kptr,                  /* Pointer into black */
-               bitmask;                /* Current mask for pixel */
-  int          bitoffset;              /* Current offset in line */
-  int          bandwidth;              /* Width of a color band */
-  int          x,                      /* Current X coordinate on page */
-               *dither;                /* Pointer into dither array */
-  int          pc, pm, py;             /* CMY pixels */
-
-
-  switch (XPosition)
-  {
-    case -1 :
-        bitoffset = 0;
-       break;
-    default :
-        bitoffset = header->cupsBitsPerPixel * ((header->cupsWidth - xsize) / 2);
-       break;
-    case 1 :
-        bitoffset = header->cupsBitsPerPixel * (header->cupsWidth - xsize);
-       break;
-  }
-
-  ptr       = row + bitoffset / 8;
-  bandwidth = header->cupsBytesPerLine / 4;
-
-  switch (header->cupsColorOrder)
-  {
-    case CUPS_ORDER_CHUNKED :
-        switch (header->cupsBitsPerColor)
-        {
-          case 1 :
-              bitmask = 128 >> (bitoffset & 7);
-              dither  = Floyd16x16[y & 15];
-
-              for (x = xsize ; x > 0; x --)
-              {
-               pc = *r0++ > dither[x & 15];
-               pm = *r0++ > dither[x & 15];
-               py = *r0++ > dither[x & 15];
-
-               if (pc && pm && py)
-               {
-                 bitmask >>= 3;
-                 *ptr ^= bitmask;
-               }
-               else
-               {
-                 if (py)
-                   *ptr ^= bitmask;
-                 bitmask >>= 1;
-
-                 if (pm)
-                   *ptr ^= bitmask;
-                 bitmask >>= 1;
-
-                 if (pc)
-                   *ptr ^= bitmask;
-                 bitmask >>= 1;
-                }
-
-                if (bitmask > 1)
-                 bitmask >>= 1;
-               else
-               {
-                 bitmask = 128;
-
-                 ptr ++;
-               }
-              }
-              break;
-
-          case 2 :
-              dither = Floyd8x8[y & 7];
-
-              for (x = xsize ; x > 0; x --, r0 += 4)
-              {
-               if ((r0[2] & 63) > dither[x & 7])
-                 *ptr ^= (0xc0 & OnPixels[r0[2]]);
-               else
-                 *ptr ^= (0xc0 & OffPixels[r0[2]]);
-
-               if ((r0[1] & 63) > dither[x & 7])
-                 *ptr ^= (0x30 & OnPixels[r0[1]]);
-               else
-                 *ptr ^= (0x30 & OffPixels[r0[1]]);
-
-               if ((r0[0] & 63) > dither[x & 7])
-                 *ptr ^= (0x0c & OnPixels[r0[0]]);
-               else
-                 *ptr ^= (0x0c & OffPixels[r0[0]]);
-
-               if ((r0[3] & 63) > dither[x & 7])
-                 *ptr++ ^= (0x03 & OnPixels[r0[3]]);
-               else
-                 *ptr++ ^= (0x03 & OffPixels[r0[3]]);
-              }
-              break;
-
-          case 4 :
-              dither = Floyd4x4[y & 3];
-
-              for (x = xsize ; x > 0; x --, r0 += 4)
-              {
-               if ((r0[2] & 15) > dither[x & 3])
-                 *ptr ^= (0xf0 & OnPixels[r0[2]]);
-               else
-                 *ptr ^= (0xf0 & OffPixels[r0[2]]);
-
-               if ((r0[1] & 15) > dither[x & 3])
-                 *ptr++ ^= (0x0f & OnPixels[r0[1]]);
-               else
-                 *ptr++ ^= (0x0f & OffPixels[r0[1]]);
-
-               if ((r0[0] & 15) > dither[x & 3])
-                 *ptr ^= (0xf0 & OnPixels[r0[0]]);
-               else
-                 *ptr ^= (0xf0 & OffPixels[r0[0]]);
-
-               if ((r0[3] & 15) > dither[x & 3])
-                 *ptr++ ^= (0x0f & OnPixels[r0[3]]);
-               else
-                 *ptr++ ^= (0x0f & OffPixels[r0[3]]);
-              }
-              break;
-
-          case 8 :
-              for (x = xsize; x > 0; x --, r0 += 4, r1 += 4)
-             {
-               if (r0[2] == r1[2])
-                  *ptr++ = r0[2];
-               else
-                  *ptr++ = (r0[2] * yerr0 + r1[2] * yerr1) / ysize;
-
-               if (r0[1] == r1[1])
-                  *ptr++ = r0[1];
-               else
-                  *ptr++ = (r0[1] * yerr0 + r1[1] * yerr1) / ysize;
-
-               if (r0[0] == r1[0])
-                  *ptr++ = r0[0];
-               else
-                  *ptr++ = (r0[0] * yerr0 + r1[0] * yerr1) / ysize;
-
-               if (r0[3] == r1[3])
-                  *ptr++ = r0[3];
-               else
-                  *ptr++ = (r0[3] * yerr0 + r1[3] * yerr1) / ysize;
-              }
-              break;
-        }
-        break;
-
-    case CUPS_ORDER_BANDED :
-       yptr = ptr;
-       mptr = ptr + bandwidth;
-       cptr = ptr + 2 * bandwidth;
-       kptr = ptr + 3 * bandwidth;
-
-        switch (header->cupsBitsPerColor)
-        {
-          case 1 :
-              bitmask = 0x80 >> (bitoffset & 7);
-              dither  = Floyd16x16[y & 15];
-
-              for (x = xsize; x > 0; x --)
-              {
-               pc = *r0++ > dither[x & 15];
-               pm = *r0++ > dither[x & 15];
-               py = *r0++ > dither[x & 15];
-
-               if (pc && pm && py)
-                 *kptr ^= bitmask;
-               else
-               {
-                 if (pc)
-                   *cptr ^= bitmask;
-                 if (pm)
-                   *mptr ^= bitmask;
-                 if (py)
-                   *yptr ^= bitmask;
-                }
-
-                if (bitmask > 1)
-                 bitmask >>= 1;
-               else
-               {
-                 bitmask = 0x80;
-
-                 cptr ++;
-                 mptr ++;
-                 yptr ++;
-                 kptr ++;
-               }
-             }
-              break;
-
-          case 2 :
-              bitmask = 0xc0 >> (bitoffset & 7);
-              dither  = Floyd8x8[y & 7];
-
-              for (x = xsize; x > 0; x --)
-              {
-               if ((*r0 & 63) > dither[x & 7])
-                 *cptr ^= (bitmask & OnPixels[*r0++]);
-               else
-                 *cptr ^= (bitmask & OffPixels[*r0++]);
-
-               if ((*r0 & 63) > dither[x & 7])
-                 *mptr ^= (bitmask & OnPixels[*r0++]);
-               else
-                 *mptr ^= (bitmask & OffPixels[*r0++]);
-
-               if ((*r0 & 63) > dither[x & 7])
-                 *yptr ^= (bitmask & OnPixels[*r0++]);
-               else
-                 *yptr ^= (bitmask & OffPixels[*r0++]);
-
-               if ((*r0 & 63) > dither[x & 7])
-                 *kptr ^= (bitmask & OnPixels[*r0++]);
-               else
-                 *kptr ^= (bitmask & OffPixels[*r0++]);
-
-                if (bitmask > 3)
-                 bitmask >>= 2;
-               else
-               {
-                 bitmask = 0xc0;
-
-                 cptr ++;
-                 mptr ++;
-                 yptr ++;
-                 kptr ++;
-               }
-             }
-              break;
-
-          case 4 :
-              bitmask = 0xf0 >> (bitoffset & 7);
-              dither  = Floyd4x4[y & 3];
-
-              for (x = xsize; x > 0; x --)
-              {
-               if ((*r0 & 15) > dither[x & 3])
-                 *cptr ^= (bitmask & OnPixels[*r0++]);
-               else
-                 *cptr ^= (bitmask & OffPixels[*r0++]);
-
-               if ((*r0 & 15) > dither[x & 3])
-                 *mptr ^= (bitmask & OnPixels[*r0++]);
-               else
-                 *mptr ^= (bitmask & OffPixels[*r0++]);
-
-               if ((*r0 & 15) > dither[x & 3])
-                 *yptr ^= (bitmask & OnPixels[*r0++]);
-               else
-                 *yptr ^= (bitmask & OffPixels[*r0++]);
-
-               if ((*r0 & 15) > dither[x & 3])
-                 *kptr ^= (bitmask & OnPixels[*r0++]);
-               else
-                 *kptr ^= (bitmask & OffPixels[*r0++]);
-
-                if (bitmask == 0xf0)
-                 bitmask = 0x0f;
-               else
-               {
-                 bitmask = 0xf0;
-
-                 cptr ++;
-                 mptr ++;
-                 yptr ++;
-                 kptr ++;
-               }
-             }
-              break;
-
-          case 8 :
-              for (x = xsize; x > 0; x --, r0 += 4, r1 += 4)
-             {
-               if (r0[0] == r1[0])
-                  *cptr++ = r0[0];
-               else
-                  *cptr++ = (r0[0] * yerr0 + r1[0] * yerr1) / ysize;
-
-               if (r0[1] == r1[1])
-                  *mptr++ = r0[1];
-               else
-                  *mptr++ = (r0[1] * yerr0 + r1[1] * yerr1) / ysize;
-
-               if (r0[2] == r1[2])
-                  *yptr++ = r0[2];
-               else
-                  *yptr++ = (r0[2] * yerr0 + r1[2] * yerr1) / ysize;
-
-               if (r0[3] == r1[3])
-                  *kptr++ = r0[3];
-               else
-                  *kptr++ = (r0[3] * yerr0 + r1[3] * yerr1) / ysize;
-              }
-              break;
-        }
-        break;
-
-    case CUPS_ORDER_PLANAR :
-        switch (header->cupsBitsPerColor)
-        {
-          case 1 :
-              bitmask = 0x80 >> (bitoffset & 7);
-              dither  = Floyd16x16[y & 15];
-
-              for (x = xsize; x > 0; x --)
-              {
-               pc = *r0++ > dither[x & 15];
-               pm = *r0++ > dither[x & 15];
-               py = *r0++ > dither[x & 15];
-
-               if ((pc && pm && py && z == 3) ||
-                   (pc && z == 2) || (pm && z == 1) || (py && z == 0))
-                 *ptr ^= bitmask;
-
-               if (bitmask > 1)
-                 bitmask >>= 1;
-               else
-               {
-                 bitmask = 0x80;
-                 ptr ++;
-               }
-             }
-              break;
-
-          case 2 :
-              bitmask = 0xc0 >> (bitoffset & 7);
-              dither  = Floyd8x8[y & 7];
-              if (z == 3)
-               r0 += 3;
-             else
-               r0 += 2 - z;
-
-              for (x = xsize; x > 0; x --, r0 += 4)
-              {
-               if ((*r0 & 63) > dither[x & 7])
-                 *ptr ^= (bitmask & OnPixels[*r0]);
-               else
-                 *ptr ^= (bitmask & OffPixels[*r0]);
-
-                if (bitmask > 3)
-                 bitmask >>= 2;
-               else
-               {
-                 bitmask = 0xc0;
-
-                 ptr ++;
-               }
-             }
-              break;
-
-          case 4 :
-              bitmask = 0xf0 >> (bitoffset & 7);
-              dither  = Floyd4x4[y & 3];
-              if (z == 3)
-               r0 += 3;
-             else
-               r0 += 2 - z;
-
-              for (x = xsize; x > 0; x --, r0 += 4)
-              {
-               if ((*r0 & 15) > dither[x & 3])
-                 *ptr ^= (bitmask & OnPixels[*r0]);
-               else
-                 *ptr ^= (bitmask & OffPixels[*r0]);
-
-                if (bitmask == 0xf0)
-                 bitmask = 0x0f;
-               else
-               {
-                 bitmask = 0xf0;
-
-                 ptr ++;
-               }
-             }
-              break;
-
-          case 8 :
-              if (z == 3)
-             {
-               r0 += 3;
-               r1 += 3;
-             }
-             else
-             {
-               r0 += 2 - z;
-               r1 += 2 - z;
-             }
-
-              for (x = xsize; x > 0; x --, r0 += 4, r1 += 4)
-             {
-               if (*r0 == *r1)
-                  *ptr++ = *r0;
-               else
-                  *ptr++ = (*r0 * yerr0 + *r1 * yerr1) / ysize;
-              }
-              break;
-        }
-        break;
-  }
-}
-
-
-/*
- * 'make_lut()' - Make a lookup table given gamma and brightness values.
- */
-
-static void
-make_lut(cups_ib_t  *lut,              /* I - Lookup table */
-        int        colorspace,         /* I - Colorspace */
-         float      g,                 /* I - Image gamma */
-         float      b)                 /* I - Image brightness */
-{
-  int  i;                              /* Looping var */
-  int  v;                              /* Current value */
-
-
-  g = 1.0 / g;
-  b = 1.0 / b;
-
-  for (i = 0; i < 256; i ++)
-  {
-    if (colorspace < 0)
-      v = 255.0 * b * (1.0 - pow(1.0 - (float)i / 255.0, g)) + 0.5;
-    else
-      v = 255.0 * (1.0 - b * (1.0 - pow((float)i / 255.0, g))) + 0.5;
-
-    if (v < 0)
-      *lut++ = 0;
-    else if (v > 255)
-      *lut++ = 255;
-    else
-      *lut++ = v;
-  }
-}
-
-
-/*
- * 'raster_cb()' - Validate the page header.
- */
-
-static int                             /* O - 0 if OK, -1 if not */
-raster_cb(
-    cups_page_header2_t *header,       /* IO - Raster header */
-    int                 preferred_bits)        /* I  - Preferred bits per color */
-{
- /*
-  * Ensure that colorimetric colorspaces use at least 8 bits per
-  * component...
-  */
-
-  if ((header->cupsColorSpace == CUPS_CSPACE_CIEXYZ ||
-       header->cupsColorSpace == CUPS_CSPACE_CIELab ||
-       header->cupsColorSpace >= CUPS_CSPACE_ICC1) &&
-      header->cupsBitsPerColor < 8)
-    header->cupsBitsPerColor = 8;
-
-  return (0);
-}
-
-
-/*
- * End of "$Id: imagetoraster.c 9808 2011-05-26 12:03:28Z mike $".
- */
index 81774dd..2a2f352 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: interpret.c 9955 2011-09-02 18:14:34Z mike $"
+ * "$Id: interpret.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   PPD command interpreter for CUPS.
  *
- *   Copyright 2007-2010 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1993-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -40,7 +40,7 @@
  * Include necessary headers...
  */
 
-#include "image-private.h"
+#include <cups/raster-private.h>
 
 
 /*
@@ -144,7 +144,7 @@ static void         DEBUG_stack(_cups_ps_stack_t *st);
  * @code pop@, @code roll@, @code setpagedevice@, and @code stopped@ operators
  * are supported.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - 0 on success, -1 on failure */
@@ -204,7 +204,7 @@ cupsRasterInterpretPPD(
 
 #ifdef __APPLE__
  /*
-  * cupsInteger0 is also used for the total page count on Mac OS X; set an
+  * cupsInteger0 is also used for the total page count on OS X; set an
   * uncommon default value so we can tell if the driver is using cupsInteger0.
   */
 
@@ -1387,7 +1387,7 @@ setpagedevice(
   * Found the start of the dictionary, empty the stack to this point...
   */
 
-  st->num_objs = obj - st->objs;
+  st->num_objs = (int)(obj - st->objs);
 
  /*
   * Now pull /name and value pairs from the dictionary...
@@ -1684,5 +1684,5 @@ DEBUG_stack(_cups_ps_stack_t *st) /* I - Stack */
 
 
 /*
- * End of "$Id: interpret.c 9955 2011-09-02 18:14:34Z mike $".
+ * End of "$Id: interpret.c 11173 2013-07-23 12:31:34Z msweet $".
  */
diff --git a/filter/pdftops.c b/filter/pdftops.c
deleted file mode 100644 (file)
index b35e7ff..0000000
+++ /dev/null
@@ -1,621 +0,0 @@
-/*
- * "$Id: pdftops.c 9793 2011-05-20 03:49:49Z mike $"
- *
- *   PDF to PostScript filter front-end for CUPS.
- *
- *   Copyright 2007-2011 by Apple Inc.
- *   Copyright 1997-2006 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- * Contents:
- *
- *   main()       - Main entry for filter...
- *   cancel_job() - Flag the job as canceled.
- */
-
-/*
- * Include necessary headers...
- */
-
-#include <cups/cups.h>
-#include <cups/ppd.h>
-#include <cups/string-private.h>
-#include <cups/language-private.h>
-#include <signal.h>
-#include <sys/wait.h>
-#include <errno.h>
-
-
-/*
- * Local functions...
- */
-
-static void            cancel_job(int sig);
-
-
-/*
- * Local globals...
- */
-
-static int             job_canceled = 0;
-
-
-/*
- * 'main()' - Main entry for filter...
- */
-
-int                                    /* O - Exit status */
-main(int  argc,                                /* I - Number of command-line args */
-     char *argv[])                     /* I - Command-line arguments */
-{
-  int          fd;                     /* Copy file descriptor */
-  char         *filename,              /* PDF file to convert */
-               tempfile[1024];         /* Temporary file */
-  char         buffer[8192];           /* Copy buffer */
-  int          bytes;                  /* Bytes copied */
-  int          num_options;            /* Number of options */
-  cups_option_t        *options;               /* Options */
-  const char   *val;                   /* Option value */
-  int          orientation,            /* Output orientation */
-               fit;                    /* Fit output to default page size? */
-  ppd_file_t   *ppd;                   /* PPD file */
-  ppd_size_t   *size;                  /* Current page size */
-  int          pdf_pid,                /* Process ID for pdftops */
-               pdf_argc,               /* Number of args for pdftops */
-               pstops_pid,             /* Process ID of pstops filter */
-               pstops_pipe[2],         /* Pipe to pstops filter */
-               wait_children,          /* Number of child processes left */
-               wait_pid,               /* Process ID from wait() */
-               wait_status,            /* Status from child */
-               exit_status = 0;        /* Exit status */
-  char         *pdf_argv[100],         /* Arguments for pdftops/gs */
-               pdf_width[255],         /* Paper width */
-               pdf_height[255],        /* Paper height */
-               pstops_path[1024],      /* Path to pstops program */
-               *pstops_argv[7],        /* Arguments for pstops filter */
-               *pstops_options,        /* Options for pstops filter */
-               *pstops_start,          /* Start of pstops filter option */
-               *pstops_end;            /* End of pstops filter option */
-  const char   *cups_serverbin;        /* CUPS_SERVERBIN environment variable */
-#if defined(HAVE_SIGACTION) && !defined(HAVE_SIGSET)
-  struct sigaction action;             /* Actions for POSIX signals */
-#endif /* HAVE_SIGACTION && !HAVE_SIGSET */
-
-
- /*
-  * Make sure status messages are not buffered...
-  */
-
-  setbuf(stderr, NULL);
-
- /*
-  * Ignore broken pipe signals...
-  */
-
-  signal(SIGPIPE, SIG_IGN);
-
- /*
-  * Make sure we have the right number of arguments for CUPS!
-  */
-
-  if (argc < 6 || argc > 7)
-  {
-    _cupsLangPrintf(stderr,
-                    _("Usage: %s job user title copies options [filename]"),
-                    argv[0]);
-    return (1);
-  }
-
- /*
-  * Register a signal handler to cleanly cancel a job.
-  */
-
-#ifdef HAVE_SIGSET /* Use System V signals over POSIX to avoid bugs */
-  sigset(SIGTERM, cancel_job);
-#elif defined(HAVE_SIGACTION)
-  memset(&action, 0, sizeof(action));
-
-  sigemptyset(&action.sa_mask);
-  action.sa_handler = cancel_job;
-  sigaction(SIGTERM, &action, NULL);
-#else
-  signal(SIGTERM, cancel_job);
-#endif /* HAVE_SIGSET */
-
- /*
-  * Copy stdin if needed...
-  */
-
-  if (argc == 6)
-  {
-   /*
-    * Copy stdin to a temp file...
-    */
-
-    if ((fd = cupsTempFd(tempfile, sizeof(tempfile))) < 0)
-    {
-      perror("DEBUG: Unable to copy PDF file");
-      return (1);
-    }
-
-    fprintf(stderr, "DEBUG: pdftops - copying to temp print file \"%s\"\n",
-            tempfile);
-
-    while ((bytes = fread(buffer, 1, sizeof(buffer), stdin)) > 0)
-      write(fd, buffer, bytes);
-
-    close(fd);
-
-    filename = tempfile;
-  }
-  else
-  {
-   /*
-    * Use the filename on the command-line...
-    */
-
-    filename    = argv[6];
-    tempfile[0] = '\0';
-  }
-
- /*
-  * Load the PPD file and mark options...
-  */
-
-  ppd         = ppdOpenFile(getenv("PPD"));
-  num_options = cupsParseOptions(argv[5], 0, &options);
-
-  ppdMarkDefaults(ppd);
-  cupsMarkOptions(ppd, num_options, options);
-
- /*
-  * Build the pstops command-line...
-  */
-
-  if ((cups_serverbin = getenv("CUPS_SERVERBIN")) == NULL)
-    cups_serverbin = CUPS_SERVERBIN;
-
-  snprintf(pstops_path, sizeof(pstops_path), "%s/filter/pstops",
-           cups_serverbin);
-
-  pstops_options = strdup(argv[5]);
-
-  if ((pstops_start = strstr(pstops_options, "fitplot")) != NULL &&
-      (!pstops_start[7] || isspace(pstops_start[7] & 255)))
-  {
-   /*
-    * Strip [no]fitplot option...
-    */
-
-    pstops_end = pstops_start + 7;
-
-    if ((pstops_start - pstops_options) >= 2 &&
-        !strncmp(pstops_start - 2, "no", 2))
-      pstops_start -= 2;
-
-    while (*pstops_end && isspace(*pstops_end & 255))
-      pstops_end ++;
-
-    _cups_strcpy(pstops_start, pstops_end);
-  }
-
-  if ((pstops_start = strstr(pstops_options, "fit-to-page")) != NULL &&
-      (!pstops_start[11] || isspace(pstops_start[11] & 255)))
-  {
-   /*
-    * Strip [no]fit-to-page option...
-    */
-
-    pstops_end = pstops_start + 11;
-
-    if ((pstops_start - pstops_options) >= 2 &&
-        !strncmp(pstops_start - 2, "no", 2))
-      pstops_start -= 2;
-
-    while (*pstops_end && isspace(*pstops_end & 255))
-      pstops_end ++;
-
-    _cups_strcpy(pstops_start, pstops_end);
-  }
-
-  if ((pstops_start = strstr(pstops_options, "landscape")) != NULL &&
-      (!pstops_start[9] || isspace(pstops_start[9] & 255)))
-  {
-   /*
-    * Strip [no]landscape option...
-    */
-
-    pstops_end = pstops_start + 9;
-
-    if ((pstops_start - pstops_options) >= 2 &&
-        !strncmp(pstops_start - 2, "no", 2))
-      pstops_start -= 2;
-
-    while (*pstops_end && isspace(*pstops_end & 255))
-      pstops_end ++;
-
-    _cups_strcpy(pstops_start, pstops_end);
-  }
-
-  if ((pstops_start = strstr(pstops_options, "orientation-requested=")) != NULL)
-  {
-   /*
-    * Strip [no]fitplot option...
-    */
-
-    pstops_end = pstops_start + 22;
-    while (*pstops_end && !isspace(*pstops_end & 255))
-      pstops_end ++;
-
-    _cups_strcpy(pstops_start, pstops_end);
-  }
-
-  pstops_argv[0] = argv[0];            /* Printer */
-  pstops_argv[1] = argv[1];            /* Job */
-  pstops_argv[2] = argv[2];            /* User */
-  pstops_argv[3] = argv[3];            /* Title */
-  pstops_argv[4] = argv[4];            /* Copies */
-  pstops_argv[5] = pstops_options;     /* Options */
-  pstops_argv[6] = NULL;
-
- /*
-  * Build the command-line for the pdftops or gs filter...
-  */
-
-#ifdef HAVE_PDFTOPS
-  pdf_argv[0] = (char *)"pdftops";
-  pdf_argc    = 1;
-#else
-  pdf_argv[0] = (char *)"gs";
-  pdf_argv[1] = (char *)"-q";
-  pdf_argv[2] = (char *)"-dNOPAUSE";
-  pdf_argv[3] = (char *)"-dBATCH";
-  pdf_argv[4] = (char *)"-dSAFER";
-#  ifdef HAVE_GHOSTSCRIPT_PS2WRITE
-  pdf_argv[5] = (char *)"-sDEVICE=ps2write";
-#  else
-  pdf_argv[5] = (char *)"-sDEVICE=pswrite";
-#  endif /* HAVE_GHOSTSCRIPT_PS2WRITE */
-  pdf_argv[6] = (char *)"-sOUTPUTFILE=%stdout";
-  pdf_argc    = 7;
-#endif /* HAVE_PDFTOPS */
-
-  if (ppd)
-  {
-   /*
-    * Set language level and TrueType font handling...
-    */
-
-    if (ppd->language_level == 1)
-    {
-#ifdef HAVE_PDFTOPS
-      pdf_argv[pdf_argc++] = (char *)"-level1";
-      pdf_argv[pdf_argc++] = (char *)"-noembtt";
-#else
-      pdf_argv[pdf_argc++] = (char *)"-dLanguageLevel=1";
-#endif /* HAVE_PDFTOPS */
-    }
-    else if (ppd->language_level == 2)
-    {
-#ifdef HAVE_PDFTOPS
-      pdf_argv[pdf_argc++] = (char *)"-level2";
-      if (!ppd->ttrasterizer)
-       pdf_argv[pdf_argc++] = (char *)"-noembtt";
-#else
-      pdf_argv[pdf_argc++] = (char *)"-dLanguageLevel=2";
-#endif /* HAVE_PDFTOPS */
-    }
-    else
-#ifdef HAVE_PDFTOPS
-      pdf_argv[pdf_argc++] = (char *)"-level3";
-#else
-      pdf_argv[pdf_argc++] = (char *)"-dLanguageLevel=3";
-#endif /* HAVE_PDFTOPS */
-
-    if ((val = cupsGetOption("fitplot", num_options, options)) == NULL)
-      val = cupsGetOption("fit-to-page", num_options, options);
-
-    if (val && _cups_strcasecmp(val, "no") && _cups_strcasecmp(val, "off") &&
-       _cups_strcasecmp(val, "false"))
-      fit = 1;
-    else
-      fit = 0;
-
-   /*
-    * Set output page size...
-    */
-
-    size = ppdPageSize(ppd, NULL);
-    if (size && fit)
-    {
-     /*
-      * Got the size, now get the orientation...
-      */
-
-      orientation = 0;
-
-      if ((val = cupsGetOption("landscape", num_options, options)) != NULL)
-      {
-       if (_cups_strcasecmp(val, "no") != 0 && _cups_strcasecmp(val, "off") != 0 &&
-           _cups_strcasecmp(val, "false") != 0)
-         orientation = 1;
-      }
-      else if ((val = cupsGetOption("orientation-requested", num_options,
-                                    options)) != NULL)
-      {
-       /*
-       * Map IPP orientation values to 0 to 3:
-       *
-       *   3 = 0 degrees   = 0
-       *   4 = 90 degrees  = 1
-       *   5 = -90 degrees = 3
-       *   6 = 180 degrees = 2
-       */
-
-       orientation = atoi(val) - 3;
-       if (orientation >= 2)
-         orientation ^= 1;
-      }
-
-#ifdef HAVE_PDFTOPS
-      if (orientation & 1)
-      {
-       snprintf(pdf_width, sizeof(pdf_width), "%.0f", size->length);
-       snprintf(pdf_height, sizeof(pdf_height), "%.0f", size->width);
-      }
-      else
-      {
-       snprintf(pdf_width, sizeof(pdf_width), "%.0f", size->width);
-       snprintf(pdf_height, sizeof(pdf_height), "%.0f", size->length);
-      }
-
-      pdf_argv[pdf_argc++] = (char *)"-paperw";
-      pdf_argv[pdf_argc++] = pdf_width;
-      pdf_argv[pdf_argc++] = (char *)"-paperh";
-      pdf_argv[pdf_argc++] = pdf_height;
-      pdf_argv[pdf_argc++] = (char *)"-expand";
-
-#else
-      if (orientation & 1)
-      {
-       snprintf(pdf_width, sizeof(pdf_width), "-dDEVICEWIDTHPOINTS=%.0f",
-                size->length);
-       snprintf(pdf_height, sizeof(pdf_height), "-dDEVICEHEIGHTPOINTS=%.0f",
-                size->width);
-      }
-      else
-      {
-       snprintf(pdf_width, sizeof(pdf_width), "-dDEVICEWIDTHPOINTS=%.0f",
-                size->width);
-       snprintf(pdf_height, sizeof(pdf_height), "-dDEVICEHEIGHTPOINTS=%.0f",
-                size->length);
-      }
-
-      pdf_argv[pdf_argc++] = pdf_width;
-      pdf_argv[pdf_argc++] = pdf_height;
-#endif /* HAVE_PDFTOPS */
-    }
-#if defined(HAVE_PDFTOPS) && defined(HAVE_PDFTOPS_WITH_ORIGPAGESIZES)
-    else
-    {
-     /*
-      *  Use the page sizes of the original PDF document, this way documents
-      *  which contain pages of different sizes can be printed correctly
-      */
-
-      pdf_argv[pdf_argc++] = (char *)"-origpagesizes";
-    }
-#endif /* HAVE_PDFTOPS && HAVE_PDFTOPS_WITH_ORIGPAGESIZES */
-  }
-
-#ifdef HAVE_PDFTOPS
-  pdf_argv[pdf_argc++] = filename;
-  pdf_argv[pdf_argc++] = (char *)"-";
-#else
-  pdf_argv[pdf_argc++] = (char *)"-c";
-  pdf_argv[pdf_argc++] = (char *)"save pop";
-  pdf_argv[pdf_argc++] = (char *)"-f";
-  pdf_argv[pdf_argc++] = filename;
-#endif /* HAVE_PDFTOPS */
-
-  pdf_argv[pdf_argc] = NULL;
-
- /*
-  * Execute "pdftops/gs | pstops"...
-  */
-
-  if (pipe(pstops_pipe))
-  {
-    perror("DEBUG: Unable to create pipe");
-
-    exit_status = 1;
-    goto error;
-  }
-
-  if ((pdf_pid = fork()) == 0)
-  {
-   /*
-    * Child comes here...
-    */
-
-    dup2(pstops_pipe[1], 1);
-    close(pstops_pipe[0]);
-    close(pstops_pipe[1]);
-
-#ifdef HAVE_PDFTOPS
-    execv(CUPS_PDFTOPS, pdf_argv);
-    perror("DEBUG: Unable to execute pdftops program");
-#else
-    execv(CUPS_GHOSTSCRIPT, pdf_argv);
-    perror("DEBUG: Unable to execute gs program");
-#endif /* HAVE_PDFTOPS */
-
-    exit(1);
-  }
-  else if (pdf_pid < 0)
-  {
-   /*
-    * Unable to fork!
-    */
-
-#ifdef HAVE_PDFTOPS
-    perror("DEBUG: Unable to execute pdftops program");
-#else
-    perror("DEBUG: Unable to execute gs program");
-#endif /* HAVE_PDFTOPS */
-
-    exit_status = 1;
-    goto error;
-  }
-
-  fprintf(stderr, "DEBUG: Started filter %s (PID %d)\n", pdf_argv[0], pdf_pid);
-
-  if ((pstops_pid = fork()) == 0)
-  {
-   /*
-    * Child comes here...
-    */
-
-    dup2(pstops_pipe[0], 0);
-    close(pstops_pipe[0]);
-    close(pstops_pipe[1]);
-
-    execv(pstops_path, pstops_argv);
-    perror("DEBUG: Unable to execute pstops program");
-
-    exit(1);
-  }
-  else if (pstops_pid < 0)
-  {
-   /*
-    * Unable to fork!
-    */
-
-    perror("DEBUG: Unable to execute pstops program");
-
-    exit_status = 1;
-    goto error;
-  }
-
-  fprintf(stderr, "DEBUG: Started filter pstops (PID %d)\n", pstops_pid);
-
-  close(pstops_pipe[0]);
-  close(pstops_pipe[1]);
-
- /*
-  * Wait for the child processes to exit...
-  */
-
-  wait_children = 2;
-
-  while (wait_children > 0)
-  {
-   /*
-    * Wait until we get a valid process ID or the job is canceled...
-    */
-
-    while ((wait_pid = wait(&wait_status)) < 0 && errno == EINTR)
-    {
-      if (job_canceled)
-      {
-       kill(pdf_pid, SIGTERM);
-       kill(pstops_pid, SIGTERM);
-
-       job_canceled = 0;
-      }
-    }
-
-    if (wait_pid < 0)
-      break;
-
-    wait_children --;
-
-   /*
-    * Report child status...
-    */
-
-    if (wait_status)
-    {
-      if (WIFEXITED(wait_status))
-      {
-       exit_status = WEXITSTATUS(wait_status);
-
-        fprintf(stderr, "DEBUG: PID %d (%s) stopped with status %d!\n",
-               wait_pid,
-#ifdef HAVE_PDFTOPS
-                wait_pid == pdf_pid ? "pdftops" : "pstops",
-#else
-                wait_pid == pdf_pid ? "gs" : "pstops",
-#endif /* HAVE_PDFTOPS */
-               exit_status);
-      }
-      else if (WTERMSIG(wait_status) == SIGTERM)
-      {
-        fprintf(stderr,
-               "DEBUG: PID %d (%s) was terminated normally with signal %d!\n",
-               wait_pid,
-#ifdef HAVE_PDFTOPS
-                wait_pid == pdf_pid ? "pdftops" : "pstops",
-#else
-                wait_pid == pdf_pid ? "gs" : "pstops",
-#endif /* HAVE_PDFTOPS */
-               exit_status);
-      }
-      else
-      {
-       exit_status = WTERMSIG(wait_status);
-
-        fprintf(stderr, "DEBUG: PID %d (%s) crashed on signal %d!\n", wait_pid,
-#ifdef HAVE_PDFTOPS
-                wait_pid == pdf_pid ? "pdftops" : "pstops",
-#else
-                wait_pid == pdf_pid ? "gs" : "pstops",
-#endif /* HAVE_PDFTOPS */
-               exit_status);
-      }
-    }
-    else
-    {
-      fprintf(stderr, "DEBUG: PID %d (%s) exited with no errors.\n", wait_pid,
-#ifdef HAVE_PDFTOPS
-             wait_pid == pdf_pid ? "pdftops" : "pstops");
-#else
-             wait_pid == pdf_pid ? "gs" : "pstops");
-#endif /* HAVE_PDFTOPS */
-    }
-  }
-
- /*
-  * Cleanup and exit...
-  */
-
-  error:
-
-  if (tempfile[0])
-    unlink(tempfile);
-
-  return (exit_status);
-}
-
-
-/*
- * 'cancel_job()' - Flag the job as canceled.
- */
-
-static void
-cancel_job(int sig)                    /* I - Signal number (unused) */
-{
-  (void)sig;
-
-  job_canceled = 1;
-}
-
-
-/*
- * End of "$Id: pdftops.c 9793 2011-05-20 03:49:49Z mike $".
- */
index a0fedcf..08e4c17 100644 (file)
@@ -1,9 +1,9 @@
 <!--
-  "$Id: postscript-driver.header 9344 2010-10-26 23:45:18Z mike $"
+  "$Id$"
 
   PostScript printer driver documentation for CUPS.
 
-  Copyright 2007-2010 by Apple Inc.
+  Copyright 2007-2012 by Apple Inc.
   Copyright 1997-2007 by Easy Software Products.
 
   These coded instructions, statements, and computer programs are the
@@ -15,7 +15,7 @@
 
 <h1 class='title'>Developing PostScript Printer Drivers</h1>
 
-<p>This document describes how to develop printer drivers for PostScript printers. Topics include: <a href='#BASICS'>printer driver basics</a>, <a href='#CREATE'>creating new PPD files</a>, <a href='#IMPORT'>importing existing PPD files</a>, <a href='#FILTERS'>using custom filters</a>, <a href='#COLOR'>implementing color management</a>, and <a href='#MACOSX'>adding Mac OS X features</a>.</p>
+<p>This document describes how to develop printer drivers for PostScript printers. Topics include: <a href='#BASICS'>printer driver basics</a>, <a href='#CREATE'>creating new PPD files</a>, <a href='#IMPORT'>importing existing PPD files</a>, <a href='#FILTERS'>using custom filters</a>, <a href='#COLOR'>implementing color management</a>, and <a href='#MACOSX'>adding OS X features</a>.</p>
 
 <div class='summary'><table summary='General Information'>
 <tbody>
index 439744f..5e93f85 100644 (file)
@@ -69,7 +69,7 @@
               dup [612 792] (Letter) put
               dup [612 1008] (Legal) put
               dup [595 842] (A4) put
-              {exch aload pop 4 index sub abs 5 le exch 
+              {exch aload pop 4 index sub abs 5 le exch
                5 index sub abs 5 le and
               {exch pop exit} {pop} ifelse
       } bind forall = flush pop pop
               dup [612 792] (Letter) put
               dup [612 1008] (Legal) put
               dup [595 842] (A4) put
-              {exch aload pop 4 index sub abs 5 le exch 
+              {exch aload pop 4 index sub abs 5 le exch
                5 index sub abs 5 le and
               {exch pop exit} {pop} ifelse
       } bind forall = flush pop pop
@@ -264,9 +264,9 @@ information file.</P>
 <p>The options used for profile selection can be customized using the <tt>cupsICCQualifier2</tt> and <tt>cupsICCQualifier3</tt> attributes.</p>
 
 
-<h2 class='title'><a name='MACOSX'>Adding Mac OS X Features</a></h2>
+<h2 class='title'><a name='MACOSX'>Adding OS X Features</a></h2>
 
-<p>Mac OS X printer drivers can provide <a href='spec-ppd.html#MACOSX'>additional attributes</a> to specify additional option panes in the print dialog, an image of the printer, a help book, and option presets for the driver software:</p>
+<p>OS X printer drivers can provide <a href='spec-ppd.html#MACOSX'>additional attributes</a> to specify additional option panes in the print dialog, an image of the printer, a help book, and option presets for the driver software:</p>
 
 <pre class='example'>
 <a href='ref-ppdcfile.html#Attribute'>Attribute</a> APDialogExtension "" /Library/Printers/Vendor/filename.plugin
index 5a36477..2caf3ae 100644 (file)
@@ -1,9 +1,9 @@
 <!--
-  "$Id: ppd-compiler.header 9344 2010-10-26 23:45:18Z mike $"
+  "$Id$"
 
   PPD compiler documentation for CUPS.
 
-  Copyright 2007-2010 by Apple Inc.
+  Copyright 2007-2012 by Apple Inc.
   Copyright 1997-2007 by Easy Software Products.
 
   These coded instructions, statements, and computer programs are the
 (PPD) file compiler. The PPD compiler generates PPD files from simple text files
 that describe the features and capabilities of one or more printers.</P>
 
+<BLOCKQUOTE><B>Note:</B>
+
+<P>The PPD compiler and related tools are deprecated and will be removed in a future release of CUPS.</P>
+
+</BLOCKQUOTE>
+
 <div class='summary'><table summary='General Information'>
 <tbody>
 <tr>
index c98b95c..dca2870 100644 (file)
@@ -205,7 +205,7 @@ follows:</P>
 
        <LI>Bits per color. In the example file, we define 8 bits per color, for
        a continuous-tone grayscale output. All versions of CUPS support 1 and
-       8 bits per color.  CUPS 1.2 and higher (Mac OS X 10.5 and higher) also
+       8 bits per color.  CUPS 1.2 and higher (OS X 10.5 and higher) also
        supports 16 bits per color.</LI>
 
        <LI>Rows per band. In the example file, we define 0 rows per band to
diff --git a/filter/pstext.c b/filter/pstext.c
deleted file mode 100644 (file)
index 536c394..0000000
+++ /dev/null
@@ -1,511 +0,0 @@
-/*
- * "$Id: pstext.c 9533 2011-02-16 21:33:17Z mike $"
- *
- *   Common PostScript text code for CUPS.
- *
- *   Copyright 2008-2010 by Apple Inc.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- *   This file is subject to the Apple OS-Developed Software exception.
- *
- * Contents:
- *
- *   psTextEmbedFonts() - Embed PostScript fonts.
- *   psTextListFonts()  - List PostScript fonts.
- *   psTextInitialize() - Load and embed font data for UTF-8 text.
- *   psTextUTF8()       - Output UTF-8 text at the current position.
- *   psTextUTF32()      - Output UTF-32 text at the current position.
- */
-
-/*
- * Include necessary headers...
- */
-
-#include "pstext.h"
-#include <cups/language-private.h>
-
-
-/*
- * Composite font names...
- */
-
-static const char * const ps_font_names[] =
-{
-  "cupsNormal",
-  "cupsBold",
-  "cupsItalic",
-  "cupsBoldItalic"
-};
-
-
-/*
- * 'psTextEmbedFonts()'- Embed PostScript fonts.
- */
-
-void
-psTextEmbedFonts(ps_text_t *fonts)     /* I - Font data */
-{
-  int          i, j;                   /* Looping vars */
-  const char   *cups_datadir;          /* CUPS_DATADIR environment variable */
-  char         *font;                  /* Current font */
-  char         filename[1024];         /* Current filename */
-  FILE         *fp;                    /* Current file */
-  char         line[1024];             /* Line from file */
-  int          ch;                     /* Character value */
-
-
- /*
-  * Get the data directory...
-  */
-
-  if ((cups_datadir = getenv("CUPS_DATADIR")) == NULL)
-    cups_datadir = CUPS_DATADIR;
-
- /*
-  * Embed each font...
-  */
-
-  for (font = (char *)cupsArrayFirst(fonts->unique);
-       font;
-       font = (char *)cupsArrayNext(fonts->unique))
-  {
-    printf("%%%%BeginResource: font %s\n", font);
-
-    snprintf(filename, sizeof(filename), "%s/fonts/%s", cups_datadir, font);
-    if ((fp = fopen(filename, "rb")) != NULL)
-    {
-      while ((j = fread(line, 1, sizeof(line), fp)) > 0)
-       fwrite(line, 1, j, stdout);
-
-      fclose(fp);
-    }
-    else
-    {
-      _cupsLangPrintError("ERROR", _("Unable to open print file"));
-      fprintf(stderr, "DEBUG: Unable to open \"%s\".\n", filename);
-    }
-
-    puts("\n%%EndResource");
-  }
-
- /*
-  * Write the encoding arrays...
-  */
-
-  puts("% Character encodings");
-
-  for (i = 0; i < fonts->num_fonts; i ++)
-  {
-    printf("/cupsEncoding%02x [\n", i);
-
-    for (ch = 0; ch < 256; ch ++)
-    {
-      if (fonts->glyphs[fonts->codes[i * 256 + ch]])
-       printf("/%s", fonts->glyphs[fonts->codes[i * 256 + ch]]);
-      else if (fonts->codes[i * 256 + ch] > 255)
-        printf("/uni%04X", fonts->codes[i * 256 + ch]);
-      else
-       printf("/.notdef");
-
-      if ((ch & 7) == 7)
-       putchar('\n');
-    }
-
-    puts("] def");
-  }
-
- /*
-  * Construct composite fonts...  Start by reencoding the base fonts...
-  */
-
-  puts("% Reencode base fonts");
-
-  for (i = 0; i < 4; i ++)
-    for (j = 0; j < fonts->num_fonts; j ++)
-    {
-      printf("/%s findfont\n", fonts->fonts[j][i]);
-      printf("dup length 1 add dict begin\n"
-            "  { 1 index /FID ne { def } { pop pop } ifelse } forall\n"
-            "  /Encoding cupsEncoding%02x def\n"
-            "  currentdict\n"
-            "end\n", j);
-      printf("/%s%02x exch definefont /%s%02x exch def\n", ps_font_names[i], j,
-            ps_font_names[i], j);
-    }
-
- /*
-  * Then merge them into composite fonts...
-  */
-
-  puts("% Create composite fonts");
-
-  for (i = 0; i < 4; i ++)
-  {
-    puts("8 dict begin");
-    puts("/FontType 0 def/FontMatrix[1.0 0 0 1.0 0 0]def/FMapType 2 def"
-         "/Encoding[");
-    for (j = 0; j < fonts->num_fonts; j ++)
-      if (j == (fonts->num_fonts - 1))
-       printf("%d", j);
-      else if ((j & 15) == 15)
-       printf("%d\n", j);
-      else
-       printf("%d ", j);
-    puts("]def/FDepVector[");
-    for (j = 0; j < fonts->num_fonts; j ++)
-      if (j == (fonts->num_fonts - 1))
-       printf("%s%02x", ps_font_names[i], j);
-      else if ((j & 3) == 3)
-       printf("%s%02x\n", ps_font_names[i], j);
-      else
-       printf("%s%02x ", ps_font_names[i], j);
-    puts("]def currentdict end");
-    printf("/%s exch definefont pop\n", ps_font_names[i]);
-  }
-
- /*
-  * Procedures...
-  */
-
-  puts("% Procedures to justify text...\n"
-       "/showcenter{dup stringwidth pop -0.5 mul 0 rmoveto show}bind def\n"
-       "/showleft{show}bind def\n"
-       "/showright{dup stringwidth pop neg 0 rmoveto show}bind def");
-}
-
-
-/*
- * 'psTextListFonts()' - List PostScript fonts.
- */
-
-void
-psTextListFonts(ps_text_t *fonts)      /* I - Font data */
-{
-  char *font;                          /* Current font */
-
-
-  font = (char *)cupsArrayFirst(fonts->unique);
-  printf("%%%%DocumentSuppliedResources: font %s\n", font);
-  while ((font = (char *)cupsArrayNext(fonts->unique)) != NULL)
-    printf("%%%%+ font %s\n", font);
-}
-
-
-/*
- * 'psTextInitialize()' - Load and embed font data for UTF-8 text.
- */
-
-ps_text_t *                            /* O - Font data */
-psTextInitialize(void)
-{
-  ps_text_t    *fonts;                 /* Font data */
-  int          i, j;                   /* Looping vars */
-  char         filename[1024];         /* Current filename */
-  FILE         *fp;                    /* Current file */
-  const char   *cups_datadir;          /* CUPS_DATADIR environment variable */
-  char         line[1024],             /* Line from file */
-               *lineptr,               /* Pointer into line */
-               *valptr;                /* Pointer to value in line */
-  int          unicode;                /* Character value */
-  int          start, end;             /* Start and end values for range */
-  char         glyph[64];              /* Glyph name */
-
-
- /*
-  * Get the data directory...
-  */
-
-  if ((cups_datadir = getenv("CUPS_DATADIR")) == NULL)
-    cups_datadir = CUPS_DATADIR;
-
- /*
-  * Initialize the PostScript text data...
-  */
-
-  fonts        = (ps_text_t *)calloc(1, sizeof(ps_text_t));
-  fonts->size  = -1.0;
-  fonts->style = -1;
-
- /*
-  * Load the PostScript glyph names...
-  */
-
-  snprintf(filename, sizeof(filename), "%s/data/psglyphs", cups_datadir);
-
-  if ((fp = fopen(filename, "r")) != NULL)
-  {
-    while (fscanf(fp, "%x%63s", &unicode, glyph) == 2)
-      fonts->glyphs[unicode] = _cupsStrAlloc(glyph);
-
-    fclose(fp);
-  }
-  else
-  {
-    _cupsLangPrintError("ERROR", _("Unable to open print file"));
-    fprintf(stderr, "DEBUG: Unable to open \"%s\".\n", filename);
-    exit(1);
-  }
-
- /*
-  * Open the UTF-8 character set definition...
-  */
-
-  snprintf(filename, sizeof(filename), "%s/charsets/utf-8", cups_datadir);
-
-  if ((fp = fopen(filename, "r")) == NULL)
-  {
-   /*
-    * Can't open charset file!
-    */
-
-    _cupsLangPrintError("ERROR", _("Unable to open print file"));
-    fprintf(stderr, "DEBUG: Unable to open \"%s\".\n", filename);
-    exit(1);
-  }
-
-  if (!fgets(line, sizeof(line), fp) || strncmp(line, "charset utf8", 12))
-  {
-   /*
-    * Bad/empty charset file!
-    */
-
-    fclose(fp);
-    _cupsLangPrintFilter(stderr, "ERROR", _("Bad charset file \"%s\"."),
-                         filename);
-    exit(1);
-  }
-
- /*
-  * Read the font descriptions...
-  */
-
-  fonts->unique = cupsArrayNew((cups_array_func_t)strcmp, NULL);
-
-  while (fgets(line, sizeof(line), fp) != NULL)
-  {
-   /*
-    * Skip comment and blank lines...
-    */
-
-    if (line[0] == '#' || line[0] == '\n')
-      continue;
-
-   /*
-    * Read the font descriptions that should look like:
-    *
-    *   start end direction width normal [bold italic bold-italic]
-    */
-
-    lineptr = line;
-
-    start = strtol(lineptr, &lineptr, 16);
-    end   = strtol(lineptr, &lineptr, 16);
-
-    while (isspace(*lineptr & 255))
-      lineptr ++;
-
-    valptr = lineptr;
-
-    while (!isspace(*lineptr & 255) && *lineptr)
-      lineptr ++;
-
-    if (!*lineptr)
-    {
-     /*
-      * Can't have a font without all required values...
-      */
-
-      _cupsLangPrintFilter(stderr, "ERROR",
-                           _("Bad font description line \"%s\"."), valptr);
-      fclose(fp);
-      exit(1);
-    }
-
-    *lineptr++ = '\0';
-
-    if (!strcmp(valptr, "ltor"))
-      fonts->directions[fonts->num_fonts] = 1;
-    else if (!strcmp(valptr, "rtol"))
-      fonts->directions[fonts->num_fonts] = -1;
-    else
-    {
-      _cupsLangPrintFilter(stderr, "ERROR", _("Bad text direction \"%s\"."),
-                           valptr);
-      fclose(fp);
-      exit(1);
-    }
-
-   /*
-    * Got the direction, now get the width...
-    */
-
-    while (isspace(*lineptr & 255))
-      lineptr ++;
-
-    valptr = lineptr;
-
-    while (!isspace(*lineptr & 255) && *lineptr)
-      lineptr ++;
-
-    if (!*lineptr)
-    {
-     /*
-      * Can't have a font without all required values...
-      */
-
-      _cupsLangPrintFilter(stderr, "ERROR",
-                           _("Bad font description line \"%s\"."), valptr);
-      fclose(fp);
-      exit(1);
-    }
-
-    *lineptr++ = '\0';
-
-    if (!strcmp(valptr, "single"))
-      fonts->widths[fonts->num_fonts] = 1;
-    else if (!strcmp(valptr, "double"))
-      fonts->widths[fonts->num_fonts] = 2;
-    else 
-    {
-      _cupsLangPrintFilter(stderr, "ERROR", _("Bad text width \"%s\"."),
-                           valptr);
-      fclose(fp);
-      exit(1);
-    }
-
-   /*
-    * Get the fonts...
-    */
-
-    for (i = 0; *lineptr && i < 4; i ++)
-    {
-      while (isspace(*lineptr & 255))
-       lineptr ++;
-
-      valptr = lineptr;
-
-      while (!isspace(*lineptr & 255) && *lineptr)
-       lineptr ++;
-
-      if (*lineptr)
-       *lineptr++ = '\0';
-
-      if (lineptr > valptr)
-      {
-        if (!cupsArrayFind(fonts->unique, valptr))
-         cupsArrayAdd(fonts->unique, _cupsStrAlloc(valptr));
-
-       fonts->fonts[fonts->num_fonts][i] = _cupsStrAlloc(valptr);
-      }
-    }
-
-   /*
-    * Fill in remaining fonts as needed...
-    */
-
-    for (j = i; j < 4; j ++)
-      fonts->fonts[fonts->num_fonts][j] =
-          _cupsStrAlloc(fonts->fonts[fonts->num_fonts][0]);
-
-   /*
-    * Define the character mappings...
-    */
-
-    for (i = start, j = fonts->num_fonts * 256; i <= end; i ++, j ++)
-    {
-      fonts->chars[i] = j;
-      fonts->codes[j] = i;
-    }
-
-   /*
-    * Move to the next font, stopping if needed...
-    */
-
-    fonts->num_fonts ++;
-    if (fonts->num_fonts >= 256)
-      break;
-  }
-
-  fclose(fp);
-
-  if (cupsArrayCount(fonts->unique) == 0)
-  {
-    _cupsLangPrintFilter(stderr, "ERROR", _("No fonts in charset file."));
-    exit(1);
-  }
-
-  return (fonts);
-}
-
-
-/*
- * 'psTextUTF8()' - Output UTF-8 text at the current position.
- */
-
-void
-psTextUTF8(ps_text_t  *fonts,          /* I - Font data */
-           float      size,            /* I - Size in points */
-          int        style,            /* I - Style */
-          int        align,            /* I - Alignment */
-          const char *text)            /* I - UTF-8 text */
-{
-  cups_utf32_t utf32[2048];            /* Temporary buffer */
-  int          utf32len;               /* Number of characters */
-
-
-  if (!text)
-  {
-    puts("");
-    return;
-  }
-
-  if ((utf32len = cupsUTF8ToUTF32(utf32, (cups_utf8_t *)text,
-                                  (int)(sizeof(utf32) / sizeof(utf32[0])))) > 0)
-    psTextUTF32(fonts, size, style, align, utf32, utf32len);
-}
-
-
-/*
- * 'psTextUTF32()' - Output UTF-32 text at the current position.
- */
-
-void
-psTextUTF32(ps_text_t          *fonts, /* I - Font data */
-            float              size,   /* I - Size in points */
-           int                style,   /* I - Font style */
-           int                align,   /* I - Alignment */
-           const cups_utf32_t *text,   /* I - UTF-32 text */
-           int                textlen) /* I - Length of text */
-{
-  if (size != fonts->size || style != fonts->style)
-  {
-    printf("/%s findfont %g scalefont setfont\n", ps_font_names[style], size);
-    fonts->size  = size;
-    fonts->style = style;
-  }
-
-  putchar('<');
-  while (textlen > 0)
-  {
-    printf("%04x", fonts->chars[*text]);
-    text ++;
-    textlen --;
-  }
-
-  if (align == PS_CENTER)
-    puts(">showcenter");
-  else if (align == PS_RIGHT)
-    puts(">showright");
-  else
-    puts(">showleft");
-}
-
-
-/*
- * End of "$Id: pstext.c 9533 2011-02-16 21:33:17Z mike $".
- */
diff --git a/filter/pstext.h b/filter/pstext.h
deleted file mode 100644 (file)
index a8ff4cb..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * "$Id: pstext.h 9042 2010-03-24 00:45:34Z mike $"
- *
- *   Common PostScript text definitions for CUPS.
- *
- *   Copyright 2008-2010 by Apple Inc.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- *   This file is subject to the Apple OS-Developed Software exception.
- */
-
-/*
- * Include necessary headers...
- */
-
-#include "common.h"
-#include <cups/transcode.h>
-
-
-/*
- * Constants...
- */
-
-#define PS_NORMAL      0       /* Normal text */
-#define PS_BOLD                1       /* Bold text */
-#define PS_ITALIC      2       /* Italic text */
-#define PS_BOLDITALIC  3       /* Bold italic text */
-
-#define PS_LEFT                1       /* Left-justified text */
-#define PS_CENTER      0       /* Center-justified text */
-#define PS_RIGHT       -1      /* Right-justified text */
-
-
-/*
- * Structures...
- */
-
-typedef struct ps_text_s       /**** PostScript font data ****/
-{
-  char         *glyphs[65536]; /* PostScript glyphs for Unicode */
-  int          num_fonts;      /* Number of fonts to use */
-  char         *fonts[256][4]; /* Fonts to use */
-  cups_array_t *unique;        /* Unique fonts */
-  unsigned short chars[65536], /* 0xffcc (ff = font, cc = char) */
-               codes[65536];   /* Unicode glyph mapping to fonts */
-  int          widths[256],    /* Widths of each font */
-               directions[256];/* Text directions for each font */
-  float                size;           /* Current text size */
-  int          style;          /* Current text style */
-} ps_text_t;
-
-
-/*
- * Functions...
- */
-
-extern void            psTextEmbedFonts(ps_text_t *fonts);
-extern void            psTextListFonts(ps_text_t *fonts);
-extern ps_text_t       *psTextInitialize(void);
-extern void            psTextUTF8(ps_text_t *fonts, float size, int style,
-                                  int align, const char *text);
-extern void            psTextUTF32(ps_text_t *fonts, float size, int style,
-                                   int align, const cups_utf32_t *text,
-                                   int textlen);
-
-
-/*
- * End of "$Id: pstext.h 9042 2010-03-24 00:45:34Z mike $".
- */
index a7bcc07..3f7d0f4 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: pstops.c 9955 2011-09-02 18:14:34Z mike $"
+ * "$Id: pstops.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   PostScript filter for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1993-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -126,11 +126,9 @@ typedef struct                             /**** Document information ****/
                *ap_media_type,         /* AP_FIRSTPAGE_MediaType value */
                *ap_page_region,        /* AP_FIRSTPAGE_PageRegion value */
                *ap_page_size;          /* AP_FIRSTPAGE_PageSize value */
-  float                brightness;             /* brightness value */
   int          collate,                /* Collate copies? */
                emit_jcl,               /* Emit JCL commands? */
-               fitplot;                /* Fit pages to media */
-  float                gamma;                  /* gamma value */
+               fit_to_page;            /* Fit pages to media */
   const char   *input_slot,            /* InputSlot value */
                *manual_feed,           /* ManualFeed value */
                *media_color,           /* MediaColor value */
@@ -200,10 +198,7 @@ static ssize_t             copy_trailer(cups_file_t *fp, pstops_doc_t *doc,
 static void            do_prolog(pstops_doc_t *doc, ppd_file_t *ppd);
 static void            do_setup(pstops_doc_t *doc, ppd_file_t *ppd);
 static void            doc_printf(pstops_doc_t *doc, const char *format, ...)
-#ifdef __GNUC__
-__attribute__ ((__format__ (__printf__, 2, 3)))
-#endif /* __GNUC__ */
-;
+                       __attribute__ ((__format__ (__printf__, 2, 3)));
 static void            doc_puts(pstops_doc_t *doc, const char *s);
 static void            doc_write(pstops_doc_t *doc, const char *s, size_t len);
 static void            end_nup(pstops_doc_t *doc, int number);
@@ -266,7 +261,7 @@ main(int  argc,                             /* I - Number of command-line args */
   if (argc < 6 || argc > 7)
   {
     _cupsLangPrintf(stderr,
-                    _("Usage: %s job-id user title copies options file"),
+                    _("Usage: %s job-id user title copies options [file]"),
                     argv[0]);
     return (1);
   }
@@ -983,7 +978,7 @@ copy_dsc(cups_file_t  *fp,          /* I - File to read from */
 
         puts("%%Trailer");
        printf("%%%%Pages: %d\n", cupsArrayCount(doc->pages));
-       if (doc->number_up > 1 || doc->fitplot)
+       if (doc->number_up > 1 || doc->fit_to_page)
          printf("%%%%BoundingBox: %.0f %.0f %.0f %.0f\n",
                 PageLeft, PageBottom, PageRight, PageTop);
        else
@@ -1387,7 +1382,7 @@ copy_page(cups_file_t  *fp,               /* I - File to read from */
         memcpy(bounding_box, doc->bounding_box,
               sizeof(bounding_box));
       }
-      else if (doc->number_up == 1 && !doc->fitplot  && Orientation)
+      else if (doc->number_up == 1 && !doc->fit_to_page  && Orientation)
       {
         int    temp_bbox[4];           /* Temporary bounding box */
 
@@ -1485,7 +1480,7 @@ copy_page(cups_file_t  *fp,               /* I - File to read from */
       * %%IncludeFeature: *MainKeyword OptionKeyword
       */
 
-      if (doc->number_up == 1 &&!doc->fitplot)
+      if (doc->number_up == 1 &&!doc->fit_to_page)
        pageinfo->num_options = include_feature(ppd, line,
                                                pageinfo->num_options,
                                                &(pageinfo->options));
@@ -1562,14 +1557,14 @@ copy_page(cups_file_t  *fp,             /* I - File to read from */
       {
        feature = 1;
 
-       if (doc->number_up > 1 || doc->fitplot)
+       if (doc->number_up > 1 || doc->fit_to_page)
          continue;
       }
       else if (!strncmp(line, "%%EndFeature", 12))
       {
        feature = 0;
 
-       if (doc->number_up > 1 || doc->fitplot)
+       if (doc->number_up > 1 || doc->fit_to_page)
          continue;
       }
       else if (!strncmp(line, "%%IncludeFeature:", 17))
@@ -1585,7 +1580,7 @@ copy_page(cups_file_t  *fp,               /* I - File to read from */
       if (line[0] != '%' && !feature)
         break;
 
-      if (!feature || (doc->number_up == 1 && !doc->fitplot))
+      if (!feature || (doc->number_up == 1 && !doc->fit_to_page))
        doc_write(doc, line, linelen);
     }
 
@@ -1808,7 +1803,7 @@ copy_setup(cups_file_t  *fp,              /* I - File to read from */
        * %%IncludeFeature: *MainKeyword OptionKeyword
        */
 
-        if (doc->number_up == 1 && !doc->fitplot)
+        if (doc->number_up == 1 && !doc->fit_to_page)
          num_options = include_feature(ppd, line, num_options, &options);
       }
       else if (strncmp(line, "%%BeginSetup", 12))
@@ -1873,7 +1868,7 @@ copy_trailer(cups_file_t  *fp,            /* I - File to read from */
   fprintf(stderr, "DEBUG: Wrote %d pages...\n", number);
 
   printf("%%%%Pages: %d\n", number);
-  if (doc->number_up > 1 || doc->fitplot)
+  if (doc->number_up > 1 || doc->fit_to_page)
     printf("%%%%BoundingBox: %.0f %.0f %.0f %.0f\n",
           PageLeft, PageBottom, PageRight, PageTop);
   else
@@ -1991,16 +1986,6 @@ do_setup(pstops_doc_t *doc,              /* I - Document information */
   }
 
  /*
-  * Changes to the transfer function must be made AFTER any
-  * setpagedevice code...
-  */
-
-  if (doc->gamma != 1.0f || doc->brightness != 1.0f)
-    doc_printf(doc, "{ neg 1 add dup 0 lt { pop 1 } { %.3f exp neg 1 add } "
-                   "ifelse %.3f mul } bind settransfer\n",
-              doc->gamma, doc->brightness);
-
- /*
   * Make sure we have rectclip and rectstroke procedures of some sort...
   */
 
@@ -2345,6 +2330,7 @@ set_pstops_options(
   ppd_option_t *option;                /* PPD option */
   ppd_choice_t *choice;                /* PPD choice */
   const char   *content_type;          /* Original content type */
+  int          max_copies;             /* Maximum number of copies supported */
 
 
  /*
@@ -2402,31 +2388,6 @@ set_pstops_options(
     doc->page_size = choice->choice;
 
  /*
-  * brightness
-  */
-
-  if ((val = cupsGetOption("brightness", num_options, options)) != NULL)
-  {
-   /*
-    * Get brightness value from 10 to 1000.
-    */
-
-    intval = atoi(val);
-
-    if (intval < 10 || intval > 1000)
-    {
-      _cupsLangPrintFilter(stderr, "ERROR",
-                           _("Unsupported brightness value %s, using "
-                            "brightness=100."), val);
-      doc->brightness = 1.0f;
-    }
-    else
-      doc->brightness = intval * 0.01f;
-  }
-  else
-    doc->brightness = 1.0f;
-
- /*
   * collate, multiple-document-handling
   */
 
@@ -2461,7 +2422,7 @@ set_pstops_options(
     doc->emit_jcl = 1;
 
  /*
-  * fitplot/fit-to-page/ipp-attribute-fidelity
+  * fit-to-page/ipp-attribute-fidelity
   *
   * (Only for original PostScript content)
   */
@@ -2471,44 +2432,16 @@ set_pstops_options(
 
   if (!_cups_strcasecmp(content_type, "application/postscript"))
   {
-    if ((val = cupsGetOption("fitplot", num_options, options)) != NULL &&
+    if ((val = cupsGetOption("fit-to-page", num_options, options)) != NULL &&
        !_cups_strcasecmp(val, "true"))
-      doc->fitplot = 1;
-    else if ((val = cupsGetOption("fit-to-page", num_options, options)) != NULL &&
-            !_cups_strcasecmp(val, "true"))
-      doc->fitplot = 1;
+      doc->fit_to_page = 1;
     else if ((val = cupsGetOption("ipp-attribute-fidelity", num_options,
                                   options)) != NULL &&
             !_cups_strcasecmp(val, "true"))
-      doc->fitplot = 1;
+      doc->fit_to_page = 1;
   }
 
  /*
-  * gamma
-  */
-
-  if ((val = cupsGetOption("gamma", num_options, options)) != NULL)
-  {
-   /*
-    * Get gamma value from 1 to 10000...
-    */
-
-    intval = atoi(val);
-
-    if (intval < 1 || intval > 10000)
-    {
-      _cupsLangPrintFilter(stderr, "ERROR",
-                           _("Unsupported gamma value %s, using gamma=1000."),
-                          val);
-      doc->gamma = 1.0f;
-    }
-    else
-      doc->gamma = intval * 0.001f;
-  }
-  else
-    doc->gamma = 1.0f;
-
- /*
   * mirror/MirrorPrint
   */
 
@@ -2657,7 +2590,16 @@ set_pstops_options(
   * Now figure out if we have to force collated copies, etc.
   */
 
-  if (ppd && ppd->manual_copies && Duplex && doc->copies > 1)
+  if ((attr = ppdFindAttr(ppd, "cupsMaxCopies", NULL)) != NULL)
+    max_copies = atoi(attr->value);
+  else if (ppd && ppd->manual_copies)
+    max_copies = 1;
+  else
+    max_copies = 9999;
+
+  if (doc->copies > max_copies)
+    doc->collate = 1;
+  else if (ppd && ppd->manual_copies && Duplex && doc->copies > 1)
   {
    /*
     * Force collated copies when printing a duplexed document to
@@ -2681,7 +2623,8 @@ set_pstops_options(
 
     doc->slow_collate = 1;
 
-    if ((choice = ppdFindMarkedChoice(ppd, "Collate")) != NULL &&
+    if (doc->copies <= max_copies &&
+        (choice = ppdFindMarkedChoice(ppd, "Collate")) != NULL &&
         !_cups_strcasecmp(choice->choice, "True"))
     {
      /*
@@ -2838,7 +2781,7 @@ start_nup(pstops_doc_t *doc,              /* I - Document information */
   pagew = PageRight - PageLeft;
   pagel = PageTop - PageBottom;
 
-  if (doc->fitplot)
+  if (doc->fit_to_page)
   {
     bboxx = bounding_box[0];
     bboxy = bounding_box[1];
@@ -2885,18 +2828,18 @@ start_nup(pstops_doc_t *doc,            /* I - Document information */
     doc_printf(doc, "%.1f 0.0 translate -1 1 scale\n", PageWidth);
 
  /*
-  * Offset and scale as necessary for fitplot/fit-to-page/number-up...
+  * Offset and scale as necessary for fit_to_page/fit-to-page/number-up...
   */
 
   if (Duplex && doc->number_up > 1 && ((number / doc->number_up) & 1))
     doc_printf(doc, "%.1f %.1f translate\n", PageWidth - PageRight, PageBottom);
-  else if (doc->number_up > 1 || doc->fitplot)
+  else if (doc->number_up > 1 || doc->fit_to_page)
     doc_printf(doc, "%.1f %.1f translate\n", PageLeft, PageBottom);
 
   switch (doc->number_up)
   {
     default :
-        if (doc->fitplot)
+        if (doc->fit_to_page)
        {
           w = pagew;
           l = w * bboxl / bboxw;
@@ -3222,7 +3165,7 @@ start_nup(pstops_doc_t *doc,              /* I - Document information */
     doc_puts(doc, "grestore\n");
   }
 
-  if (doc->fitplot)
+  if (doc->fit_to_page)
   {
    /*
     * Offset the page by its bounding box...
@@ -3232,7 +3175,7 @@ start_nup(pstops_doc_t *doc,              /* I - Document information */
                -bounding_box[1]);
   }
 
-  if (doc->fitplot || doc->number_up > 1)
+  if (doc->fit_to_page || doc->number_up > 1)
   {
    /*
     * Clip the page to the page's bounding box...
@@ -3486,5 +3429,5 @@ write_options(
 
 
 /*
- * End of "$Id: pstops.c 9955 2011-09-02 18:14:34Z mike $".
+ * End of "$Id: pstops.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index e85c2a9..b15c50d 100644 (file)
@@ -1,9 +1,9 @@
 <!--
-  "$Id: raster-driver.header 9344 2010-10-26 23:45:18Z mike $"
+  "$Id$"
 
   Raster printer driver documentation for CUPS.
 
-  Copyright 2007-2010 by Apple Inc.
+  Copyright 2007-2012 by Apple Inc.
   Copyright 1997-2007 by Easy Software Products.
 
   These coded instructions, statements, and computer programs are the
@@ -15,7 +15,7 @@
 
 <h1 class='title'>Developing Raster Printer Drivers</h1>
 
-<p>This document describes how to develop printer drivers for raster printers. Topics include: <a href='#BASICS'>printer driver basics</a>, <a href='#CREATE'>creating new PPD files</a>, <a href='#FILTERS'>using filters</a>, <a href='#COLOR'>implementing color management</a>, and <a href='#MACOSX'>adding Mac OS X features</a>.</p>
+<p>This document describes how to develop printer drivers for raster printers. Topics include: <a href='#BASICS'>printer driver basics</a>, <a href='#CREATE'>creating new PPD files</a>, <a href='#FILTERS'>using filters</a>, <a href='#COLOR'>implementing color management</a>, and <a href='#MACOSX'>adding OS X features</a>.</p>
 
 <div class='summary'><table summary='General Information'>
 <tbody>
index 1c0c32a..f56982a 100644 (file)
 
 <p>The options used for profile selection can be customized using the <tt>cupsICCQualifier2</tt> and <tt>cupsICCQualifier3</tt> attributes.</p>
 
-<h3><span class='info'>Since Mac OS X 10.5</span>Custom Color Matching Support</h3>
+<h3><span class='info'>Since OS X 10.5</span>Custom Color Matching Support</h3>
 
-<p>Mac OS X printer drivers that are based on an existing standard RGB colorspace can tell the system to use the corresponding colorspace instead of an arbitrary ICC color profile when doing color management. The <a href='#APCustom'><tt>APSupportsCustomColorMatching</tt></a> and <tt>APDefaultCustomColorMatchingProfile</tt> attributes can be used to enable this mode:</p>
+<p>OS X printer drivers that are based on an existing standard RGB colorspace can tell the system to use the corresponding colorspace instead of an arbitrary ICC color profile when doing color management. The <a href='#APCustom'><tt>APSupportsCustomColorMatching</tt></a> and <tt>APDefaultCustomColorMatchingProfile</tt> attributes can be used to enable this mode:</p>
 
 <pre class='example'>
 <a href='ref-ppdcfile.html#Attribute'>Attribute</a> APSupportsCustomColorMatching "" true
 </pre>
 
 
-<h2 class='title'><a name='MACOSX'>Adding Mac OS X Features</a></h2>
+<h2 class='title'><a name='MACOSX'>Adding OS X Features</a></h2>
 
-<p>Mac OS X printer drivers can provide <a href='spec-ppd.html#MACOSX'>additional attributes</a> to specify additional option panes in the print dialog, an image of the printer, a help book, and option presets for the driver software:</p>
+<p>OS X printer drivers can provide <a href='spec-ppd.html#MACOSX'>additional attributes</a> to specify additional option panes in the print dialog, an image of the printer, a help book, and option presets for the driver software:</p>
 
 <pre class='example'>
 <a href='ref-ppdcfile.html#Attribute'>Attribute</a> APDialogExtension "" /Library/Printers/Vendor/filename.plugin
index 4ab189b..29522e5 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: raster.c 10006 2011-09-20 18:36:33Z mike $"
+ * "$Id: raster.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Raster file routines for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products.
  *
  *   This file is part of the CUPS Imaging library.
  * Include necessary headers...
  */
 
-#include "image-private.h"
-#if defined(WIN32) || defined(__EMX__)
-#  include <io.h>
-#  include <winsock2.h>                        /* for htonl() definition */
-#else
-#  include <unistd.h>
-#endif /* WIN32 || __EMX__ */
+#include <cups/raster-private.h>
+#ifdef HAVE_STDINT_H
+#  include <stdint.h>
+#endif /* HAVE_STDINT_H */
 
 
 /*
@@ -300,7 +297,7 @@ cupsRasterReadHeader(
  * 'cupsRasterReadHeader2()' - Read a raster page header and store it in a
  *                             version 2 page header structure.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 unsigned                               /* O - 1 on success, 0 on failure/end-of-file */
@@ -510,7 +507,7 @@ cupsRasterReadPixels(cups_raster_t *r,      /* I - Raster stream */
       * Copy fragment from buffer...
       */
 
-      if ((unsigned)(bytes = r->pend - r->pcurrent) > remaining)
+      if ((unsigned)(bytes = (int)(r->pend - r->pcurrent)) > remaining)
         bytes = remaining;
 
       memcpy(p, r->pcurrent, bytes);
@@ -654,7 +651,7 @@ cupsRasterWriteHeader(
  *
  * The page header can be initialized using @link cupsRasterInterpretPPD@.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 unsigned                               /* O - 1 on success, 0 on failure */
@@ -836,8 +833,8 @@ cupsRasterWritePixels(cups_raster_t *r,     /* I - Raster stream */
     * Figure out the number of remaining bytes on the current line...
     */
 
-    if ((bytes = remaining) > (r->pend - r->pcurrent))
-      bytes = r->pend - r->pcurrent;
+    if ((bytes = remaining) > (int)(r->pend - r->pcurrent))
+      bytes = (int)(r->pend - r->pcurrent);
 
     if (r->count > 0)
     {
@@ -1053,8 +1050,10 @@ cups_raster_read(cups_raster_t *r,       /* I - Raster stream */
 
   if ((size_t)count > r->bufsize)
   {
-    int offset = r->bufptr - r->buffer;        /* Offset to current start of buffer */
-    int end = r->bufend - r->buffer;   /* Offset to current end of buffer */
+    int offset = (int)(r->bufptr - r->buffer);
+                                       /* Offset to current start of buffer */
+    int end = (int)(r->bufend - r->buffer);
+                                       /* Offset to current end of buffer */
     unsigned char *rptr;               /* Pointer in read buffer */
 
     if (r->buffer)
@@ -1075,7 +1074,7 @@ cups_raster_read(cups_raster_t *r,        /* I - Raster stream */
   * Loop until we have read everything...
   */
 
-  for (total = 0, remaining = r->bufend - r->bufptr;
+  for (total = 0, remaining = (int)(r->bufend - r->bufptr);
        total < bytes;
        total += count, buf += count)
   {
@@ -1393,7 +1392,7 @@ cups_raster_write(
     }
   }
 
-  return (cups_raster_io(r, r->buffer, wptr - r->buffer));
+  return (cups_raster_io(r, r->buffer, (int)(wptr - r->buffer)));
 }
 
 
@@ -1411,7 +1410,11 @@ cups_read_fd(void          *ctx, /* I - File descriptor as pointer */
   ssize_t      count;                  /* Number of bytes read */
 
 
+#ifdef WIN32 /* Sigh */
+  while ((count = read(fd, buf, (unsigned)bytes)) < 0)
+#else
   while ((count = read(fd, buf, bytes)) < 0)
+#endif /* WIN32 */
     if (errno != EINTR && errno != EAGAIN)
       return (-1);
 
@@ -1459,7 +1462,11 @@ cups_write_fd(void          *ctx,        /* I - File descriptor pointer */
   ssize_t      count;                  /* Number of bytes written */
 
 
+#ifdef WIN32 /* Sigh */
+  while ((count = write(fd, buf, (unsigned)bytes)) < 0)
+#else
   while ((count = write(fd, buf, bytes)) < 0)
+#endif /* WIN32 */
     if (errno != EINTR && errno != EAGAIN)
       return (-1);
 
@@ -1468,5 +1475,5 @@ cups_write_fd(void          *ctx, /* I - File descriptor pointer */
 
 
 /*
- * End of "$Id: raster.c 10006 2011-09-20 18:36:33Z mike $".
+ * End of "$Id: raster.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 660f451..b21df91 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: rasterbench.c 9771 2011-05-12 05:21:56Z mike $"
+ * "$Id: rasterbench.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Raster benchmark program for CUPS.
  *
@@ -351,5 +351,5 @@ write_test(int         fd,          /* I - File descriptor to write to */
 
 
 /*
- * End of "$Id: rasterbench.c 9771 2011-05-12 05:21:56Z mike $".
+ * End of "$Id: rasterbench.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 533c7eb..8533b77 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: rastertoepson.c 9384 2010-11-22 07:06:39Z mike $"
+ * "$Id: rastertoepson.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   EPSON ESC/P and ESC/P2 filter for CUPS.
  *
- *   Copyright 2007-2010 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1993-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -1148,13 +1148,10 @@ main(int  argc,                         /* I - Number of command-line arguments */
     return (1);
   }
   else
-  {
-    _cupsLangPrintFilter(stderr, "INFO", _("Ready to print."));
     return (0);
-  }
 }
 
 
 /*
- * End of "$Id: rastertoepson.c 9384 2010-11-22 07:06:39Z mike $".
+ * End of "$Id: rastertoepson.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index af9583b..e016e5f 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: rastertohp.c 9384 2010-11-22 07:06:39Z mike $"
+ * "$Id: rastertohp.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Hewlett-Packard Page Control Language filter for CUPS.
  *
- *   Copyright 2007-2010 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1993-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -877,13 +877,10 @@ main(int  argc,                           /* I - Number of command-line arguments */
     return (1);
   }
   else
-  {
-    _cupsLangPrintFilter(stderr, "INFO", _("Ready to print."));
     return (0);
-  }
 }
 
 
 /*
- * End of "$Id: rastertohp.c 9384 2010-11-22 07:06:39Z mike $".
+ * End of "$Id: rastertohp.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index e413d7d..cb2847c 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: rastertolabel.c 9774 2011-05-12 06:15:14Z mike $"
+ * "$Id: rastertolabel.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Label printer filter for CUPS.
  *
- *   Copyright 2007-2010 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 2001-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -1303,13 +1303,10 @@ main(int  argc,                         /* I - Number of command-line arguments */
     return (1);
   }
   else
-  {
-    _cupsLangPrintFilter(stderr, "INFO", _("Ready to print."));
     return (0);
-  }
 }
 
 
 /*
- * End of "$Id: rastertolabel.c 9774 2011-05-12 06:15:14Z mike $".
+ * End of "$Id: rastertolabel.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index d4d67cd..7011885 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: rastertopwg.c 10006 2011-09-20 18:36:33Z mike $"
+ * "$Id: rastertopwg.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   CUPS raster to PWG raster format filter for CUPS.
  *
@@ -457,5 +457,5 @@ main(int  argc,                             /* I - Number of command-line args */
 
 
 /*
- * End of "$Id: rastertopwg.c 10006 2011-09-20 18:36:33Z mike $".
+ * End of "$Id: rastertopwg.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index c8793d3..40433aa 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-  "$Id: spec-ppd.header 9680 2011-04-13 15:45:24Z mike $"
+  "$Id$"
 
   PPD extension documentation for CUPS.
 
index 670e899..b6bdcc4 100644 (file)
@@ -30,11 +30,11 @@ LINE-END = CR / LF / CR LF
 
 <p>CUPS supports several methods of auto-configuration via PPD keywords.</p>
 
-<h3><span class='info'>Mac OS X 10.5</span><a name='APAutoSetupTool'>APAutoSetupTool</a></h3>
+<h3><span class='info'>OS X 10.5</span><a name='APAutoSetupTool'>APAutoSetupTool</a></h3>
 
 <p class='summary'>*APAutoSetupTool: "/LibraryPrinters/vendor/filename"</p>
 
-<p>This Mac OS X keyword defines a program that sets the default option choices. It is run when a printer is added from the <var>Add Printer</var> window or the <var>Nearby Printers</var> list in the <var>Print</var> dialog.</p>
+<p>This OS X keyword defines a program that sets the default option choices. It is run when a printer is added from the <var>Add Printer</var> window or the <var>Nearby Printers</var> list in the <var>Print</var> dialog.</p>
 
 <p>The program is provided with two arguments: the printer's device URI and the PPD file to be used for the printer. The program must write an updated PPD file to stdout.</p>
 
@@ -45,7 +45,7 @@ LINE-END = CR / LF / CR LF
 *APAutoSetupTool: "/Library/Printers/vendor/Tools/autosetuptool"
 </pre>
 
-<h3><span class='info'>Mac OS X 10.2/CUPS 1.4</span><a name='QUERYKEYWORD'>?MainKeyword</a></h3>
+<h3><span class='info'>OS X 10.2/CUPS 1.4</span><a name='QUERYKEYWORD'>?MainKeyword</a></h3>
 
 <p class='summary'>*?<i>MainKeyword</i>: "<br>
   PostScript query code that writes a message using the = operator...<br>
@@ -74,7 +74,7 @@ LINE-END = CR / LF / CR LF
 *CloseUI: OptionDuplex
 </pre>
 
-<h3><span class='info'>Mac OS X 10.4/CUPS 1.5</span><a name='OID'>OIDMainKeyword</a></h3>
+<h3><span class='info'>OS X 10.4/CUPS 1.5</span><a name='OID'>OIDMainKeyword</a></h3>
 
 <p class='summary'>*?OID<i>MainKeyword</i>: ".n.n.n..."<br>
 *OID<i>MainKeyword</i> <i>OptionKeyword1</i>: "value"<br>
@@ -109,7 +109,7 @@ LINE-END = CR / LF / CR LF
 
 <p class='summary'>*cupsColorProfile Resolution/MediaType: "density gamma m00 m01 m02 m10 m11 m12 m20 m21 m22"</p>
 
-<p>This string keyword specifies an sRGB-based color profile consisting of gamma and density controls and a 3x3 CMY color transform matrix. <em>This keyword is not supported on Mac OS X.</em></p>
+<p>This string keyword specifies an sRGB-based color profile consisting of gamma and density controls and a 3x3 CMY color transform matrix. <em>This keyword is not supported on OS X.</em></p>
 
 <p>The <i>Resolution</i> and <i>MediaType</i> values may be "-" to act as a wildcard. Otherwise they must match one of the <tt>Resolution</tt> or <tt>MediaType</tt> option keywords defined in the PPD file.</p>
 
@@ -142,7 +142,7 @@ f(x) = density * x <sup style='font-size: 100%'>gamma</sup>
 </pre>
 
 
-<h3><span class='info'>Mac OS X 10.3/CUPS 1.2</span><a name='cupsICCProfile'>cupsICCProfile</a></h3>
+<h3><span class='info'>OS X 10.3/CUPS 1.2</span><a name='cupsICCProfile'>cupsICCProfile</a></h3>
 
 <p class='summary'>*cupsICCProfile ColorModel.MediaType.Resolution/Description: "filename"</p>
 
@@ -181,22 +181,22 @@ f(x) = density * x <sup style='font-size: 100%'>gamma</sup>
 *cupsICCQualifier3: Resolution
 </pre>
 
-<h3><span class='info'>Mac OS X 10.4</span><a name='APCustom'>Custom Color Matching Support</a></h3>
+<h3><span class='info'>OS X 10.4</span><a name='APCustom'>Custom Color Matching Support</a></h3>
 
 <p class='summary'>*<a href='#APSupportsCustomColorMatching'>APSupportsCustomColorMatching</a>: true<br>
 *<a href='#APCustomColorMatchingName'>APCustomColorMatchingName</a> name/text: ""<br>
 *<a href='#APCustomColorMatchingProfile'>APCustomColorMatchingProfile</a>: profile<br>
 *<a href='#APDefaultCustomColorMatchingProfile'>APDefaultCustomColorMatchingProfile</a>: profile</p>
 
-<p>These keywords tell the Mac OS X raster filters that the printer driver provides its own custom color matching and that generic color profiles should be used when generating 1-, 3-, and 4-component raster data as requested by the driver. The <tt>APCustomColorMatchingProfile</tt> and <tt>APDefaultColorMatchingProfile</tt> keywords specify alternate color profiles (sRGB or AdobeRGB) to use for 3-color (RGB) raster data.</p>
+<p>These keywords tell the OS X raster filters that the printer driver provides its own custom color matching and that generic color profiles should be used when generating 1-, 3-, and 4-component raster data as requested by the driver. The <tt>APCustomColorMatchingProfile</tt> and <tt>APDefaultColorMatchingProfile</tt> keywords specify alternate color profiles (sRGB or AdobeRGB) to use for 3-color (RGB) raster data.</p>
 
 <blockquote><b>Note:</b>
 
-<p>Prior to Mac OS X 10.6, the default RGB color space was Apple's "GenericRGB". The new default in Mac OS X 10.6 and later is "sRGB". For more information, see <a href="http://support.apple.com/kb/HT3712">"Mac OS X v10.6: About gamma 2.2"</a> on Apple's support site.</p>
+<p>Prior to OS X 10.6, the default RGB color space was Apple's "GenericRGB". The new default in OS X 10.6 and later is "sRGB". For more information, see <a href="http://support.apple.com/kb/HT3712">"OS X v10.6: About gamma 2.2"</a> on Apple's support site.</p>
 
 </blockquote>
 
-<h4><span class='info'>Mac OS X 10.5</span><a name='APCustomColorMatchingName'>APCustomColorMatchingName</a></h4>
+<h4><span class='info'>OS X 10.5</span><a name='APCustomColorMatchingName'>APCustomColorMatchingName</a></h4>
 
 <p class='summary'>*APCustomColorMatchingName name/text: ""</p>
 
@@ -210,7 +210,7 @@ f(x) = density * x <sup style='font-size: 100%'>gamma</sup>
 *fr.APCustomColorMatchingName name/La AcmeColor(tm): ""
 </pre>
 
-<h4><span class='info'>Mac OS X 10.5</span><a name='APCustomColorMatchingProfile'>APCustomColorMatchingProfile</a></h4>
+<h4><span class='info'>OS X 10.5</span><a name='APCustomColorMatchingProfile'>APCustomColorMatchingProfile</a></h4>
 
 <p class='summary'>*APCustomColorMatchingProfile: name</p>
 
@@ -232,7 +232,7 @@ f(x) = density * x <sup style='font-size: 100%'>gamma</sup>
 *APCustomColorMatchingProfile: AdobeRGB
 </pre>
 
-<h4><span class='info'>Mac OS X 10.5</span><a name='APDefaultCustomColorMatchingProfile'>APDefaultCustomColorMatchingProfile</a></h4>
+<h4><span class='info'>OS X 10.5</span><a name='APDefaultCustomColorMatchingProfile'>APDefaultCustomColorMatchingProfile</a></h4>
 
 <p class='summary'>*APDefaultCustomColorMatchingProfile: name</p>
 
@@ -246,7 +246,7 @@ f(x) = density * x <sup style='font-size: 100%'>gamma</sup>
 *APDefaultCustomColorMatchingProfile: sRGB
 </pre>
 
-<h4><span class='info'>Mac OS X 10.4</span><a name='APSupportsCustomColorMatching'>APSupportsCustomColorMatching</a></h4>
+<h4><span class='info'>OS X 10.4</span><a name='APSupportsCustomColorMatching'>APSupportsCustomColorMatching</a></h4>
 
 <p class='summary'>*APSupportsCustomColorMatching: boolean</p>
 
@@ -282,7 +282,7 @@ f(x) = density * x <sup style='font-size: 100%'>gamma</sup>
 
 </blockquote>
 
-<h3><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='cupsUIConstraints'>cupsUIConstraints</a></h3>
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsUIConstraints'>cupsUIConstraints</a></h3>
 
 <p class='summary'>*cupsUIConstraints resolver: "*Keyword1 *Keyword2 ..."<br>
 *cupsUIConstraints resolver: "*Keyword1 OptionKeyword1 *Keyword2 ..."<br>
@@ -312,7 +312,7 @@ f(x) = density * x <sup style='font-size: 100%'>gamma</sup>
 *cupsUIConstraints photo: "*OutputMode Photo *MediaType Transparency *Resolution 1200dpi"
 </pre>
 
-<h3><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='cupsUIResolver'>cupsUIResolver</a></h3>
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsUIResolver'>cupsUIResolver</a></h3>
 
 <p class='summary'>*cupsUIResolver resolver: "*Keyword1 OptionKeyword1 *Keyword2 OptionKeyword2 ..."</p>
 
@@ -414,7 +414,7 @@ f(x) = density * x <sup style='font-size: 100%'>gamma</sup>
 </pre>
 
 
-<h2 class='title'><a name='OPTIONS'><span class="info">CUPS 1.3/Mac OS X 10.6</span>Custom Options</a></h2>
+<h2 class='title'><a name='OPTIONS'><span class="info">CUPS 1.3/OS X 10.6</span>Custom Options</a></h2>
 
 <p>CUPS supports custom options using an extension of the <tt>CustomPageSize</tt> and <tt>ParamCustomPageSize</tt> syntax:</p>
 
@@ -529,7 +529,7 @@ option value is "1234" then CUPS will output the string "@PJL SET PASSCODE=1234"
 
 <p>The resulting dictionary sets the page device attributes that are sent to your raster driver in the page header.</p>
 
-<h3>Custom Page Size Code</a></h3>
+<h3>Custom Page Size Code</h3>
 
 <p>There are many possible implementations of the <tt>CustomPageSize</tt> code. For CUPS raster drivers, the following code is recommended:</p>
 
@@ -542,7 +542,7 @@ option value is "1234" then CUPS will output the string "@PJL SET PASSCODE=1234"
 *CustomPageSize True: "pop pop pop &lt;&lt;/PageSize[5 -2 roll]/ImagingBBox null&gt;&gt;setpagedevice"
 </pre>
 
-<h3>Supported PostScript Operators</a></h3>
+<h3>Supported PostScript Operators</h3>
 
 <p>CUPS supports the following PostScript operators in addition to the usual PostScript number, string (literal and hex-encoded), boolean, null, and name values:</p>
 
@@ -601,7 +601,7 @@ PRE B {
 
 </blockquote>
 
-<h3>Supported Page Device Attributes</a></h3>
+<h3>Supported Page Device Attributes</h3>
 
 <p>Table 2 shows the supported page device attributes along with PostScript code examples.</p>
 
@@ -872,7 +872,7 @@ PRE B {
 <p>The CUPS media keywords allow drivers to specify alternate custom page
 size limits based on up to two options.</p>
 
-<h3><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='cupsMediaQualifier2'>cupsMediaQualifier2</a></h3>
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsMediaQualifier2'>cupsMediaQualifier2</a></h3>
 
 <p class='summary'>*cupsMediaQualifier2: MainKeyword</p>
 
@@ -891,7 +891,7 @@ custom page size limits.</p>
 *cupsMinSize ..Photo: "300 300"
 </pre>
 
-<h3><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='cupsMediaQualifier3'>cupsMediaQualifier3</a></h3>
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsMediaQualifier3'>cupsMediaQualifier3</a></h3>
 
 <p class='summary'>*cupsMediaQualifier3: MainKeyword</p>
 
@@ -910,7 +910,7 @@ custom page size limits.</p>
 *cupsMinSize ..Photo: "300 300"
 </pre>
 
-<h3><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='cupsMinSize'>cupsMinSize</a></h3>
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsMinSize'>cupsMinSize</a></h3>
 
 <p class='summary'>*cupsMinSize .Qualifier2.Qualifier3: "width length"<br>
 *cupsMinSize .Qualifier2.: "width length"<br>
@@ -933,7 +933,7 @@ are used to identify options to use for matching.</p>
 *cupsMinSize ..Photo: "300 300"
 </pre>
 
-<h3><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='cupsMaxSize'>cupsMaxSize</a></h3>
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsMaxSize'>cupsMaxSize</a></h3>
 
 <p class='summary'>*cupsMaxSize .Qualifier2.Qualifier3: "width length"<br>
 *cupsMaxSize .Qualifier2.: "width length"<br>
@@ -957,9 +957,24 @@ are used to identify options to use for matching.</p>
 </pre>
 
 
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsPageSizeCategory'>cupsPageSizeCategory</a></h3>
+
+<p class="summary">*cupsPageSizeCategory name/text: "name name2 ... nameN"</p>
+
+<p>This keyword lists related paper size names that should be grouped together in the Print or Page Setup dialogs. The "name" portion of the keyword specifies the root/default size for the grouping. On OS X the grouped paper sizes are shown in a submenu of the main paper size. When omitted, sizes with the same dimensions are automatically grouped together, for example "Letter" and "Letter.Borderless".</p>
+
+<p>Example:</p>
+
+<pre class="command">
+<em>*% Specify grouping of borderless/non-borderless sizes</em>
+*cupsPageSizeCategory Letter/US Letter: "Letter Letter.Borderless"
+*cupsPageSizeCategory A4/A4: "A4 A4.Borderless"
+</pre>
+
+
 <h2 class='title'><a name='ATTRIBUTES'>General Attributes</a></h2>
 
-<h3><span class='info'>CUPS 1.3/Mac OS X 10.5</span><a name='cupsBackSide'>cupsBackSide</a></h3>
+<h3><span class='info'>CUPS 1.3/OS X 10.5</span><a name='cupsBackSide'>cupsBackSide</a></h3>
 
 <p class='summary'>*cupsBackSide: keyword</p>
 
@@ -1035,7 +1050,7 @@ will be ignored.</p>
 </table>
 </div>
 
-<p><em>* - Not supported in Mac OS X 10.5.x and earlier</em></p>
+<p><em>* - Not supported in OS X 10.5.x and earlier</em></p>
 
 <div class='figure'><table summary='Back side images'>
 <caption>Figure 1: Back side images</caption>
@@ -1055,7 +1070,7 @@ will be ignored.</p>
 <p>Also see the related <a href='#APDuplexRequiresFlippedMargin'><tt>APDuplexRequiresFlippedMargin</tt></a>
 keyword.</p>
 
-<h3><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='cupsCommands'>cupsCommands</a></h3>
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsCommands'>cupsCommands</a></h3>
 
 <p class='summary'>*cupsCommands: "name name2 ... nameN"</p>
 
@@ -1071,7 +1086,7 @@ by whitespace.</p>
 </pre>
 
 
-<h3><span class='info'>CUPS 1.3/Mac OS X 10.5</span><a name='cupsEvenDuplex'>cupsEvenDuplex</a></h3>
+<h3><span class='info'>CUPS 1.3/OS X 10.5</span><a name='cupsEvenDuplex'>cupsEvenDuplex</a></h3>
 
 <p class='summary'>*cupsEvenDuplex: boolean</p>
 
@@ -1149,21 +1164,21 @@ the special filter program "-" may be specified.</p>
 
 <p class='summary'>*cupsFlipDuplex: boolean</p>
 
-<p>Due to implementation differences between Mac OS X and Ghostscript,
+<p>Due to implementation differences between OS X and Ghostscript,
 the <tt>cupsFlipDuplex</tt> keyword is deprecated. Instead, use
 the <a href='#cupsBackSide'><tt>cupsBackSide</tt></a> keyword to specify
 the coordinate system (pixel layout) of the page data on the back side of
 duplex pages.</p>
 
 <p>The value <code>true</code> maps to a <tt>cupsBackSide</tt> value
-of <code>Rotated</code> on Mac OS X and <code>Flipped</code> with
+of <code>Rotated</code> on OS X and <code>Flipped</code> with
 Ghostscript.</p>
 
 <p>The default value is <code>false</code>.</p>
 
 <blockquote><b>Note:</b>
 
-<p>Mac OS X drivers that previously used
+<p>OS X drivers that previously used
 <tt>cupsFlipDuplex</tt> may wish to provide both the old and
 new keywords for maximum compatibility, for example:</p>
 
@@ -1180,7 +1195,7 @@ Ghostscript can use:</p>
 *cupsFlipDuplex: true
 </pre></blockquote>
 
-<h3><span class='info'>CUPS 1.3/Mac OS X 10.5</span><a name='cupsIPPFinishings'>cupsIPPFinishings</a></h3>
+<h3><span class='info'>CUPS 1.3/OS X 10.5</span><a name='cupsIPPFinishings'>cupsIPPFinishings</a></h3>
 
 <p class='summary'>*cupsIPPFinishings number/text: "*Option Choice ..."</p>
 
@@ -1196,7 +1211,7 @@ values to PPD options and choices.</p>
 *cupsIPPFinishings 21/staple-bottom-left: "*StapleLocation SingleLandscape"
 </pre>
 
-<h3><span class='info'>CUPS 1.3/Mac OS X 10.5</span><a name='cupsIPPReason'>cupsIPPReason</a></h3>
+<h3><span class='info'>CUPS 1.3/OS X 10.5</span><a name='cupsIPPReason'>cupsIPPReason</a></h3>
 
 <p class='summary'>*cupsIPPReason reason/Reason Text: "optional URIs"</p>
 
@@ -1249,7 +1264,7 @@ http://www.vendor.com/help"
 *cupsIPPSupplies: False
 </pre>
 
-<h3><span class='info'>CUPS 1.2/Mac OS X 10.5</span><a name='cupsLanguages'>cupsLanguages</a></h3>
+<h3><span class='info'>CUPS 1.2/OS X 10.5</span><a name='cupsLanguages'>cupsLanguages</a></h3>
 
 <p class='summary'>*cupsLanguages: "locale list"</p>
 
@@ -1279,7 +1294,7 @@ hardware. The default value is <code>false</code>.</p>
 *cupsManualCopies: true
 </pre>
 
-<h3><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='cupsMarkerName'>cupsMarkerName</a></h3>
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsMarkerName'>cupsMarkerName</a></h3>
 
 <p class='summary'>*cupsMarkerName/Name Text: ""</p>
 
@@ -1293,7 +1308,7 @@ generated by the driver to human readable text.</p>
 *cupsMarkerName cyanToner/Cyan Toner: ""
 </pre>
 
-<h3><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='cupsMarkerNotice'>cupsMarkerNotice</a></h3>
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsMarkerNotice'>cupsMarkerNotice</a></h3>
 
 <p class='summary'>*cupsMarkerNotice: "disclaimer text"</p>
 
@@ -1307,6 +1322,19 @@ are approximate".</p>
 *cupsMarkerNotice: "Supply levels are approximate."
 </pre>
 
+<h3><span class='info'>CUPS 1.6/OS X 10.8</span><a name='cupsMaxCopies'>cupsMaxCopies</a></h3>
+
+<p class='summary'>*cupsMaxCopies: integer</p>
+
+<p>This integer keyword notifies the filters that the destination printer supports up to N copies in hardware. The default value is <code>9999</code>.</p>
+
+<p>Example:</p>
+
+<pre class='command'>
+<em>*% Tell the RIP filters we can do up to 99 copies</em>
+*cupsMaxCopies: 99
+</pre>
+
 <h3><a name='cupsModelNumber'>cupsModelNumber</a></h3>
 
 <p class='summary'>*cupsModelNumber: number</p>
@@ -1322,7 +1350,8 @@ the output for a specific model of printer.</p>
 *cupsModelNumber: 1234
 </pre>
 
-<h3><span class='info'>CUPS 1.3/Mac OS X 10.5</span><a name='cupsPJLCharset'>cupsPJLCharset</a></h3>
+
+<h3><span class='info'>CUPS 1.3/OS X 10.5</span><a name='cupsPJLCharset'>cupsPJLCharset</a></h3>
 
 <p class='summary'>*cupsPJLCharset: "ISO character set name"</p>
 
@@ -1337,7 +1366,7 @@ assumed.</p>
 *cupsPJLCharset: "UTF-8"
 </pre>
 
-<h3><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='cupsPJLDisplay'>cupsPJLDisplay</a></h3>
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsPJLDisplay'>cupsPJLDisplay</a></h3>
 
 <p class='summary'>*cupsPJLDisplay: "what"</p>
 
@@ -1356,7 +1385,7 @@ to use "@PJL RDYMSG DISPLAY". The default is "job".</p>
 *cupsPJLDisplay: "none"
 </pre>
 
-<h3><span class='info'>CUPS 1.2/Mac OS X 10.5</span><a name='cupsPortMonitor'>cupsPortMonitor</a></h3>
+<h3><span class='info'>CUPS 1.2/OS X 10.5</span><a name='cupsPortMonitor'>cupsPortMonitor</a></h3>
 
 <p class='summary'>*cupsPortMonitor urischeme/Descriptive Text: "port monitor"</p>
 
@@ -1388,7 +1417,7 @@ to disable the port monitor for the given URI scheme.</p>
 *cupsPortMonitor usb/USB Status Monitor: "epson-usb"
 </pre>
 
-<h3><span class='info'>CUPS 1.3/Mac OS X 10.5</span><a name='cupsPreFilter'>cupsPreFilter</a></h3>
+<h3><span class='info'>CUPS 1.3/OS X 10.5</span><a name='cupsPreFilter'>cupsPreFilter</a></h3>
 
 <p class='summary'>*cupsPreFilter: "source/type cost program"</p>
 
@@ -1447,7 +1476,7 @@ before the filter that accepts the given MIME type.</p>
 *cupsSingleFile: True
 </pre>
 
-<h3><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='cupsSNMPSupplies'>cupsSNMPSupplies</a></h3>
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsSNMPSupplies'>cupsSNMPSupplies</a></h3>
 
 <p class='summary'>*cupsSNMPSupplies: boolean</p>
 
@@ -1468,7 +1497,7 @@ the standard SNMP Printer MIB OIDs for supply levels. The default value is
 
 <p>This required keyword describes which version of the CUPS
 PPD file extensions was used. Currently it must be the string
-"1.0", "1.1", "1.2", or "1.3".</p>
+"1.0", "1.1", "1.2", "1.3", "1.4", "1.5", or "1.6".</p>
 
 <p>Example:</p>
 
@@ -1478,9 +1507,23 @@ PPD file extensions was used. Currently it must be the string
 </pre>
 
 
-<h2 class='title'><a name='MACOSX'>Mac OS X Attributes</a></h2>
+<h3><span class="info">CUPS 1.6/OS X 10.8</span><a name="JCLToPDFInterpreter">JCLToPDFInterpreter</a></h3>
+
+<p class="summary">*JCLToPDFInterpreter: "JCL"</p>
+
+<p>This keyword provfides the JCL command to insert a PDF job file into a printer-ready data stream. The JCL command is added after the <tt>JCLBegin</tt> value and any commands for JCL options in the PPD file.</p>
+
+<p>Example:</p>
+
+<pre class='command'>
+<em>*% PJL command to start the PDF interpreter</em>
+*JCLToPDFInterpreter: "@PJL ENTER LANGUAGE = PDF&lt;0A&gt;"
+</pre>
+
+
+<h2 class='title'><a name='MACOSX'>OS X Attributes</a></h2>
 
-<h3><span class='info'>Mac OS X 10.3</span><a name='APDialogExtension'>APDialogExtension</a></h3>
+<h3><span class='info'>OS X 10.3</span><a name='APDialogExtension'>APDialogExtension</a></h3>
 
 <p class='summary'>*APDialogExtension: "/Library/Printers/vendor/filename.plugin"</p>
 
@@ -1492,7 +1535,7 @@ plug-ins.</p>
 
 <blockquote><b>Note:</b>
 
-<p>Starting with Mac OS X 10.5, each plug-in must be compiled "4-way fat"
+<p>Starting with OS X 10.5, each plug-in must be compiled "4-way fat"
 (32-bit and 64-bit for both PowerPC and Intel) with garbage collection enabled
 in order to be usable with all applications.</p>
 
@@ -1506,7 +1549,7 @@ in order to be usable with all applications.</p>
 *APDialogExtension: "/Library/Printers/vendor/options.plugin"
 </pre>
 
-<h3><span class='info'>Mac OS X 10.4</span><a name='APDuplexRequiresFlippedMargin'>APDuplexRequiresFlippedMargin</a></h3>
+<h3><span class='info'>OS X 10.4</span><a name='APDuplexRequiresFlippedMargin'>APDuplexRequiresFlippedMargin</a></h3>
 
 <p class='summary'>*APDuplexRequiresFlippedMargin: boolean</p>
 
@@ -1603,7 +1646,7 @@ looking up IPP reason codes for this printer driver. The
 *APHelpBook: "file:///Library/Printers/vendor/Help.bundle"
 </pre>
 
-<h3><span class='info'>Mac OS X 10.6</span><a name='APICADriver'>APICADriver</a></h3>
+<h3><span class='info'>OS X 10.6</span><a name='APICADriver'>APICADriver</a></h3>
 
 <p class='summary'>*APICADriver: boolean</p>
 
@@ -1617,7 +1660,7 @@ Architecture (ICA) driver for scanning. The default is <tt>False</tt>.</p>
 *APScanAppBundleID: "com.apple.ImageCaptureApp"
 </pre>
 
-<h3><span class='info'>Mac OS X 10.3</span><a name='APPrinterIconPath'>APPrinterIconPath</a></h3>
+<h3><span class='info'>OS X 10.3</span><a name='APPrinterIconPath'>APPrinterIconPath</a></h3>
 
 <p class='summary'>*APPrinterIconPath: "/Library/Printers/vendor/filename.icns"</p>
 
@@ -1631,7 +1674,7 @@ displaying the printer. The file must be in the Apple icon format.</p>
 *APPrinterIconPath: "/Library/Printers/vendor/Icons/filename.icns"
 </pre>
 
-<h3><span class='info'>Mac OS X 10.4</span><a name='APPrinterLowInkTool'>APPrinterLowInkTool</a></h3>
+<h3><span class='info'>OS X 10.4</span><a name='APPrinterLowInkTool'>APPrinterLowInkTool</a></h3>
 
 <p class='summary'>*APPrinterLowInkTool: "/Library/Printers/vendor/program"</p>
 
@@ -1648,7 +1691,7 @@ Technical Note TN2144</a> for more information.</p>
 *APPrinterLowInkTool: "/Library/Printers/vendor/Tools/lowinktool"
 </pre>
 
-<h3><span class='info'>Mac OS X 10.5</span><a name='APPrinterPreset'>APPrinterPreset</a></h3>
+<h3><span class='info'>OS X 10.5</span><a name='APPrinterPreset'>APPrinterPreset</a></h3>
 
 <p class='summary'>*APPrinterPreset name/text: "*Option Choice ..."</p>
 
@@ -1718,7 +1761,7 @@ choice (*MainKeyword OptionKeyword) or a preset identifier and value
 *fr.APPrinterPreset Photo_on_Photo_Paper/Photo sur papier photographique: ""
 </pre>
 
-<h3><span class='info'>Mac OS X 10.3</span><a name='APPrinterUtilityPath'>APPrinterUtilityPath</a></h3>
+<h3><span class='info'>OS X 10.3</span><a name='APPrinterUtilityPath'>APPrinterUtilityPath</a></h3>
 
 <p class='summary'>*APPrinterPrinterUtilityPath: "/Library/Printers/vendor/filename.app"</p>
 
@@ -1733,7 +1776,7 @@ information.</p>
 *APPrinterPrinterUtilityPath: "/Library/Printers/vendor/Tools/utility.app"
 </pre>
 
-<h3><span class='info'>Mac OS X 10.6</span><a name='APScannerOnly'>APScannerOnly</a></h3>
+<h3><span class='info'>OS X 10.6</span><a name='APScannerOnly'>APScannerOnly</a></h3>
 
 <p class='summary'>*APScannerOnly: boolean</p>
 
@@ -1747,7 +1790,7 @@ capabilities. The default is <tt>False</tt>.</p>
 *APScannerOnly: True
 </pre>
 
-<h3><span class='info'>Mac OS X 10.3</span><a name='APScanAppBundleID'>APScanAppBundleID</a></h3>
+<h3><span class='info'>OS X 10.3</span><a name='APScanAppBundleID'>APScanAppBundleID</a></h3>
 
 <p class='summary'>*APScanAppBundleID: "bundle ID"</p>
 
@@ -1764,6 +1807,21 @@ the device.</p>
 
 <h2 class='title'><a name='HISTORY'>Change History</a></h2>
 
+<h3>Changes in CUPS 1.6</h3>
+
+<ul>
+
+       <li>Added <a href="#cupsPageSizeCategory"><tt>cupsPageSizeCategory</tt></a> keyword (originally defined in CUPS 1.4).</li>
+
+       <li>Added <a href="#cupsMaxCopies"><tt>cupsMaxCopies</tt></a> keyword.</li>
+
+       <li>Documented <a href="#JCLToPDFInterpreter"><tt>JCLToPDFInterpreter</tt></a> keyword.</li>
+
+       <li>Updated <a href="#cupsVersion"><tt>cupsVersion</tt></a> keyword documentation to list all current releases of CUPS.</li>
+
+</ul>
+
+
 <h3>Changes in CUPS 1.5</h3>
 
 <ul>
@@ -1823,7 +1881,7 @@ the device.</p>
 
 <ul>
 
-       <li>Added missing Mac OS X <tt>AP</tt> keywords.</li>
+       <li>Added missing OS X <tt>AP</tt> keywords.</li>
 
        <li>Added section on auto-configuration including the
        <tt>OID<i>MainKeyword</i></tt> and <tt>?<i>MainKeyword</i></tt>
diff --git a/filter/testimage.c b/filter/testimage.c
deleted file mode 100644 (file)
index 57e3a19..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * "$Id$"
- *
- *   Image library test program for CUPS.
- *
- *   Copyright 2007-2011 by Apple Inc.
- *   Copyright 1993-2006 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- *   This file is subject to the Apple OS-Developed Software exception.
- *
- * Contents:
- *
- *   main() - Main entry...
- */
-
-/*
- * Include necessary headers...
- */
-
-#include "image.h"
-
-
-/*
- * 'main()' - Main entry...
- */
-
-int                                    /* O - Exit status */
-main(int  argc,                                /* I - Number of command-line arguments */
-     char *argv[])                     /* I - Command-line arguments */
-{
-  cups_image_t         *img;           /* Image to print */
-  cups_icspace_t       primary;        /* Primary image colorspace */
-  FILE                 *out;           /* Output PPM/PGM file */
-  cups_ib_t            *line;          /* Line from file */
-  int                  y,              /* Current line */
-                       width,          /* Width of image */
-                       height,         /* Height of image */
-                       depth;          /* Depth of image */
-
-
-  if (argc != 3)
-  {
-    puts("Usage: testimage filename.ext filename.[ppm|pgm]");
-    return (1);
-  }
-
-  if (strstr(argv[2], ".ppm") != NULL)
-    primary = CUPS_IMAGE_RGB;
-  else
-    primary = CUPS_IMAGE_WHITE;
-
-  img = cupsImageOpen(argv[1], primary, CUPS_IMAGE_WHITE, 100, 0, NULL);
-
-  if (!img)
-  {
-    perror(argv[1]);
-    return (1);
-  }
-
-  out = fopen(argv[2], "wb");
-
-  if (!out)
-  {
-    perror(argv[2]);
-    cupsImageClose(img);
-    return (1);
-  }
-
-  width  = cupsImageGetWidth(img);
-  height = cupsImageGetHeight(img);
-  depth  = cupsImageGetDepth(img);
-  line   = calloc(width, depth);
-
-  fprintf(out, "P%d\n%d\n%d\n255\n",
-          cupsImageGetColorSpace(img) == CUPS_IMAGE_WHITE ? 5 : 6,
-          width, height);
-
-  for (y = 0; y < height; y ++)
-  {
-    cupsImageGetRow(img, 0, y, width, line);
-    fwrite(line, width, depth, out);
-  }
-
-  cupsImageClose(img);
-  fclose(out);
-
-  return (0);
-}
-
-
-/*
- * End of "$Id$".
- */
index b7b70b3..dc5dbe6 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: testraster.c 9870 2011-08-06 06:32:26Z mike $"
+ * "$Id: testraster.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Raster test program routines for CUPS.
  *
  * Include necessary headers...
  */
 
-#include "image-private.h"
-#ifdef WIN32
-#  include <io.h>
-#else
-#  include <unistd.h>
-#  include <fcntl.h>
-#endif /* WIN32 */
+#include <cups/raster-private.h>
 
 
 /*
@@ -1080,5 +1074,5 @@ print_changes(
 
 
 /*
- * End of "$Id: testraster.c 9870 2011-08-06 06:32:26Z mike $".
+ * End of "$Id: testraster.c 11173 2013-07-23 12:31:34Z msweet $".
  */
diff --git a/filter/textcommon.c b/filter/textcommon.c
deleted file mode 100644 (file)
index 999e3a5..0000000
+++ /dev/null
@@ -1,1214 +0,0 @@
-/*
- * "$Id: textcommon.c 9793 2011-05-20 03:49:49Z mike $"
- *
- *   Common text filter routines for CUPS.
- *
- *   Copyright 2007-2011 by Apple Inc.
- *   Copyright 1997-2007 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- *   This file is subject to the Apple OS-Developed Software exception.
- *
- * Contents:
- *
- *   TextMain()         - Standard main entry for text filters.
- *   compare_keywords() - Compare two C/C++ keywords.
- *   getutf8()          - Get a UTF-8 encoded wide character...
- */
-
-/*
- * Include necessary headers...
- */
-
-#include "textcommon.h"
-#include <cups/language-private.h>
-
-
-/*
- * Globals...
- */
-
-int    WrapLines = 1,          /* Wrap text in lines */
-       SizeLines = 60,         /* Number of lines on a page */
-       SizeColumns = 80,       /* Number of columns on a line */
-       PageColumns = 1,        /* Number of columns on a page */
-       ColumnGutter = 0,       /* Number of characters between text columns */
-       ColumnWidth = 80,       /* Width of each column */
-       PrettyPrint = 0,        /* Do pretty code formatting */
-       Copies = 1;             /* Number of copies */
-lchar_t        **Page = NULL;          /* Page characters */
-int    NumPages = 0;           /* Number of pages in document */
-float  CharsPerInch = 10;      /* Number of character columns per inch */
-float  LinesPerInch = 6;       /* Number of lines per inch */
-int    NumKeywords = 0;        /* Number of known keywords */
-char   **Keywords = NULL;      /* List of known keywords */
-
-
-/*
- * Local globals...
- */
-
-static char *code_keywords[] = /* List of known C/C++ keywords... */
-       {
-         "and",
-         "and_eq",
-         "asm",
-         "auto",
-         "bitand",
-         "bitor",
-         "bool",
-         "break",
-         "case",
-         "catch",
-         "char",
-         "class",
-         "compl",
-         "const",
-         "const_cast",
-         "continue",
-         "default",
-         "delete",
-         "do",
-         "double",
-         "dynamic_cast",
-         "else",
-         "enum",
-         "explicit",
-         "extern",
-         "false",
-         "float",
-         "for",
-         "friend",
-         "goto",
-         "if",
-         "inline",
-         "int",
-         "long",
-         "mutable",
-         "namespace",
-         "new",
-         "not",
-         "not_eq",
-         "operator",
-         "or",
-         "or_eq",
-         "private",
-         "protected",
-         "public",
-         "register",
-         "reinterpret_cast",
-         "return",
-         "short",
-         "signed",
-         "sizeof",
-         "static",
-         "static_cast",
-         "struct",
-         "switch",
-         "template",
-         "this",
-         "throw",
-         "true",
-         "try",
-         "typedef",
-         "typename",
-         "union",
-         "unsigned",
-         "virtual",
-         "void",
-         "volatile",
-         "while",
-         "xor",
-         "xor_eq"
-       },
-       *sh_keywords[] =        /* List of known Boure/Korn/zsh/bash keywords... */
-       {
-         "alias",
-         "bg",
-         "break",
-         "case",
-         "cd",
-         "command",
-         "continue",
-         "do",
-         "done",
-         "echo",
-         "elif",
-         "else",
-         "esac",
-         "eval",
-         "exec",
-         "exit",
-         "export",
-         "fc",
-         "fg",
-         "fi",
-         "for",
-         "function",
-         "getopts",
-         "if",
-         "in",
-         "jobs",
-         "kill",
-         "let",
-         "limit",
-         "newgrp",
-         "print",
-         "pwd",
-         "read",
-         "readonly",
-         "return",
-         "select",
-         "set",
-         "shift",
-         "test",
-         "then",
-         "time",
-         "times",
-         "trap",
-         "typeset",
-         "ulimit",
-         "umask",
-         "unalias",
-         "unlimit",
-         "unset",
-         "until",
-         "wait",
-         "whence"
-         "while",
-       },
-       *csh_keywords[] =       /* List of known csh/tcsh keywords... */
-       {
-         "alias",
-         "aliases",
-         "bg",
-         "bindkey",
-         "break",
-         "breaksw",
-         "builtins",
-         "case",
-         "cd",
-         "chdir",
-         "complete",
-         "continue",
-         "default",
-         "dirs",
-         "echo",
-         "echotc",
-         "else",
-         "end",
-         "endif",
-         "eval",
-         "exec",
-         "exit",
-         "fg",
-         "foreach",
-         "glob",
-         "goto",
-         "history",
-         "if",
-         "jobs",
-         "kill",
-         "limit",
-         "login",
-         "logout",
-         "ls",
-         "nice",
-         "nohup",
-         "notify",
-         "onintr",
-         "popd",
-         "pushd",
-         "pwd",
-         "rehash",
-         "repeat",
-         "set",
-         "setenv",
-         "settc",
-         "shift",
-         "source",
-         "stop",
-         "suspend",
-         "switch",
-         "telltc",
-         "then",
-         "time",
-         "umask",
-         "unalias",
-         "unbindkey",
-         "unhash",
-         "unlimit",
-         "unset",
-         "unsetenv",
-         "wait",
-         "where",
-         "which",
-         "while"
-       },
-       *perl_keywords[] =      /* List of known perl keywords... */
-       {
-         "abs",
-         "accept",
-         "alarm",
-         "and",
-         "atan2",
-         "bind",
-         "binmode",
-         "bless",
-         "caller",
-         "chdir",
-         "chmod",
-         "chomp",
-         "chop",
-         "chown",
-         "chr",
-         "chroot",
-         "closdir",
-         "close",
-         "connect",
-         "continue",
-         "cos",
-         "crypt",
-         "dbmclose",
-         "dbmopen",
-         "defined",
-         "delete",
-         "die",
-         "do",
-         "dump",
-         "each",
-         "else",
-         "elsif",
-         "endgrent",
-         "endhostent",
-         "endnetent",
-         "endprotoent",
-         "endpwent",
-         "endservent",
-         "eof",
-         "eval",
-         "exec",
-         "exists",
-         "exit",
-         "exp",
-         "fcntl",
-         "fileno",
-         "flock",
-         "for",
-         "foreach",
-         "fork",
-         "format",
-         "formline",
-         "getc",
-         "getgrent",
-         "getgrgid",
-         "getgrnam",
-         "gethostbyaddr",
-         "gethostbyname",
-         "gethostent",
-         "getlogin",
-         "getnetbyaddr",
-         "getnetbyname",
-         "getnetent",
-         "getpeername",
-         "getpgrp",
-         "getppid",
-         "getpriority",
-         "getprotobyname",
-         "getprotobynumber",
-         "getprotoent",
-         "getpwent",
-         "getpwnam",
-         "getpwuid",
-         "getservbyname",
-         "getservbyport",
-         "getservent",
-         "getsockname",
-         "getsockopt",
-         "glob",
-         "gmtime",
-         "goto",
-         "grep",
-         "hex",
-         "if",
-         "import",
-         "index",
-         "int",
-         "ioctl",
-         "join",
-         "keys",
-         "kill",
-         "last",
-         "lc",
-         "lcfirst",
-         "length",
-         "link",
-         "listen",
-         "local",
-         "localtime",
-         "log",
-         "lstat",
-         "map",
-         "mkdir",
-         "msgctl",
-         "msgget",
-         "msgrcv",
-         "msgsend",
-         "my",
-         "next",
-         "no",
-         "not",
-         "oct",
-         "open",
-         "opendir",
-         "or",
-         "ord",
-         "pack",
-         "package",
-         "pipe",
-         "pop",
-         "pos",
-         "print",
-         "printf",
-         "push",
-         "quotemeta",
-         "rand",
-         "read",
-         "readdir",
-         "readlink",
-         "recv",
-         "redo",
-         "ref",
-         "rename",
-         "require",
-         "reset",
-         "return",
-         "reverse",
-         "rewinddir",
-         "rindex",
-         "rmdir",
-         "scalar",
-         "seek",
-         "seekdir",
-         "select",
-         "semctl",
-         "semget",
-         "semop",
-         "send",
-         "setgrent",
-         "sethostent",
-         "setnetent",
-         "setpgrp",
-         "setpriority",
-         "setprotoent",
-         "setpwent",
-         "setservent",
-         "setsockopt",
-         "shift",
-         "shmctl",
-         "shmget",
-         "shmread",
-         "shmwrite",
-         "shutdown",
-         "sin",
-         "sleep",
-         "socket",
-         "socketpair",
-         "sort",
-         "splice",
-         "split",
-         "sprintf",
-         "sqrt",
-         "srand",
-         "stat",
-         "study",
-         "sub",
-         "substr",
-         "symlink",
-         "syscall",
-         "sysread",
-         "sysseek",
-         "system",
-         "syswrite",
-         "tell",
-         "telldir",
-         "tie",
-         "tied",
-         "time",
-         "times"
-         "times",
-         "truncate",
-         "uc",
-         "ucfirst",
-         "umask",
-         "undef",
-         "unless",
-         "unlink",
-         "unpack",
-         "unshift",
-         "untie",
-         "until",
-         "use",
-         "utime",
-         "values",
-         "vec",
-         "wait",
-         "waitpid",
-         "wantarray",
-         "warn",
-         "while",
-         "write"
-       };
-
-
-/*
- * Local functions...
- */
-
-static int     compare_keywords(const void *, const void *);
-static int     getutf8(FILE *fp);
-
-
-/*
- * 'TextMain()' - Standard main entry for text filters.
- */
-
-int                            /* O - Exit status */
-TextMain(const char *name,     /* I - Name of filter */
-         int        argc,      /* I - Number of command-line arguments */
-         char       *argv[])   /* I - Command-line arguments */
-{
-  FILE         *fp;            /* Print file */
-  ppd_file_t   *ppd;           /* PPD file */
-  int          i,              /* Looping var */
-               ch,             /* Current char from file */
-               lastch,         /* Previous char from file */
-               attr,           /* Current attribute */
-               line,           /* Current line */
-               column,         /* Current column */
-               page_column;    /* Current page column */
-  int          num_options;    /* Number of print options */
-  cups_option_t        *options;       /* Print options */
-  const char   *val;           /* Option value */
-  char         keyword[64],    /* Keyword string */
-               *keyptr;        /* Pointer into string */
-  int          keycol;         /* Column where keyword starts */
-  int          ccomment;       /* Inside a C-style comment? */
-  int          cstring;        /* Inside a C string */
-
-
- /*
-  * Make sure status messages are not buffered...
-  */
-
-  setbuf(stderr, NULL);
-
- /*
-  * Check command-line...
-  */
-
-  if (argc < 6 || argc > 7)
-  {
-    _cupsLangPrintf(stderr,
-                    _("Usage: %s job-id user title copies options [file]"),
-                    name);
-    return (1);
-  }
-
- /*
-  * If we have 7 arguments, print the file named on the command-line.
-  * Otherwise, send stdin instead...
-  */
-
-  if (argc == 6)
-    fp = stdin;
-  else
-  {
-   /*
-    * Try to open the print file...
-    */
-
-    if ((fp = fopen(argv[6], "rb")) == NULL)
-    {
-      perror("DEBUG: unable to open print file - ");
-      return (1);
-    }
-  }
-
- /*
-  * Process command-line options and write the prolog...
-  */
-
-  options     = NULL;
-  num_options = cupsParseOptions(argv[5], 0, &options);
-
-  if ((val = cupsGetOption("prettyprint", num_options, options)) != NULL &&
-      _cups_strcasecmp(val, "no") && _cups_strcasecmp(val, "off") &&
-      _cups_strcasecmp(val, "false"))
-  {
-    PageLeft     = 72.0f;
-    PageRight    = PageWidth - 36.0f;
-    PageBottom   = PageBottom > 36.0f ? PageBottom : 36.0f;
-    PageTop      = PageLength - 36.0f;
-    CharsPerInch = 12;
-    LinesPerInch = 8;
-
-    if ((val = getenv("CONTENT_TYPE")) == NULL)
-    {
-      PrettyPrint = PRETTY_PLAIN;
-      NumKeywords = 0;
-      Keywords    = NULL;
-    }
-    else if (_cups_strcasecmp(val, "application/x-cshell") == 0)
-    {
-      PrettyPrint = PRETTY_SHELL;
-      NumKeywords = sizeof(csh_keywords) / sizeof(csh_keywords[0]);
-      Keywords    = csh_keywords;
-    }
-    else if (_cups_strcasecmp(val, "application/x-csource") == 0)
-    {
-      PrettyPrint = PRETTY_CODE;
-      NumKeywords = sizeof(code_keywords) / sizeof(code_keywords[0]);
-      Keywords    = code_keywords;
-    }
-    else if (_cups_strcasecmp(val, "application/x-perl") == 0)
-    {
-      PrettyPrint = PRETTY_PERL;
-      NumKeywords = sizeof(perl_keywords) / sizeof(perl_keywords[0]);
-      Keywords    = perl_keywords;
-    }
-    else if (_cups_strcasecmp(val, "application/x-shell") == 0)
-    {
-      PrettyPrint = PRETTY_SHELL;
-      NumKeywords = sizeof(sh_keywords) / sizeof(sh_keywords[0]);
-      Keywords    = sh_keywords;
-    }
-    else
-    {
-      PrettyPrint = PRETTY_PLAIN;
-      NumKeywords = 0;
-      Keywords    = NULL;
-    }
-  }
-
-  ppd = SetCommonOptions(num_options, options, 1);
-
-  if ((val = cupsGetOption("wrap", num_options, options)) == NULL)
-    WrapLines = 1;
-  else
-    WrapLines = !_cups_strcasecmp(val, "true") || !_cups_strcasecmp(val, "on") ||
-                !_cups_strcasecmp(val, "yes");
-
-  if ((val = cupsGetOption("columns", num_options, options)) != NULL)
-  {
-    PageColumns = atoi(val);
-
-    if (PageColumns < 1)
-    {
-      _cupsLangPrintFilter(stderr, "ERROR", _("Bad columns value %d."),
-                           PageColumns);
-      return (1);
-    }
-  }
-
-  if ((val = cupsGetOption("cpi", num_options, options)) != NULL)
-  {
-    CharsPerInch = atof(val);
-
-    if (CharsPerInch <= 0.0)
-    {
-      _cupsLangPrintFilter(stderr, "ERROR", _("Bad cpi value %f."),
-                           CharsPerInch);
-      return (1);
-    }
-  }
-
-  if ((val = cupsGetOption("lpi", num_options, options)) != NULL)
-  {
-    LinesPerInch = atof(val);
-
-    if (LinesPerInch <= 0.0)
-    {
-      _cupsLangPrintFilter(stderr, "ERROR", _("Bad lpi value %f."),
-                           LinesPerInch);
-      return (1);
-    }
-  }
-
-  if (PrettyPrint)
-    PageTop -= 216.0f / LinesPerInch;
-
-  Copies = atoi(argv[4]);
-
-  WriteProlog(argv[3], argv[2], getenv("CLASSIFICATION"),
-              cupsGetOption("page-label", num_options, options), ppd);
-
- /*
-  * Read text from the specified source and print it...
-  */
-
-  lastch       = 0;
-  column       = 0;
-  line         = 0;
-  page_column  = 0;
-  attr         = 0;
-  keyptr       = keyword;
-  keycol       = 0;
-  ccomment     = 0;
-  cstring      = 0;
-
-  while ((ch = getutf8(fp)) >= 0)
-  {
-   /*
-    * Control codes:
-    *
-    *   BS     Backspace (0x08)
-    *   HT     Horizontal tab; next 8th column (0x09)
-    *   LF     Line feed; forward full line (0x0a)
-    *   VT     Vertical tab; reverse full line (0x0b)
-    *   FF     Form feed (0x0c)
-    *   CR     Carriage return (0x0d)
-    *   ESC 7  Reverse full line (0x1b 0x37)
-    *   ESC 8  Reverse half line (0x1b 0x38)
-    *   ESC 9  Forward half line (0x1b 0x39)
-    */
-
-    switch (ch)
-    {
-      case 0x08 :              /* BS - backspace for boldface & underline */
-          if (column > 0)
-            column --;
-
-          keyptr = keyword;
-         keycol = column;
-          break;
-
-      case 0x09 :              /* HT - tab to next 8th column */
-          if (PrettyPrint && keyptr > keyword)
-         {
-           *keyptr = '\0';
-           keyptr  = keyword;
-
-           if (bsearch(&keyptr, Keywords, NumKeywords, sizeof(char *),
-                       compare_keywords))
-            {
-            /*
-             * Put keywords in boldface...
-             */
-
-             i = page_column * (ColumnWidth + ColumnGutter);
-
-             while (keycol < column)
-             {
-               Page[line][keycol + i].attr |= ATTR_BOLD;
-               keycol ++;
-             }
-           }
-         }
-
-          column = (column + 8) & ~7;
-
-          if (column >= ColumnWidth && WrapLines)
-          {                    /* Wrap text to margins */
-            line ++;
-            column = 0;
-
-            if (line >= SizeLines)
-            {
-              page_column ++;
-              line = 0;
-
-              if (page_column >= PageColumns)
-              {
-                WritePage();
-               page_column = 0;
-              }
-            }
-          }
-
-         keycol = column;
-
-          attr &= ~ATTR_BOLD;
-          break;
-
-      case 0x0d :              /* CR */
-#ifndef __APPLE__
-         /*
-         * All but MacOS/Darwin treat CR as was intended by ANSI
-         * folks, namely to move to column 0/1.  Some programs still
-         * use this to do boldfacing and underlining...
-         */
-
-          column = 0;
-          break;
-#else
-         /*
-         * MacOS/Darwin still need to treat CR as a line ending.
-         */
-
-          {
-           int nextch;
-            if ((nextch = getc(fp)) != 0x0a)
-             ungetc(nextch, fp);
-           else
-             ch = nextch;
-         }
-#endif /* !__APPLE__ */
-
-      case 0x0a :              /* LF - output current line */
-          if (PrettyPrint && keyptr > keyword)
-         {
-           *keyptr = '\0';
-           keyptr  = keyword;
-
-           if (bsearch(&keyptr, Keywords, NumKeywords, sizeof(char *),
-                       compare_keywords))
-            {
-            /*
-             * Put keywords in boldface...
-             */
-
-             i = page_column * (ColumnWidth + ColumnGutter);
-
-             while (keycol < column)
-             {
-               Page[line][keycol + i].attr |= ATTR_BOLD;
-               keycol ++;
-             }
-           }
-         }
-
-          line ++;
-          column = 0;
-         keycol = 0;
-
-          if (!ccomment && !cstring)
-           attr &= ~(ATTR_ITALIC | ATTR_BOLD | ATTR_RED | ATTR_GREEN | ATTR_BLUE);
-
-          if (line >= SizeLines)
-          {
-            page_column ++;
-            line = 0;
-
-            if (page_column >= PageColumns)
-            {
-              WritePage();
-             page_column = 0;
-            }
-          }
-          break;
-
-      case 0x0b :              /* VT - move up 1 line */
-          if (line > 0)
-           line --;
-
-          keyptr = keyword;
-         keycol = column;
-
-          if (!ccomment && !cstring)
-           attr &= ~(ATTR_ITALIC | ATTR_BOLD | ATTR_RED | ATTR_GREEN | ATTR_BLUE);
-          break;
-
-      case 0x0c :              /* FF - eject current page... */
-          if (PrettyPrint && keyptr > keyword)
-         {
-           *keyptr = '\0';
-           keyptr  = keyword;
-
-           if (bsearch(&keyptr, Keywords, NumKeywords, sizeof(char *),
-                       compare_keywords))
-            {
-            /*
-             * Put keywords in boldface...
-             */
-
-             i = page_column * (ColumnWidth + ColumnGutter);
-
-             while (keycol < column)
-             {
-               Page[line][keycol + i].attr |= ATTR_BOLD;
-               keycol ++;
-             }
-           }
-         }
-
-          page_column ++;
-         column = 0;
-         keycol = 0;
-          line   = 0;
-
-          if (!ccomment && !cstring)
-           attr &= ~(ATTR_ITALIC | ATTR_BOLD | ATTR_RED | ATTR_GREEN | ATTR_BLUE);
-
-          if (page_column >= PageColumns)
-          {
-            WritePage();
-            page_column = 0;
-          }
-          break;
-
-      case 0x1b :              /* Escape sequence */
-          ch = getutf8(fp);
-         if (ch == '7')
-         {
-          /*
-           * ESC 7     Reverse full line (0x1b 0x37)
-           */
-
-            if (line > 0)
-             line --;
-         }
-         else if (ch == '8')
-         {
-           /*
-           *   ESC 8   Reverse half line (0x1b 0x38)
-           */
-
-            if ((attr & ATTR_RAISED) && line > 0)
-           {
-             attr &= ~ATTR_RAISED;
-              line --;
-           }
-           else if (attr & ATTR_LOWERED)
-             attr &= ~ATTR_LOWERED;
-           else
-             attr |= ATTR_RAISED;
-         }
-         else if (ch == '9')
-         {
-           /*
-           *   ESC 9   Forward half line (0x1b 0x39)
-           */
-
-            if ((attr & ATTR_LOWERED) && line < (SizeLines - 1))
-           {
-             attr &= ~ATTR_LOWERED;
-              line ++;
-           }
-           else if (attr & ATTR_RAISED)
-             attr &= ~ATTR_RAISED;
-           else
-             attr |= ATTR_LOWERED;
-         }
-         break;
-
-      default :                        /* All others... */
-          if (ch < ' ')
-            break;             /* Ignore other control chars */
-
-          if (PrettyPrint > PRETTY_PLAIN)
-         {
-          /*
-           * Do highlighting of C/C++ keywords, preprocessor commands,
-           * and comments...
-           */
-
-           if (ch == ' ' && (attr & ATTR_BOLD))
-           {
-            /*
-             * Stop bolding preprocessor command...
-             */
-
-             attr &= ~ATTR_BOLD;
-           }
-           else if (!(isalnum(ch & 255) || ch == '_') && keyptr > keyword)
-           {
-            /*
-             * Look for a keyword...
-             */
-
-             *keyptr = '\0';
-             keyptr  = keyword;
-
-             if (!(attr & ATTR_ITALIC) &&
-                 bsearch(&keyptr, Keywords, NumKeywords, sizeof(char *),
-                         compare_keywords))
-              {
-              /*
-               * Put keywords in boldface...
-               */
-
-               i = page_column * (ColumnWidth + ColumnGutter);
-
-               while (keycol < column)
-               {
-                 Page[line][keycol + i].attr |= ATTR_BOLD;
-                 keycol ++;
-               }
-             }
-           }
-           else if ((isalnum(ch & 255) || ch == '_') && !ccomment && !cstring)
-           {
-            /*
-             * Add characters to the current keyword (if they'll fit).
-             */
-
-              if (keyptr == keyword)
-               keycol = column;
-
-             if (keyptr < (keyword + sizeof(keyword) - 1))
-               *keyptr++ = ch;
-            }
-           else if (ch == '\"' && lastch != '\\' && !ccomment && !cstring)
-           {
-            /*
-             * Start a C string constant...
-             */
-
-             cstring = -1;
-              attr    = ATTR_BLUE;
-           }
-            else if (ch == '*' && lastch == '/' && !cstring &&
-                    PrettyPrint != PRETTY_SHELL)
-           {
-            /*
-             * Start a C-style comment...
-             */
-
-             ccomment = 1;
-             attr     = ATTR_ITALIC | ATTR_GREEN;
-           }
-           else if (ch == '/' && lastch == '/' && !cstring &&
-                    PrettyPrint == PRETTY_CODE)
-           {
-            /*
-             * Start a C++-style comment...
-             */
-
-             attr = ATTR_ITALIC | ATTR_GREEN;
-           }
-           else if (ch == '#' && !cstring && PrettyPrint != PRETTY_CODE)
-           {
-            /*
-             * Start a shell-style comment...
-             */
-
-             attr = ATTR_ITALIC | ATTR_GREEN;
-           }
-           else if (ch == '#' && column == 0 && !ccomment && !cstring &&
-                    PrettyPrint == PRETTY_CODE)
-           {
-            /*
-             * Start a preprocessor command...
-             */
-
-             attr = ATTR_BOLD | ATTR_RED;
-           }
-          }
-
-          if (column >= ColumnWidth && WrapLines)
-          {                    /* Wrap text to margins */
-            column = 0;
-           line ++;
-
-            if (line >= SizeLines)
-            {
-              page_column ++;
-              line = 0;
-
-              if (page_column >= PageColumns)
-              {
-               WritePage();
-               page_column = 0;
-              }
-            }
-          }
-
-         /*
-         * Add text to the current column & line...
-         */
-
-          if (column < ColumnWidth)
-         {
-           i = column + page_column * (ColumnWidth + ColumnGutter);
-
-            if (PrettyPrint)
-              Page[line][i].attr = attr;
-           else if (ch == ' ' && Page[line][i].ch)
-             ch = Page[line][i].ch;
-            else if (ch == Page[line][i].ch)
-              Page[line][i].attr |= ATTR_BOLD;
-            else if (Page[line][i].ch == '_')
-              Page[line][i].attr |= ATTR_UNDERLINE;
-            else if (ch == '_')
-           {
-              Page[line][i].attr |= ATTR_UNDERLINE;
-
-              if (Page[line][i].ch)
-               ch = Page[line][i].ch;
-           }
-           else
-              Page[line][i].attr = attr;
-
-            Page[line][i].ch = ch;
-         }
-
-          if (PrettyPrint)
-         {
-           if ((ch == '{' || ch == '}') && !ccomment && !cstring &&
-               column < ColumnWidth)
-           {
-            /*
-             * Highlight curley braces...
-             */
-
-             Page[line][column].attr |= ATTR_BOLD;
-           }
-           else if ((ch == '/' || ch == '*') && lastch == '/' &&
-                    column < ColumnWidth && PrettyPrint != PRETTY_SHELL)
-           {
-            /*
-             * Highlight first comment character...
-             */
-
-             Page[line][column - 1].attr = attr;
-           }
-           else if (ch == '\"' && lastch != '\\' && !ccomment && cstring > 0)
-           {
-            /*
-             * End a C string constant...
-             */
-
-             cstring = 0;
-             attr    &= ~ATTR_BLUE;
-            }
-           else if (ch == '/' && lastch == '*' && ccomment)
-           {
-            /*
-             * End a C-style comment...
-             */
-
-             ccomment = 0;
-             attr     &= ~(ATTR_ITALIC | ATTR_GREEN);
-           }
-
-            if (cstring < 0)
-             cstring = 1;
-         }
-
-          column ++;
-          break;
-    }
-
-   /*
-    * Save this character for the next cycle.
-    */
-
-    lastch = ch;
-  }
-
- /*
-  * Write any remaining page data...
-  */
-
-  if (line > 0 || page_column > 0 || column > 0)
-    WritePage();
-
- /*
-  * Write the epilog and return...
-  */
-
-  WriteEpilogue();
-
-  if (ppd != NULL)
-    ppdClose(ppd);
-
-  return (0);
-}
-
-
-/*
- * 'compare_keywords()' - Compare two C/C++ keywords.
- */
-
-static int                             /* O - Result of strcmp */
-compare_keywords(const void *k1,       /* I - First keyword */
-                 const void *k2)       /* I - Second keyword */
-{
-  return (strcmp(*((const char **)k1), *((const char **)k2)));
-}
-
-
-/*
- * 'getutf8()' - Get a UTF-8 encoded wide character...
- */
-
-static int             /* O - Character or -1 on error */
-getutf8(FILE *fp)      /* I - File to read from */
-{
-  int  ch;             /* Current character value */
-  int  next;           /* Next character from file */
-
-
- /*
-  * Read the first character and process things accordingly...
-  *
-  * UTF-8 maps 16-bit characters to:
-  *
-  *        0 to 127 = 0xxxxxxx
-  *     128 to 2047 = 110xxxxx 10yyyyyy (xxxxxyyyyyy)
-  *   2048 to 65535 = 1110xxxx 10yyyyyy 10zzzzzz (xxxxyyyyyyzzzzzz)
-  *
-  * We also accept:
-  *
-  *      128 to 191 = 10xxxxxx
-  *
-  * since this range of values is otherwise undefined unless you are
-  * in the middle of a multi-byte character...
-  *
-  * This code currently does not support anything beyond 16-bit
-  * characters, in part because PostScript doesn't support more than
-  * 16-bit characters...
-  */
-
-  if ((ch = getc(fp)) == EOF)
-    return (EOF);
-
-  if (ch < 0xc0)                       /* One byte character? */
-    return (ch);
-  else if ((ch & 0xe0) == 0xc0)
-  {
-   /*
-    * Two byte character...
-    */
-
-    if ((next = getc(fp)) == EOF)
-      return (EOF);
-    else
-      return (((ch & 0x1f) << 6) | (next & 0x3f));
-  }
-  else if ((ch & 0xf0) == 0xe0)
-  {
-   /*
-    * Three byte character...
-    */
-
-    if ((next = getc(fp)) == EOF)
-      return (EOF);
-
-    ch = ((ch & 0x0f) << 6) | (next & 0x3f);
-
-    if ((next = getc(fp)) == EOF)
-      return (EOF);
-    else
-      return ((ch << 6) | (next & 0x3f));
-  }
-  else
-  {
-   /*
-    * More than three bytes...  We don't support that...
-    */
-
-    return (EOF);
-  }
-}
-
-
-/*
- * End of "$Id: textcommon.c 9793 2011-05-20 03:49:49Z mike $".
- */
diff --git a/filter/textcommon.h b/filter/textcommon.h
deleted file mode 100644 (file)
index 0597c2e..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * "$Id: textcommon.h 9042 2010-03-24 00:45:34Z mike $"
- *
- *   Common text filter definitions for CUPS.
- *
- *   Copyright 2007-2010 by Apple Inc.
- *   Copyright 1997-2005 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- *   This file is subject to the Apple OS-Developed Software exception.
- */
-
-/*
- * Include necessary headers...
- */
-
-#include "common.h"
-
-
-/*
- * C++ magic...
- */
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-
-/*
- * Constants...
- */
-
-#define ATTR_NORMAL    0x00
-#define ATTR_BOLD      0x01
-#define ATTR_ITALIC    0x02
-#define ATTR_BOLDITALIC        0x03
-#define ATTR_FONT      0x03
-
-#define ATTR_UNDERLINE 0x04
-#define ATTR_RAISED    0x08
-#define ATTR_LOWERED   0x10
-#define ATTR_RED       0x20
-#define ATTR_GREEN     0x40
-#define ATTR_BLUE      0x80
-
-#define PRETTY_OFF     0
-#define PRETTY_PLAIN   1
-#define PRETTY_CODE    2
-#define PRETTY_SHELL   3
-#define PRETTY_PERL    4
-#define PRETTY_HTML    5
-
-
-/*
- * Structures...
- */
-
-typedef struct                 /**** Character/attribute structure... ****/
-{
-  unsigned short ch,           /* Character */
-               attr;           /* Any attributes */
-} lchar_t;
-
-
-/*
- * Globals...
- */
-
-extern int     WrapLines,      /* Wrap text in lines */
-               SizeLines,      /* Number of lines on a page */
-               SizeColumns,    /* Number of columns on a line */
-               PageColumns,    /* Number of columns on a page */
-               ColumnGutter,   /* Number of characters between text columns */
-               ColumnWidth,    /* Width of each column */
-               PrettyPrint,    /* Do pretty code formatting? */
-               Copies;         /* Number of copies to produce */
-extern lchar_t **Page;         /* Page characters */
-extern int     NumPages;       /* Number of pages in document */
-extern float   CharsPerInch,   /* Number of character columns per inch */
-               LinesPerInch;   /* Number of lines per inch */
-extern int     UTF8,           /* Use UTF-8 encoding? */
-               NumKeywords;    /* Number of known keywords */
-extern char    **Keywords;     /* List of known keywords... */
-
-
-/*
- * Required functions...
- */
-
-extern int     TextMain(const char *name, int argc, char *argv[]);
-extern void    WriteEpilogue(void);
-extern void    WritePage(void);
-extern void    WriteProlog(const char *title, const char *user,
-                           const char *classification, const char *label,
-                           ppd_file_t *ppd);
-
-
-/*
- * C++ magic...
- */
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-
-/*
- * End of "$Id: textcommon.h 9042 2010-03-24 00:45:34Z mike $".
- */
diff --git a/filter/texttops.c b/filter/texttops.c
deleted file mode 100644 (file)
index 361fe4c..0000000
+++ /dev/null
@@ -1,1165 +0,0 @@
-/*
- * "$Id: texttops.c 9399 2010-12-03 06:29:20Z mike $"
- *
- *   Text to PostScript filter for CUPS.
- *
- *   Copyright 2007-2010 by Apple Inc.
- *   Copyright 1993-2007 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- *   This file is subject to the Apple OS-Developed Software exception.
- *
- * Contents:
- *
- *   main()          - Main entry for text to PostScript filter.
- *   WriteEpilogue() - Write the PostScript file epilogue.
- *   WritePage()     - Write a page of text.
- *   WriteProlog()   - Write the PostScript file prolog with options.
- *   write_line()    - Write a row of text.
- *   write_string()  - Write a string of text.
- */
-
-/*
- * Include necessary headers...
- */
-
-#include "textcommon.h"
-#include <cups/language-private.h>
-
-
-/*
- * Globals...
- */
-
-char           *Glyphs[65536]; /* PostScript glyphs for Unicode */
-int            NumFonts;       /* Number of fonts to use */
-char           *Fonts[256][4]; /* Fonts to use */
-unsigned short Chars[65536];   /* 0xffcc (ff = font, cc = char) */
-unsigned short Codes[65536];   /* Unicode glyph mapping to fonts */
-int            Widths[256];    /* Widths of each font */
-int            Directions[256];/* Text directions for each font */
-
-
-/*
- * Local functions...
- */
-
-static void    write_line(int row, lchar_t *line);
-static void    write_string(int col, int row, int len, lchar_t *s);
-static void    write_text(const char *s);
-
-
-/*
- * 'main()' - Main entry for text to PostScript filter.
- */
-
-int                    /* O - Exit status */
-main(int  argc,                /* I - Number of command-line arguments */
-     char *argv[])     /* I - Command-line arguments */
-{
-  return (TextMain("texttops", argc, argv));
-}
-
-
-/*
- * 'WriteEpilogue()' - Write the PostScript file epilogue.
- */
-
-void
-WriteEpilogue(void)
-{
-  puts("%%Trailer");
-  printf("%%%%Pages: %d\n", NumPages);
-  puts("%%EOF");
-
-  free(Page[0]);
-  free(Page);
-}
-
-
-/*
- * 'WritePage()' - Write a page of text.
- */
-
-void
-WritePage(void)
-{
-  int  line;                   /* Current line */
-
-
-  NumPages ++;
-  printf("%%%%Page: %d %d\n", NumPages, NumPages);
-
-  puts("gsave");
-
-  if (PrettyPrint)
-    printf("%d H\n", NumPages);
-
-  for (line = 0; line < SizeLines; line ++)
-    write_line(line, Page[line]);
-
-  puts("grestore");
-  puts("showpage");
-
-  memset(Page[0], 0, sizeof(lchar_t) * SizeColumns * SizeLines);
-}
-
-
-/*
- * 'WriteProlog()' - Write the PostScript file prolog with options.
- */
-
-void
-WriteProlog(const char *title,         /* I - Title of job */
-           const char *user,           /* I - Username */
-            const char *classification,        /* I - Classification */
-           const char *label,          /* I - Page label */
-            ppd_file_t *ppd)           /* I - PPD file info */
-{
-  int          i, j, k;        /* Looping vars */
-  char         *charset;       /* Character set string */
-  char         filename[1024]; /* Glyph filenames */
-  FILE         *fp;            /* Glyph files */
-  const char   *datadir;       /* CUPS_DATADIR environment variable */
-  char         line[1024],     /* Line from file */
-               *lineptr,       /* Pointer into line */
-               *valptr;        /* Pointer to value in line */
-  int          ch, unicode;    /* Character values */
-  int          start, end;     /* Start and end values for range */
-  char         glyph[64];      /* Glyph name */
-  time_t       curtime;        /* Current time */
-  struct tm    *curtm;         /* Current date */
-  char         curdate[255];   /* Current date (text format) */
-  int          num_fonts;      /* Number of unique fonts */
-  char         *fonts[1024];   /* Unique fonts */
-  static char  *names[] =      /* Font names */
-               {
-                 "cupsNormal",
-                 "cupsBold",
-                 "cupsItalic"
-               };
-
-
- /*
-  * Get the data directory...
-  */
-
-  if ((datadir = getenv("CUPS_DATADIR")) == NULL)
-    datadir = CUPS_DATADIR;
-
- /*
-  * Adjust margins as necessary...
-  */
-
-  if (classification || label)
-  {
-   /*
-    * Leave room for labels...
-    */
-
-    PageBottom += 36;
-    PageTop    -= 36;
-  }
-
- /*
-  * Allocate memory for the page...
-  */
-
-  SizeColumns = (PageRight - PageLeft) / 72.0 * CharsPerInch;
-  SizeLines   = (PageTop - PageBottom) / 72.0 * LinesPerInch;
-
-  if (SizeColumns <= 0 || SizeColumns > 32767 ||
-      SizeLines <= 0 || SizeLines > 32767)
-  {
-    _cupsLangPrintFilter(stderr, "ERROR",
-                         _("Unable to print %dx%d text page."),
-                         SizeColumns, SizeLines);
-    exit(1);
-  }
-
-  if ((Page = calloc(sizeof(lchar_t *), SizeLines)) == NULL)
-  {
-    _cupsLangPrintFilter(stderr, "ERROR",
-                         _("Unable to print %dx%d text page."),
-                         SizeColumns, SizeLines);
-    exit(1);
-  }
-
-  if ((Page[0] = calloc(sizeof(lchar_t), SizeColumns * SizeLines)) == NULL)
-  {
-    _cupsLangPrintFilter(stderr, "ERROR",
-                         _("Unable to print %dx%d text page."),
-                         SizeColumns, SizeLines);
-    exit(1);
-  }
-
-  for (i = 1; i < SizeLines; i ++)
-    Page[i] = Page[0] + i * SizeColumns;
-
-  if (PageColumns > 1)
-  {
-    ColumnGutter = CharsPerInch / 2;
-    ColumnWidth  = (SizeColumns - ColumnGutter * (PageColumns - 1)) /
-                   PageColumns;
-  }
-  else
-    ColumnWidth = SizeColumns;
-
-  if (ColumnWidth <= 0)
-  {
-    _cupsLangPrintFilter(stderr, "ERROR",
-                         _("Unable to print %d text columns."), PageColumns);
-    exit(1);
-  }
-
- /*
-  * Output the DSC header...
-  */
-
-  curtime = time(NULL);
-  curtm   = localtime(&curtime);
-  strftime(curdate, sizeof(curdate), "%c", curtm);
-
-  puts("%!PS-Adobe-3.0");
-  printf("%%%%BoundingBox: 0 0 %.0f %.0f\n", PageWidth, PageLength);
-  printf("%%cupsRotation: %d\n", (Orientation & 3) * 90);
-  puts("%%Creator: texttops/" CUPS_SVERSION);
-  printf("%%%%CreationDate: %s\n", curdate);
-  WriteTextComment("Title", title);
-  WriteTextComment("For", user);
-  puts("%%Pages: (atend)");
-
- /*
-  * Initialize globals...
-  */
-
-  NumFonts = 0;
-  memset(Fonts, 0, sizeof(Fonts));
-  memset(Glyphs, 0, sizeof(Glyphs));
-  memset(Chars, 0, sizeof(Chars));
-  memset(Codes, 0, sizeof(Codes));
-
- /*
-  * Load the PostScript glyph names and the corresponding character
-  * set definition...
-  */
-
-  snprintf(filename, sizeof(filename), "%s/data/psglyphs", datadir);
-
-  if ((fp = fopen(filename, "r")) != NULL)
-  {
-    while (fscanf(fp, "%x%63s", &unicode, glyph) == 2)
-      Glyphs[unicode] = strdup(glyph);
-
-    fclose(fp);
-  }
-  else
-  {
-    _cupsLangPrintError("ERROR", _("Unable to open psglyphs"));
-    exit(1);
-  }
-
- /*
-  * Get the output character set...
-  */
-
-  charset = getenv("CHARSET");
-  if (charset != NULL && strcmp(charset, "us-ascii") != 0)
-  {
-    snprintf(filename, sizeof(filename), "%s/charsets/%s", datadir, charset);
-
-    if ((fp = fopen(filename, "r")) == NULL)
-    {
-     /*
-      * Can't open charset file!
-      */
-
-      _cupsLangPrintError("ERROR", _("Unable to open charset file"));
-      exit(1);
-    }
-
-   /*
-    * Opened charset file; now see if this is really a charset file...
-    */
-
-    if (fgets(line, sizeof(line), fp) == NULL)
-    {
-     /*
-      * Bad/empty charset file!
-      */
-
-      fclose(fp);
-      _cupsLangPrintFilter(stderr, "ERROR", _("Bad charset file \"%s\"."),
-                           filename);
-      exit(1);
-    }
-
-    if (strncmp(line, "charset", 7) != 0)
-    {
-     /*
-      * Bad format/not a charset file!
-      */
-
-      fclose(fp);
-      _cupsLangPrintFilter(stderr, "ERROR", _("Bad charset file \"%s\"."),
-                           filename);
-      exit(1);
-    }
-
-   /*
-    * See if this is an 8-bit or UTF-8 character set file...
-    */
-
-    line[strlen(line) - 1] = '\0'; /* Drop \n */
-    for (lineptr = line + 7; isspace(*lineptr & 255); lineptr ++); /* Skip whitespace */
-
-    if (strcmp(lineptr, "utf8") == 0)
-    {
-     /*
-      * UTF-8 (Unicode) text...
-      */
-
-      NumFonts = 0;
-
-      while (fgets(line, sizeof(line), fp) != NULL)
-      {
-       /*
-        * Skip comment and blank lines...
-       */
-
-        if (line[0] == '#' || line[0] == '\n')
-         continue;
-
-       /*
-       * Read the font descriptions that should look like:
-       *
-       *   start end direction width normal [bold italic bold-italic]
-       */
-
-       lineptr = line;
-
-        start = strtol(lineptr, &lineptr, 16);
-       end   = strtol(lineptr, &lineptr, 16);
-
-       while (isspace(*lineptr & 255))
-         lineptr ++;
-
-       valptr = lineptr;
-
-       while (!isspace(*lineptr & 255) && *lineptr)
-         lineptr ++;
-
-       if (!*lineptr)
-       {
-        /*
-         * Can't have a font without all required values...
-         */
-
-         _cupsLangPrintFilter(stderr, "ERROR",
-                              _("Bad font description line: %s"), valptr);
-         fclose(fp);
-         exit(1);
-       }
-
-       *lineptr++ = '\0';
-
-       if (strcmp(valptr, "ltor") == 0)
-         Directions[NumFonts] = 1;
-       else if (strcmp(valptr, "rtol") == 0)
-         Directions[NumFonts] = -1;
-       else
-       {
-         _cupsLangPrintFilter(stderr, "ERROR", _("Bad text direction: %s"),
-                              valptr);
-         fclose(fp);
-         exit(1);
-       }
-
-       /*
-       * Got the direction, now get the width...
-       */
-
-       while (isspace(*lineptr & 255))
-         lineptr ++;
-
-       valptr = lineptr;
-
-       while (!isspace(*lineptr & 255) && *lineptr)
-         lineptr ++;
-
-       if (!*lineptr)
-       {
-        /*
-         * Can't have a font without all required values...
-         */
-
-         _cupsLangPrintFilter(stderr, "ERROR",
-                              _("Bad font description line: %s"), valptr);
-         fclose(fp);
-         exit(1);
-       }
-
-       *lineptr++ = '\0';
-
-       if (strcmp(valptr, "single") == 0)
-          Widths[NumFonts] = 1;
-       else if (strcmp(valptr, "double") == 0)
-          Widths[NumFonts] = 2;
-       else 
-       {
-         _cupsLangPrintFilter(stderr, "ERROR",
-                              _("Bad text width: %s"), valptr);
-         fclose(fp);
-         exit(1);
-       }
-
-       /*
-       * Get the fonts...
-       */
-
-       for (i = 0; *lineptr && i < 4; i ++)
-       {
-         while (isspace(*lineptr & 255))
-           lineptr ++;
-
-         valptr = lineptr;
-
-         while (!isspace(*lineptr & 255) && *lineptr)
-           lineptr ++;
-
-          if (*lineptr)
-           *lineptr++ = '\0';
-
-          if (lineptr > valptr)
-           Fonts[NumFonts][i] = strdup(valptr);
-       }
-
-       /*
-       * Fill in remaining fonts as needed...
-       */
-
-       for (j = i; j < 4; j ++)
-         Fonts[NumFonts][j] = strdup(Fonts[NumFonts][0]);
-
-       /*
-        * Define the character mappings...
-       */
-
-       for (i = start, j = NumFonts * 256; i <= end; i ++, j ++)
-       {
-         Chars[i] = j;
-          Codes[j] = i;
-       }
-
-       /*
-        * Move to the next font, stopping if needed...
-       */
-
-        NumFonts ++;
-       if (NumFonts >= 256)
-         break;
-      }
-
-      fclose(fp);
-    }
-    else
-    {
-      _cupsLangPrintFilter(stderr, "ERROR", _("Bad charset type: %s"), lineptr);
-      fclose(fp);
-      exit(1);
-    }
-  }
-  else
-  {
-   /*
-    * Standard ASCII output just uses Courier, Courier-Bold, and
-    * possibly Courier-Oblique.
-    */
-
-    NumFonts = 1;
-
-    Fonts[0][ATTR_NORMAL]     = strdup("Courier");
-    Fonts[0][ATTR_BOLD]       = strdup("Courier-Bold");
-    Fonts[0][ATTR_ITALIC]     = strdup("Courier-Oblique");
-    Fonts[0][ATTR_BOLDITALIC] = strdup("Courier-BoldOblique");
-
-    Widths[0]     = 1;
-    Directions[0] = 1;
-
-   /*
-    * Define US-ASCII characters...
-    */
-
-    for (i = 32; i < 127; i ++)
-    {
-      Chars[i] = i;
-      Codes[i] = i;
-    }
-  }
-
- /*
-  * Generate a list of unique fonts to use...
-  */
-
-  for (i = 0, num_fonts = 0; i < NumFonts; i ++)
-    for (j = PrettyPrint ? 2 : 1; j >= 0; j --)
-    {
-      for (k = 0; k < num_fonts; k ++)
-        if (strcmp(Fonts[i][j], fonts[k]) == 0)
-         break;
-
-      if (k >= num_fonts)
-      {
-       /*
-        * Add new font...
-       */
-
-        fonts[num_fonts] = Fonts[i][j];
-       num_fonts ++;
-      }
-    }
-
- /*
-  * List the fonts that will be used...
-  */
-
-  for (i = 0; i < num_fonts; i ++)
-    if (i == 0)
-      printf("%%%%DocumentNeededResources: font %s\n", fonts[i]);
-    else
-      printf("%%%%+ font %s\n", fonts[i]);
-
-  puts("%%DocumentSuppliedResources: procset texttops 1.1 0");
-
-  for (i = 0; i < num_fonts; i ++)
-  {
-    if (ppd != NULL)
-    {
-      fprintf(stderr, "DEBUG: ppd->num_fonts = %d\n", ppd->num_fonts);
-
-      for (j = 0; j < ppd->num_fonts; j ++)
-      {
-        fprintf(stderr, "DEBUG: ppd->fonts[%d] = %s\n", j, ppd->fonts[j]);
-
-       if (strcmp(fonts[i], ppd->fonts[j]) == 0)
-          break;
-      }
-    }
-    else
-      j = 0;
-
-    if ((ppd != NULL && j >= ppd->num_fonts) ||
-        strncmp(fonts[i], "Courier", 7) == 0 ||
-       strcmp(fonts[i], "Symbol") == 0)
-    {
-     /*
-      * Need to embed this font...
-      */
-
-      printf("%%%%+ font %s\n", fonts[i]);
-    }
-  }
-
-  puts("%%EndComments");
-
-  puts("%%BeginProlog");
-
- /*
-  * Download any missing fonts...
-  */
-
-  for (i = 0; i < num_fonts; i ++)
-  {
-    if (ppd != NULL)
-    {
-      for (j = 0; j < ppd->num_fonts; j ++)
-       if (strcmp(fonts[i], ppd->fonts[j]) == 0)
-          break;
-    }
-    else
-      j = 0;
-
-    if ((ppd != NULL && j >= ppd->num_fonts) ||
-        strncmp(fonts[i], "Courier", 7) == 0 ||
-       strcmp(fonts[i], "Symbol") == 0)
-    {
-     /*
-      * Need to embed this font...
-      */
-
-      printf("%%%%BeginResource: font %s\n", fonts[i]);
-
-      /**** MRS: Need to use CUPS_FONTPATH env var! ****/
-      /**** Also look for Fontmap file or name.pfa, name.pfb... ****/
-      snprintf(filename, sizeof(filename), "%s/fonts/%s", datadir, fonts[i]);
-      if ((fp = fopen(filename, "rb")) != NULL)
-      {
-        while ((j = fread(line, 1, sizeof(line), fp)) > 0)
-         fwrite(line, 1, j, stdout);
-
-       fclose(fp);
-      }
-
-      puts("\n%%EndResource");
-    }
-  }
-
- /*
-  * Write the encoding array(s)...
-  */
-
-  puts("% character encoding(s)");
-
-  for (i = 0; i < NumFonts; i ++)
-  {
-    printf("/cupsEncoding%02x [\n", i);
-
-    for (ch = 0; ch < 256; ch ++)
-    {
-      if (Glyphs[Codes[i * 256 + ch]])
-       printf("/%s", Glyphs[Codes[i * 256 + ch]]);
-      else if (Codes[i * 256 + ch] > 255)
-        printf("/uni%04X", Codes[i * 256 + ch]);
-      else
-       printf("/.notdef");
-
-      if ((ch & 7) == 7)
-       putchar('\n');
-    }
-
-    puts("] def");
-  }
-
- /*
-  * Create the fonts...
-  */
-
-  if (NumFonts == 1)
-  {
-   /*
-    * Just reencode the named fonts...
-    */
-
-    puts("% Reencode fonts");
-
-    for (i = PrettyPrint ? 2 : 1; i >= 0; i --)
-    {
-      printf("/%s findfont\n", Fonts[0][i]);
-      puts("dup length 1 add dict begin\n"
-          "    { 1 index /FID ne { def } { pop pop } ifelse } forall\n"
-          "    /Encoding cupsEncoding00 def\n"
-          "    currentdict\n"
-          "end");
-      printf("/%s exch definefont pop\n", names[i]);
-    }
-  }
-  else
-  {
-   /*
-    * Construct composite fonts...  Start by reencoding the base fonts...
-    */
-
-    puts("% Reencode base fonts");
-
-    for (i = PrettyPrint ? 2 : 1; i >= 0; i --)
-      for (j = 0; j < NumFonts; j ++)
-      {
-       printf("/%s findfont\n", Fonts[j][i]);
-       printf("dup length 1 add dict begin\n"
-              "        { 1 index /FID ne { def } { pop pop } ifelse } forall\n"
-              "        /Encoding cupsEncoding%02x def\n"
-              "        currentdict\n"
-              "end\n", j);
-       printf("/%s%02x exch definefont /%s%02x exch def\n", names[i], j,
-              names[i], j);
-      }
-
-   /*
-    * Then merge them into composite fonts...
-    */
-
-    puts("% Create composite fonts...");
-
-    for (i = PrettyPrint ? 2 : 1; i >= 0; i --)
-    {
-      puts("8 dict begin");
-      puts("/FontType 0 def/FontMatrix[1.0 0 0 1.0 0 0]def/FMapType 2 def/Encoding[");
-      for (j = 0; j < NumFonts; j ++)
-        if (j == (NumFonts - 1))
-         printf("%d", j);
-       else if ((j & 15) == 15)
-          printf("%d\n", j);
-       else
-         printf("%d ", j);
-      puts("]def/FDepVector[");
-      for (j = 0; j < NumFonts; j ++)
-        if (j == (NumFonts - 1))
-          printf("%s%02x", names[i], j);
-       else if ((j & 3) == 3)
-          printf("%s%02x\n", names[i], j);
-       else
-         printf("%s%02x ", names[i], j);
-      puts("]def currentdict end");
-      printf("/%s exch definefont pop\n", names[i]);
-    }
-  }
-
- /*
-  * Output the texttops procset...
-  */
-
-  puts("%%BeginResource: procset texttops 1.1 0");
-
-  puts("% Define fonts");
-
-  printf("/FN /cupsNormal findfont [%.3f 0 0 %.3f 0 0] makefont def\n",
-         120.0 / CharsPerInch, 68.0 / LinesPerInch);
-  printf("/FB /cupsBold findfont [%.3f 0 0 %.3f 0 0] makefont def\n",
-         120.0 / CharsPerInch, 68.0 / LinesPerInch);
-  if (PrettyPrint)
-    printf("/FI /cupsItalic findfont [%.3f 0 0 %.3f 0 0] makefont def\n",
-           120.0 / CharsPerInch, 68.0 / LinesPerInch);
-
-  puts("% Common procedures");
-
-  puts("/N { FN setfont moveto } bind def");
-  puts("/B { FB setfont moveto } bind def");
-  printf("/U { gsave 0.5 setlinewidth 0 %.3f rmoveto "
-         "0 rlineto stroke grestore } bind def\n", -6.8 / LinesPerInch);
-
-  if (PrettyPrint)
-  {
-    if (ColorDevice)
-    {
-      puts("/S { 0.0 setgray show } bind def");
-      puts("/r { 0.5 0.0 0.0 setrgbcolor show } bind def");
-      puts("/g { 0.0 0.5 0.0 setrgbcolor show } bind def");
-      puts("/b { 0.0 0.0 0.5 setrgbcolor show } bind def");
-    }
-    else
-    {
-      puts("/S { 0.0 setgray show } bind def");
-      puts("/r { 0.2 setgray show } bind def");
-      puts("/g { 0.2 setgray show } bind def");
-      puts("/b { 0.2 setgray show } bind def");
-    }
-
-    puts("/I { FI setfont moveto } bind def");
-
-    puts("/n {");
-    puts("\t20 string cvs % convert page number to string");
-    if (NumFonts > 1)
-    {
-     /*
-      * Convert a number to double-byte chars...
-      */
-
-      puts("\tdup length % get length");
-      puts("\tdup 2 mul string /P exch def % P = string twice as long");
-      puts("\t0 1 2 index 1 sub { % loop through each character in the page number");
-      puts("\t\tdup 3 index exch get % get character N from the page number");
-      puts("\t\texch 2 mul dup % compute offset in P");
-      puts("\t\tP exch 0 put % font 0");
-      puts("\t\t1 add P exch 2 index put % character");
-      puts("\t\tpop % discard character");
-      puts("\t} for % do for loop");
-      puts("\tpop pop % discard string and length");
-      puts("\tP % put string on stack");
-    }
-    puts("} bind def");
-
-    printf("/T");
-    write_text(title);
-    puts("def");
-
-    printf("/D");
-    write_text(curdate);
-    puts("def");
-
-    puts("/H {");
-    puts("\tgsave");
-    puts("\t0.9 setgray");
-
-    if (Duplex)
-    {
-      puts("\tdup 2 mod 0 eq {");
-      printf("\t\t%.3f %.3f translate } {\n",
-             PageWidth - PageRight, PageTop + 72.0f / LinesPerInch);
-      printf("\t\t%.3f %.3f translate } ifelse\n",
-             PageLeft, PageTop + 72.0f / LinesPerInch);
-    }
-    else
-      printf("\t%.3f %.3f translate\n",
-             PageLeft, PageTop + 72.0f / LinesPerInch);
-
-    printf("\t0 0 %.3f %.3f rectfill\n", PageRight - PageLeft,
-          144.0f / LinesPerInch);
-
-    puts("\tFB setfont");
-    puts("\t0 setgray");
-
-    if (Duplex)
-    {
-      puts("\tdup 2 mod 0 eq {");
-      printf("\t\tT stringwidth pop neg %.3f add %.3f } {\n",
-             PageRight - PageLeft - 36.0f / LinesPerInch,
-            (0.5f + 0.157f) * 72.0f / LinesPerInch);
-      printf("\t\t%.3f %.3f } ifelse\n", 36.0f / LinesPerInch,
-            (0.5f + 0.157f) * 72.0f / LinesPerInch);
-    }
-    else
-      printf("\t%.3f %.3f\n", 36.0f / LinesPerInch,
-            (0.5f + 0.157f) * 72.0f / LinesPerInch);
-
-    puts("\tmoveto T show");
-
-    printf("\tD dup stringwidth pop neg 2 div %.3f add %.3f\n",
-           (PageRight - PageLeft) * 0.5,
-           (0.5f + 0.157f) * 72.0f / LinesPerInch);
-    puts("\tmoveto show");
-
-    if (Duplex)
-    {
-      puts("\tdup n exch 2 mod 0 eq {");
-      printf("\t\t%.3f %.3f } {\n", 36.0f / LinesPerInch,
-            (0.5f + 0.157f) * 72.0f / LinesPerInch);
-      printf("\t\tdup stringwidth pop neg %.3f add %.3f } ifelse\n",
-             PageRight - PageLeft - 36.0f / LinesPerInch,
-            (0.5f + 0.157f) * 72.0f / LinesPerInch);
-    }
-    else
-      printf("\tn dup stringwidth pop neg %.3f add %.3f\n",
-             PageRight - PageLeft - 36.0f / LinesPerInch,
-            (0.5f + 0.157f) * 72.0f / LinesPerInch);
-
-    puts("\tmoveto show");
-    puts("\tgrestore");
-    puts("} bind def");
-  }
-  else
-    puts("/S { show } bind def");
-
-  puts("%%EndResource");
-
-  puts("%%EndProlog");
-}
-
-
-/*
- * 'write_line()' - Write a row of text.
- */
-
-static void
-write_line(int     row,                /* I - Row number (0 to N) */
-           lchar_t *line)      /* I - Line to print */
-{
-  int          i;              /* Looping var */
-  int          col;            /* Current column */
-  int          attr;           /* Current attribute */
-  int          font,           /* Font to use */
-               lastfont,       /* Last font */
-               mono;           /* Monospaced? */
-  lchar_t      *start;         /* First character in sequence */
-
-
-  for (col = 0; col < SizeColumns;)
-  {
-    while (col < SizeColumns && (line->ch == ' ' || line->ch == 0))
-    {
-      col ++;
-      line ++;
-    }
-
-    if (col >= SizeColumns)
-      break;
-
-    if (NumFonts == 1)
-    {
-     /*
-      * All characters in a single font - assume monospaced...
-      */
-
-      attr  = line->attr;
-      start = line;
-
-      while (col < SizeColumns && line->ch != 0 && attr == line->attr)
-      {
-       col ++;
-       line ++;
-      }
-
-      write_string(col - (line - start), row, line - start, start);
-    }
-    else
-    {
-     /*
-      * Multiple fonts; break up based on the font...
-      */
-
-      attr     = line->attr;
-      start    = line;
-      lastfont = Chars[line->ch] / 256;
-      mono     = strncmp(Fonts[lastfont][0], "Courier", 7) == 0;
-      col ++;
-      line ++;
-
-      if (mono)
-      {
-       while (col < SizeColumns && line->ch != 0 && attr == line->attr)
-       {
-          font = Chars[line->ch] / 256;
-          if (strncmp(Fonts[font][0], "Courier", 7) != 0 ||
-             font != lastfont)
-           break;
-
-         col ++;
-         line ++;
-       }
-      }
-
-      if (Directions[lastfont] > 0)
-        write_string(col - (line - start), row, line - start, start);
-      else
-      {
-       /*
-        * Do right-to-left text...
-       */
-
-       while (col < SizeColumns && line->ch != 0 && attr == line->attr)
-       {
-          if (Directions[Chars[line->ch] / 256] > 0 &&
-             !ispunct(line->ch & 255) && !isspace(line->ch & 255))
-           break;
-
-         col ++;
-         line ++;
-       }
-
-        for (i = 1; start < line; i ++, start ++)
-         if (!isspace(start->ch & 255))
-           write_string(col - i, row, 1, start);
-      }
-    }
-  }
-}
-
-
-/*
- * 'write_string()' - Write a string of text.
- */
-
-static void
-write_string(int     col,      /* I - Start column */
-             int     row,      /* I - Row */
-             int     len,      /* I - Number of characters */
-             lchar_t *s)       /* I - String to print */
-{
-  int          ch;             /* Current character */
-  float                x, y;           /* Position of text */
-  unsigned     attr;           /* Character attributes */
-
-
- /*
-  * Position the text and set the font...
-  */
-
-  if (Duplex && (NumPages & 1) == 0)
-  {
-    x = PageWidth - PageRight;
-    y = PageTop;
-  }
-  else
-  {
-    x = PageLeft;
-    y = PageTop;
-  }
-
-  x += (float)col * 72.0f / (float)CharsPerInch;
-  y -= (float)(row + 0.843) * 72.0f / (float)LinesPerInch;
-
-  attr = s->attr;
-
-  if (attr & ATTR_RAISED)
-    y += 36.0 / (float)LinesPerInch;
-  else if (attr & ATTR_LOWERED)
-    y -= 36.0 / (float)LinesPerInch;
-
-  if (x == (int)x)
-    printf("%.0f ", x);
-  else
-    printf("%.3f ", x);
-
-  if (y == (int)y)
-    printf("%.0f ", y);
-  else
-    printf("%.3f ", y);
-
-  if (attr & ATTR_BOLD)
-    putchar('B');
-  else if (attr & ATTR_ITALIC)
-    putchar('I');
-  else
-    putchar('N');
-
-  if (attr & ATTR_UNDERLINE)
-    printf(" %.3f U", (float)len * 72.0 / (float)CharsPerInch);
-
-  if (NumFonts > 1)
-  {
-   /*
-    * Write a hex string...
-    */
-
-    putchar('<');
-
-    while (len > 0)
-    {
-      printf("%04x", Chars[s->ch]);
-
-      len --;
-      s ++;
-    }
-
-    putchar('>');
-  }
-  else
-  {
-   /*
-    * Write a quoted string...
-    */
-
-    putchar('(');
-
-    while (len > 0)
-    {
-      ch = Chars[s->ch];
-
-      if (ch < 32 || ch > 126)
-      {
-       /*
-       * Quote 8-bit and control characters...
-       */
-
-       printf("\\%03o", ch);
-      }
-      else
-      {
-       /*
-       * Quote the parenthesis and backslash as needed...
-       */
-
-       if (ch == '(' || ch == ')' || ch == '\\')
-         putchar('\\');
-
-       putchar(ch);
-      }
-
-      len --;
-      s ++;
-    }
-
-    putchar(')');
-  }
-
-  if (PrettyPrint)
-  {
-    if (attr & ATTR_RED)
-      puts("r");
-    else if (attr & ATTR_GREEN)
-      puts("g");
-    else if (attr & ATTR_BLUE)
-      puts("b");
-    else
-      puts("S");
-  }
-  else
-    puts("S");
-}
-
-
-/*
- * 'write_text()' - Write a text string, quoting/encoding as needed.
- */
-
-static void
-write_text(const char *s)      /* I - String to write */
-{
-  int                  ch;     /* Actual character value (UTF8) */
-  const unsigned char  *utf8;  /* UTF8 text */
-
-
-  if (NumFonts > 1)
-  {
-   /*
-    * 8/8 encoding...
-    */
-
-    putchar('<');
-
-    utf8 = (const unsigned char *)s;
-
-    while (*utf8)
-    {
-      if (*utf8 < 0xc0)
-        ch = *utf8 ++;
-      else if ((*utf8 & 0xe0) == 0xc0)
-      {
-       /*
-        * Two byte character...
-       */
-
-        ch = ((utf8[0] & 0x1f) << 6) | (utf8[1] & 0x3f);
-       utf8 += 2;
-      }
-      else
-      {
-       /*
-        * Three byte character...
-       */
-
-        ch = ((((utf8[0] & 0x1f) << 6) | (utf8[1] & 0x3f)) << 6) |
-            (utf8[2] & 0x3f);
-       utf8 += 3;
-      }
-
-      printf("%04x", Chars[ch]);
-    }
-
-    putchar('>');
-  }
-  else
-  {
-   /*
-    * Standard 8-bit encoding...
-    */
-
-    putchar('(');
-
-    while (*s)
-    {
-      if (*s < 32 || *s > 126)
-        printf("\\%03o", *s);
-      else
-      {
-       if (*s == '(' || *s == ')' || *s == '\\')
-         putchar('\\');
-
-       putchar(*s);
-      }
-
-      s ++;
-    }
-
-    putchar(')');
-  }
-}
-
-
-/*
- * End of "$Id: texttops.c 9399 2010-12-03 06:29:20Z mike $".
- */
diff --git a/fonts/Makefile b/fonts/Makefile
deleted file mode 100644 (file)
index 516b53f..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-#
-# "$Id: Makefile 9771 2011-05-12 05:21:56Z mike $"
-#
-#   Fonts makefile for CUPS.
-#
-#   Copyright 2007-2011 by Apple Inc.
-#   Copyright 1993-2006 by Easy Software Products.
-#
-#   These coded instructions, statements, and computer programs are the
-#   property of Apple Inc. and are protected by Federal copyright
-#   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
-#   which should have been included with this file.  If this file is
-#   file is missing or damaged, see the license at "http://www.cups.org/".
-#
-
-include ../Makedefs
-
-#
-# Font files...
-#
-
-FONTS  =       \
-               Monospace \
-               Monospace-Bold \
-               Monospace-BoldOblique \
-               Monospace-Oblique
-
-
-#
-# Make everything...
-#
-
-all:
-
-
-#
-# Make library targets...
-#
-
-libs:
-
-
-#
-# Make unit tests...
-#
-
-unittests:
-
-
-#
-# Clean all config and object files...
-#
-
-clean:
-
-
-#
-# Dummy depend target...
-#
-
-depend:
-
-
-#
-# Install all targets...
-#
-
-install:       all install-data install-headers install-libs install-exec
-
-
-#
-# Install data files...
-#
-
-install-data:
-       $(INSTALL_DIR) -m 755 $(DATADIR)/fonts
-       if test "x$(BANNERTOPS)" != x -o "x$(TEXTTOPS)" != x; then \
-               for file in $(FONTS); do \
-                       $(INSTALL_DATA) $$file $(DATADIR)/fonts; \
-               done \
-       fi
-
-
-#
-# Install programs...
-#
-
-install-exec:
-
-
-#
-# Install headers...
-#
-
-install-headers:
-
-
-#
-# Install libraries...
-#
-
-install-libs:
-
-
-#
-# Uninstall files...
-#
-
-uninstall:
-       for file in $(FONTS); do \
-               $(RM) $(DATADIR)/fonts/$$file; \
-       done
-       $(RMDIR) $(DATADIR)/fonts
-
-
-#
-# End of "$Id: Makefile 9771 2011-05-12 05:21:56Z mike $".
-#
diff --git a/fonts/Monospace b/fonts/Monospace
deleted file mode 100644 (file)
index 2512b85..0000000
+++ /dev/null
@@ -1,2744 +0,0 @@
-%!PS-AdobeFont-1.0: Monospace 1.15
-%%DocumentSuppliedResources: font Monospace
-%%Title: Monospace
-%Version: 1.15
-%%CreationDate: Thu Oct 27 10:50:21 2005
-%%Creator: mike
-%Copyright: Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved.
-%Copyright:  DejaVu changes are in public domain
-
-% Generated by FontForge 20051018 (http://fontforge.sf.net/)
-%%EndComments
-
-FontDirectory/Monospace known{/Monospace findfont dup/UniqueID known{dup
-/UniqueID get 4166841 eq exch/FontType get 1 eq and}{pop false}ifelse
-{save true}{false}ifelse}{false}ifelse
-11 dict begin
-/FontType 1 def
-/FontMatrix [0.000488281 0 0 0.000488281 0 0 ]readonly def
-/FontName /Monospace def
-/FontBBox {-109 -1034 1342 2133 }readonly def
-/UniqueID 4166841 def
-/PaintType 0 def
-/FontInfo 11 dict dup begin
- /version (1.15) readonly def
- /Notice (Copyright \050c\051 2003 by Bitstream, Inc. All Rights Reserved.\012DejaVu changes are in public domain\012) readonly def
-% Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved.
-% DejaVu changes are in public domain
- /FullName (Monospace) readonly def
- /FamilyName (Monospace) readonly def
- /Weight (Book) readonly def
- /FSType 0 def
- /ItalicAngle 0 def
- /isFixedPitch true def
- /UnderlinePosition -213 def
- /UnderlineThickness 141 def
- /ascent 1556 def
-end readonly def
-/Encoding 256 array
- 0 1 255 { 1 index exch /.notdef put} for
-dup 32/space put
-dup 33/exclam put
-dup 34/quotedbl put
-dup 35/numbersign put
-dup 36/dollar put
-dup 37/percent put
-dup 38/ampersand put
-dup 39/quotesingle put
-dup 40/parenleft put
-dup 41/parenright put
-dup 42/asterisk put
-dup 43/plus put
-dup 44/comma put
-dup 45/hyphen put
-dup 46/period put
-dup 47/slash put
-dup 48/zero put
-dup 49/one put
-dup 50/two put
-dup 51/three put
-dup 52/four put
-dup 53/five put
-dup 54/six put
-dup 55/seven put
-dup 56/eight put
-dup 57/nine put
-dup 58/colon put
-dup 59/semicolon put
-dup 60/less put
-dup 61/equal put
-dup 62/greater put
-dup 63/question put
-dup 64/at put
-dup 65/A put
-dup 66/B put
-dup 67/C put
-dup 68/D put
-dup 69/E put
-dup 70/F put
-dup 71/G put
-dup 72/H put
-dup 73/I put
-dup 74/J put
-dup 75/K put
-dup 76/L put
-dup 77/M put
-dup 78/N put
-dup 79/O put
-dup 80/P put
-dup 81/Q put
-dup 82/R put
-dup 83/S put
-dup 84/T put
-dup 85/U put
-dup 86/V put
-dup 87/W put
-dup 88/X put
-dup 89/Y put
-dup 90/Z put
-dup 91/bracketleft put
-dup 92/backslash put
-dup 93/bracketright put
-dup 94/asciicircum put
-dup 95/underscore put
-dup 96/grave put
-dup 97/a put
-dup 98/b put
-dup 99/c put
-dup 100/d put
-dup 101/e put
-dup 102/f put
-dup 103/g put
-dup 104/h put
-dup 105/i put
-dup 106/j put
-dup 107/k put
-dup 108/l put
-dup 109/m put
-dup 110/n put
-dup 111/o put
-dup 112/p put
-dup 113/q put
-dup 114/r put
-dup 115/s put
-dup 116/t put
-dup 117/u put
-dup 118/v put
-dup 119/w put
-dup 120/x put
-dup 121/y put
-dup 122/z put
-dup 123/braceleft put
-dup 124/bar put
-dup 125/braceright put
-dup 126/asciitilde put
-dup 160/nonbreakingspace put
-dup 161/exclamdown put
-dup 162/cent put
-dup 163/sterling put
-dup 164/currency put
-dup 165/yen put
-dup 166/brokenbar put
-dup 167/section put
-dup 168/dieresis put
-dup 169/copyright put
-dup 170/ordfeminine put
-dup 171/guillemotleft put
-dup 172/logicalnot put
-dup 173/sfthyphen put
-dup 174/registered put
-dup 175/macron put
-dup 176/degree put
-dup 177/plusminus put
-dup 178/twosuperior put
-dup 179/threesuperior put
-dup 180/acute put
-dup 181/mu put
-dup 182/paragraph put
-dup 183/periodcentered put
-dup 184/cedilla put
-dup 185/onesuperior put
-dup 186/ordmasculine put
-dup 187/guillemotright put
-dup 188/onequarter put
-dup 189/onehalf put
-dup 190/threequarters put
-dup 191/questiondown put
-dup 192/Agrave put
-dup 193/Aacute put
-dup 194/Acircumflex put
-dup 195/Atilde put
-dup 196/Adieresis put
-dup 197/Aring put
-dup 198/AE put
-dup 199/Ccedilla put
-dup 200/Egrave put
-dup 201/Eacute put
-dup 202/Ecircumflex put
-dup 203/Edieresis put
-dup 204/Igrave put
-dup 205/Iacute put
-dup 206/Icircumflex put
-dup 207/Idieresis put
-dup 208/Eth put
-dup 209/Ntilde put
-dup 210/Ograve put
-dup 211/Oacute put
-dup 212/Ocircumflex put
-dup 213/Otilde put
-dup 214/Odieresis put
-dup 215/multiply put
-dup 216/Oslash put
-dup 217/Ugrave put
-dup 218/Uacute put
-dup 219/Ucircumflex put
-dup 220/Udieresis put
-dup 221/Yacute put
-dup 222/Thorn put
-dup 223/germandbls put
-dup 224/agrave put
-dup 225/aacute put
-dup 226/acircumflex put
-dup 227/atilde put
-dup 228/adieresis put
-dup 229/aring put
-dup 230/ae put
-dup 231/ccedilla put
-dup 232/egrave put
-dup 233/eacute put
-dup 234/ecircumflex put
-dup 235/edieresis put
-dup 236/igrave put
-dup 237/iacute put
-dup 238/icircumflex put
-dup 239/idieresis put
-dup 240/eth put
-dup 241/ntilde put
-dup 242/ograve put
-dup 243/oacute put
-dup 244/ocircumflex put
-dup 245/otilde put
-dup 246/odieresis put
-dup 247/divide put
-dup 248/oslash put
-dup 249/ugrave put
-dup 250/uacute put
-dup 251/ucircumflex put
-dup 252/udieresis put
-dup 253/yacute put
-dup 254/thorn put
-dup 255/ydieresis put
-readonly def
-currentdict end
-currentfile eexec
-17F6ABC0BD4E5B049FA8ED1415B73797205424D2E47FC5DF8590627DC99082760E8B3E17
-0C18AF49528FA9DB386CE480B471EC8797784FB466233A879056FB46290A8F49442020C3
-E00AF7FDB602BAC1C4F8636E32FDDB936FC70C567B075E18878EA286E1D24CC1E14B50B7
-DCDD17FD5295A3F44E0DA80366E61263EA00234FA095739BDE371FED9A24338A8CAB0F53
-5964F1515D62E477A2F1C2BEEA2DF171E3962F0DE53E2763D7DE117F6B5328691D69C4D8
-D071D89F6AB4731DFE0A1FCC4F32351620B2B48E12AEAD940270EF4990B511E7D052C3A4
-2AAEF583BD41B85778646ED2E9A86A73A1089F502672860E7A7A9CFC2F7B2E221C6C9080
-7B7E7B4218C9B10B574C73E195D6C97D1EDC5FA365221BD82148D1ADEA7F235FFC14AD5A
-47E11207058A7A9059FF373F66FEA5A9113CE0BCAF084AAE135556FE84AA4C5A9070BD77
-E7D39A94BA711FDFE442366E9F27F14EF80FFF2C342189C2E28D9FC541F049944C1CF913
-2A014935BF47B42C4E0847A335B4E6CE5016C1B8FC0C3E153C07ADF3C0B00CE001DDF36F
-DE0CC04A25FA1635707299ACB277BFF663DE9558664D1DE90465FBC67BAEA7B1851FCC85
-7364E4BB97470017B40C4D54096C4AE2469A5D037963C7F009DD25A32C20487FF1F1F0A0
-124BF0B10891BC1FBDC65F9192B7236A694E1CFD1388CD27288222AE80032683C803533D
-E6C39DF03BFA02DB5F35C1B99531836F38F6F04192AE3228C0F19841842F5C907529175B
-6BF7B4A8D7B3F27FB39A58B7D3CF11A306701B548C3DC231102A45496B5535C96FBF0412
-004ED0658F28F845F4B0C5F02A680737A738A559E8E6BFCA7584C0A9FAB1B5D3C8995508
-856337933B9A49D0624F25CC06C8243C2A8816426753B631100403B630D81FCA4D08527F
-3AE881DA5332F16C4D8B15F3CBD4DF36430C2199BE5CD27CCF4BE86F5519C046E73442E3
-AEC3F3DAD10948A6AF7740BE87874A288FB27851EF698B571A027E5787BB45BA566A2822
-69423D624D118CA8D14B389A93193F1C8CF64CDC3F0153D4B8CA8AA843C2C26AAC2971DA
-7F52B17B21ACE56A7021C6255A2707BFF033A1477C42C0B5D2001820FC9A8BFFB4E9DBAB
-B595E925C78C9CF87420160DC0B549CBD8A3D12352AFE06CFEF38A2D3715AECCF86E0919
-790BA8FEAE050576C4DFCB416E2DF5FA3B25192F16A935C9CA82C87CC997CA5909B956FA
-1622B10EAD7465B8FE6B347675D7C363581C9B52C9D020AD5CF983284D9359F4C8F9E91B
-C073DAFC702EA788540E72A08668BEA885605C8D42E5F6BAE086F3591C614D438FAB01E1
-3D69768ED2249FF1079E2EE704F9672DF9DF9C8A41CADAE9013809F1DA83673A8398B477
-A13B4B0093E151F6489A2D9BC119A66232A1AB85F31979FBA9EE7F163FD59FE14C72FAFF
-A1CFCC482619E13021FEC7F10C6730E5A7FCAEE84EB5011F13E407591BCE6353D5AD0634
-D4414B008C95F31170FD8F33F83C6B02DDDF05401012E7260A3DD0213857AF9072EF5DA7
-389AE027997C2D7130443A4B2E505A9F17B00E84E142E4ECBFF3AEF2C2C4E84F162E2F7E
-436222EBA20B0DB87346084A2BF64B70B1796729F845D456702C7625AD2CA3D232345C9C
-12B9DCBDFAB9B8F697E5E4EF2D473D119F81A46F6FD8A03AAC73211F36FF824DE6E03788
-BD669A0E7F2813A4AA830C8EF8BE445CABE6019318806D10C5952157FF8F8286C1EE7015
-45C8F60EFA854EAE66835A2046A6915D395F1E0366A459E43236162A929ABE6ECDB26B57
-EAE7CE3731E0DB75ED207292FD83B6B288231E4F3F8170DCB831DF571EC07CE2D698CB6B
-88C63F342E89FA1BE8879269D9F818C4F740C38EB419A8A814E52AC7CA90187730F43520
-115D7388390F20A8119771ED45AE1E58C1DD30B171E7B5B2E75DC63EDF55BCB9D7BF3119
-5E4BC6D91227A24B996F83BF8AA17D3A1DFD34B32E91C4F51C229796662763D1668E884B
-E9BE85D60132A4C45ECFA6FEBEFFD3E34AF21DA897B24A5B836D4DF2E81D1B51FE682095
-63128FFE15E36687F7720F3C980EDED7A794EB420F3E0465B1E93755F64A9C54A24058FE
-E496317919512048C2B01062574EAA66A2F86D01F58D9D252F2A84E7B44A057D8DE0EF2F
-EF7B752B46B1643D7E57D2871CC15D0DAC4852901205AEB7C996A957C4A0605AAC287AA6
-581DD2C8ED591B89BA7126687F970D7D49E84AD96BCE16AFE6508B25E85D530D9A9F7A11
-E788CBC50E80F8A4ECD26C241C37078EDC447DFF2A43ED7BF1E00B6F227926A9913ACEB0
-98B833E54B3FD10F9D0CE4B8ED76549239A7F4FE846B9D57F26B53229856681CA7D3EFB0
-22CCF57311C872CD0D0342A2FFC59E2F13B32D530B0268A4D01A14193D1B17001E205355
-1E42338F7BAE7D9B02780A3D972AE4E904DD34761AA66159CEF52B226277596A2A9433D6
-4B5AA165D9595B99829EEA6E26F4E10DE1B6E0F33BDBB010A036D221B7F4191F4420B6EF
-621566F238B0ACC9A7C41B90823D9DA08E327896CAE4AEE60F860240EC8A89C03E44E2CD
-D4E767F4D457275E3F7AD41D4983D7C6BCEE26E6A7EBAD234DADE81B2C98C1F3F396979C
-04A4E00E6F4AFDDDBE9D9EB775D1A1EE76399AEC7D30D3CD09AFD73601ADF5593B56D0B1
-4471810AF628AF86D1237E3690509FBAB8FB2F4D041CDA612467B254CBBF83780C60C1C7
-AED265168AFC379F832EBA6D6DFA2CE6FBE127690B37309F6A613608BA98A5B77E9ED5E4
-E7C373750542C245C20D10035D1163AE93970F3A8CCA7B5A57DD0503060637DEA1CDC404
-713E1DE9E328DD8D902D24E0C70B17620EA2217B7E51589626FF6923A0D76DE1B480DFC9
-CE2B7BE62919C80623B7E39BBBE748E8E70242233CCCC5899AE70F1A3B380418564AAB15
-E4CCB6BE3A9329C58D8843AA7D287D851168FB531FA694CAE2B9D77C13720A9499C13D50
-B4D6AB2A5BCAE592D465FBADE34CF7316886A7287918889EEB7FE26AB47B5319F833422D
-803421C29FBCCF0D64657D945676C968938B633371EA7B3114BE2C23FD20581CDE846A7F
-C5C57C4A4BFBE5A649B20E3756BA94FA8C45D0542134790D6105890BB01C961ACB87C761
-743FBA8F2549015D6B171EFD0390ECDB7744E185BB9D88BA42C4CCD61CF9AAC20B6E4C0D
-A70F20091A75C9250C9F9287CDDD78D39400A85D28C70E38B38D33903E7496D3EE1FE98D
-B047C84C59A60A58DA8DAC47A058A825544C1B4F4CBDFDD99A04BB691854A20A773544DA
-A39EC11B14C864220F74CC2307075EBB4847AFF216614A471B1B169DCFF4F89FE390CB97
-46089C958316DEFEDDDF9F3BE4A6BCD0423836A7AC3F7A29CC863418B703668188C962D3
-6803BCEF438B47363A40762165AB9671A46F9253DDE8AFC38DAE53F7E34230ADE2830956
-F5B7EB9BE9E0086B7FB715173272B381B494085744ED8F2EDFAA567E2DFEC2861A231157
-818D7DC0898DCB8B8AE30BC0F1A65F018BBDFF3ACBA4436B5E824B6B4CC0F4402856E259
-F1D5F1C770A1589A621F9747B5F7E81908016DD977ADED8019C39BF5CB9AB35CA82CC83E
-AEC842F6913929F8339EC1DCB27A53E3E1006174E2C8CBE4756F6762395DFB5AD85947BC
-63137E05269807A5958D5A346528162B4C1B485E858DDB2ED3AF35A0485CBDECE9A2893D
-C28B94DABA77498C26861FEF72571B5B66477862642465030FA5633E47B24BB8697E5A20
-73945D8E2338E554D66EAF307D9035AC9678414E799EC56AD03EB72A72B227DC18C3B27E
-8AA1679D14FFBABF22FD2EE80C94AD06C34FE7F7597A82E1EFF272F2FCD72AECE10D5102
-BA8682441BAB1E8DD83EFAD74757A96051DE07782FE7B7D7BDF36DF39A434E59F1D2630D
-93B66D1AD1A9565211B13427A036019C538D4C4314905257E8FEB31FC5DD316F606D7BFB
-9CC3829EBCEAAF3722E465C60AB1D7CBA1D2D229CC28D11DF8FAFD2169339C0B61AEC73B
-6FC855B5567FBF05D9088734DDD8755700C80A5C942915811567F103D0CB70611DE63F61
-9B2908AEED0B33A1CD43A84785FF49EE977D5C45E1ADE13672FBB01DB79096DFF6036904
-30B27DD8C0609AB745C238EC6F73B1CB8234794DDD9E1A41681CC004362DB2A97B8A96E9
-C981F7848C4BA5ECCE7CB87713B6B7C7CDB7450AFA5FA6719A8EF035D672A136AD494139
-8E777EBDBCA5DC8A9DFD54654883221071167CB4756FCD042891D85E4B2F5F306F39CD0F
-B2E267665EC0A394A150D73A9AFE7C1098609BB6247A6DD24B01BD3B78DA1E49AAAFF696
-D27A53696FC27DA3B017224587D43372CD3406CCE3AC952D73C9AF01058C8EFFBD0C177B
-204C6DF2CFC597FF177ADCAB6FCBD5F0267B00CA18311A4250FD04DF3809D4DB2C0E4778
-3D905D787362901E1171745B2A66848A3B617F29FE183DF6F746F9011AB14925AAFA1C4C
-159C27D3BF8537D6FAA40A20B47745BD7148C698C450F18D0ADEBA3095F0379B7D0B4354
-E1BFFF0C63C7D745F0085D7239612CB0E5EF4B8FAEF7C19A7300881206500AC612D0C42C
-66F4B99C32AF8CFFB05749260B56B7B425B550C427368E45AB7BB682C9D3E07FAF35DC89
-0AC6191384133DA9DCA3F3977243D277E0A1B833E37C4399B67DC083168310ED294ABA2B
-6A96F5F1F7E8A18E5C8A95CE1E224DBBFFCBE5E54BCD199625EBB5E5DDF1F2795DD53D81
-86A5EEE389B4EA7402B14D2BA4B3D9A1F50079AE9809A0B0A5061764A3320D9AB4B5CF1C
-4BCAAA4CB0F2926A46397B9D8F3B3956E647FCF3034A34B6BAB88BD4C53FB84638DA56D2
-2C65DB9BDEB68FCAD5CAB7B184EAEC585677704583CE9372F90471EA5B68FC5D1DD702A0
-A7668E6C7416E4A5CD646EFD2359DBB7367492BC0B4E6BAFA13D3D3975604E1A187A6E61
-EF6087394EAC2F8FA9FB4C040A994545480329FF5FF9B4727A39356F8A4043A74A9A7E2D
-250826ADD481F91B9DB916A9FD5FE4469A9861A96BDF6BD3DAE13293B9DC2A318A35D7FF
-DBCD241F2FB394644895A3F53C457C752A72E8167E6B7D4495B3C1DF0EC53127509988F1
-49D6C49CDA35B00652F148D3CAEFA3EFD8954E80766AEFCB85953366389FD4DF6D70E36E
-B321BDB176FE7B75CC31A73F4DB7BDF5E0B45C23FFAD7B7EE35B9B6E9EA4141F4F98430B
-D93BE0FCF80D63D7860E9B43D161DA7A68C2BD51E2E95ED7B54A91466D0716603CC41E83
-7004D94DABC5D971330DF98672136E372129A77CB496C7200FE3E287F7936E8002B54C51
-25B364B6E07943A078E2C018678B7E159C1DFDE7633CC3633B38D50C54B98B45DF4A972B
-93B4B4013F8F1EC0083B09F3FAFD2CE2B2ED5791DDC0945679A122F21B4C5D67DA6E5A5F
-2A5893AD3AA7AFD891ABC6860F14EE16DDE548520DC88C2CE6099861B038EB25A01589D3
-2F4AE37FAA4D171416651CCE37FA4EB8D063A0977988E50F9036C0A9C8E99E6D586EED28
-E0FEFBE7406386EB9FBDCBD8DF820F6371C99C6F7A4F2E3F43FD2792A9A2D3F81BD3DC6E
-DEB59B1B4DACC2F278A0C6C1D3B841A73525F311504CEFC8538CD53C487F612D9045AB40
-8B8A76195907E3B679CE68322703C2F80A50401BD44BB5D14080A46F859075C9B51BF0A2
-C42321EDE4254F558FE33357746631F407C16675320B8DF3E24E0FBE2E93BF718CBCCF5F
-F21F013313BAF474F239CD0FE72EB03279791A95BB322DF5C4725763052185CD5CDEDC76
-071B4B2337B406337237A2A6490D75598CF6010D22582B8A12871C17003839A8A8C42E92
-EFC92B7EF0763D7B6481965F890802C7AD345F2FFB5A444DE404C833D1D9DB1CEE2DABB6
-42DB540CB398BD2C16A7383E649A0714154E72D94438FF904755399C1674F5E01CD45590
-CD04C4FE3292356650A3D431D7600426A1475B5919722726468C247BCD565965DA6E4A83
-28644CB1FD2A23B1B45F74E6B4BA9AE065BE873BBB80505D16D54D9DE69026CF1DE8DEBD
-E472F067C70CB4104D23ED0CC9BF68055283A6CC2AAF48FC59A580DA8597F95EBB8F61FB
-C4F6B12FEE888AD60897383AB17D227C0CEF95E86F149ED6B71C2FD67F5A996E8B34C5EE
-23DFFEE49200A250611E32FE3300AEE9BF13790703B6AC983C965F1C52D2BE0BE876D4A8
-85FCE072D5D584B12CF2CF91BD7D7F9EDA1D6FD62F40AB5682312D6138030FA1EBE9B194
-1DA4ABAE5A781EA979F608C6F0D5481CF48AACE9F79031574204447596555188C3D6048D
-B9D7D8D1F0B67DD5F3468E7C7B647DCD1AC3B3C95E1DA6DA05816B49DC8BB86E85C0094C
-6C9A703B88F020363930195842A753EE42B4BEC13B668101203BBB7D5CF7E9C3E39716B9
-85F4BA374147BC7B13BC2515C8A500596D35152A102FA248B9E30D6050C11045B9A81213
-7C228594EE2725F43CCE59D3F1669F0B4722B2171811C2A12B1905C0B40EF1B1957731A3
-A20D29302DB48D061351430549F57084C31D008391BC9D20534EA98CA6F951E00FDE49F6
-22913C19F44E489CF9A80274B43CA60CA5C517C821426D5BFA185649ADC0F1AFFE8ABFBC
-A0A03CF0DB690CAF902219A5580EEB11DD3ED650979550454929EFDCC32C7E8418B80F54
-F0CAD6049E2EB23D5DBC2D680772F03E8F3D19913E6F771AC65C1575AA6968CC6857633A
-C2520C09AE900BA1CED6C5C21C2CF8BCA8D676A539F22DFE03B4134AA8181CB38BB0F69F
-C83517AB3AAB165F2A1FA474E067627199406D26881E8066E509D3C39A1A8C4BF99D4D46
-922EEA6D05F7EBDD33A33774F24A650B9170D2CBC9A69317CF90010F9688EC72B3DFD2B7
-0EAE5DE97C03A5CBC355E8A57F7C36D9AF8DA95B4A307965074244B72B5689F6DA0FD360
-DD95C184A7037397C0598153F96AEBF3E059B042A3251AEBAFDB90631C7A7E52C89E7623
-07487D51B8A019BE505E4078DF87A79565DAEAFCBDCF4D99E658A3A6F33C252CC8FDEA27
-CC974B91269FB2FD905A619159300A0274E79C1F52ACACBF68E03CBA15523A0B2081C739
-3D397D3D4BDF3094FBC5D20852EF7766A4C83B708E2F75008756044AB2B55C57559CF7A4
-636F74B49D18E81057BE38166F87DF24C73B337533DCAFC8F7D4EF0A3C4C6B82E9BFA3E4
-F3116E011FFC4A89B7FB72CFF1B0229D6D578AC85DC6E6C3CB956193689607D6D7A48367
-0D7C529E5C5C223E081E3C6F1F3A2B8BA8EB5C4DBD19F9A5566694EDDAB69837B65C8299
-63A95E321181E4BA0B097FBDF72647838C8B49DE3AA88B6F755317FB1785E12DDA71F944
-49D3D1DBC0C167B3793747D9D6EBF6FA13A74FE1FFB6A2EBBDDE14A21040380DA4BC9088
-C60ED587EDF6E2A00BC041990F00C7568373598310FBB5FE87A1656E381A2C449C63B236
-5BDA6D3C51D1E5A1A0ED408221B2FA8397FE2FC992F990DB3E772F3EA54CB468AD471FB8
-0FB1E1A9CC6444B98D2993F5DAAC9B5CDE3ED8AD6FD8DE80001DC7D67A09B39BA8D0B35A
-CEFD510CF34838F06C72047309CFA29787631CD33E0E4457DF26244706966FCAD9A90668
-A155F9BC4214693A80C3440F56C2A01D87AD998493130C344E9560A88F9969585B6D2D4C
-AEDCA0D1954D6C84E0F717C48548C60B39D0013FC95E3DA0C13796130F3E0D8A240F8ACC
-4BFD93D26A7185DE5AA0C493EF230D0A5EB0DDFBD49A66A61D814D2D03EE94B40A25F8C6
-5F615B8C4402B4FFF0A882316E9123C0267E0773E048658ECF5C0008EC18976EE2F8CB4C
-E5B4C17F857B83E16622180B70F0433488E58826B39221566EAE2A9C350177F10D9737CA
-6ED009C263E3198F02D7A3514B3AA1AE7B0BDBE901D84DC256855A3DFCC83BF51C9B3CCA
-1FD2756DC6D54280E164E942530CC560BDD8FA6AEAD30EF5BD8A4A30EE5755C7A4D7C550
-F0399CCEB87FB781EF298DBA53BF7FC3373388DDE9AE21AFE51A7EADFE83767E8A112DBF
-C595A9B0E833CE7F8ECE227028F10E36B8147340F6C0152DADF434AB60CC64BD9158E0E8
-C30F38FD0D5D7573D43FC3AA9403BE945DF46D040AAD91FF69D0B0FDDAF19EDE36F089AB
-D8E00D8417C463C1CB3292E6AC20CAF026C74FE0F97CF8D7956678D1A104002A68D53664
-A82EAA93112A3BD2B55113F37E8588E78C0429E482259A2A0C11F745A74429FBABB8A53C
-D40101CE27011FE51335D3417E41ED1A8D260EAAB7C3F118B426DF541FFBDA96C4FA9859
-66B99AAB27B4DBFD28304F386879C6DF62242B689DE14BEAA08BF07AE4A38B203B024F88
-808C5E227B6AE750142874E5E59B23AB9B36025B6D67EAE9B8DB60B9A04A388525D1F50D
-C46F8172AD8DACEB870ABB56944F916B492DD6E9D296049973D661689E8A416014D4D2C2
-782EAB49362E9FBFD5BD6F0C95F243BE717535005F99A22FF28A7A02A5F4BA4B1F505449
-61ED383753ADD0D2952FA9313CAA827F3D8F8977C98D760E4BBDC134DFBC0A008230D337
-35A048B81A94A8CB7034DE777595158CBABDB648F1A2325655EB64B42C24D190C2979F9F
-AB4C9DA55299AEADE3801F9956E3C62A77A16746073EBBD364AC634B37671C8F153B8EF7
-D9F110CEE184CE3394349EBFD88E43D15B309DAFF263F4BECF1C581FC4CE876B68D3F1C5
-EB2F001FBA2809FDC3F834833F39B74C9E5018C8A7CBEECDFCB121EDCE0282988BC5BF4D
-156D91F53B4EF6B9FF7D95CF1B39B679F06190A10C3FFF40D461000E3F8E422AC042148F
-E12B5A776BB1F15D44D41CED498A9AEFD2CAF59CDCDE5C4158B8CA1CBDF4FB5AE83D99B1
-A39770AA15397D85F77F42846B0893AE39A0F4612A62A7D963B767DFB1E92A0B73FC65CC
-EDBAD8D74D2C24E08B2D551538DD954D94A80B92E897E8C10D1725988EAF003E9BABE962
-2C9C8D278A6BF1935574C80C6815BDF0BB7011FBEA53A59C0C45D1978A1D3E6A7BCC87F4
-2C5FDC7886044CE5798F06096AB7FB360316E1BFCE3E719A1EA906E0C5949E00DE7AED0D
-E6C25832D30CE1867387C8254F51171A9037C8CBC6D339B4647E9077D605C13E30324180
-A433FF9F3A7BBC3B0B775A860F7BAB63D7538E2092F902F019D29FE8DD198EBD85DF0564
-D39C10DC176F698641996117778D7F899153CB26D568C057DA39FBE2D21ACF39E0756E16
-7FB5AF562F190A7B940A8F4BFF98AE156D74CE4C8CEAAB103FE6F06B7D578E5D7675DBA7
-27FCC0B96031ADF2D3F204EF9DF63D8A4263EBE46B74F1A2CB67D620FF5B2585A53C7CB0
-DA53F6F219B277BE9F8735014BDF61936C3377A6D1348D3C670A65CD057B32DBBFFFF5E4
-D830E9CA83BABE9298431F93884E2083D6ED6DA68A30C7372539DE05E8CC9DD8A748C810
-462687C6B9B75B305C3A31BC32A122365DEB55AF6F6D2BA9468247BC0853E7144E46AAE7
-E0D7C76E8BA15289ED307E0943F5E3A05F051AD2C2EBDC7E2BA46F91B4CA94308D1D2FF3
-FCAB4EDDF761FFCF83C23C979E4D318A51A26424D78E5B215EA33F04E1BE296A9693F065
-9309FF404423775875D73F230FCD5CFB1AEF0F6CE5674F865C300105791111C1AAFC98A1
-557123E1C34749937C8BDE11E41C21B1B0FC53E8C5D199D3289DE09C7D7A95EB23D5192B
-AAA67A13DABCDDF6C48115036065984276B126F294D6BDDFB90BE9319F3A3D031A22BBC6
-05766A7BC934472D23812B37720AC3403189F34F2CAC2B674B04D3B3B46B6662B1C2489A
-2964D8EE5EAAC87A8AC7208E5E87358DDBEF9EBB52B96102CDB82D8BCC5D8A404DA247FC
-C304D7153187BB579C75F71DA411E4B0FA80D2131D11C6BD693F3AA001FB349FA11B5FB4
-9DDC4B2A6443A8932AC4813795934D61D38BAEB1847EE5D3A7D01708524B3933B442709E
-CBF2D39460259D44CE01645BCBCDC2BB9588C855936C6100009D867FBDC902475BB43DA2
-F7A309AE56082F18E670A25BA12213EB7D9BF6679452CD4814353BC62C1ECD5E1A7C50EE
-43277A1D5D124BA9F596E19A29C24C234B1102893D2BEEA07F22450E26BE882D0FDC2AEA
-5457AFEAD360063AF6A079958A343F444DC6EE7126AB88ED079C0165CF95765CC52DBBB7
-3CBECD85BB4F1176C4608201A6E2D3FA69C439B4AB2A9D5441F519DDC85C35C2DEE504DF
-5ED9E958F768E9FED68D18748C8521FD6163FFE0DECF1BA44B11A261A4997D13E045C255
-0CD95881B9BC5D65A7C4AF0DA73A637F4979A3B54B9857402738B1E9FF94CDC075F51817
-CDFE1DC677E938F4ADB9E4CE4DDF4F12EE6C72352175B8389F39F84181C189F1BA529E9D
-8D84B7E36790C1F57CE2117811E986D00B58EEFF6C8121934AF2FC54D09C486A5D9CA8F7
-6887CF4D7FE4841F3222F0C4E4F7D92C014FB4D48DB83FA87C243D453915BD6BDF5278BF
-1C16090730765D68AD17160744DFD19AC8A754915E669074D4F3A9A1F37F7D720B38D5E1
-5D734093944BA853010ED6C6CC7D5D885D6A1366B2FEE42E54718A2DC1BBD437830EF66E
-A0F540524597090FC7C762F19C3946274500428C3C3AAD98D9611484C8CD302D64991438
-1F7E531BEC859E6D6624ADE92B17C4D88AE651E49658CD23840C404E1E2EEA4F56D6725F
-E514D3AE47AB1127EA69CE677705C603CAEB0DA31233E15ACC5D78ECBB90DBA3878F19FF
-F2A62395FE3B8EEDCCBA872A42334251BB515C34F513D2FB745033E903863C24A7F8A47F
-0DE02964F1D3AA92E60BEC967BE17A207ACCC4512B8E8D62E767608FEC0D4F0C6D339364
-0332BFDAA278713788075972FE7B5799FCCA94BDE4C881CE667C4B7D10F1A4CE65766CC1
-F3486E0F23DC940A93B3D88EA329FAB54F531034113FC7970DC304A20FA97FFE7116C6D7
-1504BC0FED9A1C8E617AFED697DD3FA441CB5894D783512E1FFB859EA5686F64381EE1A3
-471572DA94B4D7AAC35E3E77EC8ABBB310D46A70C5AB691B050019B1408DB7D155AD3F75
-27E8FEF1F1492E8C96C96A0EAA70AEE119B244995F1DDAC5F9E1B4EDD07AA389382345EE
-2873FF17B725037B66F7B5B3CB74237808E8A1E8FA6B597F418D62D174E716C0A857219C
-DD489083E9086E5A3564A8D0925003BB0935792B38A458F451CD15D8824E457132B50F8F
-1A486AE2AFAAB124EB8D387A4AD23B552803298F23AB33D96547E1A028FDEE361836B59B
-879F544757214D635D0AD01C8B8D8FD61B852E3F6BFC9281C99D1F360032349FB484BF27
-256B591CAF48AE5A6A1117BFB824F3850E95E75AB6FF948233763934CB18CD290BAE9E53
-747FA478BDB6E343336F58D89E05BAE9B912D484171ED576DE30D6516D68FF80CC6BC36B
-62CCBF407447126E8B3D6D07DF3C187AAB240B84B5D07CEF0CEE8AAD28DEE446F321C622
-0A7E0026C64802A9A006887A170FBCB19B4C29CE1D4E089F5193171CA3D3EBDC1A1286A0
-60C648D24BBBB8791BC400BFCAC653A673F4C3A59C44D364D408B72437C06DAD89512F6B
-9526FF964C3B2646DA7E34E3DC95D2408ED3816C6177133287B88C896EA7D575D1389971
-2A9D3A2E689C003CE2D5DC4073ED052F37A3183BDCE5EB3B509385AC8268DDC54A33F8B6
-865FD8D63ED1C51B89B07DFCA39914F10AE7233C7A62EC9B83A8C6E3CFDA24528B1D1F80
-3C74A108E7239456B412EDCDDD5995A6E56535CC9D47E871B0CF8B36BED4818FDD112A70
-2704D417B79347BA3CF24A1B116937BDCCACF86D8D4C544AE863DA44A29C308F740F5DD2
-3FABD1DC281D722590624DAE38EB4A119F5F271C42169287D8E37D34EDAD684EA20CF29E
-EF4B6BA4D65E41E9E8BD9EF2321C2453DD84C5AA056017E7F5321A3C11614D810D0095E0
-5DA9C4ED65463C672FF360E0104F58A79D7C399F058A9C6BC6298AE226E06F294787A1BB
-0EF6E1AEF499BEE46F2AD81296667E2896098DC7535E1415E7BC0C3844E308807AD7E5ED
-59EFB26E2E6E5FA00B7CB6B1A160DB111AA0072ECB249F30A29643BE8F51276A0DA7ECA6
-03136C0147C73658D218BAD2A6DD880C62186178E527901CA62511326630815850E0F4B3
-7D3EF6B96BACDC9EAE70FDCE411297A167780F749BF79652EC2BDD4E620CFB45B8AA9AC7
-9BFDDF782E3B3A6FA9A0B20F8CD7362AE18479685828245B6069F437171A4678C6C1547B
-5E4E998C8835104327C75298AB50A6A0D2ECFCA02D466C08669A93BDCD3BB186F04770DC
-6AB7C774D2258C4E8C54D56C4EC2FE59EB24697C8BACB485E4DC203630B052FE09D83C97
-781AAA7CDDDD22804591A689B563D318FF5D269ABFD3278C345F6028127C672C3D3D8168
-5739CD11FF84E88C3BF219A41AC1C1272BE1D130A8D01EC18A83906CBC0E02FB4F430026
-5FC5E19B6A5BF67379EA2AD989A1BE64B8BC230CCE5E6782514D465C736B904F42D18417
-EF0A985121A8B155C06E1D0ED8BB3EE89226D931C9A8A0F5E80882DA98C72E346DEA25CA
-C3962B6C5879B6AEA1F91DE7FFF9453F98FF1FB2805B21994C0DB8DCCB8872273BD7D964
-EBA87F2FFBC46DB4FB8FDDB5840A162CD6F6BAF0377B43E5DC9DF9054B1AF843D5A4A38A
-481EB2DCF93C088FB019F8209BDD37502B8190281BA5F0A91171AE14E313617E74B751AC
-AB74070193E0F231497C20484851F0182889D77581BBE0B1539663F844854D59F93CB6EB
-A5CC3D2B3FCCF8D6C3758F5F333033513DB561A9E318F599797BCF0FC43391DD600A91F0
-B478A983687DADDCF974419A58F98338D9FEF2036373B5CAE2CCBC0169413BEE50EA39E0
-AA6E922F751B981FCBAA8702428C7FEEC0BAA712989D5F1CB3692F5EE3A014F716D42CB1
-42FA136A7ED845F781C18C1ECA0B6B10699AFDE08BA05393E413BFCA01C7A097933F87CE
-45D7A7339F2793483DFB43A26B277C5B5D5A3A51CDDD80D0D6C1FA7D16E03DA0F7D86E50
-85D4516BEB44D0AA911A7945B244CD4A83FEC04985877D15CAB67EC734B1749D837AAE24
-1832A1B555172307301CF5D25EF9DB48B9BB1979893FF637A3C3A86A6D1688F0B45A411E
-C8C02AEFA1764F5BB2423707FAE1439295E75E365785FE9B9E5C485779D124604AA59F95
-B8A4025E3D8246CE7AEB3F659B0309C77B6D10FDB120F6A4DF76EE00EF3607EF9D22EBAD
-0DBA789B86339482B98F91CB29598365A5E735EA4B7AB18AE1AA8AB8BFCB207C558BDEE6
-F6865D10C8B3487D342C1F6E74CC0B13B522BC054AD4EA9EDAEA215359465BB97CEB6F7C
-657ABE5577BCDBA7DD3A61B2C99F552BB70479328AD21F95C8A1F98D019CB23B6EED8808
-658742B1AF408ECF70B36ACCD4F06E4D160EA52DEF62E9CED463FB758C6121724B6E31A3
-A097A7D21B0D5A021B28FC000C68F6A4126A5418EB129AA699D04482EEBE82AFE18A7D3D
-0608E71F5899272A4E614E34005578746F6A9D082E29E2F03EF54E9F55D393AD28477E27
-C780AC02449FDFE3314490520FEBA7B38A16E94A302569CFF6958FCDC79561F3F93FC71E
-14E780E4F1E9DA30A9B1CFF569368069B140F5B8E67EDA15D0F25404A32362327A0FEE9F
-9AE430D517AA8465C72E9490C31153E3528F08843A100BEC4D4BFB6C5E87CA088D4D4C18
-2E398D02AD5D8007CA369A83881AC0C886E72D91A48EC085002017066262AD81925B365B
-7E594F3DF58C55A9DD737F2069BF951DB68720AA4043BD6F039AB927F7149DDB7830AC67
-293A70B6906135DFF159B352BE8AE55F1D03AB3BF5642CE1B1A49F773FFA1FBFCFFF851B
-3DA54CC2A5BCC6C2EB2BC5CD41676EB08B727526CBC01FC9C7A076A5342BAABD5341B6B7
-3ED8A27013ECA0861430BE51B07CED3522A6031EE04E74F985F10D3776A206BBA86FD199
-64B37F1A8998F4BCD2599A891C5A61C131B23D29788719C15728644886443D12492C87ED
-8EDFEC9C5620F7AE2C5CAA568333C26C8866A2E2651408D2BA3B40B68875FE271283A331
-F8EACD13FAED2342A5A3A74A1E76B74283898D8B265E0FC9CD3597CFE85FB55B56AC02A7
-55298DAC4A7471FE68872B311B690E5BC0AFCAFC4CD7EBB5326E453BB07A94843935CB49
-095EE8C7AB1BDFB71011CE6A8AB7F51363DCB97AF77C5C1CF0996F7F1A33BA929E9D32F3
-FABF10FF45E9E53A4A80B808548BF1D70383418B57C986341796FC5E1309EED60AD85476
-A7FE1AB5AE38258D917F267ADA978D02FA7F44200954F8230FEAABC0D7ED444864C91AE4
-4D6BFCB7E09DB0014B6E11FE753C6CF12592156B7946465D1D51C8FDFF1671B9DF64FD18
-0680EBDFE37D5B19B60BAF8A1081C8107C0C207941025CCBADF11423B7F09356B7D2B25E
-3C8386FA4F41617DE67D7BE0C3790F853CDCDF996CAE79A0D0113AE8293426662D18E2F2
-92452A9F2D9B3845FC5B9ED4088DB9CC86886D82FE7310F2A158BD57739A0A1C36A7EF21
-6167ADE2542E5124FDD3143D353122182A9AA36A530C96AEFA8ADACF50A5B0266B59E396
-AEA8DF4FBB2AD02EBF24B49D4BEBEA6F1555B5515FE3052CCE0C540D20A82D6EAEA1196D
-5A2C029DFC79E48CE0448F7A9FD83C7F107B40E55383E9656321497CB2742756FBDC2646
-A850AFBB90C1573979B32A29CD3E1C7A3350C9E1727E884CA842E9C60601092595D44011
-BB4F24E8A505EEB5397445011750A059265CF4212B4A5EACF7CEF1E922722B365987886E
-481215C980DAA2114E03DCC02D1BF8B29098F54733B3090E4DCFF294E01915AF5AA3889A
-99F6656F8BB7DBB5844EE7A9FA0FDB8AE67A2634BCFF57B248772F9B5F2E9CF95410060E
-22C51E6437EE48FECCF819B1655F052CE6C6EF2175A54652EBC6C38F7BF60799733741CB
-D7E030198D32B9956AE908436200C6EFF6611568EF351402A3EF854B0736390F7A16B7A1
-50EDD6E39B2E0D42439FD75C1D0311C8C45138AEE49A7DA2F742AE3C21E19F6ABD62198B
-6DC17A3A315AA746961425A18051A0C0C5653D40F9A6D3A542F430DFE71ADAA74586FA56
-9EB935247FBF47098C4D85417C0A3C6E567F7A65B7C23C1060AFD086186E394896D1DE26
-9244085D469240E8391ECD7B219A887F01853AEF9A3191AE70D8D11FB13C7578348599D1
-95186180E4AA0C3419322A318487A712CCC0EE9954C87A6FF2FB447278EA942C101E925C
-95DF648D275C836F03A4D1FA85144C7D57622FAD6BEFDDDD7AE2E931D430E29885E83E81
-4C7DF4DFE157A423A163E1372999E34A0689EF8F66EAFA66BCE76DC6CD5F3317BC7801E7
-F090410D2AB40B640777C30476CF9BD7446A9860594FEA131D308D9AEF8F96B7B8731ADB
-CAAA0FB8585DBBE770852E8A76A43FDF93FE9566F81A02C2AAB4014CD74CFC1682F33686
-418EE5FB80C2DC2A155F16292FB6B5C35B230038A91814B625EBEC0089B75E7F3019490C
-32BE5B78620FEC427B756A3A8085E42ED93304D80108A5D957E479933173EDF77913E5AB
-C5B84133CF6B09FEAAC3A41068883696A3E2FAA73FD401E4A5E58F3F7258207159970234
-FD586D1C34EAE89F2213B28F3597EEE1C0D11CA93310C8A294C88119600944A539795B41
-E332CFAC0E578B7E9E9CDB291FAC7B0CA3C125FD3D783E4D955DA04AF2EA8B5C97869104
-84FB27D05B95C8C8FA91C84AD9BE171106D0AF6AF582343250BA953452E1237EFB0142AE
-5837EBB076D5C7B6F25AF4625465CC89B27977E6CB71AD1D4058AA871CF3FC749BC4B87D
-D7F75D3D18E455C67705EBD876D9073D828D4D083ECD7925822732C07E1581B1FCE4A337
-EC7644EAFEE206C62C1A64E10F0F1603CFC09C98FC36E61A59E9DF4C1D410BA2B775C44E
-91001A452798FFD0954AD15D9D20823B52740716F40354E503816CDF0EDD7B6B97879260
-1204972E0B4F8E783317388D31B2DAD3132653A0585F9EF80BA68093A79B773836CD6E62
-CEF409A9A4007D3D7760167F0719F5A12DACD27BF8E0903C75A2BF680048538EF924B616
-FADD681B2E850B2C6AF69E86C491CCB41F8F9FB000F76155B651133D09135EDE439B6A99
-D4B35A49E2AF4F82A369ADAA500C873732664D50879258A9C663196BC29FBBAF20A7FC9E
-7DC8904DB9536C92E45F958AD46C067DEFC27FDCB71A7A1E2391FA6B6306B71ADBF3D6EB
-1544F077E38D93C9ED11B2CE62D3E94064FE75DBA762BADF76E071BCC5507244670FAF79
-F5B0E11CD72FDF68DDD6C03E6D42E4D505F88554662BCD0CB4F5A0A33CAE7BF80854E715
-8B4E020F2D7517F8B5AAE67675E7518C6A14F00938F36E23DA2172719B351F0A19CE3691
-12DB35771C4EC37F61669D570932E14B82E3B419ADBF6D0E201587E0DC75A1DEE6262DC2
-6EFB9A02174CE7C7BA8E626ED0BB8732AA3618909F69F2D4147F3018494E22ABDC63C89E
-DFEE86E6B21DA05163A32415E6142528918A6936F05948C14B2E34FB4694D5F664AA766C
-5FEFBBA0F344FFA065F5394F621DB9E6427EA543BBAAF77515D7EEFC5186ED5F9EC74A97
-FD1663195D941CD67C91A5217C8D5C7F1BB848C6A3BD03A2BE6A48C1B2E8BE247D02C01D
-B04A994F207D25D5FC46939095986DDDE77FCBF9698D3748D12888D33A7E429AE13C8194
-D624AE196D2F1F384F2B31801B2C3FF3217046A5E11890FE1D63DB4159CFAC405D657BA4
-E47734669D01E953B6702B972981C08A0B028F5655F7C8BD1DDFE145BA1D57129CB9D5E1
-8996C0A0E01285E799F4753CA5879F862A765B6927D7AE8FB474E8169708E1D30E2780A4
-F6893E46DA3F20CBA50BC6B8A310A9BB06713EB126961C97A9F2A4393D663E078026657C
-AAC7E6C723215F0FBE58AF074418AE70EC0E710C97A1CF4A0FF853A8051F18BF4AA7DA5D
-5B52CE39EB779B75843F14E7736363EB213F3DA581741C7D21D8DC268063C46E97FB0B2F
-B525AEC2C6F2D25E0EC43F91225719B4087A92D3A44DF7B5333C64B92862755D5D9566C7
-FFAA3554AB50821AF913213B8738D8FBEB7CF5BDC7E8F191EB3B66A8AC1DD9EF0D5FB967
-B9B1833D8C67F0B6AB2A32F00D20FA51E841BFA6ED035779536EB6EEB30CB751C81D7270
-FF877E2A0EB624FC8CB8D40830B9FE2762FDA8F5A861A0006CE1397598A712DEB751647A
-2E5AA196BD31465961D4CFB2F9E8C5C20BE1C92592B3E457CDD05B11DCEF03127B494B8E
-4AAE645ED3D891973EE5D633A24B19B06B0F2389FD5ECE0FC1C5091B8334209AC3DE128F
-8772D373142113CD296AE0DE58B844496A70FBBC89C09629E095EB1E36DB8E73155735C6
-A4029C1CB8D935F3B563F68AFB6D1DE6D40A59A1F7092466355C7C1A5C3792353FC4A598
-73E5DB876C029895CC933DA80DC11368BB19DEA413FAF2F7652AC6A18ADD92A7D647883A
-4201773313B677A7A1D0F4985FC8714CD9632C8266BF7317E557E79CE1EAFF26C5E19F95
-698799264FC251C8382158ED39E613F3BE87660A5F1F2C6F7D9EC08A901E4800463E6498
-65F2FCFAB56F971730824AED3970830FDF3E57802A4CE2DF1EC509522D0FF75EE464A502
-D77A0E9095DEAA555B6EAB3506F2B13B817B60AA418891969AB75873FB0553874048C1F0
-0A9C61105A9215572B1343571CD14FF0AFA30B040AA95AF309F412692288FF9D941CB245
-5B8FE672B4E78D6FDD3AD9EFBE0EAC354C7AD246456CE0C8166441D72762B6518B6EA8F3
-15898649D17F406FC07C50F87F04C9DC12284D655F3A4A14A3D55E80E2D3D054828CE8A4
-2E33D9963903C2BD11AC757687014D2DED8D1238BEBB7260A96D973B062ECE3D429BEF7B
-63B4394A2B1DE4F56D0729A7956030F8757762F13A90E211B7B245F3E968446F5AB19621
-5C0A0F6F13957C0584357FB760C68D41A89049B5FFC42A021B1AE9217BCFFFF0063877C9
-4E884FF624D80BFE56F79CA93EBD70844BD30D51D57E19634287881CEFF135EC18ED3873
-596C7C9656B31BE31655F2630934492EE1FC3E44B9607F1AD8F4E162C356A1383AE4E797
-0D2FD92A69282CD16663B2B9D199702FD3CA9B6CC7FB12A7A0C2713B3F5E81F844BEEB2D
-F3EE1F31BB05BF57377B9356B776D84711164A49AD69C338D8AA3EAC2F616E735E5677FB
-D54A8140DBA442BFC8CE397B2F7F200E9B8AE8417733F90B2ABD1C70F81259D944090B92
-845767E935B2BB7D5181EF5B3D50FC31585BAC37CFA267B966DE999D3B40B2023F132ED9
-C72F827C28D41751D67B98ED61FE3E611A4AD1AB2C45F303677C79A49F774F710004E604
-0AE91BEFC6C8DB58218637DE4923CDB315E941E5E124AFED06CBD0B75484B7B9DB3179FC
-5759BCE19BE50D07541DDEDF00C0BFCB084FD3BDD10C4EEC22DB607D65C29A6D78178AC5
-AEF0CB466EAE31EEBFC7B25B2AE157C69BC0747EA3222297F4DD937E1523B9864B62A666
-A4ABB9B4B3A908DA0C37059E847AC1405D2E4246A3CB9AD3B39BF3BEF16D48F769B69422
-7D6743C49F6DBCBA1113DF16B64272848F092C34103B40DC3118AF1CAB1E743BE858404C
-3A9831ACE27D3DE50EC75F982D9DC1B6E34BC678A07D214B0A22AA146AB298647927FA54
-222DA2AE878C8A0FCFDCBF90A76CCE2D6CD623818121598C31D0485C900827C91AB17ED8
-3DEE367788418FA250F9841DEBBC95114D82CFF93E8C6164C65CED77D5DDAB4F65FDF19A
-26FDF57FC3AFB4F4D155B1AF747A668724F1E2FBCAB941987A17D4B455A74F4E5DB5BD62
-496B197DF439701DD993EB50F92D161ED2E37170EE2D1DFA169C2AA43752C765FAA87107
-3DE44D8BAA93E6511DC365B68157C81C8F3DAC8C624E58EB22CEEB668A058E23F3DAA93A
-D05C5B1DF3DB0C88D6FD40113A851F1387E9E2EBD2460EB7FB642BDF4CEDF1B22DBC51B4
-2DD058AEF2CB32B20A30F1948A363458FE07B146012FC3842DE485E687408187A89B93E5
-FFBE019CEE53E8A46C3BD54D12D35DD09D638B7033F0E8B48CC29FC898128F2359AEF423
-192C75DFE9EFD8FB5CD2ACD71811F5B8BA259E9F4179CB1385F85C9B1CEDE79C47ABE400
-0ED992A100198FFBFA4ED40B9B55FD2053DC49A2ADCFF0D18FBF9964BB2976D676FE54E5
-5051BF7FE08C5C70E8AB9A363F98DF09D22AFCFC8290E828CFA5E965574043B310D9A570
-98EC92E2876DDADC2AB52B05564EEF2A64AE2327DBD80795618500D96F296E178CEB3042
-F1BC49CD8112A5A373D6A72A8248DF6D682245A134FCB990F9FAB1CFEE41DCCAB9CCA831
-2B833D6D21BDE04BB26F445093A8C7334F58F3B0FE626C0832DB7BE2EE788357695F3B49
-FDF2B8225E7ABB6FF7A51EA4F03F3F4CA1BE00F70D74416FFAC47C4A8480D12FDBDF2450
-5D53A882988C5747FD8729FFD263C88749AAD3FB70B064AF33BD21630FD5853FC8EEBC7D
-91CF02EAD8C57CE136A4B223AF4BAF7D7C08BF31F1718318BBFA9D416594EBC59E8D0BF1
-A2AC0249835FC1C274065D9A28D0B8D751B9677FBE7D970771A8FD96700F00A13AF76158
-AB7437F5EC667D32D8287ECB8A1794383896EA4BD9AE047EBE471A9500E94C3B9EDD0AD8
-24C9D9DAFD1F058929D21244D81A276712454324322A3CFE36FE1CD8172F502F427322F8
-FC8ABF150BF749B132A9E93FCD99AE015F1D75D923F9743C23F0F2264ADE0BD0AA7C1C8A
-4BDDEDE18EBA55BBC33B3C9E9204B1418D7B1CF592A5707805C13D62C284B991C817B643
-00FAB2E0457E59E07CAEBDEA55F1D8FC9F6938509E1A11168539B92705BCC03115D29137
-45D24D1533D6988DBDC21795FB59E25850B74A265C47FF6F7A548066FA6203C503BE4E7E
-1590689F1A4F73B7B39AD4ED10D89ADA19673655EBE215CADBA0FBD85DF65326ADDA0305
-FFF9BE785E52F0797A345F8A49A58A704106EB220F88F27180B3630AA358BBEE6E27908D
-512882ED69166A628B32F06FF47D9D05214A4C8728305DF287A48150F2652EFCB1B7CB95
-AD2746D2F4C10847800E9EBEF69188B770D583A079C79DA8D7FD9349E925E9A9A30F2D8B
-35EE7115158B3B353AD7E4E4E740D93289F2CDBE6A75E6BCC8A0A3221CCE578D3A974521
-9C418768B4E332783174173ACAAC86FB61F81DCABA0F46FD3B90D46BBD8F6469C30DA380
-A5A356499394FD428F7DA46DABF232202A8A293B2DA79B4933D0790630A57DDB232E9E25
-4DA8C370F1B3EBBF9182C71EA3BB243DA9685B9B8C1DC22D73B3BE40AE56B08716D1F035
-586556DC0DFC07AAA66F5B3084B7BF87D0AF89BC6AF8CE1CB73B56A39515D44DFADEF15C
-E018E31E7B4C61B109A6E105505AB97FB8CD2E53D37BAA3B1C2EC25DB055D87245A8BE47
-94A6E03B71A5F1D13B6E5A7E6C5594CAFC6E303CCC61E01516262F9BCAC1B745EE5B2AA8
-C0E8209C20A1EF19E93222C31B95E4B4FCD0F78F7821FE995494A98BD756FE546700A590
-FFB496FF6852E53470E1A5AB253464BDC12CFF3B5DACF8EBB0B99E822322F21999337A6E
-5E849866939D87B2F16DA93B9F8CA7C83BDC49A4F8C5EA64E8F8A1C00E0BEA534C499C84
-4F39E38A06EAA1102A1DFC0E25643EF8A6245427D8E77EA2AC7B352463671EB6DE8571A3
-84D98E1B35C3213F13132FE76D03AA87E5918FE48CBCB8A2F3EA9B1886BB540095D97BD6
-188DA701888410081B8BF49C7043BD8C48E18A51042E92B542176964E292BEAA06E310C7
-FDBFB496D6B7BA5B07A1D36D516EC19C37E1DD06B9F6F85BF740D26FD0DFC09ABC3D4A11
-CEEC922B651C147BDC3124DECBABCC8986F5D48556CCC5AF38F7EAAED9D719B983DE7742
-67F8CEB3302B8CCA7DB832794C3C4F0156E72BED47BFA0F7E4B25E13C0222584601BA304
-FE38C5E96D3B5E709B6F5FBC623FC9BC36A4C4E8D82452D260F13186EBA95EE4DB5D4ACC
-945D0A3C5C1800C1D3198D509F7B8ED0A0E33612E25B9344F1D53CD949CF9F65463B7C58
-4E12D78D3E6CF003F9A4185A37ABC6D5BD7F331CCC01540452A36524DBB34EC2FA260C07
-824D76439B0059A8127F940EFC1FF165005123C6B43C9700034D5AB9C7FA1AB62E9FD91D
-ABDE5F3D5C03A771B0554ABE655545E133AB8C230517D51830492F29E86963AA55E9B79D
-79013BB52D623E660A4D356C293233B79E7263ECE8F8B6EB3E56C82C2051111F49D45D12
-5148AB7554D601BEAA3037CDC84ABA8825658A09C008D19163FE5FD06D56D1A687EBB6CB
-1C9812EE0E765F14077116182F67D3006048F8BE549CC71A354048520E66860A0D9350A8
-864ACEF55EF91E17EFEAB4D6266C9BAA1D6D3D309073C9DE287BC0619D7E37EAAC4B7CDA
-D320D993B7B8F387FB039AA7E1F84AEF034E7845A1B1B5306AD8FDA2834B59F18E6F1A09
-66221CD9531258458E428EA237FCC45BCBB9C5DDE72061FEF2FDE731706A4C92E5B0B255
-49F60FD845C45D940B4C5A4F38740A40DA356A56B8D155477C04A26B747941180F6EEC05
-A5BA892A0D8E4638A812BC405E2775EC3A2D0E3C288D0DEBFF53582FCEAC6936C152B8F7
-6F9D556F2474BF5ACE2B63550FB94C36E29A8501CAA4C22FDCF908C62012639ACAA7619F
-01BF96A552A662DB5664E1DB1A4FDC4E5E9050088D730C8E1F387CBF93619952DD8E23B1
-4A385AC6C222AEB44127DA14539A079EB16991F0CA2D851467828C23A4D524CD5AD92FF8
-0439F6F47D703E9BBAE227628420C2DE818A9D2A6BF085B5262E026C7A04ABE831065F31
-68772805AAA986AD811CB78F3FF8A0FA7A211127BDDA087C1459520F9420CB06AA4518BA
-A8935A97BB88A62EC76AB2990D8D414392E31C68A91E9DA122ADC8AF3BF4CE550CB1D22E
-B2DC916E735D19215C489BD7B62B842970214B0D809639706303AE7CA8E270ECE748D283
-A8370B4F6A37092EC768426FDAEADFADF8598591AFE55984ECAAD3177973A78EAD02CBC3
-F7DB13A7864EC1E7A68ECC54EDE88E7A62A4AEFA9DB238BAF1A22079F23930CBF7CBE82C
-2B98E37F28A47054BD47B48637179F4C57164B26F4EE0B484FC8692AADB29EA0C770C789
-8FDC78DD58B009B4901A678305A0DA4E89B2152A596E13FAAA822DDEFCAA30BD2FFBB1A3
-5DC54BEB87BF96E4C3D25334D86761D7D78C50D71DD13BEC2830A96761CBDDBFADED0A3B
-6A0EFC34F96CF540E238410D22EE85AFD0AF104A624D3F9EE5F04D9D8805D7BB502E0223
-AFD0CE95C2B32B30030AC7385BC898C282A5EA204957853640D4BF963C97540744F4D888
-72006B2239C9EB3390FE16B4C3415F6EC97827597FF791B3D1B3BEE6D0329604ADD0C131
-6B24B8544ABAD72B337F00B8FE300BB4EC7372EFE3AC8156328238B94E66E1EC7CAEF9B4
-D58DED07D9CC777719E2C973EDF779310890AF183F94254B2CA3277120A03222FAD58E4A
-ED28AAB3DA49B5ACF246666A597BF2656CE2960FC95BC24CEAC5431F73074538B8715071
-FF284765EB54207CA22596B3BECAE73DFC68A4F9A287B8DE7DFC27D0F860771239436FB2
-587B07C1FCA6C74A020A819701431808AAB5B6291992D83DC28F2D943AD0DE2D94BEFBE8
-A15AFEB7057DD4A97B4C172CCCDB490E6F9FC265636A35A2DC556648B5F9F80D180FA320
-AC69A0A61A3954BCAD612FABC12D486A0F2FF0457073F61F2A74345B1ECA9DEDCF26EAD8
-D02D3F4678C7AA82907721A828984C6196464440B2255DB9171706819E0BCB7169EB6722
-912EBFDC6CD488FA34A5556F28D2B448A7187B1E15255202DC9DE4F609682B0B6D2F61E0
-4EFEF15CAE39FD3F6F7B32F226C759A17E6C611BBA79D93186C853BD59D73B19E514D770
-89CE29127F5B36F1C0D661597A6FBF85C15307F624630DB6564BC755145BD19088CBA598
-86B29328DA2452957E306EE08CD942AD6FE6697231EB43DBD8D37B4ADD0B4D8947A057B2
-1D9A133A7DEEB89C1D35B3F49F803700CAE8774A4F9BFD45CE309A4342E3B7DC36B6F76A
-7B51A81B70E038E3E4999D6EE027DECBCA548FB5F4DE4C49981D4617133BB3E0919C4778
-B80894FF4437120F1035520C75F882591EFD511B6F47C166C7663EA2DEEE335DB1A3106A
-5FE0C49565C2AAA0BE977DB611B07D38DC41E6DB8F959798286DC0CE835CE64459558D4A
-20DF59F2E8A63E2DB701619617CE4DD55E82EB396D5D701B691533D0B20C3A0C20F5054F
-72EDE3BDC2393ECED94EC52C25A755B58F4E2596702FCA68B64DC554DAC85CFD99478701
-BBF2A47966CF72E683B5934F0EA5DD86F35B1556026AF02BCADE75ED3C579CC1D9430956
-9A53EB8ACBBA2551B9BF06594F66229489319F5A5A94E51281FEF7BE86AF12D8A8A1CF43
-04ACD3B27D6B9A574F09E2C41D245D8873A78D1CDDF4CC88D96D9F714FEDE70ACA30B83A
-797AD3DDA7D6E52A5AF906CAC560813DB2226BA5BBEA60932640ACEAA2E7B2D412068A2E
-49FE781E2544FDF8C762D947871EAA0DCFC183676B5644AE02DB3CAFABFF140BBF755966
-C9BD319925746E320AFD5B157C55E3EDB4D0DC3FA112964D68BE2A5FF08E8B31BC9E510A
-F6CAAFE84C0A103117913E2C9ED8FEFF96B941AC14AE07B1CEE2308E36F617DC33CCF32D
-3A52F4F6561A784FF2C1144625133FA8E30F7A86E82F675F1EB56579077EF6AE086BC2C0
-B389CDB5C5999A1FF3E51BF766227A03DEFF391312065305E5C3BFA97FE7D5E2ABD0AA7F
-609D8A0E524F99B416172F7A0D174196FB411F79A7CA6F8694DF4F5DC48BB58F39460131
-D47167AF47DD3A6AF1E12C75D947F4C130BAA07174DC577B49726123F34FE9C76411FE62
-8E354B43A5F54BE0F210C7523BF018DB36CAD6DB8063F14FC3FD1B4B69706D45E615C3E2
-9F4E1FF8943FA55F1B9B4411BD0DFFA260664CACF3C2C3D9CEEDC1274B71805FEA88C3EC
-E5BBA17D17E6250494278450141FD4A514CE968C33093FE07E64F168388D141E52E46DFB
-1E2A9F4BB5132C1E6FE25245FBBB3B1CB7CF24FE6A134382F9863D4683AD93338D3A6726
-BAC2C4174FCF4A523453EA28F2095CC1159AE0E0927380C93DE4B979E26D56881A2647FE
-0C46D0B6B50B0CA3750D6974A8DE149E252ED68FE33B26E2F04F06FE6C3FEE1E7FD72C05
-135DA55508F10522A7A2D8AB07220E73283F978B50D75FF36E789094CBA1A8E342428B89
-3B9A664939AC711933A2A1C425291A9E95C396879EF54BB6F3DA82E88CA8C34E9CDC22F1
-BAF6588CD3C54DAF5A7873501EDA6A25B793F219D3D229F6A028D34A19A9ABEFF2AAE4B8
-E62A05421D9CC0F78E2709BEB6133A0708BC174F5D745A6CC53E6DEAD27A1E6CD77832E8
-87935BB8736AFA3736E4B4313D6D1B7EB464A02B0C6DC3BC7C84630C2E9DD020AF3F6694
-90BB8CF0185DF9239E0D27B20FBBA001DA7C30F0DAFC8AFBF45C02019E4AB0AAE458B083
-1051F65D0E398A75F52FC3D617A25CDC2EA1FACD7113E0EBA0262595AB5EF65C1D54CB71
-BD87CC35C9BB992E0A63ECB8A1448619148ADADB906DB75076E0DA42BC6501F6B6717C62
-71E3881CC2D6747D0A0BC7B6B982CDA89E2B9D9870C96A86D3A4E1FA0B04140131F302D4
-A36AB220399A6E551FB6051283E405556A1591E402FA9F04B87F1E3C2AD60DE3128EBAED
-2CCDAC808AA1CC5E64052FBCDC1EC710A3551B3AD6E21D20FB112543EE0DE94DED4DD8C8
-6526F470C83B1DB3536D6DD8C8E021B7A9A82C23A31A6F09E15BFBBEE0A8971B3F471437
-F0873BC669016F219A728510C712415C515D3AE02BAD8467A1E0D911448C0CB280C70F26
-14BC2E52782C1CE5E79C783BF880D1B914E44FAD64E140666274D68560DECA2194D70377
-4EC76B35669FAC269409712901F0D3555B60175AC7799E31CAB70D06EA8D9C359C9DB9B6
-A3E02F6923C498617C041C28CD7E57486569429C3E4C89944E0EB150813854E3C2EEC4D7
-37E2DBB99287ECE4279F3E0D9D8EEFED11867F0E05E40DB8858CFC5DDBE873A174D756EF
-5D5E0D5F251F0FC0BFA7F69EF8D20E34B1B3B5D45501DBDB453D82F56BC6271C281A8A1E
-7D0D8C9B920256EF07F4AAC8FE2189485089F52D024BE36045E0BE613F0FFFE13D223B0B
-2478A20B98E76A783A98E7AFC642AC9CB333D6D39AD4E08B2BDA75686951965AFEB5D211
-57CF3DC3B911A4E45144B3D9D4AA4CF13DA039CC95A9CC8DF44CF17F3D09A1823D65CD4B
-29E2408B1C3FC6C1F3980378E1098255136F0D4BF90D0C4C042F1C86D40BB762E72C7EE1
-BC530755416A0DAC2B3DA0E7BEEBE7AEA9A39825EDEBD6CA316FEBB14C701BB7EA4F7800
-3DF2462E2E429FFC3EE8904D963A0017A606EA0E526EFF1E60BF825B2ED9CB42678B6F6C
-E55A893A047A4E5E38F15349B777566334153DE574290C6043694C364A3CFFFD07180F5A
-44CD991A0535D13C91FA1134BC457A455022614F3AFAB921A70603C47C96B5E466942AE5
-83621BA1544F2AABC4CF7C6E8B77F52FE39F5798E2FB9F180E3C86ABAC210C57A0226E38
-75885E3572BD47BE016C361E84754FCE64AC3345393F511C99BBCD70443D497D575BD81A
-47373184CD09ECD9F4A55F1CB26E921A2B8BDDDBC8052EC0B8CC812CCC2353586B0451B4
-791EB68293CB3B4C41B46723D2F138D5BAA8AA4580A5660F0DD13F25BD665D4994908BBB
-74182C783EDA6C5187C32B7D5DDACE8DB1571E7061A063AA56DEE4B0B6F5544437417E0F
-5F07EEDA1263224E5E44B83CB057BF54725859FED215E5B528BEFCA470C8527F40A09AE0
-20CD42E31306D1E9095137CB6E7FA08191BBCD7176B87A372A97671B9CC090936EF7E4E7
-85F1C6B541387A701828AD82A958C34DBE426FB12A03AA3BA2C97535DA8526164DCC150B
-67442F7D6765D16EBE7FAF904F42A8185DD30DE284916705D3D8826DF1D37E668F9669BB
-343D3200509218C5F929E0DFAA7FE3B79646F62835C808BAC29CEF8CA6D8363F0AC7291F
-E45A85DF8F0B9FC14C7182170AB1F51D9D9C33D8D98713CBF0931063EA95EBB031904EC5
-7FA914B7D7B254C3B178E174F807269B2BE5F340A3674FC03D7550017B70C0E53472442B
-3FDD4D1D45437DBC5AD56D690D9098D9DCDB17AAE217F73B54BA5D965EE197EEC8823FE4
-783FB5A4693273C7142728AD3F78946C0A8B7D3714DEAFED570BA2A9DF9240B61ADA22AE
-3F9B21FD1D73D4A474EA14EBFE6AC82B068D08EA2988E7C610EA5097B62DBECEDA5278F7
-27824E5BA9EA442B328C3B02E03C88511DA9C72A271027176EAC2C7B6392E9E99D8B42E1
-2CDD9991E43099C503DA5FB60E5D4F8FD3CB67FFAF46A1DD243D9DF13116880E727A9271
-BB778126C01AF95B75137A0E3831BFF257CA37DE0B3B4DF3C983D091F09519365B2B812A
-0B6273D30B01515013C73AC3B8D9C4520B5267E734651E013B8002D09F3B5BA7984A588C
-F6115DC9EB84C1C9AA0CBC9777D8923B3230E0A2963E08743E51CDEEDE33F7DDB10AFF69
-BAC8682A2B0885B8059661599B805B9684010A3B6DA56E23E265BC209158D3ABC69BD6C7
-6B13BA17F225D990CF0A42C1A37A5EC523FD80E60DD542322B42202D77F646FE34DB9AD7
-9908DF03C1C5C351E542294D245E1098989BCBEEED311FC5E7C8ADD52E52BF6F0F1331DD
-7F874B30B0A16484EE328FEBB0CA559613500BFE6994EA8357ECAEDB310CEA3235A421E1
-85471BFDAA649E3CC9128A0409C454B3C951FFEFFE648F1ADAA14D5317929411AB7D78F2
-B888B63481346F415314E1967919783F8D143EC05B7BC2D5D9F7315F41F0331911FD0018
-44E301CEAC9579DC227E0DF9FE2D217AC8D7B014CCB01DE9AE852AD42FAEF07CD5CAACAC
-324F3C00E330939FF4B5B677DA731FF712A6F8A10687D29A296B0E685A4F52F3009A4608
-8A935788703C71B584A8E855683278077851E1416171568CA50BCB4EBC8DE6C952FEC45D
-37FC6EA2EE7E151A96452C332221961EAED2B6262431C4C7BFFDD59EAEB9E3DBB17C3EB7
-3D90F0F872289F8AC482B4913C0A05E698C91682C37503A38C841C25A8BA855E7C1CD3EF
-5F1E025E58B2EB4599D76DEF57A60CF24E814B3166042F8084B08711D1C68DA4110BFA7D
-E8D3FBBEB3DE32CD01E237A403F8581AC2A015106AD81FA0DF90301D6BD887631A83623B
-4EEEBFEEDA012BD6C504B450A5F43137757C2EC7DB3662748B105F8B22EC030895E0F607
-5BBBF246422A7D0D6E8953CA66170A8947034CD6EE37EB7BBD0D9F02A538AA0F3D2D2076
-8C307F9558765FA715444282C823FFA3E95640778053A383886551D4F86D490FC156636E
-A5A3BD258674262202F4F76746ADD02FE0DCCD540EBD60EAB42D01FE252DBEC93598D6E2
-0312F2F4704AB003FF956FDA5C2A88F716A4EEC93503FA913CA019456AD0A8F6368CF6E5
-AD1B7CE1BB20BF0CB453379DEB3423B0649A6380ED7D0B40768730D37A9A98B2339852AA
-286809BC86757FAF3DD54C18C3CDE9E72FA874BE9D82655E0551DAF13FD665BD14DC7891
-12FCA109A1C73D4B0A7F230E2F9512D0DDC8029983A1984406A5F100567B88BA186329B5
-7A68539D43F67BE6263EFA278181688FA595ED3BC7C7483C4DCDDFFC01E641C231EBD842
-D21B48105397FC32D6A8D555015760029C2CAB13AC8D603CABF46867CABA01A99B95C92C
-3C224E8F59B3B327A01AE685ACFE6D67F28FA6663F6E47466DD0A6665592546D08AB7C5C
-EFD20D6D5115C775E033E0DAC75F2C6411D999DFB21172A8D0D3E427F768CF7535320DBB
-6053BF3A17536AF6B2C00979FED18A593F71146F9DEA8B31639AE0586B24763DF3469507
-3D1172972B5E1CB82BC46A60ACB82FC66B05D9228C67F3FB25E2D91FD11B696C9FE505CB
-9BD2B2D85D3A22595C338574978048050FD13A59C41B3B0CC2868DE4E017B53935793DAA
-3F6DABDA50B06F8141511C3D5093069CD1ECADB90C42431B5188D912A5DF033B633AB3EE
-67E4943935EA094071001B6F8FDFA00C0E8415358DDA77F2DDF4F7E2694CA6933C804849
-54A1DB8B5B6FE3A7A970DAFDDD1107FBC4C596C379881A6B148D21733CB2700FD9F4FDAA
-6DC49C40A6675C0284FB931AB93CFDE9A94FFC23BF259230AE1724F22485864833541367
-D274CE18EC890E4376F48144950FBE566FD285330486F5F23BAD7AF0A636821A122A4970
-35D77B580B5862D776826AA3735AEAE9D5D7D04C4582778F9B0F713A906618632FB653EF
-4FEA9BD993D11E0E51FF3A3DD50EFB462C4251A42D63863256FC819037BE597382C6BE60
-955D060340A268DCDA514793C845FF10EF0C72D6FF27BD1858B49D50516D48D6FD33AF71
-11CD37F5F7F0C4A4508BE16B80565557D025B529ABDAA2850E4EB6D8AA30ECF49B5D18CA
-AB0BE944E0B95AA0BBE9F4CA91A56FBD41983A6703FA0FE415171CE8C11AF45004FAC49A
-4346C206EBF58FFA74F22D21A1E069AC9DEBE6D36156C32E74A4ECD8BE2C0A6983D404C1
-07DE0A75C732AEA64C88389E15D474F8C0E7789B8707E2F46297012F4F51D07A10794D03
-195654BE0F7DF9A4F5F102C5A68CD37D129051620F807301FC8BD8252B4CEEE5EF78E803
-9D41B48CD3262419E9A4F93B678B9F471F4B221E7D165C1D2980CACA79F4E549D2ED61B5
-02E583516547A49E2804F1149855D77A0D86F3B1B429C56523FA773FA9452CD5B6340E64
-B04FDAE2E5B6B234D03E87E2FD39AFA134265000F7A9506F55505874D0B584C504DCD29E
-CCCB8D71485AEC7BC34AB30453AE4E3B2720CBEB6A9C9FDD7FE7DD565902C6BF2118DA3E
-95595C12A7744212827DF07AC5AA7B1E05D42FF38758A3C3105C5F0422030BB0102A9BEE
-0E07E20AA089C118908BD7207E686EDC8FEC0580F7FDD106F202676424FE815EAB287182
-61FDE8A17F2662BDC02C0E109A020C57C8F37C4B606FA2AFB8C0993E2CD1A91AE5BBF801
-390AB8EB8841FEB2B066F565E497DECCC37DFDC2581DA9AE15E8C215DC41FC92AEB57757
-E92E18FBFE36E0E6AF6887671A9578C318C7FF50178B32CC9A046370946ABBE792708330
-D1C370012CFA2BF4A5DF75CF019ABD1882566333B0E637B9935426FB127699885121D83A
-4DB8A43A648A459C83D623EFDF5A60F11ADD585EFF0579C91F8B5ACBE889D4993BA6FCBD
-64318022C3310DB5CE4324954D78F06ACAA1FA4C8C4120DD41DC4EE2CCA72CA36FCC368C
-A31323A17E4CFB07A0A02CA23F8518CE8ACE1548FD4B67F0A5C414C309DEE52E5327E09F
-4B2A07EDAD8A309C54DBCFE3A59B9BFD3174BED78566F6642916B5B01CF4DDABF72BAB82
-60EB5945BFD987B96B80DF607C64747F5344A27DCBF4EB9797BA5D17B7635D0D936833F5
-0AD01CF4B9FFC273C05AD87745D79BA436590D9B50988311A06EAF7CE77B5492A542ED4D
-129DEF268D2BB87D07DA19ABA6D4F78874A0A6960C9934670B9EDC47102EF929581A8698
-A9CD8F43E4F071577730D9D18AC416AB398124D9EBB91AB66A4CADBEDE5043EDF627CC88
-C68DED934ECCABBB9A7FC34DFB1B65ADD724BA67DAAEEBD04679816733D344635D997125
-7B2BA27D1F44A7D7E48F9C9A4A412030AF12FB89B15B07C3B18F9C6EB6AFED69D6A9951C
-3C1563481B46E4AE5841D88BF8C64461CEE73A332AA07C89414B4380D0CFAD8D61C72E68
-6B34B0EA660EE0C8370A99398D9B0166F8A77FF24BE1AD496B0C0E8ED04734527A5A8C79
-64F2568C9B00E98F7165D0594080DFFF7CE5FF8C26097FAFEEE33307E282858726E675C2
-4B4C31AD2B5B1B855B73D553E77D3320E4D88BEFAB426B94EA33FC9AD8FA81B6636CD4BF
-FC2D11BD1F52BC5BAA38C072AB771A9A107554A327EA10452F9C7624BC2DCD6DE2D43EB7
-0298DE357909FF66BE487285902388A024E120D587890FECE3A00376884947E1E6334BBD
-79B4774980E8A110E7BB841F9289805FEED0DA0F4D4B8048F190DE68517EF34963FA1BC8
-F8C575012E01C280B647902BBC2B80365E9A66E28EC8698EAC50CFDF1C6D113827AFEB9A
-45434209C921460BFF483BE373CAD65640FB3A8B7E5AC12CEAEDD5EE1B244FC42CCE85FE
-4D34FB21BEF3EA9B959B6DB1624F05ACA4602052A78FF842BB1148ED529A460DCEFDAE01
-6A10B5B3C9D11ABD14C53020138A9624F0DFC3B1E445290EDCD7F2DBF4BE408EA8EC21D4
-4D9DB728B76DA63AF62EB7F89DC43144028D1098287566586F195B124B89799E3881AE23
-F89DD6610230B09D6B8BDE79BA206B87BCBC18DBE1BC155862D28CD742C38DF8CC906233
-09F933D073491984DA9D927635800B84A1C2350CD18D962DC9A2A235E2443F5EA72DA9F6
-45BE3240B03AB4D9D95C3B57CA05FE3A7011E12B182AAD81B426BB17D44D5C1EB10959DA
-01563CA2260F6010ED7D37609ACF759EDF8C044860FBE3C89213394F03A309C04EE231EB
-FD84191ECF14A020C7A4D7BF855213D927DBD921E2324BBABA6B7A06D69B4271C66F4FC7
-F15DD52ECEEB76C4C97A85CD59A38E1CDEE2F78354B0B71155227553FBBAE0EBF0D625EA
-34B78125DABA3211CA9CF1D4AFA909080061588AF14CB97BC4DCC1E1A0BC04A40B107318
-1CAB643F064192A6074D3220EE050DE3A56D1558AC0F7DA0E2844EB48999EE9409F0F683
-92569D7E7DE78F070FA44C2E8ECDB09578598508EF3B97FA2B585A163EB540F2E8290244
-D60006EF558A5CCCB1D40CDED1CCEBD665A320CB82797F38DE80CF0DA15BB0E13B8CC180
-9D99437A5B25041EF68916C6E601B0432A2DB84C8DE1EBE4AD5A3EE34249E47CDA593424
-7C9E3F3251C59AEEB48BE773A6D775E6723F3B2AA55B2439CF841E1C729153B22550BD91
-F272DFD3EAA1336E94C8AEE4DEAA00C772BF05FFBE35BDE7AE2A0EAFC33A71DEC72B3179
-E4CE0DBFC083372451A7006B32357B94CD7975ADF21D5977D10444C80257874005F8A02D
-317CA3C38DD0F156F191F88A8BCFE274976220F0D25BA30DC195F5AC0CA478FC1173A7CD
-2A93B482916358E8B0ACEC25E51F975E210C895E1200FF2D29419EC300BB8284EACA5027
-69676CFA8099A110D1AA50B5A4523CBAF5FEEE90B605C5CADDFE233D235E008667D7C0C8
-B2BBEE796F1F78F4819A201131D4399FF2CC2D59B05F923780E775A9ECC284A68A2D76E3
-65E687530B96FC564DD173613D190EE8F1E6BAFC238FD9642D356E764860855820937E40
-44A41861BC40DCC84BD6F9969DEC343DC6F3F7C8FE9342793553B5C335CEF67084B9F1B7
-FDC790015B7F9D682EF547C986CBBC0606E0DE60E95AF386CF4A475902C58FC382C5A35A
-2CAC908457D5B69C88E95BCCF40A9B12012DB3F548C3ED3A549BE0E5B0BD17B38022F2EF
-2987ECC4A6EA46BBFAE4D6B330C3FA7DB68F0695F7A52C2E9BA1B97A6A2FB6ABA4B8EC07
-5E01D2C021D66FD6E47A4014E5AB39DAD64DA85D3171D7398BFF397E371C483283854453
-4E7815254A0612E9B79143E83555FFAB3438D5F56CC1B72BAD832D3F03F49675BFF38F9B
-8F1A89D2E739F07B2FD36BFEE46B0F8E22EB6F23710D0BA81F3B421E9691306ED6D87F65
-4FA8C6ACAA3356D8AEF5BABD5F6E6231E64A772C550212A6EB17D9EFB987D124E63EB266
-72F2C1C00DF095C829BA7AE2EC7C7C26FEEEF5C7AF6DCB1C846F6B6DBF3F7AA0585F6396
-0A27CB026B55B06954B296E45841706AB1D655A5EE4B774A336B137EEBB2AF2F958123A3
-A9649E57BD61EAD0FD1B05C16C1AAD5AC103C0CB1BE0DA4BF4DF83A7F47814A64A11B90F
-B0E449D75637E8C8366346E6839AE374FA3A2CCF4437F3F4C21B3649E8F25499556971F7
-210B267ABAF315E8B1D2120AD9D3110258BA296B3BA195931492AB8A28F1CCCB4AA607D4
-7DEE5BF92546FCACFF9D9243B8941D011F272431B2782CACBC99D9BEBC4CA43C90864DC8
-4C800605BDC071902BA524866FA1D98C709BF9200EA73C2FD8F41BEA226F37947CFE0B83
-1BD00F2237535653F63AAE9A6484A558FC74B7475EB0D895E62344F509D216A97B96B466
-24B8C4CDDE55B5E76D06AEBF9877562210AB2113912A2354E60C6986EB1077526250325B
-B926BEACF55EB2D98858849EE63A44003D3FBDC186315D8AEF57F8F829EB61C4BAB6C9A6
-E3626F0F3D7E6BA066E31D3F322D060AB9990A619D26BF75C261C69F2B88A9C28C70007E
-9B2C08AA5E8F73D00BC882F3680CC9A78E6D70DC8884A65D53E86B6A4030027F7D403CD5
-6106F3DAACACCBB4481C81FED3B7A711B04F016E18330367108EE6BD1A3121A9BD33EB35
-E824BFEE0D128D00208F3E1C860CC99AC8174444D75DF99CDEB40EB09C20355DCA68E13B
-630DAFABCBB6BB51FA406C924F40FA40E3FD6DA0C673DF1A2F695E8EC2127D51B6F034EA
-E96345AF0294778C6BDE553B2A9578927C484B51B4566B120F8A074C52318F06033716D2
-563658FCE1FC71C655D3319E3DAE16886B92DF451714283F5C1BC3FF960295B947D0D3ED
-1A101F34565F24519FF5E7764E3C5F2304FC8F6F313CF6864E09FF079C93167E654A7FD2
-4F6550BB972F93C43FB9399A0E82D58A43B926F454F38447110891E0011904A776271E60
-FC7AD11E984AF84FB551AE9E7CB68466AF9AD82FAB71590A265A08A58C16046254ACB03E
-98EFA92EF2EEC42B4733B1BD9FC767DFE45D4E74FE31B3EA3588746D5A6ED60F874E7C00
-88E2E423BF78909FCE19952A9BF46BAB57640CE2478015C7137D87D722254B3A70D848BB
-177F0926A2E8DB72506A41C381B6C9D9F4B22700C5AF711F5EE5C7C1CA502483DEF489EA
-0EE03CDD50292460C7352EA9B5B4A50FCA148F7FB3191432787A1D4EE5AA9080D95B810F
-B13F5267F1486BF1A49740C61E0C6C885E3C5B9B28534CFE99F9C656CBC3500DFEA2C3C0
-68DF8B93243857CCB6D50EA01222C1CD2AC256063A27F29969BCCEB98B677F10FF3041A5
-D78B64EB9034C4D2B3EAB0BCBCC6C3A4E3F9F8EE0BC45A934C97F79E3ED5B9889285F535
-7B5AECE08D84E86C95B68CD40E4D747A33024028EB6D6CC22D05306803C5120BA4988696
-F91F4576E3BF631FE32273E3618F378FE44B56431230AD82B5F7FAD86941DFB3716D4598
-C9B3C3B92E0839F583D28577946992529A301525F1D784C6E8D21999972522D79AC7072E
-DCE82D02F952750C4EF7BB486F202D22C5117C4AF3C61C182C177BD247A4F58A55764371
-235A5BC43A4BF5F2977EFB2B293246BB9A55B4E52C4CC35F4C5362395B69B56CB8E21F4F
-230A12741F10EE5869AFF80FB230EDAE5BACC982A7B715287BE10A2C77CAB7DCB986463E
-00C3CF475A746BAAF746FC1657BFA756A3EF1C5721A9E5129AF438C17CF2717AA26F3B55
-6E16EC7012EA595BE25CAC595AD380BDE9357F70CE740D44CED744EB001FA180E54CEA76
-A0F33436BEF0173CFBE3F450823F53702405E39AA9AE532ACB2D87F94B89385941573FE1
-B00E96F44433409EBC3B007A2BA87A026E9A99AB844F0826F837CEAF0ED515B75FE083EA
-47AD5BCB8DCE6ADEB4DEBD9DDC83554336FB9B23FDBE3E9812E8D388DA8036B2EA0F0544
-5EE65BD22CEA0325423876C76D30F77443A1AD4B8640369327DCB70945C94E625CA480E5
-D18DB76FF293F7FB61730A67DEC184BFCB2CEC8A47476E40533B00EACA213C3A9162C02F
-229EE91BAD96D2E7FC21930BA22596037E2BAA35AF874BDC4ABDC9DF92F2CA2CD38C5626
-4457D579CCA2C2D9A69E72B46BE5B19789934A526195CE74263C4E4EE29AA0F0897E1375
-F9914C3E39CC8E254031F58F1618565CAA96AFC2F8636856214A86A5BDC3B48F05FB5391
-797D5A8DFF2793D1C1346E54C7EE0E6170C82C5F826C58E46902D7AE72F4725410FC008A
-D1DBFF2B0F6D269D5390F43663AF29E2138582F6B223C0C577428E2E320AD6E2D8EC8F9B
-28F4358A71590309F5D75F86078B95A66DCDE939BB502BD0298E6690CC33832DAD2F7133
-EC7CBCF9EAE3134D91FDEB4BC8C98AE7C8020BF3B3D88D8F207880958F1DEFFD714A947C
-1E2A6DBBBA6E150EBBB7576D612BAEEFBA83E85F20F4B5FD8CA126CE2E063A87005E4FC9
-4DF19C2EF01DBE2B45D5F255152BDB78BAA8506BA36190DD155AC40D4448F0DBB3A0C0AE
-FBE24ADC1CC30F4E1412CBC6CD52DF405A4252F8557E8154730E483B8541E663E0BAE8C7
-816D95CA8B6D800446E4665EE726DBF0ED62395CBDE723ACFCF0EBA7D39697EF738A6F21
-CF591045F1CA5C3E68C2CD77143D7F694A7B9FE3348F70719B0F7D805E1BB83A1AC9F346
-1DA81E3167465C8ADDF6EB04F86193152EE00970D2066F79B191EE15E33606D83505C36F
-9E8B05926BC156D236E865636E459EB06DC8A9AE6BF433511AAF8B2F37F0655488CD800D
-BFC43897B1028A659F689618B15FBB801F303FE42402DA3F49CFDC8D03E5C28249400DC9
-44596A2BBF7F3BAD818203685C7C1B13C05CBB7E86EFB28B6C4D1C9D46DD08CA022E54C5
-4C6D84E0B15412F3BB3B7CFEA7A9A06BBCE4C69157ABBDD52FC5FACF0A23A53953C35191
-8379F3FF2F3BF089CF82158BD6E7013F5DC178EE34C55CB37A84C98C2F24A64B34978D95
-F82760C5382AEEC5761418A7D75704EF2EFA8EAD21B8EE44B87A8FFC59EAFE6B2CAA3D90
-CD2CD737421FEF85551E5E499847EF4B9D7D33F72A9B9E739CB294A16041EF1FAE98F726
-AA1460D1C782A2D3A717F925B4AE0E1A32FBA63A20692348F7BCA69DDF3FC0BF734930BE
-518FC35FE0DE9F36E6C6AF15D770FB35B68AFC513969D9A0934131FB9A0A60B351E38659
-E3D6ED518CD1D9BFB40A16AC9E77CDEF94E5C3CF0FAE13076F4BCE2841C7EF7E0B364A1D
-5B932335CE17861FEEE20D02237AA90A704EB6B74477BCA3B8BEBF8CE59E19E861832F0B
-950FE683E1E5C05547F00BBD3478125768EBEADB91C6F3D2529FF871939CC7C10D0F07AF
-58FCC9F8F9538870C3559DDF56BD94B5C1F239E44324C68F756B33989B482C45A7B78D76
-6E95E12F4E8853A430877E892A392C0228C567BBD42BE2E2FFA7F27578842D7B5D05B799
-C080B6E55B53D196FB2C4CFD7BF64115742FFC49465B2B62D80E877AA7E7D9D8811327C6
-6DB937B48FF75E410B5F639F02774678625F24CE25814E5718941D731B2F8F52A61CCEEF
-66D7A63A4D74DA48992E4794B453734C9C3CB488DFBA825C094CD8B9729AD572DE4B4B7E
-557644A0821BFDF2AEB7BF98C740C6F7BB79E0D80891BD9926DA4DAD346C785B381DF173
-23760CC55A8D050F73E8B8B751438037EFD9505DCFE058874FDE5AA5DEDF7B0B1978F714
-3F0981B964DB2F7A55B97C7ADF41DC95CA295C8DF2858BEFB21B94F5957715F982BCA5A8
-D6BD438C12C8E95ACC46E9720C7AF8A61A1D952F80E1D65769283FD18C2ADA03242F333C
-527384FC8E5FC02B32B4802A8AFD6A0FBBD5678CAA927B5E970CAE60F72773BB4CE9E49A
-0455728B49422E2AFCE32DE8528696E6ED42B350B80C39BE82CB53478FD8EA4B63DAE5AC
-3ED27E83AFFCCC52E65675EED25001048297E293DADC529D37B5BFAD0C659292A7D89F81
-88A37651DED8312E33EB4F39EEBA2102712D108E8122F06AAC04528E3EC813EBE0D99EA5
-72E4EA566ABE4FF8FF53362FA3158FA52FC599728D97AA69A5C46FCBF2B0B75D2704F9E7
-CC7CDCCA951FE69E9C2B9B448D44E82D3DE480087E98D1A580354D4D0A8F893DFB7EE4D9
-30990BB3B886A2F0AE65B2F8C5FB109B5B7A69886E73E7883783FB030DA933B5853DDFDF
-EC18E867FD17F24DF97CF72D95C7EC0897D20F2FAE74A9280DDAD0497CA6D099FA350C68
-1A46CCBD7B8E7AB3AD45658B8F8B3DAA18D6C5DF704A51DF6F2DB5F7FC218980B65BB446
-99569FF1D4081B16356114E4E72166A09ADF09827750DFB537E9F3CB07A29E2D4A435579
-8F9FCFA874A4772D04B7AF6306A75C68260ABCC1B2F59C447845735F8D9557A97635C2B5
-046B8AEC2815C5094D918D67638C10C7820BBD26EA458B076D5979E4DEE7DBD341097400
-2DED95CC963CA2D607FFA38BF2F6175E77ED9A8ECE8B81EDCD7FD6470E63E48A68C0BF40
-952AD9C1426B3FA70F59D03F317C1484FEEED313A9B21DD3410F3DAF2D664C8176FF63EE
-2FF4D366A2E12AE43B34039BA38EF175253B582F457EE300E0F4AE056909C751F8E9F889
-EC08A1668980672230F7564C28C98BE3021A863086442F0D1B0169F98CA5460CFA959A93
-61E44F39FD8F5F1395C18B9DE0DABFDCB82717E34E836578901B33EC4CC2AF27E94609C6
-D78FDE2D2EE6D169036CAEE5530FC220D59A1BCE8DDDD67C2902E53E21493FF9DF4F06D6
-0787A3E6D31507E4A924BA17142C4421D2B87ADCC7A1D0861607A50C49E8359E0BCEEBDF
-BF997E7988B54950D1B8104C504AF8B321D155FA250380D4753C739CC0C2866ACB76E1FB
-D3A7CEB9C6DED0AEDCB16CB9C0FF78FC48A3B7B9CB117DDBB3F2EAFCA2A9462C3F125163
-6D130D50AC1C2E4381A5E89C22432DA5646E4D7191EB57F78AE5C8C63190C8A350D7A084
-54619FEADA6DEB239AC9CF577DE28BC967871FEECA21CBC24B7F5BC4656441B627A81771
-7B793E36D510ECD9835595B08C54504A35DCD31FB2354A2E3B9029FF9586BDDED0E8BBA6
-C0DBBEEF15BD4ABA2296F949104B44C7AF0FE063A14CC8498E52DA2497EBF940DE5F6AA3
-3788199C9ABC1A3EDE12C4CD6324EE6C6856BCF9C5B009C150A304BC37ED7581BEF3827B
-ED0C87705C2EE399BBC1A2888BB0EB5BE6CE090C4EC75F44B77EC20C37D890E9225CA515
-0A3710734549550537F5E097610804FE488C0E67F063AE0B685D4AB5FF167D9462A87061
-3E240E17905E7A47119CEA30BB69011C3AAE24AF76EB189D7BCB06EE72CBB7C1225D366A
-661A2DFF5F3E9E5C6AF1D81553146BE97DF02DCB92B690BE5C0D2C44E1A57FEC0BED0149
-9A6D08BCDC64AAC6568A1D3045616E470F23AEF55E642FDF155842FAFF49EFC7F6261F25
-662E6373E1A107326EE123240146DC3E8A7BE75E51FCB2931C8F42A6E76542B763192B1A
-287CF88D28D0C897BECC7924801EC1D7B7B7E519DF69DFA0DADFDA635C9942F0AE4DA3AC
-B6F1EFE8003E1192DE4EBB8C0656DC6BE46462C97C02B63B7A660B12B1E169416683BB75
-DD6AFD649F97018C8DBE0D4CA139D964A7FE98E7E86EC3F4E846C3DAE736F4C348D39E35
-C98D98B96E6A0436F5B5DD9ECA1DCCCA921879F11D42512810B55584A2F72607D20F801D
-029534B9D3D7C2FA984005D00398FE7E549CE68EAA5B2B21D87EC383973C2D7A3A095293
-A510DF4F80074C4919883DF6091561EDD20B440E6FFDFAC0895B3D4EA594B7396B4B3AF3
-78559044AA7863D818DC89064CB7518D7448C749E66B56F9914E538EEFBAF56FE087CDDA
-AA59C8A6146C282DF632571830B849A87E0A1089979BA0B38911386EC7834B8C3D212224
-D76CE946A6DE2B2C246A92CBB976736A586DAFE1B3D62DA86B7ED2C92D1B852FA2DA29E5
-7AE135B93A7110018E0968145A18CA917354614CB1937AD9EDE813A70B30CFB5AEBCA5ED
-C158CF63704ACA8275356C4837B9CA53F4BFE2718FCD0F4502F90632E5F65FBB14C56351
-21B5A367A979E1515FB818FD72D9AE26CBDE09F79C244AE16E4AA13609878D0DC151915D
-151AC0844AE2CD57426FC916E920ED93AD36F9412EEEDC7CBE6EDF7EE7DF16D52CE0AF4F
-2E5470517F51B4D4DC734AE36A66D44BAB9531B8E2AA28A811F08F4283FAF1394E56FFC0
-9BC31790081146224C8A599F9209D59027843EC5C1DF4C9919B0513050868A107F9B48EA
-8D68EDDC6947CBD4031CAEC69E35BA5F7F2CE967A9A645B064059A523A06E8BB5F33CBC2
-70D056A003D76AA7BA382CD149BE61990747C75F16D48EB550EB230CE7A87D8150AE1352
-C3A828660FEC741DF9A0F41677F8ACD0376724B7060B0DEA0478692B3E3EFBEC197768B0
-022B89CE385C383C478221B9128B577FEE85289F1AE5680F3F0BAA120916102059E3EB49
-74EE47955A35175C55EE172D41B79D47A1D69B679F08AE94B8CF805744C571B87A9B53DB
-2C9F9573FE047343039413D96C6E757C9FEC200EDB3AFF4D330DABF5F2FD5A165C137BEA
-4F975CB34D9B372E543A61C95408C284AF4ECB516028144A64CA94CD5B4282257E8820EF
-1CE2CEFEF2B2254C7555950DBC6CE5E30176DBD5DB8DBCA2159961DCE778A703908A4E01
-BA33D7645C00261888C7A63D0893DB6EE0BC2165F002CE8B909264173D563EA04940844A
-F99D5750540EA9AF7EE79B37173C4150F42CCD60053870250E45921EA215D6A318C232DF
-9000542ED5479DCAB19B839D4F2BC2871F552FE440D7EAB59F1E46130D45E1322D1EB470
-AD5948C18BE73A0EC5028E37D6E7A0D2B0305683D244FC5E80207825FD8E587A74900042
-9C60722A87D9C0D96B32159A5E00120A9FB93A5F49014C86ADD51C4A1DE4D5120DC04763
-136663D080AE9A62F7136088200DC77777868075E545F8AFF504E55024DA59E61CC7D28F
-0D2CF46A746EA11F9CC96E28A12F1C4E208D77BC61FC5F7C32CD6210AF8D5167D0781F33
-F55EB7C7BB8DCF35FEAEA7B268051C9BDE278D9AFDC8B1F832A96FEA08ADA9EEFD8B4D64
-525E223E0F8BE2D4492FF02DEFCE293DF9BC0B63FADFC0CF36D86408C198354D60810EC9
-A184885B1049D002D5250D46763042EF9466A3CC6D5D77F15DDED407743E5B0E66F07E2F
-0D6B34DD74B03ABDD904746F47AC74EC694F2423AAD5AC1BA4D92CC812D14AD5BFBE7EED
-E711C2FF2CA96229106E9B1EBCB7B247E9DF0D3497B50AFB597128670D3C37D33E8B3E81
-4CC5939FC944F0DA9F486517F19CF6DBBC50315F25BCDC9E2EC95BC5C32C3873FFBD02E1
-10C4EBDB28C5D812B259385DE0F27DCCEEF80D106CCF483FCCA045664F74BB6F3A93467B
-F8CE0D96A004A1E0432B509E1E28CD71BEF3CC18FEB60DEC9C3C8B4C7DCDC14360C02604
-65A67941AF7445642F51288B5BBE76CBB54DCEBFE0FC2BB4F9DCEAD53743B355DBB7095C
-4869B00D783D56AB252AD6242BAC1D7F71701B0BDCCA9788B29FEB31245E97BA0BBF6167
-570DE4DB44AB1823F301C2804D20BB08494685CEC27C481041C456C5D1024B7787385BA8
-F7799355810EA9BC21F6B14F7A4FC8F85276FFBEACADA152C746133E53A53F8788030D93
-5206C09FC2A130AAF5A6B28BF9F81A3AB72F910FFBBAAC14993777786D6F6B42FD005566
-B7D5C006BCC0DD10EC2D8EA90ED65F8EB52B488F5D5AD6AB2A46FF7C06B95523D79246CF
-34576847ECC644C0A85F3D379DB1F97A246FE3B066D0A6F7B6BA63854EEAC4C82A92C3F4
-53A9A906DF74B5996B96D2A13A1F7EF9682D8F0669D4D241BA1012B13D69CE14263707E2
-22BBB0E36F19ADB165BEEAD76B323B55740716B85043EEF89D393EA418BFA7806FD23FAE
-5D26CB811E5113DA77A37560F82AE3D2F4D8C4970AE092D0E56888D525D45563D0CB4DB3
-5317E01296570AB93CE8FBEE77BEB7E9DBDEE9F3208656C8B536F8E44F89203343DEF8D0
-C6CF20273522C4E2ED3AB104E4C98E0C773C991C89E16BAD8D6EF4D70EB69F9B9E7192D9
-36E057EEB0048168D2199D790379433974A70E9F418899D3822B0354596149DEF74FD653
-162778EC18B4AC9093ED9A6A3B3C76EEC9CDBF5A4A4ED23BF60E04E5D53A1CCE0360E178
-A682D70D86C5E5D8B4DB2BBCF7082558185084F8D8A22C96C7296DABE818F67FA9E5ECB6
-F5064065B7CFD19BADB214DAF76DC8EE0348E93849BCF1940962F297DB8181847B9FA9FA
-6B443B870C7FFC99CAC69584C8CB64B01098EA4D3496EB66CB4A146766706945BE8AC9E5
-1F82AD6B2891A38D0065D37C2ABF340C05F8BEE47A35F3B01485CBD9B4C79D6DE4CE40C6
-E73806BA1CFEBA9C3A0816054A8A41B757375D6A0E013F96D8D168F0A18E44FCE3975699
-FAEE3089DA2C4C743E8F746C7CE589968319BF03874B6F577D2ADF4711B8BD42EB9A51C7
-256916C4258B3EE07BD2CF4431F1C835C2E1E86887E100703EAA07336E54673C3A3EB4F1
-B687442C6D4AEBF412398D1F1465B8FFDC4FEFD5ABD396EEA8FE981E585F3CA45798A874
-EC4D3D7D2BB31E4CD62898F6D6F27E87B2D2E8BB78BA524A54731D04E0A21C19C05C5F45
-357270669300949C580629390B2734F0F1A32C764E0BBCB8177DE0E5B8FE4E958E9651E8
-703C8AB58326FE0449A73AC645B2DE49E6FC099399003449124AEC31A8714834A8601652
-6198B6AEA7A2F0895EA9F9BBEB13311BB006F4F6452C8F23064057B7329D3B98C5C2ED39
-139FA2436C0B610542069B96D6A0027D4C3B79CC646C8E063C38C3EE4145236F955A60D7
-073D6B8DADBD102BE5EB88FEB9B889A0E7FDDE15B9F69F734EDC33F16BDCB9FB84481969
-6CA99D5D5BB5EA6B2C082EBAA52963C8454A0A1E475013829CBC977864B617A14DDDA328
-E086803BC06FEEBE32D8977F9A8376325B773199B29B1CB15CDFAE065B3A127D8D160E1C
-472206B7E4497C9E91B5F487FAFF62724D86478741E6A2FF610256AB92AB688F2AB751DD
-90D96090E98A2C94C59F0756709F828EDF55D4C7A56E329F3085A8F7CBC2765929BE87DF
-11B087B08DA4D082594FB949640C24586FF1C8B505EDAF05C4BE22EF8574AADDC544C702
-C76D7A9096B206979CCF7AE4249552B38A2FA76F2A9E4EA55ECF7E7B4AC88F77B6FE203A
-2D4780CAC541C94107DA1031658D2041ABBDA42FA36A744F55B1B79090B3FC71BA917778
-CCEA41B76A06564B753BA93BF518CDCC98192399E4960A870D13B48A5B18AAFBC7AC0527
-66F9727D135DB7FEB447986F1817A66EA426643E1D2A4127680EB0BE913BFBBF01BCC874
-92F6D772F4823ACB23F378CE68FCDD439A23947BF8AECFD88A8F8FF4E28526920B833CDA
-DA3F234880E1CF5DCB0D1E333809B0BACE4D1A3CF36E122F5258E7B277125C9AC20AC18B
-9323D1C8332E6CE51FF5C7CFD5201E85498BD05430993DD8E18A04C75200C6B883B0386A
-8E81A4A6E3CC28E4D0744D8EAB410D60B93B82B64D387EE84A27DEF4115D554C338EB123
-40E9B6B62FAE4846FBE23DE6EFF018EA67317C8743F171AD6A008CC1190D6ACF47B5712E
-607B1D6A6EBF3EC767F51A6D432CBE352E67FB4D976D852144289006679AAE4E5C582043
-3ED4A6F4DDB4F6056AF923B84B8436BDEBE43AA7FF0A84B71F469C7BF396E0EA95D31AE5
-23B41676AAAC68203F1214E08BDFA403EBDCFCBA37023A566A0BCF34D4237B6A86FAE988
-DDF9D5699021CFEFCF8BCC3862836220C39BCC82553FBA41585259B0494FA1FFD2C92C93
-C4380B885A55A0F4E829CE6EFFC72F6FE64B66E64A2E3B0E82043D164D0EFCBD3CE98D2B
-8EC210F6570A60C92ED09E5B8BA6618BDA36F14BB1B1E6DCCEBE50E612A09660377A67D9
-3B19D79AC625693FAE271348044AD13EA26B4FE7D1520A814C2F7730537068C5C34984B5
-0B8BD7F836B957067E02A65B6D26456BE4334F180030082A26D89091E30D628BCA32307B
-310C0078D3FCD2283D078740BDC955B4DE611BA1D09A04AE30EB30154C0573F459E75557
-A006418C7EA44ABAEF9382C182CC6AE260328551D722FF8D4B06D292E09215F79118A716
-77B0F6B4A7F15BAF61BBABDEFD83C92231DC7E4A491333DCE7B5D1FF92B6D79462D8B95C
-E8300AE364B0D92F7C40797EBBC62F9847C796775385E343FDB02A0726FF6D5E118B8913
-F77E2DE8D7A93359530808B89BA7CE125C2DD1174D30F0EF295CFDC6E4B039283D23F235
-24D860B97851E7A59A8863959F75757E6F9F7BB8C5629675225CE1F9543F3EED0D931D2E
-18A9206F709E5586CF19A965C5CDDE330517E19596DB1A817C3146433FB0220655949098
-0FF33A01F79C04CF7D46D80AEAE67F867DD572EFC12B469C9BE08D9ECCE54050A6331593
-4FBAFBD5E4F2348251582AA624E6743A0C8FA08FB3739A303D919A9796797642F6CD65D6
-7548C40C32912745452600D2093AD67A34D3219CB539CECB093009B13AA77CAE78AECB0D
-A624DA455725B2707A8B27FB75411B96DD0F8F33A31CCA0D0DF08BB08679C6D2F06CF847
-23DDFCC89E54D68DBC2E8AF22D0E20F86317847D41BD78B463593DE423200FCEC1341B6B
-A61B327CD89757825968B6D40BDCEB55BC00827EDF7994C12CFED6A4C16F5F3CE38747CC
-8942C8CE454794209ADCE9A7D2608224AAAC684EE97DC956453071AAB23DAC8D28D1E2EA
-13D28DAFF068BF11859F8E1B8E8C571EA30CCAD1333788647E250577D2E908F41ECA1B5C
-1A2199B479F0D38731EFF6F8DDF3B86FD436D41F24306BE4D1771EF24B287EA32C5A60FC
-BAD6655A20261020A3690E70DCAC494A6AF3214BAEED8C00CC86E861C4BA6F545F94194D
-9FD1736A81A26ADB9BF05BBFED3157D6893014E87FCD8419D750AB2F51711D1D4FCCA860
-FFD22A121805E91AAE796708CF754C5030742FA9AE9CE22FD45089F532C769E906D2D74A
-6C7DADF54ABB9F8CE74AA0E8B86F9CE77CA934DE33404BD07BE3CD88FF1D9C27DF034032
-554121F6214B95B17E1F8B2909C31B93E3BCD416DC76A4D150B7DC1A0D16B57A3E7207E5
-34BDF060F416E97B6C97AD7FC846F6A3CFDC92BAA822FCD90087A19C6C04BFB4BEEECF2C
-E8B184E9D9A72005D2E2B306AB25E7708A36C3C6CE857244BAEEAED79DCC8420EE0DF1C7
-A3BAE477C4DC1EFD1CCDA761F230AC93BAD22F569758FAEA83B6FC12796C503856E171C2
-1B8DE2926E0000BD7BCB2087184865B43DA908765DB836C1397F86C4EF27C6B667D35B3E
-ABE731CD32C0501DA20A26F086373E4CCA74922D3988B857A715B8C70F131A190A33D9D8
-C36E061A60E1B5C63C749AE965EBED843204279D515969A3A5A5C0616FBA3D7DCF19AA8F
-B0B8FE4D5134EAD0CC503F0BBFA49E7C2110BDD4BE27DC7B67DD0F417AF8C33FEC671208
-9D5309074D1B15CD52FD2CF319D1A3B149D7A513AD9D7C0C1EF8CD2CD7031F082B27CFE3
-1CB2737CCA9492AEC194A92BB2E5FDF0A94A30836D1FDCB78D9AD2A3E4A289A7E58177B2
-9D92BA721571204A74441EDA8385B79E67E5AE5F52A2A181E8C22E3343A30AA03E2DF4AF
-B65F91D82A7823D2A172196B613DB060917CB303C574522DFAD536167A501EC998004BBC
-7DCFE97EE8AE4F169D604214B9746475C32B7E557223B20DE15E67DFBE2B4251DE61F732
-9BE3B01CA9D20CC06173FF97EF9C15C4109A1A6A321C4CFF59F448D7021A0A0E2ACBEB78
-C4C7417E652E46DB60BC50D79A8247146CCCD3D288F7DFDD1379154E6E67C3245B8D4F78
-394936ACA8A3BDD330219F916595035D95CF1AC043B3205981126CDB837EC4A69FD88C20
-EB20E8204E3C5388A84F25AC5E96F58BBD258326C4961CC39627359AC1BBD203C878FA14
-6466C407F206184AF3D5666E7A3D6A01A866523FB85A86CBC08C62ABA290248E9E23647E
-4A3D39C6C1A4DB8EBFE9BE7D70B228A3D426D6F5F0B73EE30A462983D166782B02AC2B3D
-CBF181470A396FC272782D83A2F6978586975FF35C955A2A15DDF14A0A152B91344856DE
-24E10D9BCA853424AA1ECA78A8598A300F620C5D5DCAFC26E087A118219F6F17B1A468A8
-B3C2CA6E1113F428BFA8776F863D89B432CCD125F7E37002067D775FADA0365E6314B022
-E782134FCD614431D014018CE7E6A66092EE5113F3E94ABD5CC5EBB42B11DAA52D18C34C
-3A8A973F1BB6AFA1C81BC36EED9595E5AC3ACBD580D6D499273CC5A04FF2FF51CBF886D2
-4A80DC14D0C7C69B04E77E3C0D9DF24D295128632562A1BACE9CB3D69332EB08490CBB94
-37A4CBEDA79BC03409C7EFC8B8C38072D37F9C2EEA32C59644EB148EA83C21534D28211B
-E074DB78285632BE3DEBDE8524490B9CE18FD89374171B546D349828B5C2E9A497539CCE
-B501FCD13C47F4C2C57E7B625963E7159A57A3C18FF6DE06B357E7D125574D6BC2A3B891
-A918E00AF3BBDF845E6E3BB21FFDC4F724085C73B147EC7C72AAFE2C7087133CF8759CE3
-5365425F272C61CF5F96B1490DEDE8E9FE77E6F7FAD03A79DF2E2A90E1A12263EE5E67B4
-4B1A7C1737E4B178FEE720652505F6C5AD062FBEAF7C8134E984B8FEEA448340FEE7E3B8
-54436EE0CF964B7F854AB52C1A7FC0CB455EA3B879034C34361FC56935B400E93022A073
-44F0552946915B6DF0464C8F7DA5EF0C6CC85A877BEAB9FFC4854252FC2D01C275E634B5
-2F4A439AD072ED4917A6132CEA7669CC1D91CFA66EBC689CCA482E9D5DAC4F2D4A138041
-82792ED95C8305E0BCD5B0D70C6E89F7F292FFF59D405B86A00765E0E2A42C18004366A4
-C9AA307E15395495BD16D691EB48649FC2E377B388B6F5A8D519D6CC18B4F2176FA9481A
-BF4A0674FD8627F5A544C3954A4F51C234DD631301465BCFF18734190C48531D3C22A368
-3A8887D4C665D442C58CF05192C957A5B8D5246E925963FB22A4476E74122D5C5A45A64A
-DDD5280D5BCE3DD52BA0C2C5BB01E25C6107BB785D48C5E37EC652343D5DF64124E0544E
-58785F88A7677C2995B938923A3D31BFEBE629A0C0B10E89DC24AD5C5BB67CE96706620D
-44122A38FE39966D83C60B29DCEACE2D5B7C62B8DD63A8C4933EC9C2DB8F0E1EA95C4325
-E6A392A6FA28BC9D8A4614B57D6454ACBE1D4855126AF4F741EA672C5DC8785B9510F1E7
-CD009ABC0DA119E418B9D1732893A71295FFB947382B621A35430765814A4D87BC9225F7
-C30315EE1C82AA20C6694A2BBAB918D6218A862B9606E868B7CE46ADD21F18FC192F3E53
-680F2300AF3404BDA02406D991FCBD977F993BE179ECE640101FF69DD7130AE252104759
-BE35F677641AA99B77998EC68F2C33A8BEB421CDD80A32C85187445EB30F882B11DAA52D
-15208664CED636B5A8630DAC33A8F1A8ABF26A1E28B1E9C5A8BF20B535534D337780DF72
-2D36FB033EFAC9F460A030DBA78B9DA909984C36A8D3A206501585E2E7CFAEE68CFFA72F
-3C55906EF2D704D8815FC8DA8CAD942581B20FE0532732DD02C2E7809FDD9EAE6CDE2B79
-F81DFFEDBF5B25B0F81E884877AD96AC10D4CDE1212BDF99DB3BE6B407AC12D6FF84909E
-B43A9E47C76B6D10F728AC30B0AC9902AB6FC8F894FF1B8EC121C32DAB55C6A781D5AD57
-45F94D85EF8BCC8F2672EDA77E61499065D9C1C6CB105E0DA67E2562663B52D97CE325FD
-4C0C6A01D33FB1D3DBE738088EB49F61BA3A7E70F567109226E247AFF09D9B0A2103C79B
-33467BA06B94DB8BAC62F45935DBCBF027F1C7C36DD12E895077A646392EC61266C98961
-FAE84D5338D421424846807E904E1B276CACA31010E0B3E5F5A05E98B82A5576C060F452
-6CE73581B41C6BFB71867D47293EB5E120E0878CBD4F670B69EE75C203CACDA0B87CD4D8
-6A7FE930BE7BB0D0E004FC34C2A51B5304FE437BAE9F2A2615DD834E6D680A1EED495A87
-5362C820E355D56B2B5D2C70EF2756A992BABD7C94555961A2C39C5AFF95AE8B88DB2B33
-2D0F4551212BD258BD2D6C53A290657A3475E173AF1CC8A893337932D9B35FF9CD005B2E
-7854D0997F23CB9D359D7462EC0827DAA520FAAB6B0A396695DFCA5758BFA64DDF4203ED
-FE4F89457895CE06250121FD57536E08E898DC20F084890D65772A9E242F5A07A0CA75C9
-C3551E79784A8A3256455B6C88CDB8652ECB2A457D00B90E2C0DBAEEED508EE964DF1329
-B34B20E37D58D92B6AA15B5D5F56702C9EB9755025FC8FC393C430CCFA34180ED1BCF887
-05C6E3EFEE8A9D5C99EC0F48CBCC34F37FE10FDCC68B021E14A1D131FCF8D5C2F8FBF465
-8A60A554D418D590E03A268503D12C542393342599828553AD4589E8B0E6DFB2EC663AA3
-B6A37FB206C1B732C18A052A0F309DCA19DAE82D110FD3337A863206216B00317508BA1C
-1859349EEEE49B9D25C897D29C4F28C3757D350B3000612D4C32AB5E072DC92700132514
-30C91CDE6C1035138C683763736103E836DB99ADC686EDE265182E8B02063D76441E6122
-F10EB88DC27F1273BEBC4219A5E6934C51E2A9FD36C7CAA59FC5A5D2049C0781FB48B30B
-750640992D5CE69D1602543B81712E8514041B4991A115956C268DE747B0F136F8819023
-8D14DDE8DDEBB7E147057EFAB2D0F0002CCD0C6D997248A1AA973D284D6A04A3E009EEF4
-3F9E859CFB4833C7E485DF4786089D9061F6F4C1EC74BD179D01636788A88597B7F9742E
-17C41DBEA3E371FC867274D265589AF7BEACF9748E7E21B73318BB6728F455EF9BB67165
-6C39614711B33B96FF3F74EAFFCE174F0CFD3704637E5CD8AAAA0127AC58C82CA7B20971
-670582631831E7E5EDB9A27C26C67165C891679515E0514E6D6CB7ADD9CAE98B9E578DA4
-7B521CE6E8A0AD1DE58A024F954A424B707C462C83F5B459D000E5195F45FC4DD186DDDE
-4E305D1A2743BE9C41B337785B9D57EBEC790987B6E1D03EC686CD01C3E2E14D63E07AC8
-FBDF1D5D1B38A2BC1BFBAE604908BEA0990033F9F4FBBB8CAA310EA2C217EB5FDB8E0B08
-98F64639043595E8D09010D98F959A7BF315716FE1E05109992F33231C10B7296E284A87
-219767CAB7BC5DD096DC7E164E114FCB6CB16F078275B08936A7A036D17B96863A068423
-D4B72E67EA43483968214F6243E538AEFDD7B076B0B6F7CE98A914D2A2332751DA48BCC8
-0A950FD81DACC79DD6E3A2EC69B724FCB10CAAA58272FA64D625557153DC7C1683858F9C
-00C98EC395D7A364E65B33A0A8FF31C7FC19CE7DFB5D77E2B5196C924039F2B4D4859C11
-F3E9D42760F5DDB4A3BC9B78C0CFD18F9B75F4756DDFE2D7C3C8C4A60E6ABD17A234CC78
-10A6AC5778570C86C63B27926FA00D01A204CB6E7EDDFA36476E7278B67789B17EAB6F9B
-384465DC8EA130CFB75204A20E63D0A77F4F2148BF88AF8D86A7CC39FEFCEAFEB7CAF7B0
-65D7CFC437E55773A2F24A1F7156C4488FEE00627ECE1B4CD8F8536B91B477331073BEAC
-A38423E177E3BD2F6E5E31673EEF7C4510D430BE12AEABD40D3E7116C4C91F47CF12E4DD
-6500656EA37E109AB7F5982BEEBDE4C4E1AB125EB84B560F82716B4D672D13CB3D424596
-8B201C3B628AE15A0E35EDAE952720D3D7DC3C373E1589C1B94E758BA485AD155FB984F0
-7EE774778F52A84919E48959C071F7ADA4D5D64A81E8D5D792F9E8DE6C491EF9ED29EF53
-3CE191646D7EA108500A935EC3EC9B4092EDC5920FD07A5549EDA2F643175B7CC27F7AC1
-098BD65DEA60D6780634EAD4FA2117E74458703F9722C9BFAC8863D2BBF338EF586B4E34
-2583F1EE4907414A1FF2DD25BBD2F5F3B10EE054A6783DE20C414E7366BBB3068D0E3CCD
-A8AC3FE053EE1B89F32EA80EAE51D9FE242D06752BECDEF0F9FCC48DD72BF764378C8628
-98B308C826837EEE3C1F745325F1D989D33650C5A11AB9F5C47C20993159CA359ABB6E14
-ABED7BD14F7AB1B604EA8179D2254BB6D2F9F08904B91C645844368329765045BC4B0EDD
-D8A5256C878D64941DCF0EED82A61004E584A8BA9CF9ADF76F5CB0B2F26FA4A4E6499C45
-92ECBFBD4736242A8C64D6E692524B3E663CD47D0341637139F2029358BF07AB385466AC
-BFBDA0A68E684D4132E529F4CA6E3017AB2EA78F4281C290E2EB2A948281C7C466AE758C
-19FB86A7C335C50BC32E68FC5973E533DC14720A90E5AE57F8E8D87B0567F291C797A00A
-B00F1488437F05B149E4CE5B182C5CF82C3B15097C269913088C9A493C976319BFB2C669
-553240D1025AB656ED019592AA7AA98DF352A6F0CD453FB20FDA9BC5E53B003528C1701A
-94F06022EB7DC590D290D564DD37357DD75AFCA9704642DDA1E23E47FE3EAC9E6B5D22B8
-AA0912C8176CB668997D9B9946314647ECBAE379CC2E8A836F697E614CD975560278F0AE
-74EA9A7C10F94564170B11426EB79670083D2F68E3336898E5D670AA4785929A2ECB553D
-356F8AFD7B0F95E8AFE1947C638684800A8720AB299EF7538D6D56FB1B679FA5987BAC22
-A06F3716B089EA008B1DC55E3CD09A39F0A903B8EB764E5AA9C1AC0B5231C440F68D4E01
-C36BAFC2FF18F34087A5B90744D85B8DB03B3F8F3578E1605487328A11ED9C7E7AB8DB6B
-580D7329026F14F24304B195893CC1D091D960730D2C45751109DE55DE39047015AA14B5
-C497C41867A5DA02E7091FB40E952E8ADDCB0117562A04E71739AE2F9F2CF315D510DD0A
-063AEE64F428F29AF03B9436652EE54D68BB45FF0E3A373E5CDDC9AD707A989AEC860A32
-2AB8C2CBE68F36F2523B1145ADF788BDBE0F577AD7F5B082ADA4E4F798199883011BDDE0
-18783C3E8246D2829325798FD75CED42DE6FA551BAB1A8E0637BE3D487AF286EC8B42278
-14FF0E5BD8B32A0C524FF0A0C22C8735BF7145D82F6721E7774D2EAB4C28BCE0634A10CD
-571490C14979ADB3126983F20925E30D7DE2AC03C146432D8B15DEFEF9504467604D9F02
-32F7E56163F09E9BE071FE10FC3CDB00F40004AF8B01239CE23B5F69E37B35D5DAFA76B7
-8576B031E3386C6099407C8042816A4EF9CE790110CF24C114EFDB9C8529A43C41168F10
-A17C2ACD6C4E299A9DE70657E70B16CEDF35EB41392648F09A02E1E4717400DE1A346671
-37A7CD6A6EBC5F48A19FF169A279F815BEAE49B489923AB6243E4C8AF35B4CA1EFBD8EA2
-D21211D869E0D3DA441860B6BC465EA8497507B8323CBC9B41AE6C774EFAA7224385FDA0
-CA5104978442A4279CA25C29401BBA1367CEF35A2BE9D24CADBD7BD9695BE9AF03BD8DA6
-A62111A9B59A24A4ACF6334807CABD977D251213079A7265437C822AE4893BF048B19907
-E997F038CBDD1FD0B412AA2817453698EF05EEF47AB03E9FA77751C57210969591876316
-C83D5052163EDC28DBACB472D2873919B63E9271310702DB9521E8C18020470A4DC60EC7
-A1007BC82BCCFABFA1F575011A9067817930AE0321659ABFCFB4CFD6EA7AA86AEC98D64A
-1854B666D075107ADC85FCDC67D89C379741264E6554B7F60E19A5292D356E64538777EC
-830B8F0931D34A61F9CFF3C37E187D99D5A2E7E876D1E8996F73FDCD7E614101F97B8BEC
-A0744AC91DB473C0103B6820134BA545183483C05E1EF90B59B78305350080D2204D751C
-C8AE8DD9462DD62F0FBCE507F6EF39AAD77024E89975AD12BF8F86130D9B76AC7BC4D4BA
-BEB06B76BA3D77DAF45E769C732882DF011DD3E00845CC703EEDB8EDCAF7A6EF4FAB06ED
-AAE69FA3A9436774577899367B202442BD6CD24377AAAB605114823C26D249CB0E130CF9
-60D8313DC983131AF766483BA063D7ABC0BC24EC06DA0720D4884F9421B9946AC15C30A2
-DFD1375F5CD56D83C8B94CA84D3467574641768C02ED50024DA171F856880506E3AA5840
-1E65B0B73B80BE8CAAC83A1012D1F244F4B99BB4BFF9F001FDA8F06946883B1F0657C3F0
-22900DC7E6EBF936A8D55CD5D0D66291E24240F8B997361BB943B5A9D36900ECE284CD7F
-66047938301E2632D00CEC224B1811F43475B3EBD58006DE58DA2F91EBCE1833CC23C395
-C071663B9A91B8FF22C98D840700E3256087FE0A616FF9C2323FBE8CA67CEE432A2D2AC4
-D00407877B33CB35B83591CABBF8700623D58B8C745C6FD0CDB21A2C7B26BD8495AC72EC
-A551C5B077D0EE92F5A67FBB4D438114D161566167535A3B8BD74EB10382D997C418428E
-F88388B24D9D78C103572341D2BAF842DF6522087E28058CCC1A8A7858EAA41D1F588C55
-282E7AD9708396959DAD7EEA79291F5FA856A15E0DBA1758E9788685F3FE87AD15E29379
-8CA04AD209B10DE234315BC07132D32C82ED96B649EF7BD65B80A45FB3A48C5C3A994628
-118633137D02298916DA8E3EC7598B8FF27058EF911807A26F2189169D7D53A305F89659
-B6AD13AB05ED759A14FC3FA59F36902ABFDE6D02CA63BE37DE57EA0FB0ADE69626B8AFF2
-C4CE000A5AD361A7311FB0503F6C6EAF4E12E90DD26C2FF14CF944F1C7D370D1035DDDE5
-DDACF493116C4B10BEF55FD88CEBC22252BF641FE8E871D2A051F774A5D3D9921D1BA16B
-26765180C16A4800F59B9A6B990340D78EF95CE32DC7F14F34A67FFA19474C8EA4641284
-DBA859874D070F5B345083E1AC095CA5348E0358FE7B10F3DB25027CA0C6F63D034974E4
-64ADDEF24654F73B0473208664323C568A2EE651373FB821BA60F3ED0844FB75754B1D3F
-D47D3097CECD9D8AA2E3C12A286F3AE09EE3F27E136DCD543BC7BDD8F4E1831FB190FBCB
-8B5EB2BB4C91830CDC404EF0F46DA4A9F41345181D0F74F39F36F5D1E2FB935D595E6331
-80AB43D32F82C5F339DEB75288209C1F7E006326239FAD725314A95ED40D51CC657E52C0
-CEC73AC090702C85B9F171C89B2C787F1E7B4EDAA41CFAA83E47CE0BDD74E9AD13E71539
-A19872ADC0B12C705E9B4B271016B208974D97623777A64FD6F4DC176B98B07F9BA07D8B
-949DDE4A4236D3F19F360265D8E745845F2E6D74C1982803330033B524B6692E58EEB2E8
-D1A3EC8575839D85FD65EFBAB49938B9BFFCC0A23D8549BEFFC4FFD9B5644B205E17EFFB
-A6D24813F3F490722DCC5401EC9BB107ABD77D11FDD60D882E20F1993F9F471BDE3DF47B
-13D8BDC905A1EC61E9325D4F6CB62477FCF08BA409B7B1BADDDBD072A8FB38E26AC452FD
-B77D07A223CCE2EF62F7F7365B8C9697413D77A188491448143F300B09DAC3F77EC6E287
-C372410597198B2E7AF074597B6AA4E86AEBB31E56BA401D0E6E94C40A4F6EEC7703C3EE
-06EF6FF5DDFDFC2B7443D67C04D7311BCF21761DCEA797936EBA6098C91A973EAB0A9D6A
-E81C1893C7CE1A8D2181DB792D20C29F3E6C5310DA2F4A25DECE6246ADE8B78C0593ED7C
-62D5D6C89B6EA4AEA664A79DED2FC50F958F8B1C7B92942B4E58323F2BABCA0B77B79992
-4738A89BE91ACC5306B0B6E45D672069AEB3485A0B52E931993E600B2E65F969D17585B9
-23D1E5C75F44E2866DDAF942C6ED937C4B7BF2409F1BF6397FD27BB5DC7DD077F0F988AF
-0677615675590C950D0F9A39EADB0FD85644D3996C41A5B45393BF9FD3EAA4435F9A99CC
-5A35051000E4FB703F801E8B71115A0EA3BE19D5AACCF5B0833AA87FA7CD506C3131B6E0
-5B3B92A493B57268CA478EAB09E71B1DC304A329DC6E7453F4B3721CD13C2B670C19A764
-9CCB29BACB087E768F9A817E893A4A0A7EC4EE391DF074C947B2978A844D944A10E2229E
-0BBD69B27AA210D58954353D1266F57823ECED7EAD0AB583F4F27CEDF3F92D1FCCF34BBD
-ABD82B2BE6BF7F958EAB3F5921D8CEC898D7076524B12D68DB720BB81305F195EF87BA96
-264878A18F98FCB5136177EF743037D4F7141A15744FBA348614DEEAA97A3510FF277A18
-8081B35AB29A53ABCFF2AF1DA946971AA55A72022A6DD32A7F55C05EEC925CE21704A5F9
-C35D5CE2130C32A48EBB7C30EFC34419355761BCD0732AD4B351BD046C32805BB089A3EF
-B013E4F54374E8AFEC10ECFFEE05982915D22E25A2158F5BEED6A95EC6005490FF895CA5
-DB459A2DB44108AC0A9602723619CC2E013155ABD1286C9CC50397CC7AD975A042833A03
-3C2F010A0208D2B5F7FCAC1F4661332E91F43507BC6C55396FFBA9E2965CCA72EA47E3D6
-A0EE5BA53A8DC8579A85383B394A043B26E15EBCE158D95F14C714793513A6E11C0B4FD9
-A02704707112AAB327416114A7E25F6487E6749A8BE860330104E85A2791DE3C98B6D6DA
-8D9F251995C972404D1A0D4F044E828F03848565B821BA154D836BF8BCDE9B4F3968E32A
-D031AEC5216746F5BB0C24B6EA06EC50E0AFB4BEB48CCE75B016708682FBC063DA14314E
-37152516354E42C8A6AEABEC056F7D9B85CE992D20061F25C87125A9DEED6DBDEF357EA8
-68E970CC703B5C8E67F94C2084FED1C6FE0F9BC6D26D132D7A8AB5EAC1B2801ADA11C806
-1D005081A47B901204BFF62BBEC6E119C24E047088B44278CC47816306864CC85A242CC8
-0D2A4A10BACAA701E62980CBB93B59190E7ED184E280B0A20F8CA4749C6375EE133A0A79
-5215D020563EE1AF19A3C573BCF56533C2BE07D4669C21E22FD33530D408714E42371322
-E72A367B66EE7CF614BF7F4647E6FC1B9F9E18867CB630B159D965F6B4CE54BFAC489F10
-FD115E894741C99B40E2810CB37E6F9529CF01989C96E6242D67BDFAF52888F1AEBF1870
-AACAEEFED464733028168BA7FA51311F251B9EB544BB6BB6F5FA90A20BCA883E3804916A
-C83A39F9381FEA3D8ADEEE8A62634D02F3C7FCD8F01268976A3B90C59BFB9AB1F7293C14
-48E00102EF69931EE40BC3FACCAC7014FD78DD06EB156C860DDFCD7963038197189A681A
-AFD7B886C6E7E26C87D4293AE6B1B4E7884FEDEACC9A2B049119147417F3AEB87B33A413
-C4FBBE3D0E5FB7D61B114A85A9C6F4A95D123234A394615192765DD73865CE47E4E0402B
-42D3A1410AA055B18FE654FEC978F28FDB9865B09227A98940613EB39D7B8E4CF55CBCE6
-C13A5ED3DE5F617B495CE502392AC8DCE6A7B8CC7AE9B37943DEF4E6D4015D3936DBE823
-79E1210BC38B20BECCAEEABA24BA09357AD20C0289D2DC03E4CBB007B8B49AC2F1A47CD0
-5037FA11C1E1F36ED2F1DED20FF9D5042D9F9300B5C79C1803A9CFD65D80BEFF3AFFE22D
-A6A1A48AE94C7F647195C920B4FA1E025B960BF661D592FE4FEE71702A7093BCD4AC1510
-7CA7CD0BFF3E766CD241DD6059DB2EE8AC74EFDFE8EAAF57B8AF7AA57B41EDF431549CA5
-DEA22928192F8D1D14F3087C9653F3C8FADB30FB994C72FEFAF5AFA5EFFCEC3725285D25
-19B356ECF7F22D1C6101DBF3F476575476166E599DA264073283C19A8ACCEF9C0EE2C69D
-D9F0FEE3E57CF25CF842D0D3CBA7204B63FF0C4FB0D364BFF2D43D04FAEA7BEAE5300B14
-319DEC628BE834B7F995DDB697963AC750576C154BA3B31C102BAB9BB93272D6799437AC
-9CDD83275AA5A15164757D9D06F95CC444B756237352134AACD5BDA0C41FC0FD98DF9C74
-96D32139692846A141BEDA8E79E7279F1ACB7491ECBABD9FDD1AE69C61B22DCFDC81E440
-B2965F0D82C291D07806957E6D017B8EA7AF37F05F5331BBFEA70A3AB8B078C4F87F4D64
-CCB62D889852BAE9C0FED70BAEB159343A9F3E1F2BBFDE54D5E9353B39B65C16E2412234
-D4E7E1C96D282E1C8D1B38D9B9293FFCDB5EFD759D583C9EE63A407F08A6B212AAD91FA9
-FA501D1C725EA8B08AF2880F1BF0EB6CBF885B70953517189B8536EC2C7960C7E6D5CDE5
-22282682107CF85CB025FBFF2E88FDC5ED4EA44DF630359EDF17BCC33BAB47C302F193E6
-5EEE260DE65D388E935B2471A70A40B5DAAC06911ACD2E5BC9D2853A501EBFB39711151D
-643E9E4F78CE0FE4678ACA19C3F7B45E4DE13696E35FDB7EB7AB60853A6CB942DB425AD5
-CCC11AD042773482E0DBEA11FB1D3810AD5DD26B175339603E4E8F32A14BF7E994ACD717
-AE314DC77EAB6061863F7DFE05D95FEAF8436FA218FC3F59EF8FCA198BE6CCAEB3D4F3CB
-BAF8F585FE5997C4619EF19E53DC30BD017A67E318612FF82EA2553D060B7D406904327E
-779B4980085565B8FD0D7B497FB4350AA989820067B13355329BFAD8D9281F0703A9049B
-75DB584D5FC19F3015BC11EBFFC3BDE393117DEEAF11994DF5B62B5CAB0B16AE64DB714B
-E1ACE83640FEC6AFB4D5A66D7DF0AE5DBF347EF96B535E8ED1839CB030703846EA3D2E78
-6721D7A3409C8C23E7B0A609525D8A675C88E069E4E39C4E06EC3CBF5D65F4FF176DCDF4
-2DE2AD6EFCF7D2EBFA8E3FFB2353676C39B167AF4BAE04624856DD334890E8446134DF7A
-2435D76D4D76090E7B6914873A08688FAD94CD3CF36C10F983A211BC0A8B0276265CFB28
-A976E83092D7B210B997F392AB4B31AC6DD977276E3EA61B4095F5804ABA0E21D8681A5D
-E660B5C095054FEB45E9CDEE557675F66C4380A89FCF51E51347BA633FF52CE6F3FD9596
-5B329DE8A88AEC6F101338F1E0ADFD99212B29B725A6C4997117FF445DE895963F2787B9
-0A892C0A22B2D244834CF54A73082597044AC27F5253BBD4B01C42A69B8DFE25299DF085
-8C545801C56453C0E3659CA5A6F4FA3622968F77EBD8E551C8B5FB354B8192F3978E4DE7
-52544D029EEC168734C623C3DBECF5B362328EEAB289EAC40B85EC5A36FA3F73CA1C9A61
-771E4B2DE1633636F3BFCECC3D70741DEDA306255AE27D4FDBB89B811BBFDEEF8867E490
-C1A731C51EBED996DF36340D570FE89004AE7FEB5F686E1129100685EE41086A245154C8
-1D80DC435DE1253923B72DE0C6B2EE3DDDDFE5C0CDE38F683E7CE4813425EB35F9AAD55D
-3CD3E62314510DF6C2FC0EE94CC188DA028C82FD9BE6C8597B271FD0ECA5FA6AA0704A0E
-9C1EA47EE0DAA990E98E4BCE43EC3ADDCDA75ABFFF6E6FB98AB71271A73C3DFDFAE883F3
-B37A0D2193BD185786280B4DC961470011902D56F511759FAA40308DCE49EA5DE8C073F5
-AB3A29630B93ED1D1EC77A97CB5B157F65B583A96D2D50FD6EE078CD6D7A7CC4A31DFE09
-23A866725740D3E39ABA8305BBE4D4196EFF98A37788B9E71EA6E120DF0E6B9F14BE583A
-EF3F2058C22BAE7DC3B63BC150EA62ED03BC238C27E65DAFB0992DFE8C8F5879B75753E7
-375E76ED56BEDD1C983B9548818E6C2BB71E38BF3F771B65F84706D75FD761A14ADAAD2F
-4BC97ACCC1191441BF0AF940FDF539F961C670AC4C8129C1DF1E479207F50D1E08478503
-409C4E9D165946571AC1CA1D7EF9D31546CA99C1AF6F7611E605A08EE2E49162EFE39E33
-726D6ECF05520DE13F634AAB828595C898678BD119D7F6BE976AE504AF22FCFAB6F930A0
-29E176F442504F3ABAAEF24723311428384D691A98DF4689C6930D8860FEF6E355163282
-700594922D73799A67D834F1551D7BE208615F590781651CEC7AB705EB278B3470D7371B
-A90AC7F0FC6EA11A906030EADF328B63E21A135A4BE6C6C1670C9F795097749D994277D5
-3866BED00493512C771C973CFED9D7125A095FCC4ED15B97E3CF56398981A8ED0D26266E
-5516FBE18D099AB62B457C6D8A1CACDBD04A3F64D4D95A6F65B7DB021DB83C43DFC24A27
-E772D8A805FDE4F4645178693D5CD29B7ED26821B4DD1AAB2D256693A99F612500A903C3
-65889A1266CEF14E112C91F2E2DF5B27A3D979E957C5F70C9AB7F64B88F2466ECA5DD0F4
-465D920F5E78A955878C261079CECD27783086379EC6BDA8CBAD8726167520DCEC08D65D
-4A9BB2729462365F7E3B97E6432EC01F8833870F1877FAE22E893400A346BF8D8729727E
-E7694035DDCEEF10B596B3CE9754E69560A1D8F61AE59FD3CFBD0D1CB94A14AA155C2CE5
-03D238912CA0DA82E700EED99544762C22B8CB36E4EE2C73738CF1721ADDF2091411F98F
-2F7EB86C46E4DB9CF84EE208F6049F73B788BFE5B38328DB074752C8BF9B51327A7E40BE
-F48A409C0B2377236D94327A0A1E36BF296A670F5E75AA2F4C0AC6815D20B635F02B6929
-D72C60CAAFBBA4DC377B5DD92E904EBC2BC2ABCBE404197C803F7878F33FAA8C66EA0062
-CBB1E24BE46D23AF9762C2050F85CF03084FDC271BC0910266FB693A4C5EE4057C2319D4
-3921EC66E5408A0D28DB2C094C92CE16A2A9802A3D075B12D15C0F4F4B603EA70D69D94C
-102436EB6A835D4E9C0937298843750472396D20FD66A039871D21588EDF04E607E03A0F
-E4671CF071D2A24DE7AF33D9C1E3124607854CCC014BB6980C4ACE3B73F1544846CBA010
-A86E003A464014699ADFC587294C8F64F80F1311F4E0B8CC1624B7CBABB7EDAC646C7351
-D67CDD61B352D8E21DFA5D802D5CBA52A364B019FA24579BA36A99414E3B018B8632031A
-365F4A0E9E5CFEE1C936E546C11AC93A2B7EF433C2010FEB3B2F315D806F6D1F42FCDA3D
-144DE40934AD30A14F3AA66539FD901C6A7A9173DD4B2EB6F0F546C43DB1BE141B1E3442
-E0E0DDDBFD1E6C582102C5D3CA9A856A7082530B3C84DAD4FE67C718D7AE874C0B59171E
-2CB2F1BD37A1C4DBB3E767E0E844E6A189A828384D042D055A118DE26D9C5787CB81B102
-F8DDFE285F0D24E0CA87658F2DD9B553B1D52A37B0E0A1E18AAFE6EE4D0CA2E3CBBE5907
-16FB32D9030A6C60523FFCBEA0D682CFD92341BF5C533EB7084EB42EF42A0B6E7D172B14
-805780F54FDBEB03AFD73D2219C74CBC569573B5DA65CDF3CD11D8CD1E3E60DC1AFAF5C7
-417DC5C8BCCDF6E129DE171607901C35ED11B0299BF2104C08158EA843AE803B63CAB426
-842C3B4D93954728352468A44B6A02115782156AB7DE5FA01B7A2C7C3C69BD02999A4F89
-3600E0E79F60EBF221A40269A40904EC3DDE24A4FCCF92DCA20AF2614B11D85F2EF90015
-9C878BE4D889D1471E17AEBFDF34C29ABFBC8B1FE07BA33A5C6B51B3DA5887AF6C6EB0FA
-A7F7AC8EE55FA82C66210012FF0EF781815EB18D1530008AD7EB0705E854B3FA44AA79C8
-EB7A91BC40EFD85DBB3AA61209C03D1C8D70A57AB608FC5EDA04465E8C6545DCF52C867D
-6F2F5175EDF68957BA609B1A5E6F9FB15F628EA7F0D74186E278D45F89F981660029CDA0
-B1CAAEF12FDEF8C4686171A9FD08BB0226DB70C564766AF171C6D25A08C6669F71CE6749
-43F553CCBBDA80CD3C55F283F3068BC8070B96EA52D2853565E00DDD209166FD46C17B85
-604F4F4FBFAC1E7B3FBE13DFF9C2354E625FC87FB3EDE892C48BBF9D11A3FCDF65A29E76
-FCEBA941644FF4485A4E14E5749CAE0CA96819C9B637CFAE5B6CEB8BC390444763570362
-D8B397C3783EE5DFFD08EA0F09DDC3F1A29452B3287443D67C04D6ED1E61B2DB7921A52C
-7D25073B58CBA2699AB8578FC49CA9D550D482F1BC7CD283BB8B02390DDEFDE7CFB447B3
-FE99D6FB4A225DF571790CFA6FF35BA51440BE6740510D7BF8CD55FE16E6F394FABBBFE7
-2D2070BF9CAFFD58FCA0A70BA2F898511477A950293A2197A3E8A7E3FE7AEFCA9DC6704C
-0ACAF82C39784D0D800F52E775150D976F1BC9B9D91EA99E44FC9CC9EBC08DED6F939CB9
-86CE37724553657133AB4903D0950B235130395EFFC27F76466ACE37A323358C6F935EFB
-E8109BDDCE9EA7B22F92DA7A5F5AC992B4FA798C0F670C0467A63FE7571F707053A11071
-F6BD8D93C1B32F1359A827222080AFF5940135A1DA02DFC6AE1113A93E5FC5BDE02F9739
-0FE65F8680B0999EF41AB024E35A88876DF86E413AAFBDDFAD693C0BCD4654FD8F5B9A51
-BEF91593357F8F16B7C59CF6DB3E5B6B5597B8F8EE953FDAB759EF5F42B8D7E0282CBCFD
-DD13062501C683FD109D972DBAB823909E117A55B08E20776A79BA61CE6D84AD8995BE0D
-4D2AD126F6C195AF54998FFB9131E1F3DFC61F6AAD217D0DC339BF8DCE17D074EF5537E4
-7EC63E4B707D0048543D939DCE6852DAF6DC1FCF95D689441B998C8A5EEFA7DFEB894B4A
-90216B335464CA50BEAB87DBC6B3E23AEFD21DBA17B004D9BCD94357EDA82F2E388054DC
-593050F7226E133A937F83462C4A91079B8E96029FA17A4162384ECF11F95D53F3984022
-B02C4C82A702F75C0C3F91FF94571981380466C8BCAB42C2D3A33C282E7E6F5A73EA38FC
-7E296FCF8B1E4C24DB0E2F7F076F659EAED92DA4C9700B6746ECD85995746D648B9FCEB8
-FCF7DE89F299DF6A6D7DD11FAD78270D2F45D75FB0BE0FED1C1290B733212C1D1BFA80B5
-D17CAFD3F3FF5E504B3EA44727AF6F3F37DCED87DB486BAEFC2D7DD7DA55635F671895F0
-EE51D1102B1B491542C9F3CC8F1D1F14CAE5700DC1566B7B44ECDA0150ACB072820C480F
-F92F348C108CE1F70BBB830CB9BC69A3F3E4E52D191BCC2BCE475734B38238725E3F3A01
-84AB62B13458F221C2C505587407B5623B23FE444ED5BEB0F37CA4265FEAEFA74CB365D7
-401CD4C247AF0DE67280316545EA659C2401A8D8F8279A8BEAB4FA83F9AFBFBA32794C7C
-A7268F6BD3CEBC42895E3317C1E8ACC0D82735559AC7EA0378524E879BA243CD6F938C6A
-6BA39385EE7944805C6E3D0CEC912D1D711D90459D032D0F29DDED3320E437A8809727F0
-E42B52CDF7B49A350D8DF3ACC7FA81AED6E290DC3D40BA6A7001ECE8222BFBF2E7D21AF5
-B5DDDE2E531A5042892CAF60BA4BADD60AD61E811BCD9D7608E00CEB90989E48DC676155
-EF3D790B8A4FC96A351DC301FEA7B959A8CB44F228B852CBCE8F9450E4D288E48C3A5D6C
-616B9BE51F38E9ABE16CAE86549316ED8B58E9B0D81E7994BD83A314601CFEBB5413C580
-399D87BF9ADE8D90BB6CC68CC36972159CB55335D74EAAB882A1C3724A2707037E5098C2
-2A6655650DFBB2F87BAA1B3EFF8AC76397A226B95492C64E648FFCC08F8A552E333F1E65
-660AEEAFA3B0296CFC6B300D3C6FBDA01CEE297241588DB27E449C03F0386EDB5D4DACD1
-59BFE6C5915988099909AEFD10008CF1BE8EE8E9F1DCD980DCF0394503177FF49827A3B9
-D9FADC16F0890A6D330146809CB5F3823DB1F9FE042B95146D6880EEFD113174FE00681A
-697ED8BCC6E6B61188903CB3CF5F6248EE181772F5F873B671812B8FA93C1089BBFEC5EF
-0696EE1715FB37348E75AE88A096C1141D19E7AACC7A1DFB282D180E8A08A8C92610D2D4
-E3ABDEAB7DB34FA630A8F5151DF12269454146FF715DA88798240C01F82BCD3BCD81C558
-E6CA13767923803162A8EADC641182B71A205CBF91D93ABD4D194E327234F4FA56F4C496
-40BCDFCCB269A49F449929DE799A99D15460CB9C131CA83204DD513D68F10A07FDC0DCC4
-6B93F8D87EFDE4590E3FE360779B5082401493763FA73519E8CBCA4F815AD8A95BD10135
-3A1F379DBF7ABDACC2E5FD6CBD2AFE90044D86BCEE408AE8A32C89C224EB483256854C72
-E68653701EA2AB54C09F98A365FF042C4018A0DDACE380B54FE568F3C72FF16E73A594C0
-E9F3A228171F6EF548EEB0A2F52A1EF48CD81AE008B8251196854A03D4474EF064C3B9A8
-C92427F5C3297BFED28C85C235272303BBA92E37257868DA3D4CC651A8E8B007AB388337
-29587176479D1F6A95417EDC03D9AA5B6FC390DC64753B279206DF1037A26F38A56D8A5E
-97DA5E3F416F12FA14484C939EBB24CCF60CE0CB682821439DBA8DD842E6AEF330609AD0
-756ED23585F99CA1BF6A9D1520682D939B38408BF49DE661E632FFE11A7B9286AF457698
-1F26E731E8576D259BE89AFD3E96A0872F1992FFC3D5687C5324822D09FE555153E1B03C
-7C1FBDCF72E8B369BC26A0995C6B5F5C3F0B6505AF28033E46CCD32D396F1FCF2BBC314A
-CAF1BB2CDCE7B5E89015E304E1ED36853C9B8C4550894C208398A4596EABD6A675EA1716
-2AD277A409A2809727CB0F7D02F74910093346FE37D14EE063F6D3B6EF9C682988ADFAD4
-75D07035999A7247440FC2DA98D5EF04D718281C8F36719ECF7701D2AEF8B845B983A1D8
-46AD41CE818E1427A23A2E5F842A4BE05A6E867653B6D4530E40B96288C1FB0C49F47CA0
-ED4CE1456C3582C385155F309A5EF60819E3E2EAAB741278811A9DFFBAB54762ABC5F045
-1841D0984BE8960BB21E8642071E442D5EB7491F2261C855151628787A4C699EDA1F05DD
-C578A9CB506FE5308A90B3752D067DCE9E715F12F662C5303CB064B3F5FB46358CB4F803
-21D29935FC49B937C066A1AC82913863D01C1FA85156CD0869652350602D766CB27BE412
-1E50493C0AFAB232057614AF48CBD74C4685360FD02900F8780AA8F0827F2F7E0B0B0306
-80A4CF3969036081462D92FE2DDE06DB413B4E76550706B43AE982AE2467353B8059A32D
-B35DC0D388D6264C573182970C2D0526A6F57AFB21DFC59D22F8D791A214F50D716428A4
-BD37D25A5958BFAE8DABA9E2438270B90440AC7DCD9D4D8A3AAE7E6F0D54FD15D1C8C1D2
-3E04E9BDA3CD2D97C1DE1E6499DD2B2C9D1B789D600EC6B2B9E24739D65D9C8114606645
-D8F2ED5178E3647DC8CE3827E53FFBDFD5948F7302AD1D70987FAF02E5FD03A1B9CCC6AF
-C658B742C88DC2547B3A4EC4CC5414220EAE69E23F7BEC39DC476D24331422D0FF109416
-CDD40545F6802040ECE231B7840CD13B8611D88A25CD60BA268CEFFA145592ECF8CEC07D
-A9846135D35E035CB55F46FD5B9AB7D60CCDE973A3A51AC2F0314471629CB80CE30E6ADD
-71B6819EAE128437C1AA243E869CE668C8BCA434D5A1156A41581D27F3B52DD26BD4089C
-A25EF40DF171EE2109A17BCBC93B05EAC8418F4E415B6AE72CD4211DAA97780F11A4FD11
-A96409AA6BF06A69E6ABF9D31FB157C698F9CD86DEDAB707BA74814C9C96BADB58EEAA87
-3B4D4BE0C4A6FEC42B9AA8A70F57DE8399EB5D574B132BCB2D3FBE7ABCB621BBC3E483E3
-378CEDBD2FC9B758AE746BE44EB4973581E0F402C1738FB987E7C7B32FA9E3DD3E822F7B
-7B79A5D67E0E7C455ACBB780BC94AFB886122FEDE728272B619765C841DEEB915C501C9D
-5E162E25835F660E33C017C88A2BC8D1E93D32CE0C43A83C17937B7E886810F774215EEC
-57A17AFA1F89AAD6751ADE08A4EE4A6DE1208F3A35D927850042155EF6F44BBA6BABA143
-BD726F652D7F8EFB9EF14D281186F9A8BAE057F048D7914429B7BD0D95DECE36C48C6F17
-599FDC8F31FA2A0444C683962895C68AFF8B343B9CE4703A2761AC84B1B31946A7C8373E
-A369BF33219296783C5A3465179E1BAFE1BF8443801C972CF6D28BADDA13F78986F6DA38
-8CE4453D5E7AC0CB518D5C889688F3E54C3C00BAFF896961357BE6B4B487064A9660E353
-E8CD453B5B828AC0F166B50E0C1CAD4CE97469403B22EB2C3FCA6A734706EF4CF7F9331B
-53E13D0A5653473636154D94CCD625F8858B69ABC25762AE4FA1763BCEB2989CCCDD275E
-ED8E95DC14500574276083F59BCA0A2BE8BB1A9A5510C63FB48939BB2ADE959B0342E759
-F556A6BEA0D78099719C9D4FB5D8741598522D483B77155C9030D252E28C2AD364C84364
-39A58ED8E27CCB1469CAAB4CD8B7293BFE89A7BB6B72C4EA5D7C29EBD5B2A9DD66BAE6F1
-9FA45E886E5A79B5FC7A65438695659213E0F4C7A6590911CA0C976668C7C2697C4F0A54
-4E3240D23DE40D53274415F5D6CA333CEE4E6E04EF7C42E84DC0B8F583F83185E1E1CA10
-D210AE0816DBFED7AA382EE1CE6EE1ED7B3F3AEB25DA4B1F3555F39BA2DA5B87B9F78B57
-9B65915E2440B09090E4E8FB0C342933AD8DC8BA3DE1340F00A037CBC4D1E775D3555532
-F828FBAD77499AD45D007BDE4AD065F462D727AAA69E314BFC1055C5FE9637676246DB67
-A6BBB7A78AAF4DD18611871835C218A45DD0852434ACCDEEC60AA4DC48D752FE4303AB75
-654E270D27E951410DC5354E85590305BD4B0631C90E369D992ACE973879CB962EC25EF8
-D01C2F4BC4155F409AA95E65B89D4D1AF4989B6BC3681E913CC4CD798AACE97678D4EB0F
-131D6C2378314EFF41C585571F3901B0D7BBA1E30CD7ED9E4C706446D55B9E269FF75547
-AF498C716FC0A951DCEBC8BFCF05DB2375B79CC1EDC162ABA073F01C06C0D64E4D17A692
-98482F4B4C1747A08B78073D590F5291936AC3016D5C2CF84DD6D93CA7FBF9FC7C9BCD98
-4EC0E07F03D6E632100BC328068B2C9C8BAABBA4E0CBEEE49D37025FD0CD005FE50DE670
-F7BF621CBA9C4723F3D7A6D1BA5AECCEA901403C03B66F6F92D403E4D89C238D75946080
-404B79D35F8D5E0DCDFB0E22AEE8B6BC7D994D05B7AED76A40A22DF9339DE4CD937D54D1
-E09B6660992B6FBC6B36791D5AA53093E29C78BF59E0D137B06FEE0A553939725EC59380
-82954AEB8EE503154E8B56F4B45B6357402D78D1282BFFD0D38D8940F0B3AA1D48419ADC
-33E11C96A48FF09E3A6CCBF7C88A0750868FD61D0BAA581E6A010BE41462FF3F71DE3B9D
-6951D2771373AAB7360AB1A7EF6C04113553AA399FD21B02E1C90FD6FF8DB09B6F485CD2
-EEECFB5CE1C4E0F3675CD792BF28D726C065D5B8BEB92681072CBF17EFBA31BADD5AD401
-C3171B406ED57D757E59AE1C61AB425A580C179771334CDBB633428DDA41FFA7E6BA6668
-568930B3AAB9B51EA7E63845A2D50CDD60F8F60C3FAA5549626895644C1BC9DDAC415BF7
-96137F82FD0FBAA9F66269000CE1421BE1F617564FAC0CDD70AB2B2DDF5C804540182B4B
-EA2608F4C00A220D73EA038B76AAE89BDB8B6496D3F8CFC7FA60701303795C1BA8EED486
-48BC6DBBE06A28E84D4151F85C790E5C6C7862B7B5E1ADAC6EF0C300B1AAE19F092A0D2A
-160208C31B9D36A334511C10339995BBCB3C06D5A7E0658B6E7988FA3704C6E109EB3E60
-687983DEA045BCF7596F869A5FCF88A68982DA5FD4E26F72E758C60917094E7A0BB9E32C
-B16880994E573A73F4CEE17243CFCBB4FD85F64A249B74454654E360DF55D6BBFE5DCBE9
-AEDFF628B1F054645AFF8DCB417683CAA103C4FB59E9FCDEC985F0CB8FE454B245C42F81
-BB62E1128B7581F1634D63FA0DB839B631A5C46A6AA19A0586FF8E1F36639B416C2E348C
-2BC4A28C9A4BAA5274EAF37037C0E0B1F74715F5DC6040AA6BDF49175744A7B214F90355
-2CF60765D50B7A92B7CF05BE188C4934EC815F2F3C274D5DE6945E5A25631DD732EC10A5
-D1D5911919442FB0BA3B411A655B8E9B2937D2EE2B317A9F8656898B2BBA3C93BF7FF001
-FEEEB4701A01F6493C6AE310789AAAB18E543F822AE6389A95F8E07F6948D90DF226DC22
-3FF6584CF81705161648F245BF7A95ED126F084190D003824AF91827912987CC74BBD073
-5898D710810A4057B652E46548031A2473758D5157BE9F657D6AD6E598FD6EA797F66E6B
-AADF37C84C671A8938BD6ABB7B9B3B793EC1B8A70C1284D8C31B180E68BFCA71428EE2FD
-D10185264F9AE8049B64DC56132A74B609867D3B9D4815D1BBC83A6CDDE66504F2917544
-5FEB2E0203BE174203BF266862F83828A462BF880AB22EDB59CB180A8E0CC4259E4DEF1E
-1F3114AF8C03DC00C7B1F39027EBCC62D308E1A99E9C0B4AF746DB1BFC872B10C8D1275A
-93128F35E8883DBAE47AE1EEEC72ED408ADB618C32C9D780AFC63F1F4D3CA1784A0E483D
-401BA2C3E2B8B9A13307028DC563727C72F97C2A7373F9B8B664782C69999D827E4EA508
-585A47401D5274B658CC683401DB1B0977A4214BF0E747116F3A2C06F75395A4A4A5D8D2
-68E17F8AE00E264098436DC1054456A72D426FF4DD84EF7AE9F4C49434CF6C9218E7B91C
-EBA8EA88CBF22F4F2DBCA527FCD11EA79E4E5719E8FDBFF5ED895F5E640353DFD38F6D11
-BA785ADD90035A3D7BA68620F26CBEBAACC14E13C904F0FD147D0D6326D94B42748B7D72
-94BF4F97386309EBC593B8BB4AF0D09C2EC2C666CF0BC151CE7F7F763FEBF83F521CF115
-AE13A8C069F3188140C2E1208BCCF8D05A3A79FBBE8E58232A7438DE1EE565B56146C9AE
-4DC0CA21A5F17B05229FE0373C3291266A413C382CFB63365ECD9F80DC6CFF7C37CDDB9A
-98786B3130B61DDE400B3383D300974B9CA0BE9326C2843267B805D9C2BDB088156A7641
-704B203D0485852AB3017B851D63BB4876A3CA32AB30B87A3A9789D10DD76168B2FC0BE7
-2DC6037A9ED4315DFDAC2691ACBB975B777FA7460A851217B7328BA52876260F0E9A43E2
-962A80174051139EAAE4773184190EB46E72554267C0FD1B9388271B7DED405931F65479
-FCC4596027F11BEA64C684BCCA6896CBE3BA2CB2F71C1AA16B55F63D27CC239ADEF62E8F
-090863B0659D8E41B45B65F91BA24BCCB6FF5F37A03320282156468CFE46F95612300B5D
-1D811C58AE9DDD905174565900634F0E20AA6D7A15E43872300C876087B005CEFCDFBBD3
-10D23C04EA817DE15F350C4F90207637DDCD73BE0834A1651709EC3EBC1F7A73457ADED7
-68D88A2653796D132233C25030EC8E8159D128E2260D60F18097E68B95A56E3C590D4F0C
-E778F72FB0A5E182264651B3B93BB5115BF14FB1D71AD9C9EF953344C4E7B04B16000DF7
-0D8500FB657C4D368B669D92638E0FB331EC3AFDC59E75730FACB442DFC31FD087174379
-B491511BC6727E4C31C2FF756C409508979DC47972A9C0369BB61A450BC888B21213DFCE
-0FB400AAFE8B250112CFBDEE410B03F344E1C6E3A5743304D23BB7897D6DD6A052346AE1
-66C20F309083C0CC33B1B7D4909D8218AACB35134DF67F72752F697C4A6C568ABF2A6BA0
-6138D0DC6FF73066A5E9E559E0A25A0E4BAA0F0544D680C812E16F70CC0F3521491ED1F9
-747958D476519258AF9141DB94B1599F78D80AC9FB2AF393CC98B307DD3DBC5BE037C41A
-CA0450771CD31D126F3577A82E0D32E1E114753962A635DFB27FA9BE95240B38D4B20E64
-651847E20DB85F80D062E80D1377EE0D6A751B5C5E5F89E6A9F09DA05C3BA03ADA1878EC
-6EAA9FB0E3D4A8E707B0EF507256D60F76E25B61421A4DC14CAF733B03F43951CB3A4880
-7664484002BCC03695237E902217ED414DBC57A89802EBF93D4DF4ED83E5CCF8A79BA8C8
-92ACD02A4D1BC0BECB65C3D2CBFFB5B11CC143D37EE56A55338854EA43506FD200B7F350
-EC0DD9A283D0C46C5D3E728F920875DE6D3EAC17B025CFD20823D2C435C120D20F80F948
-6A37B71B68462D9C38AC003E66871047A6DDA56FD5CE319C209DDDE831FAC80D8C6BF498
-DC6B58592451BE41740BEA4766E0D71E540EF881A9110CA16E9ADF2ABD9FF296279AB2F5
-CFCFCF8020D42B01F4CEA91440C7634A4B901E5B2377D6F37174C692ADEF3337C616119C
-AB1735338F2E3AE72B22DEF9735318CF8B69F23E110D8439365C67CABA3D2C16FC96FCD7
-5076AA46F4F5B0DCE6E2D5250E2026609A76C41410B8CF45DC8BCB815E45C07F0C248BAA
-FE71A474EB9CAC749EDE8FED1AC13AEEB5549AC306B1ECF05DAE05E5A339ACCD9FC8E52A
-4EDD4E2E5660CB8640D7DF392BF2CA1B0864C01472B4ED4A7649719276F3709FDF5B890B
-6150DBEE2EF12390B63FAF9C65AE46AF648DA2CAA1AFEFA6982E07C63F810D044BB122DD
-2AA67ED2E98BC3B7505BFAD72E05E228FEB9FFB56068FBBBA1E8193EF539DF257A1D3019
-3B2E42386E6017DEC0593454C76E13DAEC50FCB81BA6ECC997225B79DF89783784083F87
-BFB92457456F60D9424C93CEDD40D4D462359E7060282A5A54E3F8F54C86CF6740A8AE60
-C66DEF9B52513D70B64FB40671EB762780F36180F14724069D029D1B43DDB672A5A6A9C8
-9BBBB54CE48D4D25E61A670344B4D8DDC7E57ADADE6CA7A1BB5134276528D0450E5DA9C1
-B8DDE79D25D3DDF220204561E67855D168FD7ADD01F497AFD5D3E89DD83E069486F55B59
-B91823689873ABA14D5CEAC606FA8393F1B34582F871B6C4131B9C483A4BBED1CD69BA47
-37D050F57ADF9C806CECCDA795101376838E893016CC92DFEAD0699E6BE626FFFAC028E5
-462A1E7CA9AC3FD199B4C4FF894A3E695E18646BA33B900365CE6B810C7D53DFCBD7F8D0
-D6DF20F3B09ABD2C7E862A5C8280E55612343FB741297A6BB95FD9423C4E0602A8F8156E
-365AB54540AD5449FEB3E4D13C94794F17A0BD06D9E26DC3833C87FAA477041D1394E0C5
-993507E130C4F60019FC0B4B74652B2BEF4A9603FDDB3A534001448A8F691C0A97267826
-1CDBCDF47FB4B0A7830B434F180625B451173BA129726834181EAEC346CDDF68F32A57D1
-5ECD44FEB77C2054908C6F6CD73DF94E4FEB47EAB786106F25CEC7020AC7BCE0C45F7935
-46E02937D310ADA5C46379838E266B25127413F0AAE1AC370E3C753C6A7539C8AE525CE8
-9BA7C49158D4205E10C054DF541B7472A0A6040E68897ED029F42E013E0B8EA547A7612B
-157718C7ED485CFE6CF0500C88A0CA1C96A2320535EAAFEFA930325B59E551C8D57BBF90
-2A5A7785E69CA885CB7456ED7D063C93161B7F0AB5C4A33B19CD8F9260114B75BBA018E5
-CFD6EA1CA19DA6A157C632769EEA695B634311B4168E776F9B81AE354455AB0E9BB355BF
-1AD45D85173062B1B2E66F2820512ECE3A912A5383AD544FD4B0269E30EE1D120EA034FE
-5257DD2B857C4812CFCFF94EA3B8AD00E18C2AA887CD8E2801740C69E148DCEFB34B4897
-84D875555B9362A35304998FBA3FBFA98D6902DC326F0F407751DD3ED02C77F9B22D768D
-B8C3BE360CED4964E0D413D9B288E403DC8E6D89EB0B68B4BD3959B151B45FA8BD1967B3
-70D20BC10CBBF7F626F1B4C3F125833567B9E88DA21EF2CA6C209DEC8EA977752467090C
-0467D01B5B0EC2ABAD8596A3A342B120A7E3103B009E8BA2B95378DB329B917C95587A82
-EF5F72890BAAA37264BB4555F5C69D10A4E64A462ECA8B4A1BB166D88036BA071BC33DCE
-3E79FC9F144BC2E446B720155812C06F10752D1391963AE98C4CB8B035C3C8E2F7CCC529
-ED8AC3A052DEFD0302D1F4D5A1BDA6B042C1D90CF84123DCE6A7C29B3AC8FEA16F07A210
-3B2C7098ACFE7FD92682FEDC1132EA886581B798496D59B5AA47CE3BF3A9C7CAC6345386
-F60ADD73B0D52642F4E87461B1C2792155D2123D0D7BA43904891ECB1573D871B973FD0B
-52D76A445B55F960BCD3AC44BF762B7AE12DB4FBBB0409C102445C759E7738C4D3FE2BAF
-B97DAEB3517F5FA545180AE55DD7D4A0BB03EECADD21902226EE99A7156689824D02FBFF
-41FF30B9D94D14348BEAF7D3710725E9A8054DFFA2794D7D5A90482E9A49600885043C5B
-E0E220ADE6CE0FA63C5826CADE8A8363440C47E6E7590CC8F5D445121E8F8B947D8DC4E5
-DB5301E89AEA62B903ABE3AADD4E93A49A83B0BEB040F7F2C320301042CC9D31CCCFFD70
-32DB766066FC83EE7109C6D8DA79610D5E1E94848556E4DE9FCF55DDF8BE524361A4D673
-6F09CB8AFF3347C41B9397538ECF26274DCE7A27E76301007A492E0C6BECDCA0B1C9D1E5
-345AA204F29F361FBAC0211BCB444F8D9B9637791F5D3B869A5117CCD73EC5124F1ECF23
-705209F4CA831C5AE5BE9EEEB390A8666BE40363642DABBE28D1E06182A95ED0F7D1177E
-D3294B4C29D8D1FAAA210543C3850FBCBAC813C21AF5D62621623DA41A27F9DA0ED6B0C3
-A2AB61A913094FA2574C52FA1195521962C8D6B8DB2A10139A9C09AFAC133A8BBACF0A86
-01F38217602E70DB3651DBB083C791E7317694AD1F50FAE278155390264C32975838DE33
-CFB0ECA1B0BD993C2A02E1DC2F46293018DA3AE825AB81621894620054724C3A8D95ED48
-1E899F972E6537B21FFB8A4C55319D15A03ABE885C333BE19ADBC450D58C5DA2B76DA6E6
-2487A71FFD2A851F0551F17A00D165FFC44F204565FD24B0D11C2C21238F5D6F64277FDB
-4D0704DD6271C69F4A5CE05258832BFBB7D303C00EBF68DEF694D77215084C74BD2D89C7
-8FCFA635F694723DC79E99D87F03ABD7A06BC1BD7643092790AE2D15D63D2C98288AD284
-7F48081116C31D98680BF2C03E4C2FE4DA45851E4FCB6FEEA80294ED5709A796716B134A
-8EEE8ADE6C3709541E3D234F952B4B2ACD1422756B8765AAB9C32338736207BFD12DC05C
-4D7496F1AC0797D5A3047F9449A8C5237C75EFFEB8E157B262A833BFFA03A26CA8AA1188
-84426DA94B43BD21B1028EB2A6A30F41179DA886DCBE99AAB28A1B329BFB743ABA0A2F4B
-B4C400F1F3BD3C9A0109F63EE563AFBDC1591BF3CFDC863429A79F6E0A21A749A934EC7A
-08541245B9F3CA401EADE0438C18B9FA2A78B618F38C611F6C053D2F6A0726CD20687DD3
-B09863DC0DBAF040D15DE51397DDEF2712F688D291B71DB3F59A7D87E2F44FFED1144981
-A11BB9824B1F4FB6C9A1CB11867A187796E5076C811A9E085EB5C202E0CDE461CA541CAC
-D3FCDB4031FC78D7410C4D1DE558A5B697F03F9EED11F731678677448420B876AF142242
-574C740985FD2B6038AFCF1A81C4D89D00C73A09C93AFE68E5158B06B1E4A5122A371687
-93C5744583791291A8B8C2CCADC8C1BD233285F91C87566E36545ECBF3A8D5F9B3721292
-8BF2218F2242E3F19F91120CDF7D7B118392A4F3742911D47C4B6B2A61A7F79378DC8DB5
-9DB041A761DB0EFF44C948341C174E5C6660DD5D3E5517EEE0DD88A655F3F9524168CDB8
-AA2A506EED7498CD8A320E2FA42D10B1F16F8FAB5B5E85DEA6DA3005ADE58DB47E35C71A
-C9527AEB0DB1B59D7DBD35A5E5C3643E17139FE1BAF662C7E88031D01A9BEAF71A18DC76
-F8AA4EE94C2575C438BCEDE9118D5124135A071E3DC0B103DB08D7277EB7E9BBCEE953F9
-77E01A009A031D4A204B87C0F0BB722508B76E4F4ECE45295A2FE89A1DCD981EBB4F9877
-246527356F2E8DDD3A67C8A39047F4DBD69B37112BDADAB6342FB6C522FA37CE74FD74B4
-D37D919B612C91586A2F1EC2E1AD95A5DA5F6FC0E260362765A262386FD8B9C27CE5FA84
-EF0B7CA9A77B1C41DDB5CB9450AB1366C00176A7D47DA6E4BDB2C1C548426B69987EEAE9
-66F4A937FA6597B2A1F2A690C3B467C57DC1A6E271B4B4FB7A60EFE602B5A2CDEA496F54
-073DF69EE58BD31963B17870B41EF97E852E286E1EF07D48FD2CEE44F51FBE8FAFE8B171
-82DF3D6343C85AAC1F58494274574A6231652AA194027CDDC257B942A7FA1E9002E9D75E
-80EF552962CC5DD48735A14C8B81020C167319755636653041031E89BD815A299BEE48C1
-626BB77614622D88D310B0E19CB4A9E57C174BC369BF13C727FB452170D9E830ACCA78FC
-F7F0148CA9BC1EAD7CA3BE325B60C676B3C5AAFF6FCA80FBB8737C7BDF51549439E06B38
-79D71DB53A757EC2C2D66FFE2CDD0C166E2981980AA2166112BDD1B14C19916A14403BBC
-7E0FA36A3818F6B4D4711BADDA0B113F6EEE39916EC8952E6A7858BC65BB175488A6BB74
-6E78C5D7C565EB59ED211C5DDA7443653F6467C403F9725AE83953468488A6EA8237CA9D
-538328329A8B23D3C96727A7BE68B59048E394D2BD3E9B5B97E6C88DB0D3B2CA42C1E845
-9B375667990B8B28CAE32BB63B8973E40533D1E5FCB26B2F680F985DF33F37AE6F32B9B4
-CDA270B0B060C8E511A0220EF06F0BE429D2B977A3782A086676AE58C244D74E364533D7
-467DDB36A7B93F27A9B729BB3F0087C01E6E38ABB26A2CCBD35F2AFA01C1A085535F4427
-521B968EF7DC76BA612329090FBCB6C99F73A61BF1B3D0975F2C7457666994C94C5E6FCD
-4D4CCF29DA3E355CC64034655471885713804F44081F1F4C426670A0390BA6D2C25977A4
-91720310D0421B3D5FEB3C88BBD35B2D4132497904A74C3535A15B924023C464CD70D227
-F28490233A568AFE309F6908C0F369189803ABA18497C20B5E47D5D969DA3EFE03059316
-C0CC37688CC42783823A1618AA7C0AB924CF1D4B961CDA7DC6FAAD0E8F742D33ABC15730
-CF0E246173CD0A8F21466C9A4A9F86EE6ED508BCFA0E4AB5AB079F1EBA14D78E4B562F81
-4A1F870260F35D55D415CD2C10EDC209F23BD8A0A0ED6FB8EE11C30EBC2250559B02221F
-7861C08C18BA12E748D7181EA7314E355E27EBBE1B3C00C69C549D4442998259D9966E9A
-6C89F9D8796A0DA2745CE68C3D15368621F9AEDD74264565EFF245EC7D5E235D524D19A0
-6D1512B3A823AFE1944DEEE38E6C365D8EF2917C382A537FD94DEB1F7A959A69A3990033
-F48466A241B4B39E8AB9643677BF42BFA3080B8B389DC2BD74DD9CF7D2D466CAB7CC7EBD
-33FDFC9CBBC0B2A0D3176B3D5D9C78B121705E9AC8DB4B76711A8D299D6EC76386C78241
-FBE1887604B50BDAA81187B0987D0B7A2108A32BAB0406AB8977F4EB25957E88F93D0CDC
-E9121D49CD3FAB7EF4B4627A731C43E7198EBF05E662A2A81F46E0C55510B6D47A5363BF
-63A34E483316B4FAB3BCBD0F190F554E8133E1F31745424E0B29C031D84F24A1250CC3DC
-28384EEA40BDC069C457BD958A8D2ADDDE965903B436FE8BABA1D722F82B6BC781980B54
-86FC63E2F918716776F756BB91752A0F591F518CD941AD6453AC1D5ADB8016E17F0367EF
-973A4F6DF74BDC2691457DB95EA4C5729031B8397663BD0C4388B8E514B279F0F003947F
-9DEEA6E76F6C3D3BC3F64987B5AF5F7D520BC76119DD36265453DF598CFA741E9A404704
-4C2AE3E1E7472CC11BAA4D5A32304447DCE4A766DD19A50542BF90C3F1F93BA6669BCF83
-808634A13FD2AE46048C42A90A8D0768E3BEE2B902E564CF27FAE1AE71E5862A8554967B
-1BC8FD84EDD3410EADF57CB3E4617B65B26A2B90CD6D47E7796217B51BA60D29D81F424A
-4590B5A8FAB9B7404CD142CA01B5ECDACF659A4B4997BF1D1B6F9847D3BF5102CEB53754
-1410448BF07E8E49786A718F56FEE3966C4852147B9193233C8008A2D2DFB70448078B95
-81FA5F9CFBBABBBC5D7E6BED86C9E69E71FB53AC96FA096AA8E6E46B67BD96A58A18AC48
-854D5C6466329B0A9C7C910A0ADFEC02A784B3553FC43E4C2EA8E1382AB1D9C103CD1260
-E3709CD18400AF2936AF02BC37FC32054A73CBF36B98521FBCF62D4F25FC7E0F3989B25C
-084FC5B84F16F1812B52D7AB115F0A80DA3D846A3DE4A83C512778B469CB887EDEA0FC37
-9581C927228B510F441071FC705C98024CC64E9BD21CD7DF90BAE4D271DCEB183FCBAE68
-DC78E977A8D23206CD3D7E3AEC0E8607E24A431C6E24F649370C897A65FECE2BD91C7D82
-F7A1CFA96AF95891FB8A2806CBBD2AF6DE7205E8E7269DD0E8703758F93D0BFE29CD178A
-62BE495A0F7574EDF1679AC65A72C43131B63AA8507A225C447CB2D71E0974A1405E5CF2
-E13C7FE15F3FE046377500E9C4A1D0C2825E49B8AFFA5B54785B39D27D181B0AD38E0E1D
-35C03186235676EB44E268F6308B17B45B2AA604CBBD05E33497F4788E969E01EC50A3E0
-F8A6CDD1CD8950505828E16F2B85AED36EAFC45D9466045D43AD9B3B3B2B92D5AE0A383C
-4C0D8C27BBA70E4A6E7F4D134E4D684B9AD5BC57F19810F88F618F49C66DB98D76F950C5
-25AEDFFFF5641D0DA2532994BFA810022AEB15505DFEB561227DAF7FFC9B2E1578108ABD
-66424877BAEC36FA8FCFCD8E23ABD236399F4AB2FCD5CB2DC84B80ECB9C6EEEE7271999D
-37272C0F8D1A306814BA2D302F7A3D8C08EF5375B38450E852820875DD008B55CD50230F
-9F1C513684B5A7E0BC1C992804AA638CBEDAB8D673556F9ABCAEA81059B0EDC0193FB823
-92E4D7B739E8B0053F84B7891434CDDF773E15DFD66122A300E0A561CBADBC15058310BC
-C9E44582D513D63E90832C521CA6F7E6C70D3A9F461BC33908F1773575043419B5310F74
-1FC502C5E52D7CE3421D0BA35BFEFB54E477106DFA69677F822FEE85CFEAA54EDF1E641E
-D5E73F733F3021A0CA6F5CD5EA5ED8C09B1F3B1CA953E92A4117839A678572DEADA59C50
-BF67C6367BB03CE4FBFEB71F652918939FF2B61C6A89E2278D42FB30BEAF2CE7E6ED6D59
-CC0B941DBB15F4BC70AF627817277ED59A95A3FA22FE35AAB686FF442237C1B4A9FDF6EF
-62E4F90266EEDC96AF7F7D538DF26632B6189C2C74F62106734308EAF30D9A6E25A8FC26
-12180B467359D44B592BC4679DBE01856CE65D2E0FAC04DED5207CAF770198827720A708
-E0667AD7A3EE70879A25C40D468E307E01C4EA8B0FB67A854674010A90CC42CD6821F717
-19055EAB05AF9C9856C6FB31850960CDFF7CBA473C4098A45A1E15C533182D146B64D9D1
-BCC4EBE36F926B2D4BCA8737364CA448CEE8A27610425E06420404B99D7C2FF4E02A90F8
-583262933685471C74FC236671D814DE1F3016BBBEB1780E4DE6489CD71F5DC6DC2BCAD8
-D742B695074F28EB6A91DA6977D8BFEE0A7012DF751455F36459FDD63FE1D1317858A2A0
-EBCC845331CB6BC509661F464ABB2B3341D1AF150993D73D547DBE8E13A249B4CE85D9D8
-3F35B2B7AA450CE28CD22F826F69F7B1F7AC8D802D97FB20536ABDF8CD275E67C22674B3
-1C6B69C7C8410B93FA3FD167764F2DE0DB966B9BAE9168554D718E00A5017263D49F1CA3
-443F1C126EA11DE16A4D19BFC9BB8AC52A5471D755EBD49B535760254143E163B22940A8
-0F2AC318C264DCCEF794B02CE91CFFD152416C37AF6F7F1D151F4143FB808D10D635E811
-CBFEB3EF3C291F8CA480769FA0D3D80E1ABB4199DE5EDDFCF720D95B1F7E57B80D529A22
-49AE1E2DDCDD4CFB478E88CA5EDC7C4A97B7BF8D1DB4CF194227B699D1A5884FA7163E87
-7117F2A46897135F0202B6AD25EA7BE2AAFC933D1E3761F0DA9432A72BF4FA0755CF555B
-7DC892A63879333E1D5C4614215138BD11967D5746163ADF35C13D81DDC09045989E9AFB
-668CD3E34572836F7ED5981CE6ED895DBD5B7BB1AC7BD9A4A197FF9C400050A97F8684A5
-E9732512D1BA6C9F4EB27773CED4ED9E63DDE7DE003BA708798235CF66D0C7517AEDDBAB
-F667F6AFC423511BC344A8CF07EB7C697072B9CDB4958C40685DD2C6317B20ED0CE5DF6C
-204B8029D48783B1AE8EF5FABFFAFBB42BE9D26B4840C04FCF826CF6168DC1533BBD3452
-7D2AE02FF4237675F45ECF4C1994D45E0A15E6D03A3E399BF9B0821AACB73329636833A8
-B4937F8DF6DC557D20FB4C1A33D7E7A2411BF35BB0888ECBBAFC4F1DDDFDF71BCC627304
-C4F92B71BFF5D96A822DC9C71687C1FD37299C4BB76B7F2343741882ED86E05FDFD97CC8
-76EEEE402AC25F9B5945C48629A605632DB0E7D210CAE8C887718F10FF689AF3BC23E960
-A1872ADD99BDCB14CB388B4BED0C9730947ED47775DC9A2B028778ADD281B8A7107C7348
-FF35B6403BFBDBC3AEE99D2DF222D796BE4EEE6071ECA471DB5740647D136B49D2FA83EC
-7C12E402BCBE75C7BE2CB2C058D041A3A390D60165866D1B84A5A21AD65E5B7313071ED0
-CF488AD4CB6D7BC4CE06B620262D4C3952BC443E10EEEF07FE3A1CC72F2921AFA14CE11A
-40655EF499B2FEBAB39B530BB27682D3618705104D6A781ED1463EF6217F8DA8DB308E47
-2654FB4A1F5CB5A147B50FE10357E109DCFF49AC818F53621619B37A9FC57A5DAB97F829
-82D2A91D92888851F9C58DB754808668EA721894C859EBB4E09123B8E21AF0D4ED31092B
-1E866C80FA135E73CB59677CD3E74925A82A6E8AB6A1E28E1735E2BBA3B79CC8D1D6531E
-A41214CB887AA60C94B642AC36F9720A420E64F321A474FBB57576C2B0155450B51EB175
-D39DA3945AD41ACDB958DE15C25913F7C3D7C0AE3A6CB987835B26DEE2F92FB85E7B872F
-1035CC7E7332A9418126BD493C892033FEB7A254B47623F8645C52D240C70F1FEDA77C1F
-87A90806E9AAEF356EAC0758714EC5018B1B481B79B416A2D6DC92D7B22AE75894517C16
-C3DD09C667BBCBDD6C3D36AB00B636323B2B6116125F6319FB4C16A57764E8B879086C2D
-F146DF03073509C72932A516FD7BF9F9B1936B643201F590D1D551C2C5D48BDC93785B5E
-67F1E6EC0A5D14D59A190CF6894060C1953D2DB3C79F48844F7A0B0F0FDC3AEA8A53E33D
-577B67E9213ABFB350929FEB36A97DE7658B441CBAB1F0E26B3FC5612202817A5C2F423A
-AE4430703E9FEA99B861C4A8CC09F79AC6E6F53DCCEB0EE7847CBF73ECF35D4F5530082D
-1AF3AC71BC3918496CE6AABC23D61A98D11BC6D7B40885FB6FF6AC67ECF47C6733390DCF
-A88F9B9326B5D130874910D3E479ADA40777274C02847ACEF3AEE8E0DA0434C9B35859C0
-3D23BFCB376446EA2DE09F42AC3713F0673D7DE567E8A0A1B15A1DC88FC081530804B744
-2B0681289D586D9757631803ABE18DEAE727DBE5DC052A0A1F0E70480DA458FA96A010B9
-57E4D1CB0085713817AFEA72535EC98D71B4B9ECEBE04C51974D94F874B0E3E74D149C96
-BEB4CBDC17D81564C3C84A14F5130A08AC7B71F1A2B81CFF6682062EC4DC6D8E1BDC312E
-ED6ACE315A2A28C772216C052947E079071314DD07BB321F1EC8322F00CE57D3B0E53E6A
-7A2B9002F1ED47621CC255EAB1F3152D5CF2456764014A5DE60DD0CEBED98B584457377B
-F67065F706978C6AA2914A68A942DF2B2742622007655BA8780AEF5086CE17B67B8B3AA7
-E432EAE81226FF8CEC95D0498BCC0FE737DEE690FEC30B80F8DD74F05B9B88794A54611B
-C12F61CF8BBDD49F33C5690E1F03DE89937040BA0775FAEC6ED05026ECC6DC4D0A0EB441
-66ABCC55B3194DFC9213025725A8EA81A3290031FC365D3741922FA26E1499B93C2B59A4
-BC226A3F86FF1551DAB5F9F850ACD311DF36EE86E5B3EAA4579972223DAAF9E475F9BDA8
-4D95A89DBE06611D73BF0717D1FE0258086C1B97103CB62D8DCEA974B41388C00F176979
-E8EFBCF4FFE9144820AF24BCC47EE0597276455F92BD1FA21FE19E1D98E6E8D6BDD6AFAB
-E61C7B650C109A61E1A3C6E92A6F2BD8C872A32DB437E2EFA5A19641608CF2D5E109952F
-8B2D9C0F0B96322665B1698490E37E860900EC392CD42DD9AA6DE6F0E5A5EE7BCD34A538
-95D129885A10D9446993F5CFB6978DBA5B9BAB29773756B9867E4A2561AEA643414BA7E6
-00DA0932D0252E094EEFE73E2AB163397C2266CEC81ED1CB7724335E1FDE7CD753646810
-F94A631F2DCCED349080D4E9BA7E9585E3F52F77114012C081C806A447BA8AE735E406BC
-532B46F55134817DC0B30496C6F5367A4DDB55FE033A236404D643C4C3DDF9D8DAC0F165
-C2B8BDA4194795FF0146830C21CC1E991300548E7A0A0B032BFBD828A960FCE987A5ACB5
-E2224DCCE6CEA1F7C6BE69248B6044ED317F1F3C028142B52DD60DDEA986214D93685E9A
-F3A2D9F7899A614FB41BAE93640B9BD10CC3981505415BD61325AE4E2EDF73E7AFDBDA1A
-D4DD09F759787DA42A474F1B6C134AA6FEE8CB1B5BE1E9AC6AA2D1E60F7FE74EB2FAE2A6
-BD8874F746D14A51F860741F5DCB208C461F8118A4741573CE37DFC57E8B6EEB1D369758
-7956D6255ABB0E047F04D5AF7E59DF62EE011BCB403ABE71C63490F9E3F28096149F866B
-480EC82AB9BCF835EDB42F72B33526DC06CA515920C92FF73CA0C1A1F1F61FE8F373C486
-5DF775DAF6C7BE60F2DD4232B73801BE6BC491FA63205730E4974A531F1E75E74A9ACD2E
-D4A9A9A45FEEA8414614B535372F94E55BF70152086AD2738807B85E0ABB2F5AF149C8C9
-9A9F38A6CF85E31358F8846145F428A89DA1C26DAFCFACAE7992CAC52BE50FBE0EE43CBB
-2228490A00E9716E513C434DFDFC38263D773404743713BB490DE92A2C4F3E2E67032D40
-B31649A0672EB3E41079316EF1020DEE6DC23B95B093FBB87A0A88733645423F72CFCA9B
-4B499F178EE31E5C8B8D432D5872CDC09713CF21DAAC84AFC235E8AF0F8DD6D6CE213937
-7314BABC357F9DDE5B3F2EF4843827A6F0D1DE9C8D0DB30E14F9C94FBA3A7726D6479706
-162D0071B70C19CF32BC2FD0113504C82EEC7669A66331267B4EB18C5F1902B6B2C78C3A
-86E5AA1D2BEBB6AD05539A612C230DA216C24B40029A8CD96B8FF0FF000E816B6A7C4F70
-90E217124A1D6A78604D5A340C278BA9B16CD4B5518E0376B3C518E1493AFA9FDF83C36F
-6F28785DEA18DD992EA6C2909ED188A31E933A0F5B521ED9C46E7A70BAD32D05AFDC381C
-9EA3D56E2E8C48276A82F9EC08440D6468D0DE0577EA8D5171B678F3AC9F3BE2D5DC899A
-4D945959C9990F334EEB92F34B88F256FFA564C591D5B18F79BCF9817E827BE4BA219423
-252095B90DB4347B2D54F2BE6D31B87B525D103680700F13CC1C0F72B0DCCFDC01F2E924
-B5E1442F21025659C39289B7B4AF03169F584C49D38EAC00B1910B823745054F00B322CD
-174BE2AB28915D81A829B6C87486ED7EA4D44D6EDB6BD69C25112E0387FE9826C0F3F2BA
-D1C6BE26E603730DF1C4CB227936404E138136082AD61492923E173484955187CE3DE172
-0FCDFE244D85D3C5716B7A4338A8130748567E0044D3D9DAD19A9785272819ADC5CC9876
-B764CA881499268F67D6FE0ED4C73D463BA920F27CC02D187573082A1793D228D2011E2F
-59A15D7349B2EE7C9E7BE1AC231DCBE9DC98A2796F5FD4A5853B8BAF6F266520CEA0C42B
-0AA848B977E9FBB93F77CC2F6224A339242BA2D7CC565373E3636DC0CFAD06B7C5C8FF10
-392C03A29675102DAA1E7BD4D45A2BCB6F6C73F8C3A6DA9D520F858EE0E4028FF39A7C8E
-AD10A54E91112AD1A6BB7DFF7D3421533DE306FD859D5F750268EF950F4CBA3623B38703
-1FE153AB39B304EC57FC95710ADFFCAC53508224A7DFFF79AB8A24E4DF0846926EA4CDD5
-665E4F1734764B53C911EE8AB436EA08ABF1FC7BDFDD754D22C6CDD1D6EF1786C10688E2
-E2830A80A5AA37C08D1545C24EEA559618C927E4E5A1D6F83CE3CC7B100D4E04561B1BA3
-08A400644C6B49F4D5AA8EC1B5D769D16B28E1FB6DB45B118FD348D2A6F241766EC0BA04
-DD24F51F3F288D954D2C7E3B402361D6343C5A26F78D2C220E83D33662BB0CD33D84209F
-7AED4D30489645AE647D045AB0BD56E20943BBC8642B2DCDDC09F955EFCD74F04337A15B
-9DC924D48D1AF6AE222B76563139CC37966D32937FC5BA436843EB57761B9F052B0BE1F7
-132E40D0F0C783CC80B728B75FB600127673C0FFC2838A8B52AA3C957E978000314DC091
-9D1DE4DCF84280D7939ACCAAA46ED513080442D497C7CBB2EF36C43CB3BD66844691DB7B
-2F1ACF8D9695E03F747E3C0CDC2105871F13D27C3FA07E30A27F5414960DC3A51AC1B569
-F30811EC03218F259BA3E4668F83F6670968C7DFB3E7CFF0D12CE126E4C27DE03595C823
-528C95F4B1C92AE796CD890EBE3DA9746B92A835817B6EAA2FCD276A77436225C44E89B3
-6A0066BB7AA1E94C3203AB45A6E2DAA5DEA3B0F0E068A251CBBF98D376CF76ECBEBCF3E2
-1F375D73BC558151341B01B27E16ABCD30F60FF9A91AF52808606625051C54ECFDD28E8C
-90E211E0174A616C68BFC718DDF2656FA27BE3DF485F050BB57F96B7D1F6531CB2B73B46
-D21629F201D40C5A37B572428805651E2EC179424D8F5251A84384783A83D2C89B6833D6
-D0697FFEEEBFEA9C8CA21A627F50A1168EDE8C5E085B5930192973DD939E36F10AD90B9F
-C02C0B116F922ABDB2A94213E4D9AB7903770FE69017FA7B28894A5CC4C66930FA7FE05D
-35D664AFD098B8A76C9F2EF0A11E36B6D7362B62205AC9282D8082C15E1BA41E8A711DA1
-CFD28A83BEB3ACA3F7095FCE5880F18EE93F9EE03C706AF5547B198B4A08B9731A61141C
-9A953B2A5A3DFEDA3545EAC5D7D8D556E72118187899AD1D13D51B44F1E422F4809BF42D
-FF01E2F05B9BF68849A398CFC799771C1AFC256B7D333549A0A71FB7A8813D5028BB8F2F
-397C1A68F22F3F1B9C2B7C2D4F4EB721E73D6E63BA651C802CE8E57F5CAE8C1F6C4AAEF7
-BFE00547D8344D7741BAE7BA30F21197146C8B31523C1C651420D130A2DBC055FD437CD4
-D92E7DD74D6F1A1027CC95CC028F44F2C5B95E72CD31F200B0A3584946E55B9A6A20163A
-3EC73566552D848290C8EE0C821F08DC9F1AD94C9E94E8C5B865BEBE2047092AFCF291BC
-EE941AF3156D6C8AE07E63B81F27937759F91A6C8795051BFC02164475850E295E6F40E8
-4DEC3874F6762DCDE08F738816A14E5D5423590D87B85F7E0E88EA234561903039FBC1F7
-70ED97405878F62A7AA078601FF5277CAAE4722171DF7954AF82DB007C56E59A7A59F133
-071E193E18D2D24EFBA31F3E598B9FDE11C0416579BA3AF70C8F7F0D069C3BF3FDCA150D
-ECD1E82A3D7E1C11F13D37F27CA578A761A9E5EE2B425EAEB8298120429D457998BCD81E
-81531F1F23CC05417FD802E9C1B7FA92F129CDB8F498C78F9B936FBDB2EBEE402AC25BF3
-CED327EACFFAFB1619E023F018E22F30FAB458228AFFC545AB15D66D4A0B08716E484F4C
-FF688C67B70B3878ED20939A1EDFDF9D62FF19EBD66C9FEA31F18B6221208CF315DF5108
-CE58848845FE2386F9F916108102A8EEA1E6A4806535410FAC7AD182F6F317E0A864DA31
-35FB3C0802E830A039535E66BB3ADCEC299454B7966FEAA81861965F79C0578D5D48F3FE
-5FBAD2239BBF5F107E5FF42EE8EF094D8586E8810522BAA1E231B4FBDD6CF6C62D3B36AA
-8477D9273E95D66CF67F5061EB4E3EC2048518063703DFB7EFF5C2F5A3968FAA705225FE
-9E088D592EEB980C54777F46BB385CD979BBFC34F3870583C13643D449A49D275E38FB4E
-A31E0C69CC3CD31BD790FD0960EEE331BC1C7D47AEE5ECD11D6EF0FDAFFD1FA2C0F33C85
-31357F04EFCD25B6CA2E0800E7CC8B467D4EC22FCE69FA0F1245253B8B3E842C10276456
-ED5D4BA9B19B07B8AE60115D4F423228878C7E6461523A102F03E2C997C826B0E01A8C74
-737BBFCC420E2A864B051B219EB2F65AF711C8034EE858E8E41E93E80D519D7D5B78FDD0
-E4BC44CB9657C8DD9C37EB9ADC2E33E42B02DA3E069B9B20D7A727DE8070E17FB032C9C3
-4F5623EBABB58EE9097C85E0A2D93279EB7F6CCFB82CC798F06208D106AE7E811BB77F43
-E4F96EBDB0E29E9CC6CFFA79A00837A14A424A9E97B16F52CE9C0068C43523E286038ED8
-D91087DD7764B1DCC9FB73CB72A1AAFC3A09D353C64A8E3480D2C3E9D1F583E2437BC1C0
-529AE01639F1CB00AF09CFD84C38037DA70512DCB7242EA3BDADF8429ADEB743E5509292
-37BA921D7AEBE87A100E99B0D806D0AA4B3BA6740FBDAB5D1E0FE3716EE4957BDA0258F2
-70B527DFB9E2FE35FB0A6AB0FFB583B9529FB51BF336852ED0D4135E6408AD228714EA74
-D76CA630E0AE366233CD90CD586C9D8031173646A78B88F1F88B409110801D522DDE383E
-93675E5993EC6C007C5ACF1AA8D0F10A85A144E189273AC6E135E986EBC2A85074D3C290
-1AD3BA21B44827EC7A55EFD8A429FDA1DAD0929E86FA7692CC46E7B312B441806598F2FD
-6090A17540D1140AE17D9A96678347EFDF0B510A8BD31A07F26FDE43A5E012D76BB72FD8
-8A70CFE950A471C724288EA13FCF2A5A7A3D54B2D30BAAACDC818C588BDE628B30011DC2
-5CCFC66F6C7C5F780280D8E4C421A0C30749C2B33EB4AB3882CF161E116498C4204455C5
-B70C59800A0530493F63B843B3BCAAC5F025163431DF3FF39FF9330084D41A696DB77343
-7C3DBD4E794431B80E72838210F2BFDEA75DDE26997A6F28065DEAF13EB71B0B098C8209
-3121ECFE486A0CC366FD76927D530C3448FA16790C4A96F66274D5E7A71427AF984C5004
-620F3011223C4556D8D996A9415812F1868EC9744B1101FFD7876B0F0765CCA2E7BFCEFE
-6AE75779A6AC7876D5435153A48C4B931D23F7AF10A71532249DD0BB4F52514EB90B98BA
-7EFCB01C47BE21CF5C2C82827AECAB3666D9DB46D415C31870CC7934BA73C5736117F639
-45883151F82A1728E5E591DACEFFC0AEE8E0234EE158F45F8CE995953F2D52D0DB5D23F6
-E02079E115F3844925501E263EA3EA7C364DDB44BA125796D630202D46DE831E5FCA2BF2
-8709E4C2A8139444CB401254A0149E4DCBC69AE1438FDC782A6DD7D08134A27C1C32033D
-B1707A8CB8F458B3FAC6643712117752FCBC008F2EEEA842035EDD4E50DFF848E20201AB
-074E662074C5F57290E7FE6EC37D5C1C11EE8DCAD4BB3CFEF95193F16A3AC6CBE11EC609
-111C0C056856B5CBC8C5F59CE7FB37CD8F3B53FE0EE6DCAAF3C933B849FD60852EEADBEA
-C506630B94EB9814AD4A9D31D2F355A3A176685CED59E6F2A6F61458311635006CCA9833
-BE5552DEA87A360F2FE23679A8C5E05A5A8C395FA909C7BC287C6587D2BA7C4C22DC3396
-0BCD0B32BA37DC1C1F59E730B8F1ED109E215993B16FA35C7859B8F8F299449CE26091CC
-5E9A4893D1D1AC688865BEBC3805855B245A9E90F715B904B9761E3EFC7676E9DB688EAE
-D6C5470282E8F065A2CF7CBE00FA66260F1AE895921852BBE6CCC06732EF7290620A1371
-3C98977827D534617AA33769F4A89CE899D29A6048516B0B9E764C4B7A668470CC188EBF
-54D31E95714E4F85F3EEDD46DF34786702A088B30A31D55BBF6EC09153F5A170E28FC2C9
-F39EC3EC34BE68B1B13F39C7138B176B064210B8751043F03C35601891F31570D77B94FD
-05420F77B5BBF0F15B62C06CD8E026D7402D53D5455D608D9A903482DF22066AA82B0927
-918EFC606CEA50534BBC94269A487505D937C2A0FA09DA28BA69A0B90EA305CA02332254
-5AABC58727B5169F010548A30B750484B8A6F33BFD0026BED604C56CE9CD713A05FD9816
-C1A8CF1FFE9A458AD7A3A0B0F4FD0E506608C58669AB9809DAE774920917406CA8E68F9B
-E4C6B9D36C0A31494625FDF84661D20DB004C8E6C1CE34646992D7A2780AA7BD04B7C15D
-8A696817A5D5F4A00D9C25E6695C383C273877B1F75544713AA173E9892ECFF80CF54382
-02A2513C677A4AF1C3BFF5B282C807A77F222ACF5AC497A36DF8BA7C537391827360220B
-40F2AF6FCD3D3A9EB8847899F3FEEBCE598050D7CE593565F3CDDA813453B62983C0D90B
-71BFE793AA1B2F0CE07F43C8D4DD8BF656EEF5C6C3CF0FE90C9891344FE3F4644ED8E98F
-6C1E8C00726BC7B8D2AA8AD0681339EBD2B1BE983E36988BB22257DC27CE5E183AABA617
-D9AF549235E8EC30B37B85BC3F371764AED219FACE0CFEACF611FEFAB312466E6C02B341
-904ADF69B17706D8AB2EA734D8895813DF940ADD72547D373DCF82D1C484D7544B06AD93
-3C4D95655ACBF08429DC60D26DD8690BB9B865D0846FC0D32117612B8A8DA0D6955B38E6
-7B7EB2405F7177097ADD4CF54475866A52BB7FB9DBF8055D96586EC8C634DF0768B27E29
-92CA552A1E4B920C56DBF6E6C03A74745A0AF944DCE92093C8BAAED7B40F2185D776081F
-5B3049BDF295D0C4EEC9E3CC12F9B19922A76724879D842C1851C16A9447296DDD5096FF
-804D0DEA8530DC5D0AFAFFEEEC6B3057F16FADE808E85040E4275FA41A9B7770048508AC
-6AAC18540E2D903789AEA54DE0AFD72E582F596734D44EE33A9A719620F0B17FF028CCC9
-A1DDC29D41D9714C27CCC48A06A49551D8F5754D8AAE52D92D31269C9696924D52A44EC3
-D483A0849738125FEE094ACDC8C09574D7FB5FDAAE0F44497115EF7C152453BF1B6EAD42
-44B784EB072BBBAAF2962F61879D74D8850B1C544ED2AD2483EC46F99CA7E5A281C38C40
-A5BFAB0500A37CADA0FA0DCD05838A4180C0DD8AABAE616FDA7CD77572EBAB61656158D2
-C27C2DA43871390F39B4D3E193CF95C19D2D2B8072857284405C68F5AE101A49F786502B
-8040587DC7E2AD00DF02504FB119202E0FDFDE2DE00D4AFB2B67C8DAC5838050CF1C2D19
-C2D2F17FDA9BB90DA4F6DA74DCED5972E2F8221EA6A0AAE477190CF01D645D452F0E477D
-436DFB6EFF88407904DD172E6CA5E132CBEDE212BEE43C446CEBBCC250D13467915BFAAC
-24AE63D231CB519A0007AECCD201482201282B6C7BB3C4C45392D32D5E6F0A673FB8C27B
-D70813CBB4285D3755BE80CA5EFF3B8CC0738C090F535004A14D6EEA4B56CDB2E70DD71F
-98DB9A8041A2F80882BC5EA1AC8661C20632CA27198917A619646193B4A3EDD8CFA675EF
-5F83AF3D18735EB811698BA7EB58563F0C706A2DC7D372369CE227DE737713C18948DC20
-5D9E574513D54ACF922CC559100D90AA3439E5B3D02E0ED2EA9005F75BF378CEFE680D93
-CDEA6ECCC4B3F43CA57B128FFD4ACF5020CA5258B2A03AB259EEE34B80590D44F58F3D18
-7190011DDC9B6FE1F5D9D8F1090EE4BDB4FB56272C579E33C7A3ED0AB39D96C1AA74E197
-7F30423B3E2AC868292F70B3DC9D2A1FEEE89FF3BBBB195E409C5F473BCDFE107769B6EF
-E8371487FD8408D67313A1E0A6E2E448A0321C0FC931AFEABC4F648E4185DAC8DFA30D9A
-87C0380046D38FBDBCA63BD498FF6F96FB141AC9D0CCF2D58971BDA0703CB600FEC9C22C
-781DD3CF1D0604930CA0D8D9C35C247643892A82095F9F12196EBF4638132CC259278A69
-6BE54B1BA1B56DB1EE0F1C8FE42989AF69E38473B2A4317356A415E1FCCAB2463C80B5F9
-185D0B49D4188DE1B620BA6D108F3D3732BF34FAB723C1373FE6440296A18732444F56D2
-2E4666EB01FD9E25BB52F399EF53375C9280D7F6C3E774A8FE3EAA78EED6A94F85089E6C
-FDDAAE0774DD926D148BFDA4563FDFFE56AEE78D03B9BADC66DF13351F3538D6220D5D3B
-814D6F55C97A4509358DA25B47CB33923506BFE54ABC45FFCE8B35EC6EC9B5EF3AD16EBF
-9FC871736AE364350BCE0C88152854A653BAC1ACA37600276DFBF99E9BB4B19E90A6F234
-A11071922039565046DB5A6912908CB86AD30FD7FE3660C06F05554A0C970AE20BB57E92
-448EBC532764FCCD1FD1F8B7E10FD0EA90E043C3064B246CF3E2299BCD5FCBB0B8BA8C1F
-7A78688A0AE89D73DA9E7D94B20A3566F0870462FC72C6D7390CB82761F428AE82DDBB9B
-DDEB99B653807E6257A2DB61EA8F4FB2C1D133EB3D8D6DDAD980E5DC555C4183B6F1C380
-B932C33ED0AF6426372558F6E01186A41CB25FB6CEA786229ACB9E61A133E138685C485F
-505EEA8B5BCB465E5A697E2D6AFFDF040CCC78B8A7DD2F76EFCD0ECB1DB60B7F6996A75A
-A0059F9458D34FB95925FFF126E616B6FF585B566CB41926564D8BD98D8353DF5725E722
-86E1B9D1DF3644A4C45E3318ED821CE90B2D0495E97C5033C8733756CD10C763C2BC5CD8
-0EE9043A531A0DE7DCE115224D0E272AD0CA70D3E206B070728E093BA13F03E8D419E50F
-F85B3DAED2E7A581948541410B2469172006F0C24854049C0180D0DF6686E314757D9D4A
-7F6D641D499DF6550A60ABA333DB90F4615BACB3C808FF6F58272CC252236B29FC67FFCA
-5ED9063DF8100D915C5B8F10D7B1AD3E848E797F82E9B76786A4524AC083B09D91396DB9
-05F133D6E300AA5FFB1E1D161D00B4CBB09DFEB87CDA9527A23FD4591E2DF7E920A3F4F4
-26A7D3AB614E8D45DB0399550E166F01C4C4F660430642F813212E24C7CB24CBA11EBAA7
-B9F63BB00955F125A92658AFAC7044896843138F90299686F549A427A542B2588230C21A
-09938ED97A7A6382FC70174F303673CE2AE93D8103F5E633298E1DA2C36908F6F6039FD8
-37747FDE7F714A66CD8871AEF65B8A68529FD63F87AF84F3AD411F820AE9BCB84A7EA4F4
-3838492DC675D80FD615CFC9D6EA741C6B91AB432C0CBFE06FFCC562D71C6440176F39F5
-3D810FD4D3810E22089724E8A7F53D295681C2E07334D656EA4D3F7AD037D3B9C760042F
-86A0E2240343EFCAC8E2578DB30BECDF093CFBD0056110EF5834A1E683CD7D624B04AC43
-A663469E0D3AAEF64944EF7C43F8FBA221DC846E86A8866AC53384FD35D10FCF34EB7404
-BB38289451048BBBE520F6018C3F3B8F6FF3FDE4C5F33D89E44DBAF04AC4FC17A4196676
-F16B8A2F02FAC4B8933CE617FDF903113354619906A8637566B3E61FA8C849261A625CBD
-87BA5F1EC6479E7B9423BA14D9CA0C68E11BEAF1D1E948DE44257986388E75DB6FD9AE41
-13C36EA637EBD0812F272EB8381437855C7B0F262728CC886BCB624437F8CA30F107427C
-7D1103CB94B19CB2129FD2B388D62CAD6078EB7528810DC458907A14EA0CA0B0C28DABCD
-988174387FC28FF98B7C9BCCEFA0407D138828621AF7815C13EC04F7FCAF82ACD3E8E773
-B886BBBE2C4F2818E39A2D7F964A29B9E977F53C7107EB586D628F85798E70489189808E
-159E28A8D81FF9D642F3FA4FFDC2059947719184D1E83FD5EEAC7FEFD5DE2DFA8D808AAE
-91FE63E94AAFAE17FEDDE11C1EE21085438581DE1F5EABB4FD2A2C3CE0010492612F5797
-163F19DCA534DDF49FB45D0381664FE5CDEF1CD0C319B6748AC4B8996DED871EECB3E223
-8E924F30CE315DEC278EB94C6206951B2D4E735463650B5020CA8CBC756618AE1D8781D7
-B22ADE2D20CF71A9ED08111EAAF4E3DB1F081CE992ED1F7BFFF2B883EFD95F51CE612CE5
-6588D7A8F342EFB74A989AAA55ABCE83A773333315FAF1AEF25CDC4F19FD2293A51AD64D
-A070635BE2763AEC91BE2DC9F233D8968860E76352E6DA9F7E5EAF068E19CF1DDB22EB76
-FBE149738F247F4369273B6A901705B7DB396F662986D91803DE93D89B8312826CAF94A7
-80EB2EF254FD8F19710452E7EA41399D50177F4A8CD017EA2446C1295B6C1598BCF35060
-4288FB0A9C7CBE9D94E6517CECA11528D286CFBF0D621DA7D93C7D1029FE0C70F20ADA26
-E05A67C4E301A086770130934D6ADD3419070C6E2F0173AE4DA51F478DE9BBE3687D09A3
-A48D7FFCA601801BA38BB9D87F091DD410BD354C24C74E2E049407B8A3A98F90FFA8327A
-6260CEEC0D9CFCB9BD04C3C08FEA15D0884A9017E239335985C85E17697F874DD3EDC192
-AB8542A11C8B5F50A2B737F27E9A4078D72ED0656D5AFD0EB04F76565CA2777930DC4B0E
-62715FE6D2A8A78D8C0187FFF43BF6C434DBB5DB369F4045558E5F4F047554D4641D02DE
-A9A78C9B3B64D32D3415CA488D399273879BB9BA3EB375F630F273DAB8EDC0B015A3728E
-B55013B32BE513A0AC4769876686C9816035C2D199E955DF7A99CC07B680229F2E9C4302
-D5F7F4DD4B9C3BD69982E0DD8699EDC973E55A259376CBABBED36F28024A9EA504154EEF
-B9F2C5649E7338C52CD19690D7BC56CD06D5882366EE32FE4B56D7703237F3D38A4D5C07
-F4B851534F597A1723BD364620757118169DFEA997B90D243990C23B6583EAA176021C29
-923483CC99E04537F611D02C44E99A05FA78A0EF13F05F695F38E3E631750BC0427F162D
-96057F1A50A392131DD979868B617C037D26CB9A92F478C57E822C3E946B1A30388A3813
-39C0A4215EE9314A42BED741A0345B13D16F462E60E493EB57A775B3A01EBE558F8423B3
-047BCA02DCD80CD35A3AD41ACB26D75C92B1DEFF4CE5E8A8332AA185DF670FA87410E36C
-D27F4064090E39970DE94F2A9476DFAA41225BB65C0103F5F2F277F932CB3B1F273464F3
-1C6E88064995D7C6DDA4C597ED8C8AA2174DD99D8769F818CBD824E04EB3458DD29A78B4
-1BACA60903E1BC1AC6527351EE55A550CF7BB448C3926E5AB461E374AAEBF86885B8D912
-23108CA0D5D57C333DFE6EAF41FB5C7071B83EDA33362E2090A76DF9832BB5DF1E3AAFFE
-135801E3634415E1E8A561360B599DDC5F84F3DC12E3A4DA3E325A67DB748F6768D42289
-0520E9FCA4928178B888C4BB626D82D9B52DD2A8558BE9A3013B4492CD8F11CD4B8CA79D
-771D9A9127EB7D3F8AC0E09CF86F94AE011B568EC3A12B6C8B930084C0982FF9400E5308
-23E79DE9CE44B754947CF6EB96BB9C9FA45869AEFC46A19F957B677E93E25D7CCECA4389
-35D70BC5C89EA5E2D1BC207365D7950B8227E70D4CBF3613A1ED87A7CF85485DAB70AC0F
-3CD67859B72D6384000CA9B3831D32CC774B27AC9A2C21A4CAFD3493A2BFC37464066BA3
-4A4BB4BAFA36019452F8A580C4F27BB5D81BDFD8902B510FE95DDB23CC43AAF71E464CB1
-AA6120E3CC15775000BFD24AD031F000F787696A6A6FE9F2EB409B259E706BC64E2BB7A3
-286718CFDD3D1D2F3BBE7218949E69815A570AA59CE6545BC1A2036381515AD097A81D2F
-51AC22395AECC7D208F77CA9ECF5F2C121A7854AEF87CD2170A1F9F7FE9657F2C5C77344
-F7F07A90FC698A63382D7E59D7EBC856553BC2C821A6664E3BFFF963C3671EB7CD32C9F5
-AAD7CF79F066B847C533DE4298824AF0DB3C96B780358DAD0F71CAA85AA876EE8C056864
-FC9F11FBAD9D966AC00667AE21F9DA3555D55D81283142FF4071541CEF9C87882323BC72
-454D5261D13BC65EC5113899474CFD4C05D13D8FCB5F3A49A4967B8C46817DA1E71F7EDF
-3FC7375ADA580A715D37FB8D56B2A9EE3296D302AC10A9C5AF7DB8E92C39EFBDCF74D102
-C9939DB7F7C2293A9BF92E3A81C2A17B1C2048150935B977B85EB6AFBFA266ADF1D7CDE5
-8EEADD8B2D7D2EE4D9FF56CDD2CB1CBDBE229B03353D7370F9149ACBF086403B96B6E859
-952A34C0B58B4891E029FC505417DA6175CC8786CD4326548C65941E17587AAEF46006AA
-01599C4D9C3D66BC8F7776B38822AABEC1D52E1B29702C498D6583AA9BC40F656DD6F74D
-0528F562A31E90F620B7E96FAEA15F1F2F0B68FDDDB00D9FFCDB10635AA54C47AEB4FF60
-EB3E40FC4F82A0F73B8440023753309E443CA66CBB5C02CF7D77DDC5917078EDCF50BDEF
-1341027323183AD881EEB8CE2CE4B983C611508E8911F098ED89DBF2ABBA49F1E7DDBE0D
-6BFC1EE74A839F7CCCCF4A12339519C2EFDA56941A74044CF1B0222361ADF02CADA96F2B
-94AF954304B3CB7635C2E7E6BABDAAD0CADF6127F63A07BE097E6C7FF598272D39D3EC65
-4EC2E9B795C1E6A65C50AC1D540130B16DB5D763B9923DAD3CC2D8DBA1D3D2158C01EF3D
-0F41E368C49FE8AB6DE7774CEB1134B1FED9E8911F9C2F29B8A65D2F030B966444B96EA3
-48E804BB6343A01E2A5A4B3A39EDAC4EC5A8F9F8BCB4377B0A10820E5B5FCD84A1343A02
-CADC1D5EC78CEDA3EEBC08E795D41C30390EDDB0D6228C706CF39C2989618E1A2C86FE80
-32E093F244E65BBD5AE8EEB19AFA5EC0717D5A0365890E707DC35B2B56187314BC1EE8AA
-F3CF2A8E90B5A04CC30BEA3E50101256E48D0DDAE0E8DE05D62DC3AF06655AE331010C67
-EF2377D07B7075866B905644D7003205A1D9380B56386E291962F5A8CC209C4D540CE82A
-02B4E654BD66EDEF1DA488CF02B1F37ACA1566F5FF3E4A25E9DC0FBE6F1CCBF4315DB6EB
-F3027B8751BA5BE3E68C3B428012CDD1F23ED25C9F09B53321698639D37C581873723846
-06606C0B4E522B57B592A205EA908633A20BBFE46689A9C749FCB2C1BA5D4B3EC7DBF4FA
-C810240BD7D2CBF721EA3F824497D9B105348C6DF4E964AADFF293FB406A4678D7E1CD5D
-24E189EAEA1CF128CAC24C3764922AC24104808451776ADDF427A8E1DE5227B82546F1CC
-8FD56C60EA96726924AD39459785E481A86C59E43F2964C332FAF11BEB87EA9F7CB71920
-1E31DB06A94C12CFCFC4CB0E5925B81BD827842A8FF3021BCB63E9CE7BF8984006062267
-DB5F53DCFF1F1C08E053020257982E81CD41F6D55D6DC148CE7E1588146E2E7A721E0C63
-4451BA6D6B0BA5E1434EA112CBC5BC508BAC211A55498D30FEE9DA4BB5D39E19767CE082
-CE5E2737B404708070E8E6F325D8E9A705398C4D2704CD50AB6567411B18D49F2D55D690
-CBB1B4D50EF9893F8071E8423DEC6A6738A92E527446549C87D4BE374C6BAB141331BE47
-B0A1415937AF7A047BF16B2AEFAFEDF28D15B66C241E346884870E8F3ADCAE8A1403CC77
-1EBDBA2F12EC4BC01547238E69EEE4B08FBFAFC2E81CDE882C9D7558501B0BC04175CA89
-D1EA401ACD6AFC5AAC4128539AA1F3ABFA352F69A1322A7E505F68774598F26EF248F658
-D0EB1ED0278DC608903AE7D8DB3A2FFBB486057720D8F7B6039C2BD00FBD67B73E183EC0
-D539325173FE5D5F6443A6D98B967ADFF599124199825EC044717674D4EA3D0CB23058DF
-D156708E37DA80BC192F0D51ACD25D144411F856E36B135403F818297025F27FBF7EEEED
-1D964BD4F0BEA178AC1780B1FAC7D64C2BED556696F164B97CA0C400F8ECA0E508884249
-8F32B23F9AC97B52EC55580C0C7DF9EAA9B8DAAF266DC0A02C2F3AF10D756AFF097A7610
-9C299FDFFBAC8A6C3652285901A145DE49C093F4AC2BE72327C35E6F0756F18C9D219D28
-24230C2F226FB0E9E47291136B363658230009DD11F2A8F23BC2F90E7EBFB384E1BD8E75
-42295AE84096E3BCB7F7E7ECFB394FA8B2C9B4746455DB755A59613D085C34D07BCF89C7
-2EABB16DDBA4C2C09B48A5D21D75CD9529E4684F29479264C9DF6FF211B72559F0BE453C
-C83C1FB4EAE42A8DBC18B2F0DA7DF4CEB2EA36129B469CB59D74C5A6897676B3855E9E28
-5F0BCD467538175CD6485237686CF42A046B714941BFC56FD1ABCDFD292B5368AE331149
-B401F69DD62B294FF941B1CCDDEC0DCD5507889C8310A6FB7D7F3A9F0713AF8E52A5077D
-10ECCD6B5E24B260052A25E09C477D1F4A4710EF521C44F5765EF8DAEE3B7BA4E286D764
-59802F38D8E97D9A557963FCF5CE32A7DD5BF847703BC9314102928DA945BC4301440841
-94AB6BEB1EAF29A147BD1155D2A5E68517E4C347098D4D49AA10A359132C633B02E3AB33
-4BA68714EB41277EE78BDB1418DFC5A584F6541F3EC0EFC75E66263F61CF2DDDC5DE5648
-B14B8A275CAE0728A9B60FD75210FFB3EE02535815F68572A9C29DE316C7A6C991DA22B8
-08CD58C392DAA11A2390AD45CB6161063043C464DFEC11E8B068A0CF516E38BF736AA9FA
-A03AE4EBC45C03A4064A4CF07B171499954D8F93A7598F3D51E953F91C7A70F35C88A384
-97839CB7F9CFCF788932B261AB359F8834660BB0CB5C69A4178BC3A6A98D6DB0C7C346F5
-E44ECE30B1C3E5EB4D203CED8B5DFB17F8211D672013A41F5760D90D593B7079D6F231D3
-03E9C3BFFFDF1E98B8F156BF47EF60F082FB02AB362582361B5274444E6C615A8ADAFA43
-71CBD86CAB86AA91D096EA244AF3C69C4A2F9D62A0F5BDB7649DEF309347F364469383E1
-4B72A52AB0B0DC030D8E785C81724959CD02E1BBDF43E6B92DCC1AB433576ED1F7B7157A
-483C99F4662ECEE5116AFC2B28263AEAE6FC04C656B02E15D619275C7D79894320559E18
-B75EDEBFA7230375F5EB1A66DC3AFF798C6B67D05D8B49F28AEBB509364AFFA36EF12063
-8D958796CDB5409D5D3D8270B4E602A530EA46300695868F972A1E3764FD44BABAB416DB
-AD0E3799FE67EA3A134F9841C79F89AF7FCF182A484627FC0A70A8528346E3C27F655232
-10ED76FDD4626CE3EC9F34F506F9A7F68C50B9434024B7C40A3D1ACE1E616694E442625B
-FB49252EB156B12AACB84BB3985FBB8431A9BC0D1F071F7947ABC095FEB24EBDC9381FD4
-ED98028BE53D441AFA5534C9D27A3D21CCC2EA3B6A652E08CAD80B56751ECB06F18CC9B7
-CEC29919314FB5283AFE5A1951D3669B446F094550DAAD91C36CE3E5D30238C65D2E1D67
-5648C147047FDCF267AACDBBA50B1F9C7959C5F12DBB94B64FD02741211F297176F5F849
-412EDC12029643AE2AF2CAE8552C69A90BA2AB2DED3FC3D5D5E8987CB9B538FF90B693D4
-B842EF7D8AF1055F53FF8442AB5854E94BD016AD3F29CCE91F6D222C7E0D3EF3DE72AD41
-C2E179FC20B4E0E694E50082E944C77CA4D878BA6F19410FF616569C59E94AEC542AB9CE
-BDBC0C9726DB1D56FE5B66463699266E4802B8572C7D2E45DAF827DC6FF7543A45A8B7FB
-908AFA10A67EDA2CC08F677503D0D30D74BA3379234897DBAA955011163C4E0138858535
-1FFDBEB8804F00B6799ACE948E698EBBA5C391BA1D2FC74F20C448FC0BB8766BB3858B46
-2E06F751F2762A5B8DBC4D2B7B96FCB3EACB4757528964DC348C274F757178EB41BBDDE2
-E075E7F340C899F2253DA8D35B2C544792077D7CD7678698C2D8A3E36D440640FF920E74
-7036EE2E46227F170C5F311BA5D89C0EEEAE6BD2CD006C5D18BEEFD521894E5DD7E865A1
-B894E8D3E24AFC5A89D18773A7028DACEC61BDF9CFEA5FD37826AC0A7B51C7CFE3813A36
-8D62036C6B5CE16E56601864092F2997816C600AAF2DF34CB4832981CA5737A5EEE14F2C
-08302588D473353CC126C39CB3F6829CF84358384005A577A7F8E9BEBBE001DCD4BE0538
-6490A8E7BBAB5DBB98B5548E478614B9CB730CFAA373114384BA850D00FC9B4DCFCB6B8C
-A57D4288E62BDF5D36BBC888C6CF5F501BA8B6D8C5D69D5699D80AD979974F42420D114D
-9BD3F2ED149514EF44BBB2746A00E3C633FFA966AD76B0AED0568E44B94C1F820869D86E
-91A78A7C5DB8F454D313637FCD271D92FC20C9F578B21A969EC9B1C015D8FA455AB419B2
-B743CF348AE9BBF466F8FBD617E29374DD71A846A75441CC79C4B1030266EC8E46801E38
-CB9FAC30D2804203AE5CA81D0FAD237EC8D8EA6C544F8BA10B91C2D3A402E940D3092E16
-9D44A95F8292E2DA06C709302F69729A5C5042A009D319FC7049C50DA4653337A6BE5A22
-B325F1C64CAF8682D3D4904654D636DDA229F6F41FE01DFE8CCA48B171FAF8C099A92C28
-D3691CE8EAC30941176151B67198121ACCF7A6EF4FAB0843C385003036DA94117B66FFAA
-0A6A8C007404A9C0781D60652E48D530A656B7E005C5053A8CB7483D1EECC4A85D907859
-982A74B1731BE0B8F4B1E91E4481A68057F9AEFD9438343C1229B0E676842A85641CF32E
-364CE9EDBB8D4603CAF04A5B2111760E1E77370474393F89179413D5B9184938BB00DC79
-FA7602A1A591EAD89E9D7DE655378E10E301B4005D6B5BF682DF253B0D8A34004DE431B7
-C82C1741D9952B20F7312F6B44806226115791D0E38C6A5E855B2197DE0317858F25C62F
-2177D7E6237CD2CCB630FBB13107B25EC2A75EEA8AFE6AE0642AF1F23D171E99AEECB731
-5034D2410795B40495BE25FC6EE051D78792D65BEF57BE88C0DD7A7C6221D0B7ABD88762
-9AB940664A7F4B6261069B5DBC95BDBFB9DEFC25D4DD38B184CEDFB2653553894B7EB379
-4CE19DAD9160266B97A32BFF96C0A1B7B6EC126F34DD8B242AE0FCCFB7DA22EA249A14C3
-E6208F2FF090AB21CE1EBA11D66D654B30CD73CA6B2258F67706792E63E52B1F9829313A
-C0D6FDB303995546B77974C0B07F906944B68B50CBDD7DDA5DBEC4740FC6333D1E62984F
-A9C13C623620B27680BCDEBEE51E3B5841643383374E04BC65E4CBFA38C91ABA62D7AF44
-C721491F6C78A9088DDE50BBFA9CDDA44E567D776559D3E11030CAEE6E5E7D07289CB58C
-852AB6E55F52A6F5730A099C982DD11296E4E33CCF20BF6EBF16C1EF76785F13A1AF9EF1
-A52FF02C06A959B6839550F4FC30D277AD524E215E05B63A9C7B74E2FCACAEF3DE606002
-349C3FD26BA26FFDD6737BEC9C5DAB55F0A63AECC534DBDC2174490980A9AE98B00F6BE5
-2334C6090BDD9AA329F6A66F551B3E41A0DE3EC021C7916F521DB7CF1D5A6B7B9D72851D
-285358554917F453CC15A1D73FD528AD12230892C6774001C56840F60EC5439F6F54F741
-96E6D3D74010F14A30DF85B16D23A7194634CDD9E4D2D74FA1ECB3DB09DE7D7FA438468E
-D1AAA438A463FC988C4460B1C55FAAB585AA17837CE6597B162601010A04725655079C2B
-627139B1A2AD607FC365CA845CE554AC4881BF87DA677B2B240AF10286A947D624EFC074
-1D7EDBF557FC7BF5409AFEEF4535C7A02D9F195B1A20D54C25BB918EC1DE3492D8301448
-81CC8EBA460A299805212312643D95AC08F93ADE8DA467C4286ABC575D17265D7B268809
-C055D44FBBC1672E34B73EC73F114FACCEF8817B3EACC68C88D07249769D0AFA2B797863
-B6ADDE44995C903A35A619EEDDB8F1D76E736C26EC4E8BBEB51B05DBDFD840C0DB53C766
-625664B8506BB1A66DE8A04041ED2F68663BD15E3B932234F37CFF8128E4B2AC1C191297
-D4202B56DE39AEC4006ABE003B7594062C26F206C124E1AD656B8598F190A335A0351034
-388C225B0B542D11E3CC96C0B72789349BBCD9C445C19265D32440F6248F2315A9024BBA
-0CB6B71BD71DA2B06B57FB0483262A653161E6ACFB5E916C22B6DAE5847740A36A40A505
-668EFD5FB438F9F1779C02A19D2C14D6F1DB6B120C060D2ED8BDEE9733497FC9134A82E7
-42970EDA3F136E0740CCAA97EF05658BC1BC0F5855303168E2BCBBA37305459215393674
-3D51B4670061818712549FB6CC007C1F13B8C74A8AEB05B30D37E6587148A94CB7C1F27F
-1B4B37D298DA91CAA996A180DB262FEE001AE974B819D288A619A8ECC8E442D4A2EE0D93
-B89A0FFB9A03EA573BB8D40676E9C67EAADAC5C0A807D7422AB90881515D4DE087893B8D
-A0329DDA3C42689CAE4F29C791EF79B2965F6DBA3C25AB0CE23ACFCCBFAF41ED546B4A05
-0203147147ED047719FAE976A2B71A81A0EDC3DF0A3E03B4CB8208BD7AA6CD91151B1A31
-5AC3C27534D9D73F285CBC0F3D7E0C2CCE2DA1502BD04AE6789ABF17DC7CC9214C67F2E8
-5DE2A1A71AE65A91D7F139756A1A9F912D759CA02A433F0C44E12E8739C4C2BF217B8FF9
-55FB47DCC70B1790B3E906B9AEC41467E5E0E9CA0317BFD62F2A493EA5DF4103A385B56B
-45290A56E816C06EBAEC8D38509777CEBB11CE12509834FB28FA7A19FAADE81BDBF0E427
-46EAD35477D51E467EFAFAC373E3E72012AC7AD85901AB832B8197A5EF7ACC5A9D6362DF
-89CB52589A3CE810CBA525DC46E2C00680EB66CB4E20CC4872B5F6F9BE3636117140C3CA
-545CC3926EE9005FFF15AB7848A95ACAB42E3B565AE93DC7A1CB80B2854EEE6F14422013
-D50C7BDD75E97822BA7C7D65FD383BDD5BE7DC9942888CB7C39CF56F17ECB0676B73D3A0
-2A37319899D89426DA1B299009379DB2C217DC43FC08F4A43E13BF8522A2275EBA64628A
-78B877E2EFF40FBF2B5C628981B0E66643757F5F8412A5B48AF6CE0D230D57100D2F3446
-CA7C8EBF6F3EACC15C3115BA9BD61CF3D6309C18BECDE16EB18F6D008C5C5CA0FA426B52
-5CC0F33A5743D4FAC4830C4B7ADD35ED3BD7F7B072847D2D430DDF667A6FBE49A371BF0E
-BBAD32173AB5928B86FE1F4E74116041E0F6E4F1041BFE588A17C7ECFF96EBCC224EF0E0
-8E3D8566BC221C1991BEE248920A4BF4E424FFD1BD34D1CA66F53DBD6A1AA33B33CE4EC3
-ECE8DF81BC73A54DC350A3939F07521808FD40C566B03124BC7300D28035F2162B76F6B7
-F7A26EFE392EBC35BD718DD1697BC9FA8214A1E137E28308F7C37854FCFC6BD031A851F5
-E54751C2C409A314A0AF104BC8D561A5A8E7C6B0BF4F1EDF9B42F577A9B9AA91D690DA70
-6BFD54903E6A1591588A845EAF9B49A8C5BF35B06AE495F4A8CA94D64163B2BC03482DA0
-BBA8B30CC65711C8B45AB4EBAF027958D578B94DCA70863767A0627B0751AD63EB628BED
-CBD2C89DFC2A3BAAE500389F9D25F1EE6FAF3BD85B018296528A0B6049688B2CF7BB1941
-386D49D254EAA716D29051B9A5295E937F700C7D46872B6D593869A88576DAC22A2F8B3A
-5076656122DD5178AA5FF49A84BBBE20DEE581FAAE017BDA5B7D4886BD8E90755D766EA4
-B2E825F73B8DCAFC4AA1A8263A179EC15E6E7EA656B1BBA6E19756324876082C9CBF9094
-CD62531D1BC54FFD2F9F9DEB6282DE12B66D570EE73905B0287CF19E628533EA058D5FCE
-AB66B6DFADC6AF54995ACB056B8BF3AF89EB021073FA98A4B6803DF89CEAEA3874B09625
-67D46C4D830F0CCA68C7F24B20B94FF73A0D270D2247193214DE5E85775E15F5ABF0C88F
-59931730842A814185AE10BCC62DC83846FE3031B140D6E0E05F4E5B6053F71781B10D05
-81904D48290FB4A157670B791271F7B1B32BDA4A71776B196767EA25D5A935CBE1626C6E
-5B3D8E64F74F03DFC72FB5C63BF586540071EE17C883AE11F2D154EE9AC0B2F7F71D4D08
-CC170A9D5206AF1585BCC8AABC2C2C714DF83AD1FB773CBECCCC388E0D3769CDF84DE17A
-83618678EF40D4171BAF7236BB081887A042DB575528027CDAC918086C6D8FF005639565
-F6676782F78AAA4EAD4ED8162A35E447C2D60A07E6222415B516C8FE60B9C0FD24E78996
-C1316D99AC6BF81AE6A7E53BDB0DF9AD231123474DC9A0105CBB4D98EC4ABB4F9BB4D3DF
-9BEFC99537B06378E91C875FCE12910CA65C33C47F1D8A864D17D5C5B288D5BF6393C576
-ECB62660756C8746C2125A8434A5DEEF7480CBC48C21595A28BC9931AD897C754A87CC3F
-608999E7FE39CE1F60C099357246117C8A074BC1E405EA7FAD3277CA45F5053C2EE050C4
-B93A1F85B90084A12D625DABAF2291ED36699134DB6BBF4AEAD7CFE27379AA6AA93B31A9
-AAAD3F8F998BA94D3CED13C1730326F08928C6A648CD010845C7CAB2B935ED2450239B20
-63D25104A1E9F4DC48BD8BDA6FEC274BE5807DD2355F6CDD587263837ABF3C8CF8466D3D
-9C38D0302F1CE94C967BEF58E6B867C9FE138A7DAA9E7C791865A3E8BA65A254C7032E38
-FFAEAAAD4EE632983D975F167172AFD8FF70A1CF6C90C24B9C1C3E1CF51046BCA8C2F0C3
-D56B931C70848521756E221AECB2F0015B3476FB304B28C4B7966A3F693AC9E1C5D69C55
-8DE014A05981CC5E1AE6083A91594F0BF812B1348B5401E4170AC65CA29A7182073F0E18
-8BDFDA17EF3933750DE211D30CED8B11A1107DE4F12336FEEF5AFB522B2060BB745526FB
-D06E42C1D4C7F529706078FF598EE48C9521793F53F770636FF6CE984FBBDA645DB8E631
-E041B10E43E836B1F8C58C4F2D4A7BDD4165FCD7B19243AC560E80A6FE7A3EB4FFDA465D
-9ADF12EF99FD68D90139A58A53583CD9A0A574B8E0A604E84FCBDCCF67B8A2DE8D411996
-12EB00DBBB8448B80098B458B143C6D1CCEFA354EDD81B01BD6EE4A0ACF2AC0338BFE143
-06DF27EC691542D79715D36E06DE6D7C2D3C9C0A7DF0094CFF0B50FB21D67138DCB7D447
-B45EAC890C4C6E08852F9C00D6DFB9C60A24061A3014844C84BCCDB993E0B8206E5DCD85
-A97D0F1AA82F5AAC40B5D490BC1C60F05B33BFE6F6C07138A4BD1ED177C2FFD13278F53B
-1B20218F1685385A604934223F259646450DEFF801D97C1D38E8621C612A4E49B9CC2279
-7DC683D7AFAFE54FFED9563E880B86C25982D6733EA3B8558461207C91F024640FEB1D2D
-5A7F80D16FC694DDC1A59B7E30D1924ABA53497F37345B31D2429F6804AC66E9FCCCF4EB
-9EE2BF2836E5B55F29D445762ADBF6BAA501E198FC7FDFA66F3474B116E9A77319AFB981
-7C2F4BE21CDCA0FCB65F07DCDB906AE92CC40B4A8E967D91A00E9110BC5E3289AEC2643C
-02F77C6313DB7BCA506CB8BB3F3A434904BBBB46D7C724766DB3BB73422B659F7D5AD5FE
-6DAD7B204230C92AEB30AE4E510478F620BE0E4D6AB477971A22A5C6AA66835513B1E2A2
-278BE747880EA3E1EFAD48ED0B7B5C320B833587A22D5C944F5ACA917C4C49FCA58CCF19
-BD800F5DD3246DFB9A772AEE6DB700127D07167F2D69CABC855BA8850571850D913A0606
-3DAB1EDBB6AEA9724368DABE65C57341467A58E819ACD98BCCCCC971E30F0488694579C6
-C4991EDEFF6DDD79693EA8BAD8AC9495D8884E5B09D163C7A0D343C031CB29F879CC5064
-B65AD297089E7AEC41026B5E055DC47A7C529ED28F3D27A191239D4E3EA911C84084B411
-13D7029A39E6C6A2E931727711F1F06B807841406515B7711A6B96E6AEF79E271C6E7D42
-7146AC3915D35E9C2D4C9E7C5689F7B0371BAADD037840BD034F4C411AB29B36D4314729
-E97666CCED8F1A5AFF6FA352AF6AD9D9343DA8E3F97A8C756B48675750D128A3862C19D9
-086B597EE751BB0D87A3B7A56866CB6AFD2CF8B1B322C9B2493D40BD5B89C4AD69F347D7
-26C22E0E39ECE377C995A611B54C0B2EE3B6CB16673F50779C212AF1AFB93DFB2C931A09
-39A1379C379E3F7327A687B5C4D8D909D3CCC5C3195935D8A09D5E5BFF12E61EFF4FC6E5
-F99A1460C5D1FBA82C84136BCD64D96AD968D6EC728DF4A85573E021734AC6C2100B6F67
-F4E648F5E284618A1868E773D9CC819AE8BB433FD388E971F211301B3ED077CC37FA4B58
-0B50F8BD2309D8E81936C050E3F0C8C7D81A80DA508533BF5FCAA977C17A572DD92CF1A6
-B7172AB4C66890E9F4FEC661AD629FA0FD23E9427C481408A637F9E649DDDC31668366C3
-692B524D9B4DA99938076EAB2343FEEA1560550B8E8CD18D3CB23BDB1AF30F60EFF18936
-46B26A09E5411F6C456917CFC6BF3F74B2079D0AA56935E672464F6444F2E17DB330F94D
-FA7CFF92DB6C800B2311AB86A21658D431EA7C811E020538CA2335B9DFF550C077E83B29
-544FC63F5407B1C9CBC3E6E6259742EC85BAA006D2715D686619A94AC7EAE394915CA656
-B8DE89A462A85CA179C276B4F90C399167DF0D928518DA2A45B3125CD16AEFD65C85801F
-BDA3D139B3B349AA86037B579B8FA94C713DBF1DB2A904652E89AA8281DD58D4CFE3434D
-6C86F0BF7921486C9AE78F322DD841CB43AD7EEAFB5735DBF68D03DFD6640DEFBE22B305
-B33DE7C444D16D31C3EFBDC78547D77962EA985B734970BD6C4B729C7364348B1CC321A9
-46D096A078A45797F63B1734E968CA55B8E905160740F68676AD286C9F44E1A94D17F911
-0EF21F8EFCE27A76D1D7869FD19C5A9AC889675172335D312E8E1DF59ED55F8FC13D0E6D
-9601039BAB9AEF7A4F3BA688E288A089B326E0B582384B9BD80A0BAFA1130E2034F95D21
-49DEA8E5F576EFE035C5E58CE82CCC0B3A95980097B2D4A80BE162C8E3760C3532697651
-2626F6C64864810E304D98D77F13BD535DD5BFCDAEFFFCEDC1CED370DB2EEF6D90E1F0F8
-D4C3FAEE71AD31B0F4798ACD68E1A5FD00A327846DE3AD55B0F493E534AE6E30D2DA7EDF
-3F68459CA7192321B98C8DB02D3399F72A0216F822FB8D0B5B650B38586BF22197F78D31
-55B67843202DDEFF5B04D4230DB2FC50443C21C8C28E7AE0E399767E03BEE4590C4D47F9
-27210114B296F1E8263213544DA56D46BB179ADBA6DC415D6A46679A4A7494AE4B2F0812
-9C5D06F92D2D500F336304FE3454F07A2083D6B6BD5D5AB3D6F917F555C7F7124AAC6F38
-4262A051D865369A95DD8EB9DFE43DCBCE770D3C8BB6630AC2F8DAFCE58C5C4060BAC1B2
-EEBAE9E56AED8725DEBA7CE23DF18E1A52A5B87F39EF416565DA17A5BB6566A8129CFD77
-D3DA3E3583E6F59EAA14F7788C06D3492FC84F7C6BDA74C9FA885EBB7125E87760A1E848
-E9CAA638A813D6EBE8EA2A3E9ABA7DC8C392A066331D9EACDE6C6819AE12A85B096CBFE5
-29BA283C2CB73FC34472C5289914EF347AC8119139A3E6F0CFFB5772D5AB65B276C171EE
-D565CF9B1E629AF962BBB00CD86FED8DCA3DA0BDE9ACB286C516114BDC1AE1AC41DD8453
-795253786205499EF2E971F3DFC51C72AC5225EF4E0D9DEA403F24002591D9F55276CC38
-0DCCFBEB33F7733A1DACEBF1AF33D55029C44364284F6CDC12ED12BBE809666607771634
-90828A6F10683FAC8C3C4DDF38A0CFD1D1FEDAFB7100FD9C02AC8796C7B3B2793D11C107
-DF10D22D9C294A3AD3897431EE593AB265D97450A6B2DC4917ADBF04B04F32F5802EE354
-4D3A95CDDE623A423213D0063B79F8F40EECC82F3C5985CD12B0A46F5AB9DD5175A9F3DA
-06E40950ECD37DE39B5EA6205D9427EF43D5B0D090A62B669E437D0C31B6A03850EA8BCE
-5D2D48C25EDA80913821DEE94881348DF1726A7D61ACD9520267B5C668F46B1660E87E27
-658B7D3C2F1C06ED70D97AB144D22A4CFF4A54D73F703A5AAFCB5AE2C7C5B33CAE3F0BD3
-29600C9BF8BAA060ACD3C4D5A72851A2A18AF29212B1E070EEFC452048CF312134436B5C
-E91FBD2E526CF0A35F42C1D8092DA30270EFF9577ED231B303B472670B458C6B53B1C766
-09159D861584F0901E7C8DED964E9ADB0B424092B4B50C490BC8DF607EB9345C7AA94CEA
-F430F8DD439472CBEBE11C26F9D7C7C5F8F04F6D3D97043E282CC848A1BFC73C095841C0
-ED64E7449BF4CD53A64F0B932C45B0770D6D18CCA6147E9F992A93275AC93D1B3B0F02B1
-9F117034AEA1F3F0F77D482A3DD8D5B2F69122E5B08C067D39A1C25D042D1EF4F47377AB
-CE1C38418BD39E7400F10247FA13291E34BA3CE681CDBD28F3F14EEC90A21C76806DA1CB
-25AB9B96031D1A472C1146004C4DF21E61E07087A8DB5C33DCEA85EBDE4587FB2FBCDC2C
-5C6B92E61C72B067EB5F07233162AFD24FE6A2A9D0BD11F401610D5C5F91E46D36B2401D
-A81BA2716D4AEDA19136E58A14F5A367942B70DED7DB1E0703609FB97F8C72C062934495
-DE54A6C45EE6C8B5F368F2817ACD4A10F14A846C1FF578084779649C4BD01D9CBA1E88E0
-1DB953307EE9BF10E6C17B020FCEEF709840DF73B4CE45D4C2583CF4B357C33DE67C8CFE
-8FFE367E89759117EF10E08899F466D342E75083CAD4795950C026505BA8CDE648FEC333
-BC5842ABEDC3CFCD3B27E707D6EAC3D54FE7B9C964E28AE0FFC96A06802C5A8327FC2CBD
-DBA565FE970FFE18008C9DAD42EA99FF7BCD0656362AFF37432A182C59988B0BF458C370
-725CF7D7F864747CDEFA9688FF6D2CDCB49052F349F9BAC9F8261B5FF65BCD2E531BA32F
-7FD7D3F0E3042811B345E8676907FE71D4FA94437A3A42872285F010D909D468462942BA
-696325E79D943D0E44992A20EA118ACF9CA5F1B20E52719854476111D6479B3842A9CEF7
-749437F57055B19C5FD6993F5737E8555B19161FEF7F3560C6FC498EE8148B6327EC40EF
-7CABBF6B7A99D14A789F6F5431BA4714CDA494E29542EDDBB4A250ACAFB9802B6A3D8FE2
-1CAB7FA79D9682C1B1752DD2E671ED5E4574BFF967156A503753B65075653471F29E06BF
-7342AB3284E9EAC6F14232F32C3B0266416738EB5A138DC33DB2FA3A74E649532B4BA7A9
-AD51E0278FE837ED68A9A5E40AA236314885AEC0DE2BB1811BCC18F0A75CBEF875D886AD
-55A873B8D3FC81BA69DA0C68778CFC5F02C17A851EBACDCFC9A0682D514144CF47382163
-6B1A61CCD572575E6A81671DDAF8C442E4268041F8E03398A9EE0F63B352839BFC4D4720
-0F86CB77549091DAE5FEE2CEFB21F4B987496FB8F993E3CC18EA9CF06442403830E06738
-20BBF3E4690163AECDCF693BEACC77B5591FCE1D2DC11621BE67F9C439F7864BCF981F3B
-8A9CC1F21424AB86102448FE45A42993737F7C09275C627CD601906B75CC9370AD491B59
-2777DD8683ACC7CC961D6CABAB46A2AA65D8FDA3E66DC5C75ECECD209FFBBB76263E036B
-8F62EAD1B802D3662A23A28079CB47ABA48799F3DB0D7E46710675B2C434513E997D189E
-0A9661186D9D623D5B47BB377E4B0CE197D80E9AEE04E55059C6292C52E00D0AD892FE67
-600AFA285DC92263DC1F15EEBCA803647789D4D420FFB53C0CE4A669B4B963D5F2FA6FFC
-3B28AABD6D97AA2F92EA3FF8EDE7AB264CEB19062030F43D8438DA703B68D2615928E4F7
-9687B03BAD9F3447ADD3090BBE186FFD3E42CBA236104DD1D9A8E9357CAD999E889D313B
-262A4232C5926869139EF1165172932601BA4CB406177E25E6150605DB931A70870F5BA5
-1DAB4D15D500B261F9D708174568422C714F30B696095757C66F7D2E6A5CFD146D90F21F
-27F62393B532583B49558C8C6124F2F428794133E093D4FE09805FB2F18BED35D12CA321
-B79B0369E46FE3191F47B07D234866AD7EA52C50F4C0562597AD1F7D186060BE2339C324
-F154C2EDF64C7A40E8419E7542B8CA143E172E3C62471AC1F42342051B3FEA08368A31D2
-56A7D51FAE801A420FA30E5D479283A21B50AF52C6BB4196433D933FAEBE36EC577C59A9
-BF52F260443A622B637FD4F6BFD330F8DAE7E4374E16B8E98BE92E3404CA22763671CE0D
-276981334084462B06763958C81E7D85C76223546F3ADA094E5597AC68967D96CD9E76B5
-0518144684C71739C488751FFFD3B9859E23DFAEBC15A0AAD8417416CD5B47656E8BA799
-BB2ADFA07B90E634895108D5F97BAB5B560F0608C1239F49967B34941B908AA695840FE8
-4519FA60763EF706ABAF2E0C7D407E5DF05807FCDACB17685226D6B5070522D4A6AAC8B8
-77891A1390386A074745E5F4875F625E9BBED05B54D04EB6A6D8352E7E4E47FB7EF432C0
-808D0C139EF7EF5220838D1CFA3A839B10B772D8F2A197E8FCD7EDFAB65B7234A7E1C0CE
-D75C3120A58706A26004C2218744B095AF45009AD3036AEE08068311B20974C4A95C8CCD
-4EC20B2B8B8EC4F2D6F9281968EB51ED0E377E3BEA2481810C3B0B289AE6A3EF50339AC3
-B7F06050B7705C260D942DFE3B104C13728A2140F9E137AE5E476FA67245FC92F1DFD28A
-81CDE2EDB4978F971F668664658A674999A62287F74C8BCDF0C306C20FCE35EB1BB7318F
-9D7BC39F215535A9796A7AE7D117A273DD5F1B0F5FC5F87863A817993C96CC2CC0FE3504
-44698065A0654D045BE4FAA60A218D260FB013868B18AD6DF01B793D298F0CE041671E71
-81893BB81310462FD1906C5F8137FF46937B206588D2715297D008E6AFB90DB28E3D64DE
-73EFC4A6DDE7466A3D1BB402FC04AA80DF2BC39AFD30207230828FABCECFBED8E11598AD
-CA43FE742EA8D1BA8CEBE4449495398E5DE432B8218E02A5340C854455069082EC8AA449
-63A13C0069F468BFC1D3D75D4458383E04268297EFAED1D02B91AE933DECE8DC3337DC99
-D7AD1DC4B999A3AD5E8953C7820BBE425470B21BB61ED6007F236467503327FF73979677
-918B34DBEBC181DB99526586BB6E9889DD810A0CA022C62FCA58F2D4D738A74BA24E2FA8
-29B80401DCB36889A4CA08B77377DEB0C4172DAE920E318DCE78DA14ABDB77EECFA5A1A2
-6FF51D6569AF1218C4256D4B4D206ABBFB1D2C7AC2102815EABF306CDE0615FBA775B5E3
-446A2095C406CC1BFC1BF4A53E65FFF0ED565B45AD332505AFE0F91C8569897834C06194
-6C745ED6618A60065F6E3B3B49A61BF3265F3BB1FCF8A25F4880DC771ABCE6BD03B48C77
-83BDC1CE678E423ADEFE9AB04D40097D8DB062DA0A248D1C81AC57FBCE032B232C6FD553
-8AC5AE7983412BC80D23EB71E4DC3B946FBFC4B98C4250BF8D57CC55D929B55C354A3F9D
-1C5329F36B06CC099C2201E7FA501F75CC7D5579FFAF9F9C63C6DFEDE80B5387117EDB49
-9D3F1C72D650FC120FDFC8E42479469DBCD81AB244C316963CD6EA1C34DA43400C5A2B7F
-E9F0B71EC4EA67255AAF6A2F49982441962CA30DCCDE6F7894520FD2B811619713D91DED
-5D1FBCBB42B1368E7F8F4B8438C515B4661879D353096F880AE278905424DBE523DB7B41
-A5867878E478B85960607BD1C129E85249CA520BDAA479CFFCDA162E46DDE5EF6BED9684
-31F3289735FA2891C13C0C341159905F43BFA6412B6ACF04C2A11B87AD4B41A35385AB66
-68CF890B1E9A43598F03AE5A833A932E5C5A70E498C405CC56BD0BF1074EF1431980F575
-67D7C62291703308B41C4B94A99DB6F6F1F924E791025D5E2F56F3A0B60903FC0CC0B2DA
-8CC5785C6FB239ABB091B7718A9BA16D5A33083289E8347CB56172FF037F6FE1A9F7EF4D
-5D68E23A9A3B9F63C2045AE2B1758489AFBABE23DC1FB610B37DC573D2C0AAF544ACC904
-B69C7775244B1ADB77B51727FC66D02637CF2E9C596A05AB6BEB23295A093AA90DC3C3E8
-F17CEBB44AD7A8BFA8898D6BDA4F84DCA2A30FB5F0D151D8F6666690BC71002F31AF05EF
-E033513CE82E8639B45CD235F24CDB7C7C3576149CE989FECDE2F51FC835CA9A023D889B
-F6DAA3DB5A8AC49DEFF48266333B5B01130F954242A7D5A369CFE937D3AF1C4F2C64051E
-59FC2AAA3871EA827C5B74C70C259FD4DC5DE81E2970519C433F1331D1D08F5DB9BBC9EE
-80D1B7972C7F1514F7116E25DF3E382785504969CC0AB8DEF43F5F45676B2090DE9A775C
-04B5A4613D38FA586F05753CC38A684BF33D2991F909CFE097F97696CA2C59CC20A6D89F
-4710B1EF765EDC4D5A0B7BDD33D8E818D97C9A19848903D1684436488AA7E204F577BA24
-F1D1E0D39ACE2DCB56550281BB24BB686F605B7146660EBB47F8E329EA27F94319D795A3
-71D2D04F6B3DBC4A61D4A7A6B748A60B5D8F3586FF31AC143FB706770E4DAC9A6741EE88
-79870FD251625EE5E77853F6C5D2F621C26757FE64857FE4D0502F84C14825D9BEDAD55A
-35C640D9999543CFA0467165E5AA8E50699A1C13589A862BD656A22A50EB6F479D5C79F4
-585212673DC2BA0DA86109FFA40F5FFA1F660F8C055D2E9B9668B2966DCDACF5F189D835
-C029F51B85111D9D48F507AE75A7BA53CA97B39A5287CA4709DBEB723E6D68BFCA745FCF
-7DEA768DB0FE6140198D62E880E49E2997AB132521C94D259CFFAC9036B0F2C2E15E22AA
-6151E9D4737FD36B9676450E6F7C9E7531FD2F4F307D6D548F37A3DCE2CA5A811EC19778
-12B37C5722AFE78E1425C2C1C06461C1508818C9536FC9117951719B8D431551B4793C81
-CA6938CB75BF746C247A9F48354B0A4BDFB2D6DF3E305218173503195BBBBDDA322153A8
-2085F0FB5ED657637791A4A7E1C1B23CE0F8AFA1ECAE76A3FBB3E6B7A2BDA2E2252B2E43
-4413F7B626AB00CB381737A2BC0837E33C3E25C63852B841E70722F7ECF6238890D63CCD
-2C93F7A2CEF10AA710AFD333322F4907E87A12DEF07F5C7BE344E73CF12CB388BB6F049C
-D9713EBD215989CEEA7473C00E40F79CC0038762139D9FE2B2BBB290C51A3B4B9090D039
-C22B1A620DC1C3128C0EAFF4C62A29AF0338C65B6730BDB7D5A6A7261C04816B7D11463A
-935AA0D33802EC148CB8E7DF6B8FD0FB064BDEABD0DFC3AD5A80CDAE645B7FBBC59359EB
-A0D70699CCB53887530C3AC4E796DDA9AA05F36CC0A6D0C2F616E761CDB1ECEC164974B5
-0C0D38697DF56BD7F7F1772771054F18E3F5EDEBCE00939E70A43766D0E99EADFEE152A2
-FEACA0BD0BDFEAD28E3437753ED58E345FC0D6F4E395667411D4246C460DA5D3BF2F5374
-EAEAE1DF1A76A592C4957BB9C4D406257388DE96591969B30D10DED2C5B647B66CC0BCF6
-146FEF353A20A3A2E40C1A7B7964033816D6A544399965E9C17FC44C524268B0228E209D
-2276C1071535597E57EC3D9C4D8328CA914F54536B1F63C89325D6B26DAB4A5B1FB8260C
-241331D1B55C91406537C5323ADD2E3CDDDC9E199CE067262690BFDCB5184E25795251EE
-181E745001ADEAEE0A9442D57002D48D6B53E693C37E0BC64ADA28301235E9799D9D0AAA
-B4A23F6D8B4EAA5AD3B6B40618330441F6A24E44B160715740198B551C2883CB17FAFFD0
-3B4CE68ACBE3F6B33E29987B5258C1F7DFB87DB89735F05AE7966FF1F2B6546AF2A56918
-3687B6DC7B1AD435DA0209B0AE7CA01A3A3359291B1435C0BF04BDBE2B8778E4EBEE35D3
-17EB5CC7A3F7C5B7743AE69B16A6B9C89491D121617C20CBFA52E93274E6BBC8C0E9924A
-002CBDD7922F3437560E3747B93775FA549457CDCB2A9943AD403BF8AF05EB1CA0EE347E
-E832C6A17A3A53EDD50EF553A0E8D6723D3DAACEB6F81CBDB5B78A5B207A98183C3650BE
-A88F82AF734CE32FFB1118E54FBCBFA2C2705D65FD4A1B3A3734F188078A7B09738C3EE3
-A12FCE8B7221C3041224D324AD3C514EEE792E3D47B1E8DA34AC3E577163E7AAD2C85170
-7D630EDFF8403AA2720B09218E0013FACA789243FD76719860373949951B1907097E01F7
-2840CC3089FBF9A86B01E6E5A882444A3D167A302AEFFD3AA9463A68C7922104E365FEDB
-9BE61D5EC0A3AC5722F2BCC5101BABC86333955964509096B6799F286BEE15441C3DCD84
-A846B35D0B027C48DDCBE123DD9D2DD6A4808F0B3F98BD4BE29E1001905D8606390EEB35
-396A3A981529655D67FF0539BD3E1FF2FABBA0D4393CA781FDE2864DA5D2A0FA6F78063C
-03CA44F27436C3421683D242EF3952B8707863F6DE2E3C94ACFA9FC60EAF7C8D09BE2D27
-BAEAD24C01748E1EC790EF22AF24F1F7BF0AA1FACDFB5C8E0A9B3A1E9E53047E4E791D7B
-9DBC38B9EE8EB0E5CAF79C84E81897A4B202C6A3F22438D9B043D982F605E5C73CB01CE9
-56E9DA66D7BB53F38BC43DD2962D6589AA47BA3E0AD6BB8E0557127CF8F6F83AAAA3597A
-8B57BBCDEEB2223AA2EB36BC84C7BF53F3B7D9C221FE76629512D04EC454D92060750F55
-0E76BCBBFBF9566266A8D033931774C37CDBE5FA71FB43137E5592DD67945201E1D10467
-A3BC5C273DE16E64035C39E4A36D7AA7F4E8389A1FDBF891B00613396194EFDC5B77A9D0
-9AF9C1A4EAE52C87A096FDFF8699EB01E9EFD3F786A7D45AAF8D9D33B934CDFD85C495F2
-09009C628EE54F19A9F02CE631DDC692C3C56D2FF00B8F277A18D1F38A63C394C717A0A9
-0B01AD75390D853D63D0E0678C35022369BC8C985C8229C98CE6BFE1C40770461A5E26C7
-7A7AAB035D6AAA9B0394021020797E627E2E7D17B39FD2E7AC6FEB917A148FB996911869
-49A036A0E5B85D8BCC59570E4C689F2E802262ED26A13C18A57F99A74DA94491C5727246
-D3FA45A7964F212454E119A32738582CD4F5899ED604F76F0327CC1E5746A86CDADA7F97
-E11EBB6524AF8107F3A8F0B8E5F887B799DCF9F9481859EC4E5FF63AF0C294C2AF716EB1
-3EC7DCFB796E3CE4B4CDA1DD15186CDE479CE4EECD1FB27F5A05B69FBDF436EF246E8BD1
-A03FCEA5FB213D81F80D6ED7960896101E046D1101A7522F31AD1BF6C08C5ED8F6574F48
-2B6FFEBF34A2A157567F1B82BCE3A46C14A168B0F4658055BBBA2E9C29A4DF42764F95CE
-0EE9645C6E0BFF33CBBF3436F7A4FAB4B2A5055FF1DCEC075431A99670E03248CBCAED63
-4457D0EFC6565472A356B1169775BF5156DDF85E03688FE2AA31A158A65A1D9AA4489CC5
-6FDA78AB85C35C42B1754180577244C5343C21E222DA72B8BFA097BB860E9F834B62AF9D
-D50481FC4B1B9861A1C2A9F340237C949FF030096DC29FEB028A00A5AEE8507AA290848B
-714C13145AB3F4EA42C8EBBE4A3CC737C487D0DA0CE29BEFBEEE34F5CBE03DC91E5E2053
-F114C70CBE94DEA1653A26DD4CD332F62AB71115DADB2C6B3339878B9997AC3AB5F5ADD4
-9F432AC706A5256DCC4592C30DF40C5C47A2FDC72851FBB0E4EEFDA227B72EAEA758DEA2
-341344315496A6F22D42FFC55B4E90821C251F0D8B5FD3E0802D04E10DCC31E5024D330B
-25AD95CE31981E90BFECB17E786A10ABF9A19220DB82744A43BF5B4DE0FD8C54171EA498
-AD14E0972D6EA90B5CB9846354C855E2E13B369BCACBF8F1852CE60227AB27CC84B9D326
-68E851BCE4086558BA8106D9249C3785F3C59E43827307C87C72033501ED888E32325158
-879454289A07888F09EC7EF1D6F55B92363BC740E170085C4D16547007A66B6F0E1FDB4A
-4FDE032A497377F8B309B5803CB7B450A246A0CAFDB2F8CEE254EC5F6BC7C1EA38BFDD79
-268969FE9DEB9FD896E40E479222BD480EA1AD9E5E0EF7780D3E48D62219E5518499D46E
-DE92464609DCDD07B5C948792B71F1854C114259463E839A2DE74A11A7FD114EDE9329D9
-F1EE8BE5463AF8A04943BF77CF68B0F3CA2571D4BDC19B980F8919AFF6EC80758056F93C
-76758F0AB6313052355085DF8F0BD62C7380AA3D32102F48F4F84C153295AB27F3F55694
-E3C6339B3E34166DB450373B9F326A1E108ECD95B0887A4CB8C54A811B398C0B37289C81
-676CD8D528C75437BB2DA5C83C0FCDA94588BD785E4F800E87FDE1F277AFBC3ED0C5680B
-27DC483446A828114CC9B239D8D1C2D920CF149B097F9A78E35C0BAFA1B0AAE5730BA067
-B142087578ECDED1DD73E8541BACE5FB813E14483193467EF8585682295816C4E29E197E
-ED404E94340398A95A470A9E06BAB7BE0F5FB22338A833F9157594C5030639AE0E69894D
-49098CA950C39937BF17194797AAAB7E076A2087467A2D29683142D84B0810F1C603A95B
-3A81C3225003834CC446ED0944654805AAA164B088489DE9F71701AF4DA42C675388EA82
-CB8368EB21003C19AA278FC474731F2D74A008F24792F651F110E23EFCAC719E2E9C0481
-10968EB515AC09006E062EBDCECDB6D93772EAB20D7C105DB828A891F2711DB786B575ED
-484349390AB27A3A767D8092B7585C8CF32F5FDF2B9D78A27FB8E05C4C25D970602ACA43
-31FC692DC5C7F7C0FC5669DD8B150D7A4EB22218DFAA75E79263D106AE84AA8B573B722F
-BAF6D7F79097AE4007A3E519C107AD00F63069BCA7314000DFF2B06E4A9DC82FD10B27FA
-16775E13913364DA3020F7CDF748CFCEBB7117CC4251031F6795F4289C4A63088E985927
-B971471069135C4DC3BE1FC3912B02F933F26F72297FCBA9F21820493FB49A1A862991E6
-948A274C9C5954AA6BA752D4B4096C953E92D916369F9AD0DA5055521E3420ACAA45D436
-6D061135613BD328630FEDA1634FFCD8E2F23097218C2449520D986694B882081A791CB1
-78925494D19A7EC770AABFB956E69DAFCA7C72698AEB9DA304765F3D9E351022F02B0C37
-9E8897E597144B416A008212A0780DDFB9FC1D89063A05D216AFED272F8836E5356A8BCA
-818D7F491044995DBB9574BFA5B9E346409B9C4F768B59F654E9D607F3D5A078F1F5C0DA
-6EAA9123F369B3341B40BCBEF1EFD9D56DD82A15B550E105F03100B18C7647702879FE4C
-7D61243D5688B2979BF250CB1E594B1A2B9212EB957DBD3D41C0029A06C9BBC302F6E969
-4E998A090296411D7871E35D9B367C1191A3F9A638BDE0784508A7B4475F768C24BCAB2B
-AB375DA779894022D09EFC62788289D9E72B74F7C52F2AB389038D4BDD244E1CC79B01DF
-79E905BF50CFF6A5C06E68FD894BB1CB7E513B33F34400DC38EF8EF6E39268635F66CF70
-D5EF4EBE5D4F36430233785252376CE73CC9E6F83BEF01F6D1C5AAECB6848CA50996581D
-E069F69083ACF3090F29844580712073716A36392BB2FC1049EAA0E114976B098A344B66
-E0CCBDCE847B2D3B620DFFEF1ED2FC8FEB76D1766F76F3855F2C2DE7CF10F4DD4664B006
-2262CA279472C2FC0882A8F0B5A4DAE04D4293FA7E08D7639B3D7FCAEA1124A261BEA0C7
-560C6C52E61802C8502C66D4896EB0D8964E0ADE75283048DD0A1E243690D989A49FF16B
-33740C7A49B820032167807CF695F91C55C0BA6D6AE7FC7368885C674B8BF30931870677
-03A60AD58F42F6766DBE60A74B2C2E7CBCE56EE68DD0D269FDF5765AA414157BC63F5CB9
-123E0532224DEDFEA2E668F3875AE4C5260F93398EF86BD5867E0E18B497FD85C4FF4A4A
-3AADF54256544BCD7811B58134BFC41026132D8D30BF6903C2940157AF0568C9B6BB3009
-7577212F65BDEF06FF06760E38BD32AF61BCFA7E2324D68AB590F2E45A9761124928F6C5
-64BDDB6B51180CBF141F48EF9FF6DAAAFF2E379A2CCE80EC839A2EDB91827F9D1BA0AE40
-FD36DBA0E8ABCE564309F7DDAD96A5C7D87212F8D586F013ED189D6850322E4670CE2D07
-18CB688DAFCF1961FB0F4AFDA71382DE9CD976FC29B4CEBADDF073774D9B8AE9F2374C04
-F704860ACB17F8A16B4051EDBDA362CED1BE1BFD0700524188278DC8D6B22E0D585F26A7
-C4447076AE0998A76AECEB8454959F30BF5A4BEF1495D6549392AE39D97388B5AB14612A
-D6472A6B625134E17B540AC0D514C1239ECCAE5C75C9F7ECFDDDF66320D00052D874E6AB
-792FB1CF5F37BE8F34A14CFAF642917406C3C519EF56C92114E706BCA38731B52D68B9E1
-61BDADBD17A62D1074CBED9FC77F5558CD4970878E0349536745C3DDC0E6BB4CE878B2DF
-361B4DCDC5FDEBE160168F4D0DC81436B008714A2EA3BB569961F07BCDAE095A44F578AE
-6D0E6B5DC7CDD38FCC37177DF292411C89B4B64612C82029570C5A7B9B55F38E063BD3FD
-E00421B42FA18751B624D59495604A52A0DE27FEBBF7689E0DEA085841050DEFB7C9FA52
-D3515731A1BD61D4BF5E82841B221EF88D921E1EFF65F731948CA481E500A46E84487BE4
-E3F9DAC68918F117B77A2B5B68181C914FB764CC5876D2A42CFE47F045F72E5E443B4921
-D0D63323C748984F622F00F63C886F404C671119FEC90A598084F85B4866A5C79E987C5D
-BE5458A2A0FBCE0BA6ECB7433F9D75142DE04FBA357042FA9793BC9803E78E573A14E140
-BAE5E044DFB28D9BF672461BB3A3E50E1BFC83EDFC49A962DEA01047208F49C4CEC837A9
-D2318E35301D2B18DF1E8D828B58FCE8D5F1450E4CCF92BE5CA2B30516A4E585D6C83BF2
-80C7442A4F942584BCAF4C2CB5C2F56170817BF0535EBA87C75BDAA0190710A7E2D4029E
-CC54559EE6424E26F0FF8E1C2D3D012B3FAC397B1A446918F1D299A19B7A28C4D7F146F0
-CA4E29B96D275B54C16B1AC37FAF498462C7BA8D2C11291175FD05A5B3E08290EED58ACF
-680DB2202F229D7A69F982E644285FD1FAF320A0C88E35BEC245D249AFBCF6CAD552423B
-EA2AB070F314FB9B3EE02ACDE1FFA602D19E1805F27D1AFCD58D6D227EA765E6630149C9
-59ABDC3067CC97A797C555FDC59B9E4DE3B0681898C970609B1B6B15A15A65EEE2DEECE7
-2BEFB1E2C7A2BE2B3FF19B2CCAE4937DA4B593A60FBE0E0DF3925043E677D44B5FF7B42F
-73EB65150EC0533B294B675BD7D5CC6A7BB6A4F043FDF87940F8A8CD366BFC008273CDE7
-72EC15D7367371283EE5BC26CD6D46CE665661E16C691727CAB0833942367DE588BBF434
-06F4DD67988AD1C0D5C3D24DA8A833021F65E4E4393959434E03CCBBCC98699A8B1550E9
-C3192D3D3755F81C51E6CCF4C4E6575D9D4EA77261B987C8FC8CF67035D281D76041F70C
-2B2FDC8FCD2719A93FBEEEDF54685031ED2E960D2CCF2B5DB0840B2554B1723A703C41CA
-1E6169F96A1050CBA7A1554FF8A6D7E4BAB0B549664DB9B808FE7C5EA9ABA7B071E71125
-54D021BFF7345D1295333E876E28E14F2274CA0E5E4F3838B775890CC30909661D5B86CC
-4F681967BC8B5B9169C6D8F1B30ACB914E1140C6A5AC5B6855EE83BF9F8C5AC875D93BA4
-1C62B9D44917BD3B46F65B23FA3044FE5A6F812DF1E77139253576ABA80A57B38D315E82
-CE42DBB3BEFA62E400A194B5F59DCBFE915D3B5DC010B4DB140127BBF0195434F5A43957
-881974EAA69CCEB2E588DA124EC3F7CD00F6BB81AC494088F061065C204A851B8890A5F4
-EBE9D680DEC34FC853FBC85E20E3D9DDA86549FE11396BE73B2978AA8A4C80BA94788D8E
-D03D48C88C9E047CAB868D7DB3837EFD41267AFDF4808944506ED385295788CFBCBD89A9
-8DD84168F808E49BD346874FB281AC70FB138E100D914093C582E7C85F5EB6243A941DF8
-253B06BD01E8F75C693123BC20D17307B8E8839CDC5CD180FBBFAFFF702E0E9F6077237C
-F81EBE9737C296BD5180F40EB79A41BDEB37FB0FCBE238F1B86F45D8F25B39FD7DD4DE88
-4F1D9659A27AA3F25CE066D8D84FC09932B8B2D3BC89941CADBA33F7AA87ADC13453C674
-E8AF9CF633ACC730085EC2A843949B9E5BED6AC3ACAEE21D620495A0DC04260AE555D15B
-59143C29566D3331B26DD93469C682409BE8D37BC93424E115F7DCDC95EECD57953BBD28
-974F249FC98A73A384260A0568A69B382886A9AB09B6215E463319F8736865F700134E65
-1D78B9C819501DC01CE5C55A2D58F12D74988AF124CC6C7E213520C940F6F8CB4CDCA9A9
-DD2B569D06A967208EC37AD2F0BFBA7AB7DFE87AD7A5AF4B6E77E2C8F90C9A97D7EC58FD
-2D7ADB97CB6AB5189AB4E5C29A1044887CBF775E09348A2FF946E9D7FAB0A13D7405937A
-EA98600DF50B8FDB161DF14D091B58E925BF12EF3176F3EC504E1E75FB868CC46146389C
-23DBFE0F908356283136F4A2A3AF2C197997302BB3E545907C3295AC0FD06D2069D602DD
-052BFBEE41D7C926B303D4C1CB548EC9537A0F5FB5C31899FD160BD9EC390F2E0F6575AA
-032A78BFB98714D731B0804898F148ADF072B3E714009932FC8ADB363B18B2B15627D3DB
-B20DE94FE90B2CF68F85D7961E9035DE17AA5505254D50704903F28EF414D3CA13077AE5
-A0BEAF8F5E11FEF25C8484A34A1C39FA1E8CE92F42BEB83158BF26EB1944E6213E5B1531
-C7065B2F1449D3D444855727E691A501BE62F659322006FF9A22A5288260A785611791A4
-56E6915D344495E82303F067471E323B888A61ECFCEF90676C5F490A9DD6B6803C5789FC
-A7B0B7A1C7EA4BDEF4463CD5304C626E8D714619CBDD4C4EAE61EA1D2386642DD4DC77CF
-3351FA6ACEB1ECD55CE4308DFE9A09763EA427021D90972F2B8711A98C246FB448FB3FEB
-9887A101F53321CE647B3B9CD077A31915269E6D049E48305F3B2E84351FA7C2394520FA
-BD5EC8CDF9EFAA99573B1788E0C77FCA125F590C38939FDE67561BE1EB47575028ED1F4D
-27A7094B0500824F6FEF2710FCC5768F506616AEAE73807BE2ED2E0DD4C1A337993C9A62
-C7601418A586D038E886E1E22843C38A9F34845DF71AEC30726E9AD413A84081F1E31A53
-73D5CFDF816D8F6CCD90C2B438BBF715F0EDE86DC31341A0899CC6374C573FCF2AF67A47
-5371828212D9AA17F18FF25801F83D0AE19A4712E24C2C024A7505A2FB269EB3E7DDF59E
-7D95DAD916A5D35B7D16A82764DDBB3773CB0C6E3B1F2FDCC0553B26795C348B6C0DBFEA
-E7CA7B74D90257D8AF4F9D4F3C776D858CFD230781D2D6F28CEB29BF4EC4D413DB9B47DE
-E4B36F6CCE14C09A033D580D573C21B4A45DC172C0EA0DF41A0BD5CCCD6479166B30961E
-A2094DF2262D9E81465ED2C66BBF8B28CC4A25CB7C259BEE2C2F0991614D161B25D4635B
-C869B8008A2156BA56B48D6220DEBB6713A035003DEAA0160477F5BF7E336E90CCF67155
-0A55B6A015468E8A8FC8050C979178EBE2F7434E11E6A77E2F99A133F81FB87A75F42EC9
-AE9ED23A3DCB35312036CD819952BCA72525A39594C79C52568556C3A90E95C6E789A99B
-04348DFF652C9A178C5F88EE957D2D037FBCF584AB699B276AC228DB743B4C4548EB54EC
-38F6157163A870C35A4A7861ACC66118FD3EBAF43154C13A4FB8C52AFAF5F7FC67571D85
-F994E66BA3E8ADE5973138F61AFAC440C1EAD910FF8F79B11B73C697FF7D921266E48D51
-DA2FD0B438CCE7BFC1A1233FB8B5D812D8E18846B6401E9CB3A33C514693F19CC21A2500
-FCB0B0EF63EA74441BE9BB70477A63A641B639C54F93F4D4BB8E76D0E6F49D134FEC890A
-B6E118D754ECDB3FBAD7FD4493AD9415ED13C05A0FFD949F3363CD400C5E2B547F1CD6FF
-E503F2F4620579B69415F4BC356F943868F198B4243D250992B83BEBA3F07930F0F93366
-72AE171AD02B20606532EAA8F819AC8968430201EFF0FE42E8CAB1A10431FF0353827919
-847B2B20B0B60241ACD440C8917B4D0723D44A5FDBA7681E9541AB784B1A109473D3AAF2
-C035C27419CE30E5EE3C62F0EA884E4D4F164776DFF12D212629EA3AB2B103F000BE0A92
-298F4D73B79AF1929DF56280BAC6F03ED3F9DCFEF4B138F88758E14D4E90C95DBD9FFC40
-173E6F795689C812D24BB1791879326ABD3CD7FD2985FA950B73099AE1B86959E46C4709
-1278D31A41B159811140598A24861E34F2BF09ECE88BC36747DDD892AE3918C41A961D35
-28D8A8649E626FCDC9551E073855DBC34B57F6D198831CC189FE1C452FCAF8980998D621
-F31D2B9C7794DDC8B32FF3F8BE6934B03CE603020E7A37B51DB4E1FC33F625A8983B95C1
-853A1B1B4D4F4942562DB9A0FFAD4AD95A977DE81139687123317B757CE75ECDC8287609
-6D7797D50287BE38960290831474ACCE3F57676811A5DCEC78E91488C53167DA013E3797
-A9A8C05968C8888B2A55EF2032D66F6174B61CD24D0C62BC49250AE6D9B505371CB15160
-C591809EE7551D40D3CBF88D33F8A3A9412E6221D9E656D22083980999E405957E9D5A36
-64EF1F676EAAF5FA309D23C56C95541E7E51958358B436DC4CA542DF18398AB8E4D05FD2
-D24BC091DDD9F4F963A20791D88703056B5AAB84655B3739821EB288F1A1182F67154973
-AEE39C7E8CA894130CB0A9A811A1DE595BF12D04EA825F2A11A365CD1CA85D7C7F2DE801
-985F64094A9D168AE1F9CF287CE99031D0A1742DC08698572926219E0965501497C9D355
-6E9E32D23BD070BBBE905C512C864DCB8BD9E8AF46FF4CFDE9D86E8F34DECEDD99E8A745
-E72885340086FC17EBA499548D8C535CFAFB42D202DF4C91BF817BB786E577C7508CF99E
-A088D9B070F5A5201D23CD76C9DFF960F0A77EE8CC94FB5CDB8707F8A7420B7FC2AA40D0
-6E04F60C595DD66DD436A4E2BD606121E423E0177B17E73CDC168DDB7806294A1A2DC177
-87C4296B2BB174D55D9255EC44CF850A68DA75BE1B577E8DC80B715876712DF29CBFB81E
-80BE970CB01B9F8018C381EE021B57E01FD3A742CA387317883EB3F06FFA93E0473BDF27
-98D77D6B3A962CF9F42D181FB4AFE59DC053F2C059035649A646F22A927A4EFBA9E6D3A0
-2C7762AC72BC6827D49171F1F57C354FEE5E92E96A30156B8484BB3D9FE7A21B59008AB9
-9692940D35EDFC207A14D20D2FE364ED08F54A255D1F434B432F00C67863997266F64862
-D92AF31C3C7961692F6952157C8922AC8C8061E5CE8E4FE5E024C1324140354E9DC3A768
-B2092B0184FC1A46FAE459AFBC0069ED4C2CEE34ED7D756D65A7474B28FE5F56F6E69150
-6EA2272C75943E3CC9CE5FEB2346AA91136F5B306805EC51D6BC12E5D557F1F290E14CC6
-043CA5CD3D0EF095D4E62BF2068072ED630BF1451B8A35DB5783B6496DA31E98129FB96E
-02175D288D2854C505E2403AC9AE94145AF6D327270DB865EFF70867894567B87FF7E5D0
-16848740741342E871BBD632ECF7673E1C3ED00255BB34A67D709E16EA1E0BD24F6510CC
-C1097402E3994605B5CAD28A48DE6F37787A77488D8C62614F5FC3340E952066B61C9DE5
-1EAE3FBAD5D8B5AC64F8B261BBF06FC677A28EB58F4C8A08A136AF3FE387E24E6B100774
-24D077650EC787BC8498BE6D7A1DB54A690C768825ED63AC24E62E40D5CCB2AD05A2675B
-301C895800F08F936C7175F6BB3A5CBB86536D5EF41B111F3EBAD9769324DA1D88C4E835
-223D976FBE5B9DA39161F6F3A7BA02031BC20EE1143E1FA73599CD30CD43F0552510F0A3
-67E8E0963D12B74C429E15BE22C0AAC2717AAF021D437A784CCFA60E8BE2ECBCD962B1BB
-EC8CAD0439CDB73131D32363354CB9BBAE21B01A27830971D1D7B842E3145D5A400BAEE3
-76C639A3B5D2AD8D51B75F7FA86465DE401BB13FDE3407A093479B87B0E3B2BDF33E9569
-6501ABCD07786B1ECF72DA8083FA1D79873753B466A0423F1B504236B95C497F39F5D5A0
-0417B3D8AF9721E5F3B5ED2DFE47D9BD0930F4E9234F181CD24394891F7B554766BFEFE3
-CB4533E3D01DD656FBE2C170B82393C0F3BBCE9367C9D5735AF8317450C7F4B163CE95F2
-6F2F7DB25CD88EE9B01716DBF1FFDA7FF16D54EA39841BFD3EDAF3684D2298ED45C8486A
-F5014230F331FCFB320D28D5A1A17D02D5593538946C8669B346F4693FADAC663FC608C6
-E091F481E1C39749D26AA37062D7D94115152B214506B91617E829833AE67807905C70A6
-8412293287EEB2286A27DC7D7B9AF75FD4E32DAA4641EFFA2A79A04DA0EFF958F411890C
-A50246E5A1F53315ACE19B22C9C14B897272237374BDA4221E3FD18A7D4E26A09DE3D246
-D604FA90092F188E4D2C6C0144E6D49DE9BC8ED4561B9CD8EE8D308EAD97B6150056AC9B
-9551CDC472A642A9DA02BAC20EC5B57698D68ABD0ABF1B0FB5231479D72CF429C39DB34E
-A75AB17BA21AB31E9DE9E2584C2EEA8BDCA322F0D03291CEFFF011843BD70C43F49551B9
-B10DA24AFC0B79A87B6F493EF73E690A4A705DC8CDE5E2602EC6E99168357A69816EA5A4
-5945A242CC85BF5E7B665DB8276C11483E879A1F9A59E4FC8D6B700519ADD96909BC3EB0
-DDABA0BA75AE8809B6B802FA830E63583622109614A63B928AFE297D434A33BD0A12ED89
-0C15CAD72DBFA7EB5F30B12077EF47A6EC309ED1009141176F7932955588C053DF307C96
-B719564855ACC024859429DCF8DDFB3F7ADE1BD65C9B6A97BF5A56FAE58F41BE9ACC6AAA
-B0356F58900CF66FBAB2E2439C031103D8600FCCB20D209DD510DFE90716F654C539D349
-99130FA43BABF53F8AE298F10CB073B797AA50E00FE9F88D9337CAC4DBB0FE101C28283E
-6D4DB8FAE80B4A998525F647E7023AC5B9BAC987D5A9233541214BF0DCCE6C524BC1C56A
-ED18B4F76F8010AEB8E1024082D22AB60BD9F338AF6228A09E7DFA8438F2ACC066D2CCD8
-853062A5818DA00F1747B6BAB166F40D7639DE8CA985C2808B0010608FC7923C7771F728
-FDAFB1F118E2640C2C42301C465F40817C13E20448F16AC7D42E39FBE359F744C12DC67E
-99A4B92D9691E1F6D2096F11FE4F017A4C2B22E4C550DD25E3E31E8531CE8DE879451600
-4C9236E36E8009F5706C8BEE72F007538DA5918999B97C386DD6D62F7B433DD99B74B490
-263C2AA2D059D2DE95CC604A5442116DAE3264568FFE88A9B1E4801052084DC11101EB03
-E514E220E7BA851FDB7B5C8CF635B2496FF38CE6DAA23FEFE02C25B520473E5E07EB9354
-EC2CB7A7A75FEE158D51A7CBE8EC36DFCD038BC52E9FA6483A5F4815C132B2C40544B08D
-8C8A80B1916609636C2B53FE27E2B4715852A6F035C139F9EFA33ABBA2550B8CEB8F9C0B
-EF80BF543D1745FA88347997D01BEE8A8E2FD52FC40D3BFD3D438FCFA1CC5B4082ADB51A
-5EBE54EE1C95DDAF8E5FF6FCC98C3336A292A0FA05CB5B48C122D6A3330898979AAD071A
-4BAC19B03B03CBA077252506F8E68EBF004B962BB85B15A87FE5497E8F2E208117834E48
-62EBA7AEFBA9A8997F71142BD6F6550F3BB358738B182A9CDD411159DA92B0B3E49E4226
-627A196036ABEED57F176C72B30AE16C1C01B330577FE8FB0C0F7E09BF821BFB4F056A8C
-B52D5797C0FA48A9625292440F76387FFF46837A2445688696830AF32EACB2B6096367EB
-A8C8C42341D2F3EB5D5190D9F7241FB1EC16DF0D6D40FABACD1D7E99EEF4AD6118696165
-3354A8DE539F92DD3426A196A7DC33F92B170D57E48AA80902D9F31AC582A4B569D15C86
-A8E6FC94D75970BC6BCDF2C77318B1DBCC7E398B48FAC8D2E392E93CC37F0BE6186DD645
-EB077151C6F58EE8203B697010EFCA123FA904A4EA80388FFD88C126AF7F6656E66B5417
-8134B77DB4E0797C9213483E787939113C39215FB9F5B3B141512D962C500863C2F362C2
-3B73E9AB89571A003E413435A02FA3569228CC6C0D5EDED34373FC7EBDA1200537C1B72E
-9FAEC2E74E5E6C3E13CEF1B8F332E7CE6CBDC4A17EB9CC265638AE57E28E34CE99CB44C4
-AF96FE97893390FF2583486F7D8B0B2D9B13A8DC0551E8AB85046C9E4091B6D5D5B193F8
-3EB3E2131A6EC9DCC9DE88F4B64E45AE7B5B6CF10D4F812C9C784BF65FD9E942951AD808
-FC9F010A0F45723593A354E578F8FEB67978485F40620C83EEF210B6678CF323437DDC88
-5436567D76EEF3A83448EA76A3306CDE9D5045FB2BCAC94A7A58B21C0166D5C4339566C4
-203535359326524E7AE47FD406959610B24FE98ACE978A82B5F644B112EF6A289C018244
-85AEF2D0C38178851D0D5A6612C861AB52B46597558EE8E588F95BC8D657B02AADE2AA25
-9BDDA214A736CB417F9564699D293A98C7A7615F47806B5424CD1FB7292AD1F2D7DF6837
-675AD97FDCFA6825F4E22A4C0930299B0CCF9BCC67806E4E6A8EEDF449D96634C19EAA00
-912240EADD63C8FB02A227B987A17964F5C867079495B383FAE560309FABE8BBA46C3F85
-E766A98E5B8A980DF3205AFEB8416B4610E6853409B658DE2A7A3C2C6A292FF33A46D9C0
-E34FABFD57E19C89A8F88D8C4798A96F4C8C3655808FF336C7DB56F52E0C6AC761DC0E0B
-39E33065A02A8812D91AD303F3DA2C1D61913C76F1D2DE272503B223ED71DF65A5168433
-A7BB3C3547A7E6A5A190F200992B73151BB9EE0D8D55F9AAB9D2E73677D3AD16D20D553A
-D7A7A1668B19F58E7BB9A5CF973A861645016DC2D07A39D5430D6D1644B88035B8575DDA
-D2DB0E6C040FAD93BD0B8486715821F2D47814EBC7EACE1A5CB5D3A2E19352EEE008F258
-6192627BD0B3033199DACE43803176F7A19946985CF975DD1BB313DC58DDB80A2671637F
-E89D6354DDE8F8825550F1F616DAFCE19CFA095A36BC49B8437C00DB2DFF9B82ED7226A8
-06020769A534706BD6180DDBEDEA953C98D639FBC8130732B42F0C512237F541ECD03603
-8EC9F5BEC45B45F87A324B60E13280A18A2F6F333C34CC254464F774DD53906B7FBC79C1
-CA8CABD58310D272CB49F4B3C83EF616A9743CE5C56BF52B00776EE469A45B18B8457CE9
-DEA7CD6378C87304224B578E213AD3D9E5FF6E642BEFBD59162DF73F0B631C8831132284
-39374839A1DBA4C4B4C4E30B7D411B5247F258F18A8723659A17A52F8194FD810318B32E
-19DC9B355C028E98A36545D65073D0F8F4DFF0F9637C6F599C2F883B10FADE5077B49257
-F16D0ABC0DDD9356F6B10FCB64D6B6ED9888E0312B092DC9D154CE76AC14D14DB564EF77
-0EB48216D431D21672D50AA13307610DA45B3AC8FA46EE7F61D0C643E53B65CC659E91A6
-71BF448EF3FAD8D18794B383523AE67CE1903510BBE2B2D5CC5D29F3DAFF71A54E582E22
-420D62CD7CC8A4E093207432EE4FD0FA3B2E72E5E4E62B450C557BFD0A83C540C1FE9E80
-C62D150ACC0CBCE73BE88F13D7E4D9A3791C806B38D12315C043CC022AC8CD3C61331345
-5D19B2036306F132C074043CBFED8F1C1F60C74F074708D3755A6F28628B31C0D8068669
-C8BB86C6412F32C8D6772CFCEA101D1ECC32AEEBDBE423A7DE28BE36D54D61CED5FABCF2
-F0E731800ABB9B10E413129331BC441F80A6617F9A5E551CB4BF74893227C7D9DF21DC11
-6C7E796F8ADEB43D2D223B4647DC5D53E65786C5A0DE8F3CD5BC6662B051291E36D47414
-F94D999AD31C1D6916EB723436B41A72844806C0A8D4BA41A04F1848DF180A3C3E27D8BC
-961FC8509CB3D4069B33C5E01F3C0B04D55AF2EC4CFC4DD7EEC9AC9426CC907DC70D9EC4
-E428D30D8B28A27EF202E3788C5D14B0AF13D750EB7A8C5C4E5141AB5A477BD660753B64
-EF5C871681283A0DA5AD98DB70A90D72BFDCA0E18450D3091EFAEBAD23EDECF3F016BCF3
-BFBF286FD52B5D38D3D02E8161F8485D3B9B78C485A196C5CA052DFF546E4CAAAA9F9F8D
-925E6F4D842B599E1A482C92F8CC86789F192987C3750771A11076C35415FEA472B29595
-9A437980A15C2136D26C83DA0AD724B1E961251F80B9D751A89A004DBD66C2540F758AE9
-A8D9A87A40CEC4A048AD21AAB511A630EE7C6DB0BFC5516B18140B0FB30CCD128475CF08
-1B10D9E5DED0BE1ED477142BAE698358D9FE9090CF0DE3FFF6692A18E2AEFEE40CF40B0C
-AC0CBFAFD61CA62667B8C6AF75F2C8C610189522E5C334C3EE4C5949629430D193846DB1
-3F2F49284722C3D93FA7553DB263182610D960D1154CE3E72E93D477003E26405DF8457E
-919785328FD7A0EC5E75FEA4A69A4B83A0B1BF8A257C95DB99ACE02E4E1AB1C7381F70EE
-AFF4424E5DBC89F8744C31CEF9E39CBE52AE7B222C3003ECE5CDB70CBC5705BF14A8DD96
-858B2D91BCD9048CF5499B557B47EC7EAD4F691D9C0ACB5AD0EDD67F18D0C60BCC5B26ED
-977B54870AD334A5BC6FE43C10EFC67449DD1EE7E447AAEA62CBBD3708A5C53B50D9A422
-D90DED5D2DE9496DCBA55431336DD959C87DB3C827D74142F295A7FA2AFF3FF16B6B3A19
-1947BEB998BFBA0058C8A0C851E677368674FE190B2498042A1091F5DE30DF16380DD89D
-0F8D076F0AEA1FC15F065FB5F094FD7DCB9BEA369B473A796441BB35C3F7D083CDBA9263
-3AECE8EE5EA3A475C84552463F714F38F73B83ACD3DC7FDC9731E55C25735B62EC439FD7
-421236A8ABF2E15F572D93F863CABB5104F2F71C5CD8360ED6A16F0EA6E20965EFFFAB3B
-9AE5935C206A074C7C3A21F8B50E6E19950DC462F06515B3271974877B0C33B7D2F735C1
-06597443E2C5421CAE134AF0E035786DE9969914E2F0B8982F9496D64DBFE6DDD678B875
-9825EA82937D32C5D3DF19C9F35700C733C65D3AE498C2039D41BBDE6CE9D975E753A022
-67E5354D1739005A656DEA77ECEEAD9D8C3B85512D8BF6B1B5ABD84B6D05CAF87B254ACC
-3F650BEA548DC6EF6B1467BEA6E424945B7A6656F5DBC695D3E5434E0B88E5BE68B5BDEA
-9F91337F7A74A5E7AECF9EC30AA070AC66E8B1D8AA70408B0F11683BBDE539EE5DBF9D32
-9B1A1C8CC14407B0FD0BC4E282D2BB466E3CFCB7E2E375A0DD49FEC7A0ED1CB15EBCF2E7
-F96F1094AA840E618E69EC295ACE5999BE90F77C523822EF0C15585CD816D7918D2AB0DB
-65CB72F1AB5CE5625C75B493E801D7A0DEE575BCF53E4F0BAA2290275470C5F6B49BCF03
-E4E8E31CE64D3A6A6C42ECE25B6BE2D2D8D8A821C4C727806944639CB4DC84777A2CE101
-8CE5EE0470D863ACDBA2B69B48EC7EBB23BC73760396F13BF6A60BB6D664D7B553C2AE9F
-32EE16F06A114A3BC7289747FC6D85BA0332D23EC947B25D6C10750A83027A745C1737AF
-E9BBDB080BEE663646BE3894B184F9B892CA8EF2B3AC255DD53388D87859F9EAF8BC82CD
-B12EE266A079F78EA317C41C505CDFA41B1CDD8A63B884DE1EEFDA7B7DB1EF77D0E98742
-79C50B55DA61FF95BFA7076ADF6BD3586E2120666BBCC3E431CBB19963982E50B9B1F375
-55AD6DA4AB02B305E074972C7961D66C1D1327AB93813F7A7C6C860A81281795033C8AD2
-8FD44E1AF0668D8ED469DC184B612DAFC1529F3AE5D8420B703821A559D58D5C574C15F4
-9C6CB20FCA5AF432FAF63E73F23638129D3E80509C0BE0034458DDE29F5C88807FE1C90E
-5BAC2CFD565D686945583260334165D27B08EF3C7839396EE421686BBFF67996E5FC31F7
-C4C96155412C4E51D5B6C97F6C47AE74BE984B347222CAD8B76EF218F34CB3BDCDBFF446
-C8E52F3E2A121903E260C844B093439194BD3078E158273B28A7674F0528C9306CD09C1F
-8D612881D46B8D4AA4C33206EEF23F0DF150AB91D4EF3A55120E3CABF490A2FDC34F85DE
-0B4C3E712D3DE425B3B0B5053CCF7729D8FF20207EE09D7ECA11A2685FD4AAE6275B9C0A
-E26543A3F0C826FBAB318690FCB471623009FC751E656D31538951000A413132B4C95E2A
-75C56BAD12A492F5F44C14016CE7751831A892BAF050422E459E71A614409DFF87BEAF8E
-9D61471C279C9B2981C3A1D119678516111B965A060822114F9CDA77DF46059D434C6A0D
-D4E57EACFDB4560FD29807C7160051BB778CDD807B3602F6CA02F699E8A42C7A6143B149
-2E78C8796116ACC803B5CEB308B9F8E9F11DCE649719618A9EF689919605EE6FA001E178
-4A008D1D5AA354777566B4F5D496ED915709E2FB39688745DFCC3AEB5D520B77C8066429
-6C67D95C50FB86B9DFBEBA2AD8234EA2C967A02B72DFA5BEA5BEB8DB4A30428FAC98FB5E
-6FBECB93EABA637684F4A82447EC00D422DB058D521299658F7D392FC1B0130A9B995477
-7FC2011549660457BA46B01E4D7AD51D1829BBD0C80576E893816FF1355C006FD22876AE
-654B0D851931E1BF3E80090B762846ADC7EFE333D7C6D529D6B50FA87347EB35438B18B6
-DAB4B45CD3202370F744013D15C01AF637A755734706E667AFF3A498F437465B45255BFE
-C519F8BF9FC37A61707A8D70F26AC6C90C73AC9CBE1A2C7F9D607BFDC999B784C7D15BAD
-C0CED80AEE87A20D3CD2C57834020350B4310B17E62B192D376EF6947C8EE477331DEA66
-CCF090F1787B19397BD8129449C47D5E03EEF8D4B8238105D626115DAE76062AB6A01E4A
-874EE181607F505FAEB9F8743CC79A0C674B8E5BD9EB8D02A5653C8AD1E6CD5FCBE83D12
-A64399F646860E564F1E118C5F18ED59BE775F93A3CDD8F1D4630A48A43C0F2AC8DA9A45
-7562CC56B57A802A3F8543BED0A96363529DD39675BFF7DF6F532D190BFD5C6B8AB3988D
-6D375A117DA0C00AA1C9AB60C5023D52793CAF943B7318DB12377D962E53DB536BE2A1B3
-0199D481CB100B3DFC30F3D01EC4EB8C9CA7CE497440C54A12F1EFA9B50ECF7C6AC073F5
-12AC731C94BD7C24209A1BD1340DD6CA5C787E42DC97E23B125B786D4AA2B149D05EA6AA
-891AE6BA361D1A42665E123EFABCCE667BD894ED319B8CA398EB6A5E213F813FCC912F54
-205D51716450E1744CB2A5A8612EBDE46F35257AAE6D3AEC55D65E07C50736AB52295D2F
-5FF8D43AF818B05071354B5A462DCA72E6A5E482A807802A1DC14132E50425E75C6CB612
-F558228B7659A6CC4F2BEE307FFA31A861D88C994C650DD0F1845A26EF0B8D975B9E2120
-D6C669DE20802B62F23867D708EE1FF1EA35CCD53F5CAEB8EDA12E12A58E9F90D150A692
-194564E1DBB173B1B3AE5795460A5D1204F1C02A960659A0C0063A7D5E7497A581B0972B
-B235C90F7D2F89D6F1279AC5A0A15DCDC5B1391F5E5C94AA03320AFB4895AC4F31F28C29
-3D9F6790243F7070E0AE21864C7A42129AC0EEADAD9D11CD447C307ED64DB0BB41BC3BDE
-C9EDA6638EFDBA140CA92B7AD459482B2F573E29B03381A23176CEC332BBD7219231554D
-C5FE2C2C56676A137945671D5F55E080EF0306681C44B994A5FEB444A672512C424991FE
-6D8D33D099D464B44C8365D37CCF13792CD726375A5DA9CFFB56A5628FD564DCC124D2DC
-4FC1E2AC8C0CD8DBA8E27138B3B5DBF786AFF59096E52C999D6A26C5637F277FFEEF34F1
-841A3420594149463AF075107E62315AA0B2D78CCF9A72D1EB9CFD1E7900B0CF877BE2F1
-C7A0B60A1D995F2C5C37F7EDCD09998E7B7E3E2A2C90D4AF8F9DB1ED529B9C3DFA0531A4
-9359BD1C4BF3B82A095562D38C7F15C3FDAF09BC39B670A529B9B7EDA1683D2410856031
-5737EAEAD181EB46EC51BAB3FE026E532E65F7E76A368C7100DD7AE43F881B45DE624CAB
-E5AEE7D7EAE8CE12230A0336A098760C71E0003321B6F512527AA59726B249BA92A18C1F
-1508D2E3881C1E004B830F9F24A706153F4B4565AB16978D608184FE0FCF816F567911F0
-9BFB10C7FCFE2CDE6ABC0C83657809FB8BE214E5570ACA4CB31226DF4F590BC37EAC8226
-DDFD5DF293A15CEDA79699E59CE459F1BFC0B08DA76C1234F996BF4B2B345A18B1AEBC38
-C04218864D6A7ED071173DB25DC27B8FA8A6DA897D83085CDDD24B3F3F1CF936C74B61F8
-020620AA9114411700938AB9E9269C13F97723E29E86EB5F14D1E86D15E8C8D678EC3CFF
-DA4577F97BE67A8D3F60F56CDF929524E00A400C35BF46F64134324791FCD6DFB72DA7E7
-8B7EAF388F8D3C860E8E295867BD9032E74239F627DC645D0F2E99C6F56E3DD919447CE5
-CD3126F491688A53F54FACAAE5A14C796CD964F693C8556103BF132E93E2D9816282CD3F
-32B84CA3798DD4675F6CC06E0A26C443E8CC9AC465E57DBBEE15BB206798C8ABAE8BF0F5
-DF4F029FAD45DD95671892AA63338E63779E321AC933FA3FFC368412BD62387E45BF0808
-7C3594EA7E6628BF2921F2AD33C4A7AB22DD7EE3272150D07ED085C5EEF85F5CF78FC9B1
-468D9698273BCBF896DA6CD43E088F7AF97AD83BF300817D35F93D74FF285EB6ECB223C3
-9368103876A36B5D84C099136868530F1DCDA96B56560E6B0B18D2C66C7FED082850CA25
-E7947934A1B66176B5C332CB1DA71B6D49754A06873F8C37C2C64A16442F0D983F6B989D
-8153F027A9C8FED72FBB1C2A7A56361BE460D85338E47D0DD878336B040E685C48993D7F
-B6B12CEA753190E47BDE31F458FC098A286EE4EF94A0804EEF0324F92643B4EB5FF1767F
-9D0A99B59B1CEAA7FCB5CF1AE8B5E70E3949B085287554E8BB456CBA6EAC53040C589860
-195605D082EBF7E46BC4A7D2284C6518D8F49D524712B15981CBEE064FF6BFAA6BE46386
-BB84F6C20D8D0EC6A18A6B74C30A4BCB0F2B81F100A6E78DC4EBA3E6B9788F424467BCCF
-FD6C58F5DA79A9691CB6D74DCD537AA085D385318AD6EC7C2F04567BF97EC15A73E963F5
-37CE3F70338D0E3994E0C9412702FD7BAEEE2E7A35A65E57FECD397D3EE54C863E641E6E
-AC90E91A8C0F00D839B5ED9D9B2D7D78088907ED499480BB50EB9EC1FC3608A8FC1A20D6
-0C1F86BB28318444201E7E9F0D812D71B125B467BFBACBEFE734A7635786A7AB03AECF40
-AC5A6262239EF8E0F538231D2ECCC1720CD40D56CDAF38AFC197BDB28AFC98F57FC9588A
-F65EE7268ECB44AEC3F5DA1453F0B4021BDB7D7829043C2B1D55BDDCF4687FF7D5092824
-30AC8A512FCD528156758D24318A9CF77678F040D05FA800B1910B33B7E12213008CCE3D
-B9A5E90F708B26AD23F82CF3088D030B0559A6598FCEA3392073693C64AD3BFEFF0A05C1
-C9BBADB073A756AF42D91F8D88F0839E32C317319AB514A6A24CED9082F6473E2B983EEA
-6724C8D82ED94A9A2BC4F375DFD2C84CCF06F9EBEFC67D357441CD976F0CBAA0C8BC2DED
-B2AD5B5CC894AA880A164B68E2F5031566D8785EB72CB183F23AABFED617A6A9B08F4B8A
-203D029CC05C13537C2FD2C98FF701CBB7FCDCFFF2DD7C1B152D68FD70E9F15ABB7634A4
-CC1DD8BA1F5EE887060F223B792F7D204A338B8A3526841D45D872DF6DC3A9073E4A828F
-B70D993043F881AA83A543EB448B726197AEAC9A78CD6456035E5DCACA540D559601B595
-580EAAB91811B756A069A6EBCB887120F245D9CC70C730BF1F7990D119BA7CB75B5278D9
-045BCACF83947457578586A93E32B03E95942B3C036A21DAF4C6F0C5852EB71499C3B9FD
-EDF36F528E9A0124992798C4BCED2711E4A2BEDA7A7FEA0652962B4448818A141E81BDF1
-2F11F423BF5675CF46B506DBC8FF2C4695FD27FEC069DF0A43B7136791E0A3782FC4C296
-9E06336C4F6109809F6ED605A56D1330046925FB5F62032E0E4E2C3FED27427C8B766C2D
-26738A0AC701E7FD89EA4C9136E5F82306DB83E2E9C2B0CFADCE967B2A8EBCEBD67544A1
-89614D6B61E9C77AA77E3E739C03D593E00B07EA925F6321FF5B8F3C0FDBC3948C6D649D
-96529559EDDFF57ECA28B2C0FE35D90D010C10E6E1B826CA23415E17ED863ED5715E7B4C
-075F0E1806E51DB91E55AC8B64DB7731E8A33C1E8F5C8FBE17309859E5DCB58D10D3F658
-05923AFEC306B4359EC6A6E8F9DE3500799B7C7B322204AE472ABC69EFC886C11DE790E3
-603304713B3312C9CFC76ED0E421E2A034CED3E88D53A8D80A3F28F2CCB9E3358B152EF4
-421447CAB89C002C355274B50ADBA185A44A746FA19D7D481F7CB902E73E4AD2A74A1CE6
-3D9978AC3BD8B0DFD03E09425481F63EE2CDAB4AE17CD75A3AB05F9246B3DDC3E0AF1D9E
-CBB521D540C01CC26CA6F3AA5BB49C804D312BA93E92CF11F6BBAC18A0EF051C52C41191
-8C01263AB5901221AE0F1BA6C924B8F937B49985E6D5C17B54E39E649E6D023F0AA42BC1
-D75A384B05519BB0E4118DEB70D272542D60E64957B749BB76016A1D356C681227228948
-5D89E1CD945BF9DCB49A5B831C082755540A032087A2ED82D166E292303CB1180C49E739
-5E403D0C5E6931ED6E36B52FAFE37CDAE28183F15C8AFE3DCCFD9A48A4BC21669E4D3667
-0DF71C4E6087F5B3ED2FA7AE8B5AAEF2A27F063332527B09D712CA18521744D89F90E9D1
-3BCD7EB332AD7BA8055BB8A859C4C16591FC3CE1474E260A74E3160DE648F815383B0310
-DB2FB9A4587FE13A4E909A83594584CFD382F05EAF8654DF5B44E39496290A7EABC36381
-8978F6C05B5EB3838572EB0C64C1D81E9AA0906FCD84E62B68E2D3BA876D536E7794067C
-9C2370FF2E2E46004062B260CBFC29CB5FA0219C2EC6C8AB8CC4418ED8FDDE6747F8EFA1
-76A6C6D1276845AEC38B41EAB3727BBA0462E2E809D76E0B5BCAC08FED585BA6E5D8D0AA
-3A36FEE108F55C23879B62C0A425F176E3C8C9031BD8B3E1B6C3D8DC383FDE0E36B33901
-50296F6869A4FC7E095517136B547295D1DEBFA341EBAEF34A179B070EEB60AA91839D97
-AA51768827E4A1CD55C5303D1D99341537B13FACB6F490072D8139BBB060FA1A02C93D3E
-08888E313859B439AF27A3E5E7709BDA43F851D13AB5B2EF395A931A99D0A2FD8C6088FB
-33D318D8EE1F7C7EE2D2199A638E3858EEA06B3A167F69FA5AABEE4558773A75610E7E30
-F3062576A2A7FD3E9F08FDAE5F1931A7FAEF85496071AF8E16AEE74C0A756927E0720708
-7846DF0F9A7C5444D007729FB69042683DFD7DB0078199812F85FC9DFF1E45C77C104F91
-37787E3867D5AC37FD7E86D52AC67672D89F04782F980EE918C6152DFE7657C6798557CD
-ABC854E81C980DE5AAD8E0BC259247F73B92572973D482BA7E4F619F50B0DC247ADD0997
-CE4E98A71E4A041F46CE605D32AD047D2E4260033C3FBF80525396507815EEF46960A904
-1B83CF32AFF7712BE97D636B4162190F2D13CACEC58BB25E89496122D23CFA6676E790CC
-29F48483788C724531BB3EDBD557950162907B68541B51ED6DD74C06C2BFD5346CC819CC
-8CD654F17C9E798168C90DDEEE78B6AE37709D35923AAC0EF066146D93C8179832E1A7F0
-44C4637E560853D227D3A14EA62E2428567E0CEBCAA3C43B0977DA30251BCB74E445E981
-6521CF8F1955A9BF920121E4FFD1E022FF42581269DAEEE779282512DD46BDA9F7BCCFEA
-77886D52E0B6A9C64A37AE0564DD09B4868BD1C6860FBFBA2FF022C291AAF670DB7AC717
-D82F709B07DABA0158FA67C0BC0DE958FDA1A63ABD29864C005FFA7FDCF73AFFA597D16D
-51A1E16FED7C1E8DB6972353AE498A9F1B0AC3B778675312C7F01A7533E1A53F31964A3D
-372A140EAACBBF7EEF600F69D8C466905CC21CFD1D1EB70B2469788BCF405ED84412A5AD
-04AE871A79DEE0797426510EA8F790993002857BF2BD33963EC10B329A596226AAD8745E
-EEC9A84BDF4793293D941756C6A582D273467EE704A878C40A1F8E6F4130DBEE6E484582
-4B78AEA786EEDF2E119F0D563C969A64B29F13327C52D03A16CD690341B2E0CA3B622F15
-ECC91DE30A47C82390F5EC38D3A52C24D3F4ED18E8733C1635C25854F05C394686913404
-E6A11B597213B0D506EC7EF6B9A6F4755B5A71099AD0FC9FF11244D70A5B987603F59AC2
-A01F251D9CC39F24FB322ED3FE0A0014A412D7C9A94088C8C2FC99657219FC27B299FBC5
-4E08F729AA6C013BB76CD320B23DDE9D9D9B78A34E6424BA1EB1C95B5005A53F90D3A2FC
-DED3AB361A9388D2EE3FF47F4F9BFB29A1375351FDA929DE5A89346D7BDE86588EA5F95C
-CD052B256653437D4B9F98F82A4E9D860B9E6CF4616E80E743936059A3ECEE59298A2CA7
-D83610215D893D065D73A0079E6BA899593C2D46866E980DC125DDA38519F181E20B026F
-86B1CC7ED4C00C954146B530CAA58C3C52BE08BCD25DE61A6D7F8BF7C7D1E325C4D2D610
-169CCA13C7AFFA18DD3907C06A0FFCC09C7033B9B721871E31E4A25DFF7FC74899E1886D
-8F3BD163AD7C34FB6A948C0FF667D97C8E918D8E663490CC7BB6AAF3689689725C07569B
-D17661CB0990AF49011A3C324CA124C4CF555C021041B7D301FAB7D36518B34771E424AD
-B62E962D8B2C46863DB108E1316AC529A404741DCB27DF4A081965B96ECB7C4564550BE7
-78629AD19568AB733BA2A1599F585BF5132B5B5E59F51BCF1C284AC371799C898950667B
-44E71E5FC7E221C927DA70742469E3BFC1813CF5EAE32F109A87BB258438A6B744D3D642
-5B3C42DC2C542A8382C3B7BE8A5C43DE7E4A123D4130D3ABF3E95568DE13C5A5421352A3
-5A083A98EE09EB0EC99C0C33EC688D2573E9969AE74329D3D6E925C568A5BE0811C333C3
-372551F2A32BD9E0FCE86D3D2E83379BD55634101F863DE3407564E3A1A73D8572341037
-A6E3AAFA61F7ACCAD510F7C17261408E8BCF0AA72436BCF21F69EF6D3128CDFF321A54BA
-3014DBB6E3354197EA88BD4AB5EF052589E3635601EE76508DADC4E2DDD9B9710CD11963
-B8B611C5D089CF34D6DB9E94FA9696EBDFE31DA2AC089FB93B8F5CB31C301607F29494E7
-490278F0E378BFD712EA4AA99234E3205D0F4E0F0705F352B62574B884E571183CF1D44F
-C911A617AA1F23AC0BBE3E088A84D04AC51349E3E92ED227268DCB4DDA76B2DE3B473331
-91087C2A70BC8B0554C3F21D5B5A303F6FD58CD4343F0EB68087715D0086C3938DFF43E6
-92F01DB8319C4C2DB1E2D0B41117431086D4C51B010420F52C94C4B2040FA0FF2ACC4A23
-8C44EDE007896F73FD591E491C9359598F5786978E481141D70BD1FF759CE62EDE7648C2
-9E1C59FA4F7F61A2ED8ADF9E4654F1BF161D7E19FD0CA8307993F2FCDB726E4C92412D6C
-F260767375AD211B46CDF539D66B2CAD7410FEF73A289812B6DFE69F6E6F24A3E66653E6
-C1BC17BA415FDA7E4FD466433CF5AE80827D928EE9A2B4FFE178E37B01E8AF99A8A26490
-0AB2637E25B3B5F4CD857E7CDC2F589CCF52D546F217D9B48C894E11F57BCFD6B6CC54A9
-B2242A8A39FEC8578F3F7D9B726F977F78103E4C2429A3C9B96372F3622D7C6FAD2C660C
-FC73A3BB8539853BB061AB6F1EF3E6447983CCC1131276693F0BC5C2938DDE7864776E92
-8C2AF847D27FACFB07656A2DCDA533FF094927D920E227E9618A47E949E20A61D97412BF
-273AFB50BF67F54190D982231FEFD98ABB2676E59E106F5E3945BB9739A87DB7E0091FCE
-97F86052A8C9E9A49753E66CC322C3051FA489096E2FA9C2E5DF52E439EED2B9D1A8D918
-E19A9C8F97FDC6B9A8982A1AFFAAC4E50899661D2BF6EE5EA6F1FF825114A1B3316BEC52
-EC64416C7161B920D7DE9C339DE346A2BE6792F82CBCFCE4FEE70F04DAAFE5FD13778B1E
-D7F5F6BBC097FDCADD6808536570ACCCF31DEBCAAE581CE6D4C6364E58665C530026FD50
-1FC1B1414B0371D2BE2675E304B041C7E635DC98DEE3F1811EB0995FB3167480F31C8F8D
-85E3B5F1054AB5B5721B7E8C3FFAFC18F50C8EB58A5CA56DDDF3FFBACE09BDCB27852DDE
-9A1DB9A9C4A51092D145A41E07981235051BC56F9319F03FD37B28388FF4AD8007F98B67
-C7E8FA79B54EB9F249A0A383F7AB987B6EDF5508069528D49FA26659AF0203E73A13AD7B
-3F64D294AFF49E42A76D493AEE50B099E049F8750AE058C2863FA2F4EF9EB18F6D2C11B5
-906194F7B480DBE6FE3D6610BD08AEE0078BBA1411B26DDF14B16A3DAEC2B18B29EDD557
-645FF36507654C2A86B7B2D18C5F886E8F02FA3092D35D4802AE25A6CDF17C469E85F67B
-1964A75CF22A241F2580875F639ED480E7AAA04620C6C58B5C839F0B659D9D2AB6EE6E0C
-80EEA564E9CF0F9F7F0E70410426047F0EE92451C92C483AE8F456FD95E21C7549392C5E
-41018826DB42CE4709FEE1A86F6CF18A0DF73A96F8147AD819E5639F95E6CA508B9CD05F
-D0BBCD49AA42A09A168987B7D8747E4D3CAFC699DC40EABBF633E2B6339A824058BDD026
-180BB7BBE9937EC7B87E853DE8308BEBA2D7B1156E0524DB6D983B9EA396B3BCB9A6E425
-8C55325437EFEC9AA659E57B07B838576B65B10A9B4A77304383D9540200A24ABE5663F7
-29C64D293498F678469024A1F552E508B49B610D3EF334279AE58F4BE914742752E9FE31
-1642DF1310E0E54CABB5CFF9CBC0A9FD8C81AC09D7762D9A989C2ECE1B24CED02D991D83
-1E6BBE94F7D981DC75EE82BE1AB6E1021046AB988E5147D3E037E447B1B38834F9FC48A3
-23A734D2DF86BF8313892964B6FD68CB8E4DC0B1EAAE8E85B137E34C22C8F6CF2A5DE4B4
-B914D13FE7C0E3B73AE8A998CD19BA81E3825ADBB97854B7B89C7FFD8E059340566B7348
-36E6FD18BA8B1B60EFD13DB954CF005A501D70673FA63F79FDFFC78571E075E0503A472D
-A3AAADEE2A7EC2710E7E910C9B3866BEF6001C47235AF38A70553649D910DC9195389373
-A87A62E97BD65CCA58128204FAE813DEE989DC1E72D36AA9675A25ECF1B8FB2CA45DF4B0
-23887604842BD3626CC1DB5722382315912FBC9C383275F430A76AC081366D100F40E42B
-7A4D3A3CDEC8C47E8C56C696A756EF3EC9B47CB9570EABDDD906EECC8F754C92B174562F
-118BE4FF9E0E84E15BBE5323267155546449138A613D2767AD28F188442F1FD558F1D09D
-2C296FEB0FD94EDFD259F9C0E11F255FA4C39DA709FF2AC75FC4259BAD43DD8B27127F04
-049683A5A26A38E27654DDFD99247AC366003DF016EFCF2D96C6B2F9858F21BCA07EB0ED
-516C2BC8EE39B0C568FB5FD8886B21632AC942E7E02C7BB24E007A08E8F628D74EE676D6
-
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-{restore}if
diff --git a/fonts/Monospace-Bold b/fonts/Monospace-Bold
deleted file mode 100644 (file)
index 5474cd6..0000000
+++ /dev/null
@@ -1,2354 +0,0 @@
-%!PS-AdobeFont-1.0: Monospace-Bold 1.15
-%%DocumentSuppliedResources: font Monospace-Bold
-%%Title: Monospace-Bold
-%Version: 1.15
-%%CreationDate: Thu Oct 27 10:50:21 2005
-%%Creator: mike
-%Copyright: Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved.
-%Copyright:  DejaVu changes are in public domain
-
-% Generated by FontForge 20051018 (http://fontforge.sf.net/)
-%%EndComments
-
-FontDirectory/Monospace-Bold known{/Monospace-Bold findfont dup/UniqueID known{dup
-/UniqueID get 4234665 eq exch/FontType get 1 eq and}{pop false}ifelse
-{save true}{false}ifelse}{false}ifelse
-11 dict begin
-/FontType 1 def
-/FontMatrix [0.000488281 0 0 0.000488281 0 0 ]readonly def
-/FontName /Monospace-Bold def
-/FontBBox {-141 -1034 1457 2154 }readonly def
-/UniqueID 4234665 def
-/PaintType 0 def
-/FontInfo 11 dict dup begin
- /version (1.15) readonly def
- /Notice (Copyright \050c\051 2003 by Bitstream, Inc. All Rights Reserved.\012DejaVu changes are in public domain\012) readonly def
-% Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved.
-% DejaVu changes are in public domain
- /FullName (Monospace Bold) readonly def
- /FamilyName (Monospace) readonly def
- /Weight (Bold) readonly def
- /FSType 0 def
- /ItalicAngle 0 def
- /isFixedPitch true def
- /UnderlinePosition -221 def
- /UnderlineThickness 246 def
- /ascent 1556 def
-end readonly def
-/Encoding 256 array
- 0 1 255 { 1 index exch /.notdef put} for
-dup 32/space put
-dup 33/exclam put
-dup 34/quotedbl put
-dup 35/numbersign put
-dup 36/dollar put
-dup 37/percent put
-dup 38/ampersand put
-dup 39/quotesingle put
-dup 40/parenleft put
-dup 41/parenright put
-dup 42/asterisk put
-dup 43/plus put
-dup 44/comma put
-dup 45/hyphen put
-dup 46/period put
-dup 47/slash put
-dup 48/zero put
-dup 49/one put
-dup 50/two put
-dup 51/three put
-dup 52/four put
-dup 53/five put
-dup 54/six put
-dup 55/seven put
-dup 56/eight put
-dup 57/nine put
-dup 58/colon put
-dup 59/semicolon put
-dup 60/less put
-dup 61/equal put
-dup 62/greater put
-dup 63/question put
-dup 64/at put
-dup 65/A put
-dup 66/B put
-dup 67/C put
-dup 68/D put
-dup 69/E put
-dup 70/F put
-dup 71/G put
-dup 72/H put
-dup 73/I put
-dup 74/J put
-dup 75/K put
-dup 76/L put
-dup 77/M put
-dup 78/N put
-dup 79/O put
-dup 80/P put
-dup 81/Q put
-dup 82/R put
-dup 83/S put
-dup 84/T put
-dup 85/U put
-dup 86/V put
-dup 87/W put
-dup 88/X put
-dup 89/Y put
-dup 90/Z put
-dup 91/bracketleft put
-dup 92/backslash put
-dup 93/bracketright put
-dup 94/asciicircum put
-dup 95/underscore put
-dup 96/grave put
-dup 97/a put
-dup 98/b put
-dup 99/c put
-dup 100/d put
-dup 101/e put
-dup 102/f put
-dup 103/g put
-dup 104/h put
-dup 105/i put
-dup 106/j put
-dup 107/k put
-dup 108/l put
-dup 109/m put
-dup 110/n put
-dup 111/o put
-dup 112/p put
-dup 113/q put
-dup 114/r put
-dup 115/s put
-dup 116/t put
-dup 117/u put
-dup 118/v put
-dup 119/w put
-dup 120/x put
-dup 121/y put
-dup 122/z put
-dup 123/braceleft put
-dup 124/bar put
-dup 125/braceright put
-dup 126/asciitilde put
-dup 160/nonbreakingspace put
-dup 161/exclamdown put
-dup 162/cent put
-dup 163/sterling put
-dup 164/currency put
-dup 165/yen put
-dup 166/brokenbar put
-dup 167/section put
-dup 168/dieresis put
-dup 169/copyright put
-dup 170/ordfeminine put
-dup 171/guillemotleft put
-dup 172/logicalnot put
-dup 173/sfthyphen put
-dup 174/registered put
-dup 175/macron put
-dup 176/degree put
-dup 177/plusminus put
-dup 178/twosuperior put
-dup 179/threesuperior put
-dup 180/acute put
-dup 181/mu put
-dup 182/paragraph put
-dup 183/periodcentered put
-dup 184/cedilla put
-dup 185/onesuperior put
-dup 186/ordmasculine put
-dup 187/guillemotright put
-dup 188/onequarter put
-dup 189/onehalf put
-dup 190/threequarters put
-dup 191/questiondown put
-dup 192/Agrave put
-dup 193/Aacute put
-dup 194/Acircumflex put
-dup 195/Atilde put
-dup 196/Adieresis put
-dup 197/Aring put
-dup 198/AE put
-dup 199/Ccedilla put
-dup 200/Egrave put
-dup 201/Eacute put
-dup 202/Ecircumflex put
-dup 203/Edieresis put
-dup 204/Igrave put
-dup 205/Iacute put
-dup 206/Icircumflex put
-dup 207/Idieresis put
-dup 208/Eth put
-dup 209/Ntilde put
-dup 210/Ograve put
-dup 211/Oacute put
-dup 212/Ocircumflex put
-dup 213/Otilde put
-dup 214/Odieresis put
-dup 215/multiply put
-dup 216/Oslash put
-dup 217/Ugrave put
-dup 218/Uacute put
-dup 219/Ucircumflex put
-dup 220/Udieresis put
-dup 221/Yacute put
-dup 222/Thorn put
-dup 223/germandbls put
-dup 224/agrave put
-dup 225/aacute put
-dup 226/acircumflex put
-dup 227/atilde put
-dup 228/adieresis put
-dup 229/aring put
-dup 230/ae put
-dup 231/ccedilla put
-dup 232/egrave put
-dup 233/eacute put
-dup 234/ecircumflex put
-dup 235/edieresis put
-dup 236/igrave put
-dup 237/iacute put
-dup 238/icircumflex put
-dup 239/idieresis put
-dup 240/eth put
-dup 241/ntilde put
-dup 242/ograve put
-dup 243/oacute put
-dup 244/ocircumflex put
-dup 245/otilde put
-dup 246/odieresis put
-dup 247/divide put
-dup 248/oslash put
-dup 249/ugrave put
-dup 250/uacute put
-dup 251/ucircumflex put
-dup 252/udieresis put
-dup 253/yacute put
-dup 254/thorn put
-dup 255/ydieresis put
-readonly def
-currentdict end
-currentfile eexec
-11167FB533773667FB8D3EFE82119D83C5E325D3F9FA9CD7D01B1F3F3E52876279E4660D
-B5D444F0B7CE226ED8DF687C9F94FD3D6282F90864241946A4B8E8575E48452B9C0794B0
-E485E0EE753D96B6C08DFAE68281203752A25CAF8EADA400FDB4F9AC57F07D7C3CED86D6
-7F5FCFCD9D4635282E9D92A5D9598F79FCB9FB1A677408CF7EDE532374FF6A6A9703662D
-17B5D4F6CD9CF249432F8C76D70BD990DDA5FEBDB59A17FC8A068E1DCF23729F4CCF2C91
-59376F20EBE27AC7473D31BBE76EA67D9AC99ED58644032A828859BD9DDE391FC993707F
-97CABF55422D4C37042F25E17BB78E63EABE7783BE0C56F59E74EFBE7783B90310E817D7
-A01D0AC31EA0C9B67EA7A3EAC553F3DCD76270BAFB428DC7AB7EE802E06EC54B705A5A6F
-125250A008FA7375643EDFF171457F65345A08795AE0F1E5FAC5A9CCD3E258A9CF83382F
-B3385DA7FEEB19F6D001A7B5A214115B01B441014E51A9BF8057017663645BCE7E2C6228
-940658CCE20121AE23DB19754C876CF1E7ABB40B2C949C0D45AEDCEF0165C46A0E720BD4
-6260D7AB7E8B5A77F64542DB42BB3C48EF0F9D026C8563478B4B80B60DE0005A3C61B5BE
-DEF534F95EC79CDBCE5AE2CABEAE6289BE6D998B2E0B090DC31F890A264618C9E9473962
-3BCC88789A953C3C9BD07F5B1D7A1621B71A12FE379E85E6562D62C449F1EF7B467D126A
-41D13410BF85D7735CB440A7363A7C9755F3BAA6554FDBF71FFBC2B9EC7EF2BCF0228D5A
-98361A9F79AC87EB346D5AC82847C2FF02AAEAAB6C8272350A534C5BCBD678B28C6F7B97
-44BF3243F970909CBBE5E4116F2A1F56EF992D3EE51889C80FA54C5C9982BFD90C1ED83B
-3D7A917C2588207D5A15D4316C408332591A8845B322124D17D41E10FABF2662439FC0FA
-92B839F0A6AE2065D029FE012F75D7B4B0947202894211CD4786A74385DC0817DDC3A2FF
-8EFD3EE4CE9F31AA40282C2A0E88D02ED77F991C910D3CC20F1A6C513E105A65117D6FF8
-B448255F66674BD2CD7B66EEA96CEE551D97B27E7B0BB692664DB358985F0DCB1E5FA9D7
-F92799971280852C5DB56F5E0788208521AB6B2589034B48624D393F005525342C7441E2
-67D1BD07BBF43C69DC7BEC5A47993AFF6F6A9747787AB8FF45BCDBE88FCF290DD28FB3D4
-2FB726AECC1832A03E970FEC71D7CA532B45C8C5BF64CEA9F6F9483D369EC9FC0D82E3C7
-A5863D816D35503EBDC1CE27C57258E0D773318E88B9006AA04541D8F14B4F23F7B3D23F
-6B4E990457C5525DCA3B63EE75C3A53611FA30AEB04A33EAC156049E60651AE830726330
-C3530A1BE5F3CA8AB63BAD85DA0080A22FA54A6DE4AD3EE96BB9EC60D3EC4AEA7B5FC82F
-8EC803B2C6198E5ABF9B67A82B24D8F5C672E6A825FE0481B1744DBC008B0B1110761F23
-ACF02284979F836FAC0BAA9216C35A5AB25B95197F282592E27C9FBD8D5EFB330B08A956
-B6079D05D4500F00518B164CECA074491CEFF09A99055371AD3D0A9F1DD2EF38B33A0FBF
-6C83E4AB7584D24400671CD568DE38F6DAB1660578C65AFC0FB5AE268AB26D47F38CB9C7
-E48BD5A7D4F62199EF7180D923958A41F3FDCDB0A856375B3BBAF2C4C32752FB0B641240
-E50FD465CB53BEF09BB0D73D204B2064B3B6322A1D227E8D7B4FAB71BBD3E2FFC59712B1
-EEC12CFEAEAA8135895D705C6BD8DC5726A21888E25B675475D53431DE441B7177F41A30
-A216DC48B78D025AF5CFC53ECCF08C494EDDB4D460CADF0E325C81B932F4BE839E5B6F3A
-3AF49B330AB3DD8637D9D0BD305C15D20FB84B14725D4269A78D316B2C2401698B125DEC
-EFC2D7DC0206C6535846C435E5DDCD2294C5ECA8FE4C3342D032CDEC2398A43971E15CDC
-CC308BA14659D338D478ED2C91DFEE282D221AF7150507F3F35054CBA77F7B68B102C7A3
-B0A94AAC5EB7ACC45F29A2B23A8BA397727E1533E78F84870A647D8D2F364F0A9D9CFB1A
-F82AA4A2FA9D4A33E2F508BE63488D4505E4BF2B22029A24EBF8ED5BA75646FBA0B80D8E
-B076A4028B10A89BA8735E03092071307C212B76BBAB410DD4783C8653F472A853105F4A
-0900CD58BDAD0DE8967A8084D49E03CAE74D6724924E2D85411B0E712ED4410F59793490
-429E6271123A4A3B45BE180248BE5F2BF16BFECE9B005C9AF12523C38E6DEBAA9F1BF6D4
-AC2B193FEF981CD5E4ED3573521A82DDBDDBD61F43EFE8CF474FFE43D82DA07FD8A1A494
-6E8C187FC6C85663A05E65BE968841C923CC2AEDC5193F624FE2FA5B4F33232BC9361141
-60C54189960EDF10F1B44C91417CA26FB66E4A89B19AC2280C59CB7C3428A0251E34B5AB
-90368B31EDDFAA2BA749EFBDB7C99EFB9C5E67E9C6C62438E73DEA816919881E804E3D8A
-EF1D5108C4895E2E285618AD7DC3A42F1E28378335D46ECAD9B3058B165257BDDCEFD817
-350ED1B3E3ADF86C3BA4E9624C2E592A8216F4B2700BC88992913406E7DB2B5F5DF3174E
-A6D7639B616AE160282DCFDC85CAE0C73F3E695B09EE0FF5752321EA51A914A7C89FD9FA
-0E66B2F01EC9033EE9DBD246725CB36EEBD34EB3481FC21C4AD3AD26B394E858E3F4C3B9
-4CCF83497813A5CAA32C5FE41787FD97734992458BDDEA1A9CE2D7135A65B592B73FE851
-C2671A257B5518E2C008553432C6FA79BCA95000F31BF7F0AD101A30607D1D34987D89B0
-F3E1A190231908C2451B8FB0D18EC8F873AB09F1419D48B041A02BC4F819FA17E81C3289
-77EF1BCA4E86CDE766B795EC8A1B299F57DBB4C72660533C8A96AE701F9EFBF198FE4D5D
-C66C3EAAB293D0D9D908236037C83A759F2156AAEA78B6AE37DF0AA85A5F89215171FC75
-3A323D43A3295A2462D8902458F15F6345815BECCD373E3EF4F0993F7D52AAD4E2030CB7
-2862D8FA6E6138B71ACC7D62E7261FBD56148C8DE661AE9844FE920ACC2503E278DF0B04
-F669145B9C8D435BD90C3DBA004C09B39227A5409965E6ED90E5082B923D69B0842FDB38
-0D742890F9A9FE4BB8F923FFED2581277AD8FB61E2F17BB90D1A7E4195D7EB3FF833FE3B
-72E696C3DAE0A3A49918540BF1C6046FFF094E01680EA558415209926FBD70B3CB4B044F
-DC5FC844150C311F9C1C031F4D5B99DEE4F72F2307B8EFF74735B1ED593465D0D7998E61
-DA4D497AF119FC332156B8D882B4005FC8850E4DA96B7AE93E1552AEDE068D0E2B266C45
-0753CD2DA48A059CEE49F1E86E2F77F701FB177FA32D5F93FE4D6A01275EEB54692AA6C8
-95EE530E862079535A543DE4067CD630A7D8CC83AB9E04377B8D3A05F23280A6E1D68356
-C76D531990EB15EA707C0E5BB5055F428997E2A731A4F7B5288E54B2C4B949833EC117F3
-0A0575603796041BE985C63F48CD55E76638E7E54BBCCC9D2C73ABE423C6A7159CCBF80C
-8FD931FACC6D8257D9202645B3138E367E160CA3CF22E1C5ACE59AFC77BFDFC25A5D6DDF
-E6C2F6B68D062D0490D05B05B55A7A0C6E56A52A2EADC106E3BB6410205CED012BB49DC3
-6EC89674C22C7D17E3A6AD10A2812095454DA4D44414F42A8678BEB35D372D3851EBC535
-888D9E937906CC0475986D2656E16D78B391E8E8D3E9C91D980D526C6470E79B728ACB9C
-B9F63C6000B9E60AD76959F7B14F06B631778911EA9DB59D8B9BE7DECC68DEEF068032B9
-272227B91840B30B7506A3FD57306015EF686A174F48B734D9070498D2184773E7353A24
-51D3276238B8874FDEB7161D1A8506BEF79EC5245651C29B9251EE17F834D200E2219A3A
-9CD838C9BB31182C00A52E06DA6EA4E446FCFB62C92284116E14C3D38973F1704D5EB2E7
-6E6F88F7444364046AB43C4D7D44A23FA47B5EA158949A3E1F15DE70F40812444C6F0F4D
-A9940F2B3CD1B7B1450C1BFE7A6E111503CFA45FF012A6DED44CBA623FCEAF5262BBF810
-90A4FC1EE72D5EF3852987026F50770F7410E486F1D15D25888C8D88188647F8776CFBB0
-C7D4F02644BD13C84C592DCE82A56F08920B2FB13BAFB405154895458F55DEECAB846104
-7B157C02450E0E529A10559BD8CD9592FFBC923092C1EB0AAE96E5CE64A6D5B636988F69
-EF02E3F5B84451BA2F6CC360B647908FA940E844C3DAE8FAF73E9ED416D6B8A20660EAF0
-2C662828F3E137B0956B15AA9C129A312E753202D429FC734325F1F82A3D9058ADB87688
-4B979CAEFF660A8EF9191F4E0D2CCAE5E5458139A0AD0637319FF41CD7DE9877AB094F4A
-3F27EC8F5C7D42B1D892B829E1DBBFA9295B8383B23658ED25DA227B9F625B89E26C854C
-0130CEB1F82D24E53D5FCCE082433A4029B1B4A5905D25BA809EEA54895220DCAED1B2AE
-879E7BEE3CFA3C71FFBC77AEF4A415C96F2CE40EF47E2080FB59AB00DB4E8D527D9E41D3
-8DE95CBE66EAC589F5831C4BF0BBE1455F4960FE388B84074DA43DF499BE3810C38A4BA1
-D23F3A6C331F09135931FF0A7D77160E3FC9CBF4937D5814A12848C17ED3F62FEE21B11E
-43889F3947F67F66BE8DE7EFA954E2CF8BFFAA33DEE3F3C397FC572DDFD7E42578DC39AB
-7CACDE5A30E25CB6D949E2C89B02E48F70CA2D0FBA47F19B72CCF99B4C71C69B1E1A381E
-F620B2BF283FD34CE116F5C2DD1BB9DAF60BD431A6CD475ADA9F7490E17D5DB183763467
-0C167B8E958A4C476820EB53A778B9131FC7205BCA2EE3791B8FB54AB6996B82B65B8E60
-71529E0E3A721E6306EE6448EC9607C427F543EB8C6717D0BF598F619D36A3FD7C0E3DBB
-E7B5D923DC8EF2BD288C55EF93640E4249E0E9E36E1FCC19CEC8619495B71D84236313E8
-C552ED0F230DBEE3C395269DE393EB34F630A5043B054154A47EE48BCFA1B3DF9D142315
-F1826809F0BADC495B2C7DC93D34155D843427BCF872288B49D2A0AB22AF861112C324F3
-4428FD31584D3B5E88ADD1EDD809DA66F90C756386198CA263562A95BAAA64B1CA36897C
-1069CDE2D44EE87FC186A24C10C23B8F3DE59B41D1AD8E01EDF4C32EE70F053DAB84D24D
-33A6024D7A86570D96B34892F8E299414E7084D99B3C3A89531A7861A39EAEAD9506B0C7
-017E3A730C91AF6857DECFCE2FFF482DB160369A16BD17456EB74258D2D39F7177998A85
-6694D74A57318BBE392EBBCD069FCC8EFB71AC1516E350FE4F936BECB2A8DC4280BF3A64
-27F1B741C4FD53AFB32EB78D9C06D74B5F71DD967E087F733D50655900E086D358B46C2E
-8EA8CB494C0EBBCA4B0A9C74B48E0236F9CA651D73D2DB6FB1F1F6F7561194C8858F3FF4
-B3F46FED001DC472F71BD6E16EC1516605779FBC1FF81D6ED6996F955C001DB98BC8E7EF
-16065AE3A00E7C65B4F080F78C5E0CBC9EF8D4E6A8A3E76258B31BD4F6766A4B00A37AA3
-E5BEC4C495D5B92E701B7423FF09FE895CA54F82D584942A93ADA1C7AC5576345DB685AC
-6E04586E55C997FD31D13FAD4D2FEC0181A8A0BAD0CE863F9052735AE3F245F549B8F2C1
-A5486F65BC217A57D404832AE633EEEDE8806889AEACC54237FC2C493CABE98111D34EDA
-6739E5CA8FA33EBD70757FDC1243E9F1D58D69796A7BE700CB9A39F69ED0D811D4D286D0
-80BCA0D9E78E54B63E640C53BD479106062953EDCD604D10F3FF50620AB8D1B79F1F873E
-E47512F37296FA930C5FCECC28FC6025270DF4B2CBC428ABB88BA940AD55CCA0EBFDDF91
-3AE3271FBFA6DEE0B62D6B94F40053A11410D91A1CA9DB0E9947AB24EC592A9FF3F00FCE
-F1C436A94332952DFD7825CFE35489E12C6A8A7521AA5B32B307A7BE5200E45E1FDC5588
-96F0A32E97E31CF40BBA08833E7D7EF78DDD5D48685B19943705D87E40C235C0EDCDC6E5
-93AEEB193C8957E5A05E17F4609FB3626BD14CB597362AA65699A50DF076A54FB1012403
-E32A3CD7761DFF0B3F41AAC0BD55C1148A24BBF31B4CA15608F12DA8F671D76E33E00AAE
-450412798B7BF74C216E112883E9920B0EDD24701790AEB565D9BF4927BD3856493D6B56
-2C5A231DEFF338A986DEE08AE42A6FB978608C3B9A4A1D8E17164A08E2FDB5D1E1D38AA5
-5E2E4B4D2F5C0317ECE305DCBB207D7599943B1116A0AF9B917E1EE7FEDD285F249B212E
-AA66724290030E1220C5E26EE5623636FB5897E0CE1E0DA00B8E716A963B4A9498E113A2
-C6E68B6D35503EFB27C4D82FE3B48A7005560DF04BC6AAA01EAA47070C81D60C40614920
-12654837A5317AF1D7F24404E050CDB6C3D1B1BA2480FC9940707A9984D507A3C078365D
-30662300B4E28756F69F8B65F9212B4A0FE63448CAAB6331DA9E7DA65347370F03E51135
-591456D774040BDA4BF0D318161C082F69ED644E51EFE26EFC45CFA0391220B09BE1157C
-3E4B55CF5203F2AFA61D7C0F6F281460A761987144ACA50A2834954890D9BC811B72D0D5
-FBE77F8D01496257522EC90143BDCBBC30EB08B9D15097E0AA0AC15F6F7FEEE91224BC4F
-531A65905AE9337D97652775BD7C43740E29EB66AEDF91D658C2A2F9849A26457C8866F6
-F96D59E6721018ED0637D6126F08EF685174F130D9735CA45227B508B52FB7D9BCCA10D3
-BF16A889EEA13847DA7CAB63C73C0F068C3BBEA8E162295F884B7E28BA144E30450A823B
-9025847C739B6EEAD71967F8DBCA0AC8FBBC2A7847BD7B957B8E44EC96CA2888B47F86DA
-786EFEB0C741D7CB67CC25371E59148D4C3ED2C5349A1EBE6B9DC8744EBBA600856B22F5
-1832C41955FF582F4E0337809EEFC33FCDBF9C31723278A8D085F1404D16A573314F2876
-85C67FC651E691B1C12121B0E209E3E7A0FAC4272D58F16863202CC7594D0A6B10A4948B
-1FEE719857ECEA0CFF0D0643154CE968A7E909A6CF9A9672B2159717E854044AA6A13F05
-A3581A47D624126498DF26635EA643734E2DD2A2EFF5D2F70BCDE6F39C9D54F0A1DC05D7
-8BE1C28495B0064C2A18A02859FD8B1F91DB7D29BBBE7401B1891CAEB5BE54468DBE8B76
-74C2257466643C14A9657C1E79627D8743C14B4CD25C03AE56AB0D1D5EF596474C7881FC
-0706543A538D2017E48205664D7443834DE0344BB76CCBFB64824E753FEE37F39581FD32
-27AF8959D869EA87D806668DC29436C60A8C9DCE55349B7C992F821C28A28482843577A1
-44C905FED079A06273C7960BADCB5196F3C9E2DCC87C0B1E03C5B5CC64AFD58CC72DA649
-040DEBDA7ACDA5BE6DEB142FADDFD883DC4F004B7B7FC5A1A8A44AA9C4A6B3CC034D4F92
-CB6293FE7A3EAAADE9568655CC3CF1EF283B1ECD15EDA0A2E3CADE0C3148A5E449CD5D92
-557FC15E2A3B99F6CAB2DE4E3DDD038184E46F1914481C7E5B5A1862C899AAFC1A4965F0
-5C152968522019B3D635C2A67DA80CA60F264E6F75F419ACE6F48F32C5B6FEA7E340DB0C
-5C25F7FA380B1A7D7F4534F0ADB02EA93B4901B581A9EE79D3710248F0A5E03BABC2A066
-5583642E51E78893B375950891A694ED7C18B2CE872619ABE151DC8710F5395E79E5FB02
-5F05A3BD9364756A54FB8B31C81C2285942F9FA6940BF3D676C16FBCCF34A433028A9A0B
-18A39831E0F04F03D7A4465DAB80894AD108CCFD1F004013B9D619E0EB552DAA5BFE0EA5
-53FCC2D38EA0FAA38BC25AA6E954A2ABE35AEC8383E556D1067F2A8F4FEAF745DF55771A
-95502B33A40807C7692BDA00A142A4EB394838F57880B4ADE4D21DA150CB60752D5A11E0
-A309F50D63AF0C59DB2D58EA0C827441997566E8AC0F39C354CE94175BBC62A265FCA7A1
-87B3BE75E83EC96FFFA43F6675D9374771E2AAB0FB1A14E9843F864852CDB0E23D30F1E2
-EF19FBBB4501D41F4878208E041A8B5C0A46B3352A2CD1F5BE78B3C89B58DE076CC603BF
-04163F64660236214F9B029CBE96F0F4DE40C8919EE1FB5435FBDB25083FB3EBD505B0AB
-CCDAE8CF4AEC0DA7D890621D68D0056FBCA5832892EBE9E2BB72A2BCBD224F1D3E8E7AB4
-771CAD9C6A4A0E40A6BFE15313E15EDED08DB8941E04094149B69FAAD438E8C7047C8A41
-ED0B10070C48F804C11FE88BCF655BA3636A4C7426584812DF512535225E8499D867F83C
-86BD170854BE047A028889695FEE4E7FC63DBD109AE00664414FC96496F85DC4BB719BE6
-B7C5BC4D7289028A003CBDF447018981D0A8E11656A4D75D6F5145C5DE04CFD6234551DD
-F89930E9267D1080FAE4F9C66B1BC736C7375B902FA53D9E8BCF2B5A7BC4B6341CD65F79
-9673CF52F26D649882A3A2EB1609DBF2D4A4F02DA65BB417EEEE635485BAD51E96EFD4A6
-BDF0861B1922D31BAE22AEBB9DF54E2C5ABA5B97ECCB069903B2AA28D790560A64E3B93C
-E0D3FDC457944A22A390C874D655AEA7BEA5B305B1BCA2F13DC73F1E8DC7662E20FC276F
-1D29E9D96E8EEF0E3B2B0FAEEF541CCAEBAF485019979872A72A8ABCF89071E28DF389D6
-8418B9EE2488F611AC58EBBC150F3E93AE1B3A1C5426EFC55B22E5A7D1DABF78E4C6D196
-757CA1120B657ACDD4EBD7276EBD4A67A7440B46FA59C59E2E6681FC2BBA58FC8A82804C
-F8C4AC4032B09681B6CCA415C532B91CDF0B0400AA088C9044C3895F3BF46C611BA136EB
-AF72086A9D2BC385201BBD78DF875CD8F7D67C0D4F26D3D9C6345C55FDCE9B26BAEA3963
-A7DB21622C3B3B3DD82DFC66FE74937EE3728FB20328B047463856F9BD4E1B1F0D088A3F
-19408DF937A84D543A5BB17445979A37399586A368E99FC2542D8F401D0BF360CA619854
-EDD0BE31318865A20F221772253518E9E09BE9DF95901147411D4C0879D26D8F930E4B30
-3FFEBD5FBB076BD9BC5B0A4C99F0B85800F25994108428F98697DA6E7C14F1780BDECC94
-16B682AF9E92A7AA7DD0B33EB695DFF884D14BFED98D3D9F84E36ED4FB2DD86F1A42D8B4
-A2EAF46CA449E0ADD9BA067F2DE96897318BDB05A560BED7588999185585F81C9BAA0AA0
-9449C1BE1F14AA0C729E6B66622D18B8D5340B74BCD66B967E6F29365A5745012C881F6E
-CB10CB82B46B7AC551B5ED79C41709AB70B4AB493C4BC6DA1CAE87011B5961A5FF4B0ACB
-17A95F29D49FDE6830C3B2D170968738A8815149B242B4884161186079DD6A1217FE9CE7
-E60E7045A21B10138832AE5C880FD54FEC7B71974DC8704DEB006E01EF9F61F7FC22A117
-123D5A2EA6AC39CDFC6BBB6380404B8F98CCD1E4FF7CBBCACC4AA13F260C081D9AF5108E
-518516A2C58B27CDF940B960FDD3D51AF3FA1BEAA90687FE8BD145E9984AD71187BE737B
-6765F385FC7A58FA771C84759CA27F908038C2B7BDF81DDB6797A3EB4EB6E8ADD3FB9FF4
-E92692577747890EC0CF77796BCC291929FB27FA69F10AC7912D9A7E6FB84DE14D9D6D12
-115A8630F8CD3F26A86F291714B931D3822B8A07E9276659D5F36EFE72858A444557FE0A
-3BDC70E9D52F941E790EE7B7454557B792002BB07AC33F10F2CD2E5E16E88018F6F79D54
-34E408572D30A3316C3F1BD36E1BA16A49C3623317C62ACCCFD869EA76921D729E70F2F4
-63FA8F0035EEDE8EAB1E7BEE4C389DF3BF6625DF10CBF19701381B68525BFE96C2CD919C
-2922EE99525048392C1BCF26B3141B551E9DFE25A2D0E84348BC032C28ED8A118DB6A083
-B1AC44A0EC9184D101FCC6A9CC4F5F9756783376BCB2DC289982795796454835FDF5F325
-DB4DFE924D2C02458FEDED43FE8DAE2EC4BB61536CF755E7E920835455CCE84B5C0C791B
-9CB6D494445F304B173628D8057F45E9860DC8DE045E351750C0E71B2B13F78AE4941AA2
-F3E2E8E05125DFE290AF817D87693AAB16345CF0CF6CBFF594371E9815A5F3360CD52D8F
-095AE10808F33F86E07E4B8A2BB3486F93D04C88FCACC7907E359442D0CAFCC088657360
-6C54F56DDC5039A88396731AFC577DC3324A0D24AA9348245F660A496410E3286B81D6F8
-7999933D898C0FF0D3FCBA5F9D5CF3326B863E941236E31FEF86B7DEF1014D1C6CF86B92
-4FEBF9FDEBD3709805485B618DAD03D15B5C401B94B2F4500F2FBE72CFEC2A69164D6185
-DF5160441DF72FC509EB7C1C1322AA5658B09E1BCE9BC99763E7DE13057E836E57D24460
-DEFEA1CE7C2553BBE5F5CDCA7869B7153A0C5349A7D0B546F971FC63864BA7F00BFE51E3
-905A87F67398D568709D27E5A746970F72EF9C71ABE7CE96044ECF80352F712B605A6B10
-8426A06A27E13FD837C520096D15F9B1A44E6F955E3FACD91B643BF0EE74D3FD6E9A10CD
-F05C01FBC7BEA26D8AE8565CB89BB2E52EC98A4F4898D146084CDF4E6509462D267CE81D
-D7A0E6E2EFEAFA1BBF696803FD40F021716C2838C19D32F741FA334D228E2BD34DA2D561
-E6609CD823CE02EBB683A6F1EECD93C9103E5328143EFF6C9E05956969D2F25AC992FC76
-39B5C238FA4A3157B959B4AF11B6AA05823C015134836A6560EA7F07EC86117511E13B10
-75D0D2259D36E7B8065D930184C7DDB1AC2B42A566FEEA6927313BE91C7EAADA352D9E76
-43D467F94AD5ECAE37BC145278B4048AFDF432B2E2F219661CEE53E159490F1E0FB04DF6
-D42F4B322AC01E5732859AEC445D6E120091996DCE46602EFA8C01EB0E1D8BB6D0D12174
-E4990498577B86CCEF0EF5F7EE913A3A8D78EF9CE4F37B0BE1B5F40A4D0B00EADBD92C7A
-5083E8D4B093D7BDA5B88E08D5DA4EBF7FBDEA06DFB8C5161A92548160163EB7AA97B603
-96D869524163EE546E1E35F764A4879D2DF056A5E77438D45D81F9356A4F8EA0D007E0B5
-DD2441879A48AEEDCB1A2F493C3E648EA138D4DC080022EC7A62E08373CF032F48C2F585
-0589F04122726500E8B29216CCCF6ABC2A04A726224F9B029A25DE8C5965A6ED3F6E3518
-B72C6A0A64802424E91DDBA855C20EC358F6FBD79C30CC6DA41C9C117B23139C150DDB33
-7FC090A907DCB0FA4DCF914E3CB53EDCF7DFB6D2A200F7C2E8401667D828605C64D9A62C
-7360AECC44BC3951D2ABD75976528B0B98913A2741D0E160B48FC0458FF56DDAF4FCF5B0
-6A351BE0A90F851C44BEC636C0AC688226C8B0FD136F2B612BB66ACBA8FF149783F24B99
-A0FFBD405F655FE2DC577E01953716C44965782D86658859FA313876424484951448ED6C
-E43106D4F8FAD95C3163A1AD47AB14DAEE015A257735B0B14BA8C1F807B54E54670BFB7E
-9311D936086C6DDADE803F4E304B6E823A937E1A92C28C5A61D0FA1DA992DEF383ADC936
-E910075C9573B15ED356345ADF2EABFBBF8CB6D1D35DB404CB70DF440642562D8778E5E3
-1C547AA1DD408A97F44048AFF9317364BB3A8D35503CA5F0FA509CD0A20DE629DD243EDC
-163402620ABBCC4E9D7E679A92E7FBC45CCD3923AEC1C20C8F15647B0E661F82C738FC61
-FB3C954B9097633B78D21C958491977377BA0FB845FA5357F3519572002CA6A88FCC39BD
-CB51A2F2BA462905906DC5A76632708E41585A47368D650954826C722853A1B9364D3F21
-0A844A8AB86EF33C8176B76E891F2AEE7C1DD8C6B0A2B52CE2AB398533B6D862593D30BC
-2BC3046C588E63E2C02F17A5336D7B03B8CDEE76F5B8A8AB32F431F9FD1FD85013779781
-274597F8B717CFA22066ED723769550D604ACA4772C711C672FA57A9A30E962E9ABBA798
-AC43517D02EC267E25CA09B5FF087C0498660A975A7BC1F726B9B0362E786A5E6DA97B9C
-83C8B7BE172423C79CD95A2DAD481CAEF11924E4357833DF7692C22ECE4A7C92B6C84B8D
-4E1332A9AC1C897DF2777C9A3C8AA4B77574A5BC296BD2BB4DB715609DEB685CE804B710
-D098CF51391D799C2F59017002C2F2018970BC614F4A4A246A49E795FC2627A5361A474C
-4EEA15FD114C5E067D2F091A25E56A019A2DC6E00F9A3CEAE73F68C7387A2BA310AF9980
-8709635A5A2AFA101FBC0FF8AF9D7F7CC1E44FD2344BE0ED353D24E8624D464938BC13D4
-078B481D9B32937D75B52CFEDAC13FEA859123B76C50856986F05DAFA7AB1885ED53E88F
-57CB20D166DA5B3723AF472A0C3BA1325015BE2097BA520E15E0CCE3FC8D3AEC37F3DED1
-671FDE5EF193849D5141B9956A68DC514D6A9FCD67AF25D8751AA32D114A58728CDF973B
-05464EA3CA55ACBDBC0C2CE814CF10E8639273C33DAA263C217A8C6F1A8EB1BACCB6C7FF
-E50DFE35E2919D0CDD7C099FE7313B8D610C90034EEF74908906ACE8631A193C5C6341DE
-6A311DAC36AC2E9FA441E985249302F9273EFEA3FD5AC02111A0B697CBE2FF96B245D2B7
-0847404C184BFE1E3C883E66D90EA64C797597CDE06554DE22537638509E69D9E18030F9
-E2ACC66700F2429D8C5787837421EEB83B023FF531F48B40EBD3E58A13A0FDFB227C2A28
-C9A81C16A7554BD0831F68AEEC7A1E834BE1F90CC96D7E6C5B06A5EE89B231C183E2BAC8
-4840BE8EE0CD47E46517F6C46F27B3691E5D271781E612602AA935061867860C660E6BBE
-E57583687BE3C61186D98BCF7EBC3A3AFB9B88C7C466DFA58BA37840A537F1206C522FA5
-DCD1C129B51AA8EBEA4F5883B7D1EAD667B178B56FE7D831DAF15C631F52197F7E92B34E
-DD68CFC92859C49922404F21F4BBBE4643501E39AF897D93EC8B89FCAB6BB8912F42E805
-532691D4BBA96077BB351BB9070DC2D5C17D60374AA9C8CC6B6ACF929B77E252F71A6F61
-74FE8058A8DF23CFF45A046CF30031D87FBE2D408BDB0C9939FBF6F16CCA38D97AB8B19D
-7278EF78814FA670EC235651A4703B229B50BA6B3EAEC8A22F41AF0CD01984238C34C2A7
-9E18A8E493F64F74EA3638FC4EF88B7D788648B4A2ABF02432988F9A3C871FCE7C59B339
-4E00539AB825DFDA2C420E378D1A20CD0FB6F060349ACBE266DB820841088A9FF50C2686
-F90561D8248881869D04A809E738761CD091B084610BA958A39CA3F19CBE38437DF0FE69
-D23264E56B4760044F11EC435631D06C6C7934427BAF1015C9BA4E370CFD16F1E892AC3D
-7932504A52DC9D9576CDCE2C37AB393A55180156F6F583B753E117E42F6BA85A64155118
-2FE36FC5D5C4C80F88F8825E88CA9F5CEBA97FD8ACBFA3C87FC906F443361B71F6B2D875
-DEBFADDC1CF3EA8A7D099C30A4207CDCB3901C13FA35DA02FB95DD0E6EB587D46D739A27
-B2A325237F8D33B1413618E8FAF1C9C146581EA841E8B85174D1787BEBEE6E409FD6B64B
-3B066F62CA10009B10FF02A9D708203C02EC1F3309653B617F053754EE9863EB202D7ED6
-F5E47D80B48D99040CD17B44646694D8BB68F39FD6EE4ED77606D35B4B668A16608AF657
-FEB98F826C291B26325B6EB8587CC3EDFF18FDC96C56241ED36A6115BAB6579D5CFEE016
-75D3E4F23ECEDE16AB09586B9F5A56511EAFE9BD38D5B36B0CA45F1992475C129798465D
-0B7E94BE9B308E87794522507AC3AF7B29C91AE0C6ABEAB8989289F238509063C3E74CB9
-393F2934A5FA0EB173E2982F412875AB7F1ACBEBCFCEF7647203869322300D4C110D30EC
-C61E846AD1FE42361F357830D5D6DE7DBCDA6154F8C5B6591EA2580F34C2C5422150BCC6
-E8076F510E571BF3633255677A1971CB0624BB1A6DE11FBE9CD1260FE400240C4C5CC59B
-A1EC6CEE2E054995D33FB5ADC781D78A371A9116CD8F9DC09CFF2F3542BC1DC1B4E61D3A
-7310C9674DC24DEC68073F4A979FFF96DAC759988735089B043BFCFDA203DA4F99D8E719
-1FDFDD18F3B53895F7AD46093B8A9D55CFD2E527A50F46DF23E0288FB8F61E2254DE6933
-DB7E78462CF03E7E454F6774415D3DF25926B9C7E48AE576B05FE164CDBFD3AF56FF9A94
-D0C08EB26C4514140BA55B503A52D98CEC90C721AC3D2E280288D0F73C2A5ACE87AD9798
-E15AED95526210EC6428D10C1422482799D1BF69DD623B1B16DE95592FCB6366B5E91C1A
-3E03F6D086258AE19576E5E66F9E6A8C029E26FB7471ACE648E9A9FC74251ABF854772EE
-B42D96D9C87EEB12785547AB30CFB71FE683C621CBE389225C1F0DD6CC7C24FB9E5AA117
-A4A9C83A78776C0198745A21B6E154A9D560BBA0D419092CF341F1606686D396C9F417CA
-DBFAB2D360D2035196C85A204AC2F0F3B3EB17BD337E6E9D57BB414613A636E22E944FB2
-556D9046E9CCCFE0B82BF68E0148B17CABC0A926DF4885D2572D53435CF8CA462BBD9A53
-AE3673D6C6A7BB9E857B9E01CD95F2336EC1DB562088E8C2B4C6DA9F8E7F6506A6E69D06
-82785BEAFEE2B57C1BE191673F51C6E2DB711667E34518363119A27D7D3618AC791B920A
-E66FDFEE50BFF094E587DF23A4C100EEA75AB4E1B3384F99966543D48A3FCAACFC76E5C2
-00DE81A2DF1C7D7E4FE1D8FF59FE187C6271A80B42C9CC854096BD3FCE15048E7AB421A0
-89C15E9574D535142E877C1D72BC5A1173D157A1B61768CD39FB88D574A1BC3C67BBFDE7
-02EE677084111B8ED795273745892D9260CED632285E633DE80F3DE62FBF73350D71D72B
-84F5A18D3BD43386D05642FDF1FAB29CA63B82E1969679FAA6283160946E0E3C7B3519A3
-5D791580141D2F980023C39C122C2D102E4243502B517678C7A4E522753F91F4EAF73C75
-C644080E3509EDB077EE84E1DAFC06B25101FDF01F1FDEF68C326A6F67253E18A0336EFB
-2375FA4F70A077A2D09471AFD31FF4DB23B1FFEFE8A0CE644E864BE68E05EE75192D65DE
-9D14F9A385AA2B9C4E5BE385FF1E2C8C9ED1C9CF4D48AAE769AE7FD807280FE96EA290B7
-8DC5A9F78F89CE562183C8D8DF90E6AF14B20C0431617FBF64BA977EB5DC3BD63BF0B81C
-AD3D586409EBB6211CCFC8CF02A74A30CB9B3D2BFA8F954E3F9590A664B16E4E3EE7092C
-DE1D42C778AD283AA66B630DCD68C968B393C23CE8D76AA2A9B911AD24D3C73C02B2763A
-088ED7A1CF3B4BD07C9A0DFF7B642708B13B8E9C32923FBF1531AFA279E162804C301BC2
-F69F4E24A05BC2D93BB622B5528D2263FEF2C8A4CC1D6F01C282FEF8A188484450FB1359
-DAE4530DDA82A2B5359165BEDF8FF28880034D8EAC5E7C03A8FDD59EEB8E2564B3889509
-27EDFD59C2CA931F4058C6406DB402B71CDD3EC21F2533903830DC407F814B86ED983E29
-991A94AF27C008B2B448972C6CB7FBC5C30D577774624318C371737D090F67F6C36FC195
-F7E2DB836CEE170DE9ABDB2D99FA06E340CB144F8E65A29F13DDB34D2D462B38C7CB6695
-09D77000F9044C659B941CDDE2CDD35D12D6FE94B502CE6C67824A695D42828E2D111AE0
-752383F579A86B38BFD3F173D34FD9937F11027F44748A8903342287B85AFB49BFE24240
-0049F4683217BD8974D21EF4E373EBE69221DE4FC036AD9CDE8D1986D16260F361255CDD
-6357354CCC036EF8248802C5A9DD6BE470FD647A913409EB0AF9B629050604C166A70835
-3B78E1A2A179B3161553FDD55B036867914EFB8A9436F668860770DC512D8779E53883D4
-DCF5913BE9C0AA9D002788725BDDF0B5FDD0B3E49A4DB4F79E9D28FB4872CDE8999A0E62
-A6A7934A80F1DE7B84672A65513F4B1B845437DBA6DD1DF9ABF70DD356DE74C924213528
-F24124F153637EB9ECFE91AA71DB9A92C19B376F7E409F81BE121349E2D5173B821F018C
-A19039FBD57F6F7012D5E4684D149E92FD9E1EA48F3037B162560E3F29C6AA8100C0A633
-D685733DBB08D30DE48A53E28A3D4776B715355EA7E690664BD3F1F77AED2343A05F748E
-DB986519D8E92CB843BC8C62EB5F46E73D734D079464EBBC97693FB5A95FC3CD7EAD4A42
-AE6090F18938D286AAF8D0AD64C77E46822EEAFBB655A0995110AEA8C61C4F198EEB8E8C
-CD40D1A4317508E96EF47F6C9F4E6D37D81F8296BEACA5FF63732C8FFB8798545E86539D
-6FA3EFB324A89107534E638B54059790DAAF10234064B5C51B1B233F977777FFCF18AEEA
-AC8E9691C9C4E5652B68D4BF4D262565AA53E2E639FA7DE00A6E8E81075DAE11D09DC355
-2DF890E2F4FB7BF42D94BEDD9FF9E708765DBB5E2D86984BB5E9FD3AA69529A7B4A547A1
-3E7DD7AF3DB740A8076FB06D05EDFE10D4F77467D4950E515CCA452D9FD9FB023B7F7AD7
-188060BC823B479ABE20DCA872E7028AB0F44C36DB113876703856A5C632AB2D5F6543D8
-98C9FC6EAD7609E3002A348619733FFB0C715F55842ECA2FA2A1B89DB93A3BA102504DC3
-BE1F54AAC59EC23E6EA3223912EAFC711DA3210451BB58AA7AB7F14B1621C61D9875C97F
-D4DEF3435C6C8BF9BA8574E2D2CC43EA26E34C774953AA0790E650ADC9BF79D57D90F994
-C1EA2B452B4CC7A59463C7CD5675632250C7A51A13B494D7228EF4843C8C1A75E3E2DD33
-3B64FA9ABF7E79185E0CFE9E416B619BAB1F0E27524B1736A97629DB8A9723231E1BB587
-8F94C1A223CABA2435BFDCC4D2879FCCE344F6387E33DC32DD59D38388A7EB620A28153B
-C3BD9BDC43B6918A64E00AC4B27B4BE4A1C7BBF0A6EAF2656E196F70526C7ADCE42B3A12
-DF7DF2DC001F96C1C9D6B74BBC11177772A906922EAA6D745CF0A63DEB2D8C0364D2BBB8
-0A0A2FDA0DCF6E4325742AE90BB62AEAC0DBF0962C8101216C67D0535E96A464BA2185CC
-612AEB75F66FA580590C43D13C7C8C25B858F63AD20258BE0C77809A641A8F8A662B9C81
-0F4B3D1A53A80E062BF3F388A2AE1D4877BE988DEAFB3A5EE0743EE75CD07D7BD867606E
-45AC6243C9C775429CED85E6E5CA20021C6603514D6A6B36C153CA063213F8894ADBE917
-891A1ECF868C64E7BCA2580A0180F6746F4B6016A5326D778EDBC993072DF8D6F78A53B0
-5CBDBD5EDA4C30CD8FA370F701F093A06904AFB9D82167C82E1D069047D37B9A437AD75D
-9F7F6AB574925D167B6C4BEFEC85AD45CAE11BFC1396F5E6B39843E71660875105150AEE
-F2290EFA830DF0B9817D30D52B75FCD43BD20D30ECCA85B20B32698600DD8A8D0BC107D0
-C77B43C87161B766C69F02E81D58DB7006C5D5660DDE997AB669060C70F8AC2FAC3E13E1
-BCBAAA34143320C795625287013C7EF306BAA36A61B9C71F91AEE7E543F4586A7D8BD432
-BE60AFE2EE0DDF5718B227784E7165C4D2C4610ABE9521854902526E553D0A0CBBC26EF6
-E109C7040C3E876F71581B2831BB782CED2D8ABA918859741B1F748E0B8F81B168C7AE91
-25957055231EF91B31C3C09E2FEFF6C1BA4CDAF73B07684306BDF5F735DE2980E24C91E0
-A96B53BF903A23A324E2C3DE3432762CC7995CF5435A07252D6B8053DFA0A02AAA0E52C8
-8AB643C591431E6D3271B7AA05C5B5EC445463AF4E13D37E419947E18F22EF9CDF1BD04E
-2E7F106D231986C21CCF02D103253678E4F56EAE1078993E69B76D07F1DB6B7C91F2C754
-7D521E7FF0ED8DD23A6277AF86E4F67B1D9B4FEC627AA69470922186E477EF75A7D77EF9
-FC4A16ECF9A37597119B804C927377352CEF88AC515D6E914FC1EF5AEA7AF1F3D3802C82
-60305538E678EDDDFA87ACD3BAEF1A09F4F4AE1AC97CC0E7785F3DB18B6EEAE005FCFD6A
-C2A611CB6F4D8671C08791B9FED03755A13B8AD33C3341CE9C4FA948103DC77EF727AE31
-0C00806D7639F922B967830BF717CACFAF26E2331C571CFE01B214ED596815C833CA2973
-1D3B159B691BE5722D8ECFC2FC07E0E2A12FA9E76AA3F13374310C58E8E7CB36C68DD1D4
-3E1EC626199B5B77D977E9786CD9102454834775BEE6EDAB046E7BF335BC4572544D9377
-D60C6C389934E35E40252BB891D295E8A64C12C3790DDB9AE563FBFAC83A3AE606116ABF
-36E94DB1368234A61027B95C152985B30D67C03A99C6C6A6DCAB9AFF3A8B5766302685C2
-A6438B11F72D91D3B1D2DCD97832861DF613EF54D4858B02A73D37AFCB0BE38C44ECC588
-20F47EA30645B18817B79268694829B33EEB7990C52A4057BE22490C688ED1D4B0B8096E
-F6E24114065FDA365D05F9804107459ABF86DB0E7F38378C018003F089E79764B45D087D
-02DBDBE171A3F280F8BB673D13826CDCFC624AF331BA9732D81E16E522B551CFB43117A3
-D2FA42EE3159041494C5B94E66FC3D59C0AFCC0785C89F4810F772E72CF7133CC7C75A25
-BF0648BE3E0EDD3A724DDB9277D8956876F0718ED0FFF0D7CCE2A8CD683D2246EB26C7C5
-0EDA3D83BF795B55207FB1B8F9559D27194AA9B0DFB8900AC8227ECFB43EC08A7B325DDE
-D23F0ABA4A1B771483E181383EE1AD282C1E69B5A9E652EB71934CB6065FFB8FBFDB8307
-785AF2FB59FBDC229974A8714C47302429B17F5B10492C7594D66BC8CE44A8C42755499A
-F34DD4DF71DC73E2DDEB16DA14D446A0E0AEFAAFA47A5290E7ED5AB76C076B892156B159
-A5FD0E83D88CCCBEAE6395046A76559F8F33DBADD30F8D530A342297E4E6BC9E0A0C9F17
-60ECD67C3008E01E34E5F688377CF8B6DAC331FAF3974572242DB1850F972DAA8D73F9B4
-1A21CD8F3ACFAE89915EF1A2E369899F81826565A454B0E68C02625AD18E47742280439E
-B28A956044CE0A1A6E71895528109927487B2E543BE901144FD3AFE5811E2D5937439E5E
-29B6B5CDE26F27174D6DF8D026696953A6ACCB3E84AD623C1183484F38484C41E31D18FE
-52BAF597742D38312C7F83A31DC53EF0FB87325CC73E13A9A8B467C07237D23FAD848035
-AE90BC164C363787E65E8E759BFB8A1D0E36205BD6F9B5D95788E2A8ADE9D6CD15E1437D
-F89755AC4FA834643732D4F5AFB8B379C8A404EB2D5795FBA40A0344DDFE3E0BF2475616
-9AABA8F303DCD70653B3FC4F15565E9A3C53E2190F3F8EE18DF5C5E74A5EBA1375946280
-93BA397B914D8AF25792043641E70260C6DFFDDA2E09DEA65B3C58260635C4E3E0D4E384
-8D7CC744A7D0E00EFE5A4F35B392E536F2EEF714EC49168304DA679F87088CEECC5DDBA4
-EA30D04BDD075553947644E66E5D5F50643FFE8A48D3B16633CD2083F05755BD47B71767
-53983E6F4394FD61B4964F749977AE31C2D5C25C3C40D1B7E070C7A019EC00E3C55A3255
-EBC73C47F2A4BED7BF0387F9E494FA3E2327D76584727AD5E8198BD80A56B7EBA9B0D92A
-D0310E640E53ACCD7DDD57F3A286A301FC3E1ACBE21A4E9C572BB15721A64648027EB8CA
-13BE6FD4C97E304406554A623F3F9FC0F95497D97A325BBCB5735E2A67BAE21C6650F633
-05B25DA1E1DF9417597E09C8EAE3C3AFED656BE4A8021F5AFFCF55CCDED9BDCE2E7E195B
-1BC94C800ED80960503D735684810117CDF144B739AA5F912E71530A244D4C9DD5BC1AA6
-4A6DBACBF7B11706973418E8C2E04CF96E21B56C41162C78FCE26B025FA9E920C9C7641A
-1303D118AC0AFB7C87A371346C19944F5AB905B59AD125C892D213989989BCE2366CD210
-8A07518095BF0051EE471575E0189E41C7350F1DDC40526C34081730EDE9756CA029B128
-6C63DA99B0A4422DED67441301E7AC53A74190D24E9CC438FC2826339FF05E3B58F8FC83
-FB8F58B14DC842565BD87ADF791E8E4413030B60A484128B0A91F91EB8F69B90FAFEE2C8
-7326618D44D4845ED40A2DDA09B5CBE186E330D4BD84A49A28E3F5D1AA6B37773C12FEB6
-885436DA31DF8145CF2A993242E6F2177BC470F58DA16422C8BAF4FFAEBD8B0D4AD5D41C
-A32147945C2158CB5113C64ABA334DA9EFE8A371332F1540E374E0AEBEAB6BDDFFD4545C
-E156121E3348E6BC1D3120D4BA238EBBFE05AFA4FDFB3968494088F06109BD62AF8023B1
-1F8802FA6322E0F11C03C97C229C80C656EC7E96E4B5D7BC8040E0901BECB86D9A4A5C70
-52B867CB27F11307C4CF24BA0F56CF555DF0A8F247D5A98B1B04B19EE9B394B3FF9473B0
-2D943013C77EBEEF429D97B42BD8E25E251FD7BB352C3994DFF181324936F0AE8267CE8B
-657D167E89F690B0079BB26351FC13A13F968BC5E99FD306DAFC454A5F1A7ED0F388CE57
-62AF1A627ED239CE9B4391FCA709030E0734D5D8E1F7F89B3BA991AB9D4AEA597C4B074A
-69F44BC22323039A98347F49DF7A98BF48E617184A03E7276716DC5895B5628A004FCF5E
-01C22F2304746521740C919F3BD418DE025AC898B104BF9D15DAFE189246D3FF215BE37C
-E1134F41B0D0F0AD80719202E6E3691465AC0C9430C80028CBACD2B80A95A6C10F39A5F6
-12DD73AF2C3E4E0770FA137759F5ABFED0186BEAE50031C202975200B58CD5C7AF95E60A
-DDB460008A52BB26F4847E6E290A2CCB1F984E97B899D7B63948411FB074178475CFC3DC
-E212536D720C6F704C1458D45E5F2D7DA34903ECF51947DE98552CB2CC5705494121A96D
-BABFF6E7B1CA155EC91D910DB288BA8DD87736EA60C2B5A35AD67E4C4B323F1CEFD5844F
-1B6947FCC7A11305A1CF3CBE545C891CCB7A10F9685C9E2979F7DED90DD1D5C69B934635
-B1444A33B4CB56210DD269B7CE94BE1282EE7A2E2652CC743F33D25F1E83680DC05392F5
-31CE3343914C7E6C77D9A0AA13DA8E7A97B402924097FFF414076A8E055E76FEB93C4CBD
-8841A560092F4ADCEAB9AD16D7EECD6696BB47AC93950A844B70386F77572A3766CF3AD2
-500DB126AD78931F8FA3D7DA41C1F3E8FC42CFAC03070E28707D0FCA1A6A837521BFC1C1
-86990ABEFB76BA56B8ED8475F19E3B6EB8AEB62EF86989559B76679FF475C79DEC1A0DD0
-FCFA1FE72E35E5A50086F49757FB1E65957488453EFEC4E973A48EEEA0F4D64054DC9667
-0AEF518AE6999EB2A61C1DC53795AD29A18F30369C3F4378B78DD76781E7B96C39D068E8
-819ACD8DDB59E4D0B60D42398E336838FAE48E164F7935EABCF60B8B6CDB887BA75245FB
-F061E3756EBFC0ACA6E0FFE3CFE8D3F67FB75186DF4557165E1A492FD523C7343B1C2D37
-F05C4CEBC077B8DA778BE378F322AC5CC3B06C2A74687B0B3AF9D08D453753B5FC6E4289
-F362954B80C0E4DF1915E1719431244BF87E065B4A033E0B204E6072D006EB10DCB9F916
-0042925BB8A82EE47AB260686DF9EA59803AFD45C4D0B19234F6BE7913519D61B5E6250C
-4E5BC6CF722B53B283F4D5E5D2AA7DE35B5C87FD62C9E9DFFD671BAE7E08E68E11710E80
-5448DE7D5D65F4AA2E27EF0FF16CA3E6569A53745123A9FD7F0DC8A57D1AAD7CAB961645
-F0BFA125101F21F64F0CEC860CE306F02FB0AF49F0C0C6D11B437FEA68992FAA2D6CDB42
-6686056F769470CDA1C158913715FDB4D4687D06545AC87BBD5283D8B9E1FD1B1B0F256D
-7C675712C2A6622A179F5AC2ABCD06070A038068033D07E64E0C70DEAF9D61DB3F4EFEE9
-ACA908C30023FE3CB81597386872FB5D5557BD4461D513B6A62EFCBBD3062E67095F1DBB
-3167E0338EAC1A52B38FED183AB520E882595FA77F561312F83C102B04486D2942CEE713
-92563D7E609E81354D6F8192CE3310890CFE69B41907B023C3451075383E4BCF6102A669
-4B0593D81EDC415CF7EE2C2803CE5810EDC28B09155F92CB20C139B43E07BFAB08978CD5
-65270BD77658B0D4259BBD9C3A2200B64F73ABE0D77CE6D491253C7590F98F3AA8AF8BD0
-5946A659EC1099D13E733C96A4D84405915B12D7A5399645D0C37C1944387D088FB083FD
-22BDF34BB31B396F618C518DA593A9584F8ED6E9F299E72A6F0863B4A3C9F184B1AAFC98
-0CC313B225EE3384D2D814A4E96C744E0DC6A666114241DA125F1178D8F1D986B7D31548
-F9B6079DD38BDBC0AA94F135C44D8B7B6E9A0A0B63FB5BA59152E97F61515F49B906C9FD
-42772EB4016B53417C5A2C8E881B0376656115231306FE3AEDEB6182220C2181DA354D5C
-28E0D758C573C113542CB5346ABEA9B5BF0243146C186DC5AE0BD9505E5517A6224EA50C
-315C9BCBF6707540621B95B9F0BCCA2DF5BF3E8021CE9DDD2A74B6DDB0E9F6DC8E3BFC11
-C0697E87E6C4C642D2172889DDF4C17FCD3E463B30D7A930E4B26BA7289702ED77F2AC66
-BC9ED957863A22905F0996D337CFAE61389D3C70ABE7444E8138BC1BC31F8E572C0CFAD6
-BE60B1AD639AD39BE03AD66728C1CE5B7F2DA53098008E10B82CC2BECEC7B45421F0BDA2
-183588B519182DD0C80B0EF409E2F34C38A7D205CACB19864507CCEF34C5B7A18B9FB51E
-3AFBC0970A799FD34464F7AA8135C32914D4DBC466DE2922595EC4A255405D04139C0CD7
-F162674F39D8C01F1E6062B5C946F2F4F5E2F49ECDFE43D2642272377C5393E9717CE335
-11B8542FFF199FDA0867DDE128B387A39CAA79DAA1DA1388B88A5C921BED6709418DA595
-7C8D96831B6FFAB26238DD3D11181345B4AA07FEE3D76093BA5C069C9CFE9E823416B6ED
-487308D542C84630AAEDDE0B59A256526169B820E56504014812661336692959ADEB6805
-C7091B7899F0EF46299C414925315D10A8C9652931AC7141FBD3DBB0C34476AB2808FF11
-9B10C17C796E67EF18A386F9E55E34E0D32701D1F77C78FB542D49C53337B9074D92DCC7
-0D4AE59389BF27E9CD453608A19855F6A976347AB95CEE2B07FFF6765F97E66978173C61
-61E38E6CC3BB2E278C61BDB601DB7835E9515D347F37A63EC6DADD2F72BCD46AA4FBC82E
-EC40DC7ECB825867B98D6F457BE4502C98DA8756CB9285B7DD1C867B9FCCE8591EF331AF
-44E38E3523AA39BF0922C6F59F1E9343AD34DD39DDF485FAC00B38EFF62E16CECB735ABF
-903630A30396F2912163FA8B23E97F5B81E2B5B538C454967644E63B351B068EF4BA9B3E
-70C65BF5BE8F0352F7C0E25EDB22716A632FD832D51AF2D26C880035D8017C02B0065DF8
-44E289E6D559125A31F76E256197DEEE1F2CE1D0BB7303A3CE177B692D3D0F8931A35048
-F86168DEEF39FEDD4860DBE06F21F21D35E8B982D299CC945E2C8E1D73D1891ACD1AE977
-9584F2F3E9B5621C6EEAFCF91E293996F35562C16AB5F35B6A0B55D9FA85FE3B08692C03
-E453B44C8E1438205A9F18DB136F954C7155DA1288BFB6927A4C308C86C682B78087FC5D
-CD3976667B4CDFB90CF4E882B1C35D9515760DD4ECADABE73C3E9758E0A8A3B01BAA6A2F
-091CFB987E893A722ED935642252512C3C3492FE736403EBFA8FD18FA9E9CC5B0E802E4A
-CF77415626A072B3EA3C637D2F998B91B7A7274C2DB664F4A9D73595C2F47DD61E303403
-04E0DFCF9CF520E33AC7E0978B004641E5B6A88A0657F615C2FAC770AD1DF1E31BFF6E1B
-8A32F32F0BE2A2649B9BF3F046D8ECF27A0AA62909D0A80262633733EFCB4C21A295120E
-9B9D193A12073BB638C3BFE75AEAF1B3F43FBE3FBA8176DBFC8AB0CCD2E874DE912E3A7B
-13421673D66744ACD888E2687051B8CBA461B90E7302963CC5DB88AE64303BE9BABD47BC
-05A780E1545EB389973A5CF4CF9E53953DDD085E617213B10B3836101E98A0638C1CDCE7
-C9E0D9FE79D94FCA6472E2C9C9FAF3D7D9F260FC849EED1236AD5774045E52CB82B0F7A5
-FE589651B53D7E9FE4A8848A702D6D5D0A415337F6E8DC7148ECCF94B23AF1C11616158B
-EB253C903DC963B61D2C27DDF6E13CDA799C54FF9762A1864E516B913C401713B8854414
-B4CA200EBFAA01F382C70F27589796D7EDD4A35334853B33347F231F24C1817657C93000
-2B59E0A2C4A9796822D5F7BFB3193DD9808398FDC53BC25F402AB126C1B2C83914888851
-037FF02EB53642AA0E6CCBF0ED5812527BB367DB4E67A6B8046DA7C215448808EAB80496
-FFADA52671C89E018CBC8D36CF78675E0A721FEE1112BF9C78D478024364E91CFE2468EF
-B6A0BD9E1DA67863124D9F5F996EF1FED356C7FD2AA3DB3E3F6CA36262E896894FED244C
-F3BFAD999C6F42F13D4AF617C03E29DD1F8ED75BD11F94B1BEA408ECFF117610EAFBF4FB
-241AC338E6A8714A92F2A5AEDE86C493792743F648F2AF6E9A2C692A9669180F629947B2
-6474C03FB8B712031E24F7529143F432607D57E81CBB91A0DC6588EAD2DF8AB5C43C45EB
-9DFA398AE8272E43503D987B36504181B2E9AF2357ECD3E6FDEC731B623D921F8D1D0A19
-027876125DC02D8FD29CD8521B36373D4498E2D2D9144C85BA8D5D9AF13BD5C8278F036D
-ADADFACE6FFEFDADFB88D3CFF12B2CA14BBA16CA7267A4CAC32A0EDE215D7C0FC7EF3B6A
-59A33CD5145E2D8E3530F94B5BECFF74357DBA205348FB22D4E3D40F77ACE73BF519CAE7
-5277729978A61B1B9B76E846EE15C8139B927EC9E2F8B684E0E5A30AF34A0027B9F2351A
-B149CE2C8DC951CD54B4D6974E0BD74BA6C2F83BF680F0A01CB39D8B835C097E262A77D9
-55A699E86D30312427EDDD64EF7A3ABA1CCDEC22EFF658FBEB30B8FDF59A9C4185A55704
-530A1499CD700E1D6AD5DBDE3B662DAFEBDBB185C32C7E34406FA6B3878D5B564ACC5D9B
-EDF6C7B42411081423FCD2BEB0AE7EE02272F547D551547A11F8CAF8D9F2CFD8FF3626E6
-3CCFFCF9277E6003911C54371677D671AB17424633B776DC98004EA4EA0917E085616ED1
-273E73F2FB891557CC5A9BB65FF704EE526EBF8B34359AF0381A61059E7B740D8069C128
-0F942C6410FE3ED272251F2653817FDDEF786B1F7BA9C6CE02C56C33D98E937EB303717A
-1AA3FE1CE2D10A5D07F0E7DD4269F44488ED497E75C92657A2CBD792B9E3DEC8C073ED52
-661DC43A52A6A8218385FD37E1D7791E540F225AAA90480B69468660E05F5B826851F985
-8D127FF6ABA8E58C4F69961AD4896B4EAD41D14399A3F7588E04E63FC1435DBD45530015
-D9C5A1DE717D3923919C31B79898FF17D949F47D354CD81840DABDC5585E3ABF11E556F2
-9EFC55559AF05084F95A5900033AC0AA2FE370C49C71411B98B69DAD30D9D9F75DC90A04
-E59234156EB4B9DD2F923A2DF771818759BC86E763FF36898697F37343FE7197EF5ECCD5
-0933E2C446D7AD1AE945A87A3B7F62F8E14899729CEF06BCDBBF29D65ACA3EB4293CEF53
-501735F2DEE6CB331ADC94F27492130776C3E3B422975275C115A1E9882C6A4559A698D4
-46C5CBE11497CB48EE316810CE428A6A08BFFFB3D196DAD7BD4778F216055C79C325477C
-92443E2978BE1EDFDE5836C722B96A070269D2D3A1438374BA6071FAD1FFC511BD8974A5
-803AFAA40E3509B10223D7924DF9215650E9F13E75293B799B4256B7DB4878F3936CFCBB
-33D0A37E209A1E3EA8EE6A3455A84E28552DFD56BCCA0BFB10B7F7D25983D3865A9C617D
-C85CECEF64CD8E470916B0111075DF6D051186CCCF48813C07E53D7DE553FA3B50B6F7D7
-EA60B3EF169527C6206D89C15436344E8C4AAA490C0D6F300D3A18EE3C50D30BE9ACB50D
-5BAED6CA52732E7530C67CEFEC9ACE3659FF09897A62F22A6383F7B62289052485B2139C
-48187D0FD3F64D65EF4E2678AB5133A09D448986C96C383FCA7E3518D91BD02A51BE54A2
-F7221ADC7317ECA49522C765BF38BE70EA692F063BEF59D5465E3D65DB466ECE7568BBB8
-526587C1A4FBCBA6D585509FC29F6223D68C4BA4AB48D83192EF4D323FCFCD2C399BA52F
-776CF7CBC0F7B9F828A7441FC1540DF41FFE91718AC9CCE2EFD9D0E8D8FBCE8402B441A0
-AA2F95E4508D703E86875A48BC8C579A2CC0D3086B99290845A44B3E14B28D95246607D5
-ABD998C92B5CE660D40D31BBA97CAD73DB5ADA4613520BD4C4D19F34A9D3E57D66DB2090
-30CC7F57D5108AC7DF5F528C04A15B360C8CD1ACB78F090AC2518C1EA0D64F0DF393460E
-25C7F07970E49ED6DAF204DD86A718DE11F8DEC66E247880CE1DF51FFD8A5797C63948A4
-80D37C43C508219F322B346B65ADB3A801FFB1033D409838FE05234432EFF0FE2127AB0B
-EBC5890CB026BF94AAC5DD98E4153015B36D30B72E5192DD9D5EC6E8609423DDFF7339DE
-5EAD4AE73019DFBF3BBD13FC154FCCE5F459FF033A826C7C4DE12ADE39CD85D3366B8CEA
-64D4CC905F352424FE9120F447B75A51379885369A73600366055384C7BE79205D2B868A
-1A6246C803C27D558DEE4EE108C013C6CFB8AC1016479E37C0FF0D4371ADE9EDBC986BE8
-A8861975C6761CF9DFB6F89244B2B447AA9E48E8EEBBFE1AD875AFE06D2BD72D0867FE65
-68D316B08DF35217AB5BC65200870036F850433BA2C26D1AF67C859E8DEA24AE44C6F303
-059B3AA2CC0F2DCBFA798E151627BB8CA785FEB783D59D10132725E44133655873FA414E
-C6C9EB631DF1D0D3ABEF257BDFA9B1BBF6C17731195DB3B53EA289A0D3E63F41A330CBCE
-863B1B6352A72A11F54C813595FA055BB5FF7F27735D4D3F5C87ED89FD18A4709B73CF8E
-64F9793F12A0946B974A03C4BE4C1C2CEF752D57E323981438F021334D69737DB7B9A0CC
-4CD5A93A3B9478DFEA4096D143BED8D3C4E19C7BE85436745B6BD0D54DE8DBCD1268E5AE
-D92F8D23596A27B730088F4529D03E2C88966525D62C4A90D4869514362F605EBB9852AC
-904758B83108A59E29BA45404380D86D51EC2567A3574A9C6889B22CC1C23063A782746A
-02F43654B378E2C60A66F583FA666105EE8AC6C54C17AE79D0BDCAEFD951139FD96D45B8
-2F75F1928870A9876678588B6FF4B76F3062A0B895F8095ED27A8E620C2CA398EA161BF6
-9EEE9567D3C4CBE7ABC01D7AF30BFBB269CBBD0BCE7208BE1C94E95639E99337C56FBAF3
-AF87E956EBBBF2D87FFECC8B32220949A038C48BE761CAD77799F8191AC0975236C15458
-A7957630480517AC0F89026DC1B4AF3B005DA7DAEDBE41EA451D4B28516204427BACF5ED
-968101E14C29396B7BBDAA67F10A602207F365E96CC6E050248C46BAE78348C4E016AB3F
-1A1DB7E9BBDF6C8CD37615A12891667153DE23FC013ACBDE84E5E490FDBF9066C1CB00E0
-528714B54E71B5626E71D387B8FD41B21E2DD15CD595EEDD545A90E8F0D02388820B2A97
-527EF7DAA65732B6EE2F07E2936318FB75143DDE8F5FDE804346AEFF05637BF48A705A85
-B6F3863470ED141E118801AD9F47FB05BDC65AAF8F398BD3EB895C3AC5C94DB7CED1AE7D
-1D7311DD67343AE0B5724A8827CC26E463AA76B00F4CD3168F1C92C64EAB1D001907B900
-6B1A12550668E688E2D0ED3355ED0271228CBBE4D56848F0B08EA24B00B5B20BAD06EE1B
-C6606DAA509FDC41D2BE545F9FA650E8FBB0E78CC856A5331A8A6476FA3C44487B9F37AA
-5DBDE9BE2A64C69CE8438170E2B40893AFFC0BE099EAB03E5034458D54BF9B64BEEF7167
-A25AEC8A1F7217E492E5674E4C8B343B9249B384BA88DCC4F8902FD4D535C0246E1609F5
-4285F84C2D4B489369576E74272255C329942F764CD4A51C730C99E7F5F8B7C52DD252C8
-500319E4CBE6C696C77CE1ED8BD05D22E4861CF9D156B95499B3718A47E5BEC9FD72E1DA
-DBDBF137EFD6CF8BCE7D64A27B8C9BF6E24C929BF07F5A62BEC7BC760706D31B98DD8E87
-97559CF8E4357AC49FF6B47667228686A3AE789D68B059FBAB877F3F1BD00841A1F151E1
-EFA94F69BCF41D4F9DB5423430A2AD2BCD53BC87A5178F74EE469772FEFE1153C8454288
-31B12B8276E3E54162B64B393BBF23F1EAB4D1D385FFA5CB3C57809CAD0A453A10661D25
-685A9C56B41A53C3B1CE6E41418D8B8104A2BAF3667EC877C9B6269BCFCAACFAF695EAA6
-BF13891E52B4FBB7543F1BE26A867EE6B515DA051C3C7BA25BA135FC186D4379D9AB4949
-582692485409A5DC52BD6836D8CADC2A48A4F5B4FCDC69099C3EFC7166ED293A795DFDC7
-3FC01A91C9C15219723FEA15A4FAAC3511AE8D0DCCAA1FDDF7E2AF4CBA80E38FC6D2D8E5
-B9AFE27366ADFF0529348BE4E56484F0E31BFB7B9DA4F06626599FEAD323CA644677794F
-541EC7888B181EB0AAED60E6F0E5FB4F2FE2564E2988D6441E58C2C0C1DE63CF65D625B1
-46FC422A0E0E77C43C8FA2CCD310B5694EC8CD1B9A3ABFFA25687D4013C0E5703094D5ED
-37295E540A1B2B2E836FF73B23E8CDD190D1FC04DC6CB9D5947AA853F6748388D400B6FC
-7DCCA73AFE6D1FBC61A7A3AEE4D24BA702A2F4493D484F19CDA1A850C95486E4E4D43F8A
-A584D14F82AA0B3862E1FB06E941A90FEACC607D27AE58CF19399886879BAB287A429D5C
-0C821C26C61F169F1B90CF77878968F56737041BE38776374546623553223E6E2A8682E7
-737528C915EBD41B263DF7E12E4A4C6967FAE40F90DA0D0410E0F22BDE01F018D63A8C23
-C157E72C6910157A63B33AAC9E5F3C58F771B8CD24F0E24C4EC17277C8B8DE5DDE52176F
-A9740EAD3F62125BE32678C35005CD445EEAB9AA1E9A71FD11614426E171EE85F5D9A17C
-536C87D58C5140A64B080966EC5A3E0AED8BACE84496BD019E6023AB562FBC1F28CBF296
-3FF98D715ACEF7BDDDFD65DB78CB3F0E16C440EE636A0D7C05CB97C085F7C5222ACC6305
-4DA8C3F7D950B0399B7250BCB66D0D520AB951530E728B4892779DF0FE56C9A27E279DD5
-02883DD2E2E4013D03491C52B21DCE600D68156106418DF5273C6F6FC9A3E1E9889DCE43
-17628702B21201E48D23A7E0EC5E1DAF104F3BA1F659B8FDCE301C3D7ACAE1B7CD6846BD
-496B16BF6DAC876C117242B3088287DF82F260F960CF90849F515702F71EED275A40A579
-B0B8F707681B5FAB21A81FD992254AFC0D43E88D641445FDAE5D6874C4EC37B2BE38D5B4
-6DEB232B7100BCABA7ABBD53F5455EB07ECFA23B1703A2690869A8D0E60276830D7B4FAB
-231FDF2784CC788CE61A4909B89C5B8A5791FC3160166BAB1BE25E57BFB2D162CFCF36D9
-CE524A56A15DC752BDEE0CFE605E5BA650ACCF0DE4286C70EDDFDF8527A02C3958B17C82
-1769E8EE3E46FCD93AFABBDAE4809836C56C242B0C6C63107AC6C3364B7C79BA5C62BF62
-EB6277B4F6905CB999C568AE118A690FCBDB37433DD2B360A7C66EB52DAEB0662D61DE6A
-74637C6C8B373F9EF9A473486F3A4326ED5A442BD2566912C9531C5EA6BA89553FB67C16
-1933CA4D7FF5886F2F6B3ACEBF939B682968D4B0590B0D39A0871A78EF3885E47F892C16
-FE93101266B12AB988DB622F4E408C442937B56007334AE919983566CCF994B3084C0D42
-5EF94563A51CB142F0829F5398B647AAC6E0010DFCCCCC15BD0EA5A6CC90EF8F790980F1
-4C8A27B2792B3C83E1317CB932DB3B28F008D442D374AA75573F5A324D7C5D6DE8ABE5D2
-CF78A931DCCAD7831AC5A7A5D5DE80E475DB271F0CD21A47B1E7DB5233705ED0D421EC5A
-2BEE73D5949400151866E065B28D6E1F6574E2D335BB542D16EDA5823886430390F9A0D2
-B937F7ABD1DA9E04894ABC066F8CF0B8BC196BC1465A378BA14D2284AE4DEA134DDD7440
-77DBA60CD0F9E478EAE5F7DC0D6309C9EA514D44C279700088581B29BC0136E2F4EA3E9B
-64403DDB054736966C331AC20514637A3CAAD1B27C569045C444D48FFB63091B6D20CC67
-FA5034880794ACF58358861548044DACE9BF02B4A23925639B7A6A5DD4B6AEB2F18C1619
-DA2E4597905CF4A00ADA215FF258BF38FEE6923D67424DC1B05015C8D09DB1FB7F660C6D
-E061FA2690AF2CA528AFDDEAEEBE6291D61955BE374DEBC8A915639DBC5382A17810993F
-92E7EB5D2492E76F6142679171DB74170A6B390CBF7E13CD5307CF04D4C471BE0C7EFEEF
-B36F609D765DAFF2E682983BB0CA6B70B713F1217C8F2272637C8AE97B3E15D5D451AAF0
-44FA166A93B277E334DB8EC58EA397CD013B53DE2D7944387712E80F086942728B9A4877
-C1193716F71ABCD563EA769AA555CA4C48FBAB634B1AACB77C7A576C4DEE78C5CCE3D3F6
-E483B076A4024292A35BC7080245E56B6D58926983C0D9C31206130B3B8AD5CCCF8A8659
-465C36D5C5FBEDD7B455EB4BAFF35AAAA12BEBFC6A7B40AA15B5B957625C37494177CBD3
-E3E59740FE558926927022C6411B9F07ED9BBC31AD206944E56146CA8BC0A9E8C9172C0C
-0B7C46FCB490EBD02E86F69564B8030A3280E376839D680786A0A068DFCF0A3DA5048898
-69C9AF0362765CB583B785FE8C0FDCCE4F39527A7B73565CEC9E798FCE909941522819D4
-519A12043D35DCFA7D9188EDFEE780E04A868346C68A3ACE74B16641873B8985C1F0C263
-9BF63ED86CB556943932F9AC71096EC23E9584C8CEC8E95C52A493E4463B168BEB6F259E
-71B2B22B53554E487A897256E37BD4C1D3B48DA9AA5C5CB8D5D85C61D6E1BE3A607BEF1A
-A8ACD46A93FE3C07D0BB9EBBAAF0433C7E5C6D5040CF9F5AFFB1AD8104D1328005CC5B10
-A1993D3EEAF3C3BA4A0B1A260A72DDA6ABD5358DE5171F1DBAB667AC022F46D3BDE54809
-790CC4EA533392E6C039013D4B0FA21E36143CD9E708C89CB13E09D624551CF86BB79C3F
-13868988903A7C5C744743FC8CC6B48219FBFFA584E016953F8CF342DCD69077D9387A34
-EEFAD0463AD98FCE21EE8342A3CC4B9CC10F6804EE9CAF70FD1C56CFEF02B7CF2D89CBAA
-E45918EC9445AF3D1C43DFA501D9B3789314063A748A6907BEC153F294D6D046B9C76D01
-4CC021D3074C0A2D8E92B45EBF14C1C5AA39546A2362CB8A6FA0F5198AF84119260DA3D3
-A89AAF0A976B1D5A020ED16268C8F1908400DDB8E27F57DC2B00E3E4F0DF1777A934DD89
-311A8C7309C24A670A6A9E03C094B548D223C31521DD7FC2BEB3DEFAF7904EC0123FFBE5
-4E627D9AEF3AD29FBAC003520D0B165F3AE91AC94FD8F3FA9A6BF9FB81863D03BEF8506A
-A74C7DC0B50BD327C6942905BD07FBD62E4C3B16A06070BDFBD80414CB9D5261A5F721CD
-FC7D1F1A6811E1362F9372CBAA3C8DA63BB103B2C10BF6F2504306DB05835B80FB70BC39
-DEC4DB3ED1EC4C2B64CC907D751407B6B8379F449210D0BB68CA1C445ACEEBF9C31419B2
-C4C5B8780991D042AB3948A5C5C8005E0BE1859B13F8AE6D4AF62F00B415BE5BB641B964
-53F037C492B988D839B96AC0FE01DC0EA9E064FF06EFFEFA446F41AE8E44AE58355CBBE4
-57DBEE1EACEBE69E6686B687CFFE11DDF76C2EEEB6662B1A2A176BA63E8800A51160A6DB
-886AC4C5868D17487273984BA2A47F39837F197D6A9B279D71157B6ECC2A72F83C1A5C45
-B17698F3183C00B6A61C732604E5520320309069628602318F4F68DF0BBC2BAC6E90D1DD
-ADAA738EFDC3F63E8F24DEC44D41D2CA546AAB5A88FF61081C144DF568F35C21A887FBAD
-C87166B58486340679B5F844DBDD772E9848400746A207BD04F470D2B2F14A36225FD693
-E1BC7CD6AA3BC7FE471C56B411B084FF8A67B0B42954C0915C7388BCC44DB2CBA0A70F4B
-1692AC59029B8181D12F6A1F22170E04696799AECE8E6B4A96FE89B7A18A4B6684815BAB
-D8D94F98302D44EA827914CFDE8CAC4CE48586630DDDE0FD1F9A57E8AB0EBD27F6A25186
-7986192B6D3F46C796247B1A220455A49745710E32F4D03B4F15636197C6F84967054365
-F7C0B1C20DADB63AA474551586EA5F055F8F3EBB1214ACB3128D4C6FA566C8E506DAD848
-6DC4A245D1977218241A5FC37AF7C03342EEEEEDB2EADED36EC0C43BA42F14E3E9601784
-5780F5C6E5262D96C0C50C87C9CE4E4666D1EF982FA7D4F99EB0A5EF4AB0456FEA1225A4
-E6873C1B6888ABEDCB0D84275EB400E73695564A15E338E00DC77981DE14FEFB40796373
-631102384B1A3C0EC239F19A2DEF2689F75F5D55E22AE9EA06A8A33424765D84E458AF21
-B8C99E6BBBE5517587FF76E7D02BC5AE43007F2228014951C93C50EE50EAB764BFC8A084
-86E97549CC9A8C53E442C8AF409C98382080D32974A105D60383E077138C34F887159B4D
-5745F7B6443B446C5840BB92A3B0BC317EDB0CAC5310AEBF16285AD0C4DCDE6E27C0185E
-9CA90D3086D6E11EB43E65F25F74377AE8BABC97E0D9ACFDC1339D0613600BF6E2F6FCBF
-66A0AAAEBDF0E9B3241F57D08C17612666F8286FC17AD0CCC5AF7F355668E146C3FF61EC
-07A85AD2A655DACD2CC58D5D0216CCE6F8621405AC7A4A160B6B2C9B6C5857D40A5BFABC
-199AD07AE8BE3169A9182F81F80A094608F1C2B894A6CC33CE4DB65AC02E3528601A27B0
-FB7E14B2B97F6391B0CC8963A71C6794E74037CED7C0F2D9B7EA192C44A5C1EC78535F45
-A5A38F6C9E9E811B950B7D0B2BCC7AB21E8B10057E64A72CD86549B52D74C806C242FEAD
-5751BBF62735377DF1C0582C89B0794D01FDA343EFA486AB2746A6780508206D0C42F020
-94F3B8ED6371412FD4CFF17DB123DD857DF02FEF68954C8A64FAE88C67351FFE15834360
-1F9DA7526CDD58BAFD5372A39BB7AF47A04BA972ED382B7CE3FDD92B98B9147EC77C5496
-773F33E58D6B9F48447D3BEB6B12CF2FA194EBD93B318014CA0EFE61E6299E097B394F88
-6D15B7DE6DBDD12A8B38C5D0F328FCA5798E951D950DED554353AFC64543CF6735456CA2
-72333B0797B4CF24D247BC76F9FD325A2044F01046343862E92591CF371C1A2F6118E36D
-2AA1EECFFBE7115C525A722072311E353526224622B96265B29C10F6FA3E35B8B4AC8AB9
-084F74CA7C2E39C19361F97BADE96E7962B8356C92DCCE8B5AB85C48F569001F238D113E
-8E0D83B793ABB238B8DBEDF30F33BE03ED480AE7672942C7F60FBB2B2ED85451DBEC08D6
-3F33AF72437E6598E90C52D62319A1F2018AAB1155506A96D4F2558004CAA6EC715D8EF5
-A34C7779ABAF2CC9A288DD88B96F0F3F1E45A6A7049348446526EF562DAB4EDDD8BB3030
-E913252DED80A8075C1C93E27509193CAEEDC132A3176490B03C53DACCC26417A5838515
-FD4A8093EAF7718341F9A6973474EBD66C63884BC78E318CF04B9D3449196110EB6BC018
-C1DB6CCBCA2ECD1016F1E884320B14B27BB8A15FB42E190C30E45965C32C21104F49FAA5
-B3F983C768BE7C909127C19EE6392D6E9E698D650CEFB7AE48B2442522D88C6D6FDA41DA
-B8B3187F497DA1BDA3FDBC8B71A619063D9461393FFD5A072F237B7FAB49597636B7A41E
-91DE676102B0FB2ECB4D5135C015B99419925667444BAB52923DE73287D3934DCB1BDE9E
-72ECC4C55A55BB24A71B5A37960993BC88A0C66B82C2E2AD597EDAE4F74FE918106413E7
-233C832EAD1D2A2E515D734960730EDB2A8072D539E2C69CC5C9E569109B20670157AB44
-41BC249E8DAECBD9F2115663E7C88AD8C4067158B822CB278DBE410E8B1E3E79D4E20C6A
-E8FBB5746390C823D5D818C3583A41A2D080DF439916FF23709C6E816F7DA9FCC60E5B6B
-FD17813DC59636D33A2523AED576BCDFB0DC88725D6B6F286B2C3DD85E53D825DFAAC9A8
-8572519A254CB4435907A2A57EE96CE3078F80E24C0DB0FC3B047684460F5314B1EE091D
-6CE4B884D06DEEBB7E1ADF4B44376699AEBD7A5F4AE19B5FF8022459E9E2D43117F4C1D7
-630028D14169FBCB72DDBE7E4BFB4B7EE1DCEEEB91623718BD1E5B9E16DD4F3ED2469BC3
-1BE0D51A530DE079DE096431EB3C624898333E4A271A79D33816881ECA7C355C1C0EDE72
-039E2800D050F507D05D8DC2A6F79C1E58D269B1CF397160A813A827B5D5060CE32B3454
-DBFD65339F3B75CEA60BE92A1848B7CA7EB730BFA278E8D549D3DC68E9EB32553FA32360
-4F516DCCC56EB0751383005BCA15849491D9A0BA4227295B88BD819FAE10216E1E2F7CCC
-DE0FA17076C881DC4ED1E03F3004437849D059449BF180F4E5A547218D6CA90D235A179F
-BE73FCDE7531099D073127D048B9D3050959CD6DB6FF19E57BB9F296536E33293F4856B8
-20A8E948E00F7FB3226F846EAB9F1A7DFCB11871E7B85C4A7BE6A023BDB2314FD77868FB
-E02DA316769382443FDE43AD3979D243726923904918AB90A8405B0184189C7FD724DD7A
-E4EA99A6E31C18B5A00448A8146A9897584A935118BBD8F7BA9EC471461E5D932434345B
-630674C3ACD3C97E0A5C1E6FB286D9A3ECF40FA51AD7C1FF9992E0EFB3633F4FE8450FB2
-15947E2AA9E07D07A98723DFF9D31CF3C50C4796D98DEBE12BD475765D8AEA0180CCB73E
-C33CC144FCE23D5D90282349CB17E9FA753A6B8D0F3FA480C5D6D4E11FB30393DC4A774A
-6C568A6794F6C71DBB7A1E0D9F5BF8DAF1EC3CC18CB067FF86201124CA66FD8F7B884910
-DF8511ECA9F027A27CBD235BA14613E32213923BE966B04A79A6328431B07F762BD7AADB
-CAC4E00EC767F91C3BDC7FB20329CBC2A91A98EF384CEAB49CE57F3A4D83C4A690E49D37
-BA278E9D39B92740923B3F3E5B8AA7743F2B8EFAA230C211884999091373843DBE82C2B2
-3FF81D8D7BDD75E9782C9F3BA1C587402A335ED42FE47F837366C61306807EB50BAB23F7
-196DD1080B0389BD1221115F17D9B51FC600C77D5B02D78F05ED65F895AD34CCEB36EFDD
-8A3289F4AC4472CC5513E688B96053B6DB54198E0C0B51C3FA3723AB54F2615E0FD7B488
-B3DF35A895E558A05C100605A213129C0D8DF08C92A772450F2F1EE7806DF2B5C5DB82BC
-4B72137716329403F9CCF85B592DDA02CD4FA4780D60E8B9BD7D079C59070046432F8A2D
-8BCE7098D4A81E6933807B0D9EB617C2D8F7DC8E29A5C10030C93918378EC771EAC7FC78
-9BB4D5D1CB078D4B2F0F239039EF9F1B45D768CF1870089F76F54F86CF4BF7A443A1B333
-EBA476838752720F8ACF49C0147F62068606057E9E8F55D3C26BC0328216D6E55B9A18E8
-BD8FDC0AE1FBD60D1244AE9B060313ED36231A8610D0DB8BBF8B9D0C218082678F828853
-2BF2FCCB4E13251E1FB176AF17CFD1B4E74B195FD65493F74C9755562D91D83CDBBF8693
-161FD054345DC816F885596C6B5F423605D0DA925E27D8A44F6EC50E36C368B29AF9FA5F
-7D634E4390814758A934E216DC092F352B49916F6F117EEC457AF1029FD0FA1B267BF519
-C85866DB602A67F6ADCB772EE699DF5FBE9799BD6B0CDFEBFAF2FFBA9E7D1C7A4E9A8D72
-B1730290E8EF082B6313E162E1C1EFFC7A404C28B4B3E4C9485041E941455CEC85C94BC6
-B727E5872EC049B0F6654CA3F21E107FFC105175C30BD172B8FEE93D16EB85F14DC911AA
-E9CAB4579778040FCC18F15C35F5CB1DDAB8C393476B882571B1C81777835F011B5DC4D7
-91703453E60205ADB46E9F9049F980603DEFA613F14F370EC8729C5D365BC4D128C65114
-833F57FEAA89834597C2AAFCDB74C5CA0A35B6C380EB029CBCEF5B7BE1D253760653677A
-78D18C6230986DA5EBC43888B7CD821C1EDC997A4A3574F695CFBECB60C7F07C5FC4B9CD
-CC49ED481593019AB8400DAE0BCA31F101B5483B3DCC330631F1EC7F4E5D3EB5D6E38ABE
-DE013DBDDD4FF6D9689C2F4F3E7D0F2FAD680B94B5375853A079678C3C2FD7CECE27C8F8
-7603BA3C73B1CA9CD33F9D114630E413F118161CE5C6B38C8C5827710231B9E8905FAD73
-DB3AC1FB0C7883FB8C0A96E05859265637903B41E662CC4D5FB36368E4400737C5F34F1F
-465CB2065E90A9B453C7D2A3102CE69537616A15A462087234A358808EECECF2E1704E35
-0AF5A17DFC5D5E83798E98861B94A1170CB4DA8BCA63957EB1B7E0515CAAEC440A291161
-F6B81BA7DEC7270FD3F2C07B8629E1CE3FF15376660078185A05C41D4FBF99285413F001
-4CE1D20E4EB2EF6676D1AA2FA8A4DC9BD3AF6F664F9B4E4B3BCF606D14AEA0DBC253E9A8
-75AB27F3D5A7328850C2E90B6BDA2420E82BC0ADF07C005357514257694FD442A6E701EC
-CC91B7E0845B17CC8F09892BA35CD5334DD73AA0424AE8A0E1CA52D2109E62EDE237177F
-1B469CDCB95F1ED1934C09C1C71A9061D0C29059C00D7A6CC1DD2AA2DDC209164890161E
-8B4532199F7A5503A4438B3769C9E1F8368764D4F5A5FC7CB397E27844ABC9F2498A6BBD
-B6AA3C33125B52F692D2E4ED469E7B3ED78D60BA285131AA78F581FECEDADBFD2E7932A2
-D96A86944BC7D3F511558E3BFD8AE1250924162874186ED3D12210C79C044682F7BC3029
-D9A352D3533BD903F26A180686482129DE478F6A0FAD7DFCB9EF25F13260B9B0273645B6
-24583701E37773426743C9AD1569FCB3C69277C3958944EB211758D1787C86F9DB344713
-9F522EC5328337AA586BDE5B734EBC6F5F392F7BD9D6910F204C63E9529C9561FEEFF567
-800BCB0E900BB465DE21A576A809A13F3E4FB24A9223B41E52BC297040808840FC7FE337
-7B7B71A0318EFEA9A421FBCF3B797BE09579FC5559C3085163CCD30F2757E457A04923FF
-DD33B439351FBA13AF5DF216A968D8F093540D70222A5F98CF9E6EE6FA6ABA02B3BFFFFF
-1AD6B5A3E48298FDB66E69459C7E9646829B032E99DBC5B4C98731D868D14159E95224EA
-9237CFDF32A20DA1A4CAFC0D55CB9DC4BAE3468A0A91EEACB9F6C76F677DC6BB83BABAC6
-7A7238F67F41F0A67EAE0578F56D3734C87304C0D3800E9B52DBCFF05F6EAA9440691225
-CAAB4C86856463B0E0ECE208CF4920871DB1EADA477879A4C64194DDC2325040FA104327
-FEE2F853DB4515C154B3B8A78419DC4B17C78F14BE6C7E8BB47388B11075474AEC54D6AA
-C53AE725242BA69651DCDDBA6774C3DB95B947A044D009DE74575030C947F25274EB0A1D
-331D25E53F231FE7C2B7817F44B6E98D0B845BD0A31DD9C8E3B6845CC80B259C0B850278
-5E0542CD65CDD0102FADBA33501C1251340F10AC63988FF53BAA60345A145455009B80E6
-D67C8722B22FBB74554A88B0284F641DA252B9A2556B5EC15DE1EB75C0F74CBEF4FF7CA9
-50B90497D23A935511F5B7EEA0B92BC686D71EA186B49B21E9183279379637F8BC3A3079
-3419AB94A6EAB55F602ED0D4EB20BF6AE82050C432FEA1EA3B5BF2A16B879E586C1130D6
-CD5682D7A1F51704EB03EEF129D7994D80183B70E3D60A5EE4CA8E21D4703605FC8E2CDC
-03E1FD17A2B788FD74DA79A0942856C022E9ED417BE6F097328E22717AD8A4976A855FC1
-5B8CDCB66FCAD6E6D87021578F2A3D93CBA708390E849C1A96E234EB91F54F53299529BF
-1BD1DC11722FB9DB27C98F2FB05D62DA1B7EA32CFEA033EF7C1C47B3FFCFD9A4BCBAEE4D
-66C94E8488D397644A2735E9AC8E0A5B4C61504D43D85B27026F15059B0717A0E9C2A893
-FD1A0C53815951FE68958615A581D9F1C22DDB219C3C7213F20C496AA0D04E9B3957F71F
-94A2A9E20FC1DE943A30D72E20E0DC0AD7D974164656FFA36F1940909464CA435D47546F
-4E74ACC7817BB6842CF97FF285E4EABC7CFFC7A314983AD5DE3FA821AEBA7E95252B0524
-D423F8FE71FC1E4D8883876DAB19415FF39A330D8F1F2E9E728F2D47EA05397F8F6D4A17
-7BE4BE649DB34CD403FE663509DB51FA3DBB4F3DBF4C969DDE8E18CC54AEFDBB23E286F3
-EF0AD94165558C2E1E91854A7B2D547735A3BF9A4AD940C328709F99801FD5CE9EB34C2C
-394BC530B2F79D6EB01FB151A20C03F64A76D6018699B09BABE16CCCFC516FE46A906633
-26E06B7BA28EE26134B52B96696BBA8A235103E8516FEDF892039A768C632C39CEDB3AAC
-19D71D351AE1DBDC46ADA5D3D547084243A87FECF11DD3A99C79E08A17969322C177544A
-A0A79990D1C52BDE6777A77DE02D9E9192A6D06D4B1D2FA19A95D1EB5B2F700A3D76D383
-D6D8E68D85759C829BA020BEA26587350B8BB4A22BB437999F0207B51E3C29508CE76AD0
-CF2FDDE225F0A1C2437E8607CD180CCE7A4975A535A9F1AE496A3A7D83A276C67BAA1981
-66BD3AACFA8CF66632E6D18D256F878143ED7EC542D7C29F16B0CE96D65201519B1A1C6F
-941B4812CE4597C92727C2B1E3D41AB59F3B026C32230374B012491D5DC66E20871B0EFA
-4A1989D8AB26B772A7BE6002E4FB4AF7F5DD5B0639FB0E59349A6AD7522240F19DEFAC33
-D0FD050E565E36E87C5CBF0D924A3EC16BCB31277F53770CDC95254C0B9DF1CBEA0D4386
-299D005AC2C1B4985DED85978FA75596D95488F9A16F77CD6572064B658D6FBB7F765CC3
-18C1032AB570E04589F6B56A67E0DA0D485062899BBB0E760E649B0485B13F76922AFF97
-59BF4651ABD8AE83EAB7544A2CF451E9BB18F0C4EEB431D46B65CC1B9049F243FE740FB0
-276059C3A80EAC689D5A511399334BBEFEE83FE0138D3F46FDE381EA63DD0A5AC4E36754
-BA7AC6784CF3A1428945483EC5DF805B846C2C758EEC2DF8A63B55EB7FC0762080071E10
-EEDAE6674E5539B69A6335C68F1FC10BF1F41157D082CB9376292CDD4362F14185D87F50
-369E7B562DD7F75DCBC86A5E8187192B61E3EC233F9E26230855498C1A580470CC20E233
-C8215A825640A89D8E21E4FC2A4EC8CE44778B4C96B217C0CDB6D2645FD5E4DC24D293C3
-84512BDF80C6B99FE14E429AB9C08E7AB2D752F44C1E826E91DF652505F6C84F050707B7
-9E222C6861D5302739CF4561C0A5FF82CCF7E7BB2B3F23360B8B0AFE8D3A272F6EAEB35F
-5419938DA96A1EF1FB50DEFDB9C9895BAA791556F51D3BFDC373AC0FEE03560918977CB7
-851EDC56750C708883149FA8D939B5BC7F7035ED3E2F2CE7295765C0BC09FA3E18D350C9
-9B40E2810C1FD915C2AF3AF93855AEA12DBA06896A51C9B2443E2D9A9068FC76E353699C
-B8A782C2126D7947101849809294F5763E150498F31BFE1D5D8AF704BB59176DA3DF2CF9
-0013ECB8E30250E5AF4152D892F4BE558D140613936DF6F9D43629B1594FBBA870B0FE5D
-1BC168BC183C60BA2ACB3C9BE52F853AD4FC1B009801ADC0FB070C65084ECD3165874E91
-4915B5F188E4CC3BC03240CBE3224662D2B3AB7B3E177E6ED05C7EDC0E96600FF6527A4F
-2A63179E47E74DD67A4D11BB1954DD479D7B66FA38BCBC85411B841D963417853482EDC6
-0753CBD2E0B0EA725170E33CF7B7F801BB348538360EF54A01CEB35AD465CFAF5ECA3EA0
-CE3DA1240E1C94A7F88375ABC46AFB407FED5EDBFDD79AF542956435D271EA685D9E8474
-ADBB88246355C959AE1408A5C4E9209FEF36253B0EA5DF070DF4BB364FFA3386A7FDA80C
-046EE0F54552D258C3BF0C964718077914D4A43854FEB495FC4D421C2939978770ABD337
-3160C7D8C9D81F1F3ECF40D24885AD5F26805DFAFFBE9661031313540B02E71E1B9676F1
-5DA9BC5311178BE39B0FB98F3D7F1064B7E76FE3A15315E234C712AF8542E4E1CA1BC2E0
-8AE69382A34FAEFA2E0F67A6B62144B0C767A45C5DB57648171D43E8E07611E04E230C15
-5A16B786236833B51833EA22321EE4A3B2E273EA7D452957438428BBBBA25E31A5332106
-54AAB61F2302CE54F7B2A0128327D60ECDDE0E455FA05B16747F75D9A27638A174482ED5
-DD91C796158D9A20FB380971BC4E30FF0BC9B9556B4B53085044044AB9418C2144087A39
-3FF2988DAC87F5B872684A327B30E362978BB4903DE7A4C3967F62712B8EA2221CFE4BC8
-72E0EB73E63A06844ECC468DD8C9D2D774C3332553B9FFE6143545F214E3DCC512E15990
-9EA880363696C962E6912D26FEF0618B88BD1587CA13C3A82A423F19CF9347D55D005380
-3B1B91B352177813C3E20C5F04AB4B9A2AA11CD39E11125CEAC385C25299DE0B617D81AD
-8091CE925DBF4675E7D70A515B83800F1115762A7E964FCAE0C61BEFEAE27CD77E39153B
-DAA1C87FBAC70011B9A0F62A838A8122903AC09A39E53F56935778804BF3D025F664A9C4
-3E314ED0673FEA3ED9857079FC6A49A8B77617014A7054017601B5C6E75C8CD05F89C2DF
-D8ED46914521C2D972BBE86480177A3A2B2DD174C77BE7FC9E0069568B392C124774A1D8
-DED4DB00F17024B55A5048A4F33C6EC5B0BB43EE3AAB650D9BE28160D4C0F128BE5FA21A
-A29DC060CBDABAD9BDD6CE0B5A4B2051E038794AEA31C482C2B5586320652D940FC3D6A8
-012EBE0EABD7BC1491162F8FC1C40D07B904B5758515C1286DE71562A790E8A86B6D626D
-6327F9C7EE4EAEF270D5A6081025B95DBB7F57C33B819CD417850311E3CA2899703649A2
-623255DF77C213A59602CB749F49A381C6101D27D7975ECB414D601B1F893AB8B8159410
-E92550514FE10C04C2D218C7B8EFAB3A007816C50B3CB724411558E8DC8520908C205239
-501DB6FF5B5CE1767C7EFAACE931987BE0797361B3565571F440FE447A168AB3360C3E36
-1E6DCF8F6482885ADEEED01DFA23F47C6B44E6268DAA6962225B10D37E57E20D9C55376B
-9D6A880A90D535F91D3893FC09B5409F2D2A428BBBEF2D9DC4686BFF8A863A6CCAE5FCBC
-5090B2B9841AD3205B0EFBFF72AABED459118C799C6B281B64500243BCF11D5531BB74F8
-A7F676670EA1342A41AC8FBCAF459C9D11D5673A0592AFF53ACD4B94904F7FB3759C59A2
-A7E5FC2126ABFB56535D0A6240CDB83223EDE4371D910931D7994AE05CDC24FD81FE8126
-5E40835FCED262A0DEE35F705E0668983D65A8CE7DB1177CA8B7BE0A73A99D4D3C44F401
-DD6CC8CC119FC36438F18A924D6DE1C2040D2BAFE336277A751D6D4D05A828AB3FB8BD48
-A7DE7C166360788AC8DD81662727B330D860166B2AE789181E4231B5AA3A205663024162
-C053F2213D30B5102B3C430F9B67E3FCE64FBA1BB617DE61D2A64FECEF8B6BE7D4074E75
-DD4AA701474CB17982EC4203E1754A19DE41874EE1818BD4F243869BEA6422CDAD1FDE4A
-84A1410C9BC92A32525D6DC52EF3E90F5829CEA418542FCA02FDA62666386F628543CB04
-D08188E6B9B0092E6D00C6C75C5CA9436AD0597C741D4B2C63E585470994B5466C509B0F
-D077B49D87DD6BBEAC8C6C4197B9C0789025B49BDD9534F42CCF987DF9B04B18D19F9343
-A91696E0E206F4DBDEB45D6D7697B49C4FF5584800CB512611EEC8415BFE1983BA96BB82
-3AC3E496D9D79C6426B97A1455E070695A27E407CCFCE7472F147EC95134B89BFFB87146
-982FB4756612EE55A782F303B54670333FC04E707FCB84D255B05D52AFAE8F473E8C4FF1
-F6E95EC1B820ACD2D3E980A1B778C4568693AFD446C6E416C48A45CBAD61564329C4ECB3
-A98B4ECFB3551D1F1C03717D29A5DB62C8F1B21D036714A94CE536D0E84E3E10800AB513
-91E05C62F2A9FFEB3A738E3262E1919FDF43EF49842F6EE5D309FDFFA0B74FF64262AB5E
-813C8042B2F450A5CF7B547A8383039E7C14567EAFCE9644DAB0A54249EDCF4C24EFEF7B
-B3EF129DF5A11E12A78FEBA6080680AF4476F4C0AFF6E8B27B07D6EBBF5B1FEB28341344
-3154B99A65CFE335224F382137E3AC87777A6719AC1CA6832B61AE8CD6A1931105707F0A
-DDA25615B526EA2543F6FAFD00D70E4091B6D5D58C9CD62B19C70D7469F6FDCABAE2A517
-66C9B0DB0AB351973A4E2FDFF81DB1651DEDB905ACC447FAB2B2803E90DF264C96092528
-8211E23246BF45FD1AC67983A7FD5B371581B8BED06B9CF8E6AA6C4BC84771219E7404B5
-6DCD474D9B859D1891FC2231869763E6B8F0615D7AE7B83260DE84BA39D6D60F50BA70A9
-EA8FAC771A0F0A745932D00C1328806D938CAE671B94EEFF484E5FBE9A74A97CAD47358E
-A3CE9F399407407FC199677DD7BB6B7B9B00AAE6EA1633EE18DDBD40FEFD138F8423B304
-4B9E9AB192B7C767D7D63AAC804F0D5309E0FE72A8259BF12DBE7A215B8FC8460C285C4E
-26067E3C558163C1622617B082C6FC941F8563CF4ABECD0DBF79CD5DD86B492E3C46D0DA
-BD16AC96ECD6B41212431FECB4EF59DC7DD3071CE030BD5DE690BCDDEA9A2594C50CF77D
-53B223EEA513B40CEC7005C4F6B6DE2D3680EAFFB6FBE0DE70E7DB5C11F2BD4085C123A4
-73E5CA0785FE70E38E081B5971D4C390A87CF5DD83C8BD63C4307D22A1680792E27FC431
-8D403102A052645B4AAA9BEEE578CA28E2C15DFE12134BCCB2171C15A45C5D4D8ACC0EE4
-A2C8AF801D64D5979E52AC410A69277160104A386D747814F0DC0C178CCC2BB40E175992
-9D3F05ED411630ADFB8E4E57CD223E012F457A8A7C2BEF27BDFD41D3B39673ACEB92A48C
-E3464A8720196A60E21C1736066FD19154C02D7BC22E821C76F4B89185FA39B48B00BB85
-AE14236DFF7E1EE1466C65A1B4B9453D8ACF727CDC0EA04D85E2A4F41976E4833C145444
-B0465FBCF96BEA9554304FBFBA4C39ED11F2E1D9588EAC200B31441889B081775BF75B6D
-7AA3055C85ACFD57DCBDDC12257F565F1980DA3215AB29A2545B2FEB107C91A454DD3C32
-D7D620943472E7AEB5805E64EE7B1D3582A2DD74D439AF03C00478FC35EC9017F1A37B59
-A31A196CFBC38B4921A76E41E3A6E2C0E5059FC3848DEBAA378D87736B01C6710B5B0DAE
-FB06D00BE44EE7C687DBF6CBAE699D88694891A95392324C6C49595C7113FD6D521A182E
-FDB264432F3B661D4E86766A7DCA2E53F72F7FB78A0C436DF0D516EED141D796F3591226
-E617BAE549DFFAC4CFA0F555DF7DFAA525DA35DB699A892B09E654992F99F89CED6273C5
-9EB9C512BFA0465E61FDE63D312B1B2758E645893A19C82A81E5E0F5AE8E51621EAB69A4
-1D425F9F78B47ED5CEC857DA012E641D5C203532691F9177F4531EAE8E6A7D5A2B1B374B
-B921CA70F41E7F32A8D83C54AE01DC76C88A96C1403FEB6942029A86B1306AB096F8A42C
-2D7FE35C7E9F3DD494579CEF39755AAF7C74909CF5F7322C4FFB2C5A196658B7AB49056A
-E3DCABCDFE40DB0912B5E15BBAE08B72D7AFA7D64265F4185401E6E723E151EACB8C7494
-819998FDEE918EE491E4F9D5F889378256F2F7858762A5E049A618ADF34DB73540486414
-1187E3CCF635097AFEE95F695F806BA1419D85C50FA033E4E9FCC155849677B3A20F6451
-D8E4E5AB1BFBD967B5F53C21A30EDF1286A0E19FC557598294586D5184D1CDF8BC83594E
-17333A522E32233DAA8A6EB39A6330013C32A2E74F0EB6234B63D47A4C8D21E1618E5906
-5EB21FA9A926E01A78A60FBD71808A0B75F65786A9E3E08488FE89E433C287DED44763E4
-F317DAE0709D7D54EA969B751F4C62AC976693FCD366804E66B2BA8D955945B86D492E74
-F17C0484FA5C45D7F60DB0D4578C5725A88A9DEF8E5D31EA02411CAF6F703AF96F50FBBE
-6739B57D4C1C318FE7D491C94565DEBC43078303D329E87078EF9B48D66C3E98ACCFEDC0
-A31761AF6854E5C4DAD36C809876D93C06D91416770CE8852B5E54AA22F6EF1A5BAD532B
-E4F55FE7E2AB457F3242030F443975DFB0F2CDCDC1BFE629C8BAE7AF2D21C9BEB3EA10CD
-E4EAC54AC081CD3C0AA161C52BFAC3A9E4F0FF77563D6FDDE73E44E926E1BDFAB4B1A11E
-2B4A7E1D2CF9D6B9DE48D99DF99E0DA53F5A449B344AB2ABFB94BE9E60E6E9B328B58337
-A4D4BD60CBCE14C364A2A1D5C02410C2E8A98CFF3A48D23C752413A4FCCC5C044AC99451
-20B15B31CC5C7B5FC6D80866C1110B45F9B274326656CE6D74F3481B7D5DE8E5AA907509
-C15914FD27CE89F911641DFD588812A8292504EBDA5645E8C510F5E88EF44C573CE46D01
-EFBC6E3E1BE9600D77210B10330748F210F2CEE4841940A78AE1352654139757283F0FE8
-12040846B6B24F1D96EA06CEDF19F0E3359C8B30C3986C2E20F5801C7F74ACA621E8C4B2
-4C38B9888AE24013371F19C80165522AC90C40832C71E617E042ABFA071BAC4D87D91F86
-4209F5073D3E54A26FC2FC8F89DE3C1B121881665D48339FD2FE7B0ABEF5491941DD26D2
-B379900687DC8DAF6E35153F409DD58DA91742E93CFAFD431EDB7A32FF814048DCEF7459
-830CFFFCF958160B1B54525EFC46D8892C30561D0D7780625B0876D816A0099AF1EAE992
-AAB126289D55638559BBAF487E1A9E2F118B3D498C49767B28FA680BAE464632C94435FA
-E32836F8093885A91F66CD5070B91558616853AB410AABF0DABCC02BB85344751A2B2911
-3847CBEDA65616487A853D9104D0E00012F179EEB06D9EC54CB50DCEE655CDEE79F89318
-F8212779CC310304A2F604402C8EB99DEDB3051CD1EC0D03309EBDB8C3B5A89E06C49957
-5E00904DA0106F87D58FAEEB8581EB47E982E29C5ABEEC747205A33C7B05A0CED74C3403
-0012BB647B5AB617AC8508E8A0F254E102406EF1EA86DC39CD9335FC8A5CCB1504757BC3
-AC11BCBE92800AED15E84FC3A6FD8BC6C27C4A13AD946DBC65E45B3C1F72D4D2C1793512
-9CAF2C6C238F1E57F428CA2CA51ED139015DD06B931A9FD41A8A759142F50D4A18D9E071
-3CC7607EF0337C7B401CC2E47F0DDE63B32BC1DF572F94991D1BF97F1BC17DCFAB95A834
-E34652C6BD93277754DBBB1DBAB6F0158CBB6E9304F9A1B5DBB370C3EEF6A0F937A0C7BF
-789CBB57E308D2D3EC0A0F04BC3BAC016AE4CFEFD4A5F5FF9F2289460CC7E6FF27A7B421
-BA3BA86F2A48C2002C4C0379D90B50952B6A629ABEC22143A906752E0BB2DA15C36EF74E
-DB102D691DECF27A7C252D866640FE74BB7BD351C4DB5C8E4956FD73CD6675FC53DCAFE2
-256AC5E46FEF1D0044B5A347682FAF71ED9CC08F231605BC342148E3CAD6A80ACEECC89F
-767E814046DE67F5277CD737D09A62B499DFF7908242C6E5F17987573334AC66ABEE66D6
-1C61D14C3687DBEAA7BE38D248A7B8CC775C5B577305C3F41BAF7C7D64B43E7326133C2E
-795F50EF42EB3F5817277E2690C8785064AB6BC61AB04F578549BF671D88E113DC704764
-91AC7787C2561DF6AE9F3BA5FA24F5F2C49B8B72833D030536BCF0AF10592FF37E223065
-ED6F4BF075F70A7D0ABA84CA427CCACF9A0CFE46A429FA64597C677C71A231C997AF401D
-07FD7FD98F4A5826DAEC4D76B2E6A8DF68AB8EF09A0A6BD0097840364FBBBD4B93950A16
-CD68B07CDCE7C341AB8647A3338B1608D67CEA47D26EB1ACC0F94D928F2930C2CBEA594E
-B773548213CF17642DF03784B9293BBB8BAB745893C2CA0F9450A337E448A282A285867E
-0B0A2F5DD49A23D475709131946B03E8C2F7B2D21DD7F1EE583B22A73D81E5F72136802F
-D917750E53E63031FFBA218DAF8B3DBEC561581706AED8A5CFB6593F5CC98BABB048587E
-C9EE27EC04859B6C233474BA9FA8F8D909B17705C6F2BA0CEF169B46497E712C458354F9
-F0E1B72581F18BF74AE06CEEE0DC27FA684432625C579A29843D44973D4BCA13998DBEC3
-0375F1C05CCA91819C3F7C7F2A240B515AAA8403230F9367CF391F3538ED5BD391E70F24
-51B6CA9F969CCCBB58A05FB86E90BA4FDDAEDDA84A73CD40617486DF08FE7985A55F77A6
-B2CF450665F98F0D173D0DFA608A4E89CA6B7CF2F86134CA0B97FE3FA0856613C7E71D9A
-4389BEBE6C1DDF23A7D617ECF980EB78AC5FE99665CEBDF1BB8C1CF29C345B94591CE29F
-3E77AC66C3A9A1FB34526A1F335E71FC1AB62B4E8237E80CAA0265FDD418322B068FD4AB
-0E603448CC61D57106F1BDDB5785AF5A18C211021FB6F91AEA6112BE9F34A75C6C428EE0
-8101FD9904EEF19996EDC2235F3CAE00B0FD20331597B63535D001A5A2951F4057C83A8C
-04EC71AF466EB9EE31CAE51F453423FC327FCC256D71D4E2D956538C16231BC8E6A54FB2
-85E7D5A967CCDA56DEE48109FA4776F87466F0F62355CA0990097B2BF7F947C0198F13F6
-EA5321370A9CDDD612DEB3C91766A19B4228AD5A4D782D9C51BD3DDF268D53C24F6E4543
-52B2780CC5906D6D08A27AC49043FC1ADBFC07ECC113D815AF2BB5922E42776ADBAFA1D8
-E8608AEDDDA45E181521E5A8C39BFB2E9E72A7342D641574D84AAE3D23F114E2C675E50E
-98C0C4D59107E15753F2E29B2EBAA4D40A0FCB785E0F20FE5EC3F4C42AF3445298625AD4
-656A42B95D3F3BA64495423BCE66806EAD119E6F949E5E0CB7D20D8B218FF77704BA5CCF
-C6B96CDE2E22E2A1866F80C103C986D01BD96F2207438F8132ADF46C5E889C2752458D26
-050C2D2D9996A7E90414880A34BF4F6F7EA862ACC40E6446C8C64BA66314493C05D5552B
-FFD967B26CAFB3238DFB04A14757FCF34B547F81448D5BE2C385775093FA69D2B5264954
-7552C28488251224E4571A0537F87370D575C6093047374077BCDD8315E40EADF2ED65B2
-9BE930D5A78E0E4F21ECB50582FE1501FF48EC392D1717D5037175395D726475E79B5EA6
-68150DA75B9FA24A530FEA3EB4D2E4D73A66C800452FA1053CCEFD77046B058693170362
-AA4EBD8C51C334C4C24AE69086BA5A9AB3E8540E0AC782324DF007DA127A7CC2EAAB55D7
-33201140FA9B632F11D41030ACEDF37F12D4E4801645CE624BA973671E41C1A11169592D
-CC529462D2047E2A5D06FE543E5471D0A0FB591A9D3568D2B642C2DAF22BFAF136DC1635
-11611AE38717F04BCE872368BA82FF9256AAB0AAE93D52A286FC62802FFE2E8FF98414AD
-A2E28D0C07D95FE5C9B025A9AAD8A355710C6085D45BCA501AFE400EE1F9B34545AECCE9
-8DF25A6C7330711288765392C4529746FACD974BD8CB996395FEB547A9D674F5E56D4841
-32A4B48D87A380C52E05C86083677D88696CD2CA221E676C8F950FEB61CC6CE37D055DDB
-83089B0814A90EA5B3EDF692055D7DE2208F5F5151667ADD999A0301E9D2A017634D3C5F
-8B645C726D0BEE71D4098E0739B44D565FF574FE93A250AAB0879413C38763AA3B294956
-BF0649C5495E92262A3EE9E3CDCEFD1DCED80221217ECCD09A04B2759C746D720C3E88E6
-22174A8E496228CE9BEB430557D8AC5A813670400BCF93AEE40CFC554A933EEABB239B80
-EE603F1617B3238E4EAF043699EC674D348997BD3105B8EFCD06E55F78AEA6AFE81EF9EC
-836F4703650D803CD01DC38094F11CFF0B34734308908ED646E5B37BB9524C886DF94F83
-B2D470752A139E6A06ADAEB559E3D5A1F4EEB78F896AAE3D9836D4C7D4576877307821A0
-DCBC61D1318B937ADB53865F9F9B6B90659DC518108B81196CB6E81D676B1EAAF9B0F3F6
-FB499A99BCC7169E7F37E9808634E2A0CA9DF40F204F86FCD7BD135D177ADF005B5D9D9A
-0690DAE940905664994FCA90777CB9B3C4591FC0881FD146A41E9EBE7B8F74DD407642F4
-5BD399C6EF5471E987E01A009F532C2E66305C890B0B582824B527ADEDF668456AF3776E
-4634332C59C3133D8581D47EF6B45B636422CB5FA0B117FE1AE0361B93CAD6850624F353
-FD41296FE84391636A2EF92A3658E07B857DA4FC19889E760494957276BFF9543FEC23E5
-2A7C9174B581D299B52DD03AE726A95634C8BAC12F17B80B3B40BF98BE848CC4837C3CFE
-FE2E3B64B5A8BDE695ED0BA15451AFC5F0576DB1E9E9F29F05D4DD02EC3AE44E15171CC5
-EC254176D86C83C062B7206966E7F0A8822816251C0AC4A746F661897E24D2A44AAE93E1
-259A4C582FA34DBD0B4952CEBD2753EDFCC37ED685FA00E67C455D03072C2A218647B582
-F58270B59936EFFE692E0F27DF5D73AEB8D2CE0970629D51B9EB91C0D2712CC3BC71640E
-9ECA1D662FFA06E071D1E013695854792DDD672080A0AA42657C9664D6D850757DDBB167
-9FF6A837674A5DBF38B2A435C2AE04EB86D351FA0CB82F0D5F00A96D55976B44D6B6BF5A
-75346A8CD71230B6A44268B73188A84C47F09EFD13CBEB51CCF7ECDE43A3BEC6933643A6
-68B023344E407CB2A6055EBD6E75A27B6FFEFBD095828A8C5B9A14FD78AF99BFCDFB0A27
-3313455D19B2036304167E9F8264FE47E1F5AC04EC94FFB3E1D6C90E1758758D2E811C7F
-DF1EB0AF24EF89E907484BD07B8D825B98D99AEDF1FE0D67FC98A0159DD6492503B86C35
-FDBFA654E3CF4B00D0E4E50A77BAFC6D4CD69A668AB5D0436E9A2DA573E04EF308A6A928
-29F21A8419FF3B7689590D3787B3CDAC9B6A98FC0AC7B06DA9748F5765A25708C3E9DEB4
-1DF4EFD5BD9E0C1090BA956EB65087F5FA803CE15BD0FB4090EA9DA33F86512A67CF8775
-BA3C3D834FA4D6798CBE5D5439279DD0EE083DE2026B2EFE83C203C632193D30D390443F
-A5D1D1288C2B7395BF91F3FA657BDD688A562EBBA50DF28EA5834DC1F9CE073B704D2DD8
-594620A53DA722209A6C4A9A906B552B562917A86373C43132B5997CCDFCFA398C35EAB2
-D275883CF4C5AF773B535BBA0CACB12ADBD2B3407C8F046F1D4F391EADA619AA2DB788A1
-93B7F6975889D7676AFB6EA09978E9590E75F7B106112D0B62063A21DC59110EA5E123A6
-51F2BB21FBD6C80083E5B3405835F9AB6DE5A7C579F8F7B006983B897E4C9224BA21EF0C
-DB8546D2F477D280F554F98AABF7F6D7E890B327129F4D43E3BE119D1E9B1D42FA1A7F39
-0941803CC1752DF5A9198AC5AFC71DD6402095EE312A89D1466307F0353A610881A56891
-4EAF39DB13B984A78C1B9EF169EF8781DE0BE7B20698502E8F81BFC06DBF766B3CE28A43
-4801EB4FE9703BA5933AC6F0872CFFCDDADF1135D02714C30D5F54D36DF3415F416D66A7
-EA918A64E00AF9213CF9CFC63B200BBB4402E53DD95BC8B5AAC20E62964AA87173563396
-AFDEF06AC069AFBB08D6600AA3A61C23682551F73B2B7E4DD70392464C439FA6CEE41A1B
-4EC280388A8DF86195788A9B766DCB0E1AD6AB7A1C66A1835D7AAA8FC92741104C6A5553
-C149A5BEB648BD3488C13494D9661FC8F9DD431E9EC1989CA9B35E67A2BC9FED7BC3E362
-6389B29B863DC77F8ED314B47B4B86C9E559A6E41366D47672D9E9314B192833D3752C70
-3A571CF80D6F165C660F42F58DB5CEF453943C7DD0D252476F678E44C6340B7E4D52C927
-5855FEA030BB191D34FBF80C039955C2AC6F0C38F6FFE281A52F13B62543DF45BBDEEC7B
-A2CC3A125963D1524EFF639AFD013A472B336E43E9256C3EBC5910A05F641EA1ECB98857
-FDF7613E9A3790F9FBE16F8B1E9CAC2829EC0B651F00E1B6B56F0025ED82BFC5FE1D227E
-3DC00ED525823F310A834A747ED0FB5F5DAB7EAB307D0906AECE8AEDC3808C53C3C9E954
-6771D79028ED61CE595EACA42B6ACB8C47B1417F1E88391C0CE35415C9FB29106F8EFF96
-82843119AF94F798D7079D40F21B94BB3061C2155A87075846A62B1E1292B465E946AE00
-A3EA7C2057244AC8C4D54A8618AD7B06A833E9C26BD2BF4A40CFC7F7D780DF4C31B0CBE7
-0657FBF4AEED88152E1FCA2956141559002CEA98E7299FD83BC9BF9CA0523697D9E188AB
-2D883665C329A8A4803C8E66072DA31E615FF9254BA8CD94A5C6CA0EE7AAFF3108F48D79
-0523D58E98803CE03FC53E71DF394691240284E210C77595F292696975A206A43AA7FC7E
-C0CEF778307863F56016C13EA6A26299FF417E0668692ABCD895E7CAF13A9C1BEE2B1E62
-0DF960006550CBCFCBBB006257051D7254425C49F840B8EE5A44A61E5AF465A3A831FC26
-A8A2062943955676AC4D5168EE2464067C056B1DCE6FE780108953F9FAFB6F89DC775E63
-6E3EBD3308468ED7B31CCB4D80142AE342D630B919584B2DD67E904A48C5CEEB65C1C84D
-8D2964A4842E8C2A83129C91662137BE032B007A30A0A4D2B31ED3B1F44AD5275FF105BA
-929ADE2B78FBE0F3F34E2E9A35568D96214AC1A347510E8E5EF0C9CCF08798C5B0C09DC7
-3FE817E2BD84AF14627A8210099509770C680C327ED697A255B28E81DF6B512060D47084
-B8AC21EF59C34AA36A9D14A093116EADC45F3F64AB297E114053081C8D6B135B36D25AF7
-7F2050648799554FE6BB50CB6E957E26A0C62788EB76901B438AA6422118463BCE7AB3F8
-C21E007C21A9434A0294650543B58F0925F664585BC875ACBFCF44F5BED0D8AFB0D8FD6E
-215A03ECB350DA054FE30172E920C34E64AC011A655F5A782178DCB3F65FEFE0CAA68993
-DF30FAA2471396F6D74213C38A511773DC7E84A9831C2E8C4B51EFE3D8DD0674050B8DBC
-F1E09ECA5BBCAB73780ACB37D46742594C6070EDC7F5C555FD50044208F6A26316F17B25
-1DDCC694443233702745485F3CA188CD3E1F833C99ED46EE525D31C6518A86B723E890CF
-DE3A834170507C9F24F28A124DDC734BE002039E81148D73F8C86918DE78E07964001EFD
-9A3EE31A0347EC258360D2CA6AEBE7EC4D5FE0A29D415DD78A13B8CB8DA84AC8E480FD48
-F4A9440EABFD6A1C4988A7D6FA7146CBC14FAEB8864C578A81D86C61C0D08AE6D50F5654
-DDCBD02D7D9D9AAA56C417D2A3C42AE47ED81350FF917E7D5D390D4BC8AB934353D902AD
-98BBAE982ECABC933FD33310FEC3266BB373AF3B53D8880A8106253FA48D78899D0E6548
-A9EBCDED56B39BC0FA78BEA9A795BE60BD3D60C1DDF5375DE0800F1FD55AB46B49536F7B
-5986E790A4FFAB8B81B7CEA21980D0634E7B2CC00D1D7A9A7C00A5CBAF65476A714ACE77
-99795EBC2A944A688BC40F2A23DF71B3826654EA7646D2338BF23E216A8EA59AE50DF2E1
-D6A05A86C25EDA267225592F695FFCEC993CFAE93452BB3F2C17470552564F2AB70AAC50
-D49ECC01A418903401B4BC6F3E0D3DAA9CD062AA1A8B93016BC008924F8AA7075ABDC5E0
-01A215A63EC8A8F1FF0E7F5A1102D2D5DBEEDE248904EE28590A4E48C98B4E97DCA69479
-08FEBD5BD880AA737D2A600A71D1CC35B20612F656EF4C125ECF75DC0E1BDB57BB09BB26
-332CD1B9AD52147CDD30D03EAAD4EDF4C7C2E4092C409701BBC8EC163E4C660EB018B0C3
-4D4844EBB910E0566DF844ED250624A6C8BAC481B32024FD4EABA3D4E8A67F83FA4E4927
-A15D64462B3004F5610EB847E9413CE174D64908B0464A144DB43FA1FC8356FBBC00D303
-74E22B3EBB141575D6EA036CF0B469597C57AAAC00F840EDF201E57C0D84929A34108847
-E90C97352CA858A6B1F76E1C772C1DA2A8362D02EC7C112E8755C7D720AC5A2BC528913B
-37E0BDF15147DE30321647D8001FDCFA437709AF90ACF0E56196A9696C0054E67BC6630D
-7D99F3092D8DFEF0C788715D9BC43788542693045A485D5231D731EA740BE448DBB72ABC
-A34AA5B8B2A4EF6E91F61B0A8AD9666808888DD61A09CBF2FA30E812BF1B73EE2D387C6E
-4821DA27733C60795C8EA0E806F74601EB9F3676284A37ECE9495CB87015F18DFB39B9E2
-93303261BE268AA644CC7793A6266C026A06BFDC3074E7A67C8F6B35729CE40D6C343C4B
-95EB9C778F6D513CFAEBC5FBB8AC844D1982F300675B0920C098AB288D12423A3401B6BC
-CE7725E619706B6241BE210CE68A5B3F068C7255C6A0959CCD3AA40627230F27057001DF
-328A741F867833911AC3D24DBC1C79462012801A6E0897F2896AD1B5345F72BB639C799B
-FB4C6EFCC57760C82015F6855099EF7C5DE59C5766BC6DD4F4A61110E8CD93BDD891A83F
-D8DADC0AAF16032E8B02E69F1EF25EF7CA8C23815C38F7FEEC5E4A4F11BF1E0C2275FDE1
-B29CF45A585F47962E6137150F0AEAE31ABAE6DD3D66E54D8B7E6707445857348F6326A0
-9F403CAD72D93B038C91B7465347160DE4FB2F2F81B4BD24449CE03BA177C8E13B3D590E
-A6F4C5CE396D238C642BAD4C5BD4C0B2EC8B935BF9D9A85F64D867799103E285264A5F53
-CBD2E0B0D69176ED284676494369C38711ABCC23E61961F6B46C576B407D273EE84E274A
-E02EC5C8923ED2D5AE650450F5A1665CC148AA0FA6E26143BBAFA846E9263E49C9ABA1C9
-E4ACC9A7E6ED0865B42023F21A1F234F485C4F22B58925B336BF883906ECA1000F456773
-48250626716520CB2CA5DC9EED93F694A1CC6D7EE74CBDC660E3A033EEB0CCDADB32C5FE
-9F5A4BB9BE18F13A6CC678213E631916E283D5B12DD6B9926279CAAF46A469CC3D4EF950
-D701A667C2BFE15292FC3A2ED9E1C916B90C9E25606ABF91FE44BBF18CB230EAEF6B0C30
-3E94C24F82957557840C11F4845C7F2C49337CB588FB9791EF1C40D4CA00CD5254426E84
-391C265D4B21E9FA474843065E306BF794BF3F798505285246B906CA4F343743C5539EFF
-AFFF1F93CBC5DBCA989E64B2133EDC8DECB05FFE150469EC1433E3A3C0B49B7C14EF6069
-CCC488A1AC96C39203C010647ADC1BF32B69623D291608BBEEF2C5FDE603863C91029AE1
-B6287F8576F73922B5192BF1B226ADC2DD17D98B8D0558874DEBF7018C82A9E9AA9D89F7
-DE237D1DFDDE2BD43EFDCE2ADE67906EE2525A667883685DCF78BCBAE353486C96B3831F
-C1E1C7DF12DDB8CF10895DABD16A1DFA87AF1FDF8F4A6DF019395D713269024BA721CA02
-C1E2E605BED8AB8C822CC84903A7E5BA090900F1A409F4B1D30F740325E4995A5C9FFDAB
-1B8480D7B5B8CEE4F35206E13EC960650A2C1D0C4D7D7407A86E583EBA40267A67A8E87B
-19D41649DDEBD7A73593AF94C2366CCC6F81BE9558CCC90CE95060ABA2BB508467640E6A
-726ED96B571CE6F2AC68EC104D3C2D3AD54F8490DE638B77C93595E2B1A44B079F79B487
-B92C12B16B203F91DEC2E7183AE99D79DCE4BDE5B240767D52438DC5AED4ACC691683BB4
-3D2A1636C917B6E270F309D3B75D34FEBF8BA64B01FDDD848D52C30FFAEDE43EA21C9ECF
-487A31ACC1B1405E615C9DB6A9B96BC45114E20FAD0CCA71B410BB14A39997E9653FB11A
-666995E488B650EEA712FCA7206F5228061BD5BC385DAE9CF087449EF683F69F673F30C0
-33DDD590F086EDBC3A72F9B17F488E2B36A381141F355AA1AC81AD4C103101AF96259CE4
-30A0612CA3110A5953666DB362D982687010AB9B81A63256AF6E69AF6D8B3150FE860D29
-E0DE5D686096A3D523EB8CEB214DC73CDCF00D2E98BBC713C6D7883AFFA02188A5E8A8C1
-007EEE1B185AF14BF0D0E06BB144660A5891C8C7710B2B85CED49F14A5D5B028A8FB6464
-3CB3B42D1EC8C334D51A270A3A2D483B223C3D95C733D79A9EACD97F7BB32D28BB381D40
-399F0B9BF194521F189D37040DAFDC8723BF45FAD60D2527503894BCD4B0B746734915F4
-F5B04D4E5044631F40BC3758DCBBB2A2AB63D7B44EEED53991AFD2988E13A7A6C389641B
-32819144DA32DDB3ED45873E6BA0604A9E682558C0BA2B139D29E4986037AD326BDF4079
-B6C071DC3607D52DA49F6BF8DCEF6F04C4AB860D660BC30E758518E16102642A190F89BF
-D0078394DACB5052E74EFEDA5BC176A861D8C5D78C83A46B4D5230786068F12BCFE1E73E
-4F7865D5B86144B26AA5490F229E6FF7CC5964AEB6631B08E2A4EBFCCEA10488CABAF2D1
-576155E6C862855CCF52C74834BE25DFABC0BC4FB7A1EA21B2AAAAE45D1455D844C6AC2C
-C57D081149F6E40B1FE620B697424B85A7177F19BC63E93975A08CF009C4659EF47A3680
-488C43751FCD7D848FF55C472F02029253403CB04872EA4364DEE69934F6D049113FEBC0
-E3E5D978CB8A2423B9910E3901981DAB495C4F323C3E3036BA45B66BCEFB4DB5C7AE91B1
-7A4A956471BC552A1C109EF67D97069D3DD5663063262FF4270CEC1079BC4C4C2AF643C4
-FE0B5F3B39389C104D40B84035710A59AB041F67B5FE2E5D3CA3E720D1C7A3F104A74C05
-DAFEDF29777AD6FAFCEA4854B864DDFC878DAB7C42CE153FA01857AC1D5B1990EB73C82B
-A01D3557E10D14742444761671084F1242C9D2EE9E211465F5F8F0333C77B123D6C03A92
-D0D8B91822D6E20DAD190F4D7A1FB12418D6FE63A2B1148CBE94328ACB42845E27928643
-444C3378FBBA83ADF56A3DF9ACF9C1F2A8F3F2F3814E26D9DE7494E2F709A57E373A594E
-4F64FDFDA6BC3866E3F7BF58127F6337165826F3D20DCB22EE9D7DE5CC14D10DD3BEF093
-2B0D75E289E5A332700C2CC5EDC65CC61C592E19144A13A38E24B1FFF7F904CE261FB76A
-31DE7360290C8B750D92E08A25DCBF3BE97529DD52F004AD59C6721FEF0EA46F1693C5D0
-992C517536B390C86F5E788995B35B6311E6EED72D15594717CF385DF042F8515455E808
-C54A0155E58D4277FFFE04CF0C16E1259F39E84292F592BF936FD50BE54ECAB54BD27CDC
-4AFD246C35D901882765CFA13A381A4F888462CA5A775DBFCF37B864AADD8796ECB2E13B
-4156BDA78E6E7308F3CA382B478A60C441B09483E6CCBD51E02E5664E8DEC087AAC030D1
-431A2301C1034BFE73EBB7F2744F689D09F424F22A48960C991526F7063B78EE26D0F997
-B917DBE51D7D291F54F1C22D3E9F9B8472CED7317B6E91F4BFD2E3623D6F3FD2401BA7CD
-6F93918D2D629AB72C4060B6E72AAA295F0EAD79B0A7C651D5A9FE6348EFC9396664557C
-0D5688F01962E8526CE7A55866CD56847F49BD43A674D6C22EA7EAC1A4D437D2A9BCFA53
-5361CD640DFE5189DEC2AF088359B13C6AE7027EA51DD1E757DFDA89A9BC23BBC1138839
-C549FEA71E42F497440214911982F115D3A9278D2119E0A17F0BB1F8A86B7A776C3EB940
-8819B2602C66C523FE07DC9AEB0E6D4AB6F39A308A6E8F755CFA0F41796159FC55B3A083
-F28494B4C0FC25322D17E6083E79394BA1F444CF84E5DD9D9721121277CAA3E0E380A7BF
-93C2335695E2F34D05CC3C3FA3322A7C863A16A9A5AD4BF1C629BEBFC20FE361AA2C6CC4
-C0D3EAB00097D9D2344B8772B049CF951DCDB1C23C138B2D7DA551A22A53EA2F604D7BDE
-8AB2D034ADB57A65DCA8CB55AC778F9649BBBAF8E7223096CDB9780455268FB9CD379AF1
-DDECC2F7C22A25683BA56EC7AC869150810D8A6A5B854A78DDA6C21C9FDBA227E26809CE
-FD44A8E4593DFA5B9D170A19B9DC779F507FA0B28B5C8E3AC017005FDC519E8CB69B9385
-760AE1A8A111E763FB0C3B083BE1F083AA14DF9CC83142A1DFEE5312097BCD8DDD91F113
-0A3B920FEC7E9383B23F7A396BDF28BD1EBB48934BC490D133D594021C256B698BC4E93D
-1E746522E485DD53C1B7980EDF066F7C7FF9F27FEC20ADDD1FEB09CFC81F2B0E0820B90F
-FB40B66CEA152312DC5E7F8CF45AA0B45636859EA9DA112F76B714CD83CE2803D3BDBBC0
-A3FD5EAA7609A1E4A82DA08701A3AC0818DAD502DECE3A5C7D9B5D6DA50F8535AA1C3C91
-A9358EEBDDBDD94AAF1DDE610E9036E1D5E1F180D426A8B33B4E640BE49073C4B0C0639B
-0A28D6E08D76DCFA2F4B409EA1EFF27437809073F29FED0E64506185022EB0A5F9A54BCF
-ACB0F2BDD859222546338939F73C212749C36D6B0E9AF72EBD059C3838FAC738DFAA69B4
-FA87CFF491D877DFBAD90222DFE9564CDA37E5576BD66F635720F398EB6863C5143FDF5D
-A4F07317547B86C5B335CE05755AAEEAA8A927933B252E82BEF3DE30DFDAC82D1354CB63
-028B03BF59AE93FF30771BC27B186C7A9F7AFA7525F719EC5EFAF2526524BAA29793D5ED
-C1003A42ADC2A344D0E4210254F2DD33AC58649887FED4080AF18554646C01BF9BC54959
-D0C06E459CD818580444E37BD2852F44C8D6FA18F7DB6FC15174524EFDD0BC9867832DB2
-F837374BB8C9031A27B17A386E6D00BA61D49003665E1231D79E05EFF440E48FAEC9CCC3
-5985299B3FA94586B516C2317B1AC9C91005994A84466514D7EBD12AB998D4D99BA37C73
-EE3C723217B4D9BD5A0AAB12760886A8A99A4AAF038EE5626035CAAB42C6AD08EAD6CD2F
-0FCF85C2CE2D6150A559250140D19610DDABB115D625C17455F928B55F762028E49E4769
-872B96F84031DA85ADE6F18D601F6D576C9CB68B8FF011B13DA0DDE4D6E35E5A3E6EEB73
-248161764FB3B122A4F40ACC83CFC073D4657C042248684EAC14C56615AB156BD549C964
-C8E5A5DD901BA9B583B4D176FAACDE48BA78601EC7BBDF45AC7319F7598A93B68088BC1F
-B6B4F429609FDAAF3235BFEDF0AB25B6D2BC024B533E6E300165ADBE42C890F17B9FFF6E
-45B5BAA3A14FB36D26E7DE60CE24F4893BE0E2CC7A780BEB1EAE0C6AA0EDCC3BF991E5B9
-A6F98F5F5428AFE21113C1D8DA34783DC47969B9669EC1F97EFD43FAAF5C02FDB722840C
-108CBFEAC5E0BE99AB3E21CE4E622DFDF8C32250C10D68EB0B6788E5269479CC441B32AC
-1FBFC5660164E498713F6A2809F1BFDD79E8340EBB90481932706B378FE8DE987D5BFA1C
-B688817968E797903E558F8C7D0DEADA0B5F08D3D9D27C92E4DBE0F123261737DA41C264
-E59CBA14C0F60459CA59AC58D1A766EABC8E5CBCE3D94E1779099B56EBA27F5263DB950C
-ECFF97261AC0BF39C4364FDE7BB1CF10DB8C3EF5763BB7976815D78C6F886ECC77F92BB4
-46D284D2948A94FA4E5E59D104858DD3ACEDD4088302B71E6A9DD709D47DF40DA7FF78EA
-7A1E226F2C24E73D292B63100F1A6C98548019DE887E739A4DDB4E1D0676967C64723EF0
-F1CEDBA21FF8BA11539BA9F93E55FA54B3DA6B81C50899ADE4EF9369DADE1FA36E2A889A
-A3C22215AB36718E57BC68FD115801B35CDCD592DB87FBDD9AB399896E4DF414835FCE3E
-EE36D6ED5672E8113B19913958321650C8CCD69DA0D9D7E9C0607715534BA674118C8BB7
-CA7AF1A57328FA73270221F6A2D429D4424F1C13D8CD7C6FDE11B2A119C30EBBEB1DD394
-29B266261E39BDDD5F2446444A9AC581712FCA7B9073E1F4BE450445FC14EA0352D7633D
-75C5C5F24DC0C99B888707A6E9DE9927EAAFF533868CC8ABF725EEB94A96699A0821DCEF
-BB2A1DFD6D566446CF3CA7C80460C0772C5B7D47BA2D601D3EE74A5855AF4A35649D7DAF
-0A87747B37F2B1BC2E13DA21A70EC7D78831B840EE91B89BC147C1A58DBA58FB3749F3CD
-1216FF6DE2271EC85C84D07598EF77275ECECBAEC3C99F7686836A8480BA6BCC30B555A4
-0CD5506DEB52F16CC6B4F7FC8B2D8A508FE947505B6C4DE055A188D28FB639553C63D5DE
-2FB330ADD822C7206651DC5E0C5259E6F3F489C0D57BCEC574BEB3E8CAD2BD4FAD239B9C
-4E6C0F410805E831003F27A569B327A52A5B72446F83813FB2230FB670C2DAA0E36876E8
-82C612BA77B7C486DAB6B41AD9D41A5A8FA66E116F48F8A4573536008C9677D75EA140B2
-C11892F86AD1FC350E49C55069284311885787693154DC010F49927AAB51AD8C816BB00A
-216DB9AC0739409ACEE53EFBE5429DC7FFCEB9F54909649F1CA3DAC3B450703DB8A4DD3B
-170969E3381FBE10637C9E69A646C1E58EE791FA68E4350FA17BB704AC1C746591B940DE
-618B5ECF8FE03DA7E6ECF7F208A004815161E7F680AA7EF1001D6E99526DCC4F9E8F7754
-A56EAF46E1E7CCA21E319FF7E44D531E4BB04B7138E6F6A522B58CCDBBF09EBB18287550
-66CC6E7D2660B9DAEE62164A62E49684BCB64D521F6062904D26D8DB101AE8733777CA16
-B20066E6E88C7BFB3C56156AECC89B449912B0C0F362C949FF0503D9C349003284CAF806
-952AE72AF962F13CAE5A87FDFCCEBB81F154487B260229A9904C44F027C776C4FA9BE776
-DD6D4FE4B8D8C9F52897F843CFD2B14BD3FDE0509659E8065F6790F2C95EC56FCFB366D4
-582422CC5011BDCD3466235BA9212F14F2FA0F377DF05784D75F45E5F863A27879B9BF1F
-DDA7916CDA88995E2B52F93A7433CCA2173C1B3AFD83D736D4555A1BCDC83740E9E69A11
-9B5629B03F5A9D18047663D0A6154C4772AFBE9DB5DCC115263D91F95DF2CCA51A4A655B
-FB0B99EA0BF628C0FFD5564E882303DE00B69D666F3FE93A2F2358E3BB4BF60B6F89A7F7
-9421015C3B64A82FA30A92D62B0D3564ED96AD8C228A30F4BBAEC782E3A01DF417CF9F5E
-8B7BEBB8840BEC912AB7B35BE4EFF43E8891AC25F57DF8AECEFF1840C865A93FD1F6C3E5
-F0E48AFF008F52A23B5F3ED5612823AE23E084A84201F9BAAFA5C1D6670CA499BCD92FA3
-C51C0F5C2262941FFAAD5B4317068E78A1215B8F32E60E77196008D95FBE342426E61DB6
-7DF41434115C10B5E04DABD307EF04426DA652094C53EA304AE96BDD6DAC136E1B0913B4
-6874CECD3F1EC272BC4B5A3264A7C3D8881F2415165383BDAF1DCA39A1C53C3BD45E1665
-16EC26F583D1705592AA862D75CD754B66F0CC89EA5A06351BAB9FEF4A8B592D636C23A0
-7D82581D2E972AF42ECF8CFEFF5168695E998D8A756FBEA0FB03FF2FDBF1A3979767E0E2
-A15F041CF0870AC7105E8A2AF5FBB0E00F212C0430C407278400139624895C0B67AE7649
-207A1EE4A781EE6AF39E8C4A77FD75DB7992CB90D9AC239BED5A56105ADF5E224525B4EB
-DE5D43734ED2BBBA28C8CDE0334C9393DF8CCA236FD8E15D5D970900F4DB12C02FA5E2A6
-837C40C097B24942820B116C7693B43F0870BEF05AEB81D73E2CC42E448712D37C22212C
-280E111F738B765A74DF533182178E6CE806AAC22F5E270E1CFD406902C45BB6A58DE01A
-9D75F874C698BD4A9EE40414A446B6E49C8D198583D4A0B51F8FFE1FB809B8E7EBA85242
-477A9C0AEE9DAA8F7E78A5B73DF068D38CE0A7B36D857862DC2CA4C0FAC20A0B9F7F6BCD
-EEE7EC90079B59F46B7A354D1A8D6D4A71DF790E23C4E106EAEC1497DA2B5E36F3EB9E12
-4D049B5E3D92C68D388E1D9D8749E93D2AE063770EE9B9D9491E62223949D60B11AB8C97
-A87C3CD45D13D1B033272698389E80746211AC1E09ED156F7E3AAE2016B178CD4ACAB399
-0C849249133D5C2F855D55A31697C551581953F622621231DBF209EB003D04CFD33BC791
-7AA01C79C2AFCC2308263D0B886A9524FEF38FB01CC278A73A86B06A0467F6A8E57F488E
-F20C22BCDDF368A4322F629D81680312B763585EADED366B810A95977066B421D630CAA9
-0A18AE200329931AF4A1F4DFA5830DB32425AB3B36A023ACD186B4F51AA3D021B44ECE3A
-042C12DC54CEE0B038DA451724D8DA69CA2ECBC3C9E986263ACB791A659174BC940473FD
-03CBD870A2079E225D78D7AA550A3F42FBC2F027F184F54903A1DEED269E6F2CEE48A7E0
-E9DE7018417C65A6DB9CC89A93B1297981530C330F7988161203354F17ED6184EC023C95
-584E45E8E88836C5263398540DCB7EEDDA5299BA8CDFC93E39287F425DB852EAC42A88CF
-3145792AC6712403EB9BF1ADA24CC204F9757B4EFFACA94F74E5CB546569F0C21EA5DC63
-6A7C20A40C6FFF3B173D7C64DE1D6E47AAD74AEE3B27FF5E577CF3BABDAAF91BF166FE00
-65B36A224C4E83252D7820667A3D7A1EE57326683285F217FC893C374DE7F859DED7C50F
-AD5A30931D50E568A12C43C746018C1C35306EAD324CB66B0F747BD24023CEBC636F21AA
-B1A396FF13A2ED3321EA129F72CE2E2B9FA6E00CAB30CD5E8DBA1703962F33E9FB3CFB01
-E91BADEFD13500034B926A667F48ADC59A4CF6D07FD4E7EA96417B25B08FC1F284EF2B3A
-D0A720A95E1AEB3834C453ABDB93F78CA55544597E02CFC6D818423FA15D5D7AA96D9EE7
-6FB33A9A708DF038B19E7ECF0E068B627C26E5A3C53DFDC0A9678C8AFC496078056F8902
-05A38FBA09155052F80832357B84CA86F3B9C399410FFED89BCAF4ACD808B6C7BE343571
-DD2E812C5CA964B8933141A33895804CA34F77074785B58913B2CCC2445B0D54F4D326EB
-E5D8307C92E0AEBA068341A5A14D3AB5AA38D35C0C020F3AB33608BB9C7C28F7BD1022B1
-5ACAF78740EC7DB4AFA3F8917D5722CED290D5764E7FDEB6B0E9EE78A8E51F4F88FDB506
-87EAB486D0218B9DC1D29FACFB7BE25F4D85C1E8AF20B039E23F1E92C79FB13C7EEFAE44
-6567C47AAAC59487CA15B65D3D14CA2D8AC17A8F3ACD19C7B58C2BBCB22DC2F3DE7FF42C
-A6EF389584E4F59CC35D84EF94F3ED5A604DF5CA83035B54817526302662BA6DB7202638
-B4BC47B6E907B0BC3FCF31D06943FF8E04C1344AE04F96583A8FE674A79615A76807E1F0
-FA1EDC93A9538ACBA48C054B4087CEED23E7B4F1750A7629C333102F38001A7A29DFA697
-A3DFAF60BB89908CD78AF393A469E54A41D31CBD35D2BD98E5C04DB8ABD7C6AF6A47F51E
-2F9F4DB3CAD40A85C32ACEAD6C196981E16F90541929DFC9BDF8293ADDA1840EC116F3E1
-191AA907CC72F75FF0923BE2862199035CA1CD4C423171118BB8D250B5897EC9C2AB8C88
-D7FBB99AA99D6D194B33A9152E8C1750498EAAD12C4EB45C1604FB747BA3FCE8DA3EA4B9
-6861CAB69A1FD8D04011CDE1807BB405DFC1482CB2ED7D3AAA1F8714CC8163FD8F0B36BD
-31AFCAEA934265898AA67B80877BDA58F3E701F78CF052AF02F08D3AA1FCE61EA12D53E7
-022B3824A1B700FDA87D31F3413929CC5D1D287B2B5C91F82D9F6DCBCB599D19B4220E27
-C3AAC4F0999C1723924CD7E9C06AFF56F27054FCD334BD9567217D5BB294CEDBCB77920E
-A6FBA60BF77B255E5FBD2BAE7AA22D0AD45C8322A899C45D0B12B3EFEB4444B0CB284019
-33DADF209B797C0F2E77AEB82AE01F09E7897905A43ACB91D64BC3DFFA88A52F8FE2C901
-78A045A48573C28B02782D54B9BF615CB5FDD714342378CDE02AA661A18893B49723A650
-308A721D0D626460AF055C356B3503F6B4CAEA685B1495CF6AE66D14CA45996137D7E173
-7B1ADCC54A6F30E1E270F4507D9B4B10F647320ED3595D6C1B077C8DA047FE03665AE73E
-68A82F78EF7C1DE60427BABED7396E6C412E44FC8D98AEA402C00A784D3A3FBC7793AA8C
-C87A07101BBF6FA2C3178D93DBCF3E00C95F5C0E2ABEA7158330D7EADDECD7B5EE420BD1
-C4C40016AA88FAD7B44B6DCFD9729B136DD16F7B54470F0FBD3A671A13C5DA0A52258636
-1F2FF96985D9B5B582A1B0E51FF2A2BCB8EBB5018DE067019B6C3DE3A052440D893BE3DD
-414D2FA37489D3E34FC6E97FF94D2A2CE6B460498B996D2E21E2EA92E937E68AA000BC8B
-9349E5DFDA563D70EE336C181E9B12FCC65C40A2507685E03D2D4EFE013BA6D6B36D5D5F
-03E7B0920B195FA23FA98993DBFC8F7DC4B7C6BC72C8280C78C150B99604C93323273001
-6078600837D5B179B1AF3FF5692963612F93A8BED3B2630E9EE9738B5F016B0D42D908F8
-9D67A5555DADA0529F1F0445FDDFB01953E264DD3AD489AC710CBDCADB39A99CFD9A0200
-2CE7F462BA691742EB31B0DBDF6F7F26FCEC9BE173A4D78CB40332EAD8A1793F70598EF7
-CDBEBC02F493DB8C654994F6150B43FB49CBB5E886A515828E25F83C8FE14E782C43E332
-B351A8E68094839AE4BE33E8D026CDCF79995EB0160FC1ED53C1835909A1F51407181A1D
-82B529685DD92FE74A21862FEF7B2ED4962A360BA825B08E961380522CC75BAD11FB7F6B
-15378AFC8BBE9521854926147E47A08D728CB679330AE15AB75213AE7793450108837607
-F592719EDC0420A2D9CCB8A9BD7D58D9C7E4775B753F2E928588DB470F6A23378968AE20
-380CF35131CA742AE80AB160434F7AA2A88B2FE42F54FBEDE83A99D5DDF22108250113B4
-34B8C3F8E46D57658C37E229B4791CDF9B2E2C5CB26A83F4B71739741EDF475222665072
-EEA39059AE36739F8CE47842BD9CCC13BABCF2888CB5AB13A12E83E3E1D0BB27C879D435
-684482F1ACBCA88855A0BA49E685B8EC66ADE40A153F64DD355CEFE3FA55F78E499A0303
-45CD4B0471B73FDDB5E5F3B7233F6204EEDE30D7DF03617F267636A4276F6EE6D065A405
-03081E2FD97C1738247526B2F1E374665F400980561ACA6BA65076EB0A23F4955268851A
-3781AC4CE6687986945A3E0AFAC73DEDB76E2FA23BB33E094DF1FF05602E52A49E1B510B
-5562EF0D58E45430AF43EEE073DDF0EC00614C0E2DF121C173E1ECE36B4D87D0FD9D13B2
-75A7C0C8F9B62B5032B77C8909097B3D4B7482A3623DD75BEF4EF27EDCD3E91F628DC448
-4E15D7D633B3415402E48B1B577EFAB6413CB65CBCA453F5EB78E778055798816D895A42
-22EBC77D51C992C56ECDB984D5DD94BFFD01E3EE1082F6D189E3A4D04D6FD2C206235A44
-2578CCBA9CF00D7D2CFC3BDB2D6CAC8AE35DD17F39E0AE8D0A84AA451789BF3C672F7F50
-CDE8F58C4AD3251B124722AC292A11FE426B0B51B2EE4EC7C65103F1128B54820C458E09
-7376F3295D30ACDD561EAD278082B7FDBF592F5261B0BA27A71B8474EC2815A8E62957FC
-FEDA68BA3300AEBC9FCC1C5ED4ABFB2B91C08AAB32BBA60A669B9BAF89524FA6B3B63AA4
-6191B699D7DC81F8E21A990BBB3F906D4F93C3CADD734FE6BC866DE02D2EE1D119A71565
-752224235EB79D3668084A41D7CCB27C48595EA82BDED902BBD71818547D4E755DD372A5
-276B2EC7C66F730F79C111AB99493BF93BE7F252EDDF129D8F7B7DE6AB41E9F8861AB866
-51F4D928F6449852F6FDF2B84E2D8341D6E7CF35FFA7CFD875A02F83733D2F8EA7FD2448
-7A575976B07F5BC799DB0925F0D6967E0C18DD80906639AEB86B4098A732C969703C8DB6
-E9F1E849E75FC37714D4A745A08EA4B374CFEEEAB664116D809AC06A8B3FB1DF8F71BC8E
-BB5AA0467A728A6446768BC45F128D5EE2596FA35BD65F90DBA5A78B5D02E2FA2EA43FCE
-1D2987C8081EC335A63ADA5DE5F6A87020AECCF4ABE0D17D4AFFE79462708D14E3A5820B
-BA2663912A5CEFBF01788B0BD19D08CA965E30C9B7FDD2B8156F23AF2653BA4D42E6AEEA
-A4A812E561FC68A7316634CBDA855E683AFE67ADB8632345B8718289DA3D1F0B00234049
-08EBC15F22DEB99C37280695EAED4D3EDBC084D9FCE7214B85788B6DD81E5AC6B93B47A0
-4BD833CC79B0AA2D4FCC9707874F3C7149F5F751D1A52F59B014E604984C6B2CCF869B38
-A045E50B957DAA6EEE0A74305705DFF1D7EC14BA595E5EEFBE93903DD31B977525AFBCC5
-7C31113400041DADCB603614F882FD78B88D6931DC3FEDA881B6FE8081110CB885B8EEF4
-58DFD7D303B413024A16D40FBF7792785C2B5DBA567798CE9C99195EF294799EBA4CE802
-3D6B0B1C344C90002AB158D3617EACA713F48AB12C062E8BDD7D7C5EBCA6617547A915DA
-48C5497DD8439BC2C304AA1ECB709867EAD1B4E37305A3FFB1A8E9D52462C769CE6928CD
-CE5521F6C134C61F08832CD620385D38CDAD88BEB32B997D9C8EEFEA6F17135A47116412
-3EA3E64254752EAA4745350ADA708255901462AC021792ED74770B031C21C58A7F50A32F
-ED93D45E5D9DCFC27891989CA4BB010E2DF384657530B1256ECFB2613F7FD59ED67E5288
-048E5994C2EB3DBE5D9E77536B967D7DFCC87376A5075C7CA33B7C36251001F0501137FB
-62E0D60F991CE5E3992C3EA4DF89FE2B75048B35B95C5E6EDDC4130FEFF7586C58629AD0
-752666C8A3A1885096FB0ADA14524AAC57E72F66304EDF923F2547D6AFFC0823CB5A8EAC
-CC46B4786B46D611FD42D633818CE9A23DED24AA2764AC6AE7884AFD1DE22A63AD5B105B
-4042B44E44E8A5ECE975FFB6D14E1BF1924F4EFA0D0DAD4E2CA0F5B1473F6D9A7BFD42CA
-966B065D46D3F97056CB9BBA064E62E6A1CE5836BE83371BA46B58BCADA103A2F0E72F68
-E361D46664551B3AD71FDCCC221DE21C3E78C33D597AF3E533EFCD4573E0C2EDE28FEB42
-6D9B7A423ED593E57D7D5FD7C5D97D0B8AA3C1B1F902E89201E28EA19D0D140F8DBB4BD1
-A62309913048A6A82494D26CBBF9DD4456109471043BEC23E4E3D52BC1A33BD7DA7CD67E
-D13E738B1FCEAFF839598F54FACEA0EB1F7D3C5419C2BC588B16A1CCF8814C0AEAFE671D
-DDB96353D32D1F86191490516C461A4666235CCDC5179B4324B7936E26916DA037699EE1
-622E25173E9E1286306E6034D667CF1510AD4789188F7D0772D2DB127665273683698804
-9B9EB1D8A2689D5C46B5B455492FD96281133AA54945D039BA684A89ADEDA43A9496F996
-EB442E2C020D4EABAC6750E320D8DDC7256BEADCEF54E609B20DF4A6E39CEED8B3D4CA98
-0FF47314CC3A3A3E978C4F8911D5AF92C7A0110902A8F5362DB47F19DBCFFB4789C90A34
-8CFA880D4CB23D284C57072C7880B016C2F4338288D32F641EFF0E1F2D04FBEC6D02C61E
-B27A4146B19A5BCE213327C003B1DAC40740AA1E9FB73911F3777FD976F90FC42D91D5DB
-7ABB08EB6A5E4D367DAB5B31347A726FE7F04854DBA180019823FDFB4A44479DC0F84952
-8BD0BFC0025117A8D6B36FA9F88A76DC36E4DF00A2E3D2BDC2FFBCFCA12E3F4CED77C1EA
-B2AE53A27BE8D1E77A618343F6673CAD03754FC14543BBA5FA50E1D7A8DB2646042879E5
-0D1D259898D91048C8B8B0D421C3FAF3E875D7FA4D7EFA088B657442742D89D0923577C7
-7ACCC9D8319DE2640A2422AB011CC520245A59A1D86CCD5F9D5616A35BA2977AC7686BAA
-AFE1A277F407594D6A60D5231EA34761A78C1AAED1A1A6AB100535435C615B8D89C4E078
-829B475470ADDC46331469053DA6B4DAB9F0B0344D97B744BBE1962200DA293864FD2936
-2A6F74DE71CA9A5A1A6E697CD643D33B89A7314A605E54CBE1CF0EC3AE3F11982EC3B0EB
-5D9505D4BFC7402D6539038C6D5E0B27620F7FAC514CE55B230F9A7AD528ECBCFDCDCBA4
-AFBB51CBB1F892545F88C9C5AEE7D3B522ED35F53696EFA39D72B734086CF673DB0EC924
-556F1CBE7D12A8232E51F563E848D7C9170A2AB0AA5702DCF43AC2DA03403374BD85E3F0
-CBC2EC8D2A823A8ABFAD7FE39742DC1DA40DD0AA6E5E1CC84B3B80C909C2E6E01659194E
-592493C1B1D39EBDA54FE9E501BC06D9F2D5B507B8A6A5A9A56DE260459DF378DB3C5348
-84C391C7BFBB36216286796C176220211850D52596BEDFF1455EB36F869D93F275BC2E02
-07CE5F8E5F07ABE7D6B59E6533462CED7C4288A61A5AA7E206986061233FFF0CCF6EF957
-D9FA5B99FB733BDBB3BA0C66508E483BAA1FD689D51B5175533DE2614ECE76F9BB8C5DE0
-DED71BB2F386E03D51CCAEAF84F0EFB290FCDF2C0219B1EC25CCCC33571E29739D8A0025
-FEDA1849B5EEE32D4DB59456B1CFCA8E8F7108003DBA2A20120DA0D7E3CE40FEA9193615
-2F1EE75A674D8C6624CB60E8A42B218AC9E41EBBB6771DB40D83262877AF2A369A20CF57
-BA61484D323FCFCAC034BBBCD8F92644830578DFA45421988048B1660C823CE8F291E099
-311CF62AE24CA332086F6C9CEE197DA96FD2EB0A8E49D2E7045AE7619916124FF5D85907
-DF15FB7951BE56AC6C10EC2A98AC525012A7A75F39B5A6DA63168608C5D1F8A4188F12B0
-F37049B2E1E70A225DCCE1432B0DC309215BC07A2D68A261664C3394CD4A800E30E77823
-E1D8D98B0002208B09873C0A3E6724B3A1A21C074232C400EFD5D526C213550F826EE84C
-3FEAEADF6CCC9E7FEB9A91DE653D1F4CBAECF29E197FE8B9CE2201E39DBABB02299477F4
-791D5CBB3ABBB53077409E1C4D23E7E43B071E523414A00EB50E0A1BA6CA87896C9191EC
-C6154FA8483509FCB65DB129EACF38D00481C70D5D4A1FA9A3B2E84B321222E1CEBAF617
-A8E7EDB4DF284FFC1429CDD667C52D8F2D79E97BBDEBFA0EBCD52A54C963797F9940942D
-3D4D1E9962C34589D754761089F50A3BFE1F9F51C1F1F67560BBEDFD67680C61337F53D2
-7B2D18B4DE7DA691587FC93909CCC2BA2E853D4590936D3B989502BBBBD9929E370B59F5
-073D7EDA6875A191C5BBB8C0413CFF0444F16685442A6EB0F33EFFB569D3AB77151271B0
-B2C5E7078442F1568B5BEE33BDD450854289BFA1CCD81866AFA983921423678D8C9FB9A6
-D9E77A177CD5434BB12C4615DBC5A21317F9B6775EDE6E44A29AF506F119820B5197BD05
-207E0607F1083F0FA4F1E34E9EEC2AD41DF659EF2473724C7FE34AD74D33B15AC0877234
-224B88851D27BEC30033A417C61798F8C0C35123860ED2569A62BC7B2509CB0DF03E3A49
-9CA57311614D12AED1DC3FB1470726AD11CE5D420F4A94586435E7C18661CFF62BE322D9
-A395002F4DB83E37145BC240CB6E5FDCA11686656EECFB072B3422184AF75C8FAC2B6E7F
-33C3BBCBBC8B894A05BE1B75BD64A3CCB485F7359C785C449AC4CA3EBF59496AAA7D0DAD
-FF7BF3F8300AC6644BB4C8E7613C5A4C309EE67AF77701CC1DF39B0C01A296309FA6DF84
-3875E1A057BC7E5ECB644240AEC11AA4157F67136831E5449EDB5017C03509B78B35B016
-DB6C9DA02AFAA51337B3E6FC0091904D04B328D1D57F33CA77E5BDBD38AFA74A7444158B
-20009EB4A2029AC86EF3076BFA6A97469DF182172D39D9BB16D5F15B526B61FBCA683306
-7097DF4ACCB7CFCABB675161A3EEC657E8A8DA7AB590CBB4EEE9999BD8BD3C2885E3C0DD
-52E7850E680F9CC5048FE8B0BBB656CEDC82C07CB9FEF713BE8C5021CA593E445C034796
-B34DC2ACC85FD770DDBB7179F518BAC017B53293A52859A4220DFADC93FBD31F191E2467
-DEB59636682EA309C19F1C5FC8643D9D7BF9A9F928994D15BF645E83B37DDB833F0422FF
-6422A9545FE2F0B2D959C8839BDA8F2D76E369AB05F324089853CE660EEFC774D714954F
-EBDCD762E9490AB0B5CA9EF9B4DA51665C5CFE10AF8822C0831F80470467CF1F49B88E69
-4C75793F8BD37EEAB798D310F5115C5F5DF6D650D75981132E94140843F8440739AD7543
-82B6A4109CD818116DA0FAD8E0FB22903897A1D4C49284411F0BF018E880AEA118322543
-098F74BCA2C1EA19B2FED0C0D1D74329F4F23027D75C304C2BDC5355D5B5424F000090CE
-EF554020B76DFF1EBF9EB929AC89CD76CD5D0E784207743F1C8C0B2275EF960766295992
-5C97D6D4EDFE071B4AFA15C5D9EB72A67C1FB72FC634337D827603AA7C37E62EB623F5C4
-5E23AB693ED30B6736149463A8A01AB28A087F8C80ABEDF20358899FC34F1B587B017B30
-99E8AA24D9054F66E79DDEC2AC82FBB0115923D68239EF1CCA2CE89E935EEE0C451301EE
-075EE992B3183D0E149A65A12AC23DF90D4B05E79F8A0120123D972B919EC7DCA6F00711
-FAC4F842BE2B8384137E5858EC111C33348E85EBBC6C176169969F30841CE85A381EE1A5
-BAF76C017C559D955FCF8FF05A5CDB40E91AC7BD74CDCB519DCC657F3F3F54DCD402CF96
-FBB2C1EFAA5757CDEF80BC6575CE488E2DC246AE31A3E9634DF5337FAAE9259DEBB8C64B
-5F190C04BED5616CADBA4C014A6290BA5D70D2619724A960D60989F52B79C09433DF6715
-54167E161E4A1455A02846FBD422E4270D03841B3B5888FB8399C1F9645B870ABD3F9199
-B8D81BEF3316A3004D07B378962BCB2A0D6531A948B59B7C46DECD179FD73C95D5EF6390
-A105F0B15BB743B0B7D0A23EB7F9065637B717840FB9A2F7FB7C5DB79DD08DD7E024BBDA
-9453FCF5AE11747C590480EE6003F5330860DCB1219FA7458846C8F25B816BB245D50901
-F892E2489F34259C300EDD02B616FE650D5514AD5734B77C7BED0DC3E495C418B6A9EC0B
-EC39E783C913F71D96E9B0A476CF3F2D0253F90BE85D186A823453B109C79AB859726BDF
-85236314120C93F4D44B55EB5A0C11A2D4602149DC836A2F41AA9F096F4082E3B199BD2C
-AA2653AE68087AA655B4113CBF54998BF44C8837E6DC8FDD599160C1B191C2B18AF7EDBC
-2BCC5CEAD0E765C856E0A39E8E904A821DA88AB030ECBAF39CEB016FD34BCF6049F558B3
-EEE3C1EA53B87E7BC2CD8455209A708590ECBB9566A78262C6268FB2180C3C4825267A3F
-BCAC25E204D05417C85E4C46BE30E4FC876D461967483D9ECC839024333A235C05E61545
-E52220B3E3CE601C4480A959F032244A1CF4204A36CA332EC0258A916D0E68B043F30949
-0DDBB75B000DDB359B315FC9BBDE10A42A3A7D6D506B21D1B48254F84FCA27774A98E249
-FCFCE9E96B7EB51D85A671987AD1F3B35C755667B64DA70EFAF67CE8B14A866AE04CA6E7
-EED0905E5FD17B98D75F91279E033C5FAE681AE10A17C818E79204D6AF3925D70AC627B3
-6B81D9D8D75232F308BE848BB67A87A561821201C796FDF6F39B031F5049490AE19E8DBE
-A908EA44E378232A09032D368F1C22E1E7984FA82E14FE340911E786105AC959A5A52534
-C585F1A85C5DE7F78CDC5B43546C8CA3629906BC586B11DDDF157CF1031B182BA3D335A7
-A779F56FC0C037C2948DFD410B53FCDA94E73B53BB76C71B132405ECD8F0B4AB5262BA72
-230B7420F4E03F7BDA0162F59938DBE1220B5CEB12FF83C7C9606A67078C95075D827631
-1ACC893D484D548A52A547C96A30AE7A3B30FB715770CA5861556BEE0E9D8E837D385C7A
-40D24B46DBB4A23A24ED5844F5ED69D58CFE897C8FB9555D41578C97234763E41E1E3062
-185FADD8A80EB9BF519D1A21C1EF6ED7D16F42F5F083046A63711E79E2B4646EFC2E656E
-55355D7D3E6411B465B535043F9A6A57601D15F4B24D1AF71EB93A0C7C07C85FFC32871C
-1DAF85DA374524B0554E196A18A149870C508BDC9FE22CEF54BEEDBC1820BF4B7DEFECA9
-062F3ADC6E93E560F7D37EF6AE086BFA66D02D82C8454FC5CEB362007AB53947B2A14059
-E449E45A379008271758E200F71807B3664771BFB9C46668BBE1A35AD7B208C9AE0CD84F
-8ACFCCDEF782E5E6D3B21F236F004B41E7E6FDA292970F74127259DD470368EE2C17E7F3
-215DBF172A740F42F74BC74C8A5469974446122D11741EFE5CA3AC65D03154E425C85F6C
-525B3CC38005CC7999643144C6BF34EE658BF922456FB08DA18CAF92332BA728EC95FAF5
-8BFF30FF9F1FF2BF14009A5E6B9536F6C5DF9CDA8C2F34842C8EC1FD510F878F1D3605F3
-47B6C95921C8700AFF9E75B7E2B404D13BF906CACB3A1B0529A3168C31C96ACC12723A00
-455229C1BAFE2DC474FC46E969F6A07CBC2D4C3D9C8C81D9BFD84A95756451670D128EBA
-ED2CEF998B03950827D203804F46DD1F1CEBA6110E29A93DDD2C38E8D02769A9523842C8
-533F6EE2CA11FD585EA4FB551DED51FAC17FD30E0BAAC02D6206159911CA2BCB19CADDAA
-4FA6F2911442CBE8A69FA4CF3CC4792CADFF5FB70D1A8441046F0103A36CDC7B8F82C115
-DDA815EF71DC8295D8BEE1D412DB942B2619D67A5C1F8B06DCC13BEDEC191D9E818E722B
-ADE04C6C358A27D1EC9B5C0C198B9B235EB6DAE815C0561A8C29526AD3212B32A3D4FA35
-831008C5A9AD3B9A8D68903021B9513619868E2F8535DB856AFACC031B890ADE468A9903
-B716040C73E77CC57813869E1AD1FC706BC34DF7477FDFE9A0C21AD33C78AE789D829935
-51CF312B811250B8F6244A098EAABCB3A6EE2DCF7209F04AC039A4EF35867AF00F01657E
-B517482EA86295127A388A8BF4B605ED4E13F03B2A3839990ACEF98156084F5BB2206344
-5941C560132D0349D52CB72C85B983DF6391B885C5C6048D5F74FBBF496C70FE021AA578
-280053474B6C1F9AEC55F6DA9DCCF3CAC7A7DEC6F743A81FA0DCF7621B484589330E3201
-8A1B7257F719BBD0161EC4ACAB731F2026B77298EFA4104EDBA6B299858184FD1D4C907D
-B3A6D0192F8C7DF66D3B0C947AF0F91F7CB09320BC0D0B11CC026162450096809A8D1E8F
-01A09E2D3C64E6C91E2B31AEC3F1607381714BAF0D00240FE58264BCFFDA303E87296DFF
-1BF630DCF9AF3BDB5ECA30991897AED39EC4CF40070109746FBE9D6E5A24F70D8B2D050E
-B63D55AC6D18153F3D5D04E10B704A2B47E7555627A84F394B3FFFB6AB7363A9DBBD11D9
-323050BE1C294A586CCBC043FF952C34582F4D4F8A9F6E71A246B47B7B87AFA9BDA0ACA3
-CC3ED5129B810A98883B1A449E5834344BCF7C09117052EC619C8512DDFC81A68CB6D179
-CB3D6F3BE24A1F29669B7C666A9A0C6148E54BAE665515F5490639C66BA808E40B615EBF
-5B59D3CDEEA96951927E406F696745250F0A5A8B8850C3A3AA7F59CC3F18F3FC141DDECE
-33CB43777CB6359B9015B27CCA83BB4EDA646BEBBEB1FE0BCD0E1114C0F983918DFF74B5
-57B7A614EC0FDB3D1FA926CC76D3B6F0527BADACC1C302DC6D4019E89EF7DD3195494638
-794543E29846DCA17B1724C3B2C09172B9402437E747F22F1C959AFD01C092E87ECC0CEF
-C7C422538164E8E551775CB7660B90009EF7C910845385B97FFC2DD5E8DC1DD3C0B2128E
-9553A042C74308F74DC7F04CA995F9B9870AD1E8F89382E9E9DE8600936F1E2180D59B2C
-B8A3536BD7F2C47142C756D26411B6E5E34B03C49CFE87398C7334C786B729DA1F36028D
-DD5A16009B6BCCA2DD6737C7C4C3CE7004B488B86507D095B567868A6ED59964EA34095A
-DFE44C9FEB502977A1369EDBFBEDE949CF421C576859E181AE2CEABCE6C35A88F5050345
-FBAEE8E1FCD98F6DE17E66DAF5D5929046C074E8D85C4AFDC71367857E8A7B1AC3E526F1
-8B7DF5E90F2DCA4007344D0EE044E663D50BF80300A3F1F1DB03B14DF2CDA7A367F91A5D
-AC834BE8E057EDCE5274252AB3FFC1D1DE90857EED51040A2FD881583184CDD2CDF4D629
-B907353B9F878AF4E46FD64C85360927664DAEB7371EEB887F5AEC4F76C6700824FC8E05
-53A785DE724528E12C1FA1A8D32059EAA3A99E6D481665DA762E6325A4310222D7DF3918
-E96FFB85B3C04D9E7CF4F3328FBC31F736E93559EEC6D60A878990E8108012A2785233E8
-2E57C735254C7B38E16C6C7E7179246054583C7299050C31496993555A1243826532B139
-71188CC8580B73C43CBFD1E8F23369F56EAE15FB0FA461BB771026722695A8F4C6BFFA3D
-76BD2E85D3BBCF1F7F53D23639E39754A4D71B48F1A8C8A18C2004A05EBA0656E3E9884F
-9FCC00D55514EE382FEDB40BA636BA174FE950F2B0BEBB9C926E77ED32B08ECB1F4D4499
-02387444393D3A97BD81109E56701374F13CC9774778ED60E3EAE3C78BB6E0B7ACC43B0E
-5F29F3DF4610E97F86D7DE9CE585E2BC144E1193C123BDDBCFF83336625ADD90F1DEBBF9
-74CE0797BD5369D2E3C448BEF8AC728723EBF987B4F1CCCA1B3FF3C0CF8F0287E3F5430D
-BC67542E10C560A28AB12B3513C1120D8975A6EE71DE0175AD8FB16C3DCE4B265DED2815
-F03C7FDD72E34A27215870758DB124A5D630723BAE250535FF92FFADB0ADA3C4D31D007F
-562836EB114CB81FFE1E9F54756A3D1A8E3CE7DA8EAC4036555B6583937F6307017392F0
-FA28BE83A6C4AC9183B899DE736F86D05A91CCC5545B7AA2694841AA98ECC5712A76011C
-9637D079BCD5295AE2999EC5C032F7ABEC0804E2A2510303EE071A9777E89E32804C51F6
-1458AF5736CFE2DCC50564CF3EFB629FDA6C39CCDBC5417AEAEDD0509A025B43A682B218
-8AD0D62B96ADD583B027B85C532A1F1C2CBDCCA5FD54A3ABA6EBEE74F2568BD9AC0E19BE
-26C1C2436C4FF76B4F50F05A37A1A73A02D155C2DB4A849082AFDB1284F9566407CBF976
-F2D7C124BB538A0B26898CC818BFD9D34D41DA06677516C8D78B6C801B864DE2B7830E1F
-868F33DA7E549639ACF55183CAEDFDEA0664AD59BBAF56FAE34AD40EAA21F539F916E41D
-690419E36D2C268B7F72B86BE962AC175BED26F6411B70A92CCB9D7A27FF88929F0D13DA
-90CC5948B6411F7B04586E283389D530C85CACF958D145C88A34E03781617B40171D3187
-430BB6102B6F1B2C9DE91D2D7BC2A8D5770736B9402415C966FF73EB321FE99505100C1E
-47433619A68E08EBC593B85B638EFF1C484BAC03B045BE97A0E8AB48C929F3E801A3D057
-6415902C739C6F92B15E8AF8DA0DEC3450DF6AF7522ED6F316439B8C6FEF58F96BC9C096
-C6E5C9FA97C1524F6F4B84D614EA7B2217B7DFCA1AE90496066A04DDBBBEB49965526701
-3A7513B3453AD0543D475A82C2CDABEFBF7EE5FE95DF01DD6EB4E2F5B36E5AD98A5CB658
-87327AB12AB875E4D9D7CFD34C4F02325EC3E37553B4EE12DD5CE535B2F6C7651DC26A62
-CAED8B3A97A143029F3EF41678CAC2E5F2CC6EE9BD567FF58F32435045214B62BFB112F7
-14FD95F9BBB4F3B3FB620429E12CD2C52C55E483CCEEA72D524C4CF1D91E80F27ACAF36B
-5BC7D386BFCF9D70D3CC730D5D2C9C75BAAEA9EE1FF093321AF65CCC73B6BA6F977249F6
-746D69E200645A4E40EAE0986FF0CF3F1B5572BF9536DCEA02B6925801D1C466129D45A2
-E927BDBF6D6F84C3548C78E70DAE806CAD180FC468F979685F845BB2311524539B1C7ACC
-C9EF641183A100AB51C155E89961090E2349C601C6769CAC3B1C2537BE0CFD560B9B2369
-4E1B8E9083DF9261B17EF6475C0A42466B4DBC8C601CD82D6236729CB8C80FCB57E7AFA5
-D9D9B35F66E5B29251086BB760BE94831670D955DC8288817A9DBCF7A6ED48038596CD76
-BB2FA5541EF78AF5CE421CCFB286624BF3C98829323A7EE8CDDA3C5DE22044672C8D233A
-C08521CA69962135FDDC8EA4139BCB13B64EC0DEA02C437BF522F41A8768ECC542D5EA8A
-9F85417B598931410BC08259AF88E410B695A9A6EBD730853F2FDFE3FB00875F21E1EF5F
-60D8D8F62E643A6F4D124FD84FD72FD21DCE57144CBEE5EED9C05796B3F59338903913F0
-CA0B073B074A44B1E1951353EE514CB41BF3D50DCFF683CD15836226EE9E73F55D4078F6
-5E3A288CF7F124ED183DDF2C0EDCA6C375160756DC3DC33757CBE85822FB2ADC859CA8CF
-7CEAB1DF3A48E751A6604C3E4E53A9C9CB967813C3181D7E4C1DC954A26EA4B28E23E39D
-C2564845970739B40AC5B267B4CC07C90E289EC9288AD379A7B684B97BFDB45F036BA95B
-EEBB25A5BBFD3F0EFEE2ECDEEFADBEFE80BF2A8C01BA345B29DFA9B25B2D2234F358BB99
-2054FBDB728192CB5EAB19319257140E95B8F31E14BE579364136543A847989F4E410786
-A0A068E38A439250C3D61EBECB1AC741D529A5A74A546FF7BC9F2CEEB11CB98F4FA97BDA
-C74A7EC4DE3948859D3091CE7D8992D2C094590B0AF2038429E30A6BF3C7533A900A4240
-E082BC40535E8A07E55E6FACA93FDCF4BE35823B30A2810DC991AEFE4320F927105101D8
-48A790904C823CBE8286DBC1D8E7CC50B1E5931640FBD0213B0FEB7AF7AC38CCC6B738CA
-74B1FE58BF8B559A7D3AF0D2ABEF706671A977E737B5E49C4BBBE7B412FC8512C17661A8
-9827E24623F4428598A65FC5A79E77736EE2506E5A61DC3ED221F412AEF9FB3AFF6A79F2
-EF15CE24C810321A72FC6705FCFE24032801E3F61EC145D6A82C43DB8E5F9D20AE3FD7A6
-72477CEA2B6D04C24804AA1597A4A3E0B7E3E15D307D8A13D4311F4EA895199D208B23EF
-DB35D975CA9D6D9A036F27FE597C41804A8B5EE10EBD4C16DD09C6228988A780CB315C53
-C2455FFAAB2D71FF87E67EE35A65AB2B8BCC351DCCD62BE2DC199B3574FCEDAD5809517B
-8E3BB1B197078CD7F691B4D0474EA1F398AE3AF07263E8BD0842B8012EBE5F51CD5FF11C
-35CBA2B275CAFC8D0B3D4FAD5B0931C03A3E0F79F31EED87ED8AE3C4F628FE1A1F2205B1
-55BAC7504D754C58BDC458A4B24F8A4E1401AD5B66E3547DCF9409C1C811CC2DF862062C
-74A773A5B7686504B4C7396230D5F2F0A2BE098245EBA1758F20E0E5FE2C94E899AFB774
-4F29CF4D61334CDDD7C38BF479B0CC3DA8E67FB6D3150523C09A24286D86A9F4E1F5C2DC
-CB18719F6087FD27EB5BBD9BEDE21B10C26BC38CD98952A128F4CF48F8651B97F6244F23
-E61EE0FBCB5D3BFD9C2E14792920066CA5E70449C4F13057DFD33A11B71C7991D29A7185
-CBDDFEDA7CFB85ABDB7F854F4342EA020DB708556762994759BBAD1E9F83E7F2961B017C
-4EB56B73B37F019A8B91DF3EFEAEF75E016457A70AA33D31C9BCA76BA4B805646F8264A4
-6C15C2470F4903A99B0D0BF9B7B7D384F640FAE3DF6AC2ECB533DF89838B258D8128F5C9
-1DB7350B9BDF201455D5AAC7C08F39B643D8CCF26AF3563DBA05B5AE422388644CEC7ED2
-3EADA9060442A728F966D50989C477BD2E4BD4E206C8B014D2707DA596661CD7035B526B
-61CBD0FE916D0D7B4B22ABD91B4902C44187E74D71647F7143FAC8E4E9907DBAFE15215B
-6F20B82E09B29630E5F1CD15268481847192856F1BB23A00D7E6522090B3672286DCA1E3
-D2DE32FFC4C978F61180D497D9DF1C1CD48B1857CBD40EA172DA1438862A7A28F570B5B1
-73B53E1E81C6EC11A269001C6E6070CDD0156DE95E320F3B496036C1136F15EE35D79F2C
-962280292A3678BC4DE5D1C2535F09571A5EFF5379BA71C9996B7003F27BE9C810C68D9E
-8D55287AD3D1B570C57CCAFB53109C3EB5674920E6FE3AD170F783B1AF3BAC0BA5CA1598
-6218777F4EE1FD7738963D6DE1D8E1BF1353D5D96DE89C2DE3AD2015265D9077AEA8F26A
-9A391A61A27CB0F9E8CE16A12D1C2128E8CB7AE0E861E3CB56769A07E812F1169A283C65
-A22F19881485367B098EF3B97BB9E41775BBE13F4E1560F2AA0FEBE4A31118F55142E590
-B51D5A0867B89F00D9D461D74DACADA920DB5452D80982761B357AFD2F613113854673B1
-3F0F1EAA566427323E2B35F2FED6339DC28170D90EF4F8E4E77506115BFB2FC891AAFAA6
-59611E9FC6F5384DC5096D54E09567BA8379C7D058CE8A3E203EA28DB122519E483A46D5
-F527919C4AA0F635F6F29C4AC9363EA96B0802002BD547E0C248AEFB8DAA0A75DAE5B8B2
-7C7B4716769521B4F3A8B68B0251CA46BA9B7FCD00B3D4A59002B249860669961FE8F4B6
-B594B68D781B24DEE41869F320C0CA419B596F3AE725B4089A388AC4F84A201392C1AE79
-D6AD6F13023E6412BF29DFBF33F00D8966E8C87FB883F97B1430DDD9EE0D0E8ECE00DACC
-CDDE43F90351DC64D38EB3013CFCAC2792F613EB56CCF8553C3D9A4B2E9544058BCA3B86
-6F2E33A68CB60097D017252DF367F584DD224D38163B6BB1F5E8154C9590B8E3425FD89F
-4575B5150F2C674CE5421E4930766BE7A55D1A01044D2FDA079E1E5CAD18F5F0B7897741
-EE1F4FAD109E503F44526746BB3B5C803047AAB46B1D2CE31F3E026853F52528C3CF6BBB
-6BD36DFB524170B10BC85C070459CDD84D25C0EC712B5E8C8D1E6A736993351DA8261CA2
-81F4013542CB6BF8168AE8F04C55BD7EBFAE0EA6C3B45CD9698C7CD576793A1007E2B391
-0310CC96F4D2C5C0565CFF92468AAD585185BF6A19CA9D27D6E1440CD56CA0AD46F4D1DF
-0DAD5F2A2C1D2B1ADD80030E38080DC4CCD773B7E7A74EE7F9A964BFAD960B2542E6EFB4
-64FFA0ED1C8828B8C266897C0F7AED40851746A573DBF08F602BCF9E1B339BE24BF35D0F
-AE254E6D6170A224FB5225D8859F5C440F96359783D21940DE8553275485D0287DC71919
-A3D81FA8D8167DDA0F42E1CB15A19D673B896729B2A492531E9FB8811837318C24546170
-9F428D0E7B0A6C416FCA1B5B8849B86EB6ACB1B901E2D90E0939F3856934894315E3BDB8
-1DEEFF69B45C8C7871E73E6A20B64362FECA450D8BEA3878AAA0676BC8F9DFF37AFECA0C
-C1096900829EF7DE769DCFA7FF9DF38C9C313829A5B9A7FF7707BC554F1B4FE54214371C
-6681D624954BBBB90BA5AAA44175DC50C6BF1E8A618471C3D1D58471F2567084E503EFF8
-F4083B75F03B7848069ED9AD01AF51BC5A9C3F34E0EF36FFDD3D3DB350740A56231E8323
-60E8327F218D6E7F2490258F03B904CBC4763871F37E1B8C88D592876E0648184954B702
-CA5FF4851485BE6501DE9AF291D2D4A55CE425E405833285358EFB271ECA61CB37942EC9
-9D53EED6939D6E828C6B2E013E0ECE1A60736726F77775C299D6784E51B1863D304A9069
-F217C825FF94E4982C8B3CC30242232FA59A8274011712957B3F1DDF558CAF79DE460A9F
-B15A2D1A3999EBCB3501BE97E719138CBFB37242A4883B3300E20CD21EDBBE0F0D8EDE3A
-D6940338657BE43C6C04EA6C48BD51CE3D064B55EFC5DD632E1084BD01ADDF53C114D329
-438792E470EFAEEA5DFD2FC40553C736BF612A8AB8B0FFE6F16DE99FCA0A0B5026B2A50C
-C15F0886047EBA1F115984B30050C579C1CA97D31BF4167448D89B3BC66EB4A099E4DE4A
-89F186334430655C7A2709930DCF66404322FE8C1AEB3C7952A4DD19CB35C3F50802FD7E
-E82D233FAE8EE5377A6211C0D55E5C188CC858D2A38990ED8B2E804FFD60DA6C477D90DE
-24A93AE87BBA8558770C427EE99A8623F26EA053C077837CB691CD6BA6A22EE8C584594F
-B5A8F2C75D5ADF7EBD927BD53B6F5809A0D6088C094EE056EAB006CB8C4BB2C035D57A55
-57C3BB319E4F0F9BA89129924EB53F7D349C0435A1ACFAABBFF97E9FEF3DB3DF03C21E47
-C5FBC852A8DD098CEA2C335CCDA04F2D2C9E7E38A327C7D78CCA84B96C432EA51C9A3CE2
-37BDEED3EA86D69716E5D60DAA77F31CADE9BB9FA1CFFB8A3A293A5B3FF9FEF03CF96BB7
-F259C3FC6EFC422FC55673819F3F4272A675B2ABCF8A4DB411090346889715D49FB199B9
-6AC6C2981257EA9211FA518AA5E582E35E0034AC42F607F587787EF3A6EA75C1C396FC99
-331D4DE3A906906D334CE8DCACAD9D6880B84BE0068ED1F365B9E7DF9D35E79412BAA94A
-BDF0274B01E64B865E7D4532CD08516C8649BCFD7EE65685B27BD947156ECBBB358C110A
-5D5767808E8D924F31464FD3BFBEB53FDE41411840C1B689963B2A5781467C9E44E681C3
-5CB292DFF210C75FB4014107B364F2D3B8D3394AFC8B14BA28585E1238DCD8395E05852F
-C813E23F7A278E72C7463995EAB78999388E9F093C84F3FE3A164FACC9A0890FBE7CEAFB
-0C988CC963B228D9939928E886095F772F12F8B05F4D66ABD8F3332BF5426002B905A049
-886BD5D9EBA35960612E1DFFC74FB5479E37A19A17BCB600E200FBD9437F1FF156028386
-FA46C79694EF0EDF059E63EEB766646DFFBF7385C0893EA15B3A1C982C051C49F4AF465C
-A9E6E837C463F580B883A93C1E8BDD68EFE50FE6616A831DF101F184D2ACB6112A10720C
-6D173FA6E5C494A271FE20AB7959234BA355301BF8276B34BD198A6F6415C094936BB323
-322CD5957A5BDF76EEC4EBAD015276DEF92868B49CA04FAB36BF6670CA237B4530BF5DE0
-B5774A3E67AAE1EFC2653CF7ACE86FDEB7C8D78B29D1B92170D47EAD57AC140DCB44DC34
-AF59FEBC88B667842227BAE500E6A1DBEBAB7750429B00703863C2D3B3BD0420D3660EBD
-6C14592216F03A404E4E46458A9370BE3A92618924313DE6453AED7361D34CFB4369C789
-770D33E94993EDD582C6140423189EAF3CDD7A672D0DD00207B86A4D8FACE9976D83D81E
-CECF00CE22D20B441038D424E3958FFFB7FF68D6214BFDA59085FA022DBA5C94071A3F72
-1221CE61C19B19542C3321030BF5CE4D8022B49573793EB824E9CB243D0E9EB6B89A34DC
-744450FCDD335E607B45DDF26A57C7DBF83A8C0136ED272D908A0A469C9E61F3CE9EA255
-3D81B9E0B98F323928B0F44D62FF942276A4BF297FE225EDAE82A20680A011229F58DEA6
-9FCE234B22B2AEC35A208E23EC809A5F790F09E11FD738CF62168B1BC2F7DA9564B8D576
-11AAE9CA0094FBAA861B6114A66A4692291D5F4EDF5E230CA8E6526C55B62C8FCD46D435
-6407C7082BCA46845FB9A2865EE0CE8F860278152F0A849BDB8B85E481132797F49DD35B
-247BBE4369FCB4A20FF77D6F791568CFD158CC1319F17868CEF028224D2AF3243EC6740C
-93FE35E7372CF7E68F06DECC8160B7C04F7086F4A4FA66DB58100D6513000C4CC90BB363
-6BC1B6ADE24EA559EE3245CB74502FE440D7ED58AE19B182E0EB645D7BCC5D8CF1EC26BF
-D8BAA713B6215595BF42FC097D5DAB7C030C522A694E027CF558BA7EBD711EA18249BDC3
-DF346537E5FF50755BF03D38A338EDF1974B21FD6E75548FB8E2CACD173F40EB5A9F15B2
-FFC720F0190ACEE2B6E5B040F7B89AB214DD89E1E8AA859BF436EE19C5DE800ABBEA049C
-9B6FA77C93A833C02A11CE4E502D174403B582F617D388CD71407FA8C7060B9F3AE414B6
-63F4B524051CAEEFE1C919346B60DD19E9FEC14191B72DC49CF0FA248E568F6AD137EC5F
-73BC3F3F79CFF305D88447E05B4BC7B25D20B5916787EB38D2BBA64411FE911BAF1C69F0
-FECE979BA0267D3A297E80FE07FB6F6330C3D4E9777C095B74DB138EA9BE483655FDC269
-A8759203B594DB7C9F6AB5909651C4A27B18E51CE5F695C2ACEE18DA6AE89A3BCFF95D65
-365BF11C14A5FB2BD261CF6ABA383FC467C81FFFD366672895BA37633C3A89739B397604
-0734CF9218B3710863906ED0002D0E756F66DDA0B38F40882E388DDAF61AA9EBCC87B0DB
-E04F06F6CD3CA3F24EBC695C1CA0DFDE7DDA8864EDA643FB93E0AD976D5C1F36F65E7A0B
-2B1767B0C302AC325B83FB1BB658381C387FBA199CD1C3EC7602CF0E19C96C10890DCEC5
-6166BD141F3061BB7A0654BEDC8DB922337942873A2F6E8E11FC291F8C16AF1A0C8221E9
-62106D02C4F575F4A9F61287E4C20D948E9E4CC7E74B99776EF3A27A0C2ADF127E60174E
-4BFEA136B745DCA205A07EFBA484F7E0F76E5FA389DBEDDE4557C73C6B8BD6CFE9D0EF6E
-E197EB8A5EB0468F5A80F6E71F9D65382067B3216C740744E671A533F046B48D61845500
-488CF8202A1E91176F97E50970BC00D58CFC9B1BAEC3435DE567CC6B5C601ED7BD437C25
-86E02997F7AFE95F1AD71CCEC4E9C2B9D8D17BDCB66A128122AC0E0CA37CE810AEBB216D
-C4AB46AE69CB2AA97CAC99C1C6A5B112A1BC553658BFA93E931B4F28ECC6C0C43E18FCDA
-5972FCB8882A86CA41349630542DAF536846B01DD5ADCC84FA4AE1CC58EC5B325C4EFFD4
-E32EC77120141D233E5C02CF7A52399AF39D64F4B9000B881F13070D85E8DB91DBD38A42
-08D5C6D8ED42A48272851DE276E5ACF698E6088343F852E0B139E724BBAE48A44EDD7A63
-B5772F61E178C2CBC38F728DC708FD792737E5A495FAA3335133C45CC887FCC94889DB5E
-2DD34C1DC8B2901EF49320B2B8E7708A778A54A540CDF310ECAFE13653DAA2D6C9CAAA00
-7AAAC4D9CBD01F61F0E1D8F35C06019B1D6CCCEC5CD9A1A263CA630C8C14EC325F8E5718
-D4CC035FE652C2A2DCC53B7EB5AB33B43C7D1EDACA8F589C5966BD92DF8B62D56523BD33
-501CBFE506B9061B096C184C5504A61CD6B5E03A8338F5B16ECB0324A8785DF1EE193710
-B76D5301448B0C664F565ED0538257FCFBCB051683FC200D4AD675FC4CABAACBEF11BC38
-E95F474AF3FA7FB187E5876B1F04A26DAD7904E39F3D53A1D5FED70E523867C3E1A5B65D
-BE0B1D6CA84EDEF3D0A24D042CA491D6BC39647EF390BA25E2F998ACE7386F8424E3E03D
-6EAA815E717F835E3528069BC3A65CE58FDC49B602E0418A3972D9E5F6192AF89397AED8
-32CB25A607DDE31B69FB61164EA5633C019B3E4BC93078739879A2364CF42633C07D1BE2
-57AF2B07A1E5ED68B06BFB81CAC77F6D2EA4750266E8919E8911391688D4EADAB19B3E54
-4460DA693474250CA9A864C17B7BB5059C0D08B32400A51339C4ED7385D9C1DD1839D96C
-8C0A6BE1CECD38544854E9698401E33EBF50C1DAAD1652D0EB978D8025D86E07C3DD64FC
-92D362A13E173F1A5D015A43AC3CB57732C6A2A204B990635B607938D99422B450E54B7B
-4CF6D22BE2F6B9E936611A0132538CD1D8AF62A260501B3696EFBB0EE006F658EFD8AFB4
-19C3C8957B3D9DA5F8758CCBD17734D80E2E207A58E8E97B2B9B78012FAA2C73CBE0061B
-EB3F30CC034F7FE5D3251DA71BD8372BCC7F271B5DDF11167AB166C59F63B9923F043611
-52240DAC4CE6B15DD8FF9ED6F74FAB00A4D2D9F89BED255126AEC97ABE2D0C7D3947907B
-0AF2FF6A641A43BFDE3126F54E213C03C54E01BE7DBA01F71E523FCAA4C02970BAFC51DE
-EA7A8530D73D62B5F3F457AFB500C5734AF579603D2CAB9AE49281EED2CC8FF7101B4F45
-F619FE5FD48A83D934F6A0D394B07B1235AC8FA8F3DC3CCD9479D87398074DA6AFC3402F
-21B31DE8621AAD29EFD4F9CAF0A9FA9D9A0D097625412B4FD723E1363E5729F40D8C02DF
-8D222A48C23B2E25CDF4F69D283E006E0679F1BD904A9075FB0A8094C1BBC3400A2BEE5F
-736CDCFE47991E539406DFC399BD0B76D3A5C8F91BC2BCD841E4AFBB521D46B8E0558F4F
-A800637D47167FD2EF79F5251095FFA2F3BDB915015010FA689E4E87F921298735A30EAD
-938B6BA40D4E58042A3065AB059C598A96DEE3AF09237FE8A6BE9CEF014AF36D91508C93
-F7A18393BC321C3A4110B160261477F6D9B6771DC8738D8259BC4FF1F2C1A657638CF4F5
-08AA9400D4AEF4ED4508BB30F35E38D968E008230DFE501A9612966F7E35B6D8DF26338D
-B63BD1B88885992D8D3BC7EFCCD89622689192CF14C328C4E4DED3025E56F3E73FE2472A
-144AF139106A197E00EDC57C2443686A234D214FEE4AA2E3EF978444D4A2BD1373423CE4
-E5F82099974FE66D53972F774F2BCE9003538CC59003D0DDAF9889FBF2519EA31F3A515F
-8D2C0091937DCAD3FC757E18FBA1C37F8FCC69685E95932B3DE60F80837EAE690DCE306A
-EB060698E560BD148CCCB42240665ABD523CB02FE18214AE45C44756E9D3A8183DED7506
-E560EDB4D43E3971712C3D23714B0F83D3BF19C7320FFEFD07E9E8CC573D97FED37FD3DA
-5EE98331C70CEFDB6F6564D8EA0B985F1206239822A4644CF2D7ECDC63FC5D2014359891
-5916E41FB338545CECC1B9E37DBEFCED4A55DB485C86C56EA97DA572A2B74D2650C8C839
-1C57A1FC4F75913C8446846F26614E8C72080DE0FBC3FCF92864DF37F8A3C66109AA56BB
-3CDD02BF5330C38BD39B081AFE90F775FA6C78BBFC51DC0FF37B9CAB4058888CB3D4DB26
-40D7224C0DBF9467C720CBB5F684B2A1CA8951B29182A3913EE398B8E77CB27868A439CF
-9DD03BAA0B60DEF70FF776096D86E71394968B7D64CE289373BFC8BB2CC0BDF78E1178E3
-D6F5473427E7AB841223F963FBB2A5743A823367D9AC4A5ACD8BA483F5BB5AEA19B1E882
-670B74FF997E3321BE8A96D7C0435EB77A36F7AD6AD0C7B21F5C74895090908FCDDFA655
-628898D8FD6218A60C301D959265B430369C564E01CDCB05F42B520625FC0FA93F9736AC
-7D5ABC70D1A25F6A6A95C1CF4A584B51E9CA9FBFC9F24EC4F2257B2AEBBD9581438668A9
-F84CE7E9919C84227D76B11B1BFB61788C69603F0106CE5FA226129EBAC295709495748D
-7E1856EF2F1D5F19458B977506F64AA7E433E4E62662F10FFF43701F2A726C3F8CEB19CF
-D467C3B4E835A99941C7E46101CE2C97683A17530F32808DE665326D6605984689241CD4
-5DDDBB5C964F3FCF7FD89D8B580D941B856613EB1A8E59052B296E8CAB02B561863B3671
-E0E73789B112F7DB5F0B2313B083D17166D05B65DCEE648210AB9D3F3DFFE60EC4649552
-2F101001B3FBAFE7BF2F0EDB70A95C572767FC1880F84A70DBEE39648A176BA8C7C87EDC
-D424245F6F66C910AAC0C60E5078260A698AD823965D83268AC7A98EA0E7A23A7599470F
-F6B2E6C6F32FD3714B210C775DFF039590A0A159BCD248E95CDE7A234CD8F64CCD5ED383
-D2E49F9FF4DB2BC7E7F8E1F45643BBA556CC2A8C7C0D32CCE2D17CE77C6C8B021AF086B5
-1F0649C7E2081705B2C0C57B205E8C6985C849B01EF956BD97F8862BE1B061733C8DECB3
-47F4AA8CCF7FADCC4C335D3917604DBA283DBC054C76199749C7748A48417624EAB6C930
-B403FCF33E8A48AE4D064E70CAF24F68AAF18D1F87E4A920E2796BAEEA34BD4F208C90AB
-87D599E2A4A2427715819D7FD510ECBEA421E32FA9C3B672BB5329FF756B0E4B31C2B16C
-ADB8ED6D90BF002B29D4B4F9AB7DB03B83EC9A165A3F1148A9C1958B8071F279440A019E
-743A624CFD4166857D8DA38C230DBC91DEDCE97E006B242E14CF25EACDE17E7E2A6621F5
-662820DD295589E5BCFEBA6E737C3DEF3D3482D7737CDE224E3509858B999B66F6F365B7
-34C207A58FB6C0DCC099E1A50D95A7BA53E0E51EB4D6B55B681B37FDAC9543F143EE5B57
-292DE45AECC7F8528F70642A9ED6A987748EB0FCF8E4964131787205AAAE1D84B18E2736
-911C20659F9813B7F90F69F2B93360E2983CC40A3122DEA8263FAFD8DDCA7CDF12908042
-F5B2045B3AA8BB0336816C80F1C89F7141CB3C64C08E8879145B10696164E0872635D06C
-186444A971B188D84C0B908CAA9D14DE8E69A758841AD6FA932A648E9694E399F234D090
-D365A315CEF4F66DB8E959A56FBEC35DF6A4E969A49FCAA95FA2797D401DC1B42BD82BE6
-5BDF85A7B8A3FDE93B698F10F675E8E0B7D2AB4B3DB8E0FA5D21184C9487BCDE17AB44BD
-DDC9278A72C83EC2896B02DA5D91F2BF9FD44D56CB65B65DBE0D325427E6456E4046DB1C
-5229F513A4EEEFC319A58334835FA5DDFB73D4C8E92C4A3A2F449939939E07BF9B3B2200
-1488481193B08870E0F077E47E7946186ACAEB9FA732474E2DA080AB573A4DD27BD99894
-F2EED2C80BC44C46596FB47502649BBD83744562DEC7224B1CC54CF28192D3C23956A7EA
-96DBF54D85353CBBA1770E0FB58B6F1852409BCB1BDB61313C3C7C3A349591AEC393EAC1
-BD80E7CCB94C3604C5BA8B0828AF45182C683FF51D2D2C00570F6A172E2F9DEE877B03BB
-45E866CD7E5A99E63B4141C4B12A21F62CFDD331137CD027F94DDF9F054C162D74FA1CC3
-94F404C707DA1F4BD2A8C1C762F243F14FC71E546EBB5733C43AB43FF23BA9C2CB9058CE
-3F3808A129A03B6E13BF8DFFD23A1D02C839FB6ACDE2BAD2474EE64FF7AF05FB40E30A23
-6BE270B787D6FB1FFCC0C4D7625B13217071FE46C2DC56DA79F278C69E85D7856927D0FB
-108EFF1E3AFBCB9CE54BE2F76DD439BB182D3DF1F2796DF6B5733959A950ECCFFE7E0B7C
-6BDF71CCC7DA4FEB31D6FD79C506250FEDE21414A1A842747F350664CF53E6710808AD08
-A6FD26ABD8CC592F693BA372A5C0D0A6F4277A92553CC72CD6212865DA7D032D1904F1BF
-668B0B37511CFBE3AAF595EFE422FB3007AE3022CEB6C87058941DDD0DBF6F9ABC5E8CC2
-6AF7BEFBC1F4B1A03636965919D070FAE1F7F9BF42FF16E9778708478A279DB9DDA512CD
-B372E39B9C5C87CC7A6E55BAE1626E8AA3ED7BAB198149D33D8E79960DEE846CBD2ABA76
-1979C57754955E90D7533C0B38CE5851C926F0738CF4EF1BB2951DCEBAA0A0704870DD80
-FFDF92D2136C1F470FF5345C7A93F4DB72360B4DAE833E2614154FA43A2347FAF4ADEB0B
-73C8FB0AE22A42F80B03C7207F75851AA036C76934BF67B10ED6A5B2000A2F300A9E1552
-FF9F4C66ED0FB34900CB8649CA50BE457B967184D0AE2BAAFFA2AF24881761BA01759D8B
-EA601F2C09E5A15B1289A9BEB266392CF5CFF78EDDE664F3FD6B77A6C10BDAB1E57E4ADC
-2EEA4F2897D2ECA99DBEDB2046C7E889EE2FB30F172EF290BD4E16FB68C14E88A58E3F70
-9895FC431776EC963284E03B6975ADB155128913F0A3C910E6D3F0AA11A1D6D67C0EF96C
-145D63F6E629C61C934BE19A0EC8D5ECB08AB1305C5C53F41628E7AA2945D72A18F5CD78
-3DAEDA17DBC867BD813F81E2D828B09EE77EC5BD7943FAA62E9682214C65735152E0AFBC
-E7808699369C181FAA4977771FD8D716DB2BEA0FA4CFDB606A2EE243E0F4B576A3C5FAE3
-8F67C4E29DC0D86EAEDBBA90803E2AB710F16BBE42748967150D969C2E07115A9B2A2507
-A87F7EBAC946F7178505BD9FB0E08D86DAAF88D8A5EDB321FC2E7915CB80E6C0C2B125EE
-0FC6124990A00E685E157EC94D72CCE6169F852E0D19DDAFAD022C4DA4D19B979D33790A
-E763E04F78D6449C7D3674A12D1C01BD73872284A3D7CE4B551CB80602FA4145DD2E4360
-1CDCF3D6567887A6B0A73B7E1B6BA01DC93C51E9FDA181B20835A75541320F1BA53EE871
-16D938FC03B909D4FC6558223DF057E3E6195C1E26D33B28AE7156B88D7B5A6A85ED8498
-48EF890A5402467A8B11E2DA4719C395D6F40E91535F1DE6C7FE1FA57705A8F1321E2D74
-69593D7E6FD067E07B51E7BCCB382B1B00B655116F3F382D990AFAF26347CC6FDA803727
-C1E13C6429D1F5D5E5D9D56EACCDB32E30AA10DDF5E0294E59123E4C2E020AF1D13A0F89
-99F30A49D8049E7D9B8676D2C13DD896FF4CB82995F6517462886B4D6DC37BE8B13D07BD
-23CC78524F835DB22AAB29A1E6468E8607FE3C9E1B1CDA29B98623C87EF39A2DE0BE849C
-438EEA208FAD0DF05BB478D8E54501EAB704ED405598D38D6A58628BFF784EE969725A1E
-8BF897007D0D6F53025453714BE52FB6A5E4FFADE5563846F778B71FB0D225F8C9AE9985
-9CE14DF67AACCBFAC3AFACF1CC6FFB6BB517C87A382D1AC1615DFD97E52D3020E531B8D5
-C6318FB90D30C2CE9EB7EC0D2DD8FBC83A48BE41F22EFAB7B5CB7262E8BFC1196C69AA92
-EF1AA1D59DE9B1C55D5B7C0019D68F23323CEB4FA767550B090439C2D1867631A97CEF5E
-7871494CBCD1EE56C0EBD4B2EC412EAFFD1783CF073E9B6575CE9642F704486C6CB319BB
-19CD270D1EF9B63FE25255F6CD5D3B77B64FFF7B562742593E6DAB5EDC5E9E9467A1A478
-8BFE80F892B3DD660B1765B757CDF91B61E5AC7C7FA68857656473C32CDBCC21C3A0E812
-FBB939809D552C9394686F8CE36CFC3FE8994D26CF4917CF0F11E0DF8B806B5AC7B092A9
-255EA0364A9DF03B85D67BD2B4B4FABBC8161542814E432486F103F2DF6097DED715E2DB
-B130A753D35EC68126DB76A2952575BAC3FABE2BE9FF73D18E60BA667575FE3327769770
-925F00FE13573F5050DE00CF24CD231CF619B2351371433DB15B1E97AFB39FDC4E07F1B8
-45449EF4CD86B3F0C0BA12D52A81D5386A9B3DDC62E588FA80D5A1E31FF503945EE0FCC6
-841AD3D4E56F9C801E84B01FE978E7684F451822423122221FDCF6702D48CD226DB839A0
-E095A31975298CF2FD71E6423F0FA5191D8BF7E27E6963A23F31131E68278485BBC5208B
-6C5D2765BD053C47566A65DC4B173E1580183763326010D54652BCF7BF68FADE1E3B8B28
-E5C601E241431E665178E56C36AA1125B07D8E4E9627027D73CD5A664B40D82199E3622B
-EB76FC104B2E5A6E009B4AEB180ADE287F763B73A6F8636C0CBAB936F79859941ADBA525
-72CC725A8834FB6247ACFDED0131BD5032ED40A04AB7C655AD7E954E4CEAB74524582D7C
-142FEAEC28F549E36135C085A35DE07E782E72CA53BF7B2C8EE8C3D8346E2C2BA619924F
-FD9E5FDF9564723BC0FBC215BA0F785532DEF5AE95939F027A62A402A7FECD77F064AF12
-9472A23D2118B569DE04888A8ACCFD6DA14E928A7C2FCE35531FF112F93202859771381D
-6D161E6BCF5C6DE9B375DE8E983A64AE6AB75FD52D590B78C13885B46FBEFCABED5BAD69
-04C4624E71B29C4EF6B6C2564485210616C08A3C41C83BD947940BE454185EEB33B0F0D3
-680F9BEC8417063BF03100F3484678BD0F51869F3244EB71775D0397B8DB029D13A2A318
-2320FAC3561E7C994DF8F94EA306736B7059857552CBDA0E2DB4689A1572B509DC658E6F
-5C7FDD812DBBFDDE644F980A58E05F14454F916D4458DB067719254EF77A887D71FA3385
-3D6A8D1FD29885E3F52C6E424EE0AC4E1E64180999A7266C896CC3140A3C59DE77DD941D
-376EBFA09D7F3761704BAA2C738610F39E7FCA335BE7B36F9306795D5B2056C57FC42C84
-66BB9141ADE2ECD7A4ED5BF9251C3091D8B950B95CF07303B165A65A4CD198BFFA8DDB46
-1032A70916E66838CF2A76CF444ECBCB9ED23B3B32143C9A98A395E51CFC281106A7DAF3
-74AD4BDF3089EBE727C93E58025BD6C8D917065C4873A5DB3E90084716C5082F6CBAA4FC
-E60176DA9B75DBC2DC5BEFDEAB261C915A7F68CD5F3296FA854324B661BE571A9CB98157
-9C6FE6A5EFFE43C9933EC292550619B794FEDB97CA0FBDADC4FC665D7955B43BD3B23A0F
-1B76D78F7A1CED8FE598074469135890FE8789FADA3CFD4FB965A1FA62E55328EC450B3F
-1E6B00FE274A494D25E94A2A95131D5E6C8DC6E27B65BEAFCE6095420696940A282C5AA5
-B9E66F243FA307C989352A1D557B83C5855C004D86A4BBEB11BE9F152693A77925B014E1
-6AD084959F78B2A136EA406231AB1509E43176B268B8EE14FBC281CE832FDC2475447A21
-49CD45645A78E4A0027060CAB18394DD5A3E7721B27AEB22C9E98AD563BB5FB2B0A0A759
-93F090DC2249F1CD8ED869E0316A2AD4EDB4C24B18B758AD2C746AA9E7544299C8170211
-6D591080B15C376BA8386FACF02BF9E84AB8C7470483A4D6921CA9A2F191A42BA49928BD
-BA244CF5918E55F59E27D9CE90517F9485D91F1D5B02EC941BEB6AC9C7CE3E684E882D18
-7C9B3EC948A745932BBE4DAF8FA61A84FD7D1BE556891F8C339E63457FB447024A3EF140
-99E8FD37DB2AD623BA1476C883F62395E98C1B99F981F3FCE92A9DEE9D99627F5DA6753A
-F46B1B69666048C981DE59BA35C0481FA33A17D511EEDD45D90AA7576573625F167C3BA4
-35B8FFEFBED92F368B92A0DC32975BB2C9C8B1A121CFC44075474B78B496E953D45B9762
-B2ECD85E0CE52B15510E80AE563235E400CBEAC6EDB602386FE1237ECF4D3C14C92280CF
-F9768E60748AF4865981EDE419204FD2F18FC50E49245260BE2319DC1E624C2E59BFE1FB
-CD04A3F5FAFD8D159E42B8E52E0B2279FA442E613AAE3DB6A1016579D3170F8F489E3793
-12A6E32F45128B15E01373AD0C1449D0E5F31D5DC50EED3EB856629EC2E51616F40C9DB2
-F4EB8BFC519F473A02BBF02FE0E8F86D0EBBDE611081C24B3ABE09239A9682D8D573580E
-86D5FB31227823CABCA34D9BC918F38D9B3273223408871EE2D29133367C6048E0FCD93D
-22144710814CEF24D9680041F020EC73546ABD22B6F521DADB8E1F6AD20AA8F33FDEDDAF
-273CB366CC1F7FE33927075C911FC4D9D8175A7AA4E483C2F4AB658EBD523405F83F5CC7
-E328F3FFA5A66900508DE0682F4B4632880A3C807D606A2038F796B3A150F2202C538F3B
-92DEAAE46528E1BA68E19E6FEB80CBF5155A91C16AA6FF5CA472B4444D0981D1D9F7C9E9
-FCCFF9E67FDFDD78AA2AB765E34C7BC29B2D8BB138AFFC8351FA98DA41C552F6C1479229
-5909A4EF7F4865E16BBE81EA742178C3E86B9D2B957DABD2D6A558921D4FC3429A30BA66
-13783DD39563547E9CD1FBAE6257DA11204DC8130C89C5B80541E0668752872C050A4320
-92BEE57ECC95266FB612532DD8D5465C938AE4979559CBFA8F2D7903E48CF9DEB397EA6F
-31F274D48E8956D337310359199708CEA05DDD64CA417300ABA7EBE4CCB70DB7BB31FB45
-E2B9E0F15423FBB2EE5964278A536790F16ED4F9CE31F6DACE8C0FC489CA73D2457CF3CE
-BB9BEBD0CFD2D1F11816BACCA5D4F9A84EDF8D7F09190C16F1B6D1766AF98A34E5A28693
-B555E507017C1B9A1B9D8D2F52E2899ECEBB6A341BDB98DB0885D97C5BB9D35EB6D18099
-594DA2A6257D5E4806D45CCA23CE2545697E3DF34B6E7558D080B030268AC56A576AEA44
-B4DA78A686340EA9B2249C58381347DE308439CBCB5988DB881340139156FFCA9A8961C6
-2004EB36FB0C77F8B762B388EAE846531CC38B75AEF785311A6F8AD5C0FDE8A61D89292D
-AC55E1920923E91BBDBB40675A3D956163323406F2EAD0BC79E4E31C2C2B22B46D266657
-FD150611305CE08885360A76FF28F3DC837ACA58CAC71443120508A80F9F7086DAAC40A2
-9082706907B9751B19D67567FA243BB6595E1DF225DA36FC4F8D86712B1BEAA0D297AFB6
-D20AB0ECC8CAF709E991604552ADAD7F22F8F229527B60BCD4DD9786AA36A13328881677
-7E00F57F9E562B2CCF2D1F6F6968054D8C9B08FCA9E0DFA07C11BCDA281DE484968626FB
-52B677BCAEF983444B24B0D959B66FBB9631AD4796C435888E09D90B1FE97274D8459A07
-9863D3DF6856A45BF8555999FD430FF9AF50FA060364A727503362129D627BCDDE83F679
-549FBE4258B08DF47BDC2BC161D5E61804588615C5CCC3CA6948C25DC854EDEF94A2315E
-A89ADD8163BFEA9D72B430ADE3D9C17D69C9362D2827EEB15BFE3B8806A8CE373469DCA9
-13FE773C8B9DB720538BCC4D8D5481CA29661C00D1F5CAD55799F363AD2CD563EAAA70F0
-6E250629F63A0ACCD3AB2F89F579557B8299F1642663399DF9DEF3BEBE9F9FB3505E9581
-4D58D1335C9AB341F1928FB7553474865191AD7D8A89C8505B88C1C22BA7E3A88A512AEE
-41B79569560C45B67497A6AED27FBBE40C8B2310157AED1078B9F352B79BCC93DDDE7803
-F479CAF0EB48AC801A0BB9EE972A258F110446154E8DF88DDC10523E8CA22A62285B6285
-E7B3A4AD23216701310C4152DCD1E39F771BF8305D35E0BD42432A0C03AF965756F25CE7
-0869B6DAFAFC69C8DB3631C918A7CB0A1A6E3248C5E1E665E926DAAFC9BED400CD4584AE
-03DAEA56407CFFE84729215EEE16B10BF164B5AD7303A77423679FE14F6626C934A14587
-97A4ECA95603E5F4023CFA4262EA9E949CFF449EF9A82005B23631255E615B060E4BE2F5
-526E06676500DB126EA3D38E3562E1819BB68624010F5A984D446790AC8EBE11C5137500
-1814CCFDB10A27EB87382CF5788150D66B803F0833CD73063F2CDB1C2A56E12F8DF75310
-EDE85042D615FE028F68C668017A2A32594B89C428059DDE3FCDB18F9906C7E813DEA4EC
-C3296C1A21BD4BD3C373E91E0D6B6582D99DF35F5091C09602547B864DFE966532EE4669
-49DEA26C0F7B42D8023F8EDA050D8482361EA43C52FFF4F54335284BEAC3F427B6C59058
-912C233525631F113FB15B888D5112759466A337C37A22346C6A4963E3CB53ACB141A59B
-3BAF30349CA7D8827C2CEEB62EDBD851C2AD9BB8083DFBBF305ACE6868046BD93B59C2AC
-75D6F3B1C243C6EF66533D2DADF52D81DF1397ADC532CE86363BAFD043F9B1B8E6B83547
-4E3BC3018912BE08A570BB4000BB13F249F38DF8C73906EE9ADC7D5630F04BECA0A86EB4
-52ABFECF46D03CBAF4BE02061EA50576A984FEDE9DE35DEDE1988DAF0A6308EC4B6BDFE2
-CB0C7198122C19F73CA7436955379985DDE2ECF851D83A425B4427A4A17AAC64D9E68691
-2645FEEA0A8A0F7A7C1CC0B3E96C519386EC14626AEF3E9E8718877DBDF45C9B8984F81C
-99980A8F8F3C9618F34407CA7916D2C4741AB9B4F916763E1592BA2C2D5979E2256E2D17
-A77905EC38606C3645F1348E77ED501DCB783B8BF677E55415DF7373C47212BC59CB71A5
-4425410E29A19F74A9EA8AA508B19464BD0BD1958931B135DB014C6F358ACB880C189070
-E27188EDAA43009B515994E8F3481A9DFF6DB2D5D474F0957603B0A45A7E6ABA97640576
-11054B1ED7C692263C1B2BC424FC68615E9973A230849E771175432E48746AD8E3A15746
-1622190775BAF10F8BB66D2DF99170760B26DF8714BDF178334D0F90A615939C95DF51FF
-D90B28F5BB67FA593ED31E035342E6F187DFAC21FEB26107E4ABC7F484AE11CAF85543EB
-6FA887B4FEC65A760FA33E6AD078F420D4828B526B37B4AFCDF396459B6338896D7EE8DE
-FA3E10C6087DD4E3F56CA302D955FABDF1EC04A5FE4F12CD40535879AF0AA992D40E53BE
-2EFC1FD35E3DFA33EAFBBA4E851434334BD4551B4228BEB88C5F8D259864132E2B893C98
-2A9560ADB25C06487A75809CE201F001E426EAFDA88F9C7AC36F57B06B212F03AB8FD9D9
-6EB6122E968F3536977ABEF5E75AF5C9C30684D3D7833E3495F7F9BA021B5C4A1F76408F
-B42837E068F91D9D2FB467802873702AF6216CFE60C42B1C8F70E7555AEFAE95B6D44C9B
-967E68064CEED38C09BC1A3FC447FEA9902A26B6D5FCC8A42F47AD2FB2C4DAC61AA0ABFA
-58515C45C912BACA7D3D32EB79DC14A4D8DAD9EC0CF8F4F213D3E109127FB7047D2DC47C
-0DA7A5B790318A1E13163DB7DA71AD64BEC58BCF31A596DC90163B1C46C9175059B27DB2
-D858EB1AD055891E58C34233140240EDA5AD13695EC1FA606EC0CA9CD84293A75829B1DA
-2DBB20D97F96D626D7E6D2332B664BF543849554B07ADAD02CF6DFA3BBA2D8D707810B0D
-20BC441FCAD69B8D986480B1E191FF390FA02B76787CE41E3F779936A2EA8CC0167BA167
-E4E08204BB8F4D0CE908AFF57F1E9CEB3F00C1B863BF65443684BA425888ECA909B2A6AC
-5436D996810370BE779C30D21941A101B2EBFD4F38DE2295CA0FD39AFEFC997377EFE1EA
-C62A9347DE13284235061173CDBD0C97A06045EE97A193E79350B8762ADDDC2494A68628
-173A30563595266EE3AEAE1179EE7CCF47A7F9A84DA4B4120FF6B12FD8784BBB674404C9
-973DB36020A9A7EC459F263213846A56FB52BE79B8D1F52FD8EB086A761C665D94D01336
-D5029A5C9C7D7C1234BB170E90CBCF1AF8E5F5B21CCF7C11F9F2A28384B844B1F8F1E543
-393EA9DFDF15ABB11520408BA5242CE5B5AA7EDA7DD72D3D9B939AB2AA4257764929C8CF
-5F6806A21D524DDBABA96FC46B942AA00F9485C1F071BC6C94E65A153045F88BACB20D69
-6EC1405D8880ED1456162625EF0EDA8ED6022F4E6BCB8800A23F762EA3853E45B4ADE7AD
-4620E7CB83EB1CDBD40ABA6234EBE853B3378EBD4F077AF9E12E692995EE06D45CD4CAD5
-ECED7947A89DCE4A66F1B265BE66BCFAE487B41AC623ACDC6667018626CA450FA2E60512
-23B86144AC9A5169C29FFBAEEB9E1D65CDEF2A5BBD29DDA5021AB9F435C459A3809A5DD3
-6EDDD773C0530A1BE54910B014A6AFCC1D95E36A5C8C7D8DD1DD091D7B14E811D864B1E9
-41122A7867ADB016F949DFAE0BA06FBBBCE87C833C6B244AC48A7481C54FE756C2438B00
-9ABD319AF57D0F69874D274F96A12BD417E8CBA7E20FE608A73A88A935EFB77DBC198005
-1CFB9CBA94E196A412C45CAA4F890DD9334611CA1D8D6F6DFC3C180180F22683BB00B8B1
-0D78BF4D64DE288D2ECA95878C2BF266880E547D3826C5D1F3C6B4B0A3EF0345D8FA66C7
-EC77180BB59A6CA349687F18FF5FB5B10AFDD7A440E20F55650F258A10899BD9467DE2B2
-086D32150FF9242346A6546F9A1548436BEDD02049983A46A2CDB4BBA8BFA5F04D7BCD4D
-35DEBB30496780236DBE224DA28218DF58037509FAAF6BE46DFE5A93C1F072F37D80FD97
-33FDCA1345C468C85CF501D4EE30D36EF5FD87837DDFBD703B8F6AC4AB3DCAAD7E7C5E54
-B6383A74F4533EB9FBA0BD8D1D1703590CE24FC3DA5E5BC929BB6EFAD09F02BBA5E30315
-2AB1CE32A6A2F61448A765D912A8DCD8A8E0003CC2BF739F4DBDB388320D990B9F00E04E
-05AD6B650435F44CA9570D878D89CE782E06C68BA9024EB887C6FA18223F587338BDA034
-893624FB950E74209BBD763A9677FCDE1236B74CBCFDDBEDECB58DB1DC445BE8672ACEBB
-05F0E677D133DDAD4607720462C63FD9409C29C75039A9EC34EF0BD89B3AC6045389A3E2
-136C9A6D502D335789CB74B7F369A6877C01CBA68278828D17C5B7C0DA4F385FA21DD8C4
-C68B9E17A35905DC4006DDD3D35186E31CFD74C26E7FDC450E6729F81FA36000E7EF2AE3
-9C4D80D9A94429DBBCCFC44A7044F424E90C5D156CE1696CFA2EA4742338359287297CAA
-5D616C1F7C7E7E71CE9099028D6516FFAE321143EEA343250553B3249C2937C1797ABCEB
-BFBBA9BDCCD5A15DFB20E3772660DBE2C410BAB6F4B1BBDC61AF96F88BF830C23564D4F8
-2FE22F6B22B63D06D1B40DDD976E19C8B361239546890888FAC5E7ACB15C4762C4871DEE
-EF368A59B6BF8A359E29967FDC8A59E03E357D3B84843B20EAE12741CD9E2F2A3A32CFF9
-1DA33E881008CC686D03A1D55651986C00F7796559D4D8825AA811EE8810B921FE485D43
-1873E682B76E96ADF5A586B9C1C5A876AD507C51545009F09E2241835ABE9C6CBC76D88B
-7BCA368487A11BD7654EA0B1EC5F8EFC9B587718C732037B875ABE9F5D44C82B29FEF550
-B80FC0FF7AF43A6CDDAD7A3E8024A09C04CC5570C1E91B97E7829AE7402C870E5496E8F4
-B12B0D9DD500DB6F8546F7C2F965387C37A701F2B43D236AFDD777537967741E88F7BEFC
-9D9B3C7D6A86B1AB92919A48589CF276BB9F00DA2D7BE38F46C9E5B2365948E32A30D830
-0FA8980D7D7C6ED2252D9465EFF276856698108122833A0B3E774EFDF55A69070FBC7E53
-E955C4E02CA71323261353E8F5D1A4948ED41F4AD7E25585E6DFCF5553C9187632617F3F
-9D2230A478E4BB63497500A3CD8AF78C780E700B14272AB399D2D2FD9979A9F422DD2B92
-8CDDFEED37A40A77F93A1BFB9ED9297B2BFCBF9FD40A44D2227F4C7EEE3066F1020EA335
-91BCB47A260B744919F0359E2AE3C619592C325474063675E5D85DAD5A00CC879EFE071E
-68CA2CBD108FAB3849D312DDB823BBD18D7C3D61DE7A5E4AFEDB203D4056B43EE1D93CA5
-0BCC10AECAA08799E0888B637B6D122EFEDF40DEF30CA93485F424928F3CD6AC66D85035
-F8BEB418C560E00331294B1F57831C33F8ECBB2561837A5A0B0E5E2EA2DC3F72A1C09990
-11BD2F0A0916AD62A8DBA859AE63FD73491390CDE70B0C0B7D36354BAA08BD6014B790FB
-33FB26BF6C2215E16379072959ACBEC5485642A7C7ADB0B826DF3390C36C9B28E724D2A5
-7F57EF0B1846B358669EDBBDA569EA1B28E9AFF2DB2A8DEFECDC073D954F3879175289ED
-9F159376F3D1301EF514B47D3EDD5092C4618A80D20ED37D4EDFC8621CB7E4683AD8B2F5
-51D666B8F39C0CA193BE383B0DD31BD540408314871CDEB6117ECADF8E187D1D5ACF5239
-1F8B2B1C6E6F89A35022D0A2B8CE22B79B200AE116A4E9E097872CFCE5BFF8CE9DDE2E85
-087649207EBEEA22E07187C24404533EEDDDA851CA5E7C18657BAB75029DED2D381CF4AD
-2D5D52A310EF4B8477008C11393D74B34F0FCA4026ED3C12C71941A6D77F501A649C8823
-2D9A1EA080561578DC7A1D591B8E922BA280977ACF3549A24125FBE9049C30CB9DC547E0
-766EEDD5C0210C248C4E7E435C81AF15B187F84C216BD842380436BC3467225938AAC1E1
-FF7CBC6E6C59BBD50767D3BCFE93564F1905AA38F1DDAE4A783E857D148289304F8DF194
-CCE5CFE440CEEDDC5F3CD1E1587F67DBC41DF3CB4F08AD19178CC4B77B1DA3CA02B6F40E
-36984E0439E53877225B9F8576A9A2B57286D6F759A060956CD30B6E37473CBB55D76FA0
-2F4588E66305A1F40DACA56CBCD42883B960B6DE2F91DE519C80D8FBEDBE38024EC6F6FB
-B6FBDD5323235130771153124CB95ABDF622F737A42078D8E81C9965B7324F231A072739
-5129FB30006987B2BB806D414672310FAAD37F3FD005EC54D6BD2170AAB9A21E52A9A7C8
-C6AF03F51488D34B06F22D93E72FA5BF7097918FF67DEF79A6D62CB216ADB114A01CDFF7
-DD387A0CC150E852D4D267187F6A6DD6B78C9E283C9D547DC6373A36F3252CC683CDE9D8
-EB7221146E8C54D1A90DE57003A0CA78440EBFBF35028112B431C508298BAB97DC45875C
-D002FBC1E47BE8096D13D485E2604EEF44B0324B0F494D874A723D080A9A32B9668605E0
-18BDA773FFFE5566DDA289972B087D9E69268B2CC04CC1F22DEA738A2248F370328C7FE6
-D50DCC267BF736C8C3418626BACC805DC44F60A862413D4C76104D6AA64F813ED9766563
-3236CC8EB519A9C3A2D53D20658BD68463BFBB0B97A795A78280B0C05DFA3FAA5EC6E6E2
-879ED3817C5FFD07949528C3C60DC6A8F1C73B7B87975A101AD9097F694B7D3140B2EED4
-52E98F073ED4648992EE76954A712C1804DE95D1C1C98048E5ED790B3269BE49C7653292
-E69CB482E19611F24773F00E483B8541F7D1EF3CB9730F527FF6309EC105CDDC9BE9F9D9
-4C28B3520719E5AB1EACB85BFC4CA92ECE780476DFB3BA759550A261B675ED4E1C1325C2
-EAC510BCF993FA03281FFF75833EFDB168EAF8B2AB92AAB82B389E7086822363A74829F9
-FA36C1703081E55EAC5E6358866EAE8BC04C37770DC97392713F110C143B7CEEFFCDD84C
-A6713C01B4AF3732DE935DCDC2223015E57FBF98DCC32ABA1A989176963124CD353DB3E1
-8998F5F322EBB591528544A4A4E0618076FB07540DADD6D00F8B66A60ED5496CBB703E59
-45EE138D7CD77C301CBF0814A7AEAC93127862431265081273C1E04B6C2B4DD0936D8F34
-98B2EDBF2E2E09397169EC99FB85AF23E929F4871EB8FED7AA77B2E22AD7AE6C86F15B07
-A01B8A1E3F8381CF2A7AA25FD49876DF2E0DB253DED331F7CC0A545BDFF42CACED8946D7
-9661F3A340952AE1CAC541F0F6E66682A22AEE604941AAFE270C3C2AF132C9925A01B35E
-D770156A0AF4EF33B00DE099330D5A874F84A23621C6352DE80952305BF501442710DED6
-97682CB92BFFB645C2A48C49D47F8664BFDA17F5ED7A0F64CA28A05CA58F06A9296E6BFA
-858B5A728B28E12C75D947DBDF779F738D67BE839FC0D80F3DECCF255898CB916E2BCFAD
-74FE85DB8AA036791DEB28487B368F14F1FC79E54D4D94074F8FB530036B09CA8C44468A
-A199990933422C6AAAD716F03358E8FCDE9DF706F0590037971AF1D705DCDB45085D8940
-31468CB922E90E44AAABFE7DB1D6D4BD37081491EF89F46FF4F7FEE501495112CF757202
-448FA93DCDA89464D7AABDDB7BEEFC9671BE5A929DE84677636F12F4BC22A59E22F57BE1
-E680B67FAA2F00FB39B6FC7A48E43DDAB93FE9DD75869375A874B7CD49D22C314D617848
-139D61022A79D94AE1FF9E07C7A7C3437709E09B92A8F33AEC386DD37374051F0387BBD5
-F366C3EA12F5AEA0569D15B22729E006748E900A17E5D4EDD52FCF4561925C7ECEE84B3C
-F29BA83B03EC7ADE70040D898BD3EADCA66DF42045C795ADFCEDE3DFCDAFCC68391DF6BF
-C9CF4A49A45550F6301B581D19B8A8F7CD9E06BE7A3C5358D6A319188A803E8A5CBF9877
-B8E53CBD98E3CF270330BE2BE853E5BEEC128633EBD5471D9E5AE1D67D28E17C752C5443
-E16B6E1AE341E83ED9B6CFCE88A12A7329525C0A3BD2D8AFEF72D727B3104F12BC874446
-FF1E5204DCFC9CE7F772855D63A2A8DE36D382346F8C43D7153B9BDA92AA04600267E704
-E9F43F3D625EE0EE228617C7ECFF39AE97806096BD66B914A43EEF2917100C2F0E1B2554
-C891D50C3A0037190C9AD8BB6563E004696DCE62881C1F6F8F05A96DDAF3F89CDBB780CF
-6B7196124DC1730D05CF821CA85156F7EA996C7E3A44BE8D4EA29ECEB2E49CA7D676EA3C
-874594DA4B8ED45B1568EACD8FF68963E24F2E05EAE0908D1E81165B872F3C6284181CD9
-A06996A7D247A1661D65DC5558E0CBFE14724BE1D44B08A1E06D880D87905E889AEB0ECE
-71E3A9037621470305B423EE63C2BCB5B227B264A4CD5CF8573D8B320004D212B65A44E9
-A856A3631BA02C46868994BC9985F219C9DFCAD9591F2B76B34904DD221E7C9BD2DF06EA
-B632E6CA2A24699AE6C9C6B4937A8293CA61D36F3193D888D5081E4CCB837D93438602EE
-DB2D197BDBCD0A00534B493E250ADEBB1D79238C8F8076801EBE4A282C98750ED7BA28C5
-9B903A26553E03E5B1B99A2B1D13BB6624717357E3F368B65C8B2AB2606577E45345C971
-CE54702D072593814090A9EE9559DBB28B3A3F44328C33F652FF066F87F1B251EA5098F1
-1E970A3505B982A023147D7D8B077E626727B1AEFF6277BB306423D55070829D73895B67
-3E2E6F9A1F954B6EF69507E1BE86D6C594AE270D54C39B1645FDA847DC3D3267AC9E3190
-9A509C03DBFC0A063FE9FA2BDCF21199FF1397A93F13522702B339AF7E6CD121FC2E3D4A
-22132ED26FB31F2EAB17B8DA9AEFD61386EA3EBB771A43B60EFFF3CA55238BE1A0852F8E
-5B78DE572FF42616F1D4A64E40C722AF8E194464F506FB9A6F52E52ECDC7D31287373EDE
-F46C5DEDA0CDAE20AD6C88D6315714304D8589D6A24DCD9A0491598AC69638C04A19C07D
-CEEC1F8325317431B3892F270779A55F293085402C4B4085268AD69995186470A2E2A106
-44AEE77DBC20926ADA20F91B5BDCC0181BB34C18D1FB68A32808ACD569EA71E627FB5419
-EA3228DAE56414EA93250EA395BA750C60084D2BEDF6144E970B0C5C7CF40B05EDB70452
-7775F2D0A55E33BECD54B9F91807B097575929FA313EEA4B8EBA80F9499BE28AF2A3BF03
-CDFA19AFB30DAC150756F90B432083DF21C79616A054384D91F913520EC45133A30C84B1
-C1EFA0D1AA9B4FB33908CD93F76F6A8CD03F8714EB0E688DD3A5931BA940C68DA296B217
-BB6E1BA16FCC974E3E9F45A30B47EBC5CDCC6E2FC6AFDD826A1BB6851F68BB88C2879B21
-81BA06EB195D8775B8CA20B436B664BDEF465309FBFFAA48B0736069FD790DBA0047E4BE
-7591F6B5849B2A1B891895EC40234269370FF1E66AF3D391300E07F7987D3B168C9F4770
-9AEA1367B53613F52EEAA64D8D296396EE3B6338B8479022B19A9992964200413F29C3C9
-9DDC50C2C61B92465E339B9A585CF0BD532B2F2F3B7BC3597AE2B89C686781AB7C1A2A44
-A6A897F1CEB49F63DB43D9DAC45F92880661E79D2C292CF910A3E75013D4D3EE05CC1A7F
-7EFF6810E89660F47D06DF62507A067B1F37A100CA620992848EF811D2B0FFE0FB8A85AF
-D58086E2BF8ABA3FF4435FCEFA66F460BB9919A7EF73B5FC511BB3D4C91BE3E90DDDF6B4
-4A2521451B568A167D4CAA98A2BC114B77B2184D15F98943660EC92BD6D0B5D79449FAE3
-089A4709F68872DCA3AC59ECC84A66EA19DB2FDFEDF7F8E57D90F6FB0E856931EE8EA3BE
-8F3D692E4CBA21BFF24CC7DD3366D5F7E57A190F61502CBA9C274DEAED962E5EE3CE7B16
-2E34BA08806B7358D820009CB348B10F225EA9DCB92B0C0CCA4192C3437043132CA73E96
-6527062BA32227B2DA597C8E3E75436467F2D6895B5AAF1BCF55A02267E5FC21AAD0E8E7
-F2459C0B6EF0C372D72F697DD46475075C4172E50405703CD18C23A6D3E7ED6F526C3EDA
-DC5AF40507AA9A76C86E8136CD695C955D7942553361E63FAAE9C23BF3A24F35F8F9B659
-90D7A6656AE186B1C596A8E3F69748427F0C09F5641F284B674F46CF3D0E2708419C1689
-F40A35DFACD95F8C6A1EE07E7AC8E9FAB58FEE8D52E81D486F5950685CD4EB36EBC16FA7
-C0F420D6ADE912042CD2AA3C60B2468A59DE0A5CDAD889180BF05405064ADE97876CE977
-D6F665803C8BE866AB0F1B08452A478408095AA3B8EB0FE8490AA682DD00CD3AD3592FBB
-54CC977B46E3CE307E7D8EFBA586000BB17EB0F2EFD0B0EE61CE18ECD565DEE97E37CCFA
-323BABB4D6354DA19CD9080C96D13A5E6AA1888B17970D7DA8D1B461822CD70CCCAB9F30
-D48F924C91DE9F3243FEABDE5C3C620CD32A5AEECD6BD20EF890F1457285ECFDBBD22BA3
-FAF661BA18BBC1E6EF81DAA2E2A7CBD7A058ADFF961B5A103D967C610530EB58E2D78DAA
-17BEC7C9176EFE8EE633FC227BDA64E54A6533B6D56B787F5098C47824ACEECD50CF4C3F
-172C3C7DAF7B6EC9FA8775C52609D08B073B784951D66C8AC33222604C634E99E99D28C8
-B45846715733EB3446CDDF659D1BE4B439CF32FC2841AD3DEC81A95B20B04790A669EE4A
-A9B40DCB3BB6F0A68E5A2763A8CE7B72586CB6006FCB68C3EED89E54698EE5928F10F5D5
-616EDBF01C349C20E99261495735C1CAFF99E2B1FC986A36552A37D7B57C1D4EF460ED45
-FEF6967FAEDE8AE1B2C7AD835D31AC8160B760E7A36333B83843EE3F55BA19E2F6CD7D33
-9FF0657577CA58BAFA3AC0B7302E88871974DC65218E856338C81F00E4FB35F8DCCE6208
-D7F1BD45C3792D21C308A3CB7B50AFAD17EDFA027545355991E99C1EE99D85BBE5BBBCED
-4E9C6334ACE88F82894B4B1F81F51DC6BBFB2621CF7ED7FAB3170A5DBF6F5E82BA316172
-60223D7049D20ECFED36DD022307D5ECEC358D4A8E7DE800F7D7C048FB265C96108B6D56
-EFBA19A79D37CA7DF37EA1F778B74CD5BE98A2B13BA7E69DE56365CAC9456A3C248D6828
-6BBAC51CFD6D73BED3BD7A7A7B9800B63D1A94882A52F322CC329F1BD691574732DCC32A
-3425E83B88EEF053240D7C7C643A7FCB0DC7B452E1AF9131CB776D450EBEAC8F282B218F
-D1540E4816E53C488F026A6934CD059DD5A09DB1DD8016815D066551BCFCD503CAE5FC7E
-996E67351A6D681EB67D78F1174B3041096687912F43F6ABD7078C7792EC69A42ADB3F40
-95F326C049344123D0F93EF2D79DA7E77875AE9110F3E87FD87AD187B566DBB723E06877
-462C366B15BCBC0D244C2DA7D033E0BE800D3DEB29B295B6326AF0E5F151D50D6E1AFADA
-88A3E0B990C1660004FE5B25F2BD607AC5A141ADCF984FD2EE49871B9BF5D5A1B3D96780
-B4E0AEEF7B4400AFBBDA0350A1586294FCFB5EC075978ECC7F6222AFBC50C6A0CA10DBD7
-8615D8128DE67FE07F2E3869900367476DA42C78AE359894BF443298166E7C935B310FF5
-E1BB2FA0677A947A7ECF0A89C3FBBD60D4D8104F220360D505EFA6AB9CE111C3137F6E51
-0616EA60ED8D1ADBB1B058BA22A6A76CCF8F0FBC04AAB81C6439F44D5659E937118995D9
-C299BC02E354FD4E62E10AE9D2D80CCC72780909F49E6732A61B131E7AAB8EC3D7EFC725
-A153D69D3204AD5F6A3AD6728C2B9E26D337E846A797A13CDB160D740D11FC38CCA2DB5D
-E33074C7E5601C8573641E40BCEDD6B84CA7D15C1B86F42D4EC74C2CDAF65D5E22929717
-C6237AF09A0461AD9237F71C011BF36C00CC630E0C55D1B04D7D989EA011D282B77A4BC3
-C54B5440557303C245FAEC70FD1945A8556B8033269E6EA1C1DAAD39CF5A1BA9F6448684
-EC60E9809ED363B0134FD6F19F208FDB26A4A828EA42322550BD312044EAD339FD8DF100
-0E9F64428FF8C72C51FDAE3E7A69B6D0BFC9B2664D7864163ADF48D2F3EC3629063A39E0
-0B8B4DF52D2B855AC448BCFC2A3BED94D0CFC4A66FC6CB22D158C9B1FF632CE71DF9E1DB
-CDDCB6AD62101DD1A776CA2A111B283E25D1CFD8B5F238E0FCB2008FC1DDA4EF6CC11C85
-96E38D6DC1CC624C11EFFF6DE5AD410B7773BA0C9C8B9E5F3B7C601222D810E921D55DF1
-575F452CEE78BAC9E306B0801234709349F8C7D603AA39CA94E878781D5355B6A534D5CA
-06B774BA53AF73D36F60705629854BB39552ED6A4508A20633D2FDE04ADC59EFB86BCC91
-AABFC0BC1CC136BBD43D8934C54D3062D129F4AA3A37AAB7E870C6272D32D2E56D0F260A
-75F6037AA30AE59A3A5C3417021026BA3DF9E6E55765F5B0933AECF62E28C342CE6C6687
-6FE4231A5AB35F194D7029849D8169BC54B94F34DCA13AFE4F5261102648C1FF98212831
-D76A892CB55AB502AAF52AD08635464A7C65AA6947F6CE69BE3C7984CD36057A31B2D8B1
-935122CC567A10025B6F4E305D40B600D3147961F914DFF15C07E6971A4B58E2D8F02F4D
-54F50947094617BBDC1811AF2FFD72F5376BD65059737BE960D52C9B41F2FFFD1927F3CF
-750FF71292AFE92B978F1A89EDB201F71D014FBC8D2758687039EEBF1ACFAB367C555381
-EA24C44F1E0EE7FAE39EBA4413FA3DE14F947FF5B3909323BD35193B6E2BEAB668B94A12
-40E61DC39EFB28634214B3A46CC0E00BD66D5B2D92B14A708098207C092B45351778E984
-E75DCC4AF44F9774821AE9FD16F44B733C611D708BA56895FD42150EC39E3A86E7253C70
-480114E55C14AB9F448CDE802540B710B1B22C0BF0CF557FE300A2BA25A0D841084A0178
-338EAE9D3DD9B19B062C76015CD0CE257D80DFDDF86C52FD7BDC4648EDF57FE1DD48C1C9
-AE6A3D17FC3CA05716E302BDF2F219B52E16CA97E63ACF67D27EBEC25BED0450B057D378
-9545B823DDCB91E9162D0B8BA526A918BA140A99E32287165394D51499E3CE10F75C9881
-BB3E3E6734B5380623496697FF66123076CAD8648A11D710988ABE094F9A11F4645E399B
-91444EF95F0317E07B38A3D6FDA2241425A175F8495D25FA347425E419A78BFC62D17F92
-888986182D3DD448C236B84F46C7100EC23F321E73BF1839EF3500A0B147DA4B93CAB290
-CDEA0EC5567AD07078D426A98601D292966C172EEBCF61258B805CE42DEDCBF73995B8E1
-6580EE97FF610B938FCBC6D2DCC05D59E5D9F3BB90981F92C4545DEE34794CBD60FDCDFD
-80449225D216246049948AF7B161D509D34F457F210116D1BDB10AFF53AEA6B51A49FB22
-FDF56471F610550D3133616E184B7D06539032DD560C4B5B54859C4232781326ADDF91C0
-98BFDC7B24A57BC4E69E97707CEA01F58D0E5B72919B202EB8852561D37FA219DE667986
-23D6CD0535C2CD0F642238D80452DF1482B1197076EA7CCDFC3C336B0FC883DE2FABB5DD
-C80041A4104E575BFD65B4EED3BF9CDBDD4B83BCFC7295392850F8EB50C4D85DCF6AECB5
-C88F6EA597966AC63872251EDBF270A94512187EE6483D272D50B5E4B7F4556EB9B474E3
-85DC8A6152FEAB40CA34CCA515302C6FF2E66C42E731673962D2FE5320D577A67AF1B02C
-A3697EA85E771565B97A476E388A5DA358B8A1D30DF2EF680288F20E3F5BAF340B44B7EB
-5E531E569896FDD63DA9AE424B0CC244D99A0256488922A394F2E31FAAA47D95D90BCB0E
-83429ED543041F2B8635F3033122F4E114096D497F6D993541A6CD7A6747232B88A3593A
-71DDC13689EBB077B3552C366A4685B48DB7E9A0102F02A1C1A31662568DD1D4D3D95D9D
-B2C491A04534833CA789145A6570F4B6E8FEEB77A9E9240FA9820695380C4A231D61A58E
-F20C07FB1CE230170387CFA28C408D3251ACE1216FF77CA0D54A35591822489C0CF393B2
-4C26623EBC3A3A9C8DBCC5779A2EB09A8EE6F1EF3D97C107F9BF10252698367A16D05E84
-E0B41817D06814D26FF79AA87661C7C2D5487DE11BE2E4DDD7C926834DF8532652AC8DC4
-43FDD086A256005BFCD9C4D9F05D0EE9650FCA24327400BB5FD44F183227F62720787691
-75AF9CF033C19D7B4D2D52FEF89DC3BA145A1CF750AC8AA71EB65FA16FCB377F0492736F
-33A408D699FA3A9472D422751E333B368FAB32C05E959591C3977F0A9B94E0EAC792E1DB
-BC609E1315D59901672AE9A5ED9381FFB2864EDBF657D8EC8FE580409B0C8AF08892C00D
-DA1D2D32CB52611060BFBDADCC73B272936A150A03EC52B4AB5A196C28394154DDBB879F
-627E656510322DAF03F018E917A40C6C70371658095B7A9CA96575E976DE9D2E3719BE63
-33CE53FA1B970455CC734181CBDF92969555C42909B590908F43C81FBE180F043FF8EE57
-965D3B28C0FEBEEB075B2DE3444B117F6836E12234670651230446DFD71133C169B9D743
-1B26A1E5B251B4E7A170133FF9B403D3F345213A67C80EA3F48E12A2B564B97E5E570651
-070EA250C155D9F7F50D95BF852F1A337B152A2167BBA4F2E1FD348DEA9AC2B2DB341B06
-07422BAE29EFE1F7E1CC7EF9EB9C1CE879C0BC2B4D3E3BB126879C4BCC0F9219D89064CB
-BB943487ADAD2E7A5E6A72FAC3C2002226C24462D7CAE7ABD0687F785028CC6E3C4F1026
-A994669C2320444BC35BC6CF8239FD0A4B4C663EEADF9FE60ED2E4ADD276680C5C84488E
-2956D72DDD2A49BBC3367EB742CC9D69AE615CE4693636373743DE1FC06429C5D5F19E42
-A6285DF5394041362F5F43F219977A7B4101E8A3EF45502DD8E702D677423271333664ED
-727310F0A2F12CB90332228BDA42FF040CA6359948EBBFEA768FE2E85F344E38A48A21DB
-04C8C47CFC95B14DB8ADEA6A4994A366E8D46A4A1453880390130A157DA8B5D14B250893
-C3DDE306C62E466968F1EBFF0AB0224AC7F87B8746B816EC02F7FB710176EC2104662591
-4D2E5083ED6DDD42EB82AE75EFCA4B4017E00B80CF11CF347CF1D9A1F43C5A7E16A47CE1
-CF113A4ED121F109F763DE14B756E396C59E9412CB166FDED494706C7B9BB806387921A4
-C4A1FA6556D82F252E69C479D4314252A146F14A310B0D3861FAA13FBAEDABDE8B238342
-897C50E88A951A7C63670040DC49BEEC93CE42819BC79A5C974E968E523CDFF701B6A0C2
-C1E00D0A2C889BC270C0A94A58B8F44AE45AE3ACF02357A1A78AFE2E09755E0E48BE6221
-A06C91800234AE2E2687049E0372C8B0B2573BA6F044FB9827C1D6DD90234D91CC1BF4CC
-FBF14E163DA400E2BE334A4D806B3A934CB6ED7674DE6267B3BA9BF4820C4D41FF661E7D
-10E0EB3F7358BAD6C01B7E1EB1DEF5996678548E589A2FB993126E55BCD6BC1BB1F0D4C8
-1B1088A7688BF682E63D54F55CAF1C2EFA84B79974439C4F90B8D05DC7C300D450BFCA2C
-240CE0D01156FF5EEA35C9542374BEEFFBFFB332E14526213ECF605DA61DDDE45AEED1B5
-C29217566ABCD452A266C8668369B6C4871FED4D830735A947A15BF41F0210235476E83B
-EE843F80375DC95FD0D3D0480202033BCD2D83DEA1B0DBECB3D55EA6AFB96F5B6FC48B6A
-7C1308346583BADC3B7AA668DD819F81E82747226FB67162B8F921790663FD7C0F7DBE63
-BFA878DA1434AE325EC02D786FECEC94696863A3235D048E80BD57857B7F0E6B84C2067D
-F04AD7AF6AF06195B4FCD01D3257480979D79740D4A5EF82D2D5F6359890B1BDA818B8B7
-43620F6844689B7005B608ACC102444067FC7752EE4FCCCF24321872ED9437AF8D263AB4
-123213968A9801D2F9E902D540FBB430BFDE25C15A8185B42BBE510DF4E9F456286F28AD
-DBEA5596EBDD910C7E375DD40500995C867C2E5BF9AAF54E57E730C3C1F199E78ADEA406
-8AF853A645C0DEDEC05C825DF25511FD40B0B6761547BB986AF1E878F905723580D7490D
-026D2D7A49A2E553010593189A0980DFDB18122405110422806CE79E7088487F7FC5C80D
-33217362356D42CCFFC9F51FC103A68A60E4CBFEEF0852C998FDF4A3CEED447A2D77A9D1
-16F88B6ED092FA4D25C59E731A03ECE98247E96B055EB4176B8BA5F795E6EE92F8DB0446
-540207D9FD913E00D20683128E3B99F3EFA0ABBB945606B30E0CAB0EB6B91D30EC381184
-E5046DD2DAD0A4B5D3C6ECCCFF402C1BF5B42E7AC1EB818BC76B92BDE97DB485A9E4660C
-DC3F409129B5BD00E573E2B4DFE2E0113E288974DBF9AC6BEFE9CA8DD0F73C8443C906CC
-4D21BC9ADFF2E9ACEFEF101A1087EC168EB9EDD54D55CF072F4DAADA363C28D9E2FE52EB
-2A58F4BE72A494F370575246965A4C4670A7F4B47F118FE5BC17ADF7DDAA469EFD6A13D9
-8A148B02700D4D374EFA01E2C6502E6BE36F2FC25CFF1D6A4695110595BD358705674162
-54D33C3DDCBC891265EC7F0FC06BD7BDF70D7000328062F889C4BE68F4FAF0D2C2F5D8B5
-C61C40A3134433C222071270F466D9EEFAC22119C67A9EB2F626DF8CF62F028ED74CF733
-1181D642532801BFB127A1946362F2F8BC33B8651A565ABA0226943CA88FAA9F0D8CAD31
-7B7D2B0B0A5D10907355FEBAA4BFC717BBC99A604178B897CC8CD98A14531E9742FDF11F
-8D17D2ED67DE68CF3E2DBC0FF6A23C876F3101DF942314DF0D06160643C4096C65B90E15
-4E2D0CC44AE46932068856CE3EBD03D8A74EE5BBFF74CCC54F0E1D3EB0756C29923686DA
-2410B414A5CD43855C82BDAB7AE111E284FA77BACBCD412A438F59FA4006C11F4B45C502
-24F939A12289F846A43E1A5EF39DED94922AF63537D12EAE8E4641D5434BFD058FBF163E
-586556CB1E13D15A5487091D9BD004C556CD533A25E40F97AEFB4AFA5A2079C87701E65C
-96405AF89D0D7BB41FEC6C4AE2834F99B1426B47EEA08FF81B13AD5738DCF2013E45FF93
-38652EA8A36B8690ACF0997A1CC2501219AFBFCEEB79ADF018B5A55C8734924D5F6EA575
-F0DE17E3BB3AB11F8930DA1A8F3CACD9A0452145BA4F00BCBF072826F1B6F1B9FFEA2736
-7319B85F39FFA7EBA15305A338452211E2D011E566B2B5A822E478BE2852853A1A8D1270
-C9E5E6B80959DC2C1FA70F62765CB50154AE0FAABAF9BC997BFC4C54F63D4D2B948FAA26
-0ABAC11CF0677CA044B1783FB87D31B1960CB0B21024AD08580B0CD6BC4BE22BF8A144D9
-88063037F1D2F17552A15D47D21CFE1B88298BC7F715555783299A9FDD4D131F1645D195
-E6AC8EC0BBD1827548A0F971080AF1DC214CC3720969B735EB0858DEB89821FCBD047BEA
-1F1F8B5F27C98785342D56C145D03A0469D92E932ADBF560D35D555893B0D2F795918DDB
-D65386906E232A3545C916A9AA57403E5244686BD99006CBDA3E93BF9A22A2F172B58147
-4480A90190018CE07634573D67C93211A9577AAC8799CFE6FED8F9274D45ADA841A66CE1
-EB00BB0330615CF756DDF0D6B9DA2B59480E63F0A40DC2E635EBAE9C5ED7283188B89551
-96C155259DB91835ED78A3D3BF07EAF6CB3B3CF6F4C0633C764D8B76592FDE07B62D7DF6
-F5D16F26EAC7DD91E4296442225A5A02A2990B222BB8A1239B38F83A807F828683935682
-51A567B9F68558885FD32E58C4B22D467DC494F20A3428F68A18F0037E8CF4837FDD62D6
-EA3CB73E8ECDA81132256DD09F7CDE0CDCDBA85DF239F2671E0295031A3184F7A31F5F05
-A29A40534BB0E02C99089977172A469A12D331448D690EFA0E05099A960ECC3D9DCC4BE3
-1447F5D77CF9F59078307213D6666E6D9567AD8A341A10C93A6EE3C726FA3A730835E134
-C83E47BBFFB68A5B8ACA88414800FA1971F0B7162DF5EA90BCBDEC7B2C2916F4EB39FED7
-98DCE6D49E8D36A188A18596C02FA8F8B5B1C9C67BB8BB1369EC2FE51BD0E554F52517BD
-5736CB8B581C4B083F891903EEC740B3F52F404BE51F26FBB90739620719C528DC56AA6F
-185DE3A0145225AAF56C7B8B510F0B6C5BCE56F69DFC3AB39C5A9A6110C54B0C014BFED6
-06808B965E8B4CE61BC3CBE66BCB6AB0C53457E2EF94EAA1B05A3B9C459542579FC7FD69
-043E9A4A79E6688CF835BD981FF5935E7111EC2B4FFDFE1E05825BC54C55A06D737E1BF0
-5F332D6B958078B4F3BB7FB1952960F35C28AC9DE3B8A5443650A22DBD69F43F1008543F
-AD0ADAFE7A2D4CC1158F6DFE38D5ED78CEA0E8B742D86AF575C3DD05E07339D95A52E7D0
-8F28B53F42E0EF55E488782D6DAC953C2B46C759D7AB0FD9D521B996B4F492C762250AEA
-0371EDF1A6C892CC2AAE5E8CF85C9532294A7598152455F1229296BA051DD83CDC08920A
-E0CDCD29814EFBFCD435FB171DC21C75B6765E2FEE6EBC57941C984E05C107F0B696839C
-E94FF8D337BF520AB53FCA1CA456E5404EC1F05F71725E8545FE4DF3E612FC6C14403108
-2EDD3E5150943EF21E845230ED91BB60C95CA91F1389F299667673221A8680DE65D12BDB
-1AFB6C7BE73520179FEAB41FF62A57B14FDE16CDE460F4FEFA016A555445C78CE88DD0EE
-A01D49F22F4516E316BB4EB03E5C012291EA5A5314ADD2D16645075E84E50A11F7ADE384
-592EA0A2AFD06BF19D2AC55F9C7EF98FFE32747DBB496FE6A61F01BBF83E0AB9CAACBBA3
-3598EC42C422EE412EF1B1F1704E7E59F28C354F9F6F5B64E780EEE47370607120870DE6
-2623F01C4F8A46059E4DCDF4CCF5775F157DD756D45AE5AA6BD5EB415B04559796AB1270
-3CBAC585D4DE40AA03CF8DA7BA33D863EFAA0F7B990316A7351D9A533E2AB6576024DE45
-176D6823F31DC55A0CC29B5BDCFEC6C75F5D11D67BDFF15D083CA9CB9DF28DF02AE258EC
-5611ED8D721FE60910CA5484A9F5DF3449F85D7F9900C61F4FB43617446E5E74E1849977
-0A0B686EBE371582B0F8B9D811F40D7B01296DD6D3DADFEB2FCE5DA4D93F97B38251626E
-D3C9350AA320EB926688474DBBA786DF88FE9BB502AC65937890DF9BF4E1F20197F3CD40
-9B2F7766078FABDA9C535FE03BE36DF70FF23BA71CB322A9A18A88CE6ED79AB299A0B707
-6E180B8F282CEDE8551094B7D2AD13360CDD68E0F4B8488324C0ACE44BB04EF246B02BED
-49DFA83A9C5219E88FF327CC0599177FCB71819B2EF4758D1D95911FEA16A6C50ED66FC4
-6B478A4DA493651F59A1F637C656AA6F8B11102EE41C33730E4BF7F400E6947A4F1E153E
-2460624E874EB6BA5FDE3C2026964483783E1767F6E8AA12F646F3C47410F0040DD1207C
-56F29EE16D2DD32C0FD73894A44E87E656D3582E3D615C6053E1B7B70E64279D617A958C
-265B6BD1DE5F706ADF911D83972D46F929331C5BDAB2DCC47D10BA4D62D5B246F99A19F1
-E884117F99304249E8A87C6E6FA5083DC0F9E97626DA3E16AE4ED909D1B7E3A911B99E7D
-9808528039AB0641948F10D793A2AEBC4686BD895773F143559DCFDCD6C09D4C1630E454
-0F112093F70B4C76C5D97D28E6FC8DFE2B2322E000404218CE03458E9196B95E63CD625E
-61C03D7A4271A6A4AD5CB055F113D7F10C69E4F282B9D6EC5A60A901ED1EE9BAB97FD40D
-33184163AA17A3F8EE9CADB38F047772FC8D39E3BFC7C9F5D0A3A277F7BB73C27516363C
-BB23E8B0224234F7FC63206B19687CE91EE596D7F8921A5C7FB1CB746511BC9AEF5B6B74
-45CE95D7B58443C4FB4DCAB1F6819B94336058A708F936D38860AED70500373A4CC6A1CE
-10F2BEF120E18CB10EF236457BD1529A5C6C2DBCBFB85F70F7DBDFCF25B9485E92C02108
-88CD2DD84215188B778BF35BF1381779ECC36974BCCBBC37D7999EDB9EC98C92D7C8BB3F
-798BBEBDD852E320E3540C46C0371AF1CCC1F59D9C78A92F710C28A2B9707C8567A9AAE1
-1642EB8BFF1E9CE99B30A784DEAF11210C44EA275F137EBE69C197039E9D35A8E76C799A
-E73B0D65EE4D1FD59E0E8B32030B6B4CE02E698F7090205E7B466C985ADEADB18CBCE64E
-5074D90C4764823413CDA39DC16CE421D60F485FACA831FDC4EF6204894EB5B108734F3B
-48E6AF64C0BF82E71AEC055DBD588D62AB4585555FCCF3982204397FB4BB4602B313EDB0
-B746734B8E6AF4FB59CA0457D45F6CA15966C3ADB050F7B83D75D43B2D54E8CF9604494B
-7C712E0263E7154B31C205F51F1EFAE4FFBFCD5F522FD9E85AD6C6DEC091D7CD445F56F4
-A6D087280B252E7901A34EB4BA00206E4EDFD63FBDA45A17DFB1873BF8B6E82B4FCF7AB3
-CC1099EDE08FAE748854C9E468C9C8B8FFF239E366B4E8FC76048B0638F7FBB9DB80E711
-91F51D4CA50ABB65E361BE32D12605B10C8ACDCF2101D66928C9D95099C296B33651B44A
-BF0EC9C0B7A6B686AC630264897CD3274A1E87AA8FD7182A124ACCE7CAFE4887E06A7B34
-FC7DF7973AEE69B8381047E2D254375C46BEBA1730FCC6FE4D6564DA9EA963D0B7D45475
-FBBB54BB12F389AE979D1F36E4FAE0EC7A1B2B7B86ECA42C85268E0953A461C8EE02C407
-FC387141C52866DB49D8BFCC065FD264E5F57423E3DBDF1270D2BB7DA6A860D22722E052
-3489A3A0B5F0E7E46DCBABBD89D3E4112A031B37576D35B95452B25B5CD04E18EF24FB0B
-98A00B549599F3E924EBFC4FAEFCE504A1877F69375FFE7E9E7D2EE82CB2C80A87630A98
-88F13C26E568F5AF98F6D30A7C3E20695AFA9B2809FD646A8334AAC86B1020FE968085A5
-70ABD597C472F693F3EDCD5E88767D23293C1F64BA94029DA5921C251FBECA22F1BA47DA
-142810A60CC9090E7996F3B09423D4D850C83F47B497E4C17718020B0DB9915933FD016A
-D32B50CD62E6E20BC09646093ED3BA9F9D0AB09F5B6B01F69CC8F706B3CC3828B7794A67
-3F2C3CAD3A2EF13171C65111A9D34F0FBEA00FCD22C509FDD913C7DC144618BD743B3639
-1E4694442AA86AECC639CB1A857DEBB2D5DBBAC329C4E1AE4F095EBD6259D0EDC896A818
-829311503650962679D627D060C51C4A78E80BF764C7DF2121896E0B02E74B9E65CA2CD5
-5A6ABA7884C961B474FD4AB32172A6E070B29FBFBB424417D6D1F89F6A8BFCC880C82C9B
-7C4F23739259076A57B3BEA79878839E3C0DA5FBC47A52B81724DBD303C58B027F1F1D43
-2DFE420EA7C773BC0884909AD03F7793F40878A46813EA207D855FD8D397DAE056F89394
-602DCB1174532DEDAA96C5907FB020BDB735AFEF6896EB193CB16A56A3274398A20A503D
-B1B66729D094A21DD45E12511715FC962E0F3238630954BA513374FBCE28737B80CEF5B9
-802097BA8D3BF8BF5315838C014B08D9BBF849EB92459D04D0B735E487858E333E140CDF
-71A6B463EBEFF3A86A5E1AB29902A14DB4C72DD9FDECB05F2EECDCC4314A600D6724FE39
-7478CFCC6478622A8441B88BBFF9AACE6FE02E7B96B09BAC4B90A65F04AA6126304339D7
-E450C24922FF6F3027FB0F6AE9C19BF3C633708255E1E9F06B8245485273A72DB47FF9F5
-E5AB05B1D8518691885AFB8DD3350D9305C4DB91FB120F666DEAC0AE0C64EB19106F386E
-E8A848CBCC9091EC8FA9004353981D5C214D920A07B439E78EF98628E1C0CF014D54F271
-349676D7BB0E41418A67DB24F36B3D8953A73D18E95DA0645666B485DA0061B2D49480BD
-C081AE8CE6C696BB8A7224E933FAECAEA2C09551F961556F7D1314A869D1E698DC887BFD
-F0E57FE8459FB5B1EABC88F50FB6B3BE5B6DEED96854201D97A6A199F4C5E0929762832B
-E47A897217131F32718E2FE87A2A5CAF8594242C504CF3C86C73B68C09B05DC02F428941
-F441110CEC6283
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-{restore}if
diff --git a/fonts/Monospace-BoldOblique b/fonts/Monospace-BoldOblique
deleted file mode 100644 (file)
index 880b52f..0000000
+++ /dev/null
@@ -1,2445 +0,0 @@
-%!PS-AdobeFont-1.0: Monospace-BoldOblique 1.15
-%%DocumentSuppliedResources: font Monospace-BoldOblique
-%%Title: Monospace-BoldOblique
-%Version: 1.15
-%%CreationDate: Thu Oct 27 10:50:21 2005
-%%Creator: mike
-%Copyright: Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved.
-%Copyright:  DejaVu changes are in public domain
-
-% Generated by FontForge 20051018 (http://fontforge.sf.net/)
-%%EndComments
-
-FontDirectory/Monospace-BoldOblique known{/Monospace-BoldOblique findfont dup/UniqueID known{dup
-/UniqueID get 4092906 eq exch/FontType get 1 eq and}{pop false}ifelse
-{save true}{false}ifelse}{false}ifelse
-11 dict begin
-/FontType 1 def
-/FontMatrix [0.000488281 0 0 0.000488281 0 0 ]readonly def
-/FontName /Monospace-BoldOblique def
-/FontBBox {-173 -1034 1654 2157 }readonly def
-/UniqueID 4092906 def
-/PaintType 0 def
-/FontInfo 11 dict dup begin
- /version (1.15) readonly def
- /Notice (Copyright \050c\051 2003 by Bitstream, Inc. All Rights Reserved.\012DejaVu changes are in public domain\012) readonly def
-% Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved.
-% DejaVu changes are in public domain
- /FullName (Monospace Bold Oblique) readonly def
- /FamilyName (Monospace) readonly def
- /Weight (Bold) readonly def
- /FSType 0 def
- /ItalicAngle -11 def
- /isFixedPitch true def
- /UnderlinePosition -221 def
- /UnderlineThickness 246 def
- /ascent 1556 def
-end readonly def
-/Encoding 256 array
- 0 1 255 { 1 index exch /.notdef put} for
-dup 32/space put
-dup 33/exclam put
-dup 34/quotedbl put
-dup 35/numbersign put
-dup 36/dollar put
-dup 37/percent put
-dup 38/ampersand put
-dup 39/quotesingle put
-dup 40/parenleft put
-dup 41/parenright put
-dup 42/asterisk put
-dup 43/plus put
-dup 44/comma put
-dup 45/hyphen put
-dup 46/period put
-dup 47/slash put
-dup 48/zero put
-dup 49/one put
-dup 50/two put
-dup 51/three put
-dup 52/four put
-dup 53/five put
-dup 54/six put
-dup 55/seven put
-dup 56/eight put
-dup 57/nine put
-dup 58/colon put
-dup 59/semicolon put
-dup 60/less put
-dup 61/equal put
-dup 62/greater put
-dup 63/question put
-dup 64/at put
-dup 65/A put
-dup 66/B put
-dup 67/C put
-dup 68/D put
-dup 69/E put
-dup 70/F put
-dup 71/G put
-dup 72/H put
-dup 73/I put
-dup 74/J put
-dup 75/K put
-dup 76/L put
-dup 77/M put
-dup 78/N put
-dup 79/O put
-dup 80/P put
-dup 81/Q put
-dup 82/R put
-dup 83/S put
-dup 84/T put
-dup 85/U put
-dup 86/V put
-dup 87/W put
-dup 88/X put
-dup 89/Y put
-dup 90/Z put
-dup 91/bracketleft put
-dup 92/backslash put
-dup 93/bracketright put
-dup 94/asciicircum put
-dup 95/underscore put
-dup 96/grave put
-dup 97/a put
-dup 98/b put
-dup 99/c put
-dup 100/d put
-dup 101/e put
-dup 102/f put
-dup 103/g put
-dup 104/h put
-dup 105/i put
-dup 106/j put
-dup 107/k put
-dup 108/l put
-dup 109/m put
-dup 110/n put
-dup 111/o put
-dup 112/p put
-dup 113/q put
-dup 114/r put
-dup 115/s put
-dup 116/t put
-dup 117/u put
-dup 118/v put
-dup 119/w put
-dup 120/x put
-dup 121/y put
-dup 122/z put
-dup 123/braceleft put
-dup 124/bar put
-dup 125/braceright put
-dup 126/asciitilde put
-dup 160/nonbreakingspace put
-dup 161/exclamdown put
-dup 162/cent put
-dup 163/sterling put
-dup 164/currency put
-dup 165/yen put
-dup 166/brokenbar put
-dup 167/section put
-dup 168/dieresis put
-dup 169/copyright put
-dup 170/ordfeminine put
-dup 171/guillemotleft put
-dup 172/logicalnot put
-dup 173/sfthyphen put
-dup 174/registered put
-dup 175/macron put
-dup 176/degree put
-dup 177/plusminus put
-dup 178/twosuperior put
-dup 179/threesuperior put
-dup 180/acute put
-dup 181/mu put
-dup 182/paragraph put
-dup 183/periodcentered put
-dup 184/cedilla put
-dup 185/onesuperior put
-dup 186/ordmasculine put
-dup 187/guillemotright put
-dup 188/onequarter put
-dup 189/onehalf put
-dup 190/threequarters put
-dup 191/questiondown put
-dup 192/Agrave put
-dup 193/Aacute put
-dup 194/Acircumflex put
-dup 195/Atilde put
-dup 196/Adieresis put
-dup 197/Aring put
-dup 198/AE put
-dup 199/Ccedilla put
-dup 200/Egrave put
-dup 201/Eacute put
-dup 202/Ecircumflex put
-dup 203/Edieresis put
-dup 204/Igrave put
-dup 205/Iacute put
-dup 206/Icircumflex put
-dup 207/Idieresis put
-dup 208/Eth put
-dup 209/Ntilde put
-dup 210/Ograve put
-dup 211/Oacute put
-dup 212/Ocircumflex put
-dup 213/Otilde put
-dup 214/Odieresis put
-dup 215/multiply put
-dup 216/Oslash put
-dup 217/Ugrave put
-dup 218/Uacute put
-dup 219/Ucircumflex put
-dup 220/Udieresis put
-dup 221/Yacute put
-dup 222/Thorn put
-dup 223/germandbls put
-dup 224/agrave put
-dup 225/aacute put
-dup 226/acircumflex put
-dup 227/atilde put
-dup 228/adieresis put
-dup 229/aring put
-dup 230/ae put
-dup 231/ccedilla put
-dup 232/egrave put
-dup 233/eacute put
-dup 234/ecircumflex put
-dup 235/edieresis put
-dup 236/igrave put
-dup 237/iacute put
-dup 238/icircumflex put
-dup 239/idieresis put
-dup 240/eth put
-dup 241/ntilde put
-dup 242/ograve put
-dup 243/oacute put
-dup 244/ocircumflex put
-dup 245/otilde put
-dup 246/odieresis put
-dup 247/divide put
-dup 248/oslash put
-dup 249/ugrave put
-dup 250/uacute put
-dup 251/ucircumflex put
-dup 252/udieresis put
-dup 253/yacute put
-dup 254/thorn put
-dup 255/ydieresis put
-readonly def
-currentdict end
-currentfile eexec
-1CED864D422F76FD8FAEF6132F502482A3D8B4A45438351BEF76DE83DDF4E51528714B6A
-2E0891A07E6A4C4AF06631204074926585455A5677B5DB36647E8D4B74F135293000FE37
-CEAC7E5D7112AD08238B10F0A7E8C6B22250EC0C3AE0CEC1B5D58D6CE79A5C9E8AA78533
-80CBA7928F215BFBAB9974AFFD4EAE72E2F13FA51DBB826B3345FF4EFECC42059C923D3D
-744770EB5214390157686984CE97B7A323A282FB3942AC23170668648757127D1F629DE9
-F47CC4D8B96EB65B46A5F601947908C6623ED3C619000369C9E67729C539451F62FC5580
-9EE2C0DEDB3928CC0FDD6D955E88BDD03D1ACF344F28493FCB53D4FC1B863FA25220FE1A
-1481C7750500555A9BD2D8D14147C9F8D44BF71EF40F09B0A188725D6B400C688671D7B5
-547DF767FF1075536B17074CB44E973ABC27A9494A2D5880537C8D53A2C7262E53EB25FF
-C4C00E380FF2F8B0A0D33A03BD016174D197257B13A27D23E9EFE76CC0F6D8975A0015DA
-DA093AA1B08F2BD290040DBD6674FF79F4718DA59796045B4D8091C39F6B407D5F2715C4
-E5CCF1F7A8909DC995C81CB305B02836E96488ABED0835D20FBD3507AEA8C9B51EB85BC7
-148CB611417A4A894FEB958C0CFC59F6359567D6A13A0D01A7AC80E9918450DE949D19BE
-31C7FFE9CCB6A9980AC3CFE03409367CCF926A75F8CAF8C2BCE07AE51FA505E0EAEDB20C
-4B530DFF7DABB79822CCAB90A5366E32840749B94EF996104D44B3E13E3EDA856C4CFD10
-3CE65A33CE8A22AFF27E081A93AEC929F7766C0F1F8C8A5414D3BB4C46F8E791D02C1710
-95FFE94019D62F166E3EDBD88B350E8211CFC504E546F14016DA01DFF478C25015A6530B
-8D38CA3F7AF4DB3B8959EACC030207E8239C17E351E737F58960875256AE6BF5094C042B
-F753341EDA79F533F602F673B803394FA140B5F9E0768413A9EA96961CA0002036751C33
-FEFB66DC4FF30585349AF7C9924B9C94E20DD44381028847816BE17FA4D554B30A78AF24
-11318819B1553C659F9866EAE2C775A9E06BB5E90AF8B32B1A7BB290EFFA41F5B5033C85
-401D3B85F125D61EE0B245E0FF52B1F46CA409A86A88A8E40CF38BB9940168BF936734B1
-F45EF8AFE5BDA9F613972D9F61EF5FE3F8D4D19690C2AFC60C3FC4681906BD2570945EC1
-8B6161A8A960546C23964E2B005EB85B4146C5EA93313E99557B8820C6690E945AE88661
-AAB10C0D47BD67CC00C03BA82A04407CD9B692351FBA25E75E4486A21D9A0542762D5A64
-F8B1B879A11EBFBCE426F221372C7DA133D7CC2B2C0F9E6F269B3DDD14A4167F184F76BB
-F0A6AE68F88340051B93CCAC09BBCE3A674F684ADC4F2F5D121A3CDA013FD031637EADC3
-36D6EFF295A86B54867FCFE1F05BF5A73C737040BD3B1A0E924193B83B6BB378B2453D9A
-A3D53B864E1EFA1822D4D2EAE2B310A42389ABF90F4D439E0DC7CF34E8B90439EE25C677
-00F9DD5CBFC6DD5681E3C79F26089F6D569E0F07CDBA2881D812766439FFC0894C0E191E
-054AFA67FC1B1AAC7ACDC5B6D710F1D0D7D6EA32937FBD67CA71A1D5C5EF59A3C0D833C4
-5F78B126A88A81E73971B7E12AF16C4B23086F282FB309755696851DB9685FA9564AD878
-BB22CCFFF759CA65A594FFC2FAD61F774BB8450A09B08631B1E808E267E855F003A5B951
-D8B4BB325401E199F57345709782E2959757EAB5BE7AD6B5BFF17014E3A1A8382819CE75
-EAC4C68377FC032EC0D74603F25A2B1386F7FEEE876467D0DDEE2B2B9D03E25F32137D1B
-4A8F90BBA322636C8571B6E215111579F95C346171C8BFE6777B081660877518D1B44917
-ECAEE307B68D51DF094AAD59DDA212747661AB31A9F31392C4EEDE462668675988A83172
-AD88BAFEEBBE500AFB2A4D9CDC985494CDB271AA0741C0709A2A4991B5EEC213F3BCF107
-E6EC214DEE85916ADD3440AA2A7D24F0645E254639EFD1AA093BAE93015A7FCCADE66817
-F4AFF9E5A10DC390AC33D707D8A8401F93D0318626FB23F8E6226B5C5230FAA6323C32AD
-9F73A91ACC682BEF7AB3A99347316812A926E30DA8AD7CA702E52C73CC37D8A2F8D3D679
-D2F4F17419B85D061833B63DDCA501DB6E5FE81B5F8E601C59057D912CF9163D1DDB4237
-6D4CFAEDCF4E4F66600F71D7C31061A9846A0F153536DAD78AFC80AC89DFBB1CECE4D89A
-DCC95F5E7E03A41A6BBDEAFB3372ACF32ED1D5DA6CF8A768812D69620806585686FF6658
-81AD1D1AB17E7282E6150A3EB40B400ECD78E202FA63A5508EC4D6FD78EC3998991D3829
-B4CAF3B7714AADF0AA04D5239F5BB40A7678938E493E6E58BA9AADAC797A8A7AFAF594E5
-82CE777C987C6E9B4EE421FD1E44B7C3DB349621789B8142C2773C049CD999E3BD26B634
-BC86CDCC6F930EAC04C71A25E8A2D1DE3539C8981723ABBFAF835B9615FA36A3D89E1502
-F46C09FE21AD93811C447461729A4283E1C865419A5437973C07F830FB3645906DE1EF79
-5A4D0DA6079B77C3D0CC1D1581EB24BD9644CBE0FF57D58295D3C1529F95B61F21B4480C
-9B1FDD14B20A776EE20F18FDB5A595778724CD68D237057519E58622DB09E9F86D8FDC28
-1F5FC5BDA84BBB46836244A7510737F6FC411F39FC9A6EB3FCB5D9541C7B3410F60AA52E
-FF65CD9C4D20B21CC0E16A7DF3800DABF3475105AFAF14D2CBFE8C4A0CB98910441699B4
-B7419F0F91E4E7E68F6AE3640B4E82A52856FEC5D51863D14CC9A7E54DFC3F18EA6FE05B
-DDA764A8FFB62408BA412567BCD78692A562E309C2DBCD900AC231610AB97A7701B98440
-5EAB031BD3922A9B29AA0A38BA410AC99CCA246E324FA59BF265924EB41343043C2D8CCB
-FFE1F6EE81437B8C256179A5A69D7C0BAE4F13C59D7356B0FC9878D14CC9F1882E68EFB5
-0B324F590A76A19F01520AFE617A6ED645A9BBB0D4AEF69A01099C2F7F93382700E3C7C1
-2862E5289B66EAAB1DBE13802C29D11452A82968592995686EB09AC67B64CAC41E9177B1
-1A21741097ED55CB5F383DCE927C5EE5FCC13B261589586DCB03ACF7E74C67606A71E235
-A335469B97FDB6DA8613437685ECE63BED792266DB50ECAFBF082DEFE04803CCCAC08B1F
-47D3EEE82D635A9F97975EFD80A316371ADF86031250077B1CC0F403845FAA306ECCAC14
-A194E85663252D9FAEA449B2A2AC2C76EF828F9EEA8556CA4057EE0BEF356C1DCC76308F
-05CD254A737EAFDF2912E74C38C3617EDAE3969A03B01AB3254C909B93979E6226E20D48
-69B44FE0F9D8002A02ED206544DD099567DDA0489BD957DC14818C7CC1264D405BCC9E9D
-A31BA99C5A695E106794694B7FF847497FC8A7E961C57CE3959D71253007B8C2A6733FCC
-B6E43863F782DC8D37C60A226D46AFB6176C9507C7837C1DD2E23559FA1377794CC32079
-90FD6E0EAB77096F8C4896081B5203495207EE8CFCE63AF48840778C1DE08A449953DF83
-D5EC0B82593EF1D059D2C5B9350F21AE58BAB03F57A4CCDD4D4CD8CAF475E0315CA8612A
-C3E66CC597DFD5F4F53BC6788B84C1E2E8A8AD02FEE9D9D5F7471508D7E3F447F55EB1D9
-D54EE8207131F8FB5B2A394C0C08F35E8F93AC9E0D0F93A77C28F9FDE8990CAB8E3908FF
-EB8DC0EFCC98F88315E0DA33B6C6B4B50B17661DE788C1A874BCD2407C3047DC79DD6650
-B6908207965CB5BF7E7B83A7030D30D3799F406C9875E3CFA9A42401CA2C7115B1446472
-4D38382EAD16C042B8F2B352F6A9FC7FBC2E488BE6A2D97FBC1E643FE4CDA2097253798A
-D26DDBD706E4CBC5661BD87E5E488960F643A960E9DE3891163276B377FF96D9D2E93B81
-17DEC91E5D3BA80B14A699C56E8F48DA2EE0A8DFC2C981B106C70E0766CC379D97653EE5
-465EED2B6FEE0C1CD2F4776D30E08EEAFCC427D6420F516F9F0CB3C060659C4CADAAAD94
-40B3FF65406F49F4174C2B0C606A3B03A8BE0F7767139539BDC38B93965ED44BE4E2A53A
-149EE0D512D37958A9BC369452B6A121DFA0BAAEC6E9F6E00533AD6EF857E662C7FF4AF4
-5B7732E3C5A037E3A752682EBA6976330FF3FC1CC6271EB7B2024D2B00386A8A5737F052
-F98A223E309E457645E4D1C91B59E827C451D0CF32DC3B3D725BF5E325F9D2CC1994C319
-2B4C1D05BDCB87122F41D6F72A762FA45509074D76A32974ED953C5257F9EA335152E96C
-1EAD2DFC8B7A85B5DDA1975EA400EF5DEA8F43C82EF663D3E5E122D4EB1C67E7E16CEA46
-F12D63DFECB85A84C7B77637FD330F89503DB4B342124ADE972AA14D81F492A5695225D4
-39A6EDB80209D1A49A7B393D00C1B5429DEE9D81EE2E7570A5E244E6457612C61E3869BD
-772FB5CCCE59811D7CF516105765ACE6B68061B1B411FE664C84A767F66238231C96159A
-21C3CBFEDF73F3B56A25264CD5FCFE91C36977A683B369716D6525FDC97E5D2828F26961
-292D8D5F7279E6C0C87F89827B1ED97187E3EB9E3ED021F23DF98790F5095C6063E144B5
-34FB190D15B1DED675CF8CF5C8FDA3434844ED1BB8E1D93F43D5829E6603AB001D423EA8
-279972CCF3AFB4BF776483A41C607AF581B1031E6DA4D716B7876D7785FA7DA4C74DE445
-33EE4B832B5B27154617AE7C5E32F4CDBEFA77290FE45D80011C0E7BF5BDE91A63708F0A
-FAC6D6AFF5FE1EEB23C187EF486BE3E8EB042616A4763634BE5B4CF31417D6B7A807A3F3
-C3A6F6C285A7C7BD46AB63CA1F9BBE01A4E8E98E4CB44D2F26CCB99A85402F0A474E531D
-9675475FA6F06A7347FD8FA30BFA67ADACCECA881CF703E2E15D8585A9EFE607E311922B
-D9F0F8B7715021C9A90986D4C0E681F024CD13CD38A34DC8415FB96E6DEBA849D1CFD157
-181439E3C004ACF2D5E7C40F2366A89977662CC8D0C0CE03E77F77696871B7BCF85DEF44
-9F1DFD9A9B4F68B870A1ACEAB20CD407A27C5B75533A08CDDF6D0C97650EC5FD4AC0208E
-07C59FA798DFD38FB86AF3E71503F76634DFB15F6323927C87AFDFA9178D71391DC51E76
-75BC787B749BB53926B0BA5FDCFFB241AE27B036C586CCCCFA0896D78A63578A986E329B
-DA9F0E5EB0C5C1DEF06FD3667910600941AA707EF6EA9ACCF721C8DCF7760BFA32E3D5CB
-86E79CF66DE28D80CFF83950238BA7EAF551FC3A8E4EE0302C840E7FA11D2F1BBBEA8EEE
-94C313EB4B47975CFDB214B3134711BCD1F2E3ABDF11E591E9EABFF57C226CA83B3DBAE9
-DD3FC6F2C3C4777E9B5479A7E904D0E1F7D36CDFF6B32323E4218F8CFD5EF467865B2636
-81FFD990E58EA69595D4D86F2122C52BBFB43650FA8145B1B6AF095541123E31E99B3981
-A701C47091FA0C752499D2754E3D6A2E3322730CFA4EABB60807FC81AB82D6A4C81949EE
-75B45A30EFAD61F1984993AB44AE604BB045120D01CCC85B0EB54302E05AF8B5FAAEF675
-62057457ED730857620073F014DB40BDA7E41941A3FCB28A9EB2DA319C3193A90030F0CC
-0DE63B94B68E7548B709AE50267036A770646EF39C64B31DB865D12A60E502DB4EB11C5F
-F784708E3F670FEBB1888296C3753D690EB6D9ED17216471CD3C4D5FB8F3F6DA866E326C
-58E8E892A3E6BF60ACD586D6CC8A0C984EB030E4C5E1883B78C4A04ABACD295FA292830F
-2884504E35363BF69D7B2F16E43F5B94CF2CA934185C684B1F87108B58C0FA15F75F48AA
-A03892283FD1FAB239D5A09BFA310E59F2244FEF8481E1494A263EC2E3D4CC5ABAE4E37B
-D73F74559FF9B32EC960E5689C3E86033F1D20210FC448143FEF0C77809CF789F6B8A55C
-F383BE3D85B82DEDFE4DC4480C508325A5D28216C097BEF9893103004E551D0516E05B33
-1408028C881732A82151E3572C279972EE0DA66503B2A7A7E450F1A4866B9FD0215B7BA4
-84C0E5B95276E6FCC43896D4222EC7ED7CA5A4D873D0E80523DA60CFED59C07C7704072B
-8D988611AB4CE42D6F85CF336CD7FBDB4FD1B13BEF8D97BE6355EFBFC2F53E7D59E257B0
-F71B620746A03C7D7C5B2CCE57177F16490074171B8DC509297CD5E43B498F86C2BCB119
-8C408DC0DDC294DD2253FFC5B03DA71DBF93E8BF8E2AB316D852369AF766C92CB2C82CFF
-4F9247BF252C7712AE3978F76F78AD8C9002426B3736257E92CED2337961A693797AD3A7
-3138CA2489CC0E2AF826E4DDEBBB1C1C2F07C6B98C721A0519A2CA6DBF7AA6CC5C1184AA
-E5A05AD35274696A805327F95544D71747E356D5C1B83431FD8CE05F0378CA6BAA36E7F6
-8CCDA7246655D8866D21E21E63B23440457B8863118B7080AA83318B32D45756D17AAF29
-20A7DCA29679F76FEF9C33D543E54460506CF9254E16656E033D7558A09FE3BDAB6A283F
-0A881A67E3FF025A92F37748527EC24A7337AAA5B6254A5F95FEE2380125D05A25A9BA64
-4E60FBC4C25C2AAC69CDAC16ED0D79188DEFF61692D56DD91481D11F6B6AF7C86CE24BA3
-761E2380974ED69FEBECB22EED4C4E244C635C52E0B162A79C948592CC6BFDDBCA26C8AD
-D9A35E6EDC3D659EAFDE4C4F430133C337461E97D2460BB6C8C2550A500433C5F96EC312
-3044426764FD9EA134359F414F59105A3705DB72BB3199B0CF9240979119D7E0FC27BC13
-849501B45F654ED63F93B6D74590BDA5A019A93A397A59E9B8A41E5F61219F5884390F12
-321281D125799406F9E234F1133BEECAF2EA304AB4C313C902214FB7D7993723772C39CB
-0127B4E82830DE0B9A7D60FB452F70F90ED4CD2D2628A132816ADED99B9F355D20313F71
-1B0586F2A20C90705BBE628F2C9720534FE780FF3EC15DE762EDFC86ECE91A1A9E530C54
-56A887921523806EFAB6E9E397838087921945D0EFDAD8EAD7D27E3C24B4BCEF2C8B92C9
-06A725065BB42F0DE1653DF32C802EE2EC33EBE5FFB0470AE8AEAEF3119ECA6FA4728AF2
-CEED07C5F5024A27EB62475A8254E8DD444685EBC545BCEFF63FBC285208350AF5065CDB
-466FBAB8540D8679430793A202CDB44EEA4082A36797F4308F037F64739247389189E303
-F31A1AF0C1780FD9AADC74528533AC6EEACE64E043E09EC5BE365D706FBCB09338597286
-30962CBE409AEBA4142B80C11603B4276DF35E15E62CD9478711D2CC8454561B687C2463
-9F68BBE2659168C72BF87743E758D33649ABDF6A7A4F42F625B2F83A4F141CFFF14A661C
-9DA1E1D045F6891F82EF2E548E11497164235049BD3E3CE707E99874DFCF2E912DC431F3
-7F9894E3C7BA894BF1677FA0F392BA9FB652BC93D898501C5E6B4E20FA8AC7CE6FDC9AC1
-D86723440BF06D420E78F5B32BEE9BE5DCAE455DF6EF63128622CD90C39B46CB9EE4F45D
-72A5EB1512EDCB4DB7220E561160941421D6860979A039B9E5D5706126A3D65BB8F46740
-2332E34E1709298538D20F5BFD178A2AF0391E93672D1BDACAA87CAD9C13873C98B3BFE1
-D28D783690420FC7A88F50241EDF64BCAC2B64E2B0BEF2B5C646318674EAEB1A15D431D2
-1678A73D2165F9A356E648D47FB6B7B5A889391E194BF80550962C1E996DDE28AEBB2529
-6508102B534332948DE46D92DEA56C8D19A08FAD37A646BE88C0B6178F72FFA422F33D81
-D5C4F69504B96A0CC6FF3F4525E0F78BF4F1B27D7970FF1B2F9703952C823C0E99BBA0E6
-63E413EDA3C4ED453176723D3B91683DA70365774570A5E36C40CEFAF29BB91948820395
-B60D780E7EFF9BF0C7496905628CD5084A34D852EC665C81497DDAE2D38594C8556937E3
-FC505A281C3B582A9288EBC36E39B8A1148AE6B29B265016DBBEE8DDA7B0E9C7EFF37B87
-2E95507CCD7FEF306906F05B7FF2387A2AD253178616AFC3BE56667A9B1875C81D960245
-54B5B785D210EB8285BCA0D3462CB40CC8A7310567AB5C1ACFCF279EDC74DFC8863A0441
-897C6FC2C12B875832FC9CEAEF57543C65AE75987834B1C2ED9FCB266A9B8703C2F53E69
-3375F4BAC0C609D464FC164426B01930746D0C66516E02FA50A95B742A7117DD03D67414
-D40A0E37D0C9340181B3D689A09898DA6B4EBF8B9D022DEF18DCBB58D2AAE351488A28DF
-8C01110345C31A7CCF136CAC367B7609DDF27B64326B1A93D69677314EB62E1603C7E522
-420000203B5A9014148875FFB716CDA3B0EE8558AB8A864DF11BD863A640FFE835E0D469
-F1587F32E5F329C2BAD5B2604B58204B7667397F349D4A5EC7D40F53AC32B5D493F8128C
-295165B31A382D32383E1B45C12992EA246D677319AF5C09E2F540411404949A9825F62B
-5A306FDE4A93720B5067B3433353F3473E078A92F433D8A3E7CDB486131A4EFBA06065A2
-97C4706E1C0049557496AAB1BEA12A9B7BC411608EF41ED6F3EF7288494B9B5B9728066A
-F99B7AFDCF6C245C06FAB5FC1175D9816EB90FF3116A4040CD614F18ED3339C5828BC121
-550D55A8595E4E679F37A744926179453C7E27190D64F3284656CE7C0D334A7420275903
-F9C0889248ACDA0D646C1885FE98F4E2E9DA8353852DCDDC9A36DD4359723FBDD1FC3334
-E4F49C07F30DED223A031BB54AC966DA65C9979D32FA1F3E9B2F46EE773891A4CD8A9BD4
-EF1AF2763F1BB5A3F9067317D9B5BAB7C622F974A3DA0934EBA78E353E220C29FECF3541
-528AC86A4EE2F73AC9D38FEE530D517C00CF43377D607942F881613C9BE20B59D48AE852
-31E81B23EC531003D7505E6584FF64CE940DBF2DB3742B142A20B1C8B6AA07D9538D4E16
-B70AD1D7C07EE5BA566876C92F548A643A158096AE000A8C6E1948D46AF2FE91AA3587D9
-F39E0315C506F739461E8B73ADFD18B15285A15A6161491B7CD85F80C1C7240E35BA7FFA
-40876F878B468DF1B50EC980FBC4C8C62BB16DC81A38A21ED69CD2AEA4A56B093BA9FC57
-1EEF14D429176852D4CB3762BA789C741EFC39C26606E93BD525C2850E99822BE0DA5CA8
-CB749B6A650ABE24C3667428E8DB1C790ACF96E0D4B48441B019D29D85AAD46F3FC6BB14
-8DC9DFFA73A5C6B041C48A60616850C31D1F648757E4ADD8AC4B6EACAA801A88D3043842
-6352AC493AD6D01C83BAA2B645217F62E167B30964B8493EBE3D5370EDECA3F75193416A
-C763EC9318BB4A8651D858AFD090692FE0F3114698F8F7E729C5F0C20BE9EEF9E12AFA46
-8B77608629D6E5D5269898206BD5BB4D6BB72D97A959E793984D26012E4C5BF4B3D70C7F
-43AB875FBC17E8CD19E0E56EE012782E73DC04B62B806142265938B4FB9B366B109921E5
-353E29F046F530734E2E312E953708B41884E50A0B4A7D2BA9A8132BE0FCF7FF5E37F0AE
-7FB48513B73D346FCD60996A2ABC8659A8E93CF9A0E1135BBC4A438E71813F2C217744EA
-4D42E3DB03AE3038CD53F8FEDDCDEDBAE5C69D7EBF6DD4A41A1510A12358D5DA5F98AC07
-DFB9C648B5A72AC100480E34D38B897E9390E223C1E057FC09AA828D2524CFEB0B36E2F4
-794FF8D66E9734AF0559123BB70725C1B466E5230C8BEDB01B073C10F4011D7C0F6F2814
-60A76371335A96AD7469C7C7012A3AF9E1BF900B64384B1FB1804CEA27DC37DCBB64B8EF
-98BC8179AF176295DAE271D686E87D3B9DC68C138FB4F7E2FDD5962B35DC6FD46DD24242
-CC30107200FE6F7730D33F274B6E532FE791EBA9AA79E4049D3E406C74CE152AE8FD1BAA
-96920AB1EB2CCEF4D3E3F58DD499C8458CAEC9FE7F1E91DFB25BEFB7EC37E53EA6A524F0
-6D22F8403643F13063D750BFE2CC05C32380A92172F9071F5B526764B3B98EA9246387A6
-09DB489CCAC4B35B07FCF17955B42ACEE5656DD90B6746EB8D11A8C43AAD98AE1EFF5751
-F313B455A66D646D83D4055FEF177C96DDB064BB5E6F880935CF01D146A8C792757F0CCC
-25F3FF24869BA74D81DD1572901F099C6FEEC45992B8DBB77043A0527F628ABEE2DAEE4B
-EAE37E89071761307BFE39AFF657DAC83DBAD2C5F602917213DB0C5D4A9604F37DF37C3C
-49FF2FF5CB143505FCCB025002F292789FA6690B573DF46E2DD0DCCAF4F5E4369075E359
-5B999C19872053E9930701583E88627BCA93A11BF22CC6F45F440CE2FD768CD93B64ECD5
-4916B0764C459A2689A72E147AE9E66995BF88E4EB0DE2B9067D0FBAAA1658620F4B8F3C
-5B469F5543F02D4DCFFBA5071BBA25C7D025C1635C5F5E2F72A850C3E5F63978689C3D55
-4F139D38F8F28E79D6C96AD77F03BB29A928F5C81FCAB3406BB16B427E26DD0394634FB1
-1134F07F316FAAEC79F04BAA0F2CC7D8BE3E76805500A40DB647A3AB774DD011C6D2D65F
-03B4F2A45079ECE8831C28A4EB68F462561CF76650BD8000FB8971FF4ABD066FFA0C1E74
-6D21E35ACDE42E376A6C6488602674C537CDCF5F163101D4AEE68F0688E16337454C4CC6
-07D2BF89342B8F38438B6E4F142BC7496E17F12F7D241FE0653E8F1AA12BF5E2F91F6886
-20870CC5794A56888CC248E076DBC743CAB5B43D784D9C576755750C79F3116BAF053ED6
-659D9F02375AF7D017CE1DD368481271F3959A5F84F49B1D0C796F547A5DF8551908E48B
-65E05E8DA081C69CFC95FD9889148A5594C1C839EC62D9D12A20B39D4163C193843F829E
-6FA88926D80FBA23988EE8A69544A3B6D72D7B87716A963B4A9498E11893F19395D7DC37
-83FBE1AEDCB3ED86AFF660A4D3E25FA7F21848C1A8815334D443269EB21DBD8794A744B9
-7C9BA089AE6D1F3AC68615EC11DC1A6FDE19B1D732BE963890C6DE995CB4184614B3741B
-A64842BA7486D4774D90FF43CAD4A6D8AB1BA46E0EB7A8812BB1D973F13DB24A043124FE
-60C9C97151A8B582BDA433FFA3B9F734EEA35F1B86674150A50F75543D3BA208743F0978
-C6532B70CF70FD58BAE0B3EF4157279C6E9CA885CD1CEB3694A286993A238AFD737D34E0
-585C5396C21991883B928672AF8E7060F41EB9D955C2F3BBF7378E52964BB318920778EF
-A1EF42EA6D8C53508A79C1DE7D85E0C9A292B820EF3FCF714BB533423A60BA1D5A084A35
-CE918A6867A12FD0C3B3BFD50BB025AA2B304EA290544A2758FACF6BC401A0391B070F24
-C3777E8D5DD438F24CCC919DA93C2D548A2279FAD56A845F4CE6A9912A77B202DCC77F45
-4A3B3BA11741E32D2D1C4F824978A078FEE972A6646FCB3843C655DB8FC065D66434DF6E
-F46BBA42413CA88FAA9F0B2FFD2D753D6B891D8A6B75AE8189123A0DB91B971C00300F5B
-CFC2387EAF61C367C981BFF3F0BFB148227E9A7DE7299DE595B027970CCBB78B0C524CC1
-DA29C98A769081FF8B2EAD1D01A97FB975C084784F33109CE38732F4B7BC2E89E38F7C22
-7E295B9D644CCDF0C3F899203C33DEEA916EE508679BC12117140BF786E118733EF50B94
-E8547E486E9BEEA26D42565201E05B4F7354989423115D89BEB2F1596F2458D7F248483D
-7E1B4E359D679B0F4E1B2C73EC3C37373AEDC75723340A07B4BB35C820D69B0550BFE3B4
-24B44BF1C627C21EA62F4D81E59AE4FF9EE17315064544BA9908A49492439F5F4CA58F3B
-82923CD1045F2A43449ED3BC3FE872A89A470857B1B0FFEB942D08B41E80EA5CD66FACE9
-94559A4A143270F8CCC95D2880C2206E0BA08216A85966E084F061B13887EEE5D335DEF2
-B872D0816C8923B106A629E90ABBC2016A819DB95E63CD4C7B56FE64A917915FB3E9E16A
-E1E74DC608F123DC565D6AA5839F8FCEDCA33258DD1F2471C787E8DEF9FB417D33225428
-874680419E9DBB9479530B26C4385F3FBA517222155729798049856C640C8745A7212A4B
-E7473EEF586E548BDD5ABFB34EFABE513FF7EC3E28CBD7521C8AB00FC7162D85E7D9515D
-E56C53B4BC1FF18CAD6DCDF28317F32F5DC5A2D9F3B15616165F15D7757A05C4A7187384
-1261A65046B57EEFDB367EE48468EB4BEBD7A67368DF534C217E3CFB16F15CA97B986922
-B078C7B76E634EAC55BC29D2376AE295D49C9916F562ADD7823E23EC90CBE7395919DBB4
-6B5E21E56F9A5B204BF0662F68C49E9303623D847763A1AC888D00D7ABCF34C3401D2EE1
-59005343EE15EFB9D5A5A1D330A8D5EB442A1BB47C523A18F4733B76373FA37AF4234363
-03EC4BED56C72AB6316966E2FCB2363FF2D4CA597E68BCC3FE3F139C272C7454B85E9FD9
-E23D8B6A38159E91B587C2B5F01D75817B75315B989E85D71E52CA4F13497F8A11C207D0
-89FD55A01D3251D7553AF6BD067A65158DAA766E24AF513B5711A0AB231087315A3D97C1
-2B5E790F4488FDA7EDCD02DBC2FCE692DB6D56F16BBA576687769642F0169DC57DFD04F2
-FF63861E7C03F841F84AD6C096A57520694E536A26A19D977AF1DA8793C7434764FC12B5
-16BBCB418F59C91ED4BE658224960F0DB0C95879A591F94DC288FD475A32079D31E6C41E
-808FA8D9968817012620E7F30F14B2C1C0A5BE47E647832CF3334F68F4CA0CF338223262
-1A0478FA29D7D90CFCF76D83F39E44A4A878000A6A252BDECE5DA448EEEF21A63695323E
-9C69DAD5E67438DE4F7B20B6B0A035751A39FFBD912F4EFA1713546D0156C53BD3F3BFB3
-AD47F99BA96E0234178A7E980830ABDC6E8C5CE38CF0CC56570447291D422D9ACA5CD12D
-D4444402FE14825BA95670755422399CE362805AFD38C923358F5DB8BF1078C3FC6AB6CA
-E3B057B7760CD16F2EFADE9EA0D40D6296E4BDEB33AD023109148BAEB6307D20AD3F8A77
-F5063C8319ECF4E56586C12982AB630890FFB2158AD97B5AFDEC586DE615E8304FCA1C52
-0369FEBC2C9EEE9068A6DEAC05706FE7E024E8254C4CE5C7404DE853DAEA209E7D067F88
-571FEF20076CF19D6CACD0D29B43E04E132D40C0FEC8FD4FA9A7621BD18215BE346A0F5F
-C6DC05175753865A2D987B947FEDE67B23FE2D3635C357633D57C90C41923F889541D703
-9399785BAA6EF2ADBFA1940227CFEF4448BA652201223FAC24CF955B98087C4CA2664263
-BE8746DFC29FA5DEA877AF83897FE2B068B061B5C05871FA675C449654E6AEAD3A8F896A
-A3588948271FB7F9CD953144CD070DEF9F6CF516C8AD51B47B87766087329889670AB278
-9CF4A2552225A1C997BEE8C3D9FE338609022837E306282A21867ADCD56FA9763D34A547
-8C7C7570B19D04D6164EADCE146E617C85A122E9265746EF9A929CD2A9E341095C7E646D
-95D437FD5BE233E352B27BD9A19D0FAE0FF524257DCDA23C6D5AADF460EE7358D4490D7B
-9DBD68A72EBDF1D266BC974D7F56D3C89850C024CEE759D09214108D6916D34B407E62AD
-89B402AC74F74EF4C0E96569977627C9BB63B6C6F536D1A9CB279B636EDE90A804F32254
-DC167ACDEAF8778B164E36ED23DB890438AEB44487E3355E536835BE443021621DCA9E4C
-8C39A54F4B7C28716329997C1B0BE5CB5FFFC7E99724D5D8C829783D156155639D79DBF1
-FDBF3082B62BCD5A3A04BDD2D94BAFB7BB997ED0A6524DBB227EFB29BD49A240CBF7644B
-AFA665795211AA5735F435336C88EEE7972E94505873F66EA6657AE8A1480119EC9896EC
-EB6C9250F5BE682193B4CF0C9CBAF146D2A61C895BE6518CDEEA1E460EA8119433685E51
-87CC18A77BAFB8C8C411EEE0CC655631E7ECFDCE6C59B397C9D568D0EAF9C6C540E508AD
-3CEC230FFC326F1D9570218D51591C335D89BED38711EDDACE3FDB2F667B1107EB410283
-61F09D4082975C1EC481504D446B0284D017F96B94FA8875B08B11CE175C1CDE5D0CC9BC
-93202FF57BACADCAE11ED701021E7720B88A78AFDDD6D71409E4DE4EB766970C87E3D900
-76EAD2457BD9D819B99CC7B0AE137CC3E018F0EC1450E91D2ED5BDB94D86BB77BA4F291D
-8DC1443FDD001C7EB25B09208B92FA8EA31CD9D0A6DB0059C0B4643D898CD15CDDCB211B
-885155CCF420E1C62B867A923C1071D1B4495FC4914D957D3208D4C0EE082C898D74A063
-2B60AB2D9657B9F510BBE6A2B9AC95D1192350183541E598FCD52B811F4543A1CF25A85C
-12F9B4E51CDBB6067286D7B6919EE8BEE3B3B6C55BA28AF9E7604D13148000CC0C1F2619
-DA17AFD8CE1DFE099B7039FE71D8F6439F0E046C72F76E2CE69E7D787C9AD548563517CB
-72B57FBE712261D00FEC755C108E9020548F4B49D805FF248370459EB32985DFF1BFAA2C
-E0EE93D945744965FD6945525C176FD953B5394E521DA5CE283F147FE0A538C74F326BA6
-60D9721EC2A777B3F9047EEE5535159EDA109AB7CD240520DB61BD088FC45F4A0EB42614
-4AFFD87C7C1DF28DA381BA980D2B144708F7E471230DE98BB691D78F4D8A72B8CB519474
-9D392D4CCD79A03DDFB93F8A8163BD07FECD4851EAF615A49607385852857FCE90F3E499
-3056B7E80244FA21F488EFB3341095E684F428574DDAF149AA105863626B4952129CC819
-06D28957E534DDB5C030E718CE15C9561A04BF18A0F3785CA6ADBB5E2CA74C9166D95FC5
-8537624A9B0663B9D4684E64D1C17BA9DE128EBE66E057FD3CE3B5C7AD929640C7B26B71
-48E82F21A36B86664317A1412DA80BDF4C867852BE5E650B772F6DA9919F32B96860783A
-AB469C9C88A0BA958D3986121F396C4D2183D104DB5D0382A846DF7D40E195182CD24C79
-01C1A9E556EB8CCDE58C61E44E7E80F37568AB5858AB86FBFD0711552F0CEBC1F4A4FB1A
-0D55986B73B49D49911008851EFB478C9E93BE7A1AD4E10FE0222432F64329B0B1577D3C
-E603C0B50AEF8FDB39804ECF0B566C2757DF12F65F3AEFEDCAD98A6B9DE485E0E96F3974
-FC7B196065C86992DE0BA6D4CF123A0CDCB94CEEFB8420916000F18B643DCD6A48FA32D9
-F5FA37D93CDFAA1BE4D95FB3D597CAF2EE196814A3B2E30A494C70EA193DF6647D96DF61
-BFCE1C5043899E5D33176B746ED3F555AA0AC6A6057C0D1B2D283C33142114CE60DE0811
-A8816D22DDE6BC1854B6C8930A5FA6496769388FCF338446838C3FD937C391CE06946181
-83051E106A440443F143CCD973B24B9E5D27E384853212CA4AE98C16B49A4A311A7759D3
-41B4497DCE2627B7D6E4FFF124EDC45B2573371C034707AAC8CD3A3F9547534422428B11
-6F840382D0D36802DB6386A9E73B4E3E4D3BBC0FD636A9F21967B1D550D727CB401598DE
-144B1E04B617FBBDE509F475F0F2181C0F0C6C3F49228D0859269839C52FC2018CDEBA3B
-51108199DDC78BD12E55B48B557E07797FC27BD87D41FE591E26F284B3E80C3B6B4C227F
-25562C846B64143CA3864C1974777D33EB196C29B3391D658208C62B8D0679C5A2380B4C
-95CC97B4192EECE50BB950FA8387505E858D309FB172A852DE81ADE4F7B7D1AACEBFE2AD
-6F0106EDED3D7EED9F3827929B54C17364D62141CF95137DBC1EE377FAEC39147CB344B0
-94AFBA1B7A0A82D41E1FC63DAB168534255D02890B465F496A2625CB78E683DF3B64060F
-255876747A24DDC01E0074211C23F8E28DBD6A6A0FE90C42A35983A92EC58F0383124C88
-9FB29494FE686DA32A5140BFB5E34941EE0A436BC5777AC41D188069BAC81E7E5A76CD21
-3D5312E317771DBE5EC3A6A3DDE1BF1176C051E8949CD8AEA5B12D67B8EF50C3ACB62E11
-73B9C04AAD76EF38A14E2974394080439A18C0194676434BF803672E115B12401E2DB0AC
-7DB89D1D784AECCCE8B0B1541D3494A3DD019EEE3600C839B16070F7373244891AA199D4
-5AE86ECC513C403991885AFB8DFE85B21C3290DE9277B6BE583EDF324C3DEDE193B1D568
-9977EF532122FE8592BE4B649B773685A6BB1EEB7C9A7B00F123A4DD784F52A0D0A88FC1
-292AAC4EED21D1669C7BF24448A28405A6D958F702620DF8DEDCD899B7D88D9E8FA886E3
-87E91ED91318B7C0FB7353FBA22DB282D8AE1EDE64EFE64DD31D2CEC0712454C66502976
-2944EEDCB22AE9D3ADA5D9AA6D49004F5FB72CD0C6594D7D51F56FD7DD5FEF94B0CF6CBA
-C823B03E69EB1F5A067C384EEE3021A4EC292CE7A87CE3A068B51DA6C9BC7A5293553DF3
-21226509A3F95ABC67B047D344BA7595A2D6210E748968EAB2999E24CC2041D1FEB1B7D7
-CCDB4FD8E57E1DB84C47F072CF15CB9425FEB8CEBA0C6A7B807CCD6A640C2DA23990BACF
-69E414FDE169EE9DCF25B85463CFB6B1212A980DF38301DD90961CA8B53AC3E6EE9FF9E1
-54A3DCA66C6644F75164B3DEF201C66BE4D54F108A27689C79B0384070151567A306DC4F
-61E6A5400E74429CA8F6CD35DE63EE5D81D30EB252BC34D99255BBDD7333A73531B4176F
-104318299AE0FC04EE26B4B3B70C39AE5D96A968229113A6C9605483A55AAE4E1B4FE4ED
-C3E61E7E416F905BFC6E7B8B982919BDE420725B76E9F3D2C993DF2A9A71B62202595AB0
-A15C1DFE629AECF2BB6362843CC82646B95C88BB074CBD23361008B6A575B19E27A49D26
-CEF1C27B1DC89A9CFA5725E8C886D376166E813DFEC08ADEE5A31660B1882C4115D12B40
-2D62CB4CB1C938D07FCF89E61B352551AC0B0E37837EAF6AC464C58A79068B2C7FD4FC89
-D471C914D867EE903B948B64B0AB8E3F80CB1A70260E84418014FFDC90F20B07E7DF7751
-17432E151473F92B8D7FC93827D2A1F1A204EAB90CC4E493F962FEBD84B816359F4088D6
-3B9B33B4A2CCFCA49AE19EAD91C9A6D3079C1E0A167C874C16741F3A0243A88E45D1F144
-32B31A286B1112DDAB9E816DF3BBFAA348C75305099E610EB9CAEEE570506483383F3681
-C287B3ECC3CB25835A3594604EDC661BEB1E4EFCEDAD9E4B6B09587C4C2810550FA9CB99
-CF035064646F9DFECF48B98DB27A51B26EDBF083A7EA8BC696DE161CC10301FCEAB82E94
-FA5FB6707DA84B83D8007435F44B216B36EF71DA5E490ADE62D61DB7802070FEBEE23F42
-4BBF0521F693EA29A40ABE744C030FB428C52A4CABD3D5E43283958CF3924290884E1198
-E50DEA4BDA72BB3CF95A1FFC8508139A48AECE8FED2704BB2EB8851E3A7132DCD145203C
-CA826F0453C71FC2581AAB287947A14425D928D75307080488E1A30224D933A090857214
-029F05EAC8F5724F146A5E5E6392DA33465082CF2FA942F83BDC6A6870C0585B1339679C
-8619069983A6FD382142C46F2D63E4B129A62216936FFDCEB97A1C5A9575CCA5A1C421C7
-600AF4CF4640A41F6584D73B5B3AE1A8D98DCBB4F3AF7D2E7316588C1B3BD6FB3E1FA8CC
-EC6C8A857374D1383B0C9D1D314A10EDECF095E3A4069E79A94DD59FE72639FB02413D68
-4FEB3ED14BA97F733516C88771DEC6C4F7AAC18160D7F1C85916ED3F69CC6181574D0C2F
-AF7D3E1EFA05EB5084F4F9BF4DFC6A4DA0985918622D90860C8838C5B8EE35B059733381
-EA94BF0FFCEA70FC4EF0AF2BB2B5FC4BAEF9D0CEA3E8516323451D868F723D01E0B78749
-4A69738FB836BFEE328A0A4541A03012D44B4830F174B7E35B0A25086DF34532C428E41C
-83F0814F0F0D52021F42037B4DF2A6759DAD05A346E019A0633745439D835620555BBA5E
-136A950B9BB234C1B3450E58CACDD658FFFD69B8E87D4EAE015F5427452AE657736DE2E0
-D66DFF9E03E20E37B377AE912B90DF242285B89610A55386CB1BFD83652E6BA1DCA7D1AC
-A79748D0C07475ACFC652460785F6D82D1EB593DCBCFF0157856D5799635FA3E129FC93C
-71A23376E61DDE5014964C4554743312A14FBF83FE99739D6C9C45EA465A4B55EFE80045
-D1021AFDDA6E5E13925F3F69A19741615D56991688E0A794DB1534BB43F010A76D4E29C4
-ECD9A16A90A7588DA1C31500FD55E32B2ABA623524B1E4BD40259F5C746EA160C13416E9
-167D2A5507D8D484427C0C5153E0865241A7BE0C298ACB22E5A2BB24AC7F78DB58415206
-F1C435587D4ED941AB7335D0CFA0528409704BC8FDA106CEFD32B77F1D6A02DEE4B05FE7
-3DF87C5D95533B4983A7FD9C3FD2A3C109F9D1719C372B01073C33C5CDA6E20F91EE2F2D
-AC11D4B111E070DD059698CF18553C4A9A8707046A420F9BC6A6C208906987F2F5883E1F
-8EF30E5A9F78BD73AE6C563EB04FD51AC339900528D76C28AE2913FC28C4CF2F585876DA
-472A01FE1934645BA0AEFD5102C2F36362DDFF6EE3B4A12B63CA06698F06A0F25487EE6A
-28CEEC421948B856D0CD999682277ACB8EB94DD7D88F18FED1725C3F0A9545795ACA2B6E
-9C44687395B6EF3B76806A500019CB2A70C07E571100B7FCF486E0D14340DEF49740B1E9
-65ED400EABD0F69E310CBCAE8714030F5776CFDB057AB354CC2F1053F84EB8008F455DC3
-9870CEB793F611999E33B32E64572D46CEB3E64E0881CA70C576E2FC07AC9349EBF26BC5
-6D4E84EA3C835070D0C52A41DF388C8FFC979174084133CCD6639B616A4A20DB37F2A437
-0EF7E9F11A14D28B18076E8321FA194D9070D1D8226B2911595E3567C156BB1624F63635
-24D1F3634A08E48178D1486C48243DF9156D63B32901417626676305F6ECF88998B46F1B
-50AF077104C052E9A20EAE6924DE1DDBDC99FE3305F4BF802ACD8DEBAAF15A3F8879553C
-B1F4B3D7839D6989775507FAC15DF1B0DC95F554B16E0DF685CBDBB41E4A852CF7DC8A96
-8DA449DD5966EED3F7802A7B12A95CEC94DAF052CADC2CA2D84D7A8FD9BD74F90F47991C
-4FB5C5D9342C445E963AF1CAF3E5DF7AA4D483C9F8EF73CFE48C6A25889E3B5B71CA4E4B
-0FF97995BC83939E986AD7F6B379CAD7FD04C46234D8F85A234A878939110DEBDEAE85DC
-636BE2A646F64D9661844FFEF6D22FB15F5B38C129DDF372C3198992CB6C378E8C306739
-012DD4B486CC3148BA4498EA8C0149E59D4AF1E7A0C00E0F94D58CA91C0C4261F459A4B4
-2F8791E72A634D734A3F5DF66AF91FA8ECD4671C67ADDFFD2E2FD30FCC3EFBF0AEBCE786
-DC44B9316B000A73773D1C354964AA129D82722BE5C666D5DAAC7A087F1BDDEBE3FB9AA4
-CA53FB8684F87577A264E607053D5E321108EE9B8CE78600F1986C9F2510C8AE368BF871
-8C8AD6E2864E257E40602D3107ADF63FD9DA46BCDBDB77B5164C43C9F1D0A1E2A50C7C0F
-7BC6B45BEC60EAF2FC74022B8F0463F39CBCCF2B38318C6EB370B7CC45AFB3C1350F2A4B
-48629916CFF777829AE2904FA90C19C748BFC921ED3985BB03DFEC5E9E250321B75723CD
-1AAFE40242C54B182846A979E80024A9E72029A7205F13157E57C5F40951623EF59EE581
-20E1C1F1EC93870BCDF45A74A731DC31CB5EE13F8C568E4C80C7D9ECE815610F215AE88F
-7157CBCE990172AE920EBED45161194EF998C933252599CA45540855A0E4FEA0866C2D41
-8DA00464051D7C0E2E5932D7D80921BD7F6997C9FC550BDD83433D959768C0E35E8750BA
-0AD159CC296B98CA650724BF9693E410AB6106B9D423AA2EE6A47DD102EAC9B74D66858E
-FFA99A6422C9B5B2D466E817E8ABCD4E953A9DF9CBBFFE5748E6F47DCC8831566DCA5EB7
-26B68A5C1C575340F5D034E15209E7A6C5A3284F3720A5C197111539E4D3F4B3392D8F4F
-C400E3CC89544B440BFB258003A6B7EBE045D625BB3166DF4869F2D8CF74EB7303F0AC40
-93C24843BBFCD9A617E2C7BD53572F0B61DF1BCF677B5439B97483C973AE56D0E206FAFC
-1082F9B2D0D5F900F6575BD6E11FD0863577F4CB1277C1D156711DFFA1012EF22725D52D
-0136939EF40B0F661853385E154C8660C3C472618E7115D705CD837DFB7C0EC85F8B0A59
-DD1564378A8CF2B03768B9CC5AD7ECA0DDDD4D405B0DACD6D13468C833DE9DC82271BC80
-E4A6357569407FB09C289458B2ED792D01A9BBC25ECADAA8F2955811145BD3D681834C23
-28C5E3760EA15AA03D3E0C4E67191EFA44E4A4928089E1224BFB0E79B5BA440E036007D5
-32CB8560DD157D60A5A690894208C9FCA54F32FBBF9C9BCB8A3A9ADCFCF2BCA1564290E9
-832C9E79304A223F60B7B58245E65D598EFC1FA06847E1AAAEC8BB3ACB454AB5EEB9265B
-04589BB8FCB5F87576703AA3594B688F5001053D34F17FAE60486EA07E6CBAE2C6358DA6
-AA1E68A556A1E2B1B2DAEC2302FE04241CA53BAB74E4EF219ABB868FD624B519C70EAB34
-B5A953F17AEB07E867B4317B48B2DAC162B6A9EBFFF4910FFD8A96BDF6E501030928E380
-A6277590835C01A704FAF9C32907990804D0A1F70529C09742422B48586C8762D5E8871A
-F91527187537526FA52601116969BCF7C4FF8A22446A184E9CAC17AF709489FA39D372A6
-6C3D580B183D1AFBD6A21736DE9A09F2968AE69FB587F4FBF7BF281DA926F6F55DB0430B
-B45CFEBC493195A1B98F68A514C64483E30F22A7DAD69FA38ABC4B51110560DF23517214
-081F999A3F1D415D8993C940BC40C481F77402B51E7573801DBE672A8739BE239923B996
-23B97992EE35B62734095822B8331F69EEF8BD26FE6A6FCC0F6524CE9BEEFBF40D70DCAC
-49BCA97837DD526C105AE9624303C120407740601B1808D28F311B42B2EC20E1FDABFF13
-2DC42A1EA01827AC85F44F4E24C9B72BC9EC17361053BFEEA913CA872A24FCAD6415C77E
-59FBC9182B6E931C0580BAFE050432866D75828FBDC44889A794C63F0855E75CB056F36A
-A4F5F72D64E5AC055EAC800972934F2534FBB67469E7E41FB8F5819D03ACCCDEE81EF213
-0E1A4FD88BC7074BFD5D83FEEC51C9D1AFA13EDAC699B3DE2595C88525891F2179D8A0A3
-650CC93EC86F1B79D135BCDF82E797480322E4115A5DF19F16DF7C2557D750347CBFF239
-979DBF0DD515FA7B9A12F57670103E579FE7E7A9E0608CA20D0CB3FD1862E99248035DF7
-008C5972B216D066B473085B42AE54AE3C4651E4961F412E7702535F351F4273A97414A5
-3FF91785AA3A90119E4B93B8BA0375207191A2EAF3600CBD3A2ECE12D8EAF640295AFFD8
-83A7779F6DDF812467E38DB5E6B5F1C1DF8B4A0B95BF02E5C5F896936CB4408BF19CB9F5
-58541953A868C07F1FEA9A3EE0CE28BA312C12336E4B1161A934DB4035DF951B428B0320
-5FCAF9201D34DCBA174888CA3EF9D8E708B7CCE5CC95ABA181B7D251BFD9D6B3D7358EDE
-A8A32B7F85C3F2FAA6D2C8D08751CC807E719311621F76D554B7238E9BBE15F19A7102A3
-0F343CC0110F464BBE35CD3920EC3A3EAE89EEF21717ED7015359D47FD7BFD16CE001058
-0B6DCB1BBAC9FCB2EE435D6AF4284B0CFB140CFC4B7BAD83E8A5EDF7C27C3001225D1030
-0F48379F84B62D77D289B6F2CBAB0CB27B5B9F840EE86072FEE3A858A62753BB5550BE8B
-A63CAA5AB5E3756451A79F6A65D6CAB3DB0FC739345392377CCA2661A58AF73837441681
-567C6E81C0C8944033A4F36D599CA915EFE4D03D95C245298D10FA0A5BC9E9569D84E13E
-9653D44C827182AB29339203E578FB73FD1F1354142BF3D553A6720EA72318EE76E226D2
-AC788224721DD4522A247C18ECE489334991DCAE23D459656224ACD39B04DF5ED6A19375
-DA2C2113CB7B8696EB78522BAA320D94A6C04E9CCE17D07C833B6760173F99151D27C561
-61DFAF6BD81FC42872E3DC8BEF1472CD53E32271A997CEA4A057D8CB8DAE15FA7AB150C0
-D92A1A65CA400C436CA993854B8C18D78F1B593139F5F227ABB34E1590A37886467BB263
-14C735651C3245FBB4F620A013D98499BDCF3BFDD6F1923DD9701F295E50E4C3C74DCE02
-571B4F4CB40C06B325AE0D51CF1D9BA0892ED1DE29419E3B8D6BA907B54A96BB67C1EE59
-31E85906AD2C09A9A964401769446BBE07199EC8EA8E3947B5EC31AC7537F93C9CA4FCAD
-771A110F2D3AC7CB6DBFBBC2855F2F360D8EBB53045AAB46D65D206F03E0F4C453FA6169
-1DD1171543A53B89A2353511525EA85A4A825F3BB6BBD2889CFB8696E89902EB0DDB58A2
-279D214EDD2E20E0DC1F06A02B09AE75B20DCD226D353ED6541007905383551B46C2802F
-EEB4AB6DA75C2ABB220E8168268AA384B3D4F8D9CA591B6BADBC27E4CED9B4324B2C4C19
-80ED6D6F7792FFEA1BF7D9F4D5CF6E52120BBAD41C87C749C042EE247978B45A1B30DA2B
-C2785D51B7E02482A095B8D8A3D2132F9C80ABA4508931AF7A99A07C0286144C4F666802
-A68D63210AD70C872F74D40F72547ABA3F4779DB29A4C86633E273B3DE4B5F52759E171F
-C67D16C74D105780E2B85DAA2D13807660CAB1830AEB605CA7577743D01AB9D001A65C75
-95F576940C1D3E48C8F5FF569E6B17954E98284DAA7C062347F0C043D9B71AE0FE0554F1
-D2C8DDA86EE58CDB0D63C974812D902CA525FA81B3332E4A87A5261D6B3FF4FE11F44A1D
-73804F9DEF69D93F195C05C8C16781252FB8DDE0C59687454BA4D7A3CF762DB5AD308A64
-6978CB14A6A8DC6570806D7016E3B7FC0FF01ADC1D983B8A720AA7882DC49442A7D94A6E
-8F01E5DC1201D9D0747A7DE1500D7BAD256BB6992F5B5E1BEC1D88BA81C11F80F994653B
-36586D1EA5B5F805B16438070875630DB4B42B0CD171B152FB6BA57E9A755F80F91AF208
-2832357ED13E723AEC166195D6D88DDDE42571059A5B8667D28F3CEEBF24002360F226B2
-9C6103C47D98A6A330FDB99A0326B702EEC1D3B8A118F98DDD07ADAF1B24470C8C465217
-172119E78D37FA0E679D3F4EB4BD103D821FD839127AF7A26042853B99C89049A7268D82
-DF8079A1D47144010BC562504310AEA3E2FE85D91CE43275B50FDA31256265A4C318E075
-2C7CC99FA1618BC3979A58399060CBD9C4C8C7D5455A63BBC4963336C5BC72ECB5245CB9
-FEB9D399E925F9C67EC1FFAF1B28A1071A58CAA3AF9ADAD934F4D1459FCCFB856644B2E6
-FA6FFE63D48676EEBFCFDC2CCD9EC64B71A30342D364A165AD365F82C9971C565291E1A4
-FB4A40806D264B5A3EA0EDD1DDD6972D5EE5A27D633D546EBD8D3B184D7740E519857AEA
-F8E2108FA525B504780CA54567B09C188D5D960C2CB3AD7FF016955229DDD88BEAC3BB94
-C955A5A27029E2E76FDFCCFA2538DB7FDF8995A4A785630B22EB30AB37722535C95A432D
-04B82EB054DD30227EEE30D77607A4C2BBFCB2F653CA8895DBEF75AEB36BC7A48DAAF131
-193DC36826ACB8F8F33048F223D6BB88DC9FF78BF729C07E70117D205D39EC03A0C89BDD
-926E7CC6664ED8355F2EC41D9B3CA8B4B58A201BBE9535A5620FB6C100D97161F308B01F
-5E9E22428400DC8F41D6CB367BA6E8CD890D0672E8506B4C6CB352AE06BAA26700E74856
-7FCBE12864C32480CA3A1CED87517146FEC7578E3DC027CF2A59A5A09A3CB76657362158
-5A1BD78D218EAC0B318D8C96F2594734AAFABDBB4C2B6927AD5299698366B1BAF03BCAB1
-E9BC91A11A33A1352BD8F7170AE64A116675C3ABB5840114D8E1208D851BA251C88A7764
-A90E769FA91AB807AC6777F777030BA02DED02C2C391B69282AAC1BD8B99F7F9BC778E98
-B2DAA85A3EF8E9DBDDB7887890B0B2310285DE0EDDB6B4628550AD5C2FCA48FEC21F1BDB
-3C6384784EB6557DF3DBF585103EF3B0276C48154823C79224218011DAF0763BAB3A9CE8
-C412D7676245E96BDD47F2E79E126FFD8AD75139B3B37FB13DDEE30FFAE28F7327B859F3
-14E4514546B87FA7FD4FD545872FB0AE4F8AEAC3B882A23DAE3D98098BA60847B013CAC5
-6577FFE3D8A1FAE941DEDCCDC7101E7DFB0B17F0E11100A2947B73FD8A22341639966D6F
-DAEFF59CF0508E01920C167369109507A6E7ECD9CCFC30F7AA87BA0C1C82BD959FF8C43F
-234EC01C7E2B3AAF12F543FCF5C2A2077DF5E0E9E3A976F107BC8E8856427511FD5EA85A
-BE944C72CBBB3DBF4C9870F2EF2FB3398449AED9E345A43E8A6B0A99EDAF4118C89A3612
-CA99B59D4BBF25800E147BCC6CC51D1B3239DBC3A15CE68ECE1F2CDD6D8732238A922C04
-AB8859F9255477B00DB497320B8017AC48BE9C10D2452A82BDCE5C37953D644D50761302
-FD40AF015C8FF79C82015EBD62EDEAF0C0AC637F54F436ACD2D0876390EF02E29A4E3B3F
-59C7B3E1EDB64B75F0DAF5B401015114F226BC68E31187214A69EAE0261DD7DD59B033D9
-311A2F01E44FC47F13927C1C9921A5881F2172CAAC71B0FE038C1B6CE87B04EFA42DD4D3
-65F6249C359F8071BADA34F2BD0A2A2C7B6B8AFA6A1F765AF2A9E77942190D1929EFC2E5
-509B9066CFB90D5D2A4732088CFFCB20A56A3218B020F491688AFC95CF8240EE7B7C38AA
-13CF17FDA80F40DBFD5F92D1185968B43A26D0E38D0C9F91E7226E5BDE34F083FA117E2A
-EF3CA2FE14C63CF404CF833DFBC09E27D96F5A6C16FBDA79DCF00652DC6AB73C4F6548F2
-16C8B245B15D9B5B29746E53FAA0D95E4C0357A3BE36A6CD993AECB9A42828E934A36388
-FB546D8C9D3531EC7B729D44D8AB61975BC7135E5ED59FEE11F12CF5C9C59160DE698385
-778A751CC279F807DD68BD5CF994340A16FF47147F029468C24E6E7AB08C2C69E9A5C5B9
-8C62FF6197C8455BBDB7BE9D069BADCCBE86FEB495B52BF65CF17C4B1157210C98948036
-55444C22444519D8A72A2899C20138698BD646E94748B62C3CCEB35C56837BEF1BDE5B39
-AF2E40A4D73DD747F1429CB4A953F949B97D56DE8601E7F299C218FA0D367559A750802F
-64DA3BC53F83A733B1379AA57CDB1D657C2EE623A9696CFB580CB63902F87B4786A55EA6
-2BDA6CF94FA9CA44F388138020463F5BEEA1E273BD5BED2E9B08B60558D6A2901929C23D
-2E6A61351A5CFA65DF52819D002CF21CE650520436C9681C60D81582D5568A6A0536E236
-26A13B4CD55903D130BFD7EFF26E806768C8EEA16359FD842898B8DC539E3170D4FCF3B8
-72621BD4C65DFD9F7EDDC0B17BB478990673970D4D4A07C7170698D784360F7A6A53768E
-D9B41AB73360FE08C21855615214C91BAEF2F6A5AB71CA45E4B52326EBFB99A0CD401A7E
-2944424878194E14C2BF7D183EA1B4C0BF9A3B2157EDD6143E9E9B30891F1185C3E2942B
-EC87C1EDE03B77FE7CE0D145C0D918D13EB28EE264DC78409D7FADFB03718C6DF7D50A71
-EB216B5735A990274C349119C8739E5505F23C7025A79F4A22FFCC532981D27A70B94A48
-CDEEDE1590A2A0FBE661ED24CEEEC4DFFADA11F6514A8D7C026D2D685B07F9DFAD07147F
-C7EBD82D9A52AAB50D1B52945ADD441A5F3A6C809127457895402C1AA796582950808F4A
-21BE6BD2FE25CB9576AE1640ECDE763FFCFFFDD8096C9AD89B8B2390A2275F224F2FFFEF
-148E4E1F29DB6BEAE998065B0306535D588F901C3904FF47D1428DDF213BB0D9D558006B
-B5F032CEC1BDF4F8997B304CE400EDB24EE46C97DA278E03B768C2A23C88878B9A79DA41
-68175815CD1336A71D57C6E07CC7B8596425C9F8214F0BC2D99400B9FD644C1F8CF0AD3B
-795B074D9D9CF25C18D3847873744228A6AB058D5D213587F16740AB978CE10EC3274FB3
-DD411E0392432D67C9945091AA3D90F95C3AF2B808FFA37B6C6359EA023D1ACB7A007F4D
-5AAD3D9EE2467F5FD642FF3AAB11451EDE32138525FD48DAC480E29A16561A7FAF95759D
-F83FC7504396991BA3CE2072851D7B962FA387A40F62DA05B81B39CFA6123F5B2CF261B4
-C7A84DAF87238729FF71D6F3DCED7CC97CB9C373D6B150C035853167C49368F16E447A18
-0F7F9D4CC3978E3E6B5F3B4CC7FA3078883D4C8BAC0A94E9B69B7CCB94E6D5898EC61A06
-E5A960058E6A1696C0BE287F24869414CA8D16E761C120FF5116A19EBD39109B0E251664
-DB0A5722B4366151759BDBA4A74204893F585A940EB1BCC870873F6F4E08BC88A239F23F
-FC51016CF6F8CA8830346363BBA0E1FF376EB66174CF31ED9AE04219301EBF61A1BB5E55
-A89EEC27A12666287AE6AEA4D45A3706FDED0A70326CB050B6D25FC56216F932C1294E54
-88E3C331627D85B34875E7B51E4E7AF724CDBABB1F14EB6F23088595F2BF26D88C04D4F2
-4B94D94DD47761AA0A9BF649B06F7A2D56D30FC432FB49B570A53280A341BAB378037DEF
-7FDC3B284C83F7CEE6800CBA2E20844A4DF8F2F5400167D136F810A7A739195896E470F9
-5875E669A770691C885365FBBAD1BD8461B005DBDD60891F12D8D4C8D51C8605B3CFED8C
-EFF997868478A6A9D642789127727FA231B4BADFF182AB67B8D19402633BCD4913957BE8
-8F95E11EFB60934E8F26BD79622385F5D1CC5F7F492BD69C8C4BE47D76EE6466880A1885
-F63C3F4C893032D90FA8CCAEF615340A8424B4B1752C9009DD1EE6E0A10A0BE83DCF2CF1
-E746AC5A62FB5809310D5F64A267028A7EF02493B6DF22012D036A19B4AE3A9ED9A5F9C1
-6EA82AFC6DF1DDD7E243B4464FDC28B63DF4CAB59A58949558B1C1B4DD96800A69D14E7F
-9DA1E1FB6DDEF437C2D31493631E79A41AEF27721579C7B40AC30421726959CA6CFC3F65
-5B309D67F0D50DBD33DE84CCB5EEFDC4923A4200341A8B5F9541428A9B6B94CB973BE6A2
-F39DF0CC141B9CAC1D0F25FD087A176D68BF69C6D2BA5084B586B289B00346DADBB42774
-251ABF854004F12EE97092CBEC6BECA5B74F21DB1BB72C9BBD9C0E11CDB4F64F347FCBEE
-AE58924610D8A5ECC6EEACAAD54B36117A2EA580B9D6FB9635EF4ECC1649D1AC8634CD74
-0D01BA7F6F2379AB2BE4425C02198E8E75FB46CC405F706C2E2CEE54582CC08A239A6DF9
-BBD208AD5AB256C5CA2230DDBBAB210FABE5D4582B22F0E66ADF21F4F755D8E16EB071A1
-3EB431CB00EBA9EE617E43AC2E0DF733151A82D3000DE349C9B9E44227CF001D50E6C62D
-A792040A868EB92A635208145CF8C25F51B698BC3460273AE679D251A43D5D1ED8D5D759
-6743700F9B67ADF9E103EE9C2D1727808433DA9D16ABDAE228FB35FADED5D54816E066A1
-8EC29EF2242125D1687D60655B3EBBD8E6227D0CAEC0E0BDB7845914D063890125E568E3
-8B14160794781E8EB631115576CF5A7E9639B02A28CF363720067EB527988EA1D2DDA4DB
-CD35790CD4F91A253D0A9814143492857A320088FB02B28ADE5CCB4BD7878682E2895B07
-7029BEA07B654A13EAC49FC3E9BE70BFEB73418204F9164A26E47632CB0FB20C643A3245
-4777AE40288C6942D4C0C88FAB77120BC73DEA4EF0AC703DFBBE9FE79796671938382F22
-8A9C5B45C48FA131C17BE362EBDEE57378738DBC29297A9B69A7854A6D702524A76573BF
-F76434BE57EA370D43CCED36DD0223939D362102547E2B7896BEADA8F0B3243979B3B4B3
-4F43500473F7C712B5E3B25BBBCEDDD40797649305E5E7AF2B767CB21C93195FA3B2BFC1
-A5891A91CA879BDD643A4A3B384C7A55718BD872E01674336419D2B1EFCBD888FE8FE9EA
-3F07C87A87BEF21E66F8B26D25841401C499B31DF68FF0491E660E40C79E5EC2312BBF1E
-364F6177BDA9DA10DCB347E40C8F423B12700C4C47DA4B09A27CB14310C7EE8DBFA567DB
-0BA6DF2499B5ECE65519504C42B6813E0B906ED94861EFEBD5281DC0531513893F7EBF2B
-9F43022A81ACE291CA736570C6E099A8CCB59D8E7568AA5D18FBBA8986905D35E9B52D59
-1E36EC95612B25F371F2743890AA44974F54814A4BDCC23F5DC100B5584B09A746938953
-B5D519A50D3F1FCE6040918E3CA5E3DDCF5506055FF493A8AD4F8A081BC3524D88336AF1
-80888D96699045EE95F984547B4D9844C9B596CDFBAC8ADB0194B7141DAA0385470F2AD9
-F542FD1369E418C5B380CE40E2461D3B68E091021E21DDC50D96C5578D73B9E84227EA05
-8231936F4264834C133C58D71D347100684A1F3F5A5B461D669B92BD7A00745C98906EB3
-15ACF12D2E94B597940D85CA5B69506661133A6B11BC940ADB550FD9B3FC14499677212F
-B6166E695839DCEA3F1442E2C9E32E28EFAD1678796946725A1C0C62A1EC5972933A8FA0
-D37AD1D8EFDCA892F53962F57906EDF22B55AAAA17562F2F876C0B5C85197FCD583E2A87
-6C28672FB7ACCB063154A1FFC37A33B104AA37C7417F46EE3D4B59BB4E4DDD58A2EFD829
-71275C35081723630CA67016C8BEB30A7441E0BC9A4973888F0A377D7A3ADDE25981BBB8
-036AA2D9B15B71D54A7BC6C8DF79E7D2D50E97F1DB6E796655F47B5E988653996F1D3885
-60BB63A3C364B5AD590A5DB33524282B3C6A7C228EFBFC222FA475FFF99E83EECDCC09C5
-406985D9B3C00199EE2A620A7F820D1DC40353E0A76B46DA672AE1CFE632FA3523C8B32E
-2C0D7344DE9DEB24C7E311E981B216361C401B2C7E135028BA08D3B91D39099DEB9DBB2A
-4050AD37B9B823815BC6AA107A3C7B935BF259D9FECE88232061E4796B425B5BAF4C5E8C
-4E9190E159743D7F3E4AB2191B8EE8877D8936E5D324FB57E6936F8267C015CE6D04291B
-200E1C964660503C96C4A4B782D09F4D3BA952B7EC7AD5B568D27E3A07B26486BC45F394
-128A011F68B0434829C59772C66A001A50FE3C5F2C4683BD81AD8C4B7F7A25127CDE5E2D
-EC216243C2398A1551F8C1E37939FF94CEC8A9C1CBAC52BF6371DE25BE148EB39FCD9552
-3065F034E4F96B1C5D61120DC87D04E7DED973471C0A3FA1E1E6BE6E2F01DC0199399B87
-5EB88A3E4AA85EFC9D9F28B3DC52319D374AA64118E1383A8A577538C29859090DB65026
-4A866725524BEB3FBBBEF6AB74FE8F786D1FA8AD94BE90794AC7E72DB71DF74F577F169D
-F3B310C2D69D729A2DD755AECBC0E463716BA5DCD4680D4D4F4164420F2B46DBCC60BE6D
-A68DA2B2AF32608266241BDA6CF36E132D83D16092DFF4D138BED509909E250DFD9FAE30
-53BE12A825D3A91E404449013E219BC67A2B18E40D497125A2F39BD16824CA7D2A2E5173
-89D69D5D838BA27ABDA5012B426E58456B2399ECB1B4009CFDD6307F6D104647AAD6D083
-A562E7282007B3B2A0B6FB23F2EEBD0E7F643A9BC7075D893335DB246CCBD8A37DC6F1B9
-649AF15271717A769484B5531A1A7D99A43E90490F86C170193442D01EBF02842D349B7A
-580D601534F1EA401D27D98455EC4A5800F4BF5893EE080441F6CD28226E4F6AEDDDB7EE
-7CE77F2BB54FF006967504CCF02F4875EBA2448C00FF58DA77B50A4F4A007663B5B64B18
-702C96AA0E6F85410580F931BBF249E91AF47477EA284CD42572FEA81C462D7E0CB5F81D
-EBB94225776D69B02F04D76B51BAF103B265139F85EBA00F47BACB0A1FAB9D39B648B5CF
-06E58CF1CC43A431315953006CED0FF5701401B01CE4F335015EB6E41DE8D14F1B5C5757
-1371E7875B17C44B374184836C07D47F4FA44F8E49959BA63A4647F757B3837BD334D2A0
-423E620AC5E1C5B18C3A400A8CCB7119C3331812AD8863FC3A97B470293F83CFC37E8BDD
-D2EEE4C5F88423740C93563603FCEC652CD447869112070497A5141CD7DC66F62EB445F2
-DAFE1378B286E730801959EC5FCED464E1BDB06D725970C08CA0ABB730C12C720E219519
-FEF20F96A1B0FA671565B45FCF41A40D5AFBAA092A09F72ED35FE94A98DCF5649F6AA3EB
-FEE7ADE1E19B4429C4E1E76880C398246201CB067D8A734B23BD3118A8F5F7516E5B1452
-72CB0AD9F41ECD8FA61ED0CA87385B2B45B1BBA6CDBD7B9C9890F727BBAF5EA03273E387
-FBFE8D0143D1B215003C9EECFFC9970AD21B0A7E90F56E53B3409E102F89D95B3EC58DF1
-B1C8D48CCF22BEE22EDEDF25CA18A0461D2C582220ED664F198B93B388FD8CA9CAA6D8AC
-95F10E458BE5480C767D6606675208E4C823FAD4A3B8E77915BD881C345B0A8C34F01B75
-2566AE58CF3BC97B215EAAA7189AD6BCE0A524C0998235A61713C538CBE9769E2350F670
-4BA790CF77CE5BABE376D5C2B2F9EB8D90B762BC59D9DEA5234ED14A949B002258212E36
-D5A22B4D847EA8C4171D74B78A5E225E3D956FE7F8B95FA133C50F864725C1B8F11C2D1B
-3AA7D08C0745209E00B98BBE59E463D60C79122469F9ABB8A7CF777BD90999206C83F8CE
-8C95C79993C20CA63CF556C821C8DD3D5124D2F293E5506D9CA515E026223D115DB59D8C
-883FD825FA3EBB449524F1BE7811BE76856A063BAF9C09A3930417DB889B4DFC1563F688
-02F4AE1BA0EFE463FE884CFAFC0FECD0F4396B006B9230D9D3BBE6757318184EE7EB6FE7
-00E148C53CF3FB7DC90811F6D5CC8F9FFF975EC7DDA685B76D05C0320E7C3AB3479D00FA
-927FB3E9E4363115D05E3D62AC3FD06310DFC6117117AD8BCF44233B05901E32D8A1BE67
-CA059C513BA968CA1EFE077CF8D651540EABC16EA1F61AB1D7F74F41EA52E1BAA0A19576
-5547168636187DE931C6F97C624391A212859C3A95F42DC367AACF13BBDD503FC1350FC2
-FC6259B290A18447FBF37284CE1F00DD81929B13F366C0C4FE86E834DFC7FBF5B4DE4D5A
-33D014E3229A7957A112519134F0794825317A8D56EBA39ED15725CD940D974912D4A79D
-C499D3B2DFD7FD67DC7E79F70A04D5AAF40FFA6A568AA4FE042FC2AE31E83F60671CAF60
-B8425E4F3959FADE3947B2DD3438C7B08D71A036B2ED959168D507274BC4C04BC9A9448C
-0385531153595DF90BCCA1EDD889B3C9F3CE3FE63FC858AE51CACCA7160C3296038EDA20
-38625CE0DD5C236F6F18B3B41FB6D5953F18D5FD4F700A95B08BB10431090C652BFAD23B
-D4A9211D0CF59E5C2D0AAC5708386D14F02858C820A191239D08E6121A77A83FE89BF056
-C42A6A56B55EA35DAD6696F64F3B702C21F4D97D87CB80ADF688E6F1094B00714820BA53
-65CD655C9DD5BC030FB2029972D15CA71610085A1A7CA47E290D5554413EB88B70D94881
-1BA89738DBC0C16EB47A3CB6190E191E67004BFBAB73A067501BD283CA816CAB52515721
-4CF005497DC884ED61CD5F5235EDFC207A0E8BE0696E7F93BC267C1CBD85BF4BFBDB755D
-BEB88A7D4B978AC52B7D1AB8D828448F848EB6D2F839AE9F4BBF34E1BD5DE77FA93F23A9
-D111529C49A295893296D10F51BCF03327CF774BB1AC501BD8BCA58F3E82BEF79C39F434
-845435E9DADBEFA2AD5D79D8B0ADED3DAC9C1AD9E6A24B206C9DBBECD552B2E6DF97F864
-C8925A37EEF8718CD4D277949D389959D852977FCF96E2C46477CA973846DD65AF478490
-028CEF70A4290B22C4DD7514F1DB34820656EAABD1FCDB7A9BEE0C18E577D9F27CC50777
-D55B4EEA53E8F681F76D4791300A06C380E57B35FA48314BE3C4A70D1B73E743A2B264F7
-3E3C73CB25FD2D33D74064BA8803858C8353C1036E09EE4489433C92F43ACAE005051DF4
-A89628CD3B3EB9A569AE2DC5EB290715FB1028B2E32BA7BC4C48AF1FAFD94412BC7A036D
-A31924EE68FEB3ED8DB8340154D5757AB86B7D5D37464D58A22B54E37FA9891FE1A54C01
-D7FA05BCED8CA937BBE67979068B177A777B2B315E6B1F77AB6930DE1372A95A0A1A01FE
-C9405011F1F3AA2252EBA22A54C779661AFFD26FDFB10044D8B68277234762FA2ADF8EB6
-B53B75E663976FFBF7D43502184FA7CF047A8CDC2CF0220E542ED63EE9588C41E35496AC
-39715683CED932BDAC827F5CCB9BE1D3BDDEE2D2C900AB23E2B54766DA16CC227E58E53F
-788F5A8880B5FE8A7355DC73B6B26BF783F02E2CCD5F96794DCECAA0E7A603CAF330FF6B
-D8D56153CB4272AACA3DCAA5932B7F754D23BE23B2282F6C2C59B2C1EE4410F342160BCA
-093ED020E4EDD16C7E6E03FBDB06D510E6680A471E3B4E2C4319FC138B92A8EE4058A0D1
-8D7FCC51D9F16E9B74EC75CB482903BFD27C4A17654A6AD85D608558C6A717D47005A8DF
-B52C28282EEF5B9F7DB1086D19021269438BA974CB8C34A8B85C5542519424FDA394E116
-61636091F18BA443113DB75E9FE5C5B8971E8749D15FAB20B90C10D3682102CCC30CFC3B
-67DC2D519C96B9F607B6BAA01FBD8B78236BDCD6EC3536D15BB3A069272C646403BC64F6
-FD55E28988D01DBEEC75547D4D4A975761E5BDBD5E3D7601065C4F9657D3E492DB6A3558
-037943383B261335F01494978F46999DCD5584F7B5DEA427D20F20E29B1D80AEF1E279AB
-F27AB8410172E203B3945F98FF87A2FEE2B89293BE2F5DBD88A200130143D79A5F8943A3
-D0895650BD6CC2FC5D5675B30B12B4E095F2475F7D8788EC9AA952FFC8DACB281EAEF931
-34A6F83920FF8E7C58441BE339ACCBBCD4C9BA4C8EB9A5F6A45614F991D9EB0A76B2C869
-944CBE0D6C0CA4C8BAD0B897328A4D354C60A31AD9EBC0F97835BF4CB7976BDB95152A1E
-919144C60E884BC6E6857496C77C3C7AD9F52C53A9051238011D41F14687E5B3F666CCE4
-86D16F3CDFB9AEDE1CCB3452A68F5FD75FB96600750457E3C3FA6579BF938439AFC75386
-D1C0A1FE73AD6968DE195544F85CFC697793F1F66DE6CBD8137A918B2C24A99724C978F7
-46BF6AECA401F5D298CD1081970FA904F2E2CBB2D749526C2E14A43970B2B2CD28EE9178
-A58F60F7BE3F87967B4C1BEA2ED73DF6692862CE919E3B406480A69CAB794692D0FD1C6A
-65FB1065BCB5AB47306164C0241A6177D8AD8E629C77F84A1AB5CA62B493C5C016AEA0C1
-E45AE05B54646CA6E134B776D09A11FE04953679CFF2777B01370F482CA655CBA8D1F91E
-07D0106FE37E83267B5432ABB51D56C88EDC58A11D8D90FB5E82BC023C4521A6649B9388
-5BA6C0D139C3BDB8B0325CBC27AC4E8F673E53D84476E1632DD4A09E94D375B65B0FA682
-18609F5996F543A985FB6CA55D302D63F86F234F94C9A5A15B0333F722702682424DA956
-1E6614FFBF8A9293F5750E06BDBB05D3BF6F56865577FCC010643699D0AAD5633BE88939
-AE6324C36A7A5FD5F148162952C357C4FA5E8DCBAEEDD28D71A809ADFD563AB3C4CB790D
-8FC41B81784B3E9C672A2F6A2230E90882EA374A579ED2BF72795E84B089635FC4F2B48C
-D51C418BF26AA4939CFF22A0B37182836E70AC08C971EDFB46A31BA11480BB855D53A01F
-5A0688B2CDB04B9C2CF22A63ABCDC965993AEE1DBE2BE79DA4D1BB595E24E87267FF1648
-D7F8E531B275C5499FD4202A948E2DD9FBC7CEF688566DBC53B886A2F9843F94CDECFC63
-78E6937D4CB278E11EE9E2957D8BA31145058010C98A752CF568AAD0FF5C4C67988868ED
-19762F2F54D6D58A3747A6C5A052543ADAF50DE5AEC5DBFE6A2F78F08A50E5F65C328290
-B383524AD0A1A477A9815C8378DDC0CD7E8CDAF6F097E5DD40900B0DD7A7354A37B9D90E
-7C4FFEBFD1DBFBE33B5EBCA7607243A53EA746FFB8CA2D88E73D2696281CB210E6D5A0D8
-46F669F24E3448DAF1DE413B6248564E718D903654ACEBCE09A7CA994306D924535F5792
-21C39D8E386B1573B9B7C26256419D8B52F4980018DCC0001DC87F590C378EC0DCBAB4B1
-8F362A7F64BD16DE2E647A4B0573D92F1300D5D8423A1FC658E708457646CA9585071B72
-E66A2D919AE292B460E816FDC8CCAD369EB90FBAF5BAC731FDE38CE2E45B755934264D8E
-4EABBA7D6C0C91B4444BEC23D8FE44230223BD612D845BF57659A9594168655749D147AD
-CD4182BA77EC41BA34595990446E1D093CA7264512C12DB9EDCC3A2E97B478DA4A2E7A81
-3CCE2592BB816CCED1196A40E76E4B0BD2EEEA1EA7BF331D497548FEE91A56C7C057C3CA
-E25412546FAA9C1B8382F5F01004E506A0DF3BE419B38AA7196EFB6C9B469E49DD63572A
-60FC9A5483CFB723FA04BAE4AD526E8C3B14E252750A79C13D07CC1A1A424B33586F7072
-F28D5C61DBE7F0EB9BF47110B4CB018190CF5BD564CE48B9775FEA3DC1FBB03206573E02
-C60969330F0DAC03A4EEF803D7F860C14C50D809EA5D5FB13001048D2CEC6B56C2423CAA
-EA0FBBC4FDF550F0EA3D921F522A65CCB0E1F590106F163DE12D1410F35D72E7C6168D64
-829F8144C5B7CC9F902081954923AD742954477ADFDD4D321A593A41806C002B02D9DE03
-38DE6B6401408FB03D282489D23B6CD09A77EC31A7EBE000D54150B03A8610D0DB8BBF8B
-9C7E94419C0E522521585F2B7C657CABEEEBA79F2C8FE57C86F593F805945E7DA313B826
-2DC421EFEBA8237EFCF9B054D12CBCD0A3BB32C4A5BAC3E8C105C32860E80FD83F095A20
-AA4497CB6F4A879E5F7AD6C2A8272E937A61BB95402F130A37261569D47A88D4ADB80A1B
-1EE5FF03D8890B212E3508C408EF145C570FE2656ECAB9EF52657A04456B580344FD4F87
-2B5D5308DB567B1E957073892D8F83A2C8F93CCFC11D3965EA0B985B5521C997786CE86A
-3D9E0A3407EC73E51BCBE2B53D11DD304F0B7469E34A5F6904F5B3807A62534D742DBD4D
-3EED49B28F68BBAF5DB1E261ABD0C7739CC09A4779D5D2AB15ED9762FC6E72F78B71DFA3
-23C29D48F47E44A38D87168413E3F589B9470C79EF8A4EB6216F1F0F74FE2853E7EFF2EC
-902018A4F6FAF4CFA75B646447DA90B8DD612A65ECD9504C751D331B3762DD369EB0D179
-CBB70EDADDF73E58919C65DE73497A87B4ACF06360FEE10E7593507C6663B0FD0308C95B
-F21B9ADE7966A23FA4CD0648051F2CC20ADC25C8F983EC2DC97E2160BCC62CE3051273F6
-3D65913AFAC94E548B6BE0BECE2B704778A24C4348F128A4EF617A7F43AA327193B5BE44
-C2045CB1840DF5FB6CDCBE455EECA489E22F0FF715F4FD6D14A874031C58A8446730D0AE
-D36887A4B33DC943FB6A9469AA781FB0E994AAE327A86408D63885662065330B6AC00AEA
-FADA28C53CB4255EA1858ECD3869BD7A27EB5C9949530081E5E103DB50CB34534A4C63BB
-78E91AC992D1D58F2D08E7706D25CE375CD041F049F762B4B20FA9052DB766881540D4FF
-1BD7A4FB927F0A3ECD257938BE91A220D9FA4E00201CC64A1E9816E9D71E95931A5D018F
-0AF2877F2737A7749BDF3C90A1694FB81EA9C970629EDEDB5EBF19A60EDA5D7419F3EC1C
-A51FF1544B23800B0DDE96AD4E5E660AB20AA419182AC33ECE2A48675FB2D74770AAFDBD
-6C300C6360B9B5FF14B7022BE140C05133BD0D848A605491C156D08EA88FD0C4D2334200
-B8437E6088DB32493099469000426A3CDCC627757C9DF0BFA4E9E0CD5D0C8F3E921B1E41
-48CB6D876F445CA4CB9FD7E7FFD4032B2A97EFB025B182A88CA72212186417A5C373B5A4
-3357E58EEAB3FD609C5DFDE96D4BA104C74D69AC17E20058D0B4E875A53F547DEACEBE20
-CF74242301FA39FA6FE6B0C22C5FBEF3DAE3B2727949C20CB8A1CA7A70C7A09E0BF76794
-BD67F51F3D3A1C2005E4DAA6CA87768747DB8A7ED1334F03D3C3EEBD796AF804DB774DBB
-403B4B0F6820033CBC99BDDDBCCBBAF0FE7C56959608DA53BF83A56606CD524D3A80D591
-AEEA4658F0E252308551371D192F88F5D8D58D2B898C494FB23463837B8249B5EA5B1DA3
-12A1CCFDF4234C772102A6F0405227A48F6B216BEE7520409C77C77B8F962977F9DEC1FE
-098EBC19A77E3B155DF2514D4E8087E0CE8D53B272735F463871AB02BEA13B9E402C2239
-73D2B968E55031BF9A929B6468599889CFC84ACC422439464277D86FC347D3681EF42838
-08CE24709A9A3ADF4621805A61E3AE1252051A00A8DE2ECE5DB8D6D415F2648E7FDF4219
-4F8A063187F64980D3216EA297178A6F87395F40DDF9DEC4D649D74736AEAFBA82E7D0C9
-05D44A8E2F02D356741C23DC37F482F54CE53DE8800BDDBCD170B8F089339C7CAFF13A4E
-2D4C4EE33BAF718DAF51BDDA347FD8760F3297CC169112DFAFC9871CE42FF8C29D7A2168
-0C6E23A2FD776240694B44696F69D11454646066BD4B6ED7BF4CF3550BF0F32FCD0ED0BC
-CE20286B8CB1645C308B74D0EF5CFF8927E1F2FAB0366BE55CD069AA7676E4592FD42342
-617A186D3C144D173DDF6E01F5E5E5A67A9648144BBD646BD3D76BE1AF70EEFBEF0361A0
-4BEFEB59E94AA5CE2400907C9FADCFC3633ABB62F24B0980093FEB72977CC3E44AEA7007
-B4721D8B35BA81A01C600FDFC070A29337FDD56DCBA7EF9DF7364E0230500F9B8A075625
-7B12FAA98EF15E011D6A6D02C84655D15AE62181FA4D0CE38A6FD6B2DE4F57B0B963095C
-95536BD7A53D0FB7C1167F251A9C43DE263D68FAD27C6C10ADFB6D02BD1339CEE7DD6EC2
-FAA687A55AC07E279CCDD84F46A6DEEBBB380B1DE2897DC279C784A9E352683352B059B6
-15990972B53695F73097EE77081F23E15DA3B489A9B088C2D7C76B89948F31D68C3F3FC5
-0243D545C56B62CFBF55E1102D9C761E8A7B0F9A547F9B0935CD78E32AFCE9A451C2F455
-DF2DF4117955D9C9B30619FD8A9EF23827E70FF05B55511185288C06668B65BF67CD8C77
-CE1363B83499E455CDF30270842A22F23D101F7CE773BD709D2E9172B169E25C2AF2B64F
-93DABC5C18CF61B30DE7ACF3B7D746EC1B725B90B767D24DB244DC37A42861250A52A287
-F2B7062AC268559A2C231F3A93E510527BDBC3DFC742B457D774C6FC8B023C02E783F2CB
-C50C4D37DD81433BAE0A8A9CFA280E7008C47CD75E1A77242B5C1ADCAF70E3C0F870C126
-197091879369A7B31FEB8086E1733E377DF5AD77358D296D3C1CB2EB54B7DB9C8E5AB4E1
-005A775EFA44328FD755D84A064876CAA2E1016DA7DCC961F2101A8FCB699B73A23CB866
-51E728C07CB9EFF654EC83A5DAF21DCF2F777535680C32E4A88AA2D7D65F166B430CFE51
-9F252F51640D7443D75CCD2F5E8494D1210B3F5BEC029002C754BF6B506B5715601F5134
-B6D95060BAC8F6CFA2249FE4B5DA5B098873CCD2C5A6E983F6C62C3C0A9274899858AE7B
-5364B4434187B91EFB705FAB6372E3A003D5361138EA6AC70C048E7E05E2F319AA81DE1A
-8D1836CD2B049800B991CFEADF399960C02EAFA33CA1D987B161234EF3A67DC53B6FE467
-857D5897446EC2D4C5FE183320F28B74EF3900815A540EB68C325F038A564A23AE235D12
-A475030624FBEAB5A8A536D0011C89AD8557AA5307A5DD4E46AD91FA15B8D6A297DE7717
-0BC90F8C526B6B9496F1D4C83491DD2FDE4CCE06420D943C5104B0C56DC184D8293D9305
-9AD7C5F6251F7AE7C19BD13AC98FCCF587FA9A223082B43F04267535CBAF822F0DF7A642
-7370794C4CE3723238828BC3459A01D8B363A6B9342CB523A13CE1139525AF0C372F8AA9
-98A3E2962BF6728F815D33AA537B8E27ED9174ED4422ECA87BD9E0EFA86566C4314BCFCC
-324D5FB4105E9A965CD258FB0A2B970FE0A21F951F3C86EDC5543B067E2CE337CDC04E30
-EE665A3725A4110E845D9025978D445DE6284A55197735A5C018D99CAAFE6597F3D58D37
-68EEAE6F5428AB3B23B5F2F9E8EFF5D6DDF1B4BEDC6D245E63F2E5DC0911E8CA2A9DB100
-CCC4EB9C54BEB0EEBB2E1027BFBD041DD39B27C151EA50EFCDA46F4273F74C85AA88B1A6
-7BA9A98C7C6D7C406D8B3F7892565B8856C77668B86A0BA9BF743C5884FB94CB729403E9
-28EA9C8ADB060911FC0E3DCB9B828FDC489FBC1F15FC2D75807EE98AFF5D841D88303A7E
-4CB6DAEC1872D384214EC0E3039478DF79CBB7C12202F9F56F3206FE61B04AECBE1D7757
-0CB8A43D3E145B0ADA7CE219CBC99952BF54D734673632B68AEE6CDA8BA19BF7937100A5
-FA294B86F7439FB59E367CEED44FEA1F4CC2FBA570AC2C32FA6D9F67474BCA9318A84A31
-107CA7AE187454434340DB2F3A0B2B41E552EE49E828C20266B88BD04DBE61AC6FF59A8A
-D065A704C18C315CE79A72B061A94558964300564DE5B41B0BA3A0493851A355ACB34BCE
-7FA00DCDF05F3BB733C9C79BE3F83D6103171A648F81BB138B4996B606A7A8A997761548
-08F89BCC7C81BB14F916F8AECD873406778E51BB93E56C25DFEC6C3778AAD6B537E6F488
-D29898E17B5D38BE14ED70D79A62B9282DDF229114C0BF9830F2E18A4717C45BF1B29A76
-31B60D13A283C7F92EC4EA3D98D2331270030A14BF9A8E07D87E66BC034F830DEFFBB5D9
-9E95293C70571BBC4B65E1AA13DDC945815FA79746024F5751F8FFE718D97B8AF465BA54
-598EAD21B323C3CE47AF7BCBA58BCCCFFFA0FD2B463C85DE8D02378C86BA7D3F44C54165
-E00E64FDF7228570A6F94C2A1F8CC5D947A470552302D6B3850EF092D6923FFD39E01F7A
-B0ACC7B6467877CC301A03136B93A57AC0949D62D3F3E63DFBAF695767877516DFA1CBAC
-F68BED7E2AC83C1612F234CB12A368CEE9657C6519908C7B046494842013EF81A4986D38
-58EAAC69D84FF32CC5CCAE2E438DE88A426365EEE0FE9745DB5B7D494C3ADEE8C6C31EAC
-CAEEFC174DE952E2D668BD28D621DF9C81BA0355E943BA3ADFF04721B586C659494D5A36
-985AF4AA408939371F448293A0C04CBE72C558E4DE12B36F823445A2267806836D265BC0
-8B279386DF1579512252A9CC6F69D83959FD3F1FC6057DBF5F28C644AD4862ADBF133C2D
-5779D96F1EB234FE09E0FFC62EDE6D295F19F52A9A6124197CC250EBF77DECDD5F8B024A
-D635E941AC0CB5CA59F6278FE2AE87F7A005A5A9FBDE7609B4DB903112DAB7B612969DF3
-F99F3D34D95467DCBA57E6755BC80C4D18EF9F440A2562DDED104A80D075F8D0C308B10C
-E31B777B438DF32A77433152571170DD44AF096981632062E3F525ECB3697F3EDD316E15
-2E502A9B8B351710611DDB75B710D6CA9801ADFB57EEBE007527611D47C181C3BA7BADC3
-1210B9FAEF3608350D905791F025960862B0B06B4BFCCE7FD92EDA6D9B2FE67206ED53AD
-E69BE630442EAB6BD2977E3BBFF487CB15A7127B40BFA161D8BA602AE211C8E3FCE684C0
-3E4B7E8148C2F61DD65E1D07355B37E62A6BFC70656B4C32FCDC5926EFE37AED5253F67F
-DF9A556956D96848B81A6E11D005984DC36E99F1874803398FA37966B1A37B8282BF9093
-65A1B89C1E1CC37B02254B75C75D77A39F9D1DBFE7B79F70AD0DD6038D824A7DB8DBBD79
-B6A5302D5859D5925B79A210210103791C4212F579EE900CB3FAF002DB06E0ED6D5E74CB
-71ED20AD85A257F1244C79A2B6E703DADBFFBFFD414C1EF6C7A7CC4B12F72811C0F0DFEA
-A4DBCF715812A3E827C06AF347EE1D72F9FBE9BE3D061DB13CE123C71C8341C2F56762A4
-FD0C1CCCEF591D01E7608B097621C45DBCFA96348DA2F80839F0EB6026AF7C14E73E8506
-FC9C1F68C88CBEE385FC280F18D7817A8606FF3FDD506FABBCC72662B0DF81EE90727ED5
-90306DFE6119A9CBC84172C3D434DDE35039F91591837F903585245D0131DADCB710309C
-596B7A8CF8839B2C347C2493234386F988A7066BE6B26F9EC504868915D71E1EB5E9AD4C
-F2C5F71E761B50FCEB823CAD364F3E5F3B1D10BA4916D915ED0040A920C9C9ECF344E685
-2B805F4B1FC9062625BA815ABECC0EE80D708D0BD141681233E5A483FB2DE7DF9B13237B
-649715BACEAB3F4BF6C6403F8460D190C77E4DAEF62F437361F6B9DA9B4787A68DEC88D4
-556111ACAB7C7BB5F2F1933291DF83425C10895A2B47330B661DDFA456F130D91EEE2A4E
-F9AE28D45DCB80DB7322DD6D7E394D475AEE95D0DAC575AE569BF9D26CBA1CFEC9DF25CA
-A1A701F60B297064A17CD878E101FD6A6F981905E50CD52A807B466465F0526BD502F249
-B8C4408C130D017E6238B5B5BFBFBA518BBF414E11E2D25926362F4EC5E83E6C26B19C04
-D68C4D6D891B10773EF156166D9CABB85F08A1C130D9D35351CC9E7E739460EAB51F3F8E
-A011A2CB3354F759E9EB297219157F02BED05B78BCD8C73E3881C835A7D986A3877815FA
-5ADB7713819D931FD05C53FC0C584C45763B6725094485EE3C48E246A1E8968C6DA8979A
-2D12CF4A97A8822BA5A066F62333C313694562FBBD8ED26D32E8D09426D0AFE33BFF61CE
-23F03ADFE9FFF17EC5063381102289356B1696475310DB04806487792F7EF42CCDB4B8F9
-9DE168D16AA56321F29B09EAEDAA9727CDE7DBBEB62F33EC6FF1E9A74696A7F4B15A2684
-968D5CF34F65E88601368BEA29104246000EF93B64098CBB9F26DB4EA1791C48E245109D
-23F39C97F87BE05A31B4AEB6B7A8E49A4648F8A6AA3EB1B80E2A0014CC18A59B43441A81
-D78794CC162D367AC2E22C4985C0EC45B9E29F1D00EFCB898807DF65A3373208127922EE
-E16DB24D335DA01050CED1BE9470624CCBBD978063F6C538F90CED1FF48A83E404FE5DD9
-2DC2DEDB2324409E78583E5C7874A9661480386FDC2FD62329D5BB33AE4B5ADE5FCB9BCD
-B016857AE69032C019ACC0D16E07C92B252C2AD5E2AB2BC9A1BC074EB697D7842AC5F61F
-6832A8942C6BB35E3802123DDF726304D74F10FE22E386C2AEEE158BEC56DBDD264A2321
-1A3D0B53183DB2F74A306D00758DF51ECAE68DD8944FAC719EF56190017CE10DA46066D8
-AA27F9D6B8BE4911E2FE16D77303A58EA4C184BA139F7D39C4B1BE8C72B8104D1FF671BB
-DFB1C1F8E518CAD156D4ABB057B622287CEAEEB574F2C202462FE2575EA7D8CD820FB4C4
-B87F022D732D07DD009845BA831A6E2A248D5ADF9C179276905A494DD35E4F7E581141BF
-AC76849B0F38B5A726049BFC2196C38B6EF6F7A0D38730CF3CF850A689553B7595070858
-97211A03A40B37BFB57363CCA5CDFB04E01759813DF0B67A693FADFD5692DBCBC543DC30
-65192915E654112AF3676DC58854D602C427315FDB2E0624D826BB60B5EBFB4CB190299F
-930D0385629EAF0C0EB37F4C01C5C770BF1F0F825A2A4B6FE50D2DB566D5B7A819FAD0A0
-0E4A7E8686E9FA936C0315622C95735E251FAB0407814B0F2F848860B942A413C7F43239
-C413EFFB4B01C1CF1BB9AD882DF6A3B64B5B7C7F0EB4E707DC5012133AB2493E7C3A88DB
-5D0A51394FC7D6E66ED529D16686537DE3FB1EA7116363C4F5945B344FDF031FDDECDACF
-34F2458908AE0F62E2D200A9B147C1FBC1877FB41DF6979AFA02071312BEE01A786E5EE1
-FF1B4462913540CDB34B783D104BE4071888AAB52177898F5537712D8DA1B09BAA0F094E
-8174BD25333D3043CEC70925961865785A6F81359B7A580D60134A293C8DF73F9896BD62
-809715A8C846915E7E636CEFD18125CDFF15E380A8901B0BD2B7CDFB80916D4839849795
-A7231BDBBFB9858A7834BAC1FF8B8365D9602985E8D8EDF33D04AF77E24525460278EF7F
-03AFD42AEC3F4201F8C56C2F4885F0CE693EA5BF4F62A8CD61F3A7827A1C40FA52228ABC
-8D19EE1089AB3E80336EF6070B9EB31781EB9C6F6E3BF3BAB61443BFB63C08BBADE7E842
-67C6A44128F33D7843DEBBA3BA7E723E91922C437D24A329E72547DE8ADE2C9676C2A078
-A12CAAEAE690A31FA18076FA77BCFD1EFB5762ACE44FDB97FB5219DCF9F542F87A959EA2
-F118162323B46DA8A0C116269D8301850EA28761CC0E5ED06ED48968EBBBACB891CE73FA
-52B7C262C73DAE25843C00923D04893302DC2EA0EEC7A2CBBFD949A3B4135F5AEF66411D
-CDE7856F7FDAA0E630C3BBD42305182E3475589B41461360EE1B72298D97825C499D9F49
-653AD3EACEDB5F9790BECB554A643AF9F1CD3455DD51E79FB0A6221C4FAF81BD822A1BE1
-AB8F8B18E4141787961546744132ECC7F19EB3E81863CB6B3FAB60D3963D6E6F106A2558
-589B07BA69CD18152F8A8B884BB24FF318A071CDC695F6D8DFF7D04E16F0AFE7BF2F03CE
-F6977E0CA4B46C24E22FA22C0B9DA11EDE76B5B511B1DDB6CDE7C314EC86E2B79E1C4FE5
-357797A5EA3373FB14A212440F6CB0821AF449122D94828CC38E44AD6C7C7FA78B932192
-55ACF779D9634B75999314B31F79003E030054010133046C6CA9AF0FF33AEB9E7C63553F
-F34203EEBF0E3F104453C1430A3642E79A4F5D708551C4751C9F4DF3862FA15814A10567
-69516410AA29695690A5DF3E7B407A2E5F05C8DB7AFA0132D5F43177388FCDB17B325990
-1AA479F19C138122AA2EC5674A7D41D85233345FAC3ECBEDE642BE5669128E17DDA2D86E
-34088BB76C64685FF98F01D48175847E0F49E2404E9C5E9F9073F3796DC575468B53F9F7
-39F93EA3FDF18DAC9489FFBB9B18F150CED84E6A4241580023C622129B1A91A8079CA92B
-1A8B26B955986833D3144BB4EA25866AD4B499247D44EF273ACB2F1637F195AE7E89541F
-C6B70C8064F12B696A0C9BB09DED5F41E19914918F7F4834428A01350DDAFF763611C173
-12EB28618542E8EBF479BBF5B120E02ECCF7D3F9638979F0602194DC2512C682FC947B4C
-CD5BE48F0CD4BAF3710BB42195ADC7DA9EAEC09E124D49E7CBAF579616DFAB94961998E1
-4EFD0128982A15580D1A2ACAFC740EAD92FAC43E7FEFB551EB9322A8EA302B573A6C4B90
-87041EEE1D7B60CF1E50A88F59EB46F1DE9F9760F21B8EB325E90B536AD68829FB965237
-5097A06AAC312372A7D3EA7134A53C253505997B4FB2BC25EC2ABC8BAFAEE96BEB6EE940
-A76AEDF4F00EDAE82434B3D5C8B854BFF71EC073A0DE2D98FDA384E4DDB1D84704BAB88E
-DF057C84DE21A1F7C4FA509F1E22C7B8FF788DA95A7215DEE81784B7F47643CB85D08DAF
-425E251EB72FE482CAB41D49389B323E66D27863D719D78C676EC91981B0E516C21942E4
-66804EED7E214B4EED83A1831D925019709A3EB1B2CE62491339DEA3A3890107CC5C486E
-F7A861D7B023B2835A87F62008BCB96748B6037BE07D54A22AA4206C85BF24208016BFDF
-EC4E68D8CA14CCFEC2CE496819159C153610C4521D312B8538FD3AEEC5FEB1021FE9595F
-767ABEE99B952F0AF794FC4D7FB0BA7B8CD73B543ADF833989ECA557EF2FE9E80C786180
-FE2B6249F45440E94C98C00ED7B95EF5AED26A9058826EEFE0377F4CF786450929E290E1
-D89E70679A7BA87CB29FCBE1A79F24A2713D182F1BF990340FD0E00012A25801BC643A9D
-DA70E046D123E7E64B884B0F8024639E055D6F7FAE5CC5108B68125C02EE9EC0C41368E5
-6F869A55ED15563BADF2F88086EAD3E67E8714AC03D2A12B7E99C2947D6422E5F11B74EA
-2CC153B8409A2A03C0AE3AE784AB05475F3D086EBC28089DDCF12C8D4324A8659EDB40DD
-5AE08B2752D196ADBD0E540590A414A6BC6931CD78CF0D78B23080B4D5C5D86B9E4E0EC5
-3D774845DF7C74D07F242655018AAA23E64165DD462F5D2A282B5165096732D55A3946BC
-C00AEFA41085AB8F2B6BD34C065DA2C9C2999903FBF17E9E7E39E874981E9A850504F7D2
-A1B69C85F532C6749BC675FC181CA05F486858C0F22BFEC83F14D4754C3C42F0AE0ADB56
-9A48214A9DBB6D163E528E4DE29157A8E7089EFF2E2AA6AC85AAAE8925CA4A019DC38668
-418C964DDD2EE6F2B92BA48E10789DEC415FA94C81CB95093F71BA384081A7A01D3C2DBB
-A934E37E27B4232C8A3802CAB57BE8BC899635B620F54FA5639EA9BFAA5294E57856664B
-B3B3DFBE40DFA0E09A14ED2DBE9C47CB032A86D9482D29959E21FE32CEBAB87FBEA9D283
-7044E2161D62CCCF0A3E3195F874F78AE00DAC349EFCBA46A8419CE0A7788B1A2527DE7F
-1908F9C67D4C59DFA016D21F61D3F29AA54763F81F2837C5D4DB2807F3E47EDF257588E8
-64FEDBD51B1C169035F1B64D80EE209C5A2315B961D33E4957E11A2225F0E8CA0BCC1E18
-9428EF1FC4BBFF887EDF1375E2768129D8558658D78D876F455FF4F0C65F35004AFBDEC0
-F99C007905DB17D92A64B5D1A390233820D41BEA0F2B732B12BAA6777E96A94F23CCFB02
-2AB8BF09CF9EE6960FFA056EBDB46B04B8F187D05CEB9CF0BA0F796BB494D5F511010E0E
-14BE33E45C807F4FD23AB76B0F0E3969010DB86834D787B8E0F92689807033BEF513DED8
-EB3EADA76AEEAADBB191518A950F227A0ACBEDEB778F43FCB3A281F7B7C35F58BB1B3814
-49E40140D8059E950413B9CD3F93240629B030023DD6233C59ECA2035392E64869AF7FD9
-4116ED71B821F0AEE5A68CD691653C2D6DAAB8AFE466D5D7F1BC3ADD65C0AF0EAAAA1486
-DEF5F16684DFD78B7A41F7816CE8A787019D9ABD2F4E4253C9229A2DF73C22DF22B93A8E
-4FFC4769448A3E00CF85A939424EC3856CBA520420BB7001372D2F703C5B36CCCFCC5BC0
-1619D9DC961BDB0D9A2FB18759149632141348364E794B15E7BC79420F0711382127B262
-292FBB7F4D0B37A7627E8EC5F5FC374B98B18FF02DB2F442D8DB5ED06F90C3BBB17D05A0
-5D7D11A6A7C2E62F15E7644ADDA44F1A3CC71B61645C7497C242DED8199E31DB0A247C08
-1739BBE040E7CC7299BF09DC0CE4CC6C59BA7D1867CD3CF518ED80959FD8B26748EBFE0F
-DF816836E57738FEE205BE2941BF7F155FFF82EB877B7DEE42BAAF4BF2E2057453611C33
-B2FC235D7141ACBCF65F068F2A90A86B8D19B6A0D7223024B42CD6D71C04EE865279A1D1
-6A401D2393058EB9A16020EC8E69943F631333D3C08C9892F8FA620CACC3D1A4F411FB78
-A6CC30F441BE858EB8ED7A92164C59FAE8C5C6F275C2025FC60E326FC2F7CD6EC4612DC7
-1D58EC6E363D90BFD5A93F552F7C3A6DE059A13C14CA2C15D35E1E5E10775ADC9D925185
-1ECE6C1AD5BF430846F62165FB21A393838DC98C2501D598E83EE90B31378D4D92CFE8C9
-869538BA6614A71D3F29E455DDEF8321C2AD78CC2C0A832B3D0F1C09E3B5FA99B121C283
-0200791629A4094DE00EB9AEC55670263DEF10783A699D69BF861FEA783A51937E1BB83B
-D96026CD631C7CC3C7EF3BB698700B307079EF2F28F52FC05FE409E020B5E044D1766C37
-55064E5B49FA1FCC37E6D8341525F9DC92B35455711091F1229AA39B397E9ED05EEE7797
-B9A9EFB8FC162EABECFD465756E8B747A3041355178430CB089E1CA3783DE19454F97E0B
-3B24813D695BA962CE2046C8F2778B0A7808D046AC0713E1A6DAD26033D153421A24E667
-AA649DA942425C45875437F703E68F68AC5F5AF9B4E087FF4AB87DA00D174E090D834BB0
-14B00764C1CAA2AD4FA2B457858F2784BCA840C7A8BC929505056E3BF3FF533D94C9CE14
-76DA773403FC3F80E1A2335699A55079B6993B0FB187499392167930A874EB1954E6DA45
-C9591EEDC1E8247F237C8657B6FAD992B9426D584E116EBAD9B9F2214A8E850F541A208C
-A8792F3980B4CF5E75970884DD7583FE277F82ADC1FF35E5F3FB216AB68C353B25F34C0C
-F2C4A60B1E51EE88F7BA84FB1C23601FA2270049E573C05218BEEFD56DF0A648665DB6B7
-81C3B0B503202DC005B8F2F00430288086BC3B4D0625BA2966630F71DC0483FC43DC4AD4
-AFBEFCE65FB61CE89F07FF29B9A9007700503043B24CD9DD8BF9E4714CA99B9504BD7FBF
-DAF7ADBAD4168CBEDD5EC802F2DFE773585C5162E564CF1C39BD04CDAA50C2032956EE47
-948EE6628F9EC006711877235813960C9926CBF2372B9329C3CCE4F4190FACCF33B25BE9
-BB4DDEB7E91E8D8ED843DF6F0352E51AE0670C4E0A91E78664D5F88F77F6B9EFFD25071A
-F9BF35C2D572275E5FBC2461277DCB0DCE505C6DCDF913CE7A99DA563AC06E1C4B07D7BB
-0A24BA8CDFEDD3C16107DA2195FF9677EB104C08C085D6364BCB745BDE0D313D93E318CD
-F7929B299185C098642464F491E64EF9A2DC1DBC34153495AD62F886309CC6B6571D6177
-91D94AD5A337912569067DFA1311EA41D5455C24D3B60ED3E698E10978C10FFB9A7C2137
-92A6FC31939290392D8ACD3253593287DFFC13CC9D80870AF32A2B82AD21C49560FABC56
-48FE43EE74D71F0E6D8008100FDC812029C4F1FA3ABE01A4EE9D99A2FA574F93BBC6F17C
-7301329B2363DF36FA029621D478A795F9D564EE356CEF0A1E60ED1DBF5FA08590D677D0
-9A1FFF7CF8D657D3D1CF2915BD56B44BCF420FF4A523162CA1791A56287BE773D74F7246
-F52C0D1E22AEA987241202665D0F5EA6391ABF31F16A5BE4353FFAAC2408A0680A33752C
-D527145AE349CD781E339C8A9D87E5C0B1312F5B3C150FAFB4588ACC7D6357A5A3B4510A
-556A7FAD44643F04BC6D42A23E83640091DC70FBE51B57A7E0EF1E2D6112624AA21136AA
-A1B1C6DBC1D1515491F0EE3F9C4338B58E3D0603E1C12A0588118F9261139CE44B5183C2
-AEC863C7D7CAC0DD272FC5142FDD80FC668A6CE709CD7F297DEA655A767CB8A088474BDF
-5EC4263121C7B3F154D8396B2470FF226A397257FE5D24EFBD3AE08CEB5CFE9194DC4C6C
-147F24D3B36830FAB0AAF03DA1442C1E5E77951538CC9A022370A8C3E39273E4B8E3FB8D
-28EE116FEB770A6F223CFFD7925C64CEDB8A7D66212CB443B2A0207EDF102672ADDF2084
-5C2D36FF281B33BD3408CF628D7637F1E92A5D2168DBB183BDF98D99E5A68D9995AE6123
-3675A1AE7BDBD80642E27D6271437F24D28884C90351E819D9785E556334E20EEAFCCDE9
-2929DF0BAC01FF12B56C2B4EED3E554F3ABC0096BC7E5D9409C923E9ABE6032B20784815
-DE1C1663D6EC86D7476A0E9698CD3B201F5F9CBFFBE604C4C2E823045473B0381B1968ED
-20DC0D0EC89487B4FFF6F3F83A3D68EE78868FE5262235C3609C6756BE484D87923175F4
-80A084A25B5776FF76742A70F7A60D8B76C3E13409A38A258E3E334F66FEE4567A68BF1C
-8CEC4A80CFA0361BF63B7A0D5A0819C85E1A9EC223C0569857D730688E6D177E4BEB8E31
-F873625E39573842035C5C6D66D923654A8FAD9421E1026987A9C825505DB5382184EFD3
-6C84BDA96B464796D72571760CADB46199643060A0552D8DF95A9E6C30787CBD2F57B0FA
-D1FA43FBB1E488FBDAE8273BA4F191398652EC86743D32FD5708673AD1D39F62425934FC
-AC949F047C873CB94E4A3CCE44A458EAF26953DE54F645CA7B35553204A0F5C7A32E92E5
-27785DE73A3E2A3A3FCB54EA4E395E73C5C89F64B77EE218F935AA4C42106A33C78D03A6
-90813236AEE3E50C2C44323B83401444174174DE4895D090CDB64274B70F557204C772E2
-D1C47C79C1EC238D5B345F7D9CBF27C6B98C5163E6D1D93F23F311DFD594658B903480F9
-A475D3A3D9BF909D042CD76AF8D574D71BA12EB33259C745D3FF5403E579F794EC95CA20
-9959A9CDF439138715101F9FFB3E867A2FEFC41EEE21AC816B7E48F340634714E98CFB91
-E97CDEC4C25CFF567676460102255E8BF37C8B4BFA821EF0165779094CC8ADEBE5778333
-9B9F4DC83DE0360DC52628543D41E0FC9EF2EA434DB9520C2CF5E74863D9BA197F8E7A97
-912643D24CD024E6468A188E0D1E903C48B9A996ECF5D9B64A64E026046E90F5C92CE2F1
-260BC6D4F298DA5A10B3620C4BEBB5C721B830ECC1DC8CDB86AAD6C20C9EB56DE6520D0E
-29B6C3EB14A93D43B951CC2C690B277B426B84E4BBB4E1719278150A03C450A9FB44F6E9
-16DFC8986441969A50F06A4483EA651839C31E89A9E4644E96094DE5320CE79DA5499528
-AFDF9C150A4CB53A4EF9BAB6989BA5D0703A4F2F5D4CBC95719C0518DED3474F875DE58A
-3A2C369EDF2BD851E5F2E0BCCD47A0452C8751E45DE47CC2C340EF4AB6F4F885B0C2C21C
-8E8B252249C5B45EFA5B3E8A27CB39556A262F03A04639280ED71F8D01E12E4FF9D37C3D
-3DF6164A4C300E495CEF60F368C4F5277FDC5B27E369483237780072A6709BB6B1E32F33
-53AEDF5A0B1A30EEEFFAEC01A0E9630E5A50BABC081DCF71997F181CC310023AED5BA74E
-769DA4D3FA84951BA80EA57C39C805F1C4B42C7673403CDE1573E1641B76F1AE22E57954
-48B4C46AB50E3EA8B82FA89C9BEF737337168E18498C3653AC2BA51C757A15A8BE8B1675
-FCB325B5130E13C36A66E3056C8A0157DB84F7D6636EB06B83FE198579DF5135C77839D9
-548214B53BD51BFC1EBB8CF2E4B1ED77EAF56E953221F95D30D6F16DCF13A57664DB4DB2
-B45DBB6410A9963DEE6496DCADA35B5AEED478EC9297FCB64555373F4ABE73D92B97CDFC
-0D83E4D2E80C6433533451BA99E9B2777492AB98DCB69C2AB9737E5A075FA29CB29307BD
-315A4A67E7A5519B55CD6DC3E241AA0A067B0FFD337D72FB0B5B290982EE91CAC2504A02
-71315319A641ED197E14017EBCFF2B124E1D449C5A692BBD0E7486686DBEE2F15552583A
-A52385CC9064ECC3873A1530112161BDE2008B484BB616459466E66985829F8415D83DB3
-4736B604DEB0E730A3ABA6D04ADE6666E303C40BA9B35FA5C753743239361A8AD23B80CD
-AEEC9B8BF6CFE55D9EFAABE474D9BE5F06255EB903315DCD4E2D3469D08AE17F2813D7ED
-F8B3B5D004347932D9B38955E27B786CCF0724784E0D545588B51460D9C2572C6E4C4B4F
-9A01217FB8F2FBD0757BDC1882292CA04C24E7828D9A6F64B151A4EF2507C3D3EEB98F76
-77D041A5DCBED1BDB61B43034F4F6F5807953BE78631376E6D3AC14411587526E7DD2E68
-9D6241942A0C990123F2FB111F926A68B809DC5CA2CDED30262E71CFA275767F76D5514D
-9B7A435A07670F011DDDDD31D8B944151A6A47C6EAF3AE44881252A078F261814A06492F
-628BC815F32E0B889863A15409164250C9ECBFAE7A749AACEA6AAA3FBF9BBF40722DAE91
-167BFB833791D3426DF713F829F60F3F9638E1559B82C3704E048AC9879E4AF5C70C9641
-BBA5C04816B4EA6CDA7BE2DC728364587A5E7FFEB8DA7BDBFCB842FCEAF179244EC8B247
-7AB7337897FC0946AE494BC487510CA123CBFAB3B7EDCEE9DA82C37D55AAB651B887E6F0
-5A71F2331B1FF033A1D553186C786C224B1CA80D6693F4F6A948E338BE6CC540E86FEFED
-280166B01B5B8F9B278A91E1BC632C3B06A4BC08530D8F1C89A6928E91B8E7C393C9AE2F
-91F826E8AA3E11C72CBB0A552EA0261D5912A191127D351B12371E985C6DB66834869EBD
-746F758FB0140C248852AECB41CC4972B6CEA24800F2528CFA99E667FD10EE57CF671099
-527AA11667321AE9277E4293811190986CEEFE93FB7C4A1F1A5884BD786B13F8B73A1A46
-19257501BEBE4E2A6BC3DF7BE7451D9364F00EF318111A8E4FC065022AF0EC88040267E7
-BA268C6FEFBA8AFB91120EFE066B8B23E40A0A0F209D3097881CC2B7141BDAF8FF7C5964
-4C029DDA226401B9B98C6A53AF6A93B39F6E3673A3054EEA3CF8CAFADAE0805018CFA969
-7E879B9C31521B340B288FC8910E5B6E061A027A4C69DA1BF038999D693108AFB70D0DBA
-A90F3B2C073FE4251064E1FC887AD3708256487DA8EEE60795CF11DEAABF0CCD9CE8E372
-AD4CC8C8DC413B9D2019440173F6F83CC66ECA28C8029C1AB834DF7BF2AF0E0D86C66BA2
-6EF90A1761FBADC03C1FE598D954339A2970A5C9EC56236D9183E6155A511A272D005087
-14F8749B03A5A2B9DE2886B539F1A377FAB65ED3437D55988512B1B1C638015B0ECE68C5
-3AEC61020E34BD8E6AD7659399F0E1D8D23F5EE282BC764249B664D75FAFE67CB5A9DA4F
-2094ECB30CB6B68D52AA665BBA751B446118C74148DF979A0FF173364D79202606AC2756
-8D41821B1E4D4175411CD766FCA1C25093E6CE9A37C2048755DB82D7448526B59766288C
-9225108E8E86261B57C521991CDC273C0BD25EF4434670C80AF8DB7300F26A9701537DD3
-8FAD0BB2E9EB8F0FC9F2C8629BA97AA1980C39E9BE5740501BD4D57D71235C84C3EF6B4D
-CA3D1EFCDF79B8D4EB7C29EC5AB15EC38B2104745E45235A1F37F19E921CB2213F1A91C1
-C392817E7D3AD3A6ED1EC8EE290CF5B1CFA2BF21DF8B9069F4496B7E80E7E96673B77EF3
-AD7B2FD6653510AB77BBF1AC8A07DDE48A8C2AD11EAF2CA95540A164C1B0834106FCED12
-E179477B185DF43148633CE3AF60539493D0C88173C0E63CB5A44790FE41C211966EE03D
-424F492C2C87C04F0C28CAFEBEBEA7D11AC959E0C8A88776B4372E356C913943BFC88983
-1C8F95A399DFD02779301D05205EBB921C1F52AA522746CA533AC829EBF7235FBCB0AD82
-69A64B2C68748ED4843FB583151429A1E9537CB40960FFE9C9340CC11BEE00EC7005641E
-964F4B0183C49262F3202EB6525EEC66CB68B27185B7DBE343FBFE8BBB34393DA1FBE929
-50702ABD341F45EEAF0EE66C848EAC04CFC854FC058A9418834B4F18E6D861AB31DC1C42
-DFA8D939921067BFF8815B708537A120CDB13E775802C57A0D0CCBC6ECD4CA0DDAD91F01
-97DDD9118990BD71A1CB241B88DDE7EA4F13236CBCD7CA64FC858CBF1E5A38C98C19E3AE
-AC0B7B256BA7E15F0E49C84A437DF190A81D0E179B2AFD03A427F2F9AD83DD2A4EA893B5
-BCDA0F09C419FF0D0EE4A811886E2784800865CC8177D4E80FA005C014AD9B124D3D060B
-526237FCAF98F23D1F7195F72CDE4E72B87FC4A872FA95441483FEC58EDE0C8B97909B95
-D5FF189C0D49053B187E0A1A8AB85DBB6D765EC78742E334378EDAD7F2FA77E9CED5F652
-295145D463126659E0F6BA982BDC32363FCEC79AAD13248135E6A28222BE0127D807306D
-C94C817B649AC020B8B3DDB18CC5B05B83014A10DB5FB9AE6BE4A078FF056EF661B2F4BD
-B422CD7E80AE9B6835330AFF67FF1024136EF097F4DD5344D37FD7562802B2A1713431D6
-FC1EFFEB21A02267D7F6B2552C97FBCD4BDE4214DB01C1376F07928CABFB1106B02FD2BA
-BDC8C71D0278DCB64375613479FBD3D7D893D279A3FBE92BC92BD99B6FEF817344AC2DD6
-EEF172D3BB609E961180734E1B4C4F4B2D704BA4D1D3103BA4F62DAAD46DF7136070EB14
-549FE8C727CAF060D877D22E21F474F9627507EB1FE2A28534789407DB20FD6D6D9F5CB0
-7CCD392440EDA0E18E1A5EAA7B2C8BEB249A627EEA58DCA375DAE4EA816AEE7BE8BD92AC
-AE63C97BA1DF13081EE64198B83926153C8AD6F1C86FA73986BFAA5F0EF5091A4B591BB3
-32ED4334E6D67A0288D390261E88FA39574FEB6F7B19B808DC87426BF13BFE2F76ED7103
-87A5283D27CEF752B20D831D8494A2E35DE7F68856AFB67B6EDC883C45840C6E83F1E9D9
-4E4351D50BB9A03B0F0B0527CCEED0081C96A029EF47F68A1BFB0A5DC673A0C8254216CB
-D84693230437E107267B9244E2287BC6CBCDF73B24DB5B947D5738568471FA1FFAC537B2
-BF13C99D56230D49E12AAFDF51B03265A9A14529147FDE45C234282644C9BAD0C6892861
-029C9F27E4AE13F8278E135E89E81A7E552B11DCAD49507502B47B1580A6222672EE9C3D
-A05B74A4719A849179B6C93BECD1F18FDC9CDB1EA52ADF96D29409B9B9DD63861A2C74F5
-1A99843FD141AC60A49FA6A134FF4C4328AA9D95BCE4B89B4BE4CFDC1DF3603DDB0D7DCD
-E1A3FEC7059299A216BF88469B5C9B16C20680B14D414902E8A7D80E5429AA24D94EFDCF
-500C1F1ED0F3853E2715598355B9440AFB9A8D06F6C038EBE0574B24E3A168E93833F462
-B24FA106DD40C967878248B2E1D58CB8E4646DE1F2B5BCF7FC02B4BC7DF7593737F583AF
-03264E5C35FBF1227DEF2C4F6889C2F77C3B84638CB682645D0F2E99E0C4EF9ACEBB11CF
-0F658F7D3163C488C6E642B5B03C1E40F69BC2293497374FB157F42111ED5B96E04040D1
-8C0020820B37A22DA38F4E21A64FFC24131CCA0F575529157E9A59EC6546004241A8F51E
-9E85066AB22B72FA003CC868F965DFC34A2A0055FF86443CD3ABD3EDC30E9196C20629B2
-AF3A1A0C42C88C20449F889A39BDE45EEA0551AA0BF0E9641D7D1FE0F3C286C7EE34800C
-20A72C954EEE657FB36E10ACDC18D165C8DEFEC48D154FBA121CF1066508A075A669612D
-26B9309F2CD33B2109AE9E6B1EBD4391F7B66F625367766F8CF0B8BC2D201124CFD9920C
-B61F71C4781B459ED271EED5937FBA4359FE1DDA7F3907ADD7C15ED021E7735985E6AA8E
-F21011A13E5CED0B69877C636D293BB99AE7B9457E8C4B84C4EC695C5944622B5F47DEB5
-1F3D653C7ED73B53D16B504E761B8C105CBA84E45B408B415045310CFE8D693AAC924ED6
-C61A12C7B0CED04E630D8A04F8838F286E646960120FE35D0D13F9E273DB647A999F1580
-C1448CDA80B9489BB8E5E4507A7A5B5329A2E962EED597E4B7C4E6C72740EEB351A3364D
-0B0689BC2658395E2B69A8FF0600EC50868404BAF6792A59983C6E372DDBEEA9953870AD
-319849F018362B016EC38C0B7F947402449352CCCDE055068417434416F0475EC82A5441
-987A472F59AD152C56FE81F1501E88D0BA843083736F783C366CB18C8A787FCB60E6F8C4
-3B56BD458D9A42FBFFBE128C928DB06C7BF8F2C0FE209B25DBE0F28C1CBC8328C8E868E1
-F1DA76549F34B6FEC13E1400B2F9A66E00D89CAA99B2DDD6A0BFC73C09C7D774CC05629A
-E23AF62DD1E58D3843EAE55452281A0DC2B31CFCE75A7FEAAB90041602CA5293EA58F8ED
-C18635ED0234B9799A12388C2AA469FEE8CFE1B112F7BE610990CD51BB13D955CD02D571
-323F565D7BC240FE71E3A3A1B92BB9A1C7EC2EC6406F06AE7C0D14262319D389A7CD8D34
-D41313DE9B2336963A5EC892A8051BEEBED24ADCB1F0BBDE77C4E3AED1D777C0EF2F1AAB
-DEE62B1967964C98CA08561EA234879DFB0F50BA067E1462CB63544786D56935ADCE3E7B
-399B1B3D0098DC19E4EFC04922CCC28609390A7B163D66853C2C8FF94591CD1DF499DB82
-F0F6FB7FB6D3571735528F544C16786CFCC7FA10D28FFBDB6C455AF2A6E1F6BECC080B6B
-EFAEA5D51607A260620EDD1DC6E8AAB588BFCAD39A98E028BD26DBCCB149D818E0B91BF0
-8AFB55C618FDEDC15ED7055521BC90689E61965FBF22172F584827852B6DCD8FD466953F
-D16A806E20C5C96064F28BAC94F3A7818B18EAAD9BBDFA0FC302E663B989D97A76E925C1
-CD1307E43C97F88DD731AC971B862E99633A531788BDAA4847A1FD124660B00000007168
-72191B3F124402B990F3C379862AE823A3646762EF68A69D3AA91C56F50B10807C915447
-38AB8EB6C01618880F72A6C2DA6764158320CFBEFC9F23A0C1DB0AED395C70B28C4D47F9
-7C5018499E45AE5407C03CDFA41D02E18F7AE56346D872B03CD5FBDE0D0DBF11C1FD313D
-E0A7856974BCBE0EB331CE51D190BFDE4C08BE9CFF6F2A32072454EBF4DDDD1E3B9CDE7F
-9ED3B2C1C5C60A12813DD88D75CFA6A9CC4583764D40C7001764B69A739EC079E7ACA5C4
-1DDAD7D15C8807719EDCB3054D9DE3DA92912F019B50B62C8C4AE9488CD7D683565B2031
-DBE9E7573595ABA60602B6023C1D4DC8370A529873DFF92DE908CFBFAEE97B0273CE36AE
-6C931F5282CD2341DAC0D6DC59A693FF4AE740E77322F8073471F6CB3CA99E7A530F5E82
-7E4C5185E015655F784855E4989F27CFB02AEFD20C3D0E9E4C1346ED248A6EBEE2BCEB80
-1B912CE4AE5475DCD5D0516397CC74589AD3D52E70A9DC423CAB42BE428CC2DFA56E2C9B
-DB4F083F8A7B3B2B9063EAB3FC255A489707792141F87A2FCE77B89AF7099DAAE3EBBE9B
-3655691A5538305B664C75DF2DCFCD53C87C38D9EDF8F7DF8A808851ED31E8348C77CA4F
-3AEC6C2BE721FA3CE9D54B72B414A0992AC3A9DEFCF40579F59B0E30EE3A9B599772936D
-5E5B921D5693FD702A30BDECC82AE6CC10132C2B6C697326CDB3201D35C4396887B5CD1F
-1909A0C3A19BA71AAE02E8639B6AD1426866196F0F9F0DEAAF8BDC53720674296BD41161
-DAA21FA4534BA100FA41161734E310C6E88B8BACC050174028F4DF483785184B30AD1BD0
-2EEE2F93A187C5F48EB3ADB9D63AA4D52D76AB07B93CDA7F12F3C7D9E58DB297D2048375
-5E5C6D1B8F9C5C07A142E0A68177BD7AB073CFB934EF14D9616B15BA2B38AB4FA4B5877D
-04F5308D74D642B46352FD84B4FFF058C282D308AD2AA99270964618A04C0E522AB7A4EA
-123FEC9A47F13060E534C0C58C327B063D59CF96413E176031FB21F3AF9E3BF1BA6521EB
-C71336E468A8FFD6AC2EEAED7ED016D2775AD2A7432534704B399BAD93E0A1FD5C8E6FDF
-E8DE157ED4FBFA62C5F0D12DFE4C519713A76D6B2D35FFAC7C0B90ABAA8BEC8D2221FA39
-5685428736398AB87F9B73F7094E02A5019A360FB5E0A2857AB2439999377C9D4B1529B8
-D8DC1EE0B68D1A5AE1BE39949A8D53F9274D51650124E4BC873C07FF0786CA64EAE168E3
-B8E0210945249FA48059080232CBCB56A910E40D14A479F193BFBBD701384407A2DC56C9
-BEE9A4F3F011F02D0AE09C3F6EE0808336C70C6BD82525858EECB6521238C717469BE58B
-6865E2E9867FC248A82B44142F5E825665F6780B03015A6CD2B1592F36B7F1C03D58DCE1
-9588FC260148D0DE42196BD052136CA1BD82BBC0AAAC6ADE4500B9F374DCE51779697BFE
-670245D126066964B61D59864EB636C43D6ABA70429614DB400CAC2ED06D85D3E7C3D9DB
-B5E2E7EAD6031B9798EDF30772FB9CA88F52D2A56C1CBA8F95202DA92870CA6EAD0358F2
-183C791783746255B2E87EA261A1D9C4B7B9B4174D412BDC01F4AC19DA76C423992291A0
-B0B85C1F62AAC83B253D8C251DDC43D921AE994E7122F7A49EDC473B0D9B71D8801A0D43
-B589E6C1395255D3515A637670589D6BF4CB75870D2BFF2491B7DF7EF95F04C0531C3C00
-6BA3CBFE26F52EB9D041DB138FEF272218451237E60685E66390659CB98F178E3BEB8834
-6B1E49C6D9EEE0677281D460E3AA55250A0D8D37DF9DDDE21F002A70E2F9A22F0AFAED24
-80C169B2BEF14DB7E75ED43E2317948F2F5F17A8A301E5DD65D1950AFFB85A1B4A26AA89
-104519AB57E70A3F506453128E1614BF850F371F29A9CA224B2B258C9830F3046D4F1C8D
-3DCA9AAAC020617CEDB6FC6E1EDC69E17812FE92EA38C97ED91987A65C72FA48C353326C
-DC7BD08632C96BF3C9A7C095391BCD9335E8F254E937A77855854EF20235319423D2DBC7
-DD2435B9EF9B9CE1046B95421A98E910196E802263650E5D2087E34E384ED7FABFB6DBDD
-48342333407D7163A1B1031F841AD55FDBE7C1553CF17CF057652E243CDCFC8F86D8911C
-C6DA2FA6BD522ED649C52DB102498790D6D55EF2AE27790595E8D8489EFC05F505566958
-33A31087D230F6041DEB7173D2BFFF6B59E643B532C2649D4902CA7FBD79F3347ED28EDE
-D5EFC41B0B6CC97F6165806BABA7930768FE8E4B8313A5C9D69BF0B029CFF51B9470A22D
-98A6257A6BC6B34F11536130A980D985E24F69E0846C395DA6C35C036940E609F9677B0D
-EA2B923A92626EEC8E224E2BED76CBCCF6F2DC14CF8D90BDEC80E7088CA871846C68247D
-C4912B6DBAD4C97A472C1FEB6B2B460929E374B23975046E6081E210116ECB0F3680D99F
-E7BC4794EA19037638DFD2ABEB7365F2A7BDFA3C7766B3FF642F0639D897A3F0772EF880
-EAC10E1BA44C207039C64D2DE51AB6F71E703F36B24F9BCD0179853B815DBAB59057E8F4
-7C74B338BF128922C8057518CB7FA34AF8F590BDB76296E4258570F5CDCE24B4F9755C88
-F4F3CFAFFA1EF7EA5052A2C7D8A823D0A1EA7740A726FDD7B1D28D17B01A0EFCD601F20E
-FEFB1688FBB375573F54EA1913230461B54B64174D7C99ED8A2DD269CB60B02050A2B300
-C0E7039663C388C4670BA295EC5BFAF496DFC11816ECFB433AB94380D1982DF52B362305
-289A0EA2205C91DAD93A6428491028D50A987C5501D0FEE5509196EFD2CD36D695B71289
-E2A4A96BB065C0D9242351C6A3732E49D51B5E472F9EF2524716B7478AB7460F43267CE5
-6B2DFBEE8D34E1BA79A57B175D8B9496BA2C806C2F6CDFDEB0DCCD0D813E79E766FB8548
-9087D61E7506F04102C2DCDE9B44EF10B38443F7207B707A265E1111FC0E411F04A64524
-3465AE5AD4FEC01561DFB4C1384B8FF54A0AEBBF189822B63ED986B8197B3B1085087B01
-B9EC606AF3C1CBEF701224ACAC1BAB4DE76FE28BC7F538DF318EBB3CDA0E9FB06214F497
-BC2926399C79CCC70A464C2B58D51A52BF06A5650D21929E4C2EE5AB624F5EFA25E64B63
-2ABBC3285A79C5576ABE016283D08E19246B77166612E83B2244A1BF5A7CAE45A691AA7D
-BC31377285E78F094870584C23A2216453B9F0804BBF32FFDF810A2DEE41CB2743472A57
-D050F61E285D232C6EA0C2EAC1C0FECA0E489970C7B83D6F1D64B187BCBDF29815CAFF8B
-8EC2AC2705DB255240A5A435A0B0AB6F2C9451C7E14FED26DA327D432A30B672CC7E0D99
-8653AEAA0DC7FB4161E604CEF7464934795E01C7CD625A2C7C4988CCD213C19CE963C6EC
-F45078DD17A158FB2F9FD1241FE5FE0C45D05AF19E5C5D5AED76D297414EBF0E95E451F8
-B61EF47D7A80B240518FD2BD42C53B96BCB17F04B850CC889859887A2EBCA1499C10D034
-D545C5101EC917FD27B1F87B4460B8D5036A7072070ADB83573796D07A4C4C5348FA845E
-C31C83BAAA79D880FC9965C08621C9BB6A982CACF2E9076CC88F14F4E2B1403A980AA310
-33CC1C16B108D3C390F95E87D6DA3FB4E9AEECA82F70424F82C243D0F0DB273FEFA8F57A
-CB2994DF51CCD21C45A00F60EED00CB7C2CB6D131A57AD4CC98FA2BD0313E15AB964221A
-6662B6319E305F2D2255741DA5465C9602E7AA3558B98B906B4AEC3AC8CBF877E51AE0A3
-CD1423A0AFD38716B0B74C7F492412AB575D9DA05634E20D34026A1E02B58806AE95378C
-8018A42F273FE95E72C6E8BC54646FDC010E807B2E78AEE753E9A223B8B014CE464AB7BC
-5C6FFB19A0687C0FD300BFA19FA2E9A65FD2A4BB8B5E6967289A70EB18821A32CA0751A5
-972A6F3E3054E10972F59A9DCDEFC5DB1E9FDD87003B98228BDDC733DF066CA5490A902F
-2930EA9C937B586CDBD433532E6230F87773FFB354BDEEB778ACC289F3015C5158828790
-BD620956700DBDD6C2A9CC76FCA2868936D279495651B5798491478B1B77CE6656E8FB2A
-69FDFCC2C8FE04C5C6AF6054C01678278164ACD9CB8C7BB41E0A4A4A3513283C38B03B6C
-27E66FA995F58346B724189632494406D7B8E6CE243C5BF1CDE8C87AEB0E6F43C52D5D3D
-4F3F9C876FB9ADA96302D73FD3DD51D82E1314024C5B1262CC009052C4E598A2B7D855B7
-BEF4FB97D65D8B26B69CA86C173CE21A159B3765FD48A6E978137FB2C7B9C4A39A94EB09
-A9825BCFB87EDB546D917F4BB3B618906C643280D3A33CC87311002B465D440C5FE3B8EA
-1C3AFE1CBA90999683875070513E14D37D5AC6214D5E38748901D3740350CBABF87ACACA
-FBE7CB2A97332D9BFED8B0A7EB95BCA79E8D4D6A80C1162A49C73961822A568D43BA71A4
-90E3571845A95B8AC2313098F7C3379DB959167CA17281F8FC7933F10BAF70A573981F5E
-02810780D9780AE94EACC4F4A2D1BE14649E1B776175FB5EAF25DE613686161995472B24
-86AC004708550BCF2CE0CF3032A02BEA90E1163319C20894648844A936D39C7A266060A6
-093B59CBDD59E4FC67AF429BCBFB4037DEC87FD9CE0FC26D488C1987E0D6A79AB19A7601
-3C3286ADA28464BE78C5C591126978FE183EB480403432664318992C47600105BD1C223C
-E78F8F5B3C1C56F298C28B700886B9E467E7ECBA6BFD0BCA114CC74CFE8252FD9FF4C39F
-AD3071CC0E832A9F4BF89F9AE4FFA1FF02CE797052DDE080C175AE529C61B639D842BDBD
-B8D349090DDA8F503C909349A69BDC6D972805B15D2E8D321E9296E3E0965E7BDB040FAD
-CA90D1BE06E438AB653E7553EB43A4430E3AB1A43BEB97715FE97A8B76A7B5B1262DAA01
-DFF0259186017062090F6B9A35B9962DF2F7EB85B6D20A693B1D925DB4BF06996F60BDD4
-6C2381937E21B3299CF3BAA565727DFBFCD38BF24143D400CF99A7F3D09D17D5E1CBA49A
-9C607D434EDDD31BC70D277CDDCC5CE03C001B53CB1D448A87DB676F6BE0681BF57F66C0
-43BA1BF6889DC9F054A544C4D498B74988D5DC13262AB95205386343ED6D3C077B058B57
-4C464D02E35DD342CF013B84CBA67538AE13A3F50BE444014ADF085E95D736139E1646AF
-7C4A401E25B3511364DA040AEAFF801A664E71B0D2C6E46B510A97D5B75B2377E54BC7B8
-C4B368602743EB5856E4385C4FB3F364C54239B5794F69E39791CE5BD967BD03E212B8B6
-E14336AF3900878E5031993E3043B23376975A43CB032C9D9C1E485CF34F3A1F2055AEC7
-9A2D2E68CF82F1CA0DDF7200B9FE4172947540769AC5FA6AA53A87E6A79AE9CAC84C0FE5
-F0C0752F85329F95AB21AC314B7D32C538E70112C12A34DF2CE7127E5696F88CF65BD083
-5E57CF98FE8AE4873FD1EDC9F775E6920E87000CAF9C8B7FE3CA5A84A5AFE056CA8D5610
-69F8979E13055582F11FADFDE7BF60FA9EF36AEF0D85F29D94CE5C571574EE03FCE5E5BC
-A5B2D3E4FA107FED636226B59D00CCE51BEB891DFE12F04BCEEC13606B051D5A50B08F93
-D0B3ECDE4EF0DE6E06829E559BB2AEBD02D0B7A1C505743ABBFE54A9682123C3695E86C7
-54465D3A60369CF9C3FA800658DC52000B8F6915A9F5549849EE092CFA885BD5FA96E6E3
-D04DE784BF6F17F333AC90FD8AFA98ED04F003E47A44893E943B6504791D21FFEE630A7D
-026F82D0B903496D3E08DC35768EE6FF9AB617D29193A5FDF8A0976336297CA65BA71A1F
-56E19EEBAF4AC438B9807AC1F4CB0DC9F740910E2BC32220D37A337FECB98301B0A203DB
-739DC361838D4577296B9DF5E1DEF57DBFCA489801685288238CD8DA085C709663DE7F84
-127FC9E6C4FCDF327532C87635A6D7822D36583930BC9FA1746966A175670A2EE77D5FE5
-DB0F43189C37191F0ED80A333E8B117508E17C010FDDAA44820EF17FA9AFBDB754507F4E
-1AC0D09A0FAFC80ADA11DA469995CD7FAF67CD8E29AB323C03B6A1DE80B684FC2AE84B46
-BFE4748300EF789A12A166FCD29ED3AED2FDC431BF9B3A450E2B15BDCE9F15C13E4C28FF
-15E145C661B3EF6DF748C32129BD734087B8DF6A5C00B4765F2B518ED29FC53D283587F1
-2B62F177D14E3956A64C425AD811AE6833F2E095AC0F7BED54333095002EF33824F6A7C2
-3CD332BAEC7AB22642A5331A0C1656E3E2E4FA99825B5F1A04350BD96AD4E491F97E47C9
-F5FDEF0466EE0566D5F2ECBDC2C3B0DCA65728196BC139EDA445C7B5435E293F50C91CE5
-4FF3AB7112603BE44D41198C3A5BF2CA4BC460C0BD8D86073948C452AFD0A35CDF30CE1F
-AB58276DC2A49CE15CB2C1EE44E0C3E07D73936CF675B1A40B1A2DA5C61BFE4E56C92FD7
-CFA03B2D6A9A108054AE303195132BBBCEAE17F83B7B9140BB11DC6D2A3B17A46CE4FD4E
-0EEB5FDBF8028B1E7052C602C5E7BC63D6F6A9172032D538B495C3D8E3DB6FAFB0CEE41F
-35884819BB65463B11378A7526B582A4D2EE1726615B66E8514B4173C47B399F86ADAF7F
-E7F7C08A707A30AE31400B603A31951A7F617BC16E5905ADEA0197382CF2F799F8ABE8DA
-134FC37C99767D4ADFD45502F189ECF7D08471186F4D29A054DED0C5AFA56A8AB3AD5F3C
-71D784803E0237F41B764C6A91676BF4623E80803231960AF3B941EFD842235968071455
-F1BECCB46F437930B443A1C4F681AE595A7F7057496C5BF98FECFF07CE1B4E3653B7AF75
-2F647322BF2FD773C8C79B305EA2365EB878FEC55A277066560401CCA10AB996645BAE4E
-728E34864C7F2F0ECECF66C0387B2DADBDA23EBC4C0B904C5D152C9856EA1FB76D10BFE0
-7213A87551081FDBEFC207AE33B860649D445724095B28D45354590E967DA4960814E184
-2ED400AA72982427E378092623D784272A07450265A89A88C13F0A71A03C4234EE525034
-2F5F28BAF685A2D8AD6C195B4CC3ED9DFC0E82910D692ADE7236347002251126C4CF7C82
-175624CC08445EC64357BE592FA06FFE3FB52720F4CCB0A78173F0BFE317F2C22EC52607
-C9479BFEDD6FF60EC8F1F613251BDDED25F2639E469B344B86ABF4BAA8A9E05C5AA49C91
-826B39636461E805364EA49E222129B12D357641D89411DC5081064473E78BE378BE642D
-16B4CA3D926E508E5905AB84C588EF25E3AE064348C93A28880A02B0665C2486BB41BCBC
-8CDB229607ECFD58E01D99D71BC1AE9DACE87D02D7567D570CE3BB7EBB5877A5E309B181
-0E75AB6AA6E2A72B9DAFDF89862C96141D72DAAA090F0EC8A239F1CB565C7B7523ADD890
-76109390815D4D128B26523BF36FFEEB3D1DEFB8C44460FE64C11F1183A99BBF9C5D7BAC
-B644531BC4873EEF693B2E5401D764F0172127F873786FE8A95142DACBEE14E4B1E11E5E
-13B3015B6344C9B27CAD49C457FFFDA86E0097D8533F76344AB561593CC09BDBC1758F07
-9F31AFC4BFCCFDC2D54B8FA7F1265E8AD350C44C940B8111B4A59D078423535205A22202
-92F892CC2A5AA50ABFA912D6FB0304EA164E191CCC659DA1E00B2DE5A6830B60D69AC9D3
-CEFEFC2CB0DC016B7FB41D5853A0BE141DC15CAE07A90E56187BAF3716B7A7CC839FB123
-69DCD8656F62C1E631FCED16D171A3521ACF60675FFD2911A20DFE45A57887984AE2C41C
-A8C6C24A12445E167CAC1A3FAF610DDCC8649C6F6CF07AF89125C6F37C70B682BB77394D
-F4F6E7A111A0ACA9CD25E1679891B3FE9FDB3EDDE1D3805DF7C42BC5FE4A6D91C7042F67
-6ECFE15B9A90AEA755B3E032C60A71554102A9FF4C2E9E467F0B7DB9CA0F2AC3CBC3CDFB
-8DC2A7365807E409E75E89047415598A8720B25CD32FBC18C12EF6E1F9A193132C0DA8AB
-134A567DE1BA0583E12BA2045A36C298ECC4F909510D29ACAE1EED825ADA28437F457BE1
-94FA7EA3ACD0119F438ED2A2A31BFC511BCC3CDBCDF34B6DE3DFC6F4836178D9BB35BF9A
-C546AD2D1527D1B020D2A975E83848CC431CCDAB997A195E2AB6B3D5A8980D5824EDA901
-EDBD85AA2B82480CC76BA911F2D4F7E2675E69F4005412AB2E88861A7D925EBDE0799075
-F858F32B8BBEBE0F6138D4C8AEB2EA647046C533519867FCF286E04AB146CE6EF4080A8B
-2026BDA70349038DE8C2B71B2B2834E57D4D486F95CAB49C4DDC2DD17D8C959101CD2DF3
-D9E4E9FEC4CC05B2490A90A30C898E8588CDEAC838565BD0B6B494F2DFA565A606789728
-0EAC877E47201EFF4329FE524BACE5E90E8525CA1F5206B83D1FBD284D1109651141B4F1
-CD1D1F5A0406B90E4FEB435BFFB60BEC00454F406B6CBCC3883F8D470226A8214207DA07
-76CEFA99D769166A8327F8543039B44FE297A1EC1611713846E67B20E0DF311F715E4CC0
-3D1AD8EE1D14FE0AA2D55D1C30F9C1F12C9D8BB8E5429FDC4247AD4718B634AE34213480
-45B9ABE0C2E231914402548748A388FFE3D5148DE9F9BE6CDC21DEE4B5F9FB0C3A52EE12
-A9B23D6815E76979C6266A811157E380AF6C7911D55DD522FB766932E2CD361406517268
-43C8C1EA841219D167757C201022045656A45FA93AEA1B404B16882F20BC30B36FC2DB62
-96DC200D567BA9B4D49366EC4D3AF556013DA5878F04B437257CCCD164EA4460E472DBFD
-AF091AF1C2131C55FD31E7DE78BF0380C4B34C89528CE0A36ECEDEBFFB34DC33AF1006F7
-EAE6444F7F063BD1B1B9C88850B1997D3A24BD1650FF98744C9A0CD6F7246CE22A1A91AC
-D1EA6FBD9237C32B80D6BF79B40A3E622E83DFF1366BC6B7B6295D5785BA00342C146BC2
-527FCF50B73C17B76D6B4B0B98BE03BAD8A67C7D547C866DB6FCAC78C69735F26DE9FE2C
-D9504F5AF31727791158F17D129677F5F9BAEF97A1899A7DAEEA53E70EC6C822C3F893B7
-3A4C313551553E902E762BC58D8D1E9508D9D3355D5FC528DA87BC94DD9EE305ED737379
-CEAC96549D3E7E505A13F11EBBF0BEAD38601BE5BF68B1EBBC504F8D9B4219307F7DE93B
-EA6B153F5BB35E2B50AE9309229698580334EA4590E06E41D834EF86DECDF64687DF0258
-6AB142A457531A9103D49D0D64FD583046A107210FF1FD544A8B07EA3DFCC04ED74BA498
-E927C72907E896B8E6C0C0FD016A42B6F45AD628761A78C405C51BC07DB9D90D54674B0C
-62F43785115A94708879349142D612DACF210116A3EE5F0AE9EFFFB694C328C73EB4FA11
-56E38C4E25BFCF9F441C2B0A6752091DD9F9C2175495B973CCC0EBDCD43125CADBE4DFA9
-3E11EE051D6D46B0B8A8C4DD6443D392CB7801D131DD58696594B1FFA5DB9D70F46E1C7A
-84B445E50922880FE987BF899BB603CA937D4DD3386C24D24AD31038CD9C5727AABF3DF3
-0FA105F554A39A091655147C8511B818A5932FA9B33C2B1DE319C5F704BD439ED6E1B8DD
-FDBFFBBB038B350E1B8579A1B2F55B24FCAFCBB6905F24C82A3FCE3374F979405E69BD62
-6346E4531E130DA4358CC11FAC6E705228CD1D4BD865DE15F2C8629E77CE5152E3CE5207
-D42D9265A4F27C5FC3AF11712F1736F56CAE5DB347163DE798EA934C189E5FD6ADF49DD8
-4E9692559753CAE3584F3C43902F775B9534A4B541DF22DDDF723339562A5785E37CC808
-47E59091A5A339467B57F15902EBD2399B55A19E098ED661A475A559E465A502CA339B3C
-64A55AA28D3DDF57133DE6FC6443B563A0D49F898E0CBF45E55748AEA9E7A215D26E07B2
-C8CEBD2D9D233D8E86D53D079691EA21DE11F9C4FE0D3C904C5FDCDF2301BE7C896C2FE1
-036C2B3D9EC21292BF87593E27BBDA40DB83CA23F65C56064816657C97DD53CFC7FB54E5
-353730E625C5B31F030BB0E1D09429E6C6496EBCB17C114667F9B8A31ED328AF0EE9E7F0
-1AD0E70AF25BF2BBE8F99A4AAE42A6466347CE5FECF91355D61A312C550AABF782CBF1CB
-649FD914B4AB1EC2BBDC6EFD65621921858E9CEAD02447DAC2CCD4D9D880BCB1513A5AF0
-D931F417C1342554E7EFE9529B18CB931453AFA51E2830037D2DBA79C565EDF25A0A7059
-315E242D82F2A32DACB9D86C62658FFB7E5A11D00B59CF45B48C1682FE8FC4A4FA41746F
-E6F734D86B7CA91C976D40B64601831546DF211405F1F44FB6B8FAD3E880B74B66A93783
-F12CBBA01B8D456A1BB0DB78EF455B230B53F95C4E7B13EAA9A8BD49F886CEDBD9066819
-085B30488B011B125737F16BB6B31908808E7B076BF88E2F23684929602C888BB3A51D29
-A3D8DF55B39A48E5115E686380452EC5784D09C44ACB5EB20ABF8DFA9DF66344BCFCF175
-A877296E511AC83765358D8C091B91A6C70AAEF9A66C2F36F6387D5795B60261381CAB7D
-9A1EF15EE18683C485317692DC0CCC859F5DCF51C3930355BEE5592A9E5DEE4360E8151B
-582E019C674501C0F27D1EEC05B1F55FE9F79C5FCA04AEC51BF01CF8BF5DEFA0C9DA4DF1
-0D923E6E56D35364023C84D9D71D68168A73ACA6A6CB8304C1A830C3CC7155D9C5141DBA
-165A1C733FF5320A1D1028B7B543D2A1516071D0C02AC030E52BF79E464D8938294A7D92
-5874AE6FCB352EFD4790F6973A627FD2979C19FBF19D2870FAEB6BE729D34FED4C87264D
-65FC15436A57DA96DC09C7CA864CEE0D98AE9C498F258C4599CC97A1B9095825760D06A5
-C53E257F54407EF4DEBE04606D65E3D09C01535736D3852089D8FC0D2CEB60BE19D959F0
-CE1858D5B4B72A953FDD1CAB16B1768236162A67C1B77CC4DF6393A480DA4223B65C9747
-67A08C86DD75BEBC418E370D5C2853523D68852E705A4BE611142EF56ED90583181D8559
-9AD285830BE0986BD8FABE86377F5529A5749A30C89A272711A694AE29E2700034B6B620
-5413F9BB288AA9B0BDE0E91CE8643E96C8A771FEFD1EFED94DF8D67CABBE928E3A845723
-BA2B85A2BF2BB4F784F2324040C42292BA0966DF1A495D7DA80B9B79F76D10F1A12D53E7
-A16B3175CBC39C1BE14A36CA1E3C7CABD9F8DA323243F0703C3BBABD48B1CD35BBF2755F
-2508FD2D66FDDD1DC21D232CCDD7CA5E749A841F82EFF35249BD72B0820CC69FF176164E
-EB3E885E1DA18762FCD40761FB5C91D692F2678BA2BC45CF1BECC0A8C28EFD62D1EE29BC
-2CA29D922AF0A592E19AC004573F357ABCFA00916487664065D3864EFBC54AE0A70952EF
-676B5087CDD43D9540C784DBAFA0C0ACB72E35CF6D82789E3352A16D379A4C26118C4B5B
-8E5C7258B2B9082556A1B018085F19168CB7787CA06283382260FA3743D036EC4142DD7D
-2654BF95651123718193310928CE49B532F6B26181B078228B97B4BACCD79F6A8DAF1004
-096284F2D45BA3BA14F1D0CAD558239BF696B1F2D6F6AA2D11693B497A7FF12BEB36F65C
-C453320F8241820AFA96FB54E83DF38BEA9C7A004EE4965EB7104982F4D7847D397B9EA5
-9F93C61BD259C3BAA15323EDA020E35DD78B7FBE6D7CAFC5C34D9C8A60B079EA6A3123FF
-B7352EA72DB9BF6C80E7D97AC188A9B8BEEE3C80819D35EDF1CE62AC4DA459EB208BFF41
-4A3EF9C4E3514F44EEDF60CB817EC66E3D698702B5DC889EE0C064A387C7487DD97B4EE1
-2792DAB796E4123E9D7F3191B22F2481A4602CFDE1E708EC6BFA63C771058B380EE6AD48
-2524F9F1FB75D470EC11226A138F4B9E5360AB443D5091B324271E8B251297D8236E3C5C
-E92AB19E2005DB4A8BB12950E6A3C47C16229F300F8BDEB8A54211BA195589F6C8CE22C1
-A32B3610EF0E43458132703F86AB9CCAE7F99CD7DA69EEE32CB011EEED797C841ADED034
-4BE043DC76BC7E5F877620283E923259EC2100FB83832D104A256105EE8FA5742D7E252A
-7539334AAACF79E4EFD98C32661AFCEEEB5A9CE44B2CEB765C6FC6B361E95CBAE60A8680
-D2741C9AC12B834BE5EE4F498B1FC7137BCDC32A225DBB86B1F342BE3FBB03A17624066D
-2D652F7F7F8D431AE8DC401FA2FC64AC056A9F29DFFBDE1E07BA398624F3337B6001D1B4
-F54E9E67B059415D43144EA8DDECCB6B57022B678CE554EC7979BC4DE26BBDA16059A3F1
-16457844011864CEA021FC099B7FC141923CEE982E2915C6D0C28767027E139BBA2EB02D
-49DD1B247EFC7A2A1504C4DCAF35305671CBB20B2BFEB0EAE475ED4AD53293B94A6E6AC8
-41FE1E9CACBADD1744428F6F992348A3B1D391CF65C86E2F1E57382D245C920C7CF3140D
-6AF604F686019AF155ABC0B0BB9835FC49755277A5DF9E6F0A7B8E91EEE7A2287704D71B
-64D4F6D0C927DF674B35A38E98CD7ED00B76966B2E44912BB1EB240C25AE3DE8E7668062
-55CFEBBE98D8A49657D1B230F8A9AFB157AB3BF74C8485F5A275B2C065797A9B3E1021DD
-7FC20AF45DBB60346C53E3CEEE031619153CAE0CA4A3C25458D73EC46E8B7196CEFFAD73
-6243CD4F81D73A2A7D0C3F58DFDEACFD4330655FA5082CB75FAEA9B99D8BE6A0FFF920FA
-9F8AA5CC2EFD3BD09C3B8A94BA03D1411D6AC5894A8402330D5564AF8E75AE549A11BD49
-E15B20F7879DAF938B09E430CE1B57EDD9346CA8AF022DE5548A4726D49E8DC439D7DE79
-7C006A7AA78B018A1D68E15AA83FAF97394FA4F0E1460DA5AA9710656AA1E294016F2F8F
-D7B10DFCD2D10AB59308DE6108C3D44CA6B5B1A0A5408E6FDCBDE1B5CF86CD7A9F815146
-B9721F11ECF3EFF7640EAEE03D8D3B4B4F055C6EA18A7FF129F369A1FDEB7B71A3223890
-BCAE11DB2848941B6323221AD976E5986280844ECB67C4A1ACE6BC87517A2DDB2F928A01
-8727B99FDCF0D0CFF57A0BEB04C7DA62E41E9623AF0FA6EB651E0D1C9C72140CFF8A7A2B
-BBA67EEF1AD2419BD5D399E09F2BAE43881E8AC834E46F6F1C96B6EB4DEEB32637DAFA37
-89C2BD92A4989F9AD822A6483D516A143EEF6DE93ACDFF3B118F8B80865EEA782EEF6DEF
-D8E5E9252B378E3F09E770F38CF1A71A5CA9E872EEC7E1AB4AE8B4DCEA41630FD47B9602
-81A711304DDA075014AD733B83D5631276F636D4A470C1DB8F5B1E1AC5B005FE2B5B4D79
-346B39D86048D7066C0F5476FA7E8A8F7D48488F49507237719121AAE83EF6938AF31754
-5C848CE4E8A118A8093F5720CC4884D3886A5BEA6312782D229ECDC11D4AA1731A5B098E
-DAFBB3EAF2C539FBFE55E96C1129EF344000D8DDD7C7CD53196B27AB252155A634FEA9D7
-971E3079ABD8F38DC7C166B5DC2D0B1C66D776BA678C5C57E8EFDD55EFA2F5B5FF8DADC6
-0F18A0026B3159C7FF28D5283E6835147CE4D5E5ECB6A8E537CDD7F8F7A0E7B6FC53292E
-FE0F780D9B58293F527159A8440C09FD842877464711F7256DD732AB76D834EFD0C5557B
-DE603FCF0E35B4025848595E585A7707A33F0693022B06FC2032659BA15DA56C183E51DE
-A5A8921061E9ADC27AB380DCFC851ABBD9A51632F60EF08C2FCF84A86A89516D66DBB232
-A4EF10707682B9AF6A9B584766C8432FE43BD4D2111F81446E0D508817D6E6742261939E
-36C71EE1945C10C1CF6FCA1236AE71A10957B57B1F8F69EDACBBB9898735D2071C073E43
-6585FE7EB0BC41E40DC59BCE6C311D84F9C41929DEE8317615033CE146B3C8DD7C1DFC28
-471226DCBB5A003FB6185793B313EACB67A443C60A2A7873EA4F13C0DEE9209D4829FBDE
-5E93380F14C2F04448CCCE8C92A0494E4F5BE68792D35D019F1C4279D261579261B6A990
-6ED88C23D9D7993D36FB0F0ACC744B14FCA75D62AFBDBDDE020DB4EC979F9A816DB0AA8F
-767A0CA4D561E00EE5917AA1FCCD701A8FA3BAC8AF96268B9E141D891F15B918882FBDF0
-4B611708AB3D464936D9AB17E781DE646C2BE7EBABF82F4D547F09719EB03FC702894480
-9E8C963D076BCF1DD1C29F3E6A57DDD550B4C50C940363F0015EC80F170B282BF9E9E8A8
-7E11B31975583D1B8678BE0F782DD2DA711A0EFDC5EFD9BCB47C4C458AE693207F67915B
-388CF71C508BE8A2E3336692A068097AFC21A42DF45A12CCD4E6E005857D04328032A455
-070E65A5F1574DD06B48CB94508FC3DAB04FC0D777C24F1B8A32F5401919441A01C7FEA8
-90AB7C15FE2FCFE62713F42E9ADECCFA5114E46E8FE38448282A694BEC76034775C730DE
-B2813ED4E2EB75C8D2CF9F6EAA42A82C5C711BE920E4497E4DC4F60ECD923B6F21FF8C9B
-2AE3EB19CBB422FD027B4C8CC503F523E7B18DD1858D1DA08C9B0D0B9C9870D549436AE8
-D21746C86310CB94923304496CB2112D91AFEA2776A9CC7CD79D381AB7E251B6B13E8DCC
-36DB7BDAB3AD9D22C7A9F6CEEE7C130E3753C4AFC946839697EFFDBC4005EACCDFEFC029
-9D259947810AFE57002A3FD3B9446977345BC5D5D53B6F9722C47DDA534BFF98C2433B0E
-EA965E20ABEA481A9C81C612ED51CCC35A74CDB473AD0A5D2E42950AC1F66DE6393BC9B7
-B02B00441EF8CC421695854293874A7168496467FACB15062D50600824D18F65E3FB83DC
-C5273D5743A84DB5CF9D38AAB1478BC6CC1F849ECDDD397DC56D1B1BA395684520D68729
-FF5132F4F7B48A17DD6FCC303871D6AA2F29CAEF2EF77E0C149829B9225746D43286D1D0
-940E765628810673F32809AE451309BDBAE942726E9A2D57711683B3C4D39F6DC393A20F
-BF0A8F4F73E8A103B3D9B12572BA4B846A0A9EF3702546EB97A046264F067FDC72CCD091
-E357B618687BE9E5C7E667914F44EECBF3DA82C9464380981288AB2F9B058DB262EF5BB3
-0A4E0327AF77B82AAF49479A96A6CE7051D2277EEBF286FECA3B0CFB56E1A94B147620DF
-BB6207691D8E751D5E468B36BD64C8220F2883A5DA60346EED5616F924660658111CE6A1
-0FE807C63FB67BECA2AC00D98C47B5F1CD6B9FCAA51848D97EAED90AFA582F925DB9DD91
-F77B73CE5BCFC0A8B21C4A75862B345ECD68545A4ED15FD4A3235429019E3C922537DFF6
-F0C2907B10D068D116EACC7E0C82EECD67C0A377E367500BAA0B47EE6444C4FA196C7DCB
-F1B080A2531A96E2A874DDD02793E72C1D259C3004474DFC91F2BA21554D2DBA3E4613D6
-535691E6E4AC04940353EC25951DB2D4EB2FCE5D701249B835FFED7C78225A84A24D138F
-631AB67295866BBBD000C1D5BD26B43EBBE4740716DA3D8293CE4E359792F7120811B32E
-2B378B876D41E70631187CEF898EDE78C0A8986CA30889A8F53C2344384E3FEFFBE7AF07
-171E031BFA6536E2E6719D934F74B39169E1D912790256B06BAD12CC3AE588B2B2DF1C7B
-ED6A3E99773C25BA78DAB1C8E902D65E4E55FA9005C4D80819AEB20723269B6C091AFEE9
-29D46C11C198A7BB0D4260EC9464156F655EB1D460DB7C72D932CA927D39EF98F35EB6DA
-7F8143A443DA3D0E909E6B846DC2DFBED888DB41F2C03D9C9B61F31B2E8334DB7205FA8E
-C2B94D71CCF61FDB51C66D8AF7A47417DEC7FFBD8A052779869E709F3B36BB74340E78D0
-3BED0A4618738C9D2C3C447C0D50BAFD176208820D1F314E21615B7A4397883F8D59E65E
-80A814CB6E8FBA91B0C410A8B7E37188C1849AA206A66162902591AA90F18E0426C586AE
-80F63CD8764DAB7FE811172A87AEE833E935F5F56AED5062E2B35F6077EA26AD8DBB1011
-745F36D936EE50A88144F211B37D8C169938EDBAF26E277DC7A921C0154317BB081A7537
-F0FC37CD6EBDB6F97130CCE08B85690E173D7158367C616412A63D0B8ABAEB47B1BE35D3
-23456EFCF7962953F630002DFEA23DF4672FEB5DA149B713FC91C94505596471E44D590C
-54FC5D336DF319A98AA87DB9D313B9DB208DDAF46FD5469AF90F548E704DE24E3344B95D
-6EED106864FAD4001FD8DE48DEB22C8AC3FAE18F7B176804DCE5AA2144A073FC9BFE4CAC
-CD6CA534902429E28CBEECFA8D984A71E77B5662A1AD114F301F548F192B11ED7EB56BB3
-F8FE62001753FBF161D538878778501F917441F9C5DC3B39704BC1A234117157303EEB24
-EF453A1E05208A07B8AB22DA331527E0871EE7D713917E86C80D2FEC3B934E5B7540C672
-34D0FA0E4AEE6A5B1706F2F3AE147690A76815F5575A5C5B44682028A065FE8037E10526
-5F282058D027620C117A57CACB77AE153E8517134168668E79017166CC435DD24831DE0F
-65872D49DF581C872FBD74E0E2502B9C0C741322E9CA72152E7DA26D84696366D3DB5C56
-943FE579F99CFE384EDEFEDFB30F7EF5ACFF5BB88327E5A63B796C7EA2461B21419592B3
-65DABD1DB63F6AFE1B959CD018163A48D82D0D36284F118263E9D2B8FA2E3104BAE034E1
-A1DEE263980EFDB385CD6D687D1092752D7E3A6C46D678BA2A2F3E208988AEF16EB2C67C
-0C5DDFC85C6819746A034BE35F5C6DC967D64005E4104A7EC6C55CEE199CAD3F98D83A22
-E9A32D0B0F4E7DDC4BF81D77914EC3C3DA3AAF51424CE3B50AB293152EF0EC717F16815C
-4ACCEA27FFF69DAD5AC1DD549C6CB01F23F3C5A3DA340CD914849991C554202076C37DBC
-7FD48DF9DF23F5DDDBCEFE0114A2877C31385A184742AF5AB3007908A359240E9DBB0AC9
-501B7BAA815CC273D953E0D50802CAF8C00FCC054B10F0AB7C072C573FC4D3EF018754EA
-32203E847125B73AD879F613804FFB9470CF39D0694155B3D5D500E3379A163C86CB1AD7
-85C3AD12B724AA4F203C212FC0FB7051CD0EEFA161920E515FC83EBE802800D1C851E085
-B069541D8E183032EE5FB6D8200376FF0FA5786796E7B33352601711A2323AB0F2CB64A9
-B71C936643B259BB73CAD6D04B33201FD772599DC49B9611533D53630A3C91A6DA4E3CFF
-519BB469F2C23613B0D445D98377E8EEE6218E0CF7333EB5C4257AE30DC6F8FD35C5978D
-4071F0D9464C260223902E3C76703BB2E3B3FDD9ACB3F6E43C3BBEDDDAA846A4893A6E6D
-6E8D5AF8FD12DFCBEF1B5D8F537AEE87AD8AB3B486910F0013FA6239528F698F61B6A2FC
-FA7CDF66B238222B989DD390A1647AFDB9AB7E287F5CD96B7E443C293B39C7C8A91A207D
-E7F0A73A48387C9955747277BCA7E97EC37EF0741EDC541F9804C12F95F3325F2E80CCCE
-0CA03C931C7FFFB7419BB3B2A3A67325DAE74C4D597C41E922B09ED70F411F7E29486C5A
-3D94A857CC69502C6DFBB6E63780DC3908B989F01116B28CD8BA096CD0B09B3EF4AC8E64
-55FC7300CD8861EE2F1FEEFCC03D95FAE9DCA58000441A1D3419B77DA35E80CA40C0C49C
-E1DAA21511AF32DDCCF3935CF78808330C469C4F12481571303335C945937C0080E56DF3
-ADAE10198495A9E04DA1AD8453A5C3B7D9E6E8A8F6F57BA249F0E9CCDFCD8D25C8E39BCE
-2B158052D9112093EDB087E2DAAA0C835634BF21B6C767D7D622BFC669B78040109BD4E3
-673468377348A6EF3D0E6D1D7BE8A07BEAE0D72CC158FFD8904003E7D928F7F9B78097AB
-A98804FF2BEEB62C695333EA76444009C03751DA71269219D0B30BE98C710803DC3C1159
-2CF0B2D8317B13358B3D96F2B79F801E303417DC8FFA4C1B5B246C5167410518BF7B122F
-072E1C356BB87B6BAA4B36609C3CBC4FF578ABCB0A9B4241AC991354B9BE34E831FBDDA1
-D97665C37DD1AA4E2E2AF3D41D2E9561646C40D622883D790D6986C60A2E5B2D27D9370F
-0F2E57DBCEBDB45A6244D1DDE4F64D30B94621B21EBDD2DD7F87E75E9BC4F47F1E94450F
-AB7D3A2687C66FE4495A05AD81E2C0AB09B4814422272290A024FC55819E7DDB08666BB6
-FF9C9C4F1AB70697649197C550C48D221DD1BFFD20AD9B43F876F19CD818F3EBAD352B94
-03A050E79CA2A369363033508882A1B63D0755B43E01BBDFE55E7F6C171E1A6BB37365F5
-6241C6DF75D3E1B1364A655982D595C66A186310A5B2B3A4C99D39069337E0B7F3448D7E
-E8AB0C5EF3AD79CD8D9C86C1E54392437C1077573076513C0DACCE6D16A3ECCED9C438BC
-F7859B1ECB294B03260BA9D9890424DAA816587C4004FF0905C6026A04E130E3B59F1952
-02270BCEFD5B7CF306389D3F255EC17C85C6C53D597E11DB5C1E0902508F22044441EEA9
-A474CB66BC40D45A2E0DEF1C83FC4432E155567ED91D8A928D2986479F149E4AB3987D95
-93B419964BFCA0E042CCF7807B125F29E22A488BDB19285FCAB04AC29A564D599075B2E5
-B3CF0C6D53BCC23C1ED6A5206A6AE91E2F21AFDD4542D64A85F397B3CB0DC1F2A0C2AA87
-5C38974242DFB90B4CA67259D610BC8691037931C69D18242CF469FADC88CDC85FDEB881
-A431ADFD4071F3C856EE5BA0196D1A7F157887642EB50C8662ACF5BBD27C4038206FD907
-8AB7146AF5B02FBC3B84E61DC936C2B79F204C8765D6F366CE1DE4FAA944852EA71AA25E
-BFD160E6286C927FC76EB19F4C5878B5D847FC5A941B8F2A1C7C38A0C310DDDB5D171E4D
-0A1774ED965F237A5396E5A94F87367DB141DACB4448F67789C26DCE06FA01C92014ACD0
-1209D727E37A5C64067B2DC0F91530D8AAF59DE0D750B2A18BE91D7A3362EB026C438FAB
-EB0AB75C8B2F4137D843BE8EF156CFA20563E291B34F19F97081D4E43F4A62DC72591D54
-289D839CD857540EFA38AE1A02A13EEE35A0A4A3576FF6AD5598A76B3E83FB67F5062FDA
-4A2DA616282CEFC090E154EBEE481B906CC206AC6A5A9AA442265E95CA379785B96E76DC
-D4095708AF8A65DC213E42581C59359F3B48EFE9F20AA85E04EBD4F8B4B8201607BC2CFF
-FC71D43AB06A3D82E766054F2A54734A38A714058C7573B847C8A3A82304638F2579F037
-83B88E29709F5AED8F17F68BFED85C7589F5343D8A1B73935D693E70E49F67EBF2E85104
-F1A384F7D6BB00AB4067F816CB11C71C625136E073E4C98486A5972DF70B5537693FF55C
-DA94FFF774F7C10120F4836B9E26941B8AD2E48B90D71ED129A48DB73DDC0E7CD569272F
-33014FABEABE382BC029832CA1A7EEFBCBD24CB435B58703F1E9909FF7D30D37154F2D5A
-29CFDBE1892DBAACC07E68544AD4A1E672DD620A5EA6F84B360D6B0C9D2A16600731892F
-4BA194089DD0D829F7DDE7885C7FDB37B8DB601623B7B398070E617E2DB13AA6B7C7EDA1
-352570A133F0DD267E23EF4885DDD4B6A2EFAD3B55741CE7B36475A878228A200A49202D
-13A9EC655051C1EC4FB61E9D3C1029D21C4B943A64479F82B247759FE49DBCD64EAD1605
-81159DDDF18584457D99949AF2F2EE4F2E3AED242C25919F51CB76A188867D5959D8AF10
-FCCC2DD8D2EBD266B751EDF244BB8284A4705E1A4649A050348AE54A048E515F29469FDD
-B04A905C3B9C2B3744455C781BE4487DB56A085A9BDF8F8256FA4C1B37DFF3295F5418AE
-C03ADCB277B3157A1DA2D7176E12B334A49E7CB311D6BEE45459160E34B024E8B68A1768
-E83A7B8D7E0D5167E4BC7EA55157A20C82EF009A2631CF53205E11B7D0E7675329822052
-C2FD7C1FA61D269A90B94A4F103E6FB3EF6B1B0304ECF573EEBB1A432F7AC539EB7D40CD
-C2F67D1D3E87E6B66CC16B63E00EA442036DA83A7E3CC8F2946CA59FCC0C085D642DE6CF
-7C8B642EE62B830ABCC7CDE13DEE8C11A4718ACE97C8D47BE41AF8DFB4A95D44EDD219FA
-137541C53086519D6F32112A2507D37B2EB7D2FC10AE66CC5D5A2D6A4F8E6F084A95C923
-CB40B8437D3D51231B50C72DC5FEC25ADEAED8D72EA6FE59859CD3512F36A0A46D55607A
-AA143A65CCA0203366C702554B905A093B2E845FD90002C689CFCFFF02586DBEBCB11688
-7FF863EA45DD0EED511F4CAF921015383CA0391E393A44419B34E82789A62502C19B3287
-DEF1F5B24C60F5677576902DCF76F00BC4D3A056875990D18BA69154154C76B2BAA38ACC
-39C8C1D55892583B7C32CBE6411834223200F22B416709FCF635EA5016BC3CCAE42C68EF
-AA30B0EE474890D25C9EB745915FB60F517600C7F380582C7BDF4B34FADC9C60CB139D03
-626F4DAC953F9446C02331E2804245F7AF2BABE7FD2636854AF0CC676792580B228AF541
-6172AFF0C2FD5730C2D71C9FA3E17D36F9AA4120E180D025B710EB9F95AD8AE31B66D872
-20F028D258A85409CDF37158F840C2F418A0470357AA99A825A9537D24BCEB415329EB6D
-5D985445AB19B08ACFC1F58510119ED297B034334EEAEA319D0EF5F7DBE4836DF61041FE
-071BCDF1644E9C2D924251049CEEB73548286CC1EA170F0895771CED237B33FA8EAF5571
-E22C890F0B552D319EDE4A59928F14FFDD911F08C17E939FC035D7AEEFCD77AB4A2E7C4D
-91B25D75F5C6CE9122C27E0E4A033417F389CF8796EE0F55794001AD285C9285436E983C
-94ACA66A8C8027689688D0FA18DB23BEEF57C73CE751FC6ED14FB4D9601080258B7D4885
-4CF3F9A8DC58E073B3D2961729AD90372490C0202095ABF65A8C95691D7A32DC000B6FB3
-EFE315D903FF04A6B366788B5A5FADA322BDC00BFE337DFEF5EA0B899E36CC226DCE1B75
-CC352F71064E7F05420E4C3D1102F55E082E04F1CDA182E5DFFB5EF1283E721CECC5978A
-A1EFACAB70A21438B380BE3A972AF19381FCDFCC60FF173ABA8BC049D0D9F22DBD722FED
-1711CCDF75C710D083B0F3A56338A7708DEA014BA01943086306885854CBBFB8E372AD75
-6A00B5CE723A2558D80EA8B34F987AF7828CC5457865D9299E3070077F8D04D94C569806
-97CCB42D01ECF928629FDDC07CF668E87ED8313BDAA0D5FD84B0B416FA83998B1ABC0B03
-A3E43B188B7D74287A1463CF2967C7FF64335B205A69E974789EF5741A6CA9A3B62FAE04
-37B957A01ADC30C6C1CEBFAA7044161B9A094377D57E4E990FEA040EE9E37414D70376A3
-66D16916752F4F51F45171892908A53A3F6EE0497A69CE4D4F4085B1BC10F65623456980
-DDCE8C933CAC5C779D518720F5B8F511C8FE4C53E23103A12B2FA4DD02938ECA2AE76C58
-000D38B2FA467C1E1A8A442F9EC4F02E0DABB0204F2AE527B6F7CC775DCD07DBD96C589A
-B912F727B9B81FCDEC5B3761842E845FDB6CF3840CF0F183F2ECFD28A92BB4F5CCE7DE8A
-ED8912F728E39646F57DDD2816BCB3BE81DBF41DB3D3837BDF55B60E083EEFCD1A012A38
-846E025EC9AF4CA745679C60F88F01E3AEE7B65599AB02836F7A1F192466F5F729483DD8
-7C2E1CC75A61F0D7171C85DB04073B9A319A2F2B76C632AF2ED220FD9D7A1F9010836070
-E0D864D1D31180C1B6E35B6CA08D7261CC843915F15F802B3613E14218DC9EB7548A5680
-C1A9E7A6AB73A75DB974B4359BC428F1CDD2BA5E7F4590DCD96F1C3BD35AAF8549463541
-2A28027140D352FD0D9EFD97CCE7A86729432B246EDBC0A54EDDD6E67636A6F908BA5BD5
-0A90F4F1365DEE1C1E8989C0AC6C4A64861096C1B1D3CFAE51DDDD96CC24C5C11275EC50
-5F8DBCB44E345EBEEAD458D458A177542F5EE64FEEACA55A61AF8738E6BF38A6C9B211DC
-F7F2675EB86CF3711C97FF23FB5F5FEB1867467158BC75F7BF7414BA151937085005B8DA
-A6D82F31DCA1007E8D3D317D13BDE2428072D2A3A2743EBD214348B15EC3504426FDF73E
-3588BD1789A8FB8BCC1E1A021BF64D274EF0C9FAC95EB50E2D7A1768E82BDB5A4239DD1D
-9DD8E1775D3BD4CC4C07523E74FA545D5D650E9BC87B80E41EAAAD235833D1CF3B6B9411
-4EC21687773049E082646C8F29641D858D9890B41FE8C54649F840A0B81166130722EFFC
-A6446C5509D988E0B4A9AE8E8765E1DFEF579A6D658C4781BA3B3DACB899F0AC467B9C14
-C66C8930E9A8558C8A19AFD95FFF4A3DADD1DDF80245C2F5F91D23B39CAAF4D2BB1216F6
-4490CBDD7FEFED8406D62DDA4A4B0F0FD80487C9752A0948F74930FD47AAD59FFB8B5540
-DE795994B0B6F209699D1DBFE7B7A94DF25522C7BF57C77EE9530784756D2FD8D058B9F3
-BEE20B4BCD63C950F9A4A01F66680608D66AA87E2FE5FBCC265505325711299F6E8F54FD
-1686C4B532C504753EA7BA292A91A0FEB9E5BD690F1FC1D1B16D3B9870CB2CD14F7454A0
-8F365FA3FF1F0A8A33F9476A7053BF19ADB66EE28825530115BF79F60AE108B28822EC6F
-313C14E43C02FE8871307F481D8B00F0E7C847A3F239723F4003226EE84B31A72F19BE81
-CB986F92710E37B1F6F263403CBB97392DDC7550F03A1ED56165B3082314995D75A4588A
-C4E503C6BFF1E642802E0C3F1058B45E370D3DEEC937533E1CCAB26BEA94E9F89F6C5DE7
-6701DA7753CD1FFE77A42B11765EC6F80520EE01878ACB37096CB9C091387AB3BD68205D
-1CA6E5BDFFABB2550E6B942F65FA977D55A459DDBFE4E17581CC19FC3B589F976EC22F91
-8E95546F8A447EA621DC289B7B7D67CC9C246322B221E6EFF507C2DBD4A93E41C2F7AD94
-4BBBB57372F85E601FFB6984CA66A5B7E98650E84F498AF13C4B0EEB0038953B5A33DEA6
-9CAD47277A632B26BE464E87951E89B8E0C051BC34220EC245E6E31383B22980AC124D84
-3662E9A1C8663100520AEE44DA661F4307BE10122C14D706993A586C7400BA3C74F020B2
-047CCBE55A6DCCA5AD37AACF9ADC82A59060518FA39649A726CF23543CE91A1A1070FCFF
-CA48C8C6A9B02CC28479D8F58040984250C0AA0F581DFC8A5F978EC3DEAD276FBF7722C0
-2C3E41D993368CC019110A5ABD10C1ACD5A5705160AF288A60BA2AFD20D22099265BD254
-28EDA9461AC8193680AD019787902636FF81AF8C0CFE7BF8C064850BAE2E652CAB330EAF
-13508DC67B881361C4F29B45D9885BC4CE554493AB16F995A98D40B7DB137953488710E2
-03295B129EB42BE45B089F8F40D505380EC2EC7C1DDCA1940DB8678A1CA0232F3140FDC9
-C00FC77392237C66F9A0A8B88A7D7D7162F72A1319BB22E8DDF62DDE64C9796FEB38C360
-D00F5C94FB772344423AECC5B4491B100A2A93D716B57B5B44083101335682DC6BCAC0DC
-B500EF88D04F4F955A1214F56508DFCE4299A8B5DDE9A997E431A55B0E8DB6CA1C332502
-200C5C5899731AF052BC28D2980C00DB0DAEA4CA5EAF199A5DBD0BF794AC18CBACC20981
-96FD0AC31CEB455C61991445EBE8AC899B9AE530847D5DF608D011437B2FB24E4A1C45F8
-05FE4FF8D4109B5394447D7C9FAE9F57EB904B7D6635C77377D84D628F0BB1898FD9DEB9
-3E82CC2ACF52553E9ADDEB1E275280C62E4E8AC9722C5E1CB54DE4C4DCCCE6166F7F70C1
-50747CE19775F12C19E4A81599CB9C57918A42BB0E9AA638429B13B606EFA7EE2FBD7632
-0275BA3CCEB743B7101BCDDB2CE5EDF843E8944E4D87E1BBEF47C9D5611E1805CA0F2850
-CF8A205D53F054DD143C3C90D9605C3B7AF045C553A6332D791209DE72E02C146312B25A
-9A5F4AFDBCD83EB67685ACF487664FCF0CA5C455F5848E18A5ABCC174F55984E368335D7
-BC77BE4E2923147A111FC8CC57CBFD5BD87D09867347F01E11DA0780E4FDE4DDA54833CB
-10ED212340A0180CDC5924F675AC6DAE629555524297FD133BBACC4F51BA326AB7D07DCE
-2093D6DC8E6126DEDE9ECBA129DF931399C72CE690C0B119B117A14E3AFC18094DEF65C8
-4DE9705255D3D411BDC6958D872CBAB28C9586DA888066A2A00B05FB21B5DFE2B9B4C87A
-A0C4D7B91EFC7E8076DC5817C35652903605B78FEBFF1B4783A170D8060FC151CE533755
-7B8B3B1EE083114F977201446CB8A5BFB5DDF0852365330CD5C82CFA9BB2DFA6BABDF675
-45586F4D28605BCCCD80BA8B59B501C629D6E6BD5D676665462D5DB2784C5D6D8A42B406
-11700F3A27FD143BC1EFD859F7705C795EEEA9FFE57E25AECCC5C7E270833AA9604C6248
-612C356B6D9937E3B770F3B4FD632A0D8778C5EE2CE62C4E780AF5CFAC1C7C564637044C
-0C8C90B9BD886F9BDC287FA97D4B4F4E4E8D7816BB25DD740D8C9307B94DFC8E8E91F41A
-189E20E2B438AFC4F42607744E8BF74F3106312D7480A71840D4994ECB0A7A088784AA68
-84BF4DA162D5C38A4EC6354D19F06313DF2D4167B57BD2E5F544490D711E4B97F8D5B68B
-F4098D8C9F2D8B8256EA8CCE05D189DEF0E86938052C44D7DA68445A6AEB7AEFD865BC96
-592DD991DB7FF294AC7DD8241E23DE5C908046179B44B9E8A79472154E254D44BD9FFF4A
-435B05DEB14C08377D2ABCB8A26F706A366335F2DBFBF5D59B9DA9C67CB396A17A40C874
-C28E4AB5E242B6AE244EF37D90C8699BF1F2D5F8CD1D3130C0CA72B7040991FA90B3C413
-699CEFA97113609A486483E2A72DDF26953094C4E2970A243DE23963F929C3CED76AB062
-8072F5AF6EE3F950DCF88F57F33CABA2C8E4598D4FA6AF46656512E180DEA02FE3BC8701
-C4EFD669BDB52129FEC53E6FC55499680208E6A874BE255EC21B8C75A9D0D8A2622A4CFA
-7E6BB9E8986AD3EE513F341C595AB2A14784466170C4D6DC2E9BAC82B988CA2609FF4B01
-185CC5A2B639A028E4A378503F55C147E6F8B30CFE5380A7A07981C15BE3C7120257C67B
-4B603314DC2B65A2E4036151713B934F460FBC1B052417B907F70FA06E2219F310E34443
-A17AD4524ADCD140341BF982EE4D8DE7D969AC5621129C600231B16E97B62B6F618CBBCB
-638020E75A77DBE28CB0EC9E4221F5D573DEE815512CEBEA629E6761617E69BA730B1EE6
-14C96D5758E519783F0862FB4F5C10D444882A344972A91E12051B2B29DFEF503D8762AD
-895871D7CD4CC8BE62E1315831FC25712EA1C4DAFE49CA332CCDB5AC2C2D67F6594D592D
-221B7DE7E93261E9D34179DE194AB2F4F4DA9DF9EE3EFAFEA6F1193940AED5655FEFCEE9
-E38DB186C5B5DAC4B0AA13A89EA5E81303A681133ED154B164E3A1D416DF8623A38213E8
-049B876C7C22F625A57248C0B61E4DE518F982E11672AF1765984203B7B7A17C2CD7C7A3
-847B6FCE423541C14C6712572DBE3BB99D1144021286B4E3939560998BC16A6CB47F9905
-BD48B9E25D1B548F6AED304BAD2823E364DAC055423B76800ECDA7C554211DB47BD28200
-79FE362F799925A8BEC4B4770574290D0654CEC588933BE1845BE51FDA15760DAB3257C2
-67E89BA950E833DDF7D7FC37F54AFE1954B006E3C758ED7BF3B28217EF77FFE36196D8A0
-A81157CA87889D7239BCC205459C3A11B808545C8A256F97F3B7369EDD1CF5D916E71B0A
-77BBC006A71865EB15837635FFAED75D3172D91BF820230392B102D1C6AE05F36AD0236C
-90133DEAF1B0F7658B6121D1F2F293DBCC6524C89A3554827D44601BFAB910BB7C908B8A
-7EB7E84221ADDE214CDEB6B74765F2E8148F013F4D6CFEC4C7BB344D82B176D665A98424
-CC385736C4E1D81808ED22869C8132E5EFBFCCDFD1DEF732C3604BB683E4728EB60386E4
-D03D08E76B36DB7D39F07F505FC13A336B7AFF4D9587D1EFA16105FFFEEEB8BC2406766A
-D3742312A7DA69A7B666A178BE43DE659D46CFB1A0309EBEF7B886EA3B3B554EB7225644
-EEDCADBBA3978EA1EB59B35EEE61BF1396A61922DC59487016F66561EFCEA19F30295719
-156A8C9099F0C07B5C076DCEA85C4924ADB96095AF46C1F9BA08BFAD5A4DC49E95CAB635
-CF1DFAE9A1FDB81E27609EEBE67A9636AF703415EFBF5EF0EAF7C10B1B04F139E60FE96A
-6BB3104555EF08139F1641575A227E86F0DF716C829AEB4BC5CA32128AE75286C6CE0147
-F4D6873FF3B94A6CA54F701B9494B380D65E691F988CF7C6D74BF67A42F169FE5AF96CDA
-656683349FBD542386DB635D09CC032C6BD486D08ABCD17A69C7FBDB61378024D2866932
-47E834F7BE079A875D8243E46E1533BCD01EAD3BB390A727226935F1BB5A9A1C395C92FB
-679D980E6E67EECF4DEB74D75C164D53DAA8AA3955A91C29F28AECFC65BA8D7572374DE4
-F35056460B36941E7E0BAB36B8C28E081A29D92526D2F19BE960DB6CB355003BEB9B3054
-2A56413F77FCFA28B73258A8F4D473C04F8876C2B32901F62FDCF97261B3CF09D0BD6087
-ADD051543706CDFEF061C5F909E6BACFB2DCA11F38DA994E7BE7373AC2877648A0628662
-00AEE5E012297FFFCF714986436209EAFF78C09FBD9C54160A4D4C0629FE3F85CE065438
-8A996B462D6F520EFEDF8EA2578FBD42753A2882BB3FFFE6F65A89D0A74E27F306BBED76
-1F35A13A1DBE04D998F5CD63054D98D5A209E82637FB48929F7C70C154F66B6E40DB0F74
-18C103D628A4BEB3BD0455D886D752D58009ACB9D52EEF4F119F22CE23AABF40C558BA77
-5363C68AEFA720A3B14576B1EFD95405666BDB2966B36C206DF8DC7C2797412602A7603E
-C13F0F2FE5747134C666FC26974D7FE913158CBEDA9AD94535099E136A43B962A93F881D
-880E205772643F2B60C8BCEC7E4612BF86F9C0FA3A2F13191C1A6C3D50B35D6E07F8ED98
-1B6D2F8DE15FD9709A8E541A0276CCA6542FF3B921CF5A5EB6FA0AFD68A952114C9A3F8E
-3B3FF6CFB9EAAB6DBBC62F38461824B3D0831C5E560C6459E6453B629B95F9D2CD117AD6
-E038075BE1D25A833FCB17D3FF657B483AB6CB82FE2AF17EC4AF1FDCC3FD6942A0425826
-3DE038F6D17E3F79404D44819424A2A4C559D44241D5F577FD60A00990FC2D14C271DBA2
-177747C6DE94CBC7C9C72D0459752D7E9680CE0181DBB43180AF135BCEE65DEBE77C1687
-078AB912E9183A60EE6229F6B9ADBA395A5559739C3E29C8B0EB221A036BA888FABE661B
-F4D4EE0B4B6D62C5A6C96EF3C57A8B104E14B9DF763CC16B81729D771B557C4CD2191384
-0B40201E52A80869810ACF32FF93C005CD90B15F8628832CC689542A4D4DE58B55B050B8
-3E246BF54510B53218A2C556758FCC89C07E5E7D892AB0B9264529368EF16CC4BD6348B9
-57F2D5AAA98E0F999D4D400E77CBE175D35F004A19AB64F00169769EFE8E7D287A7C024C
-A1A0D3F915EFBB25CF9604BBDECDA184C0D81EEB197FFC04B2190687D6086DC57FC08F7F
-2DA512C57A3B9CE44115F9A6A7434E203CAB798A8ED7A68D9DEC0919B0B7B334337B652C
-34F200CA9C679806B47152B2325AA1D1275B62F78B8610CE4D37F7F7DDD281AE294B7DAB
-508AFE5492C4A497DF7D37837D43ED2A3D91C04ABCA7B0F7414A451ED560D20B0164DB0F
-227CC753A9CD526F8C57468912A3780F3E9A6D626405FB486F6945AED27C48661FE726AF
-EDF3D69BC7ACF0CC657CFFD5347869D16AC4C6ED41F643C9BC981425125B563065DD7963
-22413E1EBADDAA6993AA9629CF048863BB3AAE34B44308D27C48B6F4F9E8E1CE6C471466
-678EE304328CCD8EF1DE777AE28EA758360EE7BE768332794871E18009B99351710E22F1
-83146E57B21C72EB728B83C9BC618904CC0094FDB26814C8667AFA12D26076575D26106B
-1407B08EBAB89EEEE0CAF34616054550D610DB759C168E26C08557822B995606459FE74F
-1D085225CF359A8092A9175FB03ECA2812D7467622F4F0132EB4B1DC6C40CC969842000C
-3DDEDCDCFA0E8CA62B214E34F1051F468224AA8D0867170019FE82F745DB85ACE622A175
-E50A3A371D5580313E08E2BE5A6262A83CF8B6DF0A02F258F81C636D02F381AB20166A5C
-AD53633533D61E534CFAB2899BFAC061ED7734EF53E7652C6D56186FC27D54991C8411CD
-D2E9D048910765AF119118607413B556016B075BB4245947B9ECB4DE17C38172AF945904
-92630EF8789A3B7D973C9152A4EAA90AE6C984622AAC31DD7952553DB1289CD44C16A3F6
-7FCF7BB135F885F083A539D05DD1128322FBA172737E00842BD674AE3AD8CB68D95004F7
-0EB5E23E04182E56D4E9355FEF193B4606D4C3D6B9275521AC4EE52E7148DE5196E7F84E
-A8E19C639D8D20F70EA1D413CE48295B47880A8535F8E0A626E913543AD381A8259FC5FA
-593DBE84701260503BFDF27E719A99635B710F44EB5382AC3E6444E6B7C6D5931AD45866
-08F06FD25CFFC918DFB136AE01275EEA017BFD989D0236E7297EAE998B198FD2DCA030A3
-B851EF96074946664C4C12A680DF7A412475EF3E641DE2644A11F9FECF59332241712B76
-4E6F32AA42AB853E51078416EAE47704A0063CDE2E539A46DC16516C1E4680A8B1785BF6
-CFA86A558F74164390C3D35DB0CB7659910B6709393EBF9397920D1CA964859983FB49BF
-7DF5472D866E654ED33A10B1726A5F3DA71B93CF1A21AD65ED51DEBE5625236470C49485
-AA53F0271E41C2A20553C67DC3388EB8C51EBF88E533B014FB9CCECD1CE071FEB8353D85
-E89DEDC7AC71C3873601B71CCC7BA3B5988DED9FF85CD350ED374EB8BBF2813854EACAE8
-3460EC71E78B7EFF1EDC8EB3E7AF2764C63760B38F6015B5299A1B1969251CF1E80B8E50
-4EC30439ABD13E9FE242520E37F523A1CE4008A75E490C2D5283F66FF5CEF6A97FE86B78
-4551D1B4BA916A12CD2BF1434FC74F43342297E4E6BC9E0A0C9F54ED31CDF86C93847E27
-B3C4DF7815D96E6DC9E88DF85BB7956FEC3DE7E867765E6986DCF54BE77F07AC3E36F27D
-C4C0BCAE8CF485A549534819543CBBF33C6DC3B04766DBC4DBEEE029DF6D7AF91D1170E6
-1F7968397BBFA987A4C4BC74CE816AAC3646A02C8E216BF2CED3FBE06C98AD6C5168A570
-98AFDC8F3D4C59616DBA4D3DD61E7774F6583644B27E85A670EA442C9D575265A892A87D
-07583509186E84C57EC343221FCB436F363AF502CB6CE631EC7711DBB3C37FCAD34D110E
-B82FF2F7209B3F68EBCA22D918D3FE424215139DC75CA266904FD5F6D40269D39517051D
-5B077D26B22F5D3F07CEB35444782EAC7DD819A401590F38571C148EBEA2E682E472DBFA
-43103B2183117A9002D04D419A7DB18BE5365FE9F8E2F8498035A992ACC07EE86E1A2AAE
-1258DC4B4C6F8D0D930B31FD0EEA876D0D726C7328DC4D5C76B6BEEE6190EB3B650F88D6
-45BC3FB7822F2DB69C2174C93E39A70320B47816BA3E8EA313BBF34C3EE729112A0C9254
-1D09C9BFDB31F939E8D03E31BD3263500F7B92E6072E1A418F7A70112C7C3609799A7203
-3A1809AAA623C58E93213D12DD3A8C37F3E156A7435A42D3AA20E62DC8D4D69BC694DB70
-533729E878603C0CFFEE8D5A4C1A7F29EB6E07799846CC096A8257643A9F85D5CC913E03
-E72C1030636E078D42761C2C3F0E1E84C205B4D8A3D17F63BE4D70ADC45F2DDF2B5121AA
-A4AB3D909D1FE0179CF72BDEA0250B110CB4F74648535A1E9BE45A8844EB110F60C490AC
-BAA48F32526582B619AF1DCEEA109B7DCCE048996547BE21D4DF519608B5ABDA68ABCDE7
-AADC339F5626E64C93110B21C112E12B5E75F15A8FF5B0DCDFE85A1E2F0968E721C242E0
-4B9543CE6D394F8D00B20A007EDA10672C511445DCD8470ED2413862E6809C15A2E9205D
-E522936138B66C44D5BB9B20C908A6CC8D6F6DEDF3568E5EC6672107A24032130CB5D5CC
-B8849075CC87FF04B7D8D5370E0294C87D20283B1E6D54679D4E73CBD1D7BE72B992E0C7
-0686C5BC456FC44BD468B6B1BB22D7DACC0FF36C94AC831D391CB9FCADE8F469A5F89414
-B22001501F06BA70414A074A4B7A6A0F2AA2AEA1DAE282C549ED6F656394D187E68940DD
-EEAFD5414238578E2A5757134DA9B6730BEDDF727773B2EC1A17E4DEEEA30482475C93BC
-484083883EAC5E0D7AA0DAC552FC82F99D6522FEFD818F8023B1F945FB86AB96713B3041
-03F2B5E3913A5D769D5033B2B23D69BB7F21E34B0E808A750A89885CDB2B65B490F7EE6F
-DD0A636187F0271C9DA27274A01D4380A02BDECD5D7A5A1AE228C22532838CCA3750A8FF
-48D831F27F3712E85B956F03F534D2A478F8F819EDE0071BF9132F78DC0F5B7D578FC0DA
-B3BA0CAC5FD186610C32FF89D130E0AB9E9E2980D9069D4AF6EA32E2ABFFE99B09BF4FF6
-588E56A2A87DB9313742A901826BFD2C80526CA519010BC7290C8B3A9F47B917343D0698
-E17565724A7DB1207EBC6B16B449D9E8B67F7CF227AF62815C71E553F644B89ACC4B9EE3
-A8CB7073905DE06FB65E44E0A762AA5D3A109B5A9092658CFD43E64F634BC8C16945DE3C
-267546354C88EA3C459AF00C4DA9214692BDA482D65130CB6ACAAA37CFAF3CB336090A42
-E7C67D0961B02F1B2C167726893D18FA3092EA8B2CD553480FCCBCE14BE635D0399225A5
-F65F995B463D640A43FBFD8892A6DD3E0B284455EACD55F2F973023DB12EC59EFAADE85F
-55139137DD595514800B235421CCAC9B0CEF4701977406565B494E6AA763FDE3127B2695
-6F0E38CEE9988649FDC62BB0C46DA3D253ED787F2997F0285CF008F7E34586E304AC3AA4
-87316B18797A189483105B0B4F9C96BC191A337667B58678C725BCCC51A5DE3FC6564C2D
-35432A453B0E92F550EE81A89AE84B79C3A0E22E6A23D0F2C263660AEE964EA461A40BE5
-8D2B1CEC1CD8342B764DF2A9901F20B0A7B44E5EAB40D3F0A0601794E5B42ECB812AE487
-4B96EFF33C2BA5801A2511B074F335AF4A530880F73F7A4344D22B2A9AAEC85B1D26C878
-201247E53901F4C41CEE45555EEBB174270919C0448DAC16160EB7AE2B09E96ABD9C09AE
-B7A95C4B5226D8F3125DD27E6CF0CF6E2A0D5CD6BFB414ABBC6C4A382E5B7F34BF4BBFAB
-013F885C4F224147075FDAACA41AF49F4D9034C22B0B9483DE0B075E641B5B3ABDAD073B
-0374B79BF3A07FCD45C148C8374401B57421B9B57CCAA25D4C8CC7C9EC5BFAD5879CCC93
-665C1BE2826EBB24893C36F75F9617BE4A54E01FC7A2F52DC845C95AAB9505EE18E370CC
-B5F6DFDD80DCDA36A05051C3478022A57E91F4A078F5B486F88C17763C285A2CDB6615BD
-62544FBAC5F75939A9153D31ED2CB79ACA1FF6F2483EA35AA9CA0582C2F2DE156E8BEEB7
-EF12CF7453475E7460A3E92DC95BF6189CE2144B23D4FE778E29AD6120B5B93F441D6FFC
-0310F8F22E39393A21F342A59688B6C11A66A3AF852AAA03C46A932587AA5D3685A3F4DF
-B1B857FB12619686F7FC6C2430B9C24F1311DDBBCFC8FC294D84EF5E99FF22EF6BB4B2D2
-20B301EB713FA8C76EC566A253A5A7DD2323D70FF5B48F2CA57A9D3F94C737326D2CBBD2
-2D7FEE0100D039D28474A64372EEC52C616F800C2CC1B53BA93A18E153CB91E089EF0F12
-318E3A844F017EF68C496477D1EFBED61D215ABE6467563A625FC0563E2A113B6A58C7CA
-75ABA028750E3444F6B19DBD850DA52880F3D8B765A8E9310A1F22502BF2ACD7A3E40191
-3A1D8B7B79BA0CD8D85225CC31474CBAF4479834FF184475C7FB6EACCDD0D5F1733FC56B
-BFFEA34E08A0B7EC795FBCFD8149E900F00B6E207B6E9464880A5344C309FD2BBBC58D32
-68EF30C36BB5A5C892013E8832BA813AFE822D11B3E3ACFD02CA56421671DA938398F57D
-11FD157449D3E423DB6A0A4EBCE845936F542BEB5B31406A6B5C8842783A5E19A6E8FDC7
-94D322239F4866F9EFD89CD88D9FF11C167AA63A9B6707DB1356D757C80623F10B31C661
-FE9D9F118208851FB3DDB8B0DD1937005B15D900B8B854C4571F3A9C1D0D67909E1AA591
-A59B2A45B5D8F481EF7B5DD6D4E6C8CD5FBA9C812F8BEB1C2A6E4BF8F51D7A507D6B6E18
-1991B5D4955FE3210612526CF495CDF2C3CD39A26F4BF6D98DD43C4D407D261C603B837F
-E8E09B15F403D721FA990224D46FEA9D7931D4CAFE3181F21B3B47A1D3910913C3110A1A
-45EE125EE773556E17EB3BC516E336B2C7733D8FE30FB7C22626BF7D94EDF00FD945EC44
-0D4570B85180A90BC46B280069BBF5B69A3DCEF13EF0F159B07FD5DE0289EAC807EFD6F8
-30A20CFE8DEF807947EC1442EDBC9C32701A9CE873748F33ABE5BBA35A85453DFAFC4CBA
-2F01ADE4DECE86290C4DCDFD676DA97B69BAC7A8BD920C4345DDEC907CA183FBDDD2638E
-D5432F9188CEA76B10E40260C4A8B559FBC422C41143432EC319E1727E8989EEF94B85A1
-8FE398A4928F6554DA075ECAF0A5B9305580853E010CB59142F847621234B4B7DAC52D86
-151E920633C2951731D4534A174CA7685E8F617EBA01DC1C756F91F8456DE200DD557AA6
-830A506DF674D90871943F822ABAC2867414D3B9D8D410E8BE29C00C7FBFA5B03858146B
-DEEB557A662A30F1C858376DFADD19125C60CF5A73C1B4B0BA6B6218F1BAE096C21F004D
-8716DBEC943156F291C61FA23F1FC37C20CA2CA6CD42A3A1223CC0DA7ECCC0D4C2604EF5
-796F53C1749E6B5E2E22F52A2BA077D324253BFAD6563AC2F6126B3F94E160D579BD0DE3
-8806C554406E63CC803A83D29E0DDE72B999D345E655899DD0E9873CA47C216C902A7443
-3F54D6D8BB3A716DFA65239FA2AF27DE88A97E521119041FC89312C4B23AC10861590A65
-871B7F0731BF11E3712182E7FD8AC4C94C366E93BE90243B0F5C29201E418CDF3DCD649F
-0D9A0C1696B0EDCB31616DB976F4761FD47AFC1872CAE6802FB506DD67737DCC10A658C1
-DA0CD9A920A96E5CECB844A302FF0C312C5D7A8801203EFDED0049FF37E9887132A484C4
-1D332E72A6FCE3C3D48705D86F4187910AEAD72CED404526CDCE1B8A34C91FFE62BCC410
-64663903D557C5CEE087600C09E32C8EB537EA43F56C62E78DA50FD5F598C0FEC55BD912
-BADFA2F5DD75523FB189146F92B31FDF6BCDD1119867C6480B258FB96A916092301679EA
-E82FE1D96EE14E382B00484A2F983FA5272B2B86280917EA80DA0449286CE2042B893755
-EC15ADDD93C432CD6989F9B6B8DE2A83A94F2B5FF22CC849DAB24A224DEA14A11BD68F10
-06FA67E62E6507B027F21A940F7E63A09BC9BC5299143AEA8B008665C9EB1F584D7070B2
-FD5B5E0C10FDE0AE740FC6C5FFBC1693FF4D2285D87392FEAC408409016980AAC25D93BA
-3C3F5E1F432706E6122FE76519F584F96A552D58855495FE5F0F4919DF8285C668416523
-DA7F2703095BFB3621FE24F6F2C97C073FC5AED60F7A32CDDF72327A1A0D32D58BB98F97
-01FF1F6CE4ACB58F44090E39269DA552D9E242806BBBEE9B65A619728E863896C26AE155
-6CE6915DC42ADB2E3A386FC4CBE64EF8CDD835A84783991F9274DF20FB6B1FEC860E54AD
-44F85774FD50E3B7817173C23DD46003BCE91605B7F861666F0774489635F4611060EA85
-8D66ADAA95B2BB066285F485B6CFC8FD3754B01CA01266D27BFD2712F4DECF25AB7FEDB2
-A4455070BB51804379A3D4D184E89B1D1BF94F870800CADAA95FB57B1227F0B691D253D4
-A85EFB1D8D182049259115AD8272544FBD0CD49E7A9F551E22F027272C60A1367CEA64CE
-49A07AA8183B4B471D83072DF31DBD739B6F64158165F8941084E880C8CC46F06F3AC420
-B70E97D8A8B3DE6478633FBD016C258DDD12DE9062988CB9CEC82E21D9960971AFBFE9C8
-B2DB92E3F848653BF165A78118962E8DBE219E4FDCD68BA661541B0220B2AA0CAD74284C
-8F28AC3E19638A0EB29903E703FC1145A0E9D33584455E5D1FA7BD6A733F8D8AA9AFF447
-583B0176258139CA3757A4FEA374425E9BE34B4683B392B6E334951FDF4E6047077B7011
-39F27A73FD2B4B115D8D408EA5E14636470794941040894AB66F19EFCFE812AB289C3315
-2EB58271E458B257F63715B3C05B454AAA50290F32AD47F089DABB1C480D92D69FF08211
-7C867A731F50E3EC9DA99D966AE570F584494A3A55EFA002D97D3A0EAD08DAD1494E57FD
-61EF7BA94C4D0C3E85732A07994726452A69DB3C27DFAFEA6BD6A2D192264E6B4B846A30
-A6BB1625381511EE16BE4CD4D5C7CE332A8524AD748DE4ACC5E08F3167E99F63B785964D
-B5871FCE8BB244F5DA0C7F00C5D198B13904D2B57A8399420AC2DF333B638F2A29B2E261
-D447F2AD9EA4F11128EDD65C6524A6B53412A7E92B1F3D7B4F7338A1CEB909357ADB0819
-57C48AD11E96AF967A60638E91B6FEEB4AD90C33F98AD1EA2B51F302B51D6D1ED82DBE81
-3DA68ECE9BD145FA28B7B6A5D6A9F7141439DFDA0E2D59530751F16B010326B54FCEEAEE
-2E5644C6F693FECC5AFB1F64CCA65DE08A89584B90D0B6B5C5F4CF75F2C2B1CFD0D32B2B
-F7101CE6BAEE7D0E845E975D44FDB3297D0944B9268E367A2608BF4BABFE4142B692CD16
-73AC17BBFB416A37580302558CAC6F7549CD60B75C9B5960A86E050612E9EE6DEAF19EE2
-6219E9C5D28AA076B3FA2504C1523269F093A0E00268E765CEF7DA0DF01AA3DAA12926B1
-A89D9BB8ABEA16CA2D2867790C7553E1E87F8CDA07810A4D94AEFFBC15FBF4D543BE0967
-B11D2FBD221D5BDDAF28718E4042000F5FBC07CD343FC7E6D9A94B8F6E9EB3B02D5BC584
-9AFA37ED5AEFAD28217ED06986DB0F51D4632CC5D1E2A49B950C3666815FB44BD4059294
-7401269A17539E88901FCE325629E59AD0CC15D6C3FF32D2497DC7A9797582D88C7F03CC
-F2F230692DD463F4A471540737E6995FC32200E7BDAE53AC1465188312C2FB7B52ED98F9
-FE530B8F1CF8A6675FB9E603F58BE9CAC46585B6D305D888822806BC5FF084210489FB79
-2E511A939E01E69AD152624777EE98EA396DEC7D2C633290FBA60BBC153D9A0C1DC5A269
-740EF5CF4B2879A839932E1C8850D1EF95E8B5A0D719351EFC71D7AEEF92EF29D3C41D90
-86DDA4AAA9735908CFEB590E365B69B2D2FEF8193FB2CB24113859F3BD2E99F01F2B1B4E
-080300193B5AB6F7711522EEC833D74A13F8686A6E585E7B6315FA28EA544B4EAE4EF62B
-88B781FED5741046AC84484CDD1B670017F0D0D2F19D3EF24E984B14CD052E3B38553850
-6307817BA3938801B9E1D137447D979B5148AC1B822D49059EEB945AEC4DC1EBEC2FF6CD
-DFB19A0370A02F9CAA30B6725A6CDCBCA72242B805E6559BFD292668FB5ECE523F0F44E0
-E75D483645B6988AFB0D5E8EC5688CB56B69A7B6A7F160ECC40894BAE45AD555571CC25B
-A86E81C5931DC238346DACF3EA05C078D309693F1E812BA249D84F6AD605D073B22AC83A
-F2749BF32A32C9115AC414D58A78D96A0F480C706266244B6A668486F54A16973E7A83B6
-36EB03E66507A277958C19D9AD4DE66BEE89B7463731F724DF5650CBE74EC300665131C4
-01BCC4D03891C6ABB61FADEDD7C83D56F35BAD5D731E0B3EA4F9C9A07FE5D3DCE21B5BAA
-1C8E79B19E38CD61EB802B2C2F467D1A8129D45788B85C9F7B53232501ABC0768CF3830C
-308A87783868ACC346DD0141702B517E5C07B5E29B238E55549F98EC3BBDB67EEC173ACB
-0DD4B3550D958C7E777D39F9C21CAA5B51404C28DE12061DCA1CD427089D2AD99D23DF19
-B0729235CA955CBC5E4077A0FFBF3BB64ACF02204B706733BE9CB2EFBFDF21F62E4E7ED9
-34A78E626472A53747557AE2C209324D1F8278E31FF96305F0BB41DB5B165AED08AD9312
-F1FBF368E09C4A4004649E40D578DECB4A1F82EF4EAF76BD8CDA9C4C61EB1E187E7E319E
-03EFEF18E4969C5DCAB53D8CF41AF5D4DB3D9CCBE23D1A126CB60B1864DEF1B702995622
-9BDFF2387711F1F06B807841406515B774B970666855333607B4DBEB4B670F6A452AD43D
-FA2F83DF711AAEFD9FD74A307335AE574B4097AF88C2B4C928BDBF40F822BA98F7F8CBE6
-26DB9AF8DB0B6A309680C026E9FCAC9A541974056EEA1A0F9F71AF08237DC5FA78D8C38E
-5E057DD2812E4591CA207000DD62CFF38CB97C8049B8CFDF0CE6BA900CCC85E02C758C1C
-27B00DBC3FDDDE584457C872ED79218368C8D8F36079045A6B9AD62AAD7A53E2ABF1AA60
-4AB15BEEF2736FC7AABED55B17B8E665B58D03CC42F70EEA4AF5F1D82B4EA91ED721C498
-DE4DBFF06C3E58E0350BF931D27189680C68C68D73555F02B76F1A786B4FEAD6D6FF846E
-370790C8529BEFE512A8AE178689A55C747FB7603D3F9A4BFC36FE91CF212CCC569CB895
-7680FD2D466A1C057C0022B4972841AE7746C47813AA324519B461AAACCAE87134DAA64F
-093742B7B3B691274EA2148071E77E636AE14ECD0CC3C9CC7C18ADB23954FBE043DB23E4
-DA069CDD55E908173D71582A774B57793F5228274CA43C4EC01FE31CE14699656A9EB6AD
-9468D7CA25467349B9F56CF2873A09467107F6B9C20147D2095B7294FCBB671EDF0B804D
-76F6E1AA7CE9D7CF60CDF7F85AD1C410422A779B908F3E6F6C8571B6FC4F7F012FB99FEB
-4292E9F354A3E9DAB81E22D4C75DA3BE9C8868BF2395D815D097010EF8A6A58CC91A6FBA
-C59344E785465D4B91F7633D1718D16852CE793825CC4B422EC90C3216999A55400FE0F7
-CDC38A0F6360802991885FEB799FFDB3C1C87C0127CA781A22BFB9AA8A6D6E414DD2C31C
-CA6304577E4D617A5388657632349D4F49D1582152E43683200FC465146137FF942F1888
-44975B7A2E508083B0261E8EACC54747310FFA32C00A0DF9B59F77A360349E259D9DB841
-47ED76941E8C8C6F053116A004C3998B7C84D94B60044480D048AB31F355B8F6768C189B
-E4A024183988E8C3717BE19D29B4BAA4A94A3624C0DC4F8A7A99121DCC71EA32D2B8D6E3
-B4DAA6B632E8D64717D32CC76C1322BF2FA82D3C349E7FBFAC44BA0304E4AB4A8689D819
-CC3A0DD336BB7E45CA84991DE87CA3C615E3DDED468DC67E402BAFE01E096C61E0BE0645
-AD50A227015278116EAEBF7895E5513E4A811BB90E1D2E204F3E0E656B3F75D25008E84A
-9FC4AE44628B7B38A484E23992C2C1EC229EE966480FCEEE199F0892689FA18B489F2C31
-F2F2196620809EF6E0524D99A86C627B053EA195870585D6B3C54C3B55C80E352482998A
-2673772C4524BB4467A867FD953C07504C6154201CF96D422D0A3151342FC9C66DE45FD1
-29EEDFC9ADF67374A4C1CD2E76048EA9D4212A32F468E74007A6C3A8251DAAC735228DA0
-5C245346BFB1903F217D62F63087721672EC60B846652D9CE8AA2350919ACB2D8490C6B0
-5B63EC808D611BB1D7AC1CB102AD7350773DC8248384D1FCD72953CE507723529CD4202F
-AAA080F519FABBFA48C620A1511A2FCDA8BA96E7784520AE0093AC58623AFCDAF0EEF6B2
-5DC8813512254752576AA9608DBADCA38F319EBF5164C1244FC3B6DF2523D8D8F19D23E3
-53C1C484FA52DA7B8D84D71100B076BC3082DDF29D6A14AE8BBC72B1626F882C1B98EB3D
-F31DE2C5174A0AC1E5F2F82EB3CFA93EF6741473DA694CE020EAC6E1EF41636351E12946
-E3BA2B1D0246D059563F2BEDE7A67648AE6CA534F32E52FE7F4F2CC936F9EF70C8EF1597
-A073E36D237BD34A3CA8BAD7D01C54BA5012C690D680158A694D2CC0362B7FFB8A888A39
-F2CB418D7FDEC46B0E5F104A032581415B083A992D6E8CB4D0E9FA93ADDACCE7BA34D919
-9E579DC050DA9032B1C8ACE46D1E2D224556FC0FFDC35FED173D86FFFED1AAE13734D1DA
-D2F06EDFC4FD311FC2279A79783B7C56928D5EA6F8FB4560776F99BABD3D228E8C62CCE6
-C06B7A122FC441CC5490C9085C8A469F524403B8ACF9A607651464467DE098CE068FC171
-55ED9489C819F31A3BA4E1EA3C728212D8C40CC1FDA9EC60AED881A93A411592719E4FFF
-B035AA8F25B9DA96D536969496A96B05BACF2BF1C7BA6EC50759CE388EB3625683C753E0
-E3383877F4B2F74B1951730F51ACC3B0107B6DAE39AD2B17E78B4194F5C8D162CA37104A
-E00F81F7E254B4D1104C01F404F41CEF92CBA628122589CED905CDE34196FE690EDE9CD9
-AEB0B9D7645D051E78CDDC34B58A64308A2CAE739A825F18525688E03E6138F5DA8D8898
-539F5E4BFC1C64DB496A16D9542674AD655EEA6DAB57AE3FD9058532AD0301CA47AD0B4C
-6998716CEF388E0B2FAD6D14578958FFA3330E3759FB8EBC2C25C61EF372235135D2853F
-CF308CF00441DEB973BB742C7CF4AB0C189B9FAB10C7969777928CC525D9C122781AEFEE
-8B82537EB27D7B264F5CC973B096B13C688DA097128CA6467997A5401DCD797F08EBF73F
-AFB5EFAE784C63F5D81CB073FA5DDA3B8F78FBCB37AD0CD54514F07C59B6FEDF0C86FC6C
-C0C5E03D5B75B147D0EFE4A484A55555F7FB840BC2DDC488A1AE3C26A22A7975C57090C5
-D2A8E484E6E7831AA47BAD43DF7C1D5C92AFE866DCE8E0B81E5D36DAA24FEF28D44C5E67
-18B277E8CED636116EF9EFC5DD3F06241C40F23A6334BD4C7DB7523C565A669C19EF1578
-329B297AE7F4EB69E25EC5F9BA77635BDED28ED33E3D1FCC4EC257E4BAEBE188003E3AC6
-BB930837230D7625415B260E4CAA348690646BD20F33E1022E1926AC163A59CB3BAD761A
-CF10756E27B6FF79801478D2B3F1CEA0B64835439C60AA4D861B7C4FF471A169482B751A
-C64854226AD0E38528F72B72FD8472D83909464F26AD09804D05D3B6DFAAEFBF0D0AF345
-CE1BD364299B1646141C294AC917E55458DEAFDDF0A9734218D5F5685F0ADDEBE6231377
-006D9E3FB3FEC843050CE2050D818396BA57EBCBA3ACF483A42EAF1C434B35216305BBD3
-F9598DDE9BEE0B47A4B8984849063BA638D97AEF425CE3C5A82F3A4B2CCFCF9711B77599
-32D10869BA44FD4DE4D9EAA863C811DEBE27EB910C265492A45BAA73973E3D8849218608
-0B6285D62F797879D6E118341BBB8AA44D0FE79DD91FD58F988D53AD07C17AE0EDA91C84
-8F2E83031A8BE1569D1E7FF432BDC605E434CD52BDBD52BDFA689A6A52AA4204BBF90ED6
-5A206B03D55B8E275755DD2853D6D944AC74107C3160AD7E87324BE16F5B0D6FC37DC819
-8259AD5C06483BC15F983B4FA914BE907B9AE230E655EB1FBAE374EBFB84553420C34D61
-AB2523A8C838526A9C88A1467E0C27AE1C3DEC1B011D156C8D8C2AEA0B7ABDA324656AB1
-AC7D4F5CEC922426E9D5DCAD965E0D4D0C5F4A223230E157A22DDFA14FFECEB183168421
-CB6462B3109211D59D9F00AE30827E55F27C17A7248446A21F4107973B0BC987919E692E
-1F76F7F540F7A4C440597B265290601FCCEF11BAAD4FAF3DDC4AE6218213F42F2BB253BC
-E6B0EF2E6C3858988141C626DA7A65D7E48175E4DE032CF76619736AE7BBE01C026A3970
-EC79C5DFE931F076DB5F674C163E5367F03AE6E2E7271B273CE5EF0004D7AE89B63DB32C
-0064FE4980ADCDE7357820F5943FF1B2AC49DBA19B2F124F15C7AEED84CA6F15C30A9A39
-3C7D492A0460E2000CDA313E9E420C5F5E47F959CC2329B6F8A1B7B818F0D44A2A176614
-D847F360F445A4168693257AE71D832577FD2E432EFF0E9322B3B4A404EE13501645466F
-5CE3B19EA1016D089DF6F96E5377A68592B981E728FE3DFB2449C7F187B3DED6F5DB1D55
-14FAD8DC06D95B6B4377AD1F0BCF7B744EC490328CB734FB1A45506F9B6EA2B85E7CF093
-742CB10D1D5FB7664A9A7DA82C2C2DA07F43A95CDFD02B9EE4D954B2BBDA540689DE8A37
-62219CEDEDE4C78F7E314EB519996C0610ABD85C749012C63973AE84DE4BF8B6B1333024
-BB6E856DE3BED4C890DA1B7612689910607EBC32814DBBDBF179AC0E7C8C0A31B19775EA
-14DDC7057CA38E53EE24A11CFF34A4E78672C14B215A8F7B70F3B6231E8C9E2206052580
-902E05AD3FFE970ED2228053898E3EE2605B4D4B364D463F0F3ADECA545BF39E0B14E0E3
-A7E5429E661A9718CC86D935E11FB2DC10FB436AAB75BE0AA27B8480AEA99AE6ACC68698
-7D69781BC4791A2A202B0289BADD16C29FD7A5C7C1146E51B4441F1BB5CBBB04D54C336D
-B0AD62057F7F97AF8F7BFFAE47D1BD86D2936B8BABF25E91E41CD8917AAF282949F0D9EB
-1D4ED2B89478BC159FD71E7207A65437B20D18144E4BEFA99C89983FBB71240EAAB20E62
-40E63F517EA139D1AC71946470F28E0BC26DFCFDD4533FA5BFC0C663F53C42BBFC16CB96
-8C0E61E2A6C4DB7B688ADD4E2F9D1010FA4B4E8E278236C66C7C1E5FE6B3EF982A970C22
-11006A98ABA967E7BCFA17176463E2509AA6218FE0A7CBEBD9F9151370FCC669EEA0AFA7
-265F498B879C4C94AD02327D680059C8F7A388260D1013DB99887C5BED8A68925C3D9E0D
-56335F93A402BE584D1798266F41C5FF3C647DDD2C2D788A7A56C8278303C0E9F20F8595
-4F6B47B79B6CB9C6FC80AE76BABFEC2B750B5ECB267A6866AFC68A51F6FAC54B84B9FDE5
-54165EC7104F5626108754BF07116A75EDE93A35CBE84FE778DC3BD50A8421A959B512D7
-E7881889E5AD2DCAF9CEF64E86A98BF5384D4F341B53CED94D430F3DAEFB506EA693FA23
-6830EC178791B015ABE069A44CE20752334986A43EC06F8ED44B0796FA741F0B18BA5821
-10C4D7C3B9B681047FBCF17DCAE103ADA23C9D41955B2C0DF276D5DEAE83A941E8241B51
-DD9FAC40AE8FA3B9308470CCCE30E17C1C015019E1A69BE8A054194A1190B956F414D473
-DC5605BC7284C0025F01A715D7282736704B3E824BEC160772EA327572384DFFA650A292
-FEF417B2C4B395AF893BCA339134D3BDE3E4A8CE7D76E2556C59D7292003C5487DF76D55
-4549FE9977FDDE5460389F32D5663656528C257C2057EA3EB5D70D20F550824C71DE3212
-32A29241C8BE67ED9540B3F461A001C8F63898DCE28423A3F5CE806DEE0B50E8F5A76C86
-530491F67C48B8683996B6BBF6DBC1666BC6E9B2BF4624701A67B52F792333DC12CC6142
-B2568EBB0ADDD4F9F3443D45204B013E098E62C6ABE0FB14C2158574A7C0B24EDCFE3557
-2C5C30294889CDA3C7C1C67558AA3C05D012F516479DEFCAB7ADB890F9E96E9615634176
-5E8BDD3CA8E85DA76443A538AD530EAEB42E6876FC74AF2B6AC2526F64C8D323B5F5CFC3
-BAE26A4F30D4477EFBDF054BC83513705CE5830AF048CFEBFB4AADDF2E7483A4F1860D18
-7D318914C3622F4EA58942D5527484D2AF2D0AE2DF74A1975268F9ECE82E364F5A3B186E
-39A4A10049D6358C044B6B05E9B90217D0A3BC0EBE473DF1A7CE2A4DA8D5648DE7BA58DF
-0335B7A4C4DB44B2BC583DF0394BBF14541329B64142B6FF4E37F523DDAFD8C1067DBE8E
-4770563B8AE958C26BB51920158795D0A4DE9DDD3C2874A572436749FF5535BDB59E8C83
-E421F605083516551E89A2FE34FB9B4AE55036A3D7ADC71F64281A3C54EAAC2670CB34E2
-AE94E71943719DDD21B8AA335EA3181896301B065FB0519AC8160BF9FE18957E5B72396E
-240ED3A9779F04FBEDC858B2DFCA71863A17E73D53958AAC58CED0DD0026D562BE9F395B
-49C12C0C29D4B84C28881D17B10F5026F8B208BAA6DA070F94110587A76E00282D3CC5BA
-D88C3A9A714C063F8B325495644DCCEC332257733448C50A40DE95BA8E5AD73FBBE404AE
-EA1B1F49DE4F9F1770B73ACB5E9CC4B5D1204A97335197B14DCB3DA403DA430EF0C2CB46
-E050B1E17FE0105A619BCAE09A33CA4DD54E84B8568299C1F2EB116C16D54DE40D9880D1
-B2FE45706CF0340CD591FB94B130BF0EEEB3F1EA675B032AA0A780F0E0E69A63E932E01F
-43EB43DE97EF02CAD65BD2013569695789971D843DF14DEE9A32A1EF22BAAD4A4468AC40
-588EFF9BF91CE0C09C30DF0E2504AB95E85E70F6769679C12EC83204FF0C5CEC67A26CAE
-748F530A80ED96E3C6D28F8F12F5B3A7A53B1BE5B096B0D186784402A3CC1D4EE4162128
-D0FF956979EF79DEEDB9732249CA150D159D1FF502E33E4A305F066A9617BCB637DEB999
-DE15A2DFCF9297E2E93F65D90A233B7F512882AB88439B26B9C672A08EC301262BD37164
-37191838D992F15154E96EA15454E4EE9E9D4C01CE2090120620F5E5A0849036975EDDE7
-9E207B17DFA344C8300D07BF024C89B9621F8FDA10A5032197BA4B6C127FC68C3D1397E2
-88219E9F151363321807084F8596DB0A24A8D6E41732C843C01843A9B4D9C1041D28C7F3
-F4DD289EAE019B6E8A3CA2952A8BFAAE3CFA6F0527BD3CC9544196A0DBBCAE1F095C3674
-B34358049CF212CD96530B9875DE99D93BFF4D87E544C7FF8E79F757ACBFC7DED0A8FB1B
-4BD53D1E76FE95E930E3F329DF6310107223E4E576F38CECAEF561B5E95CAAEAD603B792
-F1B1BB7EBE2C73E7144AD8D50F0581AE74C9A811A52E986FB6E249F9290E515639900754
-C8FBF4ABD9F642970190D28CF4BEEFC7C39D1271DE2A357949A69BDC6D8343487BF6BD25
-1C1DBC1132B1FA6FDB4D3233ED570D9310F8C9DD92B7217EEDAE942A25DDD6D5C24BB4F3
-9809C658BCD0CE41C70709AB8899E4956D9615C1A2B1A627E47CCC17DA3454291667EE26
-AF97D99AECD1F7AAA7AEC910734786FC797D819AA8D539D10EE8DEF86E4499010310E241
-C9FCC7F3E2B0FCC692D9B2D8346717A5781E6AACF1A891E2E6E65225F35026AE348E0E16
-7475CE6A9A0C14FB588A483B9483AC475043907935061B48D03677ECFEB8377235E44F7F
-581F02557B6F009E964A4C345494EF9EB4427ABF1D2DECCE71A87D55C57ED6E561CFB835
-8C8A38E387531A6D04AA87F5AA92D73B2DF8C972402001B9FA67DADE45F803540AD55272
-AAC3A49F23F910EBEE137F616544F86DC7E33CF672859A545677018279B5D1AB673640DB
-4EB45C3049D2BAB6116D34B3CF6A88ADFCA5A657E93C32EF5912DBCE65C9527C068D03D5
-A23A29E934391FB4317CADA46B7CA8A4F0440CACC958028D20197C1F1C0D3CF39F107548
-5928CFC10177DC70FB5133A7ECC5C82C978858DC1CF44A53B4461E85B6591131B19806BE
-EB57CF868D200A7F27567F124140D712AC0DF6D6FB8045671207AB0CA4735D4422EE8133
-3E0143072416E707CDEC20286F72E3070E374D79D95CE144AEEC86E6DC9001B991F15CDE
-9EE7E8368B4BACF9DBA6E83848E5A3088C2858C71BB5841E990BEF89DE5ED42A6EF9F0B7
-8127DBF344A29104E9272D0ED77B5C32D245B17293C54F8D939E314350B42D95A3A2F4D7
-6FEC437F8CA935638E8558D7919ABD0DBD6323F83AF703B38E8445FDCACC8F1919D2BD4D
-808D18FE28285B62FA958B34CFF05150BFC884F0A323F67CBEFB98B393607F500530A1BB
-CD2E2C93D25EF97621F872091C13D1BACDCE7DF636FFA29B24C51111E7C10F0FBD250FD7
-0899B2D370B955A7B467F9C726CCA0C1B05938FAB3357BD97FFC32A78589BAD9B54CEB88
-E0C95CDF9387637A043394276D50FD4E6A6170DB7325B11EA2145BAD3643F51114332630
-229198CC4A68C207E61284CE848E0CB6F9F7FB24E72D5D0877F2697F39F7F9F713FE2360
-A199760E993836E477943388D08EF210C1C782E086639B507CA9CD5428FFF902EA82B280
-DD203279043B62ED9C93150CE5D365C3ABB3C353172273AFF2C75BCB68FADEC1964DAABA
-777D83401AA12D8B5173796F691D8A2E9BE7FDA49421AB46A014EF1C566B78AA4889C684
-D45B5C9181DCD1B12D4BFCC354454B6A85C4FA25E74D55A1C6CCE8C4FB9ECAAF885BE22C
-A5DBE8ECBCF909D4487E6C64DD9B489DF6BF4B1F2A38B7D18983B2E41696D55446FE1261
-11A0940EB96A23142770F5A17CD8D89E85C6CF269F6041B0F32467D1DE4C0335F543CC07
-492BD7BFD0209DFEEE502FEE06D2D0EA9A0F81CD36DBBFA8E386BF486338444DCA97AA8F
-83FDC85A8A88A801854C22B3849467A660173E5E81C055E30CDC869B1BB9C367923A3491
-F51197DC9971B477FE060AAC5C91FF8D67677C3B08705254972D8CBB0DB05A10771844A8
-4391AC7B60179F20E345D2C9DFDFE1C42D947DB12F84F1CE05991AB56FE498345230BB3C
-7F92A3AF86D20828D86E931BEBC818BE595D2E17D3F9E105E39649E89E13656F9461087A
-36E1DB0DCD850BBCD07249227B65E494CE8C88BC106F7CEA5EFE48E482F66F5F6763A766
-0262501535FA5FC71CFA87BFDA2F8FD2BFF0553D2008EBF081BC56BBA010C00081EA5D80
-190C4FFD7A105FE500915F6F652A0A00FF97A7C825E8617077473C38B5D820C24F78E387
-A776A8904C265AE4CABF3D1845011DB66A4D732F842FFD7CA1F5FB53714D0EA9F43AD20D
-280FEBA87134571F5405A57094243FB22E12635ADBF0D1900E93684D1D8B5EB04D9D01CE
-A3CAD54C9B4666E336DC6EF82DA6915CEC1F11C89E249B0A5C460BE552BFB4AD545CEE0A
-3A97B65EEBDE82FA1893442E7446C901C50838934D82DB73DB7780946506B966CA83A142
-5D1A82EA07C3941EB1942325E258A5F39BC9D7B8D84F7AC876C9E47B854BE1D40154A54A
-DC42BBB5E5D318A6E8B2B985F2F87F5A2486F261CCB59F171111D04D29E38CCB692F21D4
-E5909148ABDA6CE4FCD577E3EB39D8199C63E1EE22443B0176D84D2EC501F16BD5B01826
-67DCD1C99DF0A8B3F27BEDD2917BB900484171D2AAA6E0B39FED994DEA6FBA6877EF4D94
-F552177A83541F4111D1EAFE83A5D102A011726403648B148DEFD8754E91E52BFA9A5F80
-273475A427EF5C5CA4D981A2D98AA00A4BEAA2779FF342B5EC0A452F860620B88AFBAE3E
-1FFC666C05647B3E73CD54BF35FF47411585FC84CFD702FA116EBDEB396AF5D9C298C3CB
-BD97E8EE08EAADB0C854F18D2AC5D08771ABBCE5B70895E8F04C3CCC49525BBA4407E081
-62A272E0F623578EF4502FE2DD325DD87021079967B1FD01B95E8A0CC6E65317D947B340
-7B42052106F27ECBF69B431C6D73F9CE9220BE91C38E1AA2F9779E128BDA6A76ADE5AB3E
-B9744A6365A95368D5F7C9C297F5AF8C0E21B16FB8B8DDDE4AC3EE393BE599B2B3E3698D
-38C84A69DA371E8C323EA53BB232F07A761473580CC3F0CBD5C73FFDAC3BAFBB1D9E7D77
-1CA641EFBB2A190E8DFCDAD040736BE41D29723711CE965926CA4A56C6E4C5FEE60C6634
-C3B3BBE74BB0ACB8BC0FF9C426679D863DC1745AC462037444B6631529D8A8BB22EF605E
-53297B146FC90E7A751C5E151545E89281BCBC7271731E5B0362994090B2560A8E62858E
-860FF9644008AD601B15FFD2BC3D25D06FA0D78F003AC39D89FE621C1E368BB9221E2C59
-15A56634D5EBB299635F48DFA2BD37431E224E38CED95C183604B9CC3C8B153434D6DBA9
-CA955106159337D2709025F848B5440990957B0F12D416F823A75EA2567DD02849BB9B98
-FD5F32844E8F24ABDE050C333DCD9C9E4DFFD97C22C0045740B6B3E94DD8964F1E601544
-4465655844C809A51B9658EFBBA085489139EBD2344E68FFCAF99BC6C50C68C0C03EC1E4
-0C378E68F1CD3A8C459D732377514B1CF1594627569C16F9441AB05F9B4D7B1A6AF79E5F
-E62D1DAAF71234F31509DD947BF67EEBFA0FAD13B794D4292516AB84FB96F5DD8C6D65C6
-0B822B78E917D7BF5BA9F2A4C90D94625B0DD2E31AD0D12EB3AC5F882F72D07F88045B35
-55AF20B6AA3648EFD5CF73798F3CF86B139C909D1D253FDDCF78F0915EF8CEFF7FAD6CD3
-C784BB88B8F31D1DA52FC67500D064DE56C233C333CAFD866D102FAFA71A2B2FCD2715EB
-47C5B65909EAFDC5250EDB78FDA4854EF0706F226C1191ED8E1ECD79A43BAF7154547059
-D567146000900625B22D3F7E356DFEBC00D4B6E6C1296A4E4038973B9156D5D748B6C0EF
-0B82B459E24670C9A951629E57FA90935E710899C37A5310822E99AD7D7B32018DF94FF0
-E723CDFFDBA6BE5DE8FC147C794E9FBD12D3CC53C5E14A328F6FC6C6FA479A0E0F760253
-899B220E7ACFB537262764F994D680BD4A48F618E7FFE9E92FBB09ADA32A7656B14E53C6
-B43774A908AC61698B44B4FF91D6BBDA42D53DDF348CD277A2A07A0ED439FF4D94F769D7
-6FAFC6F19F7A307927FB233796CA701B40A1C3E93A98703802B5D41F8A57F0D699B7ADEF
-AD6D130B06C3D34C8D2414A21C75D4FAD9EEF2791AAF7731033336E141E15CFBCD7C3923
-C663CB78D678F222738BB970C5ABDEC1C983D465F71D8189A9F1A031875460CB9E46FDEE
-A4074549FDE7A01F209409850C6848DBD1C9EA058A28D224363CD796F106683166A00DF8
-F5239AE3288F9D0C14E05217849FA07DB6DE17148462C0AC9195FF3C20B76C452DC58273
-3B81BB7526C69124C4AEFC411FBC581C29E01494C28F40A9FA088AA7B727E5C6D8842122
-79BC38AF7593B2A53E8B0FAB585CEF88D5F497727EF2342F89EA4901DD5FC97AFC1BB805
-817AF7C8FB9E1055D8A2DE3DC09C09BB71A999CABB055C4E2600D91BD4A0A6FB2E9066DB
-CDAD3FC26D0921B2B9ABDCF99D74CEEDAE954EE6AC80E6AF69EAD98BBF0F14788D973381
-5714B6C0BDA27CB3E7235065ECF910CF27DA939D6354D3CDB120FA8E0E1C28E48445BF7F
-06CE9F6867641A9238175665ACA110E8908243CB693C60D369E1C12D39ADCB6350395F6E
-7ACBB1FBA75E91D21C141394842D6D107CB412C754C0068DB283EEBF44046213B55C2BC2
-5E403DE803680684F0F5E2054548D3AA52D5EB1F4E8D32279697818359850B50DCAE5559
-B000B4D74C97AD069101159A5FC03C66FD88F44824E0D28681870E6FF118DB32ECD10A88
-1540C1B63BE33ED8EA640F50C47055797C2E6A04BE027BA3A2E8F9344FA48BE1EF0D3A58
-59F9CFF0FDFF085F78712C711D4AEDA295775AD416408D226C4DDDFED69F5FFDDBD3D6BB
-590EFE0CBA5404FE99FC4AA90D53FD3CEA35AB8042784717D1EB67529B74825206798862
-08D744892CFE8944B9EDB4452072D39363878167C371C3BE4816955959F7773BB66AB794
-2A2EB43BA482610A388035F9542C3D321BF1B1FFE827812A6C9A2F22B17CE0D04BB34653
-02D0F9331F41370AEA4F1B09AC2AF71F588B250D4B777CE024E9280CFE9EB36D9CADCFBB
-4C1BD4CCD1C035B15D736C6F49AC229909BC877036E6F584D4155E0D20AC99E41040AE3A
-23A0645A1B3C8C9553840388140AC1B49585231B98797C1C19D483A6E69FF566E6DC0AEC
-71807AC1F4D3DBEBB2F4A4F6576DBA8A0B1B8643C9BD1D97A912E90A737268F6A91E0A70
-FEE73DAEED851EDFC631701755AC7B2EA3EC8990EBFB3EEB64B75FF320BA84821750BE74
-F2F2C8097EE95B2402D6F4C31E1BB947A5F86168745F8BE621289CB65BB1AA299214F52F
-80950D6AEE089AD94BA4D19B9767B4B3D3CA631DBC1B2A37B3BE026429532E717BCAEF7E
-8BCE17D47F40F3665C00A0BD87BB6033CD56FA275BF4BD06CF4F2B0ED24A061064092815
-9D73667E820E4235F1C4E629610A1C260C43774831CD75A5375399644CA9C46BE2F516C6
-7B059743008E82085EC673CCCA702BF07B8A9F57BE338D2D0F8D2FF6090F3AA1BA20A9CF
-C02EC2471992118F070FEFD45B3C0FC0B55162490FA9D9DD60A6732532F1AC45A4D5ADA8
-DAD9ED5D24080E2C94F6A30ACAB0F075A50EC19544623D14A5A9A783A61A75D6F6E6249B
-7B4AD8EDDD1154ECCA8ACA427736DB27758A0D7AD3F79745FAEF53B171D96FC735281986
-C4214ED6754154011F4D0B1BF910142DA99D3BAFC74D8F2BFED52422BEAA5DE0BD18538F
-1C8CA315FBE5510954227B90718FB84785E0ECD9243B7C991690D2A7ED913E5080A15D27
-927BF869EB1279474726B8317FBF9B77774B2A97C294D56D02C40087DAF596AC35C2BDBE
-CE3CC534DC34CB2042F85F686F4FF4098890439464D56CD011FCB85BA87C6B51E9C0ABCC
-EB9A96152F5137E6590DE02C9E9C24D133FF585394FC59779F64E1AEBED7A007A269482E
-E8943604DD95A632EF16B0888DD6080EEDAFE8F386E05427DA25E6D15E38BAC599A57266
-C416F20DB2B81BFB7AF0F10223DF1E760C2B3EF6EC37AC447833E8220604CB3643CD2CE9
-53FD9E2D22F6053A7780F79DD161807B661E196C77DFED2AAA7ED10253943A7FA2C25602
-3586BF0508910EA8C688036557439C183A1E9B9165DC2BF055E58DDB25672E7E701B3CCA
-056B592AE84DA9278C95328EEDECA8E7A4FB521D3646F3195D9A21517DF98B334AE2E201
-BC4D0D3162B6D0F53F801263DB7AB69F1D2998038804A2A8E96E588853D7BF448C3DED2F
-CCB995EBD6520A2C6FED07E13EE3E546FFAC962C6C30F570B8BDE1ED758550150515C927
-2C6760A12A097D07A6A8AC10C5FBB66E29BF85A74AB804A6CC99FE01946620D14C3B8B6F
-FEB0C74E4EA1A225D5B9B5DD45389FCFCBAE9D45AD3C7F3E875C0FAB231F7902B5C860F0
-2B4A13B39AE999E051B7B8D05BBED72B29ABF13ECC485FC1EBF0DCE452ECCFE6F230B2E6
-B778E45197B80EE42F4ED63DAAA570C4ABF8CE4B30AF7B694B70780F96BC9742F7F1D3CE
-66AD5E473D8CD8002A436B078918949013B721329F9A931DF6F084FA5FB7C66BA81B6980
-0CC79452F5EE2991BFA84EA8689A5B7D20AEE04B0E5B0FFC03B8D8D1DF4F1D3FA29BD6F5
-433809C897B31F184AD02C8E9FEEFCA647EACE79EEA1DB444269C3F88EBB896B2A81995E
-9030FD059C48589B1FECD0F98490152F1A1CCA7929F19951D345E342A805FE72B4A1B4BF
-F2730AA22A41D1E07A890AA61F2B9B6607191C92D052A673B15FD49145611AF6754E4F32
-C12533BCF702626D7F1E44A7D7150640F09819CEAA1C0A2E2E8FCC3CB262CF29232A38B7
-F0EF66086AC8197B5226C5D69A6F57F16733BEC14D8E7A47509BE951DF1B810CCF6932FF
-4DC57D208B13AB86C0E22569A6C11661C91711C35C61BDB6268C82E08AC53589A13FFB3C
-F5EDBEC7E7A41CB81401DF66295606B544A9DF4924416423D6732B4631EB73266E370083
-16D0DA6106AC038C1406A5B6F8639BE3EE6C880F9DDE71085C6446F9F2815E2A6ADFCA93
-5A7BFDF4D5AFD5CC7C8C487D57B090A5CB7A7712E207FA7000E39CCB41AABB32923D5E1B
-C8D7F2C05D9A3FFDAE5AB0BBA940A8A25114CE99B207FC2DB264D44472B188C5CB9F41C1
-913B880EF8108348BEB174712B2FC1192F37175C5060C9B1F63F729A4E94D0DA524E2DDC
-ED8C1F460B782DC62F4C23C6C0FDDCFFA7E2F918CF417C2A4ADDDE53381F65E3DB52D291
-C72998809B59818B71BF922A04C053E2921679838CF482AC654E982A60D2C097C4A5B134
-34657AA08F5568536FFD2574AA4A88873C762371971480ABF1290A05AFDDF9C072DD721D
-EF36CACA75F4AA4E28F965AC02A54735E167A7DABF06ABD1FB339E34848F1CEAE16D4744
-0107AD4A526B99C6396BDC4426B858BB7FE38037F46E180E3F8108C79E457904E0AA9BFF
-6D3E9B2A89D3F40ACC279C87F0A1DA1245AC6E766F7FF56A7F7DB7352673036D8162CB5F
-C666B6F2E944E19F78EF0B87EFAEFF4209A5F83A563A6954873F88B2CB402462804E2850
-C1C5379CF747707E54B6FE28163C31E581B5951E1A12169B1496CFFD8D862FE0126A0460
-7435B53E7E1453255BC1BF14B67D8275CE9DD068529E5314A28087EA792E841448B2720B
-FCAC76DBA06A85D1FFA731D06757170CFA16D6758D5E371655C64747E1FBEFDA27115923
-C701004B5E38E32E4E9FFC294639B67A0A8BBB44D6050AD78A41747910AB112CC7D995CF
-004B43B8C0AE28049672D0591392A2EF95A8021F2AB281DA86EC270D683060B8D9D6127A
-CD4D5900209C117295822A9963D86D5B85D66E4502E5D2E03DF43DF5A162F502C454E971
-09A24B58B9BD864D5E11F8818811AAF0FE432527F897C7B9B1853DD7E73250BDC414A83A
-85C6916FA701AB3B71AF0AA8429DB2A9F85BA74E49DDCAC5174C927F28C1970D0FCFF89B
-ED30E83163D21EE4741659EBD12F2FDDC934E812ABF1A0A0CD1D2AF47DF045BF6C6CC15B
-4E61D058650AAAB48CB9027757EBB21398C5899AB5876F13E23655A7AB3C19AB2D3BD7AE
-55F808B6F4409012629F99A24FA15581F9EAB68177DD80DF8A78F0440E5FDDDE882A0976
-076F1B708C63FECE076193E53934681157F1EEAE0DB94A68289A3963775E0793C3FE3862
-9A6D3161E25A76A5CC1017884136E801A9EC1958AEAEEEB543BEE46B55FACAFC0A8B0814
-9121CFDAEDF975B4722D7EAC6768779DE79D4031D42622D3B2EC0A8DB5BB117DE455F37C
-7E5A948088828127F042301446E89F67A6748440460844A5DACD816D728B00C725C771EA
-647896AC27708EC7F9C858CD6E5264BA8DE4D1B2662CD161C0099FFA627070C7A228BE5B
-F38052CFE6640BD91780ACB62158ED53E83CB21BB2DD3C2C40B70CAA21FCFF4BD6F07220
-67A644BE891798B0FCEB7FC5365ED584349903AE4BE36990F66113C3E3E2A12A2B822A5B
-D334342AAA886A4C3460598A6D2C6C120369E27F5D8DC14D2C79C7B5215F0D6D0D7D7F69
-AD2A561C66C113DF9F60548A6725826E9C508BA07AAB59F3BFCC74D70D3D00546745392E
-FDF15D348F0A5E36AD6C250CDD7D4AC53DD79991F36631371908BB9CDCF2089F4E37EF58
-E9A5AA78F3896AB9769C510A5965BFA79E40083388A56649126390F24312A4AC2D05C2B9
-A5CAA54F62628212354D6EFA8875F4B424732598FD8ADD1DA5459243D233D95F8840D51F
-93847579566AE17644FCC7165E551BB9BFE7666E02F77CAE781D41D2EAD5388553E06363
-99653C07C45F603D6C017AC9DAAFA14339F25210A4A91DEC0DDED2501D38C15AD3371153
-CE2CB9E7A77DFA80BBAED85CD46D3495AF1D3BA9246885CCAB880908970E87B0BBAB6447
-A611956A2614BB89323FE3546868CD7C558C0BE2DF1F3649C0190BBDD38C8168DC698555
-2E913FA8BEC47F2ADA8211F4FC25EA75F5BF578FADF6707F051A0DDE5CC99C83DE55EAB3
-D81F40A05370B3609A9EE133982CAECB4108661833572E5360D31CB29916146F3D43C127
-E1DD71CA9413C462AEF379BAAC990E9C3BCF2C22E90F15AE7CF1DC3C52A44894E123881D
-B6396ABA0C77AA2EA0BBD78C7312C9B9FC36271B058DAD3F57C44F57CB825908CB62B3A5
-CE1BA60AD20892AA2A559C53E8A883E9F9CBBA38D13E8E71A8C008861454A58087E729F1
-C50723854AE1F620D3E2D716697529BF345A269ADC240B8EB1593604E08A12E8C184EA2D
-A26B206A5643EF0071D752A3D4982A507246F237880919ECE1538E34EFBB9D991129B948
-A0D37A10321F792A35C6602F5191D34100396E0E89C0CD41CF82D1A3E55FBF6575DC08EF
-59485DDB2F33B1689738ECA78A59501F8A838D3BB960C025617D8C50855F31044D02F076
-8B5B1E6058737389AEC850E66C6F478F96C5C1D2F451841C30D6C1EFFC5B780D26A3BB24
-AA555A045DE634041EAE5F0572AB927AFA68877A77FF3AE277505B133BEF87C2899DD7CF
-A9275F03B6B8461DD1791D0B0558E2E7A36295DAC3CAF878BC670E6B005FA34E78938F50
-DE3B75424769ADD07717737AB4E965A9565C1459C3197B545A64A5F22F7F3BC0A0641122
-85134DF7405EB961B367250242455D9896F92FD1B784AF5DF40C408B0F30A4689168029D
-B522BFBE784FBCADE1D1301EACB5EB09DE63E20D5B313D2D04DE931862F08309633401FD
-2117426434AB74A5A8480F6F9466E93FED5AF4DF1B3C81E5ED77DA855D1DCC9803DBFBEF
-79994E045DCFA6FAF3BF1DEA57EB30FCFD0BE7A17855D82DEE77AD5F61C08DFF00958DFF
-B5604F75DC8CC24623F582BCD220CDFE0D340A1C476D09289C5213DD812A0BAEAA492E8E
-AF3436C2D490FB5104DF3139BA8D5DC7AF08BD1C9517206FCC738B626C3E29E590E2883C
-30A4C745F59E54463086B20B76628FA4DD6E295144B43C87311DD11B559472034543C376
-65CD9B874ACEF7028F342E2B34CA04260ABF8C8E6193A64B94B6E1EA6DB6AC39FF3EC27D
-A41A460DB7FB38555E272E1CDB792E682E887EB5C5AC5C0D4037C2BEE840A825AE864D34
-B205B65BA9E9B4D07A16FD1D285EB96E172E89A1024E5C0BEAAF1E37861ABE6767B98CDB
-50C786E66AFC82AC474391C08F1FD549FAD7401F72E04B3A9A6C52C1B697E9D4E3E33122
-EEE5D0C72B03CCE96FC3D26966FC06C9BA4B7B838076796DC95CFA3FC222B3097C43BEE6
-251843EC7E8C81377481BA2C5F77C47C2BBC53FCBD8305C557C2FF07B9CEA70184E9DB31
-98CD10E6D6B9D3ECFF62AE429193DF88CF2A6548766C2DDAD04C3062D17BD5F4AE274043
-07735A6DD95F65E3CB850883474E57A0376F867507756D7FA74D0ABC7AC4ADD08E0AEF53
-39B613F64A33F92ED360B7C0A65F8F81290408D0B8752B7C03796629304BB83A455D51B7
-4C89ECDA38CBE83C5FFC54A7E5CAF3E2636865BEB3D6092CB7E4EFE6B13F710988F1B492
-9F4EA0676EA6B8495DF63F8BCFFCD47EE238221BA37F1C53B40A20D70347145DD5A04858
-4F1B55173B2808416CA7BDDA7775DC4F208742F7DE0382C97916342A192E47D3BE4454E6
-A2F80C8B72550D55E9B463299A2008334589CD4B5C19FD948BE6F9991EB7988F004E3BB4
-EDCFFD47BCF21276935650AACC3169B54109D8C02EE11D3B2670A7CD006DBC704EAD9F5D
-3D1678C93199034AC92DD1959D25423A135441DAB773A78739663959C3AF3BE598102B4B
-504DE19444E3BBACD584E15F6BB0D6AAC894FE5F86999096DF225232AA65B122511D3D0C
-6AF2A7B25273CDCE5F4791416BD85DF4841C49ED8179DAA39FBE9E8A5D0A1BE58D67A0CD
-CED550F9E02274A337EED7DFA9C3E23AB6AFF8F782AB4DBA173D8D0DF5A687070A4F8782
-DEFAC64D97487B10BB114338A16A081C64853076AB441E0598135A79028847D19229E650
-E96257DA27FA1C78F42302D996744BD5DDCAD26FD13F21B2D31ADD3878493ECDEDF6A257
-CA47BB5203286AD59910C8BE7604244C6E0041F3AC99029A5C61CF29A105FE4572BDBD01
-8B55B411B4CED2FB4F793F842CE40F2F8D07D8E10E79587970FD254F4106278DC7FC6E86
-6D7A1729C01D612A7FF65A63CF1C27CC79AA57699B0188285F474BA5BE90322DA6F653ED
-3BD73542F9557352A042731F7448ECC6F931218E6B25ABC903E201F61BF1A7796135506A
-DC2091CC49E8776202498C3C779C5A0DAA64C92D65FD3002E359062E1051FEC9DD47DDB2
-08AC3EC609544FC692BC2638E17AE95601E0153EEEAF7FF294CAB662116B455AEFA27744
-FA0AE2C7274442ED99491738BF4E832BD2991C59C2D94665FB6FE9EDD8BBD65EB2936F9F
-8855722E84B50DD6EE83331138EF9779751C13E8757A54DDEE891507D2D00289B8667C6E
-D9DF722391C9A4C7BBC146C735253EFC8E7B436134CEC60EE2ABC2F999EAF00352F141F6
-B3203DFD0FCEEF69B74CC180714A56B020B8832D291F17398E5B219300AB472699C5FFA8
-45878442020D780E1F2DD784AD116221769CB0C92A8B9864D646FC6DE853C19AFA0C9034
-6AAA5ECF81394BAB6F82035CF59E4CECA428E4D9513C5DE593D9B2A9EA127510CC68B5E8
-43A17803AC404DDDAC646E6E73C63C63001DA49CEDB5630B2E5A4231CD3F21DCABE8B3A0
-3ED509459FFFFB2457F1D5608E09448CA76E516407057805B82CAEE2B5FDF19BA480D93A
-396EFE8199D04CF81E08E979C2C84EAEBC3CAD9DCF81189FF9A1ACF3FC19A88B30020EAD
-5DE7A2EB7804FA0DA9BF71A339C3A304F51E47F11F9F0F754B04473A3ACADF6FFF079CD6
-C6F6B58A4BD5B340AADACEFDD5140B637EB3209BF8FB72B493643CFAF4900AAFC63A4EAF
-D7B9A4A241ED10FC7CA1490304E2DDE4B22354B33253B41438CEDFA00E5146648B219E4C
-E22D7BEA2EFA6A063DC8B1772371E3698C243C48CA4705352C3996DA94B1258B79C0B4D9
-63E69A95DD8318CBCB338354B91AF6852EE956A28F0DE835004D7F96C0E149DE50241951
-0621F7317209D1E1FD2172242E4B079FE328941BB0720194EFB48EAA04E59196EE8611D3
-325D1C12A3947C9E8453042F5F6F4B7B381BBDD7D927A8FABE70AE7282291265E7AEA516
-8E8D1BA24C71653323E26AA6344BC0D9F1717255E81D4C6A8B4AEE128C71F228D5775ED8
-257434AA754C770309C9FD1E8D1B69A12A78A726C80A9F74136FEE214D9EA87DD2E07F79
-53C78272BC75F22F54BA647413B5500051159EFC793BF1F44A6B8053414A331AE9AD43C2
-9AB2FDFA1107242078E6B581EA6DB98A73EDFB2AB8D733A91F8137C92E27ABB2ADBDF87D
-E8B9086A12D3D9F7F5CD98D8393FD4D55F8FB26E849373C89C5FBE982C59A13FD4C655D0
-DD98A9056D4F4C36CF1611CE5B1931F38077D845F1D0CB9A32FA9E9560F3DE0D90B922E8
-EDCFF38CE0F00B53894EDE37276432C4786665233C4B72A2E770C1A6B137EBCD8275F64D
-F1C19140C3A4186408993F112C44EAF2EB0D97FAD7503835AD56965D66B85B037984B561
-B125093AAECF14B8240026FD89389E6B1485C76EF24B838E1E67ACE175054E8EB18DAC7B
-9FE59483EDB1EF741098E13D72AE7C263A8102336E6AA6492DF4C098FEF95D7B73F90CCD
-3A77ECCD01816353DC819A90AEC7F58CB524B91D861D24DC8565ED19C3E44B91F6FB76C6
-E34B107A33EEA9BA30E8046DA880C4F6C7A5C3E58E45B4061E400F12F63219DB2DB438DE
-57CB2ADEA50CE263FAAB683A5F993657C38A7301C8F0971A258465A2A03915341AF17D89
-B60A4A6E35153F4089E7394EBE36F3FA0E52D561C6954E60080A4CD4BC3DCB8C38E2F835
-A4F7EE9D8CC16A8FB6F205B4B9B9052517956A19D11038ABCBC28ADAED8AF15A274F634B
-D4EE6FA279A872A087A53486CE9F0230F464B877E9CF8002765094E2E3B08F2F479F311A
-A80699980FBD99914C09E6677161DACAE71884A21BB600BEB151D1698CBCB8F3C4CA9222
-8BEC63501DA8BD9819EB03006A427402FBC8C702E9F8CF2B0DCDC7BFCF0A5081A47BE7F6
-56366881FE8FB14E160E786A080B98A9CC17E0B52F93E31EAEAC7AF0FA0379C64F7EFC69
-5B80F3EBEB7745F3FABFCF0B4FA1AA56CFC3485B50C09783DE242F277D1054891CD9E78D
-C67525BC2308F66F9CA11AA6AD31D48C3FE3FF0346ECD3648F803C50B86DAC19B0DD85DD
-D09CA881CE34034530BBD51EB6075147CF0077AEC54690677B17334DE7DE56AFDFAA80A3
-D8F9700A9DB28A760C5DABFF102D5138EAD1E697D050D4BB9E6DDD28F0D2C669F0713049
-29534D421413BC278180F1172594DEE9DDBF4BACE639DBD04EA2497A4E72032C5C981038
-7749BA925E3E46CA02CCF1AC8C2931D1F538EED1B3B725C6C4AAC7D65DB7DFA4F86257D2
-69BA6B0CA4902214C3A37D0D2DD45E2427599F3C55FD813840A251F96DEF09C7E72D7007
-59A90A9F65B1DC63CB2020CEC0BCC6C54F428B8AEBC5FBA51EDEF53D88378F012C780D7F
-A904DF1DA8B7148308BF2175B11B83281E132FB20AF80ACACB781EEB48894FE148F5FA96
-3AAECF094DB605BE46AE4EECDB1B8C1C64308F6F21239596B12DF0CFA846A09810F803BC
-BA672B89004AD755D201D19CEBA6C99873EEDEC4929078513912D0815566BCBE3994F345
-68151B5B3375936A8825CA58392851D1A873DFC8BA308C58AC1F9EDBEAFAFDEE682C071A
-BA64798C8486AF1510073C04773B4CDF2B77C3C4E3A3EC365FC4E08FC93B116F8F183947
-28029EE89EEC18724AC9D36A2BE1428D90F85557C4D2AD1442855DE6CF1D06C0BA192F79
-2D08D3AD3FB804AF6B68B3885556ADB4A4D11CC336B1B998344083129C66446868CB7657
-E8946E25AC33ADD0BD39D1D3396FA15B344B4BBA42C4F6265BA738A58FA31AFEA589A025
-428664B136A771A9B63606A6E63A29376255DDF52E89C2336454C3452110A4D0C73A27BD
-D2A47D47744A3B9A4B84BC63349FF5C75A6CE2010E70B24A053C9BC8DB1089F4CB4047F0
-D102860A352BD4F0E9B2FE00C730CA3620434DBBB5180092CED4F7CBB8021E705F4C13BC
-759B366A4D054B804EA3A8A9604674EC0DB26E93112CB244FEB1DA9CF920CB24DF6A0E7D
-7F3B117B9E62ACAE126303EDFEACD893A8947CC822D84757FDD6460A0A344E31D1E8FE98
-FACAAFB39C49EEFDF56DD8014572563FBD5527097CC805E6B03066A81E6120337F83D1C7
-BAE66253655316248F0CE35FBD61A2372D7B8A1573D34211AD49C592716566EAFA3FFB23
-50B54A4FD1521FFB1DE011FCD82792B93D87788F8409AFD40C7448DF74CAB5343D62C534
-26F0120A12C601E35C4A17788FA6086B3B4C7C70F1043198C61E3EA717533971E8F78E56
-17C84A3B5EE522B4C7C33FB5F1B93089EE7EC6D3FA90EB7C886D04116C3C0947FC5F3B85
-45636538CBCAA1DDBA880A0D5A30FFFB07401B25CA5572D41426D4A6D98F3EE01AC1BFE6
-D40C58F4A2413631E59140F65AEBC0990A76BE20C2996D00053F353945CEC87AB8970B88
-20DF8527A018548EEBC55906E04B0A3A498877B2D1ABAEC069260F05541301AAFB158200
-DCD67355FC73930DD4B47DE9ED0501CE7E38823203CE6D714E5501DE6C9922187592236C
-E424564D6FA776E1EABC1000B2A854D06860F6ED7668C4D5DB5CABF4E89D9E05166CDCBE
-D679B2E1645790F968D0F12843561B95FC90B8CD75EE2D053CBAE61E215082E5609C1146
-32C8B81CF298E477C0427D4CC68E6FCDB88393BE8520CA93DF1E3B519980FB3523BB18B1
-99F1626457857CF7641AC66E257634B349B2D5A8728DD02A890391BF2EF8C6358E4BEFE1
-6A214068AA175A1E7FF734960FDDC28989AED8261D18B4D996372FDF4788AED732041886
-24521DBEB9985BECDA0A6CE64DEC42A2539CCD4F55323057B8AD70BBD5B05872B864FFFF
-2D627668ACC1D8D1908C1E3E2C76D45DD2058C717C02D279B0AC4B2E526C657FF7C5DEB5
-3538D1B2116AAA957A6B16F0CF83430395996462F8183F71041D543C330183A941CC5E37
-8C348ADA81F946090676425EDD0EAD6EA996CBBDBF83B606D78B08684BBEBCFFED1D0875
-6CF352F872A71DFEB693608F24E3F4D663E53661B35A0BBEB3B630489FBEA39BCD26BB90
-0923FC711CDA89442435FE3A491FA23170B6223A577282C24FB7E895E2A0715D2B78F20F
-F1F9B06AA9D754FBB32CBBBA06663C59B7A8B22E666B26F2B9D8C55179953581E756BEBB
-82CB10E21A7F590C6569324ECC4C34DB4BFD9EFA84897068199ED8344A438A1FFA475534
-0EEB53B8E087515ABA25BA2B1414EE4F86E257387D4C0C7D010888AEF962069C57450925
-6C3F0625BFD6909356DD62C01875C69204C843E6BA873049D72ACEFBCD9106FD45B8E9B9
-8CED3AE42ADAE6A7BEFE925BF6421E88540D9E599CCBFB9E8DED2C5DE0B7AC4B331EAD42
-DEE8EDC35312B1062CAECCBC903CEB8F67897BEC2305B6C333FB766D92C6CDBD77CB4F31
-F63AE1C04A249361D2EF6E0BAAEB7FA3B87E0BE0E1E50C1F480AEE2DD2B6B4D7DD89A020
-8C9B43ED6F46F3883AB7E53869E3C2ED3DB0DBB1A05B1629E48B3D7F420F02FDA6B1CBB9
-3DEF237CDE1F7BD8C80AC7AE5388C30335378E0E374D0C41EB824BAF001A4C47C399F301
-13B442A2C1B27EC161CF528FC2B256579E3C96AD5F4575454449B3B5E1CBDB300A364C7E
-6675B6B924B48E58A0629E729941C3830D23968002C56F84F53CF124E771FC83CCAA3363
-5A130FD70D9422B524BEBC6FFF2369A71DAABD932B9D4ABEE240F07A4DE04C280D9CDC39
-A52D9B09799279368965C40C32771BCBA0EA9BFD488BFC3D154B8E421391BC7081D27262
-B40B8B953C02432B8074CE466299EE8BA9A0BF0D47F797EB5A8300B1E80EB44EA0C0D51F
-8577BBEFE06C2C31199B4B4483BDBC10B9821B7CBCCA73E4A96932ACB5DFA52B2F3F346A
-444EED0B3B0E81E8B65867CAEC517B99B84F574AB31FFABC2E0DA312F12E549436538E9C
-82417153110E8060C80101B8AB8955FBC6FCB64499BC6AA18EB6DFB9406304B2FA5A003A
-650C15B78EF641381F9A474623E69167793F9896DC82AC4A01FE4E267E9713507AB69A60
-DA690E3F3031CB836256B21FC26BE0B340FBB84AFA550F7ED8C3D0DAB80AA2FEC258477D
-6576F86E6D8FFB91F99917A1EFD4902BC12AECE66A5EBCC6585ADE4D96CDF5A78D10EED9
-4D543079A9F60B3650D17C81748189C5A1859982574E1E821E943AD2C59000D8CE586E64
-178DECF669143E9D12131FA2AB2516A3472C7B41DBE5E8D2812FC7DBBC2415055EC1EE77
-A1BC7FAEC22051FDFA79F47C5D511C3F55DEC0369CE994D574299A9E3AB915935C654D71
-F3FD4988F5265EB95349304260ACFB633722F5AE8F43D3EF4ED5A0D333AB72ED10C1BCDF
-30A2C85CA9A4B10DF95613BB465C2757CD153E81A1CB4B6D6B7A723BF5FBDB791B38E900
-EE8CA0F36399A767FEEB1C239880F13643BFF60481776C3856A033436C14768B09134DD7
-2C79C88DB4A5E7AF3F76B4806DFA232841268CE4D3D6D8FCF5820EC52B713C9ECAF0320A
-5E94C45E93A785D5F4DB8E5A1F43BB8AF4218EBC91BF88D10311EC6812F42BDAB8BA486E
-77AB14763C2E489EED940D934AEB3840BDEDCB9307830202AD02B3E7E27E0358F8502DD0
-F01935DFA95F69B68F5CD4F90ED84AD59DEF5E62508CE3A5AF67B2FFE39D37C59E5251AB
-5E26C96C0B08D593BDB3F7ED93F9BFAA609723BF87BA135847B8535611C5E4EA0BD324F8
-3B38289C3C5D54713A58DE72FADFB4B89E7F4C40261C1779B97CB9F9570530D5943A00EF
-FE435F5541AA079CC0E8452EF366D9DC18B0A6A0454FF9AFF47957973F77B9806373C9A3
-D048558F532788AECECD659B8B2751958B3F454011DB88F3BEB0D50053DC70B0244AC1FD
-20D70C444E1CB00399EC559D6A2513DBFC001689156FB89CCEDC3EA3C9B70BF2FDB3A1C0
-9CF814E7F1332B7C752DA6B2910663D3E0AB53E89A236ED66418A280FB4A561DF005B08F
-885D58BEF1429418D81F67A00403D87E16519FACA45298D16ECD5CE1839D3BDBCD784710
-8622BCFBCE4C100602211E6762998BE4F6F211EB916468F587A4DCFCC2030FA5FCFE8018
-1299E339E35ECDC494D4314368270D837927C46EDC1299FA541480A07F085D583F2B9390
-EF3B4A2A8ECA8B28648D8132A0D5B37E353731056BAC85AE7491369809C4A06ED7B0CB7D
-BB71404D67DCEADEF47603F7C1A3337AC93CA5510F022893466AF4C74C24428275C44E23
-0FFA5972C9D36359FCE3899A3D60EF63920F154DD39CCE56BA57E540C1A3497B3EFE96A5
-EEAEE028AC28D81A541F833A62C8F7AC492BF304C632A023C7A170F8B3ECAA4284CD01A5
-6F74B4A41F1FD464BF46C890325D17CF9C8ADB8AACDD9CCA20015374111DACDA8744BE20
-DD6C99E09B51AB2287016DD65383E8918B5557B78578CECCA7EAEFF8E9BE9E1B13A24613
-C953C5BB45BB74A5A935F32E708927D5FDC1805B5EB9745D35654E25BA50FBBD7DB58D7D
-6F70E102C640B771CAF3C1C138AA9A828E79F377A1FC8913012E5547D3602B22B4C365DF
-269CBE55BC4AA79FABC53F01EE7D809481DDD3EE602A7266B7280DAFDC68259CBA490414
-84E4EADF0F8E4CEA8A8CFF260B8F4C9C5A3F2ED699B4CC72DADF932F844E65C1BD385CC0
-F2EF81820D16CBD8CE2B27ACEC225FD1DB77723EA0F03B1CF07630B907C7494EB4CAA725
-18144B1E15B0B34E8F3890269BAFCAF6DF4EDF3861ECB5266C285085BF4E1C6FC0FBA7A2
-6504467B734692FC2C9797D1B6536FD42314CB0FBDC0B104EBCA6539F47A97E1C8974876
-9BF5EC71AF381DBAF9016B5A794EF38776FD9F811F31EB98010FB1FCBBF23A00794E2FC5
-9637254DF49FB9C0F459FDFA0AB0C8C040AD780D6CF3C9173472B8A6F041D3B30720C1C0
-324B977866A3F892FE9A12DE84A6F0D723ADC584A17C055F07F4BEC7486D6B064885E410
-B48509BBD815C3BC2D57F23515AC82551CE3D334424F3456944460013BC5B7B43AB19D7A
-62C9C2431CAB250705DDA8CD0395FC754AF7E0B10BEC12EF69100A831CEB62F5C016142C
-32B8A41F852F57BA1DF144C2A534C06559BA009A92E345305589796697EF28E097DC06FB
-8465A9DBDE8F5C38BD9D0EFFC3712F9F070F1FD50BF691811F94E12F26D47AC350C01C96
-BDC13416E1272D457AD210AFD2822408337E8BA7E63FF468AE68983966BDE984F4894F2A
-47E982E29C6855351180079ED4E9D53912764533F5EE35A93B31A4885855A31DCC719522
-8D266F9C539DF45036A97F920B717D08ECF274B66EBA30E223A49D67975E8962F617C107
-23261A6FA71061BF91EDC235B9288E4D856FF764A5E65AAA044865D0666523B24CA1AA3F
-87A58577ADE42B6DD75960840BBE46C584818A5C7E4E0FC13D41E9E1062BF50260E86A39
-09C5C59BE2E8301ED90C22A42CD5DCC436AF0A0E8987853B1FBF316986DCF54BCE866D05
-1992116762A7E54B08DB4E6126604B30F6D304E3D1B8FC6E602E11D791648C024661CE90
-7A6808EEBC6E3E2C0CFF9A9C6DE679F7E0246CFAB927F1D1A642958267645432FD9861D4
-92DE7CD99824C0A7D93A27F279C0D9919E4D14BC0855F4B562447974B2ECD1171B848D17
-8216047A6834390D7704EB2D6B16EC16A478C69AAD1A4F766FDB6D609628AFFA7F34796D
-0667AE68EAF4D3BF8C7316A99E5CAC797F0220A930B7F3005EC0C72A2A925DEFD27F2DE0
-8120030CD29A9F5553E5609363E34A9526327EB61AC707C48F
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-{restore}if
diff --git a/fonts/Monospace-Oblique b/fonts/Monospace-Oblique
deleted file mode 100644 (file)
index 9322927..0000000
+++ /dev/null
@@ -1,2706 +0,0 @@
-%!PS-AdobeFont-1.0: Monospace-Oblique 1.15
-%%DocumentSuppliedResources: font Monospace-Oblique
-%%Title: Monospace-Oblique
-%Version: 1.15
-%%CreationDate: Thu Oct 27 10:50:21 2005
-%%Creator: mike
-%Copyright: Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved.
-%Copyright:  DejaVu changes are in public domain
-
-% Generated by FontForge 20051018 (http://fontforge.sf.net/)
-%%EndComments
-
-FontDirectory/Monospace-Oblique known{/Monospace-Oblique findfont dup/UniqueID known{dup
-/UniqueID get 4136343 eq exch/FontType get 1 eq and}{pop false}ifelse
-{save true}{false}ifelse}{false}ifelse
-11 dict begin
-/FontType 1 def
-/FontMatrix [0.000488281 0 0 0.000488281 0 0 ]readonly def
-/FontName /Monospace-Oblique def
-/FontBBox {-239 -1034 1512 2105 }readonly def
-/UniqueID 4136343 def
-/PaintType 0 def
-/FontInfo 11 dict dup begin
- /version (1.15) readonly def
- /Notice (Copyright \050c\051 2003 by Bitstream, Inc. All Rights Reserved.\012DejaVu changes are in public domain\012) readonly def
-% Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved.
-% DejaVu changes are in public domain
- /FullName (Monospace Oblique) readonly def
- /FamilyName (Monospace) readonly def
- /Weight (Book) readonly def
- /FSType 0 def
- /ItalicAngle -11 def
- /isFixedPitch true def
- /UnderlinePosition -213 def
- /UnderlineThickness 141 def
- /ascent 1556 def
-end readonly def
-/Encoding 256 array
- 0 1 255 { 1 index exch /.notdef put} for
-dup 32/space put
-dup 33/exclam put
-dup 34/quotedbl put
-dup 35/numbersign put
-dup 36/dollar put
-dup 37/percent put
-dup 38/ampersand put
-dup 39/quotesingle put
-dup 40/parenleft put
-dup 41/parenright put
-dup 42/asterisk put
-dup 43/plus put
-dup 44/comma put
-dup 45/hyphen put
-dup 46/period put
-dup 47/slash put
-dup 48/zero put
-dup 49/one put
-dup 50/two put
-dup 51/three put
-dup 52/four put
-dup 53/five put
-dup 54/six put
-dup 55/seven put
-dup 56/eight put
-dup 57/nine put
-dup 58/colon put
-dup 59/semicolon put
-dup 60/less put
-dup 61/equal put
-dup 62/greater put
-dup 63/question put
-dup 64/at put
-dup 65/A put
-dup 66/B put
-dup 67/C put
-dup 68/D put
-dup 69/E put
-dup 70/F put
-dup 71/G put
-dup 72/H put
-dup 73/I put
-dup 74/J put
-dup 75/K put
-dup 76/L put
-dup 77/M put
-dup 78/N put
-dup 79/O put
-dup 80/P put
-dup 81/Q put
-dup 82/R put
-dup 83/S put
-dup 84/T put
-dup 85/U put
-dup 86/V put
-dup 87/W put
-dup 88/X put
-dup 89/Y put
-dup 90/Z put
-dup 91/bracketleft put
-dup 92/backslash put
-dup 93/bracketright put
-dup 94/asciicircum put
-dup 95/underscore put
-dup 96/grave put
-dup 97/a put
-dup 98/b put
-dup 99/c put
-dup 100/d put
-dup 101/e put
-dup 102/f put
-dup 103/g put
-dup 104/h put
-dup 105/i put
-dup 106/j put
-dup 107/k put
-dup 108/l put
-dup 109/m put
-dup 110/n put
-dup 111/o put
-dup 112/p put
-dup 113/q put
-dup 114/r put
-dup 115/s put
-dup 116/t put
-dup 117/u put
-dup 118/v put
-dup 119/w put
-dup 120/x put
-dup 121/y put
-dup 122/z put
-dup 123/braceleft put
-dup 124/bar put
-dup 125/braceright put
-dup 126/asciitilde put
-dup 160/nonbreakingspace put
-dup 161/exclamdown put
-dup 162/cent put
-dup 163/sterling put
-dup 164/currency put
-dup 165/yen put
-dup 166/brokenbar put
-dup 167/section put
-dup 168/dieresis put
-dup 169/copyright put
-dup 170/ordfeminine put
-dup 171/guillemotleft put
-dup 172/logicalnot put
-dup 173/sfthyphen put
-dup 174/registered put
-dup 175/macron put
-dup 176/degree put
-dup 177/plusminus put
-dup 178/twosuperior put
-dup 179/threesuperior put
-dup 180/acute put
-dup 181/mu put
-dup 182/paragraph put
-dup 183/periodcentered put
-dup 184/cedilla put
-dup 185/onesuperior put
-dup 186/ordmasculine put
-dup 187/guillemotright put
-dup 188/onequarter put
-dup 189/onehalf put
-dup 190/threequarters put
-dup 191/questiondown put
-dup 192/Agrave put
-dup 193/Aacute put
-dup 194/Acircumflex put
-dup 195/Atilde put
-dup 196/Adieresis put
-dup 197/Aring put
-dup 198/AE put
-dup 199/Ccedilla put
-dup 200/Egrave put
-dup 201/Eacute put
-dup 202/Ecircumflex put
-dup 203/Edieresis put
-dup 204/Igrave put
-dup 205/Iacute put
-dup 206/Icircumflex put
-dup 207/Idieresis put
-dup 208/Eth put
-dup 209/Ntilde put
-dup 210/Ograve put
-dup 211/Oacute put
-dup 212/Ocircumflex put
-dup 213/Otilde put
-dup 214/Odieresis put
-dup 215/multiply put
-dup 216/Oslash put
-dup 217/Ugrave put
-dup 218/Uacute put
-dup 219/Ucircumflex put
-dup 220/Udieresis put
-dup 221/Yacute put
-dup 222/Thorn put
-dup 223/germandbls put
-dup 224/agrave put
-dup 225/aacute put
-dup 226/acircumflex put
-dup 227/atilde put
-dup 228/adieresis put
-dup 229/aring put
-dup 230/ae put
-dup 231/ccedilla put
-dup 232/egrave put
-dup 233/eacute put
-dup 234/ecircumflex put
-dup 235/edieresis put
-dup 236/igrave put
-dup 237/iacute put
-dup 238/icircumflex put
-dup 239/idieresis put
-dup 240/eth put
-dup 241/ntilde put
-dup 242/ograve put
-dup 243/oacute put
-dup 244/ocircumflex put
-dup 245/otilde put
-dup 246/odieresis put
-dup 247/divide put
-dup 248/oslash put
-dup 249/ugrave put
-dup 250/uacute put
-dup 251/ucircumflex put
-dup 252/udieresis put
-dup 253/yacute put
-dup 254/thorn put
-dup 255/ydieresis put
-readonly def
-currentdict end
-currentfile eexec
-12D37711F3EF58D4B0160CA0E8A8B30BEAB80C582DE4028394F513096550F71FA11E0919
-505AD6B7CD35BB9BC351DECCB83DC12688E510CD157D892C101B29A3F7371CD20D496932
-3EB249027679D3DB7582D953F033C85D9B05B2E5B9E3F8CC14BCEA62C23DCEDB24A737CE
-0B749199BDC0ED14B3F80C24B773C7D94E0C32CB6CABC70B74F04C589AE25F78DAF2C485
-03C9800E9816B03D596C6E3855892618845E5102FF46233B460979463BD7A820DDD6835A
-95C220225DFE27AA6BB31E99C60F679AC7C5A3363C40EF4C555EB47B0B8DB21ABCDD571D
-28DE4719336D102E1E7D1EDCC5B3B0E60354D35EB856F234AB60D3C84342CB01D8747F93
-73140C128A546250AD327045F7903E144A248D16DBC150EBAAE66ED529E3E69214BF4A15
-12C2CA07FCF9A1CA5DD6D5A3577FF552FCE29E2CE9236A470FD258273428609693228B91
-5420FBA3ECF0A2406B4484196374D33A6C4ECFB322185AB88BAE99CB4FF8147A0C4D3274
-29B1B69D3985E21294AC5BF3777F72FD8986BCFF6374642612A36E01B5F19A4C313C684F
-B4A10E6D366CE685E4D566655263E514862031506A3B886388753592B0F9A5D61EE9C644
-3E5E6BCD8E4FB03ECBF8955C142520D0F71F7E4DC8C45E335345B990BE35EEF99170556D
-05A25CFF99E21151C7C1407675D515921EDD3FA3B98A58FBD14CDF1AB6AEFF424587D2F3
-CCBAA445F12ACC21F1AFB0EBA2D9D9EFED2C77A01C7B4FF0042E9BF457442297D0989DE2
-DC27042B646D45A9BCB9D9B80AAD373DC283EF83A52BBC4FF0B2E17194CF18618BEB8CCB
-BA24F7B836924BAF4DA12D018EB41F3307ED0F6B29C51B20D92FE58C27CF5E7D8A3386EB
-04685234F0D2D1704EFDE3C72CAEE80A17BFC25C4ECE7DA8A4F9044856A19794E13B9199
-279CDE03A30495084E75DB7C213CEA250A5DE3A17D168335FEF9BE57291A770F53502F9F
-78ADC6BAA3223B013B120789D9672B286D7713F8AE9802A4424B889344D6D06B280F60AC
-A1A81A0D8ED436C84543D86A866C981A4A8ABD3488FE907F39B32311E4C2EE313AE91061
-A1FE81235477F816259BA0D0151DCB3F28B2F59518B09E249369379B19E5DFC19EE63BEA
-CBB0636880CB367BB50ACF4767E2A9E9BD7F0339D4128C54E622D4C39C5FB383438B4A73
-9BC3A717D1E3F8A8CE7AC4FB789C7531FCDF82C32E4C8591C3D707E6CEB702C2D210627C
-558FB139108437B8E9D99B2F8532F76709E821391A07BB1A9305F62EE8F9E1EA1844FFAC
-C5205E5428D155457F451A8177E75D61195BC5A9F564297E4C36C9D3F730D1ECDF921096
-C42A26E66BFDB9AE5682CE255B0DF1265A763798CAEA7A3138CAE6A7F6711899EE2FE701
-D825DF705F2BA8D8C6A6FC077C7F63C35D0CC5A183A03EEDB7A81D71092717E60CCD03D9
-D7EA295AE3407BFA22C26CF4D7689B46CB49FFCDC43F3BF5B3A49E53387FF86B4267B880
-361199FE0B20B7955DE33F541FFFA0DAD7917CD64ABBABF977ED46127DBCFCB179757EB8
-BC08D07CA46AAF440882C7ACC9B93C575C363FA81F381CCBA6B3ED329D349D8D7E3E1884
-8327A19CA6C83DDC89005AB7D6725D11AC8BD6F2C7CE8B10131F7A82484D03A3C6D854AD
-4E173EC6852F0E46D46F6B85B2641AE69CA53069AE2B330F57223C297E09358F7DE81F08
-CAE980A507F685FB2156714E7E9E88D88FBCAACF86ED25335647B1238F31BDD5D820EE43
-821F5CF2F7D9A67586D99E9D4931AAA7C2D32FAEE392CD9FA4DB8F69D76C3BBB48A10CAF
-BA3E78F64701913B414845FE6A5F78A24CF5CD29097FE21032C5FFB34F107F51B3D8C848
-2100FE54272E0E17B79419FC0AC8966CCB7AFCF723A8F721B06CC80CE0B07B92DFD20E93
-BF01ED0C72F6385A49524A7AF5EDF658FCEA7475FC6CA315926826FAD3A90FEB182B6651
-B1966E20F7300D288DB7A53402D5D8D0A748E3C0D21B9DD078FE8560B40C06B2A7037659
-A8603518F2A67C62BBD9A29F452723A8EFE6CFA2C356EDFACDC8AE936533498DB168588B
-6B96C1FA3A2740E3BAF4470783C49202FB9D1A9A9DC3B375F1187CC1DFECBC616584EE00
-BD76FE39C6EF0B7A7ED422042C1EBD392A51BB458F920DC197915A74CE8E6635EAA0A772
-426427212311ADCEFEE54E075B8E03ABF3D4F7939D35809F0B6AAFFD9C08562B9E6BF8CB
-B6E3303A1B3851920EEA8EA61B081D22A585403C8D25E645987434DA4A16E57A585B4097
-3FE63FF99E2BB9B860DEC906F8FC183A6C57570859D7E381A6CEDCECFD566DD50CA67801
-ACC6151D9C6D7D5A3A19C5A283EF37F1F418A469BA10E45EBAB0432A366C1549CB402F12
-DD99AC7F802EB9D2B56899BEEB60C65C6B22EEB9A00C680E94E8B190B1C3A395B6535C3A
-3831D857819FC23F840B273D3133F1BF243EDCF846D8E308E04F6A38B5C73502F34C6680
-0AF88F2E920E39CE4C31DB700CE6A2777048E4B2509EDD822FB0036D888B86ADD2A01C8C
-AD1EDAF950AA9EE999B4EECA0DBF02064602085C18FFF27707F09511AF5611DC76220CF9
-FA55BB850E7F4359A9B597ED3E3298B765D9AEA76484DCC7338551FAA0F1BB8CA3D0A628
-5BA8BD8E8342155B682CD6C8FBE6631D627C4616E80114385D6B52E2C827D5E7A2C1CDE2
-B32BF8686B1E6A3E8689D1C2191C6C3E9697633E65521500EC357746647364248682F2CC
-37AE635B876025B85622049F99B824C32D060CC599FD4CDD9BB51530FAE7EA750DFB07AC
-A3226EA764D547F7158AD27B0187FB701626E7364C72377402A88754F1D3B5842031E319
-9DC3FAB04D7A3C1FF486AC03EDE9CB78A5E911F56B06635ADF5867E64C2871317AA8B298
-3F0FEB5251C244D589A8C9BE5A9C6382F9B409CE2D4F19AF79FDD4157C326A43EC78BC27
-FA5384398C5F927955B2B67EE653CC6EFDCAF7C23C0D08B8C3DC41CB5844E057EE1A277F
-8DC7FA99594391BA6DFF30FC9FEA550E58F39934675E587698AF82F00F428AC930567362
-B401C42AA7B9B4FEC9443E9AF5FB3E999A94ED088D97CB11E6955BC9E561D59EE34BA1ED
-A6C9217EF560D154BA8F19865CB8C913F12986A48DE78E9D284C0885C8B69DB0CB47560F
-D88FC212B29C91E004D18376A09A184ED29866DC4A179293A52A1BA548E6F8439B326A16
-2FA0CE6AED75A05FA30EF09A72CFE06124BDF8016C638725770D529A0163954177D45382
-3A74FD8E44B3773EA1280431E880CD2398A944C4D045AE91138244E0BC15343D6AD7225C
-20406C0AA1A4257FB281C2FC949CC3D215F827F782F9F4BD121F67794A8F13F19FEA800B
-6C7240E804D6FBACC9A2CDB6E7D24F6C61E89CB47C94D8E961ACB9355A12B42486447C02
-7AF9D7B1C4F0E4CAA8E28BE31684D721083208D76482B9BE451A4F0426F5DA9A2413D98F
-CA9BFC29E1A8680172ECF33C7218D796D6447FB643974250FE831F4D5F0ED8ACD2B0E9E8
-DC6479E203625F2C5D62F96244773D954ED8F9B4D74A0D8426A9A61176EE6AA0DB4BB3FD
-8E0F9F49119F2F2F1EDFAF9FCE35316F718A3DBCD0DA416574C87366E3321DAE1798F437
-7FF418523E807C3D80C80A5057F16781ED3CDE4EA1AF173093712B3F76DA73D0FE64E273
-C4309D9BF5CB0308A3BFCDC1D7BF1830D22C77414BEAF5868006615536737E20C438265E
-74B43F267E748B834FB03691FE68D944561F1DEB1CA295E442C6EBC274B6D9A0D4C2BCC6
-5D6401049EBC97F0F7A5678389267B0D6C10757954FAD66FEB12875BF4349BBC775A0804
-00E25D70A165C7ABE5F5F4427DBE548C9701E20CE28356478DFFA5F08C30FC08228CD6F3
-C6B030734A683BC5196F3D29C43E80F96D4EE3DD54785633987F385340098B5498A7DC1E
-07D42614FE6F1BA7068B0677345C695A494BBF150C8E4F91EAD66E387856CB09986439A4
-03A2EA248EDD1D00A4D490B9DC4BD11E36E155EBCA715B513D991A19548B417539B36308
-0D7E8E3ADECC1073EAF675C90D5897E13CA0AAAB196E8A48F867F0F71E5E5E24C36D5492
-E476ED92090842D327E4682E483F082FF71BD290542C19242F596801E9B67386498D3855
-BD5AFDF1A0A6AC211B38278F7ABDEB586EE5FD5ED91382EED8677D8A1792B270A46812DC
-BA8A1379D5E5B7413CD43C6CB3E447E49F35CF2E7BC2E99229286B2A636F83C16BECF6E8
-63E23449DB08CD8FDF0F5F8EDE5A410131B866B55C6BBA8528C17072EAA042662D855A3E
-5D164BA81ECD230EEFBD2A37F823D410469B05F3198B56400B89B6637BEDE2A19465F240
-338ABE767699529CECBBAEF4879AC00A6639589927A1CA91298FD051FF15223EC94FBB3C
-1C61D1611D05E59ED9BE06C0C9DB3C311CDA93CFD321508D1187007207A02EE50F422383
-DCE98954FF609844A8AE9C29B56C1AAC1238D45FA35A3DA527E3FB618CAEC32EE156BFB6
-2E8F66F6FCA7EA0B9BCF0A144A05FD8FE25BFF681E3AE6784D6A670FA08776299E0ADA1B
-A972D1E35CE0BDA9F06F8A8B96C8750CF25E24F69A0A49C65F7A9716FA4C5F3CEF3512F7
-AC82BE0C5F21A6876F73880FC7CEA205B4286929ED2513D38A5695208A5CD4DE401B214A
-BE67DA7B8B2C63F5B06BB039D7294DC883723FB83F736A5EE8A02C9F968FCFE5556E52D7
-9E070ED53CF85FE574F52C9446E61BC83DDE8C5AB547B08E19561E6F4B84D422DE6DF197
-3B2572006AAE0CC1F19E342389DF278FF04BDC5CBE51E27FA51D696B123DA5B342648532
-FAD98EBE03894533AFE4BECE638CA5785DDC9D7ECEB71E59B01285978563920DBF542794
-6B13DF1BD0C0D349B77290CE840C17E9F71A7E34F3EF3472AB04E9DEC00BC4C258F522AB
-15C73CF78CCB3A83D7A2047FA52A4C7196C4E750C14D77EBF5C799702BB84B646BF7F9A1
-2A6D27166F7AC9B7A2D6B6062627331C8435A64C04096FEEF7867334828680E41990E319
-334217DE53F32DD9FE73537D000A5493EBC0B5282FC1D72E0DFEEB51694F6B2DF87F3E80
-858DADF97EA3E4A864AC9AF980B1BA0159E7E046EF395143D2C2AAC26A0FC3A8F1ADB37B
-6E3AF132D51D9ACBABDB4244AD14C837A30C3B9CA47CEA267845DFD9FD5A0522BB50BC0B
-CADD7730E893A06E8F175DF29B4092EDAE7CB28F8FD389C14EACC8FFDC815355B9FB564A
-F8C33D5871ECFC0CD0E33A0AAFD6F7323A3FD696B4EE641249BFDF82EAC73D0D823A5BC0
-EC34C42269F5699F129273CC384C8A17BEDC4BA4E384BE7D6213EB49FFFC5C98FBE27877
-85F64405CA64B5F2C10470B82BC1471F59C8EEEC668D88CF0441451E275328E3903A54D9
-216F0F70F63DCE071BA66B31E59EF5731CC778455222D441C0809C690AA9E70AEB6546AB
-6B6D27A66004E67813F7509A3F2B2FFD717A77FBE48A7480FE4F2E0E9DF61D378D817928
-926F8F202341E945DDD9F747F6AA931A9369326C3AEECFAE75D289691683E6635E215E10
-9C76807AA3B71450BDEAC4AC8A55F7B6B7933745E2F3F2F3049CE858B10E17F8C236B247
-FAC04A7C3E6298C1A2036E14EE164AE8478FA4AE6F24A9E542D3D2B450E4EDEE099AA693
-16E89A308123CC5DF3E4822A5B57C7FEC21271BFA0168C3309ADF2DABEA0610FB18ABF69
-5622E7A1C371B3EC501D52A1DFB94AC84E30A500449867BEFCB5A07DC54A2F961F296DF4
-9829E92B8E0928315D60103EAF984847A6FF6185F8C1EEAC3A114F7588AD864F3A16B94E
-3AE4E0738E13B6190AF3A27427DEA99F8A6491CF60C2F8F5C8A524CDDFC5AF2F7304DF82
-DD8E2F273DC82A9F0F7812297C485AE2B330DBE5B0C2E91922484FAC56649226FE104F57
-E88622612FD6CC084725C3C717D6B04432D13EC9DD5BDE98FA56EBFD2C7FC973AB611168
-C43379538659B695DEC62E8D58BEFCF44F9F0F52273D998C6BD8766BF4B26E479DA21563
-04B1248C80C58E7A9609B64934AD07C1945F03AD258D32D4D47B6C1A95D44B135F380A64
-C7ACDDD22D510DCD056A38C8400F21900F1692BF2210F6B161EB8C6E7702291C0CD2123F
-6EDA46B95BAB323A99784F32A3FAADE6599CAF43F3CF39D43776A205B6024F6DCB27349E
-C394FD27D389C1CED32138732AF2EDD4215A8E81A058BDF9797E0EE81D13B7773897EEAA
-B71BF9D0D6D913DC0887442A470D5878766BC30C065E64456A88F88F754C3B6CC402BD8F
-BE60B69F6CF942EC531A6768887DC1D6C08A690109E86D08D9470B9A684D751101A2821E
-48805AD36D0E6D3BFF33FFC4994645AD2B599188B30649ADF04EF349B934E99E3D767C6F
-95DB404233259FFA5BF4CD809B4E08F51653D72C2C24B7419B49585672244128A45AF33A
-82BF11CF4B402B322D7DD20410A85B28CD32DBBCBAD192079514ED52996086747DEDB275
-8C8CD1F05B82B0BB80F5A0BD1C7A2F726B29F6D8DBDC9E199C494A8682D3A12F3430388E
-845B4878CF87871AC6914DCE0E7AC20407F04B3A41EA5EE88C23AB19D61E5446ECA0CD77
-0D6992CA5DFEE0265BF81AD4EAF93BD5C068D1A0FB1704499AC8F16E26754ABBF318E528
-D7B12C0CE352E4FB67A1F6DBAF06C9EE5C0A04A926EB75A2E76E1050CF4300721B0F130C
-E912C53166696D93B131CE8D487FE3B5A8450EC7A8961479FBF29E63DA9B03E79F2FE5C7
-14B57DAAB035A0D2A6A9BB5FED68F49C58360E5E974709D12AAD0680E1C0145526CE2C88
-36FC489C50D8D3FC5C0AE2C517030391268B306D231A9BB1E881928727235C693FC86B6F
-A9A62D337FCD128CFE1BCACDABE9F384B90C10DF4967A447D53828F62E753D639E4432AF
-361F680C212BFB50065241FD8403C80D5FD3F57A60643D586449C76238BAD444D1282943
-FBF39869CCADCDCD0815A484C494FA16930F3636FE854A1530277D1232303C0A86365066
-89FFD5E3C5AC028CDD18A3FB360C8973AEE50FA93127D6C7B3F323689F3075CEB2017BF8
-BF827381B96044E245DA2A845A536E053A1D5B540A8A27745547FF27CC9368EEACA827C7
-A47E56107A68B58A4ADC9B4A56C69C16A061F50C79A7034D317FA0F61A123D749AE3A140
-4D8A29EF631D5F925C8116256B40B81EAA31C326F4902BF46D68C5D6930EC624F3F50587
-9CB9DE9740CA93D36B8C84FF21E7E2AE48FAB457A8973106BA5A4A9D35D19AEAB1AE1E2E
-8794C96BEA993A03C1CAC00697D95BF3287D7B14701DF8EF79683F2771A444D334E7074E
-0B1602CC3D08293FCC6815946798BA56470783A0BCEEF3BBAE34D9ADDD47EC0E23E63505
-67965078615B540448EFE238DF5F70F1439123534B37B01D7189DFB6B21E783474B476F1
-9857F50753D49ACB4EA73BAFD9727E3EDB0ABD056CA73046DD3743451C0C2E54AC8646A9
-C1E269B570605A92E28FF146F6C9E49FEBC2B0D1946D673064640F610FC762ECBF415845
-E80463295D0EC0F6CDD35852CC9126E08DA99B91A75CF7EBD86466AE0C381E87E9D99BEA
-1F6D35F3603AF79212C5146712B20727A4CA38A6CD684B5503BA1C18590EDF890902448D
-ED527E7EB9A15623500BDA827261BEC6E0AFC5D644DD384BA6B3BBA29EF93FEAC2BA6C56
-82AAD04CA8FEC95DC915B8566A268801A7242DACB08C0A47122DFE37EFE10B721CF410A0
-471163142D46D3FEA4282739312E53BF815FA207F0DDFD7200FE6F7730D33F25ECCCE770
-2765D198251988F9D85E4828719243D6275E563E439F7F7162BDCC0BE33CF25EDA87DB8B
-D51D0B64335C358ADAE488D997D3ED523C3187A50D1E287E00552844DC66F3417D145635
-3984699130F9B7E860359DE4B14195307288A8EED3BE2AE04339CE84BC1C1D02861C32BA
-47C050474FA44D746FB2BCC7A1469C9246DF0725F6B854FA1AB68D68E96228E2CB7834E8
-01684DDB14552974A23ECA2254EF2B6D195650ABF1E2BD69B2BBE1BF520CA77E748C0152
-FC5665C36AEBD0002190FA221DD3115ECAF905114FA7222822523711E48DC71EF5FF7BC0
-9BF1C3DEA0283B5868357DBBFF7B4C6F91C47F941B40F03259AD826AE6FF057EF4B07B9A
-058C4B7BDF58C6FE1D71FE9F5E96ACEDF8DB833A4CBE46BDF8009F0FBECA3314AFBB162F
-0545C10E45F1F697A2B895849DE0EA02F2770349317E43BE527A3B1D808785CA305E06F6
-84935F0E7AA4E015A8A4FF3E8F7E6E5472D161EA42B964F48D1450F9E52D5CB33C5D84B1
-4138225527E6680BB40D7E73B2CB4BEC73EEF10629E9C614DDF422DCE8E4B6F64DFC4ECC
-3C48660A9E1983F4A84E4EB254D5EDA7E1A6736D98D878502A6320CC661E4F47418B4D4A
-9D0DD2A9733C000A0AD41583095DFF2D1AFDCF6ECF69C85E5C9BB3F202BDDFB142E6C18E
-60B07D7EA40340938542A5EA036B354AB35FA8FA0B9391765A8C498B85F454AEC3F177F6
-8A122FFC8976D4AC99A370B3B7D706EB1BD36B3AE5D51C9482FFADA8DC7584795E8696F2
-81A0F0E3E9912BEA16AA15597B801EE5571F4BD4FB95052049A663FFF72DF8FC6FA0CBFD
-A15889F230C5AA3B25F4DA1500DC0302010956C520A7F73E1A7A938E895784C05399030B
-D4452FF0BA27AC1563BFF0BA19B2C5427E2E6B8A06BBAB6137DB007FC4692267B0D10ED3
-1C0341AAA6F3BF586940AACD797830468685029B2284346296F1500FE92FABCDAB796F35
-46274B8A69AEA68FBC6E1EBAE3957865D7DC284EA7A6CED43CFC91B1CFA4038F413DFB36
-491FBDB1902914D92F2E45BCE9EBCC1484C97058783BA2C17F42B57A180C0F4E35B71090
-CB0A51F6AAD0A5B01E9AA7B8E69FA463B54A124AC05B01A942526B070244A2ECB6DBA5F8
-01DB459733371F92936CDFB4F35F7DC4ACDFE02A4002186F98A1000FA168B6B409D152ED
-D5BE9141CBE10E0EA1C17687E011FFA488E8D9DA7D75E847770AD67132F8DBA4DAB8E567
-54CE8BD5B72DEA699E2EDB0BC2868B71E012E631C747F23F5C221BE43E034DE187BDD469
-E712F4FFFF09597BDEA4E71E76693FC639F758606E99774C1FEDBB5F121AB9B0240D1AF3
-86B28EB0024E13C0CCB25457F4996665A9F68682995960BBBB9622C70E1910C36BF19E5D
-AE05BA5AA16E07F1E26F00C5009F6D5BF8B2AB9A3A34ABCC391B1EED111BB98B0A357D67
-91EDB58EA4B24336B4C0CD8994CD552E29288AB0A7FBF948891C41639412F0F2B70FC00D
-2C509270C53B5EA1306176290600581E0E7A793FF3C6A085B9C627F941E36C4D6D31154F
-6CD00209EFB60C1AAE01636B10484C673C58881FF8B54AA1EDAACC309F1C72C434247C7D
-ACA423249AFFC2ED1E53D1B862FB553E583C4694C99B6116AE9F6BAF64D2B512C9C624FD
-EAD7A00D757B5526D4AC98137C875D0E0E051ACBDE4996DF3B4D5719114C22D5DCF02A06
-4DBF81847FB12C931C2D8F6E9C557666DD6AF7B28E7E763DA7BE334EB3FB89DC1D5D8F12
-6ABFCDB56CE31A41E098375CD932B9ED53E5DCFD6A943A983F071F8B6EC1C35DAC748BFD
-32B8FAA674B8F902B433BF12F554D391B56A3C8E36B6AADCD9489CFF80136FC575D7E64A
-957656B2C4FC270F23AD3790BCC95E85894C61108A9EDA8EC4D22E9846ABE07A528583E3
-3084991834D424B8D52EA04CF93C1275FBAF578710888BAB0E447C395F0988035DBF6B79
-D65169437CD509EFFF8D61A333C909BAD589AA1069281E3DD8A266D4809471F65218DFB9
-9CF1D4A6C4C07B0A508DE36F53D506B25268058512AADAD9E9EEA08EE51C0B12977CC9DA
-DC195E944C659D2E847FA471A403D3069BCFAC82479AD29FCBEF4EF6C93EDEE4F0C0E44A
-34F25718B7158938A3A9CE183D707D4F789A5BD28F331C23B3290AFC5E4504794654A814
-BCD943F786F603E24C01E81C1E8577047C3E85BB4D861278CE2E7E32193D1849A9A310C8
-419214AB037971D051A9355EADEE4F56DECF0B20C0AE7A396797480EE47FF822F96DFDB2
-39122A3C8F8A83B8B3E105B3950C8E5703BFC5E591437422FD417A71797DCD2872FDD9FF
-28EFB8E20B2EC948F0D4EB1C67E7E16CEA436DEDE1B17E0C4A11F1E91D3CE839DEC8390A
-FF3C58953D098B24597766D01BD59A89ADA6F1040482EBA4157EF2FE71B220551809013A
-B5B47CFFA33546A676DFF72EC6D1A04D82750805E38EAEDFAD935833B94133FD5FF8A58A
-5A01CD5715627E74E0856D1F8455F6379F2E8256CE604480CA874DBA0D06E190833A8015
-7BB75CA24E95175821FE790DF854F15E7EDE318E0C0171FAC8BEB5390B47D5814E4D1F13
-0FDCA640E0FDB9D0A5068E98158FE775AF2D0C7D9136087E00E07B67AFC8FF6DD8FD9CCE
-ECA3ABCD3DD58DF9F14C032941B13E01BF6EA44844D52FBC037A47BD94310EC47A1F7B54
-B6BC07C7092D8946CF949C654EC1AA520804F8531C1534BFA935FAAD3B9D7EC925BB0C4E
-2C7E8E205C09104B8FDD7F8AE970107E94EC5C2D5A7F28DD7C0BD6C911CCAD24CC303D5F
-0C6C9A4A585247D5EBE57AC01E7D8E3A384DAE4803718C1C81D3035324BDCA7BB452A030
-89FDFEB64728A25EACA1F4AB96A6749C4BFD6DF72102371863F719D55825AE83673701D7
-C5139567073180C72C6CF38A0CBEBDDB043D2B412BFC25A08CBB18FDA0AE80554DC1082D
-E4D70908AA0C667073F0CEC5655C947CDBE6C501B1E38BE843A5A8CB02312EB04CB098F0
-638ECBF704DEB82CB1AE8CFB27B368D95A72757162884704BC4A74DC7ECCCFD1842D8957
-BB1AF1B020A97A149AAC0E0BA7699703E9879E49F122A838BC7465161E9C4C62E02B38AA
-396C1E65209428DC112B08AA731031B4198BF48048132ACA9B40FAAC94A236BD16BEB9C6
-83A511F57E22ECE0C6C63C0A3C5366FBC488DD3CCB19CA471ECD0B895B644C2735C8D008
-945C02FB39F91ED4D633C151251CAE4E82B18B55D978E6A7DAFD6F4D5497EFC807AE9AC4
-2BB5E96A8630756DD2EF1A7529AAB9DC1CD2A98C9F70ECC97D8D1F920A5EDAB809C7BEAD
-04B8E0C3266E1C2601FCDC61B73007294ED1176FA5C5E94075A95BABC2589B04B2DC6A7F
-2A244975EB7CED7636A6216A7CEBE34CE405D1C2BBDCF3D30D0B65AB3F92357B9AF56455
-2F36A611924DBC9C90AEF0F6DA64EBB58510AA8AD7BC633B8340A942721C69B39A01A69C
-28E44C520708800484B236420555098D369EAF3A1251B128881C6A71F464B0DC77B9D1B0
-68B476024784DF5B722667126F0ED991F123124FEEF22BEE19DA1869CA12E0C94229BBA5
-B2CDCDE1BAD1DD53B2A713C4EFBDE270F0C8AB7F9AA27FA800DB025FA10B2FDBFE4B8A98
-A1283CDCF35BDB1A6291884C494FC6224B965B55742FC5DAC852C0D014CBE5D8E64406AA
-5845853F669A1667A543E64D5F86444D0CC1C4F796B0F51C0BBEFC8A7195C72566851BFD
-01D5A7F44A707448E67D202D89994F2BDA312FF16B5287D1D13E4FF8CA905D012B2DCC06
-42DD1A85636EE7981F13C099535D935C1A1FF5218CB190A58BAB01C2F502323676ED3AC6
-AA4485008B7D142EB15455355811F1FE8B7FBBE5D93534A4936308067A6F6C1D80F6A287
-696606946C8D61C244DFFFA6FAB178513EC0F1724B24B3F26F1725471AE031FF8E15109E
-A992D90EFDEDF8796BE5C16425E1E1391680C229067BA9C69CDC20077C02364C6E62EEA2
-CC5A7EFAE6A9493FB1FCC5C93228AB5DBDA8A2BF8161FEC4492B02B4F29CE42BA9C5ACB6
-8708C055BA56CF6210662112EBAF899E62CDB2EB8A685EFBD1BE151B4F2CCA5DEBB90B5E
-55FEC92DAABBFAF7C3778BA79A59B131682568FD96640F3794EB7C57A508DDEA025C7120
-89F193118946022A9024289B2FD5D6FBB8B8413B0DF5F65227DC12E99B7B657F846D798B
-F5E74A3DCFFF1B9E1EADBE5A22268846CB5749B22A96CB7C2A7E1BF47E9E8F5FF7354314
-3112230BA9E8A3218442BB7DDA51AB8641BCC1A4F6D25B53A4ECDC171F1B384C6546F6D8
-7239CF09E6C8573BD593FBA1ED2C42443F6090EA7A5F4AF4781270BFD801F57F42A7C51B
-AA65AFCADED310E6F29FFF5D641C2807B8CC4DF05D45CA5BB072F73E5A7364851C7DEFF5
-270D676F9F86E425D14171E3862B7FAAC43E181CE165BF319EF549BC8B5C3D3EC51017B5
-8FCC9817F9E527D8DD01F33C9B99A98F675312D26BB76FA0DFF8B239A1CC7AD1A5AA9333
-8AC724B6A4C9B5CADFBFF718A5593C51E476468BBCF2E5E77A151DD9DA236E5765CC545B
-AD8D10D62B238BB574D665D0A6CEC479D1719D587C1362C2AF7C04793B2A7B20C297D5AC
-0F96F6019E1648B603AD04F8817F6A6F5E568A775850DEE71372303059B137BB129580D7
-D10134DECD6D801AA62089EF6A573DE96E0958552DE214E3615A306B798B6D68314DBF57
-4305E2B09CE8816EA4515CD6D2FECD2EA452FC01F62464E73FA7006117556487B6F58197
-5EE9CA6DCA4480FB0B9450FA07B5FED7528ECC235BD8D3A24CA63382B0DDCADAC78384D1
-E5A6EA0646E3655E6C86C323CEED8F76A53677A70AC54CCFB97A3713E5209E1A0F9B6863
-289A62261BAD054A7A495C3D0F883735284B7ED4A624C39C8A03B93FA9BB91BB396C0E4F
-E3A173A5100CC25ACD1E3967588C56F6F3E70AA6E9F5621E4B9F3A25C0ED1B89054EE11B
-ED849B16F521BD9A143D0B29796D66BD57B4011EC290045DDE9C4800C2D0D1DE24501859
-50DEDB737635EDE2D1559E0BA7C0B361BBAC80FCE4E4B35746B8865813930ABAA5BEB288
-1D820EDA6A683CA4A94EECDB1BD0415D0586C844C66736751640C5E8055C6093FED9F84D
-EADE6273926A863D231C9B461B41EFEB4D945D529AF5BF494858A5E5E0A0BF1B179B697A
-F25A3E29991DA1DE79DF293961AB7CA49846941E82FC59B1C06B9BE8BA005138F6979DF2
-7909F57060DE9028ED61B1EDC811A60090CDEBD7781D628BAF2C540FC7B4783BB1763630
-96B50637075013D726F9D0EFA2ACF762929C06075D5992B5E386496B381858B6AB040CEC
-184571C870023678728ED7332630969C86BF521693DE56D09D6D8B0B37511C7D714E9932
-6DD501DC3AF262A1837BEB8AE03DC161F61251A615103EFFFBA7757615F60F7AF5DFEE44
-5F9E832E4794299721776D643A4395D21F905685BA9038521F05E3C3E5BD1D3EF9C229CA
-695BCA0132C4A64A71334D9E76C48F6F4D5901CBD9DAEBE194071FB0FE7D2C5C395DF93A
-C1C64AA36EEDF18B1CA6E2B510E52A35091AE7673924F36F7AAEB981B9957A3EF3123C5E
-05AFF67CDB142D00CD16E03754BF6C68CFA2D734333AD69B3A3296EC597C8B76CC3232AB
-45ECC8B2C90253A7001485D49E6310FDB5DAD3E7EEB4305BE7DF36342C4B1E11E0945B5D
-EB63198EE676FEB7D3382D0CA6EC11E11E8130AA9740FA070EB518CEAD8C85D8BE693FC7
-15B31D6CEB164254D322B7032075DE964C94AD8B28BA58A3A30EA9DE79234F4DE0CCE216
-DC09F22CFFC1E740B082DF65F10F9D9D173E1F4A996F16D5DDE396179B4CE389A555C3BF
-BA3B9059418EE567C4DC661C151F9EBD8F2E006288A6CF3B86D8F260E15E77682FE2976F
-14D4E69ECE6B15C1042EBDABA1D24D9758EC60EA675421D5556C26A83CAC3B003F8426F7
-98195AF444EE55CA608A69408D69B7B103FE873A1CBDE862A7F7C4B27E778D4ECEB1F596
-C4796B37DDA26AE61A4579506AC65F72BE3D01C2BFC79556913780F541E26E5316F6A56B
-5C92DABA9B7B9A9E80BDD4FF1D3F27559F83021D89CE8497F665F2CF2FED3805F8CA7D36
-355E41188F853B192CC64320849EA08D09BC87D24DEFFA9196F75F00893DF4A069BB4340
-A9A451102003DC8FEDDDE6B648EE1675851310D15FE319BFD1E411DAC0402698598396EC
-9B01FAA040F37D13D65D9F88120D6212C7BE51B98FECC29CBEFBA669EF8B73A39EF24D86
-8C692FBD3C55724FCC7BA3912B87998A4E50566ED69BB2742FCD60FD3BAD55EBFAAA0E9C
-8BB15FD2BB7BD82D65E722297E9173E09D8C228A76755A3611170CE15924D3F2BC9FFDDE
-B0F2CDFC4CE44B6507B03916E334B4FE336473D0DAD959DBF3B11684D09C67872EB406DC
-E8AADD34D2A0FE88056B2184D2B07825749A3131CFBA4A6885CF4D84D914DEA0A4DEBD54
-F35F031C2B4C18D2C0E5DA80463FC86645A3B63209C53BD98B394398E506D8E34F0637C6
-BD702B6BAB0E45F12EA06112EDD4983034410D96D3EF907D32C71AD4953A8C90FB289510
-70AD7E985BE69AB6D180E110FDF29770905DDEC7DF995FF72724A275CE8CE825B9322B9E
-B301DD7E90A6075123279F9EA89333E39457333EBDFC5F07AB1563003D0E766A010F2342
-A5E210C256CA182DF768439CCBFC43477E25E15BFDB3A224BC1C9D67B0A0EE160B7142B3
-58330DC30E49446C18969AB491CBEAA64AE611F587A3A7F7BD3B206CD034D0EFDC12C992
-4FC9F60EB7A7B7BDD94E900C5A58AAC8C17B3588A95D614197E1D5D1013888DCBD84F7C2
-51DDBDB5E1EE146350A94679DBE6A67BD7EFF924C402C23DB55C00664754CC9E4D3B1422
-16AEB7A712CE85947C4680102B651F83DFE71428028B258E722D827C2C347CE087C741CD
-F0846675E34D56EF99E21854CA02AE9BF9B41B34E58A1D5144A6E9D698172FC2D8E8DC49
-098B77980978D67285DA23F821896D3ACFE7ACB6FD5DD87AE6D07F5FDE7AA553A869E594
-BC2EBEA2E0ABDD5E747FCF0F7D1381F9E121E97B11456F80215AC688AC777CFB9419D95C
-DAB35AF315C5C83114FF51BD583F17EC51A911F255521B3DE63C5B0A016EDB98722E0B15
-FE68117B4406CAE3F29DF6CC813569882C169070F6F499DAD42E1ED6DEDBFD464D352B53
-0BB28FE2554FAFDD48FFB9E1A433E94681A5B9DB2AA285BC5CDA48C1BF7AE7999E5A6678
-D9ABB9A68BD4A60756C13ED1975E2107F6D1FC4FCB2E18FC25E68DD2E53A623D15B95541
-31F1DD74E82AF748119B40F6E4E703DEE1856BACBBFF672DF548327A95F3B52DD40105C3
-604A24047CD989DDDBBCCA27D28F3BCD681CD55AFAA1CC5F29B39FE1D6B59FBADAE71196
-CD83F5329C9B969A5BA06BA67AFC193C4BDA78A275C64E2D82F373EDB713498ACCA9FE26
-9FC4736828D55A98AB9FE487AF40164FC38085F9DE01332E3710F22EA52DA9CAA28DDB5E
-3AA72EE9444F818DB13EAEE426543DAD3C78D48B513DFF77C18555DA53B33B04C8887199
-7B2C9E86E12E94AF3F379D196532D2CDB84741211A584B7560DEBA3C53CC78E240186671
-8D295EA11162384F00A727EA4B7EE6527DD7DFBBF5966FB4372A35BD2FA7BB7A6FCFE23D
-AAB6570FA52506E3EF532E7E7930298FFBE47D48641C0E26D1BA636AEDCDE13DDFB3C822
-DC32C43759F016752DE8F256DF5B57EC3C623C05037F1E41C38C66D18A27610CA8BC0E5E
-FE4FA49EB0E287E855990B9C83A103A1151727B192496B318A0730AC902D7C4B154155A9
-47AEF1B7255276631566EE5B995D9596517E42DE25FFC666FC0703336FCFCAA2B97031EF
-9B95FD714ACB1A47A249DA377A6EC9338558939C6327B90B77249CFB4CE6FC947BF1E88F
-17F20A194DDD37657E8D5BC31F624B6976A0078063FF707BADEF04391782C6660BCA4623
-17BC929F6411D2351B9DD2F67CE4BE04D251829BA6E5ABE574FB3D3D8D2858AC7B87F3E9
-951F0FAD71060D85DD3BF22DF505778932D2C7CEE2BD318C0E9601D085FD258C6ABC091F
-EC3F44C639B2852EBB31BA5522AF78BEDDBBC52E804D5DDF23DD119B951551695BE44C23
-5DCD52729FE0FD451F9CEF413EE55AF45128E35BB451D654496CF1C8C2BEA6C95F87040D
-928EE96A22AA91E8166577727896E7A26EA5298620E50832956DC5B4B95986C69079A1B6
-8F64DDDCC518AAEC30D9E908BEA76C19D54388435012C2F8ABAC88BD1F82A1083F729569
-0A4076112B601F35B1E104720EB73D88E0E62CC0FE278EAF5BE953AD8D44604C35D05A14
-7123538297A5B80677AE45EBE1620302B8248F2B0CCFA068CBF76C863CDCEDF677AFEF18
-F4934012F795C9CD39EED5915DDAD4F640BF75DC91CE77E4B449703C1FBED867745F67C9
-BC48C987BCE8B838D35930735744DB987AA4E8EDC83236D764D1237028F6AE8A6CCCA003
-692C28CD708F1C9F4B0468140AECAEEDC465455D8C69159ED0AD0D0B004A8B51ADFDEB3D
-82220B8D2DBCC5E1CC0F550E44B83FA668B30044A2E9978A810D4EF995490065DCFDEE41
-E94DAA51D26F13EB8218220FCB1F0F32D5B5C15E715A4FCC605B2F8800F44B82633A83DE
-FA4C3430104CE6650AF07AB2668E751DA4845205FD29B7B03F46B51DEDC3B6DB3E534E15
-AA0B33BD6E0D2C5F8442EF326828B9A3188EB15DB04F301A98E00710AC5CFBFB9B2B99BD
-5AED103DE636341AB7B03E24016228C0DD81EC95D5A8B8EE1C44944858784C024BE6C8FB
-D038801D2423D09711C5FAAB0E16C87D307B53FA9F874E6FBF1004E47C6A6907DF86BA73
-9DAAD79101866EF02234D746C72BC60A69F7BFC111C5C26B87440D836432E283EB0CB8A9
-39ACB06AF4FF3857EEC12A1BD1189514CD518060FC75DDB601F545CCC37676ABE3EDD86A
-7FA54DA5C33D42861E585D05EFD8B41D42F7A9A904F48FD96E30EF9C74433B35B1EC9F3F
-15607376F04695749F917ACA32779CE1CD986051E43C2EE748542E4C7CD50E3C30DD46B7
-C6F809D1051F977E7D351C67403B913BE5273A97429416656D83C0BE7C08CBEF00BB4651
-D0D5CE1E8885A32CBC72DD26CAB330BE9845425E048B1EE1AC7591F0F0CC9F73E1EBF665
-76591E3DD449304DAFDFB6A44C7BC4DCD9202AA223C9128A961792E3C0DFDA3515BCABBA
-78F38651862266E779C228C596BBF3903F097765DA142C99E5185BE9DE2F01AFFF441965
-198BD1FBE9BB8D61BA6C685BEBCBD4381C20F71F8DEBEFF62D7946B04C7D357E54ECAF48
-A49EEF2ED25179C1C3FD45268363FA20D07A84D60484C712A43D224C57551FBDAF4973BE
-EC02A16076184E3108DCADFA44B93710DB3388E633AFA06AFEC76802F05EFAE2CFC74A5B
-AF3600A46B026AB514EFBB7184C75BD39FE9427F6F0F9D2435BE1B26BBD4816A72B8AB67
-DA7A6960F5A7A0E7FB1F83DCA6E3E8E8F1BB11E22D378FA743B7791E981D117A2E8126A0
-F3CF5C9B0C35BAF8B66211813FE63B029E2A3913CAAC2603AA4AC900EB8428FDF58DE83C
-D998B69BCB6ABB67FAB1647806FE19FD695372D671EA0B6566719938456CC79D265C9791
-725AD53DF396BFA79E945F4AD42DEE0C69C995EE8DC3D8E85BF383DA9C1256AB133CECC2
-49A3BCBF384F53AD50B3A58606F4A92D68DF6C072E66997978A92EF5124DFAC8B3938E60
-94C0FAF7556D0F75925FE99AB3E80FEA8042A977931E75635051DC896059C30D7ADC38E8
-90131D3472CE1BBBBABF231728199245250B618AA5F830D20C8B1117E4406C97F59A9A76
-205946764DECECD486D1C217242CF8C58263535485E89344DEFAB9D94079EC177AF6DC31
-051EA610E81026B7569A061E99309A04CC3977C9BBA45E88B6AAEBF585B5C79E42548C23
-060E0E103CE6EA0897B43EAA35366DEFC5B1E5E673424D707F05C770F31218BF56855627
-8C9F75A113F5DB640C2EDB7F9D3138A5C314243030CE2BC58F4EFC9B546E407A1764118F
-F9D2208C6219D088CD8A214CBC0C1DF55772A04DFABD89E08F7C98455E8A5F1F82BA749C
-7C5C5E6CEDABDB9B3F6E1D717ED97A50D0906BD4682D9A529B3530F29113A35D5681980B
-8D099BAC264E382DCFAB0419F3313453A080795E7CF66860ECCB8782191F4CB0EB2D2965
-F14D28EB35DBF1C95437674D84C1C331F4EE99C8DECD6946069B3A4A7DEEE0E48E817AF3
-08C28DF99E67A4413655CEB10BECCB27448530B1688517F0C5DBDB97A17C6F12C6AFBF55
-AB5AC791F5363E56AFDC38DAB07B7A47B9FBEA91427847C5EC1D584FF56E6F2735FCEC80
-DEB8D89F90090A11819D08591A37EC3948E36AFD44237CAB16533CFB51B50E1EBFC4A6D7
-BFA520FDA738662AE6C0214DBB2723FBFFC986E9DD47A493FC0090575CCDDD6C38EAA038
-3858C077F57E1DFDA8DA95C9A18D9432DA2C86DE069CB675D9C8189EF01C567CE476E0B5
-31FE688044569D34362235F894E746E6306C03E76E615571D9CE6FB31D63BF1DAF29AB76
-27C0D02D7760EFE583C8C2FAD4AF0A90AE91642F2F20725858CBC2FABB5A5A36F19A3C6E
-455DDEBAF968A90312E83193605CE8E5454E396C2C59557EFA1BE1E0F8A0AADD060F77E3
-C642635484956025266155DE24655C44BB0B4D07099D81760DD0823EB9EBABBA27A559F4
-8803E6999B782A4D91C388B46E1EBA6E8BF7CE9080F46B539A507F5DD17AAA05D05A551C
-B57918F3AF43390187E3765548F4E5A3360A95C80DD6AE1B26E1F90B8391A3872ECFBA2A
-087415ABEBB9119CAA1D411EF7E0F0737AB30979A30B2ECBC8EA42F38B41421CFC94BFB1
-FD30BAEB6AE340D043A15138AC4A7FB12CC0AB80547DA81D91166B09CB56A5504C048DF4
-D4E1E7083B5EF010A38F4BD375A3918D25B05026FFEF87AC25AB554EE74AEED323B4AE63
-0F1320CC97909D2819A8EB0A90AB5F1147DD888AEC5D42C8C5F2B2728A80AE8673831189
-D76571F665756C2C01AD4F936EE0E607C27FA9B8E38BA5C67B52E7A50E09AFB2D0610A00
-863C59F7A1BF14A5D3FF8954CBBC3D13F709B433822DB8CA2E64BA1FDA4F9478A5AF24FC
-A4427F49F39EBEDD3BA9DF9B2ACE9FCB01BCC9153A7DE685AC5284427B0C573A6E5D9013
-86834552B2356F11011083B65724EF7F8C7D7CA259E0C03793B9EEEDA5B6DA8376E72EB8
-033A415DE664EA5CF53B88655FC02AE5E530C6A90F443F740444956B60F6ED760294DBC1
-9F492DB3A5D4E532D0DBD9EE8139092D3E89D7CA7490400FA4EBE56334B1A17C9826AEB7
-74749C9193FBEE0414C7E7877E26B8274283F14A14AC7CA27139CBB8CB89A6D38DA283DD
-3D421153DB2D917391215433E356E64E4A07F6D82EED542FBEDAFD11D0BD4EF3041C6865
-2ACBB1FE71C6B7B3850FF45176850FFD64D18D4D55BA5E74D037D3CDFC62563CE2929233
-1E42E636DEBE14DE81804C1A15903CFBE782409A1E8684819BE6AD86F1C0EABC03F4CCA3
-A959E0B6C57F02D29062A6F0E3E5978C4726C01F607307C16F5F64460E81042B8E2F6524
-EA16F9BC21AE861DEE4013959FBA74E40B750AEAD9607FF6D15D96F6C28F4E9398C70CF4
-1B654A2A337FC8AEC523F27F6C5F0DA4B2D4A3758A0DAC65BF2167DEA823C3D108D3661C
-CC47D80C948444701335BC4DF8A8A8E433776FBBBDF0C97E985DA1311451CC85AF9E5BD2
-FFF576BC8E4A79C92A00678761D47D093A26796DE0316A80BA5CE0BB69E188F4C38E7BEE
-45C8DE646991071844CBB503847613EC82BCD6950F44D64D8117B52E3A63402C09931410
-D7A1AA9A04F9815D52C3BB9FBC829F9DFA76ACD77BC751475979D82275B709AF02783A64
-A633CD8F213DDE9216664C22E9F9AE3370B282E9098B86D4FDE991FB9D16D04C0C7F5262
-D539102F6529D73F20D1996061515A8F1219B228502590166332AE7D27CC822ACCF92861
-5091818F53CE6A7F1C5A68CCC3D6C7BFC81167C3C2294C9591B71CEFFC88A245E16484DD
-1080375D15B6A3BBDE47CD198D0BE312AE1F5F6EF6DE4A2CA38A717D7104466509C8593B
-FA6B5DB6DF788C6952A28E25CA9E20D636EF9E84FE3CE4D3A4647464F79111A610A1AF84
-E0BD4B8F7BA06C3AF012C74C91DEC0C597E6F4C19546D258D9E53E7943D6694EE85C74B4
-93276817411892299BC02A2CFB065F5655DD87E69743313801CAF098FA1C56841174EF0D
-4A7F27B2E91762069656895B9FCC9434434ED722BB9A532606688F303D0C514B31D179CB
-DED0DFF008F09184FA548FE7C276989AF46C9C63000814F90372A1295717CE87B2D9EA55
-34C0A4D467A0F6A32482B8139AC4240E3569476BD4F8D5CA5CD62F28BD2FD820602FB678
-69D696EEFFF2C173D2C7EBA377390670908EA07A7E90BA16790314AA8A923B234C8ADA37
-25888BC9A631A4A5B308378369C29B79966AB44E3F4DF846B0438C31B6143C9C3A003C86
-A2119FC5FC1509BACEE7A9A1EF43945214A1E37879CABF18B7A18E8BFF45E9C5E7CF05C1
-81F2BF236310B0AC2B1D45E0F6E3961AFA34CD8597914B6D503F7F5BB964B7DDF195A95B
-FD5F3FE49340767491F213D849B3299AE439801B84A2718489868599F29DB6849A5471D9
-043C6B4BCB4AAA48DC6CA3DCDBE782D3113463400F09399DB804AA81FAEA98C6C7FF513E
-1CEFDDD822C4A5ED4F0EC1AD96EBC6A713BB82FAD69C3E914AE2CE2AD2DE8FA301364658
-0987D4836813D3DF7BA9A77601FE3DD487408794D7167D6297BB19C8ECA466D56F130AB5
-E0ACE40D575558A8221EF634AA1D43CB10B8CB8ABE6EB2EBF97C8ECBCA498BD740A73DF4
-0CDE64C2C0F2D1468C01047ECC2320A9FB6D965C83A2CC768323CD1FF3590D6DE86AAA5A
-4ADF258AFA132E8D8C04AA614E11D26466CD9F265AAE7D8F3629857C73946C1CDE7EE21E
-15C1ABC4A1F591DC1CBC14B66269525A664419D0C9AA2C4713790AF5E23B566EE38D0530
-886A48F041B8B009C5522B55E63813023C763C68545AEF0FBDF2674C94219D0233EE3D3D
-165B31C9BD4B9F27649B860D935D77557035BDF4238B499C5CEE68E946454034E4841914
-987B718F237862C350178B8FCBFDDDE9E184B3EA11240ACAA8AB1880410F42E0C66D7A2F
-CD1DF1A3E421353590D9880F7A5A0065314D2E892D45090526A1378ED18A694F6820EDAA
-5599C2EAA34954D28B021848397DADFB07F7529EE0C975F5AEB815D91BB7CEACD2888F3C
-9EB8BFC41EEF2883618CCBAA18890E36B6CD9973E0A0665387DDD9829DABD9DE59C20652
-6608C3FE3D5033C33DF477762D37F080E3CC292D9E18348B2200956458F0CE0987B39876
-733331F948C4F15C818AEB8F829C03DA8BE6EEB40AF79A1686AB9A289FFA67BE3A42C396
-D5D24246959921707E84C9D4BA448BD725D6DDF0F735C9ACA2FF7CC28B75A81100CB2B6E
-05B75DECBC1204C68ADD1B324CD24F99E5ADF9DD3A41CDF704184E27303DA98C72037B29
-276445BE607B12363036C6EA298E2B47890FE0C3948DD0AA3D0FAC17ADA775F58FCC520C
-3B289ABB6315218DD1D5A6F36198EF93C58096B8A4A97D6B49278A7E41E0ED9C9D28186C
-C8B5D8DC860505D94B5BE90D1765C154C43238EEFD91F5A385B6FCDD19272F1E9E3E50D3
-83C523509B45D8A166727E8022861AB6D8A8DA71EF875A19362015DA1672CAB7E9D80E0F
-93A00867BF6A4B2894CBC866BD744013E8FED49596E6D0CE6D18D5CF56CFFB2BBC53FCBD
-9F2B1D7221A7F5B539AA962F74E002DFDB8A1425A881DA6D62DB3E1E43CD9C20C4B8C0BE
-FCE4B01FADC43B7406529B30BDD270098761F3BEC88EA6AC40C5143AFF3B926512F2D560
-F381B90202556D8E3AAE54712179B1C33131D52A4423676F83EEB850FD9D3281F4E092C4
-A3B402DEA3D01774B5BC9AA527D7E2A28EA9E6097064DF15F9A0F5B1AAE25ABA18689AC4
-2F1E2F1BEFF552DC96BFF8798FCD5877FB4F4B5082AF6D3F24293C7D34344959BA691E53
-8575D64484F2B36F1223DBC2A9959793C29DAC7C28E334775A1081818099D1CA68B693D9
-ED1D3163BEE2611E01B87E8B443A0D8AD12F251752E7850C29F2A535971E4BF055EF7322
-652B71CDFA987F4A51269AE8783EBD530F6180AD15739754EADD4811134E25FF8D2C6FC8
-9FB63D240BA9E80CFAEA02523BAE484EEF08045792885AD55A5D77F4A6645001DF9A596C
-877DF33EBA8E728567A4C4FE3D848C7C16E8A3B156AFFBCCAE51E668656929F9D061648B
-27093B54604B900461B0E9ECF73718C3B5FB199592BC7C59466F041BA9963920E2174F59
-7F943A02728D5B7FF69735757F5071904A2F6FA79DFD8F35E96DD4F92ECAF58A184CD6F3
-C05E50A25BE5E77BB2856AF8C71C69BDB8EFCC82EE65BA7841387E9CD655FDCA5707DD67
-26B96EF73B36B83362698C5945C75AAFDBBDA1ECA470512B7E11CAC4FFA3C3C66A07BFB0
-1F927E762871045195410E088ECB16884172E616721D58A5F51B5CC0AD3B3858180E1A36
-76CE2B46D4D91D06B146F81BED26358E5301AFD2DBB78D60F9F1A6185B50BF7A18CD41C1
-DD9065950F64ACDE99EBDCA136676247E455813438395B2D3FFEB24A2DE4D8D742EBADC7
-CEA283AD867A1239C224B59D55BEB159D6E4F5E588AD01DD7D398AD7BA539E6F82F8AAAF
-9F5F1A7444DEDCBFD014548440DF870D701E9485467492E832E235FDC1AA087952B7126A
-017E73A40F8CF1EB23E9BE25B942B2CAD61746F5277B807FFCD1C99CE3B2EC69FE5A648E
-92A04C71CDB188935DCFC4D261DCD29215431D80A7979C571CB7E1CCBB7E3627DDCE9717
-148CA0E8BD7F7F22BE4ECF15E8B6CF1B0B98D55A3285DC2819172495EFE082B32E72FD3A
-91986A13CCEDC5D832C77A4B559175C53EEE61089B4580FC39F34997A4DF83E427FE668C
-3D89C417FE22308176F895549F6E5BCE6EB9AC04675AA645BFB2D81A22CB7B30CA206A3F
-01B9FDABC7055B295236A79DF2522E4BB918AB2643351186D695E56E61CFF970A4118686
-E85A4D2E34C515D0203848CD2E92566F38E1D0DA886DC2BBDABF5B3D7B4BDEC68C5FE6C1
-8EA7E92F5470CA95AA5CDDB9936632E9DDDBC7FDDB86D4E96CCE3E8C579874BEED51CBE4
-D861D6657AE53192DB369EA930F87A9CD2FD7F9361D7CD884062870D4149126AC714B191
-1AC77CAFDD1C48686AC3474BDB9ED4B73EF67193714A392C4B273E919AFFA7EFBE7C690C
-82E547D56C79ACC4935BAD6C4F333FB5774FE84084EB940DD7E002410132F4A84894E2E7
-4661DC6CA73050FF3BFC04AA8959E9C91D2EABD7447839F3B32E1ACF1482E6DB7ECF37BB
-EE26C27AC90BDAFE91F8D92534DAE644CFC38E2A2C540A3868B0E16A6DDB60B02628A94D
-5702C1EC2211AFC1A9F7E888B90263734588B6FA7BD2CFFF5B56F91A70633C1353885C24
-8C5FDF9CA938673645E3D320D7C5566F4CF7C9C6E86C9945386A16FCB72D342D936B0E30
-6EBECF12E4F45A6CEC4947A71D674128FB0F72C198E4F4227CF98E2F3CDB7E7AB55AE127
-1C2A39C526CDDFB66A183B6589505CA7F5EE98C400A6C760441B01000F2ECE968EBA5DE5
-102C3974AD4716D7789E07AA39A3458740D9F55D5B35DC0B557CBA9661B6588B37F63173
-7579616AB866890E1AF0B90399F1F7E95E18703E6F723E70B2C00B6640EBB44353DC5A25
-D007F285A25B3241BD80CF83C220ADB9288AE09FA0DBACA187671CAE9C04B61AFA10337E
-75FE9FF0A4BF03605D0FFE41DEEB2F2DB93CF868CC7155DE51819D14FE17986BD187DA95
-96C1904E8AECA0F6DEEE83C9D8CEBEF4C0D13D5D5A13E6F3839CF955A6AAE6F7F5DE124F
-0174F811324CDDBFF0247214BA4A343959EECD37D67EAB103B4B9CBDE0FB77ECD1AC24A2
-C9FDB80D0C07AFE58C4839CF9D4CE6B78A1173AE2F05C51F17827754A8EF22B5FA54F3E5
-9ADD2A1103F898664DE8ACDB89929B04776F51E241134E9A77F071CA83DEF1E04EF457C7
-56A29D540B3ED164BAE4BA2C56967BCF5BA142CF8640CD829A952063BF1D9714AD903999
-F3B59167E2B440BA083635B6A11A652E94AA1135F9E00B0BEB10B533811FEBC64C7107EE
-7A2B4CEB6D019A305F633A9229121A9E1097C289129181CA5EDFDB7F9EAC133C6025FEB9
-9C9BBA2BFA67603A7790A146174C061889EC6A77DAE40C6C4E002263203BD6BD05D3699C
-7C21644A24D562DB3C2CEBDABD3DA2F607458CD4EDB1FF6F9275F767B8FF38AF5DDEA7FD
-A18A1CC091BEDABC7C1A959031009969572A97AC1C6836F3C24F6960ADB94D89C5FFEE9B
-3391C4671A09EA87B8675CE4D3C473E3B8A750671BC95439E75243100CCD0E0873A6A218
-C8E574583C968E46EC6115266614DCF130AF7F2CB1DB978B409846735D7B29F1F8042921
-7C32639EBF476E5B0EF1367F65F0600DD11C0142BA2386FB01479DED4F8AB419AB5A82DD
-66295577726A4C30D92A8972B72D0EC338487B630E86FD7984A97502583B27F5D1BA3A0A
-8236ED3B99EF2AFC4018CF8EA12D89158A04353B33FAB1E638F1817E72E8B6AD3C58A86E
-0DF708B6F1EAB273E746FDA3A8013271F16D3F0DBA72A07FB48CA2E0815F5635EEF35FBF
-27DF180FE2F9522E57CB690E4DF7BAB0C4F07D34BB8984D569340061B64C6D1B5B5E2090
-31A81A794634F445055CAFCE9E72BC0724EE4C9CE1F94D461E9619B3CFB47B5C404D15E0
-3C61B1F11D23808893679372E8BF24AA8D6D443F9A29C2908331F799593CBFD1AC2EAD9D
-855295E0B486E8AD72F570B3D768D775D4EDE2B9E48FAB6EF2C3A72F458D8B2DC2D534A8
-55FC77ACB99BDA7B5FD432D848815D327BE30A97556203F1C4276993E1A83329E62E8288
-7ABC85C17622A83B380B8E0C381376DA627C5852F0A031B80E22273170CA4D1367B183FA
-169F6EA37C541C3E4EC299A8F34835D56AAE798E69B233309FFA71761469CC4736E2D627
-073DB92380000DA1B9D6353AD27DB894F3DCA36918E7CA103B60B1AEC505D6BA9B22A92F
-BD69B9B2EFFD277157AEBE234B579E82D829D06DC06E67A4AF366F76D9321CFEF7DB3167
-3024556E61DD0FF006848A044D80407DDD75F123B155681F47C15283A44286FAE9549D8E
-49477A38347F5AC9940F511E0222BDF46263DE6DBE16990D0975C2279487BCAA41177833
-C54F854836CD22346F409021DD7424D157B2E6DC9CD664EABD2B5352B1326C1C046D6E91
-306E84D44B798DFACAFABCF352426442DA14795EE6EE5A1E451238E946943534A0E4D53F
-5CFF56D8AA689FE7E45D8974C5CE1D4DD9608AA42A873D0A0257D8766E7DEE544C350556
-5E58D358F0AB8DC7038795861DDADC8B0387D823F3AB985FFAE915019CE53B91A2666F39
-73143D04434D1B572ACF9B335F0B921E1E49428DA8AB0BD8D09B351C8BCA247A86FF7253
-4EF78A5150BA14BDBA2D535D5A46017518104E810EC678C9202699159CD05060C1C9A5DF
-7421F17177B9141550BC2B2D9F2BC5DA1346AF811667AA0F5DDE7F690B366F6FC9C3A488
-B88D827C24ADE4AF85A5D5CEC82BED8485EFADAB9D9CBFA07A879A9D6141EBCB10028BDB
-83DC99174B710E444714AA5D275073EFD6C542654E303D4F61826E7C505FDECB175C31F3
-455A2E835D12123392DB79B22ADCB30658228C0142B6D271FEACA94A186539740AEE942D
-11F4B10B00C6DA85D934FDA37B37332E61C66AB95EBB5473308E3F2E33F220CF1960202E
-5A2A81C85E8E831D4A48A7A9CB178A3F59AEFC408EC69D76722CE9FE89F5B7F1A31C7606
-32EAFE6DB673C6E76B0E472B2F0844506A481EAB5479CF0C559F02718F76D41F78B2CED2
-19D72BD4D9CFA3F99F1B8869E0A8AE58F40DCFBEB1B8FDB98032C3430E7402B9B1A93141
-74557B5A1CA485CFCF20D6830140FE0FFDE105A08DDB301E2109E5E371C2EB2568481443
-51F989472D19D12AB51C7F23AD18B592118EBB0945747EBD9F4DABE0C8EF4F3B8AAF5FA0
-34B3FDB56EC249523B1A3C32BC4A6719AE510FB82BE0CC27D6D4FA2A806941EA8E3CDEB8
-A30F91078D22260FFD25E57D8B3BF7A743031731EB7396D5E9A949039FB9ED19E38D5C5C
-644696E3EC29B78591F522484829BD1A58FA3595AB26E0566838DA3ECD428D905824B697
-3FBF19090E11E99B789B61C0BC97C86C7FFB32FAB5C7FE00EECB9C8C126C55C959A6B06B
-C709F0923589F9E540E746AC6949DE143744799EBEF6761AB9DA2E06127C18617324286C
-874740B4B5F82DEC59585397A4B75A5FCE31AB26478A7BF1AEE14AF3098F589C1FB7C010
-ADF80512E936F57CDE3B8E244B00A80054664EF33B5BA3E4FF2F43DE74496A57C0F13B65
-A60A2F4CE599BB104E72EDBF9BEDE7B943F9404760B7A79AC38AC19086516CB33AF7F962
-0157DAD4D4AA68B8C96A66AC15C526A1711081F56738F3238EF37EF609BEB0792D41941F
-6F1C7D95E0391CFF720A51755979EBE6323C653EDAF0808644E41FACCC09C29E1A210B10
-881AA79E4D9714F33A96735C3B2D0B13EE6272BD4D157E7FADE7F6BE9825E5655E80A018
-5EB33917002B5342002CE5D24859B6EA11E571FBD6F1F753974F965E7B5A8E0B3BAA8AC4
-A6C6D56EC55E44BC9D42C8A9AA29249B420DADF448F6DE76D1DC62763D5B01A4030A7D78
-28BBF81417BB287B267F64F8676174097E43E99785609F9C542ED5D29121D5626A9C7461
-5B145C86C2AEE98A127B25A990D9D73987958DF6831FC937B06AEFEEE14583B91590C768
-7A9FC1CEA0EAAD6F29FFAE96F8ADAA658DE66B8567E8A9E56D866B8A9A08C3D389B3373A
-AF2D0AABBAD35D8F3AAD5D04B69CD31F7BE8ACFF96CE6DB8C42E9F842E4254EB34C2DB18
-F0BD1D6EFF4ECDDCB5E77E92CE64F20260E68903EA705FBACBDAAC6CDD7FB431948F1504
-876DCAE96AA501F25FC5707CAE2DA29E995B6C4BC6CE6C641CED312FA02000D9057627ED
-14D531443C740E7CA081652087E0360C095652A1CC56A27B7FA61B3420ABACDAF14E02AC
-C80FD7B412A97CE4F33DAD5C747EF14281EBEFD492468839338802E42FBF554DA46DDE16
-88D26DB26DD3613986E9D28D14D4BAF9F739F93E8EC34A2BBA207294D8212D2CFE560918
-A72DDF5A537C4571281DAB8743A487D8C370D67C0EFD1698BFAB848E86D24DA2D213712B
-BA731CA3F76B657051083119FDA759A58F8CEF458085052FB1440D6938E438774FF94EF8
-896FB0AC6A92DAEA2E7C00BD76000C5BA8BAB7E5282952B4F16BB9AE8265F8637118A4FB
-F229CA87AE41C6ACDF9F8D318D6C3028A70BBB245DFB2E1137E3BE90284B26E8FF4CF77D
-66231F1BAFF98284128D08E8FA4FA75981A22F45CC026B1906FAB73C2FC219D3F7253831
-17A24392036B26AEBF3495F3300F63AFB9F0FA950673F5584FB20CDB57EB0E947F31DD76
-945838D69875CD1A4E7D2AF5382044DFDE866E37CCE23F3D06B1F5A941FD06CC0550D64F
-312A9D6A655414490AB1B1FD54E34748E1D408782FCF8FA6A611232CC7218B4A0EB93CD2
-09876191651777FB56BE434096B02918A658A7403E45F59A1CDDAC1BA53DD186DB8E35A6
-4078C11DC0DE5165205CBE612FF365C193BA540F5C6CDCAD0255E361622E94607400A330
-BCFABF835275473D4C7767015963CE0FB7DC88B4AEB660FBE4F86039E51DEA6DB4DD229F
-73D4A0A322C6D349A4C8BB304B96B32DC129DDF372FC424D1815C4EC51C9B0743D6831E2
-6BB5E28E89DAFC8845F00E47992877FD57EE0C02A76FBE2FDE8802A176E8A03509AE57D2
-0CE44217026FE28F2E06435ABF13D27875C5B4C6057DB1E1F70163C1011972A9C0DECED7
-6C8B547B8202977D802062E4189713D7F579093F4B9A72C69516F1179DC3512584977589
-461AC3D1BE8BE1C05867EF6FDC26E3B82D9CF9D159DC0CC1F9D6F94166A60E6CB9FF3FA6
-0D2B136FB725DE769BC3A8B64722456F049421CB7F863A357B318A979C3513C9065F5CA5
-93022DF125C9DBFBB822B1F84936DC5314F17DDF2960FEE70CA3E7289409EA5AE6F15DA6
-0E407C6262D41D52C864705B7DD26AF2CB813689E24E9673686ACB1970FB41CAA49378F4
-31C53F3A08AC7AF4D13F7FA81B6C3F71FF999380205C74E1B29B5A4FBD349783DF613FE7
-E2CBC7AA7B424965C42EF2CA80C60E0EC6F7665BB3CBC009F0F5C6D4E8ED5CFEF0E5DB9E
-3DC006C98706723B2BEC309ED20CF1CDC60D66BB478B87E8947419ABD499CCE74F80FE97
-89041D176C3BEDC9EEF152024E3678134EDF755D8C247E3332F7ECE95E649E73A54C5BAD
-228A629F5F6C8EF48935C8591910230DC5D04C395325F0C211BEC315F26F84AE8DE9DC91
-A9B5796CA0ABCD4774CC3DE12C39C2FC257165DD8A7E458E87CB67B6A487F10C351C4881
-0A636E4109845E0C664C47A2E11F9C99BD72570B26E854B4BCBB49F4011CB2CA4464FA72
-6DD8C1F05C69527991D634487D48BC554A80DC32B334D3BF6D65F1AC32D0E764825C8760
-8B6317DCDC713644DA60322D68CE38FAB781D24E14B19E711BCDB629AF7DB032CC9C4393
-195992B6ED1AF8B84AA21B5E3BB12EBA01DAB58DCC2E9549747FD222454D0327C66D62E2
-7EEA7AD48B09DE56F0968E271E59E8965E16862B7968A14078BBA821C2A4487F877E3932
-1D56C51B010AFB2844BB7E4AA57E3AECEAF7213B1C70F6EB993706C4F2A613257027370F
-CCA30A862ADC2D07E4619A8F753B13B94C275A14403C97CC131A924EEDF78933502A8E93
-344E91F5A238B236B228DC9FB65C60F8888DCA6B8A1EA897530D193537FF73E8DC70B3EC
-4CE290AAAABFAC0EB4C9534C7F3EDE90E840A1CE7975204FE70B52ED5576B0956E62EE25
-7857BB5DEF2AFD8D46228E9625C5C0FE48311A07CA246ADFD9BA1435340914455C0CAA4E
-92914E7AF31E25438AA05FA2656094BB31855A27BCDC45683EFF1291934C3C115D8CF919
-7A245EFEFE3F7FDEC037ECDFE70737A4D961CA634AE153B01F03B1A9F72B602A8358D258
-E03E54AF79090DB322ECE0CE33377E42E5373F443E851550E5D44F06C1C513173CD04D47
-9A9E70C9774780821872EFC100F5F5F34A1E0754E037F6F5917EF5126E5F12D46BDDC038
-2D11C217839C1DFE8D34BE69124B3934B22B4E8225BFCB2F265E197474B9349BAF2C1FCA
-352EF3F4AFAF1074DDB24E8A70218C83DA835CC97F6C55B6FC10C199BC9EE1033F6F2890
-FEFC3998D9F2941E350297F56B377A0EB5BA47A8195331A7CF3BFE934A97B88F18A38551
-3EA97201C200B5419E83D8AE47D6D6F3E864CFCA8A874DEEA5CADECD31CECFD46771E9FA
-7B24F3509E6B0B04F8C4C1C8E27DB0F2F9E0A422988B2D525670841C73E5D11F4B1DF7AE
-9AE2D8A3B5C354446C86862C687A3C21CA35FF2E962FB591310B8C0213A914278B65C7C2
-83E1CC558F6091BF4B159428BA249CDC3395D72E1D5E998C88F379A5C0DBFFE5833349FD
-5C61034AC1EEA717B26646D9024C3D8763F3B33E60A5BADFB514937B9AEA89009F5F6779
-8D5D92AB0CB3D57FB123DD852BA04E3C0AE9D8021F0735B69289822FE2727140AD5B911E
-376B13EAFACC44BB0F0A8DB9079DF3F3720779B5BF1C02CE47463281F6E496AB7695291F
-26C2E02A026A104C8EC76E0DE5D7272A3B83A947E3568DD72E8B2DA7869D1FF74F6E6C0C
-70CF5EB3D5D650498D267117C37DD3FB5870C84FB972E5C52DC3E0CCE6FA398D4807F1ED
-F253D014AFFE0C5EF86A8E431D1EB82D6D223809BCEA39DAF9AC1CD37243CF73E0635BB6
-6B8887C9C2B2C740F8373237B52A89E589D811C40C5170A7B7ADC6C5643F76C4D5031862
-961B7E211127BD0F716CAC04C4F8D8D0958FCF4D420947354D495BAB0C0D2D76030FA004
-910DC71A861857B1B073C6CC56691822B8749EC78741ED8EB2FE26F37E1F9A3B36947EAD
-661BA045810DAE798DAB615C0FA2B242209D8EE04BA06A78FDA985402076CB3A893E5364
-2C998BBA5F530C8944EEBCCF46B9BA42AA25E0D859953A948E85A8022C68EBD496553B68
-2555030C9336F53FE11C84168F19533F5AA4BA9C94FD120491D55C1D3FAB459F80F70034
-48F1AAAD448969D1DDC31D65619CD33070EC9BBF9B4A53C180015AB0D807744FB32AC68A
-DFD7986E082D57C22EAD0C5352E86911E8088BF50E5F9E1D70241959CD3C18145B258B50
-261CC153E7CAB9BD1E723209024540E123C2333D5A5C4C45ACA1358790816CC30F3D9BBD
-8453E76263FC425F7C2E41F79B402DD79552BE2C837B3048BD534F90B3AE2CB1F15A559E
-C00F1E783101866534B0039C433AF1DEA08C4CBAB477327EB3A56AD0F7AF75CDEE8D96A8
-0BF499251B400B85B4D157DB4E54184AEC11547522A187287E945DBC7E31CE99E8499737
-2675C3059133BAE517DC46AE28E735C72E31B30AAF58CE26BAD1FC878E54A72D0C44F980
-4C9D5D93947A846B01F61AD1325CFA2DE62664F181557BCB92050CD697A26133B06D6C6B
-2B2CDF60CE774CC5EF0CE86EA4E4879ECFE1C9B03E3EC73E35D53F5A1DC2AC8105953D02
-277742EE13CC39195503F2F5C8C29CDA7E4D54AD44DF4BAF5006FB9C081A938A5B51EDF0
-A20A005D40125960D589531F23CBA7C55CCF78C72DDBC8E9D84BC2A0C95DC0134FC564CD
-B08777FFD70A0EF725693F54E8C46CD77A5B9FDC91E83AD010DBA9802E3E140943706AA9
-2FE69EC2474E61FBFDDECD7FA0641290E709A9145D8ABF5DC42285CD98CEC24BA9A7345E
-BAF82D4461F027FD8C609CDC0EFDB7696CDB4116EBB91F0FD74676DD5E5C880CC9531A26
-D0256575BC551C3CB40BC4382B30302AB0B891201F818BFDF6D4BC88DA3E4CCCD97DFA0B
-C01A7FD9BF8DAA71C8D18B08E213AA8FC7ED8E3172F80615EB510FCD5AC5D508047BE71E
-5C0E2F8E200E2BB4A8BD0C4ACE1D5CDFBBF09C74516F09AD40BB4DCB48310BD33D28B81F
-B6D0D04144E925C43A7CEE48D7772344EEBCF29D226ACACF8E693C74A0C11DA4177FB477
-6148575C305615CC381612776C6C6ADF8A92408F434717F365CD54EC0507D77032A1EEB6
-6478EC198AAE86D1DD2719CB3AB7A34757C07DAC27ED8A2EE44C55EB3F7074DBC98738E6
-175EBE6393151DF9EEBFFA3B8F5CACE947311B9CAA3C9BD0FB3B359EB30A910D2128D437
-E9216956AE6574F55D25E0E5D8A8E0C96293CBE723960A373ECE00A392D78456EFD6E287
-D57562DB3BC3D2A7E767ABEA1D7231C4888B7F7DA7DB7ADF3EDDA0815CFF72C4A40E6CB1
-2D55239788BCDC55F9F4FA9772782128F15E16E71F33F6C5B75BE8DEF23D8B4E0DFD8173
-879DB3411147841801D556A6390538919D7D2608F5140F564EADF2DC08DF0AD03F8C126F
-FC49829551BFBF7EF652359414F56CBB309705B39D719A5DACD7401D6AB251FCC278936F
-5A0DAE9A899AB62B9A33FCF22092DA0984A4BBC5C90C6F0448D48BF510E9FC8C9B67C447
-1271E9ABCCBB65A4D92DD146C910AC34752CE16939378F0030039D7DC4187B66257475C6
-AB2E3883693090DF350A42D3ABEDE7E84B3EE9187FF09775889B28DF0C1F289AA28E9EFC
-ECE418B40D7AE3EBDA065B2C1B0AFEC58B67199E52E33FA3A305708BE5A2B5C88795617C
-DA1EF1314095D09920B6EAC7FFE58978DEDDA2F17E598278DA325949A4C14C5C0EB76029
-1E325DA7F4DD83F453B6DC912C790EEFF754F69B308DAE37ED42DEE308EFE13437599F15
-406532D885197F621DD87FEEFFBC70BD47AB8FA0FAE972242FBA4F7A7F09D01628F87645
-1D3A6B885B11F74B42C8FDE4DC02F0E677F0A7132B751720464BC97DE5BD08EE4170E7F5
-036BEEF0824340EAB34A358635B8279825717994AE76928D15502BBAC200294388F53B1B
-C01EDEBC38390B986B27E68AEF3C05883E851BF71A6EC8A3DA59A3767D40005DD98704CB
-EE22059B92062B96273D77BA9BCDC6D856102AC322CED73033E6E86DE0CF2B015570C46F
-9BB93DD4979472A4BB5DF56ACA2F9636B6A11253421FA471BB93A5561874B43C99BC2EDF
-333511242334B62A0BD58E9161260561B9CB3CED25518A3CF7691ABFA61980BD4E5B6FA0
-7ABB135421400F7086EB0C4FF44E220A7FE7D92A159BFC63E4D01700E719D56BB6F440E4
-142852FFBE5ECC6B6A1A66D20C7F07A5AE5909685A3A71922C7AB0D1C18A27BB6E6044CB
-B8D2C5A86785378EF5CC4167479142722523E12132F03E5D408F69CDAAFA5C55FB6E8AF5
-8EFB0D41B8448A2E30C66C99B5524AF66BC0F8C5BDEF2B8F0877C5E316ADE6BF0FC19DDA
-AF9F915CF3119AED62D21C33DCE3F7EFAFF5A7B0CDC005CE387D4B16C6030F751DF94863
-99BC7E769FAF52EAD494C8154AF2CA80A6982C7F5B2206D9D4B39B6E61956ADFC144723F
-99BA540F0C9D1DE18921A04A3206DECFF8D04C727FC9E88DEA9C056E2179B22AD2607017
-9A901B66146D0951DDFD1B9E384EB181D7945A4F83F2A06EB41A2459903FB0AC43CBCA77
-1F62A2E9727007042980C7FF98F349CE0CDCFF6F3447C3AF2712CA82D6828DB71C48A1EE
-E331572A4591BD9D3FA077E2F29D0DCF9C68CFE2B6A71FBAFB0E02C241582E09E3C848B2
-CB8AB75D633C42598FA07F85D5EC3F577079CF2F0E68162E66D83176EF3B23291D741AA5
-77D747220835A8B966049F3AA22CFC0D6B1F55EBB917EF80B50487FF81BA7ADDB90CC430
-CAD43AD6199CF4CDE68193659F7E4860F259EB99B56C0E62390597DE3E05983AD165982B
-E8305FF7E77363A9CE624FBC98626C21F6723F61352E036656B96277E783D4E6BD0EDF58
-5611C8D7BB3132B9E7C21B65B6EC5E3BF908677F6A5C5DD76BB16CDE31232CF2DD3F437B
-BCBA6901A99D9692EF82FF0F8CDF49DAB5A947DC27007F604C3D2CA84455F9F30A75BA00
-71B9C36D21B4080D1C9CD31712527B8A6B5D6C39C29690E92E036D49E186D640E2F45673
-789BE4F96524657EC01BBF37F792212AC8688FCB572D26D10ECB727A316DD79CAD673E6D
-2897D77D5EA7723E541C0BD23F4CD3DC2A5B9E2EFA15A024E825CDCC81CCB5B588CE4B18
-1D6E90D3EC7CCD947D371B98CC18A30C33E90EB7A5C180A6D500758CADE6787D5E89779A
-067C2DEC491D78466EFC113586C71C5B7E2697685BF5AF1C6806BD2FD63DD7A5202F3C50
-93EC7D2C129E0C3A8CC8950CCB2901894B1233AB3F71CA25E34BED65930899A695EBBC51
-2F28FE435C99ACDB6CFBF1836CFC762BA9FEF40EC118CA6B8ED46BBF94082D4CB52FA712
-397BC0C630D77283AF633364F319FBCCDF6756304CB60B8A14AC86F62AC180AADBCAC4E0
-077C3299BD7486A05378F35430E5E1FB84A01A7C4A0B48DCD72BA02699B8087B5858C7FD
-A52A85F08BD02409CE14EF70619E0D344612BA9971C830A0FA719F6EA5F3ADDB460C1430
-4A987565651FC9D13B307E48B7BDD9EC6CE1459E6062C2267D20D5D17992A4B84027B410
-36DDBAA9670152215FA62B5054356BDFFFA7F623EDDFE2BB20A935AED52A2EC844973BB6
-BEB38FBD1D4B21B9D802569D6255049FD9175DAFB66E7FB6E30170D872BDD64BAA1B16FE
-81AC65EE9053D339A0C009DC5364D958ABF3E87D38A4E9ADCE9037BF4FC62E8D3D1812EA
-8028CCA0852526736660713DA8E3B4C0CF2940659E8BB23F3B553D4FCD40EDE971697C27
-E41F2A6C0C29139B2209D091003326D69A2F081AC4B7F61BE46AC6662574D463DB86338F
-40BC2640EF0CAC42C1DEE896C41DC6DC5A86B1A0E5CED10D826660947B11AA1E9AA44692
-E63082D4527C7CF7ABCD388E7ADC0C1EA3E4845469B19505F5E5FD66B65C50F9AB02BBAA
-73B8EAB789D7F226365500A2E9ECD9A220BE7BE3D04635E9C95CC1196749F6B07151AD92
-12ECA4122683808000AD54E24730571C9BACE4A563029DB9B921CFD536954CE064DA5D1B
-B49D74C55D08B1753124965A402A52188F44A14D9C28449C665266E999D7605E719175C7
-6070B3A4A28B6ED3513322386B2B65689A4B65788A6BD0A869468B4F3544C6E6E6ECE246
-506B988CC39625ED5148E0F620482A198DFD8CDDECC485F003B7A752B1B46B00DE60FE76
-D86911A37A0C26EE72968C5783CDB1744192EFD434CE8BF0B1C45DCF7226F120E85C800D
-0C97EFC7159B9CC14EE505042F371750E32F98485337BB26D4BB702BEDA217CAF9F0863D
-733B2406270DA91A556BEA4D620A8155258DB0DC3C11EBCE82561957B2AC8204DDA993E7
-58CCEFA6989442B696635B7D29AAAE8E14396E72F838E305E79F25B5AD19D4310A368419
-E3F773930F2D6BAF2C8DAC2F2C7F3420594BD9E1AC2D6CD7A185F7F673984ED76D18B836
-388084525C12BAB5BFA4844121E86E4C747B283ACA5C61E672679AE73940CB44ACB61CD7
-18DC458AA1CFB314A0769445D0D06EBA26549A4EE1AF27005D27ADDADE65EF1FC6EE7BDC
-CFA6881D20F2B22972FC4357BF445008069FC6AE550B2D9BA16D565667364E1800167E33
-0A36ED921DDF850A3F993F0B00B1C378004CB008A631D30FD498D676AC38783DE7103FE4
-F314BA9168C19B0FC49363EE43704A9A119B360B5203EDAA03E7DEE736D7E6E94CB80CA6
-42C856E2AF8D68315141E7E9E9F63B48A9F3AEE965F0B62483F3C5AF47CF61DC4EEDBAA9
-F70846E660A7FED078BD46445CE45ED58C63AC224AAC16885D3F4E3F94F0779E180693E8
-B4A15469CEB06D6ADBC5DEFD221406A8C48B95A72303F54DA54B745B504DFC5F522CE50A
-EDC0D27842FDE517791D8389ABF07F352EA4A752D4DB20B50CDEF5CEF9C6C8EF510FEE9B
-F1737412D9CDE528A66B37A4BB9272BF9C8292BAC9EC2F66E730C3D038E981638C503993
-FF43DDA2C59AD94337CA7B45FE8C270334D4B330682344E372B08A09BF9AFCA47B68656C
-1428369C660EFF4392C79DA407B29373D09D4EA1157A8A8D1D81D38034DE3E7272DB3525
-4547B81EA3B0E2C89E60992C4E95D17968EEFA64BF116B4A9A2C0C0B242DF6A571CCBBB7
-6A58E80D84D48D18C5B2F75CA84A7B7AACAEB5548F2A13D95C8918C4EA6C8087F866DF76
-46538BDCF0B13A918A64E00AEDC53F222D8BA4AA75D90121FC69AA03E8B07E1FD92A67B5
-02B9BC301225181043E987D5930FC2E3C77553BE300959CD767FF441D019828837680A8D
-DBAE996F1B3739EEBCA8CAE9AEDCE3E3784EDDCFA86EC38BD460F979CFF0347BBBD36DEA
-F8DB645DC277536BF8F1BA745EB4A2127CA7B71253C6539A31299156F12E07E5C9591C45
-0C0E804503F8F4520C9FA55A490F6C827004FE2413123851B780FF78743B72C9E1499B81
-77773A6788D1101D8551E12C46BFAAC185F7B6C9916796B3A351DBACF4A69A515EA1F765
-67B5A62DD9D6FBDC9574F8CC8DD20EC6AF803477B8C78497EA757DB04EEDB5F3522B1CF2
-E4EDCF923B14A6E4AAC3413D841EB5ECBA4116CE6549E55BDCA1DA667AE75F9626998ECB
-5D82C4D207BF45C16A728847E952E8200194A04288336F8FC2AAD5FEDD5D17287B77882C
-42E5F956B9DEEFD55ECDD8354C0CA47BC0164B2294C4B2DED139084B4C1213B74CF02E17
-C4B43FFC034A2051CFAE1CF99D72492C567A750C704AB26AEEAD7A06D3D98616FDB0C0E3
-34D99387EBB43874FC89A225720BDFE02090EFFF13CAA7EAD31827B6DE1E98E450DAADD1
-515D7A65B28AF7057C7B26720025A8918D1A6810F2147D64230FF7925FB42A7AE373C210
-5C99311C02EA1B33361D538B7742BC02B68E238BB4B62A4785B27F071D3F1AF43BEDEE81
-F7717E213F352B861562C314EA8E03B8EDF986E488A1664547CFE7A59DB4B657FAFD0DAE
-15ED435D89355108E44135142B60C2FFBEDF32F28DF01F02F2DE4C3C40E95CB0D8D64E23
-672A423743DDBDD3AED5E910E634C9BAA69C8F6B33C8D0DEBF5FA56D7E6D51E7EC3A8DE7
-14DA3A104DDF5FBF10EEFDF85520ED2B71F11EB46ED74F70BA58146EF447CF88E92D99BF
-681D3DC3DB4AD32D0915FD7C458D3AE35A060C59FD3A8B0B7E99A3A7F8978CBF381A6235
-D7534A4D11472936DBFDCD33844B8E36205089FABA95BDADBB0B55F9C8814E5F283413A7
-08CC3D15F487E170DD7DFE8C471FE85C06383D444F65298EBA6FC3761D7F8D6F18916A16
-EA794043EFFCB72B5837672E8999904EEA79EBE0D3464CB48E9AEDCDDD2FD9CF7C111C57
-2C280A48DC5B83052ABEF370DC98EDB610EA5E43C5A9A8BBFCF10917003E4E25943534A0
-E4D281F2CF61C6E7C0C10AAEBF23B7CAB563CE25555B82462A71A2D0C511390117AFC3D9
-3C948C1F37F052C17EC23E87B3B43B4E874A723DBD01DC97602F498A1993D8E6A5AF7426
-9E487DF83C45F7F9DE891963DDC7099951AD3E59AC9E5586AFB026A66E6FF8B3A9DDBC51
-79E697BA2B46BC285AD67722E8087F813B774AA31E66BBD187AD9876315619C33138DA8D
-834BC729A8948E617CD7A4B802D0F7FB484807D09CD337097462B9690533562506B7DC80
-7CE404B4A1C2899535B13540A75DD666E1ED18CF75D95A3FEB472B7A596A007455682108
-01948D18DF7E008D8086552D5F472341BEC1A3E2856B445C0099339B9FE2ACDCBFF172FC
-5BFA8A63067E9EAF13AC8D6F0FEAB24FF4E326A252BAE6F48175927E7D45F2A84CCC0AAA
-1400A922DFBB601E2129A649464C417901D7EE4B66B91A6DF5B787F9B6B758E2DDF58724
-37F4658116E04EFACCADA54863E874F314AC25C4D10858A2EAF9687A4C45AAFB755251B0
-E2A298855AA83D44F254C832073A4E065694BF538C63CCC8CB0C3AE89663E24906614A15
-2DB4E4EC5FCB83A229285C1CE0B52954FB21A166142D8F82B60997DD39ABEDB4D3A8680B
-8BED2755297909B1D66724FF4B556FE99D26C655F7BF055A529562F4B1DFD7A16166CF1F
-75606228E96A320CAD4C2589BC86C4940FE50CDFE12BD5EB50A5A2B0223A6358FE07FCD6
-C791193E83A8B66766BA2F2E3D15E3275C27ADF65E2088D058082ACD6B7AA272B26967F1
-7606DA71E7CA51EBF5662FB025419DC26D155113947B966933287A14F066AC40D7028A08
-07130DA33A7DFA24144A05BFFB1D979252E83F21A493F7149C33D7508523CD56C09F3963
-322C64BC63B8CCCD8FE84E0DB44917107B6567579983BE44F73C9E524F44956C93D85975
-E4531A3DC0FA9CDB9916DA0432E4EF9C48FC9FC482BC9744F6D818889C4B5D0B766D2243
-B50B9EA3F0D20DE6A86F7D0C0F4B58E3B526C2DD36E01BCBC6EB8364B15909C335D8FCA4
-7845F72F203AE4FE8F9D0FD1F1364DEBF7EF7CB08D6BFA764A7E79B9D76A412D879D2709
-0F4D54A848C5EFD424C553A5CE0486D29AC6F2C6B372DFE8DF265097F184F2B88CB3C690
-052719F268460D78153B97D77F824C82B466DAFF2630CB263115406B8B91C9FE8E9AE54C
-A2C96C85789610964525453B9D902ACFE6EB379887C72B472189B9E7CD6033F2E57E9C90
-206E218B9834ED77760A12FA0A5A6F86D2C226E1DDA31A5CF2D0EFBC4AA20242D662A869
-CC6A8C5E4B3732A9985A2BC6DEF9A1FE49309CF5557695B66955CBC49938FF605AB6F57D
-CC7D570CC84A8F10C50D2DEC2BF6746CA9F256725BA75D273325E24D04AAF0F2DD9AA3F5
-F282773B5CB4B5DB26ABE691245BE7A3FF07C4AF6817725B03419F1B72068A5EA81870C9
-93E040F4BC52C454FD43AC24E3A7B909582F2AB3584FA66031EABC8CEEDB7DE30D3FA311
-A41DAC1CC909AEA330FCFA89BEF8D0D5217172BE25BCB3DC180DAAC52B9A95E588ABEE17
-105E3DA435AD2698CF07035DD5C19C8DCD58480CCD20C1FF529D37B5BF95716DD5B36F74
-B58FE28847962E7C3E2ADD93C91B529C48233EADBC2668AF421CEAFC5D8C65DFCB6493E0
-5A86E7A5CDAC1CB839DF0E099E67A2F8A7CB966BE497C573A5506AB4944AF2FD770F5834
-ED14B897BBAD1F3218007AB429C3250F7EB284AA16149DE1E6B6B540B5AEC33C4BE0A12A
-11C3D63B8574C6B2B4155629FC9C13EFADB572BF35C2939226A90310A067B4F47A8719B6
-63035EC0FA87AB6FE5515F1B1419C12F06BF3D49393481B7F45534B71FED5E1B8F8B6480
-28AED0652F5C7FC254C25858EDCC0B92C6E6145A8DECF4CC54C822A6EA80F62122A58FD3
-1BFC6FBD5DE46F258D4215FC361C0B8BA50E3D63E7423EBD6EBDEF07696D25A6FB25F44A
-5D747225006F4AEEE6EC177CEAC8DDB0A7D9F536BC69B59A5AC650AF57F92798785D44E5
-79EE905CB999C568B7DB553BD63184F22E59FFBE661535B35770A1EFB0F6530B455DFC54
-1A4CA7E19136D9F3ED1A7C8F58752296CF5232C45902E6129AF4380E677A74D06E2A3A01
-9C72A32A8555E52F5113112FBC4A2A42BCE68F7F5484D650CD206B0787C1875E7BF15183
-3FCE25FFA474F67497605D6C6517BFF948E873E4AC2BDB6995045E489D6310C22F6B4582
-906FB0A5484C4BBCE8FA61D80E4277EF0D37D09B869C0A174B97BB3E127776A0FFA4D941
-B0BC194C78F189369E13D86645749416506452668810DFB0B4011A40E60CBF7CFA855CA0
-F36C517B959FD11587B9C6C6EDA0FA01FEBDA786B36F3E21948F878D6DCAFA94E10509FF
-5F8DDF25EEE7CB8E058F0BE6FB4DA87C28F225763AEB26BA7BFD8A52467F096A759F4379
-C150E63BBE70940EBD573424ED3559B16F83D22068E16633D95A0267E18EF9391B9199B5
-80A91B7A74BBF60CF13E4EF71AD3FFF9ED5604D73BD0C5A15812A439A3FE6641F2DE8B52
-EF0BC70B7693FEA9CA49F93525D29B037AA40A33FC2199C3F29139FA63408048F29B7F3C
-6EB0CCEAF6C51D4AD842A315257AEFFEE6D5A02C9A56A144B0AB2837402ECDFE10B85F84
-88A87D9512E0FDA5CA64AB541E1BE99C9B89EFE7D3F17874F7593FDFBDE867653562CFA9
-C06BC81560883D1F051CFB128310229768A77E87DAD9A45810446E4E116341AAA3D4B332
-68322B7DC8984E41EAA6826393C2319424202AFF4928CEFDC24D7EFF4B64533FBC25164C
-E0083FC7DBF81E663C4E1746A7A7E4D7C0EC4CB4D9FD396508D6A96CD400C85212F522CA
-F4F6290CC2843E2B632571FAE0ADFD99A7E3F9831B0EE07340BF0C7D6EDF95DEDAD7D492
-DCD83D871ECE63ADC0A50C3E76E5157D3872E0F78E036B3A36459E78484C9307B3DCB831
-A99D9411C1CF4EAE117D651BE3BC04C2AB067E512F0F89A566F275DBBEB231DB42A0A197
-C301F33F4E65EFDDAEF015999BBC1FB75E1F6A7925D3E2075E98E314BCC10C94877F0B0A
-007708984B326817A532F7AAE87E026AA715FE64373BBEBAE99A0F83CD0C77173DB845C1
-028F25015FC3DA0488676715D3EC8D1149A90AE16F418218404CC465D4EE8BEDEEE36F47
-DFDC27D07FB5F4EC0BB8DB4601DCFD54A2BE85A9476000D20181311F5B6F4111CFE1A850
-DAC7C23D30B674627F1A852FAC1F0437D18E6B3CE4FC7911FE7255390E0739D2A83DEAC7
-02185389034889A8A437BF74BFC3A5BA6BB8735A8FEC009D55492F7D43C5C6F92E469260
-4723A88723FD31B20AFBD42C150EE51108B05E8F7027ED40735A1D63931FD3CD5833FA1E
-C77980CFA0F7A8C47164639255AD00AEC0764BAEB2045025B7C6536309CC9A38291A1F6C
-141D1A42F33BAF14C5844C13E8AFF8A7CB4AEC72E6039A60CC67F03DB21AAF2976BDA0A3
-9D92A848D743DAAA36C288ECBDFB46D53E958762B1FD0F570F40154838506B656A081473
-18FF01FFBE5D17C131949F5489E4C74EED3369A496D05E0C9256EE92D3424E95A30485F9
-A00B0595FDBF84B03BC9672A4816D2D290AD1DF00E54C668DFE765D9EC28815477D7FB69
-781C0A050660946AB8AB1E29EE5ECB2C1A272591CC48EDBB5EBF26D765E24F5CF4BF43ED
-17E5BBB55C55DAF106C46E4D8241E4AA01AF7CCF79176FB4BEE78D5299C313E2DC300237
-D1E149743E16081CF124BBCD7D9325125C9C9AAD57E86A94D18CF62D4E0785F820A9B7F9
-E3AE3FAF0F7DB0262BE9BA917540B8CD3421643A01CB26F81555B05DA466F1136A7F3E80
-3461C2F063ABF750BC814579689D3CAA094035CA96298F7F264C6546143DA15C6E085DB5
-2065E8ECACDEB3ED4FC0D1AA4B01E3ED36211DE438DD1B3712EC858D66BD3779C96D4994
-234A8FD8C1340CA9EA51A2750A6B0C65EE1C54C321F4D060F7F5F07B49C9528AE0A1D45B
-5549FD72B0A15BF903B1F70B92458817DB0FD9F1731E82885835A717B0A1304BC067338B
-1638D51E99D5C23872D4CE5097B89635C3BF28D6D2FC96BBD80C26BEA1968B8A59C278A9
-8BA49B1E59E3584E54DA5998C5E70AF167DAE2710F7656169647D2781AD1C27766703FC9
-6C08A0739EC521182A77410F2E2A788B47C745B4B0A2313F49AC8802EA461F04F3D54FE5
-58D2B21E9348C19FF519939154AA3ED07E24D3C15971F380551408C897D618749CB38BAF
-625434B73061407AC05E0D7B0885791153FC0AD5C3275C03F528FCEA3BE91D9CA9C3B402
-3C931D467854D68DDBC0FBAF70D38365C0C76344472A876E74C04CEA12DAB0A55E776BAB
-CAEEFE1CB7E834BEE48DBC155599C4A0BC00E6B8746D7D0B9CDBABC463D8E2688F46F126
-520ACADDFAE65101EDA0F523C6B9503D8FD1A5B9F0B6DBF0C286358D92FDE66720F5AF47
-CA87A0B6E04E46BFBF21EBD5CDEA194B6425B5ECF81518178E0259E386F5F852C6870E7E
-034582EC658F59C2E07428737B36B77B9AD3BD6D28EB1742453C5D4867FE879805A80331
-C6E52C0557E5D036DB1EE67E7274AF769DEBEB23121AD503E3023A8515FD5ADEA11AA020
-2BCFE0AE826A09874CCE19AD2A2A188C7331127751342E542258D3996DABBA1B6DF80323
-5B6A223DE4F193B862224F807F99C0749994F0C72CC784AF11C411D34D649FDA1C77CB0D
-BE519001F9E757BD8035A0C9AEA86609B71A4622D5C78589502CD2DD58709544A76526F1
-603F205AACDCB62EEF46D9042A2C9E76B887826827C6F22D73760CDCDD0FBEB827BD2E1C
-3B5B0726A08DD2AEB614FFFD02C36F9E8B404160C909B70414BC8DE600A5D56479B83015
-9B8E61AADC8C8AA077816ECB6317A9B16D30DD8D4499FFAEE87CE97F72453A37D187D91F
-A0C29A65A8F9C88ED22CF19CC0B40324449CA4E7751D77A0D76669AD420216EBDA92CFFC
-50454E7EDDC5C4DAF66B67675B576ED2C90EDD9F8182589ACEF1B034D2F848D0CBFAF84E
-38B7C42D2670D0A5E382FA11AD3F2FD6BC79EA02C074644F35842D1DAEF70507A361A0DA
-03F5517B789C5684461F698F2FB20A7801CA9EE12981B5A793A481F48E33B596832AE4EB
-7AF3681CC464F6895127CF10D14477611CF8AA88D0F6888225DBE342A708BD62EED4FF31
-CCC1ADB38DAB151C94E9A1554980B3C077683DCC0513ED4C55D57BBBA0ADB8A5E79A1B4A
-BE43C703948452C44F1734F1C433797315C644A8E76D13DDF5E0296143F61FAD14E16ADE
-97BC12ACC5DDEE482231A9E9145E69D63CFE889A1BEE0907362C60ABF581EA8541E36ECB
-30457098E7DA18D6FFD57901AEB7913C59AF691D1A1FD3DF485F7EE669A5915EABA6456F
-955F2D2F7D56CE0E349EA743B3F44ED555AAEB7F2A71711E08FB67B9738928AB842F6111
-2B9126C7474753CFB458EBF75D817175179B3FA956F1D998C52FC9CEC7217440889D0481
-CB91C8A8D1D1C6967964C7DCE3D9EB0BE6598DA5708DBDEE4EDF76CE91E128732A8CF56E
-C8BA08828E9B270A818F98FABCA757BF3C3855C6DB448F7A4A6853522F7541D46AF3818D
-B905D64847078757E0110C0BE6AF4BFF722FBAF5D8A4138BFFF94C7678A10F9FD850998D
-B710D5BBF763B8A70491CA4D53124CB95A953B080CC31174646AD474BBF5BDF057A1186D
-B083E6E762C669E935A02D60EC62FB71B6990D25BE44E949C85D1582611D826197E8F617
-CF2FC506489E59CB380E2ECA368916347B1E1B59DC1AC765676B904A63D7F8CCB1F7E2B9
-B8290B30E53B28F6FBF55D191BFBCB51F3BDDA71C7A9B1152F686191B0AD05FEDD3FC37D
-42AFD7B3021D255DB7A00E6C2B3E714BAF7E61BFE8B7A88BD5B6EDE4C1DCADCC30565AFA
-1E2458F35E44CB6F7228BA384CC1B7A64CE912998D42572F45A30B2C4F919BB21F66E1AE
-6C787773E419E1AC1AD41A3DDC044C1BEC45CA2D0382A11C1543683F9DE1302FEB0C9DF1
-8BF8B9F0272132E1CFEB54E38A8B90C3F5630A3EF083C73C4E83BF0C312F09D5352F41CA
-7C8EBF842E7F46F3D97C4AB03040640B95D465D50789EFD68A12F1A450AF35844A7A2302
-3F25728A85EEA2D9D124C4B04AFA44205E110CF923A4D713552FFAEDAECFED8898AFF89D
-BB682A961D1F815C3F978B9C190006959D4330D772C884F6B0C77B2D1FF722DD86448C76
-A68AF642A08994966D3C2836D7063A59B168AABF47179CDD6D6F902C601A89FEF38E5A69
-9753828649B3470B5A03A2B58AA910B758ADCD5739611894DAE786D5AA005A5826DBFE38
-8B0F4105BC76C0437FEE9CA6C861FFB1EEF6620B7562B44AA0D29D1DBFE7B7954971087F
-E8D291A0DB5E4CB0512B104EA6044CB75C099716AABCB5EC89B14BD18F5D1A73E9A8DF5C
-A593BDA22FA28D8837519C38432667684C7C23594AEA6B39E3A819B72A00652C205B02B6
-F8127CA0C7381B8D433B86E6DDAE2ED9482345792276F4604A9208AD8CABAE8B0A0BD0D2
-7D0D5955C20C6E4425E295F5AF9FCA7DF682FBDD5B8B107B5FDBCBB0D751B2D2BDA99314
-A9CC66F9E92FF5048E5A6AE2B8B03611C7000B0903491DA44123CCBBC67B1D4086C22ACD
-08599534BC98EDEE0A73117ED20679CF3D9ED1506774C67526D9AF3DEC36B9FF799479DC
-52A70429F79C8878509E8DFB756BDA3D76B31B9BBD77DAD3956B1D951C157F02EDF252E8
-D02AD799A9DED7B38B352FD0841B96DAB3A3562F68178448DD8F1F5FE40438933F97530D
-0E6C918C571B921F9F7B054B798CA04426237F4085044F7395D0E4FE3CAB961348D11912
-E5FC311138A82F470FF3C8DF00B1B0563BE81C25AB58E95CC392203F9668BF187DF43482
-BCEA0456394E31DA0819AB3E71FB8E02FDD90E05A39D0D5B4EF919E958B862C3A96A1275
-F66C689964B85C4C60A9E6D44EC9900B85245C8CAC2847882497A97043255228B8C29529
-12EA890FF254BD8C584126DAD1B2AC1AACF528564883F0C15C41A8749EE4AEF5FB514940
-060D3397DDAB08DB2113F942B03375B4A2AAAF9501734C17DC220BC97E367C2160982356
-2ED3C739164B659C480317952AFF044A4550DF79113B4F7FDBEC7B332EDFCAB7DA5B4AA1
-469479B4490EA5462191AD1B336DB782BF7A2CBFD7D4B885E2083110511FDE57459457D6
-68D29B1E31E734B30E4EE6AC28E8D74A2DEDD48BA964776BECDED8A86934A88D60A85279
-9E9C65EE342F2555ACCC0E47202CE451274D76C6FAA943BDDB5C35855499141FA589F452
-C5F424280D5863C7ED7544701C4B0660AC835D58905E458947DC5C220540D1FEBB4F18BF
-7649596ED3C3F8D76CD146E5B5995F406CDC2F8D1D0D7CD4FD1BFF5907BBA5AD0B475F85
-D4C75829E57476F12E1315742C875008A96A06A76627DD694E1EFC09D05159B101C8613B
-F0FA5E027B1C7F089D07B48BAFB047E4A75B101B417F82FF32BAAB877D7798A2DFA48A40
-85C47A5DA67FF503552D60295D5C61803C2700879C685494886505DB291413B22C7CDD3E
-9C36F74A88E53FD9AE6E4AD73025C80555094DD7D1A171A1F85833A390793DCC86DC25B3
-1BF605ED87669F1D4D44FE035636746A80865E4320BAB50B42B6A6037B1A7134AA8B42F6
-4A85B58C318E600D80E892B337786190C009CDA82D95786A6F723408E1F79C330221E753
-F1A30D90450D9FCE6539A7E4B2AD69557746FDE8E4E6207FDC9068C400244A0CBF276F84
-A2286A98A9B4A60457D3C1C2B1FFBEBBA67DA76E0B3D1027B914755CA8152E1CA4542714
-9F709EE182D12B9D653D960F7242567EFE61643037028C97B19D96BE9F5EDA4230A329B2
-78CA496D0C8894CF6FF8A410AA93EBD0F54CDA812CB5935DAC06DC7968F1FD4DA26B621B
-CB0C9FDD45A51E5043E501E17A042CC421E80413C5861941796E1F0213C02A968CB5CF10
-EEA25AA24095839B12D6C260D99B5C42B65C40824D408464B30D6F9E02E8686294CEA8A9
-39AF573CFFCAE51DFCF51D229D3753F144CBB1ACFE9253F5E36CB4199CB5768E6E1CE224
-396923C6E1C9B1ACDAD64CE0DF19C102CCBE2F7D206EEE22350016B1DFD13EC06891C41A
-353318C8744A912692209F590799C99741F3656DE0110C310E8F460C3B94C7F5EC4598D3
-786D7C297707C6CA9CD9AA80A18141C9937EA927FFD3586CA76ECA5E5335DF22CB4AFBC1
-8DAAA401CA2CB71E1E97BAA78CA4D1AB912028138B9901EEAA6E17263C540958263A509C
-1E3C266138BC36DFB2B82E145C794AF0606D7B9724E40BD70E3B83D7B32E32E0BE470279
-C05473C3649009D96F47300ED3668B9F140E65746CEE1DEEE623734F93E1C309B3F5E5BA
-EFA93C4E96DDB8E14DB661CC2D23995A845F8916079EB740DF80158A8740C15DE4B367F8
-85B1755C69254BEB14DBDEDA5279C0A4BD93D43B940AC1AB933C20EC96B8B833DAB56BD9
-15C46666D22E72B629E97EB44CD41B441F6E079E40FA868F3D74CE320D23402BED7C4A49
-4468869683DD4BF0C4B59BECAD9706D091FF749B749DFCCADAAA2907457760A7A2269285
-F31D4D815E0AF703CF9A0D671F4637881245B134D4E25A8DFB7E58F7DD06912E6FB27CB4
-1B137208E30C0BF65FC3C078E9AD98BA6A46E3D29F035FB6A430964B84D9CE91A03F6719
-614D8F12760A8EEA1999780E00AD8FEE24095D7FEF3BD669042F0D03010814916A66401A
-3183CC41D8EA4423A97EFD187FC1D832146031D4837294C35EE6E1E0E8ABE8F68CEFB5D5
-97C10241B7D8D83F281221F1B84FBA400A586364C58E1B611CE0E2092E0734FA0EA881F4
-2A8E82E9B02C0A5BBB21940EB06554D01940FE87BD2BC7D03032646D583028436B495E6C
-A8F58566A946BD076D693177F13DF96B3A43C1650085A23D199A4773C717DE2A19BD8C46
-C0D6487698620D89A1A07FA0205D14870AA43C6ABFA2599A84AB5CDD18A66F6540320B28
-A1A9904402F62213DD74DEF28E2260842BA1F5ECC26C2450352EC67BC2C956C325B1F996
-4051364A7592346F0C28DD2C52BA5123691B47B857284B4862961504778C8B5E06ABD1C6
-F37E2343C185BCB458D42DA166D9479F8E529BFAB0AC782010BE8E526F5E4C17BF9A6BDA
-F8BD46522BB6A877C54ECCE890C389FCC576B605B65C7D17A483FDA2C826A6E8F27915FC
-9E006666AD30D11B31AEF6DD8BB9FCEFB655F4D7DB73767FE1FACFE15CEF7FB27C3ACFE3
-4E761F9BACEDC1CDEC22B0F50619FF7AED2689F2EE768CB0BAFB857680B15D9CE8AB0A24
-36450529F86FE3A7CCCCFF0287092F18AD672F424DB6EDFD50AE8EDD481022EA1FFD016E
-E3B4BC8583BCFB45436471B5B4340892F390E061E0F28B4019812B0CC299C3D70151F87F
-15018D49097A50B1EB5B90A736ECBD060A802A30632C2A681FF14E1ED5AC77726CC1B76D
-378180CBEC15DEBD4CA283F2441B1E02CF8CC7D91A212EF2E0B1F194C196D731EF43A420
-2E0A1BAE1C3C1F060688BCEC9C24B07984F8EC84242EF6660E7966DAED4AD845FC859DB0
-71F1EA8C7E9E5235058EC9C42ABB815C699A883344E95504F9C5F6BF340DF54AB9BDD438
-B8D63DEA04CBBCE565E3D78B71C6E2C04D4E1EA83DDB824C8AE8E9CC621CC1C75906F900
-D2152DF36AE9390162C3DDDD20E79F9402FFF7A1D66377037D2A5E8F9E0889F55C711DB6
-38AFACC568A1B4E4EA06E3A3B749DF4026A0EFD2AD56BD458D9A5837F046F81ADB9C1872
-71238A54CDB3290187DB1504008362EFBB553C0167B5B58DDD5DD0788B4806D02AFDACB7
-78DC36578DB5486BFF8FA27ED2705587C3B0A471DC74A47479EF2B7F0D35A77D9683CCCA
-F64C5E79F57F96DA3EE6666053089561CC89A0AD22E9DDD5AAE38F6ABDA3476E5BF7EA15
-B4D782E42F6B1E778C9CD33436D1B2B72FE8B01E18E01C6558816D0ADE36FDF34B8D8F2A
-A15E028CE59BD9DE568683CFCB8ED3CFA289CDF4525A46BB7B0A91A62491A09821633CE5
-C54994009761A3E6DD30D61612EF66F49E190A2EF1D189D75C9EAEF9CD21E505F9CF63B9
-5B399B25C2808CED1FC3F6BCD950156394711567792045A8C90A10A193650379B5F44F80
-B9D3C265064754B0390963D2A060AAD443CF6C377C6DD81E4B313D94CD22DE546C56CE4F
-06FFB5C4D703D1CEB9E9957ACDA546D0B327450F212252B3686FA87442CA18B2B0D2C1E0
-F91CCD54AD769C78D4E719BBC32554B6F486ACC1EFF4C8A3DEC5C359821715C2B64C2CD8
-43D25F4899375AD2011C3A89914CBEA23970C20ABFC55AC3318BB03FE1B061CC5E1C6BCF
-B4E5A9488F08845DC4B03A79CCD15CA393BFF66051555DA32B68BE66DB340662F445782E
-EEBEE5CFDB73AE4F9864435B828D168F17B59E9ED6B1E4DBBEBED2075911DFEECF1D97F2
-C57D0D5EB64FCDF7BD4F2F390F0182C997AEA6B3D5C5AB9CA14A3928F6358CCE901D205A
-ED5C22BC9838128C8631B69B02787A956865F15EBDB937DFBEBAC70381767AA7EF592146
-BE4EC825A96C8695E9DF2490962D6A9F877E260A19362995C03E00B44DAE22F3E1AFFECC
-ECF056319ABDD8009FE30466EAD5BFF178E43BEE8445C0F3A4CFADC000CB29A66736B803
-46E6BBA25CB8EDADED812DE0D7962C2C05A0DAFFE6AE2604F628F823659537651DEE00FF
-795ABFB6C2FAA5E2531A36DD12AA069E8E0EAD1C6737FAA3B412F97E6D5DAB28460AB7E8
-160E0656C551452575ED47630A545FDFBB6763F61CC4BE7BD81AFD6861AEF0B34044B583
-836311C2BD2F0A5C74A455962A1991DC75DFF5BD46265C8805FCABE04238795013F09F40
-D2F2F7C5D12F251752D938DC7C9BE00E5F7506E51E0EC4A7AED0FFBE5353DD0A6FC560E8
-3FEEEEAF01316D5386633AE96A5609FBA122684608F90C54E9E3C1700ACD31686FAF7BA4
-84AE837057BB3FBEB1B6C9AEE7412A74C5EC366F682BAE51CA425FB274D17C41D0DA1632
-751E2D58CB0837549DD2296065176FEE15365363284E0F4778575C464110F5CFB186E92C
-B488958079B3DDF229F4448C19B24023C1EE9F226EED46316480F01DAE2D4A5EA42A3DB3
-85E3668A3CDFDAAB384BD79DF85A103A8E09561B4E826D3079658295512DDCDB7AC7ED56
-0966855109359E217E44805FB55FCC926CBBD27D34D5D1339D9306CEB6BF3468616AF144
-765C64DBCFA2BE91F92AD7DB47DC92CCB3297AA99593851BBD29C07E7011584945C5F390
-E048B582367C97BEDC1B31BBB1D2D8C038C05DD28E3915D6E35ECA809B335190DAB354AD
-3D3EF2A5E3FFC5D8F0F7A87A8EE9C6F9E07154919054DCE87D8FFE62E279CC05A4DA0BD8
-B933A49F7FEFD11E241DC1E4786B73D15FABD2915541B9019AF06EA28A1DB0FC3ADDE1B8
-A370187BC285F66D544A23184D17E346CDD21C0B1ADAD499D78EE0258279A8FBB802EB50
-887CE8290DE6F29AB3F6D0884BF63AC982A21682CCA88BBA82A237F39AC8D1EC827CBB72
-559AF2F5E640B1E43AF7448258469187427A600608E5FFCFB50D3406D453D30B830D0B44
-B7BBDBF0A5F00A33A4BA6429C9D3460BD6DCA861970E123E67CDC85ED1A304FCD0C18B1B
-19CA443F0B85423F4EA44E0A31DCD363CF59630319D2ABA44E822902062C4194D1B4A04D
-DF98F54946C5769EDEA86028E88DADC98D785521AB79728C029FE0515C9BB6DBDCA26033
-1B28F70CE1445AEDCC0E267903013BA6F98A564E6FB70FAD1343200A4E3AFF261381434F
-4C8E3DCC87F1482C99E9E2EFC4A0D7352DAC825045D1CB8E102D9FF018467759C808D863
-55C4D25B3D1097317FDD11BA90BED164B5204A40110751287F19926A82FDC6E8216584CF
-CB1B805BA9237ADA8D5BED21A89F6628495EE78DBBEC0163316E7301AAF1315E00302F64
-D22A33EE587C3116003CFBE41718A07DC7CE295DF8D7CDF05245C46893759E0F2DD35507
-CCA29752106D0CF2DBC8CCF6ABA8826EA7B0455585B26DCBCF0F598A7DBA8FBF04879EE1
-82637DB44C1FD37E7A74481A333CBEFE4B413D8AB6A3F4DFFC471A611CC70C55618499B6
-5EF14ABA68839AB4656971DF193FBC70467BEB52171F3E140FF40BA1C77BF02500842784
-4A06AD4F0ADE586113BB339DDA9FA72FD99DA3B1FCD26D25E79B28069013D8FBF48897D5
-2B92448BECA722F486F3EF5C751FD6DFD0560987137C75E466FF9F2002B7CE576A9282B1
-ED5450AF132C858CC092E7CE3CEBF5C78E3DE84D130CB8E1C9A9D08495FA3918969D06A7
-8D10750170BC3ADBB4628BFFAEDB8F47A2197D95DB975DDE5FEB8FD97AAA479AEEC667A4
-8DC0D8D44C02F7B7497A394944AB7094F3396623AE275B60F32AE74A3ED40FAC1B465F26
-6A8FE9162EA850F4DE855DC492315E3DB9390000F84363328D4891009B8F10AB08F1E4FF
-DFCD0B78719F59B0FEF3F2D7990F388EAFEB85C6F8383D3E50F3317EDD0B44AB566F798F
-F7B1CF7C9CD522350CD1D92E56061D508E66FAB2756999B57075108DC7A0AAB4D77849E1
-00B8B7B5690763983245CE5B96853F7E1E90D5807B02C0E44FB50170AD7AFC8CA8229AD7
-941453154232B97C0CFFB5D710DD5B4AF78146FAEB62DC9E73F72BCD539713B683311ACB
-BFBC5533E9800939175CDC5634FEF7D7BD135D6347EE83118C6FECD86799534165E063CA
-5461B7AB4002D1972C22665FE8F75B4A6E7CD2D868311ACC98E29AED65A9DD734A55E7D9
-43A4F53D0602F79E2EEFD38BA394581DF5895435A9E8FA35DBF89F3F7E00E09EC5858D12
-6D0993DC87BB9331168488F7B12BA780D07450007F067B824CD0D7F0FCD3EF8D5DABA99E
-BFD130AC89B20F0E2BFD4F8256D1B4041F90E3E145DF48A61BBE573394B2E70CF92F274F
-4639A6910E6E6945DA69476BA89E1CE00241213B739E1C9A0A9B352DE885B04A47B10BFA
-4A040533606F2585F78DAC66EA103984E5484A06D583AEE68BD0D8415B0F6CE4505E571F
-3A21899D8CE43837035AECF430D1AB85A8AB0080BB31D421FC1818C32CC591417CBB595A
-7FB281122ACC1742E7A7B6807AE5AF3F98C94B85ABC8FE8482F5CD9F7A0A18DA819D2A8E
-A1841FB1255E3F4DCD1FC2BD3E182A45AFF9E888D7B3D49F4C5272722BF9CFBA654CEE4B
-09C0C9897B4495BB6D38B00F0E4CF7891D61CE6542FD8F84C2590C62C47E967790F812E5
-D0DC81571ED64FB311336B154421EDCE032F253098D7360F2079719047F9A47F2AE63CA8
-DFBF90423BCC6630F75CA70936096BBB9719034946F340464563DCA8ED94EAC3837C497A
-50315ABFF0CEDC6CB3B7B1C30A8442648734645999BA94AB7EAA67798AB5407CB484344B
-86204DBB56D3627091D3709FAAE6CA20AB5733F556C40059E56B42DAF823CD0F5139B240
-7CB44AF4DDC58EB2499525536E01363B4E1A36331838E88C6F0BCF423F70DAA9ED12B5FC
-98C606C301616A1DCE9DAB545FA0ECDD8B967DFD1C1F096D242CB1368A7075BF72E12B91
-A953923276693A46023276B9BCD24108A524C40026E305427EFBA8D9A8C87D1AEEEA0AA9
-F4BD27476FACEB36ACE046FD8A5AFE4123B6944DA5E7BBE7C4F608EB0DA74DF816ED7453
-6DD277F8E59F65AEA8541DA98E492DFD48504D645345E957129E2A60FC5BAB29BFFE74E6
-4D66EF0BEBA0B02A78BDFF4CDA36A04C20AD552AA92BB75D52A78745C7B47F7D399C17FD
-C56C1588083E04035263D46D90144165184F0E630A4FB68874E4C715A3708E84A8C08142
-988557DE1FE684AEA24BED59A1AF602A04F7E916FECB96D2D2149E71642AAFE15B0E399D
-3C66A5944B4B0BA234670AE5D78380041161A606B33BD1B38D9F53A592D3C021F6636731
-6110C7E4DF35E8BB85F649E568ADFF1736A1B27E5B13AFF8C4504230D877FDE932AEFC2F
-F9E0BFC61BFA1541A6F2C6F53A22311DBA8A8067D67EC1A240E27F85FC0D46C4DD2F519D
-7B72897EA5B38704848B4834AE19C7BD5E19E5C65BE109EB9B02CB0376E603B1B6BD18A3
-CF63B906F8BA66BB52B1BCAAFE70BD7A2A184424DC53C91582F47173486998947B074A87
-B49FB5148B6FF3FB34FCCD25CF2940042E7E90EF0E9DA4B520F123CFDABD3B3CD2DD8CA8
-039F6CB5E379D17FF8C3E7F9F597A25201332F0062A0E6A06CA14750DA000B4570B4B3D4
-859038CCA94E63854AD5DF2AEB672F92D99F6E5B03A8A174D64695141A12F8D6E0BAD839
-D104B24B2B02F83B30910AAE4978C9558D256F12A120EFCC8BBC9FE8122DA3BB72C7A77A
-F47200C9C18DC6560B9D3B82AACB581A4F3735B4D2D215CCA7046DFCB3468917E96B6A67
-865B57BD51428A0221225C3A79D3D129B52497ED727331C1924340B127752929C29EEF01
-677C812CC6AEFCBFF1E3D24594D430E0164B6B933EC66A7FD00B4E701657F6766A186BCB
-872F32AB18CEEBD3E14574AA775B3A73B3BA7BE94916FEA42716105E6326C21A59B62AD1
-681A9672934A3EE224B4E634B6B4DA3EF82969768B243092A98BCEAD10097659B9264DC7
-E83CA911201CF43984F4384DDD10F5E7741F78F3013591AE7541965489C0CE0B2C78228E
-2148182930C04ACA997CB303C5C096147E25E0773262E62A8FBB81351EE809D416F63B48
-615E95245EFAE2FE041D10F0755A3FBED883200C13537A1FC5B1CA14BB847C8BA1049B6F
-7CFD9784512E4D2582198F8594B4B689772DAA8EC2AC7969E3B20DAF8A17D36C91F1A5E7
-4FA921F611BFEE1982F590D8BC0613CA86B0338CA0F5FA6107B9CABEE94D143C98DAC455
-F64B2D213C5F3CE2F7430673D5E2224765ED4341D8FD04864F8861369ABE41DB25207682
-C81BFE06C3513FA019456A976CD751B29F4E65C7853DC7E5AA99539926284A316DAAC56F
-64767BC4BEDACCE77C7D8C774F0896034ECF9B9E418203D94B94018D126ED69E431D792B
-89FAD0AD799A0660B1282C226C03EA2E2EAD24432912D2D405A7A5130525AB9A4C6BE1B3
-CCF9094EE61401F04BAE9CDE3CFB0A0A1D33054F993EF6A6A8F1E026E744F19F19F8DD45
-01199F97E79F711C1C219532B448CCEDB409AA0EA129135C1791AF1BE7FECC1C9B1D89E0
-906EC96620278EF044C18228F5CBB67DBB36C7BD10DA5378224949CB6B2EDFAC66404F22
-42AF5508383B90080331ED71451BB59A8A2B91E05365884DDA3A23C9BA8A043C9A5E399E
-5A4350138459B562729D850CAF38D18C4DD8B6F9D8D69402099C0791C82FD8F1937B1F8B
-05E3D4E22DF453D2E8CE4248BB5A61CAC9E36908DD9049CA1EAA4E7773D54F9BF82D4447
-010C37DC6CB5A199B0BCA9AA3743592E651B69D1D4BD2563135944545A1DD8CA0B1928A4
-93361DEE737C834868A6CC2B6BA3A44E198D1EC12123BB95103C8699B4B76D7062ECADF3
-13FC6AFB6D364ACEE2091991D4045CA2A5E33C7BBFC82149C437FC423ABDEDD7E4BCA0F7
-BD1ACA371A129F11735758E0E88F453DB813998F91CDC3428B5D8FFDBAC983213F9C35C9
-C6B5B1DA85C0F0FF0089BFFE9269AA245A8F8BA47E373D2AEAF9F492835B1A3B3AD9AD49
-076B2DA90C516B95C8D603B758D285B811C97A3B28BD0DFD924F4F4A6C6B1C1E0F7E51EB
-582914400A9B2610D008D43D9623BFA18A64B6160A72606CEF0A31DF88C7ECB3327A0F48
-3B0DBF54F1A02BD3DF36AADE1A65D4ABBCFC72149DA3992CFBF54D1DA3DAC66DB428DF19
-90F4C7923A23EFAB36FEA4B00661289D7FB382ACFBB03C6C82B58A46701FB75E36E1C697
-7026DF6B66554C2C36397230657BFF069FD03DFF9128A2240EBE1B838512F48F1482991D
-E0AD6B6590DDB2052564F6798C1BB88C06D53C4D4C76A4BB1C35355468B3C71547D76010
-C8902F5DF9C07A43E99230DA6CC708BEEF6D3E976C07404DE4A1C7BBF11CEAD519AA6006
-EEFD89D2CC4351FC3E72415E8965B1785AD0E29EE59032F6D0487941940FD8EB73B9CE70
-704AE65D7C3E7E30FC066DAFAF38E2A19025F628E7FE6054694D7AD21ADA5B747E54AD1D
-4DD57BFCADCDAD35E795A23BAA5171B8081EC9803B8FE6242AB1B421A20C6CD6A107572C
-9DA40E22D64E0D053972699180A9B5062CF460A715CF99CFDA1861BA3876047D969CD8F5
-889104DC3CD6A91E6765BD2CCF49F21BAABCCCC6984D5DDC1F872F85A45D42C490352D53
-70695AA4420AC5E6A0CE1C5B72186FD1FDFC64CB7680ABAFFB390C494FDA8852E6523BB8
-E184A625027F79620D9712D570AA5E2DE15863B222F7F5880DCB462BBEC2B5198E005DD1
-17B6867C218FD965BEC790161999B8D27E7694909828261593BE4DCE97FE5868285EEDEF
-EAB74A5707DC3C7824C1D4B170F729D9E04A3891E2C90FBA545FBB6F8883C60ADAEFD251
-6453F30B02B63D0438F927ADD8CABC0F78290C5D0433A1C611E4754BB72DB7A96364D9AB
-8B698A63CFABED083D9DB7B3934DA6FED9C162D33BC52D95F98632C93A8B6611C5C3CFAD
-B32DE2F520ACC68788CEB420269963C96B341D7702F7830FAE6CE78D23A99258FCBC3955
-9EA5748F18B560FBB1557019420217FC3FF9E1F98FA219728C74FFB024771CAB8A1675AB
-F57B229870ABE51416A8D5906D27EBF989A3F4C6A94E0B9CC383C5F161B0079868B17D03
-2C992D39EEF4FF295EE6331E26022D098D1753BC6F949C0FA5567C8CBB382A92D13881F8
-734E4AFD1E7157D9ED6DE9EE7DA0B8A08F54B7C8121D9D4A5805373016BE8DAA8B2C20A2
-CCC748F20209A63A4A7988AAC44D829241E0033FE88CD314A751EA836287DB68B32C9F5D
-0808946D8706556B3E597F70857C9C1ABC8728E256E9A34CA4D88D08A12AD64C1344E0A6
-7FCAF84A2E338B6734319ABB816F50BFAF49009AD63FCF1C9A4C7889485D7D6A3804A5C3
-52534EEE795E391609D1B6500321D29935FC49B937C061D556BBA407DF6A79C3372E1B91
-9539E5C21B816C060642188482BA31D8F3C4CAF759F7710E269235EB9F47C2699CB14C6E
-0CB2DBA8CA246D4F8A4D95B4452A4AA20FED42E66C415FF1FB74BBB434FFF1831BECD82B
-23B04ED0C66B5E1CCE3E166EC586CDB122D6FBDCDE2444230D932261DA28CA59BA47B23C
-461E0EF7AD3E03C501EDD54727F14196906C9413FEA8E2DDB9C7B955B3A7B83D91DA4BD0
-2C7FD4A96FD70634E2069AD2189A546F0B4FCF0DCB00C0E5F3527A3F0FCAD178C8D2BC4F
-4ABEB2250B4EEFBA149604B1A3D2178279E28B7E91E859E110510CD6C87D52E74CAF03AE
-69A5D08D4F6A45B3DA591EC6198259C39E4ABA9D417336E18E0E07CFC28C84B466F034AF
-A8541DDCFA4038288A6BA7A2503AA194DBAEBF3DEEF9BE93EFCDC351442B48AA8C0C9B67
-EAB4F75821E1FD55E60757D11BA394F8F336242890254F43F598650EE6EE730FA54E7EE7
-AF00FF3F55703D39B2623C7657E4CBB969AA8D7CE187C0119E485E391F57A6A42B2EBEB8
-F22B0F46012D822C8EC9ED9FB4085AE3C5FD36A9628B07B1A963337BA95E1EE89FD3ACBE
-4921FAC06134DDBF72062F31B1D351020C16B886A36CA9D5EEAA6470CF5044C7B6710392
-1577D9D5CC9E49A36C30ADF473FE06CAF00A5DDB44475F74152D2E520A1975CD1C0A15F6
-A47893FEC6BC00E1A44E8F6A1651D39BEE76E67C83B735872BECCCF0F907207778C4664E
-85C7D637FD201814BBC7D1C6200038B17F75E08B23F4AD0737259F9C07C47556FAE21B18
-1A110F056B1A612375A511FDAD2C291CF389622FD073F292ED09953B11E2A6626E6A4CDB
-8B50B8F9C7147114DF64C9FD8CD2E064CD9A3EB95555FB2B8D6E8A4BCDDC54E97E9F0B5D
-D3815077F6A825F924FCA5821E78BBB3E493F77CC71FCB3A5D9092453A0084AFA1ECF49C
-384A274B9B2CE36C0B1413C473D041B4BE0080B561F7A03F5A1641A6FCD1959506EFE270
-88ACA5283BF1D38901F2E071BBA4B2E35BB79D9CE9CD3B776C7348EE014D21BE0421CBE0
-4026C044120006AE1816528B353850C3577F4A0CD8BBABA169DE487AFBDA975B850736F9
-1345BE2B5ED8D94DC2505B8D6218F3167050BFE7E723008CA3C29E3244509D0893C580F9
-4FAE8F724DEB1EE280AE8993C9502E9F40477FBAAE9C3F9DFD0A78FC38D537FC0BD23851
-8499DD3CC9E583C292D200B9A082008E52604EE8AABDF15DB108C8D5A693CD829C8812F1
-0CE53781E50A9D234AB33BE6693C3FB59B921DB35FDD87A393F137D0CE119CE835138F18
-7F2338E0AED3D973652DBB79D7761D39B8A819BCED55B483BEA6B5E971E06475D03E2B9B
-B3B9D6677636111D4725EE36A077BE72347358A1EF91E5FFB77A0ED25542DD3FE9D7BC18
-596E2DF47A12A43F324444FE90226A63DC1CD5F265CD7EF81FE20A592D5A181B7AA251A8
-0CFDCDFA15B8A43A88F6889D2EDF93093DF25CC232BD1DB179536A1E3C46274F7F36A443
-86A764B04DFA73FF34D7BCF86C0A5122EA5332CA1D797DCCE9BDC7C8516BF80532BBDCEE
-A7C2A883683CC3CBBF1E96490C2B7D21DA99A3D6A0ED78252B12E1C97CE41D2B837E948E
-94BAB7BD87C929D8FAED67A8FAC5AF8E73F2518428646B0A70387CF9DF41DF0F4B5E7A5E
-786909F6FF0CB78649EC9F653FE445B4D588370E86EFDCB1EDAAD1D2601725EDD7CB78E7
-E815A4B76528F51FB88CF25A44B187001C63988B6E32531DD4E961DF683D794C0AE3DF76
-D0C29D5A279E668E08501979650610050BE7FAA5B67B93E47C807D22B26CE24B9BEB46F5
-B09C4A4683ECE59E931850DFB86108AD5937DA19A2132BC076AEFADF3AE07F65451E7A69
-5A583E0741864156E31C4DB9795ED7BCEDEEAE6ACD259FBDEFD4B4F4F187726A7A247974
-7B22593130F566D3DFD71E500EDCA19CD8B7B7FB5EBAD025660F5D8B3F24A224D741BB9E
-84942742D9D88E771B721E72859DF2CFFE2B288EABC083FAA26D815BA98A7A9F701395A9
-7A8058CDC1CF51740E293F51B6F0D61666A365235AE1296E1C9485A0043F651DF417CB94
-E53A1D79AA96CD5D8AFA0637EDC6CDAA761FD5F4E712745FAA66F74E7CA9D4C7929884D5
-32E12C92625B882AE1B60E0BFCB317DA1704F8A9337A42A8BE38DBDDEDC1E6FA9EB01F4C
-FB0BA8A2B29D02D9DBE63D2D592348A645747C55A939E94753887A853D3DBE03C0BF8BB6
-C4892B94415E60C3B7927B3B7BDCF56B45189044192DD6CF8FD192C5929C1741B6E53FE0
-7B4CD9EF8409287D791BE417165B54D5FFEF0F742984E18340AA54EC8D3E0D7A479F269D
-B8FBD0671C09E265CBE33A64CA9BF752D334803C09D32EA7EB774C32EC2E2D8706173E56
-C6A9690179F2191453DA57206855397146877BC55A562AF975C3715AA39F85C39A681FBE
-F83A7377E88E569732533A5EA193CCB76318E9D6ADD7400BB9CFF14D698C4179033570C6
-D00D70E5EEF63015399E5F49C4DEBF22666D76B6D60F801D023FF4EE8D63A1DC0709481D
-491F88979DC7AF7260BC0EE1CAD6A7A3EB0CE78C93865884383489F457F2AC5CE0C832F3
-F4B81820F37DDDB712560F066ED63777198E3491EBF087DA503CD59812FB082ED11E072C
-1C1482D879AE9F461ABBD5D4BE7D8B50D50C55DDF9C49D64FF968207614A85DF8DD56502
-809FA54B200F7DD9A6D4262AD7F0CF61F87A69DEE18A9B8C67F1CC152A8509E64211A064
-F39F3CCE5894A8EC0E23C9A557DF5FD50E2A5CAA3338C1781D04CB638A47C7A5A6FF8230
-1867BFD856A6BF11BA8DF56963D17291AA202C991F7EC97B501F79CEEAE44474806A06C4
-00BA8E8C5AC49448ED4C248327E2CD223B9199ADA618FF99F8DB84065C36A8205F5D3356
-C690D972B139D97449C080821798A70E55801EB4532D0EA1C05DC635932D1848310C063E
-05BB58B016A99FDD3102CF2BF2AFC5C6FAD3C031FA24F9BDAAC454529565E4EB52F838EB
-D4A61A32FFB3A5768F3B1135629AFFB808AA85788B3BA755AA51A6580803B6CE45D94581
-849CF2FA75442E759F1A544237938E831F504BF6408034B034009BD82E623AA31B66D128
-2741C8692C56E3F251BE3D582C32A9B770D5DB3E9DA9BF50A527B37DD41C425623F3B787
-7186F26937B3E04E291EE805DCEDDFA214158DFE50A3ACCD0DABAB73F5F51BFCA200C466
-B9A786E7CFF65F4B24C29D39A844A6F6D6BE41C298C2BCCC5CBDBF3C3B731121F834E230
-C8AA3BF6E2C40EBFFF4723BC0B2AC407B93DBEBEDD49CD639EEC65777A5B6F94B8DC1C59
-05040D8E4B205068BDBD5F812058D4D8BC2E16114D22D81701D36665CEC878D148AE79B0
-F67957B5505708ED3D98FA55BAB6FD20E2C8BA1C326F514AF29CE979DF66BF1F71A579C2
-EEAA176A3632CE7F136885EF3D530C15DDB59C28CC8E820F55E31667E8D8555DF76807CE
-3B37007E37A06AB32A21B2DD297C72785A88AD6F45784224D29241B013663073D8E1F7C1
-DD2BF95BF7C74B8743B31EF48655049EAD7BB13B87E648BF938059202183DD2970BCE1ED
-3018733F8E5B7EF9255A29ACF581426DDB9224858BB380AC7BFFA1DC8D2589A83FAF5ACB
-A4985D845B3F635046887AA62327FE0B0F020239E9FC7477821F7BD43EA2EBF1DC9CCF32
-FF6111507BF24557126C3BEAF30DCAFA051E3E9C26882BC3F4915F54AF9965505D89D11A
-562EA74783739F0C788D0BE3547F16F9BD13F96D861B2DAB90A4BD23043D588D9B583C8E
-15E9530D006DB4F17E0B4EA0A851397C4B781D707F98179B6E212A6FD87E2509B6AE4CF9
-EEEC87747374BB2144CE2E7A70B0F2C03A69493F9DD476675AF200F15EBEA4F7770001F5
-461B9079488E9FC1FE2EBC86DFE8CA2D2ACA5F746804F639228E813C8A1D1680F0A12499
-CE56678DFCF24FFC05C80F78989CDFB4F0CDA8E66428511E9BB0ACB8EC04161CC575AEA7
-522A229C75815C78B3248031DE073E0C5E538BD886F85555AA2E0A0456C2933A95E83AF7
-D16C8F8DA487452AC84487EC764A1A2EB1CC754F517FAD18C7F76769E67E3363D8881823
-6949A35827574BD65623CD4FE89C0F11AC2E050584CA49DEF1C513A8F7690652F963447E
-DC79D866F8C42EC7F3092DF52EBCF6E64D19E44CE1403BBC3A29C56CAFA903D315D42058
-A01E6124B82F1093A3027891C49FF06C8C1638563F92BA051AA5F750FF5F6108F6C0071C
-E9CA1CC669841592DE89A5383CEA9207C9DEF1A4FD137847A80630FECCE16A6454F4E857
-80A9B166DCFC50AD94E332CBC546CBC0A39507C8205050473351C6263B33FD705594E654
-06B19A80DBDD061D12BB89775D6BF4933B3FBF3BAF6B287A32EA01ED2B5B33C48715EF5F
-4650C9B92EEDE15F46DC093FDE463578EB377697703D7ED7C0E576001487567316B333E9
-CCD75BCBA59E69E1AB62F39D0546EE67FD4C1339A93E01951F0C2A38A994406406D2C64B
-D719DAF35CBB25BBC68E6DA6016ED0AD7E1930CB951C1CC22A8D82E144969FF25FF153F5
-D7A7A6608471BC31ED1F4B4E6E58173FDD83FCAC6FA079FE172CAB3BF667C0FAA4827244
-1445223D78002593602829313EEB37EF4EF8C96129E96484E36328213B9DD5F55B731167
-FA55DBCE903768321B2F375FF1323016F7A8C0B401BF8E2A983EBAC57AA4CE5668BBE152
-E1BAF5615559760ADAAFBBF1EA43703AAC9A74F21383017152EA311AC3D3F8762E1D8918
-887A0BD9E880D3C052A48B4EDEE667370097EFDE700B49D0A19F32AA3B43C9B58A3EC400
-DED3BA2829B90F54D8F0B3BECED9136941272DC0332FDDEAABBE38A0F8BE05287CB0D281
-DF55F4E8AB705B54DD026BC09E5831A64C728D9895D21E1FBD24D198ECD475CEEA216726
-E8BB15D4F8E946B5B097CC9C89E79470F0DEE451DB14D96C994DAFB07A0221BD48F79587
-DFC722BE7B360A93B98B42443494076BA779417DA3C17BFBE69B4B547A3EFAC6552E4D4B
-9B03D51C863CCB46A8ED112C0B19608879DEAC918544B43B4199B2C0DA7B318FF13E0CF8
-47612E7279C334F681AC44CEBAB0D6E141506AB98322FE9F41430E69FA2F482CEFD68F3B
-1280C9B6EA383C053F9474397E8800A6DB961655D18ABB68600F570C2D02E4750622174D
-6A9AB48B05DDB2D56D74DAA537A642E1FBB63E55FDCD54615D08EAC22EF484FADB9862C8
-6FE2E6C300A367EECFE4337110796C21F60F9CA9D034917B1C98FA45EC79DA8DCDB216E4
-A3DD97F0C51F7828743AA768F2E442D2264DE35D7F191AE874B856C8473ECFF241A46AA3
-C2261E74BAEC485E0602ACDF8FF0A0077E84E6C8330951209C87E117DC57D6018E7D4EDB
-E79E6F59C75D8D030B442B65B3513F74610B98C40E3C2D500D41ACECA44257F8E24B0B19
-4B6C8E20C51E61AE4F633F8586B52CF2D9438958C52F7DB15B499E69FE3BDC8E983CC34F
-80B57FE1279254A228E7286CE78E771BF9436154847370D7DAEA0D995D9D7FC2F0637731
-29E076BF10576E480C1D82C29648A2AD8CD36814C67045E4A67737C22B5B5EA48387D991
-E35B8DB9695290D7CA13B1106C6FFE40A6EFF1DAF1A841F3A5F75B68D441687872E91EAD
-4AE10D047756DECBFBE4F87262C2008D4ABEE51A0641AA309631D7E54258182E56901E59
-D1F6C7F15E8D3FB2CA70AE578B2CA08C65FFE542A479407F98D06F398DF54DCC16FBE30C
-67FDD4A3227238EED53CFE2AE0088A1E2F9AA08917947C4CF795D3E464D55987C4DFD14E
-EEE7C9EABC34C4F4C77B56C8E486BC35E38DCAB4E7FA1746C5854175AF400460BF82BDE3
-C9E066F4ABA7E1DAF6C04035AB86B1289E3702FF3DFE4FA431238AE487D486150A1C52D1
-047B1663D12962B478BB1E4B750FAA1E2A09ACE4AE89058F3E2B928167FEF099922EA552
-6435952A7ACECF1650B319BB3BB8734F9F54696B556BEA7EEC47E4A77D81280415E02DC2
-3F4D9A73F44AAA9646671EFEA5549FCC9A5915239DDA6E1C872F742B28A203AA88401DB7
-00C36DD78CEA2A9293E8768D5C59721D16A41000A2E1B230DFAF4A1BAC797DDB85BCC5A5
-A38BE413D0270D7259289AD4788D1D9769234BAE6CBA1DF835601A76CFA75C005C0EB325
-6A100B43C0AC0D0051084902D68F0517C91EA5F4161961644230055C97947D5756C62F12
-C550E113B2A88EC56345C965D81EDC09F62AE036C18AAD798250E5A0A07E607F3E2D0ED7
-B889CC2961339149DA012D74F290574735CF2706FAFF605861571D78FB92A8CDDC84C83C
-BEBFC000D43211962C578111F8FB8E8506EB1871A518CC7313242FA11F8D51BFC3797637
-F5E1AC8EC1435B36D98BF1BF34C960C6CE650D5115A7A244ED7489BDB7F6514BE25372F0
-9E3F378CF95A0E462C0E0E1B4E84696F1977059079AA626D0F441D2CE7F4B52A49B14FA1
-19762B9FF8966772E936F0C6BBB0B24F7846FA1109562BB57A995AB8DA48C9EDD5E90FC3
-4C51EE9DFF7A2D4AC959320FE10B800C83E9B83FC89FA220F965DB0495A4EB5EB1AA21DE
-5EB75C0CC0619C9C38F942CD525ABD40EAC721322D47D7117D750325AECC9A021D1A12D9
-D439AFC0425F9046622EA9F34FE1FAE58C428311D62DF1FACA2127AA627E91F5063FE47D
-F727DEE5B989E1D4A89B900FA7A9CE3259A3A86D966609FC254CBE319DBF40FCB0515567
-A54AFDCA6CB575C49E893A136D1680BA06CD3C427E1D1DD707AEF67C44B89A4CCC1F40BD
-64820463144AFF0DB7CF78F08BEC8C7DB7356EBE85A0DFFAD4D3DFA0F7F4AD70E7A5B49D
-9E51D73AF08C7B65B9914071A837733C0819ED07223BCEC52D623D29CFC3463233DA8E44
-02C013306E90993BB54CD78043BFCE18E490443AB6D7567FDBB9C5ED761968B39DD21669
-EC5DBB5DC7205B279B3095460CEE2273600AD169C649D846A1DB9E6524A7FD5D9EA9C9F1
-A02CBF4D9874ABDDCCE5F70F7B3F408F6186A0CBF83EC8A342D7CCC022C55BCB472D5896
-069976044EE83A88622CB1C774EA75B34DE55D618E7D22D50ADD05328B59F9AA9B683EBF
-4741311B7C07541228ED36A71F9175F4D0EFE9C11B0AAA03403F1BD623F43B4E8C8A9E5D
-8D2B43F240C89DECE40B79C64DF6FDA815F08D51BACDD7D6932B73F74A3486993CDA0834
-3812F920486140EE379675C07291435631EEB4E03CB5DAB603EFE0545CF4130F9D7D421D
-5114A4FEE9E4B2897BC6D232ADB685C55EDF8C2A8C47814A38B8C7BF34FB777360449448
-90946A15CDE17EF60BA40E77DAF5BECFDCA9A09FFCB93D0010A161BFDD40EBF7605EBA0A
-50C3BFC9B8A48CFB895FA52EDDD86221D6EBEB0E9A3D8D0F80B88DA1B8099DCDD7703C53
-0C90F979DA5A2CF528B610B5645087D2CCF5D8F639E420AACF09F97231C3250DEFF28978
-43F44E473AEE74810B77D8449877E45AB5A30E29A4E98CD78F57A47A195C3CE22A5BDED9
-1B3C576D10D7467B3940542E70A7DFC92F4876E384131982D7680FE05A5812C80621EFC0
-A2F0BEA16B3D4D9C07B8AC4A540C803246CE437DA13FE610EF3211F81CB7801C642279E4
-9CF563ADD932DE6ECA45918DDBE97DA17B443C7BA15FCF39D91F9C4501B03E56B9F6DD75
-F3A47EFA6B7D9702EDF6C79C9183F37DFC805E5689F27B53D5487767B276AA037A210C02
-AE23A2C4C89E6CCDD49FF5FC857B2E8B8A9976C238456D000DBD35B00A9401657DF88913
-BE616D0800945CE1404968E78028B727B6DB6547F5155F4C5E0C97C3FEC8882EDFEF555E
-98E76A3BEEBE09DBCDA40C2C35BC1A8C7A6B7812AFCB1468D527F723C947F56B9B1B4A45
-BC11CE5C3CA9D950E4729A242866E226A66E3D8F71D9AE73F0F8740E2974CAD28FE613C6
-B67BDFAEC416CF799EABCA17EC183A0FC013A16EA73B5156AD203C2D07898D20AC23D03E
-C5E4534F153440C72D3DB5DAB3EF1AF626472D039892379A39E894B10BE22EB8296E209A
-8C823E4999F6BF0A1D3CD90825C752A98AA190A2E19266329A49014C772510AFB6B85D23
-FC3811B1BE5CACAB09B5D46E3813DDFF41B8ABBF8E8ECC2CB14D48632DA2E5F5F748E14A
-8877B8E5F2E2621014B93A7AF3113E3A8B3BCDDB1CAB7E7FEDEB79E1825E27151E7C74B4
-CBCB8B40A82F1F333AD206F18835FA8EE49BAF6E22E851DF09857DD303CA2CCDABE607FA
-78740F70DD481DBD1EE04F730B5A3762082B1B47E69F39201D42A8E21F0F48CB5EF716F2
-4E3B4B20E53CAC08BF494E71495B4E95E46B6AC1802F01DBCFA8DBD1A3ED82894A5DC263
-700908A3AB700075586F3F3406496A1DBF40121744A9A1C51D3E135CBDBB5BA68D3BABA6
-21AAAB308EF3B0287A32AB2E584FECA9A3E00E0A3A7C038C225C51788C3D13232240EADD
-63C8FB02A0471517FFC82E8E2AF6AC526F0A3DEE7726821ED3627638AD691FD4B240B9FF
-613B72C089D11C22C610F9B9E244EDC11BFEBEB5B1C5E4B4A4362683363B14FCFFD748AD
-339C432D31744B43591ED1DAC1721A9FAB9DA2B016070D89914C0EDDA9EFC894440C8B4F
-3CE96EC4DEFCC4C57AF0DF67C40575095323A5D73D671D2A716A787DDC6837A6AF455F6E
-B524888B98EE8E8F48FC9443899D3CC6FCF6EA214CF462BE414302FA0B39C1DB687B5186
-EC46781405BED3DD98FA23D796D197E9CA2287D4494E876F8AE61898792E3794AF5B3901
-815FBC50E7876043D1F14E61A6F998617EB751C113739F035F4E9DA35DD53DBAAA91056D
-1EEC865258540B185DF50A01862EED02EE626051FBAE63DF6D94666EFAF4ECE522CC8066
-EBEC91734715C3919932E28169F49981D7316E982C287F716FFA8D61B939F8A47899D57A
-C3D845FFDB0F21BBF2AFB9980EB0D4E180B4A22A902299FCA5B157AF5DDACDF2C9DD3E58
-2AEC6BBC869919860893B9FCFA4881FF8AD0D10066CCA51A0B63D478D1DD7BFDED04DF2F
-58186AF02494A6EEE99FB66AF9F3B7C6A9E1BBA52AF2FA10596044F7A9D4B0CB337AD6AC
-5BF8CDBB69390F7536B977311C6C9127F26DEE4378A17CC931587F77F14DDEAD5DDEE1E8
-B57FCBE1382D9529880BEE3DF9FDDC6A3F9C6056988E5FDD101A54459F6932133871851C
-4871EF219571A1FC43A42BF14E8B029D8AD6EF458B59057FD6BA634ABA8D6C11EEF4BCD9
-402F47D4739BDDF22948A9D5E7754F621D27565CFC92BEBD62555B12BEE04955923A9E8D
-6B0C3D336E8345FBDD40B8E7C9A43DB83A895EEDDE6211EB1360FB016A9DC23F5055839A
-9A71775D8A45056735F14F87600916F187A53C323C86CDE455356176FB014584B4A04126
-3FA11150B2DEA71B44BB130243973600B3A9204C13304853D33A15CCC111C0F08360DA8A
-A2C615A72FC79C1B128D04ABA0E92A138CBFB37253EE80A18BC9D92B5845E895A7DC4060
-41AB37F3D4827254BAC860D6EDE8C5912D8DAE2F943A4430269FC9F9894024C73C90D77F
-0FC81E16F618BF7DFC1AF1CB2EC0972F62B30F5B37747A8AE2C7A2C7C34595B8F1DF513B
-973BE2F1ED822FD4BD7D5B07BDDA6006019700257B103BA495F9148012C4CDB2C3180DE0
-B395BCACDE2FFFBC1C64DA5D7ED1738B68AE483E5007EF90C9A770D73988849F2D2D6EC7
-734422A7D0BD41042988E4F215A81B4D2545A2C84A1CB218825221D3E33D5D5A2DA7E91F
-90B275B9F73571286905C58ACE35E0FCAEA9A9BAC32784C8CFF609B09114D6836AE6315E
-4943E9AFAE0905E0516603C5CC2C54C364CDF9282DB7BA8DFE921D7B4833C48A8045A60E
-ADFE47F9E1818BC4F97657007DEEAB9DCA84280E3014EEBF7D4D0D1DBFEDB072B20CC4C2
-BDC4414DA5070757F4EB8F65B1DC1D8C934F9BC20F516A9C6295724DCAB93A9CFB0D75CE
-A6237E7F225DB1CBAA18C679E2C6F0121FC59D090E5DED3306F50DD0F92D5D9FA2003095
-CE6C5157C569F3E5FC02D4F3FA115B9B294C74CF95DDED62CF1E5490A6FBC97065247D4E
-23D1E39B0EFEC6663C27674AFCEFBEA9E482909EF6B6B8E3AAB9FC169B0DCC8449B50A08
-221406F001A4D140579FA9338C675DAD54E854CF359452C07D07EC05F28301D94FCB46DA
-0D0F5502DB24BBA0364EFF694A7F4E86FEB6845CD59493BCDE8BBC61A30FA209B890F097
-5600D91FD896E6E0DD0626B4BCA3487AE1C577320E0C251AEDCB44910510CE89CCFAAFAA
-CB88770FA29636576011B67C6FBEA6A310AD45A006100C4473E844ED4DDF69341BDB9FC8
-3D37F678B9F7A2BEF245F823186C56AB3667795C79EC85D68B9A34E9779E29889E67DF20
-26B22D42C423C1425A678D8868543E96DFF0EA75C3666B0EC85A015B7048F5ADD08EFB1D
-B674AF6D008808168A8EF8EAA7D43F942043F3508D6AAE60CAC9C9950B81C5ED863B6653
-0C98AEBE1942E63CBA37FA6E02DA11AB27F8579BBA5220635D424AE097A88C830B3D42BD
-6B7D89F6F40F63B362E5215373F943ECEF08666D86D2D3AF045EDA7F9F796A5522608F6E
-3FAD8953F166C11FD0688B127AC306770C934311A4890C48ED4EA8D12D04C5E2FF9B6DE1
-5253DFA7627F3600C89884B2B3861B364FEB31805A1D91B95D2DAAE9D16538DDCB94EBC1
-23F63ADE7C1B9D48E526EAEC0FFD822160DE068723170F5B753B5C10A0A79CD09ABF1E96
-A8811EB377BA65F37ECBC966A054A65FBE686C3BE9FA4573BF86865A5D997FFB690841A1
-F273016436C3D76351BAE06BA745BF00F27428B1113B5351567C9B254948D8A91F6927DA
-381F993B0F941458CE5F5189091A65B5D90FEF01051919863C47FB4EB11D18CCF8E5C8AB
-3E518A0923BF4AA13F83BB3FE88A4C3D680B7FD65D649E0159C6C9151FE7959E77699105
-B8E4E1B10C0C5B56C400325D32EB5716BD0FB13AFC7A424222B970A894C7D33BABF63B59
-EF13538F526CEA62F5856F1BB23A00D7E65220E5241D7EBCD0F84C44ED3EB468DA011023
-4358E69CB5AD8C0B53F2AC1D014358CA2C2A3C901AC5B2850DF73455D690D3944BB641E6
-995053A40D4A513425BE0A17D619DF7ED39076E9FF9163282CBABEB14BF7E4A49A5D93C8
-69B9F57C9D86AAD074633AA533F5734F2B98B0CFF7ACD4726BB1CB239032FBA59B3D0FEB
-3F3C169C667807380CAF379766B5984B4CD3D71975B62EBEFF09056E62917083E35CAFD5
-6FEB1C7A89658F46733CDA47E99797EFB6E48332D24C1B9766F92D4D4AC4EF17CF6418BB
-CD0694C26CD6B5421AFFDC33764719826667B6F88E604F982049D286A35B5EC47E07605C
-A8D53448C6A436B183BAD32E8138CF289C5D0ECAE1A2818BC3CAFA0B02C9097BDF043F15
-8625F6B756D85C81A4B42865A4AF790BE63EB95C72BE08598898E801FABABC845EBBA1B4
-4D4ED41CFF1CD460612F8C2B249B1A206656B2CFC3910C57465343DCA6DF0DCDA3F6DE56
-8D6AD6F83DDFEE9DE523EC0BC45138BB80B7315D894B27D73C4C1DC582BBA0A8917E2E10
-F94369E0A956F61EE11CBB2B45ED6027D448538B36C471D2D3BB6BAF447B60F6023F55A3
-24A5C71573438FBF1A7B40A746A73F5E1B51FA3F38DC9A2806BCA0B8B6817B1A265826B3
-27D425929BDEAC8136A91329B43EAB1AF325960D105915D185E0522CAEF00A15A2014F6D
-E29C3093AFF98028F5061818F8783B37FD1881ED44D6516EFBADD5D6B500D5502BFE6A5D
-908A07BABD50514A1484901A51AF83C338624298070D04C1DC09D03E565C7D25726E37AC
-1D1A9F5DB891126F9944BFA1080C7906A263BA892363087DFCBF6B92D9AF9CA1D7781A99
-9DD794B3385C18AD819D9558CEEBC46F9097E9B6CE6A00F1BD43C98730CB80D48937D0D7
-36862809C16C794C4435B41DFC392291E699EBE1AA54537375B6FBB27F1230B77A0A05F9
-2BFA166CDB8B180036DB3F48E4851A538C628C8D5D9CD556317A0CF0E6C28183E07249E6
-D6D47F35F1C3220596EF0CC1F0580ACB2B029B5A5B0C10DAEAD5D3F698CFEC641F16D80C
-0225611726C1D8C4482A00038BEC8E0B9EF7263C32DF0F80E01473C41307FD9C10742079
-9F2E0486F5C937EBFA48B7B61DBA9094AFF525790B61C3858F76685675BC6ABD1B9E9A8C
-A17C98CF85E49D6CB5A6B7CEE52D67EC249CC2681F802C06FFC639BF3A0EEF23AE39AF5D
-C3E77F63D07EC30E4B3E06F74E707DBDE5B6DC0DC1A9DB02ECA2FBA6C87CDF278EA55812
-40495E2C138BE9CD3AE2A1A427151A5EE3CDCE28421B137B1427CC48EEE8EC1355B48FB2
-86F40371EB9DCAA5E163C65967FFD4FBDF7B358463D00AB081ECE83596C2EA2F3CBBD847
-6D6EEFF31FD8A0E3CF4B6362BE42331CC2737891CFA525B1CE62F2FA4B1F2FCBA54D0452
-B77579DD1C56DDDD6DFB2DCB816B47FEFE0E84D3A19FEAD6290FBF751BAA095C068334BD
-77F0F04DEB6443DA99E84D250849045DBE0ED267F2789B475127E6C57059359EB08AA04D
-3FCEE5B1E61EAFD90B19668647CC52FE842FB9D5A58E3E50E4CD7A2EBF1FC9DDF4CA4B0D
-29AAAFC8344627C9BC74C49BD24774EB0CC6DA70B3F3BEE134F298528373CA8B96121B31
-2C5D02525A1166E8A644D04194DF8E1D9323FE92DAC4833CF0E08C716716069AAC65A421
-142B305E97E668A32B397244555BB14653C18384550BB417C05EC9343BE28E62845ECB49
-AE6AFD50A5619CD1F5779FE6AE1C2A2C10420F0E9426AF4614FE2E6E925214E0ED5C6133
-E9E44ABC962770A4E598E8D4300F9C93CC152C5067FFAE77FE9A171A5E463D1E9E5A332A
-564281F49055D0A99F49A20368EA7C75285EF8215FC37FA69A66101EE4E2E32A1A2AA753
-8EE3FAE3D4C31F96C34A74677BC9221FB904F777F69D2B85825E09C8BEBC973E4AE85EFD
-123507D5D428372188270978D9C7ACEE75DB5D1F1E2988832870B7EE4F5366DE20237EF3
-E526DC33E2A4FA186A43325779EE8253D76DD1C4FB007F1A2B8E0272334A5956C488ACB1
-1D09C8399B4181B626636F6EFED9A5086BDA64AFA3677A48D13464C2E0813421D96B08F5
-F3B7D2CBF5B2875A1C217F4677B026B21A07A8C61140B1A91D552A1947952448D7492460
-FCFAB5A22A7E9BFC577ADAFEE42FB8C0EAD717071E54493AA7BFAE960641332AFF9AD94F
-9FA05A94FD5CB6014FBC8D274ABD58DE566F621672550D2453ED92AC8E317D6D28F5A443
-D211A3A65005F8A18006D2EC7749AC8F57FA4142BDD1D62EB99A2C4A2EA448AD5DECCAD8
-7B54EE483B40CE76CE2CC0239B0B50C8AF29E007A10FADC1863D9844B2380052383F333A
-29A7168871919497C878D7DDFE5D22667C51FFF6C2926B3D219D3A3C02EDF6A9FAD14E90
-90D293156E00F6292F11808EF0E73CA26147998707EA4ABFF7B77A5E29ABACC005EF74DA
-D402BB1AACE7CDFA12F93421506980C275BACC61B292DD800E07E1D640A187E73A0B682F
-0005D5BD5F6E53171C376B1573B9F1FEF247AC3494D828991A9050C2B85870A9C2E08C14
-A92632C3553AFE16C771A3FF2DE42949E1AD0665A0BAC07C8B1C9622873C54DCAC6D642C
-1F050F2CF566713BC4C09E28AD0E7CC6986CDCF68D5D8DAA0B20B6310E4198A1B95BB262
-7B1816093B84234255C361928DB4BC5AC3A67A487C540394E833E3D879B3C96ABD4ECC4C
-95FE7718D1D6443C84458B694AD25EF8824F947569C001931C133D999D6DB574698BB17C
-B86246A3559E4E4EFC079D0BC9FBE3A8668DF9311E7EFFE4316B47C4982168D69331CEFB
-AB51A1BE03A6C2CCCCAFE7BFA2A836AB5819FC8E18E33C4CA59955247D0EF9AF810141E7
-B60D58D38A2A5F4686C1FBCC929A2601EEED2A4A4DE9AC90F726F1D1A16BDCCFF5280A6D
-52B626B3D927E606189991FF548FAC99C1DAC6B894B4BAA370678060B1D6CE7D1F74E251
-920D7279E493017DFB862ACA5BA417A9A975E4D6736C2DEA7418CC1A07DD3812BBBE56C6
-F3CE5DBC16353009E547376D99F03FE9A087C29A1161F2629D00206C219300B1D09F4BF2
-AD8475A269466201C57EDB25D8A458E4FF1424FDF09B1879F5AC6512952D56EA719263D6
-F8BD77D3B5C04A2D9E27EEF0FF3F42484F667DD1B3E483C45DA8057AF1C3746820D7C663
-5C363BCBF2106DC618AA1F46C34E9562F33EE3D392A6072FA236BDFED8D8FFE526694AAD
-A68AF0ED535F0E1E2CE19ECABC2FC66ACB07E44FDFF7111639117086B1876725BEA99E8B
-D0CD8055DB154A8A7BE4165118C104A5C1B2629B4C948EF51A68C7A3B5ED70C2AB40F0A7
-53B75AF07F4248699B03A7654C366AA3A25121D8590E787FA902D5E29516BAD7C842C649
-41EB1350B2BAC0E28946943E0D5C227326D7B1C3939FA481245B19E7959B770DB9355DE2
-E5B6FB5F66E273BB9CC91527F87F35E95AAD29D867A0D35E9E6B1BE8F1EAA06FDEF2BF33
-E694D4747D525AFFF997EC367C1E1D0B55C2146BBE47581FF99824269E43B795FB02F80F
-83B1BB3222C6A48B9651325E4A6274BE9047DABB7FC9F85751DC9239E82CBC5ECA22358C
-8EB9DA76B9CBF92894268C49CDE4F67B6299CB46FAF1A8E42FD584BA74C47767613325EC
-95CBE6A43BEA5FF97C7C2195E970504893EAC878AAEC0CC2E86CCEC442DB62FA15C4BEBF
-35D8AD91711A689415A84DA6AD6D1E2646E363D143FFCE360B3E9D282A84559B1202AFC8
-41A603E80631FA5F1914411B13811ECAB8CEF64906B0361F5F558A22026F46FC88A389CD
-E0B23523E884686C7D4D9FEB4C3D66BC410E2111A73988E73CE96CC26A9ABAF3C860D8F2
-658FD13A44F3DA9B5E53E348FA51B64299FCBF16D16E07CFD4C5446614FFAED07FFE9E25
-A10696029806CE3E23582A1FFC5B83185A0411E8353BE08D7AC131E2BC7B7A8EA6B36653
-82B2C4C217CA8A09ABADE43A7A5249643758B7FD0CEAB8A9AD8E8ADF1A9D13C2E5EAEBE6
-D29ED3734EDF200A92E19490CF4E42DFEA28AFEEA7FEBCBEC1645C6A101B51303BAFB113
-8D90761074D935F9F553787C1F653FFA3DE1A8808D185F38D57DB5E1B16C1EE5B1385C4F
-3C9FAD7CB2460DEAD9DEB549303502AFF17660B9330D162C891F1039B68ED4682BE6BC89
-7800F158A24B07539CA9CFC6324D52054527406D915BC0932F1D7A86E2FD1F649386CA6C
-6E27C50CB7A63862D606CDFC3ED8C6328A756AFB01865C264FA74B586E5A6D34CA48CC74
-24B5EE73BEACE92A3A4D97BFBAE51EDC60643B8FCF024EF05E263C0BF15AC37665BE3428
-86F6B507B63463EB2DBBB5B2EC5CA4F227F9D5CB0124BDCE2C0AB3D4358273910E916D43
-6FF95985D564BB420489DD1A0919C8100EA03EC5702A9925C68C86B4972C118B04016533
-BD9726054B7B563BEBBCD62CCC5A08F133ED0554872DE4188F1F15D52CB5592B1E35A319
-C6E5EFBC10CEC89E9DD78884E18FBCC408378351B276FB389136ABAC62515C1F5C3D3755
-3E0FF12DC19621DC4E6C148FC4F56F8FE32CDF567DA11F80ABB91D224D4AA7ECDA2A5035
-9825F25B2150EE449C101935B44549EB3E6830D551C551E1501D7CE5B3968B770016F605
-8F0CD392393DE4576167DF1061732E9F7A42464610BF841387941487AB1BDF04AD40EA13
-90A50F076215B6DBA43231647418BDBFD39FB143D43E0B8912F36348FC7A1CA96DEA49AF
-416D8A6CE75EA49395667E19CABC2B8D43543A488B130A2D85386518D86987BDF99A26D8
-B4EE1E29A4BBB8AD0AD4A27B346FB5F9E8E5F180F0D5748FD98A64715954A3125A749A43
-EA2B18CD4DAD93656B8FD9CE27E5EED5BBC369C060BBB43B4038ACFEAE8D437A354CC373
-66B2715885DDE1BE0F5DCF688E5AFE08E163264DAC1BCCFE9666B01970F2F16B47772ECF
-751055380EF0002FC3877CD3F89FB0D9E018A6541FB71AA3F6CE602C4DE2920386F01185
-E2CF256CD8F8EB24F460270B6CB8982C46CA5E58566ACF504EED68FEB0255B6D58B33687
-551FACECF40487D58D4DB520A1BF372DD3B66710DF6224E9B6D2EC15B31EB4E41A6CFD53
-42E3FF218807059B0EC60B96CA5F9F4CEBDB3ADA79C16624824F479F5FFF981B0E109BCF
-8C15D2254FF75BCDBDD4AFFB96CEA4968C38611FC2204054673FA7AF01DADAF779AE58E6
-8600044320439E79D45D56352B704E5F12E56ED1788E0817DB76B80F134C9752F0082CC1
-D4205003C0B2E73BD54138B10E0A16CB57A0ECBD17DED50FCDF7BDD848576E87868A911C
-C5F0B1C36BFDDCE813366DED05732C46C9DADA44D71E94C3C4A5030EF7061684CA509C70
-8A242B8A39D649530F379E81A1F5B4456A452038BE180E35889AB052D14823392AEE2379
-FF3564A86A2F50AFF40962F665F3C005CFF6992FB85040E6601D20135D7227F05892F344
-2578C821EE1F00E68E0475C0266FE10458A18634B226AF224A80FA07A1E3A29FF6AD2838
-CCCCEE4E5E9035220AE9F53C02DCA89F00418FDF632653C5C64BEED2209ED102489720BB
-D735B06159B60BB162997140BB6AA99CD063B94A7DE5098A8CEE9A1AC5ECCB0E0D12D399
-27FF2FF621919638D4205E39DEED766108D63938FAB0DB2B2C9D1BDFCB14517C7E98369A
-7BD3E31ACCCCEAFB954D92A22209C9E825CB38C9B5A529823B0A85BAC2605864B022BE5B
-B8DAA6312E8DEFE04593F4E8D0284DBBA42CDFB7C189F280FF48B79891EEF4FCF59A413B
-7CFAA37EF7A154DF78808E4AB8CDA33FC51F6E389227BA952469AD2D7BAC328342467482
-FE311D122B9AFE8A16E9B6F5551CBEE36A3EADD5FE7A524A556F3D7AB3217FD8C574DF32
-083E0D1EA61A8E01E3BE1392BD2955486E289C3E1727FE71C50D1B50E4B7D945C5555851
-AFE225EAC181B0EA541AF40AE45309B4BE2DE1BC9B36E0B7849D0844330F3850572B3869
-FCA1BFDA818FFE1CB7095423D611D85890BDAC15318028FE9F3033D1DCAD9381B9237247
-D65829AB81AFB878C7EF54CBB6CA38526AFFF404662434D7714FD8A5D0800C8FCDF69A5B
-A6938079F41D08E80746259C7D7D24E149E2C55424223CCC1AB2008545CB8C5B51CEB8FE
-DAC374E94A7836030F536F34A55352ED405D9C31AC2F82FF072B9B885968D534C9792F45
-1BC48E942D28CFF06246597246776530F72392C98D29CCDDBD9063EC24D559437B844430
-0D2D742E08C0126F4116198C72AD9D95E83A534A6D353FE873038825687C3AB0281600CD
-FB2558D70450E14684F610E144A7568C471334FBEDE0CBFE913297A657321182AFD4045B
-D5D205551C6F9B904781B32529C2AB0FE1DEE6269CF6009203027C9425262CA5AF2EB250
-493B9C1018F2907DCC656816D57FE4C987CBE7F7F1BF0EAF8AA40E23B456093B3DA29C21
-5CC7F911ABD9ED34866EAEA9E1E7998C4126CB3B44F7A8075C37640E0AABFF1B9B0EF003
-96A9CA8999EFEC2FDE533584B5F49BB4DB1E121B581E12F2392E7ABBCEB56B35E8D0E507
-980457C24100377B95668B167C6E5388760883BB173A6993A88104A3E08747F1B75F553E
-65E448C8188A3942182FEF0593BDFDAD67691E125012714A0B4A61F5E918980E1A167A32
-D7CC3D46435CF3F2A84458F309661A2095792F79D1CA6378DF864A308E162F1D8B35CA85
-98045B55B19BFB7D18C05B0216F5A7B75167E7866537F3F8F6BFCEC95B946B4AB1B0B015
-E45ACFBA6F4E24FFBD0FC639591A95337ACD84FCA6A164857EAFFF41D00138A582E321A1
-D6205B3E73E2A55882FD873FDAD0F9D205D47F75055FA3863E5210EF6A56F8D12397E3BD
-EDBBF54C8A328E62E03BE58D301B285E398A7AC55F6E08493099CCF7A70E79CA81E275BC
-86805E22DC3126C98916CC09B06CCCEEC5B66469CCB92AA21B71A49A2596076818B17ADB
-301590C5CA8635CFB881832F8621E6C15EF5D59F20F75098FBC0A7E79690CB5CB3F746FD
-D8B0A8B92AC145E9303ACF6FC91820119325FF5D8BEDA62446311A73D89739E628B907DD
-AD9B8CB60E076AC1092DE241A56495D0C1A5EBC43888BB8DD087BD6CDF38E1DE93630923
-CD7F57AF1604A42B70D2E073935E66025F44ABB3E8B620E065810AE1D2415D7A58175D06
-B7CB4C211499F9F9EC43B92C3E93DCDF03699D731DD288C1651A62A25AA9BAEB1B79AC89
-974C233D6ABEE67B4729A746A700348845A42953CD858ED53F385288ED83EC2B54C2F416
-3D4E2E5011485D9293567429D4BA52F1F4CCCD80BA8B59B501C629AE567F24C3AAFEAA0B
-4612ECA7694CBDFF876C3B9B5391D6EC38DD10166C3CF3CFEB02DAF1EDFB661899D3EBC2
-556EAD791F18381618D14F7B7B115A35DC0E8E282B8D1B4C9E68B09E9C8589837660444C
-89E477BA7BD0CDB39EA9FADEA33A9990458A06660A30EDB737BD11627B68DF9445A34D4E
-4993BA9E24CEDF0FD6955CECA5C9C79A340AB31096FCE9FFD84B2F49C8D504F55F413860
-7BC83217782E1A269E662DE79C67506F14AF71EF7302282256C1894AFA5DEADE51BF4222
-F2D0F1F4FC1EA7E128D7645E07941187D5CF65EC19667F2D204222C6958BF58525124ECC
-17C02EFB44881DBFC89A8D5D73A05295B71AD83BD9C54ACF1FF0C542D13DD9CD6957078B
-FC5F8A0BA938AB3466F44919BD38C5A0B14E899208598792AC43F532D41C6B8C4393DBE4
-472B5339C02B620F6D49C0B0BA93BEAC6373539881206C1F8E5A0F4241D0116737C4EE62
-575A47D79F1DE2569516D24FCEE9B7829CD545FE71D3DAE6FCE4BD780437E597F5849135
-D69B7E51E2D6A83FD3A8E67FDB1825D2A56E4BD7D6ABC291D052997EEDFF0DD618211607
-1D1CE4B60708315358C989BDE51C97FF5F2B2141893287F822D6AE440A811FEB93E0E600
-AF51552FE111FA4AB014A89EF562FA552A8CFA6E5CFBE95D81B7E50C04BE883DA4E460E0
-83438DF33E15F8D759FCB651B18357B40094736416124FF1D59B4B7BE4940CC5875676CA
-EE4A30F059BC59596E693595CC889B2627B3392C5EB267863CB753908FEF7712BA9ADC4B
-E47B18FE8807AFF106669E8EED7E0DC5AEB3DA3FFD8AD8D8B841626B800B5B82292D8A56
-D5E9FA394EB1686C441CE523407401BB4044C4C5BC448888BF122AC6D703AD6333EABC52
-C999312CB3E16FE4FF2FC8859D8662CCD6E35DA8B02BD22E776020C3BDD774E9A24EB72F
-7231F1B9B3A096E4A47AF15B4AAE20946F8358BCAB1D5E3FF566D361508DE82D46038A28
-BC879A9E75016FE30A8AFBCB1F2ABDECB4ABA14CAA2323A5DA6C57A712EC6CAFB1FEDF0C
-235E50B30127F62CF88E77362F6CCA0810E29B35EE5B7BB29920BAF6FFAB5EB3FF5377CD
-A310FBD9AF79001E8583748164CD7C4138DCBA043B67CA3993C385B9F054585517E4F73C
-C5F63F46F78235501F636BA4BB41BD0CA9BCEF79F0CFBFA446E09EF8C6B915AD718CA59D
-B97A78CEA2195C968842C94B36EBA1F3DADE4872E3FD7542D6E477EE9343CE5F801BAE59
-CBE5A2F66DA2177389308B526493A523A9496C7C928F021542A1D6676CB3207979AFD6CE
-2E4B37B3E3621312782607BE9F9598D470564F6C3E502FA2067C1DB36C0928D7491F5119
-72EA2A488D3A4A0BAAAFC021FC89DEBE05D7E992122A5887ABD7C88AAF0B12E3A0E6457D
-E7BDDDAE5C4449AD3D0EBC9B0BA6C5A72C2EF5048238A8595B33F570FE36F1C9A3ADC38A
-1EC604428BECD165520FE81172BBD2DC01EE2A923F88DF8A6CD992DE1875FE3C122B42A8
-2F4CD38D5336DE782586385878CEF7124AF8454C75E92B4AA8786F40B0414497A099F755
-F1BA0AB892066BBE83E472880AD336EA7012100B03D06E9BC9904651AA7F93B107EFF61F
-6A2F7CA20240BF1D3E83B3256398CBECC74F8882E40B3E10C0535ED23A8214E19464082A
-DDF3F590F9CBB75F06820A1DAF1DBBA19CA4D57B7CDB841980BE2E879E8D83E74FBB3EF9
-7D644DFCA51DAD4F342534160CF07F8822082DF31D8A6282711D849DA3F583B32ACB48E3
-0C130028571B9565E61BBF8253E97435F60AC0C91934C5A3FFECA5155B25455D59C18CF4
-66AE7A467EB5799BF2488B1568340F368267625F1ACB7FA34A8E582B0528FDFF256154C2
-F4F2D0F61A03D13A58E01548646D6B4659B4613E83476159E8E597546BD1F7902FD0DFB1
-71390A36A8389E25388391BAE75567201CD1A6225F774AF5E3132222EB969BCE588E1E18
-15BC60934C8E132627D342B1F7D780F9B5DC657A975387202EE08E957F3D123B4C115F71
-CA9CD0A5ED37C7626C8596E9A4DA7FF5A114A85E545F89C3694F3FB28A5224CA6F930538
-9B76D686F13C370887F75F88F50C98974857520DD8806736D034C188403234F1CEC012A1
-17F9DC0B03346D88401DFEA09A28944CBDF75E79EC6B26F204CD6D4F7CF02FB3066E7085
-BC35AD0CF7CF47AF38524C05B13E51A8BECD2B4EB4E9AA3A7FBF08A1E71A61B2ABBBB10B
-714A0E46FFDF3FFEE96BAE962C10B8FD824E700E3ED94FBB1E03AECF77CDF572F623ABF6
-9D1AF511F65408CCCF16BFB2F1A0895D5CF069A78A3ABF523D4053F8A4F6DA0F3C6247A4
-5F2F6F21C964B50EF4615BF41283B6C655E55397A6FBC23249D306151A4E5F57C26AB256
-345B45B3D81AB1AA64C80F09C6000ADE9948C42E03356C0377EE74E17281985B8ACBC958
-EB9289159091E36937DF725063C434D30DADEDC3007066C7302D0B12F8CCCDBAFC57BB30
-261918964E42F08D1345D4018BB1E84E31B0F57210033C0EF479D1ED0AD35CB7178B173C
-6AF59A4824FE5FAA88AA847FF999B3152F7C12F7258F7C5DA155B8BC0F166D9B6AD20188
-3154BFCC9E3B9B267FF8831BFB906C6CBA7D05842E95129D60B562678A322B94BC988601
-E8E32A6C507F02005BB1CB8B220A6903B4F621ECA9FA513FA4ABA25D107A39ADD5D32593
-5D8875831F02E4556E6EF278C01E8A7FFFFCD1D5EB4689A2DD86D291F473120B984218F7
-DBCFD434EAB3EF19D1A67F4EE9D239FBC0BAE239D0C634D29950EEB6FC06F0481A10B225
-7B80E1F0395CCE4C4291A54A5154FF1B0896D2E0CAF112D0E534F014FCD73082FE9E8A67
-ED23FDD4F7C37651FDBEDF999D44D9BD7D57EF6038598BCE94ACC2B6C0BCE60433F834E3
-524E3FA6028B6D5DE7631B10A2BB1C77BAEE351FC7373C175D3878502C2DC5D40596ED3D
-8940052DCDC8EBE7F1853D85B06AF9114FD739E558F0FCA26F3817A990605F9C9807F900
-A18C71248300BCFD22D7857C390431356FA4BF993357647D9A094763D668B7908CA93E2E
-EAB15E34E48B1EAF8082C6FCBA7DA5E9848B33BC59D6B50C9CB5108F3C356A45A854338D
-81881FC425875EC59D361ED95CE99FD7A279A807671C8141A000A5419E8B9549F3617114
-6077CAF18A152CD041F94E113DEE2932F1AD09D55359B7B39F4771F15521DE58C311D143
-AFA24A92D36037968DED5FA71402B34442F9820F31D1C608124C2B50EED276FD06CB04B2
-3D0579FAC4ACD7C674EC5E6527AA352E38B35B14FD647E645CBE09C5D3EBC76D35D02820
-C91A1E422057E99A86EFC9845EBD5735B8F61A957B44C33F7CA9502E08F39E24111E73DD
-7C5BF59212BE06698913B89C221944A9E539B1E79038B3E2D2FC40DC4D9115256D8BEED0
-343FFE190D6242A3054711C86A20E0C4DFE2C270375DBD1009A6ED640D505F25F475E0A4
-DBC0D9840A68F2E657C1AD8AAD7A260AD74DFBDB32B2C6CCA9A49361755DFBC09935041C
-BC531A5924CF763C29DBE8F169BBE77A261B1DFBF1504A04CE7C3EFBC0E36DB1CD256AB7
-F40C272E2C3C217779A2D45E1A33E504A32183552ECB71EB562040C03D276A91590A286D
-2A90E7A292B21AC7FC70082F18903E2B3246A66D95C47F7FA0099524F38018566485DDE1
-4FBB810C07BBBC487546F0C2BB295D1BEC35D797B0A6AE0616ED8465BBF239A46FEFE3F2
-E20F85E3E383C16D6F97044B6E4E80DB26953D609F8AE0FDDC92A41FF2A7EA7744585B51
-27F7D1D756487DF4D75289DC3FB822A16E1A8063D5BD6B2D7201DBF78BF4A34FD17D8133
-F8662DD9704ABE347C405D6111474E69C5F22552E4C6EBAB4A6537B46FA2EFADB55485BE
-A4359C8BE0B2A696BB946E89A5AB3EC81AB9B584E6EC841BCF4192EF82EFCEA357C90039
-3AD2705B9BEBC894E42369F7CDB749E1A174EE4CB77454CE86BAB1B631899C547321C9EE
-0499149D87F3FF59D13335D54177268569DE1AD675BCDB9281C21ADADDF54B32E62B3EA1
-2FC565A670778959ACB4C4A36B6FEB86B174D3FFB0B2617B2A84EA37BA5B4DAE6B7F1DA7
-36C01E446799F135BD5573B086D61B5D902097E93C9460E586BC8C5FB863507F7938B02D
-90EE19C51E00DEFF3764A3483F52777644D3F20C0B99A8807F25FD6080373B09C68B45A7
-BEA9F0731DE751BDF4147C690A9E767DB679A8F51849D094DC1E8209EF159084231610F4
-187ED2875D1E93A2C977C3F1C86614B60F81B31CFCF2086E91C3A09456F376DF76F6F4C5
-6F6D96CA852C7B749255150C5C16453A84B9FADBBF40273B18FF8E61F309B649BE8C8BE3
-75F739C6CABCC9FF39CFAB9997E77507A7EE5D521C769F6A9A03472C51AF83D6682700F3
-9D1114A04992A23768D8547D668A9C1302DFE2A2011E3B0A101ECA1A41A79C2AD80DA863
-CBC5D77DB3FDA136ABFA30603EFB15F99F848F18B2B55D3038E7E7F6B691350D3C0D6766
-4D0849BFE0CE481B1B732326AB02CE44BB2C15122A57D42264349E72BD47BE006DACE8F2
-A0ADAC696138227F9ECFFABC0466C2EB581211CC0A24061CDB43FBF37A4E8BA1434A35E0
-2AF6B5914D493F64328F8590CDCD38169368F805D5B64AC0F4B996ADA8879157AA0EE3EA
-605553CAEFB6D31B01F66016C64F7188556D66F185A29164AAB1ADFC1FFE71934CEC127B
-147F36AF98AA9A7877A7188EE0160EE26705D1AD9B5F86D8B6BEE71C1BA240FC2A903D65
-0C3C69CCCDDF00222CB01141C0F03958D9BD5524D8C31D4554073E2DB0169849487244D2
-2A28987A82DDAA0CD060C8A8740F1A11509152B4602A6D0DDC4456849FE5E402F9ED88E1
-DDF8E5AD854B5FC77575AD955C95BD033D69F4A2D2EA6B6EF587EB16ED3E0F52E7578FC7
-F22324AFB86353B1EA4C51179440F2CC64A37A92BDE6A88B24104CB8EC78C660A40E43E0
-27E0EB69D813A3C29C9C3614E6408532FA474CF9FC5AD498F8335DF4A04BAD633110405E
-EE6A5E40D6BD7E23337B1B623735BC3130720DFD1FD1A86C4A90145EE483728278C48E5A
-CCC333FBE140DDBE0A28168D6B2BDB902491E0340DC052C28FEBB140B85BF1FC4DC35582
-1752E935381556DFE0A1439A0BC810F9527331CA35508E3D0A451B3D285D37A25F1F949B
-9C9ED1BEF8289E5AA1A3BA045CA7CB647F1C1A528D85938E04ACB1E7F08F5ED3D18C9E86
-7AB607E8BACF757C98BB71878979DE3862927977A0CE431174DF24872B21988D6AD35B07
-42C01ECC82FD805CBF22BA02CF596876EE1E135254A8BB6DAEEBB2BFF9911EFD7C3A25B8
-55B95EDAAB6F25A31BB29BDF2B0FC3E0F4479DD96BEF601E4DF77A459B73B69A9C55A87C
-D63851038A7ABCC475BBA0365C4CEF17A742D1371131397AA139032620E16D89B3BB7A1F
-7B018BDC6EC29A8FC02D6C6E943EC1B1A718DB6AC51BD7C5FDCBF2BF792CF9ADCE89D130
-DC5C200FE8625BB13A02F45E06A53B7D186838EEC83906E8298CF83CF5A28EBA36D67F56
-64EC006E350266F7D2C81ED295F572CAA52FCBCA9B605E421DF4E9393D1E775838992B7F
-63BA394188312C75E64F9BF0217E6E31905945D27BACA0693E0660563A0BE2868E22A604
-C901BD00FD8E9088C4255B2583EEC2417AF39CBDB672845EF9BE24901D270059E7EF3C99
-0BDCED89538A8CCFA5A0BEBBEB671720576DD349566E591ED760FBFFEAD66148F05D37E2
-0833FDE02A4E85F2CE08B0E03DCEF68D454E135F8F07BF93724E0B7E0FE769A0AAC5B513
-F4A763347B10B50B88792E1CB3E6E948B75A8835DBCF188436153A2C2B44CB18D8996FEA
-75324C8973D1F0E4A3942E2A05E43B3C4AA46EF7B54039542193CF76CAF775DFB15B31F0
-41AD173F8821FDDBD7275618B37F2693A29C9A990B7BDE96FC532242929F81B1B61025CA
-717236C5D41ABD690EC853317D21B20C2CD6E9701202305CC34F5855934E03F1F58A0D32
-D73602B07ABB1904173E09D799769D7127B665537FD6FCBE10E725CF814B83475FB8E443
-027F490BB8488157A4208D031ED3992E2E0EE89C5E19AE11B16E95452F86B04C3E233A13
-02B300C9A21E2D920B49DB479AD034860B77C8C1279EF314FB4073B6077625270113848F
-BFA4C6D1CC72D3DD8DAB5298D5A5BAF7E832FB36B13875D241286EB56495FA62909539F8
-9D043095F5B32E10F59B8204F0C598FCD78FBAE872D833662FE913E595E3A2073A41CB74
-5AF21AF5790DFC9D3CB011FEEC385B5DCED039630C8BEDF0790C235CF0174F3DF205DFC9
-A621B1A32351499845F888DCA445879AF5871EDD1572FB6B07B52A583A288434502D0333
-FF418B95580F4DE9B2F5BA2906F074AC91F566E5E394AA7695A161D01DEC146BFDE0448D
-E6DD22D7A3C0BE7D02A29EBE15AD1F302299D673379CA3C2E500C573B8F81E0ADE5F59CB
-BB8E0B5EDFFE4797C763D4FF7CE0117EE17E80CAC2A3EE7840C03867DC19B51885FC6ACB
-FC0EC204489CD1A6ECACA8112FC1603C254E40049812D1BA5C561C1224BA56B97FD66DFF
-C43D96FDD510AC6DF46A9C7AB22FDD5E9318C4A5F598E34A3E60989577333E2CF7AF6129
-FAEF2704C1C3B997691E484675D62AFCD81F86A6EF5FA4DAE7D4F690BDA5E35D0C3EAB49
-A377A2A0B6019DDDD8E293738FA7503120A91AE095F613B3F925BB4D433A67090AD6AA88
-37979DC1DBE9FD46CAB54F1D9AB5B9E20CEB07AA93346801BF8EE52977FE36EB1CC51587
-FE57ADAB168CF8A7B95665F65FEC3F3EA5920401402D8D22A3D4000DDCB5D06C5A901430
-865872360B37C1277EA4C31B32C16C9EDCC6162049204A9A028943915A7753F72452ABB9
-901712C494B0E175E27B99F6F34A232A826ABDA15D82D4FD0AD88BA50545A5D9A4E3A90F
-51987EBFFF48CC52D8E7FBF1121DEDE46BCC71F7F3941EE02897013189FD60D9F41C2F3D
-86A0C693DACAA72D68404118DBE5524D07B1D2EFFA1F54EF0D0205FDECE28BB1080F2112
-AD17E04A000C581BDBA02571C412DBC9BDF10FBFDE1CB328239362BB008ED70FE062B84C
-E93030327374F47D62D4740DFD23B3F1FBAEEC619ED18446690E0339D2BCCDCFE3DA5D5A
-215224657F8CB4587553B7344A4CCA78DF1D955679F3C308317D8EC48269D5E1A9917E0C
-46BD6D7284BA185DEC43E31CE9B148CF708C722AB59CE7429617978F678E7B42B6DAFE8D
-CA1690208AF9541B8EF5C8057A459A6D6BB3F0410DD1DAAE469A71B7A416CACE53E775AD
-CA8787E88CEE3F57834B13D46A5DC1215DDFF7668A9CEC79FBBA1964F794F71D7BC2567B
-10AAA3EFBC22781C66B3C89B7973748CC35978F844A5EE16CDD95BD4AF3C6C63C79577A1
-20B893398A583BDEFC646E917250AFE307E1FB053C3A8EFB26CD4F65D58DAE816549C502
-DCEFE24A4DDED6ABC44FDFBEA9A92B2F78F20710997E683F8D9BDB7C603A9204CD90E932
-7ADF5B551419354EF67AFF7225026D2703874F841A034FBCB33267D8794C1C1BB9B26F16
-04BBCEE30D6D2BA30AB3F8E03E0DB4D57190A570686C420FA4775B5F8D984C4C7505DF4D
-309ED3BF16BB32B62241928BB3D978E10CEEC6AA72A00F786AC72F6ADC5E1BF1A234B6E2
-06FD0F6DB21BBB5D0D800BC43197CEBAE8AF770BBFAD4E41488AE5A8283EBD2E58BB4BC4
-5DBAE530D05418381BB610F5AD1AC375681618A7913CEFDB93815EAD3006729FD89DF4B2
-39E5DE1DCCB4BEC942EDBFCCC34C46704F5B31BEECC45558BD2E2DF554E6130112161BDA
-86C779B47D9E79EE1A6C41A722F1C8710C5470F02B98B6A102A962E456827E7A8E9C2527
-5F9EF9B0D3420A3CF1F96B798CE32F47C076A1973AA532ED91B44B6627D5ECDB94E488CC
-A0E54247BD99B1035769E7DCBC91BA655EBC0576E42738B7BAF5F7A19EFFFB78E0DD567B
-51C9064ACCF00AA9D6AA5F8EE73AC3FDDC1F501DC67D9257629C767B9AE582A1BBEE8C0C
-1B4BA4D5830FDC6C3A3D164EC1B30B8EA721ECDE61AECAF5DEDE7CE02F336A22E302D711
-AC6B83152A1B41C67A5D3EF767153F5FB882D0448B39B8507ECEEA86CE74EAACC8AC3E78
-E20FB23FD92C81D2EBD9014530F0AEED1595039D94AD48CCA8BE1C77233A9AC19CAF5A45
-CE5E96C5B2A962E8DC39339A2B10975C18C5B6162226221AD8BB4307F64E2B2C4F01FDF3
-1A6DC4966C9D6D2E3D5E92F0D21DF7779E35404C97B632DFF66716FBF8993294CA6B09BA
-8F7F840DAC99DF3D75413A0F417416C7FEC264D6CC58355B1290692666A47E47F0BA3CFF
-5DBC8EE2F4FA068D8059C1CF153C65BAEEC4F8196600B9D5C09DA14C8D5F87D88FC7DFEF
-B797D33E292D4A6201AC0DFA4B50285805501F3AF1E2A48C3493FE2DB06589B0C045B0BE
-5A2C5601F2F4644E6FBA9263BAEC6008760AD7833187540BDE0DA3EC762393EA778DF052
-BB978B708C7A2DAC5D62B2B4BC6EDA8DE77E548366C34411463BF5DACFAB701D0F64E937
-F5188E46151F8D47932243856F3727904404BD99EFC5F0AC5DD895CFD4067B7F338E2DF2
-BA69A84D26FCA6DA0ADF101669B9B502DA75D202F863D2AB8F821937F180352211F24835
-707B5D821DD71A74E4B9562370F2C61A228FA42F12983E32C15B13AF9F2D59CFE9FFE1D2
-4412F40E1BC6D90E8D943DFB8D5A36EFBDC7836025D6193A8B7AFDBA1EC3455F2EC95A6C
-BCADD64C7D41322C98479EFF511BD4BD70C06EAED0DEFFA2790649282EDCC5F3ECFBB70E
-7D62E1184DF3A46B154DD1AED7BA74CA7841DE08B4DB92DCF4F1C2EA54738F2BBD8A7B70
-0EC21D05AC8650A7F1802EF604A9DE97E8BCA273D26D97972ED752E3E9CA7D3FC11AF401
-D01398DEF5206AA94D0A79DE65F02C3E9A02C2DEAA900017DB7C0AD39F93BC2EB27F2E64
-3BF0FA8AE458C73B62B7709AB58D8AF25511B5C3FFDC5F45C4DF09400AB5E69054AB6BAE
-57D427BFC6A6A65DCAC262E99797304D660B672E72BF8BEC5FCFD074A5D1E949634D1DDD
-3399A80D693E3494DE56E1D0CCDD217FC6C6A2F4D6ECB7E3636E438ACD4E6B7166B27342
-2298824C5C547423EEBAA5FAFF2FF810A73C2BCC057F7FA1E96F21D665D377F727CA2FB8
-93307ADB216DB69824B72312242DE1105C4D7B048476E64C71F4C4659F084916660CD035
-85B922CB2EB7FE0E940A7A122313A85E0AAAA7A2699B4D1227D8A2F8F59B8FA5F6CFB63B
-7ED2F9AAEFB6A71D186815A0CE5816A787E25288A9CCBCFA886423F776DE6C09B17858FF
-CDBB8A52CD54BDDA98CE2BBE25849A2B4B113B6B7044431419512A00CBC8E5703E5A4A1F
-954BABB0CA465884524BD70CE67D6FC9E2BD7E0615DF712866788A17AF26D842CEDC9EEB
-B0A3061963958B9140BE41E74B7893265FAA57FE53140658DC931F0B897D0E857AE3A337
-F04D884ABE8D8E1DF1632DCFC2BB65E4BB2791B215957D5EDAD04A4D1F4372414D26CD68
-3CD89B893EF0CA895C2D36FF87A1CFB2E9F1A628CD59432046022B3E44BF2B5D5DE76F51
-5165FC2EBB07FBB23F262C07066D215DC73EDF780FFBC54502E57C69DDFC77D9896D3824
-D4749482FDBDEB40058FBF293BBEDC8C7AAFACCBEB160334D29AA7F61F34B929F020F8FF
-17CE610B0E0D1823DF605B2E145C9E78AF8396E4AFB267C7679ACB0B7BCA258F7AEFBDA5
-E49F3C3A17F0290F9DC6C5F51F193E2DB779CF8081C733BA0D7FFBB9EA3A2FE3ABFB4782
-B2510CA124ADFE0BFBA82C46A0BFC430C2CFBFE41DC3DFC070FA9DB38F0D33982127C8CF
-74AF1001B096849C8A518B6CA05445858EF78DE8B3B6F3019CEC8E10775EF9842DCB56AF
-982AB270C89644AA55B486BCD8616B440105FA6C34298422C994EF6C30C1574ADEBC0F43
-85029231FF5FA84AAEFAD31442120059A7A1D24BB44D14844A039F366ABCA742A6279402
-7B53DD4431B167F07AC0EFC75ED8545431371D5FEEF2E51649D1AC862FD5E8C18ED86FC9
-9639B861D2B502A2B5F75062891ACAD88D39729CE2CB515DF3C49413A974476A515E3F15
-E071A6A82D5A51036FABDCFF62659D0B54DC1B9E68945E87A4CFC0E4D285D23BD9583126
-4D2B4E4515A7B34F83A077F848306AD71CDB2B5E6F701DF84AC82CE1096B987E2DA09727
-CBD0DACE976AB94EE6B133C09B787C80F275DA36605CF5955FC706A332E3140B43AF9C02
-9C23C489C5C15F77F076C6A21DF7B91E9249E93854406CDCF2EAA68DEA68BABDF5AFB702
-CD9457BC4FDEC0251834A5FE1EBC40D1C8F21C3C56B2558E1EBA3AFD3E0B53AC7793E078
-73F8A219C6057DBF6BC066367D953F44EBCE2704D2258344AD65CA865CAC50085E5E321F
-B66E4404028E313876B65E5CCE58DDECD17DE76874030B63B267639147EBDA692745AE09
-775C4CC4C0B44469A01BA55B87913D834952541CC527D6D24238A5CAA83CDEAC1D7B5449
-7B6F9F57E0AEBCC7EE2DF0CECCFFC7FDB46DE41FA6E6D41AEC58E9A2CF359F9762ADC653
-5C52FE93E9FFE3225887009B596AC2B29336E0EEFF29738D4181D339F0FBEF72D29C750D
-FE1318CA42C5393D639E7650AB689225BCE2072C88526B9AF5B970CAAB8331D89B888345
-BC5E839314B671E70CD895F56D945E8584A7A956EF105BCEC436117D4BDB3791A741B7BB
-5B2F0033241EC02B40B75BBAA4C99D5F48FB370569C6E42B8747476E405B9D683D2FAADC
-7C4A02FCB91C654F47C80AFFEE61D2310619E72C36695090BBBBFB5E0B7169B96BDBC9EC
-4E8AD00B36B4FBB0B849CC04675277733D2FEF6A6EE9C83BE4900D02B95B516DD10A53FF
-4431B3BE8C68AE823BA121DBC6C22470BEAE5AF5441CA8208D3DBBC3C444704E7644F8C6
-11B0890325648B2EC17FBAE41012E7D49566E5016D94336D4C701DE2805AA001E79C9032
-C64838049D8D065A171C11F06BE58A478B9299B3A517C73CE84EF38D07F291EDE3535CB8
-D769308C2252C63839CCAC3BC9E8A24E871D90398F3187E3557E40A24FB1C61FCA55BB70
-5EC3B1ADE33F0C6340338B197654B373EF588D43E710869321FCCE8A00596981C49B185C
-DA92F64E0A65CD32D9448491EEEF78E4F410806EF4D6DC5F7804E99B87E640CFC46B6975
-AD18A05C470D233D23A20B4F85E8E008301D9763C4CB53A6CB6F380A439DDF64E4F69367
-446A0B57A0E98A6ADD0CF0CAEEC82BDEA2D130AA246EA0E4FA2E8DBB4459D5FFDFD7798F
-842CA8BC7458DDAE4C28FF65568617C25E0CE82CE644B3F6445C7408E257FA1791199F5E
-711023E5BC7E5AB961E867B06B83418954EF9A59EAC6566D572B4E97B5C6750A49636929
-562C6E0E2737F5B9BC06EBEF9FE62D9CF4FA509A42D192482B878757B319F886FA9EEF7A
-563DE61A0BABBD76B9A9FC2009A9049FC6662C32434B6C8F4E410C2F5A146EB951D25138
-47D03A64A453B748A14D2A2FC9AE56A9585F1E6725ECFAAB26E99418F8F2F944AFFF32D8
-AFED5E292F40728B8804D91737AA9CDC05485F9F7031841B12F431355EA522C674101B83
-09CF71D8D27477286DC05428F7E8443EC7E4471CF97ABB18753524A79A1B331CAB1E3FE3
-6D19BFE3724777670FA07CAA0A501E1B5524E62C15D0B888414300EAB0DEA137D43A0B70
-FB6563163E0AE68D160B96B4A71817DCBD24BDD8FAD76ED2ACF5E0CE1DBB5AD9A1AD4B98
-997987FBB15346F93053314D53CF4BA6A9FC6B3EEC4E5DE20393D00A6D69FD55B98E3045
-C27469B46C39C40B0F5BF53DC1142AF67212F469FE7F7334A39CF19443C1243FAF6B05AD
-1FDC50457F06D14F119EC724269EAC946793DA2CFF0C1AE736320C5F01B51F2780277D4F
-A77680C81BCB7FA34A8F4F63F07CC619DB4BA4AE94420E532E6D06558D8B0D9299DF88E5
-479F1C82178C7FDB90830CEAB719A0EC4DA5E66DE2D4B97F11113E0DDA557353222E6329
-8F21D925AEE6FAF6121AD7F2E7F805F88901E53E353152729A737C197937EF857257BC70
-0890EABC66A8DDD6F4636DF744612B2E744BCA5D376D2CE87993132742B66FEA1AA5A4D1
-0A5DB79DC3EC04D88B5B5CCC988AD647B7719AFF1F2FDC55B7DD113655F19E6D47D2CFD7
-B2BDF4FD564A6798D3696B5BAD5F7A3E8609B9D9D0DDC4F32F2798052ECF1EF3793B16C1
-F489004AB008CA729064EA7193D2AAFFA934AC2DE6CB00FFC86A54B11426A97A5E161899
-4DD7FD85144308CC4C376272E86849BDB4351A9CB9BAC62C53FF3D06580CD2CAC229FDAC
-CF8BABD15E1D7D81A2388597FCF2508AF5F8D189B5E5A86441E73002DCE94CF0DD953575
-470ED6D6AD57F62FAB4EEA0EE65C5C2FFB9FCFD5F850DEF261314A155A18AAD1B47EAB24
-FB7C0408B1C3DC80C6FF2D6CAA3348BF792803DDBD9258C694FA9A4FEB1D3BE1E22562D9
-46D3BF713B8ECC1532BACC2ACA978761621A122252F5CF0A658C06EFFD96B39B7EAA7C0C
-E691FFE170A91871B6DED3BAB734E733ADC503B5AF97D595247FA80B81AF8ED77F99B192
-0731917779642446DA30FC7DD5A5661F9268302D2B812D750A3F144C89038A6F573B0C62
-EC227C3C5970D8EA34781CF49E56E1ADF0743CE23940279CCDD27AFB7BB7B740F579D9FA
-B7BF912D52F35DFAA22B7D182C022E2FAB7BD0D90F7B6A03D0D6EBA225C70E07CC00F2A4
-599DC63A9218C17AB08927C0AFE57C6D3F0E7E2240A8E0C3CC6CD9854BE51B7F69040BB4
-ADEF206D2110DD52D5746D0085D583E67DF440125C26EB27BB8EC054A2AFEAAAB3139B53
-653E4C82D085D35BE137B6E30FA4C81EB3F968B12B2F4DB0AC653BB3E13BCBD9994C47DD
-99727A7BB5908BFAACCA7EDEC566AB58DEE6B4CA521699CB6C3C7460440A522145347A0B
-9B572D96702B497B8F9C3EE612B3445781F3FA7AAC78DA64950EFAF975623382BB6FF724
-3B1078C354E6F4CFE12BB8F374100D8E9033460B5911D4A18BAEE611272EB961EDABF97F
-F350744757DA2435292D03C54CBA103EB72626EC2680077B5DA99E248BC7581F791F157D
-0F0A359070827288F6961A8B42F98C948AAEE02CA29166EBED6F41CC2B14274CC8CBE8BE
-70EACDEF5DED806EBEF4FDB794A1A9EF45E6BB01183CC4058DD5D6BF33CB6A195DC97AAB
-72DAAA73A8922281DAEFEE6EFBE9E66F1B4C6D5A72830D9CBDAF7CC287ABB0753DBA936A
-B515518C6C121E52BD84359EC983A7DEC5E395DBECDD837788A01387CA0CA84F6984A9DA
-4D93CB543AA1101AF32021F2D2530300C6A16C7B27FC6D98E8E192AD089E9D10F10243A0
-1403222518D2B80A79360F81472FBAAFF0348BD16D8AD6888CF4971C2B61A8DA0A469009
-45F508DF6DE8F7A061EE437A227887D1C24BF05EA03A0B79CED06821B6A53F8275C885E9
-F5891E8DFFE67F22BDFE05507F478C90D8A90424097FA970E2B5C88820520C79AD9B539A
-A10EF6701499CB72F33021E5066D86EF1B2AEE8165CAC5A97E3C20E24229C072A41B515D
-3B1AD941352CA33927D63A7B0065AA432994EF31520C80F4FA3E68CA9CA548AAD31A64E8
-D383F59BFEBC0288E76332EDF7DCEDBABB3E068DF02D19FD7D0FDAD1BE7EF4947524554E
-EA87550C141BF3EA6A20FF4834D2044AC7733FFCBF34EE678ACA19A3A8FE3D943C2B3505
-242111C2B6307A00989A20E8CB7E4267AECDC4E6F5F9CD70568C5AA8A4E899E404C7CEED
-9989C788AFE029340B6A3D6376476181D19844598ED5CCF1AD2CF4A676FBFD17C0EF5BE4
-66CBA814647C2E0B5A2D85F3D3C8C16242848ACC70063D67918F800424305F2140A76BE5
-AC8A5CE0E32E26618F308EA578CDCB1CFED7CD12AFEABC6F6A236BE927BD11AD0A961943
-56C174C7881373770078D3D9BDF23CB838C5D64F923EC5831B791D5604931A8834AA6D95
-A79FC44C7DFC090CBBCB177A42A22E6897CE9376D17FE945E1E813AA473CC1530A7A834D
-0EC298E73517624640BB35203A089D9483D047A87CA2646DBD18EB02BB9F0EE711FA83BB
-BE07B54F1B7AFF9F36575BA99F81F75326F59D9EE26D4E4F642004285B6BAF192396F4C7
-731C5504593DF687B274EF80F27105F4569AF2EF4C5C5E88D476A73EC4444ABAD8E9AB3F
-950C9CF21BD78ACE310C328F988CF22A7EC165E724DDA3F25D403B28A1B61F668C013524
-32458C657E8FA6CBD2E6E91106AF5B9C8EE170FD1FB323404E4101CC134FE8F0887AEEF2
-3013CCFDFFDCFD5FF60897B720A00204E8544F51735C976EC497BDDC085BD209F756C77E
-296716650CC169558746490D024BD14FA54EB4E0CB75E8E91FA2E256F3DB4844308C7998
-A0EFE04FC6B14B73A43AE16D586C6683520A82286BA58D24ECEC212CDD93D2810EB4856B
-13D432AA6CDF05600A12C7FEAF7B990E9E8CBB8AAE023FCBDF953180AF6913D0DE5B8660
-E23AC2B170320467ADC89CD584E9A366F063ACDFD5FD44E5BAB3B7167254ECFB222AB3FF
-2187E43CBA6FB705317EE5DAA8D9F5DB83957CD64508A61EDA6B5D5BDEEFB2C6214DD059
-8AF10A03A486022A8DB111374E8442CA13D467BE84BB1001E7B9DBCAF50F767330FD3F62
-A310CDF232600D7DFAD998A0EA10EFFC49A702347E6C23BE9027C2BDE2E9A14CD55788CB
-0C8B4891930AE2BB346CAC0A2CA7C904D2343316A6F4202E22D4E448049B18EBE76FE3D9
-7EC95EC99264B6F938108A36CDC5C4D7DB364F89E9371EABC18B1CE08CE519BB2C4973DC
-4C0ECA366D8C6CC07A2DD320B997D5987297B330703D2A2DFE33EFAE86200B750D1A2D2F
-762E43A94523A2136492B440F6551374F3591FCE4D37F7C192C592133B3315D3435A9DF0
-F2F3F621ADCDF53F9CEB8E7B332E701AFFF13641C88DF71858352BA45506D267877FDD8E
-BEE4E80EBF692631C7C7133012E4CA6082B90533BE3082C34084385CD16C7A4B7123EDFB
-66EE5F20C2C66226542B98B437C6925E7CB65C02F4C659DAB78FC4ED155C312DBCD5BC7A
-F588D049D52655E57D3964D3BB713C6F7B33296292BB6273D626EFDB0CC6E0D346F8383F
-315C275FC9FE745C9CC2416F3E1B896CE9D4621E0B1798959434E380E5672C9301474FE5
-C50B8344DC9BAD4ED7A57F965ECB1F9DBE601D2967701D4C083529B6DE730D9940D03381
-EFCD0F2E5632CD6948F1C7D3B624A248786D69E581B916263DF67B7AD6C34F034B3F48E4
-D26F64BBAD4B57E5E3E4B11BBE3EADF529E0473547DFA0781ABACA0F03AEAE3C14884A2B
-47AEFD5174D2A5F45530A8C9A0B7C66DCA9CCB84AD031574B6D3FC3E6F1B0D794D061CC3
-3FBF13B5CFC934C0561396DC77DC2AA6FE3AB54B6215EE21A65582A8A9585AFA2CAF8194
-B3B887EA4C7F71696F93642371258BDD862C0CF23B819B194777DA8503A584CB26B849F9
-5CF461F3321BBCCBCA5DFCB054837FB3C288ACC2F394158F2263A8D4956ED155081F1A93
-B5180BFB3B694BFFD214C63D1CC0AC82521BA89EFE47A573D8FADF7C7B31CC98ACB47E9A
-517CD04C18F8A8116592704192274FA9D817D49AFF1BF2EDA8273B04A86E308F51336DA5
-FC70705D6142F000986593A7BBD524A4A03F5A1831E7434B0700B89EC3D45BFC3CBE0841
-06E053FB46BED0AE359A76CFB808CCB22DE78B1A88415AC79249BA9F9BC5BE2C3041DAE1
-9F6B46545F534821E0BF703A6AC49F4DF2D24A4A90AED84C71F87799BCC37ED9FEADEF35
-97ABB6D731757C04C00002C40F34DA0F35E39F6330A1651F89C321627DF1D1289C1C6782
-35D205CDBDE6BE95F64A2510AD7CE06D51BFB98E7AEAAAD4E2AC15E631BF136E4082B01E
-409BD78C495C88D3B62E3112B7B72268C4B1BF55E4FF2EB726ACD3A99148B0D0DC516294
-1E9B8C97C861AD1551703D9B1B17D1613F8BA6917B319BC2910728C5B46EF2CF9E1A06E3
-645C52A5D4F72494C1C18F858D211D2EE721FE457969D9A9BAECB4A0058780025142153E
-9B94CF1B20B717D5F9AC5BA9271B4CD61628402FC3883ED1D43BB2EE931614D871E7814E
-5ECC895E6CD9BB8A27F55004E7BB3E4A09B1D9C5D6B49140BA231B867F68F3A3C9981BF3
-9D9BCDDDB6330C8329FD52B1F1B6A7E392AD3EAA4D8E63BF3A895365FFAF54F297126CA6
-3FC07DB3763E7D2B79D2974BD0A380AAB25DB48F06BED0CD275640E5759C966A22E2437C
-11E92131BDDA040BAEDA876D8861FC551F32591621A14BE6EEA790B77752FA636B8A627F
-51428CD373F2ECC19DC714100A200E098E262FCDDCA6328A18B060219FF495AD46AB95DB
-2E33D5A697E5D25CB5F0FCF988D62C9AC53E415735BF0DFFDEE23ECA22528B3D66DFF37C
-77EDA16945BC694775901CFA106809ED3B59312B4A1023AB13738FF47921A0601D0A56A7
-4FB9F6B73F1564EFA5F2A31DB04365A577A1D9DF9FFFE6A4692E2ABF7DA3876BA90B7FB3
-168962EB38E03DC5E06E1633947848968BD649CE9B3064CDD5F88477195EDD4018F60FB3
-D2BA8190C9B2165FB5DB5AD79240CFBA8D4B2DC061F5392759EA162CE0FBDAB3D8EC991D
-3238D835F27F6440F50942305538B3EB8B4C9CB46ADC7A0DEF82807C277B9CDAEB65B874
-1E3CCA532A619367426CAAFADE5756F0C22E6FBA7CA826E663ED6716308482C957703BA0
-FD4322B105202352E9091B44793A849E17B9D4931D7E4FFBAAFF32D1705FF5D82A878139
-0B5CBB1E5E00A02E80C299CC3C9612FFC9AE200C4F4B919E958039D4628480A7A0279EAA
-DD0D28BD5E1D07BC18D66FA86EC9843665066045DC5DEE15146D9B4CEC6B0CA6EC946967
-3A464C46BCFF5451383B65B62D348907887BDD77931996B56645F118E9392215662998D8
-51AE73BC084FF9931D22E5012F6D18ABF618DFB01CFCBFE1A2C53B61B84D3B85A5D04196
-FC8A0E507A87560ECB8E2DB3CA84A2C97AFEE1005F6A44E00E3924527B1FCB8A3954C746
-D6F0E4266940814355AB8B57D3AB85A89EFFD1E384FD8E832E6A846D6B8DAF0C99C3803C
-F9BC1CC4A1B611DB8B3B3F1763F6BB877952ADE48CD9BEDEF049137CC2F0D859CB4EB075
-2A1E581D835921533C868480469430E3AE90B9C965B4130B20E22A060A182827628CFA56
-FBED3BE7A4C078E939BD9F79D1A51017DB08B27472B813B5D94CE9CEDCEF61AD4AC1DFA2
-37261EB3360CAA70EB0AEBB1777928B2199791EB0F4E0DA70F0A59DDB0B7FBD49AEF255C
-BF51C0F35AE0A242100AB96E0A2B51F82D5413FA7AA2C603F913066AB8AC55FD474829EE
-82E5DBC360130AF5FAE5EE9159B5E09ECE9678DE75A50F49EA5C24FEA536658D48417F7B
-5DC4737FAF73D41EA93B3889B9FE272D79788E337120691A76D0820E24F5657DF5CF2BA4
-BCE1799E533A991BC20CC52CEF9142186FBFB77E214A4311A243CFB5AD566995DE9CF7C4
-06D4235FA3ADE98D6C6CF3DAA3AF13106D38C4FBA7DD764FA38225DC7C41BEA8E87F6013
-8D320F004E832F52EE5D716F21C47ED0BE801523BB94D9691B393704380A58722C70E0CB
-F70EAAF9B5CABA0D298A0152E246CF19A63DDFCE9D45E691EBD404B4EF6F14B3AB70329C
-286C3CF24CED4D7591E4FC548ECB3B7864677028CD1073C949F6E334E528D62EB1EF23CD
-E94DBB71E289FD419A9D51579BEE2F1E66C0EDBD29A32859F1E5CAB29264EC3D6AD03E0B
-7BCA83FE20945CA48A4BF76C1F89B747DDD06BD000373561D123AB04AF26D1A785AB792A
-95ECEA3DC6F5E36A143204A17492A6C3C9F974D73919F4830BC2ADF839B83753C3C58011
-BA6975CEE5655357AA6981C18EAB50DD25E4956D2912BDC0B401BF8E3E719D34D4543E00
-6570D7F59EE1E6E683B53B0DB9A8DD3C188FBF57C719C8E1A35EB957151D5CA1208DC55F
-F81AE455B267013FE1515015206F1DA5E7F9F56C1F0A2FE55C1724CDE3E00C9FD055F198
-ED0E75DABCBCA26D558C90BEBAEF6F67D9DBE1758FA9C67FD49528CFA39AA21A4CB6D797
-C5E81AAAEADA6E7EC773F9C5ED0D2B0E722BBC8D449F5692E6FD2E90EB3673648EC34907
-8D99E469FEC7D6F63606E607BF946C78C1347CE1CF45DF42036AF0DEBA6AB19ECF358DD8
-C691742D3A0FB495C0947C3528B0AF579C16598750E475F169C1A36E8DCB33D2151CBE14
-52496F4F9414BC8EFFEB38D22714D2388B56035A4D431EF4D07D126CA898324F2BE44E42
-BDD930AD74363F011B2EA953CA48A7065C5E21B0B0E9C87FEDCFCA17AB6DEE77B167F31F
-6E157B289EDC38F47D836250303B7A6662825E184A464B3B6BAF6A31627EEC2E932E617B
-16806DAF25E7A6CEB17E89C602FBB0191592BDC0244293F46E0E698281FA9B697EA945FD
-9063410A495A75AF971B7F50331D3FE964B3B2E7C6EA890198D4AB7D515F58936D7104AB
-67013017B699EB3F3DF5F49744076536B951160156CB7F9D64B035C6BF0C3119ABACE506
-F15605840976E567A1ABA8B94B3B956A2982806AA50413B5F89514E0B065A6710FCF6173
-5C91FA417686324F69A98BD4EF2B0EB1A3CE20DEBAF35E592CFC68CB3F1640B91D20D415
-08DFC28FC3AD0143A8EB9BCDCD2D2BB45844D387845FEC9A6C9E26F495573F7435B6C62E
-93DAC158FFDB41A137F5DAF1F8FA134C26A1A40BCB646E26A513C76A6EB07B559522863A
-6373062B7C033FB23364CD9540C146CC7D0C1F33A137E5BE097F7FDE6281EB9B9C2F8203
-6DC40494242533C561CF736393C54CA3306FB4974FD76685D26BFA885CAF41AEE3B4230F
-DF98BA4EC7646D3F25A8A337C557E4AD260C6246EECDBCF0BED340BFAE2A0BE007640D51
-A583D0747A5F354406DF9D3544CEE1A8E45E0C3ED5B5727171DE29E75ED1E06E4B878C08
-1EA5AF1FBC2CEEF821380656867929E482C13FE6D3FCECA67CC16450E0BDDC5996D7B281
-7E15F29F94780F3E4561A3F0D53DCAD7295D68013E2A12F73E2887F500C5C40497802B5C
-69FE8CA2F4EBEC94CEF708EB00D4E44C73741A432687036ADDD9021FC35ED215E742BA4C
-D8093F29B90132352A60AA49F1A6351C80D63BFCDD2C4E136F18D605FC406EEBD81FF609
-F396669F082D83B9E1C9573A21C8BFF715FA8401CD7B5DF1BB56C709A32AA27DA08F2BFC
-4CC9D74491D7452C51C19D585407E97414FF616B8EB4FDB31672B93EF09B1478907D3B22
-8AFC23A38B48E0B1AEED91089548C135CF3BE546F737BBDAF3A3DB727B8AEED13A2CE344
-56ECCE70D653AEBF7B71EAC15074263FB58C10985830EAEE832E65609A6651374DFFB88A
-CFD2FA6BB43ACAE247BBD826E54B6F6AB6DDFF4A51F5DCA90062BD3E033AC713FB95862B
-540B9EF93991984FB86936A0841FD6491989B55980D917A53663A63952B9CCB826ADAB9B
-DC71EAE0BD3B580E767F7CDAD1E0EE09C9A5F015610FF572B4778D19260E5C5154AEB615
-F494F6905F04B1420E9C4531A7F6A8840E79A83AA20DC7BC86C9F51B0D10F6F0DA001852
-FDFFB7E60D675CEEAD92F73756A91D67A760145DC0EF8565833F84C50D0E17A3A1F33676
-E467012444D09186160B317F0D6063194E46E5A484CEF017C919D3E063AE2E79171D937B
-1536CA40EC4E4C71FB24CC038B20CE25504189986C5195E7C89D71DA60F40C8E34BD62EE
-44018745746F174D3E30E8F2AC3CB4165474B456A8E4BD62244C4698B6C18630122561F4
-6A5776B7961FE532C7DCCED058CDF95197466C2D6B5ADCC3A2BB6487B5DFFF6E95612798
-18FB8D213AF93B346458431C42C697F3E98EF51A234B8D717718B7EC360F181BCCA72A74
-C99FC0BE536FBC7F71B32AC4F85035EAC720C49C03CAC855FA49D1BEEF2799B86D21F3DE
-5F3BA47568811A2909D19CB06A3B62A285744DDAD31745AC58AB7D9BBFDAFF5E86EF4806
-5BA5BA3E78F6B85DED5261177F0B7D20B03ED496B3957A34A4ED1D493FF084653D014BE4
-1DEA598AD3EE6907A53828B49DF06C3BF1CEF5AB6946BF2E56D646077AFA325482FF16F7
-93656A895E24CB4263E382CDE6D67C5506FA7E0BD0B20BDFE0766803BC9DF615E456FCA4
-8BC2E2AD6E4348414F748F031E23854AE6FC92650A55DE479AFAD409836481881C04729F
-DC49DF2D9FC46D2BFB3B68DA59CED1280D0A97C7BFFFEBFC72E9BBED16C24B734343C111
-4A999791D052352ED194974774876A84B7B9339B85E6566B1C721A535A378AF89D834374
-78DAA191261D4C83E12F372EB245CBB39AF956E9A28289BDA6399BD2390618BCF9AC4EDD
-18CAA6EA6AF116C9560FA860C615467195720014657D4767D70F6817979FEED7A181CCAB
-AF11554132B382423713EA8F05092EB14DFF6F06E1A813BBC84091E76038D6E3DA10DCFF
-81E750DAAA2BF7BB75C4B1A3347DC8436E47D1B9780DA48842492B86E7D9DD848E1E8F62
-4BA0B054DBBE5328F208952E19707BDC6012F04A475D47D8C7EB6A64C2AFAE3A363CAD97
-936DF3D6347D8CF1862818495A6836AE1343272EB8F34BB4C3F9B0A631E922C920446DA8
-34E9C2F3551BF71677176A1F414188645F43BAD39FBC3453265C05EAF83C3F8B85CB80B4
-B3B5AC99B901E6E2C9A1C065848A814033FA6D5551954D4B36BE89E01C1CD16949005298
-CDA21D4BA36577A9784DAA57DFDFD0621EAEE192200CD5932A18442B6E925280A7B52D2E
-8C7116DC0CAE26B92A9A81B5B6B62836E3857CD38F2F5AB075E642760C0B442725756915
-413B2636001AC3D87FBFABC43D6EDD8D111B01942EB7FA47D71AA4520026FB22834DF914
-791FDB207DF0897D89A0057B2BA1DBDDDDE182DD14C85EF10D35F6ED8CD2398171EE25C7
-9C54D90C059A566A0936B8716CA905803FBD950BC4595D9F4CB59C37574AAE4055D5B472
-DE1E6DD3A7C58CED64FFE344AF8B8698F8F1D2FBFEAAEA7F136EA0044472CDE262C7FC8A
-0416A868086A5A9A2669B7C6B97482C570FB3192255D5DA008C9E13D1F5A4A3EDB7A5C35
-F71797DAC5B5F32A5C03C429198D56BC5B8BBFBF890C6A29A4DF397B2863B75FFD8DA751
-95F747DFC65379BA575CFE55A02C589CC8E62B8A8623FCC135E90ABD9900782B42378CA2
-C55BFCEED08EBCACB61C53C5678787DC29D2455EC3A379C1ECA2707DD3E8C008E26C42E6
-C48C8E3B9E0F667C541B963313F4FEF02BD67EFEFC63A1A0093A95F15FD139398A4CAC17
-83471AC10E3598688E1A6E261AE763A28C58E8A5B9CE4DD7B8971764340B9862AF36C89D
-F6708F535653BA9CE2711624A646B1D1BE8AB250275A1718841830BFABA2A900AD276D4D
-592A5D7164C6A7B00A62B08C7F27ACBC78C91E91298AA4B56D090B0A8546549B2BD2E3BB
-6FB39B6CDC7EBFB5798FC9589DD707C01842E40FFD597F2BB1B3EE4408F9D38600804C82
-2ABEEDAD6AA6EA75BAEF32E3C33CDA01847303D9C142140FA1B6E71E2BD3C78F5ABEC001
-66B2D689A8C4B0A7A1C32F3AB9DE8CEB7D20B59524656606DB340F4B7727FB35D2176112
-F91C3AABAC27DE231F74AEE1F6CDB49E2844F40F5F01FC9E96465FAD1D10E1A921D81F9B
-3F13CF82DC97DEE3462F58797B21E6DE4279A153669FE49D78CFEA9835D5A85ADE360B6B
-4EBA9BB8E9FF8AFD2287EE69877FC6C5593A69114EB174AD40F150282B1939D8A3BCFDF9
-74A8864679AFA7619D7EF1F347AD39E2899DDA9EA99E112D15E809E899A2294CC42F4EC1
-251631ED566907E1947F95ED61DD306F67BE79407AF36F34DAECABF7057555BDBE1DF645
-433F5DC42894C3CCF54D21C17B64FBDDB881A2C27765017B51BFA8147BF24157E7CE1314
-79D5C001348767CF1E82A9A43BECDF2F173A42292C8145FDB705CCEFD9ED6CC945A4CB6F
-6DAF4DDECB1DEBB0ABD084011D033F0A06F66D9E2C40DACDC790BD663A2436F50B3A91BB
-27B40F6B05B4D84169CA16CA7C7E609957A918BD60284C78DA035DC6215AA76115F0FAF5
-4C90315EB8A8F3FF25734F79300F0E676D06836B5FD19BED6CC7DF74548575820A735D25
-89F676D0129D8A44EB47AC1B673657EFDCE874541E2179437B9393978525FBB93A1CDB32
-1D1E47B3B6FDE0924CAD789284CE6F18837E89CD0E1739CEDA90AF44ADA49DB336934144
-D8BED19D5090A3E79B6A96E303A45E0DF44E795A08E1B5612BD05BE52E0508D60E5979ED
-B9BB44EB5851737FD5660B71661FC76DB3F9347FD7CFDD2E9C23AC26F805AD8E70A52F73
-B11DE295E3285A08BBEDFBD62C67A540400A01D6FD969896C8D5C46C7093646E530824E2
-C9DFF21E870EEF04CABCB2F62EAC60C1B62CE5403A1B5620DF7A3065B44C7D28366AC821
-86E49974DBA9CAD1249E3EDD876981C595BAC7D05F18D6430F31B96879DFE16021590211
-9F228B03E1378D8E9F7080D517F8C668CC27A9A60F74134827F37CC38C65E577D1DCEEDF
-2A207906E90A51A72AC31C4431BBB18242DE354DCAF50978E619E8A06CA801937B522396
-AD588A1FDEB567116CDFF51876FA3640027CE40CBE18D9423F05EDA77E876433F496FF70
-0D89FD7B47B848C5336C80A5EC644FEDB3F4A9EA02AA43A6EEFCDD27762051D2DE2DA02F
-A03CD491478948B3039FD532751EA70F56C254893A034971CA7F65BFF5662D4A61AF91BF
-752BAB772A556644F711EEF61958DA954494C50941CE83C6B7B6B2859AE7E9754FABA903
-35437EFE4C7B2B36B99251E0C8122A16E4F9C883DC4CD72B5E2A854622B73E6E3C4DA098
-1B208CBCEF104F5777F2BAF65746B7EC51F3C51AD38A12089E4971BAED178A9302F20DC4
-88CEDEB2CD8BF9607912EBF7B0BFC3F226228C96C0C128C498FA351081022E47F62EFB15
-23545AA028A8CE0F56C85BE3186D6811E4B86B31EE3234C595D34164B27D40295D2C2DC8
-1BED866C6A0405C4742CDF5A2563524C93AB0D350CD8B3DF7D219379F302A3A1C12E0954
-09698ACDAC5A2A89B7F54C846A0378E44E923CFFDE69B53F62FC661571E22880B065261C
-B0929D4E234503B81FCD8771685310EF5CFCB2210073EE65770F445B93EACC6DE6556C80
-59794A7499C2402066996593653192CE60E4907FED614060F4A9F68F0B949C33A7D5672C
-60317CC5AD98FF3301C2176E6CEAB2EF6ACEF60B6FB96F553CD8CCB05C2B1EED6044CB83
-40DF43DB21B567EF0A5657704E4DE711FC3EA7933BAEE7744234A369326D1B0BDE34A8C7
-2E328F30FE150DFD111D75122F29CED31C666793100CC8B69A17CFE330BCA55848B86397
-F9DD4950D6DF2B4486E26AA8FFB58445EBB14BBCCA683F3DCF2AC64025ECA14151D278C2
-977A9E046EAA361E658451DF157386033AD47B48C674EBCCDB79B8032A7D8FC01C8AD15F
-E1B9A410C5D4B51E20AC8E8DDAC4BF6020A2751114FB024A96B95E3053F38A3E9444CF7C
-C666B514EFDCCC3E167CA0B5F8095EB8D4060937718F6D8705A15B3E515201D9CB804467
-25B98EA469785969D46E24F05EA3AFDB074901774745286056761846B80553F0D3460CF8
-29C7794E4A360D3C731448086638214DC101591F4531543E9DB6BBEB1B91DF1FB3D1C4EF
-B13058C4B339935CFB4660CDB385C473BF7ABA5B5BC69083FEA6A17C6D04B23E9437C8ED
-14C680DFC74453C4FF2A6BEED2BB7DE8B346EA2DEAE4435DF08305BCE245ED67E41DBBF2
-96E3E10562A55D667D3F9CD286FDC42624B4BAF764E3C3378C8135A99F314C1CAC47B3B2
-E1FB39499594B223CC03EAC5F75BA3D91D892883D2843B29397BE6E06842D48B75DF75E5
-480F6501AF694E0E76D228DF52219C15E7F33267A9D1C3515308EF73D3DB303FCB9497AB
-FA1236E8DBE95DE4EC90A9592CE96949D0DC55EF858A18DD37AF76A51EB3B98BDE0ED83E
-7F4C6297245315E685559B4AA1D37E47053657E710D0AA3CCD41ECCCECC286BD133B64A2
-E8583148702FA532121E1E7B058BA1D24E7DF660A9E130BB8BE6DD87D005CEBAB1C8E87C
-34C3EA39378893ED7752DC543535761B4A237ABD04B53080196D79D692DE2E53B7167B6D
-76DA2279335AC5BF986E1AEADD9EE3A100756B15353BECE08FA788CAB5F63BC7AD58C442
-4AB03866AE0E18D4DC71BDF4B58A79C75D616933A31BD5BC14A2743E4A1EB88D90DB1854
-F132A946B090E2A092F71CD84239403C0CAFE30A7900061AF680F855DA5E91B023830B93
-48050178113D7831EFB051CA8534A3FA88222FB85D1A1E9D99936C49DE0A1DD7C8383F29
-B9B2EE1CD7064488D60C7E76F4F2DB018A4B9C95CCBE2F9CD7DEDE9501BEAA9C0D08C590
-1F9211AEF3AAC99DEFBD5F9C431EAA31798BD7D3A3A5604892F44CB3B736E8F8F79202B1
-6E9ED3ED418EF08539CD3DD9E624BADD761A44835AC95D5D07F7D67B93EB70AD8E86E0EB
-5AC1D4263F51E84583E424D0444B673747A8B353A780A6F8549F11A4962641A47CB1C3E3
-C4A241D244BA92AB05E6BA17BE0D6DC648C1F9D5F88EC20E103D1589D0E86D2B27CC077D
-810BD20514BE94853BCCFEF33D7655EE94DB8559BE3FC78C539E70F84E20534E7A5D6930
-A02889A4A82BA058888AB3EC75769BF961283481CF006D73FFA088EE019BB4AA990FC858
-621437BFB2D79C49157B5757CDC8EEAAD540E02BE1404EEBDC0B7BF094B80789D03B5F7F
-5756535B392A64F9617ED0856A7D167A78032855ADF1E672851A439D9DF57967EFC56D44
-FCC6D878C31CE7904C70433721C4E981F2643C08D96E4753850A4F427FA3D984E00832BD
-53437FDAB0A491C81CD6CF81D8BF5247E01CAD335A6DC9A69962B5830DEE96B57C9B08A0
-A5F401CC9CE286D3FB2B24F8E77508E4182551B4EE7B8139B80B805B64923ACE685CD576
-BF57A5F538B3F03C38B7DDFDE686B8F79271F8E4E909960D6D36523D4A217E4036AD4C84
-1E228DEC38AD432162211F5BA65FE03E0796A29EB8A8C4DB9BEA37E5C15A4AFF900A3456
-723DD6CB1F8BE7C5372A815691A92B5F1DD97BFC89FA5EBCDCC61AE4EF0245684ED4FC18
-7631D4292A94C9E3BBA81159E3688CAF6FC988236FAD971D774B54626DA436D10BD42A1E
-86036DB36914728E66B8EEA3B432126A5C1F0FF3928557A3D7583BE21007D81D40D8359D
-83075211A8366B16613E1B40EB840DFCCED4063CF06117963EF200E0FC0A558B1B69DED6
-08A00C25C68AA7EA0D902047A0981330DB2788E994E2196FED97CE2E777C0213532CB19C
-A28B07792F57F19433A14D1E6506958E8B6483D3651A1EA10D988C541CDA715DE138B612
-76926F9793C603B1836E4E9A4DE110A69D60E0F9BB0D5DB9F4B67209EFBE8D69D4C20B15
-0640052CD4367DDCE4722A87E9914B7DF541DEFA52278ECEB60572E0CC31AFC6C30ADEF7
-5898DB0B4A5D00F169688EC5212983AD3DCA6604CD2B3FD4A351EB4661F025716B2DCA8A
-F52CE6D269979C1F7E7942F583B2CB678F8DC52CB250C603D48B206D5547816C220AF203
-609BFE7B53CE4C88178C95A4E8F2F8B4BACB1CA5EF4CC1E76347AA958F2789D441AA1193
-C56ED7B27A0099B3EEBAC6AA6302891D3F16A913D980522CDDD8E3303437EC9AFBC4858E
-D3DD92E3E329B34B344718E4950DE3829812896AA20A9480582570DC88FD7F4AC2F46B24
-CDDD8EC6BE4862DE1412F427B698B83AF5A0EA767778564F3C3CA40EA60281099297E104
-E46E308BBF5EF23CCA84F9D6A6F773157582EE0F1BC477274999637E199E269DAD3D67BF
-D3EBBE840CD906E73A31EC7EB044E41F6B72367F6EABF54DA9F1664A1664338E202105FE
-E7F071026D12CEDC2D86D581C496B400D58CFCBB7B2A551BDABAFAC1125090DDDEFD4F55
-55B21AC1F6E5DDAE6700935C521AE129F886598539C41D07FE2680F25442BC29BDE2902A
-07FEEEB0A14E4F0201483BDD99D4142194BA2FB991F76B35D0DC31526A417212E5151E31
-60F3AD665ED99E0C7E50A43F58B2D6A8A075A96DFAFEA84C12EAD776CC6A3445771DE987
-DD0775A8DA30A1D0B92ED1D1A8B3E0133198B33C58A9E79943083C1EF44C0AE8A12D3BF6
-7CE1EF00C97E220DF31245B47F4720DA1F1B66A11A1AECBC9183C654DCEE7A16D47A3503
-74458A7303ECAC951588D2DEFE51919ACE2093697639CF60467FE9E43DC30B9FD53D4C22
-DB1F7B81EC206548C1E6E6B6CFE038764C4702F62CC23C38AFBC762D24E7625804867B40
-1626B14B8E45C6D9641B591D868FBADB07FCBE00C193F2F13F174648665CDA538E8977FE
-E8B54B74CD4F84BDF7A1D2D1E64539F146D3D116BEBBAAEA5FED99C5DE42526EEFBB78CB
-F8AAEC9F769B94FEF470C60E0B2F79C7F99D8C9C7C32A68302B352496255FB3785F74B43
-B4A173961F9018930515E6D1A57897420C404F32B3A0E2CDBBF8B53DCCDA0F0954BF6F80
-2638FBACAE414DB6C63F60ABFF719EAC3831C7D5AE46AAA7BECE1B71875D46504E61C29A
-3AFA16498509FC57DF4B4BF40CD4D8D59399EEF835D97EEF06B373F6E006EC22FC61BD13
-99EB69F248D991725232C1C5BBFFEBF0477A08BDD42F32FA43C5F5C06C2BF639E1C86F0D
-8E49B70E134B038781A1E85AE2A16FD1364479A5A46EEB1191390F469D0C573079523D1E
-F2B049171F9345AC5FAD682E4CAE51E1717FB19F8AAED47B7572EFD188806BD9FAE5AB42
-37683C9797DEB62E1FD9DD5CD1D477918D19D004AE0334E7F6A705C4B6D01FEDD05DA5FA
-063F81B6C6842D81A774C04531F708045021B8F11243E2C3F3EF7FAF5BA95C117B9DD6E1
-AABBC678F5046CBB55FB58849B6500A1A9593AB0BE9E2CD823FD35F60A485C3DDA2A36E4
-D13984CFFDC0992E39CBE5CD18076A92820D874E2576C83A6B02384D33F07DF51788BBF8
-27DD031A3520EAA36248860261133BAB4441635E255AE14B59B37B35CACB94688809FC1E
-DFAD40EB2307B2E0B8303BD47A15F736F58A4B7D8ACC44141E5E7D85D24B6CD12591633B
-7A005A49120406ED1CE82835C70426862D94F10BE0A51C894074506444BC899136DCE869
-D20F94E6E1D67F579E94D83DBD0B2230E55B90E01088DDA3748DEB1A7FBEB2D9D5625149
-06F512CAB6655C97060CE906ABD62996B2F1EFB10585C49EB019986CD391C1250C9E290F
-435A19B3035A30B415C614D64E396E5AF2970E36BB508E4AA4A030C9A38ED4D04B967E2C
-F5BDFC66833DCC48BC43772864DC29337040BC9AFBBA5E6272CEB78222394AF8362D32AF
-C1AA0E3359A4DCF2A98F14C1876631E2C98E8E29C41655F970963592C4BA3D028420B197
-559C882A42896CA2FCAE8919352A02C39BF565A6841E3B181234E3750125F983E415A065
-137F3C67B80FBF6390B53BEDBD3ABF8E11C807C89B1420C37C790BAFFDE9EFFDE9092673
-DFC748B14ADE1A7B9883C545C0C145DA0D404571F94F4A161F7A747EFC311D1F52C33CF5
-993D987161F2AF52920FE97AEFC3651767C8750FDB45920C972401A337517BB88B3B65EC
-B1E6A67B6B0728E3A1E46B1FDCBBE1D3757D715F91AE74F3740D2329944246FFC50665A3
-87B472AB71CA71539C2D15C56AEE7951666BB869FDDB6D91FB4F90A00163E7F1F4634472
-46DC61B4B08ED312157BA05105B93F0F8DE781CFB59480E1B8596A3354C8783CEF52EFDC
-74C9D143C16088448B8A9CBBCEC59900B16961E845CC92AAF400943EEDFE174CB3E465DA
-6D92240D8CEED8557EC7631EA9D2B4F0758CDD9847D703A5623FC1C96D321482243A6E9C
-853FA07459B8DF72F6D6CADDE4D92A8B110566984A4B8678B8CC8FF4B2F4665030FC2B47
-A0102CBB3D8F4E0C40D761D05BF4B9A684FCE51A5F750093AE65299413225E64BB20D6C3
-E287D934DD3040DEFDA92AFBA6E79483DF64FE3CB9B265F7CDDB2F5DEA767D5967CF0393
-B7405BE70F810DEF309C5D2EE786DBD819EA4A4253125AEA8DDE8F9AC42AB35E11773CC8
-434462261939FE3EE8F30383450E3C6CBB033FC839332F6B6092E724274A89C86BB4ECCE
-2FF70EF35268E9EFD66F1A75222BAA8CC9F9F4BB4943CB28207C633004F31E0721FA48B7
-D1E9D10A0694EF6A58A1F01EAA6BE615F2B1BAC49B9CC0A77FE251B7CF5611ACB1A0BD53
-8ABF1BE4F584AABB038F4FE84606BD96CF25FE9146651587023F868B13557E4153F2FAE2
-070BE3D081C4CC5410E803F04FC2284EDEE54DD387DD61F0B3C2A1815B35DBE6FFE337D0
-7C50DFF344C2A4D9921DC7FD0FBA8CA06FB07CED571BE57E89C3E429B40F0D8EDE7B522A
-32AF6249D1EB966D27A5424495A82F15DBC8FC90B8619C0363AFA45C26D60FBB408606D9
-A37B385582513B61641595F7328A1EC830E90BB7C8B186552E2F645E2F09553BAA432558
-DEAEDDD0591CA23F19E6B9D2143F0CFC9550A43DE70F69A66A89C4E505E02FDF77C87E3F
-A3768B12B7B7137C5DF761978563CC1C81AF9B7721D1E21A7E18CFD583EE4BC928E75AE8
-3F4DEF7A587D0AF30DE0CF4D74872360DB3BCD6529906995C1294DB90C93B44EBFB95527
-3D0B704C529EE441EA8E1EE2E3B03B7BA50CEC0C34AC176EB56AADB692EE9A53C215AB0C
-5736A3A4EC7E37F2ED5E4BDC7B82D0E35E06915E068FD974F225E70461D780906A7B7831
-AA07687C177FE71B84A4136C7A6BF2FE6408A9C7049795C49326069BF24244430A960ABC
-ACE67533486D6D5C6CA89D71904C5C48D02969628A2184F6B36C5FFB64A671116196BBE7
-4FA57CA9CC66378C0CF086FBDF05DFA609BCED01EF21DB027551B888242BDD941C302340
-0C2622E8557A0E12DDF981313D1F5953B57835592C8828C102C16EC39D06B63F31C373A2
-5077672A1134EFE0D4437E8F38AB373B214EB5F2BE1F6D80A07E1AA296AB7F974EE1DD76
-EED4B86A3CBA0E3C9D9F1A12F5E58913054D4557C2CC1C2C147196C7CB1435CC90C5D7CB
-D2379FE287CE562D9B7660E157E175ECCE8AA94B1173665484D19D65A9B191D4C09D43B7
-90D1DA313C09025020B2315B0112B8E059E01525EE0AF0189CE06A307801725A26B2B3D1
-F0A1BFA9056E1D7DF67B1A8E82946D5328AAB07A9D90E21F5163B1E3DD6D789068C8A1DB
-553FCEA69C14609A69805B3333EB608E4744C58C454DE66723A7794D09DEF7C6C981DDF8
-1B84B3E498D055ECEB6E8372D331861437AA69AE7D9A0932F4E71B9930D6F2DC38161257
-A32B87A7D37D200A5B9B5B257C0C9833BF04F91496BBAE83E9AE742362D8E74E0A4AE5CA
-029B5CA078EA6D8F00B1ABB84A08FF1C03BA539128A42166D06E09FA8AE71B74A216ECCC
-82DB316C9589BC68456F8ECD9B4BEF1E12506D537B6BE4CBB15C969B05D2F220B6E2678F
-4F2D497DFB72D8F9584FBF0D363547F84E1B28FEA0C869A090FADD5B90E36B88326F6589
-BCFD8FDAB3993532F04949DB9EC2D2F2F1360E2E75AE76A6796A2E7AFED4DAB1B7B10D54
-33AB4C76331AABAE0D3ACAAA62C1BC3F72662EC71B76568BF3450B45C2D09BECB562A49D
-3428A9DEED6D956CE1AFD83D90A0FC021957B45B8C03CDE0579EDADAB4BA570B29809545
-3A1D56FB60FCF22C038803ED3908D09A5E4E3EACD180A6D355FD7EB96B05305E841DED98
-07F75F133A6CA5D3415D0376504634B8DC2AC7A5BB53F9A3A032A878DFFA224FAD7A22B6
-9416767480B814D12E7D316D07AE8AA5117C04503B2E194F5CE94EFEE005DA30AD9114C8
-BA99323CF76547C24D607E40B62C51D86B672675E6F0730ABDC9B7B186D7EFDC4BEE86A6
-6456C4074BAF42818B46DB83D70FC8D1CA702CBB672B38BF0E776B52755468462B2EA034
-DA32113FC26E122261018D3A125D174D301FF7B16B57A406CD70110AD35710C2B67B7330
-CEC7B6B33770572AA9227AC52B0D6C6D0E25515C5844FD5D24140E01F3A4099BE114B94F
-DB65580BAB585F3561FC997C5DFC1A27A5AB4CC6DAB5DF46F3D575316C81A2049089FCD4
-1E4740F4D16EEB08F117EEED488A6A9DE20B498CB60E48EB5A0839134B9F102BFBBBA982
-74ECB5679EBC7CD178B6F179ED979AE8E9A41763A97B4E14A7AB6A2C1A446615786CA3FA
-32BAC716808B486702635502AA9F336C101A6E6A5F3033F5A92E13B9DFEEA4E7E98422E3
-3D051264262DAF41BDE94B43E0A375A42C59702EF2C43445C5EC7B6002BDE7C342F52AC3
-A5844A0EE75F5670C8B80AEBDDB2FE3D28BD6961037C0C54BE5ED708F683D1494DDFBCDC
-976AB35442BB049A5ABAD1246996AB4E56CB0DC9596EE6ED06D02BB2DF9A7C9CD5B07BDB
-7AD345607291736909E194D93DC68A1C612945A264A81603A9D0DFD5435DDB97F42957BC
-AB7D6B400E2943A3F455918135E6EFFB0AA5E9C3509860CB5727363AC596CA1D08979225
-814CBD4A22CB979E1A6F6B9BD0359E782E852F51DAB107EFB2C2F1CE5D69D5471704572B
-65A8B8B45305088AF7FA401348962022C952067504E39F3E879025FBE8E5ADD940B6D4D1
-737101C3999B9C6F58B259219AF84F1C146AE2DDF02C492FB5F582E739F1D1A3A0752CBD
-5C401C91BFA7BE13F936DDA112AD87ACFAA7DF7CDB341443967E8CE3091F024329934DA6
-AE431187CF6C1955744518EDEFA73ED94EF60764C59EC21CBB08EA73512314A7E0658DCD
-B61CDF37259EDE297DDDD7022DF5174DE5FA5216E566D1AF3249DE12E3A4EEF90A125EB0
-5633B85E3A12463693D5E2D6C01F5353761DE77FC8BDEF35FE0432E1CE3254F0F50A1B77
-C2245BB6DAA558E893F89AD98296C328D37C816CA808943AC488BC0090A4DB29DB0EAE82
-C89337A7C3FD1B4000202C42489974411B7B63D69BCB12E7EE7173E51D1DA17D7C82E6D9
-F810E76A97A9F118F1989B9DF448249BA2AD095A9698BB74D744C9ABCADAD6260E069C9C
-73B05D41228C475C1207FB4AA8A14562FDC889D6870F5D045073F18D8716944B52A7F9C5
-0005002C0D1032B7F3ED2F60E9B27D056D1BF9AE3B1C9B4AE9A76EFAB3EB926376080C14
-5100DBBA2FAFB47E119443AAC33CD4A49DBB8C0E8629C56B8427AA94A6E076EDD6A16574
-336E6AC1D23E04E9BDA3CD2C926604C4E8170A3B9599FBFA9D3C8BD6192020E0296968C2
-EFA8C621C0FB0AFD399FD8E14CCDD94D5C6406D6B1A2564507BC818467322EDC55C3A3EE
-E343DC08142264D205F542C023F8C82CAFAF6DC194E2016202247696F03CAD55224FDBCB
-0E8DD2C9DC53F5BA9DAB23C033C788CBA2382EEA7390EE61A9672345EE2749CCA136632B
-34AA12A5FC16974E9EB835A5598ADA0898BA5C87757D5EADAB5D0F71E4B75B8B1D711128
-E277A973EC136CAFFEF269A28B00881991B33CC8C5DF618B95C049CD97D746978B6C3AC0
-CB9EF6A51BD9702D0C14AB484DA4AC2400BDC557CD5E57A2421ADEC7F2326370E6F5D5C2
-9DAC782AB9255D0F4D0C98E7F9E0D7D31B114B1BD18AA2510E4F4A97582A15F170C12EFE
-80842C1D3FB9C74F40DDCC8517FB123EDCA605305E841DDB1E5AD5448DD4972A20045021
-196CC951B8C99E3F000CF984252686EBBDE5DA0593C8514F131FA94949AAE1AED3E780CB
-0504CFAD74171757769C8B2F51D54DBDE3EEB48E75486B4A75E4431F8BCD1A985C4484BB
-1B5CA35F1BFE7B3A7C41A42B66756A229A7A5A0DA6B7A5084EEF6B8AC804C17F1E88E5C3
-D0C1D55BD687A9803A1AA74A60C0360873B37C79B09A1B823C3C8AA322BFA2E9B77701D2
-BD815C11DF5C55C393B73F98B73A500EEE6CBDC9E4F5405C73C3B635D6D0CA58BB47D41B
-25149C3962190A1CB6FE7A8D6D4E26A205733F42BE8A2B0A8B4573C92CC98FDD07318671
-F3D3D5C7C757DD5AC7350F64E70381D190A05C674AAA796DE36886AA50955B422BF5995B
-6F8EAD32715151456AEF2AD3D16FA3120B0E95D817F9CCCF7B2A55D529272B1E1BC060B9
-9F6342A1229DD8EC1DDFE9B59DBDF216006E98EC1AA5A1F55EA3D7EDCE63ADE2D4A3BE57
-E45A1FFFC04D1C9F1466583BB2AD58AF695DB3DC075327144B35BC40EADC993BF3BB97EC
-A3F7756324E46DC6F4A13CE5266433C90FDEF6F46D38A9CE9DBD993B941AABE630ACA87B
-B14EE46C977EAF512A769611F269A17D6A7889F28F4D38CB9F20580F6F4F5324FBF8F6B4
-F6C101ED306407463004171F3C8EEC70B9A2FBAFE213D1450F9E368E56183F4449780F4C
-20171C3354E3AFD7D31B9CD7979F57FE545B06F40AB613B5B91D21D9E50B7B01E057F02D
-DE24F4720972007D62736223D8C3C442CA0BBC8F31D29387399CEEC87700982A394A11CC
-C73E118113558A4D44BA30924C4310F7C83F2C6D3FF570FCB031C12322CBD38CF98053AF
-BEC2E7DA168EAB3B646713AD5C3FB0CAC7BE1D7CC779FDBEDA2FB78CADFB0EDE7BC13C17
-531C20EFA0C63BC58AA447545EB89FE0271198D71AE26924F939A063521C082560D97EE9
-6130A6F6EB7CB75BADBA1A8A00736860986EC623DA35F8210E26B843345B941C0C0B262E
-B8EEB95482CB4EB437431E541F1C2820699258B1D17229E1DC8D7B170742CA64773F8062
-330A53950E929080661E588C1E4B85B5235130D50876837EF131D3F01CB0508954F39838
-ED8A7F38E5E7AEC8A74FC71EFE42E03E01B3CE075AC305B223B03944F9C39193A9EB6334
-FE05EFB242FECDEB2CFB62E0852B8AE333A92B8CD54F33318B1B22A8FBE47619A40D2CE1
-226735134BD860754D2804FC482441D48F1239B2D53E0ABD6FA1D556E4551203DDC5C79A
-F0169D0306F1BD451D9FAF5A200FAC1C833CD3E72E37AF7D95860D2D04A1FCAE8EDCC522
-255D759C135B7812CBD0A6EA9BDCC084E528A533B79FE9CE5BA00E86448CA798C6CA5B05
-5EF88EEB8EB276D2E84524D64468EA6D25F062CE4D47C1E15CD734BBD04308FF67DA439D
-577A00E4824EBFCB2EA5A00B55655157AFA0DA8FBBBC520A39B37D9FAE15A2CC90DE8B11
-9F69965BD22F20B63A3DC8C71A15510F85AC76F3248D2E5593266D9874E3C099649F78A1
-85F07DC3D9C1CA1FB2FCDF2808945571904E3E37A00EAF493BFDF11E9B6D4DD951C76EB9
-9BA671641E4A3FFA7C16F3AF41ECE3EDAEB91B0D8065D2324856C13B02C6666AE0DE50A2
-EB8380E0CF9665C3005EBFBC1AC075D05713A70CDD5590E7B9A54CDAA5F5BD2463AE744A
-A12F29C1C2D241712C3A80DC860C4BE572905586FCF974241213D073D3AFE446608B31B9
-E4F368D5627A50E0D55F22899B18E8BBD1DC96EA7EE8411650950B38E5E977E25A210070
-B8BCD0C109AAA5E1D838AFB35A25B0C32267672D34D5E1F139DFC10AE6D23F14B07190A6
-0DA8E6522D3050EACCE19A9D1C762BFF247CADBD1D1F172C006DB745A3F4D05D33957DFB
-471AE4ACE69B8AE49D8257B8B88D36865C0301D3DBF8114850A2B05D2A8121B3335DD399
-067962216367A8E8CC834D69BF7E16D06B4C7F602F908DA3903FEAC017228C976741A421
-C49048140D1B8D484153AB948A01CD7113C0AB9BD5466F8A26557E9F984BEA514EBE72E8
-C38FAB5F634EAB033C960539945FFDCF63E1DF47A8C6BF4460F6DB6778BE2D90B90BAEF4
-6AADCACBC8D1DE9BA3E9D4A2A8EB70F5CC3F02ECF6D76BCFDCAB9BBD36DF52DF860D64E1
-F0958B74361BA4298D792AF1D119905FE6D3067BFA8146CE1633D5C4658847F3F9E18143
-F1AB4D35C953AA5105FF94FC0C345E478B5B1D4584CA7BC050A31740EDE0FAC5EFA57126
-2CDAE360AB92ACBFD23807A0394160A8EF0B0F320CE3685040D091289DBCE3454B1ED51C
-83D8EDB2C86C71805DDBD584BB61E88A673ECD1535F5891EF7695F182F783B59ECBB0DA0
-B445D7AB5DF5C9BD042929611182301813145BAAC4D54644E93BC8FD2CEDE0207B5D60ED
-FF95CE7CC60DA632FEA04F8BC518E4A5197BBE065062556EADE480A86B8A2E0C9F1BF739
-1102D97C4D6A33B05C2EC5F457306266572C06274ABA9EEDB8F3C4E405EB5F132AB3E947
-CFF44017C6D8B79980DDEB698BB03BEB0C864A0766EDE34FED65FA889C5F149736CB7640
-B13BDA9CC6D5BF72FBC3009CB4FF5A877CA3E973A2A08FF25B212B8665DC4D6630B6EB48
-0D6E1E8DCA6F34AC6EAA482A4C6AD1763E17665BDE15BC08806A3FF8BE68584C8EABDFB1
-1E415329EFD07459890671D21872E0B0CB2EE1577B4A9283F224E3D0CA7106ED0C91FFFB
-4A3B8CBDB5E528C8D95D19741F16DF780F6D49FF6815351D0F0D92A0CD72FD14A19E1DB9
-97C3CC11BD6FB2AEB5281951D508A3EAAAFBB048B87AFC7CAB9BBE1D1C407D52978B6AC4
-6136E779209453BC2A6A86C198D1DFD8818526715228EBB5F411E1554004F48FDDD2607B
-E0D3979B82E35B78985FAC19CC95022D1F0AB9358CFE21C27BAB89AE4B03CD35565BC65B
-E6E25BBC43F5298B14000AC0867BAE57BCBC40E938C304F37D9AC390A90BB5ACC906599E
-789066315EEC0C15FDEC2F6E637A3082C85B2ED6BCFD621F033396CF1B7330D97265F873
-C92A64271C6CD63635758B05C10F67831EE579EF0B4AEAC245BC87541C1E7561E24B5E01
-B323E220BF1170BE5A4319684883C910556AB899372CF97C572D1AA86A34D826D6D4A048
-AE28B9D3E63A00A6CD36A5C4472E1B7840FD3B09A16190BB63588E98921E17D4180AA540
-56457195934F082F0C0F7D104E9271FB8E7D0CECCD395BCFF6539B76EC3FDBB1363A56ED
-366E8F9DD48A9349E4DD8A78C5B683E8365F3D0B4F2F8DE3D70B0B8825667406898EFF52
-A957499AE83E6FD2037CBDBE6B9265B0CB7323F86AD386F7A65CBFA93DD00255BBA82F96
-34A80487F68BC69000869F6CBDD217096BBE6BD9179DEEBE12422C308CE023854FBC077B
-BF1B820172633D8F70B26A302EE6B64258FE46DA73AB8C384756200C95A5623D0F2A41E4
-7EE54394A784941A06F082C737B9C6C5855C5F11729D6777E38A6B5F061C8E324CD2469C
-37B564AED2568502B980A054BA7007E8D9ED7733D3956BF5A3AD62C262CFA0BA9BFE0772
-7B67909D59A0084BBB85DE630245D514D86A920891417AB9FBC93863498E04E1DB27EC92
-6F5455BF6A5D09BB6C4968E10A177CA4B057E7D360F4646C986BDC5FB0C7ADA94D69F257
-96A37E10F1C62FE65D66790A0599D0A20ACD87AE4ECAD36C45678542E8D8E364DA954F9E
-E832D403BAD839441AA6F7118FD8C18B5C36F20EA984755E672FD1C2DECC0F6764711C3E
-7F6710BB8C7911BBDDB001B9CCBDD363B8CD618CF15ED57B63E5436047E7FB5BAE45D062
-D2EDEC99D9335118AC31D73AC1770FD0E5618608C7F42507753B5115520D4E220339B3B8
-AC54C83451996E8A489FA86B1E6C990A5000614688D4C29AD6EF8010131BEC1AD2670F9C
-DBAC78485175F999CDFFB8572F30648EB8F49548850B6CBED30114EFB970C8A58E814239
-CB0C1A855ECB24E0E38A6F4AC9EA5D255A9EE180F41213F8168F03E4F646411AB5B4AFFB
-B17C2533092A51313D3556E734FA0970E0760CE24A573A511EDF00457F348C5E465C1AF1
-198BCBA0CA6DB414B66EBF68E557E2EA72E80D7615B3A3017214BF1525A6CCCD1BBB3925
-C42E13E162797DC077B2674BCA2265F48F72407B24CA2002C2DBD2DAEFE4D0BF1B1D682E
-40B74BAD6C4B69328848F208D5ECA1A49B6F59E89B306FC5C47E6C007A5B0E5380538B38
-1DAAB61199AF1857C9D0649570534B486FB5144D9588547716F848A8015C8C2D21995D4C
-860802DFB07E4DF45E09C7D7FD5EE824CE4128ADF624250D69ACC87A0A10F647E7575DF1
-E7ADE6B0BCF063411797D563441EBCFB213F200A4CE96623BD6CF127727364E0450EFE99
-288E9A3B1FA4A1E776C9BC581931B72749EF0DF7D786F898CEB10158B705BD15B6A9ADC9
-9C7E2E3624905EC361BEEBA65E43FEDA49EB8F8A85187973C5D19FB54BDDCD79E42E2C08
-130865F10D7D600246548D33303B617CD6F81E0A11F4BC23DA3B167E5B2FBDA8BE051C49
-536C4B0940C61A954418AFAD8B0B19D85DEB12B1219DE27FF75797D0DA16F00F80AC113D
-F19AE8BF86FCBB602F3BC696611935FDCB61F05EE17FDC36E0B1087187F80D5C3EAE1B17
-DC1BA5817CBA5C3CBAB6BD6455AA2C3B44B57494B8BD08859C1213B24A62755F7CCA048F
-63F3F430CCEB00BBF39343F25AD4B6C62039A3F7B943344F86312E7566620694B77C5B69
-2AB977A7331B5F38D883F9B7C4F89E4A66F725E0EBD8E988AB9AAECF32D31C75A3E6849C
-32E4F06196DB937008FFA15DA36CA90BECBE909AEF6CA20E2315C82BA27385D08720E1FC
-BD5652AE843BE5F3D457B7F488E7AFDDDCD29BDF7ACEDF1075ED819674E47D0FC92DB7FE
-0AFDE6D58685F855FFDF52CE51B9C2720A82712A4B7BD96DE3EA95CD1635ECF7663C1D54
-A885A6AE72D84462639C52F987138050CBF73A5504F66D1430DFACF226FF12069A80ABDD
-0141CC2E05524BAC464CA4C59AF2912A2A4EA112F8C8A0BC4C908BD6C0BBA0123110F3E9
-CE3A216081892A19AC53FAD507E34110EFC7D4699A98849C5502F9DCD4418FA81EAC9481
-E4C20B4F46BE4DD134FFB03E47D6547D6540E1EA036167460F2922629E01ED36553AF423
-0050BBA670A4B74790B213D70D7ED543F9787E8920551C4703DB62110EF2E30DF12E91F6
-8AE86C3C6F9EB3043C162C0A0CFF7D4FA90CFDA5278D2B47D265D06CC33FCDDFDF3C68D3
-6BEDCBABB491F89962A46F90923C51EFEACB39FA22A36CDDEA38855682F126AEBEC06558
-94CE26C769392D71F1C4CBC34E3A4565EE74D67AB272327B457D346B756322FCA806938F
-BFB118244CE3B164ABB58135A96B7E1211220995376CD058DDBC291AEFEE79A41501AA17
-BE5200BA08E047BF985A97A8DCC1640E279DD35938B57C186918F163012A4C947D665449
-5CAC149C96F6A40502ACF8BE05D671777DCD218EF7FFF41AF93A80418A2AB81FA89120BC
-91A462F034E8801E1251BC3327321C7C0652ED3B26CB8B6CADF42AE3D97A8DB1A732E452
-FF187A97A2E03372667F91825FF3CC861B4122A1A0A3F4564323209DCB8FD2A886E95F58
-1539C74E4F5A0EC5B63DFB416F3859B46DCDBE7D724DACA0C5B6483FEABF3F36D6B13D2A
-49DACF1EAC4FA6C7B161A22CD876F5D511C2C2FC96C8B3AE53311E2D9468874BBB9E6B4B
-D18C5DA32F4E00923F59D2FC2079BD4BEDFA9E960249C650EADF2937CF7E339FD103CF71
-AF2549D4E9763E75A84744E73F70B669B6808258677265A9C2A48D95CF90D1E1585B4B60
-D19CA105909FE1D0EBCF533562ED6953C71C3CBD9CC474B6F6418A87C6B608E9D62CD3B4
-15565A14EAA18B23199A1521B101314B38A6662F5EE6390C9DEB538F5AF1BCC84DC9CA33
-E2D403FB1FB1A2E12D485D534F1A8A27447B5F9F13ECE527F7CD3CD9144AC5F137637659
-8199D0EE633CCD95797F4D55447D3105AA87498F1FC8B8750A440C46ABF820EF499F9D5A
-2818FFC414EEABC029AD6F961CA43BF94BFAEEDB8962A6124A192E1343E16A5E20204016
-B5175FF8252310B60F276148849E8556BBBD44CB9E59F5992AC845CDB2BC3B33BD7F0816
-2C36B7D91BD17A37F77A7938A5209FE92DEAD16A595E91917F6E49ECAD8C7B01F1565089
-815BAD961827931E718DF2B1F9743B938ACA21B648916FA76C5C99BFAC1DA9526A8F8793
-733B8CB1123A12E1FAEFE75332D850FB7F296539E76031DDEA6851EA00D97F7B83945C3E
-5C29D9B7F31B9A7B541B7640C17347CB2E39C15FDCF8C8B8ECE605239020783F333064E9
-ABBF3236976CC021E852C2D1C1A95D6DFD5746E076D14E75D2D31D0E93260802D9B4B846
-865DDE6FD59150562F6EF062B5DFE7C136978FB4A84ECB6AD463E199CB6ED2A9EDD7CBED
-D8BB618DA4E68319C7F194C0DEE2AF19A36943837505AA05FCFA86550C704A7EF74227D6
-58BFB33945D1E1FF102C91F6378D54AF74F1CEB81BEE7A848B8C933E4F9AB1D6914D9010
-9FF6C47194AFE0004A7245ABA2CE53A6C0B8636FB445E1D27E631618DCEE6E1FAFA19B28
-A3FF71FE46241F832D43FA786CAA4B5125821F13BA3023B54DC4E59CBB027C1720432DED
-5D53E05E2E830F53F6CEFFA0F17394A13EDC3ED8EE8493523394C5C73CA15C428E481D73
-FD4BAC226F9B923A1BC380535B19161F12034CC22DB93B335E1D603F8FAFF5BAF4410A02
-C8D0391C8B118EFBE289DD957956EF0CAC55D68F2069FF4D24ADE54DC83286E790F7EC12
-2EA9CE466BDD9175E8D50EF54A5219997A440C689634B35CB4C440327CD35CB05AE77E39
-87D742854CEC4E4784D4C1B06340295D19C1944BCF826E96FF84B4C80E173892B6DEAB45
-DFC0BF6CE1142215881A64D73D10AE8BB835CAFEED23A7810FB3FA4E8D811809BECD7062
-2C9C6CE8725C331F42F991BC35674C0E451EB19887FF4792D738D4E22E4BB897C03E79BA
-7F79F5CBFC2FB014BB58DEFF61A4AF62F3029F6829CF1DF5BD69FB1C73C68E36F2B3B1B2
-30B1D436D6DCA96563DA655E275ABB2AFD15D313D000D8E3F0D3461421D52B2A22623249
-E155D6276A5E6E0B5746C1BAB10B628092CD035976220A0121A3D16BC6B6F222511DA119
-E245943C5E7D68E32308EFD355CA3438436A5942292295282CB1FCDAE8B7A3AD3CB39CCC
-5A6DDC8FC771700383C268F4D676E9DBDC33C14688F23179089396251728AF49BE24D02A
-7CA4B1AA3CC148FB87E7C87EE41FE22723009FE89BD2DC689DDC9F034931ED7802B014F1
-C20D8F53EC110CDF35B8360FB1C58C9AA0F366260F36D21232E89FA1314476FFBA7F3AB8
-935147AF814D3BFF97635B11AB9EA47F6EF5952ABE438B536CF0FF25848F7480DFF36F43
-7CE6BD8701F4394A80E4D62731086ADAEEC41E6017A8AB72F890E9ED036C13BE24A7F2D0
-ABF1999B865B61349C501A9024FD08A319FB8E5DBA6E7283E8FC0BE48B9672CECD1F1091
-23A155914F163FD67AA466048A46DE447257D86C493B90178F37A23D66D192E552E46CB8
-E3C6D39B4CF574DF2C38CA6C74D0881E6E5C068766AC2898185BB326890F530984F3F31F
-57F80C0220E2CDC14CE937420869C037B4C197C44B59FF91FAD5DAA875A7802A293679A8
-2AF31176B3DBDCA9FB5BF5C40038E7F119C61B7554F35DA79D942B9BE756497B3C9B7A19
-E5BCFFFD7BDD046EED61780D4CC5A7F8E3A78B7B2414212870BA0D27FF3C01B2AB030EEB
-8F036B48673D6AB3460BB45939214BAB345B8D1FD6D2CDD3CAB37376244A7AC0FA3DF861
-60A193EE77CCCA93B2D984FA9CF07A54E9207EE127EF5B877A561216609567F9BD907BB2
-11A7383579FAB14FFACCFCC0E260DDCE27377C32FC039FF52A5D8059E7D4CFC880B0D634
-51482FC24A8E711B3D962A0926F4A0FBDF29036E0499FE6F5D115B7A95A059D6FCC36C87
-03DB34BB67B65F511637D91C428EED31371E9E9A00FA82BAC36AE2FDD0ADAD995E0E96FB
-C909C5AC04BB213EBB5865A2CCE6942DD92EC73AF8C7D554A4B32910C7CE57EE79D11ACB
-26D7CADECC469CF16953A50DDB0FF9A909F0382FC342CB38E2F3D8EDD0DC5919433386D1
-14B708E1AE5F01C2F08B8C8741D67BD1F02B4934A76D79B095AF43B68958BDE13D0F570B
-71128A40A050BFF9C5D944C09A4B5D8AD0758B497771699B4E577436B15E31EF7D804663
-F768B9F5C9829EFFD5B479E1A0813E49D48705EFCCBCB2B23A7F0C39DAC69E7E35D7F4BA
-770945D9F36A39D251B6CB76C88AD374E177B0F9D703865A69CEB6C0157419E781888F73
-47D0D641C43FF3521C3F380E26ADA5237ADE8C5FEEC8AF046C1B46903941181D958F16D1
-908D95A62869DE2DFD0AAC4D7441238B2ED50CDF729B10961883EC733F806C587C2D8F7D
-B205AA3E7F6E34D5A2A2003E8CFDD22A63DAC1B04A11D77A6830CED7D9DA87BBD9E8D278
-275D1626D31054A23E9283FEC3D634BA1544AC5AD0E28DBD03C5CABF697DEAAE65D6167D
-0E2EC4BC6C3B91581AC32B45F7ABA1B825848552D1413D1B5111168959A23F54C5B8E5E1
-B49C4096D5F546388E1279891E01D1FFDF63940F7AA520570B408C9C2CDA7F5A4B058919
-53B35D7523EA69927469DC90F6D8E15782204AE32885DC6BE6107D5EEFB29F69FBFECE44
-70CEFB37D0093844BE3ED424EFF064CF724A54B6B720ED020E70ADAC6716787FEEA1F22C
-84A5E59BC6A643A29F50E3B76E6658D5BD8CA3554EA68CBFACD0CA0882B8E3389EE7945B
-AC71B219233EE299C4C8FFB3BEB77BD483DE2A89DE4E697FA3A057EC47448CB99A7F1696
-00BBE4735D36408548405A8D4CE4209445DD0C4FFAA271ADCD14DDAA1598D44247156649
-1009AFC9B40874D4499857EF50BA7038F25A2159AAF9AC535EE1BC83E515D1439057F042
-C62DCB063AF8F014090AC771CC83DDFFFE0336CD4F14E3B6397E7AA442FF3C385A5A4B59
-2080801CC0BD5EA5F608A7936BD16248E3CAA7B49A475BEC9720EE44A06921A93375F344
-013752C467DB023F3F01FA7F427121DE5C4AFF495A06932C52FAA62C043B22ADA265BC90
-61B7702F9E44E326B54A423A472D23817F6135E05C1DDE477A9E27F42F5555E8FC22060B
-D53ECBCA45C31C09BACC68EEA5126EE5E73502F2CF42BC5916B95590B778D556C4DB817B
-2780787590B62405840D01F6B5301260E1EF0856219246C2CA7FBFB307FA728241E9A08F
-F8FE0F6E708228172358EB98895B3C3C7FBAB501BEA9911A6C6769456E491C89B2FBD751
-C9339E174850B679B47118416AF8E849438FA52C4E2A0D1D8AB94385FED3747F9A8E78E5
-47FA728DA9C44F5D2296072A8ED789FAFFD237802988A20A8C16F78A50D2AB87A2BF8EC2
-8503F757AC6E9E556686A37D84D7B9DD81345E70D212D3D83E7D074A2BD9191D05205B27
-56E74664E1C3169AA601EE6276EB238E3EB9586C37ED4089E5C7AF97021FDADB6AAAF8ED
-54CF169A574A7A6066EA74B3A255CFE9B6FDC2EABF4915325BEC03173370C41B71A65C08
-C4C809A78F52E89A27514E2771572235B8CE4E21229953786A90542924444BF56C163D41
-BCBDA2BD5981499D1BBFC7F7FDCD4EBAE43341EE9EBC04A5B3E86ABAACEE27AAAAEEA722
-63298EF83E19321B7CF9B1FAE2520159C2731E6023FBDDC81296BD2303788705D7A6FF72
-5ACD9365879F3742C0A375E23B124F85E2E533F958EDD9CEF05698E4F7E2C035EE665851
-E1B9B324D381BECE9AE126892F2B51826E44B80DF026FED2832BE1414CDC410B142E9248
-380FB3EF59A1CB8944C21E3B8F0450293E6FCE004AC4B002989C877AC2648964D137D881
-7C37A778E0EB56D243F6606A883875808323739C0B55B5F82C5BBC389566B7C24604D9E1
-9070CD37A2199B77BD81C6C0E4317AA361CD7F3D4CB2EEACF59D09FCB317C2E5656DD9EE
-54D8D9C2FE364E21FDCC38F9FBE33457A70B75A4F9BE1DF8B6577B9E103F2276B77BDCA6
-0AB499915F331113F04C81F9572AFD95245AD3573A195D9CD1AF7D26FAB028F7A821DE62
-8132A99E8B39D4597457CBA2281394CF68069397BFB22BCF992989D8AFAFF25129A9F9CE
-040FCB4752291D822EBD224DAC909194EAA4A07FC65F1EDC6C2D376190875FB8D2D19820
-7F71663705D83FE18CCAB848C11C5E112193D753B6A2BD9183054AE6021629E7927E4064
-9CEB4114C9B59F9827B98A70052FB67B5C45360C9C272DCD0C7DAC2A515707F6B63B2718
-B53B84441A28F777122D848B490C796185AD91E8474267D48B36DA7E3A7F70FC0F9319D3
-F937FD90AB3859794AC608FB96E283ED974159234761B8A114C8856FA00353C44D5C3976
-54488B0CFDBBC5A243595E2950E2ADFF06568551EC636B7D18FC1E68130F6623EB109415
-5F58F46A636EB98B30DE84A313ED1ED0EC0C8032B21ECFD11F2292A31E24E702D4723F50
-632F9D91DFF52142CFE2749A16B5B81F0ECEF869A7486191A3A910AE94C24471231B733D
-FD6645C3856F341C0E1ECC17432635133CF66336D3C2C4F103C3EFE59FC7E45545A0A5A0
-CA19C0DBBF2B8CD3CBB482CD5BA7EBCA2CD5AC9E0C201FA4ACE28F00EB491ECEC3871AA9
-C0A303D585F94FCE1365117A59BD2644CE990F0A04239ED4B52CB5A0639BE554A2FFB03A
-B9BC1E6C7989680B41BE26D2B01EFFE47819E737BBDB28868E0CEA2FFE4C7300B82E3016
-3BEEAA5EC834B2A2509BE99FCA5B087861C63EE1F84AACFA6FD77543D91C9C2E525BE531
-C02FF04A1F50C50B1F9CA7157F8A7787DD417868E48A035904BDA647EACC821F0ABB4053
-F19B502075211F1E1BD2714EE43D1AE7E19F8D13354D331E1935BB1246544EFA1DE7390F
-7A561A6CC3F48C222A9C6C0B3A89714A16B3F61B6E26E3238FD641D431C7F6EC8005ECB3
-113C00A96AD8842746CF3D457F0F951D90C797716C3E8A08059207DBBB40D9095D8074E1
-069E36841ECC7EBF2081F293C194A044F5FD536D0F3B6551AD3CEA2FB84A5A32E20E34E2
-CDC9AF5E6839C3521EBECE2F4B39788F313FAB6D0F089BE45A7F4FB021D15C2661BA55F8
-691E8A9E5AE18FA617E5AC262F24962132E051BA7DDBBD3C5E7B3256ED5BBF7A670E0091
-B3AA0F6860559521C858CE6FC640029FD9D5FE03D1CC485A27080DE3BA08A36DDF87C81E
-CE731AF1CE3F87FB19F91E324FF044110AE7C39110F9787C7F69E9C09FFBE37BA8B3DD17
-9B1EA5E176D6562DAC43992B8B5AED68898B6D56189426727100A36D92E2CB96672F58EE
-EF30E90EC2569CEE9DA1B590F16B88E5E55FAEE2477E36E9CECA4D4DD9E969FC0D27CB94
-B5C3E738635D3C9AB4A0191CB553399EBB25D1D43DDA545A732B66DCF18A913EB214AAE9
-A408BC1E04449C07E114142FC22AC8639359B2413F3ADF5303088B00DBCD6AAF1ED46964
-F749F420207CE7CB3A27A4C260E174E17C6892695B3167B65271C232F1C67BCAD83B0216
-278FAD19834B58E7E1A2813EAB45DAC586EDEF11FF9CFC828811CC290C4EA40017A4BBD8
-889D5373B0002C0DCE55B2EABAB80E58B4341F386781264AD72C9B251255C0983AEB350B
-03410B4C7E7E2ABE655E3A7AAB548D49C1EC489006EF4167BE2EA41CAD999E4CD6328ED0
-726C61B51EDF0952909C38480A6E801ADC241B50A972D31C7AC63BEB3746172F1CAFFA20
-D6E1009B9B1E79308ED3CD70D3F2975B0D241D8CDFD191A934E83E0BF3A938E19B3C461F
-566B19516C068AD6BA4DF7CB37EA8343DB1ECD5CAEE329432E15147CE61AC4EEC2866463
-557C05CD59FCE1659245B7D8AB628F2ED8B24F6AD0B1AD37797FC20C098445EA1F43E3B3
-388550D0AFD24C74AAB269C1FE7596CF8F010D665111305ECFDEF52E89C240510D5D83F8
-FFC38DD47A537F55F7F79CB460F36812A1E3C26E8A7DD6131DA076BFA93D6C03E6E4C279
-D720B41A9CCD6A58EE1BD43A3035CDCE464BDC7CEBD79B867F30B0D15400B897A5ED7324
-A4A75568BD1211D036A5710F23C7A2E1D3F7E45C929FDA7ED13EFBEC7604427BCF853F92
-D954E627D0ED842663CFB64A2A6358C86F80FFB6A955C17B04B096D76B03DA9660D93004
-C44AAB74C40F99C702BBF33C4FE471ED4E6A0ABF3B15B340708D5D16FAB80D1E51F7D1A3
-8C7AC19A871C5D47963CE3CB961AF75A47C09B7AE97A3EB1C16D64D12A0798D5CAB48F68
-0E6B2DD1F7BCF7FD97719CBD7FCA4BC1CF31640675AB798F7A7CCD4E4A109E0E00A806F5
-8888F7A7091A9B7CFD350599C9AA0E7F679AB200035F48A57172C499737631A4F442F3A1
-BF5A3E5A2B77E02B66768DB9E76AE46E403E0E4BFBC1F14256ECD89BDF623F266389DF28
-AAC38991DDD4743F4A3B8EAEA45BF38EEFD1B7D3998B9B8542E78EB9FEFCB9D256EA8EA7
-6B56BA2A4849598F03483C59ED550D3508D12B35E4B82C2703883BBAFC0885BAE8B1440C
-D2E368939FFE45BFEB172FCC597F19B089FC567332C97C3567C9DA05A3B99DADAB2BA61E
-B9CFC9C1407322118C7B7BE2686FB5DBF0D31C5116F2F232AC8C3B6B1ED3E36AE2E9A638
-1E714212A76D2733DCF8F2BA8C1BB345A8B3D98162EE87C308539AEC3EC8EDA6CFDC423F
-BDF208A89A906314950C1877A12E14C1DCBE5033474850128DFECB859E33F6EE578BB384
-DDC252AF788BD61E95E5375D134D6457B0A4690D7239440FF37E9F67CF10D1EE312653A0
-22702614C537EE7FFC677F630A079A98139EAA23FA2764B1D37CF5360002711890C12374
-CE980C83FF11E102C7AC31E4D96862CD3B8A77FB59FB8F3932750F21929B00912332196F
-D9AABC0E4703C7BBB695FB1EC820CB6F69B9869FB819DD43AB4000BF70FA0320B5D3D2DF
-8801021F0B0A45EEBCA8BFE6B616DCA4641358A4A18CFC749B17058929CAEFE146183C73
-BFD0BC668BE2EB8CC7003FBFC5F79373DAA86E4D9B65953031DCED7595D7779FA985FB1F
-176161B955D22591CD434DA21E63FD9DF743B49B16A5ABE84E74293B1CE2BB4E2481770C
-9B90A6641984001AF9E6DFB280D37922ED6A77D3C92F9E0F82B4CEC5FE92CFDCDF708EA3
-47EE98261C07F434E88A2042877D47C813992A1DBED99A6898288156CA26C7E473988BE2
-F5EC8DDD0FEE7D552832B69523330C12C6F0A307CDA286454EEBEB0B236AF69390B6FD9D
-3546DE7015FBA1D36B08769D5DF07FFCC8AAAC31825F0F515813221E1D467F126CB9BDCD
-E95DF5C7D64FF789BDB3A3339130A974D96606CBB812C8AEE855F29C5BDD9BA49FBDD481
-14DB68A228B685F35B5C33A9CE2CA9E0C30690831780284D6A75C9F9D86CC5A492EA5264
-09E1A2736EABD5FEF257F027B7363F8BF39519DB2940A1DFF0B3DCEC5CFBEE09633B4DF2
-6C29184ABEC66BB894F685BCF2AAF1301B1AB15398050C86A84E87491489F15FD2907D7D
-ADD73C36FD0F7A40E021077CDD8AAA237DC9CB5E13C00EB7E91353BC58E0B8870BB319F5
-074B651F0D5179AABF87D023AFE75B3AA68D62FB959A5B6EFEA8D204C09F72B038A8C5D0
-9977F1457ED158E3BB57CE63EC2EE4577DE42F9D91AA5ADF0460374A36C972C33616D040
-2D8C1257C018B736CAD8BC182ECF63CEA524C8B3835E9CBF7618D930717C9DF018778787
-B5BD608E6DDE644B3CEC092A232B66420872C1412751FE7A72D604B7C01CB200506DD521
-F45DAE82F0C7CD4AB3B8E2E1B5A9B3D13546DA5A45A3195DC9A550D428882299614F9E8D
-47E1674C7A95FE4B8E5EDA9D9499614A78DC322870B32E916C14088CFA3A76BA4F7CE4B6
-5C979130800F2F2D998F48DC5A2EC1CD18496402265677FD28F48CB38145EBDB30D2BBFF
-15CA9FAEC6802D7BDC7F1A281DB9A6553B7D3F757A1FAA6AB91C0D31757FBE705EFE4C71
-AB0749AEFFE6768B35A0AC03636F4757B38C2F4C0A78EAA3557473913AC1AD37B72E79FB
-75E2DA3A4A7AA867032A952D519BC5FC9BB684D0F21A661DEBE79B1C1513A16D8E32EB13
-E8DBB3F132C87ECE0972BF63001E8B9DC6C3F445191D536F8983B142BD94DD8F41C8756E
-EFDB106BDEE3224FA448DAC03ACA80AE79B7DA40347D3C3A643B915C51BFCB861438C546
-1A59FB26B538BDFBB8D7DE77955A8FE6016F770BAB928D277CD4C2B3FD3839FE75308F21
-826B36084E485927C5DB75AA7B6133F468C71D218307B40CFE1BB6AD24E3C2240EE17084
-AF6C1E0D83CCE1699FDDB4763BC15F722D0383F5F4638785268FC439EB0A8C6B5AF7B938
-957DD111A83BA935CCF13A9DCBCAC9188CA67EDF1A6D18A34C956DE87418EA5E4796E59B
-D981015C8D276CF4D8884AE423314AD62781108BA767131E08302A926C44B858B792DC52
-FBD6D15B5E9C4CABAA159FB5BCA5CAD068A5A718613598B518D015D3B6C43A01A5540849
-EC15F399A1DDEA9BDC47B409B10067FCCDA5932FD02BEF518433D8E7C83BA8567A2248DC
-2271BB39F07414DF7655BCA33FA7811592168ABD559F49EC0F7968E87130093E607C2F1F
-087154DA681D1C92C1B5EB87BFFF15C7DB4F8E319E42BDEC5B95A2F816BFC0A0CE997CB8
-BCCEA3DF23280D4C922482CA09EDA8C31F9C5FD9C22480DE591A3649A29F0293F976F366
-7A66D3923D6BEBD0C1A1F06C11C2C4207B2981E91DF0C0ABC84CE8B7B23B4837C51E2A94
-A7E3AB209AB5B99D40F39B1DE342502818A23235455B56BDCED3ACD910CD92E9E71DEF41
-0E3A01D9B7156F9DE0FC8916AB29D79F5B093C1CDD19CC1FDD6FFBD050ED563CA3C60022
-404A2E53E9EA3186A3177A57FB4B726DAFA37A4FD45D2C191E3E771C0CDA22EFAD7915B2
-15CCBD2A35E04CDF4779FE80B980ADE2D2E71B8F936D905AD7382B08C43A3ED6BBC5578C
-80417621C7A3A87079ADF2B635671C36A1F57B971FF2918E14E80549150AB492D9709508
-ED98B983A9D40188F93847967A10FD16DFFE2C1276EACD959435C36899210DBEA62023A7
-ED706126E4E5E005B7608F078E3F0A42E87C84B37215F883E0F078127D47C4B362CEE951
-69F92B2887F67A3F1D02BEBF0277BA479264E7AD5E1087F613330246606F4907D3BA39C4
-644B7F9BC608BAC3107D9C66FF7CD9E9D624703055DFE0262E96B17BF017579001A7EE29
-4F4217B697CD9A397D35D8CB781D9FE282D9082D273AB082CCD017D7843E1AE3A41613F1
-F69AE113E8A993C83FFDBEDEFA92A9101B54D1AFB5BC7B41F3AB3C610E60AC17861E45B7
-34D7706BF6971921CF0E5344DC613EB31AB4E31775D990CEC15AF459BE474959EB24CABD
-ED3B7D6A6540AA81B806D326D7614808FA2039A6675AC11F4E90EED294E867A84116FB5D
-89BEB45F738B1275BBB4106108FB19D6EA4CA71E3B0C2BEA1EAC19D27EB928EBACA9DD62
-75865C4B86025B626202116190ECF58F149257C62C70EEEC110B540C636BBF747801A21F
-B32A82CCF24062325AEB3B5DFEDD49AE625635C34CC330A93F1029F3A3A731537A0BF076
-C938773406C1670F4976AD1AAA5D3629EFE797A1133A683FBEC7DB8C480B32CA888ABB6F
-049CDD5D65EAB1E23EABAEF26756618BF3CBA5D62286C938D3F6F20C731DB6044B89AF92
-F58FE18DC156E0F0D7A548C6D838F57899D7A693A6D158E5B9A19D4CCE4CE574FA1F9570
-7092879FA2C3F4AC5F223E3E0A174B97BB2CBC7815A20FF509B43D6EA17D515BDD9B3CF9
-4827C88EB2AC1FD13192752DB92070FBF319E4DD93EC6C9287108E248BC3F814CF3F85A4
-F6EEDCF1B78BBEE9987BB0767968894F13E299C79F50E052B7627584F1C78BC8EA588B4C
-FB6C1204AAD2D47B42955EEE8563913BDC8167B5E82B48F3243F218E8832BCEED22BEEB6
-1B434A2AA2E93CB5654868F0A7E049852EE328F6A555AE92CB23702AE1B71B5E6EDF1BDE
-ED68CA1E96EDD0A9B214C02A429479FE612C312D8B8BBE3DFD711D25D816709B78125476
-4AC1676AEB53B4CE261AD842C485829A8DBB25956041C5BBACB27B75F0659622F2791718
-110991560C261EC4834C976182843A56DC1918191840DFE95A5FA00624A6C24228805545
-4E7EDDCC9CA865B10991C4B73BBC16BBF6F0F4D4058FE9163BAC69EFB2A3269FE9F2A092
-BE8F9D59D9AD9F434998B44AB3892EA4360C38BFB150DA95EEEBA94B419D9D126410188B
-475E794541F41D5C9D12D96BEDA86DF04640E6D766F0276BA1D0EE6E3B47A758D8D2D6DA
-90B97B6ACFFA7D7BFEDF0BF7101F32248C7C72560F770D52AFCDC8F285846E00F5B0A83F
-346B85D71DD49927304D228E2BE7980904A813AD23D5EE752D210FA2EBF72200914C8AA8
-ACD6B586437EAC4287C0D3C569E1969E71797949592DD7E1A65096819C7F3ED6218F1D0E
-6FAFF3597787C9AF1C875E66878D55C64B2140B873C14F9D344E80F6E1434D0814B3C55C
-7FF47038B2DD9104B7E836E0804B3E4042F5E1627E4C871AF0C42B498BD34475CDFD89CE
-72E8D6DEAE27C84CBC4270348B684D5DB84C025A0CDD01F010F345ED7C75251990AC320B
-AFF49806BAC46C8E87895DAD7D223A89AACBC9745439B6FB5B8603010AB29F2F9D3EB3D8
-24E2471720BC1ED2EE9BB61682AD6328D642B131780AB02A598BA9806C8327C43E1880D8
-37C5CDEB36BFD7812569F2FCBDF7B68934689238D59AB7D111FBF5BAD7DB4E85148373C9
-6016A50269968F2DB4824C1BA985C6FF1AC4BBB99F57232795F390BEA26222E79BB218A2
-23E68505A11925BCB27A403E5D27C9FB0EAFB29B7B6396CC58431D267FDB5DA11A64662A
-EF150E3C268732F5EAC6C2FDF28FA507531ECAEBD55F4B0AB89D8F4C4CD41EAA211EDFD6
-65091948FF530681FBE7919E476C4DBE1397C51E4AA2C4BA1F0BBA3ED714E766E2638ECE
-21B08E93C2EE29FB886C75B9436D2ADEB232736CFB5BAEED34EB47FF78CE41C6444377DE
-8B7970BB19E9B52F5422305F14BB7AF0BF98F46D1D1E17B13E679C99112388F39827338E
-E36498823D40CAB56D7C2749AAFF144D3F89A703F2F416C34592AAA4C6C30A96F3287868
-CE6F6EAA22A55E06F5D353F441E62A851A138B6E26631EF586EFA6952D428AF7D71901A9
-7E5BA59D462E10388C233E191AEEA380D9E2E23579C4345DB63F7691D0378F950B9CD2C2
-C0C17A8CF6144A7E81CDB3A5DAF7F2AE6A5F92E6910CA0D7A50569EA890FF71DD49D5012
-BD3FA623A1331BDE94EA4D2CD2C538AF787632B6339925FD6CBFD8ECBA7CC464B31DFFCA
-F79AB027945A2C1E9C058ED8F0F3221A0353961BB2B2EA75876B74EDDDAFB7ABFEA39F38
-36A8E19C9372D3CD704A19B301BAD2801B16BEFF75BCADC90D2EEA514A199105FDAB37EC
-8A75B14E67B638CAF1ADFBAF70D38355A66B513BFEDBBA2CC6981C25E364297C873C908E
-A288D930A8A18AF24C38B92F520DB5A41D708A438BC39356730D028198A08AD3430237FB
-8EC675CE19EAF97C06CDF706B138EAD722EAD2C7C6108A4C474210CE38A7A4EB0FF573DA
-59B024BED3579A7C870AFF17EB284527030EAD8F515D18EE490FD5D32545527F38BE7B7D
-CE9C1D1283B1771AAD8953E6D89EBC068E1C42C8431D6EC365F736652C4D74C627BC0689
-A3F273D9D9D94FF32CC504AADE91D4E17105EBA804952F566F0849A34B4E150223E5ED27
-786FD43209CC4F4EE8F4DB98D2C1DB336AE17E745DD8EB3D95A9984A632475430B0E80AE
-49A5118C73F0E060C7AC98A8F03E9E7BCA9492AE7D5CED0AA5F177E5EA1F6FFB5AA43A13
-76C8FAD9344ECD8E6B64EDA15AA52B37DDE5AEF3242C236D2C5B401000EE78D62A889665
-2553636E765463181099C47679428ED39AD2F77F8F35DC07A726666751D8DF804635DB17
-C4A81D61036E8CE9CE5E441226584EC469082C6C765909DCE05DD9C9D932F295EB587B37
-C7C32818BA4126B809ED89CEC7F14494720018DC93BC5F2635B5F1ADECFC9B4D2B028FFE
-AC248B2663FCD7A43E5468B43FA11E3BC439A5B519DFCDDE7403AB81F0771A7D85BCDF08
-B2C1DF316723EBCB4FBCEAA61454F48D6A354FCAA92E58757D9CE79F92166468522C00BC
-FFD765E0F3BCCE1C41E1717BDAD21746C86310CB9490510FCE6DB36CAD377215650FD82B
-9E3FD5E1188EB4D87A216B9B475DF5B634C39C87DD4B89EBF8DD52E7850E680F9CC7E610
-774D1F96C682B067FDC4456954D74B9D1FF2C18CCB9FB0C059517D174974D58D3376C32A
-53A2F6C1E6844152C3EB1E954A095D9EFCF72158B0C58A1B55EB29741FFD07F55030A9EC
-945C351CEE57273FBD4ECFDA6EB2A4FC374E1763B50648C68678B5FB5CDA2DA8D87EC85F
-738F2C2F2DFD4F93E44CD2BC2BB5B8103073EC603487DB06311F97BBFBACF934E3524EC4
-3006CC8A613AD9DDADE1023D0044F0C27F577900A62888C75FCA2B1F7DC59683028FE95F
-78039BACCF4E9710D3594B1205B5B08AAB01B04827A82516467C561E80484C2AF83781E0
-F947645951BC5CA167AADE20C8AE192CF9F800C409971D09BD173FE2FB130D8C543F4B57
-D7170BF0146B6138A12D9B04B717CB244E68A023E96E30918A1CBBC4A17EB994398BD47D
-CE04656333D38F705EE4ED3A75E569A68409CBD18DF1FD537ABAE8E5D4E67D45FE12CD4B
-5ADE49AA221D208F8C0C93FA8D659A01F2B9AC7869AAB3A69C1DC5B48FB8A91039BBA6E8
-3FE9985115B0B304F0E5293FFE5BC54CC84840EF951EAE7E4A1F0D4D1231E0A2F505F54B
-9CC2E373991495EED14DCF911DB949E4FA0016D5DD8D1126BE6A149AACD3B51F26347320
-A064FA81697B41AA19D5EBB8500022559BBCFFEA94E6F6F5C8755D9B669418107341FB18
-6855A75AAB2D1FBCCD70DE7120277E9B9D8C9BAE1CED962255F61D28EE29C001D0758578
-0B24E2F7B0CD7EBE33EE42A55A217C5832730B414D5109844A5E9934CA865AD2AE9127C7
-CAC28FE451C17A44C8C79395762EB7747B2DD7780DA0B2145CD2732B2D62724271FE4B5D
-96B882BF2C73F1E2BB9D700B83CE16AE2D6AB9726E12B09872EA940C1FADFEF125F89D09
-1FE5580E48ABF5493F9D8CC50CCCE629D6F8ACAF3998943225C5D2D795A1A10E2C1AC6D8
-B057F4A8225F0B24E4D6410F4A38D75D14601250E427EBFDD43AAF5E5C1EE0CCDB6D4504
-E3F854ED2EF4E8BDFA1F7422AB86B17896E6D3D0B14B81C515B489C3BE5B471461D6901D
-B39949A0B137BF9AF0C3A8124BB3FB4C1DC43A9ECCC48DB999E5FEB94B60DF942AE440AA
-4E69A70EEE8860EE2CE8570ABFA7519AC16AA1991540596881033B01CDB54E4DB401430B
-20696CD808C73AEBB6E61A5C41C96D7FC338E6E92A112ABF427C6E0EB23E278B3E5967BE
-13998C6786382093F74E2B067D428E9877F44DF94F6FEC76109987F3D7F13CE7C4C24648
-61128BB2C51BC858F4B87C3B3938698B4CE4CEAC0A73D872D5A43269B11B95D85FDB1F49
-545527BB2AA699944776B9A623DF59DB1B3035A6177A713667D78F7457C950D2664BA6DB
-1076009612A6806B24AB931A8466BE6EED4BC7776F1AB926213490BDA0F8E65E84B960D2
-625E6FC88744371574FC22DE9CAC8E37D0F0BEDACE16C034A588888EBA681CB89FB9D2E5
-3F04BAE4629739F91C372321D3F2653E4D24439E6B8AAFD71184436B86AA3D9C0B170A54
-728385BF8B6ECCDB25ED1D3363837400E80789F16FC73CD235568FE7F51385693E41555A
-F53AB56069EBF4F2B5D0C7859E988DCCAA37F0AD98EB34169D3E9BF7C664BE123640569D
-89F1C34BACC3B967853750B3627FD055A2AE8B2BBD6DDC2F6AC54BC7FF5122A540D0D200
-FF8FCF17DFD821E8034BFFEC18E1CD7DF35D4E1D80614347D92743B7CBE2910AD330A5B1
-C1D5DC95379F601A289069159AC6183E283257AB2C97C8BB3D6500B012BC6A9F47B0A57F
-2639AAD56552486847B304AD088CB8AEB07D032C4C275029A69563E350F3D64A67A7B88D
-561AB9C9DE1FC593DFC448FAD9E42063AF99A70DC8EFDB928FEFF2225FA1DE159DE073E6
-3A55D312B9B1810B375E116D79617D0F348EB2184E8A150E94223C792193E1A096646EE2
-A0D82C33EBB19E422988824963C50BAAA8598B9D51DB4149A366F621852EF0B17B4A41A2
-3436A438D8E65735F6B4D1E2EF89A12E4002AC8E585BC407EE6F34CD2D7046E042C463EE
-EBC4971A00B9A5F29102455E787BC66620D627385BAA3812F6B0BCF03AF1728064E1A8B7
-D7F5574C5DC22F5C0472CBD0E351F430823302827B31BF2338D85F80DDCCD3EA5E49B9A8
-8B8BBE6B0132C8198DA4436F609C27D13E7E561F05E783F04630B3EC03272F33E3F08419
-D5B4C16B386DCA42D17E89D7ACF46F6F4A79BBA082700F7F98327F2C7E62D8B1E6BFAF8C
-212819FB632C3DCB4AC92A8A0F94F350FB0BE0C89503CD0A52B3AE4817C2CA7193563FE9
-20CC6F4E24C116AB47AF0E3313702E1E96BD9817C1297C30FC7178314E401E4CB3847ACB
-1CBB1A672D928C1945E6629F626F66A679E9E39263C3A6804BA6A7D18F0CD0F1E01FEAFA
-7786ECD7026C94DD0310F20E8BF525CF5EB072E1EE59E66FDBF54880401F7F66A4C5D019
-297B0EF4C6D3478BFE76B93FACE72F5CDEFFABEBD78DD06E377787E873CB76C7F5130748
-E42599B216AF2254DDFC5AA8146EA01E76FFA094DD65EBF264C301F1311A53E86082E20A
-9B5E98CADFA0A10BE2A96CA3D0A33104911C1EF4CAE7E4E7CE3F6A765952D3E72E914DEB
-FC50474634A05EC92FA59914A798E42044484FB6F7E3E5D1AF45828422B971D5E7B91601
-848A2624DC276C47F14441338E47FF6F1741A38939A8B75ADC8702F0553ACD787BD49F4C
-D4D2CA40759C000A619BE27C2923D72438EB49D684DBBE48DBC67AF1935C9833B9E25252
-1E2869C7E808FC1ACD822659AC94F94FF2E11174FB7A7D199EDE962C61672D9F5D2C93F1
-BC99052FB782D94B08617E3C7BF232D9EDD6FD466A2ED7E55318F6E789E4A09F636B91E9
-6EE41F556224A8108BE1CFB2A83A57BA6C8995B6F7A5BE1D454A18CBF2E71FFC4D23A3B4
-9A202FEFF154CCE053BFABCC83CE4FE091E31B4759761F3D535348EF85AE276108592DCA
-9A84E1EA28786F871636712C1B85B412DFE705AC768AC8F5B65BD49CE921CDDB5C4D41DF
-BB2A7F14263AD2295F25ACFBF3F621D19437F0DDCB174280EA65836E9DCE638364E04085
-29F239946EB500E4455E7B79A412EB03C72D7D18A1EFC6A5C86AA2987C43E3987A5EF3F4
-F35712C790EB5137ABC92B2DAE1CD4E06E21B0DC03E2503687BA0DB73A4DDDEFB41C3BF5
-199ED14731480556C59F1127993C587517CC2406EFA6529122D90D9A9E4C1400B97B5DA0
-3A17AC4C5E238267969046365CA9ADE8D7C76746091704DF72709098602891ED11EE7AF8
-FD7B26DDE5E9CBD0BAB0E2E8C2B6BD49F2FF4CD016EE88B55F087152E7B2E4F67D081FAB
-847050548D26D0FE5365833D2A4791018284552C1F40D9ECE2605A3BE0EE2ED5DECE4D4D
-A8D5D81ED6101786D8AF3E5EBEB78FBECD7D3B471FF8C6900E12D0F45671D44DA582421F
-9BBD5759CDCC9FEE1991520E8F84BB8ACA4A370237E4C4FF92BE8EE6C307DFC47078E167
-DA4C7B2740B9A429012F4BB8519507F2A18F51BDD82168B9576E29531A5B26CD7B0FD7DB
-6E346CAB301B33CEBEE1F3D61D73B7D6145F89985653445FA519F91597A0F984DADE3094
-7109124D39A2A7E6D1CFDAF96A73FA0849075111F1ABC010A6871CC05709441C20CEF9B9
-A9AD1A8B1C207D0FE1E7D9D238D0A65EDAFE0BB3802D68CBF0B4CC151A8B330DD04E07DE
-C3329735761D7FDE1ACC1B0E86566891E6AE571EB4936A3BC13A3684A52CAF7B7BD84C73
-C68F436156F5A1F05A1898FEAD0F35CF7778CC824139B47484C71C4EE3625F86D1B12317
-7620B46984D92F7C1D38D392F8981CA76FD1678CFDD43FA5F2A5B5F92FEDFF593F699866
-F063DA7E0AD329FF3C45A2236A3F7A6D420E3A66B2BE1BFBF1CC584BE3B68BA2714DB085
-1B803EB1A075C6B1495099C0A5CC7C51369BE2A79E23D793BCD72A8BD7DEC3E180ABF90D
-D5D4137A796716083BBDD2C75EAEE01531EABFBD93F8D442525DD798E799D7EA30AB15BD
-9A20FE527E524FD7D6BD01884C12044BD7E81DE8293F50F63201D31838FDC0C7B20EEB93
-2372EA2F80F325EBE41BFC037B9FFB5150E421E2E785B5DDB910C3569DCE72A9441AA858
-D0325B3BF2FB3FE83A3D558A63AED58F48C5ACD609D5E1B048A6B519E061E601F4387F03
-7049B8CD97F402EED07DF88A9FB133E9DE42A205727495050C9C6B9D346E0B159C704A3B
-99F4F4A11A7B530F48BA5EFE0C6141F6F973C844BD43119D3AF52E22D2C6B615E53FB90B
-E1683719BC94124D51559326EDCFE600F75B0427CCE88D215A5B57F6DC59F504F2A7AC5B
-2B90F94AD673C8872A03DCDEB8712634E1BA3CB2E227ED6535160B62FABBC22B7FBA8174
-70E62F61792B40AAA5454010B2B008FB1DB7C11038CB98C8CD5401C95DB173A4AFD3CC0F
-7E5F19B6DFDC8BDF118786ECE351307B0E4C30233C0177781085FA1B2C5D1EF51BF9490B
-B6D1CD1C18F0782098F9E484F9420D635C79D6AC0740B7AE70BBBFEAF8B8958BD921D2A9
-798546BDD7858F810FEB5D84CF411AA3827A50420FE741BC3812CDE1865F4A2EF6A25A4C
-ED7EB24CCD38095AFE425D3B0A90539A1CD93DE3F35B020D047EFCE7E1C5C18633B419A2
-1167ACFD3CC3EE0629C0717AE994F151BEFF9EF0AF6E0F14358FBFBA8B61D669ADA8C47C
-AA03859AD7E8C07FC39514A8A85E5C5D02B5DDB48725BC15B70AB80FF7F563D481106810
-D8DF1EE07EAF9DB56374124F654CCB454E3C7B0BB490E0D9CB50460E1857C32C95021954
-35C010736A65A00FC28A348ECD4B494F5FEF4D236FBCB951535C546F248F0BAA11F372DD
-67F838667C2657A7ABC4631530F275D7A5ED73DEC263A1749630C251ED3F5B9708876730
-0ED8DBD0F588D874267EE87E8486B700B58DE87DA46980B752B5EAA853699AE65D50A6D5
-1A41D217244B8BC5C39D98272731E8D605EEABE0E6E487BC89F5962D2423DAF0C580D424
-719EBA7E9FC3C8C49AA2ED9BF1B679C51EC07D7C4F4401DA63B66AF7061BAE89C443718E
-EEA6FBD03E21DDAD5A1B2C251FF101AADE3FF3243F71CA14F19F71E3CB8689BE24E506C3
-C2E9BF2ADC82BFDBAD0C07082B75EAE1ECD31A8B90B9A582FEC64B65A8DF81E54B867EEB
-E71C191443897E25FAC6EDE419F11912D284F8819AF00617BB03330055E5C49023BD472E
-B32FE903E2C3A3BD9452389DA13CB1E4662ABFE88ABCA6DF0E55878CADFE425B8BF42313
-9107696719E947249B70C02251E24CBB3F3E027245651181113F3C2DDA0FF61B1243B6C4
-CDB870D3E05B7DA867C1853A6F8E53CDDD654831048A6F58EEDE299A70E0C18C02600DA3
-7D1507535286BD1C167BF37F925C8468967709EDBF94DFE0BFCFF11F0B715C77BF1FF7D7
-0BD8258DBDEE61ED4785F85DF2C52157FEC3C01282226FCC96E0ED8CDC8874A209E54A9C
-0E8EDA0887E0561CE0B3ECBAB1019F39132E6DA0FE6761379C4424EFC66C36EB4AD7D125
-B88A0A7C19ABABD4A60FBDF0CC1414A77837EB57609D6E4C5DA8A37D18B05B4F755776FC
-1930C15DFA2B545D8DCC65B7C8C4A3B9A8DBFC8C64CF90C1047828084070516FF3897E5C
-CD223CA4E5DE09834C960D0483F48156CB48B73EB3387A01208AC9991949027675AB9AAF
-B3D1AE8791DDA72EEA9053C50218F89B65935D6E40979F583456658C00C593034A067B3F
-5B9F7177E6032F1F6BC96AD544F8B98472724D7F48C91D08B4CE91B5EE736A22996CD971
-34E2D4221E0891CA4C8708A6059DB1C48350106A304F7000A1D165D44CCD6F6EE7EA5434
-4F5506C13BA5D12A04548D75D266E0A027DE905EB4DF15ECA1CDFA1D4EE0B9D650AFF4A6
-3ED6A0AD78D63938669B505CD5B799DDB4A3BAD89CAB921F18D26DC9B581B0E28EA395A2
-349B5909107EE11E9CC364961A335C913A34094E63C9163E45A5FF43D3B58E5101E8E2F0
-AFCE604BC96F676F942301846A6F3C54AF5A4D60F37B7A4C3BE982FDEE76F0B8
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-{restore}if
index baa6e08..41d944e 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# "$Id: install-sh 10317 2012-03-01 00:05:55Z mike $"
+# "$Id$"
 #
 # Install a program, script, or datafile.
 #
@@ -61,7 +61,7 @@ src=""
 dst=""
 dir_arg=""
 
-function gzipcp {
+gzipcp() {
        # gzipcp from to
        $gzipprog -9 <"$1" >"$2"
 }
index 4543566..7a08bb2 100644 (file)
@@ -1,28 +1,22 @@
-# DO NOT DELETE THIS LINE -- make depend depends on it.
-
-checkpo.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-checkpo.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-checkpo.o: ../cups/language.h ../cups/string-private.h ../config.h
-checkpo.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
-checkpo.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-checkpo.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-checkpo.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-checkpo.o: ../cups/transcode.h ../cups/thread-private.h
-po2strings.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-po2strings.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-po2strings.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
-po2strings.o: ../config.h ../cups/debug-private.h ../cups/versioning.h
-po2strings.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-po2strings.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-po2strings.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-po2strings.o: ../cups/language-private.h ../cups/transcode.h
-po2strings.o: ../cups/thread-private.h
-translate.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-translate.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-translate.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
-translate.o: ../config.h ../cups/debug-private.h ../cups/versioning.h
-translate.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-translate.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-translate.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-translate.o: ../cups/language-private.h ../cups/transcode.h
-translate.o: ../cups/thread-private.h
+checkpo.o: checkpo.c ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+po2strings.o: po2strings.c ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+strings2po.o: strings2po.c
+translate.o: translate.c ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
index 331aed5..22aca43 100644 (file)
@@ -1,5 +1,5 @@
 #
-# "$Id: Makefile 10270 2012-02-13 17:13:21Z mike $"
+# "$Id: Makefile 11173 2013-07-23 12:31:34Z msweet $"
 #
 #   Locale file makefile for CUPS.
 #
@@ -54,7 +54,7 @@ clean:
 #
 
 depend:
-       makedepend -Y -I.. -fDependencies $(OBJS:.o=.c) >/dev/null 2>&1
+       $(CC) -MM $(ALL_CFLAGS) $(OBJS:.o=.c) >Dependencies
 
 
 #
@@ -133,15 +133,18 @@ pot:      checkpo po2strings
        cd ..; xgettext -o locale/cups.pot -cTRANSLATORS -s \
                --keyword=_ --no-wrap \
                --copyright-holder="Apple Inc." \
-               --package-name="CUPS" --package-version="1.5" \
+               --package-name="CUPS" --package-version="1.6" \
                --msgid-bugs-address="http://www.cups.org/str.php" \
                */*.c */*.cxx
        (cat cups.header; tail +6 cups.pot; cat cups.footer) > cups.pot.N
        mv cups.pot.N cups.pot
        echo Checking cups.pot...
        ./checkpo cups.pot
-       for loc in *.po; do \
-               echo Merging changes into cups_$$loc... ; \
+       for loc in *.po ; do \
+               if test $$loc = '*.po'; then \
+                       break; \
+               fi; \
+               echo Merging changes into $$loc... ; \
                msgmerge -o $$loc -s -N --no-location $$loc cups.pot ; \
        done
        echo Updating cups.strings...
@@ -169,7 +172,7 @@ checkall:   checkpo
 
 #
 # po2strings - A simple utility which uses iconv to convert GNU gettext
-#              message catalogs to Mac OS X .strings files.
+#              message catalogs to OS X .strings files.
 #
 # po2strings filename.po filename.strings
 #
@@ -182,8 +185,8 @@ po2strings: po2strings.o ../cups/$(LIBCUPSSTATIC)
 
 
 #
-# strings2po - A simple utility which uses iconv to convert Mac OS X
-#              .strings files to GNU gettext message catalogs.
+# strings2po - A simple utility which uses iconv to convert OS X .strings files
+#              to GNU gettext message catalogs.
 #
 # strings2po filename.strings filename.po
 #
@@ -215,5 +218,5 @@ include Dependencies
 
 
 #
-# End of "$Id: Makefile 10270 2012-02-13 17:13:21Z mike $".
+# End of "$Id: Makefile 11173 2013-07-23 12:31:34Z msweet $".
 #
index 479fde8..002e64f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: checkpo.c 9384 2010-11-22 07:06:39Z mike $"
+ * "$Id: checkpo.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Verify that translations in the .po file have the same number and type of
  *   printf-style format strings.
@@ -409,5 +409,5 @@ free_formats(cups_array_t *fmts)    /* I - Array of format strings */
 
 
 /*
- * End of "$Id: checkpo.c 9384 2010-11-22 07:06:39Z mike $".
+ * End of "$Id: checkpo.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 72ac93c..dbeeec3 100644 (file)
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: CUPS 1.5\n"
+"Project-Id-Version: CUPS 1.6\n"
 "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2012-03-07 13:38-0800\n"
+"POT-Creation-Date: 2013-07-08 07:38-0400\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: systemv/lpstat.c:1876 systemv/lpstat.c:2001
+#: systemv/lpstat.c:1992 systemv/lpstat.c:2117
 msgid "\t\t(all)"
 msgstr ""
 
-#: systemv/lpstat.c:1879 systemv/lpstat.c:1882 systemv/lpstat.c:2004
-#: systemv/lpstat.c:2007
+#: systemv/lpstat.c:1995 systemv/lpstat.c:1998 systemv/lpstat.c:2120
+#: systemv/lpstat.c:2123
 msgid "\t\t(none)"
 msgstr ""
 
-#: berkeley/lpc.c:433
+#: berkeley/lpc.c:434
 #, c-format
 msgid "\t%d entries"
 msgstr ""
 
-#: systemv/lpstat.c:756 systemv/lpstat.c:772
+#: systemv/lpstat.c:841 systemv/lpstat.c:857
 #, c-format
 msgid "\t%s"
 msgstr ""
 
-#: systemv/lpstat.c:1857 systemv/lpstat.c:1982
+#: systemv/lpstat.c:1973 systemv/lpstat.c:2098
 msgid "\tAfter fault: continue"
 msgstr ""
 
-#: systemv/lpstat.c:1481 systemv/lpstat.c:1826 systemv/lpstat.c:1952
+#: systemv/lpstat.c:1591 systemv/lpstat.c:1942 systemv/lpstat.c:2068
 #, c-format
 msgid "\tAlerts: %s"
 msgstr ""
 
-#: systemv/lpstat.c:1880 systemv/lpstat.c:2005
+#: systemv/lpstat.c:1996 systemv/lpstat.c:2121
 msgid "\tBanner required"
 msgstr ""
 
-#: systemv/lpstat.c:1881 systemv/lpstat.c:2006
+#: systemv/lpstat.c:1997 systemv/lpstat.c:2122
 msgid "\tCharset sets:"
 msgstr ""
 
-#: systemv/lpstat.c:1845 systemv/lpstat.c:1970
+#: systemv/lpstat.c:1961 systemv/lpstat.c:2086
 msgid "\tConnection: direct"
 msgstr ""
 
-#: systemv/lpstat.c:1836 systemv/lpstat.c:1962
+#: systemv/lpstat.c:1952 systemv/lpstat.c:2078
 msgid "\tConnection: remote"
 msgstr ""
 
-#: systemv/lpstat.c:1800 systemv/lpstat.c:1926
+#: systemv/lpstat.c:1916 systemv/lpstat.c:2042
 msgid "\tContent types: any"
 msgstr ""
 
-#: systemv/lpstat.c:1884 systemv/lpstat.c:2009
+#: systemv/lpstat.c:2000 systemv/lpstat.c:2125
 msgid "\tDefault page size:"
 msgstr ""
 
-#: systemv/lpstat.c:1883 systemv/lpstat.c:2008
+#: systemv/lpstat.c:1999 systemv/lpstat.c:2124
 msgid "\tDefault pitch:"
 msgstr ""
 
-#: systemv/lpstat.c:1885 systemv/lpstat.c:2010
+#: systemv/lpstat.c:2001 systemv/lpstat.c:2126
 msgid "\tDefault port settings:"
 msgstr ""
 
-#: systemv/lpstat.c:1806 systemv/lpstat.c:1932
+#: systemv/lpstat.c:1922 systemv/lpstat.c:2048
 #, c-format
 msgid "\tDescription: %s"
 msgstr ""
 
-#: systemv/lpstat.c:1799 systemv/lpstat.c:1925
+#: systemv/lpstat.c:1915 systemv/lpstat.c:2041
 msgid "\tForm mounted:"
 msgstr ""
 
-#: systemv/lpstat.c:1878 systemv/lpstat.c:2003
+#: systemv/lpstat.c:1994 systemv/lpstat.c:2119
 msgid "\tForms allowed:"
 msgstr ""
 
-#: systemv/lpstat.c:1840 systemv/lpstat.c:1966
+#: systemv/lpstat.c:1956 systemv/lpstat.c:2082
 #, c-format
 msgid "\tInterface: %s.ppd"
 msgstr ""
 
-#: systemv/lpstat.c:1849 systemv/lpstat.c:1974
+#: systemv/lpstat.c:1965 systemv/lpstat.c:2090
 #, c-format
 msgid "\tInterface: %s/interfaces/%s"
 msgstr ""
 
-#: systemv/lpstat.c:1853 systemv/lpstat.c:1978
+#: systemv/lpstat.c:1969 systemv/lpstat.c:2094
 #, c-format
 msgid "\tInterface: %s/ppd/%s.ppd"
 msgstr ""
 
-#: systemv/lpstat.c:1831 systemv/lpstat.c:1957
+#: systemv/lpstat.c:1947 systemv/lpstat.c:2073
 #, c-format
 msgid "\tLocation: %s"
 msgstr ""
 
-#: systemv/lpstat.c:1856 systemv/lpstat.c:1981
+#: systemv/lpstat.c:1972 systemv/lpstat.c:2097
 msgid "\tOn fault: no alert"
 msgstr ""
 
-#: systemv/lpstat.c:1801 systemv/lpstat.c:1927
+#: systemv/lpstat.c:1917 systemv/lpstat.c:2043
 msgid "\tPrinter types: unknown"
 msgstr ""
 
-#: systemv/lpstat.c:1462
+#: systemv/lpstat.c:1572
 #, c-format
 msgid "\tStatus: %s"
 msgstr ""
 
-#: systemv/lpstat.c:1861 systemv/lpstat.c:1875 systemv/lpstat.c:1986
-#: systemv/lpstat.c:2000
+#: systemv/lpstat.c:1977 systemv/lpstat.c:1991 systemv/lpstat.c:2102
+#: systemv/lpstat.c:2116
 msgid "\tUsers allowed:"
 msgstr ""
 
-#: systemv/lpstat.c:1868 systemv/lpstat.c:1993
+#: systemv/lpstat.c:1984 systemv/lpstat.c:2109
 msgid "\tUsers denied:"
 msgstr ""
 
-#: berkeley/lpc.c:435
+#: berkeley/lpc.c:436
 msgid "\tdaemon present"
 msgstr ""
 
-#: berkeley/lpc.c:431
+#: berkeley/lpc.c:432
 msgid "\tno entries"
 msgstr ""
 
-#: berkeley/lpc.c:403 berkeley/lpc.c:415
+#: berkeley/lpc.c:404 berkeley/lpc.c:416
 #, c-format
 msgid "\tprinter is on device '%s' speed -1"
 msgstr ""
 
-#: berkeley/lpc.c:428
+#: berkeley/lpc.c:429
 msgid "\tprinting is disabled"
 msgstr ""
 
-#: berkeley/lpc.c:426
+#: berkeley/lpc.c:427
 msgid "\tprinting is enabled"
 msgstr ""
 
-#: systemv/lpstat.c:1484
+#: systemv/lpstat.c:1594
 #, c-format
 msgid "\tqueued for %s"
 msgstr ""
 
-#: berkeley/lpc.c:423
+#: berkeley/lpc.c:424
 msgid "\tqueuing is disabled"
 msgstr ""
 
-#: berkeley/lpc.c:421
+#: berkeley/lpc.c:422
 msgid "\tqueuing is enabled"
 msgstr ""
 
-#: systemv/lpstat.c:1792 systemv/lpstat.c:1918
+#: systemv/lpstat.c:1908 systemv/lpstat.c:2034
 msgid "\treason unknown"
 msgstr ""
 
-#: systemv/cupstestppd.c:436
+#: systemv/cupstestppd.c:454
 msgid ""
 "\n"
 "    DETAILED CONFORMANCE TEST RESULTS"
 msgstr ""
 
-#: systemv/cupstestppd.c:3781
+#: systemv/cupstestppd.c:3800
 msgid "                          Ignore specific warnings."
 msgstr ""
 
-#: systemv/cupstestppd.c:3785
+#: systemv/cupstestppd.c:3804
 msgid "                          Issue warnings instead of errors."
 msgstr ""
 
-#: systemv/cupstestppd.c:392 systemv/cupstestppd.c:397
+#: systemv/cupstestppd.c:410 systemv/cupstestppd.c:415
 msgid "                REF: Page 15, section 3.1."
 msgstr ""
 
-#: systemv/cupstestppd.c:387
+#: systemv/cupstestppd.c:405
 msgid "                REF: Page 15, section 3.2."
 msgstr ""
 
-#: systemv/cupstestppd.c:407
+#: systemv/cupstestppd.c:425
 msgid "                REF: Page 19, section 3.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:360
+#: systemv/cupstestppd.c:378
 msgid "                REF: Page 20, section 3.4."
 msgstr ""
 
-#: systemv/cupstestppd.c:412
+#: systemv/cupstestppd.c:430
 msgid "                REF: Page 27, section 3.5."
 msgstr ""
 
-#: systemv/cupstestppd.c:355
+#: systemv/cupstestppd.c:373
 msgid "                REF: Page 42, section 5.2."
 msgstr ""
 
-#: systemv/cupstestppd.c:402
+#: systemv/cupstestppd.c:420
 msgid "                REF: Pages 16-17, section 3.2."
 msgstr ""
 
-#: systemv/cupstestppd.c:372
+#: systemv/cupstestppd.c:390
 msgid "                REF: Pages 42-45, section 5.2."
 msgstr ""
 
-#: systemv/cupstestppd.c:366
+#: systemv/cupstestppd.c:384
 msgid "                REF: Pages 45-46, section 5.2."
 msgstr ""
 
-#: systemv/cupstestppd.c:377
+#: systemv/cupstestppd.c:395
 msgid "                REF: Pages 48-49, section 5.2."
 msgstr ""
 
-#: systemv/cupstestppd.c:382
+#: systemv/cupstestppd.c:400
 msgid "                REF: Pages 52-54, section 5.2."
 msgstr ""
 
-#: berkeley/lpq.c:554
+#: berkeley/lpq.c:559
 #, c-format
 msgid "        %-39.39s %.0f bytes"
 msgstr ""
 
-#: systemv/cupstestppd.c:571
+#: systemv/cupstestppd.c:589
 #, c-format
 msgid "        PASS    Default%s"
 msgstr ""
 
-#: systemv/cupstestppd.c:506
+#: systemv/cupstestppd.c:524
 msgid "        PASS    DefaultImageableArea"
 msgstr ""
 
-#: systemv/cupstestppd.c:540
+#: systemv/cupstestppd.c:558
 msgid "        PASS    DefaultPaperDimension"
 msgstr ""
 
-#: systemv/cupstestppd.c:613
+#: systemv/cupstestppd.c:631
 msgid "        PASS    FileVersion"
 msgstr ""
 
-#: systemv/cupstestppd.c:657
+#: systemv/cupstestppd.c:675
 msgid "        PASS    FormatVersion"
 msgstr ""
 
-#: systemv/cupstestppd.c:677
+#: systemv/cupstestppd.c:695
 msgid "        PASS    LanguageEncoding"
 msgstr ""
 
-#: systemv/cupstestppd.c:697
+#: systemv/cupstestppd.c:715
 msgid "        PASS    LanguageVersion"
 msgstr ""
 
-#: systemv/cupstestppd.c:749
+#: systemv/cupstestppd.c:769
 msgid "        PASS    Manufacturer"
 msgstr ""
 
-#: systemv/cupstestppd.c:789
+#: systemv/cupstestppd.c:809
 msgid "        PASS    ModelName"
 msgstr ""
 
-#: systemv/cupstestppd.c:809
+#: systemv/cupstestppd.c:829
 msgid "        PASS    NickName"
 msgstr ""
 
-#: systemv/cupstestppd.c:869
+#: systemv/cupstestppd.c:889
 msgid "        PASS    PCFileName"
 msgstr ""
 
-#: systemv/cupstestppd.c:944
+#: systemv/cupstestppd.c:964
 msgid "        PASS    PSVersion"
 msgstr ""
 
-#: systemv/cupstestppd.c:849
+#: systemv/cupstestppd.c:869
 msgid "        PASS    PageRegion"
 msgstr ""
 
-#: systemv/cupstestppd.c:829
+#: systemv/cupstestppd.c:849
 msgid "        PASS    PageSize"
 msgstr ""
 
-#: systemv/cupstestppd.c:904
+#: systemv/cupstestppd.c:924
 msgid "        PASS    Product"
 msgstr ""
 
-#: systemv/cupstestppd.c:979
+#: systemv/cupstestppd.c:999
 msgid "        PASS    ShortNickName"
 msgstr ""
 
-#: systemv/cupstestppd.c:1354
+#: systemv/cupstestppd.c:1374
 #, c-format
 msgid "        WARN    %s has no corresponding options."
 msgstr ""
 
-#: systemv/cupstestppd.c:1466
+#: systemv/cupstestppd.c:1486
 #, c-format
 msgid ""
 "        WARN    %s shares a common prefix with %s\n"
 "                REF: Page 15, section 3.2."
 msgstr ""
 
-#: systemv/cupstestppd.c:1325
+#: systemv/cupstestppd.c:1345
 #, c-format
 msgid ""
 "        WARN    Duplex option keyword %s may not work as expected and should be named Duplex.\n"
 "                REF: Page 122, section 5.17"
 msgstr ""
 
-#: systemv/cupstestppd.c:1724
+#: systemv/cupstestppd.c:1744
 msgid "        WARN    File contains a mix of CR, LF, and CR LF line endings."
 msgstr ""
 
-#: systemv/cupstestppd.c:1370
+#: systemv/cupstestppd.c:1390
 msgid ""
 "        WARN    LanguageEncoding required by PPD 4.3 spec.\n"
 "                REF: Pages 56-57, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:1706
+#: systemv/cupstestppd.c:1726
 #, c-format
 msgid "        WARN    Line %d only contains whitespace."
 msgstr ""
 
-#: systemv/cupstestppd.c:1378
+#: systemv/cupstestppd.c:1398
 msgid ""
 "        WARN    Manufacturer required by PPD 4.3 spec.\n"
 "                REF: Pages 58-59, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:1729
+#: systemv/cupstestppd.c:1749
 msgid "        WARN    Non-Windows PPD files should use lines ending with only LF, not CR LF."
 msgstr ""
 
-#: systemv/cupstestppd.c:1362
+#: systemv/cupstestppd.c:1382
 #, c-format
 msgid ""
 "        WARN    Obsolete PPD version %.1f.\n"
 "                REF: Page 42, section 5.2."
 msgstr ""
 
-#: systemv/cupstestppd.c:1393
+#: systemv/cupstestppd.c:1413
 msgid ""
 "        WARN    PCFileName longer than 8.3 in violation of PPD spec.\n"
 "                REF: Pages 61-62, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:1401
+#: systemv/cupstestppd.c:1421
 msgid ""
 "        WARN    PCFileName should contain a unique filename.\n"
 "                REF: Pages 61-62, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:1436
+#: systemv/cupstestppd.c:1456
 msgid ""
 "        WARN    Protocols contains PJL but JCL attributes are not set.\n"
 "                REF: Pages 78-79, section 5.7."
 msgstr ""
 
-#: systemv/cupstestppd.c:1427
+#: systemv/cupstestppd.c:1447
 msgid ""
 "        WARN    Protocols contains both PJL and BCP; expected TBCP.\n"
 "                REF: Pages 78-79, section 5.7."
 msgstr ""
 
-#: systemv/cupstestppd.c:1410
+#: systemv/cupstestppd.c:1430
 msgid ""
 "        WARN    ShortNickName required by PPD 4.3 spec.\n"
 "                REF: Pages 64-65, section 5.3."
@@ -408,381 +409,376 @@ msgstr ""
 msgid "       cupstestdsc [options] -"
 msgstr ""
 
-#: systemv/cupstestppd.c:3776
+#: systemv/cupstestppd.c:3795
 msgid "       program | cupstestppd [options] -"
 msgstr ""
 
-#: systemv/cupstestppd.c:3708
+#: systemv/cupstestppd.c:3727
 #, c-format
 msgid ""
 "      %s  \"%s %s\" conflicts with \"%s %s\"\n"
 "                (constraint=\"%s %s %s %s\")."
 msgstr ""
 
-#: systemv/cupstestppd.c:2228
+#: systemv/cupstestppd.c:2248
 #, c-format
 msgid "      %s  %s %s does not exist."
 msgstr ""
 
-#: systemv/cupstestppd.c:3865
+#: systemv/cupstestppd.c:3884
 #, c-format
 msgid "      %s  %s file \"%s\" has the wrong capitalization."
 msgstr ""
 
-#: systemv/cupstestppd.c:2298
+#: systemv/cupstestppd.c:2318
 #, c-format
 msgid ""
 "      %s  Bad %s choice %s.\n"
 "                REF: Page 122, section 5.17"
 msgstr ""
 
-#: systemv/cupstestppd.c:3468 systemv/cupstestppd.c:3517
-#: systemv/cupstestppd.c:3556
+#: systemv/cupstestppd.c:3487 systemv/cupstestppd.c:3536
+#: systemv/cupstestppd.c:3575
 #, c-format
 msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s."
 msgstr ""
 
-#: systemv/cupstestppd.c:3422
+#: systemv/cupstestppd.c:3441
 #, c-format
 msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s."
 msgstr ""
 
-#: systemv/cupstestppd.c:2369
+#: systemv/cupstestppd.c:2389
 #, c-format
 msgid "      %s  Bad cupsFilter value \"%s\"."
 msgstr ""
 
-#: systemv/cupstestppd.c:2455
+#: systemv/cupstestppd.c:2475
 #, c-format
 msgid "      %s  Bad cupsFilter2 value \"%s\"."
 msgstr ""
 
-#: systemv/cupstestppd.c:2944
+#: systemv/cupstestppd.c:2964
 #, c-format
 msgid "      %s  Bad cupsICCProfile %s."
 msgstr ""
 
-#: systemv/cupstestppd.c:2551
+#: systemv/cupstestppd.c:2571
 #, c-format
 msgid "      %s  Bad cupsPreFilter value \"%s\"."
 msgstr ""
 
-#: systemv/cupstestppd.c:1802
+#: systemv/cupstestppd.c:1822
 #, c-format
 msgid "      %s  Bad cupsUIConstraints %s: \"%s\""
 msgstr ""
 
-#: systemv/cupstestppd.c:3372
+#: systemv/cupstestppd.c:3391
 #, c-format
 msgid "      %s  Bad language \"%s\"."
 msgstr ""
 
-#: systemv/cupstestppd.c:2413 systemv/cupstestppd.c:2509
-#: systemv/cupstestppd.c:2595 systemv/cupstestppd.c:2653
-#: systemv/cupstestppd.c:2708 systemv/cupstestppd.c:2763
-#: systemv/cupstestppd.c:2818 systemv/cupstestppd.c:2871
-#: systemv/cupstestppd.c:2993
+#: systemv/cupstestppd.c:2433 systemv/cupstestppd.c:2529
+#: systemv/cupstestppd.c:2615 systemv/cupstestppd.c:2673
+#: systemv/cupstestppd.c:2728 systemv/cupstestppd.c:2783
+#: systemv/cupstestppd.c:2838 systemv/cupstestppd.c:2891
+#: systemv/cupstestppd.c:3013
 #, c-format
 msgid "      %s  Bad permissions on %s file \"%s\"."
 msgstr ""
 
-#: systemv/cupstestppd.c:2353 systemv/cupstestppd.c:2439
-#: systemv/cupstestppd.c:2535 systemv/cupstestppd.c:2622
-#: systemv/cupstestppd.c:2677 systemv/cupstestppd.c:2732
-#: systemv/cupstestppd.c:2787 systemv/cupstestppd.c:2842
+#: systemv/cupstestppd.c:2373 systemv/cupstestppd.c:2459
+#: systemv/cupstestppd.c:2555 systemv/cupstestppd.c:2642
+#: systemv/cupstestppd.c:2697 systemv/cupstestppd.c:2752
+#: systemv/cupstestppd.c:2807 systemv/cupstestppd.c:2862
 #, c-format
 msgid "      %s  Bad spelling of %s - should be %s."
 msgstr ""
 
-#: systemv/cupstestppd.c:2887
+#: systemv/cupstestppd.c:2907
 #, c-format
 msgid "      %s  Cannot provide both APScanAppPath and APScanAppBundleID."
 msgstr ""
 
-#: systemv/cupstestppd.c:2185
+#: systemv/cupstestppd.c:2205
 #, c-format
 msgid "      %s  Default choices conflicting."
 msgstr ""
 
-#: systemv/cupstestppd.c:1783
+#: systemv/cupstestppd.c:1803
 #, c-format
 msgid "      %s  Empty cupsUIConstraints %s"
 msgstr ""
 
-#: systemv/cupstestppd.c:3500 systemv/cupstestppd.c:3540
+#: systemv/cupstestppd.c:3519 systemv/cupstestppd.c:3559
 #, c-format
 msgid "      %s  Missing \"%s\" translation string for option %s, choice %s."
 msgstr ""
 
-#: systemv/cupstestppd.c:3408
+#: systemv/cupstestppd.c:3427
 #, c-format
 msgid "      %s  Missing \"%s\" translation string for option %s."
 msgstr ""
 
-#: systemv/cupstestppd.c:2398 systemv/cupstestppd.c:2494
-#: systemv/cupstestppd.c:2580 systemv/cupstestppd.c:2638
-#: systemv/cupstestppd.c:2693 systemv/cupstestppd.c:2748
-#: systemv/cupstestppd.c:2803 systemv/cupstestppd.c:2855
-#: systemv/cupstestppd.c:2978
+#: systemv/cupstestppd.c:2418 systemv/cupstestppd.c:2514
+#: systemv/cupstestppd.c:2600 systemv/cupstestppd.c:2658
+#: systemv/cupstestppd.c:2713 systemv/cupstestppd.c:2768
+#: systemv/cupstestppd.c:2823 systemv/cupstestppd.c:2875
+#: systemv/cupstestppd.c:2998
 #, c-format
 msgid "      %s  Missing %s file \"%s\"."
 msgstr ""
 
-#: systemv/cupstestppd.c:3101
+#: systemv/cupstestppd.c:3121
 #, c-format
 msgid ""
 "      %s  Missing REQUIRED PageRegion option.\n"
 "                REF: Page 100, section 5.14."
 msgstr ""
 
-#: systemv/cupstestppd.c:3086
+#: systemv/cupstestppd.c:3106
 #, c-format
 msgid ""
 "      %s  Missing REQUIRED PageSize option.\n"
 "                REF: Page 99, section 5.14."
 msgstr ""
 
-#: systemv/cupstestppd.c:1993 systemv/cupstestppd.c:2034
+#: systemv/cupstestppd.c:2013 systemv/cupstestppd.c:2054
 #, c-format
 msgid "      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"."
 msgstr ""
 
-#: systemv/cupstestppd.c:1888
+#: systemv/cupstestppd.c:1908
 #, c-format
 msgid "      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\""
 msgstr ""
 
-#: systemv/cupstestppd.c:1820
+#: systemv/cupstestppd.c:1840
 #, c-format
 msgid "      %s  Missing cupsUIResolver %s"
 msgstr ""
 
-#: systemv/cupstestppd.c:1979 systemv/cupstestppd.c:2020
+#: systemv/cupstestppd.c:1999 systemv/cupstestppd.c:2040
 #, c-format
 msgid "      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\"."
 msgstr ""
 
-#: systemv/cupstestppd.c:1872
+#: systemv/cupstestppd.c:1892
 #, c-format
 msgid "      %s  Missing option %s in cupsUIConstraints %s: \"%s\""
 msgstr ""
 
-#: systemv/cupstestppd.c:3594
+#: systemv/cupstestppd.c:3613
 #, c-format
 msgid "      %s  No base translation \"%s\" is included in file."
 msgstr ""
 
-#: systemv/cupstestppd.c:2274
+#: systemv/cupstestppd.c:2294
 #, c-format
 msgid ""
 "      %s  REQUIRED %s does not define choice None.\n"
 "                REF: Page 122, section 5.17"
 msgstr ""
 
-#: systemv/cupstestppd.c:3159 systemv/cupstestppd.c:3173
+#: systemv/cupstestppd.c:3180 systemv/cupstestppd.c:3194
 #, c-format
 msgid "      %s  Size \"%s\" defined for %s but not for %s."
 msgstr ""
 
-#: systemv/cupstestppd.c:3139
+#: systemv/cupstestppd.c:3160
 #, c-format
 msgid "      %s  Size \"%s\" has unexpected dimensions (%gx%g)."
 msgstr ""
 
-#: systemv/cupstestppd.c:3313
+#: systemv/cupstestppd.c:3332
 #, c-format
 msgid "      %s  Size \"%s\" should be \"%s\"."
 msgstr ""
 
-#: systemv/cupstestppd.c:3274
+#: systemv/cupstestppd.c:3292
 #, c-format
 msgid "      %s  Size \"%s\" should be the Adobe standard name \"%s\"."
 msgstr ""
 
-#: systemv/cupstestppd.c:3021
+#: systemv/cupstestppd.c:3041
 #, c-format
 msgid "      %s  cupsICCProfile %s hash value collides with %s."
 msgstr ""
 
-#: systemv/cupstestppd.c:1943
+#: systemv/cupstestppd.c:1963
 #, c-format
 msgid "      %s  cupsUIResolver %s causes a loop."
 msgstr ""
 
-#: systemv/cupstestppd.c:1925
+#: systemv/cupstestppd.c:1945
 #, c-format
 msgid "      %s  cupsUIResolver %s does not list at least two different options."
 msgstr ""
 
-#: systemv/cupstestppd.c:2143
-#, c-format
-msgid "      **FAIL**  %s choice names %s and %s differ only by case."
-msgstr ""
-
-#: systemv/cupstestppd.c:1148
+#: systemv/cupstestppd.c:1168
 #, c-format
 msgid ""
 "      **FAIL**  %s must be 1284DeviceID\n"
 "                REF: Page 72, section 5.5"
 msgstr ""
 
-#: systemv/cupstestppd.c:562
+#: systemv/cupstestppd.c:580
 #, c-format
 msgid ""
-"      **FAIL**  BAD Default%s %s\n"
+"      **FAIL**  Bad Default%s %s\n"
 "                REF: Page 40, section 4.5."
 msgstr ""
 
-#: systemv/cupstestppd.c:496
+#: systemv/cupstestppd.c:514
 #, c-format
 msgid ""
-"      **FAIL**  BAD DefaultImageableArea %s\n"
+"      **FAIL**  Bad DefaultImageableArea %s\n"
 "                REF: Page 102, section 5.15."
 msgstr ""
 
-#: systemv/cupstestppd.c:532
+#: systemv/cupstestppd.c:550
 #, c-format
 msgid ""
-"      **FAIL**  BAD DefaultPaperDimension %s\n"
+"      **FAIL**  Bad DefaultPaperDimension %s\n"
 "                REF: Page 103, section 5.15."
 msgstr ""
 
-#: systemv/cupstestppd.c:1005
+#: systemv/cupstestppd.c:623
+#, c-format
 msgid ""
-"      **FAIL**  BAD JobPatchFile attribute in file\n"
-"                REF: Page 24, section 3.4."
+"      **FAIL**  Bad FileVersion \"%s\"\n"
+"                REF: Page 56, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:725
+#: systemv/cupstestppd.c:667
+#, c-format
 msgid ""
-"      **FAIL**  BAD Manufacturer (should be \"HP\")\n"
-"                REF: Page 211, table D.1."
+"      **FAIL**  Bad FormatVersion \"%s\"\n"
+"                REF: Page 56, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:741
+#: systemv/cupstestppd.c:1025
 msgid ""
-"      **FAIL**  BAD Manufacturer (should be \"Oki\")\n"
-"                REF: Page 211, table D.1."
+"      **FAIL**  Bad JobPatchFile attribute in file\n"
+"                REF: Page 24, section 3.4."
 msgstr ""
 
-#: systemv/cupstestppd.c:780
+#: systemv/cupstestppd.c:1213
 #, c-format
-msgid ""
-"      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n"
-"                REF: Pages 59-60, section 5.3."
-msgstr ""
-
-#: systemv/cupstestppd.c:936
-msgid ""
-"      **FAIL**  BAD PSVersion - not \"(string) int\".\n"
-"                REF: Pages 62-64, section 5.3."
+msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1."
 msgstr ""
 
-#: systemv/cupstestppd.c:897
-msgid ""
-"      **FAIL**  BAD Product - not \"(string)\".\n"
-"                REF: Page 62, section 5.3."
+#: systemv/cupstestppd.c:1227
+#, c-format
+msgid "      **FAIL**  Bad LanguageVersion %s - must be English."
 msgstr ""
 
-#: systemv/cupstestppd.c:971
+#: systemv/cupstestppd.c:743 systemv/cupstestppd.c:760
+#, c-format
 msgid ""
-"      **FAIL**  BAD ShortNickName - longer than 31 chars.\n"
-"                REF: Pages 64-65, section 5.3."
+"      **FAIL**  Bad Manufacturer (should be \"%s\")\n"
+"                REF: Page 211, table D.1."
 msgstr ""
 
-#: systemv/cupstestppd.c:1129
+#: systemv/cupstestppd.c:800
 #, c-format
 msgid ""
-"      **FAIL**  Bad %s choice %s\n"
-"                REF: Page 84, section 5.9"
+"      **FAIL**  Bad ModelName - \"%c\" not allowed in string.\n"
+"                REF: Pages 59-60, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:605
-#, c-format
+#: systemv/cupstestppd.c:956
 msgid ""
-"      **FAIL**  Bad FileVersion \"%s\"\n"
-"                REF: Page 56, section 5.3."
+"      **FAIL**  Bad PSVersion - not \"(string) int\".\n"
+"                REF: Pages 62-64, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:649
-#, c-format
+#: systemv/cupstestppd.c:917
 msgid ""
-"      **FAIL**  Bad FormatVersion \"%s\"\n"
-"                REF: Page 56, section 5.3."
+"      **FAIL**  Bad Product - not \"(string)\".\n"
+"                REF: Page 62, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:1193
-#, c-format
-msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1."
+#: systemv/cupstestppd.c:991
+msgid ""
+"      **FAIL**  Bad ShortNickName - longer than 31 chars.\n"
+"                REF: Pages 64-65, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:1207
+#: systemv/cupstestppd.c:1149
 #, c-format
-msgid "      **FAIL**  Bad LanguageVersion %s - must be English."
+msgid ""
+"      **FAIL**  Bad option %s choice %s\n"
+"                REF: Page 84, section 5.9"
 msgstr ""
 
-#: systemv/cupstestppd.c:3735 systemv/cupstestppd.c:3757
+#: systemv/cupstestppd.c:3754 systemv/cupstestppd.c:3776
 #, c-format
 msgid "      **FAIL**  Default option code cannot be interpreted: %s"
 msgstr ""
 
-#: systemv/cupstestppd.c:1266
+#: systemv/cupstestppd.c:1286
 #, c-format
 msgid "      **FAIL**  Default translation string for option %s choice %s contains 8-bit characters."
 msgstr ""
 
-#: systemv/cupstestppd.c:1239
+#: systemv/cupstestppd.c:1259
 #, c-format
 msgid "      **FAIL**  Default translation string for option %s contains 8-bit characters."
 msgstr ""
 
-#: systemv/cupstestppd.c:2081
+#: systemv/cupstestppd.c:2101
 #, c-format
 msgid "      **FAIL**  Group names %s and %s differ only by case."
 msgstr ""
 
-#: systemv/cupstestppd.c:2126
+#: systemv/cupstestppd.c:2146
+#, c-format
+msgid "      **FAIL**  Multiple occurrences of option %s choice name %s."
+msgstr ""
+
+#: systemv/cupstestppd.c:2163
 #, c-format
-msgid "      **FAIL**  Multiple occurrences of %s choice name %s."
+msgid "      **FAIL**  Option %s choice names %s and %s differ only by case."
 msgstr ""
 
-#: systemv/cupstestppd.c:2103
+#: systemv/cupstestppd.c:2123
 #, c-format
 msgid "      **FAIL**  Option names %s and %s differ only by case."
 msgstr ""
 
-#: systemv/cupstestppd.c:582
+#: systemv/cupstestppd.c:600
 #, c-format
 msgid ""
 "      **FAIL**  REQUIRED Default%s\n"
 "                REF: Page 40, section 4.5."
 msgstr ""
 
-#: systemv/cupstestppd.c:481
+#: systemv/cupstestppd.c:499
 msgid ""
 "      **FAIL**  REQUIRED DefaultImageableArea\n"
 "                REF: Page 102, section 5.15."
 msgstr ""
 
-#: systemv/cupstestppd.c:517
+#: systemv/cupstestppd.c:535
 msgid ""
 "      **FAIL**  REQUIRED DefaultPaperDimension\n"
 "                REF: Page 103, section 5.15."
 msgstr ""
 
-#: systemv/cupstestppd.c:623
+#: systemv/cupstestppd.c:641
 msgid ""
 "      **FAIL**  REQUIRED FileVersion\n"
 "                REF: Page 56, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:667
+#: systemv/cupstestppd.c:685
 msgid ""
 "      **FAIL**  REQUIRED FormatVersion\n"
 "                REF: Page 56, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:1056
+#: systemv/cupstestppd.c:1076
 #, c-format
 msgid ""
 "      **FAIL**  REQUIRED ImageableArea for PageSize %s\n"
@@ -790,68 +786,68 @@ msgid ""
 "                REF: Page 102, section 5.15."
 msgstr ""
 
-#: systemv/cupstestppd.c:687
+#: systemv/cupstestppd.c:705
 msgid ""
 "      **FAIL**  REQUIRED LanguageEncoding\n"
 "                REF: Pages 56-57, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:707
+#: systemv/cupstestppd.c:725
 msgid ""
 "      **FAIL**  REQUIRED LanguageVersion\n"
 "                REF: Pages 57-58, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:759
+#: systemv/cupstestppd.c:779
 msgid ""
 "      **FAIL**  REQUIRED Manufacturer\n"
 "                REF: Pages 58-59, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:799
+#: systemv/cupstestppd.c:819
 msgid ""
 "      **FAIL**  REQUIRED ModelName\n"
 "                REF: Pages 59-60, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:819
+#: systemv/cupstestppd.c:839
 msgid ""
 "      **FAIL**  REQUIRED NickName\n"
 "                REF: Page 60, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:879
+#: systemv/cupstestppd.c:899
 msgid ""
 "      **FAIL**  REQUIRED PCFileName\n"
 "                REF: Pages 61-62, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:954
+#: systemv/cupstestppd.c:974
 msgid ""
 "      **FAIL**  REQUIRED PSVersion\n"
 "                REF: Pages 62-64, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:859
+#: systemv/cupstestppd.c:879
 msgid ""
 "      **FAIL**  REQUIRED PageRegion\n"
 "                REF: Page 100, section 5.14."
 msgstr ""
 
-#: systemv/cupstestppd.c:1025
+#: systemv/cupstestppd.c:1045
 msgid ""
 "      **FAIL**  REQUIRED PageSize\n"
 "                REF: Page 41, section 5.\n"
 "                REF: Page 99, section 5.14."
 msgstr ""
 
-#: systemv/cupstestppd.c:839
+#: systemv/cupstestppd.c:859
 msgid ""
 "      **FAIL**  REQUIRED PageSize\n"
 "                REF: Pages 99-100, section 5.14."
 msgstr ""
 
-#: systemv/cupstestppd.c:1078
+#: systemv/cupstestppd.c:1098
 #, c-format
 msgid ""
 "      **FAIL**  REQUIRED PaperDimension for PageSize %s\n"
@@ -859,29 +855,25 @@ msgid ""
 "                REF: Page 103, section 5.15."
 msgstr ""
 
-#: systemv/cupstestppd.c:914
+#: systemv/cupstestppd.c:934
 msgid ""
 "      **FAIL**  REQUIRED Product\n"
 "                REF: Page 62, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:989
+#: systemv/cupstestppd.c:1009
 msgid ""
 "      **FAIL**  REQUIRED ShortNickName\n"
 "                REF: Page 64-65, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:335
-#, c-format
-msgid "      **FAIL**  Unable to open PPD file - %s"
-msgstr ""
-
-#: systemv/cupstestppd.c:347
+#: systemv/cupstestppd.c:334 systemv/cupstestppd.c:353
+#: systemv/cupstestppd.c:365
 #, c-format
 msgid "      **FAIL**  Unable to open PPD file - %s on line %d."
 msgstr ""
 
-#: systemv/cupstestppd.c:1478
+#: systemv/cupstestppd.c:1498
 #, c-format
 msgid "    %d ERRORS FOUND"
 msgstr ""
@@ -950,7 +942,7 @@ msgid ""
 "        REF: Page 43, %%Pages:"
 msgstr ""
 
-#: systemv/cupstestppd.c:1480
+#: systemv/cupstestppd.c:1500
 msgid "    NO ERRORS FOUND"
 msgstr ""
 
@@ -983,55 +975,51 @@ msgstr ""
 msgid "    Warning: obsolete DSC version %.1f in file."
 msgstr ""
 
-#: systemv/cupsctl.c:216
+#: systemv/cupsctl.c:210
 msgid "  --[no-]debug-logging    Turn debug logging on/off."
 msgstr ""
 
-#: systemv/cupsctl.c:218
+#: systemv/cupsctl.c:212
 msgid "  --[no-]remote-admin     Turn remote administration on/off."
 msgstr ""
 
-#: systemv/cupsctl.c:220
+#: systemv/cupsctl.c:214
 msgid "  --[no-]remote-any       Allow/prevent access from the Internet."
 msgstr ""
 
-#: systemv/cupsctl.c:222
-msgid "  --[no-]remote-printers  Show/hide remote printers."
-msgstr ""
-
-#: systemv/cupsctl.c:224
+#: systemv/cupsctl.c:216
 msgid "  --[no-]share-printers   Turn printer sharing on/off."
 msgstr ""
 
-#: systemv/cupsctl.c:226
+#: systemv/cupsctl.c:218
 msgid "  --[no-]user-cancel-any  Allow/prevent users to cancel any job."
 msgstr ""
 
-#: ppdc/ppdc.cxx:456
+#: ppdc/ppdc.cxx:455
 msgid "  --cr                    End lines with CR (Mac OS 9)."
 msgstr ""
 
-#: ppdc/ppdc.cxx:458
+#: ppdc/ppdc.cxx:457
 msgid "  --crlf                  End lines with CR + LF (Windows)."
 msgstr ""
 
-#: ppdc/ppdc.cxx:460
-msgid "  --lf                    End lines with LF (UNIX/Linux/Mac OS X)."
+#: ppdc/ppdc.cxx:459
+msgid "  --lf                    End lines with LF (UNIX/Linux/OS X)."
 msgstr ""
 
-#: test/ipptool.c:4383
+#: test/ipptool.c:4485
 msgid "  -4                      Connect using IPv4."
 msgstr ""
 
-#: test/ipptool.c:4384
+#: test/ipptool.c:4486
 msgid "  -6                      Connect using IPv6."
 msgstr ""
 
-#: test/ipptool.c:4385
+#: test/ipptool.c:4487
 msgid "  -C                      Send requests using chunking (default)."
 msgstr ""
 
-#: scheduler/cupsfilter.c:1438 scheduler/cupsfilter.c:1465
+#: scheduler/cupsfilter.c:1434
 msgid "  -D                      Remove the input file when finished."
 msgstr ""
 
@@ -1039,27 +1027,23 @@ msgstr ""
 msgid "  -D name=value           Set named variable to value."
 msgstr ""
 
-#: systemv/cupsctl.c:211
-msgid "  -E                      Enable encryption."
+#: systemv/cupsaddsmb.c:285 systemv/cupsctl.c:205
+msgid "  -E                      Encrypt the connection."
 msgstr ""
 
-#: systemv/cupsaddsmb.c:285
-msgid "  -E                      Encrypt the connection to the server."
+#: test/ipptool.c:4489
+msgid "  -E                      Test with HTTP Upgrade to TLS."
 msgstr ""
 
-#: test/ipptool.c:4387
-msgid "  -E                      Test with TLS encryption."
-msgstr ""
-
-#: scheduler/main.c:2062
+#: scheduler/main.c:2057
 msgid "  -F                      Run in the foreground but detach from console."
 msgstr ""
 
-#: systemv/cupsaddsmb.c:287
+#: systemv/cupsaddsmb.c:286
 msgid "  -H samba-server         Use the named SAMBA server."
 msgstr ""
 
-#: test/ipptool.c:4389
+#: test/ipptool.c:4491
 msgid "  -I                      Ignore errors."
 msgstr ""
 
@@ -1067,83 +1051,59 @@ msgstr ""
 msgid "  -I include-dir          Add include directory to search path."
 msgstr ""
 
-#: systemv/cupstestppd.c:3780
+#: systemv/cupstestppd.c:3799
 msgid "  -I {filename,filters,none,profiles}"
 msgstr ""
 
-#: scheduler/cupsfilter.c:1467
-msgid "  -J title                Set title."
-msgstr ""
-
-#: test/ipptool.c:4390
+#: test/ipptool.c:4492
 msgid "  -L                      Send requests using content-length."
 msgstr ""
 
-#: scheduler/cupsfilter.c:1440 scheduler/cupsfilter.c:1468
+#: scheduler/cupsfilter.c:1436
 msgid "  -P filename.ppd         Set PPD file."
 msgstr ""
 
-#: systemv/cupstestppd.c:3782
+#: systemv/cupstestppd.c:3801
 msgid "  -R root-directory       Set alternate root."
 msgstr ""
 
-#: test/ipptool.c:4392
+#: test/ipptool.c:4494
 msgid "  -S                      Test with SSL encryption."
 msgstr ""
 
-#: test/ipptool.c:4394
-msgid "  -T                      Set the receive/send timeout in seconds."
+#: test/ipptool.c:4496
+msgid "  -T seconds              Set the receive/send timeout in seconds."
 msgstr ""
 
-#: systemv/cupsaddsmb.c:289
-msgid "  -U samba-user           Authenticate using the named SAMBA user."
-msgstr ""
-
-#: scheduler/cupsfilter.c:1441 scheduler/cupsfilter.c:1469
-msgid "  -U username             Set username for job."
-msgstr ""
-
-#: systemv/cupsctl.c:212
+#: scheduler/cupsfilter.c:1437 systemv/cupsaddsmb.c:288 systemv/cupsctl.c:206
 msgid "  -U username             Specify username."
 msgstr ""
 
-#: test/ipptool.c:4396
+#: test/ipptool.c:4498
 msgid "  -V version              Set default IPP version."
 msgstr ""
 
-#: systemv/cupstestppd.c:3783
+#: systemv/cupstestppd.c:3802
 msgid "  -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,translations}"
 msgstr ""
 
-#: test/ipptool.c:4398
+#: test/ipptool.c:4500
 msgid "  -X                      Produce XML plist instead of plain text."
 msgstr ""
 
-#: systemv/cupsaddsmb.c:291
+#: systemv/cupsaddsmb.c:289
 msgid "  -a                      Export all printers."
 msgstr ""
 
-#: scheduler/cupsfilter.c:1470
-msgid "  -a 'name=value ...'     Set option(s)."
-msgstr ""
-
 #: ppdc/ppdc.cxx:442
 msgid "  -c catalog.po           Load the specified message catalog."
 msgstr ""
 
-#: scheduler/main.c:2059
-msgid "  -c config-file          Load alternate configuration file."
-msgstr ""
-
-#: scheduler/cupsfilter.c:1471
-msgid "  -c copies               Set number of copies."
-msgstr ""
-
-#: scheduler/cupsfilter.c:1442
+#: scheduler/cupsfilter.c:1438 scheduler/main.c:2055
 msgid "  -c cupsd.conf           Set cupsd.conf file to use."
 msgstr ""
 
-#: test/ipptool.c:4400
+#: test/ipptool.c:4502
 msgid "  -d name=value           Set named variable to value."
 msgstr ""
 
@@ -1151,55 +1111,43 @@ msgstr ""
 msgid "  -d output-dir           Specify the output directory."
 msgstr ""
 
-#: scheduler/cupsfilter.c:1444 scheduler/cupsfilter.c:1472
+#: scheduler/cupsfilter.c:1440
 msgid "  -d printer              Use the named printer."
 msgstr ""
 
-#: scheduler/cupsfilter.c:1446 scheduler/cupsfilter.c:1474
+#: scheduler/cupsfilter.c:1442
 msgid "  -e                      Use every filter from the PPD file."
 msgstr ""
 
-#: scheduler/main.c:2061
+#: scheduler/main.c:2056
 msgid "  -f                      Run in the foreground."
 msgstr ""
 
-#: test/ipptool.c:4402
+#: test/ipptool.c:4504
 msgid "  -f filename             Set default request filename."
 msgstr ""
 
-#: scheduler/cupsfilter.c:1476
-msgid "  -f filename             Set file to be converted (otherwise stdin)."
-msgstr ""
-
-#: scheduler/main.c:2064
+#: scheduler/main.c:2059
 msgid "  -h                      Show this usage message."
 msgstr ""
 
-#: systemv/cupsaddsmb.c:292
-msgid "  -h cups-server          Use the named CUPS server."
-msgstr ""
-
-#: systemv/cupsctl.c:213
+#: systemv/cupsaddsmb.c:290 systemv/cupsctl.c:207
 msgid "  -h server[:port]        Specify server address."
 msgstr ""
 
-#: scheduler/cupsfilter.c:1448 scheduler/cupsfilter.c:1478
+#: scheduler/cupsfilter.c:1444
 msgid "  -i mime/type            Set input MIME type (otherwise auto-typed)."
 msgstr ""
 
-#: test/ipptool.c:4404
+#: test/ipptool.c:4506
 msgid "  -i seconds              Repeat the last file with the given time interval."
 msgstr ""
 
-#: scheduler/cupsfilter.c:1450
+#: scheduler/cupsfilter.c:1446
 msgid "  -j job-id[,N]           Filter file N from the specified job (default is file 1)."
 msgstr ""
 
-#: scheduler/cupsfilter.c:1480
-msgid "  -j mime/type            Set output MIME type (otherwise application/pdf)."
-msgstr ""
-
-#: scheduler/main.c:2065
+#: scheduler/main.c:2060
 msgid "  -l                      Run cupsd from launchd(8)."
 msgstr ""
 
@@ -1211,22 +1159,18 @@ msgstr ""
 msgid "  -m                      Use the ModelName value as the filename."
 msgstr ""
 
-#: scheduler/cupsfilter.c:1452
+#: scheduler/cupsfilter.c:1448
 msgid "  -m mime/type            Set output MIME type (otherwise application/pdf)."
 msgstr ""
 
-#: scheduler/cupsfilter.c:1454
+#: scheduler/cupsfilter.c:1450
 msgid "  -n copies               Set number of copies."
 msgstr ""
 
-#: test/ipptool.c:4406
+#: test/ipptool.c:4508
 msgid "  -n count                Repeat the last file the given number of times."
 msgstr ""
 
-#: scheduler/cupsfilter.c:1482
-msgid "  -o filename             Set file to be generated (otherwise stdout)."
-msgstr ""
-
 #: ppdc/ppdi.cxx:133
 msgid "  -o filename.drv         Set driver information file (otherwise ppdi.drv)."
 msgstr ""
@@ -1235,27 +1179,23 @@ msgstr ""
 msgid "  -o filename.ppd[.gz]    Set output file (otherwise stdout)."
 msgstr ""
 
-#: scheduler/cupsfilter.c:1455
+#: scheduler/cupsfilter.c:1451
 msgid "  -o name=value           Set option(s)."
 msgstr ""
 
-#: scheduler/cupsfilter.c:1456
+#: scheduler/cupsfilter.c:1452
 msgid "  -p filename.ppd         Set PPD file."
 msgstr ""
 
-#: test/ipptool.c:4408
-msgid "  -q                      Be quiet - no output except errors."
-msgstr ""
-
-#: systemv/cupstestppd.c:3787
+#: systemv/cupstestppd.c:3806 test/ipptool.c:4510
 msgid "  -q                      Run silently."
 msgstr ""
 
-#: systemv/cupstestppd.c:3788
+#: systemv/cupstestppd.c:3807
 msgid "  -r                      Use 'relaxed' open mode."
 msgstr ""
 
-#: test/ipptool.c:4410
+#: test/ipptool.c:4511
 msgid "  -t                      Produce a test report."
 msgstr ""
 
@@ -1263,139 +1203,108 @@ msgstr ""
 msgid "  -t                      Test PPDs instead of generating them."
 msgstr ""
 
-#: scheduler/main.c:2066
+#: scheduler/main.c:2061
 msgid "  -t                      Test the configuration file."
 msgstr ""
 
-#: scheduler/cupsfilter.c:1457
+#: scheduler/cupsfilter.c:1453
 msgid "  -t title                Set title."
 msgstr ""
 
-#: scheduler/cupsfilter.c:1458 scheduler/cupsfilter.c:1484
+#: scheduler/cupsfilter.c:1454
 msgid "  -u                      Remove the PPD file when finished."
 msgstr ""
 
-#: systemv/cupstestppd.c:3789
-msgid "  -v                      Be slightly verbose."
-msgstr ""
-
+#: systemv/cupsaddsmb.c:291 systemv/cupstestppd.c:3808 test/ipptool.c:4512
 #: ppdc/ppdc.cxx:452 ppdc/ppdpo.cxx:259
-msgid "  -v                      Be verbose (more v's for more verbosity)."
+msgid "  -v                      Be verbose."
 msgstr ""
 
-#: systemv/cupsaddsmb.c:294
-msgid "  -v                      Be verbose (show commands)."
-msgstr ""
-
-#: test/ipptool.c:4411
-msgid "  -v                      Show all attributes sent and received."
-msgstr ""
-
-#: systemv/cupstestppd.c:3790
+#: systemv/cupstestppd.c:3809
 msgid "  -vv                     Be very verbose."
 msgstr ""
 
-#: ppdc/ppdc.cxx:454
+#: ppdc/ppdc.cxx:453
 msgid "  -z                      Compress PPD files using GNU zip."
 msgstr ""
 
-#: systemv/cupstestppd.c:333 systemv/cupstestppd.c:345
-#: systemv/cupstestppd.c:478 systemv/cupstestppd.c:493
-#: systemv/cupstestppd.c:514 systemv/cupstestppd.c:529
-#: systemv/cupstestppd.c:559 systemv/cupstestppd.c:579
-#: systemv/cupstestppd.c:602 systemv/cupstestppd.c:620
-#: systemv/cupstestppd.c:646 systemv/cupstestppd.c:664
-#: systemv/cupstestppd.c:684 systemv/cupstestppd.c:704
-#: systemv/cupstestppd.c:722 systemv/cupstestppd.c:738
-#: systemv/cupstestppd.c:756 systemv/cupstestppd.c:777
-#: systemv/cupstestppd.c:796 systemv/cupstestppd.c:816
+#: systemv/cupstestppd.c:332 systemv/cupstestppd.c:351
+#: systemv/cupstestppd.c:363 systemv/cupstestppd.c:496
+#: systemv/cupstestppd.c:511 systemv/cupstestppd.c:532
+#: systemv/cupstestppd.c:547 systemv/cupstestppd.c:577
+#: systemv/cupstestppd.c:597 systemv/cupstestppd.c:620
+#: systemv/cupstestppd.c:638 systemv/cupstestppd.c:664
+#: systemv/cupstestppd.c:682 systemv/cupstestppd.c:702
+#: systemv/cupstestppd.c:722 systemv/cupstestppd.c:740
+#: systemv/cupstestppd.c:757 systemv/cupstestppd.c:776
+#: systemv/cupstestppd.c:797 systemv/cupstestppd.c:816
 #: systemv/cupstestppd.c:836 systemv/cupstestppd.c:856
-#: systemv/cupstestppd.c:876 systemv/cupstestppd.c:894
-#: systemv/cupstestppd.c:911 systemv/cupstestppd.c:933
-#: systemv/cupstestppd.c:951 systemv/cupstestppd.c:968
-#: systemv/cupstestppd.c:986 systemv/cupstestppd.c:1002
-#: systemv/cupstestppd.c:1022 systemv/cupstestppd.c:1053
-#: systemv/cupstestppd.c:1075 systemv/cupstestppd.c:1126
-#: systemv/cupstestppd.c:1145 systemv/cupstestppd.c:1189
-#: systemv/cupstestppd.c:1203 systemv/cupstestppd.c:1235
-#: systemv/cupstestppd.c:1262 systemv/cupstestppd.c:1780
-#: systemv/cupstestppd.c:1799 systemv/cupstestppd.c:1817
-#: systemv/cupstestppd.c:1869 systemv/cupstestppd.c:1885
-#: systemv/cupstestppd.c:1922 systemv/cupstestppd.c:1940
-#: systemv/cupstestppd.c:1976 systemv/cupstestppd.c:1990
-#: systemv/cupstestppd.c:2017 systemv/cupstestppd.c:2031
-#: systemv/cupstestppd.c:2077 systemv/cupstestppd.c:2099
-#: systemv/cupstestppd.c:2122 systemv/cupstestppd.c:2139
-#: systemv/cupstestppd.c:2181 systemv/cupstestppd.c:2224
-#: systemv/cupstestppd.c:2271 systemv/cupstestppd.c:2295
-#: systemv/cupstestppd.c:2349 systemv/cupstestppd.c:2365
-#: systemv/cupstestppd.c:2395 systemv/cupstestppd.c:2409
-#: systemv/cupstestppd.c:2435 systemv/cupstestppd.c:2451
-#: systemv/cupstestppd.c:2491 systemv/cupstestppd.c:2505
-#: systemv/cupstestppd.c:2531 systemv/cupstestppd.c:2547
-#: systemv/cupstestppd.c:2577 systemv/cupstestppd.c:2591
-#: systemv/cupstestppd.c:2618 systemv/cupstestppd.c:2635
-#: systemv/cupstestppd.c:2649 systemv/cupstestppd.c:2673
-#: systemv/cupstestppd.c:2690 systemv/cupstestppd.c:2704
-#: systemv/cupstestppd.c:2728 systemv/cupstestppd.c:2745
-#: systemv/cupstestppd.c:2759 systemv/cupstestppd.c:2783
-#: systemv/cupstestppd.c:2800 systemv/cupstestppd.c:2814
-#: systemv/cupstestppd.c:2838 systemv/cupstestppd.c:2852
-#: systemv/cupstestppd.c:2867 systemv/cupstestppd.c:2884
-#: systemv/cupstestppd.c:2940 systemv/cupstestppd.c:2975
-#: systemv/cupstestppd.c:2989 systemv/cupstestppd.c:3017
-#: systemv/cupstestppd.c:3082 systemv/cupstestppd.c:3097
-#: systemv/cupstestppd.c:3135 systemv/cupstestppd.c:3155
-#: systemv/cupstestppd.c:3169 systemv/cupstestppd.c:3368
-#: systemv/cupstestppd.c:3404 systemv/cupstestppd.c:3418
-#: systemv/cupstestppd.c:3464 systemv/cupstestppd.c:3496
-#: systemv/cupstestppd.c:3513 systemv/cupstestppd.c:3536
-#: systemv/cupstestppd.c:3552 systemv/cupstestppd.c:3590
-#: systemv/cupstestppd.c:3731 systemv/cupstestppd.c:3753
-#: systemv/cupstestppd.c:3861
+#: systemv/cupstestppd.c:876 systemv/cupstestppd.c:896
+#: systemv/cupstestppd.c:914 systemv/cupstestppd.c:931
+#: systemv/cupstestppd.c:953 systemv/cupstestppd.c:971
+#: systemv/cupstestppd.c:988 systemv/cupstestppd.c:1006
+#: systemv/cupstestppd.c:1022 systemv/cupstestppd.c:1042
+#: systemv/cupstestppd.c:1073 systemv/cupstestppd.c:1095
+#: systemv/cupstestppd.c:1146 systemv/cupstestppd.c:1165
+#: systemv/cupstestppd.c:1209 systemv/cupstestppd.c:1223
+#: systemv/cupstestppd.c:1255 systemv/cupstestppd.c:1282
+#: systemv/cupstestppd.c:1800 systemv/cupstestppd.c:1819
+#: systemv/cupstestppd.c:1837 systemv/cupstestppd.c:1889
+#: systemv/cupstestppd.c:1905 systemv/cupstestppd.c:1942
+#: systemv/cupstestppd.c:1960 systemv/cupstestppd.c:1996
+#: systemv/cupstestppd.c:2010 systemv/cupstestppd.c:2037
+#: systemv/cupstestppd.c:2051 systemv/cupstestppd.c:2097
+#: systemv/cupstestppd.c:2119 systemv/cupstestppd.c:2142
+#: systemv/cupstestppd.c:2159 systemv/cupstestppd.c:2201
+#: systemv/cupstestppd.c:2244 systemv/cupstestppd.c:2291
+#: systemv/cupstestppd.c:2315 systemv/cupstestppd.c:2369
+#: systemv/cupstestppd.c:2385 systemv/cupstestppd.c:2415
+#: systemv/cupstestppd.c:2429 systemv/cupstestppd.c:2455
+#: systemv/cupstestppd.c:2471 systemv/cupstestppd.c:2511
+#: systemv/cupstestppd.c:2525 systemv/cupstestppd.c:2551
+#: systemv/cupstestppd.c:2567 systemv/cupstestppd.c:2597
+#: systemv/cupstestppd.c:2611 systemv/cupstestppd.c:2638
+#: systemv/cupstestppd.c:2655 systemv/cupstestppd.c:2669
+#: systemv/cupstestppd.c:2693 systemv/cupstestppd.c:2710
+#: systemv/cupstestppd.c:2724 systemv/cupstestppd.c:2748
+#: systemv/cupstestppd.c:2765 systemv/cupstestppd.c:2779
+#: systemv/cupstestppd.c:2803 systemv/cupstestppd.c:2820
+#: systemv/cupstestppd.c:2834 systemv/cupstestppd.c:2858
+#: systemv/cupstestppd.c:2872 systemv/cupstestppd.c:2887
+#: systemv/cupstestppd.c:2904 systemv/cupstestppd.c:2960
+#: systemv/cupstestppd.c:2995 systemv/cupstestppd.c:3009
+#: systemv/cupstestppd.c:3037 systemv/cupstestppd.c:3102
+#: systemv/cupstestppd.c:3117 systemv/cupstestppd.c:3156
+#: systemv/cupstestppd.c:3176 systemv/cupstestppd.c:3190
+#: systemv/cupstestppd.c:3387 systemv/cupstestppd.c:3423
+#: systemv/cupstestppd.c:3437 systemv/cupstestppd.c:3483
+#: systemv/cupstestppd.c:3515 systemv/cupstestppd.c:3532
+#: systemv/cupstestppd.c:3555 systemv/cupstestppd.c:3571
+#: systemv/cupstestppd.c:3609 systemv/cupstestppd.c:3750
+#: systemv/cupstestppd.c:3772 systemv/cupstestppd.c:3880
 msgid " FAIL"
 msgstr ""
 
-#: systemv/cupstestppd.c:1286
+#: systemv/cupstestppd.c:1306
 msgid " PASS"
 msgstr ""
 
-#: berkeley/lpq.c:560
+#: berkeley/lpq.c:565
 #, c-format
 msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes"
 msgstr ""
 
-#: berkeley/lpq.c:565
+#: berkeley/lpq.c:570
 #, c-format
 msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes"
 msgstr ""
 
-#: filter/bannertops.c:784
-#, c-format
-msgid "%.0f x %.0f millimeters"
-msgstr ""
-
-#: filter/bannertops.c:805
-#, c-format
-msgid "%.0f x %.0f to %.0f x %.0f millimeters"
-msgstr ""
-
-#: filter/bannertops.c:775
-#, c-format
-msgid "%.2f x %.2f inches"
-msgstr ""
-
-#: filter/bannertops.c:794
-#, c-format
-msgid "%.2f x %.2f to %.2f x %.2f inches"
-msgstr ""
-
-#: systemv/lpstat.c:750
+#: systemv/lpstat.c:835
 #, c-format
 msgid "%s accepting requests since %s"
 msgstr ""
 
-#: scheduler/ipp.c:11234
+#: scheduler/ipp.c:10166
 #, c-format
 msgid "%s cannot be changed."
 msgstr ""
@@ -1405,58 +1314,57 @@ msgstr ""
 msgid "%s is not implemented by the CUPS version of lpc."
 msgstr ""
 
-#: berkeley/lpq.c:651
+#: berkeley/lpq.c:656
 #, c-format
 msgid "%s is not ready"
 msgstr ""
 
-#: berkeley/lpq.c:644
+#: berkeley/lpq.c:649
 #, c-format
 msgid "%s is ready"
 msgstr ""
 
-#: berkeley/lpq.c:647
+#: berkeley/lpq.c:652
 #, c-format
 msgid "%s is ready and printing"
 msgstr ""
 
-#: driver/rastertoescpx.c:1775 driver/rastertopclx.c:1800
 #: filter/rastertoepson.c:985 filter/rastertohp.c:711
 #: filter/rastertolabel.c:1134
 #, c-format
 msgid "%s job-id user title copies options [file]"
 msgstr ""
 
-#: systemv/lpstat.c:754
+#: systemv/lpstat.c:839
 #, c-format
 msgid "%s not accepting requests since %s -"
 msgstr ""
 
-#: scheduler/ipp.c:718
+#: scheduler/ipp.c:691
 #, c-format
 msgid "%s not supported."
 msgstr ""
 
-#: systemv/lpstat.c:765
+#: systemv/lpstat.c:850
 #, c-format
 msgid "%s/%s accepting requests since %s"
 msgstr ""
 
-#: systemv/lpstat.c:770
+#: systemv/lpstat.c:855
 #, c-format
 msgid "%s/%s not accepting requests since %s -"
 msgstr ""
 
-#: berkeley/lpq.c:552
+#: berkeley/lpq.c:557
 #, c-format
 msgid "%s: %-33.33s [job %d localhost]"
 msgstr ""
 
 #. TRANSLATORS: Message is "subject: error"
-#: cups/langprintf.c:86 scheduler/cupsfilter.c:719 systemv/lpadmin.c:805
+#: cups/langprintf.c:86 scheduler/cupsfilter.c:716 systemv/lpadmin.c:805
 #: systemv/lpadmin.c:856 systemv/lpadmin.c:906 systemv/lpadmin.c:962
-#: systemv/lpadmin.c:1060 systemv/lpadmin.c:1113 systemv/lpadmin.c:1170
-#: systemv/lpadmin.c:1481
+#: systemv/lpadmin.c:1060 systemv/lpadmin.c:1112 systemv/lpadmin.c:1168
+#: systemv/lpadmin.c:1478
 #, c-format
 msgid "%s: %s"
 msgstr ""
@@ -1471,52 +1379,63 @@ msgstr ""
 msgid "%s: Don't know what to do."
 msgstr ""
 
-#: berkeley/lpq.c:236 berkeley/lpr.c:344 systemv/lp.c:584
+#: berkeley/lpq.c:237 berkeley/lpr.c:362 systemv/lp.c:608
 #, c-format
 msgid "%s: Error - %s environment variable names non-existent destination \"%s\"."
 msgstr ""
 
-#: systemv/lp.c:231
+#: berkeley/lpq.c:144 berkeley/lpq.c:215 berkeley/lpr.c:234 berkeley/lpr.c:337
+#: systemv/lp.c:163 systemv/lp.c:583 systemv/lp.c:703 systemv/lp.c:752
+#: systemv/lpstat.c:208 systemv/lpstat.c:286 systemv/lpstat.c:388
+#: systemv/lpstat.c:417 systemv/lpstat.c:441 systemv/lpstat.c:500
+#: systemv/lpstat.c:566 systemv/lpstat.c:627 systemv/lpstat.c:753
+#: systemv/lpstat.c:938 systemv/lpstat.c:1199 systemv/lpstat.c:1442
+#: systemv/lpstat.c:1701
+#, c-format
+msgid "%s: Error - add '/version=1.1' to server name."
+msgstr ""
+
+#: systemv/lp.c:240
 #, c-format
 msgid "%s: Error - bad job ID."
 msgstr ""
 
-#: systemv/lp.c:219
+#: systemv/lp.c:228
 #, c-format
 msgid "%s: Error - cannot print files and alter jobs simultaneously."
 msgstr ""
 
-#: systemv/lp.c:505
+#: systemv/lp.c:521
 #, c-format
 msgid "%s: Error - cannot print from stdin if files or a job ID are provided."
 msgstr ""
 
-#: systemv/lp.c:461
+#: systemv/lp.c:470
 #, c-format
 msgid "%s: Error - expected character set after \"-S\" option."
 msgstr ""
 
-#: systemv/lp.c:480
+#: systemv/lp.c:489
 #, c-format
 msgid "%s: Error - expected content type after \"-T\" option."
 msgstr ""
 
-#: berkeley/lpr.c:240
+#: berkeley/lpr.c:249
 #, c-format
 msgid "%s: Error - expected copies after \"-#\" option."
 msgstr ""
 
-#: systemv/lp.c:264
+#: systemv/lp.c:273
 #, c-format
 msgid "%s: Error - expected copies after \"-n\" option."
 msgstr ""
 
-#: berkeley/lpr.c:209
+#: berkeley/lpr.c:210
 #, c-format
 msgid "%s: Error - expected destination after \"-P\" option."
 msgstr ""
 
-#: systemv/lpstat.c:231
+#: systemv/lpstat.c:241
 #, c-format
 msgid "%s: Error - expected destination after \"-b\" option."
 msgstr ""
@@ -1526,48 +1445,48 @@ msgstr ""
 msgid "%s: Error - expected destination after \"-d\" option."
 msgstr ""
 
-#: systemv/lp.c:168
+#: systemv/lp.c:177
 #, c-format
 msgid "%s: Error - expected form after \"-f\" option."
 msgstr ""
 
-#: systemv/lp.c:391
+#: systemv/lp.c:400
 #, c-format
 msgid "%s: Error - expected hold name after \"-H\" option."
 msgstr ""
 
-#: berkeley/lpr.c:103
+#: berkeley/lpr.c:104
 #, c-format
 msgid "%s: Error - expected hostname after \"-H\" option."
 msgstr ""
 
 #: berkeley/lpq.c:180 berkeley/lprm.c:123 systemv/cancel.c:124
-#: systemv/cupsaccept.c:123 systemv/lp.c:189 systemv/lpstat.c:291
+#: systemv/cupsaccept.c:123 systemv/lp.c:198 systemv/lpstat.c:311
 #, c-format
 msgid "%s: Error - expected hostname after \"-h\" option."
 msgstr ""
 
-#: systemv/lp.c:371
+#: systemv/lp.c:380
 #, c-format
 msgid "%s: Error - expected mode list after \"-y\" option."
 msgstr ""
 
-#: berkeley/lpr.c:263
+#: berkeley/lpr.c:272
 #, c-format
 msgid "%s: Error - expected name after \"-%c\" option."
 msgstr ""
 
-#: berkeley/lpr.c:153 systemv/lp.c:288
+#: berkeley/lpr.c:154 systemv/lp.c:297
 #, c-format
 msgid "%s: Error - expected option=value after \"-o\" option."
 msgstr ""
 
-#: systemv/lp.c:441
+#: systemv/lp.c:450
 #, c-format
 msgid "%s: Error - expected page list after \"-P\" option."
 msgstr ""
 
-#: systemv/lp.c:308
+#: systemv/lp.c:317
 #, c-format
 msgid "%s: Error - expected priority after \"-%c\" option."
 msgstr ""
@@ -1577,12 +1496,12 @@ msgstr ""
 msgid "%s: Error - expected reason text after \"-r\" option."
 msgstr ""
 
-#: systemv/lp.c:354
+#: systemv/lp.c:363
 #, c-format
 msgid "%s: Error - expected title after \"-t\" option."
 msgstr ""
 
-#: berkeley/lpq.c:111 berkeley/lpr.c:84 berkeley/lprm.c:104
+#: berkeley/lpq.c:108 berkeley/lpr.c:85 berkeley/lprm.c:104
 #: systemv/cancel.c:94 systemv/cupsaccept.c:101 systemv/lp.c:116
 #: systemv/lpadmin.c:438 systemv/lpstat.c:137
 #, c-format
@@ -1594,7 +1513,7 @@ msgstr ""
 msgid "%s: Error - expected username after \"-u\" option."
 msgstr ""
 
-#: berkeley/lpr.c:125
+#: berkeley/lpr.c:126
 #, c-format
 msgid "%s: Error - expected value after \"-%c\" option."
 msgstr ""
@@ -1604,32 +1523,32 @@ msgstr ""
 msgid "%s: Error - need \"completed\", \"not-completed\", or \"all\" after \"-W\" option."
 msgstr ""
 
-#: berkeley/lpq.c:241 berkeley/lpr.c:349 systemv/lp.c:589
+#: berkeley/lpq.c:242 berkeley/lpr.c:367 systemv/lp.c:613
 #, c-format
 msgid "%s: Error - no default destination available."
 msgstr ""
 
-#: systemv/lp.c:330
+#: systemv/lp.c:339
 #, c-format
 msgid "%s: Error - priority must be between 1 and 100."
 msgstr ""
 
-#: berkeley/lpr.c:352 systemv/lp.c:592
+#: berkeley/lpr.c:370 systemv/lp.c:616
 #, c-format
 msgid "%s: Error - scheduler not responding."
 msgstr ""
 
-#: berkeley/lpr.c:305 systemv/lp.c:537
+#: berkeley/lpr.c:315 systemv/lp.c:553
 #, c-format
 msgid "%s: Error - too many files - \"%s\"."
 msgstr ""
 
-#: berkeley/lpr.c:287 systemv/lp.c:520
+#: berkeley/lpr.c:297 systemv/lp.c:536
 #, c-format
 msgid "%s: Error - unable to access \"%s\" - %s"
 msgstr ""
 
-#: berkeley/lpr.c:396 systemv/lp.c:624
+#: berkeley/lpr.c:413 systemv/lp.c:647
 #, c-format
 msgid "%s: Error - unable to queue from stdin - %s."
 msgstr ""
@@ -1639,43 +1558,43 @@ msgstr ""
 msgid "%s: Error - unknown destination \"%s\"."
 msgstr ""
 
-#: berkeley/lpq.c:150
+#: berkeley/lpq.c:148
 #, c-format
 msgid "%s: Error - unknown destination \"%s/%s\"."
 msgstr ""
 
-#: berkeley/lpr.c:274 berkeley/lprm.c:139 systemv/cancel.c:156
-#: systemv/cupsaccept.c:164 systemv/lp.c:496 systemv/lpstat.c:452
+#: berkeley/lpr.c:283 berkeley/lprm.c:139 systemv/cancel.c:156
+#: systemv/cupsaccept.c:164 systemv/lp.c:512 systemv/lpstat.c:512
 #, c-format
 msgid "%s: Error - unknown option \"%c\"."
 msgstr ""
 
-#: systemv/cupsaccept.c:157
+#: systemv/cupsaccept.c:157 systemv/lp.c:503
 #, c-format
 msgid "%s: Error - unknown option \"%s\"."
 msgstr ""
 
-#: systemv/lp.c:208
+#: systemv/lp.c:217
 #, c-format
 msgid "%s: Expected job ID after \"-i\" option."
 msgstr ""
 
-#: systemv/lpstat.c:504 systemv/lpstat.c:543
+#: systemv/lpstat.c:570 systemv/lpstat.c:610
 #, c-format
 msgid "%s: Invalid destination name in list \"%s\"."
 msgstr ""
 
-#: scheduler/cupsfilter.c:572
+#: scheduler/cupsfilter.c:569
 #, c-format
 msgid "%s: Invalid filter string \"%s\"."
 msgstr ""
 
-#: systemv/lp.c:418
+#: systemv/lp.c:427
 #, c-format
 msgid "%s: Need job ID (\"-i jobid\") before \"-H restart\"."
 msgstr ""
 
-#: scheduler/cupsfilter.c:463
+#: scheduler/cupsfilter.c:460
 #, c-format
 msgid "%s: No filter to convert from %s/%s to %s/%s."
 msgstr ""
@@ -1685,15 +1604,15 @@ msgstr ""
 msgid "%s: Operation failed: %s"
 msgstr ""
 
-#: berkeley/lpq.c:97 berkeley/lpr.c:70 berkeley/lprm.c:67 systemv/cancel.c:81
+#: berkeley/lpq.c:94 berkeley/lpr.c:71 berkeley/lprm.c:67 systemv/cancel.c:81
 #: systemv/cupsaccept.c:88 systemv/cupsaddsmb.c:86 systemv/lp.c:102
 #: systemv/lpadmin.c:239 systemv/lpinfo.c:88 systemv/lpmove.c:73
-#: systemv/lpstat.c:102 test/ipptool.c:304 test/ipptool.c:321
+#: systemv/lpstat.c:102 test/ipptool.c:307 test/ipptool.c:324
 #, c-format
 msgid "%s: Sorry, no encryption support."
 msgstr ""
 
-#: berkeley/lpq.c:295 scheduler/cupsfilter.c:1226 systemv/cancel.c:237
+#: berkeley/lpq.c:296 scheduler/cupsfilter.c:1224 systemv/cancel.c:237
 #: systemv/cupsaddsmb.c:144 systemv/cupsaddsmb.c:171
 #, c-format
 msgid "%s: Unable to connect to server."
@@ -1704,7 +1623,7 @@ msgstr ""
 msgid "%s: Unable to contact server."
 msgstr ""
 
-#: scheduler/cupsfilter.c:429
+#: scheduler/cupsfilter.c:425
 #, c-format
 msgid "%s: Unable to determine MIME type of \"%s\"."
 msgstr ""
@@ -1714,250 +1633,250 @@ msgstr ""
 msgid "%s: Unable to open %s: %s"
 msgstr ""
 
-#: scheduler/cupsfilter.c:667 ppdc/ppdmerge.cxx:112
+#: scheduler/cupsfilter.c:664 ppdc/ppdmerge.cxx:112
 #, c-format
 msgid "%s: Unable to open PPD file: %s on line %d."
 msgstr ""
 
-#: scheduler/cupsfilter.c:397
+#: scheduler/cupsfilter.c:392
 #, c-format
 msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"."
 msgstr ""
 
-#: berkeley/lpq.c:153 systemv/lpstat.c:558
+#: berkeley/lpq.c:151 systemv/lpstat.c:631
 #, c-format
 msgid "%s: Unknown destination \"%s\"."
 msgstr ""
 
-#: scheduler/cupsfilter.c:440
+#: scheduler/cupsfilter.c:437
 #, c-format
 msgid "%s: Unknown destination MIME type %s/%s."
 msgstr ""
 
-#: scheduler/cupsfilter.c:1432
+#: scheduler/cupsfilter.c:1429
 #, c-format
 msgid "%s: Unknown option \"%c\"."
 msgstr ""
 
-#: scheduler/cupsfilter.c:421
+#: scheduler/cupsfilter.c:417
 #, c-format
 msgid "%s: Unknown source MIME type %s/%s."
 msgstr ""
 
-#: berkeley/lpr.c:139
+#: berkeley/lpr.c:140
 #, c-format
 msgid "%s: Warning - \"%c\" format modifier not supported - output may not be correct."
 msgstr ""
 
-#: systemv/lp.c:468
+#: systemv/lp.c:477
 #, c-format
 msgid "%s: Warning - character set option ignored."
 msgstr ""
 
-#: systemv/lp.c:487
+#: systemv/lp.c:496
 #, c-format
 msgid "%s: Warning - content type option ignored."
 msgstr ""
 
-#: systemv/lp.c:175
+#: systemv/lp.c:184
 #, c-format
 msgid "%s: Warning - form option ignored."
 msgstr ""
 
-#: systemv/lp.c:378
+#: systemv/lp.c:387
 #, c-format
 msgid "%s: Warning - mode option ignored."
 msgstr ""
 
-#: ppdc/sample.c:319
+#: ppdc/sample.c:310
 msgid "-1"
 msgstr ""
 
-#: ppdc/sample.c:310
+#: ppdc/sample.c:301
 msgid "-10"
 msgstr ""
 
-#: ppdc/sample.c:402
+#: ppdc/sample.c:393
 msgid "-100"
 msgstr ""
 
-#: ppdc/sample.c:401
+#: ppdc/sample.c:392
 msgid "-105"
 msgstr ""
 
-#: ppdc/sample.c:309
+#: ppdc/sample.c:300
 msgid "-11"
 msgstr ""
 
-#: ppdc/sample.c:400
+#: ppdc/sample.c:391
 msgid "-110"
 msgstr ""
 
-#: ppdc/sample.c:399
+#: ppdc/sample.c:390
 msgid "-115"
 msgstr ""
 
-#: ppdc/sample.c:308
+#: ppdc/sample.c:299
 msgid "-12"
 msgstr ""
 
-#: ppdc/sample.c:398
+#: ppdc/sample.c:389
 msgid "-120"
 msgstr ""
 
-#: ppdc/sample.c:307
+#: ppdc/sample.c:298
 msgid "-13"
 msgstr ""
 
-#: ppdc/sample.c:306
+#: ppdc/sample.c:297
 msgid "-14"
 msgstr ""
 
-#: ppdc/sample.c:305
+#: ppdc/sample.c:296
 msgid "-15"
 msgstr ""
 
-#: ppdc/sample.c:318
+#: ppdc/sample.c:309
 msgid "-2"
 msgstr ""
 
-#: ppdc/sample.c:418
+#: ppdc/sample.c:409
 msgid "-20"
 msgstr ""
 
-#: ppdc/sample.c:417
+#: ppdc/sample.c:408
 msgid "-25"
 msgstr ""
 
-#: ppdc/sample.c:317
+#: ppdc/sample.c:308
 msgid "-3"
 msgstr ""
 
-#: ppdc/sample.c:416
+#: ppdc/sample.c:407
 msgid "-30"
 msgstr ""
 
-#: ppdc/sample.c:415
+#: ppdc/sample.c:406
 msgid "-35"
 msgstr ""
 
-#: ppdc/sample.c:316
+#: ppdc/sample.c:307
 msgid "-4"
 msgstr ""
 
-#: ppdc/sample.c:414
+#: ppdc/sample.c:405
 msgid "-40"
 msgstr ""
 
-#: ppdc/sample.c:413
+#: ppdc/sample.c:404
 msgid "-45"
 msgstr ""
 
-#: ppdc/sample.c:315
+#: ppdc/sample.c:306
 msgid "-5"
 msgstr ""
 
-#: ppdc/sample.c:412
+#: ppdc/sample.c:403
 msgid "-50"
 msgstr ""
 
-#: ppdc/sample.c:411
+#: ppdc/sample.c:402
 msgid "-55"
 msgstr ""
 
-#: ppdc/sample.c:314
+#: ppdc/sample.c:305
 msgid "-6"
 msgstr ""
 
-#: ppdc/sample.c:410
+#: ppdc/sample.c:401
 msgid "-60"
 msgstr ""
 
-#: ppdc/sample.c:409
+#: ppdc/sample.c:400
 msgid "-65"
 msgstr ""
 
-#: ppdc/sample.c:313
+#: ppdc/sample.c:304
 msgid "-7"
 msgstr ""
 
-#: ppdc/sample.c:408
+#: ppdc/sample.c:399
 msgid "-70"
 msgstr ""
 
-#: ppdc/sample.c:407
+#: ppdc/sample.c:398
 msgid "-75"
 msgstr ""
 
-#: ppdc/sample.c:312
+#: ppdc/sample.c:303
 msgid "-8"
 msgstr ""
 
-#: ppdc/sample.c:406
+#: ppdc/sample.c:397
 msgid "-80"
 msgstr ""
 
-#: ppdc/sample.c:405
+#: ppdc/sample.c:396
 msgid "-85"
 msgstr ""
 
-#: ppdc/sample.c:311
+#: ppdc/sample.c:302
 msgid "-9"
 msgstr ""
 
-#: ppdc/sample.c:404
+#: ppdc/sample.c:395
 msgid "-90"
 msgstr ""
 
-#: ppdc/sample.c:403
+#: ppdc/sample.c:394
 msgid "-95"
 msgstr ""
 
-#: ppdc/sample.c:320
+#: ppdc/sample.c:311
 msgid "0"
 msgstr ""
 
-#: ppdc/sample.c:321
+#: ppdc/sample.c:312
 msgid "1"
 msgstr ""
 
-#: ppdc/sample.c:393
+#: ppdc/sample.c:384
 msgid "1 inch/sec."
 msgstr ""
 
-#: ppdc/sample.c:181
+#: ppdc/sample.c:172
 msgid "1.25x0.25\""
 msgstr ""
 
-#: ppdc/sample.c:182
+#: ppdc/sample.c:173
 msgid "1.25x2.25\""
 msgstr ""
 
-#: ppdc/sample.c:441
+#: ppdc/sample.c:432
 msgid "1.5 inch/sec."
 msgstr ""
 
-#: ppdc/sample.c:183
+#: ppdc/sample.c:174
 msgid "1.50x0.25\""
 msgstr ""
 
-#: ppdc/sample.c:184
+#: ppdc/sample.c:175
 msgid "1.50x0.50\""
 msgstr ""
 
-#: ppdc/sample.c:185
+#: ppdc/sample.c:176
 msgid "1.50x1.00\""
 msgstr ""
 
-#: ppdc/sample.c:186
+#: ppdc/sample.c:177
 msgid "1.50x2.00\""
 msgstr ""
 
-#: ppdc/sample.c:330
+#: ppdc/sample.c:321
 msgid "10"
 msgstr ""
 
-#: ppdc/sample.c:452
+#: ppdc/sample.c:443
 msgid "10 inches/sec."
 msgstr ""
 
@@ -1973,39 +1892,39 @@ msgstr ""
 msgid "10 x 14"
 msgstr ""
 
-#: ppdc/sample.c:432
+#: ppdc/sample.c:423
 msgid "100"
 msgstr ""
 
-#: ppdc/sample.c:343
+#: ppdc/sample.c:334
 msgid "100 mm/sec."
 msgstr ""
 
-#: ppdc/sample.c:433
+#: ppdc/sample.c:424
 msgid "105"
 msgstr ""
 
-#: ppdc/sample.c:331
+#: ppdc/sample.c:322
 msgid "11"
 msgstr ""
 
-#: ppdc/sample.c:453
+#: ppdc/sample.c:444
 msgid "11 inches/sec."
 msgstr ""
 
-#: ppdc/sample.c:434
+#: ppdc/sample.c:425
 msgid "110"
 msgstr ""
 
-#: ppdc/sample.c:435
+#: ppdc/sample.c:426
 msgid "115"
 msgstr ""
 
-#: ppdc/sample.c:332
+#: ppdc/sample.c:323
 msgid "12"
 msgstr ""
 
-#: ppdc/sample.c:454
+#: ppdc/sample.c:445
 msgid "12 inches/sec."
 msgstr ""
 
@@ -2013,39 +1932,39 @@ msgstr ""
 msgid "12 x 11"
 msgstr ""
 
-#: ppdc/sample.c:436
+#: ppdc/sample.c:427
 msgid "120"
 msgstr ""
 
-#: ppdc/sample.c:344
+#: ppdc/sample.c:335
 msgid "120 mm/sec."
 msgstr ""
 
-#: ppdc/sample.c:252
+#: ppdc/sample.c:243
 msgid "120x60dpi"
 msgstr ""
 
-#: ppdc/sample.c:258
+#: ppdc/sample.c:249
 msgid "120x72dpi"
 msgstr ""
 
-#: ppdc/sample.c:333
+#: ppdc/sample.c:324
 msgid "13"
 msgstr ""
 
-#: ppdc/sample.c:241
+#: ppdc/sample.c:232
 msgid "136dpi"
 msgstr ""
 
-#: ppdc/sample.c:334
+#: ppdc/sample.c:325
 msgid "14"
 msgstr ""
 
-#: ppdc/sample.c:335
+#: ppdc/sample.c:326
 msgid "15"
 msgstr ""
 
-#: ppdc/sample.c:337
+#: ppdc/sample.c:328
 msgid "15 mm/sec."
 msgstr ""
 
@@ -2053,187 +1972,187 @@ msgstr ""
 msgid "15 x 11"
 msgstr ""
 
-#: ppdc/sample.c:345
+#: ppdc/sample.c:336
 msgid "150 mm/sec."
 msgstr ""
 
-#: ppdc/sample.c:292
+#: ppdc/sample.c:283
 msgid "150dpi"
 msgstr ""
 
-#: ppdc/sample.c:377
+#: ppdc/sample.c:368
 msgid "16"
 msgstr ""
 
-#: ppdc/sample.c:378
+#: ppdc/sample.c:369
 msgid "17"
 msgstr ""
 
-#: ppdc/sample.c:379
+#: ppdc/sample.c:370
 msgid "18"
 msgstr ""
 
-#: ppdc/sample.c:253
+#: ppdc/sample.c:244
 msgid "180dpi"
 msgstr ""
 
-#: ppdc/sample.c:380
+#: ppdc/sample.c:371
 msgid "19"
 msgstr ""
 
-#: ppdc/sample.c:322
+#: ppdc/sample.c:313
 msgid "2"
 msgstr ""
 
-#: ppdc/sample.c:394
+#: ppdc/sample.c:385
 msgid "2 inches/sec."
 msgstr ""
 
-#: ppdc/sample.c:279
+#: ppdc/sample.c:270
 msgid "2-Sided Printing"
 msgstr ""
 
-#: ppdc/sample.c:187
+#: ppdc/sample.c:178
 msgid "2.00x0.37\""
 msgstr ""
 
-#: ppdc/sample.c:188
+#: ppdc/sample.c:179
 msgid "2.00x0.50\""
 msgstr ""
 
-#: ppdc/sample.c:189
+#: ppdc/sample.c:180
 msgid "2.00x1.00\""
 msgstr ""
 
-#: ppdc/sample.c:190
+#: ppdc/sample.c:181
 msgid "2.00x1.25\""
 msgstr ""
 
-#: ppdc/sample.c:191
+#: ppdc/sample.c:182
 msgid "2.00x2.00\""
 msgstr ""
 
-#: ppdc/sample.c:192
+#: ppdc/sample.c:183
 msgid "2.00x3.00\""
 msgstr ""
 
-#: ppdc/sample.c:193
+#: ppdc/sample.c:184
 msgid "2.00x4.00\""
 msgstr ""
 
-#: ppdc/sample.c:194
+#: ppdc/sample.c:185
 msgid "2.00x5.50\""
 msgstr ""
 
-#: ppdc/sample.c:195
+#: ppdc/sample.c:186
 msgid "2.25x0.50\""
 msgstr ""
 
-#: ppdc/sample.c:196
+#: ppdc/sample.c:187
 msgid "2.25x1.25\""
 msgstr ""
 
-#: ppdc/sample.c:197
+#: ppdc/sample.c:188
 msgid "2.25x4.00\""
 msgstr ""
 
-#: ppdc/sample.c:198
+#: ppdc/sample.c:189
 msgid "2.25x5.50\""
 msgstr ""
 
-#: ppdc/sample.c:199
+#: ppdc/sample.c:190
 msgid "2.38x5.50\""
 msgstr ""
 
-#: ppdc/sample.c:442
+#: ppdc/sample.c:433
 msgid "2.5 inches/sec."
 msgstr ""
 
-#: ppdc/sample.c:200
+#: ppdc/sample.c:191
 msgid "2.50x1.00\""
 msgstr ""
 
-#: ppdc/sample.c:201
+#: ppdc/sample.c:192
 msgid "2.50x2.00\""
 msgstr ""
 
-#: ppdc/sample.c:202
+#: ppdc/sample.c:193
 msgid "2.75x1.25\""
 msgstr ""
 
-#: ppdc/sample.c:203
+#: ppdc/sample.c:194
 msgid "2.9 x 1\""
 msgstr ""
 
-#: ppdc/sample.c:381
+#: ppdc/sample.c:372
 msgid "20"
 msgstr ""
 
-#: ppdc/sample.c:338
+#: ppdc/sample.c:329
 msgid "20 mm/sec."
 msgstr ""
 
-#: ppdc/sample.c:346
+#: ppdc/sample.c:337
 msgid "200 mm/sec."
 msgstr ""
 
-#: ppdc/sample.c:242
+#: ppdc/sample.c:233
 msgid "203dpi"
 msgstr ""
 
-#: ppdc/sample.c:382
+#: ppdc/sample.c:373
 msgid "21"
 msgstr ""
 
-#: ppdc/sample.c:383
+#: ppdc/sample.c:374
 msgid "22"
 msgstr ""
 
-#: ppdc/sample.c:384
+#: ppdc/sample.c:375
 msgid "23"
 msgstr ""
 
-#: ppdc/sample.c:385
+#: ppdc/sample.c:376
 msgid "24"
 msgstr ""
 
-#: ppdc/sample.c:250
+#: ppdc/sample.c:241
 msgid "24-Pin Series"
 msgstr ""
 
-#: ppdc/sample.c:259
+#: ppdc/sample.c:250
 msgid "240x72dpi"
 msgstr ""
 
-#: ppdc/sample.c:386
+#: ppdc/sample.c:377
 msgid "25"
 msgstr ""
 
-#: ppdc/sample.c:347
+#: ppdc/sample.c:338
 msgid "250 mm/sec."
 msgstr ""
 
-#: ppdc/sample.c:387
+#: ppdc/sample.c:378
 msgid "26"
 msgstr ""
 
-#: ppdc/sample.c:388
+#: ppdc/sample.c:379
 msgid "27"
 msgstr ""
 
-#: ppdc/sample.c:389
+#: ppdc/sample.c:380
 msgid "28"
 msgstr ""
 
-#: ppdc/sample.c:390
+#: ppdc/sample.c:381
 msgid "29"
 msgstr ""
 
-#: ppdc/sample.c:323
+#: ppdc/sample.c:314
 msgid "3"
 msgstr ""
 
-#: ppdc/sample.c:395
+#: ppdc/sample.c:386
 msgid "3 inches/sec."
 msgstr ""
 
@@ -2241,43 +2160,43 @@ msgstr ""
 msgid "3 x 5"
 msgstr ""
 
-#: ppdc/sample.c:204
+#: ppdc/sample.c:195
 msgid "3.00x1.00\""
 msgstr ""
 
-#: ppdc/sample.c:205
+#: ppdc/sample.c:196
 msgid "3.00x1.25\""
 msgstr ""
 
-#: ppdc/sample.c:206
+#: ppdc/sample.c:197
 msgid "3.00x2.00\""
 msgstr ""
 
-#: ppdc/sample.c:207
+#: ppdc/sample.c:198
 msgid "3.00x3.00\""
 msgstr ""
 
-#: ppdc/sample.c:208
+#: ppdc/sample.c:199
 msgid "3.00x5.00\""
 msgstr ""
 
-#: ppdc/sample.c:209
+#: ppdc/sample.c:200
 msgid "3.25x2.00\""
 msgstr ""
 
-#: ppdc/sample.c:210
+#: ppdc/sample.c:201
 msgid "3.25x5.00\""
 msgstr ""
 
-#: ppdc/sample.c:211
+#: ppdc/sample.c:202
 msgid "3.25x5.50\""
 msgstr ""
 
-#: ppdc/sample.c:212
+#: ppdc/sample.c:203
 msgid "3.25x5.83\""
 msgstr ""
 
-#: ppdc/sample.c:213
+#: ppdc/sample.c:204
 msgid "3.25x7.83\""
 msgstr ""
 
@@ -2289,103 +2208,99 @@ msgstr ""
 msgid "3.5\" Disk"
 msgstr ""
 
-#: ppdc/sample.c:180
-msgid "3.5\" Disk - 2 1/8 x 2 3/4\""
-msgstr ""
-
-#: ppdc/sample.c:214
+#: ppdc/sample.c:205
 msgid "3.50x1.00\""
 msgstr ""
 
-#: ppdc/sample.c:391
+#: ppdc/sample.c:382
 msgid "30"
 msgstr ""
 
-#: ppdc/sample.c:339
+#: ppdc/sample.c:330
 msgid "30 mm/sec."
 msgstr ""
 
-#: ppdc/sample.c:348
+#: ppdc/sample.c:339
 msgid "300 mm/sec."
 msgstr ""
 
-#: ppdc/sample.c:243
+#: ppdc/sample.c:234
 msgid "300dpi"
 msgstr ""
 
-#: ppdc/sample.c:419
+#: ppdc/sample.c:410
 msgid "35"
 msgstr ""
 
-#: ppdc/sample.c:255
+#: ppdc/sample.c:246
 msgid "360dpi"
 msgstr ""
 
-#: ppdc/sample.c:254
+#: ppdc/sample.c:245
 msgid "360x180dpi"
 msgstr ""
 
-#: ppdc/sample.c:324
+#: ppdc/sample.c:315
 msgid "4"
 msgstr ""
 
-#: ppdc/sample.c:396
+#: ppdc/sample.c:387
 msgid "4 inches/sec."
 msgstr ""
 
-#: ppdc/sample.c:215
+#: ppdc/sample.c:206
 msgid "4.00x1.00\""
 msgstr ""
 
-#: ppdc/sample.c:223
+#: ppdc/sample.c:214
 msgid "4.00x13.00\""
 msgstr ""
 
-#: ppdc/sample.c:216
+#: ppdc/sample.c:207
 msgid "4.00x2.00\""
 msgstr ""
 
-#: ppdc/sample.c:217
+#: ppdc/sample.c:208
 msgid "4.00x2.50\""
 msgstr ""
 
-#: ppdc/sample.c:218
+#: ppdc/sample.c:209
 msgid "4.00x3.00\""
 msgstr ""
 
-#: ppdc/sample.c:219
+#: ppdc/sample.c:210
 msgid "4.00x4.00\""
 msgstr ""
 
-#: ppdc/sample.c:220
+#: ppdc/sample.c:211
 msgid "4.00x5.00\""
 msgstr ""
 
-#: ppdc/sample.c:221
+#: ppdc/sample.c:212
 msgid "4.00x6.00\""
 msgstr ""
 
-#: ppdc/sample.c:222
+#: ppdc/sample.c:213
 msgid "4.00x6.50\""
 msgstr ""
 
-#: ppdc/sample.c:420
+#: ppdc/sample.c:411
 msgid "40"
 msgstr ""
 
-#: ppdc/sample.c:340
+#: ppdc/sample.c:331
 msgid "40 mm/sec."
 msgstr ""
 
-#: ppdc/sample.c:421
+#: ppdc/sample.c:412
 msgid "45"
 msgstr ""
 
-#: ppdc/sample.c:325
+#: ppdc/sample.c:316
 msgid "5"
 msgstr ""
 
-#: ppdc/sample.c:446
+#: ppdc/sample.c:437
 msgid "5 inches/sec."
 msgstr ""
 
@@ -2393,79 +2308,79 @@ msgstr ""
 msgid "5 x 7"
 msgstr ""
 
-#: ppdc/sample.c:422
+#: ppdc/sample.c:413
 msgid "50"
 msgstr ""
 
-#: ppdc/sample.c:423
+#: ppdc/sample.c:414
 msgid "55"
 msgstr ""
 
-#: ppdc/sample.c:326
+#: ppdc/sample.c:317
 msgid "6"
 msgstr ""
 
-#: ppdc/sample.c:447
+#: ppdc/sample.c:438
 msgid "6 inches/sec."
 msgstr ""
 
-#: ppdc/sample.c:224
+#: ppdc/sample.c:215
 msgid "6.00x1.00\""
 msgstr ""
 
-#: ppdc/sample.c:225
+#: ppdc/sample.c:216
 msgid "6.00x2.00\""
 msgstr ""
 
-#: ppdc/sample.c:226
+#: ppdc/sample.c:217
 msgid "6.00x3.00\""
 msgstr ""
 
-#: ppdc/sample.c:227
+#: ppdc/sample.c:218
 msgid "6.00x4.00\""
 msgstr ""
 
-#: ppdc/sample.c:228
+#: ppdc/sample.c:219
 msgid "6.00x5.00\""
 msgstr ""
 
-#: ppdc/sample.c:229
+#: ppdc/sample.c:220
 msgid "6.00x6.00\""
 msgstr ""
 
-#: ppdc/sample.c:230
+#: ppdc/sample.c:221
 msgid "6.00x6.50\""
 msgstr ""
 
-#: ppdc/sample.c:424
+#: ppdc/sample.c:415
 msgid "60"
 msgstr ""
 
-#: ppdc/sample.c:341
+#: ppdc/sample.c:332
 msgid "60 mm/sec."
 msgstr ""
 
-#: ppdc/sample.c:270
+#: ppdc/sample.c:261
 msgid "600dpi"
 msgstr ""
 
-#: ppdc/sample.c:251
+#: ppdc/sample.c:242
 msgid "60dpi"
 msgstr ""
 
-#: ppdc/sample.c:257
+#: ppdc/sample.c:248
 msgid "60x72dpi"
 msgstr ""
 
-#: ppdc/sample.c:425
+#: ppdc/sample.c:416
 msgid "65"
 msgstr ""
 
-#: ppdc/sample.c:327
+#: ppdc/sample.c:318
 msgid "7"
 msgstr ""
 
-#: ppdc/sample.c:449
+#: ppdc/sample.c:440
 msgid "7 inches/sec."
 msgstr ""
 
@@ -2473,23 +2388,23 @@ msgstr ""
 msgid "7 x 9"
 msgstr ""
 
-#: ppdc/sample.c:426
+#: ppdc/sample.c:417
 msgid "70"
 msgstr ""
 
-#: ppdc/sample.c:261
+#: ppdc/sample.c:252
 msgid "720dpi"
 msgstr ""
 
-#: ppdc/sample.c:427
+#: ppdc/sample.c:418
 msgid "75"
 msgstr ""
 
-#: ppdc/sample.c:328
+#: ppdc/sample.c:319
 msgid "8"
 msgstr ""
 
-#: ppdc/sample.c:450
+#: ppdc/sample.c:441
 msgid "8 inches/sec."
 msgstr ""
 
@@ -2497,51 +2412,51 @@ msgstr ""
 msgid "8 x 10"
 msgstr ""
 
-#: ppdc/sample.c:231
+#: ppdc/sample.c:222
 msgid "8.00x1.00\""
 msgstr ""
 
-#: ppdc/sample.c:232
+#: ppdc/sample.c:223
 msgid "8.00x2.00\""
 msgstr ""
 
-#: ppdc/sample.c:233
+#: ppdc/sample.c:224
 msgid "8.00x3.00\""
 msgstr ""
 
-#: ppdc/sample.c:234
+#: ppdc/sample.c:225
 msgid "8.00x4.00\""
 msgstr ""
 
-#: ppdc/sample.c:235
+#: ppdc/sample.c:226
 msgid "8.00x5.00\""
 msgstr ""
 
-#: ppdc/sample.c:236
+#: ppdc/sample.c:227
 msgid "8.00x6.00\""
 msgstr ""
 
-#: ppdc/sample.c:237
+#: ppdc/sample.c:228
 msgid "8.00x6.50\""
 msgstr ""
 
-#: ppdc/sample.c:428
+#: ppdc/sample.c:419
 msgid "80"
 msgstr ""
 
-#: ppdc/sample.c:342
+#: ppdc/sample.c:333
 msgid "80 mm/sec."
 msgstr ""
 
-#: ppdc/sample.c:429
+#: ppdc/sample.c:420
 msgid "85"
 msgstr ""
 
-#: ppdc/sample.c:329
+#: ppdc/sample.c:320
 msgid "9"
 msgstr ""
 
-#: ppdc/sample.c:451
+#: ppdc/sample.c:442
 msgid "9 inches/sec."
 msgstr ""
 
@@ -2553,15 +2468,15 @@ msgstr ""
 msgid "9 x 12"
 msgstr ""
 
-#: ppdc/sample.c:256
+#: ppdc/sample.c:247
 msgid "9-Pin Series"
 msgstr ""
 
-#: ppdc/sample.c:430
+#: ppdc/sample.c:421
 msgid "90"
 msgstr ""
 
-#: ppdc/sample.c:431
+#: ppdc/sample.c:422
 msgid "95"
 msgstr ""
 
@@ -2569,20 +2484,20 @@ msgstr ""
 msgid "?Invalid help command unknown."
 msgstr ""
 
-#: cgi-bin/admin.c:2443
+#: cgi-bin/admin.c:2368
 msgid "A Samba password is required to export printer drivers"
 msgstr ""
 
-#: cgi-bin/admin.c:2439
+#: cgi-bin/admin.c:2364
 msgid "A Samba username is required to export printer drivers"
 msgstr ""
 
-#: scheduler/ipp.c:2430
+#: scheduler/ipp.c:2381
 #, c-format
 msgid "A class named \"%s\" already exists."
 msgstr ""
 
-#: scheduler/ipp.c:1034
+#: scheduler/ipp.c:1004
 #, c-format
 msgid "A printer named \"%s\" already exists."
 msgstr ""
@@ -2727,7 +2642,7 @@ msgstr ""
 msgid "Accept Jobs"
 msgstr ""
 
-#: cups/http-support.c:1257
+#: cups/http-support.c:1345
 msgid "Accepted"
 msgstr ""
 
@@ -2735,7 +2650,7 @@ msgstr ""
 msgid "Add Class"
 msgstr ""
 
-#: cgi-bin/admin.c:883
+#: cgi-bin/admin.c:882
 msgid "Add Printer"
 msgstr ""
 
@@ -2748,32 +2663,28 @@ msgstr ""
 msgid "Address"
 msgstr ""
 
-#: ppdc/sample.c:172
-msgid "Address - 1 1/8 x 3 1/2\""
-msgstr ""
-
-#: cgi-bin/admin.c:210 cgi-bin/admin.c:284 cgi-bin/admin.c:2864
+#: cgi-bin/admin.c:210 cgi-bin/admin.c:284 cgi-bin/admin.c:2745
 msgid "Administration"
 msgstr ""
 
-#: ppdc/sample.c:438
+#: ppdc/sample.c:429
 msgid "Always"
 msgstr ""
 
-#: backend/socket.c:129
+#: backend/socket.c:130
 msgid "AppSocket/HP JetDirect"
 msgstr ""
 
-#: ppdc/sample.c:459
+#: ppdc/sample.c:450
 msgid "Applicator"
 msgstr ""
 
-#: scheduler/ipp.c:1159
+#: scheduler/ipp.c:1079
 #, c-format
 msgid "Attempt to set %s printer-state to bad value %d."
 msgstr ""
 
-#: scheduler/ipp.c:352
+#: scheduler/ipp.c:325
 #, c-format
 msgid "Attribute groups are out of order (%x < %x)."
 msgstr ""
@@ -2826,36 +2737,41 @@ msgstr ""
 msgid "B9"
 msgstr ""
 
-#: cups/dest.c:827
+#: scheduler/ipp.c:11091
+#, c-format
+msgid "Bad 'document-format' value \"%s\"."
+msgstr ""
+
+#: cups/dest.c:1679
 msgid "Bad NULL dests pointer"
 msgstr ""
 
-#: cups/ppd.c:343
+#: cups/ppd.c:345
 msgid "Bad OpenGroup"
 msgstr ""
 
-#: cups/ppd.c:345
+#: cups/ppd.c:347
 msgid "Bad OpenUI/JCLOpenUI"
 msgstr ""
 
-#: cups/ppd.c:347
+#: cups/ppd.c:349
 msgid "Bad OrderDependency"
 msgstr ""
 
-#: cups/ppd-cache.c:148 cups/ppd-cache.c:193 cups/ppd-cache.c:231
-#: cups/ppd-cache.c:237 cups/ppd-cache.c:253 cups/ppd-cache.c:269
-#: cups/ppd-cache.c:278 cups/ppd-cache.c:286 cups/ppd-cache.c:303
-#: cups/ppd-cache.c:311 cups/ppd-cache.c:326 cups/ppd-cache.c:334
-#: cups/ppd-cache.c:352 cups/ppd-cache.c:364 cups/ppd-cache.c:379
-#: cups/ppd-cache.c:391 cups/ppd-cache.c:413 cups/ppd-cache.c:421
-#: cups/ppd-cache.c:439 cups/ppd-cache.c:447 cups/ppd-cache.c:462
-#: cups/ppd-cache.c:470 cups/ppd-cache.c:488 cups/ppd-cache.c:496
-#: cups/ppd-cache.c:523 cups/ppd-cache.c:567 cups/ppd-cache.c:575
-#: cups/ppd-cache.c:583
+#: cups/ppd-cache.c:149 cups/ppd-cache.c:196 cups/ppd-cache.c:234
+#: cups/ppd-cache.c:240 cups/ppd-cache.c:256 cups/ppd-cache.c:272
+#: cups/ppd-cache.c:281 cups/ppd-cache.c:289 cups/ppd-cache.c:306
+#: cups/ppd-cache.c:314 cups/ppd-cache.c:329 cups/ppd-cache.c:337
+#: cups/ppd-cache.c:358 cups/ppd-cache.c:370 cups/ppd-cache.c:385
+#: cups/ppd-cache.c:397 cups/ppd-cache.c:419 cups/ppd-cache.c:427
+#: cups/ppd-cache.c:445 cups/ppd-cache.c:453 cups/ppd-cache.c:468
+#: cups/ppd-cache.c:476 cups/ppd-cache.c:494 cups/ppd-cache.c:502
+#: cups/ppd-cache.c:529 cups/ppd-cache.c:575 cups/ppd-cache.c:583
+#: cups/ppd-cache.c:591
 msgid "Bad PPD cache file."
 msgstr ""
 
-#: cups/http-support.c:1272
+#: cups/http-support.c:1360
 msgid "Bad Request"
 msgstr ""
 
@@ -2863,115 +2779,91 @@ msgstr ""
 msgid "Bad SNMP version number"
 msgstr ""
 
-#: cups/ppd.c:348
+#: cups/ppd.c:350
 msgid "Bad UIConstraints"
 msgstr ""
 
-#: filter/pstext.c:278 filter/texttops.c:297 filter/texttops.c:309
-#, c-format
-msgid "Bad charset file \"%s\"."
-msgstr ""
-
-#: filter/texttops.c:472
-#, c-format
-msgid "Bad charset type: %s"
-msgstr ""
-
-#: filter/textcommon.c:613
-#, c-format
-msgid "Bad columns value %d."
-msgstr ""
-
-#: scheduler/ipp.c:1460
+#: scheduler/ipp.c:1416
 #, c-format
 msgid "Bad copies value %d."
 msgstr ""
 
-#: filter/textcommon.c:625
-#, c-format
-msgid "Bad cpi value %f."
-msgstr ""
-
-#: cups/ppd.c:356
+#: cups/ppd.c:358
 msgid "Bad custom parameter"
 msgstr ""
 
-#: cups/http-support.c:1424 scheduler/ipp.c:2549
+#: cups/http-support.c:1512 scheduler/ipp.c:2467
 #, c-format
 msgid "Bad device-uri \"%s\"."
 msgstr ""
 
-#: scheduler/ipp.c:2590
+#: scheduler/ipp.c:2506
 #, c-format
 msgid "Bad device-uri scheme \"%s\"."
 msgstr ""
 
-#: scheduler/ipp.c:9423 scheduler/ipp.c:9439 scheduler/ipp.c:10652
-#: scheduler/ipp.c:12158
+#: scheduler/ipp.c:8339 scheduler/ipp.c:8355 scheduler/ipp.c:9575
 #, c-format
 msgid "Bad document-format \"%s\"."
 msgstr ""
 
-#: scheduler/ipp.c:10668
+#: scheduler/ipp.c:9591
 #, c-format
 msgid "Bad document-format-default \"%s\"."
 msgstr ""
 
-#: cups/util.c:928
+#: cups/util.c:929
 msgid "Bad filename buffer"
 msgstr ""
 
-#: filter/pstext.c:324 filter/pstext.c:362
-#, c-format
-msgid "Bad font description line \"%s\"."
+#: scheduler/ipp.c:1631
+msgid "Bad job-name value: Bad UTF-8 sequence."
 msgstr ""
 
-#: filter/texttops.c:364 filter/texttops.c:402
-#, c-format
-msgid "Bad font description line: %s"
+#: scheduler/ipp.c:1634
+msgid "Bad job-name value: Name too long."
+msgstr ""
+
+#: scheduler/ipp.c:1585
+msgid "Bad job-name value: Wrong type or count."
 msgstr ""
 
-#: scheduler/ipp.c:11250
+#: scheduler/ipp.c:10181
 msgid "Bad job-priority value."
 msgstr ""
 
-#: scheduler/ipp.c:1490
+#: scheduler/ipp.c:1446
 #, c-format
 msgid "Bad job-sheets value \"%s\"."
 msgstr ""
 
-#: scheduler/ipp.c:1474
+#: scheduler/ipp.c:1430
 msgid "Bad job-sheets value type."
 msgstr ""
 
-#: scheduler/ipp.c:11280
+#: scheduler/ipp.c:10211
 msgid "Bad job-state value."
 msgstr ""
 
-#: scheduler/ipp.c:4061 scheduler/ipp.c:4513 scheduler/ipp.c:7267
-#: scheduler/ipp.c:7414 scheduler/ipp.c:8857 scheduler/ipp.c:9126
-#: scheduler/ipp.c:9974 scheduler/ipp.c:10199 scheduler/ipp.c:10548
-#: scheduler/ipp.c:11142
+#: scheduler/ipp.c:3089 scheduler/ipp.c:3541 scheduler/ipp.c:6193
+#: scheduler/ipp.c:6340 scheduler/ipp.c:7773 scheduler/ipp.c:8042
+#: scheduler/ipp.c:8890 scheduler/ipp.c:9116 scheduler/ipp.c:9471
+#: scheduler/ipp.c:10074
 #, c-format
 msgid "Bad job-uri \"%s\"."
 msgstr ""
 
-#: filter/textcommon.c:637
-#, c-format
-msgid "Bad lpi value %f."
-msgstr ""
-
-#: scheduler/ipp.c:2194 scheduler/ipp.c:6809
+#: scheduler/ipp.c:2147 scheduler/ipp.c:5737
 #, c-format
 msgid "Bad notify-pull-method \"%s\"."
 msgstr ""
 
-#: scheduler/ipp.c:2158 scheduler/ipp.c:6773
+#: scheduler/ipp.c:2111 scheduler/ipp.c:5701
 #, c-format
 msgid "Bad notify-recipient-uri \"%s\"."
 msgstr ""
 
-#: scheduler/ipp.c:1506
+#: scheduler/ipp.c:1462
 #, c-format
 msgid "Bad number-up value %d."
 msgstr ""
@@ -2981,68 +2873,48 @@ msgstr ""
 msgid "Bad option + choice on line %d."
 msgstr ""
 
-#: scheduler/ipp.c:1523
+#: scheduler/ipp.c:1479
 #, c-format
 msgid "Bad page-ranges values %d-%d."
 msgstr ""
 
-#: scheduler/ipp.c:2633
+#: scheduler/ipp.c:2549
 #, c-format
 msgid "Bad port-monitor \"%s\"."
 msgstr ""
 
-#: scheduler/ipp.c:2694
+#: cups/dest.c:676 cups/dest.c:1333
+msgid "Bad printer URI."
+msgstr ""
+
+#: scheduler/ipp.c:2610
 #, c-format
 msgid "Bad printer-state value %d."
 msgstr ""
 
-#: scheduler/ipp.c:320
+#: scheduler/ipp.c:293
 #, c-format
 msgid "Bad request ID %d."
 msgstr ""
 
-#: scheduler/ipp.c:305
+#: scheduler/ipp.c:278
 #, c-format
 msgid "Bad request version number %d.%d."
 msgstr ""
 
-#: cgi-bin/admin.c:1485
+#: cgi-bin/admin.c:1484
 msgid "Bad subscription ID"
 msgstr ""
 
-#: filter/pstext.c:337
-#, c-format
-msgid "Bad text direction \"%s\"."
-msgstr ""
-
-#: filter/texttops.c:377
-#, c-format
-msgid "Bad text direction: %s"
-msgstr ""
-
-#: filter/pstext.c:375
-#, c-format
-msgid "Bad text width \"%s\"."
-msgstr ""
-
-#: filter/texttops.c:416
-#, c-format
-msgid "Bad text width: %s"
-msgstr ""
-
-#: cups/ppd.c:358
+#: cups/ppd.c:360
 msgid "Bad value string"
 msgstr ""
 
-#: cgi-bin/admin.c:3409 cgi-bin/admin.c:3655
+#: cgi-bin/admin.c:3290 cgi-bin/admin.c:3536
 msgid "Banners"
 msgstr ""
 
-#: filter/bannertops.c:666
-msgid "Billing Information: "
-msgstr ""
-
-#: ppdc/sample.c:296
+#: ppdc/sample.c:287
 msgid "Bond Paper"
 msgstr ""
 
@@ -3051,40 +2923,40 @@ msgstr ""
 msgid "Boolean expected for waiteof option \"%s\"."
 msgstr ""
 
-#: filter/pstops.c:2072
+#: filter/pstops.c:2057
 msgid "Buffer overflow detected, aborting."
 msgstr ""
 
-#: ppdc/sample.c:263
+#: ppdc/sample.c:254
 msgid "CMYK"
 msgstr ""
 
-#: ppdc/sample.c:372
+#: ppdc/sample.c:363
 msgid "CPCL Label Printer"
 msgstr ""
 
-#: cgi-bin/admin.c:1486 cgi-bin/admin.c:1525 cgi-bin/admin.c:1535
+#: cgi-bin/admin.c:1485 cgi-bin/admin.c:1524 cgi-bin/admin.c:1534
 msgid "Cancel RSS Subscription"
 msgstr ""
 
-#: backend/ipp.c:1899
+#: backend/ipp.c:2027
 msgid "Canceling print job."
 msgstr ""
 
-#: scheduler/ipp.c:2674
+#: scheduler/ipp.c:2590
 msgid "Cannot share a remote Kerberized printer."
 msgstr ""
 
-#: ppdc/sample.c:288
+#: ppdc/sample.c:279
 msgid "Cassette"
 msgstr ""
 
-#: cgi-bin/admin.c:1708 cgi-bin/admin.c:1872 cgi-bin/admin.c:1884
-#: cgi-bin/admin.c:1895
+#: cgi-bin/admin.c:1655 cgi-bin/admin.c:1797 cgi-bin/admin.c:1810
+#: cgi-bin/admin.c:1821
 msgid "Change Settings"
 msgstr ""
 
-#: scheduler/ipp.c:2206 scheduler/ipp.c:6821
+#: scheduler/ipp.c:2159 scheduler/ipp.c:5749
 #, c-format
 msgid "Character set \"%s\" not supported."
 msgstr ""
@@ -3097,15 +2969,15 @@ msgstr ""
 msgid "Clean Print Heads"
 msgstr ""
 
-#: scheduler/ipp.c:4965
+#: scheduler/ipp.c:3993
 msgid "Close-Job doesn't support the job-uri attribute."
 msgstr ""
 
-#: ppdc/sample.c:291
+#: ppdc/sample.c:282
 msgid "Color"
 msgstr ""
 
-#: ppdc/sample.c:262
+#: ppdc/sample.c:253
 msgid "Color Mode"
 msgstr ""
 
@@ -3120,87 +2992,79 @@ msgstr ""
 msgid "Community name uses indefinite length"
 msgstr ""
 
-#: backend/ipp.c:775 backend/lpd.c:862 backend/socket.c:395
+#: backend/ipp.c:802 backend/lpd.c:888 backend/socket.c:409
 msgid "Connected to printer."
 msgstr ""
 
-#: backend/ipp.c:682 backend/lpd.c:685 backend/socket.c:314
+#: backend/ipp.c:707 backend/lpd.c:711 backend/socket.c:328
 msgid "Connecting to printer."
 msgstr ""
 
-#: cups/http-support.c:1245
+#: cups/http-support.c:1333
 msgid "Continue"
 msgstr ""
 
-#: ppdc/sample.c:374
+#: ppdc/sample.c:365
 msgid "Continuous"
 msgstr ""
 
-#: backend/lpd.c:1008 backend/lpd.c:1140
+#: backend/lpd.c:1037 backend/lpd.c:1169
 msgid "Control file sent successfully."
 msgstr ""
 
-#: backend/ipp.c:1219 backend/lpd.c:460
+#: backend/ipp.c:1261 backend/lpd.c:481
 msgid "Copying print data."
 msgstr ""
 
-#: cups/http-support.c:1254
+#: cups/http-support.c:1342
 msgid "Created"
 msgstr ""
 
-#: filter/bannertops.c:854
-msgid "Created On: "
-msgstr ""
-
-#: cups/ppd.c:1070 cups/ppd.c:1110 cups/ppd.c:1355 cups/ppd.c:1458
+#: cups/ppd.c:1113 cups/ppd.c:1153 cups/ppd.c:1398 cups/ppd.c:1501
 msgid "Custom"
 msgstr ""
 
-#: ppdc/sample.c:368
+#: ppdc/sample.c:359
 msgid "CustominCutInterval"
 msgstr ""
 
-#: ppdc/sample.c:366
+#: ppdc/sample.c:357
 msgid "CustominTearInterval"
 msgstr ""
 
-#: ppdc/sample.c:352
+#: ppdc/sample.c:343
 msgid "Cut"
 msgstr ""
 
-#: ppdc/sample.c:460
+#: ppdc/sample.c:451
 msgid "Cutter"
 msgstr ""
 
-#: ppdc/sample.c:248
+#: ppdc/sample.c:239
 msgid "Dark"
 msgstr ""
 
-#: ppdc/sample.c:244
+#: ppdc/sample.c:235
 msgid "Darkness"
 msgstr ""
 
-#: backend/lpd.c:1093
+#: backend/lpd.c:1122
 msgid "Data file sent successfully."
 msgstr ""
 
-#: cgi-bin/admin.c:2168 cgi-bin/admin.c:2179 cgi-bin/admin.c:2224
+#: cgi-bin/admin.c:2094 cgi-bin/admin.c:2105 cgi-bin/admin.c:2150
 msgid "Delete Class"
 msgstr ""
 
-#: cgi-bin/admin.c:2253 cgi-bin/admin.c:2264 cgi-bin/admin.c:2309
+#: cgi-bin/admin.c:2179 cgi-bin/admin.c:2190 cgi-bin/admin.c:2235
 msgid "Delete Printer"
 msgstr ""
 
-#: filter/bannertops.c:735
-msgid "Description: "
-msgstr ""
-
-#: ppdc/sample.c:290
+#: ppdc/sample.c:281
 msgid "DeskJet Series"
 msgstr ""
 
-#: scheduler/ipp.c:1426
+#: scheduler/ipp.c:1361
 #, c-format
 msgid "Destination \"%s\" is not accepting jobs."
 msgstr ""
@@ -3216,71 +3080,63 @@ msgid ""
 "        location = %s"
 msgstr ""
 
-#: ppdc/sample.c:445
+#: ppdc/sample.c:436
 msgid "Direct Thermal Media"
 msgstr ""
 
-#: cups/file.c:308
+#: cups/file.c:296
 #, c-format
 msgid "Directory \"%s\" contains a relative path."
 msgstr ""
 
-#: cups/file.c:280
+#: cups/file.c:268
 #, c-format
 msgid "Directory \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
 msgstr ""
 
-#: cups/file.c:297
+#: cups/file.c:285
 #, c-format
 msgid "Directory \"%s\" is a file."
 msgstr ""
 
-#: cups/file.c:268
+#: cups/file.c:256
 #, c-format
 msgid "Directory \"%s\" not available: %s"
 msgstr ""
 
-#: cups/file.c:253
+#: cups/file.c:241
 #, c-format
 msgid "Directory \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
 msgstr ""
 
-#: ppdc/sample.c:354
+#: ppdc/sample.c:345
 msgid "Disabled"
 msgstr ""
 
-#: scheduler/ipp.c:7316
+#: scheduler/ipp.c:6242
 #, c-format
 msgid "Document #%d does not exist in job #%d."
 msgstr ""
 
-#: filter/bannertops.c:820
-msgid "Driver Name: "
-msgstr ""
-
-#: filter/bannertops.c:831
-msgid "Driver Version: "
-msgstr ""
-
-#: ppdc/sample.c:284
+#: ppdc/sample.c:275
 msgid "Duplexer"
 msgstr ""
 
-#: ppdc/sample.c:238
+#: ppdc/sample.c:229
 msgid "Dymo"
 msgstr ""
 
-#: ppdc/sample.c:440
+#: ppdc/sample.c:431
 msgid "EPL1 Label Printer"
 msgstr ""
 
-#: ppdc/sample.c:443
+#: ppdc/sample.c:434
 msgid "EPL2 Label Printer"
 msgstr ""
 
-#: cgi-bin/admin.c:1923 cgi-bin/admin.c:1935 cgi-bin/admin.c:1989
-#: cgi-bin/admin.c:1996 cgi-bin/admin.c:2031 cgi-bin/admin.c:2044
-#: cgi-bin/admin.c:2068 cgi-bin/admin.c:2141
+#: cgi-bin/admin.c:1849 cgi-bin/admin.c:1861 cgi-bin/admin.c:1915
+#: cgi-bin/admin.c:1922 cgi-bin/admin.c:1957 cgi-bin/admin.c:1970
+#: cgi-bin/admin.c:1994 cgi-bin/admin.c:2067
 msgid "Edit Configuration File"
 msgstr ""
 
@@ -3289,7 +3145,7 @@ msgid "Empty PPD file."
 msgstr ""
 
 #. TRANSLATORS: Banner/cover sheet after the print job.
-#: cgi-bin/admin.c:3680
+#: cgi-bin/admin.c:3561
 msgid "Ending Banner"
 msgstr ""
 
@@ -3309,7 +3165,7 @@ msgstr ""
 msgid "Enter password:"
 msgstr ""
 
-#: scheduler/client.c:2441
+#: scheduler/client.c:2435
 msgid "Enter your username and password or the root username and password to access this page. If you are using Kerberos authentication, make sure you have a valid Kerberos ticket."
 msgstr ""
 
@@ -3401,7 +3257,7 @@ msgstr ""
 msgid "Envelope DL"
 msgstr ""
 
-#: ppdc/sample.c:278
+#: ppdc/sample.c:269
 msgid "Envelope Feed"
 msgstr ""
 
@@ -3525,11 +3381,11 @@ msgstr ""
 msgid "Envelope You4 Long Edge"
 msgstr ""
 
-#: ppdc/sample.c:249
+#: ppdc/sample.c:240
 msgid "Epson"
 msgstr ""
 
-#: cgi-bin/admin.c:3723
+#: cgi-bin/admin.c:3604
 msgid "Error Policy"
 msgstr ""
 
@@ -3542,43 +3398,43 @@ msgstr ""
 msgid "Error: need hostname after \"-h\" option."
 msgstr ""
 
-#: ppdc/sample.c:364
+#: ppdc/sample.c:355
 msgid "Every 10 Labels"
 msgstr ""
 
-#: ppdc/sample.c:356
+#: ppdc/sample.c:347
 msgid "Every 2 Labels"
 msgstr ""
 
-#: ppdc/sample.c:357
+#: ppdc/sample.c:348
 msgid "Every 3 Labels"
 msgstr ""
 
-#: ppdc/sample.c:358
+#: ppdc/sample.c:349
 msgid "Every 4 Labels"
 msgstr ""
 
-#: ppdc/sample.c:359
+#: ppdc/sample.c:350
 msgid "Every 5 Labels"
 msgstr ""
 
-#: ppdc/sample.c:360
+#: ppdc/sample.c:351
 msgid "Every 6 Labels"
 msgstr ""
 
-#: ppdc/sample.c:361
+#: ppdc/sample.c:352
 msgid "Every 7 Labels"
 msgstr ""
 
-#: ppdc/sample.c:362
+#: ppdc/sample.c:353
 msgid "Every 8 Labels"
 msgstr ""
 
-#: ppdc/sample.c:363
+#: ppdc/sample.c:354
 msgid "Every 9 Labels"
 msgstr ""
 
-#: ppdc/sample.c:355
+#: ppdc/sample.c:346
 msgid "Every Label"
 msgstr ""
 
@@ -3586,11 +3442,11 @@ msgstr ""
 msgid "Executive"
 msgstr ""
 
-#: cups/http-support.c:1300
+#: cups/http-support.c:1388
 msgid "Expectation Failed"
 msgstr ""
 
-#: cgi-bin/admin.c:2431 cgi-bin/admin.c:2450
+#: cgi-bin/admin.c:2356 cgi-bin/admin.c:2375
 msgid "Export Printers to Samba"
 msgstr ""
 
@@ -3616,45 +3472,40 @@ msgstr ""
 msgid "Fanfold US"
 msgstr ""
 
-#: cups/file.c:312
+#: cups/file.c:300
 #, c-format
 msgid "File \"%s\" contains a relative path."
 msgstr ""
 
-#: cups/file.c:287
+#: cups/file.c:275
 #, c-format
 msgid "File \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
 msgstr ""
 
-#: cups/file.c:301
+#: cups/file.c:289
 #, c-format
 msgid "File \"%s\" is a directory."
 msgstr ""
 
-#: cups/file.c:273
+#: cups/file.c:261
 #, c-format
 msgid "File \"%s\" not available: %s"
 msgstr ""
 
-#: cups/file.c:259
+#: cups/file.c:247
 #, c-format
 msgid "File \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
 msgstr ""
 
 #: ppdc/sample.c:169
-msgid "File Folder"
+msgid "File Folder "
 msgstr ""
 
-#: ppdc/sample.c:178
-msgid "File Folder - 9/16 x 3 7/16\""
-msgstr ""
-
-#: scheduler/ipp.c:2569
+#: scheduler/ipp.c:2485
 #, c-format
-msgid "File device URIs have been disabled. To enable, see the FileDevice directive in \"%s/cupsd.conf\"."
+msgid "File device URIs have been disabled. To enable, see the FileDevice directive in \"%s/cups-files.conf\"."
 msgstr ""
 
-#: driver/rastertoescpx.c:1899 driver/rastertopclx.c:1924
 #: filter/rastertoepson.c:1117 filter/rastertohp.c:845
 #: filter/rastertolabel.c:1273
 #, c-format
@@ -3665,20 +3516,15 @@ msgstr ""
 msgid "Folio"
 msgstr ""
 
-#: cups/http-support.c:1279
+#: cups/http-support.c:1367
 msgid "Forbidden"
 msgstr ""
 
-#: filter/imagetoraster.c:1188
-#, c-format
-msgid "Formatting page %d."
-msgstr ""
-
-#: cups/ppd.c:699 cups/ppd.c:1259
+#: cups/ppd.c:742 cups/ppd.c:1302
 msgid "General"
 msgstr ""
 
-#: ppdc/sample.c:268
+#: ppdc/sample.c:259
 msgid "Generic"
 msgstr ""
 
@@ -3686,22 +3532,22 @@ msgstr ""
 msgid "Get-Response-PDU uses indefinite length"
 msgstr ""
 
-#: ppdc/sample.c:299
+#: ppdc/sample.c:290
 msgid "Glossy Paper"
 msgstr ""
 
-#: scheduler/ipp.c:4039 scheduler/ipp.c:4439 scheduler/ipp.c:4977
-#: scheduler/ipp.c:7245 scheduler/ipp.c:7392 scheduler/ipp.c:8834
-#: scheduler/ipp.c:9952 scheduler/ipp.c:10177 scheduler/ipp.c:10526
-#: scheduler/ipp.c:11120
+#: scheduler/ipp.c:3067 scheduler/ipp.c:3467 scheduler/ipp.c:4005
+#: scheduler/ipp.c:6171 scheduler/ipp.c:6318 scheduler/ipp.c:7750
+#: scheduler/ipp.c:8868 scheduler/ipp.c:9094 scheduler/ipp.c:9449
+#: scheduler/ipp.c:10052
 msgid "Got a printer-uri attribute but no job-id."
 msgstr ""
 
-#: ppdc/sample.c:264
+#: ppdc/sample.c:255
 msgid "Grayscale"
 msgstr ""
 
-#: ppdc/sample.c:289
+#: ppdc/sample.c:280
 msgid "HP"
 msgstr ""
 
@@ -3709,75 +3555,91 @@ msgstr ""
 msgid "Hanging Folder"
 msgstr ""
 
-#: ppdc/sample.c:179
-msgid "Hanging Folder - 9/16 x 2\""
+#: cgi-bin/help.c:143
+msgid "Help file not in index."
 msgstr ""
 
-#: cups/ipp.c:1291 cups/ipp.c:1311 cups/ipp.c:1345
+#: cups/ipp.c:2689 cups/ipp.c:2716 cups/ipp.c:2739
 msgid "IPP 1setOf attribute with incompatible value tags."
 msgstr ""
 
-#: cups/ipp.c:1254
+#: cups/ipp.c:2652
 msgid "IPP attribute has no name."
 msgstr ""
 
-#: cups/ipp.c:1727
+#: cups/ipp.c:5521
+msgid "IPP attribute is not a member of the message."
+msgstr ""
+
+#: cups/ipp.c:3092
 msgid "IPP begCollection value not 0 bytes."
 msgstr ""
 
-#: cups/ipp.c:1519
+#: cups/ipp.c:2882
 msgid "IPP boolean value not 1 byte."
 msgstr ""
 
-#: cups/ipp.c:1577
+#: cups/ipp.c:2943
 msgid "IPP date value not 11 bytes."
 msgstr ""
 
-#: cups/ipp.c:1748
+#: cups/ipp.c:3113
 msgid "IPP endCollection value not 0 bytes."
 msgstr ""
 
-#: cups/ipp.c:1494
+#: cups/ipp.c:2857
 msgid "IPP enum value not 4 bytes."
 msgstr ""
 
-#: cups/ipp.c:1491
+#: cups/ipp.c:2581
+msgid "IPP extension tag larger than 0x7FFFFFFF."
+msgstr ""
+
+#: cups/ipp.c:2854
 msgid "IPP integer value not 4 bytes."
 msgstr ""
 
-#: cups/ipp.c:1690
+#: cups/ipp.c:3054
 msgid "IPP language length overflows value."
 msgstr ""
 
-#: cups/ipp.c:1404
+#: cups/ipp.c:2766
 msgid "IPP member name is not empty."
 msgstr ""
 
-#: cups/ipp.c:1237
+#: cups/ipp.c:3139
+msgid "IPP memberName value is empty."
+msgstr ""
+
+#: cups/ipp.c:3131
+msgid "IPP memberName with no attribute."
+msgstr ""
+
+#: cups/ipp.c:2635
 msgid "IPP name larger than 32767 bytes."
 msgstr ""
 
-#: cups/ipp.c:1654
+#: cups/ipp.c:3020
 msgid "IPP nameWithLanguage value less than minimum 4 bytes."
 msgstr ""
 
-#: cups/ipp.c:1623
+#: cups/ipp.c:2988
 msgid "IPP rangeOfInteger value not 8 bytes."
 msgstr ""
 
-#: cups/ipp.c:1596
+#: cups/ipp.c:2961
 msgid "IPP resolution value not 9 bytes."
 msgstr ""
 
-#: cups/ipp.c:1707
+#: cups/ipp.c:3072
 msgid "IPP string length overflows value."
 msgstr ""
 
-#: cups/ipp.c:1650
+#: cups/ipp.c:3016
 msgid "IPP textWithLanguage value less than minimum 4 bytes."
 msgstr ""
 
-#: cups/ipp.c:1477
+#: cups/ipp.c:2840
 msgid "IPP value larger than 32767 bytes."
 msgstr ""
 
@@ -3785,47 +3647,47 @@ msgstr ""
 msgid "ISOLatin1"
 msgstr ""
 
-#: cups/ppd.c:351
+#: cups/ppd.c:353
 msgid "Illegal control character"
 msgstr ""
 
-#: cups/ppd.c:352
+#: cups/ppd.c:354
 msgid "Illegal main keyword string"
 msgstr ""
 
-#: cups/ppd.c:353
+#: cups/ppd.c:355
 msgid "Illegal option keyword string"
 msgstr ""
 
-#: cups/ppd.c:354
+#: cups/ppd.c:356
 msgid "Illegal translation string"
 msgstr ""
 
-#: cups/ppd.c:355
+#: cups/ppd.c:357
 msgid "Illegal whitespace character"
 msgstr ""
 
-#: ppdc/sample.c:283
+#: ppdc/sample.c:274
 msgid "Installable Options"
 msgstr ""
 
-#: ppdc/sample.c:286
+#: ppdc/sample.c:277
 msgid "Installed"
 msgstr ""
 
-#: ppdc/sample.c:302
+#: ppdc/sample.c:293
 msgid "IntelliBar Label Printer"
 msgstr ""
 
-#: ppdc/sample.c:301
+#: ppdc/sample.c:292
 msgid "Intellitech"
 msgstr ""
 
-#: cups/http-support.c:1306
+#: cups/http-support.c:1394
 msgid "Internal Server Error"
 msgstr ""
 
-#: cups/ppd.c:342
+#: cups/ppd.c:344
 msgid "Internal error"
 msgstr ""
 
@@ -3833,20 +3695,16 @@ msgstr ""
 msgid "Internet Postage 2-Part"
 msgstr ""
 
-#: ppdc/sample.c:176
-msgid "Internet Postage 2-Part - 2 1/4 x 7 1/2\""
-msgstr ""
-
 #: ppdc/sample.c:168
 msgid "Internet Postage 3-Part"
 msgstr ""
 
-#: ppdc/sample.c:177
-msgid "Internet Postage 3-Part - 2 1/4 x 7\""
+#: backend/ipp.c:310
+msgid "Internet Printing Protocol"
 msgstr ""
 
-#: backend/ipp.c:301
-msgid "Internet Printing Protocol"
+#: cups/dest-options.c:837
+msgid "Invalid media size."
 msgstr ""
 
 #: filter/commandtops.c:125
@@ -3854,7 +3712,7 @@ msgstr ""
 msgid "Invalid printer command \"%s\"."
 msgstr ""
 
-#: cups/ppd.c:1377
+#: cups/ppd.c:1420
 msgid "JCL"
 msgstr ""
 
@@ -3914,52 +3772,52 @@ msgstr ""
 msgid "JIS B9"
 msgstr ""
 
-#: scheduler/ipp.c:10249
+#: scheduler/ipp.c:9166
 #, c-format
 msgid "Job #%d cannot be restarted - no files."
 msgstr ""
 
-#: scheduler/ipp.c:4079 scheduler/ipp.c:4309 scheduler/ipp.c:4364
-#: scheduler/ipp.c:4541 scheduler/ipp.c:4987 scheduler/ipp.c:6907
-#: scheduler/ipp.c:7285 scheduler/ipp.c:7432 scheduler/ipp.c:7732
-#: scheduler/ipp.c:8681 scheduler/ipp.c:8703 scheduler/ipp.c:8875
-#: scheduler/ipp.c:9100 scheduler/ipp.c:9143 scheduler/ipp.c:9992
-#: scheduler/ipp.c:10217 scheduler/ipp.c:10566 scheduler/ipp.c:11160
+#: scheduler/ipp.c:3107 scheduler/ipp.c:3337 scheduler/ipp.c:3392
+#: scheduler/ipp.c:3569 scheduler/ipp.c:4015 scheduler/ipp.c:5835
+#: scheduler/ipp.c:6211 scheduler/ipp.c:6358 scheduler/ipp.c:6658
+#: scheduler/ipp.c:7597 scheduler/ipp.c:7619 scheduler/ipp.c:7791
+#: scheduler/ipp.c:8016 scheduler/ipp.c:8059 scheduler/ipp.c:8908
+#: scheduler/ipp.c:9134 scheduler/ipp.c:9489 scheduler/ipp.c:10092
 #, c-format
 msgid "Job #%d does not exist."
 msgstr ""
 
-#: scheduler/ipp.c:4573
+#: scheduler/ipp.c:3601
 #, c-format
 msgid "Job #%d is already aborted - can't cancel."
 msgstr ""
 
-#: scheduler/ipp.c:4567
+#: scheduler/ipp.c:3595
 #, c-format
 msgid "Job #%d is already canceled - can't cancel."
 msgstr ""
 
-#: scheduler/ipp.c:4579
+#: scheduler/ipp.c:3607
 #, c-format
 msgid "Job #%d is already completed - can't cancel."
 msgstr ""
 
-#: scheduler/ipp.c:8901 scheduler/ipp.c:9185 scheduler/ipp.c:11175
+#: scheduler/ipp.c:7817 scheduler/ipp.c:8101 scheduler/ipp.c:10107
 #, c-format
 msgid "Job #%d is finished and cannot be altered."
 msgstr ""
 
-#: scheduler/ipp.c:10231
+#: scheduler/ipp.c:9148
 #, c-format
 msgid "Job #%d is not complete."
 msgstr ""
 
-#: scheduler/ipp.c:4094
+#: scheduler/ipp.c:3122
 #, c-format
 msgid "Job #%d is not held for authentication."
 msgstr ""
 
-#: scheduler/ipp.c:10006
+#: scheduler/ipp.c:8922
 #, c-format
 msgid "Job #%d is not held."
 msgstr ""
@@ -3972,10 +3830,6 @@ msgstr ""
 msgid "Job Created"
 msgstr ""
 
-#: filter/bannertops.c:623
-msgid "Job ID: "
-msgstr ""
-
 #: cgi-bin/ipp-var.c:1059
 msgid "Job Options Changed"
 msgstr ""
@@ -3984,23 +3838,19 @@ msgstr ""
 msgid "Job Stopped"
 msgstr ""
 
-#: filter/bannertops.c:631
-msgid "Job UUID: "
-msgstr ""
-
-#: scheduler/ipp.c:11258
+#: scheduler/ipp.c:10189
 msgid "Job is completed and cannot be changed."
 msgstr ""
 
 #: cgi-bin/jobs.c:198
-msgid "Job operation failed:"
+msgid "Job operation failed"
 msgstr ""
 
-#: scheduler/ipp.c:11294 scheduler/ipp.c:11313 scheduler/ipp.c:11324
+#: scheduler/ipp.c:10225 scheduler/ipp.c:10244 scheduler/ipp.c:10255
 msgid "Job state cannot be changed."
 msgstr ""
 
-#: scheduler/ipp.c:10097
+#: scheduler/ipp.c:9014
 msgid "Job subscriptions cannot be renewed."
 msgstr ""
 
@@ -4008,19 +3858,19 @@ msgstr ""
 msgid "Jobs"
 msgstr ""
 
-#: backend/lpd.c:183
+#: backend/lpd.c:186
 msgid "LPD/LPR Host or Printer"
 msgstr ""
 
-#: ppdc/sample.c:239
+#: ppdc/sample.c:230
 msgid "Label Printer"
 msgstr ""
 
-#: ppdc/sample.c:455
+#: ppdc/sample.c:446
 msgid "Label Top"
 msgstr ""
 
-#: scheduler/ipp.c:2215 scheduler/ipp.c:6830
+#: scheduler/ipp.c:2168 scheduler/ipp.c:5758
 #, c-format
 msgid "Language \"%s\" not supported."
 msgstr ""
@@ -4029,11 +3879,7 @@ msgstr ""
 msgid "Large Address"
 msgstr ""
 
-#: ppdc/sample.c:173
-msgid "Large Address - 1 4/10 x 3 1/2\""
-msgstr ""
-
-#: ppdc/sample.c:300
+#: ppdc/sample.c:291
 msgid "LaserJet Series PCL 4/5"
 msgstr ""
 
@@ -4045,91 +3891,67 @@ msgstr ""
 msgid "Letter Oversize Long Edge"
 msgstr ""
 
-#: ppdc/sample.c:245
-msgid "Light"
-msgstr ""
-
-#: cups/ppd.c:350
-msgid "Line longer than the maximum allowed (255 characters)"
-msgstr ""
-
-#: cgi-bin/admin.c:2468
-msgid "List Available Printers"
-msgstr ""
-
-#: filter/imagetoraster.c:668
-msgid "Loading print file."
-msgstr ""
-
-#: filter/bannertops.c:744
-msgid "Location: "
-msgstr ""
-
-#: ppdc/sample.c:281
-msgid "Long-Edge (Portrait)"
-msgstr ""
-
-#: cups/http-support.c:1521
-msgid "Looking for printer."
+#: ppdc/sample.c:236
+msgid "Light"
 msgstr ""
 
-#: filter/bannertops.c:753
-msgid "Make and Model: "
+#: cups/ppd.c:352
+msgid "Line longer than the maximum allowed (255 characters)"
 msgstr ""
 
-#: ppdc/sample.c:277
-msgid "Manual Feed"
+#: cgi-bin/admin.c:2393
+msgid "List Available Printers"
 msgstr ""
 
-#: filter/bannertops.c:780
-msgid "Media Dimensions: "
+#: ppdc/sample.c:272
+msgid "Long-Edge (Portrait)"
 msgstr ""
 
-#: filter/bannertops.c:800
-msgid "Media Limits: "
+#: cups/http-support.c:1620
+msgid "Looking for printer."
 msgstr ""
 
-#: filter/bannertops.c:769
-msgid "Media Name: "
+#: ppdc/sample.c:268
+msgid "Manual Feed"
 msgstr ""
 
-#: cups/ppd.c:746 cups/ppd.c:1314
+#: cups/ppd.c:789 cups/ppd.c:1357
 msgid "Media Size"
 msgstr ""
 
-#: cups/ppd.c:750 cups/ppd.c:1318 ppdc/sample.c:271
+#: cups/ppd.c:793 cups/ppd.c:1361 ppdc/sample.c:262
 msgid "Media Source"
 msgstr ""
 
-#: ppdc/sample.c:373
+#: ppdc/sample.c:364
 msgid "Media Tracking"
 msgstr ""
 
-#: cups/ppd.c:748 cups/ppd.c:1316 ppdc/sample.c:294
+#: cups/ppd.c:791 cups/ppd.c:1359 ppdc/sample.c:285
 msgid "Media Type"
 msgstr ""
 
-#: ppdc/sample.c:246
+#: ppdc/sample.c:237
 msgid "Medium"
 msgstr ""
 
-#: cups/ppd.c:339
+#: cups/ppd.c:341
 msgid "Memory allocation error"
 msgstr ""
 
-#: cups/ppd.c:359
+#: cups/ppd.c:361
 msgid "Missing CloseGroup"
 msgstr ""
 
-#: cups/ppd.c:340
+#: cups/ppd.c:342
 msgid "Missing PPD-Adobe-4.x header"
 msgstr ""
 
-#: cups/ppd.c:349
+#: cups/ppd.c:351
 msgid "Missing asterisk in column 1"
 msgstr ""
 
-#: scheduler/ipp.c:7308
+#: scheduler/ipp.c:6234
 msgid "Missing document-number attribute."
 msgstr ""
 
@@ -4138,59 +3960,54 @@ msgstr ""
 msgid "Missing double quote on line %d."
 msgstr ""
 
-#: cgi-bin/admin.c:737 cgi-bin/admin.c:2180 cgi-bin/admin.c:2265
-#: cgi-bin/admin.c:2904 cgi-bin/admin.c:3158 cgi-bin/admin.c:3269
-#: cgi-bin/admin.c:3979
+#: cgi-bin/admin.c:736 cgi-bin/admin.c:2106 cgi-bin/admin.c:2191
+#: cgi-bin/admin.c:2785 cgi-bin/admin.c:3039 cgi-bin/admin.c:3150
+#: cgi-bin/admin.c:3860
 msgid "Missing form variable"
 msgstr ""
 
-#: scheduler/ipp.c:10620
+#: scheduler/ipp.c:9543
 msgid "Missing last-document attribute in request."
 msgstr ""
 
-#: cups/pwg-media.c:473
+#: cups/pwg-media.c:535
 msgid "Missing media or media-col."
 msgstr ""
 
-#: cups/pwg-media.c:392
+#: cups/pwg-media.c:454
 msgid "Missing media-size in media-col."
 msgstr ""
 
-#: scheduler/ipp.c:7862
+#: scheduler/ipp.c:6788
 msgid "Missing notify-subscription-ids attribute."
 msgstr ""
 
-#: cups/ppd.c:357
+#: cups/ppd.c:359
 msgid "Missing option keyword"
 msgstr ""
 
-#: scheduler/ipp.c:4220 scheduler/ipp.c:4245
+#: scheduler/ipp.c:3248 scheduler/ipp.c:3273
 msgid "Missing requesting-user-name attribute."
 msgstr ""
 
-#: scheduler/ipp.c:488
+#: scheduler/ipp.c:461
 msgid "Missing required attributes."
 msgstr ""
 
-#: filter/bannertops.c:222
-#, c-format
-msgid "Missing value on line %d of banner file."
-msgstr ""
-
 #: cups/adminutil.c:254
 #, c-format
 msgid "Missing value on line %d."
 msgstr ""
 
-#: cups/ppd.c:341
+#: cups/ppd.c:343
 msgid "Missing value string"
 msgstr ""
 
-#: cups/pwg-media.c:380
+#: cups/pwg-media.c:442
 msgid "Missing x-dimension in media-size."
 msgstr ""
 
-#: cups/pwg-media.c:386
+#: cups/pwg-media.c:448
 msgid "Missing y-dimension in media-size."
 msgstr ""
 
@@ -4207,7 +4024,7 @@ msgstr ""
 msgid "Modify Class"
 msgstr ""
 
-#: cgi-bin/admin.c:883
+#: cgi-bin/admin.c:882
 msgid "Modify Printer"
 msgstr ""
 
@@ -4219,11 +4036,11 @@ msgstr ""
 msgid "Move Job"
 msgstr ""
 
-#: cups/http-support.c:1263
+#: cups/http-support.c:1351
 msgid "Moved Permanently"
 msgstr ""
 
-#: cups/ppd.c:338
+#: cups/ppd.c:340
 msgid "NULL PPD file pointer"
 msgstr ""
 
@@ -4231,31 +4048,31 @@ msgstr ""
 msgid "Name OID uses indefinite length"
 msgstr ""
 
-#: scheduler/ipp.c:1222
+#: scheduler/ipp.c:1142
 msgid "Nested classes are not allowed."
 msgstr ""
 
-#: ppdc/sample.c:439
+#: ppdc/sample.c:430
 msgid "Never"
 msgstr ""
 
-#: ppdc/sample.c:265
+#: ppdc/sample.c:256
 msgid "New Stylus Color Series"
 msgstr ""
 
-#: ppdc/sample.c:267
+#: ppdc/sample.c:258
 msgid "New Stylus Photo Series"
 msgstr ""
 
-#: cups/ppd.c:1906
+#: cups/ppd.c:1949
 msgid "No"
 msgstr ""
 
-#: cups/http-support.c:1260
+#: cups/http-support.c:1348
 msgid "No Content"
 msgstr ""
 
-#: cups/util.c:1297
+#: cups/util.c:1304
 msgid "No PPD name"
 msgstr ""
 
@@ -4267,20 +4084,20 @@ msgstr ""
 msgid "No Windows printer drivers are installed."
 msgstr ""
 
-#: cups/request.c:571 cups/request.c:914
+#: cups/request.c:568 cups/request.c:914
 msgid "No active connection"
 msgstr ""
 
-#: scheduler/ipp.c:4490
+#: scheduler/ipp.c:3518
 #, c-format
 msgid "No active jobs on %s."
 msgstr ""
 
-#: scheduler/ipp.c:329
+#: scheduler/ipp.c:302
 msgid "No attributes in request."
 msgstr ""
 
-#: scheduler/ipp.c:4121
+#: scheduler/ipp.c:3149
 msgid "No authentication information provided."
 msgstr ""
 
@@ -4288,11 +4105,11 @@ msgstr ""
 msgid "No community name"
 msgstr ""
 
-#: scheduler/ipp.c:7108
+#: scheduler/ipp.c:6034
 msgid "No default printer."
 msgstr ""
 
-#: cgi-bin/ipp-var.c:436 scheduler/ipp.c:8438
+#: cgi-bin/ipp-var.c:436 scheduler/ipp.c:7363
 msgid "No destinations added."
 msgstr ""
 
@@ -4308,15 +4125,11 @@ msgstr ""
 msgid "No error-status"
 msgstr ""
 
-#: scheduler/ipp.c:9389 scheduler/ipp.c:10634
+#: scheduler/ipp.c:8305 scheduler/ipp.c:9557
 msgid "No file in print request."
 msgstr ""
 
-#: filter/pstext.c:438
-msgid "No fonts in charset file."
-msgstr ""
-
-#: cups/util.c:922
+#: cups/util.c:923
 msgid "No modification time"
 msgstr ""
 
@@ -4324,25 +4137,24 @@ msgstr ""
 msgid "No name OID"
 msgstr ""
 
-#: driver/rastertoescpx.c:1918 driver/rastertopclx.c:1943
 #: filter/rastertoepson.c:1147 filter/rastertohp.c:876
 #: filter/rastertolabel.c:1302
 msgid "No pages were found."
 msgstr ""
 
-#: cups/util.c:916
+#: cups/util.c:917
 msgid "No printer name"
 msgstr ""
 
-#: cups/util.c:1800
+#: cups/util.c:1837
 msgid "No printer-uri found"
 msgstr ""
 
-#: cups/util.c:1785
+#: cups/util.c:1822
 msgid "No printer-uri found for class"
 msgstr ""
 
-#: scheduler/ipp.c:7511
+#: scheduler/ipp.c:6437
 msgid "No printer-uri in request."
 msgstr ""
 
@@ -4350,11 +4162,11 @@ msgstr ""
 msgid "No request-id"
 msgstr ""
 
-#: scheduler/ipp.c:6715
+#: scheduler/ipp.c:5643
 msgid "No subscription attributes in request."
 msgstr ""
 
-#: scheduler/ipp.c:8774
+#: scheduler/ipp.c:7690
 msgid "No subscriptions found."
 msgstr ""
 
@@ -4366,39 +4178,39 @@ msgstr ""
 msgid "No version number"
 msgstr ""
 
-#: ppdc/sample.c:376
+#: ppdc/sample.c:367
 msgid "Non-continuous (Mark sensing)"
 msgstr ""
 
-#: ppdc/sample.c:375
+#: ppdc/sample.c:366
 msgid "Non-continuous (Web sensing)"
 msgstr ""
 
-#: ppdc/sample.c:247
+#: ppdc/sample.c:238
 msgid "Normal"
 msgstr ""
 
-#: cups/http-support.c:1282
+#: cups/http-support.c:1370
 msgid "Not Found"
 msgstr ""
 
-#: cups/http-support.c:1294
+#: cups/http-support.c:1382
 msgid "Not Implemented"
 msgstr ""
 
-#: ppdc/sample.c:285
+#: ppdc/sample.c:276
 msgid "Not Installed"
 msgstr ""
 
-#: cups/http-support.c:1269
+#: cups/http-support.c:1357
 msgid "Not Modified"
 msgstr ""
 
-#: cups/http-support.c:1297
+#: cups/http-support.c:1385
 msgid "Not Supported"
 msgstr ""
 
-#: scheduler/ipp.c:1598 scheduler/ipp.c:11856
+#: scheduler/ipp.c:1554 scheduler/ipp.c:10787
 msgid "Not allowed to print."
 msgstr ""
 
@@ -4410,19 +4222,19 @@ msgstr ""
 msgid "Note: this program only validates the DSC comments, not the PostScript itself."
 msgstr ""
 
-#: cups/http-support.c:1251 cups/ppd.c:336
+#: cups/http-support.c:1339 cups/ppd.c:338
 msgid "OK"
 msgstr ""
 
-#: ppdc/sample.c:280
+#: ppdc/sample.c:271
 msgid "Off (1-Sided)"
 msgstr ""
 
-#: ppdc/sample.c:370
+#: ppdc/sample.c:361
 msgid "Oki"
 msgstr ""
 
-#: cgi-bin/help.c:90 cgi-bin/help.c:131 cgi-bin/help.c:141 cgi-bin/help.c:172
+#: cgi-bin/help.c:91 cgi-bin/help.c:132 cgi-bin/help.c:142 cgi-bin/help.c:172
 msgid "Online Help"
 msgstr ""
 
@@ -4431,67 +4243,62 @@ msgstr ""
 msgid "Open of %s failed: %s"
 msgstr ""
 
-#: cups/ppd.c:344
+#: cups/ppd.c:346
 msgid "OpenGroup without a CloseGroup first"
 msgstr ""
 
-#: cups/ppd.c:346
+#: cups/ppd.c:348
 msgid "OpenUI/JCLOpenUI without a CloseUI/JCLCloseUI first"
 msgstr ""
 
-#: cgi-bin/admin.c:3750
+#: cgi-bin/admin.c:3631
 msgid "Operation Policy"
 msgstr ""
 
-#: filter/pstops.c:2220
+#: filter/pstops.c:2205
 #, c-format
 msgid "Option \"%s\" cannot be included via %%%%IncludeFeature."
 msgstr ""
 
-#: cgi-bin/admin.c:3400 cgi-bin/admin.c:3484
+#: cgi-bin/admin.c:3281 cgi-bin/admin.c:3365
 msgid "Options Installed"
 msgstr ""
 
-#: scheduler/cupsfilter.c:1437 scheduler/cupsfilter.c:1464
-#: scheduler/main.c:2058 systemv/cupsaddsmb.c:284 systemv/cupsctl.c:209
-#: systemv/cupstestdsc.c:429 systemv/cupstestppd.c:3778 test/ipptool.c:4382
-#: ppdc/ppdc.cxx:437 ppdc/ppdhtml.cxx:174 ppdc/ppdi.cxx:130
-#: ppdc/ppdmerge.cxx:369 ppdc/ppdpo.cxx:254
+#: scheduler/cupsfilter.c:1433 scheduler/main.c:2054 systemv/cupsaddsmb.c:284
+#: systemv/cupsctl.c:203 systemv/cupstestdsc.c:429 systemv/cupstestppd.c:3797
+#: test/ipptool.c:4484 ppdc/ppdc.cxx:437 ppdc/ppdhtml.cxx:174
+#: ppdc/ppdi.cxx:130 ppdc/ppdmerge.cxx:369 ppdc/ppdpo.cxx:254
 msgid "Options:"
 msgstr ""
 
-#: filter/bannertops.c:674
-msgid "Options: "
-msgstr ""
-
-#: cups/ppd-cache.c:156
+#: cups/ppd-cache.c:157
 msgid "Out of date PPD cache file."
 msgstr ""
 
-#: cups/ppd-cache.c:1366
+#: cups/ppd-cache.c:1384
 msgid "Out of memory."
 msgstr ""
 
-#: cups/ppd.c:752 cups/ppd.c:1320
+#: cups/ppd.c:795 cups/ppd.c:1363
 msgid "Output Mode"
 msgstr ""
 
-#: systemv/lpstat.c:1191 systemv/lpstat.c:1195
+#: systemv/lpstat.c:1295 systemv/lpstat.c:1299
 #, c-format
 msgid "Output for printer %s is sent to %s"
 msgstr ""
 
-#: systemv/lpstat.c:1185
+#: systemv/lpstat.c:1289
 #, c-format
 msgid "Output for printer %s is sent to remote printer %s on %s"
 msgstr ""
 
-#: systemv/lpstat.c:1209 systemv/lpstat.c:1213
+#: systemv/lpstat.c:1313 systemv/lpstat.c:1317
 #, c-format
 msgid "Output for printer %s/%s is sent to %s"
 msgstr ""
 
-#: systemv/lpstat.c:1203
+#: systemv/lpstat.c:1307
 #, c-format
 msgid "Output for printer %s/%s is sent to remote printer %s on %s"
 msgstr ""
@@ -4500,7 +4307,7 @@ msgstr ""
 msgid "PASS"
 msgstr ""
 
-#: ppdc/sample.c:269
+#: ppdc/sample.c:260
 msgid "PCL Laser Printer"
 msgstr ""
 
@@ -4536,11 +4343,11 @@ msgstr ""
 msgid "Packet does not start with SEQUENCE"
 msgstr ""
 
-#: ppdc/sample.c:369
+#: ppdc/sample.c:360
 msgid "ParamCustominCutInterval"
 msgstr ""
 
-#: ppdc/sample.c:367
+#: ppdc/sample.c:358
 msgid "ParamCustominTearInterval"
 msgstr ""
 
@@ -4562,7 +4369,7 @@ msgstr ""
 msgid "Pause Printer"
 msgstr ""
 
-#: ppdc/sample.c:457
+#: ppdc/sample.c:448
 msgid "Peel-Off"
 msgstr ""
 
@@ -4574,19 +4381,19 @@ msgstr ""
 msgid "Photo Labels"
 msgstr ""
 
-#: ppdc/sample.c:295
+#: ppdc/sample.c:286
 msgid "Plain Paper"
 msgstr ""
 
-#: cgi-bin/admin.c:3418 cgi-bin/admin.c:3699
+#: cgi-bin/admin.c:3299 cgi-bin/admin.c:3580
 msgid "Policies"
 msgstr ""
 
-#: cgi-bin/admin.c:3425 cgi-bin/admin.c:3768 cgi-bin/admin.c:3781
+#: cgi-bin/admin.c:3306 cgi-bin/admin.c:3649 cgi-bin/admin.c:3662
 msgid "Port Monitor"
 msgstr ""
 
-#: ppdc/sample.c:287
+#: ppdc/sample.c:278
 msgid "PostScript Printer"
 msgstr ""
 
@@ -4606,7 +4413,7 @@ msgstr ""
 msgid "Postcard Long Edge"
 msgstr ""
 
-#: ppdc/sample.c:304
+#: ppdc/sample.c:295
 msgid "Print Density"
 msgstr ""
 
@@ -4614,11 +4421,11 @@ msgstr ""
 msgid "Print Job:"
 msgstr ""
 
-#: ppdc/sample.c:349
+#: ppdc/sample.c:340
 msgid "Print Mode"
 msgstr ""
 
-#: ppdc/sample.c:392
+#: ppdc/sample.c:383
 msgid "Print Rate"
 msgstr ""
 
@@ -4626,7 +4433,7 @@ msgstr ""
 msgid "Print Self-Test Page"
 msgstr ""
 
-#: ppdc/sample.c:336
+#: ppdc/sample.c:327
 msgid "Print Speed"
 msgstr ""
 
@@ -4634,52 +4441,44 @@ msgstr ""
 msgid "Print Test Page"
 msgstr ""
 
-#: ppdc/sample.c:365
+#: ppdc/sample.c:356
 msgid "Print and Cut"
 msgstr ""
 
-#: ppdc/sample.c:353
+#: ppdc/sample.c:344
 msgid "Print and Tear"
 msgstr ""
 
-#: backend/ipp.c:1519
+#: backend/ipp.c:1575
 #, c-format
 msgid "Print file accepted - job ID %d."
 msgstr ""
 
-#: backend/ipp.c:1509
+#: backend/ipp.c:1565
 msgid "Print file accepted - job ID unknown."
 msgstr ""
 
-#: backend/parallel.c:286 backend/socket.c:424 backend/usb-unix.c:195
+#: backend/socket.c:438 backend/usb-unix.c:191
 msgid "Print file sent."
 msgstr ""
 
-#: backend/ipp.c:1470
+#: backend/ipp.c:1526
 msgid "Print file was not accepted."
 msgstr ""
 
-#: backend/ipp.c:1871
-msgid "Print job too large."
-msgstr ""
-
-#: filter/bannertops.c:648
-msgid "Printed For: "
-msgstr ""
-
-#: filter/bannertops.c:656
-msgid "Printed From: "
+#: backend/ipp.c:2001
+msgid "Print job canceled at printer."
 msgstr ""
 
-#: filter/bannertops.c:876
-msgid "Printed On: "
+#: backend/ipp.c:1996
+msgid "Print job too large."
 msgstr ""
 
 #: cgi-bin/ipp-var.c:1047
 msgid "Printer Added"
 msgstr ""
 
-#: ppdc/sample.c:272
+#: ppdc/sample.c:263
 msgid "Printer Default"
 msgstr ""
 
@@ -4691,61 +4490,16 @@ msgstr ""
 msgid "Printer Modified"
 msgstr ""
 
-#: filter/bannertops.c:614
-msgid "Printer Name: "
-msgstr ""
-
 #: cgi-bin/ipp-var.c:1045
 msgid "Printer Paused"
 msgstr ""
 
-#: ppdc/sample.c:303
+#: ppdc/sample.c:294
 msgid "Printer Settings"
 msgstr ""
 
-#: backend/usb-unix.c:132
-msgid "Printer busy, will retry in 10 seconds."
-msgstr ""
-
-#: backend/parallel.c:234 backend/serial.c:256
-msgid "Printer busy; will retry in 30 seconds."
-msgstr ""
-
-#: backend/lpd.c:611 backend/lpd.c:997 backend/lpd.c:1079 backend/lpd.c:1129
-msgid "Printer did not respond."
-msgstr ""
-
-#: backend/ipp.c:881 backend/ipp.c:888
-#, c-format
-msgid "Printer does not support IPP/%d.%d, trying IPP/%s."
-msgstr ""
-
-#: backend/usb-unix.c:429 backend/usb-unix.c:513
-msgid "Printer is busy, will retry in 5 seconds."
-msgstr ""
-
-#: backend/runloop.c:253 backend/runloop.c:371
-msgid "Printer is not currently connected."
-msgstr ""
-
-#: backend/runloop.c:392
-msgid "Printer is now connected."
-msgstr ""
-
-#: backend/usb-darwin.c:1286
-msgid "Printer is now online."
-msgstr ""
-
-#: backend/usb-darwin.c:1307
-msgid "Printer is offline."
-msgstr ""
-
-#: backend/usb-unix.c:139
-msgid "Printer not connected, will retry in 30 seconds."
-msgstr ""
-
-#: backend/parallel.c:240
-msgid "Printer not connected; will retry in 30 seconds."
+#: backend/ipp.c:1999
+msgid "Printer cannot print supplied content."
 msgstr ""
 
 #: cups/notify.c:126
@@ -4756,18 +4510,12 @@ msgstr ""
 msgid "Printers"
 msgstr ""
 
-#: driver/rastertoescpx.c:1882 driver/rastertopclx.c:1904
 #: filter/rastertoepson.c:1093 filter/rastertohp.c:817
 #: filter/rastertolabel.c:1249
 #, c-format
 msgid "Printing page %d, %d%% complete."
 msgstr ""
 
-#: filter/imagetops.c:817
-#, c-format
-msgid "Printing page %d."
-msgstr ""
-
 #: cgi-bin/classes.c:173 cgi-bin/printers.c:176
 msgid "Purge Jobs"
 msgstr ""
@@ -4776,48 +4524,42 @@ msgstr ""
 msgid "Quarto"
 msgstr ""
 
-#: scheduler/ipp.c:1593 scheduler/ipp.c:11851
+#: scheduler/ipp.c:1549 scheduler/ipp.c:10782
 msgid "Quota limit reached."
 msgstr ""
 
-#: berkeley/lpq.c:515
+#: berkeley/lpq.c:520
 msgid "Rank    Owner   Job     File(s)                         Total Size"
 msgstr ""
 
 #. TRANSLATORS: Pri is job priority.
-#: berkeley/lpq.c:511
+#: berkeley/lpq.c:516
 msgid "Rank   Owner      Pri  Job        Files                       Total Size"
 msgstr ""
 
-#: backend/ipp.c:1878 backend/socket.c:475 driver/rastertoescpx.c:1923
-#: driver/rastertopclx.c:1948 filter/rastertoepson.c:1152
-#: filter/rastertohp.c:881 filter/rastertolabel.c:1307
-msgid "Ready to print."
-msgstr ""
-
 #: cgi-bin/classes.c:171 cgi-bin/printers.c:174
 msgid "Reject Jobs"
 msgstr ""
 
-#: backend/lpd.c:1004 backend/lpd.c:1136
+#: backend/lpd.c:1033 backend/lpd.c:1165
 #, c-format
 msgid "Remote host did not accept control file (%d)."
 msgstr ""
 
-#: backend/lpd.c:1089
+#: backend/lpd.c:1118
 #, c-format
 msgid "Remote host did not accept data file (%d)."
 msgstr ""
 
-#: ppdc/sample.c:437
+#: ppdc/sample.c:428
 msgid "Reprint After Error"
 msgstr ""
 
-#: cups/http-support.c:1285
+#: cups/http-support.c:1373
 msgid "Request Entity Too Large"
 msgstr ""
 
-#: cups/ppd.c:754 cups/ppd.c:1322 ppdc/sample.c:240
+#: cups/ppd.c:797 cups/ppd.c:1365 ppdc/sample.c:231
 msgid "Resolution"
 msgstr ""
 
@@ -4833,15 +4575,11 @@ msgstr ""
 msgid "Return Address"
 msgstr ""
 
-#: ppdc/sample.c:174
-msgid "Return Address - 3/4 x 2\""
-msgstr ""
-
-#: ppdc/sample.c:458
+#: ppdc/sample.c:449
 msgid "Rewind"
 msgstr ""
 
-#: cups/adminutil.c:2169
+#: cups/adminutil.c:2052
 #, c-format
 msgid "Running command: %s %s -N -A %s -c '%s'"
 msgstr ""
@@ -4850,24 +4588,18 @@ msgstr ""
 msgid "SEQUENCE uses indefinite length"
 msgstr ""
 
-#: cups/http-support.c:1309
+#: cups/http-support.c:1397
 msgid "SSL/TLS Negotiation Error"
 msgstr ""
 
-#: cups/http-support.c:1266
+#: cups/http-support.c:1354
 msgid "See Other"
 msgstr ""
 
-#: backend/usb-darwin.c:543 backend/usb-libusb.c:273
+#: backend/usb-darwin.c:543 backend/usb-libusb.c:459
 msgid "Sending data to printer."
 msgstr ""
 
-#: backend/serial.c:783 backend/serial.c:942 backend/serial.c:1064
-#: backend/serial.c:1158
-#, c-format
-msgid "Serial Port #%d"
-msgstr ""
-
 #: cgi-bin/ipp-var.c:1061
 msgid "Server Restarted"
 msgstr ""
@@ -4884,28 +4616,28 @@ msgstr ""
 msgid "Server Stopped"
 msgstr ""
 
-#: cups/http-support.c:1303
+#: cups/http-support.c:1391
 msgid "Service Unavailable"
 msgstr ""
 
-#: cgi-bin/admin.c:2905 cgi-bin/admin.c:2951 cgi-bin/admin.c:3108
-#: cgi-bin/admin.c:3127
+#: cgi-bin/admin.c:2786 cgi-bin/admin.c:2832 cgi-bin/admin.c:2989
+#: cgi-bin/admin.c:3008
 msgid "Set Allowed Users"
 msgstr ""
 
-#: cgi-bin/admin.c:3154
+#: cgi-bin/admin.c:3035
 msgid "Set As Server Default"
 msgstr ""
 
-#: cgi-bin/admin.c:3254
+#: cgi-bin/admin.c:3135
 msgid "Set Class Options"
 msgstr ""
 
-#: cgi-bin/admin.c:3254 cgi-bin/admin.c:3428 cgi-bin/admin.c:3810
+#: cgi-bin/admin.c:3135 cgi-bin/admin.c:3309 cgi-bin/admin.c:3691
 msgid "Set Printer Options"
 msgstr ""
 
-#: cgi-bin/admin.c:3980 cgi-bin/admin.c:4024 cgi-bin/admin.c:4042
+#: cgi-bin/admin.c:3861 cgi-bin/admin.c:3905 cgi-bin/admin.c:3923
 msgid "Set Publishing"
 msgstr ""
 
@@ -4913,33 +4645,28 @@ msgstr ""
 msgid "Shipping Address"
 msgstr ""
 
-#: ppdc/sample.c:175
-msgid "Shipping Address - 2 5/16 x 4\""
-msgstr ""
-
-#: ppdc/sample.c:282
+#: ppdc/sample.c:273
 msgid "Short-Edge (Landscape)"
 msgstr ""
 
-#: ppdc/sample.c:297
+#: ppdc/sample.c:288
 msgid "Special Paper"
 msgstr ""
 
-#: backend/lpd.c:1045
+#: backend/lpd.c:1074
 #, c-format
 msgid "Spooling job, %.0f%% complete."
 msgstr ""
 
-#: ppdc/sample.c:350
+#: ppdc/sample.c:341
 msgid "Standard"
 msgstr ""
 
 #. TRANSLATORS: Banner/cover sheet before the print job.
-#: cgi-bin/admin.c:3671
+#: cgi-bin/admin.c:3552
 msgid "Starting Banner"
 msgstr ""
 
-#: driver/rastertoescpx.c:1866 driver/rastertopclx.c:1887
 #: filter/rastertoepson.c:1069 filter/rastertohp.c:793
 #: filter/rastertolabel.c:1225
 #, c-format
@@ -4950,16 +4677,16 @@ msgstr ""
 msgid "Statement"
 msgstr ""
 
-#: ppdc/sample.c:260
+#: ppdc/sample.c:251
 msgid "Stylus Color Series"
 msgstr ""
 
-#: ppdc/sample.c:266
+#: ppdc/sample.c:257
 msgid "Stylus Photo Series"
 msgstr ""
 
-#: scheduler/ipp.c:4636 scheduler/ipp.c:7878 scheduler/ipp.c:8587
-#: scheduler/ipp.c:10085
+#: scheduler/ipp.c:3664 scheduler/ipp.c:6804 scheduler/ipp.c:7503
+#: scheduler/ipp.c:9002
 #, c-format
 msgid "Subscription #%d does not exist."
 msgstr ""
@@ -4976,7 +4703,7 @@ msgstr ""
 msgid "Super B/A3"
 msgstr ""
 
-#: cups/http-support.c:1248
+#: cups/http-support.c:1336
 msgid "Switching Protocols"
 msgstr ""
 
@@ -4992,41 +4719,50 @@ msgstr ""
 msgid "Tabloid Oversize Long Edge"
 msgstr ""
 
-#: ppdc/sample.c:351
+#: ppdc/sample.c:342
 msgid "Tear"
 msgstr ""
 
-#: ppdc/sample.c:456
+#: ppdc/sample.c:447
 msgid "Tear-Off"
 msgstr ""
 
-#: ppdc/sample.c:397
+#: ppdc/sample.c:388
 msgid "Tear-Off Adjust Position"
 msgstr ""
 
-#: scheduler/ipp.c:7582 scheduler/ipp.c:7660 scheduler/ipp.c:7676
-#: scheduler/ipp.c:7694
+#: scheduler/ipp.c:6508 scheduler/ipp.c:6586 scheduler/ipp.c:6602
+#: scheduler/ipp.c:6620
 #, c-format
 msgid "The %s attribute cannot be provided with job-ids."
 msgstr ""
 
-#: scheduler/ipp.c:8109
+#: scheduler/ipp.c:1381
+#, c-format
+msgid "The '%s' Job Description attribute cannot be supplied in a job creation request."
+msgstr ""
+
+#: scheduler/ipp.c:5233
+#, c-format
+msgid "The '%s' operation attribute cannot be supplied in a Create-Job request."
+msgstr ""
+
+#: scheduler/ipp.c:7034
 #, c-format
 msgid "The PPD file \"%s\" could not be found."
 msgstr ""
 
-#: scheduler/ipp.c:8096
+#: scheduler/ipp.c:7021
 #, c-format
 msgid "The PPD file \"%s\" could not be opened: %s"
 msgstr ""
 
-#: driver/rastertoescpx.c:1794 driver/rastertopclx.c:1819
 #: filter/rastertoepson.c:1038 filter/rastertohp.c:764
 #: filter/rastertolabel.c:1189
 msgid "The PPD file could not be opened."
 msgstr ""
 
-#: cgi-bin/admin.c:750
+#: cgi-bin/admin.c:749
 msgid "The class name may only contain up to 127 printable characters and may not contain spaces, slashes (/), or the pound sign (#)."
 msgstr ""
 
@@ -5046,11 +4782,11 @@ msgstr ""
 msgid "The fuser's temperature is low."
 msgstr ""
 
-#: scheduler/ipp.c:2242
+#: scheduler/ipp.c:2195
 msgid "The notify-lease-duration attribute cannot be used with job subscriptions."
 msgstr ""
 
-#: scheduler/ipp.c:2225 scheduler/ipp.c:6840
+#: scheduler/ipp.c:2178 scheduler/ipp.c:5768
 #, c-format
 msgid "The notify-user-data value is too large (%d > 63 octets)."
 msgstr ""
@@ -5075,10 +4811,6 @@ msgstr ""
 msgid "The output bin is missing."
 msgstr ""
 
-#: filter/imagetoraster.c:466
-msgid "The page setup information was not valid."
-msgstr ""
-
 #: cups/localize.c:325
 msgid "The paper tray is almost empty."
 msgstr ""
@@ -5095,30 +4827,44 @@ msgstr ""
 msgid "The paper tray needs to be filled."
 msgstr ""
 
-#: filter/imagetops.c:322 filter/imagetoraster.c:683
-msgid "The print file could not be opened."
+#: backend/ipp.c:925
+msgid "The printer URI is incorrect or no longer exists."
 msgstr ""
 
-#: backend/ipp.c:898
-msgid "The printer URI is incorrect or no longer exists."
+#: backend/lpd.c:636 backend/lpd.c:1026 backend/lpd.c:1108 backend/lpd.c:1158
+msgid "The printer did not respond."
+msgstr ""
+
+#: backend/ipp.c:908 backend/ipp.c:915
+#, c-format
+msgid "The printer does not support IPP/%d.%d, trying IPP/%s."
 msgstr ""
 
-#: backend/ipp.c:748 backend/ipp.c:863 backend/ipp.c:969 backend/ipp.c:1298
-#: backend/ipp.c:1446 backend/lpd.c:819 backend/socket.c:374
-msgid "The printer is busy."
+#: backend/ipp.c:773 backend/ipp.c:890 backend/ipp.c:1002 backend/ipp.c:1352
+#: backend/ipp.c:1503 backend/lpd.c:845 backend/socket.c:388
+#: backend/usb-unix.c:131 backend/usb-unix.c:424 backend/usb-unix.c:507
+msgid "The printer is in use."
 msgstr ""
 
-#: cups/localize.c:311
+#: backend/runloop.c:254 backend/runloop.c:374 cups/localize.c:311
 msgid "The printer is not connected."
 msgstr ""
 
-#: backend/ipp.c:726 backend/ipp.c:759 backend/ipp.c:859 backend/lpd.c:798
-#: backend/lpd.c:839 backend/socket.c:353 backend/socket.c:386
+#: backend/ipp.c:751 backend/ipp.c:784 backend/ipp.c:886 backend/lpd.c:824
+#: backend/lpd.c:865 backend/socket.c:367 backend/socket.c:400
 msgid "The printer is not responding."
 msgstr ""
 
-#: cups/localize.c:337
-msgid "The printer is out of ink."
+#: backend/runloop.c:396
+msgid "The printer is now connected."
+msgstr ""
+
+#: backend/usb-darwin.c:1286
+msgid "The printer is now online."
+msgstr ""
+
+#: backend/usb-darwin.c:1307
+msgid "The printer is offline."
 msgstr ""
 
 #: cups/localize.c:335
@@ -5129,34 +4875,38 @@ msgstr ""
 msgid "The printer is running low on toner."
 msgstr ""
 
-#: backend/ipp.c:741 backend/lpd.c:812 backend/socket.c:367
+#: backend/ipp.c:766 backend/lpd.c:838 backend/socket.c:381
 msgid "The printer is unreachable at this time."
 msgstr ""
 
+#: cups/localize.c:337
+msgid "The printer may be out of ink."
+msgstr ""
+
 #: cups/localize.c:315
 msgid "The printer may be out of toner."
 msgstr ""
 
-#: backend/ipp.c:735 backend/lpd.c:806 backend/socket.c:361
+#: backend/ipp.c:760 backend/lpd.c:832 backend/socket.c:375
 msgid "The printer may not exist or is unavailable at this time."
 msgstr ""
 
-#: cgi-bin/admin.c:932
+#: cgi-bin/admin.c:931
 msgid "The printer name may only contain up to 127 printable characters and may not contain spaces, slashes (/), or the pound sign (#)."
 msgstr ""
 
-#: scheduler/ipp.c:904 scheduler/ipp.c:1216 scheduler/ipp.c:4285
-#: scheduler/ipp.c:4456 scheduler/ipp.c:6371 scheduler/ipp.c:6674
-#: scheduler/ipp.c:6988 scheduler/ipp.c:7548 scheduler/ipp.c:8314
-#: scheduler/ipp.c:8370 scheduler/ipp.c:8693 scheduler/ipp.c:8959
-#: scheduler/ipp.c:9048 scheduler/ipp.c:9081 scheduler/ipp.c:9404
-#: scheduler/ipp.c:9797 scheduler/ipp.c:9878 scheduler/ipp.c:11029
-#: scheduler/ipp.c:11484 scheduler/ipp.c:11814 scheduler/ipp.c:11896
-#: scheduler/ipp.c:12188
+#: scheduler/ipp.c:876 scheduler/ipp.c:1136 scheduler/ipp.c:3313
+#: scheduler/ipp.c:3484 scheduler/ipp.c:5216 scheduler/ipp.c:5602
+#: scheduler/ipp.c:5916 scheduler/ipp.c:6474 scheduler/ipp.c:7239
+#: scheduler/ipp.c:7295 scheduler/ipp.c:7609 scheduler/ipp.c:7875
+#: scheduler/ipp.c:7964 scheduler/ipp.c:7997 scheduler/ipp.c:8320
+#: scheduler/ipp.c:8713 scheduler/ipp.c:8794 scheduler/ipp.c:9961
+#: scheduler/ipp.c:10415 scheduler/ipp.c:10745 scheduler/ipp.c:10827
+#: scheduler/ipp.c:11201
 msgid "The printer or class does not exist."
 msgstr ""
 
-#: scheduler/ipp.c:1384
+#: scheduler/ipp.c:1319
 msgid "The printer or class is not shared."
 msgstr ""
 
@@ -5180,20 +4930,20 @@ msgstr ""
 msgid "The printer's waste bin is full."
 msgstr ""
 
-#: scheduler/ipp.c:1011 scheduler/ipp.c:2407
+#: scheduler/ipp.c:982 scheduler/ipp.c:2359
 #, c-format
 msgid "The printer-uri \"%s\" contains invalid characters."
 msgstr ""
 
-#: scheduler/ipp.c:4262
+#: scheduler/ipp.c:3290
 msgid "The printer-uri attribute is required."
 msgstr ""
 
-#: scheduler/ipp.c:995
+#: scheduler/ipp.c:966
 msgid "The printer-uri must be of the form \"ipp://HOSTNAME/classes/CLASSNAME\"."
 msgstr ""
 
-#: scheduler/ipp.c:2391
+#: scheduler/ipp.c:2343
 msgid "The printer-uri must be of the form \"ipp://HOSTNAME/printers/PRINTERNAME\"."
 msgstr ""
 
@@ -5201,16 +4951,16 @@ msgstr ""
 msgid "The subscription name may not contain spaces, slashes (/), question marks (?), or the pound sign (#)."
 msgstr ""
 
-#: scheduler/client.c:2464
+#: scheduler/client.c:2458
 msgid "The web interface is currently disabled. Run \"cupsctl WebInterface=yes\" to enable it."
 msgstr ""
 
-#: scheduler/ipp.c:7643
+#: scheduler/ipp.c:6569
 #, c-format
 msgid "The which-jobs value \"%s\" is not supported."
 msgstr ""
 
-#: scheduler/ipp.c:6918
+#: scheduler/ipp.c:5846
 msgid "There are too many subscriptions."
 msgstr ""
 
@@ -5219,57 +4969,53 @@ msgid "There is a paper jam."
 msgstr ""
 
 #: backend/usb-darwin.c:379 backend/usb-darwin.c:438 backend/usb-darwin.c:505
-#: backend/usb-darwin.c:526 backend/usb-libusb.c:235 backend/usb-libusb.c:256
+#: backend/usb-darwin.c:526 backend/usb-libusb.c:384 backend/usb-libusb.c:438
 msgid "There was an unrecoverable USB error."
 msgstr ""
 
-#: ppdc/sample.c:444
+#: ppdc/sample.c:435
 msgid "Thermal Transfer Media"
 msgstr ""
 
-#: filter/bannertops.c:640
-msgid "Title: "
-msgstr ""
-
-#: scheduler/ipp.c:1587
+#: scheduler/ipp.c:1543
 msgid "Too many active jobs."
 msgstr ""
 
-#: scheduler/ipp.c:1481
+#: scheduler/ipp.c:1437
 #, c-format
 msgid "Too many job-sheets values (%d > 2)."
 msgstr ""
 
-#: scheduler/ipp.c:2728
+#: scheduler/ipp.c:2644
 #, c-format
 msgid "Too many printer-state-reasons values (%d > %d)."
 msgstr ""
 
-#: ppdc/sample.c:298
+#: ppdc/sample.c:289
 msgid "Transparency"
 msgstr ""
 
-#: ppdc/sample.c:293
+#: ppdc/sample.c:284
 msgid "Tray"
 msgstr ""
 
-#: ppdc/sample.c:273
+#: ppdc/sample.c:264
 msgid "Tray 1"
 msgstr ""
 
-#: ppdc/sample.c:274
+#: ppdc/sample.c:265
 msgid "Tray 2"
 msgstr ""
 
-#: ppdc/sample.c:275
+#: ppdc/sample.c:266
 msgid "Tray 3"
 msgstr ""
 
-#: ppdc/sample.c:276
+#: ppdc/sample.c:267
 msgid "Tray 4"
 msgstr ""
 
-#: cups/http-support.c:1288
+#: cups/http-support.c:1376
 msgid "URI Too Long"
 msgstr ""
 
@@ -5305,78 +5051,76 @@ msgstr ""
 msgid "US Letter Small"
 msgstr ""
 
-#: backend/serial.c:796
-#, c-format
-msgid "USB Serial Port #%d"
+#: cgi-bin/admin.c:1959 cgi-bin/admin.c:1972 cgi-bin/admin.c:1996
+msgid "Unable to access cupsd.conf file"
 msgstr ""
 
-#: cgi-bin/admin.c:2033 cgi-bin/admin.c:2046 cgi-bin/admin.c:2070
-msgid "Unable to access cupsd.conf file:"
+#: cgi-bin/help.c:133
+msgid "Unable to access help file."
 msgstr ""
 
 #: cgi-bin/admin.c:526
-msgid "Unable to add RSS subscription:"
+msgid "Unable to add RSS subscription"
 msgstr ""
 
-#: cgi-bin/admin.c:815
-msgid "Unable to add class:"
+#: cgi-bin/admin.c:814
+msgid "Unable to add class"
 msgstr ""
 
-#: backend/ipp.c:1616
+#: backend/ipp.c:1677
 msgid "Unable to add document to print job."
 msgstr ""
 
-#: scheduler/ipp.c:1628
+#: scheduler/ipp.c:1646
 #, c-format
 msgid "Unable to add job for destination \"%s\"."
 msgstr ""
 
-#: cgi-bin/admin.c:1060 cgi-bin/admin.c:1420
-msgid "Unable to add printer:"
+#: cgi-bin/admin.c:1059 cgi-bin/admin.c:1419
+msgid "Unable to add printer"
 msgstr ""
 
-#: scheduler/ipp.c:1326
+#: scheduler/ipp.c:1246
 msgid "Unable to allocate memory for file types."
 msgstr ""
 
-#: filter/pstops.c:456
+#: filter/pstops.c:451
 msgid "Unable to allocate memory for page info"
 msgstr ""
 
-#: filter/pstops.c:450
+#: filter/pstops.c:445
 msgid "Unable to allocate memory for pages array"
 msgstr ""
 
-#: cgi-bin/admin.c:1526
-msgid "Unable to cancel RSS subscription:"
+#: cgi-bin/admin.c:1525
+msgid "Unable to cancel RSS subscription"
 msgstr ""
 
-#: backend/ipp.c:1920
+#: backend/ipp.c:2048
 msgid "Unable to cancel print job."
 msgstr ""
 
-#: cgi-bin/admin.c:4025
-msgid "Unable to change printer-is-shared attribute:"
+#: cgi-bin/admin.c:2990
+msgid "Unable to change printer"
 msgstr ""
 
-#: cgi-bin/admin.c:3109
-msgid "Unable to change printer:"
+#: cgi-bin/admin.c:3906
+msgid "Unable to change printer-is-shared attribute"
 msgstr ""
 
-#: cgi-bin/admin.c:1710 cgi-bin/admin.c:1874
-msgid "Unable to change server settings:"
+#: cgi-bin/admin.c:1657 cgi-bin/admin.c:1799
+msgid "Unable to change server settings"
 msgstr ""
 
-#: filter/commandtops.c:421
+#: filter/commandtops.c:420
 msgid "Unable to configure printer options."
 msgstr ""
 
-#: cups/adminutil.c:911 cups/request.c:1022
+#: cups/adminutil.c:911 cups/request.c:1041
 msgid "Unable to connect to host."
 msgstr ""
 
-#: backend/ipp.c:704 backend/ipp.c:1119 backend/lpd.c:778
-#: backend/parallel.c:219 backend/serial.c:241 backend/socket.c:333
+#: backend/ipp.c:729 backend/ipp.c:1166 backend/lpd.c:804 backend/socket.c:347
 #: backend/usb-unix.c:117
 msgid "Unable to contact printer, queuing on next printer in class."
 msgstr ""
@@ -5396,12 +5140,12 @@ msgstr ""
 msgid "Unable to copy CUPS printer driver files (%d)."
 msgstr ""
 
-#: scheduler/ipp.c:2848
+#: scheduler/ipp.c:2764
 #, c-format
 msgid "Unable to copy PPD file - %s"
 msgstr ""
 
-#: scheduler/ipp.c:2903
+#: scheduler/ipp.c:2819
 msgid "Unable to copy PPD file."
 msgstr ""
 
@@ -5415,80 +5159,68 @@ msgstr ""
 msgid "Unable to copy Windows 9x printer driver files (%d)."
 msgstr ""
 
-#: scheduler/ipp.c:2825
+#: scheduler/ipp.c:2741
 #, c-format
 msgid "Unable to copy interface script - %s"
 msgstr ""
 
-#: filter/imagetops.c:141 filter/imagetoraster.c:301
-msgid "Unable to copy print file"
-msgstr ""
-
-#: backend/ipp.c:2012
+#: backend/ipp.c:2137
 msgid "Unable to create compressed print file"
 msgstr ""
 
-#: filter/imagetoraster.c:242
-msgid "Unable to create pipes for filters"
-msgstr ""
-
-#: cups/util.c:601 cups/util.c:1655
+#: cups/util.c:602 cups/util.c:1663
 msgid "Unable to create printer-uri"
 msgstr ""
 
-#: scheduler/cupsfilter.c:1241
+#: cgi-bin/admin.c:1850 cgi-bin/admin.c:1862 scheduler/cupsfilter.c:1239
 msgid "Unable to create temporary file"
 msgstr ""
 
-#: cgi-bin/admin.c:1924 cgi-bin/admin.c:1936
-msgid "Unable to create temporary file:"
-msgstr ""
-
-#: cgi-bin/admin.c:2227
-msgid "Unable to delete class:"
+#: cgi-bin/admin.c:2153
+msgid "Unable to delete class"
 msgstr ""
 
-#: cgi-bin/admin.c:2312
-msgid "Unable to delete printer:"
+#: cgi-bin/admin.c:2238
+msgid "Unable to delete printer"
 msgstr ""
 
 #: cgi-bin/classes.c:260 cgi-bin/printers.c:269
-msgid "Unable to do maintenance command:"
+msgid "Unable to do maintenance command"
 msgstr ""
 
-#: cgi-bin/admin.c:2048
+#: cgi-bin/admin.c:1974
 msgid "Unable to edit cupsd.conf files larger than 1MB"
 msgstr ""
 
-#: cups/http.c:4192
+#: cups/http.c:4261
 msgid "Unable to establish a secure connection to host (certificate chain invalid)."
 msgstr ""
 
-#: cups/http.c:4182
+#: cups/http.c:4251
 msgid "Unable to establish a secure connection to host (certificate not yet valid)."
 msgstr ""
 
-#: cups/http.c:4177
+#: cups/http.c:4246
 msgid "Unable to establish a secure connection to host (expired certificate)."
 msgstr ""
 
-#: cups/http.c:4187
+#: cups/http.c:4256
 msgid "Unable to establish a secure connection to host (host name mismatch)."
 msgstr ""
 
-#: cups/http.c:4197
+#: cups/http.c:4266
 msgid "Unable to establish a secure connection to host (peer dropped connection before responding)."
 msgstr ""
 
-#: cups/http.c:4172
+#: cups/http.c:4241
 msgid "Unable to establish a secure connection to host (self-signed certificate)."
 msgstr ""
 
-#: cups/http.c:4167
+#: cups/http.c:4236
 msgid "Unable to establish a secure connection to host (untrusted certificate)."
 msgstr ""
 
-#: cups/http.c:3929 cups/http.c:4224 cups/http.c:4257 cups/http.c:4274
+#: cups/http.c:3995 cups/http.c:4293 cups/http.c:4326 cups/http.c:4343
 msgid "Unable to establish a secure connection to host."
 msgstr ""
 
@@ -5496,48 +5228,44 @@ msgstr ""
 msgid "Unable to find destination for job"
 msgstr ""
 
-#: cups/http-support.c:1634
+#: cups/http-support.c:1810
 msgid "Unable to find printer."
 msgstr ""
 
-#: filter/imagetoraster.c:266
-msgid "Unable to fork filter"
-msgstr ""
-
-#: backend/ipp.c:2034
+#: backend/ipp.c:2159
 msgid "Unable to generate compressed print file"
 msgstr ""
 
-#: backend/ipp.c:2938
+#: backend/ipp.c:3122
 msgid "Unable to get backend exit status."
 msgstr ""
 
 #: cgi-bin/classes.c:450
-msgid "Unable to get class list:"
+msgid "Unable to get class list"
 msgstr ""
 
 #: cgi-bin/classes.c:549
-msgid "Unable to get class status:"
+msgid "Unable to get class status"
 msgstr ""
 
-#: cgi-bin/admin.c:1321
-msgid "Unable to get list of printer drivers:"
+#: cgi-bin/admin.c:1320
+msgid "Unable to get list of printer drivers"
 msgstr ""
 
-#: cgi-bin/admin.c:2959
-msgid "Unable to get printer attributes:"
+#: cgi-bin/admin.c:2840
+msgid "Unable to get printer attributes"
 msgstr ""
 
 #: cgi-bin/printers.c:467
-msgid "Unable to get printer list:"
+msgid "Unable to get printer list"
 msgstr ""
 
-#: backend/ipp.c:922
-msgid "Unable to get printer status."
+#: cgi-bin/printers.c:569
+msgid "Unable to get printer status"
 msgstr ""
 
-#: cgi-bin/printers.c:569
-msgid "Unable to get printer status:"
+#: backend/ipp.c:949
+msgid "Unable to get printer status."
 msgstr ""
 
 #: cups/adminutil.c:565 cups/adminutil.c:769
@@ -5550,22 +5278,26 @@ msgstr ""
 msgid "Unable to install Windows 9x printer driver files (%d)."
 msgstr ""
 
-#: backend/ipp.c:636 backend/lpd.c:417 backend/socket.c:275
+#: cgi-bin/help.c:92
+msgid "Unable to load help index."
+msgstr ""
+
+#: backend/ipp.c:655 backend/lpd.c:435 backend/socket.c:286
 #, c-format
 msgid "Unable to locate printer \"%s\"."
 msgstr ""
 
-#: backend/dnssd.c:529 backend/ipp.c:318 backend/lpd.c:200
-#: backend/socket.c:171
+#: backend/dnssd.c:781 backend/ipp.c:327 backend/lpd.c:205
+#: backend/socket.c:172
 msgid "Unable to locate printer."
 msgstr ""
 
-#: cgi-bin/admin.c:814
-msgid "Unable to modify class:"
+#: cgi-bin/admin.c:813
+msgid "Unable to modify class"
 msgstr ""
 
-#: cgi-bin/admin.c:1059 cgi-bin/admin.c:1419
-msgid "Unable to modify printer:"
+#: cgi-bin/admin.c:1058 cgi-bin/admin.c:1418
+msgid "Unable to modify printer"
 msgstr ""
 
 #: cgi-bin/ipp-var.c:432 cgi-bin/ipp-var.c:521
@@ -5576,82 +5308,61 @@ msgstr ""
 msgid "Unable to move jobs"
 msgstr ""
 
-#: cups/ppd.c:337
+#: cgi-bin/admin.c:3186 cups/ppd.c:339
 msgid "Unable to open PPD file"
 msgstr ""
 
-#: cgi-bin/admin.c:3305
-msgid "Unable to open PPD file:"
-msgstr ""
-
-#: filter/texttops.c:282
-msgid "Unable to open charset file"
-msgstr ""
-
-#: backend/ipp.c:2018
+#: backend/ipp.c:2143
 msgid "Unable to open compressed print file"
 msgstr ""
 
-#: cgi-bin/admin.c:2683
+#: cgi-bin/admin.c:2608
 msgid "Unable to open cupsd.conf file:"
 msgstr ""
 
-#: backend/parallel.c:246 backend/serial.c:261 backend/usb-unix.c:145
+#: backend/usb-unix.c:141
 msgid "Unable to open device file"
 msgstr ""
 
-#: scheduler/ipp.c:7329
+#: scheduler/ipp.c:6255
 #, c-format
 msgid "Unable to open document #%d in job #%d."
 msgstr ""
 
-#: backend/ipp.c:359 backend/ipp.c:1380 backend/ipp.c:1576 backend/ipp.c:2024
-#: backend/lpd.c:484 backend/parallel.c:150 backend/serial.c:190
-#: backend/socket.c:158 backend/usb.c:237 filter/bannertops.c:183
-#: filter/gziptoany.c:71 filter/pstext.c:89 filter/pstext.c:249
-#: filter/pstext.c:266 filter/pstops.c:305
-msgid "Unable to open print file"
+#: cgi-bin/help.c:364
+msgid "Unable to open help file."
 msgstr ""
 
-#: filter/texttops.c:263
-msgid "Unable to open psglyphs"
+#: backend/ipp.c:368 backend/ipp.c:1437 backend/ipp.c:1636 backend/ipp.c:2149
+#: backend/lpd.c:505 backend/socket.c:159 backend/usb.c:237
+#: filter/gziptoany.c:71 filter/pstops.c:300
+msgid "Unable to open print file"
 msgstr ""
 
-#: driver/rastertoescpx.c:1814 driver/rastertopclx.c:1839
 #: filter/rastertoepson.c:998 filter/rastertohp.c:724
 #: filter/rastertolabel.c:1147
 msgid "Unable to open raster file"
 msgstr ""
 
-#: filter/texttops.c:216
-#, c-format
-msgid "Unable to print %d text columns."
-msgstr ""
-
-#: filter/texttops.c:180 filter/texttops.c:188 filter/texttops.c:196
-#, c-format
-msgid "Unable to print %dx%d text page."
-msgstr ""
-
 #: cgi-bin/ipp-var.c:795
-msgid "Unable to print test page:"
+msgid "Unable to print test page"
 msgstr ""
 
-#: backend/runloop.c:95 backend/runloop.c:322
-msgid "Unable to read print data"
+#: backend/runloop.c:96 backend/runloop.c:325 backend/usb-darwin.c:613
+#: backend/usb-darwin.c:657 backend/usb-libusb.c:529 backend/usb-libusb.c:564
+msgid "Unable to read print data."
 msgstr ""
 
-#: backend/usb-darwin.c:613 backend/usb-darwin.c:657 backend/usb-libusb.c:343
-#: backend/usb-libusb.c:378
-msgid "Unable to read print data."
+#: cups/dest.c:3389
+msgid "Unable to resolve printer URI."
 msgstr ""
 
-#: cups/adminutil.c:2205
+#: cups/adminutil.c:2088
 #, c-format
 msgid "Unable to run \"%s\": %s"
 msgstr ""
 
-#: filter/pstops.c:568
+#: filter/pstops.c:563
 msgid "Unable to see in file"
 msgstr ""
 
@@ -5659,41 +5370,36 @@ msgstr ""
 msgid "Unable to send command to printer driver"
 msgstr ""
 
-#: backend/usb-darwin.c:735 backend/usb-libusb.c:454
+#: backend/usb-darwin.c:735 backend/usb-libusb.c:640
 msgid "Unable to send data to printer."
 msgstr ""
 
-#: filter/imagetoraster.c:1246 filter/imagetoraster.c:1343
-#: filter/imagetoraster.c:1384
-msgid "Unable to send raster data to the driver."
-msgstr ""
-
 #: cups/adminutil.c:821
 #, c-format
 msgid "Unable to set Windows printer driver (%d)."
 msgstr ""
 
-#: cgi-bin/admin.c:3926
-msgid "Unable to set options:"
+#: cgi-bin/admin.c:3807
+msgid "Unable to set options"
 msgstr ""
 
-#: cgi-bin/admin.c:3196
-msgid "Unable to set server default:"
+#: cgi-bin/admin.c:3077
+msgid "Unable to set server default"
 msgstr ""
 
-#: backend/ipp.c:2797 backend/ipp.c:2874 backend/ipp.c:2882
+#: backend/ipp.c:2981 backend/ipp.c:3058 backend/ipp.c:3066
 msgid "Unable to start backend process."
 msgstr ""
 
-#: cgi-bin/admin.c:1986
-msgid "Unable to upload cupsd.conf file:"
+#: cgi-bin/admin.c:1912
+msgid "Unable to upload cupsd.conf file"
 msgstr ""
 
 #: backend/usb-darwin.c:1985 backend/usb-darwin.c:2009
 msgid "Unable to use legacy USB class driver."
 msgstr ""
 
-#: backend/runloop.c:124 backend/runloop.c:377
+#: backend/runloop.c:125 backend/runloop.c:380
 msgid "Unable to write print data"
 msgstr ""
 
@@ -5702,127 +5408,134 @@ msgstr ""
 msgid "Unable to write uncompressed print data: %s"
 msgstr ""
 
-#: cups/http-support.c:1276
+#: cups/http-support.c:1364
 msgid "Unauthorized"
 msgstr ""
 
-#: cgi-bin/admin.c:3622
+#: cgi-bin/admin.c:3503
 msgid "Units"
 msgstr ""
 
-#: cups/http-support.c:1316 cups/ppd.c:364
+#: cups/http-support.c:1404 cups/ppd.c:366
 msgid "Unknown"
 msgstr ""
 
-#: filter/pstops.c:2228
+#: filter/pstops.c:2213
 #, c-format
 msgid "Unknown choice \"%s\" for option \"%s\"."
 msgstr ""
 
-#: backend/ipp.c:501
+#: backend/ipp.c:510
 #, c-format
 msgid "Unknown encryption option value: \"%s\"."
 msgstr ""
 
-#: backend/lpd.c:346
+#: backend/lpd.c:351
 #, c-format
 msgid "Unknown file order: \"%s\"."
 msgstr ""
 
-#: backend/lpd.c:317
+#: backend/lpd.c:322
 #, c-format
 msgid "Unknown format character: \"%c\"."
 msgstr ""
 
-#: backend/ipp.c:548
+#: cups/dest-options.c:769
+msgid "Unknown media size name."
+msgstr ""
+
+#: backend/ipp.c:567
 #, c-format
 msgid "Unknown option \"%s\" with value \"%s\"."
 msgstr ""
 
-#: filter/pstops.c:2211
+#: filter/pstops.c:2196
 #, c-format
 msgid "Unknown option \"%s\"."
 msgstr ""
 
-#: backend/lpd.c:332
+#: backend/lpd.c:337
 #, c-format
 msgid "Unknown print mode: \"%s\"."
 msgstr ""
 
-#: scheduler/ipp.c:11686
+#: scheduler/ipp.c:10617
 #, c-format
 msgid "Unknown printer-error-policy \"%s\"."
 msgstr ""
 
-#: scheduler/ipp.c:11669
+#: scheduler/ipp.c:10600
 #, c-format
 msgid "Unknown printer-op-policy \"%s\"."
 msgstr ""
 
-#: backend/ipp.c:520
+#: cups/http-addrlist.c:710
+msgid "Unknown service name."
+msgstr ""
+
+#: backend/ipp.c:539
 #, c-format
 msgid "Unknown version option value: \"%s\"."
 msgstr ""
 
-#: backend/serial.c:379
+#: scheduler/ipp.c:11072
 #, c-format
-msgid "Unsupported baud rate: %s"
+msgid "Unsupported 'compression' value \"%s\"."
 msgstr ""
 
-#: filter/pstops.c:2419
+#: scheduler/ipp.c:11102
 #, c-format
-msgid "Unsupported brightness value %s, using brightness=100."
+msgid "Unsupported 'document-format' value \"%s\"."
+msgstr ""
+
+#: scheduler/ipp.c:11177
+msgid "Unsupported 'job-name' value."
 msgstr ""
 
-#: scheduler/ipp.c:429
+#: scheduler/ipp.c:402
 #, c-format
 msgid "Unsupported character set \"%s\"."
 msgstr ""
 
-#: scheduler/ipp.c:9370 scheduler/ipp.c:10599 scheduler/ipp.c:12140
+#: scheduler/ipp.c:8286 scheduler/ipp.c:9522
 #, c-format
 msgid "Unsupported compression \"%s\"."
 msgstr ""
 
-#: scheduler/ipp.c:9504 scheduler/ipp.c:10749 scheduler/ipp.c:12169
+#: scheduler/ipp.c:8420 scheduler/ipp.c:9672
 #, c-format
 msgid "Unsupported document-format \"%s\"."
 msgstr ""
 
-#: scheduler/ipp.c:10732
+#: scheduler/ipp.c:9655
 #, c-format
 msgid "Unsupported document-format \"%s/%s\"."
 msgstr ""
 
-#: scheduler/ipp.c:1447
+#: scheduler/ipp.c:1403
 #, c-format
 msgid "Unsupported format \"%s\"."
 msgstr ""
 
-#: filter/pstops.c:2501
-#, c-format
-msgid "Unsupported gamma value %s, using gamma=1000."
-msgstr ""
-
-#: scheduler/ipp.c:1545
+#: scheduler/ipp.c:1501
 msgid "Unsupported margins."
 msgstr ""
 
-#: cups/pwg-media.c:467
+#: cups/pwg-media.c:529
 msgid "Unsupported media value."
 msgstr ""
 
-#: filter/pstops.c:2545
+#: filter/pstops.c:2478
 #, c-format
 msgid "Unsupported number-up value %d, using number-up=1."
 msgstr ""
 
-#: filter/pstops.c:2579
+#: filter/pstops.c:2512
 #, c-format
 msgid "Unsupported number-up-layout value %s, using number-up-layout=lrtb."
 msgstr ""
 
-#: filter/pstops.c:2630
+#: filter/pstops.c:2563
 #, c-format
 msgid "Unsupported page-border value %s, using page-border=none."
 msgstr ""
@@ -5835,7 +5548,7 @@ msgstr ""
 msgid "Unsupported value type"
 msgstr ""
 
-#: cups/http-support.c:1291
+#: cups/http-support.c:1379
 msgid "Upgrade Required"
 msgstr ""
 
@@ -5851,42 +5564,27 @@ msgid ""
 "                       [-u allow:user,user] [-u deny:user,user]"
 msgstr ""
 
-#: filter/pdftops.c:109
-#, c-format
-msgid "Usage: %s job user title copies options [filename]"
-msgstr ""
-
-#: backend/dnssd.c:174 backend/ipp.c:307 backend/lpd.c:189
-#: backend/parallel.c:127 backend/serial.c:167 backend/socket.c:135
-#: backend/usb.c:183 driver/commandtoescpx.c:57 driver/commandtopclx.c:57
-#: filter/textcommon.c:518 monitor/bcp.c:62 monitor/tbcp.c:61
+#: backend/dnssd.c:241 backend/ipp.c:316 backend/lpd.c:192
+#: backend/socket.c:136 backend/usb.c:183 filter/commandtops.c:74
+#: filter/gziptoany.c:50 filter/pstops.c:264 monitor/bcp.c:62
+#: monitor/tbcp.c:61
 #, c-format
 msgid "Usage: %s job-id user title copies options [file]"
 msgstr ""
 
-#: filter/bannertops.c:118 filter/commandtops.c:74 filter/gziptoany.c:50
-#: filter/imagetops.c:123 filter/imagetoraster.c:215 filter/pstops.c:269
-#, c-format
-msgid "Usage: %s job-id user title copies options file"
-msgstr ""
-
-#: scheduler/cupsfilter.c:1463
-msgid "Usage: convert [ options ]"
-msgstr ""
-
 #: systemv/cupsaddsmb.c:281
 msgid "Usage: cupsaddsmb [options] printer1 ... printerN"
 msgstr ""
 
-#: systemv/cupsctl.c:206
+#: systemv/cupsctl.c:200
 msgid "Usage: cupsctl [options] [param=value ... paramN=valueN]"
 msgstr ""
 
-#: scheduler/main.c:2057
+#: scheduler/main.c:2053
 msgid "Usage: cupsd [options]"
 msgstr ""
 
-#: scheduler/cupsfilter.c:1436
+#: scheduler/cupsfilter.c:1432
 msgid "Usage: cupsfilter [ options ] filename"
 msgstr ""
 
@@ -5894,11 +5592,11 @@ msgstr ""
 msgid "Usage: cupstestdsc [options] filename.ps [... filename.ps]"
 msgstr ""
 
-#: systemv/cupstestppd.c:3774
+#: systemv/cupstestppd.c:3793
 msgid "Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]"
 msgstr ""
 
-#: test/ipptool.c:4380
+#: test/ipptool.c:4482
 msgid "Usage: ipptool [options] URI filename [ ... filenameN ]"
 msgstr ""
 
@@ -5925,7 +5623,7 @@ msgid ""
 "       lppasswd [-g groupname] -x [username]"
 msgstr ""
 
-#: berkeley/lpq.c:670
+#: berkeley/lpq.c:675
 msgid "Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]"
 msgstr ""
 
@@ -5965,15 +5663,15 @@ msgstr ""
 msgid "Version uses indefinite length"
 msgstr ""
 
-#: backend/ipp.c:1656
+#: backend/ipp.c:1774
 msgid "Waiting for job to complete."
 msgstr ""
 
-#: backend/usb-darwin.c:457 backend/usb-libusb.c:193
+#: backend/usb-darwin.c:457 backend/usb-libusb.c:336
 msgid "Waiting for printer to become available."
 msgstr ""
 
-#: backend/socket.c:444
+#: backend/socket.c:458
 msgid "Waiting for printer to finish."
 msgstr ""
 
@@ -5981,15 +5679,15 @@ msgstr ""
 msgid "Warning, no Windows 2000 printer drivers are installed."
 msgstr ""
 
-#: cups/http-support.c:1312
+#: cups/http-support.c:1400
 msgid "Web Interface is Disabled"
 msgstr ""
 
-#: cups/ppd.c:1904
+#: cups/ppd.c:1947
 msgid "Yes"
 msgstr ""
 
-#: scheduler/client.c:2451
+#: scheduler/client.c:2445
 #, c-format
 msgid "You must access this page using the URL <A HREF=\"https://%s:%d%s\">https://%s:%d%s</A>."
 msgstr ""
@@ -5998,11 +5696,11 @@ msgstr ""
 msgid "Your password must be at least 6 characters long, cannot contain your username, and must contain at least one letter and number."
 msgstr ""
 
-#: ppdc/sample.c:448
+#: ppdc/sample.c:439
 msgid "ZPL Label Printer"
 msgstr ""
 
-#: ppdc/sample.c:371
+#: ppdc/sample.c:362
 msgid "Zebra"
 msgstr ""
 
@@ -6018,15 +5716,11 @@ msgstr ""
 msgid "completed"
 msgstr ""
 
-#: scheduler/cupsfilter.c:355
-msgid "convert: Use the -f option to specify a file to convert."
-msgstr ""
-
-#: scheduler/ipp.c:7201
+#: scheduler/ipp.c:6127
 msgid "cups-deviced failed to execute."
 msgstr ""
 
-#: scheduler/ipp.c:8031 scheduler/ipp.c:8281
+#: scheduler/ipp.c:6957 scheduler/ipp.c:7206
 msgid "cups-driverd failed to execute."
 msgstr ""
 
@@ -6035,80 +5729,92 @@ msgstr ""
 msgid "cupsaddsmb: No PPD file for printer \"%s\" - %s"
 msgstr ""
 
-#: systemv/cupsctl.c:147
+#: systemv/cupsctl.c:141
 msgid "cupsctl: Cannot set Listen or Port directly."
 msgstr ""
 
-#: systemv/cupsctl.c:158
+#: systemv/cupsctl.c:152
 #, c-format
 msgid "cupsctl: Unable to connect to server: %s"
 msgstr ""
 
-#: systemv/cupsctl.c:201
+#: systemv/cupsctl.c:195
 #, c-format
 msgid "cupsctl: Unknown option \"%s\""
 msgstr ""
 
-#: systemv/cupsctl.c:203
+#: systemv/cupsctl.c:197
 #, c-format
 msgid "cupsctl: Unknown option \"-%c\""
 msgstr ""
 
-#: scheduler/main.c:190
+#: scheduler/main.c:194
 msgid "cupsd: Expected config filename after \"-c\" option."
 msgstr ""
 
-#: scheduler/main.c:222 scheduler/main.c:229
+#: scheduler/main.c:282
+msgid "cupsd: Expected cups-files.conf filename after \"-s\" option."
+msgstr ""
+
+#: scheduler/main.c:293
+msgid "cupsd: Relative cups-files.conf filename not allowed."
+msgstr ""
+
+#: scheduler/main.c:225 scheduler/main.c:232
 msgid "cupsd: Unable to get current directory."
 msgstr ""
 
-#: scheduler/main.c:296
+#: scheduler/main.c:343 scheduler/main.c:352
+msgid "cupsd: Unable to get path to cups-files.conf file."
+msgstr ""
+
+#: scheduler/main.c:322
 #, c-format
 msgid "cupsd: Unknown argument \"%s\" - aborting."
 msgstr ""
 
-#: scheduler/main.c:289
+#: scheduler/main.c:315
 #, c-format
 msgid "cupsd: Unknown option \"%c\" - aborting."
 msgstr ""
 
-#: scheduler/main.c:256
+#: scheduler/main.c:259
 msgid "cupsd: launchd(8) support not compiled in, running in normal mode."
 msgstr ""
 
-#: scheduler/cupsfilter.c:1214
+#: scheduler/cupsfilter.c:1212
 #, c-format
 msgid "cupsfilter: Invalid document number %d."
 msgstr ""
 
-#: scheduler/cupsfilter.c:1208
+#: scheduler/cupsfilter.c:1206
 #, c-format
 msgid "cupsfilter: Invalid job ID %d."
 msgstr ""
 
-#: scheduler/cupsfilter.c:363
+#: scheduler/cupsfilter.c:358
 msgid "cupsfilter: Only one filename can be specified."
 msgstr ""
 
-#: scheduler/cupsfilter.c:1256
+#: scheduler/cupsfilter.c:1254
 #, c-format
 msgid "cupsfilter: Unable to get job file - %s"
 msgstr ""
 
-#: systemv/cupstestppd.c:260
+#: systemv/cupstestppd.c:261
 msgid "cupstestppd: The -q option is incompatible with the -v option."
 msgstr ""
 
-#: systemv/cupstestppd.c:276
+#: systemv/cupstestppd.c:277
 msgid "cupstestppd: The -v option is incompatible with the -q option."
 msgstr ""
 
-#: systemv/lpstat.c:1231 systemv/lpstat.c:1234 systemv/lpstat.c:1237
+#: systemv/lpstat.c:1335 systemv/lpstat.c:1338 systemv/lpstat.c:1341
 #, c-format
 msgid "device for %s/%s: %s"
 msgstr ""
 
-#: systemv/lpstat.c:1218 systemv/lpstat.c:1221 systemv/lpstat.c:1224
+#: systemv/lpstat.c:1322 systemv/lpstat.c:1325 systemv/lpstat.c:1328
 #, c-format
 msgid "device for %s: %s"
 msgstr ""
@@ -6133,70 +5839,62 @@ msgstr ""
 msgid "idle"
 msgstr ""
 
-#: test/ipptool.c:373
+#: test/ipptool.c:376 test/ipptool.c:518 test/ipptool.c:542
 msgid "ipptool: \"-i\" and \"-n\" are incompatible with -X\"."
 msgstr ""
 
-#: test/ipptool.c:508
-msgid "ipptool: \"-i\" is incompatible with \"-X\"."
-msgstr ""
-
-#: test/ipptool.c:532
-msgid "ipptool: \"-n\" is incompatible with \"-X\"."
-msgstr ""
-
-#: test/ipptool.c:590
+#: test/ipptool.c:600
 #, c-format
 msgid "ipptool: Bad URI - %s."
 msgstr ""
 
-#: test/ipptool.c:362
+#: test/ipptool.c:365
 #, c-format
 msgid "ipptool: Bad version %s for \"-V\"."
 msgstr ""
 
-#: test/ipptool.c:501
+#: test/ipptool.c:511
 msgid "ipptool: Invalid seconds for \"-i\"."
 msgstr ""
 
-#: test/ipptool.c:571
+#: test/ipptool.c:581
 msgid "ipptool: May only specify a single URI."
 msgstr ""
 
-#: test/ipptool.c:524
+#: test/ipptool.c:534
 msgid "ipptool: Missing count for \"-n\"."
 msgstr ""
 
-#: test/ipptool.c:408
+#: test/ipptool.c:411
 msgid "ipptool: Missing filename for \"-f\"."
 msgstr ""
 
-#: test/ipptool.c:389
+#: test/ipptool.c:392
 msgid "ipptool: Missing name=value for \"-d\"."
 msgstr ""
 
-#: test/ipptool.c:491
+#: test/ipptool.c:501
 msgid "ipptool: Missing seconds for \"-i\"."
 msgstr ""
 
-#: test/ipptool.c:332
+#: test/ipptool.c:335
 msgid "ipptool: Missing timeout for \"-T\"."
 msgstr ""
 
-#: test/ipptool.c:345
+#: test/ipptool.c:348
 msgid "ipptool: Missing version for \"-V\"."
 msgstr ""
 
-#: test/ipptool.c:617
+#: test/ipptool.c:627
 msgid "ipptool: URI required before test file."
 msgstr ""
 
-#: test/ipptool.c:551
+#: test/ipptool.c:561
 #, c-format
 msgid "ipptool: Unknown option \"-%c\"."
 msgstr ""
 
-#: scheduler/ipp.c:9037
+#: scheduler/ipp.c:7953
 msgid "job-printer-uri attribute missing."
 msgstr ""
 
@@ -6299,7 +5997,7 @@ msgstr ""
 msgid "lpadmin: Unable to connect to server: %s"
 msgstr ""
 
-#: systemv/lpadmin.c:1332
+#: systemv/lpadmin.c:1329
 msgid "lpadmin: Unable to create temporary file"
 msgstr ""
 
@@ -6309,7 +6007,7 @@ msgid ""
 "         You must specify a printer name first."
 msgstr ""
 
-#: systemv/lpadmin.c:1342
+#: systemv/lpadmin.c:1339
 #, c-format
 msgid "lpadmin: Unable to open PPD file \"%s\" - %s"
 msgstr ""
@@ -6484,34 +6182,34 @@ msgstr ""
 msgid "lppasswd: user \"%s\" and group \"%s\" do not exist."
 msgstr ""
 
-#: systemv/lpstat.c:1039
+#: systemv/lpstat.c:1132
 #, c-format
 msgid "lpstat: error - %s environment variable names non-existent destination \"%s\"."
 msgstr ""
 
-#: systemv/lpstat.c:970
+#: systemv/lpstat.c:1068
 #, c-format
 msgid "members of class %s:"
 msgstr ""
 
-#: berkeley/lpq.c:582
+#: berkeley/lpq.c:587
 msgid "no entries"
 msgstr ""
 
-#: systemv/lpstat.c:1043
+#: systemv/lpstat.c:1136
 msgid "no system default destination"
 msgstr ""
 
-#: scheduler/ipp.c:6889
+#: scheduler/ipp.c:5817
 msgid "notify-events not specified."
 msgstr ""
 
-#: scheduler/ipp.c:2179 scheduler/ipp.c:6794
+#: scheduler/ipp.c:2132 scheduler/ipp.c:5722
 #, c-format
 msgid "notify-recipient-uri URI \"%s\" is already used."
 msgstr ""
 
-#: scheduler/ipp.c:2169 scheduler/ipp.c:6784
+#: scheduler/ipp.c:2122 scheduler/ipp.c:5712
 #, c-format
 msgid "notify-recipient-uri URI \"%s\" uses unknown scheme."
 msgstr ""
@@ -6530,7 +6228,7 @@ msgstr ""
 msgid "ppdc: Adding/updating UI text from %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:412
+#: ppdc/ppdc-source.cxx:410
 #, c-format
 msgid "ppdc: Bad boolean value (%s) on line %d of %s."
 msgstr ""
@@ -6540,192 +6238,192 @@ msgstr ""
 msgid "ppdc: Bad font attribute: %s"
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1797
+#: ppdc/ppdc-source.cxx:1796
 #, c-format
 msgid "ppdc: Bad resolution name \"%s\" on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1115
+#: ppdc/ppdc-source.cxx:1113
 #, c-format
 msgid "ppdc: Bad status keyword %s on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:2034
+#: ppdc/ppdc-source.cxx:2033
 #, c-format
 msgid "ppdc: Bad variable substitution ($%c) on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:2720
+#: ppdc/ppdc-source.cxx:2719
 #, c-format
 msgid "ppdc: Choice found on line %d of %s with no Option."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1699
+#: ppdc/ppdc-source.cxx:1698
 #, c-format
 msgid "ppdc: Duplicate #po for locale %s on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:934
+#: ppdc/ppdc-source.cxx:932
 #, c-format
 msgid "ppdc: Expected a filter definition on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:957
+#: ppdc/ppdc-source.cxx:955
 #, c-format
 msgid "ppdc: Expected a program name on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:396
+#: ppdc/ppdc-source.cxx:394
 #, c-format
 msgid "ppdc: Expected boolean value on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1095
+#: ppdc/ppdc-source.cxx:1093
 #, c-format
 msgid "ppdc: Expected charset after Font on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:449
+#: ppdc/ppdc-source.cxx:447
 #, c-format
 msgid "ppdc: Expected choice code on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:437
+#: ppdc/ppdc-source.cxx:435
 #, c-format
 msgid "ppdc: Expected choice name/text on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:505
+#: ppdc/ppdc-source.cxx:503
 #, c-format
 msgid "ppdc: Expected color order for ColorModel on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:494
+#: ppdc/ppdc-source.cxx:492
 #, c-format
 msgid "ppdc: Expected colorspace for ColorModel on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:516
+#: ppdc/ppdc-source.cxx:514
 #, c-format
 msgid "ppdc: Expected compression for ColorModel on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:697
+#: ppdc/ppdc-source.cxx:695
 #, c-format
 msgid "ppdc: Expected constraints string for UIConstraints on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:2906
+#: ppdc/ppdc-source.cxx:2905
 #, c-format
 msgid "ppdc: Expected driver type keyword following DriverType on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:828
+#: ppdc/ppdc-source.cxx:826
 #, c-format
 msgid "ppdc: Expected duplex type after Duplex on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1079
+#: ppdc/ppdc-source.cxx:1077
 #, c-format
 msgid "ppdc: Expected encoding after Font on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1690
+#: ppdc/ppdc-source.cxx:1689
 #, c-format
 msgid "ppdc: Expected filename after #po %s on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1207
+#: ppdc/ppdc-source.cxx:1205
 #, c-format
 msgid "ppdc: Expected group name/text on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:2620
+#: ppdc/ppdc-source.cxx:2619
 #, c-format
 msgid "ppdc: Expected include filename on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1503
+#: ppdc/ppdc-source.cxx:1502
 #, c-format
 msgid "ppdc: Expected integer on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1682
+#: ppdc/ppdc-source.cxx:1681
 #, c-format
 msgid "ppdc: Expected locale after #po on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:355
+#: ppdc/ppdc-source.cxx:353
 #, c-format
 msgid "ppdc: Expected name after %s on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:3278
+#: ppdc/ppdc-source.cxx:3277
 #, c-format
 msgid "ppdc: Expected name after FileName on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1060
+#: ppdc/ppdc-source.cxx:1058
 #, c-format
 msgid "ppdc: Expected name after Font on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:3109
+#: ppdc/ppdc-source.cxx:3108
 #, c-format
 msgid "ppdc: Expected name after Manufacturer on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:3142
+#: ppdc/ppdc-source.cxx:3141
 #, c-format
 msgid "ppdc: Expected name after MediaSize on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:3232
+#: ppdc/ppdc-source.cxx:3231
 #, c-format
 msgid "ppdc: Expected name after ModelName on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:3295
+#: ppdc/ppdc-source.cxx:3294
 #, c-format
 msgid "ppdc: Expected name after PCFileName on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1158
+#: ppdc/ppdc-source.cxx:1156
 #, c-format
 msgid "ppdc: Expected name/text after %s on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1247
+#: ppdc/ppdc-source.cxx:1245
 #, c-format
 msgid "ppdc: Expected name/text after Installable on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1783
+#: ppdc/ppdc-source.cxx:1782
 #, c-format
 msgid "ppdc: Expected name/text after Resolution on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:481
+#: ppdc/ppdc-source.cxx:479
 #, c-format
 msgid "ppdc: Expected name/text combination for ColorModel on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1575
+#: ppdc/ppdc-source.cxx:1574
 #, c-format
 msgid "ppdc: Expected option name/text on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1609
+#: ppdc/ppdc-source.cxx:1608
 #, c-format
 msgid "ppdc: Expected option section on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1587
+#: ppdc/ppdc-source.cxx:1586
 #, c-format
 msgid "ppdc: Expected option type on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1766
+#: ppdc/ppdc-source.cxx:1765
 #, c-format
 msgid "ppdc: Expected override field after Resolution on line %d of %s."
 msgstr ""
@@ -6735,82 +6433,82 @@ msgstr ""
 msgid "ppdc: Expected quoted string on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1006
+#: ppdc/ppdc-source.cxx:1004
 #, c-format
 msgid "ppdc: Expected real number on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:574
+#: ppdc/ppdc-source.cxx:572
 #, c-format
 msgid "ppdc: Expected resolution/mediatype following ColorProfile on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1864
+#: ppdc/ppdc-source.cxx:1863
 #, c-format
 msgid "ppdc: Expected resolution/mediatype following SimpleColorProfile on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:363
+#: ppdc/ppdc-source.cxx:361
 #, c-format
 msgid "ppdc: Expected selector after %s on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1103
+#: ppdc/ppdc-source.cxx:1101
 #, c-format
 msgid "ppdc: Expected status after Font on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:2795
+#: ppdc/ppdc-source.cxx:2794
 #, c-format
 msgid "ppdc: Expected string after Copyright on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:3398
+#: ppdc/ppdc-source.cxx:3397
 #, c-format
 msgid "ppdc: Expected string after Version on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:730
+#: ppdc/ppdc-source.cxx:728
 #, c-format
 msgid "ppdc: Expected two option names on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:374
+#: ppdc/ppdc-source.cxx:372
 #, c-format
 msgid "ppdc: Expected value after %s on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1087
+#: ppdc/ppdc-source.cxx:1085
 #, c-format
 msgid "ppdc: Expected version after Font on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:229
+#: ppdc/ppdc-source.cxx:227
 #, c-format
 msgid "ppdc: Invalid #include/#po filename \"%s\"."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:974
+#: ppdc/ppdc-source.cxx:972
 #, c-format
 msgid "ppdc: Invalid cost for filter on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:966
+#: ppdc/ppdc-source.cxx:964
 #, c-format
 msgid "ppdc: Invalid empty MIME type for filter on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:982
+#: ppdc/ppdc-source.cxx:980
 #, c-format
 msgid "ppdc: Invalid empty program name for filter on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1629
+#: ppdc/ppdc-source.cxx:1628
 #, c-format
 msgid "ppdc: Invalid option section \"%s\" on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1601
+#: ppdc/ppdc-source.cxx:1600
 #, c-format
 msgid "ppdc: Invalid option type \"%s\" on line %d of %s."
 msgstr ""
@@ -6830,13 +6528,13 @@ msgstr ""
 msgid "ppdc: Loading messages from \"%s\"."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:2413 ppdc/ppdc-source.cxx:2645
+#: ppdc/ppdc-source.cxx:2412 ppdc/ppdc-source.cxx:2644
 #, c-format
 msgid "ppdc: Missing #endif at end of \"%s\"."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:2514 ppdc/ppdc-source.cxx:2549
-#: ppdc/ppdc-source.cxx:2579
+#: ppdc/ppdc-source.cxx:2513 ppdc/ppdc-source.cxx:2548
+#: ppdc/ppdc-source.cxx:2578
 #, c-format
 msgid "ppdc: Missing #if on line %d of %s."
 msgstr ""
@@ -6851,24 +6549,24 @@ msgstr ""
 msgid "ppdc: No message catalog provided for locale %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1652 ppdc/ppdc-source.cxx:2883
-#: ppdc/ppdc-source.cxx:2969 ppdc/ppdc-source.cxx:3062
-#: ppdc/ppdc-source.cxx:3195 ppdc/ppdc-source.cxx:3328
+#: ppdc/ppdc-source.cxx:1651 ppdc/ppdc-source.cxx:2882
+#: ppdc/ppdc-source.cxx:2968 ppdc/ppdc-source.cxx:3061
+#: ppdc/ppdc-source.cxx:3194 ppdc/ppdc-source.cxx:3327
 #, c-format
 msgid "ppdc: Option %s defined in two different groups on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1645
+#: ppdc/ppdc-source.cxx:1644
 #, c-format
 msgid "ppdc: Option %s redefined with a different type on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:707
+#: ppdc/ppdc-source.cxx:705
 #, c-format
 msgid "ppdc: Option constraint must *name on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:2496
+#: ppdc/ppdc-source.cxx:2495
 #, c-format
 msgid "ppdc: Too many nested #if's on line %d of %s."
 msgstr ""
@@ -6893,12 +6591,12 @@ msgstr ""
 msgid "ppdc: Unable to execute cupstestppd: %s"
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1731
+#: ppdc/ppdc-source.cxx:1730
 #, c-format
 msgid "ppdc: Unable to find #po file %s on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:2652
+#: ppdc/ppdc-source.cxx:2651
 #, c-format
 msgid "ppdc: Unable to find include file \"%s\" on line %d of %s."
 msgstr ""
@@ -6918,7 +6616,7 @@ msgstr ""
 msgid "ppdc: Unable to open %s: %s"
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:2055
+#: ppdc/ppdc-source.cxx:2054
 #, c-format
 msgid "ppdc: Undefined variable (%s) on line %d of %s."
 msgstr ""
@@ -6928,17 +6626,17 @@ msgstr ""
 msgid "ppdc: Unexpected text on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:2925
+#: ppdc/ppdc-source.cxx:2924
 #, c-format
 msgid "ppdc: Unknown driver type %s on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:908
+#: ppdc/ppdc-source.cxx:906
 #, c-format
 msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:3155
+#: ppdc/ppdc-source.cxx:3154
 #, c-format
 msgid "ppdc: Unknown media size \"%s\" on line %d of %s."
 msgstr ""
@@ -6948,17 +6646,17 @@ msgstr ""
 msgid "ppdc: Unknown message catalog format for \"%s\"."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:3409
+#: ppdc/ppdc-source.cxx:3408
 #, c-format
 msgid "ppdc: Unknown token \"%s\" seen on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1016
+#: ppdc/ppdc-source.cxx:1014
 #, c-format
 msgid "ppdc: Unknown trailing characters in real number \"%s\" on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:2165
+#: ppdc/ppdc-source.cxx:2164
 #, c-format
 msgid "ppdc: Unterminated string starting with %c on line %d of %s."
 msgstr ""
@@ -6993,32 +6691,32 @@ msgstr ""
 msgid "ppdmerge: Unable to backup %s to %s - %s"
 msgstr ""
 
-#: systemv/lpstat.c:1784
+#: systemv/lpstat.c:1900
 #, c-format
 msgid "printer %s disabled since %s -"
 msgstr ""
 
-#: systemv/lpstat.c:1773
+#: systemv/lpstat.c:1889
 #, c-format
 msgid "printer %s is idle.  enabled since %s"
 msgstr ""
 
-#: systemv/lpstat.c:1778
+#: systemv/lpstat.c:1894
 #, c-format
 msgid "printer %s now printing %s-%d.  enabled since %s"
 msgstr ""
 
-#: systemv/lpstat.c:1909
+#: systemv/lpstat.c:2025
 #, c-format
 msgid "printer %s/%s disabled since %s -"
 msgstr ""
 
-#: systemv/lpstat.c:1895
+#: systemv/lpstat.c:2011
 #, c-format
 msgid "printer %s/%s is idle.  enabled since %s"
 msgstr ""
 
-#: systemv/lpstat.c:1902
+#: systemv/lpstat.c:2018
 #, c-format
 msgid "printer %s/%s now printing %s-%d.  enabled since %s"
 msgstr ""
@@ -7027,7 +6725,7 @@ msgstr ""
 msgid "processing"
 msgstr ""
 
-#: systemv/lp.c:639
+#: systemv/lp.c:668
 #, c-format
 msgid "request id is %s-%d (%d file(s))"
 msgstr ""
@@ -7036,15 +6734,15 @@ msgstr ""
 msgid "request-id uses indefinite length"
 msgstr ""
 
-#: systemv/lpstat.c:2048
+#: systemv/lpstat.c:2159
 msgid "scheduler is not running"
 msgstr ""
 
-#: systemv/lpstat.c:2044
+#: systemv/lpstat.c:2155
 msgid "scheduler is running"
 msgstr ""
 
-#: cups/adminutil.c:2276
+#: cups/adminutil.c:2159
 #, c-format
 msgid "stat of %s failed: %s"
 msgstr ""
@@ -7057,12 +6755,12 @@ msgstr ""
 msgid "stopped"
 msgstr ""
 
-#: systemv/lpstat.c:1017
+#: systemv/lpstat.c:1110
 #, c-format
 msgid "system default destination: %s"
 msgstr ""
 
-#: systemv/lpstat.c:1014
+#: systemv/lpstat.c:1107
 #, c-format
 msgid "system default destination: %s/%s"
 msgstr ""
index e1795c8..c0ad8a5 100644 (file)
 "      %s  cupsICCProfile %s hash value collides with %s." = "      %s  cupsICCProfile %s hash value collides with %s.";
 "      %s  cupsUIResolver %s causes a loop." = "      %s  cupsUIResolver %s causes a loop.";
 "      %s  cupsUIResolver %s does not list at least two different options." = "      %s  cupsUIResolver %s does not list at least two different options.";
-"      **FAIL**  %s choice names %s and %s differ only by case." = "      **FAIL**  %s choice names %s and %s differ only by case.";
 "      **FAIL**  %s must be 1284DeviceID\n                REF: Page 72, section 5.5" = "      **FAIL**  %s must be 1284DeviceID\n                REF: Page 72, section 5.5";
-"      **FAIL**  BAD Default%s %s\n                REF: Page 40, section 4.5." = "      **FAIL**  BAD Default%s %s\n                REF: Page 40, section 4.5.";
-"      **FAIL**  BAD DefaultImageableArea %s\n                REF: Page 102, section 5.15." = "      **FAIL**  BAD DefaultImageableArea %s\n                REF: Page 102, section 5.15.";
-"      **FAIL**  BAD DefaultPaperDimension %s\n                REF: Page 103, section 5.15." = "      **FAIL**  BAD DefaultPaperDimension %s\n                REF: Page 103, section 5.15.";
-"      **FAIL**  BAD JobPatchFile attribute in file\n                REF: Page 24, section 3.4." = "      **FAIL**  BAD JobPatchFile attribute in file\n                REF: Page 24, section 3.4.";
-"      **FAIL**  BAD Manufacturer (should be \"HP\")\n                REF: Page 211, table D.1." = "      **FAIL**  BAD Manufacturer (should be \"HP\")\n                REF: Page 211, table D.1.";
-"      **FAIL**  BAD Manufacturer (should be \"Oki\")\n                REF: Page 211, table D.1." = "      **FAIL**  BAD Manufacturer (should be \"Oki\")\n                REF: Page 211, table D.1.";
-"      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n                REF: Pages 59-60, section 5.3." = "      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n                REF: Pages 59-60, section 5.3.";
-"      **FAIL**  BAD PSVersion - not \"(string) int\".\n                REF: Pages 62-64, section 5.3." = "      **FAIL**  BAD PSVersion - not \"(string) int\".\n                REF: Pages 62-64, section 5.3.";
-"      **FAIL**  BAD Product - not \"(string)\".\n                REF: Page 62, section 5.3." = "      **FAIL**  BAD Product - not \"(string)\".\n                REF: Page 62, section 5.3.";
-"      **FAIL**  BAD ShortNickName - longer than 31 chars.\n                REF: Pages 64-65, section 5.3." = "      **FAIL**  BAD ShortNickName - longer than 31 chars.\n                REF: Pages 64-65, section 5.3.";
-"      **FAIL**  Bad %s choice %s\n                REF: Page 84, section 5.9" = "      **FAIL**  Bad %s choice %s\n                REF: Page 84, section 5.9";
+"      **FAIL**  Bad Default%s %s\n                REF: Page 40, section 4.5." = "      **FAIL**  Bad Default%s %s\n                REF: Page 40, section 4.5.";
+"      **FAIL**  Bad DefaultImageableArea %s\n                REF: Page 102, section 5.15." = "      **FAIL**  Bad DefaultImageableArea %s\n                REF: Page 102, section 5.15.";
+"      **FAIL**  Bad DefaultPaperDimension %s\n                REF: Page 103, section 5.15." = "      **FAIL**  Bad DefaultPaperDimension %s\n                REF: Page 103, section 5.15.";
 "      **FAIL**  Bad FileVersion \"%s\"\n                REF: Page 56, section 5.3." = "      **FAIL**  Bad FileVersion \"%s\"\n                REF: Page 56, section 5.3.";
 "      **FAIL**  Bad FormatVersion \"%s\"\n                REF: Page 56, section 5.3." = "      **FAIL**  Bad FormatVersion \"%s\"\n                REF: Page 56, section 5.3.";
+"      **FAIL**  Bad JobPatchFile attribute in file\n                REF: Page 24, section 3.4." = "      **FAIL**  Bad JobPatchFile attribute in file\n                REF: Page 24, section 3.4.";
 "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1." = "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1.";
 "      **FAIL**  Bad LanguageVersion %s - must be English." = "      **FAIL**  Bad LanguageVersion %s - must be English.";
+"      **FAIL**  Bad Manufacturer (should be \"%s\")\n                REF: Page 211, table D.1." = "      **FAIL**  Bad Manufacturer (should be \"%s\")\n                REF: Page 211, table D.1.";
+"      **FAIL**  Bad ModelName - \"%c\" not allowed in string.\n                REF: Pages 59-60, section 5.3." = "      **FAIL**  Bad ModelName - \"%c\" not allowed in string.\n                REF: Pages 59-60, section 5.3.";
+"      **FAIL**  Bad PSVersion - not \"(string) int\".\n                REF: Pages 62-64, section 5.3." = "      **FAIL**  Bad PSVersion - not \"(string) int\".\n                REF: Pages 62-64, section 5.3.";
+"      **FAIL**  Bad Product - not \"(string)\".\n                REF: Page 62, section 5.3." = "      **FAIL**  Bad Product - not \"(string)\".\n                REF: Page 62, section 5.3.";
+"      **FAIL**  Bad ShortNickName - longer than 31 chars.\n                REF: Pages 64-65, section 5.3." = "      **FAIL**  Bad ShortNickName - longer than 31 chars.\n                REF: Pages 64-65, section 5.3.";
+"      **FAIL**  Bad option %s choice %s\n                REF: Page 84, section 5.9" = "      **FAIL**  Bad option %s choice %s\n                REF: Page 84, section 5.9";
 "      **FAIL**  Default option code cannot be interpreted: %s" = "      **FAIL**  Default option code cannot be interpreted: %s";
 "      **FAIL**  Default translation string for option %s choice %s contains 8-bit characters." = "      **FAIL**  Default translation string for option %s choice %s contains 8-bit characters.";
 "      **FAIL**  Default translation string for option %s contains 8-bit characters." = "      **FAIL**  Default translation string for option %s contains 8-bit characters.";
 "      **FAIL**  Group names %s and %s differ only by case." = "      **FAIL**  Group names %s and %s differ only by case.";
-"      **FAIL**  Multiple occurrences of %s choice name %s." = "      **FAIL**  Multiple occurrences of %s choice name %s.";
+"      **FAIL**  Multiple occurrences of option %s choice name %s." = "      **FAIL**  Multiple occurrences of option %s choice name %s.";
+"      **FAIL**  Option %s choice names %s and %s differ only by case." = "      **FAIL**  Option %s choice names %s and %s differ only by case.";
 "      **FAIL**  Option names %s and %s differ only by case." = "      **FAIL**  Option names %s and %s differ only by case.";
 "      **FAIL**  REQUIRED Default%s\n                REF: Page 40, section 4.5." = "      **FAIL**  REQUIRED Default%s\n                REF: Page 40, section 4.5.";
 "      **FAIL**  REQUIRED DefaultImageableArea\n                REF: Page 102, section 5.15." = "      **FAIL**  REQUIRED DefaultImageableArea\n                REF: Page 102, section 5.15.";
 "      **FAIL**  REQUIRED PaperDimension for PageSize %s\n                REF: Page 41, section 5.\n                REF: Page 103, section 5.15." = "      **FAIL**  REQUIRED PaperDimension for PageSize %s\n                REF: Page 41, section 5.\n                REF: Page 103, section 5.15.";
 "      **FAIL**  REQUIRED Product\n                REF: Page 62, section 5.3." = "      **FAIL**  REQUIRED Product\n                REF: Page 62, section 5.3.";
 "      **FAIL**  REQUIRED ShortNickName\n                REF: Page 64-65, section 5.3." = "      **FAIL**  REQUIRED ShortNickName\n                REF: Page 64-65, section 5.3.";
-"      **FAIL**  Unable to open PPD file - %s" = "      **FAIL**  Unable to open PPD file - %s";
 "      **FAIL**  Unable to open PPD file - %s on line %d." = "      **FAIL**  Unable to open PPD file - %s on line %d.";
 "    %d ERRORS FOUND" = "    %d ERRORS FOUND";
 "    -h       Show program usage" = "    -h       Show program usage";
 "  --[no-]debug-logging    Turn debug logging on/off." = "  --[no-]debug-logging    Turn debug logging on/off.";
 "  --[no-]remote-admin     Turn remote administration on/off." = "  --[no-]remote-admin     Turn remote administration on/off.";
 "  --[no-]remote-any       Allow/prevent access from the Internet." = "  --[no-]remote-any       Allow/prevent access from the Internet.";
-"  --[no-]remote-printers  Show/hide remote printers." = "  --[no-]remote-printers  Show/hide remote printers.";
 "  --[no-]share-printers   Turn printer sharing on/off." = "  --[no-]share-printers   Turn printer sharing on/off.";
 "  --[no-]user-cancel-any  Allow/prevent users to cancel any job." = "  --[no-]user-cancel-any  Allow/prevent users to cancel any job.";
 "  --cr                    End lines with CR (Mac OS 9)." = "  --cr                    End lines with CR (Mac OS 9).";
 "  --crlf                  End lines with CR + LF (Windows)." = "  --crlf                  End lines with CR + LF (Windows).";
-"  --lf                    End lines with LF (UNIX/Linux/Mac OS X)." = "  --lf                    End lines with LF (UNIX/Linux/Mac OS X).";
+"  --lf                    End lines with LF (UNIX/Linux/OS X)." = "  --lf                    End lines with LF (UNIX/Linux/OS X).";
 "  -4                      Connect using IPv4." = "  -4                      Connect using IPv4.";
 "  -6                      Connect using IPv6." = "  -6                      Connect using IPv6.";
 "  -C                      Send requests using chunking (default)." = "  -C                      Send requests using chunking (default).";
 "  -D                      Remove the input file when finished." = "  -D                      Remove the input file when finished.";
 "  -D name=value           Set named variable to value." = "  -D name=value           Set named variable to value.";
-"  -E                      Enable encryption." = "  -E                      Enable encryption.";
-"  -E                      Encrypt the connection to the server." = "  -E                      Encrypt the connection to the server.";
-"  -E                      Test with TLS encryption." = "  -E                      Test with TLS encryption.";
+"  -E                      Encrypt the connection." = "  -E                      Encrypt the connection.";
+"  -E                      Test with HTTP Upgrade to TLS." = "  -E                      Test with HTTP Upgrade to TLS.";
 "  -F                      Run in the foreground but detach from console." = "  -F                      Run in the foreground but detach from console.";
 "  -H samba-server         Use the named SAMBA server." = "  -H samba-server         Use the named SAMBA server.";
 "  -I                      Ignore errors." = "  -I                      Ignore errors.";
 "  -I include-dir          Add include directory to search path." = "  -I include-dir          Add include directory to search path.";
 "  -I {filename,filters,none,profiles}" = "  -I {filename,filters,none,profiles}";
-"  -J title                Set title." = "  -J title                Set title.";
 "  -L                      Send requests using content-length." = "  -L                      Send requests using content-length.";
 "  -P filename.ppd         Set PPD file." = "  -P filename.ppd         Set PPD file.";
 "  -R root-directory       Set alternate root." = "  -R root-directory       Set alternate root.";
 "  -S                      Test with SSL encryption." = "  -S                      Test with SSL encryption.";
-"  -T                      Set the receive/send timeout in seconds." = "  -T                      Set the receive/send timeout in seconds.";
-"  -U samba-user           Authenticate using the named SAMBA user." = "  -U samba-user           Authenticate using the named SAMBA user.";
-"  -U username             Set username for job." = "  -U username             Set username for job.";
+"  -T seconds              Set the receive/send timeout in seconds." = "  -T seconds              Set the receive/send timeout in seconds.";
 "  -U username             Specify username." = "  -U username             Specify username.";
 "  -V version              Set default IPP version." = "  -V version              Set default IPP version.";
 "  -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,translations}" = "  -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,translations}";
 "  -X                      Produce XML plist instead of plain text." = "  -X                      Produce XML plist instead of plain text.";
 "  -a                      Export all printers." = "  -a                      Export all printers.";
-"  -a 'name=value ...'     Set option(s)." = "  -a 'name=value ...'     Set option(s).";
 "  -c catalog.po           Load the specified message catalog." = "  -c catalog.po           Load the specified message catalog.";
-"  -c config-file          Load alternate configuration file." = "  -c config-file          Load alternate configuration file.";
-"  -c copies               Set number of copies." = "  -c copies               Set number of copies.";
 "  -c cupsd.conf           Set cupsd.conf file to use." = "  -c cupsd.conf           Set cupsd.conf file to use.";
 "  -d name=value           Set named variable to value." = "  -d name=value           Set named variable to value.";
 "  -d output-dir           Specify the output directory." = "  -d output-dir           Specify the output directory.";
 "  -e                      Use every filter from the PPD file." = "  -e                      Use every filter from the PPD file.";
 "  -f                      Run in the foreground." = "  -f                      Run in the foreground.";
 "  -f filename             Set default request filename." = "  -f filename             Set default request filename.";
-"  -f filename             Set file to be converted (otherwise stdin)." = "  -f filename             Set file to be converted (otherwise stdin).";
 "  -h                      Show this usage message." = "  -h                      Show this usage message.";
-"  -h cups-server          Use the named CUPS server." = "  -h cups-server          Use the named CUPS server.";
 "  -h server[:port]        Specify server address." = "  -h server[:port]        Specify server address.";
 "  -i mime/type            Set input MIME type (otherwise auto-typed)." = "  -i mime/type            Set input MIME type (otherwise auto-typed).";
 "  -i seconds              Repeat the last file with the given time interval." = "  -i seconds              Repeat the last file with the given time interval.";
 "  -j job-id[,N]           Filter file N from the specified job (default is file 1)." = "  -j job-id[,N]           Filter file N from the specified job (default is file 1).";
-"  -j mime/type            Set output MIME type (otherwise application/pdf)." = "  -j mime/type            Set output MIME type (otherwise application/pdf).";
 "  -l                      Run cupsd from launchd(8)." = "  -l                      Run cupsd from launchd(8).";
 "  -l lang[,lang,...]      Specify the output language(s) (locale)." = "  -l lang[,lang,...]      Specify the output language(s) (locale).";
 "  -m                      Use the ModelName value as the filename." = "  -m                      Use the ModelName value as the filename.";
 "  -m mime/type            Set output MIME type (otherwise application/pdf)." = "  -m mime/type            Set output MIME type (otherwise application/pdf).";
 "  -n copies               Set number of copies." = "  -n copies               Set number of copies.";
 "  -n count                Repeat the last file the given number of times." = "  -n count                Repeat the last file the given number of times.";
-"  -o filename             Set file to be generated (otherwise stdout)." = "  -o filename             Set file to be generated (otherwise stdout).";
 "  -o filename.drv         Set driver information file (otherwise ppdi.drv)." = "  -o filename.drv         Set driver information file (otherwise ppdi.drv).";
 "  -o filename.ppd[.gz]    Set output file (otherwise stdout)." = "  -o filename.ppd[.gz]    Set output file (otherwise stdout).";
 "  -o name=value           Set option(s)." = "  -o name=value           Set option(s).";
 "  -p filename.ppd         Set PPD file." = "  -p filename.ppd         Set PPD file.";
-"  -q                      Be quiet - no output except errors." = "  -q                      Be quiet - no output except errors.";
 "  -q                      Run silently." = "  -q                      Run silently.";
 "  -r                      Use 'relaxed' open mode." = "  -r                      Use 'relaxed' open mode.";
 "  -t                      Produce a test report." = "  -t                      Produce a test report.";
 "  -t                      Test the configuration file." = "  -t                      Test the configuration file.";
 "  -t title                Set title." = "  -t title                Set title.";
 "  -u                      Remove the PPD file when finished." = "  -u                      Remove the PPD file when finished.";
-"  -v                      Be slightly verbose." = "  -v                      Be slightly verbose.";
-"  -v                      Be verbose (more v's for more verbosity)." = "  -v                      Be verbose (more v's for more verbosity).";
-"  -v                      Be verbose (show commands)." = "  -v                      Be verbose (show commands).";
-"  -v                      Show all attributes sent and received." = "  -v                      Show all attributes sent and received.";
+"  -v                      Be verbose." = "  -v                      Be verbose.";
 "  -vv                     Be very verbose." = "  -vv                     Be very verbose.";
 "  -z                      Compress PPD files using GNU zip." = "  -z                      Compress PPD files using GNU zip.";
 " FAIL" = " FAIL";
 " PASS" = " PASS";
 "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes" = "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes";
 "%-7s %-7.7s %-7d %-31.31s %.0f bytes" = "%-7s %-7.7s %-7d %-31.31s %.0f bytes";
-"%.0f x %.0f millimeters" = "%.0f x %.0f millimeters";
-"%.0f x %.0f to %.0f x %.0f millimeters" = "%.0f x %.0f to %.0f x %.0f millimeters";
-"%.2f x %.2f inches" = "%.2f x %.2f inches";
-"%.2f x %.2f to %.2f x %.2f inches" = "%.2f x %.2f to %.2f x %.2f inches";
 "%s accepting requests since %s" = "%s accepting requests since %s";
 "%s cannot be changed." = "%s cannot be changed.";
 "%s is not implemented by the CUPS version of lpc." = "%s is not implemented by the CUPS version of lpc.";
 "%s: %s failed: %s" = "%s: %s failed: %s";
 "%s: Don't know what to do." = "%s: Don't know what to do.";
 "%s: Error - %s environment variable names non-existent destination \"%s\"." = "%s: Error - %s environment variable names non-existent destination \"%s\".";
+"%s: Error - add '/version=1.1' to server name." = "%s: Error - add '/version=1.1' to server name.";
 "%s: Error - bad job ID." = "%s: Error - bad job ID.";
 "%s: Error - cannot print files and alter jobs simultaneously." = "%s: Error - cannot print files and alter jobs simultaneously.";
 "%s: Error - cannot print from stdin if files or a job ID are provided." = "%s: Error - cannot print from stdin if files or a job ID are provided.";
 "3.25x7.83\"" = "3.25x7.83\"";
 "3.5 x 5" = "3.5 x 5";
 "3.5\" Disk" = "3.5\" Disk";
-"3.5\" Disk - 2 1/8 x 2 3/4\"" = "3.5\" Disk - 2 1/8 x 2 3/4\"";
 "3.50x1.00\"" = "3.50x1.00\"";
 "30" = "30";
 "30 mm/sec." = "30 mm/sec.";
 "Add Printer" = "Add Printer";
 "Add RSS Subscription" = "Add RSS Subscription";
 "Address" = "Address";
-"Address - 1 1/8 x 3 1/2\"" = "Address - 1 1/8 x 3 1/2\"";
 "Administration" = "Administration";
 "Always" = "Always";
 "AppSocket/HP JetDirect" = "AppSocket/HP JetDirect";
 "B7" = "B7";
 "B8" = "B8";
 "B9" = "B9";
+"Bad 'document-format' value \"%s\"." = "Bad 'document-format' value \"%s\".";
 "Bad NULL dests pointer" = "Bad NULL dests pointer";
 "Bad OpenGroup" = "Bad OpenGroup";
 "Bad OpenUI/JCLOpenUI" = "Bad OpenUI/JCLOpenUI";
 "Bad Request" = "Bad Request";
 "Bad SNMP version number" = "Bad SNMP version number";
 "Bad UIConstraints" = "Bad UIConstraints";
-"Bad charset file \"%s\"." = "Bad charset file \"%s\".";
-"Bad charset type: %s" = "Bad charset type: %s";
-"Bad columns value %d." = "Bad columns value %d.";
 "Bad copies value %d." = "Bad copies value %d.";
-"Bad cpi value %f." = "Bad cpi value %f.";
 "Bad custom parameter" = "Bad custom parameter";
 "Bad device-uri \"%s\"." = "Bad device-uri \"%s\".";
 "Bad device-uri scheme \"%s\"." = "Bad device-uri scheme \"%s\".";
 "Bad document-format \"%s\"." = "Bad document-format \"%s\".";
 "Bad document-format-default \"%s\"." = "Bad document-format-default \"%s\".";
 "Bad filename buffer" = "Bad filename buffer";
-"Bad font description line \"%s\"." = "Bad font description line \"%s\".";
-"Bad font description line: %s" = "Bad font description line: %s";
+"Bad job-name value: Bad UTF-8 sequence." = "Bad job-name value: Bad UTF-8 sequence.";
+"Bad job-name value: Name too long." = "Bad job-name value: Name too long.";
+"Bad job-name value: Wrong type or count." = "Bad job-name value: Wrong type or count.";
 "Bad job-priority value." = "Bad job-priority value.";
 "Bad job-sheets value \"%s\"." = "Bad job-sheets value \"%s\".";
 "Bad job-sheets value type." = "Bad job-sheets value type.";
 "Bad job-state value." = "Bad job-state value.";
 "Bad job-uri \"%s\"." = "Bad job-uri \"%s\".";
-"Bad lpi value %f." = "Bad lpi value %f.";
 "Bad notify-pull-method \"%s\"." = "Bad notify-pull-method \"%s\".";
 "Bad notify-recipient-uri \"%s\"." = "Bad notify-recipient-uri \"%s\".";
 "Bad number-up value %d." = "Bad number-up value %d.";
 "Bad option + choice on line %d." = "Bad option + choice on line %d.";
 "Bad page-ranges values %d-%d." = "Bad page-ranges values %d-%d.";
 "Bad port-monitor \"%s\"." = "Bad port-monitor \"%s\".";
+"Bad printer URI." = "Bad printer URI.";
 "Bad printer-state value %d." = "Bad printer-state value %d.";
 "Bad request ID %d." = "Bad request ID %d.";
 "Bad request version number %d.%d." = "Bad request version number %d.%d.";
 "Bad subscription ID" = "Bad subscription ID";
-"Bad text direction \"%s\"." = "Bad text direction \"%s\".";
-"Bad text direction: %s" = "Bad text direction: %s";
-"Bad text width \"%s\"." = "Bad text width \"%s\".";
-"Bad text width: %s" = "Bad text width: %s";
 "Bad value string" = "Bad value string";
 "Banners" = "Banners";
-"Billing Information: " = "Billing Information: ";
 "Bond Paper" = "Bond Paper";
 "Boolean expected for waiteof option \"%s\"." = "Boolean expected for waiteof option \"%s\".";
 "Buffer overflow detected, aborting." = "Buffer overflow detected, aborting.";
 "Control file sent successfully." = "Control file sent successfully.";
 "Copying print data." = "Copying print data.";
 "Created" = "Created";
-"Created On: " = "Created On: ";
 "Custom" = "Custom";
 "CustominCutInterval" = "CustominCutInterval";
 "CustominTearInterval" = "CustominTearInterval";
 "Data file sent successfully." = "Data file sent successfully.";
 "Delete Class" = "Delete Class";
 "Delete Printer" = "Delete Printer";
-"Description: " = "Description: ";
 "DeskJet Series" = "DeskJet Series";
 "Destination \"%s\" is not accepting jobs." = "Destination \"%s\" is not accepting jobs.";
 "Device: uri = %s\n        class = %s\n        info = %s\n        make-and-model = %s\n        device-id = %s\n        location = %s" = "Device: uri = %s\n        class = %s\n        info = %s\n        make-and-model = %s\n        device-id = %s\n        location = %s";
 "Directory \"%s\" permissions OK (0%o/uid=%d/gid=%d)." = "Directory \"%s\" permissions OK (0%o/uid=%d/gid=%d).";
 "Disabled" = "Disabled";
 "Document #%d does not exist in job #%d." = "Document #%d does not exist in job #%d.";
-"Driver Name: " = "Driver Name: ";
-"Driver Version: " = "Driver Version: ";
 "Duplexer" = "Duplexer";
 "Dymo" = "Dymo";
 "EPL1 Label Printer" = "EPL1 Label Printer";
 "File \"%s\" is a directory." = "File \"%s\" is a directory.";
 "File \"%s\" not available: %s" = "File \"%s\" not available: %s";
 "File \"%s\" permissions OK (0%o/uid=%d/gid=%d)." = "File \"%s\" permissions OK (0%o/uid=%d/gid=%d).";
-"File Folder" = "File Folder";
-"File Folder - 9/16 x 3 7/16\"" = "File Folder - 9/16 x 3 7/16\"";
-"File device URIs have been disabled. To enable, see the FileDevice directive in \"%s/cupsd.conf\"." = "File device URIs have been disabled. To enable, see the FileDevice directive in \"%s/cupsd.conf\".";
+"File Folder " = "File Folder ";
+"File device URIs have been disabled. To enable, see the FileDevice directive in \"%s/cups-files.conf\"." = "File device URIs have been disabled. To enable, see the FileDevice directive in \"%s/cups-files.conf\".";
 "Finished page %d." = "Finished page %d.";
 "Folio" = "Folio";
 "Forbidden" = "Forbidden";
-"Formatting page %d." = "Formatting page %d.";
 "General" = "General";
 "Generic" = "Generic";
 "Get-Response-PDU uses indefinite length" = "Get-Response-PDU uses indefinite length";
 "Grayscale" = "Grayscale";
 "HP" = "HP";
 "Hanging Folder" = "Hanging Folder";
-"Hanging Folder - 9/16 x 2\"" = "Hanging Folder - 9/16 x 2\"";
+"Help file not in index." = "Help file not in index.";
 "IPP 1setOf attribute with incompatible value tags." = "IPP 1setOf attribute with incompatible value tags.";
 "IPP attribute has no name." = "IPP attribute has no name.";
+"IPP attribute is not a member of the message." = "IPP attribute is not a member of the message.";
 "IPP begCollection value not 0 bytes." = "IPP begCollection value not 0 bytes.";
 "IPP boolean value not 1 byte." = "IPP boolean value not 1 byte.";
 "IPP date value not 11 bytes." = "IPP date value not 11 bytes.";
 "IPP endCollection value not 0 bytes." = "IPP endCollection value not 0 bytes.";
 "IPP enum value not 4 bytes." = "IPP enum value not 4 bytes.";
+"IPP extension tag larger than 0x7FFFFFFF." = "IPP extension tag larger than 0x7FFFFFFF.";
 "IPP integer value not 4 bytes." = "IPP integer value not 4 bytes.";
 "IPP language length overflows value." = "IPP language length overflows value.";
 "IPP member name is not empty." = "IPP member name is not empty.";
+"IPP memberName value is empty." = "IPP memberName value is empty.";
+"IPP memberName with no attribute." = "IPP memberName with no attribute.";
 "IPP name larger than 32767 bytes." = "IPP name larger than 32767 bytes.";
 "IPP nameWithLanguage value less than minimum 4 bytes." = "IPP nameWithLanguage value less than minimum 4 bytes.";
 "IPP rangeOfInteger value not 8 bytes." = "IPP rangeOfInteger value not 8 bytes.";
 "Internal Server Error" = "Internal Server Error";
 "Internal error" = "Internal error";
 "Internet Postage 2-Part" = "Internet Postage 2-Part";
-"Internet Postage 2-Part - 2 1/4 x 7 1/2\"" = "Internet Postage 2-Part - 2 1/4 x 7 1/2\"";
 "Internet Postage 3-Part" = "Internet Postage 3-Part";
-"Internet Postage 3-Part - 2 1/4 x 7\"" = "Internet Postage 3-Part - 2 1/4 x 7\"";
 "Internet Printing Protocol" = "Internet Printing Protocol";
+"Invalid media size." = "Invalid media size.";
 "Invalid printer command \"%s\"." = "Invalid printer command \"%s\".";
 "JCL" = "JCL";
 "JIS B0" = "JIS B0";
 "Job #%d is not held." = "Job #%d is not held.";
 "Job Completed" = "Job Completed";
 "Job Created" = "Job Created";
-"Job ID: " = "Job ID: ";
 "Job Options Changed" = "Job Options Changed";
 "Job Stopped" = "Job Stopped";
-"Job UUID: " = "Job UUID: ";
 "Job is completed and cannot be changed." = "Job is completed and cannot be changed.";
-"Job operation failed:" = "Job operation failed:";
+"Job operation failed" = "Job operation failed";
 "Job state cannot be changed." = "Job state cannot be changed.";
 "Job subscriptions cannot be renewed." = "Job subscriptions cannot be renewed.";
 "Jobs" = "Jobs";
 "Label Top" = "Label Top";
 "Language \"%s\" not supported." = "Language \"%s\" not supported.";
 "Large Address" = "Large Address";
-"Large Address - 1 4/10 x 3 1/2\"" = "Large Address - 1 4/10 x 3 1/2\"";
 "LaserJet Series PCL 4/5" = "LaserJet Series PCL 4/5";
 "Letter Oversize" = "Letter Oversize";
 "Letter Oversize Long Edge" = "Letter Oversize Long Edge";
 "Light" = "Light";
 "Line longer than the maximum allowed (255 characters)" = "Line longer than the maximum allowed (255 characters)";
 "List Available Printers" = "List Available Printers";
-"Loading print file." = "Loading print file.";
-"Location: " = "Location: ";
 "Long-Edge (Portrait)" = "Long-Edge (Portrait)";
 "Looking for printer." = "Looking for printer.";
-"Make and Model: " = "Make and Model: ";
 "Manual Feed" = "Manual Feed";
-"Media Dimensions: " = "Media Dimensions: ";
-"Media Limits: " = "Media Limits: ";
-"Media Name: " = "Media Name: ";
 "Media Size" = "Media Size";
 "Media Source" = "Media Source";
 "Media Tracking" = "Media Tracking";
 "Missing option keyword" = "Missing option keyword";
 "Missing requesting-user-name attribute." = "Missing requesting-user-name attribute.";
 "Missing required attributes." = "Missing required attributes.";
-"Missing value on line %d of banner file." = "Missing value on line %d of banner file.";
 "Missing value on line %d." = "Missing value on line %d.";
 "Missing value string" = "Missing value string";
 "Missing x-dimension in media-size." = "Missing x-dimension in media-size.";
 "No error-index" = "No error-index";
 "No error-status" = "No error-status";
 "No file in print request." = "No file in print request.";
-"No fonts in charset file." = "No fonts in charset file.";
 "No modification time" = "No modification time";
 "No name OID" = "No name OID";
 "No pages were found." = "No pages were found.";
 "Option \"%s\" cannot be included via %%%%IncludeFeature." = "Option \"%s\" cannot be included via %%%%IncludeFeature.";
 "Options Installed" = "Options Installed";
 "Options:" = "Options:";
-"Options: " = "Options: ";
 "Out of date PPD cache file." = "Out of date PPD cache file.";
 "Out of memory." = "Out of memory.";
 "Output Mode" = "Output Mode";
 "Print file accepted - job ID unknown." = "Print file accepted - job ID unknown.";
 "Print file sent." = "Print file sent.";
 "Print file was not accepted." = "Print file was not accepted.";
+"Print job canceled at printer." = "Print job canceled at printer.";
 "Print job too large." = "Print job too large.";
-"Printed For: " = "Printed For: ";
-"Printed From: " = "Printed From: ";
-"Printed On: " = "Printed On: ";
 "Printer Added" = "Printer Added";
 "Printer Default" = "Printer Default";
 "Printer Deleted" = "Printer Deleted";
 "Printer Modified" = "Printer Modified";
-"Printer Name: " = "Printer Name: ";
 "Printer Paused" = "Printer Paused";
 "Printer Settings" = "Printer Settings";
-"Printer busy, will retry in 10 seconds." = "Printer busy, will retry in 10 seconds.";
-"Printer busy; will retry in 30 seconds." = "Printer busy; will retry in 30 seconds.";
-"Printer did not respond." = "Printer did not respond.";
-"Printer does not support IPP/%d.%d, trying IPP/%s." = "Printer does not support IPP/%d.%d, trying IPP/%s.";
-"Printer is busy, will retry in 5 seconds." = "Printer is busy, will retry in 5 seconds.";
-"Printer is not currently connected." = "Printer is not currently connected.";
-"Printer is now connected." = "Printer is now connected.";
-"Printer is now online." = "Printer is now online.";
-"Printer is offline." = "Printer is offline.";
-"Printer not connected, will retry in 30 seconds." = "Printer not connected, will retry in 30 seconds.";
-"Printer not connected; will retry in 30 seconds." = "Printer not connected; will retry in 30 seconds.";
+"Printer cannot print supplied content." = "Printer cannot print supplied content.";
 "Printer:" = "Printer:";
 "Printers" = "Printers";
 "Printing page %d, %d%% complete." = "Printing page %d, %d%% complete.";
-"Printing page %d." = "Printing page %d.";
 "Purge Jobs" = "Purge Jobs";
 "Quarto" = "Quarto";
 "Quota limit reached." = "Quota limit reached.";
 "Rank    Owner   Job     File(s)                         Total Size" = "Rank    Owner   Job     File(s)                         Total Size";
 // TRANSLATORS: Pri is job priority.
 "Rank   Owner      Pri  Job        Files                       Total Size" = "Rank   Owner      Pri  Job        Files                       Total Size";
-"Ready to print." = "Ready to print.";
 "Reject Jobs" = "Reject Jobs";
 "Remote host did not accept control file (%d)." = "Remote host did not accept control file (%d).";
 "Remote host did not accept data file (%d)." = "Remote host did not accept data file (%d).";
 "Resume Class" = "Resume Class";
 "Resume Printer" = "Resume Printer";
 "Return Address" = "Return Address";
-"Return Address - 3/4 x 2\"" = "Return Address - 3/4 x 2\"";
 "Rewind" = "Rewind";
 "Running command: %s %s -N -A %s -c '%s'" = "Running command: %s %s -N -A %s -c '%s'";
 "SEQUENCE uses indefinite length" = "SEQUENCE uses indefinite length";
 "SSL/TLS Negotiation Error" = "SSL/TLS Negotiation Error";
 "See Other" = "See Other";
 "Sending data to printer." = "Sending data to printer.";
-"Serial Port #%d" = "Serial Port #%d";
 "Server Restarted" = "Server Restarted";
 "Server Security Auditing" = "Server Security Auditing";
 "Server Started" = "Server Started";
 "Set Printer Options" = "Set Printer Options";
 "Set Publishing" = "Set Publishing";
 "Shipping Address" = "Shipping Address";
-"Shipping Address - 2 5/16 x 4\"" = "Shipping Address - 2 5/16 x 4\"";
 "Short-Edge (Landscape)" = "Short-Edge (Landscape)";
 "Special Paper" = "Special Paper";
 "Spooling job, %.0f%% complete." = "Spooling job, %.0f%% complete.";
 "Tear-Off" = "Tear-Off";
 "Tear-Off Adjust Position" = "Tear-Off Adjust Position";
 "The %s attribute cannot be provided with job-ids." = "The %s attribute cannot be provided with job-ids.";
+"The '%s' Job Description attribute cannot be supplied in a job creation request." = "The '%s' Job Description attribute cannot be supplied in a job creation request.";
+"The '%s' operation attribute cannot be supplied in a Create-Job request." = "The '%s' operation attribute cannot be supplied in a Create-Job request.";
 "The PPD file \"%s\" could not be found." = "The PPD file \"%s\" could not be found.";
 "The PPD file \"%s\" could not be opened: %s" = "The PPD file \"%s\" could not be opened: %s";
 "The PPD file could not be opened." = "The PPD file could not be opened.";
 "The output bin is almost full." = "The output bin is almost full.";
 "The output bin is full." = "The output bin is full.";
 "The output bin is missing." = "The output bin is missing.";
-"The page setup information was not valid." = "The page setup information was not valid.";
 "The paper tray is almost empty." = "The paper tray is almost empty.";
 "The paper tray is empty." = "The paper tray is empty.";
 "The paper tray is missing." = "The paper tray is missing.";
 "The paper tray needs to be filled." = "The paper tray needs to be filled.";
-"The print file could not be opened." = "The print file could not be opened.";
 "The printer URI is incorrect or no longer exists." = "The printer URI is incorrect or no longer exists.";
-"The printer is busy." = "The printer is busy.";
+"The printer did not respond." = "The printer did not respond.";
+"The printer does not support IPP/%d.%d, trying IPP/%s." = "The printer does not support IPP/%d.%d, trying IPP/%s.";
+"The printer is in use." = "The printer is in use.";
 "The printer is not connected." = "The printer is not connected.";
 "The printer is not responding." = "The printer is not responding.";
-"The printer is out of ink." = "The printer is out of ink.";
+"The printer is now connected." = "The printer is now connected.";
+"The printer is now online." = "The printer is now online.";
+"The printer is offline." = "The printer is offline.";
 "The printer is running low on ink." = "The printer is running low on ink.";
 "The printer is running low on toner." = "The printer is running low on toner.";
 "The printer is unreachable at this time." = "The printer is unreachable at this time.";
+"The printer may be out of ink." = "The printer may be out of ink.";
 "The printer may be out of toner." = "The printer may be out of toner.";
 "The printer may not exist or is unavailable at this time." = "The printer may not exist or is unavailable at this time.";
 "The printer name may only contain up to 127 printable characters and may not contain spaces, slashes (/), or the pound sign (#)." = "The printer name may only contain up to 127 printable characters and may not contain spaces, slashes (/), or the pound sign (#).";
 "There is a paper jam." = "There is a paper jam.";
 "There was an unrecoverable USB error." = "There was an unrecoverable USB error.";
 "Thermal Transfer Media" = "Thermal Transfer Media";
-"Title: " = "Title: ";
 "Too many active jobs." = "Too many active jobs.";
 "Too many job-sheets values (%d > 2)." = "Too many job-sheets values (%d > 2).";
 "Too many printer-state-reasons values (%d > %d)." = "Too many printer-state-reasons values (%d > %d).";
 "US Letter Oversize" = "US Letter Oversize";
 "US Letter Oversize Long Edge" = "US Letter Oversize Long Edge";
 "US Letter Small" = "US Letter Small";
-"USB Serial Port #%d" = "USB Serial Port #%d";
-"Unable to access cupsd.conf file:" = "Unable to access cupsd.conf file:";
-"Unable to add RSS subscription:" = "Unable to add RSS subscription:";
-"Unable to add class:" = "Unable to add class:";
+"Unable to access cupsd.conf file" = "Unable to access cupsd.conf file";
+"Unable to access help file." = "Unable to access help file.";
+"Unable to add RSS subscription" = "Unable to add RSS subscription";
+"Unable to add class" = "Unable to add class";
 "Unable to add document to print job." = "Unable to add document to print job.";
 "Unable to add job for destination \"%s\"." = "Unable to add job for destination \"%s\".";
-"Unable to add printer:" = "Unable to add printer:";
+"Unable to add printer" = "Unable to add printer";
 "Unable to allocate memory for file types." = "Unable to allocate memory for file types.";
 "Unable to allocate memory for page info" = "Unable to allocate memory for page info";
 "Unable to allocate memory for pages array" = "Unable to allocate memory for pages array";
-"Unable to cancel RSS subscription:" = "Unable to cancel RSS subscription:";
+"Unable to cancel RSS subscription" = "Unable to cancel RSS subscription";
 "Unable to cancel print job." = "Unable to cancel print job.";
-"Unable to change printer-is-shared attribute:" = "Unable to change printer-is-shared attribute:";
-"Unable to change printer:" = "Unable to change printer:";
-"Unable to change server settings:" = "Unable to change server settings:";
+"Unable to change printer" = "Unable to change printer";
+"Unable to change printer-is-shared attribute" = "Unable to change printer-is-shared attribute";
+"Unable to change server settings" = "Unable to change server settings";
 "Unable to configure printer options." = "Unable to configure printer options.";
 "Unable to connect to host." = "Unable to connect to host.";
 "Unable to contact printer, queuing on next printer in class." = "Unable to contact printer, queuing on next printer in class.";
 "Unable to copy Windows 2000 printer driver files (%d)." = "Unable to copy Windows 2000 printer driver files (%d).";
 "Unable to copy Windows 9x printer driver files (%d)." = "Unable to copy Windows 9x printer driver files (%d).";
 "Unable to copy interface script - %s" = "Unable to copy interface script - %s";
-"Unable to copy print file" = "Unable to copy print file";
 "Unable to create compressed print file" = "Unable to create compressed print file";
-"Unable to create pipes for filters" = "Unable to create pipes for filters";
 "Unable to create printer-uri" = "Unable to create printer-uri";
 "Unable to create temporary file" = "Unable to create temporary file";
-"Unable to create temporary file:" = "Unable to create temporary file:";
-"Unable to delete class:" = "Unable to delete class:";
-"Unable to delete printer:" = "Unable to delete printer:";
-"Unable to do maintenance command:" = "Unable to do maintenance command:";
+"Unable to delete class" = "Unable to delete class";
+"Unable to delete printer" = "Unable to delete printer";
+"Unable to do maintenance command" = "Unable to do maintenance command";
 "Unable to edit cupsd.conf files larger than 1MB" = "Unable to edit cupsd.conf files larger than 1MB";
 "Unable to establish a secure connection to host (certificate chain invalid)." = "Unable to establish a secure connection to host (certificate chain invalid).";
 "Unable to establish a secure connection to host (certificate not yet valid)." = "Unable to establish a secure connection to host (certificate not yet valid).";
 "Unable to establish a secure connection to host." = "Unable to establish a secure connection to host.";
 "Unable to find destination for job" = "Unable to find destination for job";
 "Unable to find printer." = "Unable to find printer.";
-"Unable to fork filter" = "Unable to fork filter";
 "Unable to generate compressed print file" = "Unable to generate compressed print file";
 "Unable to get backend exit status." = "Unable to get backend exit status.";
-"Unable to get class list:" = "Unable to get class list:";
-"Unable to get class status:" = "Unable to get class status:";
-"Unable to get list of printer drivers:" = "Unable to get list of printer drivers:";
-"Unable to get printer attributes:" = "Unable to get printer attributes:";
-"Unable to get printer list:" = "Unable to get printer list:";
+"Unable to get class list" = "Unable to get class list";
+"Unable to get class status" = "Unable to get class status";
+"Unable to get list of printer drivers" = "Unable to get list of printer drivers";
+"Unable to get printer attributes" = "Unable to get printer attributes";
+"Unable to get printer list" = "Unable to get printer list";
+"Unable to get printer status" = "Unable to get printer status";
 "Unable to get printer status." = "Unable to get printer status.";
-"Unable to get printer status:" = "Unable to get printer status:";
 "Unable to install Windows 2000 printer driver files (%d)." = "Unable to install Windows 2000 printer driver files (%d).";
 "Unable to install Windows 9x printer driver files (%d)." = "Unable to install Windows 9x printer driver files (%d).";
+"Unable to load help index." = "Unable to load help index.";
 "Unable to locate printer \"%s\"." = "Unable to locate printer \"%s\".";
 "Unable to locate printer." = "Unable to locate printer.";
-"Unable to modify class:" = "Unable to modify class:";
-"Unable to modify printer:" = "Unable to modify printer:";
+"Unable to modify class" = "Unable to modify class";
+"Unable to modify printer" = "Unable to modify printer";
 "Unable to move job" = "Unable to move job";
 "Unable to move jobs" = "Unable to move jobs";
 "Unable to open PPD file" = "Unable to open PPD file";
-"Unable to open PPD file:" = "Unable to open PPD file:";
-"Unable to open charset file" = "Unable to open charset file";
 "Unable to open compressed print file" = "Unable to open compressed print file";
 "Unable to open cupsd.conf file:" = "Unable to open cupsd.conf file:";
 "Unable to open device file" = "Unable to open device file";
 "Unable to open document #%d in job #%d." = "Unable to open document #%d in job #%d.";
+"Unable to open help file." = "Unable to open help file.";
 "Unable to open print file" = "Unable to open print file";
-"Unable to open psglyphs" = "Unable to open psglyphs";
 "Unable to open raster file" = "Unable to open raster file";
-"Unable to print %d text columns." = "Unable to print %d text columns.";
-"Unable to print %dx%d text page." = "Unable to print %dx%d text page.";
-"Unable to print test page:" = "Unable to print test page:";
-"Unable to read print data" = "Unable to read print data";
+"Unable to print test page" = "Unable to print test page";
 "Unable to read print data." = "Unable to read print data.";
+"Unable to resolve printer URI." = "Unable to resolve printer URI.";
 "Unable to run \"%s\": %s" = "Unable to run \"%s\": %s";
 "Unable to see in file" = "Unable to see in file";
 "Unable to send command to printer driver" = "Unable to send command to printer driver";
 "Unable to send data to printer." = "Unable to send data to printer.";
-"Unable to send raster data to the driver." = "Unable to send raster data to the driver.";
 "Unable to set Windows printer driver (%d)." = "Unable to set Windows printer driver (%d).";
-"Unable to set options:" = "Unable to set options:";
-"Unable to set server default:" = "Unable to set server default:";
+"Unable to set options" = "Unable to set options";
+"Unable to set server default" = "Unable to set server default";
 "Unable to start backend process." = "Unable to start backend process.";
-"Unable to upload cupsd.conf file:" = "Unable to upload cupsd.conf file:";
+"Unable to upload cupsd.conf file" = "Unable to upload cupsd.conf file";
 "Unable to use legacy USB class driver." = "Unable to use legacy USB class driver.";
 "Unable to write print data" = "Unable to write print data";
 "Unable to write uncompressed print data: %s" = "Unable to write uncompressed print data: %s";
 "Unknown encryption option value: \"%s\"." = "Unknown encryption option value: \"%s\".";
 "Unknown file order: \"%s\"." = "Unknown file order: \"%s\".";
 "Unknown format character: \"%c\"." = "Unknown format character: \"%c\".";
+"Unknown media size name." = "Unknown media size name.";
 "Unknown option \"%s\" with value \"%s\"." = "Unknown option \"%s\" with value \"%s\".";
 "Unknown option \"%s\"." = "Unknown option \"%s\".";
 "Unknown print mode: \"%s\"." = "Unknown print mode: \"%s\".";
 "Unknown printer-error-policy \"%s\"." = "Unknown printer-error-policy \"%s\".";
 "Unknown printer-op-policy \"%s\"." = "Unknown printer-op-policy \"%s\".";
+"Unknown service name." = "Unknown service name.";
 "Unknown version option value: \"%s\"." = "Unknown version option value: \"%s\".";
-"Unsupported baud rate: %s" = "Unsupported baud rate: %s";
-"Unsupported brightness value %s, using brightness=100." = "Unsupported brightness value %s, using brightness=100.";
+"Unsupported 'compression' value \"%s\"." = "Unsupported 'compression' value \"%s\".";
+"Unsupported 'document-format' value \"%s\"." = "Unsupported 'document-format' value \"%s\".";
+"Unsupported 'job-name' value." = "Unsupported 'job-name' value.";
 "Unsupported character set \"%s\"." = "Unsupported character set \"%s\".";
 "Unsupported compression \"%s\"." = "Unsupported compression \"%s\".";
 "Unsupported document-format \"%s\"." = "Unsupported document-format \"%s\".";
 "Unsupported document-format \"%s/%s\"." = "Unsupported document-format \"%s/%s\".";
 "Unsupported format \"%s\"." = "Unsupported format \"%s\".";
-"Unsupported gamma value %s, using gamma=1000." = "Unsupported gamma value %s, using gamma=1000.";
 "Unsupported margins." = "Unsupported margins.";
 "Unsupported media value." = "Unsupported media value.";
 "Unsupported number-up value %d, using number-up=1." = "Unsupported number-up value %d, using number-up=1.";
 "Unsupported value type" = "Unsupported value type";
 "Upgrade Required" = "Upgrade Required";
 "Usage:\n\n    lpadmin [-h server] -d destination\n    lpadmin [-h server] -x destination\n    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m model]\n                       [-r remove-class] [-v device] [-D description]\n                       [-P ppd-file] [-o name=value]\n                       [-u allow:user,user] [-u deny:user,user]" = "Usage:\n\n    lpadmin [-h server] -d destination\n    lpadmin [-h server] -x destination\n    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m model]\n                       [-r remove-class] [-v device] [-D description]\n                       [-P ppd-file] [-o name=value]\n                       [-u allow:user,user] [-u deny:user,user]";
-"Usage: %s job user title copies options [filename]" = "Usage: %s job user title copies options [filename]";
 "Usage: %s job-id user title copies options [file]" = "Usage: %s job-id user title copies options [file]";
-"Usage: %s job-id user title copies options file" = "Usage: %s job-id user title copies options file";
-"Usage: convert [ options ]" = "Usage: convert [ options ]";
 "Usage: cupsaddsmb [options] printer1 ... printerN" = "Usage: cupsaddsmb [options] printer1 ... printerN";
 "Usage: cupsctl [options] [param=value ... paramN=valueN]" = "Usage: cupsctl [options] [param=value ... paramN=valueN]";
 "Usage: cupsd [options]" = "Usage: cupsd [options]";
 "aborted" = "aborted";
 "canceled" = "canceled";
 "completed" = "completed";
-"convert: Use the -f option to specify a file to convert." = "convert: Use the -f option to specify a file to convert.";
 "cups-deviced failed to execute." = "cups-deviced failed to execute.";
 "cups-driverd failed to execute." = "cups-driverd failed to execute.";
 "cupsaddsmb: No PPD file for printer \"%s\" - %s" = "cupsaddsmb: No PPD file for printer \"%s\" - %s";
 "cupsctl: Unknown option \"%s\"" = "cupsctl: Unknown option \"%s\"";
 "cupsctl: Unknown option \"-%c\"" = "cupsctl: Unknown option \"-%c\"";
 "cupsd: Expected config filename after \"-c\" option." = "cupsd: Expected config filename after \"-c\" option.";
+"cupsd: Expected cups-files.conf filename after \"-s\" option." = "cupsd: Expected cups-files.conf filename after \"-s\" option.";
+"cupsd: Relative cups-files.conf filename not allowed." = "cupsd: Relative cups-files.conf filename not allowed.";
 "cupsd: Unable to get current directory." = "cupsd: Unable to get current directory.";
+"cupsd: Unable to get path to cups-files.conf file." = "cupsd: Unable to get path to cups-files.conf file.";
 "cupsd: Unknown argument \"%s\" - aborting." = "cupsd: Unknown argument \"%s\" - aborting.";
 "cupsd: Unknown option \"%c\" - aborting." = "cupsd: Unknown option \"%c\" - aborting.";
 "cupsd: launchd(8) support not compiled in, running in normal mode." = "cupsd: launchd(8) support not compiled in, running in normal mode.";
 "help\t\tGet help on commands." = "help\t\tGet help on commands.";
 "idle" = "idle";
 "ipptool: \"-i\" and \"-n\" are incompatible with -X\"." = "ipptool: \"-i\" and \"-n\" are incompatible with -X\".";
-"ipptool: \"-i\" is incompatible with \"-X\"." = "ipptool: \"-i\" is incompatible with \"-X\".";
-"ipptool: \"-n\" is incompatible with \"-X\"." = "ipptool: \"-n\" is incompatible with \"-X\".";
 "ipptool: Bad URI - %s." = "ipptool: Bad URI - %s.";
 "ipptool: Bad version %s for \"-V\"." = "ipptool: Bad version %s for \"-V\".";
 "ipptool: Invalid seconds for \"-i\"." = "ipptool: Invalid seconds for \"-i\".";
diff --git a/locale/cups_ca.po b/locale/cups_ca.po
new file mode 100644 (file)
index 0000000..5d99bd2
--- /dev/null
@@ -0,0 +1,5696 @@
+#
+# "$Id$"
+#
+#   Message catalog template for the Common UNIX Printing System (CUPS).
+#
+#   Copyright 2007-2009 by Apple Inc.
+#   Copyright 2005-2007 by Easy Software Products.
+#
+#   These coded instructions, statements, and computer programs are the
+#   property of Apple Inc. and are protected by Federal copyright
+#   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
+#   which should have been included with this file.  If this file is
+#   file is missing or damaged, see the license at "http://www.cups.org/".
+#
+#
+# Notes for Translators:
+#
+# The following prefixes MUST NOT be translated: "ALERT:", "CRIT:", "INFO:",
+# "NOTICE:", and "WARNING:".
+#
+# The "checkpo" program located in the "locale" source directory can be used
+# to verify that your translations do not introduce formatting errors or other
+# problems.  Run with:
+#
+#    cd locale
+#    ./checkpo cups_LL.po
+#
+# where "LL" is your locale.
+# Àngel Mompó <mecatxis@gmail.com>, 2011, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: CUPS 1.4.6\n"
+"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
+"POT-Creation-Date: 2013-07-08 07:38-0400\n"
+"PO-Revision-Date: 2012-09-29 11:21+0200\n"
+"Last-Translator: Àngel Mompó <mecatxis@gmail.com>\n"
+"Language-Team: Catalan <ca@dodds.net>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+
+msgid "\t\t(all)"
+msgstr "\t\t(tots)"
+
+msgid "\t\t(none)"
+msgstr "\t\t(cap)"
+
+#, c-format
+msgid "\t%d entries"
+msgstr "\t%d entrades"
+
+#, c-format
+msgid "\t%s"
+msgstr "\t%s"
+
+msgid "\tAfter fault: continue"
+msgstr "\tDesprés d'una fallada: continua"
+
+#, c-format
+msgid "\tAlerts: %s"
+msgstr "\tAlertes: %s"
+
+msgid "\tBanner required"
+msgstr "\tNecessita un bàner"
+
+msgid "\tCharset sets:"
+msgstr "\tConjunt de caràcters:"
+
+msgid "\tConnection: direct"
+msgstr "\tConnexió: directa"
+
+msgid "\tConnection: remote"
+msgstr "\tConnexió: remota"
+
+msgid "\tContent types: any"
+msgstr "\tTipus de contingut: qualsevol"
+
+msgid "\tDefault page size:"
+msgstr "\tMida de la pàgina per defecte:"
+
+msgid "\tDefault pitch:"
+msgstr "\tDensitat per defecte:"
+
+msgid "\tDefault port settings:"
+msgstr "\tConfiguració del port per defecte:"
+
+#, c-format
+msgid "\tDescription: %s"
+msgstr "\tDescripció: %s"
+
+msgid "\tForm mounted:"
+msgstr "\tFormularis muntats:"
+
+msgid "\tForms allowed:"
+msgstr "\tFormularis admesos:"
+
+#, c-format
+msgid "\tInterface: %s.ppd"
+msgstr "\tInterfície: %s.ppd"
+
+#, c-format
+msgid "\tInterface: %s/interfaces/%s"
+msgstr "\tInterfície: %s/interfícies/%s"
+
+#, c-format
+msgid "\tInterface: %s/ppd/%s.ppd"
+msgstr "\tInterfície: %s/ppd/%s.ppd"
+
+#, c-format
+msgid "\tLocation: %s"
+msgstr "\tUbicació: %s"
+
+msgid "\tOn fault: no alert"
+msgstr "\tEn cas de fallada: no avisis"
+
+msgid "\tPrinter types: unknown"
+msgstr "\tTipus d'impresores: desconeguts"
+
+#, c-format
+msgid "\tStatus: %s"
+msgstr "\tEstat: %s"
+
+msgid "\tUsers allowed:"
+msgstr "\tUsuaris permesos:"
+
+msgid "\tUsers denied:"
+msgstr "\tUsuaris sense permís:"
+
+msgid "\tdaemon present"
+msgstr "\tpresència del dimoni"
+
+msgid "\tno entries"
+msgstr "\tcap entrada"
+
+#, c-format
+msgid "\tprinter is on device '%s' speed -1"
+msgstr "\tLa impressora és al dispositiu «%s» velocitat -1"
+
+msgid "\tprinting is disabled"
+msgstr "\tLa impressora està deshabilitada"
+
+msgid "\tprinting is enabled"
+msgstr "\tLa impressora està habilitada"
+
+#, c-format
+msgid "\tqueued for %s"
+msgstr "\ten cua per %s"
+
+msgid "\tqueuing is disabled"
+msgstr "\tla cua està deshabilitada"
+
+msgid "\tqueuing is enabled"
+msgstr "\tla cua està habilitada"
+
+msgid "\treason unknown"
+msgstr "\traó desconeguda"
+
+msgid ""
+"\n"
+"    DETAILED CONFORMANCE TEST RESULTS"
+msgstr ""
+"\n"
+"     RESULTAT DETALLAT DEL TEST DE CONFORMITAT"
+
+msgid "                          Ignore specific warnings."
+msgstr "                          Ignora els avisos específics."
+
+msgid "                          Issue warnings instead of errors."
+msgstr "                          Mostra avisos enlloc d'errors."
+
+msgid "                REF: Page 15, section 3.1."
+msgstr "                REF: pàgina 15, secció 3.1."
+
+msgid "                REF: Page 15, section 3.2."
+msgstr "                REF: pàgina 15, secció 3.2."
+
+msgid "                REF: Page 19, section 3.3."
+msgstr "                REF: pàgina 19, secció 3.3."
+
+msgid "                REF: Page 20, section 3.4."
+msgstr "                REF: pàgina 20, secció 3.4."
+
+msgid "                REF: Page 27, section 3.5."
+msgstr "                REF: pàgina 27, secció 3.5."
+
+msgid "                REF: Page 42, section 5.2."
+msgstr "                REF: pàgina 42, secció 5.2."
+
+msgid "                REF: Pages 16-17, section 3.2."
+msgstr "                REF: pàgines 16-17, secció 3.2."
+
+msgid "                REF: Pages 42-45, section 5.2."
+msgstr "                REF: pàgines 42-45, secció 5.2."
+
+msgid "                REF: Pages 45-46, section 5.2."
+msgstr "                REF: pàgines 45-46, secció 5.2."
+
+msgid "                REF: Pages 48-49, section 5.2."
+msgstr "                REF: pàgines 48-49, secció 5.2."
+
+msgid "                REF: Pages 52-54, section 5.2."
+msgstr "                REF: pàgines 52-54, secció 5.2."
+
+#, c-format
+msgid "        %-39.39s %.0f bytes"
+msgstr "        %-39.39s %.0f bytes"
+
+#, c-format
+msgid "        PASS    Default%s"
+msgstr "        VALIDA    Default%s"
+
+msgid "        PASS    DefaultImageableArea"
+msgstr "        VALIDA    DefaultImageableArea"
+
+msgid "        PASS    DefaultPaperDimension"
+msgstr "        VALIDA    DefaultPaperDimension"
+
+msgid "        PASS    FileVersion"
+msgstr "        VALIDA    FileVersion"
+
+msgid "        PASS    FormatVersion"
+msgstr "        VALIDA    FileVersion"
+
+msgid "        PASS    LanguageEncoding"
+msgstr "       VALIDA    LanguageEncoding"
+
+msgid "        PASS    LanguageVersion"
+msgstr "        VALIDA    LanguageVersion"
+
+msgid "        PASS    Manufacturer"
+msgstr "        VALIDA    Manufacturer"
+
+msgid "        PASS    ModelName"
+msgstr "        VALIDA    ModelName"
+
+msgid "        PASS    NickName"
+msgstr "        VALIDA    NickName"
+
+msgid "        PASS    PCFileName"
+msgstr "        VALIDA    PCFileName"
+
+msgid "        PASS    PSVersion"
+msgstr "        VALIDA    PSVersion"
+
+msgid "        PASS    PageRegion"
+msgstr "        VALIDA    PageRegion"
+
+msgid "        PASS    PageSize"
+msgstr "        VALIDA    PageSize"
+
+msgid "        PASS    Product"
+msgstr "        VALIDA    Product"
+
+msgid "        PASS    ShortNickName"
+msgstr "        VALIDA    ShortNickName"
+
+#, c-format
+msgid "        WARN    %s has no corresponding options."
+msgstr "        AVÍS    %s no té les opcions corresponents."
+
+#, c-format
+msgid ""
+"        WARN    %s shares a common prefix with %s\n"
+"                REF: Page 15, section 3.2."
+msgstr ""
+"        AVÍS    %s té un prefixe comú amb %s\n"
+"                REF: pàgina 15, secció 3.2."
+
+#, c-format
+msgid ""
+"        WARN    Duplex option keyword %s may not work as expected and should "
+"be named Duplex.\n"
+"                REF: Page 122, section 5.17"
+msgstr ""
+"        AVÍS    La paraula clau %s de l'opció dúplex pot no funcionar com "
+"s'espera i s'hauria de dir Duplex.\n"
+"                REF: pàgina 122, secció 5.17"
+
+msgid "        WARN    File contains a mix of CR, LF, and CR LF line endings."
+msgstr ""
+"        AVÍS    El fitxer conté una barreja de CR, LF, i CR LF com a finals "
+"de línia."
+
+msgid ""
+"        WARN    LanguageEncoding required by PPD 4.3 spec.\n"
+"                REF: Pages 56-57, section 5.3."
+msgstr ""
+"        AVÍS    Es requereix un LanguageEncoding segons les espec. del PPD "
+"4.3\n"
+"                REF: pàgines 56-57, secció 5.3."
+
+#, c-format
+msgid "        WARN    Line %d only contains whitespace."
+msgstr "        AVÍS    La línia %d només conté espais en blanc."
+
+msgid ""
+"        WARN    Manufacturer required by PPD 4.3 spec.\n"
+"                REF: Pages 58-59, section 5.3."
+msgstr ""
+"        AVÍS    El fabricant requereix les espec. del PPD 4.3.\n"
+"                REF: pàgines 58-59, secció 5.3."
+
+msgid ""
+"        WARN    Non-Windows PPD files should use lines ending with only LF, "
+"not CR LF."
+msgstr ""
+"        AVÍS    Els fitxers PPD que no són del Windows han de fer servir "
+"només LF com a final de línia, no CR LF."
+
+#, c-format
+msgid ""
+"        WARN    Obsolete PPD version %.1f.\n"
+"                REF: Page 42, section 5.2."
+msgstr ""
+"        AVÍS     La versió del PPD %.1f és obsoleta!\n"
+"                REF: pàgina 42, secció 5.2."
+
+msgid ""
+"        WARN    PCFileName longer than 8.3 in violation of PPD spec.\n"
+"                REF: Pages 61-62, section 5.3."
+msgstr ""
+"        AVÍS    El PCFileName és més llarg de 8.3 i viola les espec. del "
+"PPD.\n"
+"                REF: pàgines 61-62, secció 5.3."
+
+msgid ""
+"        WARN    PCFileName should contain a unique filename.\n"
+"                REF: Pages 61-62, section 5.3."
+msgstr ""
+"        AVÍS    El PCFileName és més llarg de 8.3 i viola les espec. del "
+"PPD.\n"
+"                REF: pàgines 61-62, secció 5.3."
+
+msgid ""
+"        WARN    Protocols contains PJL but JCL attributes are not set.\n"
+"                REF: Pages 78-79, section 5.7."
+msgstr ""
+"        AVÍS    Els protocols contenen el PJL però els atributs del JCL no "
+"s'han definit.\n"
+"                REF: pàgines 78-79, secció 5.7."
+
+msgid ""
+"        WARN    Protocols contains both PJL and BCP; expected TBCP.\n"
+"                REF: Pages 78-79, section 5.7."
+msgstr ""
+"        AVÍS    Es protocols contenen tant el PJL com el BCP; s'esperava el "
+"TBCP.\n"
+"                REF: pàgines 78-79, secció 5.7."
+
+msgid ""
+"        WARN    ShortNickName required by PPD 4.3 spec.\n"
+"                REF: Pages 64-65, section 5.3."
+msgstr ""
+"        AVÍS    Es requereix un ShortNickName segons les espec.del PPD 4.3.\n"
+"                REF: pàgines 64-65, secció 5.3."
+
+msgid "       cupsaddsmb [options] -a"
+msgstr "       cupsaddsmb [opcions] -a"
+
+msgid "       cupstestdsc [options] -"
+msgstr "       cupstestdsc [opcions] -"
+
+msgid "       program | cupstestppd [options] -"
+msgstr "       programa | cupstestppd [opcions] -"
+
+#, c-format
+msgid ""
+"      %s  \"%s %s\" conflicts with \"%s %s\"\n"
+"                (constraint=\"%s %s %s %s\")."
+msgstr ""
+"      %s  «%s %s» entra en conflicte amb «%s %s»\n"
+"                (restricció=«%s %s %s %s»)."
+
+#, c-format
+msgid "      %s  %s %s does not exist."
+msgstr "      %s  %s %s no existeix."
+
+#, c-format
+msgid "      %s  %s file \"%s\" has the wrong capitalization."
+msgstr "      %s  %s el fitxer «%s» fa un ús incorrecte de les majúscules."
+
+#, c-format
+msgid ""
+"      %s  Bad %s choice %s.\n"
+"                REF: Page 122, section 5.17"
+msgstr ""
+"      %s  Mala %s elecció %s!\n"
+"                REF: pàgina 122, secció 5.17"
+
+#, c-format
+msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s."
+msgstr ""
+"      %s  UTF-8 incorrecte «%s» a la traducció de l'opció %s, elecció %s."
+
+#, c-format
+msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s."
+msgstr "      %s  UTF-8 Incorrecte «%s» a la traducció de l'opció %s."
+
+#, c-format
+msgid "      %s  Bad cupsFilter value \"%s\"."
+msgstr "      %s  Valor incorrecte del cupsFilter «%s»."
+
+#, c-format
+msgid "      %s  Bad cupsFilter2 value \"%s\"."
+msgstr "      %s  Valor incorrecte del cupsFilter2 «%s»"
+
+#, c-format
+msgid "      %s  Bad cupsICCProfile %s."
+msgstr "      %s  cupsICCProfile incorrecte %s."
+
+#, c-format
+msgid "      %s  Bad cupsPreFilter value \"%s\"."
+msgstr "      %s  Valor de la cupsPreFilter incorrecte «%s»."
+
+#, c-format
+msgid "      %s  Bad cupsUIConstraints %s: \"%s\""
+msgstr "      %s  cupsUIConstraints incorrecte %s: «%s»"
+
+#, c-format
+msgid "      %s  Bad language \"%s\"."
+msgstr "      %s  language incorrecte «%s»."
+
+#, c-format
+msgid "      %s  Bad permissions on %s file \"%s\"."
+msgstr "      %s  Permisos del fitxer %s incorrectes «%s»."
+
+#, c-format
+msgid "      %s  Bad spelling of %s - should be %s."
+msgstr "      %s  %s Està mal escrit: hauria de ser %s."
+
+#, c-format
+msgid "      %s  Cannot provide both APScanAppPath and APScanAppBundleID."
+msgstr "      %s  No hi pot haver APScanAppPath i APScanAppBundleID alhora."
+
+#, c-format
+msgid "      %s  Default choices conflicting."
+msgstr "      %s  Conflictes amb les opcions per defecte."
+
+#, c-format
+msgid "      %s  Empty cupsUIConstraints %s"
+msgstr "      %s  cupsUIConstraints buit %s"
+
+#, c-format
+msgid "      %s  Missing \"%s\" translation string for option %s, choice %s."
+msgstr "      %s  Falta la traducció de «%s» per l'opció %s, elecció %s."
+
+#, c-format
+msgid "      %s  Missing \"%s\" translation string for option %s."
+msgstr "      %s  Falta la traducció de «%s» per l'opció %s."
+
+#, c-format
+msgid "      %s  Missing %s file \"%s\"."
+msgstr "      %s  Falta el fitxer %s «%s»."
+
+#, c-format
+msgid ""
+"      %s  Missing REQUIRED PageRegion option.\n"
+"                REF: Page 100, section 5.14."
+msgstr ""
+"      %s  Falta l'opció PageRegion NECESSÀRIA .\n"
+"                REF: pàgina 100, secció 5.14."
+
+#, c-format
+msgid ""
+"      %s  Missing REQUIRED PageSize option.\n"
+"                REF: Page 99, section 5.14."
+msgstr ""
+"      %s  Falta l'opció PageSize NECESSÀRIA.\n"
+"                REF: pàgina 99, secció 5.14."
+
+#, c-format
+msgid "      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"."
+msgstr "      %s  Falta l'elecció *%s %s a UIConstraints «*%s %s *%s %s»."
+
+#, c-format
+msgid "      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\""
+msgstr "      %s  Falta l'elecció *%s %s a cupsUIConstraints %s: «%s»"
+
+#, c-format
+msgid "      %s  Missing cupsUIResolver %s"
+msgstr "      %s  Falta el cupsUIResolver %s"
+
+#, c-format
+msgid "      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\"."
+msgstr "      %s  Falta l'opció %s a UIConstraints «*%s %s *%s %s»."
+
+#, c-format
+msgid "      %s  Missing option %s in cupsUIConstraints %s: \"%s\""
+msgstr "      %s  Falta l'opció %s a cupsUIConstraints %s: «%s»"
+
+#, c-format
+msgid "      %s  No base translation \"%s\" is included in file."
+msgstr "      %s  No s'ha inclòs cap traducció de base «%s» al fitxer."
+
+#, c-format
+msgid ""
+"      %s  REQUIRED %s does not define choice None.\n"
+"                REF: Page 122, section 5.17"
+msgstr ""
+"      %s  NECESSARI %s no defineix l'eleció «Cap»!\n"
+"                REF: pàgina 122, secció 5.17"
+
+#, c-format
+msgid "      %s  Size \"%s\" defined for %s but not for %s."
+msgstr "      %s  Mida \"%s\" definida per %s però no per %s."
+
+#, c-format
+msgid "      %s  Size \"%s\" has unexpected dimensions (%gx%g)."
+msgstr "      %s  Mida \"%s\" té unes dimensions inesperades (%gx%g)."
+
+#, c-format
+msgid "      %s  Size \"%s\" should be \"%s\"."
+msgstr "      %s  Mida «%s» hauria de ser «%s»."
+
+#, c-format
+msgid "      %s  Size \"%s\" should be the Adobe standard name \"%s\"."
+msgstr "      %s  Mida \"%s\" hauria de ser el nom estàndard d'Adobe «%s»."
+
+#, c-format
+msgid "      %s  cupsICCProfile %s hash value collides with %s."
+msgstr "      %s  cupsICCProfile %s el valor resum (hash) col·lideix amb %s."
+
+#, c-format
+msgid "      %s  cupsUIResolver %s causes a loop."
+msgstr "      %s  cupsUIResolver %s entra en bucle."
+
+#, c-format
+msgid ""
+"      %s  cupsUIResolver %s does not list at least two different options."
+msgstr ""
+"      %s  cupsUIResolver %s no llista com a mínim dues opcions diferents."
+
+#, c-format
+msgid ""
+"      **FAIL**  %s must be 1284DeviceID\n"
+"                REF: Page 72, section 5.5"
+msgstr ""
+"      **ERROR**  %s ha de ser 1284DeviceID!\n"
+"                REF: pàgina 72, secció 5.5"
+
+#, c-format
+msgid ""
+"      **FAIL**  Bad Default%s %s\n"
+"                REF: Page 40, section 4.5."
+msgstr ""
+"      **ERROR**  Default%s incorrecte %s\n"
+"                REF: pàgina 40, secció 4.5."
+
+#, c-format
+msgid ""
+"      **FAIL**  Bad DefaultImageableArea %s\n"
+"                REF: Page 102, section 5.15."
+msgstr ""
+"      **ERROR**  DefaultImageableArea incorrecte %s\n"
+"                REF: pàgina 102, secció 5.15."
+
+#, c-format
+msgid ""
+"      **FAIL**  Bad DefaultPaperDimension %s\n"
+"                REF: Page 103, section 5.15."
+msgstr ""
+"      **ERROR**  DefaultPaperDimension incorrecte %s\n"
+"                REF: pàgina 103, secció 5.15."
+
+#, c-format
+msgid ""
+"      **FAIL**  Bad FileVersion \"%s\"\n"
+"                REF: Page 56, section 5.3."
+msgstr ""
+"      **ERROR**  FileVersion incorrecte «%s»\n"
+"                REF: pàgina 56, secció 5.3."
+
+#, c-format
+msgid ""
+"      **FAIL**  Bad FormatVersion \"%s\"\n"
+"                REF: Page 56, section 5.3."
+msgstr ""
+"      **ERROR**  FormatVersion incorrecte «%s»\n"
+"                REF: pàgina 56, secció 5.3."
+
+msgid ""
+"      **FAIL**  Bad JobPatchFile attribute in file\n"
+"                REF: Page 24, section 3.4."
+msgstr ""
+"      **ERROR**  atribut de JobPatchFile incorrecte al fitxer\n"
+"                REF: pàgina 24, secció 3.4."
+
+#, c-format
+msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1."
+msgstr "      **ERROR**  LanguageEncoding incorrecte %s: ha de ser ISOLatin1."
+
+#, c-format
+msgid "      **FAIL**  Bad LanguageVersion %s - must be English."
+msgstr "      **ERROR**  LanguageVersion incorrecta %s: ha de ser anglès."
+
+#, c-format
+msgid ""
+"      **FAIL**  Bad Manufacturer (should be \"%s\")\n"
+"                REF: Page 211, table D.1."
+msgstr ""
+"      **ERROR**  Manufacturer incorrecte (hauria de ser «%s»)\n"
+"                REF: pàgina 211, taula D.1."
+
+#, c-format
+msgid ""
+"      **FAIL**  Bad ModelName - \"%c\" not allowed in string.\n"
+"                REF: Pages 59-60, section 5.3."
+msgstr ""
+"      **ERROR**  ModelName incorrecte - no es permet «%c» a la cadena.\n"
+"                REF: pàgines 59-60, secció 5.3."
+
+msgid ""
+"      **FAIL**  Bad PSVersion - not \"(string) int\".\n"
+"                REF: Pages 62-64, section 5.3."
+msgstr ""
+"      **ERROR**  PSVersion incorrecte - no és «(cadena) enter».\n"
+"                REF: pàgines 62-64, secció 5.3."
+
+msgid ""
+"      **FAIL**  Bad Product - not \"(string)\".\n"
+"                REF: Page 62, section 5.3."
+msgstr ""
+"      **ERROR**  Product incorrecte - no és «(cadena)».\n"
+"                REF: pàgina 62, secció 5.3."
+
+msgid ""
+"      **FAIL**  Bad ShortNickName - longer than 31 chars.\n"
+"                REF: Pages 64-65, section 5.3."
+msgstr ""
+"      **ERROR**  ShortNickName incorrecte - més llarg de 31 caràcters.\n"
+"                REF: pàgines 64-65, secció 5.3."
+
+#, c-format
+msgid ""
+"      **FAIL**  Bad option %s choice %s\n"
+"                REF: Page 84, section 5.9"
+msgstr ""
+"      **ERROR**  Elecció %s incorrecta %s\n"
+"                REF: pàgina 84, secció 5.9"
+
+#, c-format
+msgid "      **FAIL**  Default option code cannot be interpreted: %s"
+msgstr ""
+"      **ERROR**  El codi de l'opció per defecte no es pot interpretar: %s"
+
+#, c-format
+msgid ""
+"      **FAIL**  Default translation string for option %s choice %s contains "
+"8-bit characters."
+msgstr ""
+"      **ERROR**  La traducció per defecte de l'opció %s elecció %s conté "
+"caràcters de 8 bits."
+
+#, c-format
+msgid ""
+"      **FAIL**  Default translation string for option %s contains 8-bit "
+"characters."
+msgstr ""
+"      **ERROR**  La traducció per defecte de l'opció %s conté caràcters de 8 "
+"bits."
+
+#, c-format
+msgid "      **FAIL**  Group names %s and %s differ only by case."
+msgstr ""
+"      **ERROR**  Els noms dels grups %s i %s només es diferencien en les "
+"majúscules."
+
+#, c-format
+msgid "      **FAIL**  Multiple occurrences of option %s choice name %s."
+msgstr ""
+"      **ERROR**  Coincidències múltiples de l'opció %s nom de l'elecció %s."
+
+#, c-format
+msgid "      **FAIL**  Option %s choice names %s and %s differ only by case."
+msgstr ""
+"      **ERROR**  L'opció %s noms de les opcions %s i %s només es diferencien "
+"per les majúscules."
+
+#, c-format
+msgid "      **FAIL**  Option names %s and %s differ only by case."
+msgstr ""
+"      **ERROR**  Els noms de les opcions %s i %s només es diferencien per "
+"les majúscules."
+
+#, c-format
+msgid ""
+"      **FAIL**  REQUIRED Default%s\n"
+"                REF: Page 40, section 4.5."
+msgstr ""
+"      **ERROR**  ES NECESSITA Default%s\n"
+"                REF: pàgina 40, secció 4.5."
+
+msgid ""
+"      **FAIL**  REQUIRED DefaultImageableArea\n"
+"                REF: Page 102, section 5.15."
+msgstr ""
+"      **ERROR**  ES NECESSITA DefaultImageableArea\n"
+"                REF: pàgina 102, secció 5.15."
+
+msgid ""
+"      **FAIL**  REQUIRED DefaultPaperDimension\n"
+"                REF: Page 103, section 5.15."
+msgstr ""
+"      **ERROR**  ES NECESSITA DefaultPaperDimension\n"
+"                REF: pàgina 103, secció 5.15."
+
+msgid ""
+"      **FAIL**  REQUIRED FileVersion\n"
+"                REF: Page 56, section 5.3."
+msgstr ""
+"      **ERROR**  ES NECESSITA FileVersion\n"
+"                REF: pàgina 56, secció 5.3."
+
+msgid ""
+"      **FAIL**  REQUIRED FormatVersion\n"
+"                REF: Page 56, section 5.3."
+msgstr ""
+"      **ERROR**  ES NECESSITA FormatVersion\n"
+"                REF: pàgina 56, secció 5.3."
+
+#, c-format
+msgid ""
+"      **FAIL**  REQUIRED ImageableArea for PageSize %s\n"
+"                REF: Page 41, section 5.\n"
+"                REF: Page 102, section 5.15."
+msgstr ""
+"      **ERROR**  ES NECESSITA ImageableArea per PageSize %s\n"
+"                REF: pàgina 41, secció 5.\n"
+"                REF: pàgina 102, secció 5.15."
+
+msgid ""
+"      **FAIL**  REQUIRED LanguageEncoding\n"
+"                REF: Pages 56-57, section 5.3."
+msgstr ""
+"      **ERROR**  ES NECESSITA LanguageEncoding\n"
+"                REF: pàgines 56-57, secció 5.3."
+
+msgid ""
+"      **FAIL**  REQUIRED LanguageVersion\n"
+"                REF: Pages 57-58, section 5.3."
+msgstr ""
+"      **ERROR**  ES NECESSITA LanguageVersion\n"
+"                REF: pàgines 57-58, secció 5.3."
+
+msgid ""
+"      **FAIL**  REQUIRED Manufacturer\n"
+"                REF: Pages 58-59, section 5.3."
+msgstr ""
+"      **ERROR**  ES NECESSITA Manufacturer\n"
+"                REF: pàgines 58-59, secció 5.3."
+
+msgid ""
+"      **FAIL**  REQUIRED ModelName\n"
+"                REF: Pages 59-60, section 5.3."
+msgstr ""
+"      **ERROR**  ES NECESSITA ModelName\n"
+"                REF: pàgines 59-60, secció 5.3."
+
+msgid ""
+"      **FAIL**  REQUIRED NickName\n"
+"                REF: Page 60, section 5.3."
+msgstr ""
+"      **ERROR**  ES NECESSITA NickName\n"
+"                REF: pàgina 60, secció 5.3."
+
+msgid ""
+"      **FAIL**  REQUIRED PCFileName\n"
+"                REF: Pages 61-62, section 5.3."
+msgstr ""
+"      **ERROR**  ES NECESSITA PCFileName\n"
+"                REF: pàgines 61-62, secció 5.3."
+
+msgid ""
+"      **FAIL**  REQUIRED PSVersion\n"
+"                REF: Pages 62-64, section 5.3."
+msgstr ""
+"      **ERROR**  ES NECESSITA PSVersion\n"
+"                REF: pàgines 62-64, secció 5.3."
+
+msgid ""
+"      **FAIL**  REQUIRED PageRegion\n"
+"                REF: Page 100, section 5.14."
+msgstr ""
+"      **ERROR**  ES NECESSITA PageRegion\n"
+"                REF: pàgina 100, secció 5.14."
+
+msgid ""
+"      **FAIL**  REQUIRED PageSize\n"
+"                REF: Page 41, section 5.\n"
+"                REF: Page 99, section 5.14."
+msgstr ""
+"      **ERROR**  ES NECESSITA PageSize\n"
+"                REF: pàgina 41, secció 5.\n"
+"                REF: pàgina 99, secció 5.14."
+
+msgid ""
+"      **FAIL**  REQUIRED PageSize\n"
+"                REF: Pages 99-100, section 5.14."
+msgstr ""
+"      **ERROR**  ES NECESSITA PageSize\n"
+"                REF: pàgines 99-100, secció 5.14."
+
+#, c-format
+msgid ""
+"      **FAIL**  REQUIRED PaperDimension for PageSize %s\n"
+"                REF: Page 41, section 5.\n"
+"                REF: Page 103, section 5.15."
+msgstr ""
+"      **ERROR**  ES NECESSITA PaperDimension per PageSize %s\n"
+"                REF: pàgina 41, secció 5.\n"
+"                REF: pàgina 103, secció 5.15."
+
+msgid ""
+"      **FAIL**  REQUIRED Product\n"
+"                REF: Page 62, section 5.3."
+msgstr ""
+"      **ERROR**  ES NECESSITA Product\n"
+"                REF: pàgina 62, secció 5.3."
+
+msgid ""
+"      **FAIL**  REQUIRED ShortNickName\n"
+"                REF: Page 64-65, section 5.3."
+msgstr ""
+"      **FAIL**  ES NECESSITA ShortNickName\n"
+"                REF: pàgina 64-65, secció 5.3."
+
+#, c-format
+msgid "      **FAIL**  Unable to open PPD file - %s on line %d."
+msgstr "      **ERROR** No es pot obrir el fitxer PPD - %s a la línia %d."
+
+#, c-format
+msgid "    %d ERRORS FOUND"
+msgstr "    %d S'HAN TROBAT ERRORS"
+
+msgid "    -h       Show program usage"
+msgstr "    -h       Mostra la sintaxi del programa"
+
+#, c-format
+msgid ""
+"    Bad %%%%BoundingBox: on line %d.\n"
+"        REF: Page 39, %%%%BoundingBox:"
+msgstr ""
+"    %%%%BoundingBox incorrecte: a la línia %d.\n"
+"        REF: pàgina 39, %%%%BoundingBox:"
+
+#, c-format
+msgid ""
+"    Bad %%%%Page: on line %d.\n"
+"        REF: Page 53, %%%%Page:"
+msgstr ""
+"    %%%%Page incorrecte: a la línia %d.\n"
+"        REF: pàgina 53, %%%%Page:"
+
+#, c-format
+msgid ""
+"    Bad %%%%Pages: on line %d.\n"
+"        REF: Page 43, %%%%Pages:"
+msgstr ""
+"    %%%%Pages incorrecte: a la línia %d!\n"
+"        REF: pàgina 43, %%%%Pages:"
+
+#, c-format
+msgid ""
+"    Line %d is longer than 255 characters (%d).\n"
+"        REF: Page 25, Line Length"
+msgstr ""
+"    La línia %d és més llarga de 255 caràcters (%d)\n"
+"        REF: pàgina 25, Longitud de línia"
+
+msgid ""
+"    Missing %!PS-Adobe-3.0 on first line.\n"
+"        REF: Page 17, 3.1 Conforming Documents"
+msgstr ""
+"    Falta %!PS-Adobe-3.0 a la primera línia.\n"
+"        REF: pàgina 17, 3.1 Adaptació de documents"
+
+#, c-format
+msgid "    Missing %%EndComments comment.        REF: Page 41, %%EndComments"
+msgstr ""
+"    Falta el comentari %%EndComments.        REF: pàgina 41, %%EndComments"
+
+#, c-format
+msgid ""
+"    Missing or bad %%BoundingBox: comment.\n"
+"        REF: Page 39, %%BoundingBox:"
+msgstr ""
+"     %%BoundingBox incorrecte o inexistent: comentari.\n"
+"        REF: pàgina 39, %%BoundingBox:"
+
+#, c-format
+msgid ""
+"    Missing or bad %%Page: comments.\n"
+"        REF: Page 53, %%Page:"
+msgstr ""
+"    %%Page incorrecte o inexistent: comentaris.\n"
+"        REF: pàgina 53, %%Page:"
+
+#, c-format
+msgid ""
+"    Missing or bad %%Pages: comment.\n"
+"        REF: Page 43, %%Pages:"
+msgstr ""
+"    %%Pages incorrecte o inexistent: comentari.\n"
+"        REF: pàgina 43, %%Pages:"
+
+msgid "    NO ERRORS FOUND"
+msgstr "    NO S'HA TROBAT CAP ERROR"
+
+#, c-format
+msgid "    Saw %d lines that exceeded 255 characters."
+msgstr "     S'han trobat %d línies que superen els 255 caràcters."
+
+#, c-format
+msgid "    Too many %%BeginDocument comments."
+msgstr "     Massa comentaris %%BeginDocument."
+
+#, c-format
+msgid "    Too many %%EndDocument comments."
+msgstr "     Massa comentaris %%EndDocument."
+
+msgid "    Warning: file contains binary data."
+msgstr "     Avís: el fitxer conté dades binàries."
+
+#, c-format
+msgid "    Warning: no %%EndComments comment in file."
+msgstr "     Avís: no hi ha cap %%EndComments al fitxer."
+
+#, c-format
+msgid "    Warning: obsolete DSC version %.1f in file."
+msgstr "     Avís: versió del DSC %.1f obsoleta al fitxer."
+
+msgid "  --[no-]debug-logging    Turn debug logging on/off."
+msgstr "  --[no-]debug-logging    Activa o desactiva el registre de depuració."
+
+msgid "  --[no-]remote-admin     Turn remote administration on/off."
+msgstr "  --[no-]remote-admin     Activa o desactiva l'administració remota."
+
+msgid "  --[no-]remote-any       Allow/prevent access from the Internet."
+msgstr "  --[no-]remote-any       Permet o impedeix l'accés des d'Internet."
+
+msgid "  --[no-]share-printers   Turn printer sharing on/off."
+msgstr ""
+"  --[no-]share-printers   Activa o desactiva la compartició d'impressores."
+
+msgid "  --[no-]user-cancel-any  Allow/prevent users to cancel any job."
+msgstr ""
+"  --[no-]user-cancel-any  Permet o impedeix que els usuaris cancel·lin "
+"tasques."
+
+msgid "  --cr                    End lines with CR (Mac OS 9)."
+msgstr "  --cr                    Final de línia amb CR (Mac OS 9)."
+
+msgid "  --crlf                  End lines with CR + LF (Windows)."
+msgstr "  --crlf                  Final de línia amb CR + LF (Windows)."
+
+msgid "  --lf                    End lines with LF (UNIX/Linux/OS X)."
+msgstr "  --lf                    Final de línia amb LF (UNIX/Linux/OS X)."
+
+msgid "  -4                      Connect using IPv4."
+msgstr "  -4                      Connecta fent servir IPv4."
+
+msgid "  -6                      Connect using IPv6."
+msgstr "  -6                      Connecta fent servir IPv6."
+
+msgid "  -C                      Send requests using chunking (default)."
+msgstr ""
+"  -C                      Envia les sol·licituds fent servir la fragmentació "
+"(per defecte)."
+
+msgid "  -D                      Remove the input file when finished."
+msgstr "  -D                      Elimina el fitxer d'entrada quan ha acabat."
+
+msgid "  -D name=value           Set named variable to value."
+msgstr "  -D nom=valor            Estableix la variable indicada al valor."
+
+msgid "  -E                      Encrypt the connection."
+msgstr "  -E                      Xifra la connexió."
+
+msgid "  -E                      Test with HTTP Upgrade to TLS."
+msgstr ""
+"  -E                      Fa una prova amb l'actualització d'HTTP a TLS."
+
+msgid ""
+"  -F                      Run in the foreground but detach from console."
+msgstr ""
+"  -F                      Executa en primer pla però separat de la consola."
+
+msgid "  -H samba-server         Use the named SAMBA server."
+msgstr "  -H servidor-samba         Fa servir el servidor SAMBA indicat."
+
+msgid "  -I                      Ignore errors."
+msgstr "  -I                      Ignora els errors."
+
+msgid "  -I include-dir          Add include directory to search path."
+msgstr "  -I dir-inclòs          Afegeix el directori inclòs al camí de cerca."
+
+msgid "  -I {filename,filters,none,profiles}"
+msgstr "  -I {nomfitxer,filtres,cap,perfils}"
+
+msgid "  -L                      Send requests using content-length."
+msgstr ""
+"  -L                      Envia les peticions fent servir content-length."
+
+msgid "  -P filename.ppd         Set PPD file."
+msgstr "  -P nomfitxer.ppd         Estableix el fitxer PPD."
+
+msgid "  -R root-directory       Set alternate root."
+msgstr "  -R directori-arrel       Estableix una arrel alternativa."
+
+msgid "  -S                      Test with SSL encryption."
+msgstr "  -S                      Fa una prova amb xifrat SSL."
+
+msgid "  -T seconds              Set the receive/send timeout in seconds."
+msgstr ""
+"  -T segons              Estableix el temps d'espera màxim per enviar i "
+"rebre en segons."
+
+msgid "  -U username             Specify username."
+msgstr "  -U nomusuari             Especifica un nom d'usuari."
+
+msgid "  -V version              Set default IPP version."
+msgstr "  -V versió              Estableix la versió per defecte del IPP."
+
+msgid ""
+"  -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,"
+"translations}"
+msgstr ""
+"  -W {tots,cap,restringits,per defecte,dúplex,filtres,perfils,mides,"
+"traduccions}"
+
+msgid "  -X                      Produce XML plist instead of plain text."
+msgstr ""
+"  -X                      Retorna els plist en XML en comptes de text pla."
+
+msgid "  -a                      Export all printers."
+msgstr "  -a                      Exporta totes les impressores."
+
+msgid "  -c catalog.po           Load the specified message catalog."
+msgstr "  -c catàleg.po           Carrega el catàleg de missatges indicat."
+
+msgid "  -c cupsd.conf           Set cupsd.conf file to use."
+msgstr ""
+"  -c cupsd.conf           Estableix el fitxer cupsd.conf que cal fer servir."
+
+msgid "  -d name=value           Set named variable to value."
+msgstr "  -d nom=valor           Estableix la variable indicada al valor."
+
+msgid "  -d output-dir           Specify the output directory."
+msgstr "  -d dir-sortida           Especifica el directori de sortida."
+
+msgid "  -d printer              Use the named printer."
+msgstr "  -d impressora              Fa servir la impressora indicada."
+
+msgid "  -e                      Use every filter from the PPD file."
+msgstr "  -e                      Fa servir tots els filtres del fitxer PPD."
+
+msgid "  -f                      Run in the foreground."
+msgstr "  -f                      Executa en primer pla."
+
+msgid "  -f filename             Set default request filename."
+msgstr ""
+"  -f nomfitxer             Estableix el nom del fitxer per defecte de la "
+"sol·licitud."
+
+msgid "  -h                      Show this usage message."
+msgstr "  -h                      Mostra aquest missatge de sintaxi."
+
+msgid "  -h server[:port]        Specify server address."
+msgstr "  -h servidor[:port]        Especifica l'adreça del servidor."
+
+msgid "  -i mime/type            Set input MIME type (otherwise auto-typed)."
+msgstr ""
+"  -i tipus/mime            Estableix el tipus MIME d'entrada (auto-typed si "
+"no s'especifica)."
+
+msgid ""
+"  -i seconds              Repeat the last file with the given time interval."
+msgstr ""
+"  -i segons              Repeteix l'últim fitxer amb l'interval especificat."
+
+msgid ""
+"  -j job-id[,N]           Filter file N from the specified job (default is "
+"file 1)."
+msgstr ""
+"  -j id-feina[,N]           Filtra el fitxer N a la feina especificada (el "
+"fitxer per defecte és 1)."
+
+msgid "  -l                      Run cupsd from launchd(8)."
+msgstr "  -l                      Executa cupsd des de launchd(8)."
+
+msgid "  -l lang[,lang,...]      Specify the output language(s) (locale)."
+msgstr ""
+"  -l idioma[,idioma,...]      Especifica els idiomes de sortida (locale)."
+
+msgid "  -m                      Use the ModelName value as the filename."
+msgstr ""
+"  -m                      Fa servir el valor de ModelName com a nom de "
+"fitxer."
+
+msgid ""
+"  -m mime/type            Set output MIME type (otherwise application/pdf)."
+msgstr ""
+"  -m tipus/mime            Estableix el tipus MIME de sortida (application/"
+"pdf si no s'especifica)."
+
+msgid "  -n copies               Set number of copies."
+msgstr "  -n còpies               Estableix el nombre de còpies."
+
+msgid ""
+"  -n count                Repeat the last file the given number of times."
+msgstr ""
+"  -n comptador                Repeteix l'últim fitxer el nombre indicat de "
+"vegades."
+
+msgid ""
+"  -o filename.drv         Set driver information file (otherwise ppdi.drv)."
+msgstr ""
+"  -o nomfitxer.drv         Estableix el fitxer d'informació del controlador "
+"(ppdi.drv si no s'especifica)."
+
+msgid "  -o filename.ppd[.gz]    Set output file (otherwise stdout)."
+msgstr ""
+"  -o nomfitxer.ppd[.gz]    Estableix el fitxer de sortida (stdout si no "
+"s'especifica)."
+
+msgid "  -o name=value           Set option(s)."
+msgstr "  -o nom=valor           Estableix les opcions."
+
+msgid "  -p filename.ppd         Set PPD file."
+msgstr "  -p nomfitxer.ppd         Estableix el fitxer PPD."
+
+msgid "  -q                      Run silently."
+msgstr "  -q                      S'executa en mode silenciós."
+
+msgid "  -r                      Use 'relaxed' open mode."
+msgstr "  -r                      Fa servir el mode obert «relaxat»."
+
+msgid "  -t                      Produce a test report."
+msgstr "  -t                      Genera un informe de prova."
+
+msgid "  -t                      Test PPDs instead of generating them."
+msgstr "  -t                      Prova els  PPDs en comptes de generar-los."
+
+msgid "  -t                      Test the configuration file."
+msgstr "  -t                      Prova el fitxer de configuració."
+
+msgid "  -t title                Set title."
+msgstr "  -t títol                Estableix el títol."
+
+msgid "  -u                      Remove the PPD file when finished."
+msgstr "  -u                      Elimina el fitxer PPD quan ha acabat."
+
+msgid "  -v                      Be verbose."
+msgstr "  -v                      Mode detallat."
+
+msgid "  -vv                     Be very verbose."
+msgstr "  -vv                     Mode molt detallat."
+
+msgid "  -z                      Compress PPD files using GNU zip."
+msgstr ""
+"  -z                      Comprimeix els fitxers PPD fent servir el zip de "
+"GNU."
+
+msgid " FAIL"
+msgstr " ERROR"
+
+msgid " PASS"
+msgstr " VÀLID"
+
+#, c-format
+msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes"
+msgstr "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes"
+
+#, c-format
+msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes"
+msgstr "%-7s %-7.7s %-7d %-31.31s %.0f bytes"
+
+#, c-format
+msgid "%s accepting requests since %s"
+msgstr "%s accepta peticions des de %s"
+
+#, c-format
+msgid "%s cannot be changed."
+msgstr "%s no es pot canviar."
+
+#, c-format
+msgid "%s is not implemented by the CUPS version of lpc."
+msgstr "%s no està implementat en la versió del CUPS del lpc."
+
+#, c-format
+msgid "%s is not ready"
+msgstr "%s no està preparada"
+
+#, c-format
+msgid "%s is ready"
+msgstr "%s està preparada"
+
+#, c-format
+msgid "%s is ready and printing"
+msgstr "%s està preparada i imprimeix"
+
+#, c-format
+msgid "%s job-id user title copies options [file]"
+msgstr "%s identificador-feina usuari títol còpies opcions [fitxer]"
+
+#, c-format
+msgid "%s not accepting requests since %s -"
+msgstr "%s no accepta peticions des de %s -"
+
+#, c-format
+msgid "%s not supported."
+msgstr "no és compatible amb l'ús de %s."
+
+#, c-format
+msgid "%s/%s accepting requests since %s"
+msgstr "%s/%s accepta peticions des de %s"
+
+#, c-format
+msgid "%s/%s not accepting requests since %s -"
+msgstr "%s/%s no accepta peticions des de %s -"
+
+#, c-format
+msgid "%s: %-33.33s [job %d localhost]"
+msgstr "%s: %-33.33s [feina %d localhost]"
+
+#. TRANSLATORS: Message is "subject: error"
+#, c-format
+msgid "%s: %s"
+msgstr "%s: %s"
+
+#, c-format
+msgid "%s: %s failed: %s"
+msgstr "%s: %s ha fallat: %s"
+
+#, c-format
+msgid "%s: Don't know what to do."
+msgstr "%s: no sé que fer."
+
+#, c-format
+msgid ""
+"%s: Error - %s environment variable names non-existent destination \"%s\"."
+msgstr ""
+"%s: error - els noms de les variables d'entorn %s tenen un destí inexistent "
+"«%s»."
+
+#, c-format
+msgid "%s: Error - add '/version=1.1' to server name."
+msgstr ""
+
+#, c-format
+msgid "%s: Error - bad job ID."
+msgstr "%s: error - ID de la feina incorrecte."
+
+#, c-format
+msgid "%s: Error - cannot print files and alter jobs simultaneously."
+msgstr ""
+"%s: error - no es poden imprimir fitxers i modificar tasques al mateix temps."
+
+#, c-format
+msgid "%s: Error - cannot print from stdin if files or a job ID are provided."
+msgstr ""
+"%s: error - no es pot imprimir des d'stdin si s'indiquen els fitxers o "
+"l'identificador de la feina."
+
+#, c-format
+msgid "%s: Error - expected character set after \"-S\" option."
+msgstr ""
+"%s: error - s'esperava un conjunt de caràcters després de l'opció «-S»."
+
+#, c-format
+msgid "%s: Error - expected content type after \"-T\" option."
+msgstr "%s: error - s'esperava un tipus de contingut després de l'opció «-T»."
+
+#, c-format
+msgid "%s: Error - expected copies after \"-#\" option."
+msgstr "%s: error - s'esperaven còpies després de l'opció «-#»."
+
+#, c-format
+msgid "%s: Error - expected copies after \"-n\" option."
+msgstr "%s: error - s'esperaven còpies després de l'opció «-n»."
+
+#, c-format
+msgid "%s: Error - expected destination after \"-P\" option."
+msgstr "%s: error - s'esperava un destí després de l'opció «-P»."
+
+#, c-format
+msgid "%s: Error - expected destination after \"-b\" option."
+msgstr "%s: error - s'esperava un destí després de l'opció «-b»."
+
+#, c-format
+msgid "%s: Error - expected destination after \"-d\" option."
+msgstr "%s: error - s'esperava un destí després de l'opció «-d»."
+
+#, c-format
+msgid "%s: Error - expected form after \"-f\" option."
+msgstr "%s: error - s'esperava un formulari després de l'opció «-f»."
+
+#, c-format
+msgid "%s: Error - expected hold name after \"-H\" option."
+msgstr "%s: error - s'esperava un nom per pausa després de l'opció «-H»."
+
+#, c-format
+msgid "%s: Error - expected hostname after \"-H\" option."
+msgstr "%s: error - s'esperava el nom de l'amfitrió després de l'opció «-H»."
+
+#, c-format
+msgid "%s: Error - expected hostname after \"-h\" option."
+msgstr "%s: error - s'esperava el nom de l'amfitrió després de l'opció «-h»."
+
+#, c-format
+msgid "%s: Error - expected mode list after \"-y\" option."
+msgstr "%s: error - s'esperava una llista de modes després de l'opció «-y»."
+
+#, c-format
+msgid "%s: Error - expected name after \"-%c\" option."
+msgstr "%s: error - s'esperava un nom després de l'opció «-%c»."
+
+#, c-format
+msgid "%s: Error - expected option=value after \"-o\" option."
+msgstr "%s: error - s'esperava opció=valor després de l'opció «-o»."
+
+#, c-format
+msgid "%s: Error - expected page list after \"-P\" option."
+msgstr "%s: error - s'esperava una llista de pàgines després de l'opció «-P»."
+
+#, c-format
+msgid "%s: Error - expected priority after \"-%c\" option."
+msgstr "%s: error - s'esperava una prioritat després de l'opció «-%c»."
+
+#, c-format
+msgid "%s: Error - expected reason text after \"-r\" option."
+msgstr "%s: error - s'esperava una explicació després de l'opció «-r»."
+
+#, c-format
+msgid "%s: Error - expected title after \"-t\" option."
+msgstr "%s: error - s'esperava un títol després de l'opció «-t»."
+
+#, c-format
+msgid "%s: Error - expected username after \"-U\" option."
+msgstr "%s: error - s'esperava un nom d'usuari després de l'opció «-U»."
+
+#, c-format
+msgid "%s: Error - expected username after \"-u\" option."
+msgstr "%s: error - s'esperava un nom d'usuari després de l'opció «-u»."
+
+#, c-format
+msgid "%s: Error - expected value after \"-%c\" option."
+msgstr "%s: error - s'esperava un valor després de l'opció «-%c»."
+
+#, c-format
+msgid ""
+"%s: Error - need \"completed\", \"not-completed\", or \"all\" after \"-W\" "
+"option."
+msgstr ""
+"%s: error - es requereix «completed», «not-completed», o «all» després de "
+"l'opció «-W»."
+
+#, c-format
+msgid "%s: Error - no default destination available."
+msgstr "%s: error - no hi ha un destí per defecte."
+
+#, c-format
+msgid "%s: Error - priority must be between 1 and 100."
+msgstr "%s: error - la prioritat ha de ser entre 1 i 100."
+
+#, c-format
+msgid "%s: Error - scheduler not responding."
+msgstr "%s: error - el planificador no està responent."
+
+#, c-format
+msgid "%s: Error - too many files - \"%s\"."
+msgstr "%s: error - massa fitxers - «%s»."
+
+#, c-format
+msgid "%s: Error - unable to access \"%s\" - %s"
+msgstr "%s: error - no es pot accedir a «%s» - %s"
+
+#, c-format
+msgid "%s: Error - unable to queue from stdin - %s."
+msgstr "%s: error - no es pot posar en cua des d'stdin - %s."
+
+#, c-format
+msgid "%s: Error - unknown destination \"%s\"."
+msgstr "%s: error - el destí «%s» és desconegut."
+
+#, c-format
+msgid "%s: Error - unknown destination \"%s/%s\"."
+msgstr "%s: error - el destí «%s/%s» és desconegut."
+
+#, c-format
+msgid "%s: Error - unknown option \"%c\"."
+msgstr "%s: error - l'opció «%c» és desconeguda."
+
+#, c-format
+msgid "%s: Error - unknown option \"%s\"."
+msgstr "%s: error - l'opció «%s» és desconeguda."
+
+#, c-format
+msgid "%s: Expected job ID after \"-i\" option."
+msgstr "%s: s'esperava l'ID d'una feina després de l'opció «-i»."
+
+#, c-format
+msgid "%s: Invalid destination name in list \"%s\"."
+msgstr "%s: el nom del destí no és vàlid a la llista «%s»."
+
+#, c-format
+msgid "%s: Invalid filter string \"%s\"."
+msgstr "%s: la cadena del filtre «%s» no és vàlida."
+
+#, c-format
+msgid "%s: Need job ID (\"-i jobid\") before \"-H restart\"."
+msgstr "%s: es necessita l'ID de la feina («-i jobid») abans de «-H restart»."
+
+#, c-format
+msgid "%s: No filter to convert from %s/%s to %s/%s."
+msgstr "%s: no hi ha cap filtre per convertir de %s/%s a %s/%s."
+
+#, c-format
+msgid "%s: Operation failed: %s"
+msgstr "%s: ha fallat l'operació: %s"
+
+#, c-format
+msgid "%s: Sorry, no encryption support."
+msgstr "%s: ho sento, no està compilada la compatibilitat pel xifrat."
+
+#, c-format
+msgid "%s: Unable to connect to server."
+msgstr "%s: no es pot connectar al servidor."
+
+#, c-format
+msgid "%s: Unable to contact server."
+msgstr "%s: no es pot contactar amb el servidor."
+
+#, c-format
+msgid "%s: Unable to determine MIME type of \"%s\"."
+msgstr "%s: no es pot determinar el tips de MIME de «%s»."
+
+#, c-format
+msgid "%s: Unable to open %s: %s"
+msgstr "%s: no es pot obrir %s: %s"
+
+#, c-format
+msgid "%s: Unable to open PPD file: %s on line %d."
+msgstr "%s: no es pot obrir el fitxer PPD: %s a la línia %d."
+
+#, c-format
+msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"."
+msgstr "%s: no es pot llegir la base de dades MIME de «%s» o «%s»."
+
+#, c-format
+msgid "%s: Unknown destination \"%s\"."
+msgstr "%s: el destí «%s» és desconegut."
+
+#, c-format
+msgid "%s: Unknown destination MIME type %s/%s."
+msgstr "%s: es destí de tipus MIME %s/%s és desconegut."
+
+#, c-format
+msgid "%s: Unknown option \"%c\"."
+msgstr "%s: l'opció «%c» és desconeguda."
+
+#, c-format
+msgid "%s: Unknown source MIME type %s/%s."
+msgstr "%s: la font del tipus de MIME %s/%s és desconeguda."
+
+#, c-format
+msgid ""
+"%s: Warning - \"%c\" format modifier not supported - output may not be "
+"correct."
+msgstr ""
+"%s: avís - no és compatible amb l'ús del modificador de format «%c» - el "
+"resultat pot no ser correcte."
+
+#, c-format
+msgid "%s: Warning - character set option ignored."
+msgstr "%s: avís - s'ignora l'opció del grup de caràcters."
+
+#, c-format
+msgid "%s: Warning - content type option ignored."
+msgstr "%s: avís - s'ignora l'opció de tipus de contingut."
+
+#, c-format
+msgid "%s: Warning - form option ignored."
+msgstr "%s: avís - s'ignora l'opció de formulari."
+
+#, c-format
+msgid "%s: Warning - mode option ignored."
+msgstr "%s: avís - s'ignora l'opció de mode."
+
+msgid "-1"
+msgstr "-1"
+
+msgid "-10"
+msgstr "-10"
+
+msgid "-100"
+msgstr "-100"
+
+msgid "-105"
+msgstr "-105"
+
+msgid "-11"
+msgstr "-11"
+
+msgid "-110"
+msgstr "-110"
+
+msgid "-115"
+msgstr "-115"
+
+msgid "-12"
+msgstr "-12"
+
+msgid "-120"
+msgstr "-120"
+
+msgid "-13"
+msgstr "-13"
+
+msgid "-14"
+msgstr "-14"
+
+msgid "-15"
+msgstr "-15"
+
+msgid "-2"
+msgstr "-2"
+
+msgid "-20"
+msgstr "-20"
+
+msgid "-25"
+msgstr "-25"
+
+msgid "-3"
+msgstr "-3"
+
+msgid "-30"
+msgstr "-30"
+
+msgid "-35"
+msgstr "-35"
+
+msgid "-4"
+msgstr "-4"
+
+msgid "-40"
+msgstr "-40"
+
+msgid "-45"
+msgstr "-45"
+
+msgid "-5"
+msgstr "-5"
+
+msgid "-50"
+msgstr "-50"
+
+msgid "-55"
+msgstr "-55"
+
+msgid "-6"
+msgstr "-6"
+
+msgid "-60"
+msgstr "-60"
+
+msgid "-65"
+msgstr "-65"
+
+msgid "-7"
+msgstr "-7"
+
+msgid "-70"
+msgstr "-70"
+
+msgid "-75"
+msgstr "-75"
+
+msgid "-8"
+msgstr "-8"
+
+msgid "-80"
+msgstr "-80"
+
+msgid "-85"
+msgstr "-85"
+
+msgid "-9"
+msgstr "-9"
+
+msgid "-90"
+msgstr "-90"
+
+msgid "-95"
+msgstr "-95"
+
+msgid "0"
+msgstr "0"
+
+msgid "1"
+msgstr "1"
+
+msgid "1 inch/sec."
+msgstr "1 polzada/seg."
+
+msgid "1.25x0.25\""
+msgstr "1.25x0.25\""
+
+msgid "1.25x2.25\""
+msgstr "1.25x2.25\""
+
+msgid "1.5 inch/sec."
+msgstr "1.5 polzades/seg."
+
+msgid "1.50x0.25\""
+msgstr "1.50x0.25\""
+
+msgid "1.50x0.50\""
+msgstr "1.50x0.50\""
+
+msgid "1.50x1.00\""
+msgstr "1.50x1.00\""
+
+msgid "1.50x2.00\""
+msgstr "1.50x2.00\""
+
+msgid "10"
+msgstr "10"
+
+msgid "10 inches/sec."
+msgstr "10 polzades/seg."
+
+msgid "10 x 11"
+msgstr "10 x 11"
+
+msgid "10 x 13"
+msgstr "10 x 13"
+
+msgid "10 x 14"
+msgstr "10 x 14"
+
+msgid "100"
+msgstr "100"
+
+msgid "100 mm/sec."
+msgstr "100 mm/seg."
+
+msgid "105"
+msgstr "105"
+
+msgid "11"
+msgstr "11"
+
+msgid "11 inches/sec."
+msgstr "11 polzades/seg."
+
+msgid "110"
+msgstr "110"
+
+msgid "115"
+msgstr "115"
+
+msgid "12"
+msgstr "12"
+
+msgid "12 inches/sec."
+msgstr "12 polzades/seg."
+
+msgid "12 x 11"
+msgstr "12 x 11"
+
+msgid "120"
+msgstr "120"
+
+msgid "120 mm/sec."
+msgstr "120 mm/seg."
+
+msgid "120x60dpi"
+msgstr "120x60ppp"
+
+msgid "120x72dpi"
+msgstr "120x72ppp"
+
+msgid "13"
+msgstr "13"
+
+msgid "136dpi"
+msgstr "136ppp"
+
+msgid "14"
+msgstr "14"
+
+msgid "15"
+msgstr "15"
+
+msgid "15 mm/sec."
+msgstr "15 mm/seg."
+
+msgid "15 x 11"
+msgstr "15 x 11"
+
+msgid "150 mm/sec."
+msgstr "150 mm/seg."
+
+msgid "150dpi"
+msgstr "150ppp"
+
+msgid "16"
+msgstr "16"
+
+msgid "17"
+msgstr "17"
+
+msgid "18"
+msgstr "18"
+
+msgid "180dpi"
+msgstr "180ppp"
+
+msgid "19"
+msgstr "19"
+
+msgid "2"
+msgstr "2"
+
+msgid "2 inches/sec."
+msgstr "2 polzades/seg."
+
+msgid "2-Sided Printing"
+msgstr "Impressió a doble cara"
+
+msgid "2.00x0.37\""
+msgstr "2.00x0.37\""
+
+msgid "2.00x0.50\""
+msgstr "2.00x0.50\""
+
+msgid "2.00x1.00\""
+msgstr "2.00x1.00\""
+
+msgid "2.00x1.25\""
+msgstr "2.00x1.25\""
+
+msgid "2.00x2.00\""
+msgstr "2.00x2.00\""
+
+msgid "2.00x3.00\""
+msgstr "2.00x3.00\""
+
+msgid "2.00x4.00\""
+msgstr "2.00x4.00\""
+
+msgid "2.00x5.50\""
+msgstr "2.00x5.50\""
+
+msgid "2.25x0.50\""
+msgstr "2.25x0.50\""
+
+msgid "2.25x1.25\""
+msgstr "2.25x1.25\""
+
+msgid "2.25x4.00\""
+msgstr "2.25x4.00\""
+
+msgid "2.25x5.50\""
+msgstr "2.25x5.50\""
+
+msgid "2.38x5.50\""
+msgstr "2.38x5.50\""
+
+msgid "2.5 inches/sec."
+msgstr "2.5 polzades/seg."
+
+msgid "2.50x1.00\""
+msgstr "2.50x1.00\""
+
+msgid "2.50x2.00\""
+msgstr "2.50x2.00\""
+
+msgid "2.75x1.25\""
+msgstr "2.75x1.25\""
+
+msgid "2.9 x 1\""
+msgstr "2.9 x 1\""
+
+msgid "20"
+msgstr "20"
+
+msgid "20 mm/sec."
+msgstr "20 mm/seg."
+
+msgid "200 mm/sec."
+msgstr "200 mm/seg."
+
+msgid "203dpi"
+msgstr "203ppp"
+
+msgid "21"
+msgstr "21"
+
+msgid "22"
+msgstr "22"
+
+msgid "23"
+msgstr "23"
+
+msgid "24"
+msgstr "24"
+
+msgid "24-Pin Series"
+msgstr "Sèrie de 24 pins"
+
+msgid "240x72dpi"
+msgstr "240x72ppp"
+
+msgid "25"
+msgstr "25"
+
+msgid "250 mm/sec."
+msgstr "250 mm/seg."
+
+msgid "26"
+msgstr "26"
+
+msgid "27"
+msgstr "27"
+
+msgid "28"
+msgstr "28"
+
+msgid "29"
+msgstr "29"
+
+msgid "3"
+msgstr "3"
+
+msgid "3 inches/sec."
+msgstr "3 polzades/seg."
+
+msgid "3 x 5"
+msgstr "3 x 5"
+
+msgid "3.00x1.00\""
+msgstr "3.00x1.00\""
+
+msgid "3.00x1.25\""
+msgstr "3.00x1.25\""
+
+msgid "3.00x2.00\""
+msgstr "3.00x2.00\""
+
+msgid "3.00x3.00\""
+msgstr "3.00x3.00\""
+
+msgid "3.00x5.00\""
+msgstr "3.00x5.00\""
+
+msgid "3.25x2.00\""
+msgstr "3.25x2.00\""
+
+msgid "3.25x5.00\""
+msgstr "3.25x5.00\""
+
+msgid "3.25x5.50\""
+msgstr "3.25x5.50\""
+
+msgid "3.25x5.83\""
+msgstr "3.25x5.83\""
+
+msgid "3.25x7.83\""
+msgstr "3.25x7.83\""
+
+msgid "3.5 x 5"
+msgstr "3.5 x 5"
+
+msgid "3.5\" Disk"
+msgstr "Disc de 3.5\""
+
+msgid "3.50x1.00\""
+msgstr "3.5x1.00\""
+
+msgid "30"
+msgstr "30"
+
+msgid "30 mm/sec."
+msgstr "30 mm/seg."
+
+msgid "300 mm/sec."
+msgstr "300 mm/seg."
+
+msgid "300dpi"
+msgstr "300ppp"
+
+msgid "35"
+msgstr "35"
+
+msgid "360dpi"
+msgstr "360ppp"
+
+msgid "360x180dpi"
+msgstr "360x180ppp"
+
+msgid "4"
+msgstr "4"
+
+msgid "4 inches/sec."
+msgstr "4 polzades/seg."
+
+msgid "4.00x1.00\""
+msgstr "4.00x1.00\""
+
+msgid "4.00x13.00\""
+msgstr "4.00x13.00\""
+
+msgid "4.00x2.00\""
+msgstr "4.00x2.00\""
+
+msgid "4.00x2.50\""
+msgstr "4.00x2.50\""
+
+msgid "4.00x3.00\""
+msgstr "4.00x3.00\""
+
+msgid "4.00x4.00\""
+msgstr "4.00x4.00\""
+
+msgid "4.00x5.00\""
+msgstr "4.00x5.00\""
+
+msgid "4.00x6.00\""
+msgstr "4.00x6.00\""
+
+msgid "4.00x6.50\""
+msgstr "4.00x6.50\""
+
+msgid "40"
+msgstr "40"
+
+msgid "40 mm/sec."
+msgstr "40 mm/seg."
+
+msgid "45"
+msgstr "45"
+
+msgid "5"
+msgstr "5"
+
+msgid "5 inches/sec."
+msgstr "5 polzades/seg."
+
+msgid "5 x 7"
+msgstr "15 x 11"
+
+msgid "50"
+msgstr "50"
+
+msgid "55"
+msgstr "55"
+
+msgid "6"
+msgstr "6"
+
+msgid "6 inches/sec."
+msgstr "6 polzades/seg."
+
+msgid "6.00x1.00\""
+msgstr "6.00x1.00\""
+
+msgid "6.00x2.00\""
+msgstr "6.00x2.00\""
+
+msgid "6.00x3.00\""
+msgstr "6.00x3.00\""
+
+msgid "6.00x4.00\""
+msgstr "6.00x4.00\""
+
+msgid "6.00x5.00\""
+msgstr "6.00x5.00\""
+
+msgid "6.00x6.00\""
+msgstr "6.00x6.00\""
+
+msgid "6.00x6.50\""
+msgstr "6.00x6.50\""
+
+msgid "60"
+msgstr "60"
+
+msgid "60 mm/sec."
+msgstr "60 mm/seg."
+
+msgid "600dpi"
+msgstr "600ppp"
+
+msgid "60dpi"
+msgstr "60ppp"
+
+msgid "60x72dpi"
+msgstr "60x72ppp"
+
+msgid "65"
+msgstr "65"
+
+msgid "7"
+msgstr "7"
+
+msgid "7 inches/sec."
+msgstr "7 polzades/seg."
+
+msgid "7 x 9"
+msgstr "7 x 9"
+
+msgid "70"
+msgstr "70"
+
+msgid "720dpi"
+msgstr "720ppp"
+
+msgid "75"
+msgstr "75"
+
+msgid "8"
+msgstr "8"
+
+msgid "8 inches/sec."
+msgstr "8 polzades/seg."
+
+msgid "8 x 10"
+msgstr "8 x 10"
+
+msgid "8.00x1.00\""
+msgstr "8.00x1.00\""
+
+msgid "8.00x2.00\""
+msgstr "8.00x2.00\""
+
+msgid "8.00x3.00\""
+msgstr "8.00x3.00\""
+
+msgid "8.00x4.00\""
+msgstr "8.00x4.00\""
+
+msgid "8.00x5.00\""
+msgstr "8.00x5.00\""
+
+msgid "8.00x6.00\""
+msgstr "8.00x6.00\""
+
+msgid "8.00x6.50\""
+msgstr "8.00x6.50\""
+
+msgid "80"
+msgstr "80"
+
+msgid "80 mm/sec."
+msgstr "80 mm/seg."
+
+msgid "85"
+msgstr "85"
+
+msgid "9"
+msgstr "9"
+
+msgid "9 inches/sec."
+msgstr "9 polzades/seg."
+
+msgid "9 x 11"
+msgstr "9 x 11"
+
+msgid "9 x 12"
+msgstr "9 x 12"
+
+msgid "9-Pin Series"
+msgstr "Sèrie de 9 pins"
+
+msgid "90"
+msgstr "90"
+
+msgid "95"
+msgstr "95"
+
+msgid "?Invalid help command unknown."
+msgstr "?Comanda d'ajuda no vàlida desconeguda."
+
+msgid "A Samba password is required to export printer drivers"
+msgstr ""
+"Necessiteu una contrasenya de Samba per exportar els controladors "
+"d'impressora"
+
+msgid "A Samba username is required to export printer drivers"
+msgstr ""
+"Necessiteu una nom d'usuari de Samba per exportar els controladors "
+"d'impressora"
+
+#, c-format
+msgid "A class named \"%s\" already exists."
+msgstr "Ja existeix una classe anomenada «%s»."
+
+#, c-format
+msgid "A printer named \"%s\" already exists."
+msgstr "Ja existeix una impressora anomenada «%s»."
+
+msgid "A0"
+msgstr "A0"
+
+msgid "A0 Long Edge"
+msgstr "A0 costat llarg"
+
+msgid "A1"
+msgstr "A1"
+
+msgid "A1 Long Edge"
+msgstr "A1 costat llarg"
+
+msgid "A10"
+msgstr "A10"
+
+msgid "A2"
+msgstr "A2"
+
+msgid "A2 Long Edge"
+msgstr "A2 costat llarg"
+
+msgid "A3"
+msgstr "A3"
+
+msgid "A3 Long Edge"
+msgstr "A3 costat llarg"
+
+msgid "A3 Oversize"
+msgstr "A3 estès"
+
+msgid "A3 Oversize Long Edge"
+msgstr "A3 estès pel costat llarg"
+
+msgid "A4"
+msgstr "A4"
+
+msgid "A4 Long Edge"
+msgstr "A4 costat llarg"
+
+msgid "A4 Oversize"
+msgstr "A4 estès"
+
+msgid "A4 Small"
+msgstr "A4 reduït"
+
+msgid "A5"
+msgstr "A5"
+
+msgid "A5 Long Edge"
+msgstr "A5 costat llarg"
+
+msgid "A5 Oversize"
+msgstr "A5 estès"
+
+msgid "A6"
+msgstr "A6"
+
+msgid "A6 Long Edge"
+msgstr "A6 costat llarg"
+
+msgid "A7"
+msgstr "A7"
+
+msgid "A8"
+msgstr "A8"
+
+msgid "A9"
+msgstr "A9"
+
+msgid "ANSI A"
+msgstr "ANSI A"
+
+msgid "ANSI B"
+msgstr "ANSI B"
+
+msgid "ANSI C"
+msgstr "ANSI C"
+
+msgid "ANSI D"
+msgstr "ANSI D"
+
+msgid "ANSI E"
+msgstr "ANSI E"
+
+msgid "ARCH C"
+msgstr "ARCH C"
+
+msgid "ARCH C Long Edge"
+msgstr "ARCH C costat llarg"
+
+msgid "ARCH D"
+msgstr "ARCH D"
+
+msgid "ARCH D Long Edge"
+msgstr "ARCH D costat llarg"
+
+msgid "ARCH E"
+msgstr "ARCH E"
+
+msgid "ARCH E Long Edge"
+msgstr "ARCH E costat llarg"
+
+msgid "Accept Jobs"
+msgstr "Accepta feines"
+
+msgid "Accepted"
+msgstr "Acceptada"
+
+msgid "Add Class"
+msgstr "Afegeix una classe"
+
+msgid "Add Printer"
+msgstr "Afegeix una impressora"
+
+msgid "Add RSS Subscription"
+msgstr "Afegeix una subscripció RSS"
+
+msgid "Address"
+msgstr "Adreça"
+
+msgid "Administration"
+msgstr "Administració"
+
+msgid "Always"
+msgstr "Sempre"
+
+msgid "AppSocket/HP JetDirect"
+msgstr "AppSocket/HP JetDirect"
+
+msgid "Applicator"
+msgstr "Aplicador"
+
+#, c-format
+msgid "Attempt to set %s printer-state to bad value %d."
+msgstr ""
+"S'ha intentat posar l'estat de la impressora %s a un valor incorrecte %d."
+
+#, c-format
+msgid "Attribute groups are out of order (%x < %x)."
+msgstr "Grups d'atribut desordenats (%x < %x)."
+
+msgid "B0"
+msgstr "B0"
+
+msgid "B1"
+msgstr "B1"
+
+msgid "B10"
+msgstr "B10"
+
+msgid "B2"
+msgstr "B2"
+
+msgid "B3"
+msgstr "B3"
+
+msgid "B4"
+msgstr "B4"
+
+msgid "B5"
+msgstr "B5"
+
+msgid "B5 Oversize"
+msgstr "A5 estès"
+
+msgid "B6"
+msgstr "B6"
+
+msgid "B7"
+msgstr "B7"
+
+msgid "B8"
+msgstr "B8"
+
+msgid "B9"
+msgstr "B9"
+
+#, c-format
+msgid "Bad 'document-format' value \"%s\"."
+msgstr ""
+
+msgid "Bad NULL dests pointer"
+msgstr "El punter de dests NULL és incorrecte"
+
+msgid "Bad OpenGroup"
+msgstr "La OpenGroup és incorrecta"
+
+msgid "Bad OpenUI/JCLOpenUI"
+msgstr "La OpenUI/JCLOpenUI és incorrecta"
+
+msgid "Bad OrderDependency"
+msgstr "La OrderDependency és incorrecta"
+
+msgid "Bad PPD cache file."
+msgstr "El fitxer PPD de memòria cau és incorrecte."
+
+msgid "Bad Request"
+msgstr "La petició és incorrecta"
+
+msgid "Bad SNMP version number"
+msgstr "El número de versió del SNMP és incorrecte"
+
+msgid "Bad UIConstraints"
+msgstr "La UIConstraints és incorrecta"
+
+#, c-format
+msgid "Bad copies value %d."
+msgstr "El valor de copies %d és incorrecte"
+
+msgid "Bad custom parameter"
+msgstr "El paràmetre personalitzat és incorrecte"
+
+#, c-format
+msgid "Bad device-uri \"%s\"."
+msgstr "La device-uri «%s» és incorrecta."
+
+#, c-format
+msgid "Bad device-uri scheme \"%s\"."
+msgstr "L'esquema «%s» de la device-uri és incorrecte."
+
+#, c-format
+msgid "Bad document-format \"%s\"."
+msgstr "La document-format «%s» és incorrecta."
+
+#, c-format
+msgid "Bad document-format-default \"%s\"."
+msgstr "La document-format-default «%s» és incorrecta."
+
+msgid "Bad filename buffer"
+msgstr "El nom del fitxer de la memòria cau és incorrecte"
+
+msgid "Bad job-name value: Bad UTF-8 sequence."
+msgstr ""
+
+msgid "Bad job-name value: Name too long."
+msgstr ""
+
+msgid "Bad job-name value: Wrong type or count."
+msgstr ""
+
+msgid "Bad job-priority value."
+msgstr "El valor de la job-priority és incorrecte."
+
+#, c-format
+msgid "Bad job-sheets value \"%s\"."
+msgstr "El valor «%s» de la job-sheets és incorrecte."
+
+msgid "Bad job-sheets value type."
+msgstr "El tipus de valor de la job-sheets és incorrecte."
+
+msgid "Bad job-state value."
+msgstr "El valor de la job-state és incorrecte."
+
+#, c-format
+msgid "Bad job-uri \"%s\"."
+msgstr "La job-uri «%s» és incorrecta."
+
+#, c-format
+msgid "Bad notify-pull-method \"%s\"."
+msgstr "La notify-pull-method «%s» és incorrecta."
+
+#, c-format
+msgid "Bad notify-recipient-uri \"%s\"."
+msgstr "La notify-recipient-uri «%s» és incorrecta."
+
+#, c-format
+msgid "Bad number-up value %d."
+msgstr "El valor de number-up %d és incorrecte."
+
+#, c-format
+msgid "Bad option + choice on line %d."
+msgstr "L'opció + elecció de la línia %d és incorrecta."
+
+#, c-format
+msgid "Bad page-ranges values %d-%d."
+msgstr "Els valors de page-ranges %d-%d són incorrectes."
+
+#, c-format
+msgid "Bad port-monitor \"%s\"."
+msgstr "La port-monitor «%s» és incorrecta."
+
+msgid "Bad printer URI."
+msgstr "L'URI de la impressora és incorrecte."
+
+#, c-format
+msgid "Bad printer-state value %d."
+msgstr "El valor %d de printer-state és incorrecte."
+
+#, c-format
+msgid "Bad request ID %d."
+msgstr "L'identificador %d de la sol·licitud és incorrecte."
+
+#, c-format
+msgid "Bad request version number %d.%d."
+msgstr "El número de versió %d.%d de la sol·licitud és incorrecte."
+
+msgid "Bad subscription ID"
+msgstr "L'identificador de la subscripció és incorrecte."
+
+msgid "Bad value string"
+msgstr "El valor de la cadena és incorrecte"
+
+msgid "Banners"
+msgstr "Bàners"
+
+msgid "Bond Paper"
+msgstr "Paper de valors"
+
+#, c-format
+msgid "Boolean expected for waiteof option \"%s\"."
+msgstr "S'esperava un booleà per l'opció waiteof «%s»."
+
+msgid "Buffer overflow detected, aborting."
+msgstr "S'ha detectat un desbordament la memòria cau. S'interromp."
+
+msgid "CMYK"
+msgstr "CMYK"
+
+msgid "CPCL Label Printer"
+msgstr "Impressora d'etiquetes CPCL"
+
+msgid "Cancel RSS Subscription"
+msgstr "Cancel·la la subscripció RSS"
+
+msgid "Canceling print job."
+msgstr "Es cancel·la feina."
+
+msgid "Cannot share a remote Kerberized printer."
+msgstr "No es pot compartir una impressora remota sobre Kerberos."
+
+msgid "Cassette"
+msgstr "Classet"
+
+msgid "Change Settings"
+msgstr "Canvia la configuració"
+
+#, c-format
+msgid "Character set \"%s\" not supported."
+msgstr "No es permet l'ús del grup de caràcters «%s»."
+
+msgid "Classes"
+msgstr "Classes"
+
+msgid "Clean Print Heads"
+msgstr "Neteja els capçals de la impressora"
+
+msgid "Close-Job doesn't support the job-uri attribute."
+msgstr "Close-Job no permet l'ús de l'atribut job-uri."
+
+msgid "Color"
+msgstr "Color"
+
+msgid "Color Mode"
+msgstr "Mode de color"
+
+msgid ""
+"Commands may be abbreviated.  Commands are:\n"
+"\n"
+"exit    help    quit    status  ?"
+msgstr ""
+"Les ordres han de ser abreujades.  Poden ser:\n"
+"\n"
+"exit    help    quit    status  ?"
+
+msgid "Community name uses indefinite length"
+msgstr "Els noms de comunitat tenen longitud indefinida"
+
+msgid "Connected to printer."
+msgstr "S'ha connectat a la impressora."
+
+msgid "Connecting to printer."
+msgstr "Es connecta a la impressora."
+
+msgid "Continue"
+msgstr "Continua"
+
+msgid "Continuous"
+msgstr "Contínua"
+
+msgid "Control file sent successfully."
+msgstr "El fitxer de control s'ha enviat correctament."
+
+msgid "Copying print data."
+msgstr "Es copien les dades d'impressió."
+
+msgid "Created"
+msgstr "Creat"
+
+msgid "Custom"
+msgstr "Personalitzat"
+
+msgid "CustominCutInterval"
+msgstr "CustominCutInterval"
+
+msgid "CustominTearInterval"
+msgstr "CustominTearInterval"
+
+msgid "Cut"
+msgstr "Tall"
+
+msgid "Cutter"
+msgstr "Ganiveta"
+
+msgid "Dark"
+msgstr "Fosc"
+
+msgid "Darkness"
+msgstr "Foscor"
+
+msgid "Data file sent successfully."
+msgstr "El fitxer de dades s'ha enviat correctament."
+
+msgid "Delete Class"
+msgstr "Elimina la classe"
+
+msgid "Delete Printer"
+msgstr "Elimina la impressora"
+
+msgid "DeskJet Series"
+msgstr "Sèrie Deskjet"
+
+#, c-format
+msgid "Destination \"%s\" is not accepting jobs."
+msgstr "El Destí «%s» no accepta tasques."
+
+#, c-format
+msgid ""
+"Device: uri = %s\n"
+"        class = %s\n"
+"        info = %s\n"
+"        make-and-model = %s\n"
+"        device-id = %s\n"
+"        location = %s"
+msgstr ""
+"Dispositiu: uri = %s\n"
+"            classe = %s\n"
+"            informació = %s\n"
+"            fabricant i model = %s\n"
+"            identificador = %s\n"
+"            ubicació = %s"
+
+msgid "Direct Thermal Media"
+msgstr "Paper per impressió tèrmica directa"
+
+#, c-format
+msgid "Directory \"%s\" contains a relative path."
+msgstr "El directori «%s» conté un camí relatiu."
+
+#, c-format
+msgid "Directory \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
+msgstr "El directori «%s» té permisos que no són segurs (0%o/uid=%d/gid=%d)."
+
+#, c-format
+msgid "Directory \"%s\" is a file."
+msgstr "El directori «%s» és un fitxer."
+
+#, c-format
+msgid "Directory \"%s\" not available: %s"
+msgstr "El directori «%s» no està disponible: %s"
+
+#, c-format
+msgid "Directory \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
+msgstr "El directori «%s» té els permisos correctes (0%o/uid=%d/gid=%d)."
+
+msgid "Disabled"
+msgstr "Desabilitat"
+
+#, c-format
+msgid "Document #%d does not exist in job #%d."
+msgstr "No s'ha trobat el document #%d a la feina #%d."
+
+msgid "Duplexer"
+msgstr "Unitat d'impressió a dues cares"
+
+msgid "Dymo"
+msgstr "Dymo"
+
+msgid "EPL1 Label Printer"
+msgstr "Impressora d'etiquetes EPL1"
+
+msgid "EPL2 Label Printer"
+msgstr "Impressora d'etiquetes EPL2"
+
+msgid "Edit Configuration File"
+msgstr "Edita el fitxer de configuració"
+
+msgid "Empty PPD file."
+msgstr "El fitxer PPD és buit."
+
+#. TRANSLATORS: Banner/cover sheet after the print job.
+msgid "Ending Banner"
+msgstr "S'està acabant el bàner"
+
+msgid "English"
+msgstr "Anglès"
+
+msgid "Enter old password:"
+msgstr "Introduïu la contrasenya antiga:"
+
+msgid "Enter password again:"
+msgstr "Introduïu la contrasenya un altre cop:"
+
+msgid "Enter password:"
+msgstr "Introduïu la contrasenya:"
+
+msgid ""
+"Enter your username and password or the root username and password to access "
+"this page. If you are using Kerberos authentication, make sure you have a "
+"valid Kerberos ticket."
+msgstr ""
+"Introduïu el vostre nom d'usuari i contrasenya o el nom d'usuari i la "
+"contrasenya de root per accedir a aquesta pàgina. Si feu servir "
+"l'autenticació Kerberos, assegureu-vos de tenir un tiquet Kerberos que sigui "
+"vàlid."
+
+msgid "Envelope #10 "
+msgstr "Sobre #10"
+
+msgid "Envelope #11"
+msgstr "Sobre #11"
+
+msgid "Envelope #12"
+msgstr "Sobre #12"
+
+msgid "Envelope #14"
+msgstr "Sobre #14"
+
+msgid "Envelope #9"
+msgstr "Sobre #9"
+
+msgid "Envelope B4"
+msgstr "Sobre B4"
+
+msgid "Envelope B5"
+msgstr "Sobre B5"
+
+msgid "Envelope B6"
+msgstr "Sobre B6"
+
+msgid "Envelope C0"
+msgstr "Sobre C0"
+
+msgid "Envelope C1"
+msgstr "Sobre C1"
+
+msgid "Envelope C2"
+msgstr "Sobre C2"
+
+msgid "Envelope C3"
+msgstr "Sobre C3"
+
+msgid "Envelope C4"
+msgstr "Sobre C4"
+
+msgid "Envelope C5"
+msgstr "Sobre C5"
+
+msgid "Envelope C6"
+msgstr "Sobre C6"
+
+msgid "Envelope C65"
+msgstr "Sobre C65"
+
+msgid "Envelope C7"
+msgstr "Sobre C7"
+
+msgid "Envelope Choukei 3"
+msgstr "Sobre Choukei 3"
+
+msgid "Envelope Choukei 3 Long Edge"
+msgstr "Sobre Choukei 3 costat llarg"
+
+msgid "Envelope Choukei 4"
+msgstr "Sobre Choukei 4"
+
+msgid "Envelope Choukei 4 Long Edge"
+msgstr "Sobre Choukei 4 costat llarg"
+
+msgid "Envelope DL"
+msgstr "Sobre DL"
+
+msgid "Envelope Feed"
+msgstr "Alimentació de sobres"
+
+msgid "Envelope Invite"
+msgstr "Sobre d'invitació"
+
+msgid "Envelope Italian"
+msgstr "Sobre italià"
+
+msgid "Envelope Kaku2"
+msgstr "Sobre Kaku2"
+
+msgid "Envelope Kaku2 Long Edge"
+msgstr "Sobre Kaku2 costat llarg"
+
+msgid "Envelope Kaku3"
+msgstr "Sobre Kaku3"
+
+msgid "Envelope Kaku3 Long Edge"
+msgstr "Sobre Kaku3 costat llarg"
+
+msgid "Envelope Monarch"
+msgstr "Sobre monarch"
+
+msgid "Envelope PRC1 "
+msgstr "Sobre PRC1"
+
+msgid "Envelope PRC1 Long Edge"
+msgstr "Sobre PRC1 costat llarg"
+
+msgid "Envelope PRC10"
+msgstr "Sobre PRC10"
+
+msgid "Envelope PRC10 Long Edge"
+msgstr "Sobre PRC10 costat llarg"
+
+msgid "Envelope PRC2"
+msgstr "Sobre PRC2"
+
+msgid "Envelope PRC2 Long Edge"
+msgstr "Sobre PRC2 costat llarg"
+
+msgid "Envelope PRC3"
+msgstr "Sobre PRC3"
+
+msgid "Envelope PRC3 Long Edge"
+msgstr "Sobre PRC3 costat llarg"
+
+msgid "Envelope PRC4"
+msgstr "Sobre PRC4"
+
+msgid "Envelope PRC4 Long Edge"
+msgstr "Sobre PRC4 costat llarg"
+
+msgid "Envelope PRC5 Long Edge"
+msgstr "Sobre PRC5 costat llarg"
+
+msgid "Envelope PRC5PRC5"
+msgstr "Sobre PRC5"
+
+msgid "Envelope PRC6"
+msgstr "Sobre PRC6"
+
+msgid "Envelope PRC6 Long Edge"
+msgstr "Sobre PRC6 costat llarg"
+
+msgid "Envelope PRC7"
+msgstr "Sobre PRC7"
+
+msgid "Envelope PRC7 Long Edge"
+msgstr "Sobre PRC7 costat llarg"
+
+msgid "Envelope PRC8"
+msgstr "Sobre PRC8"
+
+msgid "Envelope PRC8 Long Edge"
+msgstr "Sobre PRC8 costat llarg"
+
+msgid "Envelope PRC9"
+msgstr "Sobre PRC9"
+
+msgid "Envelope PRC9 Long Edge"
+msgstr "Sobre PRC9 costat llarg"
+
+msgid "Envelope Personal"
+msgstr "Sobre personalitzat"
+
+msgid "Envelope You4"
+msgstr "Sobre You4"
+
+msgid "Envelope You4 Long Edge"
+msgstr "Sobre You4 costat llarg"
+
+msgid "Epson"
+msgstr "Epson"
+
+msgid "Error Policy"
+msgstr "Normes d'error"
+
+msgid "Error sending raster data."
+msgstr "S'ha produït un error quan s'enviaven les dades de la trama."
+
+msgid "Error: need hostname after \"-h\" option."
+msgstr "ERROR: es necessita un nom d'amfitrió després de l'opció «-h»."
+
+msgid "Every 10 Labels"
+msgstr "Cada 10 etiquetes"
+
+msgid "Every 2 Labels"
+msgstr "Cada 2 etiquetes"
+
+msgid "Every 3 Labels"
+msgstr "Cada 3 etiquetes"
+
+msgid "Every 4 Labels"
+msgstr "Cada 4 etiquetes"
+
+msgid "Every 5 Labels"
+msgstr "Cada 5 etiquetes"
+
+msgid "Every 6 Labels"
+msgstr "Cada 6 etiquetes"
+
+msgid "Every 7 Labels"
+msgstr "Cada 7 etiquetes"
+
+msgid "Every 8 Labels"
+msgstr "Cada 8 etiquetes"
+
+msgid "Every 9 Labels"
+msgstr "Cada 9 etiquetes"
+
+msgid "Every Label"
+msgstr "Cada etiqueta"
+
+msgid "Executive"
+msgstr "Executiu"
+
+msgid "Expectation Failed"
+msgstr "Ha fallat la condició del valor que s'esperava"
+
+msgid "Export Printers to Samba"
+msgstr "Exportar les impressores al Samba"
+
+msgid "FAIL"
+msgstr "ERROR"
+
+msgid "FanFold German"
+msgstr "Paper continu alemany"
+
+msgid "FanFold Legal German"
+msgstr "Paper continu legal alemany"
+
+msgid "Fanfold US"
+msgstr "Paper continu americà"
+
+#, c-format
+msgid "File \"%s\" contains a relative path."
+msgstr "El fitxer «%s» conté un camí relatiu."
+
+#, c-format
+msgid "File \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
+msgstr "El fitxer «%s» té permisos que no són segurs (0%o/uid=%d/gid=%d)."
+
+#, c-format
+msgid "File \"%s\" is a directory."
+msgstr "El fitxer «%s» és un directori."
+
+#, c-format
+msgid "File \"%s\" not available: %s"
+msgstr "El fitxer «%s» no està disponible: %s"
+
+#, c-format
+msgid "File \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
+msgstr "El fitxer «%s» té els permisos correctes (0%o/uid=%d/gid=%d)."
+
+msgid "File Folder "
+msgstr "Carpeta d'arxivador "
+
+#, c-format
+msgid ""
+"File device URIs have been disabled. To enable, see the FileDevice directive "
+"in \"%s/cups-files.conf\"."
+msgstr ""
+
+#, c-format
+msgid "Finished page %d."
+msgstr "S'ha acabat la pàgina %d."
+
+msgid "Folio"
+msgstr "Foli"
+
+msgid "Forbidden"
+msgstr "Prohibit"
+
+msgid "General"
+msgstr "General"
+
+msgid "Generic"
+msgstr "Genèric"
+
+msgid "Get-Response-PDU uses indefinite length"
+msgstr "La Get-Response-PDU fa servir una longitud indefinida"
+
+msgid "Glossy Paper"
+msgstr "Paper fotogràfic"
+
+msgid "Got a printer-uri attribute but no job-id."
+msgstr "S'ha obtingut l'atribut printer-uri però no el job-id."
+
+msgid "Grayscale"
+msgstr "Escala de grisos"
+
+msgid "HP"
+msgstr "HP"
+
+msgid "Hanging Folder"
+msgstr "Carpeta per penjar"
+
+msgid "Help file not in index."
+msgstr "El fitxer d'ajuda no és a l'índex."
+
+msgid "IPP 1setOf attribute with incompatible value tags."
+msgstr ""
+"L'atribut 1setOf del IPP té etiquetes amb valors que no són compatibles."
+
+msgid "IPP attribute has no name."
+msgstr "L'atribut del IPP no té nom."
+
+msgid "IPP attribute is not a member of the message."
+msgstr "L'atribut del IPP no és membre del missatge."
+
+msgid "IPP begCollection value not 0 bytes."
+msgstr "El valor de begColletion del IPP no té 0 bytes."
+
+msgid "IPP boolean value not 1 byte."
+msgstr "El valor booleà del IPP no té 1 byte."
+
+msgid "IPP date value not 11 bytes."
+msgstr "El valor de date del IPP no té 11 bytes."
+
+msgid "IPP endCollection value not 0 bytes."
+msgstr "El valor de endColletion del IPP no té 0 bytes."
+
+msgid "IPP enum value not 4 bytes."
+msgstr "El valor de enum del IPP no té 4 bytes."
+
+msgid "IPP extension tag larger than 0x7FFFFFFF."
+msgstr "La etiqueta d'extension del IPP és més llarga de 0x7FFFFFFF."
+
+msgid "IPP integer value not 4 bytes."
+msgstr "El valor enter de IPP no té 4 bytes."
+
+msgid "IPP language length overflows value."
+msgstr "El valor de la longitud del llenguatge del IPP desborda."
+
+msgid "IPP member name is not empty."
+msgstr "El nom del membre del IPP no està buit."
+
+msgid "IPP memberName value is empty."
+msgstr "El valor de memberName de l'IPP està buit."
+
+msgid "IPP memberName with no attribute."
+msgstr ""
+
+msgid "IPP name larger than 32767 bytes."
+msgstr "EL nom del IPP és més llarg de 32767 bytes."
+
+msgid "IPP nameWithLanguage value less than minimum 4 bytes."
+msgstr ""
+"El valor de nameWithLanguage del IPP és més petit que el mínim, 4 bytes."
+
+msgid "IPP rangeOfInteger value not 8 bytes."
+msgstr "El valor de rangeOfInteger del IPP no té 8 bytes."
+
+msgid "IPP resolution value not 9 bytes."
+msgstr "El valor de resolution del IPP no té 9 bytes."
+
+msgid "IPP string length overflows value."
+msgstr "El valor de la longitud de la cadena del IPP desborda."
+
+msgid "IPP textWithLanguage value less than minimum 4 bytes."
+msgstr ""
+"EL valor de textWithLanguage del IPP és més petit que el mínim, 4 bytes."
+
+msgid "IPP value larger than 32767 bytes."
+msgstr "El valor del IPP és més llarg de 32767 bytes."
+
+msgid "ISOLatin1"
+msgstr "ISOLatin1"
+
+msgid "Illegal control character"
+msgstr "Caràcter de control no permès"
+
+msgid "Illegal main keyword string"
+msgstr "Cadena de paraula clau principal no permesa"
+
+msgid "Illegal option keyword string"
+msgstr "Cadena de paraula clau d'opció no permesa"
+
+msgid "Illegal translation string"
+msgstr "Cadena de traducció no permesa"
+
+msgid "Illegal whitespace character"
+msgstr "Caràcter d'espai en blanc no permés"
+
+msgid "Installable Options"
+msgstr "Opcions instal·lables"
+
+msgid "Installed"
+msgstr "Instal·lat"
+
+msgid "IntelliBar Label Printer"
+msgstr "Impressora d'etiquetes IntelliBar"
+
+msgid "Intellitech"
+msgstr "Intellitech"
+
+msgid "Internal Server Error"
+msgstr "Error intern del servidor"
+
+msgid "Internal error"
+msgstr "Error intern"
+
+msgid "Internet Postage 2-Part"
+msgstr "Franqueig per Internet en 2 parts"
+
+msgid "Internet Postage 3-Part"
+msgstr "Franqueig per Internet en 3 parts"
+
+msgid "Internet Printing Protocol"
+msgstr "Protocol d'impressió per Internet"
+
+msgid "Invalid media size."
+msgstr "Mida del suport no vàlida."
+
+#, c-format
+msgid "Invalid printer command \"%s\"."
+msgstr "La comanda de la impressora «%s» no és vàlida."
+
+msgid "JCL"
+msgstr "Llenguatge de control de tasques (JCL)"
+
+msgid "JIS B0"
+msgstr "JIS B0"
+
+msgid "JIS B1"
+msgstr "JIS B1"
+
+msgid "JIS B10"
+msgstr "JIS B10"
+
+msgid "JIS B2"
+msgstr "JIS B2"
+
+msgid "JIS B3"
+msgstr "JIS B3"
+
+msgid "JIS B4"
+msgstr "JIS B4"
+
+msgid "JIS B4 Long Edge"
+msgstr "JIS B4 costat llarg"
+
+msgid "JIS B5"
+msgstr "JIS B5"
+
+msgid "JIS B5 Long Edge"
+msgstr "JIS B5 costat llarg"
+
+msgid "JIS B6"
+msgstr "JIS B6"
+
+msgid "JIS B6 Long Edge"
+msgstr "JIS B6 costat llarg"
+
+msgid "JIS B7"
+msgstr "JIS B7"
+
+msgid "JIS B8"
+msgstr "JIS B8"
+
+msgid "JIS B9"
+msgstr "JIS B9"
+
+#, c-format
+msgid "Job #%d cannot be restarted - no files."
+msgstr "La feina #%d no es pot tornar a iniciar - no hi ha fitxers."
+
+#, c-format
+msgid "Job #%d does not exist."
+msgstr "La feina #%d no existeix."
+
+#, c-format
+msgid "Job #%d is already aborted - can't cancel."
+msgstr "La feina #%d ja s'ha interromput: no es pot cancel·lar."
+
+#, c-format
+msgid "Job #%d is already canceled - can't cancel."
+msgstr "La feina #%d ja està cancel·lada: no es pot cancel·lar."
+
+#, c-format
+msgid "Job #%d is already completed - can't cancel."
+msgstr "La feina #%d ja s'ha acabat: no es pot cancel·lar."
+
+#, c-format
+msgid "Job #%d is finished and cannot be altered."
+msgstr "La feina #%d s'ha acabat i no es pot canviar."
+
+#, c-format
+msgid "Job #%d is not complete."
+msgstr "La feina #%d no s'ha acabat."
+
+#, c-format
+msgid "Job #%d is not held for authentication."
+msgstr "La feina #%d no està aturada per ser autenticada."
+
+#, c-format
+msgid "Job #%d is not held."
+msgstr "La feina #%d no està aturada."
+
+msgid "Job Completed"
+msgstr "S'ha acabat la feina"
+
+msgid "Job Created"
+msgstr "S'ha creat la feina"
+
+msgid "Job Options Changed"
+msgstr "S'han canviat les opcions de la feina"
+
+msgid "Job Stopped"
+msgstr "S'ha aturat la feina"
+
+msgid "Job is completed and cannot be changed."
+msgstr "La feina s'ha finalitzat i no es pot canviar."
+
+msgid "Job operation failed"
+msgstr "Ha fallat l'operació de la feina"
+
+msgid "Job state cannot be changed."
+msgstr "L'estat de la feina no es pot canviar."
+
+msgid "Job subscriptions cannot be renewed."
+msgstr "Les subscripcions a les feines no es poden renovar."
+
+msgid "Jobs"
+msgstr "Feines"
+
+msgid "LPD/LPR Host or Printer"
+msgstr "Amfitrió o impressora LPD/LPR"
+
+msgid "Label Printer"
+msgstr "Impressora d'etiquetes"
+
+msgid "Label Top"
+msgstr "Capçalera de l'etiqueta"
+
+#, c-format
+msgid "Language \"%s\" not supported."
+msgstr "L'idioma «%s» no està disponible."
+
+msgid "Large Address"
+msgstr "Adreça gran"
+
+msgid "LaserJet Series PCL 4/5"
+msgstr "Sèrie Laser Jet PCL 4/5"
+
+msgid "Letter Oversize"
+msgstr "Carta gran"
+
+msgid "Letter Oversize Long Edge"
+msgstr "Carta americà gran costat llarg"
+
+msgid "Light"
+msgstr "Lluminós"
+
+msgid "Line longer than the maximum allowed (255 characters)"
+msgstr "La línia la longitud màxima permesa (255 caràcters)"
+
+msgid "List Available Printers"
+msgstr "Llista les impressores disponibles"
+
+msgid "Long-Edge (Portrait)"
+msgstr "Costat-llarg (vertical)"
+
+msgid "Looking for printer."
+msgstr "S'està buscant la impressora."
+
+msgid "Manual Feed"
+msgstr "Alimentació manual"
+
+msgid "Media Size"
+msgstr "Mida del paper"
+
+msgid "Media Source"
+msgstr "Font del paper"
+
+msgid "Media Tracking"
+msgstr "Seguiment del paper"
+
+msgid "Media Type"
+msgstr "Tipus de paper"
+
+msgid "Medium"
+msgstr "Mitjà"
+
+msgid "Memory allocation error"
+msgstr "S'ha produït un error d'ubicació de memòria"
+
+msgid "Missing CloseGroup"
+msgstr "Falta el CloseGroup"
+
+msgid "Missing PPD-Adobe-4.x header"
+msgstr "Falta la capçalera PPD-ADOBE-4.x"
+
+msgid "Missing asterisk in column 1"
+msgstr "Falta un asterisc a la columna 1"
+
+msgid "Missing document-number attribute."
+msgstr "Falta l'atribut document-number."
+
+#, c-format
+msgid "Missing double quote on line %d."
+msgstr "Falta una cometa doble a la línia %d."
+
+msgid "Missing form variable"
+msgstr "Falta una variable del formulari"
+
+msgid "Missing last-document attribute in request."
+msgstr "Falta l'atribut last-document-number a la petició."
+
+msgid "Missing media or media-col."
+msgstr "Falta el media o el media-col."
+
+msgid "Missing media-size in media-col."
+msgstr "Falta el media-size al media-col."
+
+msgid "Missing notify-subscription-ids attribute."
+msgstr "Falta l'atribut notify-subscription-ids."
+
+msgid "Missing option keyword"
+msgstr "Falta l'opció keyword"
+
+msgid "Missing requesting-user-name attribute."
+msgstr "Falta l'atribut requesting-user-name."
+
+msgid "Missing required attributes."
+msgstr "Falten alguns atributs necessaris."
+
+#, c-format
+msgid "Missing value on line %d."
+msgstr "Falta un valor a la línia %d."
+
+msgid "Missing value string"
+msgstr "Falta la cadena de valor"
+
+msgid "Missing x-dimension in media-size."
+msgstr "Falta la mida x a la mida del suport."
+
+msgid "Missing y-dimension in media-size."
+msgstr "Falta la mida y a la mida del suport."
+
+#, c-format
+msgid ""
+"Model:  name = %s\n"
+"        natural_language = %s\n"
+"        make-and-model = %s\n"
+"        device-id = %s"
+msgstr ""
+"Model:  nom = %s\n"
+"        idioma_natural = %s\n"
+"        fabricant i model = %s\n"
+"        id del dispositiu = %s"
+
+msgid "Modify Class"
+msgstr "Modifica la classe"
+
+msgid "Modify Printer"
+msgstr "Modifica la impressora"
+
+msgid "Move All Jobs"
+msgstr "Mou totes les feines"
+
+msgid "Move Job"
+msgstr "Mou la feina"
+
+msgid "Moved Permanently"
+msgstr "S'ha mogut de manera permanent"
+
+msgid "NULL PPD file pointer"
+msgstr "Punter del fitxer PPD NUL"
+
+msgid "Name OID uses indefinite length"
+msgstr "El nom de l'OID fa servir una longitud indefinida"
+
+msgid "Nested classes are not allowed."
+msgstr "No es permeten les classes imbricades."
+
+msgid "Never"
+msgstr "Mai"
+
+msgid "New Stylus Color Series"
+msgstr "Sèrie New Stylus Color"
+
+msgid "New Stylus Photo Series"
+msgstr "Sèrie New Stylus Photo"
+
+msgid "No"
+msgstr "No"
+
+msgid "No Content"
+msgstr "No hi ha contingut"
+
+msgid "No PPD name"
+msgstr "El PPD no té nom"
+
+msgid "No VarBind SEQUENCE"
+msgstr "No hi ha cap SEQUENCE VarBind"
+
+msgid "No Windows printer drivers are installed."
+msgstr "No hi ha cap controlador d'impressores de Windows instal·lat."
+
+msgid "No active connection"
+msgstr "No hi ha cap connexió activa"
+
+#, c-format
+msgid "No active jobs on %s."
+msgstr "No hi ha cap feina activa a %s."
+
+msgid "No attributes in request."
+msgstr "No hi ha atributs en demanda."
+
+msgid "No authentication information provided."
+msgstr "No s'ha donat cap informació d'autenticació."
+
+msgid "No community name"
+msgstr "Ho hi na cap nom de comunitat"
+
+msgid "No default printer."
+msgstr "No hi ha cap impressora per defecte."
+
+msgid "No destinations added."
+msgstr "No s'ha afegit cap destí."
+
+msgid "No device URI found in argv[0] or in DEVICE_URI environment variable."
+msgstr ""
+"No s'ha trobat cap URI de dispositiu a argv[0] o a la variable d'entorn "
+"DEVICE_URI."
+
+msgid "No error-index"
+msgstr "No hi ca cap error-index"
+
+msgid "No error-status"
+msgstr "No hi ha cap status-error"
+
+msgid "No file in print request."
+msgstr "No hi ha cap printer-uri a la sol·licitud."
+
+msgid "No modification time"
+msgstr "No hi ha hora de modificació"
+
+msgid "No name OID"
+msgstr "No hi ha cap nom d'OID"
+
+msgid "No pages were found."
+msgstr "No s'ha trobat cap pàgina."
+
+msgid "No printer name"
+msgstr "No hi ha cap nom d'impressora"
+
+msgid "No printer-uri found"
+msgstr "No s'ha trobat cap printer-uri"
+
+msgid "No printer-uri found for class"
+msgstr "No s'ha trobat cap printer-uri per la classe"
+
+msgid "No printer-uri in request."
+msgstr "No hi ha cap printer-uri a la sol·licitud."
+
+msgid "No request-id"
+msgstr "No hi ha cap request-id"
+
+msgid "No subscription attributes in request."
+msgstr "No hi ha cap atribut de la subscripció a la sol·licitud."
+
+msgid "No subscriptions found."
+msgstr "No s'ha trobat cap sol·licitud."
+
+msgid "No variable-bindings SEQUENCE"
+msgstr "No hi ha cap SEQUENCE variable-bindings"
+
+msgid "No version number"
+msgstr "No hi ha cap número de versió"
+
+msgid "Non-continuous (Mark sensing)"
+msgstr "Discontinu (sensible a les marques)"
+
+msgid "Non-continuous (Web sensing)"
+msgstr "Discontinu (Sensible al web)"
+
+msgid "Normal"
+msgstr "Normal"
+
+msgid "Not Found"
+msgstr "No s'ha trobat"
+
+msgid "Not Implemented"
+msgstr "No implementat"
+
+msgid "Not Installed"
+msgstr "No està instal·lat"
+
+msgid "Not Modified"
+msgstr "No està modificat"
+
+msgid "Not Supported"
+msgstr "No és compatible"
+
+msgid "Not allowed to print."
+msgstr "No teniu permís per imprimir."
+
+msgid "Note"
+msgstr "Nota"
+
+msgid ""
+"Note: this program only validates the DSC comments, not the PostScript "
+"itself."
+msgstr ""
+"Nota: aquest programa només valida els comentaris DSC, no el PostScript."
+
+msgid "OK"
+msgstr "D'acord"
+
+msgid "Off (1-Sided)"
+msgstr "Inactiu (Una cara)"
+
+msgid "Oki"
+msgstr "Oki"
+
+msgid "Online Help"
+msgstr "Ajuda en línia"
+
+#, c-format
+msgid "Open of %s failed: %s"
+msgstr "No s'ha pogut obrir %s: %s"
+
+msgid "OpenGroup without a CloseGroup first"
+msgstr "OpenGroup sense un CloseGroup abans"
+
+msgid "OpenUI/JCLOpenUI without a CloseUI/JCLCloseUI first"
+msgstr "OpenUI/JCLOpenUI sense un CloseUI/JCLCloseUI abans"
+
+msgid "Operation Policy"
+msgstr "Política d'operacions"
+
+#, c-format
+msgid "Option \"%s\" cannot be included via %%%%IncludeFeature."
+msgstr "L'opció «%s» no es pot incloure a través de %%%%IncludeFeature."
+
+msgid "Options Installed"
+msgstr "Opcions instal·lades"
+
+msgid "Options:"
+msgstr "Opcions:"
+
+msgid "Out of date PPD cache file."
+msgstr "El fitxer de memòria cau del PPD no està actualitzat."
+
+msgid "Out of memory."
+msgstr "Sense memòria."
+
+msgid "Output Mode"
+msgstr "Mode de sortida"
+
+#, c-format
+msgid "Output for printer %s is sent to %s"
+msgstr "La sortida de la impressora %s s'envia a %s"
+
+#, c-format
+msgid "Output for printer %s is sent to remote printer %s on %s"
+msgstr "La sortida de la impressora %s s'envia a la impressora remota %s a %s"
+
+#, c-format
+msgid "Output for printer %s/%s is sent to %s"
+msgstr "La sortida per la impressora %s/%s s'envia a la impressora %s"
+
+#, c-format
+msgid "Output for printer %s/%s is sent to remote printer %s on %s"
+msgstr ""
+"La sortida per la impressora %s/%s s'envia a la impressora remota %s a %s"
+
+msgid "PASS"
+msgstr "VÀLID"
+
+msgid "PCL Laser Printer"
+msgstr "Impressora làser PCL"
+
+msgid "PRC16K"
+msgstr "PRC16K"
+
+msgid "PRC16K Long Edge"
+msgstr "PRC16K costat llarg"
+
+msgid "PRC32K"
+msgstr "PRC32K"
+
+msgid "PRC32K Long Edge"
+msgstr "PRC32K costat llarg"
+
+msgid "PRC32K Oversize"
+msgstr "PRC32K gran"
+
+msgid "PRC32K Oversize Long Edge"
+msgstr "PRC32K gran costat llarg"
+
+msgid "Packet does not contain a Get-Response-PDU"
+msgstr "El paquet no conté cap Get-Response-PDU"
+
+msgid "Packet does not start with SEQUENCE"
+msgstr "El paquet no comença amb SEQUENCE"
+
+msgid "ParamCustominCutInterval"
+msgstr "ParamCustominCutInterval"
+
+msgid "ParamCustominTearInterval"
+msgstr "ParamCustominTearInterval"
+
+#, c-format
+msgid "Password for %s on %s? "
+msgstr "Contrasenya per %s a %s? "
+
+#, c-format
+msgid "Password for %s required to access %s via SAMBA: "
+msgstr "Es necessita la contrasenya de %s per accedir a %s a través de SAMBA: "
+
+msgid "Pause Class"
+msgstr "Posa la classe en pausa"
+
+msgid "Pause Printer"
+msgstr "Posa la impressora en pausa"
+
+msgid "Peel-Off"
+msgstr "Desenganxar"
+
+msgid "Photo"
+msgstr "Fotografia"
+
+msgid "Photo Labels"
+msgstr "Etiquetes de fotografia"
+
+msgid "Plain Paper"
+msgstr "Paper normal"
+
+msgid "Policies"
+msgstr "Polítiques"
+
+msgid "Port Monitor"
+msgstr "Seguiment del port"
+
+msgid "PostScript Printer"
+msgstr "Impressora PostScript"
+
+msgid "Postcard"
+msgstr "Postal"
+
+msgid "Postcard Double "
+msgstr "Postal doble"
+
+msgid "Postcard Double Long Edge"
+msgstr "Postal doble costat llarg"
+
+msgid "Postcard Long Edge"
+msgstr "Postal costat llarg"
+
+msgid "Print Density"
+msgstr "Densitat de la impressió"
+
+msgid "Print Job:"
+msgstr "Feina d'impressió:"
+
+msgid "Print Mode"
+msgstr "Mode d'impressió"
+
+msgid "Print Rate"
+msgstr "Ritme d'impressió"
+
+msgid "Print Self-Test Page"
+msgstr "Imprimeix la pàgina de prova pròpia"
+
+msgid "Print Speed"
+msgstr "Velocitat d'impressió"
+
+msgid "Print Test Page"
+msgstr "Imprimeix una pàgina de prova"
+
+msgid "Print and Cut"
+msgstr "Imprimeix i talla"
+
+msgid "Print and Tear"
+msgstr "Imprimeix i estripa"
+
+#, c-format
+msgid "Print file accepted - job ID %d."
+msgstr "S'ha acceptat el fitxer d'impressió - ID de la feina %d."
+
+msgid "Print file accepted - job ID unknown."
+msgstr "S'ha acceptat el fitxer d'impressió - l'ID de la feina és desconegut."
+
+msgid "Print file sent."
+msgstr "S'ha enviat el fitxer d'impressió."
+
+msgid "Print file was not accepted."
+msgstr "No s'ha acceptat el fitxer d'impressió."
+
+msgid "Print job canceled at printer."
+msgstr "S'ha cancel·lat la feina a la impressora."
+
+msgid "Print job too large."
+msgstr "La feina d'impressió és massa llarga."
+
+msgid "Printer Added"
+msgstr "S'ha afegit una impressora"
+
+msgid "Printer Default"
+msgstr "Impressora per defecte"
+
+msgid "Printer Deleted"
+msgstr "S'ha eliminat la impressora"
+
+msgid "Printer Modified"
+msgstr "S'ha modificat la impressora"
+
+msgid "Printer Paused"
+msgstr "S'ha posat la impressora en pausa"
+
+msgid "Printer Settings"
+msgstr "Configuració de la impressora"
+
+msgid "Printer cannot print supplied content."
+msgstr "La impressora no pot imprimir el contingut subministrat."
+
+msgid "Printer:"
+msgstr "Impressora:"
+
+msgid "Printers"
+msgstr "Impressores"
+
+#, c-format
+msgid "Printing page %d, %d%% complete."
+msgstr "S'està imprimint la pàgina %d. S'ha completat el %d%%."
+
+msgid "Purge Jobs"
+msgstr "Purga les feines"
+
+msgid "Quarto"
+msgstr "Quart"
+
+msgid "Quota limit reached."
+msgstr "S'ha assolit el límit de la quota."
+
+msgid "Rank    Owner   Job     File(s)                         Total Size"
+msgstr ""
+"Rang    Propietari   Feina     Fitxer(s)                         Mida total"
+
+#. TRANSLATORS: Pri is job priority.
+msgid ""
+"Rank   Owner      Pri  Job        Files                       Total Size"
+msgstr ""
+"Rang   Propietari      Pri  Feina        Fitxers                       Mida "
+"total"
+
+msgid "Reject Jobs"
+msgstr "Rebutja feines"
+
+#, c-format
+msgid "Remote host did not accept control file (%d)."
+msgstr "L'amfitrió remot no accepta el fitxer de control (%d)."
+
+#, c-format
+msgid "Remote host did not accept data file (%d)."
+msgstr "L'amfitrió remot no accepta el fitxer de dades (%d)."
+
+msgid "Reprint After Error"
+msgstr "Torna a imprimir després d'un error"
+
+msgid "Request Entity Too Large"
+msgstr "Entitat de petició massa gran"
+
+msgid "Resolution"
+msgstr "Resolució"
+
+msgid "Resume Class"
+msgstr "Reprèn la classe"
+
+msgid "Resume Printer"
+msgstr "Reprèn la impressora"
+
+msgid "Return Address"
+msgstr "Remitent"
+
+msgid "Rewind"
+msgstr "Rebobina"
+
+#, c-format
+msgid "Running command: %s %s -N -A %s -c '%s'"
+msgstr "S'està executant l'ordre: %s %s -N -A %s -c «%s»"
+
+msgid "SEQUENCE uses indefinite length"
+msgstr "SEQUENCE té una longitud indefinida"
+
+msgid "SSL/TLS Negotiation Error"
+msgstr "S'ha produït un error mentre es negociava el SSL/TLS"
+
+msgid "See Other"
+msgstr "Vegeu altres"
+
+msgid "Sending data to printer."
+msgstr "S'envien les dades a la impressora."
+
+msgid "Server Restarted"
+msgstr "S'ha reiniciat el servidor"
+
+msgid "Server Security Auditing"
+msgstr "S'està auditant la seguretat del servidor"
+
+msgid "Server Started"
+msgstr "S'ha iniciat el servidor"
+
+msgid "Server Stopped"
+msgstr "S'ha aturat el servidor"
+
+msgid "Service Unavailable"
+msgstr "El servei no està disponible"
+
+msgid "Set Allowed Users"
+msgstr "Definir els permisos dels usuaris"
+
+msgid "Set As Server Default"
+msgstr "Establir com a servidor per defecte"
+
+msgid "Set Class Options"
+msgstr "Definir les opcions de la classe"
+
+msgid "Set Printer Options"
+msgstr "Definir les opcions de la impressora"
+
+msgid "Set Publishing"
+msgstr "Establir com a pública"
+
+msgid "Shipping Address"
+msgstr "Adreça de lliurament"
+
+msgid "Short-Edge (Landscape)"
+msgstr "Costat curt (horitzontal)"
+
+msgid "Special Paper"
+msgstr "Paper especial"
+
+#, c-format
+msgid "Spooling job, %.0f%% complete."
+msgstr "S'està posant a la cua la feina. S'ha completat el %.0f%%."
+
+msgid "Standard"
+msgstr "Estàndard"
+
+#. TRANSLATORS: Banner/cover sheet before the print job.
+msgid "Starting Banner"
+msgstr "Bàner inicial"
+
+#, c-format
+msgid "Starting page %d."
+msgstr "S'està començant la pàgina %d."
+
+msgid "Statement"
+msgstr "Declaració"
+
+msgid "Stylus Color Series"
+msgstr "Sèrie Stylus Color"
+
+msgid "Stylus Photo Series"
+msgstr "Sèrie Stylus Photo"
+
+#, c-format
+msgid "Subscription #%d does not exist."
+msgstr "La subscripció #%d no existeix."
+
+msgid "Super A"
+msgstr "Super A"
+
+msgid "Super B"
+msgstr "Super B"
+
+msgid "Super B/A3"
+msgstr "Super B/A3"
+
+msgid "Switching Protocols"
+msgstr "Intercanviar els protocols"
+
+msgid "Tabloid"
+msgstr "Tabloide"
+
+msgid "Tabloid Oversize"
+msgstr "Tabloide gran"
+
+msgid "Tabloid Oversize Long Edge"
+msgstr "Tabloide gran costat llarg"
+
+msgid "Tear"
+msgstr "Estripar"
+
+msgid "Tear-Off"
+msgstr "Estripar"
+
+msgid "Tear-Off Adjust Position"
+msgstr "Posició d'ajust d'estripat"
+
+#, c-format
+msgid "The %s attribute cannot be provided with job-ids."
+msgstr "No es pot fer servir l'atribut %s amb les job-ids."
+
+#, c-format
+msgid ""
+"The '%s' Job Description attribute cannot be supplied in a job creation "
+"request."
+msgstr ""
+
+#, c-format
+msgid ""
+"The '%s' operation attribute cannot be supplied in a Create-Job request."
+msgstr ""
+"L'atribut d'operació «%s» no es pot subministrar en una petició de Create-"
+"Job."
+
+#, c-format
+msgid "The PPD file \"%s\" could not be found."
+msgstr "No s'ha pogut trobar el fitxer PPD «%s»."
+
+#, c-format
+msgid "The PPD file \"%s\" could not be opened: %s"
+msgstr "No s'ha pogut obrir el fitxer PPD «%s»: %s"
+
+msgid "The PPD file could not be opened."
+msgstr "No s'ha pogut obrir el fitxer PPD."
+
+msgid ""
+"The class name may only contain up to 127 printable characters and may not "
+"contain spaces, slashes (/), or the pound sign (#)."
+msgstr ""
+"El nom de la classe només pot tenir fins a 127 caràcters imprimibles i no "
+"pot contenir espais, barres (/) o el símbol coixinet (#)."
+
+msgid "The developer unit needs to be replaced."
+msgstr "S'ha de canviar la unitat de desenvolupament."
+
+msgid "The developer unit will need to be replaced soon."
+msgstr "La unitat de desenvolupament s'haurà de canviar aviat."
+
+msgid "The fuser's temperature is high."
+msgstr "La temperatura del fusor és alta."
+
+msgid "The fuser's temperature is low."
+msgstr "La temperatura del fusor és baixa."
+
+msgid ""
+"The notify-lease-duration attribute cannot be used with job subscriptions."
+msgstr ""
+"No es pot fer servir l'atribut notify-lease-duration amb les subscripcions a "
+"tasques."
+
+#, c-format
+msgid "The notify-user-data value is too large (%d > 63 octets)."
+msgstr "El valor de notify-user-data és massa llarg (%d > 63 octets)."
+
+msgid "The optical photoconductor needs to be replaced."
+msgstr "S'ha de canviar el fotoconductor òptic."
+
+msgid "The optical photoconductor will need to be replaced soon."
+msgstr "El fotoconductor òptic s'haurà de canviar aviat."
+
+msgid "The output bin is almost full."
+msgstr "La safata de sortida és gairebé plena."
+
+msgid "The output bin is full."
+msgstr "La safata de sortida és plena."
+
+msgid "The output bin is missing."
+msgstr "Falta la safata de sortida."
+
+msgid "The paper tray is almost empty."
+msgstr "La safata de paper és gairebé buida."
+
+msgid "The paper tray is empty."
+msgstr "La safata de paper és buida."
+
+msgid "The paper tray is missing."
+msgstr "Falta la safata de paper."
+
+msgid "The paper tray needs to be filled."
+msgstr "S'ha d'omplir la safata de paper."
+
+msgid "The printer URI is incorrect or no longer exists."
+msgstr "L'URI de la impressora no és correcte o ja no existeix."
+
+msgid "The printer did not respond."
+msgstr "La impressora no ha respost."
+
+#, c-format
+msgid "The printer does not support IPP/%d.%d, trying IPP/%s."
+msgstr ""
+"La impressora no és compatible amb el IPP/%d.%d, s'està intentant el IPP/%s."
+
+msgid "The printer is in use."
+msgstr "La impressora està ocupada."
+
+msgid "The printer is not connected."
+msgstr "La impressora no està connectada."
+
+msgid "The printer is not responding."
+msgstr "La impressora no respòn."
+
+msgid "The printer is now connected."
+msgstr "Ara la impressora està connectada."
+
+msgid "The printer is now online."
+msgstr "Ara la impressora està en línia."
+
+msgid "The printer is offline."
+msgstr "La impressora està fora de línia."
+
+msgid "The printer is running low on ink."
+msgstr "S'està acabant la tinta de la impressora."
+
+msgid "The printer is running low on toner."
+msgstr "S'està acabant el tòner de la impressora."
+
+msgid "The printer is unreachable at this time."
+msgstr "Ara mateix no es pot accedir a la impressora."
+
+msgid "The printer may be out of ink."
+msgstr "Es deu haver acabat la tinta de la impressora."
+
+msgid "The printer may be out of toner."
+msgstr "Es deu haver acabat el tòner de la impressora."
+
+msgid "The printer may not exist or is unavailable at this time."
+msgstr ""
+"Pot ser que la impressora no existeixi o que ara mateix no estigui "
+"accessible."
+
+msgid ""
+"The printer name may only contain up to 127 printable characters and may not "
+"contain spaces, slashes (/), or the pound sign (#)."
+msgstr ""
+"El nom de la impressora només pot tenir fins a 127 caràcters imprimibles i "
+"no pot contenir espais, barres (/) o el símbol coixinet (#)."
+
+msgid "The printer or class does not exist."
+msgstr "La impressora o la classe no existeix."
+
+msgid "The printer or class is not shared."
+msgstr "La impressora o la classe no estan compartides."
+
+msgid "The printer's cover is open."
+msgstr "La tapa de la impressora està oberta."
+
+msgid "The printer's door is open."
+msgstr "La porta de la impressora està oberta."
+
+msgid "The printer's interlock is open."
+msgstr "L'enclavament de seguretat de la impressora està obert."
+
+msgid "The printer's waste bin is almost full."
+msgstr "El dipòsit de residus és gairebé ple."
+
+msgid "The printer's waste bin is full."
+msgstr "El dipòsit de residus és ple."
+
+#, c-format
+msgid "The printer-uri \"%s\" contains invalid characters."
+msgstr "El printer-uri «%s» conté caràcters no vàlids."
+
+msgid "The printer-uri attribute is required."
+msgstr "L'atribut printer-uri és obligatori."
+
+msgid ""
+"The printer-uri must be of the form \"ipp://HOSTNAME/classes/CLASSNAME\"."
+msgstr ""
+"El printer-uri ha de tenir la forma «ipp://NOMAMFITRIÓ/classes/NOMCLASSE»."
+
+msgid ""
+"The printer-uri must be of the form \"ipp://HOSTNAME/printers/PRINTERNAME\"."
+msgstr ""
+"El printer-uri ha de tenir la forma «ipp://NOMAMFITRIÓ/printers/"
+"NOMIMPRESSORA»."
+
+msgid ""
+"The subscription name may not contain spaces, slashes (/), question marks "
+"(?), or the pound sign (#)."
+msgstr ""
+"La subscripció no pot contenir espais, barres (/), interrogacions (?), o el "
+"símbol coixinet (#)."
+
+msgid ""
+"The web interface is currently disabled. Run \"cupsctl WebInterface=yes\" to "
+"enable it."
+msgstr ""
+"La interfície web està deshabilitada. Executeu «cupsctl WebInterface=yes» "
+"per habilitar-la."
+
+#, c-format
+msgid "The which-jobs value \"%s\" is not supported."
+msgstr "El valor «%s» de which-jobs no està implementat."
+
+msgid "There are too many subscriptions."
+msgstr "Hi ha massa subscripcions."
+
+msgid "There is a paper jam."
+msgstr "S'ha encallat el paper."
+
+msgid "There was an unrecoverable USB error."
+msgstr "Hi ha un error de l'USB irrecuperable."
+
+msgid "Thermal Transfer Media"
+msgstr "Mitjà de transferència tèrmica"
+
+msgid "Too many active jobs."
+msgstr "Hi ha massa tasques actives."
+
+#, c-format
+msgid "Too many job-sheets values (%d > 2)."
+msgstr "Hi ha massa valors de job-sheets (%d > 2)."
+
+#, c-format
+msgid "Too many printer-state-reasons values (%d > %d)."
+msgstr "Hi ha massa valors de printer-state-reasons (%d > %d)."
+
+msgid "Transparency"
+msgstr "Transparència"
+
+msgid "Tray"
+msgstr "Safata"
+
+msgid "Tray 1"
+msgstr "Safata 1"
+
+msgid "Tray 2"
+msgstr "Safata 2"
+
+msgid "Tray 3"
+msgstr "Safata 3"
+
+msgid "Tray 4"
+msgstr "Safata 4"
+
+msgid "URI Too Long"
+msgstr "L'URI és massa llarg"
+
+msgid "US Ledger"
+msgstr "Llibre major americà"
+
+msgid "US Legal"
+msgstr "Legal americà"
+
+msgid "US Legal Oversize"
+msgstr "Legal americà gran"
+
+msgid "US Letter"
+msgstr "Carta americà"
+
+msgid "US Letter Long Edge"
+msgstr "Carta americà costat llarg"
+
+msgid "US Letter Oversize"
+msgstr "Carta americà gran"
+
+msgid "US Letter Oversize Long Edge"
+msgstr "Carta americà gran costat llarg"
+
+msgid "US Letter Small"
+msgstr "Carta americà petit"
+
+msgid "Unable to access cupsd.conf file"
+msgstr "No es pot accedir al fitxer cups.conf"
+
+msgid "Unable to access help file."
+msgstr "No es pot accedir al fitxer d'ajuda."
+
+msgid "Unable to add RSS subscription"
+msgstr "No es pot afegir la subscripció RSS"
+
+msgid "Unable to add class"
+msgstr "No es pot afegir la classe"
+
+msgid "Unable to add document to print job."
+msgstr "No es pot obrir el documenta la feina."
+
+#, c-format
+msgid "Unable to add job for destination \"%s\"."
+msgstr "No es pot afegir la feina al destí «%s»."
+
+msgid "Unable to add printer"
+msgstr "No es pot afegir la impressora"
+
+msgid "Unable to allocate memory for file types."
+msgstr "No es pot assignar la memòria pels tipus de fitxers."
+
+msgid "Unable to allocate memory for page info"
+msgstr "No s'ha pogut assignar memòria per la pàgina d'informació"
+
+msgid "Unable to allocate memory for pages array"
+msgstr "No s'ha pogut assignar memòria per la matriu de pàgines"
+
+msgid "Unable to cancel RSS subscription"
+msgstr "No es pot cancel·lar la subscripció RSS"
+
+msgid "Unable to cancel print job."
+msgstr "No es pot cancel·lar la feina d'impressió."
+
+msgid "Unable to change printer"
+msgstr "No es pot canviar la impressora"
+
+msgid "Unable to change printer-is-shared attribute"
+msgstr "No es pot canviar l'atribut printer-is-shared"
+
+msgid "Unable to change server settings"
+msgstr "No es pot canviar la configuració del servidor"
+
+msgid "Unable to configure printer options."
+msgstr "No es poden configurar les opcions de la impressora."
+
+msgid "Unable to connect to host."
+msgstr "No es pot connectar a l'amfitrió."
+
+msgid "Unable to contact printer, queuing on next printer in class."
+msgstr ""
+"No es pot contactar amb la impressora. Es posa a la cua de la següent "
+"impressora de la classe."
+
+#, c-format
+msgid "Unable to copy 64-bit CUPS printer driver files (%d)."
+msgstr ""
+"No es poden copiar els fitxers del controlador d'impressora CUPS de 64 bits "
+"(%d)."
+
+#, c-format
+msgid "Unable to copy 64-bit Windows printer driver files (%d)."
+msgstr ""
+"No es poden copiar els fitxers del controlador d'impressora Windows de 64 "
+"bits (%d)."
+
+#, c-format
+msgid "Unable to copy CUPS printer driver files (%d)."
+msgstr "No es poden copiar els fitxers del controlador d'impressora CUPS (%d)."
+
+#, c-format
+msgid "Unable to copy PPD file - %s"
+msgstr "No es pot copiar el fitxer PPD - %s"
+
+msgid "Unable to copy PPD file."
+msgstr "No es pot copiar el fitxer PPD."
+
+#, c-format
+msgid "Unable to copy Windows 2000 printer driver files (%d)."
+msgstr ""
+"No es poden copiar els fitxers del controlador d'impressora Windows 2000 "
+"(%d)."
+
+#, c-format
+msgid "Unable to copy Windows 9x printer driver files (%d)."
+msgstr ""
+"No es poden copiar els fitxers del controlador d'impressora Windows 9x (%d)."
+
+#, c-format
+msgid "Unable to copy interface script - %s"
+msgstr "No es pot copiar l'script de la interfície - %s"
+
+msgid "Unable to create compressed print file"
+msgstr "No es pot crear el fitxer d'impressió comprimit"
+
+msgid "Unable to create printer-uri"
+msgstr "No es pot crear el printer-uri"
+
+msgid "Unable to create temporary file"
+msgstr "No es pot crear el fitxer temporal"
+
+msgid "Unable to delete class"
+msgstr "No es pot esborrar la classe"
+
+msgid "Unable to delete printer"
+msgstr "No es pot esborrar la impressora"
+
+msgid "Unable to do maintenance command"
+msgstr "No es pot executar la comanda de manteniment"
+
+msgid "Unable to edit cupsd.conf files larger than 1MB"
+msgstr "No es poden editar fitxers cupsd.conf més grans d'1MB"
+
+msgid ""
+"Unable to establish a secure connection to host (certificate chain invalid)."
+msgstr ""
+"No s'ha pogut establir una connexió segura amb l'amfitrió (la cadena del "
+"certificat no és vàlida)."
+
+msgid ""
+"Unable to establish a secure connection to host (certificate not yet valid)."
+msgstr ""
+"No s'ha pogut establir una connexió segura amb l'amfitrió (el certificat "
+"encara no és vàlid)."
+
+msgid "Unable to establish a secure connection to host (expired certificate)."
+msgstr ""
+"No s'ha pogut establir una connexió segura amb l'amfitrió (ha expirat el "
+"certificat)."
+
+msgid "Unable to establish a secure connection to host (host name mismatch)."
+msgstr ""
+"No s'ha pogut establir una connexió segura amb l'amfitrió (hi ha un error en "
+"el nom de l'amfitrió)."
+
+msgid ""
+"Unable to establish a secure connection to host (peer dropped connection "
+"before responding)."
+msgstr ""
+"No s'ha pogut establir una connexió segura amb l'amfitrió (s'ha tallat la "
+"connexió abans de respondre)."
+
+msgid ""
+"Unable to establish a secure connection to host (self-signed certificate)."
+msgstr ""
+"No s'ha pogut establir una connexió segura amb l'amfitrió (el certificat és "
+"autosignat)."
+
+msgid ""
+"Unable to establish a secure connection to host (untrusted certificate)."
+msgstr ""
+"No s'ha pogut establir una connexió segura amb l'amfitrió (el certificat no "
+"és de confiança)."
+
+msgid "Unable to establish a secure connection to host."
+msgstr "No es pot establir una connexió segura amb l'amfitrió."
+
+msgid "Unable to find destination for job"
+msgstr "No es pot trobar el destí de la feina"
+
+msgid "Unable to find printer."
+msgstr "No es pot trobar la impressora."
+
+msgid "Unable to generate compressed print file"
+msgstr "No es pot generar el fitxer d'impressió comprimit"
+
+msgid "Unable to get backend exit status."
+msgstr "No es pot obtenir el motiu de la sortida de l'execució en segon pla"
+
+msgid "Unable to get class list"
+msgstr "No es pot obtenir la llista de classes"
+
+msgid "Unable to get class status"
+msgstr "No es pot obtenir l'estat de la classe"
+
+msgid "Unable to get list of printer drivers"
+msgstr "No es pot obtenir la llista dels controladors d'impressora"
+
+msgid "Unable to get printer attributes"
+msgstr "No es poden obtenir els atributs de la impressora"
+
+msgid "Unable to get printer list"
+msgstr "No es pot obtenir la llista d'impressores"
+
+msgid "Unable to get printer status"
+msgstr "No es pot obtenir l'estat de la impressora"
+
+msgid "Unable to get printer status."
+msgstr "No es pot obtenir l'estat de la impressora."
+
+#, c-format
+msgid "Unable to install Windows 2000 printer driver files (%d)."
+msgstr ""
+"No es poden instal·lar els fitxers del controlador d'impressores per Windows "
+"2000 (%d)."
+
+#, c-format
+msgid "Unable to install Windows 9x printer driver files (%d)."
+msgstr ""
+"No es poden instal·lar els fitxers del controlador d'impressores per Windows "
+"9x (%d)."
+
+msgid "Unable to load help index."
+msgstr "No es pot carregar l'índex de l'ajuda."
+
+#, c-format
+msgid "Unable to locate printer \"%s\"."
+msgstr "No es pot ubicar la impressora «%s»."
+
+msgid "Unable to locate printer."
+msgstr "No es pot ubicar la impressora."
+
+msgid "Unable to modify class"
+msgstr "No es pot modificar la classe"
+
+msgid "Unable to modify printer"
+msgstr "No es pot modificar la impressora"
+
+msgid "Unable to move job"
+msgstr "No es pot moure la feina"
+
+msgid "Unable to move jobs"
+msgstr "No es poden moure les tasques"
+
+msgid "Unable to open PPD file"
+msgstr "No es pot obrir el fitxer PPD"
+
+msgid "Unable to open compressed print file"
+msgstr "No es pot obrir el fitxer d'impressió comprimit"
+
+msgid "Unable to open cupsd.conf file:"
+msgstr "No es pot obrir el fitxer cups.conf"
+
+msgid "Unable to open device file"
+msgstr "No es pot obrir el fitxer de dispositiu"
+
+#, c-format
+msgid "Unable to open document #%d in job #%d."
+msgstr "No es pot obrir el document #%d a la feina #%d."
+
+msgid "Unable to open help file."
+msgstr "No es pot obrir el fitxer d'impressió."
+
+msgid "Unable to open print file"
+msgstr "No es pot obrir el fitxer d'impressió"
+
+msgid "Unable to open raster file"
+msgstr "No es pot obrir el fitxer de trama"
+
+msgid "Unable to print test page"
+msgstr "No es pot imprimir la pàgina de prova"
+
+msgid "Unable to read print data."
+msgstr "No es poden llegir les dades d'impressió."
+
+msgid "Unable to resolve printer URI."
+msgstr "No es pot resoldre l'URI de la impressora."
+
+#, c-format
+msgid "Unable to run \"%s\": %s"
+msgstr "No es pot executar «%s»: %s"
+
+msgid "Unable to see in file"
+msgstr "No es pot veure al fitxer"
+
+msgid "Unable to send command to printer driver"
+msgstr "No es pot enviar la comanda al controlador de la impressora"
+
+msgid "Unable to send data to printer."
+msgstr "No es poden enviar dades a la impressora."
+
+#, c-format
+msgid "Unable to set Windows printer driver (%d)."
+msgstr "No es pot configurar el controlador d'impressores per Windows (%d)"
+
+msgid "Unable to set options"
+msgstr "No es poden configurar les opcions"
+
+msgid "Unable to set server default"
+msgstr "No es pot posar la configuració per defecte al servidor"
+
+msgid "Unable to start backend process."
+msgstr "No es pot iniciar el procés en segon pla."
+
+msgid "Unable to upload cupsd.conf file"
+msgstr "No es pot penjar el fitxer cups.conf"
+
+msgid "Unable to use legacy USB class driver."
+msgstr "No es pot fer servir el controlador de la classe USB antic."
+
+msgid "Unable to write print data"
+msgstr "No es poden escriure les dades d'impressió"
+
+#, c-format
+msgid "Unable to write uncompressed print data: %s"
+msgstr "No es poden escriure les dades sense comprimir: %s"
+
+msgid "Unauthorized"
+msgstr "No autoritzat"
+
+msgid "Units"
+msgstr "Unitats"
+
+msgid "Unknown"
+msgstr "Desconegut"
+
+#, c-format
+msgid "Unknown choice \"%s\" for option \"%s\"."
+msgstr "La tria de «%s» per l'opció «%s» és desconeguda."
+
+#, c-format
+msgid "Unknown encryption option value: \"%s\"."
+msgstr "El valor de l'opció de xifrat «%s» és desconegut."
+
+#, c-format
+msgid "Unknown file order: \"%s\"."
+msgstr "Ordre desconegut del fitxer: «%s»."
+
+#, c-format
+msgid "Unknown format character: \"%c\"."
+msgstr "Format del caràcter desconegut: «%c»."
+
+msgid "Unknown media size name."
+msgstr "El nom de la mida del suport no és conegut."
+
+#, c-format
+msgid "Unknown option \"%s\" with value \"%s\"."
+msgstr "L'opció «%s» amb valor «%s» és desconeguda."
+
+#, c-format
+msgid "Unknown option \"%s\"."
+msgstr "L'opció «%s» és desconeguda."
+
+#, c-format
+msgid "Unknown print mode: \"%s\"."
+msgstr "El mode d'impressió «%s» és desconegut."
+
+#, c-format
+msgid "Unknown printer-error-policy \"%s\"."
+msgstr "El paràmetre printer-error-policy «%s» és desconegut."
+
+#, c-format
+msgid "Unknown printer-op-policy \"%s\"."
+msgstr "El paràmetre printer-op-policy «%s» és desconegut."
+
+msgid "Unknown service name."
+msgstr "El nom del servei és desconegut."
+
+#, c-format
+msgid "Unknown version option value: \"%s\"."
+msgstr "El valor de l'opció de la versió és desconegut: «%s»."
+
+#, c-format
+msgid "Unsupported 'compression' value \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "Unsupported 'document-format' value \"%s\"."
+msgstr ""
+
+msgid "Unsupported 'job-name' value."
+msgstr ""
+
+#, c-format
+msgid "Unsupported character set \"%s\"."
+msgstr "No s'admet el grup de caràcters «%s»."
+
+#, c-format
+msgid "Unsupported compression \"%s\"."
+msgstr "No s'admet la compressió «%s»."
+
+#, c-format
+msgid "Unsupported document-format \"%s\"."
+msgstr "No s'admet el document-format «%s»."
+
+#, c-format
+msgid "Unsupported document-format \"%s/%s\"."
+msgstr "No s'admet el document-format «%s/%s»."
+
+#, c-format
+msgid "Unsupported format \"%s\"."
+msgstr "No s'admet el format «%s»."
+
+msgid "Unsupported margins."
+msgstr "No s'admeten els marges."
+
+msgid "Unsupported media value."
+msgstr "No s'admet el valor del suport."
+
+#, c-format
+msgid "Unsupported number-up value %d, using number-up=1."
+msgstr "No s'admet el valor %d a number-up. Es fa servir number-up=1."
+
+#, c-format
+msgid "Unsupported number-up-layout value %s, using number-up-layout=lrtb."
+msgstr ""
+"No s'admet el valor %s a number-up-layout. Es fa servir number-up-"
+"layout=lrtb."
+
+#, c-format
+msgid "Unsupported page-border value %s, using page-border=none."
+msgstr "No s'admet el valor %s a page-border. Es fa servir page-border=none."
+
+msgid "Unsupported raster data."
+msgstr "No s'admet les dades en trama."
+
+msgid "Unsupported value type"
+msgstr "El tipus de valor no és compatible"
+
+msgid "Upgrade Required"
+msgstr "S'ha d'actualitzar"
+
+msgid ""
+"Usage:\n"
+"\n"
+"    lpadmin [-h server] -d destination\n"
+"    lpadmin [-h server] -x destination\n"
+"    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m model]\n"
+"                       [-r remove-class] [-v device] [-D description]\n"
+"                       [-P ppd-file] [-o name=value]\n"
+"                       [-u allow:user,user] [-u deny:user,user]"
+msgstr ""
+"Sintaxi:\n"
+"\n"
+"    lpadmin [-h servidor] -d destí\n"
+"    lpadmin [-h servidor] -x destí\n"
+"    lpadmin [-h servidor] -p impressora [-c afegir-classe] [-i interfície] [-"
+"m model]\n"
+"                       [-r eliminar-classe] [-v dispositiu] [-D descripció]\n"
+"                       [-P fitxer-ppd] [-o nom=valor]\n"
+"                       [-u allow:usuari,usuari] [-u deny:usuari,usuari]"
+
+#, c-format
+msgid "Usage: %s job-id user title copies options [file]"
+msgstr "Sintaxi: %s id-feina usuari títol còpies opcions [fitxer]"
+
+msgid "Usage: cupsaddsmb [options] printer1 ... printerN"
+msgstr "Sintaxi: cupsaddsmb [opcions] impressora1 ... impressoraN"
+
+msgid "Usage: cupsctl [options] [param=value ... paramN=valueN]"
+msgstr "Sintaxi: cupsctl [opcions] [param=valor ... paramN=valorN]"
+
+msgid "Usage: cupsd [options]"
+msgstr "Sintaxi: cupsd [opcions]"
+
+msgid "Usage: cupsfilter [ options ] filename"
+msgstr "Sintaxi: cupsfilter [ opcions ] nomfitxer"
+
+msgid "Usage: cupstestdsc [options] filename.ps [... filename.ps]"
+msgstr "Sintaxi: cupstestdsc [opcions] nomfitxer.ps [...nomfitxer.ps]"
+
+msgid ""
+"Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]"
+msgstr ""
+"Sintaxi: cupstestppd [opcions] nomfitxer1.ppd[.gz] [... nomfitxerN.ppd[.gz]]"
+
+msgid "Usage: ipptool [options] URI filename [ ... filenameN ]"
+msgstr "Sintaxi: ipptool [opcions] URI nomfitxer[ ... nomfitxerN]"
+
+msgid "Usage: lpmove job/src dest"
+msgstr "Sintaxi: lpmove feina/font destí"
+
+msgid ""
+"Usage: lpoptions [-h server] [-E] -d printer\n"
+"       lpoptions [-h server] [-E] [-p printer] -l\n"
+"       lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
+"       lpoptions [-h server] [-E] -x printer"
+msgstr ""
+"Sintaxi: lpoptions [-h servidor] [-E] -d impressora\n"
+"         lpoptions [-h servidor] [-E] [-p impressora] -l\n"
+"         lpoptions [-h servidor] [-E] -p impressora -o opció[=valor] ...\n"
+"         lpoptions [-h servidor] [-E] -x impressora"
+
+msgid "Usage: lppasswd [-g groupname]"
+msgstr "Sintaxi: lppasswd [-g nomgrup]"
+
+msgid ""
+"Usage: lppasswd [-g groupname] [username]\n"
+"       lppasswd [-g groupname] -a [username]\n"
+"       lppasswd [-g groupname] -x [username]"
+msgstr ""
+"Sintaxi: lppasswd [-g nomgrup] [nomusuari]\n"
+"         lppasswd [-g nomgrup] -a [nomusuari]\n"
+"         lppasswd [-g nomgrup] -x [nomusuari]"
+
+msgid ""
+"Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]"
+msgstr ""
+"Sintaxi: lpq [-P destí] [-U nomusuari] [-h nomamfitrió[:port]] [-l] "
+"[+interval]"
+
+msgid "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]"
+msgstr "Sintaxi: ppdc [opcions] nomfitxer.rv [ ... nomfitxerN.drv ]"
+
+msgid "Usage: ppdhtml [options] filename.drv >filename.html"
+msgstr "Sintaxi: ppdhtml [opcions] nomfitxer.drv >nomfitxer.html"
+
+msgid "Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]"
+msgstr "Sintaxi: ppdi [opcions] nomfitxer.ppd [ ... nomfitxerN.ppd ]"
+
+msgid "Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]"
+msgstr "Sintaxi: ppdmerge [opcions] nomfitxer.ppd [ ... nomfitxerN.ppd ]"
+
+msgid ""
+"Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]"
+msgstr ""
+"Sintaxi: ppdpo [opcions] -o nomfitxer.po nomfitxer.drv [ ... nomfitxerN.drv]"
+
+msgid "Usage: snmp [host-or-ip-address]"
+msgstr "Sintaxi: snmp [adreça-amfitrió-o-ip]"
+
+msgid "Value uses indefinite length"
+msgstr "El valor té una longitud indefinida"
+
+msgid "VarBind uses indefinite length"
+msgstr "VarBind té una longitud indefinida"
+
+msgid "Version uses indefinite length"
+msgstr "Version té una longitud indefinida"
+
+msgid "Waiting for job to complete."
+msgstr "S'està esperant que acabi la feina."
+
+msgid "Waiting for printer to become available."
+msgstr "S'està esperant que la impressora estigui disponible."
+
+msgid "Waiting for printer to finish."
+msgstr "S'està esperant que la impressora acabi."
+
+msgid "Warning, no Windows 2000 printer drivers are installed."
+msgstr "AVÍS. No hi ha cap controlador per Windows 2000 instal·lat."
+
+msgid "Web Interface is Disabled"
+msgstr "La interfície web està deshabilitada"
+
+msgid "Yes"
+msgstr "Sí"
+
+#, c-format
+msgid ""
+"You must access this page using the URL <A HREF=\"https://%s:%d%s\">https://"
+"%s:%d%s</A>."
+msgstr ""
+"Heu d'accedir a aquesta pagina a través de la URL <A HREF=\"https://%s:%d%s"
+"\">https://%s:%d%s</A>."
+
+msgid ""
+"Your password must be at least 6 characters long, cannot contain your "
+"username, and must contain at least one letter and number."
+msgstr ""
+"La contrasenya ha de tenir com a mínim 6 caràcters, no pot contenir el nom "
+"d'usuari, i ha de tenir com a mínim una lletra i un número."
+
+msgid "ZPL Label Printer"
+msgstr "Impressora d'etiquetes ZPL"
+
+msgid "Zebra"
+msgstr "Zebra"
+
+msgid "aborted"
+msgstr "interromput"
+
+msgid "canceled"
+msgstr "cancel·lat"
+
+msgid "completed"
+msgstr "completat"
+
+msgid "cups-deviced failed to execute."
+msgstr "no s'ha pogut executar correctament la cups-deviced."
+
+msgid "cups-driverd failed to execute."
+msgstr "no s'ha pogut executar correctament la cups-driverd"
+
+#, c-format
+msgid "cupsaddsmb: No PPD file for printer \"%s\" - %s"
+msgstr "cupsaddsmb: falta el fitxer PPD per la impressora «%s» - %s"
+
+msgid "cupsctl: Cannot set Listen or Port directly."
+msgstr "cupsctl: no es pot establir Listen o Port directament."
+
+#, c-format
+msgid "cupsctl: Unable to connect to server: %s"
+msgstr "cupsctl: no es pot connectar al servidor: %s"
+
+#, c-format
+msgid "cupsctl: Unknown option \"%s\""
+msgstr "cupsctl: l'opció «%s» és desconeguda"
+
+#, c-format
+msgid "cupsctl: Unknown option \"-%c\""
+msgstr "cupsctl: l'opció «-%c» és desconeguda"
+
+msgid "cupsd: Expected config filename after \"-c\" option."
+msgstr ""
+"cupsd: s'esperava un nom de fitxer de configuració després de l'opció «-c»."
+
+msgid "cupsd: Expected cups-files.conf filename after \"-s\" option."
+msgstr ""
+
+msgid "cupsd: Relative cups-files.conf filename not allowed."
+msgstr ""
+
+msgid "cupsd: Unable to get current directory."
+msgstr "cupsd: No es pot obtenir el directori actual."
+
+msgid "cupsd: Unable to get path to cups-files.conf file."
+msgstr ""
+
+#, c-format
+msgid "cupsd: Unknown argument \"%s\" - aborting."
+msgstr "cupsd: l'argument «%s» és desconegut - s'interromp."
+
+#, c-format
+msgid "cupsd: Unknown option \"%c\" - aborting."
+msgstr "cupsd: l'opció «%c» és desconeguda - s'interromp."
+
+msgid "cupsd: launchd(8) support not compiled in, running in normal mode."
+msgstr ""
+"cupsd: no s'ha compilat amb compatibilitat per launchd(8). S'executa en mode "
+"normal."
+
+#, c-format
+msgid "cupsfilter: Invalid document number %d."
+msgstr "cupsfilter: el document número %d no és vàlid."
+
+#, c-format
+msgid "cupsfilter: Invalid job ID %d."
+msgstr "cupsfilter: la feina %d no és vàlida."
+
+msgid "cupsfilter: Only one filename can be specified."
+msgstr "cupsfilter: només es pot especificar un nom de fitxer."
+
+#, c-format
+msgid "cupsfilter: Unable to get job file - %s"
+msgstr "cupsfilter: no es pot obtenir el fitxer de la feina - %s"
+
+msgid "cupstestppd: The -q option is incompatible with the -v option."
+msgstr "cupstestppd: l'opció -q no és compatible amb l'opció -v."
+
+msgid "cupstestppd: The -v option is incompatible with the -q option."
+msgstr "cupstestppd: l'opció -v no és compatible amb l'opció -q."
+
+#, c-format
+msgid "device for %s/%s: %s"
+msgstr "dispositiu per %s/%s: %s"
+
+#, c-format
+msgid "device for %s: %s"
+msgstr "dispositiu per %s: %s"
+
+msgid "error-index uses indefinite length"
+msgstr "error-index fa servir una longitud indefinida"
+
+msgid "error-status uses indefinite length"
+msgstr "error-status fa servir una longitud indefinida"
+
+msgid "held"
+msgstr "En pausa"
+
+msgid "help\t\tGet help on commands."
+msgstr "help\t\tproporciona ajuda sobre les comandes."
+
+msgid "idle"
+msgstr "inactiva"
+
+msgid "ipptool: \"-i\" and \"-n\" are incompatible with -X\"."
+msgstr "ipptool: «-i» i «-n» no són compatibles amb «-X»."
+
+#, c-format
+msgid "ipptool: Bad URI - %s."
+msgstr "ipptool: l'URI no es correcte - %s."
+
+#, c-format
+msgid "ipptool: Bad version %s for \"-V\"."
+msgstr "ipptool: la versió %s de «-V» no és correcta."
+
+msgid "ipptool: Invalid seconds for \"-i\"."
+msgstr "ipptool: els segons de «-i» no són correctes."
+
+msgid "ipptool: May only specify a single URI."
+msgstr "ipptool: heu d'especificar només un URI."
+
+msgid "ipptool: Missing count for \"-n\"."
+msgstr "ipptool: falta el comptador de «-n»."
+
+msgid "ipptool: Missing filename for \"-f\"."
+msgstr "ipptool: falta el nom del fitxer a «-f»."
+
+msgid "ipptool: Missing name=value for \"-d\"."
+msgstr "ipptool: falta nom=valor a «-d»."
+
+msgid "ipptool: Missing seconds for \"-i\"."
+msgstr "ipptool: falten els segons a «-i»."
+
+msgid "ipptool: Missing timeout for \"-T\"."
+msgstr "ipptool: falta el temps màxim d'espera a «-T»."
+
+msgid "ipptool: Missing version for \"-V\"."
+msgstr "ipptool: falta la versió a «-V»."
+
+msgid "ipptool: URI required before test file."
+msgstr "ipptool: falta l'URI abans del fitxer de prova."
+
+#, c-format
+msgid "ipptool: Unknown option \"-%c\"."
+msgstr "ipptool: l'opció «-%c» és desconeguda."
+
+msgid "job-printer-uri attribute missing."
+msgstr "Falta l'atribut de job-printer-uri."
+
+msgid "lpadmin: Class name can only contain printable characters."
+msgstr "lpadmin: el nom de la classe només pot tenir caràcters imprimibles."
+
+msgid "lpadmin: Expected PPD after \"-P\" option."
+msgstr "lpadmin: s'esperava un PPD després de l'opció «-P»."
+
+msgid "lpadmin: Expected allow/deny:userlist after \"-u\" option."
+msgstr "lpadmin: s'esperava allow/deny:llistausuaris després de l'opció «-u»."
+
+msgid "lpadmin: Expected class after \"-r\" option."
+msgstr "lpadmin: s'esperava una classe després de l'opció «-r»."
+
+msgid "lpadmin: Expected class name after \"-c\" option."
+msgstr "lpadmin: s'esperava un nom de classe després de l'opció «-c»."
+
+msgid "lpadmin: Expected description after \"-D\" option."
+msgstr "lpadmin: s'esperava una descripció després de l'opció «-D»."
+
+msgid "lpadmin: Expected device URI after \"-v\" option."
+msgstr "lpadmin: s'esperava un URI de dispositiu després de l'opció «-v»."
+
+msgid "lpadmin: Expected file type(s) after \"-I\" option."
+msgstr "lpadmin: s'esperava un(s) tipus de fitxer(s) després de l'opció «-I»."
+
+msgid "lpadmin: Expected hostname after \"-h\" option."
+msgstr "lpadmin: s'esperava un nom d'amfitrió després de l'opció «-h»."
+
+msgid "lpadmin: Expected interface after \"-i\" option."
+msgstr "lpadmin: s'esperava una interfície després de l'opció «-i»."
+
+msgid "lpadmin: Expected location after \"-L\" option."
+msgstr "lpadmin: s'esperava una ubicació després de l'opció «-L»."
+
+msgid "lpadmin: Expected model after \"-m\" option."
+msgstr "lpadmin: s'esperava un model després de l'opció «-m»."
+
+msgid "lpadmin: Expected name after \"-R\" option."
+msgstr "lpadmin: s'esperava un nom després de l'opció «-R»."
+
+msgid "lpadmin: Expected name=value after \"-o\" option."
+msgstr "lpadmin: s'esperava nom=valor després de l'opció «-o»."
+
+msgid "lpadmin: Expected printer after \"-p\" option."
+msgstr "lpadmin: s'esperava una impressora després de l'opció «-p»."
+
+msgid "lpadmin: Expected printer name after \"-d\" option."
+msgstr "lpadmin: s'esperava un nom d'impressora després de l'opció «-d»."
+
+msgid "lpadmin: Expected printer or class after \"-x\" option."
+msgstr "lpadmin: s'esperava un impressora o classe després de l'opció «-x»."
+
+msgid "lpadmin: No member names were seen."
+msgstr "lpadmin: no s'ha trobat cap nom de membre."
+
+#, c-format
+msgid "lpadmin: Printer %s is already a member of class %s."
+msgstr "lpadmin: la impressora %s ja és membre de la classe %s."
+
+#, c-format
+msgid "lpadmin: Printer %s is not a member of class %s."
+msgstr "lpadmin: la impressora %s no és membre de la classe %s."
+
+msgid "lpadmin: Printer name can only contain printable characters."
+msgstr ""
+"lpadmin: el nom de la impressora només pot contenir caràcters imprimibles."
+
+msgid ""
+"lpadmin: Unable to add a printer to the class:\n"
+"         You must specify a printer name first."
+msgstr ""
+"lpadmin: no s'ha pogut afegir una impressora a la classe:\n"
+"         Heu d'especificar primer un nom d'impressora."
+
+#, c-format
+msgid "lpadmin: Unable to connect to server: %s"
+msgstr "lpadmin: no s'ha pogut connectar al servidor: %s"
+
+msgid "lpadmin: Unable to create temporary file"
+msgstr "lpadmin: no s'ha pogut crear el fitxer temporal"
+
+msgid ""
+"lpadmin: Unable to delete option:\n"
+"         You must specify a printer name first."
+msgstr ""
+"lpadmin: no s'ha pogut esborrar l'opció:\n"
+"         Heu d'especificar primer un nom d'impressora."
+
+#, c-format
+msgid "lpadmin: Unable to open PPD file \"%s\" - %s"
+msgstr "lpadmin: no s'ha pogut obrir el fitxer PPD «%s» - %s"
+
+msgid ""
+"lpadmin: Unable to remove a printer from the class:\n"
+"         You must specify a printer name first."
+msgstr ""
+"lpadmin: no es pot esborrar una impressora de la classe:\n"
+"         Heu d'especificar primer un nom d'impressora."
+
+msgid ""
+"lpadmin: Unable to set the printer options:\n"
+"         You must specify a printer name first."
+msgstr ""
+"lpadmin: no es pot establir les opcions de la impressora:\n"
+"         Heu d'especificar primer un nom d'impressora."
+
+#, c-format
+msgid "lpadmin: Unknown allow/deny option \"%s\"."
+msgstr "lpadmin: l'opció allow/deny «%s» és desconeguda."
+
+#, c-format
+msgid "lpadmin: Unknown argument \"%s\"."
+msgstr "lpadmin: l'argument «%s» és desconegut."
+
+#, c-format
+msgid "lpadmin: Unknown option \"%c\"."
+msgstr "lpadmin: l'opció «%c» és desconeguda."
+
+msgid "lpadmin: Warning - content type list ignored."
+msgstr "lpadmin: avís - s'ignora el contingut de la llista de tipus."
+
+msgid "lpc> "
+msgstr "lpc> "
+
+msgid "lpinfo: Expected 1284 device ID string after \"--device-id\"."
+msgstr ""
+"lpinfo: s'esperava una cadena d'ID de dispositiu 1284 després de «--device-"
+"id»."
+
+msgid "lpinfo: Expected language after \"--language\"."
+msgstr "lpinfo: s'esperava un idioma després de «--language»."
+
+msgid "lpinfo: Expected make and model after \"--make-and-model\"."
+msgstr "lpinfo: s'esperava una marca i model després de «--make-and-model»."
+
+msgid "lpinfo: Expected product string after \"--product\"."
+msgstr "lpinfo: s'esperava una cadena de producte després de «--product!»."
+
+msgid "lpinfo: Expected scheme list after \"--exclude-schemes\"."
+msgstr ""
+"lpinfo: s'esperava una llista d'esquemes després de l'opció «--exclude-"
+"schemes»."
+
+msgid "lpinfo: Expected scheme list after \"--include-schemes\"."
+msgstr ""
+"lpinfo: s'esperava una llista d'esquemes després de l'opció «--include-"
+"schemes»."
+
+msgid "lpinfo: Expected timeout after \"--timeout\"."
+msgstr "lpinfo: s'esperava un temps d'espera després de «--timeout»."
+
+#, c-format
+msgid "lpinfo: Unknown argument \"%s\"."
+msgstr "lpinfo: l'argument «%s» és desconegut."
+
+#, c-format
+msgid "lpinfo: Unknown option \"%c\"."
+msgstr "lpinfo: l'opció «%c» és desconeguda."
+
+#, c-format
+msgid "lpinfo: Unknown option \"%s\"."
+msgstr "lpinfo: l'opció «%s» és desconeguda."
+
+#, c-format
+msgid "lpmove: Unable to connect to server: %s"
+msgstr "lpmove: no s'ha pogut connectar al servidor: %s"
+
+#, c-format
+msgid "lpmove: Unknown argument \"%s\"."
+msgstr "lpmove: l'argument «%s» és desconegut."
+
+#, c-format
+msgid "lpmove: Unknown option \"%c\"."
+msgstr "lpmove: l'opció «%c» és desconeguda."
+
+msgid "lpoptions: No printers."
+msgstr "lpoptions: no hi ha cap impressora."
+
+#, c-format
+msgid "lpoptions: Unable to add printer or instance: %s"
+msgstr "lpoptions: no s'ha pogut afegir la impressora o la instància: %s"
+
+#, c-format
+msgid "lpoptions: Unable to get PPD file for %s: %s"
+msgstr "lpoptions: no s'ha pogut obtenir el fitxer PPD de %s: %s"
+
+#, c-format
+msgid "lpoptions: Unable to open PPD file for %s."
+msgstr "lpoptions: no s'ha pogut obrir el fitxer PPD per %s."
+
+msgid "lpoptions: Unknown printer or class."
+msgstr "lpoptions: la impressora o la classe són desconegudes."
+
+msgid "lppasswd: Only root can add or delete passwords."
+msgstr ""
+"lppasswd: només l'usuari primari (root) pot afegir o esborrar contrasenyes."
+
+msgid "lppasswd: Password file busy."
+msgstr "lppaswd: el fitxer de contrasenyes està ocupat."
+
+msgid "lppasswd: Password file not updated."
+msgstr "lppaswd: el fitxer de contrasenyes no està actualitzat."
+
+msgid "lppasswd: Sorry, password doesn't match."
+msgstr "lppaswwd: la contrasenya no coincideix."
+
+msgid "lppasswd: Sorry, password rejected."
+msgstr "lppaswwd: s'ha refusat la contrasenya."
+
+msgid "lppasswd: Sorry, passwords don't match."
+msgstr "lppaswwd: les contrasenyes no coincideixen."
+
+#, c-format
+msgid "lppasswd: Unable to copy password string: %s"
+msgstr "lppasswd: no s'ha pogut copiar la cadena de contrasenya: %s"
+
+#, c-format
+msgid "lppasswd: Unable to open password file: %s"
+msgstr "lppasswd: no s'ha pogut obrir el fitxer de contrasenyes: %s"
+
+#, c-format
+msgid "lppasswd: Unable to write to password file: %s"
+msgstr "lppasswd: no s'ha pogut escriure al fitxer de contrasenyes: %s"
+
+#, c-format
+msgid "lppasswd: failed to backup old password file: %s"
+msgstr ""
+"lppasswd: no s'ha pogut fer la còpia de seguretat del fitxer de contrasenyes "
+"antic: %s"
+
+#, c-format
+msgid "lppasswd: failed to rename password file: %s"
+msgstr "lppasswd: no s'ha pogut canviar el nom del fitxer de contrasenyes: %s"
+
+#, c-format
+msgid "lppasswd: user \"%s\" and group \"%s\" do not exist."
+msgstr "lppaswd: l'usuari «%s» i el grup «%s» no existeixen."
+
+#, c-format
+msgid ""
+"lpstat: error - %s environment variable names non-existent destination \"%s"
+"\"."
+msgstr ""
+"lpstat: error - la variable d'entorn %s esmenta el destí «%s» que no "
+"existeix."
+
+#, c-format
+msgid "members of class %s:"
+msgstr "membres de la classe %s:"
+
+msgid "no entries"
+msgstr "no hi ha cap entrada"
+
+msgid "no system default destination"
+msgstr "no hi ha cap destí per defecte"
+
+msgid "notify-events not specified."
+msgstr "no s'ha especificat cap notify-events."
+
+#, c-format
+msgid "notify-recipient-uri URI \"%s\" is already used."
+msgstr "L'URI de notify-recipient-uri «%s» ja s'ha fet servir."
+
+#, c-format
+msgid "notify-recipient-uri URI \"%s\" uses unknown scheme."
+msgstr "L'URI de notify-recipient-uri «%s» fa servir un esquema desconegut."
+
+msgid "pending"
+msgstr "pendent"
+
+#, c-format
+msgid "ppdc: Adding include directory \"%s\"."
+msgstr "ppdc: s'afegeix el directori inclòs «%s»."
+
+#, c-format
+msgid "ppdc: Adding/updating UI text from %s."
+msgstr "ppdc: s'afegeix/actualitza el text de l'UI des de %s."
+
+#, c-format
+msgid "ppdc: Bad boolean value (%s) on line %d of %s."
+msgstr "ppdc: valor booleà incorrecte (%s) a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Bad font attribute: %s"
+msgstr "ppdc: l'atribut del tipus de lletra és incorrecte: %s"
+
+#, c-format
+msgid "ppdc: Bad resolution name \"%s\" on line %d of %s."
+msgstr "ppdc: el nom de resolució «%s» de la línia %d de %s és incorrecte."
+
+#, c-format
+msgid "ppdc: Bad status keyword %s on line %d of %s."
+msgstr "ppdc: la paraula clau d'estat %s de la línia %d de %s és incorrecta."
+
+#, c-format
+msgid "ppdc: Bad variable substitution ($%c) on line %d of %s."
+msgstr ""
+"ppdc: la variable de substitució ($%c) de la línia %d de %s és incorrecta."
+
+#, c-format
+msgid "ppdc: Choice found on line %d of %s with no Option."
+msgstr "ppdc: s'ha trobat una elecció a la línia %d de %s sense cap opció."
+
+#, c-format
+msgid "ppdc: Duplicate #po for locale %s on line %d of %s."
+msgstr "ppdc: #po duplicat per l'idioma %s a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Expected a filter definition on line %d of %s."
+msgstr "ppdc: s'esperava una definició de filtre a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Expected a program name on line %d of %s."
+msgstr "ppdc: s'esperava un nom de programa a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Expected boolean value on line %d of %s."
+msgstr "ppdc: s'esperava un valor booleà a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Expected charset after Font on line %d of %s."
+msgstr ""
+"ppdc: s'esperava un joc de caràcters després de Font a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Expected choice code on line %d of %s."
+msgstr "ppdc: s'esperava un codi d'elecció a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Expected choice name/text on line %d of %s."
+msgstr "ppdc: s'esperava un nom/text d'elecció a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Expected color order for ColorModel on line %d of %s."
+msgstr ""
+"ppdc: s'esperava un ordre de colors per ColorModel a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Expected colorspace for ColorModel on line %d of %s."
+msgstr ""
+"ppdc: s'esperava un espai de colors per ColorModel a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Expected compression for ColorModel on line %d of %s."
+msgstr "ppdc: s'esperava una compressió per ColorModel a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Expected constraints string for UIConstraints on line %d of %s."
+msgstr ""
+"ppdc: s'esperava una cadena de restriccions per UIConstraints a la línia %d "
+"de %s."
+
+#, c-format
+msgid ""
+"ppdc: Expected driver type keyword following DriverType on line %d of %s."
+msgstr ""
+"ppdc: s'esperava una paraula clau de tipus de controlador després de "
+"DriverType a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Expected duplex type after Duplex on line %d of %s."
+msgstr ""
+"ppdc: s'esperava un tipus de dúplex després de Duplex a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Expected encoding after Font on line %d of %s."
+msgstr "ppdc: s'esperava una codificació després de Font a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Expected filename after #po %s on line %d of %s."
+msgstr ""
+"ppdc: s'esperava un nom de fitxer després de #po %s a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Expected group name/text on line %d of %s."
+msgstr "ppdc: s'esperava un nom/text de grup a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Expected include filename on line %d of %s."
+msgstr "ppdc: s'esperava un nom de fitxer d'inclusió a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Expected integer on line %d of %s."
+msgstr "ppdc: s'esperava un enter a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Expected locale after #po on line %d of %s."
+msgstr "ppdc: s'esperava un idioma després de #po a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Expected name after %s on line %d of %s."
+msgstr "ppdc: s'esperava un nom després de %s a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Expected name after FileName on line %d of %s."
+msgstr "ppdc: s'esperava un nom després de FileName a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Expected name after Font on line %d of %s."
+msgstr "ppdc: s'esperava un nom després de Font a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Expected name after Manufacturer on line %d of %s."
+msgstr "ppdc: s'esperava un nom després de Manufacturer a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Expected name after MediaSize on line %d of %s."
+msgstr "ppdc: s'esperava un nom després de MediaSize a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Expected name after ModelName on line %d of %s."
+msgstr "ppdc: s'esperava un nom després de ModelName a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Expected name after PCFileName on line %d of %s."
+msgstr "ppdc: s'esperava un nom després de PCFileName a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Expected name/text after %s on line %d of %s."
+msgstr "ppdc: s'esperava un nom/text després de %s a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Expected name/text after Installable on line %d of %s."
+msgstr ""
+"ppdc: s'esperava un nom/text després d'Installable a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Expected name/text after Resolution on line %d of %s."
+msgstr ""
+"ppdc: s'esperava un nom/text després de Resolution a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Expected name/text combination for ColorModel on line %d of %s."
+msgstr ""
+"ppdc: s'esperava una combinació de nom/text per ColorModel a la línia %d de "
+"%s."
+
+#, c-format
+msgid "ppdc: Expected option name/text on line %d of %s."
+msgstr "ppdc: s'esperava un nom/text d'opció a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Expected option section on line %d of %s."
+msgstr "ppdc: s'esperava una secció d'opció a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Expected option type on line %d of %s."
+msgstr "ppdc: s'esperava un tipus d'opció a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Expected override field after Resolution on line %d of %s."
+msgstr ""
+"ppdc: s'esperava un camp de substitució després de Resolution a la línia %d "
+"de %s."
+
+#, c-format
+msgid "ppdc: Expected quoted string on line %d of %s."
+msgstr "ppdc: s'esperava una cadena entre cometes dobles a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Expected real number on line %d of %s."
+msgstr "ppdc: s'esperava un número real a la línia %d de %s."
+
+#, c-format
+msgid ""
+"ppdc: Expected resolution/mediatype following ColorProfile on line %d of %s."
+msgstr ""
+"ppdc: s'esperava una resolució/tipus de mitjà després de ColorProfile a la "
+"línia %d de %s."
+
+#, c-format
+msgid ""
+"ppdc: Expected resolution/mediatype following SimpleColorProfile on line %d "
+"of %s."
+msgstr ""
+"ppdc: s'esperava una resolució/tipus de mitjà després de SimpleColorProfile "
+"a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Expected selector after %s on line %d of %s."
+msgstr "ppdc: s'esperava un selector després de %s a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Expected status after Font on line %d of %s."
+msgstr "ppdc: s'esperava un estat després de Font a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Expected string after Copyright on line %d of %s."
+msgstr "ppdc: s'esperava una cadena després de Copyright a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Expected string after Version on line %d of %s."
+msgstr "ppdc: s'esperava una cadena després de Version a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Expected two option names on line %d of %s."
+msgstr "ppdc: s'esperava dos noms d'opció a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Expected value after %s on line %d of %s."
+msgstr "ppdc: s'esperava un valor després de %s a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Expected version after Font on line %d of %s."
+msgstr "ppdc: s'esperava una versió després de Font a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Invalid #include/#po filename \"%s\"."
+msgstr "ppdc: el nom de fitxer #include/#po «%s» no és vàlid."
+
+#, c-format
+msgid "ppdc: Invalid cost for filter on line %d of %s."
+msgstr "ppdc: el cost del filtre no és vàlid a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Invalid empty MIME type for filter on line %d of %s."
+msgstr "ppdc: el tipus MIME buit no és vàlid pel filtre a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Invalid empty program name for filter on line %d of %s."
+msgstr ""
+"ppdc: el nom de programa buit no és vàlid pel filtre a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Invalid option section \"%s\" on line %d of %s."
+msgstr "ppdc: la secció d'opció «%s» no és vàlida a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Invalid option type \"%s\" on line %d of %s."
+msgstr "ppdc: el tipus d'opció «%s» no és vàlid a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Loading driver information file \"%s\"."
+msgstr "ppdc: s'està carregant el fitxer d'informació del controlador «%s»."
+
+#, c-format
+msgid "ppdc: Loading messages for locale \"%s\"."
+msgstr "ppdc: s'està carregant l'idioma «%s»."
+
+#, c-format
+msgid "ppdc: Loading messages from \"%s\"."
+msgstr "ppdc: s'està carregant els missatges des de «%s»."
+
+#, c-format
+msgid "ppdc: Missing #endif at end of \"%s\"."
+msgstr "ppdc: falta un #endif al final de «%s»."
+
+#, c-format
+msgid "ppdc: Missing #if on line %d of %s."
+msgstr "ppdc: falta un #if a la línia %d de %s."
+
+#, c-format
+msgid ""
+"ppdc: Need a msgid line before any translation strings on line %d of %s."
+msgstr ""
+"oodc: es necessita un msgid abans de la cadena per traduir a la línia %d de "
+"%s."
+
+#, c-format
+msgid "ppdc: No message catalog provided for locale %s."
+msgstr "ppdc: no s'ha donat el catàleg de missatges per l'idioma %s."
+
+#, c-format
+msgid "ppdc: Option %s defined in two different groups on line %d of %s."
+msgstr ""
+"ppdc: l'opció %s està definida a dos grups diferents a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Option %s redefined with a different type on line %d of %s."
+msgstr ""
+"ppdc: l'opció %s està redefinida amb un tipus diferent a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Option constraint must *name on line %d of %s."
+msgstr "ppdc: l'opció de restricció ha d'incloure *nom a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Too many nested #if's on line %d of %s."
+msgstr "ppdc: hi ha massa #if imbricats a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Unable to create PPD file \"%s\" - %s."
+msgstr "ppdc: no s'ha pogut crear el fitxer PPD «%s» - %s."
+
+#, c-format
+msgid "ppdc: Unable to create output directory %s: %s"
+msgstr "ppdc: no s'ha pogut crear el directori de sortida %s: %s"
+
+#, c-format
+msgid "ppdc: Unable to create output pipes: %s"
+msgstr "ppdc: no s'ha pogut crear els conductes de sortida: %s"
+
+#, c-format
+msgid "ppdc: Unable to execute cupstestppd: %s"
+msgstr "ppdc: no s'ha pogut executar cupstestppd: %s"
+
+#, c-format
+msgid "ppdc: Unable to find #po file %s on line %d of %s."
+msgstr "ppdc: no s'ha pogut trobar el fitxer #po %s a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Unable to find include file \"%s\" on line %d of %s."
+msgstr ""
+"ppdc: no s'ha pogut trobar el fitxer d'inclusió «%s» a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Unable to find localization for \"%s\" - %s"
+msgstr "ppdc: no s'ha pogut trobar la localització de «%s» - %s"
+
+#, c-format
+msgid "ppdc: Unable to load localization file \"%s\" - %s"
+msgstr "ppdc: no s'ha pogut carregar el fitxer de localització «%s» - %s"
+
+#, c-format
+msgid "ppdc: Unable to open %s: %s"
+msgstr "ppdc: no s'ha pogut obrir %s: %s"
+
+#, c-format
+msgid "ppdc: Undefined variable (%s) on line %d of %s."
+msgstr "ppdc: la variable (%s) de la línia %d de %s no està definida."
+
+#, c-format
+msgid "ppdc: Unexpected text on line %d of %s."
+msgstr "ppdc: hi ha un text inesperat a la línia %d de %s."
+
+#, c-format
+msgid "ppdc: Unknown driver type %s on line %d of %s."
+msgstr "ppdc: el tipus de controlador %s de la línia %d de %s no és conegut."
+
+#, c-format
+msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s."
+msgstr "ppdc: el tipus de dúplex «%s» de la línia %d de %s no és conegut."
+
+#, c-format
+msgid "ppdc: Unknown media size \"%s\" on line %d of %s."
+msgstr "ppdc: la mida del mitjà «%s» de la línia %d de %s no és coneguda."
+
+#, c-format
+msgid "ppdc: Unknown message catalog format for \"%s\"."
+msgstr "ppdc: el format del catàleg de missatges de «%s» no és conegut."
+
+#, c-format
+msgid "ppdc: Unknown token \"%s\" seen on line %d of %s."
+msgstr "ppdc: el testimoni «%s» de la línia %d de %s no és conegut."
+
+#, c-format
+msgid ""
+"ppdc: Unknown trailing characters in real number \"%s\" on line %d of %s."
+msgstr ""
+"ppdc: els caràcters finals del número real «%s» de la línia %d de %s no són "
+"coneguts."
+
+#, c-format
+msgid "ppdc: Unterminated string starting with %c on line %d of %s."
+msgstr ""
+"ppdc: la cadena que comença per %c de la línia %d de %s no està acabada."
+
+#, c-format
+msgid "ppdc: Warning - overlapping filename \"%s\"."
+msgstr "ppdc: avís - se superposa el nom del fitxer «%s»."
+
+#, c-format
+msgid "ppdc: Writing %s."
+msgstr "ppdc: s'escriu %s."
+
+#, c-format
+msgid "ppdc: Writing PPD files to directory \"%s\"."
+msgstr "ppdc: s'escriuen els fitxers PPD a la carpeta «%s»."
+
+#, c-format
+msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s."
+msgstr "ppdmerge: LanguageVersion «%s» incorrecte a %s."
+
+#, c-format
+msgid "ppdmerge: Ignoring PPD file %s."
+msgstr "ppdmerge: s'ignora el fitxer PPD %s."
+
+#, c-format
+msgid "ppdmerge: Unable to backup %s to %s - %s"
+msgstr "ppdmerge: no s'ha pogut fer la còpia de seguretat %s a %s- %s"
+
+#, c-format
+msgid "printer %s disabled since %s -"
+msgstr "la impressora %s està deshabilitada des de %s -"
+
+#, c-format
+msgid "printer %s is idle.  enabled since %s"
+msgstr "la impressora %s està inactiva. Està activada des de %s"
+
+#, c-format
+msgid "printer %s now printing %s-%d.  enabled since %s"
+msgstr "la impressora %s està imprimint %s-%d. Està habilitada des de %s"
+
+#, c-format
+msgid "printer %s/%s disabled since %s -"
+msgstr "la impressora %s/%s està deshabilitada des de %s -"
+
+#, c-format
+msgid "printer %s/%s is idle.  enabled since %s"
+msgstr "la impressora %s/%s està inactiva. Està activada des de %s"
+
+#, c-format
+msgid "printer %s/%s now printing %s-%d.  enabled since %s"
+msgstr "la impressora %s/%s està imprimint %s-%d. Està activada des de %s"
+
+msgid "processing"
+msgstr "s'està processant"
+
+#, c-format
+msgid "request id is %s-%d (%d file(s))"
+msgstr "l'identificador de la petició és %s-%d (%d fitxer(s))"
+
+msgid "request-id uses indefinite length"
+msgstr "la request-id fa servir una longitud indefinida"
+
+msgid "scheduler is not running"
+msgstr "el programador de tasques no s'està executant"
+
+msgid "scheduler is running"
+msgstr "el programador de tasques s'està executant"
+
+#, c-format
+msgid "stat of %s failed: %s"
+msgstr "stat de %s ha fallat: %s"
+
+msgid "status\t\tShow status of daemon and queue."
+msgstr "status\t\tmostra l'estat del dimoni i la cua."
+
+msgid "stopped"
+msgstr "aturat"
+
+#, c-format
+msgid "system default destination: %s"
+msgstr "destí per defecte del sistema: %s"
+
+#, c-format
+msgid "system default destination: %s/%s"
+msgstr "destí per defecte del sistema: %s/%s"
+
+msgid "unknown"
+msgstr "desconegut"
+
+msgid "untitled"
+msgstr "sense títol"
+
+msgid "variable-bindings uses indefinite length"
+msgstr "La variable-bindings fa servir una longitud indefinida"
+
+#~ msgid ""
+#~ "      **FAIL**  BAD Manufacturer (should be \"Oki\")\n"
+#~ "                REF: Page 211, table D.1."
+#~ msgstr ""
+#~ "      **ERROR**  Manufacturer INCORRECTE (hauria de ser «Oki»)\n"
+#~ "                REF: pàgina 211, taula D.1."
+
+#~ msgid "      **FAIL**  Unable to open PPD file - %s"
+#~ msgstr "      **ERROR**  No es pot obrir el fitxer PPD - %s"
+
+#~ msgid "  -E                      Enable encryption."
+#~ msgstr "  -E                      Habilita el xifrat."
+
+#~ msgid "  -J title                Set title."
+#~ msgstr "  -J títol                Estableix el títol."
+
+#~ msgid "  -T                      Set the receive/send timeout in seconds."
+#~ msgstr ""
+#~ "  -T                      Estableix el temps d'espera màxim per enviar i "
+#~ "rebre en segons."
+
+#~ msgid "  -U samba-user           Authenticate using the named SAMBA user."
+#~ msgstr ""
+#~ "  -U usuari-samba           Autentica fent servir l'usuari SAMBA indicat."
+
+#~ msgid "  -U username             Set username for job."
+#~ msgstr "  -U nomusuari             Estableix el nom d'usuari per la tasca."
+
+#~ msgid "  -a 'name=value ...'     Set option(s)."
+#~ msgstr "  -a 'nom=valor ...'     Estableix les opcions."
+
+#~ msgid "  -c config-file          Load alternate configuration file."
+#~ msgstr ""
+#~ "  -c fitxer-config          Carrega un fitxer de configuració alternatiu."
+
+#~ msgid "  -c copies               Set number of copies."
+#~ msgstr "  -c còpies               Estableix el nombre de còpies."
+
+#~ msgid ""
+#~ "  -f filename             Set file to be converted (otherwise stdin)."
+#~ msgstr ""
+#~ "  -f nomfitxer             Estableix el fitxer que s'ha de convertir "
+#~ "(stdin si no s'especifica)."
+
+#~ msgid "  -h cups-server          Use the named CUPS server."
+#~ msgstr "  -h servidor-cups          Fa servir el servidor CUPS indicat."
+
+#~ msgid ""
+#~ "  -j mime/type            Set output MIME type (otherwise application/"
+#~ "pdf)."
+#~ msgstr ""
+#~ "  -j tipus/mime            Estableix el tipus MIME de sortida "
+#~ "(application/pdf si no s'especifica)."
+
+#~ msgid ""
+#~ "  -o filename             Set file to be generated (otherwise stdout)."
+#~ msgstr ""
+#~ "  -o nomfitxer             Estableix el nom del fitxer que s'ha de "
+#~ "generar (stdout si no s'especifica)."
+
+#~ msgid "  -q                      Be quiet - no output except errors."
+#~ msgstr "  -q                      Silenciós - Només dóna els errors."
+
+#~ msgid "  -v                      Be slightly verbose."
+#~ msgstr "  -v                      mode lleugerament detallat."
+
+#~ msgid "  -v                      Be verbose (more v's for more verbosity)."
+#~ msgstr "  -v                      mode detallat (com més v's més detallat)."
+
+#~ msgid "  -v                      Be verbose (show commands)."
+#~ msgstr "  -v                      mode detallat (mostra les ordres)."
+
+#~ msgid "  -v                      Show all attributes sent and received."
+#~ msgstr ""
+#~ "  -v                      Mostra tots els atributs enviats i rebuts."
+
+#~ msgid "3.5\" Disk - 2 1/8 x 2 3/4\""
+#~ msgstr "Disc de 3.5 - 2 1/8 x 2 3/4\""
+
+#~ msgid "Address - 1 1/8 x 3 1/2\""
+#~ msgstr "Adreça - 1 1/8 x 3 1/2\""
+
+#~ msgid "File Folder - 9/16 x 3 7/16\""
+#~ msgstr "Carpeta d'arxivador: 9/16 x 3 7/16\""
+
+#~ msgid ""
+#~ "File device URIs have been disabled. To enable, see the FileDevice "
+#~ "directive in \"%s/cupsd.conf\"."
+#~ msgstr ""
+#~ "S'han deshabilitat els URIs dels dispositius de fitxers. Per habilitar-"
+#~ "los, vegeu la directriu FileDevice a «%s/cupsd.conf»."
+
+#~ msgid "Hanging Folder - 9/16 x 2\""
+#~ msgstr "Carpeta per penjar: 9/16 x 2\""
+
+#~ msgid "Internet Postage 2-Part - 2 1/4 x 7 1/2\""
+#~ msgstr "Franqueig per Internet en 2 parts - 2 1/4 x 7 1/2\""
+
+#~ msgid "Internet Postage 3-Part - 2 1/4 x 7\""
+#~ msgstr "Franqueig per Internet en 3 parts - 2 1/4 x 7\""
+
+#~ msgid "Large Address - 1 4/10 x 3 1/2\""
+#~ msgstr "Adreça gran - 1 4/10 x 3 1/2\""
+
+#~ msgid "Printer busy, will retry in 10 seconds."
+#~ msgstr ""
+#~ "La impressora està ocupada. Es tornarà a intentar d'aquí a 10 segons."
+
+#~ msgid "Printer did not respond."
+#~ msgstr "La impressora no respon."
+
+#~ msgid "Printer is busy, will retry in 5 seconds."
+#~ msgstr ""
+#~ "La impressora està ocupada. Es tornarà a intentar d'aquí a 5 segons."
+
+#~ msgid "Printer is now connected."
+#~ msgstr "La impressora està connectada."
+
+#~ msgid "Printer not connected, will retry in 30 seconds."
+#~ msgstr ""
+#~ "La impressora està desconnectada. Es tornarà a intentar d'aquí a 30 "
+#~ "segons."
+
+#~ msgid "Ready to print."
+#~ msgstr "Preparada per imprimir."
+
+#~ msgid "Return Address - 3/4 x 2\""
+#~ msgstr "Remitent - 3/4 x 2\""
+
+#~ msgid "Shipping Address - 2 5/16 x 4\""
+#~ msgstr "Adreça de lliurament - 2 5/16 x 4\""
+
+#~ msgid "The printer is low on toner."
+#~ msgstr "S'està acabant el tòner de la impressora."
+
+#~ msgid "The printer is out of toner."
+#~ msgstr "S'ha acabat el tòner de la impressora"
+
+#~ msgid "Unable to create temporary file:"
+#~ msgstr "No es pot crear el fitxer temporal:"
+
+#~ msgid "Unable to get printer status:"
+#~ msgstr "No es pot obtenir l'estat de la impressora:"
+
+#~ msgid "Unable to open PPD file:"
+#~ msgstr "No es pot obrir el fitxer PPD:"
+
+#~ msgid "Unable to read print data"
+#~ msgstr "No es poden llegir les dades d'impressió"
+
+#~ msgid "Usage: %s job-id user title copies options file"
+#~ msgstr "Sintaxi: %s id-tasca usuari títol còpies opcions fitxer"
+
+#~ msgid "Usage: convert [ options ]"
+#~ msgstr "Sintaxi: convert [ opcions ]"
+
+#~ msgid "convert: Use the -f option to specify a file to convert."
+#~ msgstr ""
+#~ "convert: feu servir l'opció -f per especificar el fitxer que voleu "
+#~ "convertir."
+
+#~ msgid "ipptool: \"-i\" is incompatible with \"-X\"."
+#~ msgstr "ipptool: «-i» no és compatible amb «-X»."
+
+#~ msgid "ipptool: \"-n\" is incompatible with \"-X\"."
+#~ msgstr "ipptool: «-n» no és compatible amb «-X»."
diff --git a/locale/cups_cs.po b/locale/cups_cs.po
new file mode 100644 (file)
index 0000000..d689543
--- /dev/null
@@ -0,0 +1,6721 @@
+#
+# "$Id$"
+#
+#   Czech message catalog for CUPS.
+#
+#   Copyright 2007-2012 by Apple Inc.
+#   Copyright 2005-2007 by Easy Software Products.
+#
+#   These coded instructions, statements, and computer programs are the
+#   property of Apple Inc. and are protected by Federal copyright
+#   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
+#   which should have been included with this file.  If this file is
+#   file is missing or damaged, see the license at "http://www.cups.org/".
+#
+
+#
+# Notes for Translators:
+#
+# The "checkpo" program located in the "locale" source directory can be used
+# to verify that your translations do not introduce formatting errors or other
+# problems.  Run with:
+#
+#    cd locale
+#    ./checkpo cups_LL.po
+#
+# where "LL" is your locale.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: CUPS 1.6\n"
+"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
+"POT-Creation-Date: 2012-05-23 16:24-0700\n"
+"PO-Revision-Date: 2012-09-14 10:26+0100\n"
+"Last-Translator: Jan Bartos <jan.bartos@madeta.cz>\n"
+"Language-Team: Czech\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: systemv/lpstat.c:1876 systemv/lpstat.c:2001
+msgid "\t\t(all)"
+msgstr ""
+
+#: systemv/lpstat.c:1879 systemv/lpstat.c:1882 systemv/lpstat.c:2004
+#: systemv/lpstat.c:2007
+msgid "\t\t(none)"
+msgstr ""
+
+#: berkeley/lpc.c:434
+#, c-format
+msgid "\t%d entries"
+msgstr ""
+
+#: systemv/lpstat.c:756 systemv/lpstat.c:772
+#, c-format
+msgid "\t%s"
+msgstr ""
+
+#: systemv/lpstat.c:1857 systemv/lpstat.c:1982
+msgid "\tAfter fault: continue"
+msgstr ""
+
+#: systemv/lpstat.c:1481 systemv/lpstat.c:1826 systemv/lpstat.c:1952
+#, c-format
+msgid "\tAlerts: %s"
+msgstr ""
+
+#: systemv/lpstat.c:1880 systemv/lpstat.c:2005
+msgid "\tBanner required"
+msgstr ""
+
+#: systemv/lpstat.c:1881 systemv/lpstat.c:2006
+msgid "\tCharset sets:"
+msgstr ""
+
+#: systemv/lpstat.c:1845 systemv/lpstat.c:1970
+msgid "\tConnection: direct"
+msgstr ""
+
+#: systemv/lpstat.c:1836 systemv/lpstat.c:1962
+msgid "\tConnection: remote"
+msgstr ""
+
+#: systemv/lpstat.c:1800 systemv/lpstat.c:1926
+msgid "\tContent types: any"
+msgstr ""
+
+#: systemv/lpstat.c:1884 systemv/lpstat.c:2009
+msgid "\tDefault page size:"
+msgstr ""
+
+#: systemv/lpstat.c:1883 systemv/lpstat.c:2008
+msgid "\tDefault pitch:"
+msgstr ""
+
+#: systemv/lpstat.c:1885 systemv/lpstat.c:2010
+msgid "\tDefault port settings:"
+msgstr ""
+
+#: systemv/lpstat.c:1806 systemv/lpstat.c:1932
+#, c-format
+msgid "\tDescription: %s"
+msgstr ""
+
+#: systemv/lpstat.c:1799 systemv/lpstat.c:1925
+msgid "\tForm mounted:"
+msgstr ""
+
+#: systemv/lpstat.c:1878 systemv/lpstat.c:2003
+msgid "\tForms allowed:"
+msgstr ""
+
+#: systemv/lpstat.c:1840 systemv/lpstat.c:1966
+#, c-format
+msgid "\tInterface: %s.ppd"
+msgstr ""
+
+#: systemv/lpstat.c:1849 systemv/lpstat.c:1974
+#, c-format
+msgid "\tInterface: %s/interfaces/%s"
+msgstr ""
+
+#: systemv/lpstat.c:1853 systemv/lpstat.c:1978
+#, c-format
+msgid "\tInterface: %s/ppd/%s.ppd"
+msgstr ""
+
+#: systemv/lpstat.c:1831 systemv/lpstat.c:1957
+#, c-format
+msgid "\tLocation: %s"
+msgstr ""
+
+#: systemv/lpstat.c:1856 systemv/lpstat.c:1981
+msgid "\tOn fault: no alert"
+msgstr ""
+
+#: systemv/lpstat.c:1801 systemv/lpstat.c:1927
+msgid "\tPrinter types: unknown"
+msgstr ""
+
+#: systemv/lpstat.c:1462
+#, c-format
+msgid "\tStatus: %s"
+msgstr ""
+
+#: systemv/lpstat.c:1861 systemv/lpstat.c:1875 systemv/lpstat.c:1986
+#: systemv/lpstat.c:2000
+msgid "\tUsers allowed:"
+msgstr ""
+
+#: systemv/lpstat.c:1868 systemv/lpstat.c:1993
+msgid "\tUsers denied:"
+msgstr ""
+
+#: berkeley/lpc.c:436
+msgid "\tdaemon present"
+msgstr ""
+
+#: berkeley/lpc.c:432
+msgid "\tno entries"
+msgstr ""
+
+#: berkeley/lpc.c:404 berkeley/lpc.c:416
+#, c-format
+msgid "\tprinter is on device '%s' speed -1"
+msgstr ""
+
+#: berkeley/lpc.c:429
+msgid "\tprinting is disabled"
+msgstr ""
+
+#: berkeley/lpc.c:427
+msgid "\tprinting is enabled"
+msgstr ""
+
+#: systemv/lpstat.c:1484
+#, c-format
+msgid "\tqueued for %s"
+msgstr ""
+
+#: berkeley/lpc.c:424
+msgid "\tqueuing is disabled"
+msgstr ""
+
+#: berkeley/lpc.c:422
+msgid "\tqueuing is enabled"
+msgstr ""
+
+#: systemv/lpstat.c:1792 systemv/lpstat.c:1918
+msgid "\treason unknown"
+msgstr ""
+
+#: systemv/cupstestppd.c:454
+msgid ""
+"\n"
+"    DETAILED CONFORMANCE TEST RESULTS"
+msgstr ""
+
+#: systemv/cupstestppd.c:3800
+msgid "                          Ignore specific warnings."
+msgstr ""
+
+#: systemv/cupstestppd.c:3804
+msgid "                          Issue warnings instead of errors."
+msgstr ""
+
+#: systemv/cupstestppd.c:410 systemv/cupstestppd.c:415
+msgid "                REF: Page 15, section 3.1."
+msgstr ""
+
+#: systemv/cupstestppd.c:405
+msgid "                REF: Page 15, section 3.2."
+msgstr ""
+
+#: systemv/cupstestppd.c:425
+msgid "                REF: Page 19, section 3.3."
+msgstr ""
+
+#: systemv/cupstestppd.c:378
+msgid "                REF: Page 20, section 3.4."
+msgstr ""
+
+#: systemv/cupstestppd.c:430
+msgid "                REF: Page 27, section 3.5."
+msgstr ""
+
+#: systemv/cupstestppd.c:373
+msgid "                REF: Page 42, section 5.2."
+msgstr ""
+
+#: systemv/cupstestppd.c:420
+msgid "                REF: Pages 16-17, section 3.2."
+msgstr ""
+
+#: systemv/cupstestppd.c:390
+msgid "                REF: Pages 42-45, section 5.2."
+msgstr ""
+
+#: systemv/cupstestppd.c:384
+msgid "                REF: Pages 45-46, section 5.2."
+msgstr ""
+
+#: systemv/cupstestppd.c:395
+msgid "                REF: Pages 48-49, section 5.2."
+msgstr ""
+
+#: systemv/cupstestppd.c:400
+msgid "                REF: Pages 52-54, section 5.2."
+msgstr ""
+
+#: berkeley/lpq.c:554
+#, c-format
+msgid "        %-39.39s %.0f bytes"
+msgstr ""
+
+#: systemv/cupstestppd.c:589
+#, c-format
+msgid "        PASS    Default%s"
+msgstr ""
+
+#: systemv/cupstestppd.c:524
+msgid "        PASS    DefaultImageableArea"
+msgstr ""
+
+#: systemv/cupstestppd.c:558
+msgid "        PASS    DefaultPaperDimension"
+msgstr ""
+
+#: systemv/cupstestppd.c:631
+msgid "        PASS    FileVersion"
+msgstr ""
+
+#: systemv/cupstestppd.c:675
+msgid "        PASS    FormatVersion"
+msgstr ""
+
+#: systemv/cupstestppd.c:695
+msgid "        PASS    LanguageEncoding"
+msgstr ""
+
+#: systemv/cupstestppd.c:715
+msgid "        PASS    LanguageVersion"
+msgstr ""
+
+#: systemv/cupstestppd.c:769
+msgid "        PASS    Manufacturer"
+msgstr ""
+
+#: systemv/cupstestppd.c:809
+msgid "        PASS    ModelName"
+msgstr ""
+
+#: systemv/cupstestppd.c:829
+msgid "        PASS    NickName"
+msgstr ""
+
+#: systemv/cupstestppd.c:889
+msgid "        PASS    PCFileName"
+msgstr ""
+
+#: systemv/cupstestppd.c:964
+msgid "        PASS    PSVersion"
+msgstr ""
+
+#: systemv/cupstestppd.c:869
+msgid "        PASS    PageRegion"
+msgstr ""
+
+#: systemv/cupstestppd.c:849
+msgid "        PASS    PageSize"
+msgstr ""
+
+#: systemv/cupstestppd.c:924
+msgid "        PASS    Product"
+msgstr ""
+
+#: systemv/cupstestppd.c:999
+msgid "        PASS    ShortNickName"
+msgstr ""
+
+#: systemv/cupstestppd.c:1374
+#, c-format
+msgid "        WARN    %s has no corresponding options."
+msgstr ""
+
+#: systemv/cupstestppd.c:1486
+#, c-format
+msgid ""
+"        WARN    %s shares a common prefix with %s\n"
+"                REF: Page 15, section 3.2."
+msgstr ""
+
+#: systemv/cupstestppd.c:1345
+#, c-format
+msgid ""
+"        WARN    Duplex option keyword %s may not work as expected and should be named Duplex.\n"
+"                REF: Page 122, section 5.17"
+msgstr ""
+
+#: systemv/cupstestppd.c:1744
+msgid "        WARN    File contains a mix of CR, LF, and CR LF line endings."
+msgstr ""
+
+#: systemv/cupstestppd.c:1390
+msgid ""
+"        WARN    LanguageEncoding required by PPD 4.3 spec.\n"
+"                REF: Pages 56-57, section 5.3."
+msgstr ""
+
+#: systemv/cupstestppd.c:1726
+#, c-format
+msgid "        WARN    Line %d only contains whitespace."
+msgstr ""
+
+#: systemv/cupstestppd.c:1398
+msgid ""
+"        WARN    Manufacturer required by PPD 4.3 spec.\n"
+"                REF: Pages 58-59, section 5.3."
+msgstr ""
+
+#: systemv/cupstestppd.c:1749
+msgid "        WARN    Non-Windows PPD files should use lines ending with only LF, not CR LF."
+msgstr ""
+
+#: systemv/cupstestppd.c:1382
+#, c-format
+msgid ""
+"        WARN    Obsolete PPD version %.1f.\n"
+"                REF: Page 42, section 5.2."
+msgstr ""
+
+#: systemv/cupstestppd.c:1413
+msgid ""
+"        WARN    PCFileName longer than 8.3 in violation of PPD spec.\n"
+"                REF: Pages 61-62, section 5.3."
+msgstr ""
+
+#: systemv/cupstestppd.c:1421
+msgid ""
+"        WARN    PCFileName should contain a unique filename.\n"
+"                REF: Pages 61-62, section 5.3."
+msgstr ""
+
+#: systemv/cupstestppd.c:1456
+msgid ""
+"        WARN    Protocols contains PJL but JCL attributes are not set.\n"
+"                REF: Pages 78-79, section 5.7."
+msgstr ""
+
+#: systemv/cupstestppd.c:1447
+msgid ""
+"        WARN    Protocols contains both PJL and BCP; expected TBCP.\n"
+"                REF: Pages 78-79, section 5.7."
+msgstr ""
+
+#: systemv/cupstestppd.c:1430
+msgid ""
+"        WARN    ShortNickName required by PPD 4.3 spec.\n"
+"                REF: Pages 64-65, section 5.3."
+msgstr ""
+
+#: systemv/cupsaddsmb.c:282
+msgid "       cupsaddsmb [options] -a"
+msgstr ""
+
+#: systemv/cupstestdsc.c:427
+msgid "       cupstestdsc [options] -"
+msgstr ""
+
+#: systemv/cupstestppd.c:3795
+msgid "       program | cupstestppd [options] -"
+msgstr ""
+
+#: systemv/cupstestppd.c:3727
+#, c-format
+msgid ""
+"      %s  \"%s %s\" conflicts with \"%s %s\"\n"
+"                (constraint=\"%s %s %s %s\")."
+msgstr ""
+
+#: systemv/cupstestppd.c:2248
+#, c-format
+msgid "      %s  %s %s does not exist."
+msgstr ""
+
+#: systemv/cupstestppd.c:3884
+#, c-format
+msgid "      %s  %s file \"%s\" has the wrong capitalization."
+msgstr ""
+
+#: systemv/cupstestppd.c:2318
+#, c-format
+msgid ""
+"      %s  Bad %s choice %s.\n"
+"                REF: Page 122, section 5.17"
+msgstr ""
+
+#: systemv/cupstestppd.c:3487 systemv/cupstestppd.c:3536
+#: systemv/cupstestppd.c:3575
+#, c-format
+msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s."
+msgstr ""
+
+#: systemv/cupstestppd.c:3441
+#, c-format
+msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s."
+msgstr ""
+
+#: systemv/cupstestppd.c:2389
+#, c-format
+msgid "      %s  Bad cupsFilter value \"%s\"."
+msgstr ""
+
+#: systemv/cupstestppd.c:2475
+#, c-format
+msgid "      %s  Bad cupsFilter2 value \"%s\"."
+msgstr ""
+
+#: systemv/cupstestppd.c:2964
+#, c-format
+msgid "      %s  Bad cupsICCProfile %s."
+msgstr ""
+
+#: systemv/cupstestppd.c:2571
+#, c-format
+msgid "      %s  Bad cupsPreFilter value \"%s\"."
+msgstr ""
+
+#: systemv/cupstestppd.c:1822
+#, c-format
+msgid "      %s  Bad cupsUIConstraints %s: \"%s\""
+msgstr ""
+
+#: systemv/cupstestppd.c:3391
+#, c-format
+msgid "      %s  Bad language \"%s\"."
+msgstr ""
+
+#: systemv/cupstestppd.c:2433 systemv/cupstestppd.c:2529
+#: systemv/cupstestppd.c:2615 systemv/cupstestppd.c:2673
+#: systemv/cupstestppd.c:2728 systemv/cupstestppd.c:2783
+#: systemv/cupstestppd.c:2838 systemv/cupstestppd.c:2891
+#: systemv/cupstestppd.c:3013
+#, c-format
+msgid "      %s  Bad permissions on %s file \"%s\"."
+msgstr ""
+
+#: systemv/cupstestppd.c:2373 systemv/cupstestppd.c:2459
+#: systemv/cupstestppd.c:2555 systemv/cupstestppd.c:2642
+#: systemv/cupstestppd.c:2697 systemv/cupstestppd.c:2752
+#: systemv/cupstestppd.c:2807 systemv/cupstestppd.c:2862
+#, c-format
+msgid "      %s  Bad spelling of %s - should be %s."
+msgstr ""
+
+#: systemv/cupstestppd.c:2907
+#, c-format
+msgid "      %s  Cannot provide both APScanAppPath and APScanAppBundleID."
+msgstr ""
+
+#: systemv/cupstestppd.c:2205
+#, c-format
+msgid "      %s  Default choices conflicting."
+msgstr ""
+
+#: systemv/cupstestppd.c:1803
+#, c-format
+msgid "      %s  Empty cupsUIConstraints %s"
+msgstr ""
+
+#: systemv/cupstestppd.c:3519 systemv/cupstestppd.c:3559
+#, c-format
+msgid "      %s  Missing \"%s\" translation string for option %s, choice %s."
+msgstr ""
+
+#: systemv/cupstestppd.c:3427
+#, c-format
+msgid "      %s  Missing \"%s\" translation string for option %s."
+msgstr ""
+
+#: systemv/cupstestppd.c:2418 systemv/cupstestppd.c:2514
+#: systemv/cupstestppd.c:2600 systemv/cupstestppd.c:2658
+#: systemv/cupstestppd.c:2713 systemv/cupstestppd.c:2768
+#: systemv/cupstestppd.c:2823 systemv/cupstestppd.c:2875
+#: systemv/cupstestppd.c:2998
+#, c-format
+msgid "      %s  Missing %s file \"%s\"."
+msgstr ""
+
+#: systemv/cupstestppd.c:3121
+#, c-format
+msgid ""
+"      %s  Missing REQUIRED PageRegion option.\n"
+"                REF: Page 100, section 5.14."
+msgstr ""
+
+#: systemv/cupstestppd.c:3106
+#, c-format
+msgid ""
+"      %s  Missing REQUIRED PageSize option.\n"
+"                REF: Page 99, section 5.14."
+msgstr ""
+
+#: systemv/cupstestppd.c:2013 systemv/cupstestppd.c:2054
+#, c-format
+msgid "      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"."
+msgstr ""
+
+#: systemv/cupstestppd.c:1908
+#, c-format
+msgid "      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\""
+msgstr ""
+
+#: systemv/cupstestppd.c:1840
+#, c-format
+msgid "      %s  Missing cupsUIResolver %s"
+msgstr ""
+
+#: systemv/cupstestppd.c:1999 systemv/cupstestppd.c:2040
+#, c-format
+msgid "      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\"."
+msgstr ""
+
+#: systemv/cupstestppd.c:1892
+#, c-format
+msgid "      %s  Missing option %s in cupsUIConstraints %s: \"%s\""
+msgstr ""
+
+#: systemv/cupstestppd.c:3613
+#, c-format
+msgid "      %s  No base translation \"%s\" is included in file."
+msgstr ""
+
+#: systemv/cupstestppd.c:2294
+#, c-format
+msgid ""
+"      %s  REQUIRED %s does not define choice None.\n"
+"                REF: Page 122, section 5.17"
+msgstr ""
+
+#: systemv/cupstestppd.c:3180 systemv/cupstestppd.c:3194
+#, c-format
+msgid "      %s  Size \"%s\" defined for %s but not for %s."
+msgstr ""
+
+#: systemv/cupstestppd.c:3160
+#, c-format
+msgid "      %s  Size \"%s\" has unexpected dimensions (%gx%g)."
+msgstr ""
+
+#: systemv/cupstestppd.c:3332
+#, c-format
+msgid "      %s  Size \"%s\" should be \"%s\"."
+msgstr ""
+
+#: systemv/cupstestppd.c:3292
+#, c-format
+msgid "      %s  Size \"%s\" should be the Adobe standard name \"%s\"."
+msgstr ""
+
+#: systemv/cupstestppd.c:3041
+#, c-format
+msgid "      %s  cupsICCProfile %s hash value collides with %s."
+msgstr ""
+
+#: systemv/cupstestppd.c:1963
+#, c-format
+msgid "      %s  cupsUIResolver %s causes a loop."
+msgstr ""
+
+#: systemv/cupstestppd.c:1945
+#, c-format
+msgid "      %s  cupsUIResolver %s does not list at least two different options."
+msgstr ""
+
+#: systemv/cupstestppd.c:1168
+#, c-format
+msgid ""
+"      **FAIL**  %s must be 1284DeviceID\n"
+"                REF: Page 72, section 5.5"
+msgstr ""
+
+#: systemv/cupstestppd.c:580
+#, c-format
+msgid ""
+"      **FAIL**  Bad Default%s %s\n"
+"                REF: Page 40, section 4.5."
+msgstr ""
+
+#: systemv/cupstestppd.c:514
+#, c-format
+msgid ""
+"      **FAIL**  Bad DefaultImageableArea %s\n"
+"                REF: Page 102, section 5.15."
+msgstr ""
+
+#: systemv/cupstestppd.c:550
+#, c-format
+msgid ""
+"      **FAIL**  Bad DefaultPaperDimension %s\n"
+"                REF: Page 103, section 5.15."
+msgstr ""
+
+#: systemv/cupstestppd.c:623
+#, c-format
+msgid ""
+"      **FAIL**  Bad FileVersion \"%s\"\n"
+"                REF: Page 56, section 5.3."
+msgstr ""
+
+#: systemv/cupstestppd.c:667
+#, c-format
+msgid ""
+"      **FAIL**  Bad FormatVersion \"%s\"\n"
+"                REF: Page 56, section 5.3."
+msgstr ""
+
+#: systemv/cupstestppd.c:1025
+msgid ""
+"      **FAIL**  Bad JobPatchFile attribute in file\n"
+"                REF: Page 24, section 3.4."
+msgstr ""
+
+#: systemv/cupstestppd.c:1213
+#, c-format
+msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1."
+msgstr ""
+
+#: systemv/cupstestppd.c:1227
+#, c-format
+msgid "      **FAIL**  Bad LanguageVersion %s - must be English."
+msgstr ""
+
+#: systemv/cupstestppd.c:743 systemv/cupstestppd.c:760
+#, c-format
+msgid ""
+"      **FAIL**  Bad Manufacturer (should be \"%s\")\n"
+"                REF: Page 211, table D.1."
+msgstr ""
+
+#: systemv/cupstestppd.c:800
+#, c-format
+msgid ""
+"      **FAIL**  Bad ModelName - \"%c\" not allowed in string.\n"
+"                REF: Pages 59-60, section 5.3."
+msgstr ""
+
+#: systemv/cupstestppd.c:956
+msgid ""
+"      **FAIL**  Bad PSVersion - not \"(string) int\".\n"
+"                REF: Pages 62-64, section 5.3."
+msgstr ""
+
+#: systemv/cupstestppd.c:917
+msgid ""
+"      **FAIL**  Bad Product - not \"(string)\".\n"
+"                REF: Page 62, section 5.3."
+msgstr ""
+
+#: systemv/cupstestppd.c:991
+msgid ""
+"      **FAIL**  Bad ShortNickName - longer than 31 chars.\n"
+"                REF: Pages 64-65, section 5.3."
+msgstr ""
+
+#: systemv/cupstestppd.c:1149
+#, c-format
+msgid ""
+"      **FAIL**  Bad option %s choice %s\n"
+"                REF: Page 84, section 5.9"
+msgstr ""
+
+#: systemv/cupstestppd.c:3754 systemv/cupstestppd.c:3776
+#, c-format
+msgid "      **FAIL**  Default option code cannot be interpreted: %s"
+msgstr ""
+
+#: systemv/cupstestppd.c:1286
+#, c-format
+msgid "      **FAIL**  Default translation string for option %s choice %s contains 8-bit characters."
+msgstr ""
+
+#: systemv/cupstestppd.c:1259
+#, c-format
+msgid "      **FAIL**  Default translation string for option %s contains 8-bit characters."
+msgstr ""
+
+#: systemv/cupstestppd.c:2101
+#, c-format
+msgid "      **FAIL**  Group names %s and %s differ only by case."
+msgstr ""
+
+#: systemv/cupstestppd.c:2146
+#, c-format
+msgid "      **FAIL**  Multiple occurrences of option %s choice name %s."
+msgstr ""
+
+#: systemv/cupstestppd.c:2163
+#, c-format
+msgid "      **FAIL**  Option %s choice names %s and %s differ only by case."
+msgstr ""
+
+#: systemv/cupstestppd.c:2123
+#, c-format
+msgid "      **FAIL**  Option names %s and %s differ only by case."
+msgstr ""
+
+#: systemv/cupstestppd.c:600
+#, c-format
+msgid ""
+"      **FAIL**  REQUIRED Default%s\n"
+"                REF: Page 40, section 4.5."
+msgstr ""
+
+#: systemv/cupstestppd.c:499
+msgid ""
+"      **FAIL**  REQUIRED DefaultImageableArea\n"
+"                REF: Page 102, section 5.15."
+msgstr ""
+
+#: systemv/cupstestppd.c:535
+msgid ""
+"      **FAIL**  REQUIRED DefaultPaperDimension\n"
+"                REF: Page 103, section 5.15."
+msgstr ""
+
+#: systemv/cupstestppd.c:641
+msgid ""
+"      **FAIL**  REQUIRED FileVersion\n"
+"                REF: Page 56, section 5.3."
+msgstr ""
+
+#: systemv/cupstestppd.c:685
+msgid ""
+"      **FAIL**  REQUIRED FormatVersion\n"
+"                REF: Page 56, section 5.3."
+msgstr ""
+
+#: systemv/cupstestppd.c:1076
+#, c-format
+msgid ""
+"      **FAIL**  REQUIRED ImageableArea for PageSize %s\n"
+"                REF: Page 41, section 5.\n"
+"                REF: Page 102, section 5.15."
+msgstr ""
+
+#: systemv/cupstestppd.c:705
+msgid ""
+"      **FAIL**  REQUIRED LanguageEncoding\n"
+"                REF: Pages 56-57, section 5.3."
+msgstr ""
+
+#: systemv/cupstestppd.c:725
+msgid ""
+"      **FAIL**  REQUIRED LanguageVersion\n"
+"                REF: Pages 57-58, section 5.3."
+msgstr ""
+
+#: systemv/cupstestppd.c:779
+msgid ""
+"      **FAIL**  REQUIRED Manufacturer\n"
+"                REF: Pages 58-59, section 5.3."
+msgstr ""
+
+#: systemv/cupstestppd.c:819
+msgid ""
+"      **FAIL**  REQUIRED ModelName\n"
+"                REF: Pages 59-60, section 5.3."
+msgstr ""
+
+#: systemv/cupstestppd.c:839
+msgid ""
+"      **FAIL**  REQUIRED NickName\n"
+"                REF: Page 60, section 5.3."
+msgstr ""
+
+#: systemv/cupstestppd.c:899
+msgid ""
+"      **FAIL**  REQUIRED PCFileName\n"
+"                REF: Pages 61-62, section 5.3."
+msgstr ""
+
+#: systemv/cupstestppd.c:974
+msgid ""
+"      **FAIL**  REQUIRED PSVersion\n"
+"                REF: Pages 62-64, section 5.3."
+msgstr ""
+
+#: systemv/cupstestppd.c:879
+msgid ""
+"      **FAIL**  REQUIRED PageRegion\n"
+"                REF: Page 100, section 5.14."
+msgstr ""
+
+#: systemv/cupstestppd.c:1045
+msgid ""
+"      **FAIL**  REQUIRED PageSize\n"
+"                REF: Page 41, section 5.\n"
+"                REF: Page 99, section 5.14."
+msgstr ""
+
+#: systemv/cupstestppd.c:859
+msgid ""
+"      **FAIL**  REQUIRED PageSize\n"
+"                REF: Pages 99-100, section 5.14."
+msgstr ""
+
+#: systemv/cupstestppd.c:1098
+#, c-format
+msgid ""
+"      **FAIL**  REQUIRED PaperDimension for PageSize %s\n"
+"                REF: Page 41, section 5.\n"
+"                REF: Page 103, section 5.15."
+msgstr ""
+
+#: systemv/cupstestppd.c:934
+msgid ""
+"      **FAIL**  REQUIRED Product\n"
+"                REF: Page 62, section 5.3."
+msgstr ""
+
+#: systemv/cupstestppd.c:1009
+msgid ""
+"      **FAIL**  REQUIRED ShortNickName\n"
+"                REF: Page 64-65, section 5.3."
+msgstr ""
+
+#: systemv/cupstestppd.c:334 systemv/cupstestppd.c:353
+#: systemv/cupstestppd.c:365
+#, c-format
+msgid "      **FAIL**  Unable to open PPD file - %s on line %d."
+msgstr ""
+
+#: systemv/cupstestppd.c:1498
+#, c-format
+msgid "    %d ERRORS FOUND"
+msgstr ""
+
+#: systemv/cupstestdsc.c:431
+msgid "    -h       Show program usage"
+msgstr ""
+
+#: systemv/cupstestdsc.c:234 systemv/cupstestdsc.c:276
+#, c-format
+msgid ""
+"    Bad %%%%BoundingBox: on line %d.\n"
+"        REF: Page 39, %%%%BoundingBox:"
+msgstr ""
+
+#: systemv/cupstestdsc.c:305
+#, c-format
+msgid ""
+"    Bad %%%%Page: on line %d.\n"
+"        REF: Page 53, %%%%Page:"
+msgstr ""
+
+#: systemv/cupstestdsc.c:218 systemv/cupstestdsc.c:258
+#, c-format
+msgid ""
+"    Bad %%%%Pages: on line %d.\n"
+"        REF: Page 43, %%%%Pages:"
+msgstr ""
+
+#: systemv/cupstestdsc.c:176
+#, c-format
+msgid ""
+"    Line %d is longer than 255 characters (%d).\n"
+"        REF: Page 25, Line Length"
+msgstr ""
+
+#: systemv/cupstestdsc.c:192
+msgid ""
+"    Missing %!PS-Adobe-3.0 on first line.\n"
+"        REF: Page 17, 3.1 Conforming Documents"
+msgstr ""
+
+#: systemv/cupstestdsc.c:362
+#, c-format
+msgid "    Missing %%EndComments comment.        REF: Page 41, %%EndComments"
+msgstr ""
+
+#: systemv/cupstestdsc.c:342
+#, c-format
+msgid ""
+"    Missing or bad %%BoundingBox: comment.\n"
+"        REF: Page 39, %%BoundingBox:"
+msgstr ""
+
+#: systemv/cupstestdsc.c:372
+#, c-format
+msgid ""
+"    Missing or bad %%Page: comments.\n"
+"        REF: Page 53, %%Page:"
+msgstr ""
+
+#: systemv/cupstestdsc.c:352
+#, c-format
+msgid ""
+"    Missing or bad %%Pages: comment.\n"
+"        REF: Page 43, %%Pages:"
+msgstr ""
+
+#: systemv/cupstestppd.c:1500
+msgid "    NO ERRORS FOUND"
+msgstr ""
+
+#: systemv/cupstestdsc.c:395
+#, c-format
+msgid "    Saw %d lines that exceeded 255 characters."
+msgstr ""
+
+#: systemv/cupstestdsc.c:390
+#, c-format
+msgid "    Too many %%BeginDocument comments."
+msgstr ""
+
+#: systemv/cupstestdsc.c:382
+#, c-format
+msgid "    Too many %%EndDocument comments."
+msgstr ""
+
+#: systemv/cupstestdsc.c:402
+msgid "    Warning: file contains binary data."
+msgstr ""
+
+#: systemv/cupstestdsc.c:410
+#, c-format
+msgid "    Warning: no %%EndComments comment in file."
+msgstr ""
+
+#: systemv/cupstestdsc.c:406
+#, c-format
+msgid "    Warning: obsolete DSC version %.1f in file."
+msgstr ""
+
+#: systemv/cupsctl.c:210
+msgid "  --[no-]debug-logging    Turn debug logging on/off."
+msgstr ""
+
+#: systemv/cupsctl.c:212
+msgid "  --[no-]remote-admin     Turn remote administration on/off."
+msgstr ""
+
+#: systemv/cupsctl.c:214
+msgid "  --[no-]remote-any       Allow/prevent access from the Internet."
+msgstr ""
+
+#: systemv/cupsctl.c:216
+msgid "  --[no-]share-printers   Turn printer sharing on/off."
+msgstr ""
+
+#: systemv/cupsctl.c:218
+msgid "  --[no-]user-cancel-any  Allow/prevent users to cancel any job."
+msgstr ""
+
+#: ppdc/ppdc.cxx:455
+msgid "  --cr                    End lines with CR (Mac OS 9)."
+msgstr ""
+
+#: ppdc/ppdc.cxx:457
+msgid "  --crlf                  End lines with CR + LF (Windows)."
+msgstr ""
+
+#: ppdc/ppdc.cxx:459
+msgid "  --lf                    End lines with LF (UNIX/Linux/OS X)."
+msgstr ""
+
+#: test/ipptool.c:4404
+msgid "  -4                      Connect using IPv4."
+msgstr ""
+
+#: test/ipptool.c:4405
+msgid "  -6                      Connect using IPv6."
+msgstr ""
+
+#: test/ipptool.c:4406
+msgid "  -C                      Send requests using chunking (default)."
+msgstr ""
+
+#: scheduler/cupsfilter.c:1431
+msgid "  -D                      Remove the input file when finished."
+msgstr ""
+
+#: ppdc/ppdc.cxx:438 ppdc/ppdhtml.cxx:175 ppdc/ppdpo.cxx:255
+msgid "  -D name=value           Set named variable to value."
+msgstr ""
+
+#: systemv/cupsaddsmb.c:285 systemv/cupsctl.c:205
+msgid "  -E                      Encrypt the connection."
+msgstr ""
+
+#: test/ipptool.c:4408
+msgid "  -E                      Test with HTTP Upgrade to TLS."
+msgstr ""
+
+#: scheduler/main.c:2021
+msgid "  -F                      Run in the foreground but detach from console."
+msgstr ""
+
+#: systemv/cupsaddsmb.c:286
+msgid "  -H samba-server         Use the named SAMBA server."
+msgstr ""
+
+#: test/ipptool.c:4410
+msgid "  -I                      Ignore errors."
+msgstr ""
+
+#: ppdc/ppdc.cxx:440 ppdc/ppdhtml.cxx:177 ppdc/ppdi.cxx:131 ppdc/ppdpo.cxx:257
+msgid "  -I include-dir          Add include directory to search path."
+msgstr ""
+
+#: systemv/cupstestppd.c:3799
+msgid "  -I {filename,filters,none,profiles}"
+msgstr ""
+
+#: test/ipptool.c:4411
+msgid "  -L                      Send requests using content-length."
+msgstr ""
+
+#: scheduler/cupsfilter.c:1433
+msgid "  -P filename.ppd         Set PPD file."
+msgstr ""
+
+#: systemv/cupstestppd.c:3801
+msgid "  -R root-directory       Set alternate root."
+msgstr ""
+
+#: test/ipptool.c:4413
+msgid "  -S                      Test with SSL encryption."
+msgstr ""
+
+#: test/ipptool.c:4415
+msgid "  -T seconds              Set the receive/send timeout in seconds."
+msgstr ""
+
+#: scheduler/cupsfilter.c:1434 systemv/cupsaddsmb.c:288 systemv/cupsctl.c:206
+msgid "  -U username             Specify username."
+msgstr ""
+
+#: test/ipptool.c:4417
+msgid "  -V version              Set default IPP version."
+msgstr ""
+
+#: systemv/cupstestppd.c:3802
+msgid "  -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,translations}"
+msgstr ""
+
+#: test/ipptool.c:4419
+msgid "  -X                      Produce XML plist instead of plain text."
+msgstr ""
+
+#: systemv/cupsaddsmb.c:289
+msgid "  -a                      Export all printers."
+msgstr ""
+
+#: ppdc/ppdc.cxx:442
+msgid "  -c catalog.po           Load the specified message catalog."
+msgstr ""
+
+#: scheduler/cupsfilter.c:1435 scheduler/main.c:2019
+msgid "  -c cupsd.conf           Set cupsd.conf file to use."
+msgstr ""
+
+#: test/ipptool.c:4421
+msgid "  -d name=value           Set named variable to value."
+msgstr ""
+
+#: ppdc/ppdc.cxx:444
+msgid "  -d output-dir           Specify the output directory."
+msgstr ""
+
+#: scheduler/cupsfilter.c:1437
+msgid "  -d printer              Use the named printer."
+msgstr ""
+
+#: scheduler/cupsfilter.c:1439
+msgid "  -e                      Use every filter from the PPD file."
+msgstr ""
+
+#: scheduler/main.c:2020
+msgid "  -f                      Run in the foreground."
+msgstr ""
+
+#: test/ipptool.c:4423
+msgid "  -f filename             Set default request filename."
+msgstr ""
+
+#: scheduler/main.c:2023
+msgid "  -h                      Show this usage message."
+msgstr ""
+
+#: systemv/cupsaddsmb.c:290 systemv/cupsctl.c:207
+msgid "  -h server[:port]        Specify server address."
+msgstr ""
+
+#: scheduler/cupsfilter.c:1441
+msgid "  -i mime/type            Set input MIME type (otherwise auto-typed)."
+msgstr ""
+
+#: test/ipptool.c:4425
+msgid "  -i seconds              Repeat the last file with the given time interval."
+msgstr ""
+
+#: scheduler/cupsfilter.c:1443
+msgid "  -j job-id[,N]           Filter file N from the specified job (default is file 1)."
+msgstr ""
+
+#: scheduler/main.c:2024
+msgid "  -l                      Run cupsd from launchd(8)."
+msgstr ""
+
+#: ppdc/ppdc.cxx:446
+msgid "  -l lang[,lang,...]      Specify the output language(s) (locale)."
+msgstr ""
+
+#: ppdc/ppdc.cxx:448
+msgid "  -m                      Use the ModelName value as the filename."
+msgstr ""
+
+#: scheduler/cupsfilter.c:1445
+msgid "  -m mime/type            Set output MIME type (otherwise application/pdf)."
+msgstr ""
+
+#: scheduler/cupsfilter.c:1447
+msgid "  -n copies               Set number of copies."
+msgstr ""
+
+#: test/ipptool.c:4427
+msgid "  -n count                Repeat the last file the given number of times."
+msgstr ""
+
+#: ppdc/ppdi.cxx:133
+msgid "  -o filename.drv         Set driver information file (otherwise ppdi.drv)."
+msgstr ""
+
+#: ppdc/ppdmerge.cxx:370
+msgid "  -o filename.ppd[.gz]    Set output file (otherwise stdout)."
+msgstr ""
+
+#: scheduler/cupsfilter.c:1448
+msgid "  -o name=value           Set option(s)."
+msgstr ""
+
+#: scheduler/cupsfilter.c:1449
+msgid "  -p filename.ppd         Set PPD file."
+msgstr ""
+
+#: systemv/cupstestppd.c:3806 test/ipptool.c:4429
+msgid "  -q                      Run silently."
+msgstr ""
+
+#: systemv/cupstestppd.c:3807
+msgid "  -r                      Use 'relaxed' open mode."
+msgstr ""
+
+#: test/ipptool.c:4430
+msgid "  -t                      Produce a test report."
+msgstr ""
+
+#: ppdc/ppdc.cxx:450
+msgid "  -t                      Test PPDs instead of generating them."
+msgstr ""
+
+#: scheduler/main.c:2025
+msgid "  -t                      Test the configuration file."
+msgstr ""
+
+#: scheduler/cupsfilter.c:1450
+msgid "  -t title                Set title."
+msgstr ""
+
+#: scheduler/cupsfilter.c:1451
+msgid "  -u                      Remove the PPD file when finished."
+msgstr ""
+
+#: systemv/cupsaddsmb.c:291 systemv/cupstestppd.c:3808 test/ipptool.c:4431
+#: ppdc/ppdc.cxx:452 ppdc/ppdpo.cxx:259
+msgid "  -v                      Be verbose."
+msgstr ""
+
+#: systemv/cupstestppd.c:3809
+msgid "  -vv                     Be very verbose."
+msgstr ""
+
+#: ppdc/ppdc.cxx:453
+msgid "  -z                      Compress PPD files using GNU zip."
+msgstr ""
+
+#: systemv/cupstestppd.c:332 systemv/cupstestppd.c:351
+#: systemv/cupstestppd.c:363 systemv/cupstestppd.c:496
+#: systemv/cupstestppd.c:511 systemv/cupstestppd.c:532
+#: systemv/cupstestppd.c:547 systemv/cupstestppd.c:577
+#: systemv/cupstestppd.c:597 systemv/cupstestppd.c:620
+#: systemv/cupstestppd.c:638 systemv/cupstestppd.c:664
+#: systemv/cupstestppd.c:682 systemv/cupstestppd.c:702
+#: systemv/cupstestppd.c:722 systemv/cupstestppd.c:740
+#: systemv/cupstestppd.c:757 systemv/cupstestppd.c:776
+#: systemv/cupstestppd.c:797 systemv/cupstestppd.c:816
+#: systemv/cupstestppd.c:836 systemv/cupstestppd.c:856
+#: systemv/cupstestppd.c:876 systemv/cupstestppd.c:896
+#: systemv/cupstestppd.c:914 systemv/cupstestppd.c:931
+#: systemv/cupstestppd.c:953 systemv/cupstestppd.c:971
+#: systemv/cupstestppd.c:988 systemv/cupstestppd.c:1006
+#: systemv/cupstestppd.c:1022 systemv/cupstestppd.c:1042
+#: systemv/cupstestppd.c:1073 systemv/cupstestppd.c:1095
+#: systemv/cupstestppd.c:1146 systemv/cupstestppd.c:1165
+#: systemv/cupstestppd.c:1209 systemv/cupstestppd.c:1223
+#: systemv/cupstestppd.c:1255 systemv/cupstestppd.c:1282
+#: systemv/cupstestppd.c:1800 systemv/cupstestppd.c:1819
+#: systemv/cupstestppd.c:1837 systemv/cupstestppd.c:1889
+#: systemv/cupstestppd.c:1905 systemv/cupstestppd.c:1942
+#: systemv/cupstestppd.c:1960 systemv/cupstestppd.c:1996
+#: systemv/cupstestppd.c:2010 systemv/cupstestppd.c:2037
+#: systemv/cupstestppd.c:2051 systemv/cupstestppd.c:2097
+#: systemv/cupstestppd.c:2119 systemv/cupstestppd.c:2142
+#: systemv/cupstestppd.c:2159 systemv/cupstestppd.c:2201
+#: systemv/cupstestppd.c:2244 systemv/cupstestppd.c:2291
+#: systemv/cupstestppd.c:2315 systemv/cupstestppd.c:2369
+#: systemv/cupstestppd.c:2385 systemv/cupstestppd.c:2415
+#: systemv/cupstestppd.c:2429 systemv/cupstestppd.c:2455
+#: systemv/cupstestppd.c:2471 systemv/cupstestppd.c:2511
+#: systemv/cupstestppd.c:2525 systemv/cupstestppd.c:2551
+#: systemv/cupstestppd.c:2567 systemv/cupstestppd.c:2597
+#: systemv/cupstestppd.c:2611 systemv/cupstestppd.c:2638
+#: systemv/cupstestppd.c:2655 systemv/cupstestppd.c:2669
+#: systemv/cupstestppd.c:2693 systemv/cupstestppd.c:2710
+#: systemv/cupstestppd.c:2724 systemv/cupstestppd.c:2748
+#: systemv/cupstestppd.c:2765 systemv/cupstestppd.c:2779
+#: systemv/cupstestppd.c:2803 systemv/cupstestppd.c:2820
+#: systemv/cupstestppd.c:2834 systemv/cupstestppd.c:2858
+#: systemv/cupstestppd.c:2872 systemv/cupstestppd.c:2887
+#: systemv/cupstestppd.c:2904 systemv/cupstestppd.c:2960
+#: systemv/cupstestppd.c:2995 systemv/cupstestppd.c:3009
+#: systemv/cupstestppd.c:3037 systemv/cupstestppd.c:3102
+#: systemv/cupstestppd.c:3117 systemv/cupstestppd.c:3156
+#: systemv/cupstestppd.c:3176 systemv/cupstestppd.c:3190
+#: systemv/cupstestppd.c:3387 systemv/cupstestppd.c:3423
+#: systemv/cupstestppd.c:3437 systemv/cupstestppd.c:3483
+#: systemv/cupstestppd.c:3515 systemv/cupstestppd.c:3532
+#: systemv/cupstestppd.c:3555 systemv/cupstestppd.c:3571
+#: systemv/cupstestppd.c:3609 systemv/cupstestppd.c:3750
+#: systemv/cupstestppd.c:3772 systemv/cupstestppd.c:3880
+msgid " FAIL"
+msgstr ""
+
+#: systemv/cupstestppd.c:1306
+msgid " PASS"
+msgstr ""
+
+#: berkeley/lpq.c:560
+#, c-format
+msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes"
+msgstr ""
+
+#: berkeley/lpq.c:565
+#, c-format
+msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes"
+msgstr ""
+
+#: systemv/lpstat.c:750
+#, c-format
+msgid "%s accepting requests since %s"
+msgstr ""
+
+#: scheduler/ipp.c:10045
+#, c-format
+msgid "%s cannot be changed."
+msgstr "%s nelze změnit."
+
+#: berkeley/lpc.c:189
+#, c-format
+msgid "%s is not implemented by the CUPS version of lpc."
+msgstr ""
+
+#: berkeley/lpq.c:651
+#, c-format
+msgid "%s is not ready"
+msgstr ""
+
+#: berkeley/lpq.c:644
+#, c-format
+msgid "%s is ready"
+msgstr ""
+
+#: berkeley/lpq.c:647
+#, c-format
+msgid "%s is ready and printing"
+msgstr ""
+
+#: filter/rastertoepson.c:985 filter/rastertohp.c:711
+#: filter/rastertolabel.c:1134
+#, c-format
+msgid "%s job-id user title copies options [file]"
+msgstr ""
+
+#: systemv/lpstat.c:754
+#, c-format
+msgid "%s not accepting requests since %s -"
+msgstr ""
+
+#: scheduler/ipp.c:691
+#, c-format
+msgid "%s not supported."
+msgstr ""
+
+#: systemv/lpstat.c:765
+#, c-format
+msgid "%s/%s accepting requests since %s"
+msgstr ""
+
+#: systemv/lpstat.c:770
+#, c-format
+msgid "%s/%s not accepting requests since %s -"
+msgstr ""
+
+#: berkeley/lpq.c:552
+#, c-format
+msgid "%s: %-33.33s [job %d localhost]"
+msgstr ""
+
+#. TRANSLATORS: Message is "subject: error"
+#: cups/langprintf.c:86 scheduler/cupsfilter.c:714 systemv/lpadmin.c:805
+#: systemv/lpadmin.c:856 systemv/lpadmin.c:906 systemv/lpadmin.c:962
+#: systemv/lpadmin.c:1060 systemv/lpadmin.c:1112 systemv/lpadmin.c:1168
+#: systemv/lpadmin.c:1478
+#, c-format
+msgid "%s: %s"
+msgstr ""
+
+#: systemv/cancel.c:294 systemv/cancel.c:357
+#, c-format
+msgid "%s: %s failed: %s"
+msgstr ""
+
+#: systemv/cupsaccept.c:68
+#, c-format
+msgid "%s: Don't know what to do."
+msgstr ""
+
+#: berkeley/lpq.c:236 berkeley/lpr.c:344 systemv/lp.c:584
+#, c-format
+msgid "%s: Error - %s environment variable names non-existent destination \"%s\"."
+msgstr ""
+
+#: systemv/lp.c:231
+#, c-format
+msgid "%s: Error - bad job ID."
+msgstr ""
+
+#: systemv/lp.c:219
+#, c-format
+msgid "%s: Error - cannot print files and alter jobs simultaneously."
+msgstr ""
+
+#: systemv/lp.c:505
+#, c-format
+msgid "%s: Error - cannot print from stdin if files or a job ID are provided."
+msgstr ""
+
+#: systemv/lp.c:461
+#, c-format
+msgid "%s: Error - expected character set after \"-S\" option."
+msgstr ""
+
+#: systemv/lp.c:480
+#, c-format
+msgid "%s: Error - expected content type after \"-T\" option."
+msgstr ""
+
+#: berkeley/lpr.c:240
+#, c-format
+msgid "%s: Error - expected copies after \"-#\" option."
+msgstr ""
+
+#: systemv/lp.c:264
+#, c-format
+msgid "%s: Error - expected copies after \"-n\" option."
+msgstr ""
+
+#: berkeley/lpr.c:209
+#, c-format
+msgid "%s: Error - expected destination after \"-P\" option."
+msgstr ""
+
+#: systemv/lpstat.c:231
+#, c-format
+msgid "%s: Error - expected destination after \"-b\" option."
+msgstr ""
+
+#: systemv/lp.c:138
+#, c-format
+msgid "%s: Error - expected destination after \"-d\" option."
+msgstr ""
+
+#: systemv/lp.c:168
+#, c-format
+msgid "%s: Error - expected form after \"-f\" option."
+msgstr ""
+
+#: systemv/lp.c:391
+#, c-format
+msgid "%s: Error - expected hold name after \"-H\" option."
+msgstr ""
+
+#: berkeley/lpr.c:103
+#, c-format
+msgid "%s: Error - expected hostname after \"-H\" option."
+msgstr ""
+
+#: berkeley/lpq.c:180 berkeley/lprm.c:123 systemv/cancel.c:124
+#: systemv/cupsaccept.c:123 systemv/lp.c:189 systemv/lpstat.c:291
+#, c-format
+msgid "%s: Error - expected hostname after \"-h\" option."
+msgstr ""
+
+#: systemv/lp.c:371
+#, c-format
+msgid "%s: Error - expected mode list after \"-y\" option."
+msgstr ""
+
+#: berkeley/lpr.c:263
+#, c-format
+msgid "%s: Error - expected name after \"-%c\" option."
+msgstr ""
+
+#: berkeley/lpr.c:153 systemv/lp.c:288
+#, c-format
+msgid "%s: Error - expected option=value after \"-o\" option."
+msgstr ""
+
+#: systemv/lp.c:441
+#, c-format
+msgid "%s: Error - expected page list after \"-P\" option."
+msgstr ""
+
+#: systemv/lp.c:308
+#, c-format
+msgid "%s: Error - expected priority after \"-%c\" option."
+msgstr ""
+
+#: systemv/cupsaccept.c:141
+#, c-format
+msgid "%s: Error - expected reason text after \"-r\" option."
+msgstr ""
+
+#: systemv/lp.c:354
+#, c-format
+msgid "%s: Error - expected title after \"-t\" option."
+msgstr ""
+
+#: berkeley/lpq.c:111 berkeley/lpr.c:84 berkeley/lprm.c:104
+#: systemv/cancel.c:94 systemv/cupsaccept.c:101 systemv/lp.c:116
+#: systemv/lpadmin.c:438 systemv/lpstat.c:137
+#, c-format
+msgid "%s: Error - expected username after \"-U\" option."
+msgstr ""
+
+#: systemv/cancel.c:145
+#, c-format
+msgid "%s: Error - expected username after \"-u\" option."
+msgstr ""
+
+#: berkeley/lpr.c:125
+#, c-format
+msgid "%s: Error - expected value after \"-%c\" option."
+msgstr ""
+
+#: systemv/lpstat.c:157 systemv/lpstat.c:171
+#, c-format
+msgid "%s: Error - need \"completed\", \"not-completed\", or \"all\" after \"-W\" option."
+msgstr ""
+
+#: berkeley/lpq.c:241 berkeley/lpr.c:349 systemv/lp.c:589
+#, c-format
+msgid "%s: Error - no default destination available."
+msgstr ""
+
+#: systemv/lp.c:330
+#, c-format
+msgid "%s: Error - priority must be between 1 and 100."
+msgstr ""
+
+#: berkeley/lpr.c:352 systemv/lp.c:592
+#, c-format
+msgid "%s: Error - scheduler not responding."
+msgstr ""
+
+#: berkeley/lpr.c:305 systemv/lp.c:537
+#, c-format
+msgid "%s: Error - too many files - \"%s\"."
+msgstr ""
+
+#: berkeley/lpr.c:287 systemv/lp.c:520
+#, c-format
+msgid "%s: Error - unable to access \"%s\" - %s"
+msgstr ""
+
+#: berkeley/lpr.c:395 systemv/lp.c:623
+#, c-format
+msgid "%s: Error - unable to queue from stdin - %s."
+msgstr ""
+
+#: berkeley/lprm.c:87 berkeley/lprm.c:172 systemv/cancel.c:214
+#, c-format
+msgid "%s: Error - unknown destination \"%s\"."
+msgstr ""
+
+#: berkeley/lpq.c:150
+#, c-format
+msgid "%s: Error - unknown destination \"%s/%s\"."
+msgstr ""
+
+#: berkeley/lpr.c:274 berkeley/lprm.c:139 systemv/cancel.c:156
+#: systemv/cupsaccept.c:164 systemv/lp.c:496 systemv/lpstat.c:452
+#, c-format
+msgid "%s: Error - unknown option \"%c\"."
+msgstr ""
+
+#: systemv/cupsaccept.c:157
+#, c-format
+msgid "%s: Error - unknown option \"%s\"."
+msgstr ""
+
+#: systemv/lp.c:208
+#, c-format
+msgid "%s: Expected job ID after \"-i\" option."
+msgstr ""
+
+#: systemv/lpstat.c:504 systemv/lpstat.c:543
+#, c-format
+msgid "%s: Invalid destination name in list \"%s\"."
+msgstr ""
+
+#: scheduler/cupsfilter.c:567
+#, c-format
+msgid "%s: Invalid filter string \"%s\"."
+msgstr ""
+
+#: systemv/lp.c:418
+#, c-format
+msgid "%s: Need job ID (\"-i jobid\") before \"-H restart\"."
+msgstr ""
+
+#: scheduler/cupsfilter.c:458
+#, c-format
+msgid "%s: No filter to convert from %s/%s to %s/%s."
+msgstr ""
+
+#: systemv/cupsaccept.c:198
+#, c-format
+msgid "%s: Operation failed: %s"
+msgstr ""
+
+#: berkeley/lpq.c:97 berkeley/lpr.c:70 berkeley/lprm.c:67 systemv/cancel.c:81
+#: systemv/cupsaccept.c:88 systemv/cupsaddsmb.c:86 systemv/lp.c:102
+#: systemv/lpadmin.c:239 systemv/lpinfo.c:88 systemv/lpmove.c:73
+#: systemv/lpstat.c:102 test/ipptool.c:304 test/ipptool.c:321
+#, c-format
+msgid "%s: Sorry, no encryption support."
+msgstr ""
+
+#: berkeley/lpq.c:295 scheduler/cupsfilter.c:1221 systemv/cancel.c:237
+#: systemv/cupsaddsmb.c:144 systemv/cupsaddsmb.c:171
+#, c-format
+msgid "%s: Unable to connect to server."
+msgstr ""
+
+#: systemv/cancel.c:317
+#, c-format
+msgid "%s: Unable to contact server."
+msgstr ""
+
+#: scheduler/cupsfilter.c:424
+#, c-format
+msgid "%s: Unable to determine MIME type of \"%s\"."
+msgstr ""
+
+#: ppdc/ppdmerge.cxx:96
+#, c-format
+msgid "%s: Unable to open %s: %s"
+msgstr ""
+
+#: scheduler/cupsfilter.c:662 ppdc/ppdmerge.cxx:112
+#, c-format
+msgid "%s: Unable to open PPD file: %s on line %d."
+msgstr ""
+
+#: scheduler/cupsfilter.c:392
+#, c-format
+msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"."
+msgstr ""
+
+#: berkeley/lpq.c:153 systemv/lpstat.c:558
+#, c-format
+msgid "%s: Unknown destination \"%s\"."
+msgstr ""
+
+#: scheduler/cupsfilter.c:435
+#, c-format
+msgid "%s: Unknown destination MIME type %s/%s."
+msgstr ""
+
+#: scheduler/cupsfilter.c:1426
+#, c-format
+msgid "%s: Unknown option \"%c\"."
+msgstr ""
+
+#: scheduler/cupsfilter.c:416
+#, c-format
+msgid "%s: Unknown source MIME type %s/%s."
+msgstr ""
+
+#: berkeley/lpr.c:139
+#, c-format
+msgid "%s: Warning - \"%c\" format modifier not supported - output may not be correct."
+msgstr ""
+
+#: systemv/lp.c:468
+#, c-format
+msgid "%s: Warning - character set option ignored."
+msgstr ""
+
+#: systemv/lp.c:487
+#, c-format
+msgid "%s: Warning - content type option ignored."
+msgstr ""
+
+#: systemv/lp.c:175
+#, c-format
+msgid "%s: Warning - form option ignored."
+msgstr ""
+
+#: systemv/lp.c:378
+#, c-format
+msgid "%s: Warning - mode option ignored."
+msgstr ""
+
+#: ppdc/sample.c:310
+msgid "-1"
+msgstr "-1"
+
+#: ppdc/sample.c:301
+msgid "-10"
+msgstr "-10"
+
+#: ppdc/sample.c:393
+msgid "-100"
+msgstr "-100"
+
+#: ppdc/sample.c:392
+msgid "-105"
+msgstr "-105"
+
+#: ppdc/sample.c:300
+msgid "-11"
+msgstr "-11"
+
+#: ppdc/sample.c:391
+msgid "-110"
+msgstr "-110"
+
+#: ppdc/sample.c:390
+msgid "-115"
+msgstr "-115"
+
+#: ppdc/sample.c:299
+msgid "-12"
+msgstr "-12"
+
+#: ppdc/sample.c:389
+msgid "-120"
+msgstr "-120"
+
+#: ppdc/sample.c:298
+msgid "-13"
+msgstr "-13"
+
+#: ppdc/sample.c:297
+msgid "-14"
+msgstr "-14"
+
+#: ppdc/sample.c:296
+msgid "-15"
+msgstr "-15"
+
+#: ppdc/sample.c:309
+msgid "-2"
+msgstr "-2"
+
+#: ppdc/sample.c:409
+msgid "-20"
+msgstr "-20"
+
+#: ppdc/sample.c:408
+msgid "-25"
+msgstr "-25"
+
+#: ppdc/sample.c:308
+msgid "-3"
+msgstr "-3"
+
+#: ppdc/sample.c:407
+msgid "-30"
+msgstr "-30"
+
+#: ppdc/sample.c:406
+msgid "-35"
+msgstr "-35"
+
+#: ppdc/sample.c:307
+msgid "-4"
+msgstr "-4"
+
+#: ppdc/sample.c:405
+msgid "-40"
+msgstr "-40"
+
+#: ppdc/sample.c:404
+msgid "-45"
+msgstr "-45"
+
+#: ppdc/sample.c:306
+msgid "-5"
+msgstr "-5"
+
+#: ppdc/sample.c:403
+msgid "-50"
+msgstr "-50"
+
+#: ppdc/sample.c:402
+msgid "-55"
+msgstr "-55"
+
+#: ppdc/sample.c:305
+msgid "-6"
+msgstr "-6"
+
+#: ppdc/sample.c:401
+msgid "-60"
+msgstr "-60"
+
+#: ppdc/sample.c:400
+msgid "-65"
+msgstr "-65"
+
+#: ppdc/sample.c:304
+msgid "-7"
+msgstr "-7"
+
+#: ppdc/sample.c:399
+msgid "-70"
+msgstr "-70"
+
+#: ppdc/sample.c:398
+msgid "-75"
+msgstr "-75"
+
+#: ppdc/sample.c:303
+msgid "-8"
+msgstr "-8"
+
+#: ppdc/sample.c:397
+msgid "-80"
+msgstr "-80"
+
+#: ppdc/sample.c:396
+msgid "-85"
+msgstr "-85"
+
+#: ppdc/sample.c:302
+msgid "-9"
+msgstr "-9"
+
+#: ppdc/sample.c:395
+msgid "-90"
+msgstr "-90"
+
+#: ppdc/sample.c:394
+msgid "-95"
+msgstr "-95"
+
+#: ppdc/sample.c:311
+msgid "0"
+msgstr "0"
+
+#: ppdc/sample.c:312
+msgid "1"
+msgstr "1"
+
+#: ppdc/sample.c:384
+msgid "1 inch/sec."
+msgstr "1 palec/sek."
+
+#: ppdc/sample.c:172
+msgid "1.25x0.25\""
+msgstr "1.25x0.25\""
+
+#: ppdc/sample.c:173
+msgid "1.25x2.25\""
+msgstr "1.25x2.25\""
+
+#: ppdc/sample.c:432
+msgid "1.5 inch/sec."
+msgstr "1.5 palce/sek."
+
+#: ppdc/sample.c:174
+msgid "1.50x0.25\""
+msgstr "1.50x0.25\""
+
+#: ppdc/sample.c:175
+msgid "1.50x0.50\""
+msgstr "1.50x0.50\""
+
+#: ppdc/sample.c:176
+msgid "1.50x1.00\""
+msgstr "1.50x1.00\""
+
+#: ppdc/sample.c:177
+msgid "1.50x2.00\""
+msgstr "1.50x2.00\""
+
+#: ppdc/sample.c:321
+msgid "10"
+msgstr "10"
+
+#: ppdc/sample.c:443
+msgid "10 inches/sec."
+msgstr "10 palců/sek."
+
+#: ppdc/sample.c:6
+msgid "10 x 11"
+msgstr ""
+
+#: ppdc/sample.c:7
+msgid "10 x 13"
+msgstr ""
+
+#: ppdc/sample.c:8
+msgid "10 x 14"
+msgstr ""
+
+#: ppdc/sample.c:423
+msgid "100"
+msgstr "100"
+
+#: ppdc/sample.c:334
+msgid "100 mm/sec."
+msgstr "100 mm/sek."
+
+#: ppdc/sample.c:424
+msgid "105"
+msgstr "105"
+
+#: ppdc/sample.c:322
+msgid "11"
+msgstr "11"
+
+#: ppdc/sample.c:444
+msgid "11 inches/sec."
+msgstr "11 palců/sek."
+
+#: ppdc/sample.c:425
+msgid "110"
+msgstr "110"
+
+#: ppdc/sample.c:426
+msgid "115"
+msgstr "115"
+
+#: ppdc/sample.c:323
+msgid "12"
+msgstr "12"
+
+#: ppdc/sample.c:445
+msgid "12 inches/sec."
+msgstr "12 palců/sek."
+
+#: ppdc/sample.c:9
+msgid "12 x 11"
+msgstr ""
+
+#: ppdc/sample.c:427
+msgid "120"
+msgstr "120"
+
+#: ppdc/sample.c:335
+msgid "120 mm/sec."
+msgstr "120 mm/sek."
+
+#: ppdc/sample.c:243
+msgid "120x60dpi"
+msgstr "120x60 dpi"
+
+#: ppdc/sample.c:249
+msgid "120x72dpi"
+msgstr "120x72 dpi"
+
+#: ppdc/sample.c:324
+msgid "13"
+msgstr "13"
+
+#: ppdc/sample.c:232
+msgid "136dpi"
+msgstr "136 dpi"
+
+#: ppdc/sample.c:325
+msgid "14"
+msgstr "14"
+
+#: ppdc/sample.c:326
+msgid "15"
+msgstr "15"
+
+#: ppdc/sample.c:328
+msgid "15 mm/sec."
+msgstr "15 mm/sek."
+
+#: ppdc/sample.c:10
+msgid "15 x 11"
+msgstr ""
+
+#: ppdc/sample.c:336
+msgid "150 mm/sec."
+msgstr "150 mm/sek."
+
+#: ppdc/sample.c:283
+msgid "150dpi"
+msgstr "150 dpi"
+
+#: ppdc/sample.c:368
+msgid "16"
+msgstr "16"
+
+#: ppdc/sample.c:369
+msgid "17"
+msgstr "17"
+
+#: ppdc/sample.c:370
+msgid "18"
+msgstr "18"
+
+#: ppdc/sample.c:244
+msgid "180dpi"
+msgstr "180 dpi"
+
+#: ppdc/sample.c:371
+msgid "19"
+msgstr "19"
+
+#: ppdc/sample.c:313
+msgid "2"
+msgstr "2"
+
+#: ppdc/sample.c:385
+msgid "2 inches/sec."
+msgstr "2 palce/sek."
+
+#: ppdc/sample.c:270
+msgid "2-Sided Printing"
+msgstr "oboustranný tisk"
+
+#: ppdc/sample.c:178
+msgid "2.00x0.37\""
+msgstr "2.00x0.37\""
+
+#: ppdc/sample.c:179
+msgid "2.00x0.50\""
+msgstr "2.00x0.50\""
+
+#: ppdc/sample.c:180
+msgid "2.00x1.00\""
+msgstr "2.00x1.00\""
+
+#: ppdc/sample.c:181
+msgid "2.00x1.25\""
+msgstr "2.00x1.25\""
+
+#: ppdc/sample.c:182
+msgid "2.00x2.00\""
+msgstr "2.00x2.00\""
+
+#: ppdc/sample.c:183
+msgid "2.00x3.00\""
+msgstr "2.00x3.00\""
+
+#: ppdc/sample.c:184
+msgid "2.00x4.00\""
+msgstr "2.00x4.00\""
+
+#: ppdc/sample.c:185
+msgid "2.00x5.50\""
+msgstr "2.00x5.50\""
+
+#: ppdc/sample.c:186
+msgid "2.25x0.50\""
+msgstr "2.25x0.50\""
+
+#: ppdc/sample.c:187
+msgid "2.25x1.25\""
+msgstr "2.25x1.25\""
+
+#: ppdc/sample.c:188
+msgid "2.25x4.00\""
+msgstr "2.25x4.00\""
+
+#: ppdc/sample.c:189
+msgid "2.25x5.50\""
+msgstr "2.25x5.50\""
+
+#: ppdc/sample.c:190
+msgid "2.38x5.50\""
+msgstr "2.38x5.50\""
+
+#: ppdc/sample.c:433
+msgid "2.5 inches/sec."
+msgstr "2.5 palce/sek."
+
+#: ppdc/sample.c:191
+msgid "2.50x1.00\""
+msgstr "2.50x1.00\""
+
+#: ppdc/sample.c:192
+msgid "2.50x2.00\""
+msgstr "2.50x2.00\""
+
+#: ppdc/sample.c:193
+msgid "2.75x1.25\""
+msgstr "2.75x1.25\""
+
+#: ppdc/sample.c:194
+msgid "2.9 x 1\""
+msgstr "2.9 x 1\""
+
+#: ppdc/sample.c:372
+msgid "20"
+msgstr "20"
+
+#: ppdc/sample.c:329
+msgid "20 mm/sec."
+msgstr "20 mm/sek."
+
+#: ppdc/sample.c:337
+msgid "200 mm/sec."
+msgstr "200 mm/sek."
+
+#: ppdc/sample.c:233
+msgid "203dpi"
+msgstr "203 dpi"
+
+#: ppdc/sample.c:373
+msgid "21"
+msgstr "21"
+
+#: ppdc/sample.c:374
+msgid "22"
+msgstr "22"
+
+#: ppdc/sample.c:375
+msgid "23"
+msgstr "23"
+
+#: ppdc/sample.c:376
+msgid "24"
+msgstr "24"
+
+#: ppdc/sample.c:241
+msgid "24-Pin Series"
+msgstr "24 jehličková"
+
+#: ppdc/sample.c:250
+msgid "240x72dpi"
+msgstr "240x72 dpi"
+
+#: ppdc/sample.c:377
+msgid "25"
+msgstr "25"
+
+#: ppdc/sample.c:338
+msgid "250 mm/sec."
+msgstr "250 mm/sek."
+
+#: ppdc/sample.c:378
+msgid "26"
+msgstr "26"
+
+#: ppdc/sample.c:379
+msgid "27"
+msgstr "27"
+
+#: ppdc/sample.c:380
+msgid "28"
+msgstr "28"
+
+#: ppdc/sample.c:381
+msgid "29"
+msgstr "29"
+
+#: ppdc/sample.c:314
+msgid "3"
+msgstr "3"
+
+#: ppdc/sample.c:386
+msgid "3 inches/sec."
+msgstr "3 palce/sek."
+
+#: ppdc/sample.c:3
+msgid "3 x 5"
+msgstr ""
+
+#: ppdc/sample.c:195
+msgid "3.00x1.00\""
+msgstr "3.00x1.00\""
+
+#: ppdc/sample.c:196
+msgid "3.00x1.25\""
+msgstr "3.00x1.25\""
+
+#: ppdc/sample.c:197
+msgid "3.00x2.00\""
+msgstr "3.00x2.00\""
+
+#: ppdc/sample.c:198
+msgid "3.00x3.00\""
+msgstr "3.00x3.00\""
+
+#: ppdc/sample.c:199
+msgid "3.00x5.00\""
+msgstr "3.00x5.00\""
+
+#: ppdc/sample.c:200
+msgid "3.25x2.00\""
+msgstr "3.25x2.00\""
+
+#: ppdc/sample.c:201
+msgid "3.25x5.00\""
+msgstr "3.25x5.00\""
+
+#: ppdc/sample.c:202
+msgid "3.25x5.50\""
+msgstr "3.25x5.50\""
+
+#: ppdc/sample.c:203
+msgid "3.25x5.83\""
+msgstr "3.25x5.83\""
+
+#: ppdc/sample.c:204
+msgid "3.25x7.83\""
+msgstr "3.25x7.83\""
+
+#: ppdc/sample.c:4
+msgid "3.5 x 5"
+msgstr ""
+
+#: ppdc/sample.c:171
+msgid "3.5\" Disk"
+msgstr "3.5\" Disk"
+
+#: ppdc/sample.c:205
+msgid "3.50x1.00\""
+msgstr "3.50x1.00\""
+
+#: ppdc/sample.c:382
+msgid "30"
+msgstr "30"
+
+#: ppdc/sample.c:330
+msgid "30 mm/sec."
+msgstr "30 mm/sek."
+
+#: ppdc/sample.c:339
+msgid "300 mm/sec."
+msgstr "300 mm/sek."
+
+#: ppdc/sample.c:234
+msgid "300dpi"
+msgstr "300 dpi"
+
+#: ppdc/sample.c:410
+msgid "35"
+msgstr "35"
+
+#: ppdc/sample.c:246
+msgid "360dpi"
+msgstr "360 dpi"
+
+#: ppdc/sample.c:245
+msgid "360x180dpi"
+msgstr "360x180 dpi"
+
+#: ppdc/sample.c:315
+msgid "4"
+msgstr "4"
+
+#: ppdc/sample.c:387
+msgid "4 inches/sec."
+msgstr "4 palce/sek."
+
+#: ppdc/sample.c:206
+msgid "4.00x1.00\""
+msgstr "4.00x1.00\""
+
+#: ppdc/sample.c:214
+msgid "4.00x13.00\""
+msgstr "4.00x13.00\""
+
+#: ppdc/sample.c:207
+msgid "4.00x2.00\""
+msgstr "4.00x2.00\""
+
+#: ppdc/sample.c:208
+msgid "4.00x2.50\""
+msgstr "4.00x2.50\""
+
+#: ppdc/sample.c:209
+msgid "4.00x3.00\""
+msgstr "4.00x3.00\""
+
+#: ppdc/sample.c:210
+msgid "4.00x4.00\""
+msgstr "4.00x4.00\""
+
+#: ppdc/sample.c:211
+msgid "4.00x5.00\""
+msgstr "4.00x5.00\""
+
+#: ppdc/sample.c:212
+msgid "4.00x6.00\""
+msgstr "4.00x6.00\""
+
+#: ppdc/sample.c:213
+msgid "4.00x6.50\""
+msgstr "4.00x6.50\""
+
+#: ppdc/sample.c:411
+msgid "40"
+msgstr "40"
+
+#: ppdc/sample.c:331
+msgid "40 mm/sec."
+msgstr "40 mm/sek."
+
+#: ppdc/sample.c:412
+msgid "45"
+msgstr "45"
+
+#: ppdc/sample.c:316
+msgid "5"
+msgstr "5"
+
+#: ppdc/sample.c:437
+msgid "5 inches/sec."
+msgstr "5 palců/sek."
+
+#: ppdc/sample.c:5
+msgid "5 x 7"
+msgstr ""
+
+#: ppdc/sample.c:413
+msgid "50"
+msgstr "50"
+
+#: ppdc/sample.c:414
+msgid "55"
+msgstr "55"
+
+#: ppdc/sample.c:317
+msgid "6"
+msgstr "6"
+
+#: ppdc/sample.c:438
+msgid "6 inches/sec."
+msgstr "6 palců/sek."
+
+#: ppdc/sample.c:215
+msgid "6.00x1.00\""
+msgstr "6.00x1.00\""
+
+#: ppdc/sample.c:216
+msgid "6.00x2.00\""
+msgstr "6.00x2.00\""
+
+#: ppdc/sample.c:217
+msgid "6.00x3.00\""
+msgstr "6.00x3.00\""
+
+#: ppdc/sample.c:218
+msgid "6.00x4.00\""
+msgstr "6.00x4.00\""
+
+#: ppdc/sample.c:219
+msgid "6.00x5.00\""
+msgstr "6.00x5.00\""
+
+#: ppdc/sample.c:220
+msgid "6.00x6.00\""
+msgstr "6.00x6.00\""
+
+#: ppdc/sample.c:221
+msgid "6.00x6.50\""
+msgstr "6.00x6.50\""
+
+#: ppdc/sample.c:415
+msgid "60"
+msgstr "60"
+
+#: ppdc/sample.c:332
+msgid "60 mm/sec."
+msgstr "60 mm/sek."
+
+#: ppdc/sample.c:261
+msgid "600dpi"
+msgstr "600 dpi"
+
+#: ppdc/sample.c:242
+msgid "60dpi"
+msgstr "60 dpi"
+
+#: ppdc/sample.c:248
+msgid "60x72dpi"
+msgstr ""
+
+#: ppdc/sample.c:416
+msgid "65"
+msgstr "65"
+
+#: ppdc/sample.c:318
+msgid "7"
+msgstr "7"
+
+#: ppdc/sample.c:440
+msgid "7 inches/sec."
+msgstr "7 palců/sek."
+
+#: ppdc/sample.c:11
+msgid "7 x 9"
+msgstr ""
+
+#: ppdc/sample.c:417
+msgid "70"
+msgstr "70"
+
+#: ppdc/sample.c:252
+msgid "720dpi"
+msgstr "720 dpi"
+
+#: ppdc/sample.c:418
+msgid "75"
+msgstr "75"
+
+#: ppdc/sample.c:319
+msgid "8"
+msgstr "8"
+
+#: ppdc/sample.c:441
+msgid "8 inches/sec."
+msgstr "8 palců/sek."
+
+#: ppdc/sample.c:12
+msgid "8 x 10"
+msgstr ""
+
+#: ppdc/sample.c:222
+msgid "8.00x1.00\""
+msgstr "8.00x1.00\""
+
+#: ppdc/sample.c:223
+msgid "8.00x2.00\""
+msgstr "8.00x2.00\""
+
+#: ppdc/sample.c:224
+msgid "8.00x3.00\""
+msgstr "8.00x3.00\""
+
+#: ppdc/sample.c:225
+msgid "8.00x4.00\""
+msgstr "8.00x4.00\""
+
+#: ppdc/sample.c:226
+msgid "8.00x5.00\""
+msgstr "8.00x5.00\""
+
+#: ppdc/sample.c:227
+msgid "8.00x6.00\""
+msgstr "8.00x6.00\""
+
+#: ppdc/sample.c:228
+msgid "8.00x6.50\""
+msgstr "8.00x6.50\""
+
+#: ppdc/sample.c:419
+msgid "80"
+msgstr "80"
+
+#: ppdc/sample.c:333
+msgid "80 mm/sec."
+msgstr "80 mm/sek."
+
+#: ppdc/sample.c:420
+msgid "85"
+msgstr "85"
+
+#: ppdc/sample.c:320
+msgid "9"
+msgstr "9"
+
+#: ppdc/sample.c:442
+msgid "9 inches/sec."
+msgstr "9 palců/sek."
+
+#: ppdc/sample.c:13
+msgid "9 x 11"
+msgstr ""
+
+#: ppdc/sample.c:14
+msgid "9 x 12"
+msgstr ""
+
+#: ppdc/sample.c:247
+msgid "9-Pin Series"
+msgstr "9 jehličková"
+
+#: ppdc/sample.c:421
+msgid "90"
+msgstr "90"
+
+#: ppdc/sample.c:422
+msgid "95"
+msgstr "95"
+
+#: berkeley/lpc.c:213
+msgid "?Invalid help command unknown."
+msgstr ""
+
+#: cgi-bin/admin.c:2368
+msgid "A Samba password is required to export printer drivers"
+msgstr ""
+
+#: cgi-bin/admin.c:2364
+msgid "A Samba username is required to export printer drivers"
+msgstr ""
+
+#: scheduler/ipp.c:2283
+#, c-format
+msgid "A class named \"%s\" already exists."
+msgstr ""
+
+#: scheduler/ipp.c:1004
+#, c-format
+msgid "A printer named \"%s\" already exists."
+msgstr ""
+
+#: ppdc/sample.c:15
+msgid "A0"
+msgstr "A0"
+
+#: ppdc/sample.c:16
+msgid "A0 Long Edge"
+msgstr ""
+
+#: ppdc/sample.c:17
+msgid "A1"
+msgstr "A1"
+
+#: ppdc/sample.c:18
+msgid "A1 Long Edge"
+msgstr ""
+
+#: ppdc/sample.c:37
+msgid "A10"
+msgstr "A10"
+
+#: ppdc/sample.c:19
+msgid "A2"
+msgstr "A2"
+
+#: ppdc/sample.c:20
+msgid "A2 Long Edge"
+msgstr ""
+
+#: ppdc/sample.c:21
+msgid "A3"
+msgstr "A3"
+
+#: ppdc/sample.c:22
+msgid "A3 Long Edge"
+msgstr ""
+
+#: ppdc/sample.c:23
+msgid "A3 Oversize"
+msgstr ""
+
+#: ppdc/sample.c:24
+msgid "A3 Oversize Long Edge"
+msgstr ""
+
+#: ppdc/sample.c:25
+msgid "A4"
+msgstr "A4"
+
+#: ppdc/sample.c:27
+msgid "A4 Long Edge"
+msgstr ""
+
+#: ppdc/sample.c:26
+msgid "A4 Oversize"
+msgstr ""
+
+#: ppdc/sample.c:28
+msgid "A4 Small"
+msgstr ""
+
+#: ppdc/sample.c:29
+msgid "A5"
+msgstr "A5"
+
+#: ppdc/sample.c:31
+msgid "A5 Long Edge"
+msgstr ""
+
+#: ppdc/sample.c:30
+msgid "A5 Oversize"
+msgstr ""
+
+#: ppdc/sample.c:32
+msgid "A6"
+msgstr "A6"
+
+#: ppdc/sample.c:33
+msgid "A6 Long Edge"
+msgstr ""
+
+#: ppdc/sample.c:34
+msgid "A7"
+msgstr "A7"
+
+#: ppdc/sample.c:35
+msgid "A8"
+msgstr "A8"
+
+#: ppdc/sample.c:36
+msgid "A9"
+msgstr "A9"
+
+#: ppdc/sample.c:38
+msgid "ANSI A"
+msgstr "ANSI A"
+
+#: ppdc/sample.c:39
+msgid "ANSI B"
+msgstr "ANSI B"
+
+#: ppdc/sample.c:40
+msgid "ANSI C"
+msgstr "ANSI C"
+
+#: ppdc/sample.c:41
+msgid "ANSI D"
+msgstr "ANSI D"
+
+#: ppdc/sample.c:42
+msgid "ANSI E"
+msgstr "ANSI E"
+
+#: ppdc/sample.c:47
+msgid "ARCH C"
+msgstr "ARCH C"
+
+#: ppdc/sample.c:48
+msgid "ARCH C Long Edge"
+msgstr ""
+
+#: ppdc/sample.c:49
+msgid "ARCH D"
+msgstr "ARCH D"
+
+#: ppdc/sample.c:50
+msgid "ARCH D Long Edge"
+msgstr ""
+
+#: ppdc/sample.c:51
+msgid "ARCH E"
+msgstr "ARCH E"
+
+#: ppdc/sample.c:52
+msgid "ARCH E Long Edge"
+msgstr ""
+
+#: cgi-bin/classes.c:169 cgi-bin/printers.c:172
+msgid "Accept Jobs"
+msgstr "Příjem úloh"
+
+#: cups/http-support.c:1284
+msgid "Accepted"
+msgstr "Přijatý"
+
+#: cgi-bin/admin.c:570
+msgid "Add Class"
+msgstr "Přidat třídu"
+
+#: cgi-bin/admin.c:882
+msgid "Add Printer"
+msgstr "Přidat tiskárnu"
+
+#: cgi-bin/admin.c:444 cgi-bin/admin.c:477 cgi-bin/admin.c:525
+#: cgi-bin/admin.c:535
+msgid "Add RSS Subscription"
+msgstr "Přidat RSS předplatné"
+
+#: ppdc/sample.c:163
+msgid "Address"
+msgstr "Adresa"
+
+#: cgi-bin/admin.c:210 cgi-bin/admin.c:284 cgi-bin/admin.c:2745
+msgid "Administration"
+msgstr "Administrace"
+
+#: ppdc/sample.c:429
+msgid "Always"
+msgstr "Vždy"
+
+#: backend/socket.c:129
+msgid "AppSocket/HP JetDirect"
+msgstr "AppSocket/HP JetDirect"
+
+#: ppdc/sample.c:450
+msgid "Applicator"
+msgstr "Aplikátor"
+
+#: scheduler/ipp.c:1079
+#, c-format
+msgid "Attempt to set %s printer-state to bad value %d."
+msgstr ""
+
+#: scheduler/ipp.c:325
+#, c-format
+msgid "Attribute groups are out of order (%x < %x)."
+msgstr ""
+
+#: ppdc/sample.c:126
+msgid "B0"
+msgstr "B0"
+
+#: ppdc/sample.c:127
+msgid "B1"
+msgstr "B1"
+
+#: ppdc/sample.c:137
+msgid "B10"
+msgstr "B10"
+
+#: ppdc/sample.c:128
+msgid "B2"
+msgstr "B2"
+
+#: ppdc/sample.c:129
+msgid "B3"
+msgstr "B3"
+
+#: ppdc/sample.c:130
+msgid "B4"
+msgstr "B4"
+
+#: ppdc/sample.c:131
+msgid "B5"
+msgstr "B5"
+
+#: ppdc/sample.c:132
+msgid "B5 Oversize"
+msgstr ""
+
+#: ppdc/sample.c:133
+msgid "B6"
+msgstr "B6"
+
+#: ppdc/sample.c:134
+msgid "B7"
+msgstr "B7"
+
+#: ppdc/sample.c:135
+msgid "B8"
+msgstr "B8"
+
+#: ppdc/sample.c:136
+msgid "B9"
+msgstr "B9"
+
+#: cups/dest.c:1680
+msgid "Bad NULL dests pointer"
+msgstr "Neplatný ukazatel NULL"
+
+#: cups/ppd.c:345
+msgid "Bad OpenGroup"
+msgstr "Chybný OpenGroup"
+
+#: cups/ppd.c:347
+msgid "Bad OpenUI/JCLOpenUI"
+msgstr "Chybný OpenUI/JCLOpenUI"
+
+#: cups/ppd.c:349
+msgid "Bad OrderDependency"
+msgstr "Chybný OrderDependency"
+
+#: cups/ppd-cache.c:148 cups/ppd-cache.c:195 cups/ppd-cache.c:233
+#: cups/ppd-cache.c:239 cups/ppd-cache.c:255 cups/ppd-cache.c:271
+#: cups/ppd-cache.c:280 cups/ppd-cache.c:288 cups/ppd-cache.c:305
+#: cups/ppd-cache.c:313 cups/ppd-cache.c:328 cups/ppd-cache.c:336
+#: cups/ppd-cache.c:354 cups/ppd-cache.c:366 cups/ppd-cache.c:381
+#: cups/ppd-cache.c:393 cups/ppd-cache.c:415 cups/ppd-cache.c:423
+#: cups/ppd-cache.c:441 cups/ppd-cache.c:449 cups/ppd-cache.c:464
+#: cups/ppd-cache.c:472 cups/ppd-cache.c:490 cups/ppd-cache.c:498
+#: cups/ppd-cache.c:525 cups/ppd-cache.c:571 cups/ppd-cache.c:579
+#: cups/ppd-cache.c:587
+msgid "Bad PPD cache file."
+msgstr ""
+
+#: cups/http-support.c:1299
+msgid "Bad Request"
+msgstr "Chybný požadavek"
+
+#: cups/snmp.c:1002
+msgid "Bad SNMP version number"
+msgstr "Chybná verze SNMP"
+
+#: cups/ppd.c:350
+msgid "Bad UIConstraints"
+msgstr "Chybný UIConstraints"
+
+#: scheduler/ipp.c:1380
+#, c-format
+msgid "Bad copies value %d."
+msgstr "Chybný počet kopií %d."
+
+#: cups/ppd.c:358
+msgid "Bad custom parameter"
+msgstr "Chybný uživatelský parametr"
+
+#: cups/http-support.c:1451 scheduler/ipp.c:2350
+#, c-format
+msgid "Bad device-uri \"%s\"."
+msgstr ""
+
+#: scheduler/ipp.c:2391
+#, c-format
+msgid "Bad device-uri scheme \"%s\"."
+msgstr ""
+
+#: scheduler/ipp.c:8224 scheduler/ipp.c:8240 scheduler/ipp.c:9454
+#: scheduler/ipp.c:10968
+#, c-format
+msgid "Bad document-format \"%s\"."
+msgstr ""
+
+#: scheduler/ipp.c:9470
+#, c-format
+msgid "Bad document-format-default \"%s\"."
+msgstr ""
+
+#: cups/util.c:929
+msgid "Bad filename buffer"
+msgstr ""
+
+#: scheduler/ipp.c:10060
+msgid "Bad job-priority value."
+msgstr ""
+
+#: scheduler/ipp.c:1410
+#, c-format
+msgid "Bad job-sheets value \"%s\"."
+msgstr ""
+
+#: scheduler/ipp.c:1394
+msgid "Bad job-sheets value type."
+msgstr ""
+
+#: scheduler/ipp.c:10090
+msgid "Bad job-state value."
+msgstr ""
+
+#: scheduler/ipp.c:2974 scheduler/ipp.c:3426 scheduler/ipp.c:6078
+#: scheduler/ipp.c:6225 scheduler/ipp.c:7658 scheduler/ipp.c:7927
+#: scheduler/ipp.c:8775 scheduler/ipp.c:9001 scheduler/ipp.c:9350
+#: scheduler/ipp.c:9953
+#, c-format
+msgid "Bad job-uri \"%s\"."
+msgstr ""
+
+#: scheduler/ipp.c:2049 scheduler/ipp.c:5622
+#, c-format
+msgid "Bad notify-pull-method \"%s\"."
+msgstr ""
+
+#: scheduler/ipp.c:2013 scheduler/ipp.c:5586
+#, c-format
+msgid "Bad notify-recipient-uri \"%s\"."
+msgstr ""
+
+#: scheduler/ipp.c:1426
+#, c-format
+msgid "Bad number-up value %d."
+msgstr "Chybná hodnota %d."
+
+#: cups/adminutil.c:292
+#, c-format
+msgid "Bad option + choice on line %d."
+msgstr ""
+
+#: scheduler/ipp.c:1443
+#, c-format
+msgid "Bad page-ranges values %d-%d."
+msgstr "Chybný rozsah stránek %d-%d."
+
+#: scheduler/ipp.c:2434
+#, c-format
+msgid "Bad port-monitor \"%s\"."
+msgstr ""
+
+#: cups/dest.c:676 cups/dest.c:1333
+msgid "Bad printer URI."
+msgstr ""
+
+#: scheduler/ipp.c:2495
+#, c-format
+msgid "Bad printer-state value %d."
+msgstr ""
+
+#: scheduler/ipp.c:293
+#, c-format
+msgid "Bad request ID %d."
+msgstr ""
+
+#: scheduler/ipp.c:278
+#, c-format
+msgid "Bad request version number %d.%d."
+msgstr ""
+
+#: cgi-bin/admin.c:1484
+msgid "Bad subscription ID"
+msgstr ""
+
+#: cups/ppd.c:360
+msgid "Bad value string"
+msgstr ""
+
+#: cgi-bin/admin.c:3290 cgi-bin/admin.c:3536
+msgid "Banners"
+msgstr "Banery"
+
+#: ppdc/sample.c:287
+msgid "Bond Paper"
+msgstr "Kancelářský papír"
+
+#: backend/usb-darwin.c:1846
+#, c-format
+msgid "Boolean expected for waiteof option \"%s\"."
+msgstr ""
+
+#: filter/pstops.c:2057
+msgid "Buffer overflow detected, aborting."
+msgstr ""
+
+#: ppdc/sample.c:254
+msgid "CMYK"
+msgstr "CMYK"
+
+#: ppdc/sample.c:363
+msgid "CPCL Label Printer"
+msgstr "Tiskárna štítků CPCL"
+
+#: cgi-bin/admin.c:1485 cgi-bin/admin.c:1524 cgi-bin/admin.c:1534
+msgid "Cancel RSS Subscription"
+msgstr "Zrušit RSS předplatné"
+
+#: backend/ipp.c:1921
+msgid "Canceling print job."
+msgstr ""
+
+#: scheduler/ipp.c:2475
+msgid "Cannot share a remote Kerberized printer."
+msgstr ""
+
+#: ppdc/sample.c:279
+msgid "Cassette"
+msgstr ""
+
+#: cgi-bin/admin.c:1655 cgi-bin/admin.c:1797 cgi-bin/admin.c:1810
+#: cgi-bin/admin.c:1821
+msgid "Change Settings"
+msgstr "Změna nastavení"
+
+#: scheduler/ipp.c:2061 scheduler/ipp.c:5634
+#, c-format
+msgid "Character set \"%s\" not supported."
+msgstr ""
+
+#: cgi-bin/classes.c:195 cgi-bin/classes.c:322
+msgid "Classes"
+msgstr "Třídy"
+
+#: cgi-bin/printers.c:182
+msgid "Clean Print Heads"
+msgstr "Vyčištění tiskových hlav"
+
+#: scheduler/ipp.c:3878
+msgid "Close-Job doesn't support the job-uri attribute."
+msgstr ""
+
+#: ppdc/sample.c:282
+msgid "Color"
+msgstr "Barva"
+
+#: ppdc/sample.c:253
+msgid "Color Mode"
+msgstr "Barevný režim"
+
+#: berkeley/lpc.c:204
+msgid ""
+"Commands may be abbreviated.  Commands are:\n"
+"\n"
+"exit    help    quit    status  ?"
+msgstr ""
+
+#: cups/snmp.c:1006
+msgid "Community name uses indefinite length"
+msgstr "\"Community-Name\" má neomezenou délku"
+
+#: backend/ipp.c:786 backend/lpd.c:871 backend/socket.c:395
+msgid "Connected to printer."
+msgstr ""
+
+#: backend/ipp.c:691 backend/lpd.c:694 backend/socket.c:314
+msgid "Connecting to printer."
+msgstr ""
+
+#: cups/http-support.c:1272
+msgid "Continue"
+msgstr "Pokračovat"
+
+#: ppdc/sample.c:365
+msgid "Continuous"
+msgstr "Souvislý"
+
+#: backend/lpd.c:1020 backend/lpd.c:1152
+msgid "Control file sent successfully."
+msgstr ""
+
+#: backend/ipp.c:1233 backend/lpd.c:464
+msgid "Copying print data."
+msgstr ""
+
+#: cups/http-support.c:1281
+msgid "Created"
+msgstr "Vytvořeno"
+
+#: cups/ppd.c:1113 cups/ppd.c:1153 cups/ppd.c:1398 cups/ppd.c:1501
+msgid "Custom"
+msgstr "Uživatelský"
+
+#: ppdc/sample.c:359
+msgid "CustominCutInterval"
+msgstr "CustominCutInterval"
+
+#: ppdc/sample.c:357
+msgid "CustominTearInterval"
+msgstr "CustominTearInterval"
+
+#: ppdc/sample.c:343
+msgid "Cut"
+msgstr "Snížit"
+
+#: ppdc/sample.c:451
+msgid "Cutter"
+msgstr "Výstřižek"
+
+#: ppdc/sample.c:239
+msgid "Dark"
+msgstr "Tmavý"
+
+#: ppdc/sample.c:235
+msgid "Darkness"
+msgstr "Tma"
+
+#: backend/lpd.c:1105
+msgid "Data file sent successfully."
+msgstr ""
+
+#: cgi-bin/admin.c:2094 cgi-bin/admin.c:2105 cgi-bin/admin.c:2150
+msgid "Delete Class"
+msgstr "Výmaz třídy"
+
+#: cgi-bin/admin.c:2179 cgi-bin/admin.c:2190 cgi-bin/admin.c:2235
+msgid "Delete Printer"
+msgstr "Výmaz tiskárny"
+
+#: ppdc/sample.c:281
+msgid "DeskJet Series"
+msgstr "Řada DeskJet"
+
+#: scheduler/ipp.c:1346
+#, c-format
+msgid "Destination \"%s\" is not accepting jobs."
+msgstr "Zařízení \"%s\" nepřijímá úlohy."
+
+#: systemv/lpinfo.c:300
+#, c-format
+msgid ""
+"Device: uri = %s\n"
+"        class = %s\n"
+"        info = %s\n"
+"        make-and-model = %s\n"
+"        device-id = %s\n"
+"        location = %s"
+msgstr ""
+
+#: ppdc/sample.c:436
+msgid "Direct Thermal Media"
+msgstr "Termální médium"
+
+#: cups/file.c:296
+#, c-format
+msgid "Directory \"%s\" contains a relative path."
+msgstr ""
+
+#: cups/file.c:268
+#, c-format
+msgid "Directory \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
+msgstr ""
+
+#: cups/file.c:285
+#, c-format
+msgid "Directory \"%s\" is a file."
+msgstr ""
+
+#: cups/file.c:256
+#, c-format
+msgid "Directory \"%s\" not available: %s"
+msgstr ""
+
+#: cups/file.c:241
+#, c-format
+msgid "Directory \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
+msgstr ""
+
+#: ppdc/sample.c:345
+msgid "Disabled"
+msgstr "Zakázaný"
+
+#: scheduler/ipp.c:6127
+#, c-format
+msgid "Document #%d does not exist in job #%d."
+msgstr ""
+
+#: ppdc/sample.c:275
+msgid "Duplexer"
+msgstr "Duplexní jednotka"
+
+#: ppdc/sample.c:229
+msgid "Dymo"
+msgstr "Dymo"
+
+#: ppdc/sample.c:431
+msgid "EPL1 Label Printer"
+msgstr "Tiskárna štítků EPL1"
+
+#: ppdc/sample.c:434
+msgid "EPL2 Label Printer"
+msgstr "Tiskárna štítků EPL2"
+
+#: cgi-bin/admin.c:1849 cgi-bin/admin.c:1861 cgi-bin/admin.c:1915
+#: cgi-bin/admin.c:1922 cgi-bin/admin.c:1957 cgi-bin/admin.c:1970
+#: cgi-bin/admin.c:1994 cgi-bin/admin.c:2067
+msgid "Edit Configuration File"
+msgstr "Úprava konfiguračního souboru"
+
+#: cups/adminutil.c:337
+msgid "Empty PPD file."
+msgstr ""
+
+#. TRANSLATORS: Banner/cover sheet after the print job.
+#: cgi-bin/admin.c:3561
+msgid "Ending Banner"
+msgstr "Ukončení baneru"
+
+#: ppdc/sample.c:2
+msgid "English"
+msgstr "Čeština"
+
+#: systemv/lppasswd.c:193
+msgid "Enter old password:"
+msgstr "Zadejte původní heslo:"
+
+#: systemv/lppasswd.c:224
+msgid "Enter password again:"
+msgstr "Opakujte heslo:"
+
+#: systemv/lppasswd.c:212
+msgid "Enter password:"
+msgstr "Zadejte heslo:"
+
+#: scheduler/client.c:2427
+msgid "Enter your username and password or the root username and password to access this page. If you are using Kerberos authentication, make sure you have a valid Kerberos ticket."
+msgstr "Zadejte své uživatelské jméno a heslo, nebo uživatelské jméno a heslo administrátora pro přístup na tuto stránku. Pokud používáte ověřování Kerberos, ujistěte se, že máte platný ticket Kerberosu."
+
+#: ppdc/sample.c:73
+msgid "Envelope #10 "
+msgstr ""
+
+#: ppdc/sample.c:74
+msgid "Envelope #11"
+msgstr ""
+
+#: ppdc/sample.c:75
+msgid "Envelope #12"
+msgstr ""
+
+#: ppdc/sample.c:76
+msgid "Envelope #14"
+msgstr ""
+
+#: ppdc/sample.c:77
+msgid "Envelope #9"
+msgstr ""
+
+#: ppdc/sample.c:89
+msgid "Envelope B4"
+msgstr ""
+
+#: ppdc/sample.c:90
+msgid "Envelope B5"
+msgstr ""
+
+#: ppdc/sample.c:91
+msgid "Envelope B6"
+msgstr ""
+
+#: ppdc/sample.c:78
+msgid "Envelope C0"
+msgstr ""
+
+#: ppdc/sample.c:79
+msgid "Envelope C1"
+msgstr ""
+
+#: ppdc/sample.c:80
+msgid "Envelope C2"
+msgstr ""
+
+#: ppdc/sample.c:81
+msgid "Envelope C3"
+msgstr ""
+
+#: ppdc/sample.c:67
+msgid "Envelope C4"
+msgstr ""
+
+#: ppdc/sample.c:68
+msgid "Envelope C5"
+msgstr ""
+
+#: ppdc/sample.c:69
+msgid "Envelope C6"
+msgstr ""
+
+#: ppdc/sample.c:82
+msgid "Envelope C65"
+msgstr ""
+
+#: ppdc/sample.c:83
+msgid "Envelope C7"
+msgstr ""
+
+#: ppdc/sample.c:84
+msgid "Envelope Choukei 3"
+msgstr ""
+
+#: ppdc/sample.c:85
+msgid "Envelope Choukei 3 Long Edge"
+msgstr ""
+
+#: ppdc/sample.c:86
+msgid "Envelope Choukei 4"
+msgstr ""
+
+#: ppdc/sample.c:87
+msgid "Envelope Choukei 4 Long Edge"
+msgstr ""
+
+#: ppdc/sample.c:70
+msgid "Envelope DL"
+msgstr ""
+
+#: ppdc/sample.c:269
+msgid "Envelope Feed"
+msgstr "Podavač obálek"
+
+#: ppdc/sample.c:88
+msgid "Envelope Invite"
+msgstr ""
+
+#: ppdc/sample.c:92
+msgid "Envelope Italian"
+msgstr ""
+
+#: ppdc/sample.c:93
+msgid "Envelope Kaku2"
+msgstr ""
+
+#: ppdc/sample.c:94
+msgid "Envelope Kaku2 Long Edge"
+msgstr ""
+
+#: ppdc/sample.c:95
+msgid "Envelope Kaku3"
+msgstr ""
+
+#: ppdc/sample.c:96
+msgid "Envelope Kaku3 Long Edge"
+msgstr ""
+
+#: ppdc/sample.c:97
+msgid "Envelope Monarch"
+msgstr ""
+
+#: ppdc/sample.c:99
+msgid "Envelope PRC1 "
+msgstr ""
+
+#: ppdc/sample.c:100
+msgid "Envelope PRC1 Long Edge"
+msgstr ""
+
+#: ppdc/sample.c:117
+msgid "Envelope PRC10"
+msgstr ""
+
+#: ppdc/sample.c:118
+msgid "Envelope PRC10 Long Edge"
+msgstr ""
+
+#: ppdc/sample.c:101
+msgid "Envelope PRC2"
+msgstr ""
+
+#: ppdc/sample.c:102
+msgid "Envelope PRC2 Long Edge"
+msgstr ""
+
+#: ppdc/sample.c:103
+msgid "Envelope PRC3"
+msgstr ""
+
+#: ppdc/sample.c:104
+msgid "Envelope PRC3 Long Edge"
+msgstr ""
+
+#: ppdc/sample.c:105
+msgid "Envelope PRC4"
+msgstr ""
+
+#: ppdc/sample.c:106
+msgid "Envelope PRC4 Long Edge"
+msgstr ""
+
+#: ppdc/sample.c:108
+msgid "Envelope PRC5 Long Edge"
+msgstr ""
+
+#: ppdc/sample.c:107
+msgid "Envelope PRC5PRC5"
+msgstr ""
+
+#: ppdc/sample.c:109
+msgid "Envelope PRC6"
+msgstr ""
+
+#: ppdc/sample.c:110
+msgid "Envelope PRC6 Long Edge"
+msgstr ""
+
+#: ppdc/sample.c:111
+msgid "Envelope PRC7"
+msgstr ""
+
+#: ppdc/sample.c:112
+msgid "Envelope PRC7 Long Edge"
+msgstr ""
+
+#: ppdc/sample.c:113
+msgid "Envelope PRC8"
+msgstr ""
+
+#: ppdc/sample.c:114
+msgid "Envelope PRC8 Long Edge"
+msgstr ""
+
+#: ppdc/sample.c:115
+msgid "Envelope PRC9"
+msgstr ""
+
+#: ppdc/sample.c:116
+msgid "Envelope PRC9 Long Edge"
+msgstr ""
+
+#: ppdc/sample.c:98
+msgid "Envelope Personal"
+msgstr ""
+
+#: ppdc/sample.c:119
+msgid "Envelope You4"
+msgstr ""
+
+#: ppdc/sample.c:120
+msgid "Envelope You4 Long Edge"
+msgstr ""
+
+#: ppdc/sample.c:240
+msgid "Epson"
+msgstr "Epson"
+
+#: cgi-bin/admin.c:3604
+msgid "Error Policy"
+msgstr "Chování při chybě"
+
+#: filter/rastertopwg.c:403 filter/rastertopwg.c:418 filter/rastertopwg.c:429
+#: filter/rastertopwg.c:440
+msgid "Error sending raster data."
+msgstr ""
+
+#: systemv/lpinfo.c:103 systemv/lpmove.c:88
+msgid "Error: need hostname after \"-h\" option."
+msgstr ""
+
+#: ppdc/sample.c:355
+msgid "Every 10 Labels"
+msgstr "Každých 10 štítků"
+
+#: ppdc/sample.c:347
+msgid "Every 2 Labels"
+msgstr "Každé 2 štítky"
+
+#: ppdc/sample.c:348
+msgid "Every 3 Labels"
+msgstr "Každé 3 štítky"
+
+#: ppdc/sample.c:349
+msgid "Every 4 Labels"
+msgstr "Každé 4 štítky"
+
+#: ppdc/sample.c:350
+msgid "Every 5 Labels"
+msgstr "Každých 5 štítků"
+
+#: ppdc/sample.c:351
+msgid "Every 6 Labels"
+msgstr "Každých 6 štítků"
+
+#: ppdc/sample.c:352
+msgid "Every 7 Labels"
+msgstr "Každých 7 štítků"
+
+#: ppdc/sample.c:353
+msgid "Every 8 Labels"
+msgstr "Každých 8 štítků"
+
+#: ppdc/sample.c:354
+msgid "Every 9 Labels"
+msgstr "Každých 9 štítků"
+
+#: ppdc/sample.c:346
+msgid "Every Label"
+msgstr "Každý štítek"
+
+#: ppdc/sample.c:121
+msgid "Executive"
+msgstr ""
+
+#: cups/http-support.c:1327
+msgid "Expectation Failed"
+msgstr "Očekávané údaje jsou neplatné"
+
+#: cgi-bin/admin.c:2356 cgi-bin/admin.c:2375
+msgid "Export Printers to Samba"
+msgstr "Export tiskáren do Samby"
+
+#: systemv/cupstestdsc.c:172 systemv/cupstestdsc.c:189
+#: systemv/cupstestdsc.c:214 systemv/cupstestdsc.c:231
+#: systemv/cupstestdsc.c:255 systemv/cupstestdsc.c:273
+#: systemv/cupstestdsc.c:302 systemv/cupstestdsc.c:339
+#: systemv/cupstestdsc.c:349 systemv/cupstestdsc.c:359
+#: systemv/cupstestdsc.c:369 systemv/cupstestdsc.c:379
+#: systemv/cupstestdsc.c:387
+msgid "FAIL"
+msgstr ""
+
+#: ppdc/sample.c:122
+msgid "FanFold German"
+msgstr ""
+
+#: ppdc/sample.c:123
+msgid "FanFold Legal German"
+msgstr ""
+
+#: ppdc/sample.c:124
+msgid "Fanfold US"
+msgstr ""
+
+#: cups/file.c:300
+#, c-format
+msgid "File \"%s\" contains a relative path."
+msgstr ""
+
+#: cups/file.c:275
+#, c-format
+msgid "File \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
+msgstr ""
+
+#: cups/file.c:289
+#, c-format
+msgid "File \"%s\" is a directory."
+msgstr ""
+
+#: cups/file.c:261
+#, c-format
+msgid "File \"%s\" not available: %s"
+msgstr ""
+
+#: cups/file.c:247
+#, c-format
+msgid "File \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
+msgstr ""
+
+#: ppdc/sample.c:169
+msgid "File Folder "
+msgstr "Složka souborů "
+
+#: scheduler/ipp.c:2370
+#, c-format
+msgid "File device URIs have been disabled. To enable, see the FileDevice directive in \"%s/cupsd.conf\"."
+msgstr ""
+
+#: filter/rastertoepson.c:1117 filter/rastertohp.c:845
+#: filter/rastertolabel.c:1273
+#, c-format
+msgid "Finished page %d."
+msgstr ""
+
+#: ppdc/sample.c:125
+msgid "Folio"
+msgstr "Fólie"
+
+#: cups/http-support.c:1306
+msgid "Forbidden"
+msgstr "Zakázaný"
+
+#: cups/ppd.c:742 cups/ppd.c:1302
+msgid "General"
+msgstr "Obecný"
+
+#: ppdc/sample.c:259
+msgid "Generic"
+msgstr "Obecný"
+
+#: cups/snmp.c:1016
+msgid "Get-Response-PDU uses indefinite length"
+msgstr "\"Get-Response-PDU\" má neomezenou délku"
+
+#: ppdc/sample.c:290
+msgid "Glossy Paper"
+msgstr "Lesklý papír"
+
+#: scheduler/ipp.c:2952 scheduler/ipp.c:3352 scheduler/ipp.c:3890
+#: scheduler/ipp.c:6056 scheduler/ipp.c:6203 scheduler/ipp.c:7635
+#: scheduler/ipp.c:8753 scheduler/ipp.c:8979 scheduler/ipp.c:9328
+#: scheduler/ipp.c:9931
+msgid "Got a printer-uri attribute but no job-id."
+msgstr ""
+
+#: ppdc/sample.c:255
+msgid "Grayscale"
+msgstr "Stupně šedi"
+
+#: ppdc/sample.c:280
+msgid "HP"
+msgstr "HP"
+
+#: ppdc/sample.c:170
+msgid "Hanging Folder"
+msgstr "Závěsná složka"
+
+#: cgi-bin/help.c:143
+msgid "Help file not in index."
+msgstr ""
+
+#: cups/ipp.c:2687 cups/ipp.c:2714 cups/ipp.c:2737
+msgid "IPP 1setOf attribute with incompatible value tags."
+msgstr ""
+
+#: cups/ipp.c:2650
+msgid "IPP attribute has no name."
+msgstr ""
+
+#: cups/ipp.c:5487
+msgid "IPP attribute is not a member of the message."
+msgstr ""
+
+#: cups/ipp.c:3083
+msgid "IPP begCollection value not 0 bytes."
+msgstr ""
+
+#: cups/ipp.c:2873
+msgid "IPP boolean value not 1 byte."
+msgstr ""
+
+#: cups/ipp.c:2934
+msgid "IPP date value not 11 bytes."
+msgstr ""
+
+#: cups/ipp.c:3104
+msgid "IPP endCollection value not 0 bytes."
+msgstr ""
+
+#: cups/ipp.c:2848
+msgid "IPP enum value not 4 bytes."
+msgstr ""
+
+#: cups/ipp.c:2579
+msgid "IPP extension tag larger than 0x7FFFFFFF."
+msgstr ""
+
+#: cups/ipp.c:2845
+msgid "IPP integer value not 4 bytes."
+msgstr ""
+
+#: cups/ipp.c:3045
+msgid "IPP language length overflows value."
+msgstr ""
+
+#: cups/ipp.c:2764
+msgid "IPP member name is not empty."
+msgstr ""
+
+#: cups/ipp.c:3122
+msgid "IPP memberName value is empty."
+msgstr ""
+
+#: cups/ipp.c:2633
+msgid "IPP name larger than 32767 bytes."
+msgstr ""
+
+#: cups/ipp.c:3011
+msgid "IPP nameWithLanguage value less than minimum 4 bytes."
+msgstr ""
+
+#: cups/ipp.c:2979
+msgid "IPP rangeOfInteger value not 8 bytes."
+msgstr ""
+
+#: cups/ipp.c:2952
+msgid "IPP resolution value not 9 bytes."
+msgstr ""
+
+#: cups/ipp.c:3063
+msgid "IPP string length overflows value."
+msgstr ""
+
+#: cups/ipp.c:3007
+msgid "IPP textWithLanguage value less than minimum 4 bytes."
+msgstr ""
+
+#: cups/ipp.c:2831
+msgid "IPP value larger than 32767 bytes."
+msgstr ""
+
+#: ppdc/sample.c:1
+msgid "ISOLatin1"
+msgstr "ISOLatin1"
+
+#: cups/ppd.c:353
+msgid "Illegal control character"
+msgstr "Neplatný řídící znak"
+
+#: cups/ppd.c:354
+msgid "Illegal main keyword string"
+msgstr "Neplatné hlavní klíčové slovo řetězce"
+
+#: cups/ppd.c:355
+msgid "Illegal option keyword string"
+msgstr "Neplatná volba klíčového slova řetězce"
+
+#: cups/ppd.c:356
+msgid "Illegal translation string"
+msgstr "Neplatný překlad řetězce"
+
+#: cups/ppd.c:357
+msgid "Illegal whitespace character"
+msgstr "Nedovolený prázdný znak"
+
+#: ppdc/sample.c:274
+msgid "Installable Options"
+msgstr "Možnosti instalace"
+
+#: ppdc/sample.c:277
+msgid "Installed"
+msgstr "Instalovaný"
+
+#: ppdc/sample.c:293
+msgid "IntelliBar Label Printer"
+msgstr "Tiskárna štítků \"IntelliBar\""
+
+#: ppdc/sample.c:292
+msgid "Intellitech"
+msgstr "Intellitech"
+
+#: cups/http-support.c:1333
+msgid "Internal Server Error"
+msgstr ""
+
+#: cups/ppd.c:344
+msgid "Internal error"
+msgstr "Vniřní chyba"
+
+#: ppdc/sample.c:167
+msgid "Internet Postage 2-Part"
+msgstr "Internet Postage 2-Part"
+
+#: ppdc/sample.c:168
+msgid "Internet Postage 3-Part"
+msgstr "Internet Postage 3-Part"
+
+#: backend/ipp.c:307
+msgid "Internet Printing Protocol"
+msgstr "Internetový tiskový protokol"
+
+#: cups/dest-options.c:839
+msgid "Invalid media size."
+msgstr ""
+
+#: filter/commandtops.c:125
+#, c-format
+msgid "Invalid printer command \"%s\"."
+msgstr ""
+
+#: cups/ppd.c:1420
+msgid "JCL"
+msgstr "JCL"
+
+#: ppdc/sample.c:53
+msgid "JIS B0"
+msgstr ""
+
+#: ppdc/sample.c:55
+msgid "JIS B1"
+msgstr ""
+
+#: ppdc/sample.c:54
+msgid "JIS B10"
+msgstr ""
+
+#: ppdc/sample.c:56
+msgid "JIS B2"
+msgstr ""
+
+#: ppdc/sample.c:57
+msgid "JIS B3"
+msgstr ""
+
+#: ppdc/sample.c:58
+msgid "JIS B4"
+msgstr ""
+
+#: ppdc/sample.c:59
+msgid "JIS B4 Long Edge"
+msgstr ""
+
+#: ppdc/sample.c:60
+msgid "JIS B5"
+msgstr ""
+
+#: ppdc/sample.c:61
+msgid "JIS B5 Long Edge"
+msgstr ""
+
+#: ppdc/sample.c:62
+msgid "JIS B6"
+msgstr ""
+
+#: ppdc/sample.c:63
+msgid "JIS B6 Long Edge"
+msgstr ""
+
+#: ppdc/sample.c:64
+msgid "JIS B7"
+msgstr ""
+
+#: ppdc/sample.c:65
+msgid "JIS B8"
+msgstr ""
+
+#: ppdc/sample.c:66
+msgid "JIS B9"
+msgstr ""
+
+#: scheduler/ipp.c:9051
+#, c-format
+msgid "Job #%d cannot be restarted - no files."
+msgstr ""
+
+#: scheduler/ipp.c:2992 scheduler/ipp.c:3222 scheduler/ipp.c:3277
+#: scheduler/ipp.c:3454 scheduler/ipp.c:3900 scheduler/ipp.c:5720
+#: scheduler/ipp.c:6096 scheduler/ipp.c:6243 scheduler/ipp.c:6543
+#: scheduler/ipp.c:7482 scheduler/ipp.c:7504 scheduler/ipp.c:7676
+#: scheduler/ipp.c:7901 scheduler/ipp.c:7944 scheduler/ipp.c:8793
+#: scheduler/ipp.c:9019 scheduler/ipp.c:9368 scheduler/ipp.c:9971
+#, c-format
+msgid "Job #%d does not exist."
+msgstr ""
+
+#: scheduler/ipp.c:3486
+#, c-format
+msgid "Job #%d is already aborted - can't cancel."
+msgstr "Úloha #%d je již zrušena - nelze zrušit."
+
+#: scheduler/ipp.c:3480
+#, c-format
+msgid "Job #%d is already canceled - can't cancel."
+msgstr "Úloha #%d je již zrušena - nelze zrušit."
+
+#: scheduler/ipp.c:3492
+#, c-format
+msgid "Job #%d is already completed - can't cancel."
+msgstr "Úloha #%d je již dokončena - nelze zrušit."
+
+#: scheduler/ipp.c:7702 scheduler/ipp.c:7986 scheduler/ipp.c:9986
+#, c-format
+msgid "Job #%d is finished and cannot be altered."
+msgstr ""
+
+#: scheduler/ipp.c:9033
+#, c-format
+msgid "Job #%d is not complete."
+msgstr ""
+
+#: scheduler/ipp.c:3007
+#, c-format
+msgid "Job #%d is not held for authentication."
+msgstr ""
+
+#: scheduler/ipp.c:8807
+#, c-format
+msgid "Job #%d is not held."
+msgstr ""
+
+#: cgi-bin/ipp-var.c:1055
+msgid "Job Completed"
+msgstr "Úloha dokončena"
+
+#: cgi-bin/ipp-var.c:1053
+msgid "Job Created"
+msgstr "Úloha vytvořena"
+
+#: cgi-bin/ipp-var.c:1059
+msgid "Job Options Changed"
+msgstr "Změna parametrů úlohy"
+
+#: cgi-bin/ipp-var.c:1057
+msgid "Job Stopped"
+msgstr "Úloha zastavena"
+
+#: scheduler/ipp.c:10068
+msgid "Job is completed and cannot be changed."
+msgstr "Úloha je dokončena a nelze ji změnit."
+
+#: cgi-bin/jobs.c:198
+msgid "Job operation failed"
+msgstr "Úloha se nezdařila"
+
+#: scheduler/ipp.c:10104 scheduler/ipp.c:10123 scheduler/ipp.c:10134
+msgid "Job state cannot be changed."
+msgstr "Stav úlohy nelze změnit."
+
+#: scheduler/ipp.c:8899
+msgid "Job subscriptions cannot be renewed."
+msgstr ""
+
+#: cgi-bin/jobs.c:103 cgi-bin/jobs.c:114 cgi-bin/jobs.c:195
+msgid "Jobs"
+msgstr "Úlohy"
+
+#: backend/lpd.c:185
+msgid "LPD/LPR Host or Printer"
+msgstr "LPD/LPR hostitel nebo tiskárna"
+
+#: ppdc/sample.c:230
+msgid "Label Printer"
+msgstr "Tiskárna štítků"
+
+#: ppdc/sample.c:446
+msgid "Label Top"
+msgstr "Horní štítek"
+
+#: scheduler/ipp.c:2070 scheduler/ipp.c:5643
+#, c-format
+msgid "Language \"%s\" not supported."
+msgstr ""
+
+#: ppdc/sample.c:164
+msgid "Large Address"
+msgstr "Plná adresa"
+
+#: ppdc/sample.c:291
+msgid "LaserJet Series PCL 4/5"
+msgstr "LaserJet Serie PCL 4/5"
+
+#: ppdc/sample.c:43
+msgid "Letter Oversize"
+msgstr ""
+
+#: ppdc/sample.c:44
+msgid "Letter Oversize Long Edge"
+msgstr ""
+
+#: ppdc/sample.c:236
+msgid "Light"
+msgstr "Světlý"
+
+#: cups/ppd.c:352
+msgid "Line longer than the maximum allowed (255 characters)"
+msgstr "Řádek je delší než maximální povolená velikost (255 znaků)"
+
+#: cgi-bin/admin.c:2393
+msgid "List Available Printers"
+msgstr "Seznam dostupných tiskáren"
+
+#: ppdc/sample.c:272
+msgid "Long-Edge (Portrait)"
+msgstr "Delší okraj (na výšku)"
+
+#: cups/http-support.c:1558
+msgid "Looking for printer."
+msgstr ""
+
+#: ppdc/sample.c:268
+msgid "Manual Feed"
+msgstr "Ruční podávání"
+
+#: cups/ppd.c:789 cups/ppd.c:1357
+msgid "Media Size"
+msgstr "Velikost média"
+
+#: cups/ppd.c:793 cups/ppd.c:1361 ppdc/sample.c:262
+msgid "Media Source"
+msgstr "Zdroj média"
+
+#: ppdc/sample.c:364
+msgid "Media Tracking"
+msgstr "Sledování média"
+
+#: cups/ppd.c:791 cups/ppd.c:1359 ppdc/sample.c:285
+msgid "Media Type"
+msgstr "Typ média"
+
+#: ppdc/sample.c:237
+msgid "Medium"
+msgstr "Střední"
+
+#: cups/ppd.c:341
+msgid "Memory allocation error"
+msgstr "Chyba přidělení paměti"
+
+#: cups/ppd.c:361
+msgid "Missing CloseGroup"
+msgstr ""
+
+#: cups/ppd.c:342
+msgid "Missing PPD-Adobe-4.x header"
+msgstr "Chybějící záhlaví PPD-Adobe-4.x"
+
+#: cups/ppd.c:351
+msgid "Missing asterisk in column 1"
+msgstr "Chybí hvězdička ve sloupci 1"
+
+#: scheduler/ipp.c:6119
+msgid "Missing document-number attribute."
+msgstr ""
+
+#: cups/adminutil.c:273
+#, c-format
+msgid "Missing double quote on line %d."
+msgstr ""
+
+#: cgi-bin/admin.c:736 cgi-bin/admin.c:2106 cgi-bin/admin.c:2191
+#: cgi-bin/admin.c:2785 cgi-bin/admin.c:3039 cgi-bin/admin.c:3150
+#: cgi-bin/admin.c:3860
+msgid "Missing form variable"
+msgstr ""
+
+#: scheduler/ipp.c:9422
+msgid "Missing last-document attribute in request."
+msgstr ""
+
+#: cups/pwg-media.c:535
+msgid "Missing media or media-col."
+msgstr ""
+
+#: cups/pwg-media.c:454
+msgid "Missing media-size in media-col."
+msgstr ""
+
+#: scheduler/ipp.c:6673
+msgid "Missing notify-subscription-ids attribute."
+msgstr ""
+
+#: cups/ppd.c:359
+msgid "Missing option keyword"
+msgstr ""
+
+#: scheduler/ipp.c:3133 scheduler/ipp.c:3158
+msgid "Missing requesting-user-name attribute."
+msgstr ""
+
+#: scheduler/ipp.c:461
+msgid "Missing required attributes."
+msgstr ""
+
+#: cups/adminutil.c:254
+#, c-format
+msgid "Missing value on line %d."
+msgstr ""
+
+#: cups/ppd.c:343
+msgid "Missing value string"
+msgstr "Chybí hodnota řetězce"
+
+#: cups/pwg-media.c:442
+msgid "Missing x-dimension in media-size."
+msgstr ""
+
+#: cups/pwg-media.c:448
+msgid "Missing y-dimension in media-size."
+msgstr ""
+
+#: systemv/lpinfo.c:470
+#, c-format
+msgid ""
+"Model:  name = %s\n"
+"        natural_language = %s\n"
+"        make-and-model = %s\n"
+"        device-id = %s"
+msgstr ""
+
+#: cgi-bin/admin.c:570
+msgid "Modify Class"
+msgstr "Úprava třídy"
+
+#: cgi-bin/admin.c:882
+msgid "Modify Printer"
+msgstr "Úprava tiskárny"
+
+#: cgi-bin/ipp-var.c:425 cgi-bin/ipp-var.c:516
+msgid "Move All Jobs"
+msgstr "Přesun všech úloh"
+
+#: cgi-bin/ipp-var.c:364 cgi-bin/ipp-var.c:423 cgi-bin/ipp-var.c:514
+msgid "Move Job"
+msgstr "Přesun úlohy"
+
+#: cups/http-support.c:1290
+msgid "Moved Permanently"
+msgstr "Trvale přesunuto"
+
+#: cups/ppd.c:340
+msgid "NULL PPD file pointer"
+msgstr "Prázdný ukazatel PPD souboru"
+
+#: cups/snmp.c:1053
+msgid "Name OID uses indefinite length"
+msgstr "Název \"OID\" má neomezenou délku"
+
+#: scheduler/ipp.c:1142
+msgid "Nested classes are not allowed."
+msgstr ""
+
+#: ppdc/sample.c:430
+msgid "Never"
+msgstr "Nikdy"
+
+#: ppdc/sample.c:256
+msgid "New Stylus Color Series"
+msgstr "New Stylus Color Series"
+
+#: ppdc/sample.c:258
+msgid "New Stylus Photo Series"
+msgstr "New Stylus Photo Series"
+
+#: cups/ppd.c:1949
+msgid "No"
+msgstr "Ne"
+
+#: cups/http-support.c:1287
+msgid "No Content"
+msgstr "Žádný obsah"
+
+#: cups/util.c:1298
+msgid "No PPD name"
+msgstr ""
+
+#: cups/snmp.c:1047
+msgid "No VarBind SEQUENCE"
+msgstr "Žádná VarBind SEQUENCE"
+
+#: cups/adminutil.c:788
+msgid "No Windows printer drivers are installed."
+msgstr ""
+
+#: cups/request.c:566 cups/request.c:908
+msgid "No active connection"
+msgstr "Není aktivní spojení"
+
+#: scheduler/ipp.c:3403
+#, c-format
+msgid "No active jobs on %s."
+msgstr ""
+
+#: scheduler/ipp.c:302
+msgid "No attributes in request."
+msgstr ""
+
+#: scheduler/ipp.c:3034
+msgid "No authentication information provided."
+msgstr ""
+
+#: cups/snmp.c:1004
+msgid "No community name"
+msgstr "Žádný název komunity"
+
+#: scheduler/ipp.c:5919
+msgid "No default printer."
+msgstr ""
+
+#: cgi-bin/ipp-var.c:436 scheduler/ipp.c:7248
+msgid "No destinations added."
+msgstr "Zařízení nepřidáno."
+
+#: backend/usb.c:200
+msgid "No device URI found in argv[0] or in DEVICE_URI environment variable."
+msgstr ""
+
+#: cups/snmp.c:1034
+msgid "No error-index"
+msgstr "Žádný \"error-index\""
+
+#: cups/snmp.c:1026
+msgid "No error-status"
+msgstr "Žádný \"error-status\""
+
+#: scheduler/ipp.c:8190 scheduler/ipp.c:9436
+msgid "No file in print request."
+msgstr ""
+
+#: cups/util.c:923
+msgid "No modification time"
+msgstr ""
+
+#: cups/snmp.c:1051
+msgid "No name OID"
+msgstr "Žádný název OID"
+
+#: filter/rastertoepson.c:1147 filter/rastertohp.c:876
+#: filter/rastertolabel.c:1302
+msgid "No pages were found."
+msgstr ""
+
+#: cups/util.c:917
+msgid "No printer name"
+msgstr ""
+
+#: cups/util.c:1801
+msgid "No printer-uri found"
+msgstr ""
+
+#: cups/util.c:1786
+msgid "No printer-uri found for class"
+msgstr ""
+
+#: scheduler/ipp.c:6322
+msgid "No printer-uri in request."
+msgstr ""
+
+#: cups/snmp.c:1018
+msgid "No request-id"
+msgstr "Žádný ID požadavek"
+
+#: scheduler/ipp.c:5528
+msgid "No subscription attributes in request."
+msgstr ""
+
+#: scheduler/ipp.c:7575
+msgid "No subscriptions found."
+msgstr "Nenalezeno předplatné."
+
+#: cups/snmp.c:1042
+msgid "No variable-bindings SEQUENCE"
+msgstr "Žádná \"variable-bindings\" SEQUENCE"
+
+#: cups/snmp.c:997
+msgid "No version number"
+msgstr "Není číslo verze"
+
+#: ppdc/sample.c:367
+msgid "Non-continuous (Mark sensing)"
+msgstr "Není souvislý (Mark Sensing)"
+
+#: ppdc/sample.c:366
+msgid "Non-continuous (Web sensing)"
+msgstr "Není souvislý (Web Sensing)"
+
+#: ppdc/sample.c:238
+msgid "Normal"
+msgstr "Normální"
+
+#: cups/http-support.c:1309
+msgid "Not Found"
+msgstr "Nebyl nalezen"
+
+#: cups/http-support.c:1321
+msgid "Not Implemented"
+msgstr "Nerealizováno"
+
+#: ppdc/sample.c:276
+msgid "Not Installed"
+msgstr "Nenainstalováno"
+
+#: cups/http-support.c:1296
+msgid "Not Modified"
+msgstr "Nezměněno"
+
+#: cups/http-support.c:1324
+msgid "Not Supported"
+msgstr "Nepodporováno"
+
+#: scheduler/ipp.c:1518 scheduler/ipp.c:10666
+msgid "Not allowed to print."
+msgstr "Není povoleno tisknout."
+
+#: ppdc/sample.c:146
+msgid "Note"
+msgstr "Poznámka"
+
+#: systemv/cupstestdsc.c:433
+msgid "Note: this program only validates the DSC comments, not the PostScript itself."
+msgstr ""
+
+#: cups/http-support.c:1278 cups/ppd.c:338
+msgid "OK"
+msgstr "OK"
+
+#: ppdc/sample.c:271
+msgid "Off (1-Sided)"
+msgstr "Vypnuto (jednostranný)"
+
+#: ppdc/sample.c:361
+msgid "Oki"
+msgstr "Oki"
+
+#: cgi-bin/help.c:91 cgi-bin/help.c:132 cgi-bin/help.c:142 cgi-bin/help.c:172
+msgid "Online Help"
+msgstr "Nápověda"
+
+#: cups/adminutil.c:955
+#, c-format
+msgid "Open of %s failed: %s"
+msgstr "Otevření %s selhalo: %s"
+
+#: cups/ppd.c:346
+msgid "OpenGroup without a CloseGroup first"
+msgstr "Opengroup nepředcházelo CloseGroup"
+
+#: cups/ppd.c:348
+msgid "OpenUI/JCLOpenUI without a CloseUI/JCLCloseUI first"
+msgstr "OpenUI/JCLOpenUI nepředcházelo CloseUI/JCLCloseUI"
+
+#: cgi-bin/admin.c:3631
+msgid "Operation Policy"
+msgstr "Způsob ověření"
+
+#: filter/pstops.c:2205
+#, c-format
+msgid "Option \"%s\" cannot be included via %%%%IncludeFeature."
+msgstr ""
+
+#: cgi-bin/admin.c:3281 cgi-bin/admin.c:3365
+msgid "Options Installed"
+msgstr "Instalované možnosti"
+
+#: scheduler/cupsfilter.c:1430 scheduler/main.c:2018 systemv/cupsaddsmb.c:284
+#: systemv/cupsctl.c:203 systemv/cupstestdsc.c:429 systemv/cupstestppd.c:3797
+#: test/ipptool.c:4403 ppdc/ppdc.cxx:437 ppdc/ppdhtml.cxx:174
+#: ppdc/ppdi.cxx:130 ppdc/ppdmerge.cxx:369 ppdc/ppdpo.cxx:254
+msgid "Options:"
+msgstr ""
+
+#: cups/ppd-cache.c:156
+msgid "Out of date PPD cache file."
+msgstr ""
+
+#: cups/ppd-cache.c:1381
+msgid "Out of memory."
+msgstr ""
+
+#: cups/ppd.c:795 cups/ppd.c:1363
+msgid "Output Mode"
+msgstr "Výstupní režim"
+
+#: systemv/lpstat.c:1191 systemv/lpstat.c:1195
+#, c-format
+msgid "Output for printer %s is sent to %s"
+msgstr ""
+
+#: systemv/lpstat.c:1185
+#, c-format
+msgid "Output for printer %s is sent to remote printer %s on %s"
+msgstr ""
+
+#: systemv/lpstat.c:1209 systemv/lpstat.c:1213
+#, c-format
+msgid "Output for printer %s/%s is sent to %s"
+msgstr ""
+
+#: systemv/lpstat.c:1203
+#, c-format
+msgid "Output for printer %s/%s is sent to remote printer %s on %s"
+msgstr ""
+
+#: systemv/cupstestdsc.c:399
+msgid "PASS"
+msgstr ""
+
+#: ppdc/sample.c:260
+msgid "PCL Laser Printer"
+msgstr "PCL laserová tiskárna"
+
+#: ppdc/sample.c:149
+msgid "PRC16K"
+msgstr "PRC16K"
+
+#: ppdc/sample.c:150
+msgid "PRC16K Long Edge"
+msgstr ""
+
+#: ppdc/sample.c:151
+msgid "PRC32K"
+msgstr "PRC32K"
+
+#: ppdc/sample.c:154
+msgid "PRC32K Long Edge"
+msgstr ""
+
+#: ppdc/sample.c:152
+msgid "PRC32K Oversize"
+msgstr ""
+
+#: ppdc/sample.c:153
+msgid "PRC32K Oversize Long Edge"
+msgstr ""
+
+#: cups/snmp.c:1014
+msgid "Packet does not contain a Get-Response-PDU"
+msgstr "Packet neobsahuje \"Get-Response-PDU\""
+
+#: cups/snmp.c:993
+msgid "Packet does not start with SEQUENCE"
+msgstr "Paket nezačíná SEQUENCÍ"
+
+#: ppdc/sample.c:360
+msgid "ParamCustominCutInterval"
+msgstr "ParamCustominCutInterval"
+
+#: ppdc/sample.c:358
+msgid "ParamCustominTearInterval"
+msgstr "ParamCustominTearInterval"
+
+#: cups/auth.c:199 cups/auth.c:367
+#, c-format
+msgid "Password for %s on %s? "
+msgstr "Heslo pro %s na %s? "
+
+#: systemv/cupsaddsmb.c:252
+#, c-format
+msgid "Password for %s required to access %s via SAMBA: "
+msgstr "Heslo pro %s je vyžadováno pro přístup k %s přes Sambu: "
+
+#: cgi-bin/classes.c:167
+msgid "Pause Class"
+msgstr "Pozastavení třídy"
+
+#: cgi-bin/printers.c:170
+msgid "Pause Printer"
+msgstr "Pozastavení tiskárny"
+
+#: ppdc/sample.c:448
+msgid "Peel-Off"
+msgstr "Peel-Off"
+
+#: ppdc/sample.c:160
+msgid "Photo"
+msgstr "Fotografie"
+
+#: ppdc/sample.c:161
+msgid "Photo Labels"
+msgstr "Foto-samolepky"
+
+#: ppdc/sample.c:286
+msgid "Plain Paper"
+msgstr "Obyčejný papír"
+
+#: cgi-bin/admin.c:3299 cgi-bin/admin.c:3580
+msgid "Policies"
+msgstr "Pravidla"
+
+#: cgi-bin/admin.c:3306 cgi-bin/admin.c:3649 cgi-bin/admin.c:3662
+msgid "Port Monitor"
+msgstr "Monitorování portu"
+
+#: ppdc/sample.c:278
+msgid "PostScript Printer"
+msgstr "PostScriptová tiskárna"
+
+#: ppdc/sample.c:147
+msgid "Postcard"
+msgstr "Pohlednice"
+
+#: ppdc/sample.c:71
+msgid "Postcard Double "
+msgstr ""
+
+#: ppdc/sample.c:72
+msgid "Postcard Double Long Edge"
+msgstr ""
+
+#: ppdc/sample.c:148
+msgid "Postcard Long Edge"
+msgstr ""
+
+#: ppdc/sample.c:295
+msgid "Print Density"
+msgstr "Hustota tisku"
+
+#: cups/notify.c:82
+msgid "Print Job:"
+msgstr "Tisk úlohy:"
+
+#: ppdc/sample.c:340
+msgid "Print Mode"
+msgstr "Režim tisku"
+
+#: ppdc/sample.c:383
+msgid "Print Rate"
+msgstr "Kvalita tisku"
+
+#: cgi-bin/printers.c:179
+msgid "Print Self-Test Page"
+msgstr "Tisk \"self-test\" stránky"
+
+#: ppdc/sample.c:327
+msgid "Print Speed"
+msgstr "Rychlost tisku"
+
+#: cgi-bin/ipp-var.c:792
+msgid "Print Test Page"
+msgstr "Tisk zkušební stránky"
+
+#: ppdc/sample.c:356
+msgid "Print and Cut"
+msgstr "Tisk a vyjmout"
+
+#: ppdc/sample.c:344
+msgid "Print and Tear"
+msgstr "Tisk a odtrhnout"
+
+#: backend/ipp.c:1537
+#, c-format
+msgid "Print file accepted - job ID %d."
+msgstr ""
+
+#: backend/ipp.c:1527
+msgid "Print file accepted - job ID unknown."
+msgstr ""
+
+#: backend/socket.c:424 backend/usb-unix.c:191
+msgid "Print file sent."
+msgstr ""
+
+#: backend/ipp.c:1488
+msgid "Print file was not accepted."
+msgstr ""
+
+#: backend/ipp.c:1895
+msgid "Print job canceled at printer."
+msgstr ""
+
+#: backend/ipp.c:1890
+msgid "Print job too large."
+msgstr ""
+
+#: cgi-bin/ipp-var.c:1047
+msgid "Printer Added"
+msgstr "Tiskárna přidána"
+
+#: ppdc/sample.c:263
+msgid "Printer Default"
+msgstr "Výchozí tiskárna"
+
+#: cgi-bin/ipp-var.c:1051
+msgid "Printer Deleted"
+msgstr "Tiskárna vymazána"
+
+#: cgi-bin/ipp-var.c:1049
+msgid "Printer Modified"
+msgstr "Tiskárna upravena"
+
+#: cgi-bin/ipp-var.c:1045
+msgid "Printer Paused"
+msgstr "Tiskárna zastavena"
+
+#: ppdc/sample.c:294
+msgid "Printer Settings"
+msgstr "Nastavení tiskárny"
+
+#: backend/ipp.c:1893
+msgid "Printer cannot print supplied content."
+msgstr ""
+
+#: cups/notify.c:126
+msgid "Printer:"
+msgstr "Tiskárna:"
+
+#: cgi-bin/printers.c:204 cgi-bin/printers.c:332
+msgid "Printers"
+msgstr "Tiskárny"
+
+#: filter/rastertoepson.c:1093 filter/rastertohp.c:817
+#: filter/rastertolabel.c:1249
+#, c-format
+msgid "Printing page %d, %d%% complete."
+msgstr ""
+
+#: cgi-bin/classes.c:173 cgi-bin/printers.c:176
+msgid "Purge Jobs"
+msgstr "Výmaz úloh"
+
+#: ppdc/sample.c:155
+msgid "Quarto"
+msgstr "Quarto"
+
+#: scheduler/ipp.c:1513 scheduler/ipp.c:10661
+msgid "Quota limit reached."
+msgstr "Kvóta byla překročena."
+
+#: berkeley/lpq.c:515
+msgid "Rank    Owner   Job     File(s)                         Total Size"
+msgstr ""
+
+#. TRANSLATORS: Pri is job priority.
+#: berkeley/lpq.c:511
+msgid "Rank   Owner      Pri  Job        Files                       Total Size"
+msgstr ""
+
+#: cgi-bin/classes.c:171 cgi-bin/printers.c:174
+msgid "Reject Jobs"
+msgstr "Odmítnutí úloh"
+
+#: backend/lpd.c:1016 backend/lpd.c:1148
+#, c-format
+msgid "Remote host did not accept control file (%d)."
+msgstr ""
+
+#: backend/lpd.c:1101
+#, c-format
+msgid "Remote host did not accept data file (%d)."
+msgstr ""
+
+#: ppdc/sample.c:428
+msgid "Reprint After Error"
+msgstr "Opakovat tisk po chybě"
+
+#: cups/http-support.c:1312
+msgid "Request Entity Too Large"
+msgstr "Dotaz Entity je příliš dlouhý"
+
+#: cups/ppd.c:797 cups/ppd.c:1365 ppdc/sample.c:231
+msgid "Resolution"
+msgstr "Rozlišení"
+
+#: cgi-bin/classes.c:165
+msgid "Resume Class"
+msgstr "Obnovení třídy"
+
+#: cgi-bin/printers.c:167
+msgid "Resume Printer"
+msgstr "Obnovení tiskárny"
+
+#: ppdc/sample.c:165
+msgid "Return Address"
+msgstr "Návrat adresy"
+
+#: ppdc/sample.c:449
+msgid "Rewind"
+msgstr "Přetočit"
+
+#: cups/adminutil.c:2052
+#, c-format
+msgid "Running command: %s %s -N -A %s -c '%s'"
+msgstr ""
+
+#: cups/snmp.c:995
+msgid "SEQUENCE uses indefinite length"
+msgstr "\"SEQUENCE\" má neomezenou délku"
+
+#: cups/http-support.c:1336
+msgid "SSL/TLS Negotiation Error"
+msgstr ""
+
+#: cups/http-support.c:1293
+msgid "See Other"
+msgstr "Viz další"
+
+#: backend/usb-darwin.c:543 backend/usb-libusb.c:273
+msgid "Sending data to printer."
+msgstr ""
+
+#: cgi-bin/ipp-var.c:1061
+msgid "Server Restarted"
+msgstr "Restart serveru"
+
+#: cgi-bin/ipp-var.c:1067
+msgid "Server Security Auditing"
+msgstr "Audit bezpečnosti serveru"
+
+#: cgi-bin/ipp-var.c:1063
+msgid "Server Started"
+msgstr "Start serveru"
+
+#: cgi-bin/ipp-var.c:1065
+msgid "Server Stopped"
+msgstr "Zastavení serveru"
+
+#: cups/http-support.c:1330
+msgid "Service Unavailable"
+msgstr "Služba je nedostupná"
+
+#: cgi-bin/admin.c:2786 cgi-bin/admin.c:2832 cgi-bin/admin.c:2989
+#: cgi-bin/admin.c:3008
+msgid "Set Allowed Users"
+msgstr "Nastavení přístupu uživatelů"
+
+#: cgi-bin/admin.c:3035
+msgid "Set As Server Default"
+msgstr "Nastavení jako výchozí na serveru"
+
+#: cgi-bin/admin.c:3135
+msgid "Set Class Options"
+msgstr "Nastavení parametrů třídy"
+
+#: cgi-bin/admin.c:3135 cgi-bin/admin.c:3309 cgi-bin/admin.c:3691
+msgid "Set Printer Options"
+msgstr "Nastavení parametrů tiskárny"
+
+#: cgi-bin/admin.c:3861 cgi-bin/admin.c:3905 cgi-bin/admin.c:3923
+msgid "Set Publishing"
+msgstr "Nastavení vydávání"
+
+#: ppdc/sample.c:166
+msgid "Shipping Address"
+msgstr "Doručovací adresa"
+
+#: ppdc/sample.c:273
+msgid "Short-Edge (Landscape)"
+msgstr "Kratší okraj (na šířku)"
+
+#: ppdc/sample.c:288
+msgid "Special Paper"
+msgstr "Speciální papír"
+
+#: backend/lpd.c:1057
+#, c-format
+msgid "Spooling job, %.0f%% complete."
+msgstr ""
+
+#: ppdc/sample.c:341
+msgid "Standard"
+msgstr "Standardní"
+
+#. TRANSLATORS: Banner/cover sheet before the print job.
+#: cgi-bin/admin.c:3552
+msgid "Starting Banner"
+msgstr "Spuštění baneru"
+
+#: filter/rastertoepson.c:1069 filter/rastertohp.c:793
+#: filter/rastertolabel.c:1225
+#, c-format
+msgid "Starting page %d."
+msgstr ""
+
+#: ppdc/sample.c:156
+msgid "Statement"
+msgstr "Prohlášení"
+
+#: ppdc/sample.c:251
+msgid "Stylus Color Series"
+msgstr "Stylus Color Series"
+
+#: ppdc/sample.c:257
+msgid "Stylus Photo Series"
+msgstr "Stylus Photo Series"
+
+#: scheduler/ipp.c:3549 scheduler/ipp.c:6689 scheduler/ipp.c:7388
+#: scheduler/ipp.c:8887
+#, c-format
+msgid "Subscription #%d does not exist."
+msgstr ""
+
+#: ppdc/sample.c:157
+msgid "Super A"
+msgstr "Super A"
+
+#: ppdc/sample.c:158
+msgid "Super B"
+msgstr "Super B"
+
+#: ppdc/sample.c:162
+msgid "Super B/A3"
+msgstr "Super B/A3"
+
+#: cups/http-support.c:1275
+msgid "Switching Protocols"
+msgstr "Protokol výměny"
+
+#: ppdc/sample.c:159
+msgid "Tabloid"
+msgstr "Tabloid"
+
+#: ppdc/sample.c:45
+msgid "Tabloid Oversize"
+msgstr ""
+
+#: ppdc/sample.c:46
+msgid "Tabloid Oversize Long Edge"
+msgstr ""
+
+#: ppdc/sample.c:342
+msgid "Tear"
+msgstr "Odtrhnout"
+
+#: ppdc/sample.c:447
+msgid "Tear-Off"
+msgstr "Odtrhnout"
+
+#: ppdc/sample.c:388
+msgid "Tear-Off Adjust Position"
+msgstr "Nastavení pozice odtržení"
+
+#: scheduler/ipp.c:6393 scheduler/ipp.c:6471 scheduler/ipp.c:6487
+#: scheduler/ipp.c:6505
+#, c-format
+msgid "The %s attribute cannot be provided with job-ids."
+msgstr ""
+
+#: scheduler/ipp.c:5118
+#, c-format
+msgid "The '%s' operation attribute cannot be supplied in a Create-Job request."
+msgstr ""
+
+#: scheduler/ipp.c:6919
+#, c-format
+msgid "The PPD file \"%s\" could not be found."
+msgstr "Soubor PPD \"%s\" nelze nalézt."
+
+#: scheduler/ipp.c:6906
+#, c-format
+msgid "The PPD file \"%s\" could not be opened: %s"
+msgstr "Soubor PPD \"%s\" nelze otevřít: %s"
+
+#: filter/rastertoepson.c:1038 filter/rastertohp.c:764
+#: filter/rastertolabel.c:1189
+msgid "The PPD file could not be opened."
+msgstr ""
+
+#: cgi-bin/admin.c:749
+msgid "The class name may only contain up to 127 printable characters and may not contain spaces, slashes (/), or the pound sign (#)."
+msgstr "Název třídy může obsahovat až 127 tisknutelných znaků a nesmí obsahovat mezery, lomítka (/), nebo křížek (#)."
+
+#: cups/localize.c:353
+msgid "The developer unit needs to be replaced."
+msgstr ""
+
+#: cups/localize.c:351
+msgid "The developer unit will need to be replaced soon."
+msgstr ""
+
+#: cups/localize.c:343
+msgid "The fuser's temperature is high."
+msgstr ""
+
+#: cups/localize.c:345
+msgid "The fuser's temperature is low."
+msgstr ""
+
+#: scheduler/ipp.c:2097
+msgid "The notify-lease-duration attribute cannot be used with job subscriptions."
+msgstr "Atribut \"notify-lease-duration\" nelze použít s přihlášenou úlohou."
+
+#: scheduler/ipp.c:2080 scheduler/ipp.c:5653
+#, c-format
+msgid "The notify-user-data value is too large (%d > 63 octets)."
+msgstr ""
+
+#: cups/localize.c:349
+msgid "The optical photoconductor needs to be replaced."
+msgstr ""
+
+#: cups/localize.c:347
+msgid "The optical photoconductor will need to be replaced soon."
+msgstr ""
+
+#: cups/localize.c:331
+msgid "The output bin is almost full."
+msgstr ""
+
+#: cups/localize.c:333
+msgid "The output bin is full."
+msgstr ""
+
+#: cups/localize.c:329
+msgid "The output bin is missing."
+msgstr ""
+
+#: cups/localize.c:325
+msgid "The paper tray is almost empty."
+msgstr ""
+
+#: cups/localize.c:327
+msgid "The paper tray is empty."
+msgstr ""
+
+#: cups/localize.c:323
+msgid "The paper tray is missing."
+msgstr ""
+
+#: cups/localize.c:306
+msgid "The paper tray needs to be filled."
+msgstr ""
+
+#: backend/ipp.c:909
+msgid "The printer URI is incorrect or no longer exists."
+msgstr ""
+
+#: backend/lpd.c:619 backend/lpd.c:1009 backend/lpd.c:1091 backend/lpd.c:1141
+msgid "The printer did not respond."
+msgstr ""
+
+#: backend/ipp.c:892 backend/ipp.c:899
+#, c-format
+msgid "The printer does not support IPP/%d.%d, trying IPP/%s."
+msgstr ""
+
+#: backend/ipp.c:757 backend/ipp.c:874 backend/ipp.c:980 backend/ipp.c:1313
+#: backend/ipp.c:1464 backend/lpd.c:828 backend/socket.c:374
+#: backend/usb-unix.c:131 backend/usb-unix.c:424 backend/usb-unix.c:507
+msgid "The printer is in use."
+msgstr ""
+
+#: backend/runloop.c:254 backend/runloop.c:374 cups/localize.c:311
+msgid "The printer is not connected."
+msgstr ""
+
+#: backend/ipp.c:735 backend/ipp.c:768 backend/ipp.c:870 backend/lpd.c:807
+#: backend/lpd.c:848 backend/socket.c:353 backend/socket.c:386
+msgid "The printer is not responding."
+msgstr ""
+
+#: backend/runloop.c:396
+msgid "The printer is now connected."
+msgstr ""
+
+#: backend/usb-darwin.c:1286
+msgid "The printer is now online."
+msgstr ""
+
+#: backend/usb-darwin.c:1307
+msgid "The printer is offline."
+msgstr ""
+
+#: cups/localize.c:335
+msgid "The printer is running low on ink."
+msgstr ""
+
+#: cups/localize.c:313
+msgid "The printer is running low on toner."
+msgstr ""
+
+#: backend/ipp.c:750 backend/lpd.c:821 backend/socket.c:367
+msgid "The printer is unreachable at this time."
+msgstr ""
+
+#: cups/localize.c:337
+msgid "The printer may be out of ink."
+msgstr ""
+
+#: cups/localize.c:315
+msgid "The printer may be out of toner."
+msgstr ""
+
+#: backend/ipp.c:744 backend/lpd.c:815 backend/socket.c:361
+msgid "The printer may not exist or is unavailable at this time."
+msgstr ""
+
+#: cgi-bin/admin.c:931
+msgid "The printer name may only contain up to 127 printable characters and may not contain spaces, slashes (/), or the pound sign (#)."
+msgstr "Název tiskárny může obsahovat až 127 tisknutelných znaků a nesmí obsahovat mezery, lomítka (/), nebo křížek (#)."
+
+#: scheduler/ipp.c:876 scheduler/ipp.c:1136 scheduler/ipp.c:3198
+#: scheduler/ipp.c:3369 scheduler/ipp.c:5101 scheduler/ipp.c:5487
+#: scheduler/ipp.c:5801 scheduler/ipp.c:6359 scheduler/ipp.c:7124
+#: scheduler/ipp.c:7180 scheduler/ipp.c:7494 scheduler/ipp.c:7760
+#: scheduler/ipp.c:7849 scheduler/ipp.c:7882 scheduler/ipp.c:8205
+#: scheduler/ipp.c:8598 scheduler/ipp.c:8679 scheduler/ipp.c:9840
+#: scheduler/ipp.c:10294 scheduler/ipp.c:10624 scheduler/ipp.c:10706
+#: scheduler/ipp.c:10998
+msgid "The printer or class does not exist."
+msgstr ""
+
+#: scheduler/ipp.c:1304
+msgid "The printer or class is not shared."
+msgstr ""
+
+#: cups/localize.c:317
+msgid "The printer's cover is open."
+msgstr ""
+
+#: cups/localize.c:321
+msgid "The printer's door is open."
+msgstr ""
+
+#: cups/localize.c:319
+msgid "The printer's interlock is open."
+msgstr ""
+
+#: cups/localize.c:339
+msgid "The printer's waste bin is almost full."
+msgstr ""
+
+#: cups/localize.c:341
+msgid "The printer's waste bin is full."
+msgstr ""
+
+#: scheduler/ipp.c:982 scheduler/ipp.c:2261
+#, c-format
+msgid "The printer-uri \"%s\" contains invalid characters."
+msgstr "Tiskárna-URI \"%s\" obsahuje neplatné znaky."
+
+#: scheduler/ipp.c:3175
+msgid "The printer-uri attribute is required."
+msgstr ""
+
+#: scheduler/ipp.c:966
+msgid "The printer-uri must be of the form \"ipp://HOSTNAME/classes/CLASSNAME\"."
+msgstr "Tiskárna-URI musí být ve tvaru \"ipp://HOSTNAME/classes/CLASSNAME\"."
+
+#: scheduler/ipp.c:2245
+msgid "The printer-uri must be of the form \"ipp://HOSTNAME/printers/PRINTERNAME\"."
+msgstr "Tiskárna-URI musí být ve tvaru \"ipp://HOSTNAME/printers/PRINTERNAME\"."
+
+#: cgi-bin/admin.c:474
+msgid "The subscription name may not contain spaces, slashes (/), question marks (?), or the pound sign (#)."
+msgstr "Název předplatného nesmí obsahovat mezery, lomítka (/), otazník (?), nebo křížek (#)."
+
+#: scheduler/client.c:2450
+msgid "The web interface is currently disabled. Run \"cupsctl WebInterface=yes\" to enable it."
+msgstr ""
+
+#: scheduler/ipp.c:6454
+#, c-format
+msgid "The which-jobs value \"%s\" is not supported."
+msgstr ""
+
+#: scheduler/ipp.c:5731
+msgid "There are too many subscriptions."
+msgstr "Existuje příliš mnoho předplatných."
+
+#: cups/localize.c:308
+msgid "There is a paper jam."
+msgstr ""
+
+#: backend/usb-darwin.c:379 backend/usb-darwin.c:438 backend/usb-darwin.c:505
+#: backend/usb-darwin.c:526 backend/usb-libusb.c:235 backend/usb-libusb.c:256
+msgid "There was an unrecoverable USB error."
+msgstr ""
+
+#: ppdc/sample.c:435
+msgid "Thermal Transfer Media"
+msgstr "Termální tisková média"
+
+#: scheduler/ipp.c:1507
+msgid "Too many active jobs."
+msgstr "Příliš mnoho aktivních úloh."
+
+#: scheduler/ipp.c:1401
+#, c-format
+msgid "Too many job-sheets values (%d > 2)."
+msgstr ""
+
+#: scheduler/ipp.c:2529
+#, c-format
+msgid "Too many printer-state-reasons values (%d > %d)."
+msgstr ""
+
+#: ppdc/sample.c:289
+msgid "Transparency"
+msgstr "Průhlednost"
+
+#: ppdc/sample.c:284
+msgid "Tray"
+msgstr "Podavač"
+
+#: ppdc/sample.c:264
+msgid "Tray 1"
+msgstr "Podavač 1"
+
+#: ppdc/sample.c:265
+msgid "Tray 2"
+msgstr "Podavač 2"
+
+#: ppdc/sample.c:266
+msgid "Tray 3"
+msgstr "Podavač 3"
+
+#: ppdc/sample.c:267
+msgid "Tray 4"
+msgstr "Podavač 4"
+
+#: cups/http-support.c:1315
+msgid "URI Too Long"
+msgstr "URI je příliš dlouhá"
+
+#: ppdc/sample.c:138
+msgid "US Ledger"
+msgstr "US Ledger"
+
+#: ppdc/sample.c:139
+msgid "US Legal"
+msgstr "US Legal"
+
+#: ppdc/sample.c:140
+msgid "US Legal Oversize"
+msgstr ""
+
+#: ppdc/sample.c:141
+msgid "US Letter"
+msgstr "US Letter"
+
+#: ppdc/sample.c:142
+msgid "US Letter Long Edge"
+msgstr ""
+
+#: ppdc/sample.c:143
+msgid "US Letter Oversize"
+msgstr ""
+
+#: ppdc/sample.c:144
+msgid "US Letter Oversize Long Edge"
+msgstr ""
+
+#: ppdc/sample.c:145
+msgid "US Letter Small"
+msgstr ""
+
+#: cgi-bin/admin.c:1959 cgi-bin/admin.c:1972 cgi-bin/admin.c:1996
+msgid "Unable to access cupsd.conf file"
+msgstr "Nelze získat přístup k souboru \"cupsd.conf\""
+
+#: cgi-bin/help.c:133
+msgid "Unable to access help file."
+msgstr ""
+
+#: cgi-bin/admin.c:526
+msgid "Unable to add RSS subscription"
+msgstr "Nelze přidat RSS předplatné"
+
+#: cgi-bin/admin.c:814
+msgid "Unable to add class"
+msgstr "Nelze přidat třídu"
+
+#: backend/ipp.c:1635
+msgid "Unable to add document to print job."
+msgstr ""
+
+#: scheduler/ipp.c:1548
+#, c-format
+msgid "Unable to add job for destination \"%s\"."
+msgstr ""
+
+#: cgi-bin/admin.c:1059 cgi-bin/admin.c:1419
+msgid "Unable to add printer"
+msgstr "Nelze přidat tiskárnu"
+
+#: scheduler/ipp.c:1246
+msgid "Unable to allocate memory for file types."
+msgstr ""
+
+#: filter/pstops.c:451
+msgid "Unable to allocate memory for page info"
+msgstr ""
+
+#: filter/pstops.c:445
+msgid "Unable to allocate memory for pages array"
+msgstr ""
+
+#: cgi-bin/admin.c:1525
+msgid "Unable to cancel RSS subscription"
+msgstr "Nelze zrušit RSS předplatné"
+
+#: backend/ipp.c:1942
+msgid "Unable to cancel print job."
+msgstr ""
+
+#: cgi-bin/admin.c:2990
+msgid "Unable to change printer"
+msgstr "Nelze změnit tiskárnu"
+
+#: cgi-bin/admin.c:3906
+msgid "Unable to change printer-is-shared attribute"
+msgstr "Nelze změnit atribut \"sdílení tiskárny\""
+
+#: cgi-bin/admin.c:1657 cgi-bin/admin.c:1799
+msgid "Unable to change server settings"
+msgstr "Nelze změnit nastavení serveru"
+
+#: filter/commandtops.c:420
+msgid "Unable to configure printer options."
+msgstr ""
+
+#: cups/adminutil.c:911 cups/request.c:1016
+msgid "Unable to connect to host."
+msgstr "Nelze se připojit k hostiteli."
+
+#: backend/ipp.c:713 backend/ipp.c:1138 backend/lpd.c:787 backend/socket.c:333
+#: backend/usb-unix.c:117
+msgid "Unable to contact printer, queuing on next printer in class."
+msgstr ""
+
+#: cups/adminutil.c:726
+#, c-format
+msgid "Unable to copy 64-bit CUPS printer driver files (%d)."
+msgstr ""
+
+#: cups/adminutil.c:691
+#, c-format
+msgid "Unable to copy 64-bit Windows printer driver files (%d)."
+msgstr ""
+
+#: cups/adminutil.c:522
+#, c-format
+msgid "Unable to copy CUPS printer driver files (%d)."
+msgstr ""
+
+#: scheduler/ipp.c:2649
+#, c-format
+msgid "Unable to copy PPD file - %s"
+msgstr ""
+
+#: scheduler/ipp.c:2704
+msgid "Unable to copy PPD file."
+msgstr ""
+
+#: cups/adminutil.c:487
+#, c-format
+msgid "Unable to copy Windows 2000 printer driver files (%d)."
+msgstr ""
+
+#: cups/adminutil.c:610
+#, c-format
+msgid "Unable to copy Windows 9x printer driver files (%d)."
+msgstr ""
+
+#: scheduler/ipp.c:2626
+#, c-format
+msgid "Unable to copy interface script - %s"
+msgstr ""
+
+#: backend/ipp.c:2034
+msgid "Unable to create compressed print file"
+msgstr ""
+
+#: cups/util.c:602 cups/util.c:1656
+msgid "Unable to create printer-uri"
+msgstr ""
+
+#: cgi-bin/admin.c:1850 cgi-bin/admin.c:1862 scheduler/cupsfilter.c:1236
+msgid "Unable to create temporary file"
+msgstr ""
+
+#: cgi-bin/admin.c:2153
+msgid "Unable to delete class"
+msgstr "Nelze vymazat třídu"
+
+#: cgi-bin/admin.c:2238
+msgid "Unable to delete printer"
+msgstr "Nelze vymazat tiskárnu"
+
+#: cgi-bin/classes.c:260 cgi-bin/printers.c:269
+msgid "Unable to do maintenance command"
+msgstr "Nelze provést příkaz údržby"
+
+#: cgi-bin/admin.c:1974
+msgid "Unable to edit cupsd.conf files larger than 1MB"
+msgstr ""
+
+#: cups/http.c:4272
+msgid "Unable to establish a secure connection to host (certificate chain invalid)."
+msgstr ""
+
+#: cups/http.c:4262
+msgid "Unable to establish a secure connection to host (certificate not yet valid)."
+msgstr ""
+
+#: cups/http.c:4257
+msgid "Unable to establish a secure connection to host (expired certificate)."
+msgstr ""
+
+#: cups/http.c:4267
+msgid "Unable to establish a secure connection to host (host name mismatch)."
+msgstr ""
+
+#: cups/http.c:4277
+msgid "Unable to establish a secure connection to host (peer dropped connection before responding)."
+msgstr ""
+
+#: cups/http.c:4252
+msgid "Unable to establish a secure connection to host (self-signed certificate)."
+msgstr ""
+
+#: cups/http.c:4247
+msgid "Unable to establish a secure connection to host (untrusted certificate)."
+msgstr ""
+
+#: cups/http.c:4008 cups/http.c:4304 cups/http.c:4337 cups/http.c:4354
+msgid "Unable to establish a secure connection to host."
+msgstr ""
+
+#: cgi-bin/ipp-var.c:365
+msgid "Unable to find destination for job"
+msgstr ""
+
+#: cups/http-support.c:1748
+msgid "Unable to find printer."
+msgstr ""
+
+#: backend/ipp.c:2056
+msgid "Unable to generate compressed print file"
+msgstr ""
+
+#: backend/ipp.c:3009
+msgid "Unable to get backend exit status."
+msgstr ""
+
+#: cgi-bin/classes.c:450
+msgid "Unable to get class list"
+msgstr "Nelze získat seznam tříd"
+
+#: cgi-bin/classes.c:549
+msgid "Unable to get class status"
+msgstr "Nelze získat stav třídy"
+
+#: cgi-bin/admin.c:1320
+msgid "Unable to get list of printer drivers"
+msgstr "Nelze získat seznam ovladačů tiskárny"
+
+#: cgi-bin/admin.c:2840
+msgid "Unable to get printer attributes"
+msgstr "Nelze získat atributy tiskárny"
+
+#: cgi-bin/printers.c:467
+msgid "Unable to get printer list"
+msgstr "Nelze získat seznam tiskáren"
+
+#: cgi-bin/printers.c:569
+msgid "Unable to get printer status"
+msgstr ""
+
+#: backend/ipp.c:933
+msgid "Unable to get printer status."
+msgstr "Nelze získat stav tiskárny."
+
+#: cups/adminutil.c:565 cups/adminutil.c:769
+#, c-format
+msgid "Unable to install Windows 2000 printer driver files (%d)."
+msgstr ""
+
+#: cups/adminutil.c:639
+#, c-format
+msgid "Unable to install Windows 9x printer driver files (%d)."
+msgstr ""
+
+#: cgi-bin/help.c:92
+msgid "Unable to load help index."
+msgstr ""
+
+#: backend/ipp.c:642 backend/lpd.c:421 backend/socket.c:275
+#, c-format
+msgid "Unable to locate printer \"%s\"."
+msgstr ""
+
+#: backend/dnssd.c:781 backend/ipp.c:324 backend/lpd.c:204
+#: backend/socket.c:171
+msgid "Unable to locate printer."
+msgstr ""
+
+#: cgi-bin/admin.c:813
+msgid "Unable to modify class"
+msgstr "Nelze změnit třídu"
+
+#: cgi-bin/admin.c:1058 cgi-bin/admin.c:1418
+msgid "Unable to modify printer"
+msgstr "Nelze změnit tiskárnu"
+
+#: cgi-bin/ipp-var.c:432 cgi-bin/ipp-var.c:521
+msgid "Unable to move job"
+msgstr "Nelze přesunout úlohu"
+
+#: cgi-bin/ipp-var.c:434 cgi-bin/ipp-var.c:523
+msgid "Unable to move jobs"
+msgstr "Nelze přesunout úlohy"
+
+#: cgi-bin/admin.c:3186 cups/ppd.c:339
+msgid "Unable to open PPD file"
+msgstr "Nelze otevřít PPD soubor"
+
+#: backend/ipp.c:2040
+msgid "Unable to open compressed print file"
+msgstr ""
+
+#: cgi-bin/admin.c:2608
+msgid "Unable to open cupsd.conf file:"
+msgstr "Nelze otevřít soubor \"cupsd.conf\":"
+
+#: backend/usb-unix.c:141
+msgid "Unable to open device file"
+msgstr ""
+
+#: scheduler/ipp.c:6140
+#, c-format
+msgid "Unable to open document #%d in job #%d."
+msgstr ""
+
+#: cgi-bin/help.c:364
+msgid "Unable to open help file."
+msgstr ""
+
+#: backend/ipp.c:365 backend/ipp.c:1398 backend/ipp.c:1594 backend/ipp.c:2046
+#: backend/lpd.c:488 backend/socket.c:158 backend/usb.c:237
+#: filter/gziptoany.c:71 filter/pstops.c:300
+msgid "Unable to open print file"
+msgstr ""
+
+#: filter/rastertoepson.c:998 filter/rastertohp.c:724
+#: filter/rastertolabel.c:1147
+msgid "Unable to open raster file"
+msgstr ""
+
+#: cgi-bin/ipp-var.c:795
+msgid "Unable to print test page"
+msgstr "Nelze vytisknout zkušební stránku"
+
+#: backend/runloop.c:96 backend/runloop.c:325 backend/usb-darwin.c:613
+#: backend/usb-darwin.c:657 backend/usb-libusb.c:343 backend/usb-libusb.c:378
+msgid "Unable to read print data."
+msgstr ""
+
+#: cups/dest.c:3402
+msgid "Unable to resolve printer URI."
+msgstr ""
+
+#: cups/adminutil.c:2088
+#, c-format
+msgid "Unable to run \"%s\": %s"
+msgstr ""
+
+#: filter/pstops.c:563
+msgid "Unable to see in file"
+msgstr ""
+
+#: cgi-bin/ipp-var.c:598 cgi-bin/ipp-var.c:618
+msgid "Unable to send command to printer driver"
+msgstr ""
+
+#: backend/usb-darwin.c:735 backend/usb-libusb.c:454
+msgid "Unable to send data to printer."
+msgstr ""
+
+#: cups/adminutil.c:821
+#, c-format
+msgid "Unable to set Windows printer driver (%d)."
+msgstr ""
+
+#: cgi-bin/admin.c:3807
+msgid "Unable to set options"
+msgstr "Nelze nastavit parametry"
+
+#: cgi-bin/admin.c:3077
+msgid "Unable to set server default"
+msgstr "Nelze nastavit výchozí server"
+
+#: backend/ipp.c:2868 backend/ipp.c:2945 backend/ipp.c:2953
+msgid "Unable to start backend process."
+msgstr ""
+
+#: cgi-bin/admin.c:1912
+msgid "Unable to upload cupsd.conf file"
+msgstr "Nelze nahrát soubor \"cupsd.conf\""
+
+#: backend/usb-darwin.c:1985 backend/usb-darwin.c:2009
+msgid "Unable to use legacy USB class driver."
+msgstr ""
+
+#: backend/runloop.c:125 backend/runloop.c:380
+msgid "Unable to write print data"
+msgstr ""
+
+#: filter/gziptoany.c:90
+#, c-format
+msgid "Unable to write uncompressed print data: %s"
+msgstr ""
+
+#: cups/http-support.c:1303
+msgid "Unauthorized"
+msgstr "Nepovolený"
+
+#: cgi-bin/admin.c:3503
+msgid "Units"
+msgstr "Jednotky"
+
+#: cups/http-support.c:1343 cups/ppd.c:366
+msgid "Unknown"
+msgstr "Neznámý"
+
+#: filter/pstops.c:2213
+#, c-format
+msgid "Unknown choice \"%s\" for option \"%s\"."
+msgstr ""
+
+#: backend/ipp.c:507
+#, c-format
+msgid "Unknown encryption option value: \"%s\"."
+msgstr ""
+
+#: backend/lpd.c:350
+#, c-format
+msgid "Unknown file order: \"%s\"."
+msgstr ""
+
+#: backend/lpd.c:321
+#, c-format
+msgid "Unknown format character: \"%c\"."
+msgstr ""
+
+#: cups/dest-options.c:770
+msgid "Unknown media size name."
+msgstr ""
+
+#: backend/ipp.c:554
+#, c-format
+msgid "Unknown option \"%s\" with value \"%s\"."
+msgstr ""
+
+#: filter/pstops.c:2196
+#, c-format
+msgid "Unknown option \"%s\"."
+msgstr ""
+
+#: backend/lpd.c:336
+#, c-format
+msgid "Unknown print mode: \"%s\"."
+msgstr ""
+
+#: scheduler/ipp.c:10496
+#, c-format
+msgid "Unknown printer-error-policy \"%s\"."
+msgstr "Neznámá printer-error-policy „%s“."
+
+#: scheduler/ipp.c:10479
+#, c-format
+msgid "Unknown printer-op-policy \"%s\"."
+msgstr "Neznámá printer-op-policy „%s“."
+
+#: cups/http-addrlist.c:710
+msgid "Unknown service name."
+msgstr ""
+
+#: backend/ipp.c:526
+#, c-format
+msgid "Unknown version option value: \"%s\"."
+msgstr ""
+
+#: scheduler/ipp.c:402
+#, c-format
+msgid "Unsupported character set \"%s\"."
+msgstr ""
+
+#: scheduler/ipp.c:8171 scheduler/ipp.c:9401 scheduler/ipp.c:10950
+#, c-format
+msgid "Unsupported compression \"%s\"."
+msgstr ""
+
+#: scheduler/ipp.c:8305 scheduler/ipp.c:9551 scheduler/ipp.c:10979
+#, c-format
+msgid "Unsupported document-format \"%s\"."
+msgstr ""
+
+#: scheduler/ipp.c:9534
+#, c-format
+msgid "Unsupported document-format \"%s/%s\"."
+msgstr ""
+
+#: scheduler/ipp.c:1367
+#, c-format
+msgid "Unsupported format \"%s\"."
+msgstr ""
+
+#: scheduler/ipp.c:1465
+msgid "Unsupported margins."
+msgstr ""
+
+#: cups/pwg-media.c:529
+msgid "Unsupported media value."
+msgstr ""
+
+#: filter/pstops.c:2478
+#, c-format
+msgid "Unsupported number-up value %d, using number-up=1."
+msgstr ""
+
+#: filter/pstops.c:2512
+#, c-format
+msgid "Unsupported number-up-layout value %s, using number-up-layout=lrtb."
+msgstr ""
+
+#: filter/pstops.c:2563
+#, c-format
+msgid "Unsupported page-border value %s, using page-border=none."
+msgstr ""
+
+#: filter/rastertopwg.c:147 filter/rastertopwg.c:155 filter/rastertopwg.c:164
+msgid "Unsupported raster data."
+msgstr ""
+
+#: cups/snmp.c:1112
+msgid "Unsupported value type"
+msgstr "Nepodporovaný typ hodnoty"
+
+#: cups/http-support.c:1318
+msgid "Upgrade Required"
+msgstr "Povinné aktualizace"
+
+#: systemv/lpadmin.c:668
+msgid ""
+"Usage:\n"
+"\n"
+"    lpadmin [-h server] -d destination\n"
+"    lpadmin [-h server] -x destination\n"
+"    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m model]\n"
+"                       [-r remove-class] [-v device] [-D description]\n"
+"                       [-P ppd-file] [-o name=value]\n"
+"                       [-u allow:user,user] [-u deny:user,user]"
+msgstr ""
+
+#: backend/dnssd.c:241 backend/ipp.c:313 backend/lpd.c:191
+#: backend/socket.c:135 backend/usb.c:183 filter/commandtops.c:74
+#: filter/gziptoany.c:50 filter/pstops.c:264 monitor/bcp.c:62
+#: monitor/tbcp.c:61
+#, c-format
+msgid "Usage: %s job-id user title copies options [file]"
+msgstr ""
+
+#: systemv/cupsaddsmb.c:281
+msgid "Usage: cupsaddsmb [options] printer1 ... printerN"
+msgstr ""
+
+#: systemv/cupsctl.c:200
+msgid "Usage: cupsctl [options] [param=value ... paramN=valueN]"
+msgstr ""
+
+#: scheduler/main.c:2017
+msgid "Usage: cupsd [options]"
+msgstr ""
+
+#: scheduler/cupsfilter.c:1429
+msgid "Usage: cupsfilter [ options ] filename"
+msgstr ""
+
+#: systemv/cupstestdsc.c:425
+msgid "Usage: cupstestdsc [options] filename.ps [... filename.ps]"
+msgstr ""
+
+#: systemv/cupstestppd.c:3793
+msgid "Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]"
+msgstr ""
+
+#: test/ipptool.c:4401
+msgid "Usage: ipptool [options] URI filename [ ... filenameN ]"
+msgstr ""
+
+#: systemv/lpmove.c:125
+msgid "Usage: lpmove job/src dest"
+msgstr ""
+
+#: systemv/lpoptions.c:553
+msgid ""
+"Usage: lpoptions [-h server] [-E] -d printer\n"
+"       lpoptions [-h server] [-E] [-p printer] -l\n"
+"       lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
+"       lpoptions [-h server] [-E] -x printer"
+msgstr ""
+
+#: systemv/lppasswd.c:476
+msgid "Usage: lppasswd [-g groupname]"
+msgstr ""
+
+#: systemv/lppasswd.c:479
+msgid ""
+"Usage: lppasswd [-g groupname] [username]\n"
+"       lppasswd [-g groupname] -a [username]\n"
+"       lppasswd [-g groupname] -x [username]"
+msgstr ""
+
+#: berkeley/lpq.c:670
+msgid "Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]"
+msgstr ""
+
+#: ppdc/ppdc.cxx:435
+msgid "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]"
+msgstr ""
+
+#: ppdc/ppdhtml.cxx:172
+msgid "Usage: ppdhtml [options] filename.drv >filename.html"
+msgstr ""
+
+#: ppdc/ppdi.cxx:128
+msgid "Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]"
+msgstr ""
+
+#: ppdc/ppdmerge.cxx:367
+msgid "Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]"
+msgstr ""
+
+#: ppdc/ppdpo.cxx:252
+msgid "Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]"
+msgstr ""
+
+#: backend/snmp.c:218
+msgid "Usage: snmp [host-or-ip-address]"
+msgstr ""
+
+#: cups/snmp.c:1064
+msgid "Value uses indefinite length"
+msgstr "Hodnota má neomezenou délku"
+
+#: cups/snmp.c:1049
+msgid "VarBind uses indefinite length"
+msgstr "VarBind má neomezenou délku"
+
+#: cups/snmp.c:999
+msgid "Version uses indefinite length"
+msgstr "Version má neomezenou délku"
+
+#: backend/ipp.c:1675
+msgid "Waiting for job to complete."
+msgstr ""
+
+#: backend/usb-darwin.c:457 backend/usb-libusb.c:193
+msgid "Waiting for printer to become available."
+msgstr ""
+
+#: backend/socket.c:444
+msgid "Waiting for printer to finish."
+msgstr ""
+
+#: cups/adminutil.c:793
+msgid "Warning, no Windows 2000 printer drivers are installed."
+msgstr ""
+
+#: cups/http-support.c:1339
+msgid "Web Interface is Disabled"
+msgstr ""
+
+#: cups/ppd.c:1947
+msgid "Yes"
+msgstr "Ano"
+
+#: scheduler/client.c:2437
+#, c-format
+msgid "You must access this page using the URL <A HREF=\"https://%s:%d%s\">https://%s:%d%s</A>."
+msgstr Pro přístup k této stránce, použijte adresu URL <A HREF=\"https://%s:%d%s\">https://%s:%d%s</A>."
+
+#: systemv/lppasswd.c:254
+msgid "Your password must be at least 6 characters long, cannot contain your username, and must contain at least one letter and number."
+msgstr ""
+
+#: ppdc/sample.c:439
+msgid "ZPL Label Printer"
+msgstr "Tiskárna štítků ZPL"
+
+#: ppdc/sample.c:362
+msgid "Zebra"
+msgstr "Zebra"
+
+#: cups/notify.c:102
+msgid "aborted"
+msgstr "zrušeno"
+
+#: cups/notify.c:99
+msgid "canceled"
+msgstr "zrušeno"
+
+#: cups/notify.c:105
+msgid "completed"
+msgstr "dokončeno"
+
+#: scheduler/ipp.c:6012
+msgid "cups-deviced failed to execute."
+msgstr "Nepodařilo se spustit \"cups-deviced\"."
+
+#: scheduler/ipp.c:6842 scheduler/ipp.c:7091
+msgid "cups-driverd failed to execute."
+msgstr "Nepodařilo se spustit \"cups-driverd\"."
+
+#: systemv/cupsaddsmb.c:233
+#, c-format
+msgid "cupsaddsmb: No PPD file for printer \"%s\" - %s"
+msgstr ""
+
+#: systemv/cupsctl.c:141
+msgid "cupsctl: Cannot set Listen or Port directly."
+msgstr ""
+
+#: systemv/cupsctl.c:152
+#, c-format
+msgid "cupsctl: Unable to connect to server: %s"
+msgstr ""
+
+#: systemv/cupsctl.c:195
+#, c-format
+msgid "cupsctl: Unknown option \"%s\""
+msgstr ""
+
+#: systemv/cupsctl.c:197
+#, c-format
+msgid "cupsctl: Unknown option \"-%c\""
+msgstr ""
+
+#: scheduler/main.c:189
+msgid "cupsd: Expected config filename after \"-c\" option."
+msgstr ""
+
+#: scheduler/main.c:221 scheduler/main.c:228
+msgid "cupsd: Unable to get current directory."
+msgstr ""
+
+#: scheduler/main.c:295
+#, c-format
+msgid "cupsd: Unknown argument \"%s\" - aborting."
+msgstr ""
+
+#: scheduler/main.c:288
+#, c-format
+msgid "cupsd: Unknown option \"%c\" - aborting."
+msgstr ""
+
+#: scheduler/main.c:255
+msgid "cupsd: launchd(8) support not compiled in, running in normal mode."
+msgstr ""
+
+#: scheduler/cupsfilter.c:1209
+#, c-format
+msgid "cupsfilter: Invalid document number %d."
+msgstr ""
+
+#: scheduler/cupsfilter.c:1203
+#, c-format
+msgid "cupsfilter: Invalid job ID %d."
+msgstr ""
+
+#: scheduler/cupsfilter.c:358
+msgid "cupsfilter: Only one filename can be specified."
+msgstr ""
+
+#: scheduler/cupsfilter.c:1251
+#, c-format
+msgid "cupsfilter: Unable to get job file - %s"
+msgstr ""
+
+#: systemv/cupstestppd.c:261
+msgid "cupstestppd: The -q option is incompatible with the -v option."
+msgstr ""
+
+#: systemv/cupstestppd.c:277
+msgid "cupstestppd: The -v option is incompatible with the -q option."
+msgstr ""
+
+#: systemv/lpstat.c:1231 systemv/lpstat.c:1234 systemv/lpstat.c:1237
+#, c-format
+msgid "device for %s/%s: %s"
+msgstr ""
+
+#: systemv/lpstat.c:1218 systemv/lpstat.c:1221 systemv/lpstat.c:1224
+#, c-format
+msgid "device for %s: %s"
+msgstr ""
+
+#: cups/snmp.c:1036
+msgid "error-index uses indefinite length"
+msgstr "\"error-index\" má neomezenou délku"
+
+#: cups/snmp.c:1028
+msgid "error-status uses indefinite length"
+msgstr "\"error-status\" má neomezenou délku"
+
+#: cups/notify.c:90
+msgid "held"
+msgstr "pozastaveno"
+
+#: berkeley/lpc.c:209
+msgid "help\t\tGet help on commands."
+msgstr ""
+
+#: cups/notify.c:131
+msgid "idle"
+msgstr "čeká"
+
+#: test/ipptool.c:373 test/ipptool.c:515 test/ipptool.c:539
+msgid "ipptool: \"-i\" and \"-n\" are incompatible with -X\"."
+msgstr ""
+
+#: test/ipptool.c:597
+#, c-format
+msgid "ipptool: Bad URI - %s."
+msgstr ""
+
+#: test/ipptool.c:362
+#, c-format
+msgid "ipptool: Bad version %s for \"-V\"."
+msgstr ""
+
+#: test/ipptool.c:508
+msgid "ipptool: Invalid seconds for \"-i\"."
+msgstr ""
+
+#: test/ipptool.c:578
+msgid "ipptool: May only specify a single URI."
+msgstr ""
+
+#: test/ipptool.c:531
+msgid "ipptool: Missing count for \"-n\"."
+msgstr ""
+
+#: test/ipptool.c:408
+msgid "ipptool: Missing filename for \"-f\"."
+msgstr ""
+
+#: test/ipptool.c:389
+msgid "ipptool: Missing name=value for \"-d\"."
+msgstr ""
+
+#: test/ipptool.c:498
+msgid "ipptool: Missing seconds for \"-i\"."
+msgstr ""
+
+#: test/ipptool.c:332
+msgid "ipptool: Missing timeout for \"-T\"."
+msgstr ""
+
+#: test/ipptool.c:345
+msgid "ipptool: Missing version for \"-V\"."
+msgstr ""
+
+#: test/ipptool.c:624
+msgid "ipptool: URI required before test file."
+msgstr ""
+
+#: test/ipptool.c:558
+#, c-format
+msgid "ipptool: Unknown option \"-%c\"."
+msgstr ""
+
+#: scheduler/ipp.c:7838
+msgid "job-printer-uri attribute missing."
+msgstr ""
+
+#: systemv/lpadmin.c:131 systemv/lpadmin.c:375
+msgid "lpadmin: Class name can only contain printable characters."
+msgstr ""
+
+#: systemv/lpadmin.c:614
+msgid "lpadmin: Expected PPD after \"-P\" option."
+msgstr ""
+
+#: systemv/lpadmin.c:457
+msgid "lpadmin: Expected allow/deny:userlist after \"-u\" option."
+msgstr ""
+
+#: systemv/lpadmin.c:364
+msgid "lpadmin: Expected class after \"-r\" option."
+msgstr ""
+
+#: systemv/lpadmin.c:120
+msgid "lpadmin: Expected class name after \"-c\" option."
+msgstr ""
+
+#: systemv/lpadmin.c:558
+msgid "lpadmin: Expected description after \"-D\" option."
+msgstr ""
+
+#: systemv/lpadmin.c:491
+msgid "lpadmin: Expected device URI after \"-v\" option."
+msgstr ""
+
+#: systemv/lpadmin.c:574
+msgid "lpadmin: Expected file type(s) after \"-I\" option."
+msgstr ""
+
+#: systemv/lpadmin.c:202
+msgid "lpadmin: Expected hostname after \"-h\" option."
+msgstr ""
+
+#: systemv/lpadmin.c:221
+msgid "lpadmin: Expected interface after \"-i\" option."
+msgstr ""
+
+#: systemv/lpadmin.c:594
+msgid "lpadmin: Expected location after \"-L\" option."
+msgstr ""
+
+#: systemv/lpadmin.c:274
+msgid "lpadmin: Expected model after \"-m\" option."
+msgstr ""
+
+#: systemv/lpadmin.c:417
+msgid "lpadmin: Expected name after \"-R\" option."
+msgstr ""
+
+#: systemv/lpadmin.c:294
+msgid "lpadmin: Expected name=value after \"-o\" option."
+msgstr ""
+
+#: systemv/lpadmin.c:313
+msgid "lpadmin: Expected printer after \"-p\" option."
+msgstr ""
+
+#: systemv/lpadmin.c:164
+msgid "lpadmin: Expected printer name after \"-d\" option."
+msgstr ""
+
+#: systemv/lpadmin.c:525
+msgid "lpadmin: Expected printer or class after \"-x\" option."
+msgstr ""
+
+#: systemv/lpadmin.c:975
+msgid "lpadmin: No member names were seen."
+msgstr ""
+
+#: systemv/lpadmin.c:762
+#, c-format
+msgid "lpadmin: Printer %s is already a member of class %s."
+msgstr ""
+
+#: systemv/lpadmin.c:989
+#, c-format
+msgid "lpadmin: Printer %s is not a member of class %s."
+msgstr ""
+
+#: systemv/lpadmin.c:175 systemv/lpadmin.c:324 systemv/lpadmin.c:536
+msgid "lpadmin: Printer name can only contain printable characters."
+msgstr ""
+
+#: systemv/lpadmin.c:105
+msgid ""
+"lpadmin: Unable to add a printer to the class:\n"
+"         You must specify a printer name first."
+msgstr ""
+
+#: systemv/lpadmin.c:96 systemv/lpadmin.c:149 systemv/lpadmin.c:253
+#: systemv/lpadmin.c:339 systemv/lpadmin.c:393 systemv/lpadmin.c:510
+#: systemv/lpadmin.c:647
+#, c-format
+msgid "lpadmin: Unable to connect to server: %s"
+msgstr ""
+
+#: systemv/lpadmin.c:1329
+msgid "lpadmin: Unable to create temporary file"
+msgstr ""
+
+#: systemv/lpadmin.c:402
+msgid ""
+"lpadmin: Unable to delete option:\n"
+"         You must specify a printer name first."
+msgstr ""
+
+#: systemv/lpadmin.c:1339
+#, c-format
+msgid "lpadmin: Unable to open PPD file \"%s\" - %s"
+msgstr ""
+
+#: systemv/lpadmin.c:348
+msgid ""
+"lpadmin: Unable to remove a printer from the class:\n"
+"         You must specify a printer name first."
+msgstr ""
+
+#: systemv/lpadmin.c:656
+msgid ""
+"lpadmin: Unable to set the printer options:\n"
+"         You must specify a printer name first."
+msgstr ""
+
+#: systemv/lpadmin.c:474
+#, c-format
+msgid "lpadmin: Unknown allow/deny option \"%s\"."
+msgstr ""
+
+#: systemv/lpadmin.c:629
+#, c-format
+msgid "lpadmin: Unknown argument \"%s\"."
+msgstr ""
+
+#: systemv/lpadmin.c:624
+#, c-format
+msgid "lpadmin: Unknown option \"%c\"."
+msgstr ""
+
+#: systemv/lpadmin.c:580
+msgid "lpadmin: Warning - content type list ignored."
+msgstr ""
+
+#: berkeley/lpc.c:76 berkeley/lpc.c:104 berkeley/lpc.c:140
+msgid "lpc> "
+msgstr "lpc> "
+
+#: systemv/lpinfo.c:137
+msgid "lpinfo: Expected 1284 device ID string after \"--device-id\"."
+msgstr ""
+
+#: systemv/lpinfo.c:190
+msgid "lpinfo: Expected language after \"--language\"."
+msgstr ""
+
+#: systemv/lpinfo.c:207
+msgid "lpinfo: Expected make and model after \"--make-and-model\"."
+msgstr ""
+
+#: systemv/lpinfo.c:224
+msgid "lpinfo: Expected product string after \"--product\"."
+msgstr ""
+
+#: systemv/lpinfo.c:155
+msgid "lpinfo: Expected scheme list after \"--exclude-schemes\"."
+msgstr ""
+
+#: systemv/lpinfo.c:173
+msgid "lpinfo: Expected scheme list after \"--include-schemes\"."
+msgstr ""
+
+#: systemv/lpinfo.c:241
+msgid "lpinfo: Expected timeout after \"--timeout\"."
+msgstr ""
+
+#: systemv/lpinfo.c:265
+#, c-format
+msgid "lpinfo: Unknown argument \"%s\"."
+msgstr ""
+
+#: systemv/lpinfo.c:259
+#, c-format
+msgid "lpinfo: Unknown option \"%c\"."
+msgstr ""
+
+#: systemv/lpinfo.c:252
+#, c-format
+msgid "lpinfo: Unknown option \"%s\"."
+msgstr ""
+
+#: systemv/lpmove.c:133
+#, c-format
+msgid "lpmove: Unable to connect to server: %s"
+msgstr ""
+
+#: systemv/lpmove.c:119
+#, c-format
+msgid "lpmove: Unknown argument \"%s\"."
+msgstr ""
+
+#: systemv/lpmove.c:97
+#, c-format
+msgid "lpmove: Unknown option \"%c\"."
+msgstr ""
+
+#: systemv/lpoptions.c:150 systemv/lpoptions.c:168 systemv/lpoptions.c:244
+msgid "lpoptions: No printers."
+msgstr ""
+
+#: systemv/lpoptions.c:219
+#, c-format
+msgid "lpoptions: Unable to add printer or instance: %s"
+msgstr ""
+
+#: systemv/lpoptions.c:521
+#, c-format
+msgid "lpoptions: Unable to get PPD file for %s: %s"
+msgstr ""
+
+#: systemv/lpoptions.c:529
+#, c-format
+msgid "lpoptions: Unable to open PPD file for %s."
+msgstr ""
+
+#: systemv/lpoptions.c:99
+msgid "lpoptions: Unknown printer or class."
+msgstr ""
+
+#: systemv/lppasswd.c:173
+msgid "lppasswd: Only root can add or delete passwords."
+msgstr ""
+
+#: systemv/lppasswd.c:302
+msgid "lppasswd: Password file busy."
+msgstr ""
+
+#: systemv/lppasswd.c:431
+msgid "lppasswd: Password file not updated."
+msgstr ""
+
+#: systemv/lppasswd.c:398
+msgid "lppasswd: Sorry, password doesn't match."
+msgstr ""
+
+#: systemv/lppasswd.c:253
+msgid "lppasswd: Sorry, password rejected."
+msgstr ""
+
+#: systemv/lppasswd.c:230
+msgid "lppasswd: Sorry, passwords don't match."
+msgstr ""
+
+#: systemv/lppasswd.c:199 systemv/lppasswd.c:218
+#, c-format
+msgid "lppasswd: Unable to copy password string: %s"
+msgstr ""
+
+#: systemv/lppasswd.c:304 systemv/lppasswd.c:312 systemv/lppasswd.c:329
+#, c-format
+msgid "lppasswd: Unable to open password file: %s"
+msgstr ""
+
+#: systemv/lppasswd.c:364 systemv/lppasswd.c:377 systemv/lppasswd.c:408
+#, c-format
+msgid "lppasswd: Unable to write to password file: %s"
+msgstr ""
+
+#: systemv/lppasswd.c:446
+#, c-format
+msgid "lppasswd: failed to backup old password file: %s"
+msgstr ""
+
+#: systemv/lppasswd.c:458
+#, c-format
+msgid "lppasswd: failed to rename password file: %s"
+msgstr ""
+
+#: systemv/lppasswd.c:389
+#, c-format
+msgid "lppasswd: user \"%s\" and group \"%s\" do not exist."
+msgstr ""
+
+#: systemv/lpstat.c:1039
+#, c-format
+msgid "lpstat: error - %s environment variable names non-existent destination \"%s\"."
+msgstr ""
+
+#: systemv/lpstat.c:970
+#, c-format
+msgid "members of class %s:"
+msgstr ""
+
+#: berkeley/lpq.c:582
+msgid "no entries"
+msgstr ""
+
+#: systemv/lpstat.c:1043
+msgid "no system default destination"
+msgstr ""
+
+#: scheduler/ipp.c:5702
+msgid "notify-events not specified."
+msgstr ""
+
+#: scheduler/ipp.c:2034 scheduler/ipp.c:5607
+#, c-format
+msgid "notify-recipient-uri URI \"%s\" is already used."
+msgstr ""
+
+#: scheduler/ipp.c:2024 scheduler/ipp.c:5597
+#, c-format
+msgid "notify-recipient-uri URI \"%s\" uses unknown scheme."
+msgstr ""
+
+#: cups/notify.c:87
+msgid "pending"
+msgstr "nevyřízený"
+
+#: ppdc/ppdc.cxx:113 ppdc/ppdpo.cxx:93
+#, c-format
+msgid "ppdc: Adding include directory \"%s\"."
+msgstr ""
+
+#: ppdc/ppdpo.cxx:134
+#, c-format
+msgid "ppdc: Adding/updating UI text from %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:410
+#, c-format
+msgid "ppdc: Bad boolean value (%s) on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-import.cxx:264
+#, c-format
+msgid "ppdc: Bad font attribute: %s"
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:1796
+#, c-format
+msgid "ppdc: Bad resolution name \"%s\" on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:1113
+#, c-format
+msgid "ppdc: Bad status keyword %s on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:2033
+#, c-format
+msgid "ppdc: Bad variable substitution ($%c) on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:2719
+#, c-format
+msgid "ppdc: Choice found on line %d of %s with no Option."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:1698
+#, c-format
+msgid "ppdc: Duplicate #po for locale %s on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:932
+#, c-format
+msgid "ppdc: Expected a filter definition on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:955
+#, c-format
+msgid "ppdc: Expected a program name on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:394
+#, c-format
+msgid "ppdc: Expected boolean value on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:1093
+#, c-format
+msgid "ppdc: Expected charset after Font on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:447
+#, c-format
+msgid "ppdc: Expected choice code on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:435
+#, c-format
+msgid "ppdc: Expected choice name/text on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:503
+#, c-format
+msgid "ppdc: Expected color order for ColorModel on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:492
+#, c-format
+msgid "ppdc: Expected colorspace for ColorModel on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:514
+#, c-format
+msgid "ppdc: Expected compression for ColorModel on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:695
+#, c-format
+msgid "ppdc: Expected constraints string for UIConstraints on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:2905
+#, c-format
+msgid "ppdc: Expected driver type keyword following DriverType on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:826
+#, c-format
+msgid "ppdc: Expected duplex type after Duplex on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:1077
+#, c-format
+msgid "ppdc: Expected encoding after Font on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:1689
+#, c-format
+msgid "ppdc: Expected filename after #po %s on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:1205
+#, c-format
+msgid "ppdc: Expected group name/text on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:2619
+#, c-format
+msgid "ppdc: Expected include filename on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:1502
+#, c-format
+msgid "ppdc: Expected integer on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:1681
+#, c-format
+msgid "ppdc: Expected locale after #po on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:353
+#, c-format
+msgid "ppdc: Expected name after %s on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:3277
+#, c-format
+msgid "ppdc: Expected name after FileName on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:1058
+#, c-format
+msgid "ppdc: Expected name after Font on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:3108
+#, c-format
+msgid "ppdc: Expected name after Manufacturer on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:3141
+#, c-format
+msgid "ppdc: Expected name after MediaSize on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:3231
+#, c-format
+msgid "ppdc: Expected name after ModelName on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:3294
+#, c-format
+msgid "ppdc: Expected name after PCFileName on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:1156
+#, c-format
+msgid "ppdc: Expected name/text after %s on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:1245
+#, c-format
+msgid "ppdc: Expected name/text after Installable on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:1782
+#, c-format
+msgid "ppdc: Expected name/text after Resolution on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:479
+#, c-format
+msgid "ppdc: Expected name/text combination for ColorModel on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:1574
+#, c-format
+msgid "ppdc: Expected option name/text on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:1608
+#, c-format
+msgid "ppdc: Expected option section on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:1586
+#, c-format
+msgid "ppdc: Expected option type on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:1765
+#, c-format
+msgid "ppdc: Expected override field after Resolution on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-catalog.cxx:341 ppdc/ppdc-catalog.cxx:353
+#, c-format
+msgid "ppdc: Expected quoted string on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:1004
+#, c-format
+msgid "ppdc: Expected real number on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:572
+#, c-format
+msgid "ppdc: Expected resolution/mediatype following ColorProfile on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:1863
+#, c-format
+msgid "ppdc: Expected resolution/mediatype following SimpleColorProfile on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:361
+#, c-format
+msgid "ppdc: Expected selector after %s on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:1101
+#, c-format
+msgid "ppdc: Expected status after Font on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:2794
+#, c-format
+msgid "ppdc: Expected string after Copyright on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:3397
+#, c-format
+msgid "ppdc: Expected string after Version on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:728
+#, c-format
+msgid "ppdc: Expected two option names on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:372
+#, c-format
+msgid "ppdc: Expected value after %s on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:1085
+#, c-format
+msgid "ppdc: Expected version after Font on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:227
+#, c-format
+msgid "ppdc: Invalid #include/#po filename \"%s\"."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:972
+#, c-format
+msgid "ppdc: Invalid cost for filter on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:964
+#, c-format
+msgid "ppdc: Invalid empty MIME type for filter on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:980
+#, c-format
+msgid "ppdc: Invalid empty program name for filter on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:1628
+#, c-format
+msgid "ppdc: Invalid option section \"%s\" on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:1600
+#, c-format
+msgid "ppdc: Invalid option type \"%s\" on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc.cxx:251 ppdc/ppdpo.cxx:123
+#, c-format
+msgid "ppdc: Loading driver information file \"%s\"."
+msgstr ""
+
+#: ppdc/ppdc.cxx:187
+#, c-format
+msgid "ppdc: Loading messages for locale \"%s\"."
+msgstr ""
+
+#: ppdc/ppdc.cxx:126
+#, c-format
+msgid "ppdc: Loading messages from \"%s\"."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:2412 ppdc/ppdc-source.cxx:2644
+#, c-format
+msgid "ppdc: Missing #endif at end of \"%s\"."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:2513 ppdc/ppdc-source.cxx:2548
+#: ppdc/ppdc-source.cxx:2578
+#, c-format
+msgid "ppdc: Missing #if on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-catalog.cxx:418
+#, c-format
+msgid "ppdc: Need a msgid line before any translation strings on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-driver.cxx:730
+#, c-format
+msgid "ppdc: No message catalog provided for locale %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:1651 ppdc/ppdc-source.cxx:2882
+#: ppdc/ppdc-source.cxx:2968 ppdc/ppdc-source.cxx:3061
+#: ppdc/ppdc-source.cxx:3194 ppdc/ppdc-source.cxx:3327
+#, c-format
+msgid "ppdc: Option %s defined in two different groups on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:1644
+#, c-format
+msgid "ppdc: Option %s redefined with a different type on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:705
+#, c-format
+msgid "ppdc: Option constraint must *name on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:2495
+#, c-format
+msgid "ppdc: Too many nested #if's on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc.cxx:374
+#, c-format
+msgid "ppdc: Unable to create PPD file \"%s\" - %s."
+msgstr ""
+
+#: ppdc/ppdc.cxx:266
+#, c-format
+msgid "ppdc: Unable to create output directory %s: %s"
+msgstr ""
+
+#: ppdc/ppdc.cxx:287
+#, c-format
+msgid "ppdc: Unable to create output pipes: %s"
+msgstr ""
+
+#: ppdc/ppdc.cxx:303 ppdc/ppdc.cxx:309
+#, c-format
+msgid "ppdc: Unable to execute cupstestppd: %s"
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:1730
+#, c-format
+msgid "ppdc: Unable to find #po file %s on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:2651
+#, c-format
+msgid "ppdc: Unable to find include file \"%s\" on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc.cxx:198
+#, c-format
+msgid "ppdc: Unable to find localization for \"%s\" - %s"
+msgstr ""
+
+#: ppdc/ppdc.cxx:135
+#, c-format
+msgid "ppdc: Unable to load localization file \"%s\" - %s"
+msgstr ""
+
+#: ppdc/ppdc-file.cxx:50
+#, c-format
+msgid "ppdc: Unable to open %s: %s"
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:2054
+#, c-format
+msgid "ppdc: Undefined variable (%s) on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-catalog.cxx:435
+#, c-format
+msgid "ppdc: Unexpected text on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:2924
+#, c-format
+msgid "ppdc: Unknown driver type %s on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:906
+#, c-format
+msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:3154
+#, c-format
+msgid "ppdc: Unknown media size \"%s\" on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-catalog.cxx:463
+#, c-format
+msgid "ppdc: Unknown message catalog format for \"%s\"."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:3408
+#, c-format
+msgid "ppdc: Unknown token \"%s\" seen on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:1014
+#, c-format
+msgid "ppdc: Unknown trailing characters in real number \"%s\" on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc-source.cxx:2164
+#, c-format
+msgid "ppdc: Unterminated string starting with %c on line %d of %s."
+msgstr ""
+
+#: ppdc/ppdc.cxx:365
+#, c-format
+msgid "ppdc: Warning - overlapping filename \"%s\"."
+msgstr ""
+
+#: ppdc/ppdc.cxx:380
+#, c-format
+msgid "ppdc: Writing %s."
+msgstr ""
+
+#: ppdc/ppdc.cxx:148
+#, c-format
+msgid "ppdc: Writing PPD files to directory \"%s\"."
+msgstr ""
+
+#: ppdc/ppdmerge.cxx:136
+#, c-format
+msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s."
+msgstr ""
+
+#: ppdc/ppdmerge.cxx:176
+#, c-format
+msgid "ppdmerge: Ignoring PPD file %s."
+msgstr ""
+
+#: ppdc/ppdmerge.cxx:160
+#, c-format
+msgid "ppdmerge: Unable to backup %s to %s - %s"
+msgstr ""
+
+#: systemv/lpstat.c:1784
+#, c-format
+msgid "printer %s disabled since %s -"
+msgstr ""
+
+#: systemv/lpstat.c:1773
+#, c-format
+msgid "printer %s is idle.  enabled since %s"
+msgstr ""
+
+#: systemv/lpstat.c:1778
+#, c-format
+msgid "printer %s now printing %s-%d.  enabled since %s"
+msgstr ""
+
+#: systemv/lpstat.c:1909
+#, c-format
+msgid "printer %s/%s disabled since %s -"
+msgstr ""
+
+#: systemv/lpstat.c:1895
+#, c-format
+msgid "printer %s/%s is idle.  enabled since %s"
+msgstr ""
+
+#: systemv/lpstat.c:1902
+#, c-format
+msgid "printer %s/%s now printing %s-%d.  enabled since %s"
+msgstr ""
+
+#: cups/notify.c:93 cups/notify.c:134
+msgid "processing"
+msgstr "zpracování"
+
+#: systemv/lp.c:644
+#, c-format
+msgid "request id is %s-%d (%d file(s))"
+msgstr ""
+
+#: cups/snmp.c:1020
+msgid "request-id uses indefinite length"
+msgstr "ID požadavku má neomezenou délku"
+
+#: systemv/lpstat.c:2048
+msgid "scheduler is not running"
+msgstr ""
+
+#: systemv/lpstat.c:2044
+msgid "scheduler is running"
+msgstr ""
+
+#: cups/adminutil.c:2159
+#, c-format
+msgid "stat of %s failed: %s"
+msgstr "stav %s selhalo: %s"
+
+#: berkeley/lpc.c:211
+msgid "status\t\tShow status of daemon and queue."
+msgstr ""
+
+#: cups/notify.c:96 cups/notify.c:137
+msgid "stopped"
+msgstr "zastaveno"
+
+#: systemv/lpstat.c:1017
+#, c-format
+msgid "system default destination: %s"
+msgstr ""
+
+#: systemv/lpstat.c:1014
+#, c-format
+msgid "system default destination: %s/%s"
+msgstr ""
+
+#: cups/notify.c:108 cups/notify.c:140
+msgid "unknown"
+msgstr "neznámý"
+
+#: cups/notify.c:117
+msgid "untitled"
+msgstr "nepojmenovaný"
+
+#: cups/snmp.c:1045
+msgid "variable-bindings uses indefinite length"
+msgstr "\"variable-bindings\" má neomezenou délku"
+
+
+#
+# End of "$Id$".
+#
diff --git a/locale/cups_da.po b/locale/cups_da.po
deleted file mode 100644 (file)
index 85446e4..0000000
+++ /dev/null
@@ -1,8692 +0,0 @@
-msgid ""
-msgstr ""
-"Project-Id-Version: CUPS 1.4\n"
-"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2012-03-07 13:38-0800\n"
-"PO-Revision-Date: 2009-02-16 12:00-0800\n"
-"Last-Translator: Apple Inc.\n"
-"Language-Team: Apple Inc.\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: \n"
-
-msgid "\t\t(all)"
-msgstr ""
-
-msgid "\t\t(none)"
-msgstr ""
-
-#, c-format
-msgid "\t%d entries"
-msgstr ""
-
-#, c-format
-msgid "\t%s"
-msgstr ""
-
-msgid "\tAfter fault: continue"
-msgstr ""
-
-#, c-format
-msgid "\tAlerts: %s"
-msgstr ""
-
-msgid "\tBanner required"
-msgstr ""
-
-msgid "\tCharset sets:"
-msgstr ""
-
-msgid "\tConnection: direct"
-msgstr ""
-
-msgid "\tConnection: remote"
-msgstr ""
-
-msgid "\tContent types: any"
-msgstr ""
-
-msgid "\tDefault page size:"
-msgstr ""
-
-msgid "\tDefault pitch:"
-msgstr ""
-
-msgid "\tDefault port settings:"
-msgstr ""
-
-#, c-format
-msgid "\tDescription: %s"
-msgstr ""
-
-msgid "\tForm mounted:"
-msgstr ""
-
-msgid "\tForms allowed:"
-msgstr ""
-
-#, c-format
-msgid "\tInterface: %s.ppd"
-msgstr ""
-
-#, c-format
-msgid "\tInterface: %s/interfaces/%s"
-msgstr ""
-
-#, c-format
-msgid "\tInterface: %s/ppd/%s.ppd"
-msgstr ""
-
-#, c-format
-msgid "\tLocation: %s"
-msgstr ""
-
-msgid "\tOn fault: no alert"
-msgstr ""
-
-msgid "\tPrinter types: unknown"
-msgstr ""
-
-#, c-format
-msgid "\tStatus: %s"
-msgstr ""
-
-msgid "\tUsers allowed:"
-msgstr ""
-
-msgid "\tUsers denied:"
-msgstr ""
-
-msgid "\tdaemon present"
-msgstr ""
-
-msgid "\tno entries"
-msgstr ""
-
-#, c-format
-msgid "\tprinter is on device '%s' speed -1"
-msgstr ""
-
-msgid "\tprinting is disabled"
-msgstr ""
-
-msgid "\tprinting is enabled"
-msgstr ""
-
-#, c-format
-msgid "\tqueued for %s"
-msgstr ""
-
-msgid "\tqueuing is disabled"
-msgstr ""
-
-msgid "\tqueuing is enabled"
-msgstr ""
-
-msgid "\treason unknown"
-msgstr ""
-
-msgid ""
-"\n"
-"    DETAILED CONFORMANCE TEST RESULTS"
-msgstr ""
-
-msgid "                          Ignore specific warnings."
-msgstr ""
-
-msgid "                          Issue warnings instead of errors."
-msgstr ""
-
-msgid "                REF: Page 15, section 3.1."
-msgstr ""
-
-msgid "                REF: Page 15, section 3.2."
-msgstr ""
-
-msgid "                REF: Page 19, section 3.3."
-msgstr ""
-
-msgid "                REF: Page 20, section 3.4."
-msgstr ""
-
-msgid "                REF: Page 27, section 3.5."
-msgstr ""
-
-msgid "                REF: Page 42, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 16-17, section 3.2."
-msgstr ""
-
-msgid "                REF: Pages 42-45, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 45-46, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 48-49, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 52-54, section 5.2."
-msgstr ""
-
-#, c-format
-msgid "        %-39.39s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "        PASS    Default%s"
-msgstr ""
-
-msgid "        PASS    DefaultImageableArea"
-msgstr ""
-
-msgid "        PASS    DefaultPaperDimension"
-msgstr ""
-
-msgid "        PASS    FileVersion"
-msgstr ""
-
-msgid "        PASS    FormatVersion"
-msgstr ""
-
-msgid "        PASS    LanguageEncoding"
-msgstr ""
-
-msgid "        PASS    LanguageVersion"
-msgstr ""
-
-msgid "        PASS    Manufacturer"
-msgstr ""
-
-msgid "        PASS    ModelName"
-msgstr ""
-
-msgid "        PASS    NickName"
-msgstr ""
-
-msgid "        PASS    PCFileName"
-msgstr ""
-
-msgid "        PASS    PSVersion"
-msgstr ""
-
-msgid "        PASS    PageRegion"
-msgstr ""
-
-msgid "        PASS    PageSize"
-msgstr ""
-
-msgid "        PASS    Product"
-msgstr ""
-
-msgid "        PASS    ShortNickName"
-msgstr ""
-
-#, c-format
-msgid "        WARN    %s has no corresponding options."
-msgstr ""
-
-#, c-format
-msgid ""
-"        WARN    %s shares a common prefix with %s\n"
-"                REF: Page 15, section 3.2."
-msgstr ""
-
-#, c-format
-msgid ""
-"        WARN    Duplex option keyword %s may not work as expected and should "
-"be named Duplex.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-
-msgid "        WARN    File contains a mix of CR, LF, and CR LF line endings."
-msgstr ""
-
-msgid ""
-"        WARN    LanguageEncoding required by PPD 4.3 spec.\n"
-"                REF: Pages 56-57, section 5.3."
-msgstr ""
-
-#, c-format
-msgid "        WARN    Line %d only contains whitespace."
-msgstr ""
-
-msgid ""
-"        WARN    Manufacturer required by PPD 4.3 spec.\n"
-"                REF: Pages 58-59, section 5.3."
-msgstr ""
-
-msgid ""
-"        WARN    Non-Windows PPD files should use lines ending with only LF, "
-"not CR LF."
-msgstr ""
-
-#, c-format
-msgid ""
-"        WARN    Obsolete PPD version %.1f.\n"
-"                REF: Page 42, section 5.2."
-msgstr ""
-
-msgid ""
-"        WARN    PCFileName longer than 8.3 in violation of PPD spec.\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-
-msgid ""
-"        WARN    PCFileName should contain a unique filename.\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-
-msgid ""
-"        WARN    Protocols contains PJL but JCL attributes are not set.\n"
-"                REF: Pages 78-79, section 5.7."
-msgstr ""
-
-msgid ""
-"        WARN    Protocols contains both PJL and BCP; expected TBCP.\n"
-"                REF: Pages 78-79, section 5.7."
-msgstr ""
-
-msgid ""
-"        WARN    ShortNickName required by PPD 4.3 spec.\n"
-"                REF: Pages 64-65, section 5.3."
-msgstr ""
-
-msgid "       cupsaddsmb [options] -a"
-msgstr ""
-
-msgid "       cupstestdsc [options] -"
-msgstr ""
-
-msgid "       program | cupstestppd [options] -"
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  \"%s %s\" conflicts with \"%s %s\"\n"
-"                (constraint=\"%s %s %s %s\")."
-msgstr ""
-
-#, c-format
-msgid "      %s  %s %s does not exist."
-msgstr ""
-
-#, c-format
-msgid "      %s  %s file \"%s\" has the wrong capitalization."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  Bad %s choice %s.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsFilter value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsFilter2 value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsICCProfile %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsPreFilter value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsUIConstraints %s: \"%s\""
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad language \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad permissions on %s file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad spelling of %s - should be %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Cannot provide both APScanAppPath and APScanAppBundleID."
-msgstr ""
-
-#, c-format
-msgid "      %s  Default choices conflicting."
-msgstr ""
-
-#, c-format
-msgid "      %s  Empty cupsUIConstraints %s"
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing \"%s\" translation string for option %s, choice %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing \"%s\" translation string for option %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing %s file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  Missing REQUIRED PageRegion option.\n"
-"                REF: Page 100, section 5.14."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  Missing REQUIRED PageSize option.\n"
-"                REF: Page 99, section 5.14."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\""
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing cupsUIResolver %s"
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing option %s in cupsUIConstraints %s: \"%s\""
-msgstr ""
-
-#, c-format
-msgid "      %s  No base translation \"%s\" is included in file."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  REQUIRED %s does not define choice None.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" defined for %s but not for %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" has unexpected dimensions (%gx%g)."
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" should be \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" should be the Adobe standard name \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  cupsICCProfile %s hash value collides with %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  cupsUIResolver %s causes a loop."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  cupsUIResolver %s does not list at least two different options."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  %s choice names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  %s must be 1284DeviceID\n"
-"                REF: Page 72, section 5.5"
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD Default%s %s\n"
-"                REF: Page 40, section 4.5."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD DefaultImageableArea %s\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD DefaultPaperDimension %s\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD JobPatchFile attribute in file\n"
-"                REF: Page 24, section 3.4."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD Manufacturer (should be \"HP\")\n"
-"                REF: Page 211, table D.1."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD Manufacturer (should be \"Oki\")\n"
-"                REF: Page 211, table D.1."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n"
-"                REF: Pages 59-60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD PSVersion - not \"(string) int\".\n"
-"                REF: Pages 62-64, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD Product - not \"(string)\".\n"
-"                REF: Page 62, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD ShortNickName - longer than 31 chars.\n"
-"                REF: Pages 64-65, section 5.3."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad %s choice %s\n"
-"                REF: Page 84, section 5.9"
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad FileVersion \"%s\"\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad FormatVersion \"%s\"\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Bad LanguageVersion %s - must be English."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Default option code cannot be interpreted: %s"
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Default translation string for option %s choice %s contains "
-"8-bit characters."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Default translation string for option %s contains 8-bit "
-"characters."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Group names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Multiple occurrences of %s choice name %s."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Option names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED Default%s\n"
-"                REF: Page 40, section 4.5."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED DefaultImageableArea\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED DefaultPaperDimension\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED FileVersion\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED FormatVersion\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED ImageableArea for PageSize %s\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED LanguageEncoding\n"
-"                REF: Pages 56-57, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED LanguageVersion\n"
-"                REF: Pages 57-58, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED Manufacturer\n"
-"                REF: Pages 58-59, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED ModelName\n"
-"                REF: Pages 59-60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED NickName\n"
-"                REF: Page 60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PCFileName\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PSVersion\n"
-"                REF: Pages 62-64, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PageRegion\n"
-"                REF: Page 100, section 5.14."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PageSize\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 99, section 5.14."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PageSize\n"
-"                REF: Pages 99-100, section 5.14."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED PaperDimension for PageSize %s\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED Product\n"
-"                REF: Page 62, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED ShortNickName\n"
-"                REF: Page 64-65, section 5.3."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Unable to open PPD file - %s"
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Unable to open PPD file - %s on line %d."
-msgstr ""
-
-#, c-format
-msgid "    %d ERRORS FOUND"
-msgstr ""
-
-msgid "    -h       Show program usage"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Bad %%%%BoundingBox: on line %d.\n"
-"        REF: Page 39, %%%%BoundingBox:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Bad %%%%Page: on line %d.\n"
-"        REF: Page 53, %%%%Page:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Bad %%%%Pages: on line %d.\n"
-"        REF: Page 43, %%%%Pages:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Line %d is longer than 255 characters (%d).\n"
-"        REF: Page 25, Line Length"
-msgstr ""
-
-msgid ""
-"    Missing %!PS-Adobe-3.0 on first line.\n"
-"        REF: Page 17, 3.1 Conforming Documents"
-msgstr ""
-
-#, c-format
-msgid "    Missing %%EndComments comment.        REF: Page 41, %%EndComments"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Missing or bad %%BoundingBox: comment.\n"
-"        REF: Page 39, %%BoundingBox:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Missing or bad %%Page: comments.\n"
-"        REF: Page 53, %%Page:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Missing or bad %%Pages: comment.\n"
-"        REF: Page 43, %%Pages:"
-msgstr ""
-
-msgid "    NO ERRORS FOUND"
-msgstr ""
-
-#, c-format
-msgid "    Saw %d lines that exceeded 255 characters."
-msgstr ""
-
-#, c-format
-msgid "    Too many %%BeginDocument comments."
-msgstr ""
-
-#, c-format
-msgid "    Too many %%EndDocument comments."
-msgstr ""
-
-msgid "    Warning: file contains binary data."
-msgstr ""
-
-#, c-format
-msgid "    Warning: no %%EndComments comment in file."
-msgstr ""
-
-#, c-format
-msgid "    Warning: obsolete DSC version %.1f in file."
-msgstr ""
-
-msgid "  --[no-]debug-logging    Turn debug logging on/off."
-msgstr ""
-
-msgid "  --[no-]remote-admin     Turn remote administration on/off."
-msgstr ""
-
-msgid "  --[no-]remote-any       Allow/prevent access from the Internet."
-msgstr ""
-
-msgid "  --[no-]remote-printers  Show/hide remote printers."
-msgstr ""
-
-msgid "  --[no-]share-printers   Turn printer sharing on/off."
-msgstr ""
-
-msgid "  --[no-]user-cancel-any  Allow/prevent users to cancel any job."
-msgstr ""
-
-msgid "  --cr                    End lines with CR (Mac OS 9)."
-msgstr ""
-
-msgid "  --crlf                  End lines with CR + LF (Windows)."
-msgstr ""
-
-msgid "  --lf                    End lines with LF (UNIX/Linux/Mac OS X)."
-msgstr ""
-
-msgid "  -4                      Connect using IPv4."
-msgstr ""
-
-msgid "  -6                      Connect using IPv6."
-msgstr ""
-
-msgid "  -C                      Send requests using chunking (default)."
-msgstr ""
-
-msgid "  -D                      Remove the input file when finished."
-msgstr ""
-
-msgid "  -D name=value           Set named variable to value."
-msgstr ""
-
-msgid "  -E                      Enable encryption."
-msgstr ""
-
-msgid "  -E                      Encrypt the connection to the server."
-msgstr ""
-
-msgid "  -E                      Test with TLS encryption."
-msgstr ""
-
-msgid ""
-"  -F                      Run in the foreground but detach from console."
-msgstr ""
-
-msgid "  -H samba-server         Use the named SAMBA server."
-msgstr ""
-
-msgid "  -I                      Ignore errors."
-msgstr ""
-
-msgid "  -I include-dir          Add include directory to search path."
-msgstr ""
-
-msgid "  -I {filename,filters,none,profiles}"
-msgstr ""
-
-msgid "  -J title                Set title."
-msgstr ""
-
-msgid "  -L                      Send requests using content-length."
-msgstr ""
-
-msgid "  -P filename.ppd         Set PPD file."
-msgstr ""
-
-msgid "  -R root-directory       Set alternate root."
-msgstr ""
-
-msgid "  -S                      Test with SSL encryption."
-msgstr ""
-
-msgid "  -T                      Set the receive/send timeout in seconds."
-msgstr ""
-
-msgid "  -U samba-user           Authenticate using the named SAMBA user."
-msgstr ""
-
-msgid "  -U username             Set username for job."
-msgstr ""
-
-msgid "  -U username             Specify username."
-msgstr ""
-
-msgid "  -V version              Set default IPP version."
-msgstr ""
-
-msgid ""
-"  -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,"
-"translations}"
-msgstr ""
-
-msgid "  -X                      Produce XML plist instead of plain text."
-msgstr ""
-
-msgid "  -a                      Export all printers."
-msgstr ""
-
-msgid "  -a 'name=value ...'     Set option(s)."
-msgstr ""
-
-msgid "  -c catalog.po           Load the specified message catalog."
-msgstr ""
-
-msgid "  -c config-file          Load alternate configuration file."
-msgstr ""
-
-msgid "  -c copies               Set number of copies."
-msgstr ""
-
-msgid "  -c cupsd.conf           Set cupsd.conf file to use."
-msgstr ""
-
-msgid "  -d name=value           Set named variable to value."
-msgstr ""
-
-msgid "  -d output-dir           Specify the output directory."
-msgstr ""
-
-msgid "  -d printer              Use the named printer."
-msgstr ""
-
-msgid "  -e                      Use every filter from the PPD file."
-msgstr ""
-
-msgid "  -f                      Run in the foreground."
-msgstr ""
-
-msgid "  -f filename             Set default request filename."
-msgstr ""
-
-msgid "  -f filename             Set file to be converted (otherwise stdin)."
-msgstr ""
-
-msgid "  -h                      Show this usage message."
-msgstr ""
-
-msgid "  -h cups-server          Use the named CUPS server."
-msgstr ""
-
-msgid "  -h server[:port]        Specify server address."
-msgstr ""
-
-msgid "  -i mime/type            Set input MIME type (otherwise auto-typed)."
-msgstr ""
-
-msgid ""
-"  -i seconds              Repeat the last file with the given time interval."
-msgstr ""
-
-msgid ""
-"  -j job-id[,N]           Filter file N from the specified job (default is "
-"file 1)."
-msgstr ""
-
-msgid ""
-"  -j mime/type            Set output MIME type (otherwise application/pdf)."
-msgstr ""
-
-msgid "  -l                      Run cupsd from launchd(8)."
-msgstr ""
-
-msgid "  -l lang[,lang,...]      Specify the output language(s) (locale)."
-msgstr ""
-
-msgid "  -m                      Use the ModelName value as the filename."
-msgstr ""
-
-msgid ""
-"  -m mime/type            Set output MIME type (otherwise application/pdf)."
-msgstr ""
-
-msgid "  -n copies               Set number of copies."
-msgstr ""
-
-msgid ""
-"  -n count                Repeat the last file the given number of times."
-msgstr ""
-
-msgid "  -o filename             Set file to be generated (otherwise stdout)."
-msgstr ""
-
-msgid ""
-"  -o filename.drv         Set driver information file (otherwise ppdi.drv)."
-msgstr ""
-
-msgid "  -o filename.ppd[.gz]    Set output file (otherwise stdout)."
-msgstr ""
-
-msgid "  -o name=value           Set option(s)."
-msgstr ""
-
-msgid "  -p filename.ppd         Set PPD file."
-msgstr ""
-
-msgid "  -q                      Be quiet - no output except errors."
-msgstr ""
-
-msgid "  -q                      Run silently."
-msgstr ""
-
-msgid "  -r                      Use 'relaxed' open mode."
-msgstr ""
-
-msgid "  -t                      Produce a test report."
-msgstr ""
-
-msgid "  -t                      Test PPDs instead of generating them."
-msgstr ""
-
-msgid "  -t                      Test the configuration file."
-msgstr ""
-
-msgid "  -t title                Set title."
-msgstr ""
-
-msgid "  -u                      Remove the PPD file when finished."
-msgstr ""
-
-msgid "  -v                      Be slightly verbose."
-msgstr ""
-
-msgid "  -v                      Be verbose (more v's for more verbosity)."
-msgstr ""
-
-msgid "  -v                      Be verbose (show commands)."
-msgstr ""
-
-msgid "  -v                      Show all attributes sent and received."
-msgstr ""
-
-msgid "  -vv                     Be very verbose."
-msgstr ""
-
-msgid "  -z                      Compress PPD files using GNU zip."
-msgstr ""
-
-msgid " FAIL"
-msgstr ""
-
-msgid " PASS"
-msgstr ""
-
-#, c-format
-msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "%.0f x %.0f millimeters"
-msgstr "%.0f x %.0f mm"
-
-#, c-format
-msgid "%.0f x %.0f to %.0f x %.0f millimeters"
-msgstr "%.0f x %.0f til %.0f x %.0f mm"
-
-#, c-format
-msgid "%.2f x %.2f inches"
-msgstr "%.2f x %.2f tommer"
-
-#, c-format
-msgid "%.2f x %.2f to %.2f x %.2f inches"
-msgstr "%.2f x %.2f til %.2f x %.2f tommer"
-
-#, c-format
-msgid "%s accepting requests since %s"
-msgstr ""
-
-#, c-format
-msgid "%s cannot be changed."
-msgstr "%s kan ikke ændres."
-
-#, c-format
-msgid "%s is not implemented by the CUPS version of lpc."
-msgstr ""
-
-#, c-format
-msgid "%s is not ready"
-msgstr ""
-
-#, c-format
-msgid "%s is ready"
-msgstr ""
-
-#, c-format
-msgid "%s is ready and printing"
-msgstr ""
-
-#, c-format
-msgid "%s job-id user title copies options [file]"
-msgstr ""
-
-#, c-format
-msgid "%s not accepting requests since %s -"
-msgstr ""
-
-#, c-format
-msgid "%s not supported."
-msgstr ""
-
-#, c-format
-msgid "%s/%s accepting requests since %s"
-msgstr ""
-
-#, c-format
-msgid "%s/%s not accepting requests since %s -"
-msgstr ""
-
-#, c-format
-msgid "%s: %-33.33s [job %d localhost]"
-msgstr ""
-
-#. TRANSLATORS: Message is "subject: error"
-#, c-format
-msgid "%s: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: %s failed: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Don't know what to do."
-msgstr ""
-
-#, c-format
-msgid ""
-"%s: Error - %s environment variable names non-existent destination \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - bad job ID."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - cannot print files and alter jobs simultaneously."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - cannot print from stdin if files or a job ID are provided."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected character set after \"-S\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected content type after \"-T\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected copies after \"-#\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected copies after \"-n\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected destination after \"-P\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected destination after \"-b\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected destination after \"-d\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected form after \"-f\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected hold name after \"-H\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected hostname after \"-H\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected hostname after \"-h\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected mode list after \"-y\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected name after \"-%c\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected option=value after \"-o\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected page list after \"-P\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected priority after \"-%c\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected reason text after \"-r\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected title after \"-t\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected username after \"-U\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected username after \"-u\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected value after \"-%c\" option."
-msgstr ""
-
-#, c-format
-msgid ""
-"%s: Error - need \"completed\", \"not-completed\", or \"all\" after \"-W\" "
-"option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - no default destination available."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - priority must be between 1 and 100."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - scheduler not responding."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - too many files - \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unable to access \"%s\" - %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unable to queue from stdin - %s."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown destination \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown destination \"%s/%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown option \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Expected job ID after \"-i\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Invalid destination name in list \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Invalid filter string \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Need job ID (\"-i jobid\") before \"-H restart\"."
-msgstr ""
-
-#, c-format
-msgid "%s: No filter to convert from %s/%s to %s/%s."
-msgstr ""
-
-#, c-format
-msgid "%s: Operation failed: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Sorry, no encryption support."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to connect to server."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to contact server."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to determine MIME type of \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to open %s: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to open PPD file: %s on line %d."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown destination \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown destination MIME type %s/%s."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown option \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown source MIME type %s/%s."
-msgstr ""
-
-#, c-format
-msgid ""
-"%s: Warning - \"%c\" format modifier not supported - output may not be "
-"correct."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - character set option ignored."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - content type option ignored."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - form option ignored."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - mode option ignored."
-msgstr ""
-
-msgid "-1"
-msgstr "-1"
-
-msgid "-10"
-msgstr "-10"
-
-msgid "-100"
-msgstr "-100"
-
-msgid "-105"
-msgstr "-105"
-
-msgid "-11"
-msgstr "-11"
-
-msgid "-110"
-msgstr "-110"
-
-msgid "-115"
-msgstr "-115"
-
-msgid "-12"
-msgstr "-12"
-
-msgid "-120"
-msgstr "-120"
-
-msgid "-13"
-msgstr "-13"
-
-msgid "-14"
-msgstr "-14"
-
-msgid "-15"
-msgstr "-15"
-
-msgid "-2"
-msgstr "-2"
-
-msgid "-20"
-msgstr "-20"
-
-msgid "-25"
-msgstr "-25"
-
-msgid "-3"
-msgstr "-3"
-
-msgid "-30"
-msgstr "-30"
-
-msgid "-35"
-msgstr "-35"
-
-msgid "-4"
-msgstr "-4"
-
-msgid "-40"
-msgstr "-40"
-
-msgid "-45"
-msgstr "-45"
-
-msgid "-5"
-msgstr "-5"
-
-msgid "-50"
-msgstr "-50"
-
-msgid "-55"
-msgstr "-55"
-
-msgid "-6"
-msgstr "-6"
-
-msgid "-60"
-msgstr "-60"
-
-msgid "-65"
-msgstr "-65"
-
-msgid "-7"
-msgstr "-7"
-
-msgid "-70"
-msgstr "-70"
-
-msgid "-75"
-msgstr "-75"
-
-msgid "-8"
-msgstr "-8"
-
-msgid "-80"
-msgstr "-80"
-
-msgid "-85"
-msgstr "-85"
-
-msgid "-9"
-msgstr "-9"
-
-msgid "-90"
-msgstr "-90"
-
-msgid "-95"
-msgstr "-95"
-
-msgid "0"
-msgstr "0"
-
-msgid "1"
-msgstr "1"
-
-msgid "1 inch/sec."
-msgstr "1 tomme/sek."
-
-msgid "1.25x0.25\""
-msgstr "1,25 x 0,25\""
-
-msgid "1.25x2.25\""
-msgstr "1,25 x 2,25\""
-
-msgid "1.5 inch/sec."
-msgstr "1,5 tomme/sek."
-
-msgid "1.50x0.25\""
-msgstr "1,50 x 0,25\""
-
-msgid "1.50x0.50\""
-msgstr "1,50 x 0,50\""
-
-msgid "1.50x1.00\""
-msgstr "1,50 x 1,00\""
-
-msgid "1.50x2.00\""
-msgstr "1,50 x 2,00\""
-
-msgid "10"
-msgstr "10"
-
-msgid "10 inches/sec."
-msgstr "10 tommer/sek."
-
-msgid "10 x 11"
-msgstr ""
-
-msgid "10 x 13"
-msgstr ""
-
-msgid "10 x 14"
-msgstr ""
-
-msgid "100"
-msgstr "100"
-
-msgid "100 mm/sec."
-msgstr "100 mm/sek."
-
-msgid "105"
-msgstr "105"
-
-msgid "11"
-msgstr "11"
-
-msgid "11 inches/sec."
-msgstr "11 tommer/sek."
-
-msgid "110"
-msgstr "110"
-
-msgid "115"
-msgstr "115"
-
-msgid "12"
-msgstr "12"
-
-msgid "12 inches/sec."
-msgstr "12 tommer/sek."
-
-msgid "12 x 11"
-msgstr ""
-
-msgid "120"
-msgstr "120"
-
-msgid "120 mm/sec."
-msgstr "120 mm/sek."
-
-msgid "120x60dpi"
-msgstr "120 x 60 dpi"
-
-msgid "120x72dpi"
-msgstr "120 x 72 dpi"
-
-msgid "13"
-msgstr "13"
-
-msgid "136dpi"
-msgstr "136 dpi"
-
-msgid "14"
-msgstr "14"
-
-msgid "15"
-msgstr "15"
-
-msgid "15 mm/sec."
-msgstr "15 mm/sek."
-
-msgid "15 x 11"
-msgstr ""
-
-msgid "150 mm/sec."
-msgstr "150 mm/sek."
-
-msgid "150dpi"
-msgstr "150 dpi"
-
-msgid "16"
-msgstr "16"
-
-msgid "17"
-msgstr "17"
-
-msgid "18"
-msgstr "18"
-
-msgid "180dpi"
-msgstr "180 dpi"
-
-msgid "19"
-msgstr "19"
-
-msgid "2"
-msgstr "2"
-
-msgid "2 inches/sec."
-msgstr "2 tommer/sek."
-
-msgid "2-Sided Printing"
-msgstr "Dobbeltsidet udskrivning"
-
-msgid "2.00x0.37\""
-msgstr "2,00 x 0,37\""
-
-msgid "2.00x0.50\""
-msgstr "2,00 x 0,50\""
-
-msgid "2.00x1.00\""
-msgstr "2,00 x 1,00\""
-
-msgid "2.00x1.25\""
-msgstr "2,00 x 1,25\""
-
-msgid "2.00x2.00\""
-msgstr "2,00 x 2,00\""
-
-msgid "2.00x3.00\""
-msgstr "2,00 x 3,00\""
-
-msgid "2.00x4.00\""
-msgstr "2,00 x 4,00\""
-
-msgid "2.00x5.50\""
-msgstr "2,00 x 5,50\""
-
-msgid "2.25x0.50\""
-msgstr "2,25 x 0,50\""
-
-msgid "2.25x1.25\""
-msgstr "2,25 x 1,25\""
-
-msgid "2.25x4.00\""
-msgstr "2,25 x 4,00\""
-
-msgid "2.25x5.50\""
-msgstr "2,25 x 5,50\""
-
-msgid "2.38x5.50\""
-msgstr "2,38 x 5,50\""
-
-msgid "2.5 inches/sec."
-msgstr "2,5 tommer/sek."
-
-msgid "2.50x1.00\""
-msgstr "2,50 x 1,00\""
-
-msgid "2.50x2.00\""
-msgstr "2,50 x 2,00\""
-
-msgid "2.75x1.25\""
-msgstr "2,75 x 1,25\""
-
-msgid "2.9 x 1\""
-msgstr "2,9 x 1\""
-
-msgid "20"
-msgstr "20"
-
-msgid "20 mm/sec."
-msgstr "20 mm/sek."
-
-msgid "200 mm/sec."
-msgstr "200 mm/sek."
-
-msgid "203dpi"
-msgstr "203 dpi"
-
-msgid "21"
-msgstr "21"
-
-msgid "22"
-msgstr "22"
-
-msgid "23"
-msgstr "23"
-
-msgid "24"
-msgstr "24"
-
-msgid "24-Pin Series"
-msgstr "24-bens serien"
-
-msgid "240x72dpi"
-msgstr "240 x 72 dpi"
-
-msgid "25"
-msgstr "25"
-
-msgid "250 mm/sec."
-msgstr "250 mm/sek."
-
-msgid "26"
-msgstr "26"
-
-msgid "27"
-msgstr "27"
-
-msgid "28"
-msgstr "28"
-
-msgid "29"
-msgstr "29"
-
-msgid "3"
-msgstr "3"
-
-msgid "3 inches/sec."
-msgstr "3 tommer/sek."
-
-msgid "3 x 5"
-msgstr ""
-
-msgid "3.00x1.00\""
-msgstr "3,00 x 1,00\""
-
-msgid "3.00x1.25\""
-msgstr "3,00 x 1,25\""
-
-msgid "3.00x2.00\""
-msgstr "3,00 x 2,00\""
-
-msgid "3.00x3.00\""
-msgstr "3,00 x 3,00\""
-
-msgid "3.00x5.00\""
-msgstr "3,00 x 5,00\""
-
-msgid "3.25x2.00\""
-msgstr "3,25 x 2,00\""
-
-msgid "3.25x5.00\""
-msgstr "3,25 x 5,00\""
-
-msgid "3.25x5.50\""
-msgstr "3,25 x 5,50\""
-
-msgid "3.25x5.83\""
-msgstr "3,25 x 5,83\""
-
-msgid "3.25x7.83\""
-msgstr "3,25 x 7,83\""
-
-msgid "3.5 x 5"
-msgstr ""
-
-msgid "3.5\" Disk"
-msgstr "3,5\" disk"
-
-msgid "3.5\" Disk - 2 1/8 x 2 3/4\""
-msgstr "3,5\" disk - 2 1/8 x 2 3/4\""
-
-msgid "3.50x1.00\""
-msgstr "3,50 x 1,00\""
-
-msgid "30"
-msgstr "30"
-
-msgid "30 mm/sec."
-msgstr "30 mm/sek."
-
-msgid "300 mm/sec."
-msgstr "300 mm/sek."
-
-msgid "300dpi"
-msgstr "300 dpi"
-
-msgid "35"
-msgstr "35"
-
-msgid "360dpi"
-msgstr "360 dpi"
-
-msgid "360x180dpi"
-msgstr "360 x 180 dpi"
-
-msgid "4"
-msgstr "4"
-
-msgid "4 inches/sec."
-msgstr "4 tommer/sek."
-
-msgid "4.00x1.00\""
-msgstr "4,00 x 1,00\""
-
-msgid "4.00x13.00\""
-msgstr "4,00 x 13,00\""
-
-msgid "4.00x2.00\""
-msgstr "4,00 x 2,00\""
-
-msgid "4.00x2.50\""
-msgstr "4,00 x 2,50\""
-
-msgid "4.00x3.00\""
-msgstr "4,00 x 3,00\""
-
-msgid "4.00x4.00\""
-msgstr "4,00 x 4,00\""
-
-msgid "4.00x5.00\""
-msgstr "4,00 x 5,00\""
-
-msgid "4.00x6.00\""
-msgstr "4,00 x 6,00\""
-
-msgid "4.00x6.50\""
-msgstr "4,00 x 6,50\""
-
-msgid "40"
-msgstr "40"
-
-msgid "40 mm/sec."
-msgstr "40 mm/sek."
-
-msgid "45"
-msgstr "45"
-
-msgid "5"
-msgstr "5"
-
-msgid "5 inches/sec."
-msgstr "5 tommer/sek."
-
-msgid "5 x 7"
-msgstr ""
-
-msgid "50"
-msgstr "50"
-
-msgid "55"
-msgstr "55"
-
-msgid "6"
-msgstr "6"
-
-msgid "6 inches/sec."
-msgstr "6 tommer/sek."
-
-msgid "6.00x1.00\""
-msgstr "6,00 x 1,00\""
-
-msgid "6.00x2.00\""
-msgstr "6,00 x 2,00\""
-
-msgid "6.00x3.00\""
-msgstr "6,00 x 3,00\""
-
-msgid "6.00x4.00\""
-msgstr "6,00 x 4,00\""
-
-msgid "6.00x5.00\""
-msgstr "6,00 x 5,00\""
-
-msgid "6.00x6.00\""
-msgstr "6,00 x 6,00\""
-
-msgid "6.00x6.50\""
-msgstr "6,00 x 6,50\""
-
-msgid "60"
-msgstr "60"
-
-msgid "60 mm/sec."
-msgstr "60 mm/sek."
-
-msgid "600dpi"
-msgstr "600 dpi"
-
-msgid "60dpi"
-msgstr "60 dpi"
-
-msgid "60x72dpi"
-msgstr ""
-
-msgid "65"
-msgstr "65"
-
-msgid "7"
-msgstr "7"
-
-msgid "7 inches/sec."
-msgstr "7 tommer/sek."
-
-msgid "7 x 9"
-msgstr ""
-
-msgid "70"
-msgstr "70"
-
-msgid "720dpi"
-msgstr "720 dpi"
-
-msgid "75"
-msgstr "75"
-
-msgid "8"
-msgstr "8"
-
-msgid "8 inches/sec."
-msgstr "8 tommer/sek."
-
-msgid "8 x 10"
-msgstr ""
-
-msgid "8.00x1.00\""
-msgstr "8,00 x 1,00\""
-
-msgid "8.00x2.00\""
-msgstr "8,00 x 2,00\""
-
-msgid "8.00x3.00\""
-msgstr "8,00 x 3,00\""
-
-msgid "8.00x4.00\""
-msgstr "8,00 x 4,00\""
-
-msgid "8.00x5.00\""
-msgstr "8,00 x 5,00\""
-
-msgid "8.00x6.00\""
-msgstr "8,00 x 6,00\""
-
-msgid "8.00x6.50\""
-msgstr "8,00 x 6,50\""
-
-msgid "80"
-msgstr "80"
-
-msgid "80 mm/sec."
-msgstr "80 mm/sek."
-
-msgid "85"
-msgstr "85"
-
-msgid "9"
-msgstr "9"
-
-msgid "9 inches/sec."
-msgstr "9 tommer/sek."
-
-msgid "9 x 11"
-msgstr ""
-
-msgid "9 x 12"
-msgstr ""
-
-msgid "9-Pin Series"
-msgstr "9-bens serien"
-
-msgid "90"
-msgstr "90"
-
-msgid "95"
-msgstr "95"
-
-msgid "?Invalid help command unknown."
-msgstr ""
-
-msgid "A Samba password is required to export printer drivers"
-msgstr ""
-
-msgid "A Samba username is required to export printer drivers"
-msgstr ""
-
-#, c-format
-msgid "A class named \"%s\" already exists."
-msgstr ""
-
-#, c-format
-msgid "A printer named \"%s\" already exists."
-msgstr ""
-
-msgid "A0"
-msgstr "A0"
-
-msgid "A0 Long Edge"
-msgstr ""
-
-msgid "A1"
-msgstr "A1"
-
-msgid "A1 Long Edge"
-msgstr ""
-
-msgid "A10"
-msgstr "A10"
-
-msgid "A2"
-msgstr "A2"
-
-msgid "A2 Long Edge"
-msgstr ""
-
-msgid "A3"
-msgstr "A3"
-
-msgid "A3 Long Edge"
-msgstr ""
-
-msgid "A3 Oversize"
-msgstr ""
-
-msgid "A3 Oversize Long Edge"
-msgstr ""
-
-msgid "A4"
-msgstr "A4"
-
-msgid "A4 Long Edge"
-msgstr ""
-
-msgid "A4 Oversize"
-msgstr ""
-
-msgid "A4 Small"
-msgstr ""
-
-msgid "A5"
-msgstr "A5"
-
-msgid "A5 Long Edge"
-msgstr ""
-
-msgid "A5 Oversize"
-msgstr ""
-
-msgid "A6"
-msgstr "A6"
-
-msgid "A6 Long Edge"
-msgstr ""
-
-msgid "A7"
-msgstr "A7"
-
-msgid "A8"
-msgstr "A8"
-
-msgid "A9"
-msgstr "A9"
-
-msgid "ANSI A"
-msgstr "ANSI A"
-
-msgid "ANSI B"
-msgstr "ANSI B"
-
-msgid "ANSI C"
-msgstr "ANSI C"
-
-msgid "ANSI D"
-msgstr "ANSI D"
-
-msgid "ANSI E"
-msgstr "ANSI E"
-
-msgid "ARCH C"
-msgstr "ARCH C"
-
-msgid "ARCH C Long Edge"
-msgstr ""
-
-msgid "ARCH D"
-msgstr "ARCH D"
-
-msgid "ARCH D Long Edge"
-msgstr ""
-
-msgid "ARCH E"
-msgstr "ARCH E"
-
-msgid "ARCH E Long Edge"
-msgstr ""
-
-msgid "Accept Jobs"
-msgstr "Accepter job"
-
-msgid "Accepted"
-msgstr "Accepteret"
-
-msgid "Add Class"
-msgstr "Tilføj klasse"
-
-msgid "Add Printer"
-msgstr "Tilføj printer"
-
-msgid "Add RSS Subscription"
-msgstr "Tilføj RSS-abonnement"
-
-msgid "Address"
-msgstr "Adresse"
-
-msgid "Address - 1 1/8 x 3 1/2\""
-msgstr "Adresse - 1 1/8 x 3 1/2\""
-
-msgid "Administration"
-msgstr "Administration"
-
-msgid "Always"
-msgstr "Altid"
-
-msgid "AppSocket/HP JetDirect"
-msgstr "AppSocket/HP JetDirect"
-
-msgid "Applicator"
-msgstr "Bruger"
-
-#, c-format
-msgid "Attempt to set %s printer-state to bad value %d."
-msgstr ""
-
-#, c-format
-msgid "Attribute groups are out of order (%x < %x)."
-msgstr ""
-
-msgid "B0"
-msgstr "B0"
-
-msgid "B1"
-msgstr "B1"
-
-msgid "B10"
-msgstr "B10"
-
-msgid "B2"
-msgstr "B2"
-
-msgid "B3"
-msgstr "B3"
-
-msgid "B4"
-msgstr "B4"
-
-msgid "B5"
-msgstr "B5"
-
-msgid "B5 Oversize"
-msgstr ""
-
-msgid "B6"
-msgstr "B6"
-
-msgid "B7"
-msgstr "B7"
-
-msgid "B8"
-msgstr "B8"
-
-msgid "B9"
-msgstr "B9"
-
-msgid "Bad NULL dests pointer"
-msgstr "Ugyldig NULL dests-markør"
-
-msgid "Bad OpenGroup"
-msgstr "Ugyldig OpenGroup"
-
-msgid "Bad OpenUI/JCLOpenUI"
-msgstr "Ugyldig OpenUI/JCLOpenUI"
-
-msgid "Bad OrderDependency"
-msgstr "Ugyldig OrderDependency"
-
-msgid "Bad PPD cache file."
-msgstr ""
-
-msgid "Bad Request"
-msgstr "Ugyldig anmodning"
-
-msgid "Bad SNMP version number"
-msgstr "Ugyldigt versionsnummer på SNMP"
-
-msgid "Bad UIConstraints"
-msgstr "Ugyldig UIConstraints"
-
-#, c-format
-msgid "Bad charset file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad charset type: %s"
-msgstr ""
-
-#, c-format
-msgid "Bad columns value %d."
-msgstr ""
-
-#, c-format
-msgid "Bad copies value %d."
-msgstr "Ugyldig værdi for kopier %d."
-
-#, c-format
-msgid "Bad cpi value %f."
-msgstr ""
-
-msgid "Bad custom parameter"
-msgstr "Ugylidig speciel parameter"
-
-#, c-format
-msgid "Bad device-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad device-uri scheme \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad document-format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad document-format-default \"%s\"."
-msgstr ""
-
-msgid "Bad filename buffer"
-msgstr ""
-
-#, c-format
-msgid "Bad font description line \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad font description line: %s"
-msgstr ""
-
-msgid "Bad job-priority value."
-msgstr ""
-
-#, c-format
-msgid "Bad job-sheets value \"%s\"."
-msgstr ""
-
-msgid "Bad job-sheets value type."
-msgstr ""
-
-msgid "Bad job-state value."
-msgstr ""
-
-#, c-format
-msgid "Bad job-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad lpi value %f."
-msgstr ""
-
-#, c-format
-msgid "Bad notify-pull-method \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad notify-recipient-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad number-up value %d."
-msgstr "Ugyldig værdi for number-up %d."
-
-#, c-format
-msgid "Bad option + choice on line %d."
-msgstr ""
-
-#, c-format
-msgid "Bad page-ranges values %d-%d."
-msgstr "Ugyldige værdier for page-ranges %d-%d."
-
-#, c-format
-msgid "Bad port-monitor \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad printer-state value %d."
-msgstr ""
-
-#, c-format
-msgid "Bad request ID %d."
-msgstr ""
-
-#, c-format
-msgid "Bad request version number %d.%d."
-msgstr ""
-
-msgid "Bad subscription ID"
-msgstr ""
-
-#, c-format
-msgid "Bad text direction \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad text direction: %s"
-msgstr ""
-
-#, c-format
-msgid "Bad text width \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad text width: %s"
-msgstr ""
-
-msgid "Bad value string"
-msgstr ""
-
-msgid "Banners"
-msgstr "Bannere"
-
-msgid "Billing Information: "
-msgstr "Faktureringsoplysninger: "
-
-msgid "Bond Paper"
-msgstr "Bond-papir"
-
-#, c-format
-msgid "Boolean expected for waiteof option \"%s\"."
-msgstr ""
-
-msgid "Buffer overflow detected, aborting."
-msgstr ""
-
-msgid "CMYK"
-msgstr "CMYK"
-
-msgid "CPCL Label Printer"
-msgstr "CPCL-etiketprinter"
-
-msgid "Cancel RSS Subscription"
-msgstr "Annuller RSS-abonnement"
-
-msgid "Canceling print job."
-msgstr ""
-
-msgid "Cannot share a remote Kerberized printer."
-msgstr ""
-
-msgid "Cassette"
-msgstr ""
-
-msgid "Change Settings"
-msgstr "Skift indstillinger"
-
-#, c-format
-msgid "Character set \"%s\" not supported."
-msgstr ""
-
-msgid "Classes"
-msgstr "Klasser"
-
-msgid "Clean Print Heads"
-msgstr "Rengør skrivehoveder"
-
-msgid "Close-Job doesn't support the job-uri attribute."
-msgstr ""
-
-msgid "Color"
-msgstr "Farve"
-
-msgid "Color Mode"
-msgstr "Farvefunktion"
-
-msgid ""
-"Commands may be abbreviated.  Commands are:\n"
-"\n"
-"exit    help    quit    status  ?"
-msgstr ""
-
-msgid "Community name uses indefinite length"
-msgstr "Fællesnavn bruger uendelig længde"
-
-msgid "Connected to printer."
-msgstr ""
-
-msgid "Connecting to printer."
-msgstr ""
-
-msgid "Continue"
-msgstr "Fortsæt"
-
-msgid "Continuous"
-msgstr "Fortsat"
-
-msgid "Control file sent successfully."
-msgstr ""
-
-msgid "Copying print data."
-msgstr ""
-
-msgid "Created"
-msgstr "Oprettet"
-
-msgid "Created On: "
-msgstr "Oprettet den: "
-
-msgid "Custom"
-msgstr "Speciel"
-
-msgid "CustominCutInterval"
-msgstr "CustominCutInterval"
-
-msgid "CustominTearInterval"
-msgstr "CustominTearInterval"
-
-msgid "Cut"
-msgstr "Klip"
-
-msgid "Cutter"
-msgstr "Klipper"
-
-msgid "Dark"
-msgstr "Mørk"
-
-msgid "Darkness"
-msgstr "Mørke"
-
-msgid "Data file sent successfully."
-msgstr ""
-
-msgid "Delete Class"
-msgstr "Slet klasse"
-
-msgid "Delete Printer"
-msgstr "Slet printer"
-
-msgid "Description: "
-msgstr "Beskrivelse: "
-
-msgid "DeskJet Series"
-msgstr "DeskJet-serie"
-
-#, c-format
-msgid "Destination \"%s\" is not accepting jobs."
-msgstr "Destinationen \"%s\" accepterer ikke job."
-
-#, c-format
-msgid ""
-"Device: uri = %s\n"
-"        class = %s\n"
-"        info = %s\n"
-"        make-and-model = %s\n"
-"        device-id = %s\n"
-"        location = %s"
-msgstr ""
-
-msgid "Direct Thermal Media"
-msgstr "Direkte termisk medie"
-
-#, c-format
-msgid "Directory \"%s\" contains a relative path."
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" is a file."
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" not available: %s"
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-msgid "Disabled"
-msgstr "Slået fra"
-
-#, c-format
-msgid "Document #%d does not exist in job #%d."
-msgstr ""
-
-msgid "Driver Name: "
-msgstr "Navn på printerarkiv: "
-
-msgid "Driver Version: "
-msgstr "Version på printerarkiv: "
-
-msgid "Duplexer"
-msgstr "Dupleksenhed"
-
-msgid "Dymo"
-msgstr "Dymo"
-
-msgid "EPL1 Label Printer"
-msgstr "EPL1-etiketprinter"
-
-msgid "EPL2 Label Printer"
-msgstr "EPL2-etiketprinter"
-
-msgid "Edit Configuration File"
-msgstr "Rediger konfigurationsarkiv"
-
-msgid "Empty PPD file."
-msgstr ""
-
-#. TRANSLATORS: Banner/cover sheet after the print job.
-msgid "Ending Banner"
-msgstr "Slutbanner"
-
-msgid "English"
-msgstr "Danish"
-
-msgid "Enter old password:"
-msgstr "Skriv gammel adgangskode:"
-
-msgid "Enter password again:"
-msgstr "Skriv adgangskode igen:"
-
-msgid "Enter password:"
-msgstr "Skriv adgangskode:"
-
-msgid ""
-"Enter your username and password or the root username and password to access "
-"this page. If you are using Kerberos authentication, make sure you have a "
-"valid Kerberos ticket."
-msgstr ""
-"Skriv dit brugernavn og din adgangskode eller root-brugernavnet og -"
-"adgangskoden for at få adgang til denne side. Hvis du bruger Kerberos-"
-"godkendelse, skal du sikre dig, at du har en gyldig Kerberos-billet."
-
-msgid "Envelope #10 "
-msgstr ""
-
-msgid "Envelope #11"
-msgstr ""
-
-msgid "Envelope #12"
-msgstr ""
-
-msgid "Envelope #14"
-msgstr ""
-
-msgid "Envelope #9"
-msgstr ""
-
-msgid "Envelope B4"
-msgstr ""
-
-msgid "Envelope B5"
-msgstr ""
-
-msgid "Envelope B6"
-msgstr ""
-
-msgid "Envelope C0"
-msgstr ""
-
-msgid "Envelope C1"
-msgstr ""
-
-msgid "Envelope C2"
-msgstr ""
-
-msgid "Envelope C3"
-msgstr ""
-
-msgid "Envelope C4"
-msgstr ""
-
-msgid "Envelope C5"
-msgstr ""
-
-msgid "Envelope C6"
-msgstr ""
-
-msgid "Envelope C65"
-msgstr ""
-
-msgid "Envelope C7"
-msgstr ""
-
-msgid "Envelope Choukei 3"
-msgstr ""
-
-msgid "Envelope Choukei 3 Long Edge"
-msgstr ""
-
-msgid "Envelope Choukei 4"
-msgstr ""
-
-msgid "Envelope Choukei 4 Long Edge"
-msgstr ""
-
-msgid "Envelope DL"
-msgstr ""
-
-msgid "Envelope Feed"
-msgstr "Ilægning af kuvert"
-
-msgid "Envelope Invite"
-msgstr ""
-
-msgid "Envelope Italian"
-msgstr ""
-
-msgid "Envelope Kaku2"
-msgstr ""
-
-msgid "Envelope Kaku2 Long Edge"
-msgstr ""
-
-msgid "Envelope Kaku3"
-msgstr ""
-
-msgid "Envelope Kaku3 Long Edge"
-msgstr ""
-
-msgid "Envelope Monarch"
-msgstr ""
-
-msgid "Envelope PRC1 "
-msgstr ""
-
-msgid "Envelope PRC1 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC10"
-msgstr ""
-
-msgid "Envelope PRC10 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC2"
-msgstr ""
-
-msgid "Envelope PRC2 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC3"
-msgstr ""
-
-msgid "Envelope PRC3 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC4"
-msgstr ""
-
-msgid "Envelope PRC4 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC5 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC5PRC5"
-msgstr ""
-
-msgid "Envelope PRC6"
-msgstr ""
-
-msgid "Envelope PRC6 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC7"
-msgstr ""
-
-msgid "Envelope PRC7 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC8"
-msgstr ""
-
-msgid "Envelope PRC8 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC9"
-msgstr ""
-
-msgid "Envelope PRC9 Long Edge"
-msgstr ""
-
-msgid "Envelope Personal"
-msgstr ""
-
-msgid "Envelope You4"
-msgstr ""
-
-msgid "Envelope You4 Long Edge"
-msgstr ""
-
-msgid "Epson"
-msgstr "Epson"
-
-msgid "Error Policy"
-msgstr "Fejlpolitik"
-
-msgid "Error sending raster data."
-msgstr ""
-
-msgid "Error: need hostname after \"-h\" option."
-msgstr ""
-
-msgid "Every 10 Labels"
-msgstr "Hver 10. etiket"
-
-msgid "Every 2 Labels"
-msgstr "Hver 2. etiket"
-
-msgid "Every 3 Labels"
-msgstr "Hver 3. etiket"
-
-msgid "Every 4 Labels"
-msgstr "Hver 4. etiket"
-
-msgid "Every 5 Labels"
-msgstr "Hver 5. etiket"
-
-msgid "Every 6 Labels"
-msgstr "Hver 6. etiket"
-
-msgid "Every 7 Labels"
-msgstr "Hver 7. etiket"
-
-msgid "Every 8 Labels"
-msgstr "Hver 8. etiket"
-
-msgid "Every 9 Labels"
-msgstr "Hver 9. etiket"
-
-msgid "Every Label"
-msgstr "Alle etiketter"
-
-msgid "Executive"
-msgstr ""
-
-msgid "Expectation Failed"
-msgstr "Forventning mislykkedes"
-
-msgid "Export Printers to Samba"
-msgstr "Eksporter printere til Samba"
-
-msgid "FAIL"
-msgstr ""
-
-msgid "FanFold German"
-msgstr ""
-
-msgid "FanFold Legal German"
-msgstr ""
-
-msgid "Fanfold US"
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" contains a relative path."
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" is a directory."
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" not available: %s"
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-msgid "File Folder"
-msgstr "Arkivmappe"
-
-msgid "File Folder - 9/16 x 3 7/16\""
-msgstr "Arkivmappe - 9/16 x 3 7/16\""
-
-#, c-format
-msgid ""
-"File device URIs have been disabled. To enable, see the FileDevice directive "
-"in \"%s/cupsd.conf\"."
-msgstr ""
-
-#, c-format
-msgid "Finished page %d."
-msgstr ""
-
-msgid "Folio"
-msgstr "8,5 x 13\""
-
-msgid "Forbidden"
-msgstr "Forbudt"
-
-#, c-format
-msgid "Formatting page %d."
-msgstr ""
-
-msgid "General"
-msgstr "Generelt"
-
-msgid "Generic"
-msgstr "Generel"
-
-msgid "Get-Response-PDU uses indefinite length"
-msgstr "Get-Response-PDU bruger uendelig længde"
-
-msgid "Glossy Paper"
-msgstr "Glittet papir"
-
-msgid "Got a printer-uri attribute but no job-id."
-msgstr ""
-
-msgid "Grayscale"
-msgstr "Gråtoner"
-
-msgid "HP"
-msgstr "HP"
-
-msgid "Hanging Folder"
-msgstr "Hængende mappe"
-
-msgid "Hanging Folder - 9/16 x 2\""
-msgstr "Hængende mappe - 9/16 x 2\""
-
-msgid "IPP 1setOf attribute with incompatible value tags."
-msgstr ""
-
-msgid "IPP attribute has no name."
-msgstr ""
-
-msgid "IPP begCollection value not 0 bytes."
-msgstr ""
-
-msgid "IPP boolean value not 1 byte."
-msgstr ""
-
-msgid "IPP date value not 11 bytes."
-msgstr ""
-
-msgid "IPP endCollection value not 0 bytes."
-msgstr ""
-
-msgid "IPP enum value not 4 bytes."
-msgstr ""
-
-msgid "IPP integer value not 4 bytes."
-msgstr ""
-
-msgid "IPP language length overflows value."
-msgstr ""
-
-msgid "IPP member name is not empty."
-msgstr ""
-
-msgid "IPP name larger than 32767 bytes."
-msgstr ""
-
-msgid "IPP nameWithLanguage value less than minimum 4 bytes."
-msgstr ""
-
-msgid "IPP rangeOfInteger value not 8 bytes."
-msgstr ""
-
-msgid "IPP resolution value not 9 bytes."
-msgstr ""
-
-msgid "IPP string length overflows value."
-msgstr ""
-
-msgid "IPP textWithLanguage value less than minimum 4 bytes."
-msgstr ""
-
-msgid "IPP value larger than 32767 bytes."
-msgstr ""
-
-msgid "ISOLatin1"
-msgstr "UTF-8"
-
-msgid "Illegal control character"
-msgstr "Ulovligt kontroltegn"
-
-msgid "Illegal main keyword string"
-msgstr "Ulovlig streng til hovednøgleord"
-
-msgid "Illegal option keyword string"
-msgstr "Ulovlig nøgleordsstreng til indstilling"
-
-msgid "Illegal translation string"
-msgstr "Ulovlig oversættelsesstreng"
-
-msgid "Illegal whitespace character"
-msgstr "Ulovlig tegn for tom plads"
-
-msgid "Installable Options"
-msgstr "Ekstraudstyr"
-
-msgid "Installed"
-msgstr "Installeret"
-
-msgid "IntelliBar Label Printer"
-msgstr "IntelliBar-etiketprinter"
-
-msgid "Intellitech"
-msgstr "Intellitech"
-
-msgid "Internal Server Error"
-msgstr ""
-
-msgid "Internal error"
-msgstr "Intern fejl"
-
-msgid "Internet Postage 2-Part"
-msgstr "Internet-porto 2-Part"
-
-msgid "Internet Postage 2-Part - 2 1/4 x 7 1/2\""
-msgstr "Internet-porto 2-Part - 2 1/4 x 7 1/2\""
-
-msgid "Internet Postage 3-Part"
-msgstr "Internet-porto 3-Part"
-
-msgid "Internet Postage 3-Part - 2 1/4 x 7\""
-msgstr "Internet-porto 3-Part - 2 1/4 x 7\""
-
-msgid "Internet Printing Protocol"
-msgstr "Internet Printing Protocol"
-
-#, c-format
-msgid "Invalid printer command \"%s\"."
-msgstr ""
-
-msgid "JCL"
-msgstr "JCL"
-
-msgid "JIS B0"
-msgstr ""
-
-msgid "JIS B1"
-msgstr ""
-
-msgid "JIS B10"
-msgstr ""
-
-msgid "JIS B2"
-msgstr ""
-
-msgid "JIS B3"
-msgstr ""
-
-msgid "JIS B4"
-msgstr ""
-
-msgid "JIS B4 Long Edge"
-msgstr ""
-
-msgid "JIS B5"
-msgstr ""
-
-msgid "JIS B5 Long Edge"
-msgstr ""
-
-msgid "JIS B6"
-msgstr ""
-
-msgid "JIS B6 Long Edge"
-msgstr ""
-
-msgid "JIS B7"
-msgstr ""
-
-msgid "JIS B8"
-msgstr ""
-
-msgid "JIS B9"
-msgstr ""
-
-#, c-format
-msgid "Job #%d cannot be restarted - no files."
-msgstr ""
-
-#, c-format
-msgid "Job #%d does not exist."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is already aborted - can't cancel."
-msgstr "Job #%d er allerede afbrudt - kan ikke annullere."
-
-#, c-format
-msgid "Job #%d is already canceled - can't cancel."
-msgstr "Job #%d er allerede annulleret - kan ikke annullere."
-
-#, c-format
-msgid "Job #%d is already completed - can't cancel."
-msgstr "Job #%d er allerede færdigt - kan ikke annullere."
-
-#, c-format
-msgid "Job #%d is finished and cannot be altered."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is not complete."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is not held for authentication."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is not held."
-msgstr ""
-
-msgid "Job Completed"
-msgstr "Job færdigt"
-
-msgid "Job Created"
-msgstr "Job oprettet"
-
-msgid "Job ID: "
-msgstr "Job-id: "
-
-msgid "Job Options Changed"
-msgstr "Jobindstillinger ændret"
-
-msgid "Job Stopped"
-msgstr "Job stoppet"
-
-msgid "Job UUID: "
-msgstr "Job-uuid: "
-
-msgid "Job is completed and cannot be changed."
-msgstr "Job er færdigt og kan ikke ændres."
-
-msgid "Job operation failed:"
-msgstr "Jobhandling mislykkedes:"
-
-msgid "Job state cannot be changed."
-msgstr "Jobstatus kan ikke ændres."
-
-msgid "Job subscriptions cannot be renewed."
-msgstr ""
-
-msgid "Jobs"
-msgstr "Job"
-
-msgid "LPD/LPR Host or Printer"
-msgstr "LPD/LPR-vært eller -printer"
-
-msgid "Label Printer"
-msgstr "Etiketprinter"
-
-msgid "Label Top"
-msgstr "Top af etiket"
-
-#, c-format
-msgid "Language \"%s\" not supported."
-msgstr ""
-
-msgid "Large Address"
-msgstr "Stor adresse"
-
-msgid "Large Address - 1 4/10 x 3 1/2\""
-msgstr "Stor adresse - 1 4/10 x 3 1/2\""
-
-msgid "LaserJet Series PCL 4/5"
-msgstr "LaserJet Series PCL 4/5"
-
-msgid "Letter Oversize"
-msgstr ""
-
-msgid "Letter Oversize Long Edge"
-msgstr ""
-
-msgid "Light"
-msgstr "Lys"
-
-msgid "Line longer than the maximum allowed (255 characters)"
-msgstr "Linje længere end det maksimalt tilladte (255 tegn)"
-
-msgid "List Available Printers"
-msgstr "Vis tilgængelige printere"
-
-msgid "Loading print file."
-msgstr ""
-
-msgid "Location: "
-msgstr "Placering: "
-
-msgid "Long-Edge (Portrait)"
-msgstr "Lang kant (stående)"
-
-msgid "Looking for printer."
-msgstr ""
-
-msgid "Make and Model: "
-msgstr "Mærke og model: "
-
-msgid "Manual Feed"
-msgstr "Manuel ilægning"
-
-msgid "Media Dimensions: "
-msgstr "Mediestørrelser: "
-
-msgid "Media Limits: "
-msgstr "Mediebegrænsninger: "
-
-msgid "Media Name: "
-msgstr "Medienavn: "
-
-msgid "Media Size"
-msgstr "Mediestørrelse"
-
-msgid "Media Source"
-msgstr "Mediekilde"
-
-msgid "Media Tracking"
-msgstr "Mediesporing"
-
-msgid "Media Type"
-msgstr "Medietype"
-
-msgid "Medium"
-msgstr "Medium"
-
-msgid "Memory allocation error"
-msgstr "Fejl i hukommelsestildeling"
-
-msgid "Missing CloseGroup"
-msgstr ""
-
-msgid "Missing PPD-Adobe-4.x header"
-msgstr "Manglende PPD-Adobe-4.x header"
-
-msgid "Missing asterisk in column 1"
-msgstr "Manglende stjerne i kolonne 1"
-
-msgid "Missing document-number attribute."
-msgstr ""
-
-#, c-format
-msgid "Missing double quote on line %d."
-msgstr ""
-
-msgid "Missing form variable"
-msgstr ""
-
-msgid "Missing last-document attribute in request."
-msgstr ""
-
-msgid "Missing media or media-col."
-msgstr ""
-
-msgid "Missing media-size in media-col."
-msgstr ""
-
-msgid "Missing notify-subscription-ids attribute."
-msgstr ""
-
-msgid "Missing option keyword"
-msgstr ""
-
-msgid "Missing requesting-user-name attribute."
-msgstr ""
-
-msgid "Missing required attributes."
-msgstr ""
-
-#, c-format
-msgid "Missing value on line %d of banner file."
-msgstr ""
-
-#, c-format
-msgid "Missing value on line %d."
-msgstr ""
-
-msgid "Missing value string"
-msgstr "Manglende værdistreng"
-
-msgid "Missing x-dimension in media-size."
-msgstr ""
-
-msgid "Missing y-dimension in media-size."
-msgstr ""
-
-#, c-format
-msgid ""
-"Model:  name = %s\n"
-"        natural_language = %s\n"
-"        make-and-model = %s\n"
-"        device-id = %s"
-msgstr ""
-
-msgid "Modify Class"
-msgstr "Rediger klasse"
-
-msgid "Modify Printer"
-msgstr "Rediger printer"
-
-msgid "Move All Jobs"
-msgstr "Flyt alle job"
-
-msgid "Move Job"
-msgstr "Flyt job"
-
-msgid "Moved Permanently"
-msgstr "Flyttet permanent"
-
-msgid "NULL PPD file pointer"
-msgstr "NULL PPD-arkivmarkør"
-
-msgid "Name OID uses indefinite length"
-msgstr "Navn-oid bruger uendelig længde"
-
-msgid "Nested classes are not allowed."
-msgstr ""
-
-msgid "Never"
-msgstr "Aldrig"
-
-msgid "New Stylus Color Series"
-msgstr "Ny Stylus Color Series"
-
-msgid "New Stylus Photo Series"
-msgstr "Ny Stylus Photo Series"
-
-msgid "No"
-msgstr "Nej"
-
-msgid "No Content"
-msgstr "Intet indhold"
-
-msgid "No PPD name"
-msgstr ""
-
-msgid "No VarBind SEQUENCE"
-msgstr "Ingen VarBind SEQUENCE"
-
-msgid "No Windows printer drivers are installed."
-msgstr ""
-
-msgid "No active connection"
-msgstr "Ingen aktiv forbindelse"
-
-#, c-format
-msgid "No active jobs on %s."
-msgstr ""
-
-msgid "No attributes in request."
-msgstr ""
-
-msgid "No authentication information provided."
-msgstr ""
-
-msgid "No community name"
-msgstr "Intet fællesskabsnavn"
-
-msgid "No default printer."
-msgstr ""
-
-msgid "No destinations added."
-msgstr "Ingen destinationer tilføjet."
-
-msgid "No device URI found in argv[0] or in DEVICE_URI environment variable."
-msgstr ""
-
-msgid "No error-index"
-msgstr "Intet error-index"
-
-msgid "No error-status"
-msgstr "Ingen error-status"
-
-msgid "No file in print request."
-msgstr ""
-
-msgid "No fonts in charset file."
-msgstr ""
-
-msgid "No modification time"
-msgstr ""
-
-msgid "No name OID"
-msgstr "Ingen navn-oid"
-
-msgid "No pages were found."
-msgstr ""
-
-msgid "No printer name"
-msgstr ""
-
-msgid "No printer-uri found"
-msgstr ""
-
-msgid "No printer-uri found for class"
-msgstr ""
-
-msgid "No printer-uri in request."
-msgstr ""
-
-msgid "No request-id"
-msgstr "Ingen request-id"
-
-msgid "No subscription attributes in request."
-msgstr ""
-
-msgid "No subscriptions found."
-msgstr "Ingen abonnementer fundet."
-
-msgid "No variable-bindings SEQUENCE"
-msgstr "Ingen variable-bindings SEQUENCE"
-
-msgid "No version number"
-msgstr "Intet versionsnummer"
-
-msgid "Non-continuous (Mark sensing)"
-msgstr "Ikke fortsat (mærkefølsom)"
-
-msgid "Non-continuous (Web sensing)"
-msgstr "Ikke fortsat (webfølsom)"
-
-msgid "Normal"
-msgstr "Normal"
-
-msgid "Not Found"
-msgstr "Ikke fundet"
-
-msgid "Not Implemented"
-msgstr "Ikke implementeret"
-
-msgid "Not Installed"
-msgstr "Ikke installeret"
-
-msgid "Not Modified"
-msgstr "Ikke ændret"
-
-msgid "Not Supported"
-msgstr "Ikke understøttet"
-
-msgid "Not allowed to print."
-msgstr "Må ikke udskrive."
-
-msgid "Note"
-msgstr "Bemærk"
-
-msgid ""
-"Note: this program only validates the DSC comments, not the PostScript "
-"itself."
-msgstr ""
-
-msgid "OK"
-msgstr "OK"
-
-msgid "Off (1-Sided)"
-msgstr "Fra (ensidet)"
-
-msgid "Oki"
-msgstr "Oki"
-
-msgid "Online Help"
-msgstr "Hjælp på skærmen"
-
-#, c-format
-msgid "Open of %s failed: %s"
-msgstr "åbning af %s mislykkedes: %s"
-
-msgid "OpenGroup without a CloseGroup first"
-msgstr "OpenGroup uden en CloseGroup først"
-
-msgid "OpenUI/JCLOpenUI without a CloseUI/JCLCloseUI first"
-msgstr "OpenUI/JCLOpenUI uden en CloseUI/JCLCloseUI først"
-
-msgid "Operation Policy"
-msgstr "Driftspolitik"
-
-#, c-format
-msgid "Option \"%s\" cannot be included via %%%%IncludeFeature."
-msgstr ""
-
-msgid "Options Installed"
-msgstr "Ekstraudstyr installeret"
-
-msgid "Options:"
-msgstr ""
-
-msgid "Options: "
-msgstr "Ekstraudstyr: "
-
-msgid "Out of date PPD cache file."
-msgstr ""
-
-msgid "Out of memory."
-msgstr ""
-
-msgid "Output Mode"
-msgstr "Udskriftsfunktion"
-
-#, c-format
-msgid "Output for printer %s is sent to %s"
-msgstr ""
-
-#, c-format
-msgid "Output for printer %s is sent to remote printer %s on %s"
-msgstr ""
-
-#, c-format
-msgid "Output for printer %s/%s is sent to %s"
-msgstr ""
-
-#, c-format
-msgid "Output for printer %s/%s is sent to remote printer %s on %s"
-msgstr ""
-
-msgid "PASS"
-msgstr ""
-
-msgid "PCL Laser Printer"
-msgstr "PCL-laserprinter"
-
-msgid "PRC16K"
-msgstr "PRC16K"
-
-msgid "PRC16K Long Edge"
-msgstr ""
-
-msgid "PRC32K"
-msgstr "PRC32K"
-
-msgid "PRC32K Long Edge"
-msgstr ""
-
-msgid "PRC32K Oversize"
-msgstr ""
-
-msgid "PRC32K Oversize Long Edge"
-msgstr ""
-
-msgid "Packet does not contain a Get-Response-PDU"
-msgstr "Pakke indeholder ikke en Get-Response-PDU"
-
-msgid "Packet does not start with SEQUENCE"
-msgstr "Pakke starter ikke med SEQUENCE"
-
-msgid "ParamCustominCutInterval"
-msgstr "ParamCustominCutInterval"
-
-msgid "ParamCustominTearInterval"
-msgstr "ParamCustominTearInterval"
-
-#, c-format
-msgid "Password for %s on %s? "
-msgstr "Adgangskode til %s på %s? "
-
-#, c-format
-msgid "Password for %s required to access %s via SAMBA: "
-msgstr "Adgangskode til %s kræves til adgang til %s via SAMBA: "
-
-msgid "Pause Class"
-msgstr "Sæt klasse på pause"
-
-msgid "Pause Printer"
-msgstr "Sæt printer på pause"
-
-msgid "Peel-Off"
-msgstr "Aftrækkelig"
-
-msgid "Photo"
-msgstr "Foto"
-
-msgid "Photo Labels"
-msgstr "Fotoetiketter"
-
-msgid "Plain Paper"
-msgstr "Almindeligt papir"
-
-msgid "Policies"
-msgstr "Politikker"
-
-msgid "Port Monitor"
-msgstr "Portovervågning"
-
-msgid "PostScript Printer"
-msgstr "PostScript-printer"
-
-msgid "Postcard"
-msgstr "Postkort"
-
-msgid "Postcard Double "
-msgstr ""
-
-msgid "Postcard Double Long Edge"
-msgstr ""
-
-msgid "Postcard Long Edge"
-msgstr ""
-
-msgid "Print Density"
-msgstr "Tryktæthed"
-
-msgid "Print Job:"
-msgstr "Udskriftsjob:"
-
-msgid "Print Mode"
-msgstr "Udskriftsfunktion"
-
-msgid "Print Rate"
-msgstr "Udskriftshastighed"
-
-msgid "Print Self-Test Page"
-msgstr "Udskriv testside"
-
-msgid "Print Speed"
-msgstr "Udskriftshastighed"
-
-msgid "Print Test Page"
-msgstr "Udskriv testside"
-
-msgid "Print and Cut"
-msgstr "Udskriv og klip"
-
-msgid "Print and Tear"
-msgstr "Udskriv og riv af"
-
-#, c-format
-msgid "Print file accepted - job ID %d."
-msgstr ""
-
-msgid "Print file accepted - job ID unknown."
-msgstr ""
-
-msgid "Print file sent."
-msgstr ""
-
-msgid "Print file was not accepted."
-msgstr ""
-
-msgid "Print job too large."
-msgstr ""
-
-msgid "Printed For: "
-msgstr "Udskrevet til: "
-
-msgid "Printed From: "
-msgstr "Udskrevet fra: "
-
-msgid "Printed On: "
-msgstr "Udskrevet den: "
-
-msgid "Printer Added"
-msgstr "Printer tilføjet"
-
-msgid "Printer Default"
-msgstr "Printerstandard"
-
-msgid "Printer Deleted"
-msgstr "Printer slettet"
-
-msgid "Printer Modified"
-msgstr "Printer ændret"
-
-msgid "Printer Name: "
-msgstr "Printernavn: "
-
-msgid "Printer Paused"
-msgstr "Printer på pause"
-
-msgid "Printer Settings"
-msgstr "Printerindstillinger"
-
-msgid "Printer busy, will retry in 10 seconds."
-msgstr ""
-
-msgid "Printer busy; will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer did not respond."
-msgstr ""
-
-#, c-format
-msgid "Printer does not support IPP/%d.%d, trying IPP/%s."
-msgstr ""
-
-msgid "Printer is busy, will retry in 5 seconds."
-msgstr ""
-
-msgid "Printer is not currently connected."
-msgstr ""
-
-msgid "Printer is now connected."
-msgstr ""
-
-msgid "Printer is now online."
-msgstr ""
-
-msgid "Printer is offline."
-msgstr ""
-
-msgid "Printer not connected, will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer not connected; will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer:"
-msgstr "Printer:"
-
-msgid "Printers"
-msgstr "Printere"
-
-#, c-format
-msgid "Printing page %d, %d%% complete."
-msgstr ""
-
-#, c-format
-msgid "Printing page %d."
-msgstr ""
-
-msgid "Purge Jobs"
-msgstr "Udrens job"
-
-msgid "Quarto"
-msgstr "Kvartformat"
-
-msgid "Quota limit reached."
-msgstr "Maks. kvote nået."
-
-msgid "Rank    Owner   Job     File(s)                         Total Size"
-msgstr ""
-
-#. TRANSLATORS: Pri is job priority.
-msgid ""
-"Rank   Owner      Pri  Job        Files                       Total Size"
-msgstr ""
-
-msgid "Ready to print."
-msgstr ""
-
-msgid "Reject Jobs"
-msgstr "Afvis job"
-
-#, c-format
-msgid "Remote host did not accept control file (%d)."
-msgstr ""
-
-#, c-format
-msgid "Remote host did not accept data file (%d)."
-msgstr ""
-
-msgid "Reprint After Error"
-msgstr "Udskriv igen efter fejl"
-
-msgid "Request Entity Too Large"
-msgstr "Enhedsanmodning for stor"
-
-msgid "Resolution"
-msgstr "Opløsning"
-
-msgid "Resume Class"
-msgstr "Genoptag klasse"
-
-msgid "Resume Printer"
-msgstr "Genoptag printer"
-
-msgid "Return Address"
-msgstr "Returadresse"
-
-msgid "Return Address - 3/4 x 2\""
-msgstr "Returadresse - 3/4 x 2\""
-
-msgid "Rewind"
-msgstr "Spol tilbage"
-
-#, c-format
-msgid "Running command: %s %s -N -A %s -c '%s'"
-msgstr ""
-
-msgid "SEQUENCE uses indefinite length"
-msgstr "SEQUENCE bruger uendelig længde"
-
-msgid "SSL/TLS Negotiation Error"
-msgstr ""
-
-msgid "See Other"
-msgstr "Se andet"
-
-msgid "Sending data to printer."
-msgstr ""
-
-#, c-format
-msgid "Serial Port #%d"
-msgstr "Seriel port #%d"
-
-msgid "Server Restarted"
-msgstr "Server startet igen"
-
-msgid "Server Security Auditing"
-msgstr "Kontrol af serversikkerhed"
-
-msgid "Server Started"
-msgstr "Server startet"
-
-msgid "Server Stopped"
-msgstr "Server stoppet"
-
-msgid "Service Unavailable"
-msgstr "Service utilgængelig"
-
-msgid "Set Allowed Users"
-msgstr "Indstil tilladte brugere"
-
-msgid "Set As Server Default"
-msgstr "Indstil som serverstandard"
-
-msgid "Set Class Options"
-msgstr "Foretag klasseindstillinger "
-
-msgid "Set Printer Options"
-msgstr "Foretag printerindstillinger "
-
-msgid "Set Publishing"
-msgstr "Indstil publicering"
-
-msgid "Shipping Address"
-msgstr "Leveringsadresse"
-
-msgid "Shipping Address - 2 5/16 x 4\""
-msgstr "Leveringsadresse - 2 5/16 x 4\""
-
-msgid "Short-Edge (Landscape)"
-msgstr "Kort kant (liggende)"
-
-msgid "Special Paper"
-msgstr "Specielt papir"
-
-#, c-format
-msgid "Spooling job, %.0f%% complete."
-msgstr ""
-
-msgid "Standard"
-msgstr "Standard"
-
-#. TRANSLATORS: Banner/cover sheet before the print job.
-msgid "Starting Banner"
-msgstr "Starter banner"
-
-#, c-format
-msgid "Starting page %d."
-msgstr ""
-
-msgid "Statement"
-msgstr "Udtalelse"
-
-msgid "Stylus Color Series"
-msgstr "Stylus Color Series"
-
-msgid "Stylus Photo Series"
-msgstr "Stylus Photo Series"
-
-#, c-format
-msgid "Subscription #%d does not exist."
-msgstr ""
-
-msgid "Super A"
-msgstr "Super A"
-
-msgid "Super B"
-msgstr "Super B"
-
-msgid "Super B/A3"
-msgstr "Super B/A3"
-
-msgid "Switching Protocols"
-msgstr "Skifter protokoller"
-
-msgid "Tabloid"
-msgstr "17 x 11\""
-
-msgid "Tabloid Oversize"
-msgstr ""
-
-msgid "Tabloid Oversize Long Edge"
-msgstr ""
-
-msgid "Tear"
-msgstr "Riv"
-
-msgid "Tear-Off"
-msgstr "Riv af"
-
-msgid "Tear-Off Adjust Position"
-msgstr "Riv af, juster position"
-
-#, c-format
-msgid "The %s attribute cannot be provided with job-ids."
-msgstr ""
-
-#, c-format
-msgid "The PPD file \"%s\" could not be found."
-msgstr "PPD-arkivet \"%s\" findes ikke."
-
-#, c-format
-msgid "The PPD file \"%s\" could not be opened: %s"
-msgstr "PPD-arkivet \"%s\" kunne ikke åbnes: %s"
-
-msgid "The PPD file could not be opened."
-msgstr ""
-
-msgid ""
-"The class name may only contain up to 127 printable characters and may not "
-"contain spaces, slashes (/), or the pound sign (#)."
-msgstr ""
-"Klassenavnet må kun indeholde op til 127 tegn, der kan udskrives, og må ikke "
-"indeholde mellemrum, skråstreger (/) og nummertegnet (#)."
-
-msgid "The developer unit needs to be replaced."
-msgstr ""
-
-msgid "The developer unit will need to be replaced soon."
-msgstr ""
-
-msgid "The fuser's temperature is high."
-msgstr ""
-
-msgid "The fuser's temperature is low."
-msgstr ""
-
-msgid ""
-"The notify-lease-duration attribute cannot be used with job subscriptions."
-msgstr "Egenskaben notify-lease-duration kan ikke bruges med jobabonnementer."
-
-#, c-format
-msgid "The notify-user-data value is too large (%d > 63 octets)."
-msgstr ""
-
-msgid "The optical photoconductor needs to be replaced."
-msgstr ""
-
-msgid "The optical photoconductor will need to be replaced soon."
-msgstr ""
-
-msgid "The output bin is almost full."
-msgstr ""
-
-msgid "The output bin is full."
-msgstr ""
-
-msgid "The output bin is missing."
-msgstr ""
-
-msgid "The page setup information was not valid."
-msgstr ""
-
-msgid "The paper tray is almost empty."
-msgstr ""
-
-msgid "The paper tray is empty."
-msgstr ""
-
-msgid "The paper tray is missing."
-msgstr ""
-
-msgid "The paper tray needs to be filled."
-msgstr ""
-
-msgid "The print file could not be opened."
-msgstr ""
-
-msgid "The printer URI is incorrect or no longer exists."
-msgstr ""
-
-msgid "The printer is busy."
-msgstr ""
-
-msgid "The printer is not connected."
-msgstr ""
-
-msgid "The printer is not responding."
-msgstr ""
-
-msgid "The printer is out of ink."
-msgstr ""
-
-msgid "The printer is running low on ink."
-msgstr ""
-
-msgid "The printer is running low on toner."
-msgstr ""
-
-msgid "The printer is unreachable at this time."
-msgstr ""
-
-msgid "The printer may be out of toner."
-msgstr ""
-
-msgid "The printer may not exist or is unavailable at this time."
-msgstr ""
-
-msgid ""
-"The printer name may only contain up to 127 printable characters and may not "
-"contain spaces, slashes (/), or the pound sign (#)."
-msgstr ""
-"Printernavnet må kun indeholde op til 127 tegn, der kan udskrives, og må "
-"ikke indeholde mellemrum, skråstreger (/) og nummertegnet (#)."
-
-msgid "The printer or class does not exist."
-msgstr ""
-
-msgid "The printer or class is not shared."
-msgstr ""
-
-msgid "The printer's cover is open."
-msgstr ""
-
-msgid "The printer's door is open."
-msgstr ""
-
-msgid "The printer's interlock is open."
-msgstr ""
-
-msgid "The printer's waste bin is almost full."
-msgstr ""
-
-msgid "The printer's waste bin is full."
-msgstr ""
-
-#, c-format
-msgid "The printer-uri \"%s\" contains invalid characters."
-msgstr "Printer-uri \"%s\" indeholder ugyldige tegn."
-
-msgid "The printer-uri attribute is required."
-msgstr ""
-
-msgid ""
-"The printer-uri must be of the form \"ipp://HOSTNAME/classes/CLASSNAME\"."
-msgstr "Printer-uri skal have formatet \"ipp://VÆRTSNAVN/klasser/KLASSENAVN\"."
-
-msgid ""
-"The printer-uri must be of the form \"ipp://HOSTNAME/printers/PRINTERNAME\"."
-msgstr ""
-"Printer-uri skal have formatet \"ipp://VÆRTSNAVN/printere/PRINTERNAVN\"."
-
-msgid ""
-"The subscription name may not contain spaces, slashes (/), question marks "
-"(?), or the pound sign (#)."
-msgstr ""
-"Abonnementsnavnet må ikke indeholde mellemrum, skråstreger (/), "
-"spørgsmålstegn (?) og nummertegnet (#)."
-
-msgid ""
-"The web interface is currently disabled. Run \"cupsctl WebInterface=yes\" to "
-"enable it."
-msgstr ""
-
-#, c-format
-msgid "The which-jobs value \"%s\" is not supported."
-msgstr ""
-
-msgid "There are too many subscriptions."
-msgstr "Der er for mange abonnementer."
-
-msgid "There is a paper jam."
-msgstr ""
-
-msgid "There was an unrecoverable USB error."
-msgstr ""
-
-msgid "Thermal Transfer Media"
-msgstr "Termiske overførselsmedier"
-
-msgid "Title: "
-msgstr "Titel: "
-
-msgid "Too many active jobs."
-msgstr "For mange aktive job."
-
-#, c-format
-msgid "Too many job-sheets values (%d > 2)."
-msgstr ""
-
-#, c-format
-msgid "Too many printer-state-reasons values (%d > %d)."
-msgstr ""
-
-msgid "Transparency"
-msgstr "Gennemsigtighed"
-
-msgid "Tray"
-msgstr "Bakke"
-
-msgid "Tray 1"
-msgstr "Bakke 1"
-
-msgid "Tray 2"
-msgstr "Bakke 2"
-
-msgid "Tray 3"
-msgstr "Bakke 3"
-
-msgid "Tray 4"
-msgstr "Bakke 4"
-
-msgid "URI Too Long"
-msgstr "URI for lang"
-
-msgid "US Ledger"
-msgstr "17 x 11\""
-
-msgid "US Legal"
-msgstr "8,5 x 14\""
-
-msgid "US Legal Oversize"
-msgstr ""
-
-msgid "US Letter"
-msgstr "8,5 x 11\""
-
-msgid "US Letter Long Edge"
-msgstr ""
-
-msgid "US Letter Oversize"
-msgstr ""
-
-msgid "US Letter Oversize Long Edge"
-msgstr ""
-
-msgid "US Letter Small"
-msgstr ""
-
-#, c-format
-msgid "USB Serial Port #%d"
-msgstr "Seriel USB-port #%d"
-
-msgid "Unable to access cupsd.conf file:"
-msgstr "Kan ikke få adgang til arkivet cupsd.conf:"
-
-msgid "Unable to add RSS subscription:"
-msgstr "Kan ikke tilføje RSS-abonnement:"
-
-msgid "Unable to add class:"
-msgstr "Kan ikke tilføje klasse:"
-
-msgid "Unable to add document to print job."
-msgstr ""
-
-#, c-format
-msgid "Unable to add job for destination \"%s\"."
-msgstr ""
-
-msgid "Unable to add printer:"
-msgstr "Kan ikke tilføje printer:"
-
-msgid "Unable to allocate memory for file types."
-msgstr ""
-
-msgid "Unable to allocate memory for page info"
-msgstr ""
-
-msgid "Unable to allocate memory for pages array"
-msgstr ""
-
-msgid "Unable to cancel RSS subscription:"
-msgstr "Kan ikke annullere RSS-abonnement:"
-
-msgid "Unable to cancel print job."
-msgstr ""
-
-msgid "Unable to change printer-is-shared attribute:"
-msgstr "Kan ikke ændre egenskaben printer-is-shared:"
-
-msgid "Unable to change printer:"
-msgstr "Kan ikke skifte printer:"
-
-msgid "Unable to change server settings:"
-msgstr "Kan ikke ændre serverindstillinger:"
-
-msgid "Unable to configure printer options."
-msgstr ""
-
-msgid "Unable to connect to host."
-msgstr "Kan ikke oprette forbindelse til vært."
-
-msgid "Unable to contact printer, queuing on next printer in class."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy 64-bit CUPS printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy 64-bit Windows printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy CUPS printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy PPD file - %s"
-msgstr ""
-
-msgid "Unable to copy PPD file."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy Windows 2000 printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy Windows 9x printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy interface script - %s"
-msgstr ""
-
-msgid "Unable to copy print file"
-msgstr ""
-
-msgid "Unable to create compressed print file"
-msgstr ""
-
-msgid "Unable to create pipes for filters"
-msgstr ""
-
-msgid "Unable to create printer-uri"
-msgstr ""
-
-msgid "Unable to create temporary file"
-msgstr ""
-
-msgid "Unable to create temporary file:"
-msgstr "Kan ikke oprette midlertidigt arkiv:"
-
-msgid "Unable to delete class:"
-msgstr "Kan ikke slette klasse:"
-
-msgid "Unable to delete printer:"
-msgstr "Kan ikke slette printer:"
-
-msgid "Unable to do maintenance command:"
-msgstr "Kan ikke udføre vedligeholdelseskommando:"
-
-msgid "Unable to edit cupsd.conf files larger than 1MB"
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (certificate chain invalid)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (certificate not yet valid)."
-msgstr ""
-
-msgid "Unable to establish a secure connection to host (expired certificate)."
-msgstr ""
-
-msgid "Unable to establish a secure connection to host (host name mismatch)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (peer dropped connection "
-"before responding)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (self-signed certificate)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (untrusted certificate)."
-msgstr ""
-
-msgid "Unable to establish a secure connection to host."
-msgstr ""
-
-msgid "Unable to find destination for job"
-msgstr ""
-
-msgid "Unable to find printer."
-msgstr ""
-
-msgid "Unable to fork filter"
-msgstr ""
-
-msgid "Unable to generate compressed print file"
-msgstr ""
-
-msgid "Unable to get backend exit status."
-msgstr ""
-
-msgid "Unable to get class list:"
-msgstr "Kan ikke hente klasseliste:"
-
-msgid "Unable to get class status:"
-msgstr "Kan ikke hente klassestatus:"
-
-msgid "Unable to get list of printer drivers:"
-msgstr "Kan ikke hente liste over printerarkiver:"
-
-msgid "Unable to get printer attributes:"
-msgstr "Kan ikke hente printerattributter:"
-
-msgid "Unable to get printer list:"
-msgstr "Kan ikke hente printerliste:"
-
-msgid "Unable to get printer status."
-msgstr ""
-
-msgid "Unable to get printer status:"
-msgstr "Kan ikke hente printerstatus:"
-
-#, c-format
-msgid "Unable to install Windows 2000 printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to install Windows 9x printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to locate printer \"%s\"."
-msgstr ""
-
-msgid "Unable to locate printer."
-msgstr ""
-
-msgid "Unable to modify class:"
-msgstr "Kan ikke ændre klasse:"
-
-msgid "Unable to modify printer:"
-msgstr "Kan ikke ændre printer:"
-
-msgid "Unable to move job"
-msgstr "Kan ikke flytte job"
-
-msgid "Unable to move jobs"
-msgstr "Kan ikke flytte job"
-
-msgid "Unable to open PPD file"
-msgstr "Kan ikke åbne PPD-arkiv"
-
-msgid "Unable to open PPD file:"
-msgstr "Kan ikke åbne PPD-arkiv:"
-
-msgid "Unable to open charset file"
-msgstr ""
-
-msgid "Unable to open compressed print file"
-msgstr ""
-
-msgid "Unable to open cupsd.conf file:"
-msgstr "Kan ikke åbne arkivet cupsd.conf:"
-
-msgid "Unable to open device file"
-msgstr ""
-
-#, c-format
-msgid "Unable to open document #%d in job #%d."
-msgstr ""
-
-msgid "Unable to open print file"
-msgstr ""
-
-msgid "Unable to open psglyphs"
-msgstr ""
-
-msgid "Unable to open raster file"
-msgstr ""
-
-#, c-format
-msgid "Unable to print %d text columns."
-msgstr ""
-
-#, c-format
-msgid "Unable to print %dx%d text page."
-msgstr ""
-
-msgid "Unable to print test page:"
-msgstr "Kan ikke udskrive testside:"
-
-msgid "Unable to read print data"
-msgstr ""
-
-msgid "Unable to read print data."
-msgstr ""
-
-#, c-format
-msgid "Unable to run \"%s\": %s"
-msgstr ""
-
-msgid "Unable to see in file"
-msgstr ""
-
-msgid "Unable to send command to printer driver"
-msgstr ""
-
-msgid "Unable to send data to printer."
-msgstr ""
-
-msgid "Unable to send raster data to the driver."
-msgstr ""
-
-#, c-format
-msgid "Unable to set Windows printer driver (%d)."
-msgstr ""
-
-msgid "Unable to set options:"
-msgstr "Kan ikke foretageindstillinger:"
-
-msgid "Unable to set server default:"
-msgstr "Kan ikke indstille serverstandard:"
-
-msgid "Unable to start backend process."
-msgstr ""
-
-msgid "Unable to upload cupsd.conf file:"
-msgstr "Kan ikke overføre arkivet cupsd.conf:"
-
-msgid "Unable to use legacy USB class driver."
-msgstr ""
-
-msgid "Unable to write print data"
-msgstr ""
-
-#, c-format
-msgid "Unable to write uncompressed print data: %s"
-msgstr ""
-
-msgid "Unauthorized"
-msgstr "Ikke godkendt"
-
-msgid "Units"
-msgstr "Enheder"
-
-msgid "Unknown"
-msgstr "Ukendt"
-
-#, c-format
-msgid "Unknown choice \"%s\" for option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown encryption option value: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown file order: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown format character: \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown option \"%s\" with value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown print mode: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown printer-error-policy \"%s\"."
-msgstr "Ukendt printer-error-policy \"%s\"."
-
-#, c-format
-msgid "Unknown printer-op-policy \"%s\"."
-msgstr "Ukendt printer-op-policy \"%s\"."
-
-#, c-format
-msgid "Unknown version option value: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported baud rate: %s"
-msgstr ""
-
-#, c-format
-msgid "Unsupported brightness value %s, using brightness=100."
-msgstr ""
-
-#, c-format
-msgid "Unsupported character set \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported compression \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported document-format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported document-format \"%s/%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported gamma value %s, using gamma=1000."
-msgstr ""
-
-msgid "Unsupported margins."
-msgstr ""
-
-msgid "Unsupported media value."
-msgstr ""
-
-#, c-format
-msgid "Unsupported number-up value %d, using number-up=1."
-msgstr ""
-
-#, c-format
-msgid "Unsupported number-up-layout value %s, using number-up-layout=lrtb."
-msgstr ""
-
-#, c-format
-msgid "Unsupported page-border value %s, using page-border=none."
-msgstr ""
-
-msgid "Unsupported raster data."
-msgstr ""
-
-msgid "Unsupported value type"
-msgstr "Ikke understøttet værditype"
-
-msgid "Upgrade Required"
-msgstr "Opgradering kræves"
-
-msgid ""
-"Usage:\n"
-"\n"
-"    lpadmin [-h server] -d destination\n"
-"    lpadmin [-h server] -x destination\n"
-"    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m model]\n"
-"                       [-r remove-class] [-v device] [-D description]\n"
-"                       [-P ppd-file] [-o name=value]\n"
-"                       [-u allow:user,user] [-u deny:user,user]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job user title copies options [filename]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job-id user title copies options [file]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job-id user title copies options file"
-msgstr ""
-
-msgid "Usage: convert [ options ]"
-msgstr ""
-
-msgid "Usage: cupsaddsmb [options] printer1 ... printerN"
-msgstr ""
-
-msgid "Usage: cupsctl [options] [param=value ... paramN=valueN]"
-msgstr ""
-
-msgid "Usage: cupsd [options]"
-msgstr ""
-
-msgid "Usage: cupsfilter [ options ] filename"
-msgstr ""
-
-msgid "Usage: cupstestdsc [options] filename.ps [... filename.ps]"
-msgstr ""
-
-msgid ""
-"Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]"
-msgstr ""
-
-msgid "Usage: ipptool [options] URI filename [ ... filenameN ]"
-msgstr ""
-
-msgid "Usage: lpmove job/src dest"
-msgstr ""
-
-msgid ""
-"Usage: lpoptions [-h server] [-E] -d printer\n"
-"       lpoptions [-h server] [-E] [-p printer] -l\n"
-"       lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
-"       lpoptions [-h server] [-E] -x printer"
-msgstr ""
-
-msgid "Usage: lppasswd [-g groupname]"
-msgstr ""
-
-msgid ""
-"Usage: lppasswd [-g groupname] [username]\n"
-"       lppasswd [-g groupname] -a [username]\n"
-"       lppasswd [-g groupname] -x [username]"
-msgstr ""
-
-msgid ""
-"Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]"
-msgstr ""
-
-msgid "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]"
-msgstr ""
-
-msgid "Usage: ppdhtml [options] filename.drv >filename.html"
-msgstr ""
-
-msgid "Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]"
-msgstr ""
-
-msgid "Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]"
-msgstr ""
-
-msgid ""
-"Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]"
-msgstr ""
-
-msgid "Usage: snmp [host-or-ip-address]"
-msgstr ""
-
-msgid "Value uses indefinite length"
-msgstr "Værdi bruger uendelig længde"
-
-msgid "VarBind uses indefinite length"
-msgstr "VarBind bruger uendelig længde"
-
-msgid "Version uses indefinite length"
-msgstr "Version bruger uendelig længde"
-
-msgid "Waiting for job to complete."
-msgstr ""
-
-msgid "Waiting for printer to become available."
-msgstr ""
-
-msgid "Waiting for printer to finish."
-msgstr ""
-
-msgid "Warning, no Windows 2000 printer drivers are installed."
-msgstr ""
-
-msgid "Web Interface is Disabled"
-msgstr ""
-
-msgid "Yes"
-msgstr "Ja"
-
-#, c-format
-msgid ""
-"You must access this page using the URL <A HREF=\"https://%s:%d%s\">https://%"
-"s:%d%s</A>."
-msgstr ""
-"Du skal åbne denne side vha. URL-adressen <A HREF=\"https://%s:%d%s"
-"\">https://%s:%d%s</A>."
-
-msgid ""
-"Your password must be at least 6 characters long, cannot contain your "
-"username, and must contain at least one letter and number."
-msgstr ""
-
-msgid "ZPL Label Printer"
-msgstr "ZPL-etiketprinter"
-
-msgid "Zebra"
-msgstr "Zebra"
-
-msgid "aborted"
-msgstr "afbrudt"
-
-msgid "canceled"
-msgstr "annulleret"
-
-msgid "completed"
-msgstr "færdig"
-
-msgid "convert: Use the -f option to specify a file to convert."
-msgstr ""
-
-msgid "cups-deviced failed to execute."
-msgstr "cups-deviced blev ikke udført."
-
-msgid "cups-driverd failed to execute."
-msgstr "cups-driverd blev ikke udført."
-
-#, c-format
-msgid "cupsaddsmb: No PPD file for printer \"%s\" - %s"
-msgstr ""
-
-msgid "cupsctl: Cannot set Listen or Port directly."
-msgstr ""
-
-#, c-format
-msgid "cupsctl: Unable to connect to server: %s"
-msgstr ""
-
-#, c-format
-msgid "cupsctl: Unknown option \"%s\""
-msgstr ""
-
-#, c-format
-msgid "cupsctl: Unknown option \"-%c\""
-msgstr ""
-
-msgid "cupsd: Expected config filename after \"-c\" option."
-msgstr ""
-
-msgid "cupsd: Unable to get current directory."
-msgstr ""
-
-#, c-format
-msgid "cupsd: Unknown argument \"%s\" - aborting."
-msgstr ""
-
-#, c-format
-msgid "cupsd: Unknown option \"%c\" - aborting."
-msgstr ""
-
-msgid "cupsd: launchd(8) support not compiled in, running in normal mode."
-msgstr ""
-
-#, c-format
-msgid "cupsfilter: Invalid document number %d."
-msgstr ""
-
-#, c-format
-msgid "cupsfilter: Invalid job ID %d."
-msgstr ""
-
-msgid "cupsfilter: Only one filename can be specified."
-msgstr ""
-
-#, c-format
-msgid "cupsfilter: Unable to get job file - %s"
-msgstr ""
-
-msgid "cupstestppd: The -q option is incompatible with the -v option."
-msgstr ""
-
-msgid "cupstestppd: The -v option is incompatible with the -q option."
-msgstr ""
-
-#, c-format
-msgid "device for %s/%s: %s"
-msgstr ""
-
-#, c-format
-msgid "device for %s: %s"
-msgstr ""
-
-msgid "error-index uses indefinite length"
-msgstr "error-index bruger uendelig længde"
-
-msgid "error-status uses indefinite length"
-msgstr "error-status bruger uendelig længde"
-
-msgid "held"
-msgstr "udsat"
-
-msgid "help\t\tGet help on commands."
-msgstr ""
-
-msgid "idle"
-msgstr "ledig"
-
-msgid "ipptool: \"-i\" and \"-n\" are incompatible with -X\"."
-msgstr ""
-
-msgid "ipptool: \"-i\" is incompatible with \"-X\"."
-msgstr ""
-
-msgid "ipptool: \"-n\" is incompatible with \"-X\"."
-msgstr ""
-
-#, c-format
-msgid "ipptool: Bad URI - %s."
-msgstr ""
-
-#, c-format
-msgid "ipptool: Bad version %s for \"-V\"."
-msgstr ""
-
-msgid "ipptool: Invalid seconds for \"-i\"."
-msgstr ""
-
-msgid "ipptool: May only specify a single URI."
-msgstr ""
-
-msgid "ipptool: Missing count for \"-n\"."
-msgstr ""
-
-msgid "ipptool: Missing filename for \"-f\"."
-msgstr ""
-
-msgid "ipptool: Missing name=value for \"-d\"."
-msgstr ""
-
-msgid "ipptool: Missing seconds for \"-i\"."
-msgstr ""
-
-msgid "ipptool: Missing timeout for \"-T\"."
-msgstr ""
-
-msgid "ipptool: Missing version for \"-V\"."
-msgstr ""
-
-msgid "ipptool: URI required before test file."
-msgstr ""
-
-#, c-format
-msgid "ipptool: Unknown option \"-%c\"."
-msgstr ""
-
-msgid "job-printer-uri attribute missing."
-msgstr ""
-
-msgid "lpadmin: Class name can only contain printable characters."
-msgstr ""
-
-msgid "lpadmin: Expected PPD after \"-P\" option."
-msgstr ""
-
-msgid "lpadmin: Expected allow/deny:userlist after \"-u\" option."
-msgstr ""
-
-msgid "lpadmin: Expected class after \"-r\" option."
-msgstr ""
-
-msgid "lpadmin: Expected class name after \"-c\" option."
-msgstr ""
-
-msgid "lpadmin: Expected description after \"-D\" option."
-msgstr ""
-
-msgid "lpadmin: Expected device URI after \"-v\" option."
-msgstr ""
-
-msgid "lpadmin: Expected file type(s) after \"-I\" option."
-msgstr ""
-
-msgid "lpadmin: Expected hostname after \"-h\" option."
-msgstr ""
-
-msgid "lpadmin: Expected interface after \"-i\" option."
-msgstr ""
-
-msgid "lpadmin: Expected location after \"-L\" option."
-msgstr ""
-
-msgid "lpadmin: Expected model after \"-m\" option."
-msgstr ""
-
-msgid "lpadmin: Expected name after \"-R\" option."
-msgstr ""
-
-msgid "lpadmin: Expected name=value after \"-o\" option."
-msgstr ""
-
-msgid "lpadmin: Expected printer after \"-p\" option."
-msgstr ""
-
-msgid "lpadmin: Expected printer name after \"-d\" option."
-msgstr ""
-
-msgid "lpadmin: Expected printer or class after \"-x\" option."
-msgstr ""
-
-msgid "lpadmin: No member names were seen."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Printer %s is already a member of class %s."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Printer %s is not a member of class %s."
-msgstr ""
-
-msgid "lpadmin: Printer name can only contain printable characters."
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to add a printer to the class:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unable to connect to server: %s"
-msgstr ""
-
-msgid "lpadmin: Unable to create temporary file"
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to delete option:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unable to open PPD file \"%s\" - %s"
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to remove a printer from the class:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to set the printer options:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unknown allow/deny option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unknown argument \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unknown option \"%c\"."
-msgstr ""
-
-msgid "lpadmin: Warning - content type list ignored."
-msgstr ""
-
-msgid "lpc> "
-msgstr "lpc> "
-
-msgid "lpinfo: Expected 1284 device ID string after \"--device-id\"."
-msgstr ""
-
-msgid "lpinfo: Expected language after \"--language\"."
-msgstr ""
-
-msgid "lpinfo: Expected make and model after \"--make-and-model\"."
-msgstr ""
-
-msgid "lpinfo: Expected product string after \"--product\"."
-msgstr ""
-
-msgid "lpinfo: Expected scheme list after \"--exclude-schemes\"."
-msgstr ""
-
-msgid "lpinfo: Expected scheme list after \"--include-schemes\"."
-msgstr ""
-
-msgid "lpinfo: Expected timeout after \"--timeout\"."
-msgstr ""
-
-#, c-format
-msgid "lpinfo: Unknown argument \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpinfo: Unknown option \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "lpinfo: Unknown option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpmove: Unable to connect to server: %s"
-msgstr ""
-
-#, c-format
-msgid "lpmove: Unknown argument \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpmove: Unknown option \"%c\"."
-msgstr ""
-
-msgid "lpoptions: No printers."
-msgstr ""
-
-#, c-format
-msgid "lpoptions: Unable to add printer or instance: %s"
-msgstr ""
-
-#, c-format
-msgid "lpoptions: Unable to get PPD file for %s: %s"
-msgstr ""
-
-#, c-format
-msgid "lpoptions: Unable to open PPD file for %s."
-msgstr ""
-
-msgid "lpoptions: Unknown printer or class."
-msgstr ""
-
-msgid "lppasswd: Only root can add or delete passwords."
-msgstr ""
-
-msgid "lppasswd: Password file busy."
-msgstr ""
-
-msgid "lppasswd: Password file not updated."
-msgstr ""
-
-msgid "lppasswd: Sorry, password doesn't match."
-msgstr ""
-
-msgid "lppasswd: Sorry, password rejected."
-msgstr ""
-
-msgid "lppasswd: Sorry, passwords don't match."
-msgstr ""
-
-#, c-format
-msgid "lppasswd: Unable to copy password string: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: Unable to open password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: Unable to write to password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: failed to backup old password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: failed to rename password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: user \"%s\" and group \"%s\" do not exist."
-msgstr ""
-
-#, c-format
-msgid ""
-"lpstat: error - %s environment variable names non-existent destination \"%s"
-"\"."
-msgstr ""
-
-#, c-format
-msgid "members of class %s:"
-msgstr ""
-
-msgid "no entries"
-msgstr ""
-
-msgid "no system default destination"
-msgstr ""
-
-msgid "notify-events not specified."
-msgstr ""
-
-#, c-format
-msgid "notify-recipient-uri URI \"%s\" is already used."
-msgstr ""
-
-#, c-format
-msgid "notify-recipient-uri URI \"%s\" uses unknown scheme."
-msgstr ""
-
-msgid "pending"
-msgstr "afventer"
-
-#, c-format
-msgid "ppdc: Adding include directory \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Adding/updating UI text from %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad boolean value (%s) on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad font attribute: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad resolution name \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad status keyword %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad variable substitution ($%c) on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Choice found on line %d of %s with no Option."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Duplicate #po for locale %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected a filter definition on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected a program name on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected boolean value on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected charset after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected choice code on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected choice name/text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected color order for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected colorspace for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected compression for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected constraints string for UIConstraints on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Expected driver type keyword following DriverType on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected duplex type after Duplex on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected encoding after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected filename after #po %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected group name/text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected include filename on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected integer on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected locale after #po on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after FileName on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after Manufacturer on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after MediaSize on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after ModelName on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after PCFileName on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text after Installable on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text after Resolution on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text combination for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected option name/text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected option section on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected option type on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected override field after Resolution on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected quoted string on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected real number on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Expected resolution/mediatype following ColorProfile on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Expected resolution/mediatype following SimpleColorProfile on line %d "
-"of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected selector after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected status after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected string after Copyright on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected string after Version on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected two option names on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected value after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected version after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid #include/#po filename \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid cost for filter on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid empty MIME type for filter on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid empty program name for filter on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid option section \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid option type \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Loading driver information file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Loading messages for locale \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Loading messages from \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Missing #endif at end of \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Missing #if on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Need a msgid line before any translation strings on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: No message catalog provided for locale %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Option %s defined in two different groups on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Option %s redefined with a different type on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Option constraint must *name on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Too many nested #if's on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to create PPD file \"%s\" - %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to create output directory %s: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to create output pipes: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to execute cupstestppd: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to find #po file %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to find include file \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to find localization for \"%s\" - %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to load localization file \"%s\" - %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to open %s: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Undefined variable (%s) on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unexpected text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown driver type %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown media size \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown message catalog format for \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown token \"%s\" seen on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Unknown trailing characters in real number \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unterminated string starting with %c on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Warning - overlapping filename \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Writing %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Writing PPD files to directory \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s."
-msgstr ""
-
-#, c-format
-msgid "ppdmerge: Ignoring PPD file %s."
-msgstr ""
-
-#, c-format
-msgid "ppdmerge: Unable to backup %s to %s - %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s disabled since %s -"
-msgstr ""
-
-#, c-format
-msgid "printer %s is idle.  enabled since %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s now printing %s-%d.  enabled since %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s/%s disabled since %s -"
-msgstr ""
-
-#, c-format
-msgid "printer %s/%s is idle.  enabled since %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s/%s now printing %s-%d.  enabled since %s"
-msgstr ""
-
-msgid "processing"
-msgstr "behandler"
-
-#, c-format
-msgid "request id is %s-%d (%d file(s))"
-msgstr ""
-
-msgid "request-id uses indefinite length"
-msgstr "request-id bruger uendelig længde"
-
-msgid "scheduler is not running"
-msgstr ""
-
-msgid "scheduler is running"
-msgstr ""
-
-#, c-format
-msgid "stat of %s failed: %s"
-msgstr "stat af %s mislykkedes: %s"
-
-msgid "status\t\tShow status of daemon and queue."
-msgstr ""
-
-msgid "stopped"
-msgstr "stoppet"
-
-#, c-format
-msgid "system default destination: %s"
-msgstr ""
-
-#, c-format
-msgid "system default destination: %s/%s"
-msgstr ""
-
-msgid "unknown"
-msgstr "ukendt"
-
-msgid "untitled"
-msgstr "uden navn"
-
-msgid "variable-bindings uses indefinite length"
-msgstr "variable-bindings bruger uendelig længde"
-
-#~ msgid "\t\t(all)\n"
-#~ msgstr "\t\t(alle)\n"
-
-#~ msgid "\t\t(none)\n"
-#~ msgstr "\t\t(ingen)\n"
-
-#~ msgid "\t%d entries\n"
-#~ msgstr "\t%d optegnelser\n"
-
-#~ msgid "\tAfter fault: continue\n"
-#~ msgstr "\tEfter fejl: Fortsæt\n"
-
-#~ msgid "\tAlerts:"
-#~ msgstr "\tAdvarsler:"
-
-#~ msgid "\tBanner required\n"
-#~ msgstr "\tBanner kræves\n"
-
-#~ msgid "\tCharset sets:\n"
-#~ msgstr "\tTegnsæt:\n"
-
-#~ msgid "\tConnection: direct\n"
-#~ msgstr "\tForbindelse: Direkte\n"
-
-#~ msgid "\tConnection: remote\n"
-#~ msgstr "\tForbindelse: Ekstern\n"
-
-#~ msgid "\tDefault page size:\n"
-#~ msgstr "\tStandardsidestørrelse:\n"
-
-#~ msgid "\tDefault pitch:\n"
-#~ msgstr "\tStandardhøjde:\n"
-
-#~ msgid "\tDefault port settings:\n"
-#~ msgstr "\tStandardportindstillinger:\n"
-
-#~ msgid "\tDescription: %s\n"
-#~ msgstr "\tBeskrivelse: %s\n"
-
-#~ msgid ""
-#~ "\tForm mounted:\n"
-#~ "\tContent types: any\n"
-#~ "\tPrinter types: unknown\n"
-#~ msgstr ""
-#~ "\tAktiv formular:\n"
-#~ "\tIndholdstyper: alle\n"
-#~ "\tPrintertyper: Ukendt\n"
-
-#~ msgid "\tForms allowed:\n"
-#~ msgstr "\tFormularer tilladt:\n"
-
-#~ msgid "\tInterface: %s.ppd\n"
-#~ msgstr "\tGrænseflade: %s.ppd\n"
-
-#~ msgid "\tInterface: %s/interfaces/%s\n"
-#~ msgstr "\tGrænseflade: %s/grænseflader/%s\n"
-
-#~ msgid "\tInterface: %s/ppd/%s.ppd\n"
-#~ msgstr "\tGrænseflade: %s/ppd/%s.ppd\n"
-
-#~ msgid "\tLocation: %s\n"
-#~ msgstr "\tPlacering: %s\n"
-
-#~ msgid "\tOn fault: no alert\n"
-#~ msgstr "\tVed fejl: Ingen advarsel\n"
-
-#~ msgid "\tUsers allowed:\n"
-#~ msgstr "\tBrugere tilladt:\n"
-
-#~ msgid "\tUsers denied:\n"
-#~ msgstr "\tBrugere ikke tilladt:\n"
-
-#~ msgid "\tdaemon present\n"
-#~ msgstr "\tdaemon til stede\n"
-
-#~ msgid "\tno entries\n"
-#~ msgstr "\tingen optegnelser\n"
-
-#~ msgid "\tprinter is on device '%s' speed -1\n"
-#~ msgstr "\tprinter er på enheden '%s', hastighed -1\n"
-
-#~ msgid "\tprinting is disabled\n"
-#~ msgstr "\tudskrivning er slået fra\n"
-
-#~ msgid "\tprinting is enabled\n"
-#~ msgstr "\tudskrivning er slået til\n"
-
-#~ msgid "\tqueued for %s\n"
-#~ msgstr "\tstår i kø til %s\n"
-
-#~ msgid "\tqueuing is disabled\n"
-#~ msgstr "\tkø er slået fra\n"
-
-#~ msgid "\tqueuing is enabled\n"
-#~ msgstr "\tkø er slået til\n"
-
-#~ msgid "\treason unknown\n"
-#~ msgstr "\tårsag ukendt\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "    DETAILED CONFORMANCE TEST RESULTS\n"
-#~ msgstr ""
-#~ "\n"
-#~ " DETALJEREDE RESULTATER AF TEST AF OVERENSSTEMMELSE\n"
-
-#~ msgid "                REF: Page 15, section 3.1.\n"
-#~ msgstr "                REF: Side 15, afsnit 3.1.\n"
-
-#~ msgid "                REF: Page 15, section 3.2.\n"
-#~ msgstr "                REF: Side 15, afsnit 3.2.\n"
-
-#~ msgid "                REF: Page 19, section 3.3.\n"
-#~ msgstr "                REF: Side 19, afsnit 3.3.\n"
-
-#~ msgid "                REF: Page 20, section 3.4.\n"
-#~ msgstr "                REF: Side 20, afsnit 3.4.\n"
-
-#~ msgid "                REF: Page 27, section 3.5.\n"
-#~ msgstr "                REF: Side 27, afsnit 3.5.\n"
-
-#~ msgid "                REF: Page 42, section 5.2.\n"
-#~ msgstr "                REF: Side 42, afsnit 5.2.\n"
-
-#~ msgid "                REF: Pages 16-17, section 3.2.\n"
-#~ msgstr "                REF: Side 16-17, afsnit 3.2.\n"
-
-#~ msgid "                REF: Pages 42-45, section 5.2.\n"
-#~ msgstr "                REF: Side 42-45, afsnit 5.2.\n"
-
-#~ msgid "                REF: Pages 45-46, section 5.2.\n"
-#~ msgstr "                REF: Side 45-46, afsnit 5.2.\n"
-
-#~ msgid "                REF: Pages 48-49, section 5.2.\n"
-#~ msgstr "                REF: Side 48-49, afsnit 5.2.\n"
-
-#~ msgid "                REF: Pages 52-54, section 5.2.\n"
-#~ msgstr "                REF: Side 52-54, afsnit 5.2.\n"
-
-#~ msgid "        %-39.39s %.0f bytes\n"
-#~ msgstr "        %-39.39s %.0f byte\n"
-
-#~ msgid "        PASS    Default%s\n"
-#~ msgstr "        PASS    Default%s\n"
-
-#~ msgid "        PASS    DefaultImageableArea\n"
-#~ msgstr "        PASS    DefaultImageableArea\n"
-
-#~ msgid "        PASS    DefaultPaperDimension\n"
-#~ msgstr "        PASS    DefaultPaperDimension\n"
-
-#~ msgid "        PASS    FileVersion\n"
-#~ msgstr "        PASS    FileVersion\n"
-
-#~ msgid "        PASS    FormatVersion\n"
-#~ msgstr "        PASS    FormatVersion\n"
-
-#~ msgid "        PASS    LanguageEncoding\n"
-#~ msgstr "        PASS    LanguageEncoding\n"
-
-#~ msgid "        PASS    LanguageVersion\n"
-#~ msgstr "        PASS    LanguageVersion\n"
-
-#~ msgid "        PASS    Manufacturer\n"
-#~ msgstr "        PASS    Manufacturer\n"
-
-#~ msgid "        PASS    ModelName\n"
-#~ msgstr "        PASS    ModelName\n"
-
-#~ msgid "        PASS    NickName\n"
-#~ msgstr "        PASS    NickName\n"
-
-#~ msgid "        PASS    PCFileName\n"
-#~ msgstr "        PASS    PCFileName\n"
-
-#~ msgid "        PASS    PSVersion\n"
-#~ msgstr "        PASS    PSVersion\n"
-
-#~ msgid "        PASS    PageRegion\n"
-#~ msgstr "        PASS    PageRegion\n"
-
-#~ msgid "        PASS    PageSize\n"
-#~ msgstr "        PASS    PageSize\n"
-
-#~ msgid "        PASS    Product\n"
-#~ msgstr "        PASS    Product\n"
-
-#~ msgid "        PASS    ShortNickName\n"
-#~ msgstr "        PASS    ShortNickName\n"
-
-#~ msgid ""
-#~ "        WARN    \"%s %s\" conflicts with \"%s %s\"\n"
-#~ "                (constraint=\"%s %s %s %s\")\n"
-#~ msgstr ""
-#~ "        WARN \"%s %s\" er i konflikt med \"%s %s\"\n"
-#~ "                (begrænsning=\"%s %s %s %s\")\n"
-
-#~ msgid "        WARN    %s has no corresponding options!\n"
-#~ msgstr "        WARN    %s har ingen tilsvarende indstillinger!\n"
-
-#~ msgid ""
-#~ "        WARN    %s shares a common prefix with %s\n"
-#~ "                REF: Page 15, section 3.2.\n"
-#~ msgstr ""
-#~ "        WARN %s deler et almindeligt præfiks med %s\n"
-#~ "                REF: Side 15, afsnit 3.2.\n"
-
-#~ msgid "        WARN    Default choices conflicting!\n"
-#~ msgstr "        WARN Standardvalg er i konflikt!\n"
-
-#~ msgid ""
-#~ "        WARN    Duplex option keyword %s may not work as expected and "
-#~ "should be named Duplex!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "        WARN    Nøgleordet til dupleksindstillingen %s virker muligvis "
-#~ "ikke som forventet og skal hedde Dupleks!\n"
-#~ "                REF: Side 122, afsnit 5.17.\n"
-
-#~ msgid ""
-#~ "        WARN    File contains a mix of CR, LF, and CR LF line endings!\n"
-#~ msgstr ""
-#~ "        WARN Arkiv indeholder en blanding af linjeskifttyperne CR, LF og "
-#~ "CR LF!\n"
-
-#~ msgid ""
-#~ "        WARN    LanguageEncoding required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 56-57, section 5.3.\n"
-#~ msgstr ""
-#~ "        WARN    LanguageEncoding kræves af PPD 4.3 spec.\n"
-#~ "                REF: Side 56-57, afsnit 5.3.\n"
-
-#~ msgid "        WARN    Line %d only contains whitespace!\n"
-#~ msgstr "        WARN    Linje %d indeholder kun tom plads!\n"
-
-#~ msgid ""
-#~ "        WARN    Manufacturer required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 58-59, section 5.3.\n"
-#~ msgstr ""
-#~ "        WARN    Manufacturer kræves af PPD 4.3 spec.\n"
-#~ "                REF: Side 58-59, afsnit 5.3.\n"
-
-#~ msgid "        WARN    Missing APDialogExtension file \"%s\"\n"
-#~ msgstr "        WARN    Manglende APDialogExtension-arkiv \"%s\"\n"
-
-#~ msgid "        WARN    Missing APPrinterIconPath file \"%s\"\n"
-#~ msgstr "        WARN    Manglende APPrinterIconPath-arkiv \"%s\"\n"
-
-#~ msgid ""
-#~ "        WARN    Non-Windows PPD files should use lines ending with only "
-#~ "LF, not CR LF!\n"
-#~ msgstr ""
-#~ "        WARN    PPD-arkiver, som ikke stammer fra Windows, må kun bruge "
-#~ "linjeskifttypen LF, ikke CR LF!\n"
-
-#~ msgid ""
-#~ "        WARN    Obsolete PPD version %.1f!\n"
-#~ "                REF: Page 42, section 5.2.\n"
-#~ msgstr ""
-#~ "        WARN    Forældet PPD-version %.1f!\n"
-#~ "                REF: Side 42, afsnit 5.2.\n"
-
-#~ msgid ""
-#~ "        WARN    PCFileName longer than 8.3 in violation of PPD spec.\n"
-#~ "                REF: Pages 61-62, section 5.3.\n"
-#~ msgstr ""
-#~ "        WARN    PCFileName længere end 8.3 overtræder PPD-spec.\n"
-#~ "                REF: Side 61-62, afsnit 5.3.\n"
-
-#~ msgid ""
-#~ "        WARN    Protocols contains PJL but JCL attributes are not set.\n"
-#~ "                REF: Pages 78-79, section 5.7.\n"
-#~ msgstr ""
-#~ "        WARN    Protokoller indeholder PJL, men JCL-attributter er ikke "
-#~ "indstillet.\n"
-#~ "                REF: Side 78-79, afsnit 5.7.\n"
-
-#~ msgid ""
-#~ "        WARN    Protocols contains both PJL and BCP; expected TBCP.\n"
-#~ "                REF: Pages 78-79, section 5.7.\n"
-#~ msgstr ""
-#~ "        WARN    Protokoller indeholder både PJL og BCP; forventede TBCP.\n"
-#~ "                REF: Side 78-79, afsnit 5.7.\n"
-
-#~ msgid ""
-#~ "        WARN    ShortNickName required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "        WARN    ShortNickName kræves af PPD 4.3 spec.\n"
-#~ "                REF: Side 64-65, afsnit 5.3.\n"
-
-#~ msgid "      %s  %s %s does not exist!\n"
-#~ msgstr "      %s  %s %s eksisterer ikke!\n"
-
-#~ msgid ""
-#~ "      %s  Bad %s choice %s!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "      %s  Ugyldigt %s-valg %s!\n"
-#~ "                REF: Side 122, afsnit 5.17.\n"
-
-#~ msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s!\n"
-#~ msgstr ""
-#~ "      %s  Ugyldig UTF-8 \"%s\"-oversættelsesstreng til indstillingen %s!\n"
-
-#~ msgid ""
-#~ "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s!\n"
-#~ msgstr ""
-#~ "      %s  Ugyldig UTF-8 \"%s\"-oversættelsesstreng til indstillingen %s, "
-#~ "valg %s!\n"
-
-#~ msgid "      %s  Bad cupsFilter value \"%s\"!\n"
-#~ msgstr "      %s  Ugyldig cupsFilter-værdi \"%s\"!\n"
-
-#~ msgid "      %s  Bad cupsICCProfile %s!\n"
-#~ msgstr "      %s  Ugyldig cupsICCProfile %s!\n"
-
-#~ msgid "      %s  Bad cupsPreFilter value \"%s\"!\n"
-#~ msgstr "      %s  Ugyldig cupsPreFilter-værdi \"%s\"!\n"
-
-#~ msgid "      %s  Bad cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr "      %s  Ugyldig cupsUIConstraints %s: \"%s\"!\n"
-
-#~ msgid "      %s  Bad language \"%s\"!\n"
-#~ msgstr "      %s  Ugyldigt sprog \"%s\"!\n"
-
-#~ msgid "      %s  Empty cupsUIConstraints %s!\n"
-#~ msgstr "      %s  Tom cupsUIConstraints %s!\n"
-
-#~ msgid "      %s  Missing \"%s\" translation string for option %s!\n"
-#~ msgstr ""
-#~ "      %s  Manglende \"%s\"-oversættelsesstreng til indstillingen %s!\n"
-
-#~ msgid ""
-#~ "      %s  Missing \"%s\" translation string for option %s, choice %s!\n"
-#~ msgstr ""
-#~ "      %s  Manglende \"%s\"-oversættelsesstreng til indstillingen %s, valg "
-#~ "%s!\n"
-
-#~ msgid ""
-#~ "      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"!\n"
-#~ msgstr ""
-#~ "      %s  Manglende valg *%s %s i UIConstraints \"*%s %s *%s %s\"!\n"
-
-#~ msgid "      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr "      %s  Manglende valg *%s %s i cupsUIConstraints %s: \"%s\"!\n"
-
-#~ msgid "      %s  Missing cupsFilter file \"%s\"\n"
-#~ msgstr "      %s  Manglende cupsFilter-arkiv \"%s\"\n"
-
-#~ msgid "      %s  Missing cupsICCProfile file \"%s\"!\n"
-#~ msgstr "      %s  Manglende cupsICCProfile-arkiv \"%s\"!\n"
-
-#~ msgid "      %s  Missing cupsPreFilter file \"%s\"\n"
-#~ msgstr "      %s  Manglende cupsPreFilter-arkiv \"%s\"\n"
-
-#~ msgid "      %s  Missing cupsUIResolver %s!\n"
-#~ msgstr "      %s  Manglende cupsUIResolver %s!\n"
-
-#~ msgid "      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\"!\n"
-#~ msgstr ""
-#~ "      %s  Manglende indstilling %s i UIConstraints \"*%s %s *%s %s\"!\n"
-
-#~ msgid "      %s  Missing option %s in cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr ""
-#~ "      %s  Manglende indstilling %s i cupsUIConstraints %s: \"%s\"!\n"
-
-#~ msgid "      %s  No base translation \"%s\" is included in file!\n"
-#~ msgstr ""
-#~ "      %s  Ingen basisoversættelse af \"%s\" er inkluderet i arkiv!\n"
-
-#~ msgid ""
-#~ "      %s  REQUIRED %s does not define choice None!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "      %s  REQUIRED %s definerer ikke valget Ingen!\n"
-#~ "                REF: Side 122, afsnit 5.17.\n"
-
-#~ msgid "      %s  cupsICCProfile %s hash value collides with %s!\n"
-#~ msgstr "      %s  cupsICCProfile %s-talværdi kolliderer med %s!\n"
-
-#~ msgid "      %s  cupsUIResolver %s causes a loop!\n"
-#~ msgstr "      %s  cupsUIResolver %s forårsager en sløjfe!\n"
-
-#~ msgid "      **FAIL**  %s choice names %s and %s differ only by case!\n"
-#~ msgstr ""
-#~ "      **FAIL**  %s navne på valg %s og %s adskilles kun af brugen af "
-#~ "store/små bogstaver!\n"
-
-#~ msgid ""
-#~ "      **FAIL**  %s must be 1284DeviceID!\n"
-#~ "                REF: Page 72, section 5.5\n"
-#~ msgstr ""
-#~ "      **FAIL**  %s skal være 1284DeviceID!\n"
-#~ "                REF: Side 72, afsnit 5.5.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Default%s %s\n"
-#~ "                REF: Page 40, section 4.5.\n"
-#~ msgstr ""
-#~ "      **FAIL**  UGYLDIG Default%s %s\n"
-#~ "                REF: Side 40, afsnit 4.5.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD DefaultImageableArea %s!\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  UGYLDIGT DefaultImageableArea %s!\n"
-#~ "                REF: Side 102, afsnit 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD DefaultPaperDimension %s!\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  UGYLDIG DefaultPaperDimension %s!\n"
-#~ "                REF: Side 103, afsnit 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD JobPatchFile attribute in file\n"
-#~ "                REF: Page 24, section 3.4.\n"
-#~ msgstr ""
-#~ "      **FAIL**  UGYLDIG JobPatchFile-egenskab i arkiv\n"
-#~ "                REF: Side 24, afsnit 3.4.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Manufacturer (should be \"HP\")\n"
-#~ "                REF: Page 211, table D.1.\n"
-#~ msgstr ""
-#~ "      **FAIL**  UGYLDIG Manufacturer (skulle være \"HP\")\n"
-#~ "                REF: Side 211, tabel D.1.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Manufacturer (should be \"Oki\")\n"
-#~ "                REF: Page 211, table D.1.\n"
-#~ msgstr ""
-#~ "      **FAIL**  UGYLDIG Manufacturer (skulle være \"Oki\")\n"
-#~ "                REF: Side 211, tabel D.1.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n"
-#~ "                REF: Pages 59-60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  UGYLDIGT ModelName - \"%c\" ikke tilladt i streng.\n"
-#~ "                REF: Side 59-60, afsnit 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD PSVersion - not \"(string) int\".\n"
-#~ "                REF: Pages 62-64, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  UGYLDIG PSVersion - ikke \"(string) int\".\n"
-#~ "                REF: Side 62-64, afsnit 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Product - not \"(string)\".\n"
-#~ "                REF: Page 62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  UGYLDIGT Product - ikke \"(string)\".\n"
-#~ "                REF: Side 62, afsnit 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD ShortNickName - longer than 31 chars.\n"
-#~ "                REF: Pages 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  UGYLDIGT ShortNickName - længere end 31 tegn.\n"
-#~ "                REF: Side 64-65, afsnit 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad %s choice %s!\n"
-#~ "                REF: Page 84, section 5.9\n"
-#~ msgstr ""
-#~ "      **FAIL**  Ugyldigt %s-valg %s!\n"
-#~ "                REF: Side 84, afsnit 5.9.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad FileVersion \"%s\"\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  Ugyldig FileVersion \"%s\"\n"
-#~ "                REF: Side 56, afsnit 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad FormatVersion \"%s\"\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  Ugyldig FormatVersion \"%s\"\n"
-#~ "                REF: Side 56, afsnit 5.3.\n"
-
-#~ msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1!\n"
-#~ msgstr ""
-#~ "      **FAIL**  Ugyldig LanguageEncoding %s - skal være ISOLatin1!\n"
-
-#~ msgid "      **FAIL**  Bad LanguageVersion %s - must be English!\n"
-#~ msgstr "      **FAIL**  Ugyldig LanguageVersion %s - skal være dansk!\n"
-
-#~ msgid "      **FAIL**  Default option code cannot be interpreted: %s\n"
-#~ msgstr ""
-#~ "      **FAIL**  Standardkode til indstilling kunne ikke fortolkes: %s\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Default translation string for option %s choice %s "
-#~ "contains 8-bit characters!\n"
-#~ msgstr ""
-#~ "      **FAIL**  Standardoversættelsesstreng til indstillingen %s, valg %"
-#~ "s, indeholder 8 bit tegn!\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Default translation string for option %s contains 8-bit "
-#~ "characters!\n"
-#~ msgstr ""
-#~ "      **FAIL**  Standardoversættelsesstreng til indstillingen %s "
-#~ "indeholder 8 bit tegn!\n"
-
-#~ msgid "      **FAIL**  Group names %s and %s differ only by case!\n"
-#~ msgstr ""
-#~ "      **FAIL**  Gruppenavne %s og %s adskilles kun af brugen af store/små "
-#~ "bogstaver!\n"
-
-#~ msgid "      **FAIL**  Multiple occurrences of %s choice name %s!\n"
-#~ msgstr "      **FAIL**  Flere forekomster af %s valg af navn %s!\n"
-
-#~ msgid "      **FAIL**  Option names %s and %s differ only by case!\n"
-#~ msgstr ""
-#~ "      **FAIL**  Navne på indstillinger %s og %s adskilles kun af brugen "
-#~ "af store/små bogstaver!\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Default%s\n"
-#~ "                REF: Page 40, section 4.5.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED Default%s\n"
-#~ "                REF: Side 40, afsnit 4.5.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED DefaultImageableArea\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED DefaultImageableArea\n"
-#~ "                REF: Side 102, afsnit 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED DefaultPaperDimension\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED DefaultPaperDimension\n"
-#~ "                REF: Side 103, afsnit 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED FileVersion\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED FileVersion\n"
-#~ "                REF: Side 56, afsnit 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED FormatVersion\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED FormatVersion\n"
-#~ "                REF: Side 56, afsnit 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ImageableArea for PageSize %s\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED ImageableArea til PageSize %s\n"
-#~ "                REF: Side 41, afsnit 5.\n"
-#~ "                REF: Side 102, afsnit 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED LanguageEncoding\n"
-#~ "                REF: Pages 56-57, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED LanguageEncoding\n"
-#~ "                REF: Side 56-57, afsnit 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED LanguageVersion\n"
-#~ "                REF: Pages 57-58, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED LanguageVersion\n"
-#~ "                REF: Side 57-58, afsnit 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Manufacturer\n"
-#~ "                REF: Pages 58-59, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED Manufacturer\n"
-#~ "                REF: Side 58-59, afsnit 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ModelName\n"
-#~ "                REF: Pages 59-60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED ModelName\n"
-#~ "                REF: Side 59-60, afsnit 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED NickName\n"
-#~ "                REF: Page 60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED NickName\n"
-#~ "                REF: Side 60, afsnit 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PCFileName\n"
-#~ "                REF: Pages 61-62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED PCFileName\n"
-#~ "                REF: Side 61-62, afsnit 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PSVersion\n"
-#~ "                REF: Pages 62-64, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED PSVersion\n"
-#~ "                REF: Side 62-64, afsnit 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageRegion\n"
-#~ "                REF: Page 100, section 5.14.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED PageRegion\n"
-#~ "                REF: Side 100, afsnit 5.14.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageSize\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 99, section 5.14.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED PageSize\n"
-#~ "                REF: Side 41, afsnit 5.\n"
-#~ "                REF: Side 99, afsnit 5.14.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageSize\n"
-#~ "                REF: Pages 99-100, section 5.14.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED PageSize\n"
-#~ "                REF: Side 99-100, afsnit 5.14.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PaperDimension for PageSize %s\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED PaperDimension til PageSize %s\n"
-#~ "                REF: Side 41, afsnit 5.\n"
-#~ "                REF: Side 103, afsnit 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Product\n"
-#~ "                REF: Page 62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED Product\n"
-#~ "                REF: Side 62, afsnit 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ShortNickName\n"
-#~ "                REF: Page 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED ShortNickName\n"
-#~ "                REF: Side 64-65, afsnit 5.3.\n"
-
-#~ msgid "    %d ERRORS FOUND\n"
-#~ msgstr "    %d FEJL FUNDET\n"
-
-#~ msgid ""
-#~ "    Bad %%%%BoundingBox: on line %d!\n"
-#~ "        REF: Page 39, %%%%BoundingBox:\n"
-#~ msgstr ""
-#~ "    Ugyldig %%%%BoundingBox: på linje %d!\n"
-#~ "        REF: Side 39, %%%%BoundingBox:\n"
-
-#~ msgid ""
-#~ "    Bad %%%%Page: on line %d!\n"
-#~ "        REF: Page 53, %%%%Page:\n"
-#~ msgstr ""
-#~ "    Ugyldig %%%%Page: på linje %d!\n"
-#~ "        REF: Side 53, %%%%Page:\n"
-
-#~ msgid ""
-#~ "    Bad %%%%Pages: on line %d!\n"
-#~ "        REF: Page 43, %%%%Pages:\n"
-#~ msgstr ""
-#~ "    Ugyldige %%%%Pages: på linje %d!\n"
-#~ "        REF: Side 43, %%%%Pages:\n"
-
-#~ msgid ""
-#~ "    Line %d is longer than 255 characters (%d)!\n"
-#~ "        REF: Page 25, Line Length\n"
-#~ msgstr ""
-#~ "    Linje %d er på mere end 255 tegn (%d)!\n"
-#~ "        REF: Side 25, Linjelængde\n"
-
-#~ msgid ""
-#~ "    Missing %!PS-Adobe-3.0 on first line!\n"
-#~ "        REF: Page 17, 3.1 Conforming Documents\n"
-#~ msgstr ""
-#~ "    Manglende %!PS-Adobe-3.0 på første linje!\n"
-#~ "        REF: Side 17, 3.1 Overensstemmende dokumenter\n"
-
-#~ msgid ""
-#~ "    Missing %%EndComments comment!\n"
-#~ "        REF: Page 41, %%EndComments\n"
-#~ msgstr ""
-#~ "    Manglende %%EndComments-kommentar!\n"
-#~ "        REF: Side 41, %%EndComments\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%BoundingBox: comment!\n"
-#~ "        REF: Page 39, %%BoundingBox:\n"
-#~ msgstr ""
-#~ "    Manglende eller ugyldig %%BoundingBox: kommentar!\n"
-#~ "        REF: Side 39, %%BoundingBox:\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%Page: comments!\n"
-#~ "        REF: Page 53, %%Page:\n"
-#~ msgstr ""
-#~ "    Manglende eller ugyldig %%Page: kommentarer!\n"
-#~ "        REF: Side 53, %%Page:\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%Pages: comment!\n"
-#~ "        REF: Page 43, %%Pages:\n"
-#~ msgstr ""
-#~ "    Manglende eller ugyldig %%Pages: kommentar!\n"
-#~ "        REF: Side 43, %%Pages:\n"
-
-#~ msgid "    NO ERRORS FOUND\n"
-#~ msgstr "    INGEN FEJL FUNDET\n"
-
-#~ msgid "    Saw %d lines that exceeded 255 characters!\n"
-#~ msgstr "    Så %d linjer, der overskred 255 tegn!\n"
-
-#~ msgid "    Too many %%BeginDocument comments!\n"
-#~ msgstr "    For mange %%BeginDocument-kommentarer!\n"
-
-#~ msgid "    Too many %%EndDocument comments!\n"
-#~ msgstr "    For mange %%EndDocument-kommentarer!\n"
-
-#~ msgid "    Warning: file contains binary data!\n"
-#~ msgstr "    Advarsel: Arkiv indeholder binære data!\n"
-
-#~ msgid "    Warning: no %%EndComments comment in file!\n"
-#~ msgstr "    Advarsel: Ingen %%EndComments-kommentar i arkiv!\n"
-
-#~ msgid "    Warning: obsolete DSC version %.1f in file!\n"
-#~ msgstr "    Advarsel: Forældet DSC-version %.1f i arkiv!\n"
-
-#~ msgid " FAIL\n"
-#~ msgstr " FAIL\n"
-
-#~ msgid ""
-#~ " FAIL\n"
-#~ "      **FAIL**  Unable to open PPD file - %s\n"
-#~ msgstr ""
-#~ " FAIL\n"
-#~ "      **FAIL**  Kan ikke åbne PPD-arkiv - %s\n"
-
-#~ msgid ""
-#~ " FAIL\n"
-#~ "      **FAIL**  Unable to open PPD file - %s on line %d.\n"
-#~ msgstr ""
-#~ " FAIL\n"
-#~ "      **FAIL**  Kan ikke åbne PPD-arkiv - %s på linje %d.\n"
-
-#~ msgid " PASS\n"
-#~ msgstr " PASS\n"
-
-#~ msgid "#10 Envelope"
-#~ msgstr "#10-kuvert"
-
-#~ msgid "#11 Envelope"
-#~ msgstr "#11-kuvert"
-
-#~ msgid "#12 Envelope"
-#~ msgstr "#12-kuvert"
-
-#~ msgid "#14 Envelope"
-#~ msgstr "#14-kuvert"
-
-#~ msgid "#9 Envelope"
-#~ msgstr "#9-kuvert"
-
-#~ msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes\n"
-#~ msgstr "%-6s %-10.10s %-4d %-10d %-27.27s %.0f byte\n"
-
-#~ msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes\n"
-#~ msgstr "%-7s %-7.7s %-7d %-31.31s %.0f byte\n"
-
-#~ msgid "%s accepting requests since %s\n"
-#~ msgstr "%s accepterer anmodninger siden %s\n"
-
-#~ msgid "%s is not implemented by the CUPS version of lpc.\n"
-#~ msgstr "%s er ikke implementeret af CUPS-versionen af lpc.\n"
-
-#~ msgid "%s is not ready\n"
-#~ msgstr "%s er ikke klar\n"
-
-#~ msgid "%s is ready\n"
-#~ msgstr "%s er klar\n"
-
-#~ msgid "%s is ready and printing\n"
-#~ msgstr "%s er klar og udskriver\n"
-
-#~ msgid ""
-#~ "%s not accepting requests since %s -\n"
-#~ "\t%s\n"
-#~ msgstr ""
-#~ "%s accepterer ikke anmodninger siden %s -\n"
-#~ "\t%s\n"
-
-#~ msgid "%s not supported!"
-#~ msgstr "%s ikke understøttet!"
-
-#~ msgid "%s/%s accepting requests since %s\n"
-#~ msgstr "%s/%s accepterer anmodninger siden %s\n"
-
-#~ msgid ""
-#~ "%s/%s not accepting requests since %s -\n"
-#~ "\t%s\n"
-#~ msgstr ""
-#~ "%s/%s accepterer ikke anmodninger siden %s -\n"
-#~ "\t%s\n"
-
-#~ msgid "%s: %-33.33s [job %d localhost]\n"
-#~ msgstr "%s: %-33.33s [job %d localhost]\n"
-
-#~ msgid "%s: %s failed: %s\n"
-#~ msgstr "%s: %s mislykkedes: %s\n"
-
-#~ msgid "%s: Don't know what to do!\n"
-#~ msgstr "%s: Ved ikke, hvad jeg skal gøre!\n"
-
-#~ msgid ""
-#~ "%s: Error - %s environment variable names non-existent destination \"%s"
-#~ "\"!\n"
-#~ msgstr ""
-#~ "%s: Fejl - %s-miljøvariabel navngiver ikke eksisterende destination \"%s"
-#~ "\"!\n"
-
-#~ msgid "%s: Error - bad job ID!\n"
-#~ msgstr "%s: Fejl - ugyldig job-id!\n"
-
-#~ msgid "%s: Error - cannot print files and alter jobs simultaneously!\n"
-#~ msgstr "%s: Fejl - kan ikke udskrive arkiver og ændre job på samme tid!\n"
-
-#~ msgid ""
-#~ "%s: Error - cannot print from stdin if files or a job ID are provided!\n"
-#~ msgstr ""
-#~ "%s: Fejl - kan ikke udskrive fra stdin, hvis der leveres arkiver eller en "
-#~ "job-id!\n"
-
-#~ msgid "%s: Error - expected character set after '-S' option!\n"
-#~ msgstr "%s: Fejl - forventede tegnsæt efter indstillingen '-S'!\n"
-
-#~ msgid "%s: Error - expected content type after '-T' option!\n"
-#~ msgstr "%s: Fejl - forventede indholdstype efter indstillingen '-T'!\n"
-
-#~ msgid "%s: Error - expected copies after '-n' option!\n"
-#~ msgstr "%s: Fejl - forventede kopier efter indstillingen '-n'!\n"
-
-#~ msgid "%s: Error - expected copy count after '-#' option!\n"
-#~ msgstr "%s: Fejl - forventede antal kopier efter indstillingen '-#'!\n"
-
-#~ msgid "%s: Error - expected destination after '-P' option!\n"
-#~ msgstr "%s: Fejl - forventede destination efter indstillingen '-P'!\n"
-
-#~ msgid "%s: Error - expected destination after '-b' option!\n"
-#~ msgstr "%s: Fejl - forventede destination efter indstillingen '-b'!\n"
-
-#~ msgid "%s: Error - expected destination after '-d' option!\n"
-#~ msgstr "%s: Fejl - forventede destination efter indstillingen '-d'!\n"
-
-#~ msgid "%s: Error - expected form after '-f' option!\n"
-#~ msgstr "%s: Fejl - forventede formular efter indstillingen '-f'!\n"
-
-#~ msgid "%s: Error - expected hold name after '-H' option!\n"
-#~ msgstr "%s: Error - forventede udsat navn efter indstillingen '-H'!\n"
-
-#~ msgid "%s: Error - expected hostname after '-H' option!\n"
-#~ msgstr "%s: Error - forventede værtsnavn efter indstillingen '-H'!\n"
-
-#~ msgid "%s: Error - expected hostname after '-h' option!\n"
-#~ msgstr "%s: Error - forventede værtsnavn efter indstillingen '-H'!\n"
-
-#~ msgid "%s: Error - expected mode list after '-y' option!\n"
-#~ msgstr "%s: Error - forventede funktionsliste efter indstillingen '-y'!\n"
-
-#~ msgid "%s: Error - expected name after '-%c' option!\n"
-#~ msgstr "%s: Error - forventede navn efter indstillingen '-%c'!\n"
-
-#~ msgid "%s: Error - expected option string after '-o' option!\n"
-#~ msgstr ""
-#~ "%s: Error - forventede alternativ streng efter indstillingen '-o'!\n"
-
-#~ msgid "%s: Error - expected page list after '-P' option!\n"
-#~ msgstr "%s: Error - forventede sideliste efter indstillingen '-P'!\n"
-
-#~ msgid "%s: Error - expected priority after '-%c' option!\n"
-#~ msgstr "%s: Error - forventede prioritet efter indstillingen '-%c'!\n"
-
-#~ msgid "%s: Error - expected reason text after '-r' option!\n"
-#~ msgstr "%s: Fejl - forventede årsagstekst efter indstillingen '-r'!\n"
-
-#~ msgid "%s: Error - expected title after '-t' option!\n"
-#~ msgstr "%s: Error - forventede titel efter indstillingen '-t'!\n"
-
-#~ msgid "%s: Error - expected username after '-U' option!\n"
-#~ msgstr "%s: Error - forventede brugernavn efter indstillingen '-U'!\n"
-
-#~ msgid "%s: Error - expected username after '-u' option!\n"
-#~ msgstr "%s: Error - forventede brugernavn efter indstillingen '-u'!\n"
-
-#~ msgid "%s: Error - expected value after '-%c' option!\n"
-#~ msgstr "%s: Error - forventede værdi efter indstillingen '-%c'!\n"
-
-#~ msgid ""
-#~ "%s: Error - need \"completed\", \"not-completed\", or \"all\" after '-W' "
-#~ "option!\n"
-#~ msgstr ""
-#~ "%s: Fejl - skal have \"completed\", \"not-completed\" eller \"all\" efter "
-#~ "indstillingen '-W'!\n"
-
-#~ msgid "%s: Error - no default destination available.\n"
-#~ msgstr "%s: Fejl - ingen tilgængelig standarddestination.\n"
-
-#~ msgid "%s: Error - priority must be between 1 and 100.\n"
-#~ msgstr "%s: Fejl - prioritet skal være mellem 1 og 100.\n"
-
-#~ msgid "%s: Error - scheduler not responding!\n"
-#~ msgstr "%s: Fejl - planlægger svarer ikke!\n"
-
-#~ msgid "%s: Error - too many files - \"%s\"\n"
-#~ msgstr "%s: Fejl - for mange arkiver - \"%s\"\n"
-
-#~ msgid "%s: Error - unable to access \"%s\" - %s\n"
-#~ msgstr "%s: Fejl - kan ikke få adgang til \"%s\" - %s\n"
-
-#~ msgid "%s: Error - unable to queue from stdin - %s\n"
-#~ msgstr "%s: Fejl - kan ikke sætte i kø fra stdin - %s\n"
-
-#~ msgid "%s: Error - unknown destination \"%s\"!\n"
-#~ msgstr "%s: Fejl - ukendt destination \"%s\"!\n"
-
-#~ msgid "%s: Error - unknown destination \"%s/%s\"!\n"
-#~ msgstr "%s: Fejl - ukendt destination \"%s/%s\"!\n"
-
-#~ msgid "%s: Error - unknown option '%c'!\n"
-#~ msgstr "%s: Fejl - ukendt indstilling '%c'!\n"
-
-#~ msgid "%s: Error - unknown option '%s'!\n"
-#~ msgstr "%s: Fejl - ukendt indstilling '%s'!\n"
-
-#~ msgid "%s: Expected job ID after '-i' option!\n"
-#~ msgstr "%s: Forventede job-id efter indstillingen '-i'!\n"
-
-#~ msgid "%s: Filter \"%s\" not available: %s\n"
-#~ msgstr "%s: Filter \"%s\" ikke tilgængeligt: %s\n"
-
-#~ msgid "%s: Invalid destination name in list \"%s\"!\n"
-#~ msgstr "%s: Ugyldigt destinationsnavn på listen \"%s\"!\n"
-
-#~ msgid "%s: Invalid filter string \"%s\"\n"
-#~ msgstr "%s: Ugyldig filterstreng \"%s\"\n"
-
-#~ msgid "%s: Need job ID ('-i jobid') before '-H restart'!\n"
-#~ msgstr "%s: Skal have job-id ('-i jobid') før '-H restart'!\n"
-
-#~ msgid "%s: No filter to convert from %s/%s to %s/%s!\n"
-#~ msgstr "%s: Intet filter til konvertering fra %s/%s til %s/%s!\n"
-
-#~ msgid "%s: Operation failed: %s\n"
-#~ msgstr "%s: Handling mislykkedes: %s\n"
-
-#~ msgid "%s: Sorry, no encryption support compiled in!\n"
-#~ msgstr ""
-#~ "%s: Beklager, der er ikke medkompileret krypteringsunderstøttelse!\n"
-
-#~ msgid "%s: Unable to connect to server\n"
-#~ msgstr "%s: Kan ikke oprette forbindelse til server\n"
-
-#~ msgid "%s: Unable to contact server!\n"
-#~ msgstr "%s: Kan ikke kontakte server!\n"
-
-#~ msgid "%s: Unable to determine MIME type of \"%s\"!\n"
-#~ msgstr "%s: Kan ikke bestemme MIME-typen på \"%s\"!\n"
-
-#~ msgid "%s: Unable to open %s - %s\n"
-#~ msgstr "%s: Kan ikke åbne %s - %s\n"
-
-#~ msgid "%s: Unable to open %s - %s on line %d.\n"
-#~ msgstr "%s: Kan ikke åbne %s - %s på linje %d.\n"
-
-#~ msgid "%s: Unable to open %s: %s\n"
-#~ msgstr "%s: Kan ikke åbne %s: %s\n"
-
-#~ msgid "%s: Unable to open PPD file: %s on line %d\n"
-#~ msgstr "%s: Kan ikke åbne PPD-arkiv: %s på linje %d\n"
-
-#~ msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"!\n"
-#~ msgstr "%s: Kan ikke læse MIME-database fra \"%s\" eller \"%s\"!\n"
-
-#~ msgid "%s: Unknown destination \"%s\"!\n"
-#~ msgstr "%s: Ukendt destination \"%s\"!\n"
-
-#~ msgid "%s: Unknown destination MIME type %s/%s!\n"
-#~ msgstr "%s: Ukendt destination på MIME-typen \"%s/%s\"!\n"
-
-#~ msgid "%s: Unknown option '%c'!\n"
-#~ msgstr "%s: Ukendt indstilling '%c'!\n"
-
-#~ msgid "%s: Unknown source MIME type %s/%s!\n"
-#~ msgstr "%s: Ukendt kilde på MIME-typen %s/%s!\n"
-
-#~ msgid ""
-#~ "%s: Warning - '%c' format modifier not supported - output may not be "
-#~ "correct!\n"
-#~ msgstr ""
-#~ "%s: Advarsel - '%c'-formatmodifikation ikke understøttet - resultat "
-#~ "muligvis ikke korrekt!"
-
-#~ msgid "%s: Warning - character set option ignored!\n"
-#~ msgstr "%s: Advarsel - indstillingen tegnsæt ignoreret!\n"
-
-#~ msgid "%s: Warning - content type option ignored!\n"
-#~ msgstr "%s: Advarsel - indstillingen indholdstype ignoreret!\n"
-
-#~ msgid "%s: Warning - form option ignored!\n"
-#~ msgstr "%s: Advarsel - indstillingen formular ignoreret!\n"
-
-#~ msgid "%s: Warning - mode option ignored!\n"
-#~ msgstr "%s: Advarsel - indstillingen funktion ignoreret!\n"
-
-#~ msgid ""
-#~ "%s: error - %s environment variable names non-existent destination \"%s"
-#~ "\"!\n"
-#~ msgstr ""
-#~ "%s: Fejl - %s-miljøvariabel navngiver ikke eksisterende destination \"%s"
-#~ "\"!\n"
-
-#~ msgid "%s: error - expected option=value after '-o' option!\n"
-#~ msgstr "%s: Fejl - forventede option=value efter indstillingen '-o'!\n"
-
-#~ msgid "%s: error - no default destination available.\n"
-#~ msgstr "%s: Fejl - ingen tilgængelig standarddestination.\n"
-
-#~ msgid "10 x 11\""
-#~ msgstr "10 x 11\""
-
-#~ msgid "10 x 13\""
-#~ msgstr "10 x 13\""
-
-#~ msgid "10 x 14\""
-#~ msgstr "10 x 14\""
-
-#~ msgid "12 x 11\""
-#~ msgstr "12 x 11\""
-
-#~ msgid "15 x 11\""
-#~ msgstr "15 x 11\""
-
-#~ msgid "600 DPI Grayscale"
-#~ msgstr "600 dpi gråtoner"
-
-#~ msgid "60x720dpi"
-#~ msgstr "60 x 720 dpi"
-
-#~ msgid "7 x 9\""
-#~ msgstr "7 x 9\""
-
-#~ msgid "8 x 10\""
-#~ msgstr "8 x 10\""
-
-#~ msgid "9 x 11\""
-#~ msgstr "9 x 11\""
-
-#~ msgid "9 x 12\""
-#~ msgstr "9 x 12\""
-
-#~ msgid "?Invalid help command unknown\n"
-#~ msgstr "?Ugyldig hjælpekommando ukendt\n"
-
-#~ msgid "A Samba password is required to export printer drivers!"
-#~ msgstr "Der kræves en Samba-adgangskode til eksport af printerarkiver!"
-
-#~ msgid "A Samba username is required to export printer drivers!"
-#~ msgstr "Der kræves et Samba-brugernavn til eksport af printerarkiver!"
-
-#~ msgid "A class named \"%s\" already exists!"
-#~ msgstr "Der findes allerede en klasse kaldet \"%s\"!"
-
-#~ msgid "A printer named \"%s\" already exists!"
-#~ msgstr "Der findes allerede en printer kaldet \"%s\"!"
-
-#~ msgid "A3 (Oversize)"
-#~ msgstr "A3 (overstørrelse)"
-
-#~ msgid "A4 (Oversize)"
-#~ msgstr "A4 (overstørrelse)"
-
-#~ msgid "A4 (Small)"
-#~ msgstr "A4 (beskåret)"
-
-#~ msgid "A5 (Oversize)"
-#~ msgstr "A5 (overstørrelse)"
-
-#~ msgid "ARCH A"
-#~ msgstr "ARCH A"
-
-#~ msgid "ARCH B"
-#~ msgstr "ARCH B"
-
-#~ msgid "Attempt to set %s printer-state to bad value %d!"
-#~ msgstr "Forsøger at indstille %s-printer-state til ugyldig værdi %d!"
-
-#~ msgid "Attribute groups are out of order (%x < %x)!"
-#~ msgstr "Egenskabsgrupper er ikke i rækkefølge (%x < %x)!"
-
-#~ msgid "Bad device URI \"%s\"!\n"
-#~ msgstr "Ugyldig enheds-URI \"%s\"!\n"
-
-#~ msgid "Bad device-uri \"%s\"!"
-#~ msgstr "Ugyldig device-uri \"%s\"!"
-
-#~ msgid "Bad device-uri scheme \"%s\"!"
-#~ msgstr "Ugyldig device-uri-plan \"%s\"!"
-
-#~ msgid "Bad document-format \"%s\"!"
-#~ msgstr "Ugyldigt document-format \"%s\"!"
-
-#~ msgid "Bad filename buffer!"
-#~ msgstr "Ugyldig arkivnavnebuffer!"
-
-#~ msgid "Bad font attribute: %s\n"
-#~ msgstr "Ugyldig skriftattribut: %s\n"
-
-#~ msgid "Bad job-priority value!"
-#~ msgstr "Ugyldig værdi for job-priority!"
-
-#~ msgid "Bad job-sheets value \"%s\"!"
-#~ msgstr "Ugyldig værdi for job-sheets \"%s\"!"
-
-#~ msgid "Bad job-sheets value type!"
-#~ msgstr "Ugyldig værditype på job-sheets!"
-
-#~ msgid "Bad job-state value!"
-#~ msgstr "Ugyldig værdi for job-state!"
-
-#~ msgid "Bad job-uri attribute \"%s\"!"
-#~ msgstr "Ugyldig egenskab for job-uri \"%s\"!"
-
-#~ msgid "Bad notify-pull-method \"%s\"!"
-#~ msgstr "Ugyldig notify-pull-method \"%s\"!"
-
-#~ msgid "Bad notify-recipient-uri URI \"%s\"!"
-#~ msgstr "Ugyldig notify-recipient-uri URI \"%s\"!"
-
-#~ msgid "Bad option + choice on line %d!"
-#~ msgstr "Ugyldig indstilling + valg på linje %d!"
-
-#~ msgid "Bad port-monitor \"%s\"!"
-#~ msgstr "Ugyldig port-monitor \"%s\"!"
-
-#~ msgid "Bad printer-state value %d!"
-#~ msgstr "Ugyldig værdi for printer-state %d!"
-
-#~ msgid "Bad request version number %d.%d!"
-#~ msgstr "Ugyldigt versionsnummer på anmodning %d.%d!"
-
-#~ msgid "Bad subscription ID!"
-#~ msgstr "Ugyldig abonnements-id!"
-
-#~ msgid "C0 Envelope"
-#~ msgstr "C0-kuvert"
-
-#~ msgid "C1 Envelope"
-#~ msgstr "C1-kuvert"
-
-#~ msgid "C2 Envelope"
-#~ msgstr "C2-kuvert"
-
-#~ msgid "C3 Envelope"
-#~ msgstr "C3-kuvert"
-
-#~ msgid "C4"
-#~ msgstr "C4"
-
-#~ msgid "C4 Envelope"
-#~ msgstr "C4-kuvert"
-
-#~ msgid "C5"
-#~ msgstr "C5"
-
-#~ msgid "C5 Envelope"
-#~ msgstr "C5-kuvert"
-
-#~ msgid "C6"
-#~ msgstr "C6"
-
-#~ msgid "C6 Envelope"
-#~ msgstr "C6-kuvert"
-
-#~ msgid "C65 Envelope"
-#~ msgstr "C65-kuvert"
-
-#~ msgid "C7 Envelope"
-#~ msgstr "C7-kuvert"
-
-#~ msgid "Character set \"%s\" not supported!"
-#~ msgstr "Tegnsættet \"%s\" understøttes ikke!"
-
-#~ msgid "Chou3 Envelope"
-#~ msgstr "Chou3-kuvert"
-
-#~ msgid "Chou4 Envelope"
-#~ msgstr "Chou4-kuvert"
-
-#~ msgid ""
-#~ "Commands may be abbreviated.  Commands are:\n"
-#~ "\n"
-#~ "exit    help    quit    status  ?\n"
-#~ msgstr ""
-#~ "Kommandoer kan være forkortet.  Kommandoer er:\n"
-#~ "\n"
-#~ "exit    help    quit    status  ?\n"
-
-#~ msgid "Could not scan type \"%s\"!"
-#~ msgstr "Kunne ikke scanne typen \"%s\"!"
-
-#~ msgid "Cover open."
-#~ msgstr "Dæksel åbent."
-
-#~ msgid "DL"
-#~ msgstr "DL"
-
-#~ msgid "DL Envelope"
-#~ msgstr "DL-kuvert"
-
-#~ msgid "Developer almost empty."
-#~ msgstr "Fremkalder næsten tom."
-
-#~ msgid "Developer empty!"
-#~ msgstr "Fremkalder tom!"
-
-#~ msgid ""
-#~ "Device: uri = %s\n"
-#~ "        class = %s\n"
-#~ "        info = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ "        location = %s\n"
-#~ msgstr ""
-#~ "Enhed: uri = %s\n"
-#~ "        class = %s\n"
-#~ "        info = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ "        location = %s\n"
-
-#~ msgid "Document %d not found in job %d."
-#~ msgstr "Dokument %d findes ikke i job %d."
-
-#~ msgid "Door open."
-#~ msgstr "Dæksel åbent."
-
-#~ msgid "Double Postcard"
-#~ msgstr "Dobbelt postkort"
-
-#~ msgid "EMERG: Unable to allocate memory for page info: %s\n"
-#~ msgstr "EMERG: Kan ikke tildele hukommelse til sideinfo: %s\n"
-
-#~ msgid "EMERG: Unable to allocate memory for pages array: %s\n"
-#~ msgstr "EMERG: Kan ikke tildele hukommelse til rækkefølge af sider: %s\n"
-
-#~ msgid "ERROR: Bad %%BoundingBox: comment seen!\n"
-#~ msgstr "ERROR: Ugyldig %%BoundingBox: Kommentar set!\n"
-
-#~ msgid "ERROR: Bad %%IncludeFeature: comment!\n"
-#~ msgstr "ERROR: Ugyldig %%IncludeFeature: Kommentar!\n"
-
-#~ msgid "ERROR: Bad %%Page: comment in file!\n"
-#~ msgstr "ERROR: Ugyldig %%Page: Kommentar i arkiv!\n"
-
-#~ msgid "ERROR: Bad %%PageBoundingBox: comment in file!\n"
-#~ msgstr "ERROR: Ugyldig %%PageBoundingBox: Kommentar i arkiv!\n"
-
-#~ msgid "ERROR: Bad SCSI device file \"%s\"!\n"
-#~ msgstr "ERROR: Ugyldigt SCSI-enhedsarkiv \"%s\"!\n"
-
-#~ msgid "ERROR: Bad charset file %s\n"
-#~ msgstr "ERROR: Ugyldigt tegnsætsarkiv %s\n"
-
-#~ msgid "ERROR: Bad charset type %s\n"
-#~ msgstr "ERROR: Ugyldig type på tegnsæt %s\n"
-
-#~ msgid "ERROR: Bad columns value %d!\n"
-#~ msgstr "ERROR: Ugyldig kolonneværdi %d!\n"
-
-#~ msgid "ERROR: Bad cpi value %f!\n"
-#~ msgstr "ERROR: Ugyldig cpi-værdi %f!\n"
-
-#~ msgid "ERROR: Bad font description line: %s\n"
-#~ msgstr "ERROR: Ugyldig linje til skriftbeskrivelse: %s\n"
-
-#~ msgid "ERROR: Bad lpi value %f!\n"
-#~ msgstr "ERROR: Ugyldig lpi-værdi %f!\n"
-
-#~ msgid "ERROR: Bad page setup!\n"
-#~ msgstr "ERROR: Ugyldigt sidelayout!\n"
-
-#~ msgid "ERROR: Bad text direction %s\n"
-#~ msgstr "ERROR: Ugyldig tekstretning %s\n"
-
-#~ msgid "ERROR: Bad text width %s\n"
-#~ msgstr "ERROR: Ugyldig tekstbredde %s\n"
-
-#~ msgid "ERROR: Destination printer does not exist!\n"
-#~ msgstr "ERROR: Destinationsprinter findes ikke!\n"
-
-#~ msgid "ERROR: Duplicate %%BoundingBox: comment seen!\n"
-#~ msgstr "ERROR: Dubleret %%BoundingBox: Kommentar set!\n"
-
-#~ msgid "ERROR: Duplicate %%Pages: comment seen!\n"
-#~ msgstr "ERROR: Dublerede %%Pages: Kommentar set!\n"
-
-#~ msgid "ERROR: Empty print file!\n"
-#~ msgstr "ERROR: Tomt udskriftsarkiv!\n"
-
-#~ msgid "ERROR: Error %d sending PAPSendData request: %s\n"
-#~ msgstr "ERROR: Fejl %d under afsendelse af PAPSendData-anmodning: %s\n"
-
-#~ msgid "ERROR: Expected quoted string on line %d of %s!\n"
-#~ msgstr "ERROR: Forventede streng med anførselstegn på linje %d af %s!\n"
-
-#~ msgid "ERROR: Fatal USB error!\n"
-#~ msgstr "ERROR: Uoprettelig USB-fejl!\n"
-
-#~ msgid "ERROR: Invalid HP-GL/2 command seen, unable to print file!\n"
-#~ msgstr "ERROR: Ugyldig HP-GL/2-kommando set, kan ikke udskrive arkiv!\n"
-
-#~ msgid "ERROR: Missing %%EndProlog!\n"
-#~ msgstr "ERROR: Manglende %%EndProlog!\n"
-
-#~ msgid "ERROR: Missing %%EndSetup!\n"
-#~ msgstr "ERROR: Manglende %%EndSetup!\n"
-
-#~ msgid ""
-#~ "ERROR: Missing device URI on command-line and no DEVICE_URI environment "
-#~ "variable!\n"
-#~ msgstr ""
-#~ "ERROR: Manglende enheds-URI på kommandolinjen og ingen DEVICE_URI-"
-#~ "miljøvariabel!\n"
-
-#~ msgid "ERROR: Missing value on line %d of banner file!\n"
-#~ msgstr "ERROR: Manglende værdi på linje %d i bannerarkiv!\n"
-
-#~ msgid ""
-#~ "ERROR: Need a msgid line before any translation strings on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ERROR: Kræver en msgid-linje før evt. oversætterstrenge på linje %d i %"
-#~ "s!\n"
-
-#~ msgid "ERROR: No %%BoundingBox: comment in header!\n"
-#~ msgstr "ERROR: Ingen %%BoundingBox: Kommentar i header!\n"
-
-#~ msgid "ERROR: No %%Pages: comment in header!\n"
-#~ msgstr "ERROR: Ingen %%Pages: Kommentar i header!\n"
-
-#~ msgid ""
-#~ "ERROR: No device URI found in argv[0] or in DEVICE_URI environment "
-#~ "variable!\n"
-#~ msgstr ""
-#~ "ERROR: Ingen enheds-URI fundet i argv[0] eller i DEVICE_URI-"
-#~ "miljøvariabel!\n"
-
-#~ msgid "ERROR: No fonts in charset file %s\n"
-#~ msgstr "ERROR: Ingen skrifter i tegnsætsarkiv %s\n"
-
-#~ msgid "ERROR: No pages found!\n"
-#~ msgstr "ERROR: Ingen sider fundet!\n"
-
-#~ msgid "ERROR: Out of paper!\n"
-#~ msgstr "ERROR: Ikke mere papir!\n"
-
-#~ msgid "ERROR: PRINTER environment variable not defined!\n"
-#~ msgstr "ERROR: PRINTER-miljøvariabel ikke defineret!\n"
-
-#~ msgid "ERROR: Print file was not accepted (%s)!\n"
-#~ msgstr "ERROR: Udskriftsarkiv blev ikke accepteret (%s)!\n"
-
-#~ msgid "ERROR: Printer not responding\n"
-#~ msgstr "ERROR: Printer svarer ikke!\n"
-
-#~ msgid "ERROR: Printer not responding!\n"
-#~ msgstr "ERROR: Printer svarer ikke!\n"
-
-#~ msgid "ERROR: Printer sent unexpected EOF\n"
-#~ msgstr "ERROR: Printer sendte uventet EOF\n"
-
-#~ msgid "ERROR: Remote host did not accept control file (%d)\n"
-#~ msgstr "ERROR: Ekstern vært accepterede ikke kontrolarkiv (%d)\n"
-
-#~ msgid "ERROR: Remote host did not accept data file (%d)\n"
-#~ msgstr "ERROR: Ekstern vært accepterede ikke dataarkiv (%d)\n"
-
-#~ msgid "ERROR: There was a timeout error while sending data to the printer\n"
-#~ msgstr ""
-#~ "ERROR: Der opstod en timeout-fejl under afsendelse af data til printeren\n"
-
-#~ msgid "ERROR: Unable to add file %d to job: %s\n"
-#~ msgstr "ERROR: Kan ikke føje arkivet %d til job: %s\n"
-
-#~ msgid "ERROR: Unable to cancel job %d: %s\n"
-#~ msgstr "ERROR: Kan ikke annullere jobbet %d: %s\n"
-
-#~ msgid "ERROR: Unable to copy PDF file"
-#~ msgstr "ERROR: Kan ikke kopiere PDF-arkiv"
-
-#~ msgid "ERROR: Unable to create socket"
-#~ msgstr "ERROR: Kan ikke oprette socket"
-
-#~ msgid "ERROR: Unable to create temporary compressed print file: %s\n"
-#~ msgstr ""
-#~ "ERROR: Kan ikke oprette midlertidigt komprimeret udskriftsarkiv: %s\n"
-
-#~ msgid "ERROR: Unable to create temporary file"
-#~ msgstr "ERROR: Kan ikke oprette midlertidigt arkiv"
-
-#~ msgid "ERROR: Unable to create temporary file - %s.\n"
-#~ msgstr "ERROR: Kan ikke oprette midlertidigt arkiv - %s.\n"
-
-#~ msgid "ERROR: Unable to create temporary file: %s\n"
-#~ msgstr "ERROR: Kan ikke oprette midlertidigt arkiv: %s\n"
-
-#~ msgid "ERROR: Unable to exec pictwpstops: %s\n"
-#~ msgstr "ERROR: Kan ikke udføre pictwpstops: %s\n"
-
-#~ msgid "ERROR: Unable to execute gs program"
-#~ msgstr "ERROR: Kan ikke udføre gs-program"
-
-#~ msgid "ERROR: Unable to execute pdftops program"
-#~ msgstr "ERROR: Kan ikke udføre pdftops-program"
-
-#~ msgid "ERROR: Unable to fork pictwpstops: %s\n"
-#~ msgstr "ERROR: Kan ikke fork pictwpstops: %s\n"
-
-#~ msgid "ERROR: Unable to get PAP request"
-#~ msgstr "ERROR: Kan ikke hente PAP-anmodning"
-
-#~ msgid "ERROR: Unable to get PAP response"
-#~ msgstr "ERROR: Kan ikke hente PAP-svar"
-
-#~ msgid "ERROR: Unable to get PPD file for printer \"%s\" - %s.\n"
-#~ msgstr "ERROR: Kan ikke hente PPD-arkiv til printeren \"%s\" - %s.\n"
-
-#~ msgid "ERROR: Unable to get default AppleTalk zone"
-#~ msgstr "ERROR: Kan ikke hente AppleTalk-standardzone"
-
-#~ msgid "ERROR: Unable to get job %d attributes (%s)!\n"
-#~ msgstr "ERROR: Kan ikke hente attributter til jobbet %d (%s)!\n"
-
-#~ msgid "ERROR: Unable to get printer status (%s)!\n"
-#~ msgstr "ERROR: Kan ikke hente printerstatus (%s)!\n"
-
-#~ msgid "ERROR: Unable to locate printer '%s'!\n"
-#~ msgstr "ERROR: Kan ikke finde printeren '%s'!\n"
-
-#~ msgid "ERROR: Unable to look for PAP response"
-#~ msgstr "ERROR: Kan ikke søge efter PAP-svar"
-
-#~ msgid "ERROR: Unable to lookup AppleTalk printers"
-#~ msgstr "ERROR: Kan ikke slå AppleTalk-printere op"
-
-#~ msgid "ERROR: Unable to make AppleTalk address"
-#~ msgstr "ERROR: Kan ikke oprette AppleTalk-adresse"
-
-#~ msgid "ERROR: Unable to open \"%s\" - %s\n"
-#~ msgstr "ERROR: Kan ikke åbne \"%s\" - %s\n"
-
-#~ msgid "ERROR: Unable to open %s: %s\n"
-#~ msgstr "ERROR: Kan ikke åbne %s: %s\n"
-
-#~ msgid "ERROR: Unable to open banner file \"%s\" - %s\n"
-#~ msgstr "ERROR: Kan ikke åbne bannerarkiv \"%s\" - %s\n"
-
-#~ msgid "ERROR: Unable to open device file \"%s\": %s\n"
-#~ msgstr "ERROR: Kan ikke åbne enhedsarkivet \"%s\": %s\n"
-
-#~ msgid "ERROR: Unable to open file \"%s\" - %s\n"
-#~ msgstr "ERROR: Kan ikke åbne arkivet \"%s\" - %s\n"
-
-#~ msgid "ERROR: Unable to open file \"%s\": %s\n"
-#~ msgstr "ERROR: Kan ikke åbne arkivet \"%s\": %s\n"
-
-#~ msgid "ERROR: Unable to open image file for printing!\n"
-#~ msgstr "ERROR: Kan ikke åbne billedarkiv til udskrivning!\n"
-
-#~ msgid "ERROR: Unable to open print file \"%s\": %s\n"
-#~ msgstr "ERROR: Kan ikke åbne udskriftarkivet \"%s\": %s\n"
-
-#~ msgid "ERROR: Unable to open print file %s - %s\n"
-#~ msgstr "ERROR: Kan ikke åbne udskriftsarkivet %s - %s\n"
-
-#~ msgid "ERROR: Unable to open print file %s: %s\n"
-#~ msgstr "ERROR: Kan ikke åbne udskriftarkivet %s: %s\n"
-
-#~ msgid "ERROR: Unable to open temporary compressed print file: %s\n"
-#~ msgstr "ERROR: Kan ikke åbne midlertidigt komprimeret udskriftsarkiv: %s\n"
-
-#~ msgid "ERROR: Unable to open temporary file"
-#~ msgstr "ERROR: Kan ikke åbne midlertidigt arkiv"
-
-#~ msgid "ERROR: Unable to print %d text columns!\n"
-#~ msgstr "ERROR: Kan ikke udskrive %d tekstspalter!\n"
-
-#~ msgid "ERROR: Unable to print %dx%d text page!\n"
-#~ msgstr "ERROR: Kan ikke udskrive %dx%d tekstside!\n"
-
-#~ msgid "ERROR: Unable to read print data"
-#~ msgstr "ERROR: Kan ikke læse udskriftsdata"
-
-#~ msgid "ERROR: Unable to read print data!\n"
-#~ msgstr "ERROR: Kan ikke læse udskriftsdata!\n"
-
-#~ msgid "ERROR: Unable to reserve port"
-#~ msgstr "ERROR: Kan ikke reservere port"
-
-#~ msgid "ERROR: Unable to seek to offset %ld in file - %s\n"
-#~ msgstr "ERROR: Kan ikke forsøge at forskyde %ld i arkiv - %s\n"
-
-#~ msgid "ERROR: Unable to seek to offset %lld in file - %s\n"
-#~ msgstr "ERROR: Kan ikke forsøge at forskyde %lld i arkiv - %s\n"
-
-#~ msgid "ERROR: Unable to send LPD command"
-#~ msgstr "ERROR: Kan ikke sende LPD-kommando"
-
-#~ msgid "ERROR: Unable to send PAP tickle request"
-#~ msgstr "ERROR: Kan ikke sende PAP tickle-anmodning"
-
-#~ msgid "ERROR: Unable to send initial PAP send data request"
-#~ msgstr "ERROR: Kan ikke sende startanmodningen PAP send data"
-
-#~ msgid "ERROR: Unable to send print data (%d)\n"
-#~ msgstr "ERROR: Kan ikke sende udskriftsdata (%d)\n"
-
-#~ msgid "ERROR: Unable to send print data!\n"
-#~ msgstr "ERROR: Kan ikke sende udskriftsdata!\n"
-
-#~ msgid "ERROR: Unable to send print file to printer"
-#~ msgstr "ERROR: Kan ikke sende udskriftsarkiv til printer"
-
-#~ msgid "ERROR: Unable to send trailing nul to printer"
-#~ msgstr "ERROR: Kan ikke sende udpunkteringsnul til printer"
-
-#~ msgid "ERROR: Unable to wait for pictwpstops: %s\n"
-#~ msgstr "ERROR: Kan ikke vente på pictwpstops: %s\n"
-
-#~ msgid "ERROR: Unable to write %d bytes to \"%s\": %s\n"
-#~ msgstr "ERROR: Kan ikke skrive %d byte til \"%s\": %s\n"
-
-#~ msgid "ERROR: Unable to write %d bytes to printer!\n"
-#~ msgstr "ERROR: Kan ikke skrive %d byte til printer!\n"
-
-#~ msgid "ERROR: Unable to write control file"
-#~ msgstr "ERROR: Kan ikke skrive kontrolarkiv"
-
-#~ msgid "ERROR: Unable to write print data"
-#~ msgstr "ERROR: Kan ikke skrive udskriftsdata"
-
-#~ msgid "ERROR: Unable to write print data: %s\n"
-#~ msgstr "ERROR: Kan ikke skrive udskriftsdata: %s\n"
-
-#~ msgid "ERROR: Unable to write raster data to driver!\n"
-#~ msgstr "ERROR: Kan ikke skrive rasterdata til driver!\n"
-
-#~ msgid "ERROR: Unable to write to temporary file"
-#~ msgstr "ERROR: Kan ikke skrive til midlertidigt arkiv"
-
-#~ msgid "ERROR: Unable to write uncompressed document data: %s\n"
-#~ msgstr "ERROR: Kan ikke skrive ukomprimerede dokumentdata: %s\n"
-
-#~ msgid "ERROR: Unexpected text on line %d of %s!\n"
-#~ msgstr "ERROR: Uventet tekst på linje %d af %s!\n"
-
-#~ msgid "ERROR: Unknown encryption option value \"%s\"!\n"
-#~ msgstr "ERROR: Ukendt værdi i krypteringsindstilling \"%s\"!\n"
-
-#~ msgid "ERROR: Unknown file order \"%s\"\n"
-#~ msgstr "ERROR: Ukendt arkivrækkefølge \"%s\"\n"
-
-#~ msgid "ERROR: Unknown format character \"%c\"\n"
-#~ msgstr "ERROR: Ukendt formattegn \"%c\"\n"
-
-#~ msgid "ERROR: Unknown message catalog format for \"%s\"!\n"
-#~ msgstr "ERROR: Ukendt beskedkatalogformat til \"%s\"!\n"
-
-#~ msgid "ERROR: Unknown option \"%s\" with value \"%s\"!\n"
-#~ msgstr "ERROR: Ukendt indstilling \"%s\" med værdien \"%s\"!\n"
-
-#~ msgid "ERROR: Unknown print mode \"%s\"\n"
-#~ msgstr "ERROR: Ukendt udskriftsfunktion \"%s\"\n"
-
-#~ msgid "ERROR: Unknown version option value \"%s\"!\n"
-#~ msgstr "ERROR: Ukendt værdi på versionsindstilling \"%s\"!\n"
-
-#~ msgid "ERROR: Unsupported brightness value %s, using brightness=100!\n"
-#~ msgstr ""
-#~ "ERROR: Værdi for lysstyrke %s ikke understøttet, bruger lysstyrke=100!\n"
-
-#~ msgid "ERROR: Unsupported gamma value %s, using gamma=1000!\n"
-#~ msgstr "ERROR: Værdi for gamma %s ikke understøttet, bruger gamma=1000!\n"
-
-#~ msgid "ERROR: Unsupported number-up value %d, using number-up=1!\n"
-#~ msgstr ""
-#~ "ERROR: Værdi for number-up %d ikke understøttet, bruger number-up=1!\n"
-
-#~ msgid ""
-#~ "ERROR: Unsupported number-up-layout value %s, using number-up-"
-#~ "layout=lrtb!\n"
-#~ msgstr ""
-#~ "ERROR: Værdi for number-up-layout %s ikke understøttet, bruger number-up-"
-#~ "layout=lrtb!\n"
-
-#~ msgid "ERROR: Unsupported page-border value %s, using page-border=none!\n"
-#~ msgstr ""
-#~ "ERROR: Værdi for page-border %s ikke understøttet, bruger page-"
-#~ "border=none!\n"
-
-#~ msgid "ERROR: doc_printf overflow (%d bytes) detected, aborting!\n"
-#~ msgstr "ERROR: doc_printf-overløb (%d byte) registreret, annullerer!\n"
-
-#~ msgid "ERROR: pdftops filter crashed on signal %d!\n"
-#~ msgstr "ERROR: pdftops-filter gik ned på signalet %d!\n"
-
-#~ msgid "ERROR: pdftops filter exited with status %d!\n"
-#~ msgstr "ERROR: pdftops-filter afsluttede med status %d!\n"
-
-#~ msgid "ERROR: pictwpstops exited on signal %d!\n"
-#~ msgstr "ERROR: pictwpstops afsluttede på signalet %d!\n"
-
-#~ msgid "ERROR: pictwpstops exited with status %d!\n"
-#~ msgstr "ERROR: pictwpstops afsluttede med status %d!\n"
-
-#~ msgid ""
-#~ "ERROR: recoverable: Unable to connect to printer; will retry in 30 "
-#~ "seconds...\n"
-#~ msgstr ""
-#~ "ERROR: Kan gendannes: Kan ikke oprette forbindelse til printer; prøver "
-#~ "igen om 30 sekunder...\n"
-
-#~ msgid "ERROR: select() failed"
-#~ msgstr "ERROR: select() mislykkedes"
-
-#~ msgid "ERROR: unable to stat print file"
-#~ msgstr "ERROR: Kan ikke stat udskriftsarkiv"
-
-#~ msgid "Empty PPD file!"
-#~ msgstr "Tomt PPD-arkiv!"
-
-#~ msgid "Error: need hostname after '-h' option!\n"
-#~ msgstr "ERROR: Værtsnavn kræves efter indstillingen '-h'!\n"
-
-#~ msgid "FAIL\n"
-#~ msgstr "FAIL\n"
-
-#~ msgid ""
-#~ "File device URIs have been disabled! To enable, see the FileDevice "
-#~ "directive in \"%s/cupsd.conf\"."
-#~ msgstr ""
-#~ "Arkivets enheds-URI'er er blevet slået fra! Du slår det til ved at se i "
-#~ "FileDevice-direktivet i \"%s/cupsd.conf\"."
-
-#~ msgid "Fuser temperature high!"
-#~ msgstr "Fixertemperatur høj!"
-
-#~ msgid "Fuser temperature low!"
-#~ msgstr "Fixertemperatur lav!"
-
-#~ msgid "German FanFold"
-#~ msgstr "Tysk FanFold"
-
-#~ msgid "German FanFold Legal"
-#~ msgstr "Tysk FanFold, 8,5 x 14\""
-
-#~ msgid "Got a printer-uri attribute but no job-id!"
-#~ msgstr "Fik en printer-uri-egenskab, men ingen job-id!"
-
-#~ msgid "INFO: AppleTalk disabled in System Preferences\n"
-#~ msgstr "INFO: AppleTalk slået fra i Systemindstillinger\n"
-
-#~ msgid "INFO: AppleTalk disabled in System Preferences.\n"
-#~ msgstr "INFO: AppleTalk slået fra i Systemindstillinger.\n"
-
-#~ msgid "INFO: Canceling print job...\n"
-#~ msgstr "INFO: Annullerer udskriftsjob...\n"
-
-#~ msgid "INFO: Connected to printer...\n"
-#~ msgstr "INFO: Sluttet til printer...\n"
-
-#~ msgid "INFO: Connecting to printer...\n"
-#~ msgstr "INFO: Opretter forbindelse til printer...\n"
-
-#~ msgid "INFO: Control file sent successfully\n"
-#~ msgstr "INFO: Kontrolarkiv sendt\n"
-
-#~ msgid "INFO: Data file sent successfully\n"
-#~ msgstr "INFO: Dataarkiv sendt\n"
-
-#~ msgid "INFO: Formatting page %d...\n"
-#~ msgstr "INFO: Formaterer siden %d...\n"
-
-#~ msgid "INFO: Loading image file...\n"
-#~ msgstr "INFO: Indlæser billedarkivet...\n"
-
-#~ msgid "INFO: Looking for printer...\n"
-#~ msgstr "INFO: Søger efter printer...\n"
-
-#~ msgid "INFO: Opening connection\n"
-#~ msgstr "INFO: Åbner forbindelse\n"
-
-#~ msgid "INFO: Print file sent, waiting for printer to finish...\n"
-#~ msgstr ""
-#~ "INFO: Udskriftsarkiv sendt, venter på, at printer bliver færdig...\n"
-
-#~ msgid "INFO: Printer busy; will retry in 10 seconds...\n"
-#~ msgstr "INFO: Printer i brug; prøver igen om 10 sekunder...\n"
-
-#~ msgid "INFO: Printer busy; will retry in 30 seconds...\n"
-#~ msgstr "INFO: Printer i brug; prøver igen om 30 sekunder...\n"
-
-#~ msgid "INFO: Printer busy; will retry in 5 seconds...\n"
-#~ msgstr "INFO: Printer i brug; prøver igen om 5 sekunder...\n"
-
-#~ msgid "INFO: Printer does not support IPP/%d.%d, trying IPP/1.0...\n"
-#~ msgstr "INFO: Printer understøtter ikke IPP/%d.%d, prøver IPP/1.0...\n"
-
-#~ msgid "INFO: Printer is busy; will retry in 5 seconds...\n"
-#~ msgstr "INFO: Printer i brug; prøver igen om 5 sekunder...\n"
-
-#~ msgid "INFO: Printer is currently off-line.\n"
-#~ msgstr "INFO: Printer er passiv.\n"
-
-#~ msgid "INFO: Printer is currently offline.\n"
-#~ msgstr "INFO: Printer er passiv.\n"
-
-#~ msgid "INFO: Printer is now online.\n"
-#~ msgstr "INFO: Printer er nu aktiv.\n"
-
-#~ msgid "INFO: Printer is offline.\n"
-#~ msgstr "INFO: Printer er passiv.\n"
-
-#~ msgid "INFO: Printer not connected; will retry in 30 seconds...\n"
-#~ msgstr "INFO: Printer ikke tilsluttet; prøver igen om 30 sekunder...\n"
-
-#~ msgid "INFO: Printing page %d, %d%% complete...\n"
-#~ msgstr "INFO: Udskriver side %d, %d%% færdig...\n"
-
-#~ msgid "INFO: Printing page %d...\n"
-#~ msgstr "INFO: Udskriver side %d...\n"
-
-#~ msgid "INFO: Ready to print.\n"
-#~ msgstr "INFO: Klar til at udskrive.\n"
-
-#~ msgid "INFO: Sending control file (%lu bytes)\n"
-#~ msgstr "INFO: Sender kontrolarkiv (%lu byte)\n"
-
-#~ msgid "INFO: Sending control file (%u bytes)\n"
-#~ msgstr "INFO: Sender kontrolarkiv (%u byte)\n"
-
-#~ msgid "INFO: Sending data\n"
-#~ msgstr "INFO: Sender data\n"
-
-#~ msgid "INFO: Sending data file (%ld bytes)\n"
-#~ msgstr "INFO: Sender dataarkiv (%ld byte)\n"
-
-#~ msgid "INFO: Sending data file (%lld bytes)\n"
-#~ msgstr "INFO: Sender dataarkiv (%lld byte)\n"
-
-#~ msgid "INFO: Sending print data...\n"
-#~ msgstr "INFO: Sender udskriftsdata...\n"
-
-#~ msgid "INFO: Sent print file, %ld bytes...\n"
-#~ msgstr "INFO: Sendt udskriftsarkiv, %ld byte...\n"
-
-#~ msgid "INFO: Sent print file, %lld bytes...\n"
-#~ msgstr "INFO: Sendt udskriftsarkiv, %lld byte...\n"
-
-#~ msgid "INFO: Spooling LPR job, %.0f%% complete...\n"
-#~ msgstr "INFO: Spoler LPR-job, %.0f%% færdig...\n"
-
-#~ msgid ""
-#~ "INFO: Unable to contact printer, queuing on next printer in class...\n"
-#~ msgstr ""
-#~ "INFO: Kan ikke kontakte printer, sætter job i kø på næste printer i "
-#~ "klassen...\n"
-
-#~ msgid "INFO: Using default AppleTalk zone \"%s\"\n"
-#~ msgstr "INFO: Bruger AppleTalk-standardzone \"%s\"\n"
-
-#~ msgid "INFO: Waiting for job to complete...\n"
-#~ msgstr "INFO: Venter på, at job bliver færdigt...\n"
-
-#~ msgid "INFO: Waiting for printer to become available...\n"
-#~ msgstr "INFO: Venter på, at printer bliver tilgængelig...\n"
-
-#~ msgid "ISO B0"
-#~ msgstr "ISO B0"
-
-#~ msgid "ISO B1"
-#~ msgstr "ISO B1"
-
-#~ msgid "ISO B10"
-#~ msgstr "ISO B10"
-
-#~ msgid "ISO B2"
-#~ msgstr "ISO B2"
-
-#~ msgid "ISO B3"
-#~ msgstr "ISO B3"
-
-#~ msgid "ISO B4"
-#~ msgstr "ISO B4"
-
-#~ msgid "ISO B4 Envelope"
-#~ msgstr "ISO B4-kuvert"
-
-#~ msgid "ISO B5"
-#~ msgstr "ISO B5"
-
-#~ msgid "ISO B5 (Oversize)"
-#~ msgstr "ISO B5 (overstørrelse)"
-
-#~ msgid "ISO B5 Envelope"
-#~ msgstr "ISO B5-kuvert"
-
-#~ msgid "ISO B6"
-#~ msgstr "ISO B6"
-
-#~ msgid "ISO B6 Envelope"
-#~ msgstr "ISO B6-kuvert"
-
-#~ msgid "ISO B7"
-#~ msgstr "ISO B7"
-
-#~ msgid "ISO B8"
-#~ msgstr "ISO B8"
-
-#~ msgid "ISO B9"
-#~ msgstr "ISO B9"
-
-#~ msgid "Ink/toner almost empty."
-#~ msgstr "Blæk/toner næsten tom."
-
-#~ msgid "Ink/toner empty!"
-#~ msgstr "Blæk/toner tom!"
-
-#~ msgid "Ink/toner waste bin almost full."
-#~ msgstr "Affaldsbeholder til blæk/toner næsten fuld."
-
-#~ msgid "Ink/toner waste bin full!"
-#~ msgstr "Affaldsbeholder til blæk/toner fuld!"
-
-#~ msgid "Interlock open."
-#~ msgstr "Sikkerhedsafbryder åben."
-
-#~ msgid "Invite Envelope"
-#~ msgstr "Invite-kuvert"
-
-#~ msgid "Italian Envelope"
-#~ msgstr "Italiensk kuvert"
-
-#~ msgid "Job #%d cannot be restarted - no files!"
-#~ msgstr "Job #%d kan ikke startes igen - ingen arkiver!"
-
-#~ msgid "Job #%d does not exist!"
-#~ msgstr "Job #%d eksisterer ikke!"
-
-#~ msgid "Job #%d is finished and cannot be altered!"
-#~ msgstr "Job #%d er færdigt og kan ikke ændres!"
-
-#~ msgid "Job #%d is not complete!"
-#~ msgstr "Job #%d er ikke færdigt!"
-
-#~ msgid "Job #%d is not held for authentication!"
-#~ msgstr "Job #%d er ikke udsat til godkendelse!"
-
-#~ msgid "Job #%d is not held!"
-#~ msgstr "Job #%d er ikke udsat!"
-
-#~ msgid "Job #%s does not exist!"
-#~ msgstr "Job #%s eksisterer ikke!"
-
-#~ msgid "Job %d not found!"
-#~ msgstr "Job %d findes ikke!"
-
-#~ msgid "Job subscriptions cannot be renewed!"
-#~ msgstr "Jobabonnementer kan ikke fornys!"
-
-#~ msgid "Kaku2 Envelope"
-#~ msgstr "Kaku2-kuvert"
-
-#~ msgid "Kaku3 Envelope"
-#~ msgstr "Kaku3-kuvert"
-
-#~ msgid "Language \"%s\" not supported!"
-#~ msgstr "Sproget \"%s\" understøttes ikke!"
-
-#~ msgid "Media jam!"
-#~ msgstr "Mediestop!"
-
-#~ msgid "Media tray almost empty."
-#~ msgstr "Mediebakke næsten tom."
-
-#~ msgid "Media tray empty!"
-#~ msgstr "Mediebakke tom!"
-
-#~ msgid "Media tray missing!"
-#~ msgstr "Mediebakke mangler!"
-
-#~ msgid "Media tray needs to be filled."
-#~ msgstr "Mediebakke skal fyldes op."
-
-#~ msgid "Missing document-number attribute!"
-#~ msgstr "Manglende document-number-attribut!"
-
-#~ msgid "Missing double quote on line %d!"
-#~ msgstr "Manglende dobbelt anførselstegn i linje %d!"
-
-#~ msgid "Missing form variable!"
-#~ msgstr "Manglende formularvariabel!"
-
-#~ msgid "Missing notify-subscription-ids attribute!"
-#~ msgstr "Manglende notify-subscription-ids-egenskab!"
-
-#~ msgid "Missing requesting-user-name attribute!"
-#~ msgstr "Manglende requesting-user-name-egenskab!"
-
-#~ msgid "Missing required attributes!"
-#~ msgstr "Manglende nødvendige attributter!"
-
-#~ msgid "Missing value on line %d!"
-#~ msgstr "Manglende værdi i linje %d!"
-
-#~ msgid ""
-#~ "Model:  name = %s\n"
-#~ "        natural_language = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ msgstr ""
-#~ "Model:  name = %s\n"
-#~ "        natural_language = %s\n"
-#~ " make-and-model = %s\n"
-#~ " device-id = %s\n"
-
-#~ msgid "Monarch"
-#~ msgstr "Monarch"
-
-#~ msgid "Monarch Envelope"
-#~ msgstr "Monarch-kuvert"
-
-#~ msgid "NOTICE: Print file accepted - job ID %d.\n"
-#~ msgstr "NOTICE: Udskriftsarkiv accepteret - job-id %d.\n"
-
-#~ msgid "NOTICE: Print file accepted - job ID unknown.\n"
-#~ msgstr "NOTICE: Udskriftsarkiv accepteret - job-id ukendt.\n"
-
-#~ msgid "No PPD name!"
-#~ msgstr "Intet PPD-navn!"
-
-#~ msgid "No Windows printer drivers are installed!"
-#~ msgstr "Der er ikke installeret nogen Windows-printerdrivere!"
-
-#~ msgid "No active jobs on %s!"
-#~ msgstr "Ingen aktive job på %s!"
-
-#~ msgid "No attributes in request!"
-#~ msgstr "Ingen attributter i anmodning!"
-
-#~ msgid "No authentication information provided!"
-#~ msgstr "Ingen godkendelsesoplysninger leveret!"
-
-#~ msgid "No default printer"
-#~ msgstr "Ingen standardprinter"
-
-#~ msgid "No file!?!"
-#~ msgstr "Intet arkiv!?!"
-
-#~ msgid "No modification time!"
-#~ msgstr "Intet ændringstidspunkt!"
-
-#~ msgid "No printer name!"
-#~ msgstr "Intet printernavn!"
-
-#~ msgid "No printer-uri found for class!"
-#~ msgstr "Ingen printer-uri fundet til klasse!"
-
-#~ msgid "No printer-uri found!"
-#~ msgstr "Ingen printer-uri fundet!"
-
-#~ msgid "No printer-uri in request!"
-#~ msgstr "Ingen printer-uri i anmodning!"
-
-#~ msgid "No subscription attributes in request!"
-#~ msgstr "Ingen abonnementsattributter i anmodning!"
-
-#~ msgid "OPC almost at end-of-life."
-#~ msgstr "OPC næsten slidt op."
-
-#~ msgid "OPC at end-of-life!"
-#~ msgstr "OPC slidt op!"
-
-#~ msgid "Out of toner!"
-#~ msgstr "Ikke mere toner!"
-
-#~ msgid "Output bin almost full."
-#~ msgstr "Udbakke næsten fuld."
-
-#~ msgid "Output bin full!"
-#~ msgstr "Udbakke fuld!"
-
-#~ msgid "Output for printer %s is sent to %s\n"
-#~ msgstr "Udskrifter til printer %s er sendt til %s\n"
-
-#~ msgid "Output for printer %s is sent to remote printer %s on %s\n"
-#~ msgstr "Udskrifter til printer %s er sendt til ekstern printer %s på %s\n"
-
-#~ msgid "Output for printer %s/%s is sent to %s\n"
-#~ msgstr "Udskrifter til printer %s/%s er sendt til %s\n"
-
-#~ msgid "Output for printer %s/%s is sent to remote printer %s on %s\n"
-#~ msgstr ""
-#~ "Udskrifter til printer %s/%s er sendt til ekstern printer %s på %s\n"
-
-#~ msgid "Output tray missing!"
-#~ msgstr "Udbakke mangler!"
-
-#~ msgid "PASS\n"
-#~ msgstr "PASS\n"
-
-#~ msgid "PRC1 Envelope"
-#~ msgstr "PRC1-kuvert"
-
-#~ msgid "PRC10 Envelope"
-#~ msgstr "PRC10-kuvert"
-
-#~ msgid "PRC2 Envelope"
-#~ msgstr "PRC2-kuvert"
-
-#~ msgid "PRC3 Envelope"
-#~ msgstr "PRC3-kuvert"
-
-#~ msgid "PRC32K (Oversize)"
-#~ msgstr "PRC32K (overstørrelse)"
-
-#~ msgid "PRC4 Envelope"
-#~ msgstr "PRC4-kuvert"
-
-#~ msgid "PRC5 Envelope"
-#~ msgstr "PRC5-kuvert"
-
-#~ msgid "PRC6 Envelope"
-#~ msgstr "PRC6-kuvert"
-
-#~ msgid "PRC7 Envelope"
-#~ msgstr "PRC7-kuvert"
-
-#~ msgid "PRC8 Envelope"
-#~ msgstr "PRC8-kuvert"
-
-#~ msgid "PRC9 Envelope"
-#~ msgstr "PRC9-kuvert"
-
-#~ msgid "Personal Envelope"
-#~ msgstr "Personlig kuvert"
-
-#~ msgid "Printer offline."
-#~ msgstr "Printer passiv."
-
-#~ msgid "Rank    Owner   Job     File(s)                         Total Size\n"
-#~ msgstr ""
-#~ "Grad    Ejer   Job     Arkiv(er)                         Str. i alt\n"
-
-#~ msgid ""
-#~ "Rank   Owner      Pri  Job        Files                       Total Size\n"
-#~ msgstr ""
-#~ "Grad   Ejer      Pri  Job        Arkiver                       Str. i "
-#~ "alt\n"
-
-#~ msgid "Running command: %s %s -N -A %s -c '%s'\n"
-#~ msgstr "Aktiv kommando: %s %s -N -A %s -c '%s'\n"
-
-#~ msgid "SCSI Printer"
-#~ msgstr "SCSI-printer"
-
-#~ msgid "Tabloid (Oversize)"
-#~ msgstr "17 x 11\" (overstørrelse)"
-
-#~ msgid "The notify-user-data value is too large (%d > 63 octets)!"
-#~ msgstr "Værdien for notify-user-data er for stor (%d > 63 oktetter)!"
-
-#~ msgid "The printer or class is not shared!"
-#~ msgstr "Printeren eller klassen er ikke delt!"
-
-#~ msgid "The printer or class was not found."
-#~ msgstr "Printeren eller klassen findes ikke."
-
-#~ msgid "The printer-uri attribute is required!"
-#~ msgstr "Egenskaben printer-uri kræves!"
-
-#~ msgid "Toner low."
-#~ msgstr "Toner lav."
-
-#~ msgid "Too many job-sheets values (%d > 2)!"
-#~ msgstr "For mange job-sheets-værdier (%d > 2)!"
-
-#~ msgid "Too many printer-state-reasons values (%d > %d)!"
-#~ msgstr "For mange printer-state-reasons-værdier (%d > %d)!"
-
-#~ msgid "US Executive"
-#~ msgstr "7,25 x 10,5\""
-
-#~ msgid "US Fanfold"
-#~ msgstr "Amerikansk fanfold"
-
-#~ msgid "US Legal (Oversize)"
-#~ msgstr "8,5 x 14\" (overstørrelse)"
-
-#~ msgid "US Letter (Oversize)"
-#~ msgstr "8,5 x 11\" (overstørrelse)"
-
-#~ msgid "US Letter (Small)"
-#~ msgstr "8,5 x 11\" (beskåret)"
-
-#~ msgid "Unable to add job for destination \"%s\"!"
-#~ msgstr "Kan ikke tilføje job til destinationen \"%s\"!"
-
-#~ msgid "Unable to allocate memory for file types!"
-#~ msgstr "Kan ikke tildele hukommelse til arkivtyper!"
-
-#~ msgid "Unable to copy 64-bit CUPS printer driver files (%d)!"
-#~ msgstr "Kan ikke kopiere 64 bit CUPS-printerarkiver (%d)!"
-
-#~ msgid "Unable to copy 64-bit Windows printer driver files (%d)!"
-#~ msgstr "Kan ikke kopiere 64 bit Windows-printerarkiver (%d)!"
-
-#~ msgid "Unable to copy CUPS printer driver files (%d)!"
-#~ msgstr "Kan ikke kopiere CUPS-printerarkiver (%d)!"
-
-#~ msgid "Unable to copy PPD file - %s!"
-#~ msgstr "Kan ikke kopiere PPD-arkiv - %s!"
-
-#~ msgid "Unable to copy PPD file!"
-#~ msgstr "Kan ikke kopiere PPD-arkiv!"
-
-#~ msgid "Unable to copy Windows 2000 printer driver files (%d)!"
-#~ msgstr "Kan ikke kopiere Windows 2000-printerarkiver (%d)!"
-
-#~ msgid "Unable to copy Windows 9x printer driver files (%d)!"
-#~ msgstr "Kan ikke kopiere Windows 9x-printerarkiver (%d)!"
-
-#~ msgid "Unable to copy interface script - %s!"
-#~ msgstr "Kan ikke kopiere grænsefladeinstruks - %s!"
-
-#~ msgid "Unable to create printer-uri!"
-#~ msgstr "Kan ikke oprette printer-uri!"
-
-#~ msgid "Unable to edit cupsd.conf files larger than 1MB!"
-#~ msgstr "Kan ikke redigere cupsd.conf-arkiver på mere end 1 MB!"
-
-#~ msgid "Unable to find destination for job!"
-#~ msgstr "Kan ikke finde jobbets destination!"
-
-#~ msgid "Unable to find printer!\n"
-#~ msgstr "Kan ikke finde printer!\n"
-
-#~ msgid "Unable to install Windows 2000 printer driver files (%d)!"
-#~ msgstr "Kan ikke installere Windows 2000-printerarkiver (%d)!"
-
-#~ msgid "Unable to install Windows 9x printer driver files (%d)!"
-#~ msgstr "Kan ikke installere Windows 9x-printerarkiver (%d)!"
-
-#~ msgid "Unable to open document %d in job %d!"
-#~ msgstr "Kan ikke åbne dokument %d i job %d!"
-
-#~ msgid "Unable to run \"%s\": %s\n"
-#~ msgstr "Kan ikke afvikle \"%s\": %s\n"
-
-#~ msgid "Unable to send command to printer driver!"
-#~ msgstr "Kan ikke sende kommando til printerarkiv!"
-
-#~ msgid "Unable to set Windows printer driver (%d)!"
-#~ msgstr "Kan ikke indstille Windows-printerarkiv (%d)!"
-
-#~ msgid "Unable to use legacy USB class driver!\n"
-#~ msgstr "Kan ikke bruge oprindeligt printerarkiv af USB-klasse!\n"
-
-#~ msgid "Unknown printer error (%s)!"
-#~ msgstr "Ukendt printerfejl (%s)!"
-
-#~ msgid "Unsupported character set \"%s\"!"
-#~ msgstr "Ikke understøttet tegnsæt \"%s\"!"
-
-#~ msgid "Unsupported compression \"%s\"!"
-#~ msgstr "Ikke understøttet komprimering \"%s\"!"
-
-#~ msgid "Unsupported compression attribute %s!"
-#~ msgstr "Ikke understøttet komprimeringsegenskab %s!"
-
-#~ msgid "Unsupported format \"%s\"!"
-#~ msgstr "Ikke understøttet format \"%s\"!"
-
-#~ msgid "Unsupported format '%s'!"
-#~ msgstr "Ikke understøttet format \"%s\"!"
-
-#~ msgid "Unsupported format '%s/%s'!"
-#~ msgstr "Ikke understøttet format '%s/%s'!"
-
-#~ msgid ""
-#~ "Usage:\n"
-#~ "\n"
-#~ "    lpadmin [-h server] -d destination\n"
-#~ "    lpadmin [-h server] -x destination\n"
-#~ "    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m "
-#~ "model]\n"
-#~ "                       [-r remove-class] [-v device] [-D description]\n"
-#~ "                       [-P ppd-file] [-o name=value]\n"
-#~ "                       [-u allow:user,user] [-u deny:user,user]\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Brug:\n"
-#~ "\n"
-#~ "    lpadmin [-h server] -d destination\n"
-#~ "    lpadmin [-h server] -x destination\n"
-#~ "    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m "
-#~ "model]\n"
-#~ "                       [-r remove-class] [-v device] [-D description]\n"
-#~ "                       [-P ppd-file] [-o name=value]\n"
-#~ "                       [-u allow:user,user] [-u deny:user,user]\n"
-#~ "\n"
-
-#~ msgid "Usage: %s job user title copies options [filename]\n"
-#~ msgstr "Brug: %s job user title copies options [filename]\n"
-
-#~ msgid "Usage: %s job-id user title copies options [file]\n"
-#~ msgstr "Brug: %s job-id user title copies options [file]\n"
-
-#~ msgid "Usage: %s job-id user title copies options file\n"
-#~ msgstr "Brug: %s job-id user title copies options file\n"
-
-#~ msgid ""
-#~ "Usage: convert [ options ]\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "  -f filename          Set file to be converted (otherwise stdin)\n"
-#~ "  -o filename          Set file to be generated (otherwise stdout)\n"
-#~ "  -i mime/type         Set input MIME type (otherwise auto-typed)\n"
-#~ "  -j mime/type         Set output MIME type (otherwise application/pdf)\n"
-#~ "  -P filename.ppd      Set PPD file\n"
-#~ "  -a 'name=value ...'  Set option(s)\n"
-#~ "  -U username          Set username for job\n"
-#~ "  -J title             Set title\n"
-#~ "  -c copies            Set number of copies\n"
-#~ "  -u                   Remove the PPD file when finished\n"
-#~ "  -D                   Remove the input file when finished\n"
-#~ msgstr ""
-#~ "Brug: convert [ options ]\n"
-#~ "\n"
-#~ "Indstillinger:\n"
-#~ "\n"
-#~ "  -f arkivnavn          Indstil arkiv, der skal konverteres (otherwise "
-#~ "stdin)\n"
-#~ "  -o arkivnavn          Indstil arkiv, der skal genereres (otherwise "
-#~ "stdout)\n"
-#~ "  -i mime/type         Indstil indgående MIME-type (otherwise auto-"
-#~ "typed)\n"
-#~ "  -j mime/type         Indstil udgående MIME-type (otherwise application/"
-#~ "pdf)\n"
-#~ "  -P arkivnavn.ppd      Indstil PPD-arkiv\n"
-#~ "  -a 'name=value ...'  Juster indstilling(er)\n"
-#~ "  -U brugernavn          Indstil brugernavn til job\n"
-#~ "  -J titel             Indstil titel\n"
-#~ "  -c kopier            Indstil antal kopier\n"
-#~ "  -u                   Fjern PPD-arkiv når færdig\n"
-#~ "  -D                   Fjern indgående arkiv når færdig\n"
-
-#~ msgid ""
-#~ "Usage: cupsaddsmb [options] printer1 ... printerN\n"
-#~ "       cupsaddsmb [options] -a\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "  -E               Encrypt the connection to the server\n"
-#~ "  -H samba-server  Use the named SAMBA server\n"
-#~ "  -U samba-user    Authenticate using the named SAMBA user\n"
-#~ "  -a               Export all printers\n"
-#~ "  -h cups-server   Use the named CUPS server\n"
-#~ "  -v               Be verbose (show commands)\n"
-#~ msgstr ""
-#~ "Brug: cupsaddsmb [options] printer1 ... printerN\n"
-#~ "       cupsaddsmb [options] -a\n"
-#~ "\n"
-#~ "Indstillinger:\n"
-#~ "  -E               Krypter forbindelsen til serveren\n"
-#~ "  -H samba-server  Brug den navngivne SAMBA-server\n"
-#~ "  -U samba-user    Godkend vha. den navngivne SAMBA-bruger\n"
-#~ "  -a               Eksporter alle printere\n"
-#~ "  -h cups-server   Brug den navngivne CUPS-server\n"
-#~ "  -v               Vær detaljeret (vis kommandoer)\n"
-
-#~ msgid ""
-#~ "Usage: cupsctl [options] [param=value ... paramN=valueN]\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -E                      Enable encryption\n"
-#~ "    -U username             Specify username\n"
-#~ "    -h server[:port]        Specify server address\n"
-#~ "\n"
-#~ "    --[no-]debug-logging    Turn debug logging on/off\n"
-#~ "    --[no-]remote-admin     Turn remote administration on/off\n"
-#~ "    --[no-]remote-any       Allow/prevent access from the Internet\n"
-#~ "    --[no-]remote-printers  Show/hide remote printers\n"
-#~ "    --[no-]share-printers   Turn printer sharing on/off\n"
-#~ "    --[no-]user-cancel-any  Allow/prevent users to cancel any job\n"
-#~ msgstr ""
-#~ "Brug: cupsctl [options] [param=value ... paramN=valueN]\n"
-#~ "\n"
-#~ "Indstillinger:\n"
-#~ "\n"
-#~ "    -E                      Slå kryptering til\n"
-#~ "    -U brugernavn             Angiv brugernavn\n"
-#~ "    -h server[:port]        Angiv serveradresse\n"
-#~ "\n"
-#~ "    --[no-]debug-logging    Slå fejlfindingslog til/fra\n"
-#~ "    --[no-]remote-admin     Slå ekstern administration til/fra\n"
-#~ "    --[no-]remote-any       Tillad/afvis adgang fra Internet\n"
-#~ "    --[no-]remote-printers  Vis/skjul eksterne printere\n"
-#~ "    --[no-]share-printers   Slå printerdeling til/fra\n"
-#~ "    --[no-]user-cancel-any  Brugere må/må ikke annullere alle job\n"
-
-#~ msgid ""
-#~ "Usage: cupsd [-c config-file] [-f] [-F] [-h] [-l]\n"
-#~ "\n"
-#~ "-c config-file      Load alternate configuration file\n"
-#~ "-f                  Run in the foreground\n"
-#~ "-F                  Run in the foreground but detach\n"
-#~ "-h                  Show this usage message\n"
-#~ "-l                  Run cupsd from launchd(8)\n"
-#~ msgstr ""
-#~ "Brug: cupsd [-c config-file] [-f] [-F] [-h] [-l]\n"
-#~ "\n"
-#~ "-c config-file      Indlæs alternativt konfigurationsarkiv\n"
-#~ "-f                  Afvikl i forgrunden\n"
-#~ "-F                  Afvikl i baggrunden, men fjern\n"
-#~ "-h                  Vis denne brugsmeddelelse\n"
-#~ "-l                  Start cupsd fra startd(8)\n"
-
-#~ msgid ""
-#~ "Usage: cupsfilter -m mime/type [ options ] filename\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "  -c cupsd.conf    Set cupsd.conf file to use\n"
-#~ "  -j job-id[,N]    Filter file N from the specified job (default is file "
-#~ "1)\n"
-#~ "  -n copies        Set number of copies\n"
-#~ "  -o name=value    Set option(s)\n"
-#~ "  -p filename.ppd  Set PPD file\n"
-#~ "  -t title         Set title\n"
-#~ msgstr ""
-#~ "Brug: cupsfilter -m mime/type [ options ] arkivnavn\n"
-#~ "\n"
-#~ "Indstillinger:\n"
-#~ "\n"
-#~ "  -c cupsd.conf    Indstil cupsd.conf-arkiv til at bruge\n"
-#~ "  -j job-id[,N]    Filter arkiv N fra det anførte job (standard er arkiv "
-#~ "1)\n"
-#~ "  -n kopier        Indstil antal kopier\n"
-#~ "  -o name=value    Juster indstilling(er)\n"
-#~ "  -p arkivnan.ppd  Indstil PPD-arkiv\n"
-#~ "  -t titel         Indstil titel\n"
-
-#~ msgid ""
-#~ "Usage: cupstestdsc [options] filename.ps [... filename.ps]\n"
-#~ "       cupstestdsc [options] -\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -h       Show program usage\n"
-#~ "\n"
-#~ "    Note: this program only validates the DSC comments, not the "
-#~ "PostScript itself.\n"
-#~ msgstr ""
-#~ "Brug: cupstestdsc [options] arkivnavn.ps [... arkivnavn.ps]\n"
-#~ "       cupstestdsc [options] -\n"
-#~ "\n"
-#~ "Indstillinger:\n"
-#~ "\n"
-#~ "    -h       Vis programbrug\n"
-#~ "\n"
-#~ "    Bemærk: Dette program godkender kun DSC-kommentarer, ikke selve "
-#~ "PostScript.\n"
-
-#~ msgid ""
-#~ "Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]\n"
-#~ "       program | cupstestppd [options] -\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -R root-directory    Set alternate root\n"
-#~ "    -W {all,none,constraints,defaults,duplex,filters,translations}\n"
-#~ "                         Issue warnings instead of errors\n"
-#~ "    -q                   Run silently\n"
-#~ "    -r                   Use 'relaxed' open mode\n"
-#~ "    -v                   Be slightly verbose\n"
-#~ "    -vv                  Be very verbose\n"
-#~ msgstr ""
-#~ "Brug: cupstestppd [options] arkivnavn1.ppd[.gz] [... arkivnavnN.ppd[."
-#~ "gz]]\n"
-#~ "       program | cupstestppd [options] -\n"
-#~ "\n"
-#~ "Indstillinger:\n"
-#~ "\n"
-#~ "    -R root-directory    Indstil alternativ root\n"
-#~ "    -W {all,none,constraints,defaults,duplex,filters,translations}\n"
-#~ "                         Udsted advarsler i stedet for fejl\n"
-#~ "    -q                   Afvikl i baggrunden\n"
-#~ "    -r                   Brug 'relaxed' åben funktion\n"
-#~ "    -v                   Vær en anelse detaljeret\n"
-#~ "    -vv                  Vær meget detaljseret\n"
-
-#~ msgid "Usage: lpmove job/src dest\n"
-#~ msgstr "Brug: lpmove job/src dest\n"
-
-#~ msgid ""
-#~ "Usage: lpoptions [-h server] [-E] -d printer\n"
-#~ "       lpoptions [-h server] [-E] [-p printer] -l\n"
-#~ "       lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
-#~ "       lpoptions [-h server] [-E] -x printer\n"
-#~ msgstr ""
-#~ "Brug: lpoptions [-h server] [-E] -d printer\n"
-#~ " lpoptions [-h server] [-E] [-p printer] -l\n"
-#~ " lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
-#~ " lpoptions [-h server] [-E] -x printer\n"
-
-#~ msgid "Usage: lppasswd [-g groupname]\n"
-#~ msgstr "Brug: lppasswd [-g groupname]\n"
-
-#~ msgid ""
-#~ "Usage: lppasswd [-g groupname] [username]\n"
-#~ "       lppasswd [-g groupname] -a [username]\n"
-#~ "       lppasswd [-g groupname] -x [username]\n"
-#~ msgstr ""
-#~ "Brug: lppasswd [-g groupname] [username]\n"
-#~ " lppasswd [-g groupname] -a [username]\n"
-#~ "       lppasswd [-g groupname] -x [username]\n"
-
-#~ msgid ""
-#~ "Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]\n"
-#~ msgstr ""
-#~ "Brug: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]\n"
-
-#~ msgid ""
-#~ "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]\n"
-#~ "Options:\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "  -I include-dir       Add include directory to search path.\n"
-#~ "  -c catalog.po        Load the specified message catalog.\n"
-#~ "  -d output-dir        Specify the output directory.\n"
-#~ "  -l lang[,lang,...]   Specify the output language(s) (locale).\n"
-#~ "  -m                   Use the ModelName value as the filename.\n"
-#~ "  -t                   Test PPDs instead of generating them.\n"
-#~ "  -v                   Be verbose (more v's for more verbosity).\n"
-#~ "  -z                   Compress PPD files using GNU zip.\n"
-#~ "  --cr                 End lines with CR (Mac OS 9).\n"
-#~ "  --crlf               End lines with CR + LF (Windows).\n"
-#~ "  --lf                 End lines with LF (UNIX/Linux/Mac OS X).\n"
-#~ msgstr ""
-#~ "Brug: ppdc [options] arkivnavn.drv [ ... arkivnavnN.drv ]\n"
-#~ "Indstillinger:\n"
-#~ "  -D name=value        Indstil navngiven variabel til værdi.\n"
-#~ "  -I include-dir       Tilføj inkluder bibliotek i søgesti.\n"
-#~ "  -c catalog.po        Indlæs det anførte beskedkatalog.\n"
-#~ "  -d output-dir        Angiv resultatbiblioteket.\n"
-#~ "  -l lang[,lang,...]   Angiv resultatsproget(-sprogene) (locale).\n"
-#~ "  -m                   Brug ModelName-værdien som arkivnavnet.\n"
-#~ "  -t                   Test PPD'er i stedet for at generere dem.\n"
-#~ "  -v                   Vær detaljeret (flere v'er giver flere detaljer).\n"
-#~ "  -z                   Komprimer PPD-arkiver vha. GNU zip.\n"
-#~ "  --cr                 Afslut linjer med CR (Mac OS 9).\n"
-#~ "  --crlf               Afslut linjer med CR + LF (Windows).\n"
-#~ "  --lf                 Afslut linjer med LF (UNIX/Linux/Mac OS X).\n"
-
-#~ msgid ""
-#~ "Usage: ppdhtml [options] filename.drv >filename.html\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "Options:\n"
-#~ "  -I include-dir    Add include directory to search path.\n"
-#~ msgstr ""
-#~ "Brug: ppdhtml [options] arkivnavn.drv >arkivnavn.html\n"
-#~ "  -D name=value        Indstil navngiven variabel til værdi.\n"
-#~ "Indstillinger:\n"
-#~ "  -I include-dir    Tilføj inkluder bibliotek i søgesti.\n"
-
-#~ msgid ""
-#~ "Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Options:\n"
-#~ "  -I include-dir\n"
-#~ "  -o filename.drv\n"
-#~ msgstr ""
-#~ "Brug: ppdi [options] arkivnavn.ppd [ ... arkivnavnN.ppd ]\n"
-#~ "Indstillinger:\n"
-#~ "  -I include-dir\n"
-#~ "  -o arkivnavn.drv\n"
-
-#~ msgid ""
-#~ "Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Options:\n"
-#~ "  -o filename.ppd[.gz]\n"
-#~ msgstr ""
-#~ "Brug: ppdmerge [options] arkivnavn.ppd [ ... arkivnavnN.ppd ]\n"
-#~ "Indstillinger:\n"
-#~ "  -o arkivnavn.ppd[.gz]\n"
-
-#~ msgid ""
-#~ "Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]\n"
-#~ "Options:\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "  -I include-dir    Add include directory to search path.\n"
-#~ "  -v                Be verbose (more v's for more verbosity).\n"
-#~ msgstr ""
-#~ "Brug: ppdpo [options] -o arkivnavn.po arkivnavn.drv [ ... arkivnavnN."
-#~ "drv ]\n"
-#~ "Indstillinger:\n"
-#~ "  -D name=value        Indstil navngiven variabel til værdi.\n"
-#~ "  -I include-dir    Tilføj inkluder bibliotek i søgesti.\n"
-#~ "  -v                Vær detaljeret (flere v'er giver flere detaljer).\n"
-
-#~ msgid "Usage: snmp [host-or-ip-address]\n"
-#~ msgstr "Brug: snmp [host-or-ip-address]\n"
-
-#~ msgid "WARNING: Adding only the first %d printers found"
-#~ msgstr "WARNING: Tilføjer kun de første %d fundne printere"
-
-#~ msgid "WARNING: Boolean expected for waiteof option \"%s\"\n"
-#~ msgstr "WARNING: Boolesk forventet for indstillingen waiteof \"%s\"\n"
-
-#~ msgid "WARNING: Failed to read side-channel request!\n"
-#~ msgstr "WARNING: Kunne ikke læse anmodningen om side-channel!\n"
-
-#~ msgid "WARNING: Option \"%s\" cannot be included via IncludeFeature!\n"
-#~ msgstr ""
-#~ "WARNING: Indstillingen \"%s\" kan ikke inkluderes via IncludeFeature!\n"
-
-#~ msgid "WARNING: Printer not responding\n"
-#~ msgstr "WARNING: Printer svarer ikke!\n"
-
-#~ msgid "WARNING: Printer sent unexpected EOF\n"
-#~ msgstr "WARNING: Printer sendte uventet EOF\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with command status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: Ekstern vært svarede ikke med kommandostatus-byte efter %d "
-#~ "sekunder!\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with control status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: Ekstern vært svarede ikke med kontrolstatus-byte efter %d "
-#~ "sekunder!\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with data status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: Ekstern vært svarede ikke med datastatus-byte efter %d "
-#~ "sekunder!\n"
-
-#~ msgid "WARNING: SCSI command timed out (%d); retrying...\n"
-#~ msgstr "WARNING: Timeout i SCSI-kommando (%d); prøver igen...\n"
-
-#~ msgid ""
-#~ "WARNING: This document does not conform to the Adobe Document Structuring "
-#~ "Conventions and may not print correctly!\n"
-#~ msgstr ""
-#~ "WARNING: Dette dokument overholder ikke Adobe Document Structuring "
-#~ "Conventions og udskrives muligvis ikke korrekt!\n"
-
-#~ msgid "WARNING: Unable to open \"%s:%s\": %s\n"
-#~ msgstr "WARNING: Kan ikke åbne \"%s:%s\": %s\n"
-
-#~ msgid "WARNING: Unable to send PAP status request"
-#~ msgstr "WARNING: Kan ikke sende PAP status-anmodning"
-
-#~ msgid "WARNING: Unexpected PAP packet of type %d\n"
-#~ msgstr "WARNING: Uventet PAP-pakke af typen %d\n"
-
-#~ msgid "WARNING: Unknown PAP packet of type %d\n"
-#~ msgstr "WARNING: Ukendt PAP-pakke af typen %d\n"
-
-#~ msgid "WARNING: Unknown choice \"%s\" for option \"%s\"!\n"
-#~ msgstr "WARNING: Ukendt valg \"%s\" til indstillingen \"%s\"!\n"
-
-#~ msgid "WARNING: Unknown option \"%s\"!\n"
-#~ msgstr "WARNING: Ukendt indstilling \"%s\"!\n"
-
-#~ msgid "WARNING: Unsupported baud rate %s!\n"
-#~ msgstr "WARNING: Ikke understøttet baudhastighed %s!\n"
-
-#~ msgid "WARNING: number expected for status option \"%s\"\n"
-#~ msgstr "WARNING: tal forventet for indstillingen status \"%s\"\n"
-
-#~ msgid ""
-#~ "WARNING: recoverable: Network host '%s' is busy; will retry in %d "
-#~ "seconds...\n"
-#~ msgstr ""
-#~ "WARNING: Kan gendannes: Netværksværten '%s' er i brug; prøver igen om %d "
-#~ "sekunder...\n"
-
-#~ msgid "Warning, no Windows 2000 printer drivers are installed!"
-#~ msgstr ""
-#~ "Advarsel - der er ikke installeret nogen Windows 2000-printerarkiver!"
-
-#~ msgid "You4 Envelope"
-#~ msgstr "You4-kuvert"
-
-#~ msgid "convert: Use the -f option to specify a file to convert.\n"
-#~ msgstr ""
-#~ "konverter: Brug indstillingen -f til at anføre et arkiv, der skal "
-#~ "konverteres.\n"
-
-#~ msgid "cupsaddsmb: No PPD file for printer \"%s\" - %s\n"
-#~ msgstr "cupsaddsmb: Intet PPD-arkiv til printeren \"%s\" - %s\n"
-
-#~ msgid "cupsctl: Unable to connect to server: %s\n"
-#~ msgstr "cupsctl: Kan ikke oprette forbindelse til server: %s\n"
-
-#~ msgid "cupsctl: Unknown option \"%s\"!\n"
-#~ msgstr "cupsctl: Ukendt indstilling \"%s\"!\n"
-
-#~ msgid "cupsctl: Unknown option \"-%c\"!\n"
-#~ msgstr "cupsctl: Ukendt indstilling \"-%c\"!\n"
-
-#~ msgid "cupsd: Expected config filename after \"-c\" option!\n"
-#~ msgstr "cupsd: Forventede config-arkivnavn efter indstillingen \"-c\"!\n"
-
-#~ msgid "cupsd: Unable to get current directory!\n"
-#~ msgstr "cupsd: Kan ikke hente aktuelt bibliotek!\n"
-
-#~ msgid "cupsd: Unknown argument \"%s\" - aborting!\n"
-#~ msgstr "cupsd: Ukendt argument \"%s\" - afbryder!\n"
-
-#~ msgid "cupsd: Unknown option \"%c\" - aborting!\n"
-#~ msgstr "cupsd: Ukendt indstilling \"%c\" - afbryder!\n"
-
-#~ msgid "cupsd: launchd(8) support not compiled in, running in normal mode.\n"
-#~ msgstr ""
-#~ "cupsd: launchd(8)-understøttelse ikke medkompileret, afvikles i normal "
-#~ "funktion.\n"
-
-#~ msgid "cupsfilter: Invalid document number %d!\n"
-#~ msgstr "cupsfilter: Ugyldigt dokumentnummer %d!\n"
-
-#~ msgid "cupsfilter: Invalid job ID %d!\n"
-#~ msgstr "cupsfilter: Ugyldig job-id %d!\n"
-
-#~ msgid "cupsfilter: Only one filename can be specified!\n"
-#~ msgstr "cupsfilter: Der kan kun anføres et arkivnavn!\n"
-
-#~ msgid "cupsfilter: Unable to create temporary file: %s\n"
-#~ msgstr "cupsfilter: Kan ikke oprette midlertidigt arkiv: %s\n"
-
-#~ msgid "cupsfilter: Unable to get job file - %s\n"
-#~ msgstr "cupsfilter: Kan ikke hente jobarkiv - %s\n"
-
-#~ msgid "cupstestppd: The -q option is incompatible with the -v option.\n"
-#~ msgstr ""
-#~ "cupstestppd: Indstillingen -q er ikke kompatibel med indstillingen -v.\n"
-
-#~ msgid "cupstestppd: The -v option is incompatible with the -q option.\n"
-#~ msgstr ""
-#~ "cupstestppd: Indstillingen -v er ikke kompatibel med indstillingen -q.\n"
-
-#~ msgid "device for %s/%s: %s\n"
-#~ msgstr "enhed til %s/%s: %s\n"
-
-#~ msgid "device for %s: %s\n"
-#~ msgstr "enhed til %s: %s\n"
-
-#~ msgid "help\t\tget help on commands\n"
-#~ msgstr "hjælp\t\tfå hjælp til kommandoer"
-
-#~ msgid "job-printer-uri attribute missing!"
-#~ msgstr "egenskaben job-printer-uri mangler!"
-
-#~ msgid "lpadmin: Class name can only contain printable characters!\n"
-#~ msgstr "lpadmin: Klassenavn må kun indeholde tegn, der kan udskrives!\n"
-
-#~ msgid "lpadmin: Expected PPD after '-P' option!\n"
-#~ msgstr "lpadmin: Forventede PPD efter indstillingen '-P'!\n"
-
-#~ msgid "lpadmin: Expected allow/deny:userlist after '-u' option!\n"
-#~ msgstr "lpadmin: Forventede allow/deny:userlist efter indstillingen '-u'!\n"
-
-#~ msgid "lpadmin: Expected class after '-r' option!\n"
-#~ msgstr "lpadmin: Forventede klasse efter indstillingen '-r'!\n"
-
-#~ msgid "lpadmin: Expected class name after '-c' option!\n"
-#~ msgstr "lpadmin: Forventede klassenavn efter indstillingen '-c'!\n"
-
-#~ msgid "lpadmin: Expected description after '-D' option!\n"
-#~ msgstr "lpadmin: Forventede beskrivelse efter indstillingen '-D'!\n"
-
-#~ msgid "lpadmin: Expected device URI after '-v' option!\n"
-#~ msgstr "lpadmin: Forventede enheds-URI efter indstillingen '-v'!\n"
-
-#~ msgid "lpadmin: Expected file type(s) after '-I' option!\n"
-#~ msgstr "lpadmin: Forventede arkivtype(r) efter indstillingen '-I'!\n"
-
-#~ msgid "lpadmin: Expected hostname after '-h' option!\n"
-#~ msgstr "lpadmin: Forventede værtsnavn efter indstillingen '-h'!\n"
-
-#~ msgid "lpadmin: Expected interface after '-i' option!\n"
-#~ msgstr "lpadmin: Forventede grænseflade efter indstillingen '-i'!\n"
-
-#~ msgid "lpadmin: Expected location after '-L' option!\n"
-#~ msgstr "lpadmin: Forventede placering efter indstillingen '-L'!\n"
-
-#~ msgid "lpadmin: Expected model after '-m' option!\n"
-#~ msgstr "lpadmin: Forventede model efter indstillingen '-m'!\n"
-
-#~ msgid "lpadmin: Expected name=value after '-o' option!\n"
-#~ msgstr "lpadmin: Forventede navn=værdi efter indstillingen '-o'!\n"
-
-#~ msgid "lpadmin: Expected printer after '-p' option!\n"
-#~ msgstr "lpadmin: Forventede printer efter indstillingen '-p'!\n"
-
-#~ msgid "lpadmin: Expected printer name after '-d' option!\n"
-#~ msgstr "lpadmin: Forventede printernavn efter indstillingen '-d'!\n"
-
-#~ msgid "lpadmin: Expected printer or class after '-x' option!\n"
-#~ msgstr ""
-#~ "lpadmin: Forventede printer eller klasse efter indstillingen '-x'!\n"
-
-#~ msgid "lpadmin: No member names were seen!\n"
-#~ msgstr "lpadmin: Ingen medlemsnavne set!\n"
-
-#~ msgid "lpadmin: Printer %s is already a member of class %s.\n"
-#~ msgstr "lpadmin: Printeren %s er allerede medlem af klassen %s.\n"
-
-#~ msgid "lpadmin: Printer %s is not a member of class %s.\n"
-#~ msgstr "lpadmin: Printeren %s er ikke medlem af klassen %s.\n"
-
-#~ msgid "lpadmin: Printer name can only contain printable characters!\n"
-#~ msgstr "lpadmin: Printernavn må kun indeholde tegn, der kan udskrives!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to add a printer to the class:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Kan ikke føje en printer til klassen:\n"
-#~ "         Du skal først angive et printernavn!\n"
-
-#~ msgid "lpadmin: Unable to connect to server: %s\n"
-#~ msgstr "lpadmin: Kan ikke oprette forbindelse til server: %s\n"
-
-#~ msgid "lpadmin: Unable to create temporary file - %s\n"
-#~ msgstr "lpadmin: Kan ikke oprette midlertidigt arkiv - %s\n"
-
-#~ msgid "lpadmin: Unable to create temporary file: %s\n"
-#~ msgstr "lpadmin: Kan ikke oprette midlertidigt arkiv: %s\n"
-
-#~ msgid "lpadmin: Unable to open PPD file \"%s\" - %s\n"
-#~ msgstr "lpadmin: Kan ikke åbne PPD-arkivet \"%s\" - %s\n"
-
-#~ msgid "lpadmin: Unable to open file \"%s\": %s\n"
-#~ msgstr "lpadmin: Kan ikke åbne arkivet \"%s\": %s\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to remove a printer from the class:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Kan ikke fjerne en printer fra klassen:\n"
-#~ "         Du skal først angive et printernavn!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the PPD file:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Kan ikke indstille PPD-arkivet:\n"
-#~ "         Du skal først angive et printernavn!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the device URI:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Kan ikke indstille enheds-URI'en:\n"
-#~ "         Du skal først angive et printernavn!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the interface script or PPD file:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Kan ikke indstille grænsefladeinstruksen eller PPD-arkivet:\n"
-#~ "         Du skal først angive et printernavn!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the interface script:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Kan ikke indstille grænsefladeinstruksen:\n"
-#~ "         Du skal først angive et printernavn!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer description:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Kan ikke indstille printerbeskrivelsen:\n"
-#~ "         Du skal først angive et printernavn!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer location:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Kan ikke indstille printerens placering:\n"
-#~ "         Du skal først angive et printernavn!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer options:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Kan ikke indstille printerens udstyr:\n"
-#~ "         Du skal først angive et printernavn!\n"
-
-#~ msgid "lpadmin: Unknown allow/deny option \"%s\"!\n"
-#~ msgstr "lpadmin: Ukendt indstilling for tillad/afvis \"%s\"!\n"
-
-#~ msgid "lpadmin: Unknown argument '%s'!\n"
-#~ msgstr "lpadmin: Ukendt argument \"%s\"!\n"
-
-#~ msgid "lpadmin: Unknown option '%c'!\n"
-#~ msgstr "lpadmin: Ukendt indstilling '%c'!\n"
-
-#~ msgid "lpadmin: Warning - content type list ignored!\n"
-#~ msgstr "lpadmin: Advarsel - listen indholdstype ignoreret!\n"
-
-#~ msgid "lpinfo: Expected 1284 device ID string after --device-id!\n"
-#~ msgstr "lpinfo: Forventede 1284-enheds-id-streng efter --device-id!\n"
-
-#~ msgid "lpinfo: Expected language after --language!\n"
-#~ msgstr "lpinfo: Forventede sprog efter --language!\n"
-
-#~ msgid "lpinfo: Expected make and model after --make-and-model!\n"
-#~ msgstr "lpinfo: Forventede mærke og model efter --make-and-model!\n"
-
-#~ msgid "lpinfo: Expected product string after --product!\n"
-#~ msgstr "lpinfo: Forventede produktstreng efter --product!\n"
-
-#~ msgid "lpinfo: Expected scheme list after --exclude-schemes!\n"
-#~ msgstr "lpinfo: Forventede planliste efter --exclude-schemes!\n"
-
-#~ msgid "lpinfo: Expected scheme list after --include-schemes!\n"
-#~ msgstr "lpinfo: Forventede planliste efter --include-schemes!\n"
-
-#~ msgid "lpinfo: Expected timeout after --timeout!\n"
-#~ msgstr "lpinfo: Forventede timeout efter --timeout!\n"
-
-#~ msgid "lpinfo: Unknown argument '%s'!\n"
-#~ msgstr "lpinfo: Ukendt argument \"%s\"!\n"
-
-#~ msgid "lpinfo: Unknown option '%c'!\n"
-#~ msgstr "lpinfo: Ukendt indstilling '%c'!\n"
-
-#~ msgid "lpinfo: Unknown option '%s'!\n"
-#~ msgstr "lpinfo: Ukendt indstilling '%s'!\n"
-
-#~ msgid "lpmove: Unable to connect to server: %s\n"
-#~ msgstr "lpmove: Kan ikke oprette forbindelse til server: %s\n"
-
-#~ msgid "lpmove: Unknown argument '%s'!\n"
-#~ msgstr "lpmove: Ukendt argument \"%s\"!\n"
-
-#~ msgid "lpmove: Unknown option '%c'!\n"
-#~ msgstr "lpmove: Ukendt indstilling '%c'!\n"
-
-#~ msgid "lpoptions: No printers!?!\n"
-#~ msgstr "lpoptions: Ingen printere!?!\n"
-
-#~ msgid "lpoptions: Unable to add printer or instance: %s\n"
-#~ msgstr "lpoptions: Kan ikke tilføje printer eller tilfælde: %s\n"
-
-#~ msgid "lpoptions: Unable to get PPD file for %s: %s\n"
-#~ msgstr "lpoptions: Kan ikke hente PPD-arkivet til %s: %s\n"
-
-#~ msgid "lpoptions: Unable to open PPD file for %s!\n"
-#~ msgstr "lpoptions: Kan ikke åbne PPD-arkivet til %s!\n"
-
-#~ msgid "lpoptions: Unknown printer or class!\n"
-#~ msgstr "lpoptions: Ukendt printer eller klasse!\n"
-
-#~ msgid "lppasswd: Only root can add or delete passwords!\n"
-#~ msgstr "lppasswd: Det er kun root, der må tilføje og slette adgangskoder!\n"
-
-#~ msgid "lppasswd: Password file busy!\n"
-#~ msgstr "lppasswd: Adgangskodearkiv i brug!\n"
-
-#~ msgid "lppasswd: Password file not updated!\n"
-#~ msgstr "lppasswd: Adgangskodearkiv ikke opdateret!\n"
-
-#~ msgid "lppasswd: Sorry, password doesn't match!\n"
-#~ msgstr "lppasswd: Beklager, adgangskoderne er ikke de samme!\n"
-
-#~ msgid ""
-#~ "lppasswd: Sorry, password rejected.\n"
-#~ "Your password must be at least 6 characters long, cannot contain\n"
-#~ "your username, and must contain at least one letter and number.\n"
-#~ msgstr ""
-#~ "lppasswd: Beklager, adgangskode afvist. Adgangskoden skal bestå af mindst "
-#~ "6 tegn, må ikke indeholde dit brugernavn og skal indeholde mindst et "
-#~ "bogstav og et tal.\n"
-
-#~ msgid "lppasswd: Sorry, passwords don't match!\n"
-#~ msgstr "lppasswd: Beklager, adgangskoderne er ikke de samme!\n"
-
-#~ msgid "lppasswd: Unable to copy password string: %s\n"
-#~ msgstr "lppasswd: Kan ikke kopiere adgangskodestreng: %s\n"
-
-#~ msgid "lppasswd: Unable to open password file: %s\n"
-#~ msgstr "lppasswd: Kan ikke åbne adgangskodearkiv: %s\n"
-
-#~ msgid "lppasswd: Unable to write to password file: %s\n"
-#~ msgstr "lppasswd: Kan ikke skrive til adgangskodearkiv: %s\n"
-
-#~ msgid "lppasswd: failed to backup old password file: %s\n"
-#~ msgstr ""
-#~ "lppasswd: kunne ikke sikkerhedskopiere gammelt adgangskodearkiv: %s\n"
-
-#~ msgid "lppasswd: failed to rename password file: %s\n"
-#~ msgstr "lppasswd: kunne ikke omdøbe adgangskodearkiv: %s\n"
-
-#~ msgid "lppasswd: user \"%s\" and group \"%s\" do not exist.\n"
-#~ msgstr "lppasswd: brugeren \"%s\" og gruppen \"%s\" findes ikke.\n"
-
-#~ msgid ""
-#~ "lpstat: error - %s environment variable names non-existent destination \"%"
-#~ "s\"!\n"
-#~ msgstr ""
-#~ "lpstat: Fejl - %s-miljøvariabel navngiver ikke eksisterende destination "
-#~ "\"%s\"!\n"
-
-#~ msgid "members of class %s:\n"
-#~ msgstr "medlemmer af klassen %s:\n"
-
-#~ msgid "no entries\n"
-#~ msgstr "ingen optegnelser"
-
-#~ msgid "no system default destination\n"
-#~ msgstr "ingen standarddestination til system"
-
-#~ msgid "notify-events not specified!"
-#~ msgstr "notify-events ikke anført!"
-
-#~ msgid "notify-recipient-uri URI \"%s\" is already used!"
-#~ msgstr "notify-recipient-uri URI \"%s\" er allerede brugt!"
-
-#~ msgid "notify-recipient-uri URI \"%s\" uses unknown scheme!"
-#~ msgstr "notify-recipient-uri URI \"%s\" bruger ukendt skema!"
-
-#~ msgid "notify-subscription-id %d no good!"
-#~ msgstr "notify-subscription-id %d ikke i orden!"
-
-#~ msgid "ppdc: Adding include directory \"%s\"...\n"
-#~ msgstr "ppdc: Tilføjer inkluder bibliotek \"%s\"...\n"
-
-#~ msgid "ppdc: Adding/updating UI text from %s...\n"
-#~ msgstr "ppdc: Tilføjer/opdaterer ui-tekst fra %s...\n"
-
-#~ msgid "ppdc: Bad boolean value (%s) on line %d of %s.\n"
-#~ msgstr "ppdc: Ugyldig booleesk værdi (%s) på linje %d af %s.\n"
-
-#~ msgid "ppdc: Bad resolution name \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Ugyldigt opløsningsnavn \"%s\" på linje %d af %s!\n"
-
-#~ msgid "ppdc: Bad status keyword %s on line %d of %s!\n"
-#~ msgstr "ppdc: Ugyldigt statusnøgleord %s på linje %d af %s!\n"
-
-#~ msgid "ppdc: Bad variable substitution ($%c) on line %d of %s.\n"
-#~ msgstr "ppdc: Ugyldig variabelerstatning ($%c) på linje %d af %s.\n"
-
-#~ msgid "ppdc: Choice found on line %d of %s with no Option!\n"
-#~ msgstr "ppdc: Valg fundet på linje %d af %s uden nogen indstilling!\n"
-
-#~ msgid "ppdc: Duplicate #po for locale %s on line %d of %s!\n"
-#~ msgstr "ppdc: Dubleret #po for lokalitet %s på linje %d af %s!\n"
-
-#~ msgid "ppdc: Expected a filter definition on line %d of %s!\n"
-#~ msgstr "ppdc: Forventede en filterdefinition på linje %d af %s!\n"
-
-#~ msgid "ppdc: Expected a program name on line %d of %s!\n"
-#~ msgstr "ppdc: Forventede et programnavn på linje %d af %s!\n"
-
-#~ msgid "ppdc: Expected boolean value on line %d of %s.\n"
-#~ msgstr "ppdc: Forventede booleesk værdi på linje %d af %s.\n"
-
-#~ msgid "ppdc: Expected charset after Font on line %d of %s!\n"
-#~ msgstr "ppdc: Forventede tegnsæt efter Font på linje %d af %s!\n"
-
-#~ msgid "ppdc: Expected choice code on line %d of %s.\n"
-#~ msgstr "ppdc: Forventede valgkode på linje %d af %s.\n"
-
-#~ msgid "ppdc: Expected choice name/text on line %d of %s.\n"
-#~ msgstr "ppdc: Forventede valgnavn/-tekst på linje %d af %s.\n"
-
-#~ msgid "ppdc: Expected color order for ColorModel on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Forventede farverækkefølge til ColorModel på linje %d af %s!\n"
-
-#~ msgid "ppdc: Expected colorspace for ColorModel on line %d of %s!\n"
-#~ msgstr "ppdc: Forventede farveområde til ColorModel på linje %d af %s!\n"
-
-#~ msgid "ppdc: Expected compression for ColorModel on line %d of %s!\n"
-#~ msgstr "ppdc: Forventede komprimering til ColorModel på linje %d af %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected constraints string for UIConstraints on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Forventede begrænsningsstreng til UIConstraints på linje %d af %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected driver type keyword following DriverType on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc: Forventede nøgleord til printerarkivtype efter DriverType på linje %"
-#~ "d af %s!\n"
-
-#~ msgid "ppdc: Expected duplex type after Duplex on line %d of %s!\n"
-#~ msgstr "ppdc: Forventede duplekstype efter Duplex på linje %d af %s!\n"
-
-#~ msgid "ppdc: Expected encoding after Font on line %d of %s!\n"
-#~ msgstr "ppdc: Forventede kodning efter Font på linje %d af %s!\n"
-
-#~ msgid "ppdc: Expected filename after #po %s on line %d of %s!\n"
-#~ msgstr "ppdc: Forventede arkivnavn efter #po %s på linje %d af %s!\n"
-
-#~ msgid "ppdc: Expected group name/text on line %d of %s!\n"
-#~ msgstr "ppdc: Forventede gruppenavn/-tekst på linje %d af %s.\n"
-
-#~ msgid "ppdc: Expected include filename on line %d of %s!\n"
-#~ msgstr "ppdc: Forventede inkluder arkivnavn på linje %d af %s!\n"
-
-#~ msgid "ppdc: Expected integer on line %d of %s!\n"
-#~ msgstr "ppdc: Forventede heltal på linje %d af %s!\n"
-
-#~ msgid "ppdc: Expected locale after #po on line %d of %s!\n"
-#~ msgstr "ppdc: Forventede lokalitet efter #po på linje %d af %s!\n"
-
-#~ msgid "ppdc: Expected name after %s on line %d of %s!\n"
-#~ msgstr "ppdc: Forventede navn efter %s på linje %d af %s!\n"
-
-#~ msgid "ppdc: Expected name after FileName on line %d of %s!\n"
-#~ msgstr "ppdc: Forventede navn efter FileName på linje %d af %s!\n"
-
-#~ msgid "ppdc: Expected name after Font on line %d of %s!\n"
-#~ msgstr "ppdc: Forventede navn efter Font på linje %d af %s!\n"
-
-#~ msgid "ppdc: Expected name after Manufacturer on line %d of %s!\n"
-#~ msgstr "ppdc: Forventede navn efter Manufacturer på linje %d af %s!\n"
-
-#~ msgid "ppdc: Expected name after MediaSize on line %d of %s!\n"
-#~ msgstr "ppdc: Forventede navn efter MediaSize på linje %d af %s!\n"
-
-#~ msgid "ppdc: Expected name after ModelName on line %d of %s!\n"
-#~ msgstr "ppdc: Forventede navn efter ModelName på linje %d af %s!\n"
-
-#~ msgid "ppdc: Expected name after PCFileName on line %d of %s!\n"
-#~ msgstr "ppdc: Forventede navn efter PCFileName på linje %d af %s!\n"
-
-#~ msgid "ppdc: Expected name/text after %s on line %d of %s!\n"
-#~ msgstr "ppdc: Forventede navn/tekst efter %s på linje %d af %s!\n"
-
-#~ msgid "ppdc: Expected name/text after Installable on line %d of %s!\n"
-#~ msgstr "ppdc: Forventede navn/tekst efter Installable på linje %d af %s.\n"
-
-#~ msgid "ppdc: Expected name/text after Resolution on line %d of %s!\n"
-#~ msgstr "ppdc: Forventede navn/tekst efter Resolution på linje %d af %s.\n"
-
-#~ msgid ""
-#~ "ppdc: Expected name/text combination for ColorModel on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Forventede navn-/tekstkombination til ColorModel på linje %d af %"
-#~ "s!\n"
-
-#~ msgid "ppdc: Expected option name/text on line %d of %s!\n"
-#~ msgstr "ppdc: Forventede indstillingsnavn/-tekst på linje %d af %s.\n"
-
-#~ msgid "ppdc: Expected option section on line %d of %s!\n"
-#~ msgstr "ppdc: Forventede indstillingssektion på linje %d af %s!\n"
-
-#~ msgid "ppdc: Expected option type on line %d of %s!\n"
-#~ msgstr "ppdc: Forventede indstillingstype på linje %d af %s!\n"
-
-#~ msgid "ppdc: Expected override field after Resolution on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Forventede tilsidesættelsesfelt efter Resolution på linje %d af %"
-#~ "s!\n"
-
-#~ msgid "ppdc: Expected real number on line %d of %s!\n"
-#~ msgstr "ppdc: Forventede rigtigt tal på linje %d af %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected resolution/mediatype following ColorProfile on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc: Forventede opløsnings-/medietype efter ColorProfile på linje %d af %"
-#~ "s.\n"
-
-#~ msgid ""
-#~ "ppdc: Expected resolution/mediatype following SimpleColorProfile on line %"
-#~ "d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Forventede opløsnings-/medietype efter SimpleColorProfile på linje %"
-#~ "d af %s.\n"
-
-#~ msgid "ppdc: Expected selector after %s on line %d of %s!\n"
-#~ msgstr "ppdc: Forventede vælger efter %s på linje %d af %s!\n"
-
-#~ msgid "ppdc: Expected status after Font on line %d of %s!\n"
-#~ msgstr "ppdc: Forventede status efter Font på linje %d af %s!\n"
-
-#~ msgid "ppdc: Expected string after Copyright on line %d of %s!\n"
-#~ msgstr "ppdc: Forventede streng efter Copyright på linje %d af %s!\n"
-
-#~ msgid "ppdc: Expected string after Version on line %d of %s!\n"
-#~ msgstr "ppdc: Forventede streng efter Version på linje %d af %s!\n"
-
-#~ msgid "ppdc: Expected two option names on line %d of %s!\n"
-#~ msgstr "ppdc: Forventede to indstillingsnavne på linje %d af %s!\n"
-
-#~ msgid "ppdc: Expected value after %s on line %d of %s!\n"
-#~ msgstr "ppdc: Forventede værdi efter %s på linje %d af %s!\n"
-
-#~ msgid "ppdc: Expected version after Font on line %d of %s!\n"
-#~ msgstr "ppdc: Forventede version efter Font på linje %d af %s!\n"
-
-#~ msgid "ppdc: Invalid #include/#po filename \"%s\"!\n"
-#~ msgstr "ppdc: Ugyldigt #include/#po-arkivnavn \"%s\"!\n"
-
-#~ msgid "ppdc: Invalid cost for filter on line %d of %s!\n"
-#~ msgstr "ppdc: Ugyldig omkostning for filter på linje %d af %s!\n"
-
-#~ msgid "ppdc: Invalid empty MIME type for filter on line %d of %s!\n"
-#~ msgstr "ppdc: Ugyldig tom MIME-type for filter på linje %d af %s!\n"
-
-#~ msgid "ppdc: Invalid empty program name for filter on line %d of %s!\n"
-#~ msgstr "ppdc: Ugyldigt tomt programnavn for filter på linje %d af %s!\n"
-
-#~ msgid "ppdc: Invalid option section \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Ugyldig indstillingssektion \"%s\" på linje %d af %s!\n"
-
-#~ msgid "ppdc: Invalid option type \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Ugyldig indstillingstype \"%s\" på linje %d af %s!\n"
-
-#~ msgid "ppdc: Loading driver information file \"%s\"...\n"
-#~ msgstr "ppdc: Indlæser oplysningsarkiv til printerarkiv \"%s\"...\n"
-
-#~ msgid "ppdc: Loading messages for locale \"%s\"...\n"
-#~ msgstr "ppdc: Indlæser beskeder til lokalitet \"%s\"...\n"
-
-#~ msgid "ppdc: Loading messages from \"%s\"...\n"
-#~ msgstr "ppdc: Indlæser beskeder fra \"%s\"...\n"
-
-#~ msgid "ppdc: Missing #endif at end of \"%s\"!\n"
-#~ msgstr "ppdc: Manglende #endif i slutningen af \"%s\"!\n"
-
-#~ msgid "ppdc: Missing #if on line %d of %s!\n"
-#~ msgstr "ppdc: Manglende #if på linje %d af %s!\n"
-
-#~ msgid "ppdc: No message catalog provided for locale %s!\n"
-#~ msgstr "ppdc: Intet beskedkatalog til lokalitet %s!\n"
-
-#~ msgid "ppdc: Option %s redefined with a different type on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Indstilling %s omdefineret med en anden type på linje %d af %s!\n"
-
-#~ msgid "ppdc: Option constraint must *name on line %d of %s!\n"
-#~ msgstr "ppdc: Indstillingen constraint skal *name på linje %d af %s.\n"
-
-#~ msgid "ppdc: Too many nested #if's on line %d of %s!\n"
-#~ msgstr "ppdc: For mange indlejrede #if-udsagn på linje %d af %s!\n"
-
-#~ msgid "ppdc: Unable to create PPD file \"%s\" - %s.\n"
-#~ msgstr "ppdc: Kan ikke oprette PPD-arkivet \"%s\" - %s\n"
-
-#~ msgid "ppdc: Unable to create output directory %s: %s\n"
-#~ msgstr "ppdc: Kan ikke oprette resultatbibliotek %s: %s\n"
-
-#~ msgid "ppdc: Unable to create output pipes: %s\n"
-#~ msgstr "ppdc: Kan ikke oprette resultatrør: %s\n"
-
-#~ msgid "ppdc: Unable to execute cupstestppd: %s\n"
-#~ msgstr "ppdc: Kan ikke udføre cupstestppd: %s\n"
-
-#~ msgid "ppdc: Unable to find #po file %s on line %d of %s!\n"
-#~ msgstr "ppdc: Kan ikke finde #po-arkiv %s på linje %d af %s!\n"
-
-#~ msgid "ppdc: Unable to find include file \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Kan ikke finde inkluder arkiv \"%s\" på linje %d af %s!\n"
-
-#~ msgid "ppdc: Unable to find localization for \"%s\" - %s\n"
-#~ msgstr "ppdc: Kan ikke finde lokalisering for \"%s\" - %s\n"
-
-#~ msgid "ppdc: Unable to load localization file \"%s\" - %s\n"
-#~ msgstr "ppdc: Kan ikke indlæse lokaliseringsarkivet \"%s\" - %s\n"
-
-#~ msgid "ppdc: Undefined variable (%s) on line %d of %s.\n"
-#~ msgstr "ppdc: Udefineret variabel (%s) på linje %d af %s.\n"
-
-#~ msgid "ppdc: Unknown driver type %s on line %d of %s!\n"
-#~ msgstr "ppdc: Ukendt type printerarkiv %s på linje %d af %s!\n"
-
-#~ msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Ukendt duplekstype \"%s\" på linje %d af %s!\n"
-
-#~ msgid "ppdc: Unknown media size \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Ukendt mediestørrelse \"%s\" på linje %d af %s!\n"
-
-#~ msgid "ppdc: Unknown token \"%s\" seen on line %d of %s!\n"
-#~ msgstr "ppdc: Ukendt mærke \"%s\" set på linje %d af %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Unknown trailing characters in real number \"%s\" on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc: Ukendt udpunkteringstegn i rigtige tal \"%s\" på linje %d af %s!\n"
-
-#~ msgid "ppdc: Unterminated string starting with %c on line %d of %s!\n"
-#~ msgstr "ppdc: Uafsluttet streng startende fra %c på linje %d af %s!\n"
-
-#~ msgid "ppdc: Writing %s...\n"
-#~ msgstr "ppdc: Skriver %s...\n"
-
-#~ msgid "ppdc: Writing PPD files to directory \"%s\"...\n"
-#~ msgstr "ppdc: Skriver PPD-arkiver til bibliotek \"%s\"...\n"
-
-#~ msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s!\n"
-#~ msgstr "ppdmerge: Ugyldig LanguageVersion \"%s\" in %s!\n"
-
-#~ msgid "ppdmerge: Ignoring PPD file %s...\n"
-#~ msgstr "ppdmerge: Ignorerer PPD-arkiv %s...\n"
-
-#~ msgid "ppdmerge: Unable to backup %s to %s- %s\n"
-#~ msgstr "ppdmerge: Kan ikke sikkerhedskopiere %s til %s- %s\n"
-
-#~ msgid "printer %s disabled since %s -\n"
-#~ msgstr "printeren %s slået fra siden %s -\n"
-
-#~ msgid "printer %s is idle.  enabled since %s\n"
-#~ msgstr "printeren %s er ledig.  Slået til siden %s\n"
-
-#~ msgid "printer %s now printing %s-%d.  enabled since %s\n"
-#~ msgstr "printeren %s udskriver nu %s-%d.  Slået til siden %s\n"
-
-#~ msgid "printer %s/%s disabled since %s -\n"
-#~ msgstr "printeren %s/%s slået fra siden %s -\n"
-
-#~ msgid "printer %s/%s is idle.  enabled since %s\n"
-#~ msgstr "printeren %s/%s er ledig.  Slået til siden %s\n"
-
-#~ msgid "printer %s/%s now printing %s-%d.  enabled since %s\n"
-#~ msgstr "printeren %s/%s udskriver nu %s-%d.  Slået til siden %s\n"
-
-#~ msgid "request id is %s-%d (%d file(s))\n"
-#~ msgstr "anmodnings-id er %s-%d (%d arkiv(er))\n"
-
-#~ msgid "scheduler is not running\n"
-#~ msgstr "planlægger er ikke aktiv\n"
-
-#~ msgid "scheduler is running\n"
-#~ msgstr "planlægger er aktiv\n"
-
-#~ msgid "status\t\tshow status of daemon and queue\n"
-#~ msgstr "status\t\tvis status for daemon og kø\n"
-
-#~ msgid "system default destination: %s\n"
-#~ msgstr "standarddestination til system: %s\n"
-
-#~ msgid "system default destination: %s/%s\n"
-#~ msgstr "standarddestination til system: %s/%s\n"
diff --git a/locale/cups_de.po b/locale/cups_de.po
deleted file mode 100644 (file)
index 43b44c6..0000000
+++ /dev/null
@@ -1,8739 +0,0 @@
-msgid ""
-msgstr ""
-"Project-Id-Version: CUPS 1.4\n"
-"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2012-03-07 13:38-0800\n"
-"PO-Revision-Date: 2009-02-16 12:00-0800\n"
-"Last-Translator: Apple Inc.\n"
-"Language-Team: Apple Inc.\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: \n"
-
-msgid "\t\t(all)"
-msgstr ""
-
-msgid "\t\t(none)"
-msgstr ""
-
-#, c-format
-msgid "\t%d entries"
-msgstr ""
-
-#, c-format
-msgid "\t%s"
-msgstr ""
-
-msgid "\tAfter fault: continue"
-msgstr ""
-
-#, c-format
-msgid "\tAlerts: %s"
-msgstr ""
-
-msgid "\tBanner required"
-msgstr ""
-
-msgid "\tCharset sets:"
-msgstr ""
-
-msgid "\tConnection: direct"
-msgstr ""
-
-msgid "\tConnection: remote"
-msgstr ""
-
-msgid "\tContent types: any"
-msgstr ""
-
-msgid "\tDefault page size:"
-msgstr ""
-
-msgid "\tDefault pitch:"
-msgstr ""
-
-msgid "\tDefault port settings:"
-msgstr ""
-
-#, c-format
-msgid "\tDescription: %s"
-msgstr ""
-
-msgid "\tForm mounted:"
-msgstr ""
-
-msgid "\tForms allowed:"
-msgstr ""
-
-#, c-format
-msgid "\tInterface: %s.ppd"
-msgstr ""
-
-#, c-format
-msgid "\tInterface: %s/interfaces/%s"
-msgstr ""
-
-#, c-format
-msgid "\tInterface: %s/ppd/%s.ppd"
-msgstr ""
-
-#, c-format
-msgid "\tLocation: %s"
-msgstr ""
-
-msgid "\tOn fault: no alert"
-msgstr ""
-
-msgid "\tPrinter types: unknown"
-msgstr ""
-
-#, c-format
-msgid "\tStatus: %s"
-msgstr ""
-
-msgid "\tUsers allowed:"
-msgstr ""
-
-msgid "\tUsers denied:"
-msgstr ""
-
-msgid "\tdaemon present"
-msgstr ""
-
-msgid "\tno entries"
-msgstr ""
-
-#, c-format
-msgid "\tprinter is on device '%s' speed -1"
-msgstr ""
-
-msgid "\tprinting is disabled"
-msgstr ""
-
-msgid "\tprinting is enabled"
-msgstr ""
-
-#, c-format
-msgid "\tqueued for %s"
-msgstr ""
-
-msgid "\tqueuing is disabled"
-msgstr ""
-
-msgid "\tqueuing is enabled"
-msgstr ""
-
-msgid "\treason unknown"
-msgstr ""
-
-msgid ""
-"\n"
-"    DETAILED CONFORMANCE TEST RESULTS"
-msgstr ""
-
-msgid "                          Ignore specific warnings."
-msgstr ""
-
-msgid "                          Issue warnings instead of errors."
-msgstr ""
-
-msgid "                REF: Page 15, section 3.1."
-msgstr ""
-
-msgid "                REF: Page 15, section 3.2."
-msgstr ""
-
-msgid "                REF: Page 19, section 3.3."
-msgstr ""
-
-msgid "                REF: Page 20, section 3.4."
-msgstr ""
-
-msgid "                REF: Page 27, section 3.5."
-msgstr ""
-
-msgid "                REF: Page 42, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 16-17, section 3.2."
-msgstr ""
-
-msgid "                REF: Pages 42-45, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 45-46, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 48-49, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 52-54, section 5.2."
-msgstr ""
-
-#, c-format
-msgid "        %-39.39s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "        PASS    Default%s"
-msgstr ""
-
-msgid "        PASS    DefaultImageableArea"
-msgstr ""
-
-msgid "        PASS    DefaultPaperDimension"
-msgstr ""
-
-msgid "        PASS    FileVersion"
-msgstr ""
-
-msgid "        PASS    FormatVersion"
-msgstr ""
-
-msgid "        PASS    LanguageEncoding"
-msgstr ""
-
-msgid "        PASS    LanguageVersion"
-msgstr ""
-
-msgid "        PASS    Manufacturer"
-msgstr ""
-
-msgid "        PASS    ModelName"
-msgstr ""
-
-msgid "        PASS    NickName"
-msgstr ""
-
-msgid "        PASS    PCFileName"
-msgstr ""
-
-msgid "        PASS    PSVersion"
-msgstr ""
-
-msgid "        PASS    PageRegion"
-msgstr ""
-
-msgid "        PASS    PageSize"
-msgstr ""
-
-msgid "        PASS    Product"
-msgstr ""
-
-msgid "        PASS    ShortNickName"
-msgstr ""
-
-#, c-format
-msgid "        WARN    %s has no corresponding options."
-msgstr ""
-
-#, c-format
-msgid ""
-"        WARN    %s shares a common prefix with %s\n"
-"                REF: Page 15, section 3.2."
-msgstr ""
-
-#, c-format
-msgid ""
-"        WARN    Duplex option keyword %s may not work as expected and should "
-"be named Duplex.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-
-msgid "        WARN    File contains a mix of CR, LF, and CR LF line endings."
-msgstr ""
-
-msgid ""
-"        WARN    LanguageEncoding required by PPD 4.3 spec.\n"
-"                REF: Pages 56-57, section 5.3."
-msgstr ""
-
-#, c-format
-msgid "        WARN    Line %d only contains whitespace."
-msgstr ""
-
-msgid ""
-"        WARN    Manufacturer required by PPD 4.3 spec.\n"
-"                REF: Pages 58-59, section 5.3."
-msgstr ""
-
-msgid ""
-"        WARN    Non-Windows PPD files should use lines ending with only LF, "
-"not CR LF."
-msgstr ""
-
-#, c-format
-msgid ""
-"        WARN    Obsolete PPD version %.1f.\n"
-"                REF: Page 42, section 5.2."
-msgstr ""
-
-msgid ""
-"        WARN    PCFileName longer than 8.3 in violation of PPD spec.\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-
-msgid ""
-"        WARN    PCFileName should contain a unique filename.\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-
-msgid ""
-"        WARN    Protocols contains PJL but JCL attributes are not set.\n"
-"                REF: Pages 78-79, section 5.7."
-msgstr ""
-
-msgid ""
-"        WARN    Protocols contains both PJL and BCP; expected TBCP.\n"
-"                REF: Pages 78-79, section 5.7."
-msgstr ""
-
-msgid ""
-"        WARN    ShortNickName required by PPD 4.3 spec.\n"
-"                REF: Pages 64-65, section 5.3."
-msgstr ""
-
-msgid "       cupsaddsmb [options] -a"
-msgstr ""
-
-msgid "       cupstestdsc [options] -"
-msgstr ""
-
-msgid "       program | cupstestppd [options] -"
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  \"%s %s\" conflicts with \"%s %s\"\n"
-"                (constraint=\"%s %s %s %s\")."
-msgstr ""
-
-#, c-format
-msgid "      %s  %s %s does not exist."
-msgstr ""
-
-#, c-format
-msgid "      %s  %s file \"%s\" has the wrong capitalization."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  Bad %s choice %s.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsFilter value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsFilter2 value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsICCProfile %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsPreFilter value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsUIConstraints %s: \"%s\""
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad language \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad permissions on %s file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad spelling of %s - should be %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Cannot provide both APScanAppPath and APScanAppBundleID."
-msgstr ""
-
-#, c-format
-msgid "      %s  Default choices conflicting."
-msgstr ""
-
-#, c-format
-msgid "      %s  Empty cupsUIConstraints %s"
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing \"%s\" translation string for option %s, choice %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing \"%s\" translation string for option %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing %s file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  Missing REQUIRED PageRegion option.\n"
-"                REF: Page 100, section 5.14."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  Missing REQUIRED PageSize option.\n"
-"                REF: Page 99, section 5.14."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\""
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing cupsUIResolver %s"
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing option %s in cupsUIConstraints %s: \"%s\""
-msgstr ""
-
-#, c-format
-msgid "      %s  No base translation \"%s\" is included in file."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  REQUIRED %s does not define choice None.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" defined for %s but not for %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" has unexpected dimensions (%gx%g)."
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" should be \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" should be the Adobe standard name \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  cupsICCProfile %s hash value collides with %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  cupsUIResolver %s causes a loop."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  cupsUIResolver %s does not list at least two different options."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  %s choice names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  %s must be 1284DeviceID\n"
-"                REF: Page 72, section 5.5"
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD Default%s %s\n"
-"                REF: Page 40, section 4.5."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD DefaultImageableArea %s\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD DefaultPaperDimension %s\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD JobPatchFile attribute in file\n"
-"                REF: Page 24, section 3.4."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD Manufacturer (should be \"HP\")\n"
-"                REF: Page 211, table D.1."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD Manufacturer (should be \"Oki\")\n"
-"                REF: Page 211, table D.1."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n"
-"                REF: Pages 59-60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD PSVersion - not \"(string) int\".\n"
-"                REF: Pages 62-64, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD Product - not \"(string)\".\n"
-"                REF: Page 62, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD ShortNickName - longer than 31 chars.\n"
-"                REF: Pages 64-65, section 5.3."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad %s choice %s\n"
-"                REF: Page 84, section 5.9"
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad FileVersion \"%s\"\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad FormatVersion \"%s\"\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Bad LanguageVersion %s - must be English."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Default option code cannot be interpreted: %s"
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Default translation string for option %s choice %s contains "
-"8-bit characters."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Default translation string for option %s contains 8-bit "
-"characters."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Group names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Multiple occurrences of %s choice name %s."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Option names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED Default%s\n"
-"                REF: Page 40, section 4.5."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED DefaultImageableArea\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED DefaultPaperDimension\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED FileVersion\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED FormatVersion\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED ImageableArea for PageSize %s\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED LanguageEncoding\n"
-"                REF: Pages 56-57, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED LanguageVersion\n"
-"                REF: Pages 57-58, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED Manufacturer\n"
-"                REF: Pages 58-59, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED ModelName\n"
-"                REF: Pages 59-60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED NickName\n"
-"                REF: Page 60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PCFileName\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PSVersion\n"
-"                REF: Pages 62-64, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PageRegion\n"
-"                REF: Page 100, section 5.14."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PageSize\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 99, section 5.14."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PageSize\n"
-"                REF: Pages 99-100, section 5.14."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED PaperDimension for PageSize %s\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED Product\n"
-"                REF: Page 62, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED ShortNickName\n"
-"                REF: Page 64-65, section 5.3."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Unable to open PPD file - %s"
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Unable to open PPD file - %s on line %d."
-msgstr ""
-
-#, c-format
-msgid "    %d ERRORS FOUND"
-msgstr ""
-
-msgid "    -h       Show program usage"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Bad %%%%BoundingBox: on line %d.\n"
-"        REF: Page 39, %%%%BoundingBox:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Bad %%%%Page: on line %d.\n"
-"        REF: Page 53, %%%%Page:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Bad %%%%Pages: on line %d.\n"
-"        REF: Page 43, %%%%Pages:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Line %d is longer than 255 characters (%d).\n"
-"        REF: Page 25, Line Length"
-msgstr ""
-
-msgid ""
-"    Missing %!PS-Adobe-3.0 on first line.\n"
-"        REF: Page 17, 3.1 Conforming Documents"
-msgstr ""
-
-#, c-format
-msgid "    Missing %%EndComments comment.        REF: Page 41, %%EndComments"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Missing or bad %%BoundingBox: comment.\n"
-"        REF: Page 39, %%BoundingBox:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Missing or bad %%Page: comments.\n"
-"        REF: Page 53, %%Page:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Missing or bad %%Pages: comment.\n"
-"        REF: Page 43, %%Pages:"
-msgstr ""
-
-msgid "    NO ERRORS FOUND"
-msgstr ""
-
-#, c-format
-msgid "    Saw %d lines that exceeded 255 characters."
-msgstr ""
-
-#, c-format
-msgid "    Too many %%BeginDocument comments."
-msgstr ""
-
-#, c-format
-msgid "    Too many %%EndDocument comments."
-msgstr ""
-
-msgid "    Warning: file contains binary data."
-msgstr ""
-
-#, c-format
-msgid "    Warning: no %%EndComments comment in file."
-msgstr ""
-
-#, c-format
-msgid "    Warning: obsolete DSC version %.1f in file."
-msgstr ""
-
-msgid "  --[no-]debug-logging    Turn debug logging on/off."
-msgstr ""
-
-msgid "  --[no-]remote-admin     Turn remote administration on/off."
-msgstr ""
-
-msgid "  --[no-]remote-any       Allow/prevent access from the Internet."
-msgstr ""
-
-msgid "  --[no-]remote-printers  Show/hide remote printers."
-msgstr ""
-
-msgid "  --[no-]share-printers   Turn printer sharing on/off."
-msgstr ""
-
-msgid "  --[no-]user-cancel-any  Allow/prevent users to cancel any job."
-msgstr ""
-
-msgid "  --cr                    End lines with CR (Mac OS 9)."
-msgstr ""
-
-msgid "  --crlf                  End lines with CR + LF (Windows)."
-msgstr ""
-
-msgid "  --lf                    End lines with LF (UNIX/Linux/Mac OS X)."
-msgstr ""
-
-msgid "  -4                      Connect using IPv4."
-msgstr ""
-
-msgid "  -6                      Connect using IPv6."
-msgstr ""
-
-msgid "  -C                      Send requests using chunking (default)."
-msgstr ""
-
-msgid "  -D                      Remove the input file when finished."
-msgstr ""
-
-msgid "  -D name=value           Set named variable to value."
-msgstr ""
-
-msgid "  -E                      Enable encryption."
-msgstr ""
-
-msgid "  -E                      Encrypt the connection to the server."
-msgstr ""
-
-msgid "  -E                      Test with TLS encryption."
-msgstr ""
-
-msgid ""
-"  -F                      Run in the foreground but detach from console."
-msgstr ""
-
-msgid "  -H samba-server         Use the named SAMBA server."
-msgstr ""
-
-msgid "  -I                      Ignore errors."
-msgstr ""
-
-msgid "  -I include-dir          Add include directory to search path."
-msgstr ""
-
-msgid "  -I {filename,filters,none,profiles}"
-msgstr ""
-
-msgid "  -J title                Set title."
-msgstr ""
-
-msgid "  -L                      Send requests using content-length."
-msgstr ""
-
-msgid "  -P filename.ppd         Set PPD file."
-msgstr ""
-
-msgid "  -R root-directory       Set alternate root."
-msgstr ""
-
-msgid "  -S                      Test with SSL encryption."
-msgstr ""
-
-msgid "  -T                      Set the receive/send timeout in seconds."
-msgstr ""
-
-msgid "  -U samba-user           Authenticate using the named SAMBA user."
-msgstr ""
-
-msgid "  -U username             Set username for job."
-msgstr ""
-
-msgid "  -U username             Specify username."
-msgstr ""
-
-msgid "  -V version              Set default IPP version."
-msgstr ""
-
-msgid ""
-"  -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,"
-"translations}"
-msgstr ""
-
-msgid "  -X                      Produce XML plist instead of plain text."
-msgstr ""
-
-msgid "  -a                      Export all printers."
-msgstr ""
-
-msgid "  -a 'name=value ...'     Set option(s)."
-msgstr ""
-
-msgid "  -c catalog.po           Load the specified message catalog."
-msgstr ""
-
-msgid "  -c config-file          Load alternate configuration file."
-msgstr ""
-
-msgid "  -c copies               Set number of copies."
-msgstr ""
-
-msgid "  -c cupsd.conf           Set cupsd.conf file to use."
-msgstr ""
-
-msgid "  -d name=value           Set named variable to value."
-msgstr ""
-
-msgid "  -d output-dir           Specify the output directory."
-msgstr ""
-
-msgid "  -d printer              Use the named printer."
-msgstr ""
-
-msgid "  -e                      Use every filter from the PPD file."
-msgstr ""
-
-msgid "  -f                      Run in the foreground."
-msgstr ""
-
-msgid "  -f filename             Set default request filename."
-msgstr ""
-
-msgid "  -f filename             Set file to be converted (otherwise stdin)."
-msgstr ""
-
-msgid "  -h                      Show this usage message."
-msgstr ""
-
-msgid "  -h cups-server          Use the named CUPS server."
-msgstr ""
-
-msgid "  -h server[:port]        Specify server address."
-msgstr ""
-
-msgid "  -i mime/type            Set input MIME type (otherwise auto-typed)."
-msgstr ""
-
-msgid ""
-"  -i seconds              Repeat the last file with the given time interval."
-msgstr ""
-
-msgid ""
-"  -j job-id[,N]           Filter file N from the specified job (default is "
-"file 1)."
-msgstr ""
-
-msgid ""
-"  -j mime/type            Set output MIME type (otherwise application/pdf)."
-msgstr ""
-
-msgid "  -l                      Run cupsd from launchd(8)."
-msgstr ""
-
-msgid "  -l lang[,lang,...]      Specify the output language(s) (locale)."
-msgstr ""
-
-msgid "  -m                      Use the ModelName value as the filename."
-msgstr ""
-
-msgid ""
-"  -m mime/type            Set output MIME type (otherwise application/pdf)."
-msgstr ""
-
-msgid "  -n copies               Set number of copies."
-msgstr ""
-
-msgid ""
-"  -n count                Repeat the last file the given number of times."
-msgstr ""
-
-msgid "  -o filename             Set file to be generated (otherwise stdout)."
-msgstr ""
-
-msgid ""
-"  -o filename.drv         Set driver information file (otherwise ppdi.drv)."
-msgstr ""
-
-msgid "  -o filename.ppd[.gz]    Set output file (otherwise stdout)."
-msgstr ""
-
-msgid "  -o name=value           Set option(s)."
-msgstr ""
-
-msgid "  -p filename.ppd         Set PPD file."
-msgstr ""
-
-msgid "  -q                      Be quiet - no output except errors."
-msgstr ""
-
-msgid "  -q                      Run silently."
-msgstr ""
-
-msgid "  -r                      Use 'relaxed' open mode."
-msgstr ""
-
-msgid "  -t                      Produce a test report."
-msgstr ""
-
-msgid "  -t                      Test PPDs instead of generating them."
-msgstr ""
-
-msgid "  -t                      Test the configuration file."
-msgstr ""
-
-msgid "  -t title                Set title."
-msgstr ""
-
-msgid "  -u                      Remove the PPD file when finished."
-msgstr ""
-
-msgid "  -v                      Be slightly verbose."
-msgstr ""
-
-msgid "  -v                      Be verbose (more v's for more verbosity)."
-msgstr ""
-
-msgid "  -v                      Be verbose (show commands)."
-msgstr ""
-
-msgid "  -v                      Show all attributes sent and received."
-msgstr ""
-
-msgid "  -vv                     Be very verbose."
-msgstr ""
-
-msgid "  -z                      Compress PPD files using GNU zip."
-msgstr ""
-
-msgid " FAIL"
-msgstr ""
-
-msgid " PASS"
-msgstr ""
-
-#, c-format
-msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "%.0f x %.0f millimeters"
-msgstr "%.0f x %.0f Millimeter"
-
-#, c-format
-msgid "%.0f x %.0f to %.0f x %.0f millimeters"
-msgstr "%.0f x %.0f bis %.0f x %.0f Millimeter"
-
-#, c-format
-msgid "%.2f x %.2f inches"
-msgstr "%.2f x %.2f Zoll"
-
-#, c-format
-msgid "%.2f x %.2f to %.2f x %.2f inches"
-msgstr "%.2f x %.2f bis %.2f x %.2f Zoll"
-
-#, c-format
-msgid "%s accepting requests since %s"
-msgstr ""
-
-#, c-format
-msgid "%s cannot be changed."
-msgstr "%s kann nicht geändert werden."
-
-#, c-format
-msgid "%s is not implemented by the CUPS version of lpc."
-msgstr ""
-
-#, c-format
-msgid "%s is not ready"
-msgstr ""
-
-#, c-format
-msgid "%s is ready"
-msgstr ""
-
-#, c-format
-msgid "%s is ready and printing"
-msgstr ""
-
-#, c-format
-msgid "%s job-id user title copies options [file]"
-msgstr ""
-
-#, c-format
-msgid "%s not accepting requests since %s -"
-msgstr ""
-
-#, c-format
-msgid "%s not supported."
-msgstr ""
-
-#, c-format
-msgid "%s/%s accepting requests since %s"
-msgstr ""
-
-#, c-format
-msgid "%s/%s not accepting requests since %s -"
-msgstr ""
-
-#, c-format
-msgid "%s: %-33.33s [job %d localhost]"
-msgstr ""
-
-#. TRANSLATORS: Message is "subject: error"
-#, c-format
-msgid "%s: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: %s failed: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Don't know what to do."
-msgstr ""
-
-#, c-format
-msgid ""
-"%s: Error - %s environment variable names non-existent destination \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - bad job ID."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - cannot print files and alter jobs simultaneously."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - cannot print from stdin if files or a job ID are provided."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected character set after \"-S\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected content type after \"-T\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected copies after \"-#\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected copies after \"-n\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected destination after \"-P\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected destination after \"-b\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected destination after \"-d\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected form after \"-f\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected hold name after \"-H\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected hostname after \"-H\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected hostname after \"-h\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected mode list after \"-y\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected name after \"-%c\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected option=value after \"-o\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected page list after \"-P\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected priority after \"-%c\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected reason text after \"-r\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected title after \"-t\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected username after \"-U\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected username after \"-u\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected value after \"-%c\" option."
-msgstr ""
-
-#, c-format
-msgid ""
-"%s: Error - need \"completed\", \"not-completed\", or \"all\" after \"-W\" "
-"option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - no default destination available."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - priority must be between 1 and 100."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - scheduler not responding."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - too many files - \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unable to access \"%s\" - %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unable to queue from stdin - %s."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown destination \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown destination \"%s/%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown option \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Expected job ID after \"-i\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Invalid destination name in list \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Invalid filter string \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Need job ID (\"-i jobid\") before \"-H restart\"."
-msgstr ""
-
-#, c-format
-msgid "%s: No filter to convert from %s/%s to %s/%s."
-msgstr ""
-
-#, c-format
-msgid "%s: Operation failed: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Sorry, no encryption support."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to connect to server."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to contact server."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to determine MIME type of \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to open %s: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to open PPD file: %s on line %d."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown destination \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown destination MIME type %s/%s."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown option \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown source MIME type %s/%s."
-msgstr ""
-
-#, c-format
-msgid ""
-"%s: Warning - \"%c\" format modifier not supported - output may not be "
-"correct."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - character set option ignored."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - content type option ignored."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - form option ignored."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - mode option ignored."
-msgstr ""
-
-msgid "-1"
-msgstr "-1"
-
-msgid "-10"
-msgstr "-10"
-
-msgid "-100"
-msgstr "-100"
-
-msgid "-105"
-msgstr "-105"
-
-msgid "-11"
-msgstr "-11"
-
-msgid "-110"
-msgstr "-110"
-
-msgid "-115"
-msgstr "-115"
-
-msgid "-12"
-msgstr "-12"
-
-msgid "-120"
-msgstr "-120"
-
-msgid "-13"
-msgstr "-13"
-
-msgid "-14"
-msgstr "-14"
-
-msgid "-15"
-msgstr "-15"
-
-msgid "-2"
-msgstr "-2"
-
-msgid "-20"
-msgstr "-20"
-
-msgid "-25"
-msgstr "-25"
-
-msgid "-3"
-msgstr "-3"
-
-msgid "-30"
-msgstr "-30"
-
-msgid "-35"
-msgstr "-35"
-
-msgid "-4"
-msgstr "-4"
-
-msgid "-40"
-msgstr "-40"
-
-msgid "-45"
-msgstr "-45"
-
-msgid "-5"
-msgstr "-5"
-
-msgid "-50"
-msgstr "-50"
-
-msgid "-55"
-msgstr "-55"
-
-msgid "-6"
-msgstr "-6"
-
-msgid "-60"
-msgstr "-60"
-
-msgid "-65"
-msgstr "-65"
-
-msgid "-7"
-msgstr "-7"
-
-msgid "-70"
-msgstr "-70"
-
-msgid "-75"
-msgstr "-75"
-
-msgid "-8"
-msgstr "-8"
-
-msgid "-80"
-msgstr "-80"
-
-msgid "-85"
-msgstr "-85"
-
-msgid "-9"
-msgstr "-9"
-
-msgid "-90"
-msgstr "-90"
-
-msgid "-95"
-msgstr "-95"
-
-msgid "0"
-msgstr "0"
-
-msgid "1"
-msgstr "1"
-
-msgid "1 inch/sec."
-msgstr "1 Zoll/Sek."
-
-msgid "1.25x0.25\""
-msgstr "1,25x0,25 Zoll"
-
-msgid "1.25x2.25\""
-msgstr "1,25x2,25 Zoll"
-
-msgid "1.5 inch/sec."
-msgstr "1,5 Zoll/Sek."
-
-msgid "1.50x0.25\""
-msgstr "1,50x0,25 Zoll"
-
-msgid "1.50x0.50\""
-msgstr "1,50x0,50 Zoll"
-
-msgid "1.50x1.00\""
-msgstr "1,50x1,00 Zoll"
-
-msgid "1.50x2.00\""
-msgstr "1,50x2,00 Zoll"
-
-msgid "10"
-msgstr "10"
-
-msgid "10 inches/sec."
-msgstr "10 Zoll/Sek."
-
-msgid "10 x 11"
-msgstr ""
-
-msgid "10 x 13"
-msgstr ""
-
-msgid "10 x 14"
-msgstr ""
-
-msgid "100"
-msgstr "100"
-
-msgid "100 mm/sec."
-msgstr "100 mm/Sek."
-
-msgid "105"
-msgstr "105"
-
-msgid "11"
-msgstr "11"
-
-msgid "11 inches/sec."
-msgstr "11 Zoll/Sek."
-
-msgid "110"
-msgstr "110"
-
-msgid "115"
-msgstr "115"
-
-msgid "12"
-msgstr "12"
-
-msgid "12 inches/sec."
-msgstr "12 Zoll/Sek."
-
-msgid "12 x 11"
-msgstr ""
-
-msgid "120"
-msgstr "120"
-
-msgid "120 mm/sec."
-msgstr "120 mm/Sek."
-
-msgid "120x60dpi"
-msgstr "120x60 dpi"
-
-msgid "120x72dpi"
-msgstr "120x72 dpi"
-
-msgid "13"
-msgstr "13"
-
-msgid "136dpi"
-msgstr "136 dpi"
-
-msgid "14"
-msgstr "14"
-
-msgid "15"
-msgstr "15"
-
-msgid "15 mm/sec."
-msgstr "15 mm/Sek."
-
-msgid "15 x 11"
-msgstr ""
-
-msgid "150 mm/sec."
-msgstr "150 mm/Sek."
-
-msgid "150dpi"
-msgstr "150 dpi"
-
-msgid "16"
-msgstr "16"
-
-msgid "17"
-msgstr "17"
-
-msgid "18"
-msgstr "18"
-
-msgid "180dpi"
-msgstr "180 dpi"
-
-msgid "19"
-msgstr "19"
-
-msgid "2"
-msgstr "2"
-
-msgid "2 inches/sec."
-msgstr "2 Zoll/Sek."
-
-msgid "2-Sided Printing"
-msgstr "Doppelseitig drucken"
-
-msgid "2.00x0.37\""
-msgstr "2,00x0,37 Zoll"
-
-msgid "2.00x0.50\""
-msgstr "2,00x0,50 Zoll"
-
-msgid "2.00x1.00\""
-msgstr "2,00x1,00 Zoll"
-
-msgid "2.00x1.25\""
-msgstr "2,00x1,25 Zoll"
-
-msgid "2.00x2.00\""
-msgstr "2,00x2,00 Zoll"
-
-msgid "2.00x3.00\""
-msgstr "2,00x3,00 Zoll"
-
-msgid "2.00x4.00\""
-msgstr "2,00x4,00 Zoll"
-
-msgid "2.00x5.50\""
-msgstr "2,00x5,50 Zoll"
-
-msgid "2.25x0.50\""
-msgstr "2,25x0,50 Zoll"
-
-msgid "2.25x1.25\""
-msgstr "2,25x1,25 Zoll"
-
-msgid "2.25x4.00\""
-msgstr "2,25x4,00 Zoll"
-
-msgid "2.25x5.50\""
-msgstr "2,25x5,50 Zoll"
-
-msgid "2.38x5.50\""
-msgstr "2,38x5,50 Zoll"
-
-msgid "2.5 inches/sec."
-msgstr "2,5 Zoll/Sek."
-
-msgid "2.50x1.00\""
-msgstr "2,50x1,00 Zoll"
-
-msgid "2.50x2.00\""
-msgstr "2,50x2,00 Zoll"
-
-msgid "2.75x1.25\""
-msgstr "2,75x1,25 Zoll"
-
-msgid "2.9 x 1\""
-msgstr "2,9 x 1 Zoll"
-
-msgid "20"
-msgstr "20"
-
-msgid "20 mm/sec."
-msgstr "20 mm/Sek."
-
-msgid "200 mm/sec."
-msgstr "200 mm/Sek."
-
-msgid "203dpi"
-msgstr "203 dpi"
-
-msgid "21"
-msgstr "21"
-
-msgid "22"
-msgstr "22"
-
-msgid "23"
-msgstr "23"
-
-msgid "24"
-msgstr "24"
-
-msgid "24-Pin Series"
-msgstr "24-Pin Serie"
-
-msgid "240x72dpi"
-msgstr "240x72 dpi"
-
-msgid "25"
-msgstr "25"
-
-msgid "250 mm/sec."
-msgstr "250 mm/Sek."
-
-msgid "26"
-msgstr "26"
-
-msgid "27"
-msgstr "27"
-
-msgid "28"
-msgstr "28"
-
-msgid "29"
-msgstr "29"
-
-msgid "3"
-msgstr "3"
-
-msgid "3 inches/sec."
-msgstr "3 Zoll/Sek."
-
-msgid "3 x 5"
-msgstr ""
-
-msgid "3.00x1.00\""
-msgstr "3,00x1,00 Zoll"
-
-msgid "3.00x1.25\""
-msgstr "3,00x1,25 Zoll"
-
-msgid "3.00x2.00\""
-msgstr "3,00x2,00 Zoll"
-
-msgid "3.00x3.00\""
-msgstr "3,00x3,00 Zoll"
-
-msgid "3.00x5.00\""
-msgstr "3,00x5,00 Zoll"
-
-msgid "3.25x2.00\""
-msgstr "3,25x2,00 Zoll"
-
-msgid "3.25x5.00\""
-msgstr "3,25x5,00 Zoll"
-
-msgid "3.25x5.50\""
-msgstr "3,25x5,50 Zoll"
-
-msgid "3.25x5.83\""
-msgstr "3,25x5,83 Zoll"
-
-msgid "3.25x7.83\""
-msgstr "3,25x7,83 Zoll"
-
-msgid "3.5 x 5"
-msgstr ""
-
-msgid "3.5\" Disk"
-msgstr "3,5-Zoll-Diskette"
-
-msgid "3.5\" Disk - 2 1/8 x 2 3/4\""
-msgstr "3,5-Zoll-Diskette – 2 1/8 x 2 3/4 Zoll"
-
-msgid "3.50x1.00\""
-msgstr "3,50x1,00 Zoll"
-
-msgid "30"
-msgstr "30"
-
-msgid "30 mm/sec."
-msgstr "30 mm/Sek."
-
-msgid "300 mm/sec."
-msgstr "300 mm/Sek."
-
-msgid "300dpi"
-msgstr "300 dpi"
-
-msgid "35"
-msgstr "35"
-
-msgid "360dpi"
-msgstr "360 dpi"
-
-msgid "360x180dpi"
-msgstr "360x180 dpi"
-
-msgid "4"
-msgstr "4"
-
-msgid "4 inches/sec."
-msgstr "4 Zoll/Sek."
-
-msgid "4.00x1.00\""
-msgstr "4,00x1,00 Zoll"
-
-msgid "4.00x13.00\""
-msgstr "4,00x13,00 Zoll"
-
-msgid "4.00x2.00\""
-msgstr "4,00x2,00 Zoll"
-
-msgid "4.00x2.50\""
-msgstr "4,00x2,50 Zoll"
-
-msgid "4.00x3.00\""
-msgstr "4,00x3,00 Zoll"
-
-msgid "4.00x4.00\""
-msgstr "4,00x4,00 Zoll"
-
-msgid "4.00x5.00\""
-msgstr "4,00x5,00 Zoll"
-
-msgid "4.00x6.00\""
-msgstr "4,00x6,00 Zoll"
-
-msgid "4.00x6.50\""
-msgstr "4,00x6,50 Zoll"
-
-msgid "40"
-msgstr "40"
-
-msgid "40 mm/sec."
-msgstr "40 mm/Sek."
-
-msgid "45"
-msgstr "45"
-
-msgid "5"
-msgstr "5"
-
-msgid "5 inches/sec."
-msgstr "5 Zoll/Sek."
-
-msgid "5 x 7"
-msgstr ""
-
-msgid "50"
-msgstr "50"
-
-msgid "55"
-msgstr "55"
-
-msgid "6"
-msgstr "6"
-
-msgid "6 inches/sec."
-msgstr "6 Zoll/Sek."
-
-msgid "6.00x1.00\""
-msgstr "6,00x1,00 Zoll"
-
-msgid "6.00x2.00\""
-msgstr "6,00x2,00 Zoll"
-
-msgid "6.00x3.00\""
-msgstr "6,00x3,00 Zoll"
-
-msgid "6.00x4.00\""
-msgstr "6,00x4,00 Zoll"
-
-msgid "6.00x5.00\""
-msgstr "6,00x5,00 Zoll"
-
-msgid "6.00x6.00\""
-msgstr "6,00x6,00 Zoll"
-
-msgid "6.00x6.50\""
-msgstr "6,00x6,50 Zoll"
-
-msgid "60"
-msgstr "60"
-
-msgid "60 mm/sec."
-msgstr "60 mm/Sek."
-
-msgid "600dpi"
-msgstr "600 dpi"
-
-msgid "60dpi"
-msgstr "60 dpi"
-
-msgid "60x72dpi"
-msgstr ""
-
-msgid "65"
-msgstr "65"
-
-msgid "7"
-msgstr "7"
-
-msgid "7 inches/sec."
-msgstr "7 Zoll/Sek."
-
-msgid "7 x 9"
-msgstr ""
-
-msgid "70"
-msgstr "70"
-
-msgid "720dpi"
-msgstr "720 dpi"
-
-msgid "75"
-msgstr "75"
-
-msgid "8"
-msgstr "8"
-
-msgid "8 inches/sec."
-msgstr "8 Zoll/Sek."
-
-msgid "8 x 10"
-msgstr ""
-
-msgid "8.00x1.00\""
-msgstr "8,00x1,00 Zoll"
-
-msgid "8.00x2.00\""
-msgstr "8,00x2,00 Zoll"
-
-msgid "8.00x3.00\""
-msgstr "8,00x3,00 Zoll"
-
-msgid "8.00x4.00\""
-msgstr "8,00x4,00 Zoll"
-
-msgid "8.00x5.00\""
-msgstr "8,00x5,00 Zoll"
-
-msgid "8.00x6.00\""
-msgstr "8,00x6,00 Zoll"
-
-msgid "8.00x6.50\""
-msgstr "8,00x6,50 Zoll"
-
-msgid "80"
-msgstr "80"
-
-msgid "80 mm/sec."
-msgstr "80 mm/Sek."
-
-msgid "85"
-msgstr "85"
-
-msgid "9"
-msgstr "9"
-
-msgid "9 inches/sec."
-msgstr "9 Zoll/Sek."
-
-msgid "9 x 11"
-msgstr ""
-
-msgid "9 x 12"
-msgstr ""
-
-msgid "9-Pin Series"
-msgstr "9-Pin Serie"
-
-msgid "90"
-msgstr "90"
-
-msgid "95"
-msgstr "95"
-
-msgid "?Invalid help command unknown."
-msgstr ""
-
-msgid "A Samba password is required to export printer drivers"
-msgstr ""
-
-msgid "A Samba username is required to export printer drivers"
-msgstr ""
-
-#, c-format
-msgid "A class named \"%s\" already exists."
-msgstr ""
-
-#, c-format
-msgid "A printer named \"%s\" already exists."
-msgstr ""
-
-msgid "A0"
-msgstr "DIN A0"
-
-msgid "A0 Long Edge"
-msgstr ""
-
-msgid "A1"
-msgstr "DIN A1"
-
-msgid "A1 Long Edge"
-msgstr ""
-
-msgid "A10"
-msgstr "DIN A10"
-
-msgid "A2"
-msgstr "DIN A2"
-
-msgid "A2 Long Edge"
-msgstr ""
-
-msgid "A3"
-msgstr "DIN A3"
-
-msgid "A3 Long Edge"
-msgstr ""
-
-msgid "A3 Oversize"
-msgstr ""
-
-msgid "A3 Oversize Long Edge"
-msgstr ""
-
-msgid "A4"
-msgstr "DIN A4"
-
-msgid "A4 Long Edge"
-msgstr ""
-
-msgid "A4 Oversize"
-msgstr ""
-
-msgid "A4 Small"
-msgstr ""
-
-msgid "A5"
-msgstr "DIN A5"
-
-msgid "A5 Long Edge"
-msgstr ""
-
-msgid "A5 Oversize"
-msgstr ""
-
-msgid "A6"
-msgstr "DIN A6"
-
-msgid "A6 Long Edge"
-msgstr ""
-
-msgid "A7"
-msgstr "DIN A7"
-
-msgid "A8"
-msgstr "DIN A8"
-
-msgid "A9"
-msgstr "DIN A9"
-
-msgid "ANSI A"
-msgstr "ANSI A"
-
-msgid "ANSI B"
-msgstr "ANSI B"
-
-msgid "ANSI C"
-msgstr "ANSI C"
-
-msgid "ANSI D"
-msgstr "ANSI D"
-
-msgid "ANSI E"
-msgstr "ANSI E"
-
-msgid "ARCH C"
-msgstr "ARCH C"
-
-msgid "ARCH C Long Edge"
-msgstr ""
-
-msgid "ARCH D"
-msgstr "ARCH D"
-
-msgid "ARCH D Long Edge"
-msgstr ""
-
-msgid "ARCH E"
-msgstr "ARCH E"
-
-msgid "ARCH E Long Edge"
-msgstr ""
-
-msgid "Accept Jobs"
-msgstr "Druckaufträge akzeptieren"
-
-msgid "Accepted"
-msgstr "Akzeptiert"
-
-msgid "Add Class"
-msgstr "Klasse hinzufügen"
-
-msgid "Add Printer"
-msgstr "Drucker hinzufügen"
-
-msgid "Add RSS Subscription"
-msgstr "RSS-Abo hinzufügen"
-
-msgid "Address"
-msgstr "Adresse"
-
-msgid "Address - 1 1/8 x 3 1/2\""
-msgstr "Adresse – 1 1/8 x 3 1/2 Zoll"
-
-msgid "Administration"
-msgstr "Verwaltung"
-
-msgid "Always"
-msgstr "Immer"
-
-msgid "AppSocket/HP JetDirect"
-msgstr "AppSocket/HP JetDirect"
-
-msgid "Applicator"
-msgstr "Applicator"
-
-#, c-format
-msgid "Attempt to set %s printer-state to bad value %d."
-msgstr ""
-
-#, c-format
-msgid "Attribute groups are out of order (%x < %x)."
-msgstr ""
-
-msgid "B0"
-msgstr "DIN B0"
-
-msgid "B1"
-msgstr "DIN B1"
-
-msgid "B10"
-msgstr "DIN B10"
-
-msgid "B2"
-msgstr "DIN B2"
-
-msgid "B3"
-msgstr "DIN B3"
-
-msgid "B4"
-msgstr "DIN B4"
-
-msgid "B5"
-msgstr "DIN B5"
-
-msgid "B5 Oversize"
-msgstr ""
-
-msgid "B6"
-msgstr "DIN B6"
-
-msgid "B7"
-msgstr "DIN B7"
-
-msgid "B8"
-msgstr "DIN B8"
-
-msgid "B9"
-msgstr "DIN B9"
-
-msgid "Bad NULL dests pointer"
-msgstr "Ungültiger NULL-Dests-Pointer"
-
-msgid "Bad OpenGroup"
-msgstr "Ungültige OpenGroup"
-
-msgid "Bad OpenUI/JCLOpenUI"
-msgstr "Ungültiges OpenUI/JCLOpenUI"
-
-msgid "Bad OrderDependency"
-msgstr "Ungültige OrderDependency"
-
-msgid "Bad PPD cache file."
-msgstr ""
-
-msgid "Bad Request"
-msgstr "Ungültige Anfrage"
-
-msgid "Bad SNMP version number"
-msgstr "Ungültige SNMP-Versionsnummer"
-
-msgid "Bad UIConstraints"
-msgstr "Ungültige UIConstraints"
-
-#, c-format
-msgid "Bad charset file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad charset type: %s"
-msgstr ""
-
-#, c-format
-msgid "Bad columns value %d."
-msgstr ""
-
-#, c-format
-msgid "Bad copies value %d."
-msgstr "Ungültiger Kopienwert „%d“."
-
-#, c-format
-msgid "Bad cpi value %f."
-msgstr ""
-
-msgid "Bad custom parameter"
-msgstr "Ungültiger angepasster Parameter"
-
-#, c-format
-msgid "Bad device-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad device-uri scheme \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad document-format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad document-format-default \"%s\"."
-msgstr ""
-
-msgid "Bad filename buffer"
-msgstr ""
-
-#, c-format
-msgid "Bad font description line \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad font description line: %s"
-msgstr ""
-
-msgid "Bad job-priority value."
-msgstr ""
-
-#, c-format
-msgid "Bad job-sheets value \"%s\"."
-msgstr ""
-
-msgid "Bad job-sheets value type."
-msgstr ""
-
-msgid "Bad job-state value."
-msgstr ""
-
-#, c-format
-msgid "Bad job-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad lpi value %f."
-msgstr ""
-
-#, c-format
-msgid "Bad notify-pull-method \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad notify-recipient-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad number-up value %d."
-msgstr "Ungültiger Number-Up-Wert „%d“."
-
-#, c-format
-msgid "Bad option + choice on line %d."
-msgstr ""
-
-#, c-format
-msgid "Bad page-ranges values %d-%d."
-msgstr "Ungültige Seitenbereichswerte %d–%d."
-
-#, c-format
-msgid "Bad port-monitor \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad printer-state value %d."
-msgstr ""
-
-#, c-format
-msgid "Bad request ID %d."
-msgstr ""
-
-#, c-format
-msgid "Bad request version number %d.%d."
-msgstr ""
-
-msgid "Bad subscription ID"
-msgstr ""
-
-#, c-format
-msgid "Bad text direction \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad text direction: %s"
-msgstr ""
-
-#, c-format
-msgid "Bad text width \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad text width: %s"
-msgstr ""
-
-msgid "Bad value string"
-msgstr ""
-
-msgid "Banners"
-msgstr "Banner"
-
-msgid "Billing Information: "
-msgstr "Rechnungsinformationen: "
-
-msgid "Bond Paper"
-msgstr "Papier bündeln"
-
-#, c-format
-msgid "Boolean expected for waiteof option \"%s\"."
-msgstr ""
-
-msgid "Buffer overflow detected, aborting."
-msgstr ""
-
-msgid "CMYK"
-msgstr "CMYK"
-
-msgid "CPCL Label Printer"
-msgstr "CPCL Etikettendrucker"
-
-msgid "Cancel RSS Subscription"
-msgstr "RSS-Abo widerrufen"
-
-msgid "Canceling print job."
-msgstr ""
-
-msgid "Cannot share a remote Kerberized printer."
-msgstr ""
-
-msgid "Cassette"
-msgstr ""
-
-msgid "Change Settings"
-msgstr "Einstellungen ändern"
-
-#, c-format
-msgid "Character set \"%s\" not supported."
-msgstr ""
-
-msgid "Classes"
-msgstr "Klassen"
-
-msgid "Clean Print Heads"
-msgstr "Saubere Druckerköpfe"
-
-msgid "Close-Job doesn't support the job-uri attribute."
-msgstr ""
-
-msgid "Color"
-msgstr "Farbe"
-
-msgid "Color Mode"
-msgstr "Farbmodus"
-
-msgid ""
-"Commands may be abbreviated.  Commands are:\n"
-"\n"
-"exit    help    quit    status  ?"
-msgstr ""
-
-msgid "Community name uses indefinite length"
-msgstr "Community-Name hat unbestimmte Länge"
-
-msgid "Connected to printer."
-msgstr ""
-
-msgid "Connecting to printer."
-msgstr ""
-
-msgid "Continue"
-msgstr "Weiter"
-
-msgid "Continuous"
-msgstr "Kontinuierlich"
-
-msgid "Control file sent successfully."
-msgstr ""
-
-msgid "Copying print data."
-msgstr ""
-
-msgid "Created"
-msgstr "Erstellt"
-
-msgid "Created On: "
-msgstr "Erstellt am: "
-
-msgid "Custom"
-msgstr "Eigene"
-
-msgid "CustominCutInterval"
-msgstr "CustominCutInterval"
-
-msgid "CustominTearInterval"
-msgstr "CustominTearInterval"
-
-msgid "Cut"
-msgstr "Abschneiden"
-
-msgid "Cutter"
-msgstr "Abschneider"
-
-msgid "Dark"
-msgstr "Dunkel"
-
-msgid "Darkness"
-msgstr "Dunkelheit"
-
-msgid "Data file sent successfully."
-msgstr ""
-
-msgid "Delete Class"
-msgstr "Klasse löschen"
-
-msgid "Delete Printer"
-msgstr "Drucker löschen"
-
-msgid "Description: "
-msgstr "Beschreibung: "
-
-msgid "DeskJet Series"
-msgstr "DeskJet Serie"
-
-#, c-format
-msgid "Destination \"%s\" is not accepting jobs."
-msgstr "Ziel „%s“ akzeptiert keine Druckaufträge."
-
-#, c-format
-msgid ""
-"Device: uri = %s\n"
-"        class = %s\n"
-"        info = %s\n"
-"        make-and-model = %s\n"
-"        device-id = %s\n"
-"        location = %s"
-msgstr ""
-
-msgid "Direct Thermal Media"
-msgstr "Direct Thermal Media"
-
-#, c-format
-msgid "Directory \"%s\" contains a relative path."
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" is a file."
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" not available: %s"
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-msgid "Disabled"
-msgstr "Deaktiviert"
-
-#, c-format
-msgid "Document #%d does not exist in job #%d."
-msgstr ""
-
-msgid "Driver Name: "
-msgstr "Treibername: "
-
-msgid "Driver Version: "
-msgstr "Treiberversion: "
-
-msgid "Duplexer"
-msgstr "Duplexer"
-
-msgid "Dymo"
-msgstr "Dymo"
-
-msgid "EPL1 Label Printer"
-msgstr "EPL1 Etikettendrucker"
-
-msgid "EPL2 Label Printer"
-msgstr "EPL2 Etikettendrucker"
-
-msgid "Edit Configuration File"
-msgstr "Konfigurationsdatei bearbeiten"
-
-msgid "Empty PPD file."
-msgstr ""
-
-#. TRANSLATORS: Banner/cover sheet after the print job.
-msgid "Ending Banner"
-msgstr "Banner beenden"
-
-msgid "English"
-msgstr "German"
-
-msgid "Enter old password:"
-msgstr "Altes Kennwort eingeben:"
-
-msgid "Enter password again:"
-msgstr "Kennwort erneut eingeben:"
-
-msgid "Enter password:"
-msgstr "Kennwort eingeben:"
-
-msgid ""
-"Enter your username and password or the root username and password to access "
-"this page. If you are using Kerberos authentication, make sure you have a "
-"valid Kerberos ticket."
-msgstr ""
-"Geben Sie Ihren Benutzernamen und das Kennwort oder den root-Benutzernamen "
-"und -Kennwort ein, um auf diese Seite zuzgreifen. Falls Sie die Kerberos-"
-"Authentifizierung verwenden, stellen Sie sicher, dass Sie ein gültiges "
-"Kerberos-Ticket haben."
-
-msgid "Envelope #10 "
-msgstr ""
-
-msgid "Envelope #11"
-msgstr ""
-
-msgid "Envelope #12"
-msgstr ""
-
-msgid "Envelope #14"
-msgstr ""
-
-msgid "Envelope #9"
-msgstr ""
-
-msgid "Envelope B4"
-msgstr ""
-
-msgid "Envelope B5"
-msgstr ""
-
-msgid "Envelope B6"
-msgstr ""
-
-msgid "Envelope C0"
-msgstr ""
-
-msgid "Envelope C1"
-msgstr ""
-
-msgid "Envelope C2"
-msgstr ""
-
-msgid "Envelope C3"
-msgstr ""
-
-msgid "Envelope C4"
-msgstr ""
-
-msgid "Envelope C5"
-msgstr ""
-
-msgid "Envelope C6"
-msgstr ""
-
-msgid "Envelope C65"
-msgstr ""
-
-msgid "Envelope C7"
-msgstr ""
-
-msgid "Envelope Choukei 3"
-msgstr ""
-
-msgid "Envelope Choukei 3 Long Edge"
-msgstr ""
-
-msgid "Envelope Choukei 4"
-msgstr ""
-
-msgid "Envelope Choukei 4 Long Edge"
-msgstr ""
-
-msgid "Envelope DL"
-msgstr ""
-
-msgid "Envelope Feed"
-msgstr "Umschlagzuführung"
-
-msgid "Envelope Invite"
-msgstr ""
-
-msgid "Envelope Italian"
-msgstr ""
-
-msgid "Envelope Kaku2"
-msgstr ""
-
-msgid "Envelope Kaku2 Long Edge"
-msgstr ""
-
-msgid "Envelope Kaku3"
-msgstr ""
-
-msgid "Envelope Kaku3 Long Edge"
-msgstr ""
-
-msgid "Envelope Monarch"
-msgstr ""
-
-msgid "Envelope PRC1 "
-msgstr ""
-
-msgid "Envelope PRC1 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC10"
-msgstr ""
-
-msgid "Envelope PRC10 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC2"
-msgstr ""
-
-msgid "Envelope PRC2 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC3"
-msgstr ""
-
-msgid "Envelope PRC3 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC4"
-msgstr ""
-
-msgid "Envelope PRC4 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC5 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC5PRC5"
-msgstr ""
-
-msgid "Envelope PRC6"
-msgstr ""
-
-msgid "Envelope PRC6 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC7"
-msgstr ""
-
-msgid "Envelope PRC7 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC8"
-msgstr ""
-
-msgid "Envelope PRC8 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC9"
-msgstr ""
-
-msgid "Envelope PRC9 Long Edge"
-msgstr ""
-
-msgid "Envelope Personal"
-msgstr ""
-
-msgid "Envelope You4"
-msgstr ""
-
-msgid "Envelope You4 Long Edge"
-msgstr ""
-
-msgid "Epson"
-msgstr "Epson"
-
-msgid "Error Policy"
-msgstr "Fehlerbehandlung"
-
-msgid "Error sending raster data."
-msgstr ""
-
-msgid "Error: need hostname after \"-h\" option."
-msgstr ""
-
-msgid "Every 10 Labels"
-msgstr "Alle 10 Etiketten"
-
-msgid "Every 2 Labels"
-msgstr "Alle 2 Etiketten"
-
-msgid "Every 3 Labels"
-msgstr "Alle 3 Etiketten"
-
-msgid "Every 4 Labels"
-msgstr "Alle 4 Etiketten"
-
-msgid "Every 5 Labels"
-msgstr "Alle 5 Etiketten"
-
-msgid "Every 6 Labels"
-msgstr "Alle 6 Etiketten"
-
-msgid "Every 7 Labels"
-msgstr "Alle 7 Etiketten"
-
-msgid "Every 8 Labels"
-msgstr "Alle 8 Etiketten"
-
-msgid "Every 9 Labels"
-msgstr "Alle 9 Etiketten"
-
-msgid "Every Label"
-msgstr "Bei jedem Etikett"
-
-msgid "Executive"
-msgstr ""
-
-msgid "Expectation Failed"
-msgstr "Erwartete Daten nicht erhalten"
-
-msgid "Export Printers to Samba"
-msgstr "Drucker zu Samba exportieren"
-
-msgid "FAIL"
-msgstr ""
-
-msgid "FanFold German"
-msgstr ""
-
-msgid "FanFold Legal German"
-msgstr ""
-
-msgid "Fanfold US"
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" contains a relative path."
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" is a directory."
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" not available: %s"
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-msgid "File Folder"
-msgstr "Dateiordner"
-
-msgid "File Folder - 9/16 x 3 7/16\""
-msgstr "Dateiordner – 9/16 x 3 7/16 Zoll"
-
-#, c-format
-msgid ""
-"File device URIs have been disabled. To enable, see the FileDevice directive "
-"in \"%s/cupsd.conf\"."
-msgstr ""
-
-#, c-format
-msgid "Finished page %d."
-msgstr ""
-
-msgid "Folio"
-msgstr "Folio"
-
-msgid "Forbidden"
-msgstr "Verboten"
-
-#, c-format
-msgid "Formatting page %d."
-msgstr ""
-
-msgid "General"
-msgstr "Allgemein"
-
-msgid "Generic"
-msgstr "Allgemein"
-
-msgid "Get-Response-PDU uses indefinite length"
-msgstr "Get-Response-PDU hat unbestimmte Länge"
-
-msgid "Glossy Paper"
-msgstr "Glanzpapier"
-
-msgid "Got a printer-uri attribute but no job-id."
-msgstr ""
-
-msgid "Grayscale"
-msgstr "Graustufen"
-
-msgid "HP"
-msgstr "HP"
-
-msgid "Hanging Folder"
-msgstr "Hängeordner"
-
-msgid "Hanging Folder - 9/16 x 2\""
-msgstr "Hängeordner – 9/16 x 2 Zoll"
-
-msgid "IPP 1setOf attribute with incompatible value tags."
-msgstr ""
-
-msgid "IPP attribute has no name."
-msgstr ""
-
-msgid "IPP begCollection value not 0 bytes."
-msgstr ""
-
-msgid "IPP boolean value not 1 byte."
-msgstr ""
-
-msgid "IPP date value not 11 bytes."
-msgstr ""
-
-msgid "IPP endCollection value not 0 bytes."
-msgstr ""
-
-msgid "IPP enum value not 4 bytes."
-msgstr ""
-
-msgid "IPP integer value not 4 bytes."
-msgstr ""
-
-msgid "IPP language length overflows value."
-msgstr ""
-
-msgid "IPP member name is not empty."
-msgstr ""
-
-msgid "IPP name larger than 32767 bytes."
-msgstr ""
-
-msgid "IPP nameWithLanguage value less than minimum 4 bytes."
-msgstr ""
-
-msgid "IPP rangeOfInteger value not 8 bytes."
-msgstr ""
-
-msgid "IPP resolution value not 9 bytes."
-msgstr ""
-
-msgid "IPP string length overflows value."
-msgstr ""
-
-msgid "IPP textWithLanguage value less than minimum 4 bytes."
-msgstr ""
-
-msgid "IPP value larger than 32767 bytes."
-msgstr ""
-
-msgid "ISOLatin1"
-msgstr "UTF-8"
-
-msgid "Illegal control character"
-msgstr "Ungültiges Steuerungszeichen"
-
-msgid "Illegal main keyword string"
-msgstr "Ungültiger Main-Keyword-String"
-
-msgid "Illegal option keyword string"
-msgstr "Ungültiger Option-Keyword-String"
-
-msgid "Illegal translation string"
-msgstr "Ungültiger Übersetzungsstring"
-
-msgid "Illegal whitespace character"
-msgstr "Ungültiges Leerzeichen"
-
-msgid "Installable Options"
-msgstr "Installationsoptionen"
-
-msgid "Installed"
-msgstr "Installiert"
-
-msgid "IntelliBar Label Printer"
-msgstr "IntelliBar Etikettendrucker"
-
-msgid "Intellitech"
-msgstr "Intellitech"
-
-msgid "Internal Server Error"
-msgstr ""
-
-msgid "Internal error"
-msgstr "Interner Fehler"
-
-msgid "Internet Postage 2-Part"
-msgstr "Internet Postage 2-teilig"
-
-msgid "Internet Postage 2-Part - 2 1/4 x 7 1/2\""
-msgstr "Internet Postage 2-teilig – 2 1/4 x 7 1/2 Zoll"
-
-msgid "Internet Postage 3-Part"
-msgstr "Internet Postage 3-teilig"
-
-msgid "Internet Postage 3-Part - 2 1/4 x 7\""
-msgstr "Internet Postage 3-teilig – 2 1/4 x 7 Zoll"
-
-msgid "Internet Printing Protocol"
-msgstr "Internet-Druckerprotokoll"
-
-#, c-format
-msgid "Invalid printer command \"%s\"."
-msgstr ""
-
-msgid "JCL"
-msgstr "JCL"
-
-msgid "JIS B0"
-msgstr ""
-
-msgid "JIS B1"
-msgstr ""
-
-msgid "JIS B10"
-msgstr ""
-
-msgid "JIS B2"
-msgstr ""
-
-msgid "JIS B3"
-msgstr ""
-
-msgid "JIS B4"
-msgstr ""
-
-msgid "JIS B4 Long Edge"
-msgstr ""
-
-msgid "JIS B5"
-msgstr ""
-
-msgid "JIS B5 Long Edge"
-msgstr ""
-
-msgid "JIS B6"
-msgstr ""
-
-msgid "JIS B6 Long Edge"
-msgstr ""
-
-msgid "JIS B7"
-msgstr ""
-
-msgid "JIS B8"
-msgstr ""
-
-msgid "JIS B9"
-msgstr ""
-
-#, c-format
-msgid "Job #%d cannot be restarted - no files."
-msgstr ""
-
-#, c-format
-msgid "Job #%d does not exist."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is already aborted - can't cancel."
-msgstr "Druckauftrag Nr. %d wurde bereits abgebrochen – Abbruch nicht möglich."
-
-#, c-format
-msgid "Job #%d is already canceled - can't cancel."
-msgstr "Druckauftrag Nr. %d wurde bereits abgebrochen – Abbruch nicht möglich."
-
-#, c-format
-msgid "Job #%d is already completed - can't cancel."
-msgstr ""
-"Druckauftrag Nr. %d wurde bereits abgeschlossen – Abbruch nicht möglich."
-
-#, c-format
-msgid "Job #%d is finished and cannot be altered."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is not complete."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is not held for authentication."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is not held."
-msgstr ""
-
-msgid "Job Completed"
-msgstr "Druckauftrag abgeschlossen"
-
-msgid "Job Created"
-msgstr "Druckauftrag erzeugt"
-
-msgid "Job ID: "
-msgstr "Druckauftrags-ID: "
-
-msgid "Job Options Changed"
-msgstr "Druckauftragsoptionen wurden geändert"
-
-msgid "Job Stopped"
-msgstr "Druckauftrag gestoppt"
-
-msgid "Job UUID: "
-msgstr "Druckauftrags-UUID: "
-
-msgid "Job is completed and cannot be changed."
-msgstr "Druckauftrag ist abgeschlossen und kann nicht geändert werden."
-
-msgid "Job operation failed:"
-msgstr "Druckvorgang fehlgeschlagen:"
-
-msgid "Job state cannot be changed."
-msgstr "Druckauftragsstatus kann nicht geändert werden."
-
-msgid "Job subscriptions cannot be renewed."
-msgstr ""
-
-msgid "Jobs"
-msgstr "Druckaufträge"
-
-msgid "LPD/LPR Host or Printer"
-msgstr "LPD/LPR-Host oder -Drucker"
-
-msgid "Label Printer"
-msgstr "Etikettendrucker"
-
-msgid "Label Top"
-msgstr "Etikett (oben)"
-
-#, c-format
-msgid "Language \"%s\" not supported."
-msgstr ""
-
-msgid "Large Address"
-msgstr "Adresse (groß)"
-
-msgid "Large Address - 1 4/10 x 3 1/2\""
-msgstr "Adresse (groß) – 1 4/10 x 3 1/2 Zoll"
-
-msgid "LaserJet Series PCL 4/5"
-msgstr "LaserJet Serie PCL 4/5"
-
-msgid "Letter Oversize"
-msgstr ""
-
-msgid "Letter Oversize Long Edge"
-msgstr ""
-
-msgid "Light"
-msgstr "Hell"
-
-msgid "Line longer than the maximum allowed (255 characters)"
-msgstr "Zeile ist länger als maximal zulässig (255 Zeichen)"
-
-msgid "List Available Printers"
-msgstr "Verfügbare Drucker anzeigen"
-
-msgid "Loading print file."
-msgstr ""
-
-msgid "Location: "
-msgstr "Standort: "
-
-msgid "Long-Edge (Portrait)"
-msgstr "Lange Kante (Hochformat)"
-
-msgid "Looking for printer."
-msgstr ""
-
-msgid "Make and Model: "
-msgstr "Hersteller und Modell: "
-
-msgid "Manual Feed"
-msgstr "Manuelle Papierzufuhr"
-
-msgid "Media Dimensions: "
-msgstr "Medienmaße: "
-
-msgid "Media Limits: "
-msgstr "Mediendruckgrenzen: "
-
-msgid "Media Name: "
-msgstr "Medienname: "
-
-msgid "Media Size"
-msgstr "Mediengröße"
-
-msgid "Media Source"
-msgstr "Medienquelle"
-
-msgid "Media Tracking"
-msgstr "Medienführung"
-
-msgid "Media Type"
-msgstr "Medienart"
-
-msgid "Medium"
-msgstr "Medium"
-
-msgid "Memory allocation error"
-msgstr "Fehler bei der Speicherzuteilung"
-
-msgid "Missing CloseGroup"
-msgstr ""
-
-msgid "Missing PPD-Adobe-4.x header"
-msgstr "PPD-Adobe-4.x Header fehlt"
-
-msgid "Missing asterisk in column 1"
-msgstr "Sternchen in Spalte 1 fehlt"
-
-msgid "Missing document-number attribute."
-msgstr ""
-
-#, c-format
-msgid "Missing double quote on line %d."
-msgstr ""
-
-msgid "Missing form variable"
-msgstr ""
-
-msgid "Missing last-document attribute in request."
-msgstr ""
-
-msgid "Missing media or media-col."
-msgstr ""
-
-msgid "Missing media-size in media-col."
-msgstr ""
-
-msgid "Missing notify-subscription-ids attribute."
-msgstr ""
-
-msgid "Missing option keyword"
-msgstr ""
-
-msgid "Missing requesting-user-name attribute."
-msgstr ""
-
-msgid "Missing required attributes."
-msgstr ""
-
-#, c-format
-msgid "Missing value on line %d of banner file."
-msgstr ""
-
-#, c-format
-msgid "Missing value on line %d."
-msgstr ""
-
-msgid "Missing value string"
-msgstr "Wertestring fehlt"
-
-msgid "Missing x-dimension in media-size."
-msgstr ""
-
-msgid "Missing y-dimension in media-size."
-msgstr ""
-
-#, c-format
-msgid ""
-"Model:  name = %s\n"
-"        natural_language = %s\n"
-"        make-and-model = %s\n"
-"        device-id = %s"
-msgstr ""
-
-msgid "Modify Class"
-msgstr "Klasse verändern"
-
-msgid "Modify Printer"
-msgstr "Drucker verändern"
-
-msgid "Move All Jobs"
-msgstr "Alle Druckaufträge bewegen"
-
-msgid "Move Job"
-msgstr "Druckauftrag bewegen"
-
-msgid "Moved Permanently"
-msgstr "Dauerhaft bewegt"
-
-msgid "NULL PPD file pointer"
-msgstr "NULL PPD File Pointer"
-
-msgid "Name OID uses indefinite length"
-msgstr "Name-OID hat unbestimmte Länge"
-
-msgid "Nested classes are not allowed."
-msgstr ""
-
-msgid "Never"
-msgstr "Niemals"
-
-msgid "New Stylus Color Series"
-msgstr "New Stylus Color Serie"
-
-msgid "New Stylus Photo Series"
-msgstr "New Stylus Photo Serie"
-
-msgid "No"
-msgstr "Nein"
-
-msgid "No Content"
-msgstr "Kein Inhalt"
-
-msgid "No PPD name"
-msgstr ""
-
-msgid "No VarBind SEQUENCE"
-msgstr "Keine VarBind SEQUENCE"
-
-msgid "No Windows printer drivers are installed."
-msgstr ""
-
-msgid "No active connection"
-msgstr "Keine aktive Verbindung"
-
-#, c-format
-msgid "No active jobs on %s."
-msgstr ""
-
-msgid "No attributes in request."
-msgstr ""
-
-msgid "No authentication information provided."
-msgstr ""
-
-msgid "No community name"
-msgstr "Kein Community-Name"
-
-msgid "No default printer."
-msgstr ""
-
-msgid "No destinations added."
-msgstr "Keine Ziele hinzugefügt."
-
-msgid "No device URI found in argv[0] or in DEVICE_URI environment variable."
-msgstr ""
-
-msgid "No error-index"
-msgstr "Kein Fehlerindex"
-
-msgid "No error-status"
-msgstr "Kein Fehlerstatus"
-
-msgid "No file in print request."
-msgstr ""
-
-msgid "No fonts in charset file."
-msgstr ""
-
-msgid "No modification time"
-msgstr ""
-
-msgid "No name OID"
-msgstr "Kein Name-OID"
-
-msgid "No pages were found."
-msgstr ""
-
-msgid "No printer name"
-msgstr ""
-
-msgid "No printer-uri found"
-msgstr ""
-
-msgid "No printer-uri found for class"
-msgstr ""
-
-msgid "No printer-uri in request."
-msgstr ""
-
-msgid "No request-id"
-msgstr "Keine Anfrage-ID"
-
-msgid "No subscription attributes in request."
-msgstr ""
-
-msgid "No subscriptions found."
-msgstr "Keine Subskriptionen gefunden."
-
-msgid "No variable-bindings SEQUENCE"
-msgstr "Keine „variable-bindings SEQUENCE“"
-
-msgid "No version number"
-msgstr "Keine Versionsnummer"
-
-msgid "Non-continuous (Mark sensing)"
-msgstr "Nicht fortlaufend (Mark-Sensing)"
-
-msgid "Non-continuous (Web sensing)"
-msgstr "Nicht fortlaufend (Web-Sensing)"
-
-msgid "Normal"
-msgstr "Normal"
-
-msgid "Not Found"
-msgstr "Nicht gefunden"
-
-msgid "Not Implemented"
-msgstr "Nicht implementiert"
-
-msgid "Not Installed"
-msgstr "Nicht installiert"
-
-msgid "Not Modified"
-msgstr "Nicht verändert"
-
-msgid "Not Supported"
-msgstr "Nicht unterstützt"
-
-msgid "Not allowed to print."
-msgstr "Drucken nicht erlaubt."
-
-msgid "Note"
-msgstr "Hinweis"
-
-msgid ""
-"Note: this program only validates the DSC comments, not the PostScript "
-"itself."
-msgstr ""
-
-msgid "OK"
-msgstr "OK"
-
-msgid "Off (1-Sided)"
-msgstr "Aus (Einseitig)"
-
-msgid "Oki"
-msgstr "Oki"
-
-msgid "Online Help"
-msgstr "Online-Hilfe"
-
-#, c-format
-msgid "Open of %s failed: %s"
-msgstr "%s öffnen fehlgeschlagen: %s"
-
-msgid "OpenGroup without a CloseGroup first"
-msgstr "OpenGroup ohne CloseGroup zuerst"
-
-msgid "OpenUI/JCLOpenUI without a CloseUI/JCLCloseUI first"
-msgstr "OpenUI/JCLOpenUI ohne CloseUI/JCLCloseUI zuerst"
-
-msgid "Operation Policy"
-msgstr "Nutzungsrichtlinien"
-
-#, c-format
-msgid "Option \"%s\" cannot be included via %%%%IncludeFeature."
-msgstr ""
-
-msgid "Options Installed"
-msgstr "Installierte Optionen"
-
-msgid "Options:"
-msgstr ""
-
-msgid "Options: "
-msgstr "Optionen: "
-
-msgid "Out of date PPD cache file."
-msgstr ""
-
-msgid "Out of memory."
-msgstr ""
-
-msgid "Output Mode"
-msgstr "Ausgabemodus"
-
-#, c-format
-msgid "Output for printer %s is sent to %s"
-msgstr ""
-
-#, c-format
-msgid "Output for printer %s is sent to remote printer %s on %s"
-msgstr ""
-
-#, c-format
-msgid "Output for printer %s/%s is sent to %s"
-msgstr ""
-
-#, c-format
-msgid "Output for printer %s/%s is sent to remote printer %s on %s"
-msgstr ""
-
-msgid "PASS"
-msgstr ""
-
-msgid "PCL Laser Printer"
-msgstr "PCL Laserdrucker"
-
-msgid "PRC16K"
-msgstr "PRC16K"
-
-msgid "PRC16K Long Edge"
-msgstr ""
-
-msgid "PRC32K"
-msgstr "PRC32K"
-
-msgid "PRC32K Long Edge"
-msgstr ""
-
-msgid "PRC32K Oversize"
-msgstr ""
-
-msgid "PRC32K Oversize Long Edge"
-msgstr ""
-
-msgid "Packet does not contain a Get-Response-PDU"
-msgstr "Paket enthält kein Get-Response-PDU"
-
-msgid "Packet does not start with SEQUENCE"
-msgstr "Paket beginnt nicht mit SEQUENCE"
-
-msgid "ParamCustominCutInterval"
-msgstr "ParamCustominCutInterval"
-
-msgid "ParamCustominTearInterval"
-msgstr "ParamCustominTearInterval"
-
-#, c-format
-msgid "Password for %s on %s? "
-msgstr "Das Kennwort für „%s“ auf „%s“? "
-
-#, c-format
-msgid "Password for %s required to access %s via SAMBA: "
-msgstr ""
-"Das Kennwort für „%s“ wird benötigt für den Zugriff auf „%s“ über SAMBA: "
-
-msgid "Pause Class"
-msgstr "Klasse anhalten"
-
-msgid "Pause Printer"
-msgstr "Drucker anhalten"
-
-msgid "Peel-Off"
-msgstr "Aufkleber"
-
-msgid "Photo"
-msgstr "Foto"
-
-msgid "Photo Labels"
-msgstr "Foto-Etiketten"
-
-msgid "Plain Paper"
-msgstr "Standardpapier"
-
-msgid "Policies"
-msgstr "Richtlinien "
-
-msgid "Port Monitor"
-msgstr "Port-Monitor"
-
-msgid "PostScript Printer"
-msgstr "PostScript-Drucker"
-
-msgid "Postcard"
-msgstr "Postkarte"
-
-msgid "Postcard Double "
-msgstr ""
-
-msgid "Postcard Double Long Edge"
-msgstr ""
-
-msgid "Postcard Long Edge"
-msgstr ""
-
-msgid "Print Density"
-msgstr "Druckdichte"
-
-msgid "Print Job:"
-msgstr "Druckauftrag:"
-
-msgid "Print Mode"
-msgstr "Druckmodus"
-
-msgid "Print Rate"
-msgstr "Druckrate"
-
-msgid "Print Self-Test Page"
-msgstr "Selbsttestseite drucken"
-
-msgid "Print Speed"
-msgstr "Druckgeschwindigkeit"
-
-msgid "Print Test Page"
-msgstr "Testseite drucken"
-
-msgid "Print and Cut"
-msgstr "Drucken und abschneiden"
-
-msgid "Print and Tear"
-msgstr "Drucken und abziehen"
-
-#, c-format
-msgid "Print file accepted - job ID %d."
-msgstr ""
-
-msgid "Print file accepted - job ID unknown."
-msgstr ""
-
-msgid "Print file sent."
-msgstr ""
-
-msgid "Print file was not accepted."
-msgstr ""
-
-msgid "Print job too large."
-msgstr ""
-
-msgid "Printed For: "
-msgstr "Gedruckt für: "
-
-msgid "Printed From: "
-msgstr "Gedruckt von: "
-
-msgid "Printed On: "
-msgstr "Gedruckt am: "
-
-msgid "Printer Added"
-msgstr "Drucker hinzugefügt"
-
-msgid "Printer Default"
-msgstr "Standardeinstellung für Drucker"
-
-msgid "Printer Deleted"
-msgstr "Drucker gelöscht"
-
-msgid "Printer Modified"
-msgstr "Drucker geändert"
-
-msgid "Printer Name: "
-msgstr "Druckername: "
-
-msgid "Printer Paused"
-msgstr "Drucker angehalten"
-
-msgid "Printer Settings"
-msgstr "Druckereinstellungen"
-
-msgid "Printer busy, will retry in 10 seconds."
-msgstr ""
-
-msgid "Printer busy; will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer did not respond."
-msgstr ""
-
-#, c-format
-msgid "Printer does not support IPP/%d.%d, trying IPP/%s."
-msgstr ""
-
-msgid "Printer is busy, will retry in 5 seconds."
-msgstr ""
-
-msgid "Printer is not currently connected."
-msgstr ""
-
-msgid "Printer is now connected."
-msgstr ""
-
-msgid "Printer is now online."
-msgstr ""
-
-msgid "Printer is offline."
-msgstr ""
-
-msgid "Printer not connected, will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer not connected; will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer:"
-msgstr "Drucker:"
-
-msgid "Printers"
-msgstr "Drucker"
-
-#, c-format
-msgid "Printing page %d, %d%% complete."
-msgstr ""
-
-#, c-format
-msgid "Printing page %d."
-msgstr ""
-
-msgid "Purge Jobs"
-msgstr "Druckaufträge aufräumen"
-
-msgid "Quarto"
-msgstr "US Quarto"
-
-msgid "Quota limit reached."
-msgstr "Kontingentgrenze erreicht."
-
-msgid "Rank    Owner   Job     File(s)                         Total Size"
-msgstr ""
-
-#. TRANSLATORS: Pri is job priority.
-msgid ""
-"Rank   Owner      Pri  Job        Files                       Total Size"
-msgstr ""
-
-msgid "Ready to print."
-msgstr ""
-
-msgid "Reject Jobs"
-msgstr "Druckaufträge ablehnen"
-
-#, c-format
-msgid "Remote host did not accept control file (%d)."
-msgstr ""
-
-#, c-format
-msgid "Remote host did not accept data file (%d)."
-msgstr ""
-
-msgid "Reprint After Error"
-msgstr "Druckvorgang nach dem Fehler fortsetzen"
-
-msgid "Request Entity Too Large"
-msgstr "Gesamte Anfrage zu groß"
-
-msgid "Resolution"
-msgstr "Auflösung"
-
-msgid "Resume Class"
-msgstr "Klasse fortsetzen"
-
-msgid "Resume Printer"
-msgstr "Drucken fortsetzen"
-
-msgid "Return Address"
-msgstr "Absender-Adresse"
-
-msgid "Return Address - 3/4 x 2\""
-msgstr "Absender-Adresse – 3/4 x 2 Zoll"
-
-msgid "Rewind"
-msgstr "Zurückdrehen"
-
-#, c-format
-msgid "Running command: %s %s -N -A %s -c '%s'"
-msgstr ""
-
-msgid "SEQUENCE uses indefinite length"
-msgstr "SEQUENCE hat unbestimmte Länge"
-
-msgid "SSL/TLS Negotiation Error"
-msgstr ""
-
-msgid "See Other"
-msgstr "Siehe auch"
-
-msgid "Sending data to printer."
-msgstr ""
-
-#, c-format
-msgid "Serial Port #%d"
-msgstr "Serieller Anschluss Nr. %d"
-
-msgid "Server Restarted"
-msgstr "Server neu gestartet"
-
-msgid "Server Security Auditing"
-msgstr "Server Security Auditing"
-
-msgid "Server Started"
-msgstr "Server gestartet"
-
-msgid "Server Stopped"
-msgstr "Server gestoppt"
-
-msgid "Service Unavailable"
-msgstr "Dienst nicht verfügbar"
-
-msgid "Set Allowed Users"
-msgstr "Zugelassene Benutzer festlegen"
-
-msgid "Set As Server Default"
-msgstr "Als Standardeinstellungen für Server festlegen"
-
-msgid "Set Class Options"
-msgstr "Klassenoptionen festlegen"
-
-msgid "Set Printer Options"
-msgstr "Druckeroptionen festlegen"
-
-msgid "Set Publishing"
-msgstr "Veröffentlichung festlegen"
-
-msgid "Shipping Address"
-msgstr "Lieferadresse"
-
-msgid "Shipping Address - 2 5/16 x 4\""
-msgstr "Lieferadresse – 2 5/16 x 4 Zoll"
-
-msgid "Short-Edge (Landscape)"
-msgstr "Kurze Kante (Querformat)"
-
-msgid "Special Paper"
-msgstr "Spezialpapier"
-
-#, c-format
-msgid "Spooling job, %.0f%% complete."
-msgstr ""
-
-msgid "Standard"
-msgstr "Standard"
-
-#. TRANSLATORS: Banner/cover sheet before the print job.
-msgid "Starting Banner"
-msgstr "Startbanner"
-
-#, c-format
-msgid "Starting page %d."
-msgstr ""
-
-msgid "Statement"
-msgstr "US Statement"
-
-msgid "Stylus Color Series"
-msgstr "Stylus Color Serie"
-
-msgid "Stylus Photo Series"
-msgstr "Stylus Photo Serie"
-
-#, c-format
-msgid "Subscription #%d does not exist."
-msgstr ""
-
-msgid "Super A"
-msgstr "Super A"
-
-msgid "Super B"
-msgstr "Super B"
-
-msgid "Super B/A3"
-msgstr "Super B/A3"
-
-msgid "Switching Protocols"
-msgstr "Protokoll wechseln"
-
-msgid "Tabloid"
-msgstr "US Tabloid"
-
-msgid "Tabloid Oversize"
-msgstr ""
-
-msgid "Tabloid Oversize Long Edge"
-msgstr ""
-
-msgid "Tear"
-msgstr "Abziehen"
-
-msgid "Tear-Off"
-msgstr "Abziehen"
-
-msgid "Tear-Off Adjust Position"
-msgstr "Abziehposition"
-
-#, c-format
-msgid "The %s attribute cannot be provided with job-ids."
-msgstr ""
-
-#, c-format
-msgid "The PPD file \"%s\" could not be found."
-msgstr "Die PPD-Datei „%s“ konnte nicht gefunden werden."
-
-#, c-format
-msgid "The PPD file \"%s\" could not be opened: %s"
-msgstr "Die PPD-Datei „%s“ konnte nicht geöffnet werden: %s"
-
-msgid "The PPD file could not be opened."
-msgstr ""
-
-msgid ""
-"The class name may only contain up to 127 printable characters and may not "
-"contain spaces, slashes (/), or the pound sign (#)."
-msgstr ""
-"Der Klassenname darf maximal 127 druckbare Zeichen haben und darf keine "
-"Leerzeichen, Schrägstriche (/) oder Rautezeichen (#) enthalten."
-
-msgid "The developer unit needs to be replaced."
-msgstr ""
-
-msgid "The developer unit will need to be replaced soon."
-msgstr ""
-
-msgid "The fuser's temperature is high."
-msgstr ""
-
-msgid "The fuser's temperature is low."
-msgstr ""
-
-msgid ""
-"The notify-lease-duration attribute cannot be used with job subscriptions."
-msgstr ""
-"Das Attribut „notify-lease-duration“ kann nicht mit Druckauftrags-"
-"Subskriptionen verwendet werden."
-
-#, c-format
-msgid "The notify-user-data value is too large (%d > 63 octets)."
-msgstr ""
-
-msgid "The optical photoconductor needs to be replaced."
-msgstr ""
-
-msgid "The optical photoconductor will need to be replaced soon."
-msgstr ""
-
-msgid "The output bin is almost full."
-msgstr ""
-
-msgid "The output bin is full."
-msgstr ""
-
-msgid "The output bin is missing."
-msgstr ""
-
-msgid "The page setup information was not valid."
-msgstr ""
-
-msgid "The paper tray is almost empty."
-msgstr ""
-
-msgid "The paper tray is empty."
-msgstr ""
-
-msgid "The paper tray is missing."
-msgstr ""
-
-msgid "The paper tray needs to be filled."
-msgstr ""
-
-msgid "The print file could not be opened."
-msgstr ""
-
-msgid "The printer URI is incorrect or no longer exists."
-msgstr ""
-
-msgid "The printer is busy."
-msgstr ""
-
-msgid "The printer is not connected."
-msgstr ""
-
-msgid "The printer is not responding."
-msgstr ""
-
-msgid "The printer is out of ink."
-msgstr ""
-
-msgid "The printer is running low on ink."
-msgstr ""
-
-msgid "The printer is running low on toner."
-msgstr ""
-
-msgid "The printer is unreachable at this time."
-msgstr ""
-
-msgid "The printer may be out of toner."
-msgstr ""
-
-msgid "The printer may not exist or is unavailable at this time."
-msgstr ""
-
-msgid ""
-"The printer name may only contain up to 127 printable characters and may not "
-"contain spaces, slashes (/), or the pound sign (#)."
-msgstr ""
-"Der Druckername darf maximal 127 druckbare Zeichen haben und darf keine "
-"Leerzeichen, Schrägstriche (/) oder Rautezeichen (#) enthalten."
-
-msgid "The printer or class does not exist."
-msgstr ""
-
-msgid "The printer or class is not shared."
-msgstr ""
-
-msgid "The printer's cover is open."
-msgstr ""
-
-msgid "The printer's door is open."
-msgstr ""
-
-msgid "The printer's interlock is open."
-msgstr ""
-
-msgid "The printer's waste bin is almost full."
-msgstr ""
-
-msgid "The printer's waste bin is full."
-msgstr ""
-
-#, c-format
-msgid "The printer-uri \"%s\" contains invalid characters."
-msgstr "Die Drucker-URI „%s“ enthält ungültige Zeichen."
-
-msgid "The printer-uri attribute is required."
-msgstr ""
-
-msgid ""
-"The printer-uri must be of the form \"ipp://HOSTNAME/classes/CLASSNAME\"."
-msgstr ""
-"Die Drucker-URI muss in der folgenden Form vorliegen: ipp://HOSTNAME/classes/"
-"CLASSNAME"
-
-msgid ""
-"The printer-uri must be of the form \"ipp://HOSTNAME/printers/PRINTERNAME\"."
-msgstr ""
-"Die Drucker-URI muss in der folgenden Form vorliegen: ipp://HOSTNAME/"
-"printers/PRINTERNAME"
-
-msgid ""
-"The subscription name may not contain spaces, slashes (/), question marks "
-"(?), or the pound sign (#)."
-msgstr ""
-"Der Subkriptionsname darf keine Leerzeichen, Schrägstriche (/), Fragezeichen "
-"(?) oder Rautezeichen (#) enthalten."
-
-msgid ""
-"The web interface is currently disabled. Run \"cupsctl WebInterface=yes\" to "
-"enable it."
-msgstr ""
-
-#, c-format
-msgid "The which-jobs value \"%s\" is not supported."
-msgstr ""
-
-msgid "There are too many subscriptions."
-msgstr "Es liegen zu viele Subskriptionen vor."
-
-msgid "There is a paper jam."
-msgstr ""
-
-msgid "There was an unrecoverable USB error."
-msgstr ""
-
-msgid "Thermal Transfer Media"
-msgstr "Thermal Transfer Media"
-
-msgid "Title: "
-msgstr "Titel: "
-
-msgid "Too many active jobs."
-msgstr "Zu viele aktive Druckaufträge."
-
-#, c-format
-msgid "Too many job-sheets values (%d > 2)."
-msgstr ""
-
-#, c-format
-msgid "Too many printer-state-reasons values (%d > %d)."
-msgstr ""
-
-msgid "Transparency"
-msgstr "Transparenz"
-
-msgid "Tray"
-msgstr "Fach"
-
-msgid "Tray 1"
-msgstr "Fach 1"
-
-msgid "Tray 2"
-msgstr "Fach 2"
-
-msgid "Tray 3"
-msgstr "Fach 3"
-
-msgid "Tray 4"
-msgstr "Fach 4"
-
-msgid "URI Too Long"
-msgstr "URI zu lang"
-
-msgid "US Ledger"
-msgstr "US Ledger"
-
-msgid "US Legal"
-msgstr "US Lang"
-
-msgid "US Legal Oversize"
-msgstr ""
-
-msgid "US Letter"
-msgstr "US Brief"
-
-msgid "US Letter Long Edge"
-msgstr ""
-
-msgid "US Letter Oversize"
-msgstr ""
-
-msgid "US Letter Oversize Long Edge"
-msgstr ""
-
-msgid "US Letter Small"
-msgstr ""
-
-#, c-format
-msgid "USB Serial Port #%d"
-msgstr "USB Serieller Anschluss Nr. %d"
-
-msgid "Unable to access cupsd.conf file:"
-msgstr "Kein Zugriff auf Datei „cupsd.conf“:"
-
-msgid "Unable to add RSS subscription:"
-msgstr "RSS-Abo konnte nicht hinzugefügt werden:"
-
-msgid "Unable to add class:"
-msgstr "Klasse konnte nicht hinzugefügt werden:"
-
-msgid "Unable to add document to print job."
-msgstr ""
-
-#, c-format
-msgid "Unable to add job for destination \"%s\"."
-msgstr ""
-
-msgid "Unable to add printer:"
-msgstr "Drucker konnte nicht hinzugefügt werden:"
-
-msgid "Unable to allocate memory for file types."
-msgstr ""
-
-msgid "Unable to allocate memory for page info"
-msgstr ""
-
-msgid "Unable to allocate memory for pages array"
-msgstr ""
-
-msgid "Unable to cancel RSS subscription:"
-msgstr "RSS-Abo konnte nicht widerrufen werden:"
-
-msgid "Unable to cancel print job."
-msgstr ""
-
-msgid "Unable to change printer-is-shared attribute:"
-msgstr "Attribut „printer-is-shared“ konnte nicht geändert werden:"
-
-msgid "Unable to change printer:"
-msgstr "Drucker konnte nicht geändert werden:"
-
-msgid "Unable to change server settings:"
-msgstr "Servereinstellungen konnten nicht geändert werden:"
-
-msgid "Unable to configure printer options."
-msgstr ""
-
-msgid "Unable to connect to host."
-msgstr "Verbindungsaufbau zum Host fehlgeschlagen."
-
-msgid "Unable to contact printer, queuing on next printer in class."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy 64-bit CUPS printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy 64-bit Windows printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy CUPS printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy PPD file - %s"
-msgstr ""
-
-msgid "Unable to copy PPD file."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy Windows 2000 printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy Windows 9x printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy interface script - %s"
-msgstr ""
-
-msgid "Unable to copy print file"
-msgstr ""
-
-msgid "Unable to create compressed print file"
-msgstr ""
-
-msgid "Unable to create pipes for filters"
-msgstr ""
-
-msgid "Unable to create printer-uri"
-msgstr ""
-
-msgid "Unable to create temporary file"
-msgstr ""
-
-msgid "Unable to create temporary file:"
-msgstr "Temporäre Datei konnte nicht erstellt werden:"
-
-msgid "Unable to delete class:"
-msgstr "Klasse konnte nicht gelöscht werden:"
-
-msgid "Unable to delete printer:"
-msgstr "Drucker konnte nicht gelöscht werden:"
-
-msgid "Unable to do maintenance command:"
-msgstr "Wartungsbefehl konnte nicht ausgeführt werden:"
-
-msgid "Unable to edit cupsd.conf files larger than 1MB"
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (certificate chain invalid)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (certificate not yet valid)."
-msgstr ""
-
-msgid "Unable to establish a secure connection to host (expired certificate)."
-msgstr ""
-
-msgid "Unable to establish a secure connection to host (host name mismatch)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (peer dropped connection "
-"before responding)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (self-signed certificate)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (untrusted certificate)."
-msgstr ""
-
-msgid "Unable to establish a secure connection to host."
-msgstr ""
-
-msgid "Unable to find destination for job"
-msgstr ""
-
-msgid "Unable to find printer."
-msgstr ""
-
-msgid "Unable to fork filter"
-msgstr ""
-
-msgid "Unable to generate compressed print file"
-msgstr ""
-
-msgid "Unable to get backend exit status."
-msgstr ""
-
-msgid "Unable to get class list:"
-msgstr "Klassenliste konnte nicht abgerufen werden:"
-
-msgid "Unable to get class status:"
-msgstr "Klassenstatus konnte nicht abgerufen werden:"
-
-msgid "Unable to get list of printer drivers:"
-msgstr "Liste der Druckertreiber konnte nicht abgerufen werden:"
-
-msgid "Unable to get printer attributes:"
-msgstr "Druckerattribute konnten nicht abgerufen werden:"
-
-msgid "Unable to get printer list:"
-msgstr "Druckerliste konnte nicht abgerufen werden:"
-
-msgid "Unable to get printer status."
-msgstr ""
-
-msgid "Unable to get printer status:"
-msgstr "Druckerstatus konnte nicht abgerufen werden:"
-
-#, c-format
-msgid "Unable to install Windows 2000 printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to install Windows 9x printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to locate printer \"%s\"."
-msgstr ""
-
-msgid "Unable to locate printer."
-msgstr ""
-
-msgid "Unable to modify class:"
-msgstr "Klasse konnte nicht verändert werden:"
-
-msgid "Unable to modify printer:"
-msgstr "Drucker konnte nicht verändert werden:"
-
-msgid "Unable to move job"
-msgstr "Druckauftrag konnte nicht bewegt werden"
-
-msgid "Unable to move jobs"
-msgstr "Druckaufträge konnten nicht bewegt werden"
-
-msgid "Unable to open PPD file"
-msgstr "Die PPD-Datei konnte nicht geöffnet werden"
-
-msgid "Unable to open PPD file:"
-msgstr "Die PPD-Datei konnte nicht geöffnet werden:"
-
-msgid "Unable to open charset file"
-msgstr ""
-
-msgid "Unable to open compressed print file"
-msgstr ""
-
-msgid "Unable to open cupsd.conf file:"
-msgstr "Die Datei „cupsd.conf“ konnte nicht geöffnet werden:"
-
-msgid "Unable to open device file"
-msgstr ""
-
-#, c-format
-msgid "Unable to open document #%d in job #%d."
-msgstr ""
-
-msgid "Unable to open print file"
-msgstr ""
-
-msgid "Unable to open psglyphs"
-msgstr ""
-
-msgid "Unable to open raster file"
-msgstr ""
-
-#, c-format
-msgid "Unable to print %d text columns."
-msgstr ""
-
-#, c-format
-msgid "Unable to print %dx%d text page."
-msgstr ""
-
-msgid "Unable to print test page:"
-msgstr "Testseite konnte nicht gedruckt werden:"
-
-msgid "Unable to read print data"
-msgstr ""
-
-msgid "Unable to read print data."
-msgstr ""
-
-#, c-format
-msgid "Unable to run \"%s\": %s"
-msgstr ""
-
-msgid "Unable to see in file"
-msgstr ""
-
-msgid "Unable to send command to printer driver"
-msgstr ""
-
-msgid "Unable to send data to printer."
-msgstr ""
-
-msgid "Unable to send raster data to the driver."
-msgstr ""
-
-#, c-format
-msgid "Unable to set Windows printer driver (%d)."
-msgstr ""
-
-msgid "Unable to set options:"
-msgstr "Optionen konnten nicht festgelegt werden:"
-
-msgid "Unable to set server default:"
-msgstr "Standardeinstellungen für Server konnten nicht festgelegt werden:"
-
-msgid "Unable to start backend process."
-msgstr ""
-
-msgid "Unable to upload cupsd.conf file:"
-msgstr "Die Datei „cupsd.conf“ konnte nicht hochgeladen werden:"
-
-msgid "Unable to use legacy USB class driver."
-msgstr ""
-
-msgid "Unable to write print data"
-msgstr ""
-
-#, c-format
-msgid "Unable to write uncompressed print data: %s"
-msgstr ""
-
-msgid "Unauthorized"
-msgstr "Nicht berechtigt"
-
-msgid "Units"
-msgstr "Einheiten"
-
-msgid "Unknown"
-msgstr "Unbekannt"
-
-#, c-format
-msgid "Unknown choice \"%s\" for option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown encryption option value: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown file order: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown format character: \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown option \"%s\" with value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown print mode: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown printer-error-policy \"%s\"."
-msgstr "Unbekannte printer-error-policy „%s“."
-
-#, c-format
-msgid "Unknown printer-op-policy \"%s\"."
-msgstr "Unbekannte printer-op-policy „%s“."
-
-#, c-format
-msgid "Unknown version option value: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported baud rate: %s"
-msgstr ""
-
-#, c-format
-msgid "Unsupported brightness value %s, using brightness=100."
-msgstr ""
-
-#, c-format
-msgid "Unsupported character set \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported compression \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported document-format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported document-format \"%s/%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported gamma value %s, using gamma=1000."
-msgstr ""
-
-msgid "Unsupported margins."
-msgstr ""
-
-msgid "Unsupported media value."
-msgstr ""
-
-#, c-format
-msgid "Unsupported number-up value %d, using number-up=1."
-msgstr ""
-
-#, c-format
-msgid "Unsupported number-up-layout value %s, using number-up-layout=lrtb."
-msgstr ""
-
-#, c-format
-msgid "Unsupported page-border value %s, using page-border=none."
-msgstr ""
-
-msgid "Unsupported raster data."
-msgstr ""
-
-msgid "Unsupported value type"
-msgstr "Wertetyp nicht unterstützt"
-
-msgid "Upgrade Required"
-msgstr "Aktualisierung erforderlich"
-
-msgid ""
-"Usage:\n"
-"\n"
-"    lpadmin [-h server] -d destination\n"
-"    lpadmin [-h server] -x destination\n"
-"    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m model]\n"
-"                       [-r remove-class] [-v device] [-D description]\n"
-"                       [-P ppd-file] [-o name=value]\n"
-"                       [-u allow:user,user] [-u deny:user,user]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job user title copies options [filename]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job-id user title copies options [file]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job-id user title copies options file"
-msgstr ""
-
-msgid "Usage: convert [ options ]"
-msgstr ""
-
-msgid "Usage: cupsaddsmb [options] printer1 ... printerN"
-msgstr ""
-
-msgid "Usage: cupsctl [options] [param=value ... paramN=valueN]"
-msgstr ""
-
-msgid "Usage: cupsd [options]"
-msgstr ""
-
-msgid "Usage: cupsfilter [ options ] filename"
-msgstr ""
-
-msgid "Usage: cupstestdsc [options] filename.ps [... filename.ps]"
-msgstr ""
-
-msgid ""
-"Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]"
-msgstr ""
-
-msgid "Usage: ipptool [options] URI filename [ ... filenameN ]"
-msgstr ""
-
-msgid "Usage: lpmove job/src dest"
-msgstr ""
-
-msgid ""
-"Usage: lpoptions [-h server] [-E] -d printer\n"
-"       lpoptions [-h server] [-E] [-p printer] -l\n"
-"       lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
-"       lpoptions [-h server] [-E] -x printer"
-msgstr ""
-
-msgid "Usage: lppasswd [-g groupname]"
-msgstr ""
-
-msgid ""
-"Usage: lppasswd [-g groupname] [username]\n"
-"       lppasswd [-g groupname] -a [username]\n"
-"       lppasswd [-g groupname] -x [username]"
-msgstr ""
-
-msgid ""
-"Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]"
-msgstr ""
-
-msgid "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]"
-msgstr ""
-
-msgid "Usage: ppdhtml [options] filename.drv >filename.html"
-msgstr ""
-
-msgid "Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]"
-msgstr ""
-
-msgid "Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]"
-msgstr ""
-
-msgid ""
-"Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]"
-msgstr ""
-
-msgid "Usage: snmp [host-or-ip-address]"
-msgstr ""
-
-msgid "Value uses indefinite length"
-msgstr "Wert hat unbestimmte Länge"
-
-msgid "VarBind uses indefinite length"
-msgstr "VarBind hat unbestimmte Länge"
-
-msgid "Version uses indefinite length"
-msgstr "Version hat unbestimmte Länge"
-
-msgid "Waiting for job to complete."
-msgstr ""
-
-msgid "Waiting for printer to become available."
-msgstr ""
-
-msgid "Waiting for printer to finish."
-msgstr ""
-
-msgid "Warning, no Windows 2000 printer drivers are installed."
-msgstr ""
-
-msgid "Web Interface is Disabled"
-msgstr ""
-
-msgid "Yes"
-msgstr "Ja"
-
-#, c-format
-msgid ""
-"You must access this page using the URL <A HREF=\"https://%s:%d%s\">https://%"
-"s:%d%s</A>."
-msgstr ""
-"Auf diese Seite greifen Sie zu über die URL <A HREF=\"https://%s:%d%s"
-"\">https://%s:%d%s</A>."
-
-msgid ""
-"Your password must be at least 6 characters long, cannot contain your "
-"username, and must contain at least one letter and number."
-msgstr ""
-
-msgid "ZPL Label Printer"
-msgstr "ZPL Etikettendrucker"
-
-msgid "Zebra"
-msgstr "Zebra"
-
-msgid "aborted"
-msgstr "abgebrochen"
-
-msgid "canceled"
-msgstr "abgebrochen"
-
-msgid "completed"
-msgstr "abgeschlossen"
-
-msgid "convert: Use the -f option to specify a file to convert."
-msgstr ""
-
-msgid "cups-deviced failed to execute."
-msgstr "„cups-deviced“ konnte nicht ausgeführt werden."
-
-msgid "cups-driverd failed to execute."
-msgstr "„cups-driverd“ konnte nicht ausgeführt werden."
-
-#, c-format
-msgid "cupsaddsmb: No PPD file for printer \"%s\" - %s"
-msgstr ""
-
-msgid "cupsctl: Cannot set Listen or Port directly."
-msgstr ""
-
-#, c-format
-msgid "cupsctl: Unable to connect to server: %s"
-msgstr ""
-
-#, c-format
-msgid "cupsctl: Unknown option \"%s\""
-msgstr ""
-
-#, c-format
-msgid "cupsctl: Unknown option \"-%c\""
-msgstr ""
-
-msgid "cupsd: Expected config filename after \"-c\" option."
-msgstr ""
-
-msgid "cupsd: Unable to get current directory."
-msgstr ""
-
-#, c-format
-msgid "cupsd: Unknown argument \"%s\" - aborting."
-msgstr ""
-
-#, c-format
-msgid "cupsd: Unknown option \"%c\" - aborting."
-msgstr ""
-
-msgid "cupsd: launchd(8) support not compiled in, running in normal mode."
-msgstr ""
-
-#, c-format
-msgid "cupsfilter: Invalid document number %d."
-msgstr ""
-
-#, c-format
-msgid "cupsfilter: Invalid job ID %d."
-msgstr ""
-
-msgid "cupsfilter: Only one filename can be specified."
-msgstr ""
-
-#, c-format
-msgid "cupsfilter: Unable to get job file - %s"
-msgstr ""
-
-msgid "cupstestppd: The -q option is incompatible with the -v option."
-msgstr ""
-
-msgid "cupstestppd: The -v option is incompatible with the -q option."
-msgstr ""
-
-#, c-format
-msgid "device for %s/%s: %s"
-msgstr ""
-
-#, c-format
-msgid "device for %s: %s"
-msgstr ""
-
-msgid "error-index uses indefinite length"
-msgstr "Fehlerindex hat unbestimmte Länge"
-
-msgid "error-status uses indefinite length"
-msgstr "Fehlerstatus hat unbestimmte Länge"
-
-msgid "held"
-msgstr "gehalten"
-
-msgid "help\t\tGet help on commands."
-msgstr ""
-
-msgid "idle"
-msgstr "inaktiv"
-
-msgid "ipptool: \"-i\" and \"-n\" are incompatible with -X\"."
-msgstr ""
-
-msgid "ipptool: \"-i\" is incompatible with \"-X\"."
-msgstr ""
-
-msgid "ipptool: \"-n\" is incompatible with \"-X\"."
-msgstr ""
-
-#, c-format
-msgid "ipptool: Bad URI - %s."
-msgstr ""
-
-#, c-format
-msgid "ipptool: Bad version %s for \"-V\"."
-msgstr ""
-
-msgid "ipptool: Invalid seconds for \"-i\"."
-msgstr ""
-
-msgid "ipptool: May only specify a single URI."
-msgstr ""
-
-msgid "ipptool: Missing count for \"-n\"."
-msgstr ""
-
-msgid "ipptool: Missing filename for \"-f\"."
-msgstr ""
-
-msgid "ipptool: Missing name=value for \"-d\"."
-msgstr ""
-
-msgid "ipptool: Missing seconds for \"-i\"."
-msgstr ""
-
-msgid "ipptool: Missing timeout for \"-T\"."
-msgstr ""
-
-msgid "ipptool: Missing version for \"-V\"."
-msgstr ""
-
-msgid "ipptool: URI required before test file."
-msgstr ""
-
-#, c-format
-msgid "ipptool: Unknown option \"-%c\"."
-msgstr ""
-
-msgid "job-printer-uri attribute missing."
-msgstr ""
-
-msgid "lpadmin: Class name can only contain printable characters."
-msgstr ""
-
-msgid "lpadmin: Expected PPD after \"-P\" option."
-msgstr ""
-
-msgid "lpadmin: Expected allow/deny:userlist after \"-u\" option."
-msgstr ""
-
-msgid "lpadmin: Expected class after \"-r\" option."
-msgstr ""
-
-msgid "lpadmin: Expected class name after \"-c\" option."
-msgstr ""
-
-msgid "lpadmin: Expected description after \"-D\" option."
-msgstr ""
-
-msgid "lpadmin: Expected device URI after \"-v\" option."
-msgstr ""
-
-msgid "lpadmin: Expected file type(s) after \"-I\" option."
-msgstr ""
-
-msgid "lpadmin: Expected hostname after \"-h\" option."
-msgstr ""
-
-msgid "lpadmin: Expected interface after \"-i\" option."
-msgstr ""
-
-msgid "lpadmin: Expected location after \"-L\" option."
-msgstr ""
-
-msgid "lpadmin: Expected model after \"-m\" option."
-msgstr ""
-
-msgid "lpadmin: Expected name after \"-R\" option."
-msgstr ""
-
-msgid "lpadmin: Expected name=value after \"-o\" option."
-msgstr ""
-
-msgid "lpadmin: Expected printer after \"-p\" option."
-msgstr ""
-
-msgid "lpadmin: Expected printer name after \"-d\" option."
-msgstr ""
-
-msgid "lpadmin: Expected printer or class after \"-x\" option."
-msgstr ""
-
-msgid "lpadmin: No member names were seen."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Printer %s is already a member of class %s."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Printer %s is not a member of class %s."
-msgstr ""
-
-msgid "lpadmin: Printer name can only contain printable characters."
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to add a printer to the class:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unable to connect to server: %s"
-msgstr ""
-
-msgid "lpadmin: Unable to create temporary file"
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to delete option:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unable to open PPD file \"%s\" - %s"
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to remove a printer from the class:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to set the printer options:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unknown allow/deny option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unknown argument \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unknown option \"%c\"."
-msgstr ""
-
-msgid "lpadmin: Warning - content type list ignored."
-msgstr ""
-
-msgid "lpc> "
-msgstr "lpc> "
-
-msgid "lpinfo: Expected 1284 device ID string after \"--device-id\"."
-msgstr ""
-
-msgid "lpinfo: Expected language after \"--language\"."
-msgstr ""
-
-msgid "lpinfo: Expected make and model after \"--make-and-model\"."
-msgstr ""
-
-msgid "lpinfo: Expected product string after \"--product\"."
-msgstr ""
-
-msgid "lpinfo: Expected scheme list after \"--exclude-schemes\"."
-msgstr ""
-
-msgid "lpinfo: Expected scheme list after \"--include-schemes\"."
-msgstr ""
-
-msgid "lpinfo: Expected timeout after \"--timeout\"."
-msgstr ""
-
-#, c-format
-msgid "lpinfo: Unknown argument \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpinfo: Unknown option \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "lpinfo: Unknown option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpmove: Unable to connect to server: %s"
-msgstr ""
-
-#, c-format
-msgid "lpmove: Unknown argument \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpmove: Unknown option \"%c\"."
-msgstr ""
-
-msgid "lpoptions: No printers."
-msgstr ""
-
-#, c-format
-msgid "lpoptions: Unable to add printer or instance: %s"
-msgstr ""
-
-#, c-format
-msgid "lpoptions: Unable to get PPD file for %s: %s"
-msgstr ""
-
-#, c-format
-msgid "lpoptions: Unable to open PPD file for %s."
-msgstr ""
-
-msgid "lpoptions: Unknown printer or class."
-msgstr ""
-
-msgid "lppasswd: Only root can add or delete passwords."
-msgstr ""
-
-msgid "lppasswd: Password file busy."
-msgstr ""
-
-msgid "lppasswd: Password file not updated."
-msgstr ""
-
-msgid "lppasswd: Sorry, password doesn't match."
-msgstr ""
-
-msgid "lppasswd: Sorry, password rejected."
-msgstr ""
-
-msgid "lppasswd: Sorry, passwords don't match."
-msgstr ""
-
-#, c-format
-msgid "lppasswd: Unable to copy password string: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: Unable to open password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: Unable to write to password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: failed to backup old password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: failed to rename password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: user \"%s\" and group \"%s\" do not exist."
-msgstr ""
-
-#, c-format
-msgid ""
-"lpstat: error - %s environment variable names non-existent destination \"%s"
-"\"."
-msgstr ""
-
-#, c-format
-msgid "members of class %s:"
-msgstr ""
-
-msgid "no entries"
-msgstr ""
-
-msgid "no system default destination"
-msgstr ""
-
-msgid "notify-events not specified."
-msgstr ""
-
-#, c-format
-msgid "notify-recipient-uri URI \"%s\" is already used."
-msgstr ""
-
-#, c-format
-msgid "notify-recipient-uri URI \"%s\" uses unknown scheme."
-msgstr ""
-
-msgid "pending"
-msgstr "ausstehend"
-
-#, c-format
-msgid "ppdc: Adding include directory \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Adding/updating UI text from %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad boolean value (%s) on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad font attribute: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad resolution name \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad status keyword %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad variable substitution ($%c) on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Choice found on line %d of %s with no Option."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Duplicate #po for locale %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected a filter definition on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected a program name on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected boolean value on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected charset after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected choice code on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected choice name/text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected color order for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected colorspace for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected compression for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected constraints string for UIConstraints on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Expected driver type keyword following DriverType on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected duplex type after Duplex on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected encoding after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected filename after #po %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected group name/text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected include filename on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected integer on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected locale after #po on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after FileName on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after Manufacturer on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after MediaSize on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after ModelName on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after PCFileName on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text after Installable on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text after Resolution on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text combination for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected option name/text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected option section on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected option type on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected override field after Resolution on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected quoted string on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected real number on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Expected resolution/mediatype following ColorProfile on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Expected resolution/mediatype following SimpleColorProfile on line %d "
-"of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected selector after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected status after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected string after Copyright on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected string after Version on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected two option names on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected value after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected version after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid #include/#po filename \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid cost for filter on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid empty MIME type for filter on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid empty program name for filter on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid option section \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid option type \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Loading driver information file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Loading messages for locale \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Loading messages from \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Missing #endif at end of \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Missing #if on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Need a msgid line before any translation strings on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: No message catalog provided for locale %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Option %s defined in two different groups on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Option %s redefined with a different type on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Option constraint must *name on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Too many nested #if's on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to create PPD file \"%s\" - %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to create output directory %s: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to create output pipes: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to execute cupstestppd: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to find #po file %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to find include file \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to find localization for \"%s\" - %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to load localization file \"%s\" - %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to open %s: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Undefined variable (%s) on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unexpected text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown driver type %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown media size \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown message catalog format for \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown token \"%s\" seen on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Unknown trailing characters in real number \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unterminated string starting with %c on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Warning - overlapping filename \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Writing %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Writing PPD files to directory \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s."
-msgstr ""
-
-#, c-format
-msgid "ppdmerge: Ignoring PPD file %s."
-msgstr ""
-
-#, c-format
-msgid "ppdmerge: Unable to backup %s to %s - %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s disabled since %s -"
-msgstr ""
-
-#, c-format
-msgid "printer %s is idle.  enabled since %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s now printing %s-%d.  enabled since %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s/%s disabled since %s -"
-msgstr ""
-
-#, c-format
-msgid "printer %s/%s is idle.  enabled since %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s/%s now printing %s-%d.  enabled since %s"
-msgstr ""
-
-msgid "processing"
-msgstr "Bearbeiten"
-
-#, c-format
-msgid "request id is %s-%d (%d file(s))"
-msgstr ""
-
-msgid "request-id uses indefinite length"
-msgstr "Anfrage-ID hat unbestimmte Länge"
-
-msgid "scheduler is not running"
-msgstr ""
-
-msgid "scheduler is running"
-msgstr ""
-
-#, c-format
-msgid "stat of %s failed: %s"
-msgstr "Status von %s fehlgeschlagen: %s"
-
-msgid "status\t\tShow status of daemon and queue."
-msgstr ""
-
-msgid "stopped"
-msgstr "Gestoppt"
-
-#, c-format
-msgid "system default destination: %s"
-msgstr ""
-
-#, c-format
-msgid "system default destination: %s/%s"
-msgstr ""
-
-msgid "unknown"
-msgstr "Unbekannt"
-
-msgid "untitled"
-msgstr "Ohne Titel"
-
-msgid "variable-bindings uses indefinite length"
-msgstr "variable-bindings hat unbestimmte Länge"
-
-#~ msgid "\t\t(all)\n"
-#~ msgstr "\t\t(alles)\n"
-
-#~ msgid "\t\t(none)\n"
-#~ msgstr "\t\t(ohne)\n"
-
-#~ msgid "\t%d entries\n"
-#~ msgstr "\t%d Einträge\n"
-
-#~ msgid "\tAfter fault: continue\n"
-#~ msgstr "\tNach Fehler: fortsetzen\n"
-
-#~ msgid "\tAlerts:"
-#~ msgstr "\tWarnhinweise:"
-
-#~ msgid "\tBanner required\n"
-#~ msgstr "\tBanner erforderlich\n"
-
-#~ msgid "\tCharset sets:\n"
-#~ msgstr "\tZeichensätze:\n"
-
-#~ msgid "\tConnection: direct\n"
-#~ msgstr "\tVerbindung: direkt\n"
-
-#~ msgid "\tConnection: remote\n"
-#~ msgstr "\tVerbindung: enfernt\n"
-
-#~ msgid "\tDefault page size:\n"
-#~ msgstr "\tStandardseitengröße:\n"
-
-#~ msgid "\tDefault pitch:\n"
-#~ msgstr "\tStandardzeilenhöhe:\n"
-
-#~ msgid "\tDefault port settings:\n"
-#~ msgstr "\tStandard-Anschlusseinstellungen:\n"
-
-#~ msgid "\tDescription: %s\n"
-#~ msgstr "\tBeschreibung: %s\n"
-
-#~ msgid ""
-#~ "\tForm mounted:\n"
-#~ "\tContent types: any\n"
-#~ "\tPrinter types: unknown\n"
-#~ msgstr ""
-#~ "\tFormular aktiviert:\n"
-#~ "\tInhaltstypen: beliebig\n"
-#~ "\tDruckertypen: unbekannt\n"
-
-#~ msgid "\tForms allowed:\n"
-#~ msgstr "\tZugelassene Formulare:\n"
-
-#~ msgid "\tInterface: %s.ppd\n"
-#~ msgstr "\tSchnittstelle: %s.ppd\n"
-
-#~ msgid "\tInterface: %s/interfaces/%s\n"
-#~ msgstr "\tSchnittstelle: %s/interfaces/%s\n"
-
-#~ msgid "\tInterface: %s/ppd/%s.ppd\n"
-#~ msgstr "\tSchnittstelle: %s/ppd/%s.ppd\n"
-
-#~ msgid "\tLocation: %s\n"
-#~ msgstr "\tStandort: %s\n"
-
-#~ msgid "\tOn fault: no alert\n"
-#~ msgstr "\tBei Fehler: kein Warnhinweis\n"
-
-#~ msgid "\tUsers allowed:\n"
-#~ msgstr "\tZugelassene Benutzer:\n"
-
-#~ msgid "\tUsers denied:\n"
-#~ msgstr "\tGesperrte Benutzer:\n"
-
-#~ msgid "\tdaemon present\n"
-#~ msgstr "\tDaemon vorhanden\n"
-
-#~ msgid "\tno entries\n"
-#~ msgstr "\tkeine Einträge\n"
-
-#~ msgid "\tprinter is on device '%s' speed -1\n"
-#~ msgstr "\tDrucker ist auf Geschwindigkeit des Geräts „%s“ -1\n"
-
-#~ msgid "\tprinting is disabled\n"
-#~ msgstr "\tDrucken ist deaktiviert\n"
-
-#~ msgid "\tprinting is enabled\n"
-#~ msgstr "\tDrucken ist aktiviert\n"
-
-#~ msgid "\tqueued for %s\n"
-#~ msgstr "\tWarteliste für %s\n"
-
-#~ msgid "\tqueuing is disabled\n"
-#~ msgstr "\tWarteliste ist deaktiviert\n"
-
-#~ msgid "\tqueuing is enabled\n"
-#~ msgstr "\tWarteliste ist aktiviert\n"
-
-#~ msgid "\treason unknown\n"
-#~ msgstr "\tGrund unbekannt\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "    DETAILED CONFORMANCE TEST RESULTS\n"
-#~ msgstr ""
-#~ "\n"
-#~ "    AUSFÜHRLICHE KONFORMITÄTSTESTERGEBNISSE\n"
-
-#~ msgid "                REF: Page 15, section 3.1.\n"
-#~ msgstr "                REF: Seite 15, Abschnitt 3.1.\n"
-
-#~ msgid "                REF: Page 15, section 3.2.\n"
-#~ msgstr "                REF: Seite 15, Abschnitt 3.2.\n"
-
-#~ msgid "                REF: Page 19, section 3.3.\n"
-#~ msgstr "                REF: Seite 19, Abschnitt 3.3.\n"
-
-#~ msgid "                REF: Page 20, section 3.4.\n"
-#~ msgstr "                REF: Seite 20, Abschnitt 3.4.\n"
-
-#~ msgid "                REF: Page 27, section 3.5.\n"
-#~ msgstr "                REF: Seite 27, Abschnitt 3.5.\n"
-
-#~ msgid "                REF: Page 42, section 5.2.\n"
-#~ msgstr "                REF: Seite 42, Abschnitt 5.2.\n"
-
-#~ msgid "                REF: Pages 16-17, section 3.2.\n"
-#~ msgstr "                REF: Seite 16–17, Abschnitt 3.2.\n"
-
-#~ msgid "                REF: Pages 42-45, section 5.2.\n"
-#~ msgstr "                REF: Seite 42–45, Abschnitt 5.2.\n"
-
-#~ msgid "                REF: Pages 45-46, section 5.2.\n"
-#~ msgstr "                REF: Seite 45–46, Abschnitt 5.2.\n"
-
-#~ msgid "                REF: Pages 48-49, section 5.2.\n"
-#~ msgstr "                REF: Seite 48–49, Abschnitt 5.2.\n"
-
-#~ msgid "                REF: Pages 52-54, section 5.2.\n"
-#~ msgstr "                REF: Seite 52–54, Abschnitt 5.2.\n"
-
-#~ msgid "        %-39.39s %.0f bytes\n"
-#~ msgstr "        %-39.39s %.0f Byte\n"
-
-#~ msgid "        PASS    Default%s\n"
-#~ msgstr "        PASS    Default%s\n"
-
-#~ msgid "        PASS    DefaultImageableArea\n"
-#~ msgstr "        PASS    DefaultImageableArea\n"
-
-#~ msgid "        PASS    DefaultPaperDimension\n"
-#~ msgstr "        PASS    DefaultPaperDimension\n"
-
-#~ msgid "        PASS    FileVersion\n"
-#~ msgstr "        PASS    FileVersion\n"
-
-#~ msgid "        PASS    FormatVersion\n"
-#~ msgstr "        PASS    FormatVersion\n"
-
-#~ msgid "        PASS    LanguageEncoding\n"
-#~ msgstr "        PASS    LanguageEncoding\n"
-
-#~ msgid "        PASS    LanguageVersion\n"
-#~ msgstr "        PASS    LanguageVersion\n"
-
-#~ msgid "        PASS    Manufacturer\n"
-#~ msgstr "        PASS    Manufacturer\n"
-
-#~ msgid "        PASS    ModelName\n"
-#~ msgstr "        PASS    ModelName\n"
-
-#~ msgid "        PASS    NickName\n"
-#~ msgstr "        PASS    NickName\n"
-
-#~ msgid "        PASS    PCFileName\n"
-#~ msgstr "        PASS    PCFileName\n"
-
-#~ msgid "        PASS    PSVersion\n"
-#~ msgstr "        PASS    PSVersion\n"
-
-#~ msgid "        PASS    PageRegion\n"
-#~ msgstr "        PASS    PageRegion\n"
-
-#~ msgid "        PASS    PageSize\n"
-#~ msgstr "        PASS    PageSize\n"
-
-#~ msgid "        PASS    Product\n"
-#~ msgstr "        PASS    Product\n"
-
-#~ msgid "        PASS    ShortNickName\n"
-#~ msgstr "        PASS    ShortNickName\n"
-
-#~ msgid ""
-#~ "        WARN    \"%s %s\" conflicts with \"%s %s\"\n"
-#~ "                (constraint=\"%s %s %s %s\")\n"
-#~ msgstr ""
-#~ "        WARN    Konflikt zwischen „%s %s“ und „%s %s“\n"
-#~ "                (constraint=\"%s %s %s %s\")\n"
-
-#~ msgid "        WARN    %s has no corresponding options!\n"
-#~ msgstr "        WARN    %s hat keine passenden Optionen!\n"
-
-#~ msgid ""
-#~ "        WARN    %s shares a common prefix with %s\n"
-#~ "                REF: Page 15, section 3.2.\n"
-#~ msgstr ""
-#~ "        WARN    %s hat eine gemeinsames übliches Präfix mit %s\n"
-#~ "                REF: Seite 15, Abschnitt 3.2.\n"
-
-#~ msgid "        WARN    Default choices conflicting!\n"
-#~ msgstr "        WARN    Konflikt bei Standardauswahl!\n"
-
-#~ msgid ""
-#~ "        WARN    Duplex option keyword %s may not work as expected and "
-#~ "should be named Duplex!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "        WARN    Duplex-Option-Keyword „%s“ funktioniert u. U. nicht wie "
-#~ "erwartet – es sollte „Duplex“ heißen!\n"
-#~ "                REF: Seite 122, Abschnitt 5.17\n"
-
-#~ msgid ""
-#~ "        WARN    File contains a mix of CR, LF, and CR LF line endings!\n"
-#~ msgstr ""
-#~ "        WARN    Datei enthält Mischung aus den Zeilenenden „CR“, „LF“ und "
-#~ "„CR LF“!\n"
-
-#~ msgid ""
-#~ "        WARN    LanguageEncoding required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 56-57, section 5.3.\n"
-#~ msgstr ""
-#~ "        WARN    LanguageEncoding benötigt von PPD 4.3 Spezifikation.\n"
-#~ "                REF: Seite 56–57, Abschnitt 5.3.\n"
-
-#~ msgid "        WARN    Line %d only contains whitespace!\n"
-#~ msgstr "        WARN    Zeile %d enthält nur Leerzeichen!\n"
-
-#~ msgid ""
-#~ "        WARN    Manufacturer required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 58-59, section 5.3.\n"
-#~ msgstr ""
-#~ "        WARN    Manufacturer benötigt von PPD 4.3 Spezifikation.\n"
-#~ "                REF: Seite 58–59, Abschnitt 5.3.\n"
-
-#~ msgid "        WARN    Missing APDialogExtension file \"%s\"\n"
-#~ msgstr "        WARN    APDialogExtension-Datei „%s“ fehlt\n"
-
-#~ msgid "        WARN    Missing APPrinterIconPath file \"%s\"\n"
-#~ msgstr "        WARN    APPrinterIconPath-Datei „%s“ fehlt\n"
-
-#~ msgid ""
-#~ "        WARN    Non-Windows PPD files should use lines ending with only "
-#~ "LF, not CR LF!\n"
-#~ msgstr ""
-#~ "        WARN    Windows-fremde PPD-Datei sollte nur Zeilenenden mit „LF“ "
-#~ "verwenden, nicht mit „CR LF“!\n"
-
-#~ msgid ""
-#~ "        WARN    Obsolete PPD version %.1f!\n"
-#~ "                REF: Page 42, section 5.2.\n"
-#~ msgstr ""
-#~ "        WARN    Veraltete PPD-Version %.1f!\n"
-#~ "                REF: Seite 42, Abschnitt 5.2.\n"
-
-#~ msgid ""
-#~ "        WARN    PCFileName longer than 8.3 in violation of PPD spec.\n"
-#~ "                REF: Pages 61-62, section 5.3.\n"
-#~ msgstr ""
-#~ "        WARN    PCFileName ist länger als 8.3 und verstößt gegen die PPD-"
-#~ "Spezifikation.\n"
-#~ "                REF: Seite 61–62, Abschnitt 5.3.\n"
-
-#~ msgid ""
-#~ "        WARN    Protocols contains PJL but JCL attributes are not set.\n"
-#~ "                REF: Pages 78-79, section 5.7.\n"
-#~ msgstr ""
-#~ "        WARN    Protokolle enthalten PJL, aber JCL-Attribute sind nicht "
-#~ "festgelegt.\n"
-#~ "                REF: Seite 78–79, Abschnitt 5.7.\n"
-
-#~ msgid ""
-#~ "        WARN    Protocols contains both PJL and BCP; expected TBCP.\n"
-#~ "                REF: Pages 78-79, section 5.7.\n"
-#~ msgstr ""
-#~ "        WARN    Protokolle enthalten PJL sowie BCP; es wurde aber TBCP "
-#~ "erwartet.\n"
-#~ "                REF: Seite 78–79, section 5.7.\n"
-
-#~ msgid ""
-#~ "        WARN    ShortNickName required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "        WARN    ShortNickName benötigt von PPD 4.3 Spezifikation.\n"
-#~ "                REF: Seite 64–65, Abschnitt 5.3.\n"
-
-#~ msgid "      %s  %s %s does not exist!\n"
-#~ msgstr "      %s  %s %s existiert nicht!\n"
-
-#~ msgid ""
-#~ "      %s  Bad %s choice %s!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "      %s  Ungültig: %s Auswahl %s!\n"
-#~ "                REF: Seite 122, Abschnitt 5.17\n"
-
-#~ msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s!\n"
-#~ msgstr ""
-#~ "      %s  Ungültiger UTF-8 „%s“ Übersetzungsstring für Option „%s“!\n"
-
-#~ msgid ""
-#~ "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s!\n"
-#~ msgstr ""
-#~ "      %s  Ungültiger UTF-8 „%s“ Übersetzungsstring für Option „%s“, "
-#~ "Auswahl „%s“!\n"
-
-#~ msgid "      %s  Bad cupsFilter value \"%s\"!\n"
-#~ msgstr "      %s  Ungültiger cupsFilter-Wert „%s“!\n"
-
-#~ msgid "      %s  Bad cupsICCProfile %s!\n"
-#~ msgstr "      %s  Ungültiges cupsICCProfile „%s“!\n"
-
-#~ msgid "      %s  Bad cupsPreFilter value \"%s\"!\n"
-#~ msgstr "      %s  Ungültiger cupsPreFilter-Wert „%s“!\n"
-
-#~ msgid "      %s  Bad cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr "      %s  Ungültiges cupsUIConstraints „%s“: „%s“!\n"
-
-#~ msgid "      %s  Bad language \"%s\"!\n"
-#~ msgstr "      %s  Ungültige Sprache „%s“!\n"
-
-#~ msgid "      %s  Empty cupsUIConstraints %s!\n"
-#~ msgstr "      %s  Leeres cupsUIConstraints „%s“!\n"
-
-#~ msgid "      %s  Missing \"%s\" translation string for option %s!\n"
-#~ msgstr "      %s  Fehlender „%s“-Übersetzungsstring für Option „%s“!\n"
-
-#~ msgid ""
-#~ "      %s  Missing \"%s\" translation string for option %s, choice %s!\n"
-#~ msgstr ""
-#~ "      %s  Fehlender „%s“-Übersetzungsstring für Option „%s“, Auswahl „%"
-#~ "s“!\n"
-
-#~ msgid ""
-#~ "      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"!\n"
-#~ msgstr ""
-#~ "      %s  Fehlende Auswahl „*%s %s“ in UIConstraints „*%s %s *%s %s“!\n"
-
-#~ msgid "      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr ""
-#~ "      %s  Fehlende Auswahl „*%s %s“ in cupsUIConstraints „%s“: „%s“!\n"
-
-#~ msgid "      %s  Missing cupsFilter file \"%s\"\n"
-#~ msgstr "      %s  Fehlende cupsFilter-Datei „%s“\n"
-
-#~ msgid "      %s  Missing cupsICCProfile file \"%s\"!\n"
-#~ msgstr "      %s  Fehlende cupsICCProfile-Datei „%s“!\n"
-
-#~ msgid "      %s  Missing cupsPreFilter file \"%s\"\n"
-#~ msgstr "      %s  Fehlende cupsPreFilter-Datei „%s“\n"
-
-#~ msgid "      %s  Missing cupsUIResolver %s!\n"
-#~ msgstr "      %s  Fehlender cupsUIResolver „%s“!\n"
-
-#~ msgid "      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\"!\n"
-#~ msgstr "      %s  Fehlende Option „%s“ in UIConstraints „*%s %s *%s %s“!\n"
-
-#~ msgid "      %s  Missing option %s in cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr "      %s  Fehlende Option „%s“ in cupsUIConstraints „%s“: „%s“!\n"
-
-#~ msgid "      %s  No base translation \"%s\" is included in file!\n"
-#~ msgstr "      %s  Keine Basisübersetzung „%s“ in der Datei enthalten!\n"
-
-#~ msgid ""
-#~ "      %s  REQUIRED %s does not define choice None!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "      %s  BENÖTIGT: „%s“ definiert Auswahl nicht als „None“!\n"
-#~ "                REF: Seite 122, Abschnitt 5.17\n"
-
-#~ msgid "      %s  cupsICCProfile %s hash value collides with %s!\n"
-#~ msgstr "      %s  Hash-Wert von cupsICCProfile „%s“ in Konflikt mit „%s“!\n"
-
-#~ msgid "      %s  cupsUIResolver %s causes a loop!\n"
-#~ msgstr "      %s  cupsUIResolver „%s“ erzeugt eine Schleife!\n"
-
-#~ msgid "      **FAIL**  %s choice names %s and %s differ only by case!\n"
-#~ msgstr ""
-#~ "      **FEHLER**  %s-Auswahlnamen „%s“ und „%s“ unterscheiden sich nur "
-#~ "durch Groß-/Kleinschreibung!\n"
-
-#~ msgid ""
-#~ "      **FAIL**  %s must be 1284DeviceID!\n"
-#~ "                REF: Page 72, section 5.5\n"
-#~ msgstr ""
-#~ "      **FEHLER**  „%s“ muss 1284DeviceID sein!\n"
-#~ "                REF: Seite 72, Abschnitt 5.5\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Default%s %s\n"
-#~ "                REF: Page 40, section 4.5.\n"
-#~ msgstr ""
-#~ "      **FEHLER**  UNGÜLTIG: Default%s „%s“\n"
-#~ "                REF: Seite 40, Abschnitt 4.5.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD DefaultImageableArea %s!\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FEHLER**  UNGÜLTIG: DefaultImageableArea „%s“!\n"
-#~ "                REF: Seite 102, Abschnitt 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD DefaultPaperDimension %s!\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FEHLER**  UNGÜLTIG: DefaultPaperDimension „%s“!\n"
-#~ "                REF: Seite 103, Abschnitt 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD JobPatchFile attribute in file\n"
-#~ "                REF: Page 24, section 3.4.\n"
-#~ msgstr ""
-#~ "      **FEHLER**  UNGÜLTIG: JobPatchFile-Attribut in Datei\n"
-#~ "                REF: Seite 24, Abschnitt 3.4.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Manufacturer (should be \"HP\")\n"
-#~ "                REF: Page 211, table D.1.\n"
-#~ msgstr ""
-#~ "      **FEHLER**  UNGÜLTIG: Manufacturer (sollte „HP“ sein)\n"
-#~ "                REF: Seite 211, Tabelle D.1.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Manufacturer (should be \"Oki\")\n"
-#~ "                REF: Page 211, table D.1.\n"
-#~ msgstr ""
-#~ "      **FEHLER**  UNGÜLTIG: Manufacturer (sollte „Oki“ sein)\n"
-#~ "                REF: Seite 211, Tabelle D.1.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n"
-#~ "                REF: Pages 59-60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEHLER**  UNGÜLTIG: ModelName – „%c“ nicht zulässig im String.\n"
-#~ "                REF: Seite 59–60, Abschnitt 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD PSVersion - not \"(string) int\".\n"
-#~ "                REF: Pages 62-64, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEHLER**  UNGÜLTIG: PSVersion – nicht „(string) int“.\n"
-#~ "                REF: Seite 62–64, Abschnitt 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Product - not \"(string)\".\n"
-#~ "                REF: Page 62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEHLER**  UNGÜLTIG: Product – nicht „(string)“.\n"
-#~ "                REF: Seite 62, Abschnitt 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD ShortNickName - longer than 31 chars.\n"
-#~ "                REF: Pages 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEHLER**  UNGÜLTIG: ShortNickName – länger als 31 Zeichen.\n"
-#~ "                REF: Seite 64–65, Abschnitt 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad %s choice %s!\n"
-#~ "                REF: Page 84, section 5.9\n"
-#~ msgstr ""
-#~ "      **FEHLER**  Ungültig: „%s“ Auswahl „%s“!\n"
-#~ "                REF: Seite 84, Abschnitt 5.9\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad FileVersion \"%s\"\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEHLER**  Ungültige FileVersion „%s“\n"
-#~ "                REF: Seite 56, Abschnitt 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad FormatVersion \"%s\"\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEHLER**  Ungültige FormatVersion „%s“\n"
-#~ "                REF: Seite 56, Abschnitt 5.3.\n"
-
-#~ msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1!\n"
-#~ msgstr ""
-#~ "      **FEHLER**  Ungültiges LanguageEncoding „%s“ – muss „ISOLatin1“ "
-#~ "sein!\n"
-
-#~ msgid "      **FAIL**  Bad LanguageVersion %s - must be English!\n"
-#~ msgstr ""
-#~ "      **FEHLER**  Ungültige LanguageVersion „%s“ – muss „Englisch“ sein!\n"
-
-#~ msgid "      **FAIL**  Default option code cannot be interpreted: %s\n"
-#~ msgstr ""
-#~ "      **FEHLER**  Standardoptionscode kann nicht interpretiert werden: %"
-#~ "s\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Default translation string for option %s choice %s "
-#~ "contains 8-bit characters!\n"
-#~ msgstr ""
-#~ "      **FEHLER**  Standard-Übersetzungsstring für Option „%s“ Auswahl „%"
-#~ "s“ enthält 8-Bit-Zeichen!\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Default translation string for option %s contains 8-bit "
-#~ "characters!\n"
-#~ msgstr ""
-#~ "      **FEHLER**  Standard-Übersetzungsstring für Option „%s“ enthält 8-"
-#~ "Bit-Zeichen!\n"
-
-#~ msgid "      **FAIL**  Group names %s and %s differ only by case!\n"
-#~ msgstr ""
-#~ "      **FEHLER**  Gruppennamen „%s“ und „%s“ unterscheiden sich nur durch "
-#~ "Groß-/Kleinschreibung!\n"
-
-#~ msgid "      **FAIL**  Multiple occurrences of %s choice name %s!\n"
-#~ msgstr "      **FEHLER**  Mehrere Vorkommen des „%s“-Auswahlnamens „%s“!\n"
-
-#~ msgid "      **FAIL**  Option names %s and %s differ only by case!\n"
-#~ msgstr ""
-#~ "      **FEHLER**  Optionnamen „%s“ und „%s“ unterscheiden sich nur durch "
-#~ "Groß-/Kleinschreibung!\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Default%s\n"
-#~ "                REF: Page 40, section 4.5.\n"
-#~ msgstr ""
-#~ "      **FEHLER**  BENÖTIGT: Default%s\n"
-#~ "                REF: Seite 40, Abschnitt 4.5.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED DefaultImageableArea\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FEHLER**  BENÖTIGT: DefaultImageableArea\n"
-#~ "                REF: Seite 102, Abschnitt 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED DefaultPaperDimension\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FEHLER**  BENÖTIGT: DefaultPaperDimension\n"
-#~ "                REF: Seite 103, Abschnitt 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED FileVersion\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEHLER**  BENÖTIGT: FileVersion\n"
-#~ "                REF: Seite 56, Abschnitt 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED FormatVersion\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEHLER**  BENÖTIGT: FormatVersion\n"
-#~ "                REF: Seite 56, Abschnitt 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ImageableArea for PageSize %s\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FEHLER**  BENÖTIGT: ImageableArea für PageSize „%s“\n"
-#~ "                REF: Seite 41, Abschnitt 5.\n"
-#~ "                REF: Seite 102, Abschnitt 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED LanguageEncoding\n"
-#~ "                REF: Pages 56-57, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEHLER**  BENÖTIGT: LanguageEncoding\n"
-#~ "                REF: Seite 56–57, Abschnitt 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED LanguageVersion\n"
-#~ "                REF: Pages 57-58, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEHLER**  BENÖTIGT: LanguageVersion\n"
-#~ "                REF: Seite 57–58, Abschnitt 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Manufacturer\n"
-#~ "                REF: Pages 58-59, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEHLER**  BENÖTIGT: Manufacturer\n"
-#~ "                REF: Seite 58–59, Abschnitt 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ModelName\n"
-#~ "                REF: Pages 59-60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEHLER**  BENÖTIGT: ModelName\n"
-#~ "                REF: Seite 59–60, Abschnitt 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED NickName\n"
-#~ "                REF: Page 60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEHLER**  BENÖTIGT: NickName\n"
-#~ "                REF: Seite 60, Abschnitt 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PCFileName\n"
-#~ "                REF: Pages 61-62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEHLER**  BENÖTIGT: PCFileName\n"
-#~ "                REF: Seite 61–62, Abschnitt 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PSVersion\n"
-#~ "                REF: Pages 62-64, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEHLER**  BENÖTIGT: PSVersion\n"
-#~ "                REF: Seite 62–64, Abschnitt 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageRegion\n"
-#~ "                REF: Page 100, section 5.14.\n"
-#~ msgstr ""
-#~ "      **FEHLER**  BENÖTIGT: PageRegion\n"
-#~ "                REF: Seite 100, Abschnitt 5.14.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageSize\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 99, section 5.14.\n"
-#~ msgstr ""
-#~ "      **FEHLER**  BENÖTIGT: PageSize\n"
-#~ "                REF: Seite 41, Abschnitt 5.\n"
-#~ "                REF: Seite 99, Abschnitt 5.14.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageSize\n"
-#~ "                REF: Pages 99-100, section 5.14.\n"
-#~ msgstr ""
-#~ "      **FEHLER**  BENÖTIGT: PageSize\n"
-#~ "                REF: Seite 99–100, Abschnitt 5.14.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PaperDimension for PageSize %s\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FEHLER**  BENÖTIGT: PaperDimension für PageSize „%s“\n"
-#~ "                REF: Seite 41, Abschnitt 5.\n"
-#~ "                REF: Seite 103, Abschnitt 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Product\n"
-#~ "                REF: Page 62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEHLER**  BENÖTIGT: Product\n"
-#~ "                REF: Seite 62, Abschnitt 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ShortNickName\n"
-#~ "                REF: Page 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEHLER**  BENÖTIGT: ShortNickName\n"
-#~ "                REF: Seite 64–65, Abschnitt 5.3.\n"
-
-#~ msgid "    %d ERRORS FOUND\n"
-#~ msgstr "    %d FEHLER GEFUNDEN\n"
-
-#~ msgid ""
-#~ "    Bad %%%%BoundingBox: on line %d!\n"
-#~ "        REF: Page 39, %%%%BoundingBox:\n"
-#~ msgstr ""
-#~ "    Ungültige %%%%BoundingBox: in Zeile %d!\n"
-#~ "        REF: Seite 39, %%%%BoundingBox:\n"
-
-#~ msgid ""
-#~ "    Bad %%%%Page: on line %d!\n"
-#~ "        REF: Page 53, %%%%Page:\n"
-#~ msgstr ""
-#~ "    Ungültige %%%%Page: in Zeile %d!\n"
-#~ "        REF: Seite 53, %%%%Page:\n"
-
-#~ msgid ""
-#~ "    Bad %%%%Pages: on line %d!\n"
-#~ "        REF: Page 43, %%%%Pages:\n"
-#~ msgstr ""
-#~ "    Ungültige %%%%Pages: in Zeile %d!\n"
-#~ "        REF: Seite 43, %%%%Pages:\n"
-
-#~ msgid ""
-#~ "    Line %d is longer than 255 characters (%d)!\n"
-#~ "        REF: Page 25, Line Length\n"
-#~ msgstr ""
-#~ "    Zeile %d ist länger als 255 Zeichen (%d)!\n"
-#~ "        REF: Seite 25, Line Length\n"
-
-#~ msgid ""
-#~ "    Missing %!PS-Adobe-3.0 on first line!\n"
-#~ "        REF: Page 17, 3.1 Conforming Documents\n"
-#~ msgstr ""
-#~ "    %!PS-Adobe-3.0 fehlt in der ersten Zeile!\n"
-#~ "        REF: Seite 17, 3.1 Conforming Documents\n"
-
-#~ msgid ""
-#~ "    Missing %%EndComments comment!\n"
-#~ "        REF: Page 41, %%EndComments\n"
-#~ msgstr ""
-#~ "    %%EndComments-Kommentar fehlt!\n"
-#~ "        REF: Seite 41, %%EndComments\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%BoundingBox: comment!\n"
-#~ "        REF: Page 39, %%BoundingBox:\n"
-#~ msgstr ""
-#~ "    %%BoundingBox fehlt oder ist ungültig: Kommentar!\n"
-#~ "        REF: Seite 39, %%BoundingBox:\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%Page: comments!\n"
-#~ "        REF: Page 53, %%Page:\n"
-#~ msgstr ""
-#~ "    %%Page fehlt oder ist ungültig: Kommentare!\n"
-#~ "        REF: Seite 53, %%Page:\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%Pages: comment!\n"
-#~ "        REF: Page 43, %%Pages:\n"
-#~ msgstr ""
-#~ "    %%Pages fehlt oder ist ungültig: Kommentar!\n"
-#~ "        REF: Seite 43, %%Pages:\n"
-
-#~ msgid "    NO ERRORS FOUND\n"
-#~ msgstr "    KEINE FEHLER GEFUNDEN\n"
-
-#~ msgid "    Saw %d lines that exceeded 255 characters!\n"
-#~ msgstr "    %d Zeilen mit über 255 Zeichen gefunden!\n"
-
-#~ msgid "    Too many %%BeginDocument comments!\n"
-#~ msgstr "    Zu viele %%BeginDocument-Kommentare!\n"
-
-#~ msgid "    Too many %%EndDocument comments!\n"
-#~ msgstr "    Zu viele %%EndDocument-Kommentare!\n"
-
-#~ msgid "    Warning: file contains binary data!\n"
-#~ msgstr "    Achtung: Datei enthält Binärdaten!\n"
-
-#~ msgid "    Warning: no %%EndComments comment in file!\n"
-#~ msgstr "    Achtung: kein %%EndComments-Kommentar in der Datei!\n"
-
-#~ msgid "    Warning: obsolete DSC version %.1f in file!\n"
-#~ msgstr "    Achtung: veraltete DSC-Version %.1f in der Datei!\n"
-
-#~ msgid " FAIL\n"
-#~ msgstr " FEHLER\n"
-
-#~ msgid ""
-#~ " FAIL\n"
-#~ "      **FAIL**  Unable to open PPD file - %s\n"
-#~ msgstr ""
-#~ " FEHLER\n"
-#~ "      **FEHLER**  PPD-Datei konnte nicht geöffnet werden – %s.\n"
-
-#~ msgid ""
-#~ " FAIL\n"
-#~ "      **FAIL**  Unable to open PPD file - %s on line %d.\n"
-#~ msgstr ""
-#~ " FEHLER\n"
-#~ "      **FEHLER**  PPD-Datei konnte nicht geöffnet werden – %s in Zeile %"
-#~ "d.\n"
-
-#~ msgid " PASS\n"
-#~ msgstr " PASS\n"
-
-#~ msgid "#10 Envelope"
-#~ msgstr "US #10 Umschlag"
-
-#~ msgid "#11 Envelope"
-#~ msgstr "US #11 Umschlag"
-
-#~ msgid "#12 Envelope"
-#~ msgstr "US #12 Umschlag"
-
-#~ msgid "#14 Envelope"
-#~ msgstr "US #14 Umschlag"
-
-#~ msgid "#9 Envelope"
-#~ msgstr "US #9 Umschlag"
-
-#~ msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes\n"
-#~ msgstr "%-6s %-10.10s %-4d %-10d %-27.27s %.0f Byte\n"
-
-#~ msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes\n"
-#~ msgstr "%-7s %-7.7s %-7d %-31.31s %.0f Byte\n"
-
-#~ msgid "%s accepting requests since %s\n"
-#~ msgstr "%s akzeptiert Anfragen seit %s\n"
-
-#~ msgid "%s is not implemented by the CUPS version of lpc.\n"
-#~ msgstr "%s ist nicht implementiert in der CUPS-Version von lpc.\n"
-
-#~ msgid "%s is not ready\n"
-#~ msgstr "%s ist nicht bereit\n"
-
-#~ msgid "%s is ready\n"
-#~ msgstr "%s ist bereit\n"
-
-#~ msgid "%s is ready and printing\n"
-#~ msgstr "%s ist bereit und druckt\n"
-
-#~ msgid ""
-#~ "%s not accepting requests since %s -\n"
-#~ "\t%s\n"
-#~ msgstr ""
-#~ "%s akzeptiert keine Anfragen seit %s -\n"
-#~ "\t%s\n"
-
-#~ msgid "%s not supported!"
-#~ msgstr "%s nicht unterstützt!"
-
-#~ msgid "%s/%s accepting requests since %s\n"
-#~ msgstr "%s/%s akzeptiert Anfragen seit %s\n"
-
-#~ msgid ""
-#~ "%s/%s not accepting requests since %s -\n"
-#~ "\t%s\n"
-#~ msgstr ""
-#~ "%s/%s akzeptiert keine Anfragen seit %s -\n"
-#~ "\t%s\n"
-
-#~ msgid "%s: %-33.33s [job %d localhost]\n"
-#~ msgstr "%s: %-33.33s [Druckauftrag %d localhost]\n"
-
-#~ msgid "%s: %s failed: %s\n"
-#~ msgstr "%s: %s fehlgeschlagen: %s\n"
-
-#~ msgid "%s: Don't know what to do!\n"
-#~ msgstr "%s: Weiß nicht, was ich tun soll!\n"
-
-#~ msgid ""
-#~ "%s: Error - %s environment variable names non-existent destination \"%s"
-#~ "\"!\n"
-#~ msgstr ""
-#~ "%s: Fehler – %s Umgebungsvariablennamen nicht vorhanden für Ziel „%s“!\n"
-
-#~ msgid "%s: Error - bad job ID!\n"
-#~ msgstr "%s: Fehler – ungültige Druckauftrags-ID!\n"
-
-#~ msgid "%s: Error - cannot print files and alter jobs simultaneously!\n"
-#~ msgstr ""
-#~ "%s: Fehler – kann nicht gleichzeitig Dateien drucken und Druckaufträge "
-#~ "ändern!\n"
-
-#~ msgid ""
-#~ "%s: Error - cannot print from stdin if files or a job ID are provided!\n"
-#~ msgstr ""
-#~ "%s: Fehler – kann nicht von „stdin“, wenn Dateien oder eine Druckauftrags-"
-#~ "ID übergeben werden!\n"
-
-#~ msgid "%s: Error - expected character set after '-S' option!\n"
-#~ msgstr "%s: Fehler – Zeichensatz erwartet nach '-S'-Option!\n"
-
-#~ msgid "%s: Error - expected content type after '-T' option!\n"
-#~ msgstr "%s: Fehler – Inhaltstyp erwartet nach '-T'-Option!\n"
-
-#~ msgid "%s: Error - expected copies after '-n' option!\n"
-#~ msgstr "%s: Fehler – Kopien erwartet nach '-n'-Option!\n"
-
-#~ msgid "%s: Error - expected copy count after '-#' option!\n"
-#~ msgstr "%s: Fehler – Kopienanzahl erwartet nach '-#'-Option!\n"
-
-#~ msgid "%s: Error - expected destination after '-P' option!\n"
-#~ msgstr "%s: Fehler – Ziel erwartet nach '-P'-Option!\n"
-
-#~ msgid "%s: Error - expected destination after '-b' option!\n"
-#~ msgstr "%s: Fehler – Ziel erwartet nach '-b'-Option!\n"
-
-#~ msgid "%s: Error - expected destination after '-d' option!\n"
-#~ msgstr "%s: Fehler – Ziel erwartet nach '-d'-Option!\n"
-
-#~ msgid "%s: Error - expected form after '-f' option!\n"
-#~ msgstr "%s: Fehler – Form erwartet nach '-f'-Option!\n"
-
-#~ msgid "%s: Error - expected hold name after '-H' option!\n"
-#~ msgstr "%s: Fehler – Name halten erwartet nach '-H'-Option!\n"
-
-#~ msgid "%s: Error - expected hostname after '-H' option!\n"
-#~ msgstr "%s: Fehler – Hostname erwartet nach '-H'-Option!\n"
-
-#~ msgid "%s: Error - expected hostname after '-h' option!\n"
-#~ msgstr "%s: Fehler – Hostname erwartet nach '-h'-Option!\n"
-
-#~ msgid "%s: Error - expected mode list after '-y' option!\n"
-#~ msgstr "%s: Fehler – Modusliste erwartet nach '-y'-Option!\n"
-
-#~ msgid "%s: Error - expected name after '-%c' option!\n"
-#~ msgstr "%s: Fehler – Name erwartet nach '-%c'-Option!\n"
-
-#~ msgid "%s: Error - expected option string after '-o' option!\n"
-#~ msgstr "%s: Fehler – Optionsstring erwartet nach '-o'-Option!\n"
-
-#~ msgid "%s: Error - expected page list after '-P' option!\n"
-#~ msgstr "%s: Fehler – Seitenliste erwartet nach '-P'-Option!\n"
-
-#~ msgid "%s: Error - expected priority after '-%c' option!\n"
-#~ msgstr "%s: Fehler – Priorität erwartet nach '-%c'-Option!\n"
-
-#~ msgid "%s: Error - expected reason text after '-r' option!\n"
-#~ msgstr "%s: Fehler – Text mit Grund erwartet nach '-r'-Option!\n"
-
-#~ msgid "%s: Error - expected title after '-t' option!\n"
-#~ msgstr "%s: Fehler – Titel erwartet nach '-t'-Option!\n"
-
-#~ msgid "%s: Error - expected username after '-U' option!\n"
-#~ msgstr "%s: Fehler – Benutzername erwartet nach '-U'-Option!\n"
-
-#~ msgid "%s: Error - expected username after '-u' option!\n"
-#~ msgstr "%s: Fehler – Benutzername erwartet nach '-u'-Option!\n"
-
-#~ msgid "%s: Error - expected value after '-%c' option!\n"
-#~ msgstr "%s: Fehler – Wert erwartet nach '-%c'-Option!\n"
-
-#~ msgid ""
-#~ "%s: Error - need \"completed\", \"not-completed\", or \"all\" after '-W' "
-#~ "option!\n"
-#~ msgstr ""
-#~ "%s: Fehler – benötigt „completed“, „not-completed“ oder „all“ nach '-W'-"
-#~ "Option!\n"
-
-#~ msgid "%s: Error - no default destination available.\n"
-#~ msgstr "%s: Fehler – kein Standardziel verfügbar.\n"
-
-#~ msgid "%s: Error - priority must be between 1 and 100.\n"
-#~ msgstr "%s: Fehler – Priorität muss zwischen 1 und 100 sein.\n"
-
-#~ msgid "%s: Error - scheduler not responding!\n"
-#~ msgstr "%s: Fehler – Scheduler reagiert nicht!\n"
-
-#~ msgid "%s: Error - too many files - \"%s\"\n"
-#~ msgstr "%s: Fehler – zu viele Dateien – „%s“\n"
-
-#~ msgid "%s: Error - unable to access \"%s\" - %s\n"
-#~ msgstr "%s: Fehler – kein Zugriff auf „%s“ – %s\n"
-
-#~ msgid "%s: Error - unable to queue from stdin - %s\n"
-#~ msgstr "%s: Fehler – keine Warteliste für „stdin“ – %s\n"
-
-#~ msgid "%s: Error - unknown destination \"%s\"!\n"
-#~ msgstr "%s: Fehler – unbekanntes Ziel „%s“!\n"
-
-#~ msgid "%s: Error - unknown destination \"%s/%s\"!\n"
-#~ msgstr "%s: Fehler – unbekanntes Ziel „%s/%s“!\n"
-
-#~ msgid "%s: Error - unknown option '%c'!\n"
-#~ msgstr "%s: Fehler – unbekannte Option '%c'!\n"
-
-#~ msgid "%s: Error - unknown option '%s'!\n"
-#~ msgstr "%s: Fehler – unbekannte Option '%s'!\n"
-
-#~ msgid "%s: Expected job ID after '-i' option!\n"
-#~ msgstr "%s: Druckauftrags-ID erwartet nach '-i'-Option!\n"
-
-#~ msgid "%s: Filter \"%s\" not available: %s\n"
-#~ msgstr "%s: Filter „%s“ nicht verfügbar: %s\n"
-
-#~ msgid "%s: Invalid destination name in list \"%s\"!\n"
-#~ msgstr "%s: Ungültiger Zielname in Liste „%s“!\n"
-
-#~ msgid "%s: Invalid filter string \"%s\"\n"
-#~ msgstr "%s: Ungültiger Filterstring „%s“\n"
-
-#~ msgid "%s: Need job ID ('-i jobid') before '-H restart'!\n"
-#~ msgstr "%s: Druckauftrags-ID ('-i jobid') benötigt vor '-H restart'!\n"
-
-#~ msgid "%s: No filter to convert from %s/%s to %s/%s!\n"
-#~ msgstr "%s: Kein Filter für Konvertierung von %s/%s zu %s/%s!\n"
-
-#~ msgid "%s: Operation failed: %s\n"
-#~ msgstr "%s: Aktion fehlgeschlagen: %s\n"
-
-#~ msgid "%s: Sorry, no encryption support compiled in!\n"
-#~ msgstr "%s: Verschlüsselungsunterstützung nicht verfügbar!\n"
-
-#~ msgid "%s: Unable to connect to server\n"
-#~ msgstr "%s: Verbindung mit Server fehlgeschlagen\n"
-
-#~ msgid "%s: Unable to contact server!\n"
-#~ msgstr "%s: Verbindungsaufbau zum Server fehlgeschlagen!\n"
-
-#~ msgid "%s: Unable to determine MIME type of \"%s\"!\n"
-#~ msgstr "%s: MIME-Typ von „%s“ konnte nicht bestimmt werden!\n"
-
-#~ msgid "%s: Unable to open %s - %s\n"
-#~ msgstr "%s: „%s“ konnte nicht geöffnet werden – %s\n"
-
-#~ msgid "%s: Unable to open %s - %s on line %d.\n"
-#~ msgstr "%s: „%s“ konnte nicht geöffnet werden – %s in Zeile %d.\n"
-
-#~ msgid "%s: Unable to open %s: %s\n"
-#~ msgstr "%s: „%s“ konnte nicht geöffnet werden: %s\n"
-
-#~ msgid "%s: Unable to open PPD file: %s on line %d\n"
-#~ msgstr "%s: PPD-Datei konnte nicht geöffnet werden – %s in Zeile %d\n"
-
-#~ msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"!\n"
-#~ msgstr ""
-#~ "%s: MIME-Datenbank von „%s“ oder „%s“ konnte nicht gelesen werden!\n"
-
-#~ msgid "%s: Unknown destination \"%s\"!\n"
-#~ msgstr "%s: Unbekanntes Ziel „%s“!\n"
-
-#~ msgid "%s: Unknown destination MIME type %s/%s!\n"
-#~ msgstr "%s: Unbekannter Ziel-MIME-Typ „%s/%s“!\n"
-
-#~ msgid "%s: Unknown option '%c'!\n"
-#~ msgstr "%s: Unbekannte Option '%c'!\n"
-
-#~ msgid "%s: Unknown source MIME type %s/%s!\n"
-#~ msgstr "%s: Unbekannter Quell-MIME-Typ „%s/%s“!\n"
-
-#~ msgid ""
-#~ "%s: Warning - '%c' format modifier not supported - output may not be "
-#~ "correct!\n"
-#~ msgstr ""
-#~ "%s: Achtung – '%c'-Format-Modifier nicht unterstützt – Ausgabe ist u. U. "
-#~ "nicht korrekt!\n"
-
-#~ msgid "%s: Warning - character set option ignored!\n"
-#~ msgstr "%s: Achtung – Zeichensatzoption ignoriert!\n"
-
-#~ msgid "%s: Warning - content type option ignored!\n"
-#~ msgstr "%s: Achtung – Inhaltstypoption ignoriert!\n"
-
-#~ msgid "%s: Warning - form option ignored!\n"
-#~ msgstr "%s: Achtung – Formoption ignoriert!\n"
-
-#~ msgid "%s: Warning - mode option ignored!\n"
-#~ msgstr "%s: Achtung – Modusoption ignoriert!\n"
-
-#~ msgid ""
-#~ "%s: error - %s environment variable names non-existent destination \"%s"
-#~ "\"!\n"
-#~ msgstr ""
-#~ "%s: Fehler – %s Umgebungsvariablennamen nicht vorhanden für Ziel „%s“!\n"
-
-#~ msgid "%s: error - expected option=value after '-o' option!\n"
-#~ msgstr "%s: Fehler – „option=value“ erwartet nach '-o'-Option!\n"
-
-#~ msgid "%s: error - no default destination available.\n"
-#~ msgstr "%s: Fehler – kein Standardziel verfügbar.\n"
-
-#~ msgid "10 x 11\""
-#~ msgstr "10 x 11 Zoll"
-
-#~ msgid "10 x 13\""
-#~ msgstr "10 x 13 Zoll"
-
-#~ msgid "10 x 14\""
-#~ msgstr "10 x 14 Zoll"
-
-#~ msgid "12 x 11\""
-#~ msgstr "12 x 11 Zoll"
-
-#~ msgid "15 x 11\""
-#~ msgstr "15 x 11 Zoll"
-
-#~ msgid "600 DPI Grayscale"
-#~ msgstr "600 DPI Graustufen"
-
-#~ msgid "60x720dpi"
-#~ msgstr "60x720 dpi"
-
-#~ msgid "7 x 9\""
-#~ msgstr "7 x 9 Zoll"
-
-#~ msgid "8 x 10\""
-#~ msgstr "8 x 10 Zoll"
-
-#~ msgid "9 x 11\""
-#~ msgstr "9 x 11 Zoll"
-
-#~ msgid "9 x 12\""
-#~ msgstr "9 x 12 Zoll"
-
-#~ msgid "?Invalid help command unknown\n"
-#~ msgstr "?Ungültiger Hilfebefehl ist unbekannt\n"
-
-#~ msgid "A Samba password is required to export printer drivers!"
-#~ msgstr ""
-#~ "Es wird ein Samba-Kennwort benötigt, um Druckertreiber exportieren zu "
-#~ "können!"
-
-#~ msgid "A Samba username is required to export printer drivers!"
-#~ msgstr ""
-#~ "Es wird ein Samba-Benutzername benötigt, um Druckertreiber exportieren zu "
-#~ "können!"
-
-#~ msgid "A class named \"%s\" already exists!"
-#~ msgstr "Es gibt bereits eine Klasse mit dem Namen „%s“!"
-
-#~ msgid "A printer named \"%s\" already exists!"
-#~ msgstr "Es gibt bereits einen Drucker mit dem Namen „%s“!"
-
-#~ msgid "A3 (Oversize)"
-#~ msgstr "A3 (Übergröße)"
-
-#~ msgid "A4 (Oversize)"
-#~ msgstr "A4 (Übergröße)"
-
-#~ msgid "A4 (Small)"
-#~ msgstr "A4 (klein)"
-
-#~ msgid "A5 (Oversize)"
-#~ msgstr "A5 (Übergröße)"
-
-#~ msgid "ARCH A"
-#~ msgstr "ARCH A"
-
-#~ msgid "ARCH B"
-#~ msgstr "ARCH B"
-
-#~ msgid "Attempt to set %s printer-state to bad value %d!"
-#~ msgstr ""
-#~ "Versuch, den Druckerstatus für „%s“ auf den ungültigen Wert „%d“ zu "
-#~ "setzen!"
-
-#~ msgid "Attribute groups are out of order (%x < %x)!"
-#~ msgstr "Attributgruppen sind durcheinander (%x < %x)!"
-
-#~ msgid "Bad device URI \"%s\"!\n"
-#~ msgstr "Ungültige Geräte-URI „%s“!\n"
-
-#~ msgid "Bad device-uri \"%s\"!"
-#~ msgstr "Ungültige Geräte-URI „%s“!"
-
-#~ msgid "Bad device-uri scheme \"%s\"!"
-#~ msgstr "Ungültiges Geräte-URI-Schema „%s“!"
-
-#~ msgid "Bad document-format \"%s\"!"
-#~ msgstr "Ungültiges Dokumentformat „%s“!"
-
-#~ msgid "Bad filename buffer!"
-#~ msgstr "Ungültiger Dateinamen-Puffer!"
-
-#~ msgid "Bad font attribute: %s\n"
-#~ msgstr "Ungültiges Schriftattribut: %s\n"
-
-#~ msgid "Bad job-priority value!"
-#~ msgstr "Ungültiger Wert für Druckauftragspriorität!"
-
-#~ msgid "Bad job-sheets value \"%s\"!"
-#~ msgstr "Ungültiger Wert „%s“ für Druckauftragslisten!"
-
-#~ msgid "Bad job-sheets value type!"
-#~ msgstr "Ungültiger Wertetyp für Druckauftragslisten!"
-
-#~ msgid "Bad job-state value!"
-#~ msgstr "Ungültiger Wert für Druckauftragsstatus!"
-
-#~ msgid "Bad job-uri attribute \"%s\"!"
-#~ msgstr "Ungültiges Druckauftrags-URI-Attribut „%s“!"
-
-#~ msgid "Bad notify-pull-method \"%s\"!"
-#~ msgstr "Ungültige Notify-Pull-Methode „%s“!"
-
-#~ msgid "Bad notify-recipient-uri URI \"%s\"!"
-#~ msgstr "Ungültige Notify-Recipient-URI: URI „%s“!"
-
-#~ msgid "Bad option + choice on line %d!"
-#~ msgstr "Ungültige Option + Auswahl in Zeile %d!"
-
-#~ msgid "Bad port-monitor \"%s\"!"
-#~ msgstr "Ungültiger Port-Monitor „%s“!"
-
-#~ msgid "Bad printer-state value %d!"
-#~ msgstr "Ungültiger Wert „%d“ für Druckerstatus!"
-
-#~ msgid "Bad request version number %d.%d!"
-#~ msgstr "Ungültige Anfrage-Versionsnummer %d.%d!"
-
-#~ msgid "Bad subscription ID!"
-#~ msgstr "Ungültige Subskriptions-ID!"
-
-#~ msgid "C0 Envelope"
-#~ msgstr "DIN C0 Umschlag"
-
-#~ msgid "C1 Envelope"
-#~ msgstr "DIN C1 Umschlag"
-
-#~ msgid "C2 Envelope"
-#~ msgstr "DIN C2 Umschlag"
-
-#~ msgid "C3 Envelope"
-#~ msgstr "DIN C3 Umschlag"
-
-#~ msgid "C4"
-#~ msgstr "DIN C4"
-
-#~ msgid "C4 Envelope"
-#~ msgstr "DIN C4 Umschlag"
-
-#~ msgid "C5"
-#~ msgstr "DIN C5"
-
-#~ msgid "C5 Envelope"
-#~ msgstr "DIN C5 Umschlag"
-
-#~ msgid "C6"
-#~ msgstr "DIN C6"
-
-#~ msgid "C6 Envelope"
-#~ msgstr "DIN C6 Umschlag"
-
-#~ msgid "C65 Envelope"
-#~ msgstr "DIN C65 Umschlag"
-
-#~ msgid "C7 Envelope"
-#~ msgstr "DIN C7 Umschlag"
-
-#~ msgid "Character set \"%s\" not supported!"
-#~ msgstr "Zeichensatz „%s“ nicht unterstützt!"
-
-#~ msgid "Chou3 Envelope"
-#~ msgstr "Chou3 Umschlag"
-
-#~ msgid "Chou4 Envelope"
-#~ msgstr "Chou4 Umschlag"
-
-#~ msgid ""
-#~ "Commands may be abbreviated.  Commands are:\n"
-#~ "\n"
-#~ "exit    help    quit    status  ?\n"
-#~ msgstr ""
-#~ "Befehle können abgekürzt werden. Befehle sind:\n"
-#~ "\n"
-#~ "exit    help    quit    status  ?\n"
-
-#~ msgid "Could not scan type \"%s\"!"
-#~ msgstr "Typ „%s“ konnte nicht durchsucht werden!"
-
-#~ msgid "Cover open."
-#~ msgstr "Die Abdeckung ist offen."
-
-#~ msgid "DL"
-#~ msgstr "DL"
-
-#~ msgid "DL Envelope"
-#~ msgstr "DL Umschlag"
-
-#~ msgid "Developer almost empty."
-#~ msgstr "Der Entwickler ist fast leer."
-
-#~ msgid "Developer empty!"
-#~ msgstr "Der Entwickler ist leer!"
-
-#~ msgid ""
-#~ "Device: uri = %s\n"
-#~ "        class = %s\n"
-#~ "        info = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ "        location = %s\n"
-#~ msgstr ""
-#~ "Gerät: URI = %s\n"
-#~ "        Klasse = %s\n"
-#~ "        Info = %s\n"
-#~ "        Hersteller und Modell = %s\n"
-#~ "        Geräte-ID = %s\n"
-#~ "        Standort = %s\n"
-
-#~ msgid "Document %d not found in job %d."
-#~ msgstr "Dokument „%d“ nicht gefunden in Druckauftrag „%d“."
-
-#~ msgid "Door open."
-#~ msgstr "Die Tür ist offen."
-
-#~ msgid "Double Postcard"
-#~ msgstr "Doppelpostkarte"
-
-#~ msgid "EMERG: Unable to allocate memory for page info: %s\n"
-#~ msgstr "EMERG: Speicher für Seiteninfo konnte nicht zugewiesen werden: %s\n"
-
-#~ msgid "EMERG: Unable to allocate memory for pages array: %s\n"
-#~ msgstr ""
-#~ "EMERG: Speicher für Seiten-Array konnte nicht zugewiesen werden: %s\n"
-
-#~ msgid "ERROR: Bad %%BoundingBox: comment seen!\n"
-#~ msgstr "ERROR: Ungültige %%BoundingBox: Kommentar gesehen!\n"
-
-#~ msgid "ERROR: Bad %%IncludeFeature: comment!\n"
-#~ msgstr "ERROR: Ungültiges %%IncludeFeature: Kommentar!\n"
-
-#~ msgid "ERROR: Bad %%Page: comment in file!\n"
-#~ msgstr "ERROR: Ungültige %%Page: Kommentar in Datei!\n"
-
-#~ msgid "ERROR: Bad %%PageBoundingBox: comment in file!\n"
-#~ msgstr "ERROR: Ungültige %%PageBoundingBox: Kommentar in Datei!\n"
-
-#~ msgid "ERROR: Bad SCSI device file \"%s\"!\n"
-#~ msgstr "ERROR: Ungültige SCSI-Gerätedatei „%s“!\n"
-
-#~ msgid "ERROR: Bad charset file %s\n"
-#~ msgstr "ERROR: Ungültige Zeichensatzdatei „%s“\n"
-
-#~ msgid "ERROR: Bad charset type %s\n"
-#~ msgstr "ERROR: Ungültiger Zeichensatztyp „%s“\n"
-
-#~ msgid "ERROR: Bad columns value %d!\n"
-#~ msgstr "ERROR: Ungültiger Spaltenwert „%d“!\n"
-
-#~ msgid "ERROR: Bad cpi value %f!\n"
-#~ msgstr "ERROR: Ungültiger cpi-Wert „%f“!\n"
-
-#~ msgid "ERROR: Bad font description line: %s\n"
-#~ msgstr "ERROR: Ungültige Schriftbeschreibungszeile: „%s“\n"
-
-#~ msgid "ERROR: Bad lpi value %f!\n"
-#~ msgstr "ERROR: Ungültiger lpi-Wert „%f“!\n"
-
-#~ msgid "ERROR: Bad page setup!\n"
-#~ msgstr "ERROR: Ungültiges Seitenformat!\n"
-
-#~ msgid "ERROR: Bad text direction %s\n"
-#~ msgstr "ERROR: Ungültige Textrichtung „%s“\n"
-
-#~ msgid "ERROR: Bad text width %s\n"
-#~ msgstr "ERROR: Ungültige Textweite „%s“\n"
-
-#~ msgid "ERROR: Destination printer does not exist!\n"
-#~ msgstr "ERROR: Zieldrucker existiert nicht!\n"
-
-#~ msgid "ERROR: Duplicate %%BoundingBox: comment seen!\n"
-#~ msgstr "ERROR: Doppelte %%BoundingBox: Kommentar gesehen!\n"
-
-#~ msgid "ERROR: Duplicate %%Pages: comment seen!\n"
-#~ msgstr "ERROR: Doppelte %%Pages: Kommentar gesehen!\n"
-
-#~ msgid "ERROR: Empty print file!\n"
-#~ msgstr "ERROR: Leere Druckdatei!\n"
-
-#~ msgid "ERROR: Error %d sending PAPSendData request: %s\n"
-#~ msgstr "ERROR: Fehler „%d“ beim Senden der PAPSendData-Anfrage: %s\n"
-
-#~ msgid "ERROR: Expected quoted string on line %d of %s!\n"
-#~ msgstr "ERROR: String mit Anführungszeichen erwartet in Zeile %d von %s!\n"
-
-#~ msgid "ERROR: Fatal USB error!\n"
-#~ msgstr "ERROR: Schwerwiegender USB-Fehler!\n"
-
-#~ msgid "ERROR: Invalid HP-GL/2 command seen, unable to print file!\n"
-#~ msgstr ""
-#~ "ERROR: Ungültiger HP-GL/2-Befehl aufgetreten; Datei konnte nicht gedruckt "
-#~ "werden!\n"
-
-#~ msgid "ERROR: Missing %%EndProlog!\n"
-#~ msgstr "ERROR: Fehlender %%EndProlog!\n"
-
-#~ msgid "ERROR: Missing %%EndSetup!\n"
-#~ msgstr "ERROR: Fehlendes %%EndSetup!\n"
-
-#~ msgid ""
-#~ "ERROR: Missing device URI on command-line and no DEVICE_URI environment "
-#~ "variable!\n"
-#~ msgstr ""
-#~ "ERROR: Geräte-URI fehlt in der Befehlszeile und keine DEVICE_URI "
-#~ "Umgebungsvariable vorhanden!\n"
-
-#~ msgid "ERROR: Missing value on line %d of banner file!\n"
-#~ msgstr "ERROR: Wert fehlt in Zeile %d der Bannerdatei!\n"
-
-#~ msgid ""
-#~ "ERROR: Need a msgid line before any translation strings on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ERROR: msgid-Zeile benötigt vor allen Übersetzungsstrings in Zeile %d von "
-#~ "%s!\n"
-
-#~ msgid "ERROR: No %%BoundingBox: comment in header!\n"
-#~ msgstr "ERROR: Keine %%BoundingBox: Kommentar im Header!\n"
-
-#~ msgid "ERROR: No %%Pages: comment in header!\n"
-#~ msgstr "ERROR: Keine %%Pages: Kommentar im Header!\n"
-
-#~ msgid ""
-#~ "ERROR: No device URI found in argv[0] or in DEVICE_URI environment "
-#~ "variable!\n"
-#~ msgstr ""
-#~ "ERROR: Keine Geräte-URI gefunden in „argv[0]“ oder in DEVICE_URI "
-#~ "Umgebungsvariable!\n"
-
-#~ msgid "ERROR: No fonts in charset file %s\n"
-#~ msgstr "ERROR: Keine Schriften in Zeichensatzdatei „%s“\n"
-
-#~ msgid "ERROR: No pages found!\n"
-#~ msgstr "ERROR: Keine Seiten gefunden!\n"
-
-#~ msgid "ERROR: Out of paper!\n"
-#~ msgstr "ERROR: Kein Papier mehr!\n"
-
-#~ msgid "ERROR: PRINTER environment variable not defined!\n"
-#~ msgstr "ERROR: DRUCKER: Umgebungsvariable nicht definiert!\n"
-
-#~ msgid "ERROR: Print file was not accepted (%s)!\n"
-#~ msgstr "ERROR: Druckdatei wurde nicht akzeptiert (%s)!\n"
-
-#~ msgid "ERROR: Printer not responding\n"
-#~ msgstr "ERROR: Drucker reagiert nicht\n"
-
-#~ msgid "ERROR: Printer not responding!\n"
-#~ msgstr "ERROR: Drucker reagiert nicht!\n"
-
-#~ msgid "ERROR: Printer sent unexpected EOF\n"
-#~ msgstr "ERROR: Drucker sendete unerwartet EOF\n"
-
-#~ msgid "ERROR: Remote host did not accept control file (%d)\n"
-#~ msgstr ""
-#~ "ERROR: Entfernter Host hat die Steuerungsdatei nicht akzeptiert (%d)\n"
-
-#~ msgid "ERROR: Remote host did not accept data file (%d)\n"
-#~ msgstr "ERROR: Entfernter Host hat Datendatei nicht akzeptiert (%d)\n"
-
-#~ msgid "ERROR: There was a timeout error while sending data to the printer\n"
-#~ msgstr ""
-#~ "ERROR: Beim Senden der Daten an den Drucker ist ein Fehler wegen "
-#~ "Zeitüberschreitung aufgetreten.\n"
-
-#~ msgid "ERROR: Unable to add file %d to job: %s\n"
-#~ msgstr ""
-#~ "ERROR: Datei „%d“ konnte nicht zu Druckauftrag hinzugefügt werden: %s\n"
-
-#~ msgid "ERROR: Unable to cancel job %d: %s\n"
-#~ msgstr "ERROR: Druckauftrag „%d“ konnte nicht abgebrochen werden: %s\n"
-
-#~ msgid "ERROR: Unable to copy PDF file"
-#~ msgstr "ERROR: PDF-Datei konnte nicht kopiert werden"
-
-#~ msgid "ERROR: Unable to create socket"
-#~ msgstr "ERROR: Socket konnte nicht erstellt werden"
-
-#~ msgid "ERROR: Unable to create temporary compressed print file: %s\n"
-#~ msgstr ""
-#~ "ERROR: Temporäre komprimierte Druckdatei konnte nicht erstellt werden: %"
-#~ "s\n"
-
-#~ msgid "ERROR: Unable to create temporary file"
-#~ msgstr "ERROR: Temporäre Datei konnte nicht erstellt werden"
-
-#~ msgid "ERROR: Unable to create temporary file - %s.\n"
-#~ msgstr "ERROR: Temporäre Datei konnte nicht erstellt werden – %s.\n"
-
-#~ msgid "ERROR: Unable to create temporary file: %s\n"
-#~ msgstr "ERROR: Temporäre Datei konnte nicht erstellt werden: %s.\n"
-
-#~ msgid "ERROR: Unable to exec pictwpstops: %s\n"
-#~ msgstr "ERROR: pictwpstops konnte nicht ausgeführt werden: %s\n"
-
-#~ msgid "ERROR: Unable to execute gs program"
-#~ msgstr "ERROR: gs-Programm konnte nicht ausgeführt werden"
-
-#~ msgid "ERROR: Unable to execute pdftops program"
-#~ msgstr "ERROR: pdftops-Programm konnte nicht ausgeführt werden"
-
-#~ msgid "ERROR: Unable to fork pictwpstops: %s\n"
-#~ msgstr "ERROR: Fork für pictwpstops konnte nicht ausgeführt werden: %s\n"
-
-#~ msgid "ERROR: Unable to get PAP request"
-#~ msgstr "ERROR: PAP-Anfrage konnte nicht empfangen werden"
-
-#~ msgid "ERROR: Unable to get PAP response"
-#~ msgstr "ERROR: PAP-Antwort konnte nicht empfangen werden"
-
-#~ msgid "ERROR: Unable to get PPD file for printer \"%s\" - %s.\n"
-#~ msgstr ""
-#~ "ERROR: PPD-Datei für Drucker „%s“ konnte nicht abgefragt werden – %s.\n"
-
-#~ msgid "ERROR: Unable to get default AppleTalk zone"
-#~ msgstr "ERROR: AppleTalk-Standardzone konnte nicht abgefragt werden"
-
-#~ msgid "ERROR: Unable to get job %d attributes (%s)!\n"
-#~ msgstr ""
-#~ "ERROR: Attribute für Druckauftrag „%d“ konnten nicht abgefragt werden (%"
-#~ "s)!\n"
-
-#~ msgid "ERROR: Unable to get printer status (%s)!\n"
-#~ msgstr "ERROR: Druckerstatus konnte nicht abgefragt werden (%s)!\n"
-
-#~ msgid "ERROR: Unable to locate printer '%s'!\n"
-#~ msgstr "ERROR: Drucker „%s“ konnte nicht gefunden werden!\n"
-
-#~ msgid "ERROR: Unable to look for PAP response"
-#~ msgstr "ERROR: Abfrage der PAP-Antwort nicht möglich"
-
-#~ msgid "ERROR: Unable to lookup AppleTalk printers"
-#~ msgstr "ERROR: Suche nach AppleTalk-Druckern nicht möglich"
-
-#~ msgid "ERROR: Unable to make AppleTalk address"
-#~ msgstr "ERROR: Erstellen der AppleTalk-Adresse nicht möglich"
-
-#~ msgid "ERROR: Unable to open \"%s\" - %s\n"
-#~ msgstr "ERROR: „%s“ konnte nicht geöffnet werden – %s\n"
-
-#~ msgid "ERROR: Unable to open %s: %s\n"
-#~ msgstr "ERROR: „%s“ konnte nicht geöffnet werden: %s\n"
-
-#~ msgid "ERROR: Unable to open banner file \"%s\" - %s\n"
-#~ msgstr "ERROR: Bannerdatei „%s“ konnte nicht geöffnet werden – %s\n"
-
-#~ msgid "ERROR: Unable to open device file \"%s\": %s\n"
-#~ msgstr "ERROR: Gerätedatei „%s“ konnte nicht geöffnet werden – %s\n"
-
-#~ msgid "ERROR: Unable to open file \"%s\" - %s\n"
-#~ msgstr "ERROR: Datei „%s“ konnte nicht geöffnet werden – %s\n"
-
-#~ msgid "ERROR: Unable to open file \"%s\": %s\n"
-#~ msgstr "ERROR: Datei „%s“ konnte nicht geöffnet werden: %s\n"
-
-#~ msgid "ERROR: Unable to open image file for printing!\n"
-#~ msgstr "ERROR: Bilddatei konnte nicht zum Drucken geöffnet werden!\n"
-
-#~ msgid "ERROR: Unable to open print file \"%s\": %s\n"
-#~ msgstr "ERROR: Druckdatei „%s“ konnte nicht geöffnet werden: %s\n"
-
-#~ msgid "ERROR: Unable to open print file %s - %s\n"
-#~ msgstr "ERROR: Druckdatei „%s“ konnte nicht geöffnet werden – %s\n"
-
-#~ msgid "ERROR: Unable to open print file %s: %s\n"
-#~ msgstr "ERROR: Druckdatei „%s“ konnte nicht geöffnet werden: %s\n"
-
-#~ msgid "ERROR: Unable to open temporary compressed print file: %s\n"
-#~ msgstr ""
-#~ "ERROR: Temporäre komprimierte Druckdatei konnte nicht geöffnet werden: %"
-#~ "s\n"
-
-#~ msgid "ERROR: Unable to open temporary file"
-#~ msgstr "ERROR: Temporäre Datei konnte nicht geöffnet werden"
-
-#~ msgid "ERROR: Unable to print %d text columns!\n"
-#~ msgstr "ERROR: %d Textspalten konnten nicht gedruckt werden!\n"
-
-#~ msgid "ERROR: Unable to print %dx%d text page!\n"
-#~ msgstr "ERROR: %dx%d Textseite konnte nicht gedruckt werden!\n"
-
-#~ msgid "ERROR: Unable to read print data"
-#~ msgstr "ERROR: Druckdaten konnten nicht gelesen werden"
-
-#~ msgid "ERROR: Unable to read print data!\n"
-#~ msgstr "ERROR: Druckdaten konnten nicht gelesen werden!\n"
-
-#~ msgid "ERROR: Unable to reserve port"
-#~ msgstr "ERROR: Anschluss konnte nicht reserviert werden"
-
-#~ msgid "ERROR: Unable to seek to offset %ld in file - %s\n"
-#~ msgstr ""
-#~ "ERROR: Nach dem Versatz „%ld“ in der Datei konnte nicht gesucht werden – %"
-#~ "s\n"
-
-#~ msgid "ERROR: Unable to seek to offset %lld in file - %s\n"
-#~ msgstr ""
-#~ "ERROR: Nach dem Versatz „%lld“ in der Datei konnte nicht gesucht werden – "
-#~ "%s\n"
-
-#~ msgid "ERROR: Unable to send LPD command"
-#~ msgstr "ERROR: LPD-Befehl konnte nicht gesendet werden"
-
-#~ msgid "ERROR: Unable to send PAP tickle request"
-#~ msgstr "ERROR: PAP-Rückkopplungsanfrage konnte nicht gesendet werden"
-
-#~ msgid "ERROR: Unable to send initial PAP send data request"
-#~ msgstr ""
-#~ "ERROR: Erste PAP-Anfrage zum Senden von Daten konnte nicht gesendet werden"
-
-#~ msgid "ERROR: Unable to send print data (%d)\n"
-#~ msgstr "ERROR: Druckdaten konnten nicht gesendet werden (%d)\n"
-
-#~ msgid "ERROR: Unable to send print data!\n"
-#~ msgstr "ERROR: Druckdaten konnten nicht gesendet werden!\n"
-
-#~ msgid "ERROR: Unable to send print file to printer"
-#~ msgstr "ERROR: Druckdatei konnte nicht an den Drucker gesendet werden"
-
-#~ msgid "ERROR: Unable to send trailing nul to printer"
-#~ msgstr ""
-#~ "ERROR: Nachfolgende Nullen konnten nicht an den Drucker gesendet werden"
-
-#~ msgid "ERROR: Unable to wait for pictwpstops: %s\n"
-#~ msgstr "ERROR: Warten auf pictwpstops nicht möglich: %s\n"
-
-#~ msgid "ERROR: Unable to write %d bytes to \"%s\": %s\n"
-#~ msgstr "ERROR: %d Byte konnten nicht auf „%s“ geschrieben werden: %s\n"
-
-#~ msgid "ERROR: Unable to write %d bytes to printer!\n"
-#~ msgstr "ERROR: %d Byte konnten nicht auf den Drucker geschrieben werden!\n"
-
-#~ msgid "ERROR: Unable to write control file"
-#~ msgstr "ERROR: Steuerungsdatei konnte nicht geschrieben werden"
-
-#~ msgid "ERROR: Unable to write print data"
-#~ msgstr "ERROR: Druckdaten konnten nicht geschrieben werden"
-
-#~ msgid "ERROR: Unable to write print data: %s\n"
-#~ msgstr "ERROR: Druckdaten konnten nicht geschrieben werden: %s\n"
-
-#~ msgid "ERROR: Unable to write raster data to driver!\n"
-#~ msgstr ""
-#~ "ERROR: Rasterdaten konnten nicht auf den Treiber geschrieben werden!\n"
-
-#~ msgid "ERROR: Unable to write to temporary file"
-#~ msgstr "ERROR: Temporäre Datei konnte nicht geschrieben werden"
-
-#~ msgid "ERROR: Unable to write uncompressed document data: %s\n"
-#~ msgstr ""
-#~ "ERROR: Unkomprimierte Dokumentdaten konnten nicht geschrieben werden: %s\n"
-
-#~ msgid "ERROR: Unexpected text on line %d of %s!\n"
-#~ msgstr "ERROR: Unerwarteter Text in Zeile %d von %s!\n"
-
-#~ msgid "ERROR: Unknown encryption option value \"%s\"!\n"
-#~ msgstr "ERROR: Unbekannter Verschlüsselungsoptionswert „%s“!\n"
-
-#~ msgid "ERROR: Unknown file order \"%s\"\n"
-#~ msgstr "ERROR: Unbekannte Dateianordnung „%s“\n"
-
-#~ msgid "ERROR: Unknown format character \"%c\"\n"
-#~ msgstr "ERROR: Unbekanntes Formatzeichen „%c“\n"
-
-#~ msgid "ERROR: Unknown message catalog format for \"%s\"!\n"
-#~ msgstr "ERROR: Unbekanntes Message-Catalog-Format für „%s“!\n"
-
-#~ msgid "ERROR: Unknown option \"%s\" with value \"%s\"!\n"
-#~ msgstr "ERROR: Unbekannte Option „%s“ mit Wert „%s“!\n"
-
-#~ msgid "ERROR: Unknown print mode \"%s\"\n"
-#~ msgstr "ERROR: Unbekannter Druckmodus „%s“\n"
-
-#~ msgid "ERROR: Unknown version option value \"%s\"!\n"
-#~ msgstr "ERROR: Unbekannter Versionsoptionswert „%s“!\n"
-
-#~ msgid "ERROR: Unsupported brightness value %s, using brightness=100!\n"
-#~ msgstr ""
-#~ "ERROR: Nicht unterstützter Helligkeitswert „%s“; „brightness=100“ "
-#~ "verwenden!\n"
-
-#~ msgid "ERROR: Unsupported gamma value %s, using gamma=1000!\n"
-#~ msgstr ""
-#~ "ERROR: Nicht unterstützter Gammawert „%s“; „gamma=1000“ verwenden!\n"
-
-#~ msgid "ERROR: Unsupported number-up value %d, using number-up=1!\n"
-#~ msgstr ""
-#~ "ERROR: Nicht unterstützter Number-Up-Wert „%d“; „number-up=1“ verwenden!\n"
-
-#~ msgid ""
-#~ "ERROR: Unsupported number-up-layout value %s, using number-up-"
-#~ "layout=lrtb!\n"
-#~ msgstr ""
-#~ "ERROR: Nicht unterstützter Number-Up-Layout-Wert „%s“; „number-up-"
-#~ "layout=lrtb“ verwenden!\n"
-
-#~ msgid "ERROR: Unsupported page-border value %s, using page-border=none!\n"
-#~ msgstr ""
-#~ "ERROR: Nicht unterstützter Seitenrandwert „%s“; „page-border=none“ "
-#~ "verwenden!\n"
-
-#~ msgid "ERROR: doc_printf overflow (%d bytes) detected, aborting!\n"
-#~ msgstr "ERROR: doc_printf-Overflow (%d Byte) festgestellt; abbrechen!\n"
-
-#~ msgid "ERROR: pdftops filter crashed on signal %d!\n"
-#~ msgstr "ERROR: pdftops-Filter fehlgeschlagen bei Signal „%d“!\n"
-
-#~ msgid "ERROR: pdftops filter exited with status %d!\n"
-#~ msgstr "ERROR: pdftops-Filter ausgestiegen mit Status „%d“!\n"
-
-#~ msgid "ERROR: pictwpstops exited on signal %d!\n"
-#~ msgstr "ERROR: pictwpstops-Filter ausgestiegen bei Signal „%d“!\n"
-
-#~ msgid "ERROR: pictwpstops exited with status %d!\n"
-#~ msgstr "ERROR: pictwpstops-Filter ausgestiegen mit Status „%d“!\n"
-
-#~ msgid ""
-#~ "ERROR: recoverable: Unable to connect to printer; will retry in 30 "
-#~ "seconds...\n"
-#~ msgstr ""
-#~ "ERROR: wiederherstellbar: Verbindung zum Drucker nicht möglich, erneuter "
-#~ "Versuch in 30 Sekunden …\n"
-
-#~ msgid "ERROR: select() failed"
-#~ msgstr "ERROR: Auswahl() fehlgeschlagen"
-
-#~ msgid "ERROR: unable to stat print file"
-#~ msgstr "ERROR: „stat“ für Druckdatei nicht möglich"
-
-#~ msgid "Empty PPD file!"
-#~ msgstr "Leere PPD-Datei!"
-
-#~ msgid "Error: need hostname after '-h' option!\n"
-#~ msgstr "Fehler: Hostname benötigt nach '-h'-Option!\n"
-
-#~ msgid "FAIL\n"
-#~ msgstr "FEHLER\n"
-
-#~ msgid ""
-#~ "File device URIs have been disabled! To enable, see the FileDevice "
-#~ "directive in \"%s/cupsd.conf\"."
-#~ msgstr ""
-#~ "Dateigeräte-URIs wurden deaktiviert! Infos zum Aktivieren finden Sie im "
-#~ "FileDevice-Verzeichnis unter „%s/cupsd.conf“."
-
-#~ msgid "Fuser temperature high!"
-#~ msgstr "Die Temperatur des Fixierers ist zu hoch!"
-
-#~ msgid "Fuser temperature low!"
-#~ msgstr "Die Temperatur des Fixierers ist zu niedrig!"
-
-#~ msgid "German FanFold"
-#~ msgstr "Deutsch Endlospapier"
-
-#~ msgid "German FanFold Legal"
-#~ msgstr "Deutsch Endlospapier (Brief)"
-
-#~ msgid "Got a printer-uri attribute but no job-id!"
-#~ msgstr "Drucker-URI-Attribute vorhanden, aber keine Druckauftrags-ID!"
-
-#~ msgid "INFO: AppleTalk disabled in System Preferences\n"
-#~ msgstr "INFO: AppleTalk wurde in den Systemeinstellungen deaktiviert.\n"
-
-#~ msgid "INFO: AppleTalk disabled in System Preferences.\n"
-#~ msgstr "INFO: AppleTalk wurde in den Systemeinstellungen deaktiviert.\n"
-
-#~ msgid "INFO: Canceling print job...\n"
-#~ msgstr "INFO: Druckauftrag abbrechen …\n"
-
-#~ msgid "INFO: Connected to printer...\n"
-#~ msgstr "INFO: Mit Drucker verbunden …\n"
-
-#~ msgid "INFO: Connecting to printer...\n"
-#~ msgstr "INFO: Mit Drucker verbinden …\n"
-
-#~ msgid "INFO: Control file sent successfully\n"
-#~ msgstr "INFO: Steuerungsdatei erfolgreich übertragen\n"
-
-#~ msgid "INFO: Data file sent successfully\n"
-#~ msgstr "INFO: Datendatei erfolgreich übertragen\n"
-
-#~ msgid "INFO: Formatting page %d...\n"
-#~ msgstr "INFO: Seite %d formatieren …\n"
-
-#~ msgid "INFO: Loading image file...\n"
-#~ msgstr "INFO: Bilddatei laden …\n"
-
-#~ msgid "INFO: Looking for printer...\n"
-#~ msgstr "INFO: Drucker suchen …\n"
-
-#~ msgid "INFO: Opening connection\n"
-#~ msgstr "INFO: Verbindung herstellen\n"
-
-#~ msgid "INFO: Print file sent, waiting for printer to finish...\n"
-#~ msgstr "INFO: Druckdatei gesendet, warten auf Abschließen des Druckers …\n"
-
-#~ msgid "INFO: Printer busy; will retry in 10 seconds...\n"
-#~ msgstr "INFO: Drucker ist ausgelastet, erneuter Versuch in 10 Sekunden …\n"
-
-#~ msgid "INFO: Printer busy; will retry in 30 seconds...\n"
-#~ msgstr "INFO: Drucker ist ausgelastet, erneuter Versuch in 30 Sekunden …\n"
-
-#~ msgid "INFO: Printer busy; will retry in 5 seconds...\n"
-#~ msgstr "INFO: Drucker ist ausgelastet, erneuter Versuch in 5 Sekunden …\n"
-
-#~ msgid "INFO: Printer does not support IPP/%d.%d, trying IPP/1.0...\n"
-#~ msgstr ""
-#~ "INFO: Drucker unterstützt IPP/%d.%d nicht, erneuter Versuch mit IPP/1.0 "
-#~ "…\n"
-
-#~ msgid "INFO: Printer is busy; will retry in 5 seconds...\n"
-#~ msgstr "INFO: Drucker ausgelastet, erneuter Versuch in 5 Sekunden …\n"
-
-#~ msgid "INFO: Printer is currently off-line.\n"
-#~ msgstr "INFO: Drucker ist derzeit offline.\n"
-
-#~ msgid "INFO: Printer is currently offline.\n"
-#~ msgstr "INFO: Drucker ist derzeit offline.\n"
-
-#~ msgid "INFO: Printer is now online.\n"
-#~ msgstr "INFO: Drucker ist jetzt online.\n"
-
-#~ msgid "INFO: Printer is offline.\n"
-#~ msgstr "INFO: Drucker ist offline.\n"
-
-#~ msgid "INFO: Printer not connected; will retry in 30 seconds...\n"
-#~ msgstr "INFO: Drucker nicht verbunden, erneuter Versuch in 30 Sekunden …\n"
-
-#~ msgid "INFO: Printing page %d, %d%% complete...\n"
-#~ msgstr "INFO: Seite %d drucken, %d %% abgeschlossen …\n"
-
-#~ msgid "INFO: Printing page %d...\n"
-#~ msgstr "INFO: Seite %d drucken …\n"
-
-#~ msgid "INFO: Ready to print.\n"
-#~ msgstr "INFO: Bereit zum Drucken\n"
-
-#~ msgid "INFO: Sending control file (%lu bytes)\n"
-#~ msgstr "INFO: Steuerungsdatei senden (%lu Byte)\n"
-
-#~ msgid "INFO: Sending control file (%u bytes)\n"
-#~ msgstr "INFO: Steuerungsdatei senden (%u Byte)\n"
-
-#~ msgid "INFO: Sending data\n"
-#~ msgstr "INFO: Daten senden\n"
-
-#~ msgid "INFO: Sending data file (%ld bytes)\n"
-#~ msgstr "INFO: Datendatei senden (%ld Byte)\n"
-
-#~ msgid "INFO: Sending data file (%lld bytes)\n"
-#~ msgstr "INFO: Datendatei senden (%lld Byte)\n"
-
-#~ msgid "INFO: Sending print data...\n"
-#~ msgstr "INFO: Druckdaten senden …\n"
-
-#~ msgid "INFO: Sent print file, %ld bytes...\n"
-#~ msgstr "INFO: Druckdatei gesendet, %ld Byte …\n"
-
-#~ msgid "INFO: Sent print file, %lld bytes...\n"
-#~ msgstr "INFO: Druckdatei gesendet, %lld Byte …\n"
-
-#~ msgid "INFO: Spooling LPR job, %.0f%% complete...\n"
-#~ msgstr "INFO: LPR-Druckauftrag aufzeichnen, %.0f %% abgeschlossen …\n"
-
-#~ msgid ""
-#~ "INFO: Unable to contact printer, queuing on next printer in class...\n"
-#~ msgstr ""
-#~ "INFO: Verbindung zum Drucker nicht möglich; an den nächsten Drucker der "
-#~ "Klasse senden …\n"
-
-#~ msgid "INFO: Using default AppleTalk zone \"%s\"\n"
-#~ msgstr "INFO: Standard-AppleTalk-Zone „%s“ verwenden\n"
-
-#~ msgid "INFO: Waiting for job to complete...\n"
-#~ msgstr "INFO: Warten, bis der Druckauftrag agbeschlossen ist …\n"
-
-#~ msgid "INFO: Waiting for printer to become available...\n"
-#~ msgstr "INFO: Warten, bis der Drucker verfügbar ist …\n"
-
-#~ msgid "ISO B0"
-#~ msgstr "ISO B0"
-
-#~ msgid "ISO B1"
-#~ msgstr "ISO B1"
-
-#~ msgid "ISO B10"
-#~ msgstr "ISO B10"
-
-#~ msgid "ISO B2"
-#~ msgstr "ISO B2"
-
-#~ msgid "ISO B3"
-#~ msgstr "ISO B3"
-
-#~ msgid "ISO B4"
-#~ msgstr "ISO B4"
-
-#~ msgid "ISO B4 Envelope"
-#~ msgstr "ISO B4 Umschlag"
-
-#~ msgid "ISO B5"
-#~ msgstr "ISO B5"
-
-#~ msgid "ISO B5 (Oversize)"
-#~ msgstr "ISO B5 (Übergröße)"
-
-#~ msgid "ISO B5 Envelope"
-#~ msgstr "ISO B5 Umschlag"
-
-#~ msgid "ISO B6"
-#~ msgstr "ISO B6"
-
-#~ msgid "ISO B6 Envelope"
-#~ msgstr "ISO B6 Umschlag"
-
-#~ msgid "ISO B7"
-#~ msgstr "ISO B7"
-
-#~ msgid "ISO B8"
-#~ msgstr "ISO B8"
-
-#~ msgid "ISO B9"
-#~ msgstr "ISO B9"
-
-#~ msgid "Ink/toner almost empty."
-#~ msgstr "Tinte/Toner fast leer."
-
-#~ msgid "Ink/toner empty!"
-#~ msgstr "Tinte/Toner leer!"
-
-#~ msgid "Ink/toner waste bin almost full."
-#~ msgstr "Tinten/Toner-Abfallbehälter fast voll."
-
-#~ msgid "Ink/toner waste bin full!"
-#~ msgstr "Tinten/Toner-Abfallbehälter voll!"
-
-#~ msgid "Interlock open."
-#~ msgstr "Die Verriegelung ist offen."
-
-#~ msgid "Invite Envelope"
-#~ msgstr "Einladung Umschlag"
-
-#~ msgid "Italian Envelope"
-#~ msgstr "Italienisch Umschlag"
-
-#~ msgid "Job #%d cannot be restarted - no files!"
-#~ msgstr ""
-#~ "Druckauftrag  Nr. %d kann nicht neu gestartet werden – keine Dateien "
-#~ "vorhanden!"
-
-#~ msgid "Job #%d does not exist!"
-#~ msgstr "Druckauftrag Nr. %d existiert nicht!"
-
-#~ msgid "Job #%d is finished and cannot be altered!"
-#~ msgstr ""
-#~ "Druckauftrag Nr. %d ist abgeschlossen und kann nicht geändert werden!"
-
-#~ msgid "Job #%d is not complete!"
-#~ msgstr "Druckauftrag Nr. %d ist nicht abgeschlossen!"
-
-#~ msgid "Job #%d is not held for authentication!"
-#~ msgstr "Druckauftrag Nr. %d benötigt keine Authentifizierung!"
-
-#~ msgid "Job #%d is not held!"
-#~ msgstr "Druckauftrag Nr. %d wird nicht gehalten!"
-
-#~ msgid "Job #%s does not exist!"
-#~ msgstr "Druckauftrag Nr. %s existiert nicht!"
-
-#~ msgid "Job %d not found!"
-#~ msgstr "Druckauftrag %d wurde nicht gefunden!"
-
-#~ msgid "Job subscriptions cannot be renewed!"
-#~ msgstr "Druckauftrags-Subskription kann nicht erneuert werden."
-
-#~ msgid "Kaku2 Envelope"
-#~ msgstr "Kaku2 Umschlag"
-
-#~ msgid "Kaku3 Envelope"
-#~ msgstr "Kaku3 Umschlag"
-
-#~ msgid "Language \"%s\" not supported!"
-#~ msgstr "Sprache „%s“ nicht unterstützt!"
-
-#~ msgid "Media jam!"
-#~ msgstr "Papierstau im Medienfach!"
-
-#~ msgid "Media tray almost empty."
-#~ msgstr "Das Medienfach ist fast leer."
-
-#~ msgid "Media tray empty!"
-#~ msgstr "Das Medienfach ist leer!"
-
-#~ msgid "Media tray missing!"
-#~ msgstr "Das Medienfach fehlt!"
-
-#~ msgid "Media tray needs to be filled."
-#~ msgstr "Das Medienfach muss aufgefüllt werden."
-
-#~ msgid "Missing document-number attribute!"
-#~ msgstr "Attribut „document-number“ fehlt!"
-
-#~ msgid "Missing double quote on line %d!"
-#~ msgstr "Doppeltes Anführungszeichen in Zeile %d fehlt!"
-
-#~ msgid "Missing form variable!"
-#~ msgstr "Formvariable fehlt!"
-
-#~ msgid "Missing notify-subscription-ids attribute!"
-#~ msgstr "Attribut „notify-subscription-ids“ fehlt!"
-
-#~ msgid "Missing requesting-user-name attribute!"
-#~ msgstr "Attribut „requesting-user-name“ fehlt!"
-
-#~ msgid "Missing required attributes!"
-#~ msgstr "Benötigte Attribute fehlen!"
-
-#~ msgid "Missing value on line %d!"
-#~ msgstr "Wert in Zeile %d fehlt!"
-
-#~ msgid ""
-#~ "Model:  name = %s\n"
-#~ "        natural_language = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ msgstr ""
-#~ "Modell:  Name = %s\n"
-#~ "        Standardsprache = %s\n"
-#~ "        Hersteller und Modell = %s\n"
-#~ "        Geräte-ID = %s\n"
-
-#~ msgid "Monarch"
-#~ msgstr "Monarch"
-
-#~ msgid "Monarch Envelope"
-#~ msgstr "US Monarch Umschlag"
-
-#~ msgid "NOTICE: Print file accepted - job ID %d.\n"
-#~ msgstr "NOTICE: Druckdatei akzeptiert – Druckauftrags-ID %d.\n"
-
-#~ msgid "NOTICE: Print file accepted - job ID unknown.\n"
-#~ msgstr "NOTICE: Druckdatei akzeptiert – Druckauftrags-ID unbekannt.\n"
-
-#~ msgid "No PPD name!"
-#~ msgstr "Kein PPD-Name!"
-
-#~ msgid "No Windows printer drivers are installed!"
-#~ msgstr "Es sind keine Windows-Druckertreiber installiert!"
-
-#~ msgid "No active jobs on %s!"
-#~ msgstr "Keine aktiven Druckaufträge auf %s!"
-
-#~ msgid "No attributes in request!"
-#~ msgstr "Keine Attribute abgerufen!"
-
-#~ msgid "No authentication information provided!"
-#~ msgstr "Keine Authentifizierungs-Informationen übergeben!"
-
-#~ msgid "No default printer"
-#~ msgstr "Kein Standarddrucker"
-
-#~ msgid "No file!?!"
-#~ msgstr "Keine Datei!?!"
-
-#~ msgid "No modification time!"
-#~ msgstr "Kein Änderungsdatum!"
-
-#~ msgid "No printer name!"
-#~ msgstr "Kein Druckername!"
-
-#~ msgid "No printer-uri found for class!"
-#~ msgstr "Keine Drucker-URI gefunden für Klasse!"
-
-#~ msgid "No printer-uri found!"
-#~ msgstr "Keine Drucker-URI gefunden!"
-
-#~ msgid "No printer-uri in request!"
-#~ msgstr "Keine Drucker-URI abgerufen!"
-
-#~ msgid "No subscription attributes in request!"
-#~ msgstr "Keine Subskriptionsattribute abgerufen!"
-
-#~ msgid "OPC almost at end-of-life."
-#~ msgstr "Die Bildtrommel (OPC) muss bald ausgetauscht werden."
-
-#~ msgid "OPC at end-of-life!"
-#~ msgstr "Die Bildtrommel (OPC) muss ausgetauscht werden!"
-
-#~ msgid "Out of toner!"
-#~ msgstr "Der Toner ist leer!"
-
-#~ msgid "Output bin almost full."
-#~ msgstr "Das Ausgabefach ist fast voll."
-
-#~ msgid "Output bin full!"
-#~ msgstr "Das Ausgabefach ist voll!"
-
-#~ msgid "Output for printer %s is sent to %s\n"
-#~ msgstr "Ausgabe für Drucker „%s“ wird an „%s“ gesendet\n"
-
-#~ msgid "Output for printer %s is sent to remote printer %s on %s\n"
-#~ msgstr ""
-#~ "Ausgabe für Drucker „%s“ wird an den entfernten Drucker „%s“ auf „%s“ "
-#~ "gesendet\n"
-
-#~ msgid "Output for printer %s/%s is sent to %s\n"
-#~ msgstr "Ausgabe für Drucker „%s/%s“ wird an „%s“ gesendet\n"
-
-#~ msgid "Output for printer %s/%s is sent to remote printer %s on %s\n"
-#~ msgstr ""
-#~ "Ausgabe für Drucker „%s/%s“ wird an den entfernten Drucker „%s“ auf „%s“ "
-#~ "gesendet\n"
-
-#~ msgid "Output tray missing!"
-#~ msgstr "Das Ausgabefach fehlt!"
-
-#~ msgid "PASS\n"
-#~ msgstr "PASS\n"
-
-#~ msgid "PRC1 Envelope"
-#~ msgstr "PRC1 Umschlag"
-
-#~ msgid "PRC10 Envelope"
-#~ msgstr "PRC10 Umschlag"
-
-#~ msgid "PRC2 Envelope"
-#~ msgstr "PRC2 Umschlag"
-
-#~ msgid "PRC3 Envelope"
-#~ msgstr "PRC3 Umschlag"
-
-#~ msgid "PRC32K (Oversize)"
-#~ msgstr "PRC32K (Übergröße)"
-
-#~ msgid "PRC4 Envelope"
-#~ msgstr "PRC4 Umschlag"
-
-#~ msgid "PRC5 Envelope"
-#~ msgstr "PRC5 Umschlag"
-
-#~ msgid "PRC6 Envelope"
-#~ msgstr "PRC6 Umschlag"
-
-#~ msgid "PRC7 Envelope"
-#~ msgstr "PRC7 Umschlag"
-
-#~ msgid "PRC8 Envelope"
-#~ msgstr "PRC8 Umschlag"
-
-#~ msgid "PRC9 Envelope"
-#~ msgstr "PRC9 Umschlag"
-
-#~ msgid "Personal Envelope"
-#~ msgstr "Persönlicher Umschlag"
-
-#~ msgid "Printer offline."
-#~ msgstr "Der Drucker ist offline."
-
-#~ msgid "Rank    Owner   Job     File(s)                         Total Size\n"
-#~ msgstr ""
-#~ "Rang    Eigentümer   Druckauftrag     Datei(en)                         "
-#~ "Gesamtgröße\n"
-
-#~ msgid ""
-#~ "Rank   Owner      Pri  Job        Files                       Total Size\n"
-#~ msgstr ""
-#~ "Rang   Eigentümer      Druckauftrag        Dateien                       "
-#~ "Gesamtgröße\n"
-
-#~ msgid "Running command: %s %s -N -A %s -c '%s'\n"
-#~ msgstr "Befehl ausführen: %s %s -N -A %s -c '%s'\n"
-
-#~ msgid "SCSI Printer"
-#~ msgstr "SCSI-Drucker"
-
-#~ msgid "Tabloid (Oversize)"
-#~ msgstr "US Tabloid (Übergröße)"
-
-#~ msgid "The notify-user-data value is too large (%d > 63 octets)!"
-#~ msgstr "Der Wert für „notify-user-data“ ist zu groß (%d > 63 Oktetts)!"
-
-#~ msgid "The printer or class is not shared!"
-#~ msgstr "Der Drucker oder die Klasse sind nicht freigegeben!"
-
-#~ msgid "The printer or class was not found."
-#~ msgstr "Der Drucker oder die Klasse wurden nicht gefunden!"
-
-#~ msgid "The printer-uri attribute is required!"
-#~ msgstr "Das Drucker-URI-Attribut wird benötigt!"
-
-#~ msgid "Toner low."
-#~ msgstr "Wenig Toner."
-
-#~ msgid "Too many job-sheets values (%d > 2)!"
-#~ msgstr "Zu viele job-sheets-Werte (%d > 2)!"
-
-#~ msgid "Too many printer-state-reasons values (%d > %d)!"
-#~ msgstr "Zu viele printer-state-reasons-Werte (%d > %d)!"
-
-#~ msgid "US Executive"
-#~ msgstr "US Executive"
-
-#~ msgid "US Fanfold"
-#~ msgstr "US Endlospapier"
-
-#~ msgid "US Legal (Oversize)"
-#~ msgstr "US Lang (Übergröße)"
-
-#~ msgid "US Letter (Oversize)"
-#~ msgstr "US Brief (Übergröße)"
-
-#~ msgid "US Letter (Small)"
-#~ msgstr "US Brief (klein)"
-
-#~ msgid "Unable to add job for destination \"%s\"!"
-#~ msgstr "Druckauftrag für das Ziel „%s“ konnte nicht hinzugefügt werden!"
-
-#~ msgid "Unable to allocate memory for file types!"
-#~ msgstr "Der Speicher für die Dateitypen konnte nicht zugeordnet werden."
-
-#~ msgid "Unable to copy 64-bit CUPS printer driver files (%d)!"
-#~ msgstr ""
-#~ "64-Bit CUPS-Druckertreiberdateien konnten nicht kopiert werden (%d)!"
-
-#~ msgid "Unable to copy 64-bit Windows printer driver files (%d)!"
-#~ msgstr ""
-#~ "64-Bit Windows-Druckertreiberdateien konnten nicht kopiert werden (%d)!"
-
-#~ msgid "Unable to copy CUPS printer driver files (%d)!"
-#~ msgstr "CUPS-Druckertreiberdateien konnten nicht kopiert werden (%d)!"
-
-#~ msgid "Unable to copy PPD file - %s!"
-#~ msgstr "PPD-Datei konnte nicht kopiert werden – %s!"
-
-#~ msgid "Unable to copy PPD file!"
-#~ msgstr "PPD-Datei konnte nicht kopiert werden!"
-
-#~ msgid "Unable to copy Windows 2000 printer driver files (%d)!"
-#~ msgstr ""
-#~ "Windows 2000 Druckertreiberdateien konnten nicht kopiert werden (%d)!"
-
-#~ msgid "Unable to copy Windows 9x printer driver files (%d)!"
-#~ msgstr "Windows 9x Druckertreiberdateien konnten nicht kopiert werden (%d)!"
-
-#~ msgid "Unable to copy interface script - %s!"
-#~ msgstr "Schnittstellenskript konnte nicht kopiert werden – %s!"
-
-#~ msgid "Unable to create printer-uri!"
-#~ msgstr "Drucker-URI konnte nicht erstellt werden!"
-
-#~ msgid "Unable to edit cupsd.conf files larger than 1MB!"
-#~ msgstr ""
-#~ "„cupsd.conf“-Dateien größer als 1 MB können nicht bearbeitet werden!"
-
-#~ msgid "Unable to find destination for job!"
-#~ msgstr "Ziel für den Druckauftrag konnte nicht gefunden werden!"
-
-#~ msgid "Unable to find printer!\n"
-#~ msgstr "Drucker konnte nicht gefunden werden!\n"
-
-#~ msgid "Unable to install Windows 2000 printer driver files (%d)!"
-#~ msgstr ""
-#~ "Windows 2000 Druckertreiberdateien konnten nicht installiert werden (%d)!"
-
-#~ msgid "Unable to install Windows 9x printer driver files (%d)!"
-#~ msgstr ""
-#~ "Windows 9x Druckertreiberdateien konnten nicht installiert werden (%d)!"
-
-#~ msgid "Unable to open document %d in job %d!"
-#~ msgstr ""
-#~ "Das Dokument „%d“ in Druckauftrag „%d“ konnte nicht geöffnet werden!"
-
-#~ msgid "Unable to run \"%s\": %s\n"
-#~ msgstr "„%s“ konnte nicht ausgeführt werden: %s\n"
-
-#~ msgid "Unable to send command to printer driver!"
-#~ msgstr "Befehl konnte nicht an den Druckertreiber gesendet werden!"
-
-#~ msgid "Unable to set Windows printer driver (%d)!"
-#~ msgstr "Windows-Druckertreiber konnte nicht festgelegt werden (%d)!"
-
-#~ msgid "Unable to use legacy USB class driver!\n"
-#~ msgstr "Alte USB-Klasse-Treiber konnten nicht verwendet werden!\n"
-
-#~ msgid "Unknown printer error (%s)!"
-#~ msgstr "Unbekannter Druckerfehler (%s)!"
-
-#~ msgid "Unsupported character set \"%s\"!"
-#~ msgstr "Zeichensatz „%s“ nicht unterstützt!"
-
-#~ msgid "Unsupported compression \"%s\"!"
-#~ msgstr "Komprimierung „%s“ nicht unterstützt!"
-
-#~ msgid "Unsupported compression attribute %s!"
-#~ msgstr "Komprimierungsattribut „%s“ nicht unterstützt!"
-
-#~ msgid "Unsupported format \"%s\"!"
-#~ msgstr "Format „%s“ nicht unterstützt!"
-
-#~ msgid "Unsupported format '%s'!"
-#~ msgstr "Format „%s“ nicht unterstützt!"
-
-#~ msgid "Unsupported format '%s/%s'!"
-#~ msgstr "Format „%s/%s“ nicht unterstützt!"
-
-#~ msgid ""
-#~ "Usage:\n"
-#~ "\n"
-#~ "    lpadmin [-h server] -d destination\n"
-#~ "    lpadmin [-h server] -x destination\n"
-#~ "    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m "
-#~ "model]\n"
-#~ "                       [-r remove-class] [-v device] [-D description]\n"
-#~ "                       [-P ppd-file] [-o name=value]\n"
-#~ "                       [-u allow:user,user] [-u deny:user,user]\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Usage:\n"
-#~ "\n"
-#~ "    lpadmin [-h server] -d destination\n"
-#~ "    lpadmin [-h server] -x destination\n"
-#~ "    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m "
-#~ "model]\n"
-#~ "                       [-r remove-class] [-v device] [-D description]\n"
-#~ "                       [-P ppd-file] [-o name=value]\n"
-#~ "                       [-u allow:user,user] [-u deny:user,user]\n"
-#~ "\n"
-
-#~ msgid "Usage: %s job user title copies options [filename]\n"
-#~ msgstr "Usage: %s job user title copies options [filename]\n"
-
-#~ msgid "Usage: %s job-id user title copies options [file]\n"
-#~ msgstr "Usage: %s job-id user title copies options [file]\n"
-
-#~ msgid "Usage: %s job-id user title copies options file\n"
-#~ msgstr "Usage: %s job-id user title copies options file\n"
-
-#~ msgid ""
-#~ "Usage: convert [ options ]\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "  -f filename          Set file to be converted (otherwise stdin)\n"
-#~ "  -o filename          Set file to be generated (otherwise stdout)\n"
-#~ "  -i mime/type         Set input MIME type (otherwise auto-typed)\n"
-#~ "  -j mime/type         Set output MIME type (otherwise application/pdf)\n"
-#~ "  -P filename.ppd      Set PPD file\n"
-#~ "  -a 'name=value ...'  Set option(s)\n"
-#~ "  -U username          Set username for job\n"
-#~ "  -J title             Set title\n"
-#~ "  -c copies            Set number of copies\n"
-#~ "  -u                   Remove the PPD file when finished\n"
-#~ "  -D                   Remove the input file when finished\n"
-#~ msgstr ""
-#~ "Usage: convert [ options ]\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "  -f filename          Set file to be converted (otherwise stdin)\n"
-#~ "  -o filename          Set file to be generated (otherwise stdout)\n"
-#~ "  -i mime/type         Set input MIME type (otherwise auto-typed)\n"
-#~ "  -j mime/type         Set output MIME type (otherwise application/pdf)\n"
-#~ "  -P filename.ppd      Set PPD file\n"
-#~ "  -a 'name=value ...'  Set option(s)\n"
-#~ "  -U username          Set username for job\n"
-#~ "  -J title             Set title\n"
-#~ "  -c copies            Set number of copies\n"
-#~ "  -u                   Remove the PPD file when finished\n"
-#~ "  -D                   Remove the input file when finished\n"
-
-#~ msgid ""
-#~ "Usage: cupsaddsmb [options] printer1 ... printerN\n"
-#~ "       cupsaddsmb [options] -a\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "  -E               Encrypt the connection to the server\n"
-#~ "  -H samba-server  Use the named SAMBA server\n"
-#~ "  -U samba-user    Authenticate using the named SAMBA user\n"
-#~ "  -a               Export all printers\n"
-#~ "  -h cups-server   Use the named CUPS server\n"
-#~ "  -v               Be verbose (show commands)\n"
-#~ msgstr ""
-#~ "Usage: cupsaddsmb [options] printer1 ... printerN\n"
-#~ "       cupsaddsmb [options] -a\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "  -E               Encrypt the connection to the server\n"
-#~ "  -H samba-server  Use the named SAMBA server\n"
-#~ "  -U samba-user    Authenticate using the named SAMBA user\n"
-#~ "  -a               Export all printers\n"
-#~ "  -h cups-server   Use the named CUPS server\n"
-#~ "  -v               Be verbose (show commands)\n"
-
-#~ msgid ""
-#~ "Usage: cupsctl [options] [param=value ... paramN=valueN]\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -E                      Enable encryption\n"
-#~ "    -U username             Specify username\n"
-#~ "    -h server[:port]        Specify server address\n"
-#~ "\n"
-#~ "    --[no-]debug-logging    Turn debug logging on/off\n"
-#~ "    --[no-]remote-admin     Turn remote administration on/off\n"
-#~ "    --[no-]remote-any       Allow/prevent access from the Internet\n"
-#~ "    --[no-]remote-printers  Show/hide remote printers\n"
-#~ "    --[no-]share-printers   Turn printer sharing on/off\n"
-#~ "    --[no-]user-cancel-any  Allow/prevent users to cancel any job\n"
-#~ msgstr ""
-#~ "Usage: cupsctl [options] [param=value ... paramN=valueN]\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -E                      Enable encryption\n"
-#~ "    -U username             Specify username\n"
-#~ "    -h server[:port]        Specify server address\n"
-#~ "\n"
-#~ "    --[no-]debug-logging    Turn debug logging on/off\n"
-#~ "    --[no-]remote-admin     Turn remote administration on/off\n"
-#~ "    --[no-]remote-any       Allow/prevent access from the Internet\n"
-#~ "    --[no-]remote-printers  Show/hide remote printers\n"
-#~ "    --[no-]share-printers   Turn printer sharing on/off\n"
-#~ "    --[no-]user-cancel-any  Allow/prevent users to cancel any job\n"
-
-#~ msgid ""
-#~ "Usage: cupsd [-c config-file] [-f] [-F] [-h] [-l]\n"
-#~ "\n"
-#~ "-c config-file      Load alternate configuration file\n"
-#~ "-f                  Run in the foreground\n"
-#~ "-F                  Run in the foreground but detach\n"
-#~ "-h                  Show this usage message\n"
-#~ "-l                  Run cupsd from launchd(8)\n"
-#~ msgstr ""
-#~ "Usage: cupsd [-c config-file] [-f] [-F] [-h] [-l]\n"
-#~ "\n"
-#~ "-c config-file      Load alternate configuration file\n"
-#~ "-f                  Run in the foreground\n"
-#~ "-F                  Run in the foreground but detach\n"
-#~ "-h                  Show this usage message\n"
-#~ "-l                  Run cupsd from launchd(8)\n"
-
-#~ msgid ""
-#~ "Usage: cupsfilter -m mime/type [ options ] filename\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "  -c cupsd.conf    Set cupsd.conf file to use\n"
-#~ "  -j job-id[,N]    Filter file N from the specified job (default is file "
-#~ "1)\n"
-#~ "  -n copies        Set number of copies\n"
-#~ "  -o name=value    Set option(s)\n"
-#~ "  -p filename.ppd  Set PPD file\n"
-#~ "  -t title         Set title\n"
-#~ msgstr ""
-#~ "Usage: cupsfilter -m mime/type [ options ] filename\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "  -c cupsd.conf    Set cupsd.conf file to use\n"
-#~ "  -j job-id[,N]    Filter file N from the specified job (default is file "
-#~ "1)\n"
-#~ "  -n copies        Set number of copies\n"
-#~ "  -o name=value    Set option(s)\n"
-#~ "  -p filename.ppd  Set PPD file\n"
-#~ "  -t title         Set title\n"
-
-#~ msgid ""
-#~ "Usage: cupstestdsc [options] filename.ps [... filename.ps]\n"
-#~ "       cupstestdsc [options] -\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -h       Show program usage\n"
-#~ "\n"
-#~ "    Note: this program only validates the DSC comments, not the "
-#~ "PostScript itself.\n"
-#~ msgstr ""
-#~ "Usage: cupstestdsc [options] filename.ps [... filename.ps]\n"
-#~ "       cupstestdsc [options] -\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -h       Show program usage\n"
-#~ "\n"
-#~ "    Note: this program only validates the DSC comments, not the "
-#~ "PostScript itself.\n"
-
-#~ msgid ""
-#~ "Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]\n"
-#~ "       program | cupstestppd [options] -\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -R root-directory    Set alternate root\n"
-#~ "    -W {all,none,constraints,defaults,duplex,filters,translations}\n"
-#~ "                         Issue warnings instead of errors\n"
-#~ "    -q                   Run silently\n"
-#~ "    -r                   Use 'relaxed' open mode\n"
-#~ "    -v                   Be slightly verbose\n"
-#~ "    -vv                  Be very verbose\n"
-#~ msgstr ""
-#~ "Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]\n"
-#~ "       program | cupstestppd [options] -\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -R root-directory    Set alternate root\n"
-#~ "    -W {all,none,constraints,defaults,duplex,filters,translations}\n"
-#~ "                         Issue warnings instead of errors\n"
-#~ "    -q                   Run silently\n"
-#~ "    -r                   Use 'relaxed' open mode\n"
-#~ "    -v                   Be slightly verbose\n"
-#~ "    -vv                  Be very verbose\n"
-
-#~ msgid "Usage: lpmove job/src dest\n"
-#~ msgstr "Usage: lpmove job/src dest\n"
-
-#~ msgid ""
-#~ "Usage: lpoptions [-h server] [-E] -d printer\n"
-#~ "       lpoptions [-h server] [-E] [-p printer] -l\n"
-#~ "       lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
-#~ "       lpoptions [-h server] [-E] -x printer\n"
-#~ msgstr ""
-#~ "Usage: lpoptions [-h server] [-E] -d printer\n"
-#~ "       lpoptions [-h server] [-E] [-p printer] -l\n"
-#~ "       lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
-#~ "       lpoptions [-h server] [-E] -x printer\n"
-
-#~ msgid "Usage: lppasswd [-g groupname]\n"
-#~ msgstr "Usage: lppasswd [-g groupname]\n"
-
-#~ msgid ""
-#~ "Usage: lppasswd [-g groupname] [username]\n"
-#~ "       lppasswd [-g groupname] -a [username]\n"
-#~ "       lppasswd [-g groupname] -x [username]\n"
-#~ msgstr ""
-#~ "Usage: lppasswd [-g groupname] [username]\n"
-#~ "       lppasswd [-g groupname] -a [username]\n"
-#~ "       lppasswd [-g groupname] -x [username]\n"
-
-#~ msgid ""
-#~ "Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]\n"
-#~ msgstr ""
-#~ "Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]\n"
-
-#~ msgid ""
-#~ "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]\n"
-#~ "Options:\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "  -I include-dir       Add include directory to search path.\n"
-#~ "  -c catalog.po        Load the specified message catalog.\n"
-#~ "  -d output-dir        Specify the output directory.\n"
-#~ "  -l lang[,lang,...]   Specify the output language(s) (locale).\n"
-#~ "  -m                   Use the ModelName value as the filename.\n"
-#~ "  -t                   Test PPDs instead of generating them.\n"
-#~ "  -v                   Be verbose (more v's for more verbosity).\n"
-#~ "  -z                   Compress PPD files using GNU zip.\n"
-#~ "  --cr                 End lines with CR (Mac OS 9).\n"
-#~ "  --crlf               End lines with CR + LF (Windows).\n"
-#~ "  --lf                 End lines with LF (UNIX/Linux/Mac OS X).\n"
-#~ msgstr ""
-#~ "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]\n"
-#~ "Options:\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "  -I include-dir       Add include directory to search path.\n"
-#~ "  -c catalog.po        Load the specified message catalog.\n"
-#~ "  -d output-dir        Specify the output directory.\n"
-#~ "  -l lang[,lang,...]   Specify the output language(s) (locale).\n"
-#~ "  -m                   Use the ModelName value as the filename.\n"
-#~ "  -t                   Test PPDs instead of generating them.\n"
-#~ "  -v                   Be verbose (more v's for more verbosity).\n"
-#~ "  -z                   Compress PPD files using GNU zip.\n"
-#~ "  --cr                 End lines with CR (Mac OS 9).\n"
-#~ "  --crlf               End lines with CR + LF (Windows).\n"
-#~ "  --lf                 End lines with LF (UNIX/Linux/Mac OS X).\n"
-
-#~ msgid ""
-#~ "Usage: ppdhtml [options] filename.drv >filename.html\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "Options:\n"
-#~ "  -I include-dir    Add include directory to search path.\n"
-#~ msgstr ""
-#~ "Usage: ppdhtml [options] filename.drv >filename.html\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "Options:\n"
-#~ "  -I include-dir    Add include directory to search path.\n"
-
-#~ msgid ""
-#~ "Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Options:\n"
-#~ "  -I include-dir\n"
-#~ "  -o filename.drv\n"
-#~ msgstr ""
-#~ "Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Options:\n"
-#~ "  -I include-dir\n"
-#~ "  -o filename.drv\n"
-
-#~ msgid ""
-#~ "Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Options:\n"
-#~ "  -o filename.ppd[.gz]\n"
-#~ msgstr ""
-#~ "Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Options:\n"
-#~ "  -o filename.ppd[.gz]\n"
-
-#~ msgid ""
-#~ "Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]\n"
-#~ "Options:\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "  -I include-dir    Add include directory to search path.\n"
-#~ "  -v                Be verbose (more v's for more verbosity).\n"
-#~ msgstr ""
-#~ "Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]\n"
-#~ "Options:\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "  -I include-dir    Add include directory to search path.\n"
-#~ "  -v                Be verbose (more v's for more verbosity).\n"
-
-#~ msgid "Usage: snmp [host-or-ip-address]\n"
-#~ msgstr "Usage: snmp [host-or-ip-address]\n"
-
-#~ msgid "WARNING: Adding only the first %d printers found"
-#~ msgstr "WARNING: Nur die ersten %d gefundenen Drucker werden hinzugefügt"
-
-#~ msgid "WARNING: Boolean expected for waiteof option \"%s\"\n"
-#~ msgstr "WARNING: Boolscher Wert erwartet für waiteof-Option „%s“\n"
-
-#~ msgid "WARNING: Failed to read side-channel request!\n"
-#~ msgstr "WARNING: Lesen der Side-Channel-Anfrage fehlgeschlagen!\n"
-
-#~ msgid "WARNING: Option \"%s\" cannot be included via IncludeFeature!\n"
-#~ msgstr ""
-#~ "WARNING: Option „%s“ kann nicht mithilfe von „IncludeFeature“ "
-#~ "eingeschlossen werden!\n"
-
-#~ msgid "WARNING: Printer not responding\n"
-#~ msgstr "WARNING: Drucker reagiert nicht\n"
-
-#~ msgid "WARNING: Printer sent unexpected EOF\n"
-#~ msgstr "WARNING: Drucker sendete unerwartet EOF\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with command status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: Entfernter Host hat nicht mit dem Befehlstatusbyte geantwortet "
-#~ "nach %d Sekunden!\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with control status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: Entfernter Host hat nicht mit dem Steuerungsstatusbyte "
-#~ "geantwortet nach %d Sekunden!\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with data status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: Entfernter Host hat nicht mit dem Datenstatusbyte geantwortet "
-#~ "nach %d Sekunden!\n"
-
-#~ msgid "WARNING: SCSI command timed out (%d); retrying...\n"
-#~ msgstr ""
-#~ "WARNING: Zeitüberschreitung bei SCSI-Befehl (%d); erneut versuchen …\n"
-
-#~ msgid ""
-#~ "WARNING: This document does not conform to the Adobe Document Structuring "
-#~ "Conventions and may not print correctly!\n"
-#~ msgstr ""
-#~ "WARNING: Dieses Dokument entspricht nicht den Dokumentstruktur-"
-#~ "Konventionen von Adobe und wird u. U. nicht korrekt gedruckt!\n"
-
-#~ msgid "WARNING: Unable to open \"%s:%s\": %s\n"
-#~ msgstr "WARNING: „%s:%s“ konnte nicht geöffnet werden: %s\n"
-
-#~ msgid "WARNING: Unable to send PAP status request"
-#~ msgstr "WARNING: PAP-Statusanfrage konnte nicht gesendet werden"
-
-#~ msgid "WARNING: Unexpected PAP packet of type %d\n"
-#~ msgstr "WARNING: Unerwartetes PAP-Paket des Typs „%d“\n"
-
-#~ msgid "WARNING: Unknown PAP packet of type %d\n"
-#~ msgstr "WARNING: Unbekanntes PAP-Paket des Typs „%d“\n"
-
-#~ msgid "WARNING: Unknown choice \"%s\" for option \"%s\"!\n"
-#~ msgstr "WARNING: Unbekannte Auswahl „%s“ für Option „%s“!\n"
-
-#~ msgid "WARNING: Unknown option \"%s\"!\n"
-#~ msgstr "WARNING: Unbekannte Option „%s“!\n"
-
-#~ msgid "WARNING: Unsupported baud rate %s!\n"
-#~ msgstr "WARNING: Baud-Rate „%s“ wird nicht unterstützt!\n"
-
-#~ msgid "WARNING: number expected for status option \"%s\"\n"
-#~ msgstr "WARNING: Zahlwert erwartet für Statusoption „%s“\n"
-
-#~ msgid ""
-#~ "WARNING: recoverable: Network host '%s' is busy; will retry in %d "
-#~ "seconds...\n"
-#~ msgstr ""
-#~ "WARNING: wiederherstellbar: Netzwerkhost „%s“ ist ausgelastet; erneuter "
-#~ "Versuch in %d Sekunden …\n"
-
-#~ msgid "Warning, no Windows 2000 printer drivers are installed!"
-#~ msgstr "Achtung: Es sind keine Windows 2000 Druckertreiber installiert!"
-
-#~ msgid "You4 Envelope"
-#~ msgstr "You4 Umschlag"
-
-#~ msgid "convert: Use the -f option to specify a file to convert.\n"
-#~ msgstr ""
-#~ "konvertieren: Mit der -f Option eine Datei zum Konvertieren festlegen.\n"
-
-#~ msgid "cupsaddsmb: No PPD file for printer \"%s\" - %s\n"
-#~ msgstr "cupsaddsmb: keine PPD-Datei für Drucker „%s“ – %s\n"
-
-#~ msgid "cupsctl: Unable to connect to server: %s\n"
-#~ msgstr "cupsctl: Verbindungsaufbau zum Server fehlgeschlagen: %s\n"
-
-#~ msgid "cupsctl: Unknown option \"%s\"!\n"
-#~ msgstr "cupsctl: unbekannte Option „%s“!\n"
-
-#~ msgid "cupsctl: Unknown option \"-%c\"!\n"
-#~ msgstr "cupsctl: unbekannte Option „-%c“!\n"
-
-#~ msgid "cupsd: Expected config filename after \"-c\" option!\n"
-#~ msgstr "cupsd: „config filename“ erwartet nach '-c'-Option!\n"
-
-#~ msgid "cupsd: Unable to get current directory!\n"
-#~ msgstr "cupsd: Aktueller Ordner konnte nicht gefunden werden!\n"
-
-#~ msgid "cupsd: Unknown argument \"%s\" - aborting!\n"
-#~ msgstr "cupsd: unbekanntes Argument „%s“ – abbrechen!\n"
-
-#~ msgid "cupsd: Unknown option \"%c\" - aborting!\n"
-#~ msgstr "cupsd: unbekannte Option „%c“ – abbrechen!\n"
-
-#~ msgid "cupsd: launchd(8) support not compiled in, running in normal mode.\n"
-#~ msgstr ""
-#~ "cupsd: „launchd(8) support“ nicht übersetzt, in „normal mode“ ausführen.\n"
-
-#~ msgid "cupsfilter: Invalid document number %d!\n"
-#~ msgstr "cupsfilter: ungültige Dokumentnummer %d!\n"
-
-#~ msgid "cupsfilter: Invalid job ID %d!\n"
-#~ msgstr "cupsfilter: ungültige Druckauftrags-ID %d!\n"
-
-#~ msgid "cupsfilter: Only one filename can be specified!\n"
-#~ msgstr "cupsfilter: Nur ein Dateiname kann angegeben werden!\n"
-
-#~ msgid "cupsfilter: Unable to create temporary file: %s\n"
-#~ msgstr "cupsfilter: Temporäre Datei konnte nicht erstellt werden: %s\n"
-
-#~ msgid "cupsfilter: Unable to get job file - %s\n"
-#~ msgstr "cupsfilter: Druckauftragsdatei konnte nicht geladen werden – %s\n"
-
-#~ msgid "cupstestppd: The -q option is incompatible with the -v option.\n"
-#~ msgstr ""
-#~ "cupstestppd: '-q'-Option ist nicht kompatibel mit der '-v'-Option.\n"
-
-#~ msgid "cupstestppd: The -v option is incompatible with the -q option.\n"
-#~ msgstr ""
-#~ "cupstestppd: '-v'-Option ist nicht kompatibel mit der '-q'-Option.\n"
-
-#~ msgid "device for %s/%s: %s\n"
-#~ msgstr "Gerät für %s/%s: %s\n"
-
-#~ msgid "device for %s: %s\n"
-#~ msgstr "Gerät für %s: %s\n"
-
-#~ msgid "help\t\tget help on commands\n"
-#~ msgstr "help\t\tget help on commands\n"
-
-#~ msgid "job-printer-uri attribute missing!"
-#~ msgstr "job-printer-URI-Attribut fehlt!"
-
-#~ msgid "lpadmin: Class name can only contain printable characters!\n"
-#~ msgstr "lpadmin: Klassenname kann nur druckbare Zeichen enthalten!\n"
-
-#~ msgid "lpadmin: Expected PPD after '-P' option!\n"
-#~ msgstr "lpadmin: PPD erwartet nach '-P'-Option!\n"
-
-#~ msgid "lpadmin: Expected allow/deny:userlist after '-u' option!\n"
-#~ msgstr "lpadmin: „allow/deny:userlist“ erwartet nach '-u'-Option!\n"
-
-#~ msgid "lpadmin: Expected class after '-r' option!\n"
-#~ msgstr "lpadmin: Klasse erwartet nach '-r'-Option!\n"
-
-#~ msgid "lpadmin: Expected class name after '-c' option!\n"
-#~ msgstr "lpadmin: Klassenname erwartet nach '-c'-Option!\n"
-
-#~ msgid "lpadmin: Expected description after '-D' option!\n"
-#~ msgstr "lpadmin: Beschreibung erwartet nach '-D'-Option!\n"
-
-#~ msgid "lpadmin: Expected device URI after '-v' option!\n"
-#~ msgstr "lpadmin: Geräte-URI erwartet nach '-v'-Option!\n"
-
-#~ msgid "lpadmin: Expected file type(s) after '-I' option!\n"
-#~ msgstr "lpadmin: Dateityp(en) erwartet nach '-I'-Option!\n"
-
-#~ msgid "lpadmin: Expected hostname after '-h' option!\n"
-#~ msgstr "lpadmin: Hostname erwartet nach '-h'-Option!\n"
-
-#~ msgid "lpadmin: Expected interface after '-i' option!\n"
-#~ msgstr "lpadmin: Schnittstelle erwartet nach '-i'-Option!\n"
-
-#~ msgid "lpadmin: Expected location after '-L' option!\n"
-#~ msgstr "lpadmin: Standort erwartet nach '-L'-Option!\n"
-
-#~ msgid "lpadmin: Expected model after '-m' option!\n"
-#~ msgstr "lpadmin: Modell erwartet nach '-m'-Option!\n"
-
-#~ msgid "lpadmin: Expected name=value after '-o' option!\n"
-#~ msgstr "lpadmin: name=value erwartet nach '-o'-Option!\n"
-
-#~ msgid "lpadmin: Expected printer after '-p' option!\n"
-#~ msgstr "lpadmin: Drucker erwartet nach '-p'-Option!\n"
-
-#~ msgid "lpadmin: Expected printer name after '-d' option!\n"
-#~ msgstr "lpadmin: Druckername erwartet nach '-d'-Option!\n"
-
-#~ msgid "lpadmin: Expected printer or class after '-x' option!\n"
-#~ msgstr "lpadmin: Drucker oder Klasse erwartet nach '-x'-Option!\n"
-
-#~ msgid "lpadmin: No member names were seen!\n"
-#~ msgstr "lpadmin: Keine zugehörigen Namen gefunden!\n"
-
-#~ msgid "lpadmin: Printer %s is already a member of class %s.\n"
-#~ msgstr "lpadmin: Drucker „%s“ gehört bereits zur Klasse „%s“.\n"
-
-#~ msgid "lpadmin: Printer %s is not a member of class %s.\n"
-#~ msgstr "lpadmin: Drucker „%s“ gehört bereits zur Klasse „%s“.\n"
-
-#~ msgid "lpadmin: Printer name can only contain printable characters!\n"
-#~ msgstr "lpadmin: Druckername kann nur druckbare Zeichen enthalten!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to add a printer to the class:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Drucker konnte nicht zu der Klasse hinzugefügt werden:\n"
-#~ "         Legen Sie zuerst einen Druckernamen fest!\n"
-
-#~ msgid "lpadmin: Unable to connect to server: %s\n"
-#~ msgstr "lpadmin: Verbindungsaufbau zum Server fehlgeschlagen: %s\n"
-
-#~ msgid "lpadmin: Unable to create temporary file - %s\n"
-#~ msgstr "lpadmin: Temporäre Datei konnte nicht erstellt werden – %s\n"
-
-#~ msgid "lpadmin: Unable to create temporary file: %s\n"
-#~ msgstr "lpadmin: Temporäre Datei konnte nicht erstellt werden: %s\n"
-
-#~ msgid "lpadmin: Unable to open PPD file \"%s\" - %s\n"
-#~ msgstr "lpadmin: PPD-Datei „%s“ konnte nicht geöffnet werden – %s\n"
-
-#~ msgid "lpadmin: Unable to open file \"%s\": %s\n"
-#~ msgstr "lpadmin: Datei „%s“ konnte nicht geöffnet werden: %s\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to remove a printer from the class:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Drucker konnte nicht aus der Klasse entfernt werden:\n"
-#~ "         Legen Sie zuerst einen Druckernamen fest!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the PPD file:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Die PPD-Datei konnte nicht festgelegt werden:\n"
-#~ "         Legen Sie zuerst einen Druckernamen fest!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the device URI:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Die Geräte-URI konnte nicht festgelegt werden:\n"
-#~ "         Legen Sie zuerst einen Druckernamen fest!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the interface script or PPD file:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Das Schnittstellenskript oder die PPD-Datei konnten nicht "
-#~ "festgelegt werden:\n"
-#~ "         Legen Sie zuerst einen Druckernamen fest!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the interface script:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Das Schnittstellenskript konnte nicht festgelegt werden:\n"
-#~ "         Legen Sie zuerst einen Druckernamen fest!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer description:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Die Druckerbeschreibung konnte nicht festgelegt werden:\n"
-#~ "         Legen Sie zuerst einen Druckernamen fest!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer location:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Der Druckerstandort konnte nicht festgelegt werden:\n"
-#~ "         Legen Sie zuerst einen Druckernamen fest!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer options:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Die Druckeroptionen konnten nicht festgelegt werden:\n"
-#~ "         Legen Sie zuerst einen Druckernamen fest!\n"
-
-#~ msgid "lpadmin: Unknown allow/deny option \"%s\"!\n"
-#~ msgstr "lpadmin: unbekannte allow/deny-Option „%s“!\n"
-
-#~ msgid "lpadmin: Unknown argument '%s'!\n"
-#~ msgstr "lpadmin: unbekanntes Argument „%s“!\n"
-
-#~ msgid "lpadmin: Unknown option '%c'!\n"
-#~ msgstr "lpadmin: unbekannte Option '%c'!\n"
-
-#~ msgid "lpadmin: Warning - content type list ignored!\n"
-#~ msgstr "lpadmin: Achtung – Inhaltstypliste ignoriert!\n"
-
-#~ msgid "lpinfo: Expected 1284 device ID string after --device-id!\n"
-#~ msgstr "lpinfo: 1284 Geräte-ID String erwartet nach „--device-id“!\n"
-
-#~ msgid "lpinfo: Expected language after --language!\n"
-#~ msgstr "lpinfo: Sprache erwartet nach „--language“!\n"
-
-#~ msgid "lpinfo: Expected make and model after --make-and-model!\n"
-#~ msgstr "lpinfo: Hersteller und Modell erwartet nach „--make-and-model“!\n"
-
-#~ msgid "lpinfo: Expected product string after --product!\n"
-#~ msgstr "lpinfo: Produktstring erwartet nach „--product“!\n"
-
-#~ msgid "lpinfo: Expected scheme list after --exclude-schemes!\n"
-#~ msgstr "lpinfo: Schemaliste erwartet nach „--exclude-schemes“!\n"
-
-#~ msgid "lpinfo: Expected scheme list after --include-schemes!\n"
-#~ msgstr "lpinfo: Schemaliste erwartet nach „--include-schemes“!\n"
-
-#~ msgid "lpinfo: Expected timeout after --timeout!\n"
-#~ msgstr "lpinfo: Zeitüberschreitung erwartet nach „--timeout“!\n"
-
-#~ msgid "lpinfo: Unknown argument '%s'!\n"
-#~ msgstr "lpinfo: unbekanntes Argument „%s“!\n"
-
-#~ msgid "lpinfo: Unknown option '%c'!\n"
-#~ msgstr "lpinfo: unbekannte Option '%c'!\n"
-
-#~ msgid "lpinfo: Unknown option '%s'!\n"
-#~ msgstr "lpinfo: unbekannte Option '%s'!\n"
-
-#~ msgid "lpmove: Unable to connect to server: %s\n"
-#~ msgstr "lpmove: Verbindungsaufbau zum Server fehlgeschlagen: %s\n"
-
-#~ msgid "lpmove: Unknown argument '%s'!\n"
-#~ msgstr "lpmove: unbekanntes Argument „%s“!\n"
-
-#~ msgid "lpmove: Unknown option '%c'!\n"
-#~ msgstr "lpmove: unbekannte Option '%c'!\n"
-
-#~ msgid "lpoptions: No printers!?!\n"
-#~ msgstr "lpoptions: Keine Drucker!?!\n"
-
-#~ msgid "lpoptions: Unable to add printer or instance: %s\n"
-#~ msgstr ""
-#~ "lpoptions: Drucker oder Instanz konnten nicht hinzugefügt werden: %s\n"
-
-#~ msgid "lpoptions: Unable to get PPD file for %s: %s\n"
-#~ msgstr "lpoptions: PPD-Datei für „%s“ konnte nicht geladen werden: %s\n"
-
-#~ msgid "lpoptions: Unable to open PPD file for %s!\n"
-#~ msgstr "lpoptions: PPD-Datei für „%s“ konnte nicht geöffnet werden!\n"
-
-#~ msgid "lpoptions: Unknown printer or class!\n"
-#~ msgstr "lpoptions: Drucker oder Klasse unbekannt!\n"
-
-#~ msgid "lppasswd: Only root can add or delete passwords!\n"
-#~ msgstr "lppasswd: Nur „root“ kann Kennwörter hinzufügen und löschen!\n"
-
-#~ msgid "lppasswd: Password file busy!\n"
-#~ msgstr "lppasswd: Kennwortdatei wird gerade verwendet!\n"
-
-#~ msgid "lppasswd: Password file not updated!\n"
-#~ msgstr "lppasswd: Kennwortdatei ist nicht aktualisiert!\n"
-
-#~ msgid "lppasswd: Sorry, password doesn't match!\n"
-#~ msgstr "lppasswd: Kennwörter stimmen nicht überein!\n"
-
-#~ msgid ""
-#~ "lppasswd: Sorry, password rejected.\n"
-#~ "Your password must be at least 6 characters long, cannot contain\n"
-#~ "your username, and must contain at least one letter and number.\n"
-#~ msgstr ""
-#~ "lppasswd: Kennwort abgelehnt.\n"
-#~ "Das Kennwort muss mindestens 6 Zeichen lang sein, darf nicht Ihren "
-#~ "Benutzernamen enthalten und muss mindestens einen Buchstaben und eine "
-#~ "Zahl enthalten.\n"
-
-#~ msgid "lppasswd: Sorry, passwords don't match!\n"
-#~ msgstr "lppasswd: Kennwörter stimmen nicht überein!\n"
-
-#~ msgid "lppasswd: Unable to copy password string: %s\n"
-#~ msgstr "lppasswd: Kennwortstring konnte nicht kopiert werden: %s\n"
-
-#~ msgid "lppasswd: Unable to open password file: %s\n"
-#~ msgstr "lppasswd: Kennwortdatei konnte nicht geöffnet werden: %s\n"
-
-#~ msgid "lppasswd: Unable to write to password file: %s\n"
-#~ msgstr ""
-#~ "lppasswd: In die Kennwortdatei konnte nicht geschrieben werden: %s\n"
-
-#~ msgid "lppasswd: failed to backup old password file: %s\n"
-#~ msgstr "lppasswd: Sichern der alten Kennwortdatei fehlgeschlagen: %s\n"
-
-#~ msgid "lppasswd: failed to rename password file: %s\n"
-#~ msgstr "lppasswd: Kennwortdatei konnte nicht umbenannt werden: %s\n"
-
-#~ msgid "lppasswd: user \"%s\" and group \"%s\" do not exist.\n"
-#~ msgstr "lppasswd: Benutzer „%s“ und Gruppe „%s“ existieren nicht.\n"
-
-#~ msgid ""
-#~ "lpstat: error - %s environment variable names non-existent destination \"%"
-#~ "s\"!\n"
-#~ msgstr ""
-#~ "lpstat: Fehler – %s Umgebungsvariablennamen nicht vorhanden für Ziel „%"
-#~ "s“!\n"
-
-#~ msgid "members of class %s:\n"
-#~ msgstr "gehört zu Klasse „%s“:\n"
-
-#~ msgid "no entries\n"
-#~ msgstr "keine Einträge\n"
-
-#~ msgid "no system default destination\n"
-#~ msgstr "kein System-Standardzielort\n"
-
-#~ msgid "notify-events not specified!"
-#~ msgstr "„notify-events“ nicht festgelegt!"
-
-#~ msgid "notify-recipient-uri URI \"%s\" is already used!"
-#~ msgstr "notify-recipient-uri URI „%s“ wird bereits verwendet!"
-
-#~ msgid "notify-recipient-uri URI \"%s\" uses unknown scheme!"
-#~ msgstr "notify-recipient-uri URI „%s“ verwendet unbekanntes Schema!"
-
-#~ msgid "notify-subscription-id %d no good!"
-#~ msgstr "notify-subscription-id „%d“ ist ungültig!"
-
-#~ msgid "ppdc: Adding include directory \"%s\"...\n"
-#~ msgstr "ppdc: Ordner „%s“ hinzufügen …\n"
-
-#~ msgid "ppdc: Adding/updating UI text from %s...\n"
-#~ msgstr "ppdc: UI-Text von „%s“ hinzufügen/aktualisieren …\n"
-
-#~ msgid "ppdc: Bad boolean value (%s) on line %d of %s.\n"
-#~ msgstr "ppdc: Ungültiger Boolscher Wert (%s) in Zeile %d von %s.\n"
-
-#~ msgid "ppdc: Bad resolution name \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Ungültiger aufzulösender Name „%s“ in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Bad status keyword %s on line %d of %s!\n"
-#~ msgstr "ppdc: Ungültiges Status-Keyword „%s“ in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Bad variable substitution ($%c) on line %d of %s.\n"
-#~ msgstr "ppdc: Ungültige Variablenersetzung ($%c) in Zeile %d von %s.\n"
-
-#~ msgid "ppdc: Choice found on line %d of %s with no Option!\n"
-#~ msgstr "ppdc: Auswahl in Zeile %d von %s gefunden ohne Option!\n"
-
-#~ msgid "ppdc: Duplicate #po for locale %s on line %d of %s!\n"
-#~ msgstr "ppdc: Duplikat #po für Locale „%s“ in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Expected a filter definition on line %d of %s!\n"
-#~ msgstr "ppdc: Filterdefinition erwartet in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Expected a program name on line %d of %s!\n"
-#~ msgstr "ppdc: Programmname erwartet in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Expected boolean value on line %d of %s.\n"
-#~ msgstr "ppdc: Boolschen Wert erwartet in Zeile %d von %s.\n"
-
-#~ msgid "ppdc: Expected charset after Font on line %d of %s!\n"
-#~ msgstr "ppdc: Zeichensatz nach Schrift erwartet in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Expected choice code on line %d of %s.\n"
-#~ msgstr "ppdc: Auswahlcode erwartet in Zeile %d von %s.\n"
-
-#~ msgid "ppdc: Expected choice name/text on line %d of %s.\n"
-#~ msgstr "ppdc: Auswahlname/-text erwartet in Zeile %d von %s.\n"
-
-#~ msgid "ppdc: Expected color order for ColorModel on line %d of %s!\n"
-#~ msgstr "ppdc: Farbreihenfolge für ColorModel erwartet in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Expected colorspace for ColorModel on line %d of %s!\n"
-#~ msgstr "ppdc: Farbraum für ColorModel erwartet in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Expected compression for ColorModel on line %d of %s!\n"
-#~ msgstr "ppdc: Komprimierung für ColorModel erwartet in Zeile %d von %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected constraints string for UIConstraints on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Constraints String für UIConstraints erwartet in Zeile %d von %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected driver type keyword following DriverType on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc: Treibertyp-Keyword nach DriverType erwartet in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Expected duplex type after Duplex on line %d of %s!\n"
-#~ msgstr "ppdc: Duplextyp nach Duplex erwartet in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Expected encoding after Font on line %d of %s!\n"
-#~ msgstr "ppdc: Codierung nach Schrift erwartet in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Expected filename after #po %s on line %d of %s!\n"
-#~ msgstr "ppdc: Dateiname nach #po %s erwartet in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Expected group name/text on line %d of %s!\n"
-#~ msgstr "ppdc: Gruppenname/-text erwartet in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Expected include filename on line %d of %s!\n"
-#~ msgstr "ppdc: „include filename“ erwartet in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Expected integer on line %d of %s!\n"
-#~ msgstr "ppdc: „integer“ erwartet in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Expected locale after #po on line %d of %s!\n"
-#~ msgstr "ppdc: Locale nach #po erwartet in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Expected name after %s on line %d of %s!\n"
-#~ msgstr "ppdc: Name nach „%s“ erwartet in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Expected name after FileName on line %d of %s!\n"
-#~ msgstr "ppdc: Name nach FileName erwartet in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Expected name after Font on line %d of %s!\n"
-#~ msgstr "ppdc: Name nach Font erwartet in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Expected name after Manufacturer on line %d of %s!\n"
-#~ msgstr "ppdc: Name nach Manufacturer erwartet in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Expected name after MediaSize on line %d of %s!\n"
-#~ msgstr "ppdc: Name nach MediaSize erwartet in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Expected name after ModelName on line %d of %s!\n"
-#~ msgstr "ppdc: Name nach ModelName erwartet in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Expected name after PCFileName on line %d of %s!\n"
-#~ msgstr "ppdc: Name nach PCFileName erwartet in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Expected name/text after %s on line %d of %s!\n"
-#~ msgstr "ppdc: Name/Text nach „%s“ erwartet in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Expected name/text after Installable on line %d of %s!\n"
-#~ msgstr "ppdc: Name/Text nach Installable erwartet in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Expected name/text after Resolution on line %d of %s!\n"
-#~ msgstr "ppdc: Name/Text nach Resolution erwartet in Zeile %d von %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected name/text combination for ColorModel on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Kombination aus Name/Text für ColorModel erwartet in Zeile %d von %"
-#~ "s!\n"
-
-#~ msgid "ppdc: Expected option name/text on line %d of %s!\n"
-#~ msgstr "ppdc: Optionsname/-text erwartet in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Expected option section on line %d of %s!\n"
-#~ msgstr "ppdc: „option section“ erwartet in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Expected option type on line %d of %s!\n"
-#~ msgstr "ppdc: „option type“ erwartet in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Expected override field after Resolution on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: „override field“ nach Resolution erwartet in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Expected real number on line %d of %s!\n"
-#~ msgstr "ppdc: „real number“ erwartet in Zeile %d von %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected resolution/mediatype following ColorProfile on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc: „resolution/mediatype“ nach ColorProfile erwartet in Zeile %d von %"
-#~ "s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected resolution/mediatype following SimpleColorProfile on line %"
-#~ "d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: „resolution/mediatype“ nach SimpleColorProfile erwartet in Zeile %d "
-#~ "von %s!\n"
-
-#~ msgid "ppdc: Expected selector after %s on line %d of %s!\n"
-#~ msgstr "ppdc: „selector“ nach „%s“ erwartet in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Expected status after Font on line %d of %s!\n"
-#~ msgstr "ppdc: Status nach Font erwartet in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Expected string after Copyright on line %d of %s!\n"
-#~ msgstr "ppdc: „string“ nach Copyright erwartet in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Expected string after Version on line %d of %s!\n"
-#~ msgstr "ppdc: „string“ nach Version erwartet in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Expected two option names on line %d of %s!\n"
-#~ msgstr "ppdc: Zwei Optionsnamen erwartet in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Expected value after %s on line %d of %s!\n"
-#~ msgstr "ppdc: „value“ nach „%s“ erwartet in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Expected version after Font on line %d of %s!\n"
-#~ msgstr "ppdc: Version nach Font erwartet in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Invalid #include/#po filename \"%s\"!\n"
-#~ msgstr "ppdc: ungültiger #include/#po Dateiname „%s“!\n"
-
-#~ msgid "ppdc: Invalid cost for filter on line %d of %s!\n"
-#~ msgstr "ppdc: Ungültiges „cost“ für Filter in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Invalid empty MIME type for filter on line %d of %s!\n"
-#~ msgstr "ppdc: Ungültiger leerer MIME-Typ für Filter in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Invalid empty program name for filter on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Ungültiger leerer Programmname für Filter in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Invalid option section \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Ungültiger Optionsabschnitt „%s“ in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Invalid option type \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Ungültiger Optionstyp „%s“ in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Loading driver information file \"%s\"...\n"
-#~ msgstr "ppdc: Treiberinfodatei „%s“ laden …\n"
-
-#~ msgid "ppdc: Loading messages for locale \"%s\"...\n"
-#~ msgstr "ppdc: Meldungen für Locale „%s“ laden …\n"
-
-#~ msgid "ppdc: Loading messages from \"%s\"...\n"
-#~ msgstr "ppdc: Meldungen von „%s“ laden …\n"
-
-#~ msgid "ppdc: Missing #endif at end of \"%s\"!\n"
-#~ msgstr "ppdc: #endif fehlt am Ende von „%s“!\n"
-
-#~ msgid "ppdc: Missing #if on line %d of %s!\n"
-#~ msgstr "ppdc: #if fehlt in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: No message catalog provided for locale %s!\n"
-#~ msgstr "ppdc: Kein Message-Catalog verfügbar für Locale „%s“!\n"
-
-#~ msgid "ppdc: Option %s redefined with a different type on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Option „%s“ neu definiert durch anderen Typ in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Option constraint must *name on line %d of %s!\n"
-#~ msgstr "ppdc: Option „constraint must *name“ in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Too many nested #if's on line %d of %s!\n"
-#~ msgstr "ppdc: Zu viele verschachtelte #if in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Unable to create PPD file \"%s\" - %s.\n"
-#~ msgstr "ppdc: PPD-Datei „%s“ konnte nicht erstellt werden – %s.\n"
-
-#~ msgid "ppdc: Unable to create output directory %s: %s\n"
-#~ msgstr "ppdc: Ausgabeordner „%s“ konnte nicht erstellt werden: %s\n"
-
-#~ msgid "ppdc: Unable to create output pipes: %s\n"
-#~ msgstr "ppdc: Ausgabekanäle konnten nicht erstellt werden: %s\n"
-
-#~ msgid "ppdc: Unable to execute cupstestppd: %s\n"
-#~ msgstr "ppdc: cupstestppd konnte nicht ausgeführt werden: %s\n"
-
-#~ msgid "ppdc: Unable to find #po file %s on line %d of %s!\n"
-#~ msgstr "ppdc: #po-Datei „%s“ wurde nicht gefunden in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Unable to find include file \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: include-Datei „%s“ wurde nicht gefunden in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Unable to find localization for \"%s\" - %s\n"
-#~ msgstr "ppdc: Lokalisierung für „%s“ wurde nicht gefunden – %s\n"
-
-#~ msgid "ppdc: Unable to load localization file \"%s\" - %s\n"
-#~ msgstr "ppdc: Lokalisierungsdatei „%s“ konnte nicht geladen werden – %s\n"
-
-#~ msgid "ppdc: Undefined variable (%s) on line %d of %s.\n"
-#~ msgstr "ppdc: Nicht defnierte Variable (%s) in Zeile %d von %s.\n"
-
-#~ msgid "ppdc: Unknown driver type %s on line %d of %s!\n"
-#~ msgstr "ppdc: Unbekannter Treibertyp „%s“ in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Unbekannter Duplextyp „%s“ in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Unknown media size \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Unbekannte Mediengröße „%s“ in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Unknown token \"%s\" seen on line %d of %s!\n"
-#~ msgstr "ppdc: Unbekannter Token „%s“ gefunden in Zeile %d von %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Unknown trailing characters in real number \"%s\" on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc: Unbekannte nachfolgende Zeichen in Real Number „%s“ in Zeile %d von "
-#~ "%s!\n"
-
-#~ msgid "ppdc: Unterminated string starting with %c on line %d of %s!\n"
-#~ msgstr "ppdc: Unvollständiger String beginnend mit %c in Zeile %d von %s!\n"
-
-#~ msgid "ppdc: Writing %s...\n"
-#~ msgstr "ppdc: %s schreiben …\n"
-
-#~ msgid "ppdc: Writing PPD files to directory \"%s\"...\n"
-#~ msgstr "ppdc: PPD-Dateien schreiben in Ordner „%s“ …\n"
-
-#~ msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s!\n"
-#~ msgstr "ppdmerge: Ungültige LanguageVersion „%s“ in %s!\n"
-
-#~ msgid "ppdmerge: Ignoring PPD file %s...\n"
-#~ msgstr "ppdmerge: PPD-Datei „%s“ ignorieren …\n"
-
-#~ msgid "ppdmerge: Unable to backup %s to %s- %s\n"
-#~ msgstr "ppdmerge: Backup von „%s“ auf %s fehlgeschlagen – %s\n"
-
-#~ msgid "printer %s disabled since %s -\n"
-#~ msgstr "Drucker „%s“ deaktiviert seit %s -\n"
-
-#~ msgid "printer %s is idle.  enabled since %s\n"
-#~ msgstr "Drucker „%s“ ist inaktiv; aktiviert seit %s\n"
-
-#~ msgid "printer %s now printing %s-%d.  enabled since %s\n"
-#~ msgstr "Drucker „%s“ druckt gerade %s–%d; aktiviert seit %s\n"
-
-#~ msgid "printer %s/%s disabled since %s -\n"
-#~ msgstr "Drucker „%s/%s“ deaktiviert seit %s -\n"
-
-#~ msgid "printer %s/%s is idle.  enabled since %s\n"
-#~ msgstr "Drucker „%s/%s“ ist inaktiv; aktiviert seit %s\n"
-
-#~ msgid "printer %s/%s now printing %s-%d.  enabled since %s\n"
-#~ msgstr "Drucker „%s/%s“ druckt gerade %s–%d; aktiviert seit %s\n"
-
-#~ msgid "request id is %s-%d (%d file(s))\n"
-#~ msgstr "Anfrage-ID ist %s–%d (%d Datei(en))\n"
-
-#~ msgid "scheduler is not running\n"
-#~ msgstr "Scheduler ist nicht aktiv\n"
-
-#~ msgid "scheduler is running\n"
-#~ msgstr "Scheduler ist aktiv\n"
-
-#~ msgid "status\t\tshow status of daemon and queue\n"
-#~ msgstr "Status\t\tStatus für Daemon und Warteliste anzeigen\n"
-
-#~ msgid "system default destination: %s\n"
-#~ msgstr "System-Standardzielort: %s\n"
-
-#~ msgid "system default destination: %s/%s\n"
-#~ msgstr "System-Standardzielort: %s/%s\n"
index 8c96159..b5e7b0a 100644 (file)
@@ -3,7 +3,7 @@
 #
 #   Spanish message catalog for CUPS.
 #
-#   Copyright 2007-2011 by Apple Inc.
+#   Copyright 2007-2012 by Apple Inc.
 #   Copyright 2005-2007 by Easy Software Products.
 #
 #   These coded instructions, statements, and computer programs are the
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: CUPS 1.5\n"
+"Project-Id-Version: CUPS 1.6\n"
 "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2012-03-07 13:38-0800\n"
-"PO-Revision-Date: 2011-06-18 19:16+0100\n"
+"POT-Creation-Date: 2013-07-08 07:38-0400\n"
+"PO-Revision-Date: 2012-07-01 20:21+0100\n"
 "Last-Translator: Juan Pablo González Riopedre <riopedre13@yahoo.es>\n"
 "Language-Team: Spanish\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Language: \n"
 
 msgid "\t\t(all)"
 msgstr "\t\t(todos)"
@@ -391,7 +391,7 @@ msgstr "      %s  Valor cupsFilter \"%s\" incorrecto."
 
 #, c-format
 msgid "      %s  Bad cupsFilter2 value \"%s\"."
-msgstr ""
+msgstr "      %s  Valor cupsFilter2 incorrecto \"%s\"."
 
 #, c-format
 msgid "      %s  Bad cupsICCProfile %s."
@@ -522,12 +522,6 @@ msgid ""
 msgstr "      %s  cupsUIResolver %s no lista al menos dos opciones diferentes."
 
 #, c-format
-msgid "      **FAIL**  %s choice names %s and %s differ only by case."
-msgstr ""
-"      **FALLO**  %s nombres de opción %s y %s se diferencian sólo en la "
-"capitalización."
-
-#, c-format
 msgid ""
 "      **FAIL**  %s must be 1284DeviceID\n"
 "                REF: Page 72, section 5.5"
@@ -537,113 +531,107 @@ msgstr ""
 
 #, c-format
 msgid ""
-"      **FAIL**  BAD Default%s %s\n"
+"      **FAIL**  Bad Default%s %s\n"
 "                REF: Page 40, section 4.5."
 msgstr ""
-"      **FALLO**  Default%s %s INCORRECTO\n"
+"      **FALLO**  Default%s %s incorrecto\n"
 "                REF: Página 40, sección 4.5."
 
 #, c-format
 msgid ""
-"      **FAIL**  BAD DefaultImageableArea %s\n"
+"      **FAIL**  Bad DefaultImageableArea %s\n"
 "                REF: Page 102, section 5.15."
 msgstr ""
-"      **FALLO**  DefaultImageableArea %s INCORRECTO\n"
+"      **FALLO**  DefaultImageableArea %s incorrecto\n"
 "                REF: Página 102, sección 5.15."
 
 #, c-format
 msgid ""
-"      **FAIL**  BAD DefaultPaperDimension %s\n"
+"      **FAIL**  Bad DefaultPaperDimension %s\n"
 "                REF: Page 103, section 5.15."
 msgstr ""
-"      **FALLO**  DefaultPaperDimension %s INCORRECTO\n"
+"      **FALLO**  DefaultPaperDimension %s incorrecto\n"
 "                REF: Página 103, sección 5.15."
 
+#, c-format
+msgid ""
+"      **FAIL**  Bad FileVersion \"%s\"\n"
+"                REF: Page 56, section 5.3."
+msgstr ""
+"      **FALLO**  FileVersion \"%s\" incorrecto\n"
+"                REF: Página 56, sección 5.3."
+
+#, c-format
+msgid ""
+"      **FAIL**  Bad FormatVersion \"%s\"\n"
+"                REF: Page 56, section 5.3."
+msgstr ""
+"      **FALLO**  FormatVersion \"%s\" incorrecto\n"
+"                REF: Página 56, sección 5.3."
+
 msgid ""
-"      **FAIL**  BAD JobPatchFile attribute in file\n"
+"      **FAIL**  Bad JobPatchFile attribute in file\n"
 "                REF: Page 24, section 3.4."
 msgstr ""
-"      **FALLO**  Atributo JobPatchFile en archivo, INCORRECTO\n"
+"      **FALLO**  Atributo JobPatchFile en archivo, incorrecto\n"
 "                REF: Página 24, sección 3.4."
 
-msgid ""
-"      **FAIL**  BAD Manufacturer (should be \"HP\")\n"
-"                REF: Page 211, table D.1."
+#, c-format
+msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1."
 msgstr ""
-"      **FALLO**  Fabricante INCORRECTO (debería ser \"HP\")\n"
-"                REF: Página 211, tabla D.1."
+"      **FALLO**  LanguageEncoding %s incorrecto: debería ser ISOLatin1."
 
+#, c-format
+msgid "      **FAIL**  Bad LanguageVersion %s - must be English."
+msgstr ""
+"      **FALLO**  LanguageVersion %s incorrecto: debería ser English (Inglés)."
+
+#, c-format
 msgid ""
-"      **FAIL**  BAD Manufacturer (should be \"Oki\")\n"
+"      **FAIL**  Bad Manufacturer (should be \"%s\")\n"
 "                REF: Page 211, table D.1."
 msgstr ""
-"      **FALLO**  Fabricante INCORRECTO (debería ser \"Oki\")\n"
+"      **FALLO**  Fabricante incorrecto (debería ser \"%s\")\n"
 "                REF: Página 211, tabla D.1."
 
 #, c-format
 msgid ""
-"      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n"
+"      **FAIL**  Bad ModelName - \"%c\" not allowed in string.\n"
 "                REF: Pages 59-60, section 5.3."
 msgstr ""
-"      **FALLO**  ModelName INCORRECTO - \"%c\" no permitido en la cadena.\n"
+"      **FALLO**  ModelName incorrecto - \"%c\" no permitido en la cadena.\n"
 "                REF: Páginas 59-60, sección 5.3."
 
 msgid ""
-"      **FAIL**  BAD PSVersion - not \"(string) int\".\n"
+"      **FAIL**  Bad PSVersion - not \"(string) int\".\n"
 "                REF: Pages 62-64, section 5.3."
 msgstr ""
-"      **FALLO**  PSVersion INCORRECTO - no es \"(string) int\".\n"
+"      **FALLO**  PSVersion incorrecto - no es \"(string) int\".\n"
 "                REF: Páginas 62-64, sección 5.3."
 
 msgid ""
-"      **FAIL**  BAD Product - not \"(string)\".\n"
+"      **FAIL**  Bad Product - not \"(string)\".\n"
 "                REF: Page 62, section 5.3."
 msgstr ""
-"      **FALLO**  Product INCORRECTO - no es \"(string)\".\n"
+"      **FALLO**  Product incorrecto - no es \"(string)\".\n"
 "                REF: Página 62, sección 5.3."
 
 msgid ""
-"      **FAIL**  BAD ShortNickName - longer than 31 chars.\n"
+"      **FAIL**  Bad ShortNickName - longer than 31 chars.\n"
 "                REF: Pages 64-65, section 5.3."
 msgstr ""
-"      **FALLO**  ShortNickName INCORRECTO - mayor de 31 caracteres.\n"
+"      **FALLO**  ShortNickName incorrecto - mayor de 31 caracteres.\n"
 "                REF: Páginas 64-65, sección 5.3."
 
 #, c-format
 msgid ""
-"      **FAIL**  Bad %s choice %s\n"
+"      **FAIL**  Bad option %s choice %s\n"
 "                REF: Page 84, section 5.9"
 msgstr ""
-"      **FALLO**  Preferencia %s incorrecta %s\n"
+"      **FALLO**  Opción %s, preferencia %s incorrecta\n"
 "                REF: Página 84, sección 5.9"
 
 #, c-format
-msgid ""
-"      **FAIL**  Bad FileVersion \"%s\"\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-"      **FALLO**  FileVersion \"%s\" incorrecto\n"
-"                REF: Página 56, sección 5.3."
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad FormatVersion \"%s\"\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-"      **FALLO**  FormatVersion \"%s\" incorrecto\n"
-"                REF: Página 56, sección 5.3."
-
-#, c-format
-msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1."
-msgstr ""
-"      **FALLO**  LanguageEncoding %s incorrecto: debería ser ISOLatin1."
-
-#, c-format
-msgid "      **FAIL**  Bad LanguageVersion %s - must be English."
-msgstr ""
-"      **FALLO**  LanguageVersion %s incorrecto: debería ser English (Inglés)."
-
-#, c-format
 msgid "      **FAIL**  Default option code cannot be interpreted: %s"
 msgstr ""
 "      **FALLO**  El código de opción predeterminado no puede ser "
@@ -672,8 +660,15 @@ msgstr ""
 "capitalización."
 
 #, c-format
-msgid "      **FAIL**  Multiple occurrences of %s choice name %s."
-msgstr "      **FALLO**  Múltiples apariciones de %s nombre de opción %s."
+msgid "      **FAIL**  Multiple occurrences of option %s choice name %s."
+msgstr ""
+"      **FALLO**  Múltiples apariciones de opción %s nombre de preferencia %s."
+
+#, c-format
+msgid "      **FAIL**  Option %s choice names %s and %s differ only by case."
+msgstr ""
+"      **FALLO**  Opción %s nombres de preferencia %s y %s se diferencian "
+"sólo en la capitalización."
 
 #, c-format
 msgid "      **FAIL**  Option names %s and %s differ only by case."
@@ -824,10 +819,6 @@ msgstr ""
 "                REF: Página 64-65, sección 5.3."
 
 #, c-format
-msgid "      **FAIL**  Unable to open PPD file - %s"
-msgstr "      **FALLO**  No se ha podido abrir el archivo PPD - %s"
-
-#, c-format
 msgid "      **FAIL**  Unable to open PPD file - %s on line %d."
 msgstr ""
 "      **FALLO**  No se ha podido abrir el archivo PPD - %s en la línea %d."
@@ -942,9 +933,6 @@ msgstr "  --[no-]remote-admin     Activar/desactivar administración remota."
 msgid "  --[no-]remote-any       Allow/prevent access from the Internet."
 msgstr "  --[no-]remote-any       Permitir/evitar acceso desde Internet."
 
-msgid "  --[no-]remote-printers  Show/hide remote printers."
-msgstr "  --[no-]remote-printers  Mostrar/ocultar impresoras remotas."
-
 msgid "  --[no-]share-printers   Turn printer sharing on/off."
 msgstr ""
 "  --[no-]share-printers   Activar/desactivar compartición de impresoras."
@@ -960,9 +948,8 @@ msgstr "  --cr                    Finalizar líneas con CR (Mac OS 9)."
 msgid "  --crlf                  End lines with CR + LF (Windows)."
 msgstr "  --crlf                  Finalizar líneas con CR + LF (Windows)."
 
-msgid "  --lf                    End lines with LF (UNIX/Linux/Mac OS X)."
-msgstr ""
-"  --lf                    Finalizar líneas con LF (UNIX/Linux/Mac OS X)."
+msgid "  --lf                    End lines with LF (UNIX/Linux/OS X)."
+msgstr "  --lf                    Finalizar líneas con LF (UNIX/Linux/OS X)."
 
 msgid "  -4                      Connect using IPv4."
 msgstr "  -4                      Conectar usando IPv4."
@@ -981,14 +968,11 @@ msgstr "  -D                      Eliminar el archivo de entrada al terminar."
 msgid "  -D name=value           Set named variable to value."
 msgstr "  -D nombre=valor           Establece la variable nombre al valor."
 
-msgid "  -E                      Enable encryption."
-msgstr "  -E                      Activar cifrado."
-
-msgid "  -E                      Encrypt the connection to the server."
-msgstr "  -E                      Cifra la conexión al servidor."
+msgid "  -E                      Encrypt the connection."
+msgstr "  -E                      Cifra la conexión."
 
-msgid "  -E                      Test with TLS encryption."
-msgstr "  -E                      Prueba con cifrado TLS."
+msgid "  -E                      Test with HTTP Upgrade to TLS."
+msgstr "  -E                      Prueba con actualización HTTP a TLS."
 
 msgid ""
 "  -F                      Run in the foreground but detach from console."
@@ -1009,9 +993,6 @@ msgstr ""
 msgid "  -I {filename,filters,none,profiles}"
 msgstr "  -I {filename,filters,none,profiles}"
 
-msgid "  -J title                Set title."
-msgstr "  -J título                Establece título."
-
 msgid "  -L                      Send requests using content-length."
 msgstr "  -L                      Envía peticiones usando content-length."
 
@@ -1024,21 +1005,11 @@ msgstr "  -R directorio-raíz       Establece directorio raíz alternativo."
 msgid "  -S                      Test with SSL encryption."
 msgstr "  -S                      Prueba con cifrado SSL."
 
-msgid "  -T                      Set the receive/send timeout in seconds."
+msgid "  -T seconds              Set the receive/send timeout in seconds."
 msgstr ""
-"  -T                      Establece el tiempo de espera de recepción/envío "
+"  -T segundos             Establece el tiempo de espera de recepción/envío "
 "en segundos."
 
-msgid "  -U samba-user           Authenticate using the named SAMBA user."
-msgstr ""
-"  -U ususario-samba           Autentifica usando el usuario SAMBA "
-"especificado."
-
-msgid "  -U username             Set username for job."
-msgstr ""
-"  -U nombre_usuario             Establece el nombre de usuario para el "
-"trabajo."
-
 msgid "  -U username             Specify username."
 msgstr "  -U nombre_usuario             Especifica el nombre de usuario."
 
@@ -1059,19 +1030,9 @@ msgstr ""
 msgid "  -a                      Export all printers."
 msgstr "  -a                      Exporta todas las impresoras."
 
-msgid "  -a 'name=value ...'     Set option(s)."
-msgstr "  -a 'nombre=valor ...'     Establece opción(es)."
-
 msgid "  -c catalog.po           Load the specified message catalog."
 msgstr "  -c catálogo.po           Carga el catálogo de mensajes especificado."
 
-msgid "  -c config-file          Load alternate configuration file."
-msgstr ""
-"  -c archivo-config          Carga archivo de configuración alternativo."
-
-msgid "  -c copies               Set number of copies."
-msgstr "  -c copias               Establece el número de copias."
-
 msgid "  -c cupsd.conf           Set cupsd.conf file to use."
 msgstr "  -c cupsd.conf           Establece el archivo cupsd.conf a usar."
 
@@ -1094,17 +1055,9 @@ msgid "  -f filename             Set default request filename."
 msgstr ""
 "  -f nombre_archivo             Establece nombre de archivo predeterminado."
 
-msgid "  -f filename             Set file to be converted (otherwise stdin)."
-msgstr ""
-"  -f nombre_archivo             Establece el archivo que va a ser convertido "
-"(si no, stdin)."
-
 msgid "  -h                      Show this usage message."
 msgstr "  -h                      Muestra este mensaje de uso."
 
-msgid "  -h cups-server          Use the named CUPS server."
-msgstr "  -h servidor-cups          Usa el servidor CUPS especificado."
-
 msgid "  -h server[:port]        Specify server address."
 msgstr "  -h servidor[:puerto]        Especifica la dirección del servidor."
 
@@ -1126,12 +1079,6 @@ msgstr ""
 "  -j id-trabajo[,N]           Filtra el archivo N desde el trabajo "
 "especificado (predeterminado archivo 1)."
 
-msgid ""
-"  -j mime/type            Set output MIME type (otherwise application/pdf)."
-msgstr ""
-"  -j tipo/mime            Establece el tipo MIME de salida (si no, "
-"application/pdf)."
-
 msgid "  -l                      Run cupsd from launchd(8)."
 msgstr "  -l                      Ejecuta cupsd desde launchd(8)."
 
@@ -1159,11 +1106,6 @@ msgstr ""
 "  -n contador                Repite el último archivo el número de veces "
 "especificado."
 
-msgid "  -o filename             Set file to be generated (otherwise stdout)."
-msgstr ""
-"  -o nombre_archivo             Establece el archivo que va a ser generado "
-"(si no, stdout)."
-
 msgid ""
 "  -o filename.drv         Set driver information file (otherwise ppdi.drv)."
 msgstr ""
@@ -1181,9 +1123,6 @@ msgstr "  -o nombre=valor           Establece opciones."
 msgid "  -p filename.ppd         Set PPD file."
 msgstr "  -p nombre_archivo.ppd         Establece archivo PPD."
 
-msgid "  -q                      Be quiet - no output except errors."
-msgstr "  -q                      Silencioso - sin salida excepto errores."
-
 msgid "  -q                      Run silently."
 msgstr "  -q                      Ejecución silenciosa."
 
@@ -1205,18 +1144,8 @@ msgstr "  -t título                Establece título."
 msgid "  -u                      Remove the PPD file when finished."
 msgstr "  -u                      Borra el archivo PPD tras terminar."
 
-msgid "  -v                      Be slightly verbose."
-msgstr "  -v                      Ser ligeramente detallado."
-
-msgid "  -v                      Be verbose (more v's for more verbosity)."
-msgstr "  -v                      Ser detallado (más v's para más detalle)."
-
-msgid "  -v                      Be verbose (show commands)."
-msgstr "  -v                      Ser detallado (mostrar comandos)."
-
-msgid "  -v                      Show all attributes sent and received."
-msgstr ""
-"  -v                      Mostrar todos los atributos enviados y recibidos."
+msgid "  -v                      Be verbose."
+msgstr "  -v                     Ser detallado."
 
 msgid "  -vv                     Be very verbose."
 msgstr "  -vv                     Ser muy detallado."
@@ -1239,22 +1168,6 @@ msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes"
 msgstr "%-7s %-7.7s %-7d %-31.31s %.0f bytes"
 
 #, c-format
-msgid "%.0f x %.0f millimeters"
-msgstr "%.0f x %.0f milímetros"
-
-#, c-format
-msgid "%.0f x %.0f to %.0f x %.0f millimeters"
-msgstr "%.0f x %.0f a %.0f x %.0f milímetros"
-
-#, c-format
-msgid "%.2f x %.2f inches"
-msgstr "%.2f x %.2f pulgadas"
-
-#, c-format
-msgid "%.2f x %.2f to %.2f x %.2f inches"
-msgstr "%.2f x %.2f a %.2f x %.2f pulgadas"
-
-#, c-format
 msgid "%s accepting requests since %s"
 msgstr "%s aceptando peticiones desde %s"
 
@@ -1322,6 +1235,10 @@ msgstr ""
 "%s: Error - %s nombres de variables de entorno no existen en destino \"%s\"."
 
 #, c-format
+msgid "%s: Error - add '/version=1.1' to server name."
+msgstr ""
+
+#, c-format
 msgid "%s: Error - bad job ID."
 msgstr "%s: Error - ID de trabajo incorrecta."
 
@@ -1952,9 +1869,6 @@ msgstr "3.5 x 5"
 msgid "3.5\" Disk"
 msgstr "Disco de 3.5 pulg."
 
-msgid "3.5\" Disk - 2 1/8 x 2 3/4\""
-msgstr "Disco de 3.5 pulg. - 2 1/8 x 2 3/4 pulg."
-
 msgid "3.50x1.00\""
 msgstr "3.50x1.00 pulg."
 
@@ -2299,9 +2213,6 @@ msgstr "Añadir subscripción RSS"
 msgid "Address"
 msgstr "Dirección"
 
-msgid "Address - 1 1/8 x 3 1/2\""
-msgstr "Dirección - 1 1/8 x 3 1/2 pulg."
-
 msgid "Administration"
 msgstr "Administración"
 
@@ -2317,8 +2228,8 @@ msgstr "Aplicador"
 #, c-format
 msgid "Attempt to set %s printer-state to bad value %d."
 msgstr ""
-"Se ha intentado cambiar el valor printer-state de %s a un valor incorrecto %"
-"d."
+"Se ha intentado cambiar el valor printer-state de %s a un valor incorrecto "
+"%d."
 
 #, c-format
 msgid "Attribute groups are out of order (%x < %x)."
@@ -2360,6 +2271,10 @@ msgstr "B8"
 msgid "B9"
 msgstr "B9"
 
+#, c-format
+msgid "Bad 'document-format' value \"%s\"."
+msgstr ""
+
 msgid "Bad NULL dests pointer"
 msgstr "Puntero destino NULLincorrecto"
 
@@ -2385,25 +2300,9 @@ msgid "Bad UIConstraints"
 msgstr "UIConstraints incorrecto"
 
 #, c-format
-msgid "Bad charset file \"%s\"."
-msgstr "Archivo de juego de caracteres incorrecto \"%s\"."
-
-#, c-format
-msgid "Bad charset type: %s"
-msgstr "Tipo de juego de caracteres incorrecto: %s"
-
-#, c-format
-msgid "Bad columns value %d."
-msgstr "Valor de número de columnas %d incorrecto."
-
-#, c-format
 msgid "Bad copies value %d."
 msgstr "Valor de copias %d incorrecto."
 
-#, c-format
-msgid "Bad cpi value %f."
-msgstr "Valor de cpi %f incorrecto."
-
 msgid "Bad custom parameter"
 msgstr "Parámetro a medida incorrecto"
 
@@ -2426,13 +2325,14 @@ msgstr "document-format-default \"%s\" incorrecto."
 msgid "Bad filename buffer"
 msgstr "Nombre de archivo del búfer incorrecto"
 
-#, c-format
-msgid "Bad font description line \"%s\"."
-msgstr "Línea de descripción tipográfica incorrecta: \"%s\"."
+msgid "Bad job-name value: Bad UTF-8 sequence."
+msgstr ""
 
-#, c-format
-msgid "Bad font description line: %s"
-msgstr "Línea de descripción tipográfica incorrecta: %s"
+msgid "Bad job-name value: Name too long."
+msgstr ""
+
+msgid "Bad job-name value: Wrong type or count."
+msgstr ""
 
 msgid "Bad job-priority value."
 msgstr "Valor job-priority incorrecto."
@@ -2452,10 +2352,6 @@ msgid "Bad job-uri \"%s\"."
 msgstr "job-uri \"%s\" incorrecto."
 
 #, c-format
-msgid "Bad lpi value %f."
-msgstr "Valor de lpi %f incorrecto."
-
-#, c-format
 msgid "Bad notify-pull-method \"%s\"."
 msgstr "notify-pull-method \"%s\" incorrecto."
 
@@ -2479,6 +2375,9 @@ msgstr "Valores de page-ranges %d-%d incorrectos."
 msgid "Bad port-monitor \"%s\"."
 msgstr "port-monitor \"%s\" incorrecto."
 
+msgid "Bad printer URI."
+msgstr "URI de impresora incorrecto."
+
 #, c-format
 msgid "Bad printer-state value %d."
 msgstr "Valor printer-state %d incorrecto."
@@ -2494,31 +2393,12 @@ msgstr "Petición incorrecta de número de versión %d.%d."
 msgid "Bad subscription ID"
 msgstr "ID de subscripción incorrecto"
 
-#, c-format
-msgid "Bad text direction \"%s\"."
-msgstr "Dirección de texto incorrecta \"%s\"."
-
-#, c-format
-msgid "Bad text direction: %s"
-msgstr "Dirección de texto incorrecta: %s"
-
-#, c-format
-msgid "Bad text width \"%s\"."
-msgstr "Anchura de texto incorrecta \"%s\"."
-
-#, c-format
-msgid "Bad text width: %s"
-msgstr "Anchura de texto incorrecta: %s"
-
 msgid "Bad value string"
 msgstr "Cadena de valores incorrecta"
 
 msgid "Banners"
 msgstr "Rótulos"
 
-msgid "Billing Information: "
-msgstr "Información de facturación: "
-
 msgid "Bond Paper"
 msgstr "Papel de cartas"
 
@@ -2602,9 +2482,6 @@ msgstr "Copiando datos de impresión."
 msgid "Created"
 msgstr "Creado"
 
-msgid "Created On: "
-msgstr "Creado en: "
-
 msgid "Custom"
 msgstr "A medida"
 
@@ -2635,9 +2512,6 @@ msgstr "Borrar clase"
 msgid "Delete Printer"
 msgstr "Borrar impresora"
 
-msgid "Description: "
-msgstr "Descripción: "
-
 msgid "DeskJet Series"
 msgstr "DeskJet Series"
 
@@ -2691,12 +2565,6 @@ msgstr "Deshabilitado"
 msgid "Document #%d does not exist in job #%d."
 msgstr "El documento #%d no existe en el trabajo #%d."
 
-msgid "Driver Name: "
-msgstr "Nombre del controlador: "
-
-msgid "Driver Version: "
-msgstr "Versión del controlador: "
-
 msgid "Duplexer"
 msgstr "Unidad de impresión dúplex"
 
@@ -2982,19 +2850,16 @@ msgstr "Archivo \"%s\" no disponible: %s"
 msgid "File \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
 msgstr "Permisos del archivo \"%s\" OK (0%o/uid=%d/gid=%d)."
 
-msgid "File Folder"
-msgstr "Carpeta de archivos"
-
-msgid "File Folder - 9/16 x 3 7/16\""
-msgstr "Carpeta de archivosr - 9/16 x 3 7/16 pulg."
+msgid "File Folder "
+msgstr "Carpeta de archivo"
 
 #, c-format
 msgid ""
 "File device URIs have been disabled. To enable, see the FileDevice directive "
-"in \"%s/cupsd.conf\"."
+"in \"%s/cups-files.conf\"."
 msgstr ""
 "Los URIs del dispositivo de archivo han sido deshabilitados. Para "
-"habilitarlos, vea la directiva FileDevice en \"%s/cupsd.conf\"."
+"habilitarlos, vea la directiva FileDevice en \"%s/cups-files.conf\"."
 
 #, c-format
 msgid "Finished page %d."
@@ -3006,10 +2871,6 @@ msgstr "Folio"
 msgid "Forbidden"
 msgstr "Prohibido"
 
-#, c-format
-msgid "Formatting page %d."
-msgstr "Formateando página %d."
-
 msgid "General"
 msgstr "General"
 
@@ -3034,59 +2895,71 @@ msgstr "HP"
 msgid "Hanging Folder"
 msgstr "Carpeta colgante"
 
-msgid "Hanging Folder - 9/16 x 2\""
-msgstr "Carpeta colgante - 9/16 x 2 pulg."
+msgid "Help file not in index."
+msgstr "El archivo de ayuda no está en el índice"
 
 msgid "IPP 1setOf attribute with incompatible value tags."
-msgstr ""
+msgstr "IPP atributo 1setOf con etiquetas de valor incompatibles"
 
 msgid "IPP attribute has no name."
-msgstr ""
+msgstr "IPP atributo sin nombre"
+
+msgid "IPP attribute is not a member of the message."
+msgstr "El atributo IPP no es un miembro del mensaje."
 
 msgid "IPP begCollection value not 0 bytes."
-msgstr ""
+msgstr "IPP el valor begCollection no es de 0 bytes."
 
 msgid "IPP boolean value not 1 byte."
-msgstr ""
+msgstr "IPP el valor lógico no es de 1 byte."
 
 msgid "IPP date value not 11 bytes."
-msgstr ""
+msgstr "IPP el valor de fecha no es de 11 bytes."
 
 msgid "IPP endCollection value not 0 bytes."
-msgstr ""
+msgstr "IPP el valor endCollection no es de 0 bytes."
 
 msgid "IPP enum value not 4 bytes."
-msgstr ""
+msgstr "IPP el valor enum no es de 4 bytes."
+
+msgid "IPP extension tag larger than 0x7FFFFFFF."
+msgstr "IPP etiqueta de extensión mayor de 0x7FFFFFFF."
 
 msgid "IPP integer value not 4 bytes."
-msgstr ""
+msgstr "IPP el valor entero no es de 4 bytes."
 
 msgid "IPP language length overflows value."
-msgstr ""
+msgstr "IPP la longitud del idioma sobrepasa el valor."
 
 msgid "IPP member name is not empty."
+msgstr "IPP el nombre del miembro no está vacío."
+
+msgid "IPP memberName value is empty."
+msgstr "IPP el valor memberName está vacío."
+
+msgid "IPP memberName with no attribute."
 msgstr ""
 
 msgid "IPP name larger than 32767 bytes."
-msgstr ""
+msgstr "IPP nombre mayor de 32767 bytes."
 
 msgid "IPP nameWithLanguage value less than minimum 4 bytes."
-msgstr ""
+msgstr "IPP el valor nameWithLanguage menor del mínimo de 4 bytes."
 
 msgid "IPP rangeOfInteger value not 8 bytes."
-msgstr ""
+msgstr "IPP el valor rangeOfInteger no es de 8 bytes."
 
 msgid "IPP resolution value not 9 bytes."
-msgstr ""
+msgstr "IPP el valor de la resolución no es de 9 bytes."
 
 msgid "IPP string length overflows value."
-msgstr ""
+msgstr "IPP la longitud de la cadena sobrepasa el valor."
 
 msgid "IPP textWithLanguage value less than minimum 4 bytes."
-msgstr ""
+msgstr "IPP el valor textWithLanguage menor del mínimo de 4 bytes."
 
 msgid "IPP value larger than 32767 bytes."
-msgstr ""
+msgstr "IPP valor mayor de 32767 bytes."
 
 msgid "ISOLatin1"
 msgstr "UTF-8"
@@ -3127,21 +3000,18 @@ msgstr "Error interno"
 msgid "Internet Postage 2-Part"
 msgstr "Correo por Internet Parte-2"
 
-msgid "Internet Postage 2-Part - 2 1/4 x 7 1/2\""
-msgstr "Correo por Internet Parte-2 - 2 1/4 x 7 1/2 pulg."
-
 msgid "Internet Postage 3-Part"
 msgstr "Correo por Internet Parte-3"
 
-msgid "Internet Postage 3-Part - 2 1/4 x 7\""
-msgstr "Correo por Internet Parte-3 - 2 1/4 x 7 pulg."
-
 msgid "Internet Printing Protocol"
 msgstr "Protocolo de Impresión de Internet IPP"
 
+msgid "Invalid media size."
+msgstr "Tamaño del papel no válido"
+
 #, c-format
 msgid "Invalid printer command \"%s\"."
-msgstr ""
+msgstr "Comando de impresora \"%s\" no válido."
 
 msgid "JCL"
 msgstr "JCL"
@@ -3230,23 +3100,17 @@ msgstr "Trabajo completado"
 msgid "Job Created"
 msgstr "Trabajo creado"
 
-msgid "Job ID: "
-msgstr "ID del trabajo: "
-
 msgid "Job Options Changed"
 msgstr "Opciones de trabajo cambiadas"
 
 msgid "Job Stopped"
 msgstr "Trabajo detenido"
 
-msgid "Job UUID: "
-msgstr "UUID del trabajo: "
-
 msgid "Job is completed and cannot be changed."
 msgstr "El trabajo está terminado y no puede ser cambiado."
 
-msgid "Job operation failed:"
-msgstr "La operación del trabajo ha fallado:"
+msgid "Job operation failed"
+msgstr "La operación del trabajo ha fallado"
 
 msgid "Job state cannot be changed."
 msgstr "No se puede cambiar el estado del trabajo."
@@ -3273,9 +3137,6 @@ msgstr "No se admite el uso del idioma \"%s\"."
 msgid "Large Address"
 msgstr "Dirección grande"
 
-msgid "Large Address - 1 4/10 x 3 1/2\""
-msgstr "Dirección grande - 1 4/10 x 3 1/2 pulg."
-
 msgid "LaserJet Series PCL 4/5"
 msgstr "LaserJet Series PCL 4/5"
 
@@ -3294,33 +3155,15 @@ msgstr "Línea más larga que el máximo permitido (255 caracteres)"
 msgid "List Available Printers"
 msgstr "Listar impresoras disponibles"
 
-msgid "Loading print file."
-msgstr "Cargando archivo de impresión."
-
-msgid "Location: "
-msgstr "Ubicación: "
-
 msgid "Long-Edge (Portrait)"
 msgstr "Lado largo (retrato)"
 
 msgid "Looking for printer."
 msgstr "Buscando impresora."
 
-msgid "Make and Model: "
-msgstr "Marca y modelo: "
-
 msgid "Manual Feed"
 msgstr "Alimentación manual"
 
-msgid "Media Dimensions: "
-msgstr "Dimensiones del papel: "
-
-msgid "Media Limits: "
-msgstr "Límites del papel: "
-
-msgid "Media Name: "
-msgstr "Nombre del soporte: "
-
 msgid "Media Size"
 msgstr "Tamaño de papel"
 
@@ -3359,7 +3202,7 @@ msgid "Missing form variable"
 msgstr "Falta una variable de formulario"
 
 msgid "Missing last-document attribute in request."
-msgstr ""
+msgstr "Falta el atributo last-document en la petición."
 
 msgid "Missing media or media-col."
 msgstr "Falta media o media-col."
@@ -3380,10 +3223,6 @@ msgid "Missing required attributes."
 msgstr "Faltan atributos necesarios."
 
 #, c-format
-msgid "Missing value on line %d of banner file."
-msgstr "Falta un valor en la línea %d del archivo de rótulo."
-
-#, c-format
 msgid "Missing value on line %d."
 msgstr "Falta un valor en la línea %d."
 
@@ -3492,9 +3331,6 @@ msgstr "No hay error-status"
 msgid "No file in print request."
 msgstr "No hay ningún archivo en la petición de impresión."
 
-msgid "No fonts in charset file."
-msgstr "No hay fuentes en el archivo de juego de caracteres."
-
 msgid "No modification time"
 msgstr "No hay tiempo de modificación"
 
@@ -3602,9 +3438,6 @@ msgstr "Opciones instaladas"
 msgid "Options:"
 msgstr "Opciones: "
 
-msgid "Options: "
-msgstr "Opciones: "
-
 msgid "Out of date PPD cache file."
 msgstr "Archivo de caché PPD obsoleto."
 
@@ -3755,17 +3588,11 @@ msgstr "Archivo de impresión enviado."
 msgid "Print file was not accepted."
 msgstr "No se ha aceptado el archivo de impresión."
 
-msgid "Print job too large."
-msgstr ""
+msgid "Print job canceled at printer."
+msgstr "Trabajo de impresión cancelado en la impresora."
 
-msgid "Printed For: "
-msgstr "Impreso para: "
-
-msgid "Printed From: "
-msgstr "Impreso desde: "
-
-msgid "Printed On: "
-msgstr "Impreso en: "
+msgid "Print job too large."
+msgstr "Trabajo de impresión demasiado grande."
 
 msgid "Printer Added"
 msgstr "Impresora añadida"
@@ -3779,48 +3606,14 @@ msgstr "Impresora borrada"
 msgid "Printer Modified"
 msgstr "Impresora modificada"
 
-msgid "Printer Name: "
-msgstr "Nombre de la impresora: "
-
 msgid "Printer Paused"
 msgstr "Impresora en pausa"
 
 msgid "Printer Settings"
 msgstr "Configuración de la impresora"
 
-msgid "Printer busy, will retry in 10 seconds."
-msgstr "Impresora ocupada; reintento en 10 segundos."
-
-msgid "Printer busy; will retry in 30 seconds."
-msgstr "Impresora ocupada; reintento en 30 segundos."
-
-msgid "Printer did not respond."
-msgstr ""
-
-#, c-format
-msgid "Printer does not support IPP/%d.%d, trying IPP/%s."
-msgstr "La impresora no es compatible con IPP/%d.%d, probando IPP/%s."
-
-msgid "Printer is busy, will retry in 5 seconds."
-msgstr "La impresora está ocupada, reintento en 5 segundos."
-
-msgid "Printer is not currently connected."
-msgstr "La impresora está sin conexión en estos momentos."
-
-msgid "Printer is now connected."
-msgstr "La impresora ya tiene conexión."
-
-msgid "Printer is now online."
-msgstr "La impresora ya está en línea."
-
-msgid "Printer is offline."
-msgstr "La impresora está fuera de línea."
-
-msgid "Printer not connected, will retry in 30 seconds."
-msgstr "Impresora no conectada, reintento en 30 segundos."
-
-msgid "Printer not connected; will retry in 30 seconds."
-msgstr "Impresora no conectada; reintento en 30 segundos."
+msgid "Printer cannot print supplied content."
+msgstr "La impresora no puede imprimir el contenido suministrado."
 
 msgid "Printer:"
 msgstr "Impresora:"
@@ -3832,10 +3625,6 @@ msgstr "Impresoras"
 msgid "Printing page %d, %d%% complete."
 msgstr "Imprimiendo página %d, %d%% completado."
 
-#, c-format
-msgid "Printing page %d."
-msgstr "Imprimiendo página %d."
-
 msgid "Purge Jobs"
 msgstr "Purgar trabajos"
 
@@ -3854,9 +3643,6 @@ msgid ""
 msgstr ""
 "Rango  Propiet.   Pri  Trabajo    Archivos                    Tamaño total"
 
-msgid "Ready to print."
-msgstr "Lista para imprimir."
-
 msgid "Reject Jobs"
 msgstr "Rechazar trabajos"
 
@@ -3886,9 +3672,6 @@ msgstr "Reanudar impresora"
 msgid "Return Address"
 msgstr "Remite"
 
-msgid "Return Address - 3/4 x 2\""
-msgstr "Remite - 3/4 x 2 pulg."
-
 msgid "Rewind"
 msgstr "Rebobinar"
 
@@ -3908,10 +3691,6 @@ msgstr "Ver otros"
 msgid "Sending data to printer."
 msgstr "Enviando datos a la impresora."
 
-#, c-format
-msgid "Serial Port #%d"
-msgstr "Puerto serie #%d"
-
 msgid "Server Restarted"
 msgstr "Servidor reiniciado"
 
@@ -3945,9 +3724,6 @@ msgstr "Hacer pública"
 msgid "Shipping Address"
 msgstr "Dirección de envío"
 
-msgid "Shipping Address - 2 5/16 x 4\""
-msgstr "Dirección de envío - 2 5/16 x 4 pulg."
-
 msgid "Short-Edge (Landscape)"
 msgstr "Lado corto (apaisado)"
 
@@ -4017,6 +3793,19 @@ msgid "The %s attribute cannot be provided with job-ids."
 msgstr "El atributo %s no puede ser usado con jobs-ids."
 
 #, c-format
+msgid ""
+"The '%s' Job Description attribute cannot be supplied in a job creation "
+"request."
+msgstr ""
+
+#, c-format
+msgid ""
+"The '%s' operation attribute cannot be supplied in a Create-Job request."
+msgstr ""
+"El atributo de operación '%s' no puede ser suministrado en una petición "
+"Create-Job."
+
+#, c-format
 msgid "The PPD file \"%s\" could not be found."
 msgstr "No se ha podido encontrar el archivo PPD \"%s\"."
 
@@ -4071,9 +3860,6 @@ msgstr "Bandeja de salida llena."
 msgid "The output bin is missing."
 msgstr "Falta la bandeja de salida."
 
-msgid "The page setup information was not valid."
-msgstr "La información de configuración de página no era válida."
-
 msgid "The paper tray is almost empty."
 msgstr "Bandeja de papel casi vacía."
 
@@ -4086,14 +3872,18 @@ msgstr "Falta la bandeja de papel."
 msgid "The paper tray needs to be filled."
 msgstr "Hay que poner papel en la bandeja."
 
-msgid "The print file could not be opened."
-msgstr "No se ha podido abrir el archivo de impresión."
-
 msgid "The printer URI is incorrect or no longer exists."
 msgstr "El URI de la impresora es incorrecto o ya no existe."
 
-msgid "The printer is busy."
-msgstr "La impresora está ocupada."
+msgid "The printer did not respond."
+msgstr "La impresora no respondió."
+
+#, c-format
+msgid "The printer does not support IPP/%d.%d, trying IPP/%s."
+msgstr "La impresora no es compatible con IPP/%d.%d, probando IPP/%s."
+
+msgid "The printer is in use."
+msgstr "La impresora está en uso."
 
 msgid "The printer is not connected."
 msgstr "La impresora no está conectada."
@@ -4101,20 +3891,29 @@ msgstr "La impresora no está conectada."
 msgid "The printer is not responding."
 msgstr "La impresora no responde."
 
-msgid "The printer is out of ink."
-msgstr "La impresora no tiene tinta."
+msgid "The printer is now connected."
+msgstr "La impresora está ahora conectada."
+
+msgid "The printer is now online."
+msgstr "La impresora está ahora en línea."
+
+msgid "The printer is offline."
+msgstr "La impresora está fuera de línea."
 
 msgid "The printer is running low on ink."
-msgstr ""
+msgstr "La impresora está funcionando con poca tinta."
 
 msgid "The printer is running low on toner."
-msgstr ""
+msgstr "La impresora está funcionando con poco toner."
 
 msgid "The printer is unreachable at this time."
 msgstr "La impresora es inalcanzable en este momento."
 
+msgid "The printer may be out of ink."
+msgstr "La impresora puede que no tenga tinta."
+
 msgid "The printer may be out of toner."
-msgstr ""
+msgstr "La impresora puede que esté sin toner."
 
 msgid "The printer may not exist or is unavailable at this time."
 msgstr "La impresora puede no existir o no estar disponible en este momento."
@@ -4196,9 +3995,6 @@ msgstr "Ha habido un error USB irrecuperable."
 msgid "Thermal Transfer Media"
 msgstr "Soporte de transferencia térmica"
 
-msgid "Title: "
-msgstr "Título: "
-
 msgid "Too many active jobs."
 msgstr "Demasiados trabajos activos."
 
@@ -4255,18 +4051,17 @@ msgstr "Carta EE.UU. Extragrande lado largo"
 msgid "US Letter Small"
 msgstr "Carta EE.UU. Pequeña"
 
-#, c-format
-msgid "USB Serial Port #%d"
-msgstr "Puerto serie USB #%d"
-
-msgid "Unable to access cupsd.conf file:"
+msgid "Unable to access cupsd.conf file"
 msgstr "No se ha podido acceder al archivo cupsd.conf"
 
-msgid "Unable to add RSS subscription:"
-msgstr "No se ha podido añadir la subscripción RSS:"
+msgid "Unable to access help file."
+msgstr "No se ha podido acceder al archivo de ayuda."
 
-msgid "Unable to add class:"
-msgstr "No se ha podido añadir la clase:"
+msgid "Unable to add RSS subscription"
+msgstr "No se ha podido añadir la subscripción RSS"
+
+msgid "Unable to add class"
+msgstr "No se ha podido añadir la clase"
 
 msgid "Unable to add document to print job."
 msgstr "No se ha podido añadir el documento al trabajo de impresión."
@@ -4275,8 +4070,8 @@ msgstr "No se ha podido añadir el documento al trabajo de impresión."
 msgid "Unable to add job for destination \"%s\"."
 msgstr "No se ha podido añadir el trabajo para el destino \"%s\"."
 
-msgid "Unable to add printer:"
-msgstr "No se ha podido añadir la impresora:"
+msgid "Unable to add printer"
+msgstr "No se ha podido añadir la impresora"
 
 msgid "Unable to allocate memory for file types."
 msgstr "No se ha podido reservar memoria para tipos de archivo."
@@ -4287,23 +4082,23 @@ msgstr "No se ha podido reservar memoria para la información de página."
 msgid "Unable to allocate memory for pages array"
 msgstr "No se ha podido reservar memoria para la secuencia de páginas"
 
-msgid "Unable to cancel RSS subscription:"
-msgstr "No se ha podido cancelar la subscripción RSS:"
+msgid "Unable to cancel RSS subscription"
+msgstr "No se ha podido cancelar la subscripción RSS"
 
 msgid "Unable to cancel print job."
 msgstr "No se ha podido cancelar el trabajo de impresión."
 
-msgid "Unable to change printer-is-shared attribute:"
-msgstr "No se ha podido cambiar el atributo printer-is-shared:"
+msgid "Unable to change printer"
+msgstr "No se ha podido cambiar la impresora"
 
-msgid "Unable to change printer:"
-msgstr "No se ha podido cambiar la impresora:"
+msgid "Unable to change printer-is-shared attribute"
+msgstr "No se ha podido cambiar el atributo printer-is-shared"
 
-msgid "Unable to change server settings:"
-msgstr "No se ha podido cambiar la configuración del servidor:"
+msgid "Unable to change server settings"
+msgstr "No se ha podido cambiar la configuración del servidor"
 
 msgid "Unable to configure printer options."
-msgstr ""
+msgstr "No se han podido configurar las opciones de impresión."
 
 msgid "Unable to connect to host."
 msgstr "No se ha podido conectar al servidor."
@@ -4328,8 +4123,8 @@ msgstr ""
 #, c-format
 msgid "Unable to copy CUPS printer driver files (%d)."
 msgstr ""
-"No se han podido copiar los archivos del controlador de impresora de CUPS (%"
-"d)."
+"No se han podido copiar los archivos del controlador de impresora de CUPS "
+"(%d)."
 
 #, c-format
 msgid "Unable to copy PPD file - %s"
@@ -4354,32 +4149,23 @@ msgstr ""
 msgid "Unable to copy interface script - %s"
 msgstr "No se ha podido copiar el script de interfaz - %s"
 
-msgid "Unable to copy print file"
-msgstr "No se ha podido copiar el archivo de impresión"
-
 msgid "Unable to create compressed print file"
 msgstr "No se ha podido crear el archivo de impresión comprimido"
 
-msgid "Unable to create pipes for filters"
-msgstr "No se han podido crear tuberías (pipes) para filtros"
-
 msgid "Unable to create printer-uri"
 msgstr "No se ha podido crear printer-uri"
 
 msgid "Unable to create temporary file"
 msgstr "No se ha podido crear el archivo temporal"
 
-msgid "Unable to create temporary file:"
-msgstr "No se ha podido crear el archivo temporal:"
-
-msgid "Unable to delete class:"
-msgstr "No se ha podido borrar la clase:"
+msgid "Unable to delete class"
+msgstr "No se ha podido borrar la clase"
 
-msgid "Unable to delete printer:"
-msgstr "No se ha podido borrar la impresora:"
+msgid "Unable to delete printer"
+msgstr "No se ha podido borrar la impresora"
 
-msgid "Unable to do maintenance command:"
-msgstr "No se ha podido realizar el comando de mantenimiento:"
+msgid "Unable to do maintenance command"
+msgstr "No se ha podido realizar el comando de mantenimiento"
 
 msgid "Unable to edit cupsd.conf files larger than 1MB"
 msgstr "No se pueden editar archivos cupsd.conf mayores de 1MB"
@@ -4434,36 +4220,33 @@ msgstr "No se ha podido encontrar destino para el trabajo"
 msgid "Unable to find printer."
 msgstr "No se ha podido encontrar la impresora."
 
-msgid "Unable to fork filter"
-msgstr "No se ha podido bifurcar (fork) el filtro"
-
 msgid "Unable to generate compressed print file"
 msgstr "No se ha podido crear el archivo de impresión comprimido"
 
 msgid "Unable to get backend exit status."
 msgstr "No se ha podido obtener el estado de salida del programa backend"
 
-msgid "Unable to get class list:"
-msgstr "No se ha podido obtener la lista de clases:"
+msgid "Unable to get class list"
+msgstr "No se ha podido obtener la lista de clases"
+
+msgid "Unable to get class status"
+msgstr "No se ha podido obtener el estado de la clase"
 
-msgid "Unable to get class status:"
-msgstr "No se ha podido obtener el estado de la clase:"
+msgid "Unable to get list of printer drivers"
+msgstr "No se ha podido obtener la lista de controladores de impresora"
 
-msgid "Unable to get list of printer drivers:"
-msgstr "No se ha podido obtener la lista de controladores de impresora:"
+msgid "Unable to get printer attributes"
+msgstr "No se han podido obtener los atributos de la impresora"
 
-msgid "Unable to get printer attributes:"
-msgstr "No se han podido obtener los atributos de la impresora:"
+msgid "Unable to get printer list"
+msgstr "No se ha podido obtener la lista de impresoras"
 
-msgid "Unable to get printer list:"
-msgstr "No se ha podido obtener la lista de impresoras:"
+msgid "Unable to get printer status"
+msgstr "No se ha podido obtener el estado de la impresora"
 
 msgid "Unable to get printer status."
 msgstr "No se ha podido obtener el estado de la impresora."
 
-msgid "Unable to get printer status:"
-msgstr "No se ha podido obtener el estado de la impresora"
-
 #, c-format
 msgid "Unable to install Windows 2000 printer driver files (%d)."
 msgstr ""
@@ -4476,6 +4259,9 @@ msgstr ""
 "No se han podido instalar los archivos del controlador de impresora de "
 "Windows 9x (%d)."
 
+msgid "Unable to load help index."
+msgstr "No se ha podido cargar el índice de ayuda."
+
 #, c-format
 msgid "Unable to locate printer \"%s\"."
 msgstr "No se ha podido localizar la impresora \"%s\"."
@@ -4483,11 +4269,11 @@ msgstr "No se ha podido localizar la impresora \"%s\"."
 msgid "Unable to locate printer."
 msgstr "No se ha podido localizar la impresora."
 
-msgid "Unable to modify class:"
-msgstr "No se ha podido modificar la clase:"
+msgid "Unable to modify class"
+msgstr "No se ha podido modificar la clase"
 
-msgid "Unable to modify printer:"
-msgstr "No se ha podido modificar la impresora:"
+msgid "Unable to modify printer"
+msgstr "No se ha podido modificar la impresora"
 
 msgid "Unable to move job"
 msgstr "No se ha podido mover el trabajo"
@@ -4498,12 +4284,6 @@ msgstr "No se han podido mover los trabajos"
 msgid "Unable to open PPD file"
 msgstr "No se ha podido abrir el archivo PPD"
 
-msgid "Unable to open PPD file:"
-msgstr "No se ha podido abrir el archivo PPD:"
-
-msgid "Unable to open charset file"
-msgstr "No se ha podido abrir el archivo del juego de caracteres"
-
 msgid "Unable to open compressed print file"
 msgstr "No se ha podido abrir el archivo de impresión comprimido"
 
@@ -4517,32 +4297,24 @@ msgstr "No se ha podido abrir el archivo de dispositivo"
 msgid "Unable to open document #%d in job #%d."
 msgstr "No se ha podido abrir el documento #%d del trabajo #%d."
 
+msgid "Unable to open help file."
+msgstr "No se ha podido abrir el archivo de ayuda."
+
 msgid "Unable to open print file"
 msgstr "No se ha podido abrir el archivo de impresión"
 
-msgid "Unable to open psglyphs"
-msgstr "No se ha podido abrir psglyphs"
-
 msgid "Unable to open raster file"
 msgstr "No se ha podido abrir el archivo de trama de datos (raster)"
 
-#, c-format
-msgid "Unable to print %d text columns."
-msgstr "No se han podido imprimir %d columnas de texto."
-
-#, c-format
-msgid "Unable to print %dx%d text page."
-msgstr "No se han podido imprimir %dx%d páginas de texto."
-
-msgid "Unable to print test page:"
-msgstr "No se ha podido imprimir la página de prueba:"
-
-msgid "Unable to read print data"
-msgstr "No se han podido leer los datos de impresión"
+msgid "Unable to print test page"
+msgstr "No se ha podido imprimir la página de prueba"
 
 msgid "Unable to read print data."
 msgstr "No se han podido leer los datos de impresión."
 
+msgid "Unable to resolve printer URI."
+msgstr "No se ha podido resolver el URI de la impresora."
+
 #, c-format
 msgid "Unable to run \"%s\": %s"
 msgstr "No se ha podido ejecutar \"%s\": %s"
@@ -4556,25 +4328,22 @@ msgstr "No se ha podido enviar un comando al controlador de la impresora"
 msgid "Unable to send data to printer."
 msgstr "No se han podido enviar datos a la impresora."
 
-msgid "Unable to send raster data to the driver."
-msgstr "No se ha podido enviar la trama de datos (raster) al controlador."
-
 #, c-format
 msgid "Unable to set Windows printer driver (%d)."
 msgstr ""
 "No se ha podido configurar el controlador de impresora de Windows (%d)."
 
-msgid "Unable to set options:"
-msgstr "No se han podido cambiar las opciones:"
+msgid "Unable to set options"
+msgstr "No se han podido cambiar las opciones"
 
-msgid "Unable to set server default:"
-msgstr "No se han podido cambiar los ajustes predeterminados del servidor:"
+msgid "Unable to set server default"
+msgstr "No se ha podido establecer el servidor predeterminado"
 
 msgid "Unable to start backend process."
 msgstr "No se ha podido iniciar el proceso backend."
 
-msgid "Unable to upload cupsd.conf file:"
-msgstr "No se ha podido copiar el archivo cupsd.conf:"
+msgid "Unable to upload cupsd.conf file"
+msgstr "No se ha podido enviar el archivo cupsd.conf"
 
 msgid "Unable to use legacy USB class driver."
 msgstr ""
@@ -4612,6 +4381,9 @@ msgstr "Orden de archivos \"%s\" desconocido."
 msgid "Unknown format character: \"%c\"."
 msgstr "Carácter de formato \"%c\" desconocido."
 
+msgid "Unknown media size name."
+msgstr "Nombre de tamaño de papel desconocido."
+
 #, c-format
 msgid "Unknown option \"%s\" with value \"%s\"."
 msgstr "Opción \"%s\" con valor \"%s\" desconocida."
@@ -4632,17 +4404,23 @@ msgstr "printer-error-policy \"%s\" incorrecto."
 msgid "Unknown printer-op-policy \"%s\"."
 msgstr "printer-op-policy \"%s\" incorrecto."
 
+msgid "Unknown service name."
+msgstr "Nombre de servicio desconocido."
+
 #, c-format
 msgid "Unknown version option value: \"%s\"."
 msgstr "Valor de opción de versión \"%s\" desconocida."
 
 #, c-format
-msgid "Unsupported baud rate: %s"
-msgstr "Velocidad en baudios %s no permitida."
+msgid "Unsupported 'compression' value \"%s\"."
+msgstr ""
 
 #, c-format
-msgid "Unsupported brightness value %s, using brightness=100."
-msgstr "Valor de brillo %s no permitido; usando brillo=100."
+msgid "Unsupported 'document-format' value \"%s\"."
+msgstr ""
+
+msgid "Unsupported 'job-name' value."
+msgstr ""
 
 #, c-format
 msgid "Unsupported character set \"%s\"."
@@ -4664,10 +4442,6 @@ msgstr "document-format \"%s/%s\" no permitido."
 msgid "Unsupported format \"%s\"."
 msgstr "Formato \"%s\" no permitido."
 
-#, c-format
-msgid "Unsupported gamma value %s, using gamma=1000."
-msgstr "Valor gamma %s no permitido; usando gamma=1000."
-
 msgid "Unsupported margins."
 msgstr "Márgenes no permitidos."
 
@@ -4720,20 +4494,9 @@ msgstr ""
 "                         [-u allow:usuario,usuario] [-u deny:usuario,usuario]"
 
 #, c-format
-msgid "Usage: %s job user title copies options [filename]"
-msgstr "Uso: %s trabajo usuario título copias opciones [archivo]"
-
-#, c-format
 msgid "Usage: %s job-id user title copies options [file]"
 msgstr "Uso: %s job-id usuario título copias opciones [archivo]"
 
-#, c-format
-msgid "Usage: %s job-id user title copies options file"
-msgstr "Uso: %s job-id usuario título copias opciones archivo"
-
-msgid "Usage: convert [ options ]"
-msgstr "Uso: convert ( opciones )"
-
 msgid "Usage: cupsaddsmb [options] printer1 ... printerN"
 msgstr "Uso: cupsaddsmb [opciones] impresora1 ... impresoraN"
 
@@ -4843,8 +4606,8 @@ msgstr "Si"
 
 #, c-format
 msgid ""
-"You must access this page using the URL <A HREF=\"https://%s:%d%s\">https://%"
-"s:%d%s</A>."
+"You must access this page using the URL <A HREF=\"https://%s:%d%s\">https://"
+"%s:%d%s</A>."
 msgstr ""
 "Debe acceder a esta página usando el URL <A HREF=\"https://%s:%d%s\">https://"
 "%s:%d%s</A>."
@@ -4871,9 +4634,6 @@ msgstr "cancelado"
 msgid "completed"
 msgstr "completado"
 
-msgid "convert: Use the -f option to specify a file to convert."
-msgstr "convert: Use la opción -f para especificar el archivo a convertir."
-
 msgid "cups-deviced failed to execute."
 msgstr "Ha fallado al ejecutarse cups-deviced."
 
@@ -4904,9 +4664,18 @@ msgstr ""
 "cupsd: Se esperaba un nombre de archivo de configuración tras la opción \"-c"
 "\"."
 
+msgid "cupsd: Expected cups-files.conf filename after \"-s\" option."
+msgstr ""
+
+msgid "cupsd: Relative cups-files.conf filename not allowed."
+msgstr ""
+
 msgid "cupsd: Unable to get current directory."
 msgstr "cupsd: No se ha podido obtener el directorio actual."
 
+msgid "cupsd: Unable to get path to cups-files.conf file."
+msgstr ""
+
 #, c-format
 msgid "cupsd: Unknown argument \"%s\" - aborting."
 msgstr "cupsd: Argumento \"%s\" desconocido - cancelando."
@@ -4967,12 +4736,6 @@ msgstr "inactiva"
 msgid "ipptool: \"-i\" and \"-n\" are incompatible with -X\"."
 msgstr "ipptool: \"-i\" y \"-n\" son incompatibles with -X\"."
 
-msgid "ipptool: \"-i\" is incompatible with \"-X\"."
-msgstr "ipptool: \"-i\" es incompatible with \"-X\"."
-
-msgid "ipptool: \"-n\" is incompatible with \"-X\"."
-msgstr "ipptool: \"-n\" es incompatible with \"-X\"."
-
 #, c-format
 msgid "ipptool: Bad URI - %s."
 msgstr "ipptool: URI - %s incorrecto."
@@ -5441,8 +5204,8 @@ msgstr ""
 #, c-format
 msgid "ppdc: Expected name/text combination for ColorModel on line %d of %s."
 msgstr ""
-"ppdc: Se esperaba una combinación nombre/texto para ColorModel en la línea %"
-"d de %s."
+"ppdc: Se esperaba una combinación nombre/texto para ColorModel en la línea "
+"%d de %s."
 
 #, c-format
 msgid "ppdc: Expected option name/text on line %d of %s."
@@ -5473,8 +5236,8 @@ msgstr "ppdc: Se esperaba un número real en la línea %d de %s."
 msgid ""
 "ppdc: Expected resolution/mediatype following ColorProfile on line %d of %s."
 msgstr ""
-"ppdc: Se esperaba resolución/tipo de soporte tras ColorProfile en la línea %"
-"d de %s."
+"ppdc: Se esperaba resolución/tipo de soporte tras ColorProfile en la línea "
+"%d de %s."
 
 #, c-format
 msgid ""
@@ -5527,8 +5290,8 @@ msgstr "ppdc: Tipo MIME vacío incorrecto para el filtro en la línea %d de %s."
 #, c-format
 msgid "ppdc: Invalid empty program name for filter on line %d of %s."
 msgstr ""
-"ppdc: Nombre de programa vacío incorrecto para el filtro en la línea %d de %"
-"s."
+"ppdc: Nombre de programa vacío incorrecto para el filtro en la línea %d de "
+"%s."
 
 #, c-format
 msgid "ppdc: Invalid option section \"%s\" on line %d of %s."
@@ -5610,8 +5373,8 @@ msgstr ""
 #, c-format
 msgid "ppdc: Unable to find include file \"%s\" on line %d of %s."
 msgstr ""
-"ppdc: No se ha podido encontrar el archivo include \"%s\" en la línea %d de %"
-"s."
+"ppdc: No se ha podido encontrar el archivo include \"%s\" en la línea %d de "
+"%s."
 
 #, c-format
 msgid "ppdc: Unable to find localization for \"%s\" - %s"
@@ -5657,8 +5420,8 @@ msgstr "ppdc: Elemento desconocido \"%s\" visto en la línea %d de %s."
 msgid ""
 "ppdc: Unknown trailing characters in real number \"%s\" on line %d of %s."
 msgstr ""
-"ppdc: Caracteres finales desconocidos en el número real \"%s\" en la línea %"
-"d de %s."
+"ppdc: Caracteres finales desconocidos en el número real \"%s\" en la línea "
+"%d de %s."
 
 #, c-format
 msgid "ppdc: Unterminated string starting with %c on line %d of %s."
@@ -5754,21 +5517,3 @@ msgstr "sin título"
 
 msgid "variable-bindings uses indefinite length"
 msgstr "variable-bindings usa una longitud indefinida"
-
-#~ msgid "Printer did not respond after %d seconds."
-#~ msgstr "La impresora no respondió tras %d segundos."
-
-#~ msgid "The printer is almost out of ink."
-#~ msgstr "La impresora casi no tiene tinta."
-
-#~ msgid "The printer is low on toner."
-#~ msgstr "La impresora tiene poco tóner."
-
-#~ msgid "The printer is out of toner."
-#~ msgstr "La impresora no tiene tóner."
-
-#~ msgid "Unable to connect to server"
-#~ msgstr "No se ha podido conectar al servidor"
-
-#~ msgid "Unable to get print job status."
-#~ msgstr "No se ha podido obtener el estado del trabajo de impresión."
diff --git a/locale/cups_eu.po b/locale/cups_eu.po
deleted file mode 100644 (file)
index a2dfbd1..0000000
+++ /dev/null
@@ -1,8895 +0,0 @@
-# translation of cups_1.4rc1_eu.po to Basque
-#
-# "$Id$"
-#
-#   Message catalog template for CUPS.
-#
-#   Copyright 2007-2011 by Apple Inc.
-#   Copyright 2005-2007 by Easy Software Products.
-#
-#   These coded instructions, statements, and computer programs are the
-#   property of Apple Inc. and are protected by Federal copyright
-#   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
-#   which should have been included with this file.  If this file is
-#   file is missing or damaged, see the license at "http://www.cups.org/".
-#
-#
-# Notes for Translators:
-#
-# The following prefixes MUST NOT be translated: "ALERT:", "CRIT:", "INFO:",
-# "NOTICE:", and "WARNING:".
-#
-# The "checkpo" program located in the "locale" source directory can be used
-# to verify that your translations do not introduce formatting errors or other
-# problems.  Run with:
-#
-#    cd locale
-#    ./checkpo cups_LL.po
-#
-# where "LL" is your locale.
-#
-# Iñaki Larrañaga Murgoitio <dooteo@euskalgnu.org>, 2009.
-msgid ""
-msgstr ""
-"Project-Id-Version: cups_1.4rc1_eu\n"
-"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2012-03-07 13:38-0800\n"
-"PO-Revision-Date: 2009-07-03 19:34+0200\n"
-"Last-Translator: Iñaki Larrañaga Murgoitio <dooteo@euskalgnu.org>\n"
-"Language-Team: Basque <itzulpena@euskalgnu.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: eu\n"
-"X-Generator: KBabel 1.11.4\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-msgid "\t\t(all)"
-msgstr ""
-
-msgid "\t\t(none)"
-msgstr ""
-
-#, c-format
-msgid "\t%d entries"
-msgstr ""
-
-#, c-format
-msgid "\t%s"
-msgstr ""
-
-msgid "\tAfter fault: continue"
-msgstr ""
-
-#, c-format
-msgid "\tAlerts: %s"
-msgstr ""
-
-msgid "\tBanner required"
-msgstr ""
-
-msgid "\tCharset sets:"
-msgstr ""
-
-msgid "\tConnection: direct"
-msgstr ""
-
-msgid "\tConnection: remote"
-msgstr ""
-
-msgid "\tContent types: any"
-msgstr ""
-
-msgid "\tDefault page size:"
-msgstr ""
-
-msgid "\tDefault pitch:"
-msgstr ""
-
-msgid "\tDefault port settings:"
-msgstr ""
-
-#, c-format
-msgid "\tDescription: %s"
-msgstr ""
-
-msgid "\tForm mounted:"
-msgstr ""
-
-msgid "\tForms allowed:"
-msgstr ""
-
-#, c-format
-msgid "\tInterface: %s.ppd"
-msgstr ""
-
-#, c-format
-msgid "\tInterface: %s/interfaces/%s"
-msgstr ""
-
-#, c-format
-msgid "\tInterface: %s/ppd/%s.ppd"
-msgstr ""
-
-#, c-format
-msgid "\tLocation: %s"
-msgstr ""
-
-msgid "\tOn fault: no alert"
-msgstr ""
-
-msgid "\tPrinter types: unknown"
-msgstr ""
-
-#, c-format
-msgid "\tStatus: %s"
-msgstr ""
-
-msgid "\tUsers allowed:"
-msgstr ""
-
-msgid "\tUsers denied:"
-msgstr ""
-
-msgid "\tdaemon present"
-msgstr ""
-
-msgid "\tno entries"
-msgstr ""
-
-#, c-format
-msgid "\tprinter is on device '%s' speed -1"
-msgstr ""
-
-msgid "\tprinting is disabled"
-msgstr ""
-
-msgid "\tprinting is enabled"
-msgstr ""
-
-#, c-format
-msgid "\tqueued for %s"
-msgstr ""
-
-msgid "\tqueuing is disabled"
-msgstr ""
-
-msgid "\tqueuing is enabled"
-msgstr ""
-
-msgid "\treason unknown"
-msgstr ""
-
-msgid ""
-"\n"
-"    DETAILED CONFORMANCE TEST RESULTS"
-msgstr ""
-
-msgid "                          Ignore specific warnings."
-msgstr ""
-
-msgid "                          Issue warnings instead of errors."
-msgstr ""
-
-msgid "                REF: Page 15, section 3.1."
-msgstr ""
-
-msgid "                REF: Page 15, section 3.2."
-msgstr ""
-
-msgid "                REF: Page 19, section 3.3."
-msgstr ""
-
-msgid "                REF: Page 20, section 3.4."
-msgstr ""
-
-msgid "                REF: Page 27, section 3.5."
-msgstr ""
-
-msgid "                REF: Page 42, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 16-17, section 3.2."
-msgstr ""
-
-msgid "                REF: Pages 42-45, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 45-46, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 48-49, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 52-54, section 5.2."
-msgstr ""
-
-#, c-format
-msgid "        %-39.39s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "        PASS    Default%s"
-msgstr ""
-
-msgid "        PASS    DefaultImageableArea"
-msgstr ""
-
-msgid "        PASS    DefaultPaperDimension"
-msgstr ""
-
-msgid "        PASS    FileVersion"
-msgstr ""
-
-msgid "        PASS    FormatVersion"
-msgstr ""
-
-msgid "        PASS    LanguageEncoding"
-msgstr ""
-
-msgid "        PASS    LanguageVersion"
-msgstr ""
-
-msgid "        PASS    Manufacturer"
-msgstr ""
-
-msgid "        PASS    ModelName"
-msgstr ""
-
-msgid "        PASS    NickName"
-msgstr ""
-
-msgid "        PASS    PCFileName"
-msgstr ""
-
-msgid "        PASS    PSVersion"
-msgstr ""
-
-msgid "        PASS    PageRegion"
-msgstr ""
-
-msgid "        PASS    PageSize"
-msgstr ""
-
-msgid "        PASS    Product"
-msgstr ""
-
-msgid "        PASS    ShortNickName"
-msgstr ""
-
-#, c-format
-msgid "        WARN    %s has no corresponding options."
-msgstr ""
-
-#, c-format
-msgid ""
-"        WARN    %s shares a common prefix with %s\n"
-"                REF: Page 15, section 3.2."
-msgstr ""
-
-#, c-format
-msgid ""
-"        WARN    Duplex option keyword %s may not work as expected and should "
-"be named Duplex.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-
-msgid "        WARN    File contains a mix of CR, LF, and CR LF line endings."
-msgstr ""
-
-msgid ""
-"        WARN    LanguageEncoding required by PPD 4.3 spec.\n"
-"                REF: Pages 56-57, section 5.3."
-msgstr ""
-
-#, c-format
-msgid "        WARN    Line %d only contains whitespace."
-msgstr ""
-
-msgid ""
-"        WARN    Manufacturer required by PPD 4.3 spec.\n"
-"                REF: Pages 58-59, section 5.3."
-msgstr ""
-
-msgid ""
-"        WARN    Non-Windows PPD files should use lines ending with only LF, "
-"not CR LF."
-msgstr ""
-
-#, c-format
-msgid ""
-"        WARN    Obsolete PPD version %.1f.\n"
-"                REF: Page 42, section 5.2."
-msgstr ""
-
-msgid ""
-"        WARN    PCFileName longer than 8.3 in violation of PPD spec.\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-
-msgid ""
-"        WARN    PCFileName should contain a unique filename.\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-
-msgid ""
-"        WARN    Protocols contains PJL but JCL attributes are not set.\n"
-"                REF: Pages 78-79, section 5.7."
-msgstr ""
-
-msgid ""
-"        WARN    Protocols contains both PJL and BCP; expected TBCP.\n"
-"                REF: Pages 78-79, section 5.7."
-msgstr ""
-
-msgid ""
-"        WARN    ShortNickName required by PPD 4.3 spec.\n"
-"                REF: Pages 64-65, section 5.3."
-msgstr ""
-
-msgid "       cupsaddsmb [options] -a"
-msgstr ""
-
-msgid "       cupstestdsc [options] -"
-msgstr ""
-
-msgid "       program | cupstestppd [options] -"
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  \"%s %s\" conflicts with \"%s %s\"\n"
-"                (constraint=\"%s %s %s %s\")."
-msgstr ""
-
-#, c-format
-msgid "      %s  %s %s does not exist."
-msgstr ""
-
-#, c-format
-msgid "      %s  %s file \"%s\" has the wrong capitalization."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  Bad %s choice %s.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsFilter value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsFilter2 value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsICCProfile %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsPreFilter value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsUIConstraints %s: \"%s\""
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad language \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad permissions on %s file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad spelling of %s - should be %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Cannot provide both APScanAppPath and APScanAppBundleID."
-msgstr ""
-
-#, c-format
-msgid "      %s  Default choices conflicting."
-msgstr ""
-
-#, c-format
-msgid "      %s  Empty cupsUIConstraints %s"
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing \"%s\" translation string for option %s, choice %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing \"%s\" translation string for option %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing %s file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  Missing REQUIRED PageRegion option.\n"
-"                REF: Page 100, section 5.14."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  Missing REQUIRED PageSize option.\n"
-"                REF: Page 99, section 5.14."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\""
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing cupsUIResolver %s"
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing option %s in cupsUIConstraints %s: \"%s\""
-msgstr ""
-
-#, c-format
-msgid "      %s  No base translation \"%s\" is included in file."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  REQUIRED %s does not define choice None.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" defined for %s but not for %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" has unexpected dimensions (%gx%g)."
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" should be \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" should be the Adobe standard name \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  cupsICCProfile %s hash value collides with %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  cupsUIResolver %s causes a loop."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  cupsUIResolver %s does not list at least two different options."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  %s choice names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  %s must be 1284DeviceID\n"
-"                REF: Page 72, section 5.5"
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD Default%s %s\n"
-"                REF: Page 40, section 4.5."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD DefaultImageableArea %s\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD DefaultPaperDimension %s\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD JobPatchFile attribute in file\n"
-"                REF: Page 24, section 3.4."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD Manufacturer (should be \"HP\")\n"
-"                REF: Page 211, table D.1."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD Manufacturer (should be \"Oki\")\n"
-"                REF: Page 211, table D.1."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n"
-"                REF: Pages 59-60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD PSVersion - not \"(string) int\".\n"
-"                REF: Pages 62-64, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD Product - not \"(string)\".\n"
-"                REF: Page 62, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD ShortNickName - longer than 31 chars.\n"
-"                REF: Pages 64-65, section 5.3."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad %s choice %s\n"
-"                REF: Page 84, section 5.9"
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad FileVersion \"%s\"\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad FormatVersion \"%s\"\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Bad LanguageVersion %s - must be English."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Default option code cannot be interpreted: %s"
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Default translation string for option %s choice %s contains "
-"8-bit characters."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Default translation string for option %s contains 8-bit "
-"characters."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Group names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Multiple occurrences of %s choice name %s."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Option names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED Default%s\n"
-"                REF: Page 40, section 4.5."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED DefaultImageableArea\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED DefaultPaperDimension\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED FileVersion\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED FormatVersion\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED ImageableArea for PageSize %s\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED LanguageEncoding\n"
-"                REF: Pages 56-57, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED LanguageVersion\n"
-"                REF: Pages 57-58, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED Manufacturer\n"
-"                REF: Pages 58-59, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED ModelName\n"
-"                REF: Pages 59-60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED NickName\n"
-"                REF: Page 60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PCFileName\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PSVersion\n"
-"                REF: Pages 62-64, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PageRegion\n"
-"                REF: Page 100, section 5.14."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PageSize\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 99, section 5.14."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PageSize\n"
-"                REF: Pages 99-100, section 5.14."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED PaperDimension for PageSize %s\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED Product\n"
-"                REF: Page 62, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED ShortNickName\n"
-"                REF: Page 64-65, section 5.3."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Unable to open PPD file - %s"
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Unable to open PPD file - %s on line %d."
-msgstr ""
-
-#, c-format
-msgid "    %d ERRORS FOUND"
-msgstr ""
-
-msgid "    -h       Show program usage"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Bad %%%%BoundingBox: on line %d.\n"
-"        REF: Page 39, %%%%BoundingBox:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Bad %%%%Page: on line %d.\n"
-"        REF: Page 53, %%%%Page:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Bad %%%%Pages: on line %d.\n"
-"        REF: Page 43, %%%%Pages:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Line %d is longer than 255 characters (%d).\n"
-"        REF: Page 25, Line Length"
-msgstr ""
-
-msgid ""
-"    Missing %!PS-Adobe-3.0 on first line.\n"
-"        REF: Page 17, 3.1 Conforming Documents"
-msgstr ""
-
-#, c-format
-msgid "    Missing %%EndComments comment.        REF: Page 41, %%EndComments"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Missing or bad %%BoundingBox: comment.\n"
-"        REF: Page 39, %%BoundingBox:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Missing or bad %%Page: comments.\n"
-"        REF: Page 53, %%Page:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Missing or bad %%Pages: comment.\n"
-"        REF: Page 43, %%Pages:"
-msgstr ""
-
-msgid "    NO ERRORS FOUND"
-msgstr ""
-
-#, c-format
-msgid "    Saw %d lines that exceeded 255 characters."
-msgstr ""
-
-#, c-format
-msgid "    Too many %%BeginDocument comments."
-msgstr ""
-
-#, c-format
-msgid "    Too many %%EndDocument comments."
-msgstr ""
-
-msgid "    Warning: file contains binary data."
-msgstr ""
-
-#, c-format
-msgid "    Warning: no %%EndComments comment in file."
-msgstr ""
-
-#, c-format
-msgid "    Warning: obsolete DSC version %.1f in file."
-msgstr ""
-
-msgid "  --[no-]debug-logging    Turn debug logging on/off."
-msgstr ""
-
-msgid "  --[no-]remote-admin     Turn remote administration on/off."
-msgstr ""
-
-msgid "  --[no-]remote-any       Allow/prevent access from the Internet."
-msgstr ""
-
-msgid "  --[no-]remote-printers  Show/hide remote printers."
-msgstr ""
-
-msgid "  --[no-]share-printers   Turn printer sharing on/off."
-msgstr ""
-
-msgid "  --[no-]user-cancel-any  Allow/prevent users to cancel any job."
-msgstr ""
-
-msgid "  --cr                    End lines with CR (Mac OS 9)."
-msgstr ""
-
-msgid "  --crlf                  End lines with CR + LF (Windows)."
-msgstr ""
-
-msgid "  --lf                    End lines with LF (UNIX/Linux/Mac OS X)."
-msgstr ""
-
-msgid "  -4                      Connect using IPv4."
-msgstr ""
-
-msgid "  -6                      Connect using IPv6."
-msgstr ""
-
-msgid "  -C                      Send requests using chunking (default)."
-msgstr ""
-
-msgid "  -D                      Remove the input file when finished."
-msgstr ""
-
-msgid "  -D name=value           Set named variable to value."
-msgstr ""
-
-msgid "  -E                      Enable encryption."
-msgstr ""
-
-msgid "  -E                      Encrypt the connection to the server."
-msgstr ""
-
-msgid "  -E                      Test with TLS encryption."
-msgstr ""
-
-msgid ""
-"  -F                      Run in the foreground but detach from console."
-msgstr ""
-
-msgid "  -H samba-server         Use the named SAMBA server."
-msgstr ""
-
-msgid "  -I                      Ignore errors."
-msgstr ""
-
-msgid "  -I include-dir          Add include directory to search path."
-msgstr ""
-
-msgid "  -I {filename,filters,none,profiles}"
-msgstr ""
-
-msgid "  -J title                Set title."
-msgstr ""
-
-msgid "  -L                      Send requests using content-length."
-msgstr ""
-
-msgid "  -P filename.ppd         Set PPD file."
-msgstr ""
-
-msgid "  -R root-directory       Set alternate root."
-msgstr ""
-
-msgid "  -S                      Test with SSL encryption."
-msgstr ""
-
-msgid "  -T                      Set the receive/send timeout in seconds."
-msgstr ""
-
-msgid "  -U samba-user           Authenticate using the named SAMBA user."
-msgstr ""
-
-msgid "  -U username             Set username for job."
-msgstr ""
-
-msgid "  -U username             Specify username."
-msgstr ""
-
-msgid "  -V version              Set default IPP version."
-msgstr ""
-
-msgid ""
-"  -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,"
-"translations}"
-msgstr ""
-
-msgid "  -X                      Produce XML plist instead of plain text."
-msgstr ""
-
-msgid "  -a                      Export all printers."
-msgstr ""
-
-msgid "  -a 'name=value ...'     Set option(s)."
-msgstr ""
-
-msgid "  -c catalog.po           Load the specified message catalog."
-msgstr ""
-
-msgid "  -c config-file          Load alternate configuration file."
-msgstr ""
-
-msgid "  -c copies               Set number of copies."
-msgstr ""
-
-msgid "  -c cupsd.conf           Set cupsd.conf file to use."
-msgstr ""
-
-msgid "  -d name=value           Set named variable to value."
-msgstr ""
-
-msgid "  -d output-dir           Specify the output directory."
-msgstr ""
-
-msgid "  -d printer              Use the named printer."
-msgstr ""
-
-msgid "  -e                      Use every filter from the PPD file."
-msgstr ""
-
-msgid "  -f                      Run in the foreground."
-msgstr ""
-
-msgid "  -f filename             Set default request filename."
-msgstr ""
-
-msgid "  -f filename             Set file to be converted (otherwise stdin)."
-msgstr ""
-
-msgid "  -h                      Show this usage message."
-msgstr ""
-
-msgid "  -h cups-server          Use the named CUPS server."
-msgstr ""
-
-msgid "  -h server[:port]        Specify server address."
-msgstr ""
-
-msgid "  -i mime/type            Set input MIME type (otherwise auto-typed)."
-msgstr ""
-
-msgid ""
-"  -i seconds              Repeat the last file with the given time interval."
-msgstr ""
-
-msgid ""
-"  -j job-id[,N]           Filter file N from the specified job (default is "
-"file 1)."
-msgstr ""
-
-msgid ""
-"  -j mime/type            Set output MIME type (otherwise application/pdf)."
-msgstr ""
-
-msgid "  -l                      Run cupsd from launchd(8)."
-msgstr ""
-
-msgid "  -l lang[,lang,...]      Specify the output language(s) (locale)."
-msgstr ""
-
-msgid "  -m                      Use the ModelName value as the filename."
-msgstr ""
-
-msgid ""
-"  -m mime/type            Set output MIME type (otherwise application/pdf)."
-msgstr ""
-
-msgid "  -n copies               Set number of copies."
-msgstr ""
-
-msgid ""
-"  -n count                Repeat the last file the given number of times."
-msgstr ""
-
-msgid "  -o filename             Set file to be generated (otherwise stdout)."
-msgstr ""
-
-msgid ""
-"  -o filename.drv         Set driver information file (otherwise ppdi.drv)."
-msgstr ""
-
-msgid "  -o filename.ppd[.gz]    Set output file (otherwise stdout)."
-msgstr ""
-
-msgid "  -o name=value           Set option(s)."
-msgstr ""
-
-msgid "  -p filename.ppd         Set PPD file."
-msgstr ""
-
-msgid "  -q                      Be quiet - no output except errors."
-msgstr ""
-
-msgid "  -q                      Run silently."
-msgstr ""
-
-msgid "  -r                      Use 'relaxed' open mode."
-msgstr ""
-
-msgid "  -t                      Produce a test report."
-msgstr ""
-
-msgid "  -t                      Test PPDs instead of generating them."
-msgstr ""
-
-msgid "  -t                      Test the configuration file."
-msgstr ""
-
-msgid "  -t title                Set title."
-msgstr ""
-
-msgid "  -u                      Remove the PPD file when finished."
-msgstr ""
-
-msgid "  -v                      Be slightly verbose."
-msgstr ""
-
-msgid "  -v                      Be verbose (more v's for more verbosity)."
-msgstr ""
-
-msgid "  -v                      Be verbose (show commands)."
-msgstr ""
-
-msgid "  -v                      Show all attributes sent and received."
-msgstr ""
-
-msgid "  -vv                     Be very verbose."
-msgstr ""
-
-msgid "  -z                      Compress PPD files using GNU zip."
-msgstr ""
-
-msgid " FAIL"
-msgstr ""
-
-msgid " PASS"
-msgstr ""
-
-#, c-format
-msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "%.0f x %.0f millimeters"
-msgstr "%.0f x %.0f milimetro"
-
-#, c-format
-msgid "%.0f x %.0f to %.0f x %.0f millimeters"
-msgstr "%.0f x %.0f  -> %.0f x %.0f milimetro"
-
-#, c-format
-msgid "%.2f x %.2f inches"
-msgstr "%.2f x %.2f hatz"
-
-#, c-format
-msgid "%.2f x %.2f to %.2f x %.2f inches"
-msgstr "%.2f x %.2f -> %.2f x %.2f hatz"
-
-#, c-format
-msgid "%s accepting requests since %s"
-msgstr ""
-
-#, c-format
-msgid "%s cannot be changed."
-msgstr "%s ezin da aldatu."
-
-#, c-format
-msgid "%s is not implemented by the CUPS version of lpc."
-msgstr ""
-
-#, c-format
-msgid "%s is not ready"
-msgstr ""
-
-#, c-format
-msgid "%s is ready"
-msgstr ""
-
-#, c-format
-msgid "%s is ready and printing"
-msgstr ""
-
-#, c-format
-msgid "%s job-id user title copies options [file]"
-msgstr ""
-
-#, c-format
-msgid "%s not accepting requests since %s -"
-msgstr ""
-
-#, c-format
-msgid "%s not supported."
-msgstr ""
-
-#, c-format
-msgid "%s/%s accepting requests since %s"
-msgstr ""
-
-#, c-format
-msgid "%s/%s not accepting requests since %s -"
-msgstr ""
-
-#, c-format
-msgid "%s: %-33.33s [job %d localhost]"
-msgstr ""
-
-#. TRANSLATORS: Message is "subject: error"
-#, c-format
-msgid "%s: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: %s failed: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Don't know what to do."
-msgstr ""
-
-#, c-format
-msgid ""
-"%s: Error - %s environment variable names non-existent destination \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - bad job ID."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - cannot print files and alter jobs simultaneously."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - cannot print from stdin if files or a job ID are provided."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected character set after \"-S\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected content type after \"-T\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected copies after \"-#\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected copies after \"-n\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected destination after \"-P\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected destination after \"-b\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected destination after \"-d\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected form after \"-f\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected hold name after \"-H\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected hostname after \"-H\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected hostname after \"-h\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected mode list after \"-y\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected name after \"-%c\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected option=value after \"-o\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected page list after \"-P\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected priority after \"-%c\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected reason text after \"-r\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected title after \"-t\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected username after \"-U\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected username after \"-u\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected value after \"-%c\" option."
-msgstr ""
-
-#, c-format
-msgid ""
-"%s: Error - need \"completed\", \"not-completed\", or \"all\" after \"-W\" "
-"option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - no default destination available."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - priority must be between 1 and 100."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - scheduler not responding."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - too many files - \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unable to access \"%s\" - %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unable to queue from stdin - %s."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown destination \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown destination \"%s/%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown option \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Expected job ID after \"-i\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Invalid destination name in list \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Invalid filter string \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Need job ID (\"-i jobid\") before \"-H restart\"."
-msgstr ""
-
-#, c-format
-msgid "%s: No filter to convert from %s/%s to %s/%s."
-msgstr ""
-
-#, c-format
-msgid "%s: Operation failed: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Sorry, no encryption support."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to connect to server."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to contact server."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to determine MIME type of \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to open %s: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to open PPD file: %s on line %d."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown destination \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown destination MIME type %s/%s."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown option \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown source MIME type %s/%s."
-msgstr ""
-
-#, c-format
-msgid ""
-"%s: Warning - \"%c\" format modifier not supported - output may not be "
-"correct."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - character set option ignored."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - content type option ignored."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - form option ignored."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - mode option ignored."
-msgstr ""
-
-msgid "-1"
-msgstr "-1"
-
-msgid "-10"
-msgstr "-10"
-
-msgid "-100"
-msgstr "-100"
-
-msgid "-105"
-msgstr "-105"
-
-msgid "-11"
-msgstr "-11"
-
-msgid "-110"
-msgstr "-110"
-
-msgid "-115"
-msgstr "-115"
-
-msgid "-12"
-msgstr "-12"
-
-msgid "-120"
-msgstr "-120"
-
-msgid "-13"
-msgstr "-13"
-
-msgid "-14"
-msgstr "-14"
-
-msgid "-15"
-msgstr "-15"
-
-msgid "-2"
-msgstr "-2"
-
-msgid "-20"
-msgstr "-20"
-
-msgid "-25"
-msgstr "-25"
-
-msgid "-3"
-msgstr "-3"
-
-msgid "-30"
-msgstr "-30"
-
-msgid "-35"
-msgstr "-35"
-
-msgid "-4"
-msgstr "-4"
-
-msgid "-40"
-msgstr "-40"
-
-msgid "-45"
-msgstr "-45"
-
-msgid "-5"
-msgstr "-5"
-
-msgid "-50"
-msgstr "-50"
-
-msgid "-55"
-msgstr "-55"
-
-msgid "-6"
-msgstr "-6"
-
-msgid "-60"
-msgstr "-60"
-
-msgid "-65"
-msgstr "-65"
-
-msgid "-7"
-msgstr "-7"
-
-msgid "-70"
-msgstr "-70"
-
-msgid "-75"
-msgstr "-75"
-
-msgid "-8"
-msgstr "-8"
-
-msgid "-80"
-msgstr "-80"
-
-msgid "-85"
-msgstr "-85"
-
-msgid "-9"
-msgstr "-9"
-
-msgid "-90"
-msgstr "-90"
-
-msgid "-95"
-msgstr "-95"
-
-msgid "0"
-msgstr "0"
-
-msgid "1"
-msgstr "1"
-
-msgid "1 inch/sec."
-msgstr "1 hazt/seg"
-
-msgid "1.25x0.25\""
-msgstr "1.25x0.25\""
-
-msgid "1.25x2.25\""
-msgstr "1.25x2.25\""
-
-msgid "1.5 inch/sec."
-msgstr "1.5 hatz/seg"
-
-msgid "1.50x0.25\""
-msgstr "1.50x0.25\""
-
-msgid "1.50x0.50\""
-msgstr "1.50x0.50\""
-
-msgid "1.50x1.00\""
-msgstr "1.50x1.00\""
-
-msgid "1.50x2.00\""
-msgstr "1.50x2.00\""
-
-msgid "10"
-msgstr "10"
-
-msgid "10 inches/sec."
-msgstr "10 hatz/seg"
-
-msgid "10 x 11"
-msgstr ""
-
-msgid "10 x 13"
-msgstr ""
-
-msgid "10 x 14"
-msgstr ""
-
-msgid "100"
-msgstr "100"
-
-msgid "100 mm/sec."
-msgstr "100 mm/seg"
-
-msgid "105"
-msgstr "105"
-
-msgid "11"
-msgstr "11"
-
-msgid "11 inches/sec."
-msgstr "11 hatz/seg"
-
-msgid "110"
-msgstr "110"
-
-msgid "115"
-msgstr "115"
-
-msgid "12"
-msgstr "12"
-
-msgid "12 inches/sec."
-msgstr "12 hatz/seg"
-
-msgid "12 x 11"
-msgstr ""
-
-msgid "120"
-msgstr "120"
-
-msgid "120 mm/sec."
-msgstr "120 mm/seg"
-
-msgid "120x60dpi"
-msgstr "120x60dpi"
-
-msgid "120x72dpi"
-msgstr "120x72dpi"
-
-msgid "13"
-msgstr "13"
-
-msgid "136dpi"
-msgstr "136dpi"
-
-msgid "14"
-msgstr "14"
-
-msgid "15"
-msgstr "15"
-
-msgid "15 mm/sec."
-msgstr "15 mm/seg"
-
-msgid "15 x 11"
-msgstr ""
-
-msgid "150 mm/sec."
-msgstr "150 mm/seg"
-
-msgid "150dpi"
-msgstr "150dpi"
-
-msgid "16"
-msgstr "16"
-
-msgid "17"
-msgstr "17"
-
-msgid "18"
-msgstr "18"
-
-msgid "180dpi"
-msgstr "180dpi"
-
-msgid "19"
-msgstr "19"
-
-msgid "2"
-msgstr "2"
-
-msgid "2 inches/sec."
-msgstr "2 hatz/seg"
-
-msgid "2-Sided Printing"
-msgstr "2 alboetatik inprimatzea"
-
-msgid "2.00x0.37\""
-msgstr "2.00x0.37\""
-
-msgid "2.00x0.50\""
-msgstr "2.00x0.50\""
-
-msgid "2.00x1.00\""
-msgstr "2.00x1.00\""
-
-msgid "2.00x1.25\""
-msgstr "2.00x1.25\""
-
-msgid "2.00x2.00\""
-msgstr "2.00x2.00\""
-
-msgid "2.00x3.00\""
-msgstr "2.00x3.00\""
-
-msgid "2.00x4.00\""
-msgstr "2.00x4.00\""
-
-msgid "2.00x5.50\""
-msgstr "2.00x5.50\""
-
-msgid "2.25x0.50\""
-msgstr "2.25x0.50\""
-
-msgid "2.25x1.25\""
-msgstr "2.25x1.25\""
-
-msgid "2.25x4.00\""
-msgstr "2.25x4.00\""
-
-msgid "2.25x5.50\""
-msgstr "2.25x5.50\""
-
-msgid "2.38x5.50\""
-msgstr "2.38x5.50\""
-
-msgid "2.5 inches/sec."
-msgstr "2.hatz/seg"
-
-msgid "2.50x1.00\""
-msgstr "2.50x1.00\""
-
-msgid "2.50x2.00\""
-msgstr "2.50x2.00\""
-
-msgid "2.75x1.25\""
-msgstr "2.75x1.25\""
-
-msgid "2.9 x 1\""
-msgstr "2.9 x 1\""
-
-msgid "20"
-msgstr "20"
-
-msgid "20 mm/sec."
-msgstr "20 mm/seg"
-
-msgid "200 mm/sec."
-msgstr "200 mm/seg"
-
-msgid "203dpi"
-msgstr "203dpi"
-
-msgid "21"
-msgstr "21"
-
-msgid "22"
-msgstr "22"
-
-msgid "23"
-msgstr "23"
-
-msgid "24"
-msgstr "24"
-
-msgid "24-Pin Series"
-msgstr "24 orrratzeko serieak"
-
-msgid "240x72dpi"
-msgstr "240x72dpi"
-
-msgid "25"
-msgstr "25"
-
-msgid "250 mm/sec."
-msgstr "250 mm/seg"
-
-msgid "26"
-msgstr "26"
-
-msgid "27"
-msgstr "27"
-
-msgid "28"
-msgstr "28"
-
-msgid "29"
-msgstr "29"
-
-msgid "3"
-msgstr "3"
-
-msgid "3 inches/sec."
-msgstr "3 hatz/seg"
-
-msgid "3 x 5"
-msgstr ""
-
-msgid "3.00x1.00\""
-msgstr "3.00x1.00\""
-
-msgid "3.00x1.25\""
-msgstr "3.00x1.25\""
-
-msgid "3.00x2.00\""
-msgstr "3.00x2.00\""
-
-msgid "3.00x3.00\""
-msgstr "3.00x3.00\""
-
-msgid "3.00x5.00\""
-msgstr "3.00x5.00\""
-
-msgid "3.25x2.00\""
-msgstr "3.25x2.00\""
-
-msgid "3.25x5.00\""
-msgstr "3.25x5.00\""
-
-msgid "3.25x5.50\""
-msgstr "3.25x5.50\""
-
-msgid "3.25x5.83\""
-msgstr "3.25x5.83\""
-
-msgid "3.25x7.83\""
-msgstr "3.25x7.83\""
-
-msgid "3.5 x 5"
-msgstr ""
-
-msgid "3.5\" Disk"
-msgstr "3.5\" diskoa"
-
-msgid "3.5\" Disk - 2 1/8 x 2 3/4\""
-msgstr "3.5\" diskoa - 2 1/8 x 2 3/4\""
-
-msgid "3.50x1.00\""
-msgstr "3.50x1.00\""
-
-msgid "30"
-msgstr "30"
-
-msgid "30 mm/sec."
-msgstr "30 mm/seg"
-
-msgid "300 mm/sec."
-msgstr "300 mm/seg"
-
-msgid "300dpi"
-msgstr "300dpi"
-
-msgid "35"
-msgstr "35"
-
-msgid "360dpi"
-msgstr "360dpi"
-
-msgid "360x180dpi"
-msgstr "360x180dpi"
-
-msgid "4"
-msgstr "4"
-
-msgid "4 inches/sec."
-msgstr "4 hatz/seg"
-
-msgid "4.00x1.00\""
-msgstr "4.00x1.00\""
-
-msgid "4.00x13.00\""
-msgstr "4.00x13.00\""
-
-msgid "4.00x2.00\""
-msgstr "4.00x2.00\""
-
-msgid "4.00x2.50\""
-msgstr "4.00x2.50\""
-
-msgid "4.00x3.00\""
-msgstr "4.00x3.00\""
-
-msgid "4.00x4.00\""
-msgstr "4.00x4.00\""
-
-msgid "4.00x5.00\""
-msgstr "4.00x5.00\""
-
-msgid "4.00x6.00\""
-msgstr "4.00x6.00\""
-
-msgid "4.00x6.50\""
-msgstr "4.00x6.50\""
-
-msgid "40"
-msgstr "40"
-
-msgid "40 mm/sec."
-msgstr "40 mm/seg"
-
-msgid "45"
-msgstr "45"
-
-msgid "5"
-msgstr "5"
-
-msgid "5 inches/sec."
-msgstr "5 hatz/seg"
-
-msgid "5 x 7"
-msgstr ""
-
-msgid "50"
-msgstr "50"
-
-msgid "55"
-msgstr "55"
-
-msgid "6"
-msgstr "6"
-
-msgid "6 inches/sec."
-msgstr "6 hatz/seg"
-
-msgid "6.00x1.00\""
-msgstr "6.00x1.00\""
-
-msgid "6.00x2.00\""
-msgstr "6.00x2.00\""
-
-msgid "6.00x3.00\""
-msgstr "6.00x3.00\""
-
-msgid "6.00x4.00\""
-msgstr "6.00x4.00\""
-
-msgid "6.00x5.00\""
-msgstr "6.00x5.00\""
-
-msgid "6.00x6.00\""
-msgstr "6.00x6.00\""
-
-msgid "6.00x6.50\""
-msgstr "6.00x6.50\""
-
-msgid "60"
-msgstr "60"
-
-msgid "60 mm/sec."
-msgstr "60 mm/seg"
-
-msgid "600dpi"
-msgstr "600dpi"
-
-msgid "60dpi"
-msgstr "60dpi"
-
-msgid "60x72dpi"
-msgstr ""
-
-msgid "65"
-msgstr "65"
-
-msgid "7"
-msgstr "7"
-
-msgid "7 inches/sec."
-msgstr "7 hatz/seg"
-
-msgid "7 x 9"
-msgstr ""
-
-msgid "70"
-msgstr "70"
-
-msgid "720dpi"
-msgstr "720dpi"
-
-msgid "75"
-msgstr "75"
-
-msgid "8"
-msgstr "8"
-
-msgid "8 inches/sec."
-msgstr "8 hatz/seg"
-
-msgid "8 x 10"
-msgstr ""
-
-msgid "8.00x1.00\""
-msgstr "8.00x1.00\""
-
-msgid "8.00x2.00\""
-msgstr "8.00x2.00\""
-
-msgid "8.00x3.00\""
-msgstr "8.00x3.00\""
-
-msgid "8.00x4.00\""
-msgstr "8.00x4.00\""
-
-msgid "8.00x5.00\""
-msgstr "8.00x5.00\""
-
-msgid "8.00x6.00\""
-msgstr "8.00x6.00\""
-
-msgid "8.00x6.50\""
-msgstr "8.00x6.50\""
-
-msgid "80"
-msgstr "80"
-
-msgid "80 mm/sec."
-msgstr "80 mm/seg"
-
-msgid "85"
-msgstr "85"
-
-msgid "9"
-msgstr "9"
-
-msgid "9 inches/sec."
-msgstr "9 hatz/seg"
-
-msgid "9 x 11"
-msgstr ""
-
-msgid "9 x 12"
-msgstr ""
-
-msgid "9-Pin Series"
-msgstr "9 orratzeko serieak"
-
-msgid "90"
-msgstr "90"
-
-msgid "95"
-msgstr "95"
-
-msgid "?Invalid help command unknown."
-msgstr ""
-
-msgid "A Samba password is required to export printer drivers"
-msgstr ""
-
-msgid "A Samba username is required to export printer drivers"
-msgstr ""
-
-#, c-format
-msgid "A class named \"%s\" already exists."
-msgstr ""
-
-#, c-format
-msgid "A printer named \"%s\" already exists."
-msgstr ""
-
-msgid "A0"
-msgstr "A0"
-
-msgid "A0 Long Edge"
-msgstr ""
-
-msgid "A1"
-msgstr "A1"
-
-msgid "A1 Long Edge"
-msgstr ""
-
-msgid "A10"
-msgstr "A10"
-
-msgid "A2"
-msgstr "A2"
-
-msgid "A2 Long Edge"
-msgstr ""
-
-msgid "A3"
-msgstr "A3"
-
-msgid "A3 Long Edge"
-msgstr ""
-
-msgid "A3 Oversize"
-msgstr ""
-
-msgid "A3 Oversize Long Edge"
-msgstr ""
-
-msgid "A4"
-msgstr "A4"
-
-msgid "A4 Long Edge"
-msgstr ""
-
-msgid "A4 Oversize"
-msgstr ""
-
-msgid "A4 Small"
-msgstr ""
-
-msgid "A5"
-msgstr "A5"
-
-msgid "A5 Long Edge"
-msgstr ""
-
-msgid "A5 Oversize"
-msgstr ""
-
-msgid "A6"
-msgstr "A6"
-
-msgid "A6 Long Edge"
-msgstr ""
-
-msgid "A7"
-msgstr "A7"
-
-msgid "A8"
-msgstr "A8"
-
-msgid "A9"
-msgstr "A9"
-
-msgid "ANSI A"
-msgstr "ANSI A"
-
-msgid "ANSI B"
-msgstr "ANSI B"
-
-msgid "ANSI C"
-msgstr "ANSI C"
-
-msgid "ANSI D"
-msgstr "ANSI D"
-
-msgid "ANSI E"
-msgstr "ANSI E"
-
-msgid "ARCH C"
-msgstr "ARCH C"
-
-msgid "ARCH C Long Edge"
-msgstr ""
-
-msgid "ARCH D"
-msgstr "ARCH D"
-
-msgid "ARCH D Long Edge"
-msgstr ""
-
-msgid "ARCH E"
-msgstr "ARCH E"
-
-msgid "ARCH E Long Edge"
-msgstr ""
-
-msgid "Accept Jobs"
-msgstr "Onartu lanak"
-
-msgid "Accepted"
-msgstr "Onartuta"
-
-msgid "Add Class"
-msgstr "Gehitu klasea"
-
-msgid "Add Printer"
-msgstr "Gehitu inprimagailua"
-
-msgid "Add RSS Subscription"
-msgstr "Gehitu RSS harpidetza"
-
-msgid "Address"
-msgstr "Helbidea"
-
-msgid "Address - 1 1/8 x 3 1/2\""
-msgstr "Helbidea - 1 1/8 x 3 1/2\""
-
-msgid "Administration"
-msgstr "Administrazioa"
-
-msgid "Always"
-msgstr "Beti"
-
-msgid "AppSocket/HP JetDirect"
-msgstr "AppSocket/HP JetDirect"
-
-msgid "Applicator"
-msgstr "Aplikatzailea"
-
-#, c-format
-msgid "Attempt to set %s printer-state to bad value %d."
-msgstr ""
-
-#, c-format
-msgid "Attribute groups are out of order (%x < %x)."
-msgstr ""
-
-msgid "B0"
-msgstr "B0"
-
-msgid "B1"
-msgstr "B1"
-
-msgid "B10"
-msgstr "B10"
-
-msgid "B2"
-msgstr "B2"
-
-msgid "B3"
-msgstr "B3"
-
-msgid "B4"
-msgstr "B4"
-
-msgid "B5"
-msgstr "B5"
-
-msgid "B5 Oversize"
-msgstr ""
-
-msgid "B6"
-msgstr "B6"
-
-msgid "B7"
-msgstr "B7"
-
-msgid "B8"
-msgstr "B8"
-
-msgid "B9"
-msgstr "B9"
-
-msgid "Bad NULL dests pointer"
-msgstr "Okerreko helburuko NULL erakuslea"
-
-msgid "Bad OpenGroup"
-msgstr "Okerreko OpenGroup"
-
-msgid "Bad OpenUI/JCLOpenUI"
-msgstr "Okerreko OpenUI/JCLOpenUI"
-
-msgid "Bad OrderDependency"
-msgstr "Okerreko OrderDependency"
-
-msgid "Bad PPD cache file."
-msgstr ""
-
-msgid "Bad Request"
-msgstr "Okerreko eskaera"
-
-msgid "Bad SNMP version number"
-msgstr "Okerreko SNMP bertsio zenbakia"
-
-msgid "Bad UIConstraints"
-msgstr "Okerreko UIConstraints"
-
-#, c-format
-msgid "Bad charset file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad charset type: %s"
-msgstr ""
-
-#, c-format
-msgid "Bad columns value %d."
-msgstr ""
-
-#, c-format
-msgid "Bad copies value %d."
-msgstr "Okerreko kopien %d balioa."
-
-#, c-format
-msgid "Bad cpi value %f."
-msgstr ""
-
-msgid "Bad custom parameter"
-msgstr "Okerreko parametro pertsonalizatua"
-
-#, c-format
-msgid "Bad device-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad device-uri scheme \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad document-format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad document-format-default \"%s\"."
-msgstr ""
-
-msgid "Bad filename buffer"
-msgstr ""
-
-#, c-format
-msgid "Bad font description line \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad font description line: %s"
-msgstr ""
-
-msgid "Bad job-priority value."
-msgstr ""
-
-#, c-format
-msgid "Bad job-sheets value \"%s\"."
-msgstr ""
-
-msgid "Bad job-sheets value type."
-msgstr ""
-
-msgid "Bad job-state value."
-msgstr ""
-
-#, c-format
-msgid "Bad job-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad lpi value %f."
-msgstr ""
-
-#, c-format
-msgid "Bad notify-pull-method \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad notify-recipient-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad number-up value %d."
-msgstr "Okerreko number-up balioa: %d."
-
-#, c-format
-msgid "Bad option + choice on line %d."
-msgstr ""
-
-#, c-format
-msgid "Bad page-ranges values %d-%d."
-msgstr "Okerreko page-ranges balioak: %d-%d."
-
-#, c-format
-msgid "Bad port-monitor \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad printer-state value %d."
-msgstr ""
-
-#, c-format
-msgid "Bad request ID %d."
-msgstr ""
-
-#, c-format
-msgid "Bad request version number %d.%d."
-msgstr ""
-
-msgid "Bad subscription ID"
-msgstr ""
-
-#, c-format
-msgid "Bad text direction \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad text direction: %s"
-msgstr ""
-
-#, c-format
-msgid "Bad text width \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad text width: %s"
-msgstr ""
-
-msgid "Bad value string"
-msgstr ""
-
-msgid "Banners"
-msgstr "Titularrak"
-
-msgid "Billing Information: "
-msgstr "Fakturazioaren informazioa: "
-
-msgid "Bond Paper"
-msgstr "Tituluentzako papera"
-
-#, c-format
-msgid "Boolean expected for waiteof option \"%s\"."
-msgstr ""
-
-msgid "Buffer overflow detected, aborting."
-msgstr ""
-
-msgid "CMYK"
-msgstr "CMYK"
-
-msgid "CPCL Label Printer"
-msgstr "CPCL etiketen inprimagailua"
-
-msgid "Cancel RSS Subscription"
-msgstr "Utzi RSS harpidetza"
-
-msgid "Canceling print job."
-msgstr ""
-
-msgid "Cannot share a remote Kerberized printer."
-msgstr ""
-
-msgid "Cassette"
-msgstr ""
-
-msgid "Change Settings"
-msgstr "Aldatu ezarpenak"
-
-#, c-format
-msgid "Character set \"%s\" not supported."
-msgstr ""
-
-msgid "Classes"
-msgstr "Klaseak"
-
-msgid "Clean Print Heads"
-msgstr "Garbitu inprimatze-buruak"
-
-msgid "Close-Job doesn't support the job-uri attribute."
-msgstr ""
-
-msgid "Color"
-msgstr "Kolorea"
-
-msgid "Color Mode"
-msgstr "Koloreen modua"
-
-msgid ""
-"Commands may be abbreviated.  Commands are:\n"
-"\n"
-"exit    help    quit    status  ?"
-msgstr ""
-
-msgid "Community name uses indefinite length"
-msgstr "Komunitatearen izenak definitu gabeko luzera darabil"
-
-msgid "Connected to printer."
-msgstr ""
-
-msgid "Connecting to printer."
-msgstr ""
-
-msgid "Continue"
-msgstr "Jarraitu"
-
-msgid "Continuous"
-msgstr "Jarraia"
-
-msgid "Control file sent successfully."
-msgstr ""
-
-msgid "Copying print data."
-msgstr ""
-
-msgid "Created"
-msgstr "Sortuta"
-
-msgid "Created On: "
-msgstr "Sorrera-data:"
-
-msgid "Custom"
-msgstr "Pertsonalizatu"
-
-msgid "CustominCutInterval"
-msgstr "CustominCutInterval"
-
-msgid "CustominTearInterval"
-msgstr "CustominTearInterval"
-
-msgid "Cut"
-msgstr "Ebaki"
-
-msgid "Cutter"
-msgstr "Ebakigailua"
-
-msgid "Dark"
-msgstr "Iluna"
-
-msgid "Darkness"
-msgstr "Iluntasuna"
-
-msgid "Data file sent successfully."
-msgstr ""
-
-msgid "Delete Class"
-msgstr "Ezabatu klasea"
-
-msgid "Delete Printer"
-msgstr "Ezabatu inprimagailua"
-
-msgid "Description: "
-msgstr "Deskripzioa: "
-
-msgid "DeskJet Series"
-msgstr "DeskJet serieak"
-
-#, c-format
-msgid "Destination \"%s\" is not accepting jobs."
-msgstr "\"%s\" helburuak ez du lanik onartzen."
-
-#, c-format
-msgid ""
-"Device: uri = %s\n"
-"        class = %s\n"
-"        info = %s\n"
-"        make-and-model = %s\n"
-"        device-id = %s\n"
-"        location = %s"
-msgstr ""
-
-msgid "Direct Thermal Media"
-msgstr "Zuzeneko euskarri termikoa"
-
-#, c-format
-msgid "Directory \"%s\" contains a relative path."
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" is a file."
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" not available: %s"
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-msgid "Disabled"
-msgstr "Desgaituta"
-
-#, c-format
-msgid "Document #%d does not exist in job #%d."
-msgstr ""
-
-msgid "Driver Name: "
-msgstr "Kontrolatzailearen izena:"
-
-msgid "Driver Version: "
-msgstr "Kontrolatzailearen bertsioa:"
-
-msgid "Duplexer"
-msgstr "Duplexatzailea"
-
-msgid "Dymo"
-msgstr "Dymo"
-
-msgid "EPL1 Label Printer"
-msgstr "EPL1 etiketen inprimagailua"
-
-msgid "EPL2 Label Printer"
-msgstr "EPL2 etiketen inprimagailua"
-
-msgid "Edit Configuration File"
-msgstr "Editatu konfigurazioko fitxategia"
-
-msgid "Empty PPD file."
-msgstr ""
-
-#. TRANSLATORS: Banner/cover sheet after the print job.
-msgid "Ending Banner"
-msgstr "Titularraren amaiera"
-
-msgid "English"
-msgstr "Basque"
-
-msgid "Enter old password:"
-msgstr "Sartu pasahitz zaharra:"
-
-msgid "Enter password again:"
-msgstr "Sartu pasahitza berriro:"
-
-msgid "Enter password:"
-msgstr "Sartu pasahitza:"
-
-msgid ""
-"Enter your username and password or the root username and password to access "
-"this page. If you are using Kerberos authentication, make sure you have a "
-"valid Kerberos ticket."
-msgstr ""
-"Idatzi zure erabiltzaile-izena eta pasahitza, edo supererabiltzailearen "
-"izena eta pasahitza, orrialde honetara sarbidetzeko. Kerberos "
-"autentifikazioa erabiltzen ari bazara, ziurtatu zaitez baliozko Kerberos "
-"txartela duzula."
-
-msgid "Envelope #10 "
-msgstr ""
-
-msgid "Envelope #11"
-msgstr ""
-
-msgid "Envelope #12"
-msgstr ""
-
-msgid "Envelope #14"
-msgstr ""
-
-msgid "Envelope #9"
-msgstr ""
-
-msgid "Envelope B4"
-msgstr ""
-
-msgid "Envelope B5"
-msgstr ""
-
-msgid "Envelope B6"
-msgstr ""
-
-msgid "Envelope C0"
-msgstr ""
-
-msgid "Envelope C1"
-msgstr ""
-
-msgid "Envelope C2"
-msgstr ""
-
-msgid "Envelope C3"
-msgstr ""
-
-msgid "Envelope C4"
-msgstr ""
-
-msgid "Envelope C5"
-msgstr ""
-
-msgid "Envelope C6"
-msgstr ""
-
-msgid "Envelope C65"
-msgstr ""
-
-msgid "Envelope C7"
-msgstr ""
-
-msgid "Envelope Choukei 3"
-msgstr ""
-
-msgid "Envelope Choukei 3 Long Edge"
-msgstr ""
-
-msgid "Envelope Choukei 4"
-msgstr ""
-
-msgid "Envelope Choukei 4 Long Edge"
-msgstr ""
-
-msgid "Envelope DL"
-msgstr ""
-
-msgid "Envelope Feed"
-msgstr "Gutunazalen iturria"
-
-msgid "Envelope Invite"
-msgstr ""
-
-msgid "Envelope Italian"
-msgstr ""
-
-msgid "Envelope Kaku2"
-msgstr ""
-
-msgid "Envelope Kaku2 Long Edge"
-msgstr ""
-
-msgid "Envelope Kaku3"
-msgstr ""
-
-msgid "Envelope Kaku3 Long Edge"
-msgstr ""
-
-msgid "Envelope Monarch"
-msgstr ""
-
-msgid "Envelope PRC1 "
-msgstr ""
-
-msgid "Envelope PRC1 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC10"
-msgstr ""
-
-msgid "Envelope PRC10 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC2"
-msgstr ""
-
-msgid "Envelope PRC2 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC3"
-msgstr ""
-
-msgid "Envelope PRC3 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC4"
-msgstr ""
-
-msgid "Envelope PRC4 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC5 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC5PRC5"
-msgstr ""
-
-msgid "Envelope PRC6"
-msgstr ""
-
-msgid "Envelope PRC6 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC7"
-msgstr ""
-
-msgid "Envelope PRC7 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC8"
-msgstr ""
-
-msgid "Envelope PRC8 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC9"
-msgstr ""
-
-msgid "Envelope PRC9 Long Edge"
-msgstr ""
-
-msgid "Envelope Personal"
-msgstr ""
-
-msgid "Envelope You4"
-msgstr ""
-
-msgid "Envelope You4 Long Edge"
-msgstr ""
-
-msgid "Epson"
-msgstr "Epson"
-
-msgid "Error Policy"
-msgstr "Erroreen politika"
-
-msgid "Error sending raster data."
-msgstr ""
-
-msgid "Error: need hostname after \"-h\" option."
-msgstr ""
-
-msgid "Every 10 Labels"
-msgstr "10 etiketez behin"
-
-msgid "Every 2 Labels"
-msgstr "2 etiketez behin"
-
-msgid "Every 3 Labels"
-msgstr "3 etiketez behin"
-
-msgid "Every 4 Labels"
-msgstr "4 etiketez behin"
-
-msgid "Every 5 Labels"
-msgstr "5 etiketez behin"
-
-msgid "Every 6 Labels"
-msgstr "6 etiketez behin"
-
-msgid "Every 7 Labels"
-msgstr "7 etiketez behin"
-
-msgid "Every 8 Labels"
-msgstr "8 etiketez behin"
-
-msgid "Every 9 Labels"
-msgstr "9 etiketez behin"
-
-msgid "Every Label"
-msgstr "Etiketa bakoitzeko"
-
-msgid "Executive"
-msgstr ""
-
-msgid "Expectation Failed"
-msgstr "Espero zenak huts egin du"
-
-msgid "Export Printers to Samba"
-msgstr "Esportatu inprimagailuak Samba-ra"
-
-msgid "FAIL"
-msgstr ""
-
-msgid "FanFold German"
-msgstr ""
-
-msgid "FanFold Legal German"
-msgstr ""
-
-msgid "Fanfold US"
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" contains a relative path."
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" is a directory."
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" not available: %s"
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-msgid "File Folder"
-msgstr "Fitxategien karpeta"
-
-msgid "File Folder - 9/16 x 3 7/16\""
-msgstr "Fitxategien karpeta - 9/16 x 3 7/16\""
-
-#, c-format
-msgid ""
-"File device URIs have been disabled. To enable, see the FileDevice directive "
-"in \"%s/cupsd.conf\"."
-msgstr ""
-
-#, c-format
-msgid "Finished page %d."
-msgstr ""
-
-msgid "Folio"
-msgstr "Folioa"
-
-msgid "Forbidden"
-msgstr "Debekatua"
-
-#, c-format
-msgid "Formatting page %d."
-msgstr ""
-
-msgid "General"
-msgstr "Orokorra"
-
-msgid "Generic"
-msgstr "Generikoa"
-
-msgid "Get-Response-PDU uses indefinite length"
-msgstr "Get-Response-PDU definitu gabeko luzera darabil"
-
-msgid "Glossy Paper"
-msgstr "Paper satinatua"
-
-msgid "Got a printer-uri attribute but no job-id."
-msgstr ""
-
-msgid "Grayscale"
-msgstr "Gris-eskala"
-
-msgid "HP"
-msgstr "HP"
-
-msgid "Hanging Folder"
-msgstr "Esekitako karpeta"
-
-msgid "Hanging Folder - 9/16 x 2\""
-msgstr "Esekitako karpeta - 9/16 x 2\""
-
-msgid "IPP 1setOf attribute with incompatible value tags."
-msgstr ""
-
-msgid "IPP attribute has no name."
-msgstr ""
-
-msgid "IPP begCollection value not 0 bytes."
-msgstr ""
-
-msgid "IPP boolean value not 1 byte."
-msgstr ""
-
-msgid "IPP date value not 11 bytes."
-msgstr ""
-
-msgid "IPP endCollection value not 0 bytes."
-msgstr ""
-
-msgid "IPP enum value not 4 bytes."
-msgstr ""
-
-msgid "IPP integer value not 4 bytes."
-msgstr ""
-
-msgid "IPP language length overflows value."
-msgstr ""
-
-msgid "IPP member name is not empty."
-msgstr ""
-
-msgid "IPP name larger than 32767 bytes."
-msgstr ""
-
-msgid "IPP nameWithLanguage value less than minimum 4 bytes."
-msgstr ""
-
-msgid "IPP rangeOfInteger value not 8 bytes."
-msgstr ""
-
-msgid "IPP resolution value not 9 bytes."
-msgstr ""
-
-msgid "IPP string length overflows value."
-msgstr ""
-
-msgid "IPP textWithLanguage value less than minimum 4 bytes."
-msgstr ""
-
-msgid "IPP value larger than 32767 bytes."
-msgstr ""
-
-msgid "ISOLatin1"
-msgstr "UTF-8"
-
-msgid "Illegal control character"
-msgstr "Kontrol-karaktere ilegala"
-
-msgid "Illegal main keyword string"
-msgstr "Gako-hitzaren kate nagusia ilegala"
-
-msgid "Illegal option keyword string"
-msgstr "Aukeraren gako-hitzaren katea ilegala"
-
-msgid "Illegal translation string"
-msgstr "Itzulpenaren katea ilegala"
-
-msgid "Illegal whitespace character"
-msgstr "Zuriunea karakterea ilegala"
-
-msgid "Installable Options"
-msgstr "Aukera instalagarriak"
-
-msgid "Installed"
-msgstr "Instalatuta"
-
-msgid "IntelliBar Label Printer"
-msgstr "IntelliBar etiketen inprimagailua"
-
-msgid "Intellitech"
-msgstr "Intellitech"
-
-msgid "Internal Server Error"
-msgstr "Zerbitzariaren barneko errorea"
-
-msgid "Internal error"
-msgstr "Barneko errorea"
-
-msgid "Internet Postage 2-Part"
-msgstr "Interneteko posta 2. zatia"
-
-msgid "Internet Postage 2-Part - 2 1/4 x 7 1/2\""
-msgstr "Interneteko posta 2. zatia - 2 1/4 x 7 1/2\""
-
-msgid "Internet Postage 3-Part"
-msgstr "Interneteko posta 3. zatia"
-
-msgid "Internet Postage 3-Part - 2 1/4 x 7\""
-msgstr "Interneteko posta 3. zatia - 2 1/4 x 7\""
-
-msgid "Internet Printing Protocol"
-msgstr "Interneten inPrimatzeko Protokoloa"
-
-#, c-format
-msgid "Invalid printer command \"%s\"."
-msgstr ""
-
-msgid "JCL"
-msgstr "JCL"
-
-msgid "JIS B0"
-msgstr ""
-
-msgid "JIS B1"
-msgstr ""
-
-msgid "JIS B10"
-msgstr ""
-
-msgid "JIS B2"
-msgstr ""
-
-msgid "JIS B3"
-msgstr ""
-
-msgid "JIS B4"
-msgstr ""
-
-msgid "JIS B4 Long Edge"
-msgstr ""
-
-msgid "JIS B5"
-msgstr ""
-
-msgid "JIS B5 Long Edge"
-msgstr ""
-
-msgid "JIS B6"
-msgstr ""
-
-msgid "JIS B6 Long Edge"
-msgstr ""
-
-msgid "JIS B7"
-msgstr ""
-
-msgid "JIS B8"
-msgstr ""
-
-msgid "JIS B9"
-msgstr ""
-
-#, c-format
-msgid "Job #%d cannot be restarted - no files."
-msgstr ""
-
-#, c-format
-msgid "Job #%d does not exist."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is already aborted - can't cancel."
-msgstr "%d. lana jadanik abortatuta dago, ezin da bertan behera utzi."
-
-#, c-format
-msgid "Job #%d is already canceled - can't cancel."
-msgstr ""
-"%d. lana jadanik bertan behera utzita dago, ezin da bertan behera utzi."
-
-#, c-format
-msgid "Job #%d is already completed - can't cancel."
-msgstr "%d. lana jadanik burututa dago, ezin da bertan behera utzi."
-
-#, c-format
-msgid "Job #%d is finished and cannot be altered."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is not complete."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is not held for authentication."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is not held."
-msgstr ""
-
-msgid "Job Completed"
-msgstr "Lana burututa"
-
-msgid "Job Created"
-msgstr "Lana sortuta"
-
-msgid "Job ID: "
-msgstr "Lanaren IDa: "
-
-msgid "Job Options Changed"
-msgstr "Lanaren aukerak aldatuta"
-
-msgid "Job Stopped"
-msgstr "Lana geldituta"
-
-msgid "Job UUID: "
-msgstr "Lanaren UUIDa:"
-
-msgid "Job is completed and cannot be changed."
-msgstr "Lana burututa dago eta ezin da aldatu."
-
-msgid "Job operation failed:"
-msgstr "Lanaren eragiketak huts egin du:"
-
-msgid "Job state cannot be changed."
-msgstr "Lanaren egoera ezin da aldatu."
-
-msgid "Job subscriptions cannot be renewed."
-msgstr ""
-
-msgid "Jobs"
-msgstr "Lanak"
-
-msgid "LPD/LPR Host or Printer"
-msgstr "LPD/LPR ostalaria edo inprimagailua"
-
-msgid "Label Printer"
-msgstr "Etiketen inprimagailua"
-
-msgid "Label Top"
-msgstr "Etiketaren goian"
-
-#, c-format
-msgid "Language \"%s\" not supported."
-msgstr ""
-
-msgid "Large Address"
-msgstr "Helbide luzea"
-
-msgid "Large Address - 1 4/10 x 3 1/2\""
-msgstr "Helbide luzea - 1 4/10 x 3 1/2\""
-
-msgid "LaserJet Series PCL 4/5"
-msgstr "LaserJet PCL 4/5 serieak"
-
-msgid "Letter Oversize"
-msgstr ""
-
-msgid "Letter Oversize Long Edge"
-msgstr ""
-
-msgid "Light"
-msgstr "Argia"
-
-msgid "Line longer than the maximum allowed (255 characters)"
-msgstr "Lerroa baimendutako gehienezkoa (255 karaktere) baino luzeagoa"
-
-msgid "List Available Printers"
-msgstr "Inprimagailu erabilgarrien zerrenda"
-
-msgid "Loading print file."
-msgstr ""
-
-msgid "Location: "
-msgstr "Kokalekua: "
-
-msgid "Long-Edge (Portrait)"
-msgstr "Ertz-luzea (bertikala)"
-
-msgid "Looking for printer."
-msgstr ""
-
-msgid "Make and Model: "
-msgstr "Marka eta modeloa: "
-
-msgid "Manual Feed"
-msgstr "Eskuzko iturria"
-
-msgid "Media Dimensions: "
-msgstr "Paperaren dimentsioak: "
-
-msgid "Media Limits: "
-msgstr "Paperaren mugak: "
-
-msgid "Media Name: "
-msgstr "Paperaren izena: "
-
-msgid "Media Size"
-msgstr "Paperaren tamaina"
-
-msgid "Media Source"
-msgstr "Paperaren iturria"
-
-msgid "Media Tracking"
-msgstr "Paperaren jarraipena"
-
-msgid "Media Type"
-msgstr "Paper mota"
-
-msgid "Medium"
-msgstr "Euskarria"
-
-msgid "Memory allocation error"
-msgstr "Errorea memoria esleitzean"
-
-msgid "Missing CloseGroup"
-msgstr ""
-
-msgid "Missing PPD-Adobe-4.x header"
-msgstr "PPD-Adobe-4.x goiburukoa falta da"
-
-msgid "Missing asterisk in column 1"
-msgstr "Izartxoa falta da 1. zutabean"
-
-msgid "Missing document-number attribute."
-msgstr ""
-
-#, c-format
-msgid "Missing double quote on line %d."
-msgstr ""
-
-msgid "Missing form variable"
-msgstr ""
-
-msgid "Missing last-document attribute in request."
-msgstr ""
-
-msgid "Missing media or media-col."
-msgstr ""
-
-msgid "Missing media-size in media-col."
-msgstr ""
-
-msgid "Missing notify-subscription-ids attribute."
-msgstr ""
-
-msgid "Missing option keyword"
-msgstr ""
-
-msgid "Missing requesting-user-name attribute."
-msgstr ""
-
-msgid "Missing required attributes."
-msgstr ""
-
-#, c-format
-msgid "Missing value on line %d of banner file."
-msgstr ""
-
-#, c-format
-msgid "Missing value on line %d."
-msgstr ""
-
-msgid "Missing value string"
-msgstr "Balioaren katea falta da"
-
-msgid "Missing x-dimension in media-size."
-msgstr ""
-
-msgid "Missing y-dimension in media-size."
-msgstr ""
-
-#, c-format
-msgid ""
-"Model:  name = %s\n"
-"        natural_language = %s\n"
-"        make-and-model = %s\n"
-"        device-id = %s"
-msgstr ""
-
-msgid "Modify Class"
-msgstr "Aldatu klasea"
-
-msgid "Modify Printer"
-msgstr "Aldatu inprimagailua"
-
-msgid "Move All Jobs"
-msgstr "Aldatu lan guztiak lekuz"
-
-msgid "Move Job"
-msgstr "Aldatu lana lekuz"
-
-msgid "Moved Permanently"
-msgstr "Betirako lekuz aldatuta"
-
-msgid "NULL PPD file pointer"
-msgstr "PPD fitxategiaren erakusle NULUA"
-
-msgid "Name OID uses indefinite length"
-msgstr "Izenaren OIDak definitu gabeko luzera darabil"
-
-msgid "Nested classes are not allowed."
-msgstr ""
-
-msgid "Never"
-msgstr "Inoiz ere ez"
-
-msgid "New Stylus Color Series"
-msgstr "Stylus Color serie berriak"
-
-msgid "New Stylus Photo Series"
-msgstr "Stylus Photo serie berriak"
-
-msgid "No"
-msgstr "Ez"
-
-msgid "No Content"
-msgstr "Edukirik ez"
-
-msgid "No PPD name"
-msgstr ""
-
-msgid "No VarBind SEQUENCE"
-msgstr "'VarBind SEQUENCE'-rik ez"
-
-msgid "No Windows printer drivers are installed."
-msgstr ""
-
-msgid "No active connection"
-msgstr "Ez dago konexio aktiborik"
-
-#, c-format
-msgid "No active jobs on %s."
-msgstr ""
-
-msgid "No attributes in request."
-msgstr ""
-
-msgid "No authentication information provided."
-msgstr ""
-
-msgid "No community name"
-msgstr "Ez dago komunitatearen izenik"
-
-msgid "No default printer."
-msgstr ""
-
-msgid "No destinations added."
-msgstr "Ez da helbururik gehitu."
-
-msgid "No device URI found in argv[0] or in DEVICE_URI environment variable."
-msgstr ""
-
-msgid "No error-index"
-msgstr "Ez dago error-index parametroa"
-
-msgid "No error-status"
-msgstr "Ez dago error-status parametroa"
-
-msgid "No file in print request."
-msgstr ""
-
-msgid "No fonts in charset file."
-msgstr ""
-
-msgid "No modification time"
-msgstr ""
-
-msgid "No name OID"
-msgstr "Ez dago izenaren OIDrik"
-
-msgid "No pages were found."
-msgstr ""
-
-msgid "No printer name"
-msgstr ""
-
-msgid "No printer-uri found"
-msgstr ""
-
-msgid "No printer-uri found for class"
-msgstr ""
-
-msgid "No printer-uri in request."
-msgstr ""
-
-msgid "No request-id"
-msgstr "Ez dago request-id"
-
-msgid "No subscription attributes in request."
-msgstr ""
-
-msgid "No subscriptions found."
-msgstr "Ez da harpidetzarik aurkitu."
-
-msgid "No variable-bindings SEQUENCE"
-msgstr "Ez dago 'variable-bindings SEQUENCE'-rik"
-
-msgid "No version number"
-msgstr "Ez dago bertsioaren zenbakirik"
-
-msgid "Non-continuous (Mark sensing)"
-msgstr "Ez da jarraia (markaren detekzioa)"
-
-msgid "Non-continuous (Web sensing)"
-msgstr "Ez da jarraia (web detekzioa)"
-
-msgid "Normal"
-msgstr "Arrunta"
-
-msgid "Not Found"
-msgstr "Ez da aurkitu"
-
-msgid "Not Implemented"
-msgstr "Ez dago garatuta"
-
-msgid "Not Installed"
-msgstr "Ez dago instalatuta"
-
-msgid "Not Modified"
-msgstr "Ez dago aldatuta"
-
-msgid "Not Supported"
-msgstr "EZ dago onartuta"
-
-msgid "Not allowed to print."
-msgstr "Inprimatzea ez dago baimenduta."
-
-msgid "Note"
-msgstr "Oharra"
-
-msgid ""
-"Note: this program only validates the DSC comments, not the PostScript "
-"itself."
-msgstr ""
-
-msgid "OK"
-msgstr "Ados"
-
-msgid "Off (1-Sided)"
-msgstr "Desaktibatuta (1 aldea)"
-
-msgid "Oki"
-msgstr "Oki"
-
-msgid "Online Help"
-msgstr "Lineako laguntza"
-
-#, c-format
-msgid "Open of %s failed: %s"
-msgstr "Huts egin du %s irekitzean: %s"
-
-msgid "OpenGroup without a CloseGroup first"
-msgstr "OpenGroup aurreko CloseGroup-rik gabe"
-
-msgid "OpenUI/JCLOpenUI without a CloseUI/JCLCloseUI first"
-msgstr "OpenUI/JCLOpenUI aurreko CloseUI/JCLCloseUI-rik gabe"
-
-msgid "Operation Policy"
-msgstr "Eragiketaren politika"
-
-#, c-format
-msgid "Option \"%s\" cannot be included via %%%%IncludeFeature."
-msgstr ""
-
-msgid "Options Installed"
-msgstr "Instalatutako aukerak"
-
-msgid "Options:"
-msgstr ""
-
-msgid "Options: "
-msgstr "Aukerak: "
-
-msgid "Out of date PPD cache file."
-msgstr ""
-
-msgid "Out of memory."
-msgstr ""
-
-msgid "Output Mode"
-msgstr "Irteeraren modua"
-
-#, c-format
-msgid "Output for printer %s is sent to %s"
-msgstr ""
-
-#, c-format
-msgid "Output for printer %s is sent to remote printer %s on %s"
-msgstr ""
-
-#, c-format
-msgid "Output for printer %s/%s is sent to %s"
-msgstr ""
-
-#, c-format
-msgid "Output for printer %s/%s is sent to remote printer %s on %s"
-msgstr ""
-
-msgid "PASS"
-msgstr ""
-
-msgid "PCL Laser Printer"
-msgstr "PCL laser inprimagailua"
-
-msgid "PRC16K"
-msgstr "PRC16K"
-
-msgid "PRC16K Long Edge"
-msgstr ""
-
-msgid "PRC32K"
-msgstr "PRC32K"
-
-msgid "PRC32K Long Edge"
-msgstr ""
-
-msgid "PRC32K Oversize"
-msgstr ""
-
-msgid "PRC32K Oversize Long Edge"
-msgstr ""
-
-msgid "Packet does not contain a Get-Response-PDU"
-msgstr "Paketeak ez dauka Get-Response-PDU"
-
-msgid "Packet does not start with SEQUENCE"
-msgstr "Paketeak ez da SEQUENCErekin hasten"
-
-msgid "ParamCustominCutInterval"
-msgstr "ParamCustominCutInterval"
-
-msgid "ParamCustominTearInterval"
-msgstr "ParamCustominTearInterval"
-
-#, c-format
-msgid "Password for %s on %s? "
-msgstr "%s(r)en pasahitza %s(e)n?"
-
-#, c-format
-msgid "Password for %s required to access %s via SAMBA: "
-msgstr "%s(r)en pasahitza behar da %s(e)n SAMBA bidez sarbidetzeko: "
-
-msgid "Pause Class"
-msgstr "Pausatu klasea"
-
-msgid "Pause Printer"
-msgstr "Pausatu inprimagailua"
-
-msgid "Peel-Off"
-msgstr "Altxatu"
-
-msgid "Photo"
-msgstr "Argazkia"
-
-msgid "Photo Labels"
-msgstr "Argakien etiketak"
-
-msgid "Plain Paper"
-msgstr "Paper soila"
-
-msgid "Policies"
-msgstr "Politikak"
-
-msgid "Port Monitor"
-msgstr "Atakaren monitorea"
-
-msgid "PostScript Printer"
-msgstr "PostScript inprimagailua"
-
-msgid "Postcard"
-msgstr "Postala"
-
-msgid "Postcard Double "
-msgstr ""
-
-msgid "Postcard Double Long Edge"
-msgstr ""
-
-msgid "Postcard Long Edge"
-msgstr ""
-
-msgid "Print Density"
-msgstr "Inprimatze-dentsitatea"
-
-msgid "Print Job:"
-msgstr "Inprimatzeko lana:"
-
-msgid "Print Mode"
-msgstr "Inprimatze modua"
-
-msgid "Print Rate"
-msgstr "Inprimatze-emaria"
-
-msgid "Print Self-Test Page"
-msgstr "Inprimatu auto-probako orrialdea"
-
-msgid "Print Speed"
-msgstr "Inprimatzeko abiadura"
-
-msgid "Print Test Page"
-msgstr "Inprimatu probako orrialdea"
-
-msgid "Print and Cut"
-msgstr "Inprimatu eta ebaki"
-
-msgid "Print and Tear"
-msgstr "Inprimatu eta altxatu"
-
-#, c-format
-msgid "Print file accepted - job ID %d."
-msgstr ""
-
-msgid "Print file accepted - job ID unknown."
-msgstr ""
-
-msgid "Print file sent."
-msgstr ""
-
-msgid "Print file was not accepted."
-msgstr ""
-
-msgid "Print job too large."
-msgstr ""
-
-msgid "Printed For: "
-msgstr "Honentzako inprimatuta: "
-
-msgid "Printed From: "
-msgstr "Hemendik inprimatuta: "
-
-msgid "Printed On: "
-msgstr "Inprimatze-data: "
-
-msgid "Printer Added"
-msgstr "Inprimagailua gehituta"
-
-msgid "Printer Default"
-msgstr "Inprimagailu lehenetsia"
-
-msgid "Printer Deleted"
-msgstr "Inprimagailua ezabatuta"
-
-msgid "Printer Modified"
-msgstr "Inprimagailua aldatuta"
-
-msgid "Printer Name: "
-msgstr "Inprimagailuaren izena: "
-
-msgid "Printer Paused"
-msgstr "Inprimagailua pausatuta"
-
-msgid "Printer Settings"
-msgstr "Inprimagailuaren ezarpenak"
-
-msgid "Printer busy, will retry in 10 seconds."
-msgstr ""
-
-msgid "Printer busy; will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer did not respond."
-msgstr ""
-
-#, c-format
-msgid "Printer does not support IPP/%d.%d, trying IPP/%s."
-msgstr ""
-
-msgid "Printer is busy, will retry in 5 seconds."
-msgstr ""
-
-msgid "Printer is not currently connected."
-msgstr ""
-
-msgid "Printer is now connected."
-msgstr ""
-
-msgid "Printer is now online."
-msgstr ""
-
-msgid "Printer is offline."
-msgstr ""
-
-msgid "Printer not connected, will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer not connected; will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer:"
-msgstr "Inprimagailua:"
-
-msgid "Printers"
-msgstr "Inprimagailuak"
-
-#, c-format
-msgid "Printing page %d, %d%% complete."
-msgstr ""
-
-#, c-format
-msgid "Printing page %d."
-msgstr ""
-
-msgid "Purge Jobs"
-msgstr "Garbitu lanak"
-
-msgid "Quarto"
-msgstr "Laurdena"
-
-msgid "Quota limit reached."
-msgstr "Kuotaren mugara iritsita."
-
-msgid "Rank    Owner   Job     File(s)                         Total Size"
-msgstr ""
-
-#. TRANSLATORS: Pri is job priority.
-msgid ""
-"Rank   Owner      Pri  Job        Files                       Total Size"
-msgstr ""
-
-msgid "Ready to print."
-msgstr ""
-
-msgid "Reject Jobs"
-msgstr "Ukatu lanak"
-
-#, c-format
-msgid "Remote host did not accept control file (%d)."
-msgstr ""
-
-#, c-format
-msgid "Remote host did not accept data file (%d)."
-msgstr ""
-
-msgid "Reprint After Error"
-msgstr "Inprimatu berriro erroreen ostean"
-
-msgid "Request Entity Too Large"
-msgstr "Eskaeraren entitatea luzeegia"
-
-msgid "Resolution"
-msgstr "Bereizmena"
-
-msgid "Resume Class"
-msgstr "Jarraitu klasea"
-
-msgid "Resume Printer"
-msgstr "Jarraitu inprimagailua"
-
-msgid "Return Address"
-msgstr "Itzulerako helbidea"
-
-msgid "Return Address - 3/4 x 2\""
-msgstr "Itzulerako helbidea - 3/4 x 2\""
-
-msgid "Rewind"
-msgstr "Birboninatu"
-
-#, c-format
-msgid "Running command: %s %s -N -A %s -c '%s'"
-msgstr ""
-
-msgid "SEQUENCE uses indefinite length"
-msgstr "SEQUENCEk definitu gabeko luzera darabil"
-
-msgid "SSL/TLS Negotiation Error"
-msgstr ""
-
-msgid "See Other"
-msgstr "Ikusi besteak"
-
-msgid "Sending data to printer."
-msgstr ""
-
-#, c-format
-msgid "Serial Port #%d"
-msgstr "Serieko %d. ataka"
-
-msgid "Server Restarted"
-msgstr "Zerbitzaria berrabiarazita"
-
-msgid "Server Security Auditing"
-msgstr "Zerbitzariko segurtasun auditoretza"
-
-msgid "Server Started"
-msgstr "Zerbitzaria abiarazita"
-
-msgid "Server Stopped"
-msgstr "Zerbitzaria geldituta"
-
-msgid "Service Unavailable"
-msgstr "Zerbitzaria ez dago eskuragarri"
-
-msgid "Set Allowed Users"
-msgstr "Ezarri baimendutako erabiltzaileak"
-
-msgid "Set As Server Default"
-msgstr "Ezarri zerbitzari lehenetsi gisa"
-
-msgid "Set Class Options"
-msgstr "Ezarri klasearen aukerak"
-
-msgid "Set Printer Options"
-msgstr "Ezarri inprimagailuaren aukerak"
-
-msgid "Set Publishing"
-msgstr "Argitaratu"
-
-msgid "Shipping Address"
-msgstr "Bidaltzeko helbidea"
-
-msgid "Shipping Address - 2 5/16 x 4\""
-msgstr "Bidaltzeko helbidea - 2 5/16 x 4\""
-
-msgid "Short-Edge (Landscape)"
-msgstr "Ertz laburra (horizontala)"
-
-msgid "Special Paper"
-msgstr "Paper berezia"
-
-#, c-format
-msgid "Spooling job, %.0f%% complete."
-msgstr ""
-
-msgid "Standard"
-msgstr "Estandarra"
-
-#. TRANSLATORS: Banner/cover sheet before the print job.
-msgid "Starting Banner"
-msgstr "Hasierako titularra"
-
-#, c-format
-msgid "Starting page %d."
-msgstr ""
-
-msgid "Statement"
-msgstr "Instrukzioa"
-
-msgid "Stylus Color Series"
-msgstr "Stylus Color serieak"
-
-msgid "Stylus Photo Series"
-msgstr "Stylus Photo serieak"
-
-#, c-format
-msgid "Subscription #%d does not exist."
-msgstr ""
-
-msgid "Super A"
-msgstr "Super A"
-
-msgid "Super B"
-msgstr "Super B"
-
-msgid "Super B/A3"
-msgstr "Super B/A3"
-
-msgid "Switching Protocols"
-msgstr "Protokoloak aldatzen"
-
-msgid "Tabloid"
-msgstr "Tabloidea"
-
-msgid "Tabloid Oversize"
-msgstr ""
-
-msgid "Tabloid Oversize Long Edge"
-msgstr ""
-
-msgid "Tear"
-msgstr "Altxatu"
-
-msgid "Tear-Off"
-msgstr "Altxatu"
-
-msgid "Tear-Off Adjust Position"
-msgstr "Altxatze-posizioaren doiketa"
-
-#, c-format
-msgid "The %s attribute cannot be provided with job-ids."
-msgstr ""
-
-#, c-format
-msgid "The PPD file \"%s\" could not be found."
-msgstr "Ezin izan da \"%s\" PPD fitxategia aurkitu."
-
-#, c-format
-msgid "The PPD file \"%s\" could not be opened: %s"
-msgstr "Ezin izan da \"%s\" PPD fitxategia ireki: %s"
-
-msgid "The PPD file could not be opened."
-msgstr ""
-
-msgid ""
-"The class name may only contain up to 127 printable characters and may not "
-"contain spaces, slashes (/), or the pound sign (#)."
-msgstr ""
-"Klasearen izenak inprimagarriak diren 127 karaktere sooilik eduki ditzake, "
-"eta ezin du zuriune, barrak (/) edo traolaren (#) ikurrik eduki."
-
-msgid "The developer unit needs to be replaced."
-msgstr ""
-
-msgid "The developer unit will need to be replaced soon."
-msgstr ""
-
-msgid "The fuser's temperature is high."
-msgstr ""
-
-msgid "The fuser's temperature is low."
-msgstr ""
-
-msgid ""
-"The notify-lease-duration attribute cannot be used with job subscriptions."
-msgstr "notify-lease-duration atributua ezin da erabili lanen harpidetzekin."
-
-#, c-format
-msgid "The notify-user-data value is too large (%d > 63 octets)."
-msgstr ""
-
-msgid "The optical photoconductor needs to be replaced."
-msgstr ""
-
-msgid "The optical photoconductor will need to be replaced soon."
-msgstr ""
-
-msgid "The output bin is almost full."
-msgstr ""
-
-msgid "The output bin is full."
-msgstr ""
-
-msgid "The output bin is missing."
-msgstr ""
-
-msgid "The page setup information was not valid."
-msgstr ""
-
-msgid "The paper tray is almost empty."
-msgstr ""
-
-msgid "The paper tray is empty."
-msgstr ""
-
-msgid "The paper tray is missing."
-msgstr ""
-
-msgid "The paper tray needs to be filled."
-msgstr ""
-
-msgid "The print file could not be opened."
-msgstr ""
-
-msgid "The printer URI is incorrect or no longer exists."
-msgstr ""
-
-msgid "The printer is busy."
-msgstr ""
-
-msgid "The printer is not connected."
-msgstr ""
-
-msgid "The printer is not responding."
-msgstr ""
-
-msgid "The printer is out of ink."
-msgstr ""
-
-msgid "The printer is running low on ink."
-msgstr ""
-
-msgid "The printer is running low on toner."
-msgstr ""
-
-msgid "The printer is unreachable at this time."
-msgstr ""
-
-msgid "The printer may be out of toner."
-msgstr ""
-
-msgid "The printer may not exist or is unavailable at this time."
-msgstr ""
-
-msgid ""
-"The printer name may only contain up to 127 printable characters and may not "
-"contain spaces, slashes (/), or the pound sign (#)."
-msgstr ""
-"Inprimagailuaren izenak inprimagarriak diren 127 karaktere sooilik eduki "
-"ditzake, eta ezin du zuriune, barrak (/) edo traolaren (#) ikurrik eduki."
-
-msgid "The printer or class does not exist."
-msgstr ""
-
-msgid "The printer or class is not shared."
-msgstr ""
-
-msgid "The printer's cover is open."
-msgstr ""
-
-msgid "The printer's door is open."
-msgstr ""
-
-msgid "The printer's interlock is open."
-msgstr ""
-
-msgid "The printer's waste bin is almost full."
-msgstr ""
-
-msgid "The printer's waste bin is full."
-msgstr ""
-
-#, c-format
-msgid "The printer-uri \"%s\" contains invalid characters."
-msgstr "\"%s\" printer-uri atributuak baliogabeko karaktereak ditu."
-
-msgid "The printer-uri attribute is required."
-msgstr ""
-
-msgid ""
-"The printer-uri must be of the form \"ipp://HOSTNAME/classes/CLASSNAME\"."
-msgstr ""
-"printer-uri \"ipp://OSTALARIIZENA/classes/KLASEIZENA\" erakoa izan behar du."
-
-msgid ""
-"The printer-uri must be of the form \"ipp://HOSTNAME/printers/PRINTERNAME\"."
-msgstr ""
-"printer-uri \"ipp://OSTALARIIZENA/printers/INPRIMAGAILUIZENA\" erakoa izan "
-"behar du."
-
-msgid ""
-"The subscription name may not contain spaces, slashes (/), question marks "
-"(?), or the pound sign (#)."
-msgstr ""
-"Harpidetzaren izenak inprimagarriak ezin du zuriune, barrak (/), galdera "
-"ikurra (?) edo traolaren (#) ikurrik eduki."
-
-msgid ""
-"The web interface is currently disabled. Run \"cupsctl WebInterface=yes\" to "
-"enable it."
-msgstr ""
-
-#, c-format
-msgid "The which-jobs value \"%s\" is not supported."
-msgstr ""
-
-msgid "There are too many subscriptions."
-msgstr "Harpidetza gehiegi daude."
-
-msgid "There is a paper jam."
-msgstr ""
-
-msgid "There was an unrecoverable USB error."
-msgstr ""
-
-msgid "Thermal Transfer Media"
-msgstr "Transferentzia termikoaren euskarria"
-
-msgid "Title: "
-msgstr "Titulua: "
-
-msgid "Too many active jobs."
-msgstr "Lan aktibo gehiegi."
-
-#, c-format
-msgid "Too many job-sheets values (%d > 2)."
-msgstr ""
-
-#, c-format
-msgid "Too many printer-state-reasons values (%d > %d)."
-msgstr ""
-
-msgid "Transparency"
-msgstr "Gardentasuna"
-
-msgid "Tray"
-msgstr "Erretilua"
-
-msgid "Tray 1"
-msgstr "1. erretilua"
-
-msgid "Tray 2"
-msgstr "2. erretilua"
-
-msgid "Tray 3"
-msgstr "3. erretilua"
-
-msgid "Tray 4"
-msgstr "4. erretilua"
-
-msgid "URI Too Long"
-msgstr "URIa luzeegia"
-
-msgid "US Ledger"
-msgstr "US Ledger"
-
-msgid "US Legal"
-msgstr "US legala"
-
-msgid "US Legal Oversize"
-msgstr ""
-
-msgid "US Letter"
-msgstr "US gutuna"
-
-msgid "US Letter Long Edge"
-msgstr ""
-
-msgid "US Letter Oversize"
-msgstr ""
-
-msgid "US Letter Oversize Long Edge"
-msgstr ""
-
-msgid "US Letter Small"
-msgstr ""
-
-#, c-format
-msgid "USB Serial Port #%d"
-msgstr "USB zerieko %d. ataka"
-
-msgid "Unable to access cupsd.conf file:"
-msgstr "Ezin da cupsd.conf fitxategia atzitu:"
-
-msgid "Unable to add RSS subscription:"
-msgstr "Ezin da RSS harpidetza gehitu:"
-
-msgid "Unable to add class:"
-msgstr "Ezin da klasea gehitu:"
-
-msgid "Unable to add document to print job."
-msgstr ""
-
-#, c-format
-msgid "Unable to add job for destination \"%s\"."
-msgstr ""
-
-msgid "Unable to add printer:"
-msgstr "Ezin da inprimagailua gehitu:"
-
-msgid "Unable to allocate memory for file types."
-msgstr ""
-
-msgid "Unable to allocate memory for page info"
-msgstr ""
-
-msgid "Unable to allocate memory for pages array"
-msgstr ""
-
-msgid "Unable to cancel RSS subscription:"
-msgstr "Ezin da RSS harpidetza bertan behera utzi:"
-
-msgid "Unable to cancel print job."
-msgstr ""
-
-msgid "Unable to change printer-is-shared attribute:"
-msgstr "Ezin da printer-is-shared atributua aldatu:"
-
-msgid "Unable to change printer:"
-msgstr "Ezin da inprimagailua aldatu:"
-
-msgid "Unable to change server settings:"
-msgstr "Ezin dira zerbitzariaren ezarpenak aldatu:"
-
-msgid "Unable to configure printer options."
-msgstr ""
-
-msgid "Unable to connect to host."
-msgstr "Ezin da ostalariarekin konektatu."
-
-msgid "Unable to contact printer, queuing on next printer in class."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy 64-bit CUPS printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy 64-bit Windows printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy CUPS printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy PPD file - %s"
-msgstr ""
-
-msgid "Unable to copy PPD file."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy Windows 2000 printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy Windows 9x printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy interface script - %s"
-msgstr ""
-
-msgid "Unable to copy print file"
-msgstr ""
-
-msgid "Unable to create compressed print file"
-msgstr ""
-
-msgid "Unable to create pipes for filters"
-msgstr ""
-
-msgid "Unable to create printer-uri"
-msgstr ""
-
-msgid "Unable to create temporary file"
-msgstr ""
-
-msgid "Unable to create temporary file:"
-msgstr "Ezin da aldi baterako fitxategia sortu:"
-
-msgid "Unable to delete class:"
-msgstr "Ezin da klasea ezabatu:"
-
-msgid "Unable to delete printer:"
-msgstr "Ezin da inprimagailua ezabatu:"
-
-msgid "Unable to do maintenance command:"
-msgstr "Ezin da mantenimenduko komandoa landu:"
-
-msgid "Unable to edit cupsd.conf files larger than 1MB"
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (certificate chain invalid)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (certificate not yet valid)."
-msgstr ""
-
-msgid "Unable to establish a secure connection to host (expired certificate)."
-msgstr ""
-
-msgid "Unable to establish a secure connection to host (host name mismatch)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (peer dropped connection "
-"before responding)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (self-signed certificate)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (untrusted certificate)."
-msgstr ""
-
-msgid "Unable to establish a secure connection to host."
-msgstr ""
-
-msgid "Unable to find destination for job"
-msgstr ""
-
-msgid "Unable to find printer."
-msgstr ""
-
-msgid "Unable to fork filter"
-msgstr ""
-
-msgid "Unable to generate compressed print file"
-msgstr ""
-
-msgid "Unable to get backend exit status."
-msgstr ""
-
-msgid "Unable to get class list:"
-msgstr "Ezin da klaseen zerrenda lortu:"
-
-msgid "Unable to get class status:"
-msgstr "Ezin da klasearen egoera lortu:"
-
-msgid "Unable to get list of printer drivers:"
-msgstr "Ezin da inprimagailuen kontrolatzaileen zerrenda lortu:"
-
-msgid "Unable to get printer attributes:"
-msgstr "Ezin dira inprimagailuaren atributuak lortu:"
-
-msgid "Unable to get printer list:"
-msgstr "Ezin da inprimagailuen zerrenda lortu:"
-
-msgid "Unable to get printer status."
-msgstr ""
-
-msgid "Unable to get printer status:"
-msgstr "Ezin da inprimagailuaren egoera lortu:"
-
-#, c-format
-msgid "Unable to install Windows 2000 printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to install Windows 9x printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to locate printer \"%s\"."
-msgstr ""
-
-msgid "Unable to locate printer."
-msgstr ""
-
-msgid "Unable to modify class:"
-msgstr "Ezin da klasea eraldatu:"
-
-msgid "Unable to modify printer:"
-msgstr "Ezin da inprimagailua eraldatu:"
-
-msgid "Unable to move job"
-msgstr "Ezin da lana lekuz aldatu"
-
-msgid "Unable to move jobs"
-msgstr "Ezin dira lanak lekuz aldatu"
-
-msgid "Unable to open PPD file"
-msgstr "Ezin da PPD fitxategia ireki"
-
-msgid "Unable to open PPD file:"
-msgstr "Ezin da PPD fitxategia ireki:"
-
-msgid "Unable to open charset file"
-msgstr ""
-
-msgid "Unable to open compressed print file"
-msgstr ""
-
-msgid "Unable to open cupsd.conf file:"
-msgstr "Ezin da cupsd.conf fitxategia ireki:"
-
-msgid "Unable to open device file"
-msgstr ""
-
-#, c-format
-msgid "Unable to open document #%d in job #%d."
-msgstr ""
-
-msgid "Unable to open print file"
-msgstr ""
-
-msgid "Unable to open psglyphs"
-msgstr ""
-
-msgid "Unable to open raster file"
-msgstr ""
-
-#, c-format
-msgid "Unable to print %d text columns."
-msgstr ""
-
-#, c-format
-msgid "Unable to print %dx%d text page."
-msgstr ""
-
-msgid "Unable to print test page:"
-msgstr "Ezin da probako orrialdea inprimatu:"
-
-msgid "Unable to read print data"
-msgstr ""
-
-msgid "Unable to read print data."
-msgstr ""
-
-#, c-format
-msgid "Unable to run \"%s\": %s"
-msgstr ""
-
-msgid "Unable to see in file"
-msgstr ""
-
-msgid "Unable to send command to printer driver"
-msgstr ""
-
-msgid "Unable to send data to printer."
-msgstr ""
-
-msgid "Unable to send raster data to the driver."
-msgstr ""
-
-#, c-format
-msgid "Unable to set Windows printer driver (%d)."
-msgstr ""
-
-msgid "Unable to set options:"
-msgstr "Ezin dira aukerak ezarri:"
-
-msgid "Unable to set server default:"
-msgstr "Ezain da zerbitzari lehenetsia ezarri:"
-
-msgid "Unable to start backend process."
-msgstr ""
-
-msgid "Unable to upload cupsd.conf file:"
-msgstr "Ezin da cupsd.conf fitxategia igo:"
-
-msgid "Unable to use legacy USB class driver."
-msgstr ""
-
-msgid "Unable to write print data"
-msgstr ""
-
-#, c-format
-msgid "Unable to write uncompressed print data: %s"
-msgstr ""
-
-msgid "Unauthorized"
-msgstr "Autorizaziorik ez"
-
-msgid "Units"
-msgstr "Unitateak"
-
-msgid "Unknown"
-msgstr "Ezezaguna"
-
-#, c-format
-msgid "Unknown choice \"%s\" for option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown encryption option value: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown file order: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown format character: \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown option \"%s\" with value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown print mode: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown printer-error-policy \"%s\"."
-msgstr "\"%s\" printer-error-policy ezezaguna."
-
-#, c-format
-msgid "Unknown printer-op-policy \"%s\"."
-msgstr "\"%s\" printer-op-policy ezezaguna."
-
-#, c-format
-msgid "Unknown version option value: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported baud rate: %s"
-msgstr ""
-
-#, c-format
-msgid "Unsupported brightness value %s, using brightness=100."
-msgstr ""
-
-#, c-format
-msgid "Unsupported character set \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported compression \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported document-format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported document-format \"%s/%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported gamma value %s, using gamma=1000."
-msgstr ""
-
-msgid "Unsupported margins."
-msgstr ""
-
-msgid "Unsupported media value."
-msgstr ""
-
-#, c-format
-msgid "Unsupported number-up value %d, using number-up=1."
-msgstr ""
-
-#, c-format
-msgid "Unsupported number-up-layout value %s, using number-up-layout=lrtb."
-msgstr ""
-
-#, c-format
-msgid "Unsupported page-border value %s, using page-border=none."
-msgstr ""
-
-msgid "Unsupported raster data."
-msgstr ""
-
-msgid "Unsupported value type"
-msgstr "Onartu gabeko balio mota"
-
-msgid "Upgrade Required"
-msgstr "Eguneratu egin behar da"
-
-msgid ""
-"Usage:\n"
-"\n"
-"    lpadmin [-h server] -d destination\n"
-"    lpadmin [-h server] -x destination\n"
-"    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m model]\n"
-"                       [-r remove-class] [-v device] [-D description]\n"
-"                       [-P ppd-file] [-o name=value]\n"
-"                       [-u allow:user,user] [-u deny:user,user]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job user title copies options [filename]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job-id user title copies options [file]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job-id user title copies options file"
-msgstr ""
-
-msgid "Usage: convert [ options ]"
-msgstr ""
-
-msgid "Usage: cupsaddsmb [options] printer1 ... printerN"
-msgstr ""
-
-msgid "Usage: cupsctl [options] [param=value ... paramN=valueN]"
-msgstr ""
-
-msgid "Usage: cupsd [options]"
-msgstr ""
-
-msgid "Usage: cupsfilter [ options ] filename"
-msgstr ""
-
-msgid "Usage: cupstestdsc [options] filename.ps [... filename.ps]"
-msgstr ""
-
-msgid ""
-"Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]"
-msgstr ""
-
-msgid "Usage: ipptool [options] URI filename [ ... filenameN ]"
-msgstr ""
-
-msgid "Usage: lpmove job/src dest"
-msgstr ""
-
-msgid ""
-"Usage: lpoptions [-h server] [-E] -d printer\n"
-"       lpoptions [-h server] [-E] [-p printer] -l\n"
-"       lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
-"       lpoptions [-h server] [-E] -x printer"
-msgstr ""
-
-msgid "Usage: lppasswd [-g groupname]"
-msgstr ""
-
-msgid ""
-"Usage: lppasswd [-g groupname] [username]\n"
-"       lppasswd [-g groupname] -a [username]\n"
-"       lppasswd [-g groupname] -x [username]"
-msgstr ""
-
-msgid ""
-"Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]"
-msgstr ""
-
-msgid "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]"
-msgstr ""
-
-msgid "Usage: ppdhtml [options] filename.drv >filename.html"
-msgstr ""
-
-msgid "Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]"
-msgstr ""
-
-msgid "Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]"
-msgstr ""
-
-msgid ""
-"Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]"
-msgstr ""
-
-msgid "Usage: snmp [host-or-ip-address]"
-msgstr ""
-
-msgid "Value uses indefinite length"
-msgstr "Balioak definitu gabeko luzera darabil"
-
-msgid "VarBind uses indefinite length"
-msgstr "VarBind-ek definitu gabeko luzera darabil"
-
-msgid "Version uses indefinite length"
-msgstr "Bertsioak definitu gabeko luzera darabil"
-
-msgid "Waiting for job to complete."
-msgstr ""
-
-msgid "Waiting for printer to become available."
-msgstr ""
-
-msgid "Waiting for printer to finish."
-msgstr ""
-
-msgid "Warning, no Windows 2000 printer drivers are installed."
-msgstr ""
-
-msgid "Web Interface is Disabled"
-msgstr ""
-
-msgid "Yes"
-msgstr "Bai"
-
-#, c-format
-msgid ""
-"You must access this page using the URL <A HREF=\"https://%s:%d%s\">https://%"
-"s:%d%s</A>."
-msgstr ""
-"Orrialde hau honako URLan atxitu deakezu:  <A HREF=\"https://%s:%d%s"
-"\">https://%s:%d%s</A>."
-
-msgid ""
-"Your password must be at least 6 characters long, cannot contain your "
-"username, and must contain at least one letter and number."
-msgstr ""
-
-msgid "ZPL Label Printer"
-msgstr "ZPL etiketen inprimagailua"
-
-msgid "Zebra"
-msgstr "Zebra"
-
-msgid "aborted"
-msgstr "abortatuta"
-
-msgid "canceled"
-msgstr "bertan behera utzita"
-
-msgid "completed"
-msgstr "burututa"
-
-msgid "convert: Use the -f option to specify a file to convert."
-msgstr ""
-
-msgid "cups-deviced failed to execute."
-msgstr "cups-deviced programak huts egin du exekutatzean."
-
-msgid "cups-driverd failed to execute."
-msgstr "cups-driverd programak huts egin du exekutatzean."
-
-#, c-format
-msgid "cupsaddsmb: No PPD file for printer \"%s\" - %s"
-msgstr ""
-
-msgid "cupsctl: Cannot set Listen or Port directly."
-msgstr ""
-
-#, c-format
-msgid "cupsctl: Unable to connect to server: %s"
-msgstr ""
-
-#, c-format
-msgid "cupsctl: Unknown option \"%s\""
-msgstr ""
-
-#, c-format
-msgid "cupsctl: Unknown option \"-%c\""
-msgstr ""
-
-msgid "cupsd: Expected config filename after \"-c\" option."
-msgstr ""
-
-msgid "cupsd: Unable to get current directory."
-msgstr ""
-
-#, c-format
-msgid "cupsd: Unknown argument \"%s\" - aborting."
-msgstr ""
-
-#, c-format
-msgid "cupsd: Unknown option \"%c\" - aborting."
-msgstr ""
-
-msgid "cupsd: launchd(8) support not compiled in, running in normal mode."
-msgstr ""
-
-#, c-format
-msgid "cupsfilter: Invalid document number %d."
-msgstr ""
-
-#, c-format
-msgid "cupsfilter: Invalid job ID %d."
-msgstr ""
-
-msgid "cupsfilter: Only one filename can be specified."
-msgstr ""
-
-#, c-format
-msgid "cupsfilter: Unable to get job file - %s"
-msgstr ""
-
-msgid "cupstestppd: The -q option is incompatible with the -v option."
-msgstr ""
-
-msgid "cupstestppd: The -v option is incompatible with the -q option."
-msgstr ""
-
-#, c-format
-msgid "device for %s/%s: %s"
-msgstr ""
-
-#, c-format
-msgid "device for %s: %s"
-msgstr ""
-
-msgid "error-index uses indefinite length"
-msgstr "'error-index'-ek definitu gabeko luzera darabil"
-
-msgid "error-status uses indefinite length"
-msgstr "'error-status'-ek definitu gabeko luzera darabil"
-
-msgid "held"
-msgstr "eutsita"
-
-msgid "help\t\tGet help on commands."
-msgstr ""
-
-msgid "idle"
-msgstr "inaktibo"
-
-msgid "ipptool: \"-i\" and \"-n\" are incompatible with -X\"."
-msgstr ""
-
-msgid "ipptool: \"-i\" is incompatible with \"-X\"."
-msgstr ""
-
-msgid "ipptool: \"-n\" is incompatible with \"-X\"."
-msgstr ""
-
-#, c-format
-msgid "ipptool: Bad URI - %s."
-msgstr ""
-
-#, c-format
-msgid "ipptool: Bad version %s for \"-V\"."
-msgstr ""
-
-msgid "ipptool: Invalid seconds for \"-i\"."
-msgstr ""
-
-msgid "ipptool: May only specify a single URI."
-msgstr ""
-
-msgid "ipptool: Missing count for \"-n\"."
-msgstr ""
-
-msgid "ipptool: Missing filename for \"-f\"."
-msgstr ""
-
-msgid "ipptool: Missing name=value for \"-d\"."
-msgstr ""
-
-msgid "ipptool: Missing seconds for \"-i\"."
-msgstr ""
-
-msgid "ipptool: Missing timeout for \"-T\"."
-msgstr ""
-
-msgid "ipptool: Missing version for \"-V\"."
-msgstr ""
-
-msgid "ipptool: URI required before test file."
-msgstr ""
-
-#, c-format
-msgid "ipptool: Unknown option \"-%c\"."
-msgstr ""
-
-msgid "job-printer-uri attribute missing."
-msgstr ""
-
-msgid "lpadmin: Class name can only contain printable characters."
-msgstr ""
-
-msgid "lpadmin: Expected PPD after \"-P\" option."
-msgstr ""
-
-msgid "lpadmin: Expected allow/deny:userlist after \"-u\" option."
-msgstr ""
-
-msgid "lpadmin: Expected class after \"-r\" option."
-msgstr ""
-
-msgid "lpadmin: Expected class name after \"-c\" option."
-msgstr ""
-
-msgid "lpadmin: Expected description after \"-D\" option."
-msgstr ""
-
-msgid "lpadmin: Expected device URI after \"-v\" option."
-msgstr ""
-
-msgid "lpadmin: Expected file type(s) after \"-I\" option."
-msgstr ""
-
-msgid "lpadmin: Expected hostname after \"-h\" option."
-msgstr ""
-
-msgid "lpadmin: Expected interface after \"-i\" option."
-msgstr ""
-
-msgid "lpadmin: Expected location after \"-L\" option."
-msgstr ""
-
-msgid "lpadmin: Expected model after \"-m\" option."
-msgstr ""
-
-msgid "lpadmin: Expected name after \"-R\" option."
-msgstr ""
-
-msgid "lpadmin: Expected name=value after \"-o\" option."
-msgstr ""
-
-msgid "lpadmin: Expected printer after \"-p\" option."
-msgstr ""
-
-msgid "lpadmin: Expected printer name after \"-d\" option."
-msgstr ""
-
-msgid "lpadmin: Expected printer or class after \"-x\" option."
-msgstr ""
-
-msgid "lpadmin: No member names were seen."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Printer %s is already a member of class %s."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Printer %s is not a member of class %s."
-msgstr ""
-
-msgid "lpadmin: Printer name can only contain printable characters."
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to add a printer to the class:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unable to connect to server: %s"
-msgstr ""
-
-msgid "lpadmin: Unable to create temporary file"
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to delete option:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unable to open PPD file \"%s\" - %s"
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to remove a printer from the class:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to set the printer options:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unknown allow/deny option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unknown argument \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unknown option \"%c\"."
-msgstr ""
-
-msgid "lpadmin: Warning - content type list ignored."
-msgstr ""
-
-msgid "lpc> "
-msgstr "lpc> "
-
-msgid "lpinfo: Expected 1284 device ID string after \"--device-id\"."
-msgstr ""
-
-msgid "lpinfo: Expected language after \"--language\"."
-msgstr ""
-
-msgid "lpinfo: Expected make and model after \"--make-and-model\"."
-msgstr ""
-
-msgid "lpinfo: Expected product string after \"--product\"."
-msgstr ""
-
-msgid "lpinfo: Expected scheme list after \"--exclude-schemes\"."
-msgstr ""
-
-msgid "lpinfo: Expected scheme list after \"--include-schemes\"."
-msgstr ""
-
-msgid "lpinfo: Expected timeout after \"--timeout\"."
-msgstr ""
-
-#, c-format
-msgid "lpinfo: Unknown argument \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpinfo: Unknown option \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "lpinfo: Unknown option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpmove: Unable to connect to server: %s"
-msgstr ""
-
-#, c-format
-msgid "lpmove: Unknown argument \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpmove: Unknown option \"%c\"."
-msgstr ""
-
-msgid "lpoptions: No printers."
-msgstr ""
-
-#, c-format
-msgid "lpoptions: Unable to add printer or instance: %s"
-msgstr ""
-
-#, c-format
-msgid "lpoptions: Unable to get PPD file for %s: %s"
-msgstr ""
-
-#, c-format
-msgid "lpoptions: Unable to open PPD file for %s."
-msgstr ""
-
-msgid "lpoptions: Unknown printer or class."
-msgstr ""
-
-msgid "lppasswd: Only root can add or delete passwords."
-msgstr ""
-
-msgid "lppasswd: Password file busy."
-msgstr ""
-
-msgid "lppasswd: Password file not updated."
-msgstr ""
-
-msgid "lppasswd: Sorry, password doesn't match."
-msgstr ""
-
-msgid "lppasswd: Sorry, password rejected."
-msgstr ""
-
-msgid "lppasswd: Sorry, passwords don't match."
-msgstr ""
-
-#, c-format
-msgid "lppasswd: Unable to copy password string: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: Unable to open password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: Unable to write to password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: failed to backup old password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: failed to rename password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: user \"%s\" and group \"%s\" do not exist."
-msgstr ""
-
-#, c-format
-msgid ""
-"lpstat: error - %s environment variable names non-existent destination \"%s"
-"\"."
-msgstr ""
-
-#, c-format
-msgid "members of class %s:"
-msgstr ""
-
-msgid "no entries"
-msgstr ""
-
-msgid "no system default destination"
-msgstr ""
-
-msgid "notify-events not specified."
-msgstr ""
-
-#, c-format
-msgid "notify-recipient-uri URI \"%s\" is already used."
-msgstr ""
-
-#, c-format
-msgid "notify-recipient-uri URI \"%s\" uses unknown scheme."
-msgstr ""
-
-msgid "pending"
-msgstr "zain"
-
-#, c-format
-msgid "ppdc: Adding include directory \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Adding/updating UI text from %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad boolean value (%s) on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad font attribute: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad resolution name \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad status keyword %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad variable substitution ($%c) on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Choice found on line %d of %s with no Option."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Duplicate #po for locale %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected a filter definition on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected a program name on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected boolean value on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected charset after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected choice code on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected choice name/text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected color order for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected colorspace for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected compression for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected constraints string for UIConstraints on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Expected driver type keyword following DriverType on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected duplex type after Duplex on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected encoding after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected filename after #po %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected group name/text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected include filename on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected integer on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected locale after #po on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after FileName on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after Manufacturer on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after MediaSize on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after ModelName on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after PCFileName on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text after Installable on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text after Resolution on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text combination for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected option name/text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected option section on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected option type on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected override field after Resolution on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected quoted string on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected real number on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Expected resolution/mediatype following ColorProfile on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Expected resolution/mediatype following SimpleColorProfile on line %d "
-"of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected selector after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected status after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected string after Copyright on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected string after Version on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected two option names on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected value after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected version after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid #include/#po filename \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid cost for filter on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid empty MIME type for filter on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid empty program name for filter on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid option section \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid option type \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Loading driver information file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Loading messages for locale \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Loading messages from \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Missing #endif at end of \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Missing #if on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Need a msgid line before any translation strings on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: No message catalog provided for locale %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Option %s defined in two different groups on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Option %s redefined with a different type on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Option constraint must *name on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Too many nested #if's on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to create PPD file \"%s\" - %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to create output directory %s: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to create output pipes: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to execute cupstestppd: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to find #po file %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to find include file \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to find localization for \"%s\" - %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to load localization file \"%s\" - %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to open %s: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Undefined variable (%s) on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unexpected text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown driver type %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown media size \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown message catalog format for \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown token \"%s\" seen on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Unknown trailing characters in real number \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unterminated string starting with %c on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Warning - overlapping filename \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Writing %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Writing PPD files to directory \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s."
-msgstr ""
-
-#, c-format
-msgid "ppdmerge: Ignoring PPD file %s."
-msgstr ""
-
-#, c-format
-msgid "ppdmerge: Unable to backup %s to %s - %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s disabled since %s -"
-msgstr ""
-
-#, c-format
-msgid "printer %s is idle.  enabled since %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s now printing %s-%d.  enabled since %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s/%s disabled since %s -"
-msgstr ""
-
-#, c-format
-msgid "printer %s/%s is idle.  enabled since %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s/%s now printing %s-%d.  enabled since %s"
-msgstr ""
-
-msgid "processing"
-msgstr "prozesatzen"
-
-#, c-format
-msgid "request id is %s-%d (%d file(s))"
-msgstr ""
-
-msgid "request-id uses indefinite length"
-msgstr "'request-id'-ek definitu gabeko luzera darabil"
-
-msgid "scheduler is not running"
-msgstr ""
-
-msgid "scheduler is running"
-msgstr ""
-
-#, c-format
-msgid "stat of %s failed: %s"
-msgstr "%s(e)n estatistikak huts egin du: %s"
-
-msgid "status\t\tShow status of daemon and queue."
-msgstr ""
-
-msgid "stopped"
-msgstr "geldituta"
-
-#, c-format
-msgid "system default destination: %s"
-msgstr ""
-
-#, c-format
-msgid "system default destination: %s/%s"
-msgstr ""
-
-msgid "unknown"
-msgstr "ezezaguna"
-
-msgid "untitled"
-msgstr "izengabea"
-
-msgid "variable-bindings uses indefinite length"
-msgstr "'variable-bindings'-ek definitu gabeko luzera darabil"
-
-#~ msgid "\t\t(all)\n"
-#~ msgstr "\t\t(denak)\n"
-
-#~ msgid "\t\t(none)\n"
-#~ msgstr "\t\t(bat ere ez)\n"
-
-#~ msgid "\t%d entries\n"
-#~ msgstr "\t%d sarrera\n"
-
-#~ msgid "\tAfter fault: continue\n"
-#~ msgstr "\tHutsegitearen ostean: jarraitu\n"
-
-#~ msgid "\tAlerts:"
-#~ msgstr "\tAlertak:"
-
-#~ msgid "\tBanner required\n"
-#~ msgstr "\tTitularra behar da\n"
-
-#~ msgid "\tCharset sets:\n"
-#~ msgstr "\tKaraktere-jokoa:\n"
-
-#~ msgid "\tConnection: direct\n"
-#~ msgstr "\tKonexioa: zuzena\n"
-
-#~ msgid "\tConnection: remote\n"
-#~ msgstr "\tKonexioa: urrunekoa\n"
-
-#~ msgid "\tDefault page size:\n"
-#~ msgstr "\tOrrialde-tamaina lehenetsia:\n"
-
-#~ msgid "\tDefault pitch:\n"
-#~ msgstr "\tTarte lehenetsia:\n"
-
-#~ msgid "\tDefault port settings:\n"
-#~ msgstr "\tAtakaren ezarpen lehenetsiak:\n"
-
-#~ msgid "\tDescription: %s\n"
-#~ msgstr "\tDeskripzioa: %s\n"
-
-#~ msgid ""
-#~ "\tForm mounted:\n"
-#~ "\tContent types: any\n"
-#~ "\tPrinter types: unknown\n"
-#~ msgstr ""
-#~ "\tInprimakia muntatuta:\n"
-#~ "\tEduki mota: edozer\n"
-#~ "\tInprimagailu motak: ezezaguna\n"
-
-#~ msgid "\tForms allowed:\n"
-#~ msgstr "\tBaimendutako inprimakiak:\n"
-
-#~ msgid "\tInterface: %s.ppd\n"
-#~ msgstr "\tInterfazea: %s.ppd\n"
-
-#~ msgid "\tInterface: %s/interfaces/%s\n"
-#~ msgstr "\tInterfazea: %s/interfaces/%s\n"
-
-#~ msgid "\tInterface: %s/ppd/%s.ppd\n"
-#~ msgstr "\tInterfazea: %s/ppd/%s.ppd\n"
-
-#~ msgid "\tLocation: %s\n"
-#~ msgstr "\tKokalekua: %s\n"
-
-#~ msgid "\tOn fault: no alert\n"
-#~ msgstr "\tHutsegitean: alertarik ez\n"
-
-#~ msgid "\tUsers allowed:\n"
-#~ msgstr "\tBaimendutako erabiltzaileak:\n"
-
-#~ msgid "\tUsers denied:\n"
-#~ msgstr "\tUkatutako erabiltzaileak:\n"
-
-#~ msgid "\tdaemon present\n"
-#~ msgstr "\tdaemona badago\n"
-
-#~ msgid "\tno entries\n"
-#~ msgstr "\tsarrerarik ez\n"
-
-#~ msgid "\tprinter is on device '%s' speed -1\n"
-#~ msgstr "\tinprimagailua '%s' gailuan dago abiadura -1\n"
-
-#~ msgid "\tprinting is disabled\n"
-#~ msgstr "\tinprimatzea desgaituta dago\n"
-
-#~ msgid "\tprinting is enabled\n"
-#~ msgstr "\tinprimatzea gaituta dago\n"
-
-#~ msgid "\tqueued for %s\n"
-#~ msgstr "\t%s(e)n ilaratuta\n"
-
-#~ msgid "\tqueuing is disabled\n"
-#~ msgstr "\tilaratzea desgaituta\n"
-
-#~ msgid "\tqueuing is enabled\n"
-#~ msgstr "\tilaratzea gaituta\n"
-
-#~ msgid "\treason unknown\n"
-#~ msgstr "\tarrazoi ezezaguna\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "    DETAILED CONFORMANCE TEST RESULTS\n"
-#~ msgstr ""
-#~ "\n"
-#~ "     ADOSTASUNAREN PROBAREN EMAITZ XEHETUA\n"
-
-#~ msgid "                REF: Page 15, section 3.1.\n"
-#~ msgstr "                Erref.: 15. orrialdea, 3.1 atala.\n"
-
-#~ msgid "                REF: Page 15, section 3.2.\n"
-#~ msgstr "                Erref.: 15. orrialdea, 3.2 atala.\n"
-
-#~ msgid "                REF: Page 19, section 3.3.\n"
-#~ msgstr "                Erref.: 19. orrialdea, 3.3 atala.\n"
-
-#~ msgid "                REF: Page 20, section 3.4.\n"
-#~ msgstr "                Erref.: 20. orrialdea, 3.4 atala.\n"
-
-#~ msgid "                REF: Page 27, section 3.5.\n"
-#~ msgstr "                Erref.: 27. orrialdea, 3.5 atala.\n"
-
-#~ msgid "                REF: Page 42, section 5.2.\n"
-#~ msgstr "                Erref.: 42. orrialdea, 5.2 atala.\n"
-
-#~ msgid "                REF: Pages 16-17, section 3.2.\n"
-#~ msgstr "                Erref.: 16-17 orrialdeak, 3.2 atala.\n"
-
-#~ msgid "                REF: Pages 42-45, section 5.2.\n"
-#~ msgstr "                Erref.: 42-45 orrialdeak, 5.2 atala.\n"
-
-#~ msgid "                REF: Pages 45-46, section 5.2.\n"
-#~ msgstr "                Erref.: 45-46 orrialdeak, 5.2 atala.\n"
-
-#~ msgid "                REF: Pages 48-49, section 5.2.\n"
-#~ msgstr "                Erref.: 48-49 orrialdeak, 5.2 atala.\n"
-
-#~ msgid "                REF: Pages 52-54, section 5.2.\n"
-#~ msgstr "                Erref.: 52-54 orrialdeak, 5.2 atala.\n"
-
-#~ msgid "        %-39.39s %.0f bytes\n"
-#~ msgstr "        %-39.39s %.0f byte\n"
-
-#~ msgid "        PASS    Default%s\n"
-#~ msgstr "        BALIOZKOA    Lehenetsia%s\n"
-
-#~ msgid "        PASS    DefaultImageableArea\n"
-#~ msgstr "        BALIOZKOA    DefaultImageableArea\n"
-
-#~ msgid "        PASS    DefaultPaperDimension\n"
-#~ msgstr "        BALIOZKOA    DefaultPaperDimension\n"
-
-#~ msgid "        PASS    FileVersion\n"
-#~ msgstr "        BALIOZKOA    FileVersion\n"
-
-#~ msgid "        PASS    FormatVersion\n"
-#~ msgstr "        BALIOZKOA    FormatVersion\n"
-
-#~ msgid "        PASS    LanguageEncoding\n"
-#~ msgstr "        BALIOZKOA    LanguageEncoding\n"
-
-#~ msgid "        PASS    LanguageVersion\n"
-#~ msgstr "        BALIOZKOA    LanguageVersion\n"
-
-#~ msgid "        PASS    Manufacturer\n"
-#~ msgstr "        BALIOZKOA    Manufacturer\n"
-
-#~ msgid "        PASS    ModelName\n"
-#~ msgstr "        BALIOZKOA    ModelName\n"
-
-#~ msgid "        PASS    NickName\n"
-#~ msgstr "        BALIOZKOA    NickName\n"
-
-#~ msgid "        PASS    PCFileName\n"
-#~ msgstr "        BALIOZKOA    PCFileName\n"
-
-#~ msgid "        PASS    PSVersion\n"
-#~ msgstr "        BALIOZKOA    PSVersion\n"
-
-#~ msgid "        PASS    PageRegion\n"
-#~ msgstr "        BALIOZKOA    PageRegion\n"
-
-#~ msgid "        PASS    PageSize\n"
-#~ msgstr "        BALIOZKOA    PageSize\n"
-
-#~ msgid "        PASS    Product\n"
-#~ msgstr "        BALIOZKOA    Product\n"
-
-#~ msgid "        PASS    ShortNickName\n"
-#~ msgstr "        BALIOZKOA    ShortNickName\n"
-
-#~ msgid ""
-#~ "        WARN    \"%s %s\" conflicts with \"%s %s\"\n"
-#~ "                (constraint=\"%s %s %s %s\")\n"
-#~ msgstr ""
-#~ "        ABISUA    \"%s %s\" gatazkan dago honekin: \"%s %s\"\n"
-#~ "                (murriztapena=\"%s %s %s %s\")\n"
-
-#~ msgid "        WARN    %s has no corresponding options!\n"
-#~ msgstr "        ABISUA    %s(e)k ez dagozkion aukerak ditu.\n"
-
-#~ msgid ""
-#~ "        WARN    %s shares a common prefix with %s\n"
-#~ "                REF: Page 15, section 3.2.\n"
-#~ msgstr ""
-#~ "        ABISUA    %s(e)k aurrizki amankomuna partekatzen du %s(r)ekin\n"
-#~ "                Erref: 15. orrialdea, 3.2 atala.\n"
-
-#~ msgid "        WARN    Default choices conflicting!\n"
-#~ msgstr "        ABISUA    Aukera lehenetsiak gatazkan.\n"
-
-#~ msgid ""
-#~ "        WARN    Duplex option keyword %s may not work as expected and "
-#~ "should be named Duplex!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "        ABISUA    Duplex aukeraren %s gakoak baliteke behar ez bezala "
-#~ "funtzionatzea eta Duplex izena eduki beharko luke.\n"
-#~ "                Erref: 122. orrialdea, 5.17 atala\n"
-
-#~ msgid ""
-#~ "        WARN    File contains a mix of CR, LF, and CR LF line endings!\n"
-#~ msgstr ""
-#~ "        ABISUA    Fitxategiak nahastutako CR, LF eta CR-LF lerro amaierak "
-#~ "ditu.\n"
-
-#~ msgid ""
-#~ "        WARN    LanguageEncoding required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 56-57, section 5.3.\n"
-#~ msgstr ""
-#~ "        ABISUA    PPD 4.3 zehaztapenak LanguageEncoding behar du.\n"
-#~ "                Erref: 56-57 orrialdeak, 5.3 atala.\n"
-
-#~ msgid "        WARN    Line %d only contains whitespace!\n"
-#~ msgstr "        ABISUA    %d lerroak zuriuneak soilik ditu.\n"
-
-#~ msgid ""
-#~ "        WARN    Manufacturer required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 58-59, section 5.3.\n"
-#~ msgstr ""
-#~ "        ABISUA    PPD 4.3 zehaztapenak Manufacturer behar du.\n"
-#~ "                Erref: 58-59 orrialdeak, 5.3 atala.\n"
-
-#~ msgid ""
-#~ "        WARN    Non-Windows PPD files should use lines ending with only "
-#~ "LF, not CR LF!\n"
-#~ msgstr ""
-#~ "        ABISUA    Windows-ekoak ez diren PPD fitxategien lerroak LFrekin "
-#~ "amaitu beharko lukete, ez CR-LFrekin\n"
-
-#~ msgid ""
-#~ "        WARN    Obsolete PPD version %.1f!\n"
-#~ "                REF: Page 42, section 5.2.\n"
-#~ msgstr ""
-#~ "        ABISUA    PPDren %.1f bertsio zaharkitua.\n"
-#~ "                Erref: 42. orrialdea, 5.2 atala.\n"
-
-#~ msgid ""
-#~ "        WARN    PCFileName longer than 8.3 in violation of PPD spec.\n"
-#~ "                REF: Pages 61-62, section 5.3.\n"
-#~ msgstr ""
-#~ "        ABISUA    PCFileName 8.3 baino luzeagoa da, eta PPD "
-#~ "zehaztapenaren bortxaketa da.\n"
-#~ "                Erref: 61-62 orrialdeak, 5.3 atala.\n"
-
-#~ msgid ""
-#~ "        WARN    Protocols contains PJL but JCL attributes are not set.\n"
-#~ "                REF: Pages 78-79, section 5.7.\n"
-#~ msgstr ""
-#~ "        ABISUA    Protokoloek PJL dute, baina JCL atributuak ez daude "
-#~ "ezarrita.\n"
-#~ "                Erref: 78-79 orrialdeak, 5.7 atala.\n"
-
-#~ msgid ""
-#~ "        WARN    Protocols contains both PJL and BCP; expected TBCP.\n"
-#~ "                REF: Pages 78-79, section 5.7.\n"
-#~ msgstr ""
-#~ "        ABISUA    Protokoloek bai PJL bai BCP dituzte, baina TBCP espero "
-#~ "zen.\n"
-#~ "                Erref: 78-79 orrialdeak, 5.7 atala.\n"
-
-#~ msgid ""
-#~ "        WARN    ShortNickName required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "        ABISUA    PPD 4.3 zehaztapenak ShortNickName behar du.\n"
-#~ "                Erref: 64-65 orrialdeak, 5.3 atala.\n"
-
-#~ msgid "      %s  %s %s does not exist!\n"
-#~ msgstr "      %s  %s %s ez da existitzen.\n"
-
-#~ msgid "      %s  %s file \"%s\" has the wrong capitalization!\n"
-#~ msgstr "      %s  %s \"%s\" fitxategiak okerreko kapitalizazioa du.\n"
-
-#~ msgid ""
-#~ "      %s  Bad %s choice %s!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "      %s  Okerreko %s(r)en %s hautaketa.\n"
-#~ "                Erref: 122. orrialdea, 5.17 atala.\n"
-
-#~ msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s!\n"
-#~ msgstr ""
-#~ "      %s  Okerreko \"%s\" UTF-8 itzulpeneko katea %s aukerarentzako.\n"
-
-#~ msgid ""
-#~ "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s!\n"
-#~ msgstr ""
-#~ "      %s  Okerreko \"%s\" UTF-8 itzulpeneko katea %s aukerarentzako, %s "
-#~ "hautaketa.\n"
-
-#~ msgid "      %s  Bad cupsFilter value \"%s\"!\n"
-#~ msgstr "      %s  Okerreko cupsFilter-en \"%s\" balioa\n"
-
-#~ msgid "      %s  Bad cupsICCProfile %s!\n"
-#~ msgstr "      %s  Okerreko %s cupsICCProfile.\n"
-
-#~ msgid "      %s  Bad cupsPreFilter value \"%s\"!\n"
-#~ msgstr "      %s  Okerreko cupsPreFilter-ren \"%s\" balioa.\n"
-
-#~ msgid "      %s  Bad cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr "      %s  Okerreko %s cupsUIConstraints: \"%s\".\n"
-
-#~ msgid "      %s  Bad language \"%s\"!\n"
-#~ msgstr "      %s  Okerreko \"%s\" hizkuntza\n"
-
-#~ msgid "      %s  Bad spelling of %s - should be %s!\n"
-#~ msgstr "      %s  %s(r)en okerreko ortografia - %s izan beharko luke.\n"
-
-#~ msgid "      %s  Cannot provide both APScanAppPath and APScanAppBundleID!\n"
-#~ msgstr "      %s  Ezin dira APScanAppPath eta APScanAppBundleID eman.\n"
-
-#~ msgid "      %s  Empty cupsUIConstraints %s!\n"
-#~ msgstr "      %s  %s cupsUIConstraints hutsa\n"
-
-#~ msgid "      %s  Missing \"%s\" translation string for option %s!\n"
-#~ msgstr "      %s  \"%s\" itzulpeneko katea falta da %s aukeran\n"
-
-#~ msgid ""
-#~ "      %s  Missing \"%s\" translation string for option %s, choice %s!\n"
-#~ msgstr ""
-#~ "      %s  \"%s\" itzulpeneko katea falta da %s aukeran, %s hautaketa.\n"
-
-#~ msgid "      %s  Missing APDialogExtension file \"%s\"\n"
-#~ msgstr "      %s  APDialogExtension-en \"%s\" fitxategia falta da\n"
-
-#~ msgid "      %s  Missing APPrinterIconPath file \"%s\"\n"
-#~ msgstr "      %s  APPrinterIconPath-en \"%s\" fitxategia falta da\n"
-
-#~ msgid "      %s  Missing APPrinterLowInkTool file \"%s\"\n"
-#~ msgstr "      %s  APPrinterLowInkTool-en \"%s\" fitxategia falta da\n"
-
-#~ msgid "      %s  Missing APPrinterUtilityPath file \"%s\"\n"
-#~ msgstr "      %s  APPrinterUtilityPath-en \"%s\" fitxategia falta da\n"
-
-#~ msgid "      %s  Missing APScanAppPath file \"%s\"\n"
-#~ msgstr "      %s  APScanAppPath-en \"%s\" fitxategia falta da\n"
-
-#~ msgid ""
-#~ "      %s  Missing REQUIRED PageRegion option!\n"
-#~ "                REF: Page 100, section 5.14.\n"
-#~ msgstr ""
-#~ "      %s  BEHARREZKOA DEN PageRegion aukera falta da.\n"
-#~ "                Erref: 100. orrialdea, 5.14 atala.\n"
-
-#~ msgid ""
-#~ "      %s  Missing REQUIRED PageSize option!\n"
-#~ "                REF: Page 99, section 5.14.\n"
-#~ msgstr ""
-#~ "      %s  BEHARREZKOA DEN PageSize aukera falta da.\n"
-#~ "                Erref: 99. orrialdea, 5.14 atala.\n"
-
-#~ msgid ""
-#~ "      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"!\n"
-#~ msgstr ""
-#~ "      %s  *%s %s aukera falta da \"*%s %s *%s %s\" UIConstraints-en\n"
-
-#~ msgid "      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr "      %s  *%s %s aukera falta da %s cupsUIConstraints-en: \"%s\"\n"
-
-#~ msgid "      %s  Missing cupsFilter file \"%s\"\n"
-#~ msgstr "      %s  cupsFilter-en \"%s\" fitxategia falta da\n"
-
-#~ msgid "      %s  Missing cupsICCProfile file \"%s\"!\n"
-#~ msgstr "      %s  cupsICCProfile-en \"%s\" fitxategia falta da.\n"
-
-#~ msgid "      %s  Missing cupsPreFilter file \"%s\"\n"
-#~ msgstr "      %s  cupsPreFilter-en \"%s\" fitxategia falta da\n"
-
-#~ msgid "      %s  Missing cupsUIResolver %s!\n"
-#~ msgstr "      %s  %s cupsUIResolver falta da\n"
-
-#~ msgid "      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\"!\n"
-#~ msgstr "      %s  %s aukera falta da \"*%s %s *%s %s\" UIConstraints-en\n"
-
-#~ msgid "      %s  Missing option %s in cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr "      %s  %s aukera falta da %s cupsUIConstraints-en: \"%s\"\n"
-
-#~ msgid "      %s  No base translation \"%s\" is included in file!\n"
-#~ msgstr "      %s  Ez da oinarrizko \"%s\" itzulpena sartu fitxategian.\n"
-
-#~ msgid ""
-#~ "      %s  Non-standard size name \"%s\"!\n"
-#~ "                REF: Page 187, section B.2.\n"
-#~ msgstr ""
-#~ "      %s  Tamaina ez estandarra dauka \"%s\" izenak.\n"
-#~ "                Erref: 187. orrialdea, B.2 atala.\n"
-
-#~ msgid ""
-#~ "      %s  REQUIRED %s does not define choice None!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "      %s  BEHARREZKOA DEN %s(e)k ez du 'Bat ere ez' aukera definitzen.\n"
-#~ "                Erref: 122. orrialdea, 5.17 atala.\n"
-
-#~ msgid "      %s  Size \"%s\" defined for %s but not for %s!\n"
-#~ msgstr ""
-#~ "      %s  \"%s\" tamaina definituta %s(r)entzako, baina ez honentzako: %"
-#~ "s.\n"
-
-#~ msgid "      %s  Size \"%s\" has unexpected dimensions (%gx%g)!\n"
-#~ msgstr "      %s  \"%s\" tamainak ustekabeko dimentsioak ditu (%gx%g).\n"
-
-#~ msgid "      %s  cupsICCProfile %s hash value collides with %s!\n"
-#~ msgstr ""
-#~ "      %s  cupsICCProfile-ren %s hash balioak beste honekin talka egiten "
-#~ "du: %s\n"
-
-#~ msgid "      %s  cupsUIResolver %s causes a loop!\n"
-#~ msgstr "      %s  %s cupsUIResolver-ek begizta sortzen du\n"
-
-#~ msgid ""
-#~ "      %s  cupsUIResolver %s does not list at least two different "
-#~ "options!\n"
-#~ msgstr ""
-#~ "      %s  %s cupsUIResolver-ek ez du gutxienez bi aukera desberdin "
-#~ "zerrendatu.\n"
-
-#~ msgid "      **FAIL**  %s choice names %s and %s differ only by case!\n"
-#~ msgstr ""
-#~ "      **HUTSEGITEA**  %s aukeraren %s eta %s izenak letren "
-#~ "kapitalizazioan soilik desberdintzen dira.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  %s must be 1284DeviceID!\n"
-#~ "                REF: Page 72, section 5.5\n"
-#~ msgstr ""
-#~ "      **HUTSEGITEA**  %s 1284DeviceID izan behar du\n"
-#~ "                Erref: 72. orrialdea, 5.5 atala.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Default%s %s\n"
-#~ "                REF: Page 40, section 4.5.\n"
-#~ msgstr ""
-#~ "      **HUTSEGITEA**  OKERREKO Default%s %s\n"
-#~ "                Erref: 40. orrialdea, 4.5 atala.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD DefaultImageableArea %s!\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **HUTSEGITEA**  OKERREKO DefaultImageableArea %s.\n"
-#~ "                Erref: 102. orrialdea, 5.15 atala.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD DefaultPaperDimension %s!\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **HUTSEGITEA**  OKERREKO DefaultPaperDimension %s.\n"
-#~ "                Erref: 103. orrialdea, 5.15 atala.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD JobPatchFile attribute in file\n"
-#~ "                REF: Page 24, section 3.4.\n"
-#~ msgstr ""
-#~ "      **HUTSEGITEA**  OKERREKO JobPatchFile atributua fitxategian\n"
-#~ "                Erref: 24. orrialdea, 3.4 atala.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Manufacturer (should be \"HP\")\n"
-#~ "                REF: Page 211, table D.1.\n"
-#~ msgstr ""
-#~ "      **HUTSEGITEA**  OKERREKO Manufacturer (\"HP\" izan beharko luke)\n"
-#~ "                Erref: 211. orrialdea, D.1 taula.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Manufacturer (should be \"Oki\")\n"
-#~ "                REF: Page 211, table D.1.\n"
-#~ msgstr ""
-#~ "      **HUTSEGITEA**  OKERREKO Manufacturer (\"Oki\" izan beharko luke)\n"
-#~ "                Erref: 211. orrialdea, D.1 taula.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n"
-#~ "                REF: Pages 59-60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **HUTSEGITEA**  OKERREKO ModelName - \"%c\" ez dago baimenduta "
-#~ "katean.\n"
-#~ "                Erref: 59-60 orrialdeak, 5.3 atala.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD PSVersion - not \"(string) int\".\n"
-#~ "                REF: Pages 62-64, section 5.3.\n"
-#~ msgstr ""
-#~ "      **HUTSEGITEA**  OKERREKO PSVersion - ez da \"(string) int\".\n"
-#~ "                Erref: 62-64 orrialdeak, 5.3 atala.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Product - not \"(string)\".\n"
-#~ "                REF: Page 62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **HUTSEGITEA**  OKERREKO Product - ez da  \"(string)\".\n"
-#~ "                Erref: 62. orrialdea, 5.3 atala.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD ShortNickName - longer than 31 chars.\n"
-#~ "                REF: Pages 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "      **HUTSEGITEA**  OKERREKO ShortNickName - 31 karaktere baino "
-#~ "luzeagoa.\n"
-#~ "                Erref: 64-65 orrialdeak, 5.3 atala.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad %s choice %s!\n"
-#~ "                REF: Page 84, section 5.9\n"
-#~ msgstr ""
-#~ "      **HUTSEGITEA**  Okerreko %s %s aukera\n"
-#~ "                Erref: 84. orrialdea, 5.9 atala.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad FileVersion \"%s\"\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **HUTSEGITEA**  Okerreko \"%s\" FileVersion\n"
-#~ "                Erref: 56. orrialdea, 5.3 atala.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad FormatVersion \"%s\"\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **HUTSEGITEA**  Okerreko \"%s\" FormatVersion\n"
-#~ "                Erref: 56. orrialdea, 5.3 atala.\n"
-
-#~ msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1!\n"
-#~ msgstr ""
-#~ "      **HUTSEGITEA**  Okerreko %s LanguageEncoding - ISOLatin1 izan behar "
-#~ "du\n"
-
-#~ msgid "      **FAIL**  Bad LanguageVersion %s - must be English!\n"
-#~ msgstr ""
-#~ "      **HUTSEGITEA**  Okerreko %s LanguageVersion - Ingelesa izan behar "
-#~ "du\n"
-
-#~ msgid "      **FAIL**  Default option code cannot be interpreted: %s\n"
-#~ msgstr ""
-#~ "      **HUTSEGITEA**  Aukera lehenetsiaren kodea ezin da interpretatu: %"
-#~ "s\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Default translation string for option %s choice %s "
-#~ "contains 8-bit characters!\n"
-#~ msgstr ""
-#~ "      **HUTSEGITEA**  %s aukeraren %s hautaketaren itzulpen-kate "
-#~ "lehenetsiak 8 biteko karaktereak ditu.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Default translation string for option %s contains 8-bit "
-#~ "characters!\n"
-#~ msgstr ""
-#~ "      **HUTSEGITEA**  %s aukeraren itzulpen-kate lehenetsiak 8 biteko "
-#~ "karaktereak ditu.\n"
-
-#~ msgid "      **FAIL**  Group names %s and %s differ only by case!\n"
-#~ msgstr ""
-#~ "      **HUTSEGITEA**  %s eta %s talde-izenak letren kapitalizazioan "
-#~ "soilik desberdintzen dira.\n"
-
-#~ msgid "      **FAIL**  Multiple occurrences of %s choice name %s!\n"
-#~ msgstr ""
-#~ "      **HUTSEGITEA**  %s aukeraren %s izenaren hainbat agerraldi daude.\n"
-
-#~ msgid "      **FAIL**  Option names %s and %s differ only by case!\n"
-#~ msgstr ""
-#~ "      **HUTSEGITEA**  %s eta %s aukeren izenak letra kapitalizatuetan "
-#~ "soilik desberdintzen dira.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Default%s\n"
-#~ "                REF: Page 40, section 4.5.\n"
-#~ msgstr ""
-#~ "      **HUTSEGITEA**  Default%s BEHARREZKOA DA\n"
-#~ "                Erref: 40. orrialdea, 4.5 atala.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED DefaultImageableArea\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **HUTSEGITEA**  DefaultImageableArea BEHARREZKOA DA\n"
-#~ "                Erref: 102. orrialdea, 5.15 atala.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED DefaultPaperDimension\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **HUTSEGITEA**  DefaultPaperDimension BEHARREZKOA DA\n"
-#~ "                Erref: 103. orrialdea, 5.15 atala.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED FileVersion\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **HUTSEGITEA**  FileVersion BEHARREZKOA DA\n"
-#~ "                Erref: 56. orrialdea, 5.3 atala.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED FormatVersion\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **HUTSEGITEA**  FormatVersion BEHARREZKOA DA\n"
-#~ "                Erref: 56. orrialdea, 5.3 atala.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ImageableArea for PageSize %s\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **HUTSEGITEA**  ImageableArea BEHARREZKOA DA %s PageSize-rentzako\n"
-#~ "                Erref: 41. orrialdea, 5 atala.\n"
-#~ "                Erref: 102. orrialdea, 5.15 atala.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED LanguageEncoding\n"
-#~ "                REF: Pages 56-57, section 5.3.\n"
-#~ msgstr ""
-#~ "      **HUTSEGITEA**  LanguageEncoding BEHARREZKOA DA\n"
-#~ "                Erref: 56-57 orrialdeak, 5.3 atala.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED LanguageVersion\n"
-#~ "                REF: Pages 57-58, section 5.3.\n"
-#~ msgstr ""
-#~ "      **HUTSEGITEA**  LanguageVersion BEHARREZKOA DA\n"
-#~ "                Erref: 57-58 orrialdeak, 5.3 atala.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Manufacturer\n"
-#~ "                REF: Pages 58-59, section 5.3.\n"
-#~ msgstr ""
-#~ "      **HUTSEGITEA**  Manufacturer BEHARREZKOA DA\n"
-#~ "                Erref: 58-59 orrialdeak, 5.3 atala.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ModelName\n"
-#~ "                REF: Pages 59-60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **HUTSEGITEA**  ModelName BEHARREZKOA DA\n"
-#~ "                Erref: 59-60 orrialdeak, 5.3 atala.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED NickName\n"
-#~ "                REF: Page 60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **HUTSEGITEA**  NickName BEHARREZKOA DA\n"
-#~ "                Erref: 60. orrialdea, 5.3 atala.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PCFileName\n"
-#~ "                REF: Pages 61-62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **HUTSEGITEA**  PCFileName BEHARREZKOA DA\n"
-#~ "                Erref: 61-62 orrialdeak, 5.3 atala.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PSVersion\n"
-#~ "                REF: Pages 62-64, section 5.3.\n"
-#~ msgstr ""
-#~ "      **HUTSEGITEA**  PSVersion BEHARREZKOA DA\n"
-#~ "                Erref: 62-64 orrialdeak, 5.3 atala.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageRegion\n"
-#~ "                REF: Page 100, section 5.14.\n"
-#~ msgstr ""
-#~ "      **HUTSEGITEA**  PageRegion BEHARREZKOA DA\n"
-#~ "                Erref: 100. orrialdea, 5.14 atala.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageSize\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 99, section 5.14.\n"
-#~ msgstr ""
-#~ "      **HUTSEGITEA**  REQUIRED BEHARREZKOA DA\n"
-#~ "ageSize\n"
-#~ "       Erref: EF. orrialdea:   atalasection 5.\n"
-#~ "       Erref: EF. orrialdea:  sec atalation 5.14.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageSize\n"
-#~ "                REF: Pages 99-100, section 5.14.\n"
-#~ msgstr ""
-#~ "      **HUTSEGITEA**  PageSize BEHARREZKOA DA\n"
-#~ "                Erref: 99-100 orrialdeak, 5.14 atala.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PaperDimension for PageSize %s\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **HUTSEGITEA**  PaperDimension BEHARREZKOA DA %s PageSize-rentzako\n"
-#~ "                Erref: 41. orrialdea, 5 atala.\n"
-#~ "                Erref: 103. orrialdea, 5.15 atala.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Product\n"
-#~ "                REF: Page 62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **HUTSEGITEA**  Product BEHARREZKOA DA\n"
-#~ "                Erref: 62. orrialdea, 5.3 atala.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ShortNickName\n"
-#~ "                REF: Page 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "      **HUTSEGITEA**  ShortNickName BEHARREZKOA DA\n"
-#~ "                Erref: 64-65 orrialdeak, 5.3 atala.\n"
-
-#~ msgid "    %d ERRORS FOUND\n"
-#~ msgstr "    %d ERRORE AURKITU DIRA\n"
-
-#~ msgid ""
-#~ "    Bad %%%%BoundingBox: on line %d!\n"
-#~ "        REF: Page 39, %%%%BoundingBox:\n"
-#~ msgstr ""
-#~ "    Okerreko %%%%BoundingBox: %d lerroan\n"
-#~ "        Erref: 39. orrialdea, %%%%BoundingBox:\n"
-
-#~ msgid ""
-#~ "    Bad %%%%Page: on line %d!\n"
-#~ "        REF: Page 53, %%%%Page:\n"
-#~ msgstr ""
-#~ "    Okerreko %%%%Page: %d lerroan\n"
-#~ "        Erref: 53. orrialdea, %%%%Page:\n"
-
-#~ msgid ""
-#~ "    Bad %%%%Pages: on line %d!\n"
-#~ "        REF: Page 43, %%%%Pages:\n"
-#~ msgstr ""
-#~ "    Okerreko %%%%Pages: %d lerroan\n"
-#~ "        Erref: 43. orrialdea, %%%%Pages:\n"
-
-#~ msgid ""
-#~ "    Line %d is longer than 255 characters (%d)!\n"
-#~ "        REF: Page 25, Line Length\n"
-#~ msgstr ""
-#~ "    %d lerroa 255 karaktere baino luzeagoa da (%d)!\n"
-#~ "        Erref: 25. orrialdea, lerroaren luzera\n"
-
-#~ msgid ""
-#~ "    Missing %!PS-Adobe-3.0 on first line!\n"
-#~ "        REF: Page 17, 3.1 Conforming Documents\n"
-#~ msgstr ""
-#~ "    %!PS-Adobe-3.0 falta da aurreneko lerroan\n"
-#~ "        Erref: 17. orrialdea, 3.1 Adostasunaren dokumentuak\n"
-
-#~ msgid ""
-#~ "    Missing %%EndComments comment!\n"
-#~ "        REF: Page 41, %%EndComments\n"
-#~ msgstr ""
-#~ "    %%EndComments iruzkina falta da\n"
-#~ "        Erref: 41. orrialdea, %%EndComments\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%BoundingBox: comment!\n"
-#~ "        REF: Page 39, %%BoundingBox:\n"
-#~ msgstr ""
-#~ "    %%BoundingBox okerrekoa edo falta da: iruzkina\n"
-#~ "        Erref: 39. orrialdea, %%BoundingBox:\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%Page: comments!\n"
-#~ "        REF: Page 53, %%Page:\n"
-#~ msgstr ""
-#~ "    %%Page okerrekoa edo falta da: iruzkinak\n"
-#~ "        Erref: 53. orrialdea, %%Page:\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%Pages: comment!\n"
-#~ "        REF: Page 43, %%Pages:\n"
-#~ msgstr ""
-#~ "    %%Pages okerrekoa edo falta da: iruzkina\n"
-#~ "        Erref: 43. orrialdea, %%Pages:\n"
-
-#~ msgid "    NO ERRORS FOUND\n"
-#~ msgstr "    EZ DA ERRORERIK AURKITU\n"
-
-#~ msgid "    Saw %d lines that exceeded 255 characters!\n"
-#~ msgstr "    255 karaktere baino luzeagoak diren %d lerro aurkitu dira\n"
-
-#~ msgid "    Too many %%BeginDocument comments!\n"
-#~ msgstr "    %%BeginDocument iruzkin gehiegi\n"
-
-#~ msgid "    Too many %%EndDocument comments!\n"
-#~ msgstr "    %%EndDocument iruzkin gehiegi\n"
-
-#~ msgid "    Warning: file contains binary data!\n"
-#~ msgstr "    Abisua: fitxategiak datu bitarrak ditu\n"
-
-#~ msgid "    Warning: no %%EndComments comment in file!\n"
-#~ msgstr "    Abisua: ez dago %%EndComments iruzkinik fitxategian\n"
-
-#~ msgid "    Warning: obsolete DSC version %.1f in file!\n"
-#~ msgstr "    Abisua: DSC %.1f bertsio zaharkitua fitxategian\n"
-
-#~ msgid " FAIL\n"
-#~ msgstr " HUTSEGITEA\n"
-
-#~ msgid ""
-#~ " FAIL\n"
-#~ "      **FAIL**  Unable to open PPD file - %s\n"
-#~ msgstr ""
-#~ " HUTSEGITEA\n"
-#~ "      **HUTSEGITEA**  Ezin da PPD fitxategia ireki - %s\n"
-
-#~ msgid ""
-#~ " FAIL\n"
-#~ "      **FAIL**  Unable to open PPD file - %s on line %d.\n"
-#~ msgstr ""
-#~ " HUTSEGITEA\n"
-#~ "      **HUTSEGITEA**  Ezin da PPD fitxategia ireki - %s %d lerroan.\n"
-
-#~ msgid " PASS\n"
-#~ msgstr " BALIOZKOA\n"
-
-#~ msgid "#10 Envelope"
-#~ msgstr "10. gutunazala"
-
-#~ msgid "#11 Envelope"
-#~ msgstr "11. gutunazala"
-
-#~ msgid "#12 Envelope"
-#~ msgstr "12. gutunazala"
-
-#~ msgid "#14 Envelope"
-#~ msgstr "14. gutunazala"
-
-#~ msgid "#9 Envelope"
-#~ msgstr "9. gutunazala"
-
-#~ msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes\n"
-#~ msgstr "%-6s %-10.10s %-4d %-10d %-27.27s %.0f byte\n"
-
-#~ msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes\n"
-#~ msgstr "%-7s %-7.7s %-7d %-31.31s %.0f byte\n"
-
-#~ msgid "%s accepting requests since %s\n"
-#~ msgstr "%s(e)k eskaerak onartzen ditu %s unetik\n"
-
-#~ msgid "%s is not implemented by the CUPS version of lpc.\n"
-#~ msgstr "%s ez dago CUPSen lpc bertsioan garatuta.\n"
-
-#~ msgid "%s is not ready\n"
-#~ msgstr "%s ez dago prest\n"
-
-#~ msgid "%s is ready\n"
-#~ msgstr "%s prest dago\n"
-
-#~ msgid "%s is ready and printing\n"
-#~ msgstr "%s prest dago eta inprimatzen\n"
-
-#~ msgid ""
-#~ "%s not accepting requests since %s -\n"
-#~ "\t%s\n"
-#~ msgstr ""
-#~ "%s(e)k ez du eskaerarik onartzen %s unetik\n"
-#~ "\t%s\n"
-
-#~ msgid "%s not supported!"
-#~ msgstr "%s ez dago onartuta."
-
-#~ msgid "%s/%s accepting requests since %s\n"
-#~ msgstr "%s/%s-(e)k eskaerak onartzen ditu %s unetik\n"
-
-#~ msgid ""
-#~ "%s/%s not accepting requests since %s -\n"
-#~ "\t%s\n"
-#~ msgstr ""
-#~ "%s/%s-(e)k ez ditu eskaerarik onartzen %s unetik\n"
-#~ "\t%s\n"
-
-#~ msgid "%s: %-33.33s [job %d localhost]\n"
-#~ msgstr "%s: %-33.33s [%d lana localhost]\n"
-
-#~ msgid "%s: %s failed: %s\n"
-#~ msgstr "%s: %s(e)k huts egin du: %s\n"
-
-#~ msgid "%s: Don't know what to do!\n"
-#~ msgstr "%s: ez daki zer egin.\n"
-
-#~ msgid ""
-#~ "%s: Error - %s environment variable names non-existent destination \"%s"
-#~ "\"!\n"
-#~ msgstr ""
-#~ "%s: errorea - Inguruneko %s aldagaiak existitzen ez den \"%s\" helburua "
-#~ "izendatzen du\n"
-
-#~ msgid "%s: Error - bad job ID!\n"
-#~ msgstr "%s: errorea - lanaren okerreko IDa\n"
-
-#~ msgid "%s: Error - cannot print files and alter jobs simultaneously!\n"
-#~ msgstr ""
-#~ "%s: errorea - ezin dira fitxategiak inprimatu eta aldi berean lanak "
-#~ "aldatu\n"
-
-#~ msgid ""
-#~ "%s: Error - cannot print from stdin if files or a job ID are provided!\n"
-#~ msgstr ""
-#~ "%s: errorea - ezin da stdin-etik inprimatu fitxategiak edo lan baten IDa "
-#~ "ematen bada\n"
-
-#~ msgid "%s: Error - expected character set after '-S' option!\n"
-#~ msgstr "%s: errorea - '-S' aukeraren ondoren karaktere-jokoa espero zen\n"
-
-#~ msgid "%s: Error - expected content type after '-T' option!\n"
-#~ msgstr "%s: errorea - '-T' aukeraren ondoren eduki mota espero zen\n"
-
-#~ msgid "%s: Error - expected copies after '-n' option!\n"
-#~ msgstr "%s: errorea - '-n' aukeraren ondoren kopiak espero ziren\n"
-
-#~ msgid "%s: Error - expected copy count after '-#' option!\n"
-#~ msgstr ""
-#~ "%s: errorea - '-#' aukeraren ondoren kopien zenbatzailea espero zen\n"
-
-#~ msgid "%s: Error - expected destination after '-P' option!\n"
-#~ msgstr "%s: errorea - '-P' aukeraren ondoren helburua espero zen\n"
-
-#~ msgid "%s: Error - expected destination after '-b' option!\n"
-#~ msgstr "%s: errorea - '-b' aukeraren ondoren helburua espero zen\n"
-
-#~ msgid "%s: Error - expected destination after '-d' option!\n"
-#~ msgstr "%s: errorea - '-d' aukeraren ondoren helburua espero zen\n"
-
-#~ msgid "%s: Error - expected form after '-f' option!\n"
-#~ msgstr "%s: errorea - '-f' aukeraren ondoren inprimakia espero zen\n"
-
-#~ msgid "%s: Error - expected hold name after '-H' option!\n"
-#~ msgstr "%s: errorea - '-H' aukeraren ondoren eusteko izena espero zen\n"
-
-#~ msgid "%s: Error - expected hostname after '-H' option!\n"
-#~ msgstr "%s: errorea - '-H' aukeraren ondoren ostalari-izena espero zen\n"
-
-#~ msgid "%s: Error - expected hostname after '-h' option!\n"
-#~ msgstr "%s: errorea - '-h' aukeraren ondoren ostalari-izena espero zen\n"
-
-#~ msgid "%s: Error - expected mode list after '-y' option!\n"
-#~ msgstr "%s: errorea - '-y' aukeraren ondoren moduen zerrenda espero zen\n"
-
-#~ msgid "%s: Error - expected name after '-%c' option!\n"
-#~ msgstr "%s: errorea - '-%c' aukeraren ondoren izena espero zen\n"
-
-#~ msgid "%s: Error - expected option string after '-o' option!\n"
-#~ msgstr "%s: errorea - '-o' aukeraren ondoren aukera-katea espero zen\n"
-
-#~ msgid "%s: Error - expected page list after '-P' option!\n"
-#~ msgstr ""
-#~ "%s: errorea - '-P' aukeraren ondoren orrialdeen zerrenda espero zen\n"
-
-#~ msgid "%s: Error - expected priority after '-%c' option!\n"
-#~ msgstr "%s: errorea - '-%c' aukeraren ondoren lehentasuna espero zen\n"
-
-#~ msgid "%s: Error - expected reason text after '-r' option!\n"
-#~ msgstr ""
-#~ "%s: errorea - '-r' aukeraren ondoren arrazoiaren testua espero zen\n"
-
-#~ msgid "%s: Error - expected title after '-t' option!\n"
-#~ msgstr "%s: errorea - '-t' aukeraren ondoren titulua espero zen\n"
-
-#~ msgid "%s: Error - expected username after '-U' option!\n"
-#~ msgstr ""
-#~ "%s: errorea - '-U' aukeraren ondoren erabiltzaile-izena espero zen\n"
-
-#~ msgid "%s: Error - expected username after '-u' option!\n"
-#~ msgstr ""
-#~ "%s: errorea - '-u' aukeraren ondoren erabiltzaile-izena espero zen\n"
-
-#~ msgid "%s: Error - expected value after '-%c' option!\n"
-#~ msgstr "%s: errorea - '-%c' aukeraren ondoren balio bat espero zen\n"
-
-#~ msgid ""
-#~ "%s: Error - need \"completed\", \"not-completed\", or \"all\" after '-W' "
-#~ "option!\n"
-#~ msgstr ""
-#~ "%s: errorea - '-W' aukeraren ondoren \"completed\", \"not-completed\", "
-#~ "edo \"all\" egon behar du\n"
-
-#~ msgid "%s: Error - no default destination available.\n"
-#~ msgstr "%s: errorea - helburu lehenetsia ez dago eskuragarri\n"
-
-#~ msgid "%s: Error - priority must be between 1 and 100.\n"
-#~ msgstr "%s: errorea - lehentasuna 1 eta 100 artean egon behar du\n"
-
-#~ msgid "%s: Error - scheduler not responding!\n"
-#~ msgstr "%s: errorea - antolatzaileak ez du erantzuten\n"
-
-#~ msgid "%s: Error - too many files - \"%s\"\n"
-#~ msgstr "%s: errorea - fitxategi gehiegi - \"%s\"\n"
-
-#~ msgid "%s: Error - unable to access \"%s\" - %s\n"
-#~ msgstr "%s: errorea - ezin da \"%s\" atzitu - %s\n"
-
-#~ msgid "%s: Error - unable to queue from stdin - %s\n"
-#~ msgstr "%s: errorea - ezin da stdin-etik ilaratu - %s\n"
-
-#~ msgid "%s: Error - unknown destination \"%s\"!\n"
-#~ msgstr "%s: errorea - \"%s\" helburu ezezaguna\n"
-
-#~ msgid "%s: Error - unknown destination \"%s/%s\"!\n"
-#~ msgstr "%s: errorea - \"%s/%s\" helburu ezezaguna\n"
-
-#~ msgid "%s: Error - unknown option '%c'!\n"
-#~ msgstr "%s: errorea - '%c' aukera ezezaguna\n"
-
-#~ msgid "%s: Error - unknown option '%s'!\n"
-#~ msgstr "%s: errorea - '%s' aukera ezezaguna\n"
-
-#~ msgid "%s: Expected job ID after '-i' option!\n"
-#~ msgstr "%s: '-i' aukeraren ondoren lanaren IDa espero zen\n"
-
-#~ msgid "%s: Filter \"%s\" not available: %s\n"
-#~ msgstr "%s: \"%s\" iragazkia ez dago erabilgarri: %s\n"
-
-#~ msgid "%s: Invalid destination name in list \"%s\"!\n"
-#~ msgstr "%s: helburuaren izen baliogabea \"%s\" zerrendan\n"
-
-#~ msgid "%s: Invalid filter string \"%s\"\n"
-#~ msgstr "%s: \"%s\" iragazkiaren kate baliogabea\n"
-
-#~ msgid "%s: Need job ID ('-i jobid') before '-H restart'!\n"
-#~ msgstr "%s: lanaren IDa ('-i lanIDa') behar da '-H restart'-en aurretik\n"
-
-#~ msgid "%s: No filter to convert from %s/%s to %s/%s!\n"
-#~ msgstr "%s: ez dago iragazkirik %s/%s -> %s/%s bihurtzeko\n"
-
-#~ msgid "%s: Operation failed: %s\n"
-#~ msgstr "%s: huts egin du eragiketak: %s\n"
-
-#~ msgid "%s: Sorry, no encryption support compiled in!\n"
-#~ msgstr "%s: ez da enkriptatzeko euskarriarekin konpilatu\n"
-
-#~ msgid "%s: Unable to connect to server\n"
-#~ msgstr "%s: ezin da zerbitzariarekin konektatu\n"
-
-#~ msgid "%s: Unable to contact server!\n"
-#~ msgstr "%s: ezin da zerbitzariarekin kontaktatu\n"
-
-#~ msgid "%s: Unable to determine MIME type of \"%s\"!\n"
-#~ msgstr "%s: ezin da \"%s\"(r)en MIME mota zehaztu\n"
-
-#~ msgid "%s: Unable to open %s: %s\n"
-#~ msgstr "%s: ezin da %s ireki: %s\n"
-
-#~ msgid "%s: Unable to open PPD file: %s on line %d\n"
-#~ msgstr "%s: ezin da PPD fitxategia ireki: %s %d lerroan\n"
-
-#~ msgid "%s: Unable to open PPD file: %s on line %d.\n"
-#~ msgstr "%s: ezin da PPD fitxategia ireki: %s %d lerroan\n"
-
-#~ msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"!\n"
-#~ msgstr "%s: ezin da MIMEen datu-basea irakurri \"%s\" edo \"%s\"(e)ndik\n"
-
-#~ msgid "%s: Unknown destination \"%s\"!\n"
-#~ msgstr "%s: \"%s\" helburu ezezaguna\n"
-
-#~ msgid "%s: Unknown destination MIME type %s/%s!\n"
-#~ msgstr "%s: %s/%s MIME motaren helburu ezezaguna\n"
-
-#~ msgid "%s: Unknown option '%c'!\n"
-#~ msgstr "%s: '%c' aukera ezezaguna\n"
-
-#~ msgid "%s: Unknown source MIME type %s/%s!\n"
-#~ msgstr "%s: %s/%s MIME moten iturburu ezeaguna\n"
-
-#~ msgid ""
-#~ "%s: Warning - '%c' format modifier not supported - output may not be "
-#~ "correct!\n"
-#~ msgstr ""
-#~ "%s: abisua - '%c' formatuaren eraldatzailea ez dago onartuta - irteera ez "
-#~ "da zuzena izango\n"
-
-#~ msgid "%s: Warning - character set option ignored!\n"
-#~ msgstr "%s: abisua - karaktere-jokoaren aukerari ezikusi egin zaio\n"
-
-#~ msgid "%s: Warning - content type option ignored!\n"
-#~ msgstr "%s: abisua - edukiaren motaren aukerari ezikusi egin zaio\n"
-
-#~ msgid "%s: Warning - form option ignored!\n"
-#~ msgstr "%s: abisua - inprimakiaren aukerari ezikusi egin zaio\n"
-
-#~ msgid "%s: Warning - mode option ignored!\n"
-#~ msgstr "%s: abisua - moduen aukerari ezikusi egin zaio\n"
-
-#~ msgid ""
-#~ "%s: error - %s environment variable names non-existent destination \"%s"
-#~ "\"!\n"
-#~ msgstr ""
-#~ "%s: errorea - inguruneko %s aldagaiak existitzen ez den \"%s\" helburua "
-#~ "izandatzen du\n"
-
-#~ msgid "%s: error - expected option=value after '-o' option!\n"
-#~ msgstr "%s: errorea - '-o' aukeraren ondoren aukera=balioa espero zen\n"
-
-#~ msgid "%s: error - no default destination available.\n"
-#~ msgstr "%s: errorea - helburu lehenetsia ez dago eskuragarri\n"
-
-#~ msgid "10 x 11\""
-#~ msgstr "10 x 11\""
-
-#~ msgid "10 x 13\""
-#~ msgstr "10 x 13\""
-
-#~ msgid "10 x 14\""
-#~ msgstr "10 x 14\""
-
-#~ msgid "12 x 11\""
-#~ msgstr "12 x 11\""
-
-#~ msgid "15 x 11\""
-#~ msgstr "15 x 11\""
-
-#~ msgid "60x720dpi"
-#~ msgstr "60x720dpi"
-
-#~ msgid "7 x 9\""
-#~ msgstr "7 x 9\""
-
-#~ msgid "8 x 10\""
-#~ msgstr "8 x 10\""
-
-#~ msgid "9 x 11\""
-#~ msgstr "9 x 11\""
-
-#~ msgid "9 x 12\""
-#~ msgstr "9 x 12\""
-
-#~ msgid "?Invalid help command unknown\n"
-#~ msgstr "? laguntzako komando ezezagun baliogabea\n"
-
-#~ msgid "A Samba password is required to export printer drivers!"
-#~ msgstr ""
-#~ "Samba-ko pasahitza behar da inprimagailuaren kontrolatzaileak "
-#~ "esportatzeko."
-
-#~ msgid "A Samba username is required to export printer drivers!"
-#~ msgstr ""
-#~ "Samba-ko erabiltzaile-izena behar da inprimagailuaren kontrolatzaileak "
-#~ "esportatzeko."
-
-#~ msgid "A class named \"%s\" already exists!"
-#~ msgstr "\"%s\" izeneko klasea badago lehendik ere."
-
-#~ msgid "A printer named \"%s\" already exists!"
-#~ msgstr "\"%s\" izeneko inprimagailua badago lehendik ere."
-
-#~ msgid "A3 (Oversize)"
-#~ msgstr "A3 (handiagoa)"
-
-#~ msgid "A4 (Oversize)"
-#~ msgstr "A4 (handiagoa)"
-
-#~ msgid "A4 (Small)"
-#~ msgstr "A4 (txikia)"
-
-#~ msgid "A5 (Oversize)"
-#~ msgstr "A5 (handiagoa)"
-
-#~ msgid "ARCH A"
-#~ msgstr "ARCH A"
-
-#~ msgid "ARCH B"
-#~ msgstr "ARCH B"
-
-#~ msgid "Attempt to set %s printer-state to bad value %d!"
-#~ msgstr ""
-#~ "%s inprimagailuaren egoera okerreko %d balioarekin ezartzen saiatzen."
-
-#~ msgid "Attribute groups are out of order (%x < %x)!"
-#~ msgstr "Taldeen atributuak ordenatik kanpo daude (%x < %x)"
-
-#~ msgid "Bad device URI \"%s\"!\n"
-#~ msgstr "Okerreko gailuaren URIa: \"%s\"\n"
-
-#~ msgid "Bad device-uri \"%s\"!"
-#~ msgstr "Okerreko device-uri: \"%s\"."
-
-#~ msgid "Bad device-uri scheme \"%s\"!"
-#~ msgstr "Okerreko device-uri eskema: \"%s\"."
-
-#~ msgid "Bad document-format \"%s\"!"
-#~ msgstr "Okerreko document-format: \"%s\"."
-
-#~ msgid "Bad filename buffer!"
-#~ msgstr "Okerreko fitxategi-izenaren buferra."
-
-#~ msgid "Bad font attribute: %s\n"
-#~ msgstr "Okerreko letra-atributua: %s\n"
-
-#~ msgid "Bad job-priority value!"
-#~ msgstr "Okerreko job-priority balioa."
-
-#~ msgid "Bad job-sheets value \"%s\"!"
-#~ msgstr "Okerreko job-sheets balioa: \"%s\"."
-
-#~ msgid "Bad job-sheets value type!"
-#~ msgstr "Okerreko job-sheets balio mota."
-
-#~ msgid "Bad job-state value!"
-#~ msgstr "Okerreko job-state balioa."
-
-#~ msgid "Bad job-uri attribute \"%s\"!"
-#~ msgstr "Okerreko job-uri atributua: \"%s\"."
-
-#~ msgid "Bad notify-pull-method \"%s\"!"
-#~ msgstr "Okerreko notify-pull-method: \"%s\"."
-
-#~ msgid "Bad notify-recipient-uri URI \"%s\"!"
-#~ msgstr "Okerreko notify-recipient-uri URIa: \"%s\"."
-
-#~ msgid "Bad option + choice on line %d!"
-#~ msgstr "Okerreko aukera + hautaketa %d. lerroan."
-
-#~ msgid "Bad port-monitor \"%s\"!"
-#~ msgstr "Okerreko port-monitor: \"%s\"."
-
-#~ msgid "Bad printer-state value %d!"
-#~ msgstr "Okerreko printer-state balioa: %d."
-
-#~ msgid "Bad request ID %d!"
-#~ msgstr "Okerreko eskaeraren IDa: %d."
-
-#~ msgid "Bad request version number %d.%d!"
-#~ msgstr "Okerreko eskaeraren bertsio zenbakia: %d.%d."
-
-#~ msgid "Bad subscription ID!"
-#~ msgstr "Okerreko harpidetzaren IDa."
-
-#~ msgid "C0 Envelope"
-#~ msgstr "C0 gainazala"
-
-#~ msgid "C1 Envelope"
-#~ msgstr "C1 gainazala"
-
-#~ msgid "C2 Envelope"
-#~ msgstr "C2 gainazala"
-
-#~ msgid "C3 Envelope"
-#~ msgstr "C3 gainazala"
-
-#~ msgid "C4"
-#~ msgstr "C4"
-
-#~ msgid "C4 Envelope"
-#~ msgstr "C4 gainazala"
-
-#~ msgid "C5"
-#~ msgstr "C5"
-
-#~ msgid "C5 Envelope"
-#~ msgstr "C5 gainazala"
-
-#~ msgid "C6"
-#~ msgstr "C6"
-
-#~ msgid "C6 Envelope"
-#~ msgstr "C6 gainazala"
-
-#~ msgid "C65 Envelope"
-#~ msgstr "C65 gainazala"
-
-#~ msgid "C7 Envelope"
-#~ msgstr "C7 gainazala"
-
-#~ msgid "Character set \"%s\" not supported!"
-#~ msgstr "\"%s\" karaktere-jokoa ez dago onartuta."
-
-#~ msgid "Chou3 Envelope"
-#~ msgstr "Chou3 gainazala"
-
-#~ msgid "Chou4 Envelope"
-#~ msgstr "Chou4 gainazala"
-
-#~ msgid ""
-#~ "Commands may be abbreviated.  Commands are:\n"
-#~ "\n"
-#~ "exit    help    quit    status  ?\n"
-#~ msgstr ""
-#~ "Komandoa laburtu daitezke. Hauek dira komandoak:\n"
-#~ "\n"
-#~ "exit    help    quit    status  ?\n"
-
-#~ msgid "Could not scan type \"%s\"!"
-#~ msgstr "Ezin izan da \"%s\" mota eskaneatu."
-
-#~ msgid "Cover open."
-#~ msgstr "Estalkia irekita."
-
-#~ msgid "DL"
-#~ msgstr "DL"
-
-#~ msgid "DL Envelope"
-#~ msgstr "DL gutunazala"
-
-#~ msgid "Developer almost empty."
-#~ msgstr "Errebelatzailea ia hutsik."
-
-#~ msgid "Developer empty!"
-#~ msgstr "Errebelatzailea hutsik!"
-
-#~ msgid ""
-#~ "Device: uri = %s\n"
-#~ "        class = %s\n"
-#~ "        info = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ "        location = %s\n"
-#~ msgstr ""
-#~ "Gailua: URIa = %s\n"
-#~ "        klasea = %s\n"
-#~ "        informazioa = %s\n"
-#~ "        marka eta modeloa = %s\n"
-#~ "        gailuaren IDa = %s\n"
-#~ "        kokalekua = %s\n"
-
-#~ msgid "Document %d not found in job %d."
-#~ msgstr "Ez da %d dokumentua aurkitu %d lanean."
-
-#~ msgid "Door open."
-#~ msgstr "Atea irekita."
-
-#~ msgid "Double Postcard"
-#~ msgstr "Postal bikoitza"
-
-#~ msgid "EMERG: Unable to allocate memory for page info: %s\n"
-#~ msgstr ""
-#~ "EMERG: ezin da memoriarik esleitu orrialdearen informazioarentzako: %s.\n"
-
-#~ msgid "EMERG: Unable to allocate memory for pages array: %s\n"
-#~ msgstr "EMERG: ezin da memoriarik esleitu orrialdeen arrayarentzako: %s.\n"
-
-#~ msgid "ERROR: %s job-id user title copies options [file]\n"
-#~ msgstr ""
-#~ "ERROR: %s job-id erabiltzailea titulua kopiak aukerak [fitxategia]\n"
-
-#~ msgid "ERROR: Bad %%BoundingBox: comment seen!\n"
-#~ msgstr "ERROR: %%BoundingBox: iruzkin okerra ikusi da\n"
-
-#~ msgid "ERROR: Bad %%IncludeFeature: comment!\n"
-#~ msgstr "ERROR: %%IncludeFeature: iruzkin okerra\n"
-
-#~ msgid "ERROR: Bad %%Page: comment in file!\n"
-#~ msgstr "ERROR: %%Page: iruzkin okerra fitxategian\n"
-
-#~ msgid "ERROR: Bad %%PageBoundingBox: comment in file!\n"
-#~ msgstr "ERROR: %%PageBoundingBox: iruzkin okerra fitxategian\n"
-
-#~ msgid "ERROR: Bad SCSI device file \"%s\"!\n"
-#~ msgstr "ERROR: SCSI gailuaren fitxategia okerra: \"%s\"\n"
-
-#~ msgid "ERROR: Bad charset file %s\n"
-#~ msgstr "ERROR: karaktere-jokoaren fitxategia okerra: %s\n"
-
-#~ msgid "ERROR: Bad charset type %s\n"
-#~ msgstr "ERROR: karaktere-jokoaren mota okerra: %s\n"
-
-#~ msgid "ERROR: Bad columns value %d!\n"
-#~ msgstr "ERROR: zutabeen balioa okerra: %d\n"
-
-#~ msgid "ERROR: Bad cpi value %f!\n"
-#~ msgstr "ERROR: cpi-ren balioa okerra: %f\n"
-
-#~ msgid "ERROR: Bad font description line: %s\n"
-#~ msgstr "ERROR: letra-deskripzioaren lerroa okerra: %s\n"
-
-#~ msgid "ERROR: Bad lpi value %f!\n"
-#~ msgstr "ERROR: lpi balioa okerra: %f\n"
-
-#~ msgid "ERROR: Bad page setup!\n"
-#~ msgstr "ERROR: orrialdearen konfigurazioa okerra\n"
-
-#~ msgid "ERROR: Bad text direction %s\n"
-#~ msgstr "ERROR: testuaren norabidea okerra: %s\n"
-
-#~ msgid "ERROR: Bad text width %s\n"
-#~ msgstr "ERROR: testuaren zabalera okerra: %s\n"
-
-#~ msgid "ERROR: Destination printer does not exist!\n"
-#~ msgstr "ERROR: helburuko inprimagailua ez da existitzen\n"
-
-#~ msgid "ERROR: Duplicate %%BoundingBox: comment seen!\n"
-#~ msgstr "ERROR: bikoiztutako %%BoundingBox: iruzkina ikusi da\n"
-
-#~ msgid "ERROR: Duplicate %%Pages: comment seen!\n"
-#~ msgstr "ERROR: bikoiztutako %%Pages: iruzkina ikusi da\n"
-
-#~ msgid "ERROR: Empty print file!\n"
-#~ msgstr "ERROR: inprimatzeko fitxategia hutsik dago.\n"
-
-#~ msgid "ERROR: Error %d sending PAPSendData request: %s\n"
-#~ msgstr "ERROR: %d errorea PAPSendData eskaera bidaltzean: %s\n"
-
-#~ msgid "ERROR: Expected quoted string on line %d of %s!\n"
-#~ msgstr "ERROR: komatxoen arteko katea espero zen %2$s(r)en %1$d lerroan\n"
-
-#~ msgid "ERROR: Fatal USB error!\n"
-#~ msgstr "ERROR: USBaren errore larria\n"
-
-#~ msgid "ERROR: Invalid HP-GL/2 command seen, unable to print file!\n"
-#~ msgstr ""
-#~ "ERROR: baliogabeko  HP-GL/2 komandoa ikusi da, ezin da fitxategia "
-#~ "inprimatu\n"
-
-#~ msgid "ERROR: Missing %%EndProlog!\n"
-#~ msgstr "ERROR: %%EndProlog falta da\n"
-
-#~ msgid "ERROR: Missing %%EndSetup!\n"
-#~ msgstr "ERROR: %%EndSetup falta da\n"
-
-#~ msgid ""
-#~ "ERROR: Missing device URI on command-line and no DEVICE_URI environment "
-#~ "variable!\n"
-#~ msgstr ""
-#~ "ERROR: gailuaren URIa falta da komando-lerroan eta ez dago inguruneko "
-#~ "DEVICE_URI aldagairik\n"
-
-#~ msgid "ERROR: Missing value on line %d of banner file!\n"
-#~ msgstr "ERROR: balioa falta da titularraren fitxategiko %d lerroan\n"
-
-#~ msgid ""
-#~ "ERROR: Need a msgid line before any translation strings on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ERROR: msgid lerro bat behar da itzulpeneko edozein kateren aurretik %d "
-#~ "lerroan %s(e)n\n"
-
-#~ msgid "ERROR: No %%BoundingBox: comment in header!\n"
-#~ msgstr "ERROR: ez dago %%BoundingBox: iruzkinik goiburuan\n"
-
-#~ msgid "ERROR: No %%Pages: comment in header!\n"
-#~ msgstr "ERROR: ez dago %%Pages: iruzkinik goiburuan\n"
-
-#~ msgid ""
-#~ "ERROR: No device URI found in argv[0] or in DEVICE_URI environment "
-#~ "variable!\n"
-#~ msgstr ""
-#~ "ERROR: ez da gailuaren URIrik aurkitu argv[0] argumentuan edo inguruneko "
-#~ "DEVICE_URI aldagaian\n"
-
-#~ msgid "ERROR: No fonts in charset file %s\n"
-#~ msgstr ""
-#~ "ERROR: ez da letra-tiporik aurkitu karaktere-jokoaren %s fitxategian\n"
-
-#~ msgid "ERROR: No pages found!\n"
-#~ msgstr "ERROR: ez dira orrialderik aurkitu\n"
-
-#~ msgid "ERROR: Out of paper!\n"
-#~ msgstr "ERROR: ez dago paperik\n"
-
-#~ msgid "ERROR: PRINTER environment variable not defined!\n"
-#~ msgstr "ERROR: inguruneko PRINTER aldagaia ez dago definituta\n"
-
-#~ msgid "ERROR: Print file was not accepted (%s)!\n"
-#~ msgstr "ERROR: inprimatzeko fitxategia ez da onartu (%s)\n"
-
-#~ msgid "ERROR: Printer not responding\n"
-#~ msgstr "ERROR: inprimagailuak ez du erantzuten\n"
-
-#~ msgid "ERROR: Printer not responding!\n"
-#~ msgstr "ERROR: inprimagailuak ez du erantzuten\n"
-
-#~ msgid "ERROR: Printer sent unexpected EOF\n"
-#~ msgstr "ERROR: inprimagailuak ustekabeko EOF bidali du\n"
-
-#~ msgid "ERROR: Remote host did not accept control file (%d)\n"
-#~ msgstr "ERROR: urruneko ostalariak ez du kontrol-fitxategia onartu (%d)\n"
-
-#~ msgid "ERROR: Remote host did not accept data file (%d)\n"
-#~ msgstr "ERROR: urruneko ostalariak ez du datuen fitxategia onartu (%d)\n"
-
-#~ msgid "ERROR: There was a timeout error while sending data to the printer\n"
-#~ msgstr "ERROR: denbora-muga gainditu da inprimagailura datuak bidaltzean\n"
-
-#~ msgid "ERROR: Unable to add file %d to job: %s\n"
-#~ msgstr "ERROR: ezin da %d fitxategia lanari gehitu: %s\n"
-
-#~ msgid "ERROR: Unable to cancel job %d: %s\n"
-#~ msgstr "ERROR: ezin da %d lana bertan behera utzi: %s\n"
-
-#~ msgid "ERROR: Unable to copy PDF file"
-#~ msgstr "ERROR: ezin da PDF fitxategia kopiatu"
-
-#~ msgid "ERROR: Unable to create pipe"
-#~ msgstr "ERROR: ezin da kanalizazioa sortu"
-
-#~ msgid "ERROR: Unable to create socket"
-#~ msgstr "ERROR: ezin da socket-a sortu"
-
-#~ msgid "ERROR: Unable to create temporary compressed print file: %s\n"
-#~ msgstr ""
-#~ "ERROR: ezin da aldi baterako inprimatzeko konprimitutako fitxategia "
-#~ "sortu: %s\n"
-
-#~ msgid "ERROR: Unable to create temporary file"
-#~ msgstr "ERROR: ezin da aldi baterako fitxategia sortu"
-
-#~ msgid "ERROR: Unable to exec pictwpstops: %s\n"
-#~ msgstr "ERROR: ezin da pictwpstops exekutatu: %s\n"
-
-#~ msgid "ERROR: Unable to execute gs program"
-#~ msgstr "ERROR: ezin da gs programa exekutatu"
-
-#~ msgid "ERROR: Unable to execute pdftops program"
-#~ msgstr "ERROR: ezin da pdftops programa exekutatu"
-
-#~ msgid "ERROR: Unable to execute pstops program"
-#~ msgstr "ERROR: ezin da pstops programa exekutatu"
-
-#~ msgid "ERROR: Unable to fork pictwpstops: %s\n"
-#~ msgstr "ERROR: ezin da pictwpstops sardetu: %s\n"
-
-#~ msgid "ERROR: Unable to get PAP request"
-#~ msgstr "ERROR: ezin da PAP eskaera lortu"
-
-#~ msgid "ERROR: Unable to get PAP response"
-#~ msgstr "ERROR: ezin da PAP erantzuna lortu"
-
-#~ msgid "ERROR: Unable to get PPD file for printer \"%s\" - %s.\n"
-#~ msgstr ""
-#~ "ERROR: ezin da \"%s\" - \"%s\" inprimagailuaren PPD fitxategia lortu.\n"
-
-#~ msgid "ERROR: Unable to get default AppleTalk zone"
-#~ msgstr "ERROR: ezin da AppleTalk zona lehenetsia lortu"
-
-#~ msgid "ERROR: Unable to get job %d attributes (%s)!\n"
-#~ msgstr "ERROR: ezin da %d lanaren atributurik lortu (%s)\n"
-
-#~ msgid "ERROR: Unable to get printer status (%s)!\n"
-#~ msgstr "ERROR: ezin da inprimagailuaren egoera lortu (%s)\n"
-
-#~ msgid "ERROR: Unable to locate printer '%s'!\n"
-#~ msgstr "ERROR: ezin da '%s' inprimagailua aurkitu\n"
-
-#~ msgid "ERROR: Unable to look for PAP response"
-#~ msgstr "ERROR: ezin da PAP erantzuna aurktitu"
-
-#~ msgid "ERROR: Unable to lookup AppleTalk printers"
-#~ msgstr "ERROR: ezin da AppleTalk inprimagailurik aurkitu"
-
-#~ msgid "ERROR: Unable to make AppleTalk address"
-#~ msgstr "ERROR: ezin da AppleTalk helbiderik sortu"
-
-#~ msgid "ERROR: Unable to open \"%s\" - %s\n"
-#~ msgstr "ERROR: ezin da \"%s\" - \"%s\" ireki\n"
-
-#~ msgid "ERROR: Unable to open %s: %s\n"
-#~ msgstr "ERROR: ezin da %s ireki: %s\n"
-
-#~ msgid "ERROR: Unable to open PPD file!\n"
-#~ msgstr "ERROR: ezin da PPD fitxategia ireki\n"
-
-#~ msgid "ERROR: Unable to open banner file \"%s\" - %s\n"
-#~ msgstr "ERROR: ezin da \"%s\" titularraren fitxategia ireki: %s\n"
-
-#~ msgid "ERROR: Unable to open device file \"%s\": %s\n"
-#~ msgstr "ERROR: ezin da \"%s\" gailuaren fitxategia ireki: %s\n"
-
-#~ msgid "ERROR: Unable to open file \"%s\" - %s\n"
-#~ msgstr "ERROR: ezin da \"%s\" fitxategia ireki: %s\n"
-
-#~ msgid "ERROR: Unable to open file \"%s\": %s\n"
-#~ msgstr "ERROR: ezin da \"%s\" fitxategia ireki: %s\n"
-
-#~ msgid "ERROR: Unable to open image file for printing!\n"
-#~ msgstr "ERROR: ezin da irudiaren fitxategia ireki inprimatzeko\n"
-
-#~ msgid "ERROR: Unable to open print file \"%s\": %s\n"
-#~ msgstr "ERROR: ezin da \"%s\" inprimatzeko fitxategia ireki: %s\n"
-
-#~ msgid "ERROR: Unable to open print file %s - %s\n"
-#~ msgstr "ERROR: ezin da %s inprimatzeko fitxategia ireki: %s\n"
-
-#~ msgid "ERROR: Unable to open print file %s: %s\n"
-#~ msgstr "ERROR: ezin da %s inprimatzeko fitxategia ireki: %s\n"
-
-#~ msgid "ERROR: Unable to open raster file - %s\n"
-#~ msgstr "ERROR: ezin da bilbearen fitxategia ireki: %s\n"
-
-#~ msgid "ERROR: Unable to open temporary compressed print file: %s\n"
-#~ msgstr ""
-#~ "ERROR: ezin da aldi baterako konprimitutako inprimatzeko fitxategia "
-#~ "ireki: %s\n"
-
-#~ msgid "ERROR: Unable to print %d text columns!\n"
-#~ msgstr "ERROR: ezin dira testuaren %d zutabe inprimatu\n"
-
-#~ msgid "ERROR: Unable to print %dx%d text page!\n"
-#~ msgstr "ERROR: ezin da %dx%d testu orrialde inprimatu\n"
-
-#~ msgid "ERROR: Unable to read print data"
-#~ msgstr "ERROR: ezin da inprimatzeko daturik irakurri"
-
-#~ msgid "ERROR: Unable to read print data!\n"
-#~ msgstr "ERROR: ezin da inprimatzeko daturik irakurri\n"
-
-#~ msgid "ERROR: Unable to reserve port"
-#~ msgstr "ERROR: ezin da ataka erreserbatu"
-
-#~ msgid "ERROR: Unable to seek to offset %ld in file - %s\n"
-#~ msgstr "ERROR: ezin da fitxategiko %ld posizioan kokatu: %s\n"
-
-#~ msgid "ERROR: Unable to seek to offset %lld in file - %s\n"
-#~ msgstr "ERROR: ezin da fitxategiko %lld posizioan kokatu: %s\n"
-
-#~ msgid "ERROR: Unable to send LPD command"
-#~ msgstr "ERROR: ezin da LPD komandoa bidali"
-
-#~ msgid "ERROR: Unable to send PAP tickle request"
-#~ msgstr "ERROR: ezin da PAP eskaera bidali"
-
-#~ msgid "ERROR: Unable to send initial PAP send data request"
-#~ msgstr "ERROR: ezin da PAPren hasierako datuak bidaltzeko eskaera bidali"
-
-#~ msgid "ERROR: Unable to send print data (%d)\n"
-#~ msgstr "ERROR: ezin da inprimatzeko daturik bidali (%d)\n"
-
-#~ msgid "ERROR: Unable to send print data!\n"
-#~ msgstr "ERROR: ezin da inprimatzeko daturik bidali\n"
-
-#~ msgid "ERROR: Unable to send print file to printer"
-#~ msgstr "ERROR: ezin da inprimatzeko fitxategia inprimagailura bidali"
-
-#~ msgid "ERROR: Unable to send trailing nul to printer"
-#~ msgstr "ERROR: ezin da NULL balioa bidali inprimagailura"
-
-#~ msgid "ERROR: Unable to wait for pictwpstops: %s\n"
-#~ msgstr "ERROR: ezin da pictwpstops-ren zain egon: %s\n"
-
-#~ msgid "ERROR: Unable to write %d bytes to \"%s\": %s\n"
-#~ msgstr "ERROR: ezin dira %d byte idatzi \"%s\"(e)n: %s\n"
-
-#~ msgid "ERROR: Unable to write %d bytes to printer!\n"
-#~ msgstr "ERROR: ezin dira %d byte idatzi inprimagailuan\n"
-
-#~ msgid "ERROR: Unable to write control file"
-#~ msgstr "ERROR: ezin da kontrol-fitxategia idatzi"
-
-#~ msgid "ERROR: Unable to write print data"
-#~ msgstr "ERROR: ezin da inprimatzeko daturik idatzi"
-
-#~ msgid "ERROR: Unable to write print data: %s\n"
-#~ msgstr "ERROR: ezin da inprimatzeko daturik idatzi: %s\n"
-
-#~ msgid "ERROR: Unable to write raster data to driver!\n"
-#~ msgstr "ERROR: ezin da bilbeko daturik idatzi kontrolatzailean\n"
-
-#~ msgid "ERROR: Unable to write to temporary file"
-#~ msgstr "ERROR: ezin da aldi baterako fitxategian idatzi"
-
-#~ msgid "ERROR: Unable to write uncompressed document data: %s\n"
-#~ msgstr "ERROR: ezin da deskonprimitutako dokumentuaren daturik idatzi: %s\n"
-
-#~ msgid "ERROR: Unexpected text on line %d of %s!\n"
-#~ msgstr "ERROR: ustekabeko testua %2$s fitxategiko %1$d lerroan\n"
-
-#~ msgid "ERROR: Unknown encryption option value \"%s\"!\n"
-#~ msgstr "ERROR: enkriptatzeko aukeraren \"%s\" balioa ezezaguna\n"
-
-#~ msgid "ERROR: Unknown file order \"%s\"\n"
-#~ msgstr "ERROR: \"%s\" fitxategiaren ordena ezezaguna\n"
-
-#~ msgid "ERROR: Unknown format character \"%c\"\n"
-#~ msgstr "ERROR: \"%c\" karakterearen formatua ezezaguna\n"
-
-#~ msgid "ERROR: Unknown message catalog format for \"%s\"!\n"
-#~ msgstr "ERROR: mezuaren katalogo-formatua ezezaguna \"%s\"(r)entzako\n"
-
-#~ msgid "ERROR: Unknown option \"%s\" with value \"%s\"!\n"
-#~ msgstr "ERROR: \"%s\" aukera ezezaguna \"%s\" balioarekin\n"
-
-#~ msgid "ERROR: Unknown print mode \"%s\"\n"
-#~ msgstr "ERROR: inprimatzeko \"%s\" modua ezezaguna\n"
-
-#~ msgid "ERROR: Unknown version option value \"%s\"!\n"
-#~ msgstr "ERROR: bertsioaren aukeraren \"%s\" balioa ezezaguna\n"
-
-#~ msgid "ERROR: Unsupported brightness value %s, using brightness=100!\n"
-#~ msgstr "ERROR: distiraren %s balioa onartu gabea. Distira=100 erabiltzen\n"
-
-#~ msgid "ERROR: Unsupported gamma value %s, using gamma=1000!\n"
-#~ msgstr "ERROR: gammaren %s balioa onartu gabea. Gamma=100 erabiltzen\n"
-
-#~ msgid "ERROR: Unsupported number-up value %d, using number-up=1!\n"
-#~ msgstr ""
-#~ "ERROR: number-up parametroaren %d balioa onartu gabea. number-up=1 "
-#~ "erabiltzen\n"
-
-#~ msgid ""
-#~ "ERROR: Unsupported number-up-layout value %s, using number-up-"
-#~ "layout=lrtb!\n"
-#~ msgstr ""
-#~ "ERROR: number-up-layout parametroaren %s balioa onartu gabea. number-up-"
-#~ "layout=1 erabiltzen\n"
-
-#~ msgid "ERROR: Unsupported page-border value %s, using page-border=none!\n"
-#~ msgstr ""
-#~ "ERROR: page-border parametroaren %s balioa onartu gabea. page-border=none "
-#~ "erabiltzen\n"
-
-#~ msgid "ERROR: doc_printf overflow (%d bytes) detected, aborting!\n"
-#~ msgstr ""
-#~ "ERROR: gainezkatutako doc_printf (%d byte) detektattua. Bertan behera "
-#~ "uzten\n"
-
-#~ msgid "ERROR: pictwpstops exited on signal %d!\n"
-#~ msgstr "ERROR: pictwpstops %d seinalearekin irten da\n"
-
-#~ msgid "ERROR: pictwpstops exited with status %d!\n"
-#~ msgstr "ERROR: pictwpstops %d egoerarekin irten da\n"
-
-#~ msgid ""
-#~ "ERROR: recoverable: Unable to connect to printer; will retry in 30 "
-#~ "seconds...\n"
-#~ msgstr ""
-#~ "ERROR: berreskura daiteke. Ezin da inprimagailuarekin konektatu. 30 "
-#~ "segundo barru saiatuko da berriro...\n"
-
-#~ msgid "ERROR: select() failed"
-#~ msgstr "ERROR: huts egin du select()-ek"
-
-#~ msgid "ERROR: unable to stat print file"
-#~ msgstr "ERROR: ezin da 'stat' exekutatu inprimatzeko fitxategiarentzako"
-
-#~ msgid "Empty PPD file!"
-#~ msgstr "PPD fitxategia hutsik dago."
-
-#~ msgid "Error: need hostname after '-h' option!\n"
-#~ msgstr "Errorea: ostalari-izena behar da '-h' aukeraren ondoren\n"
-
-#~ msgid "FAIL\n"
-#~ msgstr "HUTSEGITEA\n"
-
-#~ msgid ""
-#~ "File device URIs have been disabled! To enable, see the FileDevice "
-#~ "directive in \"%s/cupsd.conf\"."
-#~ msgstr ""
-#~ "Fitxategiaren gailuaren URIak desgaitu egin dira. Gaitzeko, ikus "
-#~ "FileDevice direktiba \"%s/cupsd.conf\" fitxategian."
-
-#~ msgid "Fuser temperature high!"
-#~ msgstr "Fuser-aren tenperatura altua."
-
-#~ msgid "Fuser temperature low!"
-#~ msgstr "Fuser-aren tenperatura baxua."
-
-#~ msgid "German FanFold"
-#~ msgstr "FanFold alemana"
-
-#~ msgid "German FanFold Legal"
-#~ msgstr "FanFold Legal alemana"
-
-#~ msgid "Got a printer-uri attribute but no job-id!"
-#~ msgstr "printer-uri atributua lortu da, baina ez job-id."
-
-#~ msgid "INFO: AppleTalk disabled in System Preferences\n"
-#~ msgstr "INFO: AppleTalk desgaituta sistemako hobespenetan\n"
-
-#~ msgid "INFO: AppleTalk disabled in System Preferences.\n"
-#~ msgstr "INFO: AppleTalk desgaituta sistemako hobespenetan.\n"
-
-#~ msgid "INFO: Canceling print job...\n"
-#~ msgstr "INFO: inprimatzeko lana bertan behera uzten...\n"
-
-#~ msgid "INFO: Connected to printer...\n"
-#~ msgstr "INFO: inprimagailura konektatuta...\n"
-
-#~ msgid "INFO: Connecting to printer...\n"
-#~ msgstr "INFO: inprimagailura konektatzen...\n"
-
-#~ msgid "INFO: Control file sent successfully\n"
-#~ msgstr "INFO: kontrol-fitxategia ongi bidali da\n"
-
-#~ msgid "INFO: Copying print data...\n"
-#~ msgstr "INFO: inprimatzeko datuak kopiatzen...\n"
-
-#~ msgid "INFO: Data file sent successfully\n"
-#~ msgstr "INFO: datuen fitxategia ongi bidali da\n"
-
-#~ msgid "INFO: Finished page %d...\n"
-#~ msgstr "INFO: %d orrialdea amaituta...\n"
-
-#~ msgid "INFO: Formatting page %d...\n"
-#~ msgstr "INFO: %d orrialdeari formatua ematen...\n"
-
-#~ msgid "INFO: Loading image file...\n"
-#~ msgstr "INFO: irudiaren fitxategia kargatzen...\n"
-
-#~ msgid "INFO: Looking for printer...\n"
-#~ msgstr "INFO: inprimagailua bilatzen...\n"
-
-#~ msgid "INFO: Opening connection\n"
-#~ msgstr "INFO: konexioa irekitzen\n"
-
-#~ msgid "INFO: Print file sent, waiting for printer to finish...\n"
-#~ msgstr ""
-#~ "INFO: inprimatzeko fitxategia bidalita, inprimagailuak amaitu zain...\n"
-
-#~ msgid "INFO: Printer busy; will retry in 10 seconds...\n"
-#~ msgstr "INFO: inprimagailua lanpetuta. 10 segundotan saiatu da berriro...\n"
-
-#~ msgid "INFO: Printer busy; will retry in 30 seconds...\n"
-#~ msgstr "INFO: inprimagailua lanpetuta. 30 segundotan saiatu da berriro...\n"
-
-#~ msgid "INFO: Printer busy; will retry in 5 seconds...\n"
-#~ msgstr "INFO: inprimagailua lanpetuta. 5 segundotan saiatu da berriro...\n"
-
-#~ msgid "INFO: Printer does not support IPP/%d.%d, trying IPP/1.0...\n"
-#~ msgstr ""
-#~ "INFO: inprimagailuak ez du IPP/%d.%d onartzen. Honekin saiatzen: "
-#~ "IPP/1.0...\n"
-
-#~ msgid "INFO: Printer is busy; will retry in 5 seconds...\n"
-#~ msgstr ""
-#~ "INFO: inprimagailua lanpetuta dago. 5 segundotan saiatu da berriro...\n"
-
-#~ msgid "INFO: Printer is currently off-line.\n"
-#~ msgstr "INFO: inprimagailua unean lineaz kanpo dago.\n"
-
-#~ msgid "INFO: Printer is currently offline.\n"
-#~ msgstr "INFO: inprimagailua unean linean dago.\n"
-
-#~ msgid "INFO: Printer is now online.\n"
-#~ msgstr "INFO: inprimagailua orain linean dago.\n"
-
-#~ msgid "INFO: Printer is offline.\n"
-#~ msgstr "INFO: inprimagailua lineaz kanpo dago.\n"
-
-#~ msgid "INFO: Printer not connected; will retry in 30 seconds...\n"
-#~ msgstr ""
-#~ "INFO: inprimagailua ez dago konektatuta. 30 segundo barru saiatuko da "
-#~ "berriro...\n"
-
-#~ msgid "INFO: Printing page %d, %d%% complete...\n"
-#~ msgstr "INFO: %d orrialdea inprimatzen. %% %d osatuta...\n"
-
-#~ msgid "INFO: Printing page %d...\n"
-#~ msgstr "INFO: %d orrialdea inprimatzen...\n"
-
-#~ msgid "INFO: Ready to print.\n"
-#~ msgstr "INFO: inprimatzeko prest.\n"
-
-#~ msgid "INFO: Sending control file (%lu bytes)\n"
-#~ msgstr "INFO: kontrol-fitxategia bidaltzen (%lu byte)\n"
-
-#~ msgid "INFO: Sending control file (%u bytes)\n"
-#~ msgstr "INFO: kontrol-fitxategia bidaltzen (%u byte)\n"
-
-#~ msgid "INFO: Sending data\n"
-#~ msgstr "INFO: datuen fitxategia bidaltzen\n"
-
-#~ msgid "INFO: Sending data file (%ld bytes)\n"
-#~ msgstr "INFO: datuen fitxategia bidaltzen (%ld byte)\n"
-
-#~ msgid "INFO: Sending data file (%lld bytes)\n"
-#~ msgstr "INFO: datuen fitxategia bidaltzen (%lld byte)\n"
-
-#~ msgid "INFO: Sending print data...\n"
-#~ msgstr "INFO: inprimatzeko datuak bidaltzen...\n"
-
-#~ msgid "INFO: Sent print file, %ld bytes...\n"
-#~ msgstr "INFO: inprimatzeko fitxategia bidalita, %ld byte...\n"
-
-#~ msgid "INFO: Sent print file, %lld bytes...\n"
-#~ msgstr "INFO: inprimatzeko fitxategia bidalita, %lld byte...\n"
-
-#~ msgid "INFO: Spooling LPR job, %.0f%% complete...\n"
-#~ msgstr "INFO: LPR lana ilaran jartzen. %% %.0f osatuta...\n"
-
-#~ msgid "INFO: Starting page %d...\n"
-#~ msgstr "INFO: %d orrialdea hasten...\n"
-
-#~ msgid ""
-#~ "INFO: Unable to contact printer, queuing on next printer in class...\n"
-#~ msgstr ""
-#~ "INFO: ezin da inprimagailuarekin kontaktatu, klaseko hurrengo "
-#~ "inprimagailuan ilaratzen...\n"
-
-#~ msgid "INFO: Using default AppleTalk zone \"%s\"\n"
-#~ msgstr "INFO: \"%s\" AppleTalk zona lehenetsia erabiltzen\n"
-
-#~ msgid "INFO: Waiting for job to complete...\n"
-#~ msgstr "INFO: lana osatzeko itxoiten...\n"
-
-#~ msgid "INFO: Waiting for printer to become available...\n"
-#~ msgstr "INFO: inprimagailua erabilgarri egon arte itxoiten...\n"
-
-#~ msgid "ISO B0"
-#~ msgstr "ISO B0"
-
-#~ msgid "ISO B1"
-#~ msgstr "ISO B1"
-
-#~ msgid "ISO B10"
-#~ msgstr "ISO B10"
-
-#~ msgid "ISO B2"
-#~ msgstr "ISO B2"
-
-#~ msgid "ISO B3"
-#~ msgstr "ISO B3"
-
-#~ msgid "ISO B4"
-#~ msgstr "ISO B4"
-
-#~ msgid "ISO B4 Envelope"
-#~ msgstr "ISO B4 gutunazala"
-
-#~ msgid "ISO B5"
-#~ msgstr "ISO B5"
-
-#~ msgid "ISO B5 (Oversize)"
-#~ msgstr "ISO B5 (handiagoa)"
-
-#~ msgid "ISO B5 Envelope"
-#~ msgstr "ISO B5 gutunazala"
-
-#~ msgid "ISO B6"
-#~ msgstr "ISO B6"
-
-#~ msgid "ISO B6 Envelope"
-#~ msgstr "ISO B6 gutunazala"
-
-#~ msgid "ISO B7"
-#~ msgstr "ISO B7"
-
-#~ msgid "ISO B8"
-#~ msgstr "ISO B8"
-
-#~ msgid "ISO B9"
-#~ msgstr "ISO B9"
-
-#~ msgid "Ink/toner almost empty."
-#~ msgstr "Tinta/Tonerra ia hutsik."
-
-#~ msgid "Ink/toner empty!"
-#~ msgstr "Tinta/Tonerra hutsik!"
-
-#~ msgid "Ink/toner waste bin almost full."
-#~ msgstr "Tinta/Tonerraren zakarrontzia ia beteta."
-
-#~ msgid "Ink/toner waste bin full!"
-#~ msgstr "Tinta/Tonerraren zakarrontzia beteta!"
-
-#~ msgid "Interlock open."
-#~ msgstr "Segurtasun-blokeoa irekita."
-
-#~ msgid "Invite Envelope"
-#~ msgstr "Gobidapeneko gutunazala"
-
-#~ msgid "Italian Envelope"
-#~ msgstr "Gutunazal italiarra"
-
-#~ msgid "Job #%d cannot be restarted - no files!"
-#~ msgstr "%d. lana ezin da berrabiatu. Ez dago fitxategirik."
-
-#~ msgid "Job #%d does not exist!"
-#~ msgstr "%d. lana ez da existitzen."
-
-#~ msgid "Job #%d is finished and cannot be altered!"
-#~ msgstr "%d. lana jadanik burututa dago, eta ezin da aldatu."
-
-#~ msgid "Job #%d is not complete!"
-#~ msgstr "%d. lana ez dago burututa."
-
-#~ msgid "Job #%d is not held for authentication!"
-#~ msgstr "%d. lana ez dago atxikituta autentifikatzeko."
-
-#~ msgid "Job #%d is not held!"
-#~ msgstr "%d. lana ez dago atxikituta."
-
-#~ msgid "Job #%s does not exist!"
-#~ msgstr "%s. lana ez da existitzen."
-
-#~ msgid "Job %d not found!"
-#~ msgstr "%d lana ez da aurkitu."
-
-#~ msgid "Job subscriptions cannot be renewed!"
-#~ msgstr "Lanaren harpidetzak ezin dira berritu."
-
-#~ msgid "Kaku2 Envelope"
-#~ msgstr "Kaku2 gutunazala"
-
-#~ msgid "Kaku3 Envelope"
-#~ msgstr "Kaku3 gutunazala"
-
-#~ msgid "Language \"%s\" not supported!"
-#~ msgstr "\"%s\" hizkuntza ez dago onartuta."
-
-#~ msgid "Media jam!"
-#~ msgstr "Paper gatazka!"
-
-#~ msgid "Media tray almost empty."
-#~ msgstr "Paperen erretilua is hutsik."
-
-#~ msgid "Media tray empty!"
-#~ msgstr "Paperen erretilua hutsik!"
-
-#~ msgid "Media tray missing!"
-#~ msgstr "Paperen erretilua falta da!"
-
-#~ msgid "Media tray needs to be filled."
-#~ msgstr "Paperen erretilua bete egin behar da."
-
-#~ msgid "Missing document-number attribute!"
-#~ msgstr "document-number atributua falta da."
-
-#~ msgid "Missing double quote on line %d!"
-#~ msgstr "Komatxo bikoitzak falta dira %d lerroan."
-
-#~ msgid "Missing form variable!"
-#~ msgstr "Inprimakiaren aldagaia falta da."
-
-#~ msgid "Missing notify-subscription-ids attribute!"
-#~ msgstr "notify-subscription-ids atributua falta da."
-
-#~ msgid "Missing requesting-user-name attribute!"
-#~ msgstr "requesting-user-name atributua falta da."
-
-#~ msgid "Missing required attributes!"
-#~ msgstr "Beharrezko atributuak falta dira."
-
-#~ msgid "Missing value on line %d!"
-#~ msgstr "Balioa falta da %d lerroan."
-
-#~ msgid ""
-#~ "Model:  name = %s\n"
-#~ "        natural_language = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ msgstr ""
-#~ "Modeloa: name = %s\n"
-#~ "        natural_language = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-
-#~ msgid "Monarch"
-#~ msgstr "Monarch"
-
-#~ msgid "Monarch Envelope"
-#~ msgstr "Monarch gutunazala"
-
-#~ msgid "NOTICE: Print file accepted - job ID %d.\n"
-#~ msgstr "NOTICE: inptimatzeko fitxategia onartuta - lanaren IDa: %d.\n"
-
-#~ msgid "NOTICE: Print file accepted - job ID unknown.\n"
-#~ msgstr ""
-#~ "NOTICE: inptimatzeko fitxategia onartuta - lanaren IDa: ezezaguna.\n"
-
-#~ msgid "No PPD name!"
-#~ msgstr "PPD izenik ez."
-
-#~ msgid "No Windows printer drivers are installed!"
-#~ msgstr "Ez daude Windows-eko inprimagailuen kontrolatzailerik instalatuta!"
-
-#~ msgid "No active jobs on %s!"
-#~ msgstr "Ez dago lan aktiborik %s(e)n."
-
-#~ msgid "No attributes in request!"
-#~ msgstr "Ez dago atributurik eskaeran."
-
-#~ msgid "No authentication information provided!"
-#~ msgstr "Ez da autentifikatzeko informaziorik eman."
-
-#~ msgid "No default printer"
-#~ msgstr "Ez dago inprimagailu lehenetsirik"
-
-#~ msgid "No file!?!"
-#~ msgstr "Fitxategirik ez?"
-
-#~ msgid "No modification time!"
-#~ msgstr "Ez dago aldaketa-ordurik."
-
-#~ msgid "No printer name!"
-#~ msgstr "Ez dago inprimagailuaren izenik."
-
-#~ msgid "No printer-uri found for class!"
-#~ msgstr "Ez da printer-uri aurkitu klasearentzako"
-
-#~ msgid "No printer-uri found!"
-#~ msgstr "Ez da printer-uri aurkitu."
-
-#~ msgid "No printer-uri in request!"
-#~ msgstr "Ez da printer-uri aurkitu eskaeran."
-
-#~ msgid "No subscription attributes in request!"
-#~ msgstr "Ez dago harpidetzako atributurik eskaeran."
-
-#~ msgid "OPC almost at end-of-life."
-#~ msgstr "OPCa ia agortuta."
-
-#~ msgid "OPC at end-of-life!"
-#~ msgstr "OPCa agortuta."
-
-#~ msgid "Out of toner!"
-#~ msgstr "Tonerra agortuta!"
-
-#~ msgid "Output bin almost full."
-#~ msgstr "Irteerako ontzia ia beteta."
-
-#~ msgid "Output bin full!"
-#~ msgstr "Irteerako ontzia beteta!"
-
-#~ msgid "Output for printer %s is sent to %s\n"
-#~ msgstr "%s inprimagailuarentzako irteera %s(e)ra bidalita\n"
-
-#~ msgid "Output for printer %s is sent to remote printer %s on %s\n"
-#~ msgstr ""
-#~ "%s inprimagailuarentzako irteera urruneko %s inprimagailura bidalita %s(e)"
-#~ "n\n"
-
-#~ msgid "Output for printer %s/%s is sent to %s\n"
-#~ msgstr "%s/%s inprimagailuarentzako irteera %s(e)ra bidalita\n"
-
-#~ msgid "Output for printer %s/%s is sent to remote printer %s on %s\n"
-#~ msgstr ""
-#~ "%s/%s inprimagailuarentzako irteera urruneko %s inprimagailura bidalita %s"
-#~ "(e)n\n"
-
-#~ msgid "Output tray missing!"
-#~ msgstr "Irteerako erretilua falta da."
-
-#~ msgid "PASS\n"
-#~ msgstr "BALIOZKOA\n"
-
-#~ msgid "PRC1 Envelope"
-#~ msgstr "PRC1 gutunazala"
-
-#~ msgid "PRC10 Envelope"
-#~ msgstr "PRC10 gutunazala"
-
-#~ msgid "PRC2 Envelope"
-#~ msgstr "PRC2 gutunazala"
-
-#~ msgid "PRC3 Envelope"
-#~ msgstr "PRC3 gutunazala"
-
-#~ msgid "PRC32K (Oversize)"
-#~ msgstr "PRC32K (handiagoa)"
-
-#~ msgid "PRC4 Envelope"
-#~ msgstr "PRC4 gutunazala"
-
-#~ msgid "PRC5 Envelope"
-#~ msgstr "PRC5 gutunazala"
-
-#~ msgid "PRC6 Envelope"
-#~ msgstr "PRC6 gutunazala"
-
-#~ msgid "PRC7 Envelope"
-#~ msgstr "PRC7 gutunazala"
-
-#~ msgid "PRC8 Envelope"
-#~ msgstr "PRC8 gutunazala"
-
-#~ msgid "PRC9 Envelope"
-#~ msgstr "PRC9 gutunazala"
-
-#~ msgid "Personal Envelope"
-#~ msgstr "Gutunazal pertsonala"
-
-#~ msgid "Printer offline."
-#~ msgstr "Inprimagailua lineaz kanpo."
-
-#~ msgid "Rank    Owner   Job     File(s)                         Total Size\n"
-#~ msgstr ""
-#~ "Errenk.    Jabea   Lana    Fitxategiak                    Tamaina osoa\n"
-
-#~ msgid ""
-#~ "Rank   Owner      Pri  Job        Files                       Total Size\n"
-#~ msgstr ""
-#~ "Errenk.   Jabea      Lehent. Lana        Fitxategiak           Tamaina "
-#~ "osoa\n"
-
-#~ msgid "Running command: %s %s -N -A %s -c '%s'\n"
-#~ msgstr "Komandoa exekutaten: %s %s -N -A %s -c '%s'\n"
-
-#~ msgid "SCSI Printer"
-#~ msgstr "SCSI inprimagailua"
-
-#~ msgid "Tabloid (Oversize)"
-#~ msgstr "Tabloidea (handiagoa)"
-
-#~ msgid "The notify-user-data value is too large (%d > 63 octets)!"
-#~ msgstr "notify-user-data balioa handiegia da (%d > 63 zortzikote)!"
-
-#~ msgid "The printer or class is not shared!"
-#~ msgstr "Inprimagailua edo klasea ez dago partekatuta."
-
-#~ msgid "The printer or class was not found."
-#~ msgstr "Inprimagailua edo klasea ez da aurkitu."
-
-#~ msgid "The printer-uri attribute is required!"
-#~ msgstr "printer-uri atributua behar da."
-
-#~ msgid "Toner low."
-#~ msgstr "Tonerra baxua."
-
-#~ msgid "Too many job-sheets values (%d > 2)!"
-#~ msgstr "job-sheets balio gehiegi (%d > 2)."
-
-#~ msgid "Too many printer-state-reasons values (%d > %d)!"
-#~ msgstr "printer-state-reasons balio gehiegi (%d > %d)."
-
-#~ msgid "US Executive"
-#~ msgstr "US exekutiboa"
-
-#~ msgid "US Fanfold"
-#~ msgstr "US Fanfold"
-
-#~ msgid "US Legal (Oversize)"
-#~ msgstr "US legala (handiagoa)"
-
-#~ msgid "US Letter (Oversize)"
-#~ msgstr "US gutuna (handiagoa)"
-
-#~ msgid "US Letter (Small)"
-#~ msgstr "US gutuna (txikia)"
-
-#~ msgid "Unable to add job for destination \"%s\"!"
-#~ msgstr "Ezin da lana gehitu \"%s\" helbururako."
-
-#~ msgid "Unable to allocate memory for file types!"
-#~ msgstr "Ezin da memoria esleitu fitxategi motentzako."
-
-#~ msgid "Unable to copy 64-bit CUPS printer driver files (%d)!"
-#~ msgstr ""
-#~ "Ezin dira 64 bit-eko CUPSeko inprimagailuen kontrolatzaileen fitxategiak "
-#~ "kopiatu (%d)."
-
-#~ msgid "Unable to copy 64-bit Windows printer driver files (%d)!"
-#~ msgstr ""
-#~ "Ezin dira 64 bit-eko Windows-eko inprimagailuen kontrolatzaileen "
-#~ "fitxategiak kopiatu (%d)."
-
-#~ msgid "Unable to copy CUPS printer driver files (%d)!"
-#~ msgstr ""
-#~ "Ezin dira CUPSeko inprimagailuen kontrolatzaileen fitxategiak kopiatu (%"
-#~ "d)."
-
-#~ msgid "Unable to copy PPD file - %s!"
-#~ msgstr "Ezin da PPD fitxategia kopiatu: %s."
-
-#~ msgid "Unable to copy PPD file!"
-#~ msgstr "Ezin da PPD fitxategia kopiatu."
-
-#~ msgid "Unable to copy Windows 2000 printer driver files (%d)!"
-#~ msgstr ""
-#~ "Ezin dira Windows 2000ko inprimagailuen kontrolatzaileen fitxategiak "
-#~ "kopiatu (%d)."
-
-#~ msgid "Unable to copy Windows 9x printer driver files (%d)!"
-#~ msgstr ""
-#~ "Ezin dira Windows 9x sistemako inprimagailuen kontrolatzaileen "
-#~ "fitxategiak kopiatu (%d)."
-
-#~ msgid "Unable to copy interface script - %s!"
-#~ msgstr "Ezin da interfazeko script-a kopiatu: %s."
-
-#~ msgid "Unable to create printer-uri!"
-#~ msgstr "Ezin da printer-uri sortu."
-
-#~ msgid "Unable to edit cupsd.conf files larger than 1MB!"
-#~ msgstr ""
-#~ "Ezin dira 1 MB baino handiagoak diren cupsd.conf fitxategiak editatu."
-
-#~ msgid "Unable to find destination for job!"
-#~ msgstr "Ezin da helburua aurkitu lanarentzako."
-
-#~ msgid "Unable to find printer!\n"
-#~ msgstr "Ezin da inprimagailua aurkitu.\n"
-
-#~ msgid "Unable to install Windows 2000 printer driver files (%d)!"
-#~ msgstr ""
-#~ "Ezin dira Windows 2000ko inprimagailuen kontrolatzaileen fitxategiak "
-#~ "instalatu (%d)."
-
-#~ msgid "Unable to install Windows 9x printer driver files (%d)!"
-#~ msgstr ""
-#~ "Ezin dira Windows 9x sistemako inprimagailuen kontrolatzaileen "
-#~ "fitxategiak instalatu (%d)."
-
-#~ msgid "Unable to open document %d in job %d!"
-#~ msgstr "Ezin da %d. dokumentua ireki %d. lanean."
-
-#~ msgid "Unable to run \"%s\": %s\n"
-#~ msgstr "Ezin da  \"%s\" exekutatu: %s\n"
-
-#~ msgid "Unable to send command to printer driver!"
-#~ msgstr "Ezin da komandoa bidali inprimagailuaren kontrolatzaileari."
-
-#~ msgid "Unable to set Windows printer driver (%d)!"
-#~ msgstr "Ezin da Windows-eko inprimagailuaren kontrolatzailea ezarri (%d)."
-
-#~ msgid "Unable to use legacy USB class driver!\n"
-#~ msgstr "Ezin da USB klaseko kontrolatzaile zaharkitua erabili.\n"
-
-#~ msgid "Unsupported character set \"%s\"!"
-#~ msgstr "Onartu gabeko \"%s\" karaktere-jokoa."
-
-#~ msgid "Unsupported compression \"%s\"!"
-#~ msgstr "Onartu gabeko \"%s\" konpresioa."
-
-#~ msgid "Unsupported compression attribute %s!"
-#~ msgstr "Onartu gabeko %s konpresio atributua."
-
-#~ msgid "Unsupported format \"%s\"!"
-#~ msgstr "Onartu gabeko \"%s\" formatua."
-
-#~ msgid "Unsupported format '%s'!"
-#~ msgstr "Onartu gabeko '%s' formatua."
-
-#~ msgid "Unsupported format '%s/%s'!"
-#~ msgstr "Onartu gabeko '%s/%s' formatua."
-
-#~ msgid ""
-#~ "Usage:\n"
-#~ "\n"
-#~ "    lpadmin [-h server] -d destination\n"
-#~ "    lpadmin [-h server] -x destination\n"
-#~ "    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m "
-#~ "model]\n"
-#~ "                       [-r remove-class] [-v device] [-D description]\n"
-#~ "                       [-P ppd-file] [-o name=value]\n"
-#~ "                       [-u allow:user,user] [-u deny:user,user]\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Erabilera:\n"
-#~ "\n"
-#~ "    lpadmin [-h zerbitzaria] -d helburua\n"
-#~ "    lpadmin [-h zerbitzaria] -x helburua\n"
-#~ "    lpadmin [-h zerbitzaria] -p inprimagailua [-c klasea_gehitzeko] [-i "
-#~ "interfazea] [-m modeloa]\n"
-#~ "                       [-r klasea_kentzeko] [-v gailua] [-D deskripzioa]\n"
-#~ "                       [-P ppd-fitxategia] [-o izena=balioa]\n"
-#~ "                       [-u allow:erabiltzailea,erabiltzailea] [-u deny:"
-#~ "erabiltzailea,erabiltzailea]\n"
-#~ "\n"
-
-#~ msgid "Usage: %s job user title copies options [filename]\n"
-#~ msgstr ""
-#~ "Erabilera: %s lana erabiltzailea titulua kopiak aukerak [fitxategi-"
-#~ "izena]\n"
-
-#~ msgid "Usage: %s job-id user title copies options [file]\n"
-#~ msgstr ""
-#~ "Erabilera: %s lanaren_IDa erabiltzailea titulua kopiak aukerak [fitxategi-"
-#~ "izena]\n"
-
-#~ msgid "Usage: %s job-id user title copies options file\n"
-#~ msgstr ""
-#~ "Erabilera: %s lanaren_IDa erabiltzailea titulua kopiak aukerak "
-#~ "fitxategia\n"
-
-#~ msgid ""
-#~ "Usage: convert [ options ]\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "  -e                   Use every filter from the PPD file\n"
-#~ "  -f filename          Set file to be converted (otherwise stdin)\n"
-#~ "  -o filename          Set file to be generated (otherwise stdout)\n"
-#~ "  -i mime/type         Set input MIME type (otherwise auto-typed)\n"
-#~ "  -j mime/type         Set output MIME type (otherwise application/pdf)\n"
-#~ "  -P filename.ppd      Set PPD file\n"
-#~ "  -a 'name=value ...'  Set option(s)\n"
-#~ "  -U username          Set username for job\n"
-#~ "  -J title             Set title\n"
-#~ "  -c copies            Set number of copies\n"
-#~ "  -u                   Remove the PPD file when finished\n"
-#~ "  -D                   Remove the input file when finished\n"
-#~ msgstr ""
-#~ "Erabilera: convert [ Aukerak ]\n"
-#~ "\n"
-#~ "Aukerak:\n"
-#~ "  -e                   Erabili PPD fitxategiko iragazki bakoitza\n"
-#~ "  -f fitxategi-izena          Ezarri fitxategia bihurtzeko (bestela "
-#~ "stdin)\n"
-#~ "  -o fitxategi-izena          Ezarri fitxategia sortzeko (bestela "
-#~ "stdout)\n"
-#~ "  -i mime/mota         Ezarri sarrerako MIME mota (bestela mota "
-#~ "automatikoa)\n"
-#~ "  -j mime/mota         Ezarri irteerako MIME mota (bestela application/"
-#~ "pdf)\n"
-#~ "  -P fitxategi-izena.ppd      Ezarri PPD fitxategia\n"
-#~ "  -a 'izena=balioa ...'  Ezarri aukerak\n"
-#~ "  -U erabiltzaile-izena          Ezarri lanaren erabiltzaile-izena\n"
-#~ "  -J titulua             Ezarri titulua\n"
-#~ "  -c kopiak            Ezarri kopia kopurua\n"
-#~ "  -u                   Kendu PPD fitxategia amaitutakoan\n"
-#~ "  -D                   Kendu sarrerako fitxategia amaitutakoan\n"
-
-#~ msgid ""
-#~ "Usage: cupsaddsmb [options] printer1 ... printerN\n"
-#~ "       cupsaddsmb [options] -a\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "  -E               Encrypt the connection to the server\n"
-#~ "  -H samba-server  Use the named SAMBA server\n"
-#~ "  -U samba-user    Authenticate using the named SAMBA user\n"
-#~ "  -a               Export all printers\n"
-#~ "  -h cups-server   Use the named CUPS server\n"
-#~ "  -v               Be verbose (show commands)\n"
-#~ msgstr ""
-#~ "Erabilera: cupsaddsmb [aukerak] inprimagailua1 ... inprimagailuaN\n"
-#~ "       cupsaddsmb [aukerak] -a\n"
-#~ "\n"
-#~ "Aukerak:\n"
-#~ "  -E               Enkriptatu zerbitzarirako konexioa\n"
-#~ "  -H samba-zerbitzaria  Erabili izendatutako SAMBA zerbitzaria\n"
-#~ "  -U samba-erabiltzailea    Autentifikatu izendatutako SAMBAko "
-#~ "erabiltzailea erabiliz\n"
-#~ "  -a               Esportatu inprimagailu guztiak\n"
-#~ "  -h cups-zerbitzaria   Erabili izendatutako CUPS zerbitzaria\n"
-#~ "  -v               Hitzez hitz (erakutsi komandoak)\n"
-
-#~ msgid ""
-#~ "Usage: cupsctl [options] [param=value ... paramN=valueN]\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -E                      Enable encryption\n"
-#~ "    -U username             Specify username\n"
-#~ "    -h server[:port]        Specify server address\n"
-#~ "\n"
-#~ "    --[no-]debug-logging    Turn debug logging on/off\n"
-#~ "    --[no-]remote-admin     Turn remote administration on/off\n"
-#~ "    --[no-]remote-any       Allow/prevent access from the Internet\n"
-#~ "    --[no-]remote-printers  Show/hide remote printers\n"
-#~ "    --[no-]share-printers   Turn printer sharing on/off\n"
-#~ "    --[no-]user-cancel-any  Allow/prevent users to cancel any job\n"
-#~ msgstr ""
-#~ "Erabilera: cupsctl [aukerak] [param=balioa ... paramN=balioaN]\n"
-#~ "\n"
-#~ "Aukerak:\n"
-#~ "\n"
-#~ "    -E                      Gaitu enkriptatzea\n"
-#~ "    -U erabiltzaile-izena             Zehaztu erabiltzaile-izena\n"
-#~ "    -h zerbitzaria[:ataka]        Zehaztu zerbitzariaren helbidea\n"
-#~ "\n"
-#~ "    --[no-]debug-logging    Txandakatu arazketaren erregistroak "
-#~ "aktibatzea/desaktibatzea\n"
-#~ "    --[no-]remote-admin     Txandakatu urruneko administrazioa aktibatzea/"
-#~ "desaktibatzea\n"
-#~ "    --[no-]remote-any       Baimendu/Saihestu atzitzea Internetetik\n"
-#~ "    --[no-]remote-printers  Erakutsi/Ezkutatu urruneko inprimagailuak\n"
-#~ "    --[no-]share-printers   Baimendu/Saihestu inprimagailua partekatzea\n"
-#~ "    --[no-]user-cancel-any  Baimendu/Saihestu erabiltzaileek edozer lan  "
-#~ "bertan behera uztea\n"
-
-#~ msgid ""
-#~ "Usage: cupsd [-c config-file] [-f] [-F] [-h] [-l]\n"
-#~ "\n"
-#~ "-c config-file      Load alternate configuration file\n"
-#~ "-f                  Run in the foreground\n"
-#~ "-F                  Run in the foreground but detach\n"
-#~ "-h                  Show this usage message\n"
-#~ "-l                  Run cupsd from launchd(8)\n"
-#~ msgstr ""
-#~ "Erabilera: cupsd [-c konfigurazio-fitxategia] [-f] [-F] [-h] [-l]\n"
-#~ "\n"
-#~ "-c konfigurazio-fitxategia      Kargatu konfigurazioko beste fitxategi "
-#~ "bat\n"
-#~ "-f                  Exekutatu aurreko planoan\n"
-#~ "-F                  Exekutatu aurreko planoan baina bereiztuta\n"
-#~ "-h                  Erakutsi erabileraren mezu hau\n"
-#~ "-l                  Exekutatu cupsd launchd(8)-etik\n"
-
-#~ msgid ""
-#~ "Usage: cupsfilter -m mime/type [ options ] filename\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "  -c cupsd.conf    Set cupsd.conf file to use\n"
-#~ "  -e               Use every filter from the PPD file\n"
-#~ "  -j job-id[,N]    Filter file N from the specified job (default is file "
-#~ "1)\n"
-#~ "  -n copies        Set number of copies\n"
-#~ "  -o name=value    Set option(s)\n"
-#~ "  -p filename.ppd  Set PPD file\n"
-#~ "  -t title         Set title\n"
-#~ msgstr ""
-#~ "Erabilera: cupsfilter -m mime/mota [ aukerak ] fitxategi-izena\n"
-#~ "\n"
-#~ "Aukerak:\n"
-#~ "\n"
-#~ "  -c cupsd.conf    Ezarri cupsd.conf fitxategia erabiltzeko\n"
-#~ "  -e               Erabili PPD fitxategiko iragazki bakoitza\n"
-#~ "  -j lanaren-id[,N]    Iragazi N fitxategia zehaztutako lanetik "
-#~ "(lehenetsia 1. fitxategia da)\n"
-#~ "  -n kopiak        Ezarri kopia kopurua\n"
-#~ "  -o izena=balioa    Ezarri aukerak\n"
-#~ "  -p fitxategi-izena.ppd  Ezarri PPD fitxategia\n"
-#~ "  -t titulua         Ezarri titulua\n"
-
-#~ msgid ""
-#~ "Usage: cupstestdsc [options] filename.ps [... filename.ps]\n"
-#~ "       cupstestdsc [options] -\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -h       Show program usage\n"
-#~ "\n"
-#~ "    Note: this program only validates the DSC comments, not the "
-#~ "PostScript itself.\n"
-#~ msgstr ""
-#~ "Erabilera: cupstestdsc [aukerak] fitxategi-izena.ps [... fitxategi-izena."
-#~ "ps]\n"
-#~ "       cupstestdsc [aukerak] -\n"
-#~ "\n"
-#~ "Aukerak:\n"
-#~ "\n"
-#~ "    -h       Erakutsi programaren erabilera\n"
-#~ "\n"
-#~ "    Oharra: programa honek DSC iruzkinak soilik balidatzen ditu, ez "
-#~ "PostScript bera.\n"
-
-#~ msgid ""
-#~ "Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]\n"
-#~ "       program | cupstestppd [options] -\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -R root-directory    Set alternate root\n"
-#~ "    -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,"
-#~ "translations}\n"
-#~ "                         Issue warnings instead of errors\n"
-#~ "    -q                   Run silently\n"
-#~ "    -r                   Use 'relaxed' open mode\n"
-#~ "    -v                   Be slightly verbose\n"
-#~ "    -vv                  Be very verbose\n"
-#~ msgstr ""
-#~ "Erabilera: cupstestppd [aukerak] fitxategia1.ppd[.gz] [... fitxategia.ppd"
-#~ "[.gz]]\n"
-#~ "       programa | cupstestppd [aukerak] -\n"
-#~ "\n"
-#~ "Aukerak:\n"
-#~ "\n"
-#~ "    -R erroko-direktorioa    Ezarri beste erro bat\n"
-#~ "    -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,"
-#~ "translations}\n"
-#~ "                         Igorri abisuak erroreen ordez\n"
-#~ "    -q                   Exekutatu isilean\n"
-#~ "    -r                   Erabili modu ireki 'lasaia'\n"
-#~ "    -v                   Erakutsi xehetasun piskatekoa\n"
-#~ "    -vv                  Xehetasun askokoa\n"
-
-#~ msgid "Usage: lpmove job/src dest\n"
-#~ msgstr "Erabilera: lpmove lana/iturria helburua\n"
-
-#~ msgid ""
-#~ "Usage: lpoptions [-h server] [-E] -d printer\n"
-#~ "       lpoptions [-h server] [-E] [-p printer] -l\n"
-#~ "       lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
-#~ "       lpoptions [-h server] [-E] -x printer\n"
-#~ msgstr ""
-#~ "Erabilera: lpoptions [-h zerbitzaria] [-E] -d inprimagailua\n"
-#~ "       lpoptions [-h zerbitzaria] [-E] [-p inprimagailua] -l\n"
-#~ "       lpoptions [-h zerbitzaria] [-E] -p inprimagailua -o aukera"
-#~ "[=balioa] ...\n"
-#~ "       lpoptions [-h zerbitzaria] [-E] -x inprimagailua\n"
-
-#~ msgid "Usage: lppasswd [-g groupname]\n"
-#~ msgstr "Erabilera: lppasswd [-g talde-izena]\n"
-
-#~ msgid ""
-#~ "Usage: lppasswd [-g groupname] [username]\n"
-#~ "       lppasswd [-g groupname] -a [username]\n"
-#~ "       lppasswd [-g groupname] -x [username]\n"
-#~ msgstr ""
-#~ "Erabilera: lppasswd [-g talde-izena] [erabiltzaile-izena]\n"
-#~ "       lppasswd [-g talde-izena] -a [erabiltzaile-izena]\n"
-#~ "       lppasswd [-g talde-izena] -x [erabiltzaile-izena]\n"
-
-#~ msgid ""
-#~ "Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]\n"
-#~ msgstr ""
-#~ "Erabilera: lpq [-P helb] [-U erab-izena] [-h ostalari-izena[:ataka]] [-l] "
-#~ "[+barrutia]\n"
-
-#~ msgid ""
-#~ "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]\n"
-#~ "Options:\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "  -I include-dir       Add include directory to search path.\n"
-#~ "  -c catalog.po        Load the specified message catalog.\n"
-#~ "  -d output-dir        Specify the output directory.\n"
-#~ "  -l lang[,lang,...]   Specify the output language(s) (locale).\n"
-#~ "  -m                   Use the ModelName value as the filename.\n"
-#~ "  -t                   Test PPDs instead of generating them.\n"
-#~ "  -v                   Be verbose (more v's for more verbosity).\n"
-#~ "  -z                   Compress PPD files using GNU zip.\n"
-#~ "  --cr                 End lines with CR (Mac OS 9).\n"
-#~ "  --crlf               End lines with CR + LF (Windows).\n"
-#~ "  --lf                 End lines with LF (UNIX/Linux/Mac OS X).\n"
-#~ msgstr ""
-#~ "Erabilera: ppdc [aukerak] fitxategia.drv [ ... fitxategiaN.drv ]\n"
-#~ "\n"
-#~ "Aukerak:\n"
-#~ "  -D izena=balioa        Ezarri izendatutako aldagaia balioarekin.\n"
-#~ "  -I include-dir       Gehitu include direktorioa bilaketako bide-"
-#~ "izenari.\n"
-#~ "  -c katalogoa.po        Kargatu zehaztutako mezuen katalogoa.\n"
-#~ "  -d irteerako-dir        Zehaztu irteerako direktorioa.\n"
-#~ "  -l hizk[,hizk,...]   Zehaztu irteerako hizkuntzak (lokalak).\n"
-#~ "  -m                   Erabili ModelName balioa fitxategi-izen gisa.\n"
-#~ "  -t                   Probatu PPDak, haiek sortu ordez.\n"
-#~ "  -v                   Hitzez hitz (zenbat eta 'v' gehiago, xehetasun "
-#~ "gehiago).\n"
-#~ "  -z                   Konprimitu PPD fitxategiak GNU zip erabiliz.\n"
-#~ "  --cr                 Amaitu lerroak CRrekin (Mac OS 9).\n"
-#~ "  --crlf               Amaitu lerroak CR + LFrekin (Windows).\n"
-#~ "  --lf                 Amaitu lerroak LFrekin (UNIX/Linux/Mac OS X).\n"
-
-#~ msgid ""
-#~ "Usage: ppdhtml [options] filename.drv >filename.html\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "Options:\n"
-#~ "  -I include-dir    Add include directory to search path.\n"
-#~ msgstr ""
-#~ "Erabilera: ppdhtml [aukerak] fitxategia.drv >fitxategia.html\n"
-#~ "  -D izena=balioa        Ezarri izendatutako aldagaia balioarekin.\n"
-#~ "Aukerak:\n"
-#~ "  -I include-dir       Gehitu include direktorioa bilaketako bide-"
-#~ "izenari.\n"
-
-#~ msgid ""
-#~ "Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Options:\n"
-#~ "  -I include-dir\n"
-#~ "  -o filename.drv\n"
-#~ msgstr ""
-#~ "Erabilera: ppdi [aukerak] fitxategia.ppd [ ... fitxategiaN.ppd ]\n"
-#~ "Aukerak:\n"
-#~ "  -I include-dir\n"
-#~ "  -o fitxategia.drv\n"
-
-#~ msgid ""
-#~ "Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Options:\n"
-#~ "  -o filename.ppd[.gz]\n"
-#~ msgstr ""
-#~ "Erabilera: ppdmerge [aukerak] fitxategia.ppd [ ... fitxategiaN.ppd ]\n"
-#~ "Aukerak:\n"
-#~ "  -o fitxategia.ppd[.gz]\n"
-
-#~ msgid ""
-#~ "Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]\n"
-#~ "Options:\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "  -I include-dir    Add include directory to search path.\n"
-#~ "  -v                Be verbose (more v's for more verbosity).\n"
-#~ msgstr ""
-#~ "Erabilera: ppdpo [aukerak] -o fitxategia.po fitxategia.drv [ ... "
-#~ "fitxategiaN.drv ]\n"
-#~ "Aukerak:\n"
-#~ "  -D izena=balioa        Ezarri izendatutako aldagaia balioarekin.\n"
-#~ "  -I include-dir       Gehitu include direktorioa bilaketako bide-"
-#~ "izenari.\n"
-#~ "  -v                   Hitzez hitz (zenbat eta 'v' gehiago, xehetasun "
-#~ "gehiago).\n"
-
-#~ msgid "Usage: snmp [host-or-ip-address]\n"
-#~ msgstr "Erabilera: snmp [ostalari-edo-ip-helbidea]\n"
-
-#~ msgid "WARNING: Adding only the first %d printers found"
-#~ msgstr "WARNING: aurkitutako aurreneko %d inprimagailu gehitzen"
-
-#~ msgid "WARNING: Boolean expected for waiteof option \"%s\"\n"
-#~ msgstr "WARNING: \"%s\" waitof aukeran boolear bat espero zen\n"
-
-#~ msgid "WARNING: Failed to read side-channel request!\n"
-#~ msgstr "WARNING: huts egin du albo-kanaleko eskaera irakurtzean\n"
-
-#~ msgid "WARNING: Option \"%s\" cannot be included via IncludeFeature!\n"
-#~ msgstr "WARNING: \"%s\" aukera ezin da sartu IncludeFeature bidez\n"
-
-#~ msgid "WARNING: Printer not responding\n"
-#~ msgstr "WARNING: inprimagailuak ez du erantzuten\n"
-
-#~ msgid "WARNING: Printer sent unexpected EOF\n"
-#~ msgstr "WARNING: inprimagailuak ustekabeko EOF bidali du\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with command status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: urruneko ostalariak ez du erantzun komandoaren egoeraren "
-#~ "bytearekin %d segundo ondoren\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with control status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: urruneko ostalariak ez du erantzun kotroleko egoeraren "
-#~ "bytearekin %d segundo ondoren\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with data status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: urruneko ostalariak ez du erantzun datuen egoeraren bytearekin %"
-#~ "d segundo ondoren\n"
-
-#~ msgid "WARNING: SCSI command timed out (%d); retrying...\n"
-#~ msgstr ""
-#~ "WARNING: SCSI komandoak denboraren muga gainditu du (%d). Berriro "
-#~ "saiatzen...\n"
-
-#~ msgid ""
-#~ "WARNING: This document does not conform to the Adobe Document Structuring "
-#~ "Conventions and may not print correctly!\n"
-#~ msgstr ""
-#~ "WARNING: dokumentu hau ez dator bat Abode Document Structuring "
-#~ "Conventions-eko zehaztapenekin, eta ez da ongi inprimatuko.\n"
-
-#~ msgid "WARNING: Unable to open \"%s:%s\": %s\n"
-#~ msgstr "WARNING: ezin da \"%s:%s\" ireki: %s\n"
-
-#~ msgid "WARNING: Unable to send PAP status request"
-#~ msgstr "WARNING: ezin da PAP egoeraren eskaera bidali"
-
-#~ msgid "WARNING: Unexpected PAP packet of type %d\n"
-#~ msgstr "WARNING: ustekabeko PAP paketea %d motakoa\n"
-
-#~ msgid "WARNING: Unknown PAP packet of type %d\n"
-#~ msgstr "WARNING: %d motako PAP pakete ezezaguna\n"
-
-#~ msgid "WARNING: Unknown choice \"%s\" for option \"%s\"!\n"
-#~ msgstr "WARNING: \"%s\" hautaketa ezezaguna \"%s\" aukeran\n"
-
-#~ msgid "WARNING: Unknown option \"%s\"!\n"
-#~ msgstr "WARNING: \"%s\" aukera ezezaguna\n"
-
-#~ msgid "WARNING: Unsupported baud rate %s!\n"
-#~ msgstr "WARNING: %s baudio-emaria onartu gabea\n"
-
-#~ msgid "WARNING: number expected for status option \"%s\"\n"
-#~ msgstr "WARNING: zenbakia espero en \"%s\" egoeraren aukeran\n"
-
-#~ msgid ""
-#~ "WARNING: recoverable: Network host '%s' is busy; will retry in %d "
-#~ "seconds...\n"
-#~ msgstr ""
-#~ "WARNING: berreskuratu daiteke. Sareko '%s' ostalaria lanpetuta dago. "
-#~ "Berriro saiatuko da %d segundo barru...\n"
-
-#~ msgid "Warning, no Windows 2000 printer drivers are installed!"
-#~ msgstr ""
-#~ "Abisua, ez dago Windows 2000 sistemako inprimagailuen kontrolatzailerik "
-#~ "instalatuta."
-
-#~ msgid "You4 Envelope"
-#~ msgstr "You4 gutunazala"
-
-#~ msgid "convert: Use the -f option to specify a file to convert.\n"
-#~ msgstr ""
-#~ "convert: erabili -f aukera bihurtzea nahi den fitxategia zehazteko.\n"
-
-#~ msgid "cupsaddsmb: No PPD file for printer \"%s\" - %s\n"
-#~ msgstr ""
-#~ "cupsaddsmb: ez dago PPD fitxategirik \"%s\" inprimagailuarentzako:  %s\n"
-
-#~ msgid "cupsctl: Unable to connect to server: %s\n"
-#~ msgstr "cupsctl: ezin da zerbitzariarekin konektatu: %s\n"
-
-#~ msgid "cupsctl: Unknown option \"%s\"!\n"
-#~ msgstr "cupsctl: \"%s\" aukera ezezaguna.\n"
-
-#~ msgid "cupsctl: Unknown option \"-%c\"!\n"
-#~ msgstr "cupsctl: \"-%c\" aukera ezezaguna.\n"
-
-#~ msgid "cupsd: Expected config filename after \"-c\" option!\n"
-#~ msgstr ""
-#~ "cupsd: konfigurazioko fitxategia espero zen \"-c\" aukeraren ondoren.\n"
-
-#~ msgid "cupsd: Unable to get current directory!\n"
-#~ msgstr "cupsd: ezin da uneko direktorioa lortu.\n"
-
-#~ msgid "cupsd: Unknown argument \"%s\" - aborting!\n"
-#~ msgstr "cupsd: \"%s\" argumentu ezezaguna. Abortatzen.\n"
-
-#~ msgid "cupsd: Unknown option \"%c\" - aborting!\n"
-#~ msgstr "cupsd: \"%c\" aukera ezezaguna. Abortatzen.\n"
-
-#~ msgid "cupsd: launchd(8) support not compiled in, running in normal mode.\n"
-#~ msgstr ""
-#~ "cupsd: ez da launchd(8) euskarriarekin konpilatu. Modu arruntean "
-#~ "exekutatzen.\n"
-
-#~ msgid "cupsfilter: Invalid document number %d!\n"
-#~ msgstr "cupsfilter: baliogabeko %d dokumentu-zenbakia.\n"
-
-#~ msgid "cupsfilter: Invalid job ID %d!\n"
-#~ msgstr "cupsfilter: baliogabeko %d lanaren IDa.\n"
-
-#~ msgid "cupsfilter: Only one filename can be specified!\n"
-#~ msgstr "cupsfilter: fitxategi-izen bakarra soilik zehaztu daiteke.\n"
-
-#~ msgid "cupsfilter: Unable to get job file - %s\n"
-#~ msgstr "cupsfilter: ezin da lanaren fitxategia lortu: %s\n"
-
-#~ msgid "cupstestppd: The -q option is incompatible with the -v option.\n"
-#~ msgstr "cupstestppd: -q aukera ez da bateragarria -v aukerarekin.\n"
-
-#~ msgid "cupstestppd: The -v option is incompatible with the -q option.\n"
-#~ msgstr "cupstestppd: -v aukera ez da bateragarria -q aukerarekin.\n"
-
-#~ msgid "device for %s/%s: %s\n"
-#~ msgstr "%s/%s(r)en gailua: %s\n"
-
-#~ msgid "device for %s: %s\n"
-#~ msgstr "%s(r)en gailua: %s\n"
-
-#~ msgid "help\t\tget help on commands\n"
-#~ msgstr "help\t\tkomandoei buruzko laguntza eskaintzen du\n"
-
-#~ msgid "job-printer-uri attribute missing!"
-#~ msgstr "job-printer-uri atributua falta da."
-
-#~ msgid "lpadmin: Class name can only contain printable characters!\n"
-#~ msgstr ""
-#~ "lpadmin: klasearen izenak karaktere inprimagarriak soilik eduki ditzake.\n"
-
-#~ msgid "lpadmin: Expected PPD after '-P' option!\n"
-#~ msgstr "lpadmin: PPDa espero zen '-P' aukeraren ondoren.\n"
-
-#~ msgid "lpadmin: Expected allow/deny:userlist after '-u' option!\n"
-#~ msgstr ""
-#~ "lpadmin: Expected alerabiltzaile-zerrenda espero zen st afaukeraren "
-#~ "ondoren.\n"
-#~ "option!\n"
-
-#~ msgid "lpadmin: Expected class after '-r' option!\n"
-#~ msgstr "lpadmin: klasea espero zen '-r' aukeraren ondoren.\n"
-
-#~ msgid "lpadmin: Expected class name after '-c' option!\n"
-#~ msgstr "lpadmin: klasearen izena espero zen '-c' aukeraren ondoren.\n"
-
-#~ msgid "lpadmin: Expected description after '-D' option!\n"
-#~ msgstr "lpadmin: deskripzioa espero zen '-D' aukeraren ondoren.\n"
-
-#~ msgid "lpadmin: Expected device URI after '-v' option!\n"
-#~ msgstr "lpadmin: gailuaren URIa espero zen '-v' aukeraren ondoren.\n"
-
-#~ msgid "lpadmin: Expected file type(s) after '-I' option!\n"
-#~ msgstr "lpadmin: fitxategi motak espero ziren '-I' aukeraren ondoren.\n"
-
-#~ msgid "lpadmin: Expected hostname after '-h' option!\n"
-#~ msgstr "lpadmin: ostalari-izena espero zen '-h' aukeraren ondoren.\n"
-
-#~ msgid "lpadmin: Expected interface after '-i' option!\n"
-#~ msgstr "lpadmin: interfazea espero zen '-i' aukeraren ondoren.\n"
-
-#~ msgid "lpadmin: Expected location after '-L' option!\n"
-#~ msgstr "lpadmin: kokalekua espero zen '-L' aukeraren ondoren.\n"
-
-#~ msgid "lpadmin: Expected model after '-m' option!\n"
-#~ msgstr "lpadmin: modeloa espero zen '-m' aukeraren ondoren.\n"
-
-#~ msgid "lpadmin: Expected name=value after '-o' option!\n"
-#~ msgstr "lpadmin: izena=balioa espero zen '-o' aukeraren ondoren.\n"
-
-#~ msgid "lpadmin: Expected printer after '-p' option!\n"
-#~ msgstr "lpadmin: inprimagailua espero zen '-p' aukeraren ondoren.\n"
-
-#~ msgid "lpadmin: Expected printer name after '-d' option!\n"
-#~ msgstr ""
-#~ "lpadmin: inprimagailuaren izena espero zen '-d' aukeraren ondoren.\n"
-
-#~ msgid "lpadmin: Expected printer or class after '-x' option!\n"
-#~ msgstr ""
-#~ "lpadmin: inprimagailua edo klasea espero zen '-x' aukeraren ondoren.\n"
-
-#~ msgid "lpadmin: No member names were seen!\n"
-#~ msgstr "lpadmin: ez da kideen izenik ikusi.\n"
-
-#~ msgid "lpadmin: Printer %s is already a member of class %s.\n"
-#~ msgstr "lpadmin: %s inprimagailua jadanik %s klasearen kidea da.\n"
-
-#~ msgid "lpadmin: Printer %s is not a member of class %s.\n"
-#~ msgstr "lpadmin: %s inprimagailua ez da %s klaseko kidea.\n"
-
-#~ msgid "lpadmin: Printer name can only contain printable characters!\n"
-#~ msgstr ""
-#~ "lpadmin: inprimagailuaren izenak karaktere inprimagarriak soilik eduki "
-#~ "ditzake.\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to add a printer to the class:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: ezin da inprimagailua klaseari gehitu:\n"
-#~ "         Aurrenik inprimagailuaren izena zehaztu behar duzu.\n"
-
-#~ msgid "lpadmin: Unable to connect to server: %s\n"
-#~ msgstr "lpadmin: ezin da zerbitzariarekin konektatu: %s\n"
-
-#~ msgid "lpadmin: Unable to open PPD file \"%s\" - %s\n"
-#~ msgstr "lpadmin: ezin da \"%s\" PPD fitxategia ireki: %s\n"
-
-#~ msgid "lpadmin: Unable to open file \"%s\": %s\n"
-#~ msgstr "lpadmin: ezin da \"%s\" fitxategia ireki: %s\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to remove a printer from the class:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: ezin da inprimagailua klasetik kendu:\n"
-#~ "         Aurrenik inprimagailuaren izena zehaztu behar duzu.\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the PPD file:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: ezin da PPD fitxategia ezarri:\n"
-#~ "         Aurrenik inprimagailuaren izena zehaztu behar duzu.\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the device URI:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: ezin da gailuaren URIa ezarri:\n"
-#~ "         Aurrenik inprimagailuaren izena zehaztu behar duzu.\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the interface script or PPD file:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: ezin da interfazearen script-a edo PPD fitxategia ezarri:\n"
-#~ "         Aurrenik inprimagailuaren izena zehaztu behar duzu.\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the interface script:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: ezin da interfazearen script-a ezarri:\n"
-#~ "         Aurrenik inprimagailuaren izena zehaztu behar duzu.\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer description:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: ezin da inprimagailuaren deskripzioa ezarri:\n"
-#~ "         Aurrenik inprimagailuaren izena zehaztu behar duzu.\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer location:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: ezin da inprimagailuaren kokalekua ezarri:\n"
-#~ "         Aurrenik inprimagailuaren izena zehaztu behar duzu.\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer options:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: ezin dira inprimagailuaren aukerak ezarri:\n"
-#~ "         Aurrenik inprimagailuaren izena zehaztu behar duzu.\n"
-
-#~ msgid "lpadmin: Unknown allow/deny option \"%s\"!\n"
-#~ msgstr "lpadmin: \"%s\" allow/deny aukera ezezaguna.\n"
-
-#~ msgid "lpadmin: Unknown argument '%s'!\n"
-#~ msgstr "lpadmin: '%s' argumentu ezezaguna.\n"
-
-#~ msgid "lpadmin: Unknown option '%c'!\n"
-#~ msgstr "lpadmin: '%c' aukera ezezaguna.\n"
-
-#~ msgid "lpadmin: Warning - content type list ignored!\n"
-#~ msgstr "lpadmin: abisua - edukiaren moten zerrendari ezikusi egin zaio.\n"
-
-#~ msgid "lpinfo: Expected 1284 device ID string after --device-id!\n"
-#~ msgstr ""
-#~ "lpinfo: 1284 gailuaren IDaren katea espero zen --device-id aukeraren "
-#~ "ondoren.\n"
-
-#~ msgid "lpinfo: Expected language after --language!\n"
-#~ msgstr "lpinfo: hizkuntza espero zen --language aukeraren ondoren.\n"
-
-#~ msgid "lpinfo: Expected make and model after --make-and-model!\n"
-#~ msgstr ""
-#~ "lpinfo: marka eta modeloa espero ziren --make-and-model aukeraren "
-#~ "ondoren.\n"
-
-#~ msgid "lpinfo: Expected product string after --product!\n"
-#~ msgstr ""
-#~ "lpinfo: produktuaren katea espero zen --product aukeraren ondoren.\n"
-
-#~ msgid "lpinfo: Expected scheme list after --exclude-schemes!\n"
-#~ msgstr ""
-#~ "lpinfo: eskemen zerrenda espero zen --exclude-schemes aukeraren ondoren.\n"
-
-#~ msgid "lpinfo: Expected scheme list after --include-schemes!\n"
-#~ msgstr ""
-#~ "lpinfo: eskemen zerrenda espero zen --include-schemes aukeraren ondoren.\n"
-
-#~ msgid "lpinfo: Expected timeout after --timeout!\n"
-#~ msgstr "lpinfo: denbora-muga espero zen --timeout aukeraren ondoren.\n"
-
-#~ msgid "lpinfo: Unknown argument '%s'!\n"
-#~ msgstr "lpinfo: '%s' argumentu ezezaguna.\n"
-
-#~ msgid "lpinfo: Unknown option '%c'!\n"
-#~ msgstr "lpinfo: '%c' aukera ezezaguna.\n"
-
-#~ msgid "lpinfo: Unknown option '%s'!\n"
-#~ msgstr "lpinfo: '%s' aukera ezezaguna.\n"
-
-#~ msgid "lpmove: Unable to connect to server: %s\n"
-#~ msgstr "lpmove: ezin da zerbitzariarekin konektatu: %s\n"
-
-#~ msgid "lpmove: Unknown argument '%s'!\n"
-#~ msgstr "lpmove: '%s' argumentu ezezaguna.\n"
-
-#~ msgid "lpmove: Unknown option '%c'!\n"
-#~ msgstr "lpmove: '%c' aukera ezezaguna.\n"
-
-#~ msgid "lpoptions: No printers!?!\n"
-#~ msgstr "lpoptions: inprimagailurik ez?\n"
-
-#~ msgid "lpoptions: Unable to add printer or instance: %s\n"
-#~ msgstr "lpoptions: ezin da inprimagailua edo instantzia gehitu: %s\n"
-
-#~ msgid "lpoptions: Unable to get PPD file for %s: %s\n"
-#~ msgstr ""
-#~ "lpoptions: ezin da PPD fitxategia lortu %s inprimagailuarentzako: %s\n"
-
-#~ msgid "lpoptions: Unable to open PPD file for %s!\n"
-#~ msgstr "lpoptions: ezin da PPD fitxategia ireki %s(r)entzako.\n"
-
-#~ msgid "lpoptions: Unknown printer or class!\n"
-#~ msgstr "lpoptions: inprimagailua edo klasea ezezaguna.\n"
-
-#~ msgid "lppasswd: Only root can add or delete passwords!\n"
-#~ msgstr ""
-#~ "lppasswd: supererabiltzaileak (root) soilik gehitu edo ezabatu ditzake "
-#~ "pasahitzak.\n"
-
-#~ msgid "lppasswd: Password file busy!\n"
-#~ msgstr "lppasswd: pasahitzen fitxategia lanpetuta.\n"
-
-#~ msgid "lppasswd: Password file not updated!\n"
-#~ msgstr "lppasswd: pasahitzen fitxategia ez da eguneratu.\n"
-
-#~ msgid "lppasswd: Sorry, password doesn't match!\n"
-#~ msgstr "lppasswd: pasahitzak ez dira berdinak.\n"
-
-#~ msgid ""
-#~ "lppasswd: Sorry, password rejected.\n"
-#~ "Your password must be at least 6 characters long, cannot contain\n"
-#~ "your username, and must contain at least one letter and number.\n"
-#~ msgstr ""
-#~ "lppasswd: pasahitza ukatu da.\n"
-#~ "Zure pasahitzak gutxiene 6 karaktere izan behar ditu, ezin du\n"
-#~ "zure erabiltzaile-izenik eduki, eta gutxienez hizki bat eta zenbaki bat "
-#~ "eduki behar du.\n"
-
-#~ msgid "lppasswd: Sorry, passwords don't match!\n"
-#~ msgstr "lppasswd: pasahitzak ez datoz bat.\n"
-
-#~ msgid "lppasswd: Unable to copy password string: %s\n"
-#~ msgstr "lppasswd: ezin da pasahitzaren katea kopiatu: %s\n"
-
-#~ msgid "lppasswd: Unable to open password file: %s\n"
-#~ msgstr "lppasswd: ezin da pasahitzen fitxategia ireki: %s\n"
-
-#~ msgid "lppasswd: Unable to write to password file: %s\n"
-#~ msgstr "lppasswd: ezin da pasahitzen fitxategian idatzi: %s\n"
-
-#~ msgid "lppasswd: failed to backup old password file: %s\n"
-#~ msgstr ""
-#~ "lppasswd: huts egin du pasahitzen fitxategi zaharraren babeskopia "
-#~ "egitean: %s\n"
-
-#~ msgid "lppasswd: failed to rename password file: %s\n"
-#~ msgstr "lppasswd: huts egin du pasahitzen fitxategia izenez aldatzean: %s\n"
-
-#~ msgid "lppasswd: user \"%s\" and group \"%s\" do not exist.\n"
-#~ msgstr ""
-#~ "lppasswd: \"%s\" erabiltzailea eta \"%s\" taldea ez dira existitzen.\n"
-
-#~ msgid ""
-#~ "lpstat: error - %s environment variable names non-existent destination \"%"
-#~ "s\"!\n"
-#~ msgstr ""
-#~ "lpstat: errorea . Inguruneko %s aldagaiak existitzen ez den \"%s\" "
-#~ "helburua izendatzen du.\n"
-
-#~ msgid "members of class %s:\n"
-#~ msgstr "%s klasearen kideak:\n"
-
-#~ msgid "no entries\n"
-#~ msgstr "sarrerarik ez\n"
-
-#~ msgid "no system default destination\n"
-#~ msgstr "ez dago sistemako helburu lehenetsirik.\n"
-
-#~ msgid "notify-events not specified!"
-#~ msgstr "notify-events ez da zehaztu."
-
-#~ msgid "notify-recipient-uri URI \"%s\" is already used!"
-#~ msgstr "\"%s\" notify-recipient-uri URIa jadanik erabilita dago."
-
-#~ msgid "notify-recipient-uri URI \"%s\" uses unknown scheme!"
-#~ msgstr "\"%s\" notify-recipient-uri URIak eskema ezezaguna darabil."
-
-#~ msgid "notify-subscription-id %d no good!"
-#~ msgstr "%d notify-subscription-id ez da ona."
-
-#~ msgid "ppdc: Adding include directory \"%s\"...\n"
-#~ msgstr "ppdc: \"%s\" include direktorioa gehitzen...\n"
-
-#~ msgid "ppdc: Adding/updating UI text from %s...\n"
-#~ msgstr "ppdc: UIaren testua gehitzen/eguneratzen %s(e)tik...\n"
-
-#~ msgid "ppdc: Bad boolean value (%s) on line %d of %s.\n"
-#~ msgstr "ppdc: okerreko balio boolearra (%s) %d lerroan of(e)n %s.\n"
-
-#~ msgid "ppdc: Bad resolution name \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: okerreko \"%s\" bereizmen izena%d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Bad status keyword %s on line %d of %s!\n"
-#~ msgstr "ppdc: okerreko %s egoeraren gako-hitza %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Bad variable substitution ($%c) on line %d of %s.\n"
-#~ msgstr "ppdc: okerreko aldagaien ordezkaketa ($%c) %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Choice found on line %d of %s with no Option!\n"
-#~ msgstr "ppdc: hautaketa aurkituta %d lerroan aukerarik gabeko %s(e)n.\n"
-
-#~ msgid "ppdc: Duplicate #po for locale %s on line %d of %s!\n"
-#~ msgstr "ppdc: %s lokalaren #po-a bikoiztua %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Expected a filter definition on line %d of %s!\n"
-#~ msgstr "ppdc: iragazkiaren definizioa espero zen %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Expected a program name on line %d of %s!\n"
-#~ msgstr "ppdc: programaren izena espero zen %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Expected boolean value on line %d of %s.\n"
-#~ msgstr "ppdc: balio boolearra espero zen %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Expected charset after Font on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: karaktere-jokoa espero zen Font-en ondoren %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Expected choice code on line %d of %s.\n"
-#~ msgstr "ppdc: hautaketaren kodea espero zen %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Expected choice name/text on line %d of %s.\n"
-#~ msgstr "ppdc: hautaketaren izena/tesua espero zen %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Expected color order for ColorModel on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: koloreen ordena espero zen ColorModel-entzako %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Expected colorspace for ColorModel on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: kolore-espazioa espero zen ColorModel-entzako  %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Expected compression for ColorModel on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: konpresioa espero zen ColorModel-entzako  %d lerroan %s(e)n.\n"
-
-#~ msgid ""
-#~ "ppdc: Expected constraints string for UIConstraints on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: murriztapenen katea espero zen UIConstraints-entzako %d lerroan %s"
-#~ "(e)n.\n"
-
-#~ msgid ""
-#~ "ppdc: Expected driver type keyword following DriverType on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc: kontrolatzaile motaren gako-hitza espero zen DriverType-ren ondoren "
-#~ "%d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Expected duplex type after Duplex on line %d of %s!\n"
-#~ msgstr "ppdc: duplex mota espero zen Duplex-en ondoren %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Expected encoding after Font on line %d of %s!\n"
-#~ msgstr "ppdc: kodeketa espero zen Font-en ondoren %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Expected filename after #po %s on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: fitxategi-izena espero zen %s #po ondoren %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Expected group name/text on line %d of %s!\n"
-#~ msgstr "ppdc: taldearen izena/testua espero zen %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Expected include filename on line %d of %s!\n"
-#~ msgstr "ppdc: include fitxategi-izena espero zen %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Expected integer on line %d of %s!\n"
-#~ msgstr "ppdc: osoko zenbakia espero zen %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Expected locale after #po on line %d of %s!\n"
-#~ msgstr "ppdc: lokala espero zen espero zen #po ondoren %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Expected name after %s on line %d of %s!\n"
-#~ msgstr "ppdc: izena espero zen %s(rÇ)en ondoren %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Expected name after FileName on line %d of %s!\n"
-#~ msgstr "ppdc: izena espero zen FileName ondoren %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Expected name after Font on line %d of %s!\n"
-#~ msgstr "ppdc: izena espero zen Font ondoren %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Expected name after Manufacturer on line %d of %s!\n"
-#~ msgstr "ppdc: izena espero zen Manufacturer ondoren %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Expected name after MediaSize on line %d of %s!\n"
-#~ msgstr "ppdc: izena espero zen MediaSize ondoren %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Expected name after ModelName on line %d of %s!\n"
-#~ msgstr "ppdc: izena espero zen ModelName ondoren %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Expected name after PCFileName on line %d of %s!\n"
-#~ msgstr "ppdc: izena espero zen PCFileName ondoren %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Expected name/text after %s on line %d of %s!\n"
-#~ msgstr "ppdc: izena/testua espero zen %s ondoren %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Expected name/text after Installable on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: izena/testua espero zen Installable ondoren %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Expected name/text after Resolution on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: izena/testua espero zen Resolution ondoren %d lerroan %s(e)n.\n"
-
-#~ msgid ""
-#~ "ppdc: Expected name/text combination for ColorModel on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: izena/testuaren konbinazioa espero zen ColorModel-arentzako %d "
-#~ "lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Expected option name/text on line %d of %s!\n"
-#~ msgstr "ppdc: aukeraren izena/testua espero zen %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Expected option section on line %d of %s!\n"
-#~ msgstr "ppdc: aukeraren atala espero zen %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Expected option type on line %d of %s!\n"
-#~ msgstr "ppdc: aukera mota espero zen %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Expected override field after Resolution on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: gainidazketaren eremua espero zen Resolution ondoren %d lerroan %s"
-#~ "(e)n.\n"
-
-#~ msgid "ppdc: Expected real number on line %d of %s!\n"
-#~ msgstr "ppdc: zenbaki erreala espero zen %d lerroan %s(e)n.\n"
-
-#~ msgid ""
-#~ "ppdc: Expected resolution/mediatype following ColorProfile on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc: bereizmena/euskarri mota espero zen ColorProfile ondoren %d lerroan "
-#~ "%s(e)n.\n"
-
-#~ msgid ""
-#~ "ppdc: Expected resolution/mediatype following SimpleColorProfile on line %"
-#~ "d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: bereizmena/euskarri mota espero zen SimpleColorProfile ondoren %d "
-#~ "lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Expected selector after %s on line %d of %s!\n"
-#~ msgstr "ppdc: hautatzailea espero zen %s ondoren %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Expected status after Font on line %d of %s!\n"
-#~ msgstr "ppdc: egoera espero zen Font ondoren %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Expected string after Copyright on line %d of %s!\n"
-#~ msgstr "ppdc: katea espero zen Copyright ondoren %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Expected string after Version on line %d of %s!\n"
-#~ msgstr "ppdc: katea espero zen Version ondoren %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Expected two option names on line %d of %s!\n"
-#~ msgstr "ppdc: aukeren bi izen espero ziren %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Expected value after %s on line %d of %s!\n"
-#~ msgstr "ppdc: balioa espero zen %s ondoren %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Expected version after Font on line %d of %s!\n"
-#~ msgstr "ppdc: bertsioa espero zen Font ondoren %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Invalid #include/#po filename \"%s\"!\n"
-#~ msgstr "ppdc: baliogabeko #include/#po \"%s\" fitxategi-izena.\n"
-
-#~ msgid "ppdc: Invalid cost for filter on line %d of %s!\n"
-#~ msgstr "ppdc: baliogabeko iragazkiaren kostua %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Invalid empty MIME type for filter on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: baliogabeko MIME mota hutsa iragazkiarentzako %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Invalid empty program name for filter on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: baliogabeko prorgramare izen hutsa iragazkiarentzako %d lerroan %s"
-#~ "(e)n.\n"
-
-#~ msgid "ppdc: Invalid option section \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: baliogabeko aukeraren \"%s\" atala %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Invalid option type \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: baliogabeko aukeraren \"%s\" mota %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Loading driver information file \"%s\"...\n"
-#~ msgstr "ppdc: kontrolatzailearen \"%s\" datu-fitxategia kargatzen...\n"
-
-#~ msgid "ppdc: Loading messages for locale \"%s\"...\n"
-#~ msgstr "ppdc: \"%s\" lokalaren mezuak kargatzen...\n"
-
-#~ msgid "ppdc: Loading messages from \"%s\"...\n"
-#~ msgstr "ppdc: mezuak \"%s\"(e)tik kargatzen...\n"
-
-#~ msgid "ppdc: Missing #endif at end of \"%s\"!\n"
-#~ msgstr "ppdc: #endif falta da \"%s\"(r)en amaieran.\n"
-
-#~ msgid "ppdc: Missing #if on line %d of %s!\n"
-#~ msgstr "ppdc: #if falta da %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: No message catalog provided for locale %s!\n"
-#~ msgstr "ppdc: ez da mezuen katalogorik eman %s lokalarentzako.\n"
-
-#~ msgid "ppdc: Option %s defined in two different groups on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: %s aukera bi talde desberdinetan definituta %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Option %s redefined with a different type on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: %s aukera berriro definituta mota desberdin batekin %d lerroan %s(e)"
-#~ "n.\n"
-
-#~ msgid "ppdc: Option constraint must *name on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: aukeraren murriztapenak *izena eduki behar du %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Too many nested #if's on line %d of %s!\n"
-#~ msgstr "ppdc: habiarazitako #if gehiegi %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Unable to create PPD file \"%s\" - %s.\n"
-#~ msgstr "ppdc: ezin da \"%s\" PPD fitxategia sortu: %s.\n"
-
-#~ msgid "ppdc: Unable to create output directory %s: %s\n"
-#~ msgstr "ppdc: ezin da %s irteerako direktorioa sortu: %s\n"
-
-#~ msgid "ppdc: Unable to create output pipes: %s\n"
-#~ msgstr "ppdc: ezin dira irteerako kanalizazioak sortu: %s\n"
-
-#~ msgid "ppdc: Unable to execute cupstestppd: %s\n"
-#~ msgstr "ppdc: ezin da cupstestppd exekutatu: %s\n"
-
-#~ msgid "ppdc: Unable to find #po file %s on line %d of %s!\n"
-#~ msgstr "ppdc: ezin da %s #po fitxategia aurkitu %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Unable to find include file \"%s\" on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: ezin da \"%s\" include fitxategia aurkitu %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Unable to find localization for \"%s\" - %s\n"
-#~ msgstr "ppdc: ezin da lokalizazioa aurkitu \"%s\"(r)entzako: %s\n"
-
-#~ msgid "ppdc: Unable to load localization file \"%s\" - %s\n"
-#~ msgstr "ppdc: ezin da \"%s\" lokalizazioaren fitxategia kargatu: %s\n"
-
-#~ msgid "ppdc: Undefined variable (%s) on line %d of %s.\n"
-#~ msgstr "ppdc: definitu gabeko aldagaia (%s) %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Unknown driver type %s on line %d of %s!\n"
-#~ msgstr "ppdc: %s kontrolatzaile mota ezezaguna %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: \"%s\" duplex mota ezezaguna %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Unknown media size \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: \"%s\" euskarri-tamaina ezezaguna %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Unknown token \"%s\" seen on line %d of %s!\n"
-#~ msgstr "ppdc: \"%s\" token ezezaguna ikusi da %d lerroan %s(e)n.\n"
-
-#~ msgid ""
-#~ "ppdc: Unknown trailing characters in real number \"%s\" on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc: amaierako karaktere ezezagunak \"%s\" zenbaki errealean %d lerroan %"
-#~ "s(e)n.\n"
-
-#~ msgid "ppdc: Unterminated string starting with %c on line %d of %s!\n"
-#~ msgstr "ppdc: %c(r)ekin hasitako amaitu gabeko katea %d lerroan %s(e)n.\n"
-
-#~ msgid "ppdc: Writing %s...\n"
-#~ msgstr "ppdc: %s inprimatzen...\n"
-
-#~ msgid "ppdc: Writing PPD files to directory \"%s\"...\n"
-#~ msgstr "ppdc: PPD fitxategiak \"%s\" direktorioan idazten...\n"
-
-#~ msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s!\n"
-#~ msgstr "ppdmerge: okerreko \"%s\" LanguageVersion %s(e)n\n"
-
-#~ msgid "ppdmerge: Ignoring PPD file %s...\n"
-#~ msgstr "ppdmerge: %s PPD fitxategiari ezikusi egiten...\n"
-
-#~ msgid "ppdmerge: Unable to backup %s to %s- %s\n"
-#~ msgstr "ppdmerge: ezin da %s(r)en babeskopia %s(e)n egin: %s\n"
-
-#~ msgid "printer %s disabled since %s -\n"
-#~ msgstr "printer %s desgaituta %s ostean\n"
-
-#~ msgid "printer %s is idle.  enabled since %s\n"
-#~ msgstr "%s inprimagailua inaktibo dago. Gaituta %s ostetik.\n"
-
-#~ msgid "printer %s now printing %s-%d.  enabled since %s\n"
-#~ msgstr ""
-#~ "%s inprimagailua orain %s-%d inprimatzen ari da.  Gaituta %s ostetik.\n"
-
-#~ msgid "printer %s/%s disabled since %s -\n"
-#~ msgstr "%s/%s inprimagailua desgaituta %s ostetik\n"
-
-#~ msgid "printer %s/%s is idle.  enabled since %s\n"
-#~ msgstr "%s/%s inprimagailua inaktibo dago. Gaituta %s ostetik.\n"
-
-#~ msgid "printer %s/%s now printing %s-%d.  enabled since %s\n"
-#~ msgstr ""
-#~ "%s/%s inprimagailua orain %s-%d inprimatzen ari da. Gaituta %s ostetik.\n"
-
-#~ msgid "request id is %s-%d (%d file(s))\n"
-#~ msgstr "eskaeraren IDa %s-%d da (%d fitxategi)\n"
-
-#~ msgid "scheduler is not running\n"
-#~ msgstr "antolatzailea ez da exekutatzen ari.\n"
-
-#~ msgid "scheduler is running\n"
-#~ msgstr "antolatzailea exekutatzen ari da.\n"
-
-#~ msgid "status\t\tshow status of daemon and queue\n"
-#~ msgstr "status\t\terakutsi daemon-aren eta ilararen egoera\n"
-
-#~ msgid "system default destination: %s\n"
-#~ msgstr "sistemako helburu lehenetsia: %s\n"
-
-#~ msgid "system default destination: %s/%s\n"
-#~ msgstr "sistemako helburu lehenetsia: %s/%s\n"
diff --git a/locale/cups_fi.po b/locale/cups_fi.po
deleted file mode 100644 (file)
index e57719b..0000000
+++ /dev/null
@@ -1,8710 +0,0 @@
-msgid ""
-msgstr ""
-"Project-Id-Version: CUPS 1.4\n"
-"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2012-03-07 13:38-0800\n"
-"PO-Revision-Date: 2009-02-12 15:10+0200\n"
-"Last-Translator: Teppo Turtiainen <teppot@iki.fi>\n"
-"Language-Team: Finnish\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: \n"
-
-msgid "\t\t(all)"
-msgstr ""
-
-msgid "\t\t(none)"
-msgstr ""
-
-#, c-format
-msgid "\t%d entries"
-msgstr ""
-
-#, c-format
-msgid "\t%s"
-msgstr ""
-
-msgid "\tAfter fault: continue"
-msgstr ""
-
-#, c-format
-msgid "\tAlerts: %s"
-msgstr ""
-
-msgid "\tBanner required"
-msgstr ""
-
-msgid "\tCharset sets:"
-msgstr ""
-
-msgid "\tConnection: direct"
-msgstr ""
-
-msgid "\tConnection: remote"
-msgstr ""
-
-msgid "\tContent types: any"
-msgstr ""
-
-msgid "\tDefault page size:"
-msgstr ""
-
-msgid "\tDefault pitch:"
-msgstr ""
-
-msgid "\tDefault port settings:"
-msgstr ""
-
-#, c-format
-msgid "\tDescription: %s"
-msgstr ""
-
-msgid "\tForm mounted:"
-msgstr ""
-
-msgid "\tForms allowed:"
-msgstr ""
-
-#, c-format
-msgid "\tInterface: %s.ppd"
-msgstr ""
-
-#, c-format
-msgid "\tInterface: %s/interfaces/%s"
-msgstr ""
-
-#, c-format
-msgid "\tInterface: %s/ppd/%s.ppd"
-msgstr ""
-
-#, c-format
-msgid "\tLocation: %s"
-msgstr ""
-
-msgid "\tOn fault: no alert"
-msgstr ""
-
-msgid "\tPrinter types: unknown"
-msgstr ""
-
-#, c-format
-msgid "\tStatus: %s"
-msgstr ""
-
-msgid "\tUsers allowed:"
-msgstr ""
-
-msgid "\tUsers denied:"
-msgstr ""
-
-msgid "\tdaemon present"
-msgstr ""
-
-msgid "\tno entries"
-msgstr ""
-
-#, c-format
-msgid "\tprinter is on device '%s' speed -1"
-msgstr ""
-
-msgid "\tprinting is disabled"
-msgstr ""
-
-msgid "\tprinting is enabled"
-msgstr ""
-
-#, c-format
-msgid "\tqueued for %s"
-msgstr ""
-
-msgid "\tqueuing is disabled"
-msgstr ""
-
-msgid "\tqueuing is enabled"
-msgstr ""
-
-msgid "\treason unknown"
-msgstr ""
-
-msgid ""
-"\n"
-"    DETAILED CONFORMANCE TEST RESULTS"
-msgstr ""
-
-msgid "                          Ignore specific warnings."
-msgstr ""
-
-msgid "                          Issue warnings instead of errors."
-msgstr ""
-
-msgid "                REF: Page 15, section 3.1."
-msgstr ""
-
-msgid "                REF: Page 15, section 3.2."
-msgstr ""
-
-msgid "                REF: Page 19, section 3.3."
-msgstr ""
-
-msgid "                REF: Page 20, section 3.4."
-msgstr ""
-
-msgid "                REF: Page 27, section 3.5."
-msgstr ""
-
-msgid "                REF: Page 42, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 16-17, section 3.2."
-msgstr ""
-
-msgid "                REF: Pages 42-45, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 45-46, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 48-49, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 52-54, section 5.2."
-msgstr ""
-
-#, c-format
-msgid "        %-39.39s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "        PASS    Default%s"
-msgstr ""
-
-msgid "        PASS    DefaultImageableArea"
-msgstr ""
-
-msgid "        PASS    DefaultPaperDimension"
-msgstr ""
-
-msgid "        PASS    FileVersion"
-msgstr ""
-
-msgid "        PASS    FormatVersion"
-msgstr ""
-
-msgid "        PASS    LanguageEncoding"
-msgstr ""
-
-msgid "        PASS    LanguageVersion"
-msgstr ""
-
-msgid "        PASS    Manufacturer"
-msgstr ""
-
-msgid "        PASS    ModelName"
-msgstr ""
-
-msgid "        PASS    NickName"
-msgstr ""
-
-msgid "        PASS    PCFileName"
-msgstr ""
-
-msgid "        PASS    PSVersion"
-msgstr ""
-
-msgid "        PASS    PageRegion"
-msgstr ""
-
-msgid "        PASS    PageSize"
-msgstr ""
-
-msgid "        PASS    Product"
-msgstr ""
-
-msgid "        PASS    ShortNickName"
-msgstr ""
-
-#, c-format
-msgid "        WARN    %s has no corresponding options."
-msgstr ""
-
-#, c-format
-msgid ""
-"        WARN    %s shares a common prefix with %s\n"
-"                REF: Page 15, section 3.2."
-msgstr ""
-
-#, c-format
-msgid ""
-"        WARN    Duplex option keyword %s may not work as expected and should "
-"be named Duplex.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-
-msgid "        WARN    File contains a mix of CR, LF, and CR LF line endings."
-msgstr ""
-
-msgid ""
-"        WARN    LanguageEncoding required by PPD 4.3 spec.\n"
-"                REF: Pages 56-57, section 5.3."
-msgstr ""
-
-#, c-format
-msgid "        WARN    Line %d only contains whitespace."
-msgstr ""
-
-msgid ""
-"        WARN    Manufacturer required by PPD 4.3 spec.\n"
-"                REF: Pages 58-59, section 5.3."
-msgstr ""
-
-msgid ""
-"        WARN    Non-Windows PPD files should use lines ending with only LF, "
-"not CR LF."
-msgstr ""
-
-#, c-format
-msgid ""
-"        WARN    Obsolete PPD version %.1f.\n"
-"                REF: Page 42, section 5.2."
-msgstr ""
-
-msgid ""
-"        WARN    PCFileName longer than 8.3 in violation of PPD spec.\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-
-msgid ""
-"        WARN    PCFileName should contain a unique filename.\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-
-msgid ""
-"        WARN    Protocols contains PJL but JCL attributes are not set.\n"
-"                REF: Pages 78-79, section 5.7."
-msgstr ""
-
-msgid ""
-"        WARN    Protocols contains both PJL and BCP; expected TBCP.\n"
-"                REF: Pages 78-79, section 5.7."
-msgstr ""
-
-msgid ""
-"        WARN    ShortNickName required by PPD 4.3 spec.\n"
-"                REF: Pages 64-65, section 5.3."
-msgstr ""
-
-msgid "       cupsaddsmb [options] -a"
-msgstr ""
-
-msgid "       cupstestdsc [options] -"
-msgstr ""
-
-msgid "       program | cupstestppd [options] -"
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  \"%s %s\" conflicts with \"%s %s\"\n"
-"                (constraint=\"%s %s %s %s\")."
-msgstr ""
-
-#, c-format
-msgid "      %s  %s %s does not exist."
-msgstr ""
-
-#, c-format
-msgid "      %s  %s file \"%s\" has the wrong capitalization."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  Bad %s choice %s.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsFilter value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsFilter2 value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsICCProfile %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsPreFilter value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsUIConstraints %s: \"%s\""
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad language \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad permissions on %s file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad spelling of %s - should be %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Cannot provide both APScanAppPath and APScanAppBundleID."
-msgstr ""
-
-#, c-format
-msgid "      %s  Default choices conflicting."
-msgstr ""
-
-#, c-format
-msgid "      %s  Empty cupsUIConstraints %s"
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing \"%s\" translation string for option %s, choice %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing \"%s\" translation string for option %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing %s file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  Missing REQUIRED PageRegion option.\n"
-"                REF: Page 100, section 5.14."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  Missing REQUIRED PageSize option.\n"
-"                REF: Page 99, section 5.14."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\""
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing cupsUIResolver %s"
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing option %s in cupsUIConstraints %s: \"%s\""
-msgstr ""
-
-#, c-format
-msgid "      %s  No base translation \"%s\" is included in file."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  REQUIRED %s does not define choice None.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" defined for %s but not for %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" has unexpected dimensions (%gx%g)."
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" should be \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" should be the Adobe standard name \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  cupsICCProfile %s hash value collides with %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  cupsUIResolver %s causes a loop."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  cupsUIResolver %s does not list at least two different options."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  %s choice names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  %s must be 1284DeviceID\n"
-"                REF: Page 72, section 5.5"
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD Default%s %s\n"
-"                REF: Page 40, section 4.5."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD DefaultImageableArea %s\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD DefaultPaperDimension %s\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD JobPatchFile attribute in file\n"
-"                REF: Page 24, section 3.4."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD Manufacturer (should be \"HP\")\n"
-"                REF: Page 211, table D.1."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD Manufacturer (should be \"Oki\")\n"
-"                REF: Page 211, table D.1."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n"
-"                REF: Pages 59-60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD PSVersion - not \"(string) int\".\n"
-"                REF: Pages 62-64, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD Product - not \"(string)\".\n"
-"                REF: Page 62, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD ShortNickName - longer than 31 chars.\n"
-"                REF: Pages 64-65, section 5.3."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad %s choice %s\n"
-"                REF: Page 84, section 5.9"
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad FileVersion \"%s\"\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad FormatVersion \"%s\"\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Bad LanguageVersion %s - must be English."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Default option code cannot be interpreted: %s"
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Default translation string for option %s choice %s contains "
-"8-bit characters."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Default translation string for option %s contains 8-bit "
-"characters."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Group names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Multiple occurrences of %s choice name %s."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Option names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED Default%s\n"
-"                REF: Page 40, section 4.5."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED DefaultImageableArea\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED DefaultPaperDimension\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED FileVersion\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED FormatVersion\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED ImageableArea for PageSize %s\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED LanguageEncoding\n"
-"                REF: Pages 56-57, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED LanguageVersion\n"
-"                REF: Pages 57-58, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED Manufacturer\n"
-"                REF: Pages 58-59, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED ModelName\n"
-"                REF: Pages 59-60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED NickName\n"
-"                REF: Page 60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PCFileName\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PSVersion\n"
-"                REF: Pages 62-64, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PageRegion\n"
-"                REF: Page 100, section 5.14."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PageSize\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 99, section 5.14."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PageSize\n"
-"                REF: Pages 99-100, section 5.14."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED PaperDimension for PageSize %s\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED Product\n"
-"                REF: Page 62, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED ShortNickName\n"
-"                REF: Page 64-65, section 5.3."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Unable to open PPD file - %s"
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Unable to open PPD file - %s on line %d."
-msgstr ""
-
-#, c-format
-msgid "    %d ERRORS FOUND"
-msgstr ""
-
-msgid "    -h       Show program usage"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Bad %%%%BoundingBox: on line %d.\n"
-"        REF: Page 39, %%%%BoundingBox:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Bad %%%%Page: on line %d.\n"
-"        REF: Page 53, %%%%Page:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Bad %%%%Pages: on line %d.\n"
-"        REF: Page 43, %%%%Pages:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Line %d is longer than 255 characters (%d).\n"
-"        REF: Page 25, Line Length"
-msgstr ""
-
-msgid ""
-"    Missing %!PS-Adobe-3.0 on first line.\n"
-"        REF: Page 17, 3.1 Conforming Documents"
-msgstr ""
-
-#, c-format
-msgid "    Missing %%EndComments comment.        REF: Page 41, %%EndComments"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Missing or bad %%BoundingBox: comment.\n"
-"        REF: Page 39, %%BoundingBox:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Missing or bad %%Page: comments.\n"
-"        REF: Page 53, %%Page:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Missing or bad %%Pages: comment.\n"
-"        REF: Page 43, %%Pages:"
-msgstr ""
-
-msgid "    NO ERRORS FOUND"
-msgstr ""
-
-#, c-format
-msgid "    Saw %d lines that exceeded 255 characters."
-msgstr ""
-
-#, c-format
-msgid "    Too many %%BeginDocument comments."
-msgstr ""
-
-#, c-format
-msgid "    Too many %%EndDocument comments."
-msgstr ""
-
-msgid "    Warning: file contains binary data."
-msgstr ""
-
-#, c-format
-msgid "    Warning: no %%EndComments comment in file."
-msgstr ""
-
-#, c-format
-msgid "    Warning: obsolete DSC version %.1f in file."
-msgstr ""
-
-msgid "  --[no-]debug-logging    Turn debug logging on/off."
-msgstr ""
-
-msgid "  --[no-]remote-admin     Turn remote administration on/off."
-msgstr ""
-
-msgid "  --[no-]remote-any       Allow/prevent access from the Internet."
-msgstr ""
-
-msgid "  --[no-]remote-printers  Show/hide remote printers."
-msgstr ""
-
-msgid "  --[no-]share-printers   Turn printer sharing on/off."
-msgstr ""
-
-msgid "  --[no-]user-cancel-any  Allow/prevent users to cancel any job."
-msgstr ""
-
-msgid "  --cr                    End lines with CR (Mac OS 9)."
-msgstr ""
-
-msgid "  --crlf                  End lines with CR + LF (Windows)."
-msgstr ""
-
-msgid "  --lf                    End lines with LF (UNIX/Linux/Mac OS X)."
-msgstr ""
-
-msgid "  -4                      Connect using IPv4."
-msgstr ""
-
-msgid "  -6                      Connect using IPv6."
-msgstr ""
-
-msgid "  -C                      Send requests using chunking (default)."
-msgstr ""
-
-msgid "  -D                      Remove the input file when finished."
-msgstr ""
-
-msgid "  -D name=value           Set named variable to value."
-msgstr ""
-
-msgid "  -E                      Enable encryption."
-msgstr ""
-
-msgid "  -E                      Encrypt the connection to the server."
-msgstr ""
-
-msgid "  -E                      Test with TLS encryption."
-msgstr ""
-
-msgid ""
-"  -F                      Run in the foreground but detach from console."
-msgstr ""
-
-msgid "  -H samba-server         Use the named SAMBA server."
-msgstr ""
-
-msgid "  -I                      Ignore errors."
-msgstr ""
-
-msgid "  -I include-dir          Add include directory to search path."
-msgstr ""
-
-msgid "  -I {filename,filters,none,profiles}"
-msgstr ""
-
-msgid "  -J title                Set title."
-msgstr ""
-
-msgid "  -L                      Send requests using content-length."
-msgstr ""
-
-msgid "  -P filename.ppd         Set PPD file."
-msgstr ""
-
-msgid "  -R root-directory       Set alternate root."
-msgstr ""
-
-msgid "  -S                      Test with SSL encryption."
-msgstr ""
-
-msgid "  -T                      Set the receive/send timeout in seconds."
-msgstr ""
-
-msgid "  -U samba-user           Authenticate using the named SAMBA user."
-msgstr ""
-
-msgid "  -U username             Set username for job."
-msgstr ""
-
-msgid "  -U username             Specify username."
-msgstr ""
-
-msgid "  -V version              Set default IPP version."
-msgstr ""
-
-msgid ""
-"  -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,"
-"translations}"
-msgstr ""
-
-msgid "  -X                      Produce XML plist instead of plain text."
-msgstr ""
-
-msgid "  -a                      Export all printers."
-msgstr ""
-
-msgid "  -a 'name=value ...'     Set option(s)."
-msgstr ""
-
-msgid "  -c catalog.po           Load the specified message catalog."
-msgstr ""
-
-msgid "  -c config-file          Load alternate configuration file."
-msgstr ""
-
-msgid "  -c copies               Set number of copies."
-msgstr ""
-
-msgid "  -c cupsd.conf           Set cupsd.conf file to use."
-msgstr ""
-
-msgid "  -d name=value           Set named variable to value."
-msgstr ""
-
-msgid "  -d output-dir           Specify the output directory."
-msgstr ""
-
-msgid "  -d printer              Use the named printer."
-msgstr ""
-
-msgid "  -e                      Use every filter from the PPD file."
-msgstr ""
-
-msgid "  -f                      Run in the foreground."
-msgstr ""
-
-msgid "  -f filename             Set default request filename."
-msgstr ""
-
-msgid "  -f filename             Set file to be converted (otherwise stdin)."
-msgstr ""
-
-msgid "  -h                      Show this usage message."
-msgstr ""
-
-msgid "  -h cups-server          Use the named CUPS server."
-msgstr ""
-
-msgid "  -h server[:port]        Specify server address."
-msgstr ""
-
-msgid "  -i mime/type            Set input MIME type (otherwise auto-typed)."
-msgstr ""
-
-msgid ""
-"  -i seconds              Repeat the last file with the given time interval."
-msgstr ""
-
-msgid ""
-"  -j job-id[,N]           Filter file N from the specified job (default is "
-"file 1)."
-msgstr ""
-
-msgid ""
-"  -j mime/type            Set output MIME type (otherwise application/pdf)."
-msgstr ""
-
-msgid "  -l                      Run cupsd from launchd(8)."
-msgstr ""
-
-msgid "  -l lang[,lang,...]      Specify the output language(s) (locale)."
-msgstr ""
-
-msgid "  -m                      Use the ModelName value as the filename."
-msgstr ""
-
-msgid ""
-"  -m mime/type            Set output MIME type (otherwise application/pdf)."
-msgstr ""
-
-msgid "  -n copies               Set number of copies."
-msgstr ""
-
-msgid ""
-"  -n count                Repeat the last file the given number of times."
-msgstr ""
-
-msgid "  -o filename             Set file to be generated (otherwise stdout)."
-msgstr ""
-
-msgid ""
-"  -o filename.drv         Set driver information file (otherwise ppdi.drv)."
-msgstr ""
-
-msgid "  -o filename.ppd[.gz]    Set output file (otherwise stdout)."
-msgstr ""
-
-msgid "  -o name=value           Set option(s)."
-msgstr ""
-
-msgid "  -p filename.ppd         Set PPD file."
-msgstr ""
-
-msgid "  -q                      Be quiet - no output except errors."
-msgstr ""
-
-msgid "  -q                      Run silently."
-msgstr ""
-
-msgid "  -r                      Use 'relaxed' open mode."
-msgstr ""
-
-msgid "  -t                      Produce a test report."
-msgstr ""
-
-msgid "  -t                      Test PPDs instead of generating them."
-msgstr ""
-
-msgid "  -t                      Test the configuration file."
-msgstr ""
-
-msgid "  -t title                Set title."
-msgstr ""
-
-msgid "  -u                      Remove the PPD file when finished."
-msgstr ""
-
-msgid "  -v                      Be slightly verbose."
-msgstr ""
-
-msgid "  -v                      Be verbose (more v's for more verbosity)."
-msgstr ""
-
-msgid "  -v                      Be verbose (show commands)."
-msgstr ""
-
-msgid "  -v                      Show all attributes sent and received."
-msgstr ""
-
-msgid "  -vv                     Be very verbose."
-msgstr ""
-
-msgid "  -z                      Compress PPD files using GNU zip."
-msgstr ""
-
-msgid " FAIL"
-msgstr ""
-
-msgid " PASS"
-msgstr ""
-
-#, c-format
-msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "%.0f x %.0f millimeters"
-msgstr "%.0f x %.0f millimetriä"
-
-#, c-format
-msgid "%.0f x %.0f to %.0f x %.0f millimeters"
-msgstr "%.0f x %.0f - %.0f x %.0f millimetriä"
-
-#, c-format
-msgid "%.2f x %.2f inches"
-msgstr "%.2f x %.2f tuumaa"
-
-#, c-format
-msgid "%.2f x %.2f to %.2f x %.2f inches"
-msgstr "%.2f x %.2f - %.2f x %.2f tuumaa"
-
-#, c-format
-msgid "%s accepting requests since %s"
-msgstr ""
-
-#, c-format
-msgid "%s cannot be changed."
-msgstr "Kohdetta %s ei voida muuttaa."
-
-#, c-format
-msgid "%s is not implemented by the CUPS version of lpc."
-msgstr ""
-
-#, c-format
-msgid "%s is not ready"
-msgstr ""
-
-#, c-format
-msgid "%s is ready"
-msgstr ""
-
-#, c-format
-msgid "%s is ready and printing"
-msgstr ""
-
-#, c-format
-msgid "%s job-id user title copies options [file]"
-msgstr ""
-
-#, c-format
-msgid "%s not accepting requests since %s -"
-msgstr ""
-
-#, c-format
-msgid "%s not supported."
-msgstr ""
-
-#, c-format
-msgid "%s/%s accepting requests since %s"
-msgstr ""
-
-#, c-format
-msgid "%s/%s not accepting requests since %s -"
-msgstr ""
-
-#, c-format
-msgid "%s: %-33.33s [job %d localhost]"
-msgstr ""
-
-#. TRANSLATORS: Message is "subject: error"
-#, c-format
-msgid "%s: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: %s failed: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Don't know what to do."
-msgstr ""
-
-#, c-format
-msgid ""
-"%s: Error - %s environment variable names non-existent destination \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - bad job ID."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - cannot print files and alter jobs simultaneously."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - cannot print from stdin if files or a job ID are provided."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected character set after \"-S\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected content type after \"-T\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected copies after \"-#\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected copies after \"-n\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected destination after \"-P\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected destination after \"-b\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected destination after \"-d\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected form after \"-f\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected hold name after \"-H\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected hostname after \"-H\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected hostname after \"-h\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected mode list after \"-y\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected name after \"-%c\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected option=value after \"-o\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected page list after \"-P\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected priority after \"-%c\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected reason text after \"-r\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected title after \"-t\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected username after \"-U\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected username after \"-u\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected value after \"-%c\" option."
-msgstr ""
-
-#, c-format
-msgid ""
-"%s: Error - need \"completed\", \"not-completed\", or \"all\" after \"-W\" "
-"option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - no default destination available."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - priority must be between 1 and 100."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - scheduler not responding."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - too many files - \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unable to access \"%s\" - %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unable to queue from stdin - %s."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown destination \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown destination \"%s/%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown option \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Expected job ID after \"-i\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Invalid destination name in list \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Invalid filter string \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Need job ID (\"-i jobid\") before \"-H restart\"."
-msgstr ""
-
-#, c-format
-msgid "%s: No filter to convert from %s/%s to %s/%s."
-msgstr ""
-
-#, c-format
-msgid "%s: Operation failed: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Sorry, no encryption support."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to connect to server."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to contact server."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to determine MIME type of \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to open %s: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to open PPD file: %s on line %d."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown destination \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown destination MIME type %s/%s."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown option \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown source MIME type %s/%s."
-msgstr ""
-
-#, c-format
-msgid ""
-"%s: Warning - \"%c\" format modifier not supported - output may not be "
-"correct."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - character set option ignored."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - content type option ignored."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - form option ignored."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - mode option ignored."
-msgstr ""
-
-msgid "-1"
-msgstr "-1"
-
-msgid "-10"
-msgstr "-10"
-
-msgid "-100"
-msgstr "-100"
-
-msgid "-105"
-msgstr "-105"
-
-msgid "-11"
-msgstr "-11"
-
-msgid "-110"
-msgstr "-110"
-
-msgid "-115"
-msgstr "-115"
-
-msgid "-12"
-msgstr "-12"
-
-msgid "-120"
-msgstr "-120"
-
-msgid "-13"
-msgstr "-13"
-
-msgid "-14"
-msgstr "-14"
-
-msgid "-15"
-msgstr "-15"
-
-msgid "-2"
-msgstr "-2"
-
-msgid "-20"
-msgstr "-20"
-
-msgid "-25"
-msgstr "-25"
-
-msgid "-3"
-msgstr "-3"
-
-msgid "-30"
-msgstr "-30"
-
-msgid "-35"
-msgstr "-35"
-
-msgid "-4"
-msgstr "-4"
-
-msgid "-40"
-msgstr "-40"
-
-msgid "-45"
-msgstr "-45"
-
-msgid "-5"
-msgstr "-5"
-
-msgid "-50"
-msgstr "-50"
-
-msgid "-55"
-msgstr "-55"
-
-msgid "-6"
-msgstr "-6"
-
-msgid "-60"
-msgstr "-60"
-
-msgid "-65"
-msgstr "-65"
-
-msgid "-7"
-msgstr "-7"
-
-msgid "-70"
-msgstr "-70"
-
-msgid "-75"
-msgstr "-75"
-
-msgid "-8"
-msgstr "-8"
-
-msgid "-80"
-msgstr "-80"
-
-msgid "-85"
-msgstr "-85"
-
-msgid "-9"
-msgstr "-9"
-
-msgid "-90"
-msgstr "-90"
-
-msgid "-95"
-msgstr "-95"
-
-msgid "0"
-msgstr "0"
-
-msgid "1"
-msgstr "1"
-
-msgid "1 inch/sec."
-msgstr "1 tuumaa/s"
-
-msgid "1.25x0.25\""
-msgstr "1,25 x 0,25 \""
-
-msgid "1.25x2.25\""
-msgstr "1,25 x 2,25 \""
-
-msgid "1.5 inch/sec."
-msgstr "1,5 tuumaa/s"
-
-msgid "1.50x0.25\""
-msgstr "1,50 x 0,25 \""
-
-msgid "1.50x0.50\""
-msgstr "1,50 x 0,50 \""
-
-msgid "1.50x1.00\""
-msgstr "1,50 x 1,00 \""
-
-msgid "1.50x2.00\""
-msgstr "1,50 x 2,00 \""
-
-msgid "10"
-msgstr "10"
-
-msgid "10 inches/sec."
-msgstr "10 tuumaa/s"
-
-msgid "10 x 11"
-msgstr ""
-
-msgid "10 x 13"
-msgstr ""
-
-msgid "10 x 14"
-msgstr ""
-
-msgid "100"
-msgstr "100"
-
-msgid "100 mm/sec."
-msgstr "100 mm/s"
-
-msgid "105"
-msgstr "105"
-
-msgid "11"
-msgstr "11"
-
-msgid "11 inches/sec."
-msgstr "11 tuumaa/s"
-
-msgid "110"
-msgstr "110"
-
-msgid "115"
-msgstr "115"
-
-msgid "12"
-msgstr "12"
-
-msgid "12 inches/sec."
-msgstr "12 tuumaa/s"
-
-msgid "12 x 11"
-msgstr ""
-
-msgid "120"
-msgstr "120"
-
-msgid "120 mm/sec."
-msgstr "120 mm/s"
-
-msgid "120x60dpi"
-msgstr "120 x 60 dpi"
-
-msgid "120x72dpi"
-msgstr "120 x 72 dpi"
-
-msgid "13"
-msgstr "13"
-
-msgid "136dpi"
-msgstr "136 dpi"
-
-msgid "14"
-msgstr "14"
-
-msgid "15"
-msgstr "15"
-
-msgid "15 mm/sec."
-msgstr "15 mm/s"
-
-msgid "15 x 11"
-msgstr ""
-
-msgid "150 mm/sec."
-msgstr "150 mm/s"
-
-msgid "150dpi"
-msgstr "150 dpi"
-
-msgid "16"
-msgstr "16"
-
-msgid "17"
-msgstr "17"
-
-msgid "18"
-msgstr "18"
-
-msgid "180dpi"
-msgstr "180 dpi"
-
-msgid "19"
-msgstr "19"
-
-msgid "2"
-msgstr "2"
-
-msgid "2 inches/sec."
-msgstr "2 tuumaa/s"
-
-msgid "2-Sided Printing"
-msgstr "Kaksipuolinen tulostus"
-
-msgid "2.00x0.37\""
-msgstr "2,00 x 0,37 \""
-
-msgid "2.00x0.50\""
-msgstr "2,00 x 0,50 \""
-
-msgid "2.00x1.00\""
-msgstr "2,00 x 1,00 \""
-
-msgid "2.00x1.25\""
-msgstr "2,00 x 1,25 \""
-
-msgid "2.00x2.00\""
-msgstr "2,00 x 2,00 \""
-
-msgid "2.00x3.00\""
-msgstr "2,00 x 3,00 \""
-
-msgid "2.00x4.00\""
-msgstr "2,00 x 4,00 \""
-
-msgid "2.00x5.50\""
-msgstr "2,00 x 5,50 \""
-
-msgid "2.25x0.50\""
-msgstr "2,25 x 0,50 \""
-
-msgid "2.25x1.25\""
-msgstr "2,25 x 1,25 \""
-
-msgid "2.25x4.00\""
-msgstr "2,25 x 4,00 \""
-
-msgid "2.25x5.50\""
-msgstr "2,25 x 5,50 \""
-
-msgid "2.38x5.50\""
-msgstr "2,38 x 5,50 \""
-
-msgid "2.5 inches/sec."
-msgstr "2,5 tuumaa/s"
-
-msgid "2.50x1.00\""
-msgstr "2,50 x 1,00 \""
-
-msgid "2.50x2.00\""
-msgstr "2,50 x 2,00 \""
-
-msgid "2.75x1.25\""
-msgstr "2,75 x 1,25 \""
-
-msgid "2.9 x 1\""
-msgstr "2,9 x 1 \""
-
-msgid "20"
-msgstr "20"
-
-msgid "20 mm/sec."
-msgstr "20 mm/s"
-
-msgid "200 mm/sec."
-msgstr "200 mm/s"
-
-msgid "203dpi"
-msgstr "203 dpi"
-
-msgid "21"
-msgstr "21"
-
-msgid "22"
-msgstr "22"
-
-msgid "23"
-msgstr "23"
-
-msgid "24"
-msgstr "24"
-
-msgid "24-Pin Series"
-msgstr "24-nastainen"
-
-msgid "240x72dpi"
-msgstr "240 x 72 dpi"
-
-msgid "25"
-msgstr "25"
-
-msgid "250 mm/sec."
-msgstr "250 mm/s"
-
-msgid "26"
-msgstr "26"
-
-msgid "27"
-msgstr "27"
-
-msgid "28"
-msgstr "28"
-
-msgid "29"
-msgstr "29"
-
-msgid "3"
-msgstr "3"
-
-msgid "3 inches/sec."
-msgstr "3 tuumaa/s"
-
-msgid "3 x 5"
-msgstr ""
-
-msgid "3.00x1.00\""
-msgstr "3,00 x 1,00 \""
-
-msgid "3.00x1.25\""
-msgstr "3,00 x 1,25 \""
-
-msgid "3.00x2.00\""
-msgstr "3,00 x 2,00 \""
-
-msgid "3.00x3.00\""
-msgstr "3,00 x 3,00 \""
-
-msgid "3.00x5.00\""
-msgstr "3,00 x 5,00 \""
-
-msgid "3.25x2.00\""
-msgstr "3,25 x 2,00 \""
-
-msgid "3.25x5.00\""
-msgstr "3,25 x 5,00 \""
-
-msgid "3.25x5.50\""
-msgstr "3,25 x 5,50 \""
-
-msgid "3.25x5.83\""
-msgstr "3,25 x 5,83 \""
-
-msgid "3.25x7.83\""
-msgstr "3,25 x 7,83 \""
-
-msgid "3.5 x 5"
-msgstr ""
-
-msgid "3.5\" Disk"
-msgstr "3,5 \" levy"
-
-msgid "3.5\" Disk - 2 1/8 x 2 3/4\""
-msgstr "3,5 \" levy - 2 1/8 x 2 3/4 \""
-
-msgid "3.50x1.00\""
-msgstr "3,50 x 1,00 \""
-
-msgid "30"
-msgstr "30"
-
-msgid "30 mm/sec."
-msgstr "30 mm/s"
-
-msgid "300 mm/sec."
-msgstr "300 mm/s"
-
-msgid "300dpi"
-msgstr "300 dpi"
-
-msgid "35"
-msgstr "35"
-
-msgid "360dpi"
-msgstr "360 dpi"
-
-msgid "360x180dpi"
-msgstr "360 x 180 dpi"
-
-msgid "4"
-msgstr "4"
-
-msgid "4 inches/sec."
-msgstr "4 tuumaa/s"
-
-msgid "4.00x1.00\""
-msgstr "4,00 x 1,00 \""
-
-msgid "4.00x13.00\""
-msgstr "4,00 x 13,00 \""
-
-msgid "4.00x2.00\""
-msgstr "4,00 x 2,00 \""
-
-msgid "4.00x2.50\""
-msgstr "4,00 x 2,50 \""
-
-msgid "4.00x3.00\""
-msgstr "4,00 x 3,00 \""
-
-msgid "4.00x4.00\""
-msgstr "4,00 x 4,00 \""
-
-msgid "4.00x5.00\""
-msgstr "4,00 x 5,00 \""
-
-msgid "4.00x6.00\""
-msgstr "4,00 x 6,00 \""
-
-msgid "4.00x6.50\""
-msgstr "4,00 x 6,50 \""
-
-msgid "40"
-msgstr "40"
-
-msgid "40 mm/sec."
-msgstr "40 mm/s"
-
-msgid "45"
-msgstr "45"
-
-msgid "5"
-msgstr "5"
-
-msgid "5 inches/sec."
-msgstr "5 tuumaa/s"
-
-msgid "5 x 7"
-msgstr ""
-
-msgid "50"
-msgstr "50"
-
-msgid "55"
-msgstr "55"
-
-msgid "6"
-msgstr "6"
-
-msgid "6 inches/sec."
-msgstr "6 tuumaa/s"
-
-msgid "6.00x1.00\""
-msgstr "6,00 x 1,00 \""
-
-msgid "6.00x2.00\""
-msgstr "6,00 x 2,00 \""
-
-msgid "6.00x3.00\""
-msgstr "6,00 x 3,00 \""
-
-msgid "6.00x4.00\""
-msgstr "6,00 x 4,00 \""
-
-msgid "6.00x5.00\""
-msgstr "6,00 x 5,00 \""
-
-msgid "6.00x6.00\""
-msgstr "6,00 x 6,00 \""
-
-msgid "6.00x6.50\""
-msgstr "6,00 x 6,50 \""
-
-msgid "60"
-msgstr "60"
-
-msgid "60 mm/sec."
-msgstr "60 mm/s"
-
-msgid "600dpi"
-msgstr "600 dpi"
-
-msgid "60dpi"
-msgstr "60 dpi"
-
-msgid "60x72dpi"
-msgstr ""
-
-msgid "65"
-msgstr "65"
-
-msgid "7"
-msgstr "7"
-
-msgid "7 inches/sec."
-msgstr "7 tuumaa/s"
-
-msgid "7 x 9"
-msgstr ""
-
-msgid "70"
-msgstr "70"
-
-msgid "720dpi"
-msgstr "720 dpi"
-
-msgid "75"
-msgstr "75"
-
-msgid "8"
-msgstr "8"
-
-msgid "8 inches/sec."
-msgstr "8 tuumaa/s"
-
-msgid "8 x 10"
-msgstr ""
-
-msgid "8.00x1.00\""
-msgstr "8,00 x 1,00 \""
-
-msgid "8.00x2.00\""
-msgstr "8,00 x 2,00 \""
-
-msgid "8.00x3.00\""
-msgstr "8,00 x 3,00 \""
-
-msgid "8.00x4.00\""
-msgstr "8,00 x 4,00 \""
-
-msgid "8.00x5.00\""
-msgstr "8,00 x 5,00 \""
-
-msgid "8.00x6.00\""
-msgstr "8,00 x 6,00 \""
-
-msgid "8.00x6.50\""
-msgstr "8,00 x 6,50 \""
-
-msgid "80"
-msgstr "80"
-
-msgid "80 mm/sec."
-msgstr "80 mm/s"
-
-msgid "85"
-msgstr "85"
-
-msgid "9"
-msgstr "9"
-
-msgid "9 inches/sec."
-msgstr "9 tuumaa/s"
-
-msgid "9 x 11"
-msgstr ""
-
-msgid "9 x 12"
-msgstr ""
-
-msgid "9-Pin Series"
-msgstr "9-nastainen"
-
-msgid "90"
-msgstr "90"
-
-msgid "95"
-msgstr "95"
-
-msgid "?Invalid help command unknown."
-msgstr ""
-
-msgid "A Samba password is required to export printer drivers"
-msgstr ""
-
-msgid "A Samba username is required to export printer drivers"
-msgstr ""
-
-#, c-format
-msgid "A class named \"%s\" already exists."
-msgstr ""
-
-#, c-format
-msgid "A printer named \"%s\" already exists."
-msgstr ""
-
-msgid "A0"
-msgstr "A0"
-
-msgid "A0 Long Edge"
-msgstr ""
-
-msgid "A1"
-msgstr "A1"
-
-msgid "A1 Long Edge"
-msgstr ""
-
-msgid "A10"
-msgstr "A10"
-
-msgid "A2"
-msgstr "A2"
-
-msgid "A2 Long Edge"
-msgstr ""
-
-msgid "A3"
-msgstr "A3"
-
-msgid "A3 Long Edge"
-msgstr ""
-
-msgid "A3 Oversize"
-msgstr ""
-
-msgid "A3 Oversize Long Edge"
-msgstr ""
-
-msgid "A4"
-msgstr "A4"
-
-msgid "A4 Long Edge"
-msgstr ""
-
-msgid "A4 Oversize"
-msgstr ""
-
-msgid "A4 Small"
-msgstr ""
-
-msgid "A5"
-msgstr "A5"
-
-msgid "A5 Long Edge"
-msgstr ""
-
-msgid "A5 Oversize"
-msgstr ""
-
-msgid "A6"
-msgstr "A6"
-
-msgid "A6 Long Edge"
-msgstr ""
-
-msgid "A7"
-msgstr "A7"
-
-msgid "A8"
-msgstr "A8"
-
-msgid "A9"
-msgstr "A9"
-
-msgid "ANSI A"
-msgstr "ANSI A"
-
-msgid "ANSI B"
-msgstr "ANSI B"
-
-msgid "ANSI C"
-msgstr "ANSI C"
-
-msgid "ANSI D"
-msgstr "ANSI D"
-
-msgid "ANSI E"
-msgstr "ANSI E"
-
-msgid "ARCH C"
-msgstr "ARCH C"
-
-msgid "ARCH C Long Edge"
-msgstr ""
-
-msgid "ARCH D"
-msgstr "ARCH D"
-
-msgid "ARCH D Long Edge"
-msgstr ""
-
-msgid "ARCH E"
-msgstr "ARCH E"
-
-msgid "ARCH E Long Edge"
-msgstr ""
-
-msgid "Accept Jobs"
-msgstr "Hyväksy töitä"
-
-msgid "Accepted"
-msgstr "Hyväksytty"
-
-msgid "Add Class"
-msgstr "Lisää luokka"
-
-msgid "Add Printer"
-msgstr "Lisää tulostin"
-
-msgid "Add RSS Subscription"
-msgstr "Lisää RSS-tilaus"
-
-msgid "Address"
-msgstr "Osoite"
-
-msgid "Address - 1 1/8 x 3 1/2\""
-msgstr "Osoite - 1 1/8 x 3 1/2 \""
-
-msgid "Administration"
-msgstr "Ylläpito"
-
-msgid "Always"
-msgstr "Aina"
-
-msgid "AppSocket/HP JetDirect"
-msgstr "AppSocket/HP JetDirect"
-
-msgid "Applicator"
-msgstr "Applikaattori"
-
-#, c-format
-msgid "Attempt to set %s printer-state to bad value %d."
-msgstr ""
-
-#, c-format
-msgid "Attribute groups are out of order (%x < %x)."
-msgstr ""
-
-msgid "B0"
-msgstr "B0"
-
-msgid "B1"
-msgstr "B1"
-
-msgid "B10"
-msgstr "B10"
-
-msgid "B2"
-msgstr "B2"
-
-msgid "B3"
-msgstr "B3"
-
-msgid "B4"
-msgstr "B4"
-
-msgid "B5"
-msgstr "B5"
-
-msgid "B5 Oversize"
-msgstr ""
-
-msgid "B6"
-msgstr "B6"
-
-msgid "B7"
-msgstr "B7"
-
-msgid "B8"
-msgstr "B8"
-
-msgid "B9"
-msgstr "B9"
-
-msgid "Bad NULL dests pointer"
-msgstr "Virheellinen NULL dests -osoitin"
-
-msgid "Bad OpenGroup"
-msgstr "Virheellinen OpenGroup"
-
-msgid "Bad OpenUI/JCLOpenUI"
-msgstr "Virheellinen OpenUI/JCLOpenUI"
-
-msgid "Bad OrderDependency"
-msgstr "Virheellinen OrderDependency"
-
-msgid "Bad PPD cache file."
-msgstr ""
-
-msgid "Bad Request"
-msgstr "Virheellinen pyyntö"
-
-msgid "Bad SNMP version number"
-msgstr "Virheellinen SNMP-versionumero"
-
-msgid "Bad UIConstraints"
-msgstr "Virheellinen UIConstraints"
-
-#, c-format
-msgid "Bad charset file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad charset type: %s"
-msgstr ""
-
-#, c-format
-msgid "Bad columns value %d."
-msgstr ""
-
-#, c-format
-msgid "Bad copies value %d."
-msgstr "Virheellinen kopioiden määrä %d."
-
-#, c-format
-msgid "Bad cpi value %f."
-msgstr ""
-
-msgid "Bad custom parameter"
-msgstr "Virheellinen muokattu parametri"
-
-#, c-format
-msgid "Bad device-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad device-uri scheme \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad document-format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad document-format-default \"%s\"."
-msgstr ""
-
-msgid "Bad filename buffer"
-msgstr ""
-
-#, c-format
-msgid "Bad font description line \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad font description line: %s"
-msgstr ""
-
-msgid "Bad job-priority value."
-msgstr ""
-
-#, c-format
-msgid "Bad job-sheets value \"%s\"."
-msgstr ""
-
-msgid "Bad job-sheets value type."
-msgstr ""
-
-msgid "Bad job-state value."
-msgstr ""
-
-#, c-format
-msgid "Bad job-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad lpi value %f."
-msgstr ""
-
-#, c-format
-msgid "Bad notify-pull-method \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad notify-recipient-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad number-up value %d."
-msgstr "Virheellinen number-up-arvo %d."
-
-#, c-format
-msgid "Bad option + choice on line %d."
-msgstr ""
-
-#, c-format
-msgid "Bad page-ranges values %d-%d."
-msgstr "Virheelliset page-ranges-arvot %d - %d."
-
-#, c-format
-msgid "Bad port-monitor \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad printer-state value %d."
-msgstr ""
-
-#, c-format
-msgid "Bad request ID %d."
-msgstr ""
-
-#, c-format
-msgid "Bad request version number %d.%d."
-msgstr ""
-
-msgid "Bad subscription ID"
-msgstr ""
-
-#, c-format
-msgid "Bad text direction \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad text direction: %s"
-msgstr ""
-
-#, c-format
-msgid "Bad text width \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad text width: %s"
-msgstr ""
-
-msgid "Bad value string"
-msgstr ""
-
-msgid "Banners"
-msgstr "Otsikot"
-
-msgid "Billing Information: "
-msgstr "Laskutustiedot: "
-
-msgid "Bond Paper"
-msgstr "Bond-paperi"
-
-#, c-format
-msgid "Boolean expected for waiteof option \"%s\"."
-msgstr ""
-
-msgid "Buffer overflow detected, aborting."
-msgstr ""
-
-msgid "CMYK"
-msgstr "CMYK"
-
-msgid "CPCL Label Printer"
-msgstr "CPCL-tarratulostin"
-
-msgid "Cancel RSS Subscription"
-msgstr "Peru RSS-tilaus"
-
-msgid "Canceling print job."
-msgstr ""
-
-msgid "Cannot share a remote Kerberized printer."
-msgstr ""
-
-msgid "Cassette"
-msgstr ""
-
-msgid "Change Settings"
-msgstr "Muuta asetuksia"
-
-#, c-format
-msgid "Character set \"%s\" not supported."
-msgstr ""
-
-msgid "Classes"
-msgstr "Luokat"
-
-msgid "Clean Print Heads"
-msgstr "Puhdista tulostuspäät"
-
-msgid "Close-Job doesn't support the job-uri attribute."
-msgstr ""
-
-msgid "Color"
-msgstr "Väri"
-
-msgid "Color Mode"
-msgstr "Väritila"
-
-msgid ""
-"Commands may be abbreviated.  Commands are:\n"
-"\n"
-"exit    help    quit    status  ?"
-msgstr ""
-
-msgid "Community name uses indefinite length"
-msgstr "Yhteisönimi käyttää määrittämätöntä pituutta"
-
-msgid "Connected to printer."
-msgstr ""
-
-msgid "Connecting to printer."
-msgstr ""
-
-msgid "Continue"
-msgstr "Jatka"
-
-msgid "Continuous"
-msgstr "Jatkuva"
-
-msgid "Control file sent successfully."
-msgstr ""
-
-msgid "Copying print data."
-msgstr ""
-
-msgid "Created"
-msgstr "Luotu"
-
-msgid "Created On: "
-msgstr "Luotu: "
-
-msgid "Custom"
-msgstr "Muokattu"
-
-msgid "CustominCutInterval"
-msgstr "CustominCutInterval"
-
-msgid "CustominTearInterval"
-msgstr "CustominTearInterval"
-
-msgid "Cut"
-msgstr "Leikkaa"
-
-msgid "Cutter"
-msgstr "Leikkaaja"
-
-msgid "Dark"
-msgstr "Tumma"
-
-msgid "Darkness"
-msgstr "Tummuus"
-
-msgid "Data file sent successfully."
-msgstr ""
-
-msgid "Delete Class"
-msgstr "Poista luokka"
-
-msgid "Delete Printer"
-msgstr "Poista tulostin"
-
-msgid "Description: "
-msgstr "Kuvaus: "
-
-msgid "DeskJet Series"
-msgstr "DeskJet-sarja"
-
-#, c-format
-msgid "Destination \"%s\" is not accepting jobs."
-msgstr "Kohde ”%s” ei vastaanota töitä."
-
-#, c-format
-msgid ""
-"Device: uri = %s\n"
-"        class = %s\n"
-"        info = %s\n"
-"        make-and-model = %s\n"
-"        device-id = %s\n"
-"        location = %s"
-msgstr ""
-
-msgid "Direct Thermal Media"
-msgstr "Suora lämpömedia"
-
-#, c-format
-msgid "Directory \"%s\" contains a relative path."
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" is a file."
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" not available: %s"
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-msgid "Disabled"
-msgstr "Pois käytöstä"
-
-#, c-format
-msgid "Document #%d does not exist in job #%d."
-msgstr ""
-
-msgid "Driver Name: "
-msgstr "Ajurin nimi: "
-
-msgid "Driver Version: "
-msgstr "Ajurin versio: "
-
-msgid "Duplexer"
-msgstr "Duplekseri"
-
-msgid "Dymo"
-msgstr "Dymo"
-
-msgid "EPL1 Label Printer"
-msgstr "EPL1-tarratulostin"
-
-msgid "EPL2 Label Printer"
-msgstr "EPL2-tarratulostin"
-
-msgid "Edit Configuration File"
-msgstr "Muokkaa asetustiedostoa"
-
-msgid "Empty PPD file."
-msgstr ""
-
-#. TRANSLATORS: Banner/cover sheet after the print job.
-msgid "Ending Banner"
-msgstr "Loppuotsikko"
-
-msgid "English"
-msgstr "Finnish"
-
-msgid "Enter old password:"
-msgstr "Syötä vanha salasana:"
-
-msgid "Enter password again:"
-msgstr "Syötä salasana uudelleen:"
-
-msgid "Enter password:"
-msgstr "Syötä salasana:"
-
-msgid ""
-"Enter your username and password or the root username and password to access "
-"this page. If you are using Kerberos authentication, make sure you have a "
-"valid Kerberos ticket."
-msgstr ""
-"Syötä oma käyttäjätunnuksesi ja salasanasi tai rootin käyttäjätunnus ja "
-"salasana tämän sivun käyttämistä varten. Jos käytät Kerberos-todentamista, "
-"varmista, että sinulla on kelvollinen Kerberos-lippu."
-
-msgid "Envelope #10 "
-msgstr ""
-
-msgid "Envelope #11"
-msgstr ""
-
-msgid "Envelope #12"
-msgstr ""
-
-msgid "Envelope #14"
-msgstr ""
-
-msgid "Envelope #9"
-msgstr ""
-
-msgid "Envelope B4"
-msgstr ""
-
-msgid "Envelope B5"
-msgstr ""
-
-msgid "Envelope B6"
-msgstr ""
-
-msgid "Envelope C0"
-msgstr ""
-
-msgid "Envelope C1"
-msgstr ""
-
-msgid "Envelope C2"
-msgstr ""
-
-msgid "Envelope C3"
-msgstr ""
-
-msgid "Envelope C4"
-msgstr ""
-
-msgid "Envelope C5"
-msgstr ""
-
-msgid "Envelope C6"
-msgstr ""
-
-msgid "Envelope C65"
-msgstr ""
-
-msgid "Envelope C7"
-msgstr ""
-
-msgid "Envelope Choukei 3"
-msgstr ""
-
-msgid "Envelope Choukei 3 Long Edge"
-msgstr ""
-
-msgid "Envelope Choukei 4"
-msgstr ""
-
-msgid "Envelope Choukei 4 Long Edge"
-msgstr ""
-
-msgid "Envelope DL"
-msgstr ""
-
-msgid "Envelope Feed"
-msgstr "Kirjekuoren syöttö"
-
-msgid "Envelope Invite"
-msgstr ""
-
-msgid "Envelope Italian"
-msgstr ""
-
-msgid "Envelope Kaku2"
-msgstr ""
-
-msgid "Envelope Kaku2 Long Edge"
-msgstr ""
-
-msgid "Envelope Kaku3"
-msgstr ""
-
-msgid "Envelope Kaku3 Long Edge"
-msgstr ""
-
-msgid "Envelope Monarch"
-msgstr ""
-
-msgid "Envelope PRC1 "
-msgstr ""
-
-msgid "Envelope PRC1 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC10"
-msgstr ""
-
-msgid "Envelope PRC10 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC2"
-msgstr ""
-
-msgid "Envelope PRC2 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC3"
-msgstr ""
-
-msgid "Envelope PRC3 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC4"
-msgstr ""
-
-msgid "Envelope PRC4 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC5 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC5PRC5"
-msgstr ""
-
-msgid "Envelope PRC6"
-msgstr ""
-
-msgid "Envelope PRC6 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC7"
-msgstr ""
-
-msgid "Envelope PRC7 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC8"
-msgstr ""
-
-msgid "Envelope PRC8 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC9"
-msgstr ""
-
-msgid "Envelope PRC9 Long Edge"
-msgstr ""
-
-msgid "Envelope Personal"
-msgstr ""
-
-msgid "Envelope You4"
-msgstr ""
-
-msgid "Envelope You4 Long Edge"
-msgstr ""
-
-msgid "Epson"
-msgstr "Epson"
-
-msgid "Error Policy"
-msgstr "Virhekäytäntö"
-
-msgid "Error sending raster data."
-msgstr ""
-
-msgid "Error: need hostname after \"-h\" option."
-msgstr ""
-
-msgid "Every 10 Labels"
-msgstr "Joka 10. tarra"
-
-msgid "Every 2 Labels"
-msgstr "Joka 2. tarra"
-
-msgid "Every 3 Labels"
-msgstr "Joka 3. tarra"
-
-msgid "Every 4 Labels"
-msgstr "Joka 4. tarra"
-
-msgid "Every 5 Labels"
-msgstr "Joka 5. tarra"
-
-msgid "Every 6 Labels"
-msgstr "Joka 6. tarra"
-
-msgid "Every 7 Labels"
-msgstr "Joka 7. tarra"
-
-msgid "Every 8 Labels"
-msgstr "Joka 8. tarra"
-
-msgid "Every 9 Labels"
-msgstr "Joka 9. tarra"
-
-msgid "Every Label"
-msgstr "Joka tarra"
-
-msgid "Executive"
-msgstr ""
-
-msgid "Expectation Failed"
-msgstr "Odotus epäonnistui"
-
-msgid "Export Printers to Samba"
-msgstr "Vie tulostimet Sambaan"
-
-msgid "FAIL"
-msgstr ""
-
-msgid "FanFold German"
-msgstr ""
-
-msgid "FanFold Legal German"
-msgstr ""
-
-msgid "Fanfold US"
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" contains a relative path."
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" is a directory."
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" not available: %s"
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-msgid "File Folder"
-msgstr "Arkistokansio"
-
-msgid "File Folder - 9/16 x 3 7/16\""
-msgstr "Arkistokansio - 9/16 x 3 7/16 \""
-
-#, c-format
-msgid ""
-"File device URIs have been disabled. To enable, see the FileDevice directive "
-"in \"%s/cupsd.conf\"."
-msgstr ""
-
-#, c-format
-msgid "Finished page %d."
-msgstr ""
-
-msgid "Folio"
-msgstr "Folio"
-
-msgid "Forbidden"
-msgstr "Kielletty"
-
-#, c-format
-msgid "Formatting page %d."
-msgstr ""
-
-msgid "General"
-msgstr "Yleiset"
-
-msgid "Generic"
-msgstr "Yleinen"
-
-msgid "Get-Response-PDU uses indefinite length"
-msgstr "Get-Response-PDU käyttää määrittämätöntä pituutta"
-
-msgid "Glossy Paper"
-msgstr "Kiiltävä paperi"
-
-msgid "Got a printer-uri attribute but no job-id."
-msgstr ""
-
-msgid "Grayscale"
-msgstr "Harmaasävy"
-
-msgid "HP"
-msgstr "HP"
-
-msgid "Hanging Folder"
-msgstr "Riippukansio"
-
-msgid "Hanging Folder - 9/16 x 2\""
-msgstr "Riippukansio - 9/16 x 2 \""
-
-msgid "IPP 1setOf attribute with incompatible value tags."
-msgstr ""
-
-msgid "IPP attribute has no name."
-msgstr ""
-
-msgid "IPP begCollection value not 0 bytes."
-msgstr ""
-
-msgid "IPP boolean value not 1 byte."
-msgstr ""
-
-msgid "IPP date value not 11 bytes."
-msgstr ""
-
-msgid "IPP endCollection value not 0 bytes."
-msgstr ""
-
-msgid "IPP enum value not 4 bytes."
-msgstr ""
-
-msgid "IPP integer value not 4 bytes."
-msgstr ""
-
-msgid "IPP language length overflows value."
-msgstr ""
-
-msgid "IPP member name is not empty."
-msgstr ""
-
-msgid "IPP name larger than 32767 bytes."
-msgstr ""
-
-msgid "IPP nameWithLanguage value less than minimum 4 bytes."
-msgstr ""
-
-msgid "IPP rangeOfInteger value not 8 bytes."
-msgstr ""
-
-msgid "IPP resolution value not 9 bytes."
-msgstr ""
-
-msgid "IPP string length overflows value."
-msgstr ""
-
-msgid "IPP textWithLanguage value less than minimum 4 bytes."
-msgstr ""
-
-msgid "IPP value larger than 32767 bytes."
-msgstr ""
-
-msgid "ISOLatin1"
-msgstr "UTF-8"
-
-msgid "Illegal control character"
-msgstr "Virheellinen ohjausmerkki"
-
-msgid "Illegal main keyword string"
-msgstr "Virheellinen pääavainsanan merkkijono"
-
-msgid "Illegal option keyword string"
-msgstr "Virheellinen valinta-avainsanan merkkijono"
-
-msgid "Illegal translation string"
-msgstr "Virheellinen käännösmerkkijono"
-
-msgid "Illegal whitespace character"
-msgstr "Virheellinen tyhjä merkki"
-
-msgid "Installable Options"
-msgstr "Asennettavat lisävarusteet"
-
-msgid "Installed"
-msgstr "Asennettu"
-
-msgid "IntelliBar Label Printer"
-msgstr "IntelliBar-tarratulostin"
-
-msgid "Intellitech"
-msgstr "Intellitech"
-
-msgid "Internal Server Error"
-msgstr ""
-
-msgid "Internal error"
-msgstr "Sisäinen virhe"
-
-msgid "Internet Postage 2-Part"
-msgstr "Internet-postimerkki kaksiosainen"
-
-msgid "Internet Postage 2-Part - 2 1/4 x 7 1/2\""
-msgstr "Internet-postimerkki kaksiosainen - 2 1/4 x 7 1/2 \""
-
-msgid "Internet Postage 3-Part"
-msgstr "Internet-postimerkki kolmiosainen"
-
-msgid "Internet Postage 3-Part - 2 1/4 x 7\""
-msgstr "Internet-postimerkki kolmiosainen - 2 1/4 x 7 \""
-
-msgid "Internet Printing Protocol"
-msgstr "Internet Printing Protocol"
-
-#, c-format
-msgid "Invalid printer command \"%s\"."
-msgstr ""
-
-msgid "JCL"
-msgstr "JCL"
-
-msgid "JIS B0"
-msgstr ""
-
-msgid "JIS B1"
-msgstr ""
-
-msgid "JIS B10"
-msgstr ""
-
-msgid "JIS B2"
-msgstr ""
-
-msgid "JIS B3"
-msgstr ""
-
-msgid "JIS B4"
-msgstr ""
-
-msgid "JIS B4 Long Edge"
-msgstr ""
-
-msgid "JIS B5"
-msgstr ""
-
-msgid "JIS B5 Long Edge"
-msgstr ""
-
-msgid "JIS B6"
-msgstr ""
-
-msgid "JIS B6 Long Edge"
-msgstr ""
-
-msgid "JIS B7"
-msgstr ""
-
-msgid "JIS B8"
-msgstr ""
-
-msgid "JIS B9"
-msgstr ""
-
-#, c-format
-msgid "Job #%d cannot be restarted - no files."
-msgstr ""
-
-#, c-format
-msgid "Job #%d does not exist."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is already aborted - can't cancel."
-msgstr "Työ %d on jo keskeytetty - ei voida perua."
-
-#, c-format
-msgid "Job #%d is already canceled - can't cancel."
-msgstr "Työ %d on jo peruttu - ei voida perua."
-
-#, c-format
-msgid "Job #%d is already completed - can't cancel."
-msgstr "Työ %d on jo suoritettu - ei voida perua."
-
-#, c-format
-msgid "Job #%d is finished and cannot be altered."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is not complete."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is not held for authentication."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is not held."
-msgstr ""
-
-msgid "Job Completed"
-msgstr "Työ suoritettu"
-
-msgid "Job Created"
-msgstr "Työ luotu"
-
-msgid "Job ID: "
-msgstr "Työn tunnus: "
-
-msgid "Job Options Changed"
-msgstr "Työn valintoja muutettu"
-
-msgid "Job Stopped"
-msgstr "Työ pysäytetty"
-
-msgid "Job UUID: "
-msgstr "Työn UUID: "
-
-msgid "Job is completed and cannot be changed."
-msgstr "Työ on suoritettu eikä sitä voida muuttaa."
-
-msgid "Job operation failed:"
-msgstr "Työtoiminto epäonnistui:"
-
-msgid "Job state cannot be changed."
-msgstr "Työn tilaa ei voida muuttaa."
-
-msgid "Job subscriptions cannot be renewed."
-msgstr ""
-
-msgid "Jobs"
-msgstr "Työt"
-
-msgid "LPD/LPR Host or Printer"
-msgstr "LPD/LPR-palvelin tai -tulostin"
-
-msgid "Label Printer"
-msgstr "Tarratulostin"
-
-msgid "Label Top"
-msgstr "Tarran yläpuoli"
-
-#, c-format
-msgid "Language \"%s\" not supported."
-msgstr ""
-
-msgid "Large Address"
-msgstr "Suuri osoite"
-
-msgid "Large Address - 1 4/10 x 3 1/2\""
-msgstr "Suuri osoite - 1 4/10 x 3 1/2 \""
-
-msgid "LaserJet Series PCL 4/5"
-msgstr "LaserJet Series PCL 4/5"
-
-msgid "Letter Oversize"
-msgstr ""
-
-msgid "Letter Oversize Long Edge"
-msgstr ""
-
-msgid "Light"
-msgstr "Vaalea"
-
-msgid "Line longer than the maximum allowed (255 characters)"
-msgstr "Rivi on pidempi kuin suurin sallittu (255 merkkiä)"
-
-msgid "List Available Printers"
-msgstr "Luetteloi käytettävissä olevat tulostimet"
-
-msgid "Loading print file."
-msgstr ""
-
-msgid "Location: "
-msgstr "Sijainti: "
-
-msgid "Long-Edge (Portrait)"
-msgstr "Pitkä reuna (pysty)"
-
-msgid "Looking for printer."
-msgstr ""
-
-msgid "Make and Model: "
-msgstr "Merkki ja malli: "
-
-msgid "Manual Feed"
-msgstr "Käsinsyöttö"
-
-msgid "Media Dimensions: "
-msgstr "Median mitat: "
-
-msgid "Media Limits: "
-msgstr "Median rajat: "
-
-msgid "Media Name: "
-msgstr "Median nimi: "
-
-msgid "Media Size"
-msgstr "Median koko"
-
-msgid "Media Source"
-msgstr "Median lähde"
-
-msgid "Media Tracking"
-msgstr "Median seuranta"
-
-msgid "Media Type"
-msgstr "Median tyyppi"
-
-msgid "Medium"
-msgstr "Keskikokoinen"
-
-msgid "Memory allocation error"
-msgstr "Muistinvarausvirhe"
-
-msgid "Missing CloseGroup"
-msgstr ""
-
-msgid "Missing PPD-Adobe-4.x header"
-msgstr "PPD-Adobe-4.x-otsake puuttuu"
-
-msgid "Missing asterisk in column 1"
-msgstr "Tähtimerkki puuttuu sarakkeesta 1"
-
-msgid "Missing document-number attribute."
-msgstr ""
-
-#, c-format
-msgid "Missing double quote on line %d."
-msgstr ""
-
-msgid "Missing form variable"
-msgstr ""
-
-msgid "Missing last-document attribute in request."
-msgstr ""
-
-msgid "Missing media or media-col."
-msgstr ""
-
-msgid "Missing media-size in media-col."
-msgstr ""
-
-msgid "Missing notify-subscription-ids attribute."
-msgstr ""
-
-msgid "Missing option keyword"
-msgstr ""
-
-msgid "Missing requesting-user-name attribute."
-msgstr ""
-
-msgid "Missing required attributes."
-msgstr ""
-
-#, c-format
-msgid "Missing value on line %d of banner file."
-msgstr ""
-
-#, c-format
-msgid "Missing value on line %d."
-msgstr ""
-
-msgid "Missing value string"
-msgstr "Arvomerkkijono puuttuu"
-
-msgid "Missing x-dimension in media-size."
-msgstr ""
-
-msgid "Missing y-dimension in media-size."
-msgstr ""
-
-#, c-format
-msgid ""
-"Model:  name = %s\n"
-"        natural_language = %s\n"
-"        make-and-model = %s\n"
-"        device-id = %s"
-msgstr ""
-
-msgid "Modify Class"
-msgstr "Muokkaa luokkaa"
-
-msgid "Modify Printer"
-msgstr "Muokkaa tulostinta"
-
-msgid "Move All Jobs"
-msgstr "Siirrä kaikki työt"
-
-msgid "Move Job"
-msgstr "Siirrä työ"
-
-msgid "Moved Permanently"
-msgstr "Siirretty pysyvästi"
-
-msgid "NULL PPD file pointer"
-msgstr "PPD-tiedoston osoitin NULL"
-
-msgid "Name OID uses indefinite length"
-msgstr "Nimi-OID käyttää määrittelemätöntä pituutta"
-
-msgid "Nested classes are not allowed."
-msgstr ""
-
-msgid "Never"
-msgstr "Ei koskaan"
-
-msgid "New Stylus Color Series"
-msgstr "Uusi Stylus Color Series"
-
-msgid "New Stylus Photo Series"
-msgstr "Uusi Stylus Photo Series"
-
-msgid "No"
-msgstr "Ei"
-
-msgid "No Content"
-msgstr "Ei sisältöä"
-
-msgid "No PPD name"
-msgstr ""
-
-msgid "No VarBind SEQUENCE"
-msgstr "Ei VarBind SEQUENCE:a"
-
-msgid "No Windows printer drivers are installed."
-msgstr ""
-
-msgid "No active connection"
-msgstr "Ei aktiivista yhteyttä"
-
-#, c-format
-msgid "No active jobs on %s."
-msgstr ""
-
-msgid "No attributes in request."
-msgstr ""
-
-msgid "No authentication information provided."
-msgstr ""
-
-msgid "No community name"
-msgstr "Ei yhteisönimeä"
-
-msgid "No default printer."
-msgstr ""
-
-msgid "No destinations added."
-msgstr "Kohteita ei lisätty."
-
-msgid "No device URI found in argv[0] or in DEVICE_URI environment variable."
-msgstr ""
-
-msgid "No error-index"
-msgstr "Ei virheindeksiä"
-
-msgid "No error-status"
-msgstr "Ei virhetilaa"
-
-msgid "No file in print request."
-msgstr ""
-
-msgid "No fonts in charset file."
-msgstr ""
-
-msgid "No modification time"
-msgstr ""
-
-msgid "No name OID"
-msgstr "Ei nimi-OID:tä"
-
-msgid "No pages were found."
-msgstr ""
-
-msgid "No printer name"
-msgstr ""
-
-msgid "No printer-uri found"
-msgstr ""
-
-msgid "No printer-uri found for class"
-msgstr ""
-
-msgid "No printer-uri in request."
-msgstr ""
-
-msgid "No request-id"
-msgstr "Ei pyyntötunnistetta"
-
-msgid "No subscription attributes in request."
-msgstr ""
-
-msgid "No subscriptions found."
-msgstr "Tilauksia ei löytynyt."
-
-msgid "No variable-bindings SEQUENCE"
-msgstr "Ei variable-bindings SEQUENCE:a"
-
-msgid "No version number"
-msgstr "Ei versionumeroa"
-
-msgid "Non-continuous (Mark sensing)"
-msgstr "Ei-jatkuva (mark sensing)"
-
-msgid "Non-continuous (Web sensing)"
-msgstr "Ei-jatkuva (web sensing)"
-
-msgid "Normal"
-msgstr "Normaali"
-
-msgid "Not Found"
-msgstr "Ei löytynyt"
-
-msgid "Not Implemented"
-msgstr "Ei toteutettu"
-
-msgid "Not Installed"
-msgstr "Ei asennettu"
-
-msgid "Not Modified"
-msgstr "Ei muokattu"
-
-msgid "Not Supported"
-msgstr "Ei tuettu"
-
-msgid "Not allowed to print."
-msgstr "Tulostaminen ei ole sallittua."
-
-msgid "Note"
-msgstr "Huomaa"
-
-msgid ""
-"Note: this program only validates the DSC comments, not the PostScript "
-"itself."
-msgstr ""
-
-msgid "OK"
-msgstr "OK"
-
-msgid "Off (1-Sided)"
-msgstr "Pois (yksipuolinen)"
-
-msgid "Oki"
-msgstr "Oki"
-
-msgid "Online Help"
-msgstr "Verkko-ohjeet"
-
-#, c-format
-msgid "Open of %s failed: %s"
-msgstr "kohteen %s avaaminen epäonnistui: %s"
-
-msgid "OpenGroup without a CloseGroup first"
-msgstr "OpenGroup ilman edeltävää CloseGroup:ia"
-
-msgid "OpenUI/JCLOpenUI without a CloseUI/JCLCloseUI first"
-msgstr "OpenUI/JCLOpenUI ilman edeltävää CloseUI/JCLCloseUI:ta"
-
-msgid "Operation Policy"
-msgstr "Toimintakäytäntö"
-
-#, c-format
-msgid "Option \"%s\" cannot be included via %%%%IncludeFeature."
-msgstr ""
-
-msgid "Options Installed"
-msgstr "Valinnat asennettu"
-
-msgid "Options:"
-msgstr ""
-
-msgid "Options: "
-msgstr "Valinnat: "
-
-msgid "Out of date PPD cache file."
-msgstr ""
-
-msgid "Out of memory."
-msgstr ""
-
-msgid "Output Mode"
-msgstr "Tulostetila"
-
-#, c-format
-msgid "Output for printer %s is sent to %s"
-msgstr ""
-
-#, c-format
-msgid "Output for printer %s is sent to remote printer %s on %s"
-msgstr ""
-
-#, c-format
-msgid "Output for printer %s/%s is sent to %s"
-msgstr ""
-
-#, c-format
-msgid "Output for printer %s/%s is sent to remote printer %s on %s"
-msgstr ""
-
-msgid "PASS"
-msgstr ""
-
-msgid "PCL Laser Printer"
-msgstr "PCL-lasertulostin"
-
-msgid "PRC16K"
-msgstr "PRC16K"
-
-msgid "PRC16K Long Edge"
-msgstr ""
-
-msgid "PRC32K"
-msgstr "PRC32K"
-
-msgid "PRC32K Long Edge"
-msgstr ""
-
-msgid "PRC32K Oversize"
-msgstr ""
-
-msgid "PRC32K Oversize Long Edge"
-msgstr ""
-
-msgid "Packet does not contain a Get-Response-PDU"
-msgstr "Paketti ei sisällä Get-Response-PDU:ta"
-
-msgid "Packet does not start with SEQUENCE"
-msgstr "Paketti ei ala SEQUENCE:lla"
-
-msgid "ParamCustominCutInterval"
-msgstr "ParamCustominCutInterval"
-
-msgid "ParamCustominTearInterval"
-msgstr "ParamCustominTearInterval"
-
-#, c-format
-msgid "Password for %s on %s? "
-msgstr "Salasana kohteelle %s kohteessa %s? "
-
-#, c-format
-msgid "Password for %s required to access %s via SAMBA: "
-msgstr ""
-"Kohteelle %s tarvitaan salasana kohteen %s käyttämiseen Samban kautta: "
-
-msgid "Pause Class"
-msgstr "Keskeytä luokka"
-
-msgid "Pause Printer"
-msgstr "Keskeytä tulostin"
-
-msgid "Peel-Off"
-msgstr "Irrotettava"
-
-msgid "Photo"
-msgstr "Valokuva"
-
-msgid "Photo Labels"
-msgstr "Valokuvatarrat"
-
-msgid "Plain Paper"
-msgstr "Tavallinen paperi"
-
-msgid "Policies"
-msgstr "Käytännöt"
-
-msgid "Port Monitor"
-msgstr "Porttimonitori"
-
-msgid "PostScript Printer"
-msgstr "PostScript-tulostin"
-
-msgid "Postcard"
-msgstr "Postikortti"
-
-msgid "Postcard Double "
-msgstr ""
-
-msgid "Postcard Double Long Edge"
-msgstr ""
-
-msgid "Postcard Long Edge"
-msgstr ""
-
-msgid "Print Density"
-msgstr "Tulostustiheys"
-
-msgid "Print Job:"
-msgstr "Tulosta työ:"
-
-msgid "Print Mode"
-msgstr "Tulostustila"
-
-msgid "Print Rate"
-msgstr "Tulostustaajuus"
-
-msgid "Print Self-Test Page"
-msgstr "Tulosta itsetestisivu"
-
-msgid "Print Speed"
-msgstr "Tulostusnopeus"
-
-msgid "Print Test Page"
-msgstr "Tulosta testisivu"
-
-msgid "Print and Cut"
-msgstr "Tulosta ja leikkaa"
-
-msgid "Print and Tear"
-msgstr "Tulosta ja revi"
-
-#, c-format
-msgid "Print file accepted - job ID %d."
-msgstr ""
-
-msgid "Print file accepted - job ID unknown."
-msgstr ""
-
-msgid "Print file sent."
-msgstr ""
-
-msgid "Print file was not accepted."
-msgstr ""
-
-msgid "Print job too large."
-msgstr ""
-
-msgid "Printed For: "
-msgstr "Tulostettu kohteelle: "
-
-msgid "Printed From: "
-msgstr "Tulostettu kohteesta: "
-
-msgid "Printed On: "
-msgstr "Tulostettu: "
-
-msgid "Printer Added"
-msgstr "Tulostin lisätty"
-
-msgid "Printer Default"
-msgstr "Tulostimen oletus"
-
-msgid "Printer Deleted"
-msgstr "Tulostin poistettu"
-
-msgid "Printer Modified"
-msgstr "Tulostinta muokattu"
-
-msgid "Printer Name: "
-msgstr "Tulostimen nimi: "
-
-msgid "Printer Paused"
-msgstr "Tulostin keskeytetty"
-
-msgid "Printer Settings"
-msgstr "Tulostinasetukset"
-
-msgid "Printer busy, will retry in 10 seconds."
-msgstr ""
-
-msgid "Printer busy; will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer did not respond."
-msgstr ""
-
-#, c-format
-msgid "Printer does not support IPP/%d.%d, trying IPP/%s."
-msgstr ""
-
-msgid "Printer is busy, will retry in 5 seconds."
-msgstr ""
-
-msgid "Printer is not currently connected."
-msgstr ""
-
-msgid "Printer is now connected."
-msgstr ""
-
-msgid "Printer is now online."
-msgstr ""
-
-msgid "Printer is offline."
-msgstr ""
-
-msgid "Printer not connected, will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer not connected; will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer:"
-msgstr "Tulostin:"
-
-msgid "Printers"
-msgstr "Tulostimet"
-
-#, c-format
-msgid "Printing page %d, %d%% complete."
-msgstr ""
-
-#, c-format
-msgid "Printing page %d."
-msgstr ""
-
-msgid "Purge Jobs"
-msgstr "Poista työt"
-
-msgid "Quarto"
-msgstr "Quarto"
-
-msgid "Quota limit reached."
-msgstr "Kiintiöraja saavutettu."
-
-msgid "Rank    Owner   Job     File(s)                         Total Size"
-msgstr ""
-
-#. TRANSLATORS: Pri is job priority.
-msgid ""
-"Rank   Owner      Pri  Job        Files                       Total Size"
-msgstr ""
-
-msgid "Ready to print."
-msgstr ""
-
-msgid "Reject Jobs"
-msgstr "Hylkää työt"
-
-#, c-format
-msgid "Remote host did not accept control file (%d)."
-msgstr ""
-
-#, c-format
-msgid "Remote host did not accept data file (%d)."
-msgstr ""
-
-msgid "Reprint After Error"
-msgstr "Tulosta uudelleen virheen jälkeen"
-
-msgid "Request Entity Too Large"
-msgstr "Pyydetty kohde liian suuri"
-
-msgid "Resolution"
-msgstr "Tarkkuus"
-
-msgid "Resume Class"
-msgstr "Jatka luokka"
-
-msgid "Resume Printer"
-msgstr "Jatka tulostin"
-
-msgid "Return Address"
-msgstr "Palautusosoite"
-
-msgid "Return Address - 3/4 x 2\""
-msgstr "Palautusosoite - 3/4 x 2 \""
-
-msgid "Rewind"
-msgstr "Kelaa taaksepäin"
-
-#, c-format
-msgid "Running command: %s %s -N -A %s -c '%s'"
-msgstr ""
-
-msgid "SEQUENCE uses indefinite length"
-msgstr "SEQUENCE käyttää määrittämätöntä pituutta"
-
-msgid "SSL/TLS Negotiation Error"
-msgstr ""
-
-msgid "See Other"
-msgstr "Katso muu"
-
-msgid "Sending data to printer."
-msgstr ""
-
-#, c-format
-msgid "Serial Port #%d"
-msgstr "Sarjaportti %d"
-
-msgid "Server Restarted"
-msgstr "Palvelin käynnistettiin uudelleen"
-
-msgid "Server Security Auditing"
-msgstr "Palvelimen turvallisuustarkastus"
-
-msgid "Server Started"
-msgstr "Palvelin käynnistetty"
-
-msgid "Server Stopped"
-msgstr "Palvelin pysäytetty"
-
-msgid "Service Unavailable"
-msgstr "Palvelu ei käytettävissä"
-
-msgid "Set Allowed Users"
-msgstr "Aseta sallitut käyttäjät"
-
-msgid "Set As Server Default"
-msgstr "Aseta palvelimen oletukseksi"
-
-msgid "Set Class Options"
-msgstr "Aseta luokan valinnat"
-
-msgid "Set Printer Options"
-msgstr "Aseta tulostimen valinnat"
-
-msgid "Set Publishing"
-msgstr "Aseta julkaisu"
-
-msgid "Shipping Address"
-msgstr "Lähetysosoite"
-
-msgid "Shipping Address - 2 5/16 x 4\""
-msgstr "Lähetysosoite - 2 5/16 x 4 \""
-
-msgid "Short-Edge (Landscape)"
-msgstr "Lyhyt reuna (vaaka)"
-
-msgid "Special Paper"
-msgstr "Erikoispaperi"
-
-#, c-format
-msgid "Spooling job, %.0f%% complete."
-msgstr ""
-
-msgid "Standard"
-msgstr "Standardi"
-
-#. TRANSLATORS: Banner/cover sheet before the print job.
-msgid "Starting Banner"
-msgstr "Aloitetaan otsikkoa"
-
-#, c-format
-msgid "Starting page %d."
-msgstr ""
-
-msgid "Statement"
-msgstr "Lausunto"
-
-msgid "Stylus Color Series"
-msgstr "Stylus Color Series"
-
-msgid "Stylus Photo Series"
-msgstr "Stylus Photo Series"
-
-#, c-format
-msgid "Subscription #%d does not exist."
-msgstr ""
-
-msgid "Super A"
-msgstr "Super A"
-
-msgid "Super B"
-msgstr "Super B"
-
-msgid "Super B/A3"
-msgstr "Super B/A3"
-
-msgid "Switching Protocols"
-msgstr "Vaihdetaan protokollia"
-
-msgid "Tabloid"
-msgstr "Tabloid"
-
-msgid "Tabloid Oversize"
-msgstr ""
-
-msgid "Tabloid Oversize Long Edge"
-msgstr ""
-
-msgid "Tear"
-msgstr "Revi"
-
-msgid "Tear-Off"
-msgstr "Repäisy"
-
-msgid "Tear-Off Adjust Position"
-msgstr "Repäisykohdan säätö"
-
-#, c-format
-msgid "The %s attribute cannot be provided with job-ids."
-msgstr ""
-
-#, c-format
-msgid "The PPD file \"%s\" could not be found."
-msgstr "PPD-tiedostoa ”%s” ei löytynyt."
-
-#, c-format
-msgid "The PPD file \"%s\" could not be opened: %s"
-msgstr "PPD-tiedostoa ”%s” ei voitu avata: %s"
-
-msgid "The PPD file could not be opened."
-msgstr ""
-
-msgid ""
-"The class name may only contain up to 127 printable characters and may not "
-"contain spaces, slashes (/), or the pound sign (#)."
-msgstr ""
-"Luokan nimi voi sisältää enintään 127 näkyvää merkkiä eikä voi sisältää "
-"välilyöntejä, kauttaviivoja (/) eikä ristikkomerkkiä (#)."
-
-msgid "The developer unit needs to be replaced."
-msgstr ""
-
-msgid "The developer unit will need to be replaced soon."
-msgstr ""
-
-msgid "The fuser's temperature is high."
-msgstr ""
-
-msgid "The fuser's temperature is low."
-msgstr ""
-
-msgid ""
-"The notify-lease-duration attribute cannot be used with job subscriptions."
-msgstr ""
-"notify-lease-duration-attribuuttia ei voida käyttää työtilausten kanssa."
-
-#, c-format
-msgid "The notify-user-data value is too large (%d > 63 octets)."
-msgstr ""
-
-msgid "The optical photoconductor needs to be replaced."
-msgstr ""
-
-msgid "The optical photoconductor will need to be replaced soon."
-msgstr ""
-
-msgid "The output bin is almost full."
-msgstr ""
-
-msgid "The output bin is full."
-msgstr ""
-
-msgid "The output bin is missing."
-msgstr ""
-
-msgid "The page setup information was not valid."
-msgstr ""
-
-msgid "The paper tray is almost empty."
-msgstr ""
-
-msgid "The paper tray is empty."
-msgstr ""
-
-msgid "The paper tray is missing."
-msgstr ""
-
-msgid "The paper tray needs to be filled."
-msgstr ""
-
-msgid "The print file could not be opened."
-msgstr ""
-
-msgid "The printer URI is incorrect or no longer exists."
-msgstr ""
-
-msgid "The printer is busy."
-msgstr ""
-
-msgid "The printer is not connected."
-msgstr ""
-
-msgid "The printer is not responding."
-msgstr ""
-
-msgid "The printer is out of ink."
-msgstr ""
-
-msgid "The printer is running low on ink."
-msgstr ""
-
-msgid "The printer is running low on toner."
-msgstr ""
-
-msgid "The printer is unreachable at this time."
-msgstr ""
-
-msgid "The printer may be out of toner."
-msgstr ""
-
-msgid "The printer may not exist or is unavailable at this time."
-msgstr ""
-
-msgid ""
-"The printer name may only contain up to 127 printable characters and may not "
-"contain spaces, slashes (/), or the pound sign (#)."
-msgstr ""
-"Tulostimen nimi voi sisältää enintään 127 näkyvää merkkiä eikä voi sisältää "
-"välilyöntejä, kauttaviivoja (/) eikä ristikkomerkkiä (#)."
-
-msgid "The printer or class does not exist."
-msgstr ""
-
-msgid "The printer or class is not shared."
-msgstr ""
-
-msgid "The printer's cover is open."
-msgstr ""
-
-msgid "The printer's door is open."
-msgstr ""
-
-msgid "The printer's interlock is open."
-msgstr ""
-
-msgid "The printer's waste bin is almost full."
-msgstr ""
-
-msgid "The printer's waste bin is full."
-msgstr ""
-
-#, c-format
-msgid "The printer-uri \"%s\" contains invalid characters."
-msgstr "printer-uri ”%s” sisältää virheellisiä merkkejä."
-
-msgid "The printer-uri attribute is required."
-msgstr ""
-
-msgid ""
-"The printer-uri must be of the form \"ipp://HOSTNAME/classes/CLASSNAME\"."
-msgstr ""
-"printer-uri:n on oltava muotoa ”ipp://PALVELINNIMI/classes/LUOKANNIMI”."
-
-msgid ""
-"The printer-uri must be of the form \"ipp://HOSTNAME/printers/PRINTERNAME\"."
-msgstr ""
-"printer-uri:n on oltava muotoa ”ipp://PALVELINNIMI/printers/TULOSTIMENNIMI”."
-
-msgid ""
-"The subscription name may not contain spaces, slashes (/), question marks "
-"(?), or the pound sign (#)."
-msgstr ""
-"Tilauksen nimi ei voi sisältää välilyöntejä, kauttaviivoja (/), "
-"kysymysmerkkejä (?) eikä ristikkomerkkiä (#)."
-
-msgid ""
-"The web interface is currently disabled. Run \"cupsctl WebInterface=yes\" to "
-"enable it."
-msgstr ""
-
-#, c-format
-msgid "The which-jobs value \"%s\" is not supported."
-msgstr ""
-
-msgid "There are too many subscriptions."
-msgstr "Tilauksia on liikaa."
-
-msgid "There is a paper jam."
-msgstr ""
-
-msgid "There was an unrecoverable USB error."
-msgstr ""
-
-msgid "Thermal Transfer Media"
-msgstr "Lämpösiirtomedia"
-
-msgid "Title: "
-msgstr "Otsikko: "
-
-msgid "Too many active jobs."
-msgstr "Liikaa aktiivisia töitä."
-
-#, c-format
-msgid "Too many job-sheets values (%d > 2)."
-msgstr ""
-
-#, c-format
-msgid "Too many printer-state-reasons values (%d > %d)."
-msgstr ""
-
-msgid "Transparency"
-msgstr "Kalvo"
-
-msgid "Tray"
-msgstr "Alusta"
-
-msgid "Tray 1"
-msgstr "Alusta 1"
-
-msgid "Tray 2"
-msgstr "Alusta 2"
-
-msgid "Tray 3"
-msgstr "Alusta 3"
-
-msgid "Tray 4"
-msgstr "Alusta 4"
-
-msgid "URI Too Long"
-msgstr "Osoite liian pitkä"
-
-msgid "US Ledger"
-msgstr "US Ledger"
-
-msgid "US Legal"
-msgstr "US Legal"
-
-msgid "US Legal Oversize"
-msgstr ""
-
-msgid "US Letter"
-msgstr "US Letter"
-
-msgid "US Letter Long Edge"
-msgstr ""
-
-msgid "US Letter Oversize"
-msgstr ""
-
-msgid "US Letter Oversize Long Edge"
-msgstr ""
-
-msgid "US Letter Small"
-msgstr ""
-
-#, c-format
-msgid "USB Serial Port #%d"
-msgstr "USB-sarjaportti %d"
-
-msgid "Unable to access cupsd.conf file:"
-msgstr "cupsd.conf-tiedostoa ei voida käyttää:"
-
-msgid "Unable to add RSS subscription:"
-msgstr "RSS-tilausta ei voida lisätä:"
-
-msgid "Unable to add class:"
-msgstr "Luokkaa ei voida lisätä:"
-
-msgid "Unable to add document to print job."
-msgstr ""
-
-#, c-format
-msgid "Unable to add job for destination \"%s\"."
-msgstr ""
-
-msgid "Unable to add printer:"
-msgstr "Tulostinta ei voida lisätä:"
-
-msgid "Unable to allocate memory for file types."
-msgstr ""
-
-msgid "Unable to allocate memory for page info"
-msgstr ""
-
-msgid "Unable to allocate memory for pages array"
-msgstr ""
-
-msgid "Unable to cancel RSS subscription:"
-msgstr "RSS-tilausta ei voida perua:"
-
-msgid "Unable to cancel print job."
-msgstr ""
-
-msgid "Unable to change printer-is-shared attribute:"
-msgstr "printer-is-shared-attribuuttia ei voida muuttaa:"
-
-msgid "Unable to change printer:"
-msgstr "Tulostinta ei voida vaihtaa:"
-
-msgid "Unable to change server settings:"
-msgstr "Palvelimen asetuksia ei voida muuttaa:"
-
-msgid "Unable to configure printer options."
-msgstr ""
-
-msgid "Unable to connect to host."
-msgstr "Palvelimeen ei voida yhdistää."
-
-msgid "Unable to contact printer, queuing on next printer in class."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy 64-bit CUPS printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy 64-bit Windows printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy CUPS printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy PPD file - %s"
-msgstr ""
-
-msgid "Unable to copy PPD file."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy Windows 2000 printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy Windows 9x printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy interface script - %s"
-msgstr ""
-
-msgid "Unable to copy print file"
-msgstr ""
-
-msgid "Unable to create compressed print file"
-msgstr ""
-
-msgid "Unable to create pipes for filters"
-msgstr ""
-
-msgid "Unable to create printer-uri"
-msgstr ""
-
-msgid "Unable to create temporary file"
-msgstr ""
-
-msgid "Unable to create temporary file:"
-msgstr "Tilapäistiedostoa ei voida luoda:"
-
-msgid "Unable to delete class:"
-msgstr "Luokkaa ei voida poistaa:"
-
-msgid "Unable to delete printer:"
-msgstr "Tulostinta ei voida poistaa:"
-
-msgid "Unable to do maintenance command:"
-msgstr "Ylläpitokomentoa ei voida suorittaa:"
-
-msgid "Unable to edit cupsd.conf files larger than 1MB"
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (certificate chain invalid)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (certificate not yet valid)."
-msgstr ""
-
-msgid "Unable to establish a secure connection to host (expired certificate)."
-msgstr ""
-
-msgid "Unable to establish a secure connection to host (host name mismatch)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (peer dropped connection "
-"before responding)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (self-signed certificate)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (untrusted certificate)."
-msgstr ""
-
-msgid "Unable to establish a secure connection to host."
-msgstr ""
-
-msgid "Unable to find destination for job"
-msgstr ""
-
-msgid "Unable to find printer."
-msgstr ""
-
-msgid "Unable to fork filter"
-msgstr ""
-
-msgid "Unable to generate compressed print file"
-msgstr ""
-
-msgid "Unable to get backend exit status."
-msgstr ""
-
-msgid "Unable to get class list:"
-msgstr "Luokkaluetteloa ei voida hakea:"
-
-msgid "Unable to get class status:"
-msgstr "Luokan tilaa ei voida hakea:"
-
-msgid "Unable to get list of printer drivers:"
-msgstr "Luetteloa tulostinajureista ei voida hakea:"
-
-msgid "Unable to get printer attributes:"
-msgstr "Tulostimen attribuutteja ei voida hakea:"
-
-msgid "Unable to get printer list:"
-msgstr "Tulostinluetteloa ei voida hakea:"
-
-msgid "Unable to get printer status."
-msgstr ""
-
-msgid "Unable to get printer status:"
-msgstr "Tulostimen tilaa ei voida hakea:"
-
-#, c-format
-msgid "Unable to install Windows 2000 printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to install Windows 9x printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to locate printer \"%s\"."
-msgstr ""
-
-msgid "Unable to locate printer."
-msgstr ""
-
-msgid "Unable to modify class:"
-msgstr "Luokkaa ei voida muokata:"
-
-msgid "Unable to modify printer:"
-msgstr "Tulostinta ei voida muokata:"
-
-msgid "Unable to move job"
-msgstr "Työtä ei voida siirtää"
-
-msgid "Unable to move jobs"
-msgstr "Töitä ei voida siirtää"
-
-msgid "Unable to open PPD file"
-msgstr "PPD-tiedostoa ei voida avata"
-
-msgid "Unable to open PPD file:"
-msgstr "PPD-tiedostoa ei voida avata:"
-
-msgid "Unable to open charset file"
-msgstr ""
-
-msgid "Unable to open compressed print file"
-msgstr ""
-
-msgid "Unable to open cupsd.conf file:"
-msgstr "cupsd.conf-tiedostoa ei voida avata:"
-
-msgid "Unable to open device file"
-msgstr ""
-
-#, c-format
-msgid "Unable to open document #%d in job #%d."
-msgstr ""
-
-msgid "Unable to open print file"
-msgstr ""
-
-msgid "Unable to open psglyphs"
-msgstr ""
-
-msgid "Unable to open raster file"
-msgstr ""
-
-#, c-format
-msgid "Unable to print %d text columns."
-msgstr ""
-
-#, c-format
-msgid "Unable to print %dx%d text page."
-msgstr ""
-
-msgid "Unable to print test page:"
-msgstr "Testisivua ei voida tulostaa:"
-
-msgid "Unable to read print data"
-msgstr ""
-
-msgid "Unable to read print data."
-msgstr ""
-
-#, c-format
-msgid "Unable to run \"%s\": %s"
-msgstr ""
-
-msgid "Unable to see in file"
-msgstr ""
-
-msgid "Unable to send command to printer driver"
-msgstr ""
-
-msgid "Unable to send data to printer."
-msgstr ""
-
-msgid "Unable to send raster data to the driver."
-msgstr ""
-
-#, c-format
-msgid "Unable to set Windows printer driver (%d)."
-msgstr ""
-
-msgid "Unable to set options:"
-msgstr "Valintoja ei voida asettaa:"
-
-msgid "Unable to set server default:"
-msgstr "Palvelimen oletusta ei voida asettaa:"
-
-msgid "Unable to start backend process."
-msgstr ""
-
-msgid "Unable to upload cupsd.conf file:"
-msgstr "cupsd.conf-tiedostoa ei voida lähettää:"
-
-msgid "Unable to use legacy USB class driver."
-msgstr ""
-
-msgid "Unable to write print data"
-msgstr ""
-
-#, c-format
-msgid "Unable to write uncompressed print data: %s"
-msgstr ""
-
-msgid "Unauthorized"
-msgstr "Valtuuttamaton"
-
-msgid "Units"
-msgstr "Yksiköt"
-
-msgid "Unknown"
-msgstr "Tuntematon"
-
-#, c-format
-msgid "Unknown choice \"%s\" for option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown encryption option value: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown file order: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown format character: \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown option \"%s\" with value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown print mode: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown printer-error-policy \"%s\"."
-msgstr "Tuntematon printer-error-policy ”%s”."
-
-#, c-format
-msgid "Unknown printer-op-policy \"%s\"."
-msgstr "Tuntematon printer-op-policy ”%s”."
-
-#, c-format
-msgid "Unknown version option value: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported baud rate: %s"
-msgstr ""
-
-#, c-format
-msgid "Unsupported brightness value %s, using brightness=100."
-msgstr ""
-
-#, c-format
-msgid "Unsupported character set \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported compression \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported document-format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported document-format \"%s/%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported gamma value %s, using gamma=1000."
-msgstr ""
-
-msgid "Unsupported margins."
-msgstr ""
-
-msgid "Unsupported media value."
-msgstr ""
-
-#, c-format
-msgid "Unsupported number-up value %d, using number-up=1."
-msgstr ""
-
-#, c-format
-msgid "Unsupported number-up-layout value %s, using number-up-layout=lrtb."
-msgstr ""
-
-#, c-format
-msgid "Unsupported page-border value %s, using page-border=none."
-msgstr ""
-
-msgid "Unsupported raster data."
-msgstr ""
-
-msgid "Unsupported value type"
-msgstr "Ei-tuettu arvotyyppi"
-
-msgid "Upgrade Required"
-msgstr "Päivitys vaaditaan"
-
-msgid ""
-"Usage:\n"
-"\n"
-"    lpadmin [-h server] -d destination\n"
-"    lpadmin [-h server] -x destination\n"
-"    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m model]\n"
-"                       [-r remove-class] [-v device] [-D description]\n"
-"                       [-P ppd-file] [-o name=value]\n"
-"                       [-u allow:user,user] [-u deny:user,user]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job user title copies options [filename]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job-id user title copies options [file]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job-id user title copies options file"
-msgstr ""
-
-msgid "Usage: convert [ options ]"
-msgstr ""
-
-msgid "Usage: cupsaddsmb [options] printer1 ... printerN"
-msgstr ""
-
-msgid "Usage: cupsctl [options] [param=value ... paramN=valueN]"
-msgstr ""
-
-msgid "Usage: cupsd [options]"
-msgstr ""
-
-msgid "Usage: cupsfilter [ options ] filename"
-msgstr ""
-
-msgid "Usage: cupstestdsc [options] filename.ps [... filename.ps]"
-msgstr ""
-
-msgid ""
-"Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]"
-msgstr ""
-
-msgid "Usage: ipptool [options] URI filename [ ... filenameN ]"
-msgstr ""
-
-msgid "Usage: lpmove job/src dest"
-msgstr ""
-
-msgid ""
-"Usage: lpoptions [-h server] [-E] -d printer\n"
-"       lpoptions [-h server] [-E] [-p printer] -l\n"
-"       lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
-"       lpoptions [-h server] [-E] -x printer"
-msgstr ""
-
-msgid "Usage: lppasswd [-g groupname]"
-msgstr ""
-
-msgid ""
-"Usage: lppasswd [-g groupname] [username]\n"
-"       lppasswd [-g groupname] -a [username]\n"
-"       lppasswd [-g groupname] -x [username]"
-msgstr ""
-
-msgid ""
-"Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]"
-msgstr ""
-
-msgid "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]"
-msgstr ""
-
-msgid "Usage: ppdhtml [options] filename.drv >filename.html"
-msgstr ""
-
-msgid "Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]"
-msgstr ""
-
-msgid "Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]"
-msgstr ""
-
-msgid ""
-"Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]"
-msgstr ""
-
-msgid "Usage: snmp [host-or-ip-address]"
-msgstr ""
-
-msgid "Value uses indefinite length"
-msgstr "Arvo käyttää määrittämätöntä pituutta"
-
-msgid "VarBind uses indefinite length"
-msgstr "VarBind käyttää määrittämätöntä pituutta"
-
-msgid "Version uses indefinite length"
-msgstr "Versio käyttää määrittämätöntä pituutta"
-
-msgid "Waiting for job to complete."
-msgstr ""
-
-msgid "Waiting for printer to become available."
-msgstr ""
-
-msgid "Waiting for printer to finish."
-msgstr ""
-
-msgid "Warning, no Windows 2000 printer drivers are installed."
-msgstr ""
-
-msgid "Web Interface is Disabled"
-msgstr ""
-
-msgid "Yes"
-msgstr "Kyllä"
-
-#, c-format
-msgid ""
-"You must access this page using the URL <A HREF=\"https://%s:%d%s\">https://%"
-"s:%d%s</A>."
-msgstr ""
-"Sivua on käytettävä käyttäen osoitetta <A HREF=\"https://%s:%d%s\">https://%"
-"s:%d%s</A>."
-
-msgid ""
-"Your password must be at least 6 characters long, cannot contain your "
-"username, and must contain at least one letter and number."
-msgstr ""
-
-msgid "ZPL Label Printer"
-msgstr "ZPL-tarratulostin"
-
-msgid "Zebra"
-msgstr "Zebra"
-
-msgid "aborted"
-msgstr "keskeytetty"
-
-msgid "canceled"
-msgstr "peruttu"
-
-msgid "completed"
-msgstr "suoritettu"
-
-msgid "convert: Use the -f option to specify a file to convert."
-msgstr ""
-
-msgid "cups-deviced failed to execute."
-msgstr "cups-deviced:n suorittaminen epäonnistui."
-
-msgid "cups-driverd failed to execute."
-msgstr "cups-driverd:n suorittaminen epäonnistui."
-
-#, c-format
-msgid "cupsaddsmb: No PPD file for printer \"%s\" - %s"
-msgstr ""
-
-msgid "cupsctl: Cannot set Listen or Port directly."
-msgstr ""
-
-#, c-format
-msgid "cupsctl: Unable to connect to server: %s"
-msgstr ""
-
-#, c-format
-msgid "cupsctl: Unknown option \"%s\""
-msgstr ""
-
-#, c-format
-msgid "cupsctl: Unknown option \"-%c\""
-msgstr ""
-
-msgid "cupsd: Expected config filename after \"-c\" option."
-msgstr ""
-
-msgid "cupsd: Unable to get current directory."
-msgstr ""
-
-#, c-format
-msgid "cupsd: Unknown argument \"%s\" - aborting."
-msgstr ""
-
-#, c-format
-msgid "cupsd: Unknown option \"%c\" - aborting."
-msgstr ""
-
-msgid "cupsd: launchd(8) support not compiled in, running in normal mode."
-msgstr ""
-
-#, c-format
-msgid "cupsfilter: Invalid document number %d."
-msgstr ""
-
-#, c-format
-msgid "cupsfilter: Invalid job ID %d."
-msgstr ""
-
-msgid "cupsfilter: Only one filename can be specified."
-msgstr ""
-
-#, c-format
-msgid "cupsfilter: Unable to get job file - %s"
-msgstr ""
-
-msgid "cupstestppd: The -q option is incompatible with the -v option."
-msgstr ""
-
-msgid "cupstestppd: The -v option is incompatible with the -q option."
-msgstr ""
-
-#, c-format
-msgid "device for %s/%s: %s"
-msgstr ""
-
-#, c-format
-msgid "device for %s: %s"
-msgstr ""
-
-msgid "error-index uses indefinite length"
-msgstr "error-index käyttää määrittämätöntä pituutta"
-
-msgid "error-status uses indefinite length"
-msgstr "error-status käyttää määrittämätöntä pituutta"
-
-msgid "held"
-msgstr "pidetty"
-
-msgid "help\t\tGet help on commands."
-msgstr ""
-
-msgid "idle"
-msgstr "toimeton"
-
-msgid "ipptool: \"-i\" and \"-n\" are incompatible with -X\"."
-msgstr ""
-
-msgid "ipptool: \"-i\" is incompatible with \"-X\"."
-msgstr ""
-
-msgid "ipptool: \"-n\" is incompatible with \"-X\"."
-msgstr ""
-
-#, c-format
-msgid "ipptool: Bad URI - %s."
-msgstr ""
-
-#, c-format
-msgid "ipptool: Bad version %s for \"-V\"."
-msgstr ""
-
-msgid "ipptool: Invalid seconds for \"-i\"."
-msgstr ""
-
-msgid "ipptool: May only specify a single URI."
-msgstr ""
-
-msgid "ipptool: Missing count for \"-n\"."
-msgstr ""
-
-msgid "ipptool: Missing filename for \"-f\"."
-msgstr ""
-
-msgid "ipptool: Missing name=value for \"-d\"."
-msgstr ""
-
-msgid "ipptool: Missing seconds for \"-i\"."
-msgstr ""
-
-msgid "ipptool: Missing timeout for \"-T\"."
-msgstr ""
-
-msgid "ipptool: Missing version for \"-V\"."
-msgstr ""
-
-msgid "ipptool: URI required before test file."
-msgstr ""
-
-#, c-format
-msgid "ipptool: Unknown option \"-%c\"."
-msgstr ""
-
-msgid "job-printer-uri attribute missing."
-msgstr ""
-
-msgid "lpadmin: Class name can only contain printable characters."
-msgstr ""
-
-msgid "lpadmin: Expected PPD after \"-P\" option."
-msgstr ""
-
-msgid "lpadmin: Expected allow/deny:userlist after \"-u\" option."
-msgstr ""
-
-msgid "lpadmin: Expected class after \"-r\" option."
-msgstr ""
-
-msgid "lpadmin: Expected class name after \"-c\" option."
-msgstr ""
-
-msgid "lpadmin: Expected description after \"-D\" option."
-msgstr ""
-
-msgid "lpadmin: Expected device URI after \"-v\" option."
-msgstr ""
-
-msgid "lpadmin: Expected file type(s) after \"-I\" option."
-msgstr ""
-
-msgid "lpadmin: Expected hostname after \"-h\" option."
-msgstr ""
-
-msgid "lpadmin: Expected interface after \"-i\" option."
-msgstr ""
-
-msgid "lpadmin: Expected location after \"-L\" option."
-msgstr ""
-
-msgid "lpadmin: Expected model after \"-m\" option."
-msgstr ""
-
-msgid "lpadmin: Expected name after \"-R\" option."
-msgstr ""
-
-msgid "lpadmin: Expected name=value after \"-o\" option."
-msgstr ""
-
-msgid "lpadmin: Expected printer after \"-p\" option."
-msgstr ""
-
-msgid "lpadmin: Expected printer name after \"-d\" option."
-msgstr ""
-
-msgid "lpadmin: Expected printer or class after \"-x\" option."
-msgstr ""
-
-msgid "lpadmin: No member names were seen."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Printer %s is already a member of class %s."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Printer %s is not a member of class %s."
-msgstr ""
-
-msgid "lpadmin: Printer name can only contain printable characters."
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to add a printer to the class:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unable to connect to server: %s"
-msgstr ""
-
-msgid "lpadmin: Unable to create temporary file"
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to delete option:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unable to open PPD file \"%s\" - %s"
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to remove a printer from the class:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to set the printer options:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unknown allow/deny option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unknown argument \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unknown option \"%c\"."
-msgstr ""
-
-msgid "lpadmin: Warning - content type list ignored."
-msgstr ""
-
-msgid "lpc> "
-msgstr "lpc> "
-
-msgid "lpinfo: Expected 1284 device ID string after \"--device-id\"."
-msgstr ""
-
-msgid "lpinfo: Expected language after \"--language\"."
-msgstr ""
-
-msgid "lpinfo: Expected make and model after \"--make-and-model\"."
-msgstr ""
-
-msgid "lpinfo: Expected product string after \"--product\"."
-msgstr ""
-
-msgid "lpinfo: Expected scheme list after \"--exclude-schemes\"."
-msgstr ""
-
-msgid "lpinfo: Expected scheme list after \"--include-schemes\"."
-msgstr ""
-
-msgid "lpinfo: Expected timeout after \"--timeout\"."
-msgstr ""
-
-#, c-format
-msgid "lpinfo: Unknown argument \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpinfo: Unknown option \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "lpinfo: Unknown option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpmove: Unable to connect to server: %s"
-msgstr ""
-
-#, c-format
-msgid "lpmove: Unknown argument \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpmove: Unknown option \"%c\"."
-msgstr ""
-
-msgid "lpoptions: No printers."
-msgstr ""
-
-#, c-format
-msgid "lpoptions: Unable to add printer or instance: %s"
-msgstr ""
-
-#, c-format
-msgid "lpoptions: Unable to get PPD file for %s: %s"
-msgstr ""
-
-#, c-format
-msgid "lpoptions: Unable to open PPD file for %s."
-msgstr ""
-
-msgid "lpoptions: Unknown printer or class."
-msgstr ""
-
-msgid "lppasswd: Only root can add or delete passwords."
-msgstr ""
-
-msgid "lppasswd: Password file busy."
-msgstr ""
-
-msgid "lppasswd: Password file not updated."
-msgstr ""
-
-msgid "lppasswd: Sorry, password doesn't match."
-msgstr ""
-
-msgid "lppasswd: Sorry, password rejected."
-msgstr ""
-
-msgid "lppasswd: Sorry, passwords don't match."
-msgstr ""
-
-#, c-format
-msgid "lppasswd: Unable to copy password string: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: Unable to open password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: Unable to write to password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: failed to backup old password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: failed to rename password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: user \"%s\" and group \"%s\" do not exist."
-msgstr ""
-
-#, c-format
-msgid ""
-"lpstat: error - %s environment variable names non-existent destination \"%s"
-"\"."
-msgstr ""
-
-#, c-format
-msgid "members of class %s:"
-msgstr ""
-
-msgid "no entries"
-msgstr ""
-
-msgid "no system default destination"
-msgstr ""
-
-msgid "notify-events not specified."
-msgstr ""
-
-#, c-format
-msgid "notify-recipient-uri URI \"%s\" is already used."
-msgstr ""
-
-#, c-format
-msgid "notify-recipient-uri URI \"%s\" uses unknown scheme."
-msgstr ""
-
-msgid "pending"
-msgstr "odottaa"
-
-#, c-format
-msgid "ppdc: Adding include directory \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Adding/updating UI text from %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad boolean value (%s) on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad font attribute: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad resolution name \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad status keyword %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad variable substitution ($%c) on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Choice found on line %d of %s with no Option."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Duplicate #po for locale %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected a filter definition on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected a program name on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected boolean value on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected charset after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected choice code on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected choice name/text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected color order for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected colorspace for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected compression for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected constraints string for UIConstraints on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Expected driver type keyword following DriverType on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected duplex type after Duplex on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected encoding after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected filename after #po %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected group name/text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected include filename on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected integer on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected locale after #po on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after FileName on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after Manufacturer on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after MediaSize on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after ModelName on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after PCFileName on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text after Installable on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text after Resolution on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text combination for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected option name/text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected option section on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected option type on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected override field after Resolution on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected quoted string on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected real number on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Expected resolution/mediatype following ColorProfile on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Expected resolution/mediatype following SimpleColorProfile on line %d "
-"of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected selector after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected status after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected string after Copyright on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected string after Version on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected two option names on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected value after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected version after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid #include/#po filename \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid cost for filter on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid empty MIME type for filter on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid empty program name for filter on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid option section \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid option type \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Loading driver information file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Loading messages for locale \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Loading messages from \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Missing #endif at end of \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Missing #if on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Need a msgid line before any translation strings on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: No message catalog provided for locale %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Option %s defined in two different groups on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Option %s redefined with a different type on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Option constraint must *name on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Too many nested #if's on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to create PPD file \"%s\" - %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to create output directory %s: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to create output pipes: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to execute cupstestppd: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to find #po file %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to find include file \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to find localization for \"%s\" - %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to load localization file \"%s\" - %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to open %s: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Undefined variable (%s) on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unexpected text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown driver type %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown media size \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown message catalog format for \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown token \"%s\" seen on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Unknown trailing characters in real number \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unterminated string starting with %c on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Warning - overlapping filename \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Writing %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Writing PPD files to directory \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s."
-msgstr ""
-
-#, c-format
-msgid "ppdmerge: Ignoring PPD file %s."
-msgstr ""
-
-#, c-format
-msgid "ppdmerge: Unable to backup %s to %s - %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s disabled since %s -"
-msgstr ""
-
-#, c-format
-msgid "printer %s is idle.  enabled since %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s now printing %s-%d.  enabled since %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s/%s disabled since %s -"
-msgstr ""
-
-#, c-format
-msgid "printer %s/%s is idle.  enabled since %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s/%s now printing %s-%d.  enabled since %s"
-msgstr ""
-
-msgid "processing"
-msgstr "käsitellään"
-
-#, c-format
-msgid "request id is %s-%d (%d file(s))"
-msgstr ""
-
-msgid "request-id uses indefinite length"
-msgstr "request-id käyttää määrittämätöntä pituutta"
-
-msgid "scheduler is not running"
-msgstr ""
-
-msgid "scheduler is running"
-msgstr ""
-
-#, c-format
-msgid "stat of %s failed: %s"
-msgstr "kohteen %s stat epäonnistui: %s"
-
-msgid "status\t\tShow status of daemon and queue."
-msgstr ""
-
-msgid "stopped"
-msgstr "pysäytetty"
-
-#, c-format
-msgid "system default destination: %s"
-msgstr ""
-
-#, c-format
-msgid "system default destination: %s/%s"
-msgstr ""
-
-msgid "unknown"
-msgstr "tuntematon"
-
-msgid "untitled"
-msgstr "nimetön"
-
-msgid "variable-bindings uses indefinite length"
-msgstr "variable-bindings käyttää määrittämätöntä pituutta"
-
-#~ msgid "\t\t(all)\n"
-#~ msgstr "\t\t(kaikki)\n"
-
-#~ msgid "\t\t(none)\n"
-#~ msgstr "\t\t(ei mitään)\n"
-
-#~ msgid "\t%d entries\n"
-#~ msgstr "\t%d tietuetta\n"
-
-#~ msgid "\tAfter fault: continue\n"
-#~ msgstr "\tVian jälkeen: jatka\n"
-
-#~ msgid "\tAlerts:"
-#~ msgstr "\tVaroitukset:"
-
-#~ msgid "\tBanner required\n"
-#~ msgstr "\tOtsikko vaaditaan\n"
-
-#~ msgid "\tCharset sets:\n"
-#~ msgstr "\tMerkistöt:\n"
-
-#~ msgid "\tConnection: direct\n"
-#~ msgstr "\tYhteys: suora\n"
-
-#~ msgid "\tConnection: remote\n"
-#~ msgstr "\tYhteys: etä\n"
-
-#~ msgid "\tDefault page size:\n"
-#~ msgstr "\tSivun oletuskoko:\n"
-
-#~ msgid "\tDefault pitch:\n"
-#~ msgstr "\tOletusmerkkiväli:\n"
-
-#~ msgid "\tDefault port settings:\n"
-#~ msgstr "\tPortin oletusasetukset:\n"
-
-#~ msgid "\tDescription: %s\n"
-#~ msgstr "\tKuvaus: %s\n"
-
-#~ msgid ""
-#~ "\tForm mounted:\n"
-#~ "\tContent types: any\n"
-#~ "\tPrinter types: unknown\n"
-#~ msgstr ""
-#~ "\tLomake liitetty:\n"
-#~ "\tSisältötyypit: mikä tahansa\n"
-#~ "\tTulostintyypit: tuntematon\n"
-
-#~ msgid "\tForms allowed:\n"
-#~ msgstr "\tLomakkeet sallittu:\n"
-
-#~ msgid "\tInterface: %s.ppd\n"
-#~ msgstr "\tLiitäntä: %s.ppd\n"
-
-#~ msgid "\tInterface: %s/interfaces/%s\n"
-#~ msgstr "\tLiitäntä: %s/interfaces/%s\n"
-
-#~ msgid "\tInterface: %s/ppd/%s.ppd\n"
-#~ msgstr "\tLiitäntä: %s/ppd/%s.ppd\n"
-
-#~ msgid "\tLocation: %s\n"
-#~ msgstr "\tSijainti: %s\n"
-
-#~ msgid "\tOn fault: no alert\n"
-#~ msgstr "\tVian aikana: ei varoitusta\n"
-
-#~ msgid "\tUsers allowed:\n"
-#~ msgstr "\tKäyttäjät sallittu:\n"
-
-#~ msgid "\tUsers denied:\n"
-#~ msgstr "\tKäyttäjät estetty:\n"
-
-#~ msgid "\tdaemon present\n"
-#~ msgstr "\ttaustaprosessi käynnissä\n"
-
-#~ msgid "\tno entries\n"
-#~ msgstr "\tei tietueita\n"
-
-#~ msgid "\tprinter is on device '%s' speed -1\n"
-#~ msgstr "\ttulostin on laitteessa ”%s” nopeus -1\n"
-
-#~ msgid "\tprinting is disabled\n"
-#~ msgstr "\ttulostus on pois käytöstä\n"
-
-#~ msgid "\tprinting is enabled\n"
-#~ msgstr "\ttulostus on käytössä\n"
-
-#~ msgid "\tqueued for %s\n"
-#~ msgstr "\tjonossa kohteelle %s\n"
-
-#~ msgid "\tqueuing is disabled\n"
-#~ msgstr "\tjonotus on pois käytöstä\n"
-
-#~ msgid "\tqueuing is enabled\n"
-#~ msgstr "\tjonotus on käytössä\n"
-
-#~ msgid "\treason unknown\n"
-#~ msgstr "\tsyy tuntematon\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "    DETAILED CONFORMANCE TEST RESULTS\n"
-#~ msgstr ""
-#~ "\n"
-#~ "    YKSITYISKOHTAISET STANDARDIENMUKAISUUSTESTIN TULOKSET\n"
-
-#~ msgid "                REF: Page 15, section 3.1.\n"
-#~ msgstr "                VIITE: sivu 15, osa 3.1.\n"
-
-#~ msgid "                REF: Page 15, section 3.2.\n"
-#~ msgstr "                VIITE: sivu 15, osa 3.2.\n"
-
-#~ msgid "                REF: Page 19, section 3.3.\n"
-#~ msgstr "                VIITE: sivu 19, osa 3.3.\n"
-
-#~ msgid "                REF: Page 20, section 3.4.\n"
-#~ msgstr "                VIITE: sivu 20, osa 3.4.\n"
-
-#~ msgid "                REF: Page 27, section 3.5.\n"
-#~ msgstr "                VIITE: sivu 27, osa 3.5.\n"
-
-#~ msgid "                REF: Page 42, section 5.2.\n"
-#~ msgstr "                VIITE: sivu 42, osa 5.2.\n"
-
-#~ msgid "                REF: Pages 16-17, section 3.2.\n"
-#~ msgstr "                VIITE: sivut 16 - 17, osa 3.2.\n"
-
-#~ msgid "                REF: Pages 42-45, section 5.2.\n"
-#~ msgstr "                VIITE: sivut 42 - 45, osa 5.2.\n"
-
-#~ msgid "                REF: Pages 45-46, section 5.2.\n"
-#~ msgstr "                VIITE: sivut 45 - 46, osa 5.2.\n"
-
-#~ msgid "                REF: Pages 48-49, section 5.2.\n"
-#~ msgstr "                VIITE: sivut 48 - 49, osa 5.2.\n"
-
-#~ msgid "                REF: Pages 52-54, section 5.2.\n"
-#~ msgstr "                VIITE: sivut 52 - 54, osa 5.2.\n"
-
-#~ msgid "        %-39.39s %.0f bytes\n"
-#~ msgstr "        %-39.39s %.0f tavua\n"
-
-#~ msgid "        PASS    Default%s\n"
-#~ msgstr "        PASS    Default%s\n"
-
-#~ msgid "        PASS    DefaultImageableArea\n"
-#~ msgstr "        PASS    DefaultImageableArea\n"
-
-#~ msgid "        PASS    DefaultPaperDimension\n"
-#~ msgstr "        PASS    DefaultPaperDimension\n"
-
-#~ msgid "        PASS    FileVersion\n"
-#~ msgstr "        PASS    FileVersion\n"
-
-#~ msgid "        PASS    FormatVersion\n"
-#~ msgstr "        PASS    FormatVersion\n"
-
-#~ msgid "        PASS    LanguageEncoding\n"
-#~ msgstr "        PASS    LanguageEncoding\n"
-
-#~ msgid "        PASS    LanguageVersion\n"
-#~ msgstr "        PASS    LanguageVersion\n"
-
-#~ msgid "        PASS    Manufacturer\n"
-#~ msgstr "        PASS    Manufacturer\n"
-
-#~ msgid "        PASS    ModelName\n"
-#~ msgstr "        PASS    ModelName\n"
-
-#~ msgid "        PASS    NickName\n"
-#~ msgstr "        PASS    NickName\n"
-
-#~ msgid "        PASS    PCFileName\n"
-#~ msgstr "        PASS    PCFileName\n"
-
-#~ msgid "        PASS    PSVersion\n"
-#~ msgstr "        PASS    PSVersion\n"
-
-#~ msgid "        PASS    PageRegion\n"
-#~ msgstr "        PASS    PageRegion\n"
-
-#~ msgid "        PASS    PageSize\n"
-#~ msgstr "        PASS    PageSize\n"
-
-#~ msgid "        PASS    Product\n"
-#~ msgstr "        PASS    Product\n"
-
-#~ msgid "        PASS    ShortNickName\n"
-#~ msgstr "        PASS    ShortNickName\n"
-
-#~ msgid ""
-#~ "        WARN    \"%s %s\" conflicts with \"%s %s\"\n"
-#~ "                (constraint=\"%s %s %s %s\")\n"
-#~ msgstr ""
-#~ "        WARN    ”%s %s” on ristiriidassa kohteen ”%s %s” kanssa\n"
-#~ "                (rajoitus=”%s %s %s %s”)\n"
-
-#~ msgid "        WARN    %s has no corresponding options!\n"
-#~ msgstr "        WARN    Kohteella %s ei ole vastaavia valintoja!\n"
-
-#~ msgid ""
-#~ "        WARN    %s shares a common prefix with %s\n"
-#~ "                REF: Page 15, section 3.2.\n"
-#~ msgstr ""
-#~ "        WARN    %s jakaa yleisen etuliitteen kohteen %s kanssa\n"
-#~ "                VIITE: sivu 15, osa 3.2.\n"
-
-#~ msgid "        WARN    Default choices conflicting!\n"
-#~ msgstr "        WARN    Oletusvaihtoehdot ovat ristiriidassa!\n"
-
-#~ msgid ""
-#~ "        WARN    Duplex option keyword %s may not work as expected and "
-#~ "should be named Duplex!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "        WARN    Kaksipuoleisuusvalinnan avainsana %s ei ehkä toimi "
-#~ "odotetulla tavalla ja sen pitäisi olla nimeltään Duplex!\n"
-#~ "                VIITE: sivu 122, osa 5.17.\n"
-
-#~ msgid ""
-#~ "        WARN    File contains a mix of CR, LF, and CR LF line endings!\n"
-#~ msgstr ""
-#~ "        WARN    Tiedosto sisältää sekaisin CR-, LF- ja CR LF -"
-#~ "rivinvaihtoja!\n"
-
-#~ msgid ""
-#~ "        WARN    LanguageEncoding required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 56-57, section 5.3.\n"
-#~ msgstr ""
-#~ "        WARN    LanguageEncoding vaaditaan PPD 4.3 -määrityksessä.\n"
-#~ "                VIITE: sivut 56 - 57, osa 5.3.\n"
-
-#~ msgid "        WARN    Line %d only contains whitespace!\n"
-#~ msgstr "        WARN    Rivi %d sisältää vain tyhjää!\n"
-
-#~ msgid ""
-#~ "        WARN    Manufacturer required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 58-59, section 5.3.\n"
-#~ msgstr ""
-#~ "        WARN    Manufacturer vaaditaan PPD 4.3 -määrityksessä.\n"
-#~ "                VIITE: sivut 58 - 59, osa 5.3.\n"
-
-#~ msgid "        WARN    Missing APDialogExtension file \"%s\"\n"
-#~ msgstr "        WARN    APDialogExtension-tiedosto ”%s” puuttuu\n"
-
-#~ msgid "        WARN    Missing APPrinterIconPath file \"%s\"\n"
-#~ msgstr "        WARN    APPrinterIconPath-tiedosto ”%s” puuttuu\n"
-
-#~ msgid ""
-#~ "        WARN    Non-Windows PPD files should use lines ending with only "
-#~ "LF, not CR LF!\n"
-#~ msgstr ""
-#~ "        WARN    Muiden kuin Windowsin PPD-tiedostojen tulisi käyttää LF-"
-#~ "rivinvaihtoja eikä CR LF -rivinvaihtoja!\n"
-
-#~ msgid ""
-#~ "        WARN    Obsolete PPD version %.1f!\n"
-#~ "                REF: Page 42, section 5.2.\n"
-#~ msgstr ""
-#~ "        WARN    Vanhentunut PPD-versio %.1f!\n"
-#~ "                VIITE: sivu 42, osa 5.2.\n"
-
-#~ msgid ""
-#~ "        WARN    PCFileName longer than 8.3 in violation of PPD spec.\n"
-#~ "                REF: Pages 61-62, section 5.3.\n"
-#~ msgstr ""
-#~ "        WARN    PCFileName on PPD-määrityksen vastaisesti pidempi kuin "
-#~ "8.3.\n"
-#~ "                VIITE: sivut 61 - 62, osa 5.3.\n"
-
-#~ msgid ""
-#~ "        WARN    Protocols contains PJL but JCL attributes are not set.\n"
-#~ "                REF: Pages 78-79, section 5.7.\n"
-#~ msgstr ""
-#~ "        WARN    Protokollat sisältävät PJL:ää, mutta JCL-attribuutteja ei "
-#~ "ole asetettu.\n"
-#~ "                VIITE: sivut 78 - 79, osa 5.7.\n"
-
-#~ msgid ""
-#~ "        WARN    Protocols contains both PJL and BCP; expected TBCP.\n"
-#~ "                REF: Pages 78-79, section 5.7.\n"
-#~ msgstr ""
-#~ "        WARN    Protokollat sisältävät sekä PJL:ää etä BCP:tä; TBCP:tä "
-#~ "odotettiin.\n"
-#~ "                VIITE: sivut 78 - 79, osa 5.7.\n"
-
-#~ msgid ""
-#~ "        WARN    ShortNickName required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "        WARN    ShortNickName vaaditaan PPD 4.3 -määrityksessä.\n"
-#~ "                VIITE: sivut 64 - 65, osa 5.3.\n"
-
-#~ msgid "      %s  %s %s does not exist!\n"
-#~ msgstr "      Kohdetta %s  %s %s ei ole olemassa!\n"
-
-#~ msgid ""
-#~ "      %s  Bad %s choice %s!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "      %s  Virheellinen %s vaihtoehto %s!\n"
-#~ "                VIITE: sivu 122, osa 5.17.\n"
-
-#~ msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s!\n"
-#~ msgstr ""
-#~ "      %s  Virheellinen UTF-8 ”%s” käännösmerkkijono valinnalle %s!\n"
-
-#~ msgid ""
-#~ "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s!\n"
-#~ msgstr ""
-#~ "      %s  Virheellinen UTF-8 ”%s” käännösmerkkijono valinnalle %s, "
-#~ "vaihtoehto %s!\n"
-
-#~ msgid "      %s  Bad cupsFilter value \"%s\"!\n"
-#~ msgstr "      %s  Virheellinen cupsFilter-arvo ”%s”!\n"
-
-#~ msgid "      %s  Bad cupsICCProfile %s!\n"
-#~ msgstr "      %s  Virheellinen cupsICCProfile %s!\n"
-
-#~ msgid "      %s  Bad cupsPreFilter value \"%s\"!\n"
-#~ msgstr "      %s  Virheellinen cupsPreFilter-arvo ”%s”!\n"
-
-#~ msgid "      %s  Bad cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr "      %s  Virheellinen cupsUIConstraints %s: ”%s”!\n"
-
-#~ msgid "      %s  Bad language \"%s\"!\n"
-#~ msgstr "      %s  Virheellinen kieli ”%s”!\n"
-
-#~ msgid "      %s  Empty cupsUIConstraints %s!\n"
-#~ msgstr "      %s  Tyhjä cupsUIConstraints %s!\n"
-
-#~ msgid "      %s  Missing \"%s\" translation string for option %s!\n"
-#~ msgstr "      %s  Käännösmerkkijono ”%s” valinnalle %s puuttuu!\n"
-
-#~ msgid ""
-#~ "      %s  Missing \"%s\" translation string for option %s, choice %s!\n"
-#~ msgstr ""
-#~ "      %s  Käännösmerkkijono ”%s” valinnalle %s puuttuu, vaihtoehto %s!\n"
-
-#~ msgid ""
-#~ "      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"!\n"
-#~ msgstr ""
-#~ "      %s  Vaihtoehto *%s %s kohteessa UIConstraints ”*%s %s *%s %s” "
-#~ "puuttuu!\n"
-
-#~ msgid "      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr ""
-#~ "      %s  Vaihtoehto *%s %s kohteessa cupsUIConstraints %s: ”%s” "
-#~ "puuttuu!\n"
-
-#~ msgid "      %s  Missing cupsFilter file \"%s\"\n"
-#~ msgstr "      %s  cupsFilter-tiedosto ”%s” puuttuu!\n"
-
-#~ msgid "      %s  Missing cupsICCProfile file \"%s\"!\n"
-#~ msgstr "      %s  cupsICCProfile-tiedosto ”%s” puuttuu!\n"
-
-#~ msgid "      %s  Missing cupsPreFilter file \"%s\"\n"
-#~ msgstr "      %s  cupsPreFilter-tiedosto ”%s” puuttuu!\n"
-
-#~ msgid "      %s  Missing cupsUIResolver %s!\n"
-#~ msgstr "      %s  cupsUIResolver %s puuttuu!\n"
-
-#~ msgid "      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\"!\n"
-#~ msgstr ""
-#~ "      %s  Valinta %s kohteessa UIConstraints ”*%s %s *%s %s” puuttuu!\n"
-
-#~ msgid "      %s  Missing option %s in cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr ""
-#~ "      %s  Valinta %s kohteessa cupsUIConstraints %s: ”%s” puuttuu!\n"
-
-#~ msgid "      %s  No base translation \"%s\" is included in file!\n"
-#~ msgstr "      %s  Tiedostossa ei ole peruskäännöstä ”%s”!\n"
-
-#~ msgid ""
-#~ "      %s  REQUIRED %s does not define choice None!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "      %s  VAADITTU %s ei määrittele vaihtoehtoa None!\n"
-#~ "                VIITE: sivu 122, osa 5.17.\n"
-
-#~ msgid "      %s  cupsICCProfile %s hash value collides with %s!\n"
-#~ msgstr ""
-#~ "      %s  cupsICCProfile %s hajautusarvo törmää kohteen %s kanssa!\n"
-
-#~ msgid "      %s  cupsUIResolver %s causes a loop!\n"
-#~ msgstr "      %s  cupsUIResolver %s aiheuttaa silmukan!\n"
-
-#~ msgid "      **FAIL**  %s choice names %s and %s differ only by case!\n"
-#~ msgstr ""
-#~ "      **FAIL**  Kohteen %s vaihtoehtojen nimet %s ja %s eroavat "
-#~ "toisistaan vain isojen ja pienten merkkien osalta!\n"
-
-#~ msgid ""
-#~ "      **FAIL**  %s must be 1284DeviceID!\n"
-#~ "                REF: Page 72, section 5.5\n"
-#~ msgstr ""
-#~ "      **FAIL**  %s on oltava 1284DeviceID!\n"
-#~ "                VIITE: sivu 72, osa 5.5.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Default%s %s\n"
-#~ "                REF: Page 40, section 4.5.\n"
-#~ msgstr ""
-#~ "      **FAIL**  VIRHEELLINEN Default%s %s\n"
-#~ "                VIITE: sivu 40, osa 4.5.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD DefaultImageableArea %s!\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  VIRHEELLINEN DefaultImageableArea %s!\n"
-#~ "                VIITE: sivu 102, osa 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD DefaultPaperDimension %s!\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  VIRHEELLINEN DefaultPaperDimension %s!\n"
-#~ "                VIITE: sivu 103, osa 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD JobPatchFile attribute in file\n"
-#~ "                REF: Page 24, section 3.4.\n"
-#~ msgstr ""
-#~ "      **FAIL**  VIRHEELLINEN JobPatchFile-attribuutti tiedostossa\n"
-#~ "                REF: sivu 24, osa 3.4.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Manufacturer (should be \"HP\")\n"
-#~ "                REF: Page 211, table D.1.\n"
-#~ msgstr ""
-#~ "      **FAIL**  VIRHEELLINEN Manufacturer (tulisi olla ”HP”)\n"
-#~ "                REF: sivu 211, taulukko D.1.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Manufacturer (should be \"Oki\")\n"
-#~ "                REF: Page 211, table D.1.\n"
-#~ msgstr ""
-#~ "      **FAIL**  VIRHEELLINEN Manufacturer (tulisi olla ”Oki”)\n"
-#~ "                REF: sivu 211, taulukko D.1.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n"
-#~ "                REF: Pages 59-60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  VIRHEELLINEN ModelName - ”%c” ei ole sallittu "
-#~ "merkkijonossa.\n"
-#~ "                VIITE: sivut 59 - 60, osa 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD PSVersion - not \"(string) int\".\n"
-#~ "                REF: Pages 62-64, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  VIRHEELLINEN PSVersion - ei ”(string) int”.\n"
-#~ "                VIITE: sivut 62 - 64, osa 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Product - not \"(string)\".\n"
-#~ "                REF: Page 62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  VIRHEELLINEN Product - ei ”(string)”.\n"
-#~ "                VIITE: sivu 62, osa 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD ShortNickName - longer than 31 chars.\n"
-#~ "                REF: Pages 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  VIRHEELLINEN ShortNickName - pidempi kuin 31 merkkiä.\n"
-#~ "                VIITE: sivut 64 - 65, osa 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad %s choice %s!\n"
-#~ "                REF: Page 84, section 5.9\n"
-#~ msgstr ""
-#~ "      **FAIL**  Virheellinen %s vaihtoehto %s!\n"
-#~ "                VIITE: sivu 84, osa 5.9.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad FileVersion \"%s\"\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  Virheellinen FileVersion ”%s”\n"
-#~ "                VIITE: Sivu 56, osa 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad FormatVersion \"%s\"\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  Virheellinen FormatVersion ”%s”\n"
-#~ "                VIITE: Sivu 56, osa 5.3.\n"
-
-#~ msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1!\n"
-#~ msgstr ""
-#~ "      **FAIL**  Virheellinen LanguageEncoding %s - pitää olla ISOLatin1!\n"
-
-#~ msgid "      **FAIL**  Bad LanguageVersion %s - must be English!\n"
-#~ msgstr ""
-#~ "      **FAIL**  Virheellinen LanguageVersion %s - pitää olla English!\n"
-
-#~ msgid "      **FAIL**  Default option code cannot be interpreted: %s\n"
-#~ msgstr "      **FAIL**  Oletusarvoista valintakoodia ei voida tulkita: %s\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Default translation string for option %s choice %s "
-#~ "contains 8-bit characters!\n"
-#~ msgstr ""
-#~ "      **FAIL**  Oletusarvoinen käännösmerkkijono valinnan %s "
-#~ "vaihtoehdolle %s sisältää 8-bittisiä merkkejä!\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Default translation string for option %s contains 8-bit "
-#~ "characters!\n"
-#~ msgstr ""
-#~ "      **FAIL**  Oletusarvoinen käännösmerkkijono valinnalle %s sisältää 8-"
-#~ "bittisiä merkkejä!\n"
-
-#~ msgid "      **FAIL**  Group names %s and %s differ only by case!\n"
-#~ msgstr ""
-#~ "      **FAIL**  Ryhmien nimet %s ja %s eroavat toisistaan vain isojen ja "
-#~ "pienten merkkien osalta!\n"
-
-#~ msgid "      **FAIL**  Multiple occurrences of %s choice name %s!\n"
-#~ msgstr ""
-#~ "      **FAIL**  Useita esiintymiä kohteen %s vaihtoehtojen nimeä %s!\n"
-
-#~ msgid "      **FAIL**  Option names %s and %s differ only by case!\n"
-#~ msgstr ""
-#~ "      **FAIL**  Vaihtoehtojen nimet %s ja %s eroavat toisistaan vain "
-#~ "isojen ja pienten merkkien osalta!\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Default%s\n"
-#~ "                REF: Page 40, section 4.5.\n"
-#~ msgstr ""
-#~ "      **FAIL**  VAADITAAN Default%s\n"
-#~ "                VIITE: sivu 40, osa 4.5.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED DefaultImageableArea\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  VAADITAAN DefaultImageableArea\n"
-#~ "                VIITE: sivu 102, osa 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED DefaultPaperDimension\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  VAADITAAN DefaultPaperDimension\n"
-#~ "                VIITE: sivu 103, osa 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED FileVersion\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  VAADITAAN FileVersion\n"
-#~ "                VIITE: sivu 56, osa 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED FormatVersion\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  VAADITAAN FormatVersion\n"
-#~ "                VIITE: sivu 56, osa 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ImageableArea for PageSize %s\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  VAADITAAN ImageableArea PageSize-arvolle %s\n"
-#~ "                VIITE: sivu 41, osa 5.\n"
-#~ "                VIITE: sivu 102, osa 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED LanguageEncoding\n"
-#~ "                REF: Pages 56-57, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  VAADITAAN LanguageEncoding\n"
-#~ "                VIITE: sivut 56 - 57, osa 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED LanguageVersion\n"
-#~ "                REF: Pages 57-58, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  VAADITAAN LanguageVersion\n"
-#~ "                VIITE: sivut 57 - 58, osa 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Manufacturer\n"
-#~ "                REF: Pages 58-59, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  VAADITAAN Manufacturer\n"
-#~ "                VIITE: sivut 58 - 59, osa 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ModelName\n"
-#~ "                REF: Pages 59-60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  VAADITAAN ModelName\n"
-#~ "                VIITE: sivut 59 - 60, osa 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED NickName\n"
-#~ "                REF: Page 60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  VAADITAAN NickName\n"
-#~ "                VIITE: sivu 60, osa 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PCFileName\n"
-#~ "                REF: Pages 61-62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  VAADITAAN PCFileName\n"
-#~ "                VIITE: sivut 61 - 62, osa 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PSVersion\n"
-#~ "                REF: Pages 62-64, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  VAADITAAN PSVersion\n"
-#~ "                VIITE: sivut 62 - 64, osa 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageRegion\n"
-#~ "                REF: Page 100, section 5.14.\n"
-#~ msgstr ""
-#~ "      **FAIL**  VAADITAAN PageRegion\n"
-#~ "                VIITE: sivu 100, osa 5.14.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageSize\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 99, section 5.14.\n"
-#~ msgstr ""
-#~ "      **FAIL**  VAADITAAN PageSize\n"
-#~ "                VIITE: sivu 41, osa 5.\n"
-#~ "                VIITE: sivu 99, osa 5.14.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageSize\n"
-#~ "                REF: Pages 99-100, section 5.14.\n"
-#~ msgstr ""
-#~ "      **FAIL**  VAADITAAN PageSize\n"
-#~ "                VIITE: sivut 99 - 100, osa 5.14.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PaperDimension for PageSize %s\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  VAADITAAN PaperDimension PageSize-arvolle %s\n"
-#~ "                VIITE: sivu 41, osa 5.\n"
-#~ "                VIITE: sivu 103, osa 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Product\n"
-#~ "                REF: Page 62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  VAADITAAN Product\n"
-#~ "                VIITE: sivu 62, osa 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ShortNickName\n"
-#~ "                REF: Page 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  VAADITAAN ShortNickName\n"
-#~ "                VIITE: sivu 64 - 65, osa 5.3.\n"
-
-#~ msgid "    %d ERRORS FOUND\n"
-#~ msgstr "    %d VIRHETTÄ LÖYDETTIIN\n"
-
-#~ msgid ""
-#~ "    Bad %%%%BoundingBox: on line %d!\n"
-#~ "        REF: Page 39, %%%%BoundingBox:\n"
-#~ msgstr ""
-#~ "    Virheellinen %%%%BoundingBox: rivillä %d!\n"
-#~ "        VIITE: sivu 39, %%%%BoundingBox:\n"
-
-#~ msgid ""
-#~ "    Bad %%%%Page: on line %d!\n"
-#~ "        REF: Page 53, %%%%Page:\n"
-#~ msgstr ""
-#~ "    Virheellinen %%%%Page: rivillä %d!\n"
-#~ "        VIITE: sivu 53, %%%%Page:\n"
-
-#~ msgid ""
-#~ "    Bad %%%%Pages: on line %d!\n"
-#~ "        REF: Page 43, %%%%Pages:\n"
-#~ msgstr ""
-#~ "    Virheellinen %%%%Pages: rivillä %d!\n"
-#~ "        VIITE: sivu 43, %%%%Pages:\n"
-
-#~ msgid ""
-#~ "    Line %d is longer than 255 characters (%d)!\n"
-#~ "        REF: Page 25, Line Length\n"
-#~ msgstr ""
-#~ "    Rivi %d on pidempi kuin 255 merkkiä (%d)!\n"
-#~ "        VIITE: sivu 25, Line Length\n"
-
-#~ msgid ""
-#~ "    Missing %!PS-Adobe-3.0 on first line!\n"
-#~ "        REF: Page 17, 3.1 Conforming Documents\n"
-#~ msgstr ""
-#~ "    %!PS-Adobe-3.0 puuttuu ensimmäiseltä riviltä!\n"
-#~ "        VIITE: sivu 17, 3.1 Conforming Documents\n"
-
-#~ msgid ""
-#~ "    Missing %%EndComments comment!\n"
-#~ "        REF: Page 41, %%EndComments\n"
-#~ msgstr ""
-#~ "    %%EndComments-kommentti puuttuu!\n"
-#~ "        VIITE: sivu 41, %%EndComments\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%BoundingBox: comment!\n"
-#~ "        REF: Page 39, %%BoundingBox:\n"
-#~ msgstr ""
-#~ "    %%BoundingBox:-kommentti puuttuu tai on virheellinen!\n"
-#~ "        VIITE: sivu 39, %%BoundingBox:\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%Page: comments!\n"
-#~ "        REF: Page 53, %%Page:\n"
-#~ msgstr ""
-#~ "    %%Page:-kommentit puuttuvat tai ovat virheellisiä!\n"
-#~ "        VIITE: sivu 53, %%Page:\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%Pages: comment!\n"
-#~ "        REF: Page 43, %%Pages:\n"
-#~ msgstr ""
-#~ "    %%Pages:-kommentti puuttuu tai on virheellinen!\n"
-#~ "        VIITE: sivu 43, %%Pages:\n"
-
-#~ msgid "    NO ERRORS FOUND\n"
-#~ msgstr "    VIRHEITÄ EI LÖYTYNYT\n"
-
-#~ msgid "    Saw %d lines that exceeded 255 characters!\n"
-#~ msgstr "    %d riviä ovat pidempiä kuin 255 merkkiä!\n"
-
-#~ msgid "    Too many %%BeginDocument comments!\n"
-#~ msgstr "    Liikaa %%BeginDocument-kommentteja!\n"
-
-#~ msgid "    Too many %%EndDocument comments!\n"
-#~ msgstr "    Liikaa %%EndDocument-kommentteja!\n"
-
-#~ msgid "    Warning: file contains binary data!\n"
-#~ msgstr "    Varoitus: tiedosto sisältää binääridataa!\n"
-
-#~ msgid "    Warning: no %%EndComments comment in file!\n"
-#~ msgstr "    Varoitus: tiedostossa ei ole %%EndComments-kommenttia!\n"
-
-#~ msgid "    Warning: obsolete DSC version %.1f in file!\n"
-#~ msgstr "    Varoitus: tiedostossa on vanhentunut DSC-versio %.1f!\n"
-
-#~ msgid " FAIL\n"
-#~ msgstr " FAIL\n"
-
-#~ msgid ""
-#~ " FAIL\n"
-#~ "      **FAIL**  Unable to open PPD file - %s\n"
-#~ msgstr ""
-#~ " FAIL\n"
-#~ "      **FAIL**  PPD-tiedostoa ei voida avata - %s\n"
-
-#~ msgid ""
-#~ " FAIL\n"
-#~ "      **FAIL**  Unable to open PPD file - %s on line %d.\n"
-#~ msgstr ""
-#~ " FAIL\n"
-#~ "      **FAIL**  PPD-tiedostoa ei voida avata - %s rivillä %d.\n"
-
-#~ msgid " PASS\n"
-#~ msgstr " PASS\n"
-
-#~ msgid "#10 Envelope"
-#~ msgstr "#10 Envelope"
-
-#~ msgid "#11 Envelope"
-#~ msgstr "#11 Envelope"
-
-#~ msgid "#12 Envelope"
-#~ msgstr "#12 Envelope"
-
-#~ msgid "#14 Envelope"
-#~ msgstr "#14 Envelope"
-
-#~ msgid "#9 Envelope"
-#~ msgstr "#9 Envelope"
-
-#~ msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes\n"
-#~ msgstr "%-6s %-10.10s %-4d %-10d %-27.27s %.0f tavua\n"
-
-#~ msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes\n"
-#~ msgstr "%-7s %-7.7s %-7d %-31.31s %.0f tavua\n"
-
-#~ msgid "%s accepting requests since %s\n"
-#~ msgstr "%s vastaanottaa pyyntöjä alkaen %s\n"
-
-#~ msgid "%s is not implemented by the CUPS version of lpc.\n"
-#~ msgstr "Kohdetta %s ei ole toteutettu lpc:n CUPS-versiossa.\n"
-
-#~ msgid "%s is not ready\n"
-#~ msgstr "%s ei ole valmis\n"
-
-#~ msgid "%s is ready\n"
-#~ msgstr "%s on valmis\n"
-
-#~ msgid "%s is ready and printing\n"
-#~ msgstr "%s on valmis ja tulostaa\n"
-
-#~ msgid ""
-#~ "%s not accepting requests since %s -\n"
-#~ "\t%s\n"
-#~ msgstr ""
-#~ "%s ei vastaanota pyyntöjä alkaen %s -\n"
-#~ "\t%s\n"
-
-#~ msgid "%s not supported!"
-#~ msgstr "%s ei ole tuettu!"
-
-#~ msgid "%s/%s accepting requests since %s\n"
-#~ msgstr "%s/%s vastaanottaa pyyntöjä alkaen %s\n"
-
-#~ msgid ""
-#~ "%s/%s not accepting requests since %s -\n"
-#~ "\t%s\n"
-#~ msgstr ""
-#~ "%s/%s ei vastaanota pyyntöjä alkaen %s -\n"
-#~ "\t%s\n"
-
-#~ msgid "%s: %-33.33s [job %d localhost]\n"
-#~ msgstr "%s: %-33.33s [työ %d localhost]\n"
-
-#~ msgid "%s: %s failed: %s\n"
-#~ msgstr "%s: %s epäonnistui: %s\n"
-
-#~ msgid "%s: Don't know what to do!\n"
-#~ msgstr "%s: En tiedä mitä tehdä!\n"
-
-#~ msgid ""
-#~ "%s: Error - %s environment variable names non-existent destination \"%s"
-#~ "\"!\n"
-#~ msgstr ""
-#~ "%s: Virhe - %s ympäristömuuttujanimien kohdetta ”%s” ei ole olemassa!\n"
-
-#~ msgid "%s: Error - bad job ID!\n"
-#~ msgstr "%s: Virhe - virheellinen työn tunnus!\n"
-
-#~ msgid "%s: Error - cannot print files and alter jobs simultaneously!\n"
-#~ msgstr ""
-#~ "%s: Virhe - tiedostoja ei voida tulostaa ja työtä muuttaa "
-#~ "samanaikaisesti!\n"
-
-#~ msgid ""
-#~ "%s: Error - cannot print from stdin if files or a job ID are provided!\n"
-#~ msgstr ""
-#~ "%s: Virhe - oletussyötevirrasta ei voida tulostaa, jos annetaan "
-#~ "tiedostoja tai työn tunnus!\n"
-
-#~ msgid "%s: Error - expected character set after '-S' option!\n"
-#~ msgstr "%s: Virhe - S-valitsimen jälkeen odotettiin merkistöä!\n"
-
-#~ msgid "%s: Error - expected content type after '-T' option!\n"
-#~ msgstr "%s: Virhe - T-valitsimen jälkeen odotettiin sisältötyyppiä!\n"
-
-#~ msgid "%s: Error - expected copies after '-n' option!\n"
-#~ msgstr "%s: Virhe - n-valitsimen jälkeen odotettiin kopioiden lukumäärää!\n"
-
-#~ msgid "%s: Error - expected copy count after '-#' option!\n"
-#~ msgstr "%s: Virhe - #-valitsimen jälkeen odotettiin kopioiden lukumäärää!\n"
-
-#~ msgid "%s: Error - expected destination after '-P' option!\n"
-#~ msgstr "%s: Virhe - P-valitsimen jälkeen odotettiin kohdetta!\n"
-
-#~ msgid "%s: Error - expected destination after '-b' option!\n"
-#~ msgstr "%s: Virhe - b-valitsimen jälkeen odotettiin kohdetta!\n"
-
-#~ msgid "%s: Error - expected destination after '-d' option!\n"
-#~ msgstr "%s: Virhe - d-valitsimen jälkeen odotettiin kohdetta!\n"
-
-#~ msgid "%s: Error - expected form after '-f' option!\n"
-#~ msgstr "%s: Virhe - f-valitsimen jälkeen odotettiin muotoa!\n"
-
-#~ msgid "%s: Error - expected hold name after '-H' option!\n"
-#~ msgstr "%s: Virhe - H-valitsimen jälkeen odotettiin pidon nimeä!\n"
-
-#~ msgid "%s: Error - expected hostname after '-H' option!\n"
-#~ msgstr "%s: Virhe - H-valitsimen jälkeen odotettiin palvelinnimeä!\n"
-
-#~ msgid "%s: Error - expected hostname after '-h' option!\n"
-#~ msgstr "%s: Virhe - h-valitsimen jälkeen odotettiin palvelinnimeä!\n"
-
-#~ msgid "%s: Error - expected mode list after '-y' option!\n"
-#~ msgstr "%s: Virhe - y-valitsimen jälkeen odotettiin tilaluetteloa!\n"
-
-#~ msgid "%s: Error - expected name after '-%c' option!\n"
-#~ msgstr "%s: Virhe - %c-valitsimen jälkeen odotettiin nimeä!\n"
-
-#~ msgid "%s: Error - expected option string after '-o' option!\n"
-#~ msgstr "%s: Virhe - o-valitsimen jälkeen odotettiin valintamerkkijonoa!\n"
-
-#~ msgid "%s: Error - expected page list after '-P' option!\n"
-#~ msgstr "%s: Virhe - P-valitsimen jälkeen odotettiin sivuluetteloa!\n"
-
-#~ msgid "%s: Error - expected priority after '-%c' option!\n"
-#~ msgstr "%s: Virhe - %c-valitsimen jälkeen odotettiin tärkeyttä!\n"
-
-#~ msgid "%s: Error - expected reason text after '-r' option!\n"
-#~ msgstr "%s: Virhe - r-valitsimen jälkeen odotettiin syytekstiä!\n"
-
-#~ msgid "%s: Error - expected title after '-t' option!\n"
-#~ msgstr "%s: Virhe - t-valitsimen jälkeen odotettiin otsikkoa!\n"
-
-#~ msgid "%s: Error - expected username after '-U' option!\n"
-#~ msgstr "%s: Virhe - U-valitsimen jälkeen odotettiin käyttäjätunnusta!\n"
-
-#~ msgid "%s: Error - expected username after '-u' option!\n"
-#~ msgstr "%s: Virhe - u-valitsimen jälkeen odotettiin käyttäjätunnusta!\n"
-
-#~ msgid "%s: Error - expected value after '-%c' option!\n"
-#~ msgstr "%s: Virhe - %c-valitsimen jälkeen odotettiin arvoa!\n"
-
-#~ msgid ""
-#~ "%s: Error - need \"completed\", \"not-completed\", or \"all\" after '-W' "
-#~ "option!\n"
-#~ msgstr ""
-#~ "%s: Virhe - W-valitsimen jälkeen tarvitaan ”completed”, ”not-completed” "
-#~ "tai ”all”!\n"
-
-#~ msgid "%s: Error - no default destination available.\n"
-#~ msgstr "%s: Virhe - oletuskohdetta ei ole käytettävissä.\n"
-
-#~ msgid "%s: Error - priority must be between 1 and 100.\n"
-#~ msgstr "%s: Virhe - tärkeyden on oltava 1 - 100.\n"
-
-#~ msgid "%s: Error - scheduler not responding!\n"
-#~ msgstr "%s: Virhe - ajastin ei vastaa!\n"
-
-#~ msgid "%s: Error - too many files - \"%s\"\n"
-#~ msgstr "%s: Virhe - liikaa tiedostoja - ”%s”\n"
-
-#~ msgid "%s: Error - unable to access \"%s\" - %s\n"
-#~ msgstr "%s: Virhe - kohdetta ”%s” ei voida käyttää - %s\n"
-
-#~ msgid "%s: Error - unable to queue from stdin - %s\n"
-#~ msgstr "%s: Virhe - oletussyötevirrasta ei voida laittaa jonoon - %s\n"
-
-#~ msgid "%s: Error - unknown destination \"%s\"!\n"
-#~ msgstr "%s: Virhe - tuntematon kohde - ”%s”\n"
-
-#~ msgid "%s: Error - unknown destination \"%s/%s\"!\n"
-#~ msgstr "%s: Virhe - tuntematon kohde - ”%s/%s”\n"
-
-#~ msgid "%s: Error - unknown option '%c'!\n"
-#~ msgstr "%s: Virhe - tuntematon valitsin ”%c”!\n"
-
-#~ msgid "%s: Error - unknown option '%s'!\n"
-#~ msgstr "%s: Virhe - tuntematon valitsin ”%s”!\n"
-
-#~ msgid "%s: Expected job ID after '-i' option!\n"
-#~ msgstr "%s: i-valitsimen jälkeen odotettiin työn tunnusta!\n"
-
-#~ msgid "%s: Filter \"%s\" not available: %s\n"
-#~ msgstr "%s: Suodin ”%s” ei ole käytettävissä: %s\n"
-
-#~ msgid "%s: Invalid destination name in list \"%s\"!\n"
-#~ msgstr "%s: Virheellinen kohdenimi luettelossa ”%s”!\n"
-
-#~ msgid "%s: Invalid filter string \"%s\"\n"
-#~ msgstr "%s: Virheellinen suodinmerkkijono ”%s”\n"
-
-#~ msgid "%s: Need job ID ('-i jobid') before '-H restart'!\n"
-#~ msgstr ""
-#~ "%s: Tarvitaan työn tunnus (”-i jobid”) ennen ”-H restart” -valitsinta!\n"
-
-#~ msgid "%s: No filter to convert from %s/%s to %s/%s!\n"
-#~ msgstr "%s: Ei suodinta, jolla muuntaa muodosta %s/%s muotoon %s/%s!\n"
-
-#~ msgid "%s: Operation failed: %s\n"
-#~ msgstr "%s: Toiminto epäonnistui: %s\n"
-
-#~ msgid "%s: Sorry, no encryption support compiled in!\n"
-#~ msgstr "%s: Salaustukea ei ole käännetty mukaan!\n"
-
-#~ msgid "%s: Unable to connect to server\n"
-#~ msgstr "%s: Palvelimeen ei voida yhdistää\n"
-
-#~ msgid "%s: Unable to contact server!\n"
-#~ msgstr "%s: Palvelinta ei tavoitettu!\n"
-
-#~ msgid "%s: Unable to determine MIME type of \"%s\"!\n"
-#~ msgstr "%s: Kohteen ”%s” MIME-tyyppiä ei voida määrittää!\n"
-
-#~ msgid "%s: Unable to open %s - %s\n"
-#~ msgstr "%s: Kohdetta %s ei voida avata - %s\n"
-
-#~ msgid "%s: Unable to open %s - %s on line %d.\n"
-#~ msgstr "%s: Kohdetta %s ei voida avata - %s linjalla %d.\n"
-
-#~ msgid "%s: Unable to open %s: %s\n"
-#~ msgstr "%s: Kohdetta %s ei voida avata: %s\n"
-
-#~ msgid "%s: Unable to open PPD file: %s on line %d\n"
-#~ msgstr "%s: PPD-tiedostoa s ei voida avata: %s linjalla %d.\n"
-
-#~ msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"!\n"
-#~ msgstr "%s: MIME-tietokantaa ei voida lukea kohteesta ”%s” tai ”%s”!\n"
-
-#~ msgid "%s: Unknown destination \"%s\"!\n"
-#~ msgstr "%s: Tuntematon kohde - ”%s”\n"
-
-#~ msgid "%s: Unknown destination MIME type %s/%s!\n"
-#~ msgstr "%s: Tuntematon kohde-MIME-tyyppi %s/%s!\n"
-
-#~ msgid "%s: Unknown option '%c'!\n"
-#~ msgstr "%s: Tuntematon valitsin ”%c”!\n"
-
-#~ msgid "%s: Unknown source MIME type %s/%s!\n"
-#~ msgstr "%s: Tuntematon lähde-MIME-tyyppi %s/%s!\n"
-
-#~ msgid ""
-#~ "%s: Warning - '%c' format modifier not supported - output may not be "
-#~ "correct!\n"
-#~ msgstr ""
-#~ "%s: Varoitus - %c-muotovalitsinta ei tueta - tuloste saattaa olla "
-#~ "virheellinen!\n"
-
-#~ msgid "%s: Warning - character set option ignored!\n"
-#~ msgstr "%s: Varoitus - merkistövalitsin jätettiin huomioimatta!\n"
-
-#~ msgid "%s: Warning - content type option ignored!\n"
-#~ msgstr "%s: Varoitus - sisältötyyppivalitsin jätettiin huomioimatta!\n"
-
-#~ msgid "%s: Warning - form option ignored!\n"
-#~ msgstr "%s: Varoitus - lomakevalitsin jätettiin huomioimatta!\n"
-
-#~ msgid "%s: Warning - mode option ignored!\n"
-#~ msgstr "%s: Varoitus - tilavalitsin jätettiin huomioimatta!\n"
-
-#~ msgid ""
-#~ "%s: error - %s environment variable names non-existent destination \"%s"
-#~ "\"!\n"
-#~ msgstr ""
-#~ "%s: virhe - %s ympäristömuuttujanimien kohdetta ”%s” ei ole olemassa!\n"
-
-#~ msgid "%s: error - expected option=value after '-o' option!\n"
-#~ msgstr "%s: virhe - o-valitsimen jälkeen odotettiin valinta=arvo!\n"
-
-#~ msgid "%s: error - no default destination available.\n"
-#~ msgstr "%s: virhe - oletuskohdetta ei ole käytettävissä.\n"
-
-#~ msgid "10 x 11\""
-#~ msgstr "10 x 11 \""
-
-#~ msgid "10 x 13\""
-#~ msgstr "10 x 13 \""
-
-#~ msgid "10 x 14\""
-#~ msgstr "10 x 14 \""
-
-#~ msgid "12 x 11\""
-#~ msgstr "12 x 11 \""
-
-#~ msgid "15 x 11\""
-#~ msgstr "15 x 11 \""
-
-#~ msgid "600 DPI Grayscale"
-#~ msgstr "600 dpi harmaasävy"
-
-#~ msgid "60x720dpi"
-#~ msgstr "60 x 720 dpi"
-
-#~ msgid "7 x 9\""
-#~ msgstr "7 x 9 \""
-
-#~ msgid "8 x 10\""
-#~ msgstr "8 x 10 \""
-
-#~ msgid "9 x 11\""
-#~ msgstr "9 x 11 \""
-
-#~ msgid "9 x 12\""
-#~ msgstr "9 x 12 \""
-
-#~ msgid "?Invalid help command unknown\n"
-#~ msgstr "?Virheellinen ohje tuntematon komento\n"
-
-#~ msgid "A Samba password is required to export printer drivers!"
-#~ msgstr "Tulostinajureiden viemiseen tarvitaan Samba-salasana!"
-
-#~ msgid "A Samba username is required to export printer drivers!"
-#~ msgstr "Tulostinajureiden viemiseen tarvitaan Samba-käyttäjätunnus!"
-
-#~ msgid "A class named \"%s\" already exists!"
-#~ msgstr "Luokka nimeltä ”%s” on jo olemassa!"
-
-#~ msgid "A printer named \"%s\" already exists!"
-#~ msgstr "Tulostin nimeltä ”%s” on jo olemassa!"
-
-#~ msgid "A3 (Oversize)"
-#~ msgstr "A3 (ylikokoinen)"
-
-#~ msgid "A4 (Oversize)"
-#~ msgstr "A4 (ylikokoinen)"
-
-#~ msgid "A4 (Small)"
-#~ msgstr "A4 (pieni)"
-
-#~ msgid "A5 (Oversize)"
-#~ msgstr "A5 (ylikokoinen)"
-
-#~ msgid "ARCH A"
-#~ msgstr "ARCH A"
-
-#~ msgid "ARCH B"
-#~ msgstr "ARCH B"
-
-#~ msgid "Attempt to set %s printer-state to bad value %d!"
-#~ msgstr "Yritettiin asettaa %s printer-state virheelliseen arvoon %d!"
-
-#~ msgid "Attribute groups are out of order (%x < %x)!"
-#~ msgstr "Attribuuttiryhmät ovat epäjärjestyksessä (%x < %x)!"
-
-#~ msgid "Bad device URI \"%s\"!\n"
-#~ msgstr "Virheellinen laite-osoite ”%s”!\n"
-
-#~ msgid "Bad device-uri \"%s\"!"
-#~ msgstr "Virheellinen device-uri ”%s”!"
-
-#~ msgid "Bad device-uri scheme \"%s\"!"
-#~ msgstr "Virheellinen device-uri-malli ”%s”!"
-
-#~ msgid "Bad document-format \"%s\"!"
-#~ msgstr "Virheellinen document-format ”%s”!"
-
-#~ msgid "Bad filename buffer!"
-#~ msgstr "Virheellinen tiedostonimipuskuri!"
-
-#~ msgid "Bad font attribute: %s\n"
-#~ msgstr "Virheellinen kirjasinattribuutti: %s\n"
-
-#~ msgid "Bad job-priority value!"
-#~ msgstr "Virheellinen job-priority-arvo!"
-
-#~ msgid "Bad job-sheets value \"%s\"!"
-#~ msgstr "Virheellinen job-sheets-arvo ”%s”!"
-
-#~ msgid "Bad job-sheets value type!"
-#~ msgstr "Virheellinen job-sheets-arvon tyyppi!"
-
-#~ msgid "Bad job-state value!"
-#~ msgstr "Virheellinen job-state-arvo!"
-
-#~ msgid "Bad job-uri attribute \"%s\"!"
-#~ msgstr "Virheellinen job-uri-attribuutti ”%s”!"
-
-#~ msgid "Bad notify-pull-method \"%s\"!"
-#~ msgstr "Virheellinen notify-pull-method ”%s”!"
-
-#~ msgid "Bad notify-recipient-uri URI \"%s\"!"
-#~ msgstr "Virheellinen notify-recipient-uri-osoite ”%s”!"
-
-#~ msgid "Bad option + choice on line %d!"
-#~ msgstr "Virheellinen valinta ja vaihtoehto rivillä %d!"
-
-#~ msgid "Bad port-monitor \"%s\"!"
-#~ msgstr "Virheellinen port-monitor ”%s”!"
-
-#~ msgid "Bad printer-state value %d!"
-#~ msgstr "Virheellinen printer-state-arvo %d!"
-
-#~ msgid "Bad request version number %d.%d!"
-#~ msgstr "Virheellinen pyynnön versionumero %d.%d!"
-
-#~ msgid "Bad subscription ID!"
-#~ msgstr "Virheellinen tilaustunnus!"
-
-#~ msgid "C0 Envelope"
-#~ msgstr "C0 Envelope"
-
-#~ msgid "C1 Envelope"
-#~ msgstr "C1 Envelope"
-
-#~ msgid "C2 Envelope"
-#~ msgstr "C2 Envelope"
-
-#~ msgid "C3 Envelope"
-#~ msgstr "C3 Envelope"
-
-#~ msgid "C4"
-#~ msgstr "C4"
-
-#~ msgid "C4 Envelope"
-#~ msgstr "C4 Envelope"
-
-#~ msgid "C5"
-#~ msgstr "C5"
-
-#~ msgid "C5 Envelope"
-#~ msgstr "C5 Envelope"
-
-#~ msgid "C6"
-#~ msgstr "C6"
-
-#~ msgid "C6 Envelope"
-#~ msgstr "C6 Envelope"
-
-#~ msgid "C65 Envelope"
-#~ msgstr "C65 Envelope"
-
-#~ msgid "C7 Envelope"
-#~ msgstr "C7 Envelope"
-
-#~ msgid "Character set \"%s\" not supported!"
-#~ msgstr "Merkistöä ”%s” ei tueta!"
-
-#~ msgid "Chou3 Envelope"
-#~ msgstr "Chou3 Envelope"
-
-#~ msgid "Chou4 Envelope"
-#~ msgstr "Chou4 Envelope"
-
-#~ msgid ""
-#~ "Commands may be abbreviated.  Commands are:\n"
-#~ "\n"
-#~ "exit    help    quit    status  ?\n"
-#~ msgstr ""
-#~ "Komennot voidaan lyhentää.  Komennot ovat:\n"
-#~ "\n"
-#~ "exit    help    quit    status  ?\n"
-
-#~ msgid "Could not scan type \"%s\"!"
-#~ msgstr "Tyyppiä ”%s” ei voitu skannata!"
-
-#~ msgid "Cover open."
-#~ msgstr "Kansi avoinna."
-
-#~ msgid "DL"
-#~ msgstr "DL"
-
-#~ msgid "DL Envelope"
-#~ msgstr "DL Envelope"
-
-#~ msgid "Developer almost empty."
-#~ msgstr "Kehite lähes loppu."
-
-#~ msgid "Developer empty!"
-#~ msgstr "Kehite loppu!"
-
-#~ msgid ""
-#~ "Device: uri = %s\n"
-#~ "        class = %s\n"
-#~ "        info = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ "        location = %s\n"
-#~ msgstr ""
-#~ "Laite: uri = %s\n"
-#~ "        class = %s\n"
-#~ "        info = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ "        location = %s\n"
-
-#~ msgid "Document %d not found in job %d."
-#~ msgstr "Dokumenttia %d ei löytynyt työstä %d."
-
-#~ msgid "Door open."
-#~ msgstr "Ovi avoinna."
-
-#~ msgid "Double Postcard"
-#~ msgstr "Double Postcard"
-
-#~ msgid "EMERG: Unable to allocate memory for page info: %s\n"
-#~ msgstr "EMERG: ei voida varata muistia sivutiedolle: %s\n"
-
-#~ msgid "EMERG: Unable to allocate memory for pages array: %s\n"
-#~ msgstr "EMERG: ei voida varata muistia sivutaululle: %s\n"
-
-#~ msgid "ERROR: Bad %%BoundingBox: comment seen!\n"
-#~ msgstr "ERROR: Virheellinen %%BoundingBox:-kommentti havaittu!\n"
-
-#~ msgid "ERROR: Bad %%IncludeFeature: comment!\n"
-#~ msgstr "ERROR: Virheellinen %%IncludeFeature:-kommentti!\n"
-
-#~ msgid "ERROR: Bad %%Page: comment in file!\n"
-#~ msgstr "ERROR: Virheellinen %%Page:-kommentti tiedostossa!\n"
-
-#~ msgid "ERROR: Bad %%PageBoundingBox: comment in file!\n"
-#~ msgstr "ERROR: Virheellinen %%PageBoundingBox:-kommentti tiedostossa!\n"
-
-#~ msgid "ERROR: Bad SCSI device file \"%s\"!\n"
-#~ msgstr "ERROR: Virheellinen SCSI-laitetiedosto ”%s”!\n"
-
-#~ msgid "ERROR: Bad charset file %s\n"
-#~ msgstr "ERROR: Virheellinen merkistötiedosto %s\n"
-
-#~ msgid "ERROR: Bad charset type %s\n"
-#~ msgstr "ERROR: Virheellinen merkistötyyppi %s\n"
-
-#~ msgid "ERROR: Bad columns value %d!\n"
-#~ msgstr "ERROR: Virheellinen sarakearvo %d!\n"
-
-#~ msgid "ERROR: Bad cpi value %f!\n"
-#~ msgstr "ERROR: Virheellinen cpi-arvo %f!\n"
-
-#~ msgid "ERROR: Bad font description line: %s\n"
-#~ msgstr "ERROR: Virheellinen kirjasinkuvausrivi: %s\n"
-
-#~ msgid "ERROR: Bad lpi value %f!\n"
-#~ msgstr "ERROR: Virheellinen lpi-arvo %f!\n"
-
-#~ msgid "ERROR: Bad page setup!\n"
-#~ msgstr "ERROR: Virheellinen arkin määrittely!\n"
-
-#~ msgid "ERROR: Bad text direction %s\n"
-#~ msgstr "ERROR: Virheellinen tekstin suunta %s\n"
-
-#~ msgid "ERROR: Bad text width %s\n"
-#~ msgstr "ERROR: Virheellinen tekstin leveys %s\n"
-
-#~ msgid "ERROR: Destination printer does not exist!\n"
-#~ msgstr "ERROR: Kohdetulostinta ei ole olemassa!\n"
-
-#~ msgid "ERROR: Duplicate %%BoundingBox: comment seen!\n"
-#~ msgstr "ERROR: Monistunut %%BoundingBox:-kommentti havaittu!\n"
-
-#~ msgid "ERROR: Duplicate %%Pages: comment seen!\n"
-#~ msgstr "ERROR: Monistunut %%Pages:-kommentti havaittu!\n"
-
-#~ msgid "ERROR: Empty print file!\n"
-#~ msgstr "ERROR: Tyhjä tulostustiedosto!\n"
-
-#~ msgid "ERROR: Error %d sending PAPSendData request: %s\n"
-#~ msgstr "ERROR: Virhe %d lähetettäessä PAPSendData-pyyntöä: %s\n"
-
-#~ msgid "ERROR: Expected quoted string on line %d of %s!\n"
-#~ msgstr ""
-#~ "ERROR: Odotettiin lainausmerkin merkittyä merkkijonoa rivillä %d / %s!\n"
-
-#~ msgid "ERROR: Fatal USB error!\n"
-#~ msgstr "ERROR: Vakava USB-virhe!\n"
-
-#~ msgid "ERROR: Invalid HP-GL/2 command seen, unable to print file!\n"
-#~ msgstr ""
-#~ "ERROR: Virheellinen HP-GL/2-komento havaittu, tiedostoa ei voida "
-#~ "tulostaa!\n"
-
-#~ msgid "ERROR: Missing %%EndProlog!\n"
-#~ msgstr "ERROR: %%EndProlog puuttuu!\n"
-
-#~ msgid "ERROR: Missing %%EndSetup!\n"
-#~ msgstr "ERROR: %%EndSetup puuttuu!\n"
-
-#~ msgid ""
-#~ "ERROR: Missing device URI on command-line and no DEVICE_URI environment "
-#~ "variable!\n"
-#~ msgstr ""
-#~ "ERROR: Laitteen osoite puuttuu komentoriviltä eikä DEVICE_URI-"
-#~ "ympäristömuuttujaa ole määritelty!\n"
-
-#~ msgid "ERROR: Missing value on line %d of banner file!\n"
-#~ msgstr "ERROR: Arvo puuttuu otsikkotiedoston riviltä %d!\n"
-
-#~ msgid ""
-#~ "ERROR: Need a msgid line before any translation strings on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ERROR: Tarvitaan msgid-rivi ennen käännösmerkkijonoja rivillä %d / %s!\n"
-
-#~ msgid "ERROR: No %%BoundingBox: comment in header!\n"
-#~ msgstr "ERROR: Otsakkeessa ei ole %%PageBoundingBox:-kommenttia!\n"
-
-#~ msgid "ERROR: No %%Pages: comment in header!\n"
-#~ msgstr "ERROR: Otsakkeessa ei ole %%Pages:-kommenttia!\n"
-
-#~ msgid ""
-#~ "ERROR: No device URI found in argv[0] or in DEVICE_URI environment "
-#~ "variable!\n"
-#~ msgstr ""
-#~ "ERROR: Laitteen osoitetta ei löytynyt argv[0]:stä eikä DEVICE_URI-"
-#~ "ympäristömuuttujasta!\n"
-
-#~ msgid "ERROR: No fonts in charset file %s\n"
-#~ msgstr "ERROR: Merkistötiedostossa %s ei ole kirjasimia\n"
-
-#~ msgid "ERROR: No pages found!\n"
-#~ msgstr "ERROR: Sivuja ei löytynyt!\n"
-
-#~ msgid "ERROR: Out of paper!\n"
-#~ msgstr "ERROR: Paperi loppu!\n"
-
-#~ msgid "ERROR: PRINTER environment variable not defined!\n"
-#~ msgstr "ERROR: PRINTER-ympäristömuuttujaa ei ole määritelty!\n"
-
-#~ msgid "ERROR: Print file was not accepted (%s)!\n"
-#~ msgstr "ERROR: Tulostustiedostoa ei hyväksytty (%s)!\n"
-
-#~ msgid "ERROR: Printer not responding\n"
-#~ msgstr "ERROR: Tulostin ei vastaa\n"
-
-#~ msgid "ERROR: Printer not responding!\n"
-#~ msgstr "ERROR: Tulostin ei vastaa!\n"
-
-#~ msgid "ERROR: Printer sent unexpected EOF\n"
-#~ msgstr "ERROR: Tulostin lähetti odottamattoman EOF:n\n"
-
-#~ msgid "ERROR: Remote host did not accept control file (%d)\n"
-#~ msgstr "ERROR: Etäpalvelin ei hyväksynyt ohjaustiedostoa (%d)\n"
-
-#~ msgid "ERROR: Remote host did not accept data file (%d)\n"
-#~ msgstr "ERROR: Etäpalvelin ei hyväksynyt datatiedostoa (%d)\n"
-
-#~ msgid "ERROR: There was a timeout error while sending data to the printer\n"
-#~ msgstr ""
-#~ "ERROR: Lähetettäessä dataa tulostimelle tapahtui aikakatkaisuvirhe\n"
-
-#~ msgid "ERROR: Unable to add file %d to job: %s\n"
-#~ msgstr "ERROR: Tiedostoa %d ei voida lisätä työhön: %s\n"
-
-#~ msgid "ERROR: Unable to cancel job %d: %s\n"
-#~ msgstr "ERROR: Työtä %d ei voida peruuttaa: %s\n"
-
-#~ msgid "ERROR: Unable to copy PDF file"
-#~ msgstr "ERROR: PDF-tiedostoa ei voida kopioida"
-
-#~ msgid "ERROR: Unable to create socket"
-#~ msgstr "ERROR: Socketia ei voida luoda"
-
-#~ msgid "ERROR: Unable to create temporary compressed print file: %s\n"
-#~ msgstr "ERROR: Tilapäistä pakattua tulostustiedostoa ei voida luoda: %s\n"
-
-#~ msgid "ERROR: Unable to create temporary file"
-#~ msgstr "ERROR: Tilapäistiedostoa ei voida luoda"
-
-#~ msgid "ERROR: Unable to create temporary file - %s.\n"
-#~ msgstr "ERROR: Tilapäistiedostoa ei voida luoda - %s.\n"
-
-#~ msgid "ERROR: Unable to create temporary file: %s\n"
-#~ msgstr "ERROR: Tilapäistiedostoa ei voida luoda: %s.\n"
-
-#~ msgid "ERROR: Unable to exec pictwpstops: %s\n"
-#~ msgstr "ERROR: pictwpstops:ia ei voida suorittaa: %s\n"
-
-#~ msgid "ERROR: Unable to execute gs program"
-#~ msgstr "ERROR: gs-ohjelmaa ei voida suorittaa"
-
-#~ msgid "ERROR: Unable to execute pdftops program"
-#~ msgstr "ERROR: pdftops-ohjelmaa ei voida suorittaa"
-
-#~ msgid "ERROR: Unable to fork pictwpstops: %s\n"
-#~ msgstr "ERROR: pictwpstops:ia ei voida forkata: %s\n"
-
-#~ msgid "ERROR: Unable to get PAP request"
-#~ msgstr "ERROR: PAP-pyyntöä ei voida hakea"
-
-#~ msgid "ERROR: Unable to get PAP response"
-#~ msgstr "ERROR: PAP-vastausta ei voida hakea"
-
-#~ msgid "ERROR: Unable to get PPD file for printer \"%s\" - %s.\n"
-#~ msgstr "ERROR: Tulostimen ”%s” PPD-tiedostoa ei voida hakea - %s.\n"
-
-#~ msgid "ERROR: Unable to get default AppleTalk zone"
-#~ msgstr "ERROR: Oletusarvoista AppleTalk-vyöhykettä ei voida hakea"
-
-#~ msgid "ERROR: Unable to get job %d attributes (%s)!\n"
-#~ msgstr "ERROR: Työn %d ominaisuuksia ei voida hakea (%s)!\n"
-
-#~ msgid "ERROR: Unable to get printer status (%s)!\n"
-#~ msgstr "ERROR: Tulostimen tilaa ei voida hakea (%s)!\n"
-
-#~ msgid "ERROR: Unable to locate printer '%s'!\n"
-#~ msgstr "ERROR: Tulostinta ”%s” ei löytynyt!\n"
-
-#~ msgid "ERROR: Unable to look for PAP response"
-#~ msgstr "ERROR: PAP-vastausta ei voida etsiä"
-
-#~ msgid "ERROR: Unable to lookup AppleTalk printers"
-#~ msgstr "ERROR: AppleTalk-tulostimia ei voida etsiä"
-
-#~ msgid "ERROR: Unable to make AppleTalk address"
-#~ msgstr "ERROR: AppleTalk-osoitteita ei voida tehdä"
-
-#~ msgid "ERROR: Unable to open \"%s\" - %s\n"
-#~ msgstr "ERROR: Kohdetta ”%s” ei voida avata - %s\n"
-
-#~ msgid "ERROR: Unable to open %s: %s\n"
-#~ msgstr "ERROR: Kohdetta %s ei voida avata: %s\n"
-
-#~ msgid "ERROR: Unable to open banner file \"%s\" - %s\n"
-#~ msgstr "ERROR: Otsikkotiedostoa ”%s” ei voida avata - %s\n"
-
-#~ msgid "ERROR: Unable to open device file \"%s\": %s\n"
-#~ msgstr "ERROR: Laitetiedostoa ”%s” ei voida avata: %s\n"
-
-#~ msgid "ERROR: Unable to open file \"%s\" - %s\n"
-#~ msgstr "ERROR: Tiedostoa ”%s” ei voida avata - %s\n"
-
-#~ msgid "ERROR: Unable to open file \"%s\": %s\n"
-#~ msgstr "ERROR: Tiedostoa ”%s” ei voida avata: %s\n"
-
-#~ msgid "ERROR: Unable to open image file for printing!\n"
-#~ msgstr "ERROR: Kuvatiedostoa ei voida avata tulostusta varten!\n"
-
-#~ msgid "ERROR: Unable to open print file \"%s\": %s\n"
-#~ msgstr "ERROR: Tulostustiedostoa ”%s” ei voida avata: %s\n"
-
-#~ msgid "ERROR: Unable to open print file %s - %s\n"
-#~ msgstr "ERROR: Tulostustiedostoa %s ei voida avata - %s\n"
-
-#~ msgid "ERROR: Unable to open print file %s: %s\n"
-#~ msgstr "ERROR: Tulostustiedostoa %s ei voida avata: %s\n"
-
-#~ msgid "ERROR: Unable to open temporary compressed print file: %s\n"
-#~ msgstr "ERROR: Tilapäistä pakattua tulostustiedostoa ei voida avata: %s\n"
-
-#~ msgid "ERROR: Unable to open temporary file"
-#~ msgstr "ERROR: Tilapäistiedostoa ei voida avata"
-
-#~ msgid "ERROR: Unable to print %d text columns!\n"
-#~ msgstr "ERROR: %d tekstisaraketta ei voida tulostaa!\n"
-
-#~ msgid "ERROR: Unable to print %dx%d text page!\n"
-#~ msgstr "ERROR: %d x %d tekstisivua ei voida tulostaa!\n"
-
-#~ msgid "ERROR: Unable to read print data"
-#~ msgstr "ERROR: Tulostusdataa ei voida lukea"
-
-#~ msgid "ERROR: Unable to read print data!\n"
-#~ msgstr "ERROR: Tulostusdataa ei voida lukea!\n"
-
-#~ msgid "ERROR: Unable to reserve port"
-#~ msgstr "ERROR: Porttia ei voida varata"
-
-#~ msgid "ERROR: Unable to seek to offset %ld in file - %s\n"
-#~ msgstr "ERROR: Tiedostossa ei voida siirtyä kohtaan %ld - %s\n"
-
-#~ msgid "ERROR: Unable to seek to offset %lld in file - %s\n"
-#~ msgstr "ERROR: Tiedostossa ei voida siirtyä kohtaan %lld - %s\n"
-
-#~ msgid "ERROR: Unable to send LPD command"
-#~ msgstr "ERROR: LPD-komentoa ei voida lähettää"
-
-#~ msgid "ERROR: Unable to send PAP tickle request"
-#~ msgstr "ERROR: PAP tickle -pyyntöä ei voida lähettää"
-
-#~ msgid "ERROR: Unable to send initial PAP send data request"
-#~ msgstr "ERROR: Alkuperäistä PAP send data -pyyntöä ei voida lähettää"
-
-#~ msgid "ERROR: Unable to send print data (%d)\n"
-#~ msgstr "ERROR: Tulostusdataa ei voida lähettää (%d)\n"
-
-#~ msgid "ERROR: Unable to send print data!\n"
-#~ msgstr "ERROR: Tulostusdataa ei voida lähettää!\n"
-
-#~ msgid "ERROR: Unable to send print file to printer"
-#~ msgstr "ERROR: Tulostustiedostoa ei voida lähettää tulostimelle"
-
-#~ msgid "ERROR: Unable to send trailing nul to printer"
-#~ msgstr "ERROR: Loppu-NUL:ia ei voida lähettää tulostimelle"
-
-#~ msgid "ERROR: Unable to wait for pictwpstops: %s\n"
-#~ msgstr "ERROR: pictwpstops:ia ei voida odottaa: %s\n"
-
-#~ msgid "ERROR: Unable to write %d bytes to \"%s\": %s\n"
-#~ msgstr "ERROR: %d tavua ei voida kirjoittaa kohteeseen ”%s”: %s\n"
-
-#~ msgid "ERROR: Unable to write %d bytes to printer!\n"
-#~ msgstr "ERROR: %d tavua ei voida kirjoittaa tulostimelle!\n"
-
-#~ msgid "ERROR: Unable to write control file"
-#~ msgstr "ERROR: Ohjaustiedostoa ei voida kirjoittaa"
-
-#~ msgid "ERROR: Unable to write print data"
-#~ msgstr "ERROR: Tulostusdataa ei voida kirjoittaa"
-
-#~ msgid "ERROR: Unable to write print data: %s\n"
-#~ msgstr "ERROR: Tulostusdataa ei voida kirjoittaa: %s\n"
-
-#~ msgid "ERROR: Unable to write raster data to driver!\n"
-#~ msgstr "ERROR: Rasteridataa ei voida kirjoittaa ajurille!\n"
-
-#~ msgid "ERROR: Unable to write to temporary file"
-#~ msgstr "ERROR: Tilapäistiedostoon ei voida kirjoittaa"
-
-#~ msgid "ERROR: Unable to write uncompressed document data: %s\n"
-#~ msgstr "ERROR: Pakkaamatonta dokumenttidataa ei voida kirjoittaa: %s\n"
-
-#~ msgid "ERROR: Unexpected text on line %d of %s!\n"
-#~ msgstr "ERROR: Odottamatonta tekstiä rivillä %d / %s!\n"
-
-#~ msgid "ERROR: Unknown encryption option value \"%s\"!\n"
-#~ msgstr "ERROR: Tuntematon salausvalinnan arvo ”%s”!\n"
-
-#~ msgid "ERROR: Unknown file order \"%s\"\n"
-#~ msgstr "ERROR: Tuntematon tiedostojärjestys ”%s”\n"
-
-#~ msgid "ERROR: Unknown format character \"%c\"\n"
-#~ msgstr "ERROR: Tuntematon muotomerkki ”%c”\n"
-
-#~ msgid "ERROR: Unknown message catalog format for \"%s\"!\n"
-#~ msgstr "ERROR: Tuntematon viestikatalogimuoto kohteelle ”%s”!\n"
-
-#~ msgid "ERROR: Unknown option \"%s\" with value \"%s\"!\n"
-#~ msgstr "ERROR: Tuntematon valinta ”%s” arvolla ”%s”!\n"
-
-#~ msgid "ERROR: Unknown print mode \"%s\"\n"
-#~ msgstr "ERROR: Tuntematon tulostustila ”%s”\n"
-
-#~ msgid "ERROR: Unknown version option value \"%s\"!\n"
-#~ msgstr "ERROR: Tuntematon versiovalinnan arvo ”%s”!\n"
-
-#~ msgid "ERROR: Unsupported brightness value %s, using brightness=100!\n"
-#~ msgstr "ERROR: Ei-tuettu kirkkausarvo %s, käytetään kirkkaus=100!\n"
-
-#~ msgid "ERROR: Unsupported gamma value %s, using gamma=1000!\n"
-#~ msgstr "ERROR: Ei-tuettu gamma-arvo %s, käytetään gamma=1000!\n"
-
-#~ msgid "ERROR: Unsupported number-up value %d, using number-up=1!\n"
-#~ msgstr "ERROR: Ei-tuettu number-up-arvo %d, käytetään number-up=1!\n"
-
-#~ msgid ""
-#~ "ERROR: Unsupported number-up-layout value %s, using number-up-"
-#~ "layout=lrtb!\n"
-#~ msgstr ""
-#~ "ERROR: Ei-tuettu number-up-layout-arvo %s, käytetään number-up-"
-#~ "layout=lrtb!\n"
-
-#~ msgid "ERROR: Unsupported page-border value %s, using page-border=none!\n"
-#~ msgstr "ERROR: Ei-tuettu page-border-arvo %s, käytetään page-border=none!\n"
-
-#~ msgid "ERROR: doc_printf overflow (%d bytes) detected, aborting!\n"
-#~ msgstr "ERROR: Havaittiin doc_printf-ylivuoto (%d tavua), keskeytetään!\n"
-
-#~ msgid "ERROR: pdftops filter crashed on signal %d!\n"
-#~ msgstr "ERROR: pdftops-suodin kaatui signaaliin %d!\n"
-
-#~ msgid "ERROR: pdftops filter exited with status %d!\n"
-#~ msgstr "ERROR: pdftops-suodin lopetti signaaliin %d!\n"
-
-#~ msgid "ERROR: pictwpstops exited on signal %d!\n"
-#~ msgstr "ERROR: pictwpstops lopetti signaaliin %d!\n"
-
-#~ msgid "ERROR: pictwpstops exited with status %d!\n"
-#~ msgstr "ERROR: pictwpstops lopetti paluuarvolla %d!\n"
-
-#~ msgid ""
-#~ "ERROR: recoverable: Unable to connect to printer; will retry in 30 "
-#~ "seconds...\n"
-#~ msgstr ""
-#~ "ERROR: korjattavissa: Tulostimeen ei voida yhdistää, yritetään uudelleen "
-#~ "30 sekunnin kuluttua...\n"
-
-#~ msgid "ERROR: select() failed"
-#~ msgstr "ERROR: select() epäonnistui"
-
-#~ msgid "ERROR: unable to stat print file"
-#~ msgstr "ERROR: tulostustiedostoa ei voida statata"
-
-#~ msgid "Empty PPD file!"
-#~ msgstr "Tyhjä PPD-tiedosto!"
-
-#~ msgid "Error: need hostname after '-h' option!\n"
-#~ msgstr "Virhe: h-valitsimen jälkeen tarvitaan palvelinnimi!\n"
-
-#~ msgid "FAIL\n"
-#~ msgstr "FAIL\n"
-
-#~ msgid ""
-#~ "File device URIs have been disabled! To enable, see the FileDevice "
-#~ "directive in \"%s/cupsd.conf\"."
-#~ msgstr ""
-#~ "Tiedostolaitteiden osoitteet on poistettu käytöstä! Voit ottaa ne "
-#~ "käyttöön ”%s/cupsd.conf”-tiedoston FileDevice-säännöllä."
-
-#~ msgid "Fuser temperature high!"
-#~ msgstr "Lämpövastuksen lämpötila on korkea!"
-
-#~ msgid "Fuser temperature low!"
-#~ msgstr "Lämpövastuksen lämpötila on matala!"
-
-#~ msgid "German FanFold"
-#~ msgstr "German FanFold"
-
-#~ msgid "German FanFold Legal"
-#~ msgstr "German FanFold Legal"
-
-#~ msgid "Got a printer-uri attribute but no job-id!"
-#~ msgstr "Saatiin printer-uri-attribuutti, mutta ei job-id:tä!"
-
-#~ msgid "INFO: AppleTalk disabled in System Preferences\n"
-#~ msgstr "INFO: AppleTalk poistettu käytöstä järjestelmäasetuksissa\n"
-
-#~ msgid "INFO: AppleTalk disabled in System Preferences.\n"
-#~ msgstr "INFO: AppleTalk poistettu käytöstä järjestelmäasetuksissa.\n"
-
-#~ msgid "INFO: Canceling print job...\n"
-#~ msgstr "INFO: Perutaan tulostustyötä...\n"
-
-#~ msgid "INFO: Connected to printer...\n"
-#~ msgstr "INFO: Yhteydessä tulostimeen...\n"
-
-#~ msgid "INFO: Connecting to printer...\n"
-#~ msgstr "INFO: Yhdistetään tulostimeen...\n"
-
-#~ msgid "INFO: Control file sent successfully\n"
-#~ msgstr "INFO: Ohjaustiedoston lähetys onnistui\n"
-
-#~ msgid "INFO: Data file sent successfully\n"
-#~ msgstr "INFO: Datatiedoston lähetys onnistui\n"
-
-#~ msgid "INFO: Formatting page %d...\n"
-#~ msgstr "INFO: Muotoillaan sivua %d...\n"
-
-#~ msgid "INFO: Loading image file...\n"
-#~ msgstr "INFO: Ladataan kuvatiedostoa...\n"
-
-#~ msgid "INFO: Looking for printer...\n"
-#~ msgstr "INFO: Etsitään tulostinta...\n"
-
-#~ msgid "INFO: Opening connection\n"
-#~ msgstr "INFO: Avataan yhteyttä\n"
-
-#~ msgid "INFO: Print file sent, waiting for printer to finish...\n"
-#~ msgstr ""
-#~ "INFO: Tulostustiedosto lähetetty, odotetaan tulostuksen valmistumista...\n"
-
-#~ msgid "INFO: Printer busy; will retry in 10 seconds...\n"
-#~ msgstr ""
-#~ "INFO: Tulostin varattu; yritetään uudelleen 10 sekunnin kuluttua...\n"
-
-#~ msgid "INFO: Printer busy; will retry in 30 seconds...\n"
-#~ msgstr ""
-#~ "INFO: Tulostin varattu; yritetään uudelleen 30 sekunnin kuluttua...\n"
-
-#~ msgid "INFO: Printer busy; will retry in 5 seconds...\n"
-#~ msgstr ""
-#~ "INFO: Tulostin varattu; yritetään uudelleen 5 sekunnin kuluttua...\n"
-
-#~ msgid "INFO: Printer does not support IPP/%d.%d, trying IPP/1.0...\n"
-#~ msgstr "INFO: Tulostin ei tue IPP-versiota %d.%d. Yritetään IPP/1.0:aa...\n"
-
-#~ msgid "INFO: Printer is busy; will retry in 5 seconds...\n"
-#~ msgstr ""
-#~ "INFO: Tulostin on varattu; yritetään uudelleen 5 sekunnin kuluttua...\n"
-
-#~ msgid "INFO: Printer is currently off-line.\n"
-#~ msgstr "INFO: Tulostin on tällä hetkellä offline.\n"
-
-#~ msgid "INFO: Printer is currently offline.\n"
-#~ msgstr "INFO: Tulostin on tällä hetkellä offline.\n"
-
-#~ msgid "INFO: Printer is now online.\n"
-#~ msgstr "INFO: Tulostin on nyt online.\n"
-
-#~ msgid "INFO: Printer is offline.\n"
-#~ msgstr "INFO: Tulostin on offline.\n"
-
-#~ msgid "INFO: Printer not connected; will retry in 30 seconds...\n"
-#~ msgstr ""
-#~ "INFO: Tulostinta ei ole yhdistetty; yritetään uudelleen 30 sekunnin "
-#~ "kuluttua...\n"
-
-#~ msgid "INFO: Printing page %d, %d%% complete...\n"
-#~ msgstr "INFO: Tulostetaan sivua %d, %d %% suoritettu...\n"
-
-#~ msgid "INFO: Printing page %d...\n"
-#~ msgstr "INFO: Tulostetaan sivua %d...\n"
-
-#~ msgid "INFO: Ready to print.\n"
-#~ msgstr "INFO: Valmis tulostamaan.\n"
-
-#~ msgid "INFO: Sending control file (%lu bytes)\n"
-#~ msgstr "INFO: Lähetetään ohjaustiedostoa (%lu tavua)\n"
-
-#~ msgid "INFO: Sending control file (%u bytes)\n"
-#~ msgstr "INFO: Lähetetään ohjaustiedostoa (%u tavua)\n"
-
-#~ msgid "INFO: Sending data\n"
-#~ msgstr "INFO: Lähetetään dataa\n"
-
-#~ msgid "INFO: Sending data file (%ld bytes)\n"
-#~ msgstr "INFO: Lähetetään datatiedostoa (%ld tavua)\n"
-
-#~ msgid "INFO: Sending data file (%lld bytes)\n"
-#~ msgstr "INFO: Lähetetään datatiedostoa (%lld tavua)\n"
-
-#~ msgid "INFO: Sending print data...\n"
-#~ msgstr "INFO: Lähetetään tulostusdataa...\n"
-
-#~ msgid "INFO: Sent print file, %ld bytes...\n"
-#~ msgstr "INFO: Lähetettiin tulostustiedosto, %ld tavua...\n"
-
-#~ msgid "INFO: Sent print file, %lld bytes...\n"
-#~ msgstr "INFO: Lähetettiin tulostustiedosto, %lld tavua...\n"
-
-#~ msgid "INFO: Spooling LPR job, %.0f%% complete...\n"
-#~ msgstr "INFO: Lähetetään LPR-työtä, %.0f %% suoritettu...\n"
-
-#~ msgid ""
-#~ "INFO: Unable to contact printer, queuing on next printer in class...\n"
-#~ msgstr ""
-#~ "INFO: Tulostimeen ei saada yhteyttä, jonotetaan luokan seuraavalle "
-#~ "tulostimelle...\n"
-
-#~ msgid "INFO: Using default AppleTalk zone \"%s\"\n"
-#~ msgstr "INFO: Käytetään oletusarvoista AppleTalk-vyöhykettä ”%s”\n"
-
-#~ msgid "INFO: Waiting for job to complete...\n"
-#~ msgstr "INFO: Odotetaan työn valmistumista...\n"
-
-#~ msgid "INFO: Waiting for printer to become available...\n"
-#~ msgstr "INFO: Odotetaan, että tulostin tulee käytettäväksi...\n"
-
-#~ msgid "ISO B0"
-#~ msgstr "ISO B0"
-
-#~ msgid "ISO B1"
-#~ msgstr "ISO B1"
-
-#~ msgid "ISO B10"
-#~ msgstr "ISO B10"
-
-#~ msgid "ISO B2"
-#~ msgstr "ISO B2"
-
-#~ msgid "ISO B3"
-#~ msgstr "ISO B3"
-
-#~ msgid "ISO B4"
-#~ msgstr "ISO B4"
-
-#~ msgid "ISO B4 Envelope"
-#~ msgstr "ISO B4 Envelope"
-
-#~ msgid "ISO B5"
-#~ msgstr "ISO B5"
-
-#~ msgid "ISO B5 (Oversize)"
-#~ msgstr "ISO B5 (ylikokoinen)"
-
-#~ msgid "ISO B5 Envelope"
-#~ msgstr "ISO B5 Envelope"
-
-#~ msgid "ISO B6"
-#~ msgstr "ISO B6"
-
-#~ msgid "ISO B6 Envelope"
-#~ msgstr "ISO B6 Envelope"
-
-#~ msgid "ISO B7"
-#~ msgstr "ISO B7"
-
-#~ msgid "ISO B8"
-#~ msgstr "ISO B8"
-
-#~ msgid "ISO B9"
-#~ msgstr "ISO B9"
-
-#~ msgid "Ink/toner almost empty."
-#~ msgstr "Väriaine lähes loppu."
-
-#~ msgid "Ink/toner empty!"
-#~ msgstr "Väriaine loppu!"
-
-#~ msgid "Ink/toner waste bin almost full."
-#~ msgstr "Hukkavärisäiliö lähes täynnä."
-
-#~ msgid "Ink/toner waste bin full!"
-#~ msgstr "Hukkavärisäiliö täynnä!"
-
-#~ msgid "Interlock open."
-#~ msgstr "Välilukko avoinna."
-
-#~ msgid "Invite Envelope"
-#~ msgstr "Kutsun kirjekuori"
-
-#~ msgid "Italian Envelope"
-#~ msgstr "Italialainen kirjekuori"
-
-#~ msgid "Job #%d cannot be restarted - no files!"
-#~ msgstr "Työtä %d ei voida aloittaa uudelleen - ei tiedostoja!"
-
-#~ msgid "Job #%d does not exist!"
-#~ msgstr "Työtä %d ei ole olemassa!"
-
-#~ msgid "Job #%d is finished and cannot be altered!"
-#~ msgstr "Työ %d on suoritettu eikä sitä voida muuttaa!"
-
-#~ msgid "Job #%d is not complete!"
-#~ msgstr "Työtä %d ei ole suoritettu!"
-
-#~ msgid "Job #%d is not held for authentication!"
-#~ msgstr "Työtä %d ei pidetä todentamista varten!"
-
-#~ msgid "Job #%d is not held!"
-#~ msgstr "Työtä %d ei pidetä!"
-
-#~ msgid "Job #%s does not exist!"
-#~ msgstr "Työtä %s ei ole olemassa!"
-
-#~ msgid "Job %d not found!"
-#~ msgstr "Työtä %d ei löytynyt!"
-
-#~ msgid "Job subscriptions cannot be renewed!"
-#~ msgstr "Työtilauksia ei voida uudistaa!"
-
-#~ msgid "Kaku2 Envelope"
-#~ msgstr "Kaku2 Envelope"
-
-#~ msgid "Kaku3 Envelope"
-#~ msgstr "Kaku3 Envelope"
-
-#~ msgid "Language \"%s\" not supported!"
-#~ msgstr "Kieltä ”%s” ei tueta!"
-
-#~ msgid "Media jam!"
-#~ msgstr "Mediatukos!"
-
-#~ msgid "Media tray almost empty."
-#~ msgstr "Syöttöalusta lähes tyhjä."
-
-#~ msgid "Media tray empty!"
-#~ msgstr "Syöttöalusta tyhjä!"
-
-#~ msgid "Media tray missing!"
-#~ msgstr "Syöttöalusta puuttuu!"
-
-#~ msgid "Media tray needs to be filled."
-#~ msgstr "Syöttöalusta on täytettävä."
-
-#~ msgid "Missing document-number attribute!"
-#~ msgstr "Document-number-attribuutti puuttuu!"
-
-#~ msgid "Missing double quote on line %d!"
-#~ msgstr "Kaksinkertainen lainausmerkki puuttuu riviltä %d!"
-
-#~ msgid "Missing form variable!"
-#~ msgstr "Muotomuuttuja puuttuu!"
-
-#~ msgid "Missing notify-subscription-ids attribute!"
-#~ msgstr "notify-subscription-ids-attribuutti puuttuu!"
-
-#~ msgid "Missing requesting-user-name attribute!"
-#~ msgstr "requesting-user-name-attribuutti puuttuu!"
-
-#~ msgid "Missing required attributes!"
-#~ msgstr "Vaadittuja attribuutteja puuttuu!"
-
-#~ msgid "Missing value on line %d!"
-#~ msgstr "Arvo puuttuu riviltä %d!"
-
-#~ msgid ""
-#~ "Model:  name = %s\n"
-#~ "        natural_language = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ msgstr ""
-#~ "Malli:  name = %s\n"
-#~ "        natural_language = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-
-#~ msgid "Monarch"
-#~ msgstr "Monarch"
-
-#~ msgid "Monarch Envelope"
-#~ msgstr "Monarch Envelope"
-
-#~ msgid "NOTICE: Print file accepted - job ID %d.\n"
-#~ msgstr "NOTICE: Tulostustiedosto hyväksytty - työn tunnus %d.\n"
-
-#~ msgid "NOTICE: Print file accepted - job ID unknown.\n"
-#~ msgstr "NOTICE: Tulostustiedosto hyväksytty - työn tunnus tuntematon.\n"
-
-#~ msgid "No PPD name!"
-#~ msgstr "Ei PPD-nimeä!"
-
-#~ msgid "No Windows printer drivers are installed!"
-#~ msgstr "Windows-tulostinajureita ei ole asennettu!"
-
-#~ msgid "No active jobs on %s!"
-#~ msgstr "Kohteessa %s ei ole aktiivisia töitä!"
-
-#~ msgid "No attributes in request!"
-#~ msgstr "Pyynnössä ei ole attribuutteja!"
-
-#~ msgid "No authentication information provided!"
-#~ msgstr "Todentamistietoja ei annettu!"
-
-#~ msgid "No default printer"
-#~ msgstr "Ei oletustulostinta"
-
-#~ msgid "No file!?!"
-#~ msgstr "Ei tiedostoa!?!"
-
-#~ msgid "No modification time!"
-#~ msgstr "Ei muokkausaikaa!"
-
-#~ msgid "No printer name!"
-#~ msgstr "Ei tulostimen nimeä!"
-
-#~ msgid "No printer-uri found for class!"
-#~ msgstr "Luokalle ei löytynyt tulostinosoitetta!"
-
-#~ msgid "No printer-uri found!"
-#~ msgstr "Tulostinosoitetta ei löytynyt!"
-
-#~ msgid "No printer-uri in request!"
-#~ msgstr "Pyynnössä ei ole tulostinosoitetta!"
-
-#~ msgid "No subscription attributes in request!"
-#~ msgstr "Pyynnössä ei ole tilausattribuutteja!"
-
-#~ msgid "OPC almost at end-of-life."
-#~ msgstr "OPC:n käyttöikä päättymässä."
-
-#~ msgid "OPC at end-of-life!"
-#~ msgstr "OPC:n käyttöikä päättynyt!"
-
-#~ msgid "Out of toner!"
-#~ msgstr "Väriaine loppu!"
-
-#~ msgid "Output bin almost full."
-#~ msgstr "Tulostusalusta lähes täynnä."
-
-#~ msgid "Output bin full!"
-#~ msgstr "Tulostusalusta täynnä!"
-
-#~ msgid "Output for printer %s is sent to %s\n"
-#~ msgstr "Tulostimen %s tuloste lähetetään kohteeseen %s\n"
-
-#~ msgid "Output for printer %s is sent to remote printer %s on %s\n"
-#~ msgstr "Tulostimen %s tuloste lähetetään etätulostimelle %s kohteessa %s\n"
-
-#~ msgid "Output for printer %s/%s is sent to %s\n"
-#~ msgstr "Tulostimen %s/%s tuloste lähetetään kohteeseen %s\n"
-
-#~ msgid "Output for printer %s/%s is sent to remote printer %s on %s\n"
-#~ msgstr ""
-#~ "Tulostimen %s/%s tuloste lähetetään etätulostimelle %s kohteessa %s\n"
-
-#~ msgid "Output tray missing!"
-#~ msgstr "Tulostusalusta puuttuu!"
-
-#~ msgid "PASS\n"
-#~ msgstr "PASS\n"
-
-#~ msgid "PRC1 Envelope"
-#~ msgstr "PRC1 Envelope"
-
-#~ msgid "PRC10 Envelope"
-#~ msgstr "PRC10 Envelope"
-
-#~ msgid "PRC2 Envelope"
-#~ msgstr "PRC2 Envelope"
-
-#~ msgid "PRC3 Envelope"
-#~ msgstr "PRC3 Envelope"
-
-#~ msgid "PRC32K (Oversize)"
-#~ msgstr "PRC32K (ylikokoinen)"
-
-#~ msgid "PRC4 Envelope"
-#~ msgstr "PRC4 Envelope"
-
-#~ msgid "PRC5 Envelope"
-#~ msgstr "PRC5 Envelope"
-
-#~ msgid "PRC6 Envelope"
-#~ msgstr "PRC6 Envelope"
-
-#~ msgid "PRC7 Envelope"
-#~ msgstr "PRC7 Envelope"
-
-#~ msgid "PRC8 Envelope"
-#~ msgstr "PRC8 Envelope"
-
-#~ msgid "PRC9 Envelope"
-#~ msgstr "PRC9 Envelope"
-
-#~ msgid "Personal Envelope"
-#~ msgstr "Personal Envelope"
-
-#~ msgid "Printer offline."
-#~ msgstr "Tulostin offline."
-
-#~ msgid "Rank    Owner   Job     File(s)                         Total Size\n"
-#~ msgstr ""
-#~ "Sija    Omistaja   Työ     Tiedostot                         Koko "
-#~ "yhteensä\n"
-
-#~ msgid ""
-#~ "Rank   Owner      Pri  Job        Files                       Total Size\n"
-#~ msgstr ""
-#~ "Sija   Omistaja      Pri  Työ        Tiedostot                       Koko "
-#~ "yhteensä\n"
-
-#~ msgid "Running command: %s %s -N -A %s -c '%s'\n"
-#~ msgstr "Suoritetaan komentoa: %s %s -N -A %s -c '%s'\n"
-
-#~ msgid "SCSI Printer"
-#~ msgstr "SCSI-tulostin"
-
-#~ msgid "Tabloid (Oversize)"
-#~ msgstr "Tabloid (ylisuuri)"
-
-#~ msgid "The notify-user-data value is too large (%d > 63 octets)!"
-#~ msgstr "notify-user-data-arvon on liian suuri (%d > 63 oktettia)!"
-
-#~ msgid "The printer or class is not shared!"
-#~ msgstr "Tulostinta tai luokkaa ei ole jaettu!"
-
-#~ msgid "The printer or class was not found."
-#~ msgstr "Tulostinta tai luokkaa ei löytynyt."
-
-#~ msgid "The printer-uri attribute is required!"
-#~ msgstr "printer-uri-attribuutti tarvitaan!"
-
-#~ msgid "Toner low."
-#~ msgstr "Väriaine vähissä."
-
-#~ msgid "Too many job-sheets values (%d > 2)!"
-#~ msgstr "Liikaa job-sheets-arvoja (%d > 2)!"
-
-#~ msgid "Too many printer-state-reasons values (%d > %d)!"
-#~ msgstr "Liikaa printer-state-reasons-arvoja (%d > %d)!"
-
-#~ msgid "US Executive"
-#~ msgstr "US Executive"
-
-#~ msgid "US Fanfold"
-#~ msgstr "US Fanfold"
-
-#~ msgid "US Legal (Oversize)"
-#~ msgstr "US Legal (ylikokoinen)"
-
-#~ msgid "US Letter (Oversize)"
-#~ msgstr "US Letter (ylikokoinen)"
-
-#~ msgid "US Letter (Small)"
-#~ msgstr "US Letter (pieni)"
-
-#~ msgid "Unable to add job for destination \"%s\"!"
-#~ msgstr "Työtä ei voida lisätä kohteelle ”%s”!"
-
-#~ msgid "Unable to allocate memory for file types!"
-#~ msgstr "Tiedostotyypeille ei voida varata muistia!"
-
-#~ msgid "Unable to copy 64-bit CUPS printer driver files (%d)!"
-#~ msgstr "64-bittisiä CUPS-tulostinajuritiedostoja ei voida kopioida (%d)!"
-
-#~ msgid "Unable to copy 64-bit Windows printer driver files (%d)!"
-#~ msgstr "64-bittisiä Windows-tulostinajuritiedostoja ei voida kopioida (%d)!"
-
-#~ msgid "Unable to copy CUPS printer driver files (%d)!"
-#~ msgstr "CUPS-tulostinajuritiedostoja ei voida kopioida (%d)!"
-
-#~ msgid "Unable to copy PPD file - %s!"
-#~ msgstr "PPD-tiedostoa ei voida kopioida - %s!"
-
-#~ msgid "Unable to copy PPD file!"
-#~ msgstr "PPD-tiedostoa ei voida kopioida!"
-
-#~ msgid "Unable to copy Windows 2000 printer driver files (%d)!"
-#~ msgstr "Windows 2000 -tulostinajuritiedostoja ei voida kopioida (%d)!"
-
-#~ msgid "Unable to copy Windows 9x printer driver files (%d)!"
-#~ msgstr "Windows 9x -tulostinajuritiedostoja ei voida kopioida (%d)!"
-
-#~ msgid "Unable to copy interface script - %s!"
-#~ msgstr "Liitäntäskriptiä ei voida kopioida - %s!"
-
-#~ msgid "Unable to create printer-uri!"
-#~ msgstr "Tulostinosoitetta ei voida luoda!"
-
-#~ msgid "Unable to edit cupsd.conf files larger than 1MB!"
-#~ msgstr ""
-#~ "cupsd.conf-tiedostoja, joka ovat suurempia kuin 1 Mt, ei voida muokata!"
-
-#~ msgid "Unable to find destination for job!"
-#~ msgstr "Työlle ei löydy kohdetta!"
-
-#~ msgid "Unable to find printer!\n"
-#~ msgstr "Tulostinta ei löytynyt!\n"
-
-#~ msgid "Unable to install Windows 2000 printer driver files (%d)!"
-#~ msgstr "Windows 2000 -tulostinajuritiedostoja ei voida asentaa (%d)!"
-
-#~ msgid "Unable to install Windows 9x printer driver files (%d)!"
-#~ msgstr "Windows 9x -tulostinajuritiedostoja ei voida asentaa (%d)!"
-
-#~ msgid "Unable to open document %d in job %d!"
-#~ msgstr "Dokumenttia %d työssä %d ei voida avata!"
-
-#~ msgid "Unable to run \"%s\": %s\n"
-#~ msgstr "Kohdetta ”%s” ei voida suorittaa: %s\n"
-
-#~ msgid "Unable to send command to printer driver!"
-#~ msgstr "Komentoa ei voida lähettää tulostinajurille!"
-
-#~ msgid "Unable to set Windows printer driver (%d)!"
-#~ msgstr "Windows-tulostinajuria ei voida asettaa (%d)!"
-
-#~ msgid "Unable to use legacy USB class driver!\n"
-#~ msgstr "Vanhaa USB-luokka-ajuria ei voida käyttää!\n"
-
-#~ msgid "Unknown printer error (%s)!"
-#~ msgstr "Tuntematon tulostinvirhe (%s)!"
-
-#~ msgid "Unsupported character set \"%s\"!"
-#~ msgstr "Ei-tuettu merkistö ”%s”!"
-
-#~ msgid "Unsupported compression \"%s\"!"
-#~ msgstr "Ei-tuettu pakkausmenetelmä ”%s”!"
-
-#~ msgid "Unsupported compression attribute %s!"
-#~ msgstr "Ei-tuettu pakkausattribuutti %s!"
-
-#~ msgid "Unsupported format \"%s\"!"
-#~ msgstr "Ei-tuettu muoto ”%s”!"
-
-#~ msgid "Unsupported format '%s'!"
-#~ msgstr "Ei-tuettu muoto ”%s”!"
-
-#~ msgid "Unsupported format '%s/%s'!"
-#~ msgstr "Ei-tuettu muoto ”%s/%s”!"
-
-#~ msgid ""
-#~ "Usage:\n"
-#~ "\n"
-#~ "    lpadmin [-h server] -d destination\n"
-#~ "    lpadmin [-h server] -x destination\n"
-#~ "    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m "
-#~ "model]\n"
-#~ "                       [-r remove-class] [-v device] [-D description]\n"
-#~ "                       [-P ppd-file] [-o name=value]\n"
-#~ "                       [-u allow:user,user] [-u deny:user,user]\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Käyttö:\n"
-#~ "\n"
-#~ "    lpadmin [-h palvelin] -d kohde\n"
-#~ "    lpadmin [-h palvelin] -x kohde\n"
-#~ "    lpadmin [-h palvelin] -p tulostin [-c lisää-luokka] [-i liitäntä] [-m "
-#~ "malli]\n"
-#~ "                       [-r poista-luokka] [-v laite] [-D kuvaus]\n"
-#~ "                       [-P ppd-tiedosto] [-o nimi=arvo]\n"
-#~ "                       [-u allow:käyttäjä,käyttäjä] [-u deny:käyttäjä,"
-#~ "käyttäjä]\n"
-#~ "\n"
-
-#~ msgid "Usage: %s job user title copies options [filename]\n"
-#~ msgstr "Käyttö: %s työ käyttäjä otsikko kopioita valinnat [tiedostonimi]\n"
-
-#~ msgid "Usage: %s job-id user title copies options [file]\n"
-#~ msgstr "Käyttö: %s job-id käyttäjä otsikko kopioita valinnat [tiedosto]\n"
-
-#~ msgid "Usage: %s job-id user title copies options file\n"
-#~ msgstr "Käyttö: %s job-id käyttäjä otsikko kopioita valinnat tiedosto\n"
-
-#~ msgid ""
-#~ "Usage: convert [ options ]\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "  -f filename          Set file to be converted (otherwise stdin)\n"
-#~ "  -o filename          Set file to be generated (otherwise stdout)\n"
-#~ "  -i mime/type         Set input MIME type (otherwise auto-typed)\n"
-#~ "  -j mime/type         Set output MIME type (otherwise application/pdf)\n"
-#~ "  -P filename.ppd      Set PPD file\n"
-#~ "  -a 'name=value ...'  Set option(s)\n"
-#~ "  -U username          Set username for job\n"
-#~ "  -J title             Set title\n"
-#~ "  -c copies            Set number of copies\n"
-#~ "  -u                   Remove the PPD file when finished\n"
-#~ "  -D                   Remove the input file when finished\n"
-#~ msgstr ""
-#~ "Käyttö: convert [ valitsimet ]\n"
-#~ "\n"
-#~ "Valitsimet:\n"
-#~ "\n"
-#~ "  -f tiedostonimi          Aseta muunnettava tiedosto (muussa tapauksessa "
-#~ "stdin)\n"
-#~ "  -o tiedostonimi          Aseta luotava tiedosto (muussa tapauksessa "
-#~ "stdout)\n"
-#~ "  -i mime/tyyppi         Aseta syötteen MIME-tyyppi (muussa tapauksessa "
-#~ "määritetään automaattisesti)\n"
-#~ "  -j mime/tyyppi         Aseta tulosteen MIME-tyyppi (muussa tapauksessa "
-#~ "application/pdf)\n"
-#~ "  -P tiedostonimi.ppd      Aseta PPD-tiedosto\n"
-#~ "  -a 'nimi=arvo ...'  Aseta valintoja\n"
-#~ "  -U käyttäjätunnus          Aseta työn käyttäjätunnus\n"
-#~ "  -J otsikko             Aseta otsikko\n"
-#~ "  -c kopioita            Aseta kopioiden määrä\n"
-#~ "  -u                   Poista PPD-tiedosto, kun valmis\n"
-#~ "  -D                   Poista syötetiedosto, kun valmis\n"
-
-#~ msgid ""
-#~ "Usage: cupsaddsmb [options] printer1 ... printerN\n"
-#~ "       cupsaddsmb [options] -a\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "  -E               Encrypt the connection to the server\n"
-#~ "  -H samba-server  Use the named SAMBA server\n"
-#~ "  -U samba-user    Authenticate using the named SAMBA user\n"
-#~ "  -a               Export all printers\n"
-#~ "  -h cups-server   Use the named CUPS server\n"
-#~ "  -v               Be verbose (show commands)\n"
-#~ msgstr ""
-#~ "Käyttö: cupsaddsmb [valitsimet] tulostin1 ... tulostinN\n"
-#~ "       cupsaddsmb [valitsimet] -a\n"
-#~ "\n"
-#~ "Valitsimet:\n"
-#~ "  -E               Salaa yhteys palvelimeen\n"
-#~ "  -H samba-palvelin  Käytä nimettyä SAMBA-palvelinta\n"
-#~ "  -U samba-käyttäjä    Todentaudu käyttäen nimettyä SAMBA-käyttäjää\n"
-#~ "  -a               Vie kaikki tulostimet\n"
-#~ "  -h cups-palvelin   Käytä nimettyä CUPS-palvelinta\n"
-#~ "  -v               Ole monisanainen (näytä komennot)\n"
-
-#~ msgid ""
-#~ "Usage: cupsctl [options] [param=value ... paramN=valueN]\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -E                      Enable encryption\n"
-#~ "    -U username             Specify username\n"
-#~ "    -h server[:port]        Specify server address\n"
-#~ "\n"
-#~ "    --[no-]debug-logging    Turn debug logging on/off\n"
-#~ "    --[no-]remote-admin     Turn remote administration on/off\n"
-#~ "    --[no-]remote-any       Allow/prevent access from the Internet\n"
-#~ "    --[no-]remote-printers  Show/hide remote printers\n"
-#~ "    --[no-]share-printers   Turn printer sharing on/off\n"
-#~ "    --[no-]user-cancel-any  Allow/prevent users to cancel any job\n"
-#~ msgstr ""
-#~ "Käyttö: cupsctl [valitsimet] [param=arvo ... paramN=arvoN]\n"
-#~ "\n"
-#~ "Valitsimet:\n"
-#~ "\n"
-#~ "    -E                      Ota salaus käyttöön\n"
-#~ "    -U käyttäjätunnus             Määrittele käyttäjätunnus\n"
-#~ "    -h palvelin[:portti]        Määrittele palvelimen osoite\n"
-#~ "\n"
-#~ "    --[no-]debug-logging    Laita virheiden kirjaaminen päälle tai pois "
-#~ "päältä\n"
-#~ "    --[no-]remote-admin     Laita etähallinta päälle tai pois päältä\n"
-#~ "    --[no-]remote-any       Salli tai estä pääsy internetistä\n"
-#~ "    --[no-]remote-printers  Näytä tai kätke etätulostimet\n"
-#~ "    --[no-]share-printers   Laita tulostinjako päälle tai pois päältä\n"
-#~ "    --[no-]user-cancel-any  Salli tai estä käyttäjien perua mikä tahansa "
-#~ "työ\n"
-
-#~ msgid ""
-#~ "Usage: cupsd [-c config-file] [-f] [-F] [-h] [-l]\n"
-#~ "\n"
-#~ "-c config-file      Load alternate configuration file\n"
-#~ "-f                  Run in the foreground\n"
-#~ "-F                  Run in the foreground but detach\n"
-#~ "-h                  Show this usage message\n"
-#~ "-l                  Run cupsd from launchd(8)\n"
-#~ msgstr ""
-#~ "Käyttö: cupsd [-c määrittelytiedosto] [-f] [-F] [-h] [-l]\n"
-#~ "\n"
-#~ "-c määrittelytiedosto      Lataa vaihtoehtoinen määrittelytiedosto\n"
-#~ "-f                  Suorita etualalla\n"
-#~ "-F                  Suorita etualalla, mutta irrota\n"
-#~ "-h                  Näytä tämä käyttöohje\n"
-#~ "-l                  Suorita cupsd launchd(8):sta\n"
-
-#~ msgid ""
-#~ "Usage: cupsfilter -m mime/type [ options ] filename\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "  -c cupsd.conf    Set cupsd.conf file to use\n"
-#~ "  -j job-id[,N]    Filter file N from the specified job (default is file "
-#~ "1)\n"
-#~ "  -n copies        Set number of copies\n"
-#~ "  -o name=value    Set option(s)\n"
-#~ "  -p filename.ppd  Set PPD file\n"
-#~ "  -t title         Set title\n"
-#~ msgstr ""
-#~ "Käyttö: cupsfilter -m mime/tyyppi [ valitsimet ] tiedostonimi\n"
-#~ "\n"
-#~ "Valitsimet:\n"
-#~ "\n"
-#~ "  -c cupsd.conf    Aseta käytettävä cupsd.conf-tiedosto\n"
-#~ "  -j job-id[,N]    Suodintiedosto N määritellystä työstä (oletus on "
-#~ "tiedosto 1)\n"
-#~ "  -n kopiot        Aseta kopioiden määrä\n"
-#~ "  -o nimi=arvo    Aseta valintoja\n"
-#~ "  -p tiedostonimi.ppd  Aseta PPD-tiedosto\n"
-#~ "  -t otsikko         Aseta otsikko\n"
-
-#~ msgid ""
-#~ "Usage: cupstestdsc [options] filename.ps [... filename.ps]\n"
-#~ "       cupstestdsc [options] -\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -h       Show program usage\n"
-#~ "\n"
-#~ "    Note: this program only validates the DSC comments, not the "
-#~ "PostScript itself.\n"
-#~ msgstr ""
-#~ "Käyttö: cupstestdsc [valitsimet] tiedostonimi.ps [... tiedostonimi.ps]\n"
-#~ "       cupstestdsc [valitsimet] -\n"
-#~ "\n"
-#~ "Valitsimet:\n"
-#~ "\n"
-#~ "    -h       Näytä ohjelman käyttö\n"
-#~ "\n"
-#~ "    Huomaa: tämä ohjelma tarkistaa vain DSC-kommentit, ei itse "
-#~ "PostScriptiä.\n"
-
-#~ msgid ""
-#~ "Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]\n"
-#~ "       program | cupstestppd [options] -\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -R root-directory    Set alternate root\n"
-#~ "    -W {all,none,constraints,defaults,duplex,filters,translations}\n"
-#~ "                         Issue warnings instead of errors\n"
-#~ "    -q                   Run silently\n"
-#~ "    -r                   Use 'relaxed' open mode\n"
-#~ "    -v                   Be slightly verbose\n"
-#~ "    -vv                  Be very verbose\n"
-#~ msgstr ""
-#~ "Käyttö: cupstestppd [valitsimet] tiedostonimi1.ppd[.gz] [... "
-#~ "tiedostonimiN.ppd[.gz]]\n"
-#~ "       ohjelma | cupstestppd [valitsimet] -\n"
-#~ "\n"
-#~ "Valitsimet:\n"
-#~ "\n"
-#~ "    -R juurihakemisto    Aseta vaihtoehtoinen juuri\n"
-#~ "    -W {all,none,constraints,defaults,duplex,filters,translations}\n"
-#~ "                         Anna varoituksia virheiden sijasta\n"
-#~ "    -q                   Suorita hiljaa\n"
-#~ "    -r                   Käytä ”rentoa” avointa tilaa\n"
-#~ "    -v                   Ole monisanainen\n"
-#~ "    -vv                  Ole erittäin monisanainen\n"
-
-#~ msgid "Usage: lpmove job/src dest\n"
-#~ msgstr "Käyttö: lpmove työ/lähde kohde\n"
-
-#~ msgid ""
-#~ "Usage: lpoptions [-h server] [-E] -d printer\n"
-#~ "       lpoptions [-h server] [-E] [-p printer] -l\n"
-#~ "       lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
-#~ "       lpoptions [-h server] [-E] -x printer\n"
-#~ msgstr ""
-#~ "Käyttö: lpoptions [-h palvelin] [-E] -d tulostin\n"
-#~ "       lpoptions [-h palvelin] [-E] [-p tulostin] -l\n"
-#~ "       lpoptions [-h palvelin] [-E] -p tulostin -o valinta[=arvo] ...\n"
-#~ "       lpoptions [-h palvelin] [-E] -x tulostin\n"
-
-#~ msgid "Usage: lppasswd [-g groupname]\n"
-#~ msgstr "Käyttö: lppasswd [-g ryhmätunnus]\n"
-
-#~ msgid ""
-#~ "Usage: lppasswd [-g groupname] [username]\n"
-#~ "       lppasswd [-g groupname] -a [username]\n"
-#~ "       lppasswd [-g groupname] -x [username]\n"
-#~ msgstr ""
-#~ "Käyttö: lppasswd [-g ryhmätunnus] [käyttäjätunnus]\n"
-#~ "       lppasswd [-g ryhmätunnus] -a [käyttäjätunnus]\n"
-#~ "       lppasswd [-g ryhmätunnus] -x [käyttäjätunnus]\n"
-
-#~ msgid ""
-#~ "Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]\n"
-#~ msgstr ""
-#~ "Käyttö: lpq [-P kohde] [-U käyttäjätunnus] [-h palvelinnimi[:portti]] [-"
-#~ "l] [+aikaväli]\n"
-
-#~ msgid ""
-#~ "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]\n"
-#~ "Options:\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "  -I include-dir       Add include directory to search path.\n"
-#~ "  -c catalog.po        Load the specified message catalog.\n"
-#~ "  -d output-dir        Specify the output directory.\n"
-#~ "  -l lang[,lang,...]   Specify the output language(s) (locale).\n"
-#~ "  -m                   Use the ModelName value as the filename.\n"
-#~ "  -t                   Test PPDs instead of generating them.\n"
-#~ "  -v                   Be verbose (more v's for more verbosity).\n"
-#~ "  -z                   Compress PPD files using GNU zip.\n"
-#~ "  --cr                 End lines with CR (Mac OS 9).\n"
-#~ "  --crlf               End lines with CR + LF (Windows).\n"
-#~ "  --lf                 End lines with LF (UNIX/Linux/Mac OS X).\n"
-#~ msgstr ""
-#~ "Käyttö: ppdc [valitsimet] tiedostonimi.drv [ ... tiedostonimiN.drv ]\n"
-#~ "Valitsimet:\n"
-#~ "  -D nimi=arvo        Aseta nimetty muuttuja arvoon.\n"
-#~ "  -I include-hakemisto       Lisää include-hakemisto hakupolkuun.\n"
-#~ "  -c katalogi.po        Lataa määritellyn viestikatalogin.\n"
-#~ "  -d tulostehakemisto        Määrittele tulostehakemisto.\n"
-#~ "  -l kieli[,kieli,...]   Määrittele tulostekieli (lokaali).\n"
-#~ "  -m                   Käytä ModelName-arvoa tiedostonimenä.\n"
-#~ "  -t                   Testaa PPD:t niiden luomisen sijasta.\n"
-#~ "  -v                   Ole monisanainen (useammat v-kirjaimet lisäävät "
-#~ "monisanaisuutta).\n"
-#~ "  -z                   Pakkaa PPD-tiedostot GNU zipillä.\n"
-#~ "  --cr                 Päätä rivit CR:llä (Mac OS 9).\n"
-#~ "  --crlf               Päätä rivit CR + LF:llä (Windows).\n"
-#~ "  --lf                 Päätä rivit LF:llä (UNIX/Linux/Mac OS X).\n"
-
-#~ msgid ""
-#~ "Usage: ppdhtml [options] filename.drv >filename.html\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "Options:\n"
-#~ "  -I include-dir    Add include directory to search path.\n"
-#~ msgstr ""
-#~ "Käyttö: ppdhtml [valitsimet] tiedostonimi.drv > tiedostonimi.html\n"
-#~ "  -D nimi=arvo        Aseta nimetty muuttuja arvoon.\n"
-#~ "Valinnat:\n"
-#~ "  -I include-hakemisto    Lisää include-hakemisto hakupolkuun.\n"
-
-#~ msgid ""
-#~ "Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Options:\n"
-#~ "  -I include-dir\n"
-#~ "  -o filename.drv\n"
-#~ msgstr ""
-#~ "Käyttö: ppdi [valitsimet] tiedostonimi.ppd [ ... tiedostonimiN.ppd ]\n"
-#~ "Valitsimet:\n"
-#~ "  -I include-hakemisto\n"
-#~ "  -o tiedostonimi.drv\n"
-
-#~ msgid ""
-#~ "Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Options:\n"
-#~ "  -o filename.ppd[.gz]\n"
-#~ msgstr ""
-#~ "Käyttö: ppdmerge [valitsimet] tiedostonimi.ppd [ ... tiedostonimiN.ppd ]\n"
-#~ "Valitsimet:\n"
-#~ "  -o tiedostonimi.ppd[.gz]\n"
-
-#~ msgid ""
-#~ "Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]\n"
-#~ "Options:\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "  -I include-dir    Add include directory to search path.\n"
-#~ "  -v                Be verbose (more v's for more verbosity).\n"
-#~ msgstr ""
-#~ "Käyttö: ppdpo [valitsimet] -o tiedostonimi.po tiedostonimi.drv [ ... "
-#~ "tiedostonimiN.drv ]\n"
-#~ "Valitsimet:\n"
-#~ "  -D nimi=arvo        Aseta nimetty muuttuja arvoon.\n"
-#~ "  -I include-hakemisto    Lisää include-hakemisto hakupolkuun.\n"
-#~ "  -v                Ole monisanainen (useammat v-kirjaimet lisäävät "
-#~ "monisanaisuutta).\n"
-
-#~ msgid "Usage: snmp [host-or-ip-address]\n"
-#~ msgstr "Käyttö: snmp [palvelin-tai-ip-osoite]\n"
-
-#~ msgid "WARNING: Adding only the first %d printers found"
-#~ msgstr "WARNING: Lisätään vain %d ensimmäistä löydettyä tulostinta"
-
-#~ msgid "WARNING: Boolean expected for waiteof option \"%s\"\n"
-#~ msgstr "WARNING: waiteof-valinnalle ”%s” odotettiin totuusarvoa\n"
-
-#~ msgid "WARNING: Failed to read side-channel request!\n"
-#~ msgstr "WARNING: Sivukanavapyyntöä ei voitu lukea!\n"
-
-#~ msgid "WARNING: Option \"%s\" cannot be included via IncludeFeature!\n"
-#~ msgstr ""
-#~ "WARNING: Valintaa ”%s” ei voida sisällyttää IncludeFeature:n kautta!\n"
-
-#~ msgid "WARNING: Printer not responding\n"
-#~ msgstr "WARNING: Tulostin ei vastaa\n"
-
-#~ msgid "WARNING: Printer sent unexpected EOF\n"
-#~ msgstr "WARNING: Tulostin lähetti odottamattoman EOF:n\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with command status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: Etäpalvelin ei vastannut komentotilatavulla %d sekunnin "
-#~ "jälkeen!\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with control status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: Etäpalvelin ei vastannut ohjaustilatavulla %d sekunnin jälkeen!\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with data status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: Etäpalvelin ei vastannut datatilatavulla %d sekunnin jälkeen!\n"
-
-#~ msgid "WARNING: SCSI command timed out (%d); retrying...\n"
-#~ msgstr ""
-#~ "WARNING: SCSI-komento aikakatkaistiin (%d); yritetään uudelleen...\n"
-
-#~ msgid ""
-#~ "WARNING: This document does not conform to the Adobe Document Structuring "
-#~ "Conventions and may not print correctly!\n"
-#~ msgstr ""
-#~ "WARNING: Tämä dokumentti ei ole Adobe Document Structuring Conventions -"
-#~ "määrityksen mukainen eikä välttämättä tulostu oikein!\n"
-
-#~ msgid "WARNING: Unable to open \"%s:%s\": %s\n"
-#~ msgstr "WARNING: Kohdetta ”%s:%s” ei voida avata: %s\n"
-
-#~ msgid "WARNING: Unable to send PAP status request"
-#~ msgstr "WARNING: PAP status -pyyntöä ei voida lähettää"
-
-#~ msgid "WARNING: Unexpected PAP packet of type %d\n"
-#~ msgstr "WARNING: Odottamaton PAP-paketti tyyppiä %d\n"
-
-#~ msgid "WARNING: Unknown PAP packet of type %d\n"
-#~ msgstr "WARNING: Tuntematon PAP-paketti tyyppiä %d\n"
-
-#~ msgid "WARNING: Unknown choice \"%s\" for option \"%s\"!\n"
-#~ msgstr "WARNING: Tuntematon vaihtoehto ”%s” valinnalle ”%s”!\n"
-
-#~ msgid "WARNING: Unknown option \"%s\"!\n"
-#~ msgstr "WARNING: Tuntematon valinta ”%s”!\n"
-
-#~ msgid "WARNING: Unsupported baud rate %s!\n"
-#~ msgstr "WARNING: Ei-tuettu siirtonopeus %s!\n"
-
-#~ msgid "WARNING: number expected for status option \"%s\"\n"
-#~ msgstr "WARNING: tilavalinnalle ”%s” odotettiin numeroarvoa\n"
-
-#~ msgid ""
-#~ "WARNING: recoverable: Network host '%s' is busy; will retry in %d "
-#~ "seconds...\n"
-#~ msgstr ""
-#~ "WARNING: korjattavissa: Verkkopalvelin ”%s” on varattu; yritetään "
-#~ "uudelleen %d sekunnin kuluttua...\n"
-
-#~ msgid "Warning, no Windows 2000 printer drivers are installed!"
-#~ msgstr "Varoitus, Windows 2000 -tulostinajureita ei ole asennettu!"
-
-#~ msgid "You4 Envelope"
-#~ msgstr "You4 Envelope"
-
-#~ msgid "convert: Use the -f option to specify a file to convert.\n"
-#~ msgstr "convert: Määrittele muunnettava tiedosto f-valitsimella.\n"
-
-#~ msgid "cupsaddsmb: No PPD file for printer \"%s\" - %s\n"
-#~ msgstr "cupsaddsmb: Tulostimelle ”%s” ei ole PPD-tiedostoa - %s\n"
-
-#~ msgid "cupsctl: Unable to connect to server: %s\n"
-#~ msgstr "cupsctl: Palvelimeen ei voida yhdistää: %s\n"
-
-#~ msgid "cupsctl: Unknown option \"%s\"!\n"
-#~ msgstr "cupsctl: Tuntematon valinta ”%s”!\n"
-
-#~ msgid "cupsctl: Unknown option \"-%c\"!\n"
-#~ msgstr "cupsctl: Tuntematon valinta ”-%c”!\n"
-
-#~ msgid "cupsd: Expected config filename after \"-c\" option!\n"
-#~ msgstr "cupsd: c-valitsimen jälkeen odotettiin määrittelytiedoston nimeä!\n"
-
-#~ msgid "cupsd: Unable to get current directory!\n"
-#~ msgstr "cupsd: Nykyistä hakemistoa ei voida hakea!\n"
-
-#~ msgid "cupsd: Unknown argument \"%s\" - aborting!\n"
-#~ msgstr "cupsd: Tuntematon argumentti ”%s” - keskeytetään!\n"
-
-#~ msgid "cupsd: Unknown option \"%c\" - aborting!\n"
-#~ msgstr "cupsd: Tuntematon valinta ”%c” - keskeytetään!\n"
-
-#~ msgid "cupsd: launchd(8) support not compiled in, running in normal mode.\n"
-#~ msgstr ""
-#~ "cupsd: launchd(8)-tukea ei ole käännetty mukaan, toimitaan "
-#~ "normaalitilassa.\n"
-
-#~ msgid "cupsfilter: Invalid document number %d!\n"
-#~ msgstr "cupsfilter: Virheellinen dokumenttinumero %d!\n"
-
-#~ msgid "cupsfilter: Invalid job ID %d!\n"
-#~ msgstr "cupsfilter: Virheellinen työtunnus %d!\n"
-
-#~ msgid "cupsfilter: Only one filename can be specified!\n"
-#~ msgstr "cupsfilter: Vain yksi tiedostonimi voidaan määritellä!\n"
-
-#~ msgid "cupsfilter: Unable to create temporary file: %s\n"
-#~ msgstr "cupsfilter: Tilapäistiedostoa ei voida luoda: %s\n"
-
-#~ msgid "cupsfilter: Unable to get job file - %s\n"
-#~ msgstr "cupsfilter: Työtiedostoa ei voida hakea - %s\n"
-
-#~ msgid "cupstestppd: The -q option is incompatible with the -v option.\n"
-#~ msgstr "cupstestppd: q-valitsin ei ole yhteensopiva v-valitsimen kanssa.\n"
-
-#~ msgid "cupstestppd: The -v option is incompatible with the -q option.\n"
-#~ msgstr "cupstestppd: v-valitsin ei ole yhteensopiva q-valitsimen kanssa.\n"
-
-#~ msgid "device for %s/%s: %s\n"
-#~ msgstr "laite kohteelle %s/%s: %s\n"
-
-#~ msgid "device for %s: %s\n"
-#~ msgstr "laite kohteelle %s: %s\n"
-
-#~ msgid "help\t\tget help on commands\n"
-#~ msgstr "help\t\tsaat tietoja komennoista\n"
-
-#~ msgid "job-printer-uri attribute missing!"
-#~ msgstr "job-printer-uri-attribuutti puuttuu!"
-
-#~ msgid "lpadmin: Class name can only contain printable characters!\n"
-#~ msgstr "lpadmin: Luokan nimi voi sisältää vain näkyviä merkkejä!\n"
-
-#~ msgid "lpadmin: Expected PPD after '-P' option!\n"
-#~ msgstr "lpadmin: P-valitsimen jälkeen odotettiin PPD:tä!\n"
-
-#~ msgid "lpadmin: Expected allow/deny:userlist after '-u' option!\n"
-#~ msgstr ""
-#~ "lpadmin: u-valitsimen jälkeen odotettiin allow/deny:käyttäjäluettelo!\n"
-
-#~ msgid "lpadmin: Expected class after '-r' option!\n"
-#~ msgstr "lpadmin: r-valitsimen jälkeen odotettiin luokkaa!\n"
-
-#~ msgid "lpadmin: Expected class name after '-c' option!\n"
-#~ msgstr "lpadmin: c-valitsimen jälkeen odotettiin luokan nimeä!\n"
-
-#~ msgid "lpadmin: Expected description after '-D' option!\n"
-#~ msgstr "lpadmin: D-valitsimen jälkeen odotettiin kuvausta!\n"
-
-#~ msgid "lpadmin: Expected device URI after '-v' option!\n"
-#~ msgstr "lpadmin: v-valitsimen jälkeen odotettiin laiteosoitetta!\n"
-
-#~ msgid "lpadmin: Expected file type(s) after '-I' option!\n"
-#~ msgstr "lpadmin: I-valitsimen jälkeen odotettiin tiedostotyyppejä!\n"
-
-#~ msgid "lpadmin: Expected hostname after '-h' option!\n"
-#~ msgstr "lpadmin: h-valitsimen jälkeen odotettiin palvelinnimeä!\n"
-
-#~ msgid "lpadmin: Expected interface after '-i' option!\n"
-#~ msgstr "lpadmin: i-valitsimen jälkeen odotettiin liitäntää!\n"
-
-#~ msgid "lpadmin: Expected location after '-L' option!\n"
-#~ msgstr "lpadmin: L-valitsimen jälkeen odotettiin sijaintia!\n"
-
-#~ msgid "lpadmin: Expected model after '-m' option!\n"
-#~ msgstr "lpadmin: m-valitsimen jälkeen odotettiin mallia!\n"
-
-#~ msgid "lpadmin: Expected name=value after '-o' option!\n"
-#~ msgstr "lpadmin: o-valitsimen jälkeen odotettiin nimi=arvo!\n"
-
-#~ msgid "lpadmin: Expected printer after '-p' option!\n"
-#~ msgstr "lpadmin: p-valitsimen jälkeen odotettiin tulostinta!\n"
-
-#~ msgid "lpadmin: Expected printer name after '-d' option!\n"
-#~ msgstr "lpadmin: d-valitsimen jälkeen odotettiin tulostimen nimeä!\n"
-
-#~ msgid "lpadmin: Expected printer or class after '-x' option!\n"
-#~ msgstr "lpadmin: x-valitsimen jälkeen odotettiin tulostinta tai luokkaa!\n"
-
-#~ msgid "lpadmin: No member names were seen!\n"
-#~ msgstr "lpadmin: Jäsennimiä ei havaittu!\n"
-
-#~ msgid "lpadmin: Printer %s is already a member of class %s.\n"
-#~ msgstr "lpadmin: Tulostin %s on jo luokan %s jäsen.\n"
-
-#~ msgid "lpadmin: Printer %s is not a member of class %s.\n"
-#~ msgstr "lpadmin: Tulostin %s ei ole luokan %s jäsen.\n"
-
-#~ msgid "lpadmin: Printer name can only contain printable characters!\n"
-#~ msgstr "lpadmin: Tulostimen nimi voi sisältää vain näkyviä merkkejä!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to add a printer to the class:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Tulostinta ei voida lisätä luokkaan:\n"
-#~ "         Määrittele tulostimen nimi ensin!\n"
-
-#~ msgid "lpadmin: Unable to connect to server: %s\n"
-#~ msgstr "lpadmin: Palvelimeen ei voida yhdistää: %s\n"
-
-#~ msgid "lpadmin: Unable to create temporary file - %s\n"
-#~ msgstr "lpadmin: Tilapäistiedostoa ei voida luoda - %s.\n"
-
-#~ msgid "lpadmin: Unable to create temporary file: %s\n"
-#~ msgstr "lpadmin: Tilapäistiedostoa ei voida luoda: %s\n"
-
-#~ msgid "lpadmin: Unable to open PPD file \"%s\" - %s\n"
-#~ msgstr "lpadmin: PPD-tiedostoa ”%s” ei voida avata - %s\n"
-
-#~ msgid "lpadmin: Unable to open file \"%s\": %s\n"
-#~ msgstr "lpadmin: Tiedostoa ”%s” ei voida avata: %s\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to remove a printer from the class:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Tulostinta ei voida poistaa luokasta:\n"
-#~ "         Määrittele tulostimen nimi ensin!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the PPD file:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: PPD-tiedostoa ei voida asettaa:\n"
-#~ "         Määrittele tulostimen nimi ensin!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the device URI:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Laiteosoitetta ei voida asettaa:\n"
-#~ "         Määrittele tulostimen nimi ensin!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the interface script or PPD file:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Liitäntäskriptiä tai PPD-tiedostoa ei voida asettaa:\n"
-#~ "         Määrittele tulostimen nimi ensin!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the interface script:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Liitäntäskriptiä ei voida asettaa:\n"
-#~ "         Määrittele tulostimen nimi ensin!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer description:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Tulostimen kuvausta ei voida asettaa:\n"
-#~ "         Määrittele tulostimen nimi ensin!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer location:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Tulostimen sijaintia ei voida asettaa:\n"
-#~ "         Määrittele tulostimen nimi ensin!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer options:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Tulostimen valintoja ei voida asettaa:\n"
-#~ "         Määrittele tulostimen nimi ensin!\n"
-
-#~ msgid "lpadmin: Unknown allow/deny option \"%s\"!\n"
-#~ msgstr "lpadmin: Tuntematon allow/deny-valinta ”%s”!\n"
-
-#~ msgid "lpadmin: Unknown argument '%s'!\n"
-#~ msgstr "lpadmin: Tuntematon argumentti ”%s”!\n"
-
-#~ msgid "lpadmin: Unknown option '%c'!\n"
-#~ msgstr "lpadmin: Tuntematon valinta ”%c”!\n"
-
-#~ msgid "lpadmin: Warning - content type list ignored!\n"
-#~ msgstr ""
-#~ "lpadmin: Varoitus - sisällöntyyppiluettelo jätettiin huomioimatta!\n"
-
-#~ msgid "lpinfo: Expected 1284 device ID string after --device-id!\n"
-#~ msgstr ""
-#~ "lpinfo: --device-id:n jälkeen odotettiin 1284-laitetunnistemerkkijonoa!\n"
-
-#~ msgid "lpinfo: Expected language after --language!\n"
-#~ msgstr "lpinfo: --language:n jälkeen odotettiin kieltä!\n"
-
-#~ msgid "lpinfo: Expected make and model after --make-and-model!\n"
-#~ msgstr "lpinfo: --make-and-model:n jälkeen odotettiin merkkiä ja mallia!\n"
-
-#~ msgid "lpinfo: Expected product string after --product!\n"
-#~ msgstr "lpinfo: --product:n jälkeen odotettiin tuotemerkkijonoa!\n"
-
-#~ msgid "lpinfo: Expected scheme list after --exclude-schemes!\n"
-#~ msgstr "lpinfo: --exclude-schemes:n jälkeen odotettiin malliluetteloa!\n"
-
-#~ msgid "lpinfo: Expected scheme list after --include-schemes!\n"
-#~ msgstr "lpinfo: --include-schemes:n jälkeen odotettiin malliluetteloa!\n"
-
-#~ msgid "lpinfo: Expected timeout after --timeout!\n"
-#~ msgstr "lpinfo: --timeout:n jälkeen odotettiin aikakatkaisua!\n"
-
-#~ msgid "lpinfo: Unknown argument '%s'!\n"
-#~ msgstr "lpinfo: Tuntematon argumentti ”%s”!\n"
-
-#~ msgid "lpinfo: Unknown option '%c'!\n"
-#~ msgstr "lpinfo: Tuntematon valinta ”%c”!\n"
-
-#~ msgid "lpinfo: Unknown option '%s'!\n"
-#~ msgstr "lpinfo: Tuntematon valinta ”%s”!\n"
-
-#~ msgid "lpmove: Unable to connect to server: %s\n"
-#~ msgstr "lpmove: Palvelimeen ei voida yhdistää: %s\n"
-
-#~ msgid "lpmove: Unknown argument '%s'!\n"
-#~ msgstr "lpmove: Tuntematon argumentti ”%s”!\n"
-
-#~ msgid "lpmove: Unknown option '%c'!\n"
-#~ msgstr "lpmove: Tuntematon valinta ”%c”!\n"
-
-#~ msgid "lpoptions: No printers!?!\n"
-#~ msgstr "lpoptions: Ei tulostimia!?!\n"
-
-#~ msgid "lpoptions: Unable to add printer or instance: %s\n"
-#~ msgstr "lpoptions: Tulostinta tai esiintymää ei voida lisätä: %s\n"
-
-#~ msgid "lpoptions: Unable to get PPD file for %s: %s\n"
-#~ msgstr "lpoptions: PPD-tiedostoa ei voida hakea kohteelle %s: %s\n"
-
-#~ msgid "lpoptions: Unable to open PPD file for %s!\n"
-#~ msgstr "lpoptions: PPD-tiedostoa ei voida avata kohteelle %s!\n"
-
-#~ msgid "lpoptions: Unknown printer or class!\n"
-#~ msgstr "lpoptions: Tuntematon tulostin tai luokka!\n"
-
-#~ msgid "lppasswd: Only root can add or delete passwords!\n"
-#~ msgstr "lppasswd: Vain root voi lisätä tai poistaa salasanoja!\n"
-
-#~ msgid "lppasswd: Password file busy!\n"
-#~ msgstr "lppasswd: Salasanatiedosto on varattu!\n"
-
-#~ msgid "lppasswd: Password file not updated!\n"
-#~ msgstr "lppasswd: Salasanatiedostoa ei päivitetty!\n"
-
-#~ msgid "lppasswd: Sorry, password doesn't match!\n"
-#~ msgstr "lppasswd: Salasana ei täsmää!\n"
-
-#~ msgid ""
-#~ "lppasswd: Sorry, password rejected.\n"
-#~ "Your password must be at least 6 characters long, cannot contain\n"
-#~ "your username, and must contain at least one letter and number.\n"
-#~ msgstr ""
-#~ "lppasswd: Salasana hylättiin.\n"
-#~ "Salasanan on oltava vähintään 6 merkkiä pitkä, se ei saa sisältää\n"
-#~ "käyttäjätunnustasi ja sen on sisällettävä vähintään yksi kirjain ja "
-#~ "numero.\n"
-
-#~ msgid "lppasswd: Sorry, passwords don't match!\n"
-#~ msgstr "lppasswd: Salasanat eivät täsmää!\n"
-
-#~ msgid "lppasswd: Unable to copy password string: %s\n"
-#~ msgstr "lppasswd: Salasanamerkkijonoa ei voida kopioida: %s\n"
-
-#~ msgid "lppasswd: Unable to open password file: %s\n"
-#~ msgstr "lppasswd: Salasanatiedostoa ei voida avata: %s\n"
-
-#~ msgid "lppasswd: Unable to write to password file: %s\n"
-#~ msgstr "lppasswd: Salasanatiedostoon ei voida kirjoittaa: %s\n"
-
-#~ msgid "lppasswd: failed to backup old password file: %s\n"
-#~ msgstr "lppasswd: vanhaa salasanatiedostoa ei voitu varmuuskopioida: %s\n"
-
-#~ msgid "lppasswd: failed to rename password file: %s\n"
-#~ msgstr "lppasswd: salasanatiedoston nimeä ei voitu muuttaa: %s\n"
-
-#~ msgid "lppasswd: user \"%s\" and group \"%s\" do not exist.\n"
-#~ msgstr "lppasswd: käyttäjää ”%s” ja ryhmää ”%s” ei ole olemassa.\n"
-
-#~ msgid ""
-#~ "lpstat: error - %s environment variable names non-existent destination \"%"
-#~ "s\"!\n"
-#~ msgstr ""
-#~ "lpstat: virhe - %s ympäristömuuttujanimien kohdetta ”%s” ei ole "
-#~ "olemassa!\n"
-
-#~ msgid "members of class %s:\n"
-#~ msgstr "jäsen luokassa %s:\n"
-
-#~ msgid "no entries\n"
-#~ msgstr "ei tietueita\n"
-
-#~ msgid "no system default destination\n"
-#~ msgstr "ei järjestelmän oletuskohdetta\n"
-
-#~ msgid "notify-events not specified!"
-#~ msgstr "notify-events:iä ei määritelty!"
-
-#~ msgid "notify-recipient-uri URI \"%s\" is already used!"
-#~ msgstr "notify-recipient-uri-osoite ”%s” on jo käytössä!"
-
-#~ msgid "notify-recipient-uri URI \"%s\" uses unknown scheme!"
-#~ msgstr "notify-recipient-uri-osoite ”%s” käyttää tuntematonta mallia!"
-
-#~ msgid "notify-subscription-id %d no good!"
-#~ msgstr "notify-subscription-id %d ei kelpaa!"
-
-#~ msgid "ppdc: Adding include directory \"%s\"...\n"
-#~ msgstr "ppdc: Lisätään include-hakemistoa ”%s”...\n"
-
-#~ msgid "ppdc: Adding/updating UI text from %s...\n"
-#~ msgstr "ppdc: Lisätään/päivitetään käyttöliittymätekstiä kohteesta %s...\n"
-
-#~ msgid "ppdc: Bad boolean value (%s) on line %d of %s.\n"
-#~ msgstr "ppdc: Virheellinen totuusarvo (%s) rivillä %d / %s.\n"
-
-#~ msgid "ppdc: Bad resolution name \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Virheellinen tarkkuuden nimi ”%s” rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Bad status keyword %s on line %d of %s!\n"
-#~ msgstr "ppdc: Virheellinen tila-avainsana ”%s” rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Bad variable substitution ($%c) on line %d of %s.\n"
-#~ msgstr "ppdc: Virheellinen muuttujan korvaus ($%c) rivillä %d / %s.\n"
-
-#~ msgid "ppdc: Choice found on line %d of %s with no Option!\n"
-#~ msgstr "ppdc: Riviltä %d / %s löytyi vaihtoehto ilman valintaa!\n"
-
-#~ msgid "ppdc: Duplicate #po for locale %s on line %d of %s!\n"
-#~ msgstr "ppdc: Kaksoiskappale #po lokaalille %s rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Expected a filter definition on line %d of %s!\n"
-#~ msgstr "ppdc: Odotettiin suodinmääritystä rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Expected a program name on line %d of %s!\n"
-#~ msgstr "ppdc: Odotettiin ohjelman nimeä rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Expected boolean value on line %d of %s.\n"
-#~ msgstr "ppdc: Odotettiin totuusarvoa rivillä %d / %s.\n"
-
-#~ msgid "ppdc: Expected charset after Font on line %d of %s!\n"
-#~ msgstr "ppdc: Odotettiin merkistöä Font:in jälkeen rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Expected choice code on line %d of %s.\n"
-#~ msgstr "ppdc: Odotettiin vaihtoehtokoodia rivillä %d / %s.\n"
-
-#~ msgid "ppdc: Expected choice name/text on line %d of %s.\n"
-#~ msgstr "ppdc: Odotettiin vaihtoehtonimeä/-tekstiä rivillä %d / %s.\n"
-
-#~ msgid "ppdc: Expected color order for ColorModel on line %d of %s!\n"
-#~ msgstr "ppdc: Odotettiin värijärjestystä ColorModel:ille rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Expected colorspace for ColorModel on line %d of %s!\n"
-#~ msgstr "ppdc: Odotettiin väriavaruutta ColorModel:ille rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Expected compression for ColorModel on line %d of %s!\n"
-#~ msgstr "ppdc: Odotettiin pakkausta ColorModel:ille rivillä %d / %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected constraints string for UIConstraints on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Odotettiin rajoitusmerkkijonoa UIConstraints:ille rivillä %d / %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected driver type keyword following DriverType on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc: Odotettiin ajurintyypin avainsanaa DriverType:lle rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Expected duplex type after Duplex on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Odotettiin dupleksityyppiä Duplex:in jälkeen rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Expected encoding after Font on line %d of %s!\n"
-#~ msgstr "ppdc: Odotettiin koodausta Font:in jälkeen rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Expected filename after #po %s on line %d of %s!\n"
-#~ msgstr "ppdc: Odotettiin tiedostonimeä #po:n %s jälkeen rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Expected group name/text on line %d of %s!\n"
-#~ msgstr "ppdc: Odotettiin ryhmänimeä/-tekstiä rivillä %d / %s.\n"
-
-#~ msgid "ppdc: Expected include filename on line %d of %s!\n"
-#~ msgstr "ppdc: Odotettiin include-tiedoston nimeä rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Expected integer on line %d of %s!\n"
-#~ msgstr "ppdc: Odotettiin kokonaislukua rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Expected locale after #po on line %d of %s!\n"
-#~ msgstr "ppdc: Odotettiin lokaalia #po:n jälkeen rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Expected name after %s on line %d of %s!\n"
-#~ msgstr "ppdc: Odotettiin nimeä kohteen %s jälkeen rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Expected name after FileName on line %d of %s!\n"
-#~ msgstr "ppdc: Odotettiin nimeä FileName:n jälkeen rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Expected name after Font on line %d of %s!\n"
-#~ msgstr "ppdc: Odotettiin nimeä Font:in jälkeen rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Expected name after Manufacturer on line %d of %s!\n"
-#~ msgstr "ppdc: Odotettiin nimeä Manufacturer:in jälkeen rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Expected name after MediaSize on line %d of %s!\n"
-#~ msgstr "ppdc: Odotettiin nimeä MediaSize:n jälkeen rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Expected name after ModelName on line %d of %s!\n"
-#~ msgstr "ppdc: Odotettiin nimeä ModelName:n jälkeen rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Expected name after PCFileName on line %d of %s!\n"
-#~ msgstr "ppdc: Odotettiin nimeä PCFileName:n jälkeen rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Expected name/text after %s on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Odotettiin nimeä/tekstiä kohteen %s jälkeen rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Expected name/text after Installable on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Odotettiin nimeä/tekstiä Installable:n jälkeen rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Expected name/text after Resolution on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Odotettiin nimeä/tekstiä Resolution:in jälkeen rivillä %d / %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected name/text combination for ColorModel on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Odotettiin nimi-/tekstiyhdistelmää ColorModel:ille rivillä %d / %"
-#~ "s!\n"
-
-#~ msgid "ppdc: Expected option name/text on line %d of %s!\n"
-#~ msgstr "ppdc: Odotettiin valintanimeä/-tekstiä rivillä %d / %s.\n"
-
-#~ msgid "ppdc: Expected option section on line %d of %s!\n"
-#~ msgstr "ppdc: Odotettiin valintaosiota rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Expected option type on line %d of %s!\n"
-#~ msgstr "ppdc: Odotettiin valintatyyppiä rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Expected override field after Resolution on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Odotettiin ohituskenttää Resolution:in jälkeen rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Expected real number on line %d of %s!\n"
-#~ msgstr "ppdc: Odotettiin reaalilukua rivillä %d / %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected resolution/mediatype following ColorProfile on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc: Odotettiin tarkkuutta/mediatyyppi ColorProfile:n jälkeen rivillä %"
-#~ "d / %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected resolution/mediatype following SimpleColorProfile on line %"
-#~ "d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Odotettiin tarkkuutta/mediatyyppi SimpleColorProfile:n jälkeen "
-#~ "rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Expected selector after %s on line %d of %s!\n"
-#~ msgstr "ppdc: Odotettiin valitsijaa kohteen %s jälkeen rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Expected status after Font on line %d of %s!\n"
-#~ msgstr "ppdc: Odotettiin tilaa Font:in jälkeen rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Expected string after Copyright on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Odotettiin merkkijonoa Copyright:in jälkeen rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Expected string after Version on line %d of %s!\n"
-#~ msgstr "ppdc: Odotettiin merkkijonoa Version:in jälkeen rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Expected two option names on line %d of %s!\n"
-#~ msgstr "ppdc: Odotettiin kahta valintanimeä rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Expected value after %s on line %d of %s!\n"
-#~ msgstr "ppdc: Odotettiin arvoa kohteen %s jälkeen rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Expected version after Font on line %d of %s!\n"
-#~ msgstr "ppdc: Odotettiin versiota Font:in jälkeen rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Invalid #include/#po filename \"%s\"!\n"
-#~ msgstr "ppdc: Virheellinen #include/#po-tiedostonimi ”%s”!\n"
-
-#~ msgid "ppdc: Invalid cost for filter on line %d of %s!\n"
-#~ msgstr "ppdc: Virheellinen hinta suotimelle rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Invalid empty MIME type for filter on line %d of %s!\n"
-#~ msgstr "ppdc: Virheellinen tyhjä MIME-tyyppi suotimelle rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Invalid empty program name for filter on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Virheellinen tyhjä ohjelman nimi suotimelle rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Invalid option section \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Virheellinen valintaosio ”%s” rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Invalid option type \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Virheellinen valintatyyppi ”%s” rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Loading driver information file \"%s\"...\n"
-#~ msgstr "ppdc: Ladataan ajurin tietotiedostoa ”%s”...\n"
-
-#~ msgid "ppdc: Loading messages for locale \"%s\"...\n"
-#~ msgstr "ppdc: Ladataan viestejä lokaalille ”%s”...\n"
-
-#~ msgid "ppdc: Loading messages from \"%s\"...\n"
-#~ msgstr "ppdc: Ladataan viestejä kohteesta ”%s”...\n"
-
-#~ msgid "ppdc: Missing #endif at end of \"%s\"!\n"
-#~ msgstr "ppdc: #endif puuttuu kohteen ”%s” lopusta!\n"
-
-#~ msgid "ppdc: Missing #if on line %d of %s!\n"
-#~ msgstr "ppdc: #if puuttuu riviltä %d / %s!\n"
-
-#~ msgid "ppdc: No message catalog provided for locale %s!\n"
-#~ msgstr "ppdc: Ei viestikatalogia lokaalille %s!\n"
-
-#~ msgid "ppdc: Option %s redefined with a different type on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Valinta %s määritelty uudelleen eri tyypillä rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Option constraint must *name on line %d of %s!\n"
-#~ msgstr "ppdc: Valintarajoituksen on tehtävä *name rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Too many nested #if's on line %d of %s!\n"
-#~ msgstr "ppdc: Liikaa sisäkkäisiä #if:ejä rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Unable to create PPD file \"%s\" - %s.\n"
-#~ msgstr "ppdc: PPD-tiedostoa ”%s” ei voida luoda - %s.\n"
-
-#~ msgid "ppdc: Unable to create output directory %s: %s\n"
-#~ msgstr "ppdc: Tulostushakemistoa %s ei voida luoda: %s\n"
-
-#~ msgid "ppdc: Unable to create output pipes: %s\n"
-#~ msgstr "ppdc: Tulostusputkia ei voida luoda: %s\n"
-
-#~ msgid "ppdc: Unable to execute cupstestppd: %s\n"
-#~ msgstr "ppdc: cupstestppd:ia ei voida suorittaa: %s\n"
-
-#~ msgid "ppdc: Unable to find #po file %s on line %d of %s!\n"
-#~ msgstr "ppdc: #po-tiedostoa %s ei löytynyt riviltä %d / %s!\n"
-
-#~ msgid "ppdc: Unable to find include file \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: include-tiedostoa ”%s” ei löytynyt riviltä %d / %s!\n"
-
-#~ msgid "ppdc: Unable to find localization for \"%s\" - %s\n"
-#~ msgstr "ppdc: Lokalisointia kohteelle ”%s” ei löytynyt - %s\n"
-
-#~ msgid "ppdc: Unable to load localization file \"%s\" - %s\n"
-#~ msgstr "ppdc: Lokalisointitiedostoa ”%s” ei voitu ladata - %s\n"
-
-#~ msgid "ppdc: Undefined variable (%s) on line %d of %s.\n"
-#~ msgstr "ppdc: Määrittelemätön muuttuja (%s) rivillä %d / %s.\n"
-
-#~ msgid "ppdc: Unknown driver type %s on line %d of %s!\n"
-#~ msgstr "ppdc: Tuntematon ajurityyppi %s rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Tuntematon dupleksityyppi ”%s” rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Unknown media size \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Tuntematon mediakoko ”%s” rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Unknown token \"%s\" seen on line %d of %s!\n"
-#~ msgstr "ppdc: Tuntematon token ”%s” rivillä %d / %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Unknown trailing characters in real number \"%s\" on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc: Tuntemattomia seuraavia merkkejä reaaliluvussa ”%s” rivillä %d / %"
-#~ "s!\n"
-
-#~ msgid "ppdc: Unterminated string starting with %c on line %d of %s!\n"
-#~ msgstr "ppdc: Määrittelemätön merkkijono, joka alkaa %c, rivillä %d / %s!\n"
-
-#~ msgid "ppdc: Writing %s...\n"
-#~ msgstr "ppdc: Kirjoitetaan %s...\n"
-
-#~ msgid "ppdc: Writing PPD files to directory \"%s\"...\n"
-#~ msgstr "ppdc: Kirjoitetaan PPD-tiedostoja hakemistoon ”%s”...\n"
-
-#~ msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s!\n"
-#~ msgstr "ppdmerge: Virheellinen LanguageVersion ”%s” kohteessa %s!\n"
-
-#~ msgid "ppdmerge: Ignoring PPD file %s...\n"
-#~ msgstr "ppdmerge: Jätetään huomioimatta PPD-tiedosto %s...\n"
-
-#~ msgid "ppdmerge: Unable to backup %s to %s- %s\n"
-#~ msgstr "ppdmerge: Kohdetta %s ei voida varmuuskopioida kohteeseen %s - %s\n"
-
-#~ msgid "printer %s disabled since %s -\n"
-#~ msgstr "tulostin %s poissa käytöstä alkaen %s -\n"
-
-#~ msgid "printer %s is idle.  enabled since %s\n"
-#~ msgstr "tulostin %s on toimettomana. käytössä alkaen %s\n"
-
-#~ msgid "printer %s now printing %s-%d.  enabled since %s\n"
-#~ msgstr "tulostin %s tulostaa %s-%d. käytössä alkaen %s\n"
-
-#~ msgid "printer %s/%s disabled since %s -\n"
-#~ msgstr "tulostin %s/%s poissa käytöstä alkaen %s -\n"
-
-#~ msgid "printer %s/%s is idle.  enabled since %s\n"
-#~ msgstr "tulostin %s/%s on toimettomana. käytössä alkaen %s\n"
-
-#~ msgid "printer %s/%s now printing %s-%d.  enabled since %s\n"
-#~ msgstr "tulostin %s/%s tulostaa %s-%d. käytössä alkaen %s\n"
-
-#~ msgid "request id is %s-%d (%d file(s))\n"
-#~ msgstr "pyynnön tunnus on %s-%d (%d tiedostoa)\n"
-
-#~ msgid "scheduler is not running\n"
-#~ msgstr "ajastin ei ole käynnissä\n"
-
-#~ msgid "scheduler is running\n"
-#~ msgstr "ajastin on käynnissä\n"
-
-#~ msgid "status\t\tshow status of daemon and queue\n"
-#~ msgstr "status\t\tnäytä taustaprosessin tila ja jono\n"
-
-#~ msgid "system default destination: %s\n"
-#~ msgstr "järjestelmän oletuskohde: %s\n"
-
-#~ msgid "system default destination: %s/%s\n"
-#~ msgstr "järjestelmän oletuskohde: %s/%s\n"
index 2257fa3..7241284 100644 (file)
@@ -1,15 +1,42 @@
+#
+# "$Id$"
+#
+#   Message catalog template for CUPS.
+#
+#   Copyright 2007-2012 by Apple Inc.
+#   Copyright 2005-2007 by Easy Software Products.
+#
+#   These coded instructions, statements, and computer programs are the
+#   property of Apple Inc. and are protected by Federal copyright
+#   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
+#   which should have been included with this file.  If this file is
+#   file is missing or damaged, see the license at "http://www.cups.org/".
+#
+#
+# Notes for Translators:
+#
+# The "checkpo" program located in the "locale" source directory can be used
+# to verify that your translations do not introduce formatting errors or other
+# problems.  Run with:
+#
+#    cd locale
+#    ./checkpo cups_LL.po
+#
+# where "LL" is your locale.
+#
+#, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: CUPS 1.4\n"
+"Project-Id-Version: CUPS 1.6\n"
 "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2012-03-07 13:38-0800\n"
-"PO-Revision-Date: 2009-02-16 12:00-0800\n"
-"Last-Translator: Apple Inc.\n"
-"Language-Team: Apple Inc.\n"
+"POT-Creation-Date: 2013-07-08 07:38-0400\n"
+"PO-Revision-Date: 2012-12-12 11:12+0100\n"
+"Last-Translator: denis meramdjougoma <dcmeram@libertysurf.fr>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: French\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
+"Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Language: \n"
 
 msgid "\t\t(all)"
 msgstr ""
@@ -459,10 +486,6 @@ msgid ""
 msgstr ""
 
 #, c-format
-msgid "      **FAIL**  %s choice names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
 msgid ""
 "      **FAIL**  %s must be 1284DeviceID\n"
 "                REF: Page 72, section 5.5"
@@ -470,82 +493,78 @@ msgstr ""
 
 #, c-format
 msgid ""
-"      **FAIL**  BAD Default%s %s\n"
+"      **FAIL**  Bad Default%s %s\n"
 "                REF: Page 40, section 4.5."
 msgstr ""
 
 #, c-format
 msgid ""
-"      **FAIL**  BAD DefaultImageableArea %s\n"
+"      **FAIL**  Bad DefaultImageableArea %s\n"
 "                REF: Page 102, section 5.15."
 msgstr ""
 
 #, c-format
 msgid ""
-"      **FAIL**  BAD DefaultPaperDimension %s\n"
+"      **FAIL**  Bad DefaultPaperDimension %s\n"
 "                REF: Page 103, section 5.15."
 msgstr ""
 
+#, c-format
 msgid ""
-"      **FAIL**  BAD JobPatchFile attribute in file\n"
-"                REF: Page 24, section 3.4."
+"      **FAIL**  Bad FileVersion \"%s\"\n"
+"                REF: Page 56, section 5.3."
 msgstr ""
 
+#, c-format
 msgid ""
-"      **FAIL**  BAD Manufacturer (should be \"HP\")\n"
-"                REF: Page 211, table D.1."
+"      **FAIL**  Bad FormatVersion \"%s\"\n"
+"                REF: Page 56, section 5.3."
 msgstr ""
 
 msgid ""
-"      **FAIL**  BAD Manufacturer (should be \"Oki\")\n"
-"                REF: Page 211, table D.1."
+"      **FAIL**  Bad JobPatchFile attribute in file\n"
+"                REF: Page 24, section 3.4."
 msgstr ""
 
 #, c-format
-msgid ""
-"      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n"
-"                REF: Pages 59-60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD PSVersion - not \"(string) int\".\n"
-"                REF: Pages 62-64, section 5.3."
+msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1."
 msgstr ""
 
-msgid ""
-"      **FAIL**  BAD Product - not \"(string)\".\n"
-"                REF: Page 62, section 5.3."
+#, c-format
+msgid "      **FAIL**  Bad LanguageVersion %s - must be English."
 msgstr ""
 
+#, c-format
 msgid ""
-"      **FAIL**  BAD ShortNickName - longer than 31 chars.\n"
-"                REF: Pages 64-65, section 5.3."
+"      **FAIL**  Bad Manufacturer (should be \"%s\")\n"
+"                REF: Page 211, table D.1."
 msgstr ""
 
 #, c-format
 msgid ""
-"      **FAIL**  Bad %s choice %s\n"
-"                REF: Page 84, section 5.9"
+"      **FAIL**  Bad ModelName - \"%c\" not allowed in string.\n"
+"                REF: Pages 59-60, section 5.3."
 msgstr ""
 
-#, c-format
 msgid ""
-"      **FAIL**  Bad FileVersion \"%s\"\n"
-"                REF: Page 56, section 5.3."
+"      **FAIL**  Bad PSVersion - not \"(string) int\".\n"
+"                REF: Pages 62-64, section 5.3."
 msgstr ""
 
-#, c-format
 msgid ""
-"      **FAIL**  Bad FormatVersion \"%s\"\n"
-"                REF: Page 56, section 5.3."
+"      **FAIL**  Bad Product - not \"(string)\".\n"
+"                REF: Page 62, section 5.3."
 msgstr ""
 
-#, c-format
-msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1."
+msgid ""
+"      **FAIL**  Bad ShortNickName - longer than 31 chars.\n"
+"                REF: Pages 64-65, section 5.3."
 msgstr ""
 
 #, c-format
-msgid "      **FAIL**  Bad LanguageVersion %s - must be English."
+msgid ""
+"      **FAIL**  Bad option %s choice %s\n"
+"                REF: Page 84, section 5.9"
 msgstr ""
 
 #, c-format
@@ -569,7 +588,11 @@ msgid "      **FAIL**  Group names %s and %s differ only by case."
 msgstr ""
 
 #, c-format
-msgid "      **FAIL**  Multiple occurrences of %s choice name %s."
+msgid "      **FAIL**  Multiple occurrences of option %s choice name %s."
+msgstr ""
+
+#, c-format
+msgid "      **FAIL**  Option %s choice names %s and %s differ only by case."
 msgstr ""
 
 #, c-format
@@ -678,10 +701,6 @@ msgid ""
 msgstr ""
 
 #, c-format
-msgid "      **FAIL**  Unable to open PPD file - %s"
-msgstr ""
-
-#, c-format
 msgid "      **FAIL**  Unable to open PPD file - %s on line %d."
 msgstr ""
 
@@ -778,9 +797,6 @@ msgstr ""
 msgid "  --[no-]remote-any       Allow/prevent access from the Internet."
 msgstr ""
 
-msgid "  --[no-]remote-printers  Show/hide remote printers."
-msgstr ""
-
 msgid "  --[no-]share-printers   Turn printer sharing on/off."
 msgstr ""
 
@@ -793,7 +809,7 @@ msgstr ""
 msgid "  --crlf                  End lines with CR + LF (Windows)."
 msgstr ""
 
-msgid "  --lf                    End lines with LF (UNIX/Linux/Mac OS X)."
+msgid "  --lf                    End lines with LF (UNIX/Linux/OS X)."
 msgstr ""
 
 msgid "  -4                      Connect using IPv4."
@@ -811,13 +827,10 @@ msgstr ""
 msgid "  -D name=value           Set named variable to value."
 msgstr ""
 
-msgid "  -E                      Enable encryption."
+msgid "  -E                      Encrypt the connection."
 msgstr ""
 
-msgid "  -E                      Encrypt the connection to the server."
-msgstr ""
-
-msgid "  -E                      Test with TLS encryption."
+msgid "  -E                      Test with HTTP Upgrade to TLS."
 msgstr ""
 
 msgid ""
@@ -836,9 +849,6 @@ msgstr ""
 msgid "  -I {filename,filters,none,profiles}"
 msgstr ""
 
-msgid "  -J title                Set title."
-msgstr ""
-
 msgid "  -L                      Send requests using content-length."
 msgstr ""
 
@@ -851,13 +861,7 @@ msgstr ""
 msgid "  -S                      Test with SSL encryption."
 msgstr ""
 
-msgid "  -T                      Set the receive/send timeout in seconds."
-msgstr ""
-
-msgid "  -U samba-user           Authenticate using the named SAMBA user."
-msgstr ""
-
-msgid "  -U username             Set username for job."
+msgid "  -T seconds              Set the receive/send timeout in seconds."
 msgstr ""
 
 msgid "  -U username             Specify username."
@@ -877,18 +881,9 @@ msgstr ""
 msgid "  -a                      Export all printers."
 msgstr ""
 
-msgid "  -a 'name=value ...'     Set option(s)."
-msgstr ""
-
 msgid "  -c catalog.po           Load the specified message catalog."
 msgstr ""
 
-msgid "  -c config-file          Load alternate configuration file."
-msgstr ""
-
-msgid "  -c copies               Set number of copies."
-msgstr ""
-
 msgid "  -c cupsd.conf           Set cupsd.conf file to use."
 msgstr ""
 
@@ -910,15 +905,9 @@ msgstr ""
 msgid "  -f filename             Set default request filename."
 msgstr ""
 
-msgid "  -f filename             Set file to be converted (otherwise stdin)."
-msgstr ""
-
 msgid "  -h                      Show this usage message."
 msgstr ""
 
-msgid "  -h cups-server          Use the named CUPS server."
-msgstr ""
-
 msgid "  -h server[:port]        Specify server address."
 msgstr ""
 
@@ -934,10 +923,6 @@ msgid ""
 "file 1)."
 msgstr ""
 
-msgid ""
-"  -j mime/type            Set output MIME type (otherwise application/pdf)."
-msgstr ""
-
 msgid "  -l                      Run cupsd from launchd(8)."
 msgstr ""
 
@@ -958,9 +943,6 @@ msgid ""
 "  -n count                Repeat the last file the given number of times."
 msgstr ""
 
-msgid "  -o filename             Set file to be generated (otherwise stdout)."
-msgstr ""
-
 msgid ""
 "  -o filename.drv         Set driver information file (otherwise ppdi.drv)."
 msgstr ""
@@ -974,9 +956,6 @@ msgstr ""
 msgid "  -p filename.ppd         Set PPD file."
 msgstr ""
 
-msgid "  -q                      Be quiet - no output except errors."
-msgstr ""
-
 msgid "  -q                      Run silently."
 msgstr ""
 
@@ -998,16 +977,7 @@ msgstr ""
 msgid "  -u                      Remove the PPD file when finished."
 msgstr ""
 
-msgid "  -v                      Be slightly verbose."
-msgstr ""
-
-msgid "  -v                      Be verbose (more v's for more verbosity)."
-msgstr ""
-
-msgid "  -v                      Be verbose (show commands)."
-msgstr ""
-
-msgid "  -v                      Show all attributes sent and received."
+msgid "  -v                      Be verbose."
 msgstr ""
 
 msgid "  -vv                     Be very verbose."
@@ -1031,28 +1001,12 @@ msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes"
 msgstr ""
 
 #, c-format
-msgid "%.0f x %.0f millimeters"
-msgstr "%.0f x %.0f millimètres"
-
-#, c-format
-msgid "%.0f x %.0f to %.0f x %.0f millimeters"
-msgstr "%.0f x %.0f à %.0f x %.0f millimètres"
-
-#, c-format
-msgid "%.2f x %.2f inches"
-msgstr "%.2f x %.2f pouces"
-
-#, c-format
-msgid "%.2f x %.2f to %.2f x %.2f inches"
-msgstr "%.2f x %.2f à %.2f x %.2f pouces"
-
-#, c-format
 msgid "%s accepting requests since %s"
 msgstr ""
 
 #, c-format
 msgid "%s cannot be changed."
-msgstr "Impossible de modifier « %s »."
+msgstr "Impossible de modifier « %s »"
 
 #, c-format
 msgid "%s is not implemented by the CUPS version of lpc."
@@ -1113,6 +1067,10 @@ msgid ""
 msgstr ""
 
 #, c-format
+msgid "%s: Error - add '/version=1.1' to server name."
+msgstr ""
+
+#, c-format
 msgid "%s: Error - bad job ID."
 msgstr ""
 
@@ -1734,9 +1692,6 @@ msgstr ""
 msgid "3.5\" Disk"
 msgstr "Disque 3,5\""
 
-msgid "3.5\" Disk - 2 1/8 x 2 3/4\""
-msgstr "Disque 3,5\" - 2 1/8 x 2 3/4\""
-
 msgid "3.50x1.00\""
 msgstr "3,50 x 1,00\""
 
@@ -2078,9 +2033,6 @@ msgstr "Ajouter abonnement RSS"
 msgid "Address"
 msgstr "Adresse"
 
-msgid "Address - 1 1/8 x 3 1/2\""
-msgstr "Adresse - 1 1/8 x 3 1/2\""
-
 msgid "Administration"
 msgstr "Administration"
 
@@ -2137,6 +2089,10 @@ msgstr "B8"
 msgid "B9"
 msgstr "B9"
 
+#, c-format
+msgid "Bad 'document-format' value \"%s\"."
+msgstr ""
+
 msgid "Bad NULL dests pointer"
 msgstr "Pointeur de dests NULL incorrect"
 
@@ -2153,32 +2109,16 @@ msgid "Bad PPD cache file."
 msgstr ""
 
 msgid "Bad Request"
-msgstr "Requête incorrecte"
-
-msgid "Bad SNMP version number"
-msgstr "Numéro de version SNMP incorrect"
-
-msgid "Bad UIConstraints"
-msgstr "UIConstraints erroné"
-
-#, c-format
-msgid "Bad charset file \"%s\"."
 msgstr ""
 
-#, c-format
-msgid "Bad charset type: %s"
+msgid "Bad SNMP version number"
 msgstr ""
 
-#, c-format
-msgid "Bad columns value %d."
+msgid "Bad UIConstraints"
 msgstr ""
 
 #, c-format
 msgid "Bad copies value %d."
-msgstr "Nombre de copies erroné : %d."
-
-#, c-format
-msgid "Bad cpi value %f."
 msgstr ""
 
 msgid "Bad custom parameter"
@@ -2203,12 +2143,13 @@ msgstr ""
 msgid "Bad filename buffer"
 msgstr ""
 
-#, c-format
-msgid "Bad font description line \"%s\"."
+msgid "Bad job-name value: Bad UTF-8 sequence."
 msgstr ""
 
-#, c-format
-msgid "Bad font description line: %s"
+msgid "Bad job-name value: Name too long."
+msgstr ""
+
+msgid "Bad job-name value: Wrong type or count."
 msgstr ""
 
 msgid "Bad job-priority value."
@@ -2229,10 +2170,6 @@ msgid "Bad job-uri \"%s\"."
 msgstr ""
 
 #, c-format
-msgid "Bad lpi value %f."
-msgstr ""
-
-#, c-format
 msgid "Bad notify-pull-method \"%s\"."
 msgstr ""
 
@@ -2256,6 +2193,9 @@ msgstr "Intervalle de pages erroné : %d-%d."
 msgid "Bad port-monitor \"%s\"."
 msgstr ""
 
+msgid "Bad printer URI."
+msgstr ""
+
 #, c-format
 msgid "Bad printer-state value %d."
 msgstr ""
@@ -2271,31 +2211,12 @@ msgstr ""
 msgid "Bad subscription ID"
 msgstr ""
 
-#, c-format
-msgid "Bad text direction \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad text direction: %s"
-msgstr ""
-
-#, c-format
-msgid "Bad text width \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad text width: %s"
-msgstr ""
-
 msgid "Bad value string"
 msgstr ""
 
 msgid "Banners"
 msgstr "Bannières"
 
-msgid "Billing Information: "
-msgstr "Informations de facturation : "
-
 msgid "Bond Paper"
 msgstr "Papier pour titres"
 
@@ -2376,9 +2297,6 @@ msgstr ""
 msgid "Created"
 msgstr "Créé"
 
-msgid "Created On: "
-msgstr "Créé le : "
-
 msgid "Custom"
 msgstr "Personnalisation"
 
@@ -2409,9 +2327,6 @@ msgstr "Supprimer la classe"
 msgid "Delete Printer"
 msgstr "Supprimer l’imprimante"
 
-msgid "Description: "
-msgstr "Description : "
-
 msgid "DeskJet Series"
 msgstr "Série DeskJet"
 
@@ -2459,12 +2374,6 @@ msgstr "Désactivé"
 msgid "Document #%d does not exist in job #%d."
 msgstr ""
 
-msgid "Driver Name: "
-msgstr "Nom du gestionnaire : "
-
-msgid "Driver Version: "
-msgstr "Version du gestionnaire : "
-
 msgid "Duplexer"
 msgstr "Duplexeur"
 
@@ -2504,10 +2413,6 @@ msgid ""
 "this page. If you are using Kerberos authentication, make sure you have a "
 "valid Kerberos ticket."
 msgstr ""
-"Entrez votre nom d’utilisateur et votre mot de passe ou bien identifiez-vous "
-"en tant que « root » pour accéder à cette page. Si vous utilisez "
-"l’authentification Kerberos, assurez-vous de disposer d’un ticket Kerberos "
-"valide."
 
 msgid "Envelope #10 "
 msgstr ""
@@ -2751,16 +2656,13 @@ msgstr ""
 msgid "File \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
 msgstr ""
 
-msgid "File Folder"
-msgstr "Dossier de fichier"
-
-msgid "File Folder - 9/16 x 3 7/16\""
-msgstr "Dossier de fichier - 9/16 x 3 7/16\""
+msgid "File Folder "
+msgstr ""
 
 #, c-format
 msgid ""
 "File device URIs have been disabled. To enable, see the FileDevice directive "
-"in \"%s/cupsd.conf\"."
+"in \"%s/cups-files.conf\"."
 msgstr ""
 
 #, c-format
@@ -2771,14 +2673,10 @@ msgid "Folio"
 msgstr "Folio"
 
 msgid "Forbidden"
-msgstr "Interdit"
-
-#, c-format
-msgid "Formatting page %d."
 msgstr ""
 
 msgid "General"
-msgstr "Général"
+msgstr ""
 
 msgid "Generic"
 msgstr "Générique"
@@ -2801,8 +2699,8 @@ msgstr "HP"
 msgid "Hanging Folder"
 msgstr "Dossier suspendu"
 
-msgid "Hanging Folder - 9/16 x 2\""
-msgstr "Dossier suspendu - 9/16 x 2\""
+msgid "Help file not in index."
+msgstr ""
 
 msgid "IPP 1setOf attribute with incompatible value tags."
 msgstr ""
@@ -2810,6 +2708,9 @@ msgstr ""
 msgid "IPP attribute has no name."
 msgstr ""
 
+msgid "IPP attribute is not a member of the message."
+msgstr ""
+
 msgid "IPP begCollection value not 0 bytes."
 msgstr ""
 
@@ -2825,6 +2726,9 @@ msgstr ""
 msgid "IPP enum value not 4 bytes."
 msgstr ""
 
+msgid "IPP extension tag larger than 0x7FFFFFFF."
+msgstr ""
+
 msgid "IPP integer value not 4 bytes."
 msgstr ""
 
@@ -2834,6 +2738,12 @@ msgstr ""
 msgid "IPP member name is not empty."
 msgstr ""
 
+msgid "IPP memberName value is empty."
+msgstr ""
+
+msgid "IPP memberName with no attribute."
+msgstr ""
+
 msgid "IPP name larger than 32767 bytes."
 msgstr ""
 
@@ -2856,7 +2766,7 @@ msgid "IPP value larger than 32767 bytes."
 msgstr ""
 
 msgid "ISOLatin1"
-msgstr "UTF-8"
+msgstr "utf-8"
 
 msgid "Illegal control character"
 msgstr "Caractère de contrôle interdit"
@@ -2894,18 +2804,15 @@ msgstr "Erreur interne"
 msgid "Internet Postage 2-Part"
 msgstr "Affranchissement Internet en 2 parties"
 
-msgid "Internet Postage 2-Part - 2 1/4 x 7 1/2\""
-msgstr "Affranchissement Internet en 2 parties - 2 1/4 x 7 1/2\""
-
 msgid "Internet Postage 3-Part"
 msgstr "Affranchissement Internet en 3 parties"
 
-msgid "Internet Postage 3-Part - 2 1/4 x 7\""
-msgstr "Affranchissement Internet en 3 parties - 2 1/4 x 7\""
-
 msgid "Internet Printing Protocol"
 msgstr "Internet Printing Protocol"
 
+msgid "Invalid media size."
+msgstr ""
+
 #, c-format
 msgid "Invalid printer command \"%s\"."
 msgstr ""
@@ -2997,22 +2904,16 @@ msgstr "terminée"
 msgid "Job Created"
 msgstr "Tâche créée"
 
-msgid "Job ID: "
-msgstr "Identifiant de tâche : "
-
 msgid "Job Options Changed"
 msgstr "Options de la tâche modifiées"
 
 msgid "Job Stopped"
 msgstr "arrêtée"
 
-msgid "Job UUID: "
-msgstr "UUID de tâche : "
-
 msgid "Job is completed and cannot be changed."
 msgstr "La tâche est terminée et ne peut être modifiée."
 
-msgid "Job operation failed:"
+msgid "Job operation failed"
 msgstr "L’opération sur la tâche a échoué :"
 
 msgid "Job state cannot be changed."
@@ -3040,9 +2941,6 @@ msgstr ""
 msgid "Large Address"
 msgstr "Adresse étendue"
 
-msgid "Large Address - 1 4/10 x 3 1/2\""
-msgstr "Adresse étendue - 1 4/10 x 3 1/2\""
-
 msgid "LaserJet Series PCL 4/5"
 msgstr "LaserJet série PCL 4/5"
 
@@ -3059,34 +2957,16 @@ msgid "Line longer than the maximum allowed (255 characters)"
 msgstr "Ligne dépassant la longueur maximale autorisée (255 caractères)"
 
 msgid "List Available Printers"
-msgstr "Énumérer les imprimantes disponibles"
-
-msgid "Loading print file."
 msgstr ""
 
-msgid "Location: "
-msgstr "Emplacement : "
-
 msgid "Long-Edge (Portrait)"
 msgstr "Bord le plus long (Portrait)"
 
 msgid "Looking for printer."
 msgstr ""
 
-msgid "Make and Model: "
-msgstr "Marque et modèle : "
-
 msgid "Manual Feed"
-msgstr "Alimentation manuelle"
-
-msgid "Media Dimensions: "
-msgstr "Dimensions du papier : "
-
-msgid "Media Limits: "
-msgstr "Limites du papier : "
-
-msgid "Media Name: "
-msgstr "Nom du papier : "
+msgstr ""
 
 msgid "Media Size"
 msgstr "Taille du papier"
@@ -3147,10 +3027,6 @@ msgid "Missing required attributes."
 msgstr ""
 
 #, c-format
-msgid "Missing value on line %d of banner file."
-msgstr ""
-
-#, c-format
 msgid "Missing value on line %d."
 msgstr ""
 
@@ -3248,12 +3124,9 @@ msgid "No error-index"
 msgstr "Paramètre error-index absent"
 
 msgid "No error-status"
-msgstr "Paramètre error-status absent"
-
-msgid "No file in print request."
 msgstr ""
 
-msgid "No fonts in charset file."
+msgid "No file in print request."
 msgstr ""
 
 msgid "No modification time"
@@ -3360,10 +3233,7 @@ msgid "Options Installed"
 msgstr "Options installées"
 
 msgid "Options:"
-msgstr ""
-
-msgid "Options: "
-msgstr "Options : "
+msgstr "Options"
 
 msgid "Out of date PPD cache file."
 msgstr ""
@@ -3450,7 +3320,7 @@ msgid "Photo Labels"
 msgstr "Étiquettes photo"
 
 msgid "Plain Paper"
-msgstr "Papier vierge"
+msgstr ""
 
 msgid "Policies"
 msgstr "Règles"
@@ -3483,7 +3353,7 @@ msgid "Print Mode"
 msgstr "Mode d’impression"
 
 msgid "Print Rate"
-msgstr "Taux d’impression"
+msgstr "aux d’impression"
 
 msgid "Print Self-Test Page"
 msgstr "Imprimer une page d’autotest"
@@ -3513,17 +3383,11 @@ msgstr ""
 msgid "Print file was not accepted."
 msgstr ""
 
-msgid "Print job too large."
+msgid "Print job canceled at printer."
 msgstr ""
 
-msgid "Printed For: "
-msgstr "Imprimé pour : "
-
-msgid "Printed From: "
-msgstr "Imprimé de : "
-
-msgid "Printed On: "
-msgstr "Imprimé sur : "
+msgid "Print job too large."
+msgstr ""
 
 msgid "Printer Added"
 msgstr "ajoutée"
@@ -3537,61 +3401,23 @@ msgstr "supprimée"
 msgid "Printer Modified"
 msgstr "modifiée"
 
-msgid "Printer Name: "
-msgstr "Nom de l’imprimante : "
-
 msgid "Printer Paused"
 msgstr "en pause"
 
 msgid "Printer Settings"
 msgstr "Réglages de l’imprimante"
 
-msgid "Printer busy, will retry in 10 seconds."
-msgstr ""
-
-msgid "Printer busy; will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer did not respond."
-msgstr ""
-
-#, c-format
-msgid "Printer does not support IPP/%d.%d, trying IPP/%s."
-msgstr ""
-
-msgid "Printer is busy, will retry in 5 seconds."
-msgstr ""
-
-msgid "Printer is not currently connected."
-msgstr ""
-
-msgid "Printer is now connected."
-msgstr ""
-
-msgid "Printer is now online."
-msgstr ""
-
-msgid "Printer is offline."
-msgstr ""
-
-msgid "Printer not connected, will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer not connected; will retry in 30 seconds."
+msgid "Printer cannot print supplied content."
 msgstr ""
 
 msgid "Printer:"
 msgstr "Imprimante :"
 
 msgid "Printers"
-msgstr "Imprimantes"
-
-#, c-format
-msgid "Printing page %d, %d%% complete."
 msgstr ""
 
 #, c-format
-msgid "Printing page %d."
+msgid "Printing page %d, %d%% complete."
 msgstr ""
 
 msgid "Purge Jobs"
@@ -3601,7 +3427,7 @@ msgid "Quarto"
 msgstr "Quarto"
 
 msgid "Quota limit reached."
-msgstr "Quota atteint."
+msgstr ""
 
 msgid "Rank    Owner   Job     File(s)                         Total Size"
 msgstr ""
@@ -3611,9 +3437,6 @@ msgid ""
 "Rank   Owner      Pri  Job        Files                       Total Size"
 msgstr ""
 
-msgid "Ready to print."
-msgstr ""
-
 msgid "Reject Jobs"
 msgstr "Refuser les tâches"
 
@@ -3643,9 +3466,6 @@ msgstr "Relancer l’imprimante"
 msgid "Return Address"
 msgstr "Renvoyer l’adresse"
 
-msgid "Return Address - 3/4 x 2\""
-msgstr "Renvoyer l’adresse - 3/4 x 2\""
-
 msgid "Rewind"
 msgstr "Rembobiner"
 
@@ -3665,10 +3485,6 @@ msgstr "Autres"
 msgid "Sending data to printer."
 msgstr ""
 
-#, c-format
-msgid "Serial Port #%d"
-msgstr "Port série #%d"
-
 msgid "Server Restarted"
 msgstr "Le serveur a redémarré"
 
@@ -3702,9 +3518,6 @@ msgstr "Définir la publication"
 msgid "Shipping Address"
 msgstr "Adresse de livraison"
 
-msgid "Shipping Address - 2 5/16 x 4\""
-msgstr "Adresse de livraison - 2 5/16 x 4\""
-
 msgid "Short-Edge (Landscape)"
 msgstr "Bord le plus court (paysage)"
 
@@ -3740,7 +3553,7 @@ msgid "Subscription #%d does not exist."
 msgstr ""
 
 msgid "Super A"
-msgstr "Super A"
+msgstr ""
 
 msgid "Super B"
 msgstr "Super B"
@@ -3774,6 +3587,17 @@ msgid "The %s attribute cannot be provided with job-ids."
 msgstr ""
 
 #, c-format
+msgid ""
+"The '%s' Job Description attribute cannot be supplied in a job creation "
+"request."
+msgstr ""
+
+#, c-format
+msgid ""
+"The '%s' operation attribute cannot be supplied in a Create-Job request."
+msgstr ""
+
+#, c-format
 msgid "The PPD file \"%s\" could not be found."
 msgstr "Le fichier PPD « %s » n’a pu être trouvé."
 
@@ -3828,9 +3652,6 @@ msgstr ""
 msgid "The output bin is missing."
 msgstr ""
 
-msgid "The page setup information was not valid."
-msgstr ""
-
 msgid "The paper tray is almost empty."
 msgstr ""
 
@@ -3843,13 +3664,17 @@ msgstr ""
 msgid "The paper tray needs to be filled."
 msgstr ""
 
-msgid "The print file could not be opened."
+msgid "The printer URI is incorrect or no longer exists."
+msgstr ""
+
+msgid "The printer did not respond."
 msgstr ""
 
-msgid "The printer URI is incorrect or no longer exists."
+#, c-format
+msgid "The printer does not support IPP/%d.%d, trying IPP/%s."
 msgstr ""
 
-msgid "The printer is busy."
+msgid "The printer is in use."
 msgstr ""
 
 msgid "The printer is not connected."
@@ -3858,7 +3683,13 @@ msgstr ""
 msgid "The printer is not responding."
 msgstr ""
 
-msgid "The printer is out of ink."
+msgid "The printer is now connected."
+msgstr ""
+
+msgid "The printer is now online."
+msgstr ""
+
+msgid "The printer is offline."
 msgstr ""
 
 msgid "The printer is running low on ink."
@@ -3870,6 +3701,9 @@ msgstr ""
 msgid "The printer is unreachable at this time."
 msgstr ""
 
+msgid "The printer may be out of ink."
+msgstr ""
+
 msgid "The printer may be out of toner."
 msgstr ""
 
@@ -3951,9 +3785,6 @@ msgstr ""
 msgid "Thermal Transfer Media"
 msgstr "Papier pour transfert thermique"
 
-msgid "Title: "
-msgstr "Titre : "
-
 msgid "Too many active jobs."
 msgstr "Trop de tâches en cours."
 
@@ -4010,17 +3841,16 @@ msgstr ""
 msgid "US Letter Small"
 msgstr ""
 
-#, c-format
-msgid "USB Serial Port #%d"
-msgstr "Port série USB #%d"
-
-msgid "Unable to access cupsd.conf file:"
+msgid "Unable to access cupsd.conf file"
 msgstr "Impossible d’accéder au fichier cupsd.conf :"
 
-msgid "Unable to add RSS subscription:"
+msgid "Unable to access help file."
+msgstr "Impossible d’accéder au fichier d’aide :"
+
+msgid "Unable to add RSS subscription"
 msgstr "Impossible d’ajouter d’abonnement RSS :"
 
-msgid "Unable to add class:"
+msgid "Unable to add class"
 msgstr "Impossible d’ajouter la classe :"
 
 msgid "Unable to add document to print job."
@@ -4030,7 +3860,7 @@ msgstr ""
 msgid "Unable to add job for destination \"%s\"."
 msgstr ""
 
-msgid "Unable to add printer:"
+msgid "Unable to add printer"
 msgstr "Impossible d’ajouter l’imprimante :"
 
 msgid "Unable to allocate memory for file types."
@@ -4042,19 +3872,19 @@ msgstr ""
 msgid "Unable to allocate memory for pages array"
 msgstr ""
 
-msgid "Unable to cancel RSS subscription:"
+msgid "Unable to cancel RSS subscription"
 msgstr "Impossible d’annuler l’abonnement RSS :"
 
 msgid "Unable to cancel print job."
 msgstr ""
 
-msgid "Unable to change printer-is-shared attribute:"
-msgstr "Impossible de modifier l’attribut « printer-is-shared » :"
+msgid "Unable to change printer"
+msgstr ""
 
-msgid "Unable to change printer:"
-msgstr "Impossible de modifier l’imprimante :"
+msgid "Unable to change printer-is-shared attribute"
+msgstr "Impossible de modifier l’attribut « printer-is-shared » :"
 
-msgid "Unable to change server settings:"
+msgid "Unable to change server settings"
 msgstr "Impossible de modifier les réglages du serveur :"
 
 msgid "Unable to configure printer options."
@@ -4097,31 +3927,22 @@ msgstr ""
 msgid "Unable to copy interface script - %s"
 msgstr ""
 
-msgid "Unable to copy print file"
-msgstr ""
-
 msgid "Unable to create compressed print file"
 msgstr ""
 
-msgid "Unable to create pipes for filters"
-msgstr ""
-
 msgid "Unable to create printer-uri"
 msgstr ""
 
 msgid "Unable to create temporary file"
-msgstr ""
-
-msgid "Unable to create temporary file:"
 msgstr "Impossible de créer le fichier temporaire :"
 
-msgid "Unable to delete class:"
+msgid "Unable to delete class"
 msgstr "Impossible de supprimer la classe :"
 
-msgid "Unable to delete printer:"
+msgid "Unable to delete printer"
 msgstr "Impossible de supprimer l’imprimante :"
 
-msgid "Unable to do maintenance command:"
+msgid "Unable to do maintenance command"
 msgstr "Impossible de lancer la commande de maintenance :"
 
 msgid "Unable to edit cupsd.conf files larger than 1MB"
@@ -4163,34 +3984,31 @@ msgstr ""
 msgid "Unable to find printer."
 msgstr ""
 
-msgid "Unable to fork filter"
-msgstr ""
-
 msgid "Unable to generate compressed print file"
 msgstr ""
 
 msgid "Unable to get backend exit status."
 msgstr ""
 
-msgid "Unable to get class list:"
+msgid "Unable to get class list"
 msgstr "Impossible d’obtenir la liste des classes :"
 
-msgid "Unable to get class status:"
+msgid "Unable to get class status"
 msgstr "Impossible d’obtenir l’état de la classe :"
 
-msgid "Unable to get list of printer drivers:"
-msgstr "Impossible d’obtenir la liste des gestionnaires d’impression :"
+msgid "Unable to get list of printer drivers"
+msgstr "Impossible d’obtenir la liste des pilotes d’impression :"
 
-msgid "Unable to get printer attributes:"
+msgid "Unable to get printer attributes"
 msgstr "Impossible de récupérer les attributs de l’imprimante :"
 
-msgid "Unable to get printer list:"
+msgid "Unable to get printer list"
 msgstr "Impossible d’obtenir la liste des imprimantes :"
 
-msgid "Unable to get printer status."
+msgid "Unable to get printer status"
 msgstr ""
 
-msgid "Unable to get printer status:"
+msgid "Unable to get printer status."
 msgstr "Impossible d’obtenir l’état de l’imprimante :"
 
 #, c-format
@@ -4201,6 +4019,9 @@ msgstr ""
 msgid "Unable to install Windows 9x printer driver files (%d)."
 msgstr ""
 
+msgid "Unable to load help index."
+msgstr ""
+
 #, c-format
 msgid "Unable to locate printer \"%s\"."
 msgstr ""
@@ -4208,10 +4029,10 @@ msgstr ""
 msgid "Unable to locate printer."
 msgstr ""
 
-msgid "Unable to modify class:"
+msgid "Unable to modify class"
 msgstr "Impossible de modifier la classe :"
 
-msgid "Unable to modify printer:"
+msgid "Unable to modify printer"
 msgstr "Impossible de modifier l’imprimante :"
 
 msgid "Unable to move job"
@@ -4221,12 +4042,6 @@ msgid "Unable to move jobs"
 msgstr "Impossible de transférer les tâches."
 
 msgid "Unable to open PPD file"
-msgstr "Impossible d’ouvrir le fichier PPD."
-
-msgid "Unable to open PPD file:"
-msgstr "Impossible d’ouvrir le fichier PPD :"
-
-msgid "Unable to open charset file"
 msgstr ""
 
 msgid "Unable to open compressed print file"
@@ -4242,30 +4057,22 @@ msgstr ""
 msgid "Unable to open document #%d in job #%d."
 msgstr ""
 
-msgid "Unable to open print file"
+msgid "Unable to open help file."
 msgstr ""
 
-msgid "Unable to open psglyphs"
+msgid "Unable to open print file"
 msgstr ""
 
 msgid "Unable to open raster file"
 msgstr ""
 
-#, c-format
-msgid "Unable to print %d text columns."
-msgstr ""
-
-#, c-format
-msgid "Unable to print %dx%d text page."
-msgstr ""
-
-msgid "Unable to print test page:"
+msgid "Unable to print test page"
 msgstr "Impossible d’imprimer la page de test :"
 
-msgid "Unable to read print data"
+msgid "Unable to read print data."
 msgstr ""
 
-msgid "Unable to read print data."
+msgid "Unable to resolve printer URI."
 msgstr ""
 
 #, c-format
@@ -4281,23 +4088,20 @@ msgstr ""
 msgid "Unable to send data to printer."
 msgstr ""
 
-msgid "Unable to send raster data to the driver."
-msgstr ""
-
 #, c-format
 msgid "Unable to set Windows printer driver (%d)."
 msgstr ""
 
-msgid "Unable to set options:"
+msgid "Unable to set options"
 msgstr "Impossible de définir les options :"
 
-msgid "Unable to set server default:"
+msgid "Unable to set server default"
 msgstr "Impossible de définir la valeur par défaut pour le serveur :"
 
 msgid "Unable to start backend process."
 msgstr ""
 
-msgid "Unable to upload cupsd.conf file:"
+msgid "Unable to upload cupsd.conf file"
 msgstr "Impossible de transmettre le fichier cupsd.conf :"
 
 msgid "Unable to use legacy USB class driver."
@@ -4335,6 +4139,9 @@ msgstr ""
 msgid "Unknown format character: \"%c\"."
 msgstr ""
 
+msgid "Unknown media size name."
+msgstr ""
+
 #, c-format
 msgid "Unknown option \"%s\" with value \"%s\"."
 msgstr ""
@@ -4355,16 +4162,22 @@ msgstr "Paramètre printer-error-policy « %s » inconnu."
 msgid "Unknown printer-op-policy \"%s\"."
 msgstr "Paramètre printer-op-policy « %s » inconnu."
 
+msgid "Unknown service name."
+msgstr ""
+
 #, c-format
 msgid "Unknown version option value: \"%s\"."
 msgstr ""
 
 #, c-format
-msgid "Unsupported baud rate: %s"
+msgid "Unsupported 'compression' value \"%s\"."
 msgstr ""
 
 #, c-format
-msgid "Unsupported brightness value %s, using brightness=100."
+msgid "Unsupported 'document-format' value \"%s\"."
+msgstr ""
+
+msgid "Unsupported 'job-name' value."
 msgstr ""
 
 #, c-format
@@ -4387,10 +4200,6 @@ msgstr ""
 msgid "Unsupported format \"%s\"."
 msgstr ""
 
-#, c-format
-msgid "Unsupported gamma value %s, using gamma=1000."
-msgstr ""
-
 msgid "Unsupported margins."
 msgstr ""
 
@@ -4430,20 +4239,9 @@ msgid ""
 msgstr ""
 
 #, c-format
-msgid "Usage: %s job user title copies options [filename]"
-msgstr ""
-
-#, c-format
 msgid "Usage: %s job-id user title copies options [file]"
 msgstr ""
 
-#, c-format
-msgid "Usage: %s job-id user title copies options file"
-msgstr ""
-
-msgid "Usage: convert [ options ]"
-msgstr ""
-
 msgid "Usage: cupsaddsmb [options] printer1 ... printerN"
 msgstr ""
 
@@ -4537,8 +4335,8 @@ msgstr "Oui"
 
 #, c-format
 msgid ""
-"You must access this page using the URL <A HREF=\"https://%s:%d%s\">https://%"
-"s:%d%s</A>."
+"You must access this page using the URL <A HREF=\"https://%s:%d%s\">https://"
+"%s:%d%s</A>."
 msgstr ""
 "Vous devez accéder à cette page par l’URL <A HREF=\"https://%s:%d%s"
 "\">https://%s:%d%s</A>."
@@ -4563,9 +4361,6 @@ msgstr "annulée"
 msgid "completed"
 msgstr "terminée"
 
-msgid "convert: Use the -f option to specify a file to convert."
-msgstr ""
-
 msgid "cups-deviced failed to execute."
 msgstr "L’exécution de « cups-deviced » a échoué."
 
@@ -4594,9 +4389,18 @@ msgstr ""
 msgid "cupsd: Expected config filename after \"-c\" option."
 msgstr ""
 
+msgid "cupsd: Expected cups-files.conf filename after \"-s\" option."
+msgstr ""
+
+msgid "cupsd: Relative cups-files.conf filename not allowed."
+msgstr ""
+
 msgid "cupsd: Unable to get current directory."
 msgstr ""
 
+msgid "cupsd: Unable to get path to cups-files.conf file."
+msgstr ""
+
 #, c-format
 msgid "cupsd: Unknown argument \"%s\" - aborting."
 msgstr ""
@@ -4655,12 +4459,6 @@ msgstr "inactive"
 msgid "ipptool: \"-i\" and \"-n\" are incompatible with -X\"."
 msgstr ""
 
-msgid "ipptool: \"-i\" is incompatible with \"-X\"."
-msgstr ""
-
-msgid "ipptool: \"-n\" is incompatible with \"-X\"."
-msgstr ""
-
 #, c-format
 msgid "ipptool: Bad URI - %s."
 msgstr ""
@@ -5399,3423 +5197,4 @@ msgid "untitled"
 msgstr "sans titre"
 
 msgid "variable-bindings uses indefinite length"
-msgstr "variable-bindings s’avère être de longueur indéfinie"
-
-#~ msgid "\t\t(all)\n"
-#~ msgstr "\t\t(tous)\n"
-
-#~ msgid "\t\t(none)\n"
-#~ msgstr "\t\t(aucun)\n"
-
-#~ msgid "\t%d entries\n"
-#~ msgstr "\t%d entrées\n"
-
-#~ msgid "\tAfter fault: continue\n"
-#~ msgstr "\tAprès une erreur : poursuivre\n"
-
-#~ msgid "\tAlerts:"
-#~ msgstr "\tAlertes :"
-
-#~ msgid "\tBanner required\n"
-#~ msgstr "\tBannière requise\n"
-
-#~ msgid "\tCharset sets:\n"
-#~ msgstr "\tJeux de caractères :\n"
-
-#~ msgid "\tConnection: direct\n"
-#~ msgstr "\tConnexion : directe\n"
-
-#~ msgid "\tConnection: remote\n"
-#~ msgstr "\tConnexion : distante\n"
-
-#~ msgid "\tDefault page size:\n"
-#~ msgstr "\tTaille de papier par défaut :\n"
-
-#~ msgid "\tDefault pitch:\n"
-#~ msgstr "\tTon par défaut :\n"
-
-#~ msgid "\tDefault port settings:\n"
-#~ msgstr "\tRéglages par défaut du port :\n"
-
-#~ msgid "\tDescription: %s\n"
-#~ msgstr "\tDescription : %s\n"
-
-#~ msgid ""
-#~ "\tForm mounted:\n"
-#~ "\tContent types: any\n"
-#~ "\tPrinter types: unknown\n"
-#~ msgstr ""
-#~ "\tFormat monté :\n"
-#~ "\tType de contenu : any (quelconque)\n"
-#~ "\tType d’imprimantes : unknown (inconnu)\n"
-
-#~ msgid "\tForms allowed:\n"
-#~ msgstr "\tFormats autorisés :\n"
-
-#~ msgid "\tInterface: %s.ppd\n"
-#~ msgstr "\tInterface : %s.ppd\n"
-
-#~ msgid "\tInterface: %s/interfaces/%s\n"
-#~ msgstr "\tInterface : %s/interfaces/%s\n"
-
-#~ msgid "\tInterface: %s/ppd/%s.ppd\n"
-#~ msgstr "\tInterface : %s/ppd/%s.ppd\n"
-
-#~ msgid "\tLocation: %s\n"
-#~ msgstr "\tEmplacement : %s\n"
-
-#~ msgid "\tOn fault: no alert\n"
-#~ msgstr "\tEn cas d’erreur : aucun avertissement\n"
-
-#~ msgid "\tUsers allowed:\n"
-#~ msgstr "\tUtilisateurs autorisés :\n"
-
-#~ msgid "\tUsers denied:\n"
-#~ msgstr "\tUtilisateurs refusés :\n"
-
-#~ msgid "\tdaemon present\n"
-#~ msgstr "\tdaemon présent\n"
-
-#~ msgid "\tno entries\n"
-#~ msgstr "\taucune entrée\n"
-
-#~ msgid "\tprinter is on device '%s' speed -1\n"
-#~ msgstr "\tl’imprimante correspond au périphérique « %s », débit -1\n"
-
-#~ msgid "\tprinting is disabled\n"
-#~ msgstr "\tl’impression est désactivée\n"
-
-#~ msgid "\tprinting is enabled\n"
-#~ msgstr "\tl’impression est activée\n"
-
-#~ msgid "\tqueued for %s\n"
-#~ msgstr "\tmis en file d’attente pour %s\n"
-
-#~ msgid "\tqueuing is disabled\n"
-#~ msgstr "\tla mise en file d’attente est désactivée\n"
-
-#~ msgid "\tqueuing is enabled\n"
-#~ msgstr "\tla mise en file d’attente est activée\n"
-
-#~ msgid "\treason unknown\n"
-#~ msgstr "\traison inconnue\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "    DETAILED CONFORMANCE TEST RESULTS\n"
-#~ msgstr ""
-#~ "\n"
-#~ "    RÉSULTATS DÉTAILLÉS DU TEST DE CONFORMITÉ\n"
-
-#~ msgid "                REF: Page 15, section 3.1.\n"
-#~ msgstr "                REF : page 15, rubrique 3.1.\n"
-
-#~ msgid "                REF: Page 15, section 3.2.\n"
-#~ msgstr "                REF : page 15, rubrique 3.2.\n"
-
-#~ msgid "                REF: Page 19, section 3.3.\n"
-#~ msgstr "                REF : page 19, rubrique 3.3.\n"
-
-#~ msgid "                REF: Page 20, section 3.4.\n"
-#~ msgstr "                REF : page 20, rubrique 3.4.\n"
-
-#~ msgid "                REF: Page 27, section 3.5.\n"
-#~ msgstr "                REF : page 27, rubrique 3.5.\n"
-
-#~ msgid "                REF: Page 42, section 5.2.\n"
-#~ msgstr "                REF : page 42, rubrique 5.2.\n"
-
-#~ msgid "                REF: Pages 16-17, section 3.2.\n"
-#~ msgstr "                REF : pages 16 et 17, rubrique 3.2.\n"
-
-#~ msgid "                REF: Pages 42-45, section 5.2.\n"
-#~ msgstr "                REF : pages 42 à 45, rubrique 5.2.\n"
-
-#~ msgid "                REF: Pages 45-46, section 5.2.\n"
-#~ msgstr "                REF : pages 45 et 46, rubrique 5.2.\n"
-
-#~ msgid "                REF: Pages 48-49, section 5.2.\n"
-#~ msgstr "                REF : pages 48 et 49, rubrique 5.2.\n"
-
-#~ msgid "                REF: Pages 52-54, section 5.2.\n"
-#~ msgstr "                REF : pages 52 à 54, rubrique 5.2.\n"
-
-#~ msgid "        %-39.39s %.0f bytes\n"
-#~ msgstr "        %-39.39s %.0f octets\n"
-
-#~ msgid "        PASS    Default%s\n"
-#~ msgstr "        VALIDE    Default%s\n"
-
-#~ msgid "        PASS    DefaultImageableArea\n"
-#~ msgstr "        VALIDE    DefaultImageableArea\n"
-
-#~ msgid "        PASS    DefaultPaperDimension\n"
-#~ msgstr "        VALIDE    DefaultPaperDimension\n"
-
-#~ msgid "        PASS    FileVersion\n"
-#~ msgstr "        VALIDE    FileVersion\n"
-
-#~ msgid "        PASS    FormatVersion\n"
-#~ msgstr "        VALIDE    FormatVersion\n"
-
-#~ msgid "        PASS    LanguageEncoding\n"
-#~ msgstr "        VALIDE    LanguageEncoding\n"
-
-#~ msgid "        PASS    LanguageVersion\n"
-#~ msgstr "        VALIDE    LanguageVersion\n"
-
-#~ msgid "        PASS    Manufacturer\n"
-#~ msgstr "        VALIDE    Manufacturer\n"
-
-#~ msgid "        PASS    ModelName\n"
-#~ msgstr "        VALIDE    ModelName\n"
-
-#~ msgid "        PASS    NickName\n"
-#~ msgstr "        VALIDE    NickName\n"
-
-#~ msgid "        PASS    PCFileName\n"
-#~ msgstr "        VALIDE    PCFileName\n"
-
-#~ msgid "        PASS    PSVersion\n"
-#~ msgstr "        VALIDE    PSVersion\n"
-
-#~ msgid "        PASS    PageRegion\n"
-#~ msgstr "        VALIDE    PageRegion\n"
-
-#~ msgid "        PASS    PageSize\n"
-#~ msgstr "        VALIDE    PageSize\n"
-
-#~ msgid "        PASS    Product\n"
-#~ msgstr "        VALIDE    Product\n"
-
-#~ msgid "        PASS    ShortNickName\n"
-#~ msgstr "        VALIDE    ShortNickName\n"
-
-#~ msgid ""
-#~ "        WARN    \"%s %s\" conflicts with \"%s %s\"\n"
-#~ "                (constraint=\"%s %s %s %s\")\n"
-#~ msgstr ""
-#~ "        ATTN    « %s %s » entre en conflit avec « %s %s ».\n"
-#~ "                (constraint=\"%s %s %s %s\")\n"
-
-#~ msgid "        WARN    %s has no corresponding options!\n"
-#~ msgstr "        ATTN    Aucune option ne correspond à %s.\n"
-
-#~ msgid ""
-#~ "        WARN    %s shares a common prefix with %s\n"
-#~ "                REF: Page 15, section 3.2.\n"
-#~ msgstr ""
-#~ "        ATTN    %s partage un préfixe avec %s\n"
-#~ "                REF : page 15, rubrique 3.2.\n"
-
-#~ msgid "        WARN    Default choices conflicting!\n"
-#~ msgstr "        ATTN    Choix par défaut en conflit.\n"
-
-#~ msgid ""
-#~ "        WARN    Duplex option keyword %s may not work as expected and "
-#~ "should be named Duplex!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "        ATTN    Le mot-clé %s d’option duplex peut ne pas fonctionner "
-#~ "comme attendu et doit s’intituler Duplex.\n"
-#~ "                REF : page 122, rubrique 5.17\n"
-
-#~ msgid ""
-#~ "        WARN    File contains a mix of CR, LF, and CR LF line endings!\n"
-#~ msgstr ""
-#~ "        ATTN    Le fichier contient un mélange de fins de ligne CR, LF et "
-#~ "CR LF.\n"
-
-#~ msgid ""
-#~ "        WARN    LanguageEncoding required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 56-57, section 5.3.\n"
-#~ msgstr ""
-#~ "        ATTN    LanguageEncoding requis d’après les spécifications PPD "
-#~ "4.3\n"
-#~ "                REF : pages 56 et 57, rubrique 5.3.\n"
-
-#~ msgid "        WARN    Line %d only contains whitespace!\n"
-#~ msgstr "        ATTN    La ligne %d ne contient que des espaces blancs.\n"
-
-#~ msgid ""
-#~ "        WARN    Manufacturer required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 58-59, section 5.3.\n"
-#~ msgstr ""
-#~ "        ATTN    Paramètre Manufacturer requis d’après les spécifications "
-#~ "PPD 4.3\n"
-#~ "                REF : pages 58 et 59, rubrique 5.3.\n"
-
-#~ msgid "        WARN    Missing APDialogExtension file \"%s\"\n"
-#~ msgstr "        ATTN    Fichier APDialogExtension « %s » manquant\n"
-
-#~ msgid "        WARN    Missing APPrinterIconPath file \"%s\"\n"
-#~ msgstr "        ATTN    Fichier APPrinterIconPath « %s » manquant\n"
-
-#~ msgid ""
-#~ "        WARN    Non-Windows PPD files should use lines ending with only "
-#~ "LF, not CR LF!\n"
-#~ msgstr ""
-#~ "        ATTN    Les fichiers PPD non-Windows doivent utiliser des fins de "
-#~ "ligne définis uniquement par LF et non CR LF.\n"
-
-#~ msgid ""
-#~ "        WARN    Obsolete PPD version %.1f!\n"
-#~ "                REF: Page 42, section 5.2.\n"
-#~ msgstr ""
-#~ "        ATTN    Version PPD obsolète %.1f.\n"
-#~ "                REF : page 42, rubrique 5.2.\n"
-
-#~ msgid ""
-#~ "        WARN    PCFileName longer than 8.3 in violation of PPD spec.\n"
-#~ "                REF: Pages 61-62, section 5.3.\n"
-#~ msgstr ""
-#~ "        ATTN    Le nom de fichier PCFileName ne respecte pas les "
-#~ "spécifications PPD pour le format 8.3\n"
-#~ "                REF : pages 61 et 62, rubrique 5.3.\n"
-
-#~ msgid ""
-#~ "        WARN    Protocols contains PJL but JCL attributes are not set.\n"
-#~ "                REF: Pages 78-79, section 5.7.\n"
-#~ msgstr ""
-#~ "        ATTN    La section Protocols contient PJL mais les attributs JCL "
-#~ "ne sont pas définis.\n"
-#~ "                REF : pages 78 et 79, rubrique 5.7.\n"
-
-#~ msgid ""
-#~ "        WARN    Protocols contains both PJL and BCP; expected TBCP.\n"
-#~ "                REF: Pages 78-79, section 5.7.\n"
-#~ msgstr ""
-#~ "        ATTN    La section Protocols contient PJL et BCP, mais TBCP est "
-#~ "attendu.\n"
-#~ "                REF : pages 78 et 79, rubrique 5.7.\n"
-
-#~ msgid ""
-#~ "        WARN    ShortNickName required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "        ATTN    ShortNickName requis d’après les spécifications PPD 4.3\n"
-#~ "                REF : pages 64 et 65, rubrique 5.3.\n"
-
-#~ msgid "      %s  %s %s does not exist!\n"
-#~ msgstr "      %s  %s %s n’existe pas.\n"
-
-#~ msgid ""
-#~ "      %s  Bad %s choice %s!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "      %s  Choix %s erroné %s.\n"
-#~ "                REF  : page 122, rubrique 5.17\n"
-
-#~ msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s!\n"
-#~ msgstr ""
-#~ "      %s  Chaîne de traduction UTF-8 « %s » incorrecte pour l’option %s.\n"
-
-#~ msgid ""
-#~ "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s!\n"
-#~ msgstr ""
-#~ "      %s  Chaîne de traduction UTF-8 « %s » incorrecte pour l’option %s, "
-#~ "le choix %s.\n"
-
-#~ msgid "      %s  Bad cupsFilter value \"%s\"!\n"
-#~ msgstr "      %s  Valeur cupsFilter « %s » incorrecte.\n"
-
-#~ msgid "      %s  Bad cupsICCProfile %s!\n"
-#~ msgstr "      %s  cupsICCProfile « %s »  incorrect.\n"
-
-#~ msgid "      %s  Bad cupsPreFilter value \"%s\"!\n"
-#~ msgstr "      %s  Valeur cupsPreFilter « %s » incorrecte.\n"
-
-#~ msgid "      %s  Bad cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr "      %s  cupsUIConstraints %s : « %s ».\n"
-
-#~ msgid "      %s  Bad language \"%s\"!\n"
-#~ msgstr "      %s  Langue « %s » incorrecte.\n"
-
-#~ msgid "      %s  Empty cupsUIConstraints %s!\n"
-#~ msgstr "      %s  cupsUIConstraints %s vide.\n"
-
-#~ msgid "      %s  Missing \"%s\" translation string for option %s!\n"
-#~ msgstr "      %s  Chaîne de traduction « %s » manquante pour l’option %s.\n"
-
-#~ msgid ""
-#~ "      %s  Missing \"%s\" translation string for option %s, choice %s!\n"
-#~ msgstr ""
-#~ "      %s  Chaîne de traduction « %s » manquante pour l’option %s et le "
-#~ "choix %s.\n"
-
-#~ msgid ""
-#~ "      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"!\n"
-#~ msgstr ""
-#~ "      %s  Choix manquant *%s %s dans UIConstraints « *%s %s *%s %s ».\n"
-
-#~ msgid "      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr "      %s  Choix manquant *%s %s dans cupsUIConstraints %s :« %s ».\n"
-
-#~ msgid "      %s  Missing cupsFilter file \"%s\"\n"
-#~ msgstr "      %s  Fichier cupsFilter manquant « %s ».\n"
-
-#~ msgid "      %s  Missing cupsICCProfile file \"%s\"!\n"
-#~ msgstr "      %s  Fichier cupsICCProfile manquant « %s ».\n"
-
-#~ msgid "      %s  Missing cupsPreFilter file \"%s\"\n"
-#~ msgstr "      %s  Fichier cupsPreFilter manquant « %s ».\n"
-
-#~ msgid "      %s  Missing cupsUIResolver %s!\n"
-#~ msgstr "      %s  cupsUIResolver manquant « %s ».\n"
-
-#~ msgid "      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\"!\n"
-#~ msgstr ""
-#~ "      %s  Option %s manquante dans UIConstraints « *%s %s *%s %s ».\n"
-
-#~ msgid "      %s  Missing option %s in cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr "      %s  Option %s manquante dans cupsUIConstraints %s : « %s ».\n"
-
-#~ msgid "      %s  No base translation \"%s\" is included in file!\n"
-#~ msgstr ""
-#~ "      %s  Aucune traduction de base « %s » n’est comprise dans le "
-#~ "fichier.\n"
-
-#~ msgid ""
-#~ "      %s  REQUIRED %s does not define choice None!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "      %s  %s requis ne définit pas le choix Aucun.\n"
-#~ "                REF : page 122, rubrique 5.17\n"
-
-#~ msgid "      %s  cupsICCProfile %s hash value collides with %s!\n"
-#~ msgstr ""
-#~ "      %s  La valeur de hachage cupsICCProfile %s entre en collision avec %"
-#~ "s.\n"
-
-#~ msgid "      %s  cupsUIResolver %s causes a loop!\n"
-#~ msgstr "      %s  cupsUIResolver %s provoque une boucle.\n"
-
-#~ msgid "      **FAIL**  %s choice names %s and %s differ only by case!\n"
-#~ msgstr ""
-#~ "      **ÉCHEC**  Les noms de choix %s %s et %s diffèrent seulement par "
-#~ "leurs majuscules.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  %s must be 1284DeviceID!\n"
-#~ "                REF: Page 72, section 5.5\n"
-#~ msgstr ""
-#~ "      **ÉCHEC**  %s doit correspondre à 1284DeviceID.\n"
-#~ "                REF : page 72, rubrique 5.5.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Default%s %s\n"
-#~ "                REF: Page 40, section 4.5.\n"
-#~ msgstr ""
-#~ "      **ÉCHEC**  Default%s %s erroné.\n"
-#~ "                REF : page 40, rubrique 4.5.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD DefaultImageableArea %s!\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **ÉCHEC**  DefaultImageableArea %s erroné.\n"
-#~ "                REF : page 102, rubrique 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD DefaultPaperDimension %s!\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **ÉCHEC**  DefaultPaperDimension %s erroné.\n"
-#~ "                REF : page 103, rubrique 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD JobPatchFile attribute in file\n"
-#~ "                REF: Page 24, section 3.4.\n"
-#~ msgstr ""
-#~ "      **ÉCHEC**  Attribut JobPatchFile erroné dans le fichier.\n"
-#~ "                REF : page 24, rubrique 3.4.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Manufacturer (should be \"HP\")\n"
-#~ "                REF: Page 211, table D.1.\n"
-#~ msgstr ""
-#~ "      **ÉCHEC**  Manufacturer erroné (doit être « HP »)\n"
-#~ "                REF : page 211, tableau D.1.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Manufacturer (should be \"Oki\")\n"
-#~ "                REF: Page 211, table D.1.\n"
-#~ msgstr ""
-#~ "      **ÉCHEC**  Manufacturer incorrect (doit être « Oki »)\n"
-#~ "                REF : page 211, tableau D.1.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n"
-#~ "                REF: Pages 59-60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **ÉCHEC**  ModelName erroné - « %c » interdit dans la chaîne.\n"
-#~ "                REF : pages 59 et 60, rubrique 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD PSVersion - not \"(string) int\".\n"
-#~ "                REF: Pages 62-64, section 5.3.\n"
-#~ msgstr ""
-#~ "      **ÉCHEC**  PSVersion erroné - différent de « (string) int ».\n"
-#~ "                REF : pages 62 à 64, rubrique 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Product - not \"(string)\".\n"
-#~ "                REF: Page 62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **ÉCHEC**  Paramètre Product erroné - différent de « (string) ».\n"
-#~ "                REF : page 62, rubrique 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD ShortNickName - longer than 31 chars.\n"
-#~ "                REF: Pages 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "      **ÉCHEC**  ShortNickName erroné - dépasse 31 caractères.\n"
-#~ "                REF : pages 64 et 65, rubrique 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad %s choice %s!\n"
-#~ "                REF: Page 84, section 5.9\n"
-#~ msgstr ""
-#~ "      **ÉCHEC**  Choix %s %s erroné.\n"
-#~ "                REF : page 84, rubrique 5.9\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad FileVersion \"%s\"\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **ÉCHEC**  FileVersion « %s » incorrect\n"
-#~ "                REF : page 56, rubrique 5.3."
-
-#~ msgid ""
-#~ "      **FAIL**  Bad FormatVersion \"%s\"\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **ÉCHEC**  FormatVersion « %s » incorrect\n"
-#~ "                REF : page 56, section 5.3.\n"
-
-#~ msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1!\n"
-#~ msgstr ""
-#~ "      **ÉCHEC**  LanguageEncoding %s incorrect - doit correspondre à "
-#~ "ISOLatin1.\n"
-
-#~ msgid "      **FAIL**  Bad LanguageVersion %s - must be English!\n"
-#~ msgstr ""
-#~ "      **ÉCHEC**  LanguageVersion %s incorrect - doit correspondre à "
-#~ "Anglais.\n"
-
-#~ msgid "      **FAIL**  Default option code cannot be interpreted: %s\n"
-#~ msgstr ""
-#~ "      **ÉCHEC**  Le code de l’option par défaut ne peut pas être "
-#~ "interprété : %s\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Default translation string for option %s choice %s "
-#~ "contains 8-bit characters!\n"
-#~ msgstr ""
-#~ "      **ÉCHEC**  La chaîne de traduction par défaut pour l’option %s, "
-#~ "choix %s, contient des caractères 8 bits.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Default translation string for option %s contains 8-bit "
-#~ "characters!\n"
-#~ msgstr ""
-#~ "      **ÉCHEC**  La chaîne de traduction par défaut pour l’option %s "
-#~ "contient des caractères 8 bits.\n"
-
-#~ msgid "      **FAIL**  Group names %s and %s differ only by case!\n"
-#~ msgstr ""
-#~ "      **ÉCHEC**  Les noms de groupe %s et %s diffèrent seulement par "
-#~ "leurs majuscules.\n"
-
-#~ msgid "      **FAIL**  Multiple occurrences of %s choice name %s!\n"
-#~ msgstr "      **ÉCHEC**  Plusieurs occurrences de %s, nom de choix %s.\n"
-
-#~ msgid "      **FAIL**  Option names %s and %s differ only by case!\n"
-#~ msgstr ""
-#~ "      **ÉCHEC**  Noms d’option %s et %s diffèrent seulement par leurs "
-#~ "majuscules.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Default%s\n"
-#~ "                REF: Page 40, section 4.5.\n"
-#~ msgstr ""
-#~ "      **ÉCHEC**  Default%s requis\n"
-#~ "                REF : page 40, rubrique 4.5.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED DefaultImageableArea\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **ÉCHEC**  DefaultImageableArea requis\n"
-#~ "                REF : page 102, rubrique 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED DefaultPaperDimension\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **ÉCHEC**  DefaultPaperDimension requis\n"
-#~ "                REF : page 103, rubrique 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED FileVersion\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **ÉCHEC**  FileVersion requis\n"
-#~ "                REF : page 56, rubrique 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED FormatVersion\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **ÉCHEC**  FormatVersion requis\n"
-#~ "                REF : page 56, rubrique 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ImageableArea for PageSize %s\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **ÉCHEC**  ImageableArea requis pour PageSize %s\n"
-#~ "                REF : page 41, rubrique 5.\n"
-#~ "                REF : page 102, rubrique 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED LanguageEncoding\n"
-#~ "                REF: Pages 56-57, section 5.3.\n"
-#~ msgstr ""
-#~ "      **ÉCHEC**  LanguageEncoding requis\n"
-#~ "                REF : pages 56 et 57, rubrique 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED LanguageVersion\n"
-#~ "                REF: Pages 57-58, section 5.3.\n"
-#~ msgstr ""
-#~ "      **ÉCHEC**  LanguageVersion requis\n"
-#~ "                REF : pages 57 et 58, rubrique 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Manufacturer\n"
-#~ "                REF: Pages 58-59, section 5.3.\n"
-#~ msgstr ""
-#~ "      **ÉCHEC**  Manufacturer requis\n"
-#~ "                REF : pages 58 et 59, rubrique 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ModelName\n"
-#~ "                REF: Pages 59-60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **ÉCHEC**  ModelName requis\n"
-#~ "                REF : pages 59 et 60, rubrique 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED NickName\n"
-#~ "                REF: Page 60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **ÉCHEC**  NickName requis\n"
-#~ "                REF : page 60, rubrique 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PCFileName\n"
-#~ "                REF: Pages 61-62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **ÉCHEC**  PCFileName requis\n"
-#~ "                REF : pages 61 et 62, rubrique 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PSVersion\n"
-#~ "                REF: Pages 62-64, section 5.3.\n"
-#~ msgstr ""
-#~ "      **ÉCHEC**  PSVersion requis\n"
-#~ "                REF : pages 62 à 64, rubrique 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageRegion\n"
-#~ "                REF: Page 100, section 5.14.\n"
-#~ msgstr ""
-#~ "      **ÉCHEC**  PageRegion requis\n"
-#~ "                REF : page 100, rubrique 5.14.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageSize\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 99, section 5.14.\n"
-#~ msgstr ""
-#~ "      **ÉCHEC**  PageSize requis\n"
-#~ "                REF : page 41, rubrique 5.\n"
-#~ "                REF : page 99, rubrique 5.14.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageSize\n"
-#~ "                REF: Pages 99-100, section 5.14.\n"
-#~ msgstr ""
-#~ "      **ÉCHEC**  PageSize requis\n"
-#~ "                REF : pages 99 et 100, rubrique 5.14.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PaperDimension for PageSize %s\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **ÉCHEC**  PaperDimension requis pour PageSize %s\n"
-#~ "                REF : page 41, rubrique 5.\n"
-#~ "                REF : page 103, rubrique 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Product\n"
-#~ "                REF: Page 62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **ÉCHEC**  Product requis\n"
-#~ "                REF : page 62, rubrique 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ShortNickName\n"
-#~ "                REF: Page 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "      **ÉCHEC**  ShortNickName requis\n"
-#~ "                REF : page 64 et 65, rubrique 5.3.\n"
-
-#~ msgid "    %d ERRORS FOUND\n"
-#~ msgstr "%d ERREURS TROUVÉES\n"
-
-#~ msgid ""
-#~ "    Bad %%%%BoundingBox: on line %d!\n"
-#~ "        REF: Page 39, %%%%BoundingBox:\n"
-#~ msgstr ""
-#~ "    %%%%BoundingBox erroné : %d en ligne.\n"
-#~ "        REF : page 39, %%%%BoundingBox :\n"
-
-#~ msgid ""
-#~ "    Bad %%%%Page: on line %d!\n"
-#~ "        REF: Page 53, %%%%Page:\n"
-#~ msgstr ""
-#~ "    %%%%Page erroné  : %d en ligne.\n"
-#~ "        REF : page 53, %%%%Page :\n"
-
-#~ msgid ""
-#~ "    Bad %%%%Pages: on line %d!\n"
-#~ "        REF: Page 43, %%%%Pages:\n"
-#~ msgstr ""
-#~ "    %%%%Pages erroné : %d en ligne.\n"
-#~ "        REF : page 43, %%%%Pages :\n"
-
-#~ msgid ""
-#~ "    Line %d is longer than 255 characters (%d)!\n"
-#~ "        REF: Page 25, Line Length\n"
-#~ msgstr ""
-#~ "    La ligne %d dépasse 255 caractères (%d).\n"
-#~ "        REF : page 25, longueur de ligne\n"
-
-#~ msgid ""
-#~ "    Missing %!PS-Adobe-3.0 on first line!\n"
-#~ "        REF: Page 17, 3.1 Conforming Documents\n"
-#~ msgstr ""
-#~ "    %!PS-Adobe-3.0 manquant à la première ligne.\n"
-#~ "        REF : page 17, 3.1 Uniformisation des documents\n"
-
-#~ msgid ""
-#~ "    Missing %%EndComments comment!\n"
-#~ "        REF: Page 41, %%EndComments\n"
-#~ msgstr ""
-#~ "    Commentaire %%EndComments manquant.\n"
-#~ "        REF : page 41, %%EndComments\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%BoundingBox: comment!\n"
-#~ "        REF: Page 39, %%BoundingBox:\n"
-#~ msgstr ""
-#~ "    %%BoundingBox manquant ou erroné : commentaire.\n"
-#~ "        REF : page 39, %%BoundingBox :\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%Page: comments!\n"
-#~ "        REF: Page 53, %%Page:\n"
-#~ msgstr ""
-#~ "    %%Page manquant ou erroné : commentaires.\n"
-#~ "        REF: page 53, %%Page :\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%Pages: comment!\n"
-#~ "        REF: Page 43, %%Pages:\n"
-#~ msgstr ""
-#~ "    %%Pages manquant ou erroné : commentaire.\n"
-#~ "        REF : page 43, %%Pages :\n"
-
-#~ msgid "    NO ERRORS FOUND\n"
-#~ msgstr "    AUCUNE ERREUR RENCONTRÉE\n"
-
-#~ msgid "    Saw %d lines that exceeded 255 characters!\n"
-#~ msgstr "    %d lignes dépassant 255 caractères rencontrées.\n"
-
-#~ msgid "    Too many %%BeginDocument comments!\n"
-#~ msgstr "    Commentaires %%BeginDocument trop nombreux.\n"
-
-#~ msgid "    Too many %%EndDocument comments!\n"
-#~ msgstr "    Commentaires %%EndDocument trop nombreux.\n"
-
-#~ msgid "    Warning: file contains binary data!\n"
-#~ msgstr "    Attention : le fichier contient des données binaires.\n"
-
-#~ msgid "    Warning: no %%EndComments comment in file!\n"
-#~ msgstr "    Attention : pas de commentaire %%EndComments dans le fichier.\n"
-
-#~ msgid "    Warning: obsolete DSC version %.1f in file!\n"
-#~ msgstr "    Attention : version DSC obsolète %.1f dans le fichier.\n"
-
-#~ msgid " FAIL\n"
-#~ msgstr " ÉCHEC\n"
-
-#~ msgid ""
-#~ " FAIL\n"
-#~ "      **FAIL**  Unable to open PPD file - %s\n"
-#~ msgstr ""
-#~ " ÉCHEC\n"
-#~ "      **ÉCHEC**  Impossible d’ouvrir le fichier - %s\n"
-
-#~ msgid ""
-#~ " FAIL\n"
-#~ "      **FAIL**  Unable to open PPD file - %s on line %d.\n"
-#~ msgstr ""
-#~ " ÉCHEC\n"
-#~ "      **ÉCHEC**  Impossible d’ouvrir le fichier - %s en ligne %d.\n"
-
-#~ msgid " PASS\n"
-#~ msgstr " VALIDE\n"
-
-#~ msgid "#10 Envelope"
-#~ msgstr "#10 Enveloppe"
-
-#~ msgid "#11 Envelope"
-#~ msgstr "#11 Enveloppe"
-
-#~ msgid "#12 Envelope"
-#~ msgstr "#12 Enveloppe"
-
-#~ msgid "#14 Envelope"
-#~ msgstr "#14 Enveloppe"
-
-#~ msgid "#9 Envelope"
-#~ msgstr "#9 Enveloppe"
-
-#~ msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes\n"
-#~ msgstr "%-6s %-10.10s %-4d %-10d %-27.27s %.0f octets\n"
-
-#~ msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes\n"
-#~ msgstr "%-7s %-7.7s %-7d %-31.31s %.0f octets\n"
-
-#~ msgid "%s accepting requests since %s\n"
-#~ msgstr "%s acceptant des requêtes depuis %s\n"
-
-#~ msgid "%s is not implemented by the CUPS version of lpc.\n"
-#~ msgstr "%s n’est pas implémenté par la version CUPS de lpc.\n"
-
-#~ msgid "%s is not ready\n"
-#~ msgstr "%s n’est pas prêt\n"
-
-#~ msgid "%s is ready\n"
-#~ msgstr "%s est prêt\n"
-
-#~ msgid "%s is ready and printing\n"
-#~ msgstr "%s est prêt et en cours d’impression\n"
-
-#~ msgid ""
-#~ "%s not accepting requests since %s -\n"
-#~ "\t%s\n"
-#~ msgstr ""
-#~ "%s n’acceptant pas de requêtes depuis %s -\n"
-#~ "\t%s\n"
-
-#~ msgid "%s not supported!"
-#~ msgstr "%s : opération non prise en charge."
-
-#~ msgid "%s/%s accepting requests since %s\n"
-#~ msgstr "%s%s acceptant des requêtes depuis %s\n"
-
-#~ msgid ""
-#~ "%s/%s not accepting requests since %s -\n"
-#~ "\t%s\n"
-#~ msgstr ""
-#~ "%s/%s n’acceptant pas de requêtes depuis %s -\n"
-#~ "\t%s\n"
-
-#~ msgid "%s: %-33.33s [job %d localhost]\n"
-#~ msgstr "%s : %-33.33s [tâche %d localhost]\n"
-
-#~ msgid "%s: %s failed: %s\n"
-#~ msgstr "%s : %s échoué : %s\n"
-
-#~ msgid "%s: Don't know what to do!\n"
-#~ msgstr "%s : aucune décision possible.\n"
-
-#~ msgid ""
-#~ "%s: Error - %s environment variable names non-existent destination \"%s"
-#~ "\"!\n"
-#~ msgstr ""
-#~ "%s : Erreur - %s destination non-existante des noms de variable "
-#~ "d’environnement « %s ».\n"
-
-#~ msgid "%s: Error - bad job ID!\n"
-#~ msgstr "%s : erreur - ID de tâche incorrect.\n"
-
-#~ msgid "%s: Error - cannot print files and alter jobs simultaneously!\n"
-#~ msgstr ""
-#~ "%s : erreur - ne peut pas imprimer les fichiers et modifier les tâches "
-#~ "simultanément.\n"
-
-#~ msgid ""
-#~ "%s: Error - cannot print from stdin if files or a job ID are provided!\n"
-#~ msgstr ""
-#~ "%s : erreur - ne peut pas imprimer depuis stdin si les fichiers ou l’ID "
-#~ "de tâche sont fournis.\n"
-
-#~ msgid "%s: Error - expected character set after '-S' option!\n"
-#~ msgstr "%s : erreur - jeu de caractères attendu après l’option « -S ».\n"
-
-#~ msgid "%s: Error - expected content type after '-T' option!\n"
-#~ msgstr "%s : erreur - type de contenu attendu après l’option « -T ».\n"
-
-#~ msgid "%s: Error - expected copies after '-n' option!\n"
-#~ msgstr "%s : erreur - copies attendues après l’option « -n ».\n"
-
-#~ msgid "%s: Error - expected copy count after '-#' option!\n"
-#~ msgstr "%s : erreur - nombre de copies attendu après l’option « -# ».\n"
-
-#~ msgid "%s: Error - expected destination after '-P' option!\n"
-#~ msgstr "%s : erreur - destination attendue après l’option « -P ».\n"
-
-#~ msgid "%s: Error - expected destination after '-b' option!\n"
-#~ msgstr "%s : erreur - destination attendue après l’option « -b ».\n"
-
-#~ msgid "%s: Error - expected destination after '-d' option!\n"
-#~ msgstr "%s : erreur - destination attendue après l’option « -d ».\n"
-
-#~ msgid "%s: Error - expected form after '-f' option!\n"
-#~ msgstr "%s : erreur - formulaire attendu après l’option « -f ».\n"
-
-#~ msgid "%s: Error - expected hold name after '-H' option!\n"
-#~ msgstr "%s : erreur - nom de maintien attendu après l’option « -H ».\n"
-
-#~ msgid "%s: Error - expected hostname after '-H' option!\n"
-#~ msgstr "%s : erreur - nom d’hôte attendu après l’option « -H ».\n"
-
-#~ msgid "%s: Error - expected hostname after '-h' option!\n"
-#~ msgstr "%s : erreur - nom d’hôte attendu après l’option « -h ».\n"
-
-#~ msgid "%s: Error - expected mode list after '-y' option!\n"
-#~ msgstr "%s : erreur - liste des modes attendue après l’option « -y ».\n"
-
-#~ msgid "%s: Error - expected name after '-%c' option!\n"
-#~ msgstr "%s : erreur - nom attendu après l’option « -%c ».\n"
-
-#~ msgid "%s: Error - expected option string after '-o' option!\n"
-#~ msgstr "%s : erreur - chaîne d’option attendue après l’option « -o ».\n"
-
-#~ msgid "%s: Error - expected page list after '-P' option!\n"
-#~ msgstr "%s : erreur - liste de pages attendue après l’option « -P ».\n"
-
-#~ msgid "%s: Error - expected priority after '-%c' option!\n"
-#~ msgstr "%s : erreur - priorité attendue après l’option « -%c ».\n"
-
-#~ msgid "%s: Error - expected reason text after '-r' option!\n"
-#~ msgstr "%s : erreur - raison attendue après l’option « -r ».\n"
-
-#~ msgid "%s: Error - expected title after '-t' option!\n"
-#~ msgstr "%s : erreur - titre attendu après l’option « -t ».\n"
-
-#~ msgid "%s: Error - expected username after '-U' option!\n"
-#~ msgstr "%s : erreur - nom d’utilisateur attendu après l’option « -U.\n"
-
-#~ msgid "%s: Error - expected username after '-u' option!\n"
-#~ msgstr "%s : erreur - nom d’utilisateur attendu après l’option « -u ».\n"
-
-#~ msgid "%s: Error - expected value after '-%c' option!\n"
-#~ msgstr "%s : erreur - valeur attendue après l’option « -%c ».\n"
-
-#~ msgid ""
-#~ "%s: Error - need \"completed\", \"not-completed\", or \"all\" after '-W' "
-#~ "option!\n"
-#~ msgstr ""
-#~ "%s : erreur - « terminé », « pas terminé » ou « tout » nécessaire après "
-#~ "l’option « -W ».\n"
-
-#~ msgid "%s: Error - no default destination available.\n"
-#~ msgstr "%s : erreur - aucune destination par défaut disponible.\n"
-
-#~ msgid "%s: Error - priority must be between 1 and 100.\n"
-#~ msgstr "%s : erreur - la priorité doit être comprise entre 1 et 100.\n"
-
-#~ msgid "%s: Error - scheduler not responding!\n"
-#~ msgstr "%s: Erreur - le programmateur ne répond pas.\n"
-
-#~ msgid "%s: Error - too many files - \"%s\"\n"
-#~ msgstr "%s : erreur - fichiers trop nombreux - « %s »\n"
-
-#~ msgid "%s: Error - unable to access \"%s\" - %s\n"
-#~ msgstr "%s : erreur - impossible d’accéder à « %s » - %s"
-
-#~ msgid "%s: Error - unable to queue from stdin - %s\n"
-#~ msgstr ""
-#~ "%s : erreur - impossible de mettre en file d’attente depuis stdin - %s\n"
-
-#~ msgid "%s: Error - unknown destination \"%s\"!\n"
-#~ msgstr "%s : erreur - destination inconnue « %s ».\n"
-
-#~ msgid "%s: Error - unknown destination \"%s/%s\"!\n"
-#~ msgstr "%s : erreur - destination inconnue « %s/%s ».\n"
-
-#~ msgid "%s: Error - unknown option '%c'!\n"
-#~ msgstr "%s : erreur - option inconnue « -%c ».\n"
-
-#~ msgid "%s: Error - unknown option '%s'!\n"
-#~ msgstr "%s : erreur - option inconnue « -%s ».\n"
-
-#~ msgid "%s: Expected job ID after '-i' option!\n"
-#~ msgstr "%s : erreur - ID de tâche attendu après l’option « -i ».\n"
-
-#~ msgid "%s: Filter \"%s\" not available: %s\n"
-#~ msgstr "%s : filtre « %s » indisponible : %s\n"
-
-#~ msgid "%s: Invalid destination name in list \"%s\"!\n"
-#~ msgstr "%s : nom de destination dans la liste « %s »  non valide.\n"
-
-#~ msgid "%s: Invalid filter string \"%s\"\n"
-#~ msgstr "%s : chaîne de filtre « %s » non valide"
-
-#~ msgid "%s: Need job ID ('-i jobid') before '-H restart'!\n"
-#~ msgstr ""
-#~ "%s : identifiant de tâche  (« -i jobid ») nécessaire avant « -H restart ».\n"
-
-#~ msgid "%s: No filter to convert from %s/%s to %s/%s!\n"
-#~ msgstr "%s : aucun filtre pour convertir %s/%s en %s/%s.\n"
-
-#~ msgid "%s: Operation failed: %s\n"
-#~ msgstr "%s : l’opération a échoué : %s\n"
-
-#~ msgid "%s: Sorry, no encryption support compiled in!\n"
-#~ msgstr ""
-#~ "%s : désolé, aucune prise en charge du chiffrement incluse dans la "
-#~ "compilation.\n"
-
-#~ msgid "%s: Unable to connect to server\n"
-#~ msgstr "%s : Connexion impossible au serveur\n"
-
-#~ msgid "%s: Unable to contact server!\n"
-#~ msgstr "%s : impossible de contacter le serveur.\n"
-
-#~ msgid "%s: Unable to determine MIME type of \"%s\"!\n"
-#~ msgstr " %s : impossible de déterminer le type MIME de « %s ».\n"
-
-#~ msgid "%s: Unable to open %s - %s\n"
-#~ msgstr "%s : impossible d’ouvrir %s - %s\n"
-
-#~ msgid "%s: Unable to open %s - %s on line %d.\n"
-#~ msgstr "%s : impossible d’ouvrir %s - %s à la ligne %d."
-
-#~ msgid "%s: Unable to open %s: %s\n"
-#~ msgstr "%s : impossible d’ouvrir %s : %s\n"
-
-#~ msgid "%s: Unable to open PPD file: %s on line %d\n"
-#~ msgstr "%s : impossible d’ouvrir le fichier PPD : %s à la ligne %d\n"
-
-#~ msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"!\n"
-#~ msgstr ""
-#~ "%s : impossible de lire la base de données MIME à partir de « %s » ou « %"
-#~ "s ».\n"
-
-#~ msgid "%s: Unknown destination \"%s\"!\n"
-#~ msgstr "%s : destination inconnue « %s ».\n"
-
-#~ msgid "%s: Unknown destination MIME type %s/%s!\n"
-#~ msgstr "%s : destination inconnue du type MIME %s/%s.\n"
-
-#~ msgid "%s: Unknown option '%c'!\n"
-#~ msgstr "%s : option inconnue « %c ».\n"
-
-#~ msgid "%s: Unknown source MIME type %s/%s!\n"
-#~ msgstr "%s : source inconnue du type MIME %s/%s.\n"
-
-#~ msgid ""
-#~ "%s: Warning - '%c' format modifier not supported - output may not be "
-#~ "correct!\n"
-#~ msgstr ""
-#~ "%s : avertissement - modification de format « %c » non prise en charge - "
-#~ "la sortie risque d’être incorrecte.\n"
-
-#~ msgid "%s: Warning - character set option ignored!\n"
-#~ msgstr "%s : avertissement - option du jeu de caractères ignorée.\n"
-
-#~ msgid "%s: Warning - content type option ignored!\n"
-#~ msgstr "%s : avertissement - option du type de contenu ignorée.\n"
-
-#~ msgid "%s: Warning - form option ignored!\n"
-#~ msgstr "%s : avertissement - option de formulaire ignorée.\n"
-
-#~ msgid "%s: Warning - mode option ignored!\n"
-#~ msgstr "%s : avertissement - option de mode ignorée.\n"
-
-#~ msgid ""
-#~ "%s: error - %s environment variable names non-existent destination \"%s"
-#~ "\"!\n"
-#~ msgstr ""
-#~ "%s : erreur - %s destination non-existante des noms de variable "
-#~ "d’environnement « %s ».\n"
-
-#~ msgid "%s: error - expected option=value after '-o' option!\n"
-#~ msgstr "%s : erreur - « option=valeur » attendu après l’option « -o ».\n"
-
-#~ msgid "%s: error - no default destination available.\n"
-#~ msgstr "%s : erreur - aucune destination par défaut disponible.\n"
-
-#~ msgid "10 x 11\""
-#~ msgstr "10 x 11\""
-
-#~ msgid "10 x 13\""
-#~ msgstr "10 x 13\""
-
-#~ msgid "10 x 14\""
-#~ msgstr "10 x 14\""
-
-#~ msgid "12 x 11\""
-#~ msgstr "12 x 11\""
-
-#~ msgid "15 x 11\""
-#~ msgstr "15 x 11\""
-
-#~ msgid "600 DPI Grayscale"
-#~ msgstr "600 ppp (niveaux de gris)"
-
-#~ msgid "60x720dpi"
-#~ msgstr "60 x 720 ppp"
-
-#~ msgid "7 x 9\""
-#~ msgstr "7 x 9\""
-
-#~ msgid "8 x 10\""
-#~ msgstr "8 x 10\""
-
-#~ msgid "9 x 11\""
-#~ msgstr "9 x 11\""
-
-#~ msgid "9 x 12\""
-#~ msgstr "9 x 12\""
-
-#~ msgid "?Invalid help command unknown\n"
-#~ msgstr "?Commande inconnue d’aide\n"
-
-#~ msgid "A Samba password is required to export printer drivers!"
-#~ msgstr ""
-#~ "Un mot de passe SAMBA est nécessaire pour exporter les gestionnaires "
-#~ "d’impression."
-
-#~ msgid "A Samba username is required to export printer drivers!"
-#~ msgstr ""
-#~ "Un nom d’utilisateur SAMBA est nécessaire pour exporter les gestionnaires "
-#~ "d’impression."
-
-#~ msgid "A class named \"%s\" already exists!"
-#~ msgstr "Une classe porte déjà le nom de « %s »."
-
-#~ msgid "A printer named \"%s\" already exists!"
-#~ msgstr "Une imprimante porte déjà le nom de « %s »."
-
-#~ msgid "A3 (Oversize)"
-#~ msgstr "A3 (format supérieur)"
-
-#~ msgid "A4 (Oversize)"
-#~ msgstr "A4 (format supérieur)"
-
-#~ msgid "A4 (Small)"
-#~ msgstr "A4 (petit format)"
-
-#~ msgid "A5 (Oversize)"
-#~ msgstr "A5 (format supérieur)"
-
-#~ msgid "ARCH A"
-#~ msgstr "ARCH A"
-
-#~ msgid "ARCH B"
-#~ msgstr "ARCH B"
-
-#~ msgid "Attempt to set %s printer-state to bad value %d!"
-#~ msgstr ""
-#~ "Tentative d’attribution d’une valeur erronée au paramètre « printer-"
-#~ "state » %s : %d."
-
-#~ msgid "Attribute groups are out of order (%x < %x)!"
-#~ msgstr "Les groupes d’attributs ne sont pas dans le bon ordre (%x < %x)."
-
-#~ msgid "Bad device URI \"%s\"!\n"
-#~ msgstr "URI de périphérique « %s » incorrect.\n"
-
-#~ msgid "Bad device-uri \"%s\"!"
-#~ msgstr "device-uri « %s » incorrect."
-
-#~ msgid "Bad device-uri scheme \"%s\"!"
-#~ msgstr "Schéma de device-uri « %s » incorrect."
-
-#~ msgid "Bad document-format \"%s\"!"
-#~ msgstr "document-format « %s » incorrect."
-
-#~ msgid "Bad filename buffer!"
-#~ msgstr "Tampon des noms de fichier incorrect."
-
-#~ msgid "Bad font attribute: %s\n"
-#~ msgstr "Attribut de police incorrect : %s\n"
-
-#~ msgid "Bad job-priority value!"
-#~ msgstr "Valeur de job-priority incorrecte."
-
-#~ msgid "Bad job-sheets value \"%s\"!"
-#~ msgstr "Valeur de job-sheets « %s » incorrecte."
-
-#~ msgid "Bad job-sheets value type!"
-#~ msgstr "Type de job-sheets incorrect."
-
-#~ msgid "Bad job-state value!"
-#~ msgstr "Valeur de job-state incorrecte."
-
-#~ msgid "Bad job-uri attribute \"%s\"!"
-#~ msgstr "Attribut de job-uri « %s » incorrect."
-
-#~ msgid "Bad notify-pull-method \"%s\"!"
-#~ msgstr "Paramètre notify-pull-method « %s » incorrect."
-
-#~ msgid "Bad notify-recipient-uri URI \"%s\"!"
-#~ msgstr "URI de notify-recipient-uri « %s » incorrect."
-
-#~ msgid "Bad option + choice on line %d!"
-#~ msgstr "Couple option/choix incorrect à la ligne %d.\n"
-
-#~ msgid "Bad port-monitor \"%s\"!"
-#~ msgstr "port-monitor « %s » incorrect"
-
-#~ msgid "Bad printer-state value %d!"
-#~ msgstr "Valeur de printer-state %d incorrecte."
-
-#~ msgid "Bad request version number %d.%d!"
-#~ msgstr "Numéro de version de requête %d.%d incorrect."
-
-#~ msgid "Bad subscription ID!"
-#~ msgstr "Identifiant d’abonnement incorrect."
-
-#~ msgid "C0 Envelope"
-#~ msgstr "C0 Enveloppe"
-
-#~ msgid "C1 Envelope"
-#~ msgstr "C1 Enveloppe"
-
-#~ msgid "C2 Envelope"
-#~ msgstr "C2 Enveloppe"
-
-#~ msgid "C3 Envelope"
-#~ msgstr "C3 Enveloppe"
-
-#~ msgid "C4"
-#~ msgstr "C4"
-
-#~ msgid "C4 Envelope"
-#~ msgstr "C4 Enveloppe"
-
-#~ msgid "C5"
-#~ msgstr "C5"
-
-#~ msgid "C5 Envelope"
-#~ msgstr "C5 Enveloppe"
-
-#~ msgid "C6"
-#~ msgstr "C6"
-
-#~ msgid "C6 Envelope"
-#~ msgstr "C6 Enveloppe"
-
-#~ msgid "C65 Envelope"
-#~ msgstr "C65 Enveloppe"
-
-#~ msgid "C7 Envelope"
-#~ msgstr "C7 Enveloppe"
-
-#~ msgid "Character set \"%s\" not supported!"
-#~ msgstr "Jeu de caractères « %s » non pris en charge."
-
-#~ msgid "Chou3 Envelope"
-#~ msgstr "Chou3 Enveloppe"
-
-#~ msgid "Chou4 Envelope"
-#~ msgstr "Chou4 Enveloppe"
-
-#~ msgid ""
-#~ "Commands may be abbreviated.  Commands are:\n"
-#~ "\n"
-#~ "exit    help    quit    status  ?\n"
-#~ msgstr ""
-#~ "Les commandes peuvent être abrégées. Celles-ci correspondent à :\n"
-#~ "\n"
-#~ "exit    help    quit    status  ?\n"
-
-#~ msgid "Could not scan type \"%s\"!"
-#~ msgstr "Impossible d’analyser le type « %s »."
-
-#~ msgid "Cover open."
-#~ msgstr "Couvercle ouvert."
-
-#~ msgid "DL"
-#~ msgstr "DL"
-
-#~ msgid "DL Envelope"
-#~ msgstr "DL Enveloppe"
-
-#~ msgid "Developer almost empty."
-#~ msgstr "Développeur presque vide."
-
-#~ msgid "Developer empty!"
-#~ msgstr "Développeur vide."
-
-#~ msgid ""
-#~ "Device: uri = %s\n"
-#~ "        class = %s\n"
-#~ "        info = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ "        location = %s\n"
-#~ msgstr ""
-#~ "Périphérique : uri = %s\n"
-#~ "        class = %s\n"
-#~ "        info = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ "        location = %s\n"
-
-#~ msgid "Document %d not found in job %d."
-#~ msgstr "Document %d introuvable dans la tâche %d."
-
-#~ msgid "Door open."
-#~ msgstr "Capot ouvert."
-
-#~ msgid "Double Postcard"
-#~ msgstr "Carte postale double"
-
-#~ msgid "EMERG: Unable to allocate memory for page info: %s\n"
-#~ msgstr ""
-#~ "EMERG: impossible d’allouer de la mémoire pour les informations de la "
-#~ "page : %s\n"
-
-#~ msgid "EMERG: Unable to allocate memory for pages array: %s\n"
-#~ msgstr ""
-#~ "EMERG: impossible d’allouer de la mémoire pour l’étalage des pages : %s\n"
-
-#~ msgid "ERROR: Bad %%BoundingBox: comment seen!\n"
-#~ msgstr "ERROR: %%BoundingBox erroné : commentaire vu.\n"
-
-#~ msgid "ERROR: Bad %%IncludeFeature: comment!\n"
-#~ msgstr "ERROR: %%IncludeFeature erroné : commentaire.\n"
-
-#~ msgid "ERROR: Bad %%Page: comment in file!\n"
-#~ msgstr "ERROR: %%Page erroné : commentaire dans le fichier.\n"
-
-#~ msgid "ERROR: Bad %%PageBoundingBox: comment in file!\n"
-#~ msgstr "ERROR: %%PageBoundingBox erroné : commentaire dans le fichier.\n"
-
-#~ msgid "ERROR: Bad SCSI device file \"%s\"!\n"
-#~ msgstr "ERROR: fichier de périphérique SCSI « %s » erroné.\n"
-
-#~ msgid "ERROR: Bad charset file %s\n"
-#~ msgstr "ERROR: fichier de jeu de caractères %s erroné\n"
-
-#~ msgid "ERROR: Bad charset type %s\n"
-#~ msgstr "ERROR: type de jeu de caractères %s erroné\n"
-
-#~ msgid "ERROR: Bad columns value %d!\n"
-#~ msgstr "ERROR: valeur de colonnes %d erronée.\n"
-
-#~ msgid "ERROR: Bad cpi value %f!\n"
-#~ msgstr "ERROR: valeur de cpi %f erronée.\n"
-
-#~ msgid "ERROR: Bad font description line: %s\n"
-#~ msgstr "ERROR: ligne de description de police erronée : %s\n"
-
-#~ msgid "ERROR: Bad lpi value %f!\n"
-#~ msgstr "ERROR: valeur de lpi %f erronée.\n"
-
-#~ msgid "ERROR: Bad page setup!\n"
-#~ msgstr "ERROR: format d’impression erroné.\n"
-
-#~ msgid "ERROR: Bad text direction %s\n"
-#~ msgstr "ERROR: direction de texte %s erronée\n"
-
-#~ msgid "ERROR: Bad text width %s\n"
-#~ msgstr "ERROR: largeur de texte %s erronée\n"
-
-#~ msgid "ERROR: Destination printer does not exist!\n"
-#~ msgstr "ERROR: l’imprimante de destination n’existe pas.\n"
-
-#~ msgid "ERROR: Duplicate %%BoundingBox: comment seen!\n"
-#~ msgstr "ERROR: %%BoundingBox en double : commentaire vu.\n"
-
-#~ msgid "ERROR: Duplicate %%Pages: comment seen!\n"
-#~ msgstr "ERROR: %%Pages en double : commentaire vu.\n"
-
-#~ msgid "ERROR: Empty print file!\n"
-#~ msgstr "ERROR: fichier d’impression vide.\n"
-
-#~ msgid "ERROR: Error %d sending PAPSendData request: %s\n"
-#~ msgstr "ERROR: erreur %d lors de l’envoi de la requête PAPSendData : %s\n"
-
-#~ msgid "ERROR: Expected quoted string on line %d of %s!\n"
-#~ msgstr ""
-#~ "ERROR: chaîne entre guillemets droits attendue à la ligne %d sur %s.\n"
-
-#~ msgid "ERROR: Fatal USB error!\n"
-#~ msgstr "ERROR: erreur USB fatale.\n"
-
-#~ msgid "ERROR: Invalid HP-GL/2 command seen, unable to print file!\n"
-#~ msgstr ""
-#~ "ERROR: commande HP-GL/2 non valide détectée ; impossible d’imprimer le "
-#~ "fichier.\n"
-
-#~ msgid "ERROR: Missing %%EndProlog!\n"
-#~ msgstr "ERROR: %%EndProlog manquant.\n"
-
-#~ msgid "ERROR: Missing %%EndSetup!\n"
-#~ msgstr "ERROR: %%EndSetup manquant.\n"
-
-#~ msgid ""
-#~ "ERROR: Missing device URI on command-line and no DEVICE_URI environment "
-#~ "variable!\n"
-#~ msgstr ""
-#~ "ERROR: URI du périphérique manquant sur la ligne de commande et aucune "
-#~ "variable d’environnement DEVICE_URI.\n"
-
-#~ msgid "ERROR: Missing value on line %d of banner file!\n"
-#~ msgstr "ERROR: valeur manquante à la ligne %d du fichier de bannière.\n"
-
-#~ msgid ""
-#~ "ERROR: Need a msgid line before any translation strings on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ERROR: une ligne msgid est obligatoire avant toute chaîne de traduction à "
-#~ "la ligne %d sur %s.\n"
-
-#~ msgid "ERROR: No %%BoundingBox: comment in header!\n"
-#~ msgstr "ERROR: aucun %%BoundingBox : commentaire dans l’en-tête.\n"
-
-#~ msgid "ERROR: No %%Pages: comment in header!\n"
-#~ msgstr "ERROR: aucun %%Pages : commentaire dans l’en-tête.\n"
-
-#~ msgid ""
-#~ "ERROR: No device URI found in argv[0] or in DEVICE_URI environment "
-#~ "variable!\n"
-#~ msgstr ""
-#~ "ERROR: aucun URI trouvé pour le périphérique, dans argv[0] ou la variable "
-#~ "d’environnement DEVICE_URI.\n"
-
-#~ msgid "ERROR: No fonts in charset file %s\n"
-#~ msgstr ""
-#~ "ERROR: aucune police ne se trouve dans le fichier du jeu de caractères %"
-#~ "s\n"
-
-#~ msgid "ERROR: No pages found!\n"
-#~ msgstr "ERROR: aucune page trouvée.\n"
-
-#~ msgid "ERROR: Out of paper!\n"
-#~ msgstr "ERROR: plus de papier.\n"
-
-#~ msgid "ERROR: PRINTER environment variable not defined!\n"
-#~ msgstr "ERROR: variable d’environnement d’imprimante non définie.\n"
-
-#~ msgid "ERROR: Print file was not accepted (%s)!\n"
-#~ msgstr "ERROR: fichier d’impression non accepté (%s).\n"
-
-#~ msgid "ERROR: Printer not responding\n"
-#~ msgstr "ERROR: l’imprimante ne répond pas.\n"
-
-#~ msgid "ERROR: Printer not responding!\n"
-#~ msgstr "ERROR: l’imprimante ne répond pas.\n"
-
-#~ msgid "ERROR: Printer sent unexpected EOF\n"
-#~ msgstr "ERROR: l’imprimante a envoyé un code EOF inattendu.\n"
-
-#~ msgid "ERROR: Remote host did not accept control file (%d)\n"
-#~ msgstr "ERROR: l’hôte à distance n’a pas accepté le fichier contrôle (%d)\n"
-
-#~ msgid "ERROR: Remote host did not accept data file (%d)\n"
-#~ msgstr ""
-#~ "ERROR: l’hôte à distance n’a pas accepté le fichier de données (%d)\n"
-
-#~ msgid "ERROR: There was a timeout error while sending data to the printer\n"
-#~ msgstr ""
-#~ "ERROR: le délai d’attente a été dépassé lors de l’envoi de données à "
-#~ "l’imprimante.\n"
-
-#~ msgid "ERROR: Unable to add file %d to job: %s\n"
-#~ msgstr "ERROR: impossible d’ajouter le fichier %d à la tâche : %s\n"
-
-#~ msgid "ERROR: Unable to cancel job %d: %s\n"
-#~ msgstr "ERROR: impossible d’annuler la tâche %d : %s\n"
-
-#~ msgid "ERROR: Unable to copy PDF file"
-#~ msgstr "ERROR: impossible de copier le fichier PDF"
-
-#~ msgid "ERROR: Unable to create socket"
-#~ msgstr "ERROR: impossible de créer un socket"
-
-#~ msgid "ERROR: Unable to create temporary compressed print file: %s\n"
-#~ msgstr ""
-#~ "ERROR: impossible de créer un fichier d’impression temporaire compressé : "
-#~ "%s\n"
-
-#~ msgid "ERROR: Unable to create temporary file"
-#~ msgstr "ERROR: impossible de créer un fichier temporaire."
-
-#~ msgid "ERROR: Unable to create temporary file - %s.\n"
-#~ msgstr "ERROR: impossible de créer un fichier temporaire - %s.\n"
-
-#~ msgid "ERROR: Unable to create temporary file: %s\n"
-#~ msgstr "ERROR: impossible de créer un fichier temporaire : %s\n"
-
-#~ msgid "ERROR: Unable to exec pictwpstops: %s\n"
-#~ msgstr "ERROR: impossible d’exécuter pictwpstops : %s\n"
-
-#~ msgid "ERROR: Unable to execute gs program"
-#~ msgstr "ERROR: impossible d’exécuter le programme gs"
-
-#~ msgid "ERROR: Unable to execute pdftops program"
-#~ msgstr "ERROR: impossible d’exécuter le programme pdftops"
-
-#~ msgid "ERROR: Unable to fork pictwpstops: %s\n"
-#~ msgstr "ERROR: impossible d’effectuer le fork de pictwpstops : %s\n"
-
-#~ msgid "ERROR: Unable to get PAP request"
-#~ msgstr "ERROR: impossible d’obtenir la requête PAP"
-
-#~ msgid "ERROR: Unable to get PAP response"
-#~ msgstr "ERROR: impossible d’obtenir la réponse PAP"
-
-#~ msgid "ERROR: Unable to get PPD file for printer \"%s\" - %s.\n"
-#~ msgstr ""
-#~ "ERROR: impossible d’obtenir le fichier PPD pour l’imprimante « %s » - %s.\n"
-
-#~ msgid "ERROR: Unable to get default AppleTalk zone"
-#~ msgstr "ERROR: impossible de déterminer la zone AppleTalk par défaut"
-
-#~ msgid "ERROR: Unable to get job %d attributes (%s)!\n"
-#~ msgstr "ERROR: impossible d’obtenir les attributs %d de la tâche (%s).\n"
-
-#~ msgid "ERROR: Unable to get printer status (%s)!\n"
-#~ msgstr "ERROR: impossible de déterminer l’état de l’imprimante (%s).\n"
-
-#~ msgid "ERROR: Unable to locate printer '%s'!\n"
-#~ msgstr "ERROR: impossible de localiser l’imprimante « %s ».\n"
-
-#~ msgid "ERROR: Unable to look for PAP response"
-#~ msgstr "ERROR: impossible de rechercher une réponse PAP"
-
-#~ msgid "ERROR: Unable to lookup AppleTalk printers"
-#~ msgstr "ERROR: impossible de rechercher des imprimantes AppleTalk"
-
-#~ msgid "ERROR: Unable to make AppleTalk address"
-#~ msgstr "ERROR: impossible de générer une adresse AppleTalk"
-
-#~ msgid "ERROR: Unable to open \"%s\" - %s\n"
-#~ msgstr "ERROR: impossible d’ouvrir « %s » - %s\n"
-
-#~ msgid "ERROR: Unable to open %s: %s\n"
-#~ msgstr "ERROR: impossible d’ouvrir %s : %s\n"
-
-#~ msgid "ERROR: Unable to open banner file \"%s\" - %s\n"
-#~ msgstr "ERROR: impossible d’ouvrir le fichier de bannière « %s » - %s\n"
-
-#~ msgid "ERROR: Unable to open device file \"%s\": %s\n"
-#~ msgstr "ERROR: impossible d’ouvrir le fichier « %s » de périphérique : %s\n"
-
-#~ msgid "ERROR: Unable to open file \"%s\" - %s\n"
-#~ msgstr "ERROR: impossible d’ouvrir le fichier « %s » - %s\n"
-
-#~ msgid "ERROR: Unable to open file \"%s\": %s\n"
-#~ msgstr "ERROR: impossible d’ouvrir le fichier « %s » : %s\n"
-
-#~ msgid "ERROR: Unable to open image file for printing!\n"
-#~ msgstr ""
-#~ "ERROR: impossible d’ouvrir le fichier image en vue de l’impression.\n"
-
-#~ msgid "ERROR: Unable to open print file \"%s\": %s\n"
-#~ msgstr "ERROR: impossible d’ouvrir le fichier d’impression « %s » : %s\n"
-
-#~ msgid "ERROR: Unable to open print file %s - %s\n"
-#~ msgstr "ERROR: impossible d’ouvrir le fichier d’impression %s - %s\n"
-
-#~ msgid "ERROR: Unable to open print file %s: %s\n"
-#~ msgstr "ERROR: impossible d’ouvrir le fichier d’impression %s : %s\n"
-
-#~ msgid "ERROR: Unable to open temporary compressed print file: %s\n"
-#~ msgstr ""
-#~ "ERROR: impossible d’ouvrir le fichier d’impression temporaire compressé : "
-#~ "%s\n"
-
-#~ msgid "ERROR: Unable to open temporary file"
-#~ msgstr "ERROR: impossible d’ouvrir le fichier temporaire."
-
-#~ msgid "ERROR: Unable to print %d text columns!\n"
-#~ msgstr "ERROR: impossible d’imprimer %d colonnes de texte.\n"
-
-#~ msgid "ERROR: Unable to print %dx%d text page!\n"
-#~ msgstr "ERROR: impossible d’imprimer la page de texte en %d x %d.\n"
-
-#~ msgid "ERROR: Unable to read print data"
-#~ msgstr "ERROR: impossible de lire les données d’impression."
-
-#~ msgid "ERROR: Unable to read print data!\n"
-#~ msgstr "ERROR: impossible de lire les données d’impression.\n"
-
-#~ msgid "ERROR: Unable to reserve port"
-#~ msgstr "ERROR: impossible de réserver le port"
-
-#~ msgid "ERROR: Unable to seek to offset %ld in file - %s\n"
-#~ msgstr ""
-#~ "ERROR: impossible de chercher jusqu’au décalage %ld dans le fichier - %s\n"
-
-#~ msgid "ERROR: Unable to seek to offset %lld in file - %s\n"
-#~ msgstr ""
-#~ "ERROR: impossible de chercher jusqu’au décalage %lld dans le fichier - %"
-#~ "s\n"
-
-#~ msgid "ERROR: Unable to send LPD command"
-#~ msgstr "ERROR: impossible d’envoyer la commande LPD"
-
-#~ msgid "ERROR: Unable to send PAP tickle request"
-#~ msgstr "ERROR: impossible d’envoyer la requête de passage PAP"
-
-#~ msgid "ERROR: Unable to send initial PAP send data request"
-#~ msgstr ""
-#~ "ERROR: impossible d’envoyer la requête initiale de données d’envoi PAP"
-
-#~ msgid "ERROR: Unable to send print data (%d)\n"
-#~ msgstr "ERROR: impossible d’envoyer les données d’impression (%d)\n"
-
-#~ msgid "ERROR: Unable to send print data!\n"
-#~ msgstr "ERROR: impossible d’envoyer les données d’impression.\n"
-
-#~ msgid "ERROR: Unable to send print file to printer"
-#~ msgstr "ERROR: impossible d’envoyer le fichier d’impression à l’imprimante"
-
-#~ msgid "ERROR: Unable to send trailing nul to printer"
-#~ msgstr "ERROR: impossible d’envoyer la valeur Null de fin à l’imprimante"
-
-#~ msgid "ERROR: Unable to wait for pictwpstops: %s\n"
-#~ msgstr "ERROR: impossible d’attendre les pictwpstop : %s\n"
-
-#~ msgid "ERROR: Unable to write %d bytes to \"%s\": %s\n"
-#~ msgstr "ERROR: impossible d’écrire %d octets sur « %s » : %s\n"
-
-#~ msgid "ERROR: Unable to write %d bytes to printer!\n"
-#~ msgstr "ERROR: impossible d’écrire %d octets vers l’imprimante.\n"
-
-#~ msgid "ERROR: Unable to write control file"
-#~ msgstr "ERROR: impossible d’écrire le contenu du fichier de contrôle"
-
-#~ msgid "ERROR: Unable to write print data"
-#~ msgstr "ERROR: impossible d’écrire les données d’impression"
-
-#~ msgid "ERROR: Unable to write print data: %s\n"
-#~ msgstr ""
-#~ "ERROR: impossible d’écrire le contenu des données d’impression : %s\n"
-
-#~ msgid "ERROR: Unable to write raster data to driver!\n"
-#~ msgstr ""
-#~ "ERROR: impossible d’écrire de données de trame dans le gestionnaire.\n"
-
-#~ msgid "ERROR: Unable to write to temporary file"
-#~ msgstr "ERROR: impossible d’écrire dans le fichier temporaire"
-
-#~ msgid "ERROR: Unable to write uncompressed document data: %s\n"
-#~ msgstr ""
-#~ "ERROR: impossible d’écrire de données de document non compressées : %s\n"
-
-#~ msgid "ERROR: Unexpected text on line %d of %s!\n"
-#~ msgstr "ERROR: texte inattendu à la ligne %d sur %s.\n"
-
-#~ msgid "ERROR: Unknown encryption option value \"%s\"!\n"
-#~ msgstr "ERROR: valeur de l’option de chiffrement « %s » inconnue.\n"
-
-#~ msgid "ERROR: Unknown file order \"%s\"\n"
-#~ msgstr "ERROR: ordre de fichier « %s » inconnu\n"
-
-#~ msgid "ERROR: Unknown format character \"%c\"\n"
-#~ msgstr "ERROR: caractère de format « %c » inconnu\n"
-
-#~ msgid "ERROR: Unknown message catalog format for \"%s\"!\n"
-#~ msgstr "ERROR: format du catalogue de messages inconnu pour « %s ».\n"
-
-#~ msgid "ERROR: Unknown option \"%s\" with value \"%s\"!\n"
-#~ msgstr "ERROR: option « %s » inconnue avec la valeur « %s ».\n"
-
-#~ msgid "ERROR: Unknown print mode \"%s\"\n"
-#~ msgstr "ERROR: mode d’impression « %s » inconnu\n"
-
-#~ msgid "ERROR: Unknown version option value \"%s\"!\n"
-#~ msgstr "ERROR: inconnue version option value « %s ».\n"
-
-#~ msgid "ERROR: Unsupported brightness value %s, using brightness=100!\n"
-#~ msgstr ""
-#~ "ERROR: valeur de luminosité non prise en charge %s, brightness=100.\n"
-
-#~ msgid "ERROR: Unsupported gamma value %s, using gamma=1000!\n"
-#~ msgstr "ERROR: valeur de gamma non prise en charge %s, gamma=1000.\n"
-
-#~ msgid "ERROR: Unsupported number-up value %d, using number-up=1!\n"
-#~ msgstr "ERROR: valeur number-up non prise en charge %d, number-up=1.\n"
-
-#~ msgid ""
-#~ "ERROR: Unsupported number-up-layout value %s, using number-up-"
-#~ "layout=lrtb!\n"
-#~ msgstr ""
-#~ "ERROR: valeur de number-up-layout non prise en charge %s, number-up-"
-#~ "layout=lrtb.\n"
-
-#~ msgid "ERROR: Unsupported page-border value %s, using page-border=none!\n"
-#~ msgstr ""
-#~ "ERROR: valeur de page-border non prise en charge %s, page-border=none.\n"
-
-#~ msgid "ERROR: doc_printf overflow (%d bytes) detected, aborting!\n"
-#~ msgstr ""
-#~ "ERROR: dépassement de capacité de doc_printf (%d octets) détecté, "
-#~ "processus en cours d’interruption.\n"
-
-#~ msgid "ERROR: pdftops filter crashed on signal %d!\n"
-#~ msgstr ""
-#~ "ERROR: le filtre pdftops a cessé de fonctionner à l’issue du signal %d.\n"
-
-#~ msgid "ERROR: pdftops filter exited with status %d!\n"
-#~ msgstr ""
-#~ "ERROR: le filtre pdftops a indiqué l’état %d lors de sa fermeture.\n"
-
-#~ msgid "ERROR: pictwpstops exited on signal %d!\n"
-#~ msgstr "ERROR: pictwpstops a quitté au signal %d.\n"
-
-#~ msgid "ERROR: pictwpstops exited with status %d!\n"
-#~ msgstr "ERROR: pictwpstops a indiqué l’état %d lors de sa fermeture.\n"
-
-#~ msgid ""
-#~ "ERROR: recoverable: Unable to connect to printer; will retry in 30 "
-#~ "seconds...\n"
-#~ msgstr ""
-#~ "ERROR: problème réversible : impossible de se connecter à l’imprimante ; "
-#~ "nouvel essai dans 30 secondes…\n"
-
-#~ msgid "ERROR: select() failed"
-#~ msgstr "ERROR: la fonction select() a échoué"
-
-#~ msgid "ERROR: unable to stat print file"
-#~ msgstr "ERROR: impossible de lancer le fichier d’impression"
-
-#~ msgid "Empty PPD file!"
-#~ msgstr "Fichier PPD vide."
-
-#~ msgid "Error: need hostname after '-h' option!\n"
-#~ msgstr "Erreur : un nom d’hôte après l’option « -h » est nécessaire.\n"
-
-#~ msgid "FAIL\n"
-#~ msgstr "ÉCHEC\n"
-
-#~ msgid ""
-#~ "File device URIs have been disabled! To enable, see the FileDevice "
-#~ "directive in \"%s/cupsd.conf\"."
-#~ msgstr ""
-#~ "Les URI des périphériques de fichier ont été désactivés. Pour l’activer, "
-#~ "reportez-vous à la directive FileDevice dans « %s/cupsd.conf »."
-
-#~ msgid "Fuser temperature high!"
-#~ msgstr "Température de l’unité-fusible élevée."
-
-#~ msgid "Fuser temperature low!"
-#~ msgstr "Température de l’unité-fusible faible."
-
-#~ msgid "German FanFold"
-#~ msgstr "German FanFold"
-
-#~ msgid "German FanFold Legal"
-#~ msgstr "German FanFold Légal"
-
-#~ msgid "Got a printer-uri attribute but no job-id!"
-#~ msgstr "Attribut « printer-uri » trouvé mais sans attribut « job-id »"
-
-#~ msgid "INFO: AppleTalk disabled in System Preferences\n"
-#~ msgstr "INFO: AppleTalk désactivé dans les Préférences Système.\n"
-
-#~ msgid "INFO: AppleTalk disabled in System Preferences.\n"
-#~ msgstr "INFO: AppleTalk désactivé dans les Préférences Système.\n"
-
-#~ msgid "INFO: Canceling print job...\n"
-#~ msgstr "INFO: annulation de la tâche d’impression…\n"
-
-#~ msgid "INFO: Connected to printer...\n"
-#~ msgstr "INFO: connecté à l’imprimante…\n"
-
-#~ msgid "INFO: Connecting to printer...\n"
-#~ msgstr "INFO: connexion à l’imprimante…\n"
-
-#~ msgid "INFO: Control file sent successfully\n"
-#~ msgstr "INFO: fichier de contrôle envoyé correctement\n"
-
-#~ msgid "INFO: Data file sent successfully\n"
-#~ msgstr "INFO: fichier de données envoyé correctement\n"
-
-#~ msgid "INFO: Formatting page %d...\n"
-#~ msgstr "INFO: mise en forme de la page %d…\n"
-
-#~ msgid "INFO: Loading image file...\n"
-#~ msgstr "INFO: chargement du fichier image…\n"
-
-#~ msgid "INFO: Looking for printer...\n"
-#~ msgstr "INFO: recherche de l’imprimante…\n"
-
-#~ msgid "INFO: Opening connection\n"
-#~ msgstr "INFO: établissement de la connexion\n"
-
-#~ msgid "INFO: Print file sent, waiting for printer to finish...\n"
-#~ msgstr ""
-#~ "INFO: fichier d’impression envoyé, en attente de la fin de la tâche "
-#~ "d’impression…\n"
-
-#~ msgid "INFO: Printer busy; will retry in 10 seconds...\n"
-#~ msgstr "INFO: imprimante occupée ; nouvel essai dans 10 secondes…\n"
-
-#~ msgid "INFO: Printer busy; will retry in 30 seconds...\n"
-#~ msgstr "INFO: imprimante occupée ; nouvel essai dans 30 secondes…\n"
-
-#~ msgid "INFO: Printer busy; will retry in 5 seconds...\n"
-#~ msgstr "INFO: imprimante occupée ; nouvel essai dans 5 secondes…\n"
-
-#~ msgid "INFO: Printer does not support IPP/%d.%d, trying IPP/1.0...\n"
-#~ msgstr ""
-#~ "INFO: imprimante ne prenant pas en charge IPP/%d.%d ; tentative avec "
-#~ "IPP/1.0…\n"
-
-#~ msgid "INFO: Printer is busy; will retry in 5 seconds...\n"
-#~ msgstr "INFO: imprimante occupée ; nouvel essai dans 5 secondes…\n"
-
-#~ msgid "INFO: Printer is currently off-line.\n"
-#~ msgstr "INFO: imprimante actuellement déconnectée.\n"
-
-#~ msgid "INFO: Printer is currently offline.\n"
-#~ msgstr "INFO: imprimante actuellement hors ligne.\n"
-
-#~ msgid "INFO: Printer is now online.\n"
-#~ msgstr "INFO: imprimante en ligne à présent.\n"
-
-#~ msgid "INFO: Printer is offline.\n"
-#~ msgstr "INFO: imprimante hors ligne.\n"
-
-#~ msgid "INFO: Printer not connected; will retry in 30 seconds...\n"
-#~ msgstr "INFO: imprimante non connectée ; nouvel essai dans 30 secondes…\n"
-
-#~ msgid "INFO: Printing page %d, %d%% complete...\n"
-#~ msgstr "INFO: impression de la page %d, %d %% accompli…\n"
-
-#~ msgid "INFO: Printing page %d...\n"
-#~ msgstr "INFO: impression de la page %d…\n"
-
-#~ msgid "INFO: Ready to print.\n"
-#~ msgstr "INFO: prêt pour l’impression.\n"
-
-#~ msgid "INFO: Sending control file (%lu bytes)\n"
-#~ msgstr "INFO: envoi du fichier de contrôle (%lu octets)\n"
-
-#~ msgid "INFO: Sending control file (%u bytes)\n"
-#~ msgstr "INFO: envoi du fichier de contrôle (%u octets)\n"
-
-#~ msgid "INFO: Sending data\n"
-#~ msgstr "INFO: envoi des données\n"
-
-#~ msgid "INFO: Sending data file (%ld bytes)\n"
-#~ msgstr "INFO: envoi du fichier de données (%ld octets)\n"
-
-#~ msgid "INFO: Sending data file (%lld bytes)\n"
-#~ msgstr "INFO: envoi du fichier de données (%lld octets)\n"
-
-#~ msgid "INFO: Sending print data...\n"
-#~ msgstr "INFO: envoi des données d’impression…\n"
-
-#~ msgid "INFO: Sent print file, %ld bytes...\n"
-#~ msgstr "INFO: fichier d’impression envoyé, %ld octets…\n"
-
-#~ msgid "INFO: Sent print file, %lld bytes...\n"
-#~ msgstr "INFO: fichier d’impression envoyé, %lld octets…\n"
-
-#~ msgid "INFO: Spooling LPR job, %.0f%% complete...\n"
-#~ msgstr "INFO: mise en attente de la tâche LPR, %.0f %% achevé…\n"
-
-#~ msgid ""
-#~ "INFO: Unable to contact printer, queuing on next printer in class...\n"
-#~ msgstr ""
-#~ "INFO: impossible d’entrer en contact avec l’imprimante, mise en file "
-#~ "d’attente sur l’imprimante suivante par ordre de classe…\n"
-
-#~ msgid "INFO: Using default AppleTalk zone \"%s\"\n"
-#~ msgstr "INFO: utilisation de la zone AppleTalk par défaut « %s »\n"
-
-#~ msgid "INFO: Waiting for job to complete...\n"
-#~ msgstr "INFO: en attente de la fin de la tâche…\n"
-
-#~ msgid "INFO: Waiting for printer to become available...\n"
-#~ msgstr "INFO: attente de disponibilité de l’imprimante…\n"
-
-#~ msgid "ISO B0"
-#~ msgstr "ISO B0"
-
-#~ msgid "ISO B1"
-#~ msgstr "ISO B1"
-
-#~ msgid "ISO B10"
-#~ msgstr "ISO B10"
-
-#~ msgid "ISO B2"
-#~ msgstr "ISO B2"
-
-#~ msgid "ISO B3"
-#~ msgstr "ISO B3"
-
-#~ msgid "ISO B4"
-#~ msgstr "ISO B4"
-
-#~ msgid "ISO B4 Envelope"
-#~ msgstr "ISO B4 Enveloppe"
-
-#~ msgid "ISO B5"
-#~ msgstr "ISO B5"
-
-#~ msgid "ISO B5 (Oversize)"
-#~ msgstr "ISO B5 (format supérieur)"
-
-#~ msgid "ISO B5 Envelope"
-#~ msgstr "ISO B5 Enveloppe"
-
-#~ msgid "ISO B6"
-#~ msgstr "ISO B6"
-
-#~ msgid "ISO B6 Envelope"
-#~ msgstr "ISO B6 Enveloppe"
-
-#~ msgid "ISO B7"
-#~ msgstr "ISO B7"
-
-#~ msgid "ISO B8"
-#~ msgstr "ISO B8"
-
-#~ msgid "ISO B9"
-#~ msgstr "ISO B9"
-
-#~ msgid "Ink/toner almost empty."
-#~ msgstr "Encre/toner presque vide."
-
-#~ msgid "Ink/toner empty!"
-#~ msgstr "Encre/toner vide."
-
-#~ msgid "Ink/toner waste bin almost full."
-#~ msgstr "Poubelle d’encre/de toner presque remplie."
-
-#~ msgid "Ink/toner waste bin full!"
-#~ msgstr "Poubelle d’encre/de toner remplie."
-
-#~ msgid "Interlock open."
-#~ msgstr "Dispositif de verrouillage ouvert."
-
-#~ msgid "Invite Envelope"
-#~ msgstr "Enveloppe d’invitation"
-
-#~ msgid "Italian Envelope"
-#~ msgstr "Enveloppe à l’italienne"
-
-#~ msgid "Job #%d cannot be restarted - no files!"
-#~ msgstr "La tâche n°%d ne peut être redémarrée - aucun fichier."
-
-#~ msgid "Job #%d does not exist!"
-#~ msgstr "La tâche n°%d n’existe pas."
-
-#~ msgid "Job #%d is finished and cannot be altered!"
-#~ msgstr "La tâche n°%d est terminée et ne peut plus être modifiée."
-
-#~ msgid "Job #%d is not complete!"
-#~ msgstr "La tâche n°%d n’est pas terminée."
-
-#~ msgid "Job #%d is not held for authentication!"
-#~ msgstr "La tâche n°%d n’est pas en attente d’authentification."
-
-#~ msgid "Job #%d is not held!"
-#~ msgstr "La tâche n°%d n’est pas retenue."
-
-#~ msgid "Job #%s does not exist!"
-#~ msgstr "La tâche n°%s n’existe pas."
-
-#~ msgid "Job %d not found!"
-#~ msgstr "La tâche n°%d n’a pas été trouvée."
-
-#~ msgid "Job subscriptions cannot be renewed!"
-#~ msgstr "Les abonnements de tâche ne peuvent être renouvelés."
-
-#~ msgid "Kaku2 Envelope"
-#~ msgstr "Enveloppe Kaku2"
-
-#~ msgid "Kaku3 Envelope"
-#~ msgstr "Enveloppe Kaku3"
-
-#~ msgid "Language \"%s\" not supported!"
-#~ msgstr "Langue « %s » non prise en charge."
-
-#~ msgid "Media jam!"
-#~ msgstr "Bourrage papier"
-
-#~ msgid "Media tray almost empty."
-#~ msgstr "Bac à papier presque vide."
-
-#~ msgid "Media tray empty!"
-#~ msgstr "Bac à papier vide."
-
-#~ msgid "Media tray missing!"
-#~ msgstr "Bac manquant."
-
-#~ msgid "Media tray needs to be filled."
-#~ msgstr "Le bac à papier doit être rempli."
-
-#~ msgid "Missing document-number attribute!"
-#~ msgstr "Attribut « document-number » manquant."
-
-#~ msgid "Missing double quote on line %d!"
-#~ msgstr "Caractère ˝ manquant à la ligne %d."
-
-#~ msgid "Missing form variable!"
-#~ msgstr "Un champ du formulaire HTML n’a pas été rempli."
-
-#~ msgid "Missing notify-subscription-ids attribute!"
-#~ msgstr "Attribut notify-subscription-ids manquant"
-
-#~ msgid "Missing requesting-user-name attribute!"
-#~ msgstr "Attribut « requesting-user-name » manquant"
-
-#~ msgid "Missing required attributes!"
-#~ msgstr "Il manque des attributs indispensables."
-
-#~ msgid "Missing value on line %d!"
-#~ msgstr "Valeur manquante à la ligne %d.\n"
-
-#~ msgid ""
-#~ "Model:  name = %s\n"
-#~ "        natural_language = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ msgstr ""
-#~ "Modèle :  name = %s\n"
-#~ "        natural_language = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-
-#~ msgid "Monarch"
-#~ msgstr "Monarch"
-
-#~ msgid "Monarch Envelope"
-#~ msgstr "Enveloppe Monarch"
-
-#~ msgid "NOTICE: Print file accepted - job ID %d.\n"
-#~ msgstr "NOTICE: fichier d’impression accepté - identifiant de tâche %d.\n"
-
-#~ msgid "NOTICE: Print file accepted - job ID unknown.\n"
-#~ msgstr ""
-#~ "NOTICE: fichier d’impression accepté - identifiant de tâche inconnu.\n"
-
-#~ msgid "No PPD name!"
-#~ msgstr "Aucun nom PPD"
-
-#~ msgid "No Windows printer drivers are installed!"
-#~ msgstr "Aucun pilote d’impression Windows n’est installé."
-
-#~ msgid "No active jobs on %s!"
-#~ msgstr "Aucune tâche en cours sur « %s »."
-
-#~ msgid "No attributes in request!"
-#~ msgstr "Aucun attribut dans la requête."
-
-#~ msgid "No authentication information provided!"
-#~ msgstr "Aucune information d’authentification."
-
-#~ msgid "No default printer"
-#~ msgstr "Aucune imprimante par défaut"
-
-#~ msgid "No file!?!"
-#~ msgstr "Aucun fichier !?!"
-
-#~ msgid "No modification time!"
-#~ msgstr "Aucune heure de modification"
-
-#~ msgid "No printer name!"
-#~ msgstr "Aucun nom d’imprimante."
-
-#~ msgid "No printer-uri found for class!"
-#~ msgstr "Paramètre printer-uri absent pour la classe."
-
-#~ msgid "No printer-uri found!"
-#~ msgstr "Paramètre printer-uri absent."
-
-#~ msgid "No printer-uri in request!"
-#~ msgstr "Paramètre printer-uri absent de la requête."
-
-#~ msgid "No subscription attributes in request!"
-#~ msgstr "Aucun attribut d’abonnement dans la requête."
-
-#~ msgid "OPC almost at end-of-life."
-#~ msgstr "OPC presque en fin de vie."
-
-#~ msgid "OPC at end-of-life!"
-#~ msgstr "OPC en fin de vie."
-
-#~ msgid "Out of toner!"
-#~ msgstr "Plus de toner."
-
-#~ msgid "Output bin almost full."
-#~ msgstr "Corbeille de sortie presque pleine."
-
-#~ msgid "Output bin full!"
-#~ msgstr "Corbeille de sortie pleine."
-
-#~ msgid "Output for printer %s is sent to %s\n"
-#~ msgstr "La sortie de l’imprimante %s est envoyée à %s\n"
-
-#~ msgid "Output for printer %s is sent to remote printer %s on %s\n"
-#~ msgstr ""
-#~ "La sortie de l’imprimante %s est envoyée à l’imprimante distante %s sur %"
-#~ "s\n"
-
-#~ msgid "Output for printer %s/%s is sent to %s\n"
-#~ msgstr "La sortie de l’imprimante %s/%s est envoyée à %s\n"
-
-#~ msgid "Output for printer %s/%s is sent to remote printer %s on %s\n"
-#~ msgstr ""
-#~ "La sortie de l’imprimante %s/%s est envoyée à l’imprimante distante %s "
-#~ "sur %s\n"
-
-#~ msgid "Output tray missing!"
-#~ msgstr "Bac en sortie manquant."
-
-#~ msgid "PASS\n"
-#~ msgstr "VALIDE\n"
-
-#~ msgid "PRC1 Envelope"
-#~ msgstr "Enveloppe PRC1"
-
-#~ msgid "PRC10 Envelope"
-#~ msgstr "Enveloppe PRC10"
-
-#~ msgid "PRC2 Envelope"
-#~ msgstr "Enveloppe PRC2"
-
-#~ msgid "PRC3 Envelope"
-#~ msgstr "Enveloppe PRC3"
-
-#~ msgid "PRC32K (Oversize)"
-#~ msgstr "PRC32K (format supérieur)"
-
-#~ msgid "PRC4 Envelope"
-#~ msgstr "Enveloppe PRC4"
-
-#~ msgid "PRC5 Envelope"
-#~ msgstr "Enveloppe PRC5"
-
-#~ msgid "PRC6 Envelope"
-#~ msgstr "Enveloppe PRC6"
-
-#~ msgid "PRC7 Envelope"
-#~ msgstr "Enveloppe PRC7"
-
-#~ msgid "PRC8 Envelope"
-#~ msgstr "Enveloppe PRC8"
-
-#~ msgid "PRC9 Envelope"
-#~ msgstr "Enveloppe PRC9"
-
-#~ msgid "Personal Envelope"
-#~ msgstr "Enveloppe personnelle"
-
-#~ msgid "Printer offline."
-#~ msgstr "hors ligne."
-
-#~ msgid "Rank    Owner   Job     File(s)                         Total Size\n"
-#~ msgstr ""
-#~ "Classmt    Proprio   Tâche     Fichier(s)                         Taille "
-#~ "totale\n"
-
-#~ msgid ""
-#~ "Rank   Owner      Pri  Job        Files                       Total Size\n"
-#~ msgstr ""
-#~ "Classmt   Proprio Pri  Tâche   Fichiers                       Taille "
-#~ "totale\n"
-
-#~ msgid "Running command: %s %s -N -A %s -c '%s'\n"
-#~ msgstr "Commande en cours d’exécution : %s %s -N -A %s -c « %s »\n"
-
-#~ msgid "SCSI Printer"
-#~ msgstr "Imprimante SCSI"
-
-#~ msgid "Tabloid (Oversize)"
-#~ msgstr "Tabloïd (format supérieur)"
-
-#~ msgid "The notify-user-data value is too large (%d > 63 octets)!"
-#~ msgstr ""
-#~ "La valeur de l’attribut « notify-user-data » est trop grande (%d > 63 "
-#~ "octets)."
-
-#~ msgid "The printer or class is not shared!"
-#~ msgstr "L’imprimante ou la classe n’est pas partagée."
-
-#~ msgid "The printer or class was not found."
-#~ msgstr "L’imprimante ou la classe n’a pas été trouvée."
-
-#~ msgid "The printer-uri attribute is required!"
-#~ msgstr "L’attribut « job-printer-uri » est obligatoire."
-
-#~ msgid "Toner low."
-#~ msgstr "Niveau du toner faible."
-
-#~ msgid "Too many job-sheets values (%d > 2)!"
-#~ msgstr "Valeurs job-sheets trop nombreuses (%d > 2)."
-
-#~ msgid "Too many printer-state-reasons values (%d > %d)!"
-#~ msgstr "Valeurs printer-state-reasons trop nombreuses (%d > %d)."
-
-#~ msgid "US Executive"
-#~ msgstr "US Executive"
-
-#~ msgid "US Fanfold"
-#~ msgstr "US Fanfold"
-
-#~ msgid "US Legal (Oversize)"
-#~ msgstr "US Légal (format supérieur)"
-
-#~ msgid "US Letter (Oversize)"
-#~ msgstr "US Lettre (format supérieur)"
-
-#~ msgid "US Letter (Small)"
-#~ msgstr "US Lettre (format inférieur)"
-
-#~ msgid "Unable to add job for destination \"%s\"!"
-#~ msgstr "Impossible d’ajouter de tâche à la destination « %s »."
-
-#~ msgid "Unable to allocate memory for file types!"
-#~ msgstr "Impossible d’allouer de la mémoire pour les types de fichiers."
-
-#~ msgid "Unable to copy 64-bit CUPS printer driver files (%d)!"
-#~ msgstr ""
-#~ "Impossible de copier les fichiers des gestionnaires d’impression CUPS "
-#~ "64 bits (%d)."
-
-#~ msgid "Unable to copy 64-bit Windows printer driver files (%d)!"
-#~ msgstr ""
-#~ "Impossible de copier les fichiers des pilotes d’impression Windows "
-#~ "64 bits (%d)."
-
-#~ msgid "Unable to copy CUPS printer driver files (%d)!"
-#~ msgstr ""
-#~ "Impossible de copier les fichiers du gestionnaire d’impression CUPS (%d)."
-
-#~ msgid "Unable to copy PPD file - %s!"
-#~ msgstr "Impossible de copier le fichier PPD - « %s »."
-
-#~ msgid "Unable to copy PPD file!"
-#~ msgstr "Impossible de copier le fichier PPD."
-
-#~ msgid "Unable to copy Windows 2000 printer driver files (%d)!"
-#~ msgstr ""
-#~ "Impossible de copier les fichiers des pilotes d’impression pour Windows "
-#~ "2000 (%d)."
-
-#~ msgid "Unable to copy Windows 9x printer driver files (%d)!"
-#~ msgstr ""
-#~ "Impossible de copier les fichiers des pilotes d’impression pour Windows "
-#~ "9x (%d)."
-
-#~ msgid "Unable to copy interface script - %s!"
-#~ msgstr "Impossible de copier le script d’interface - « %s »."
-
-#~ msgid "Unable to create printer-uri!"
-#~ msgstr "Impossible de créer le paramètre printer-uri."
-
-#~ msgid "Unable to edit cupsd.conf files larger than 1MB!"
-#~ msgstr ""
-#~ "Impossible de modifier des fichiers cupsd.conf de taille supérieure à "
-#~ "1 Mo."
-
-#~ msgid "Unable to find destination for job!"
-#~ msgstr "Impossible de trouver la destination de la tâche."
-
-#~ msgid "Unable to find printer!\n"
-#~ msgstr "Impossible de retrouver l’imprimante.\n"
-
-#~ msgid "Unable to install Windows 2000 printer driver files (%d)!"
-#~ msgstr ""
-#~ "Impossible d’installer les fichiers des pilotes d’impression pour Windows "
-#~ "2000 (%d)."
-
-#~ msgid "Unable to install Windows 9x printer driver files (%d)!"
-#~ msgstr ""
-#~ "Impossible d’installer les fichiers des pilotes d’impression pour Windows "
-#~ "9x (%d)."
-
-#~ msgid "Unable to open document %d in job %d!"
-#~ msgstr "Impossible d’ouvrir le document %d dans la tâche %d."
-
-#~ msgid "Unable to run \"%s\": %s\n"
-#~ msgstr "Impossible d’exécuter « %s » : %s\n"
-
-#~ msgid "Unable to send command to printer driver!"
-#~ msgstr "Impossible d’envoyer la commande au gestionnaire de l’imprimante."
-
-#~ msgid "Unable to set Windows printer driver (%d)!"
-#~ msgstr ""
-#~ "Impossible d’installer les fichiers des pilotes d’impression pour Windows "
-#~ "(%d).\n"
-
-#~ msgid "Unable to use legacy USB class driver!\n"
-#~ msgstr "Impossible d’exploiter l’ancien gestionnaire de la classe USB.\n"
-
-#~ msgid "Unknown printer error (%s)!"
-#~ msgstr "Erreur inconnue relative à l’imprimante (%s)"
-
-#~ msgid "Unsupported character set \"%s\"!"
-#~ msgstr "Jeu de caractères « %s » non pris en charge."
-
-#~ msgid "Unsupported compression \"%s\"!"
-#~ msgstr "Compression « %s » non prise en charge"
-
-#~ msgid "Unsupported compression attribute %s!"
-#~ msgstr "Attribut de compression %s non pris en charge"
-
-#~ msgid "Unsupported format \"%s\"!"
-#~ msgstr "Format « %s » non pris en charge"
-
-#~ msgid "Unsupported format '%s'!"
-#~ msgstr "Format « %s » non pris en charge"
-
-#~ msgid "Unsupported format '%s/%s'!"
-#~ msgstr "Format « %s/%s » non pris en charge"
-
-#~ msgid ""
-#~ "Usage:\n"
-#~ "\n"
-#~ "    lpadmin [-h server] -d destination\n"
-#~ "    lpadmin [-h server] -x destination\n"
-#~ "    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m "
-#~ "model]\n"
-#~ "                       [-r remove-class] [-v device] [-D description]\n"
-#~ "                       [-P ppd-file] [-o name=value]\n"
-#~ "                       [-u allow:user,user] [-u deny:user,user]\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Usage :\n"
-#~ "\n"
-#~ "    lpadmin [-h serveur] -d destination\n"
-#~ "    lpadmin [-h serveur] -x destination\n"
-#~ "    lpadmin [-h serveur] -p imprimante [-c ajouter-classe] [-i interface] "
-#~ "[-m modèle]\n"
-#~ "                       [-r supprimer-classe] [-v périphérique] [-D "
-#~ "description]\n"
-#~ "                       [-P fichier-ppd] [-o nom=valeur]\n"
-#~ "                       [-u allow:utilisateur,utilisateur] [-u deny:"
-#~ "utilisateur,utilisateur]\n"
-#~ "\n"
-
-#~ msgid "Usage: %s job user title copies options [filename]\n"
-#~ msgstr "Usage : %s tâche utilisateur titre copies options [nom_fichier]\n"
-
-#~ msgid "Usage: %s job-id user title copies options [file]\n"
-#~ msgstr "Usage : %s id-tâche utilisateur titre copies options [fichier]\n"
-
-#~ msgid "Usage: %s job-id user title copies options file\n"
-#~ msgstr "Usage : %s id-tâche utilisateur titre copies options fichier\n"
-
-#~ msgid ""
-#~ "Usage: convert [ options ]\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "  -f filename          Set file to be converted (otherwise stdin)\n"
-#~ "  -o filename          Set file to be generated (otherwise stdout)\n"
-#~ "  -i mime/type         Set input MIME type (otherwise auto-typed)\n"
-#~ "  -j mime/type         Set output MIME type (otherwise application/pdf)\n"
-#~ "  -P filename.ppd      Set PPD file\n"
-#~ "  -a 'name=value ...'  Set option(s)\n"
-#~ "  -U username          Set username for job\n"
-#~ "  -J title             Set title\n"
-#~ "  -c copies            Set number of copies\n"
-#~ "  -u                   Remove the PPD file when finished\n"
-#~ "  -D                   Remove the input file when finished\n"
-#~ msgstr ""
-#~ "Usage : convert [ options ]\n"
-#~ "\n"
-#~ "Options :\n"
-#~ "\n"
-#~ "  -f nom_fichier          Définir le fichier à convertir (dans le cas "
-#~ "contraire, stdin)\n"
-#~ "  -o nom_fichier          Définir le fichier à générer (dans le cas "
-#~ "contraire, stdout)\n"
-#~ "  -i mime/type         Définir le type MIME en entrée (dans le cas "
-#~ "contraire, auto-typed)\n"
-#~ "  -j mime/type         Définir le type MIME en sortie (dans le cas "
-#~ "contraire, application/pdf)\n"
-#~ "  -P nom_fichier.ppd      Définir le fichier PPD\n"
-#~ "  -a 'nom=valeur …'  Définir la ou les options\n"
-#~ "  -U nom_utilisateur          Définir le nom d’utilisateur pour la tâche\n"
-#~ "  -J titre             Définir le titre\n"
-#~ "  -c copies            Définir le nombre de copies\n"
-#~ "  -u                   Supprimer le fichier PPD une fois terminé\n"
-#~ "  -D                   Supprimer le fichier en entrée une fois terminé\n"
-
-#~ msgid ""
-#~ "Usage: cupsaddsmb [options] printer1 ... printerN\n"
-#~ "       cupsaddsmb [options] -a\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "  -E               Encrypt the connection to the server\n"
-#~ "  -H samba-server  Use the named SAMBA server\n"
-#~ "  -U samba-user    Authenticate using the named SAMBA user\n"
-#~ "  -a               Export all printers\n"
-#~ "  -h cups-server   Use the named CUPS server\n"
-#~ "  -v               Be verbose (show commands)\n"
-#~ msgstr ""
-#~ "Usage : cupsaddsmb [options] imprimante1 … imprimanteN\n"
-#~ "       cupsaddsmb [options] -a\n"
-#~ "\n"
-#~ "Options :\n"
-#~ "  -E               Chiffrer la connexion au serveur\n"
-#~ "  -H serveur_samba  Faire appel au serveur SAMBA indiqué\n"
-#~ "  -U utilisateur_samba    S’authentifier par le biais de l’utilisateur "
-#~ "SAMBA indiqué\n"
-#~ "  -a               Exporter toutes les imprimantes\n"
-#~ "  -h serveur_cups   Faire appel au serveur CUPS indiqué\n"
-#~ "  -v               Activer la verbosité (afficher les commandes)\n"
-
-#~ msgid ""
-#~ "Usage: cupsctl [options] [param=value ... paramN=valueN]\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -E                      Enable encryption\n"
-#~ "    -U username             Specify username\n"
-#~ "    -h server[:port]        Specify server address\n"
-#~ "\n"
-#~ "    --[no-]debug-logging    Turn debug logging on/off\n"
-#~ "    --[no-]remote-admin     Turn remote administration on/off\n"
-#~ "    --[no-]remote-any       Allow/prevent access from the Internet\n"
-#~ "    --[no-]remote-printers  Show/hide remote printers\n"
-#~ "    --[no-]share-printers   Turn printer sharing on/off\n"
-#~ "    --[no-]user-cancel-any  Allow/prevent users to cancel any job\n"
-#~ msgstr ""
-#~ "Usage : cupsctl [options] [paramètre=valeur … paramètreN=valeurN]\n"
-#~ "\n"
-#~ "Options :\n"
-#~ "\n"
-#~ "    -E                      Activer le chiffrement\n"
-#~ "    -U nom_utilisateur             Indiquer le nom de l’utilisateur\n"
-#~ "    -h serveur[:port]        Indiquer l’adresse du serveur\n"
-#~ "\n"
-#~ "    --[no-]debug-logging    Activer/désactiver le listage de débogage\n"
-#~ "    --[no-]remote-admin     Activer/désactiver l’administration à "
-#~ "distance\n"
-#~ "    --[no-]remote-any       Autoriser/interdire l’accès à partir "
-#~ "d’Internet\n"
-#~ "    --[no-]remote-printers Afficher/masquer les imprimantes à distance\n"
-#~ "    --[no-]share-printers   Activer/désactiver le partage d’imprimante\n"
-#~ "    --[no-]user-cancel-any Autoriser/interdire aux utilisateurs d’annuler "
-#~ "toute tâche\n"
-
-#~ msgid ""
-#~ "Usage: cupsd [-c config-file] [-f] [-F] [-h] [-l]\n"
-#~ "\n"
-#~ "-c config-file      Load alternate configuration file\n"
-#~ "-f                  Run in the foreground\n"
-#~ "-F                  Run in the foreground but detach\n"
-#~ "-h                  Show this usage message\n"
-#~ "-l                  Run cupsd from launchd(8)\n"
-#~ msgstr ""
-#~ "Usage : cupsd [-c fichier_config] [-f] [-F] [-h] [-l]\n"
-#~ "\n"
-#~ "-c fichier_config Charger un autre fichier de configuration\n"
-#~ "-f                  Exécuter en premier plan\n"
-#~ "-F                  Exécuter en premier plan mais en mode détaché\n"
-#~ "-h                  Afficher le présent message d’usage des options\n"
-#~ "-l                  Exécuter cupsd à partir de launchd(8)\n"
-
-#~ msgid ""
-#~ "Usage: cupsfilter -m mime/type [ options ] filename\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "  -c cupsd.conf    Set cupsd.conf file to use\n"
-#~ "  -j job-id[,N]    Filter file N from the specified job (default is file "
-#~ "1)\n"
-#~ "  -n copies        Set number of copies\n"
-#~ "  -o name=value    Set option(s)\n"
-#~ "  -p filename.ppd  Set PPD file\n"
-#~ "  -t title         Set title\n"
-#~ msgstr ""
-#~ "Usage : cupsfilter -m mime/type [ options ] nom_fichier\n"
-#~ "\n"
-#~ "Options :\n"
-#~ "\n"
-#~ "  -c cupsd.conf    Définir le fichier cupsd.conf à utiliser\n"
-#~ "  -j id-tâche[,N]    Filtrer le fichier N sur la tâche indiquée (par "
-#~ "défaut, fichier 1)\n"
-#~ "  -n copies        Définir le nombre de copies\n"
-#~ "  -o nom=valeur    Définir la ou les options\n"
-#~ "  -p nom_fichier.ppd  Définir le fichier PPD\n"
-#~ "  -t titre         Définir le titre\n"
-
-#~ msgid ""
-#~ "Usage: cupstestdsc [options] filename.ps [... filename.ps]\n"
-#~ "       cupstestdsc [options] -\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -h       Show program usage\n"
-#~ "\n"
-#~ "    Note: this program only validates the DSC comments, not the "
-#~ "PostScript itself.\n"
-#~ msgstr ""
-#~ "Usage : cupstestdsc [options] nom_fichier.ps [… nom_fichier.ps]\n"
-#~ "       cupstestdsc [options] -\n"
-#~ "\n"
-#~ "Options :\n"
-#~ "\n"
-#~ "    -h       Afficher l’utilisation du programme\n"
-#~ "\n"
-#~ "    Remarque : ce programme ne fait que valider les commentaires DSC et "
-#~ "non le PostScript en tant que tel.\n"
-
-#~ msgid ""
-#~ "Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]\n"
-#~ "       program | cupstestppd [options] -\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -R root-directory    Set alternate root\n"
-#~ "    -W {all,none,constraints,defaults,duplex,filters,translations}\n"
-#~ "                         Issue warnings instead of errors\n"
-#~ "    -q                   Run silently\n"
-#~ "    -r                   Use 'relaxed' open mode\n"
-#~ "    -v                   Be slightly verbose\n"
-#~ "    -vv                  Be very verbose\n"
-#~ msgstr ""
-#~ "Usage : cupstestppd [options] nom_fichier1.ppd[.gz] [… nom_fichierN.ppd[."
-#~ "gz]]\n"
-#~ "       program | cupstestppd [options] -\n"
-#~ "\n"
-#~ "Options :\n"
-#~ "\n"
-#~ "    -R répertoire_root    Définir un autre utilisateur root\n"
-#~ "    -W {all,none,constraints,defaults,duplex,filters,translations}\n"
-#~ "                         Produire des avertissements plutôt que des "
-#~ "erreurs\n"
-#~ "    -q                   Exécuter sans sortie à l’utilisateur\n"
-#~ "    -r                   Utiliser le mode d’ouverture « sans contrainte »\n"
-#~ "    -v                   Produire une légère verbosité\n"
-#~ "    -vv                  Produire une importante verbosité\n"
-
-#~ msgid "Usage: lpmove job/src dest\n"
-#~ msgstr "Usage : lpmove job/src dest\n"
-
-#~ msgid ""
-#~ "Usage: lpoptions [-h server] [-E] -d printer\n"
-#~ "       lpoptions [-h server] [-E] [-p printer] -l\n"
-#~ "       lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
-#~ "       lpoptions [-h server] [-E] -x printer\n"
-#~ msgstr ""
-#~ "Usage : lpoptions [-h serveur] [-E] -d imprimante\n"
-#~ "       lpoptions [-h serveur] [-E] [-p imprimante] -l\n"
-#~ "       lpoptions [-h serveur] [-E] -p imprimante -o option[=valeur] …\n"
-#~ "       lpoptions [-h serveur] [-E] -x imprimante\n"
-
-#~ msgid "Usage: lppasswd [-g groupname]\n"
-#~ msgstr "Usage : lppasswd [-g nom_groupe]\n"
-
-#~ msgid ""
-#~ "Usage: lppasswd [-g groupname] [username]\n"
-#~ "       lppasswd [-g groupname] -a [username]\n"
-#~ "       lppasswd [-g groupname] -x [username]\n"
-#~ msgstr ""
-#~ "Usage : lppasswd [-g nom_groupe] [nom_utilisateur]\n"
-#~ "       lppasswd [-g nom_groupe] -a [nom_utilisateur]\n"
-#~ "       lppasswd [-g nom_groupe] -x [nom_utilisateur]\n"
-
-#~ msgid ""
-#~ "Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]\n"
-#~ msgstr ""
-#~ "Usage : lpq [-P dest] [-U nom_utilisateur] [-h nom_hôte[:port]] [-l] "
-#~ "[+intervalle]\n"
-
-#~ msgid ""
-#~ "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]\n"
-#~ "Options:\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "  -I include-dir       Add include directory to search path.\n"
-#~ "  -c catalog.po        Load the specified message catalog.\n"
-#~ "  -d output-dir        Specify the output directory.\n"
-#~ "  -l lang[,lang,...]   Specify the output language(s) (locale).\n"
-#~ "  -m                   Use the ModelName value as the filename.\n"
-#~ "  -t                   Test PPDs instead of generating them.\n"
-#~ "  -v                   Be verbose (more v's for more verbosity).\n"
-#~ "  -z                   Compress PPD files using GNU zip.\n"
-#~ "  --cr                 End lines with CR (Mac OS 9).\n"
-#~ "  --crlf               End lines with CR + LF (Windows).\n"
-#~ "  --lf                 End lines with LF (UNIX/Linux/Mac OS X).\n"
-#~ msgstr ""
-#~ "Usage : ppdc [options] nom_fichier.drv [ … nom_fichierN.drv ]\n"
-#~ "Options :\n"
-#~ "  -D nom=valeur        Définir la variable; dont le nom est indiqué; sur "
-#~ "la valeur fournie.\n"
-#~ "  -I inclure-rép       Inclure le répertoire au chemin de recherche.\n"
-#~ "  -c catalogue.po        Charger le catalogue indiqué de messages.\n"
-#~ "  -d sortie-rép        Préciser le répertoire de sortie.\n"
-#~ "  -l langue[,langue,…]   Préciser la ou les langues de sortie (locale).\n"
-#~ "  -m                   Utiliser la valeur de ModelName comme nom de "
-#~ "fichier.\n"
-#~ "  -t                   Tester les PPD au lieu de les générer.\n"
-#~ "  -v                   Activer la verbosité (lettres V complémentaires "
-#~ "pour augmenter la verbosité).\n"
-#~ "  -z                   Comprimer les fichiers PPD par la méthode de zip "
-#~ "GNU.\n"
-#~ "  --cr                 Fin de lignes à l’aide de CR (Mac OS 9).\n"
-#~ "  --crlf               Fin de lignes à l’aide de CR + LF (Windows).\n"
-#~ "  --lf                 Fin de lignes à l’aide de LF (UNIX/Linux/Mac OS "
-#~ "X).\n"
-
-#~ msgid ""
-#~ "Usage: ppdhtml [options] filename.drv >filename.html\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "Options:\n"
-#~ "  -I include-dir    Add include directory to search path.\n"
-#~ msgstr ""
-#~ "Usage : ppdhtml [options] nom_fichier.drv >nom_fichier.html\n"
-#~ "  -D nom=valeur        Définir la variable, dont le nom est précisé, sur "
-#~ "la valeur indiquée.\n"
-#~ "Options :\n"
-#~ "  -I inclure-rép    Inclure le répertoire au chemin de recherche.\n"
-
-#~ msgid ""
-#~ "Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Options:\n"
-#~ "  -I include-dir\n"
-#~ "  -o filename.drv\n"
-#~ msgstr ""
-#~ "Usage : ppdi [options] nom_fichier.ppd [ … nom_fichierN.ppd ]\n"
-#~ "Options :\n"
-#~ "  -I inclure-rép\n"
-#~ "  -o nom_fichier.drv\n"
-
-#~ msgid ""
-#~ "Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Options:\n"
-#~ "  -o filename.ppd[.gz]\n"
-#~ msgstr ""
-#~ "Usage : ppdmerge [options] nom_fichier.ppd [ … nom_fichierN.ppd ]\n"
-#~ "Options :\n"
-#~ "  -o nom_fichier.ppd[.gz]\n"
-
-#~ msgid ""
-#~ "Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]\n"
-#~ "Options:\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "  -I include-dir    Add include directory to search path.\n"
-#~ "  -v                Be verbose (more v's for more verbosity).\n"
-#~ msgstr ""
-#~ "Usage : ppdpo [options] -o nom_fichier.po nom_fichier.drv [ … "
-#~ "nom_fichierN.drv ]\n"
-#~ "Options :\n"
-#~ "  -D nom=valeur        Définir la variable, dont le nom est précisé, sur "
-#~ "la valeur indiquée.\n"
-#~ "  -I inclure-rép    Inclure le répertoire au chemin de recherche.\n"
-#~ "  -v                Activer la verbosité (lettres V complémentaires pour "
-#~ "augmenter la verbosité).\n"
-
-#~ msgid "Usage: snmp [host-or-ip-address]\n"
-#~ msgstr "Usage : snmp [hôte-ou-adresse-ip]\n"
-
-#~ msgid "WARNING: Adding only the first %d printers found"
-#~ msgstr "WARNING: ajout limité aux %d premières imprimantes trouvées"
-
-#~ msgid "WARNING: Boolean expected for waiteof option \"%s\"\n"
-#~ msgstr "WARNING: valeur booléenne attendue pour l’option waiteof « %s »\n"
-
-#~ msgid "WARNING: Failed to read side-channel request!\n"
-#~ msgstr "WARNING: échec de lecture de la requête de canal latéral.\n"
-
-#~ msgid "WARNING: Option \"%s\" cannot be included via IncludeFeature!\n"
-#~ msgstr ""
-#~ "WARNING: l’option « %s » ne peut être incluse par le biais "
-#~ "d’IncludeFeature.\n"
-
-#~ msgid "WARNING: Printer not responding\n"
-#~ msgstr "WARNING: l’imprimante ne répond pas.\n"
-
-#~ msgid "WARNING: Printer sent unexpected EOF\n"
-#~ msgstr ""
-#~ "WARNING: l’imprimante a envoyé le caractère EOF de manière inattendue\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with command status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: l’hôte à distance n’a pas répondu au bout de %d secondes par un "
-#~ "octet d’état de commande.\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with control status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: l’hôte à distance n’a pas répondu au bout de %d secondes par un "
-#~ "octet d’état de contrôle.\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with data status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: l’hôte à distance n’a pas répondu au bout de %d secondes par un "
-#~ "octet d’état de données.\n"
-
-#~ msgid "WARNING: SCSI command timed out (%d); retrying...\n"
-#~ msgstr "WARNING: la commande SCSI a expiré (%d) ; nouvel essai…\n"
-
-#~ msgid ""
-#~ "WARNING: This document does not conform to the Adobe Document Structuring "
-#~ "Conventions and may not print correctly!\n"
-#~ msgstr ""
-#~ "WARNING: ce document n’est pas conforme aux normes Adobe (Adobe Document "
-#~ "Structuring Conventions) et risque de ne pas s’imprimer correctement.\n"
-
-#~ msgid "WARNING: Unable to open \"%s:%s\": %s\n"
-#~ msgstr "WARNING: impossible d’ouvrir « %s :%s » : %s\n"
-
-#~ msgid "WARNING: Unable to send PAP status request"
-#~ msgstr "WARNING: impossible d’envoyer la requête d’état PAP"
-
-#~ msgid "WARNING: Unexpected PAP packet of type %d\n"
-#~ msgstr "WARNING: paquet PAP inattendu, de type %d\n"
-
-#~ msgid "WARNING: Unknown PAP packet of type %d\n"
-#~ msgstr "WARNING: paquet PAP inconnu, de type %d\n"
-
-#~ msgid "WARNING: Unknown choice \"%s\" for option \"%s\"!\n"
-#~ msgstr "WARNING: choix « %s » inconnu pour l’option « %s ».\n"
-
-#~ msgid "WARNING: Unknown option \"%s\"!\n"
-#~ msgstr "WARNING: option « %s » inconnue.\n"
-
-#~ msgid "WARNING: Unsupported baud rate %s!\n"
-#~ msgstr "WARNING: débit en bauds %s non pris en charge.\n"
-
-#~ msgid "WARNING: number expected for status option \"%s\"\n"
-#~ msgstr "WARNING: nombre attendu pour l’option d’état « %s »\n"
-
-#~ msgid ""
-#~ "WARNING: recoverable: Network host '%s' is busy; will retry in %d "
-#~ "seconds...\n"
-#~ msgstr ""
-#~ "WARNING: problème réversible : l’hôte du réseau « %s » est occupé ; nouvel "
-#~ "essai dans %d secondes…\n"
-
-#~ msgid "Warning, no Windows 2000 printer drivers are installed!"
-#~ msgstr ""
-#~ "WARNING: aucun pilote d’impression pour Windows 2000 n’est installé."
-
-#~ msgid "You4 Envelope"
-#~ msgstr "Enveloppe You4"
-
-#~ msgid "convert: Use the -f option to specify a file to convert.\n"
-#~ msgstr ""
-#~ "convert : utilisez l’option -f pour préciser un fichier à convertir.\n"
-
-#~ msgid "cupsaddsmb: No PPD file for printer \"%s\" - %s\n"
-#~ msgstr "cupsaddsmb : aucun fichier PPD pour l’imprimante « %s » - %s\n"
-
-#~ msgid "cupsctl: Unable to connect to server: %s\n"
-#~ msgstr "cupsctl : connexion impossible au serveur : %s\n"
-
-#~ msgid "cupsctl: Unknown option \"%s\"!\n"
-#~ msgstr "cupsctl : option « %s » inconnue\n"
-
-#~ msgid "cupsctl: Unknown option \"-%c\"!\n"
-#~ msgstr "cupsctl : option « -%c » inconnue\n"
-
-#~ msgid "cupsd: Expected config filename after \"-c\" option!\n"
-#~ msgstr ""
-#~ "cupsd : nom de fichier de configuration attendu après l’option « -c ».\n"
-
-#~ msgid "cupsd: Unable to get current directory!\n"
-#~ msgstr "cupsd : impossible de déterminer le répertoire actif.\n"
-
-#~ msgid "cupsd: Unknown argument \"%s\" - aborting!\n"
-#~ msgstr "cupsd : argument « %s » inconnu - interruption en cours…\n"
-
-#~ msgid "cupsd: Unknown option \"%c\" - aborting!\n"
-#~ msgstr "cupsd : option inconnue « %c » - interruption en cours…\n"
-
-#~ msgid "cupsd: launchd(8) support not compiled in, running in normal mode.\n"
-#~ msgstr ""
-#~ "cupsd : prise en charge de launchd(8) non compilée dans le code ; "
-#~ "exécution en mode normal.\n"
-
-#~ msgid "cupsfilter: Invalid document number %d!\n"
-#~ msgstr "cupsfilter : numéro de document %d non valide.\n"
-
-#~ msgid "cupsfilter: Invalid job ID %d!\n"
-#~ msgstr "cupsfilter : identifiant %d de tâche non valide.\n"
-
-#~ msgid "cupsfilter: Only one filename can be specified!\n"
-#~ msgstr "cupsfilter : un seul nom de fichier peut être spécifié.\n"
-
-#~ msgid "cupsfilter: Unable to create temporary file: %s\n"
-#~ msgstr "cupsfilter : impossible de créer le fichier temporaire : %s\n"
-
-#~ msgid "cupsfilter: Unable to get job file - %s\n"
-#~ msgstr "cupsfilter : impossible d’obtenir le fichier de tâche - %s\n"
-
-#~ msgid "cupstestppd: The -q option is incompatible with the -v option.\n"
-#~ msgstr "cupstestppd : l’option -q est incompatible avec l’option -v.\n"
-
-#~ msgid "cupstestppd: The -v option is incompatible with the -q option.\n"
-#~ msgstr "cupstestppd : l’option -v est incompatible avec l’option -q.\n"
-
-#~ msgid "device for %s/%s: %s\n"
-#~ msgstr "périphérique pour %s/%s : %s\n"
-
-#~ msgid "device for %s: %s\n"
-#~ msgstr "périphérique pour %s : %s\n"
-
-#~ msgid "help\t\tget help on commands\n"
-#~ msgstr "help\t\taccéder à l’aide relative aux commandes\n"
-
-#~ msgid "job-printer-uri attribute missing!"
-#~ msgstr "Attribut « job-printer-uri » manquant."
-
-#~ msgid "lpadmin: Class name can only contain printable characters!\n"
-#~ msgstr ""
-#~ "lpadmin : le nom d’une classe doit se limiter aux caractères "
-#~ "imprimables.\n"
-
-#~ msgid "lpadmin: Expected PPD after '-P' option!\n"
-#~ msgstr "lpadmin : fichier PPD attendu après l’option « -P ».\n"
-
-#~ msgid "lpadmin: Expected allow/deny:userlist after '-u' option!\n"
-#~ msgstr ""
-#~ "lpadmin : paramètre allow/deny:liste_utilisateurs attendu après l’option "
-#~ "« -u ».\n"
-
-#~ msgid "lpadmin: Expected class after '-r' option!\n"
-#~ msgstr "lpadmin : classe attendue après l’option « -r ».\n"
-
-#~ msgid "lpadmin: Expected class name after '-c' option!\n"
-#~ msgstr "lpadmin : nom de classe attendu après l’option « -c ».\n"
-
-#~ msgid "lpadmin: Expected description after '-D' option!\n"
-#~ msgstr "lpadmin : description attendue après l’option « -D ».\n"
-
-#~ msgid "lpadmin: Expected device URI after '-v' option!\n"
-#~ msgstr "lpadmin : URI de périphérique attendu après l’option « -v ».\n"
-
-#~ msgid "lpadmin: Expected file type(s) after '-I' option!\n"
-#~ msgstr ""
-#~ "lpadmin : type ou types de fichier attendu(s) après l’option « -I ».\n"
-
-#~ msgid "lpadmin: Expected hostname after '-h' option!\n"
-#~ msgstr "lpadmin : nom d’hôte attendu après l’option « -h ».\n"
-
-#~ msgid "lpadmin: Expected interface after '-i' option!\n"
-#~ msgstr "lpadmin : interface attendue après l’option « -i ».\n"
-
-#~ msgid "lpadmin: Expected location after '-L' option!\n"
-#~ msgstr "lpadmin : emplacement attendu après l’option « -L ».\n"
-
-#~ msgid "lpadmin: Expected model after '-m' option!\n"
-#~ msgstr "lpadmin : modèle attendu après l’option « -m ».\n"
-
-#~ msgid "lpadmin: Expected name=value after '-o' option!\n"
-#~ msgstr "lpadmin : nom=valeur attendu après l’option « -o ».\n"
-
-#~ msgid "lpadmin: Expected printer after '-p' option!\n"
-#~ msgstr "lpadmin : imprimante attendue après l’option « -p ».\n"
-
-#~ msgid "lpadmin: Expected printer name after '-d' option!\n"
-#~ msgstr "lpadmin : nom d’imprimante attendu après l’option « -d ».\n"
-
-#~ msgid "lpadmin: Expected printer or class after '-x' option!\n"
-#~ msgstr "lpadmin : imprimante ou classe attendue après l’option « -x ».\n"
-
-#~ msgid "lpadmin: No member names were seen!\n"
-#~ msgstr "lpadmin : aucun nom de membre détecté.\n"
-
-#~ msgid "lpadmin: Printer %s is already a member of class %s.\n"
-#~ msgstr "lpadmin : l’imprimante %s est déjà un membre de la classe %s.\n"
-
-#~ msgid "lpadmin: Printer %s is not a member of class %s.\n"
-#~ msgstr "lpadmin : l’imprimante %s n’est pas un membre de la classe %s.\n"
-
-#~ msgid "lpadmin: Printer name can only contain printable characters!\n"
-#~ msgstr ""
-#~ "lpadmin : le nom de l’imprimante doit se limiter aux caractères "
-#~ "imprimables.\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to add a printer to the class:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin : impossible d’ajouter d’imprimante à la classe :\n"
-#~ "         Vous devez d’abord indiquer le nom d’une imprimante.\n"
-
-#~ msgid "lpadmin: Unable to connect to server: %s\n"
-#~ msgstr "lpadmin : connexion impossible au serveur : %s\n"
-
-#~ msgid "lpadmin: Unable to create temporary file - %s\n"
-#~ msgstr "lpadmin : impossible de créer un fichier temporaire - %s\n"
-
-#~ msgid "lpadmin: Unable to create temporary file: %s\n"
-#~ msgstr "lpadmin : impossible de créer un fichier temporaire : %s\n"
-
-#~ msgid "lpadmin: Unable to open PPD file \"%s\" - %s\n"
-#~ msgstr "lpadmin : impossible d’ouvrir le fichier PPD « %s » - %s\n"
-
-#~ msgid "lpadmin: Unable to open file \"%s\": %s\n"
-#~ msgstr "lpadmin : impossible d’ouvrir le fichier « %s » : %s\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to remove a printer from the class:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin : impossible de retirer une imprimante de la classe :\n"
-#~ "         Vous devez d’abord indiquer le nom d’une imprimante.\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the PPD file:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin : impossible de définir le fichier PPD :\n"
-#~ "         Vous devez d’abord indiquer le nom d’une imprimante.\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the device URI:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin : impossible de définir l’URI du périphérique :\n"
-#~ "         Vous devez d’abord indiquer le nom d’une imprimante.\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the interface script or PPD file:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin : impossible de définir le script ou le fichier PPD interface :\n"
-#~ "         Vous devez d’abord indiquer le nom d’une imprimante.\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the interface script:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin : impossible de définir le script interface :\n"
-#~ "         Vous devez d’abord indiquer le nom d’une imprimante.\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer description:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin : impossible de définir la description de l’imprimante :\n"
-#~ "         Vous devez d’abord indiquer le nom d’une imprimante.\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer location:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin : impossible de définir l’emplacement de l’imprimante :\n"
-#~ "         Vous devez d’abord indiquer le nom d’une imprimante.\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer options:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin : impossible de définir les options de l’imprimante :\n"
-#~ "         Vous devez d’abord indiquer le nom d’une imprimante.\n"
-
-#~ msgid "lpadmin: Unknown allow/deny option \"%s\"!\n"
-#~ msgstr "lpadmin : option allow/deny « %s » inconnue.\n"
-
-#~ msgid "lpadmin: Unknown argument '%s'!\n"
-#~ msgstr "lpadmin : argument « %s » inconnu.\n"
-
-#~ msgid "lpadmin: Unknown option '%c'!\n"
-#~ msgstr "lpadmin : option « %c » inconnue.\n"
-
-#~ msgid "lpadmin: Warning - content type list ignored!\n"
-#~ msgstr "lpadmin : avertissement - liste des types de contenu ignorée.\n"
-
-#~ msgid "lpinfo: Expected 1284 device ID string after --device-id!\n"
-#~ msgstr ""
-#~ "lpinfo : chaîne de l’identifiant du périphérique 1284 attendue après « --"
-#~ "id-périphérique ».\n"
-
-#~ msgid "lpinfo: Expected language after --language!\n"
-#~ msgstr "lpinfo : langue attendue après « --language ».\n"
-
-#~ msgid "lpinfo: Expected make and model after --make-and-model!\n"
-#~ msgstr "lpinfo : marque et modèle attendus après « --make-and-model »\n"
-
-#~ msgid "lpinfo: Expected product string after --product!\n"
-#~ msgstr "lpinfo : chaîne du produit attendue après « --product ».\n"
-
-#~ msgid "lpinfo: Expected scheme list after --exclude-schemes!\n"
-#~ msgstr "lpinfo : liste des schémas attendue après « --exclude-schemes ».\n"
-
-#~ msgid "lpinfo: Expected scheme list after --include-schemes!\n"
-#~ msgstr "lpinfo : liste des schémas attendue après « --include-schemes ».\n"
-
-#~ msgid "lpinfo: Expected timeout after --timeout!\n"
-#~ msgstr "lpinfo : délai d’attente attendu après « --timeout ».\n"
-
-#~ msgid "lpinfo: Unknown argument '%s'!\n"
-#~ msgstr "lpinfo : argument « %s » inconnu.\n"
-
-#~ msgid "lpinfo: Unknown option '%c'!\n"
-#~ msgstr "lpinfo : option « %c » inconnue.\n"
-
-#~ msgid "lpinfo: Unknown option '%s'!\n"
-#~ msgstr "lpinfo : option « %s » inconnue.\n"
-
-#~ msgid "lpmove: Unable to connect to server: %s\n"
-#~ msgstr "lpmove : connexion impossible au serveur : %s\n"
-
-#~ msgid "lpmove: Unknown argument '%s'!\n"
-#~ msgstr "lpmove : argument « %s » inconnu.\n"
-
-#~ msgid "lpmove: Unknown option '%c'!\n"
-#~ msgstr "lpmove : option « %c » inconnue.\n"
-
-#~ msgid "lpoptions: No printers!?!\n"
-#~ msgstr "lpoptions : aucune imprimante !?!\n"
-
-#~ msgid "lpoptions: Unable to add printer or instance: %s\n"
-#~ msgstr "lpoptions : impossible d’ajouter d’imprimante ou d’instance : %s\n"
-
-#~ msgid "lpoptions: Unable to get PPD file for %s: %s\n"
-#~ msgstr "lpoptions : impossible d’obtenir le fichier PPD de %s : %s\n"
-
-#~ msgid "lpoptions: Unable to open PPD file for %s!\n"
-#~ msgstr "lpoptions : impossible d’ouvrir le fichier PPD de %s ».\n"
-
-#~ msgid "lpoptions: Unknown printer or class!\n"
-#~ msgstr "lpoptions : imprimante ou classe inconnue.\n"
-
-#~ msgid "lppasswd: Only root can add or delete passwords!\n"
-#~ msgstr ""
-#~ "lppasswd : seul l’utilisateur « root » est en mesure d’ajouter ou de "
-#~ "supprimer des mots de passe.\n"
-
-#~ msgid "lppasswd: Password file busy!\n"
-#~ msgstr "lppasswd : fichier des mots de passe occupé.\n"
-
-#~ msgid "lppasswd: Password file not updated!\n"
-#~ msgstr "lppasswd : fichier des mots de passe non mis à jour.\n"
-
-#~ msgid "lppasswd: Sorry, password doesn't match!\n"
-#~ msgstr "lppasswd : mot de passe non concordant.\n"
-
-#~ msgid ""
-#~ "lppasswd: Sorry, password rejected.\n"
-#~ "Your password must be at least 6 characters long, cannot contain\n"
-#~ "your username, and must contain at least one letter and number.\n"
-#~ msgstr ""
-#~ "lppasswd : mot de passe rejeté.\n"
-#~ "Votre mot de passe doit comporter au moins six caractères, au moins une "
-#~ "lettre et un chiffre,\n"
-#~ "et ne peut pas reprendre votre nom d’utilisateur.\n"
-
-#~ msgid "lppasswd: Sorry, passwords don't match!\n"
-#~ msgstr "lppasswd : les mots de passe ne concordent pas.\n"
-
-#~ msgid "lppasswd: Unable to copy password string: %s\n"
-#~ msgstr "lppasswd : impossible de copier la chaîne de mot de passe : %s\n"
-
-#~ msgid "lppasswd: Unable to open password file: %s\n"
-#~ msgstr "lppasswd : impossible d’ouvrir le fichier des mots de passe : %s\n"
-
-#~ msgid "lppasswd: Unable to write to password file: %s\n"
-#~ msgstr ""
-#~ "lppasswd : impossible d’écrire dans le fichier des mots de passe : %s\n"
-
-#~ msgid "lppasswd: failed to backup old password file: %s\n"
-#~ msgstr ""
-#~ "lppasswd : impossible d’effectuer de copie de sauvegarde de l’ancien "
-#~ "fichier des mots de passe : %s\n"
-
-#~ msgid "lppasswd: failed to rename password file: %s\n"
-#~ msgstr ""
-#~ "lppasswd : impossible de renommer le fichier des mots de passe : %s\n"
-
-#~ msgid "lppasswd: user \"%s\" and group \"%s\" do not exist.\n"
-#~ msgstr "lppasswd : l’utilisateur « %s » et le groupe « %s » n’existent pas.\n"
-
-#~ msgid ""
-#~ "lpstat: error - %s environment variable names non-existent destination \"%"
-#~ "s\"!\n"
-#~ msgstr ""
-#~ "lpstat : erreur - destination « %s » inexistante pour les noms de "
-#~ "variables d’environnement %s.\n"
-
-#~ msgid "members of class %s:\n"
-#~ msgstr "membres de la classe %s :\n"
-
-#~ msgid "no entries\n"
-#~ msgstr "aucune entrée\n"
-
-#~ msgid "no system default destination\n"
-#~ msgstr "aucune destination système par défaut\n"
-
-#~ msgid "notify-events not specified!"
-#~ msgstr "Attribut « notify-events » non renseigné."
-
-#~ msgid "notify-recipient-uri URI \"%s\" is already used!"
-#~ msgstr ""
-#~ "L’URI « %s », indiquée par le paramètre notify-recipient-uri, est déjà "
-#~ "utilisée."
-
-#~ msgid "notify-recipient-uri URI \"%s\" uses unknown scheme!"
-#~ msgstr ""
-#~ "L’URI « %s » du paramètre « notify-recipient-uri » utilise un mode inconnu."
-
-#~ msgid "notify-subscription-id %d no good!"
-#~ msgstr "notify-subscription-id %d erroné."
-
-#~ msgid "ppdc: Adding include directory \"%s\"...\n"
-#~ msgstr "ppdc : inclusion du répertoire « %s »…\n"
-
-#~ msgid "ppdc: Adding/updating UI text from %s...\n"
-#~ msgstr ""
-#~ "ppdc : ajout/actualisation du texte de l’interface utilisateur à partir "
-#~ "de %s…\n"
-
-#~ msgid "ppdc: Bad boolean value (%s) on line %d of %s.\n"
-#~ msgstr "ppdc : valeur booléenne (%s) incorrecte à la ligne %d sur %s.\n"
-
-#~ msgid "ppdc: Bad resolution name \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc : nom de résolution « %s » incorrect à la ligne %d sur %s.\n"
-
-#~ msgid "ppdc: Bad status keyword %s on line %d of %s!\n"
-#~ msgstr "ppdc : mot-clé d’état %s incorrect à la ligne %d sur %s.\n"
-
-#~ msgid "ppdc: Bad variable substitution ($%c) on line %d of %s.\n"
-#~ msgstr ""
-#~ "ppdc : substitution de variables ($%c) incorrecte à la ligne %d sur %s.\n"
-
-#~ msgid "ppdc: Choice found on line %d of %s with no Option!\n"
-#~ msgstr "ppdc : choix trouvé à la ligne %d sur %s, sans Option.\n"
-
-#~ msgid "ppdc: Duplicate #po for locale %s on line %d of %s!\n"
-#~ msgstr "ppdc : #po en double pour la langue %s à la ligne %d sur %s.\n"
-
-#~ msgid "ppdc: Expected a filter definition on line %d of %s!\n"
-#~ msgstr "ppdc : définition de filtre attendue à la ligne %d sur %s.\n"
-
-#~ msgid "ppdc: Expected a program name on line %d of %s!\n"
-#~ msgstr "ppdc : nom de programme attendu à la ligne %d sur %s.\n"
-
-#~ msgid "ppdc: Expected boolean value on line %d of %s.\n"
-#~ msgstr "ppdc : valeur booléenne attendue à la ligne %d sur %s.\n"
-
-#~ msgid "ppdc: Expected charset after Font on line %d of %s!\n"
-#~ msgstr "ppdc : jeu de caractères attendu après Font à la ligne %d de %s.\n"
-
-#~ msgid "ppdc: Expected choice code on line %d of %s.\n"
-#~ msgstr "ppdc : code de choix attendu à la ligne %d de %s.\n"
-
-#~ msgid "ppdc: Expected choice name/text on line %d of %s.\n"
-#~ msgstr "ppdc : nom/texte de choix attendu à la ligne %d de %s.\n"
-
-#~ msgid "ppdc: Expected color order for ColorModel on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc : ordre de couleurs attendu pour ColorModel à la ligne %d de %s.\n"
-
-#~ msgid "ppdc: Expected colorspace for ColorModel on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc : espace de couleurs attendu pour ColorModel à la ligne %d de %s.\n"
-
-#~ msgid "ppdc: Expected compression for ColorModel on line %d of %s!\n"
-#~ msgstr "ppdc : compression attendue pour ColorModel à la ligne %d de %s.\n"
-
-#~ msgid ""
-#~ "ppdc: Expected constraints string for UIConstraints on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc : chaîne des contraintes attendue pour UIConstraints à la ligne %d "
-#~ "de %s.\n"
-
-#~ msgid ""
-#~ "ppdc: Expected driver type keyword following DriverType on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc : mot-clé attendu du type de gestionnaire après DriverType à la "
-#~ "ligne %d de %s.\n"
-
-#~ msgid "ppdc: Expected duplex type after Duplex on line %d of %s!\n"
-#~ msgstr "ppdc : type de duplex attendu après Duplex à la ligne %d de %s.\n"
-
-#~ msgid "ppdc: Expected encoding after Font on line %d of %s!\n"
-#~ msgstr "ppdc : encodage attendu après Font à la ligne %d de %s.\n"
-
-#~ msgid "ppdc: Expected filename after #po %s on line %d of %s!\n"
-#~ msgstr "ppdc : nom de fichier attendu après #po %s à la ligne %d de %s.\n"
-
-#~ msgid "ppdc: Expected group name/text on line %d of %s!\n"
-#~ msgstr "ppdc : nom/texte de groupe attendu à la ligne %d de %s.\n"
-
-#~ msgid "ppdc: Expected include filename on line %d of %s!\n"
-#~ msgstr "ppdc : nom de fichier d’inclusion attendu à la ligne %d de %s.\n"
-
-#~ msgid "ppdc: Expected integer on line %d of %s!\n"
-#~ msgstr "ppdc : nombre entier attendu à la ligne %d de %s.\n"
-
-#~ msgid "ppdc: Expected locale after #po on line %d of %s!\n"
-#~ msgstr "ppdc : langue attendue après #po à la ligne %d de %s.\n"
-
-#~ msgid "ppdc: Expected name after %s on line %d of %s!\n"
-#~ msgstr "ppdc : nom attendu après %s à la ligne %d de %s.\n"
-
-#~ msgid "ppdc: Expected name after FileName on line %d of %s!\n"
-#~ msgstr "ppdc : nom attendu après FileName à la ligne %d de %s.\n"
-
-#~ msgid "ppdc: Expected name after Font on line %d of %s!\n"
-#~ msgstr "ppdc : nom attendu après Font à la ligne %d de %s.\n"
-
-#~ msgid "ppdc: Expected name after Manufacturer on line %d of %s!\n"
-#~ msgstr "ppdc : nom attendu après Manufacturer à la ligne %d de %s.\n"
-
-#~ msgid "ppdc: Expected name after MediaSize on line %d of %s!\n"
-#~ msgstr "ppdc : nom attendu après MediaSize à la ligne %d de %s.\n"
-
-#~ msgid "ppdc: Expected name after ModelName on line %d of %s!\n"
-#~ msgstr "ppdc : nom attendu après ModelName à la ligne %d de %s.\n"
-
-#~ msgid "ppdc: Expected name after PCFileName on line %d of %s!\n"
-#~ msgstr "ppdc : nom attendu après PCFileName à la ligne %d de %s.\n"
-
-#~ msgid "ppdc: Expected name/text after %s on line %d of %s!\n"
-#~ msgstr "ppdc : nom/texte attendu après %s à la ligne %d de %s.\n"
-
-#~ msgid "ppdc: Expected name/text after Installable on line %d of %s!\n"
-#~ msgstr "ppdc : nom/texte attendu après Installable à la ligne %d de %s.\n"
-
-#~ msgid "ppdc: Expected name/text after Resolution on line %d of %s!\n"
-#~ msgstr "ppdc : nom/texte attendu après Resolution à la ligne %d de %s.\n"
-
-#~ msgid ""
-#~ "ppdc: Expected name/text combination for ColorModel on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc : association nom/texte attendue pour ColorModel à la ligne %d de %"
-#~ "s.\n"
-
-#~ msgid "ppdc: Expected option name/text on line %d of %s!\n"
-#~ msgstr "ppdc : nom/texte d’option attendu à la ligne %d de %s.\n"
-
-#~ msgid "ppdc: Expected option section on line %d of %s!\n"
-#~ msgstr "ppdc : section d’option attendue à la ligne %d de %s.\n"
-
-#~ msgid "ppdc: Expected option type on line %d of %s!\n"
-#~ msgstr "ppdc : type d’option attendu à la ligne %d de %s.\n"
-
-#~ msgid "ppdc: Expected override field after Resolution on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc : champ de remplacement attendu après Resolution à la ligne %d de %"
-#~ "s.\n"
-
-#~ msgid "ppdc: Expected real number on line %d of %s!\n"
-#~ msgstr "ppdc : nombre réel attendu à la ligne %d de %s.\n"
-
-#~ msgid ""
-#~ "ppdc: Expected resolution/mediatype following ColorProfile on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc : résolution/type de papier attendu après ColorProfile à la ligne %d "
-#~ "de %s.\n"
-
-#~ msgid ""
-#~ "ppdc: Expected resolution/mediatype following SimpleColorProfile on line %"
-#~ "d of %s!\n"
-#~ msgstr ""
-#~ "ppdc : résolution/type de papier attendu après SimpleColorProfile à la "
-#~ "ligne %d de %s.\n"
-
-#~ msgid "ppdc: Expected selector after %s on line %d of %s!\n"
-#~ msgstr "ppdc : sélecteur attendu après %s à la ligne %d de %s.\n"
-
-#~ msgid "ppdc: Expected status after Font on line %d of %s!\n"
-#~ msgstr "ppdc : état attendu après Font à la ligne %d de %s.\n"
-
-#~ msgid "ppdc: Expected string after Copyright on line %d of %s!\n"
-#~ msgstr "ppdc : chaîne attendue après Copyright à la ligne %d de %s.\n"
-
-#~ msgid "ppdc: Expected string after Version on line %d of %s!\n"
-#~ msgstr "ppdc : chaîne attendue après Version à la ligne %d de %s.\n"
-
-#~ msgid "ppdc: Expected two option names on line %d of %s!\n"
-#~ msgstr "ppdc : deux noms d’option attendus à la ligne %d de %s.\n"
-
-#~ msgid "ppdc: Expected value after %s on line %d of %s!\n"
-#~ msgstr "ppdc : valeur attendue après %s à la ligne %d de %s.\n"
-
-#~ msgid "ppdc: Expected version after Font on line %d of %s!\n"
-#~ msgstr "ppdc : version attendue après Font à la ligne %d de %s.\n"
-
-#~ msgid "ppdc: Invalid #include/#po filename \"%s\"!\n"
-#~ msgstr "ppdc : nom de fichier #include/#po « %s » non valide\n"
-
-#~ msgid "ppdc: Invalid cost for filter on line %d of %s!\n"
-#~ msgstr "ppdc : coût pour le filtre à la ligne %d de %s non valide\n"
-
-#~ msgid "ppdc: Invalid empty MIME type for filter on line %d of %s!\n"
-#~ msgstr "ppdc : type MIME pour le filtre à la ligne %d de %s non valide\n"
-
-#~ msgid "ppdc: Invalid empty program name for filter on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc : nom de programme vide pour le filtre à la ligne %d de %s non "
-#~ "valide\n"
-
-#~ msgid "ppdc: Invalid option section \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc : section d’option « %s » à la ligne %d de %s non valide\n"
-
-#~ msgid "ppdc: Invalid option type \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc : type d’option « %s » à la ligne %d de %s non valide\n"
-
-#~ msgid "ppdc: Loading driver information file \"%s\"...\n"
-#~ msgstr ""
-#~ "ppdc : chargement du fichier « %s » des informations de gestionnaire…\n"
-
-#~ msgid "ppdc: Loading messages for locale \"%s\"...\n"
-#~ msgstr "ppdc : chargement de messages pour la langue « %s »…\n"
-
-#~ msgid "ppdc: Loading messages from \"%s\"...\n"
-#~ msgstr "ppdc : chargement de messages de « %s »…\n"
-
-#~ msgid "ppdc: Missing #endif at end of \"%s\"!\n"
-#~ msgstr "ppdc : #endif absent à la fin de « %s ».\n"
-
-#~ msgid "ppdc: Missing #if on line %d of %s!\n"
-#~ msgstr "ppdc : #if absent à la ligne %d de %s.\n"
-
-#~ msgid "ppdc: No message catalog provided for locale %s!\n"
-#~ msgstr "ppdc : aucun catalogue de messages fourni pour la langue %s.\n"
-
-#~ msgid "ppdc: Option %s redefined with a different type on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc : option %s redéfinie sous un autre type à la ligne %d de %s.\n"
-
-#~ msgid "ppdc: Option constraint must *name on line %d of %s!\n"
-#~ msgstr "ppdc : contrainte d’option doit inclure *nom à la ligne %d de %s.\n"
-
-#~ msgid "ppdc: Too many nested #if's on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc : instructions #if imbriquées trop nombreuses à la ligne %d de %s.\n"
-
-#~ msgid "ppdc: Unable to create PPD file \"%s\" - %s.\n"
-#~ msgstr "ppdc : impossible de créer le fichier PPD « %s » - %s.\n"
-
-#~ msgid "ppdc: Unable to create output directory %s: %s\n"
-#~ msgstr "ppdc : impossible de créer le répertoire de sortie %s : %s\n"
-
-#~ msgid "ppdc: Unable to create output pipes: %s\n"
-#~ msgstr "ppdc : impossible de créer les canaux de sortie : %s\n"
-
-#~ msgid "ppdc: Unable to execute cupstestppd: %s\n"
-#~ msgstr "ppdc : impossible d’exécuter cupstestppd : %s\n"
-
-#~ msgid "ppdc: Unable to find #po file %s on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc : impossible de retrouver le fichier #po %s à la ligne %d de %s.\n"
-
-#~ msgid "ppdc: Unable to find include file \"%s\" on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc : impossible de retrouver le fichier d’inclusion « %s » à la ligne %d "
-#~ "de %s.\n"
-
-#~ msgid "ppdc: Unable to find localization for \"%s\" - %s\n"
-#~ msgstr "ppdc : impossible de déterminer la localisation de « %s » - %s\n"
-
-#~ msgid "ppdc: Unable to load localization file \"%s\" - %s\n"
-#~ msgstr ""
-#~ "ppdc : impossible de charger le fichier de localisation « %s » - %s\n"
-
-#~ msgid "ppdc: Undefined variable (%s) on line %d of %s.\n"
-#~ msgstr "ppdc : variable indéfinie (%s) à la ligne %d de %s.\n"
-
-#~ msgid "ppdc: Unknown driver type %s on line %d of %s!\n"
-#~ msgstr "ppdc : type de gestionnaire %s inconnu à la ligne %d de %s.\n"
-
-#~ msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc : type de duplex « %s » inconnu à la ligne %d de %s.\n"
-
-#~ msgid "ppdc: Unknown media size \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc : taille du papier « %s » inconnue à la ligne %d de %s.\n"
-
-#~ msgid "ppdc: Unknown token \"%s\" seen on line %d of %s!\n"
-#~ msgstr "ppdc : jeton « %s » inconnu détecté à la ligne %d de %s.\n"
-
-#~ msgid ""
-#~ "ppdc: Unknown trailing characters in real number \"%s\" on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc : caractères de fin, dans le nombre réel « %s », inconnus à la ligne %"
-#~ "d de %s.\n"
-
-#~ msgid "ppdc: Unterminated string starting with %c on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc : chaîne commençant par %c non terminée, à la ligne %d de %s.\n"
-
-#~ msgid "ppdc: Writing %s...\n"
-#~ msgstr "ppdc : écriture de %s…\n"
-
-#~ msgid "ppdc: Writing PPD files to directory \"%s\"...\n"
-#~ msgstr "ppdc : écriture des fichiers PPD dans le répertoire « %s »…\n"
-
-#~ msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s!\n"
-#~ msgstr "ppdmerge : LanguageVersion « %s » incorrect dans %s.\n"
-
-#~ msgid "ppdmerge: Ignoring PPD file %s...\n"
-#~ msgstr "ppdmerge : fichier PPD %s ignoré…\n"
-
-#~ msgid "ppdmerge: Unable to backup %s to %s- %s\n"
-#~ msgstr ""
-#~ "ppdmerge : impossible d’effectuer de copie de sauvegarde de %s en %s- %s\n"
-
-#~ msgid "printer %s disabled since %s -\n"
-#~ msgstr "l’imprimante %s est désactivée depuis %s -\n"
-
-#~ msgid "printer %s is idle.  enabled since %s\n"
-#~ msgstr "l’imprimante %s est inactive, mais activée depuis %s\n"
-
-#~ msgid "printer %s now printing %s-%d.  enabled since %s\n"
-#~ msgstr ""
-#~ "l’imprimante %s est en cours d’impression %s-%d (activée depuis %s)\n"
-
-#~ msgid "printer %s/%s disabled since %s -\n"
-#~ msgstr "l’imprimante %s/%s est désactivée depuis %s -\n"
-
-#~ msgid "printer %s/%s is idle.  enabled since %s\n"
-#~ msgstr "l’imprimante %s/%s est inactive, mais activée depuis %s\n"
-
-#~ msgid "printer %s/%s now printing %s-%d.  enabled since %s\n"
-#~ msgstr ""
-#~ "l’imprimante %s/%s est en cours d’impression %s-%d (activée depuis %s)\n"
-
-#~ msgid "request id is %s-%d (%d file(s))\n"
-#~ msgstr "l’identifiant de la requête est %s-%d (%d fichier(s))\n"
-
-#~ msgid "scheduler is not running\n"
-#~ msgstr "le programmateur n’est pas en cours d’exécution\n"
-
-#~ msgid "scheduler is running\n"
-#~ msgstr "le programmateur s’exécute\n"
-
-#~ msgid "status\t\tshow status of daemon and queue\n"
-#~ msgstr "status\t\tafficher l’état du daemon et la file d’attente\n"
-
-#~ msgid "system default destination: %s\n"
-#~ msgstr "destination système par défaut : %s\n"
-
-#~ msgid "system default destination: %s/%s\n"
-#~ msgstr "destination système par défaut : %s/%s\n"
+msgstr ""
diff --git a/locale/cups_hu.po b/locale/cups_hu.po
deleted file mode 100644 (file)
index 8f9a138..0000000
+++ /dev/null
@@ -1,5835 +0,0 @@
-# Gabor Kelemen <kelemeng at gnome dot hu>, 2011.
-msgid ""
-msgstr ""
-"Project-Id-Version: \n"
-"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2012-03-07 13:38-0800\n"
-"PO-Revision-Date: 2011-12-02 01:55+0100\n"
-"Last-Translator: Gabor Kelemen <kelemeng at gnome dot hu>\n"
-"Language-Team: Hungarian <gnome-hu-list at gnome dot org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: \n"
-"X-Generator: KBabel 1.11.4\n"
-"Plural-Forms:  nplurals=2; plural=(n != 1);\n"
-
-msgid "\t\t(all)"
-msgstr "\t\t(mind)"
-
-msgid "\t\t(none)"
-msgstr "\t\t(egyik sem)"
-
-#, c-format
-msgid "\t%d entries"
-msgstr "\t%d bejegyzés"
-
-#, c-format
-msgid "\t%s"
-msgstr "\t%s"
-
-msgid "\tAfter fault: continue"
-msgstr "\tHiba után: folytatás"
-
-#, c-format
-msgid "\tAlerts: %s"
-msgstr "\tRiasztások: %s"
-
-msgid "\tBanner required"
-msgstr "\tKísérőoldal szükséges"
-
-msgid "\tCharset sets:"
-msgstr "\tKarakterkódolások:"
-
-msgid "\tConnection: direct"
-msgstr "\tKapcsolat: közvetlen"
-
-msgid "\tConnection: remote"
-msgstr "\tKapcsolat: távoli"
-
-msgid "\tContent types: any"
-msgstr "\tTartalomtípusok: bármely"
-
-msgid "\tDefault page size:"
-msgstr "\tAlapértelmezett oldalméret:"
-
-msgid "\tDefault pitch:"
-msgstr "\tAlapértelmezett térköz:"
-
-msgid "\tDefault port settings:"
-msgstr "\tAlapértelmezett portbeállítások:"
-
-#, c-format
-msgid "\tDescription: %s"
-msgstr "\tLeírás: %s"
-
-msgid "\tForm mounted:"
-msgstr "\tFelszerelt típus:"
-
-msgid "\tForms allowed:"
-msgstr "\tEngedélyezett típusok:"
-
-#, c-format
-msgid "\tInterface: %s.ppd"
-msgstr "\tFelület: %s.ppd"
-
-#, c-format
-msgid "\tInterface: %s/interfaces/%s"
-msgstr "\tFelület: %s/interfaces/%s"
-
-#, c-format
-msgid "\tInterface: %s/ppd/%s.ppd"
-msgstr "\tFelület: %s/ppd/%s.ppd"
-
-#, c-format
-msgid "\tLocation: %s"
-msgstr "\tHely: %s"
-
-msgid "\tOn fault: no alert"
-msgstr "\tHiba esetén: nincs riasztás"
-
-msgid "\tPrinter types: unknown"
-msgstr "\tNyomtatótípusok: ismeretlen"
-
-#, c-format
-msgid "\tStatus: %s"
-msgstr "\tÁllapot: %s"
-
-msgid "\tUsers allowed:"
-msgstr "\tEngedélyezett felhasználók:"
-
-msgid "\tUsers denied:"
-msgstr "\tLetiltott felhasználók:"
-
-msgid "\tdaemon present"
-msgstr "\ta démon jelen van"
-
-msgid "\tno entries"
-msgstr "\tnincsenek bejegyzések"
-
-#, c-format
-msgid "\tprinter is on device '%s' speed -1"
-msgstr "\ta nyomtató a(z) „%s” eszközön, sebesség -1"
-
-msgid "\tprinting is disabled"
-msgstr "\ta nyomtatás letiltva"
-
-msgid "\tprinting is enabled"
-msgstr "\ta nyomtatás engedélyezve"
-
-#, c-format
-msgid "\tqueued for %s"
-msgstr "\tsorba állítva ehhez: %s"
-
-msgid "\tqueuing is disabled"
-msgstr "\ta sorba állítás letiltva"
-
-msgid "\tqueuing is enabled"
-msgstr "\ta sorba állítás engedélyezve"
-
-msgid "\treason unknown"
-msgstr "\tismeretlen ok"
-
-msgid ""
-"\n"
-"    DETAILED CONFORMANCE TEST RESULTS"
-msgstr ""
-"\n"
-"    MEGFELELŐSÉGI TESZT RÉSZLETES EREDMÉNYEI"
-
-msgid "                          Ignore specific warnings."
-msgstr "                          Adott figyelmeztetések mellőzése."
-
-msgid "                          Issue warnings instead of errors."
-msgstr "                          Figyelmeztetések kiadása hibák helyett."
-
-msgid "                REF: Page 15, section 3.1."
-msgstr "                REF: 15. oldal, 3.1-es szakasz."
-
-msgid "                REF: Page 15, section 3.2."
-msgstr "                REF: 15. oldal, 3.2-es szakasz."
-
-msgid "                REF: Page 19, section 3.3."
-msgstr "                REF: 19. oldal, 3.3-as szakasz."
-
-msgid "                REF: Page 20, section 3.4."
-msgstr "                REF: 20. oldal, 3.4-es szakasz."
-
-msgid "                REF: Page 27, section 3.5."
-msgstr "                REF: 27. oldal, 3.5-ös szakasz."
-
-msgid "                REF: Page 42, section 5.2."
-msgstr "                REF: 42. oldal, 5.2-es szakasz."
-
-msgid "                REF: Pages 16-17, section 3.2."
-msgstr "                REF: 16-17. oldalak, 3.2-es szakasz."
-
-msgid "                REF: Pages 42-45, section 5.2."
-msgstr "                REF: 42-45. oldalak, 5.2-es szakasz."
-
-msgid "                REF: Pages 45-46, section 5.2."
-msgstr "                REF: 45-46. oldalak, 5.2-es szakasz."
-
-msgid "                REF: Pages 48-49, section 5.2."
-msgstr "                REF: 48-49. oldalak, 5.2-es szakasz."
-
-msgid "                REF: Pages 52-54, section 5.2."
-msgstr "                REF: 52-54. oldalak, 5.2-es szakasz."
-
-#, c-format
-msgid "        %-39.39s %.0f bytes"
-msgstr "        %-39.39s %.0f bájt"
-
-#, c-format
-msgid "        PASS    Default%s"
-msgstr "        SIKER    Default%s"
-
-msgid "        PASS    DefaultImageableArea"
-msgstr "        SIKER    DefaultImageableArea"
-
-msgid "        PASS    DefaultPaperDimension"
-msgstr "        SIKER    DefaultPaperDimension"
-
-msgid "        PASS    FileVersion"
-msgstr "        SIKER    FileVersion"
-
-msgid "        PASS    FormatVersion"
-msgstr "        SIKER    FormatVersion"
-
-msgid "        PASS    LanguageEncoding"
-msgstr "        SIKER    LanguageEncoding"
-
-msgid "        PASS    LanguageVersion"
-msgstr "        SIKER    LanguageVersion"
-
-msgid "        PASS    Manufacturer"
-msgstr "        SIKER    Manufacturer"
-
-msgid "        PASS    ModelName"
-msgstr "        SIKER    ModelName"
-
-msgid "        PASS    NickName"
-msgstr "        SIKER    NickName"
-
-msgid "        PASS    PCFileName"
-msgstr "        SIKER    PCFileName"
-
-msgid "        PASS    PSVersion"
-msgstr "        SIKER    PSVersion"
-
-msgid "        PASS    PageRegion"
-msgstr "        SIKER    PageRegion"
-
-msgid "        PASS    PageSize"
-msgstr "        SIKER    PageSize"
-
-msgid "        PASS    Product"
-msgstr "        SIKER    Product"
-
-msgid "        PASS    ShortNickName"
-msgstr "        SIKER    ShortNickName"
-
-#, c-format
-msgid "        WARN    %s has no corresponding options."
-msgstr "        FIGY    nem tartoznak beállítások ehhez: %s."
-
-#, c-format
-msgid ""
-"        WARN    %s shares a common prefix with %s\n"
-"                REF: Page 15, section 3.2."
-msgstr ""
-"        FIGY    %s közös előtagot használ ezzel: %s\n"
-"                REF: 15. oldal, 3.2-es szakasz."
-
-#, c-format
-msgid ""
-"        WARN    Duplex option keyword %s may not work as expected and should "
-"be named Duplex.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-"        FIGY    A duplex beállítás %s kulcsszava lehet, hogy nem várt módon "
-"működik, és Duplexnek kell nevezni.\n"
-"                REF: 122. oldal, 5.17-es szakasz"
-
-msgid "        WARN    File contains a mix of CR, LF, and CR LF line endings."
-msgstr "        FIGY    A fájl CR, LF és CR LF sorvégek keverékét tartalmazza."
-
-msgid ""
-"        WARN    LanguageEncoding required by PPD 4.3 spec.\n"
-"                REF: Pages 56-57, section 5.3."
-msgstr ""
-"        FIGY    A PPD 4.3 specifikáció megköveteli a LanguageEncoding "
-"jelenlétét.\n"
-"                REF: 56-57. oldalak, 5.3-as szakasz."
-
-#, c-format
-msgid "        WARN    Line %d only contains whitespace."
-msgstr "        FIGY    A(z) %d. sor csak üres helyet tartalmaz."
-
-msgid ""
-"        WARN    Manufacturer required by PPD 4.3 spec.\n"
-"                REF: Pages 58-59, section 5.3."
-msgstr ""
-"        FIGY    A PPD 4.3 specifikáció megköveteli a Manufacturer "
-"jelenlétét.\n"
-"                REF: 58-59. oldalak, 5.3-as szakasz."
-
-msgid ""
-"        WARN    Non-Windows PPD files should use lines ending with only LF, "
-"not CR LF."
-msgstr ""
-"        FIGY    A nem windowsos PPD fájlok csak LF, és nem CR LF végű "
-"sorokat használhatnak."
-
-#, c-format
-msgid ""
-"        WARN    Obsolete PPD version %.1f.\n"
-"                REF: Page 42, section 5.2."
-msgstr ""
-"        FIGY    Elavult PPD-verzió: %.1f.\n"
-"                REF: 42. oldal, 5.2-es szakasz."
-
-msgid ""
-"        WARN    PCFileName longer than 8.3 in violation of PPD spec.\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-"        FIGY    A 8.3-nál hosszabb PCFileName megsérti a PPD-specifikációt.\n"
-"                REF: 61-62. oldalak, 5.3-as szakasz."
-
-msgid ""
-"        WARN    PCFileName should contain a unique filename.\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-"        FIGY    A PCFileName egyedi fájlnevet kell tartalmazzon.\n"
-"                REF: 61-62. oldalak, 5.3-as szakasz."
-
-msgid ""
-"        WARN    Protocols contains PJL but JCL attributes are not set.\n"
-"                REF: Pages 78-79, section 5.7."
-msgstr ""
-"        FIGY    A Protocols PJL-t tartalmaz, de a JCL attribútumok nincsenek "
-"beállítva.\n"
-"                REF: 78-79. oldal, 5.7-es szakasz."
-
-msgid ""
-"        WARN    Protocols contains both PJL and BCP; expected TBCP.\n"
-"                REF: Pages 78-79, section 5.7."
-msgstr ""
-"        FIGY    A Protocols PJL-t és BCP-t is tartalmaz; a várt a TBCP.\n"
-"                REF: 78-79. oldalak, 5.7-es szakasz."
-
-msgid ""
-"        WARN    ShortNickName required by PPD 4.3 spec.\n"
-"                REF: Pages 64-65, section 5.3."
-msgstr ""
-"        FIGY    A PPD 4.3 specifikáció megköveteli a ShortNickName "
-"jelenlétét.\n"
-"                REF: 64-65. oldalak, 5.3-as szakasz."
-
-msgid "       cupsaddsmb [options] -a"
-msgstr "       cupsaddsmb [kapcsolók] -a"
-
-msgid "       cupstestdsc [options] -"
-msgstr "       cupstestdsc [kapcsolók] -"
-
-msgid "       program | cupstestppd [options] -"
-msgstr "       program | cupstestppd [kapcsolók] -"
-
-#, c-format
-msgid ""
-"      %s  \"%s %s\" conflicts with \"%s %s\"\n"
-"                (constraint=\"%s %s %s %s\")."
-msgstr ""
-"       %s  „%s %s” ütközik ezzel: „%s %s”\n"
-"                 (megszorítás=„%s %s %s %s”)."
-
-#, c-format
-msgid "      %s  %s %s does not exist."
-msgstr "       %s  %s %s nem létezik."
-
-#, c-format
-msgid "      %s  %s file \"%s\" has the wrong capitalization."
-msgstr "       %s  %s fájl „%s” kis- és nagybetűi hibásak."
-
-#, c-format
-msgid ""
-"      %s  Bad %s choice %s.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-"       %s  Hibás %s lehetőség: %s.\n"
-"                REF: 122. oldal, 5.17-es szakasz."
-
-#, c-format
-msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s."
-msgstr ""
-"       %s  Hibás UTF-8 „%s” fordítás a(z) %s beállítás %s lehetőségéhez."
-
-#, c-format
-msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s."
-msgstr "       %s  Hibás UTF-8 „%s” fordítás a(z) %s beállításhoz."
-
-#, c-format
-msgid "      %s  Bad cupsFilter value \"%s\"."
-msgstr "       %s  Hibás cupsFilter érték: „%s”."
-
-#, c-format
-msgid "      %s  Bad cupsFilter2 value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsICCProfile %s."
-msgstr "       %s  Hibás cupsICCProfile: %s."
-
-#, c-format
-msgid "      %s  Bad cupsPreFilter value \"%s\"."
-msgstr "       %s  Hibás cupsPreFilter érték: „%s”."
-
-#, c-format
-msgid "      %s  Bad cupsUIConstraints %s: \"%s\""
-msgstr "       %s  Hibás cupsUIConstraints: %s: „%s”"
-
-#, c-format
-msgid "      %s  Bad language \"%s\"."
-msgstr "       %s  Hibás nyelv: „%s”."
-
-#, c-format
-msgid "      %s  Bad permissions on %s file \"%s\"."
-msgstr "       %s  Hibás jogosultságok a(z) %s fájlok: „%s”."
-
-#, c-format
-msgid "      %s  Bad spelling of %s - should be %s."
-msgstr "       %s  %s el van írva - %s kellene legyen."
-
-#, c-format
-msgid "      %s  Cannot provide both APScanAppPath and APScanAppBundleID."
-msgstr ""
-"       %s  Nem biztosítható egyszerre az APScanAppPath és APScanAppBundleID."
-
-#, c-format
-msgid "      %s  Default choices conflicting."
-msgstr "       %s  Az alapértelmezett választások ütköznek."
-
-#, c-format
-msgid "      %s  Empty cupsUIConstraints %s"
-msgstr "       %s  Üres cupsUIConstraints: %s"
-
-#, c-format
-msgid "      %s  Missing \"%s\" translation string for option %s, choice %s."
-msgstr "       %s  Hiányzó „%s” fordítás a(z) %s beállítás %s lehetőségéhez."
-
-#, c-format
-msgid "      %s  Missing \"%s\" translation string for option %s."
-msgstr "       %s  Hiányzó „%s” fordítás a(z) %s beállításhoz."
-
-#, c-format
-msgid "      %s  Missing %s file \"%s\"."
-msgstr "       %s  Hiányzó %s fájl: „%s”."
-
-#, c-format
-msgid ""
-"      %s  Missing REQUIRED PageRegion option.\n"
-"                REF: Page 100, section 5.14."
-msgstr ""
-"       %s  Hiányzó KÖTELEZŐ PageRegion beállítás.\n"
-"                 REF: 100. oldal, 5.14-es szakasz."
-
-#, c-format
-msgid ""
-"      %s  Missing REQUIRED PageSize option.\n"
-"                REF: Page 99, section 5.14."
-msgstr ""
-"       %s Hiányzó KÖTELEZŐ PageSize beállítás.\n"
-"                 REF: 99. oldal, 5.14-es szakasz."
-
-#, c-format
-msgid "      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"."
-msgstr ""
-"       %s  Hiányzó lehetőség (*%s %s) az UIConstraints elemben: „*%s %s *%s %"
-"s”."
-
-#, c-format
-msgid "      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\""
-msgstr ""
-"       %s  Hiányzó lehetőség (*%s %s) a cupsUIConstraints %s elemben: „%s”"
-
-#, c-format
-msgid "      %s  Missing cupsUIResolver %s"
-msgstr "       %s  Hiányzó cupsUIResolver %s"
-
-#, c-format
-msgid "      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\"."
-msgstr ""
-"       %s  Hiányzó %s beállítás az UIConstraints elemben: „*%s %s *%s %s”."
-
-#, c-format
-msgid "      %s  Missing option %s in cupsUIConstraints %s: \"%s\""
-msgstr "       %s  Hiányzó %s beállítás a cupsUIConstraints %s elemben: „%s”"
-
-#, c-format
-msgid "      %s  No base translation \"%s\" is included in file."
-msgstr "       %s  A fájl nem tartalmaz alap „%s” fordítást."
-
-#, c-format
-msgid ""
-"      %s  REQUIRED %s does not define choice None.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-"       %s  A KÖTELEZŐ %s nem definiálja a None lehetőséget.\n"
-"                 REF: 122. oldal, 5.17-es szakasz."
-
-#, c-format
-msgid "      %s  Size \"%s\" defined for %s but not for %s."
-msgstr ""
-"       %s  A(z) „%s” méret definiálva van ehhez: %s de ehhez már nem: %s."
-
-#, c-format
-msgid "      %s  Size \"%s\" has unexpected dimensions (%gx%g)."
-msgstr "       %s  A(z) „%s” méret váratlan kiterjedéssel rendelkezik (%gx%g)."
-
-#, c-format
-msgid "      %s  Size \"%s\" should be \"%s\"."
-msgstr "       %s  „%s” méret el van írva - „%s” kellene legyen."
-
-#, c-format
-msgid "      %s  Size \"%s\" should be the Adobe standard name \"%s\"."
-msgstr ""
-"      %s  A(z) „%s” méretnek ennek a szabványos Adobe névnek kellene lennie: "
-"„%s”."
-
-#, c-format
-msgid "      %s  cupsICCProfile %s hash value collides with %s."
-msgstr "       %s  A cupsICCProfile (%s) hash értéke ütközik ezzel: %s."
-
-#, c-format
-msgid "      %s  cupsUIResolver %s causes a loop."
-msgstr "       %s  A cupsUIResolver (%s) ismétlődést okoz."
-
-#, c-format
-msgid ""
-"      %s  cupsUIResolver %s does not list at least two different options."
-msgstr ""
-"       %s  A cupsUIResolver (%s) nem sorol fel legalább két eltérő "
-"beállítást."
-
-#, c-format
-msgid "      **FAIL**  %s choice names %s and %s differ only by case."
-msgstr ""
-"       **HIBA** A(z) %s lehetőségnevek: %s és %s csak a kis- és nagybetűkben "
-"különböznek."
-
-#, c-format
-msgid ""
-"      **FAIL**  %s must be 1284DeviceID\n"
-"                REF: Page 72, section 5.5"
-msgstr ""
-"       **HIBA**  %s csak 1284DeviceID lehet\n"
-"                 REF: 72. oldal, 5.5-ös szakasz"
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD Default%s %s\n"
-"                REF: Page 40, section 4.5."
-msgstr ""
-"       **HIBA**  HIBÁS Default%s %s\n"
-"\n"
-"                 REF: 40. oldal, 4.5-ös szakasz."
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD DefaultImageableArea %s\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-"       **HIBA**  HIBÁS DefaultImageableArea %s\n"
-"                 REF: 102. oldal, 5.15-ös szakasz."
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD DefaultPaperDimension %s\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-"       **HIBA**  HIBÁS DefaultPaperDimension %s\n"
-"                 REF: 103. oldal, 5.15-ös szakasz."
-
-msgid ""
-"      **FAIL**  BAD JobPatchFile attribute in file\n"
-"                REF: Page 24, section 3.4."
-msgstr ""
-"       **HIBA**  HIBÁS JobPatchFile attribútum a fájlban\n"
-"                 REF: 24. oldal, 3.4-es szakasz."
-
-msgid ""
-"      **FAIL**  BAD Manufacturer (should be \"HP\")\n"
-"                REF: Page 211, table D.1."
-msgstr ""
-"       **HIBA**  HIBÁS Manufacturer („HP” kellene)\n"
-"                 REF: 211. oldal, D.1 táblázat."
-
-msgid ""
-"      **FAIL**  BAD Manufacturer (should be \"Oki\")\n"
-"                REF: Page 211, table D.1."
-msgstr ""
-"       **HIBA**  HIBÁS Manufacturer („Oki” kellene)\n"
-"                 REF: 211. oldal, D.1 táblázat."
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n"
-"                REF: Pages 59-60, section 5.3."
-msgstr ""
-"       **HIBA**  HIBÁS ModelName - „%c” nem engedélyezett a "
-"karakterláncban.\n"
-"                 REF: 59-60. oldalak, 5.3-as szakasz."
-
-msgid ""
-"      **FAIL**  BAD PSVersion - not \"(string) int\".\n"
-"                REF: Pages 62-64, section 5.3."
-msgstr ""
-"       **HIBA**  HIBÁS PSVersion - nem „(string) int”.\n"
-"                 REF: 62-64. oldalak, 5.3-as szakasz."
-
-msgid ""
-"      **FAIL**  BAD Product - not \"(string)\".\n"
-"                REF: Page 62, section 5.3."
-msgstr ""
-"       **HIBA**  HIBÁS Product - nem „(string)”.\n"
-" REF: 62. oldal, 5.3-as szakasz."
-
-msgid ""
-"      **FAIL**  BAD ShortNickName - longer than 31 chars.\n"
-"                REF: Pages 64-65, section 5.3."
-msgstr ""
-"       **HIBA**  HIBÁS ShortNickName - 31 karakternél hosszabb.\n"
-"                 REF: 64-65. oldalak, 5.3-as szakasz."
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad %s choice %s\n"
-"                REF: Page 84, section 5.9"
-msgstr ""
-"       **HIBA**  Hibás %s választás: %s\n"
-"                 REF: 84. oldal, 5.9-es szakasz"
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad FileVersion \"%s\"\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-"       **HIBA**  Hibás FileVersion: „%s”\n"
-"                 REF: 56. oldal, 5.3-as szakasz."
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad FormatVersion \"%s\"\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-"       **HIBA**  Hibás FormatVersion: „%s”\n"
-"                 REF: 56. oldal, 5.3-as szakasz."
-
-#, c-format
-msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1."
-msgstr ""
-"       **HIBA**  Bad LanguageEncoding %s - ISOLatin1 kellene hogy legyen."
-
-#, c-format
-msgid "      **FAIL**  Bad LanguageVersion %s - must be English."
-msgstr "       **HIBA**  Bad LanguageVersion %s - English kellene hogy legyen."
-
-#, c-format
-msgid "      **FAIL**  Default option code cannot be interpreted: %s"
-msgstr "       **HIBA**  Az alapértelmezett beállításkód nem értelmezhető: %s"
-
-#, c-format
-msgid ""
-"      **FAIL**  Default translation string for option %s choice %s contains "
-"8-bit characters."
-msgstr ""
-"       **HIBA**  Az alapértelmezett fordítás %s beállítás %s lehetőségéhez 8 "
-"bites karaktereket tartalmaz."
-
-#, c-format
-msgid ""
-"      **FAIL**  Default translation string for option %s contains 8-bit "
-"characters."
-msgstr ""
-"       **HIBA**  Az alapértelmezett fordítás a(z) %s beállításhoz 8 bites "
-"karaktereket tartalmaz."
-
-#, c-format
-msgid "      **FAIL**  Group names %s and %s differ only by case."
-msgstr ""
-"       **HIBA**  A(z) %s és %s csoportnevek csak a kis- és nagybetűkben "
-"különböznek."
-
-#, c-format
-msgid "      **FAIL**  Multiple occurrences of %s choice name %s."
-msgstr "       **HIBA**  A(z) %s választásnév (%s) többször is előfordul."
-
-#, c-format
-msgid "      **FAIL**  Option names %s and %s differ only by case."
-msgstr ""
-"       **HIBA**  A(z) %s és %s beállításnevek csak a kis- és nagybetűkben "
-"különböznek."
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED Default%s\n"
-"                REF: Page 40, section 4.5."
-msgstr ""
-"       **HIBA**  KÖTELEZŐ a Default%s\n"
-"                 REF: 40. oldal, 4.5-ös szakasz."
-
-msgid ""
-"      **FAIL**  REQUIRED DefaultImageableArea\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-"       **HIBA**  KÖTELEZŐ a DefaultImageableArea\n"
-"                 REF: 102. oldal, 5.15-ös szakasz."
-
-msgid ""
-"      **FAIL**  REQUIRED DefaultPaperDimension\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-"       **HIBA**  KÖTELEZŐ a DefaultPaperDimension\n"
-"                 REF: 103. oldal, 5.15-ös szakasz."
-
-msgid ""
-"      **FAIL**  REQUIRED FileVersion\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-"       **HIBA**  KÖTELEZŐ a FileVersion\n"
-"                 REF: 56. oldal, 5.3-as szakasz."
-
-msgid ""
-"      **FAIL**  REQUIRED FormatVersion\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-"       **HIBA**  KÖTELEZŐ a FormatVersion\n"
-"                 REF: 56. oldal, 5.3-as szakasz."
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED ImageableArea for PageSize %s\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-"       **HIBA**  KÖTELEZŐ az ImageableArea ehhez: PageSize %s\n"
-"                 REF: 41. oldal, 5. szakasz.\n"
-"                 REF: 102. oldal, 5.15-ös szakasz."
-
-msgid ""
-"      **FAIL**  REQUIRED LanguageEncoding\n"
-"                REF: Pages 56-57, section 5.3."
-msgstr ""
-"       **HIBA**  KÖTELEZŐ a LanguageEncoding\n"
-"                 REF: 56-57. oldalak, 5.3-as szakasz."
-
-msgid ""
-"      **FAIL**  REQUIRED LanguageVersion\n"
-"                REF: Pages 57-58, section 5.3."
-msgstr ""
-"       **HIBA**  KÖTELEZŐ a LanguageVersion\n"
-"                 REF: 57-58. oldalak, 5.3-as szakasz."
-
-msgid ""
-"      **FAIL**  REQUIRED Manufacturer\n"
-"                REF: Pages 58-59, section 5.3."
-msgstr ""
-"       **HIBA**  KÖTELEZŐ a Manufacturer\n"
-"                 REF: 58-59. oldalak, 5.3-as szakasz."
-
-msgid ""
-"      **FAIL**  REQUIRED ModelName\n"
-"                REF: Pages 59-60, section 5.3."
-msgstr ""
-"       **HIBA**  KÖTELEZŐ a ModelName\n"
-"                 REF: 59-60. oldalak, 5.3-as szakasz."
-
-msgid ""
-"      **FAIL**  REQUIRED NickName\n"
-"                REF: Page 60, section 5.3."
-msgstr ""
-"       **HIBA**  KÖTELEZŐ a NickName\n"
-"                 REF: 60. oldal, 5.3-as szakasz."
-
-msgid ""
-"      **FAIL**  REQUIRED PCFileName\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-"       **HIBA**  KÖTELEZŐ a PCFileName\n"
-"                 REF: 61-62. oldalak, 5.3-as szakasz."
-
-msgid ""
-"      **FAIL**  REQUIRED PSVersion\n"
-"                REF: Pages 62-64, section 5.3."
-msgstr ""
-"       **HIBA**  KÖTELEZŐ a PSVersion\n"
-"                 REF: 62-64. oldalak, 5.3-as szakasz."
-
-msgid ""
-"      **FAIL**  REQUIRED PageRegion\n"
-"                REF: Page 100, section 5.14."
-msgstr ""
-"       **HIBA**  KÖTELEZŐ a PageRegion\n"
-"                 REF: 100. oldal, 5.14-es szakasz."
-
-msgid ""
-"      **FAIL**  REQUIRED PageSize\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 99, section 5.14."
-msgstr ""
-"       **HIBA**  KÖTELEZŐ a PageSize\n"
-"                 REF: 41. oldal, 5. szakasz.\n"
-"                 REF: 99. oldal, 5.14-es szakasz."
-
-msgid ""
-"      **FAIL**  REQUIRED PageSize\n"
-"                REF: Pages 99-100, section 5.14."
-msgstr ""
-"       **HIBA**  KÖTELEZŐ a PageSize\n"
-"                 REF: 99-100. oldalak, 5.14-es szakasz."
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED PaperDimension for PageSize %s\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-"       **HIBA**  KÖTELEZŐ a PaperDimension ehhez: PageSize %s\n"
-"                 REF: 41. oldal, 5. szakasz.\n"
-"                 REF: 103. oldal, 5.15-ös szakasz."
-
-msgid ""
-"      **FAIL**  REQUIRED Product\n"
-"                REF: Page 62, section 5.3."
-msgstr ""
-"       **HIBA**  KÖTELEZŐ a Product\n"
-"                 REF: 62. oldal, 5.3-as szakasz."
-
-msgid ""
-"      **FAIL**  REQUIRED ShortNickName\n"
-"                REF: Page 64-65, section 5.3."
-msgstr ""
-"       **HIBA**  KÖTELEZŐ a ShortNickName\n"
-"                 REF: 64-65. oldalak, 5.3-as szakasz."
-
-#, c-format
-msgid "      **FAIL**  Unable to open PPD file - %s"
-msgstr "       **HIBA**  Nem nyitható meg a PPD-fájl - %s"
-
-#, c-format
-msgid "      **FAIL**  Unable to open PPD file - %s on line %d."
-msgstr "       **HIBA**  Nem nyitható meg a PPD-fájl - %s a(z) %d. sorban."
-
-#, c-format
-msgid "    %d ERRORS FOUND"
-msgstr "    %d HIBA TALÁLHATÓ"
-
-msgid "    -h       Show program usage"
-msgstr "    -h       Használati utasítás megjelenítése"
-
-#, c-format
-msgid ""
-"    Bad %%%%BoundingBox: on line %d.\n"
-"        REF: Page 39, %%%%BoundingBox:"
-msgstr ""
-"    Hibás %%%%BoundingBox: a(z) %d. sorban.\n"
-"        REF: 39. oldal, %%%%BoundingBox:"
-
-#, c-format
-msgid ""
-"    Bad %%%%Page: on line %d.\n"
-"        REF: Page 53, %%%%Page:"
-msgstr ""
-"    Hibás %%%%Page: a(z) %d. sorban.\n"
-"        REF: 53. oldal, %%%%Page:"
-
-#, c-format
-msgid ""
-"    Bad %%%%Pages: on line %d.\n"
-"        REF: Page 43, %%%%Pages:"
-msgstr ""
-"    Hibás %%%%Pages: a(z) %d. sorban.\n"
-"        REF: 43. oldal, %%%%Pages:"
-
-#, c-format
-msgid ""
-"    Line %d is longer than 255 characters (%d).\n"
-"        REF: Page 25, Line Length"
-msgstr ""
-"    A(z) %d. sor hosszabb 255 karakternél (%d).\n"
-"        REF: Page 25. oldal, sorhossz"
-
-msgid ""
-"    Missing %!PS-Adobe-3.0 on first line.\n"
-"        REF: Page 17, 3.1 Conforming Documents"
-msgstr ""
-"    Hiányzó %!PS-Adobe-3.0 az első sorban.\n"
-"        REF: 17. oldal, 3.1 Megfelelő dokumentumok"
-
-#, c-format
-msgid "    Missing %%EndComments comment.        REF: Page 41, %%EndComments"
-msgstr ""
-"    Hiányzó %%EndComments megjegyzés.\n"
-"        REF: 41. oldal, %%EndComments"
-
-#, c-format
-msgid ""
-"    Missing or bad %%BoundingBox: comment.\n"
-"        REF: Page 39, %%BoundingBox:"
-msgstr ""
-"    Hiányzó vagy hibás %%BoundingBox: megjegyzés.\n"
-"        REF: 39. oldal, %%BoundingBox:"
-
-#, c-format
-msgid ""
-"    Missing or bad %%Page: comments.\n"
-"        REF: Page 53, %%Page:"
-msgstr ""
-"    Hiányzó vagy hibás %%Page: megjegyzések.\n"
-"        REF: 53. oldal, %%Page:"
-
-#, c-format
-msgid ""
-"    Missing or bad %%Pages: comment.\n"
-"        REF: Page 43, %%Pages:"
-msgstr ""
-"    Hiányzó vagy hibás %%Pages: megjegyzés.\n"
-"        REF: 43. oldal, %%Pages:"
-
-msgid "    NO ERRORS FOUND"
-msgstr "    NEM TALÁLHATÓ HIBA"
-
-#, c-format
-msgid "    Saw %d lines that exceeded 255 characters."
-msgstr "    %d sor meghaladta a 255 karaktert."
-
-#, c-format
-msgid "    Too many %%BeginDocument comments."
-msgstr "    Túl sok %%BeginDocument megjegyzés."
-
-#, c-format
-msgid "    Too many %%EndDocument comments."
-msgstr "    Túl sok %%EndDocument megjegyzés."
-
-msgid "    Warning: file contains binary data."
-msgstr "    Figyelmeztetés: a fájl bináris adatokat tartalmaz."
-
-#, c-format
-msgid "    Warning: no %%EndComments comment in file."
-msgstr "    Figyelmeztetés: nincs %%EndComments megjegyzés a fájlban."
-
-#, c-format
-msgid "    Warning: obsolete DSC version %.1f in file."
-msgstr "    Figyelmeztetés: elavult DSC verzió (%.1f) a fájlban."
-
-msgid "  --[no-]debug-logging    Turn debug logging on/off."
-msgstr "  --[no-]debug-logging    Hibakeresési naplózás be/ki."
-
-msgid "  --[no-]remote-admin     Turn remote administration on/off."
-msgstr "  --[no-]remote-admin     Távoli adminisztráció be/ki."
-
-msgid "  --[no-]remote-any       Allow/prevent access from the Internet."
-msgstr "  --[no-]remote-any       Internetről való elérés be/ki."
-
-msgid "  --[no-]remote-printers  Show/hide remote printers."
-msgstr "  --[no-]remote-printers  Távoli nyomtatók megjelenítése/elrejtése."
-
-msgid "  --[no-]share-printers   Turn printer sharing on/off."
-msgstr "  --[no-]share-printers   Nyomtatómegosztás be/ki."
-
-msgid "  --[no-]user-cancel-any  Allow/prevent users to cancel any job."
-msgstr "  --[no-]user-cancel-any  Felhasználói feladatmegszakítás be/ki."
-
-msgid "  --cr                    End lines with CR (Mac OS 9)."
-msgstr "  --cr                    Sorok zárása CR-rel (Mac OS 9)."
-
-msgid "  --crlf                  End lines with CR + LF (Windows)."
-msgstr "  --crlf                  Sorok zárása CR + LF-fel (Windows)."
-
-msgid "  --lf                    End lines with LF (UNIX/Linux/Mac OS X)."
-msgstr "  --lf                    Sorok zárása LF-fel (UNIX/Linux/Mac OS X)."
-
-msgid "  -4                      Connect using IPv4."
-msgstr "  -4                      Csatlakozás IPv4 használatával."
-
-msgid "  -6                      Connect using IPv6."
-msgstr "  -6                      Csatlakozás IPv6 használatával."
-
-msgid "  -C                      Send requests using chunking (default)."
-msgstr ""
-"  -C                      Kérések küldése darabolás használatával (alap)."
-
-msgid "  -D                      Remove the input file when finished."
-msgstr ""
-"  -D                      A bemeneti fájl eltávolítása a befejezés után."
-
-msgid "  -D name=value           Set named variable to value."
-msgstr "  -D név=érték            A megnevezett változó beállítása az értékre."
-
-msgid "  -E                      Enable encryption."
-msgstr "  -E                      Titkosítás engedélyezése."
-
-msgid "  -E                      Encrypt the connection to the server."
-msgstr "  -E                      A kapcsolat titkosítása a kiszolgálóhoz."
-
-msgid "  -E                      Test with TLS encryption."
-msgstr "  -E                      Tesztelés TLS titkosítással."
-
-msgid ""
-"  -F                      Run in the foreground but detach from console."
-msgstr ""
-"  -F                      Futtatás az előtérben, de leválasztás a konzolról."
-
-msgid "  -H samba-server         Use the named SAMBA server."
-msgstr "  -H samba-kiszolgáló     A megnevezett SAMBA kiszolgáló használata."
-
-msgid "  -I                      Ignore errors."
-msgstr "  -I                      Hibák figyelmen kívül hagyása."
-
-msgid "  -I include-dir          Add include directory to search path."
-msgstr ""
-"  -I include-kvt          Az include könyvtár keresési útvonalhoz adása."
-
-msgid "  -I {filename,filters,none,profiles}"
-msgstr "  -I {filename,filters,none,profiles}"
-
-msgid "  -J title                Set title."
-msgstr "  -J cím                  Cím beállítása."
-
-msgid "  -L                      Send requests using content-length."
-msgstr ""
-"  -L                      Kérések küldése a content-length használatával."
-
-msgid "  -P filename.ppd         Set PPD file."
-msgstr "  -P fájlnév.ppd          PPD-fájl megadása."
-
-msgid "  -R root-directory       Set alternate root."
-msgstr "  -R root-könyvtár        Alternatív root beállítása."
-
-msgid "  -S                      Test with SSL encryption."
-msgstr "  -S                      Tesztelés SSL titkosítással."
-
-msgid "  -T                      Set the receive/send timeout in seconds."
-msgstr ""
-"  -T                      A fogadási/küldési időkorlát beállítása "
-"másodpercben."
-
-msgid "  -U samba-user           Authenticate using the named SAMBA user."
-msgstr ""
-"  -U samba-felh           Hitelesítés a megnevezett SAMBA felhasználóként."
-
-msgid "  -U username             Set username for job."
-msgstr "  -U felhasználónév       Felhasználónév beállítása a feladathoz."
-
-msgid "  -U username             Specify username."
-msgstr "  -U felhasználónév       Felhasználónév megadása."
-
-msgid "  -V version              Set default IPP version."
-msgstr "  -V verzió               Alapértelmezett IPP verzió beállítása."
-
-msgid ""
-"  -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,"
-"translations}"
-msgstr ""
-"  -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,"
-"translations}"
-
-msgid "  -X                      Produce XML plist instead of plain text."
-msgstr ""
-"  -X                      XML plist előállítása egyszerű szöveg helyett."
-
-msgid "  -a                      Export all printers."
-msgstr "  -a                      Minden nyomtató exportálása."
-
-msgid "  -a 'name=value ...'     Set option(s)."
-msgstr "  -a 'név=érték ...'      Beállítások megadása."
-
-msgid "  -c catalog.po           Load the specified message catalog."
-msgstr "  -c katalógus.po         A megadott üzenetkatalógus betöltése."
-
-msgid "  -c config-file          Load alternate configuration file."
-msgstr "  -c konfig-fájl          Másik konfigurációs fájl betöltése."
-
-msgid "  -c copies               Set number of copies."
-msgstr "  -c másolatok            Másolatok számának megadása."
-
-msgid "  -c cupsd.conf           Set cupsd.conf file to use."
-msgstr "  -c cupsd.conf           Használandó cupsd.conf fájl megadása."
-
-msgid "  -d name=value           Set named variable to value."
-msgstr "  -d név=érték            A megnevezett változó beállítása az értékre."
-
-msgid "  -d output-dir           Specify the output directory."
-msgstr "  -d kimeneti-kvt         A kimeneti könyvtár megadása."
-
-msgid "  -d printer              Use the named printer."
-msgstr "  -d nyomtató             A megnevezett nyomtató használata."
-
-msgid "  -e                      Use every filter from the PPD file."
-msgstr "  -e                      Minden szűrő használata a PPD fájlból."
-
-msgid "  -f                      Run in the foreground."
-msgstr "  -f                      Futtatás az előtérben."
-
-msgid "  -f filename             Set default request filename."
-msgstr "  -f fájlnév              Alapértelmezett kérésfájlnév beállítása."
-
-msgid "  -f filename             Set file to be converted (otherwise stdin)."
-msgstr ""
-"  -f fájlnév              Átalakítandó fájl megadása (egyébként stdin)."
-
-msgid "  -h                      Show this usage message."
-msgstr "  -h                      Ezen súgó megjelenítése."
-
-msgid "  -h cups-server          Use the named CUPS server."
-msgstr "  -h cups-kiszolgáló      A megnevezett CUPS kiszolgáló használata."
-
-msgid "  -h server[:port]        Specify server address."
-msgstr "  -h kiszolgáló[:port]    Kiszolgáló címének megadása."
-
-msgid "  -i mime/type            Set input MIME type (otherwise auto-typed)."
-msgstr ""
-"  -i mime/type            Bemeneti MIME-típus beállítása (egyébként "
-"automatikus)."
-
-msgid ""
-"  -i seconds              Repeat the last file with the given time interval."
-msgstr ""
-"  -i másodperc            Az utolsó fájl megismétlése a megadott időközzel."
-
-msgid ""
-"  -j job-id[,N]           Filter file N from the specified job (default is "
-"file 1)."
-msgstr ""
-"  -j job-id[,N]           Az N. fájl kiszűrése a megadott feladatból "
-"(alapértelmezett az 1.)."
-
-msgid ""
-"  -j mime/type            Set output MIME type (otherwise application/pdf)."
-msgstr ""
-"  -j mime/type            Kimeneti MIME-típus beállítása (egyébként "
-"application/pdf)."
-
-msgid "  -l                      Run cupsd from launchd(8)."
-msgstr ""
-"  -l                      A cupsd futtatása a launchd(8) használatával."
-
-msgid "  -l lang[,lang,...]      Specify the output language(s) (locale)."
-msgstr "  -l nyelv[,nyelv,...]    A kimeneti nyelvek (locale) megadása."
-
-msgid "  -m                      Use the ModelName value as the filename."
-msgstr "  -m                      A ModelName érték használata fájlnévként."
-
-msgid ""
-"  -m mime/type            Set output MIME type (otherwise application/pdf)."
-msgstr ""
-"  -m mime/type            Kimeneti MIME-típus beállítása (egyébként "
-"application/pdf)."
-
-msgid "  -n copies               Set number of copies."
-msgstr "  -n másolatok            Másolatok számának megadása."
-
-msgid ""
-"  -n count                Repeat the last file the given number of times."
-msgstr ""
-"  -n szám                 Az utolsó fájl ismétlése a megadott alkalommal."
-
-msgid "  -o filename             Set file to be generated (otherwise stdout)."
-msgstr ""
-"  -o fájlnév              Az előállítandó fájl beállítása (egyébként stdout)."
-
-msgid ""
-"  -o filename.drv         Set driver information file (otherwise ppdi.drv)."
-msgstr ""
-"  -o fájlnév.drv          Illesztőprogram-információs fájl beállítása "
-"(egyébként ppdi.drv)."
-
-msgid "  -o filename.ppd[.gz]    Set output file (otherwise stdout)."
-msgstr "  -o fájlnév.ppd[.gz]     Kimeneti fájl beállítása (egyébként stdout)."
-
-msgid "  -o name=value           Set option(s)."
-msgstr "  -o név=érték            Beállítások megadása."
-
-msgid "  -p filename.ppd         Set PPD file."
-msgstr "  -p fájlnév.ppd          PPD-fájl megadása."
-
-msgid "  -q                      Be quiet - no output except errors."
-msgstr "  -q                      Csendes mód - nincs kimenet a hibákon kívül."
-
-msgid "  -q                      Run silently."
-msgstr "  -q                      Csendes futás."
-
-msgid "  -r                      Use 'relaxed' open mode."
-msgstr "  -r                      A „lazított” megnyitási mód használata."
-
-msgid "  -t                      Produce a test report."
-msgstr "  -t                      Tesztjelentés előállítása."
-
-msgid "  -t                      Test PPDs instead of generating them."
-msgstr "  -t                      PPD-k tesztelése az előállításuk helyett."
-
-msgid "  -t                      Test the configuration file."
-msgstr "  -t                      A konfigurációs fájl tesztelése."
-
-msgid "  -t title                Set title."
-msgstr "  -t cím                  Cím beállítása."
-
-msgid "  -u                      Remove the PPD file when finished."
-msgstr "  -u                      A PPD fájl eltávolítása befejezéskor."
-
-msgid "  -v                      Be slightly verbose."
-msgstr "  -v                      Valamivel részletesebb kimenet."
-
-msgid "  -v                      Be verbose (more v's for more verbosity)."
-msgstr ""
-"  -v                      Részletes mód (nagyobb részletesség = több v)."
-
-msgid "  -v                      Be verbose (show commands)."
-msgstr "  -v                      Részletes mód (parancsok megjelenítése)."
-
-msgid "  -v                      Show all attributes sent and received."
-msgstr ""
-"  -v                      Minden elküldött és fogadott attribútum "
-"megjelenítése."
-
-msgid "  -vv                     Be very verbose."
-msgstr "  -vv                   Nagyon részletes mód."
-
-msgid "  -z                      Compress PPD files using GNU zip."
-msgstr ""
-"  -z                      PPD-fájlok tömörítése a GNU zip használatával."
-
-msgid " FAIL"
-msgstr " HIBA"
-
-msgid " PASS"
-msgstr " SIKER"
-
-#, c-format
-msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes"
-msgstr "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bájt"
-
-#, c-format
-msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes"
-msgstr "%-7s %-7.7s %-7d %-31.31s %.0f bájt"
-
-#, c-format
-msgid "%.0f x %.0f millimeters"
-msgstr "%.0f x %.0f milliméter"
-
-#, c-format
-msgid "%.0f x %.0f to %.0f x %.0f millimeters"
-msgstr "%.0f x %.0f to %.0f x %.0f milliméter"
-
-#, c-format
-msgid "%.2f x %.2f inches"
-msgstr "%.2f x %.2f hüvelyk"
-
-#, c-format
-msgid "%.2f x %.2f to %.2f x %.2f inches"
-msgstr "%.2f x %.2f to %.2f x %.2f hüvelyk"
-
-#, c-format
-msgid "%s accepting requests since %s"
-msgstr "%s elfogadja a kéréseket ez óta: %s"
-
-#, c-format
-msgid "%s cannot be changed."
-msgstr "%s nem módosítható."
-
-#, c-format
-msgid "%s is not implemented by the CUPS version of lpc."
-msgstr "%s nincs megvalósítva az lpc CUPS verziója által."
-
-#, c-format
-msgid "%s is not ready"
-msgstr "%s nem áll készen"
-
-#, c-format
-msgid "%s is ready"
-msgstr "%s készen áll"
-
-#, c-format
-msgid "%s is ready and printing"
-msgstr "%s készen áll és nyomtat"
-
-#, c-format
-msgid "%s job-id user title copies options [file]"
-msgstr "%s feladatazonosító felhasználó cím példányok beállítások [fájl]"
-
-#, c-format
-msgid "%s not accepting requests since %s -"
-msgstr "%s nem fogad el kéréseket ez óta: %s -"
-
-#, c-format
-msgid "%s not supported."
-msgstr "%s nem támogatott."
-
-#, c-format
-msgid "%s/%s accepting requests since %s"
-msgstr "%s/%s elfogadja a kéréseket ez óta: %s"
-
-#, c-format
-msgid "%s/%s not accepting requests since %s -"
-msgstr "%s/%s nem fogadja el a kéréseket ez óta: %s -"
-
-#, c-format
-msgid "%s: %-33.33s [job %d localhost]"
-msgstr "%s: %-33.33s [%d. feladat localhost]"
-
-#. TRANSLATORS: Message is "subject: error"
-#, c-format
-msgid "%s: %s"
-msgstr "%s: %s"
-
-#, c-format
-msgid "%s: %s failed: %s"
-msgstr "%s: %s sikertelen: %s"
-
-#, c-format
-msgid "%s: Don't know what to do."
-msgstr "%s: Nem dönthető el, mi a teendő."
-
-#, c-format
-msgid ""
-"%s: Error - %s environment variable names non-existent destination \"%s\"."
-msgstr "%s: Hiba - a(z) %s környezeti változó nem létező célt nevez meg: „%s”."
-
-#, c-format
-msgid "%s: Error - bad job ID."
-msgstr "%s: Hiba - hibás feladatazonosító."
-
-#, c-format
-msgid "%s: Error - cannot print files and alter jobs simultaneously."
-msgstr ""
-"%s: Hiba - nem lehet egyszerre fájlokat nyomtatni és feladatokat "
-"megváltoztatni."
-
-#, c-format
-msgid "%s: Error - cannot print from stdin if files or a job ID are provided."
-msgstr ""
-"%s: Hiba - nem lehet az stdin-ről nyomtatni, ha fájlok vagy feladatazonosító "
-"van megadva."
-
-#, c-format
-msgid "%s: Error - expected character set after \"-S\" option."
-msgstr "%s: Hiba - a „-S” kapcsoló után karakterkészletnek kellene állnia."
-
-#, c-format
-msgid "%s: Error - expected content type after \"-T\" option."
-msgstr "%s: Hiba - a „-T” kapcsoló után tartalomtípusnak kellene állnia."
-
-#, c-format
-msgid "%s: Error - expected copies after \"-#\" option."
-msgstr "%s: Hiba - a „-#” kapcsoló után példányszámnak kellene állnia."
-
-#, c-format
-msgid "%s: Error - expected copies after \"-n\" option."
-msgstr "%s: Hiba - a „-n” kapcsoló után példányszámnak kellene állnia."
-
-#, c-format
-msgid "%s: Error - expected destination after \"-P\" option."
-msgstr "%s: Hiba - a „-P” kapcsoló után célnak kellene állnia."
-
-#, c-format
-msgid "%s: Error - expected destination after \"-b\" option."
-msgstr "%s: Hiba - a „-b” kapcsoló után célnak kellene állnia."
-
-#, c-format
-msgid "%s: Error - expected destination after \"-d\" option."
-msgstr "%s: Hiba - a „-d” kapcsoló után célnak kellene állnia."
-
-#, c-format
-msgid "%s: Error - expected form after \"-f\" option."
-msgstr "%s: Hiba - a „-f” kapcsoló után típusnak kellene állnia."
-
-#, c-format
-msgid "%s: Error - expected hold name after \"-H\" option."
-msgstr "%s: Hiba - a „-H” kapcsoló után tárolónévnek kellene állnia."
-
-#, c-format
-msgid "%s: Error - expected hostname after \"-H\" option."
-msgstr "%s: Hiba - a „-H” kapcsoló után gépnévnek kellene állnia."
-
-#, c-format
-msgid "%s: Error - expected hostname after \"-h\" option."
-msgstr "%s: Hiba - a „-h” kapcsoló után gépnévnek kellene állnia."
-
-#, c-format
-msgid "%s: Error - expected mode list after \"-y\" option."
-msgstr "%s: Hiba - a „-y” kapcsoló után módlistának kellene állnia."
-
-#, c-format
-msgid "%s: Error - expected name after \"-%c\" option."
-msgstr "%s: Hiba - a „-%c” kapcsoló után névnek kellene állnia."
-
-#, c-format
-msgid "%s: Error - expected option=value after \"-o\" option."
-msgstr ""
-"%s: Hiba - a „-o” kapcsoló után egy beállítás=érték párnak kellene állnia."
-
-#, c-format
-msgid "%s: Error - expected page list after \"-P\" option."
-msgstr "%s: Hiba - a „-P” kapcsoló után oldallistának kellene állnia."
-
-#, c-format
-msgid "%s: Error - expected priority after \"-%c\" option."
-msgstr "%s: Hiba - a „-%c” kapcsoló után prioritásnak kellene állnia."
-
-#, c-format
-msgid "%s: Error - expected reason text after \"-r\" option."
-msgstr ""
-"%s: Hiba - a „-r” kapcsoló után az okot megadó szövegnek kellene állnia."
-
-#, c-format
-msgid "%s: Error - expected title after \"-t\" option."
-msgstr "%s: Hiba - a „-t” kapcsoló után címnek kellene állnia."
-
-#, c-format
-msgid "%s: Error - expected username after \"-U\" option."
-msgstr "%s: Hiba - a „-U” kapcsoló után felhasználónévnek kellene állnia."
-
-#, c-format
-msgid "%s: Error - expected username after \"-u\" option."
-msgstr "%s: Hiba - a „-U” kapcsoló után felhasználónévnek kellene állnia."
-
-#, c-format
-msgid "%s: Error - expected value after \"-%c\" option."
-msgstr "%s: Hiba - a „-%c” kapcsoló után értéknek kellene állnia."
-
-#, c-format
-msgid ""
-"%s: Error - need \"completed\", \"not-completed\", or \"all\" after \"-W\" "
-"option."
-msgstr ""
-"%s: Hiba - a „-W” kapcsoló után a „completed”, „not-completed” vagy „all” "
-"egyikének kellene állnia."
-
-#, c-format
-msgid "%s: Error - no default destination available."
-msgstr "%s: Hiba - nem érhető el alapértelmezett cél."
-
-#, c-format
-msgid "%s: Error - priority must be between 1 and 100."
-msgstr "%s: Hiba - a prioritásnak 1 és 100 között kell lennie."
-
-#, c-format
-msgid "%s: Error - scheduler not responding."
-msgstr "%s: Hiba - az ütemező nem válaszol."
-
-#, c-format
-msgid "%s: Error - too many files - \"%s\"."
-msgstr "%s: Hiba - túl sok fájl - „%s”."
-
-#, c-format
-msgid "%s: Error - unable to access \"%s\" - %s"
-msgstr "%s: Hiba - „%s” nem érhető el - %s"
-
-#, c-format
-msgid "%s: Error - unable to queue from stdin - %s."
-msgstr "%s: Hiba - nem lehet sorba állítani az stdin-ről - %s."
-
-#, c-format
-msgid "%s: Error - unknown destination \"%s\"."
-msgstr "%s: Hiba - ismeretlen cél: - „%s”."
-
-#, c-format
-msgid "%s: Error - unknown destination \"%s/%s\"."
-msgstr "%s: Hiba - ismeretlen cél: „%s/%s”."
-
-#, c-format
-msgid "%s: Error - unknown option \"%c\"."
-msgstr "%s: Hiba - ismeretlen kapcsoló: „%c”."
-
-#, c-format
-msgid "%s: Error - unknown option \"%s\"."
-msgstr "%s: Hiba - ismeretlen kapcsoló: „%s”."
-
-#, c-format
-msgid "%s: Expected job ID after \"-i\" option."
-msgstr "%s: Feladatazonosítónak kellene állnia a „-i” kapcsoló után."
-
-#, c-format
-msgid "%s: Invalid destination name in list \"%s\"."
-msgstr "%s: Érvénytelen célnév a listában: „%s”."
-
-#, c-format
-msgid "%s: Invalid filter string \"%s\"."
-msgstr "%s: Érvénytelen szűrőkarakterlánc: „%s”."
-
-#, c-format
-msgid "%s: Need job ID (\"-i jobid\") before \"-H restart\"."
-msgstr "%s: Feladatazonosító („-i jobid”) szükséges a „-H restart” előtt."
-
-#, c-format
-msgid "%s: No filter to convert from %s/%s to %s/%s."
-msgstr "%s: Nincs szűrő %s/%s átalakításához erre: %s/%s."
-
-#, c-format
-msgid "%s: Operation failed: %s"
-msgstr "%s: A művelet sikertelen: %s"
-
-#, c-format
-msgid "%s: Sorry, no encryption support."
-msgstr "%s: Elnézést, a titkosítás nem támogatott."
-
-#, c-format
-msgid "%s: Unable to connect to server."
-msgstr "%s: Nem lehet a kiszolgálóhoz kapcsolódni."
-
-#, c-format
-msgid "%s: Unable to contact server."
-msgstr "%s: Nem lehet elérni a kiszolgálót."
-
-#, c-format
-msgid "%s: Unable to determine MIME type of \"%s\"."
-msgstr "%s: Nem határozható meg a(z) „%s” MIME-típusa."
-
-#, c-format
-msgid "%s: Unable to open %s: %s"
-msgstr "%s: A(z) %s nem nyitható meg: %s"
-
-#, c-format
-msgid "%s: Unable to open PPD file: %s on line %d."
-msgstr "%s: Nem nyitható meg a(z) %s PPD-fájl a(z) %d. sorban."
-
-#, c-format
-msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"."
-msgstr "%s: Nem olvasható a MIME-adatbázis innen: „%s” vagy innen: „%s”."
-
-#, c-format
-msgid "%s: Unknown destination \"%s\"."
-msgstr "%s: Ismeretlen cél: „%s”."
-
-#, c-format
-msgid "%s: Unknown destination MIME type %s/%s."
-msgstr "%s: Ismeretlen cél MIME-típus: %s/%s."
-
-#, c-format
-msgid "%s: Unknown option \"%c\"."
-msgstr "%s: Ismeretlen kapcsoló: „%c”."
-
-#, c-format
-msgid "%s: Unknown source MIME type %s/%s."
-msgstr "%s: Ismeretlen forrás MIME-típus: %s/%s."
-
-#, c-format
-msgid ""
-"%s: Warning - \"%c\" format modifier not supported - output may not be "
-"correct."
-msgstr ""
-"%s: Figyelmeztetés - a(z) „%c” formátummódosító nem támogatott - a kimenet "
-"nem feltétlenül lesz helyes."
-
-#, c-format
-msgid "%s: Warning - character set option ignored."
-msgstr "%s: Figyelmeztetés - a karakterkészlet kapcsoló mellőzve."
-
-#, c-format
-msgid "%s: Warning - content type option ignored."
-msgstr "%s: Figyelmeztetés - a tartalomtípus kapcsoló mellőzve."
-
-#, c-format
-msgid "%s: Warning - form option ignored."
-msgstr "%s: Figyelmeztetés - a típus kapcsoló mellőzve."
-
-#, c-format
-msgid "%s: Warning - mode option ignored."
-msgstr "%s: Figyelmeztetés - a mód kapcsoló mellőzve."
-
-msgid "-1"
-msgstr "-1"
-
-msgid "-10"
-msgstr "-10"
-
-msgid "-100"
-msgstr "-100"
-
-msgid "-105"
-msgstr "-105"
-
-msgid "-11"
-msgstr "-11"
-
-msgid "-110"
-msgstr "-110"
-
-msgid "-115"
-msgstr "-115"
-
-msgid "-12"
-msgstr "-12"
-
-msgid "-120"
-msgstr "-120"
-
-msgid "-13"
-msgstr "-13"
-
-msgid "-14"
-msgstr "-14"
-
-msgid "-15"
-msgstr "-15"
-
-msgid "-2"
-msgstr "-2"
-
-msgid "-20"
-msgstr "-20"
-
-msgid "-25"
-msgstr "-25"
-
-msgid "-3"
-msgstr "-3"
-
-msgid "-30"
-msgstr "-30"
-
-msgid "-35"
-msgstr "-35"
-
-msgid "-4"
-msgstr "-4"
-
-msgid "-40"
-msgstr "-40"
-
-msgid "-45"
-msgstr "-45"
-
-msgid "-5"
-msgstr "-5"
-
-msgid "-50"
-msgstr "-50"
-
-msgid "-55"
-msgstr "-55"
-
-msgid "-6"
-msgstr "-6"
-
-msgid "-60"
-msgstr "-60"
-
-msgid "-65"
-msgstr "-65"
-
-msgid "-7"
-msgstr "-7"
-
-msgid "-70"
-msgstr "-70"
-
-msgid "-75"
-msgstr "-75"
-
-msgid "-8"
-msgstr "-8"
-
-msgid "-80"
-msgstr "-80"
-
-msgid "-85"
-msgstr "-85"
-
-msgid "-9"
-msgstr "-9"
-
-msgid "-90"
-msgstr "-90"
-
-msgid "-95"
-msgstr "-95"
-
-msgid "0"
-msgstr "0"
-
-msgid "1"
-msgstr "1"
-
-msgid "1 inch/sec."
-msgstr "1 hüvelyk/mp."
-
-msgid "1.25x0.25\""
-msgstr "1,25x0,25\""
-
-msgid "1.25x2.25\""
-msgstr "1,25x2,25\""
-
-msgid "1.5 inch/sec."
-msgstr "1,5 hüvelyk/mp."
-
-msgid "1.50x0.25\""
-msgstr "1,50x0,25\""
-
-msgid "1.50x0.50\""
-msgstr "1,50x0,50\""
-
-msgid "1.50x1.00\""
-msgstr "1,50x1,00\""
-
-msgid "1.50x2.00\""
-msgstr "1,50x2,00\""
-
-msgid "10"
-msgstr "10"
-
-msgid "10 inches/sec."
-msgstr "10 hüvelyk/mp."
-
-msgid "10 x 11"
-msgstr "10 x 11"
-
-msgid "10 x 13"
-msgstr "10 x 13"
-
-msgid "10 x 14"
-msgstr "10 x 14"
-
-msgid "100"
-msgstr "100"
-
-msgid "100 mm/sec."
-msgstr "100 mm/mp."
-
-msgid "105"
-msgstr "105"
-
-msgid "11"
-msgstr "11"
-
-msgid "11 inches/sec."
-msgstr "11 hüvelyk/mp."
-
-msgid "110"
-msgstr "110"
-
-msgid "115"
-msgstr "115"
-
-msgid "12"
-msgstr "12"
-
-msgid "12 inches/sec."
-msgstr "12 hüvelyk/mp."
-
-msgid "12 x 11"
-msgstr "12 x 11"
-
-msgid "120"
-msgstr "120"
-
-msgid "120 mm/sec."
-msgstr "120 mm/mp."
-
-msgid "120x60dpi"
-msgstr "120x60dpi"
-
-msgid "120x72dpi"
-msgstr "120x72dpi"
-
-msgid "13"
-msgstr "13"
-
-msgid "136dpi"
-msgstr "136dpi"
-
-msgid "14"
-msgstr "14"
-
-msgid "15"
-msgstr "15"
-
-msgid "15 mm/sec."
-msgstr "15 mm/mp."
-
-msgid "15 x 11"
-msgstr "15 x 11"
-
-msgid "150 mm/sec."
-msgstr "150 mm/mp."
-
-msgid "150dpi"
-msgstr "150dpi"
-
-msgid "16"
-msgstr "16"
-
-msgid "17"
-msgstr "17"
-
-msgid "18"
-msgstr "18"
-
-msgid "180dpi"
-msgstr "180dpi"
-
-msgid "19"
-msgstr "19"
-
-msgid "2"
-msgstr "2"
-
-msgid "2 inches/sec."
-msgstr "2 hüvelyk/mp."
-
-msgid "2-Sided Printing"
-msgstr "2 oldalas nyomtatás"
-
-msgid "2.00x0.37\""
-msgstr "2,00x0,37\""
-
-msgid "2.00x0.50\""
-msgstr "2,00x0,50\""
-
-msgid "2.00x1.00\""
-msgstr "2,00x1,00\""
-
-msgid "2.00x1.25\""
-msgstr "2,00x1,25\""
-
-msgid "2.00x2.00\""
-msgstr "2,00x2,00\""
-
-msgid "2.00x3.00\""
-msgstr "2,00x3,00\""
-
-msgid "2.00x4.00\""
-msgstr "2,00x4,00\""
-
-msgid "2.00x5.50\""
-msgstr "2,00x5,50\""
-
-msgid "2.25x0.50\""
-msgstr "2,25x0,50\""
-
-msgid "2.25x1.25\""
-msgstr "2,25x1,25\""
-
-msgid "2.25x4.00\""
-msgstr "2,25x4,00\""
-
-msgid "2.25x5.50\""
-msgstr "2,25x5,50\""
-
-msgid "2.38x5.50\""
-msgstr "2,38x5,50\""
-
-msgid "2.5 inches/sec."
-msgstr "2,5 hüvelyk/mp."
-
-msgid "2.50x1.00\""
-msgstr "2,50x1,00\""
-
-msgid "2.50x2.00\""
-msgstr "2,50x2,00\""
-
-msgid "2.75x1.25\""
-msgstr "2,75x1,25\""
-
-msgid "2.9 x 1\""
-msgstr "2,9 x 1\""
-
-msgid "20"
-msgstr "20"
-
-msgid "20 mm/sec."
-msgstr "20 mm/mp."
-
-msgid "200 mm/sec."
-msgstr "200 mm/mp."
-
-msgid "203dpi"
-msgstr "203dpi"
-
-msgid "21"
-msgstr "21"
-
-msgid "22"
-msgstr "22"
-
-msgid "23"
-msgstr "23"
-
-msgid "24"
-msgstr "24"
-
-msgid "24-Pin Series"
-msgstr "24 tűs sorozat"
-
-msgid "240x72dpi"
-msgstr "240x72dpi"
-
-msgid "25"
-msgstr "25"
-
-msgid "250 mm/sec."
-msgstr "250 mm/mp."
-
-msgid "26"
-msgstr "26"
-
-msgid "27"
-msgstr "27"
-
-msgid "28"
-msgstr "28"
-
-msgid "29"
-msgstr "29"
-
-msgid "3"
-msgstr "3"
-
-msgid "3 inches/sec."
-msgstr "3 hüvelyk/mp."
-
-msgid "3 x 5"
-msgstr "3 x 5"
-
-msgid "3.00x1.00\""
-msgstr "3,00x1,00\""
-
-msgid "3.00x1.25\""
-msgstr "3,00x1,25\""
-
-msgid "3.00x2.00\""
-msgstr "3,00x2,00\""
-
-msgid "3.00x3.00\""
-msgstr "3,00x3,00\""
-
-msgid "3.00x5.00\""
-msgstr "3,00x5,00\""
-
-msgid "3.25x2.00\""
-msgstr "3,25x2,00\""
-
-msgid "3.25x5.00\""
-msgstr "3,25x5,00\""
-
-msgid "3.25x5.50\""
-msgstr "3,25x5,50\""
-
-msgid "3.25x5.83\""
-msgstr "3,25x5,83\""
-
-msgid "3.25x7.83\""
-msgstr "3,25x7,83\""
-
-msgid "3.5 x 5"
-msgstr "3,5 x 5"
-
-msgid "3.5\" Disk"
-msgstr "3,5\"-es lemez"
-
-msgid "3.5\" Disk - 2 1/8 x 2 3/4\""
-msgstr "3,5\"-es lemez - 2 1/8 x 2 3/4\""
-
-msgid "3.50x1.00\""
-msgstr "3,50x1,00\""
-
-msgid "30"
-msgstr "30"
-
-msgid "30 mm/sec."
-msgstr "30 mm/mp."
-
-msgid "300 mm/sec."
-msgstr "300 mm/mp."
-
-msgid "300dpi"
-msgstr "300dpi"
-
-msgid "35"
-msgstr "35"
-
-msgid "360dpi"
-msgstr "360dpi"
-
-msgid "360x180dpi"
-msgstr "360x180dpi"
-
-msgid "4"
-msgstr "4"
-
-msgid "4 inches/sec."
-msgstr "4 hüvelyk/mp."
-
-msgid "4.00x1.00\""
-msgstr "4,00x1,00\""
-
-msgid "4.00x13.00\""
-msgstr "4,00x13,00\""
-
-msgid "4.00x2.00\""
-msgstr "4,00x2,00\""
-
-msgid "4.00x2.50\""
-msgstr "4,00x2,50\""
-
-msgid "4.00x3.00\""
-msgstr "4,00x3,00\""
-
-msgid "4.00x4.00\""
-msgstr "4,00x4,00\""
-
-msgid "4.00x5.00\""
-msgstr "4,00x5,00\""
-
-msgid "4.00x6.00\""
-msgstr "4,00x6,00\""
-
-msgid "4.00x6.50\""
-msgstr "4,00x6,50\""
-
-msgid "40"
-msgstr "40"
-
-msgid "40 mm/sec."
-msgstr "40 mm/mp."
-
-msgid "45"
-msgstr "45"
-
-msgid "5"
-msgstr "5"
-
-msgid "5 inches/sec."
-msgstr "5 hüvelyk/mp."
-
-msgid "5 x 7"
-msgstr "5 x 7"
-
-msgid "50"
-msgstr "50"
-
-msgid "55"
-msgstr "55"
-
-msgid "6"
-msgstr "6"
-
-msgid "6 inches/sec."
-msgstr "6 hüvelyk/mp."
-
-msgid "6.00x1.00\""
-msgstr "6,00x1,00\""
-
-msgid "6.00x2.00\""
-msgstr "6,00x2,00\""
-
-msgid "6.00x3.00\""
-msgstr "6,00x3,00\""
-
-msgid "6.00x4.00\""
-msgstr "6,00x4,00\""
-
-msgid "6.00x5.00\""
-msgstr "6,00x5,00\""
-
-msgid "6.00x6.00\""
-msgstr "6,00x6,00\""
-
-msgid "6.00x6.50\""
-msgstr "6,00x6,50\""
-
-msgid "60"
-msgstr "60"
-
-msgid "60 mm/sec."
-msgstr "60 mm/mp."
-
-msgid "600dpi"
-msgstr "600dpi"
-
-msgid "60dpi"
-msgstr "60dpi"
-
-msgid "60x72dpi"
-msgstr "60x72dpi"
-
-msgid "65"
-msgstr "65"
-
-msgid "7"
-msgstr "7"
-
-msgid "7 inches/sec."
-msgstr "7 hüvelyk/mp."
-
-msgid "7 x 9"
-msgstr "7 x 9"
-
-msgid "70"
-msgstr "70"
-
-msgid "720dpi"
-msgstr "720dpi"
-
-msgid "75"
-msgstr "75"
-
-msgid "8"
-msgstr "8"
-
-msgid "8 inches/sec."
-msgstr "8 hüvelyk/mp."
-
-msgid "8 x 10"
-msgstr "8 x 10"
-
-msgid "8.00x1.00\""
-msgstr "8,00x1,00\""
-
-msgid "8.00x2.00\""
-msgstr "8,00x2,00\""
-
-msgid "8.00x3.00\""
-msgstr "8,00x3,00\""
-
-msgid "8.00x4.00\""
-msgstr "8,00x4,00\""
-
-msgid "8.00x5.00\""
-msgstr "8,00x5,00\""
-
-msgid "8.00x6.00\""
-msgstr "8,00x6,00\""
-
-msgid "8.00x6.50\""
-msgstr "8,00x6,50\""
-
-msgid "80"
-msgstr "80"
-
-msgid "80 mm/sec."
-msgstr "80 mm/mp."
-
-msgid "85"
-msgstr "85"
-
-msgid "9"
-msgstr "9"
-
-msgid "9 inches/sec."
-msgstr "9 hüvelyk/mp."
-
-msgid "9 x 11"
-msgstr "9 x 11"
-
-msgid "9 x 12"
-msgstr "9 x 12"
-
-msgid "9-Pin Series"
-msgstr "9 tűs sorozatok"
-
-msgid "90"
-msgstr "90"
-
-msgid "95"
-msgstr "95"
-
-msgid "?Invalid help command unknown."
-msgstr "?Az érvénytelen súgóparancs ismeretlen."
-
-msgid "A Samba password is required to export printer drivers"
-msgstr "A nyomtató-illesztőprogramok exportálásához Samba jelszó szükséges"
-
-msgid "A Samba username is required to export printer drivers"
-msgstr ""
-"A nyomtató-illesztőprogramok exportálásához Samba felhasználónév szükséges"
-
-#, c-format
-msgid "A class named \"%s\" already exists."
-msgstr "Már létezik „%s” nevű osztály."
-
-#, c-format
-msgid "A printer named \"%s\" already exists."
-msgstr "Már létezik „%s” nevű nyomtató."
-
-msgid "A0"
-msgstr "A0"
-
-msgid "A0 Long Edge"
-msgstr "A0 hosszú élű"
-
-msgid "A1"
-msgstr "A1"
-
-msgid "A1 Long Edge"
-msgstr "A1 hosszú élű"
-
-msgid "A10"
-msgstr "A10"
-
-msgid "A2"
-msgstr "A2"
-
-msgid "A2 Long Edge"
-msgstr "A2 hosszú élű"
-
-msgid "A3"
-msgstr "A3"
-
-msgid "A3 Long Edge"
-msgstr "A3 hosszú élű"
-
-msgid "A3 Oversize"
-msgstr "A3 túlméretes"
-
-msgid "A3 Oversize Long Edge"
-msgstr "A3 túlméretes hosszú élű"
-
-msgid "A4"
-msgstr "A4"
-
-msgid "A4 Long Edge"
-msgstr "A4 hosszú élű"
-
-msgid "A4 Oversize"
-msgstr "A4 túlméretes"
-
-msgid "A4 Small"
-msgstr "A4 kicsi"
-
-msgid "A5"
-msgstr "A5"
-
-msgid "A5 Long Edge"
-msgstr "A5 hosszú élű"
-
-msgid "A5 Oversize"
-msgstr "A5 túlméretes"
-
-msgid "A6"
-msgstr "A6"
-
-msgid "A6 Long Edge"
-msgstr "A6 hosszú élű"
-
-msgid "A7"
-msgstr "A7"
-
-msgid "A8"
-msgstr "A8"
-
-msgid "A9"
-msgstr "A9"
-
-msgid "ANSI A"
-msgstr "ANSI A"
-
-msgid "ANSI B"
-msgstr "ANSI B"
-
-msgid "ANSI C"
-msgstr "ANSI C"
-
-msgid "ANSI D"
-msgstr "ANSI D"
-
-msgid "ANSI E"
-msgstr "ANSI E"
-
-msgid "ARCH C"
-msgstr "ARCH C"
-
-msgid "ARCH C Long Edge"
-msgstr "ARCH C hosszú élű"
-
-msgid "ARCH D"
-msgstr "ARCH D"
-
-msgid "ARCH D Long Edge"
-msgstr "ARCH D hosszú élű"
-
-msgid "ARCH E"
-msgstr "ARCH E"
-
-msgid "ARCH E Long Edge"
-msgstr "ARCH E hosszú élű"
-
-msgid "Accept Jobs"
-msgstr "Feladatok elfogadása"
-
-msgid "Accepted"
-msgstr "Elfogadva"
-
-msgid "Add Class"
-msgstr "Osztály hozzáadása"
-
-msgid "Add Printer"
-msgstr "Nyomtató hozzáadása"
-
-msgid "Add RSS Subscription"
-msgstr "RSS-feliratkozás hozzáadása"
-
-msgid "Address"
-msgstr "Cím"
-
-msgid "Address - 1 1/8 x 3 1/2\""
-msgstr "Cím - 1 1/8 x 3 1/2\""
-
-msgid "Administration"
-msgstr "Adminisztráció"
-
-msgid "Always"
-msgstr "Mindig"
-
-msgid "AppSocket/HP JetDirect"
-msgstr "AppSocket/HP JetDirect"
-
-msgid "Applicator"
-msgstr "Felhordó"
-
-#, c-format
-msgid "Attempt to set %s printer-state to bad value %d."
-msgstr "Kísérlet %s nyomtatóállapot hibás értékre (%d) állítására."
-
-#, c-format
-msgid "Attribute groups are out of order (%x < %x)."
-msgstr "Az attribútumcsoportok nincsenek sorrendben (%x < %x)."
-
-msgid "B0"
-msgstr "B0"
-
-msgid "B1"
-msgstr "B1"
-
-msgid "B10"
-msgstr "B10"
-
-msgid "B2"
-msgstr "B2"
-
-msgid "B3"
-msgstr "B3"
-
-msgid "B4"
-msgstr "B4"
-
-msgid "B5"
-msgstr "B5"
-
-msgid "B5 Oversize"
-msgstr "B5 túlméretes"
-
-msgid "B6"
-msgstr "B6"
-
-msgid "B7"
-msgstr "B7"
-
-msgid "B8"
-msgstr "B8"
-
-msgid "B9"
-msgstr "B9"
-
-msgid "Bad NULL dests pointer"
-msgstr "Hibás NULL célmutató"
-
-msgid "Bad OpenGroup"
-msgstr "Hibás OpenGroup"
-
-msgid "Bad OpenUI/JCLOpenUI"
-msgstr "Hibás OpenUI/JCLOpenUI"
-
-msgid "Bad OrderDependency"
-msgstr "Hibás OrderDependency"
-
-msgid "Bad PPD cache file."
-msgstr "Hibás PPD-gyorsítótárfájl."
-
-msgid "Bad Request"
-msgstr "Hibás kérés"
-
-msgid "Bad SNMP version number"
-msgstr "Hibás SNMP verziószám"
-
-msgid "Bad UIConstraints"
-msgstr "Hibás UIConstraints"
-
-#, c-format
-msgid "Bad charset file \"%s\"."
-msgstr "Hibás karakterkészletfájl: „%s”."
-
-#, c-format
-msgid "Bad charset type: %s"
-msgstr "Hibás karakterkészlet-típus: %s"
-
-#, c-format
-msgid "Bad columns value %d."
-msgstr "Hibás oszlopérték: %d."
-
-#, c-format
-msgid "Bad copies value %d."
-msgstr "Hibás példányérték: %d."
-
-#, c-format
-msgid "Bad cpi value %f."
-msgstr "Hibás cpi érték: %f."
-
-msgid "Bad custom parameter"
-msgstr "Hibás egyéni paraméter"
-
-#, c-format
-msgid "Bad device-uri \"%s\"."
-msgstr "Hibás device-uri: „%s”."
-
-#, c-format
-msgid "Bad device-uri scheme \"%s\"."
-msgstr "Hibás device-uri séma: „%s”."
-
-#, c-format
-msgid "Bad document-format \"%s\"."
-msgstr "Hibás document-format érték: „%s”."
-
-#, c-format
-msgid "Bad document-format-default \"%s\"."
-msgstr "Hibás document-format-default érték: „%s”."
-
-msgid "Bad filename buffer"
-msgstr "Hibás fájlnévpuffer"
-
-#, c-format
-msgid "Bad font description line \"%s\"."
-msgstr "Hibás betűkészletleíró sor: „%s”."
-
-#, c-format
-msgid "Bad font description line: %s"
-msgstr "Hibás betűkészlet-leíró sor: %s."
-
-msgid "Bad job-priority value."
-msgstr "Hibás job-priority érték."
-
-#, c-format
-msgid "Bad job-sheets value \"%s\"."
-msgstr "Hibás job-sheets érték: „%s”."
-
-msgid "Bad job-sheets value type."
-msgstr "Hibás job-sheets értéktípus."
-
-msgid "Bad job-state value."
-msgstr "Hibás job-state érték."
-
-#, c-format
-msgid "Bad job-uri \"%s\"."
-msgstr "Hibás job-uri érték: „%s”."
-
-#, c-format
-msgid "Bad lpi value %f."
-msgstr "Hibás lpi érték: %f."
-
-#, c-format
-msgid "Bad notify-pull-method \"%s\"."
-msgstr "Hibás notify-pull-method érték: „%s”."
-
-#, c-format
-msgid "Bad notify-recipient-uri \"%s\"."
-msgstr "Hibás notify-recipient-uri érték: „%s”."
-
-#, c-format
-msgid "Bad number-up value %d."
-msgstr "Bad number-up érték: „%d”"
-
-#, c-format
-msgid "Bad option + choice on line %d."
-msgstr "Hibás beállítás + érték a(z) %d. sorban."
-
-#, c-format
-msgid "Bad page-ranges values %d-%d."
-msgstr "Hibás page-ranges értékek: %d-%d."
-
-#, c-format
-msgid "Bad port-monitor \"%s\"."
-msgstr "Hibás port-monitor: „%s”."
-
-#, c-format
-msgid "Bad printer-state value %d."
-msgstr "Hibás printer-state érték: %d."
-
-#, c-format
-msgid "Bad request ID %d."
-msgstr "Hibás kérésazonosító: %d."
-
-#, c-format
-msgid "Bad request version number %d.%d."
-msgstr "Hibás kérésverziószám: %d.%d."
-
-msgid "Bad subscription ID"
-msgstr "Hibás feliratkozásazonosító"
-
-#, c-format
-msgid "Bad text direction \"%s\"."
-msgstr "Hibás szövegirány: „%s”."
-
-#, c-format
-msgid "Bad text direction: %s"
-msgstr "Hibás szövegirány: %s."
-
-#, c-format
-msgid "Bad text width \"%s\"."
-msgstr "Hibás szövegszélesség: „%s”."
-
-#, c-format
-msgid "Bad text width: %s"
-msgstr "Hibás szövegszélesség: %s."
-
-msgid "Bad value string"
-msgstr "Hibás értékkarakterlánc"
-
-msgid "Banners"
-msgstr "Kísérőoldalak"
-
-msgid "Billing Information: "
-msgstr "Számlázási adatok: "
-
-msgid "Bond Paper"
-msgstr "Kötött papír"
-
-#, c-format
-msgid "Boolean expected for waiteof option \"%s\"."
-msgstr "A várt érték logikai a waiteof „%s” beállításához."
-
-msgid "Buffer overflow detected, aborting."
-msgstr "Puffertúlcsordulás észlelve, megszakítás."
-
-msgid "CMYK"
-msgstr "CMYK"
-
-msgid "CPCL Label Printer"
-msgstr "CPCL címkenyomtató"
-
-msgid "Cancel RSS Subscription"
-msgstr "RSS-feliratkozás törlése"
-
-msgid "Canceling print job."
-msgstr "Nyomtatási feladat megszakítása."
-
-msgid "Cannot share a remote Kerberized printer."
-msgstr "Nem osztható meg távoli Kerberos-nyomtató."
-
-msgid "Cassette"
-msgstr "Kazetta"
-
-msgid "Change Settings"
-msgstr "Beállítások módosítása"
-
-#, c-format
-msgid "Character set \"%s\" not supported."
-msgstr "A(z) „%s” karakterkészlet nem támogatott."
-
-msgid "Classes"
-msgstr "Osztályok"
-
-msgid "Clean Print Heads"
-msgstr "Nyomtatófejek tisztítása"
-
-msgid "Close-Job doesn't support the job-uri attribute."
-msgstr "A Close-Job nem támogatja a job-uri attribútumot."
-
-msgid "Color"
-msgstr "Szín"
-
-msgid "Color Mode"
-msgstr "Színmód"
-
-msgid ""
-"Commands may be abbreviated.  Commands are:\n"
-"\n"
-"exit    help    quit    status  ?"
-msgstr ""
-"A parancsok rövidíthetők. A parancsok:\n"
-"\n"
-"exit    help    quit    status  ?"
-
-msgid "Community name uses indefinite length"
-msgstr "A közösségnév végtelen hosszat használ"
-
-msgid "Connected to printer."
-msgstr "Kapcsolódva a nyomtatóhoz."
-
-msgid "Connecting to printer."
-msgstr "Kapcsolódás a nyomtatóhoz."
-
-msgid "Continue"
-msgstr "Folytatás"
-
-msgid "Continuous"
-msgstr "Folyamatos"
-
-msgid "Control file sent successfully."
-msgstr "Vezérlőfájl sikeresen elküldve."
-
-msgid "Copying print data."
-msgstr "Nyomtatási adatok másolása."
-
-msgid "Created"
-msgstr "Létrehozva"
-
-msgid "Created On: "
-msgstr "Létrehozva: "
-
-msgid "Custom"
-msgstr "Egyéni"
-
-msgid "CustominCutInterval"
-msgstr "CustominCutInterval"
-
-msgid "CustominTearInterval"
-msgstr "CustominTearInterval"
-
-msgid "Cut"
-msgstr "Kivágás"
-
-msgid "Cutter"
-msgstr "Vágó"
-
-msgid "Dark"
-msgstr "Sötét"
-
-msgid "Darkness"
-msgstr "Sötétség"
-
-msgid "Data file sent successfully."
-msgstr "Az adatfájl sikeresen elküldve."
-
-msgid "Delete Class"
-msgstr "Osztály törlése"
-
-msgid "Delete Printer"
-msgstr "Nyomtató törlése"
-
-msgid "Description: "
-msgstr "Leírás: "
-
-msgid "DeskJet Series"
-msgstr "DeskJet sorozat"
-
-#, c-format
-msgid "Destination \"%s\" is not accepting jobs."
-msgstr "A(z) „%s” cél nem fogad el feladatokat."
-
-#, c-format
-msgid ""
-"Device: uri = %s\n"
-"        class = %s\n"
-"        info = %s\n"
-"        make-and-model = %s\n"
-"        device-id = %s\n"
-"        location = %s"
-msgstr ""
-"Eszköz: uri = %s\n"
-"        osztály = %s\n"
-"        info = %s\n"
-"        gyártó és modell = %s\n"
-"        eszközazonosító = %s\n"
-"        hely = %s"
-
-msgid "Direct Thermal Media"
-msgstr "Direkt termál címke"
-
-#, c-format
-msgid "Directory \"%s\" contains a relative path."
-msgstr "A(z) „%s” könyvtár relatív útvonalat tartalmaz."
-
-#, c-format
-msgid "Directory \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
-msgstr ""
-"A(z) „%s” könyvtár jogosultságai nem biztonságosak (0%o/uid=%d/gid=%d)."
-
-#, c-format
-msgid "Directory \"%s\" is a file."
-msgstr "A(z) „%s” könyvtár nem fájl."
-
-#, c-format
-msgid "Directory \"%s\" not available: %s"
-msgstr "A(z) „%s” könyvtár nem érhető el: %s"
-
-#, c-format
-msgid "Directory \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
-msgstr "A(z) „%s” könyvtár jogosultságai megfelelők (0%o/uid=%d/gid=%d)."
-
-msgid "Disabled"
-msgstr "Kikapcsolva"
-
-#, c-format
-msgid "Document #%d does not exist in job #%d."
-msgstr "A(z) %d. dokumentum nem létezik a(z) %d. feladatban."
-
-msgid "Driver Name: "
-msgstr "Illesztőprogram neve: "
-
-msgid "Driver Version: "
-msgstr "Illesztőprogram verziója: "
-
-msgid "Duplexer"
-msgstr "Duplexáló"
-
-msgid "Dymo"
-msgstr "Dymo"
-
-msgid "EPL1 Label Printer"
-msgstr "EPL1 címkenyomtató"
-
-msgid "EPL2 Label Printer"
-msgstr "EPL2 címkenyomtató"
-
-msgid "Edit Configuration File"
-msgstr "Konfigurációs fájl szerkesztése"
-
-msgid "Empty PPD file."
-msgstr "Üres PPD-fájl."
-
-#. TRANSLATORS: Banner/cover sheet after the print job.
-msgid "Ending Banner"
-msgstr "Záró kísérőoldal"
-
-msgid "English"
-msgstr "Angol"
-
-msgid "Enter old password:"
-msgstr "Adja meg a régi jelszót:"
-
-msgid "Enter password again:"
-msgstr "Adja meg újra a jelszót:"
-
-msgid "Enter password:"
-msgstr "Adja meg a jelszót:"
-
-msgid ""
-"Enter your username and password or the root username and password to access "
-"this page. If you are using Kerberos authentication, make sure you have a "
-"valid Kerberos ticket."
-msgstr ""
-"Adja meg felhasználónevét és jelszavát, vagy a root felhasználó nevét és "
-"jelszavát az oldal eléréséhez. Ha Kerberos hitelesítést használ, akkor "
-"győződjön meg róla, hogy rendelkezik érvényes Kerberos jeggyel."
-
-msgid "Envelope #10 "
-msgstr "Boríték #10 "
-
-msgid "Envelope #11"
-msgstr "Boríték #11"
-
-msgid "Envelope #12"
-msgstr "Boríték #12"
-
-msgid "Envelope #14"
-msgstr "Boríték #14"
-
-msgid "Envelope #9"
-msgstr "Boríték #9"
-
-msgid "Envelope B4"
-msgstr "B4 boríték"
-
-msgid "Envelope B5"
-msgstr "B5 boríték"
-
-msgid "Envelope B6"
-msgstr "B6 boríték"
-
-msgid "Envelope C0"
-msgstr "C0 boríték"
-
-msgid "Envelope C1"
-msgstr "C1 boríték"
-
-msgid "Envelope C2"
-msgstr "C2 boríték"
-
-msgid "Envelope C3"
-msgstr "C3 boríték"
-
-msgid "Envelope C4"
-msgstr "C4 boríték"
-
-msgid "Envelope C5"
-msgstr "C5 boríték"
-
-msgid "Envelope C6"
-msgstr "C6 boríték"
-
-msgid "Envelope C65"
-msgstr "C65 boríték"
-
-msgid "Envelope C7"
-msgstr "C7 boríték"
-
-msgid "Envelope Choukei 3"
-msgstr "Choukei boríték 3"
-
-msgid "Envelope Choukei 3 Long Edge"
-msgstr "Choukei boríték 3, hosszú élű"
-
-msgid "Envelope Choukei 4"
-msgstr "Choukei boríték 4"
-
-msgid "Envelope Choukei 4 Long Edge"
-msgstr "Choukei boríték 4, hosszú élű"
-
-msgid "Envelope DL"
-msgstr "DL boríték"
-
-msgid "Envelope Feed"
-msgstr "Borítékadagoló"
-
-msgid "Envelope Invite"
-msgstr "Meghívóboríték"
-
-msgid "Envelope Italian"
-msgstr "Olasz boríték"
-
-msgid "Envelope Kaku2"
-msgstr "Kaku2 boríték"
-
-msgid "Envelope Kaku2 Long Edge"
-msgstr "Kaku2 hosszú élű boríték"
-
-msgid "Envelope Kaku3"
-msgstr "Kaku3 boríték"
-
-msgid "Envelope Kaku3 Long Edge"
-msgstr "Kaku3 hosszú élű boríték"
-
-msgid "Envelope Monarch"
-msgstr "Monarch boríték"
-
-msgid "Envelope PRC1 "
-msgstr "PRC1 boríték"
-
-msgid "Envelope PRC1 Long Edge"
-msgstr "PRC1 hosszú élű boríték"
-
-msgid "Envelope PRC10"
-msgstr "PRC10 boríték"
-
-msgid "Envelope PRC10 Long Edge"
-msgstr "PRC10 hosszú élű boríték"
-
-msgid "Envelope PRC2"
-msgstr "PRC2 boríték"
-
-msgid "Envelope PRC2 Long Edge"
-msgstr "PRC2 hosszú élű boríték"
-
-msgid "Envelope PRC3"
-msgstr "PRC3 boríték"
-
-msgid "Envelope PRC3 Long Edge"
-msgstr "PRC3 hosszú élű boríték"
-
-msgid "Envelope PRC4"
-msgstr "PRC4 boríték"
-
-msgid "Envelope PRC4 Long Edge"
-msgstr "PRC4 hosszú élű boríték"
-
-msgid "Envelope PRC5 Long Edge"
-msgstr "PRC5 hosszú élű boríték"
-
-msgid "Envelope PRC5PRC5"
-msgstr "PRC5PRC5 boríték"
-
-msgid "Envelope PRC6"
-msgstr "PRC6 boríték"
-
-msgid "Envelope PRC6 Long Edge"
-msgstr "PRC6 hosszú élű boríték"
-
-msgid "Envelope PRC7"
-msgstr "PRC7 boríték"
-
-msgid "Envelope PRC7 Long Edge"
-msgstr "PRC7 hosszú élű boríték"
-
-msgid "Envelope PRC8"
-msgstr "PRC8 boríték"
-
-msgid "Envelope PRC8 Long Edge"
-msgstr "PRC8 hosszú élű boríték"
-
-msgid "Envelope PRC9"
-msgstr "PRC9 boríték"
-
-msgid "Envelope PRC9 Long Edge"
-msgstr "PRC9 hosszú élű boríték"
-
-msgid "Envelope Personal"
-msgstr "Személyes boríték"
-
-msgid "Envelope You4"
-msgstr "You4 boríték"
-
-msgid "Envelope You4 Long Edge"
-msgstr "You4 hosszú élű boríték"
-
-msgid "Epson"
-msgstr "Epson"
-
-msgid "Error Policy"
-msgstr "Hibaházirend"
-
-msgid "Error sending raster data."
-msgstr "Hiba a raszteradatok küldésekor."
-
-msgid "Error: need hostname after \"-h\" option."
-msgstr "Hiba: a „-h” kapcsoló után gépnév szükséges."
-
-msgid "Every 10 Labels"
-msgstr "10 címkénként"
-
-msgid "Every 2 Labels"
-msgstr "2 címkénként"
-
-msgid "Every 3 Labels"
-msgstr "3 címkénként"
-
-msgid "Every 4 Labels"
-msgstr "4 címkénként"
-
-msgid "Every 5 Labels"
-msgstr "5 címkénként"
-
-msgid "Every 6 Labels"
-msgstr "6 címkénként"
-
-msgid "Every 7 Labels"
-msgstr "7 címkénként"
-
-msgid "Every 8 Labels"
-msgstr "8 címkénként"
-
-msgid "Every 9 Labels"
-msgstr "9 címkénként"
-
-msgid "Every Label"
-msgstr "Címkénként"
-
-msgid "Executive"
-msgstr "Exekutív"
-
-msgid "Expectation Failed"
-msgstr "A várakozás meghiúsult"
-
-msgid "Export Printers to Samba"
-msgstr "Nyomtatók exportálása Samba rendszerbe"
-
-msgid "FAIL"
-msgstr "HIBA"
-
-msgid "FanFold German"
-msgstr "Német leporelló"
-
-msgid "FanFold Legal German"
-msgstr "Legal német leporelló"
-
-msgid "Fanfold US"
-msgstr "US leporelló"
-
-#, c-format
-msgid "File \"%s\" contains a relative path."
-msgstr "A(z) „%s” fájl relatív útvonalat tartalmaz."
-
-#, c-format
-msgid "File \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
-msgstr "A(z) „%s” fájl jogosultságai nem biztonságosak (0%o/uid=%d/gid=%d)."
-
-#, c-format
-msgid "File \"%s\" is a directory."
-msgstr "A(z) „%s” fájl egy könyvtár."
-
-#, c-format
-msgid "File \"%s\" not available: %s"
-msgstr "A(z) „%s” fájl nem érhető el: %s"
-
-#, c-format
-msgid "File \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
-msgstr "A(z) „%s” fájl jogosultságai megfelelők (0%o/uid=%d/gid=%d)."
-
-msgid "File Folder"
-msgstr "Iratmappa"
-
-msgid "File Folder - 9/16 x 3 7/16\""
-msgstr "Fájlmappa - 9/16 x 3 7/16\""
-
-#, c-format
-msgid ""
-"File device URIs have been disabled. To enable, see the FileDevice directive "
-"in \"%s/cupsd.conf\"."
-msgstr ""
-"A fájl eszközök URI-címei le lettek tiltva. Az engedélyezéshez lásd a "
-"FileDevice direktívát a(z) „%s/cupsd.conf” fájlban."
-
-#, c-format
-msgid "Finished page %d."
-msgstr "%d. oldal befejezve."
-
-msgid "Folio"
-msgstr "Ívlap"
-
-msgid "Forbidden"
-msgstr "Tiltott"
-
-#, c-format
-msgid "Formatting page %d."
-msgstr "%d. oldal formázása"
-
-msgid "General"
-msgstr "Általános"
-
-msgid "Generic"
-msgstr "Általános"
-
-msgid "Get-Response-PDU uses indefinite length"
-msgstr "A Get-Response-PDU végtelen hosszot használ"
-
-msgid "Glossy Paper"
-msgstr "Fényes papír"
-
-msgid "Got a printer-uri attribute but no job-id."
-msgstr "A kapott printer-uri attribútumhoz nincs job-id."
-
-msgid "Grayscale"
-msgstr "Szürkeárnyalat"
-
-msgid "HP"
-msgstr "HP"
-
-msgid "Hanging Folder"
-msgstr "Lógó mappa"
-
-msgid "Hanging Folder - 9/16 x 2\""
-msgstr "Lógó mappa - 9/16 x 2\""
-
-msgid "IPP 1setOf attribute with incompatible value tags."
-msgstr ""
-
-msgid "IPP attribute has no name."
-msgstr ""
-
-msgid "IPP begCollection value not 0 bytes."
-msgstr ""
-
-msgid "IPP boolean value not 1 byte."
-msgstr ""
-
-msgid "IPP date value not 11 bytes."
-msgstr ""
-
-msgid "IPP endCollection value not 0 bytes."
-msgstr ""
-
-msgid "IPP enum value not 4 bytes."
-msgstr ""
-
-msgid "IPP integer value not 4 bytes."
-msgstr ""
-
-msgid "IPP language length overflows value."
-msgstr ""
-
-msgid "IPP member name is not empty."
-msgstr ""
-
-msgid "IPP name larger than 32767 bytes."
-msgstr ""
-
-msgid "IPP nameWithLanguage value less than minimum 4 bytes."
-msgstr ""
-
-msgid "IPP rangeOfInteger value not 8 bytes."
-msgstr ""
-
-msgid "IPP resolution value not 9 bytes."
-msgstr ""
-
-msgid "IPP string length overflows value."
-msgstr ""
-
-msgid "IPP textWithLanguage value less than minimum 4 bytes."
-msgstr ""
-
-msgid "IPP value larger than 32767 bytes."
-msgstr ""
-
-msgid "ISOLatin1"
-msgstr "ISOLatin1"
-
-msgid "Illegal control character"
-msgstr "Érvénytelen vezérlőkarakter"
-
-msgid "Illegal main keyword string"
-msgstr "Érvénytelen főkulcsszó-karakterlánc"
-
-msgid "Illegal option keyword string"
-msgstr "Érvénytelen kapcsolókulcsszó-karakterlánc"
-
-msgid "Illegal translation string"
-msgstr "Érvénytelen fordítás"
-
-msgid "Illegal whitespace character"
-msgstr "Érvénytelen üres hely karakter"
-
-msgid "Installable Options"
-msgstr "Telepíthető beállítások"
-
-msgid "Installed"
-msgstr "Telepítve"
-
-msgid "IntelliBar Label Printer"
-msgstr "IntelliBar címkenyomtató"
-
-msgid "Intellitech"
-msgstr "Intellitech"
-
-msgid "Internal Server Error"
-msgstr "Belső kiszolgálóhiba"
-
-msgid "Internal error"
-msgstr "Belső hiba"
-
-msgid "Internet Postage 2-Part"
-msgstr "Kétrészes internetes postai"
-
-msgid "Internet Postage 2-Part - 2 1/4 x 7 1/2\""
-msgstr "Kétrészes internetes postai - 2 1/4 x 7 1/2\""
-
-msgid "Internet Postage 3-Part"
-msgstr "Háromrészes internetes postai"
-
-msgid "Internet Postage 3-Part - 2 1/4 x 7\""
-msgstr "Háromrészes internetes postai - 2 1/4 x 7\""
-
-msgid "Internet Printing Protocol"
-msgstr "Internet nyomtatási protokoll"
-
-#, c-format
-msgid "Invalid printer command \"%s\"."
-msgstr ""
-
-msgid "JCL"
-msgstr "JCL"
-
-msgid "JIS B0"
-msgstr "JIS B0"
-
-msgid "JIS B1"
-msgstr "JIS B1"
-
-msgid "JIS B10"
-msgstr "JIS B10"
-
-msgid "JIS B2"
-msgstr "JIS B2"
-
-msgid "JIS B3"
-msgstr "JIS B3"
-
-msgid "JIS B4"
-msgstr "JIS B4"
-
-msgid "JIS B4 Long Edge"
-msgstr "JIS B4 hosszú élű"
-
-msgid "JIS B5"
-msgstr "JIS B5"
-
-msgid "JIS B5 Long Edge"
-msgstr "JIS B5 hosszú élű"
-
-msgid "JIS B6"
-msgstr "JIS B6"
-
-msgid "JIS B6 Long Edge"
-msgstr "JIS B6 hosszú élű"
-
-msgid "JIS B7"
-msgstr "JIS B7"
-
-msgid "JIS B8"
-msgstr "JIS B8"
-
-msgid "JIS B9"
-msgstr "JIS B9"
-
-#, c-format
-msgid "Job #%d cannot be restarted - no files."
-msgstr "A(z) %d. feladat nem indítható újra - nincsenek fájlok."
-
-#, c-format
-msgid "Job #%d does not exist."
-msgstr "A(z) %d. feladat nem létezik."
-
-#, c-format
-msgid "Job #%d is already aborted - can't cancel."
-msgstr "A(z) %d. feladat már félbe van szakítva - nem szakítható meg."
-
-#, c-format
-msgid "Job #%d is already canceled - can't cancel."
-msgstr "A(z) %d. feladat már meg van szakítva - nem szakítható meg."
-
-#, c-format
-msgid "Job #%d is already completed - can't cancel."
-msgstr "A(z) %d. feladat már kész van - nem szakítható meg."
-
-#, c-format
-msgid "Job #%d is finished and cannot be altered."
-msgstr "A(z) %d. feladat befejeződött, és nem módosítható."
-
-#, c-format
-msgid "Job #%d is not complete."
-msgstr "A(z) %d. feladat nincs kész."
-
-#, c-format
-msgid "Job #%d is not held for authentication."
-msgstr "A(z) %d. feladat nincs hitelesítésre visszatartva."
-
-#, c-format
-msgid "Job #%d is not held."
-msgstr "A(z) %d. feladat nincs visszatartva."
-
-msgid "Job Completed"
-msgstr "Feladat befejeződött"
-
-msgid "Job Created"
-msgstr "Feladat létrehozva"
-
-msgid "Job ID: "
-msgstr "Feladatazonosító: "
-
-msgid "Job Options Changed"
-msgstr "Feladat beállításai módosítva"
-
-msgid "Job Stopped"
-msgstr "Feladat leállítva"
-
-msgid "Job UUID: "
-msgstr "Feladat UUID: "
-
-msgid "Job is completed and cannot be changed."
-msgstr "A feladat befejeződött, és nem módosítható."
-
-msgid "Job operation failed:"
-msgstr "A feladatművelet sikertelen:"
-
-msgid "Job state cannot be changed."
-msgstr "A feladat állapota nem módosítható."
-
-msgid "Job subscriptions cannot be renewed."
-msgstr "A feladatfeliratkozások nem újíthatók meg."
-
-msgid "Jobs"
-msgstr "Feladatok"
-
-msgid "LPD/LPR Host or Printer"
-msgstr "LPD/LPR kiszolgáló vagy nyomtató"
-
-msgid "Label Printer"
-msgstr "Címkenyomtató"
-
-msgid "Label Top"
-msgstr "Címke teteje"
-
-#, c-format
-msgid "Language \"%s\" not supported."
-msgstr "A(z) „%s” nyelv nem támogatott."
-
-msgid "Large Address"
-msgstr "Nagy cím"
-
-msgid "Large Address - 1 4/10 x 3 1/2\""
-msgstr "Nagy cím - 1 4/10 x 3 1/2\""
-
-msgid "LaserJet Series PCL 4/5"
-msgstr "LaserJet sorozat PCL 4/5"
-
-msgid "Letter Oversize"
-msgstr "Letter túlméretes"
-
-msgid "Letter Oversize Long Edge"
-msgstr "Letter túlméretes hosszú élű"
-
-msgid "Light"
-msgstr "Gyenge"
-
-msgid "Line longer than the maximum allowed (255 characters)"
-msgstr "A sor hosszabb a maximálisan engedélyezettnél (255 karakter)"
-
-msgid "List Available Printers"
-msgstr "Elérhető nyomtatók felsorolása"
-
-msgid "Loading print file."
-msgstr "Nyomtatandó fájl betöltése."
-
-msgid "Location: "
-msgstr "Hely: "
-
-msgid "Long-Edge (Portrait)"
-msgstr "Hosszú élű (álló)"
-
-msgid "Looking for printer."
-msgstr "Nyomtató keresése."
-
-msgid "Make and Model: "
-msgstr "Gyártó és modell: "
-
-msgid "Manual Feed"
-msgstr "Kézi adagolás"
-
-msgid "Media Dimensions: "
-msgstr "Média méretei: "
-
-msgid "Media Limits: "
-msgstr "Média korlátai: "
-
-msgid "Media Name: "
-msgstr "Média neve: "
-
-msgid "Media Size"
-msgstr "Média mérete"
-
-msgid "Media Source"
-msgstr "Média forrása"
-
-msgid "Media Tracking"
-msgstr "Média követése"
-
-msgid "Media Type"
-msgstr "Média típusa"
-
-msgid "Medium"
-msgstr "Médium"
-
-msgid "Memory allocation error"
-msgstr "Memóriafoglalási hiba"
-
-msgid "Missing CloseGroup"
-msgstr "Hiányzó CloseGroup"
-
-msgid "Missing PPD-Adobe-4.x header"
-msgstr "Hiányzó PPD-Adobe-4.x fejléc"
-
-msgid "Missing asterisk in column 1"
-msgstr "Hiányzó csillag az 1. oszlopban"
-
-msgid "Missing document-number attribute."
-msgstr "Hiányzó document-number attribútum."
-
-#, c-format
-msgid "Missing double quote on line %d."
-msgstr "Hiányzó dupla idézőjel a(z) %d. sorban."
-
-msgid "Missing form variable"
-msgstr "Hiányzó típusváltozó"
-
-msgid "Missing last-document attribute in request."
-msgstr ""
-
-msgid "Missing media or media-col."
-msgstr "Hiányzó média vagy media-col."
-
-msgid "Missing media-size in media-col."
-msgstr "Hiányzó media-size a media-col elemben."
-
-msgid "Missing notify-subscription-ids attribute."
-msgstr "Hiányzó notify-subscription-ids attribútum."
-
-msgid "Missing option keyword"
-msgstr "Hiányzó kapcsolókulcsszó"
-
-msgid "Missing requesting-user-name attribute."
-msgstr "Hiányzó requesting-user-name attribútum."
-
-msgid "Missing required attributes."
-msgstr "Hiányzó kötelező attribútumok."
-
-#, c-format
-msgid "Missing value on line %d of banner file."
-msgstr "Hiányzó érték a kísérőoldalfájl %d. sorában."
-
-#, c-format
-msgid "Missing value on line %d."
-msgstr "Hiányzó érték a(z) %d. sorban."
-
-msgid "Missing value string"
-msgstr "Hiányzó értékkarakterlánc"
-
-msgid "Missing x-dimension in media-size."
-msgstr "Hiányzó x-dimension a media-size elemben."
-
-msgid "Missing y-dimension in media-size."
-msgstr "Hiányzó y-dimension a media-size elemben."
-
-#, c-format
-msgid ""
-"Model:  name = %s\n"
-"        natural_language = %s\n"
-"        make-and-model = %s\n"
-"        device-id = %s"
-msgstr ""
-"Modell:  név = %s\n"
-"         természetes nyelv = %s\n"
-"         gyártó és típus = %s\n"
-"         eszközazonosító = %s"
-
-msgid "Modify Class"
-msgstr "Osztály módosítása"
-
-msgid "Modify Printer"
-msgstr "Nyomtató módosítása"
-
-msgid "Move All Jobs"
-msgstr "Minden feladat áthelyezése"
-
-msgid "Move Job"
-msgstr "Feladat áthelyezése"
-
-msgid "Moved Permanently"
-msgstr "Tartósan áthelyezve"
-
-msgid "NULL PPD file pointer"
-msgstr "NULL PPD-fájl mutató"
-
-msgid "Name OID uses indefinite length"
-msgstr "Név OID végtelen hosszt használ"
-
-msgid "Nested classes are not allowed."
-msgstr "A beágyazott osztályok nem engedélyezettek."
-
-msgid "Never"
-msgstr "Soha"
-
-msgid "New Stylus Color Series"
-msgstr "New Stylus Color sorozat"
-
-msgid "New Stylus Photo Series"
-msgstr "New Stylus Photo sorozat"
-
-msgid "No"
-msgstr "Nem"
-
-msgid "No Content"
-msgstr "Nincs tartalom"
-
-msgid "No PPD name"
-msgstr "Nincs PPD-név"
-
-msgid "No VarBind SEQUENCE"
-msgstr "Nincs VarBind SEQUENCE"
-
-msgid "No Windows printer drivers are installed."
-msgstr "Nincsenek telepítve windowsos nyomtató-illesztőprogramok."
-
-msgid "No active connection"
-msgstr "Nincs aktív kapcsolat"
-
-#, c-format
-msgid "No active jobs on %s."
-msgstr "Nincsenek aktív feladatok ezen: %s."
-
-msgid "No attributes in request."
-msgstr "Nincsenek attribútumok a kérésben."
-
-msgid "No authentication information provided."
-msgstr "Nem adott meg hitelesítési információkat."
-
-msgid "No community name"
-msgstr "Nincs közösségnév"
-
-msgid "No default printer."
-msgstr "Nincs alapértelmezett nyomtató."
-
-msgid "No destinations added."
-msgstr "Nem lett cél hozzáadva."
-
-msgid "No device URI found in argv[0] or in DEVICE_URI environment variable."
-msgstr ""
-"Nem található az eszköz URI azonosítója az argv[0] változóban vagy a "
-"DEVICE_URI környezeti változóban."
-
-msgid "No error-index"
-msgstr "Nincs error-index"
-
-msgid "No error-status"
-msgstr "Nincs error-status"
-
-msgid "No file in print request."
-msgstr "Nincs fájl a nyomtatási kérésben."
-
-msgid "No fonts in charset file."
-msgstr "Nincsenek betűk a karakterkészlet-fájlban."
-
-msgid "No modification time"
-msgstr "Nincs módosítási idő"
-
-msgid "No name OID"
-msgstr "Nincs név OID"
-
-msgid "No pages were found."
-msgstr "Nem találhatók oldalak."
-
-msgid "No printer name"
-msgstr "Nincs nyomtatónév"
-
-msgid "No printer-uri found"
-msgstr "Nem található printer-uri"
-
-msgid "No printer-uri found for class"
-msgstr "Nem található printer-uri az osztályhoz"
-
-msgid "No printer-uri in request."
-msgstr "Nincs printer-uri a kérésben."
-
-msgid "No request-id"
-msgstr "Nincs request-id"
-
-msgid "No subscription attributes in request."
-msgstr "Nincsenek feliratkozási attribútumok a kérésben."
-
-msgid "No subscriptions found."
-msgstr "Nem található feliratkozás."
-
-msgid "No variable-bindings SEQUENCE"
-msgstr "Nincs variable-bindings SEQUENCE"
-
-msgid "No version number"
-msgstr "Nincs verziószám"
-
-msgid "Non-continuous (Mark sensing)"
-msgstr "Nem végtelenített (jelölésérzékelés)"
-
-msgid "Non-continuous (Web sensing)"
-msgstr "Nem végtelenített (webérzékelés)"
-
-msgid "Normal"
-msgstr "Normál"
-
-msgid "Not Found"
-msgstr "Nem található"
-
-msgid "Not Implemented"
-msgstr "Nincs megvalósítva"
-
-msgid "Not Installed"
-msgstr "Nincs telepítve"
-
-msgid "Not Modified"
-msgstr "Nincs módosítva"
-
-msgid "Not Supported"
-msgstr "Nem támogatott"
-
-msgid "Not allowed to print."
-msgstr "Nem engedélyezett a nyomtatás."
-
-msgid "Note"
-msgstr "Megjegyzés"
-
-msgid ""
-"Note: this program only validates the DSC comments, not the PostScript "
-"itself."
-msgstr ""
-"Megjegyzés: ez a program csak a DSC-megjegyzéseket ellenőrzi, nem magát a "
-"PostScriptet."
-
-msgid "OK"
-msgstr "OK"
-
-msgid "Off (1-Sided)"
-msgstr "Ki (egyoldalas)"
-
-msgid "Oki"
-msgstr "Oki"
-
-msgid "Online Help"
-msgstr "Online súgó"
-
-#, c-format
-msgid "Open of %s failed: %s"
-msgstr "%s megnyitása sikertelen: %s"
-
-msgid "OpenGroup without a CloseGroup first"
-msgstr "Az OpenGroup előtt nincs CloseGroup"
-
-msgid "OpenUI/JCLOpenUI without a CloseUI/JCLCloseUI first"
-msgstr "Az OpenUI/JCLOpenUI előtt nincs CloseUI/JCLCloseUI"
-
-msgid "Operation Policy"
-msgstr "Működtetési házirend"
-
-#, c-format
-msgid "Option \"%s\" cannot be included via %%%%IncludeFeature."
-msgstr "A(z) „%s” beállítás nem vehető fel a %%%%IncludeFeature használatával."
-
-msgid "Options Installed"
-msgstr "Telepített beállítások"
-
-msgid "Options:"
-msgstr "Beállítások:"
-
-msgid "Options: "
-msgstr "Beállítások: "
-
-msgid "Out of date PPD cache file."
-msgstr "Elavult PPD-gyorsítótárfájl."
-
-msgid "Out of memory."
-msgstr "Elfogyott a memória."
-
-msgid "Output Mode"
-msgstr "Kimeneti mód"
-
-#, c-format
-msgid "Output for printer %s is sent to %s"
-msgstr "A(z) %s nyomtató kimenete erre van elküldve: %s"
-
-#, c-format
-msgid "Output for printer %s is sent to remote printer %s on %s"
-msgstr ""
-"A(z) %s nyomtató kimenete a(z) %s távoli nyomtatóra van elküldve ezen: %s"
-
-#, c-format
-msgid "Output for printer %s/%s is sent to %s"
-msgstr "A(z) %s/%s nyomtató kimenete erre van elküldve: %s"
-
-#, c-format
-msgid "Output for printer %s/%s is sent to remote printer %s on %s"
-msgstr ""
-"A(z) %s/%s nyomtató kimenete a(z) %s távoli nyomtatóra van elküldve ezen: %s"
-
-msgid "PASS"
-msgstr "SIKER"
-
-msgid "PCL Laser Printer"
-msgstr "PCL lézernyomtató"
-
-msgid "PRC16K"
-msgstr "PRC16K"
-
-msgid "PRC16K Long Edge"
-msgstr "PRC16K hosszú élű"
-
-msgid "PRC32K"
-msgstr "PRC32K"
-
-msgid "PRC32K Long Edge"
-msgstr "PRC32K hosszú élű"
-
-msgid "PRC32K Oversize"
-msgstr "PRC32K túlméretes"
-
-msgid "PRC32K Oversize Long Edge"
-msgstr "PRC32K túlméretes hosszú élű"
-
-msgid "Packet does not contain a Get-Response-PDU"
-msgstr "A csomag nem tartalmaz Get-Response-PDU elemet"
-
-msgid "Packet does not start with SEQUENCE"
-msgstr "A csomag nem a SEQUENCE elemmel kezdődik"
-
-msgid "ParamCustominCutInterval"
-msgstr "ParamCustominCutInterval"
-
-msgid "ParamCustominTearInterval"
-msgstr "ParamCustominTearInterval"
-
-#, c-format
-msgid "Password for %s on %s? "
-msgstr "%s jelszava ezen: %s? "
-
-#, c-format
-msgid "Password for %s required to access %s via SAMBA: "
-msgstr "%s jelszava szükséges %s eléréséhez SAMBA használatával: "
-
-msgid "Pause Class"
-msgstr "Osztály szüneteltetése"
-
-msgid "Pause Printer"
-msgstr "Nyomtató szüneteltetése"
-
-msgid "Peel-Off"
-msgstr "Leválasztás"
-
-msgid "Photo"
-msgstr "Fotó"
-
-msgid "Photo Labels"
-msgstr "Fotócímkék"
-
-msgid "Plain Paper"
-msgstr "Sima papír"
-
-# msgid "Postcard Double"
-# msgstr "Dupla képeslap"
-msgid "Policies"
-msgstr "Házirendek"
-
-msgid "Port Monitor"
-msgstr "Portfigyelő"
-
-msgid "PostScript Printer"
-msgstr "PostScript nyomtató"
-
-msgid "Postcard"
-msgstr "Képeslap"
-
-msgid "Postcard Double "
-msgstr "Dupla képeslap "
-
-msgid "Postcard Double Long Edge"
-msgstr "Hosszú élű dupla képeslap"
-
-msgid "Postcard Long Edge"
-msgstr "Hosszú élű képeslap"
-
-msgid "Print Density"
-msgstr "Nyomtatás sűrűsége"
-
-msgid "Print Job:"
-msgstr "Nyomtatási feladat:"
-
-msgid "Print Mode"
-msgstr "Nyomtatási mód"
-
-msgid "Print Rate"
-msgstr "Nyomtatási sebesség"
-
-msgid "Print Self-Test Page"
-msgstr "Öntesztelő oldal nyomtatása"
-
-msgid "Print Speed"
-msgstr "Nyomtatási sebesség"
-
-msgid "Print Test Page"
-msgstr "Tesztoldal nyomtatása"
-
-msgid "Print and Cut"
-msgstr "Nyomtatás és kivágás"
-
-msgid "Print and Tear"
-msgstr "Nyomtatás és szakítás"
-
-#, c-format
-msgid "Print file accepted - job ID %d."
-msgstr "Nyomtatási fájl elfogadva - feladatazonosító: %d"
-
-msgid "Print file accepted - job ID unknown."
-msgstr "Nyomtatási fájl elfogadva - feladatazonosító ismeretlen."
-
-msgid "Print file sent."
-msgstr "Nyomtatási fájl elküldve."
-
-msgid "Print file was not accepted."
-msgstr "A nyomtatási fájl nem lett elfogadva."
-
-msgid "Print job too large."
-msgstr ""
-
-msgid "Printed For: "
-msgstr "Nyomtatva ehhez: "
-
-msgid "Printed From: "
-msgstr "Nyomtatva ebből: "
-
-msgid "Printed On: "
-msgstr "Nyomtatva ekkor: "
-
-msgid "Printer Added"
-msgstr "Nyomtató hozzáadva"
-
-msgid "Printer Default"
-msgstr "Nyomtató alapértelmezése"
-
-msgid "Printer Deleted"
-msgstr "Nyomtató törölve"
-
-msgid "Printer Modified"
-msgstr "Nyomtató módosítva"
-
-msgid "Printer Name: "
-msgstr "Nyomtatónév: "
-
-msgid "Printer Paused"
-msgstr "Nyomtató szüneteltetve"
-
-msgid "Printer Settings"
-msgstr "Nyomtató beállításai"
-
-msgid "Printer busy, will retry in 10 seconds."
-msgstr "Nyomtató elfoglalt, 10 másodperc múlva újrapróbálkozom."
-
-msgid "Printer busy; will retry in 30 seconds."
-msgstr "Nyomtató elfoglalt; 30 másodperc múlva újrapróbálkozom."
-
-msgid "Printer did not respond."
-msgstr ""
-
-#, c-format
-msgid "Printer does not support IPP/%d.%d, trying IPP/%s."
-msgstr ""
-"A nyomtató nem támogatja az IPP/%d.%d módot, próbálkozás az IPP/%s móddal…"
-
-msgid "Printer is busy, will retry in 5 seconds."
-msgstr "Nyomtató elfoglalt, 5 másodperc múlva újrapróbálkozom."
-
-msgid "Printer is not currently connected."
-msgstr "A nyomtató jelenleg nincs csatlakoztatva."
-
-msgid "Printer is now connected."
-msgstr "A nyomtató jelenleg csatlakoztatva van."
-
-msgid "Printer is now online."
-msgstr "A nyomtató jelenleg elérhető."
-
-msgid "Printer is offline."
-msgstr "A nyomtató offline állapotban van."
-
-msgid "Printer not connected, will retry in 30 seconds."
-msgstr "A nyomtató nem csatlakozik, 30 másodperc múlva újrapróbálkozom."
-
-msgid "Printer not connected; will retry in 30 seconds."
-msgstr "A nyomtató nem csatlakozik; 30 másodperc múlva újrapróbálkozom."
-
-msgid "Printer:"
-msgstr "Nyomtató:"
-
-msgid "Printers"
-msgstr "Nyomtatók"
-
-#, c-format
-msgid "Printing page %d, %d%% complete."
-msgstr "%d. oldal nyomtatása, %d%% kész."
-
-#, c-format
-msgid "Printing page %d."
-msgstr "%d. oldal nyomtatása."
-
-msgid "Purge Jobs"
-msgstr "Feladatok eltávolítása"
-
-msgid "Quarto"
-msgstr "Quarto"
-
-msgid "Quota limit reached."
-msgstr "Kvótakorlát elérve."
-
-msgid "Rank    Owner   Job     File(s)                         Total Size"
-msgstr "Sorr    Tulaj   Felad   Fájlok                          Teljes méret"
-
-#. TRANSLATORS: Pri is job priority.
-msgid ""
-"Rank   Owner      Pri  Job        Files                       Total Size"
-msgstr ""
-"Sorr   Tulaj      Pri  Felad      Fájlok                      Teljes méret"
-
-msgid "Ready to print."
-msgstr "Nyomtatásra kész."
-
-msgid "Reject Jobs"
-msgstr "Feladatok visszautasítása"
-
-#, c-format
-msgid "Remote host did not accept control file (%d)."
-msgstr "A távoli gép nem fogadta el a vezérlőfájlt (%d)."
-
-#, c-format
-msgid "Remote host did not accept data file (%d)."
-msgstr "A távoli gép nem fogadta el az adatfájlt (%d)."
-
-msgid "Reprint After Error"
-msgstr "Újranyomtatás hiba után"
-
-msgid "Request Entity Too Large"
-msgstr "A kérésegyed túl nagy"
-
-msgid "Resolution"
-msgstr "Felbontás"
-
-msgid "Resume Class"
-msgstr "Osztály folytatása"
-
-msgid "Resume Printer"
-msgstr "Nyomtató folytatása"
-
-msgid "Return Address"
-msgstr "Visszaküldési cím"
-
-msgid "Return Address - 3/4 x 2\""
-msgstr "Visszaküldési cím - 3/4 x 2\""
-
-msgid "Rewind"
-msgstr "Visszatekerés"
-
-#, c-format
-msgid "Running command: %s %s -N -A %s -c '%s'"
-msgstr "Parancs futtatása: %s %s -N -A %s -c '%s'"
-
-msgid "SEQUENCE uses indefinite length"
-msgstr "A SEQUENCE végtelen hosszt használ"
-
-msgid "SSL/TLS Negotiation Error"
-msgstr "SSL/TLS egyeztetési hiba"
-
-msgid "See Other"
-msgstr "A többi megjelenítése"
-
-msgid "Sending data to printer."
-msgstr "Adatok küldése a nyomtatónak."
-
-#, c-format
-msgid "Serial Port #%d"
-msgstr "%d. soros port"
-
-msgid "Server Restarted"
-msgstr "Kiszolgáló újraindítva"
-
-msgid "Server Security Auditing"
-msgstr "Kiszolgáló biztonsági megfigyelése"
-
-msgid "Server Started"
-msgstr "Kiszolgáló elindítva"
-
-msgid "Server Stopped"
-msgstr "Kiszolgáló leállítva"
-
-msgid "Service Unavailable"
-msgstr "A szolgáltatás nem érhető el"
-
-msgid "Set Allowed Users"
-msgstr "Engedélyezett felhasználók beállítása"
-
-msgid "Set As Server Default"
-msgstr "Beállítás kiszolgáló alapértelmezéseként"
-
-msgid "Set Class Options"
-msgstr "Osztály beállításainak megadása"
-
-msgid "Set Printer Options"
-msgstr "Nyomtató beállításainak megadása"
-
-msgid "Set Publishing"
-msgstr "Közzététel beállítása"
-
-msgid "Shipping Address"
-msgstr "Szállítási cím"
-
-msgid "Shipping Address - 2 5/16 x 4\""
-msgstr "Szállítási cím - 2 5/16 x 4\""
-
-msgid "Short-Edge (Landscape)"
-msgstr "Rövid élű (fekvő)"
-
-msgid "Special Paper"
-msgstr "Speciális papír"
-
-#, c-format
-msgid "Spooling job, %.0f%% complete."
-msgstr "Feladat sorba állítása, %.0f%% kész."
-
-msgid "Standard"
-msgstr "Szabványos"
-
-#. TRANSLATORS: Banner/cover sheet before the print job.
-msgid "Starting Banner"
-msgstr "Kezdő kísérőoldal"
-
-#, c-format
-msgid "Starting page %d."
-msgstr "%d. oldal kezdése."
-
-msgid "Statement"
-msgstr "Statement"
-
-msgid "Stylus Color Series"
-msgstr "Stylus Color sorozat"
-
-msgid "Stylus Photo Series"
-msgstr "Stylus Photo sorozat"
-
-#, c-format
-msgid "Subscription #%d does not exist."
-msgstr "A(z) %d. feliratkozás nem létezik."
-
-msgid "Super A"
-msgstr "Super A"
-
-msgid "Super B"
-msgstr "Super B"
-
-msgid "Super B/A3"
-msgstr "Szuper B/A3"
-
-msgid "Switching Protocols"
-msgstr "Protokollváltás"
-
-msgid "Tabloid"
-msgstr "Tabloid"
-
-msgid "Tabloid Oversize"
-msgstr "Tabloid túlméretes"
-
-msgid "Tabloid Oversize Long Edge"
-msgstr "Hosszú élű túlméretes tabloid"
-
-msgid "Tear"
-msgstr "Letépés"
-
-msgid "Tear-Off"
-msgstr "Perforáció"
-
-msgid "Tear-Off Adjust Position"
-msgstr "Perforáció igazítási pozíciója"
-
-#, c-format
-msgid "The %s attribute cannot be provided with job-ids."
-msgstr "A(z) %s attribútum nem adható meg job-id értékekkel."
-
-#, c-format
-msgid "The PPD file \"%s\" could not be found."
-msgstr "A(z) „%s” PPD-fájl nem található."
-
-#, c-format
-msgid "The PPD file \"%s\" could not be opened: %s"
-msgstr "A(z) „%s” PPD-fájl nem nyitható meg: %s"
-
-msgid "The PPD file could not be opened."
-msgstr "A PPD-fájl nem nyitható meg."
-
-msgid ""
-"The class name may only contain up to 127 printable characters and may not "
-"contain spaces, slashes (/), or the pound sign (#)."
-msgstr ""
-"Az osztálynév legfeljebb 127 nyomtatható karaktert tartalmazhat, kivéve a "
-"„/”, „#” és szóköz karaktereket."
-
-msgid "The developer unit needs to be replaced."
-msgstr "Az előhívó egységet ki kell cserélni."
-
-msgid "The developer unit will need to be replaced soon."
-msgstr "Az előhívó egységet hamarosan ki kell majd cserélni."
-
-msgid "The fuser's temperature is high."
-msgstr "A beégetőmű hőmérséklete túl magas."
-
-msgid "The fuser's temperature is low."
-msgstr "A beégetőmű hőmérséklete túl alacsony."
-
-msgid ""
-"The notify-lease-duration attribute cannot be used with job subscriptions."
-msgstr ""
-"A notify-lease-duration attribútum nem használható feladatfeliratkozásokkal."
-
-#, c-format
-msgid "The notify-user-data value is too large (%d > 63 octets)."
-msgstr "A notify-user-data érték túl magas (%d > 63 oktet)."
-
-msgid "The optical photoconductor needs to be replaced."
-msgstr "Az optikai fotovezetőt ki kell cserélni."
-
-msgid "The optical photoconductor will need to be replaced soon."
-msgstr "Az optikai fotovezetőt hamarosan ki kell majd cserélni."
-
-msgid "The output bin is almost full."
-msgstr "A kimeneti tartó majdnem megtelt."
-
-msgid "The output bin is full."
-msgstr "A kimeneti tartó megtelt."
-
-msgid "The output bin is missing."
-msgstr "A kimeneti tartó hiányzik."
-
-msgid "The page setup information was not valid."
-msgstr "Az oldalbeállítási információk érvénytelenek."
-
-msgid "The paper tray is almost empty."
-msgstr "Majdnem üres a papírtálca."
-
-msgid "The paper tray is empty."
-msgstr "Üres a papírtálca."
-
-msgid "The paper tray is missing."
-msgstr "Hiányzik a papírtálca."
-
-msgid "The paper tray needs to be filled."
-msgstr "Fel kell tölteni a papírtálcát."
-
-msgid "The print file could not be opened."
-msgstr "A nyomtatási fájl nem nyitható meg."
-
-msgid "The printer URI is incorrect or no longer exists."
-msgstr "A nyomtató URI-címe helytelen, vagy nem létezik."
-
-msgid "The printer is busy."
-msgstr "A nyomtató elfoglalt."
-
-msgid "The printer is not connected."
-msgstr "A nyomtató nincs csatlakoztatva."
-
-msgid "The printer is not responding."
-msgstr "A nyomtató nem válaszol."
-
-msgid "The printer is out of ink."
-msgstr "A nyomtatóból kifogyott a tinta."
-
-msgid "The printer is running low on ink."
-msgstr ""
-
-msgid "The printer is running low on toner."
-msgstr ""
-
-msgid "The printer is unreachable at this time."
-msgstr "A nyomtató jelenleg elérhetetlen."
-
-msgid "The printer may be out of toner."
-msgstr ""
-
-msgid "The printer may not exist or is unavailable at this time."
-msgstr "A nyomtató nem létezik, vagy jelenleg elérhetetlen."
-
-msgid ""
-"The printer name may only contain up to 127 printable characters and may not "
-"contain spaces, slashes (/), or the pound sign (#)."
-msgstr ""
-"A nyomtatónév legfeljebb 127 nyomtatható karaktert tartalmazhat, kivéve a "
-"„/”, „#” és szóköz karaktereket."
-
-msgid "The printer or class does not exist."
-msgstr "A nyomtató vagy osztály nem létezik."
-
-msgid "The printer or class is not shared."
-msgstr "A nyomtató vagy osztály nincs megosztva."
-
-msgid "The printer's cover is open."
-msgstr "A nyomtató fedele nyitva van."
-
-msgid "The printer's door is open."
-msgstr "A nyomtató ajtaja nyitva van."
-
-msgid "The printer's interlock is open."
-msgstr "A nyomtató retesze nyitva van."
-
-msgid "The printer's waste bin is almost full."
-msgstr "A nyomtató hulladéktárolója majdnem megtelt."
-
-msgid "The printer's waste bin is full."
-msgstr "A nyomtató hulladéktárolója megtelt."
-
-#, c-format
-msgid "The printer-uri \"%s\" contains invalid characters."
-msgstr "A(z) „%s” printer-uri érvénytelen karaktereket tartalmaz."
-
-msgid "The printer-uri attribute is required."
-msgstr "A printer-uri attribútum szükséges."
-
-msgid ""
-"The printer-uri must be of the form \"ipp://HOSTNAME/classes/CLASSNAME\"."
-msgstr ""
-"A printer-uri a következő alakú kell legyen: „ipp://GÉPNÉV/classes/"
-"OSZTÁLYNÉV”."
-
-msgid ""
-"The printer-uri must be of the form \"ipp://HOSTNAME/printers/PRINTERNAME\"."
-msgstr ""
-"A printer-uri a következő alakú kell legyen: „ipp://GÉPNÉV/printers/"
-"NYOMTATÓNÉV”."
-
-msgid ""
-"The subscription name may not contain spaces, slashes (/), question marks "
-"(?), or the pound sign (#)."
-msgstr ""
-"A feliratkozás neve nem tartalmazhatja a „/”, „?”, „#” és szóköz "
-"karaktereket."
-
-msgid ""
-"The web interface is currently disabled. Run \"cupsctl WebInterface=yes\" to "
-"enable it."
-msgstr ""
-"A webes felület jelenleg le van tiltva. Futtassa a „cupsctl "
-"WebInterface=yes” parancsot az engedélyezéséhez."
-
-#, c-format
-msgid "The which-jobs value \"%s\" is not supported."
-msgstr "A(z) „%s” which-jobs érték nem támogatott."
-
-msgid "There are too many subscriptions."
-msgstr "Túl sok feliratkozás van."
-
-msgid "There is a paper jam."
-msgstr "Begyűrődött a papír."
-
-msgid "There was an unrecoverable USB error."
-msgstr "Helyrehozhatatlan USB-hiba történt."
-
-msgid "Thermal Transfer Media"
-msgstr "Termáltranszfer címke"
-
-msgid "Title: "
-msgstr "Cím: "
-
-msgid "Too many active jobs."
-msgstr "Túl sok aktív feladat."
-
-#, c-format
-msgid "Too many job-sheets values (%d > 2)."
-msgstr "Túl sok job-sheets érték (%d > 2)."
-
-#, c-format
-msgid "Too many printer-state-reasons values (%d > %d)."
-msgstr "Túl sok printer-state-reasons érték (%d > %d)."
-
-msgid "Transparency"
-msgstr "Átlátszóság"
-
-msgid "Tray"
-msgstr "Tálca"
-
-msgid "Tray 1"
-msgstr "1. tálca"
-
-msgid "Tray 2"
-msgstr "2. tálca"
-
-msgid "Tray 3"
-msgstr "3. tálca"
-
-msgid "Tray 4"
-msgstr "4. tálca"
-
-msgid "URI Too Long"
-msgstr "Az URI túl hosszú"
-
-msgid "US Ledger"
-msgstr "US Ledger"
-
-msgid "US Legal"
-msgstr "US Legal"
-
-msgid "US Legal Oversize"
-msgstr "US Legal túlméretes"
-
-msgid "US Letter"
-msgstr "US levél"
-
-msgid "US Letter Long Edge"
-msgstr "Hosszú élű US levél"
-
-msgid "US Letter Oversize"
-msgstr "Túlméretes US levél"
-
-msgid "US Letter Oversize Long Edge"
-msgstr "Hosszú élű túlméretes US levél"
-
-msgid "US Letter Small"
-msgstr "US Letter kicsi"
-
-#, c-format
-msgid "USB Serial Port #%d"
-msgstr "%d. USB soros port"
-
-msgid "Unable to access cupsd.conf file:"
-msgstr "A cupsd.conf fájl nem érhető el:"
-
-msgid "Unable to add RSS subscription:"
-msgstr "Nem vehető fel az RSS-feliratkozás:"
-
-msgid "Unable to add class:"
-msgstr "Nem vehető fel osztály:"
-
-msgid "Unable to add document to print job."
-msgstr "A dokumentum nem adható hozzá a nyomtatási feladathoz."
-
-#, c-format
-msgid "Unable to add job for destination \"%s\"."
-msgstr "Nem vehető fel feladat a(z) „%s” célhoz."
-
-msgid "Unable to add printer:"
-msgstr "Nem vehető fel nyomtató:"
-
-msgid "Unable to allocate memory for file types."
-msgstr "A memória lefoglalása nem lehetséges a fájltípusoknak."
-
-msgid "Unable to allocate memory for page info"
-msgstr "A memória lefoglalása nem lehetséges az oldalinformációknak."
-
-msgid "Unable to allocate memory for pages array"
-msgstr "A memória lefoglalása nem lehetséges az oldalak tömbjének."
-
-msgid "Unable to cancel RSS subscription:"
-msgstr "Nem távolítható el az RSS-feliratkozás:"
-
-msgid "Unable to cancel print job."
-msgstr "Nem szakítható meg a nyomtatási feladat."
-
-msgid "Unable to change printer-is-shared attribute:"
-msgstr "A printer-is-shared attribútum nem módosítható:"
-
-msgid "Unable to change printer:"
-msgstr "Nem módosítható a nyomtató:"
-
-msgid "Unable to change server settings:"
-msgstr "Nem módosíthatók a kiszolgáló beállításai:"
-
-msgid "Unable to configure printer options."
-msgstr ""
-
-msgid "Unable to connect to host."
-msgstr "A géphez nem lehet kapcsolódni."
-
-msgid "Unable to contact printer, queuing on next printer in class."
-msgstr ""
-"A nyomtatóval nem vehető fel a kapcsolat, sorba állítás az osztály következő "
-"nyomtatójára."
-
-#, c-format
-msgid "Unable to copy 64-bit CUPS printer driver files (%d)."
-msgstr "A 64 bites CUPS illesztőprogram-fájlok nem másolhatók (%d)."
-
-#, c-format
-msgid "Unable to copy 64-bit Windows printer driver files (%d)."
-msgstr "A 64 bites Windows illesztőprogram-fájlok nem másolhatók (%d)."
-
-#, c-format
-msgid "Unable to copy CUPS printer driver files (%d)."
-msgstr "A CUPS illesztőprogram-fájlok nem másolhatók (%d)."
-
-#, c-format
-msgid "Unable to copy PPD file - %s"
-msgstr "A PPD-fájl nem másolható - %s"
-
-msgid "Unable to copy PPD file."
-msgstr "A PPD-fájl nem másolható."
-
-#, c-format
-msgid "Unable to copy Windows 2000 printer driver files (%d)."
-msgstr "A Windows 2000 illesztőprogram-fájlok nem másolhatók (%d)."
-
-#, c-format
-msgid "Unable to copy Windows 9x printer driver files (%d)."
-msgstr "A Windows 9x illesztőprogram-fájlok nem másolhatók (%d)."
-
-#, c-format
-msgid "Unable to copy interface script - %s"
-msgstr "A felület parancsfájl nem másolható - %s"
-
-msgid "Unable to copy print file"
-msgstr "A nyomtatási fájl nem másolható"
-
-msgid "Unable to create compressed print file"
-msgstr "Nem hozható létre tömörített nyomtatási fájl"
-
-msgid "Unable to create pipes for filters"
-msgstr "Nem hozhatók létre csövek a szűrőkhöz"
-
-msgid "Unable to create printer-uri"
-msgstr "Nem hozható létre printer-uri"
-
-msgid "Unable to create temporary file"
-msgstr "Az átmeneti fájl létrehozása nem lehetséges"
-
-msgid "Unable to create temporary file:"
-msgstr "Az átmeneti fájl létrehozása nem lehetséges:"
-
-msgid "Unable to delete class:"
-msgstr "Nem törölhető az osztály:"
-
-msgid "Unable to delete printer:"
-msgstr "Nem törölhető a nyomtató:"
-
-msgid "Unable to do maintenance command:"
-msgstr "Nem hajtható végre a karbantartási parancs:"
-
-msgid "Unable to edit cupsd.conf files larger than 1MB"
-msgstr "Nem szerkeszthetők 1 MB-nál nagyobb cupsd.conf fájlok"
-
-msgid ""
-"Unable to establish a secure connection to host (certificate chain invalid)."
-msgstr ""
-"Nem hozható létre biztonságos kapcsolat a géphez (érvénytelen "
-"tanúsítványlánc)."
-
-msgid ""
-"Unable to establish a secure connection to host (certificate not yet valid)."
-msgstr ""
-"Nem hozható létre biztonságos kapcsolat a géphez (a tanúsítvány még nem "
-"érvényes)."
-
-msgid "Unable to establish a secure connection to host (expired certificate)."
-msgstr ""
-"Nem hozható létre biztonságos kapcsolat a géphez (a tanúsítvány lejárt)."
-
-msgid "Unable to establish a secure connection to host (host name mismatch)."
-msgstr "Nem hozható létre biztonságos kapcsolat a géphez (a gépnév eltér)."
-
-msgid ""
-"Unable to establish a secure connection to host (peer dropped connection "
-"before responding)."
-msgstr ""
-"Nem hozható létre biztonságos kapcsolat a géphez (a partner eldobta a "
-"kapcsolatot a válasz előtt)."
-
-msgid ""
-"Unable to establish a secure connection to host (self-signed certificate)."
-msgstr ""
-"Nem hozható létre biztonságos kapcsolat a géphez (önaláírt tanúsítvány)."
-
-msgid ""
-"Unable to establish a secure connection to host (untrusted certificate)."
-msgstr ""
-"Nem hozható létre biztonságos kapcsolat a géphez (a tanúsítványban nem lehet "
-"megbízni)."
-
-msgid "Unable to establish a secure connection to host."
-msgstr "Nem hozható létre biztonságos kapcsolat a géphez."
-
-msgid "Unable to find destination for job"
-msgstr "Nem található a feladat célja"
-
-msgid "Unable to find printer."
-msgstr "Nem található a nyomtató."
-
-msgid "Unable to fork filter"
-msgstr "A szűrő nem indítható el"
-
-msgid "Unable to generate compressed print file"
-msgstr "Nem állítható elő tömörített nyomtatási fájl"
-
-msgid "Unable to get backend exit status."
-msgstr "Nem kérhető le a háttérprogram kilépési állapota."
-
-msgid "Unable to get class list:"
-msgstr "Nem kérhető le az osztályok listája:"
-
-msgid "Unable to get class status:"
-msgstr "Nem kérhető le az osztály állapota:"
-
-msgid "Unable to get list of printer drivers:"
-msgstr "Nem kérhető le a nyomtató-illesztőprogramok listája:"
-
-msgid "Unable to get printer attributes:"
-msgstr "Nem kérhetők le a nyomtató attribútumai:"
-
-msgid "Unable to get printer list:"
-msgstr "Nem kérhető le a nyomtatók listája:"
-
-msgid "Unable to get printer status."
-msgstr "Nem kérhető le a nyomtató állapota."
-
-msgid "Unable to get printer status:"
-msgstr "Nem kérhető le a nyomtató állapota:"
-
-#, c-format
-msgid "Unable to install Windows 2000 printer driver files (%d)."
-msgstr "A Windows 2000 illesztőprogram-fájlok nem telepíthetők (%d)."
-
-#, c-format
-msgid "Unable to install Windows 9x printer driver files (%d)."
-msgstr "A Windows 9x illesztőprogram-fájlok nem telepíthetők (%d)."
-
-#, c-format
-msgid "Unable to locate printer \"%s\"."
-msgstr "Nem található a(z) „%s” nyomtató."
-
-msgid "Unable to locate printer."
-msgstr "Nem található a nyomtató."
-
-msgid "Unable to modify class:"
-msgstr "Nem módosítható az osztály:"
-
-msgid "Unable to modify printer:"
-msgstr "Nem módosítható a nyomtató:"
-
-msgid "Unable to move job"
-msgstr "Nem helyezhető át a feladat"
-
-msgid "Unable to move jobs"
-msgstr "Nem helyezhetők át a feladatok"
-
-msgid "Unable to open PPD file"
-msgstr "Nem nyitható meg a PPD-fájl"
-
-msgid "Unable to open PPD file:"
-msgstr "Nem nyitható meg a PPD-fájl:"
-
-msgid "Unable to open charset file"
-msgstr "A karakterkészletfájl nem nyitható meg"
-
-msgid "Unable to open compressed print file"
-msgstr "Nem nyitható meg tömörített nyomtatási fájl"
-
-msgid "Unable to open cupsd.conf file:"
-msgstr "A cupsd.conf fájl nem nyitható meg:"
-
-msgid "Unable to open device file"
-msgstr "Az eszközfájl nem nyitható meg"
-
-#, c-format
-msgid "Unable to open document #%d in job #%d."
-msgstr "Nem nyitható meg a(z) %d. dokumentum a(z) %d. feladatban."
-
-msgid "Unable to open print file"
-msgstr "A nyomtatási fájl nem nyitható meg"
-
-msgid "Unable to open psglyphs"
-msgstr "A psglyphs nem nyitható meg"
-
-msgid "Unable to open raster file"
-msgstr "Raszterfájl megnyitása nem lehetséges"
-
-#, c-format
-msgid "Unable to print %d text columns."
-msgstr "Nem nyomtatható ki %d szövegoszlop."
-
-#, c-format
-msgid "Unable to print %dx%d text page."
-msgstr "Nem nyomtatható ki %dx%d szövegoldal."
-
-msgid "Unable to print test page:"
-msgstr "Nem nyomtatható tesztoldal:"
-
-msgid "Unable to read print data"
-msgstr "Nem olvashatók a nyomtatási adatok"
-
-msgid "Unable to read print data."
-msgstr "Nem olvashatók a nyomtatási adatok."
-
-#, c-format
-msgid "Unable to run \"%s\": %s"
-msgstr "A(z) „%s” nem futtatható: %s"
-
-msgid "Unable to see in file"
-msgstr "A fájl nem olvasható"
-
-msgid "Unable to send command to printer driver"
-msgstr "Nem küldhető parancs a nyomtató-illesztőprogramnak"
-
-msgid "Unable to send data to printer."
-msgstr "Az adatok nem küldhetők el a nyomtatóra."
-
-msgid "Unable to send raster data to the driver."
-msgstr "A raszteradatok nem küldhetők el az illesztőprogramnak."
-
-#, c-format
-msgid "Unable to set Windows printer driver (%d)."
-msgstr "A Windows illesztőprogram nem állítható be (%d)."
-
-msgid "Unable to set options:"
-msgstr "Nem adhatók meg a beállítások:"
-
-msgid "Unable to set server default:"
-msgstr "Nem állítható be a kiszolgáló alapértelmezése:"
-
-msgid "Unable to start backend process."
-msgstr "Nem indítható a háttérfolyamat."
-
-msgid "Unable to upload cupsd.conf file:"
-msgstr "A cupsd.conf fájl nem tölthető fel:"
-
-msgid "Unable to use legacy USB class driver."
-msgstr "Nem használható az örökölt USB osztály-illesztőprogram."
-
-msgid "Unable to write print data"
-msgstr "Nem írhatók a nyomtatási adatok"
-
-#, c-format
-msgid "Unable to write uncompressed print data: %s"
-msgstr "Nem írhatók a tömörítetlen nyomtatási adatok: %s"
-
-msgid "Unauthorized"
-msgstr "Nem jogosult"
-
-msgid "Units"
-msgstr "Mértékegységek"
-
-msgid "Unknown"
-msgstr "Ismeretlen"
-
-#, c-format
-msgid "Unknown choice \"%s\" for option \"%s\"."
-msgstr "Ismeretlen lehetőség („%s”) a(z) „%s” beállításhoz."
-
-#, c-format
-msgid "Unknown encryption option value: \"%s\"."
-msgstr "Ismeretlen titkosításibeállítás-érték: „%s”."
-
-#, c-format
-msgid "Unknown file order: \"%s\"."
-msgstr "Ismeretlen fájlsorrend: „%s”."
-
-#, c-format
-msgid "Unknown format character: \"%c\"."
-msgstr "Ismeretlen formázókarakter: „%c”."
-
-#, c-format
-msgid "Unknown option \"%s\" with value \"%s\"."
-msgstr "Ismeretlen kapcsoló („%s”) „%s” értékkel."
-
-#, c-format
-msgid "Unknown option \"%s\"."
-msgstr "Ismeretlen kapcsoló: „%s”."
-
-#, c-format
-msgid "Unknown print mode: \"%s\"."
-msgstr "Ismeretlen nyomtatási mód: „%s”."
-
-#, c-format
-msgid "Unknown printer-error-policy \"%s\"."
-msgstr "Ismeretlen printer-error-policy: „%s”."
-
-#, c-format
-msgid "Unknown printer-op-policy \"%s\"."
-msgstr "Ismeretlen printer-op-policy: „%s”."
-
-#, c-format
-msgid "Unknown version option value: \"%s\"."
-msgstr "Ismeretlen verzióbeállítás-érték: „%s”."
-
-#, c-format
-msgid "Unsupported baud rate: %s"
-msgstr "Nem támogatott átviteli sebesség: %s"
-
-#, c-format
-msgid "Unsupported brightness value %s, using brightness=100."
-msgstr "Nem támogatott fényerőérték (%s), fényerő=100 használata."
-
-#, c-format
-msgid "Unsupported character set \"%s\"."
-msgstr "Nem támogatott karakterkészlet: „%s”."
-
-#, c-format
-msgid "Unsupported compression \"%s\"."
-msgstr "Nem támogatott tömörítés: „%s”."
-
-#, c-format
-msgid "Unsupported document-format \"%s\"."
-msgstr "Nem támogatott document-format: „%s”."
-
-#, c-format
-msgid "Unsupported document-format \"%s/%s\"."
-msgstr "Nem támogatott document-format: „%s/%s”."
-
-#, c-format
-msgid "Unsupported format \"%s\"."
-msgstr "Nem támogatott formátum: „%s”."
-
-#, c-format
-msgid "Unsupported gamma value %s, using gamma=1000."
-msgstr "Nem támogatott gamma érték (%s), gamma=1000 használata."
-
-msgid "Unsupported margins."
-msgstr "Nem támogatott margók."
-
-msgid "Unsupported media value."
-msgstr "Nem támogatott médiaérték."
-
-#, c-format
-msgid "Unsupported number-up value %d, using number-up=1."
-msgstr "Nem támogatott number-up érték (%d), number-up=1 használata."
-
-#, c-format
-msgid "Unsupported number-up-layout value %s, using number-up-layout=lrtb."
-msgstr ""
-"Nem támogatott number-up-layout érték (%s), number-up-layout=lrtb használata."
-
-#, c-format
-msgid "Unsupported page-border value %s, using page-border=none."
-msgstr "Nem támogatott page-border érték (%s), page-border=none használata."
-
-msgid "Unsupported raster data."
-msgstr "Nem támogatott raszteradatok."
-
-msgid "Unsupported value type"
-msgstr "Nem támogatott értéktípus"
-
-msgid "Upgrade Required"
-msgstr "Frissítés szükséges"
-
-msgid ""
-"Usage:\n"
-"\n"
-"    lpadmin [-h server] -d destination\n"
-"    lpadmin [-h server] -x destination\n"
-"    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m model]\n"
-"                       [-r remove-class] [-v device] [-D description]\n"
-"                       [-P ppd-file] [-o name=value]\n"
-"                       [-u allow:user,user] [-u deny:user,user]"
-msgstr ""
-"Használat:\n"
-"\n"
-"    lpadmin [-h kiszolgáló] -d cél\n"
-"    lpadmin [-h kiszolgáló] -x cél\n"
-"    lpadmin [-h kiszolgáló] -p nyomtató [-c hozzáadandó-osztály] [-i "
-"csatoló]\n"
-"                           [-m modell] [-r eltávolítandó-osztály] [-v "
-"eszköz]\n"
-"                           [-D leírás] [-P ppd-fájl] [-o név=érték]\n"
-"                           [-u allow:felhasználó,felhasználó] [-u deny:"
-"felhasználó,felhasználó]"
-
-#, c-format
-msgid "Usage: %s job user title copies options [filename]"
-msgstr "Használat: %s feladat felhasználó cím példányok kapcsolók [fájlnév]"
-
-#, c-format
-msgid "Usage: %s job-id user title copies options [file]"
-msgstr ""
-"Használat: %s feladatazonosító felhasználó cím példányok kapcsolók [fájl]"
-
-#, c-format
-msgid "Usage: %s job-id user title copies options file"
-msgstr ""
-"Használat: %s feladatazonosító felhasználó cím példányok kapcsolók fájl"
-
-msgid "Usage: convert [ options ]"
-msgstr "Használat: convert [ kapcsolók ]"
-
-msgid "Usage: cupsaddsmb [options] printer1 ... printerN"
-msgstr "Használat: cupsaddsmb [kapcsolók] nyomtató1 ... nyomtatóN"
-
-msgid "Usage: cupsctl [options] [param=value ... paramN=valueN]"
-msgstr "Használat: cupsctl [kapcsolók] [param=érték ... paramN=értékN]"
-
-msgid "Usage: cupsd [options]"
-msgstr "Használat: cupsd [kapcsolók]"
-
-msgid "Usage: cupsfilter [ options ] filename"
-msgstr "Használat: cupsfilter [ kapcsolók ] fájlnév"
-
-msgid "Usage: cupstestdsc [options] filename.ps [... filename.ps]"
-msgstr "Használat: cupstestdsc [kapcsolók] fájlnév.ps [... fájlnév.ps]"
-
-msgid ""
-"Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]"
-msgstr ""
-"Használat: cupstestppd [kapcsolók] fájlnév1.ppd[.gz] [... fájlnévN.ppd[.gz]]"
-
-msgid "Usage: ipptool [options] URI filename [ ... filenameN ]"
-msgstr "Használat: ipptool [kapcsolók] URI fájlnév [ ... fájlnévN ]"
-
-msgid "Usage: lpmove job/src dest"
-msgstr "Használat: lpmove feladat/forrás cél"
-
-msgid ""
-"Usage: lpoptions [-h server] [-E] -d printer\n"
-"       lpoptions [-h server] [-E] [-p printer] -l\n"
-"       lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
-"       lpoptions [-h server] [-E] -x printer"
-msgstr ""
-"Használat: lpoptions [-h kiszolgáló] [-E] -d nyomtató\n"
-"           lpoptions [-h kiszolgáló] [-E] [-p nyomtató] -l\n"
-"           lpoptions [-h kiszolgáló] [-E] -p nyomtató -o kapcsoló[=érték] …\n"
-"           lpoptions [-h kiszolgáló] [-E] -x nyomtató"
-
-msgid "Usage: lppasswd [-g groupname]"
-msgstr "Használat: lppasswd [-g csoportnév]"
-
-msgid ""
-"Usage: lppasswd [-g groupname] [username]\n"
-"       lppasswd [-g groupname] -a [username]\n"
-"       lppasswd [-g groupname] -x [username]"
-msgstr ""
-"Használat: lppasswd [-g csoportnév] [felhasználónév]\n"
-"           lppasswd [-g csoportnév] -a [felhasználónév]\n"
-"           lppasswd [-g csoportnév] -x [felhasználónév]"
-
-msgid ""
-"Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]"
-msgstr ""
-"Használat: lpq [-P cél] [-U felhasználónév] [-h gépnév[:port]] [-l] [+időköz]"
-
-msgid "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]"
-msgstr "Használat: ppdc [kapcsolók] fájlnév.drv [ ... fájlnévN.drv ]"
-
-msgid "Usage: ppdhtml [options] filename.drv >filename.html"
-msgstr "Használat: ppdhtml [kapcsolók] fájlnév.drv > fájlnév.html"
-
-msgid "Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]"
-msgstr "Használat: ppdi [kapcsolók] fájlnév.ppd [ ... fájlnévN.ppd ]"
-
-msgid "Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]"
-msgstr "Használat: ppdmerge [kapcsolók] fájlnév.ppd [ ... fájlnévN.ppd ]"
-
-msgid ""
-"Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]"
-msgstr ""
-"Használat: ppdpo [kapcsolók] -o fájlnév.po fájlnév.drv [ ... fájlnévN.drv ]"
-
-msgid "Usage: snmp [host-or-ip-address]"
-msgstr "Használat: snmp [gép-vagy-ip-cím]"
-
-msgid "Value uses indefinite length"
-msgstr "Az érték végtelen hosszt használ"
-
-msgid "VarBind uses indefinite length"
-msgstr "A VarBind végtelen hosszt használ"
-
-msgid "Version uses indefinite length"
-msgstr "A verzió végtelen hosszt használ"
-
-msgid "Waiting for job to complete."
-msgstr "Várakozás a feladat befejeződésére."
-
-msgid "Waiting for printer to become available."
-msgstr "Várakozás a nyomtató elérhetővé válására."
-
-msgid "Waiting for printer to finish."
-msgstr "Várakozás a nyomtatás befejezésére."
-
-msgid "Warning, no Windows 2000 printer drivers are installed."
-msgstr ""
-"Figyelmeztetés, nincsenek telepítve Windows 2000 nyomtató-illesztőprogramok."
-
-msgid "Web Interface is Disabled"
-msgstr "A webes felület letiltva"
-
-msgid "Yes"
-msgstr "Igen"
-
-#, c-format
-msgid ""
-"You must access this page using the URL <A HREF=\"https://%s:%d%s\">https://%"
-"s:%d%s</A>."
-msgstr ""
-"Ezt az oldalt a következő URL használatával érje el: <A HREF=\"https://%s:%d%"
-"s\">https://%s:%d%s</A>."
-
-msgid ""
-"Your password must be at least 6 characters long, cannot contain your "
-"username, and must contain at least one letter and number."
-msgstr ""
-"Jelszavának legalább 6 karakter hosszúságúnak kell lennie, nem "
-"tartalmazhatja ą felhasználónevét, és legalább egy betűt és számot kell "
-"tartalmaznia."
-
-msgid "ZPL Label Printer"
-msgstr "ZPL címkenyomtató"
-
-msgid "Zebra"
-msgstr "Zebra"
-
-msgid "aborted"
-msgstr "megszakítva"
-
-msgid "canceled"
-msgstr "megszakítva"
-
-msgid "completed"
-msgstr "végrehajtva"
-
-msgid "convert: Use the -f option to specify a file to convert."
-msgstr "convert: Használja a -f kapcsolót az átalakítandó fájl megadásához."
-
-msgid "cups-deviced failed to execute."
-msgstr "A cups-deviced végrehajtása sikertelen."
-
-msgid "cups-driverd failed to execute."
-msgstr "A cups-driverd végrehajtása sikertelen."
-
-#, c-format
-msgid "cupsaddsmb: No PPD file for printer \"%s\" - %s"
-msgstr "cupsaddsmb: Nincs PPD-fájl a(z) „%s” nyomtatóhoz - %s"
-
-msgid "cupsctl: Cannot set Listen or Port directly."
-msgstr "cupsctl: A Listen vagy Port nem állítható be közvetlenül."
-
-#, c-format
-msgid "cupsctl: Unable to connect to server: %s"
-msgstr "cupsctl: Nem lehet a kiszolgálóhoz csatlakozni: %s"
-
-#, c-format
-msgid "cupsctl: Unknown option \"%s\""
-msgstr "cupsctl: Ismeretlen kapcsoló: „%s”"
-
-#, c-format
-msgid "cupsctl: Unknown option \"-%c\""
-msgstr "cupsctl: Ismeretlen kapcsoló: „-%c”"
-
-msgid "cupsd: Expected config filename after \"-c\" option."
-msgstr "cupsd: A „-c” kapcsoló után konfigurációs fájl nevének kellene állnia."
-
-msgid "cupsd: Unable to get current directory."
-msgstr "cupsd: Az aktuális könyvtár nem kérhető le."
-
-#, c-format
-msgid "cupsd: Unknown argument \"%s\" - aborting."
-msgstr "cupsd: Ismeretlen argumentum: „%s” - megszakítás."
-
-#, c-format
-msgid "cupsd: Unknown option \"%c\" - aborting."
-msgstr "cupsd: Ismeretlen kapcsoló: „%c” - megszakítás."
-
-msgid "cupsd: launchd(8) support not compiled in, running in normal mode."
-msgstr ""
-"cupsd: A launchd(8) támogatása nincs befordítva, futtatás normál módban."
-
-#, c-format
-msgid "cupsfilter: Invalid document number %d."
-msgstr "cupsfilter: Érvénytelen dokumentumszám: %d."
-
-#, c-format
-msgid "cupsfilter: Invalid job ID %d."
-msgstr "cupsfilter: Érvénytelen feladatazonosító: %d."
-
-msgid "cupsfilter: Only one filename can be specified."
-msgstr "cupsfilter: Csak egy fájlnév adható meg."
-
-#, c-format
-msgid "cupsfilter: Unable to get job file - %s"
-msgstr "cupsfilter: A feladatfájl nem kérhető le - %s"
-
-msgid "cupstestppd: The -q option is incompatible with the -v option."
-msgstr "cupstestppd: A -q kapcsoló nem kompatibilis a -v kapcsolóval."
-
-msgid "cupstestppd: The -v option is incompatible with the -q option."
-msgstr "cupstestppd: A -v kapcsoló nem kompatibilis a -q kapcsolóval."
-
-#, c-format
-msgid "device for %s/%s: %s"
-msgstr "eszköz ehhez: %s/%s: %s"
-
-#, c-format
-msgid "device for %s: %s"
-msgstr "eszköz ehhez: %s: %s"
-
-msgid "error-index uses indefinite length"
-msgstr "az error-index végtelen hosszot használ"
-
-msgid "error-status uses indefinite length"
-msgstr "az error-status végtelen hosszot használ"
-
-msgid "held"
-msgstr "felfüggesztve"
-
-msgid "help\t\tGet help on commands."
-msgstr "help\t\tSúgó a parancsokhoz."
-
-msgid "idle"
-msgstr "tétlenség"
-
-msgid "ipptool: \"-i\" and \"-n\" are incompatible with -X\"."
-msgstr "ipptool: a „-i” és „-n” nem kompatibilisek a „-X” kapcsolóval."
-
-msgid "ipptool: \"-i\" is incompatible with \"-X\"."
-msgstr "ipptool: a „-i” nem kompatibilis a „-X” kapcsolóval."
-
-msgid "ipptool: \"-n\" is incompatible with \"-X\"."
-msgstr "ipptool: a „-n” nem kompatibilis a „-X” kapcsolóval."
-
-#, c-format
-msgid "ipptool: Bad URI - %s."
-msgstr "ipptool: Hibás URI - %s."
-
-#, c-format
-msgid "ipptool: Bad version %s for \"-V\"."
-msgstr "ipptool: Hibás verzió (%s) a „-V” kapcsolóhoz."
-
-msgid "ipptool: Invalid seconds for \"-i\"."
-msgstr "ipptool: Érvénytelen másodpercek a „-i” kapcsolóhoz."
-
-msgid "ipptool: May only specify a single URI."
-msgstr "ipptool: Csak egy URI adható meg."
-
-msgid "ipptool: Missing count for \"-n\"."
-msgstr "ipptool: Hiányzó szám a „-n” kapcsolóhoz."
-
-msgid "ipptool: Missing filename for \"-f\"."
-msgstr "ipptool: Hiányzó fájlnév a „-f” kapcsolóhoz."
-
-msgid "ipptool: Missing name=value for \"-d\"."
-msgstr "ipptool: Hiányzó név=érték pár a „-d” kapcsolóhoz."
-
-msgid "ipptool: Missing seconds for \"-i\"."
-msgstr "ipptool: Hiányzó másodpercek a „-i” kapcsolóhoz."
-
-msgid "ipptool: Missing timeout for \"-T\"."
-msgstr "ipptool: Hiányzó időkorlát a „-T” kapcsolóhoz."
-
-msgid "ipptool: Missing version for \"-V\"."
-msgstr "ipptool: Hiányzó verzió a „-V” kapcsolóhoz."
-
-msgid "ipptool: URI required before test file."
-msgstr "ipptool: URI szükséges a tesztfájl előtt."
-
-#, c-format
-msgid "ipptool: Unknown option \"-%c\"."
-msgstr "ipptool: Ismeretlen kapcsoló: „-%c”."
-
-msgid "job-printer-uri attribute missing."
-msgstr "A job-printer-uri attribútum hiányzik."
-
-msgid "lpadmin: Class name can only contain printable characters."
-msgstr "lpadmin: Az osztálynév csak nyomtatható karaktereket tartalmazhat."
-
-msgid "lpadmin: Expected PPD after \"-P\" option."
-msgstr "lpadmin: A „-P” kapcsoló után PPD-nek kellene állnia."
-
-msgid "lpadmin: Expected allow/deny:userlist after \"-u\" option."
-msgstr ""
-"lpadmin: A „-u” kapcsoló után allow/deny:felhasználólistának kellene állnia."
-
-msgid "lpadmin: Expected class after \"-r\" option."
-msgstr "lpadmin: A „-r” kapcsoló után osztálynak kellene állnia."
-
-msgid "lpadmin: Expected class name after \"-c\" option."
-msgstr "lpadmin: A „-c” kapcsoló után osztálynévnek kellene állnia."
-
-msgid "lpadmin: Expected description after \"-D\" option."
-msgstr "lpadmin: A „-D” kapcsoló után leírásnak kellene állnia."
-
-msgid "lpadmin: Expected device URI after \"-v\" option."
-msgstr "lpadmin: A „-v” kapcsoló után eszköz URI-címnek kellene állnia."
-
-msgid "lpadmin: Expected file type(s) after \"-I\" option."
-msgstr "lpadmin: A „-I” kapcsoló után fájltípusnak kellene állnia."
-
-msgid "lpadmin: Expected hostname after \"-h\" option."
-msgstr "lpadmin: A „-h” kapcsoló után gépnévnek kellene állnia."
-
-msgid "lpadmin: Expected interface after \"-i\" option."
-msgstr "lpadmin: A „-i” kapcsoló után felületnek kellene állnia."
-
-msgid "lpadmin: Expected location after \"-L\" option."
-msgstr "lpadmin: A „-L” kapcsoló után helynek kellene állnia."
-
-msgid "lpadmin: Expected model after \"-m\" option."
-msgstr "lpadmin: A „-m” kapcsoló után modellnek kellene állnia."
-
-msgid "lpadmin: Expected name after \"-R\" option."
-msgstr "lpadmin: A „-h” kapcsoló után gépnévnek kellene állnia."
-
-msgid "lpadmin: Expected name=value after \"-o\" option."
-msgstr "lpadmin: A „-o” kapcsoló után név=érték párnak kellene állnia."
-
-msgid "lpadmin: Expected printer after \"-p\" option."
-msgstr "lpadmin: A „-p” kapcsoló után nyomtatónak kellene állnia."
-
-msgid "lpadmin: Expected printer name after \"-d\" option."
-msgstr "lpadmin: A „-d” kapcsoló után nyomtatónévnek kellene állnia."
-
-msgid "lpadmin: Expected printer or class after \"-x\" option."
-msgstr ""
-"lpadmin: A „-x” kapcsoló után nyomtatónak vagy osztálynak kellene állnia."
-
-msgid "lpadmin: No member names were seen."
-msgstr "lpadmin: Nem voltak megadva tagnevek."
-
-#, c-format
-msgid "lpadmin: Printer %s is already a member of class %s."
-msgstr "lpadmin: A(z) %s nyomtató már tagja a(z) %s osztálynak."
-
-#, c-format
-msgid "lpadmin: Printer %s is not a member of class %s."
-msgstr "lpadmin: A(z) %s nyomtató nem tagja a(z) %s osztálynak."
-
-msgid "lpadmin: Printer name can only contain printable characters."
-msgstr "lpadmin: A nyomtatónév csak nyomtatható karaktereket tartalmazhat."
-
-msgid ""
-"lpadmin: Unable to add a printer to the class:\n"
-"         You must specify a printer name first."
-msgstr ""
-"lpadmin: Nem adható a nyomtató az osztályhoz:\n"
-"         Előbb meg kell adnia egy nyomtatónevet."
-
-#, c-format
-msgid "lpadmin: Unable to connect to server: %s"
-msgstr "lpadmin: Nem lehet a kiszolgálóhoz csatlakozni: %s"
-
-msgid "lpadmin: Unable to create temporary file"
-msgstr "lpadmin: Az átmeneti fájl létrehozása nem lehetséges"
-
-msgid ""
-"lpadmin: Unable to delete option:\n"
-"         You must specify a printer name first."
-msgstr ""
-"lpadmin: Nem törölhető a beállítás:\n"
-"         Előbb meg kell adnia egy nyomtatónevet."
-
-#, c-format
-msgid "lpadmin: Unable to open PPD file \"%s\" - %s"
-msgstr "lpadmin: A(z) „%s” PPD-fájl nem nyitható meg - %s"
-
-msgid ""
-"lpadmin: Unable to remove a printer from the class:\n"
-"         You must specify a printer name first."
-msgstr ""
-"lpadmin: Nem távolítható el a nyomtató az osztályból:\n"
-"         Előbb meg kell adnia egy nyomtatónevet."
-
-msgid ""
-"lpadmin: Unable to set the printer options:\n"
-"         You must specify a printer name first."
-msgstr ""
-"lpadmin: Nem adhatók meg a nyomtatóbeállítások:\n"
-"         Előbb meg kell adnia egy nyomtatónevet."
-
-#, c-format
-msgid "lpadmin: Unknown allow/deny option \"%s\"."
-msgstr "lpadmin: Ismeretlen allow/deny kapcsoló: „%s”."
-
-#, c-format
-msgid "lpadmin: Unknown argument \"%s\"."
-msgstr "lpadmin: Ismeretlen argumentum: „%s”."
-
-#, c-format
-msgid "lpadmin: Unknown option \"%c\"."
-msgstr "lpadmin: Ismeretlen kapcsoló: „%c”."
-
-msgid "lpadmin: Warning - content type list ignored."
-msgstr "lpadmin: Figyelmeztetés - a tartalomtípus-lista mellőzve."
-
-msgid "lpc> "
-msgstr "lpc> "
-
-msgid "lpinfo: Expected 1284 device ID string after \"--device-id\"."
-msgstr ""
-"lpinfo: A „--device-id” kapcsoló után 1284-es eszközazonosítónak kellene "
-"állnia."
-
-msgid "lpinfo: Expected language after \"--language\"."
-msgstr "lpinfo: A „--language” kapcsoló után nyelvnek kellene állnia."
-
-msgid "lpinfo: Expected make and model after \"--make-and-model\"."
-msgstr ""
-"lpinfo: A „--make-and-model” kapcsoló után gyártónak és modellnek kellene "
-"állnia."
-
-msgid "lpinfo: Expected product string after \"--product\"."
-msgstr ""
-"lpinfo: A „--product” kapcsoló után termék karakterláncnak kellene állnia."
-
-msgid "lpinfo: Expected scheme list after \"--exclude-schemes\"."
-msgstr ""
-"lpinfo: A „--exclude-schemes” kapcsoló után sémalistának kellene állnia."
-
-msgid "lpinfo: Expected scheme list after \"--include-schemes\"."
-msgstr ""
-"lpinfo: A „--include-schemes” kapcsoló után sémalistának kellene állnia."
-
-msgid "lpinfo: Expected timeout after \"--timeout\"."
-msgstr "lpinfo: A „--timeout” kapcsoló után időkorlátnak kellene állnia."
-
-#, c-format
-msgid "lpinfo: Unknown argument \"%s\"."
-msgstr "lpinfo: Ismeretlen argumentum: „%s”."
-
-#, c-format
-msgid "lpinfo: Unknown option \"%c\"."
-msgstr "lpinfo: Ismeretlen kapcsoló: „%c”."
-
-#, c-format
-msgid "lpinfo: Unknown option \"%s\"."
-msgstr "lpinfo: Ismeretlen kapcsoló: „%s”."
-
-#, c-format
-msgid "lpmove: Unable to connect to server: %s"
-msgstr "lpmove: Nem lehet a kiszolgálóhoz csatlakozni: %s"
-
-#, c-format
-msgid "lpmove: Unknown argument \"%s\"."
-msgstr "lpmove: Ismeretlen argumentum: „%s”."
-
-#, c-format
-msgid "lpmove: Unknown option \"%c\"."
-msgstr "lpmove: Ismeretlen kapcsoló: „%c”."
-
-msgid "lpoptions: No printers."
-msgstr "lpoptions: Nincsenek nyomtatók."
-
-#, c-format
-msgid "lpoptions: Unable to add printer or instance: %s"
-msgstr "lpoptions: Nem vehető fel a nyomtató vagy példány: %s"
-
-#, c-format
-msgid "lpoptions: Unable to get PPD file for %s: %s"
-msgstr "lpoptions: Nem kérhető le PPD-fájl ehhez: %s: %s"
-
-#, c-format
-msgid "lpoptions: Unable to open PPD file for %s."
-msgstr "lpoptions: Nem nyitható meg PPD-fájl ehhez: %s."
-
-msgid "lpoptions: Unknown printer or class."
-msgstr "lpoptions: Ismeretlen nyomtató vagy osztály."
-
-msgid "lppasswd: Only root can add or delete passwords."
-msgstr "lppasswd: Csak a root vehet fel vagy törölhet jelszavakat."
-
-msgid "lppasswd: Password file busy."
-msgstr "lppasswd: A jelszófájl foglalt."
-
-msgid "lppasswd: Password file not updated."
-msgstr "lppasswd: A jelszófájl nem lett frissítve."
-
-msgid "lppasswd: Sorry, password doesn't match."
-msgstr "lppasswd: Elnézést, a jelszó nem egyezik."
-
-msgid "lppasswd: Sorry, password rejected."
-msgstr "lppasswd: Elnézést, a jelszó visszautasítva."
-
-msgid "lppasswd: Sorry, passwords don't match."
-msgstr "lppasswd: Elnézést, a jelszavak nem egyeznek."
-
-#, c-format
-msgid "lppasswd: Unable to copy password string: %s"
-msgstr "lppasswd: A jelszókarakterlánc nem másolható: %s"
-
-#, c-format
-msgid "lppasswd: Unable to open password file: %s"
-msgstr "lppasswd: A jelszófájl nem nyitható meg: %s"
-
-#, c-format
-msgid "lppasswd: Unable to write to password file: %s"
-msgstr "lppasswd: A jelszófájlba nem lehet írni: %s"
-
-#, c-format
-msgid "lppasswd: failed to backup old password file: %s"
-msgstr "lppasswd: a régi jelszófájl mentése sikertelen: %s"
-
-#, c-format
-msgid "lppasswd: failed to rename password file: %s"
-msgstr "lppasswd: a jelszófájl átnevezése sikertelen: %s"
-
-#, c-format
-msgid "lppasswd: user \"%s\" and group \"%s\" do not exist."
-msgstr "lppasswd: a(z) „%s” felhasználó és „%s” csoport nem létezik."
-
-#, c-format
-msgid ""
-"lpstat: error - %s environment variable names non-existent destination \"%s"
-"\"."
-msgstr ""
-"lpstat: hiba - a(z) %s környezeti változó nem létező célt („%s”) nevez meg."
-
-#, c-format
-msgid "members of class %s:"
-msgstr "%s osztály tagjai:"
-
-msgid "no entries"
-msgstr "nincsenek bejegyzések"
-
-msgid "no system default destination"
-msgstr "nincs rendszerszintű alapértelmezett cél"
-
-msgid "notify-events not specified."
-msgstr "A notify-events nincs megadva."
-
-#, c-format
-msgid "notify-recipient-uri URI \"%s\" is already used."
-msgstr "A(z) „%s” notify-recipient-uri URI már használatban van."
-
-#, c-format
-msgid "notify-recipient-uri URI \"%s\" uses unknown scheme."
-msgstr "A(z) „%s” notify-recipient-uri URI ismeretlen sémát használ."
-
-msgid "pending"
-msgstr "függőben"
-
-#, c-format
-msgid "ppdc: Adding include directory \"%s\"."
-msgstr "ppdc: „%s” include-könyvtár hozzáadása."
-
-#, c-format
-msgid "ppdc: Adding/updating UI text from %s."
-msgstr "ppdc: Felületszöveg hozzáadása/frissítése innen: %s."
-
-#, c-format
-msgid "ppdc: Bad boolean value (%s) on line %d of %s."
-msgstr "ppdc: Hibás logikai érték (%s) a(z) %d. sorban ebben: %s."
-
-#, c-format
-msgid "ppdc: Bad font attribute: %s"
-msgstr "ppdc: Hibás betűkészlet attribútum: %s"
-
-#, c-format
-msgid "ppdc: Bad resolution name \"%s\" on line %d of %s."
-msgstr "ppdc: Hibás felbontásnév („%s”) a(z) %d. sorban ebben: %s."
-
-#, c-format
-msgid "ppdc: Bad status keyword %s on line %d of %s."
-msgstr "ppdc: Hibás állapotkulcsszó (%s) a(z) %d. sorban ebben: %s."
-
-#, c-format
-msgid "ppdc: Bad variable substitution ($%c) on line %d of %s."
-msgstr "ppdc: Hibás változóhelyettesítés ($%c) a(z) %d. sorban ebben: %s."
-
-#, c-format
-msgid "ppdc: Choice found on line %d of %s with no Option."
-msgstr "ppdc: A(z) %d. sorban található lehetőséghez nincs Option ebben: %s."
-
-#, c-format
-msgid "ppdc: Duplicate #po for locale %s on line %d of %s."
-msgstr ""
-"ppdc: Többszörös #po a(z) %s területi beállításhoz a(z) %d. sorban ebben: %s."
-
-#, c-format
-msgid "ppdc: Expected a filter definition on line %d of %s."
-msgstr "ppdc: Szűrődefiníciónak kellene a(z) %d. sorban állnia ebben: %s."
-
-#, c-format
-msgid "ppdc: Expected a program name on line %d of %s."
-msgstr "ppdc: Programnévnek kellene a(z) %d. sorban állnia ebben: %s."
-
-#, c-format
-msgid "ppdc: Expected boolean value on line %d of %s."
-msgstr "ppdc: Logikai értéknek kellene a(z) %d. sorban állnia ebben: %s."
-
-#, c-format
-msgid "ppdc: Expected charset after Font on line %d of %s."
-msgstr ""
-"ppdc: Karakterkészletnek kellene a Font után állnia a(z) %d. sorban ebben: %"
-"s."
-
-#, c-format
-msgid "ppdc: Expected choice code on line %d of %s."
-msgstr "ppdc: Lehetőségkódnak kellene a(z) %d. sorban állnia ebben: %s."
-
-#, c-format
-msgid "ppdc: Expected choice name/text on line %d of %s."
-msgstr ""
-"ppdc: Lehetőségnévnek/szövegnek kellene a(z) %d. sorban állnia ebben: %s."
-
-#, c-format
-msgid "ppdc: Expected color order for ColorModel on line %d of %s."
-msgstr ""
-"ppdc: Színsorrendnek kellene a(z) %d. sorban állnia a ColorModelhez ebben: %"
-"s."
-
-#, c-format
-msgid "ppdc: Expected colorspace for ColorModel on line %d of %s."
-msgstr ""
-"ppdc: Színtérnek kellene a(z) %d. sorban állnia a ColorModelhez ebben: %s."
-
-#, c-format
-msgid "ppdc: Expected compression for ColorModel on line %d of %s."
-msgstr ""
-"ppdc: Tömörítésnek kellene a(z) %d. sorban állnia a ColorModelhez ebben: %s."
-
-#, c-format
-msgid "ppdc: Expected constraints string for UIConstraints on line %d of %s."
-msgstr ""
-"ppdc: Megszorítás-karakterláncnak kellene a(z) %d. sorban állnia a "
-"UIConstraintshoz ebben: %s."
-
-#, c-format
-msgid ""
-"ppdc: Expected driver type keyword following DriverType on line %d of %s."
-msgstr ""
-"ppdc: Illesztőprogram-típusnak kellene a(z) %d. sorban állnia a DriverType "
-"után ebben: %s."
-
-#, c-format
-msgid "ppdc: Expected duplex type after Duplex on line %d of %s."
-msgstr ""
-"ppdc: Duplex típusnak kellene a Duplex után állnia a(z) %d. sorban ebben: %s."
-
-#, c-format
-msgid "ppdc: Expected encoding after Font on line %d of %s."
-msgstr "ppdc: Kódolásnak kellene a Font után állnia a(z) %d. sorban ebben: %s."
-
-#, c-format
-msgid "ppdc: Expected filename after #po %s on line %d of %s."
-msgstr ""
-"ppdc: Fájlnévnek kellene a #po %s után állnia a(z) %d. sorban ebben: %s."
-
-#, c-format
-msgid "ppdc: Expected group name/text on line %d of %s."
-msgstr ""
-"ppdc: Csoportnévnek/szövegnek kellene a(z) %d. sorban állnia ebben: %s."
-
-#, c-format
-msgid "ppdc: Expected include filename on line %d of %s."
-msgstr "ppdc: include fájlnévnek kellene a(z) %d. sorban állnia ebben: %s."
-
-#, c-format
-msgid "ppdc: Expected integer on line %d of %s."
-msgstr "ppdc: Egésznek kellene a(z) %d. sorban állnia ebben: %s."
-
-#, c-format
-msgid "ppdc: Expected locale after #po on line %d of %s."
-msgstr ""
-"ppdc: Területi beállításnak kellene a #po után állnia a(z) %d. sorban ebben: "
-"%s."
-
-#, c-format
-msgid "ppdc: Expected name after %s on line %d of %s."
-msgstr "ppdc: Névnek kellene a(z) %s után állnia a(z) %d. sorban ebben: %s."
-
-#, c-format
-msgid "ppdc: Expected name after FileName on line %d of %s."
-msgstr "ppdc: Névnek kellene a FileName után állnia a(z) %d. sorban ebben: %s."
-
-#, c-format
-msgid "ppdc: Expected name after Font on line %d of %s."
-msgstr "ppdc: Névnek kellene a Font után állnia a(z) %d. sorban ebben: %s."
-
-#, c-format
-msgid "ppdc: Expected name after Manufacturer on line %d of %s."
-msgstr ""
-"ppdc: Névnek kellene a Manufacturer után állnia a(z) %d. sorban ebben: %s."
-
-#, c-format
-msgid "ppdc: Expected name after MediaSize on line %d of %s."
-msgstr ""
-"ppdc: Névnek kellene a MediaSize után állnia a(z) %d. sorban ebben: %s."
-
-#, c-format
-msgid "ppdc: Expected name after ModelName on line %d of %s."
-msgstr ""
-"ppdc: Névnek kellene a ModelName után állnia a(z) %d. sorban ebben: %s."
-
-#, c-format
-msgid "ppdc: Expected name after PCFileName on line %d of %s."
-msgstr ""
-"ppdc: Névnek kellene a PCFileName után állnia a(z) %d. sorban ebben: %s."
-
-#, c-format
-msgid "ppdc: Expected name/text after %s on line %d of %s."
-msgstr ""
-"ppdc: Névnek/szövegnek kellene a(z) %s után állnia a(z) %d. sorban ebben: %s."
-
-#, c-format
-msgid "ppdc: Expected name/text after Installable on line %d of %s."
-msgstr ""
-"ppdc: Névnek/szövegnek kellene az Installable után állnia a(z) %d. sorban "
-"ebben: %s."
-
-#, c-format
-msgid "ppdc: Expected name/text after Resolution on line %d of %s."
-msgstr ""
-"ppdc: Névnek/szövegnek kellene a Resolution után állnia a(z) %d. sorban "
-"ebben: %s."
-
-#, c-format
-msgid "ppdc: Expected name/text combination for ColorModel on line %d of %s."
-msgstr ""
-"ppdc: Név/szöveg kombinációnak kellene a(z) %d. sorban állnia a "
-"ColorModelhez ebben: %s."
-
-#, c-format
-msgid "ppdc: Expected option name/text on line %d of %s."
-msgstr ""
-"ppdc: Beállításnévnek/szövegnek kellene a(z) %d. sorban állnia ebben: %s."
-
-#, c-format
-msgid "ppdc: Expected option section on line %d of %s."
-msgstr "ppdc: Beállításszakasznak kellene a(z) %d. sorban állnia ebben: %s."
-
-#, c-format
-msgid "ppdc: Expected option type on line %d of %s."
-msgstr "ppdc: Beállítástípusnak kellene a(z) %d. sorban állnia ebben: %s."
-
-#, c-format
-msgid "ppdc: Expected override field after Resolution on line %d of %s."
-msgstr ""
-"ppdc: Felülbírálási mezőnek kellene a Resolution után állnia a(z) %d. sorban "
-"ebben: %s."
-
-#, c-format
-msgid "ppdc: Expected quoted string on line %d of %s."
-msgstr ""
-"ppdc: Idézett karakterláncnak kellene a(z) %d. sorban állnia ebben: %s."
-
-#, c-format
-msgid "ppdc: Expected real number on line %d of %s."
-msgstr "ppdc: Valós számnak kellene a(z) %d. sorban állnia ebben: %s."
-
-#, c-format
-msgid ""
-"ppdc: Expected resolution/mediatype following ColorProfile on line %d of %s."
-msgstr ""
-"ppdc: Felbontásnak/médiatípusnak kellene a(z) %d. sorban állnia a "
-"ColorProfile után ebben: %s."
-
-#, c-format
-msgid ""
-"ppdc: Expected resolution/mediatype following SimpleColorProfile on line %d "
-"of %s."
-msgstr ""
-"ppdc: Felbontásnak/médiatípusnak kellene a(z) %d. sorban állnia a "
-"SimpleColorProfile után ebben: %s."
-
-#, c-format
-msgid "ppdc: Expected selector after %s on line %d of %s."
-msgstr ""
-"ppdc: Választónak kellene a(z) %s után állnia a(z) %d. sorban ebben: %s."
-
-#, c-format
-msgid "ppdc: Expected status after Font on line %d of %s."
-msgstr "ppdc: Állapotnak kellene a Font után állnia a(z) %d. sorban ebben: %s."
-
-#, c-format
-msgid "ppdc: Expected string after Copyright on line %d of %s."
-msgstr ""
-"ppdc: Karakterláncnak kellene a Copyright után állnia a(z) %d. sorban ebben: "
-"%s."
-
-#, c-format
-msgid "ppdc: Expected string after Version on line %d of %s."
-msgstr ""
-"ppdc: Karakterláncnak kellene a Version után állnia a(z) %d. sorban ebben: %"
-"s."
-
-#, c-format
-msgid "ppdc: Expected two option names on line %d of %s."
-msgstr "ppdc: Két beállításnévnek kellene a(z) %d. sorban állnia ebben: %s."
-
-#, c-format
-msgid "ppdc: Expected value after %s on line %d of %s."
-msgstr "ppdc: Értéknek kellene a(z) %s után állnia a(z) %d. sorban ebben: %s."
-
-#, c-format
-msgid "ppdc: Expected version after Font on line %d of %s."
-msgstr "ppdc: Verziónak kellene a Font után állnia a(z) %d. sorban ebben: %s."
-
-#, c-format
-msgid "ppdc: Invalid #include/#po filename \"%s\"."
-msgstr "ppdc: Érvénytelen #include/#po fájlnév: „%s”."
-
-#, c-format
-msgid "ppdc: Invalid cost for filter on line %d of %s."
-msgstr "ppdc: Érvénytelen költség a szűrőhöz a(z) %d. sorban ebben: %s."
-
-#, c-format
-msgid "ppdc: Invalid empty MIME type for filter on line %d of %s."
-msgstr ""
-"ppdc: Érvénytelen üres MIME-típus a szűrőhöz a(z) %d. sorban ebben: %s."
-
-#, c-format
-msgid "ppdc: Invalid empty program name for filter on line %d of %s."
-msgstr ""
-"ppdc: Érvénytelen üres programnév a szűrőhöz a(z) %d. sorban ebben: %s."
-
-#, c-format
-msgid "ppdc: Invalid option section \"%s\" on line %d of %s."
-msgstr "ppdc: Érvénytelen beállításszakasz („%s”) a(z) %d. sorban ebben: %s."
-
-#, c-format
-msgid "ppdc: Invalid option type \"%s\" on line %d of %s."
-msgstr "ppdc: Érvénytelen beállítástípus („%s”) a(z) %d. sorban ebben: %s."
-
-#, c-format
-msgid "ppdc: Loading driver information file \"%s\"."
-msgstr "ppdc: Illesztőprogram-információs fájl betöltése: „%s”."
-
-#, c-format
-msgid "ppdc: Loading messages for locale \"%s\"."
-msgstr "ppdc: Üzenetek betöltése a területi beállításhoz: „%s”."
-
-#, c-format
-msgid "ppdc: Loading messages from \"%s\"."
-msgstr "ppdc: Üzenetek betöltése ebből: „%s”."
-
-#, c-format
-msgid "ppdc: Missing #endif at end of \"%s\"."
-msgstr "ppdc: Hiányzó #endif a(z) „%s” végén."
-
-#, c-format
-msgid "ppdc: Missing #if on line %d of %s."
-msgstr "ppdc: Hiányzó #if a(z) %d. sorban ebben: %s."
-
-#, c-format
-msgid ""
-"ppdc: Need a msgid line before any translation strings on line %d of %s."
-msgstr ""
-"ppdc: Egy msgid sor szükséges a fordítások előtt a(z) %d. sorban ebben: %s."
-
-#, c-format
-msgid "ppdc: No message catalog provided for locale %s."
-msgstr "ppdc: Nincs üzenetkatalógus a(z) %s területi beállításhoz."
-
-#, c-format
-msgid "ppdc: Option %s defined in two different groups on line %d of %s."
-msgstr ""
-"ppdc: A(z) %s beállítás két különböző csoportban van definiálva a(z) %d. "
-"sorban ebben: %s."
-
-#, c-format
-msgid "ppdc: Option %s redefined with a different type on line %d of %s."
-msgstr ""
-"ppdc: A(z) %s beállítás másik típussal újra van definiálva a(z) %d. sorban "
-"ebben: %s."
-
-#, c-format
-msgid "ppdc: Option constraint must *name on line %d of %s."
-msgstr ""
-"ppdc: A megszorítás beállításnak *name elemet kell használnia a(z) %d. "
-"sorban ebben: %s."
-
-#, c-format
-msgid "ppdc: Too many nested #if's on line %d of %s."
-msgstr "ppdc: Túl sok beágyazott #if a(z) %d. sorban ebben: %s."
-
-#, c-format
-msgid "ppdc: Unable to create PPD file \"%s\" - %s."
-msgstr "ppdc: A(z) „%s” PPD-fájl nem hozható létre - %s."
-
-#, c-format
-msgid "ppdc: Unable to create output directory %s: %s"
-msgstr "ppdc: Nem hozható létre a kimeneti %s könyvtár: %s"
-
-#, c-format
-msgid "ppdc: Unable to create output pipes: %s"
-msgstr "ppdc: Nem hozhatók létre a kimeneti csövek: %s"
-
-#, c-format
-msgid "ppdc: Unable to execute cupstestppd: %s"
-msgstr "ppdc: Nem hajtható végre a cupstestppd: %s"
-
-#, c-format
-msgid "ppdc: Unable to find #po file %s on line %d of %s."
-msgstr "ppdc: Nem található a(z) %s #po fájl a(z) %d. sorban ebben: %s."
-
-#, c-format
-msgid "ppdc: Unable to find include file \"%s\" on line %d of %s."
-msgstr "ppdc: Nem található a(z) „%s” include fájl a(z) %d. sorban ebben: %s."
-
-#, c-format
-msgid "ppdc: Unable to find localization for \"%s\" - %s"
-msgstr "ppdc: Nem található lokalizáció ehhez: „%s” - %s"
-
-#, c-format
-msgid "ppdc: Unable to load localization file \"%s\" - %s"
-msgstr "ppdc: Nem tölthető be a(z) „%s” lokalizációs fájl - %s"
-
-#, c-format
-msgid "ppdc: Unable to open %s: %s"
-msgstr "ppdc: A(z) %s nem nyitható meg: %s"
-
-#, c-format
-msgid "ppdc: Undefined variable (%s) on line %d of %s."
-msgstr "ppdc: Nem definiált változó (%s) a(z) %d. sorban ebben: %s."
-
-#, c-format
-msgid "ppdc: Unexpected text on line %d of %s."
-msgstr "ppdc: Váratlan szöveg a(z) %d. sorban ebben: %s."
-
-#, c-format
-msgid "ppdc: Unknown driver type %s on line %d of %s."
-msgstr "ppdc: Ismeretlen illesztőprogram-típus (%s) a(z) %d. sorban ebben: %s."
-
-#, c-format
-msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s."
-msgstr "ppdc: Ismeretlen duplex típus („%s”) a(z) %d. sorban ebben: %s."
-
-#, c-format
-msgid "ppdc: Unknown media size \"%s\" on line %d of %s."
-msgstr "ppdc: Ismeretlen médiaméret („%s”) a(z) %d. sorban ebben: %s."
-
-#, c-format
-msgid "ppdc: Unknown message catalog format for \"%s\"."
-msgstr "ppdc: Ismeretlen üzenetkatalógus-formátum ehhez: „%s”."
-
-#, c-format
-msgid "ppdc: Unknown token \"%s\" seen on line %d of %s."
-msgstr "ppdc: Ismeretlen jelsor („%s”) a(z) %d. sorban ebben: %s."
-
-#, c-format
-msgid ""
-"ppdc: Unknown trailing characters in real number \"%s\" on line %d of %s."
-msgstr ""
-"ppdc: Ismeretlen záró karakterek a(z) „%s” valós számban a(z) %d. sorban "
-"ebben: %s."
-
-#, c-format
-msgid "ppdc: Unterminated string starting with %c on line %d of %s."
-msgstr ""
-"ppdc: Befejezetlen karakterlánc %c kezdettel a(z) %d. sorban ebben: %s."
-
-#, c-format
-msgid "ppdc: Warning - overlapping filename \"%s\"."
-msgstr "ppdc: Figyelmeztetés - átfedő fájlnév: „%s”."
-
-#, c-format
-msgid "ppdc: Writing %s."
-msgstr "ppdc: %s írása."
-
-#, c-format
-msgid "ppdc: Writing PPD files to directory \"%s\"."
-msgstr "ppdc: PPD-fájlok írása ebbe a könyvtárba: „%s”."
-
-#, c-format
-msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s."
-msgstr "ppdmerge: Hibás LanguageVersion („%s”) ebben: %s."
-
-#, c-format
-msgid "ppdmerge: Ignoring PPD file %s."
-msgstr "ppdmerge: A(z) %s PPD-fájl mellőzése."
-
-#, c-format
-msgid "ppdmerge: Unable to backup %s to %s - %s"
-msgstr "ppdmerge: %s nem menthető ide: %s - %s"
-
-#, c-format
-msgid "printer %s disabled since %s -"
-msgstr "a(z) %s nyomtató letiltva ez óta: %s -"
-
-#, c-format
-msgid "printer %s is idle.  enabled since %s"
-msgstr "a(z) %s nyomtató tétlen. engedélyezve ez óta: %s"
-
-#, c-format
-msgid "printer %s now printing %s-%d.  enabled since %s"
-msgstr "a(z) %s nyomtató nyomtat: %s-%d. engedélyezve ez óta: %s"
-
-#, c-format
-msgid "printer %s/%s disabled since %s -"
-msgstr "a(z) %s/%s nyomtató letiltva ez óta: %s -"
-
-#, c-format
-msgid "printer %s/%s is idle.  enabled since %s"
-msgstr "a(z) %s/%s nyomtató tétlen. engedélyezve ez óta: %s"
-
-#, c-format
-msgid "printer %s/%s now printing %s-%d.  enabled since %s"
-msgstr "a(z) %s/%s nyomtató nyomtat: %s-%d. engedélyezve ez óta: %s"
-
-msgid "processing"
-msgstr "feldolgozás"
-
-#, c-format
-msgid "request id is %s-%d (%d file(s))"
-msgstr "kérésazonosító: %s-%d (%d fájl)"
-
-msgid "request-id uses indefinite length"
-msgstr "A request-id végtelen hosszt használ"
-
-msgid "scheduler is not running"
-msgstr "az ütemező nem fut"
-
-msgid "scheduler is running"
-msgstr "az ütemező fut"
-
-#, c-format
-msgid "stat of %s failed: %s"
-msgstr "%s elérése sikertelen: %s"
-
-msgid "status\t\tShow status of daemon and queue."
-msgstr "status\t\tA démon és a sor állapotának megjelenítése."
-
-msgid "stopped"
-msgstr "megállítva"
-
-#, c-format
-msgid "system default destination: %s"
-msgstr "rendszer alapértelmezett célja: %s"
-
-#, c-format
-msgid "system default destination: %s/%s"
-msgstr "rendszer alapértelmezett célja: %s/%s"
-
-msgid "unknown"
-msgstr "ismeretlen"
-
-msgid "untitled"
-msgstr "névtelen"
-
-msgid "variable-bindings uses indefinite length"
-msgstr "A variable-bindings végtelen hosszt használ"
-
-#~ msgid "-I Ignore errors."
-#~ msgstr "-I Hibák figyelmen kívül hagyása."
-
-#~ msgid "-q Run silently."
-#~ msgstr "-q Csendes futás."
-
-#~ msgid "B5 JIS"
-#~ msgstr "B5 JIS"
-
-#~ msgid "JB0"
-#~ msgstr "JB0"
-
-#~ msgid "JB1"
-#~ msgstr "JB1"
-
-#~ msgid "JB10"
-#~ msgstr "JB10"
-
-#~ msgid "JB2"
-#~ msgstr "JB2"
-
-#~ msgid "JB3"
-#~ msgstr "JB3"
-
-#~ msgid "JB4"
-#~ msgstr "JB4"
-
-#~ msgid "JB6"
-#~ msgstr "JB6"
-
-#~ msgid "JB7"
-#~ msgstr "JB7"
-
-#~ msgid "JB8"
-#~ msgstr "JB8"
-
-#~ msgid "JB9"
-#~ msgstr "JB9"
-
-#~ msgid "Monarch"
-#~ msgstr "Monarch"
-
-#~ msgid "Network host \\\"%s\\\" is busy; will retry in %d seconds."
-#~ msgstr ""
-#~ "A(z) „%s” hálózati kiszolgáló elfoglalt, %d másodperc múlva "
-#~ "újrapróbálkozom."
-
-#~ msgid "Network printer \\\"%s\\\" is busy."
-#~ msgstr "A(z) „%s” hálózati nyomtató elfoglalt."
-
-#~ msgid "Network printer \\\"%s\\\" is not responding."
-#~ msgstr "A(z) „%s” hálózati nyomtató nem válaszol."
-
-#~ msgid "Printer busy; will retry in 10 seconds."
-#~ msgstr "Nyomtató elfoglalt; 10 másodperc múlva újrapróbálkozom."
-
-#~ msgid "Printer did not respond after %d seconds."
-#~ msgstr "A nyomtató nem válaszolt %d másodperc után."
-
-#~ msgid "The printer is almost out of ink."
-#~ msgstr "A nyomtatóból majdnem kifogyott a tinta."
-
-#~ msgid "The printer is low on toner."
-#~ msgstr "A nyomtatóban kifogyóban van a festékkazetta."
-
-#~ msgid "The printer is out of toner."
-#~ msgstr "A nyomtató festékkazettája kifogyott."
-
-#~ msgid "This printer does not conform to the IPP standard and may not work."
-#~ msgstr ""
-#~ "Ez a nyomtató nem felel meg az IPP szabványnak, és lehet, hogy nem fog "
-#~ "működni."
-
-#~ msgid ""
-#~ "This printer does not conform to the IPP standard. Please contact the "
-#~ "manufacturer of your printer for assistance."
-#~ msgstr ""
-#~ "Ez a nyomtató nem felel meg az IPP szabványnak. Segítségért keresse meg a "
-#~ "nyomtató gyártóját."
-
-#~ msgid "Unable to add file to job: %s"
-#~ msgstr "Nem vehető fel a fájl a feladatba: %s"
-
-#~ msgid "Unable to connect to server"
-#~ msgstr "A kiszolgálóhoz nem lehet kapcsolódni."
-
-#~ msgid "Unable to get job attributes: %s"
-#~ msgstr "Nem kérhetők le a feladat attribútumai: %s"
-
-#~ msgid "Unable to get print job status."
-#~ msgstr "Nem kérhető le a nyomtatási feladat állapota."
-
-#~ msgid "Unable to get printer status: %s"
-#~ msgstr "Nem kérhető le a nyomtató állapota: %s"
-
-#~ msgid "\\t%s"
-#~ msgstr "\\t%s"
-
-#~ msgid "\\tno entries"
-#~ msgstr "\\tnincs bejegyzés"
diff --git a/locale/cups_id.po b/locale/cups_id.po
deleted file mode 100644 (file)
index 3f5671c..0000000
+++ /dev/null
@@ -1,8556 +0,0 @@
-# translation of cups_id.po to Bahasa Indonesia
-#
-# "$Id$"
-#
-#   Message catalog template for CUPS.
-#
-#   Copyright 2007-2011 by Apple Inc.
-#   Copyright 2005-2007 by Easy Software Products.
-#
-#   These coded instructions, statements, and computer programs are the
-#   property of Apple Inc. and are protected by Federal copyright
-#   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
-#   which should have been included with this file.  If this file is
-#   file is missing or damaged, see the license at "http://www.cups.org/".
-#
-# Citra Paska <dirgitadevina@yahoo.co.id>, 2008, 2009.
-#
-# Notes for Translators:
-#
-# The following prefixes MUST NOT be translated: "ALERT:", "CRIT:", "INFO:",
-# "NOTICE:", and "WARNING:".
-#
-# The "checkpo" program located in the "locale" source directory can be used
-# to verify that your translations do not introduce formatting errors or other
-# problems.  Run with:
-#
-#    cd locale
-#    ./checkpo cups_LL.po
-#
-# where "LL" is your locale.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: cups_id\n"
-"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2012-03-07 13:38-0800\n"
-"PO-Revision-Date: 2009-09-29 05:17+0700\n"
-"Last-Translator: Citra Paska <dirgitadevina@yahoo.co.id>\n"
-"Language-Team: Bahasa Indonesia\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: \n"
-"X-Generator: KBabel 1.11.4\n"
-
-msgid "\t\t(all)"
-msgstr ""
-
-msgid "\t\t(none)"
-msgstr ""
-
-#, c-format
-msgid "\t%d entries"
-msgstr ""
-
-#, c-format
-msgid "\t%s"
-msgstr ""
-
-msgid "\tAfter fault: continue"
-msgstr ""
-
-#, c-format
-msgid "\tAlerts: %s"
-msgstr ""
-
-msgid "\tBanner required"
-msgstr ""
-
-msgid "\tCharset sets:"
-msgstr ""
-
-msgid "\tConnection: direct"
-msgstr ""
-
-msgid "\tConnection: remote"
-msgstr ""
-
-msgid "\tContent types: any"
-msgstr ""
-
-msgid "\tDefault page size:"
-msgstr ""
-
-msgid "\tDefault pitch:"
-msgstr ""
-
-msgid "\tDefault port settings:"
-msgstr ""
-
-#, c-format
-msgid "\tDescription: %s"
-msgstr ""
-
-msgid "\tForm mounted:"
-msgstr ""
-
-msgid "\tForms allowed:"
-msgstr ""
-
-#, c-format
-msgid "\tInterface: %s.ppd"
-msgstr ""
-
-#, c-format
-msgid "\tInterface: %s/interfaces/%s"
-msgstr ""
-
-#, c-format
-msgid "\tInterface: %s/ppd/%s.ppd"
-msgstr ""
-
-#, c-format
-msgid "\tLocation: %s"
-msgstr ""
-
-msgid "\tOn fault: no alert"
-msgstr ""
-
-msgid "\tPrinter types: unknown"
-msgstr ""
-
-#, c-format
-msgid "\tStatus: %s"
-msgstr ""
-
-msgid "\tUsers allowed:"
-msgstr ""
-
-msgid "\tUsers denied:"
-msgstr ""
-
-msgid "\tdaemon present"
-msgstr ""
-
-msgid "\tno entries"
-msgstr ""
-
-#, c-format
-msgid "\tprinter is on device '%s' speed -1"
-msgstr ""
-
-msgid "\tprinting is disabled"
-msgstr ""
-
-msgid "\tprinting is enabled"
-msgstr ""
-
-#, c-format
-msgid "\tqueued for %s"
-msgstr ""
-
-msgid "\tqueuing is disabled"
-msgstr ""
-
-msgid "\tqueuing is enabled"
-msgstr ""
-
-msgid "\treason unknown"
-msgstr ""
-
-msgid ""
-"\n"
-"    DETAILED CONFORMANCE TEST RESULTS"
-msgstr ""
-
-msgid "                          Ignore specific warnings."
-msgstr ""
-
-msgid "                          Issue warnings instead of errors."
-msgstr ""
-
-msgid "                REF: Page 15, section 3.1."
-msgstr ""
-
-msgid "                REF: Page 15, section 3.2."
-msgstr ""
-
-msgid "                REF: Page 19, section 3.3."
-msgstr ""
-
-msgid "                REF: Page 20, section 3.4."
-msgstr ""
-
-msgid "                REF: Page 27, section 3.5."
-msgstr ""
-
-msgid "                REF: Page 42, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 16-17, section 3.2."
-msgstr ""
-
-msgid "                REF: Pages 42-45, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 45-46, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 48-49, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 52-54, section 5.2."
-msgstr ""
-
-#, c-format
-msgid "        %-39.39s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "        PASS    Default%s"
-msgstr ""
-
-msgid "        PASS    DefaultImageableArea"
-msgstr ""
-
-msgid "        PASS    DefaultPaperDimension"
-msgstr ""
-
-msgid "        PASS    FileVersion"
-msgstr ""
-
-msgid "        PASS    FormatVersion"
-msgstr ""
-
-msgid "        PASS    LanguageEncoding"
-msgstr ""
-
-msgid "        PASS    LanguageVersion"
-msgstr ""
-
-msgid "        PASS    Manufacturer"
-msgstr ""
-
-msgid "        PASS    ModelName"
-msgstr ""
-
-msgid "        PASS    NickName"
-msgstr ""
-
-msgid "        PASS    PCFileName"
-msgstr ""
-
-msgid "        PASS    PSVersion"
-msgstr ""
-
-msgid "        PASS    PageRegion"
-msgstr ""
-
-msgid "        PASS    PageSize"
-msgstr ""
-
-msgid "        PASS    Product"
-msgstr ""
-
-msgid "        PASS    ShortNickName"
-msgstr ""
-
-#, c-format
-msgid "        WARN    %s has no corresponding options."
-msgstr ""
-
-#, c-format
-msgid ""
-"        WARN    %s shares a common prefix with %s\n"
-"                REF: Page 15, section 3.2."
-msgstr ""
-
-#, c-format
-msgid ""
-"        WARN    Duplex option keyword %s may not work as expected and should "
-"be named Duplex.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-
-msgid "        WARN    File contains a mix of CR, LF, and CR LF line endings."
-msgstr ""
-
-msgid ""
-"        WARN    LanguageEncoding required by PPD 4.3 spec.\n"
-"                REF: Pages 56-57, section 5.3."
-msgstr ""
-
-#, c-format
-msgid "        WARN    Line %d only contains whitespace."
-msgstr ""
-
-msgid ""
-"        WARN    Manufacturer required by PPD 4.3 spec.\n"
-"                REF: Pages 58-59, section 5.3."
-msgstr ""
-
-msgid ""
-"        WARN    Non-Windows PPD files should use lines ending with only LF, "
-"not CR LF."
-msgstr ""
-
-#, c-format
-msgid ""
-"        WARN    Obsolete PPD version %.1f.\n"
-"                REF: Page 42, section 5.2."
-msgstr ""
-
-msgid ""
-"        WARN    PCFileName longer than 8.3 in violation of PPD spec.\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-
-msgid ""
-"        WARN    PCFileName should contain a unique filename.\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-
-msgid ""
-"        WARN    Protocols contains PJL but JCL attributes are not set.\n"
-"                REF: Pages 78-79, section 5.7."
-msgstr ""
-
-msgid ""
-"        WARN    Protocols contains both PJL and BCP; expected TBCP.\n"
-"                REF: Pages 78-79, section 5.7."
-msgstr ""
-
-msgid ""
-"        WARN    ShortNickName required by PPD 4.3 spec.\n"
-"                REF: Pages 64-65, section 5.3."
-msgstr ""
-
-msgid "       cupsaddsmb [options] -a"
-msgstr ""
-
-msgid "       cupstestdsc [options] -"
-msgstr ""
-
-msgid "       program | cupstestppd [options] -"
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  \"%s %s\" conflicts with \"%s %s\"\n"
-"                (constraint=\"%s %s %s %s\")."
-msgstr ""
-
-#, c-format
-msgid "      %s  %s %s does not exist."
-msgstr ""
-
-#, c-format
-msgid "      %s  %s file \"%s\" has the wrong capitalization."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  Bad %s choice %s.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsFilter value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsFilter2 value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsICCProfile %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsPreFilter value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsUIConstraints %s: \"%s\""
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad language \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad permissions on %s file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad spelling of %s - should be %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Cannot provide both APScanAppPath and APScanAppBundleID."
-msgstr ""
-
-#, c-format
-msgid "      %s  Default choices conflicting."
-msgstr ""
-
-#, c-format
-msgid "      %s  Empty cupsUIConstraints %s"
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing \"%s\" translation string for option %s, choice %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing \"%s\" translation string for option %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing %s file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  Missing REQUIRED PageRegion option.\n"
-"                REF: Page 100, section 5.14."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  Missing REQUIRED PageSize option.\n"
-"                REF: Page 99, section 5.14."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\""
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing cupsUIResolver %s"
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing option %s in cupsUIConstraints %s: \"%s\""
-msgstr ""
-
-#, c-format
-msgid "      %s  No base translation \"%s\" is included in file."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  REQUIRED %s does not define choice None.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" defined for %s but not for %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" has unexpected dimensions (%gx%g)."
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" should be \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" should be the Adobe standard name \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  cupsICCProfile %s hash value collides with %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  cupsUIResolver %s causes a loop."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  cupsUIResolver %s does not list at least two different options."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  %s choice names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  %s must be 1284DeviceID\n"
-"                REF: Page 72, section 5.5"
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD Default%s %s\n"
-"                REF: Page 40, section 4.5."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD DefaultImageableArea %s\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD DefaultPaperDimension %s\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD JobPatchFile attribute in file\n"
-"                REF: Page 24, section 3.4."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD Manufacturer (should be \"HP\")\n"
-"                REF: Page 211, table D.1."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD Manufacturer (should be \"Oki\")\n"
-"                REF: Page 211, table D.1."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n"
-"                REF: Pages 59-60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD PSVersion - not \"(string) int\".\n"
-"                REF: Pages 62-64, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD Product - not \"(string)\".\n"
-"                REF: Page 62, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD ShortNickName - longer than 31 chars.\n"
-"                REF: Pages 64-65, section 5.3."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad %s choice %s\n"
-"                REF: Page 84, section 5.9"
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad FileVersion \"%s\"\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad FormatVersion \"%s\"\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Bad LanguageVersion %s - must be English."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Default option code cannot be interpreted: %s"
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Default translation string for option %s choice %s contains "
-"8-bit characters."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Default translation string for option %s contains 8-bit "
-"characters."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Group names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Multiple occurrences of %s choice name %s."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Option names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED Default%s\n"
-"                REF: Page 40, section 4.5."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED DefaultImageableArea\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED DefaultPaperDimension\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED FileVersion\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED FormatVersion\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED ImageableArea for PageSize %s\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED LanguageEncoding\n"
-"                REF: Pages 56-57, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED LanguageVersion\n"
-"                REF: Pages 57-58, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED Manufacturer\n"
-"                REF: Pages 58-59, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED ModelName\n"
-"                REF: Pages 59-60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED NickName\n"
-"                REF: Page 60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PCFileName\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PSVersion\n"
-"                REF: Pages 62-64, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PageRegion\n"
-"                REF: Page 100, section 5.14."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PageSize\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 99, section 5.14."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PageSize\n"
-"                REF: Pages 99-100, section 5.14."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED PaperDimension for PageSize %s\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED Product\n"
-"                REF: Page 62, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED ShortNickName\n"
-"                REF: Page 64-65, section 5.3."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Unable to open PPD file - %s"
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Unable to open PPD file - %s on line %d."
-msgstr ""
-
-#, c-format
-msgid "    %d ERRORS FOUND"
-msgstr ""
-
-msgid "    -h       Show program usage"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Bad %%%%BoundingBox: on line %d.\n"
-"        REF: Page 39, %%%%BoundingBox:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Bad %%%%Page: on line %d.\n"
-"        REF: Page 53, %%%%Page:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Bad %%%%Pages: on line %d.\n"
-"        REF: Page 43, %%%%Pages:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Line %d is longer than 255 characters (%d).\n"
-"        REF: Page 25, Line Length"
-msgstr ""
-
-msgid ""
-"    Missing %!PS-Adobe-3.0 on first line.\n"
-"        REF: Page 17, 3.1 Conforming Documents"
-msgstr ""
-
-#, c-format
-msgid "    Missing %%EndComments comment.        REF: Page 41, %%EndComments"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Missing or bad %%BoundingBox: comment.\n"
-"        REF: Page 39, %%BoundingBox:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Missing or bad %%Page: comments.\n"
-"        REF: Page 53, %%Page:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Missing or bad %%Pages: comment.\n"
-"        REF: Page 43, %%Pages:"
-msgstr ""
-
-msgid "    NO ERRORS FOUND"
-msgstr ""
-
-#, c-format
-msgid "    Saw %d lines that exceeded 255 characters."
-msgstr ""
-
-#, c-format
-msgid "    Too many %%BeginDocument comments."
-msgstr ""
-
-#, c-format
-msgid "    Too many %%EndDocument comments."
-msgstr ""
-
-msgid "    Warning: file contains binary data."
-msgstr ""
-
-#, c-format
-msgid "    Warning: no %%EndComments comment in file."
-msgstr ""
-
-#, c-format
-msgid "    Warning: obsolete DSC version %.1f in file."
-msgstr ""
-
-msgid "  --[no-]debug-logging    Turn debug logging on/off."
-msgstr ""
-
-msgid "  --[no-]remote-admin     Turn remote administration on/off."
-msgstr ""
-
-msgid "  --[no-]remote-any       Allow/prevent access from the Internet."
-msgstr ""
-
-msgid "  --[no-]remote-printers  Show/hide remote printers."
-msgstr ""
-
-msgid "  --[no-]share-printers   Turn printer sharing on/off."
-msgstr ""
-
-msgid "  --[no-]user-cancel-any  Allow/prevent users to cancel any job."
-msgstr ""
-
-msgid "  --cr                    End lines with CR (Mac OS 9)."
-msgstr ""
-
-msgid "  --crlf                  End lines with CR + LF (Windows)."
-msgstr ""
-
-msgid "  --lf                    End lines with LF (UNIX/Linux/Mac OS X)."
-msgstr ""
-
-msgid "  -4                      Connect using IPv4."
-msgstr ""
-
-msgid "  -6                      Connect using IPv6."
-msgstr ""
-
-msgid "  -C                      Send requests using chunking (default)."
-msgstr ""
-
-msgid "  -D                      Remove the input file when finished."
-msgstr ""
-
-msgid "  -D name=value           Set named variable to value."
-msgstr ""
-
-msgid "  -E                      Enable encryption."
-msgstr ""
-
-msgid "  -E                      Encrypt the connection to the server."
-msgstr ""
-
-msgid "  -E                      Test with TLS encryption."
-msgstr ""
-
-msgid ""
-"  -F                      Run in the foreground but detach from console."
-msgstr ""
-
-msgid "  -H samba-server         Use the named SAMBA server."
-msgstr ""
-
-msgid "  -I                      Ignore errors."
-msgstr ""
-
-msgid "  -I include-dir          Add include directory to search path."
-msgstr ""
-
-msgid "  -I {filename,filters,none,profiles}"
-msgstr ""
-
-msgid "  -J title                Set title."
-msgstr ""
-
-msgid "  -L                      Send requests using content-length."
-msgstr ""
-
-msgid "  -P filename.ppd         Set PPD file."
-msgstr ""
-
-msgid "  -R root-directory       Set alternate root."
-msgstr ""
-
-msgid "  -S                      Test with SSL encryption."
-msgstr ""
-
-msgid "  -T                      Set the receive/send timeout in seconds."
-msgstr ""
-
-msgid "  -U samba-user           Authenticate using the named SAMBA user."
-msgstr ""
-
-msgid "  -U username             Set username for job."
-msgstr ""
-
-msgid "  -U username             Specify username."
-msgstr ""
-
-msgid "  -V version              Set default IPP version."
-msgstr ""
-
-msgid ""
-"  -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,"
-"translations}"
-msgstr ""
-
-msgid "  -X                      Produce XML plist instead of plain text."
-msgstr ""
-
-msgid "  -a                      Export all printers."
-msgstr ""
-
-msgid "  -a 'name=value ...'     Set option(s)."
-msgstr ""
-
-msgid "  -c catalog.po           Load the specified message catalog."
-msgstr ""
-
-msgid "  -c config-file          Load alternate configuration file."
-msgstr ""
-
-msgid "  -c copies               Set number of copies."
-msgstr ""
-
-msgid "  -c cupsd.conf           Set cupsd.conf file to use."
-msgstr ""
-
-msgid "  -d name=value           Set named variable to value."
-msgstr ""
-
-msgid "  -d output-dir           Specify the output directory."
-msgstr ""
-
-msgid "  -d printer              Use the named printer."
-msgstr ""
-
-msgid "  -e                      Use every filter from the PPD file."
-msgstr ""
-
-msgid "  -f                      Run in the foreground."
-msgstr ""
-
-msgid "  -f filename             Set default request filename."
-msgstr ""
-
-msgid "  -f filename             Set file to be converted (otherwise stdin)."
-msgstr ""
-
-msgid "  -h                      Show this usage message."
-msgstr ""
-
-msgid "  -h cups-server          Use the named CUPS server."
-msgstr ""
-
-msgid "  -h server[:port]        Specify server address."
-msgstr ""
-
-msgid "  -i mime/type            Set input MIME type (otherwise auto-typed)."
-msgstr ""
-
-msgid ""
-"  -i seconds              Repeat the last file with the given time interval."
-msgstr ""
-
-msgid ""
-"  -j job-id[,N]           Filter file N from the specified job (default is "
-"file 1)."
-msgstr ""
-
-msgid ""
-"  -j mime/type            Set output MIME type (otherwise application/pdf)."
-msgstr ""
-
-msgid "  -l                      Run cupsd from launchd(8)."
-msgstr ""
-
-msgid "  -l lang[,lang,...]      Specify the output language(s) (locale)."
-msgstr ""
-
-msgid "  -m                      Use the ModelName value as the filename."
-msgstr ""
-
-msgid ""
-"  -m mime/type            Set output MIME type (otherwise application/pdf)."
-msgstr ""
-
-msgid "  -n copies               Set number of copies."
-msgstr ""
-
-msgid ""
-"  -n count                Repeat the last file the given number of times."
-msgstr ""
-
-msgid "  -o filename             Set file to be generated (otherwise stdout)."
-msgstr ""
-
-msgid ""
-"  -o filename.drv         Set driver information file (otherwise ppdi.drv)."
-msgstr ""
-
-msgid "  -o filename.ppd[.gz]    Set output file (otherwise stdout)."
-msgstr ""
-
-msgid "  -o name=value           Set option(s)."
-msgstr ""
-
-msgid "  -p filename.ppd         Set PPD file."
-msgstr ""
-
-msgid "  -q                      Be quiet - no output except errors."
-msgstr ""
-
-msgid "  -q                      Run silently."
-msgstr ""
-
-msgid "  -r                      Use 'relaxed' open mode."
-msgstr ""
-
-msgid "  -t                      Produce a test report."
-msgstr ""
-
-msgid "  -t                      Test PPDs instead of generating them."
-msgstr ""
-
-msgid "  -t                      Test the configuration file."
-msgstr ""
-
-msgid "  -t title                Set title."
-msgstr ""
-
-msgid "  -u                      Remove the PPD file when finished."
-msgstr ""
-
-msgid "  -v                      Be slightly verbose."
-msgstr ""
-
-msgid "  -v                      Be verbose (more v's for more verbosity)."
-msgstr ""
-
-msgid "  -v                      Be verbose (show commands)."
-msgstr ""
-
-msgid "  -v                      Show all attributes sent and received."
-msgstr ""
-
-msgid "  -vv                     Be very verbose."
-msgstr ""
-
-msgid "  -z                      Compress PPD files using GNU zip."
-msgstr ""
-
-msgid " FAIL"
-msgstr ""
-
-msgid " PASS"
-msgstr ""
-
-#, c-format
-msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "%.0f x %.0f millimeters"
-msgstr "%.0f x %.0f milimeter"
-
-#, c-format
-msgid "%.0f x %.0f to %.0f x %.0f millimeters"
-msgstr "%.0f x %.0f hingga %.0f x %.0f milimeter"
-
-#, c-format
-msgid "%.2f x %.2f inches"
-msgstr "%.2f x %.2f inci"
-
-#, c-format
-msgid "%.2f x %.2f to %.2f x %.2f inches"
-msgstr "%.2f x %.2f hingga %.2f x %.2f inci"
-
-#, c-format
-msgid "%s accepting requests since %s"
-msgstr ""
-
-#, c-format
-msgid "%s cannot be changed."
-msgstr "%s tidak bisa diubah."
-
-#, c-format
-msgid "%s is not implemented by the CUPS version of lpc."
-msgstr ""
-
-#, c-format
-msgid "%s is not ready"
-msgstr ""
-
-#, c-format
-msgid "%s is ready"
-msgstr ""
-
-#, c-format
-msgid "%s is ready and printing"
-msgstr ""
-
-#, c-format
-msgid "%s job-id user title copies options [file]"
-msgstr ""
-
-#, c-format
-msgid "%s not accepting requests since %s -"
-msgstr ""
-
-#, c-format
-msgid "%s not supported."
-msgstr ""
-
-#, c-format
-msgid "%s/%s accepting requests since %s"
-msgstr ""
-
-#, c-format
-msgid "%s/%s not accepting requests since %s -"
-msgstr ""
-
-#, c-format
-msgid "%s: %-33.33s [job %d localhost]"
-msgstr ""
-
-#. TRANSLATORS: Message is "subject: error"
-#, c-format
-msgid "%s: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: %s failed: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Don't know what to do."
-msgstr ""
-
-#, c-format
-msgid ""
-"%s: Error - %s environment variable names non-existent destination \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - bad job ID."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - cannot print files and alter jobs simultaneously."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - cannot print from stdin if files or a job ID are provided."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected character set after \"-S\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected content type after \"-T\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected copies after \"-#\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected copies after \"-n\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected destination after \"-P\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected destination after \"-b\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected destination after \"-d\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected form after \"-f\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected hold name after \"-H\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected hostname after \"-H\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected hostname after \"-h\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected mode list after \"-y\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected name after \"-%c\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected option=value after \"-o\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected page list after \"-P\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected priority after \"-%c\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected reason text after \"-r\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected title after \"-t\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected username after \"-U\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected username after \"-u\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected value after \"-%c\" option."
-msgstr ""
-
-#, c-format
-msgid ""
-"%s: Error - need \"completed\", \"not-completed\", or \"all\" after \"-W\" "
-"option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - no default destination available."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - priority must be between 1 and 100."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - scheduler not responding."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - too many files - \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unable to access \"%s\" - %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unable to queue from stdin - %s."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown destination \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown destination \"%s/%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown option \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Expected job ID after \"-i\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Invalid destination name in list \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Invalid filter string \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Need job ID (\"-i jobid\") before \"-H restart\"."
-msgstr ""
-
-#, c-format
-msgid "%s: No filter to convert from %s/%s to %s/%s."
-msgstr ""
-
-#, c-format
-msgid "%s: Operation failed: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Sorry, no encryption support."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to connect to server."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to contact server."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to determine MIME type of \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to open %s: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to open PPD file: %s on line %d."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown destination \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown destination MIME type %s/%s."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown option \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown source MIME type %s/%s."
-msgstr ""
-
-#, c-format
-msgid ""
-"%s: Warning - \"%c\" format modifier not supported - output may not be "
-"correct."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - character set option ignored."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - content type option ignored."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - form option ignored."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - mode option ignored."
-msgstr ""
-
-msgid "-1"
-msgstr "-1"
-
-msgid "-10"
-msgstr "-10"
-
-msgid "-100"
-msgstr "-100"
-
-msgid "-105"
-msgstr "-105"
-
-msgid "-11"
-msgstr "-11"
-
-msgid "-110"
-msgstr "-110"
-
-msgid "-115"
-msgstr "-115"
-
-msgid "-12"
-msgstr "-12"
-
-msgid "-120"
-msgstr "-120"
-
-msgid "-13"
-msgstr "-13"
-
-msgid "-14"
-msgstr "-14"
-
-msgid "-15"
-msgstr "-15"
-
-msgid "-2"
-msgstr "-2"
-
-msgid "-20"
-msgstr "-20"
-
-msgid "-25"
-msgstr "-25"
-
-msgid "-3"
-msgstr "-3"
-
-msgid "-30"
-msgstr "-30"
-
-msgid "-35"
-msgstr "-35"
-
-msgid "-4"
-msgstr "-4"
-
-msgid "-40"
-msgstr "-40"
-
-msgid "-45"
-msgstr "-45"
-
-msgid "-5"
-msgstr "-5"
-
-msgid "-50"
-msgstr "-50"
-
-msgid "-55"
-msgstr "-55"
-
-msgid "-6"
-msgstr "-6"
-
-msgid "-60"
-msgstr "-60"
-
-msgid "-65"
-msgstr "-65"
-
-msgid "-7"
-msgstr "-7"
-
-msgid "-70"
-msgstr "-70"
-
-msgid "-75"
-msgstr "-75"
-
-msgid "-8"
-msgstr "-8"
-
-msgid "-80"
-msgstr "-80"
-
-msgid "-85"
-msgstr "-85"
-
-msgid "-9"
-msgstr "-9"
-
-msgid "-90"
-msgstr "-90"
-
-msgid "-95"
-msgstr "-95"
-
-msgid "0"
-msgstr "0"
-
-msgid "1"
-msgstr "1"
-
-msgid "1 inch/sec."
-msgstr "1 inci/det."
-
-msgid "1.25x0.25\""
-msgstr "1,25x0,25\""
-
-msgid "1.25x2.25\""
-msgstr "1,25x2,25\""
-
-msgid "1.5 inch/sec."
-msgstr "1,5 inci/det."
-
-msgid "1.50x0.25\""
-msgstr "1,50x0,25\""
-
-msgid "1.50x0.50\""
-msgstr "1,50x0,50\""
-
-msgid "1.50x1.00\""
-msgstr "1,50x1,00\""
-
-msgid "1.50x2.00\""
-msgstr "1,50x2,00\""
-
-msgid "10"
-msgstr "10"
-
-msgid "10 inches/sec."
-msgstr "10 inci/det."
-
-msgid "10 x 11"
-msgstr ""
-
-msgid "10 x 13"
-msgstr ""
-
-msgid "10 x 14"
-msgstr ""
-
-msgid "100"
-msgstr "100"
-
-msgid "100 mm/sec."
-msgstr "100 mm/det."
-
-msgid "105"
-msgstr "105"
-
-msgid "11"
-msgstr "11"
-
-msgid "11 inches/sec."
-msgstr "11 inci/det."
-
-msgid "110"
-msgstr "110"
-
-msgid "115"
-msgstr "115"
-
-msgid "12"
-msgstr "12"
-
-msgid "12 inches/sec."
-msgstr "12 inci/det."
-
-msgid "12 x 11"
-msgstr ""
-
-msgid "120"
-msgstr "120"
-
-msgid "120 mm/sec."
-msgstr "120 mm/det."
-
-msgid "120x60dpi"
-msgstr "120x60dpi"
-
-msgid "120x72dpi"
-msgstr "120x72dpi"
-
-msgid "13"
-msgstr "13"
-
-msgid "136dpi"
-msgstr "136dpi"
-
-msgid "14"
-msgstr "14"
-
-msgid "15"
-msgstr "15"
-
-msgid "15 mm/sec."
-msgstr "15 mm/det."
-
-msgid "15 x 11"
-msgstr ""
-
-msgid "150 mm/sec."
-msgstr "150 mm/det."
-
-msgid "150dpi"
-msgstr "150dpi"
-
-msgid "16"
-msgstr "16"
-
-msgid "17"
-msgstr "17"
-
-msgid "18"
-msgstr "18"
-
-msgid "180dpi"
-msgstr "180dpi"
-
-msgid "19"
-msgstr "19"
-
-msgid "2"
-msgstr "2"
-
-msgid "2 inches/sec."
-msgstr "2 inci/det."
-
-msgid "2-Sided Printing"
-msgstr "2-Sisi Pencetakan"
-
-msgid "2.00x0.37\""
-msgstr "2,00x0,37\""
-
-msgid "2.00x0.50\""
-msgstr "2,00x0,50\""
-
-msgid "2.00x1.00\""
-msgstr "2,00x1.00\""
-
-msgid "2.00x1.25\""
-msgstr "2,00x1,25\""
-
-msgid "2.00x2.00\""
-msgstr "2,00x2,00\""
-
-msgid "2.00x3.00\""
-msgstr "2,00x3,00\""
-
-msgid "2.00x4.00\""
-msgstr "2,00x4,00\""
-
-msgid "2.00x5.50\""
-msgstr "2,00x5,50\""
-
-msgid "2.25x0.50\""
-msgstr "2,25x0,50\""
-
-msgid "2.25x1.25\""
-msgstr "2,25x1,25\""
-
-msgid "2.25x4.00\""
-msgstr "2,25x4,00\""
-
-msgid "2.25x5.50\""
-msgstr "2,25x5,50\""
-
-msgid "2.38x5.50\""
-msgstr "2,38x5,50\""
-
-msgid "2.5 inches/sec."
-msgstr "2,5 inci/det."
-
-msgid "2.50x1.00\""
-msgstr "2,50x1,00\""
-
-msgid "2.50x2.00\""
-msgstr "2,50x2,00\""
-
-msgid "2.75x1.25\""
-msgstr "2,75x1,25\""
-
-msgid "2.9 x 1\""
-msgstr "2,9 x 1\""
-
-msgid "20"
-msgstr "20"
-
-msgid "20 mm/sec."
-msgstr "20 mm/det."
-
-msgid "200 mm/sec."
-msgstr "200 mm/det."
-
-msgid "203dpi"
-msgstr "203dpi"
-
-msgid "21"
-msgstr "21"
-
-msgid "22"
-msgstr "22"
-
-msgid "23"
-msgstr "23"
-
-msgid "24"
-msgstr "24"
-
-msgid "24-Pin Series"
-msgstr "Seri 24-Pin"
-
-msgid "240x72dpi"
-msgstr "240x72dpi"
-
-msgid "25"
-msgstr "25"
-
-msgid "250 mm/sec."
-msgstr "250 mm/det."
-
-msgid "26"
-msgstr "26"
-
-msgid "27"
-msgstr "27"
-
-msgid "28"
-msgstr "28"
-
-msgid "29"
-msgstr "29"
-
-msgid "3"
-msgstr "3"
-
-msgid "3 inches/sec."
-msgstr "3 inci/det."
-
-msgid "3 x 5"
-msgstr ""
-
-msgid "3.00x1.00\""
-msgstr "3,00x1,00\""
-
-msgid "3.00x1.25\""
-msgstr "3,00x1,25\""
-
-msgid "3.00x2.00\""
-msgstr "3,00x2,00\""
-
-msgid "3.00x3.00\""
-msgstr "3,00x3,00\""
-
-msgid "3.00x5.00\""
-msgstr "3,00x5,00\""
-
-msgid "3.25x2.00\""
-msgstr "3,25x2,00\""
-
-msgid "3.25x5.00\""
-msgstr "3,25x5,00\""
-
-msgid "3.25x5.50\""
-msgstr "3,25x5,50\""
-
-msgid "3.25x5.83\""
-msgstr "3,25x5,83\""
-
-msgid "3.25x7.83\""
-msgstr "3,25x7,83\""
-
-msgid "3.5 x 5"
-msgstr ""
-
-msgid "3.5\" Disk"
-msgstr "Diska 3,5\""
-
-msgid "3.5\" Disk - 2 1/8 x 2 3/4\""
-msgstr "Diska 3.5\" - 2 1/8 x 2 3/4\""
-
-msgid "3.50x1.00\""
-msgstr "3,50x1,00\""
-
-msgid "30"
-msgstr "30"
-
-msgid "30 mm/sec."
-msgstr "30 mm/det."
-
-msgid "300 mm/sec."
-msgstr "300 mm/det."
-
-msgid "300dpi"
-msgstr "300dpi"
-
-msgid "35"
-msgstr "35"
-
-msgid "360dpi"
-msgstr "360dpi"
-
-msgid "360x180dpi"
-msgstr "360x180dpi"
-
-msgid "4"
-msgstr "4"
-
-msgid "4 inches/sec."
-msgstr "4 inci/det."
-
-msgid "4.00x1.00\""
-msgstr "4,00x1,00\""
-
-msgid "4.00x13.00\""
-msgstr "4,00x13,00\""
-
-msgid "4.00x2.00\""
-msgstr "4,00x2,00\""
-
-msgid "4.00x2.50\""
-msgstr "4,00x2,50\""
-
-msgid "4.00x3.00\""
-msgstr "4,00x3,00\""
-
-msgid "4.00x4.00\""
-msgstr "4,00x4,00\""
-
-msgid "4.00x5.00\""
-msgstr "4,00x5,00\""
-
-msgid "4.00x6.00\""
-msgstr "4,00x6,00\""
-
-msgid "4.00x6.50\""
-msgstr "4,00x6,50\""
-
-msgid "40"
-msgstr "40"
-
-msgid "40 mm/sec."
-msgstr "40 mm/det."
-
-msgid "45"
-msgstr "45"
-
-msgid "5"
-msgstr "5"
-
-msgid "5 inches/sec."
-msgstr "5 inci/det."
-
-msgid "5 x 7"
-msgstr ""
-
-msgid "50"
-msgstr "50"
-
-msgid "55"
-msgstr "55"
-
-msgid "6"
-msgstr "6"
-
-msgid "6 inches/sec."
-msgstr "6 inci/det."
-
-msgid "6.00x1.00\""
-msgstr "6,00x1,00\""
-
-msgid "6.00x2.00\""
-msgstr "6,00x2,00\""
-
-msgid "6.00x3.00\""
-msgstr "6,00x3,00\""
-
-msgid "6.00x4.00\""
-msgstr "6,00x4,00\""
-
-msgid "6.00x5.00\""
-msgstr "6,00x5,00\""
-
-msgid "6.00x6.00\""
-msgstr "6,00x6,00\""
-
-msgid "6.00x6.50\""
-msgstr "6,00x6,50\""
-
-msgid "60"
-msgstr "60"
-
-msgid "60 mm/sec."
-msgstr "60 mm/det."
-
-msgid "600dpi"
-msgstr "600dpi"
-
-msgid "60dpi"
-msgstr "60dpi"
-
-msgid "60x72dpi"
-msgstr ""
-
-msgid "65"
-msgstr "65"
-
-msgid "7"
-msgstr "7"
-
-msgid "7 inches/sec."
-msgstr "7 inci/det."
-
-msgid "7 x 9"
-msgstr ""
-
-msgid "70"
-msgstr "70"
-
-msgid "720dpi"
-msgstr "720dpi"
-
-msgid "75"
-msgstr "75"
-
-msgid "8"
-msgstr "8"
-
-msgid "8 inches/sec."
-msgstr "8 inci/det."
-
-msgid "8 x 10"
-msgstr ""
-
-msgid "8.00x1.00\""
-msgstr "8,00x1,00\""
-
-msgid "8.00x2.00\""
-msgstr "8,00x2,00\""
-
-msgid "8.00x3.00\""
-msgstr "8,00x3,00\""
-
-msgid "8.00x4.00\""
-msgstr "8,00x4,00\""
-
-msgid "8.00x5.00\""
-msgstr "8,00x5,00\""
-
-msgid "8.00x6.00\""
-msgstr "8,00x6,00\""
-
-msgid "8.00x6.50\""
-msgstr "8,00x6,50\""
-
-msgid "80"
-msgstr "80"
-
-msgid "80 mm/sec."
-msgstr "80 mm/det."
-
-msgid "85"
-msgstr "85"
-
-msgid "9"
-msgstr "9"
-
-msgid "9 inches/sec."
-msgstr "9 inci/det."
-
-msgid "9 x 11"
-msgstr ""
-
-msgid "9 x 12"
-msgstr ""
-
-msgid "9-Pin Series"
-msgstr "Seri 9-Pin"
-
-msgid "90"
-msgstr "90"
-
-msgid "95"
-msgstr "95"
-
-msgid "?Invalid help command unknown."
-msgstr ""
-
-msgid "A Samba password is required to export printer drivers"
-msgstr ""
-
-msgid "A Samba username is required to export printer drivers"
-msgstr ""
-
-#, c-format
-msgid "A class named \"%s\" already exists."
-msgstr ""
-
-#, c-format
-msgid "A printer named \"%s\" already exists."
-msgstr ""
-
-msgid "A0"
-msgstr "A0"
-
-msgid "A0 Long Edge"
-msgstr ""
-
-msgid "A1"
-msgstr "A1"
-
-msgid "A1 Long Edge"
-msgstr ""
-
-msgid "A10"
-msgstr "A10"
-
-msgid "A2"
-msgstr "A2"
-
-msgid "A2 Long Edge"
-msgstr ""
-
-msgid "A3"
-msgstr "A3"
-
-msgid "A3 Long Edge"
-msgstr ""
-
-msgid "A3 Oversize"
-msgstr ""
-
-msgid "A3 Oversize Long Edge"
-msgstr ""
-
-msgid "A4"
-msgstr "A4"
-
-msgid "A4 Long Edge"
-msgstr ""
-
-msgid "A4 Oversize"
-msgstr ""
-
-msgid "A4 Small"
-msgstr ""
-
-msgid "A5"
-msgstr "A5"
-
-msgid "A5 Long Edge"
-msgstr ""
-
-msgid "A5 Oversize"
-msgstr ""
-
-msgid "A6"
-msgstr "A6"
-
-msgid "A6 Long Edge"
-msgstr ""
-
-msgid "A7"
-msgstr "A7"
-
-msgid "A8"
-msgstr "A8"
-
-msgid "A9"
-msgstr "A9"
-
-msgid "ANSI A"
-msgstr "ANSI A"
-
-msgid "ANSI B"
-msgstr "ANSI B"
-
-msgid "ANSI C"
-msgstr "ANSI C"
-
-msgid "ANSI D"
-msgstr "ANSI D"
-
-msgid "ANSI E"
-msgstr "ANSI E"
-
-msgid "ARCH C"
-msgstr "ARCH C"
-
-msgid "ARCH C Long Edge"
-msgstr ""
-
-msgid "ARCH D"
-msgstr "ARCH D"
-
-msgid "ARCH D Long Edge"
-msgstr ""
-
-msgid "ARCH E"
-msgstr "ARCH E"
-
-msgid "ARCH E Long Edge"
-msgstr ""
-
-msgid "Accept Jobs"
-msgstr "Terima Tugas"
-
-msgid "Accepted"
-msgstr "Diterima"
-
-msgid "Add Class"
-msgstr "Tambah Kelas"
-
-msgid "Add Printer"
-msgstr "Tambah Pencetak"
-
-msgid "Add RSS Subscription"
-msgstr "Tambah Subskripsi RSS"
-
-msgid "Address"
-msgstr "Alamat"
-
-msgid "Address - 1 1/8 x 3 1/2\""
-msgstr "Alamat - 1 1/8 x 3 1/2\""
-
-msgid "Administration"
-msgstr "Administrasi"
-
-msgid "Always"
-msgstr "Selalu"
-
-msgid "AppSocket/HP JetDirect"
-msgstr "AppSocket/HP JetDirect"
-
-msgid "Applicator"
-msgstr "Aplikator"
-
-#, c-format
-msgid "Attempt to set %s printer-state to bad value %d."
-msgstr ""
-
-#, c-format
-msgid "Attribute groups are out of order (%x < %x)."
-msgstr ""
-
-msgid "B0"
-msgstr "B0"
-
-msgid "B1"
-msgstr "B1"
-
-msgid "B10"
-msgstr "B10"
-
-msgid "B2"
-msgstr "B2"
-
-msgid "B3"
-msgstr "B3"
-
-msgid "B4"
-msgstr "B4"
-
-msgid "B5"
-msgstr "B5"
-
-msgid "B5 Oversize"
-msgstr ""
-
-msgid "B6"
-msgstr "B6"
-
-msgid "B7"
-msgstr "B7"
-
-msgid "B8"
-msgstr "B8"
-
-msgid "B9"
-msgstr "B9"
-
-msgid "Bad NULL dests pointer"
-msgstr ""
-
-msgid "Bad OpenGroup"
-msgstr "OpenGroup Jelek"
-
-msgid "Bad OpenUI/JCLOpenUI"
-msgstr "OpenUI/JCLOpenUI Jelek"
-
-msgid "Bad OrderDependency"
-msgstr "OrderDependency Jelek"
-
-msgid "Bad PPD cache file."
-msgstr ""
-
-msgid "Bad Request"
-msgstr "Permintaan Jelek"
-
-msgid "Bad SNMP version number"
-msgstr "Nomor versi SNMP jelek"
-
-msgid "Bad UIConstraints"
-msgstr "UIConstraints Jelek"
-
-#, c-format
-msgid "Bad charset file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad charset type: %s"
-msgstr ""
-
-#, c-format
-msgid "Bad columns value %d."
-msgstr ""
-
-#, c-format
-msgid "Bad copies value %d."
-msgstr "Nilai rangkap %d jelek."
-
-#, c-format
-msgid "Bad cpi value %f."
-msgstr ""
-
-msgid "Bad custom parameter"
-msgstr "Parameter ubahan jelek"
-
-#, c-format
-msgid "Bad device-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad device-uri scheme \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad document-format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad document-format-default \"%s\"."
-msgstr ""
-
-msgid "Bad filename buffer"
-msgstr ""
-
-#, c-format
-msgid "Bad font description line \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad font description line: %s"
-msgstr ""
-
-msgid "Bad job-priority value."
-msgstr ""
-
-#, c-format
-msgid "Bad job-sheets value \"%s\"."
-msgstr ""
-
-msgid "Bad job-sheets value type."
-msgstr ""
-
-msgid "Bad job-state value."
-msgstr ""
-
-#, c-format
-msgid "Bad job-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad lpi value %f."
-msgstr ""
-
-#, c-format
-msgid "Bad notify-pull-method \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad notify-recipient-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad number-up value %d."
-msgstr "Nilai number-up %d jelek."
-
-#, c-format
-msgid "Bad option + choice on line %d."
-msgstr ""
-
-#, c-format
-msgid "Bad page-ranges values %d-%d."
-msgstr "Nilai page-ranges %d-%d jelek."
-
-#, c-format
-msgid "Bad port-monitor \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad printer-state value %d."
-msgstr ""
-
-#, c-format
-msgid "Bad request ID %d."
-msgstr ""
-
-#, c-format
-msgid "Bad request version number %d.%d."
-msgstr ""
-
-msgid "Bad subscription ID"
-msgstr ""
-
-#, c-format
-msgid "Bad text direction \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad text direction: %s"
-msgstr ""
-
-#, c-format
-msgid "Bad text width \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad text width: %s"
-msgstr ""
-
-msgid "Bad value string"
-msgstr ""
-
-msgid "Banners"
-msgstr "Pataka"
-
-msgid "Billing Information: "
-msgstr "Informasi Tagihan: "
-
-msgid "Bond Paper"
-msgstr "Kertas Surat"
-
-#, c-format
-msgid "Boolean expected for waiteof option \"%s\"."
-msgstr ""
-
-msgid "Buffer overflow detected, aborting."
-msgstr ""
-
-msgid "CMYK"
-msgstr "CMYK"
-
-msgid "CPCL Label Printer"
-msgstr ""
-
-msgid "Cancel RSS Subscription"
-msgstr "Batal Subskripsi RSS"
-
-msgid "Canceling print job."
-msgstr ""
-
-msgid "Cannot share a remote Kerberized printer."
-msgstr ""
-
-msgid "Cassette"
-msgstr ""
-
-msgid "Change Settings"
-msgstr "Ubah Pengaturan"
-
-#, c-format
-msgid "Character set \"%s\" not supported."
-msgstr ""
-
-msgid "Classes"
-msgstr "Kelas"
-
-msgid "Clean Print Heads"
-msgstr "Bersihkan Kepala Pencetak"
-
-msgid "Close-Job doesn't support the job-uri attribute."
-msgstr ""
-
-msgid "Color"
-msgstr "Warna"
-
-msgid "Color Mode"
-msgstr "Modus Warna"
-
-msgid ""
-"Commands may be abbreviated.  Commands are:\n"
-"\n"
-"exit    help    quit    status  ?"
-msgstr ""
-
-msgid "Community name uses indefinite length"
-msgstr "Nama komunitas memiliki panjang tak terdefinisi"
-
-msgid "Connected to printer."
-msgstr ""
-
-msgid "Connecting to printer."
-msgstr ""
-
-msgid "Continue"
-msgstr "Lanjut"
-
-msgid "Continuous"
-msgstr "Terus-menerus"
-
-msgid "Control file sent successfully."
-msgstr ""
-
-msgid "Copying print data."
-msgstr ""
-
-msgid "Created"
-msgstr "Dibuat"
-
-msgid "Created On: "
-msgstr "Dibuat Pada: "
-
-msgid "Custom"
-msgstr "Ubahan"
-
-msgid "CustominCutInterval"
-msgstr "CustominCutInterval"
-
-msgid "CustominTearInterval"
-msgstr "CustominTearInterval"
-
-msgid "Cut"
-msgstr "Potong"
-
-msgid "Cutter"
-msgstr "Pemotong"
-
-msgid "Dark"
-msgstr "Gelap"
-
-msgid "Darkness"
-msgstr "Gelap"
-
-msgid "Data file sent successfully."
-msgstr ""
-
-msgid "Delete Class"
-msgstr "Hapus Kelas"
-
-msgid "Delete Printer"
-msgstr "Hapus Pencetak"
-
-msgid "Description: "
-msgstr "Deskripsi: "
-
-msgid "DeskJet Series"
-msgstr "Seri Deskjet"
-
-#, c-format
-msgid "Destination \"%s\" is not accepting jobs."
-msgstr "Tujuan \"%s\" bukanlah tugas yang diterima."
-
-#, c-format
-msgid ""
-"Device: uri = %s\n"
-"        class = %s\n"
-"        info = %s\n"
-"        make-and-model = %s\n"
-"        device-id = %s\n"
-"        location = %s"
-msgstr ""
-
-msgid "Direct Thermal Media"
-msgstr "Media Termal Langsung"
-
-#, c-format
-msgid "Directory \"%s\" contains a relative path."
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" is a file."
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" not available: %s"
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-msgid "Disabled"
-msgstr "Dinonaktifkan"
-
-#, c-format
-msgid "Document #%d does not exist in job #%d."
-msgstr ""
-
-msgid "Driver Name: "
-msgstr "Nama Penggerak: "
-
-msgid "Driver Version: "
-msgstr "Versi Penggerak: "
-
-msgid "Duplexer"
-msgstr "Pendupleks"
-
-msgid "Dymo"
-msgstr "Dymo"
-
-msgid "EPL1 Label Printer"
-msgstr "EPL1 Pencetak Label"
-
-msgid "EPL2 Label Printer"
-msgstr "EPL2 Pencetak Label"
-
-msgid "Edit Configuration File"
-msgstr "Sunting Berkas Konfigurasi"
-
-msgid "Empty PPD file."
-msgstr ""
-
-#. TRANSLATORS: Banner/cover sheet after the print job.
-msgid "Ending Banner"
-msgstr "Akhir Pataka"
-
-msgid "English"
-msgstr "Indonesian"
-
-msgid "Enter old password:"
-msgstr "Masukkan sandi lama:"
-
-msgid "Enter password again:"
-msgstr "Masukkan lagi sandinya:"
-
-msgid "Enter password:"
-msgstr "Masukkan sandi:"
-
-msgid ""
-"Enter your username and password or the root username and password to access "
-"this page. If you are using Kerberos authentication, make sure you have a "
-"valid Kerberos ticket."
-msgstr ""
-"Masukkan nama pengguna dan sandi Anda atau nama pengguna dan sandi root "
-"untuk mengakses halaman ini. Apabila Anda menggunakan otentikasi Kerberos, "
-"pastikan bahwa Anda memiliki tiket Kerberos yang sah."
-
-msgid "Envelope #10 "
-msgstr ""
-
-msgid "Envelope #11"
-msgstr ""
-
-msgid "Envelope #12"
-msgstr ""
-
-msgid "Envelope #14"
-msgstr ""
-
-msgid "Envelope #9"
-msgstr ""
-
-msgid "Envelope B4"
-msgstr ""
-
-msgid "Envelope B5"
-msgstr ""
-
-msgid "Envelope B6"
-msgstr ""
-
-msgid "Envelope C0"
-msgstr ""
-
-msgid "Envelope C1"
-msgstr ""
-
-msgid "Envelope C2"
-msgstr ""
-
-msgid "Envelope C3"
-msgstr ""
-
-msgid "Envelope C4"
-msgstr ""
-
-msgid "Envelope C5"
-msgstr ""
-
-msgid "Envelope C6"
-msgstr ""
-
-msgid "Envelope C65"
-msgstr ""
-
-msgid "Envelope C7"
-msgstr ""
-
-msgid "Envelope Choukei 3"
-msgstr ""
-
-msgid "Envelope Choukei 3 Long Edge"
-msgstr ""
-
-msgid "Envelope Choukei 4"
-msgstr ""
-
-msgid "Envelope Choukei 4 Long Edge"
-msgstr ""
-
-msgid "Envelope DL"
-msgstr ""
-
-msgid "Envelope Feed"
-msgstr "Amplop Feed"
-
-msgid "Envelope Invite"
-msgstr ""
-
-msgid "Envelope Italian"
-msgstr ""
-
-msgid "Envelope Kaku2"
-msgstr ""
-
-msgid "Envelope Kaku2 Long Edge"
-msgstr ""
-
-msgid "Envelope Kaku3"
-msgstr ""
-
-msgid "Envelope Kaku3 Long Edge"
-msgstr ""
-
-msgid "Envelope Monarch"
-msgstr ""
-
-msgid "Envelope PRC1 "
-msgstr ""
-
-msgid "Envelope PRC1 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC10"
-msgstr ""
-
-msgid "Envelope PRC10 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC2"
-msgstr ""
-
-msgid "Envelope PRC2 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC3"
-msgstr ""
-
-msgid "Envelope PRC3 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC4"
-msgstr ""
-
-msgid "Envelope PRC4 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC5 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC5PRC5"
-msgstr ""
-
-msgid "Envelope PRC6"
-msgstr ""
-
-msgid "Envelope PRC6 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC7"
-msgstr ""
-
-msgid "Envelope PRC7 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC8"
-msgstr ""
-
-msgid "Envelope PRC8 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC9"
-msgstr ""
-
-msgid "Envelope PRC9 Long Edge"
-msgstr ""
-
-msgid "Envelope Personal"
-msgstr ""
-
-msgid "Envelope You4"
-msgstr ""
-
-msgid "Envelope You4 Long Edge"
-msgstr ""
-
-msgid "Epson"
-msgstr "Epson"
-
-msgid "Error Policy"
-msgstr "Polis Kesalahan"
-
-msgid "Error sending raster data."
-msgstr ""
-
-msgid "Error: need hostname after \"-h\" option."
-msgstr ""
-
-msgid "Every 10 Labels"
-msgstr "Tiap 10 Label"
-
-msgid "Every 2 Labels"
-msgstr "Tiap 2 Label"
-
-msgid "Every 3 Labels"
-msgstr "Tiap 3 Label"
-
-msgid "Every 4 Labels"
-msgstr "Tiap 4 Label"
-
-msgid "Every 5 Labels"
-msgstr "Tiap 5 Label"
-
-msgid "Every 6 Labels"
-msgstr "Tiap 6 Label"
-
-msgid "Every 7 Labels"
-msgstr "Tiap 7 Label"
-
-msgid "Every 8 Labels"
-msgstr "Tiap 8 Label"
-
-msgid "Every 9 Labels"
-msgstr "Tiap 9 Label"
-
-msgid "Every Label"
-msgstr "Tiap Label"
-
-msgid "Executive"
-msgstr ""
-
-msgid "Expectation Failed"
-msgstr ""
-
-msgid "Export Printers to Samba"
-msgstr "Ekspor Pencetak melalui Samba"
-
-msgid "FAIL"
-msgstr ""
-
-msgid "FanFold German"
-msgstr ""
-
-msgid "FanFold Legal German"
-msgstr ""
-
-msgid "Fanfold US"
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" contains a relative path."
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" is a directory."
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" not available: %s"
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-msgid "File Folder"
-msgstr "Map"
-
-msgid "File Folder - 9/16 x 3 7/16\""
-msgstr "Map - 9/16 x 3 7/16\""
-
-#, c-format
-msgid ""
-"File device URIs have been disabled. To enable, see the FileDevice directive "
-"in \"%s/cupsd.conf\"."
-msgstr ""
-
-#, c-format
-msgid "Finished page %d."
-msgstr ""
-
-msgid "Folio"
-msgstr "Folio"
-
-msgid "Forbidden"
-msgstr "Terlarang"
-
-#, c-format
-msgid "Formatting page %d."
-msgstr ""
-
-msgid "General"
-msgstr "Umum"
-
-msgid "Generic"
-msgstr "Umum"
-
-msgid "Get-Response-PDU uses indefinite length"
-msgstr "Get-Response-PDU memiliki panjang tak terdefinisi"
-
-msgid "Glossy Paper"
-msgstr "Kertas Glosi"
-
-msgid "Got a printer-uri attribute but no job-id."
-msgstr ""
-
-msgid "Grayscale"
-msgstr "Skala Abu-abu"
-
-msgid "HP"
-msgstr "HP"
-
-msgid "Hanging Folder"
-msgstr "Map Gantung"
-
-msgid "Hanging Folder - 9/16 x 2\""
-msgstr "Map Gantung - 9/16 x 2\""
-
-msgid "IPP 1setOf attribute with incompatible value tags."
-msgstr ""
-
-msgid "IPP attribute has no name."
-msgstr ""
-
-msgid "IPP begCollection value not 0 bytes."
-msgstr ""
-
-msgid "IPP boolean value not 1 byte."
-msgstr ""
-
-msgid "IPP date value not 11 bytes."
-msgstr ""
-
-msgid "IPP endCollection value not 0 bytes."
-msgstr ""
-
-msgid "IPP enum value not 4 bytes."
-msgstr ""
-
-msgid "IPP integer value not 4 bytes."
-msgstr ""
-
-msgid "IPP language length overflows value."
-msgstr ""
-
-msgid "IPP member name is not empty."
-msgstr ""
-
-msgid "IPP name larger than 32767 bytes."
-msgstr ""
-
-msgid "IPP nameWithLanguage value less than minimum 4 bytes."
-msgstr ""
-
-msgid "IPP rangeOfInteger value not 8 bytes."
-msgstr ""
-
-msgid "IPP resolution value not 9 bytes."
-msgstr ""
-
-msgid "IPP string length overflows value."
-msgstr ""
-
-msgid "IPP textWithLanguage value less than minimum 4 bytes."
-msgstr ""
-
-msgid "IPP value larger than 32767 bytes."
-msgstr ""
-
-msgid "ISOLatin1"
-msgstr "UTF-8"
-
-msgid "Illegal control character"
-msgstr "Karakter kontrol ilegal"
-
-msgid "Illegal main keyword string"
-msgstr "String kata kunci utama ilegal"
-
-msgid "Illegal option keyword string"
-msgstr "String opsi kata kunci ilegal"
-
-msgid "Illegal translation string"
-msgstr "String translasi ilegal"
-
-msgid "Illegal whitespace character"
-msgstr ""
-
-msgid "Installable Options"
-msgstr ""
-
-msgid "Installed"
-msgstr ""
-
-msgid "IntelliBar Label Printer"
-msgstr "Pencetak Label IntelliBar"
-
-msgid "Intellitech"
-msgstr "Intellitech"
-
-msgid "Internal Server Error"
-msgstr "Kesalahan Internal Server"
-
-msgid "Internal error"
-msgstr "Kesalahan internal"
-
-msgid "Internet Postage 2-Part"
-msgstr "Perangko Internet 2-Bagian"
-
-msgid "Internet Postage 2-Part - 2 1/4 x 7 1/2\""
-msgstr "Perangko Internet 2-Bagian - 2 1/4 x 7 1/2\""
-
-msgid "Internet Postage 3-Part"
-msgstr "Perangko Internet 3-Bagian"
-
-msgid "Internet Postage 3-Part - 2 1/4 x 7\""
-msgstr "Perangko Internet 3-Bagian - 2 1/4 x 7\""
-
-msgid "Internet Printing Protocol"
-msgstr "Protokol Cetak Internet"
-
-#, c-format
-msgid "Invalid printer command \"%s\"."
-msgstr ""
-
-msgid "JCL"
-msgstr "JCL"
-
-msgid "JIS B0"
-msgstr ""
-
-msgid "JIS B1"
-msgstr ""
-
-msgid "JIS B10"
-msgstr ""
-
-msgid "JIS B2"
-msgstr ""
-
-msgid "JIS B3"
-msgstr ""
-
-msgid "JIS B4"
-msgstr ""
-
-msgid "JIS B4 Long Edge"
-msgstr ""
-
-msgid "JIS B5"
-msgstr ""
-
-msgid "JIS B5 Long Edge"
-msgstr ""
-
-msgid "JIS B6"
-msgstr ""
-
-msgid "JIS B6 Long Edge"
-msgstr ""
-
-msgid "JIS B7"
-msgstr ""
-
-msgid "JIS B8"
-msgstr ""
-
-msgid "JIS B9"
-msgstr ""
-
-#, c-format
-msgid "Job #%d cannot be restarted - no files."
-msgstr ""
-
-#, c-format
-msgid "Job #%d does not exist."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is already aborted - can't cancel."
-msgstr "Tugas #%d telah dibatalkan - tidak bisa dibatalkan lagi."
-
-#, c-format
-msgid "Job #%d is already canceled - can't cancel."
-msgstr "Tugas #%d sudah dibatalkan - tidak bisa dibatalkan lagi."
-
-#, c-format
-msgid "Job #%d is already completed - can't cancel."
-msgstr "Tugas #%d sudah diselesaikan - tidak bisa dibatalkan."
-
-#, c-format
-msgid "Job #%d is finished and cannot be altered."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is not complete."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is not held for authentication."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is not held."
-msgstr ""
-
-msgid "Job Completed"
-msgstr "Tugas Diselesaikan"
-
-msgid "Job Created"
-msgstr "Tugas Dibuat"
-
-msgid "Job ID: "
-msgstr "ID Tugas: "
-
-msgid "Job Options Changed"
-msgstr "Perubahan Opsi Tugas"
-
-msgid "Job Stopped"
-msgstr "Tugas Dihentikan"
-
-msgid "Job UUID: "
-msgstr "UUID Tugas: "
-
-msgid "Job is completed and cannot be changed."
-msgstr "Tugas sudah diselesaikan dan tidak bisa diubah."
-
-msgid "Job operation failed:"
-msgstr "Operasi tugas gagal:"
-
-msgid "Job state cannot be changed."
-msgstr "Status tugas tidak bisa diubah."
-
-msgid "Job subscriptions cannot be renewed."
-msgstr ""
-
-msgid "Jobs"
-msgstr "Tugas"
-
-msgid "LPD/LPR Host or Printer"
-msgstr "Host atau Pencetak LPD/LPR"
-
-msgid "Label Printer"
-msgstr "Pencetak Label"
-
-msgid "Label Top"
-msgstr "Label Atas"
-
-#, c-format
-msgid "Language \"%s\" not supported."
-msgstr ""
-
-msgid "Large Address"
-msgstr "Alamat Besar"
-
-msgid "Large Address - 1 4/10 x 3 1/2\""
-msgstr "Alamat Besar - 1 4/10 x 3 1/2\""
-
-msgid "LaserJet Series PCL 4/5"
-msgstr "Seri LaserJet PCL 4/5"
-
-msgid "Letter Oversize"
-msgstr ""
-
-msgid "Letter Oversize Long Edge"
-msgstr ""
-
-msgid "Light"
-msgstr "Cahaya"
-
-msgid "Line longer than the maximum allowed (255 characters)"
-msgstr "Baris melebihi panjang yang diperbolehkan (255 karakter)"
-
-msgid "List Available Printers"
-msgstr "Daftar Pencetak yang Tersedia"
-
-msgid "Loading print file."
-msgstr ""
-
-msgid "Location: "
-msgstr "Lokasi: "
-
-msgid "Long-Edge (Portrait)"
-msgstr "Sisi Panjang (Tegak)"
-
-msgid "Looking for printer."
-msgstr ""
-
-msgid "Make and Model: "
-msgstr "Pembuat dan Model: "
-
-msgid "Manual Feed"
-msgstr ""
-
-msgid "Media Dimensions: "
-msgstr "Dimensi Media: "
-
-msgid "Media Limits: "
-msgstr "Batas Media: "
-
-msgid "Media Name: "
-msgstr "Nama Media: "
-
-msgid "Media Size"
-msgstr "Ukuran Media"
-
-msgid "Media Source"
-msgstr "Sumber Media"
-
-msgid "Media Tracking"
-msgstr ""
-
-msgid "Media Type"
-msgstr "Jenis Media"
-
-msgid "Medium"
-msgstr ""
-
-msgid "Memory allocation error"
-msgstr "Kesalahan alokasi memori"
-
-msgid "Missing CloseGroup"
-msgstr ""
-
-msgid "Missing PPD-Adobe-4.x header"
-msgstr "Kehilangan tajuk PPD-Adobe-4.x"
-
-msgid "Missing asterisk in column 1"
-msgstr "Kehilangan asterik pada kolom 1"
-
-msgid "Missing document-number attribute."
-msgstr ""
-
-#, c-format
-msgid "Missing double quote on line %d."
-msgstr ""
-
-msgid "Missing form variable"
-msgstr ""
-
-msgid "Missing last-document attribute in request."
-msgstr ""
-
-msgid "Missing media or media-col."
-msgstr ""
-
-msgid "Missing media-size in media-col."
-msgstr ""
-
-msgid "Missing notify-subscription-ids attribute."
-msgstr ""
-
-msgid "Missing option keyword"
-msgstr ""
-
-msgid "Missing requesting-user-name attribute."
-msgstr ""
-
-msgid "Missing required attributes."
-msgstr ""
-
-#, c-format
-msgid "Missing value on line %d of banner file."
-msgstr ""
-
-#, c-format
-msgid "Missing value on line %d."
-msgstr ""
-
-msgid "Missing value string"
-msgstr "Kehilangan string nilai"
-
-msgid "Missing x-dimension in media-size."
-msgstr ""
-
-msgid "Missing y-dimension in media-size."
-msgstr ""
-
-#, c-format
-msgid ""
-"Model:  name = %s\n"
-"        natural_language = %s\n"
-"        make-and-model = %s\n"
-"        device-id = %s"
-msgstr ""
-
-msgid "Modify Class"
-msgstr "Ubah Kelas"
-
-msgid "Modify Printer"
-msgstr "Ubah Pencetak"
-
-msgid "Move All Jobs"
-msgstr "Pindah Semua Tugas"
-
-msgid "Move Job"
-msgstr "Pindah Tugas"
-
-msgid "Moved Permanently"
-msgstr "Dipindahkan Permanen"
-
-msgid "NULL PPD file pointer"
-msgstr ""
-
-msgid "Name OID uses indefinite length"
-msgstr "Nama OID memiliki panjang tak terdefinisi"
-
-msgid "Nested classes are not allowed."
-msgstr ""
-
-msgid "Never"
-msgstr "Tidak Pernah"
-
-msgid "New Stylus Color Series"
-msgstr "Seri Stylus Color Baru"
-
-msgid "New Stylus Photo Series"
-msgstr "Seri Stylus Photo Baru"
-
-msgid "No"
-msgstr "Tidak"
-
-msgid "No Content"
-msgstr "Tak Ada Isi"
-
-msgid "No PPD name"
-msgstr ""
-
-msgid "No VarBind SEQUENCE"
-msgstr "Tidak ada VarBind SEQUENCE"
-
-msgid "No Windows printer drivers are installed."
-msgstr ""
-
-msgid "No active connection"
-msgstr "Tidak ada koneksi yang aktif"
-
-#, c-format
-msgid "No active jobs on %s."
-msgstr ""
-
-msgid "No attributes in request."
-msgstr ""
-
-msgid "No authentication information provided."
-msgstr ""
-
-msgid "No community name"
-msgstr "Tidak ada nama komunitas"
-
-msgid "No default printer."
-msgstr ""
-
-msgid "No destinations added."
-msgstr "Tidak ada tujuan yang ditambah."
-
-msgid "No device URI found in argv[0] or in DEVICE_URI environment variable."
-msgstr ""
-
-msgid "No error-index"
-msgstr "Tidak ada error-index"
-
-msgid "No error-status"
-msgstr "Tidak ada error-status"
-
-msgid "No file in print request."
-msgstr ""
-
-msgid "No fonts in charset file."
-msgstr ""
-
-msgid "No modification time"
-msgstr ""
-
-msgid "No name OID"
-msgstr "Tidak ada nama OID"
-
-msgid "No pages were found."
-msgstr ""
-
-msgid "No printer name"
-msgstr ""
-
-msgid "No printer-uri found"
-msgstr ""
-
-msgid "No printer-uri found for class"
-msgstr ""
-
-msgid "No printer-uri in request."
-msgstr ""
-
-msgid "No request-id"
-msgstr "Tidak ada request-id"
-
-msgid "No subscription attributes in request."
-msgstr ""
-
-msgid "No subscriptions found."
-msgstr "Tidak ada subskripsi yang ditemukan."
-
-msgid "No variable-bindings SEQUENCE"
-msgstr "Tidak ada variable-bindings SEQUENCE"
-
-msgid "No version number"
-msgstr "Tidak ada nomor versi"
-
-msgid "Non-continuous (Mark sensing)"
-msgstr "Tak bersambungan (Penanda)"
-
-msgid "Non-continuous (Web sensing)"
-msgstr "Tak bersambungan (Web)"
-
-msgid "Normal"
-msgstr "Normal"
-
-msgid "Not Found"
-msgstr "Tidak Ketemu"
-
-msgid "Not Implemented"
-msgstr "Tidak Diimplementasikan"
-
-msgid "Not Installed"
-msgstr "Tidak Terpasang"
-
-msgid "Not Modified"
-msgstr "Tidak Diubah"
-
-msgid "Not Supported"
-msgstr "Tidak Didukung"
-
-msgid "Not allowed to print."
-msgstr "Tidak diperbolehkan mencetak."
-
-msgid "Note"
-msgstr "Catatan"
-
-msgid ""
-"Note: this program only validates the DSC comments, not the PostScript "
-"itself."
-msgstr ""
-
-msgid "OK"
-msgstr "Oke"
-
-msgid "Off (1-Sided)"
-msgstr "Mati (1-Sisi)"
-
-msgid "Oki"
-msgstr "Oki"
-
-msgid "Online Help"
-msgstr "Bantuan Langsung"
-
-#, c-format
-msgid "Open of %s failed: %s"
-msgstr "Gagal membuka %s: %s"
-
-msgid "OpenGroup without a CloseGroup first"
-msgstr "OpenGroup tanpa CloseGroup lebih dulu"
-
-msgid "OpenUI/JCLOpenUI without a CloseUI/JCLCloseUI first"
-msgstr "OpenUI/JCLOpenUI tanpa CloseUI/JCLCloseUI lebih dulu"
-
-msgid "Operation Policy"
-msgstr "Polis Operasi"
-
-#, c-format
-msgid "Option \"%s\" cannot be included via %%%%IncludeFeature."
-msgstr ""
-
-msgid "Options Installed"
-msgstr "Opsi yang Terpasang"
-
-msgid "Options:"
-msgstr ""
-
-msgid "Options: "
-msgstr "Opsi: "
-
-msgid "Out of date PPD cache file."
-msgstr ""
-
-msgid "Out of memory."
-msgstr ""
-
-msgid "Output Mode"
-msgstr "Modus Keluaran"
-
-#, c-format
-msgid "Output for printer %s is sent to %s"
-msgstr ""
-
-#, c-format
-msgid "Output for printer %s is sent to remote printer %s on %s"
-msgstr ""
-
-#, c-format
-msgid "Output for printer %s/%s is sent to %s"
-msgstr ""
-
-#, c-format
-msgid "Output for printer %s/%s is sent to remote printer %s on %s"
-msgstr ""
-
-msgid "PASS"
-msgstr ""
-
-msgid "PCL Laser Printer"
-msgstr "Pencetak Laser PCL"
-
-msgid "PRC16K"
-msgstr "PRC16K"
-
-msgid "PRC16K Long Edge"
-msgstr ""
-
-msgid "PRC32K"
-msgstr "PRC32K"
-
-msgid "PRC32K Long Edge"
-msgstr ""
-
-msgid "PRC32K Oversize"
-msgstr ""
-
-msgid "PRC32K Oversize Long Edge"
-msgstr ""
-
-msgid "Packet does not contain a Get-Response-PDU"
-msgstr "Paket tidak mengandung Get-Response-PDU"
-
-msgid "Packet does not start with SEQUENCE"
-msgstr "Paket tidak dimulai dengan SEQUENCE"
-
-msgid "ParamCustominCutInterval"
-msgstr "ParamCustominCutInterval"
-
-msgid "ParamCustominTearInterval"
-msgstr "ParamCustominTearInterval"
-
-#, c-format
-msgid "Password for %s on %s? "
-msgstr "Sandi untuk %s pada %s? "
-
-#, c-format
-msgid "Password for %s required to access %s via SAMBA: "
-msgstr "Sandi untuk %s diperlukan untuk mengakses %s via SAMBA: "
-
-msgid "Pause Class"
-msgstr "Tahan Kelas"
-
-msgid "Pause Printer"
-msgstr "Tahan Pencetak"
-
-msgid "Peel-Off"
-msgstr ""
-
-msgid "Photo"
-msgstr "Foto"
-
-msgid "Photo Labels"
-msgstr "Label Foto"
-
-msgid "Plain Paper"
-msgstr "Kertas Biasa"
-
-msgid "Policies"
-msgstr "Kebijakan"
-
-msgid "Port Monitor"
-msgstr "Port Monitor"
-
-msgid "PostScript Printer"
-msgstr "Pencetak PostScript"
-
-msgid "Postcard"
-msgstr "Kartu Pos"
-
-msgid "Postcard Double "
-msgstr ""
-
-msgid "Postcard Double Long Edge"
-msgstr ""
-
-msgid "Postcard Long Edge"
-msgstr ""
-
-msgid "Print Density"
-msgstr "Densitas Cetak"
-
-msgid "Print Job:"
-msgstr "Tugas Cetak:"
-
-msgid "Print Mode"
-msgstr "Modus Cetak"
-
-msgid "Print Rate"
-msgstr ""
-
-msgid "Print Self-Test Page"
-msgstr "Cetak Halaman Uji-Mandiri"
-
-msgid "Print Speed"
-msgstr "Kecepatan Cetak"
-
-msgid "Print Test Page"
-msgstr "Cetak Halaman Uji"
-
-msgid "Print and Cut"
-msgstr "Cetak dan Potong"
-
-msgid "Print and Tear"
-msgstr ""
-
-#, c-format
-msgid "Print file accepted - job ID %d."
-msgstr ""
-
-msgid "Print file accepted - job ID unknown."
-msgstr ""
-
-msgid "Print file sent."
-msgstr ""
-
-msgid "Print file was not accepted."
-msgstr ""
-
-msgid "Print job too large."
-msgstr ""
-
-msgid "Printed For: "
-msgstr "Dicetak Untuk: "
-
-msgid "Printed From: "
-msgstr "Dicetak Dari: "
-
-msgid "Printed On: "
-msgstr "Dicetak Pada: "
-
-msgid "Printer Added"
-msgstr "Pencetak Ditambah"
-
-msgid "Printer Default"
-msgstr "Pencetak Utama"
-
-msgid "Printer Deleted"
-msgstr "Pencetak Dihapus"
-
-msgid "Printer Modified"
-msgstr "Pencetak Diubah"
-
-msgid "Printer Name: "
-msgstr "Nama Pencetak: "
-
-msgid "Printer Paused"
-msgstr "Pencetak Ditahan"
-
-msgid "Printer Settings"
-msgstr "Pengaturan Pencetak"
-
-msgid "Printer busy, will retry in 10 seconds."
-msgstr ""
-
-msgid "Printer busy; will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer did not respond."
-msgstr ""
-
-#, c-format
-msgid "Printer does not support IPP/%d.%d, trying IPP/%s."
-msgstr ""
-
-msgid "Printer is busy, will retry in 5 seconds."
-msgstr ""
-
-msgid "Printer is not currently connected."
-msgstr ""
-
-msgid "Printer is now connected."
-msgstr ""
-
-msgid "Printer is now online."
-msgstr ""
-
-msgid "Printer is offline."
-msgstr ""
-
-msgid "Printer not connected, will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer not connected; will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer:"
-msgstr "Pencetak:"
-
-msgid "Printers"
-msgstr "Pencetak"
-
-#, c-format
-msgid "Printing page %d, %d%% complete."
-msgstr ""
-
-#, c-format
-msgid "Printing page %d."
-msgstr ""
-
-msgid "Purge Jobs"
-msgstr "Membersihkan Tugas"
-
-msgid "Quarto"
-msgstr "Kuarto"
-
-msgid "Quota limit reached."
-msgstr "Batas kuota telah dicapai."
-
-msgid "Rank    Owner   Job     File(s)                         Total Size"
-msgstr ""
-
-#. TRANSLATORS: Pri is job priority.
-msgid ""
-"Rank   Owner      Pri  Job        Files                       Total Size"
-msgstr ""
-
-msgid "Ready to print."
-msgstr ""
-
-msgid "Reject Jobs"
-msgstr "Tolak Tugas"
-
-#, c-format
-msgid "Remote host did not accept control file (%d)."
-msgstr ""
-
-#, c-format
-msgid "Remote host did not accept data file (%d)."
-msgstr ""
-
-msgid "Reprint After Error"
-msgstr "Cetak Ulang Usai Kesalahan"
-
-msgid "Request Entity Too Large"
-msgstr "Entitas Pesanan Terlalu Besar"
-
-msgid "Resolution"
-msgstr "Resolusi"
-
-msgid "Resume Class"
-msgstr ""
-
-msgid "Resume Printer"
-msgstr ""
-
-msgid "Return Address"
-msgstr "Alamat Pengembalian"
-
-msgid "Return Address - 3/4 x 2\""
-msgstr "Alamat Pengembalian - 3/4 x 2\""
-
-msgid "Rewind"
-msgstr "Ulang"
-
-#, c-format
-msgid "Running command: %s %s -N -A %s -c '%s'"
-msgstr ""
-
-msgid "SEQUENCE uses indefinite length"
-msgstr "SEQUENCE memiliki panjang tak terdefinisi"
-
-msgid "SSL/TLS Negotiation Error"
-msgstr ""
-
-msgid "See Other"
-msgstr "Lihat Lainnya"
-
-msgid "Sending data to printer."
-msgstr ""
-
-#, c-format
-msgid "Serial Port #%d"
-msgstr "Port Serial #%d"
-
-msgid "Server Restarted"
-msgstr "Server Dijalankan Ulang"
-
-msgid "Server Security Auditing"
-msgstr "Audit Sekuritas Server"
-
-msgid "Server Started"
-msgstr "Server Dijalankan"
-
-msgid "Server Stopped"
-msgstr "Server Dihentikan"
-
-msgid "Service Unavailable"
-msgstr "Layanan Tak Tersedia"
-
-msgid "Set Allowed Users"
-msgstr "Atur Pengguna yang Boleh"
-
-msgid "Set As Server Default"
-msgstr "Atur Sebagai Baku Server"
-
-msgid "Set Class Options"
-msgstr "Atur Opsi Kelas"
-
-msgid "Set Printer Options"
-msgstr "Atur Opsi Pencetak"
-
-msgid "Set Publishing"
-msgstr "Atur Penerbitan"
-
-msgid "Shipping Address"
-msgstr "Alamat Pengiriman"
-
-msgid "Shipping Address - 2 5/16 x 4\""
-msgstr "Alamat Pengiriman - 2 5/16 x 4\""
-
-msgid "Short-Edge (Landscape)"
-msgstr "Sisi-Pendek (Mendatar)"
-
-msgid "Special Paper"
-msgstr "Kertas Khusus"
-
-#, c-format
-msgid "Spooling job, %.0f%% complete."
-msgstr ""
-
-msgid "Standard"
-msgstr "Standar"
-
-#. TRANSLATORS: Banner/cover sheet before the print job.
-msgid "Starting Banner"
-msgstr "Menjalankan Pataka"
-
-#, c-format
-msgid "Starting page %d."
-msgstr ""
-
-msgid "Statement"
-msgstr "Pernyataan"
-
-msgid "Stylus Color Series"
-msgstr "Seri Stylus Color"
-
-msgid "Stylus Photo Series"
-msgstr "Seri Stylus Photo"
-
-#, c-format
-msgid "Subscription #%d does not exist."
-msgstr ""
-
-msgid "Super A"
-msgstr "Super A"
-
-msgid "Super B"
-msgstr "Super B"
-
-msgid "Super B/A3"
-msgstr "Super B/A3"
-
-msgid "Switching Protocols"
-msgstr "Berpindah Protokol"
-
-msgid "Tabloid"
-msgstr "Tabloid"
-
-msgid "Tabloid Oversize"
-msgstr ""
-
-msgid "Tabloid Oversize Long Edge"
-msgstr ""
-
-msgid "Tear"
-msgstr ""
-
-msgid "Tear-Off"
-msgstr ""
-
-msgid "Tear-Off Adjust Position"
-msgstr ""
-
-#, c-format
-msgid "The %s attribute cannot be provided with job-ids."
-msgstr ""
-
-#, c-format
-msgid "The PPD file \"%s\" could not be found."
-msgstr "Berkas PPD \"%s\" tak bisa ditemukan."
-
-#, c-format
-msgid "The PPD file \"%s\" could not be opened: %s"
-msgstr "Berkas PPD \"%s\" tak bisa dibuka: %s"
-
-msgid "The PPD file could not be opened."
-msgstr ""
-
-msgid ""
-"The class name may only contain up to 127 printable characters and may not "
-"contain spaces, slashes (/), or the pound sign (#)."
-msgstr ""
-"Nama kelas paling banyak 127 karakter cetak dan tidak mengandung spasi, "
-"garis miring (/), atau pun tanda pagar (#)."
-
-msgid "The developer unit needs to be replaced."
-msgstr ""
-
-msgid "The developer unit will need to be replaced soon."
-msgstr ""
-
-msgid "The fuser's temperature is high."
-msgstr ""
-
-msgid "The fuser's temperature is low."
-msgstr ""
-
-msgid ""
-"The notify-lease-duration attribute cannot be used with job subscriptions."
-msgstr ""
-"Atribut notify-lease-duration tak bisa digunakan bersama subskripsi tugas."
-
-#, c-format
-msgid "The notify-user-data value is too large (%d > 63 octets)."
-msgstr ""
-
-msgid "The optical photoconductor needs to be replaced."
-msgstr ""
-
-msgid "The optical photoconductor will need to be replaced soon."
-msgstr ""
-
-msgid "The output bin is almost full."
-msgstr ""
-
-msgid "The output bin is full."
-msgstr ""
-
-msgid "The output bin is missing."
-msgstr ""
-
-msgid "The page setup information was not valid."
-msgstr ""
-
-msgid "The paper tray is almost empty."
-msgstr ""
-
-msgid "The paper tray is empty."
-msgstr ""
-
-msgid "The paper tray is missing."
-msgstr ""
-
-msgid "The paper tray needs to be filled."
-msgstr ""
-
-msgid "The print file could not be opened."
-msgstr ""
-
-msgid "The printer URI is incorrect or no longer exists."
-msgstr ""
-
-msgid "The printer is busy."
-msgstr ""
-
-msgid "The printer is not connected."
-msgstr ""
-
-msgid "The printer is not responding."
-msgstr ""
-
-msgid "The printer is out of ink."
-msgstr ""
-
-msgid "The printer is running low on ink."
-msgstr ""
-
-msgid "The printer is running low on toner."
-msgstr ""
-
-msgid "The printer is unreachable at this time."
-msgstr ""
-
-msgid "The printer may be out of toner."
-msgstr ""
-
-msgid "The printer may not exist or is unavailable at this time."
-msgstr ""
-
-msgid ""
-"The printer name may only contain up to 127 printable characters and may not "
-"contain spaces, slashes (/), or the pound sign (#)."
-msgstr ""
-"Nama pencetak paling banyak 127 karakter cetak dan tidak mengandung spasi, "
-"garis miring (/), atau tanda pagar (#)."
-
-msgid "The printer or class does not exist."
-msgstr ""
-
-msgid "The printer or class is not shared."
-msgstr ""
-
-msgid "The printer's cover is open."
-msgstr ""
-
-msgid "The printer's door is open."
-msgstr ""
-
-msgid "The printer's interlock is open."
-msgstr ""
-
-msgid "The printer's waste bin is almost full."
-msgstr ""
-
-msgid "The printer's waste bin is full."
-msgstr ""
-
-#, c-format
-msgid "The printer-uri \"%s\" contains invalid characters."
-msgstr "Terdapat karakter tidak sah pada printer-uri \"%s\"."
-
-msgid "The printer-uri attribute is required."
-msgstr ""
-
-msgid ""
-"The printer-uri must be of the form \"ipp://HOSTNAME/classes/CLASSNAME\"."
-msgstr ""
-"Bentuk printer-uri seharusnya menuruti format \"ipp://HOSTNAME/classes/"
-"CLASSNAME\"."
-
-msgid ""
-"The printer-uri must be of the form \"ipp://HOSTNAME/printers/PRINTERNAME\"."
-msgstr ""
-"Bentuk printer-uri seharusnya menuruti format \"ipp://HOSTNAME/printers/"
-"PRINTERNAME\"."
-
-msgid ""
-"The subscription name may not contain spaces, slashes (/), question marks "
-"(?), or the pound sign (#)."
-msgstr ""
-"Nama subskripsi tidak bisa mengandung spasi, garis miring (/), tanda tanya "
-"(?), atau tanda pagar (#)."
-
-msgid ""
-"The web interface is currently disabled. Run \"cupsctl WebInterface=yes\" to "
-"enable it."
-msgstr ""
-
-#, c-format
-msgid "The which-jobs value \"%s\" is not supported."
-msgstr ""
-
-msgid "There are too many subscriptions."
-msgstr "Terlalu banyak subskripsi."
-
-msgid "There is a paper jam."
-msgstr ""
-
-msgid "There was an unrecoverable USB error."
-msgstr ""
-
-msgid "Thermal Transfer Media"
-msgstr ""
-
-msgid "Title: "
-msgstr "Judul: "
-
-msgid "Too many active jobs."
-msgstr "Terlalu banyak tugas yang aktif."
-
-#, c-format
-msgid "Too many job-sheets values (%d > 2)."
-msgstr ""
-
-#, c-format
-msgid "Too many printer-state-reasons values (%d > %d)."
-msgstr ""
-
-msgid "Transparency"
-msgstr "Transparansi"
-
-msgid "Tray"
-msgstr "Baki"
-
-msgid "Tray 1"
-msgstr "Baki 1"
-
-msgid "Tray 2"
-msgstr "Baki 2"
-
-msgid "Tray 3"
-msgstr "Baki 3"
-
-msgid "Tray 4"
-msgstr "Baki 4"
-
-msgid "URI Too Long"
-msgstr "URI Terlalu Panjang"
-
-msgid "US Ledger"
-msgstr "Ledger AS"
-
-msgid "US Legal"
-msgstr "Legal AS"
-
-msgid "US Legal Oversize"
-msgstr ""
-
-msgid "US Letter"
-msgstr "Kuarto AS"
-
-msgid "US Letter Long Edge"
-msgstr ""
-
-msgid "US Letter Oversize"
-msgstr ""
-
-msgid "US Letter Oversize Long Edge"
-msgstr ""
-
-msgid "US Letter Small"
-msgstr ""
-
-#, c-format
-msgid "USB Serial Port #%d"
-msgstr "Port Serial USB #%d"
-
-msgid "Unable to access cupsd.conf file:"
-msgstr "Tidak bisa mengakses berkas cupsd.conf:"
-
-msgid "Unable to add RSS subscription:"
-msgstr "Tidak bisa menambah subskripsi RSS:"
-
-msgid "Unable to add class:"
-msgstr "Tidak bisa menambah kelas:"
-
-msgid "Unable to add document to print job."
-msgstr ""
-
-#, c-format
-msgid "Unable to add job for destination \"%s\"."
-msgstr ""
-
-msgid "Unable to add printer:"
-msgstr "Tidak bisa menambah pencetak:"
-
-msgid "Unable to allocate memory for file types."
-msgstr ""
-
-msgid "Unable to allocate memory for page info"
-msgstr ""
-
-msgid "Unable to allocate memory for pages array"
-msgstr ""
-
-msgid "Unable to cancel RSS subscription:"
-msgstr "Tidak bisa membatalkan subskripsi RSS:"
-
-msgid "Unable to cancel print job."
-msgstr ""
-
-msgid "Unable to change printer-is-shared attribute:"
-msgstr "Tidak bisa mengubah atribut printer-is-shared:"
-
-msgid "Unable to change printer:"
-msgstr "Tidak bisa mengubah pencetak:"
-
-msgid "Unable to change server settings:"
-msgstr "Tidak bisa mengubah pengaturan server:"
-
-msgid "Unable to configure printer options."
-msgstr ""
-
-msgid "Unable to connect to host."
-msgstr "Tidak bisa terhubung ke host."
-
-msgid "Unable to contact printer, queuing on next printer in class."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy 64-bit CUPS printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy 64-bit Windows printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy CUPS printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy PPD file - %s"
-msgstr ""
-
-msgid "Unable to copy PPD file."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy Windows 2000 printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy Windows 9x printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy interface script - %s"
-msgstr ""
-
-msgid "Unable to copy print file"
-msgstr ""
-
-msgid "Unable to create compressed print file"
-msgstr ""
-
-msgid "Unable to create pipes for filters"
-msgstr ""
-
-msgid "Unable to create printer-uri"
-msgstr ""
-
-msgid "Unable to create temporary file"
-msgstr ""
-
-msgid "Unable to create temporary file:"
-msgstr "Tidak bisa membuat berkas temporer:"
-
-msgid "Unable to delete class:"
-msgstr "Tidak bisa menghapus kelas:"
-
-msgid "Unable to delete printer:"
-msgstr "Tidak bisa menghapus pencetak:"
-
-msgid "Unable to do maintenance command:"
-msgstr ""
-
-msgid "Unable to edit cupsd.conf files larger than 1MB"
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (certificate chain invalid)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (certificate not yet valid)."
-msgstr ""
-
-msgid "Unable to establish a secure connection to host (expired certificate)."
-msgstr ""
-
-msgid "Unable to establish a secure connection to host (host name mismatch)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (peer dropped connection "
-"before responding)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (self-signed certificate)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (untrusted certificate)."
-msgstr ""
-
-msgid "Unable to establish a secure connection to host."
-msgstr ""
-
-msgid "Unable to find destination for job"
-msgstr ""
-
-msgid "Unable to find printer."
-msgstr ""
-
-msgid "Unable to fork filter"
-msgstr ""
-
-msgid "Unable to generate compressed print file"
-msgstr ""
-
-msgid "Unable to get backend exit status."
-msgstr ""
-
-msgid "Unable to get class list:"
-msgstr "Tidak bisa memperoleh daftar kelas:"
-
-msgid "Unable to get class status:"
-msgstr "Tidak bisa memperoleh status kelas:"
-
-msgid "Unable to get list of printer drivers:"
-msgstr "Tidak bisa memperoleh daftar penggerak pencetak:"
-
-msgid "Unable to get printer attributes:"
-msgstr "Tidak bisa memperoleh atribut pencetak:"
-
-msgid "Unable to get printer list:"
-msgstr "Tidak bisa memperoleh daftar pencetak:"
-
-msgid "Unable to get printer status."
-msgstr ""
-
-msgid "Unable to get printer status:"
-msgstr "Tidak bisa memperoleh status pencetak:"
-
-#, c-format
-msgid "Unable to install Windows 2000 printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to install Windows 9x printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to locate printer \"%s\"."
-msgstr ""
-
-msgid "Unable to locate printer."
-msgstr ""
-
-msgid "Unable to modify class:"
-msgstr "Tidak bisa mengubah kelas:"
-
-msgid "Unable to modify printer:"
-msgstr "Tidak bisa mengubah pencetak"
-
-msgid "Unable to move job"
-msgstr "Tidak bisa memindahkan tugas"
-
-msgid "Unable to move jobs"
-msgstr "Tidak bisa memindahkan tugas"
-
-msgid "Unable to open PPD file"
-msgstr "Tidak bisa membuka berkas PPD"
-
-msgid "Unable to open PPD file:"
-msgstr "Tidak bisa membuka berkas PPD:"
-
-msgid "Unable to open charset file"
-msgstr ""
-
-msgid "Unable to open compressed print file"
-msgstr ""
-
-msgid "Unable to open cupsd.conf file:"
-msgstr "Tidak bisa membuka berkas cupsd.conf:"
-
-msgid "Unable to open device file"
-msgstr ""
-
-#, c-format
-msgid "Unable to open document #%d in job #%d."
-msgstr ""
-
-msgid "Unable to open print file"
-msgstr ""
-
-msgid "Unable to open psglyphs"
-msgstr ""
-
-msgid "Unable to open raster file"
-msgstr ""
-
-#, c-format
-msgid "Unable to print %d text columns."
-msgstr ""
-
-#, c-format
-msgid "Unable to print %dx%d text page."
-msgstr ""
-
-msgid "Unable to print test page:"
-msgstr "Tidak bisa mencetak halaman uji:"
-
-msgid "Unable to read print data"
-msgstr ""
-
-msgid "Unable to read print data."
-msgstr ""
-
-#, c-format
-msgid "Unable to run \"%s\": %s"
-msgstr ""
-
-msgid "Unable to see in file"
-msgstr ""
-
-msgid "Unable to send command to printer driver"
-msgstr ""
-
-msgid "Unable to send data to printer."
-msgstr ""
-
-msgid "Unable to send raster data to the driver."
-msgstr ""
-
-#, c-format
-msgid "Unable to set Windows printer driver (%d)."
-msgstr ""
-
-msgid "Unable to set options:"
-msgstr "Tidak bisa mengeset opsi:"
-
-msgid "Unable to set server default:"
-msgstr ""
-
-msgid "Unable to start backend process."
-msgstr ""
-
-msgid "Unable to upload cupsd.conf file:"
-msgstr "Tidak bisa mengunggah berkas cupsd.conf:"
-
-msgid "Unable to use legacy USB class driver."
-msgstr ""
-
-msgid "Unable to write print data"
-msgstr ""
-
-#, c-format
-msgid "Unable to write uncompressed print data: %s"
-msgstr ""
-
-msgid "Unauthorized"
-msgstr "Terlarang"
-
-msgid "Units"
-msgstr "Unit"
-
-msgid "Unknown"
-msgstr "Tak Dikenal"
-
-#, c-format
-msgid "Unknown choice \"%s\" for option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown encryption option value: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown file order: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown format character: \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown option \"%s\" with value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown print mode: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown printer-error-policy \"%s\"."
-msgstr "printer-error-policy \"%s\" tak dikenal."
-
-#, c-format
-msgid "Unknown printer-op-policy \"%s\"."
-msgstr "printer-op-policy \"%s\" tak dikenal."
-
-#, c-format
-msgid "Unknown version option value: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported baud rate: %s"
-msgstr ""
-
-#, c-format
-msgid "Unsupported brightness value %s, using brightness=100."
-msgstr ""
-
-#, c-format
-msgid "Unsupported character set \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported compression \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported document-format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported document-format \"%s/%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported gamma value %s, using gamma=1000."
-msgstr ""
-
-msgid "Unsupported margins."
-msgstr ""
-
-msgid "Unsupported media value."
-msgstr ""
-
-#, c-format
-msgid "Unsupported number-up value %d, using number-up=1."
-msgstr ""
-
-#, c-format
-msgid "Unsupported number-up-layout value %s, using number-up-layout=lrtb."
-msgstr ""
-
-#, c-format
-msgid "Unsupported page-border value %s, using page-border=none."
-msgstr ""
-
-msgid "Unsupported raster data."
-msgstr ""
-
-msgid "Unsupported value type"
-msgstr "Jenis nilai tak didukung"
-
-msgid "Upgrade Required"
-msgstr "Diperlukan Naik-Tingkat"
-
-msgid ""
-"Usage:\n"
-"\n"
-"    lpadmin [-h server] -d destination\n"
-"    lpadmin [-h server] -x destination\n"
-"    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m model]\n"
-"                       [-r remove-class] [-v device] [-D description]\n"
-"                       [-P ppd-file] [-o name=value]\n"
-"                       [-u allow:user,user] [-u deny:user,user]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job user title copies options [filename]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job-id user title copies options [file]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job-id user title copies options file"
-msgstr ""
-
-msgid "Usage: convert [ options ]"
-msgstr ""
-
-msgid "Usage: cupsaddsmb [options] printer1 ... printerN"
-msgstr ""
-
-msgid "Usage: cupsctl [options] [param=value ... paramN=valueN]"
-msgstr ""
-
-msgid "Usage: cupsd [options]"
-msgstr ""
-
-msgid "Usage: cupsfilter [ options ] filename"
-msgstr ""
-
-msgid "Usage: cupstestdsc [options] filename.ps [... filename.ps]"
-msgstr ""
-
-msgid ""
-"Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]"
-msgstr ""
-
-msgid "Usage: ipptool [options] URI filename [ ... filenameN ]"
-msgstr ""
-
-msgid "Usage: lpmove job/src dest"
-msgstr ""
-
-msgid ""
-"Usage: lpoptions [-h server] [-E] -d printer\n"
-"       lpoptions [-h server] [-E] [-p printer] -l\n"
-"       lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
-"       lpoptions [-h server] [-E] -x printer"
-msgstr ""
-
-msgid "Usage: lppasswd [-g groupname]"
-msgstr ""
-
-msgid ""
-"Usage: lppasswd [-g groupname] [username]\n"
-"       lppasswd [-g groupname] -a [username]\n"
-"       lppasswd [-g groupname] -x [username]"
-msgstr ""
-
-msgid ""
-"Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]"
-msgstr ""
-
-msgid "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]"
-msgstr ""
-
-msgid "Usage: ppdhtml [options] filename.drv >filename.html"
-msgstr ""
-
-msgid "Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]"
-msgstr ""
-
-msgid "Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]"
-msgstr ""
-
-msgid ""
-"Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]"
-msgstr ""
-
-msgid "Usage: snmp [host-or-ip-address]"
-msgstr ""
-
-msgid "Value uses indefinite length"
-msgstr "Value memiliki panjang tak terdefinisi"
-
-msgid "VarBind uses indefinite length"
-msgstr "VarBind memiliki panjang tak terdefinisi"
-
-msgid "Version uses indefinite length"
-msgstr "Version memiliki panjang tak terdefinisi"
-
-msgid "Waiting for job to complete."
-msgstr ""
-
-msgid "Waiting for printer to become available."
-msgstr ""
-
-msgid "Waiting for printer to finish."
-msgstr ""
-
-msgid "Warning, no Windows 2000 printer drivers are installed."
-msgstr ""
-
-msgid "Web Interface is Disabled"
-msgstr ""
-
-msgid "Yes"
-msgstr "Ya"
-
-#, c-format
-msgid ""
-"You must access this page using the URL <A HREF=\"https://%s:%d%s\">https://%"
-"s:%d%s</A>."
-msgstr ""
-"Anda harus mengakses halaman ini melalui URL <A HREF=\"https://%s:%d%s"
-"\">https://%s:%d%s</A>."
-
-msgid ""
-"Your password must be at least 6 characters long, cannot contain your "
-"username, and must contain at least one letter and number."
-msgstr ""
-
-msgid "ZPL Label Printer"
-msgstr "Pencetak Label ZPL"
-
-msgid "Zebra"
-msgstr "Zebra"
-
-msgid "aborted"
-msgstr "digagalkan"
-
-msgid "canceled"
-msgstr "dibatalkan"
-
-msgid "completed"
-msgstr "diselesaikan"
-
-msgid "convert: Use the -f option to specify a file to convert."
-msgstr ""
-
-msgid "cups-deviced failed to execute."
-msgstr "cups-deviced gagal dieksekusi."
-
-msgid "cups-driverd failed to execute."
-msgstr "cups-driverd gagal dieksekusi."
-
-#, c-format
-msgid "cupsaddsmb: No PPD file for printer \"%s\" - %s"
-msgstr ""
-
-msgid "cupsctl: Cannot set Listen or Port directly."
-msgstr ""
-
-#, c-format
-msgid "cupsctl: Unable to connect to server: %s"
-msgstr ""
-
-#, c-format
-msgid "cupsctl: Unknown option \"%s\""
-msgstr ""
-
-#, c-format
-msgid "cupsctl: Unknown option \"-%c\""
-msgstr ""
-
-msgid "cupsd: Expected config filename after \"-c\" option."
-msgstr ""
-
-msgid "cupsd: Unable to get current directory."
-msgstr ""
-
-#, c-format
-msgid "cupsd: Unknown argument \"%s\" - aborting."
-msgstr ""
-
-#, c-format
-msgid "cupsd: Unknown option \"%c\" - aborting."
-msgstr ""
-
-msgid "cupsd: launchd(8) support not compiled in, running in normal mode."
-msgstr ""
-
-#, c-format
-msgid "cupsfilter: Invalid document number %d."
-msgstr ""
-
-#, c-format
-msgid "cupsfilter: Invalid job ID %d."
-msgstr ""
-
-msgid "cupsfilter: Only one filename can be specified."
-msgstr ""
-
-#, c-format
-msgid "cupsfilter: Unable to get job file - %s"
-msgstr ""
-
-msgid "cupstestppd: The -q option is incompatible with the -v option."
-msgstr ""
-
-msgid "cupstestppd: The -v option is incompatible with the -q option."
-msgstr ""
-
-#, c-format
-msgid "device for %s/%s: %s"
-msgstr ""
-
-#, c-format
-msgid "device for %s: %s"
-msgstr ""
-
-msgid "error-index uses indefinite length"
-msgstr "error-index memiliki panjang tak terdefinisi"
-
-msgid "error-status uses indefinite length"
-msgstr "error-status memiliki panjang tak terdefinisi"
-
-msgid "held"
-msgstr "ditahan"
-
-msgid "help\t\tGet help on commands."
-msgstr ""
-
-msgid "idle"
-msgstr "menganggur"
-
-msgid "ipptool: \"-i\" and \"-n\" are incompatible with -X\"."
-msgstr ""
-
-msgid "ipptool: \"-i\" is incompatible with \"-X\"."
-msgstr ""
-
-msgid "ipptool: \"-n\" is incompatible with \"-X\"."
-msgstr ""
-
-#, c-format
-msgid "ipptool: Bad URI - %s."
-msgstr ""
-
-#, c-format
-msgid "ipptool: Bad version %s for \"-V\"."
-msgstr ""
-
-msgid "ipptool: Invalid seconds for \"-i\"."
-msgstr ""
-
-msgid "ipptool: May only specify a single URI."
-msgstr ""
-
-msgid "ipptool: Missing count for \"-n\"."
-msgstr ""
-
-msgid "ipptool: Missing filename for \"-f\"."
-msgstr ""
-
-msgid "ipptool: Missing name=value for \"-d\"."
-msgstr ""
-
-msgid "ipptool: Missing seconds for \"-i\"."
-msgstr ""
-
-msgid "ipptool: Missing timeout for \"-T\"."
-msgstr ""
-
-msgid "ipptool: Missing version for \"-V\"."
-msgstr ""
-
-msgid "ipptool: URI required before test file."
-msgstr ""
-
-#, c-format
-msgid "ipptool: Unknown option \"-%c\"."
-msgstr ""
-
-msgid "job-printer-uri attribute missing."
-msgstr ""
-
-msgid "lpadmin: Class name can only contain printable characters."
-msgstr ""
-
-msgid "lpadmin: Expected PPD after \"-P\" option."
-msgstr ""
-
-msgid "lpadmin: Expected allow/deny:userlist after \"-u\" option."
-msgstr ""
-
-msgid "lpadmin: Expected class after \"-r\" option."
-msgstr ""
-
-msgid "lpadmin: Expected class name after \"-c\" option."
-msgstr ""
-
-msgid "lpadmin: Expected description after \"-D\" option."
-msgstr ""
-
-msgid "lpadmin: Expected device URI after \"-v\" option."
-msgstr ""
-
-msgid "lpadmin: Expected file type(s) after \"-I\" option."
-msgstr ""
-
-msgid "lpadmin: Expected hostname after \"-h\" option."
-msgstr ""
-
-msgid "lpadmin: Expected interface after \"-i\" option."
-msgstr ""
-
-msgid "lpadmin: Expected location after \"-L\" option."
-msgstr ""
-
-msgid "lpadmin: Expected model after \"-m\" option."
-msgstr ""
-
-msgid "lpadmin: Expected name after \"-R\" option."
-msgstr ""
-
-msgid "lpadmin: Expected name=value after \"-o\" option."
-msgstr ""
-
-msgid "lpadmin: Expected printer after \"-p\" option."
-msgstr ""
-
-msgid "lpadmin: Expected printer name after \"-d\" option."
-msgstr ""
-
-msgid "lpadmin: Expected printer or class after \"-x\" option."
-msgstr ""
-
-msgid "lpadmin: No member names were seen."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Printer %s is already a member of class %s."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Printer %s is not a member of class %s."
-msgstr ""
-
-msgid "lpadmin: Printer name can only contain printable characters."
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to add a printer to the class:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unable to connect to server: %s"
-msgstr ""
-
-msgid "lpadmin: Unable to create temporary file"
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to delete option:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unable to open PPD file \"%s\" - %s"
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to remove a printer from the class:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to set the printer options:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unknown allow/deny option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unknown argument \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unknown option \"%c\"."
-msgstr ""
-
-msgid "lpadmin: Warning - content type list ignored."
-msgstr ""
-
-msgid "lpc> "
-msgstr "lpc> "
-
-msgid "lpinfo: Expected 1284 device ID string after \"--device-id\"."
-msgstr ""
-
-msgid "lpinfo: Expected language after \"--language\"."
-msgstr ""
-
-msgid "lpinfo: Expected make and model after \"--make-and-model\"."
-msgstr ""
-
-msgid "lpinfo: Expected product string after \"--product\"."
-msgstr ""
-
-msgid "lpinfo: Expected scheme list after \"--exclude-schemes\"."
-msgstr ""
-
-msgid "lpinfo: Expected scheme list after \"--include-schemes\"."
-msgstr ""
-
-msgid "lpinfo: Expected timeout after \"--timeout\"."
-msgstr ""
-
-#, c-format
-msgid "lpinfo: Unknown argument \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpinfo: Unknown option \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "lpinfo: Unknown option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpmove: Unable to connect to server: %s"
-msgstr ""
-
-#, c-format
-msgid "lpmove: Unknown argument \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpmove: Unknown option \"%c\"."
-msgstr ""
-
-msgid "lpoptions: No printers."
-msgstr ""
-
-#, c-format
-msgid "lpoptions: Unable to add printer or instance: %s"
-msgstr ""
-
-#, c-format
-msgid "lpoptions: Unable to get PPD file for %s: %s"
-msgstr ""
-
-#, c-format
-msgid "lpoptions: Unable to open PPD file for %s."
-msgstr ""
-
-msgid "lpoptions: Unknown printer or class."
-msgstr ""
-
-msgid "lppasswd: Only root can add or delete passwords."
-msgstr ""
-
-msgid "lppasswd: Password file busy."
-msgstr ""
-
-msgid "lppasswd: Password file not updated."
-msgstr ""
-
-msgid "lppasswd: Sorry, password doesn't match."
-msgstr ""
-
-msgid "lppasswd: Sorry, password rejected."
-msgstr ""
-
-msgid "lppasswd: Sorry, passwords don't match."
-msgstr ""
-
-#, c-format
-msgid "lppasswd: Unable to copy password string: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: Unable to open password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: Unable to write to password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: failed to backup old password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: failed to rename password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: user \"%s\" and group \"%s\" do not exist."
-msgstr ""
-
-#, c-format
-msgid ""
-"lpstat: error - %s environment variable names non-existent destination \"%s"
-"\"."
-msgstr ""
-
-#, c-format
-msgid "members of class %s:"
-msgstr ""
-
-msgid "no entries"
-msgstr ""
-
-msgid "no system default destination"
-msgstr ""
-
-msgid "notify-events not specified."
-msgstr ""
-
-#, c-format
-msgid "notify-recipient-uri URI \"%s\" is already used."
-msgstr ""
-
-#, c-format
-msgid "notify-recipient-uri URI \"%s\" uses unknown scheme."
-msgstr ""
-
-msgid "pending"
-msgstr "tunda"
-
-#, c-format
-msgid "ppdc: Adding include directory \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Adding/updating UI text from %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad boolean value (%s) on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad font attribute: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad resolution name \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad status keyword %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad variable substitution ($%c) on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Choice found on line %d of %s with no Option."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Duplicate #po for locale %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected a filter definition on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected a program name on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected boolean value on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected charset after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected choice code on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected choice name/text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected color order for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected colorspace for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected compression for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected constraints string for UIConstraints on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Expected driver type keyword following DriverType on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected duplex type after Duplex on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected encoding after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected filename after #po %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected group name/text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected include filename on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected integer on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected locale after #po on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after FileName on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after Manufacturer on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after MediaSize on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after ModelName on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after PCFileName on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text after Installable on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text after Resolution on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text combination for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected option name/text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected option section on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected option type on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected override field after Resolution on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected quoted string on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected real number on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Expected resolution/mediatype following ColorProfile on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Expected resolution/mediatype following SimpleColorProfile on line %d "
-"of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected selector after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected status after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected string after Copyright on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected string after Version on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected two option names on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected value after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected version after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid #include/#po filename \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid cost for filter on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid empty MIME type for filter on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid empty program name for filter on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid option section \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid option type \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Loading driver information file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Loading messages for locale \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Loading messages from \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Missing #endif at end of \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Missing #if on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Need a msgid line before any translation strings on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: No message catalog provided for locale %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Option %s defined in two different groups on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Option %s redefined with a different type on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Option constraint must *name on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Too many nested #if's on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to create PPD file \"%s\" - %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to create output directory %s: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to create output pipes: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to execute cupstestppd: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to find #po file %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to find include file \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to find localization for \"%s\" - %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to load localization file \"%s\" - %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to open %s: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Undefined variable (%s) on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unexpected text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown driver type %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown media size \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown message catalog format for \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown token \"%s\" seen on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Unknown trailing characters in real number \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unterminated string starting with %c on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Warning - overlapping filename \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Writing %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Writing PPD files to directory \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s."
-msgstr ""
-
-#, c-format
-msgid "ppdmerge: Ignoring PPD file %s."
-msgstr ""
-
-#, c-format
-msgid "ppdmerge: Unable to backup %s to %s - %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s disabled since %s -"
-msgstr ""
-
-#, c-format
-msgid "printer %s is idle.  enabled since %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s now printing %s-%d.  enabled since %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s/%s disabled since %s -"
-msgstr ""
-
-#, c-format
-msgid "printer %s/%s is idle.  enabled since %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s/%s now printing %s-%d.  enabled since %s"
-msgstr ""
-
-msgid "processing"
-msgstr "memproses"
-
-#, c-format
-msgid "request id is %s-%d (%d file(s))"
-msgstr ""
-
-msgid "request-id uses indefinite length"
-msgstr "request-id memiliki panjang tak terdefinisi"
-
-msgid "scheduler is not running"
-msgstr ""
-
-msgid "scheduler is running"
-msgstr ""
-
-#, c-format
-msgid "stat of %s failed: %s"
-msgstr "status dari %s gagal: %s"
-
-msgid "status\t\tShow status of daemon and queue."
-msgstr ""
-
-msgid "stopped"
-msgstr "dihentikan"
-
-#, c-format
-msgid "system default destination: %s"
-msgstr ""
-
-#, c-format
-msgid "system default destination: %s/%s"
-msgstr ""
-
-msgid "unknown"
-msgstr "tak dikenal"
-
-msgid "untitled"
-msgstr "tak berjudul"
-
-msgid "variable-bindings uses indefinite length"
-msgstr "variable-bindings memiliki panjang tak terdefinisi"
-
-#~ msgid "\t\t(all)\n"
-#~ msgstr "\t\t(semua)\n"
-
-#~ msgid "\t\t(none)\n"
-#~ msgstr "\t\t(nihil)\n"
-
-#~ msgid "\t%d entries\n"
-#~ msgstr "\t%d entri\n"
-
-#~ msgid "\tAfter fault: continue\n"
-#~ msgstr "\tUsai kesalahan: lanjut\n"
-
-#~ msgid "\tAlerts:"
-#~ msgstr "\tPeringatan:"
-
-#~ msgid "\tBanner required\n"
-#~ msgstr "\tBanner diperlukan\n"
-
-#~ msgid "\tCharset sets:\n"
-#~ msgstr "\tSet karakter:\n"
-
-#~ msgid "\tConnection: direct\n"
-#~ msgstr "\tKoneksi: langsung\n"
-
-#~ msgid "\tConnection: remote\n"
-#~ msgstr "\tKoneksi: jarak jauh\n"
-
-#~ msgid "\tDefault page size:\n"
-#~ msgstr "\tUkuran halaman utama:\n"
-
-#~ msgid "\tDefault pitch:\n"
-#~ msgstr "\tTiti utama:\n"
-
-#~ msgid "\tDefault port settings:\n"
-#~ msgstr "\tPengaturan port utama:\n"
-
-#~ msgid "\tDescription: %s\n"
-#~ msgstr "\tDeskripsi: %s\n"
-
-#~ msgid ""
-#~ "\tForm mounted:\n"
-#~ "\tContent types: any\n"
-#~ "\tPrinter types: unknown\n"
-#~ msgstr ""
-#~ "\tFormulir yang diakuisisi:\n"
-#~ "\tJenis isi: apa saja\n"
-#~ "\tJenis pencetak: tak dikenal\n"
-
-#~ msgid "\tForms allowed:\n"
-#~ msgstr "\tFormulir yang diperbolehkan:\n"
-
-#~ msgid "\tInterface: %s.ppd\n"
-#~ msgstr "\tAntarmuka: %s.ppd\n"
-
-#~ msgid "\tInterface: %s/interfaces/%s\n"
-#~ msgstr "\tAntarmuka: %s/interfaces/%s\n"
-
-#~ msgid "\tInterface: %s/ppd/%s.ppd\n"
-#~ msgstr "\tAntarmuka: %s/ppd/%s.ppd\n"
-
-#~ msgid "\tLocation: %s\n"
-#~ msgstr "\tLokasi: %s\n"
-
-#~ msgid "\tOn fault: no alert\n"
-#~ msgstr "\tSaat gagal: tanpa peringatan\n"
-
-#~ msgid "\tUsers allowed:\n"
-#~ msgstr "\tPengguna yang diperbolehkan:\n"
-
-#~ msgid "\tUsers denied:\n"
-#~ msgstr "\tPengguna yang dilarang:\n"
-
-#~ msgid "\tdaemon present\n"
-#~ msgstr "\tjurik hadir\n"
-
-#~ msgid "\tno entries\n"
-#~ msgstr "\ttidak ada entri\n"
-
-#~ msgid "\tprinter is on device '%s' speed -1\n"
-#~ msgstr "\tpencetak pada perangkat '%s' kecepatan -1\n"
-
-#~ msgid "\tprinting is disabled\n"
-#~ msgstr "\tproses cetak dinonaktifkan\n"
-
-#~ msgid "\tprinting is enabled\n"
-#~ msgstr "\tproses cetak diaktifkan\n"
-
-#~ msgid "\tqueued for %s\n"
-#~ msgstr "\tantrian untuk %s\n"
-
-#~ msgid "\tqueuing is disabled\n"
-#~ msgstr "\tantrian dinonaktifkan\n"
-
-#~ msgid "\tqueuing is enabled\n"
-#~ msgstr "\tantrian diaktifkan\n"
-
-#~ msgid "\treason unknown\n"
-#~ msgstr "\talasan tak dikenal\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "    DETAILED CONFORMANCE TEST RESULTS\n"
-#~ msgstr ""
-#~ "\n"
-#~ "    DETIL HASIL KECOCOKAN TES\n"
-
-#~ msgid "                REF: Page 15, section 3.1.\n"
-#~ msgstr "                REF: Halaman 15, seksi 3.1.\n"
-
-#~ msgid "                REF: Page 15, section 3.2.\n"
-#~ msgstr "                REF: Halaman 15, seksi 3.2.\n"
-
-#~ msgid "                REF: Page 19, section 3.3.\n"
-#~ msgstr "                REF: Halaman 19, seksi 3.3.\n"
-
-#~ msgid "                REF: Page 20, section 3.4.\n"
-#~ msgstr "                REF: Halaman 20, seksi 3.4.\n"
-
-#~ msgid "                REF: Page 27, section 3.5.\n"
-#~ msgstr "                REF: Halaman 27, seksi 3.5.\n"
-
-#~ msgid "                REF: Page 42, section 5.2.\n"
-#~ msgstr "                REF: Halaman 42, seksi 5.2.\n"
-
-#~ msgid "                REF: Pages 16-17, section 3.2.\n"
-#~ msgstr "                REF: Halaman 16-17, seksi 3.2.\n"
-
-#~ msgid "                REF: Pages 42-45, section 5.2.\n"
-#~ msgstr "                REF: Halaman 42-45, seksi 5.2.\n"
-
-#~ msgid "                REF: Pages 45-46, section 5.2.\n"
-#~ msgstr "                REF: Halaman 45-46, seksi 5.2.\n"
-
-#~ msgid "                REF: Pages 48-49, section 5.2.\n"
-#~ msgstr "                REF: Halaman 48-49, seksi 5.2.\n"
-
-#~ msgid "                REF: Pages 52-54, section 5.2.\n"
-#~ msgstr "                REF: Halaman 52-54, seksi 5.2.\n"
-
-#~ msgid "        %-39.39s %.0f bytes\n"
-#~ msgstr "        %-39.39s %.0f bita\n"
-
-#~ msgid "        PASS    Default%s\n"
-#~ msgstr "        PASS    Default%s\n"
-
-#~ msgid "        PASS    DefaultImageableArea\n"
-#~ msgstr "        PASS    DefaultImageableArea\n"
-
-#~ msgid "        PASS    DefaultPaperDimension\n"
-#~ msgstr "        PASS    DefaultPaperDimension\n"
-
-#~ msgid "        PASS    FileVersion\n"
-#~ msgstr "        PASS    FileVersion\n"
-
-#~ msgid "        PASS    FormatVersion\n"
-#~ msgstr "        PASS    FormatVersion\n"
-
-#~ msgid "        PASS    LanguageEncoding\n"
-#~ msgstr "        PASS    LanguageEncoding\n"
-
-#~ msgid "        PASS    LanguageVersion\n"
-#~ msgstr "        PASS    LanguageVersion\n"
-
-#~ msgid "        PASS    Manufacturer\n"
-#~ msgstr "        PASS    Manufacturer\n"
-
-#~ msgid "        PASS    ModelName\n"
-#~ msgstr "        PASS    ModelName\n"
-
-#~ msgid "        PASS    NickName\n"
-#~ msgstr "        PASS    NickName\n"
-
-#~ msgid "        PASS    PCFileName\n"
-#~ msgstr "        PASS    PCFileName\n"
-
-#~ msgid "        PASS    PSVersion\n"
-#~ msgstr "        PASS    PSVersion\n"
-
-#~ msgid "        PASS    PageRegion\n"
-#~ msgstr "        PASS    PageRegion\n"
-
-#~ msgid "        PASS    PageSize\n"
-#~ msgstr "        PASS    PageSize\n"
-
-#~ msgid "        PASS    Product\n"
-#~ msgstr "        PASS    Product\n"
-
-#~ msgid "        PASS    ShortNickName\n"
-#~ msgstr "        PASS    ShortNickName\n"
-
-#~ msgid ""
-#~ "        WARN    \"%s %s\" conflicts with \"%s %s\"\n"
-#~ "                (constraint=\"%s %s %s %s\")\n"
-#~ msgstr ""
-#~ "        WARN    \"%s %s\" konflik dengan \"%s %s\"\n"
-#~ "                (constraint=\"%s %s %s %s\")\n"
-
-#~ msgid "        WARN    %s has no corresponding options!\n"
-#~ msgstr "        WARN    %s tidak memiliki opsi yang berkorespondensi!\n"
-
-#~ msgid ""
-#~ "        WARN    %s shares a common prefix with %s\n"
-#~ "                REF: Page 15, section 3.2.\n"
-#~ msgstr ""
-#~ "        WARN    %s berbagi prefiks umum dengan %s\n"
-#~ "                REF: Halaman 15, seksi 3.2.\n"
-
-#~ msgid "        WARN    Default choices conflicting!\n"
-#~ msgstr "        WARN    Pilihan utama mengalam konflik!\n"
-
-#~ msgid ""
-#~ "        WARN    Duplex option keyword %s may not work as expected and "
-#~ "should be named Duplex!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "        WARN    Opsi kata kunci Duplex %s mungkin tidak bekerja seperti "
-#~ "yang diharapkan dan seharusnya dinamai Duplex!\n"
-#~ "                REF: Halaman 122, seksi 5.17\n"
-
-#~ msgid ""
-#~ "        WARN    File contains a mix of CR, LF, and CR LF line endings!\n"
-#~ msgstr ""
-#~ "        WARN    Berkas memiliki campuran CR, LF, dan CR LF pada akhir "
-#~ "baris!\n"
-
-#~ msgid ""
-#~ "        WARN    LanguageEncoding required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 56-57, section 5.3.\n"
-#~ msgstr ""
-#~ "        WARN    LanguageEncoding diperlukan oleh spesifikasi PPD 4.3.\n"
-#~ "                REF: Halaman 56-57, seksi 5.3.\n"
-
-#~ msgid "        WARN    Line %d only contains whitespace!\n"
-#~ msgstr "        WARN    Baris %d hanya mengandung spasi!\n"
-
-#~ msgid ""
-#~ "        WARN    Manufacturer required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 58-59, section 5.3.\n"
-#~ msgstr ""
-#~ "        WARN    Manufacturer diperlukan oleh spesifikasi PPD 4.3.\n"
-#~ "                REF: Halaman 58-59, seksi 5.3.\n"
-
-#~ msgid ""
-#~ "        WARN    Non-Windows PPD files should use lines ending with only "
-#~ "LF, not CR LF!\n"
-#~ msgstr ""
-#~ "        WARN    Berkas PPD non-Windows seharusnya hanya berakhir baris "
-#~ "LF, bukan CR LF!\n"
-
-#~ msgid ""
-#~ "        WARN    Obsolete PPD version %.1f!\n"
-#~ "                REF: Page 42, section 5.2.\n"
-#~ msgstr ""
-#~ "        WARN    PPD versi %.1f telah usang!\n"
-#~ "                REF: Halaman 42, seksi 5.2.\n"
-
-#~ msgid ""
-#~ "        WARN    PCFileName longer than 8.3 in violation of PPD spec.\n"
-#~ "                REF: Pages 61-62, section 5.3.\n"
-#~ msgstr ""
-#~ "        WARN    PCFileName lebih panjang dari 8.3 melanggar spesifikasi "
-#~ "PPD.\n"
-#~ "                REF: Halaman 61-62, seksi 5.3.\n"
-
-#~ msgid ""
-#~ "        WARN    Protocols contains PJL but JCL attributes are not set.\n"
-#~ "                REF: Pages 78-79, section 5.7.\n"
-#~ msgstr ""
-#~ "        WARN    Protocols mengandung PJL tetapi atribut JCL tidak diset.\n"
-#~ "                REF: Halaman 78-79, seksi 5.7.\n"
-
-#~ msgid ""
-#~ "        WARN    Protocols contains both PJL and BCP; expected TBCP.\n"
-#~ "                REF: Pages 78-79, section 5.7.\n"
-#~ msgstr ""
-#~ "        WARN    Protocols mengandung PJL dan BCP; diharapkan TBCP.\n"
-#~ "                REF: Halaman 78-79, seksi 5.7.\n"
-
-#~ msgid ""
-#~ "        WARN    ShortNickName required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "        WARN    ShortNickName diperlukan oleh spesifikasi PPD 4.3.\n"
-#~ "                REF: Halaman 64-65, seksi 5.3.\n"
-
-#~ msgid "      %s  %s %s does not exist!\n"
-#~ msgstr "      %s  %s %s tidak ada!\n"
-
-#~ msgid "      %s  %s file \"%s\" has the wrong capitalization!\n"
-#~ msgstr "      %s  %s berkas \"%s\" memiliki kapitalisasi yang salah!\n"
-
-#~ msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s!\n"
-#~ msgstr "      %s  UTF-8 jelek \"%s\" string translasi untuk opsi %s!\n"
-
-#~ msgid ""
-#~ "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s!\n"
-#~ msgstr ""
-#~ "      %s  UTF-8 jelek \"%s\" string translasi untuk opsi %s, pilihan %s!\n"
-
-#~ msgid "      %s  Bad cupsFilter value \"%s\"!\n"
-#~ msgstr "      %s  Nilai cupsFilter jelek \"%s\"!\n"
-
-#~ msgid "      %s  Bad cupsICCProfile %s!\n"
-#~ msgstr "      %s  cupsICCProfile jelek \"%s\"!\n"
-
-#~ msgid "      %s  Bad cupsPreFilter value \"%s\"!\n"
-#~ msgstr "      %s  Nilai cupsPreFilter jelek \"%s\"!\n"
-
-#~ msgid "      %s  Bad cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr "      %s  cupsUIConstraints jelek %s: \"%s\"!\n"
-
-#~ msgid "      %s  Bad language \"%s\"!\n"
-#~ msgstr "      %s  Bahasa jelek \"%s\"!\n"
-
-#~ msgid "      %s  Bad spelling of %s - should be %s!\n"
-#~ msgstr "      %s  Ejaan dari %s jelek - seharusnya %s!\n"
-
-#~ msgid "      %s  Cannot provide both APScanAppPath and APScanAppBundleID!\n"
-#~ msgstr ""
-#~ "      %s  Tidak dapat menyediakan APScanAppPath dan APScanAppBundleID!\n"
-
-#~ msgid "      %s  Empty cupsUIConstraints %s!\n"
-#~ msgstr "      %s  cupsUIConstraints %s kosong!\n"
-
-#~ msgid "      %s  Missing \"%s\" translation string for option %s!\n"
-#~ msgstr "      %s  Kehilangan \"%s\" string translasi untuk opsi %s!\n"
-
-#~ msgid ""
-#~ "      %s  Missing \"%s\" translation string for option %s, choice %s!\n"
-#~ msgstr ""
-#~ "      %s  Kehilangan \"%s\" string translasi untuk opsi %s, pilihan %s!\n"
-
-#~ msgid "      %s  Missing APDialogExtension file \"%s\"\n"
-#~ msgstr "      %s  Kehilangan berkas APDialogExtension \"%s\"\n"
-
-#~ msgid "      %s  Missing APPrinterIconPath file \"%s\"\n"
-#~ msgstr "      %s  Kehilangan berkas APPrinterIconPath \"%s\"\n"
-
-#~ msgid "      %s  Missing APPrinterLowInkTool file \"%s\"\n"
-#~ msgstr "      %s  Kehilangan berkas APPrinterLowInkTool \"%s\"\n"
-
-#~ msgid "      %s  Missing APPrinterUtilityPath file \"%s\"\n"
-#~ msgstr "      %s  Kehilangan berkas APPrinterUtilityPath \"%s\"\n"
-
-#~ msgid "      %s  Missing APScanAppPath file \"%s\"\n"
-#~ msgstr "      %s  Kehilangan berkas APScanAppPath \"%s\"\n"
-
-#~ msgid ""
-#~ "      %s  Missing REQUIRED PageRegion option!\n"
-#~ "                REF: Page 100, section 5.14.\n"
-#~ msgstr ""
-#~ "      %s  Kehilangan opsi PageRegion yang DIPERLUKAN!\n"
-#~ "                REF: Halaman 100, seksi 5.14.\n"
-
-#~ msgid ""
-#~ "      %s  Missing REQUIRED PageSize option!\n"
-#~ "                REF: Page 99, section 5.14.\n"
-#~ msgstr ""
-#~ "      %s  Kehilangan opsi PageSize yang DIPERLUKAN!\n"
-#~ "                REF: Halaman 99, seksi 5.14.\n"
-
-#~ msgid ""
-#~ "      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"!\n"
-#~ msgstr ""
-#~ "      %s  Kehilangan pilihan *%s %s dalam UIConstraints \"*%s %s *%s %s"
-#~ "\"!\n"
-
-#~ msgid "      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr ""
-#~ "      %s  Kehilangan pilihan *%s %s dalam cupsUIConstraints %s: \"%s\"!\n"
-
-#~ msgid "      %s  Missing cupsFilter file \"%s\"\n"
-#~ msgstr "      %s  Kehilangan berkas cupsFilter \"%s\"\n"
-
-#~ msgid "      %s  Missing cupsICCProfile file \"%s\"!\n"
-#~ msgstr "      %s  Kehilangan berkas cupsICCProfile \"%s\"!\n"
-
-#~ msgid "      %s  Missing cupsPreFilter file \"%s\"\n"
-#~ msgstr "      %s  Kehilangan berkas cupsPreFilter \"%s\"\n"
-
-#~ msgid "      %s  Missing cupsUIResolver %s!\n"
-#~ msgstr "      %s  Kehilangan cupsUIResolver %s!\n"
-
-#~ msgid "      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\"!\n"
-#~ msgstr ""
-#~ "      %s  Kehilangan opsi %s dalam UIConstraints \"*%s %s *%s %s\"!\n"
-
-#~ msgid "      %s  Missing option %s in cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr "      %s  Kehilangan opsi %s dalam cupsUIConstraints %s: \"%s\"!\n"
-
-#~ msgid "      %s  No base translation \"%s\" is included in file!\n"
-#~ msgstr ""
-#~ "      %s  Tidak ada basis translasi \"%s\" yang disertakan pada berkas!\n"
-
-#~ msgid ""
-#~ "      %s  Non-standard size name \"%s\"!\n"
-#~ "                REF: Page 187, section B.2.\n"
-#~ msgstr ""
-#~ "      %s  Nama ukuran nonstandar \"%s\"!\n"
-#~ "                REF: Halaman 187, seksi B.2.\n"
-
-#~ msgid "      %s  Size \"%s\" defined for %s but not for %s!\n"
-#~ msgstr "      %s  Ukuran \"%s\" ditentukan untuk %s bukan untuk %s!\n"
-
-#~ msgid "      %s  Size \"%s\" has unexpected dimensions (%gx%g)!\n"
-#~ msgstr ""
-#~ "      %s  Ukuran \"%s\" memiliki dimensi yang tak diharapkan (%gx%g)!\n"
-
-#~ msgid ""
-#~ "      %s  cupsUIResolver %s does not list at least two different "
-#~ "options!\n"
-#~ msgstr ""
-#~ "      %s  cupsUIResolver %s tidak menyediakan setidaknya dua opsi "
-#~ "berbeda!\n"
-
-#~ msgid "      **FAIL**  %s choice names %s and %s differ only by case!\n"
-#~ msgstr ""
-#~ "      **FAIL**  %s nama yang dipilih %s dan %s berbeda hanya pada besar/"
-#~ "kecilnya huruf!\n"
-
-#~ msgid ""
-#~ "      **FAIL**  %s must be 1284DeviceID!\n"
-#~ "               REF: Page 72, section 5.5\n"
-#~ msgstr ""
-#~ "      **FAIL**  %s seharusnya 1284DeviceID!\n"
-#~ "                REF: Halaman 72, seksi 5.5\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Default%s %s\n"
-#~ "                REF: Page 40, section 4.5.\n"
-#~ msgstr ""
-#~ "      **FAIL**  Default%s %s JELEK\n"
-#~ "                REF: Halaman 40, seksi 4.5.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD DefaultImageableArea %s!\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  DefaultImageableArea %s JELEK!\n"
-#~ "                REF: Halaman 102, seksi 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD DefaultPaperDimension %s!\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  DefaultPaperDimension %s JELEK!\n"
-#~ "                REF: Halaman 103, seksi 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD JobPatchFile attribute in file\n"
-#~ "                REF: Page 24, section 3.4.\n"
-#~ msgstr ""
-#~ "      **FAIL**  Atribut JobPatchFile JELEK dalam berkas\n"
-#~ "                REF: Halaman 24, seksi 3.4.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Manufacturer (should be \"HP\")\n"
-#~ "                REF: Page 211, table D.1.\n"
-#~ msgstr ""
-#~ "      **FAIL**  Manufacturer JELEK (seharusnya \"HP\")\n"
-#~ "                REF: Halaman 211, tabel D.1.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Manufacturer (should be \"Oki\")\n"
-#~ "                REF: Page 211, table D.1.\n"
-#~ msgstr ""
-#~ "      **FAIL**  Manufacturer JELEK (seharusnya \"Oki\")\n"
-#~ "                REF: Halaman 211, tabel D.1.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n"
-#~ "                REF: Pages 59-60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  ModelName JELEK - \"%c\" tidak diperbolehkan dalam "
-#~ "string.\n"
-#~ "                REF: Halaman 59-60, seksi 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD PSVersion - not \"(string) int\".\n"
-#~ "                REF: Pages 62-64, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  PSVersion JELEK - bukan \"(string) int\".\n"
-#~ "                REF: Halaman 62-64, seksi 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Product - not \"(string)\".\n"
-#~ "                REF: Page 62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  Product JELEK - bukan \"(string)\".\n"
-#~ "                REF: Halaman 62, seksi 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD ShortNickName - longer than 31 chars.\n"
-#~ "                REF: Pages 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  ShortNickName JELEK - lebih dari 31 karakter.\n"
-#~ "                REF: Halaman 64-65, seksi 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad FileVersion \"%s\"\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  FileVersion \"%s\" jelek\n"
-#~ "                REF: Halaman 56, seksi 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad FormatVersion \"%s\"\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  FormatVersion \"%s\" jelek\n"
-#~ "                REF: Halaman 56, seksi 5.3.\n"
-
-#~ msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1!\n"
-#~ msgstr "      **FAIL**  LanguageEncoding %s jelek - seharusnya ISOLatin1!\n"
-
-#~ msgid "      **FAIL**  Bad LanguageVersion %s - must be English!\n"
-#~ msgstr "      **FAIL**  LanguageVersion %s jelek - seharusnya English!\n"
-
-#~ msgid "      **FAIL**  Default option code cannot be interpreted: %s\n"
-#~ msgstr "      **FAIL**  Kode opsi utama tidak bisa diinterpretasikan: %s\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Default translation string for option %s choice %s "
-#~ "contains 8-bit characters!\n"
-#~ msgstr ""
-#~ "      **FAIL**  String translasi utama untuk opsi %s pilihan %s "
-#~ "mengandung karakter 8-bit!\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Default translation string for option %s contains 8-bit "
-#~ "characters!\n"
-#~ msgstr ""
-#~ "      **FAIL**  String translasi utama untuk opsi %s mengandung karakter "
-#~ "8-bit!\n"
-
-#~ msgid "      **FAIL**  Group names %s and %s differ only by case!\n"
-#~ msgstr ""
-#~ "      **FAIL**  Nama kelompok %s dan %s berbeda hanya besar/kecilnya "
-#~ "huruf!\n"
-
-#~ msgid "      **FAIL**  Multiple occurrences of %s choice name %s!\n"
-#~ msgstr "      **FAIL**  Terjadi ganda dari %s nama yang dipilih %s!\n"
-
-#~ msgid "      **FAIL**  Option names %s and %s differ only by case!\n"
-#~ msgstr ""
-#~ "      **FAIL**  Nama opsi %s dan %s berbeda hanya besar/kecilnya huruf!\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Default%s\n"
-#~ "                REF: Page 40, section 4.5.\n"
-#~ msgstr ""
-#~ "      **FAIL**  DIPERLUKAN Default%s\n"
-#~ "                REF: Halaman 40, seksi 4.5.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED DefaultImageableArea\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  DIPERLUKAN DefaultImageableArea\n"
-#~ "                REF: Halaman 102, seksi 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED DefaultPaperDimension\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  DIPERLUKAN DefaultPaperDimension\n"
-#~ "                REF: Halaman 103, seksi 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED FileVersion\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  DIPERLUKAN FileVersion\n"
-#~ "                REF: Halaman 56, seksi 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED FormatVersion\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  DIPERLUKAN FormatVersion\n"
-#~ "                REF: Halaman 56, seksi 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ImageableArea for PageSize %s\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  DIPERLUKAN ImageableArea untuk PageSize %s\n"
-#~ "                REF: Halaman 41, seksi 5.\n"
-#~ "                REF: Halaman 102, seksi 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED LanguageEncoding\n"
-#~ "                REF: Pages 56-57, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  DIPERLUKAN LanguageEncoding\n"
-#~ "                REF: Halaman 56-57, seksi 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED LanguageVersion\n"
-#~ "                REF: Pages 57-58, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  DIPERLUKAN LanguageVersion\n"
-#~ "                REF: Halaman 57-58, seksi 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Manufacturer\n"
-#~ "                REF: Pages 58-59, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  DIPERLUKAN Manufacturer\n"
-#~ "                REF: Halaman 58-59, seksi 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ModelName\n"
-#~ "                REF: Pages 59-60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  DIPERLUKAN ModelName\n"
-#~ "                REF: Halaman 59-60, seksi 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED NickName\n"
-#~ "                REF: Page 60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  DIPERLUKAN NickName\n"
-#~ "                REF: Halaman 60, seksi 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PCFileName\n"
-#~ "                REF: Pages 61-62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  DIPERLUKAN PCFileName\n"
-#~ "                REF: Halaman 61-62, seksi 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PSVersion\n"
-#~ "                REF: Pages 62-64, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  DIPERLUKAN PSVersion\n"
-#~ "                REF: Halaman 62-64, seksi 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageRegion\n"
-#~ "                REF: Page 100, section 5.14.\n"
-#~ msgstr ""
-#~ "      **FAIL**  DIPERLUKAN PageRegion\n"
-#~ "                REF: Halaman 100, seksi 5.14.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageSize\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 99, section 5.14.\n"
-#~ msgstr ""
-#~ "      **FAIL**  DIPERLUKAN PageSize\n"
-#~ "                REF: Halaman 41, seksi 5.\n"
-#~ "                REF: Halaman 99, seksi 5.14.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageSize\n"
-#~ "                REF: Pages 99-100, section 5.14.\n"
-#~ msgstr ""
-#~ "      **FAIL**  DIPERLUKAN PageSize\n"
-#~ "                REF: Halaman 99-100, seksi 5.14.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PaperDimension for PageSize %s\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  DIPERLUKAN PaperDimension untuk PageSize %s\n"
-#~ "                REF: Halaman 41, seksi 5.\n"
-#~ "                REF: Halaman 103, seksi 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Product\n"
-#~ "                REF: Page 62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  DIPERLUKAN Product\n"
-#~ "                REF: Halaman 62, seksi 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ShortNickName\n"
-#~ "                REF: Page 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  DIPERLUKAN ShortNickName\n"
-#~ "                REF: Halaman 64-65, seksi 5.3.\n"
-
-#~ msgid "    %d ERRORS FOUND\n"
-#~ msgstr "    %d KESALAHAN DITEMUKAN\n"
-
-#~ msgid ""
-#~ "    Bad %%%%BoundingBox: on line %d!\n"
-#~ "        REF: Page 39, %%%%BoundingBox:\n"
-#~ msgstr ""
-#~ "    %%%%BoundingBox jelek: pada baris %d!\n"
-#~ "        REF: Halaman 39, %%%%BoundingBox:\n"
-
-#~ msgid ""
-#~ "    Line %d is longer than 255 characters (%d)!\n"
-#~ "        REF: Page 25, Line Length\n"
-#~ msgstr ""
-#~ "    Baris %d lebih dari 255 karakter (%d)!\n"
-#~ "        REF: Halaman 25, Line Length (Panjang Baris)\n"
-
-#~ msgid ""
-#~ "    Missing %!PS-Adobe-3.0 on first line!\n"
-#~ "        REF: Page 17, 3.1 Conforming Documents\n"
-#~ msgstr ""
-#~ "    Kehilangan %!PS-Adobe-3.0 pada baris pertama!\n"
-#~ "        REF: Halaman 17, 3.1 Conforming Documents (Menyesuaikan Dokumen)\n"
-
-#~ msgid ""
-#~ "    Missing %%EndComments comment!\n"
-#~ "        REF: Page 41, %%EndComments\n"
-#~ msgstr ""
-#~ "    Kehilangan komentar %%EndComments!\n"
-#~ "        REF: Halaman 41, %%EndComments\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%BoundingBox: comment!\n"
-#~ "        REF: Page 39, %%BoundingBox:\n"
-#~ msgstr ""
-#~ "    Kehilangan atau %%BoundingBox jelek: komentar!\n"
-#~ "        REF: Halaman 39, %%BoundingBox:\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%Page: comments!\n"
-#~ "        REF: Page 53, %%Page:\n"
-#~ msgstr ""
-#~ "    Kehilangan atau %%Page jelek: komentar!\n"
-#~ "        REF: Halaman 53, %%Page:\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%Pages: comment!\n"
-#~ "        REF: Page 43, %%Pages:\n"
-#~ msgstr ""
-#~ "    Kehilangan atau %%Pages jelek: komentar!\n"
-#~ "        REF: Halaman 43, %%Pages:\n"
-
-#~ msgid "    NO ERRORS FOUND\n"
-#~ msgstr "    TIDAK ADA KESALAHAN\n"
-
-#~ msgid "    Saw %d lines that exceeded 255 characters!\n"
-#~ msgstr "    Menemukan %d baris yang melebihi 255 karakter!\n"
-
-#~ msgid "    Too many %%BeginDocument comments!\n"
-#~ msgstr "    Terlalu banyak komentar %%BeginDocument!\n"
-
-#~ msgid "    Too many %%EndDocument comments!\n"
-#~ msgstr "    Terlalu banyak komentar %%EndDocument!\n"
-
-#~ msgid "    Warning: file contains binary data!\n"
-#~ msgstr "    Peringatan: berkas mengandung data biner!\n"
-
-#~ msgid "    Warning: no %%EndComments comment in file!\n"
-#~ msgstr "    Peringatan: tidak ada komentar %%EndComments dalam berkas!\n"
-
-#~ msgid "    Warning: obsolete DSC version %.1f in file!\n"
-#~ msgstr "    Peringatan: DSC usang versi %.1f dalam berkas!\n"
-
-#~ msgid " FAIL\n"
-#~ msgstr " GAGAL\n"
-
-#~ msgid ""
-#~ " FAIL\n"
-#~ "      **FAIL**  Unable to open PPD file - %s\n"
-#~ msgstr ""
-#~ " GAGAL\n"
-#~ "      **FAIL**  Tidak bisa membuka berkas PPD - %s\n"
-
-#~ msgid ""
-#~ " FAIL\n"
-#~ "      **FAIL**  Unable to open PPD file - %s on line %d.\n"
-#~ msgstr ""
-#~ " GAGAL\n"
-#~ "      **FAIL**  Tidak bisa membuka berkas PPD - %s pada baris %d.\n"
-
-#~ msgid " PASS\n"
-#~ msgstr " LEWAT\n"
-
-#~ msgid "#10 Envelope"
-#~ msgstr "#10 Amplop"
-
-#~ msgid "#11 Envelope"
-#~ msgstr "#11 Amplop"
-
-#~ msgid "#12 Envelope"
-#~ msgstr "#12 Amplop"
-
-#~ msgid "#14 Envelope"
-#~ msgstr "#14 Amplop"
-
-#~ msgid "#9 Envelope"
-#~ msgstr "#9 Amplop"
-
-#~ msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes\n"
-#~ msgstr "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bita\n"
-
-#~ msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes\n"
-#~ msgstr "%-7s %-7.7s %-7d %-31.31s %.0f bita\n"
-
-#~ msgid "%s accepting requests since %s\n"
-#~ msgstr "%s menerima permintaan sejak %s\n"
-
-#~ msgid "%s is not implemented by the CUPS version of lpc.\n"
-#~ msgstr "%s tidak diimplementasikan oleh versi lpc CUPS.\n"
-
-#~ msgid "%s is not ready\n"
-#~ msgstr "%s tidak siap\n"
-
-#~ msgid "%s is ready\n"
-#~ msgstr "%s siap\n"
-
-#~ msgid "%s is ready and printing\n"
-#~ msgstr "%s siap dan sedang mencetak\n"
-
-#~ msgid ""
-#~ "%s not accepting requests since %s -\n"
-#~ "\t%s\n"
-#~ msgstr ""
-#~ "%s tidak menerima permintaan sejak %s -\n"
-#~ "\t%s\n"
-
-#~ msgid "%s not supported!"
-#~ msgstr "%s tidak didukung!"
-
-#~ msgid "%s/%s accepting requests since %s\n"
-#~ msgstr "%s/%s menerima permintaan sejak %s\n"
-
-#~ msgid ""
-#~ "%s/%s not accepting requests since %s -\n"
-#~ "\t%s\n"
-#~ msgstr ""
-#~ "%s/%s tidak menerima permintaan sejak %s -\n"
-#~ "\t%s\n"
-
-#~ msgid "%s: %-33.33s [job %d localhost]\n"
-#~ msgstr "%s: %-33.33s [tugas %d localhost]\n"
-
-#~ msgid "%s: %s failed: %s\n"
-#~ msgstr "%s: %s gagal: %s\n"
-
-#~ msgid "%s: Don't know what to do!\n"
-#~ msgstr "%s: Tidak tahu apa yang hendak dikerjakan!\n"
-
-#~ msgid ""
-#~ "%s: Error - %s environment variable names non-existent destination \"%s"
-#~ "\"!\n"
-#~ msgstr ""
-#~ "%s: Kesalahan - Nama variabel lingkungan %s sebenarnya tidak ada \"%s\"!\n"
-
-#~ msgid "%s: Error - bad job ID!\n"
-#~ msgstr "%s: Kesalahan - ID tugas jelek!\n"
-
-#~ msgid "%s: Error - cannot print files and alter jobs simultaneously!\n"
-#~ msgstr ""
-#~ "%s: Kesalahan - tidak bisa mencetak dan mengubah tugas secara bersamaan!\n"
-
-#~ msgid ""
-#~ "%s: Error - cannot print from stdin if files or a job ID are provided!\n"
-#~ msgstr ""
-#~ "%s: Kesalahan - tidak bisa mencetak dari stdin apabila berkas atau ID "
-#~ "tugas disediakan!\n"
-
-#~ msgid "%s: Error - expected character set after '-S' option!\n"
-#~ msgstr "%s: Kesalahan - diharapkan set karakter usai opsi '-S'!\n"
-
-#~ msgid "%s: Error - expected content type after '-T' option!\n"
-#~ msgstr "%s: Kesalahan - diharapkan jenis konten usai opsi '-T'!\n"
-
-#~ msgid "%s: Error - expected copies after '-n' option!\n"
-#~ msgstr "%s: Kesalahan - diharapkan banyaknya rangkap usai opsi '-n'!\n"
-
-#~ msgid "%s: Error - expected copy count after '-#' option!\n"
-#~ msgstr ""
-#~ "%s: Kesalahan - diharapkan banyak hitungan rangkap usai opsi '-#'!\n"
-
-#~ msgid "%s: Error - expected destination after '-P' option!\n"
-#~ msgstr "%s: Kesalahan - diharapkan target usai opsi '-P'!\n"
-
-#~ msgid "%s: Error - expected destination after '-b' option!\n"
-#~ msgstr "%s: Kesalahan - diharapkan target usai opsi '-b'!\n"
-
-#~ msgid "%s: Error - expected destination after '-d' option!\n"
-#~ msgstr "%s: Kesalahan - diharapkan target usai opsi '-d'!\n"
-
-#~ msgid "%s: Error - expected form after '-f' option!\n"
-#~ msgstr "%s: Kesalahan - diharapkan formulir usai opsi '-f'!\n"
-
-#~ msgid "%s: Error - expected hold name after '-H' option!\n"
-#~ msgstr "%s: Kesalahan - diharapkan nama yang ditahan usai opsi '-H'!\n"
-
-#~ msgid "%s: Error - expected hostname after '-H' option!\n"
-#~ msgstr "%s: Kesalahan - diharapkan nama host usai opsi '-H'!\n"
-
-#~ msgid "%s: Error - expected hostname after '-h' option!\n"
-#~ msgstr "%s: Kesalahan - diharapkan nama host usai opsi '-h'!\n"
-
-#~ msgid "%s: Error - expected mode list after '-y' option!\n"
-#~ msgstr "%s: Kesalahan - diharapkan daftar modus usai opsi '-y'!\n"
-
-#~ msgid "%s: Error - expected name after '-%c' option!\n"
-#~ msgstr "%s: Kesalahan - diharapkan nama usai opsi '-%c'!\n"
-
-#~ msgid "%s: Error - expected option string after '-o' option!\n"
-#~ msgstr "%s: Kesalahan - diharapkan opsi string usai opsi '-o'!\n"
-
-#~ msgid "%s: Error - expected page list after '-P' option!\n"
-#~ msgstr "%s: Kesalahan - diharapkan daftar halaman usai opsi '-P'!\n"
-
-#~ msgid "%s: Error - expected priority after '-%c' option!\n"
-#~ msgstr "%s: Kesalahan - diharapkan prioritas usai opsi '-%c'!\n"
-
-#~ msgid "%s: Error - expected reason text after '-r' option!\n"
-#~ msgstr "%s: Kesalahan - diharapkan teks alasan usai opsi '-r'!\n"
-
-#~ msgid "%s: Error - expected title after '-t' option!\n"
-#~ msgstr "%s: Kesalahan - diharapkan judul usai opsi '-t'!\n"
-
-#~ msgid "%s: Error - expected username after '-U' option!\n"
-#~ msgstr "%s: Kesalahan - diharapkan nama pengguna usai opsi '-U'!\n"
-
-#~ msgid "%s: Error - expected username after '-u' option!\n"
-#~ msgstr "%s: Kesalahan - diharapkan nama pengguna usai opsi '-u'!\n"
-
-#~ msgid "%s: Error - expected value after '-%c' option!\n"
-#~ msgstr "%s: Kesalahan - diharapkan nilai usai opsi '-%c'!\n"
-
-#~ msgid ""
-#~ "%s: Error - need \"completed\", \"not-completed\", or \"all\" after '-W' "
-#~ "option!\n"
-#~ msgstr ""
-#~ "%s: Kesalahan - diperlukan \"completed\", \"not-completed\", atau \"all\" "
-#~ "usai opsi '-W'!\n"
-
-#~ msgid "%s: Error - no default destination available.\n"
-#~ msgstr "%s: Kesalahan - tidak tersedia tujuan utama.\n"
-
-#~ msgid "%s: Error - priority must be between 1 and 100.\n"
-#~ msgstr "%s: Kesalahan - prioritas harus antara 1 dan 100.\n"
-
-#~ msgid "%s: Error - scheduler not responding!\n"
-#~ msgstr "%s: Kesalahan - penjadwal tidak merespon!\n"
-
-#~ msgid "%s: Error - too many files - \"%s\"\n"
-#~ msgstr "%s: Kesalahan - terlalu banyak berkas - \"%s\"\n"
-
-#~ msgid "%s: Error - unable to access \"%s\" - %s\n"
-#~ msgstr "%s: Kesalahan - tidak bisa mengakses \"%s\" - %s\n"
-
-#~ msgid "%s: Error - unknown destination \"%s\"!\n"
-#~ msgstr "%s: Kesalahan - tujuan tak dikenal \"%s\"!\n"
-
-#~ msgid "%s: Error - unknown destination \"%s/%s\"!\n"
-#~ msgstr "%s: Kesalahan - tujuan tak dikenal \"%s/%s\"!\n"
-
-#~ msgid "%s: Error - unknown option '%c'!\n"
-#~ msgstr "%s: Kesalahan - opsi tak dikenal '%c'!\n"
-
-#~ msgid "%s: Error - unknown option '%s'!\n"
-#~ msgstr "%s: Kesalahan - opsi '%s' tak dikenal!\n"
-
-#~ msgid "%s: Expected job ID after '-i' option!\n"
-#~ msgstr "%s: Diharapkan ID tugas usai opsi '-i'!\n"
-
-#~ msgid "%s: Filter \"%s\" not available: %s\n"
-#~ msgstr "%s: Penyaring \"%s\" tak tersedia: %s\n"
-
-#~ msgid "%s: Invalid destination name in list \"%s\"!\n"
-#~ msgstr "%s: Nama tujuan tidak sah pada daftar \"%s\"!\n"
-
-#~ msgid "%s: Invalid filter string \"%s\"\n"
-#~ msgstr "%s: String penyaring \"%s\" tidak sah\n"
-
-#~ msgid "%s: Need job ID ('-i jobid') before '-H restart'!\n"
-#~ msgstr "%s: Memerlukan ID tugas ('-i jobid') sebelum '-H restart'!\n"
-
-#~ msgid "%s: No filter to convert from %s/%s to %s/%s!\n"
-#~ msgstr "%s: Tidak ada penyaring untuk konversi dari %s/%s ke %s/%s!\n"
-
-#~ msgid "%s: Operation failed: %s\n"
-#~ msgstr "%s: Operasi gagal: %s\n"
-
-#~ msgid "%s: Sorry, no encryption support compiled in!\n"
-#~ msgstr "%s: Maaf, tidak ada dukungan enkripsi yang dikompilasi serta!\n"
-
-#~ msgid "%s: Unable to connect to server\n"
-#~ msgstr "%s: Tidak bisa terhubung ke server\n"
-
-#~ msgid "%s: Unable to contact server!\n"
-#~ msgstr "%s: Tidak bisa mengontak server!\n"
-
-#~ msgid "%s: Unable to determine MIME type of \"%s\"!\n"
-#~ msgstr "%s: Tidak bisa menentukan jenis MIME dari \"%s\"!\n"
-
-#~ msgid "%s: Unable to open %s: %s\n"
-#~ msgstr "%s: Tidak bisa membuka %s: %s\n"
-
-#~ msgid "%s: Unable to open PPD file: %s on line %d\n"
-#~ msgstr "%s: Tidak bisa membuka berkas PPD: %s pada baris %d\n"
-
-#~ msgid "%s: Unable to open PPD file: %s on line %d.\n"
-#~ msgstr "%s: Tidak bisa membuka berkas PPD: %s pada baris %d.\n"
-
-#~ msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"!\n"
-#~ msgstr "%s: Tak dapat membaca basis data MIME dari \"%s\" atau \"%s\"!\n"
-
-#~ msgid "%s: Unknown destination \"%s\"!\n"
-#~ msgstr "%s: Tujuan tak dikenal \"%s\"!\n"
-
-#~ msgid "%s: Unknown destination MIME type %s/%s!\n"
-#~ msgstr "%s: Jenis MIME yang dituju tak dikenal %s/%s!\n"
-
-#~ msgid "%s: Unknown option '%c'!\n"
-#~ msgstr "%s: Opsi tak dikenal '%c'!\n"
-
-#~ msgid "%s: Unknown source MIME type %s/%s!\n"
-#~ msgstr "%s: Sumber jenis MIME tak dikenal %s/%s!\n"
-
-#~ msgid ""
-#~ "%s: Warning - '%c' format modifier not supported - output may not be "
-#~ "correct!\n"
-#~ msgstr ""
-#~ "%s: Peringatan - format peubah '%c' tidak didukung - keluaran yang "
-#~ "dihasilkan mungkin tak tepat!\n"
-
-#~ msgid "%s: Warning - character set option ignored!\n"
-#~ msgstr "%s: Peringatan - opsi set karakter diabaikan!\n"
-
-#~ msgid "%s: Warning - content type option ignored!\n"
-#~ msgstr "%s: Peringatan - opsi jenis konten diabaikan!\n"
-
-#~ msgid "%s: Warning - form option ignored!\n"
-#~ msgstr "%s: Peringatan - opsi formulir diabaikan!\n"
-
-#~ msgid "%s: Warning - mode option ignored!\n"
-#~ msgstr "%s: Peringatan - opsi modus diabaikan!\n"
-
-#~ msgid ""
-#~ "%s: error - %s environment variable names non-existent destination \"%s"
-#~ "\"!\n"
-#~ msgstr ""
-#~ "%s: kesalahan - nama variabel lingkungan %s merupakan tujuan yang tidak "
-#~ "ada \"%s\"!\n"
-
-#~ msgid "%s: error - expected option=value after '-o' option!\n"
-#~ msgstr "%s: kesalahan - diharapkan opsi=nilai usai opsi '-o'!\n"
-
-#~ msgid "%s: error - no default destination available.\n"
-#~ msgstr "%s: kesalahan - tidak ada tujuan utama.\n"
-
-#~ msgid "10 x 11\""
-#~ msgstr "10 x 11\""
-
-#~ msgid "10 x 13\""
-#~ msgstr "10 x 13\""
-
-#~ msgid "10 x 14\""
-#~ msgstr "10 x 14\""
-
-#~ msgid "12 x 11\""
-#~ msgstr "12 x 11\""
-
-#~ msgid "15 x 11\""
-#~ msgstr "15 x 11\""
-
-#~ msgid "60x720dpi"
-#~ msgstr "60x720dpi"
-
-#~ msgid "7 x 9\""
-#~ msgstr "7 x 9\""
-
-#~ msgid "8 x 10\""
-#~ msgstr "8 x 10\""
-
-#~ msgid "9 x 11\""
-#~ msgstr "9 x 11\""
-
-#~ msgid "9 x 12\""
-#~ msgstr "9 x 12\""
-
-#~ msgid "A Samba password is required to export printer drivers!"
-#~ msgstr "Diperlukan sandi Samba untuk mengekspor penggerak pencetak!"
-
-#~ msgid "A Samba username is required to export printer drivers!"
-#~ msgstr "Diperlukan nama pengguna Samba untuk mengekspor penggerak pencetak!"
-
-#~ msgid "A class named \"%s\" already exists!"
-#~ msgstr "Kelas bernama \"%s\" sudah ada!"
-
-#~ msgid "A printer named \"%s\" already exists!"
-#~ msgstr "Pencetak bernama \"%s\" sudah ada!"
-
-#~ msgid "A3 (Oversize)"
-#~ msgstr "A3 (Besar)"
-
-#~ msgid "A4 (Oversize)"
-#~ msgstr "A4 (Besar)"
-
-#~ msgid "A4 (Small)"
-#~ msgstr "A4 (Kecil)"
-
-#~ msgid "A5 (Oversize)"
-#~ msgstr "A5 (Besar)"
-
-#~ msgid "ARCH A"
-#~ msgstr "ARCH A"
-
-#~ msgid "ARCH B"
-#~ msgstr "ARCH B"
-
-#~ msgid "Attribute groups are out of order (%x < %x)!"
-#~ msgstr "Kelompok atribut di luar jangkauan (%x < %x)!"
-
-#~ msgid "Bad device URI \"%s\"!\n"
-#~ msgstr "URI perangkat \"%s\" jelek!\n"
-
-#~ msgid "Bad device-uri \"%s\"!"
-#~ msgstr "device-uri \"%s\" jelek!"
-
-#~ msgid "Bad device-uri scheme \"%s\"!"
-#~ msgstr "Skema device-uri \"%s\" jelek!"
-
-#~ msgid "Bad document-format \"%s\"!"
-#~ msgstr "document-format \"%s\" jelek!"
-
-#~ msgid "Bad filename buffer!"
-#~ msgstr "Nama berkas penyangga jelek!"
-
-#~ msgid "Bad font attribute: %s\n"
-#~ msgstr "Atribut huruf jelek: %s\n"
-
-#~ msgid "Bad job-priority value!"
-#~ msgstr "Nilai job-priority jelek!"
-
-#~ msgid "Bad job-sheets value \"%s\"!"
-#~ msgstr "Nilai job-sheets \"%s\" jelek!"
-
-#~ msgid "Bad job-sheets value type!"
-#~ msgstr "Jenis nilai job-sheets jelek!"
-
-#~ msgid "Bad job-state value!"
-#~ msgstr "Nilai job-state jelek!"
-
-#~ msgid "Bad job-uri attribute \"%s\"!"
-#~ msgstr "Atribut job-uri \"%s\" jelek!"
-
-#~ msgid "Bad notify-pull-method \"%s\"!"
-#~ msgstr "notify-pull-method \"%s\" jelek!"
-
-#~ msgid "Bad notify-recipient-uri URI \"%s\"!"
-#~ msgstr "URI notify-recipient-uri \"%s\" jelek!"
-
-#~ msgid "Bad option + choice on line %d!"
-#~ msgstr "Opsi + yang dipilih pada baris %d jelek!"
-
-#~ msgid "Bad port-monitor \"%s\"!"
-#~ msgstr "port-monitor \"%s\" jelek!"
-
-#~ msgid "Bad printer-state value %d!"
-#~ msgstr "Nilai printer-state %d jelek!"
-
-#~ msgid "Bad request ID %d!"
-#~ msgstr "ID permintaan %d jelek!"
-
-#~ msgid "Bad subscription ID!"
-#~ msgstr "ID subskripsi jelek!"
-
-#~ msgid "C0 Envelope"
-#~ msgstr "C0 Amplop"
-
-#~ msgid "C1 Envelope"
-#~ msgstr "C1 Amplop"
-
-#~ msgid "C2 Envelope"
-#~ msgstr "C2 Amplop"
-
-#~ msgid "C3 Envelope"
-#~ msgstr "C3 Amplop"
-
-#~ msgid "C4"
-#~ msgstr "C4"
-
-#~ msgid "C4 Envelope"
-#~ msgstr "C4 Amplop"
-
-#~ msgid "C5"
-#~ msgstr "C5"
-
-#~ msgid "C5 Envelope"
-#~ msgstr "C5 Amplop"
-
-#~ msgid "C6"
-#~ msgstr "C6"
-
-#~ msgid "C6 Envelope"
-#~ msgstr "C6 Amplop"
-
-#~ msgid "C65 Envelope"
-#~ msgstr "C65 Amplop"
-
-#~ msgid "C7 Envelope"
-#~ msgstr "C7 Amplop"
-
-#~ msgid "Character set \"%s\" not supported!"
-#~ msgstr "Set karakter \"%s\" tidak didukung!"
-
-#~ msgid "Chou3 Envelope"
-#~ msgstr "Chou3 Amplop"
-
-#~ msgid "Chou4 Envelope"
-#~ msgstr "Chou4 Amplop"
-
-#~ msgid ""
-#~ "Commands may be abbreviated.  Commands are:\n"
-#~ "\n"
-#~ "exit    help    quit    status  ?\n"
-#~ msgstr ""
-#~ "Perintah bisa saja singkat.  Perintahnya:\n"
-#~ "\n"
-#~ "exit    help    quit    status  ?\n"
-
-#~ msgid "Could not scan type \"%s\"!"
-#~ msgstr "Tidak akan memindai jenis \"%s\"!"
-
-#~ msgid "Cover open."
-#~ msgstr "Penutup terbuka."
-
-#~ msgid "DL"
-#~ msgstr "DL"
-
-#~ msgid "DL Envelope"
-#~ msgstr "DL Amplop"
-
-#~ msgid "Developer almost empty."
-#~ msgstr "Developer hampir kosong."
-
-#~ msgid "Developer empty!"
-#~ msgstr "Developer kosong!"
-
-#~ msgid ""
-#~ "Device: uri = %s\n"
-#~ "        class = %s\n"
-#~ "        info = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ "        location = %s\n"
-#~ msgstr ""
-#~ "Perangkat: uri = %s\n"
-#~ "        class = %s\n"
-#~ "        info = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ "        location = %s\n"
-
-#~ msgid "Document %d not found in job %d."
-#~ msgstr "Dokumen %d tidak ditemukan di tugas %d."
-
-#~ msgid "Door open."
-#~ msgstr "Pintu terbuka."
-
-#~ msgid "Double Postcard"
-#~ msgstr "Kartu Pos Ganda"
-
-#~ msgid "EMERG: Unable to allocate memory for page info: %s\n"
-#~ msgstr "EMERG: Tidak bisa mengalokasikan memori untuk halaman info: %s\n"
-
-#~ msgid "EMERG: Unable to allocate memory for pages array: %s\n"
-#~ msgstr "EMERG: Tidak bisa mengalokasikan memori untuk larik halaman: %s\n"
-
-#~ msgid "ERROR: Bad SCSI device file \"%s\"!\n"
-#~ msgstr "ERROR: Berkas perangkat SCSI \"%s\" jelek!\n"
-
-#~ msgid "ERROR: Bad charset file %s\n"
-#~ msgstr "ERROR: Berkas set karakter %s jelek\n"
-
-#~ msgid "ERROR: Bad charset type %s\n"
-#~ msgstr "ERROR: Jenis set karakter %s jelek\n"
-
-#~ msgid "ERROR: Bad columns value %d!\n"
-#~ msgstr "ERROR: Nilai kolom %d jelek!\n"
-
-#~ msgid "ERROR: Bad cpi value %f!\n"
-#~ msgstr "ERROR: Nilai cpi %f jelek!\n"
-
-#~ msgid "ERROR: Bad font description line: %s\n"
-#~ msgstr "ERROR: Baris deskripsi huruf: %s jelek\n"
-
-#~ msgid "ERROR: Bad lpi value %f!\n"
-#~ msgstr "ERROR: Nilai lpi %f jelek!\n"
-
-#~ msgid "ERROR: Bad page setup!\n"
-#~ msgstr "ERROR: Pengaturan halaman jelek!\n"
-
-#~ msgid "ERROR: Bad text direction %s\n"
-#~ msgstr "ERROR: Arah teks %s jelek\n"
-
-#~ msgid "ERROR: Bad text width %s\n"
-#~ msgstr "ERROR: Lebar teks %s jelek\n"
-
-#~ msgid "ERROR: Destination printer does not exist!\n"
-#~ msgstr "ERROR: Pencetak yang dituju tidak ada!\n"
-
-#~ msgid "ERROR: Empty print file!\n"
-#~ msgstr "ERROR: Mencetak berkas kosong!\n"
-
-#~ msgid "ERROR: Error %d sending PAPSendData request: %s\n"
-#~ msgstr "ERROR: Kesalahan %d mengirim permintaan PAPSendData: %s\n"
-
-#~ msgid "ERROR: Fatal USB error!\n"
-#~ msgstr "ERROR: Kesalahan fatal USB!\n"
-
-#~ msgid "ERROR: Invalid HP-GL/2 command seen, unable to print file!\n"
-#~ msgstr ""
-#~ "ERROR: Ketidaksahan HP-GL/2 komentar terlihat, tak bisa mencetak berkas!\n"
-
-#~ msgid "ERROR: Missing value on line %d of banner file!\n"
-#~ msgstr ""
-#~ "ERROR: Kehilangan nilai pada baris %d dari berkas pataka (banner)!\n"
-
-#~ msgid ""
-#~ "ERROR: Need a msgid line before any translation strings on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ERROR: Memerlukan baris msgid sebelum string translasi pada baris %d dari "
-#~ "%s!\n"
-
-#~ msgid ""
-#~ "ERROR: No device URI found in argv[0] or in DEVICE_URI environment "
-#~ "variable!\n"
-#~ msgstr ""
-#~ "ERROR: Tak ditemukan URI perangkat pada argv[0] atau dalam variabel "
-#~ "lingkungan DEVICE_URI!\n"
-
-#~ msgid "ERROR: No fonts in charset file %s\n"
-#~ msgstr "ERROR: Tidak ada huruf pada berkas set karakter %s\n"
-
-#~ msgid "ERROR: No pages found!\n"
-#~ msgstr "ERROR: Tidak ketemu halaman!\n"
-
-#~ msgid "ERROR: Out of paper!\n"
-#~ msgstr "ERROR: Kehabisan kertas!\n"
-
-#~ msgid "ERROR: PRINTER environment variable not defined!\n"
-#~ msgstr "ERROR: Variabel lingkungan PRINTER belum ditentukan!\n"
-
-#~ msgid "ERROR: Print file was not accepted (%s)!\n"
-#~ msgstr "ERROR: Berkas cetak tidak diterima (%s)!\n"
-
-#~ msgid "ERROR: Printer not responding\n"
-#~ msgstr "ERROR: Pencetak tidak merespon\n"
-
-#~ msgid "ERROR: Printer not responding!\n"
-#~ msgstr "ERROR: Pencetak tidak merespon!\n"
-
-#~ msgid "ERROR: Printer sent unexpected EOF\n"
-#~ msgstr "ERROR: Pencetak mengirim EOF yang tak diharapkan\n"
-
-#~ msgid "ERROR: Remote host did not accept control file (%d)\n"
-#~ msgstr "ERROR: Host jarak jauh tidak menerima berkas kontrol (%d)\n"
-
-#~ msgid "ERROR: Remote host did not accept data file (%d)\n"
-#~ msgstr "ERROR: Host jarak jauh tidak menerima data berkas (%d)\n"
-
-#~ msgid "ERROR: There was a timeout error while sending data to the printer\n"
-#~ msgstr "ERROR: Kehabisan waktu saat mengirim data ke pencetak\n"
-
-#~ msgid "ERROR: Unable to add file %d to job: %s\n"
-#~ msgstr "ERROR: Tidak bisa menambah berkas %d untuk tugas: %s\n"
-
-#~ msgid "ERROR: Unable to cancel job %d: %s\n"
-#~ msgstr "ERROR: Tidak bisa membatalkan tugas %d: %s\n"
-
-#~ msgid "ERROR: Unable to copy PDF file"
-#~ msgstr "ERROR: Tidak bisa menyalin berkas PPD"
-
-#~ msgid "ERROR: Unable to create pipe"
-#~ msgstr "ERROR: Tidak bisa membuat pipa"
-
-#~ msgid "ERROR: Unable to create socket"
-#~ msgstr "ERROR: Tidak bisa membuat soket"
-
-#~ msgid "ERROR: Unable to create temporary compressed print file: %s\n"
-#~ msgstr "ERROR: Tidak bisa membuat berkas cetak berkompresi temporer: %s\n"
-
-#~ msgid "ERROR: Unable to create temporary file"
-#~ msgstr "ERROR: Tidak bisa membuat berkas temporer"
-
-#~ msgid "ERROR: Unable to exec pictwpstops: %s\n"
-#~ msgstr "ERROR: Tidak bisa mengeksekusi pictwpstops: %s\n"
-
-#~ msgid "ERROR: Unable to execute gs program"
-#~ msgstr "ERROR: Tidak bisa mengeksekusi program gs"
-
-#~ msgid "ERROR: Unable to execute pdftops program"
-#~ msgstr "ERROR: Tidak bisa mengeksekusi program pdftops"
-
-#~ msgid "ERROR: Unable to execute pstops program"
-#~ msgstr "ERROR: Tidak bisa mengeksekusi program pstops"
-
-#~ msgid "ERROR: Unable to get PAP request"
-#~ msgstr "ERROR: Tidak bisa memperoleh permintaan PAP"
-
-#~ msgid "ERROR: Unable to get PAP response"
-#~ msgstr "ERROR: Tidak bisa memperoleh respon PAP"
-
-#~ msgid "ERROR: Unable to get PPD file for printer \"%s\" - %s.\n"
-#~ msgstr ""
-#~ "ERROR: Tidak bisa memperoleh berkas PPD untuk pencetak \"%s\" - %s.\n"
-
-#~ msgid "ERROR: Unable to get default AppleTalk zone"
-#~ msgstr "ERROR: Tidak bisa memperoleh zona baku AppleTalk"
-
-#~ msgid "ERROR: Unable to get job %d attributes (%s)!\n"
-#~ msgstr "ERROR: Tidak bisa memperoleh atribut tugas %d (%s)!\n"
-
-#~ msgid "ERROR: Unable to get printer status (%s)!\n"
-#~ msgstr "ERROR: Tidak bisa memperoleh status pencetak (%s)!\n"
-
-#~ msgid "ERROR: Unable to locate printer '%s'!\n"
-#~ msgstr "ERROR: Tidak bisa menentukan lokasi pencetak '%s'!\n"
-
-#~ msgid "ERROR: Unable to make AppleTalk address"
-#~ msgstr "ERROR: Tidak bisa membuat alamat AppleTalk"
-
-#~ msgid "ERROR: Unable to open \"%s\" - %s\n"
-#~ msgstr "ERROR: Tidak bisa membuka \"%s\" - %s\n"
-
-#~ msgid "ERROR: Unable to open %s: %s\n"
-#~ msgstr "ERROR: Tidak bisa membuka %s: %s\n"
-
-#~ msgid "ERROR: Unable to open PPD file!\n"
-#~ msgstr "ERROR: Tidak bisa membuka berkas PPD!\n"
-
-#~ msgid "ERROR: Unable to open device file \"%s\": %s\n"
-#~ msgstr "ERROR: Tidak bisa membuka berkas perangkat \"%s\": %s\n"
-
-#~ msgid "ERROR: Unable to open file \"%s\" - %s\n"
-#~ msgstr "ERROR: Tidak bisa membuka berkas \"%s\" - %s\n"
-
-#~ msgid "ERROR: Unable to open file \"%s\": %s\n"
-#~ msgstr "ERROR: Tidak bisa membuka berkas \"%s\": %s\n"
-
-#~ msgid "ERROR: Unable to open image file for printing!\n"
-#~ msgstr "ERROR: Tidak bisa membuka berkas gambar untuk mencetak!\n"
-
-#~ msgid "ERROR: Unable to open print file \"%s\": %s\n"
-#~ msgstr "ERROR: Tidak bisa membuka berkas cetak \"%s\": %s\n"
-
-#~ msgid "ERROR: Unable to open print file %s - %s\n"
-#~ msgstr "ERROR: Tidak bisa membuka berkas cetak %s - %s\n"
-
-#~ msgid "ERROR: Unable to open print file %s: %s\n"
-#~ msgstr "ERROR: Tidak bisa membuka berkas cetak %s: %s\n"
-
-#~ msgid "ERROR: Unable to open temporary compressed print file: %s\n"
-#~ msgstr "ERROR: Tidak bisa membuka berkas cetak temporer berkompresi: %s\n"
-
-#~ msgid "ERROR: Unable to read print data"
-#~ msgstr "ERROR: Tidak bisa membaca data yang hendak dicetak"
-
-#~ msgid "ERROR: Unable to read print data!\n"
-#~ msgstr "ERROR: Tidak bisa membaca data yang hendak dicetak!\n"
-
-#~ msgid "ERROR: Unable to seek to offset %ld in file - %s\n"
-#~ msgstr "ERROR: Tidak bisa mencari letak %ld dalam berkas - %s\n"
-
-#~ msgid "ERROR: Unable to seek to offset %lld in file - %s\n"
-#~ msgstr "ERROR: Tidak bisa mencari letak %lld dalam berkas - %s\n"
-
-#~ msgid "ERROR: Unable to send LPD command"
-#~ msgstr "ERROR: Tidak bisa mengirim perintah LPD"
-
-#~ msgid "ERROR: Unable to send print data (%d)\n"
-#~ msgstr "ERROR: Tidak bisa mengirim data yang hendak dicetak (%d)\n"
-
-#~ msgid "ERROR: Unable to send print data!\n"
-#~ msgstr "ERROR: Tidak bisa mengirim data yang hendak dicetak!\n"
-
-#~ msgid "ERROR: Unable to send print file to printer"
-#~ msgstr "ERROR: Tidak bisa mengirim data ke pencetak"
-
-#~ msgid "ERROR: Unable to wait for pictwpstops: %s\n"
-#~ msgstr "ERROR: Tidak bisa menunggu pictwpstops: %s\n"
-
-#~ msgid "ERROR: Unable to write %d bytes to \"%s\": %s\n"
-#~ msgstr "ERROR: Tidak bisa menulis %d bita ke \"%s\": %s\n"
-
-#~ msgid "ERROR: Unable to write %d bytes to printer!\n"
-#~ msgstr "ERROR: Tidak bisa menulis %d bita ke pencetak!\n"
-
-#~ msgid "ERROR: Unable to write control file"
-#~ msgstr "ERROR: Tidak bisa menulis berkas kontrol"
-
-#~ msgid "ERROR: Unable to write print data"
-#~ msgstr "ERROR: Tidak bisa menulis data yang hendak dicetak"
-
-#~ msgid "ERROR: Unable to write print data: %s\n"
-#~ msgstr "ERROR: Tidak bisa menulis data yang hendak dicetak: %s\n"
-
-#~ msgid "ERROR: Unable to write to temporary file"
-#~ msgstr "ERROR: Tidak bisa menulis di berkas temporer"
-
-#~ msgid "ERROR: Unexpected text on line %d of %s!\n"
-#~ msgstr "ERROR: Teks tak diharapkan pada baris %d dari %s!\n"
-
-#~ msgid "ERROR: Unknown encryption option value \"%s\"!\n"
-#~ msgstr "ERROR: Nilai opsi enkripsi \"%s\" tak dikenal!\n"
-
-#~ msgid "ERROR: Unknown file order \"%s\"\n"
-#~ msgstr "ERROR: Urutan berkas \"%s\" tak dikenal\n"
-
-#~ msgid "ERROR: Unknown format character \"%c\"\n"
-#~ msgstr "ERROR: Format karakter \"%c\" tak dikenal\n"
-
-#~ msgid "ERROR: Unknown message catalog format for \"%s\"!\n"
-#~ msgstr "ERROR: Format katalog pesan \"%s\" tak dikenal!\n"
-
-#~ msgid "ERROR: Unknown option \"%s\" with value \"%s\"!\n"
-#~ msgstr "ERROR: Opsi \"%s\" dengan nilai \"%s\" tak dikenal!\n"
-
-#~ msgid "ERROR: Unknown print mode \"%s\"\n"
-#~ msgstr "ERROR: Modus cetak \"%s\" tak dikenal\n"
-
-#~ msgid "ERROR: Unknown version option value \"%s\"!\n"
-#~ msgstr "ERROR: Nilai opsi versi \"%s\" tak dikenal!\n"
-
-#~ msgid "ERROR: Unsupported brightness value %s, using brightness=100!\n"
-#~ msgstr ""
-#~ "ERROR: Nilai kecerahan %s tak didukung, gunakanlah brightness=100!\n"
-
-#~ msgid "ERROR: Unsupported gamma value %s, using gamma=1000!\n"
-#~ msgstr "ERROR: Nilai gama %s tak didukung, gunakanlah gamma=1000!\n"
-
-#~ msgid "ERROR: Unsupported number-up value %d, using number-up=1!\n"
-#~ msgstr "ERROR: Nilai number-up %d tak didukung, gunakanlah number-up=1!\n"
-
-#~ msgid ""
-#~ "ERROR: Unsupported number-up-layout value %s, using number-up-"
-#~ "layout=lrtb!\n"
-#~ msgstr ""
-#~ "ERROR: Nilai number-up-layout %s tak didukung, gunakanlah number-up-"
-#~ "layout=lrtb!\n"
-
-#~ msgid "ERROR: Unsupported page-border value %s, using page-border=none!\n"
-#~ msgstr ""
-#~ "ERROR: Nilai page-border %s tak didukung, gunakanlah page-border=none!\n"
-
-#~ msgid "ERROR: doc_printf overflow (%d bytes) detected, aborting!\n"
-#~ msgstr "ERROR: Kelebihan doc_printf (%d bita) terdeteksi, dibatalkan!\n"
-
-#~ msgid "ERROR: pictwpstops exited on signal %d!\n"
-#~ msgstr "ERROR: pictwpstops tertutup pada sinyal %d!\n"
-
-#~ msgid "ERROR: pictwpstops exited with status %d!\n"
-#~ msgstr "ERROR: pictwpstops tertutup dengan status %d!\n"
-
-#~ msgid ""
-#~ "ERROR: recoverable: Unable to connect to printer; will retry in 30 "
-#~ "seconds...\n"
-#~ msgstr ""
-#~ "ERROR: pemulihan: Tidak bisa menghubungi pencetak; akan mencoba ulang "
-#~ "dalam 30 detik...\n"
-
-#~ msgid "ERROR: select() failed"
-#~ msgstr "ERROR: select() gagal"
-
-#~ msgid "ERROR: unable to stat print file"
-#~ msgstr "ERROR: tak dapat memulai berkas yang hendak dicetak"
-
-#~ msgid "Empty PPD file!"
-#~ msgstr "Berkas PPD kosong!"
-
-#~ msgid "Error: need hostname after '-h' option!\n"
-#~ msgstr "Kesalahan: perlu nama host usai opsi '-h'!\n"
-
-#~ msgid "FAIL\n"
-#~ msgstr "GAGAL\n"
-
-#~ msgid ""
-#~ "File device URIs have been disabled! To enable, see the FileDevice "
-#~ "directive in \"%s/cupsd.conf\"."
-#~ msgstr ""
-#~ "Berkas URI perangkat telah dinonaktifkan! Untuk mengaktifkannya, lihatlah "
-#~ "petunjuk FileDevice dalam \"%s/cupsd.conf\"."
-
-#~ msgid "Fuser temperature high!"
-#~ msgstr "Suhu fusi tinggi!"
-
-#~ msgid "Fuser temperature low!"
-#~ msgstr "Suhu fusi rendah!"
-
-#~ msgid "German FanFold"
-#~ msgstr "FanFold Jerman"
-
-#~ msgid "German FanFold Legal"
-#~ msgstr "FanFold Legal Jerman"
-
-#~ msgid "Got a printer-uri attribute but no job-id!"
-#~ msgstr "Memperoleh atribut printer-uri tetapi bukan job-id!"
-
-#~ msgid "INFO: AppleTalk disabled in System Preferences\n"
-#~ msgstr "INFO: AppleTalk ditiadakan pada Preferensi Sistem\n"
-
-#~ msgid "INFO: AppleTalk disabled in System Preferences.\n"
-#~ msgstr "INFO: AppleTalk ditiadakan pada Preferensi Sistem.\n"
-
-#~ msgid "INFO: Canceling print job...\n"
-#~ msgstr "INFO: Membatalkan tugas mencetak...\n"
-
-#~ msgid "INFO: Connected to printer...\n"
-#~ msgstr "INFO: Terhubung ke pencetak...\n"
-
-#~ msgid "INFO: Connecting to printer...\n"
-#~ msgstr "INFO: Menghubungi pencetak...\n"
-
-#~ msgid "INFO: Control file sent successfully\n"
-#~ msgstr "INFO: Berkas kontrol berhasil dikirim\n"
-
-#~ msgid "INFO: Copying print data...\n"
-#~ msgstr "INFO: Menyalin data yang hendak dicetak...\n"
-
-#~ msgid "INFO: Data file sent successfully\n"
-#~ msgstr "INFO: Berkas data berhasil dikirim\n"
-
-#~ msgid "INFO: Finished page %d...\n"
-#~ msgstr "INFO: Halaman selesai %d...\n"
-
-#~ msgid "INFO: Formatting page %d...\n"
-#~ msgstr "INFO: Memformat halaman %d...\n"
-
-#~ msgid "INFO: Loading image file...\n"
-#~ msgstr "INFO: Memuat berkas gambar...\n"
-
-#~ msgid "INFO: Looking for printer...\n"
-#~ msgstr "INFO: Mencari pencetak...\n"
-
-#~ msgid "INFO: Opening connection\n"
-#~ msgstr "INFO: Membuka hubungan\n"
-
-#~ msgid "INFO: Print file sent, waiting for printer to finish...\n"
-#~ msgstr ""
-#~ "INFO: Berkas cetak dikirim, menunggu pencetak selesai mengerjakannya...\n"
-
-#~ msgid "INFO: Printer busy; will retry in 10 seconds...\n"
-#~ msgstr "INFO: Pencetak sibuk; dicoba ulang 10 detik lagi...\n"
-
-#~ msgid "INFO: Printer busy; will retry in 30 seconds...\n"
-#~ msgstr "INFO: Pencetak sibuk; dicoba ulang 30 detik lagi...\n"
-
-#~ msgid "INFO: Printer busy; will retry in 5 seconds...\n"
-#~ msgstr "INFO: Pencetak sibuk; dicoba ulang 5 detik lagi...\n"
-
-#~ msgid "INFO: Printer does not support IPP/%d.%d, trying IPP/1.0...\n"
-#~ msgstr "INFO: Pencetak tidak mendukung IPP/%d.%d, mencoba IPP/1.0...\n"
-
-#~ msgid "INFO: Printer is busy; will retry in 5 seconds...\n"
-#~ msgstr "INFO: Pencetak sibuk; dicoba ulang 5 detik lagi...\n"
-
-#~ msgid "INFO: Printer is currently off-line.\n"
-#~ msgstr "INFO: Pencetak saat ini tak terhubung.\n"
-
-#~ msgid "INFO: Printer is currently offline.\n"
-#~ msgstr "INFO: Pencetak saat ini tak terhubung.\n"
-
-#~ msgid "INFO: Printer is now online.\n"
-#~ msgstr "INFO: Pencetak saat ini terhubung.\n"
-
-#~ msgid "INFO: Printer is offline.\n"
-#~ msgstr "INFO: Pencetak saat ini tak terhubung.\n"
-
-#~ msgid "INFO: Printer not connected; will retry in 30 seconds...\n"
-#~ msgstr "INFO: Pencetak tak terhubung; dicoba ulang 30 detik lagi...\n"
-
-#~ msgid "INFO: Printing page %d, %d%% complete...\n"
-#~ msgstr "INFO: Mencetak halaman %d, %d%% selesai...\n"
-
-#~ msgid "INFO: Printing page %d...\n"
-#~ msgstr "INFO: Mencetak halaman %d...\n"
-
-#~ msgid "INFO: Ready to print.\n"
-#~ msgstr "INFO: Siap mencetak.\n"
-
-#~ msgid "INFO: Sending control file (%lu bytes)\n"
-#~ msgstr "INFO: Mengirim berkas kontrol (%lu bita)\n"
-
-#~ msgid "INFO: Sending control file (%u bytes)\n"
-#~ msgstr "INFO: Mengirim berkas kontrol (%u bita)\n"
-
-#~ msgid "INFO: Sending data\n"
-#~ msgstr "INFO: Mengirim data\n"
-
-#~ msgid "INFO: Sending data file (%ld bytes)\n"
-#~ msgstr "INFO: Mengirim berkas data (%ld bita)\n"
-
-#~ msgid "INFO: Sending data file (%lld bytes)\n"
-#~ msgstr "INFO: Mengirim berkas data (%lld bita)\n"
-
-#~ msgid "INFO: Sending print data...\n"
-#~ msgstr "INFO: Mengirim data yang hendak dicetak...\n"
-
-#~ msgid "INFO: Sent print file, %ld bytes...\n"
-#~ msgstr "INFO: Mengirim berkas yang hendak dicetak, %ld bita...\n"
-
-#~ msgid "INFO: Sent print file, %lld bytes...\n"
-#~ msgstr "INFO: Mengirim berkas yang hendak dicetak, %lld bita...\n"
-
-#~ msgid "INFO: Starting page %d...\n"
-#~ msgstr "INFO: Memulai halaman %d...\n"
-
-#~ msgid ""
-#~ "INFO: Unable to contact printer, queuing on next printer in class...\n"
-#~ msgstr ""
-#~ "INFO: Tidak bisa menghubungi pencetak, diantrikan ke pencetak selanjutnya "
-#~ "pada kelas...\n"
-
-#~ msgid "INFO: Using default AppleTalk zone \"%s\"\n"
-#~ msgstr "INFO: Menggunakan zona baku AppleTalk \"%s\"\n"
-
-#~ msgid "INFO: Waiting for job to complete...\n"
-#~ msgstr "INFO: Menunggu tugas diselesaikan...\n"
-
-#~ msgid "INFO: Waiting for printer to become available...\n"
-#~ msgstr "INFO: Menunggu pencetak tersedia...\n"
-
-#~ msgid "ISO B0"
-#~ msgstr "ISO B0"
-
-#~ msgid "ISO B1"
-#~ msgstr "ISO B1"
-
-#~ msgid "ISO B10"
-#~ msgstr "ISO B10"
-
-#~ msgid "ISO B2"
-#~ msgstr "ISO B2"
-
-#~ msgid "ISO B3"
-#~ msgstr "ISO B3"
-
-#~ msgid "ISO B4"
-#~ msgstr "ISO B4"
-
-#~ msgid "ISO B4 Envelope"
-#~ msgstr "ISO B4 Amplop"
-
-#~ msgid "ISO B5"
-#~ msgstr "ISO B5"
-
-#~ msgid "ISO B5 (Oversize)"
-#~ msgstr "ISO B5 (Besar)"
-
-#~ msgid "ISO B5 Envelope"
-#~ msgstr "ISO B5 Amplop"
-
-#~ msgid "ISO B6"
-#~ msgstr "ISO B6"
-
-#~ msgid "ISO B6 Envelope"
-#~ msgstr "ISO B6 Amplop"
-
-#~ msgid "ISO B7"
-#~ msgstr "ISO B7"
-
-#~ msgid "ISO B8"
-#~ msgstr "ISO B8"
-
-#~ msgid "ISO B9"
-#~ msgstr "ISO B9"
-
-#~ msgid "Ink/toner almost empty."
-#~ msgstr "Tinta/toner hampir kosong."
-
-#~ msgid "Ink/toner empty!"
-#~ msgstr "Tinta/toner kosong!"
-
-#~ msgid "Ink/toner waste bin almost full."
-#~ msgstr "Baki buangan tinta/toner hampir penuh."
-
-#~ msgid "Ink/toner waste bin full!"
-#~ msgstr "Baki buangan tinta/toner sudah penuh!"
-
-#~ msgid "Invite Envelope"
-#~ msgstr "Amplop Undangan"
-
-#~ msgid "Italian Envelope"
-#~ msgstr "Amplop Italia"
-
-#~ msgid "Job #%d cannot be restarted - no files!"
-#~ msgstr "Tugas #%d tidak bisa dicetak ulang - tidak ada berkas!"
-
-#~ msgid "Job #%d does not exist!"
-#~ msgstr "Tugas #%d tidak ada!"
-
-#~ msgid "Job #%d is finished and cannot be altered!"
-#~ msgstr "Tugas #%d sudah diselesaikan dan tidak dapat diubah!"
-
-#~ msgid "Job #%d is not complete!"
-#~ msgstr "Tugas #%d tidak selesai!"
-
-#~ msgid "Job #%d is not held for authentication!"
-#~ msgstr "Tugas #%d tidak ditahan untuk otentikasi!"
-
-#~ msgid "Job #%d is not held!"
-#~ msgstr "Tugas #%d tidak ditahan!"
-
-#~ msgid "Job #%s does not exist!"
-#~ msgstr "Tugas #%s tidak ada!"
-
-#~ msgid "Job %d not found!"
-#~ msgstr "Tugas %d tidak ketemu!"
-
-#~ msgid "Job subscriptions cannot be renewed!"
-#~ msgstr "Subkripsi tugas tidak bisa diperbaharui!"
-
-#~ msgid "Kaku2 Envelope"
-#~ msgstr "Kaku2 Amplop"
-
-#~ msgid "Kaku3 Envelope"
-#~ msgstr "Kaku3 Amplop"
-
-#~ msgid "Language \"%s\" not supported!"
-#~ msgstr "Bahasa \"%s\" tidak didukung!"
-
-#~ msgid "Media jam!"
-#~ msgstr "Media tersangkut!"
-
-#~ msgid "Media tray almost empty."
-#~ msgstr "Baki media hampir kosong."
-
-#~ msgid "Media tray empty!"
-#~ msgstr "Baki media kosong!"
-
-#~ msgid "Media tray missing!"
-#~ msgstr "Baki media hilang!"
-
-#~ msgid "Media tray needs to be filled."
-#~ msgstr "Baki media perlu diisi."
-
-#~ msgid "Missing document-number attribute!"
-#~ msgstr "Kehilangan atribut document-number!"
-
-#~ msgid "Missing double quote on line %d!"
-#~ msgstr "Kehilangan tanda kutip pada baris %d!"
-
-#~ msgid "Missing form variable!"
-#~ msgstr "Kehilangan variabel formulir!"
-
-#~ msgid "Missing notify-subscription-ids attribute!"
-#~ msgstr "Kehilangan atribut notify-subscription-ids!"
-
-#~ msgid "Missing requesting-user-name attribute!"
-#~ msgstr "Kehilangan atribut requesting-user-name!"
-
-#~ msgid "Missing required attributes!"
-#~ msgstr "Kehilangan atribut yang diperlukan!"
-
-#~ msgid "Missing value on line %d!"
-#~ msgstr "Kehilangan nilai pada baris %d!"
-
-#~ msgid ""
-#~ "Model:  name = %s\n"
-#~ "        natural_language = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ msgstr ""
-#~ "Model:  name = %s\n"
-#~ "        natural_language = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-
-#~ msgid "Monarch"
-#~ msgstr "Monarki"
-
-#~ msgid "Monarch Envelope"
-#~ msgstr "Amplop Monarki"
-
-#~ msgid "NOTICE: Print file accepted - job ID %d.\n"
-#~ msgstr "NOTICE: Berkas yang hendak dicetak diterima - ID tugas %d.\n"
-
-#~ msgid "NOTICE: Print file accepted - job ID unknown.\n"
-#~ msgstr ""
-#~ "NOTICE: Berkas yang hendak dicetak diterima - ID tugas tak dikenal.\n"
-
-#~ msgid "Nested classes are not allowed!"
-#~ msgstr "Kelas bersarang tidak diperbolehkan!"
-
-#~ msgid "No PPD name!"
-#~ msgstr "Tidak ada nama PPD!"
-
-#~ msgid "No Windows printer drivers are installed!"
-#~ msgstr "Tidak ada penggerak pencetak Windows yang terpasang!"
-
-#~ msgid "No active jobs on %s!"
-#~ msgstr "Tidak ada tugas yang aktif pada %s!"
-
-#~ msgid "No attributes in request!"
-#~ msgstr "Tidak ada atribut dalam permintaan!"
-
-#~ msgid "No authentication information provided!"
-#~ msgstr "Tidak ada informasi otentikasi yang tersedia!"
-
-#~ msgid "No default printer"
-#~ msgstr "Tidak ada pencetak utama"
-
-#~ msgid "No file!?!"
-#~ msgstr "Tidak ada berkas!?!"
-
-#~ msgid "No modification time!"
-#~ msgstr "Tidak ada waktu modifikasi!"
-
-#~ msgid "No printer name!"
-#~ msgstr "Tidak ada nama pencetak!"
-
-#~ msgid "No printer-uri found for class!"
-#~ msgstr "Tidak ditemukan printer-uri untuk kelas!"
-
-#~ msgid "No printer-uri found!"
-#~ msgstr "Tidak ditemukan printer-uri!"
-
-#~ msgid "No printer-uri in request!"
-#~ msgstr "Tidak ada printer-uri dalam permintaan!"
-
-#~ msgid "No subscription attributes in request!"
-#~ msgstr "Tidak ada atribut subskripsi dalam permintaan!"
-
-#~ msgid "OPC almost at end-of-life."
-#~ msgstr "OPC nyaris di ujung hayat."
-
-#~ msgid "OPC at end-of-life!"
-#~ msgstr "OPC sudah di ujung hayat!"
-
-#~ msgid "Out of toner!"
-#~ msgstr "Kehabisan toner!"
-
-#~ msgid "Output bin almost full."
-#~ msgstr "Baki keluaran hampir penuh."
-
-#~ msgid "Output bin full!"
-#~ msgstr "Baki keluaran penuh!"
-
-#~ msgid "Output for printer %s is sent to %s\n"
-#~ msgstr "Keluaran untuk pencetak %s dikirim ke %s\n"
-
-#~ msgid "Output for printer %s is sent to remote printer %s on %s\n"
-#~ msgstr ""
-#~ "Keluaran untuk pencetak %s dikirim ke pencetak jarak jauh %s pada %s\n"
-
-#~ msgid "Output for printer %s/%s is sent to %s\n"
-#~ msgstr "Keluaran untuk pencetak %s/%s dikirim ke %s\n"
-
-#~ msgid "Output for printer %s/%s is sent to remote printer %s on %s\n"
-#~ msgstr ""
-#~ "Keluaran untuk pencetak %s/%s dikirim ke pencetak jarak jauh %s pada %s\n"
-
-#~ msgid "Output tray missing!"
-#~ msgstr "Baki keluaran hilang!"
-
-#~ msgid "PASS\n"
-#~ msgstr "LEWAT\n"
-
-#~ msgid "PRC1 Envelope"
-#~ msgstr "PRC1 Amplop"
-
-#~ msgid "PRC10 Envelope"
-#~ msgstr "PRC10 Amplop"
-
-#~ msgid "PRC2 Envelope"
-#~ msgstr "PRC2 Amplop"
-
-#~ msgid "PRC3 Envelope"
-#~ msgstr "PRC3 Amplop"
-
-#~ msgid "PRC32K (Oversize)"
-#~ msgstr "PRC32K (Besar)"
-
-#~ msgid "PRC4 Envelope"
-#~ msgstr "PRC4 Amplop"
-
-#~ msgid "PRC5 Envelope"
-#~ msgstr "PRC5 Amplop"
-
-#~ msgid "PRC6 Envelope"
-#~ msgstr "PRC6 Amplop"
-
-#~ msgid "PRC7 Envelope"
-#~ msgstr "PRC7 Amplop"
-
-#~ msgid "PRC8 Envelope"
-#~ msgstr "PRC8 Amplop"
-
-#~ msgid "PRC9 Envelope"
-#~ msgstr "PRC9 Amplop"
-
-#~ msgid "Personal Envelope"
-#~ msgstr "Amplop Pribadi"
-
-#~ msgid "Printer offline."
-#~ msgstr "Pencetak tak terhubung."
-
-#~ msgid "Rank    Owner   Job     File(s)                         Total Size\n"
-#~ msgstr ""
-#~ "Urut    Tuan    Tgs     Berkas                          Ukur Total\n"
-
-#~ msgid ""
-#~ "Rank   Owner      Pri  Job        Files                       Total Size\n"
-#~ msgstr ""
-#~ "Urut   Tuan       Pri  Tugas      Berkas                      Ukuran "
-#~ "Total\n"
-
-#~ msgid "Running command: %s %s -N -A %s -c '%s'\n"
-#~ msgstr "Menjalankan perintah: %s %s -N -A %s -c '%s'\n"
-
-#~ msgid "SCSI Printer"
-#~ msgstr "Pencetak SCSI"
-
-#~ msgid "Tabloid (Oversize)"
-#~ msgstr "Tabloid (Besar)"
-
-#~ msgid "The notify-user-data value is too large (%d > 63 octets)!"
-#~ msgstr "Nilai notify-user-data terlalu besar (%d > 63 oktet)!"
-
-#~ msgid "The printer or class is not shared!"
-#~ msgstr "Pencetak atau kelas tidak dikongsikan!"
-
-#~ msgid "The printer or class was not found."
-#~ msgstr "Pencetak atau kelas tidak ditemukan."
-
-#~ msgid "The printer-uri attribute is required!"
-#~ msgstr "Atribut printer-uri diperlukan!"
-
-#~ msgid "Toner low."
-#~ msgstr "Toner lemah."
-
-#~ msgid "Too many job-sheets values (%d > 2)!"
-#~ msgstr "Terlalu banyak nilai job-sheets (%d > 2)!"
-
-#~ msgid "Too many printer-state-reasons values (%d > %d)!"
-#~ msgstr "Terlalu banyak nilai printer-state-reasons (%d > %d)!"
-
-#~ msgid "US Executive"
-#~ msgstr "Eksekutif AS"
-
-#~ msgid "US Fanfold"
-#~ msgstr "Fanfold AS"
-
-#~ msgid "US Legal (Oversize)"
-#~ msgstr "Legal AS (Besar)"
-
-#~ msgid "US Letter (Oversize)"
-#~ msgstr "Kuarto AS (Besar)"
-
-#~ msgid "US Letter (Small)"
-#~ msgstr "Kuarto AS (Kecil)"
-
-#~ msgid "Unable to add job for destination \"%s\"!"
-#~ msgstr "Tidak bisa menambah tugas untuk tujuan \"%s\"!"
-
-#~ msgid "Unable to allocate memory for file types!"
-#~ msgstr "Tidak bisa mengalokasikan memori untuk jenis berkas!"
-
-#~ msgid "Unable to copy 64-bit CUPS printer driver files (%d)!"
-#~ msgstr "Tidak bisa menyalin berkas penggerak pencetak CUPS 64-bit (%d)!"
-
-#~ msgid "Unable to copy 64-bit Windows printer driver files (%d)!"
-#~ msgstr "Tidak bisa menyalin berkas penggerak pencetak Windows 64-bit (%d)!"
-
-#~ msgid "Unable to copy CUPS printer driver files (%d)!"
-#~ msgstr "Tidak bisa menyalin berkas penggerak pencetak CUPS (%d)!"
-
-#~ msgid "Unable to copy PPD file - %s!"
-#~ msgstr "Tidak bisa menyalin berkas PPD - %s!"
-
-#~ msgid "Unable to copy PPD file!"
-#~ msgstr "Tidak bisa menyalin berkas PPD!"
-
-#~ msgid "Unable to copy Windows 2000 printer driver files (%d)!"
-#~ msgstr "Tidak bisa menyalin berkas penggerak pencetak Windows 2000 (%d)!"
-
-#~ msgid "Unable to copy Windows 9x printer driver files (%d)!"
-#~ msgstr "Tidak bisa menyalin berkas penggerak pencetak Windows 9x (%d)!"
-
-#~ msgid "Unable to copy interface script - %s!"
-#~ msgstr "Tidak bisa menyalin skrip antarmuka - %s!"
-
-#~ msgid "Unable to create printer-uri!"
-#~ msgstr "Tidak bisa membuat printer-uri!"
-
-#~ msgid "Unable to edit cupsd.conf files larger than 1MB!"
-#~ msgstr "Tidak bisa menyunting berkas cupsd.conf lebih dari 1MB!"
-
-#~ msgid "Unable to find destination for job!"
-#~ msgstr "Tidak bisa menemukan tujuan untuk tugas!"
-
-#~ msgid "Unable to find printer!\n"
-#~ msgstr "Tidak bisa menemukan pencetak!\n"
-
-#~ msgid "Unable to install Windows 2000 printer driver files (%d)!"
-#~ msgstr "Tidak bisa memasang berkas penggerak pencetak Windows 2000 (%d)!"
-
-#~ msgid "Unable to install Windows 9x printer driver files (%d)!"
-#~ msgstr "Tidak bisa memasang berkas penggerak pencetak Windows 9x (%d)!"
-
-#~ msgid "Unable to open document %d in job %d!"
-#~ msgstr "Tidak bisa membuka dokumen %d pada tugas %d!"
-
-#~ msgid "Unable to run \"%s\": %s\n"
-#~ msgstr "Tidak bisa menjalankan \"%s\": %s\n"
-
-#~ msgid "Unable to set Windows printer driver (%d)!"
-#~ msgstr "Tidak bisa mengeset penggerak pencetak Windows (%d)!"
-
-#~ msgid "Unsupported character set \"%s\"!"
-#~ msgstr "Set karakter \"%s\" tak didukung!"
-
-#~ msgid "Unsupported compression \"%s\"!"
-#~ msgstr "Kompresi \"%s\" tak didukung!"
-
-#~ msgid "Unsupported compression attribute %s!"
-#~ msgstr "Atribut kompresi %s tak didukung!"
-
-#~ msgid "Unsupported format \"%s\"!"
-#~ msgstr "Format \"%s\" tak didukung!"
-
-#~ msgid "Unsupported format '%s'!"
-#~ msgstr "Format '%s' tak didukung!"
-
-#~ msgid "Unsupported format '%s/%s'!"
-#~ msgstr "Format '%s/%s' tak didukung!"
-
-#~ msgid ""
-#~ "Usage:\n"
-#~ "\n"
-#~ "    lpadmin [-h server] -d destination\n"
-#~ "    lpadmin [-h server] -x destination\n"
-#~ "    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m "
-#~ "model]\n"
-#~ "                       [-r remove-class] [-v device] [-D description]\n"
-#~ "                       [-P ppd-file] [-o name=value]\n"
-#~ "                       [-u allow:user,user] [-u deny:user,user]\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Penggunaan:\n"
-#~ "\n"
-#~ "    lpadmin [-h server] -d tujuan\n"
-#~ "    lpadmin [-h server] -x tujuan\n"
-#~ "    lpadmin [-h server] -p pencetak [-c tambah-kelas] [-i antarmuka] [-m "
-#~ "model]\n"
-#~ "                       [-r buang-kelas] [-v perangkat] [-D deskripsi]\n"
-#~ "                       [-P berkas-ppd] [-o nama=nilai]\n"
-#~ "                       [-u allow:pengguna,pengguna] [-u deny:pengguna,"
-#~ "pengguna]\n"
-#~ "\n"
-
-#~ msgid "Usage: %s job user title copies options [filename]\n"
-#~ msgstr "Penggunaan: %s tugas pengguna judul salinan opsi [berkas]\n"
-
-#~ msgid "Usage: %s job-id user title copies options [file]\n"
-#~ msgstr "Penggunaan: %s id-tugas pengguna judul rangkap opsi [berkas]\n"
-
-#~ msgid "Usage: %s job-id user title copies options file\n"
-#~ msgstr "Penggunaan: %s id-tugas pengguna judul rangkap opsi berkas\n"
-
-#~ msgid ""
-#~ "Usage: cupsaddsmb [options] printer1 ... printerN\n"
-#~ "       cupsaddsmb [options] -a\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "  -E               Encrypt the connection to the server\n"
-#~ "  -H samba-server  Use the named SAMBA server\n"
-#~ "  -U samba-user    Authenticate using the named SAMBA user\n"
-#~ "  -a               Export all printers\n"
-#~ "  -h cups-server   Use the named CUPS server\n"
-#~ "  -v               Be verbose (show commands)\n"
-#~ msgstr ""
-#~ "Penggunaan: cupsaddsmb [opsi] pencetak1 ... pencetakN\n"
-#~ "            cupsaddsmb [opsi] -a\n"
-#~ "\n"
-#~ "Opsi:\n"
-#~ "  -E               Mengenkripsi koneksi ke server\n"
-#~ "  -H samba-server  Menggunakan server SAMBA yang diberikan\n"
-#~ "  -U samba-user    Otentikasi menggunakan nama pengguna SAMBA yang "
-#~ "diberikan\n"
-#~ "  -a               Mengekspor semua pencetak\n"
-#~ "  -h cups-server   Menggunakan server CUPS yang ditentukan\n"
-#~ "  -v               Menjadi riuh (menampilkan perintah)\n"
-
-#~ msgid ""
-#~ "Usage: cupsctl [options] [param=value ... paramN=valueN]\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -E                      Enable encryption\n"
-#~ "    -U username             Specify username\n"
-#~ "    -h server[:port]        Specify server address\n"
-#~ "\n"
-#~ "    --[no-]debug-logging    Turn debug logging on/off\n"
-#~ "    --[no-]remote-admin     Turn remote administration on/off\n"
-#~ "    --[no-]remote-any       Allow/prevent access from the Internet\n"
-#~ "    --[no-]remote-printers  Show/hide remote printers\n"
-#~ "    --[no-]share-printers   Turn printer sharing on/off\n"
-#~ "    --[no-]user-cancel-any  Allow/prevent users to cancel any job\n"
-#~ msgstr ""
-#~ "Penggunaan: cupsctl [opsi] [param=nilai ... paramN=nilaiN]\n"
-#~ "\n"
-#~ "Opsi:\n"
-#~ "\n"
-#~ "    -E                      Mengaktifkan enkripsi\n"
-#~ "    -U namapengguna         Menentukan nama pengguna\n"
-#~ "    -h server[:portal       Menentukan alamat server\n"
-#~ "\n"
-#~ "    --[no-]debug-logging    Mengaktifkan/tidak pencatat debug\n"
-#~ "    --[no-]remote-admin     Mengaktifkan/tidak administrasi jarak jauh\n"
-#~ "    --[no-]remote-any       Biarkan/cegah akses dari Internet\n"
-#~ "    --[no-]remote-printers  Tampilkan/sembunyikan pencetak jarak jauh\n"
-#~ "    --[no-]share-printers   Mengaktifkan/tidak pencetak yang dikongsi\n"
-#~ "    --[no-]user-cancel-any  Biarkan/cegah pengguna biasa membatalkan "
-#~ "tugas\n"
-
-#~ msgid ""
-#~ "Usage: cupsd [-c config-file] [-f] [-F] [-h] [-l]\n"
-#~ "\n"
-#~ "-c config-file      Load alternate configuration file\n"
-#~ "-f                  Run in the foreground\n"
-#~ "-F                  Run in the foreground but detach\n"
-#~ "-h                  Show this usage message\n"
-#~ "-l                  Run cupsd from launchd(8)\n"
-#~ msgstr ""
-#~ "Penggunaan: cupsd [-c berkas-konfigurasi] [-f] [-F] [-h] [-l]\n"
-#~ "\n"
-#~ "-c berkas-konfigurasi  Memuat berkas konfigurasi alternatif\n"
-#~ "-f                     Berjalan pada latar depan\n"
-#~ "-F                     Berjalan pada latar depan tapi terpisah\n"
-#~ "-h                     Tampilkan pesan ini\n"
-#~ "-l                     Menjalankan cupsd dari launchd(8)\n"
-
-#~ msgid ""
-#~ "Usage: cupsfilter -m mime/type [ options ] filename\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "  -c cupsd.conf    Set cupsd.conf file to use\n"
-#~ "  -e               Use every filter from the PPD file\n"
-#~ "  -j job-id[,N]    Filter file N from the specified job (default is file "
-#~ "1)\n"
-#~ "  -n copies        Set number of copies\n"
-#~ "  -o name=value    Set option(s)\n"
-#~ "  -p filename.ppd  Set PPD file\n"
-#~ "  -t title         Set title\n"
-#~ msgstr ""
-#~ "Penggunaan: cupsfilter -m mime/jenis [ opsi ] berkas\n"
-#~ "\n"
-#~ "Opsi:\n"
-#~ "\n"
-#~ "  -c cupsd.conf    Mengeset berkas cupsd.conf untuk digunakan\n"
-#~ "  -e               Menggunakan tiap penyaring dari berkas PPD\n"
-#~ "  -j job-id[,N]    Menyaring berkas N dari tugas yang diberikan (baku "
-#~ "adalah berkas 1)\n"
-#~ "  -n copies        Mengeset banyaknya salinan\n"
-#~ "  -o name=value    Mengeset opsi\n"
-#~ "  -p filename.ppd  Mengeset berkas PPD\n"
-#~ "  -t title         Mengeset judul\n"
-
-#~ msgid ""
-#~ "Usage: cupstestdsc [options] filename.ps [... filename.ps]\n"
-#~ "       cupstestdsc [options] -\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -h       Show program usage\n"
-#~ "\n"
-#~ "    Note: this program only validates the DSC comments, not the "
-#~ "PostScript itself.\n"
-#~ msgstr ""
-#~ "Penggunaan: cupstestdsc [opsi] berkas.ps [... berkas.ps]\n"
-#~ "            cupstestdsc [opsi] -\n"
-#~ "\n"
-#~ "Opsi:\n"
-#~ "\n"
-#~ "    -h       Menampilkan cara guna program\n"
-#~ "\n"
-#~ "    Catatan: program ini hanya memvalidasi komentar DSC, bukan PostScript "
-#~ "itu sendiri.\n"
-
-#~ msgid ""
-#~ "Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]\n"
-#~ "       program | cupstestppd [options] -\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -R root-directory    Set alternate root\n"
-#~ "    -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,"
-#~ "translations}\n"
-#~ "                         Issue warnings instead of errors\n"
-#~ "    -q                   Run silently\n"
-#~ "    -r                   Use 'relaxed' open mode\n"
-#~ "    -v                   Be slightly verbose\n"
-#~ "    -vv                  Be very verbose\n"
-#~ msgstr ""
-#~ "Penggunaan: cupstestppd [opsi] berkas1.ppd[.gz] [... berkasN.ppd[.gz]]\n"
-#~ "       program | cupstestppd [opsi] -\n"
-#~ "\n"
-#~ "Opsi:\n"
-#~ "\n"
-#~ "    -R direktori-root    Mengeset root alternatif\n"
-#~ "    -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,"
-#~ "translations}\n"
-#~ "                         Menampilkan peringatan ketimbang kesalahan\n"
-#~ "    -q                   Berjalan senyap\n"
-#~ "    -r                   Menggunakan modus 'relaxed' terbuka\n"
-#~ "    -v                   Menjadi riuh\n"
-#~ "    -vv                  Menjadi sangat riuh\n"
-
-#~ msgid "Usage: lpmove job/src dest\n"
-#~ msgstr "Penggunaan: lpmove tugas/sumber tujuan\n"
-
-#~ msgid ""
-#~ "Usage: lpoptions [-h server] [-E] -d printer\n"
-#~ "       lpoptions [-h server] [-E] [-p printer] -l\n"
-#~ "       lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
-#~ "       lpoptions [-h server] [-E] -x printer\n"
-#~ msgstr ""
-#~ "Penggunaan: lpoptions [-h server] [-E] -d pencetak\n"
-#~ "            lpoptions [-h server] [-E] [-p pencetak] -l\n"
-#~ "            lpoptions [-h server] [-E] -p pencetak -o opsi[=nilai] ...\n"
-#~ "            lpoptions [-h server] [-E] -x pencetak\n"
-
-#~ msgid "Usage: lppasswd [-g groupname]\n"
-#~ msgstr "Penggunaan: lppasswd [-g namakelompok]\n"
-
-#~ msgid ""
-#~ "Usage: lppasswd [-g groupname] [username]\n"
-#~ "       lppasswd [-g groupname] -a [username]\n"
-#~ "       lppasswd [-g groupname] -x [username]\n"
-#~ msgstr ""
-#~ "Penggunaan: lppasswd [-g namakelompok] [namapengguna]\n"
-#~ "            lppasswd [-g namakelompok] -a [namapengguna]\n"
-#~ "            lppasswd [-g namakelompok] -x [namapengguna]\n"
-
-#~ msgid ""
-#~ "Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]\n"
-#~ msgstr ""
-#~ "Penggunaan: lpq [-P tujuan] [-U namapengguna] [-h namahost[:portal]] [-l] "
-#~ "[+interval]\n"
-
-#~ msgid ""
-#~ "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]\n"
-#~ "Options:\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "  -I include-dir       Add include directory to search path.\n"
-#~ "  -c catalog.po        Load the specified message catalog.\n"
-#~ "  -d output-dir        Specify the output directory.\n"
-#~ "  -l lang[,lang,...]   Specify the output language(s) (locale).\n"
-#~ "  -m                   Use the ModelName value as the filename.\n"
-#~ "  -t                   Test PPDs instead of generating them.\n"
-#~ "  -v                   Be verbose (more v's for more verbosity).\n"
-#~ "  -z                   Compress PPD files using GNU zip.\n"
-#~ "  --cr                 End lines with CR (Mac OS 9).\n"
-#~ "  --crlf               End lines with CR + LF (Windows).\n"
-#~ "  --lf                 End lines with LF (UNIX/Linux/Mac OS X).\n"
-#~ msgstr ""
-#~ "Penggunaan: ppdc [opsi] berkas.drv [ ... berkasN.drv ]\n"
-#~ "Opsi:\n"
-#~ "  -D nama=nilai        Atur nilai variabel bernama.\n"
-#~ "  -I dir-inklusi       Tambah direktori dalam jalur pencarian.\n"
-#~ "  -c katalog.po        Memuat katalog pesan yang diinginkan.\n"
-#~ "  -d dir-keluaran      Menentukan direktori keluaran.\n"
-#~ "  -l bhsa[,bhsa,...]   Menentukan bahasa keluaran (lokal).\n"
-#~ "  -m                   Menggunakan nilai ModelName sebagai nama berkas.\n"
-#~ "  -t                   Menguji PPD ketimbang membuatnya.\n"
-#~ "  -v                   Menjadi riuh (tambahkan v lagi untuk lebih riuh).\n"
-#~ "  -z                   Kompres berkas PPD dengan GNU zip.\n"
-#~ "  --cr                 Akhiri baris dengan CR (Mac OS 9).\n"
-#~ "  --crlf               Akhiri baris dengan CR + LF (Windows).\n"
-#~ "  --lf                 Akhiri baris dengan LF (UNIX/Linux/Mac OS X).\n"
-
-#~ msgid ""
-#~ "Usage: ppdhtml [options] filename.drv >filename.html\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "Options:\n"
-#~ "  -I include-dir       Add include directory to search path.\n"
-#~ msgstr ""
-#~ "Penggunaan: ppdhtml [opsi] berkas.drv >berkas.html\n"
-#~ "  -D nama=nilai        Atur nilai variabel bernama.\n"
-#~ "Opsi:\n"
-#~ "  -I dir-inklusi       Tambah direktori dalam jalur pencarian.\n"
-
-#~ msgid ""
-#~ "Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Options:\n"
-#~ "  -I include-dir\n"
-#~ "  -o filename.drv\n"
-#~ msgstr ""
-#~ "Penggunaan: ppdi [opsi] berkas.ppd [ ... berkasN.ppd ]\n"
-#~ "Opsi:\n"
-#~ "  -I direktori\n"
-#~ "  -o berkas.drv\n"
-
-#~ msgid ""
-#~ "Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Options:\n"
-#~ "  -o filename.ppd[.gz]\n"
-#~ msgstr ""
-#~ "Penggunaan: ppdmerge [opsi] berkas.ppd [ ... berkasN.ppd ]\n"
-#~ "Opsi:\n"
-#~ "  -o berkas.ppd[.gz]\n"
-
-#~ msgid ""
-#~ "Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]\n"
-#~ "Options:\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "  -I include-dir       Add include directory to search path.\n"
-#~ "  -v                   Be verbose (more v's for more verbosity).\n"
-#~ msgstr ""
-#~ "Penggunaan: ppdpo [opsi] -o berkas.po berkas.drv [ ... berkasN.drv ]\n"
-#~ "Opsi:\n"
-#~ "  -D nama=nilai        Mengeset nilai variabel bernama.\n"
-#~ "  -I dir-inklusi       Tambah direktori dalam jalur pencarian.\n"
-#~ "  -v                   Menjadi riuh (tambahkan v lagi untuk lebih riuh).\n"
-
-#~ msgid "Usage: snmp [host-or-ip-address]\n"
-#~ msgstr "Penggunaan: snmp [host-atau-alamat-ip]\n"
-
-#~ msgid "WARNING: Adding only the first %d printers found"
-#~ msgstr "WARNING: Hanya menambah %d pencetak pertama yang ditemukan"
-
-#~ msgid "WARNING: Boolean expected for waiteof option \"%s\"\n"
-#~ msgstr "WARNING: Diharapkan boolean untuk opsi waiteof \"%s\"\n"
-
-#~ msgid "WARNING: Failed to read side-channel request!\n"
-#~ msgstr "WARNING: Gagal membaca permintaan kanal sisi!\n"
-
-#~ msgid "WARNING: Option \"%s\" cannot be included via IncludeFeature!\n"
-#~ msgstr "WARNING: Opsi \"%s\" tidak akan disertakan via IncludeFeature!\n"
-
-#~ msgid "WARNING: Printer not responding\n"
-#~ msgstr "WARNING: Pencetak tidak merespon!\n"
-
-#~ msgid "WARNING: Printer sent unexpected EOF\n"
-#~ msgstr "WARNING: Pencetak mengirim EOF yang tak diharapkan\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with command status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: Host jarak jauh tidak merespon pada bita status perintah usai %d "
-#~ "detik!\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with control status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: Host jarak jauh tidak merespon pada bita kontrol status usai %d "
-#~ "detik!\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with data status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: Host jarak jauh tidak merespon pada bita status data usai %d "
-#~ "detik!\n"
-
-#~ msgid "WARNING: SCSI command timed out (%d); retrying...\n"
-#~ msgstr "WARNING: Perintah SCSI kehabisan waktu (%d); mencoba ulang...\n"
-
-#~ msgid ""
-#~ "WARNING: This document does not conform to the Adobe Document Structuring "
-#~ "Conventions and may not print correctly!\n"
-#~ msgstr ""
-#~ "WARNING: Dokumen ini tidak sesuai dengan Adobe Document Structuring "
-#~ "Conventions dan mungkin tidak tercetak dengan benar!\n"
-
-#~ msgid "WARNING: Unable to open \"%s:%s\": %s\n"
-#~ msgstr "WARNING: Tidak bisa membuka \"%s:%s\": %s\n"
-
-#~ msgid "WARNING: Unable to send PAP status request"
-#~ msgstr "WARNING: Tidak bisa mengirim permintaan status PAP"
-
-#~ msgid "WARNING: Unknown PAP packet of type %d\n"
-#~ msgstr "WARNING: Paket PAP berjenis %d tak dikenal\n"
-
-#~ msgid "WARNING: Unknown choice \"%s\" for option \"%s\"!\n"
-#~ msgstr "WARNING: Pilihan \"%s\" tak dikenal untuk opsi \"%s\"!\n"
-
-#~ msgid "WARNING: Unknown option \"%s\"!\n"
-#~ msgstr "WARNING: Opsi \"%s\" tak dikenal!\n"
-
-#~ msgid "WARNING: number expected for status option \"%s\"\n"
-#~ msgstr "WARNING: angka diharapkan untuk opsi status \"%s\"\n"
-
-#~ msgid "Warning, no Windows 2000 printer drivers are installed!"
-#~ msgstr "Peringatan, tak ada penggerak pencetak Windows 2000 yang terpasang!"
-
-#~ msgid "You4 Envelope"
-#~ msgstr "You4 Amplop"
-
-#~ msgid "convert: Use the -f option to specify a file to convert.\n"
-#~ msgstr ""
-#~ "konversi: Gunakan opsi -f untuk menentukan berkas yang hendak "
-#~ "dikonversi.\n"
-
-#~ msgid "cupsaddsmb: No PPD file for printer \"%s\" - %s\n"
-#~ msgstr "cupsaddsmb: Tidak ada berkas PPD untuk pencetak \"%s\" - %s\n"
-
-#~ msgid "cupsctl: Unable to connect to server: %s\n"
-#~ msgstr "cupsctl: Tidak bisa menghubungi server: %s\n"
-
-#~ msgid "cupsctl: Unknown option \"%s\"!\n"
-#~ msgstr "cupsctl: Opsi tak dikenal \"%s\"!\n"
-
-#~ msgid "cupsctl: Unknown option \"-%c\"!\n"
-#~ msgstr "cupsctl: Opsi tak dikenal \"-%c\"!\n"
-
-#~ msgid "cupsd: Expected config filename after \"-c\" option!\n"
-#~ msgstr "cupsd: Diharapkan nama berkas konfigurasi usai opsi \"-c\"!\n"
-
-#~ msgid "cupsd: Unable to get current directory!\n"
-#~ msgstr "cupsd: Tidak bisa memperoleh direktori sekarang!\n"
-
-#~ msgid "cupsd: Unknown argument \"%s\" - aborting!\n"
-#~ msgstr "cupsd: Argumen \"%s\" tak dikenal - digagalkan!\n"
-
-#~ msgid "cupsd: Unknown option \"%c\" - aborting!\n"
-#~ msgstr "cupsd: Opsi \"%c\" tak dikenal - digagalkan!\n"
-
-#~ msgid "cupsd: launchd(8) support not compiled in, running in normal mode.\n"
-#~ msgstr ""
-#~ "cupsd: dukungan launchd(8) tidak dikompilasi serta, menjalankan dalam "
-#~ "modus normal.\n"
-
-#~ msgid "cupsfilter: Invalid document number %d!\n"
-#~ msgstr "cupsfilter: Jumlah dokumen %d tidak sah!\n"
-
-#~ msgid "cupsfilter: Invalid job ID %d!\n"
-#~ msgstr "cupsfilter: ID tugas %d tak sah!\n"
-
-#~ msgid "cupsfilter: Only one filename can be specified!\n"
-#~ msgstr "cupsfilter: Hanya satu nama berkas yang bisa ditentukan!\n"
-
-#~ msgid "cupsfilter: Unable to get job file - %s\n"
-#~ msgstr "cupsfilter: Tidak bisa memperoleh berkas tugas - %s\n"
-
-#~ msgid "cupstestppd: The -q option is incompatible with the -v option.\n"
-#~ msgstr "cupstestppd: Opsi -q tidak cocok dengan opsi -v.\n"
-
-#~ msgid "cupstestppd: The -v option is incompatible with the -q option.\n"
-#~ msgstr "cupstestppd: Opsi -v tidak cocok dengan opsi -q.\n"
-
-#~ msgid "device for %s/%s: %s\n"
-#~ msgstr "perangkat untuk %s/%s: %s\n"
-
-#~ msgid "device for %s: %s\n"
-#~ msgstr "perangkat untuk %s: %s\n"
-
-#~ msgid "help\t\tget help on commands\n"
-#~ msgstr "bantuan\t\tmemperoleh bantuan dari baris perintah\n"
-
-#~ msgid "job-printer-uri attribute missing!"
-#~ msgstr "Atribut job-printer-uri hilang!"
-
-#~ msgid "lpadmin: Class name can only contain printable characters!\n"
-#~ msgstr "lpadmin: Nama kelas hanya boleh diisi karakter cetak!\n"
-
-#~ msgid "lpadmin: Expected PPD after '-P' option!\n"
-#~ msgstr "lpadmin: Diharapkan PPD usai opsi '-P'!\n"
-
-#~ msgid "lpadmin: Expected allow/deny:userlist after '-u' option!\n"
-#~ msgstr "lpadmin: Diharapkan allow/deny:daftarpengguna usai opsi '-u'!\n"
-
-#~ msgid "lpadmin: Expected class after '-r' option!\n"
-#~ msgstr "lpadmin: Diharapkan kelas usai opsi '-r'!\n"
-
-#~ msgid "lpadmin: Expected class name after '-c' option!\n"
-#~ msgstr "lpadmin: Diharapkan nama kelas usai opsi '-c'!\n"
-
-#~ msgid "lpadmin: Expected description after '-D' option!\n"
-#~ msgstr "lpadmin: Diharapkan deskripsi usai opsi '-D'!\n"
-
-#~ msgid "lpadmin: Expected device URI after '-v' option!\n"
-#~ msgstr "lpadmin: Diharapkan URI perangkat usai opsi '-v'!\n"
-
-#~ msgid "lpadmin: Expected file type(s) after '-I' option!\n"
-#~ msgstr "lpadmin: Diharapkan jenis berkas usai opsi '-I'!\n"
-
-#~ msgid "lpadmin: Expected hostname after '-h' option!\n"
-#~ msgstr "lpadmin: Diharapkan nama host usai opsi '-h'!\n"
-
-#~ msgid "lpadmin: Expected interface after '-i' option!\n"
-#~ msgstr "lpadmin: Diharapkan antarmuka usai opsi '-i'!\n"
-
-#~ msgid "lpadmin: Expected location after '-L' option!\n"
-#~ msgstr "lpadmin: Diharapkan lokasi usai opsi '-L'!\n"
-
-#~ msgid "lpadmin: Expected model after '-m' option!\n"
-#~ msgstr "lpadmin: Diharapkan model usai opsi '-m'!\n"
-
-#~ msgid "lpadmin: Expected name=value after '-o' option!\n"
-#~ msgstr "lpadmin: Diharapkan nama=nilai usai opsi '-o'!\n"
-
-#~ msgid "lpadmin: Expected printer after '-p' option!\n"
-#~ msgstr "lpadmin: Diharapkan pencetak usai opsi '-p'!\n"
-
-#~ msgid "lpadmin: Expected printer name after '-d' option!\n"
-#~ msgstr "lpadmin: Diharapkan nama pencetak usai opsi '-d'!\n"
-
-#~ msgid "lpadmin: Expected printer or class after '-x' option!\n"
-#~ msgstr "lpadmin: Diharapkan pencetak atau kelas usai opsi '-x'!\n"
-
-#~ msgid "lpadmin: No member names were seen!\n"
-#~ msgstr "lpadmin: Tidak ada nama anggota yang terlihat!\n"
-
-#~ msgid "lpadmin: Printer %s is already a member of class %s.\n"
-#~ msgstr "lpadmin: Pencetak %s sudah menjadi anggota kelas %s.\n"
-
-#~ msgid "lpadmin: Printer %s is not a member of class %s.\n"
-#~ msgstr "lpadmin: Pencetak %s bukanlah anggota kelas %s.\n"
-
-#~ msgid "lpadmin: Printer name can only contain printable characters!\n"
-#~ msgstr "lpadmin: Nama pencetak hanya bisa mengandung karakter cetak!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to add a printer to the class:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Tidak bisa menambah pencetak ke kelas:\n"
-#~ "         Anda harus menentukan nama pencetak lebih dulu!\n"
-
-#~ msgid "lpadmin: Unable to connect to server: %s\n"
-#~ msgstr "lpadmin: Tidak bisa terkoneksi ke server: %s\n"
-
-#~ msgid "lpadmin: Unable to open PPD file \"%s\" - %s\n"
-#~ msgstr "lpadmin: Tidak bisa membuka berkas PPD \"%s\" - %s\n"
-
-#~ msgid "lpadmin: Unable to open file \"%s\": %s\n"
-#~ msgstr "lpadmin: Tidak bisa membuka berkas \"%s\": %s\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to remove a printer from the class:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Tidak bisa membuang pencetak dari kelas:\n"
-#~ "         Anda harus menentukan nama pencetak lebih dulu!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the PPD file:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Tidak bisa mengeset berkas PPD:\n"
-#~ "         Anda harus menentukan nama pencetak lebih dulu!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the device URI:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Tidak bisa mengeset URI perangkat:\n"
-#~ "         Anda harus menentukan nama pencetak lebih dulu!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the interface script or PPD file:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Tidak bisa mengeset skrip antarmuka atau berkas PPD:\n"
-#~ "         Anda harus menentukan nama pencetak lebih dulu!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the interface script:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Tidak bisa mengeset skrip antarmuka:\n"
-#~ "         Anda harus menentukan nama pencetak lebih dulu!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer description:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Tidak bisa mengeset deskripsi pencetak:\n"
-#~ "         Anda harus menentukan nama pencetak lebih dulu!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer location:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Tidak bisa mengeset lokasi pencetak:\n"
-#~ "         Anda harus menentukan nama pencetak lebih dulu!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer options:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Tidak bisa mengeset opsi pencetak:\n"
-#~ "         Anda harus menentukan nama pencetak lebih dulu!\n"
-
-#~ msgid "lpadmin: Unknown allow/deny option \"%s\"!\n"
-#~ msgstr "lpadmin: Opsi boleh/larang tak dikenal \"%s\"!\n"
-
-#~ msgid "lpadmin: Unknown argument '%s'!\n"
-#~ msgstr "lpadmin: Argumen tak dikenal '%s'!\n"
-
-#~ msgid "lpadmin: Unknown option '%c'!\n"
-#~ msgstr "lpadmin: Opsi tak dikenal '%c'!\n"
-
-#~ msgid "lpadmin: Warning - content type list ignored!\n"
-#~ msgstr "lpadmin: Peringatan - jenis isi diabaikan!\n"
-
-#~ msgid "lpinfo: Expected language after --language!\n"
-#~ msgstr "lpinfo: Diharapkan bahasa usai --language!\n"
-
-#~ msgid "lpinfo: Expected make and model after --make-and-model!\n"
-#~ msgstr "lpinfo: Diharapkan pembuat dan model usai --make-and-model!\n"
-
-#~ msgid "lpinfo: Expected product string after --product!\n"
-#~ msgstr "lpinfo: Diharapkan string produk usai --product!\n"
-
-#~ msgid "lpinfo: Expected scheme list after --exclude-schemes!\n"
-#~ msgstr "lpinfo: Diharapkan daftar skema usai --exclude-scemes!\n"
-
-#~ msgid "lpinfo: Expected scheme list after --include-schemes!\n"
-#~ msgstr "lpinfo: Diharapkan daftar skema usai --include-schemes!\n"
-
-#~ msgid "lpinfo: Expected timeout after --timeout!\n"
-#~ msgstr "lpinfo: Diharapkan waktu habis usai --timeout!\n"
-
-#~ msgid "lpinfo: Unknown argument '%s'!\n"
-#~ msgstr "lpinfo: Argumen tak dikenal '%s'!\n"
-
-#~ msgid "lpinfo: Unknown option '%c'!\n"
-#~ msgstr "lpinfo: Opsi tak dikenal '%c'!\n"
-
-#~ msgid "lpinfo: Unknown option '%s'!\n"
-#~ msgstr "lpinfo: Opsi tak dikenal '%s'!\n"
-
-#~ msgid "lpmove: Unable to connect to server: %s\n"
-#~ msgstr "lpmove: Tidak bisa terkoneksi ke server: %s\n"
-
-#~ msgid "lpmove: Unknown argument '%s'!\n"
-#~ msgstr "lpmove: Argumen tak dikenal '%s'!\n"
-
-#~ msgid "lpmove: Unknown option '%c'!\n"
-#~ msgstr "lpmove: Opsi tak dikenal '%c'!\n"
-
-#~ msgid "lpoptions: No printers!?!\n"
-#~ msgstr "lpoptions: Tidak ada pencetak!?!\n"
-
-#~ msgid "lpoptions: Unable to add printer or instance: %s\n"
-#~ msgstr "lpoptions: Tidak bisa menambah pencetak: %s\n"
-
-#~ msgid "lpoptions: Unable to get PPD file for %s: %s\n"
-#~ msgstr "lpoptions: Tidak bisa mendapatkan berkas PPD untuk %s: %s\n"
-
-#~ msgid "lpoptions: Unable to open PPD file for %s!\n"
-#~ msgstr "lpoptions: Tidak bisa membuka berkas PPD untuk %s!\n"
-
-#~ msgid "lpoptions: Unknown printer or class!\n"
-#~ msgstr "lpoptions: Pencetak atau kelas tak dikenal!\n"
-
-#~ msgid "lppasswd: Only root can add or delete passwords!\n"
-#~ msgstr "lppasswd: Hanya root yang bisa menambah atau menghapus sandi!\n"
-
-#~ msgid "lppasswd: Password file busy!\n"
-#~ msgstr "lppasswd: Berkas sandi sedang sibuk!\n"
-
-#~ msgid "lppasswd: Password file not updated!\n"
-#~ msgstr "lppasswd: Berkas sandi tidak diperbaharui!\n"
-
-#~ msgid "lppasswd: Sorry, password doesn't match!\n"
-#~ msgstr "lppasswd: Maaf, sandi tidak cocok!\n"
-
-#~ msgid ""
-#~ "lppasswd: Sorry, password rejected.\n"
-#~ "Your password must be at least 6 characters long, cannot contain\n"
-#~ "your username, and must contain at least one letter and number.\n"
-#~ msgstr ""
-#~ "lppasswd: Maaf, sandi ditolak.\n"
-#~ "Sandi Anda harus setidaknya 6 karakter, tidak memuat\n"
-#~ "nama pengguna Anda, dan setidaknya memiliki satu huruf serta angka.\n"
-
-#~ msgid "lppasswd: Sorry, passwords don't match!\n"
-#~ msgstr "lppasswd: Maaf, sandi tidak cocok!\n"
-
-#~ msgid "lppasswd: Unable to copy password string: %s\n"
-#~ msgstr "lppasswd: Tidak bisa menyalin string sandi: %s\n"
-
-#~ msgid "lppasswd: Unable to open password file: %s\n"
-#~ msgstr "lppasswd: Tidak bisa membuka berkas sandi: %s\n"
-
-#~ msgid "lppasswd: Unable to write to password file: %s\n"
-#~ msgstr "lppasswd: Tidak bisa menulis ke berkas sandi: %s\n"
-
-#~ msgid "lppasswd: failed to backup old password file: %s\n"
-#~ msgstr "lppasswd: gagal mencadangkan berkas sandi yang lama: %s\n"
-
-#~ msgid "lppasswd: failed to rename password file: %s\n"
-#~ msgstr "lppasswd: gagal mengubah nama berkas sandi: %s\n"
-
-#~ msgid "lppasswd: user \"%s\" and group \"%s\" do not exist.\n"
-#~ msgstr "lppasswd: pengguna \"%s\" dan kelompok \"%s\" tidak ada.\n"
-
-#~ msgid ""
-#~ "lpstat: error - %s environment variable names non-existent destination \"%"
-#~ "s\"!\n"
-#~ msgstr ""
-#~ "lpstat: kesalahan - nama variabel lingkungan %s bukanlah tujuan yang ada "
-#~ "\"%s\"!\n"
-
-#~ msgid "members of class %s:\n"
-#~ msgstr "anggota kelas %s:\n"
-
-#~ msgid "no entries\n"
-#~ msgstr "tak ada entri\n"
-
-#~ msgid "no system default destination\n"
-#~ msgstr "tak ada tujuan sistem utama\n"
-
-#~ msgid "notify-events not specified!"
-#~ msgstr "notify-events tidak dispesifikasikan!"
-
-#~ msgid "notify-recipient-uri URI \"%s\" is already used!"
-#~ msgstr "URI notify-recipient-uri \"%s\" sudah dipakai!"
-
-#~ msgid "notify-recipient-uri URI \"%s\" uses unknown scheme!"
-#~ msgstr "URI notify-recipient-uri \"%s\" memakai skema tak dikenal!"
-
-#~ msgid "notify-subscription-id %d no good!"
-#~ msgstr "notify-subscription-id %d tidak baik!"
-
-#~ msgid "ppdc: Adding include directory \"%s\"...\n"
-#~ msgstr "ppdc: Menambahkan direktori \"%s\"...\n"
-
-#~ msgid "ppdc: Adding/updating UI text from %s...\n"
-#~ msgstr "ppdf: Menambah/memperbaharui teks UI dari %s...\n"
-
-#~ msgid "ppdc: Bad boolean value (%s) on line %d of %s.\n"
-#~ msgstr "ppdc: Nilai boolean jelek (%s) pada baris %d dari %s.\n"
-
-#~ msgid "ppdc: Bad resolution name \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Nama resolusi jelek \"%s\" pada baris %d dari %s!\n"
-
-#~ msgid "ppdc: Bad status keyword %s on line %d of %s!\n"
-#~ msgstr "ppdc: Kata kunci status jelek %s pada baris %d dari %s!\n"
-
-#~ msgid "ppdc: Bad variable substitution ($%c) on line %d of %s.\n"
-#~ msgstr "ppdc: Subtitusi variabel jelek ($%c) pada baris %d dari %s.\n"
-
-#~ msgid "ppdc: Choice found on line %d of %s with no Option!\n"
-#~ msgstr "ppdc: Ditemukan pilihan pada baris %d dari %s tanpa Option!\n"
-
-#~ msgid "ppdc: Duplicate #po for locale %s on line %d of %s!\n"
-#~ msgstr "ppdc: Duplikat #po untuk lokal %s pada baris %d dari %s!\n"
-
-#~ msgid "ppdc: Expected a filter definition on line %d of %s!\n"
-#~ msgstr "ppdc: Diharapkan definisi penyaring pada baris %d dari %s!\n"
-
-#~ msgid "ppdc: Expected a program name on line %d of %s!\n"
-#~ msgstr "ppdc: Diharapkan nama program pada baris %d dari %s!\n"
-
-#~ msgid "ppdc: Expected boolean value on line %d of %s.\n"
-#~ msgstr "ppdc: Diharapkan nilai boolean pada baris %d dari %s.\n"
-
-#~ msgid "ppdc: Expected choice code on line %d of %s.\n"
-#~ msgstr "ppdc: Diharapkan kode pilihan pada baris %d dari %s.\n"
-
-#~ msgid "ppdc: Expected choice name/text on line %d of %s.\n"
-#~ msgstr "ppdc: Diharapkan nama/teks pilihan pada baris %d dari %s.\n"
-
-#~ msgid "ppdc: Expected color order for ColorModel on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Diharapkan urutan warna untuk ColorModel pada baris %d dari %s!\n"
-
-#~ msgid "ppdc: Expected colorspace for ColorModel on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Diharapkan ruang warna untuk ColorModel pada baris %d dari %s!\n"
-
-#~ msgid "ppdc: Expected compression for ColorModel on line %d of %s!\n"
-#~ msgstr "ppdc: Diharapkan kompresi untuk ColorModel pada baris %d dari %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected constraints string for UIConstraints on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Diharapkan string konstrain untuk UIConstraints pada baris %d dari %"
-#~ "s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected driver type keyword following DriverType on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc: Diharapkan kata kunci jenis penggerak diikuti DriverType pada baris "
-#~ "%d dari %s!\n"
-
-#~ msgid "ppdc: Expected duplex type after Duplex on line %d of %s!\n"
-#~ msgstr "ppdc: Diharapkan jenis dupleks usai Duplex pada baris %d dari %s!\n"
-
-#~ msgid "ppdc: Expected encoding after Font on line %d of %s!\n"
-#~ msgstr "ppdc: Diharapkan enkode usai Font pada baris %d dari %s!\n"
-
-#~ msgid "ppdc: Expected filename after #po %s on line %d of %s!\n"
-#~ msgstr "ppdc: Diharapkan nama berkas usai #po %s pada baris %d dari %s!\n"
-
-#~ msgid "ppdc: Expected group name/text on line %d of %s!\n"
-#~ msgstr "ppdc: Diharapkan nama/teks kelompok pada baris %d dari %s!\n"
-
-#~ msgid "ppdc: Expected include filename on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Diharapkan nama berkas yang disertakan pada baris %d dari %s!\n"
-
-#~ msgid "ppdc: Expected integer on line %d of %s!\n"
-#~ msgstr "ppdc: Diharapkan integer pada baris %d dari %s!\n"
-
-#~ msgid "ppdc: Expected locale after #po on line %d of %s!\n"
-#~ msgstr "ppdc: Diharapkan lokal usai #po pada baris %d dari %s!\n"
-
-#~ msgid "ppdc: Expected name after %s on line %d of %s!\n"
-#~ msgstr "ppdc: Diharapkan nama usai %s pada baris %d dari %s!\n"
-
-#~ msgid "ppdc: Expected name after FileName on line %d of %s!\n"
-#~ msgstr "ppdc: Diharapkan nama usai FileName pada baris %d dari %s!\n"
-
-#~ msgid "ppdc: Expected name after Font on line %d of %s!\n"
-#~ msgstr "ppdc: Diharapkan nama usai Font pada baris %d dari %s!\n"
-
-#~ msgid "ppdc: Expected name after Manufacturer on line %d of %s!\n"
-#~ msgstr "ppdc: Diharapkan nama usai Manufacturer pada baris %d dari %s!\n"
-
-#~ msgid "ppdc: Expected name after MediaSize on line %d of %s!\n"
-#~ msgstr "ppdc: Diharapkan nama usai MediaSize pada baris %d dari %s!\n"
-
-#~ msgid "ppdc: Expected name after ModelName on line %d of %s!\n"
-#~ msgstr "ppdc: Diharapkan nama usai ModelName pada baris %d dari %s!\n"
-
-#~ msgid "ppdc: Expected name after PCFileName on line %d of %s!\n"
-#~ msgstr "ppdc: Diharapkan nama usai PCFileName pada baris %d dari %s!\n"
-
-#~ msgid "ppdc: Expected name/text after %s on line %d of %s!\n"
-#~ msgstr "ppdc: Diharapkan nama/teks usai %s pada baris %d dari %s!\n"
-
-#~ msgid "ppdc: Expected name/text after Installable on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Diharapkan nama/teks usai Installable pada baris %d dari %s!\n"
-
-#~ msgid "ppdc: Expected name/text after Resolution on line %d of %s!\n"
-#~ msgstr "ppdc: Diharapkan nama/teks usai Resolution pada baris %d dari %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected name/text combination for ColorModel on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Diharapkan nama/teks kombinasi untuk ColorModel pada baris %d dari %"
-#~ "s!\n"
-
-#~ msgid "ppdc: Expected option name/text on line %d of %s!\n"
-#~ msgstr "ppdc: Diharapkan opsi nama/teks pada baris %d dari %s!\n"
-
-#~ msgid "ppdc: Expected option section on line %d of %s!\n"
-#~ msgstr "ppdc: Diharapkan opsi seksi pada baris %d dari %s!\n"
-
-#~ msgid "ppdc: Expected option type on line %d of %s!\n"
-#~ msgstr "ppdc: Diharapkan opsi jenis pada baris %d dari %s!\n"
-
-#~ msgid "ppdc: Expected real number on line %d of %s!\n"
-#~ msgstr "ppdc: Diharapkan bilangan real pada baris %d dari %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected resolution/mediatype following ColorProfile on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc: Diharapkan resolusi/jenis media diikuti ColorProfile pada baris %d "
-#~ "dari %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected resolution/mediatype following SimpleColorProfile on line %"
-#~ "d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Diharapkan resolusi/jenis media diikuti SimpleColorProfile pada "
-#~ "baris %d dari %s!\n"
-
-#~ msgid "ppdc: Expected selector after %s on line %d of %s!\n"
-#~ msgstr "ppdc: Diharapan selektor usai %s pada baris %d dari %s!\n"
-
-#~ msgid "ppdc: Expected status after Font on line %d of %s!\n"
-#~ msgstr "ppdc: Diharapkan status usai Font pada baris %d dari %s!\n"
-
-#~ msgid "ppdc: Expected string after Copyright on line %d of %s!\n"
-#~ msgstr "ppdc: Diharapkan string usai Copyright pada baris %d dari %s!\n"
-
-#~ msgid "ppdc: Expected string after Version on line %d of %s!\n"
-#~ msgstr "ppdc: Diharapkan string usai Version pada baris %d dari %s!\n"
-
-#~ msgid "ppdc: Expected two option names on line %d of %s!\n"
-#~ msgstr "ppdc: Diharapkan dua opsi nama pada baris %d dari %s!\n"
-
-#~ msgid "ppdc: Expected value after %s on line %d of %s!\n"
-#~ msgstr "ppdc: Diharapkan nilai usai %s pada baris %d dari %s!\n"
-
-#~ msgid "ppdc: Expected version after Font on line %d of %s!\n"
-#~ msgstr "ppdc: Diharapkan versi usai Font pada baris %d dari %s!\n"
-
-#~ msgid "ppdc: Invalid #include/#po filename \"%s\"!\n"
-#~ msgstr "ppdc: Nama berkas #include/#po \"%s\" tak sah!\n"
-
-#~ msgid "ppdc: Invalid cost for filter on line %d of %s!\n"
-#~ msgstr "ppdc: Nilai tak sah bagi penyaring pada baris %d dari %s!\n"
-
-#~ msgid "ppdc: Invalid empty MIME type for filter on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Jenis MIME kosong tak sah untuk penyaring pada baris %d dari %s!\n"
-
-#~ msgid "ppdc: Invalid empty program name for filter on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Nama program korong tak sah untuk penyaring pada baris %d dari %s!\n"
-
-#~ msgid "ppdc: Invalid option section \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Seksi opsi \"%s\" tak sah pada baris %d dari %s!\n"
-
-#~ msgid "ppdc: Invalid option type \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Jenis opsi \"%s\" tak sah pada baris %d dari %s!\n"
-
-#~ msgid "ppdc: Loading driver information file \"%s\"...\n"
-#~ msgstr "ppdc: Memuat berkas informasi penggerak \"%s\"...\n"
-
-#~ msgid "ppdc: Loading messages for locale \"%s\"...\n"
-#~ msgstr "ppdc: Memuat pesan untuk loakl \"%s\"...\n"
-
-#~ msgid "ppdc: Loading messages from \"%s\"...\n"
-#~ msgstr "ppdc: Memuat pesan dari \"%s\"...\n"
-
-#~ msgid "ppdc: Missing #endif at end of \"%s\"!\n"
-#~ msgstr "ppdc: Kehilangan #endif di akhir \"%s\"!\n"
-
-#~ msgid "ppdc: Missing #if on line %d of %s!\n"
-#~ msgstr "ppdc: Kehilangan #if pada baris %d dari %s!\n"
-
-#~ msgid "ppdc: No message catalog provided for locale %s!\n"
-#~ msgstr "ppdc: Tak tersedia katalog pesan untuk lokal %s!\n"
-
-#~ msgid "ppdc: Too many nested #if's on line %d of %s!\n"
-#~ msgstr "ppdc: Terlalu banyak #if bersarang pada baris %d dari %s!\n"
-
-#~ msgid "ppdc: Unable to create PPD file \"%s\" - %s.\n"
-#~ msgstr "ppdc: Tidak bisa membuat berkas PPD \"%s\" - %s.\n"
-
-#~ msgid "ppdc: Unable to create output directory %s: %s\n"
-#~ msgstr "ppdc: Tidak bisa membuat direktori keluaran %s: %s\n"
-
-#~ msgid "ppdc: Unable to create output pipes: %s\n"
-#~ msgstr "ppdc: Tidak bisa membuat pipa keluaran: %s\n"
-
-#~ msgid "ppdc: Unable to execute cupstestppd: %s\n"
-#~ msgstr "ppdc: Tidak bisa mengeksekusi cupstestppd: %s\n"
-
-#~ msgid "ppdc: Unable to find #po file %s on line %d of %s!\n"
-#~ msgstr "ppdc: Tidak bisa menemukan berkas #po %s pada baris %d dari %s!\n"
-
-#~ msgid "ppdc: Unable to find include file \"%s\" on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Tidak bisa menemukan berkas yang disertakan \"%s\" pada baris %d "
-#~ "dari %s!\n"
-
-#~ msgid "ppdc: Unable to find localization for \"%s\" - %s\n"
-#~ msgstr "ppdc: Tidak bisa menemukan lokalisasi bagi \"%s\" - %s\n"
-
-#~ msgid "ppdc: Unable to load localization file \"%s\" - %s\n"
-#~ msgstr "ppdc: Tidak bisa memuat berkas lokalisasi \"%s\" - %s\n"
-
-#~ msgid "ppdc: Undefined variable (%s) on line %d of %s.\n"
-#~ msgstr "ppdc: Variabel tak berdefinisi (%s) pada baris %d dari %s.\n"
-
-#~ msgid "ppdc: Unknown driver type %s on line %d of %s!\n"
-#~ msgstr "ppdc: Jenis penggerak tak dikenal %s pada baris %d dari %s!\n"
-
-#~ msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Jenis dupleks tak dikenal \"%s\" pada baris %d dari %s!\n"
-
-#~ msgid "ppdc: Unknown media size \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Ukuran media tak dikenal \"%s\" pada baris %d dari %s!\n"
-
-#~ msgid "ppdc: Writing %s...\n"
-#~ msgstr "ppdc: Menulis %s...\n"
-
-#~ msgid "ppdc: Writing PPD files to directory \"%s\"...\n"
-#~ msgstr "ppdc: Menulis berkas PPD ke direktori \"%s\"...\n"
-
-#~ msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s!\n"
-#~ msgstr "ppdmerge: LanguageVersion \"%s\" jelek pada %s!\n"
-
-#~ msgid "ppdmerge: Ignoring PPD file %s...\n"
-#~ msgstr "ppdmerge: Mengabaikan berkas PPD %s...\n"
-
-#~ msgid "ppdmerge: Unable to backup %s to %s- %s\n"
-#~ msgstr "ppdmerge: Tidak bisa mencadangkan %s ke %s- %s\n"
-
-#~ msgid "printer %s disabled since %s -\n"
-#~ msgstr "pencetak %s ditiadakan sejak %s -\n"
-
-#~ msgid "printer %s is idle.  enabled since %s\n"
-#~ msgstr "pencetak %s sedang menganggur.  diaktifkan sejak %s\n"
-
-#~ msgid "printer %s now printing %s-%d.  enabled since %s\n"
-#~ msgstr "pencetak %s saat ini tengah mencetak %s-%d.  diaktifkan sejak %s\n"
-
-#~ msgid "printer %s/%s disabled since %s -\n"
-#~ msgstr "pencetak %s/%s dinonaktifkan sejak %s -\n"
-
-#~ msgid "printer %s/%s is idle.  enabled since %s\n"
-#~ msgstr "pencetak %s/%s sedang menganggur.  diaktifkan sejak %s\n"
-
-#~ msgid "printer %s/%s now printing %s-%d.  enabled since %s\n"
-#~ msgstr ""
-#~ "pencetak %s/%s saat ini tengah mencetak %s-%d.  diaktifkan sejak %s\n"
-
-#~ msgid "request id is %s-%d (%d file(s))\n"
-#~ msgstr "identitas permintaan adalah %s-%d (%d berkas)\n"
-
-#~ msgid "scheduler is not running\n"
-#~ msgstr "penjadwal tidak berjalan\n"
-
-#~ msgid "scheduler is running\n"
-#~ msgstr "penjadwal tengah berjalan\n"
-
-#~ msgid "status\t\tshow status of daemon and queue\n"
-#~ msgstr "status\t\tmenampilkan status daemon dan antrian\n"
-
-#~ msgid "system default destination: %s\n"
-#~ msgstr "tujuan utama sistem: %s\n"
-
-#~ msgid "system default destination: %s/%s\n"
-#~ msgstr "tujuan utama sistem: %s/%s\n"
diff --git a/locale/cups_it.po b/locale/cups_it.po
deleted file mode 100644 (file)
index b0c0969..0000000
+++ /dev/null
@@ -1,8926 +0,0 @@
-# Vincenzo Reale <smart2128@baslug.org>, 2009.
-msgid ""
-msgstr ""
-"Project-Id-Version: CUPS 1.4\n"
-"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2012-03-07 13:38-0800\n"
-"PO-Revision-Date: 2010-01-10 01:03+0100\n"
-"Last-Translator: Vincenzo Reale <smart2128@baslug.org>\n"
-"Language-Team: Italian <kde-i18n-it@kde.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: it\n"
-"X-Generator: Lokalize 1.0\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-msgid "\t\t(all)"
-msgstr ""
-
-msgid "\t\t(none)"
-msgstr ""
-
-#, c-format
-msgid "\t%d entries"
-msgstr ""
-
-#, c-format
-msgid "\t%s"
-msgstr ""
-
-msgid "\tAfter fault: continue"
-msgstr ""
-
-#, c-format
-msgid "\tAlerts: %s"
-msgstr ""
-
-msgid "\tBanner required"
-msgstr ""
-
-msgid "\tCharset sets:"
-msgstr ""
-
-msgid "\tConnection: direct"
-msgstr ""
-
-msgid "\tConnection: remote"
-msgstr ""
-
-msgid "\tContent types: any"
-msgstr ""
-
-msgid "\tDefault page size:"
-msgstr ""
-
-msgid "\tDefault pitch:"
-msgstr ""
-
-msgid "\tDefault port settings:"
-msgstr ""
-
-#, c-format
-msgid "\tDescription: %s"
-msgstr ""
-
-msgid "\tForm mounted:"
-msgstr ""
-
-msgid "\tForms allowed:"
-msgstr ""
-
-#, c-format
-msgid "\tInterface: %s.ppd"
-msgstr ""
-
-#, c-format
-msgid "\tInterface: %s/interfaces/%s"
-msgstr ""
-
-#, c-format
-msgid "\tInterface: %s/ppd/%s.ppd"
-msgstr ""
-
-#, c-format
-msgid "\tLocation: %s"
-msgstr ""
-
-msgid "\tOn fault: no alert"
-msgstr ""
-
-msgid "\tPrinter types: unknown"
-msgstr ""
-
-#, c-format
-msgid "\tStatus: %s"
-msgstr ""
-
-msgid "\tUsers allowed:"
-msgstr ""
-
-msgid "\tUsers denied:"
-msgstr ""
-
-msgid "\tdaemon present"
-msgstr ""
-
-msgid "\tno entries"
-msgstr ""
-
-#, c-format
-msgid "\tprinter is on device '%s' speed -1"
-msgstr ""
-
-msgid "\tprinting is disabled"
-msgstr ""
-
-msgid "\tprinting is enabled"
-msgstr ""
-
-#, c-format
-msgid "\tqueued for %s"
-msgstr ""
-
-msgid "\tqueuing is disabled"
-msgstr ""
-
-msgid "\tqueuing is enabled"
-msgstr ""
-
-msgid "\treason unknown"
-msgstr ""
-
-msgid ""
-"\n"
-"    DETAILED CONFORMANCE TEST RESULTS"
-msgstr ""
-
-msgid "                          Ignore specific warnings."
-msgstr ""
-
-msgid "                          Issue warnings instead of errors."
-msgstr ""
-
-msgid "                REF: Page 15, section 3.1."
-msgstr ""
-
-msgid "                REF: Page 15, section 3.2."
-msgstr ""
-
-msgid "                REF: Page 19, section 3.3."
-msgstr ""
-
-msgid "                REF: Page 20, section 3.4."
-msgstr ""
-
-msgid "                REF: Page 27, section 3.5."
-msgstr ""
-
-msgid "                REF: Page 42, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 16-17, section 3.2."
-msgstr ""
-
-msgid "                REF: Pages 42-45, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 45-46, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 48-49, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 52-54, section 5.2."
-msgstr ""
-
-#, c-format
-msgid "        %-39.39s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "        PASS    Default%s"
-msgstr ""
-
-msgid "        PASS    DefaultImageableArea"
-msgstr ""
-
-msgid "        PASS    DefaultPaperDimension"
-msgstr ""
-
-msgid "        PASS    FileVersion"
-msgstr ""
-
-msgid "        PASS    FormatVersion"
-msgstr ""
-
-msgid "        PASS    LanguageEncoding"
-msgstr ""
-
-msgid "        PASS    LanguageVersion"
-msgstr ""
-
-msgid "        PASS    Manufacturer"
-msgstr ""
-
-msgid "        PASS    ModelName"
-msgstr ""
-
-msgid "        PASS    NickName"
-msgstr ""
-
-msgid "        PASS    PCFileName"
-msgstr ""
-
-msgid "        PASS    PSVersion"
-msgstr ""
-
-msgid "        PASS    PageRegion"
-msgstr ""
-
-msgid "        PASS    PageSize"
-msgstr ""
-
-msgid "        PASS    Product"
-msgstr ""
-
-msgid "        PASS    ShortNickName"
-msgstr ""
-
-#, c-format
-msgid "        WARN    %s has no corresponding options."
-msgstr ""
-
-#, c-format
-msgid ""
-"        WARN    %s shares a common prefix with %s\n"
-"                REF: Page 15, section 3.2."
-msgstr ""
-
-#, c-format
-msgid ""
-"        WARN    Duplex option keyword %s may not work as expected and should "
-"be named Duplex.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-
-msgid "        WARN    File contains a mix of CR, LF, and CR LF line endings."
-msgstr ""
-
-msgid ""
-"        WARN    LanguageEncoding required by PPD 4.3 spec.\n"
-"                REF: Pages 56-57, section 5.3."
-msgstr ""
-
-#, c-format
-msgid "        WARN    Line %d only contains whitespace."
-msgstr ""
-
-msgid ""
-"        WARN    Manufacturer required by PPD 4.3 spec.\n"
-"                REF: Pages 58-59, section 5.3."
-msgstr ""
-
-msgid ""
-"        WARN    Non-Windows PPD files should use lines ending with only LF, "
-"not CR LF."
-msgstr ""
-
-#, c-format
-msgid ""
-"        WARN    Obsolete PPD version %.1f.\n"
-"                REF: Page 42, section 5.2."
-msgstr ""
-
-msgid ""
-"        WARN    PCFileName longer than 8.3 in violation of PPD spec.\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-
-msgid ""
-"        WARN    PCFileName should contain a unique filename.\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-
-msgid ""
-"        WARN    Protocols contains PJL but JCL attributes are not set.\n"
-"                REF: Pages 78-79, section 5.7."
-msgstr ""
-
-msgid ""
-"        WARN    Protocols contains both PJL and BCP; expected TBCP.\n"
-"                REF: Pages 78-79, section 5.7."
-msgstr ""
-
-msgid ""
-"        WARN    ShortNickName required by PPD 4.3 spec.\n"
-"                REF: Pages 64-65, section 5.3."
-msgstr ""
-
-msgid "       cupsaddsmb [options] -a"
-msgstr ""
-
-msgid "       cupstestdsc [options] -"
-msgstr ""
-
-msgid "       program | cupstestppd [options] -"
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  \"%s %s\" conflicts with \"%s %s\"\n"
-"                (constraint=\"%s %s %s %s\")."
-msgstr ""
-
-#, c-format
-msgid "      %s  %s %s does not exist."
-msgstr ""
-
-#, c-format
-msgid "      %s  %s file \"%s\" has the wrong capitalization."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  Bad %s choice %s.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsFilter value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsFilter2 value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsICCProfile %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsPreFilter value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsUIConstraints %s: \"%s\""
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad language \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad permissions on %s file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad spelling of %s - should be %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Cannot provide both APScanAppPath and APScanAppBundleID."
-msgstr ""
-
-#, c-format
-msgid "      %s  Default choices conflicting."
-msgstr ""
-
-#, c-format
-msgid "      %s  Empty cupsUIConstraints %s"
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing \"%s\" translation string for option %s, choice %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing \"%s\" translation string for option %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing %s file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  Missing REQUIRED PageRegion option.\n"
-"                REF: Page 100, section 5.14."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  Missing REQUIRED PageSize option.\n"
-"                REF: Page 99, section 5.14."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\""
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing cupsUIResolver %s"
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing option %s in cupsUIConstraints %s: \"%s\""
-msgstr ""
-
-#, c-format
-msgid "      %s  No base translation \"%s\" is included in file."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  REQUIRED %s does not define choice None.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" defined for %s but not for %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" has unexpected dimensions (%gx%g)."
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" should be \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" should be the Adobe standard name \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  cupsICCProfile %s hash value collides with %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  cupsUIResolver %s causes a loop."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  cupsUIResolver %s does not list at least two different options."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  %s choice names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  %s must be 1284DeviceID\n"
-"                REF: Page 72, section 5.5"
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD Default%s %s\n"
-"                REF: Page 40, section 4.5."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD DefaultImageableArea %s\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD DefaultPaperDimension %s\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD JobPatchFile attribute in file\n"
-"                REF: Page 24, section 3.4."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD Manufacturer (should be \"HP\")\n"
-"                REF: Page 211, table D.1."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD Manufacturer (should be \"Oki\")\n"
-"                REF: Page 211, table D.1."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n"
-"                REF: Pages 59-60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD PSVersion - not \"(string) int\".\n"
-"                REF: Pages 62-64, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD Product - not \"(string)\".\n"
-"                REF: Page 62, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD ShortNickName - longer than 31 chars.\n"
-"                REF: Pages 64-65, section 5.3."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad %s choice %s\n"
-"                REF: Page 84, section 5.9"
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad FileVersion \"%s\"\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad FormatVersion \"%s\"\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Bad LanguageVersion %s - must be English."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Default option code cannot be interpreted: %s"
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Default translation string for option %s choice %s contains "
-"8-bit characters."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Default translation string for option %s contains 8-bit "
-"characters."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Group names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Multiple occurrences of %s choice name %s."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Option names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED Default%s\n"
-"                REF: Page 40, section 4.5."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED DefaultImageableArea\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED DefaultPaperDimension\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED FileVersion\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED FormatVersion\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED ImageableArea for PageSize %s\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED LanguageEncoding\n"
-"                REF: Pages 56-57, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED LanguageVersion\n"
-"                REF: Pages 57-58, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED Manufacturer\n"
-"                REF: Pages 58-59, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED ModelName\n"
-"                REF: Pages 59-60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED NickName\n"
-"                REF: Page 60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PCFileName\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PSVersion\n"
-"                REF: Pages 62-64, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PageRegion\n"
-"                REF: Page 100, section 5.14."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PageSize\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 99, section 5.14."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PageSize\n"
-"                REF: Pages 99-100, section 5.14."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED PaperDimension for PageSize %s\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED Product\n"
-"                REF: Page 62, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED ShortNickName\n"
-"                REF: Page 64-65, section 5.3."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Unable to open PPD file - %s"
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Unable to open PPD file - %s on line %d."
-msgstr ""
-
-#, c-format
-msgid "    %d ERRORS FOUND"
-msgstr ""
-
-msgid "    -h       Show program usage"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Bad %%%%BoundingBox: on line %d.\n"
-"        REF: Page 39, %%%%BoundingBox:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Bad %%%%Page: on line %d.\n"
-"        REF: Page 53, %%%%Page:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Bad %%%%Pages: on line %d.\n"
-"        REF: Page 43, %%%%Pages:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Line %d is longer than 255 characters (%d).\n"
-"        REF: Page 25, Line Length"
-msgstr ""
-
-msgid ""
-"    Missing %!PS-Adobe-3.0 on first line.\n"
-"        REF: Page 17, 3.1 Conforming Documents"
-msgstr ""
-
-#, c-format
-msgid "    Missing %%EndComments comment.        REF: Page 41, %%EndComments"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Missing or bad %%BoundingBox: comment.\n"
-"        REF: Page 39, %%BoundingBox:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Missing or bad %%Page: comments.\n"
-"        REF: Page 53, %%Page:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Missing or bad %%Pages: comment.\n"
-"        REF: Page 43, %%Pages:"
-msgstr ""
-
-msgid "    NO ERRORS FOUND"
-msgstr ""
-
-#, c-format
-msgid "    Saw %d lines that exceeded 255 characters."
-msgstr ""
-
-#, c-format
-msgid "    Too many %%BeginDocument comments."
-msgstr ""
-
-#, c-format
-msgid "    Too many %%EndDocument comments."
-msgstr ""
-
-msgid "    Warning: file contains binary data."
-msgstr ""
-
-#, c-format
-msgid "    Warning: no %%EndComments comment in file."
-msgstr ""
-
-#, c-format
-msgid "    Warning: obsolete DSC version %.1f in file."
-msgstr ""
-
-msgid "  --[no-]debug-logging    Turn debug logging on/off."
-msgstr ""
-
-msgid "  --[no-]remote-admin     Turn remote administration on/off."
-msgstr ""
-
-msgid "  --[no-]remote-any       Allow/prevent access from the Internet."
-msgstr ""
-
-msgid "  --[no-]remote-printers  Show/hide remote printers."
-msgstr ""
-
-msgid "  --[no-]share-printers   Turn printer sharing on/off."
-msgstr ""
-
-msgid "  --[no-]user-cancel-any  Allow/prevent users to cancel any job."
-msgstr ""
-
-msgid "  --cr                    End lines with CR (Mac OS 9)."
-msgstr ""
-
-msgid "  --crlf                  End lines with CR + LF (Windows)."
-msgstr ""
-
-msgid "  --lf                    End lines with LF (UNIX/Linux/Mac OS X)."
-msgstr ""
-
-msgid "  -4                      Connect using IPv4."
-msgstr ""
-
-msgid "  -6                      Connect using IPv6."
-msgstr ""
-
-msgid "  -C                      Send requests using chunking (default)."
-msgstr ""
-
-msgid "  -D                      Remove the input file when finished."
-msgstr ""
-
-msgid "  -D name=value           Set named variable to value."
-msgstr ""
-
-msgid "  -E                      Enable encryption."
-msgstr ""
-
-msgid "  -E                      Encrypt the connection to the server."
-msgstr ""
-
-msgid "  -E                      Test with TLS encryption."
-msgstr ""
-
-msgid ""
-"  -F                      Run in the foreground but detach from console."
-msgstr ""
-
-msgid "  -H samba-server         Use the named SAMBA server."
-msgstr ""
-
-msgid "  -I                      Ignore errors."
-msgstr ""
-
-msgid "  -I include-dir          Add include directory to search path."
-msgstr ""
-
-msgid "  -I {filename,filters,none,profiles}"
-msgstr ""
-
-msgid "  -J title                Set title."
-msgstr ""
-
-msgid "  -L                      Send requests using content-length."
-msgstr ""
-
-msgid "  -P filename.ppd         Set PPD file."
-msgstr ""
-
-msgid "  -R root-directory       Set alternate root."
-msgstr ""
-
-msgid "  -S                      Test with SSL encryption."
-msgstr ""
-
-msgid "  -T                      Set the receive/send timeout in seconds."
-msgstr ""
-
-msgid "  -U samba-user           Authenticate using the named SAMBA user."
-msgstr ""
-
-msgid "  -U username             Set username for job."
-msgstr ""
-
-msgid "  -U username             Specify username."
-msgstr ""
-
-msgid "  -V version              Set default IPP version."
-msgstr ""
-
-msgid ""
-"  -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,"
-"translations}"
-msgstr ""
-
-msgid "  -X                      Produce XML plist instead of plain text."
-msgstr ""
-
-msgid "  -a                      Export all printers."
-msgstr ""
-
-msgid "  -a 'name=value ...'     Set option(s)."
-msgstr ""
-
-msgid "  -c catalog.po           Load the specified message catalog."
-msgstr ""
-
-msgid "  -c config-file          Load alternate configuration file."
-msgstr ""
-
-msgid "  -c copies               Set number of copies."
-msgstr ""
-
-msgid "  -c cupsd.conf           Set cupsd.conf file to use."
-msgstr ""
-
-msgid "  -d name=value           Set named variable to value."
-msgstr ""
-
-msgid "  -d output-dir           Specify the output directory."
-msgstr ""
-
-msgid "  -d printer              Use the named printer."
-msgstr ""
-
-msgid "  -e                      Use every filter from the PPD file."
-msgstr ""
-
-msgid "  -f                      Run in the foreground."
-msgstr ""
-
-msgid "  -f filename             Set default request filename."
-msgstr ""
-
-msgid "  -f filename             Set file to be converted (otherwise stdin)."
-msgstr ""
-
-msgid "  -h                      Show this usage message."
-msgstr ""
-
-msgid "  -h cups-server          Use the named CUPS server."
-msgstr ""
-
-msgid "  -h server[:port]        Specify server address."
-msgstr ""
-
-msgid "  -i mime/type            Set input MIME type (otherwise auto-typed)."
-msgstr ""
-
-msgid ""
-"  -i seconds              Repeat the last file with the given time interval."
-msgstr ""
-
-msgid ""
-"  -j job-id[,N]           Filter file N from the specified job (default is "
-"file 1)."
-msgstr ""
-
-msgid ""
-"  -j mime/type            Set output MIME type (otherwise application/pdf)."
-msgstr ""
-
-msgid "  -l                      Run cupsd from launchd(8)."
-msgstr ""
-
-msgid "  -l lang[,lang,...]      Specify the output language(s) (locale)."
-msgstr ""
-
-msgid "  -m                      Use the ModelName value as the filename."
-msgstr ""
-
-msgid ""
-"  -m mime/type            Set output MIME type (otherwise application/pdf)."
-msgstr ""
-
-msgid "  -n copies               Set number of copies."
-msgstr ""
-
-msgid ""
-"  -n count                Repeat the last file the given number of times."
-msgstr ""
-
-msgid "  -o filename             Set file to be generated (otherwise stdout)."
-msgstr ""
-
-msgid ""
-"  -o filename.drv         Set driver information file (otherwise ppdi.drv)."
-msgstr ""
-
-msgid "  -o filename.ppd[.gz]    Set output file (otherwise stdout)."
-msgstr ""
-
-msgid "  -o name=value           Set option(s)."
-msgstr ""
-
-msgid "  -p filename.ppd         Set PPD file."
-msgstr ""
-
-msgid "  -q                      Be quiet - no output except errors."
-msgstr ""
-
-msgid "  -q                      Run silently."
-msgstr ""
-
-msgid "  -r                      Use 'relaxed' open mode."
-msgstr ""
-
-msgid "  -t                      Produce a test report."
-msgstr ""
-
-msgid "  -t                      Test PPDs instead of generating them."
-msgstr ""
-
-msgid "  -t                      Test the configuration file."
-msgstr ""
-
-msgid "  -t title                Set title."
-msgstr ""
-
-msgid "  -u                      Remove the PPD file when finished."
-msgstr ""
-
-msgid "  -v                      Be slightly verbose."
-msgstr ""
-
-msgid "  -v                      Be verbose (more v's for more verbosity)."
-msgstr ""
-
-msgid "  -v                      Be verbose (show commands)."
-msgstr ""
-
-msgid "  -v                      Show all attributes sent and received."
-msgstr ""
-
-msgid "  -vv                     Be very verbose."
-msgstr ""
-
-msgid "  -z                      Compress PPD files using GNU zip."
-msgstr ""
-
-msgid " FAIL"
-msgstr ""
-
-msgid " PASS"
-msgstr ""
-
-#, c-format
-msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "%.0f x %.0f millimeters"
-msgstr "%.0f x %.0f millimetri"
-
-#, c-format
-msgid "%.0f x %.0f to %.0f x %.0f millimeters"
-msgstr "%.0f x %.0f a %.0f x %.0f millimetri"
-
-#, c-format
-msgid "%.2f x %.2f inches"
-msgstr "%.2f x %.2f pollici"
-
-#, c-format
-msgid "%.2f x %.2f to %.2f x %.2f inches"
-msgstr "%.2f x %.2f a %.2f x %.2f pollici"
-
-#, c-format
-msgid "%s accepting requests since %s"
-msgstr ""
-
-#, c-format
-msgid "%s cannot be changed."
-msgstr "%s non può essere modificato."
-
-#, c-format
-msgid "%s is not implemented by the CUPS version of lpc."
-msgstr ""
-
-#, c-format
-msgid "%s is not ready"
-msgstr ""
-
-#, c-format
-msgid "%s is ready"
-msgstr ""
-
-#, c-format
-msgid "%s is ready and printing"
-msgstr ""
-
-#, c-format
-msgid "%s job-id user title copies options [file]"
-msgstr ""
-
-#, c-format
-msgid "%s not accepting requests since %s -"
-msgstr ""
-
-#, c-format
-msgid "%s not supported."
-msgstr ""
-
-#, c-format
-msgid "%s/%s accepting requests since %s"
-msgstr ""
-
-#, c-format
-msgid "%s/%s not accepting requests since %s -"
-msgstr ""
-
-#, c-format
-msgid "%s: %-33.33s [job %d localhost]"
-msgstr ""
-
-#. TRANSLATORS: Message is "subject: error"
-#, c-format
-msgid "%s: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: %s failed: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Don't know what to do."
-msgstr ""
-
-#, c-format
-msgid ""
-"%s: Error - %s environment variable names non-existent destination \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - bad job ID."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - cannot print files and alter jobs simultaneously."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - cannot print from stdin if files or a job ID are provided."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected character set after \"-S\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected content type after \"-T\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected copies after \"-#\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected copies after \"-n\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected destination after \"-P\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected destination after \"-b\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected destination after \"-d\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected form after \"-f\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected hold name after \"-H\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected hostname after \"-H\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected hostname after \"-h\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected mode list after \"-y\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected name after \"-%c\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected option=value after \"-o\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected page list after \"-P\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected priority after \"-%c\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected reason text after \"-r\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected title after \"-t\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected username after \"-U\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected username after \"-u\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected value after \"-%c\" option."
-msgstr ""
-
-#, c-format
-msgid ""
-"%s: Error - need \"completed\", \"not-completed\", or \"all\" after \"-W\" "
-"option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - no default destination available."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - priority must be between 1 and 100."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - scheduler not responding."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - too many files - \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unable to access \"%s\" - %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unable to queue from stdin - %s."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown destination \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown destination \"%s/%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown option \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Expected job ID after \"-i\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Invalid destination name in list \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Invalid filter string \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Need job ID (\"-i jobid\") before \"-H restart\"."
-msgstr ""
-
-#, c-format
-msgid "%s: No filter to convert from %s/%s to %s/%s."
-msgstr ""
-
-#, c-format
-msgid "%s: Operation failed: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Sorry, no encryption support."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to connect to server."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to contact server."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to determine MIME type of \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to open %s: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to open PPD file: %s on line %d."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown destination \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown destination MIME type %s/%s."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown option \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown source MIME type %s/%s."
-msgstr ""
-
-#, c-format
-msgid ""
-"%s: Warning - \"%c\" format modifier not supported - output may not be "
-"correct."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - character set option ignored."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - content type option ignored."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - form option ignored."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - mode option ignored."
-msgstr ""
-
-msgid "-1"
-msgstr "-1"
-
-msgid "-10"
-msgstr "-10"
-
-msgid "-100"
-msgstr "-100"
-
-msgid "-105"
-msgstr "-105"
-
-msgid "-11"
-msgstr "-11"
-
-msgid "-110"
-msgstr "-110"
-
-msgid "-115"
-msgstr "-115"
-
-msgid "-12"
-msgstr "-12"
-
-msgid "-120"
-msgstr "-120"
-
-msgid "-13"
-msgstr "-13"
-
-msgid "-14"
-msgstr "-14"
-
-msgid "-15"
-msgstr "-15"
-
-msgid "-2"
-msgstr "-2"
-
-msgid "-20"
-msgstr "-20"
-
-msgid "-25"
-msgstr "-25"
-
-msgid "-3"
-msgstr "-3"
-
-msgid "-30"
-msgstr "-30"
-
-msgid "-35"
-msgstr "-35"
-
-msgid "-4"
-msgstr "-4"
-
-msgid "-40"
-msgstr "-40"
-
-msgid "-45"
-msgstr "-45"
-
-msgid "-5"
-msgstr "-5"
-
-msgid "-50"
-msgstr "-50"
-
-msgid "-55"
-msgstr "-55"
-
-msgid "-6"
-msgstr "-6"
-
-msgid "-60"
-msgstr "-60"
-
-msgid "-65"
-msgstr "-65"
-
-msgid "-7"
-msgstr "-7"
-
-msgid "-70"
-msgstr "-70"
-
-msgid "-75"
-msgstr "-75"
-
-msgid "-8"
-msgstr "-8"
-
-msgid "-80"
-msgstr "-80"
-
-msgid "-85"
-msgstr "-85"
-
-msgid "-9"
-msgstr "-9"
-
-msgid "-90"
-msgstr "-90"
-
-msgid "-95"
-msgstr "-95"
-
-msgid "0"
-msgstr "0"
-
-msgid "1"
-msgstr "1"
-
-msgid "1 inch/sec."
-msgstr "1 poll./sec."
-
-msgid "1.25x0.25\""
-msgstr "1,25 x 0,25\""
-
-msgid "1.25x2.25\""
-msgstr "1,25 x 2,25\""
-
-msgid "1.5 inch/sec."
-msgstr "1,5 poll./sec."
-
-msgid "1.50x0.25\""
-msgstr "1,50 x 0,25\""
-
-msgid "1.50x0.50\""
-msgstr "1,50 x 0,50\""
-
-msgid "1.50x1.00\""
-msgstr "1,50 x 1,00\""
-
-msgid "1.50x2.00\""
-msgstr "1,50 x 2,00\""
-
-msgid "10"
-msgstr "10"
-
-msgid "10 inches/sec."
-msgstr "10 poll./sec."
-
-msgid "10 x 11"
-msgstr ""
-
-msgid "10 x 13"
-msgstr ""
-
-msgid "10 x 14"
-msgstr ""
-
-msgid "100"
-msgstr "100"
-
-msgid "100 mm/sec."
-msgstr "100 mm/sec."
-
-msgid "105"
-msgstr "105"
-
-msgid "11"
-msgstr "11"
-
-msgid "11 inches/sec."
-msgstr "11 poll./sec."
-
-msgid "110"
-msgstr "110"
-
-msgid "115"
-msgstr "115"
-
-msgid "12"
-msgstr "12"
-
-msgid "12 inches/sec."
-msgstr "12 poll./sec."
-
-msgid "12 x 11"
-msgstr ""
-
-msgid "120"
-msgstr "120"
-
-msgid "120 mm/sec."
-msgstr "120 mm/sec."
-
-msgid "120x60dpi"
-msgstr "120 x 60 dpi"
-
-msgid "120x72dpi"
-msgstr "120 x 72 dpi"
-
-msgid "13"
-msgstr "13"
-
-msgid "136dpi"
-msgstr "136 dpi"
-
-msgid "14"
-msgstr "14"
-
-msgid "15"
-msgstr "15"
-
-msgid "15 mm/sec."
-msgstr "15 mm/sec."
-
-msgid "15 x 11"
-msgstr ""
-
-msgid "150 mm/sec."
-msgstr "150 mm/sec."
-
-msgid "150dpi"
-msgstr "150 dpi"
-
-msgid "16"
-msgstr "16"
-
-msgid "17"
-msgstr "17"
-
-msgid "18"
-msgstr "18"
-
-msgid "180dpi"
-msgstr "180 dpi"
-
-msgid "19"
-msgstr "19"
-
-msgid "2"
-msgstr "2"
-
-msgid "2 inches/sec."
-msgstr "2 poll./sec."
-
-msgid "2-Sided Printing"
-msgstr "Stampa su due lati"
-
-msgid "2.00x0.37\""
-msgstr "2,00 x 0,37\""
-
-msgid "2.00x0.50\""
-msgstr "2,00 x 0,50\""
-
-msgid "2.00x1.00\""
-msgstr "2,00 x 1,00\""
-
-msgid "2.00x1.25\""
-msgstr "2,00 x 1,25\""
-
-msgid "2.00x2.00\""
-msgstr "2,00 x 2,00\""
-
-msgid "2.00x3.00\""
-msgstr "2,00 x 3,00\""
-
-msgid "2.00x4.00\""
-msgstr "2,00 x 4,00\""
-
-msgid "2.00x5.50\""
-msgstr "2,00 x 5,50\""
-
-msgid "2.25x0.50\""
-msgstr "2,25 x 0,50\""
-
-msgid "2.25x1.25\""
-msgstr "2,25 x 1,25\""
-
-msgid "2.25x4.00\""
-msgstr "2,25 x 4,00\""
-
-msgid "2.25x5.50\""
-msgstr "2,25 x 5,50\""
-
-msgid "2.38x5.50\""
-msgstr "2,38 x 5,50\""
-
-msgid "2.5 inches/sec."
-msgstr "2,5 poll./sec."
-
-msgid "2.50x1.00\""
-msgstr "2,50 x 1,00\""
-
-msgid "2.50x2.00\""
-msgstr "2,50 x 2,00\""
-
-msgid "2.75x1.25\""
-msgstr "2,75 x 1,25\""
-
-msgid "2.9 x 1\""
-msgstr "2.9 x 1\""
-
-msgid "20"
-msgstr "20"
-
-msgid "20 mm/sec."
-msgstr "20 mm/sec."
-
-msgid "200 mm/sec."
-msgstr "200 mm/sec."
-
-msgid "203dpi"
-msgstr "203 dpi"
-
-msgid "21"
-msgstr "21"
-
-msgid "22"
-msgstr "22"
-
-msgid "23"
-msgstr "23"
-
-msgid "24"
-msgstr "24"
-
-msgid "24-Pin Series"
-msgstr "Serie a 24 pin"
-
-msgid "240x72dpi"
-msgstr "240 x 72 dpi"
-
-msgid "25"
-msgstr "25"
-
-msgid "250 mm/sec."
-msgstr "250 mm/sec."
-
-msgid "26"
-msgstr "26"
-
-msgid "27"
-msgstr "27"
-
-msgid "28"
-msgstr "28"
-
-msgid "29"
-msgstr "29"
-
-msgid "3"
-msgstr "3"
-
-msgid "3 inches/sec."
-msgstr "3 poll./sec."
-
-msgid "3 x 5"
-msgstr ""
-
-msgid "3.00x1.00\""
-msgstr "3,00 x 1,00\""
-
-msgid "3.00x1.25\""
-msgstr "3,00 x 1,25\""
-
-msgid "3.00x2.00\""
-msgstr "3,00 x 2,00\""
-
-msgid "3.00x3.00\""
-msgstr "3,00 x 3,00\""
-
-msgid "3.00x5.00\""
-msgstr "3,00 x 5,00\""
-
-msgid "3.25x2.00\""
-msgstr "3,25 x 2,00\""
-
-msgid "3.25x5.00\""
-msgstr "3,25 x 5,00\""
-
-msgid "3.25x5.50\""
-msgstr "3,25 x 5,50\""
-
-msgid "3.25x5.83\""
-msgstr "3,25 x 5,83\""
-
-msgid "3.25x7.83\""
-msgstr "3,25 x 7,83\""
-
-msgid "3.5 x 5"
-msgstr ""
-
-msgid "3.5\" Disk"
-msgstr "Disco da 3,5\""
-
-msgid "3.5\" Disk - 2 1/8 x 2 3/4\""
-msgstr "Disco da 3,5\": 2 1/8 x 2 3/4\""
-
-msgid "3.50x1.00\""
-msgstr "3,50 x 1,00\""
-
-msgid "30"
-msgstr "30"
-
-msgid "30 mm/sec."
-msgstr "30 mm/sec."
-
-msgid "300 mm/sec."
-msgstr "300 mm/sec."
-
-msgid "300dpi"
-msgstr "300 dpi"
-
-msgid "35"
-msgstr "35"
-
-msgid "360dpi"
-msgstr "360 dpi"
-
-msgid "360x180dpi"
-msgstr "360 x 180 dpi"
-
-msgid "4"
-msgstr "4"
-
-msgid "4 inches/sec."
-msgstr "4 poll./sec."
-
-msgid "4.00x1.00\""
-msgstr "4,00 x 1,00\""
-
-msgid "4.00x13.00\""
-msgstr "4,00 x 13,00\""
-
-msgid "4.00x2.00\""
-msgstr "4,00 x 2,00\""
-
-msgid "4.00x2.50\""
-msgstr "4,00 x 2,50\""
-
-msgid "4.00x3.00\""
-msgstr "4,00 x 3,00\""
-
-msgid "4.00x4.00\""
-msgstr "4,00 x 4,00\""
-
-msgid "4.00x5.00\""
-msgstr "4,00 x 5,00\""
-
-msgid "4.00x6.00\""
-msgstr "4,00 x 6,00\""
-
-msgid "4.00x6.50\""
-msgstr "4,00 x 6,50\""
-
-msgid "40"
-msgstr "40"
-
-msgid "40 mm/sec."
-msgstr "40 mm/sec."
-
-msgid "45"
-msgstr "45"
-
-msgid "5"
-msgstr "5"
-
-msgid "5 inches/sec."
-msgstr "5 poll./sec."
-
-msgid "5 x 7"
-msgstr ""
-
-msgid "50"
-msgstr "50"
-
-msgid "55"
-msgstr "55"
-
-msgid "6"
-msgstr "6"
-
-msgid "6 inches/sec."
-msgstr "6 poll./sec."
-
-msgid "6.00x1.00\""
-msgstr "6,00 x 1,00\""
-
-msgid "6.00x2.00\""
-msgstr "6,00 x 2,00\""
-
-msgid "6.00x3.00\""
-msgstr "6,00 x 3,00\""
-
-msgid "6.00x4.00\""
-msgstr "6,00 x 4,00\""
-
-msgid "6.00x5.00\""
-msgstr "6,00 x 5,00\""
-
-msgid "6.00x6.00\""
-msgstr "6,00 x 6,00\""
-
-msgid "6.00x6.50\""
-msgstr "6,00 x 6,50\""
-
-msgid "60"
-msgstr "60"
-
-msgid "60 mm/sec."
-msgstr "60 mm/sec."
-
-msgid "600dpi"
-msgstr "600 dpi"
-
-msgid "60dpi"
-msgstr "60 dpi"
-
-msgid "60x72dpi"
-msgstr ""
-
-msgid "65"
-msgstr "65"
-
-msgid "7"
-msgstr "7"
-
-msgid "7 inches/sec."
-msgstr "7 poll./sec."
-
-msgid "7 x 9"
-msgstr ""
-
-msgid "70"
-msgstr "70"
-
-msgid "720dpi"
-msgstr "720 dpi"
-
-msgid "75"
-msgstr "75"
-
-msgid "8"
-msgstr "8"
-
-msgid "8 inches/sec."
-msgstr "8 poll./sec."
-
-msgid "8 x 10"
-msgstr ""
-
-msgid "8.00x1.00\""
-msgstr "8,00 x 1,00\""
-
-msgid "8.00x2.00\""
-msgstr "8,00 x 2,00\""
-
-msgid "8.00x3.00\""
-msgstr "8,00 x 3,00\""
-
-msgid "8.00x4.00\""
-msgstr "8,00 x 4,00\""
-
-msgid "8.00x5.00\""
-msgstr "8,00 x 5,00\""
-
-msgid "8.00x6.00\""
-msgstr "8,00 x 6,00\""
-
-msgid "8.00x6.50\""
-msgstr "8,00 x 6,50\""
-
-msgid "80"
-msgstr "80"
-
-msgid "80 mm/sec."
-msgstr "80 mm/sec."
-
-msgid "85"
-msgstr "85"
-
-msgid "9"
-msgstr "9"
-
-msgid "9 inches/sec."
-msgstr "9 poll./sec."
-
-msgid "9 x 11"
-msgstr ""
-
-msgid "9 x 12"
-msgstr ""
-
-msgid "9-Pin Series"
-msgstr "Serie a 9 pin"
-
-msgid "90"
-msgstr "90"
-
-msgid "95"
-msgstr "95"
-
-msgid "?Invalid help command unknown."
-msgstr ""
-
-msgid "A Samba password is required to export printer drivers"
-msgstr ""
-
-msgid "A Samba username is required to export printer drivers"
-msgstr ""
-
-#, c-format
-msgid "A class named \"%s\" already exists."
-msgstr ""
-
-#, c-format
-msgid "A printer named \"%s\" already exists."
-msgstr ""
-
-msgid "A0"
-msgstr "A0"
-
-msgid "A0 Long Edge"
-msgstr ""
-
-msgid "A1"
-msgstr "A1"
-
-msgid "A1 Long Edge"
-msgstr ""
-
-msgid "A10"
-msgstr "A10"
-
-msgid "A2"
-msgstr "A2"
-
-msgid "A2 Long Edge"
-msgstr ""
-
-msgid "A3"
-msgstr "A3"
-
-msgid "A3 Long Edge"
-msgstr ""
-
-msgid "A3 Oversize"
-msgstr ""
-
-msgid "A3 Oversize Long Edge"
-msgstr ""
-
-msgid "A4"
-msgstr "A4"
-
-msgid "A4 Long Edge"
-msgstr ""
-
-msgid "A4 Oversize"
-msgstr ""
-
-msgid "A4 Small"
-msgstr ""
-
-msgid "A5"
-msgstr "A5"
-
-msgid "A5 Long Edge"
-msgstr ""
-
-msgid "A5 Oversize"
-msgstr ""
-
-msgid "A6"
-msgstr "A6"
-
-msgid "A6 Long Edge"
-msgstr ""
-
-msgid "A7"
-msgstr "A7"
-
-msgid "A8"
-msgstr "A8"
-
-msgid "A9"
-msgstr "A9"
-
-msgid "ANSI A"
-msgstr "ANSI A"
-
-msgid "ANSI B"
-msgstr "ANSI B"
-
-msgid "ANSI C"
-msgstr "ANSI C"
-
-msgid "ANSI D"
-msgstr "ANSI D"
-
-msgid "ANSI E"
-msgstr "ANSI E"
-
-msgid "ARCH C"
-msgstr "ARCH C"
-
-msgid "ARCH C Long Edge"
-msgstr ""
-
-msgid "ARCH D"
-msgstr "ARCH D"
-
-msgid "ARCH D Long Edge"
-msgstr ""
-
-msgid "ARCH E"
-msgstr "ARCH E"
-
-msgid "ARCH E Long Edge"
-msgstr ""
-
-msgid "Accept Jobs"
-msgstr "Accetta stampe"
-
-msgid "Accepted"
-msgstr "Accettate"
-
-msgid "Add Class"
-msgstr "Aggiungi classe"
-
-msgid "Add Printer"
-msgstr "Aggiungi stampante"
-
-msgid "Add RSS Subscription"
-msgstr "Aggiungi sottoscrizione RSS"
-
-msgid "Address"
-msgstr "Indirizzo"
-
-msgid "Address - 1 1/8 x 3 1/2\""
-msgstr "Indirizzo: 1 1/8 x 3 1/2\""
-
-msgid "Administration"
-msgstr "Amministrazione"
-
-msgid "Always"
-msgstr "Sempre"
-
-msgid "AppSocket/HP JetDirect"
-msgstr "AppSocket/HP JetDirect"
-
-msgid "Applicator"
-msgstr "Applicatore"
-
-#, c-format
-msgid "Attempt to set %s printer-state to bad value %d."
-msgstr ""
-
-#, c-format
-msgid "Attribute groups are out of order (%x < %x)."
-msgstr ""
-
-msgid "B0"
-msgstr "B0"
-
-msgid "B1"
-msgstr "B1"
-
-msgid "B10"
-msgstr "B10"
-
-msgid "B2"
-msgstr "B2"
-
-msgid "B3"
-msgstr "B3"
-
-msgid "B4"
-msgstr "B4"
-
-msgid "B5"
-msgstr "B5"
-
-msgid "B5 Oversize"
-msgstr ""
-
-msgid "B6"
-msgstr "B6"
-
-msgid "B7"
-msgstr "B7"
-
-msgid "B8"
-msgstr "B8"
-
-msgid "B9"
-msgstr "B9"
-
-msgid "Bad NULL dests pointer"
-msgstr "Puntatore dest. NULL errato"
-
-msgid "Bad OpenGroup"
-msgstr "OpenGroup errato"
-
-msgid "Bad OpenUI/JCLOpenUI"
-msgstr "OpenUI/JCLOpenUI errato"
-
-msgid "Bad OrderDependency"
-msgstr "OrderDependency errato"
-
-msgid "Bad PPD cache file."
-msgstr ""
-
-msgid "Bad Request"
-msgstr "Richiesta errata"
-
-msgid "Bad SNMP version number"
-msgstr "Numero versione SNMP errato"
-
-msgid "Bad UIConstraints"
-msgstr "UIConstraints errato"
-
-#, c-format
-msgid "Bad charset file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad charset type: %s"
-msgstr ""
-
-#, c-format
-msgid "Bad columns value %d."
-msgstr ""
-
-#, c-format
-msgid "Bad copies value %d."
-msgstr "Valore copie %d errato."
-
-#, c-format
-msgid "Bad cpi value %f."
-msgstr ""
-
-msgid "Bad custom parameter"
-msgstr "Parametro personalizzato errato"
-
-#, c-format
-msgid "Bad device-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad device-uri scheme \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad document-format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad document-format-default \"%s\"."
-msgstr ""
-
-msgid "Bad filename buffer"
-msgstr ""
-
-#, c-format
-msgid "Bad font description line \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad font description line: %s"
-msgstr ""
-
-msgid "Bad job-priority value."
-msgstr ""
-
-#, c-format
-msgid "Bad job-sheets value \"%s\"."
-msgstr ""
-
-msgid "Bad job-sheets value type."
-msgstr ""
-
-msgid "Bad job-state value."
-msgstr ""
-
-#, c-format
-msgid "Bad job-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad lpi value %f."
-msgstr ""
-
-#, c-format
-msgid "Bad notify-pull-method \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad notify-recipient-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad number-up value %d."
-msgstr "Valore number-up %d errato."
-
-#, c-format
-msgid "Bad option + choice on line %d."
-msgstr ""
-
-#, c-format
-msgid "Bad page-ranges values %d-%d."
-msgstr "Valori page-ranges %d-%d errati."
-
-#, c-format
-msgid "Bad port-monitor \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad printer-state value %d."
-msgstr ""
-
-#, c-format
-msgid "Bad request ID %d."
-msgstr ""
-
-#, c-format
-msgid "Bad request version number %d.%d."
-msgstr ""
-
-msgid "Bad subscription ID"
-msgstr ""
-
-#, c-format
-msgid "Bad text direction \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad text direction: %s"
-msgstr ""
-
-#, c-format
-msgid "Bad text width \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad text width: %s"
-msgstr ""
-
-msgid "Bad value string"
-msgstr ""
-
-msgid "Banners"
-msgstr "Banner"
-
-msgid "Billing Information: "
-msgstr "Informazioni pagamento: "
-
-msgid "Bond Paper"
-msgstr "Carta normale"
-
-#, c-format
-msgid "Boolean expected for waiteof option \"%s\"."
-msgstr ""
-
-msgid "Buffer overflow detected, aborting."
-msgstr ""
-
-msgid "CMYK"
-msgstr "CMYK"
-
-msgid "CPCL Label Printer"
-msgstr "Stampante etichetta CPCL"
-
-msgid "Cancel RSS Subscription"
-msgstr "Annulla sottoscrizione RSS"
-
-msgid "Canceling print job."
-msgstr ""
-
-msgid "Cannot share a remote Kerberized printer."
-msgstr ""
-
-msgid "Cassette"
-msgstr ""
-
-msgid "Change Settings"
-msgstr "Modifica impostazioni"
-
-#, c-format
-msgid "Character set \"%s\" not supported."
-msgstr ""
-
-msgid "Classes"
-msgstr "Classi"
-
-msgid "Clean Print Heads"
-msgstr "Pulisci testine stampante"
-
-msgid "Close-Job doesn't support the job-uri attribute."
-msgstr ""
-
-msgid "Color"
-msgstr "Colore"
-
-msgid "Color Mode"
-msgstr "Modalità colore"
-
-msgid ""
-"Commands may be abbreviated.  Commands are:\n"
-"\n"
-"exit    help    quit    status  ?"
-msgstr ""
-
-msgid "Community name uses indefinite length"
-msgstr "I nomi comunitari utilizzano una lunghezza indefinita"
-
-msgid "Connected to printer."
-msgstr ""
-
-msgid "Connecting to printer."
-msgstr ""
-
-msgid "Continue"
-msgstr "Continua"
-
-msgid "Continuous"
-msgstr "Continuo"
-
-msgid "Control file sent successfully."
-msgstr ""
-
-msgid "Copying print data."
-msgstr ""
-
-msgid "Created"
-msgstr "Creato"
-
-msgid "Created On: "
-msgstr "Creato il: "
-
-msgid "Custom"
-msgstr "Personalizzato"
-
-msgid "CustominCutInterval"
-msgstr "CustominCutInterval"
-
-msgid "CustominTearInterval"
-msgstr "CustominTearInterval"
-
-msgid "Cut"
-msgstr "Taglia"
-
-msgid "Cutter"
-msgstr "Cutter"
-
-msgid "Dark"
-msgstr "Scuro"
-
-msgid "Darkness"
-msgstr "Oscurità"
-
-msgid "Data file sent successfully."
-msgstr ""
-
-msgid "Delete Class"
-msgstr "Elimina classe"
-
-msgid "Delete Printer"
-msgstr "Elimina stampante"
-
-msgid "Description: "
-msgstr "Descrizione: "
-
-msgid "DeskJet Series"
-msgstr "Serie DeskJet"
-
-#, c-format
-msgid "Destination \"%s\" is not accepting jobs."
-msgstr "La destinazione \"%s\" non accetta operazioni."
-
-#, c-format
-msgid ""
-"Device: uri = %s\n"
-"        class = %s\n"
-"        info = %s\n"
-"        make-and-model = %s\n"
-"        device-id = %s\n"
-"        location = %s"
-msgstr ""
-
-msgid "Direct Thermal Media"
-msgstr "Media termico diretto"
-
-#, c-format
-msgid "Directory \"%s\" contains a relative path."
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" is a file."
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" not available: %s"
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-msgid "Disabled"
-msgstr "Disabilitato"
-
-#, c-format
-msgid "Document #%d does not exist in job #%d."
-msgstr ""
-
-msgid "Driver Name: "
-msgstr "Nome driver: "
-
-msgid "Driver Version: "
-msgstr "Versione driver: "
-
-msgid "Duplexer"
-msgstr "Duplexer"
-
-msgid "Dymo"
-msgstr "Dymo"
-
-msgid "EPL1 Label Printer"
-msgstr "Stampante etichette EPL1"
-
-msgid "EPL2 Label Printer"
-msgstr "Stampante etichette EPL2"
-
-msgid "Edit Configuration File"
-msgstr "Modifica documento di configurazione"
-
-msgid "Empty PPD file."
-msgstr ""
-
-#. TRANSLATORS: Banner/cover sheet after the print job.
-msgid "Ending Banner"
-msgstr "Banner finale"
-
-msgid "English"
-msgstr "Italian"
-
-msgid "Enter old password:"
-msgstr "Inserisci la vecchia password:"
-
-msgid "Enter password again:"
-msgstr "Inserisci di nuovo la password:"
-
-msgid "Enter password:"
-msgstr "Inserisci la password:"
-
-msgid ""
-"Enter your username and password or the root username and password to access "
-"this page. If you are using Kerberos authentication, make sure you have a "
-"valid Kerberos ticket."
-msgstr ""
-"Per accedere a questa pagina, inserisci il tuo nome utente e la password o "
-"il nome utente e la password di root."
-
-msgid "Envelope #10 "
-msgstr ""
-
-msgid "Envelope #11"
-msgstr ""
-
-msgid "Envelope #12"
-msgstr ""
-
-msgid "Envelope #14"
-msgstr ""
-
-msgid "Envelope #9"
-msgstr ""
-
-msgid "Envelope B4"
-msgstr ""
-
-msgid "Envelope B5"
-msgstr ""
-
-msgid "Envelope B6"
-msgstr ""
-
-msgid "Envelope C0"
-msgstr ""
-
-msgid "Envelope C1"
-msgstr ""
-
-msgid "Envelope C2"
-msgstr ""
-
-msgid "Envelope C3"
-msgstr ""
-
-msgid "Envelope C4"
-msgstr ""
-
-msgid "Envelope C5"
-msgstr ""
-
-msgid "Envelope C6"
-msgstr ""
-
-msgid "Envelope C65"
-msgstr ""
-
-msgid "Envelope C7"
-msgstr ""
-
-msgid "Envelope Choukei 3"
-msgstr ""
-
-msgid "Envelope Choukei 3 Long Edge"
-msgstr ""
-
-msgid "Envelope Choukei 4"
-msgstr ""
-
-msgid "Envelope Choukei 4 Long Edge"
-msgstr ""
-
-msgid "Envelope DL"
-msgstr ""
-
-msgid "Envelope Feed"
-msgstr "Feed busta"
-
-msgid "Envelope Invite"
-msgstr ""
-
-msgid "Envelope Italian"
-msgstr ""
-
-msgid "Envelope Kaku2"
-msgstr ""
-
-msgid "Envelope Kaku2 Long Edge"
-msgstr ""
-
-msgid "Envelope Kaku3"
-msgstr ""
-
-msgid "Envelope Kaku3 Long Edge"
-msgstr ""
-
-msgid "Envelope Monarch"
-msgstr ""
-
-msgid "Envelope PRC1 "
-msgstr ""
-
-msgid "Envelope PRC1 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC10"
-msgstr ""
-
-msgid "Envelope PRC10 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC2"
-msgstr ""
-
-msgid "Envelope PRC2 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC3"
-msgstr ""
-
-msgid "Envelope PRC3 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC4"
-msgstr ""
-
-msgid "Envelope PRC4 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC5 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC5PRC5"
-msgstr ""
-
-msgid "Envelope PRC6"
-msgstr ""
-
-msgid "Envelope PRC6 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC7"
-msgstr ""
-
-msgid "Envelope PRC7 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC8"
-msgstr ""
-
-msgid "Envelope PRC8 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC9"
-msgstr ""
-
-msgid "Envelope PRC9 Long Edge"
-msgstr ""
-
-msgid "Envelope Personal"
-msgstr ""
-
-msgid "Envelope You4"
-msgstr ""
-
-msgid "Envelope You4 Long Edge"
-msgstr ""
-
-msgid "Epson"
-msgstr "Epson"
-
-msgid "Error Policy"
-msgstr "Politica errori"
-
-msgid "Error sending raster data."
-msgstr ""
-
-msgid "Error: need hostname after \"-h\" option."
-msgstr ""
-
-msgid "Every 10 Labels"
-msgstr "Ogni 10 etichette"
-
-msgid "Every 2 Labels"
-msgstr "Ogni 2 etichette"
-
-msgid "Every 3 Labels"
-msgstr "Ogni 3 etichette"
-
-msgid "Every 4 Labels"
-msgstr "Ogni 4 etichette"
-
-msgid "Every 5 Labels"
-msgstr "Ogni 5 etichette"
-
-msgid "Every 6 Labels"
-msgstr "Ogni 6 etichette"
-
-msgid "Every 7 Labels"
-msgstr "Ogni 7 etichette"
-
-msgid "Every 8 Labels"
-msgstr "Ogni 8 etichette"
-
-msgid "Every 9 Labels"
-msgstr "Ogni 9 etichette"
-
-msgid "Every Label"
-msgstr "Ogni etichetta"
-
-msgid "Executive"
-msgstr ""
-
-msgid "Expectation Failed"
-msgstr "Attesa fallita"
-
-msgid "Export Printers to Samba"
-msgstr "Esporta stampanti a Samba"
-
-msgid "FAIL"
-msgstr ""
-
-msgid "FanFold German"
-msgstr ""
-
-msgid "FanFold Legal German"
-msgstr ""
-
-msgid "Fanfold US"
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" contains a relative path."
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" is a directory."
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" not available: %s"
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-msgid "File Folder"
-msgstr "Cartella documento"
-
-msgid "File Folder - 9/16 x 3 7/16\""
-msgstr "Cartella documento: 9/16 x 3 7/16\""
-
-#, c-format
-msgid ""
-"File device URIs have been disabled. To enable, see the FileDevice directive "
-"in \"%s/cupsd.conf\"."
-msgstr ""
-
-#, c-format
-msgid "Finished page %d."
-msgstr ""
-
-msgid "Folio"
-msgstr "Foglio"
-
-msgid "Forbidden"
-msgstr "Vietato"
-
-#, c-format
-msgid "Formatting page %d."
-msgstr ""
-
-msgid "General"
-msgstr "Generale"
-
-msgid "Generic"
-msgstr "Generico"
-
-msgid "Get-Response-PDU uses indefinite length"
-msgstr "Get-Response-PDU utilizza una lunghezza indefinita"
-
-msgid "Glossy Paper"
-msgstr "Carta patinata"
-
-msgid "Got a printer-uri attribute but no job-id."
-msgstr ""
-
-msgid "Grayscale"
-msgstr "Scala di grigi"
-
-msgid "HP"
-msgstr "HP"
-
-msgid "Hanging Folder"
-msgstr "Cartella interruzione"
-
-msgid "Hanging Folder - 9/16 x 2\""
-msgstr "Cartella interruzione - 9/16 x 2\""
-
-msgid "IPP 1setOf attribute with incompatible value tags."
-msgstr ""
-
-msgid "IPP attribute has no name."
-msgstr ""
-
-msgid "IPP begCollection value not 0 bytes."
-msgstr ""
-
-msgid "IPP boolean value not 1 byte."
-msgstr ""
-
-msgid "IPP date value not 11 bytes."
-msgstr ""
-
-msgid "IPP endCollection value not 0 bytes."
-msgstr ""
-
-msgid "IPP enum value not 4 bytes."
-msgstr ""
-
-msgid "IPP integer value not 4 bytes."
-msgstr ""
-
-msgid "IPP language length overflows value."
-msgstr ""
-
-msgid "IPP member name is not empty."
-msgstr ""
-
-msgid "IPP name larger than 32767 bytes."
-msgstr ""
-
-msgid "IPP nameWithLanguage value less than minimum 4 bytes."
-msgstr ""
-
-msgid "IPP rangeOfInteger value not 8 bytes."
-msgstr ""
-
-msgid "IPP resolution value not 9 bytes."
-msgstr ""
-
-msgid "IPP string length overflows value."
-msgstr ""
-
-msgid "IPP textWithLanguage value less than minimum 4 bytes."
-msgstr ""
-
-msgid "IPP value larger than 32767 bytes."
-msgstr ""
-
-msgid "ISOLatin1"
-msgstr "ISOLatin1"
-
-msgid "Illegal control character"
-msgstr "Carattere di controllo non consentito"
-
-msgid "Illegal main keyword string"
-msgstr "Stringa di parola chiave principale non consentita"
-
-msgid "Illegal option keyword string"
-msgstr "Stringa di parola chiave opzionale non consentita"
-
-msgid "Illegal translation string"
-msgstr "Stringa di traduzione non consentita"
-
-msgid "Illegal whitespace character"
-msgstr "Carattere spazio bianco non consentito"
-
-msgid "Installable Options"
-msgstr "Opzioni installabili"
-
-msgid "Installed"
-msgstr "Installate"
-
-msgid "IntelliBar Label Printer"
-msgstr "Stampante etichette IntelliBar"
-
-msgid "Intellitech"
-msgstr "Intellitech"
-
-msgid "Internal Server Error"
-msgstr "Errore interno del server"
-
-msgid "Internal error"
-msgstr "Errore interno"
-
-msgid "Internet Postage 2-Part"
-msgstr "Francobollo Internet 2-Part"
-
-msgid "Internet Postage 2-Part - 2 1/4 x 7 1/2\""
-msgstr "Francobollo Internet 2-Part - 2 1/4 x 7 1/2\""
-
-msgid "Internet Postage 3-Part"
-msgstr "Francobollo Internet 3-Part"
-
-msgid "Internet Postage 3-Part - 2 1/4 x 7\""
-msgstr "Francobollo Internet 3-Part - 2 1/4 x 7\""
-
-msgid "Internet Printing Protocol"
-msgstr "IPP (Internet Printing Protocol)"
-
-#, c-format
-msgid "Invalid printer command \"%s\"."
-msgstr ""
-
-msgid "JCL"
-msgstr "JCL"
-
-msgid "JIS B0"
-msgstr ""
-
-msgid "JIS B1"
-msgstr ""
-
-msgid "JIS B10"
-msgstr ""
-
-msgid "JIS B2"
-msgstr ""
-
-msgid "JIS B3"
-msgstr ""
-
-msgid "JIS B4"
-msgstr ""
-
-msgid "JIS B4 Long Edge"
-msgstr ""
-
-msgid "JIS B5"
-msgstr ""
-
-msgid "JIS B5 Long Edge"
-msgstr ""
-
-msgid "JIS B6"
-msgstr ""
-
-msgid "JIS B6 Long Edge"
-msgstr ""
-
-msgid "JIS B7"
-msgstr ""
-
-msgid "JIS B8"
-msgstr ""
-
-msgid "JIS B9"
-msgstr ""
-
-#, c-format
-msgid "Job #%d cannot be restarted - no files."
-msgstr ""
-
-#, c-format
-msgid "Job #%d does not exist."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is already aborted - can't cancel."
-msgstr "La stampa #%d è già interrotta: impossibile annullare."
-
-#, c-format
-msgid "Job #%d is already canceled - can't cancel."
-msgstr "La stampa #%d è già annullata: impossibile annullare."
-
-#, c-format
-msgid "Job #%d is already completed - can't cancel."
-msgstr "La stampa #%d è già completata: impossibile annullare."
-
-#, c-format
-msgid "Job #%d is finished and cannot be altered."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is not complete."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is not held for authentication."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is not held."
-msgstr ""
-
-msgid "Job Completed"
-msgstr "Stampa completata"
-
-msgid "Job Created"
-msgstr "Stampa creata"
-
-msgid "Job ID: "
-msgstr "ID stampa: "
-
-msgid "Job Options Changed"
-msgstr "Opzioni di stampa modificate"
-
-msgid "Job Stopped"
-msgstr "Stampa interrotta"
-
-msgid "Job UUID: "
-msgstr "UUID stampa: "
-
-msgid "Job is completed and cannot be changed."
-msgstr "La stampa è completata e non può essere modificata."
-
-msgid "Job operation failed:"
-msgstr "Operazione stampa fallita:"
-
-msgid "Job state cannot be changed."
-msgstr "Lo stato della stampa non può essere modificato."
-
-msgid "Job subscriptions cannot be renewed."
-msgstr ""
-
-msgid "Jobs"
-msgstr "Stampe"
-
-msgid "LPD/LPR Host or Printer"
-msgstr "Host o stampante LPD/LPR"
-
-msgid "Label Printer"
-msgstr "Stampante etichette"
-
-msgid "Label Top"
-msgstr "Etichetta superiore"
-
-#, c-format
-msgid "Language \"%s\" not supported."
-msgstr ""
-
-msgid "Large Address"
-msgstr "Indirizzo esteso"
-
-msgid "Large Address - 1 4/10 x 3 1/2\""
-msgstr "Indirizzo esteso: - 1 4/10 x 3 1/2\""
-
-msgid "LaserJet Series PCL 4/5"
-msgstr "LaserJet Serie PCL 4/5"
-
-msgid "Letter Oversize"
-msgstr ""
-
-msgid "Letter Oversize Long Edge"
-msgstr ""
-
-msgid "Light"
-msgstr "Luce"
-
-msgid "Line longer than the maximum allowed (255 characters)"
-msgstr "Lunghezza riga superiore al limite massimo concesso (255 caratteri)"
-
-msgid "List Available Printers"
-msgstr "Elenco stampanti disponibili"
-
-msgid "Loading print file."
-msgstr ""
-
-msgid "Location: "
-msgstr "Posizione: "
-
-msgid "Long-Edge (Portrait)"
-msgstr "Taglio largo (ritratto)"
-
-msgid "Looking for printer."
-msgstr ""
-
-msgid "Make and Model: "
-msgstr "Produzione e modello: "
-
-msgid "Manual Feed"
-msgstr "Alimentazione manuale"
-
-msgid "Media Dimensions: "
-msgstr "Dimensioni media: "
-
-msgid "Media Limits: "
-msgstr "Limiti media: "
-
-msgid "Media Name: "
-msgstr "Nome media: "
-
-msgid "Media Size"
-msgstr "Dimensione media"
-
-msgid "Media Source"
-msgstr "Sorgente media"
-
-msgid "Media Tracking"
-msgstr "Rilevamento media"
-
-msgid "Media Type"
-msgstr "Tipo media"
-
-msgid "Medium"
-msgstr "Media"
-
-msgid "Memory allocation error"
-msgstr "Errore di allocazione della memoria"
-
-msgid "Missing CloseGroup"
-msgstr ""
-
-msgid "Missing PPD-Adobe-4.x header"
-msgstr "Intestazione PPD-Adobe-4.x mancante"
-
-msgid "Missing asterisk in column 1"
-msgstr "Asterisco mancante nella colonna 1"
-
-msgid "Missing document-number attribute."
-msgstr ""
-
-#, c-format
-msgid "Missing double quote on line %d."
-msgstr ""
-
-msgid "Missing form variable"
-msgstr ""
-
-msgid "Missing last-document attribute in request."
-msgstr ""
-
-msgid "Missing media or media-col."
-msgstr ""
-
-msgid "Missing media-size in media-col."
-msgstr ""
-
-msgid "Missing notify-subscription-ids attribute."
-msgstr ""
-
-msgid "Missing option keyword"
-msgstr ""
-
-msgid "Missing requesting-user-name attribute."
-msgstr ""
-
-msgid "Missing required attributes."
-msgstr ""
-
-#, c-format
-msgid "Missing value on line %d of banner file."
-msgstr ""
-
-#, c-format
-msgid "Missing value on line %d."
-msgstr ""
-
-msgid "Missing value string"
-msgstr "Stringa di valore mancante"
-
-msgid "Missing x-dimension in media-size."
-msgstr ""
-
-msgid "Missing y-dimension in media-size."
-msgstr ""
-
-#, c-format
-msgid ""
-"Model:  name = %s\n"
-"        natural_language = %s\n"
-"        make-and-model = %s\n"
-"        device-id = %s"
-msgstr ""
-
-msgid "Modify Class"
-msgstr "Modifica classe"
-
-msgid "Modify Printer"
-msgstr "Modifica stampante"
-
-msgid "Move All Jobs"
-msgstr "Sposta tutte le stampe"
-
-msgid "Move Job"
-msgstr "Sposta stampa"
-
-msgid "Moved Permanently"
-msgstr "Spostamento permanente"
-
-msgid "NULL PPD file pointer"
-msgstr "Puntatore documento NULL PPD"
-
-msgid "Name OID uses indefinite length"
-msgstr "Il nome OID utilizza una lunghezza indefinita"
-
-msgid "Nested classes are not allowed."
-msgstr ""
-
-msgid "Never"
-msgstr "Mai"
-
-msgid "New Stylus Color Series"
-msgstr "Nuova serie Stylus Color"
-
-msgid "New Stylus Photo Series"
-msgstr "Nuova serie Stylus Photo"
-
-msgid "No"
-msgstr "No"
-
-msgid "No Content"
-msgstr "Nessun contenuto"
-
-msgid "No PPD name"
-msgstr ""
-
-msgid "No VarBind SEQUENCE"
-msgstr "Nessuna SEQUENZA VarBind"
-
-msgid "No Windows printer drivers are installed."
-msgstr ""
-
-msgid "No active connection"
-msgstr "Nessuna connessione attiva"
-
-#, c-format
-msgid "No active jobs on %s."
-msgstr ""
-
-msgid "No attributes in request."
-msgstr ""
-
-msgid "No authentication information provided."
-msgstr ""
-
-msgid "No community name"
-msgstr "Nessun nome comunitario"
-
-msgid "No default printer."
-msgstr ""
-
-msgid "No destinations added."
-msgstr "Nessuna destinazione aggiunta."
-
-msgid "No device URI found in argv[0] or in DEVICE_URI environment variable."
-msgstr ""
-
-msgid "No error-index"
-msgstr "Nessun error-index"
-
-msgid "No error-status"
-msgstr "Nessun error-status"
-
-msgid "No file in print request."
-msgstr ""
-
-msgid "No fonts in charset file."
-msgstr ""
-
-msgid "No modification time"
-msgstr ""
-
-msgid "No name OID"
-msgstr "Nessun nome OID"
-
-msgid "No pages were found."
-msgstr ""
-
-msgid "No printer name"
-msgstr ""
-
-msgid "No printer-uri found"
-msgstr ""
-
-msgid "No printer-uri found for class"
-msgstr ""
-
-msgid "No printer-uri in request."
-msgstr ""
-
-msgid "No request-id"
-msgstr "Nessun request-id"
-
-msgid "No subscription attributes in request."
-msgstr ""
-
-msgid "No subscriptions found."
-msgstr "Nessuna sottoscrizione trovata."
-
-msgid "No variable-bindings SEQUENCE"
-msgstr "Nessuna SEQUENZA variable-bindings"
-
-msgid "No version number"
-msgstr "Nessun numero versione"
-
-msgid "Non-continuous (Mark sensing)"
-msgstr "Non-continuous (rilevamento contrassegno)"
-
-msgid "Non-continuous (Web sensing)"
-msgstr "Non-continuous (rilevamento web)"
-
-msgid "Normal"
-msgstr "Normale"
-
-msgid "Not Found"
-msgstr "Non trovato"
-
-msgid "Not Implemented"
-msgstr "Non implementato"
-
-msgid "Not Installed"
-msgstr "Non installato"
-
-msgid "Not Modified"
-msgstr "Non modificato"
-
-msgid "Not Supported"
-msgstr "Non supportato"
-
-msgid "Not allowed to print."
-msgstr "Non autorizzata a stampare."
-
-msgid "Note"
-msgstr "Nota"
-
-msgid ""
-"Note: this program only validates the DSC comments, not the PostScript "
-"itself."
-msgstr ""
-
-msgid "OK"
-msgstr "OK"
-
-msgid "Off (1-Sided)"
-msgstr "Off (su un lato)"
-
-msgid "Oki"
-msgstr "Oki"
-
-msgid "Online Help"
-msgstr "Aiuto Online"
-
-#, c-format
-msgid "Open of %s failed: %s"
-msgstr "Apertura di %s fallita: %s"
-
-msgid "OpenGroup without a CloseGroup first"
-msgstr "OpenGroup senza un CloseGroup precedente"
-
-msgid "OpenUI/JCLOpenUI without a CloseUI/JCLCloseUI first"
-msgstr "OpenUI/JCLOpenUI senza un CloseUI/JCLCloseUI precedente"
-
-msgid "Operation Policy"
-msgstr "Politica operativa"
-
-#, c-format
-msgid "Option \"%s\" cannot be included via %%%%IncludeFeature."
-msgstr ""
-
-msgid "Options Installed"
-msgstr "Opzioni installate"
-
-msgid "Options:"
-msgstr ""
-
-msgid "Options: "
-msgstr "Opzioni: "
-
-msgid "Out of date PPD cache file."
-msgstr ""
-
-msgid "Out of memory."
-msgstr ""
-
-msgid "Output Mode"
-msgstr "Modalità di uscita"
-
-#, c-format
-msgid "Output for printer %s is sent to %s"
-msgstr ""
-
-#, c-format
-msgid "Output for printer %s is sent to remote printer %s on %s"
-msgstr ""
-
-#, c-format
-msgid "Output for printer %s/%s is sent to %s"
-msgstr ""
-
-#, c-format
-msgid "Output for printer %s/%s is sent to remote printer %s on %s"
-msgstr ""
-
-msgid "PASS"
-msgstr ""
-
-msgid "PCL Laser Printer"
-msgstr "Stampante laser PCL"
-
-msgid "PRC16K"
-msgstr "PRC16K"
-
-msgid "PRC16K Long Edge"
-msgstr ""
-
-msgid "PRC32K"
-msgstr "PRC32K"
-
-msgid "PRC32K Long Edge"
-msgstr ""
-
-msgid "PRC32K Oversize"
-msgstr ""
-
-msgid "PRC32K Oversize Long Edge"
-msgstr ""
-
-msgid "Packet does not contain a Get-Response-PDU"
-msgstr "Il pacchetto non contiene un Get-Response-PDU"
-
-msgid "Packet does not start with SEQUENCE"
-msgstr "Il pacchetto non inizia con una SEQUENZA"
-
-msgid "ParamCustominCutInterval"
-msgstr "ParamCustominCutInterval"
-
-msgid "ParamCustominTearInterval"
-msgstr "ParamCustominTearInterval"
-
-#, c-format
-msgid "Password for %s on %s? "
-msgstr "Password per %s su %s? "
-
-#, c-format
-msgid "Password for %s required to access %s via SAMBA: "
-msgstr "Password per %s necessaria per accedere a %s via SAMBA: "
-
-msgid "Pause Class"
-msgstr "Metti in  pausa classe"
-
-msgid "Pause Printer"
-msgstr "Metti in pausa stampante"
-
-msgid "Peel-Off"
-msgstr "Stacca"
-
-msgid "Photo"
-msgstr "Foto"
-
-msgid "Photo Labels"
-msgstr "Etichette foto"
-
-msgid "Plain Paper"
-msgstr "Carta normale"
-
-msgid "Policies"
-msgstr "Politiche"
-
-msgid "Port Monitor"
-msgstr "Monitor porta"
-
-msgid "PostScript Printer"
-msgstr "Stampante PostScript"
-
-msgid "Postcard"
-msgstr "Cartolina postale"
-
-msgid "Postcard Double "
-msgstr ""
-
-msgid "Postcard Double Long Edge"
-msgstr ""
-
-msgid "Postcard Long Edge"
-msgstr ""
-
-msgid "Print Density"
-msgstr "Densità di stampa"
-
-msgid "Print Job:"
-msgstr "Stampa:"
-
-msgid "Print Mode"
-msgstr "Modalità di stampa"
-
-msgid "Print Rate"
-msgstr "Velocità di stampa"
-
-msgid "Print Self-Test Page"
-msgstr "Pagina di autoverifica"
-
-msgid "Print Speed"
-msgstr "Velocità di stampa"
-
-msgid "Print Test Page"
-msgstr "Stampa pagina di prova"
-
-msgid "Print and Cut"
-msgstr "Stampa e taglia"
-
-msgid "Print and Tear"
-msgstr "Stampa e separa"
-
-#, c-format
-msgid "Print file accepted - job ID %d."
-msgstr ""
-
-msgid "Print file accepted - job ID unknown."
-msgstr ""
-
-msgid "Print file sent."
-msgstr ""
-
-msgid "Print file was not accepted."
-msgstr ""
-
-msgid "Print job too large."
-msgstr ""
-
-msgid "Printed For: "
-msgstr "Stampato per: "
-
-msgid "Printed From: "
-msgstr "Stampato da: "
-
-msgid "Printed On: "
-msgstr "Stampato su: "
-
-msgid "Printer Added"
-msgstr "Aggiunta stampante"
-
-msgid "Printer Default"
-msgstr "Stampate di default"
-
-msgid "Printer Deleted"
-msgstr "Stampante eliminata"
-
-msgid "Printer Modified"
-msgstr "Manutenzione stampanti"
-
-msgid "Printer Name: "
-msgstr "Nome stampante: "
-
-msgid "Printer Paused"
-msgstr "Stampante in pausa"
-
-msgid "Printer Settings"
-msgstr "Impostazioni stampante"
-
-msgid "Printer busy, will retry in 10 seconds."
-msgstr ""
-
-msgid "Printer busy; will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer did not respond."
-msgstr ""
-
-#, c-format
-msgid "Printer does not support IPP/%d.%d, trying IPP/%s."
-msgstr ""
-
-msgid "Printer is busy, will retry in 5 seconds."
-msgstr ""
-
-msgid "Printer is not currently connected."
-msgstr ""
-
-msgid "Printer is now connected."
-msgstr ""
-
-msgid "Printer is now online."
-msgstr ""
-
-msgid "Printer is offline."
-msgstr ""
-
-msgid "Printer not connected, will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer not connected; will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer:"
-msgstr "Stampante:"
-
-msgid "Printers"
-msgstr "Stampanti"
-
-#, c-format
-msgid "Printing page %d, %d%% complete."
-msgstr ""
-
-#, c-format
-msgid "Printing page %d."
-msgstr ""
-
-msgid "Purge Jobs"
-msgstr "Libera stampe"
-
-msgid "Quarto"
-msgstr "Quarto"
-
-msgid "Quota limit reached."
-msgstr "Limite di quota raggiunto."
-
-msgid "Rank    Owner   Job     File(s)                         Total Size"
-msgstr ""
-
-#. TRANSLATORS: Pri is job priority.
-msgid ""
-"Rank   Owner      Pri  Job        Files                       Total Size"
-msgstr ""
-
-msgid "Ready to print."
-msgstr ""
-
-msgid "Reject Jobs"
-msgstr "Scarta stampe"
-
-#, c-format
-msgid "Remote host did not accept control file (%d)."
-msgstr ""
-
-#, c-format
-msgid "Remote host did not accept data file (%d)."
-msgstr ""
-
-msgid "Reprint After Error"
-msgstr "Ristampa dopo errore"
-
-msgid "Request Entity Too Large"
-msgstr "Richiesta di dimensioni eccessive"
-
-msgid "Resolution"
-msgstr "Risoluzione"
-
-msgid "Resume Class"
-msgstr "Riprendi classe"
-
-msgid "Resume Printer"
-msgstr "Riprendi stampante"
-
-msgid "Return Address"
-msgstr "Indirizzo mittente"
-
-msgid "Return Address - 3/4 x 2\""
-msgstr "Indirizzo mittente - 3/4 x 2\""
-
-msgid "Rewind"
-msgstr "Riavvolgi"
-
-#, c-format
-msgid "Running command: %s %s -N -A %s -c '%s'"
-msgstr ""
-
-msgid "SEQUENCE uses indefinite length"
-msgstr "SEQUENZA utilizza una lunghezza indefinita"
-
-msgid "SSL/TLS Negotiation Error"
-msgstr ""
-
-msgid "See Other"
-msgstr "Vedi altro"
-
-msgid "Sending data to printer."
-msgstr ""
-
-#, c-format
-msgid "Serial Port #%d"
-msgstr "Porta seriale#%d"
-
-msgid "Server Restarted"
-msgstr "Server riavviato"
-
-msgid "Server Security Auditing"
-msgstr "Auditing sicurezza server"
-
-msgid "Server Started"
-msgstr "Server avviato"
-
-msgid "Server Stopped"
-msgstr "Server interrotto"
-
-msgid "Service Unavailable"
-msgstr "Servizio non disponibile"
-
-msgid "Set Allowed Users"
-msgstr "Imposta utenti autorizzati"
-
-msgid "Set As Server Default"
-msgstr "Imposta come server di default"
-
-msgid "Set Class Options"
-msgstr "Imposta opzioni classe"
-
-msgid "Set Printer Options"
-msgstr "Imposta opzioni stampante"
-
-msgid "Set Publishing"
-msgstr "Imposta pubblicazione"
-
-msgid "Shipping Address"
-msgstr "Indirizzo di spedizione"
-
-msgid "Shipping Address - 2 5/16 x 4\""
-msgstr "Indirizzo di spedizione - 2 5/16 x 4\""
-
-msgid "Short-Edge (Landscape)"
-msgstr "Lato corto (panoramica)"
-
-msgid "Special Paper"
-msgstr "Carta speciale"
-
-#, c-format
-msgid "Spooling job, %.0f%% complete."
-msgstr ""
-
-msgid "Standard"
-msgstr "Standard"
-
-#. TRANSLATORS: Banner/cover sheet before the print job.
-msgid "Starting Banner"
-msgstr "Banner iniziale"
-
-#, c-format
-msgid "Starting page %d."
-msgstr ""
-
-msgid "Statement"
-msgstr "Istruzione"
-
-msgid "Stylus Color Series"
-msgstr "Serie Stylus Color"
-
-msgid "Stylus Photo Series"
-msgstr "Serie Stylus Photo"
-
-#, c-format
-msgid "Subscription #%d does not exist."
-msgstr ""
-
-msgid "Super A"
-msgstr "Super A"
-
-msgid "Super B"
-msgstr "Super B"
-
-msgid "Super B/A3"
-msgstr "Super B/A3"
-
-msgid "Switching Protocols"
-msgstr "Cambio protocolli"
-
-msgid "Tabloid"
-msgstr "Tabloid"
-
-msgid "Tabloid Oversize"
-msgstr ""
-
-msgid "Tabloid Oversize Long Edge"
-msgstr ""
-
-msgid "Tear"
-msgstr "Separa"
-
-msgid "Tear-Off"
-msgstr "Separa"
-
-msgid "Tear-Off Adjust Position"
-msgstr "Posizione di regolazione separa"
-
-#, c-format
-msgid "The %s attribute cannot be provided with job-ids."
-msgstr ""
-
-#, c-format
-msgid "The PPD file \"%s\" could not be found."
-msgstr "Impossibile trovare il documento PPD \"%s\"."
-
-#, c-format
-msgid "The PPD file \"%s\" could not be opened: %s"
-msgstr "Impossibile aprire il documento PPD \"%s\": %s"
-
-msgid "The PPD file could not be opened."
-msgstr ""
-
-msgid ""
-"The class name may only contain up to 127 printable characters and may not "
-"contain spaces, slashes (/), or the pound sign (#)."
-msgstr ""
-"Il nome della classe può contenere fino a 127 caratteri stampabili e non può "
-"contenere spazi, barre (/) o cancelletti (#)."
-
-msgid "The developer unit needs to be replaced."
-msgstr ""
-
-msgid "The developer unit will need to be replaced soon."
-msgstr ""
-
-msgid "The fuser's temperature is high."
-msgstr ""
-
-msgid "The fuser's temperature is low."
-msgstr ""
-
-msgid ""
-"The notify-lease-duration attribute cannot be used with job subscriptions."
-msgstr ""
-"L'attributo notify-lease-duration non può essere usato con le sottoscrizioni "
-"delle stampe."
-
-#, c-format
-msgid "The notify-user-data value is too large (%d > 63 octets)."
-msgstr ""
-
-msgid "The optical photoconductor needs to be replaced."
-msgstr ""
-
-msgid "The optical photoconductor will need to be replaced soon."
-msgstr ""
-
-msgid "The output bin is almost full."
-msgstr ""
-
-msgid "The output bin is full."
-msgstr ""
-
-msgid "The output bin is missing."
-msgstr ""
-
-msgid "The page setup information was not valid."
-msgstr ""
-
-msgid "The paper tray is almost empty."
-msgstr ""
-
-msgid "The paper tray is empty."
-msgstr ""
-
-msgid "The paper tray is missing."
-msgstr ""
-
-msgid "The paper tray needs to be filled."
-msgstr ""
-
-msgid "The print file could not be opened."
-msgstr ""
-
-msgid "The printer URI is incorrect or no longer exists."
-msgstr ""
-
-msgid "The printer is busy."
-msgstr ""
-
-msgid "The printer is not connected."
-msgstr ""
-
-msgid "The printer is not responding."
-msgstr ""
-
-msgid "The printer is out of ink."
-msgstr ""
-
-msgid "The printer is running low on ink."
-msgstr ""
-
-msgid "The printer is running low on toner."
-msgstr ""
-
-msgid "The printer is unreachable at this time."
-msgstr ""
-
-msgid "The printer may be out of toner."
-msgstr ""
-
-msgid "The printer may not exist or is unavailable at this time."
-msgstr ""
-
-msgid ""
-"The printer name may only contain up to 127 printable characters and may not "
-"contain spaces, slashes (/), or the pound sign (#)."
-msgstr ""
-"Il nome della stampante può contenere fino a 127 caratteri stampabili e non "
-"può contenere spazi, barre (/) o cancelletti (#)."
-
-msgid "The printer or class does not exist."
-msgstr ""
-
-msgid "The printer or class is not shared."
-msgstr ""
-
-msgid "The printer's cover is open."
-msgstr ""
-
-msgid "The printer's door is open."
-msgstr ""
-
-msgid "The printer's interlock is open."
-msgstr ""
-
-msgid "The printer's waste bin is almost full."
-msgstr ""
-
-msgid "The printer's waste bin is full."
-msgstr ""
-
-#, c-format
-msgid "The printer-uri \"%s\" contains invalid characters."
-msgstr "Printer-uri \"%s\" contiene caratteri non validi."
-
-msgid "The printer-uri attribute is required."
-msgstr ""
-
-msgid ""
-"The printer-uri must be of the form \"ipp://HOSTNAME/classes/CLASSNAME\"."
-msgstr ""
-"È richiesto un printer-uri con formato \"ipp://HOSTNAME/classes/CLASSNAME\"."
-
-msgid ""
-"The printer-uri must be of the form \"ipp://HOSTNAME/printers/PRINTERNAME\"."
-msgstr ""
-"È richiesto un printer-uri con formato \"ipp://HOSTNAME/printers/PRINTERNAME"
-"\"."
-
-msgid ""
-"The subscription name may not contain spaces, slashes (/), question marks "
-"(?), or the pound sign (#)."
-msgstr ""
-"Il nome della sottoscrizione non può contenere spazi, barre (/), punti "
-"interrogativi (?) o cancelletti (#)."
-
-msgid ""
-"The web interface is currently disabled. Run \"cupsctl WebInterface=yes\" to "
-"enable it."
-msgstr ""
-
-#, c-format
-msgid "The which-jobs value \"%s\" is not supported."
-msgstr ""
-
-msgid "There are too many subscriptions."
-msgstr "Ci sono troppe sottoscrizioni."
-
-msgid "There is a paper jam."
-msgstr ""
-
-msgid "There was an unrecoverable USB error."
-msgstr ""
-
-msgid "Thermal Transfer Media"
-msgstr "Media trasferimento termico"
-
-msgid "Title: "
-msgstr "Titolo: "
-
-msgid "Too many active jobs."
-msgstr "Troppe stampe attive."
-
-#, c-format
-msgid "Too many job-sheets values (%d > 2)."
-msgstr ""
-
-#, c-format
-msgid "Too many printer-state-reasons values (%d > %d)."
-msgstr ""
-
-msgid "Transparency"
-msgstr "Trasparenza"
-
-msgid "Tray"
-msgstr "Vassoio"
-
-msgid "Tray 1"
-msgstr "Vassoio 1"
-
-msgid "Tray 2"
-msgstr "Vassoio 2"
-
-msgid "Tray 3"
-msgstr "Vassoio 3"
-
-msgid "Tray 4"
-msgstr "Vassoio 4"
-
-msgid "URI Too Long"
-msgstr "URI troppo lungo"
-
-msgid "US Ledger"
-msgstr "Ledger USA"
-
-msgid "US Legal"
-msgstr "Legale USA"
-
-msgid "US Legal Oversize"
-msgstr ""
-
-msgid "US Letter"
-msgstr "Lettera USA"
-
-msgid "US Letter Long Edge"
-msgstr ""
-
-msgid "US Letter Oversize"
-msgstr ""
-
-msgid "US Letter Oversize Long Edge"
-msgstr ""
-
-msgid "US Letter Small"
-msgstr ""
-
-#, c-format
-msgid "USB Serial Port #%d"
-msgstr "Porta seriale#%d USB"
-
-msgid "Unable to access cupsd.conf file:"
-msgstr "Impossibile accedere al documento cupsd.conf:"
-
-msgid "Unable to add RSS subscription:"
-msgstr "Impossibile aggiungere la sottoscrizione RSS:"
-
-msgid "Unable to add class:"
-msgstr "Impossibile aggiungere la classe:"
-
-msgid "Unable to add document to print job."
-msgstr ""
-
-#, c-format
-msgid "Unable to add job for destination \"%s\"."
-msgstr ""
-
-msgid "Unable to add printer:"
-msgstr "Impossibile aggiungere la stampante:"
-
-msgid "Unable to allocate memory for file types."
-msgstr ""
-
-msgid "Unable to allocate memory for page info"
-msgstr ""
-
-msgid "Unable to allocate memory for pages array"
-msgstr ""
-
-msgid "Unable to cancel RSS subscription:"
-msgstr "Impossibile annullare la sottoscrizione RSS:"
-
-msgid "Unable to cancel print job."
-msgstr ""
-
-msgid "Unable to change printer-is-shared attribute:"
-msgstr "Impossibile modificare l'attributo printer-is-shared:"
-
-msgid "Unable to change printer:"
-msgstr "Impossibile cambiare stampante:"
-
-msgid "Unable to change server settings:"
-msgstr "Impossibile modificare le impostazioni del server:"
-
-msgid "Unable to configure printer options."
-msgstr ""
-
-msgid "Unable to connect to host."
-msgstr "Impossibile connettersi all'host."
-
-msgid "Unable to contact printer, queuing on next printer in class."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy 64-bit CUPS printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy 64-bit Windows printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy CUPS printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy PPD file - %s"
-msgstr ""
-
-msgid "Unable to copy PPD file."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy Windows 2000 printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy Windows 9x printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy interface script - %s"
-msgstr ""
-
-msgid "Unable to copy print file"
-msgstr ""
-
-msgid "Unable to create compressed print file"
-msgstr ""
-
-msgid "Unable to create pipes for filters"
-msgstr ""
-
-msgid "Unable to create printer-uri"
-msgstr ""
-
-msgid "Unable to create temporary file"
-msgstr ""
-
-msgid "Unable to create temporary file:"
-msgstr "Impossibile creare il documento temporaneo:"
-
-msgid "Unable to delete class:"
-msgstr "Impossibile eliminare la classe:"
-
-msgid "Unable to delete printer:"
-msgstr "Impossibile eliminare la stampante:"
-
-msgid "Unable to do maintenance command:"
-msgstr "Impossibile eseguire il comando di manutenzione:"
-
-msgid "Unable to edit cupsd.conf files larger than 1MB"
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (certificate chain invalid)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (certificate not yet valid)."
-msgstr ""
-
-msgid "Unable to establish a secure connection to host (expired certificate)."
-msgstr ""
-
-msgid "Unable to establish a secure connection to host (host name mismatch)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (peer dropped connection "
-"before responding)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (self-signed certificate)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (untrusted certificate)."
-msgstr ""
-
-msgid "Unable to establish a secure connection to host."
-msgstr ""
-
-msgid "Unable to find destination for job"
-msgstr ""
-
-msgid "Unable to find printer."
-msgstr ""
-
-msgid "Unable to fork filter"
-msgstr ""
-
-msgid "Unable to generate compressed print file"
-msgstr ""
-
-msgid "Unable to get backend exit status."
-msgstr ""
-
-msgid "Unable to get class list:"
-msgstr "Impossibile ottenere l'elenco delle classi:"
-
-msgid "Unable to get class status:"
-msgstr "Impossibile ottenere lo stato della classe:"
-
-msgid "Unable to get list of printer drivers:"
-msgstr "Impossibile ottenere l'elenco dei driver della stampante:"
-
-msgid "Unable to get printer attributes:"
-msgstr "Impossibile ottenere gli attributi della stampante:"
-
-msgid "Unable to get printer list:"
-msgstr "Impossibile ottenere l'elenco delle stampanti:"
-
-msgid "Unable to get printer status."
-msgstr ""
-
-msgid "Unable to get printer status:"
-msgstr "Impossibile ottenere lo stato della stampante:"
-
-#, c-format
-msgid "Unable to install Windows 2000 printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to install Windows 9x printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to locate printer \"%s\"."
-msgstr ""
-
-msgid "Unable to locate printer."
-msgstr ""
-
-msgid "Unable to modify class:"
-msgstr "Impossibile modificare la classe:"
-
-msgid "Unable to modify printer:"
-msgstr "Impossibile modificare la stampante:"
-
-msgid "Unable to move job"
-msgstr "Impossibile spostare la stampa"
-
-msgid "Unable to move jobs"
-msgstr "Impossibile spostare le stampe"
-
-msgid "Unable to open PPD file"
-msgstr "Impossibile aprire il documento PPD"
-
-msgid "Unable to open PPD file:"
-msgstr "Impossibile aprire il documento PPD:"
-
-msgid "Unable to open charset file"
-msgstr ""
-
-msgid "Unable to open compressed print file"
-msgstr ""
-
-msgid "Unable to open cupsd.conf file:"
-msgstr "Impossibile aprire il documento cupsd.conf:"
-
-msgid "Unable to open device file"
-msgstr ""
-
-#, c-format
-msgid "Unable to open document #%d in job #%d."
-msgstr ""
-
-msgid "Unable to open print file"
-msgstr ""
-
-msgid "Unable to open psglyphs"
-msgstr ""
-
-msgid "Unable to open raster file"
-msgstr ""
-
-#, c-format
-msgid "Unable to print %d text columns."
-msgstr ""
-
-#, c-format
-msgid "Unable to print %dx%d text page."
-msgstr ""
-
-msgid "Unable to print test page:"
-msgstr "Impossibile stampare la pagina di prova:"
-
-msgid "Unable to read print data"
-msgstr ""
-
-msgid "Unable to read print data."
-msgstr ""
-
-#, c-format
-msgid "Unable to run \"%s\": %s"
-msgstr ""
-
-msgid "Unable to see in file"
-msgstr ""
-
-msgid "Unable to send command to printer driver"
-msgstr ""
-
-msgid "Unable to send data to printer."
-msgstr ""
-
-msgid "Unable to send raster data to the driver."
-msgstr ""
-
-#, c-format
-msgid "Unable to set Windows printer driver (%d)."
-msgstr ""
-
-msgid "Unable to set options:"
-msgstr "Impossibile configurare le opzioni:"
-
-msgid "Unable to set server default:"
-msgstr "Impossibile impostare il server di default:"
-
-msgid "Unable to start backend process."
-msgstr ""
-
-msgid "Unable to upload cupsd.conf file:"
-msgstr "Impossibile caricare il documento cupsd.conf:"
-
-msgid "Unable to use legacy USB class driver."
-msgstr ""
-
-msgid "Unable to write print data"
-msgstr ""
-
-#, c-format
-msgid "Unable to write uncompressed print data: %s"
-msgstr ""
-
-msgid "Unauthorized"
-msgstr "Non autorizzato"
-
-msgid "Units"
-msgstr "Unità"
-
-msgid "Unknown"
-msgstr "Sconosciuto"
-
-#, c-format
-msgid "Unknown choice \"%s\" for option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown encryption option value: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown file order: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown format character: \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown option \"%s\" with value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown print mode: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown printer-error-policy \"%s\"."
-msgstr "Printer-error-policy \"%s\" sconosciuto."
-
-#, c-format
-msgid "Unknown printer-op-policy \"%s\"."
-msgstr "Printer-op-policy \"%s\" sconosciuto."
-
-#, c-format
-msgid "Unknown version option value: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported baud rate: %s"
-msgstr ""
-
-#, c-format
-msgid "Unsupported brightness value %s, using brightness=100."
-msgstr ""
-
-#, c-format
-msgid "Unsupported character set \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported compression \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported document-format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported document-format \"%s/%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported gamma value %s, using gamma=1000."
-msgstr ""
-
-msgid "Unsupported margins."
-msgstr ""
-
-msgid "Unsupported media value."
-msgstr ""
-
-#, c-format
-msgid "Unsupported number-up value %d, using number-up=1."
-msgstr ""
-
-#, c-format
-msgid "Unsupported number-up-layout value %s, using number-up-layout=lrtb."
-msgstr ""
-
-#, c-format
-msgid "Unsupported page-border value %s, using page-border=none."
-msgstr ""
-
-msgid "Unsupported raster data."
-msgstr ""
-
-msgid "Unsupported value type"
-msgstr "Tipo valore non supportato"
-
-msgid "Upgrade Required"
-msgstr "Richiesto aggiornamento"
-
-msgid ""
-"Usage:\n"
-"\n"
-"    lpadmin [-h server] -d destination\n"
-"    lpadmin [-h server] -x destination\n"
-"    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m model]\n"
-"                       [-r remove-class] [-v device] [-D description]\n"
-"                       [-P ppd-file] [-o name=value]\n"
-"                       [-u allow:user,user] [-u deny:user,user]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job user title copies options [filename]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job-id user title copies options [file]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job-id user title copies options file"
-msgstr ""
-
-msgid "Usage: convert [ options ]"
-msgstr ""
-
-msgid "Usage: cupsaddsmb [options] printer1 ... printerN"
-msgstr ""
-
-msgid "Usage: cupsctl [options] [param=value ... paramN=valueN]"
-msgstr ""
-
-msgid "Usage: cupsd [options]"
-msgstr ""
-
-msgid "Usage: cupsfilter [ options ] filename"
-msgstr ""
-
-msgid "Usage: cupstestdsc [options] filename.ps [... filename.ps]"
-msgstr ""
-
-msgid ""
-"Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]"
-msgstr ""
-
-msgid "Usage: ipptool [options] URI filename [ ... filenameN ]"
-msgstr ""
-
-msgid "Usage: lpmove job/src dest"
-msgstr ""
-
-msgid ""
-"Usage: lpoptions [-h server] [-E] -d printer\n"
-"       lpoptions [-h server] [-E] [-p printer] -l\n"
-"       lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
-"       lpoptions [-h server] [-E] -x printer"
-msgstr ""
-
-msgid "Usage: lppasswd [-g groupname]"
-msgstr ""
-
-msgid ""
-"Usage: lppasswd [-g groupname] [username]\n"
-"       lppasswd [-g groupname] -a [username]\n"
-"       lppasswd [-g groupname] -x [username]"
-msgstr ""
-
-msgid ""
-"Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]"
-msgstr ""
-
-msgid "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]"
-msgstr ""
-
-msgid "Usage: ppdhtml [options] filename.drv >filename.html"
-msgstr ""
-
-msgid "Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]"
-msgstr ""
-
-msgid "Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]"
-msgstr ""
-
-msgid ""
-"Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]"
-msgstr ""
-
-msgid "Usage: snmp [host-or-ip-address]"
-msgstr ""
-
-msgid "Value uses indefinite length"
-msgstr "Il valore utilizza una lunghezza indefinita"
-
-msgid "VarBind uses indefinite length"
-msgstr "VarBind utilizza una lunghezza indefinita"
-
-msgid "Version uses indefinite length"
-msgstr "La versione utilizza una lunghezza indefinita"
-
-msgid "Waiting for job to complete."
-msgstr ""
-
-msgid "Waiting for printer to become available."
-msgstr ""
-
-msgid "Waiting for printer to finish."
-msgstr ""
-
-msgid "Warning, no Windows 2000 printer drivers are installed."
-msgstr ""
-
-msgid "Web Interface is Disabled"
-msgstr ""
-
-msgid "Yes"
-msgstr "Sì"
-
-#, c-format
-msgid ""
-"You must access this page using the URL <A HREF=\"https://%s:%d%s\">https://%"
-"s:%d%s</A>."
-msgstr ""
-"Devi accedere a questa pagina utilizzando l'URL <A HREF=\"https://%s:%d%s"
-"\">https://%s:%d%s</A>."
-
-msgid ""
-"Your password must be at least 6 characters long, cannot contain your "
-"username, and must contain at least one letter and number."
-msgstr ""
-
-msgid "ZPL Label Printer"
-msgstr "Stampante etichetta ZPL"
-
-msgid "Zebra"
-msgstr "Zebra"
-
-msgid "aborted"
-msgstr "interrotto"
-
-msgid "canceled"
-msgstr "annullato"
-
-msgid "completed"
-msgstr "completato"
-
-msgid "convert: Use the -f option to specify a file to convert."
-msgstr ""
-
-msgid "cups-deviced failed to execute."
-msgstr "esecuzione di cups-deviced fallita."
-
-msgid "cups-driverd failed to execute."
-msgstr "esecuzione di cups-driverd fallita."
-
-#, c-format
-msgid "cupsaddsmb: No PPD file for printer \"%s\" - %s"
-msgstr ""
-
-msgid "cupsctl: Cannot set Listen or Port directly."
-msgstr ""
-
-#, c-format
-msgid "cupsctl: Unable to connect to server: %s"
-msgstr ""
-
-#, c-format
-msgid "cupsctl: Unknown option \"%s\""
-msgstr ""
-
-#, c-format
-msgid "cupsctl: Unknown option \"-%c\""
-msgstr ""
-
-msgid "cupsd: Expected config filename after \"-c\" option."
-msgstr ""
-
-msgid "cupsd: Unable to get current directory."
-msgstr ""
-
-#, c-format
-msgid "cupsd: Unknown argument \"%s\" - aborting."
-msgstr ""
-
-#, c-format
-msgid "cupsd: Unknown option \"%c\" - aborting."
-msgstr ""
-
-msgid "cupsd: launchd(8) support not compiled in, running in normal mode."
-msgstr ""
-
-#, c-format
-msgid "cupsfilter: Invalid document number %d."
-msgstr ""
-
-#, c-format
-msgid "cupsfilter: Invalid job ID %d."
-msgstr ""
-
-msgid "cupsfilter: Only one filename can be specified."
-msgstr ""
-
-#, c-format
-msgid "cupsfilter: Unable to get job file - %s"
-msgstr ""
-
-msgid "cupstestppd: The -q option is incompatible with the -v option."
-msgstr ""
-
-msgid "cupstestppd: The -v option is incompatible with the -q option."
-msgstr ""
-
-#, c-format
-msgid "device for %s/%s: %s"
-msgstr ""
-
-#, c-format
-msgid "device for %s: %s"
-msgstr ""
-
-msgid "error-index uses indefinite length"
-msgstr "error-index utilizza una lunghezza indefinita"
-
-msgid "error-status uses indefinite length"
-msgstr "error-status utilizza una lunghezza indefinita"
-
-msgid "held"
-msgstr "bloccato"
-
-msgid "help\t\tGet help on commands."
-msgstr ""
-
-msgid "idle"
-msgstr "inattivo"
-
-msgid "ipptool: \"-i\" and \"-n\" are incompatible with -X\"."
-msgstr ""
-
-msgid "ipptool: \"-i\" is incompatible with \"-X\"."
-msgstr ""
-
-msgid "ipptool: \"-n\" is incompatible with \"-X\"."
-msgstr ""
-
-#, c-format
-msgid "ipptool: Bad URI - %s."
-msgstr ""
-
-#, c-format
-msgid "ipptool: Bad version %s for \"-V\"."
-msgstr ""
-
-msgid "ipptool: Invalid seconds for \"-i\"."
-msgstr ""
-
-msgid "ipptool: May only specify a single URI."
-msgstr ""
-
-msgid "ipptool: Missing count for \"-n\"."
-msgstr ""
-
-msgid "ipptool: Missing filename for \"-f\"."
-msgstr ""
-
-msgid "ipptool: Missing name=value for \"-d\"."
-msgstr ""
-
-msgid "ipptool: Missing seconds for \"-i\"."
-msgstr ""
-
-msgid "ipptool: Missing timeout for \"-T\"."
-msgstr ""
-
-msgid "ipptool: Missing version for \"-V\"."
-msgstr ""
-
-msgid "ipptool: URI required before test file."
-msgstr ""
-
-#, c-format
-msgid "ipptool: Unknown option \"-%c\"."
-msgstr ""
-
-msgid "job-printer-uri attribute missing."
-msgstr ""
-
-msgid "lpadmin: Class name can only contain printable characters."
-msgstr ""
-
-msgid "lpadmin: Expected PPD after \"-P\" option."
-msgstr ""
-
-msgid "lpadmin: Expected allow/deny:userlist after \"-u\" option."
-msgstr ""
-
-msgid "lpadmin: Expected class after \"-r\" option."
-msgstr ""
-
-msgid "lpadmin: Expected class name after \"-c\" option."
-msgstr ""
-
-msgid "lpadmin: Expected description after \"-D\" option."
-msgstr ""
-
-msgid "lpadmin: Expected device URI after \"-v\" option."
-msgstr ""
-
-msgid "lpadmin: Expected file type(s) after \"-I\" option."
-msgstr ""
-
-msgid "lpadmin: Expected hostname after \"-h\" option."
-msgstr ""
-
-msgid "lpadmin: Expected interface after \"-i\" option."
-msgstr ""
-
-msgid "lpadmin: Expected location after \"-L\" option."
-msgstr ""
-
-msgid "lpadmin: Expected model after \"-m\" option."
-msgstr ""
-
-msgid "lpadmin: Expected name after \"-R\" option."
-msgstr ""
-
-msgid "lpadmin: Expected name=value after \"-o\" option."
-msgstr ""
-
-msgid "lpadmin: Expected printer after \"-p\" option."
-msgstr ""
-
-msgid "lpadmin: Expected printer name after \"-d\" option."
-msgstr ""
-
-msgid "lpadmin: Expected printer or class after \"-x\" option."
-msgstr ""
-
-msgid "lpadmin: No member names were seen."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Printer %s is already a member of class %s."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Printer %s is not a member of class %s."
-msgstr ""
-
-msgid "lpadmin: Printer name can only contain printable characters."
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to add a printer to the class:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unable to connect to server: %s"
-msgstr ""
-
-msgid "lpadmin: Unable to create temporary file"
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to delete option:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unable to open PPD file \"%s\" - %s"
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to remove a printer from the class:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to set the printer options:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unknown allow/deny option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unknown argument \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unknown option \"%c\"."
-msgstr ""
-
-msgid "lpadmin: Warning - content type list ignored."
-msgstr ""
-
-msgid "lpc> "
-msgstr "lpc> "
-
-msgid "lpinfo: Expected 1284 device ID string after \"--device-id\"."
-msgstr ""
-
-msgid "lpinfo: Expected language after \"--language\"."
-msgstr ""
-
-msgid "lpinfo: Expected make and model after \"--make-and-model\"."
-msgstr ""
-
-msgid "lpinfo: Expected product string after \"--product\"."
-msgstr ""
-
-msgid "lpinfo: Expected scheme list after \"--exclude-schemes\"."
-msgstr ""
-
-msgid "lpinfo: Expected scheme list after \"--include-schemes\"."
-msgstr ""
-
-msgid "lpinfo: Expected timeout after \"--timeout\"."
-msgstr ""
-
-#, c-format
-msgid "lpinfo: Unknown argument \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpinfo: Unknown option \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "lpinfo: Unknown option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpmove: Unable to connect to server: %s"
-msgstr ""
-
-#, c-format
-msgid "lpmove: Unknown argument \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpmove: Unknown option \"%c\"."
-msgstr ""
-
-msgid "lpoptions: No printers."
-msgstr ""
-
-#, c-format
-msgid "lpoptions: Unable to add printer or instance: %s"
-msgstr ""
-
-#, c-format
-msgid "lpoptions: Unable to get PPD file for %s: %s"
-msgstr ""
-
-#, c-format
-msgid "lpoptions: Unable to open PPD file for %s."
-msgstr ""
-
-msgid "lpoptions: Unknown printer or class."
-msgstr ""
-
-msgid "lppasswd: Only root can add or delete passwords."
-msgstr ""
-
-msgid "lppasswd: Password file busy."
-msgstr ""
-
-msgid "lppasswd: Password file not updated."
-msgstr ""
-
-msgid "lppasswd: Sorry, password doesn't match."
-msgstr ""
-
-msgid "lppasswd: Sorry, password rejected."
-msgstr ""
-
-msgid "lppasswd: Sorry, passwords don't match."
-msgstr ""
-
-#, c-format
-msgid "lppasswd: Unable to copy password string: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: Unable to open password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: Unable to write to password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: failed to backup old password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: failed to rename password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: user \"%s\" and group \"%s\" do not exist."
-msgstr ""
-
-#, c-format
-msgid ""
-"lpstat: error - %s environment variable names non-existent destination \"%s"
-"\"."
-msgstr ""
-
-#, c-format
-msgid "members of class %s:"
-msgstr ""
-
-msgid "no entries"
-msgstr ""
-
-msgid "no system default destination"
-msgstr ""
-
-msgid "notify-events not specified."
-msgstr ""
-
-#, c-format
-msgid "notify-recipient-uri URI \"%s\" is already used."
-msgstr ""
-
-#, c-format
-msgid "notify-recipient-uri URI \"%s\" uses unknown scheme."
-msgstr ""
-
-msgid "pending"
-msgstr "in sospeso"
-
-#, c-format
-msgid "ppdc: Adding include directory \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Adding/updating UI text from %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad boolean value (%s) on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad font attribute: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad resolution name \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad status keyword %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad variable substitution ($%c) on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Choice found on line %d of %s with no Option."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Duplicate #po for locale %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected a filter definition on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected a program name on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected boolean value on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected charset after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected choice code on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected choice name/text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected color order for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected colorspace for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected compression for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected constraints string for UIConstraints on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Expected driver type keyword following DriverType on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected duplex type after Duplex on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected encoding after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected filename after #po %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected group name/text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected include filename on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected integer on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected locale after #po on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after FileName on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after Manufacturer on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after MediaSize on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after ModelName on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after PCFileName on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text after Installable on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text after Resolution on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text combination for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected option name/text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected option section on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected option type on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected override field after Resolution on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected quoted string on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected real number on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Expected resolution/mediatype following ColorProfile on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Expected resolution/mediatype following SimpleColorProfile on line %d "
-"of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected selector after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected status after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected string after Copyright on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected string after Version on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected two option names on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected value after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected version after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid #include/#po filename \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid cost for filter on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid empty MIME type for filter on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid empty program name for filter on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid option section \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid option type \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Loading driver information file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Loading messages for locale \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Loading messages from \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Missing #endif at end of \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Missing #if on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Need a msgid line before any translation strings on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: No message catalog provided for locale %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Option %s defined in two different groups on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Option %s redefined with a different type on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Option constraint must *name on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Too many nested #if's on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to create PPD file \"%s\" - %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to create output directory %s: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to create output pipes: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to execute cupstestppd: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to find #po file %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to find include file \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to find localization for \"%s\" - %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to load localization file \"%s\" - %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to open %s: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Undefined variable (%s) on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unexpected text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown driver type %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown media size \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown message catalog format for \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown token \"%s\" seen on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Unknown trailing characters in real number \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unterminated string starting with %c on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Warning - overlapping filename \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Writing %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Writing PPD files to directory \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s."
-msgstr ""
-
-#, c-format
-msgid "ppdmerge: Ignoring PPD file %s."
-msgstr ""
-
-#, c-format
-msgid "ppdmerge: Unable to backup %s to %s - %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s disabled since %s -"
-msgstr ""
-
-#, c-format
-msgid "printer %s is idle.  enabled since %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s now printing %s-%d.  enabled since %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s/%s disabled since %s -"
-msgstr ""
-
-#, c-format
-msgid "printer %s/%s is idle.  enabled since %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s/%s now printing %s-%d.  enabled since %s"
-msgstr ""
-
-msgid "processing"
-msgstr "elaborazione in corso"
-
-#, c-format
-msgid "request id is %s-%d (%d file(s))"
-msgstr ""
-
-msgid "request-id uses indefinite length"
-msgstr "request-id utilizza una lunghezza indefinita"
-
-msgid "scheduler is not running"
-msgstr ""
-
-msgid "scheduler is running"
-msgstr ""
-
-#, c-format
-msgid "stat of %s failed: %s"
-msgstr "verifica di %s fallita: %s"
-
-msgid "status\t\tShow status of daemon and queue."
-msgstr ""
-
-msgid "stopped"
-msgstr "interrotto"
-
-#, c-format
-msgid "system default destination: %s"
-msgstr ""
-
-#, c-format
-msgid "system default destination: %s/%s"
-msgstr ""
-
-msgid "unknown"
-msgstr "Sconosciuto"
-
-msgid "untitled"
-msgstr "senza titolo"
-
-msgid "variable-bindings uses indefinite length"
-msgstr "variable-bindings utilizza una lunghezza indefinita"
-
-#~ msgid "\t\t(all)\n"
-#~ msgstr "\t\t(tutti)\n"
-
-#~ msgid "\t\t(none)\n"
-#~ msgstr "\t\t(nessuno)\n"
-
-#~ msgid "\t%d entries\n"
-#~ msgstr "\t%d voci\n"
-
-#~ msgid "\tAfter fault: continue\n"
-#~ msgstr "\tDopo il fallimento: continua\n"
-
-#~ msgid "\tAlerts:"
-#~ msgstr "\tAvvisi:"
-
-#~ msgid "\tBanner required\n"
-#~ msgstr "\tBanner richiesto\n"
-
-#~ msgid "\tCharset sets:\n"
-#~ msgstr "\tSet di caratteri:\n"
-
-#~ msgid "\tConnection: direct\n"
-#~ msgstr "\tConnessione: diretta\n"
-
-#~ msgid "\tConnection: remote\n"
-#~ msgstr "\tConnessione: remota\n"
-
-#~ msgid "\tDefault page size:\n"
-#~ msgstr "\tDimensioni predefinite pagina:\n"
-
-#~ msgid "\tDefault pitch:\n"
-#~ msgstr "\tTono predefinito:\n"
-
-#~ msgid "\tDefault port settings:\n"
-#~ msgstr "\tImpostazioni predefinite porta:\n"
-
-#~ msgid "\tDescription: %s\n"
-#~ msgstr "\tDescrizione: %s\n"
-
-#~ msgid ""
-#~ "\tForm mounted:\n"
-#~ "\tContent types: any\n"
-#~ "\tPrinter types: unknown\n"
-#~ msgstr ""
-#~ "\tModulo montato:\n"
-#~ "\tTipi di contenuto: qualsiasi\n"
-#~ "\tTipi di stampante: sconosciuti\n"
-
-#~ msgid "\tForms allowed:\n"
-#~ msgstr "\tModuli consentiti:\n"
-
-#~ msgid "\tInterface: %s.ppd\n"
-#~ msgstr "\tInterfaccia: %s.ppd\n"
-
-#~ msgid "\tInterface: %s/interfaces/%s\n"
-#~ msgstr "\tInterfaccia: %s/interfacce/%s\n"
-
-#~ msgid "\tInterface: %s/ppd/%s.ppd\n"
-#~ msgstr "\tInterfaccia: %s/ppd/%s.ppd\n"
-
-#~ msgid "\tLocation: %s\n"
-#~ msgstr "\tPosizione: %s\n"
-
-#~ msgid "\tOn fault: no alert\n"
-#~ msgstr "\tIn caso di fallimento: nessun avviso\n"
-
-#~ msgid "\tUsers allowed:\n"
-#~ msgstr "\tUtenti autorizzati:\n"
-
-#~ msgid "\tUsers denied:\n"
-#~ msgstr "\tUtenti non autorizzati:\n"
-
-#~ msgid "\tdaemon present\n"
-#~ msgstr "\tpresente demone\n"
-
-#~ msgid "\tno entries\n"
-#~ msgstr "\tnessuna voce\n"
-
-#~ msgid "\tprinter is on device '%s' speed -1\n"
-#~ msgstr "\tla stampante è sul dispositivo '%s' velocità -1\n"
-
-#~ msgid "\tprinting is disabled\n"
-#~ msgstr "\tla stampa è disabilitata\n"
-
-#~ msgid "\tprinting is enabled\n"
-#~ msgstr "\tla stampa è abilitata\n"
-
-#~ msgid "\tqueued for %s\n"
-#~ msgstr "\tin coda per %s\n"
-
-#~ msgid "\tqueuing is disabled\n"
-#~ msgstr "\tla coda è disabilitata\n"
-
-#~ msgid "\tqueuing is enabled\n"
-#~ msgstr "\tla coda è abilitata\n"
-
-#~ msgid "\treason unknown\n"
-#~ msgstr "\tmotivo sconosciuto\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "    DETAILED CONFORMANCE TEST RESULTS\n"
-#~ msgstr ""
-#~ "\n"
-#~ "    RISULTATI DETTAGLIATI DEL TEST DI CONFORMITÀ\n"
-
-#~ msgid "                REF: Page 15, section 3.1.\n"
-#~ msgstr "                RIF: pagina 15, sezione 3.1.\n"
-
-#~ msgid "                REF: Page 15, section 3.2.\n"
-#~ msgstr "                RIF: pagina 15, sezione 3.2.\n"
-
-#~ msgid "                REF: Page 19, section 3.3.\n"
-#~ msgstr "                RIF: pagina 19, sezione 3.3.\n"
-
-#~ msgid "                REF: Page 20, section 3.4.\n"
-#~ msgstr "                RIF: pagina 20, sezione 3.4.\n"
-
-#~ msgid "                REF: Page 27, section 3.5.\n"
-#~ msgstr "                RIF: pagina 27, sezione 3.5.\n"
-
-#~ msgid "                REF: Page 42, section 5.2.\n"
-#~ msgstr "                RIF: pagina 42, sezione 5.2.\n"
-
-#~ msgid "                REF: Pages 16-17, section 3.2.\n"
-#~ msgstr "                RIF: pagine 16-17, sezione 3.2.\n"
-
-#~ msgid "                REF: Pages 42-45, section 5.2.\n"
-#~ msgstr "                RIF: pagine 42-45, sezione 5.2.\n"
-
-#~ msgid "                REF: Pages 45-46, section 5.2.\n"
-#~ msgstr "                RIF: pagine 45-46, sezione 5.2.\n"
-
-#~ msgid "                REF: Pages 48-49, section 5.2.\n"
-#~ msgstr "                RIF: pagine 48-49, sezione 5.2.\n"
-
-#~ msgid "                REF: Pages 52-54, section 5.2.\n"
-#~ msgstr "                RIF: pagine 52-54, sezione 5.2.\n"
-
-#~ msgid "        %-39.39s %.0f bytes\n"
-#~ msgstr "        %-39.39s %.0f byte\n"
-
-#~ msgid "        PASS    Default%s\n"
-#~ msgstr "        PASS    Default%s\n"
-
-#~ msgid "        PASS    DefaultImageableArea\n"
-#~ msgstr "        PASS    DefaultImageableArea\n"
-
-#~ msgid "        PASS    DefaultPaperDimension\n"
-#~ msgstr "        PASS    DefaultPaperDimension\n"
-
-#~ msgid "        PASS    FileVersion\n"
-#~ msgstr "        PASS    FileVersion\n"
-
-#~ msgid "        PASS    FormatVersion\n"
-#~ msgstr "        PASS    FormatVersion\n"
-
-#~ msgid "        PASS    LanguageEncoding\n"
-#~ msgstr "        PASS    LanguageEncoding\n"
-
-#~ msgid "        PASS    LanguageVersion\n"
-#~ msgstr "        PASS    LanguageVersion\n"
-
-#~ msgid "        PASS    Manufacturer\n"
-#~ msgstr "        PASS    Produttore\n"
-
-#~ msgid "        PASS    ModelName\n"
-#~ msgstr "        PASS    ModelName\n"
-
-#~ msgid "        PASS    NickName\n"
-#~ msgstr "        PASS    NickName\n"
-
-#~ msgid "        PASS    PCFileName\n"
-#~ msgstr "        PASS    PCFileName\n"
-
-#~ msgid "        PASS    PSVersion\n"
-#~ msgstr "        PASS    PSVersion\n"
-
-#~ msgid "        PASS    PageRegion\n"
-#~ msgstr "        PASS    PageRegion\n"
-
-#~ msgid "        PASS    PageSize\n"
-#~ msgstr "        PASS    PageSize\n"
-
-#~ msgid "        PASS    Product\n"
-#~ msgstr "        PASS    Prodotto\n"
-
-#~ msgid "        PASS    ShortNickName\n"
-#~ msgstr "        PASS    ShortNickName\n"
-
-#~ msgid ""
-#~ "        WARN    \"%s %s\" conflicts with \"%s %s\"\n"
-#~ "                (constraint=\"%s %s %s %s\")\n"
-#~ msgstr ""
-#~ "        WARN    \"%s %s\" è in conflitto con \"%s %s\"\n"
-#~ "                (limitazione=\"%s %s %s %s\")\n"
-
-#~ msgid "        WARN    %s has no corresponding options!\n"
-#~ msgstr "        WARN    %s non ha opzioni corrispondenti!\n"
-
-#~ msgid ""
-#~ "        WARN    %s shares a common prefix with %s\n"
-#~ "                REF: Page 15, section 3.2.\n"
-#~ msgstr ""
-#~ "        WARN    %s condivide un prefisso comune con %s\n"
-#~ "                RIF: pagina 15, sezione 3.2.\n"
-
-#~ msgid "        WARN    Default choices conflicting!\n"
-#~ msgstr "        WARN    Conflitto tra le scelte predefinite!\n"
-
-#~ msgid ""
-#~ "        WARN    Duplex option keyword %s may not work as expected and "
-#~ "should be named Duplex!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "        WARN    La parola chiave Duplex %s potrebbe non funzionare "
-#~ "correttamente e dovrebbe essere Duplex!\n"
-#~ "                RIF: pagina 122, sezione 5.17\n"
-
-#~ msgid ""
-#~ "        WARN    File contains a mix of CR, LF, and CR LF line endings!\n"
-#~ msgstr ""
-#~ "        WARN    Il documento contiene un misto di interruzioni di riga "
-#~ "CR, LF e CR LF!\n"
-
-#~ msgid ""
-#~ "        WARN    LanguageEncoding required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 56-57, section 5.3.\n"
-#~ msgstr ""
-#~ "        WARN    LanguageEncoding richiesto dalla specifica PPD 4.3.\n"
-#~ "                RIF: pagine 56-57, sezione 5.3.\n"
-
-#~ msgid "        WARN    Line %d only contains whitespace!\n"
-#~ msgstr "        WARN    La riga %d contiene solamente spazi bianchi!\n"
-
-#~ msgid ""
-#~ "        WARN    Manufacturer required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 58-59, section 5.3.\n"
-#~ msgstr ""
-#~ "        WARN    Produttore richiesto dalla specifica PPD 4.3.\n"
-#~ "                RIF: pagine 58-59, sezione 5.3.\n"
-
-#~ msgid "        WARN    Missing APDialogExtension file \"%s\"\n"
-#~ msgstr "        WARN    Documento APDialogExtension mancante \"%s\"\n"
-
-#~ msgid "        WARN    Missing APPrinterIconPath file \"%s\"\n"
-#~ msgstr "        WARN    Documento APPrinterIconPath mancante \"%s\"\n"
-
-#~ msgid ""
-#~ "        WARN    Non-Windows PPD files should use lines ending with only "
-#~ "LF, not CR LF!\n"
-#~ msgstr ""
-#~ "        WARN    I documenti PPD per sistemi diversi da Windows dovrebbero "
-#~ "usare solo interruzioni di riga LF, non CR LF!\n"
-
-#~ msgid ""
-#~ "        WARN    Obsolete PPD version %.1f!\n"
-#~ "                REF: Page 42, section 5.2.\n"
-#~ msgstr ""
-#~ "        WARN    Versione PPD %.1f obsoleta!\n"
-#~ "                RIF: pagina 42, sezione 5.2.\n"
-
-#~ msgid ""
-#~ "        WARN    PCFileName longer than 8.3 in violation of PPD spec.\n"
-#~ "                REF: Pages 61-62, section 5.3.\n"
-#~ msgstr ""
-#~ "        WARN    PCFileName maggiore di 8.3 in violazione della specifica "
-#~ "PPD.\n"
-#~ "                RIF: pagine 61-62, sezione 5.3.\n"
-
-#~ msgid ""
-#~ "        WARN    Protocols contains PJL but JCL attributes are not set.\n"
-#~ "                REF: Pages 78-79, section 5.7.\n"
-#~ msgstr ""
-#~ "        WARN    Protocols contiene PJL, ma gli attributi JCL non sono "
-#~ "impostati.\n"
-#~ "                RIF: pagine 78-79, sezione 5.7.\n"
-
-#~ msgid ""
-#~ "        WARN    Protocols contains both PJL and BCP; expected TBCP.\n"
-#~ "                REF: Pages 78-79, section 5.7.\n"
-#~ msgstr ""
-#~ "        WARN    Protocols contiene sia PJL che BCP; atteso TBCP.\n"
-#~ "                RIF: pagine 78-79, sezione 5.7.\n"
-
-#~ msgid ""
-#~ "        WARN    ShortNickName required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "        WARN    ShortNickName richiesto dalla specifica PPD 4.3.\n"
-#~ "                RIF: pagine 64-65, sezione 5.3.\n"
-
-#~ msgid "      %s  %s %s does not exist!\n"
-#~ msgstr "      %s %s %s non esiste!\n"
-
-#~ msgid "      %s  %s file \"%s\" has the wrong capitalization!\n"
-#~ msgstr "      %s  %s il file \"%s\" ha una capitalizzazione errata!\n"
-
-#~ msgid ""
-#~ "      %s  Bad %s choice %s!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "      %s  Errato %s scelta %s!\n"
-#~ "                Rif: pagina 122, sezione 5.17\n"
-
-#~ msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s!\n"
-#~ msgstr ""
-#~ "      %s  Stringa traduzione UTF-8 \"%s\" errata per l'opzione %s!\n"
-
-#~ msgid ""
-#~ "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s!\n"
-#~ msgstr ""
-#~ "      %s  Stringa traduzione UTF-8 \"%s\" errata per l'opzione %s, scelta "
-#~ "%s!\n"
-
-#~ msgid "      %s  Bad cupsFilter value \"%s\"!\n"
-#~ msgstr "      %s  Valore cupsFilter \"%s\" errato!\n"
-
-#~ msgid "      %s  Bad cupsICCProfile %s!\n"
-#~ msgstr "      %s  cupsICCProfile %s errato!\n"
-
-#~ msgid "      %s  Bad cupsPreFilter value \"%s\"!\n"
-#~ msgstr "      %s  Valore cupsPreFilter \"%s\" errato!\n"
-
-#~ msgid "      %s  Bad cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr "      %s  cupsUIConstraints %s errato: \"%s\"!\n"
-
-#~ msgid "      %s  Bad language \"%s\"!\n"
-#~ msgstr "      %s  lingua \"%s\" errata!\n"
-
-#~ msgid "      %s  Bad spelling of %s - should be %s!\n"
-#~ msgstr "      %s  Ortografia non corretta di %s - dovrebbe essere %s!\n"
-
-#~ msgid "      %s  Cannot provide both APScanAppPath and APScanAppBundleID!\n"
-#~ msgstr ""
-#~ "      %s  Impossibile fornire contemporaneamente APScanAppPath e "
-#~ "APScanAppBundleID!\n"
-
-#~ msgid "      %s  Empty cupsUIConstraints %s!\n"
-#~ msgstr "      %s  cupsUIConstraints %s vuoto!\n"
-
-#~ msgid "      %s  Missing \"%s\" translation string for option %s!\n"
-#~ msgstr "      %s  Manca stringa traduzione \"%s\" per l'opzione %s!\n"
-
-#~ msgid ""
-#~ "      %s  Missing \"%s\" translation string for option %s, choice %s!\n"
-#~ msgstr ""
-#~ "      %s Manca stringa traduzione \"%s\" per l'opzione %s, scelta %s!\n"
-
-#~ msgid "      %s  Missing APDialogExtension file \"%s\"\n"
-#~ msgstr "      %s  File APDialogExtension \"%s\" mancante\n"
-
-#~ msgid "      %s  Missing APPrinterIconPath file \"%s\"\n"
-#~ msgstr "      %s  File APPrinterIconPath \"%s\" mancante\n"
-
-#~ msgid "      %s  Missing APPrinterLowInkTool file \"%s\"\n"
-#~ msgstr "      %s  File APPrinterLowInkTool \"%s\" mancante\n"
-
-#~ msgid "      %s  Missing APPrinterUtilityPath file \"%s\"\n"
-#~ msgstr "      %s  File APPrinterUtilityPath \"%s\" mancante\n"
-
-#~ msgid "      %s  Missing APScanAppPath file \"%s\"\n"
-#~ msgstr "      %s  File APScanAppPath \"%s\" mancante\n"
-
-#~ msgid ""
-#~ "      %s  Missing REQUIRED PageRegion option!\n"
-#~ "                REF: Page 100, section 5.14.\n"
-#~ msgstr ""
-#~ "      %s  Opzione RICHIESTA PageRegion mancante!\n"
-#~ "                REF: Pagina 100, sezione 5.14.\n"
-
-#~ msgid ""
-#~ "      %s  Missing REQUIRED PageSize option!\n"
-#~ "                REF: Page 99, section 5.14.\n"
-#~ msgstr ""
-#~ "      %s  Opzione RICHIESTA PageSize mancante!\n"
-#~ "                REF: Pagina 99, sezione 5.14.\n"
-
-#~ msgid ""
-#~ "      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"!\n"
-#~ msgstr ""
-#~ "      %s  Manca stringa traduzione *%s %s in UIConstraints \"*%s %s *%s %s"
-#~ "\"!\n"
-
-#~ msgid "      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr ""
-#~ "      %s  Manca stringa traduzione *%s %s in cupsUIConstraints %s: \"%s"
-#~ "\"!\n"
-
-#~ msgid "      %s  Missing cupsFilter file \"%s\"\n"
-#~ msgstr "      %s  Documento cupsFilter \"%s\" mancante!\n"
-
-#~ msgid "      %s  Missing cupsICCProfile file \"%s\"!\n"
-#~ msgstr "      %s  Documento cupsICCProfile \"%s\" mancante!\n"
-
-#~ msgid "      %s  Missing cupsPreFilter file \"%s\"\n"
-#~ msgstr "      %s  Documento cupsPreFilter \"%s\" mancante\n"
-
-#~ msgid "      %s  Missing cupsUIResolver %s!\n"
-#~ msgstr "      %s  cupsUIResolver %s mancante!\n"
-
-#~ msgid "      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\"!\n"
-#~ msgstr "      %s  Manca opzione %s in UIConstraints \"*%s %s *%s %s\"!\n"
-
-#~ msgid "      %s  Missing option %s in cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr "      %s  Manca opzione %s in cupsUIConstraints %s: \"%s\"!\n"
-
-#~ msgid "      %s  No base translation \"%s\" is included in file!\n"
-#~ msgstr ""
-#~ "      %s  Nessuna traduzione base \"%s\" è compresa nel documento!\n"
-
-#~ msgid ""
-#~ "      %s  Non-standard size name \"%s\"!\n"
-#~ "                REF: Page 187, section B.2.\n"
-#~ msgstr ""
-#~ "      %s  Dimensione del nome \"%s\" non standard!\n"
-#~ "                REF: Pagina 187, sezione B.2.\n"
-
-#~ msgid ""
-#~ "      %s  REQUIRED %s does not define choice None!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "      %s %s RICHIESTO non definisce la scelta Nessuno!\n"
-#~ "                RIF: pagina 122, sezione 5.17\n"
-
-#~ msgid "      %s  Size \"%s\" defined for %s but not for %s!\n"
-#~ msgstr "      %s  Dimensione \"%s\" definita per %s ma non per %s.\n"
-
-#~ msgid "      %s  Size \"%s\" has unexpected dimensions (%gx%g)!\n"
-#~ msgstr "      %s  La misura \"%s\" ha dimensioni inattese (%gx%g)!\n"
-
-#~ msgid "      %s  cupsICCProfile %s hash value collides with %s!\n"
-#~ msgstr "      %s  il valore hash cupsICCProfile %s si scontra con %s!\n"
-
-#~ msgid "      %s  cupsUIResolver %s causes a loop!\n"
-#~ msgstr "      %s  cupsUIResolver %s causa un loop!\n"
-
-#~ msgid ""
-#~ "      %s  cupsUIResolver %s does not list at least two different "
-#~ "options!\n"
-#~ msgstr ""
-#~ "      %s  il cupsUIResolver %s non elenca almeno due diverse opzioni.\n"
-
-#~ msgid "      **FAIL**  %s choice names %s and %s differ only by case!\n"
-#~ msgstr ""
-#~ "      **FAIL**  %s i nomi di scelta %s e %s differiscono solo per "
-#~ "maiuscole e minuscole!\n"
-
-#~ msgid ""
-#~ "      **FAIL**  %s must be 1284DeviceID!\n"
-#~ "                REF: Page 72, section 5.5\n"
-#~ msgstr ""
-#~ "      **FAIL**  %s deve essere 1284DeviceID!\n"
-#~ "                RIF: pagina 72, sezione 5.5\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Default%s %s\n"
-#~ "                REF: Page 40, section 4.5.\n"
-#~ msgstr ""
-#~ "      **FAIL**  Default%s %s ERRATO\n"
-#~ "                RIF: pagina 40, sezione 4.5.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD DefaultImageableArea %s!\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  DefaultImageableArea %s ERRATO!\n"
-#~ "                RIF: pagina 102, sezione 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD DefaultPaperDimension %s!\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  DefaultPaperDimension %s ERRATO!\n"
-#~ "                RIF: pagina 103, sezione 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD JobPatchFile attribute in file\n"
-#~ "                REF: Page 24, section 3.4.\n"
-#~ msgstr ""
-#~ "      **FAIL**  Attributo JobPatchFile ERRATO nel documento\n"
-#~ "                RIF: pagina 24, sezione 3.4.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Manufacturer (should be \"HP\")\n"
-#~ "                REF: Page 211, table D.1.\n"
-#~ msgstr ""
-#~ "      **FAIL**  Produttore ERRATO (dovrebbe essere \"HP\")\n"
-#~ "                RIF: pagina 211, tabella D.1.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Manufacturer (should be \"Oki\")\n"
-#~ "                REF: Page 211, table D.1.\n"
-#~ msgstr ""
-#~ "      **FAIL**  Produttore ERRATO (dovrebbe essere \"Oki\")\n"
-#~ "                RIF: pagina 211, tabella D.1.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n"
-#~ "                REF: Pages 59-60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  ModelName ERRATO: \"%c\" non consentito nella stringa.\n"
-#~ "                RIF: pagine 59-60, sezione 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD PSVersion - not \"(string) int\".\n"
-#~ "                REF: Pages 62-64, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  PSVersion ERRATO: non è \"(string) int\".\n"
-#~ "                RIF: pagine 62-64, sezione 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Product - not \"(string)\".\n"
-#~ "                REF: Page 62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  Product ERRATO: non è \"(string)\".\n"
-#~ "                RIF: pagine 62, sezione 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD ShortNickName - longer than 31 chars.\n"
-#~ "                REF: Pages 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  ShortNickName ERRATO: maggiore di 31 caratteri.\n"
-#~ "                RIF: pagine 64-65, sezione 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad %s choice %s!\n"
-#~ "                REF: Page 84, section 5.9\n"
-#~ msgstr ""
-#~ "      **FAIL**  Scelta %s Errata %s \n"
-#~ "                RIF: pagina 84, sezione 5.9.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad FileVersion \"%s\"\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  FileVersion \"%s\" Errata \n"
-#~ "                RIF: pagina 56, sezione 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad FormatVersion \"%s\"\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  FormatVersion \"%s\" Errata \n"
-#~ "                RIF: pagina 56, sezione 5.3.\n"
-
-#~ msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1!\n"
-#~ msgstr "      **FAIL**  LanguageEncoding %s: deve essere ISOLatin1!\n"
-
-#~ msgid "      **FAIL**  Bad LanguageVersion %s - must be English!\n"
-#~ msgstr "      **FAIL**  LanguageVersion %s errata: deve essere inglese!\n"
-
-#~ msgid "      **FAIL**  Default option code cannot be interpreted: %s\n"
-#~ msgstr ""
-#~ "      **FAIL**  Impossibile interpretare il codice opzione di default: %"
-#~ "s\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Default translation string for option %s choice %s "
-#~ "contains 8-bit characters!\n"
-#~ msgstr ""
-#~ "      **FAIL**  La stringa di traduzione predefinita per l'opzione %s "
-#~ "scelta %s contiene caratteri di 8-bit!\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Default translation string for option %s contains 8-bit "
-#~ "characters!\n"
-#~ msgstr ""
-#~ "      **FAIL**  La stringa di traduzione predefinita per l'opzione %s "
-#~ "contiene caratteri di 8-bit!\n"
-
-#~ msgid "      **FAIL**  Group names %s and %s differ only by case!\n"
-#~ msgstr ""
-#~ "      **FAIL**  I nomi dei gruppi %s e %s differiscono solo per maiuscole "
-#~ "e minuscole!\n"
-
-#~ msgid "      **FAIL**  Multiple occurrences of %s choice name %s!\n"
-#~ msgstr "      **FAIL**  Varie occorrenze dei nomi di scelta %s %s!\n"
-
-#~ msgid "      **FAIL**  Option names %s and %s differ only by case!\n"
-#~ msgstr ""
-#~ "      **FAIL**  i nomi delle opzioni %s e %s differiscono solo per "
-#~ "maiuscole e minuscole!\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Default%s\n"
-#~ "                REF: Page 40, section 4.5.\n"
-#~ msgstr ""
-#~ "      **FAIL** RICHIESTO Default%s\n"
-#~ "                RIF: pagina 40, sezione 4.5.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED DefaultImageableArea\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  RICHIESTO DefaultImageableArea\n"
-#~ "                RIF: pagina 102, sezione 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED DefaultPaperDimension\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  RICHIESTO DefaultPaperDimension\n"
-#~ "                RIF: pagina 103, sezione 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED FileVersion\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  RICHIESTO FileVersion\n"
-#~ "                RIF: pagina 56, sezione 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED FormatVersion\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  RICHIESTO FormatVersion\n"
-#~ "                RIF: pagina 56, sezione 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ImageableArea for PageSize %s\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL** RICHIESTO ImageableArea per PageSize %s\n"
-#~ "                RIF: pagina 41, sezione 5.\n"
-#~ "                RIF: pagina 102, sezione 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED LanguageEncoding\n"
-#~ "                REF: Pages 56-57, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL** RICHIESTO LanguageEncoding\n"
-#~ "                RIF: pagine 56-57, sezione 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED LanguageVersion\n"
-#~ "                REF: Pages 57-58, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL** RICHIESTO LanguageVersion\n"
-#~ "                RIF: pagine 57-58, sezione 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Manufacturer\n"
-#~ "                REF: Pages 58-59, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL** RICHIESTO Produttore\n"
-#~ "                RIF: pagine 58-59, sezione 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ModelName\n"
-#~ "                REF: Pages 59-60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL** RICHIESTO ModelName\n"
-#~ "                RIF: pagine 59-60, sezione 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED NickName\n"
-#~ "                REF: Page 60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  RICHIESTO NickName\n"
-#~ "                RIF: pagina 60, sezione 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PCFileName\n"
-#~ "                REF: Pages 61-62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL** RICHIESTO PCFileName\n"
-#~ "                RIF: pagine 61-62, sezione 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PSVersion\n"
-#~ "                REF: Pages 62-64, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL** RICHIESTO PSVersion\n"
-#~ "                RIF: pagine 62-64, sezione 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageRegion\n"
-#~ "                REF: Page 100, section 5.14.\n"
-#~ msgstr ""
-#~ "      **FAIL**  RICHIESTO PageRegion\n"
-#~ "                RIF: pagina 100, sezione 5.14.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageSize\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 99, section 5.14.\n"
-#~ msgstr ""
-#~ "      **FAIL**  RICHIESTO PageSize\n"
-#~ "                RIF: pagina 41, sezione 5.\n"
-#~ "                RIF: pagina 99, sezione 5.14.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageSize\n"
-#~ "                REF: Pages 99-100, section 5.14.\n"
-#~ msgstr ""
-#~ "      **FAIL** RICHIESTO PageSize\n"
-#~ "                RIF: pagine 99-100, sezione 5.14.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PaperDimension for PageSize %s\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL** RICHIESTO PaperDimension per PageSize %s\n"
-#~ "                RIF: pagina 41, sezione 5.\n"
-#~ "                RIF: pagina 103, sezione 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Product\n"
-#~ "                REF: Page 62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  RICHIESTO prodotto\n"
-#~ "                RIF: pagina 62, sezione 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ShortNickName\n"
-#~ "                REF: Page 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  RICHIESTO ShortNickName\n"
-#~ "                RIF: pagina 64-65, sezione 5.3.\n"
-
-#~ msgid "    %d ERRORS FOUND\n"
-#~ msgstr "    %d ERRORI RILEVATI\n"
-
-#~ msgid ""
-#~ "    Bad %%%%BoundingBox: on line %d!\n"
-#~ "        REF: Page 39, %%%%BoundingBox:\n"
-#~ msgstr ""
-#~ "    %%%%BoundingBox: errato alla riga %d!\n"
-#~ "        RIF: pagina 39, %%%%BoundingBox:\n"
-
-#~ msgid ""
-#~ "    Bad %%%%Page: on line %d!\n"
-#~ "        REF: Page 53, %%%%Page:\n"
-#~ msgstr ""
-#~ "    %%%%Page: errato alla riga %d!\n"
-#~ "        RIF: pagina 53, %%%%Page:\n"
-
-#~ msgid ""
-#~ "    Bad %%%%Pages: on line %d!\n"
-#~ "        REF: Page 43, %%%%Pages:\n"
-#~ msgstr ""
-#~ "    %%%%Pages: errato alla riga %d!\n"
-#~ "        RIF: pagina 43, %%%%Pages:\n"
-
-#~ msgid ""
-#~ "    Line %d is longer than 255 characters (%d)!\n"
-#~ "        REF: Page 25, Line Length\n"
-#~ msgstr ""
-#~ "    La riga %d eccede i 255 caratteri (%d)!\n"
-#~ "        RIF: pagina 25, lunghezza della riga\n"
-
-#~ msgid ""
-#~ "    Missing %!PS-Adobe-3.0 on first line!\n"
-#~ "        REF: Page 17, 3.1 Conforming Documents\n"
-#~ msgstr ""
-#~ "    %!PS-Adobe-3.0 mancante alla prima riga!\n"
-#~ "        RIF: pagina 17, 3.1 uniformare documenti\n"
-
-#~ msgid ""
-#~ "    Missing %%EndComments comment!\n"
-#~ "        REF: Page 41, %%EndComments\n"
-#~ msgstr ""
-#~ "    Commento %%EndComments mancante!\n"
-#~ "        RIF: pagina 41, %%EndComments\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%BoundingBox: comment!\n"
-#~ "        REF: Page 39, %%BoundingBox:\n"
-#~ msgstr ""
-#~ "    Commento %%BoundingBox: mancante o errato!\n"
-#~ "        RIF: pagina 39, %%BoundingBox:\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%Page: comments!\n"
-#~ "        REF: Page 53, %%Page:\n"
-#~ msgstr ""
-#~ "    Commenti %%Page: mancante o errato!\n"
-#~ "        RIF: pagina 53, %%Page:\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%Pages: comment!\n"
-#~ "        REF: Page 43, %%Pages:\n"
-#~ msgstr ""
-#~ "    Commento %%Pages: mancante o errato!\n"
-#~ "        RIF: pagina 43, %%Pages:\n"
-
-#~ msgid "    NO ERRORS FOUND\n"
-#~ msgstr "    NESSUN ERRORE RILEVATO\n"
-
-#~ msgid "    Saw %d lines that exceeded 255 characters!\n"
-#~ msgstr "    Trovate %d righe che eccedono i 255 caratteri!\n"
-
-#~ msgid "    Too many %%BeginDocument comments!\n"
-#~ msgstr "    Troppi commenti %%BeginDocument!\n"
-
-#~ msgid "    Too many %%EndDocument comments!\n"
-#~ msgstr "    Troppi commenti %%EndDocument!\n"
-
-#~ msgid "    Warning: file contains binary data!\n"
-#~ msgstr "    Attenzione: il documento contiene dati binari!\n"
-
-#~ msgid "    Warning: no %%EndComments comment in file!\n"
-#~ msgstr "    Attenzione: nessun commento %%EndComments nel documento!\n"
-
-#~ msgid "    Warning: obsolete DSC version %.1f in file!\n"
-#~ msgstr "    Attenzione: versione DSC %.1f obsoleta nel documento!\n"
-
-#~ msgid " FAIL\n"
-#~ msgstr " FAIL\n"
-
-#~ msgid ""
-#~ " FAIL\n"
-#~ "      **FAIL**  Unable to open PPD file - %s\n"
-#~ msgstr ""
-#~ " FAIL\n"
-#~ "      **FAIL**  Impossibile aprire il documento PPD: %s\n"
-
-#~ msgid ""
-#~ " FAIL\n"
-#~ "      **FAIL**  Unable to open PPD file - %s on line %d.\n"
-#~ msgstr ""
-#~ " FAIL\n"
-#~ "      **FAIL**  Impossibile aprire il file PPD: %s alla riga %d.\n"
-
-#~ msgid " PASS\n"
-#~ msgstr " PASS\n"
-
-#~ msgid "#10 Envelope"
-#~ msgstr "Busta num. 10"
-
-#~ msgid "#11 Envelope"
-#~ msgstr "Busta num. 11"
-
-#~ msgid "#12 Envelope"
-#~ msgstr "Busta num. 12"
-
-#~ msgid "#14 Envelope"
-#~ msgstr "Busta num. 14"
-
-#~ msgid "#9 Envelope"
-#~ msgstr "Busta num. 9"
-
-#~ msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes\n"
-#~ msgstr "%-6s %-10.10s %-4d %-10d %-27.27s %.0f byte\n"
-
-#~ msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes\n"
-#~ msgstr "%-7s %-7.7s %-7d %-31.31s %.0f byte\n"
-
-#~ msgid "%s accepting requests since %s\n"
-#~ msgstr "%s accetta richieste da %s\n"
-
-#~ msgid "%s is not implemented by the CUPS version of lpc.\n"
-#~ msgstr "%s non è implementato dalla versione CUPS di lpc.\n"
-
-#~ msgid "%s is not ready\n"
-#~ msgstr "%s non è pronta\n"
-
-#~ msgid "%s is ready\n"
-#~ msgstr "%s è pronta\n"
-
-#~ msgid "%s is ready and printing\n"
-#~ msgstr "%s è pronta e stampa\n"
-
-#~ msgid ""
-#~ "%s not accepting requests since %s -\n"
-#~ "\t%s\n"
-#~ msgstr ""
-#~ "%s non accetta richieste da %s -\n"
-#~ "\t%s\n"
-
-#~ msgid "%s not supported!"
-#~ msgstr "%s non supportato!"
-
-#~ msgid "%s/%s accepting requests since %s\n"
-#~ msgstr "%s/%s accetta richieste da %s\n"
-
-#~ msgid ""
-#~ "%s/%s not accepting requests since %s -\n"
-#~ "\t%s\n"
-#~ msgstr ""
-#~ "%s/%s non accetta richieste da %s -\n"
-#~ "\t%s\n"
-
-#~ msgid "%s: %-33.33s [job %d localhost]\n"
-#~ msgstr "%s: %-33.33s [operazione localhost %d]\n"
-
-#~ msgid "%s: %s failed: %s\n"
-#~ msgstr "%s: %s fallito: %s\n"
-
-#~ msgid "%s: Don't know what to do!\n"
-#~ msgstr "%s: non so cosa fare!\n"
-
-#~ msgid ""
-#~ "%s: Error - %s environment variable names non-existent destination \"%s"
-#~ "\"!\n"
-#~ msgstr ""
-#~ "%s: Errore: i nomi della variabile d'ambiente %s non esistono nella "
-#~ "destinazione \"%s\"!\n"
-
-#~ msgid "%s: Error - bad job ID!\n"
-#~ msgstr "%s: Errore: ID dell'operazione errato!\n"
-
-#~ msgid "%s: Error - cannot print files and alter jobs simultaneously!\n"
-#~ msgstr ""
-#~ "%s: Errore: impossibile stampare documenti e modificare operazioni "
-#~ "contemporaneamente!\n"
-
-#~ msgid ""
-#~ "%s: Error - cannot print from stdin if files or a job ID are provided!\n"
-#~ msgstr ""
-#~ "%s: Errore: impossibile stampare da stdin se vengono forniti documenti o "
-#~ "ID dell'operazione!\n"
-
-#~ msgid "%s: Error - expected character set after '-S' option!\n"
-#~ msgstr "%s: Errore: atteso set di caratteri dopo l'opzione '-S'!\n"
-
-#~ msgid "%s: Error - expected content type after '-T' option!\n"
-#~ msgstr "%s: Errore: atteso tipo di contenuto dopo l'opzione '-T'!\n"
-
-#~ msgid "%s: Error - expected copies after '-n' option!\n"
-#~ msgstr "%s: Errore: attese copie dopo l'opzione '-n'!\n"
-
-#~ msgid "%s: Error - expected copy count after '-#' option!\n"
-#~ msgstr "%s: Errore: atteso numero di copie dopo l'opzione '-#'!\n"
-
-#~ msgid "%s: Error - expected destination after '-P' option!\n"
-#~ msgstr "%s: Errore: attesa destinazione dopo l'opzione '-P'!\n"
-
-#~ msgid "%s: Error - expected destination after '-b' option!\n"
-#~ msgstr "%s: Errore: attesa destinazione dopo l'opzione '-b'!\n"
-
-#~ msgid "%s: Error - expected destination after '-d' option!\n"
-#~ msgstr "%s: Errore: attesa destinazione dopo l'opzione '-d'!\n"
-
-#~ msgid "%s: Error - expected form after '-f' option!\n"
-#~ msgstr "%s: Errore: atteso modulo dopo l'opzione '-f'!\n"
-
-#~ msgid "%s: Error - expected hold name after '-H' option!\n"
-#~ msgstr "%s: Errore: atteso nome di blocco dopo l'opzione '-H'!\n"
-
-#~ msgid "%s: Error - expected hostname after '-H' option!\n"
-#~ msgstr "%s: Errore: atteso hostname dopo l'opzione '-H'!\n"
-
-#~ msgid "%s: Error - expected hostname after '-h' option!\n"
-#~ msgstr "%s: Errore: atteso hostname dopo l'opzione '-h'!\n"
-
-#~ msgid "%s: Error - expected mode list after '-y' option!\n"
-#~ msgstr "%s: Errore: atteso elenco modalità dopo l'opzione '-y'!\n"
-
-#~ msgid "%s: Error - expected name after '-%c' option!\n"
-#~ msgstr "%s: Errore: atteso nome dopo l'opzione '-%c'!\n"
-
-#~ msgid "%s: Error - expected option string after '-o' option!\n"
-#~ msgstr "%s: Errore: attesa stringa di opzione dopo l'opzione '-o'!\n"
-
-#~ msgid "%s: Error - expected page list after '-P' option!\n"
-#~ msgstr "%s: Errore: atteso elenco delle pagine dopo l'opzione '-P'!\n"
-
-#~ msgid "%s: Error - expected priority after '-%c' option!\n"
-#~ msgstr "%s: Errore: attesa priorità dopo l'opzione '-%c'!\n"
-
-#~ msgid "%s: Error - expected reason text after '-r' option!\n"
-#~ msgstr "%s: Errore: atteso testo di motivazione dopo l'opzione '-r'!\n"
-
-#~ msgid "%s: Error - expected title after '-t' option!\n"
-#~ msgstr "%s: Errore: atteso titolo dopo l'opzione '-t'!\n"
-
-#~ msgid "%s: Error - expected username after '-U' option!\n"
-#~ msgstr "%s: Errore: atteso nome utente dopo l'opzione '-U'!\n"
-
-#~ msgid "%s: Error - expected username after '-u' option!\n"
-#~ msgstr "%s: Errore: atteso nome utente dopo l'opzione '-u'!\n"
-
-#~ msgid "%s: Error - expected value after '-%c' option!\n"
-#~ msgstr "%s: Errore: atteso valore dopo l'opzione '-%c'!\n"
-
-#~ msgid ""
-#~ "%s: Error - need \"completed\", \"not-completed\", or \"all\" after '-W' "
-#~ "option!\n"
-#~ msgstr ""
-#~ "%s: Errore: dopo l'opzione '-W', occorre \"completati\", \"non completati"
-#~ "\" o \"tutti\"!\n"
-
-#~ msgid "%s: Error - no default destination available.\n"
-#~ msgstr "%s: Errore: nessuna destinazione predefinita disponibile.\n"
-
-#~ msgid "%s: Error - priority must be between 1 and 100.\n"
-#~ msgstr "%s: Errore: la priorità deve essere tra 1 e 100.\n"
-
-#~ msgid "%s: Error - scheduler not responding!\n"
-#~ msgstr "%s: Errore: la stampa programmata non risponde!\n"
-
-#~ msgid "%s: Error - too many files - \"%s\"\n"
-#~ msgstr "%s: Errore: troppi documenti - \"%s\"\n"
-
-#~ msgid "%s: Error - unable to access \"%s\" - %s\n"
-#~ msgstr "%s: Errore: impossibile accedere a \"%s\" - %s\n"
-
-#~ msgid "%s: Error - unable to queue from stdin - %s\n"
-#~ msgstr "%s: Errore: impossibile effettuare la coda da stdin - %s\n"
-
-#~ msgid "%s: Error - unknown destination \"%s\"!\n"
-#~ msgstr "%s: Errore: destinazione \"%s\" sconosciuta!\n"
-
-#~ msgid "%s: Error - unknown destination \"%s/%s\"!\n"
-#~ msgstr "%s: Errore: destinazione \"%s/%s\" sconosciuta!\n"
-
-#~ msgid "%s: Error - unknown option '%c'!\n"
-#~ msgstr "%s: Errore: opzione '%c' sconosciuta!\n"
-
-#~ msgid "%s: Error - unknown option '%s'!\n"
-#~ msgstr "%s: Errore: opzione '%s' sconosciuta!\n"
-
-#~ msgid "%s: Expected job ID after '-i' option!\n"
-#~ msgstr "%s: Atteso ID dell'operazione dopo l'opzione '-i'!\n"
-
-#~ msgid "%s: Filter \"%s\" not available: %s\n"
-#~ msgstr "%s: Filtro \"%s\" non disponibile: %s\n"
-
-#~ msgid "%s: Invalid destination name in list \"%s\"!\n"
-#~ msgstr "%s: Nome di destinazione non valido nell'elenco \"%s\"!\n"
-
-#~ msgid "%s: Invalid filter string \"%s\"\n"
-#~ msgstr "%s: Stringa filtro \"%s\" non valida\n"
-
-#~ msgid "%s: Need job ID ('-i jobid') before '-H restart'!\n"
-#~ msgstr ""
-#~ "%s: prima di  '-H restart' è richiesto l'ID dell'operazione ('-i "
-#~ "jobid')!\n"
-
-#~ msgid "%s: No filter to convert from %s/%s to %s/%s!\n"
-#~ msgstr "%s: Nessun filtro per convertire da %s/%s a %s/%s!\n"
-
-#~ msgid "%s: Operation failed: %s\n"
-#~ msgstr "%s: Operazione fallita; %s\n"
-
-#~ msgid "%s: Sorry, no encryption support compiled in!\n"
-#~ msgstr "%s: Spiacente, nessun supporto di codifica compilato!\n"
-
-#~ msgid "%s: Unable to connect to server\n"
-#~ msgstr "%s: Impossibile connettersi al server\n"
-
-#~ msgid "%s: Unable to contact server!\n"
-#~ msgstr "%s: Impossibile contattare il server!\n"
-
-#~ msgid "%s: Unable to determine MIME type of \"%s\"!\n"
-#~ msgstr "%s: Impossibile determinare il tipo MIME di \"%s\"!\n"
-
-#~ msgid "%s: Unable to open %s - %s\n"
-#~ msgstr "%s: Impossibile aprire %s - %s\n"
-
-#~ msgid "%s: Unable to open %s - %s on line %d.\n"
-#~ msgstr "%s: Errore: impossibile aprire %s - %s alla riga %d.\n"
-
-#~ msgid "%s: Unable to open %s: %s\n"
-#~ msgstr "%s: impossibile aprire %s: - %s\n"
-
-#~ msgid "%s: Unable to open PPD file: %s on line %d\n"
-#~ msgstr "%s: Impossibile aprire il documento PPD: %s alla riga %d\n"
-
-#~ msgid "%s: Unable to open PPD file: %s on line %d.\n"
-#~ msgstr "%s: Impossibile aprire il file PPD: %s alla riga %d.\n"
-
-#~ msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"!\n"
-#~ msgstr "%s: impossibile leggere il database MIME da \"%s\" o \"%s\"!\n"
-
-#~ msgid "%s: Unknown destination \"%s\"!\n"
-#~ msgstr "%s: Destinazione sconosciuta \"%s\"!\n"
-
-#~ msgid "%s: Unknown destination MIME type %s/%s!\n"
-#~ msgstr "%s: Errore: tipo MIME di destinazione %s/%s sconosciuto!\n"
-
-#~ msgid "%s: Unknown option '%c'!\n"
-#~ msgstr "%s: Opzione '%c' sconosciuta!\n"
-
-#~ msgid "%s: Unknown source MIME type %s/%s!\n"
-#~ msgstr "%s: Tipo MIME sorgente %s/%s sconosciuto!\n"
-
-#~ msgid ""
-#~ "%s: Warning - '%c' format modifier not supported - output may not be "
-#~ "correct!\n"
-#~ msgstr ""
-#~ "%s: Attenzione: modificatore di formato '%c' non supportato; il risultato "
-#~ "potrebbe non essere corretto!\n"
-
-#~ msgid "%s: Warning - character set option ignored!\n"
-#~ msgstr "%s: Attenzione: opzione del set di caratteri ignorata!\n"
-
-#~ msgid "%s: Warning - content type option ignored!\n"
-#~ msgstr "%s: Attenzione: opzione del tipo di contenuto ignorata!\n"
-
-#~ msgid "%s: Warning - form option ignored!\n"
-#~ msgstr "%s: Attenzione: opzione del modulo ignorata!\n"
-
-#~ msgid "%s: Warning - mode option ignored!\n"
-#~ msgstr "%s: Attenzione: opzione modalità ignorata!\n"
-
-#~ msgid ""
-#~ "%s: error - %s environment variable names non-existent destination \"%s"
-#~ "\"!\n"
-#~ msgstr ""
-#~ "%s: Errore: i nomi della variabile d'ambiente %s non esistono nella "
-#~ "destinazione \"%s\"!\n"
-
-#~ msgid "%s: error - expected option=value after '-o' option!\n"
-#~ msgstr "%s: Errore: attesa opzione=valore dopo l'opzione '-o'!\n"
-
-#~ msgid "%s: error - no default destination available.\n"
-#~ msgstr "%s: Errore: nessuna destinazione predefinita disponibile.\n"
-
-#~ msgid "10 x 11\""
-#~ msgstr "10 x 11\""
-
-#~ msgid "10 x 13\""
-#~ msgstr "10 x 13\""
-
-#~ msgid "10 x 14\""
-#~ msgstr "10 x 14\""
-
-#~ msgid "12 x 11\""
-#~ msgstr "12 x 11\""
-
-#~ msgid "15 x 11\""
-#~ msgstr "15 x 11\""
-
-#~ msgid "600 DPI Grayscale"
-#~ msgstr "Scala di grigi a 600 DPI"
-
-#~ msgid "60x720dpi"
-#~ msgstr "60 x 720 dpi"
-
-#~ msgid "7 x 9\""
-#~ msgstr "7 x 9\""
-
-#~ msgid "8 x 10\""
-#~ msgstr "8 x 10\""
-
-#~ msgid "9 x 11\""
-#~ msgstr "9 x 11\""
-
-#~ msgid "9 x 12\""
-#~ msgstr "9 x 12\""
-
-#~ msgid "?Invalid help command unknown\n"
-#~ msgstr "?Sconosciuto comando aiuto non valido\n"
-
-#~ msgid "A Samba password is required to export printer drivers!"
-#~ msgstr "Per esportare i driver di stampa è necessaria una password Samba!"
-
-#~ msgid "A Samba username is required to export printer drivers!"
-#~ msgstr "Per esportare i driver di stampa è necessario un nome utente Samba!"
-
-#~ msgid "A class named \"%s\" already exists!"
-#~ msgstr "Esiste già una classe chiamata \"%s\"!"
-
-#~ msgid "A printer named \"%s\" already exists!"
-#~ msgstr "Esiste già una stampante chiamata \"%s\"!"
-
-#~ msgid "A3 (Oversize)"
-#~ msgstr "A3 (senza margini)"
-
-#~ msgid "A4 (Oversize)"
-#~ msgstr "A4 (senza margini)"
-
-#~ msgid "A4 (Small)"
-#~ msgstr "A4 (con margini)"
-
-#~ msgid "A5 (Oversize)"
-#~ msgstr "A5 (senza margini)"
-
-#~ msgid "ARCH A"
-#~ msgstr "ARCH A"
-
-#~ msgid "ARCH B"
-#~ msgstr "ARCH B"
-
-#~ msgid "Attempt to set %s printer-state to bad value %d!"
-#~ msgstr "Tentativo di impostare printer-state %s a un valore %d errato!"
-
-#~ msgid "Attribute groups are out of order (%x < %x)!"
-#~ msgstr "I gruppi di attributi non sono ordinati (%x < %x)!"
-
-#~ msgid "Bad device URI \"%s\"!\n"
-#~ msgstr "URI dispositivo \"%s\" errato!\n"
-
-#~ msgid "Bad device-uri \"%s\"!"
-#~ msgstr "uri dispositivo \"%s\" errato!"
-
-#~ msgid "Bad device-uri scheme \"%s\"!"
-#~ msgstr "Schema device-uri \"%s\" errato!"
-
-#~ msgid "Bad document-format \"%s\"!"
-#~ msgstr "document-format \"%s\" errato!"
-
-#~ msgid "Bad filename buffer!"
-#~ msgstr "Buffer nome documento errato!"
-
-#~ msgid "Bad font attribute: %s\n"
-#~ msgstr "Attributo font errato: %s\n"
-
-#~ msgid "Bad job-priority value!"
-#~ msgstr "Valore job-priority errato!"
-
-#~ msgid "Bad job-sheets value \"%s\"!"
-#~ msgstr "Valore job-sheets \"%s\" errato!"
-
-#~ msgid "Bad job-sheets value type!"
-#~ msgstr "Tipo valore job-sheets errato!"
-
-#~ msgid "Bad job-state value!"
-#~ msgstr "Valore job-state errato!"
-
-#~ msgid "Bad job-uri attribute \"%s\"!"
-#~ msgstr "Attributo job-uri \"%s\" errato!"
-
-#~ msgid "Bad notify-pull-method \"%s\"!"
-#~ msgstr "notify-pull-method \"%s\" errato!"
-
-#~ msgid "Bad notify-recipient-uri URI \"%s\"!"
-#~ msgstr "URI notify-recipient-uri \"%s\" errato!"
-
-#~ msgid "Bad option + choice on line %d!"
-#~ msgstr "Opzione + scelta errata alla riga %d!"
-
-#~ msgid "Bad port-monitor \"%s\"!"
-#~ msgstr "Port-monitor \"%s\" errato!"
-
-#~ msgid "Bad printer-state value %d!"
-#~ msgstr "Valore printer-state %d errato!"
-
-#~ msgid "Bad request ID %d!"
-#~ msgstr "ID di richiesta errato %d."
-
-#~ msgid "Bad request version number %d.%d!"
-#~ msgstr "Numero versione richiesta %d.%d errato!"
-
-#~ msgid "Bad subscription ID!"
-#~ msgstr "ID abbonamento errato!"
-
-#~ msgid "C0 Envelope"
-#~ msgstr "Busta C0"
-
-#~ msgid "C1 Envelope"
-#~ msgstr "Busta C1"
-
-#~ msgid "C2 Envelope"
-#~ msgstr "Busta C2"
-
-#~ msgid "C3 Envelope"
-#~ msgstr "Busta C3"
-
-#~ msgid "C4"
-#~ msgstr "C4"
-
-#~ msgid "C4 Envelope"
-#~ msgstr "Busta C4"
-
-#~ msgid "C5"
-#~ msgstr "C5"
-
-#~ msgid "C5 Envelope"
-#~ msgstr "Busta C5"
-
-#~ msgid "C6"
-#~ msgstr "C6"
-
-#~ msgid "C6 Envelope"
-#~ msgstr "Busta C6"
-
-#~ msgid "C65 Envelope"
-#~ msgstr "Busta C65"
-
-#~ msgid "C7 Envelope"
-#~ msgstr "Busta C7"
-
-#~ msgid "Character set \"%s\" not supported!"
-#~ msgstr "Set di caratteri \"%s\" non supportato!"
-
-#~ msgid "Chou3 Envelope"
-#~ msgstr "Busta Chou3"
-
-#~ msgid "Chou4 Envelope"
-#~ msgstr "Busta Chou4"
-
-#~ msgid ""
-#~ "Commands may be abbreviated.  Commands are:\n"
-#~ "\n"
-#~ "exit    help    quit    status  ?\n"
-#~ msgstr ""
-#~ "I comandi possono essere abbreviati.  I comandi sono:\n"
-#~ "\n"
-#~ "esci    aiuto    chiudi    stato  ?\n"
-
-#~ msgid "Could not scan type \"%s\"!"
-#~ msgstr "Impossibile eseguire scansione del tipo \"%s\"!"
-
-#~ msgid "Cover open."
-#~ msgstr "Coperchio aperto"
-
-#~ msgid "DL"
-#~ msgstr "DL"
-
-#~ msgid "DL Envelope"
-#~ msgstr "Busta DL"
-
-#~ msgid "Developer almost empty."
-#~ msgstr "Developer quasi vuoto."
-
-#~ msgid "Developer empty!"
-#~ msgstr "Developer vuoto!"
-
-#~ msgid ""
-#~ "Device: uri = %s\n"
-#~ "        class = %s\n"
-#~ "        info = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ "        location = %s\n"
-#~ msgstr ""
-#~ "Dispositivo: uri = %s\n"
-#~ "        classe = %s\n"
-#~ "        info = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ "        posizione = %s\n"
-
-#~ msgid "Document %d not found in job %d."
-#~ msgstr "Documento %d non trovato nell'operazione %d."
-
-#~ msgid "Door open."
-#~ msgstr "Porta aperta"
-
-#~ msgid "Double Postcard"
-#~ msgstr "Cartolina postale doppia"
-
-#~ msgid "EMERG: Unable to allocate memory for page info: %s\n"
-#~ msgstr "EMERG: impossibile allocare memoria per info pagina: %s\n"
-
-#~ msgid "EMERG: Unable to allocate memory for pages array: %s\n"
-#~ msgstr "EMERG: impossibile allocare memoria per matrice pagine: %s\n"
-
-#~ msgid "ERROR: %s job-id user title copies options [file]\n"
-#~ msgstr "ERROR: %s job-id utente titolo copie opzioni [file]\n"
-
-#~ msgid "ERROR: Bad %%BoundingBox: comment seen!\n"
-#~ msgstr "ERROR: %%BoundingBox errato: commento visto!\n"
-
-#~ msgid "ERROR: Bad %%IncludeFeature: comment!\n"
-#~ msgstr "ERROR: %%IncludeFeature errato: commento!\n"
-
-#~ msgid "ERROR: Bad %%Page: comment in file!\n"
-#~ msgstr "ERROR: %%Page errato: commento nel documento!\n"
-
-#~ msgid "ERROR: Bad %%PageBoundingBox: comment in file!\n"
-#~ msgstr "ERROR: %%PageBoundingBox errato: commento nel documento!\n"
-
-#~ msgid "ERROR: Bad SCSI device file \"%s\"!\n"
-#~ msgstr "ERROR: dispositivo SCSI \"%s\" errato!\n"
-
-#~ msgid "ERROR: Bad charset file %s\n"
-#~ msgstr "ERROR: documento charset errato %s\n"
-
-#~ msgid "ERROR: Bad charset type %s\n"
-#~ msgstr "ERROR: tipo charset errato %s\n"
-
-#~ msgid "ERROR: Bad columns value %d!\n"
-#~ msgstr "ERROR: valore colonne errato %d!\n"
-
-#~ msgid "ERROR: Bad cpi value %f!\n"
-#~ msgstr "ERROR: valore cpi errato %f!\n"
-
-#~ msgid "ERROR: Bad font description line: %s\n"
-#~ msgstr "ERROR: riga descrizione font errata: %s\n"
-
-#~ msgid "ERROR: Bad lpi value %f!\n"
-#~ msgstr "ERROR: valore lpi errato %f!\n"
-
-#~ msgid "ERROR: Bad page setup!\n"
-#~ msgstr "ERROR: Formato di stampa errato!\n"
-
-#~ msgid "ERROR: Bad text direction %s\n"
-#~ msgstr "ERROR: direzione testo errata %s\n"
-
-#~ msgid "ERROR: Bad text width %s\n"
-#~ msgstr "ERROR: ampiezza testo errata %s\n"
-
-#~ msgid "ERROR: Destination printer does not exist!\n"
-#~ msgstr "ERROR: la stampante di destinazione non esiste!\n"
-
-#~ msgid "ERROR: Duplicate %%BoundingBox: comment seen!\n"
-#~ msgstr "ERROR: %%BoundingBox duplicato: commento visto!\n"
-
-#~ msgid "ERROR: Duplicate %%Pages: comment seen!\n"
-#~ msgstr "ERROR: %%Pages duplicato: commento visto!\n"
-
-#~ msgid "ERROR: Empty print file!\n"
-#~ msgstr "ERROR: documento di stampa vuoto!\n"
-
-#~ msgid "ERROR: Error %d sending PAPSendData request: %s\n"
-#~ msgstr "ERROR: errore %d durante l'invio della richiesta PAPSendData: %s\n"
-
-#~ msgid "ERROR: Expected quoted string on line %d of %s!\n"
-#~ msgstr "ERROR: attesa stringa tra virgolette nella riga %d di %s!\n"
-
-#~ msgid "ERROR: Fatal USB error!\n"
-#~ msgstr "ERROR: errore USB fatale!\n"
-
-#~ msgid "ERROR: Invalid HP-GL/2 command seen, unable to print file!\n"
-#~ msgstr ""
-#~ "ERROR: visto comando HP-GL/2 non valido, impossibile stampare documento!\n"
-
-#~ msgid "ERROR: Missing %%EndProlog!\n"
-#~ msgstr "ERROR: %%EndProlog mancante!\n"
-
-#~ msgid "ERROR: Missing %%EndSetup!\n"
-#~ msgstr "ERROR: %%EndSetup mancante!\n"
-
-#~ msgid ""
-#~ "ERROR: Missing device URI on command-line and no DEVICE_URI environment "
-#~ "variable!\n"
-#~ msgstr ""
-#~ "ERROR: manca URI su linea di comando e nessuna variabile ambiente "
-#~ "DEVICE_URI!\n"
-
-#~ msgid "ERROR: Missing value on line %d of banner file!\n"
-#~ msgstr "ERROR: manca valore alla riga %d del documento banner!\n"
-
-#~ msgid ""
-#~ "ERROR: Need a msgid line before any translation strings on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ERROR: occorre una riga msgid prima di ogni stringa di traduzione alla "
-#~ "riga %d di %s!\n"
-
-#~ msgid "ERROR: No %%BoundingBox: comment in header!\n"
-#~ msgstr "ERROR: nessun %%BoundingBox: commento nell'intestazione!\n"
-
-#~ msgid "ERROR: No %%Pages: comment in header!\n"
-#~ msgstr "ERROR: nessun %%Pages: commento nell'intestazione!\n"
-
-#~ msgid ""
-#~ "ERROR: No device URI found in argv[0] or in DEVICE_URI environment "
-#~ "variable!\n"
-#~ msgstr ""
-#~ "ERROR: nessun dispositivo URI trovato in argv[0] e nessuna variabile "
-#~ "ambiente in DEVICE_URI!\n"
-
-#~ msgid "ERROR: No fonts in charset file %s\n"
-#~ msgstr "ERROR: nessun font nel set di caratteri %s\n"
-
-#~ msgid "ERROR: No pages found!\n"
-#~ msgstr "ERROR: nessuna pagina trovata!\n"
-
-#~ msgid "ERROR: Out of paper!\n"
-#~ msgstr "ERROR: carta esaurita!\n"
-
-#~ msgid "ERROR: PRINTER environment variable not defined!\n"
-#~ msgstr "ERROR: variabile ambiente PRINTER non definita!\n"
-
-#~ msgid "ERROR: Print file was not accepted (%s)!\n"
-#~ msgstr "ERROR: il documento stampa non è stato accettato (%s)!\n"
-
-#~ msgid "ERROR: Printer not responding\n"
-#~ msgstr "ERROR: la stampante non risponde\n"
-
-#~ msgid "ERROR: Printer not responding!\n"
-#~ msgstr "ERROR: la stampante non risponde!\n"
-
-#~ msgid "ERROR: Printer sent unexpected EOF\n"
-#~ msgstr "ERROR: la stampante ha inviato un EOF inatteso\n"
-
-#~ msgid "ERROR: Remote host did not accept control file (%d)\n"
-#~ msgstr ""
-#~ "ERROR: l'host remoto non ha accettato il documento di controllo (%d)\n"
-
-#~ msgid "ERROR: Remote host did not accept data file (%d)\n"
-#~ msgstr "ERROR: l'host remoto non ha accettato il documento dati (%d)\n"
-
-#~ msgid "ERROR: There was a timeout error while sending data to the printer\n"
-#~ msgstr ""
-#~ "ERROR: si è verificato un errore di timeout durante l'invio di dati alla "
-#~ "stampante\n"
-
-#~ msgid "ERROR: Unable to add file %d to job: %s\n"
-#~ msgstr "ERROR: impossibile aggiungere il documento %d alla stampa: %s\n"
-
-#~ msgid "ERROR: Unable to cancel job %d: %s\n"
-#~ msgstr "ERROR: impossibile annullare la stampa %d: %s\n"
-
-#~ msgid "ERROR: Unable to copy PDF file"
-#~ msgstr "ERROR: impossibile copiare il documento PDF"
-
-#~ msgid "ERROR: Unable to create pipe"
-#~ msgstr "ERROR: Impossibile creare il canale"
-
-#~ msgid "ERROR: Unable to create socket"
-#~ msgstr "ERROR: impossibile creare il socket"
-
-#~ msgid "ERROR: Unable to create temporary compressed print file: %s\n"
-#~ msgstr ""
-#~ "ERROR: impossibile creare il documento di stampa compresso temporaneo: %"
-#~ "s\n"
-
-#~ msgid "ERROR: Unable to create temporary file"
-#~ msgstr "ERROR: impossibile creare il documento temporaneo"
-
-#~ msgid "ERROR: Unable to create temporary file - %s.\n"
-#~ msgstr "ERROR: impossibile creare il documento temporaneo: %s.\n"
-
-#~ msgid "ERROR: Unable to create temporary file: %s\n"
-#~ msgstr "ERROR: impossibile creare il documento temporaneo: %s.\n"
-
-#~ msgid "ERROR: Unable to exec pictwpstops: %s\n"
-#~ msgstr "ERROR: impossibile eseguire pictwpstops: %s\n"
-
-#~ msgid "ERROR: Unable to execute gs program"
-#~ msgstr "ERROR: impossibile eseguire il programma gs"
-
-#~ msgid "ERROR: Unable to execute pdftops program"
-#~ msgstr "ERROR: impossibile eseguire il programma pdftops"
-
-#~ msgid "ERROR: Unable to execute pstops program"
-#~ msgstr "ERROR: Impossibile eseguire il programma pstops"
-
-#~ msgid "ERROR: Unable to fork pictwpstops: %s\n"
-#~ msgstr "ERROR: impossibile biforcare pictwpstops: %s\n"
-
-#~ msgid "ERROR: Unable to get PAP request"
-#~ msgstr "ERROR: impossibile ottenere richiesta PAP"
-
-#~ msgid "ERROR: Unable to get PAP response"
-#~ msgstr "ERROR: impossibile ottenere risposta PAP"
-
-#~ msgid "ERROR: Unable to get PPD file for printer \"%s\" - %s.\n"
-#~ msgstr ""
-#~ "ERROR: impossibile aprire il documento PPD per la stampante \"%s\" - %s.\n"
-
-#~ msgid "ERROR: Unable to get default AppleTalk zone"
-#~ msgstr "ERROR: impossibile ottenere zona di default AppleTalk"
-
-#~ msgid "ERROR: Unable to get job %d attributes (%s)!\n"
-#~ msgstr ""
-#~ "ERROR: impossibile ottenere gli attributi (%2$s) della stampa %1$d!\n"
-
-#~ msgid "ERROR: Unable to get printer status (%s)!\n"
-#~ msgstr "ERROR: impossibile ottenere lo stato della stampante (%s)!\n"
-
-#~ msgid "ERROR: Unable to locate printer '%s'!\n"
-#~ msgstr "ERROR: impossibile individuare la stampante '%s'!\n"
-
-#~ msgid "ERROR: Unable to look for PAP response"
-#~ msgstr "ERROR: impossibile cercare risposta PAP"
-
-#~ msgid "ERROR: Unable to lookup AppleTalk printers"
-#~ msgstr "ERROR: impossibile cercare stampanti AppleTalk"
-
-#~ msgid "ERROR: Unable to make AppleTalk address"
-#~ msgstr "ERROR: impossibile rendere indirizzo AppleTalk"
-
-#~ msgid "ERROR: Unable to open \"%s\" - %s\n"
-#~ msgstr "ERROR: impossibile aprire \"%s\" - %s\n"
-
-#~ msgid "ERROR: Unable to open %s: %s\n"
-#~ msgstr "ERROR: impossibile aprire %s: %s\n"
-
-#~ msgid "ERROR: Unable to open PPD file!\n"
-#~ msgstr "ERROR: Impossibile aprire il file PPD.\n"
-
-#~ msgid "ERROR: Unable to open banner file \"%s\" - %s\n"
-#~ msgstr "ERROR: impossibile aprire documento banner \"%s\" - %s\n"
-
-#~ msgid "ERROR: Unable to open device file \"%s\": %s\n"
-#~ msgstr "ERROR: impossibile aprire documento dispositivo \"%s\": %s\n"
-
-#~ msgid "ERROR: Unable to open file \"%s\" - %s\n"
-#~ msgstr "ERROR: impossibile aprire documento \"%s\" - %s\n"
-
-#~ msgid "ERROR: Unable to open file \"%s\": %s\n"
-#~ msgstr "ERROR: impossibile aprire documento \"%s\": %s\n"
-
-#~ msgid "ERROR: Unable to open image file for printing!\n"
-#~ msgstr "ERROR: impossibile aprire il documento immagine per la stampa!\n"
-
-#~ msgid "ERROR: Unable to open print file \"%s\": %s\n"
-#~ msgstr "ERROR: impossibile aprire documento di stampa \"%s\": %s\n"
-
-#~ msgid "ERROR: Unable to open print file %s - %s\n"
-#~ msgstr "ERROR: impossibile aprire il documento di stampa %s - %s\n"
-
-#~ msgid "ERROR: Unable to open print file %s: %s\n"
-#~ msgstr "ERROR: impossibile aprire il documento di stampa %s: %s\n"
-
-#~ msgid "ERROR: Unable to open raster file - %s\n"
-#~ msgstr "ERROR: Impossibile aprire il file raster - %s\n"
-
-#~ msgid "ERROR: Unable to open temporary compressed print file: %s\n"
-#~ msgstr ""
-#~ "ERROR: impossibile aprire il documento di stampa compresso temporaneo: %"
-#~ "s\n"
-
-#~ msgid "ERROR: Unable to open temporary file"
-#~ msgstr "ERROR: impossibile aprire il documento temporaneo"
-
-#~ msgid "ERROR: Unable to print %d text columns!\n"
-#~ msgstr "ERROR: impossibile stampare colonne di testo %d!\n"
-
-#~ msgid "ERROR: Unable to print %dx%d text page!\n"
-#~ msgstr "ERROR: impossibile stampare pagina di testo %dx%d!\n"
-
-#~ msgid "ERROR: Unable to read print data"
-#~ msgstr "ERROR: impossibile leggere i dati di stampa"
-
-#~ msgid "ERROR: Unable to read print data!\n"
-#~ msgstr "ERROR: impossibile leggere i dati di stampa!\n"
-
-#~ msgid "ERROR: Unable to reserve port"
-#~ msgstr "ERROR: impossibile prenotare una porta"
-
-#~ msgid "ERROR: Unable to seek to offset %ld in file - %s\n"
-#~ msgstr "ERROR: impossibile trovare distanza %ld nel documento - %s\n"
-
-#~ msgid "ERROR: Unable to seek to offset %lld in file - %s\n"
-#~ msgstr "ERROR: impossibile trovare distanza %lld nel documento - %s\n"
-
-#~ msgid "ERROR: Unable to send LPD command"
-#~ msgstr "ERROR: impossibile inviare comando LPD"
-
-#~ msgid "ERROR: Unable to send PAP tickle request"
-#~ msgstr "ERROR: impossibile inviare richiesta PAP"
-
-#~ msgid "ERROR: Unable to send initial PAP send data request"
-#~ msgstr "ERROR: impossibile inviare richiesta dati PAP iniziale"
-
-#~ msgid "ERROR: Unable to send print data (%d)\n"
-#~ msgstr "ERROR: impossibile inviare i dati di stampa (%d)\n"
-
-#~ msgid "ERROR: Unable to send print data!\n"
-#~ msgstr "ERROR: impossibile inviare i dati di stampa!\n"
-
-#~ msgid "ERROR: Unable to send print file to printer"
-#~ msgstr "ERROR: impossibile inviare il documento di stampa alla stampante"
-
-#~ msgid "ERROR: Unable to send trailing nul to printer"
-#~ msgstr "ERROR: impossibile inviare trailing nul alla stampante"
-
-#~ msgid "ERROR: Unable to wait for pictwpstops: %s\n"
-#~ msgstr "ERROR: impossibile attendere per pictwpstops: %s\n"
-
-#~ msgid "ERROR: Unable to write %d bytes to \"%s\": %s\n"
-#~ msgstr "ERROR: impossibile scrivere %d byte su \"%s\": %s\n"
-
-#~ msgid "ERROR: Unable to write %d bytes to printer!\n"
-#~ msgstr "ERROR: impossibile scrivere %d byte sulla stampante!\n"
-
-#~ msgid "ERROR: Unable to write control file"
-#~ msgstr "ERROR: impossibile scrivere documento controllo"
-
-#~ msgid "ERROR: Unable to write print data"
-#~ msgstr "ERROR: impossibile scrivere dati di stampa"
-
-#~ msgid "ERROR: Unable to write print data: %s\n"
-#~ msgstr "ERROR: impossibile scrivere dati di stampa: %s\n"
-
-#~ msgid "ERROR: Unable to write raster data to driver!\n"
-#~ msgstr "ERROR: impossibile scrivere dati raster sul driver!\n"
-
-#~ msgid "ERROR: Unable to write to temporary file"
-#~ msgstr "ERROR: impossibile scrivere documento temporaneo"
-
-#~ msgid "ERROR: Unable to write uncompressed document data: %s\n"
-#~ msgstr "ERROR: impossibile scrivere dati documento non compressi: %s\n"
-
-#~ msgid "ERROR: Unexpected text on line %d of %s!\n"
-#~ msgstr "ERROR: testo inatteso alla riga %d di %s!\n"
-
-#~ msgid "ERROR: Unknown encryption option value \"%s\"!\n"
-#~ msgstr "ERROR: valore opzione di codifica sconosciuto \"%s\"!\n"
-
-#~ msgid "ERROR: Unknown file order \"%s\"\n"
-#~ msgstr "ERROR: ordine documento sconosciuto \"%s\"\n"
-
-#~ msgid "ERROR: Unknown format character \"%c\"\n"
-#~ msgstr "ERROR: carattere formato sconosciuto \"%c\"\n"
-
-#~ msgid "ERROR: Unknown message catalog format for \"%s\"!\n"
-#~ msgstr "ERROR: formato catalogo messaggio di \"%s\" sconosciuto!\n"
-
-#~ msgid "ERROR: Unknown option \"%s\" with value \"%s\"!\n"
-#~ msgstr "ERROR: opzione \"%s\" con valore \"%s\" sconosciuta!\n"
-
-#~ msgid "ERROR: Unknown print mode \"%s\"\n"
-#~ msgstr "ERROR: modalità di stampa \"%s\" sconosciuta\n"
-
-#~ msgid "ERROR: Unknown version option value \"%s\"!\n"
-#~ msgstr "ERROR: valore opzione versione sconosciuto \"%s\"!\n"
-
-#~ msgid "ERROR: Unsupported brightness value %s, using brightness=100!\n"
-#~ msgstr ""
-#~ "ERROR: valore luminosità %s non supportato, utilizzo luminosità=100!\n"
-
-#~ msgid "ERROR: Unsupported gamma value %s, using gamma=1000!\n"
-#~ msgstr "ERROR: valore gamma %s non supportato, utilizzo gamma=1000!\n"
-
-#~ msgid "ERROR: Unsupported number-up value %d, using number-up=1!\n"
-#~ msgstr "ERROR: valore number-up %d non supportato, utilizzo number-up=1!\n"
-
-#~ msgid ""
-#~ "ERROR: Unsupported number-up-layout value %s, using number-up-"
-#~ "layout=lrtb!\n"
-#~ msgstr ""
-#~ "ERROR: valore number-up-layout %s non supportato, utilizzo number-up-"
-#~ "layout=lrtb!\n"
-
-#~ msgid "ERROR: Unsupported page-border value %s, using page-border=none!\n"
-#~ msgstr ""
-#~ "ERROR: valore page-border %s non supportato, utilizzo page-border=none!\n"
-
-#~ msgid "ERROR: doc_printf overflow (%d bytes) detected, aborting!\n"
-#~ msgstr "ERROR: rilevato overflow (%d byte)  doc_printf, interrompo!\n"
-
-#~ msgid "ERROR: pdftops filter crashed on signal %d!\n"
-#~ msgstr "ERROR: il filtro pdftops si è chiuso al segnale %d!\n"
-
-#~ msgid "ERROR: pdftops filter exited with status %d!\n"
-#~ msgstr "ERROR: il filtro pdftops si è chiuso con stato %d!\n"
-
-#~ msgid "ERROR: pictwpstops exited on signal %d!\n"
-#~ msgstr "ERROR: pictwpstops si è chiuso al segnale %d!\n"
-
-#~ msgid "ERROR: pictwpstops exited with status %d!\n"
-#~ msgstr "ERROR: pictwpstops si è chiuso con stato %d!\n"
-
-#~ msgid ""
-#~ "ERROR: recoverable: Unable to connect to printer; will retry in 30 "
-#~ "seconds...\n"
-#~ msgstr ""
-#~ "ERROR: recuperabile: impossibile stabilire connessione con la stampante; "
-#~ "riprovo fra 30 secondi...\n"
-
-#~ msgid "ERROR: select() failed"
-#~ msgstr "ERROR: selezione() fallita"
-
-#~ msgid "ERROR: unable to stat print file"
-#~ msgstr "ERROR: impossibile avviare documento di stampa"
-
-#~ msgid "Empty PPD file!"
-#~ msgstr "Documento PPD vuoto!"
-
-#~ msgid "Error: need hostname after '-h' option!\n"
-#~ msgstr "Errore: è necessario un nome host dopo l'opzione '-h'!\n"
-
-#~ msgid "FAIL\n"
-#~ msgstr "FAIL\n"
-
-#~ msgid ""
-#~ "File device URIs have been disabled! To enable, see the FileDevice "
-#~ "directive in \"%s/cupsd.conf\"."
-#~ msgstr ""
-#~ "Gli URI del dispositivo documento sono stati disabilitati! Per "
-#~ "abilitarli, consulta l'istruzione del FileDevice in \"%s/cupsd.conf\"."
-
-#~ msgid "Fuser temperature high!"
-#~ msgstr "Temperatura del fusibile elevata!"
-
-#~ msgid "Fuser temperature low!"
-#~ msgstr "Temperatura del fusibile bassa!"
-
-#~ msgid "German FanFold"
-#~ msgstr "Modulo continuo tedesco"
-
-#~ msgid "German FanFold Legal"
-#~ msgstr "Modulo continuo legale tedesco"
-
-#~ msgid "Got a printer-uri attribute but no job-id!"
-#~ msgstr "Ottenuto un attributo printer-uri, ma nessun job-id!"
-
-#~ msgid "INFO: AppleTalk disabled in System Preferences\n"
-#~ msgstr "INFO: AppleTalk disabilitata in Preferenze di Sistema.\n"
-
-#~ msgid "INFO: AppleTalk disabled in System Preferences.\n"
-#~ msgstr "INFO: AppleTalk disabilitata in Preferenze di Sistema.\n"
-
-#~ msgid "INFO: Canceling print job...\n"
-#~ msgstr "INFO: annullo lavoro di stampa...\n"
-
-#~ msgid "INFO: Connected to printer...\n"
-#~ msgstr "INFO: connesso alla stampante...\n"
-
-#~ msgid "INFO: Connecting to printer...\n"
-#~ msgstr "INFO: connetto alla stampante...\n"
-
-#~ msgid "INFO: Control file sent successfully\n"
-#~ msgstr "INFO: documento di controllo inviato con successo\n"
-
-#~ msgid "INFO: Copying print data...\n"
-#~ msgstr "INFO: Copia dei dati di stampa...\n"
-
-#~ msgid "INFO: Data file sent successfully\n"
-#~ msgstr "INFO: documento dati inviato con successo\n"
-
-#~ msgid "INFO: Finished page %d...\n"
-#~ msgstr "INFO: Pagina %d completata...\n"
-
-#~ msgid "INFO: Formatting page %d...\n"
-#~ msgstr "INFO: formatto pagina %d...\n"
-
-#~ msgid "INFO: Loading image file...\n"
-#~ msgstr "INFO: carico documento immagine...\n"
-
-#~ msgid "INFO: Looking for printer...\n"
-#~ msgstr "INFO: cerco la stampante...\n"
-
-#~ msgid "INFO: Opening connection\n"
-#~ msgstr "INFO: apro la connessione\n"
-
-#~ msgid "INFO: Print file sent, waiting for printer to finish...\n"
-#~ msgstr ""
-#~ "INFO: documento stampa inviato, attendo che la stampante finisca...\n"
-
-#~ msgid "INFO: Printer busy; will retry in 10 seconds...\n"
-#~ msgstr "INFO: stampante occupata; riprovo fra 10 secondi...\n"
-
-#~ msgid "INFO: Printer busy; will retry in 30 seconds...\n"
-#~ msgstr "INFO: stampante occupata; riprovo fra 30 secondi...\n"
-
-#~ msgid "INFO: Printer busy; will retry in 5 seconds...\n"
-#~ msgstr "INFO: stampante occupata; riprovo fra 5 secondi...\n"
-
-#~ msgid "INFO: Printer does not support IPP/%d.%d, trying IPP/1.0...\n"
-#~ msgstr "INFO: la stampante non supporta IPP/%d.%d, provo IPP/1.0...\n"
-
-#~ msgid "INFO: Printer is busy; will retry in 5 seconds...\n"
-#~ msgstr "INFO: la stampante è occupata; riprovo fra 5 secondi...\n"
-
-#~ msgid "INFO: Printer is currently off-line.\n"
-#~ msgstr "INFO: la stampante al momento non è in linea.\n"
-
-#~ msgid "INFO: Printer is currently offline.\n"
-#~ msgstr "INFO: la stampante al momento non è in linea.\n"
-
-#~ msgid "INFO: Printer is now online.\n"
-#~ msgstr "INFO: la stampante è adesso in linea.\n"
-
-#~ msgid "INFO: Printer is offline.\n"
-#~ msgstr "INFO: la stampante non è in linea.\n"
-
-#~ msgid "INFO: Printer not connected; will retry in 30 seconds...\n"
-#~ msgstr "INFO: stampante non connessa; riprovo fra 30 secondi...\n"
-
-#~ msgid "INFO: Printing page %d, %d%% complete...\n"
-#~ msgstr "INFO: stampo pagina %d, %d%% completato...\n"
-
-#~ msgid "INFO: Printing page %d...\n"
-#~ msgstr "INFO: stampo pagina %d...\n"
-
-#~ msgid "INFO: Ready to print.\n"
-#~ msgstr "INFO: pronta per stampare.\n"
-
-#~ msgid "INFO: Sending control file (%lu bytes)\n"
-#~ msgstr "INFO: invio documento di controllo (%lu byte)\n"
-
-#~ msgid "INFO: Sending control file (%u bytes)\n"
-#~ msgstr "INFO: invio documento di controllo (%u byte)\n"
-
-#~ msgid "INFO: Sending data\n"
-#~ msgstr "INFO: invio dati\n"
-
-#~ msgid "INFO: Sending data file (%ld bytes)\n"
-#~ msgstr "INFO: invio documento dati (%ld byte)\n"
-
-#~ msgid "INFO: Sending data file (%lld bytes)\n"
-#~ msgstr "INFO: invio documento dati (%lld byte)\n"
-
-#~ msgid "INFO: Sending print data...\n"
-#~ msgstr "INFO: invio dati di stampa...\n"
-
-#~ msgid "INFO: Sent print file, %ld bytes...\n"
-#~ msgstr "INFO: inviato documento stampa, %ld byte...\n"
-
-#~ msgid "INFO: Sent print file, %lld bytes...\n"
-#~ msgstr "INFO: inviato documento stampa, %lld byte...\n"
-
-#~ msgid "INFO: Spooling LPR job, %.0f%% complete...\n"
-#~ msgstr "INFO: eseguo lo spool della stampa LPR, %.0f%% completato...\n"
-
-#~ msgid "INFO: Starting page %d...\n"
-#~ msgstr "INFO: Pagina iniziale %d...\n"
-
-#~ msgid ""
-#~ "INFO: Unable to contact printer, queuing on next printer in class...\n"
-#~ msgstr ""
-#~ "INFO: impossibile contattare la stampante, in coda sulla stampante "
-#~ "successiva nella classe...\n"
-
-#~ msgid "INFO: Using default AppleTalk zone \"%s\"\n"
-#~ msgstr "INFO: uso una zona di default AppleTalk\"%s\"\n"
-
-#~ msgid "INFO: Waiting for job to complete...\n"
-#~ msgstr "INFO: attendo che la stampa sia completata...\n"
-
-#~ msgid "INFO: Waiting for printer to become available...\n"
-#~ msgstr "INFO: attendo che la stampante sia disponibile...\n"
-
-#~ msgid "ISO B0"
-#~ msgstr "ISO B0"
-
-#~ msgid "ISO B1"
-#~ msgstr "ISO B1"
-
-#~ msgid "ISO B10"
-#~ msgstr "ISO B10"
-
-#~ msgid "ISO B2"
-#~ msgstr "ISO B2"
-
-#~ msgid "ISO B3"
-#~ msgstr "ISO B3"
-
-#~ msgid "ISO B4"
-#~ msgstr "ISO B4"
-
-#~ msgid "ISO B4 Envelope"
-#~ msgstr "Busta ISO B4"
-
-#~ msgid "ISO B5"
-#~ msgstr "ISO B5"
-
-#~ msgid "ISO B5 (Oversize)"
-#~ msgstr "ISO B5 (senza margini)"
-
-#~ msgid "ISO B5 Envelope"
-#~ msgstr "Busta ISO B5"
-
-#~ msgid "ISO B6"
-#~ msgstr "ISO B6"
-
-#~ msgid "ISO B6 Envelope"
-#~ msgstr "Busta ISO B6"
-
-#~ msgid "ISO B7"
-#~ msgstr "ISO B7"
-
-#~ msgid "ISO B8"
-#~ msgstr "ISO B8"
-
-#~ msgid "ISO B9"
-#~ msgstr "ISO B9"
-
-#~ msgid "Ink/toner almost empty."
-#~ msgstr "Inchiostro/toner quasi vuoto."
-
-#~ msgid "Ink/toner empty!"
-#~ msgstr "Inchiostro/toner vuoto!"
-
-#~ msgid "Ink/toner waste bin almost full."
-#~ msgstr "Cestino inchiostro/toner quasi pieno."
-
-#~ msgid "Ink/toner waste bin full!"
-#~ msgstr "Cestino inchiostro/toner pieno!"
-
-#~ msgid "Interlock open."
-#~ msgstr "Interblocco aperto."
-
-#~ msgid "Invite Envelope"
-#~ msgstr "Busta invito"
-
-#~ msgid "Italian Envelope"
-#~ msgstr "Busta standard italiana"
-
-#~ msgid "Job #%d cannot be restarted - no files!"
-#~ msgstr "La stampa #%d non può essere riavviata: nessun documento!"
-
-#~ msgid "Job #%d does not exist!"
-#~ msgstr "La stampa #%d non esiste!"
-
-#~ msgid "Job #%d is finished and cannot be altered!"
-#~ msgstr "La stampa #%d è terminata e non può essere modificata!"
-
-#~ msgid "Job #%d is not complete!"
-#~ msgstr "La stampa %d non è completa!"
-
-#~ msgid "Job #%d is not held for authentication!"
-#~ msgstr "La stampa #%d non è bloccata per l'autenticazione!"
-
-#~ msgid "Job #%d is not held!"
-#~ msgstr "La stampa #%d non è bloccata!"
-
-#~ msgid "Job #%s does not exist!"
-#~ msgstr "La stampa #%s non esiste!"
-
-#~ msgid "Job %d not found!"
-#~ msgstr "Stampa %d non trovata!"
-
-#~ msgid "Job subscriptions cannot be renewed!"
-#~ msgstr "Le sottoscrizioni delle stampe non possono essere rinnovate!"
-
-#~ msgid "Kaku2 Envelope"
-#~ msgstr "Busta Kaku2"
-
-#~ msgid "Kaku3 Envelope"
-#~ msgstr "Busta Kaku3"
-
-#~ msgid "Language \"%s\" not supported!"
-#~ msgstr "Lingua \"%s\" non supportata!"
-
-#~ msgid "Media jam!"
-#~ msgstr "Inceppamento supporto!"
-
-#~ msgid "Media tray almost empty."
-#~ msgstr "Cassetto carta quasi vuoto."
-
-#~ msgid "Media tray empty!"
-#~ msgstr "Cassetto carta vuoto!"
-
-#~ msgid "Media tray missing!"
-#~ msgstr "Cassetto carta mancante!"
-
-#~ msgid "Media tray needs to be filled."
-#~ msgstr "Bisogna riempire il cassetto carta."
-
-#~ msgid "Missing document-number attribute!"
-#~ msgstr "Attributo document-number mancante!"
-
-#~ msgid "Missing double quote on line %d!"
-#~ msgstr "Doppi apici mancanti alla riga %d!"
-
-#~ msgid "Missing form variable!"
-#~ msgstr "Variabile modulo mancante"
-
-#~ msgid "Missing notify-subscription-ids attribute!"
-#~ msgstr "Attributo notify-subscription-ids mancante!"
-
-#~ msgid "Missing requesting-user-name attribute!"
-#~ msgstr "Attributo requesting-user-name mancante!"
-
-#~ msgid "Missing required attributes!"
-#~ msgstr "Attributi necessari mancanti!"
-
-#~ msgid "Missing value on line %d!"
-#~ msgstr "Valore mancante alla riga %d!"
-
-#~ msgid ""
-#~ "Model:  name = %s\n"
-#~ "        natural_language = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ msgstr ""
-#~ "Modello:  nome = %s\n"
-#~ "        natural_language = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-
-#~ msgid "Monarch"
-#~ msgstr "Monarch"
-
-#~ msgid "Monarch Envelope"
-#~ msgstr "Busta Monarch"
-
-#~ msgid "NOTICE: Print file accepted - job ID %d.\n"
-#~ msgstr "NOTICE: documento di stampa accettato: ID stampa %d.\n"
-
-#~ msgid "NOTICE: Print file accepted - job ID unknown.\n"
-#~ msgstr "NOTICE: documento di stampa accettato: ID stampa sconosciuto.\n"
-
-#~ msgid "Nested classes are not allowed!"
-#~ msgstr "Le classi nidificate non sono consentite."
-
-#~ msgid "No PPD name!"
-#~ msgstr "Nessun nome PPD!"
-
-#~ msgid "No Windows printer drivers are installed!"
-#~ msgstr "Non è installato nessun driver di stampa Windows!"
-
-#~ msgid "No active jobs on %s!"
-#~ msgstr "Nessuna stampa attiva su %s!"
-
-#~ msgid "No attributes in request!"
-#~ msgstr "Nessun attributo nella richiesta!"
-
-#~ msgid "No authentication information provided!"
-#~ msgstr "Nessuna informazione di autenticazione fornita!"
-
-#~ msgid "No default printer"
-#~ msgstr "Nessuna stampante predefinita"
-
-#~ msgid "No file!?!"
-#~ msgstr "Nessun documento!?!"
-
-#~ msgid "No modification time!"
-#~ msgstr "Nessuna ora modifica!"
-
-#~ msgid "No printer name!"
-#~ msgstr "Nessun nome stampante!"
-
-#~ msgid "No printer-uri found for class!"
-#~ msgstr "Nessun printer-uri trovato per la classe!"
-
-#~ msgid "No printer-uri found!"
-#~ msgstr "Nessun printer-uri trovato!"
-
-#~ msgid "No printer-uri in request!"
-#~ msgstr "Nessun printer-uri nella richiesta!"
-
-#~ msgid "No subscription attributes in request!"
-#~ msgstr "Nessun attributo di sottoscrizione nella richiesta!"
-
-#~ msgid "OPC almost at end-of-life."
-#~ msgstr "OPC quasi alla fine del proprio ciclo di vita utile."
-
-#~ msgid "OPC at end-of-life!"
-#~ msgstr "OPC alla fine del proprio ciclo di vita utile!"
-
-#~ msgid "Out of toner!"
-#~ msgstr "Toner esaurito!"
-
-#~ msgid "Output bin almost full."
-#~ msgstr "Vassoio di uscita quasi pieno."
-
-#~ msgid "Output bin full!"
-#~ msgstr "Vassoio di uscita pieno!"
-
-#~ msgid "Output for printer %s is sent to %s\n"
-#~ msgstr "L'uscita per la stampante %s è inviata a %s\n"
-
-#~ msgid "Output for printer %s is sent to remote printer %s on %s\n"
-#~ msgstr ""
-#~ "L'uscita per la stampante %s è inviata alla stampante remota %s su %s\n"
-
-#~ msgid "Output for printer %s/%s is sent to %s\n"
-#~ msgstr "L'uscita per la stampante %s/%s è inviata a %s\n"
-
-#~ msgid "Output for printer %s/%s is sent to remote printer %s on %s\n"
-#~ msgstr ""
-#~ "L'uscita per la stampante %s/%s è inviata alla stampante remota %s su %s\n"
-
-#~ msgid "Output tray missing!"
-#~ msgstr "Vassoio di uscita mancante!"
-
-#~ msgid "PASS\n"
-#~ msgstr "PASS\n"
-
-#~ msgid "PRC1 Envelope"
-#~ msgstr "Busta PRC1"
-
-#~ msgid "PRC10 Envelope"
-#~ msgstr "Busta PRC10"
-
-#~ msgid "PRC2 Envelope"
-#~ msgstr "Busta PRC2"
-
-#~ msgid "PRC3 Envelope"
-#~ msgstr "Busta PRC3"
-
-#~ msgid "PRC32K (Oversize)"
-#~ msgstr "PRC32K (senza margini)"
-
-#~ msgid "PRC4 Envelope"
-#~ msgstr "Busta PRC4"
-
-#~ msgid "PRC5 Envelope"
-#~ msgstr "Busta PRC5"
-
-#~ msgid "PRC6 Envelope"
-#~ msgstr "Busta PRC6"
-
-#~ msgid "PRC7 Envelope"
-#~ msgstr "Busta PRC7"
-
-#~ msgid "PRC8 Envelope"
-#~ msgstr "Busta PRC8"
-
-#~ msgid "PRC9 Envelope"
-#~ msgstr "Busta PRC9"
-
-#~ msgid "Personal Envelope"
-#~ msgstr "Busta personale"
-
-#~ msgid "Printer offline."
-#~ msgstr "Stampante non in linea."
-
-#~ msgid "Rank    Owner   Job     File(s)                         Total Size\n"
-#~ msgstr "Posiz.   Proprietario    Stampa   Doc.             Dim. totali\n"
-
-#~ msgid ""
-#~ "Rank   Owner      Pri  Job        Files                       Total Size\n"
-#~ msgstr "Posiz.   Proprietario  Stampa   Doc.         Dim. totali\n"
-
-#~ msgid "Running command: %s %s -N -A %s -c '%s'\n"
-#~ msgstr "Esecuzione del comando: %s %s -N -A %s -c '%s'\n"
-
-#~ msgid "SCSI Printer"
-#~ msgstr "Stampante SCSI"
-
-#~ msgid "Tabloid (Oversize)"
-#~ msgstr "Tabloid (senza margini)"
-
-#~ msgid "The notify-user-data value is too large (%d > 63 octets)!"
-#~ msgstr "Il valore notify-user-data è troppo grande (%d > 63 ottetti)!"
-
-#~ msgid "The printer or class is not shared!"
-#~ msgstr "La stampante o la classe non è condivisa!"
-
-#~ msgid "The printer or class was not found."
-#~ msgstr "La stampante o la classe non è stata trovata."
-
-#~ msgid "The printer-uri attribute is required!"
-#~ msgstr "Attributo printer-uri richiesto!"
-
-#~ msgid "Toner low."
-#~ msgstr "Toner basso."
-
-#~ msgid "Too many job-sheets values (%d > 2)!"
-#~ msgstr "Troppi valori job-sheets (%d > 2)!"
-
-#~ msgid "Too many printer-state-reasons values (%d > %d)!"
-#~ msgstr "Troppi valori printer-state-reasons (%d > %d)!"
-
-#~ msgid "US Executive"
-#~ msgstr "Executive USA"
-
-#~ msgid "US Fanfold"
-#~ msgstr "Modulo continuo USA"
-
-#~ msgid "US Legal (Oversize)"
-#~ msgstr "Legale USA (senza margini)"
-
-#~ msgid "US Letter (Oversize)"
-#~ msgstr "Lettera USA (senza margini)"
-
-#~ msgid "US Letter (Small)"
-#~ msgstr "Lettera USA (con margini)"
-
-#~ msgid "Unable to add job for destination \"%s\"!"
-#~ msgstr "Impossibile aggiungere la stampa alla destinazione \"%s\"!"
-
-#~ msgid "Unable to allocate memory for file types!"
-#~ msgstr "Impossibile allocare memoria per tipi di documento!"
-
-#~ msgid "Unable to copy 64-bit CUPS printer driver files (%d)!"
-#~ msgstr ""
-#~ "Impossibile copiare i documenti dei driver della stampante per CPU a 64 "
-#~ "bit (%d)!"
-
-#~ msgid "Unable to copy 64-bit Windows printer driver files (%d)!"
-#~ msgstr ""
-#~ "Impossibile copiare i documenti dei driver della stampante per Windows a "
-#~ "64 bit (%d)!"
-
-#~ msgid "Unable to copy CUPS printer driver files (%d)!"
-#~ msgstr ""
-#~ "Impossibile copiare i documenti CUPS dei driver della stampante (%d)!"
-
-#~ msgid "Unable to copy PPD file - %s!"
-#~ msgstr "Impossibile copiare il documento PPD: %s!"
-
-#~ msgid "Unable to copy PPD file!"
-#~ msgstr "Impossibile copiare il documento PPD!"
-
-#~ msgid "Unable to copy Windows 2000 printer driver files (%d)!"
-#~ msgstr ""
-#~ "Impossibile copiare i documenti dei driver della stampante per Windows "
-#~ "2000 (%d)!"
-
-#~ msgid "Unable to copy Windows 9x printer driver files (%d)!"
-#~ msgstr ""
-#~ "Impossibile copiare i documenti dei driver della stampante per Windows 9x "
-#~ "(%d)!"
-
-#~ msgid "Unable to copy interface script - %s!"
-#~ msgstr "Impossibile copiare lo script di interfaccia: %s!"
-
-#~ msgid "Unable to create printer-uri!"
-#~ msgstr "Impossibile creare printer-uri!"
-
-#~ msgid "Unable to edit cupsd.conf files larger than 1MB!"
-#~ msgstr "Impossibile modificare i documenti cupsd.conf più grandi di 1 MB!"
-
-#~ msgid "Unable to find destination for job!"
-#~ msgstr "Impossibile trovare una destinazione per la stampa!"
-
-#~ msgid "Unable to find printer!\n"
-#~ msgstr "Impossibile trovare la stampante!\n"
-
-#~ msgid "Unable to install Windows 2000 printer driver files (%d)!"
-#~ msgstr ""
-#~ "Impossibile installare i documenti dei driver di stampa per Windows 2000 "
-#~ "(%d)!"
-
-#~ msgid "Unable to install Windows 9x printer driver files (%d)!"
-#~ msgstr ""
-#~ "Impossibile installare i documenti dei driver di stampa per Windows 9x (%"
-#~ "d)!"
-
-#~ msgid "Unable to open document %d in job %d!"
-#~ msgstr "Impossibile aprire il documento %d nella stampa %d!"
-
-#~ msgid "Unable to run \"%s\": %s\n"
-#~ msgstr "Impossibile eseguire \"%s\": %s\n"
-
-#~ msgid "Unable to send command to printer driver!"
-#~ msgstr "Impossibile inviare comandi al driver della stampante!"
-
-#~ msgid "Unable to set Windows printer driver (%d)!"
-#~ msgstr "Impossibile configurare il driver della stampante per Windows (%d)!"
-
-#~ msgid "Unable to use legacy USB class driver!\n"
-#~ msgstr "Impossibile utilizzare il driver della classe USB legacy!\n"
-
-#~ msgid "Unknown printer error (%s)!"
-#~ msgstr "Errore della stampante sconosciuto (%s)!"
-
-#~ msgid "Unsupported character set \"%s\"!"
-#~ msgstr "Set di caratteri \"%s\" non supportato!"
-
-#~ msgid "Unsupported compression \"%s\"!"
-#~ msgstr "Compressione \"%s\" non supportata!"
-
-#~ msgid "Unsupported compression attribute %s!"
-#~ msgstr "Attributo compressione %s non supportato!"
-
-#~ msgid "Unsupported format \"%s\"!"
-#~ msgstr "Formato \"%s\" non supportato!"
-
-#~ msgid "Unsupported format '%s'!"
-#~ msgstr "Formato '%s non supportato'!"
-
-#~ msgid "Unsupported format '%s/%s'!"
-#~ msgstr "Formato '%s/%s' non supportato!"
-
-#~ msgid ""
-#~ "Usage:\n"
-#~ "\n"
-#~ "    lpadmin [-h server] -d destination\n"
-#~ "    lpadmin [-h server] -x destination\n"
-#~ "    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m "
-#~ "model]\n"
-#~ "                       [-r remove-class] [-v device] [-D description]\n"
-#~ "                       [-P ppd-file] [-o name=value]\n"
-#~ "                       [-u allow:user,user] [-u deny:user,user]\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Utilizzo:\n"
-#~ "\n"
-#~ "    lpadmin [-h server] -d destinazione\n"
-#~ "    lpadmin [-h server] -x destinazione\n"
-#~ "    lpadmin [-h server] -p stampante [-c add-class] [-i interfaccia] [-m "
-#~ "modello]\n"
-#~ "                       [-r remove-class] [-v dispositivo] [-D "
-#~ "descrizione]\n"
-#~ "                       [-P ppd-file] [-o name=value]\n"
-#~ "                       [-u consenti:utente,utente] [-u non consentire:"
-#~ "utente,utente]\n"
-#~ "\n"
-
-#~ msgid "Usage: %s job user title copies options [filename]\n"
-#~ msgstr "Utilizzo: [nome documento] opzioni titolo copie utente stampa %s\n"
-
-#~ msgid "Usage: %s job-id user title copies options [file]\n"
-#~ msgstr "Utilizzo: [documento] opzioni titolo copie utente ID stampa %s\n"
-
-#~ msgid "Usage: %s job-id user title copies options file\n"
-#~ msgstr "Utilizzo: documento opzioni titolo copie utente ID stampa %s\n"
-
-#~ msgid ""
-#~ "Usage: convert [ options ]\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "  -e                   Use every filter from the PPD file\n"
-#~ "  -f filename          Set file to be converted (otherwise stdin)\n"
-#~ "  -o filename          Set file to be generated (otherwise stdout)\n"
-#~ "  -i mime/type         Set input MIME type (otherwise auto-typed)\n"
-#~ "  -j mime/type         Set output MIME type (otherwise application/pdf)\n"
-#~ "  -P filename.ppd      Set PPD file\n"
-#~ "  -a 'name=value ...'  Set option(s)\n"
-#~ "  -U username          Set username for job\n"
-#~ "  -J title             Set title\n"
-#~ "  -c copies            Set number of copies\n"
-#~ "  -u                   Remove the PPD file when finished\n"
-#~ "  -D                   Remove the input file when finished\n"
-#~ msgstr ""
-#~ "Utilizzo: convert [ opzioni ]\n"
-#~ "\n"
-#~ "Opzioni:\n"
-#~ "\n"
-#~ "  -e                   Utilizza ogni filtro dal file PPD\n"
-#~ "  -f nomefile          Imposta il file da convertire (altrimenti stdin)\n"
-#~ "  -o nomefile          Imposta il file da generare (altrimenti stdout)\n"
-#~ "  -i tipo/mime         Imposta il tipo MIME in ingresso (altrimenti auto-"
-#~ "typed)\n"
-#~ "  -j tipo/mime         Imposta il tipo MIME di uscita (altrimenti "
-#~ "application/pdf)\n"
-#~ "  -P nomefile.ppd      Imposta file PPD\n"
-#~ "  -a 'nome=valore ...'  Imposta opzione(i)\n"
-#~ "  -U nomeutente          Imposta il nome utente per la stampa\n"
-#~ "  -J titolo             Imposta il titolo\n"
-#~ "  -c copie            Imposta il numero di copie\n"
-#~ "  -u                   Rimuove il file PPD al completamento\n"
-#~ "  -D                   Rimuove il file in ingresso al completamento\n"
-
-#~ msgid ""
-#~ "Usage: convert [ options ]\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "  -f filename          Set file to be converted (otherwise stdin)\n"
-#~ "  -o filename          Set file to be generated (otherwise stdout)\n"
-#~ "  -i mime/type         Set input MIME type (otherwise auto-typed)\n"
-#~ "  -j mime/type         Set output MIME type (otherwise application/pdf)\n"
-#~ "  -P filename.ppd      Set PPD file\n"
-#~ "  -a 'name=value ...'  Set option(s)\n"
-#~ "  -U username          Set username for job\n"
-#~ "  -J title             Set title\n"
-#~ "  -c copies            Set number of copies\n"
-#~ "  -u                   Remove the PPD file when finished\n"
-#~ "  -D                   Remove the input file when finished\n"
-#~ msgstr ""
-#~ "Utilizzo: convert [ opzioni ]\n"
-#~ "\n"
-#~ "Opzioni:\n"
-#~ "\n"
-#~ "  -f nome documento          Imposta il documento da convertire "
-#~ "(altrimenti stdin)\n"
-#~ "  -o nome documento          Imposta il documento da generare (altrimenti "
-#~ "stdout)\n"
-#~ "  -i mime/type         Imposta il tipo MIME input (altrimenti auto-"
-#~ "typed)\n"
-#~ "  -j mime/type         Imposta il tipo MIME output (altrimenti "
-#~ "application/pdf)\n"
-#~ "  -P filename.ppd      Imposta il documento PPD\n"
-#~ "  -a 'nome=valore ...'  Imposta opzione(i)\n"
-#~ "  -U nome utente          Imposta il nome utente per la stampa\n"
-#~ "  -J titolo             Imposta il titolo\n"
-#~ "  -c copie            Imposta il numero di copie\n"
-#~ "  -u                   Rimuove il documento PPD terminata l'azione\n"
-#~ "  -D                   Rimuove il documento input terminata l'azione\n"
-
-#~ msgid ""
-#~ "Usage: cupsaddsmb [options] printer1 ... printerN\n"
-#~ "       cupsaddsmb [options] -a\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "  -E               Encrypt the connection to the server\n"
-#~ "  -H samba-server  Use the named SAMBA server\n"
-#~ "  -U samba-user    Authenticate using the named SAMBA user\n"
-#~ "  -a               Export all printers\n"
-#~ "  -h cups-server   Use the named CUPS server\n"
-#~ "  -v               Be verbose (show commands)\n"
-#~ msgstr ""
-#~ "Utilizzo: cupsaddsmb [opzioni] stampante1 ... stampanteN\n"
-#~ "       cupsaddsmb [opzioni] -a\n"
-#~ "\n"
-#~ "Opzioni:\n"
-#~ "  -E               Codifica la connessione al server\n"
-#~ "  -H samba-server  Utilizza il server SAMBA specificato\n"
-#~ "  -U samba-user    Effettua l'autenticazione utilizzando l'utente SAMBA "
-#~ "specificato\n"
-#~ "  -a               Esporta tutte le stampanti\n"
-#~ "  -h cups-server   Utilizza il server CUPS specificato\n"
-#~ "  -v               Cerca di essere dettagliato (mostra comandi)\n"
-
-#~ msgid ""
-#~ "Usage: cupsctl [options] [param=value ... paramN=valueN]\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -E                      Enable encryption\n"
-#~ "    -U username             Specify username\n"
-#~ "    -h server[:port]        Specify server address\n"
-#~ "\n"
-#~ "    --[no-]debug-logging    Turn debug logging on/off\n"
-#~ "    --[no-]remote-admin     Turn remote administration on/off\n"
-#~ "    --[no-]remote-any       Allow/prevent access from the Internet\n"
-#~ "    --[no-]remote-printers  Show/hide remote printers\n"
-#~ "    --[no-]share-printers   Turn printer sharing on/off\n"
-#~ "    --[no-]user-cancel-any  Allow/prevent users to cancel any job\n"
-#~ msgstr ""
-#~ "Utilizzo: cupsctl [opzioni] [param=value ... paramN=valueN]\n"
-#~ "\n"
-#~ "Opzioni:\n"
-#~ "\n"
-#~ "    -E                      Abilita codifica\n"
-#~ "    -U nome utente             Specifica nome utente\n"
-#~ "    -h server[:porta]        Specifica indirizzo server\n"
-#~ "\n"
-#~ "    --[no-]debug-logging Attiva o disattiva logging di debug\n"
-#~ "    --[no-]remote-admin Attiva o disattiva amministrazione remota\n"
-#~ "    --[no-]remote-any Consenti/impedisci accesso da Internet\n"
-#~ "    --[no-]remote-printers Mostra/nascondi stampanti remote\n"
-#~ "    --[no-]share-printers Attiva o disattiva condivisione stampanti\n"
-#~ "    --[no-]-]user-cancel-any Consenti/impedisci agli utenti di annullare "
-#~ "qualsiasi stampa\n"
-
-#~ msgid ""
-#~ "Usage: cupsd [-c config-file] [-f] [-F] [-h] [-l]\n"
-#~ "\n"
-#~ "-c config-file      Load alternate configuration file\n"
-#~ "-f                  Run in the foreground\n"
-#~ "-F                  Run in the foreground but detach\n"
-#~ "-h                  Show this usage message\n"
-#~ "-l                  Run cupsd from launchd(8)\n"
-#~ msgstr ""
-#~ "Utilizzo: cupsd [-c config-file] [-f] [-F] [-h] [-l]\n"
-#~ "\n"
-#~ "-c config-file      Carica documento di configurazione alternativo\n"
-#~ "-f                  Esegui in primo piano\n"
-#~ "-F                  Esegui in primo piano, ma sganciato\n"
-#~ "-h                  Mostra questo messaggio relativo all'utilizzo\n"
-#~ "-l                  Esegui cupsd da launchd(8)\n"
-
-#~ msgid ""
-#~ "Usage: cupsfilter -m mime/type [ options ] filename\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "  -c cupsd.conf    Set cupsd.conf file to use\n"
-#~ "  -e               Use every filter from the PPD file\n"
-#~ "  -j job-id[,N]    Filter file N from the specified job (default is file "
-#~ "1)\n"
-#~ "  -n copies        Set number of copies\n"
-#~ "  -o name=value    Set option(s)\n"
-#~ "  -p filename.ppd  Set PPD file\n"
-#~ "  -t title         Set title\n"
-#~ msgstr ""
-#~ "Utilizzo: cupsfilter -m tipo/mime [ opzioni ] nomefile\n"
-#~ "\n"
-#~ "Opzioni:\n"
-#~ "\n"
-#~ "  -c cupsd.conf    Imposta il file cupsd.conf da utilizzare\n"
-#~ "  -e               Usa ogni filtro dal file PPD\n"
-#~ "  -j job-id[,N]    Filtra il file N dalla stampa specificata (predefinito "
-#~ "è il file 1)\n"
-#~ "  -n copies        Imposta il numero di copie\n"
-#~ "  -o name=value    Imposta opzione(i)\n"
-#~ "  -p filename.ppd  Imposta il file PPD\n"
-#~ "  -t title         Imposta il titolo\n"
-
-#~ msgid ""
-#~ "Usage: cupsfilter -m mime/type [ options ] filename\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "  -c cupsd.conf    Set cupsd.conf file to use\n"
-#~ "  -j job-id[,N]    Filter file N from the specified job (default is file "
-#~ "1)\n"
-#~ "  -n copies        Set number of copies\n"
-#~ "  -o name=value    Set option(s)\n"
-#~ "  -p filename.ppd  Set PPD file\n"
-#~ "  -t title         Set title\n"
-#~ msgstr ""
-#~ "Utilizzo: cupsfilter -m mime/type [ opzioni] filename\n"
-#~ "\n"
-#~ "Opzioni:\n"
-#~ "\n"
-#~ "  -c cupsd.conf    Imposta il documento cupsd.conf da utilizzare\n"
-#~ "  -j job-id[,N]    Filtra il documento N dalla stampa specificata "
-#~ "(l'opzione di default è documento 1)\n"
-#~ "  -n copies        Imposta il numero di copie\n"
-#~ "  -o name=value    Imposta l'opzione(i)\n"
-#~ "  -p filename.ppd  Imposta il documento PPD\n"
-#~ "  -t title         Imposta il titolo\n"
-
-#~ msgid ""
-#~ "Usage: cupstestdsc [options] filename.ps [... filename.ps]\n"
-#~ "       cupstestdsc [options] -\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -h       Show program usage\n"
-#~ "\n"
-#~ "    Note: this program only validates the DSC comments, not the "
-#~ "PostScript itself.\n"
-#~ msgstr ""
-#~ "Utilizzo: cupstestdsc [opzioni] nomedocumento.ps [... nomedocumento.ps]\n"
-#~ "       cupstestdsc [opzioni] -\n"
-#~ "\n"
-#~ "Opzioni:\n"
-#~ "\n"
-#~ "    -h       Mostra l'utilizzo del programma\n"
-#~ "\n"
-#~ "    Nota: questo programma convalida solo i commenti DSC, non il "
-#~ "PostScript stesso.\n"
-
-#~ msgid ""
-#~ "Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]\n"
-#~ "       program | cupstestppd [options] -\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -R root-directory    Set alternate root\n"
-#~ "    -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,"
-#~ "translations}\n"
-#~ "                         Issue warnings instead of errors\n"
-#~ "    -q                   Run silently\n"
-#~ "    -r                   Use 'relaxed' open mode\n"
-#~ "    -v                   Be slightly verbose\n"
-#~ "    -vv                  Be very verbose\n"
-#~ msgstr ""
-#~ "Utilizzo: cupstestppd [opzioni] nomefile1.ppd[.gz] [... nomefileN.ppd[."
-#~ "gz]]\n"
-#~ "       programma | cupstestppd [opzioni] -\n"
-#~ "\n"
-#~ "Opzioni:\n"
-#~ "\n"
-#~ "    -R cartella-radice    Imposta radice alternativa\n"
-#~ "    -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,"
-#~ "translations}\n"
-#~ "                         Emette avvisi al posto degli errori\n"
-#~ "    -q                   Esecuzione silenziosa\n"
-#~ "    -r                   Modalità di apertura 'rilassata'\n"
-#~ "    -v                   Abbastanza dettagliato\n"
-#~ "    -vv                  Molto dettagliato\n"
-
-#~ msgid ""
-#~ "Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]\n"
-#~ "       program | cupstestppd [options] -\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -R root-directory    Set alternate root\n"
-#~ "    -W {all,none,constraints,defaults,duplex,filters,translations}\n"
-#~ "                         Issue warnings instead of errors\n"
-#~ "    -q                   Run silently\n"
-#~ "    -r                   Use 'relaxed' open mode\n"
-#~ "    -v                   Be slightly verbose\n"
-#~ "    -vv                  Be very verbose\n"
-#~ msgstr ""
-#~ "Utilizzo: cupstestppd [opzioni] nomefile1.ppd[.gz] [... nomefileN.ppd[."
-#~ "gz]]\n"
-#~ "       programma | cupstestppd [opzioni] -\n"
-#~ "\n"
-#~ "Opzioni:\n"
-#~ "\n"
-#~ "    -R root-directory   Configura root alternativa\n"
-#~ "    -W {tutti,nessuno,limitazioni,default,filtri,traduzioni}\n"
-#~ "                         Avvisi per problemi invece di errori\n"
-#~ "    -q                   Esegui in silenzio\n"
-#~ "    -r                   Utilizza modalità di apertura  'rilassata'\n"
-#~ "    -v                   Cerca di essere abbastanza dettagliato\n"
-#~ "    -vv                  Cerca di essere molto dettagliato\n"
-
-#~ msgid "Usage: lpmove job/src dest\n"
-#~ msgstr "Utilizzo: lpmove stampa/fonte dest\n"
-
-#~ msgid ""
-#~ "Usage: lpoptions [-h server] [-E] -d printer\n"
-#~ "       lpoptions [-h server] [-E] [-p printer] -l\n"
-#~ "       lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
-#~ "       lpoptions [-h server] [-E] -x printer\n"
-#~ msgstr ""
-#~ "Utilizzo: lpoptions [-h server] [-E] -d stampante\n"
-#~ "       lpoptions [-h server] [-E] [-p stampante] -l\n"
-#~ "       lpoptions [-h server] [-E] -p stampante -o opzione[=valore] ...\n"
-#~ "       lpoptions [-h server] [-E] -x stampante\n"
-
-#~ msgid "Usage: lppasswd [-g groupname]\n"
-#~ msgstr "Utilizzo: lppasswd [-g nomegruppo]\n"
-
-#~ msgid ""
-#~ "Usage: lppasswd [-g groupname] [username]\n"
-#~ "       lppasswd [-g groupname] -a [username]\n"
-#~ "       lppasswd [-g groupname] -x [username]\n"
-#~ msgstr ""
-#~ "Utilizzo: lppasswd [-g nomegruppo] [nomeutente]\n"
-#~ "       lppasswd [-g nomegruppo] -a [nomeutente]\n"
-#~ "       lppasswd [-g nomegruppo] -x [nomeutente]\n"
-
-#~ msgid ""
-#~ "Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]\n"
-#~ msgstr ""
-#~ "Utilizzo: lpq [-P dest] [-U nomeutente] [-h nomehost[:porta]] [-l] "
-#~ "[+intervallo]\n"
-
-#~ msgid ""
-#~ "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]\n"
-#~ "Options:\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "  -I include-dir       Add include directory to search path.\n"
-#~ "  -c catalog.po        Load the specified message catalog.\n"
-#~ "  -d output-dir        Specify the output directory.\n"
-#~ "  -l lang[,lang,...]   Specify the output language(s) (locale).\n"
-#~ "  -m                   Use the ModelName value as the filename.\n"
-#~ "  -t                   Test PPDs instead of generating them.\n"
-#~ "  -v                   Be verbose (more v's for more verbosity).\n"
-#~ "  -z                   Compress PPD files using GNU zip.\n"
-#~ "  --cr                 End lines with CR (Mac OS 9).\n"
-#~ "  --crlf               End lines with CR + LF (Windows).\n"
-#~ "  --lf                 End lines with LF (UNIX/Linux/Mac OS X).\n"
-#~ msgstr ""
-#~ "Utilizzo: ppdc [opzioni] nomedocumento.drv [ ... nomedocumentoN.drv ]\n"
-#~ "Opzioni:\n"
-#~ "  -D name=value        Imposta la variabile specificata con il valore.\n"
-#~ "  -I include-dir       Aggiunge includi directory al percorso di "
-#~ "ricerca.\n"
-#~ "  -c catalog.po        Carica il catalogo messaggi specificato.\n"
-#~ "  -d output-dir        Specifica la directory di output.\n"
-#~ "  -l lingua[,lingua,...]   Specifica la lingua(e) di output (impostazioni "
-#~ "internazionali).\n"
-#~ "  -m                   Utilizza il valore ModelName come nome documento.\n"
-#~ "  -t                   Verifica PPD invece di generarli.\n"
-#~ "  -v                   Cerca di essere abbastanza dettagliato (più v per "
-#~ "ulteriori dettagli).\n"
-#~ "  -z                   Comprime i documenti PPD utilizzando GNU zip.\n"
-#~ "  --cr                 Termina le linee con CR (Mac OS 9).\n"
-#~ "  --crlf               Termina linee con CR + LF (Windows).\n"
-#~ "  --lf                 Termina linee con LF (UNIX/Linux/Mac OS X).\n"
-
-#~ msgid ""
-#~ "Usage: ppdhtml [options] filename.drv >filename.html\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "Options:\n"
-#~ "  -I include-dir    Add include directory to search path.\n"
-#~ msgstr ""
-#~ "Utilizzo: ppdhtml [opzioni] nomedocumento.drv >nomedocumento.html\n"
-#~ "  -D name=value        Imposta il nome specificato con il valore .\n"
-#~ "Opzioni:\n"
-#~ "  -I include-dir    Aggiunge includi directory al percorso di ricerca.\n"
-
-#~ msgid ""
-#~ "Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Options:\n"
-#~ "  -I include-dir\n"
-#~ "  -o filename.drv\n"
-#~ msgstr ""
-#~ "Utilizzo: ppdi [options] nomedocumento.ppd [ ... nomedocumentoN.ppd ]\n"
-#~ "Opzioni:\n"
-#~ "  -I include-dir\n"
-#~ "  -o nomedocumento.drv\n"
-
-#~ msgid ""
-#~ "Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Options:\n"
-#~ "  -o filename.ppd[.gz]\n"
-#~ msgstr ""
-#~ "Utilizzo: ppdmerge [opzioni] nomedocumento.ppd [ ... nomedocumentoN."
-#~ "ppd ]\n"
-#~ "Opzioni:\n"
-#~ "  -o nomedocumento.ppd[.gz]\n"
-
-#~ msgid ""
-#~ "Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]\n"
-#~ "Options:\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "  -I include-dir    Add include directory to search path.\n"
-#~ "  -v                Be verbose (more v's for more verbosity).\n"
-#~ msgstr ""
-#~ "Utilizzo: ppdpo [opzioni] -o nomedocumento.po nomedocumento.drv [ ... "
-#~ "nomedocumentoN.drv ]\n"
-#~ "Opzioni:\n"
-#~ "  -D name=value        Imposta la variabile specificata con il valore.\n"
-#~ "  -I include-dir    Aggiunge includi directory al percorso di ricerca.\n"
-#~ "  -v                Cerca di essere dettagliato (più v per ulteriori "
-#~ "dettagli).\n"
-
-#~ msgid "Usage: snmp [host-or-ip-address]\n"
-#~ msgstr "Utilizzo: snmp [host-or-ip-address]\n"
-
-#~ msgid "WARNING: Adding only the first %d printers found"
-#~ msgstr "WARNING: aggiungi solo le prime stampanti %d trovate"
-
-#~ msgid "WARNING: Boolean expected for waiteof option \"%s\"\n"
-#~ msgstr "WARNING: atteso booleano per l'opzione waiteof \"%s\"\n"
-
-#~ msgid "WARNING: Failed to read side-channel request!\n"
-#~ msgstr "WARNING: impossibile leggere richiesta canale laterale!\n"
-
-#~ msgid "WARNING: Option \"%s\" cannot be included via IncludeFeature!\n"
-#~ msgstr ""
-#~ "WARNING: impossibile includere l'opzione \"%s\" tramite IncludeFeature!\n"
-
-#~ msgid "WARNING: Printer not responding\n"
-#~ msgstr "WARNING: la stampante non risponde\n"
-
-#~ msgid "WARNING: Printer sent unexpected EOF\n"
-#~ msgstr "WARNING: la stampante ha inviato un EOF inatteso!\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with command status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: l'host remoto non ha risposto con byte stato comando dopo %d "
-#~ "secondi!\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with control status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: l'host remoto non ha risposto con byte stato controllo dopo %d "
-#~ "secondi!\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with data status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: l'host remoto non ha risposto con byte stato dati dopo %d "
-#~ "secondi!\n"
-
-#~ msgid "WARNING: SCSI command timed out (%d); retrying...\n"
-#~ msgstr "WARNING: comando SCSI scaduto (%d); riprovo...\n"
-
-#~ msgid ""
-#~ "WARNING: This document does not conform to the Adobe Document Structuring "
-#~ "Conventions and may not print correctly!\n"
-#~ msgstr ""
-#~ "WARNING: questo documento non è conforme alle convenzioni Adobe sulla "
-#~ "struttura dei documenti (Adobe Document Structuring Conventions) e "
-#~ "potrebbe non essere stampato correttamente!\n"
-
-#~ msgid "WARNING: Unable to open \"%s:%s\": %s\n"
-#~ msgstr "WARNING: impossibile aprire documento \"%s:%s\": %s\n"
-
-#~ msgid "WARNING: Unable to send PAP status request"
-#~ msgstr "WARNING: impossibile inviare richiesta PAP"
-
-#~ msgid "WARNING: Unexpected PAP packet of type %d\n"
-#~ msgstr "WARNING: pacchetto PAP inatteso di tipo %d\n"
-
-#~ msgid "WARNING: Unknown PAP packet of type %d\n"
-#~ msgstr "WARNING: pacchetto PAP sconosciuto di tipo %d\n"
-
-#~ msgid "WARNING: Unknown choice \"%s\" for option \"%s\"!\n"
-#~ msgstr "WARNING: scelta sconosciuta \"%s\" per opzione \"%s\"!\n"
-
-#~ msgid "WARNING: Unknown option \"%s\"!\n"
-#~ msgstr "WARNING: opzione sconosciuta \"%s\"!\n"
-
-#~ msgid "WARNING: Unsupported baud rate %s!\n"
-#~ msgstr "WARNING: tasso baud %s non supportato!\n"
-
-#~ msgid "WARNING: number expected for status option \"%s\"\n"
-#~ msgstr "WARNING: atteso numero per l'opzione status \"%s\"\n"
-
-#~ msgid ""
-#~ "WARNING: recoverable: Network host '%s' is busy; will retry in %d "
-#~ "seconds...\n"
-#~ msgstr ""
-#~ "WARNING: recuperabile: l'host del network '%s' è occupato; riprovo fra %d "
-#~ "secondi...\n"
-
-#~ msgid "Warning, no Windows 2000 printer drivers are installed!"
-#~ msgstr ""
-#~ "Attenzione: non è installato nessun driver di stampa per Windows 2000!"
-
-#~ msgid "You4 Envelope"
-#~ msgstr "Busta You4"
-
-#~ msgid "convert: Use the -f option to specify a file to convert.\n"
-#~ msgstr ""
-#~ "convert: utilizza l'opzione -f per specificare un documento da "
-#~ "convertire.\n"
-
-#~ msgid "cupsaddsmb: No PPD file for printer \"%s\" - %s\n"
-#~ msgstr "cupsaddsmb: nessun documento PPD per la stampante \"%s\" - %s\n"
-
-#~ msgid "cupsctl: Unable to connect to server: %s\n"
-#~ msgstr "cupsctl: impossibile connettersi al server: %s\n"
-
-#~ msgid "cupsctl: Unknown option \"%s\"!\n"
-#~ msgstr "cupsctl: opzione sconosciuta \"%s\"!\n"
-
-#~ msgid "cupsctl: Unknown option \"-%c\"!\n"
-#~ msgstr "cupsctl: opzione sconosciuta \"-%c\"!\n"
-
-#~ msgid "cupsd: Expected config filename after \"-c\" option!\n"
-#~ msgstr ""
-#~ "cupsd: atteso nome documento di configurazione dopo l'opzione \"-c\"!\n"
-
-#~ msgid "cupsd: Unable to get current directory!\n"
-#~ msgstr "cupsd: impossibile aprire la directory attuale!\n"
-
-#~ msgid "cupsd: Unknown argument \"%s\" - aborting!\n"
-#~ msgstr "cupsd: argomento sconosciuto \"%s\" - interruzione!\n"
-
-#~ msgid "cupsd: Unknown option \"%c\" - aborting!\n"
-#~ msgstr "cupsd: opzione sconosciuta \"%c\" - interrompo!\n"
-
-#~ msgid "cupsd: launchd(8) support not compiled in, running in normal mode.\n"
-#~ msgstr ""
-#~ "cupsd: supporto launchd(8) non compilato, eseguo in modalità normale.\n"
-
-#~ msgid "cupsfilter: Invalid document number %d!\n"
-#~ msgstr "cupsfilter: numero documento %d non valido!\n"
-
-#~ msgid "cupsfilter: Invalid job ID %d!\n"
-#~ msgstr "cupsfilter: ID stampa %d non valido!\n"
-
-#~ msgid "cupsfilter: Only one filename can be specified!\n"
-#~ msgstr "cupsfilter: è possibile specificare solo un nome documento!\n"
-
-#~ msgid "cupsfilter: Unable to create temporary file: %s\n"
-#~ msgstr "cupsfilter: impossibile creare il documento temporaneo: %s\n"
-
-#~ msgid "cupsfilter: Unable to get job file - %s\n"
-#~ msgstr "cupsfilter: impossibile aprire documento di stampa - %s\n"
-
-#~ msgid "cupstestppd: The -q option is incompatible with the -v option.\n"
-#~ msgstr "cupstestppd: l'opzione -q è incompatibile con l'opzione -v.\n"
-
-#~ msgid "cupstestppd: The -v option is incompatible with the -q option.\n"
-#~ msgstr "cupstestppd: l'opzione -v è incompatibile con l'opzione -q.\n"
-
-#~ msgid "device for %s/%s: %s\n"
-#~ msgstr "dispositivo per %s/%s: %s\n"
-
-#~ msgid "device for %s: %s\n"
-#~ msgstr "dispositivo per %s: %s\n"
-
-#~ msgid "help\t\tget help on commands\n"
-#~ msgstr "help\t\tottieni aiuto riguardo ai comandi\n"
-
-#~ msgid "job-printer-uri attribute missing!"
-#~ msgstr "attributo job-printer-uri mancante!"
-
-#~ msgid "lpadmin: Class name can only contain printable characters!\n"
-#~ msgstr ""
-#~ "lpadmin: il nome della classe può contenere solo caratteri stampabili!\n"
-
-#~ msgid "lpadmin: Expected PPD after '-P' option!\n"
-#~ msgstr "lpadmin: atteso PPD dopo l'opzione '-P'!\n"
-
-#~ msgid "lpadmin: Expected allow/deny:userlist after '-u' option!\n"
-#~ msgstr "lpadmin: atteso allow/deny:userlist dopo l'opzione '-u'!\n"
-
-#~ msgid "lpadmin: Expected class after '-r' option!\n"
-#~ msgstr "lpadmin: attesa classe dopo l'opzione '-r'!\n"
-
-#~ msgid "lpadmin: Expected class name after '-c' option!\n"
-#~ msgstr "lpadmin: atteso nome classe dopo l'opzione '-c'!\n"
-
-#~ msgid "lpadmin: Expected description after '-D' option!\n"
-#~ msgstr "lpadmin: attesa descrizione dopo l'opzione '-D'!\n"
-
-#~ msgid "lpadmin: Expected device URI after '-v' option!\n"
-#~ msgstr "lpadmin: atteso URI di dispositivo dopo l'opzione '-v'!\n"
-
-#~ msgid "lpadmin: Expected file type(s) after '-I' option!\n"
-#~ msgstr "lpadmin: attesi tipi di documento dopo l'opzione '-I'!\n"
-
-#~ msgid "lpadmin: Expected hostname after '-h' option!\n"
-#~ msgstr "lpadmin: atteso nome host dopo l'opzione '-h'!\n"
-
-#~ msgid "lpadmin: Expected interface after '-i' option!\n"
-#~ msgstr "lpadmin: attesa interfaccia dopo l'opzione '-i'!\n"
-
-#~ msgid "lpadmin: Expected location after '-L' option!\n"
-#~ msgstr "lpadmin: attesa posizione dopo l'opzione '-L'!\n"
-
-#~ msgid "lpadmin: Expected model after '-m' option!\n"
-#~ msgstr "lpadmin: atteso modello dopo l'opzione '-m'!\n"
-
-#~ msgid "lpadmin: Expected name=value after '-o' option!\n"
-#~ msgstr "lpadmin: atteso nome=valore dopo l'opzione '-o'!\n"
-
-#~ msgid "lpadmin: Expected printer after '-p' option!\n"
-#~ msgstr "lpadmin: attesa stampante dopo l'opzione '-p'!\n"
-
-#~ msgid "lpadmin: Expected printer name after '-d' option!\n"
-#~ msgstr "lpadmin: atteso nome stampante dopo l'opzione '-d'!\n"
-
-#~ msgid "lpadmin: Expected printer or class after '-x' option!\n"
-#~ msgstr "lpadmin: attesa stampante o classe dopo l'opzione '-x'!\n"
-
-#~ msgid "lpadmin: No member names were seen!\n"
-#~ msgstr "lpadmin: nessun nome utente trovato!\n"
-
-#~ msgid "lpadmin: Printer %s is already a member of class %s.\n"
-#~ msgstr "lpadmin: la stampante %s è già un membro della classe %s.\n"
-
-#~ msgid "lpadmin: Printer %s is not a member of class %s.\n"
-#~ msgstr "lpadmin: la stampante %s non è un membro della classe %s.\n"
-
-#~ msgid "lpadmin: Printer name can only contain printable characters!\n"
-#~ msgstr ""
-#~ "lpadmin: il nome della stampante può contenere solo caratteri "
-#~ "stampabili!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to add a printer to the class:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: impossibile aggiungere una stampante alla classe:\n"
-#~ "         Devi specificare prima il nome di una stampante!\n"
-
-#~ msgid "lpadmin: Unable to connect to server: %s\n"
-#~ msgstr "lpadmin: impossibile connettersi al server: %s\n"
-
-#~ msgid "lpadmin: Unable to create temporary file - %s\n"
-#~ msgstr "lpadmin: impossibile creare il documento temporaneo - %s\n"
-
-#~ msgid "lpadmin: Unable to create temporary file: %s\n"
-#~ msgstr "lpadmin: impossibile creare il documento temporaneo: %s\n"
-
-#~ msgid "lpadmin: Unable to open PPD file \"%s\" - %s\n"
-#~ msgstr "lpadmin: impossibile aprire documento PPD \"%s\" - %s\n"
-
-#~ msgid "lpadmin: Unable to open file \"%s\": %s\n"
-#~ msgstr "lpadmin: impossibile aprire documento \"%s\": %s\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to remove a printer from the class:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: impossibile rimuovere una stampante dalla classe:\n"
-#~ "         Devi specificare prima il nome di una stampante!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the PPD file:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: impossibile impostare il documento PPD:\n"
-#~ "         Devi specificare prima il nome di una stampante!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the device URI:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: impossibile impostare URI dispositivo:\n"
-#~ "         Devi specificare prima il nome di una stampante!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the interface script or PPD file:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: impossibile impostare lo script di interfaccia o il documento "
-#~ "PPD:\n"
-#~ "         Devi specificare prima il nome di una stampante!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the interface script:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: impossibile impostare lo script di interfaccia:\n"
-#~ "         Devi specificare prima il nome di una stampante!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer description:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: impossibile impostare la descrizione della stampante:\n"
-#~ "         Devi specificare prima il nome di una stampante!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer location:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: impossibile impostare la posizione della stampante:\n"
-#~ "         Devi specificare prima il nome di una stampante!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer options:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: impossibile impostare le opzioni della stampante:\n"
-#~ "         Devi specificare prima il nome di una stampante!\n"
-
-#~ msgid "lpadmin: Unknown allow/deny option \"%s\"!\n"
-#~ msgstr "lpadmin: opzione consenti/non consentire \"%s\" sconosciuta!\n"
-
-#~ msgid "lpadmin: Unknown argument '%s'!\n"
-#~ msgstr "lpadmin: argomento '%s' sconosciuto!\n"
-
-#~ msgid "lpadmin: Unknown option '%c'!\n"
-#~ msgstr "lpadmin: opzione '%c' sconosciuta!\n"
-
-#~ msgid "lpadmin: Warning - content type list ignored!\n"
-#~ msgstr "lpadmin: attenzione, elenco dei tipi di contenuto ignorato!\n"
-
-#~ msgid "lpinfo: Expected 1284 device ID string after --device-id!\n"
-#~ msgstr "lpinfo: attesa stringa ID dispositivo 1284 dopo --device-id!\n"
-
-#~ msgid "lpinfo: Expected language after --language!\n"
-#~ msgstr "lpinfo: attesa lingua dopo --language!\n"
-
-#~ msgid "lpinfo: Expected make and model after --make-and-model!\n"
-#~ msgstr "lpinfo: attesi marca e modello dopo --make-and-model!\n"
-
-#~ msgid "lpinfo: Expected product string after --product!\n"
-#~ msgstr "lpinfo: attesa stringa prodotto dopo --product!\n"
-
-#~ msgid "lpinfo: Expected scheme list after --exclude-schemes!\n"
-#~ msgstr "lpinfo: atteso elenco schema dopo --exclude-schemes!\n"
-
-#~ msgid "lpinfo: Expected scheme list after --include-schemes!\n"
-#~ msgstr "lpinfo: atteso elenco schema dopo --include-schemes!\n"
-
-#~ msgid "lpinfo: Expected timeout after --timeout!\n"
-#~ msgstr "lpinfo: atteso timeout dopo --timeout!\n"
-
-#~ msgid "lpinfo: Unknown argument '%s'!\n"
-#~ msgstr "lpinfo: argomento '%s' sconosciuto!\n"
-
-#~ msgid "lpinfo: Unknown option '%c'!\n"
-#~ msgstr "lpinfo: opzione '%c' sconosciuta!\n"
-
-#~ msgid "lpinfo: Unknown option '%s'!\n"
-#~ msgstr "lpinfo: opzione '%s' sconosciuta!\n"
-
-#~ msgid "lpmove: Unable to connect to server: %s\n"
-#~ msgstr "lpmove: impossibile connettersi al server: %s\n"
-
-#~ msgid "lpmove: Unknown argument '%s'!\n"
-#~ msgstr "lpmove: argomento '%s' sconosciuto!\n"
-
-#~ msgid "lpmove: Unknown option '%c'!\n"
-#~ msgstr "lpmove: opzione '%c' sconosciuta!\n"
-
-#~ msgid "lpoptions: No printers!?!\n"
-#~ msgstr "lpoptions: nessuna stampante!?!\n"
-
-#~ msgid "lpoptions: Unable to add printer or instance: %s\n"
-#~ msgstr "lpoptions: impossibile aggiungere una stampante o un'istanza: %s\n"
-
-#~ msgid "lpoptions: Unable to get PPD file for %s: %s\n"
-#~ msgstr "lpoptions: impossibile aprire il file PPD per %s: %s\n"
-
-#~ msgid "lpoptions: Unable to open PPD file for %s!\n"
-#~ msgstr "lpoptions: impossibile aprire il documento PPD per %s!\n"
-
-#~ msgid "lpoptions: Unknown printer or class!\n"
-#~ msgstr "lpoptions: stampante o classe sconosciuta!\n"
-
-#~ msgid "lppasswd: Only root can add or delete passwords!\n"
-#~ msgstr "lppasswd: solo root può aggiungere o eliminare le password!\n"
-
-#~ msgid "lppasswd: Password file busy!\n"
-#~ msgstr "lppasswd: il documento delle password è occupato!\n"
-
-#~ msgid "lppasswd: Password file not updated!\n"
-#~ msgstr "lppasswd: documento delle password non aggiornato!\n"
-
-#~ msgid "lppasswd: Sorry, password doesn't match!\n"
-#~ msgstr "lppasswd: spiacente, la password non corrisponde!\n"
-
-#~ msgid ""
-#~ "lppasswd: Sorry, password rejected.\n"
-#~ "Your password must be at least 6 characters long, cannot contain\n"
-#~ "your username, and must contain at least one letter and number.\n"
-#~ msgstr ""
-#~ "lppasswd: spiacente, password rifiutata.\n"
-#~ "La password deve essere di almeno 6 caratteri, non può contenere\n"
-#~ "il nome utente e deve contenere almeno una lettera e un numero.\n"
-
-#~ msgid "lppasswd: Sorry, passwords don't match!\n"
-#~ msgstr "lppasswd: spiacente, le password non corrispondono!\n"
-
-#~ msgid "lppasswd: Unable to copy password string: %s\n"
-#~ msgstr "lppasswd: impossibile copiare la stringa della password: %s\n"
-
-#~ msgid "lppasswd: Unable to open password file: %s\n"
-#~ msgstr "lppasswd: impossibile aprire il documento delle password: %s\n"
-
-#~ msgid "lppasswd: Unable to write to password file: %s\n"
-#~ msgstr "lppasswd: impossibile scrivere il documento delle password: %s\n"
-
-#~ msgid "lppasswd: failed to backup old password file: %s\n"
-#~ msgstr ""
-#~ "lppasswd: copia di sicurezza del vecchio documento delle password "
-#~ "fallita: %s\n"
-
-#~ msgid "lppasswd: failed to rename password file: %s\n"
-#~ msgstr "lppasswd: rinomina del documento delle password fallita: %s\n"
-
-#~ msgid "lppasswd: user \"%s\" and group \"%s\" do not exist.\n"
-#~ msgstr "lppasswd: l'utente \"%s\" e il gruppo \"%s\" non esistono.\n"
-
-#~ msgid ""
-#~ "lpstat: error - %s environment variable names non-existent destination \"%"
-#~ "s\"!\n"
-#~ msgstr ""
-#~ "lpstat: errore: i nomi della variabile d'ambiente %s non esistono nella "
-#~ "destinazione \"%s\"!\n"
-
-#~ msgid "members of class %s:\n"
-#~ msgstr "membri della classe %s:\n"
-
-#~ msgid "no entries\n"
-#~ msgstr "nessuna voce\n"
-
-#~ msgid "no system default destination\n"
-#~ msgstr "nessuna destinazione predefinita di sistema\n"
-
-#~ msgid "notify-events not specified!"
-#~ msgstr "notify-events non specificato!"
-
-#~ msgid "notify-recipient-uri URI \"%s\" is already used!"
-#~ msgstr "notify-recipient-uri URI \"%s\" è già utilizzato!"
-
-#~ msgid "notify-recipient-uri URI \"%s\" uses unknown scheme!"
-#~ msgstr "notify-recipient-uri URI \"%s\" utilizza uno schema sconosciuto!"
-
-#~ msgid "notify-subscription-id %d no good!"
-#~ msgstr "notify-subscription-id %d non corretto!"
-
-#~ msgid "ppdc: Adding include directory \"%s\"...\n"
-#~ msgstr "ppdc: aggiungi includi directory \"%s\"...\n"
-
-#~ msgid "ppdc: Adding/updating UI text from %s...\n"
-#~ msgstr "ppdc: aggiungi/aggiorna testo UI da %s...\n"
-
-#~ msgid "ppdc: Bad boolean value (%s) on line %d of %s.\n"
-#~ msgstr "ppdc: valore booleano errato (%s) alla riga %d di %s.\n"
-
-#~ msgid "ppdc: Bad resolution name \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: nome risoluzione errato (%s) alla riga %d di %s.\n"
-
-#~ msgid "ppdc: Bad status keyword %s on line %d of %s!\n"
-#~ msgstr "ppdc: chiave stato errata (%s) alla riga %d di %s.\n"
-
-#~ msgid "ppdc: Bad variable substitution ($%c) on line %d of %s.\n"
-#~ msgstr "ppdc: sostituzione variabile errata ($%c) alla riga %d di %s.\n"
-
-#~ msgid "ppdc: Choice found on line %d of %s with no Option!\n"
-#~ msgstr "ppdc: scelta trovata alla riga %d di %s senza opzione!\n"
-
-#~ msgid "ppdc: Duplicate #po for locale %s on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: duplica #po per impostazioni internazionali %s alla riga %d di %s!\n"
-
-#~ msgid "ppdc: Expected a filter definition on line %d of %s!\n"
-#~ msgstr "ppdc: attesa una definizione filtro alla riga %d di %s!\n"
-
-#~ msgid "ppdc: Expected a program name on line %d of %s!\n"
-#~ msgstr "ppdc: atteso un nome applicazione alla riga %d di %s!\n"
-
-#~ msgid "ppdc: Expected boolean value on line %d of %s.\n"
-#~ msgstr "ppdc: atteso un valore booleano alla riga %d di %s.\n"
-
-#~ msgid "ppdc: Expected charset after Font on line %d of %s!\n"
-#~ msgstr "ppdc: atteso un set di caratteri dopo Font alla riga %d di %s!\n"
-
-#~ msgid "ppdc: Expected choice code on line %d of %s.\n"
-#~ msgstr "ppdc: atteso codice scelta alla riga %d di %s.\n"
-
-#~ msgid "ppdc: Expected choice name/text on line %d of %s.\n"
-#~ msgstr "ppdc: attesa scelta nome/testo alla riga %d di %s.\n"
-
-#~ msgid "ppdc: Expected color order for ColorModel on line %d of %s!\n"
-#~ msgstr "ppdc: atteso ordine colore per ColorModel alla riga %d di %s!\n"
-
-#~ msgid "ppdc: Expected colorspace for ColorModel on line %d of %s!\n"
-#~ msgstr "ppdc: atteso spazio colore per ColorModel alla riga %d di %s!\n"
-
-#~ msgid "ppdc: Expected compression for ColorModel on line %d of %s!\n"
-#~ msgstr "ppdc: attesa compressione per ColorModel alla riga %d di %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected constraints string for UIConstraints on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: attesa stringa limitazioni per UIConstraints alla riga %d di %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected driver type keyword following DriverType on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc: attesa parola chiave tipo driver dopo DriverType alla riga %d di %"
-#~ "s!\n"
-
-#~ msgid "ppdc: Expected duplex type after Duplex on line %d of %s!\n"
-#~ msgstr "ppdc: atteso tipo duplex dopo Duplex alla riga %d di %s!\n"
-
-#~ msgid "ppdc: Expected encoding after Font on line %d of %s!\n"
-#~ msgstr "ppdc: attesa codifica dopo Font alla riga %d di %s!\n"
-
-#~ msgid "ppdc: Expected filename after #po %s on line %d of %s!\n"
-#~ msgstr "ppdc: atteso nome documento dopo #po %s alla riga %d di %s!\n"
-
-#~ msgid "ppdc: Expected group name/text on line %d of %s!\n"
-#~ msgstr "ppdc: atteso nome/testo gruppo alla riga %d di %s.\n"
-
-#~ msgid "ppdc: Expected include filename on line %d of %s!\n"
-#~ msgstr "ppdc: atteso nome documento alla riga %d di %s!\n"
-
-#~ msgid "ppdc: Expected integer on line %d of %s!\n"
-#~ msgstr "ppdc: atteso intero alla riga %d di %s!\n"
-
-#~ msgid "ppdc: Expected locale after #po on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: attese impostazioni internazionali dopo #po alla riga %d di %s!\n"
-
-#~ msgid "ppdc: Expected name after %s on line %d of %s!\n"
-#~ msgstr "ppdc: atteso nome dopo %s alla riga %d di %s!\n"
-
-#~ msgid "ppdc: Expected name after FileName on line %d of %s!\n"
-#~ msgstr "ppdc: atteso nome dopo FileName alla riga %d di %s!\n"
-
-#~ msgid "ppdc: Expected name after Font on line %d of %s!\n"
-#~ msgstr "ppdc: atteso nome dopo Font alla riga %d di %s!\n"
-
-#~ msgid "ppdc: Expected name after Manufacturer on line %d of %s!\n"
-#~ msgstr "ppdc: atteso nome dopo Produttore alla riga %d di %s!\n"
-
-#~ msgid "ppdc: Expected name after MediaSize on line %d of %s!\n"
-#~ msgstr "ppdc: atteso nome dopo MediaSize alla riga %d di %s.\n"
-
-#~ msgid "ppdc: Expected name after ModelName on line %d of %s!\n"
-#~ msgstr "ppdc: atteso nome dopo ModelName alla riga %d di %s!\n"
-
-#~ msgid "ppdc: Expected name after PCFileName on line %d of %s!\n"
-#~ msgstr "ppdc: atteso nome dopo PCFileName alla riga %d di %s!\n"
-
-#~ msgid "ppdc: Expected name/text after %s on line %d of %s!\n"
-#~ msgstr "ppdc: atteso nome/testo dopo %s alla riga %d di %s!\n"
-
-#~ msgid "ppdc: Expected name/text after Installable on line %d of %s!\n"
-#~ msgstr "ppdc: atteso nome/testo dopo Installabile alla riga %d di %s!\n"
-
-#~ msgid "ppdc: Expected name/text after Resolution on line %d of %s!\n"
-#~ msgstr "ppdc: atteso nome/testo dopo Risoluzione alla riga %d di %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected name/text combination for ColorModel on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: attesa combinazione nome/testo per ColorModel alla riga %d di %s!\n"
-
-#~ msgid "ppdc: Expected option name/text on line %d of %s!\n"
-#~ msgstr "ppdc: attesa opzione nome/testo alla riga %d di %s.\n"
-
-#~ msgid "ppdc: Expected option section on line %d of %s!\n"
-#~ msgstr "ppdc: attesa sezione opzione alla riga %d di %s!\n"
-
-#~ msgid "ppdc: Expected option type on line %d of %s!\n"
-#~ msgstr "ppdc: atteso tipo opzione alla riga %d di %s!\n"
-
-#~ msgid "ppdc: Expected override field after Resolution on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: atteso campo sostituzione dopo Risoluzione alla riga %d di %s!\n"
-
-#~ msgid "ppdc: Expected real number on line %d of %s!\n"
-#~ msgstr "ppdc: atteso numero reale alla riga %d di %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected resolution/mediatype following ColorProfile on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc: atteso risoluzione/mediatype dopo ColorProfile alla riga %d of %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected resolution/mediatype following SimpleColorProfile on line %"
-#~ "d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: atteso risoluzione/mediatype dopo SimpleColorProfile alla riga %d "
-#~ "of %s!\n"
-
-#~ msgid "ppdc: Expected selector after %s on line %d of %s!\n"
-#~ msgstr "ppdc: atteso selettore dopo %s alla riga %d di %s!\n"
-
-#~ msgid "ppdc: Expected status after Font on line %d of %s!\n"
-#~ msgstr "ppdc: atteso stato dopo Font alla riga %d di %s!\n"
-
-#~ msgid "ppdc: Expected string after Copyright on line %d of %s!\n"
-#~ msgstr "ppdc: attesa stringa dopo Copyright alla riga %d di %s!\n"
-
-#~ msgid "ppdc: Expected string after Version on line %d of %s!\n"
-#~ msgstr "ppdc: attesa stringa dopo Versione alla riga %d di %s!\n"
-
-#~ msgid "ppdc: Expected two option names on line %d of %s!\n"
-#~ msgstr "ppdc: attesi due nomi opzione alla riga %d di %s!\n"
-
-#~ msgid "ppdc: Expected value after %s on line %d of %s!\n"
-#~ msgstr "ppdc: atteso valore dopo %s alla riga %d di %s!\n"
-
-#~ msgid "ppdc: Expected version after Font on line %d of %s!\n"
-#~ msgstr "ppdc: attesa versione dopo Font alla riga %d di %s!\n"
-
-#~ msgid "ppdc: Invalid #include/#po filename \"%s\"!\n"
-#~ msgstr "ppdc: nome documento #include/#po \"%s\" non valido!\n"
-
-#~ msgid "ppdc: Invalid cost for filter on line %d of %s!\n"
-#~ msgstr "ppdc: costo non valido per filtro alla riga %d di %s!\n"
-
-#~ msgid "ppdc: Invalid empty MIME type for filter on line %d of %s!\n"
-#~ msgstr "ppdc: tipo MIME vuoto non valido per filtro alla riga %d di %s!\n"
-
-#~ msgid "ppdc: Invalid empty program name for filter on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: nome programma vuoto non valido per filtro alla riga %d di %s!\n"
-
-#~ msgid "ppdc: Invalid option section \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: sezione opzione \"%s\" non valida alla riga %d di %s!\n"
-
-#~ msgid "ppdc: Invalid option type \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: tipo opzione \"%s\" non valida alla riga %d di %s!\n"
-
-#~ msgid "ppdc: Loading driver information file \"%s\"...\n"
-#~ msgstr "ppdc: carico documento informazioni del driver \"%s\"...\n"
-
-#~ msgid "ppdc: Loading messages for locale \"%s\"...\n"
-#~ msgstr "ppdc: carico messaggi per impostazioni internazionali \"%s\"...\n"
-
-#~ msgid "ppdc: Loading messages from \"%s\"...\n"
-#~ msgstr "ppdc: carico messaggi da \"%s\"...\n"
-
-#~ msgid "ppdc: Missing #endif at end of \"%s\"!\n"
-#~ msgstr "ppdc: #endif mancante alla fine di \"%s\"!\n"
-
-#~ msgid "ppdc: Missing #if on line %d of %s!\n"
-#~ msgstr "ppdc: #if mancante alla riga %d di %s!\n"
-
-#~ msgid "ppdc: No message catalog provided for locale %s!\n"
-#~ msgstr ""
-#~ "ppdc: nessun catalogo messaggi fornito per impostazioni internazionali %"
-#~ "s!\n"
-
-#~ msgid "ppdc: Option %s defined in two different groups on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: L'opzione %s è definita in due gruppi differenti alla riga %d di %"
-#~ "s.\n"
-
-#~ msgid "ppdc: Option %s redefined with a different type on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: opzione %s ridefinita con un tipo diverso alla riga %d di %s!\n"
-
-#~ msgid "ppdc: Option constraint must *name on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: l'opzione limitazione deve essere *indicata alla riga %d of %s!\n"
-
-#~ msgid "ppdc: Too many nested #if's on line %d of %s!\n"
-#~ msgstr "ppdc: troppi #if' nidificati alla riga %d di %s!\n"
-
-#~ msgid "ppdc: Unable to create PPD file \"%s\" - %s.\n"
-#~ msgstr "ppdc: impossibile creare il documento PPD \"%s\" - %s.\n"
-
-#~ msgid "ppdc: Unable to create output directory %s: %s\n"
-#~ msgstr "ppdc: impossibile creare la directory di output %s: %s\n"
-
-#~ msgid "ppdc: Unable to create output pipes: %s\n"
-#~ msgstr "ppdc: impossibile creare pipe di output: %s\n"
-
-#~ msgid "ppdc: Unable to execute cupstestppd: %s\n"
-#~ msgstr "ppdc: impossibile eseguire cupstestppd: %s\n"
-
-#~ msgid "ppdc: Unable to find #po file %s on line %d of %s!\n"
-#~ msgstr "ppdc: impossibile trovare il documento #po %s alla riga %d di %s!\n"
-
-#~ msgid "ppdc: Unable to find include file \"%s\" on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: impossibile trovare includi documento \"%s\" alla riga %d di %s!\n"
-
-#~ msgid "ppdc: Unable to find localization for \"%s\" - %s\n"
-#~ msgstr "ppdc: impossibile trovare localizzazione per \"%s\" - %s\n"
-
-#~ msgid "ppdc: Unable to load localization file \"%s\" - %s\n"
-#~ msgstr ""
-#~ "ppdc: impossibile caricare documento di localizzazione per \"%s\" - %s\n"
-
-#~ msgid "ppdc: Undefined variable (%s) on line %d of %s.\n"
-#~ msgstr "ppdc: variabile non definita (%s) alla riga %d di %s.\n"
-
-#~ msgid "ppdc: Unknown driver type %s on line %d of %s!\n"
-#~ msgstr "ppdc: tipo driver %s sconosciuto alla riga %d di %s!\n"
-
-#~ msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: tipo duplex \"%s\" sconosciuto alla riga %d di %s!\n"
-
-#~ msgid "ppdc: Unknown media size \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: tipo media \"%s\" sconosciuto alla riga %d di %s!\n"
-
-#~ msgid "ppdc: Unknown token \"%s\" seen on line %d of %s!\n"
-#~ msgstr "ppdc: token \"%s\" sconosciuto visto alla riga %d di %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Unknown trailing characters in real number \"%s\" on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc: caratteri trailing sconosciuti nel numero reale \"%s\" alla riga %d "
-#~ "di %s!\n"
-
-#~ msgid "ppdc: Unterminated string starting with %c on line %d of %s!\n"
-#~ msgstr "ppdc: stringa non terminata che inizia con %c alla riga %d di %s!\n"
-
-#~ msgid "ppdc: Writing %s...\n"
-#~ msgstr "ppdc: scrivo %s...\n"
-
-#~ msgid "ppdc: Writing PPD files to directory \"%s\"...\n"
-#~ msgstr "ppdc: scrivo documenti PPD nella directory \"%s\"...\n"
-
-#~ msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s!\n"
-#~ msgstr "ppdmerge: LanguageVersion \"%s\" errato in %s!\n"
-
-#~ msgid "ppdmerge: Ignoring PPD file %s...\n"
-#~ msgstr "ppdmerge: ignoro documento %s PPD...\n"
-
-#~ msgid "ppdmerge: Unable to backup %s to %s- %s\n"
-#~ msgstr "ppdmerge: impossibile eseguire copia di backup di %s su %s- %s\n"
-
-#~ msgid "printer %s disabled since %s -\n"
-#~ msgstr "la stampante %s è disabilitata da %s -\n"
-
-#~ msgid "printer %s is idle.  enabled since %s\n"
-#~ msgstr "la stampante %s è in attesa.  Abilitata da %s\n"
-
-#~ msgid "printer %s now printing %s-%d.  enabled since %s\n"
-#~ msgstr "la stampante %s sta stampando %s-%d.  Abilitata da %s\n"
-
-#~ msgid "printer %s/%s disabled since %s -\n"
-#~ msgstr "la stampante %s/%s è disabilitata da %s -\n"
-
-#~ msgid "printer %s/%s is idle.  enabled since %s\n"
-#~ msgstr "la stampante %s/%s è in attesa.  Abilitata da %s\n"
-
-#~ msgid "printer %s/%s now printing %s-%d.  enabled since %s\n"
-#~ msgstr "la stampante %s/%s sta stampando %s-%d.  Abilitata da %s\n"
-
-#~ msgid "request id is %s-%d (%d file(s))\n"
-#~ msgstr "l'id richiesto è %s-%d (%d file)\n"
-
-#~ msgid "scheduler is not running\n"
-#~ msgstr "la stampa programmata non è in esecuzione\n"
-
-#~ msgid "scheduler is running\n"
-#~ msgstr "la stampa programmata è in esecuzione\n"
-
-#~ msgid "status\t\tshow status of daemon and queue\n"
-#~ msgstr "stato\t\tmostra lo stato del demone e della coda\n"
-
-#~ msgid "system default destination: %s\n"
-#~ msgstr "destinazione predefinita di sistema: %s\n"
-
-#~ msgid "system default destination: %s/%s\n"
-#~ msgstr "destinazione predefinita di sistema: %s/%s\n"
index d130ba5..9f6cef4 100644 (file)
@@ -3,7 +3,7 @@
 #
 #   Message catalog template for CUPS.
 #
-#   Copyright 2007-2011 by Apple Inc.
+#   Copyright 2007-2012 by Apple Inc.
 #   Copyright 2005-2007 by Easy Software Products.
 #
 #   These coded instructions, statements, and computer programs are the
@@ -15,9 +15,6 @@
 #
 # Notes for Translators:
 #
-# The following prefixes MUST NOT be translated: "ALERT:", "CRIT:", "INFO:",
-# "NOTICE:", and "WARNING:".
-#
 # The "checkpo" program located in the "locale" source directory can be used
 # to verify that your translations do not introduce formatting errors or other
 # problems.  Run with:
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: CUPS 1.4\n"
+"Project-Id-Version: CUPS 1.6\n"
 "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2012-03-07 13:38-0800\n"
-"PO-Revision-Date: 2009-02-20 16:43+0900\n"
+"POT-Creation-Date: 2013-07-08 07:38-0400\n"
+"PO-Revision-Date: 2012-06-13 01:20+0900\n"
 "Last-Translator: OPFC TRANSCUPS <opfc-transcups@sourceforge.jp>\n"
 "Language-Team: OPFC TRANSCUPS <opfc-transcups@sourceforge.jp>\n"
+"Language: ja\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Language: \n"
 
 msgid "\t\t(all)"
-msgstr ""
+msgstr "\t\t(すべて)"
 
 msgid "\t\t(none)"
-msgstr ""
+msgstr "\t\t(なし)"
 
 #, c-format
 msgid "\t%d entries"
-msgstr ""
+msgstr "\t%d エントリー"
 
 #, c-format
 msgid "\t%s"
-msgstr ""
+msgstr "\t%s"
 
 msgid "\tAfter fault: continue"
-msgstr ""
+msgstr "\t失敗後: 継続"
 
 #, c-format
 msgid "\tAlerts: %s"
-msgstr ""
+msgstr "\t警告: %s"
 
 msgid "\tBanner required"
-msgstr ""
+msgstr "\tバナーが必要"
 
 msgid "\tCharset sets:"
-msgstr ""
+msgstr "\t文字セット:"
 
 msgid "\tConnection: direct"
-msgstr ""
+msgstr "\t接続: 直結"
 
 msgid "\tConnection: remote"
-msgstr ""
+msgstr "\t接続: リモート"
 
 msgid "\tContent types: any"
-msgstr ""
+msgstr "\tコンテンツの種類: すべて"
 
 msgid "\tDefault page size:"
-msgstr ""
+msgstr "\tデフォルト用紙サイズ:"
 
 msgid "\tDefault pitch:"
-msgstr ""
+msgstr "\tデフォルトピッチ:"
 
 msgid "\tDefault port settings:"
-msgstr ""
+msgstr "\tデフォルトポート設定:"
 
 #, c-format
 msgid "\tDescription: %s"
-msgstr ""
+msgstr "\t説明: %s"
 
 msgid "\tForm mounted:"
-msgstr ""
+msgstr "\t設定されたフォーム:"
 
 msgid "\tForms allowed:"
-msgstr ""
+msgstr "\t許可されているフォーム:"
 
 #, c-format
 msgid "\tInterface: %s.ppd"
-msgstr ""
+msgstr "\tインターフェイス: %s.ppd"
 
 #, c-format
 msgid "\tInterface: %s/interfaces/%s"
-msgstr ""
+msgstr "\tインターフェイス: %s/interfaces/%s"
 
 #, c-format
 msgid "\tInterface: %s/ppd/%s.ppd"
-msgstr ""
+msgstr "\tインターフェイス: %s/ppd/%s.ppd"
 
 #, c-format
 msgid "\tLocation: %s"
-msgstr ""
+msgstr "\t場所: %s"
 
 msgid "\tOn fault: no alert"
-msgstr ""
+msgstr "\t失敗時: 警告なし"
 
 msgid "\tPrinter types: unknown"
-msgstr ""
+msgstr "\tプリンターの種類: 不明"
 
 #, c-format
 msgid "\tStatus: %s"
-msgstr ""
+msgstr "\tステータス: %s"
 
 msgid "\tUsers allowed:"
-msgstr ""
+msgstr "\t許可されているユーザー:"
 
 msgid "\tUsers denied:"
-msgstr ""
+msgstr "\t禁止されているユーザー:"
 
 msgid "\tdaemon present"
-msgstr ""
+msgstr "\tデーモンは提供されています"
 
 msgid "\tno entries"
-msgstr ""
+msgstr "\tエントリーがありません"
 
 #, c-format
 msgid "\tprinter is on device '%s' speed -1"
-msgstr ""
+msgstr "\tデバイス '%s' 上のプリンター 速度 -1"
 
 msgid "\tprinting is disabled"
-msgstr ""
+msgstr "\t印刷は無効です"
 
 msgid "\tprinting is enabled"
-msgstr ""
+msgstr "\t印刷は有効です"
 
 #, c-format
 msgid "\tqueued for %s"
-msgstr ""
+msgstr "\t%s にキューしました"
 
 msgid "\tqueuing is disabled"
-msgstr ""
+msgstr "\tキューは無効です"
 
 msgid "\tqueuing is enabled"
-msgstr ""
+msgstr "\tキューは有効です"
 
 msgid "\treason unknown"
-msgstr ""
+msgstr "\t未知の理由"
 
 msgid ""
 "\n"
 "    DETAILED CONFORMANCE TEST RESULTS"
 msgstr ""
+"\n"
+"    適合テスト結果詳細"
 
 msgid "                          Ignore specific warnings."
-msgstr ""
+msgstr "                          指定された警告を無視する。"
 
 msgid "                          Issue warnings instead of errors."
-msgstr ""
+msgstr "                          エラーを警告として扱う。"
 
 msgid "                REF: Page 15, section 3.1."
-msgstr ""
+msgstr "                参照: 15 ページ、セクション 3.1。"
 
 msgid "                REF: Page 15, section 3.2."
-msgstr ""
+msgstr "                参照: 15 ページ、セクション 3.2。"
 
 msgid "                REF: Page 19, section 3.3."
-msgstr ""
+msgstr "                参照: 19 ページ、セクション 3.3。"
 
 msgid "                REF: Page 20, section 3.4."
-msgstr ""
+msgstr "                参照: 20 ページ、セクション 3.4。"
 
 msgid "                REF: Page 27, section 3.5."
-msgstr ""
+msgstr "                参照: 27 ページ、セクション 3.5。"
 
 msgid "                REF: Page 42, section 5.2."
-msgstr ""
+msgstr "                参照: 42 ページ、セクション 5.2。"
 
 msgid "                REF: Pages 16-17, section 3.2."
-msgstr ""
+msgstr "                参照: 16-17 ページ、セクション 3.2。"
 
 msgid "                REF: Pages 42-45, section 5.2."
-msgstr ""
+msgstr "                参照: 42-45 ページ、セクション 5.2。"
 
 msgid "                REF: Pages 45-46, section 5.2."
-msgstr ""
+msgstr "                参照: 45-46 ページ、セクション 5.2。"
 
 msgid "                REF: Pages 48-49, section 5.2."
-msgstr ""
+msgstr "                参照: 48-49 ページ、セクション 5.2。"
 
 msgid "                REF: Pages 52-54, section 5.2."
-msgstr ""
+msgstr "                参照: 52-54 ページ、セクション 5.2。"
 
 #, c-format
 msgid "        %-39.39s %.0f bytes"
-msgstr ""
+msgstr "        %-39.39s %.0f バイト"
 
 #, c-format
 msgid "        PASS    Default%s"
-msgstr ""
+msgstr "        合格    Default%s"
 
 msgid "        PASS    DefaultImageableArea"
-msgstr ""
+msgstr "        合格    DefaultImageableArea"
 
 msgid "        PASS    DefaultPaperDimension"
-msgstr ""
+msgstr "        合格    DefaultPaperDimension"
 
 msgid "        PASS    FileVersion"
-msgstr ""
+msgstr "        合格    FileVersion"
 
 msgid "        PASS    FormatVersion"
-msgstr ""
+msgstr "        合格    FormatVersion"
 
 msgid "        PASS    LanguageEncoding"
-msgstr ""
+msgstr "        合格    LanguageEncoding"
 
 msgid "        PASS    LanguageVersion"
-msgstr ""
+msgstr "        合格    LanguageVersion"
 
 msgid "        PASS    Manufacturer"
-msgstr ""
+msgstr "        合格    Manufacturer"
 
 msgid "        PASS    ModelName"
-msgstr ""
+msgstr "        合格    ModelName"
 
 msgid "        PASS    NickName"
-msgstr ""
+msgstr "        合格    NickName"
 
 msgid "        PASS    PCFileName"
-msgstr ""
+msgstr "        合格    PCFileName"
 
 msgid "        PASS    PSVersion"
-msgstr ""
+msgstr "        合格    PSVersion"
 
 msgid "        PASS    PageRegion"
-msgstr ""
+msgstr "        合格    PageRegion"
 
 msgid "        PASS    PageSize"
-msgstr ""
+msgstr "        合格    PageSize"
 
 msgid "        PASS    Product"
-msgstr ""
+msgstr "        合格    Product"
 
 msgid "        PASS    ShortNickName"
-msgstr ""
+msgstr "        合格    ShortNickName"
 
 #, c-format
 msgid "        WARN    %s has no corresponding options."
-msgstr ""
+msgstr "        警告    %s は相当するオプションがありません。"
 
 #, c-format
 msgid ""
 "        WARN    %s shares a common prefix with %s\n"
 "                REF: Page 15, section 3.2."
 msgstr ""
+"        警告    %s は %s と一般プレフィックスを共有します。\n"
+"                参照: 15 ページ、セクション 3.2。"
 
 #, c-format
 msgid ""
@@ -269,367 +270,451 @@ msgid ""
 "be named Duplex.\n"
 "                REF: Page 122, section 5.17"
 msgstr ""
+"        警告    Duplex オプションキーワード %s は期待通りに動作しないかもしれ"
+"ません。また、Duplex という名前であるべきです。                参照: 122 ペー"
+"ジ、セクション 5.17"
 
 msgid "        WARN    File contains a mix of CR, LF, and CR LF line endings."
 msgstr ""
+"        警告    ファイルが CR、LF、CR LF の行末を混在して含んでいます。"
 
 msgid ""
 "        WARN    LanguageEncoding required by PPD 4.3 spec.\n"
 "                REF: Pages 56-57, section 5.3."
 msgstr ""
+"        警告    LanguageEncoding は PPD 4.3 仕様で必須です。\n"
+"                参照: 56-57 ページ、セクション 5.3。"
 
 #, c-format
 msgid "        WARN    Line %d only contains whitespace."
-msgstr ""
+msgstr "        警告    %d 行が空白だけです。"
 
 msgid ""
 "        WARN    Manufacturer required by PPD 4.3 spec.\n"
 "                REF: Pages 58-59, section 5.3."
 msgstr ""
+"        警告    Manufacturer は PPD 4.3 仕様で必須です。\n"
+"                参照: 58-59 ページ、セクション 5.3。"
 
 msgid ""
 "        WARN    Non-Windows PPD files should use lines ending with only LF, "
 "not CR LF."
 msgstr ""
+"        警告    非 Windows PPD ファイルは、CR LF でなく LF のみを行末に使うべ"
+"きです。"
 
 #, c-format
 msgid ""
 "        WARN    Obsolete PPD version %.1f.\n"
 "                REF: Page 42, section 5.2."
 msgstr ""
+"        警告    PPD バージョン %.1f は現在使われていません。\n"
+"                参照: 42 ページ、セクション 5.2。"
 
 msgid ""
 "        WARN    PCFileName longer than 8.3 in violation of PPD spec.\n"
 "                REF: Pages 61-62, section 5.3."
 msgstr ""
+"        警告    8.3 文字より長い PCFileName は PPD 仕様違反です。\n"
+"                参照: 61-62 ページ、セクション 5.3。"
 
 msgid ""
 "        WARN    PCFileName should contain a unique filename.\n"
 "                REF: Pages 61-62, section 5.3."
 msgstr ""
+"        警告    PCFileName はユニークなファイル名でなければなりません。\n"
+"                参照: 61-62 ページ、セクション 5.3。"
 
 msgid ""
 "        WARN    Protocols contains PJL but JCL attributes are not set.\n"
 "                REF: Pages 78-79, section 5.7."
 msgstr ""
+"        警告    プロトコルが PJL を含んでいますが JCL 属性が設定されていませ"
+"ん。\n"
+"                参照: 78-79 ページ、セクション 5.7。"
 
 msgid ""
 "        WARN    Protocols contains both PJL and BCP; expected TBCP.\n"
 "                REF: Pages 78-79, section 5.7."
 msgstr ""
+"        警告    プロトコルが PJL と BCP の両方を含んでいます; TBCP を想定しま"
+"す。\n"
+"                参照: 78-79 ページ、セクション 5.7。"
 
 msgid ""
 "        WARN    ShortNickName required by PPD 4.3 spec.\n"
 "                REF: Pages 64-65, section 5.3."
 msgstr ""
+"        警告    ShortNickName は PPD 4.3 仕様で必須です。\n"
+"                参照: 64-65 ページ、セクション 5.3。"
 
 msgid "       cupsaddsmb [options] -a"
-msgstr ""
+msgstr "       cupsaddsmb [オプション] -a"
 
 msgid "       cupstestdsc [options] -"
-msgstr ""
+msgstr "       cupstestdsc [オプション] -"
 
 msgid "       program | cupstestppd [options] -"
-msgstr ""
+msgstr "       program | cupstestppd [オプション] -"
 
 #, c-format
 msgid ""
 "      %s  \"%s %s\" conflicts with \"%s %s\"\n"
 "                (constraint=\"%s %s %s %s\")."
 msgstr ""
+"      %s  \"%s %s\" は \"%s %s\" と競合します\n"
+"                (禁則=\"%s %s %s %s\")。"
 
 #, c-format
 msgid "      %s  %s %s does not exist."
-msgstr ""
+msgstr "      %s  %s %s が存在しません。"
 
 #, c-format
 msgid "      %s  %s file \"%s\" has the wrong capitalization."
 msgstr ""
+"      %s  %s ファイル \"%s\" は不正な大文字で始まるワードを含んでいます。"
 
 #, c-format
 msgid ""
 "      %s  Bad %s choice %s.\n"
 "                REF: Page 122, section 5.17"
 msgstr ""
+"      %s  不正な %s が %s を選んでいます。\n"
+"                参照: 122 ページ、セクション 5.17"
 
 #, c-format
 msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s."
 msgstr ""
+"      %s  不正な UTF-8 \"%s\" 翻訳文字列 (オプション %s 、選択 %s) です。"
 
 #, c-format
 msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s."
-msgstr ""
+msgstr "      %s  不正な UTF-8 \"%s\" 翻訳文字列 (オプション %s 用) です。"
 
 #, c-format
 msgid "      %s  Bad cupsFilter value \"%s\"."
-msgstr ""
+msgstr "      %s  不正な値が cupsFilter に設定されています。 \"%s\""
 
 #, c-format
 msgid "      %s  Bad cupsFilter2 value \"%s\"."
-msgstr ""
+msgstr "      %s  不正な値が cupsFilter2 に設定されています。 \"%s\""
 
 #, c-format
 msgid "      %s  Bad cupsICCProfile %s."
-msgstr ""
+msgstr "      %s  不正な cupsICCProfile %sです。"
 
 #, c-format
 msgid "      %s  Bad cupsPreFilter value \"%s\"."
-msgstr ""
+msgstr "      %s  不正な値が cupsPreFilter に設定されています。 \"%s\""
 
 #, c-format
 msgid "      %s  Bad cupsUIConstraints %s: \"%s\""
-msgstr ""
+msgstr "      %s  不正な cupsUIConstraints %s: \"%s\"です。"
 
 #, c-format
 msgid "      %s  Bad language \"%s\"."
-msgstr ""
+msgstr "      %s  無効な言語 \"%s\"です。"
 
 #, c-format
 msgid "      %s  Bad permissions on %s file \"%s\"."
-msgstr ""
+msgstr "      %s  不正なパーミッション %s です (ファイル \"%s\")。"
 
 #, c-format
 msgid "      %s  Bad spelling of %s - should be %s."
-msgstr ""
+msgstr "      %s  %s の不正な綴りです - %s であるべきです。"
 
 #, c-format
 msgid "      %s  Cannot provide both APScanAppPath and APScanAppBundleID."
-msgstr ""
+msgstr "      %s  APScanAppPath と APScanAppBundleID は同時に指定できません。"
 
 #, c-format
 msgid "      %s  Default choices conflicting."
-msgstr ""
+msgstr "      %s  デフォルトの選択肢が競合しています。"
 
 #, c-format
 msgid "      %s  Empty cupsUIConstraints %s"
-msgstr ""
+msgstr "      %s 空の cupsUIConstraints %sです。"
 
 #, c-format
 msgid "      %s  Missing \"%s\" translation string for option %s, choice %s."
 msgstr ""
+"      %s  \"%s\" 翻訳文字列 (オプション %s 、選択 %s) が見つかりません。"
 
 #, c-format
 msgid "      %s  Missing \"%s\" translation string for option %s."
-msgstr ""
+msgstr "      %s  \"%s\" 翻訳文字列 (オプション %s 用) が見つかりません。"
 
 #, c-format
 msgid "      %s  Missing %s file \"%s\"."
-msgstr ""
+msgstr "      %s  %s が見つかりません (ファイル \"%s\")。"
 
 #, c-format
 msgid ""
 "      %s  Missing REQUIRED PageRegion option.\n"
 "                REF: Page 100, section 5.14."
 msgstr ""
+"      %s  必須の PageRegion オプションが見つかりません。\n"
+"                参照: 100 ページ、セクション 5.14。"
 
 #, c-format
 msgid ""
 "      %s  Missing REQUIRED PageSize option.\n"
 "                REF: Page 99, section 5.14."
 msgstr ""
+"      %s  必須の PageSize オプションが見つかりません。\n"
+"                参照: 99 ページ、セクション 5.14。"
 
 #, c-format
 msgid "      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"."
 msgstr ""
+"      %s  選択 *%s %s が UIConstraints \"*%s %s *%s %s\" 内に見つかりませ"
+"ん。"
 
 #, c-format
 msgid "      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\""
 msgstr ""
+"      %s  選択 *%s %s が cupsUIConstraints %s: \"%s\" 内に見つかりません。"
 
 #, c-format
 msgid "      %s  Missing cupsUIResolver %s"
-msgstr ""
+msgstr "      %s  cupsUIResolver ファイル %s が見つかりません。"
 
 #, c-format
 msgid "      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\"."
 msgstr ""
+"      %s  オプション %s がUIConstraints \"*%s %s *%s %s\" に見つかりません。"
 
 #, c-format
 msgid "      %s  Missing option %s in cupsUIConstraints %s: \"%s\""
 msgstr ""
+"      %s  オプション %s がcupsUIConstraints %s に見つかりません: \"%s\""
 
 #, c-format
 msgid "      %s  No base translation \"%s\" is included in file."
-msgstr ""
+msgstr "      %s  ファイルにベース翻訳文字列 \"%s\" がありません。"
 
 #, c-format
 msgid ""
 "      %s  REQUIRED %s does not define choice None.\n"
 "                REF: Page 122, section 5.17"
 msgstr ""
+"      %s  必須の %s が選択肢 None を定義していません。\n"
+"                参照: 122 ページ、セクション 5.17。"
 
 #, c-format
 msgid "      %s  Size \"%s\" defined for %s but not for %s."
 msgstr ""
+"      %s  サイズ \"%s\" は %s 向けに定義されていますが、%s にはありません。"
 
 #, c-format
 msgid "      %s  Size \"%s\" has unexpected dimensions (%gx%g)."
-msgstr ""
+msgstr "      %s  サイズ \"%s\" は規定外の寸法 (%gx%g) を持っています。"
 
 #, c-format
 msgid "      %s  Size \"%s\" should be \"%s\"."
-msgstr ""
+msgstr "      %s  サイズ \"%s\" は \"%s\" であるべきです。"
 
 #, c-format
 msgid "      %s  Size \"%s\" should be the Adobe standard name \"%s\"."
-msgstr ""
+msgstr "      %s  サイズ \"%s\" は Adobe 標準名称 \"%s\" であるべきです。"
 
 #, c-format
 msgid "      %s  cupsICCProfile %s hash value collides with %s."
-msgstr ""
+msgstr "      %s  cupsICCProfileのハッシュ値 %s が %s と一致しません。"
 
 #, c-format
 msgid "      %s  cupsUIResolver %s causes a loop."
-msgstr ""
+msgstr "      %s  cupsUIResolverの %s がループしています。"
 
 #, c-format
 msgid ""
 "      %s  cupsUIResolver %s does not list at least two different options."
 msgstr ""
-
-#, c-format
-msgid "      **FAIL**  %s choice names %s and %s differ only by case."
-msgstr ""
+"      %s  cupsUIResolver %s は最低でも 2 つの異なったオプションを持っていなけ"
+"ればなりません。"
 
 #, c-format
 msgid ""
 "      **FAIL**  %s must be 1284DeviceID\n"
 "                REF: Page 72, section 5.5"
 msgstr ""
+"      **失敗**  %s は 1284DeviceID でなければなりません。\n"
+"                参照: 72 ページ、セクション 5.5"
 
 #, c-format
 msgid ""
-"      **FAIL**  BAD Default%s %s\n"
+"      **FAIL**  Bad Default%s %s\n"
 "                REF: Page 40, section 4.5."
 msgstr ""
+"      **失敗**  不正な Default%s %s\n"
+"                参照: 40 ページ、セクション 4.5。"
 
 #, c-format
 msgid ""
-"      **FAIL**  BAD DefaultImageableArea %s\n"
+"      **FAIL**  Bad DefaultImageableArea %s\n"
 "                REF: Page 102, section 5.15."
 msgstr ""
+"      **失敗**  %s は不正な DefaultImageableArea です。\n"
+"                参照: 102 ページ、セクション 5.15。"
 
 #, c-format
 msgid ""
-"      **FAIL**  BAD DefaultPaperDimension %s\n"
+"      **FAIL**  Bad DefaultPaperDimension %s\n"
 "                REF: Page 103, section 5.15."
 msgstr ""
+"      **失敗**  %s は不正な DefaultPaperDimension です。\n"
+"                参照: 103 ページ、セクション 5.15。"
 
+#, c-format
 msgid ""
-"      **FAIL**  BAD JobPatchFile attribute in file\n"
-"                REF: Page 24, section 3.4."
+"      **FAIL**  Bad FileVersion \"%s\"\n"
+"                REF: Page 56, section 5.3."
 msgstr ""
+"      **失敗**  不正なFileVersion \"%s\"\n"
+"                参照: 56 ページ、セクション 5.3。"
 
+#, c-format
 msgid ""
-"      **FAIL**  BAD Manufacturer (should be \"HP\")\n"
-"                REF: Page 211, table D.1."
+"      **FAIL**  Bad FormatVersion \"%s\"\n"
+"                REF: Page 56, section 5.3."
 msgstr ""
+"      **失敗**  FormatVersion が違います \"%s\"\n"
+"                参照: 56 ページ、セクション 5.3。"
 
 msgid ""
-"      **FAIL**  BAD Manufacturer (should be \"Oki\")\n"
-"                REF: Page 211, table D.1."
+"      **FAIL**  Bad JobPatchFile attribute in file\n"
+"                REF: Page 24, section 3.4."
 msgstr ""
+"      **失敗**  ファイルに不正な JobPatchFile 属性があります\n"
+"                参照: 24 ページ、セクション 3.4。"
 
 #, c-format
-msgid ""
-"      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n"
-"                REF: Pages 59-60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD PSVersion - not \"(string) int\".\n"
-"                REF: Pages 62-64, section 5.3."
+msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1."
 msgstr ""
+"      **失敗**  無効な LanguageEncoding %s - ISOLatin1 でなければなりません。"
 
-msgid ""
-"      **FAIL**  BAD Product - not \"(string)\".\n"
-"                REF: Page 62, section 5.3."
+#, c-format
+msgid "      **FAIL**  Bad LanguageVersion %s - must be English."
 msgstr ""
+"      **失敗**  無効な LanguageVersion %s - English でなければなりません。"
 
+#, c-format
 msgid ""
-"      **FAIL**  BAD ShortNickName - longer than 31 chars.\n"
-"                REF: Pages 64-65, section 5.3."
+"      **FAIL**  Bad Manufacturer (should be \"%s\")\n"
+"                REF: Page 211, table D.1."
 msgstr ""
+"      **失敗**  不正な Manufacturer (\"%s\" でなければなりません)\n"
+"                参照: 211 ページ、表 D.1。"
 
 #, c-format
 msgid ""
-"      **FAIL**  Bad %s choice %s\n"
-"                REF: Page 84, section 5.9"
+"      **FAIL**  Bad ModelName - \"%c\" not allowed in string.\n"
+"                REF: Pages 59-60, section 5.3."
 msgstr ""
+"      **失敗**  不正な ModelName - 文字列に \"%c\" は許可されていません。\n"
+"                参照: 59-60 ページ、セクション 5.3。"
 
-#, c-format
 msgid ""
-"      **FAIL**  Bad FileVersion \"%s\"\n"
-"                REF: Page 56, section 5.3."
+"      **FAIL**  Bad PSVersion - not \"(string) int\".\n"
+"                REF: Pages 62-64, section 5.3."
 msgstr ""
+"      **失敗**  不正な PSVersion - \"(文字列) 整数\" ではありません。\n"
+"                参照: 62-64 ページ、セクション 5.3。"
 
-#, c-format
 msgid ""
-"      **FAIL**  Bad FormatVersion \"%s\"\n"
-"                REF: Page 56, section 5.3."
+"      **FAIL**  Bad Product - not \"(string)\".\n"
+"                REF: Page 62, section 5.3."
 msgstr ""
+"      **失敗**  不正な Product - \"(文字列)\" ではありません。\n"
+"                参照: 62 ページ、セクション 5.3。"
 
-#, c-format
-msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1."
+msgid ""
+"      **FAIL**  Bad ShortNickName - longer than 31 chars.\n"
+"                REF: Pages 64-65, section 5.3."
 msgstr ""
+"      **失敗**  不正な ShortNickName - 31 文字を超えています。\n"
+"                参照: 64-65 ページ、セクション 5.3。"
 
 #, c-format
-msgid "      **FAIL**  Bad LanguageVersion %s - must be English."
+msgid ""
+"      **FAIL**  Bad option %s choice %s\n"
+"                REF: Page 84, section 5.9"
 msgstr ""
+"      **失敗**  不正な %s が %s を選んでいます。\n"
+"                参照: 84 ページ、セクション 5.9"
 
 #, c-format
 msgid "      **FAIL**  Default option code cannot be interpreted: %s"
-msgstr ""
+msgstr "      **失敗**  デフォルトのオプションコードが解釈できません: %s"
 
 #, c-format
 msgid ""
 "      **FAIL**  Default translation string for option %s choice %s contains "
 "8-bit characters."
 msgstr ""
+"      **失敗**  オプション %s、選択肢 %s のデフォルトの翻訳文字列が 8 ビット"
+"文字を含んでいます。"
 
 #, c-format
 msgid ""
 "      **FAIL**  Default translation string for option %s contains 8-bit "
 "characters."
 msgstr ""
+"      **失敗**  オプション %s のデフォルトの翻訳文字列が 8 ビット文字を含んで"
+"います。"
 
 #, c-format
 msgid "      **FAIL**  Group names %s and %s differ only by case."
-msgstr ""
+msgstr "      **失敗**  グループ名 %s と %s は大文字/小文字が違うだけです。"
+
+#, c-format
+msgid "      **FAIL**  Multiple occurrences of option %s choice name %s."
+msgstr "      **失敗**  %s で複数のオプション %s が選択されています。"
 
 #, c-format
-msgid "      **FAIL**  Multiple occurrences of %s choice name %s."
+msgid "      **FAIL**  Option %s choice names %s and %s differ only by case."
 msgstr ""
+"      **失敗**  %s が選択した %s と %s は大文字/小文字のみが違うだけです。"
 
 #, c-format
 msgid "      **FAIL**  Option names %s and %s differ only by case."
-msgstr ""
+msgstr "      **失敗**  オプション名 %s と %s は大文字/小文字が違うだけです。"
 
 #, c-format
 msgid ""
 "      **FAIL**  REQUIRED Default%s\n"
 "                REF: Page 40, section 4.5."
 msgstr ""
+"      **失敗**  Default%s は必須\n"
+"                参照: 40 ページ、セクション 4.5。"
 
 msgid ""
 "      **FAIL**  REQUIRED DefaultImageableArea\n"
 "                REF: Page 102, section 5.15."
 msgstr ""
+"      **失敗**  DefaultImageableArea は必須\n"
+"                参照: 102 ページ、セクション 5.15。"
 
 msgid ""
 "      **FAIL**  REQUIRED DefaultPaperDimension\n"
 "                REF: Page 103, section 5.15."
 msgstr ""
+"      **失敗**  DefaultPaperDimension は必須\n"
+"                参照: 103 ページ、セクション 5.15。"
 
 msgid ""
 "      **FAIL**  REQUIRED FileVersion\n"
 "                REF: Page 56, section 5.3."
 msgstr ""
+"      **失敗**  FileVersion は必須\n"
+"                参照: 56 ページ、セクション 5.3。"
 
 msgid ""
 "      **FAIL**  REQUIRED FormatVersion\n"
 "                REF: Page 56, section 5.3."
 msgstr ""
+"      **失敗**  FormatVersion は必須\n"
+"                参照: 56 ページ、セクション 5.3。"
 
 #, c-format
 msgid ""
@@ -637,57 +722,81 @@ msgid ""
 "                REF: Page 41, section 5.\n"
 "                REF: Page 102, section 5.15."
 msgstr ""
+"      **失敗**  PageSize %s に ImageableArea は必須\n"
+"                参照: 41 ページ、セクション 5。\n"
+"                参照: 102 ページ、セクション 5.15。"
 
 msgid ""
 "      **FAIL**  REQUIRED LanguageEncoding\n"
 "                REF: Pages 56-57, section 5.3."
 msgstr ""
+"      **失敗**  LanguageEncoding は必須\n"
+"                参照: 56-57 ページ、セクション 5.3。"
 
 msgid ""
 "      **FAIL**  REQUIRED LanguageVersion\n"
 "                REF: Pages 57-58, section 5.3."
 msgstr ""
+"      **失敗**  LanguageVersion は必須\n"
+"                参照: 57-58 ページ、セクション 5.3。"
 
 msgid ""
 "      **FAIL**  REQUIRED Manufacturer\n"
 "                REF: Pages 58-59, section 5.3."
 msgstr ""
+"      **失敗**  Manufacturer は必須\n"
+"                参照: 58-59 ページ、セクション 5.3。"
 
 msgid ""
 "      **FAIL**  REQUIRED ModelName\n"
 "                REF: Pages 59-60, section 5.3."
 msgstr ""
+"      **失敗**  ModelName は必須\n"
+"                参照: 59-60 ページ、セクション 5.3。"
 
 msgid ""
 "      **FAIL**  REQUIRED NickName\n"
 "                REF: Page 60, section 5.3."
 msgstr ""
+"      **失敗**  NickName は必須\n"
+"                参照: 60 ページ、セクション 5.3。"
 
 msgid ""
 "      **FAIL**  REQUIRED PCFileName\n"
 "                REF: Pages 61-62, section 5.3."
 msgstr ""
+"      **失敗**  PCFileName は必須\n"
+"                参照: 61-62 ページ、セクション 5.3。"
 
 msgid ""
 "      **FAIL**  REQUIRED PSVersion\n"
 "                REF: Pages 62-64, section 5.3."
 msgstr ""
+"      **失敗**  PSVersion は必須\n"
+"                参照: 62-64 ページ、セクション 5.3。"
 
 msgid ""
 "      **FAIL**  REQUIRED PageRegion\n"
 "                REF: Page 100, section 5.14."
 msgstr ""
+"      **失敗**  PageRegion は必須\n"
+"                参照: 100 ページ、セクション 5.14。"
 
 msgid ""
 "      **FAIL**  REQUIRED PageSize\n"
 "                REF: Page 41, section 5.\n"
 "                REF: Page 99, section 5.14."
 msgstr ""
+"      **失敗**  PageSize は必須\n"
+"                参照: 41 ページ、セクション 5。\n"
+"                参照: 99 ページ、セクション 5.14。"
 
 msgid ""
 "      **FAIL**  REQUIRED PageSize\n"
 "                REF: Pages 99-100, section 5.14."
 msgstr ""
+"      **失敗**  PageSize は必須\n"
+"                参照: 99-100 ページ、セクション 5.14。"
 
 #, c-format
 msgid ""
@@ -695,389 +804,369 @@ msgid ""
 "                REF: Page 41, section 5.\n"
 "                REF: Page 103, section 5.15."
 msgstr ""
+"      **失敗**  PageSize %s に PaperDimension は必須\n"
+"                参照: 41 ページ、セクション 5。\n"
+"                参照: 103 ページ、セクション 5.15。"
 
 msgid ""
 "      **FAIL**  REQUIRED Product\n"
 "                REF: Page 62, section 5.3."
 msgstr ""
+"      **失敗**  Product は必須\n"
+"                参照: 62 ページ、セクション 5.3。"
 
 msgid ""
 "      **FAIL**  REQUIRED ShortNickName\n"
 "                REF: Page 64-65, section 5.3."
 msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Unable to open PPD file - %s"
-msgstr ""
+"      **失敗**  ShortNickName は必須\n"
+"                参照: 64-65 ページ、セクション 5.3。"
 
 #, c-format
 msgid "      **FAIL**  Unable to open PPD file - %s on line %d."
 msgstr ""
+" 失敗\n"
+"      **失敗**  PPD ファイルを開けません - %s (%d 行)。"
 
 #, c-format
 msgid "    %d ERRORS FOUND"
-msgstr ""
+msgstr "    %d 個のエラーが見つかりました"
 
 msgid "    -h       Show program usage"
-msgstr ""
+msgstr "    -h       このプログラムの利用法を表示する"
 
 #, c-format
 msgid ""
 "    Bad %%%%BoundingBox: on line %d.\n"
 "        REF: Page 39, %%%%BoundingBox:"
 msgstr ""
+"    不正な %%%%BoundingBox: (%d 行)。\n"
+"        参照: 39 ページ、%%%%BoundingBox:"
 
 #, c-format
 msgid ""
 "    Bad %%%%Page: on line %d.\n"
 "        REF: Page 53, %%%%Page:"
 msgstr ""
+"    不正な %%%%Page: (%d 行)。\n"
+"        参照: 53 ページ、%%%%Page:"
 
 #, c-format
 msgid ""
 "    Bad %%%%Pages: on line %d.\n"
 "        REF: Page 43, %%%%Pages:"
 msgstr ""
+"    不正な %%%%Pages: (%d 行)。\n"
+"        REF: Page 43, %%%%Pages:"
 
 #, c-format
 msgid ""
 "    Line %d is longer than 255 characters (%d).\n"
 "        REF: Page 25, Line Length"
 msgstr ""
+"    %d 行が 255文字より長くなっています (%d)。\n"
+"        参照: 25 ページ、Line Length"
 
 msgid ""
 "    Missing %!PS-Adobe-3.0 on first line.\n"
 "        REF: Page 17, 3.1 Conforming Documents"
 msgstr ""
+"    先頭行に %!PS-Adobe-3.0 がありません。\n"
+"        参照: 17 ページ、3.1 Conforming Documents"
 
 #, c-format
 msgid "    Missing %%EndComments comment.        REF: Page 41, %%EndComments"
 msgstr ""
+"    %%EndComments コメントが見つかりません。\n"
+"        参照: 41 ページ、%%EndComments"
 
 #, c-format
 msgid ""
 "    Missing or bad %%BoundingBox: comment.\n"
 "        REF: Page 39, %%BoundingBox:"
 msgstr ""
+"    %%BoundingBox: コメントが見つからないか不正です。\n"
+"        参照: 39 ページ、%%BoundingBox:"
 
 #, c-format
 msgid ""
 "    Missing or bad %%Page: comments.\n"
 "        REF: Page 53, %%Page:"
 msgstr ""
+"    %%Page: コメントが見つからないか不正です。\n"
+"        参照: 53 ページ、%%Page:"
 
 #, c-format
 msgid ""
 "    Missing or bad %%Pages: comment.\n"
 "        REF: Page 43, %%Pages:"
 msgstr ""
+"    %%Pages: コメントが見つからないか不正です。\n"
+"        参照: 43 ページ、%%Pages:"
 
 msgid "    NO ERRORS FOUND"
-msgstr ""
+msgstr "    エラーは見つかりませんでした"
 
 #, c-format
 msgid "    Saw %d lines that exceeded 255 characters."
-msgstr ""
+msgstr "    255文字を超える %d 行が見つかりました。"
 
 #, c-format
 msgid "    Too many %%BeginDocument comments."
-msgstr ""
+msgstr "    %%BeginDocument コメントが多すぎます。"
 
 #, c-format
 msgid "    Too many %%EndDocument comments."
-msgstr ""
+msgstr "    %%EndDocument コメントが多すぎます。"
 
 msgid "    Warning: file contains binary data."
-msgstr ""
+msgstr "    警告: ファイルにバイナリデータが含まれています。"
 
 #, c-format
 msgid "    Warning: no %%EndComments comment in file."
-msgstr ""
+msgstr "    警告: ファイルに %%EndComments コメントがありません。"
 
 #, c-format
 msgid "    Warning: obsolete DSC version %.1f in file."
-msgstr ""
+msgstr "    警告: ファイルは時代遅れの DSC バージョン %.1f です。"
 
 msgid "  --[no-]debug-logging    Turn debug logging on/off."
-msgstr ""
+msgstr "  --[no-]debug-logging    デバッグログの有効/無効を切り替える。"
 
 msgid "  --[no-]remote-admin     Turn remote administration on/off."
-msgstr ""
+msgstr "  --[no-]remote-admin     リモート管理の有効/無効を切り替える。"
 
 msgid "  --[no-]remote-any       Allow/prevent access from the Internet."
 msgstr ""
-
-msgid "  --[no-]remote-printers  Show/hide remote printers."
-msgstr ""
+"  --[no-]remote-any       インターネットからのアクセスを許可/禁止する。"
 
 msgid "  --[no-]share-printers   Turn printer sharing on/off."
-msgstr ""
+msgstr "  --[no-]share-printers   プリンター共有の有効/無効を切り替える。"
 
 msgid "  --[no-]user-cancel-any  Allow/prevent users to cancel any job."
 msgstr ""
+"  --[no-]user-cancel-any  あらゆるジョブのキャンセルをユーザーに許可/禁止する"
 
 msgid "  --cr                    End lines with CR (Mac OS 9)."
-msgstr ""
+msgstr "  --cr                    行末を CR とする (Mac OS 9)。"
 
 msgid "  --crlf                  End lines with CR + LF (Windows)."
-msgstr ""
+msgstr "  --crlf                  行末を CR + LF とする (Windows)。"
 
-msgid "  --lf                    End lines with LF (UNIX/Linux/Mac OS X)."
-msgstr ""
+msgid "  --lf                    End lines with LF (UNIX/Linux/OS X)."
+msgstr "  --lf                    行末を LF とする (UNIX/Linux/OS X)。"
 
 msgid "  -4                      Connect using IPv4."
-msgstr ""
+msgstr "  -4                      IPv4 で接続する。"
 
 msgid "  -6                      Connect using IPv6."
-msgstr ""
+msgstr "  -6                      IPv6 で接続する。"
 
 msgid "  -C                      Send requests using chunking (default)."
 msgstr ""
+"  -C                      chunking を用いてリクエストを送る (デフォルト)。"
 
 msgid "  -D                      Remove the input file when finished."
-msgstr ""
+msgstr "  -D                      終了したときに入力ファイルを削除する。"
 
 msgid "  -D name=value           Set named variable to value."
 msgstr ""
+"  -D name=value           name で指定された変数に値 value をセットする。"
 
-msgid "  -E                      Enable encryption."
-msgstr ""
-
-msgid "  -E                      Encrypt the connection to the server."
-msgstr ""
+msgid "  -E                      Encrypt the connection."
+msgstr "  -E                      接続を暗号化する。"
 
-msgid "  -E                      Test with TLS encryption."
+msgid "  -E                      Test with HTTP Upgrade to TLS."
 msgstr ""
+"  -E                      HTTP から TLS へのアップグレードでテストする。"
 
 msgid ""
 "  -F                      Run in the foreground but detach from console."
 msgstr ""
+"  -F                      フォアグラウンドで実行するがコンソールからはデタッ"
+"チする。"
 
 msgid "  -H samba-server         Use the named SAMBA server."
-msgstr ""
+msgstr "  -H sambaサーバー        指定の SAMBA サーバーを使う。"
 
 msgid "  -I                      Ignore errors."
-msgstr ""
+msgstr "  -I                      エラーを無視する。"
 
 msgid "  -I include-dir          Add include directory to search path."
 msgstr ""
+"  -I include-dir          インクルードディレクトリーを検索パスに含める。"
 
 msgid "  -I {filename,filters,none,profiles}"
-msgstr ""
-
-msgid "  -J title                Set title."
-msgstr ""
+msgstr "  -I {filename,filters,none,profiles}"
 
 msgid "  -L                      Send requests using content-length."
-msgstr ""
+msgstr "  -L                      content-length を用いてリクエストを送る。"
 
 msgid "  -P filename.ppd         Set PPD file."
-msgstr ""
+msgstr "  -P filename.ppd         PPD ファイルを指定する。"
 
 msgid "  -R root-directory       Set alternate root."
-msgstr ""
+msgstr "  -R root-directory       別のルートディレクトリーを指定する。"
 
 msgid "  -S                      Test with SSL encryption."
-msgstr ""
-
-msgid "  -T                      Set the receive/send timeout in seconds."
-msgstr ""
-
-msgid "  -U samba-user           Authenticate using the named SAMBA user."
-msgstr ""
+msgstr "  -S                      SSL 暗号化でテストする。"
 
-msgid "  -U username             Set username for job."
-msgstr ""
+msgid "  -T seconds              Set the receive/send timeout in seconds."
+msgstr "  -T seconds              受信/送信タイムアウトを秒で指定する。"
 
 msgid "  -U username             Specify username."
-msgstr ""
+msgstr "  -U username             ユーザー名を指定する。"
 
 msgid "  -V version              Set default IPP version."
-msgstr ""
+msgstr "  -V version              デフォルトの IPP バージョンを指定する。"
 
 msgid ""
 "  -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,"
 "translations}"
 msgstr ""
+"  -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,"
+"translations}"
 
 msgid "  -X                      Produce XML plist instead of plain text."
-msgstr ""
+msgstr "  -X                      プレーンテキストの代わりに XML を用いる。"
 
 msgid "  -a                      Export all printers."
-msgstr ""
-
-msgid "  -a 'name=value ...'     Set option(s)."
-msgstr ""
+msgstr "  -a                      すべてのプリンターをエクスポートする。"
 
 msgid "  -c catalog.po           Load the specified message catalog."
-msgstr ""
-
-msgid "  -c config-file          Load alternate configuration file."
-msgstr ""
-
-msgid "  -c copies               Set number of copies."
-msgstr ""
+msgstr "  -c catalog.po           指定したメッセージカタログをロードする。"
 
 msgid "  -c cupsd.conf           Set cupsd.conf file to use."
-msgstr ""
+msgstr "  -c cupsd.conf           使用する cupsd.conf ファイルを指定する。"
 
 msgid "  -d name=value           Set named variable to value."
 msgstr ""
+"  -d name=value           name で指定された変数に値 value をセットする。"
 
 msgid "  -d output-dir           Specify the output directory."
-msgstr ""
+msgstr "  -d output-dir           出力先ディレクトリーを指定する。"
 
 msgid "  -d printer              Use the named printer."
-msgstr ""
+msgstr "  -d printer              指定されたプリンターを利用する。"
 
 msgid "  -e                      Use every filter from the PPD file."
 msgstr ""
+"  -e                      PPD ファイルからすべてのフィルターを使用する。"
 
 msgid "  -f                      Run in the foreground."
-msgstr ""
+msgstr "  -f                      フォアグラウンドで実行する。"
 
 msgid "  -f filename             Set default request filename."
-msgstr ""
-
-msgid "  -f filename             Set file to be converted (otherwise stdin)."
-msgstr ""
+msgstr "  -f filename             デフォルトのリクエストファイル名を指定する。"
 
 msgid "  -h                      Show this usage message."
-msgstr ""
-
-msgid "  -h cups-server          Use the named CUPS server."
-msgstr ""
+msgstr "  -h                      このヘルプメッセージを表示する。"
 
 msgid "  -h server[:port]        Specify server address."
-msgstr ""
+msgstr "  -h server[:port]        サーバーアドレスを指定する。"
 
 msgid "  -i mime/type            Set input MIME type (otherwise auto-typed)."
 msgstr ""
+"  -i mime/type            入力の MIME タイプを指定する (指定がなければ自動タ"
+"イプ)。"
 
 msgid ""
 "  -i seconds              Repeat the last file with the given time interval."
 msgstr ""
+"  -i seconds              最後のファイルを与えられた時間間隔で繰り返す。"
 
 msgid ""
 "  -j job-id[,N]           Filter file N from the specified job (default is "
 "file 1)."
 msgstr ""
-
-msgid ""
-"  -j mime/type            Set output MIME type (otherwise application/pdf)."
-msgstr ""
+"  -j job-id[,N]           フィルターファイル N を指定されたジョブから使用す"
+"る (デフォルトは ファイル 1)。"
 
 msgid "  -l                      Run cupsd from launchd(8)."
-msgstr ""
+msgstr "  -l                      launchd(8) から cupsd を実行する。"
 
 msgid "  -l lang[,lang,...]      Specify the output language(s) (locale)."
-msgstr ""
+msgstr "  -l lang[,lang,...]      出力言語を指定する。(複数可能)"
 
 msgid "  -m                      Use the ModelName value as the filename."
-msgstr ""
+msgstr "  -m                      ModelName の値をファイル名として使用する。"
 
 msgid ""
 "  -m mime/type            Set output MIME type (otherwise application/pdf)."
 msgstr ""
+"  -m mime/type            出力の MIME タイプを指定する (指定がなければ "
+"application/pdf)。"
 
 msgid "  -n copies               Set number of copies."
-msgstr ""
+msgstr "  -n copies               部数を指定する。"
 
 msgid ""
 "  -n count                Repeat the last file the given number of times."
-msgstr ""
-
-msgid "  -o filename             Set file to be generated (otherwise stdout)."
-msgstr ""
+msgstr "  -n count                最後のファイルを与えられた回数だけ繰り返す。"
 
 msgid ""
 "  -o filename.drv         Set driver information file (otherwise ppdi.drv)."
 msgstr ""
+"  -o filename.drv         ドライバー情報ファイルを指定する (指定がなければ "
+"ppdi.drv)。"
 
 msgid "  -o filename.ppd[.gz]    Set output file (otherwise stdout)."
 msgstr ""
+"  -o filename.ppd[.gz]    出力ファイルを指定する (指定がなければ標準出力)。"
 
 msgid "  -o name=value           Set option(s)."
-msgstr ""
+msgstr "  -o name=value           オプションを指定する。"
 
 msgid "  -p filename.ppd         Set PPD file."
-msgstr ""
-
-msgid "  -q                      Be quiet - no output except errors."
-msgstr ""
+msgstr "  -p filename.ppd         PPD ファイルを指定する。"
 
 msgid "  -q                      Run silently."
-msgstr ""
+msgstr "  -q                      詳細は表示しない。"
 
 msgid "  -r                      Use 'relaxed' open mode."
-msgstr ""
+msgstr "  -r                      寛容モードを用いる。"
 
 msgid "  -t                      Produce a test report."
-msgstr ""
+msgstr "  -t                      テストリポートを出力する。"
 
 msgid "  -t                      Test PPDs instead of generating them."
-msgstr ""
+msgstr "  -t                      PPD を出力しないでテストする。"
 
 msgid "  -t                      Test the configuration file."
-msgstr ""
+msgstr "  -t                      設定ファイルをテストする。"
 
 msgid "  -t title                Set title."
-msgstr ""
+msgstr "  -t title                タイトルを指定する。"
 
 msgid "  -u                      Remove the PPD file when finished."
-msgstr ""
-
-msgid "  -v                      Be slightly verbose."
-msgstr ""
+msgstr "  -u                      終了したときに PPD ファイルを削除する。"
 
-msgid "  -v                      Be verbose (more v's for more verbosity)."
-msgstr ""
-
-msgid "  -v                      Be verbose (show commands)."
-msgstr ""
-
-msgid "  -v                      Show all attributes sent and received."
-msgstr ""
+msgid "  -v                      Be verbose."
+msgstr "  -v                      冗長出力を行う。"
 
 msgid "  -vv                     Be very verbose."
-msgstr ""
+msgstr "  -vv                     より冗長な出力を行う。"
 
 msgid "  -z                      Compress PPD files using GNU zip."
-msgstr ""
+msgstr "  -z                      PPD ファイルを GNU zip を使って圧縮する。"
 
 msgid " FAIL"
-msgstr ""
+msgstr " 失敗"
 
 msgid " PASS"
-msgstr ""
+msgstr " 合格"
 
 #, c-format
 msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes"
-msgstr ""
+msgstr "%-6s %-10.10s %-4d %-10d %-27.27s %.0f バイト"
 
 #, c-format
 msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "%.0f x %.0f millimeters"
-msgstr "%.0f x %.0f ミリメートル"
-
-#, c-format
-msgid "%.0f x %.0f to %.0f x %.0f millimeters"
-msgstr "%.0f x %.0f to %.0f x %.0f ミリメートル"
-
-#, c-format
-msgid "%.2f x %.2f inches"
-msgstr "%.2f x %.2f インチ"
-
-#, c-format
-msgid "%.2f x %.2f to %.2f x %.2f inches"
-msgstr "%.2f x %.2f to %.2f x %.2f インチ"
+msgstr "%-7s %-7.7s %-7d %-31.31s %.0f バイト"
 
 #, c-format
 msgid "%s accepting requests since %s"
-msgstr ""
+msgstr "%s は %s からリクエストを受け付けています"
 
 #, c-format
 msgid "%s cannot be changed."
@@ -1085,293 +1174,305 @@ msgstr "%s は変更できません。"
 
 #, c-format
 msgid "%s is not implemented by the CUPS version of lpc."
-msgstr ""
+msgstr "%s は lpc の CUPS バージョンでは実装されていません。"
 
 #, c-format
 msgid "%s is not ready"
-msgstr ""
+msgstr "%s は準備ができていません"
 
 #, c-format
 msgid "%s is ready"
-msgstr ""
+msgstr "%s は準備ができています"
 
 #, c-format
 msgid "%s is ready and printing"
-msgstr ""
+msgstr "%s は準備ができており印刷しています"
 
 #, c-format
 msgid "%s job-id user title copies options [file]"
-msgstr ""
+msgstr "%s ジョブID ユーザー タイトル コピー数 オプション [ファイル]"
 
 #, c-format
 msgid "%s not accepting requests since %s -"
-msgstr ""
+msgstr "%s は %s からリクエストを受け付けていません -"
 
 #, c-format
 msgid "%s not supported."
-msgstr ""
+msgstr "%s はサポートされていません。"
 
 #, c-format
 msgid "%s/%s accepting requests since %s"
-msgstr ""
+msgstr "%s/%s は %s からリクエストを受け付けています"
 
 #, c-format
 msgid "%s/%s not accepting requests since %s -"
-msgstr ""
+msgstr "%s/%s は %s からリクエストを受け付けていません - "
 
 #, c-format
 msgid "%s: %-33.33s [job %d localhost]"
-msgstr ""
+msgstr "%s:%-33.33s [ジョブ %d localhost]"
 
 #. TRANSLATORS: Message is "subject: error"
 #, c-format
 msgid "%s: %s"
-msgstr ""
+msgstr "%s: %s"
 
 #, c-format
 msgid "%s: %s failed: %s"
-msgstr ""
+msgstr "%s: %s に失敗しました: %s"
 
 #, c-format
 msgid "%s: Don't know what to do."
-msgstr ""
+msgstr "%s: 何が起きているか不明です。"
 
 #, c-format
 msgid ""
 "%s: Error - %s environment variable names non-existent destination \"%s\"."
+msgstr "%s: エラー - 環境変数 %s が存在しない宛先 \"%s\" を指しています。"
+
+#, c-format
+msgid "%s: Error - add '/version=1.1' to server name."
 msgstr ""
 
 #, c-format
 msgid "%s: Error - bad job ID."
-msgstr ""
+msgstr "%s: エラー - 不正なジョブ ID です。"
 
 #, c-format
 msgid "%s: Error - cannot print files and alter jobs simultaneously."
 msgstr ""
+"%s: エラー - ファイルを印刷できず、ジョブを同時に変えることができません。"
 
 #, c-format
 msgid "%s: Error - cannot print from stdin if files or a job ID are provided."
 msgstr ""
+"%s: エラー - ファイルまたはジョブ ID が提供されている場合、標準入力から印刷で"
+"きません。 "
 
 #, c-format
 msgid "%s: Error - expected character set after \"-S\" option."
-msgstr ""
+msgstr "%s: エラー - \"-S\" オプションのあとには文字セットが必要です。"
 
 #, c-format
 msgid "%s: Error - expected content type after \"-T\" option."
-msgstr ""
+msgstr "%s: エラー - \"-T\" オプションのあとにはコンテンツタイプが必要です。"
 
 #, c-format
 msgid "%s: Error - expected copies after \"-#\" option."
-msgstr ""
+msgstr "%s: エラー - \"-#\" オプションのあとにはコピー数が必要です。"
 
 #, c-format
 msgid "%s: Error - expected copies after \"-n\" option."
-msgstr ""
+msgstr "%s: エラー - \"-n\" オプションのあとにはコピー数が必要です。"
 
 #, c-format
 msgid "%s: Error - expected destination after \"-P\" option."
-msgstr ""
+msgstr "%s: エラー - \"-P\" オプションのあとには宛先が必要です。"
 
 #, c-format
 msgid "%s: Error - expected destination after \"-b\" option."
-msgstr ""
+msgstr "%s: エラー - \"-b\" オプションのあとに宛先が必要です。"
 
 #, c-format
 msgid "%s: Error - expected destination after \"-d\" option."
-msgstr ""
+msgstr "%s: エラー - \"-d\" オプションのあとにはプリンター名が必要です。"
 
 #, c-format
 msgid "%s: Error - expected form after \"-f\" option."
-msgstr ""
+msgstr "%s: エラー - \"-f\" オプションのあとには用紙名が必要です。"
 
 #, c-format
 msgid "%s: Error - expected hold name after \"-H\" option."
-msgstr ""
+msgstr "%s: エラー - \"-H\" オプションのあとにはホールド名が必要です。"
 
 #, c-format
 msgid "%s: Error - expected hostname after \"-H\" option."
-msgstr ""
+msgstr "%s: エラー - \"-H\" オプションのあとにはホスト名が必要です。"
 
 #, c-format
 msgid "%s: Error - expected hostname after \"-h\" option."
-msgstr ""
+msgstr "%s: エラー -  \"-h\" オプションのあとにはホスト名が必要です。"
 
 #, c-format
 msgid "%s: Error - expected mode list after \"-y\" option."
-msgstr ""
+msgstr "%s: エラー - \"-y\" オプションのあとにはモードリストが必要です。"
 
 #, c-format
 msgid "%s: Error - expected name after \"-%c\" option."
-msgstr ""
+msgstr "%s: エラー - \"-%c\" オプションのあとには名前が必要です。"
 
 #, c-format
 msgid "%s: Error - expected option=value after \"-o\" option."
-msgstr ""
+msgstr "%s: エラー - \"-o\" オプションのあとには オプション=値 が必要です。"
 
 #, c-format
 msgid "%s: Error - expected page list after \"-P\" option."
-msgstr ""
+msgstr "%s: エラー - \"-P\" オプションのあとにはページリストが必要です。"
 
 #, c-format
 msgid "%s: Error - expected priority after \"-%c\" option."
-msgstr ""
+msgstr "%s: エラー - \"-%c\" オプションのあとには優先度が必要です。"
 
 #, c-format
 msgid "%s: Error - expected reason text after \"-r\" option."
-msgstr ""
+msgstr "%s: エラー - \"-r\" のあとには理由のテキストが必要です。"
 
 #, c-format
 msgid "%s: Error - expected title after \"-t\" option."
-msgstr ""
+msgstr "%s: エラー - \"-t\" オプションのあとにはタイトルが必要です。"
 
 #, c-format
 msgid "%s: Error - expected username after \"-U\" option."
-msgstr ""
+msgstr "%s: エラー - \"-U\" オプションのあとにはユーザー名が必要です。"
 
 #, c-format
 msgid "%s: Error - expected username after \"-u\" option."
-msgstr ""
+msgstr "%s: エラー - \"-u\" オプションのあとにはユーザー名が必要です。"
 
 #, c-format
 msgid "%s: Error - expected value after \"-%c\" option."
-msgstr ""
+msgstr "%s: エラー -  \"-%c\" オプションのあとには値が必要です。"
 
 #, c-format
 msgid ""
 "%s: Error - need \"completed\", \"not-completed\", or \"all\" after \"-W\" "
 "option."
 msgstr ""
+"%s: エラー - \"-W\" オプションのあとには、\"completed\"、\"not-completed"
+"\"、\"all\" のいずれかが必要です。"
 
 #, c-format
 msgid "%s: Error - no default destination available."
-msgstr ""
+msgstr "%s: エラー - 利用可能なデフォルトの宛先がありません。"
 
 #, c-format
 msgid "%s: Error - priority must be between 1 and 100."
-msgstr ""
+msgstr "%s: エラー - 優先度は 1 から 100 の間である必要があります。"
 
 #, c-format
 msgid "%s: Error - scheduler not responding."
-msgstr ""
+msgstr "%s: エラー - スケジューラーが応答していません。"
 
 #, c-format
 msgid "%s: Error - too many files - \"%s\"."
-msgstr ""
+msgstr "%s: エラー - ファイルが多すぎます - \"%s\""
 
 #, c-format
 msgid "%s: Error - unable to access \"%s\" - %s"
-msgstr ""
+msgstr "%s: エラー - \"%s\" にアクセスできません - %s"
 
 #, c-format
 msgid "%s: Error - unable to queue from stdin - %s."
-msgstr ""
+msgstr "%s: エラー - 標準入力からキューにデータを入力できません。 - %s"
 
 #, c-format
 msgid "%s: Error - unknown destination \"%s\"."
-msgstr ""
+msgstr "%s: エラー - \"%s\" は未知の宛先です。"
 
 #, c-format
 msgid "%s: Error - unknown destination \"%s/%s\"."
-msgstr ""
+msgstr "%s: エラー - \"%s/%s\" は未知の宛先です。"
 
 #, c-format
 msgid "%s: Error - unknown option \"%c\"."
-msgstr ""
+msgstr "%s: エラー - '%c' は未知のオプションです。"
 
 #, c-format
 msgid "%s: Error - unknown option \"%s\"."
-msgstr ""
+msgstr "%s: エラー - '%s' は未知のオプションです。"
 
 #, c-format
 msgid "%s: Expected job ID after \"-i\" option."
-msgstr ""
+msgstr "%s: '-i' オプションのあとにはジョブ ID が必要です。"
 
 #, c-format
 msgid "%s: Invalid destination name in list \"%s\"."
-msgstr ""
+msgstr "%s: リスト \"%s\" に無効な宛先名があります。"
 
 #, c-format
 msgid "%s: Invalid filter string \"%s\"."
-msgstr ""
+msgstr "%s: 無効なフィルター文字列です \"%s\""
 
 #, c-format
 msgid "%s: Need job ID (\"-i jobid\") before \"-H restart\"."
-msgstr ""
+msgstr "%s: '-H restart' の前にはジョブ ID ('-i ジョブID') が必要です。"
 
 #, c-format
 msgid "%s: No filter to convert from %s/%s to %s/%s."
-msgstr ""
+msgstr "%s: %s/%s から %s/%s に変換するフィルターがありません。"
 
 #, c-format
 msgid "%s: Operation failed: %s"
-msgstr ""
+msgstr "%s: 操作に失敗しました: %s"
 
 #, c-format
 msgid "%s: Sorry, no encryption support."
-msgstr ""
+msgstr "%s: 残念ながら、暗号化サポートはコンパイル時に組み込まれていません。"
 
 #, c-format
 msgid "%s: Unable to connect to server."
-msgstr ""
+msgstr "%s: サーバーに接続できません"
 
 #, c-format
 msgid "%s: Unable to contact server."
-msgstr ""
+msgstr "%s: サーバーに連絡できません。"
 
 #, c-format
 msgid "%s: Unable to determine MIME type of \"%s\"."
-msgstr ""
+msgstr "%s: \"%s\" の MIME タイプを判別できません。"
 
 #, c-format
 msgid "%s: Unable to open %s: %s"
-msgstr ""
+msgstr "%s: %s を開けません: %s"
 
 #, c-format
 msgid "%s: Unable to open PPD file: %s on line %d."
-msgstr ""
+msgstr "%s: PPD ファイルを開けません: %s の %d 行目"
 
 #, c-format
 msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"."
 msgstr ""
+"%s: \"%s\" または \"%s\" から MIME データベースを読み取ることができません。"
 
 #, c-format
 msgid "%s: Unknown destination \"%s\"."
-msgstr ""
+msgstr "%s: \"%s\" は未知の宛先です。"
 
 #, c-format
 msgid "%s: Unknown destination MIME type %s/%s."
-msgstr ""
+msgstr "%s: %s/%s は未知の宛先 MIME タイプです。"
 
 #, c-format
 msgid "%s: Unknown option \"%c\"."
-msgstr ""
+msgstr "%s: '%c' は未知のオプションです。"
 
 #, c-format
 msgid "%s: Unknown source MIME type %s/%s."
-msgstr ""
+msgstr "%s: %s/%s は未知のソース MIME タイプです。"
 
 #, c-format
 msgid ""
 "%s: Warning - \"%c\" format modifier not supported - output may not be "
 "correct."
 msgstr ""
+"%s: 警告 - '%c' 形式修飾子はサポートされていません - 出力は正しくないものにな"
+"るかもしれません。"
 
 #, c-format
 msgid "%s: Warning - character set option ignored."
-msgstr ""
+msgstr "%s: 警告 - 文字セットオプションは無視されます。"
 
 #, c-format
 msgid "%s: Warning - content type option ignored."
-msgstr ""
+msgstr "%s: 警告 - コンテンツタイプオプションは無視されます。"
 
 #, c-format
 msgid "%s: Warning - form option ignored."
-msgstr ""
+msgstr "%s: 警告 - 用紙オプションは無視されます。"
 
 #, c-format
 msgid "%s: Warning - mode option ignored."
-msgstr ""
+msgstr "%s: 警告 - モードオプションは無視されます。"
 
 msgid "-1"
 msgstr "-1"
@@ -1491,25 +1592,25 @@ msgid "1 inch/sec."
 msgstr "1 インチ/秒"
 
 msgid "1.25x0.25\""
-msgstr "1.25x0.25インチ"
+msgstr "1.25x0.25 インチ"
 
 msgid "1.25x2.25\""
-msgstr "1.25x2.25インチ"
+msgstr "1.25x2.25 インチ"
 
 msgid "1.5 inch/sec."
 msgstr "1.5 インチ/秒"
 
 msgid "1.50x0.25\""
-msgstr "1.50x0.25インチ"
+msgstr "1.50x0.25 インチ"
 
 msgid "1.50x0.50\""
-msgstr "1.50x0.50インチ"
+msgstr "1.50x0.50 インチ"
 
 msgid "1.50x1.00\""
-msgstr "1.50x1.00インチ"
+msgstr "1.50x1.00 インチ"
 
 msgid "1.50x2.00\""
-msgstr "1.50x2.00インチ"
+msgstr "1.50x2.00 インチ"
 
 msgid "10"
 msgstr "10"
@@ -1518,13 +1619,13 @@ msgid "10 inches/sec."
 msgstr "10 インチ/秒"
 
 msgid "10 x 11"
-msgstr ""
+msgstr "10 x 11 インチ"
 
 msgid "10 x 13"
-msgstr ""
+msgstr "10 x 13 インチ"
 
 msgid "10 x 14"
-msgstr ""
+msgstr "10 x 14 インチ"
 
 msgid "100"
 msgstr "100"
@@ -1554,7 +1655,7 @@ msgid "12 inches/sec."
 msgstr "12 インチ/秒"
 
 msgid "12 x 11"
-msgstr ""
+msgstr "12 x 11 インチ"
 
 msgid "120"
 msgstr "120"
@@ -1584,7 +1685,7 @@ msgid "15 mm/sec."
 msgstr "15 ミリメートル/秒"
 
 msgid "15 x 11"
-msgstr ""
+msgstr "15 x 11 インチ"
 
 msgid "150 mm/sec."
 msgstr "150 ミリメートル/秒"
@@ -1617,58 +1718,58 @@ msgid "2-Sided Printing"
 msgstr "両面印刷"
 
 msgid "2.00x0.37\""
-msgstr "2.00x0.37インチ"
+msgstr "2.00x0.37 インチ"
 
 msgid "2.00x0.50\""
-msgstr "2.00x0.50インチ"
+msgstr "2.00x0.50 インチ"
 
 msgid "2.00x1.00\""
-msgstr "2.00x1.00インチ"
+msgstr "2.00x1.00 インチ"
 
 msgid "2.00x1.25\""
-msgstr "2.00x1.25インチ"
+msgstr "2.00x1.25 インチ"
 
 msgid "2.00x2.00\""
-msgstr "2.00x2.00インチ"
+msgstr "2.00x2.00 インチ"
 
 msgid "2.00x3.00\""
-msgstr "2.00x3.00インチ"
+msgstr "2.00x3.00 インチ"
 
 msgid "2.00x4.00\""
-msgstr "2.00x4.00インチ"
+msgstr "2.00x4.00 インチ"
 
 msgid "2.00x5.50\""
-msgstr "2.00x5.50インチ"
+msgstr "2.00x5.50 インチ"
 
 msgid "2.25x0.50\""
-msgstr "2.25x0.50インチ"
+msgstr "2.25x0.50 インチ"
 
 msgid "2.25x1.25\""
-msgstr "2.25x1.25インチ"
+msgstr "2.25x1.25 インチ"
 
 msgid "2.25x4.00\""
-msgstr "2.25x4.00インチ"
+msgstr "2.25x4.00 インチ"
 
 msgid "2.25x5.50\""
-msgstr "2.25x5.50インチ"
+msgstr "2.25x5.50 インチ"
 
 msgid "2.38x5.50\""
-msgstr "2.38x5.50インチ"
+msgstr "2.38x5.50 インチ"
 
 msgid "2.5 inches/sec."
 msgstr "2.5 インチ/秒"
 
 msgid "2.50x1.00\""
-msgstr "2.50x1.00インチ"
+msgstr "2.50x1.00 インチ"
 
 msgid "2.50x2.00\""
-msgstr "2.50x2.00インチ"
+msgstr "2.50x2.00 インチ"
 
 msgid "2.75x1.25\""
-msgstr "2.75x1.25インチ"
+msgstr "2.75x1.25 インチ"
 
 msgid "2.9 x 1\""
-msgstr "2.9 x 1インチ"
+msgstr "2.9 x 1 インチ"
 
 msgid "20"
 msgstr "20"
@@ -1695,7 +1796,7 @@ msgid "24"
 msgstr "24"
 
 msgid "24-Pin Series"
-msgstr "24ピンシリーズ"
+msgstr "24 ピンシリーズ"
 
 msgid "240x72dpi"
 msgstr "240x72dpi"
@@ -1725,49 +1826,46 @@ msgid "3 inches/sec."
 msgstr "3 インチ/秒"
 
 msgid "3 x 5"
-msgstr ""
+msgstr "3 x 5"
 
 msgid "3.00x1.00\""
-msgstr "3.00x1.00インチ"
+msgstr "3.00x1.00 インチ"
 
 msgid "3.00x1.25\""
-msgstr "3.00x1.25インチ"
+msgstr "3.00x1.25 インチ"
 
 msgid "3.00x2.00\""
-msgstr "3.00x2.00インチ"
+msgstr "3.00x2.00 インチ"
 
 msgid "3.00x3.00\""
 msgstr "3.00x3.00インチ"
 
 msgid "3.00x5.00\""
-msgstr "3.00x5.00インチ"
+msgstr "3.00x5.00 インチ"
 
 msgid "3.25x2.00\""
-msgstr "3.25x2.00インチ"
+msgstr "3.25x2.00 インチ"
 
 msgid "3.25x5.00\""
-msgstr "3.25x5.00インチ"
+msgstr "3.25x5.00 インチ"
 
 msgid "3.25x5.50\""
-msgstr "3.25x5.50インチ"
+msgstr "3.25x5.50 インチ"
 
 msgid "3.25x5.83\""
-msgstr "3.25x5.83インチ"
+msgstr "3.25x5.83 インチ"
 
 msgid "3.25x7.83\""
-msgstr "3.25x7.83インチ"
+msgstr "3.25x7.83 インチ"
 
 msgid "3.5 x 5"
-msgstr ""
+msgstr "3.5 x 5"
 
 msgid "3.5\" Disk"
-msgstr "3.5 インチDisk"
-
-msgid "3.5\" Disk - 2 1/8 x 2 3/4\""
-msgstr "3.5インチ Disk - 2 1/8 x 2 3/4インチ"
+msgstr "3.5 インチディスク"
 
 msgid "3.50x1.00\""
-msgstr "3.50x1.00インチ"
+msgstr "3.50x1.00 インチ"
 
 msgid "30"
 msgstr "30"
@@ -1797,31 +1895,31 @@ msgid "4 inches/sec."
 msgstr "4 インチ/秒"
 
 msgid "4.00x1.00\""
-msgstr "4.00x1.00インチ"
+msgstr "4.00x1.00 インチ"
 
 msgid "4.00x13.00\""
-msgstr "4.00x13.00インチ"
+msgstr "4.00x13.00 インチ"
 
 msgid "4.00x2.00\""
-msgstr "4.00x2.00インチ"
+msgstr "4.00x2.00 インチ"
 
 msgid "4.00x2.50\""
-msgstr "4.00x2.50インチ"
+msgstr "4.00x2.50 インチ"
 
 msgid "4.00x3.00\""
-msgstr "4.00x3.00インチ"
+msgstr "4.00x3.00 インチ"
 
 msgid "4.00x4.00\""
-msgstr "4.00x4.00インチ"
+msgstr "4.00x4.00 インチ"
 
 msgid "4.00x5.00\""
-msgstr "4.00x5.00インチ"
+msgstr "4.00x5.00 インチ"
 
 msgid "4.00x6.00\""
-msgstr "4.00x6.00インチ"
+msgstr "4.00x6.00 インチ"
 
 msgid "4.00x6.50\""
-msgstr "4.00x6.50インチ"
+msgstr "4.00x6.50 インチ"
 
 msgid "40"
 msgstr "40"
@@ -1839,7 +1937,7 @@ msgid "5 inches/sec."
 msgstr "5 インチ/秒"
 
 msgid "5 x 7"
-msgstr ""
+msgstr "5 x 7 インチ"
 
 msgid "50"
 msgstr "50"
@@ -1854,31 +1952,31 @@ msgid "6 inches/sec."
 msgstr "6 インチ/秒"
 
 msgid "6.00x1.00\""
-msgstr "6.00x1.00\""
+msgstr "6.00x1.00 インチ"
 
 msgid "6.00x2.00\""
-msgstr "6.00x2.00\""
+msgstr "6.00x2.00 インチ"
 
 msgid "6.00x3.00\""
-msgstr "6.00x3.00\""
+msgstr "6.00x3.00 インチ"
 
 msgid "6.00x4.00\""
-msgstr "6.00x4.00\""
+msgstr "6.00x4.00 インチ"
 
 msgid "6.00x5.00\""
-msgstr "6.00x5.00\""
+msgstr "6.00x5.00 インチ"
 
 msgid "6.00x6.00\""
-msgstr "6.00x6.00\""
+msgstr "6.00x6.00 インチ"
 
 msgid "6.00x6.50\""
-msgstr "6.00x6.50\""
+msgstr "6.00x6.50 インチ"
 
 msgid "60"
 msgstr "60"
 
 msgid "60 mm/sec."
-msgstr "60 mm/秒"
+msgstr "60 ミリメートル/秒"
 
 msgid "600dpi"
 msgstr "600dpi"
@@ -1887,7 +1985,7 @@ msgid "60dpi"
 msgstr "60dpi"
 
 msgid "60x72dpi"
-msgstr ""
+msgstr "60x72dpi"
 
 msgid "65"
 msgstr "65"
@@ -1899,7 +1997,7 @@ msgid "7 inches/sec."
 msgstr "7 インチ/秒"
 
 msgid "7 x 9"
-msgstr ""
+msgstr "7 x 9 インチ"
 
 msgid "70"
 msgstr "70"
@@ -1917,34 +2015,34 @@ msgid "8 inches/sec."
 msgstr "8 インチ/秒"
 
 msgid "8 x 10"
-msgstr ""
+msgstr "8 x 10 インチ"
 
 msgid "8.00x1.00\""
-msgstr "8.00x1.00\""
+msgstr "8.00x1.00 インチ"
 
 msgid "8.00x2.00\""
-msgstr "8.00x2.00\""
+msgstr "8.00x2.00 インチ"
 
 msgid "8.00x3.00\""
-msgstr "8.00x3.00\""
+msgstr "8.00x3.00 インチ"
 
 msgid "8.00x4.00\""
-msgstr "8.00x4.00\""
+msgstr "8.00x4.00 インチ"
 
 msgid "8.00x5.00\""
-msgstr "8.00x5.00\""
+msgstr "8.00x5.00 インチ"
 
 msgid "8.00x6.00\""
-msgstr "8.00x6.00\""
+msgstr "8.00x6.00 インチ"
 
 msgid "8.00x6.50\""
-msgstr "8.00x6.50\""
+msgstr "8.00x6.50 インチ"
 
 msgid "80"
 msgstr "80"
 
 msgid "80 mm/sec."
-msgstr "80 mm/秒"
+msgstr "80 ミリメートル/秒"
 
 msgid "85"
 msgstr "85"
@@ -1956,13 +2054,13 @@ msgid "9 inches/sec."
 msgstr "9 インチ/秒"
 
 msgid "9 x 11"
-msgstr ""
+msgstr "9 x 11 インチ"
 
 msgid "9 x 12"
-msgstr ""
+msgstr "9 x 12 インチ"
 
 msgid "9-Pin Series"
-msgstr "9-Pin Series"
+msgstr "9 ピンシリーズ"
 
 msgid "90"
 msgstr "90"
@@ -1971,33 +2069,35 @@ msgid "95"
 msgstr "95"
 
 msgid "?Invalid help command unknown."
-msgstr ""
+msgstr "?無効なヘルプコマンドです"
 
 msgid "A Samba password is required to export printer drivers"
 msgstr ""
+"プリンタードライバーをエクスポートするには Samba のパスワードが必要です。"
 
 msgid "A Samba username is required to export printer drivers"
 msgstr ""
+"プリンタードライバーをエクスポートするには、Samba のユーザー名が必要です。"
 
 #, c-format
 msgid "A class named \"%s\" already exists."
-msgstr ""
+msgstr "\"%s\" という名前のクラスはすでに存在します。"
 
 #, c-format
 msgid "A printer named \"%s\" already exists."
-msgstr ""
+msgstr "\"%s\" という名前のプリンターはすでに存在します。"
 
 msgid "A0"
 msgstr "A0"
 
 msgid "A0 Long Edge"
-msgstr ""
+msgstr "A0 長辺送り"
 
 msgid "A1"
 msgstr "A1"
 
 msgid "A1 Long Edge"
-msgstr ""
+msgstr "A1 長辺送り"
 
 msgid "A10"
 msgstr "A10"
@@ -2006,46 +2106,46 @@ msgid "A2"
 msgstr "A2"
 
 msgid "A2 Long Edge"
-msgstr ""
+msgstr "A2 長辺送り"
 
 msgid "A3"
 msgstr "A3"
 
 msgid "A3 Long Edge"
-msgstr ""
+msgstr "A3 長辺送り"
 
 msgid "A3 Oversize"
-msgstr ""
+msgstr "A3 (特大)"
 
 msgid "A3 Oversize Long Edge"
-msgstr ""
+msgstr "A3 (特大) 長辺送り"
 
 msgid "A4"
 msgstr "A4"
 
 msgid "A4 Long Edge"
-msgstr ""
+msgstr "A4 長辺送り"
 
 msgid "A4 Oversize"
-msgstr ""
+msgstr "A4 (特大)"
 
 msgid "A4 Small"
-msgstr ""
+msgstr "A4 (小)"
 
 msgid "A5"
 msgstr "A5"
 
 msgid "A5 Long Edge"
-msgstr ""
+msgstr "A5 長辺送り"
 
 msgid "A5 Oversize"
-msgstr ""
+msgstr "A5 (特大)"
 
 msgid "A6"
 msgstr "A6"
 
 msgid "A6 Long Edge"
-msgstr ""
+msgstr "A6 長辺送り"
 
 msgid "A7"
 msgstr "A7"
@@ -2075,19 +2175,19 @@ msgid "ARCH C"
 msgstr "ARCH C"
 
 msgid "ARCH C Long Edge"
-msgstr ""
+msgstr "ARCH C 長辺送り"
 
 msgid "ARCH D"
 msgstr "ARCH D"
 
 msgid "ARCH D Long Edge"
-msgstr ""
+msgstr "ARCH D 長辺送り"
 
 msgid "ARCH E"
 msgstr "ARCH E"
 
 msgid "ARCH E Long Edge"
-msgstr ""
+msgstr "ARCH E 長辺送り"
 
 msgid "Accept Jobs"
 msgstr "ジョブの受け付け"
@@ -2107,9 +2207,6 @@ msgstr "RSS 購読を追加"
 msgid "Address"
 msgstr "アドレス"
 
-msgid "Address - 1 1/8 x 3 1/2\""
-msgstr "アドレス - 1 1/8 x 3 1/2\""
-
 msgid "Administration"
 msgstr "管理"
 
@@ -2124,11 +2221,11 @@ msgstr "アプリケーター"
 
 #, c-format
 msgid "Attempt to set %s printer-state to bad value %d."
-msgstr ""
+msgstr "%s printer-state に 不正な値 %d を設定しようとしています。"
 
 #, c-format
 msgid "Attribute groups are out of order (%x < %x)."
-msgstr ""
+msgstr "属性グループは範囲外です (%x < %x)。"
 
 msgid "B0"
 msgstr "B0"
@@ -2152,7 +2249,7 @@ msgid "B5"
 msgstr "B5"
 
 msgid "B5 Oversize"
-msgstr ""
+msgstr "B5 (特大)"
 
 msgid "B6"
 msgstr "B6"
@@ -2166,6 +2263,10 @@ msgstr "B8"
 msgid "B9"
 msgstr "B9"
 
+#, c-format
+msgid "Bad 'document-format' value \"%s\"."
+msgstr ""
+
 msgid "Bad NULL dests pointer"
 msgstr "不正な NULL 送信先ポインター"
 
@@ -2179,7 +2280,7 @@ msgid "Bad OrderDependency"
 msgstr "不正な OrderDependency"
 
 msgid "Bad PPD cache file."
-msgstr ""
+msgstr "不正な PPD キャッシュファイルです。"
 
 msgid "Bad Request"
 msgstr "不正なリクエスト"
@@ -2191,83 +2292,64 @@ msgid "Bad UIConstraints"
 msgstr "不正な UIConstraints"
 
 #, c-format
-msgid "Bad charset file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad charset type: %s"
-msgstr ""
-
-#, c-format
-msgid "Bad columns value %d."
-msgstr ""
-
-#, c-format
 msgid "Bad copies value %d."
 msgstr "%d は不正なコピー値です。"
 
-#, c-format
-msgid "Bad cpi value %f."
-msgstr ""
-
 msgid "Bad custom parameter"
 msgstr "不正なカスタムパラメーター"
 
 #, c-format
 msgid "Bad device-uri \"%s\"."
-msgstr ""
+msgstr "\"%s\" は無効な device-uri です。"
 
 #, c-format
 msgid "Bad device-uri scheme \"%s\"."
-msgstr ""
+msgstr "\"%s\" は無効な device-uri スキーマです。"
 
 #, c-format
 msgid "Bad document-format \"%s\"."
-msgstr ""
+msgstr "\"%s\" は不正な document-format です。"
 
 #, c-format
 msgid "Bad document-format-default \"%s\"."
-msgstr ""
+msgstr "\"%s\" は不正な document-format-default です。"
 
 msgid "Bad filename buffer"
+msgstr "不正なファイル名バッファーです。"
+
+msgid "Bad job-name value: Bad UTF-8 sequence."
 msgstr ""
 
-#, c-format
-msgid "Bad font description line \"%s\"."
+msgid "Bad job-name value: Name too long."
 msgstr ""
 
-#, c-format
-msgid "Bad font description line: %s"
+msgid "Bad job-name value: Wrong type or count."
 msgstr ""
 
 msgid "Bad job-priority value."
-msgstr ""
+msgstr "不正な job-priority 値です。"
 
 #, c-format
 msgid "Bad job-sheets value \"%s\"."
-msgstr ""
+msgstr "\"%s\" は不正な job-sheets 値です。"
 
 msgid "Bad job-sheets value type."
-msgstr ""
+msgstr "不正な job-sheets 値タイプ です。"
 
 msgid "Bad job-state value."
-msgstr ""
+msgstr "不正な job-state 値です。"
 
 #, c-format
 msgid "Bad job-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad lpi value %f."
-msgstr ""
+msgstr "\"%s\" は無効な job-uri 属性です。"
 
 #, c-format
 msgid "Bad notify-pull-method \"%s\"."
-msgstr ""
+msgstr "\"%s\" は無効な notify-pull-method です。"
 
 #, c-format
 msgid "Bad notify-recipient-uri \"%s\"."
-msgstr ""
+msgstr "URI \"%s\" は不正な notify-recipient-uri です。"
 
 #, c-format
 msgid "Bad number-up value %d."
@@ -2275,7 +2357,7 @@ msgstr "%d は不正な number-up 値です。"
 
 #, c-format
 msgid "Bad option + choice on line %d."
-msgstr ""
+msgstr "%d 行に不正なオプションと選択があります。"
 
 #, c-format
 msgid "Bad page-ranges values %d-%d."
@@ -2283,57 +2365,41 @@ msgstr "%d-%d は不正な page-ranges 値です。"
 
 #, c-format
 msgid "Bad port-monitor \"%s\"."
-msgstr ""
+msgstr "\"%s\" は無効な port-monitor です。"
+
+msgid "Bad printer URI."
+msgstr "不正なプリンター URI です。"
 
 #, c-format
 msgid "Bad printer-state value %d."
-msgstr ""
+msgstr "%d は無効な printer-state 値です。"
 
 #, c-format
 msgid "Bad request ID %d."
-msgstr ""
+msgstr "%d は無効なリクエストIDです。"
 
 #, c-format
 msgid "Bad request version number %d.%d."
-msgstr ""
+msgstr "バージョン番号 %d.%d は無効なリクエストです。"
 
 msgid "Bad subscription ID"
-msgstr ""
-
-#, c-format
-msgid "Bad text direction \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad text direction: %s"
-msgstr ""
-
-#, c-format
-msgid "Bad text width \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad text width: %s"
-msgstr ""
+msgstr "不正なサブスクリプション ID です。"
 
 msgid "Bad value string"
-msgstr ""
+msgstr "値文字列がありません"
 
 msgid "Banners"
 msgstr "バナー"
 
-msgid "Billing Information: "
-msgstr "課金情報: "
-
 msgid "Bond Paper"
 msgstr "ボンド紙"
 
 #, c-format
 msgid "Boolean expected for waiteof option \"%s\"."
-msgstr ""
+msgstr "論理値は、waiteof オプション \"%s\" であるべきです"
 
 msgid "Buffer overflow detected, aborting."
-msgstr ""
+msgstr "オーバーフローが検出され、中断しました。"
 
 msgid "CMYK"
 msgstr "CMYK"
@@ -2345,20 +2411,20 @@ msgid "Cancel RSS Subscription"
 msgstr "RSS 購読をキャンセル"
 
 msgid "Canceling print job."
-msgstr ""
+msgstr "プリントジョブをキャンセルしています。"
 
 msgid "Cannot share a remote Kerberized printer."
-msgstr ""
+msgstr "リモートの Kerberos 認証のプリンターを共有できません。"
 
 msgid "Cassette"
-msgstr ""
+msgstr "カセット"
 
 msgid "Change Settings"
 msgstr "設定の変更"
 
 #, c-format
 msgid "Character set \"%s\" not supported."
-msgstr ""
+msgstr "文字セット \"%s\" はサポートされていません。"
 
 msgid "Classes"
 msgstr "クラス"
@@ -2367,7 +2433,7 @@ msgid "Clean Print Heads"
 msgstr "プリントヘッドクリーニング"
 
 msgid "Close-Job doesn't support the job-uri attribute."
-msgstr ""
+msgstr "Close-Job は job-uri 属性をサポートしていません。"
 
 msgid "Color"
 msgstr "カラー"
@@ -2380,15 +2446,18 @@ msgid ""
 "\n"
 "exit    help    quit    status  ?"
 msgstr ""
+"コマンドは短縮できます。  コマンド:\n"
+"\n"
+"exit    help    quit    status  ?"
 
 msgid "Community name uses indefinite length"
 msgstr "コミュニティ名の長さが不定"
 
 msgid "Connected to printer."
-msgstr ""
+msgstr "プリンターに接続しました。"
 
 msgid "Connecting to printer."
-msgstr ""
+msgstr "プリンターに接続中。"
 
 msgid "Continue"
 msgstr "継続"
@@ -2397,17 +2466,14 @@ msgid "Continuous"
 msgstr "連続"
 
 msgid "Control file sent successfully."
-msgstr ""
+msgstr "コントロールファイルが正常に送信されました。"
 
 msgid "Copying print data."
-msgstr ""
+msgstr "印刷データをコピーしています。"
 
 msgid "Created"
 msgstr "ジョブ作成"
 
-msgid "Created On: "
-msgstr "ジョブ作成日: "
-
 msgid "Custom"
 msgstr "カスタム"
 
@@ -2430,7 +2496,7 @@ msgid "Darkness"
 msgstr "濃さ"
 
 msgid "Data file sent successfully."
-msgstr ""
+msgstr "データファイルが正常に送信されました"
 
 msgid "Delete Class"
 msgstr "クラスの削除"
@@ -2438,11 +2504,8 @@ msgstr "クラスの削除"
 msgid "Delete Printer"
 msgstr "プリンターの削除"
 
-msgid "Description: "
-msgstr "説明: "
-
 msgid "DeskJet Series"
-msgstr "DeskJet Series"
+msgstr "DeskJet シリーズ"
 
 #, c-format
 msgid "Destination \"%s\" is not accepting jobs."
@@ -2457,42 +2520,45 @@ msgid ""
 "        device-id = %s\n"
 "        location = %s"
 msgstr ""
+"デバイス: uri = %s\n"
+"          class = %s\n"
+"          info = %s\n"
+"          make-and-model = %s\n"
+"          device-id = %s\n"
+"          location = %s"
 
 msgid "Direct Thermal Media"
 msgstr "感熱紙"
 
 #, c-format
 msgid "Directory \"%s\" contains a relative path."
-msgstr ""
+msgstr "ディレクトリー \"%s\" は相対パスを含んでいます。"
 
 #, c-format
 msgid "Directory \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
 msgstr ""
+"ディレクトリー \"%s\" は安全でないパーミッションが与えられています (0%o/uid="
+"%d/gid=%d)。"
 
 #, c-format
 msgid "Directory \"%s\" is a file."
-msgstr ""
+msgstr "ディレクトリー \"%s\" はファイルです。"
 
 #, c-format
 msgid "Directory \"%s\" not available: %s"
-msgstr ""
+msgstr "ディレクトリー \"%s\" は利用できません: %s"
 
 #, c-format
 msgid "Directory \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
 msgstr ""
+"ディレクトリー \"%s\" のパーミッションは問題ありません (0%o/uid=%d/gid=%d)。"
 
 msgid "Disabled"
 msgstr "無効"
 
 #, c-format
 msgid "Document #%d does not exist in job #%d."
-msgstr ""
-
-msgid "Driver Name: "
-msgstr "ドライバー名: "
-
-msgid "Driver Version: "
-msgstr "ドライバーバージョン: "
+msgstr "ドキュメント #%d がジョブ #%d に見つかりません。"
 
 msgid "Duplexer"
 msgstr "両面オプション"
@@ -2510,14 +2576,14 @@ msgid "Edit Configuration File"
 msgstr "設定ファイルの編集"
 
 msgid "Empty PPD file."
-msgstr ""
+msgstr "PPD ファイルが空です。"
 
 #. TRANSLATORS: Banner/cover sheet after the print job.
 msgid "Ending Banner"
 msgstr "終了バナー"
 
 msgid "English"
-msgstr "Japanese"
+msgstr "English"
 
 msgid "Enter old password:"
 msgstr "古いパスワードを入力:"
@@ -2538,163 +2604,163 @@ msgstr ""
 "場合、有効な Kerberos チケットがあることを確認してください。"
 
 msgid "Envelope #10 "
-msgstr ""
+msgstr "封筒 #10"
 
 msgid "Envelope #11"
-msgstr ""
+msgstr "封筒 #11"
 
 msgid "Envelope #12"
-msgstr ""
+msgstr "封筒 #12"
 
 msgid "Envelope #14"
-msgstr ""
+msgstr "封筒 #14"
 
 msgid "Envelope #9"
-msgstr ""
+msgstr "封筒 #9"
 
 msgid "Envelope B4"
-msgstr ""
+msgstr "封筒 B4"
 
 msgid "Envelope B5"
-msgstr ""
+msgstr "封筒 B5"
 
 msgid "Envelope B6"
-msgstr ""
+msgstr "封筒 B6"
 
 msgid "Envelope C0"
-msgstr ""
+msgstr "封筒 C0"
 
 msgid "Envelope C1"
-msgstr ""
+msgstr "封筒 C1"
 
 msgid "Envelope C2"
-msgstr ""
+msgstr "封筒 C2"
 
 msgid "Envelope C3"
-msgstr ""
+msgstr "封筒 C3"
 
 msgid "Envelope C4"
-msgstr ""
+msgstr "封筒 C4"
 
 msgid "Envelope C5"
-msgstr ""
+msgstr "封筒 C5"
 
 msgid "Envelope C6"
-msgstr ""
+msgstr "封筒 C6"
 
 msgid "Envelope C65"
-msgstr ""
+msgstr "封筒 C65"
 
 msgid "Envelope C7"
-msgstr ""
+msgstr "封筒 C7"
 
 msgid "Envelope Choukei 3"
-msgstr ""
+msgstr "封筒 長形3号"
 
 msgid "Envelope Choukei 3 Long Edge"
-msgstr ""
+msgstr "封筒 長形3号 長辺送り"
 
 msgid "Envelope Choukei 4"
-msgstr ""
+msgstr "封筒 長形4号"
 
 msgid "Envelope Choukei 4 Long Edge"
-msgstr ""
+msgstr "封筒 長形4号 長辺送り"
 
 msgid "Envelope DL"
-msgstr ""
+msgstr "封筒 DL"
 
 msgid "Envelope Feed"
 msgstr "封筒フィード"
 
 msgid "Envelope Invite"
-msgstr ""
+msgstr "招待状封筒"
 
 msgid "Envelope Italian"
-msgstr ""
+msgstr "イタリア封筒"
 
 msgid "Envelope Kaku2"
-msgstr ""
+msgstr "封筒 角2"
 
 msgid "Envelope Kaku2 Long Edge"
-msgstr ""
+msgstr "封筒 角2 長辺送り"
 
 msgid "Envelope Kaku3"
-msgstr ""
+msgstr "封筒 角3"
 
 msgid "Envelope Kaku3 Long Edge"
-msgstr ""
+msgstr "封筒 角3 長辺送り"
 
 msgid "Envelope Monarch"
-msgstr ""
+msgstr "封筒 Monarch"
 
 msgid "Envelope PRC1 "
-msgstr ""
+msgstr "封筒 PRC1"
 
 msgid "Envelope PRC1 Long Edge"
-msgstr ""
+msgstr "封筒 PRC1 長辺送り"
 
 msgid "Envelope PRC10"
-msgstr ""
+msgstr "封筒 PRC10"
 
 msgid "Envelope PRC10 Long Edge"
-msgstr ""
+msgstr "封筒 PRC10 長辺送り"
 
 msgid "Envelope PRC2"
-msgstr ""
+msgstr "封筒 PRC2"
 
 msgid "Envelope PRC2 Long Edge"
-msgstr ""
+msgstr "封筒 PRC2 長辺送り"
 
 msgid "Envelope PRC3"
-msgstr ""
+msgstr "封筒 PRC3"
 
 msgid "Envelope PRC3 Long Edge"
-msgstr ""
+msgstr "封筒 PRC3 長辺送り"
 
 msgid "Envelope PRC4"
-msgstr ""
+msgstr "封筒 PRC4"
 
 msgid "Envelope PRC4 Long Edge"
-msgstr ""
+msgstr "封筒 PRC4 長辺送り"
 
 msgid "Envelope PRC5 Long Edge"
-msgstr ""
+msgstr "封筒 PRC5 長辺送り"
 
 msgid "Envelope PRC5PRC5"
-msgstr ""
+msgstr "封筒 PRC5"
 
 msgid "Envelope PRC6"
-msgstr ""
+msgstr "封筒 PRC6"
 
 msgid "Envelope PRC6 Long Edge"
-msgstr ""
+msgstr "封筒 PRC6 長辺送り"
 
 msgid "Envelope PRC7"
-msgstr ""
+msgstr "封筒 PRC7"
 
 msgid "Envelope PRC7 Long Edge"
-msgstr ""
+msgstr "封筒 PRC7 長辺送り"
 
 msgid "Envelope PRC8"
-msgstr ""
+msgstr "封筒 PRC8"
 
 msgid "Envelope PRC8 Long Edge"
-msgstr ""
+msgstr "封筒 PRC8 長辺送り"
 
 msgid "Envelope PRC9"
-msgstr ""
+msgstr "封筒 PRC9"
 
 msgid "Envelope PRC9 Long Edge"
-msgstr ""
+msgstr "封筒 PRC9 長辺送り"
 
 msgid "Envelope Personal"
-msgstr ""
+msgstr "パーソナル封筒"
 
 msgid "Envelope You4"
-msgstr ""
+msgstr "封筒 洋形4号"
 
 msgid "Envelope You4 Long Edge"
-msgstr ""
+msgstr "封筒 洋形4号 長辺送り"
 
 msgid "Epson"
 msgstr "Epson"
@@ -2703,10 +2769,10 @@ msgid "Error Policy"
 msgstr "エラーポリシー"
 
 msgid "Error sending raster data."
-msgstr ""
+msgstr "ラスターデータの送信でエラーが起きました。"
 
 msgid "Error: need hostname after \"-h\" option."
-msgstr ""
+msgstr "Error: '-h' オプションのあとにはホスト名が必要です。"
 
 msgid "Every 10 Labels"
 msgstr "10 ラベルごと"
@@ -2739,61 +2805,62 @@ msgid "Every Label"
 msgstr "すべてのラベル"
 
 msgid "Executive"
-msgstr ""
+msgstr "エグゼクティブ"
 
 msgid "Expectation Failed"
-msgstr "Expectation Failed"
+msgstr "予測に失敗しました"
 
 msgid "Export Printers to Samba"
 msgstr "Samba へプリンターをエクスポート"
 
 msgid "FAIL"
-msgstr ""
+msgstr "失敗"
 
 msgid "FanFold German"
-msgstr ""
+msgstr "FanFold German"
 
 msgid "FanFold Legal German"
-msgstr ""
+msgstr "FanFold Legal German"
 
 msgid "Fanfold US"
-msgstr ""
+msgstr "Fanfold US"
 
 #, c-format
 msgid "File \"%s\" contains a relative path."
-msgstr ""
+msgstr "ファイル \"%s\" は相対パスを含んでいます。"
 
 #, c-format
 msgid "File \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
 msgstr ""
+"ファイル \"%s\" は安全でないパーミッションが与えられています (0%o/uid=%d/gid="
+"%d)。"
 
 #, c-format
 msgid "File \"%s\" is a directory."
-msgstr ""
+msgstr "ファイル \"%s\" はディレクトリーです。"
 
 #, c-format
 msgid "File \"%s\" not available: %s"
-msgstr ""
+msgstr "ファイル \"%s\" は利用できません: %s"
 
 #, c-format
 msgid "File \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
-msgstr ""
+msgstr "ファイル \"%s\" のパーミッションは問題ありません (0%o/uid=%d/gid=%d)。"
 
-msgid "File Folder"
+msgid "File Folder "
 msgstr "ファイルフォルダー"
 
-msgid "File Folder - 9/16 x 3 7/16\""
-msgstr "ファイルフォルダー - 9/16 x 3 7/16\""
-
 #, c-format
 msgid ""
 "File device URIs have been disabled. To enable, see the FileDevice directive "
-"in \"%s/cupsd.conf\"."
+"in \"%s/cups-files.conf\"."
 msgstr ""
+"ファイルデバイス URI は無効になっています。有効にするには、\"%s/cups-files."
+"conf\" の FileDevice ディレクティブを参照してください。"
 
 #, c-format
 msgid "Finished page %d."
-msgstr ""
+msgstr "ページ %d を終了。"
 
 msgid "Folio"
 msgstr "フォリオ"
@@ -2801,10 +2868,6 @@ msgstr "フォリオ"
 msgid "Forbidden"
 msgstr "Forbidden"
 
-#, c-format
-msgid "Formatting page %d."
-msgstr ""
-
 msgid "General"
 msgstr "一般"
 
@@ -2818,7 +2881,7 @@ msgid "Glossy Paper"
 msgstr "光沢紙"
 
 msgid "Got a printer-uri attribute but no job-id."
-msgstr ""
+msgstr "printer-uri 属性を取得しましたが、job-id を取得できませんでした。"
 
 msgid "Grayscale"
 msgstr "グレースケール"
@@ -2829,62 +2892,74 @@ msgstr "HP"
 msgid "Hanging Folder"
 msgstr "Hanging Folder"
 
-msgid "Hanging Folder - 9/16 x 2\""
-msgstr "Hanging Folder - 9/16 x 2\""
+msgid "Help file not in index."
+msgstr "ヘルプファイルが索引に含まれていません。"
 
 msgid "IPP 1setOf attribute with incompatible value tags."
-msgstr ""
+msgstr "IPP の 1setOf 属性が value タグと互換性がありません。"
 
 msgid "IPP attribute has no name."
-msgstr ""
+msgstr "IPP の属性に名前がありません。"
+
+msgid "IPP attribute is not a member of the message."
+msgstr "IPP の属性がメッセージのメンバーではありません。"
 
 msgid "IPP begCollection value not 0 bytes."
-msgstr ""
+msgstr "IPP の begCollection は想定された 0 バイトになっていません。"
 
 msgid "IPP boolean value not 1 byte."
-msgstr ""
+msgstr "IPP の真偽値が想定された 1 バイトになっていません。"
 
 msgid "IPP date value not 11 bytes."
-msgstr ""
+msgstr "IPP の date 値は想定された 11 バイトになっていません。"
 
 msgid "IPP endCollection value not 0 bytes."
-msgstr ""
+msgstr "IPP の endCollection は想定された 0 バイトになっていません。"
 
 msgid "IPP enum value not 4 bytes."
-msgstr ""
+msgstr "IPP の enum 値は想定された 4 バイトになっていません。"
+
+msgid "IPP extension tag larger than 0x7FFFFFFF."
+msgstr "IPP の拡張タグが 0x7FFFFFFF より大きいです。"
 
 msgid "IPP integer value not 4 bytes."
-msgstr ""
+msgstr "IPP の整数値は想定された 4 バイトになっていません。"
 
 msgid "IPP language length overflows value."
-msgstr ""
+msgstr "IPP の language length の値がオーバーフローしています。"
 
 msgid "IPP member name is not empty."
+msgstr "IPP のメンバー名が空ではありません。"
+
+msgid "IPP memberName value is empty."
+msgstr "IPP の memberName の値が空です。"
+
+msgid "IPP memberName with no attribute."
 msgstr ""
 
 msgid "IPP name larger than 32767 bytes."
-msgstr ""
+msgstr "IPP 名が 32767 バイトより大きいです。"
 
 msgid "IPP nameWithLanguage value less than minimum 4 bytes."
-msgstr ""
+msgstr "IPP の nameWithLanguage が最小値 4 バイト未満です。"
 
 msgid "IPP rangeOfInteger value not 8 bytes."
-msgstr ""
+msgstr "IPP の rangeOfInteger は想定された 8 バイトになっていません。"
 
 msgid "IPP resolution value not 9 bytes."
-msgstr ""
+msgstr "IPP の resolution は想定された 9 バイトになっていません。"
 
 msgid "IPP string length overflows value."
-msgstr ""
+msgstr "IPP の文字列長の値がオーバーフローしています。"
 
 msgid "IPP textWithLanguage value less than minimum 4 bytes."
-msgstr ""
+msgstr "IPP の textWithLanguage の値が最小値 4 バイト未満です。"
 
 msgid "IPP value larger than 32767 bytes."
-msgstr ""
+msgstr "IPP の値が 32767 バイト以上です。"
 
 msgid "ISOLatin1"
-msgstr "UTF-8"
+msgstr "ISOLatin1"
 
 msgid "Illegal control character"
 msgstr "不正な制御文字"
@@ -2922,74 +2997,71 @@ msgstr "内部エラー"
 msgid "Internet Postage 2-Part"
 msgstr "Internet Postage 2-Part"
 
-msgid "Internet Postage 2-Part - 2 1/4 x 7 1/2\""
-msgstr "Internet Postage 2-Part - 2 1/4 x 7 1/2\""
-
 msgid "Internet Postage 3-Part"
 msgstr "Internet Postage 3-Part"
 
-msgid "Internet Postage 3-Part - 2 1/4 x 7\""
-msgstr "Internet Postage 3-Part - 2 1/4 x 7\""
-
 msgid "Internet Printing Protocol"
 msgstr "インターネット印刷プロトコル"
 
+msgid "Invalid media size."
+msgstr "無効なメディアサイズです。"
+
 #, c-format
 msgid "Invalid printer command \"%s\"."
-msgstr ""
+msgstr "無効なプリンターコマンドです。 \"%s\""
 
 msgid "JCL"
 msgstr "JCL"
 
 msgid "JIS B0"
-msgstr ""
+msgstr "JIS B0"
 
 msgid "JIS B1"
-msgstr ""
+msgstr "JIS B1"
 
 msgid "JIS B10"
-msgstr ""
+msgstr "JIS B10"
 
 msgid "JIS B2"
-msgstr ""
+msgstr "JIS B2"
 
 msgid "JIS B3"
-msgstr ""
+msgstr "JIS B3"
 
 msgid "JIS B4"
-msgstr ""
+msgstr "JIS B4"
 
 msgid "JIS B4 Long Edge"
-msgstr ""
+msgstr "JIS B4 長辺送り"
 
 msgid "JIS B5"
-msgstr ""
+msgstr "JIS B5"
 
 msgid "JIS B5 Long Edge"
-msgstr ""
+msgstr "JIS B5 長辺送り"
 
 msgid "JIS B6"
-msgstr ""
+msgstr "JIS B6"
 
 msgid "JIS B6 Long Edge"
-msgstr ""
+msgstr "JIS B6 長辺送り"
 
 msgid "JIS B7"
-msgstr ""
+msgstr "JIS B7"
 
 msgid "JIS B8"
-msgstr ""
+msgstr "JIS B8"
 
 msgid "JIS B9"
-msgstr ""
+msgstr "JIS B9"
 
 #, c-format
 msgid "Job #%d cannot be restarted - no files."
-msgstr ""
+msgstr "ジョブ番号 %d を再開できません - ファイルが見つかりません。"
 
 #, c-format
 msgid "Job #%d does not exist."
-msgstr ""
+msgstr "ジョブ番号 %d は存在しません。"
 
 #, c-format
 msgid "Job #%d is already aborted - can't cancel."
@@ -3005,19 +3077,19 @@ msgstr "ジョブ番号 %d はすでに完了しています - キャンセル
 
 #, c-format
 msgid "Job #%d is finished and cannot be altered."
-msgstr ""
+msgstr "ジョブ番号 %d はすでに終了し、変更できません。"
 
 #, c-format
 msgid "Job #%d is not complete."
-msgstr ""
+msgstr "ジョブ番号 %d は完了していません。"
 
 #, c-format
 msgid "Job #%d is not held for authentication."
-msgstr ""
+msgstr "ジョブ番号 %d は認証のために保留されていません。"
 
 #, c-format
 msgid "Job #%d is not held."
-msgstr ""
+msgstr "ジョブ番号 %d は保留されていません。"
 
 msgid "Job Completed"
 msgstr "ジョブ完了"
@@ -3025,29 +3097,23 @@ msgstr "ジョブ完了"
 msgid "Job Created"
 msgstr "ジョブ作成"
 
-msgid "Job ID: "
-msgstr "ジョブ ID: "
-
 msgid "Job Options Changed"
 msgstr "ジョブオプション変更"
 
 msgid "Job Stopped"
 msgstr "ジョブ中止"
 
-msgid "Job UUID: "
-msgstr "ジョブ UUID: "
-
 msgid "Job is completed and cannot be changed."
 msgstr "ジョブは完了し変更できません。"
 
-msgid "Job operation failed:"
-msgstr "ジョブ操作失敗:"
+msgid "Job operation failed"
+msgstr "ジョブ操作失敗"
 
 msgid "Job state cannot be changed."
 msgstr "ジョブの状態を変更できません。"
 
 msgid "Job subscriptions cannot be renewed."
-msgstr ""
+msgstr "ジョブサブスクリプションを更新できません。"
 
 msgid "Jobs"
 msgstr "ジョブ"
@@ -3063,22 +3129,19 @@ msgstr "ラベルトップ"
 
 #, c-format
 msgid "Language \"%s\" not supported."
-msgstr ""
+msgstr "言語 \"%s\" はサポートされていません。"
 
 msgid "Large Address"
 msgstr "ラージアドレス"
 
-msgid "Large Address - 1 4/10 x 3 1/2\""
-msgstr "ラージアドレス - 1 4/10 x 3 1/2\""
-
 msgid "LaserJet Series PCL 4/5"
 msgstr "LaserJet Series PCL 4/5"
 
 msgid "Letter Oversize"
-msgstr ""
+msgstr "US レター (特大)"
 
 msgid "Letter Oversize Long Edge"
-msgstr ""
+msgstr "US レター (特大) 長辺送り"
 
 msgid "Light"
 msgstr "薄い"
@@ -3089,33 +3152,15 @@ msgstr "1 行が最大値 (255 文字) を超えています"
 msgid "List Available Printers"
 msgstr "使用可能なプリンターをリスト化"
 
-msgid "Loading print file."
-msgstr ""
-
-msgid "Location: "
-msgstr "場所: "
-
 msgid "Long-Edge (Portrait)"
 msgstr "長辺給紙 (縦向き)"
 
 msgid "Looking for printer."
-msgstr ""
-
-msgid "Make and Model: "
-msgstr "プリンタードライバー: "
+msgstr "プリンターを探しています。"
 
 msgid "Manual Feed"
 msgstr "手差し"
 
-msgid "Media Dimensions: "
-msgstr "用紙の大きさ: "
-
-msgid "Media Limits: "
-msgstr "用紙の印字領域: "
-
-msgid "Media Name: "
-msgstr "用紙名:"
-
 msgid "Media Size"
 msgstr "用紙サイズ"
 
@@ -3132,64 +3177,60 @@ msgid "Medium"
 msgstr "紙質"
 
 msgid "Memory allocation error"
-msgstr "メモリ割り当てエラー"
+msgstr "メモリ割り当てエラー"
 
 msgid "Missing CloseGroup"
-msgstr ""
+msgstr "CloseGroup がありません"
 
 msgid "Missing PPD-Adobe-4.x header"
-msgstr "PPD-Adobe-4.x ヘッダがありません"
+msgstr "PPD-Adobe-4.x ã\83\98ã\83\83ã\83\80ã\83¼ã\81\8cã\81\82ã\82\8aã\81¾ã\81\9bã\82\93"
 
 msgid "Missing asterisk in column 1"
 msgstr "1 列目にアスタリスクがありません"
 
 msgid "Missing document-number attribute."
-msgstr ""
+msgstr "document-number 属性がありません。"
 
 #, c-format
 msgid "Missing double quote on line %d."
-msgstr ""
+msgstr "%d 行に二重引用符がありません。"
 
 msgid "Missing form variable"
-msgstr ""
+msgstr "form 変数がありません。"
 
 msgid "Missing last-document attribute in request."
-msgstr ""
+msgstr "リクエストに last-document 属性がありません。"
 
 msgid "Missing media or media-col."
-msgstr ""
+msgstr "media または media-col がありません。"
 
 msgid "Missing media-size in media-col."
-msgstr ""
+msgstr "media-col に media-size がありません。"
 
 msgid "Missing notify-subscription-ids attribute."
-msgstr ""
+msgstr "notify-subscription-ids 属性がありません。"
 
 msgid "Missing option keyword"
-msgstr ""
+msgstr "オプションキーワードがありません"
 
 msgid "Missing requesting-user-name attribute."
-msgstr ""
+msgstr "requesting-user-name 属性が設定されていません。"
 
 msgid "Missing required attributes."
-msgstr ""
-
-#, c-format
-msgid "Missing value on line %d of banner file."
-msgstr ""
+msgstr "必須の属性が設定されていません。"
 
 #, c-format
 msgid "Missing value on line %d."
-msgstr ""
+msgstr "%d 行に値がありません。"
 
 msgid "Missing value string"
 msgstr "値文字列がありません"
 
 msgid "Missing x-dimension in media-size."
-msgstr ""
+msgstr "media-size に x-dimension がありません。"
 
 msgid "Missing y-dimension in media-size."
-msgstr ""
+msgstr "media-size に y-dimension がありません。"
 
 #, c-format
 msgid ""
@@ -3198,6 +3239,10 @@ msgid ""
 "        make-and-model = %s\n"
 "        device-id = %s"
 msgstr ""
+"モデル: 名前 = %s\n"
+"        言語 = %s\n"
+"        プリンタードライバー = %s\n"
+"        デバイス ID = %s"
 
 msgid "Modify Class"
 msgstr "クラスの変更"
@@ -3221,7 +3266,7 @@ msgid "Name OID uses indefinite length"
 msgstr "OID 名は限定的な長さを使用します"
 
 msgid "Nested classes are not allowed."
-msgstr ""
+msgstr "入れ子になったクラスは許可されていません。"
 
 msgid "Never"
 msgstr "Never"
@@ -3239,38 +3284,39 @@ msgid "No Content"
 msgstr "中身がありません"
 
 msgid "No PPD name"
-msgstr ""
+msgstr "PPD の名前がありません"
 
 msgid "No VarBind SEQUENCE"
 msgstr "VarBind SEQUENCE がありません"
 
 msgid "No Windows printer drivers are installed."
-msgstr ""
+msgstr "Windows プリンタードライバーがインストールされていません。"
 
 msgid "No active connection"
 msgstr "アクティブな接続はありません"
 
 #, c-format
 msgid "No active jobs on %s."
-msgstr ""
+msgstr "%s にはアクティブなジョブはありません。"
 
 msgid "No attributes in request."
-msgstr ""
+msgstr "リクエストに属性がありません。"
 
 msgid "No authentication information provided."
-msgstr ""
+msgstr "認証情報が提供されていません。"
 
 msgid "No community name"
 msgstr "コミュニティ名がありません"
 
 msgid "No default printer."
-msgstr ""
+msgstr "デフォルトのプリンターはありません"
 
 msgid "No destinations added."
 msgstr "追加された宛先はありません"
 
 msgid "No device URI found in argv[0] or in DEVICE_URI environment variable."
 msgstr ""
+"ERROR: argv[0] または 環境変数 DEVICE_URI にデバイス URI が見つかりません。"
 
 msgid "No error-index"
 msgstr "エラーインデックスがありません"
@@ -3279,37 +3325,34 @@ msgid "No error-status"
 msgstr "エラーステータスがありません"
 
 msgid "No file in print request."
-msgstr ""
-
-msgid "No fonts in charset file."
-msgstr ""
+msgstr "印刷リクエストにファイルがありません。"
 
 msgid "No modification time"
-msgstr ""
+msgstr "変更時刻がありません。"
 
 msgid "No name OID"
 msgstr "OID 名がありません"
 
 msgid "No pages were found."
-msgstr ""
+msgstr "ERROR: ページが見つかりません。"
 
 msgid "No printer name"
-msgstr ""
+msgstr "プリンター名がありません。"
 
 msgid "No printer-uri found"
-msgstr ""
+msgstr "プリンター URI が見つかりません。"
 
 msgid "No printer-uri found for class"
-msgstr ""
+msgstr "クラスのプリンター URI が見つかりません。"
 
 msgid "No printer-uri in request."
-msgstr ""
+msgstr "プリンター URI のリクエストがありません。"
 
 msgid "No request-id"
 msgstr "リクエストID がありません"
 
 msgid "No subscription attributes in request."
-msgstr ""
+msgstr "リクエストにサブスクリプション属性がありません。"
 
 msgid "No subscriptions found."
 msgstr "サブスクリプションが見つかりません。"
@@ -3354,6 +3397,8 @@ msgid ""
 "Note: this program only validates the DSC comments, not the PostScript "
 "itself."
 msgstr ""
+"注意: このプログラムは DSC コメントを検証するだけで、PostScript 自身を検証す"
+"るものではありません。"
 
 msgid "OK"
 msgstr "OK"
@@ -3382,44 +3427,41 @@ msgstr "操作ポリシー"
 
 #, c-format
 msgid "Option \"%s\" cannot be included via %%%%IncludeFeature."
-msgstr ""
+msgstr "オプション \"%s\" は %%%%IncludeFeature 経由で含めることはできません。"
 
 msgid "Options Installed"
 msgstr "インストールされたオプション"
 
 msgid "Options:"
-msgstr ""
-
-msgid "Options: "
 msgstr "オプション:"
 
 msgid "Out of date PPD cache file."
-msgstr ""
+msgstr "PPD キャッシュファイルが古すぎます。"
 
 msgid "Out of memory."
-msgstr ""
+msgstr "メモリーが足りません。"
 
 msgid "Output Mode"
 msgstr "出力モード"
 
 #, c-format
 msgid "Output for printer %s is sent to %s"
-msgstr ""
+msgstr "プリンター %s の出力は %s に送られます"
 
 #, c-format
 msgid "Output for printer %s is sent to remote printer %s on %s"
-msgstr ""
+msgstr "プリンター %s の出力は、リモートプリンター %s (%s 上) に送られます"
 
 #, c-format
 msgid "Output for printer %s/%s is sent to %s"
-msgstr ""
+msgstr "プリンター %s/%s の出力は %s に送られます"
 
 #, c-format
 msgid "Output for printer %s/%s is sent to remote printer %s on %s"
-msgstr ""
+msgstr "プリンター %s/%s の出力は、リモートプリンター %s (%s 上) に送られます"
 
 msgid "PASS"
-msgstr ""
+msgstr "合格"
 
 msgid "PCL Laser Printer"
 msgstr "PCL レーザープリンター"
@@ -3428,19 +3470,19 @@ msgid "PRC16K"
 msgstr "PRC16K"
 
 msgid "PRC16K Long Edge"
-msgstr ""
+msgstr "PRC16K 長辺送り"
 
 msgid "PRC32K"
 msgstr "PRC32K"
 
 msgid "PRC32K Long Edge"
-msgstr ""
+msgstr "PRC32K 長辺送り"
 
 msgid "PRC32K Oversize"
-msgstr ""
+msgstr "PRC32K (特大)"
 
 msgid "PRC32K Oversize Long Edge"
-msgstr ""
+msgstr "PRC32K (特大) 長辺送り"
 
 msgid "Packet does not contain a Get-Response-PDU"
 msgstr "パケットが Get-Response-PDU を含んでいません"
@@ -3487,19 +3529,19 @@ msgid "Port Monitor"
 msgstr "ポートモニター"
 
 msgid "PostScript Printer"
-msgstr "ポストスクリプトプリンター"
+msgstr "PostScript プリンター"
 
 msgid "Postcard"
 msgstr "ハガキ"
 
 msgid "Postcard Double "
-msgstr ""
+msgstr "往復ハガキ"
 
 msgid "Postcard Double Long Edge"
-msgstr ""
+msgstr "往復ハガキ 長辺送り"
 
 msgid "Postcard Long Edge"
-msgstr ""
+msgstr "ハガキ 長辺送り"
 
 msgid "Print Density"
 msgstr "印刷密度"
@@ -3530,28 +3572,22 @@ msgstr "プリントして切り取る"
 
 #, c-format
 msgid "Print file accepted - job ID %d."
-msgstr ""
+msgstr "プリントファイルを受け付けました - ジョブ ID %d。"
 
 msgid "Print file accepted - job ID unknown."
-msgstr ""
+msgstr "NOTICE: プリントファイルを受け付けました - ジョブ ID 不明。"
 
 msgid "Print file sent."
-msgstr ""
+msgstr "プリントファイルが送られました。"
 
 msgid "Print file was not accepted."
-msgstr ""
+msgstr "プリントファイルが受け付けられませんでした。"
 
-msgid "Print job too large."
-msgstr ""
-
-msgid "Printed For: "
-msgstr "プリント対象:"
-
-msgid "Printed From: "
-msgstr "プリント元:"
+msgid "Print job canceled at printer."
+msgstr "印刷ジョブはプリンターでキャンセルされました。"
 
-msgid "Printed On: "
-msgstr "プリント先:"
+msgid "Print job too large."
+msgstr "印刷ジョブが大きすぎます。"
 
 msgid "Printer Added"
 msgstr "追加されたプリンター"
@@ -3565,48 +3601,14 @@ msgstr "削除されたプリンター"
 msgid "Printer Modified"
 msgstr "変更されたプリンター"
 
-msgid "Printer Name: "
-msgstr "プリンター名:"
-
 msgid "Printer Paused"
 msgstr "プリンターの休止"
 
 msgid "Printer Settings"
 msgstr "プリンター設定"
 
-msgid "Printer busy, will retry in 10 seconds."
-msgstr ""
-
-msgid "Printer busy; will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer did not respond."
-msgstr ""
-
-#, c-format
-msgid "Printer does not support IPP/%d.%d, trying IPP/%s."
-msgstr ""
-
-msgid "Printer is busy, will retry in 5 seconds."
-msgstr ""
-
-msgid "Printer is not currently connected."
-msgstr ""
-
-msgid "Printer is now connected."
-msgstr ""
-
-msgid "Printer is now online."
-msgstr ""
-
-msgid "Printer is offline."
-msgstr ""
-
-msgid "Printer not connected, will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer not connected; will retry in 30 seconds."
-msgstr ""
+msgid "Printer cannot print supplied content."
+msgstr "プリンターは受信した内容を印刷できませんでした。"
 
 msgid "Printer:"
 msgstr "プリンター:"
@@ -3616,11 +3618,7 @@ msgstr "プリンター"
 
 #, c-format
 msgid "Printing page %d, %d%% complete."
-msgstr ""
-
-#, c-format
-msgid "Printing page %d."
-msgstr ""
+msgstr "ページ %d を印刷中、%d%% 完了しました。"
 
 msgid "Purge Jobs"
 msgstr "ジョブの削除"
@@ -3629,29 +3627,27 @@ msgid "Quarto"
 msgstr "Quarto"
 
 msgid "Quota limit reached."
-msgstr "Quota の制限に達しました。"
+msgstr "クォータの制限に達しました。"
 
 msgid "Rank    Owner   Job     File(s)                         Total Size"
-msgstr ""
+msgstr "ランク  所有者  ジョブ  ファイル                        合計サイズ"
 
 #. TRANSLATORS: Pri is job priority.
 msgid ""
 "Rank   Owner      Pri  Job        Files                       Total Size"
 msgstr ""
-
-msgid "Ready to print."
-msgstr ""
+"ランク 所有者     優先 ジョブ     ファイル                    合計サイズ"
 
 msgid "Reject Jobs"
 msgstr "ジョブの拒否"
 
 #, c-format
 msgid "Remote host did not accept control file (%d)."
-msgstr ""
+msgstr "リモートホストがコントロールファイルを受け付けませんでした (%d)。"
 
 #, c-format
 msgid "Remote host did not accept data file (%d)."
-msgstr ""
+msgstr "リモートホストがデータファイルを受け付けませんでした (%d)。"
 
 msgid "Reprint After Error"
 msgstr "エラー後の再印刷"
@@ -3669,39 +3665,32 @@ msgid "Resume Printer"
 msgstr "プリンターを再開する"
 
 msgid "Return Address"
-msgstr "アドレスを戻す"
-
-msgid "Return Address - 3/4 x 2\""
-msgstr "アドレスを戻す ー 3/4 x 2\""
+msgstr "返信用ラベル"
 
 msgid "Rewind"
-msgstr "戻る"
+msgstr "巻き取り"
 
 #, c-format
 msgid "Running command: %s %s -N -A %s -c '%s'"
-msgstr ""
+msgstr "コマンドを実行中: %s %s -N -A %s -c '%s'"
 
 msgid "SEQUENCE uses indefinite length"
 msgstr "SEQUENCE は不定長を使用しています"
 
 msgid "SSL/TLS Negotiation Error"
-msgstr ""
+msgstr "SSL/TLS のネゴシエーションエラー"
 
 msgid "See Other"
 msgstr "残りを見てください"
 
 msgid "Sending data to printer."
-msgstr ""
-
-#, c-format
-msgid "Serial Port #%d"
-msgstr "シリアルポート #%d"
+msgstr "データをプリンターに送信しています。"
 
 msgid "Server Restarted"
 msgstr "再起動されたサーバー"
 
 msgid "Server Security Auditing"
-msgstr "サーバーのセキュリティーチェック"
+msgstr "サーバーのセキュリティー監査"
 
 msgid "Server Started"
 msgstr "開始されたサーバー"
@@ -3716,10 +3705,10 @@ msgid "Set Allowed Users"
 msgstr "許可するユーザーの設定"
 
 msgid "Set As Server Default"
-msgstr "ã\82µã\83¼ã\83\90ã\83¼ã\82\92デフォルトに設定"
+msgstr "ã\82µã\83¼ã\83\90ã\83¼ã\81®デフォルトに設定"
 
 msgid "Set Class Options"
-msgstr "ã\82¯ã\83©ã\82¹ã\82ªã\83\97ã\82·ã\83§ã\83³ã\82\92設定"
+msgstr "ã\82¯ã\83©ã\82¹ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81®設定"
 
 msgid "Set Printer Options"
 msgstr "プリンターオプションの設定"
@@ -3728,20 +3717,17 @@ msgid "Set Publishing"
 msgstr "公開の設定"
 
 msgid "Shipping Address"
-msgstr "発送アドレス"
-
-msgid "Shipping Address - 2 5/16 x 4\""
-msgstr "発送アドレス - 2 5/16 x 4\""
+msgstr "発送先ラベル"
 
 msgid "Short-Edge (Landscape)"
 msgstr "短辺 (横原稿)"
 
 msgid "Special Paper"
-msgstr "スペシャルペーパー"
+msgstr "特殊紙"
 
 #, c-format
 msgid "Spooling job, %.0f%% complete."
-msgstr ""
+msgstr "ジョブをスプール中、%.0f%% 完了しました。"
 
 msgid "Standard"
 msgstr "標準"
@@ -3752,7 +3738,7 @@ msgstr "開始バナー"
 
 #, c-format
 msgid "Starting page %d."
-msgstr ""
+msgstr "ページ %d を開始しています。"
 
 msgid "Statement"
 msgstr "記述"
@@ -3765,7 +3751,7 @@ msgstr "Stylus Photo シリーズ"
 
 #, c-format
 msgid "Subscription #%d does not exist."
-msgstr ""
+msgstr "サブスクリプション番号 %d は存在しません。"
 
 msgid "Super A"
 msgstr "スーパー A"
@@ -3783,10 +3769,10 @@ msgid "Tabloid"
 msgstr "タブロイド"
 
 msgid "Tabloid Oversize"
-msgstr ""
+msgstr "タブロイド (特大)"
 
 msgid "Tabloid Oversize Long Edge"
-msgstr ""
+msgstr "タブロイド (特大) 長辺送り"
 
 msgid "Tear"
 msgstr "Tear"
@@ -3799,37 +3785,48 @@ msgstr "Tear-Off 位置調節"
 
 #, c-format
 msgid "The %s attribute cannot be provided with job-ids."
+msgstr "%s 属性は、ジョブ ID と一緒に使うことはできません。"
+
+#, c-format
+msgid ""
+"The '%s' Job Description attribute cannot be supplied in a job creation "
+"request."
 msgstr ""
 
 #, c-format
+msgid ""
+"The '%s' operation attribute cannot be supplied in a Create-Job request."
+msgstr "%s 操作属性は、Create-Job リクエストの中で使うことはできません。"
+
+#, c-format
 msgid "The PPD file \"%s\" could not be found."
 msgstr "PPD ファイル \"%s\" が見つかりません。"
 
 #, c-format
 msgid "The PPD file \"%s\" could not be opened: %s"
-msgstr "PPD ã\83\95ã\82¡ã\82¤ã\83« \"%s\" ã\81\8cé\96\8bã\81\8dませんでした: %s"
+msgstr "PPD ã\83\95ã\82¡ã\82¤ã\83« \"%s\" ã\82\92é\96\8bã\81\91ませんでした: %s"
 
 msgid "The PPD file could not be opened."
-msgstr ""
+msgstr "PPD ファイルを開けませんでした。"
 
 msgid ""
 "The class name may only contain up to 127 printable characters and may not "
 "contain spaces, slashes (/), or the pound sign (#)."
 msgstr ""
-"クラス名は 127 文字以内の表示可能文字から成り、空白、スラッシュ (/)、ポンド記"
-" (#) を含んではなりません。"
+"クラス名は 127 文字以内の表示可能文字からなり、空白、スラッシュ (/)、シャー"
+" (#) を含んではなりません。"
 
 msgid "The developer unit needs to be replaced."
-msgstr ""
+msgstr "現像ユニットの交換が必要です。"
 
 msgid "The developer unit will need to be replaced soon."
-msgstr ""
+msgstr "もうすぐ現像ユニットの交換時期です。"
 
 msgid "The fuser's temperature is high."
-msgstr ""
+msgstr "定着器の温度が高すぎます。"
 
 msgid "The fuser's temperature is low."
-msgstr ""
+msgstr "定着器の温度が低すぎます。"
 
 msgid ""
 "The notify-lease-duration attribute cannot be used with job subscriptions."
@@ -3839,70 +3836,80 @@ msgstr ""
 
 #, c-format
 msgid "The notify-user-data value is too large (%d > 63 octets)."
-msgstr ""
+msgstr "notify-user-data 値が大きすぎます (%d > 63 オクテット)。"
 
 msgid "The optical photoconductor needs to be replaced."
-msgstr ""
+msgstr "感光体の交換が必要です。"
 
 msgid "The optical photoconductor will need to be replaced soon."
-msgstr ""
+msgstr "もうすぐ感光体の交換時期です。"
 
 msgid "The output bin is almost full."
-msgstr ""
+msgstr "排紙トレイがほとんど一杯です。"
 
 msgid "The output bin is full."
-msgstr ""
+msgstr "排紙トレイが一杯です。"
 
 msgid "The output bin is missing."
-msgstr ""
-
-msgid "The page setup information was not valid."
-msgstr ""
+msgstr "排紙トレイが見つかりません。"
 
 msgid "The paper tray is almost empty."
-msgstr ""
+msgstr "用紙トレイが空になりかけています。"
 
 msgid "The paper tray is empty."
-msgstr ""
+msgstr "用紙トレイが空です。"
 
 msgid "The paper tray is missing."
-msgstr ""
+msgstr "用紙トレイが見つかりません。"
 
 msgid "The paper tray needs to be filled."
-msgstr ""
-
-msgid "The print file could not be opened."
-msgstr ""
+msgstr "用紙トレイに補充が必要です。"
 
 msgid "The printer URI is incorrect or no longer exists."
-msgstr ""
+msgstr "プリンター URI が誤っているか、もう存在しません。"
 
-msgid "The printer is busy."
-msgstr ""
+msgid "The printer did not respond."
+msgstr "プリンターが応答しません。"
+
+#, c-format
+msgid "The printer does not support IPP/%d.%d, trying IPP/%s."
+msgstr "プリンターが IPP/%d.%d をサポートしていません。IPP/%s を試します。"
+
+msgid "The printer is in use."
+msgstr "プリンターは使用中です。"
 
 msgid "The printer is not connected."
-msgstr ""
+msgstr "プリンターは接続されていません。"
 
 msgid "The printer is not responding."
-msgstr ""
+msgstr "プリンターが応答していません。"
 
-msgid "The printer is out of ink."
-msgstr ""
+msgid "The printer is now connected."
+msgstr "プリンターが接続されました。"
+
+msgid "The printer is now online."
+msgstr "プリンターは現在オンラインです。"
+
+msgid "The printer is offline."
+msgstr "プリンターはオフラインです。"
 
 msgid "The printer is running low on ink."
-msgstr ""
+msgstr "プリンターのインクがもうすぐなくなります。"
 
 msgid "The printer is running low on toner."
-msgstr ""
+msgstr "プリンターのトナーがもうすぐなくなります。"
 
 msgid "The printer is unreachable at this time."
-msgstr ""
+msgstr "プリンターには現在到達できません。"
+
+msgid "The printer may be out of ink."
+msgstr "プリンターのインクがなくなっているようです。"
 
 msgid "The printer may be out of toner."
-msgstr ""
+msgstr "プリンターのトナーがなくなっているようです。"
 
 msgid "The printer may not exist or is unavailable at this time."
-msgstr ""
+msgstr "プリンターは現在存在しないか、使用できないようです。"
 
 msgid ""
 "The printer name may only contain up to 127 printable characters and may not "
@@ -3912,32 +3919,32 @@ msgstr ""
 "ド記号 (#) を含んではなりません。"
 
 msgid "The printer or class does not exist."
-msgstr ""
+msgstr "プリンターまたはクラスは存在しません。"
 
 msgid "The printer or class is not shared."
-msgstr ""
+msgstr "プリンターまたはクラスは共有できません。"
 
 msgid "The printer's cover is open."
-msgstr ""
+msgstr "プリンターのカバーが開いています。"
 
 msgid "The printer's door is open."
-msgstr ""
+msgstr "プリンターのドアが開いています。"
 
 msgid "The printer's interlock is open."
-msgstr ""
+msgstr "プリンターのインターロックが開いています。"
 
 msgid "The printer's waste bin is almost full."
-msgstr ""
+msgstr "プリンターの廃インクまたは廃トナー容器がほとんど一杯です。"
 
 msgid "The printer's waste bin is full."
-msgstr ""
+msgstr "プリンターの廃インクまたは廃トナー容器が一杯です。"
 
 #, c-format
 msgid "The printer-uri \"%s\" contains invalid characters."
 msgstr "printer-uri \"%s\" には、無効な文字が含まれています。"
 
 msgid "The printer-uri attribute is required."
-msgstr ""
+msgstr "printer-uri 属性は必須です。"
 
 msgid ""
 "The printer-uri must be of the form \"ipp://HOSTNAME/classes/CLASSNAME\"."
@@ -3962,36 +3969,35 @@ msgid ""
 "The web interface is currently disabled. Run \"cupsctl WebInterface=yes\" to "
 "enable it."
 msgstr ""
+"Web インターフェイスが現在無効になっています。有効にするには \"cupsctl "
+"WebInterface=yes\" を実行してください。"
 
 #, c-format
 msgid "The which-jobs value \"%s\" is not supported."
-msgstr ""
+msgstr "which-jobs の値 \"%s\" はサポートされていません。"
 
 msgid "There are too many subscriptions."
 msgstr "サブスクリプションが多すぎます。"
 
 msgid "There is a paper jam."
-msgstr ""
+msgstr "用紙づまりが発生しています。"
 
 msgid "There was an unrecoverable USB error."
-msgstr ""
+msgstr "回復不可能な USB のエラーが発生しています。"
 
 msgid "Thermal Transfer Media"
 msgstr "熱転写メディア"
 
-msgid "Title: "
-msgstr "タイトル: "
-
 msgid "Too many active jobs."
 msgstr "アクティブなジョブが多すぎます。"
 
 #, c-format
 msgid "Too many job-sheets values (%d > 2)."
-msgstr ""
+msgstr "job-sheets 値が多すぎます (%d > 2)。"
 
 #, c-format
 msgid "Too many printer-state-reasons values (%d > %d)."
-msgstr ""
+msgstr "printer-state-reasons 値が多すぎます (%d > %d)。"
 
 msgid "Transparency"
 msgstr "OHP シート"
@@ -4012,7 +4018,7 @@ msgid "Tray 4"
 msgstr "トレイ 4"
 
 msgid "URI Too Long"
-msgstr "URI が長ぎます"
+msgstr "URI が長ぎます"
 
 msgid "US Ledger"
 msgstr "US レジャー"
@@ -4021,226 +4027,222 @@ msgid "US Legal"
 msgstr "US リーガル"
 
 msgid "US Legal Oversize"
-msgstr ""
+msgstr "US リーガル (特大)"
 
 msgid "US Letter"
 msgstr "US レター"
 
 msgid "US Letter Long Edge"
-msgstr ""
+msgstr "US レター 長辺送り"
 
 msgid "US Letter Oversize"
-msgstr ""
+msgstr "US レター (特大)"
 
 msgid "US Letter Oversize Long Edge"
-msgstr ""
+msgstr "US レター (特大) 長辺送り"
 
 msgid "US Letter Small"
-msgstr ""
+msgstr "US レター (小)"
 
-#, c-format
-msgid "USB Serial Port #%d"
-msgstr "USB シリアルポート #%d"
+msgid "Unable to access cupsd.conf file"
+msgstr "cupsd.conf ファイルにアクセスできません"
 
-msgid "Unable to access cupsd.conf file:"
-msgstr "cupsd.conf ファイルにアクセスできません:"
+msgid "Unable to access help file."
+msgstr "ヘルプファイルにアクセスできません。"
 
-msgid "Unable to add RSS subscription:"
-msgstr " RSS 購読を追加できません:"
+msgid "Unable to add RSS subscription"
+msgstr " RSS 購読を追加できません"
 
-msgid "Unable to add class:"
-msgstr "クラスを追加できません:"
+msgid "Unable to add class"
+msgstr "クラスを追加できません"
 
 msgid "Unable to add document to print job."
-msgstr ""
+msgstr "ドキュメントを印刷ジョブに追加できません。"
 
 #, c-format
 msgid "Unable to add job for destination \"%s\"."
-msgstr ""
+msgstr "宛先 \"%s\"にジョブを追加できません。"
 
-msgid "Unable to add printer:"
-msgstr "ã\83\97ã\83ªã\83³ã\82¿ã\83¼ã\82\92追å\8a ã\81\8cã\81§ã\81\8dã\81¾ã\81\9bã\82\93:"
+msgid "Unable to add printer"
+msgstr "ã\83\97ã\83ªã\83³ã\82¿ã\83¼ã\82\92追å\8a ã\81§ã\81\8dã\81¾ã\81\9bã\82\93"
 
 msgid "Unable to allocate memory for file types."
-msgstr ""
+msgstr "ファイルタイプ用にメモリーを割り当てられません。"
 
 msgid "Unable to allocate memory for page info"
-msgstr ""
+msgstr "ページ情報のメモリー割り当てができません"
 
 msgid "Unable to allocate memory for pages array"
-msgstr ""
+msgstr "ページアレイのメモリー割り当てができません"
 
-msgid "Unable to cancel RSS subscription:"
-msgstr "RSS 購読をキャンセルできません:"
+msgid "Unable to cancel RSS subscription"
+msgstr "RSS 購読をキャンセルできません"
 
 msgid "Unable to cancel print job."
-msgstr ""
+msgstr "プリンターを変更できません。"
 
-msgid "Unable to change printer-is-shared attribute:"
-msgstr "printer-is-shared 属性を変更することができません:"
+msgid "Unable to change printer"
+msgstr "プリンターを変更できません"
 
-msgid "Unable to change printer:"
-msgstr "プリンターを変更できません:"
+msgid "Unable to change printer-is-shared attribute"
+msgstr "printer-is-shared 属性を変更することができません"
 
-msgid "Unable to change server settings:"
-msgstr "サーバーの設定を変更できません:"
+msgid "Unable to change server settings"
+msgstr "サーバーの設定を変更できません"
 
 msgid "Unable to configure printer options."
-msgstr ""
+msgstr "プリンターオプションを設定できません。"
 
 msgid "Unable to connect to host."
-msgstr "ホストに接続できません"
+msgstr "ホストに接続できません"
 
 msgid "Unable to contact printer, queuing on next printer in class."
-msgstr ""
+msgstr "プリンターと交信できません。クラス内の次のプリンターにキューします。"
 
 #, c-format
 msgid "Unable to copy 64-bit CUPS printer driver files (%d)."
-msgstr ""
+msgstr "64-bit 版の CUPS プリンタードライバーファイルをコピーできません (%d)。"
 
 #, c-format
 msgid "Unable to copy 64-bit Windows printer driver files (%d)."
-msgstr ""
+msgstr "64-bit 版の Windows プリンタードライバーをコピーできません (%d)。"
 
 #, c-format
 msgid "Unable to copy CUPS printer driver files (%d)."
-msgstr ""
+msgstr "複数の CUPS プリンタードライバーファイルをコピーできません (%d)。"
 
 #, c-format
 msgid "Unable to copy PPD file - %s"
-msgstr ""
+msgstr "PPD ファイルをコピーできません - %s"
 
 msgid "Unable to copy PPD file."
-msgstr ""
+msgstr "PPD ファイルをコピーできません。"
 
 #, c-format
 msgid "Unable to copy Windows 2000 printer driver files (%d)."
 msgstr ""
+"複数の Windows 2000 プリンタードライバーファイルをコピーできません (%d)。"
 
 #, c-format
 msgid "Unable to copy Windows 9x printer driver files (%d)."
 msgstr ""
+"複数の Windows 9x プリンタードライバーファイルをコピーできません (%d)。"
 
 #, c-format
 msgid "Unable to copy interface script - %s"
-msgstr ""
-
-msgid "Unable to copy print file"
-msgstr ""
+msgstr "インターフェイススクリプトをコピーできません - %s"
 
 msgid "Unable to create compressed print file"
-msgstr ""
-
-msgid "Unable to create pipes for filters"
-msgstr ""
+msgstr "圧縮プリントファイルを作成できません"
 
 msgid "Unable to create printer-uri"
-msgstr ""
+msgstr "printer-uri を作成できません。"
 
 msgid "Unable to create temporary file"
-msgstr ""
-
-msgid "Unable to create temporary file:"
-msgstr "テンポラリファイルを作成できません:"
+msgstr "テンポラリーファイルを作成できません"
 
-msgid "Unable to delete class:"
-msgstr "クラスを削除できません:"
+msgid "Unable to delete class"
+msgstr "クラスを削除できません"
 
-msgid "Unable to delete printer:"
-msgstr "プリンターを削除できません:"
+msgid "Unable to delete printer"
+msgstr "プリンターを削除できません"
 
-msgid "Unable to do maintenance command:"
-msgstr "メンテナンスコマンドを実行できません:"
+msgid "Unable to do maintenance command"
+msgstr "メンテナンスコマンドを実行できません"
 
 msgid "Unable to edit cupsd.conf files larger than 1MB"
-msgstr ""
+msgstr "1MB 以上の cupsd.conf ファイルは編集できません。"
 
 msgid ""
 "Unable to establish a secure connection to host (certificate chain invalid)."
-msgstr ""
+msgstr "ホストへの安全な接続が確立できません (認証パスが無効です)。"
 
 msgid ""
 "Unable to establish a secure connection to host (certificate not yet valid)."
-msgstr ""
+msgstr "ホストへの安全な接続が確立できません (認証がまだ有効ではありません)。"
 
 msgid "Unable to establish a secure connection to host (expired certificate)."
-msgstr ""
+msgstr "ホストへの安全な接続が確立できません (認証が期限切れです)。"
 
 msgid "Unable to establish a secure connection to host (host name mismatch)."
-msgstr ""
+msgstr "ホストへの安全な接続が確立できません (ホスト名が一致しません)。"
 
 msgid ""
 "Unable to establish a secure connection to host (peer dropped connection "
 "before responding)."
 msgstr ""
+"ホストへの安全な接続が確立できません (応答がある前に接続が切断されました)。"
 
 msgid ""
 "Unable to establish a secure connection to host (self-signed certificate)."
-msgstr ""
+msgstr "ホストへの安全な接続が確立できません (自己署名証明書です)。"
 
 msgid ""
 "Unable to establish a secure connection to host (untrusted certificate)."
-msgstr ""
+msgstr "ホストへの安全な接続が確立できません (信用できない証明書です)。"
 
 msgid "Unable to establish a secure connection to host."
-msgstr ""
+msgstr "ホストへの安全な接続を確立できません。"
 
 msgid "Unable to find destination for job"
-msgstr ""
+msgstr "ジョブの宛先が見つかりません"
 
 msgid "Unable to find printer."
-msgstr ""
-
-msgid "Unable to fork filter"
-msgstr ""
+msgstr "プリンターが見つかりません。"
 
 msgid "Unable to generate compressed print file"
-msgstr ""
+msgstr "圧縮プリントファイルを生成できません"
 
 msgid "Unable to get backend exit status."
-msgstr ""
+msgstr "バックエンドの終了ステータスを取得できません。"
 
-msgid "Unable to get class list:"
-msgstr "クラスリストを取得できません:"
+msgid "Unable to get class list"
+msgstr "クラスリストを取得できません"
 
-msgid "Unable to get class status:"
-msgstr "クラスの状態を取得できません:"
+msgid "Unable to get class status"
+msgstr "クラスの状態を取得できません"
 
-msgid "Unable to get list of printer drivers:"
-msgstr "プリンタードライバーのリストを取得できません:"
+msgid "Unable to get list of printer drivers"
+msgstr "プリンタードライバーのリストを取得できません"
 
-msgid "Unable to get printer attributes:"
-msgstr "プリンター属性を取得できません:"
+msgid "Unable to get printer attributes"
+msgstr "プリンター属性を取得できません"
 
-msgid "Unable to get printer list:"
-msgstr "プリンターリストを取得できません:"
+msgid "Unable to get printer list"
+msgstr "プリンターリストを取得できません"
 
-msgid "Unable to get printer status."
-msgstr ""
+msgid "Unable to get printer status"
+msgstr "プリンターの状態を取得できません"
 
-msgid "Unable to get printer status:"
-msgstr "プリンターの状態を取得できません:"
+msgid "Unable to get printer status."
+msgstr "プリンターの状態を取得できません"
 
 #, c-format
 msgid "Unable to install Windows 2000 printer driver files (%d)."
 msgstr ""
+"複数の Windows 2000 プリンタードライバーファイルをインストールできません "
+"(%d)。"
 
 #, c-format
 msgid "Unable to install Windows 9x printer driver files (%d)."
 msgstr ""
+"複数の Windows 9x プリンタードライバーファイルをインストールできません (%d)。"
+
+msgid "Unable to load help index."
+msgstr "ヘルプの索引を読み込めません。"
 
 #, c-format
 msgid "Unable to locate printer \"%s\"."
-msgstr ""
+msgstr "プリンター \"%s\" が見つかりません。"
 
 msgid "Unable to locate printer."
-msgstr ""
+msgstr "プリンターが見つかりません。"
 
-msgid "Unable to modify class:"
-msgstr "クラスを変更できません:"
+msgid "Unable to modify class"
+msgstr "クラスを変更できません"
 
-msgid "Unable to modify printer:"
-msgstr "プリンターを変更できません:"
+msgid "Unable to modify printer"
+msgstr "プリンターを変更できません"
 
 msgid "Unable to move job"
 msgstr "ジョブを移動できません"
@@ -4251,95 +4253,78 @@ msgstr "複数のジョブを移動できません"
 msgid "Unable to open PPD file"
 msgstr "PPD ファイルを読み込むことができません"
 
-msgid "Unable to open PPD file:"
-msgstr "PPD ファイルを読み込むことができません:"
-
-msgid "Unable to open charset file"
-msgstr ""
-
 msgid "Unable to open compressed print file"
-msgstr ""
+msgstr "圧縮プリントファイルを開けません"
 
 msgid "Unable to open cupsd.conf file:"
 msgstr "cupsd.conf ファイルを開けません:"
 
 msgid "Unable to open device file"
-msgstr ""
+msgstr "デバイスファイルを開けません"
 
 #, c-format
 msgid "Unable to open document #%d in job #%d."
-msgstr ""
+msgstr "ドキュメント %d (ジョブ %d) を開けません。"
 
-msgid "Unable to open print file"
-msgstr ""
+msgid "Unable to open help file."
+msgstr "ヘルプファイルを読み込むことができません。"
 
-msgid "Unable to open psglyphs"
-msgstr ""
+msgid "Unable to open print file"
+msgstr "印刷ファイルを開けません"
 
 msgid "Unable to open raster file"
-msgstr ""
-
-#, c-format
-msgid "Unable to print %d text columns."
-msgstr ""
-
-#, c-format
-msgid "Unable to print %dx%d text page."
-msgstr ""
-
-msgid "Unable to print test page:"
-msgstr "テストページを印刷できません:"
+msgstr "ラスターファイルを開けません"
 
-msgid "Unable to read print data"
-msgstr ""
+msgid "Unable to print test page"
+msgstr "テストページを印刷できません"
 
 msgid "Unable to read print data."
-msgstr ""
+msgstr "プリントデータを読み込めません。"
+
+msgid "Unable to resolve printer URI."
+msgstr "プリンター URI を解決できません。"
 
 #, c-format
 msgid "Unable to run \"%s\": %s"
-msgstr ""
+msgstr "\"%s\" を実行できません: %s"
 
 msgid "Unable to see in file"
-msgstr ""
+msgstr "ファイルを読み込むことができません"
 
 msgid "Unable to send command to printer driver"
-msgstr ""
+msgstr "プリンタードライバーにコマンドを送信できません"
 
 msgid "Unable to send data to printer."
-msgstr ""
-
-msgid "Unable to send raster data to the driver."
-msgstr ""
+msgstr "プリンターにデータを送信することができません。"
 
 #, c-format
 msgid "Unable to set Windows printer driver (%d)."
-msgstr ""
+msgstr "Windows プリンタードライバーを設定できません (%d)。"
 
-msgid "Unable to set options:"
-msgstr "オプションを設定できません:"
+msgid "Unable to set options"
+msgstr "オプションを設定できません"
 
-msgid "Unable to set server default:"
-msgstr "サーバーをデフォルトに設定できません:"
+msgid "Unable to set server default"
+msgstr "サーバーをデフォルトに設定できません"
 
 msgid "Unable to start backend process."
-msgstr ""
+msgstr "バックエンドのプロセスを起動できません。"
 
-msgid "Unable to upload cupsd.conf file:"
-msgstr "cupsd.conf ファイルをアップロードできません:"
+msgid "Unable to upload cupsd.conf file"
+msgstr "cupsd.conf ファイルをアップロードできません"
 
 msgid "Unable to use legacy USB class driver."
-msgstr ""
+msgstr "古いタイプの USB クラスドライバーは使用できません。"
 
 msgid "Unable to write print data"
-msgstr ""
+msgstr "プリントデータを書き込めません"
 
 #, c-format
 msgid "Unable to write uncompressed print data: %s"
-msgstr ""
+msgstr "非圧縮のプリントデータを書き込めません: %s"
 
 msgid "Unauthorized"
-msgstr "許可"
+msgstr "許可"
 
 msgid "Units"
 msgstr "ユニット"
@@ -4349,31 +4334,34 @@ msgstr "未知"
 
 #, c-format
 msgid "Unknown choice \"%s\" for option \"%s\"."
-msgstr ""
+msgstr "\"%s\" (オプション \"%s\" 用) は未知の設定です。"
 
 #, c-format
 msgid "Unknown encryption option value: \"%s\"."
-msgstr ""
+msgstr "\"%s\" は未知の暗号オプション値です。"
 
 #, c-format
 msgid "Unknown file order: \"%s\"."
-msgstr ""
+msgstr "\"%s\" は未知のファイルオーダーです。"
 
 #, c-format
 msgid "Unknown format character: \"%c\"."
-msgstr ""
+msgstr "\"%c\" は未知の書式文字です。"
+
+msgid "Unknown media size name."
+msgstr "未知のメディアサイズ名称です。"
 
 #, c-format
 msgid "Unknown option \"%s\" with value \"%s\"."
-msgstr ""
+msgstr "\"%s\" (値 \"%s\") は未知のオプションです。"
 
 #, c-format
 msgid "Unknown option \"%s\"."
-msgstr ""
+msgstr "\"%s\" は未知のオプションです。"
 
 #, c-format
 msgid "Unknown print mode: \"%s\"."
-msgstr ""
+msgstr "\"%s\" は未知のプリントモードです。"
 
 #, c-format
 msgid "Unknown printer-error-policy \"%s\"."
@@ -4383,62 +4371,67 @@ msgstr "\"%s\" は未知の printer-error-policy です。"
 msgid "Unknown printer-op-policy \"%s\"."
 msgstr "\"%s\" は未知の printer-op-policy です。"
 
+msgid "Unknown service name."
+msgstr "未知のサービス名です。"
+
 #, c-format
 msgid "Unknown version option value: \"%s\"."
-msgstr ""
+msgstr "\"%s\" は未知のバージョンオプション値です。"
 
 #, c-format
-msgid "Unsupported baud rate: %s"
+msgid "Unsupported 'compression' value \"%s\"."
 msgstr ""
 
 #, c-format
-msgid "Unsupported brightness value %s, using brightness=100."
+msgid "Unsupported 'document-format' value \"%s\"."
+msgstr ""
+
+msgid "Unsupported 'job-name' value."
 msgstr ""
 
 #, c-format
 msgid "Unsupported character set \"%s\"."
-msgstr ""
+msgstr "\"%s\" はサポートされていない文字セットです。"
 
 #, c-format
 msgid "Unsupported compression \"%s\"."
-msgstr ""
+msgstr "\"%s\" はサポートされていない圧縮形式です。"
 
 #, c-format
 msgid "Unsupported document-format \"%s\"."
-msgstr ""
+msgstr "\"%s\" はサポートされていない文書形式です。"
 
 #, c-format
 msgid "Unsupported document-format \"%s/%s\"."
-msgstr ""
+msgstr "\"%s/%s\" はサポートされていない文書形式です。"
 
 #, c-format
 msgid "Unsupported format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported gamma value %s, using gamma=1000."
-msgstr ""
+msgstr "\"%s\" はサポートされていない形式です。"
 
 msgid "Unsupported margins."
-msgstr ""
+msgstr "サポートされていないマージンです。"
 
 msgid "Unsupported media value."
-msgstr ""
+msgstr "サポートされていないメディアの値です。"
 
 #, c-format
 msgid "Unsupported number-up value %d, using number-up=1."
-msgstr ""
+msgstr "%d はサポートされていない number-up 値です。number-up=1 を使用します。"
 
 #, c-format
 msgid "Unsupported number-up-layout value %s, using number-up-layout=lrtb."
 msgstr ""
+"%s はサポートされていない number-up-layout 値です。number-up-layout=lrtb を使"
+"用します。"
 
 #, c-format
 msgid "Unsupported page-border value %s, using page-border=none."
 msgstr ""
+"%s はサポートされていない page-border 値です。page-border=none を使用します。"
 
 msgid "Unsupported raster data."
-msgstr ""
+msgstr "サポートされていないラスターデータです。"
 
 msgid "Unsupported value type"
 msgstr "サポートされていない型の値です"
@@ -4456,46 +4449,47 @@ msgid ""
 "                       [-P ppd-file] [-o name=value]\n"
 "                       [-u allow:user,user] [-u deny:user,user]"
 msgstr ""
-
-#, c-format
-msgid "Usage: %s job user title copies options [filename]"
-msgstr ""
+"使い方:\n"
+"\n"
+"    lpadmin [-h サーバー] -d 宛先\n"
+"    lpadmin [-h サーバー] -x 宛先\n"
+"    lpadmin [-h サーバー] -p プリンター [-c 追加クラス] [-i インターフェイ"
+"ス]\n"
+"                       [-m モデル] [-r 削除クラス] [-v デバイス]\n"
+"                       [-D 宛先] [-P PPD ファイル] [-o 名前=値]\n"
+"                       [-u allow:ユーザー,ユーザー] [-u deny:ユーザー,ユー"
+"ザー]"
 
 #, c-format
 msgid "Usage: %s job-id user title copies options [file]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job-id user title copies options file"
-msgstr ""
-
-msgid "Usage: convert [ options ]"
-msgstr ""
+msgstr "使い方: %s ジョブID ユーザー タイトル コピー数 オプション [ファイル]"
 
 msgid "Usage: cupsaddsmb [options] printer1 ... printerN"
-msgstr ""
+msgstr "Usage: cupsaddsmb [オプション] プリンター1 ... プリンターN"
 
 msgid "Usage: cupsctl [options] [param=value ... paramN=valueN]"
-msgstr ""
+msgstr "Usage: cupsctl [オプション] [パラメータ=値 ... パラメータN=値N]"
 
 msgid "Usage: cupsd [options]"
-msgstr ""
+msgstr "使い方: cupsd [オプション]"
 
 msgid "Usage: cupsfilter [ options ] filename"
-msgstr ""
+msgstr "使い方: cupsfilter [オプション] ファイル名"
 
 msgid "Usage: cupstestdsc [options] filename.ps [... filename.ps]"
-msgstr ""
+msgstr "使い方: cupstestdsc [オプション] filename.ps [... filename.ps]"
 
 msgid ""
 "Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]"
 msgstr ""
+"使い方: cupstestppd [オプション] ファイル名1.ppd[.gz] [... ファイル名N.ppd[."
+"gz]]"
 
 msgid "Usage: ipptool [options] URI filename [ ... filenameN ]"
-msgstr ""
+msgstr "使い方: ipptool [オプション] URI ファイル名 [ ... ファイル名N ]"
 
 msgid "Usage: lpmove job/src dest"
-msgstr ""
+msgstr "使い方: lpmove ジョブ/ソース 宛先"
 
 msgid ""
 "Usage: lpoptions [-h server] [-E] -d printer\n"
@@ -4503,38 +4497,48 @@ msgid ""
 "       lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
 "       lpoptions [-h server] [-E] -x printer"
 msgstr ""
+"使い方: lpoptions [-h サーバー] [-E] -d プリンター\n"
+"       lpoptions [-h サーバー] [-E] [-p プリンター] -l\n"
+"        lpoptions [-h サーバー] [-E] -p プリンター -o オプション[=値] ...\n"
+"        lpoptions [-h サーバー] [-E] -x プリンター"
 
 msgid "Usage: lppasswd [-g groupname]"
-msgstr ""
+msgstr "使い方: lppasswd [-g グループ名]"
 
 msgid ""
 "Usage: lppasswd [-g groupname] [username]\n"
 "       lppasswd [-g groupname] -a [username]\n"
 "       lppasswd [-g groupname] -x [username]"
 msgstr ""
+"使い方: lppasswd [-g グループ名] [ユーザー名]\n"
+"        lppasswd [-g グループ名] -a [ユーザー名]\n"
+"        lppasswd [-g グループ名] -x [ユーザー名]"
 
 msgid ""
 "Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]"
 msgstr ""
+"使い方: lpq [-P 宛先] [-U ユーザー名] [-h ホスト名[:ポート]] [-l] [+間隔]"
 
 msgid "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]"
-msgstr ""
+msgstr "使い方: ppdc [オプション] ファイル名.drv [ ... ファイル名N.drv ]"
 
 msgid "Usage: ppdhtml [options] filename.drv >filename.html"
-msgstr ""
+msgstr "使い方: ppdhtml [オプション] ファイル名.drv >ファイル名.html"
 
 msgid "Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]"
-msgstr ""
+msgstr "使い方: ppdi [オプション] ファイル名.ppd [ ... ファイル名N.ppd ]"
 
 msgid "Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]"
-msgstr ""
+msgstr "使い方: ppdmerge [オプション] ファイル名.ppd [ ... ファイル名N.ppd ]"
 
 msgid ""
 "Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]"
 msgstr ""
+"使い方: ppdpo [オプション] -o ファイル名.po ファイル名.drv [ ... ファイル名N."
+"drv ]"
 
 msgid "Usage: snmp [host-or-ip-address]"
-msgstr ""
+msgstr "使い方: snmp [ホストまたはIPアドレス]"
 
 msgid "Value uses indefinite length"
 msgstr "値は不定長です"
@@ -4546,27 +4550,27 @@ msgid "Version uses indefinite length"
 msgstr "Version は不定長です"
 
 msgid "Waiting for job to complete."
-msgstr ""
+msgstr "ジョブが完了するのを待っています。"
 
 msgid "Waiting for printer to become available."
-msgstr ""
+msgstr "プリンターが使用可能になるのを待っています。"
 
 msgid "Waiting for printer to finish."
-msgstr ""
+msgstr "プリンターが終了するのを待っています。"
 
 msgid "Warning, no Windows 2000 printer drivers are installed."
-msgstr ""
+msgstr "警告、Windows 2000 プリンタードライバーがインストールされていません。"
 
 msgid "Web Interface is Disabled"
-msgstr ""
+msgstr "Web インターフェイスが無効になっています"
 
 msgid "Yes"
 msgstr "はい"
 
 #, c-format
 msgid ""
-"You must access this page using the URL <A HREF=\"https://%s:%d%s\">https://%"
-"s:%d%s</A>."
+"You must access this page using the URL <A HREF=\"https://%s:%d%s\">https://"
+"%s:%d%s</A>."
 msgstr ""
 "このページには URL <A HREF=\"https://%s:%d%s\">https://%s:%d%s</A> を使ってア"
 "クセスする必要があります。"
@@ -4575,9 +4579,11 @@ msgid ""
 "Your password must be at least 6 characters long, cannot contain your "
 "username, and must contain at least one letter and number."
 msgstr ""
+"パスワードは少なくとも 6 文字以上で、あなたのユーザー名を含んではならず、少な"
+"くとも 1 つの英字および数値を含んでなければなりません。"
 
 msgid "ZPL Label Printer"
-msgstr "ZPL ラベルプリンター"
+msgstr "ZPL ラベルプリンター"
 
 msgid "Zebra"
 msgstr "ゼブラ"
@@ -4591,9 +4597,6 @@ msgstr "キャンセル"
 msgid "completed"
 msgstr "完了"
 
-msgid "convert: Use the -f option to specify a file to convert."
-msgstr ""
-
 msgid "cups-deviced failed to execute."
 msgstr "cups-deviced の実行に失敗しました。"
 
@@ -4602,823 +4605,901 @@ msgstr "cups-driverd の実行に失敗しました。"
 
 #, c-format
 msgid "cupsaddsmb: No PPD file for printer \"%s\" - %s"
-msgstr ""
+msgstr "cupsaddsmb: プリンター \"%s\" の PPD ファイルがありません - %s"
 
 msgid "cupsctl: Cannot set Listen or Port directly."
-msgstr ""
+msgstr "cupsctl: Listen あるいは Port を直接設定できません。"
 
 #, c-format
 msgid "cupsctl: Unable to connect to server: %s"
-msgstr ""
+msgstr "cupsctl: サーバーに接続できません: %s"
 
 #, c-format
 msgid "cupsctl: Unknown option \"%s\""
-msgstr ""
+msgstr "cupsctl: \"%s\" は未知のオプションです。"
 
 #, c-format
 msgid "cupsctl: Unknown option \"-%c\""
-msgstr ""
+msgstr "cupsctl: \"-%c\"は未知のオプションです。"
 
 msgid "cupsd: Expected config filename after \"-c\" option."
+msgstr "cupsd: \"-c\" オプションのあとには設定ファイル名が必要です。"
+
+msgid "cupsd: Expected cups-files.conf filename after \"-s\" option."
+msgstr ""
+
+msgid "cupsd: Relative cups-files.conf filename not allowed."
 msgstr ""
 
 msgid "cupsd: Unable to get current directory."
+msgstr "cupsd: カレントディレクトリーを取得できません。"
+
+msgid "cupsd: Unable to get path to cups-files.conf file."
 msgstr ""
 
 #, c-format
 msgid "cupsd: Unknown argument \"%s\" - aborting."
-msgstr ""
+msgstr "cupsd: \"%s\" は未知の引数です - 停止します。"
 
 #, c-format
 msgid "cupsd: Unknown option \"%c\" - aborting."
-msgstr ""
+msgstr "cupsd: \"%c\" は未知のオプションです - 停止します。"
 
 msgid "cupsd: launchd(8) support not compiled in, running in normal mode."
 msgstr ""
+"cupsd: launchd(8) サポートがコンパイルされていないので、通常モードで動作しま"
+"す。"
 
 #, c-format
 msgid "cupsfilter: Invalid document number %d."
-msgstr ""
+msgstr "cupsfilter: 不正な文書番号 %d です。"
 
 #, c-format
 msgid "cupsfilter: Invalid job ID %d."
-msgstr ""
+msgstr "cupsfilter: 不正なジョブID %d です。"
 
 msgid "cupsfilter: Only one filename can be specified."
-msgstr ""
+msgstr "cupsfilter: 1 つのファイル名のみを指定できます。"
 
 #, c-format
 msgid "cupsfilter: Unable to get job file - %s"
-msgstr ""
+msgstr "cupsfilter: ジョブ・ファイルを取得できません - %s"
 
 msgid "cupstestppd: The -q option is incompatible with the -v option."
-msgstr ""
+msgstr "cupstestppd: -q オプションは -v オプションと両立できません。"
 
 msgid "cupstestppd: The -v option is incompatible with the -q option."
-msgstr ""
+msgstr "cupstestppd: -v オプションは -q オプションと両立できません。"
 
 #, c-format
 msgid "device for %s/%s: %s"
-msgstr ""
+msgstr "%s/%s のデバイス: %s"
 
 #, c-format
 msgid "device for %s: %s"
-msgstr ""
+msgstr "%s のデバイス: %s"
 
 msgid "error-index uses indefinite length"
-msgstr "エラー・インデックスは不定長です"
+msgstr "error-index は不定長です"
 
 msgid "error-status uses indefinite length"
-msgstr "エラー・ステータスは不定長です"
+msgstr "error-status は不定長です"
 
 msgid "held"
-msgstr "ホールド"
+msgstr "保留"
 
 msgid "help\t\tGet help on commands."
-msgstr ""
+msgstr "help\t\tコマンドのヘルプを取得。"
 
 msgid "idle"
 msgstr "待機中"
 
 msgid "ipptool: \"-i\" and \"-n\" are incompatible with -X\"."
-msgstr ""
-
-msgid "ipptool: \"-i\" is incompatible with \"-X\"."
-msgstr ""
-
-msgid "ipptool: \"-n\" is incompatible with \"-X\"."
-msgstr ""
+msgstr "ipptool: \"-i\" と \"-n\" は \"-X\" と組み合わせられません。"
 
 #, c-format
 msgid "ipptool: Bad URI - %s."
-msgstr ""
+msgstr "ipptool: 不正な URI です - %s。"
 
 #, c-format
 msgid "ipptool: Bad version %s for \"-V\"."
-msgstr ""
+msgstr "ipptool: \"-V\" オプションに不正なバージョン %s が指定されました。"
 
 msgid "ipptool: Invalid seconds for \"-i\"."
-msgstr ""
+msgstr "ipptool: \"-i\" に不正な秒数が指定されました。"
 
 msgid "ipptool: May only specify a single URI."
-msgstr ""
+msgstr "ipptool: URI は 1 つだけ指定できます。"
 
 msgid "ipptool: Missing count for \"-n\"."
-msgstr ""
+msgstr "ipptool: \"-n\" に回数の指定がありません。"
 
 msgid "ipptool: Missing filename for \"-f\"."
-msgstr ""
+msgstr "ipptool: \"-f\" にファイル名の指定がありません。"
 
 msgid "ipptool: Missing name=value for \"-d\"."
-msgstr ""
+msgstr "ipptool: \"-d\" に 名前=値 の指定がありません。"
 
 msgid "ipptool: Missing seconds for \"-i\"."
-msgstr ""
+msgstr "ipptool: \"-i\" に秒数の指定がありません。"
 
 msgid "ipptool: Missing timeout for \"-T\"."
-msgstr ""
+msgstr "ipptool: \"-T\" にタイムアウトの指定がありません。"
 
 msgid "ipptool: Missing version for \"-V\"."
-msgstr ""
+msgstr "ipptool: \"-V\" にバージョンの指定がありません。"
 
 msgid "ipptool: URI required before test file."
-msgstr ""
+msgstr "ipptool: テストファイルの前に URI の指定が必要です。"
 
 #, c-format
 msgid "ipptool: Unknown option \"-%c\"."
-msgstr ""
+msgstr "ipptool: \"-%c\"は未知のオプションです。"
 
 msgid "job-printer-uri attribute missing."
-msgstr ""
+msgstr "job-printer-uri 属性がありません。"
 
 msgid "lpadmin: Class name can only contain printable characters."
-msgstr ""
+msgstr "lpadmin: クラス名は表示可能文字のみで構成されなければなりません。"
 
 msgid "lpadmin: Expected PPD after \"-P\" option."
-msgstr ""
+msgstr "lpadmin: \"-P\" オプションのあとには PPD が必要です。"
 
 msgid "lpadmin: Expected allow/deny:userlist after \"-u\" option."
 msgstr ""
+"lpadmin: \"-u\" オプションのあとには allow/deny:ユーザーリスト が必要です。"
 
 msgid "lpadmin: Expected class after \"-r\" option."
-msgstr ""
+msgstr "lpadmin: \"-r\" オプションのあとにはクラス名が必要です。"
 
 msgid "lpadmin: Expected class name after \"-c\" option."
-msgstr ""
+msgstr "lpadmin: \"-c\" オプションのあとにはクラス名が必要です。"
 
 msgid "lpadmin: Expected description after \"-D\" option."
-msgstr ""
+msgstr "lpadmin: \"-D\" オプションのあとには説明が必要です。"
 
 msgid "lpadmin: Expected device URI after \"-v\" option."
-msgstr ""
+msgstr "lpadmin: \"-v\" オプションのあとにはデバイス URI が必要です。"
 
 msgid "lpadmin: Expected file type(s) after \"-I\" option."
-msgstr ""
+msgstr "lpadmin: \"-I\" オプションのあとにはファイル形式が必要です。"
 
 msgid "lpadmin: Expected hostname after \"-h\" option."
-msgstr ""
+msgstr "lpadmin: \"-h\" オプションのあとにはホスト名が必要です。"
 
 msgid "lpadmin: Expected interface after \"-i\" option."
-msgstr ""
+msgstr "lpadmin: \"-i\" オプションのあとにはインターフェイス名が必要です。"
 
 msgid "lpadmin: Expected location after \"-L\" option."
-msgstr ""
+msgstr "lpadmin: \"-L\" オプションのあとには場所が必要です。"
 
 msgid "lpadmin: Expected model after \"-m\" option."
-msgstr ""
+msgstr "lpadmin: \"-m\" オプションのあとにはモデル名が必要です。"
 
 msgid "lpadmin: Expected name after \"-R\" option."
-msgstr ""
+msgstr "lpadmin: \"-R\" オプションのあとには名前が必要です。"
 
 msgid "lpadmin: Expected name=value after \"-o\" option."
-msgstr ""
+msgstr "lpadmin: \"-o\" オプションのあとには 変数名=値 が必要です。"
 
 msgid "lpadmin: Expected printer after \"-p\" option."
-msgstr ""
+msgstr "lpadmin: \"-p\" オプションのあとにはプリンター名が必要です。"
 
 msgid "lpadmin: Expected printer name after \"-d\" option."
-msgstr ""
+msgstr "lpadmin: \"-d\" オプションのあとにはプリンター名が必要です。"
 
 msgid "lpadmin: Expected printer or class after \"-x\" option."
 msgstr ""
+"lpadmin: \"-x\" オプションのあとにはプリンター名またはクラス名が必要です。"
 
 msgid "lpadmin: No member names were seen."
-msgstr ""
+msgstr "lpadmin: メンバー名が見当たりません。"
 
 #, c-format
 msgid "lpadmin: Printer %s is already a member of class %s."
-msgstr ""
+msgstr "lpadmin: プリンター %s はすでにクラス %s のメンバーです。"
 
 #, c-format
 msgid "lpadmin: Printer %s is not a member of class %s."
-msgstr ""
+msgstr "lpadmin: プリンター %s はクラス %s のメンバーではありません。"
 
 msgid "lpadmin: Printer name can only contain printable characters."
-msgstr ""
+msgstr "lpadmin: プリンター名には表示可能文字だけが使用できます。"
 
 msgid ""
 "lpadmin: Unable to add a printer to the class:\n"
 "         You must specify a printer name first."
 msgstr ""
+"lpadmin: クラスにプリンターを追加できません:\n"
+"         先にプリンター名を指定する必要があります。"
 
 #, c-format
 msgid "lpadmin: Unable to connect to server: %s"
-msgstr ""
+msgstr "lpadmin: サーバーに接続できません: %s"
 
 msgid "lpadmin: Unable to create temporary file"
-msgstr ""
+msgstr "lpadmin: テンポラリーファイルを作成できません"
 
 msgid ""
 "lpadmin: Unable to delete option:\n"
 "         You must specify a printer name first."
 msgstr ""
+"lpadmin: プリンター・オプションを削除できません:\n"
+"         先にプリンター名を指定する必要があります。"
 
 #, c-format
 msgid "lpadmin: Unable to open PPD file \"%s\" - %s"
-msgstr ""
+msgstr "lpadmin: PPD ファイル \"%s\" を開けません - %s"
 
 msgid ""
 "lpadmin: Unable to remove a printer from the class:\n"
 "         You must specify a printer name first."
 msgstr ""
+"lpadmin: クラスからプリンターを削除できません:\n"
+"         先にプリンター名を指定する必要があります。"
 
 msgid ""
 "lpadmin: Unable to set the printer options:\n"
 "         You must specify a printer name first."
 msgstr ""
+"lpadmin: プリンター・オプションを設定できません:\n"
+"         先にプリンター名を指定する必要があります。"
 
 #, c-format
 msgid "lpadmin: Unknown allow/deny option \"%s\"."
-msgstr ""
+msgstr "lpadmin:\"%s\" は未知の allow/deny オプションです。"
 
 #, c-format
 msgid "lpadmin: Unknown argument \"%s\"."
-msgstr ""
+msgstr "lpadmin: \"%s\" は未知の引数です。"
 
 #, c-format
 msgid "lpadmin: Unknown option \"%c\"."
-msgstr ""
+msgstr "lpadmin: \"%c\" は未知のオプションです。"
 
 msgid "lpadmin: Warning - content type list ignored."
-msgstr ""
+msgstr "lpadmin: 警告 - コンテンツタイプリストは無視されます。"
 
 msgid "lpc> "
 msgstr "lpc> "
 
 msgid "lpinfo: Expected 1284 device ID string after \"--device-id\"."
 msgstr ""
+"lpinfo: \"--device-id\" のあとには、1284 デバイス ID を指定する必要がありま"
+"す。"
 
 msgid "lpinfo: Expected language after \"--language\"."
-msgstr ""
+msgstr "lpinfo: \"--language\" のあとには、言語を指定する必要があります。"
 
 msgid "lpinfo: Expected make and model after \"--make-and-model\"."
 msgstr ""
+"lpinfo: \"--make-and-model\" の後には、メーカーとモデルを指定する必要がありま"
+"す。"
 
 msgid "lpinfo: Expected product string after \"--product\"."
-msgstr ""
+msgstr "lpinfo: \"--product\" のあとには、製品名を指定する必要があります。"
 
 msgid "lpinfo: Expected scheme list after \"--exclude-schemes\"."
 msgstr ""
+"lpinfo: \"--exclude-schemes\" のあとには、スキーマ・リストを指定する必要があ"
+"ります。"
 
 msgid "lpinfo: Expected scheme list after \"--include-schemes\"."
 msgstr ""
+"lpinfo: \"--include-schemes\" のあとには、スキーマ・リストを指定する必要があ"
+"ります。"
 
 msgid "lpinfo: Expected timeout after \"--timeout\"."
 msgstr ""
+"lpinfo: \"--timeout\" のあとには、タイムアウト値を指定する必要があります。"
 
 #, c-format
 msgid "lpinfo: Unknown argument \"%s\"."
-msgstr ""
+msgstr "lpinfo: 未知の引数 \"%s\"。"
 
 #, c-format
 msgid "lpinfo: Unknown option \"%c\"."
-msgstr ""
+msgstr "lpinfo: 未知のオプション \"%c\"。"
 
 #, c-format
 msgid "lpinfo: Unknown option \"%s\"."
-msgstr ""
+msgstr "lpinfo: 未知のオプション \"%s\"。"
 
 #, c-format
 msgid "lpmove: Unable to connect to server: %s"
-msgstr ""
+msgstr "lpmove: サーバーに接続できません: %s"
 
 #, c-format
 msgid "lpmove: Unknown argument \"%s\"."
-msgstr ""
+msgstr "lpmove: 未知の引数 \"%s\"。"
 
 #, c-format
 msgid "lpmove: Unknown option \"%c\"."
-msgstr ""
+msgstr "lpmove: 未知のオプション \"%c\"。"
 
 msgid "lpoptions: No printers."
-msgstr ""
+msgstr "lpoptions: プリンターがありません。"
 
 #, c-format
 msgid "lpoptions: Unable to add printer or instance: %s"
-msgstr ""
+msgstr "lpoptions: プリンターまたはインスタンスを追加できません: %s。"
 
 #, c-format
 msgid "lpoptions: Unable to get PPD file for %s: %s"
-msgstr ""
+msgstr "lpoptions: %s の PPD ファイルを取得できません: %s"
 
 #, c-format
 msgid "lpoptions: Unable to open PPD file for %s."
-msgstr ""
+msgstr "lpoptions: %s の PPD ファイルを開けません。"
 
 msgid "lpoptions: Unknown printer or class."
-msgstr ""
+msgstr "lpoptions: 未知のプリンターまたはクラスです。"
 
 msgid "lppasswd: Only root can add or delete passwords."
-msgstr ""
+msgstr "lppasswd: root だけがパスワードの追加と削除を行えます。"
 
 msgid "lppasswd: Password file busy."
-msgstr ""
+msgstr "lppasswd: パスワードファイルがビジー状態です。"
 
 msgid "lppasswd: Password file not updated."
-msgstr ""
+msgstr "lppasswd: パスワードファイルは更新されません。"
 
 msgid "lppasswd: Sorry, password doesn't match."
-msgstr ""
+msgstr "lppasswd: 残念ながら、パスワードがマッチしません。"
 
 msgid "lppasswd: Sorry, password rejected."
-msgstr ""
+msgstr "lppasswd: 残念ながら、パスワードは拒否されました。"
 
 msgid "lppasswd: Sorry, passwords don't match."
-msgstr ""
+msgstr "lppasswd: 残念ながら、パスワードがマッチしません。"
 
 #, c-format
 msgid "lppasswd: Unable to copy password string: %s"
-msgstr ""
+msgstr "lppasswd: パスワード文字列をコピーできません: %s"
 
 #, c-format
 msgid "lppasswd: Unable to open password file: %s"
-msgstr ""
+msgstr "lppasswd: パスワードファイルを開けません: %s"
 
 #, c-format
 msgid "lppasswd: Unable to write to password file: %s"
-msgstr ""
+msgstr "lppasswd: パスワードファイルに書き込めません: %s"
 
 #, c-format
 msgid "lppasswd: failed to backup old password file: %s"
-msgstr ""
+msgstr "lppasswd: 古いパスワードファイルのバックアップに失敗しました: %s"
 
 #, c-format
 msgid "lppasswd: failed to rename password file: %s"
-msgstr ""
+msgstr "lppasswd: パスワードファイルの名前の変更に失敗しました: %s"
 
 #, c-format
 msgid "lppasswd: user \"%s\" and group \"%s\" do not exist."
-msgstr ""
+msgstr "lppasswd: ユーザー \"%s\" およびグループ \"%s\" は存在しません。"
 
 #, c-format
 msgid ""
 "lpstat: error - %s environment variable names non-existent destination \"%s"
 "\"."
 msgstr ""
+"lpstat: エラー - 環境変数 %s が、存在しない宛先 \"%s\" を指しています。"
 
 #, c-format
 msgid "members of class %s:"
-msgstr ""
+msgstr "クラス %s のメンバー:"
 
 msgid "no entries"
-msgstr ""
+msgstr "エントリーがありません"
 
 msgid "no system default destination"
-msgstr ""
+msgstr "システムのデフォルトの宛先がありません"
 
 msgid "notify-events not specified."
-msgstr ""
+msgstr "notify-events が指定されていません。"
 
 #, c-format
 msgid "notify-recipient-uri URI \"%s\" is already used."
-msgstr ""
+msgstr "notify-recipient-uri URI \"%s\" はすでに使われています。"
 
 #, c-format
 msgid "notify-recipient-uri URI \"%s\" uses unknown scheme."
-msgstr ""
+msgstr "notify-recipient-uri URI \"%s\" には未知のスキームが使われています。"
 
 msgid "pending"
 msgstr "保留"
 
 #, c-format
 msgid "ppdc: Adding include directory \"%s\"."
-msgstr ""
+msgstr "ppdc: ディレクトリー \"%s\" を追加しています。"
 
 #, c-format
 msgid "ppdc: Adding/updating UI text from %s."
-msgstr ""
+msgstr "ppdc: %s から UI テキストを追加または更新しています。"
 
 #, c-format
 msgid "ppdc: Bad boolean value (%s) on line %d of %s."
-msgstr ""
+msgstr "ppdc:  不正な boolean 値 (%s) があります。%d 行目、ファイル名 %s。"
 
 #, c-format
 msgid "ppdc: Bad font attribute: %s"
-msgstr ""
+msgstr "不正なフォント属性: %s"
 
 #, c-format
 msgid "ppdc: Bad resolution name \"%s\" on line %d of %s."
 msgstr ""
+"ppdc: 不正な resolution 名 \"%s\" があります。%d 行目、ファイル名 %s 。"
 
 #, c-format
 msgid "ppdc: Bad status keyword %s on line %d of %s."
 msgstr ""
+"ppdc: 不正な status キーワード %s があります。%d 行目、ファイル名 %s 。"
 
 #, c-format
 msgid "ppdc: Bad variable substitution ($%c) on line %d of %s."
-msgstr ""
+msgstr "ppdc: 不正な数値置換 ($%c) があります。%d 行目、ファイル名 %s。"
 
 #, c-format
 msgid "ppdc: Choice found on line %d of %s with no Option."
 msgstr ""
+"ppdc: %d 行目、ファイル名 %s で、Option がないのに Choice が見つかりました。"
 
 #, c-format
 msgid "ppdc: Duplicate #po for locale %s on line %d of %s."
 msgstr ""
+"ppdc: locale %s に対して #po が二重に定義されています。%d 行目、ファイル名 "
+"%s 。"
 
 #, c-format
 msgid "ppdc: Expected a filter definition on line %d of %s."
-msgstr ""
+msgstr "ppdc: %d 行目、ファイル名 %s においてフィルター定義が必要です。"
 
 #, c-format
 msgid "ppdc: Expected a program name on line %d of %s."
-msgstr ""
+msgstr "ppdc: %d 行目、ファイル名 %s においてプログラム名が必要です。"
 
 #, c-format
 msgid "ppdc: Expected boolean value on line %d of %s."
-msgstr ""
+msgstr "ppdc: %d 行目、ファイル名 %s において boolean 値が必要です。"
 
 #, c-format
 msgid "ppdc: Expected charset after Font on line %d of %s."
 msgstr ""
+"ppdc: %d 行目、ファイル名 %s において Font のあとに charset が必要です。"
 
 #, c-format
 msgid "ppdc: Expected choice code on line %d of %s."
-msgstr ""
+msgstr "ppdc: %d 行目、ファイル名 %s において choice code が必要です。"
 
 #, c-format
 msgid "ppdc: Expected choice name/text on line %d of %s."
-msgstr ""
+msgstr "ppdc: %d 行目、ファイル名 %s において choice name/text が必要です。"
 
 #, c-format
 msgid "ppdc: Expected color order for ColorModel on line %d of %s."
 msgstr ""
+"ppdc: %d 行目、ファイル名 %s において ColorModel に対する color order が必要"
+"です。"
 
 #, c-format
 msgid "ppdc: Expected colorspace for ColorModel on line %d of %s."
 msgstr ""
+"ppdc: %d 行目、ファイル名 %s において ColorModel に対する colorspace が必要で"
+"す。"
 
 #, c-format
 msgid "ppdc: Expected compression for ColorModel on line %d of %s."
 msgstr ""
+"ppdc: %d 行目、ファイル名 %s において ColorModel に対する compression が必要"
+"です。"
 
 #, c-format
 msgid "ppdc: Expected constraints string for UIConstraints on line %d of %s."
 msgstr ""
+"ppdc: %d 行目、ファイル名 %s において UIConstraints に対する constraint が必"
+"要です。"
 
 #, c-format
 msgid ""
 "ppdc: Expected driver type keyword following DriverType on line %d of %s."
 msgstr ""
+"ppdc: %d 行目、ファイル名 %s において DriverType のあとに driver type "
+"keyword が必要です。"
 
 #, c-format
 msgid "ppdc: Expected duplex type after Duplex on line %d of %s."
 msgstr ""
+"ppdc: %d 行目、ファイル名 %s において Duplex のあとに type が必要です。"
 
 #, c-format
 msgid "ppdc: Expected encoding after Font on line %d of %s."
 msgstr ""
+"ppdc: %d 行目、ファイル名 %s において Font のあとに encoding が必要です。"
 
 #, c-format
 msgid "ppdc: Expected filename after #po %s on line %d of %s."
-msgstr ""
+msgstr "ppdc: #po %s のあとにファイル名が必要です (%d 行目, ファイル %s)。"
 
 #, c-format
 msgid "ppdc: Expected group name/text on line %d of %s."
-msgstr ""
+msgstr "ppdc: %d 行目、ファイル名 %s において group name/text が必要です。"
 
 #, c-format
 msgid "ppdc: Expected include filename on line %d of %s."
-msgstr ""
+msgstr "ppdc: %d 行目、ファイル名 %s において include ファイル名が必要です。"
 
 #, c-format
 msgid "ppdc: Expected integer on line %d of %s."
-msgstr ""
+msgstr "ppdc: %d 行目、ファイル名 %s において整数指定が必要です。"
 
 #, c-format
 msgid "ppdc: Expected locale after #po on line %d of %s."
-msgstr ""
+msgstr "ppdc: %d 行目、ファイル名 %s において #po のあとに locale が必要です。"
 
 #, c-format
 msgid "ppdc: Expected name after %s on line %d of %s."
-msgstr ""
+msgstr "ppdc: %s のあとに name が必要です。%d 行目、ファイル名 %s。"
 
 #, c-format
 msgid "ppdc: Expected name after FileName on line %d of %s."
 msgstr ""
+"ppdc: %d 行目、ファイル名 %s において FileName のあとに name が必要です。"
 
 #, c-format
 msgid "ppdc: Expected name after Font on line %d of %s."
-msgstr ""
+msgstr "ppdc: %d 行目、ファイル名 %s において Font のあとに name が必要です。"
 
 #, c-format
 msgid "ppdc: Expected name after Manufacturer on line %d of %s."
 msgstr ""
+"ppdc: %d 行目、ファイル名 %s において Manufacturer のあとに name が必要です。"
 
 #, c-format
 msgid "ppdc: Expected name after MediaSize on line %d of %s."
 msgstr ""
+"ppdc: %d 行目、ファイル名 %s において MediaSize のあとに name が必要です。"
 
 #, c-format
 msgid "ppdc: Expected name after ModelName on line %d of %s."
 msgstr ""
+"ppdc: %d 行目、ファイル名 %s において ModelName のあとに name が必要です。"
 
 #, c-format
 msgid "ppdc: Expected name after PCFileName on line %d of %s."
 msgstr ""
+"ppdc: %d 行目、ファイル名 %s において PCFileName のあとに name が必要です。"
 
 #, c-format
 msgid "ppdc: Expected name/text after %s on line %d of %s."
-msgstr ""
+msgstr "ppdc: %s のあとに name/text が必要です。%d 行目、ファイル名 %s。"
 
 #, c-format
 msgid "ppdc: Expected name/text after Installable on line %d of %s."
 msgstr ""
+"ppdc: %d 行目、ファイル名 %s において Installable のあとに name/text が必要で"
+"す。"
 
 #, c-format
 msgid "ppdc: Expected name/text after Resolution on line %d of %s."
 msgstr ""
+"ppdc: %d 行目、ファイル名 %s において Resolution のあとに name/text が必要で"
+"す。"
 
 #, c-format
 msgid "ppdc: Expected name/text combination for ColorModel on line %d of %s."
 msgstr ""
+"ppdc: %d 行目、ファイル名 %s において ColorModel に対する name/text が必要で"
+"す。"
 
 #, c-format
 msgid "ppdc: Expected option name/text on line %d of %s."
-msgstr ""
+msgstr "ppdc: %d 行目、ファイル名 %s において option name/text が必要です。"
 
 #, c-format
 msgid "ppdc: Expected option section on line %d of %s."
-msgstr ""
+msgstr "ppdc: %d 行目、ファイル名 %s において option section が必要です。"
 
 #, c-format
 msgid "ppdc: Expected option type on line %d of %s."
-msgstr ""
+msgstr "ppdc: %d 行目、ファイル名 %s において option type が必要です。"
 
 #, c-format
 msgid "ppdc: Expected override field after Resolution on line %d of %s."
 msgstr ""
+"ppdc: %d 行目、ファイル名 %s において Resolution のあとに override field が必"
+"要です。"
 
 #, c-format
 msgid "ppdc: Expected quoted string on line %d of %s."
-msgstr ""
+msgstr "%d 行: %s には引用符で囲まれた文字列が必要です。"
 
 #, c-format
 msgid "ppdc: Expected real number on line %d of %s."
-msgstr ""
+msgstr "ppdc: %d 行目、ファイル名 %s において実数が必要です。"
 
 #, c-format
 msgid ""
 "ppdc: Expected resolution/mediatype following ColorProfile on line %d of %s."
 msgstr ""
+"ppdc: %d 行目、ファイル名 %s において ColorProfile に続いて resolution/"
+"mediatype が必要です。"
 
 #, c-format
 msgid ""
 "ppdc: Expected resolution/mediatype following SimpleColorProfile on line %d "
 "of %s."
 msgstr ""
+"ppdc: %d 行目、ファイル名 %s において SimpleColorProfile に続いて resolution/"
+"mediatype が必要です。"
 
 #, c-format
 msgid "ppdc: Expected selector after %s on line %d of %s."
-msgstr ""
+msgstr "ppdc: %s のあとに selector が必要です。%d 行目、ファイル名 %s。"
 
 #, c-format
 msgid "ppdc: Expected status after Font on line %d of %s."
 msgstr ""
+"ppdc: %d 行目、ファイル名 %s において Font のあとに status が必要です。"
 
 #, c-format
 msgid "ppdc: Expected string after Copyright on line %d of %s."
 msgstr ""
+"ppdc: %d 行目、ファイル名 %s において Copyright のあとに文字列が必要です。"
 
 #, c-format
 msgid "ppdc: Expected string after Version on line %d of %s."
 msgstr ""
+"ppdc: %d 行目、ファイル名 %s において Version のあとに文字列が必要です。"
 
 #, c-format
 msgid "ppdc: Expected two option names on line %d of %s."
-msgstr ""
+msgstr "ppdc: %d 行目、ファイル名 %s において 2 つのオプション名が必要です。"
 
 #, c-format
 msgid "ppdc: Expected value after %s on line %d of %s."
-msgstr ""
+msgstr "ppdc: %s のあとに value が必要です。%d 行目、ファイル名 %s。"
 
 #, c-format
 msgid "ppdc: Expected version after Font on line %d of %s."
 msgstr ""
+"ppdc: %d 行目、ファイル名 %s において Font のあとに version が必要です。"
 
 #, c-format
 msgid "ppdc: Invalid #include/#po filename \"%s\"."
-msgstr ""
+msgstr "ppdc: 無効な #include/#po ファイル名です \"%s\"。"
 
 #, c-format
 msgid "ppdc: Invalid cost for filter on line %d of %s."
 msgstr ""
+"ppdc: %d 行目、ファイル名 %s においてフィルターに対する無効な cost がありま"
+"す。"
 
 #, c-format
 msgid "ppdc: Invalid empty MIME type for filter on line %d of %s."
 msgstr ""
+"ppdc: %d 行目、ファイル名 %s においてフィルターに対する無効な空の MIME タイプ"
+"があります。"
 
 #, c-format
 msgid "ppdc: Invalid empty program name for filter on line %d of %s."
 msgstr ""
+"ppdc: %d 行目、ファイル名 %s においてフィルターに対するプログラム名が空であり"
+"無効です。"
 
 #, c-format
 msgid "ppdc: Invalid option section \"%s\" on line %d of %s."
 msgstr ""
+"ppdc: 無効な option section があります \"%s\"。%d 行目、ファイル名 %s。"
 
 #, c-format
 msgid "ppdc: Invalid option type \"%s\" on line %d of %s."
-msgstr ""
+msgstr "ppdc: 無効な option type があります \"%s\"。%d 行目、ファイル名 %s。"
 
 #, c-format
 msgid "ppdc: Loading driver information file \"%s\"."
-msgstr ""
+msgstr "ppdc: ドライバー情報ファイル \"%s\" を読み込んでいます。"
 
 #, c-format
 msgid "ppdc: Loading messages for locale \"%s\"."
-msgstr ""
+msgstr "ppdc: ロケール \"%s\" のメッセージを読み込んでいます。"
 
 #, c-format
 msgid "ppdc: Loading messages from \"%s\"."
-msgstr ""
+msgstr "ppdc: \"%s\" からメッセージを読み込んでいます。"
 
 #, c-format
 msgid "ppdc: Missing #endif at end of \"%s\"."
-msgstr ""
+msgstr "ppdc: \"%s\" の最後に #endif が見つかりません。"
 
 #, c-format
 msgid "ppdc: Missing #if on line %d of %s."
-msgstr ""
+msgstr "ppdc: %d 行目、ファイル名 %s において #if が見つかりません。"
 
 #, c-format
 msgid ""
 "ppdc: Need a msgid line before any translation strings on line %d of %s."
-msgstr ""
+msgstr "%d 行: %s の翻訳文字列の前に msgid 行が必要です。"
 
 #, c-format
 msgid "ppdc: No message catalog provided for locale %s."
-msgstr ""
+msgstr "ppdc: ロケール %s に対するメッセージカタログが見つかりません。"
 
 #, c-format
 msgid "ppdc: Option %s defined in two different groups on line %d of %s."
 msgstr ""
+"ppdc: オプション %s が行 %d、ファイル %s の 2 つの異なるグループで定義されて"
+"います。"
 
 #, c-format
 msgid "ppdc: Option %s redefined with a different type on line %d of %s."
 msgstr ""
+"ppdc: オプション %s は異なる型で再定義されています。%d 行目、ファイル名 %s。"
 
 #, c-format
 msgid "ppdc: Option constraint must *name on line %d of %s."
 msgstr ""
+"ppdc: %d 行目、ファイル名 %s において Option constraint は *name で指定しなけ"
+"ればなりません。"
 
 #, c-format
 msgid "ppdc: Too many nested #if's on line %d of %s."
-msgstr ""
+msgstr "ppdc: %d 行目、ファイル名 %s において #if のネストが多すぎます。"
 
 #, c-format
 msgid "ppdc: Unable to create PPD file \"%s\" - %s."
-msgstr ""
+msgstr "ppdc: PPD ファイル \"%s\" を作成できません - %s。"
 
 #, c-format
 msgid "ppdc: Unable to create output directory %s: %s"
-msgstr ""
+msgstr "ppdc: 出力ディレクトリー \"%s\" を作成できません - %s"
 
 #, c-format
 msgid "ppdc: Unable to create output pipes: %s"
-msgstr ""
+msgstr "ppdc: 出力パイプを作成できません: %s"
 
 #, c-format
 msgid "ppdc: Unable to execute cupstestppd: %s"
-msgstr ""
+msgstr "ppdc: cupstestppd を実行できません: %s"
 
 #, c-format
 msgid "ppdc: Unable to find #po file %s on line %d of %s."
-msgstr ""
+msgstr "ppdc: #po ファイル %s が見つかりません。%d 行目、ファイル名 %s。"
 
 #, c-format
 msgid "ppdc: Unable to find include file \"%s\" on line %d of %s."
 msgstr ""
+"ppdc: インクルードファイル %s が見つかりません。%d 行目、ファイル名 %s。"
 
 #, c-format
 msgid "ppdc: Unable to find localization for \"%s\" - %s"
-msgstr ""
+msgstr "ppdc:  \"%s\" に対する地域化情報が見つかりません - %s"
 
 #, c-format
 msgid "ppdc: Unable to load localization file \"%s\" - %s"
-msgstr ""
+msgstr "ppdc:  \"%s\" に対するローカライズファイルを読み込めません - %s"
 
 #, c-format
 msgid "ppdc: Unable to open %s: %s"
-msgstr ""
+msgstr "ppdc: %s を開けません: %s"
 
 #, c-format
 msgid "ppdc: Undefined variable (%s) on line %d of %s."
-msgstr ""
+msgstr "ppdc: 変数 (%s) は未定義です。%d 行目、ファイル名 %s。"
 
 #, c-format
 msgid "ppdc: Unexpected text on line %d of %s."
-msgstr ""
+msgstr "%d 行: %s は予期せぬテキストです。"
 
 #, c-format
 msgid "ppdc: Unknown driver type %s on line %d of %s."
-msgstr ""
+msgstr "ppdc: %s は未知のドライバータイプです。%d 行目、ファイル名 %s。"
 
 #, c-format
 msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s."
-msgstr ""
+msgstr "ppdc: \"%s\" は未知の両面タイプです。%d 行目、ファイル名 %s。"
 
 #, c-format
 msgid "ppdc: Unknown media size \"%s\" on line %d of %s."
-msgstr ""
+msgstr "ppdc: \"%s\" は未知の用紙サイズです。%d 行目、ファイル名 %s。"
 
 #, c-format
 msgid "ppdc: Unknown message catalog format for \"%s\"."
-msgstr ""
+msgstr "\"%s\" は未知のメッセージカタログの書式です。"
 
 #, c-format
 msgid "ppdc: Unknown token \"%s\" seen on line %d of %s."
-msgstr ""
+msgstr "ppdc: 未知のトークン \"%s\" があります。%d 行目、ファイル名 %s。"
 
 #, c-format
 msgid ""
 "ppdc: Unknown trailing characters in real number \"%s\" on line %d of %s."
-msgstr ""
+msgstr "ppdc: 実数 \"%s\" に未知の終了文字があります。%d 行目、ファイル名 %s。"
 
 #, c-format
 msgid "ppdc: Unterminated string starting with %c on line %d of %s."
 msgstr ""
+"ppdc: %c で始まる文字に対して終端文字がありません。%d 行目、ファイル名 %s。"
 
 #, c-format
 msgid "ppdc: Warning - overlapping filename \"%s\"."
-msgstr ""
+msgstr "ppdc: 警告 - ファイル名 \"%s\" が重複しています。"
 
 #, c-format
 msgid "ppdc: Writing %s."
-msgstr ""
+msgstr "ppdc: %s を書き込んでいます。"
 
 #, c-format
 msgid "ppdc: Writing PPD files to directory \"%s\"."
-msgstr ""
+msgstr "ppdc: ディレクトリー \"%s\" に PPD ファイルを書き込んでいます。"
 
 #, c-format
 msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s."
-msgstr ""
+msgstr "ppdmerge: 不正な LanguageVersion \"%s\" が %s にあります。"
 
 #, c-format
 msgid "ppdmerge: Ignoring PPD file %s."
-msgstr ""
+msgstr "ppdmerge: PPD ファイル %s を無視します。"
 
 #, c-format
 msgid "ppdmerge: Unable to backup %s to %s - %s"
-msgstr ""
+msgstr "ppdmerge: %s を %s にバックアップできません - %s"
 
 #, c-format
 msgid "printer %s disabled since %s -"
-msgstr ""
+msgstr "プリンター %s は %s から無効です -"
 
 #, c-format
 msgid "printer %s is idle.  enabled since %s"
-msgstr ""
+msgstr "プリンター %s は待機中です。%s 以来有効です"
 
 #, c-format
 msgid "printer %s now printing %s-%d.  enabled since %s"
-msgstr ""
+msgstr "プリンター %s は %s-%d を印刷しています。%s 以来有効です"
 
 #, c-format
 msgid "printer %s/%s disabled since %s -"
-msgstr ""
+msgstr "プリンター %s/%s は %s から無効です -"
 
 #, c-format
 msgid "printer %s/%s is idle.  enabled since %s"
-msgstr ""
+msgstr "プリンター %s/%s は待機中です。%s 以来有効です"
 
 #, c-format
 msgid "printer %s/%s now printing %s-%d.  enabled since %s"
-msgstr ""
+msgstr "プリンター %s/%s は現在 %s-%d を印刷中です。%s 以来有効です"
 
 msgid "processing"
 msgstr "処理中"
 
 #, c-format
 msgid "request id is %s-%d (%d file(s))"
-msgstr ""
+msgstr "リクエスト ID は %s-%d です (%d 個のファイル)"
 
 msgid "request-id uses indefinite length"
 msgstr "リクエスト ID の長さが不定"
 
 msgid "scheduler is not running"
-msgstr ""
+msgstr "スケジューラーは動作していません"
 
 msgid "scheduler is running"
-msgstr ""
+msgstr "スケジューラーは動作中です"
 
 #, c-format
 msgid "stat of %s failed: %s"
 msgstr "%s の状態取得に失敗しました: %s"
 
 msgid "status\t\tShow status of daemon and queue."
-msgstr ""
+msgstr "status\t\tデーモンとキューの状態を表示"
 
 msgid "stopped"
 msgstr "停止"
 
 #, c-format
 msgid "system default destination: %s"
-msgstr ""
+msgstr "システムのデフォルトの宛先: %s"
 
 #, c-format
 msgid "system default destination: %s/%s"
-msgstr ""
+msgstr "システムのデフォルトの宛先: %s/%s"
 
 msgid "unknown"
 msgstr "未知"
@@ -5428,3437 +5509,3 @@ msgstr "タイトルなし"
 
 msgid "variable-bindings uses indefinite length"
 msgstr "variable-bindings の長さが不定"
-
-#~ msgid "\t\t(all)\n"
-#~ msgstr "\t\t(すべて)\n"
-
-#~ msgid "\t\t(none)\n"
-#~ msgstr "\t\t(なし)\n"
-
-#~ msgid "\t%d entries\n"
-#~ msgstr "\t%d エントリー\n"
-
-#~ msgid "\tAfter fault: continue\n"
-#~ msgstr "\t失敗後: 継続\n"
-
-#~ msgid "\tAlerts:"
-#~ msgstr "\t警告:"
-
-#~ msgid "\tBanner required\n"
-#~ msgstr "\tバナーが必要\n"
-
-#~ msgid "\tCharset sets:\n"
-#~ msgstr "\t文字セット:\n"
-
-#~ msgid "\tConnection: direct\n"
-#~ msgstr "\t接続: 直結\n"
-
-#~ msgid "\tConnection: remote\n"
-#~ msgstr "\t接続: リモート\n"
-
-#~ msgid "\tDefault page size:\n"
-#~ msgstr "\tデフォルト用紙サイズ:\n"
-
-#~ msgid "\tDefault pitch:\n"
-#~ msgstr "\tデフォルトピッチ:\n"
-
-#~ msgid "\tDefault port settings:\n"
-#~ msgstr "\tデフォルトポート設定:\n"
-
-#~ msgid "\tDescription: %s\n"
-#~ msgstr "\t説明: %s\n"
-
-#~ msgid ""
-#~ "\tForm mounted:\n"
-#~ "\tContent types: any\n"
-#~ "\tPrinter types: unknown\n"
-#~ msgstr ""
-#~ "\t設定されたフォーム:\n"
-#~ "\tコンテンツの種類: すべて\n"
-#~ "\tプリンターの種類: 不明\n"
-
-#~ msgid "\tForms allowed:\n"
-#~ msgstr "\t許可されているフォーム:\n"
-
-#~ msgid "\tInterface: %s.ppd\n"
-#~ msgstr "\tインターフェイス: %s.ppd\n"
-
-#~ msgid "\tInterface: %s/interfaces/%s\n"
-#~ msgstr "\tインターフェイス: %s/interfaces/%s\n"
-
-#~ msgid "\tInterface: %s/ppd/%s.ppd\n"
-#~ msgstr "\tインターフェイス: %s/ppd/%s.ppd\n"
-
-#~ msgid "\tLocation: %s\n"
-#~ msgstr "\t場所: %s\n"
-
-#~ msgid "\tOn fault: no alert\n"
-#~ msgstr "\t失敗時: 警告なし\n"
-
-#~ msgid "\tUsers allowed:\n"
-#~ msgstr "\t許可されているユーザー:\n"
-
-#~ msgid "\tUsers denied:\n"
-#~ msgstr "\t拒否されているユーザー:\n"
-
-#~ msgid "\tdaemon present\n"
-#~ msgstr "\tデーモンは提供されています\n"
-
-#~ msgid "\tno entries\n"
-#~ msgstr "\tエントリーがありません\n"
-
-#~ msgid "\tprinter is on device '%s' speed -1\n"
-#~ msgstr "\tデバイス '%s' 上のプリンター 速度 -1\n"
-
-#~ msgid "\tprinting is disabled\n"
-#~ msgstr "\t印刷は無効です\n"
-
-#~ msgid "\tprinting is enabled\n"
-#~ msgstr "\t印刷は有効です\n"
-
-#~ msgid "\tqueued for %s\n"
-#~ msgstr "\t%s にキューしました\n"
-
-#~ msgid "\tqueuing is disabled\n"
-#~ msgstr "\tキューは無効です\n"
-
-#~ msgid "\tqueuing is enabled\n"
-#~ msgstr "\tキューは有効です\n"
-
-#~ msgid "\treason unknown\n"
-#~ msgstr "\t未知の理由\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "    DETAILED CONFORMANCE TEST RESULTS\n"
-#~ msgstr ""
-#~ "\n"
-#~ "    適合テスト結果詳細\n"
-
-#~ msgid "                REF: Page 15, section 3.1.\n"
-#~ msgstr "                参照: 15 ページ、セクション 3.1。\n"
-
-#~ msgid "                REF: Page 15, section 3.2.\n"
-#~ msgstr "                参照: 15 ページ、セクション 3.2。\n"
-
-#~ msgid "                REF: Page 19, section 3.3.\n"
-#~ msgstr "                参照: 19 ページ、セクション 3.3。\n"
-
-#~ msgid "                REF: Page 20, section 3.4.\n"
-#~ msgstr "                参照: 20 ページ、セクション 3.4。\n"
-
-#~ msgid "                REF: Page 27, section 3.5.\n"
-#~ msgstr "                参照: 27 ページ、セクション 3.5。\n"
-
-#~ msgid "                REF: Page 42, section 5.2.\n"
-#~ msgstr "                参照: 42 ページ、セクション 5.2。\n"
-
-#~ msgid "                REF: Pages 16-17, section 3.2.\n"
-#~ msgstr "                参照: 16-17 ページ、セクション 3.2。\n"
-
-#~ msgid "                REF: Pages 42-45, section 5.2.\n"
-#~ msgstr "                参照: 42-45 ページ、セクション 5.2。\n"
-
-#~ msgid "                REF: Pages 45-46, section 5.2.\n"
-#~ msgstr "                参照: 45-46 ページ、セクション 5.2。\n"
-
-#~ msgid "                REF: Pages 48-49, section 5.2.\n"
-#~ msgstr "                参照: 48-49 ページ、セクション 5.2。\n"
-
-#~ msgid "                REF: Pages 52-54, section 5.2.\n"
-#~ msgstr "                参照: 52-54 ページ、セクション 5.2。\n"
-
-#~ msgid "        %-39.39s %.0f bytes\n"
-#~ msgstr "        %-39.39s %.0f バイト\n"
-
-#~ msgid "        PASS    Default%s\n"
-#~ msgstr "        合格    Default%s\n"
-
-#~ msgid "        PASS    DefaultImageableArea\n"
-#~ msgstr "        合格    DefaultImageableArea\n"
-
-#~ msgid "        PASS    DefaultPaperDimension\n"
-#~ msgstr "        合格    DefaultPaperDimension\n"
-
-#~ msgid "        PASS    FileVersion\n"
-#~ msgstr "        合格    FileVersion\n"
-
-#~ msgid "        PASS    FormatVersion\n"
-#~ msgstr "        合格    FormatVersion\n"
-
-#~ msgid "        PASS    LanguageEncoding\n"
-#~ msgstr "        合格    LanguageEncoding\n"
-
-#~ msgid "        PASS    LanguageVersion\n"
-#~ msgstr "        合格    LanguageVersion\n"
-
-#~ msgid "        PASS    Manufacturer\n"
-#~ msgstr "        合格    Manufacturer\n"
-
-#~ msgid "        PASS    ModelName\n"
-#~ msgstr "        合格    ModelName\n"
-
-#~ msgid "        PASS    NickName\n"
-#~ msgstr "        合格    NickName\n"
-
-#~ msgid "        PASS    PCFileName\n"
-#~ msgstr "        合格    PCFileName\n"
-
-#~ msgid "        PASS    PSVersion\n"
-#~ msgstr "        合格    PSVersion\n"
-
-#~ msgid "        PASS    PageRegion\n"
-#~ msgstr "        合格    PageRegion\n"
-
-#~ msgid "        PASS    PageSize\n"
-#~ msgstr "        合格    PageSize\n"
-
-#~ msgid "        PASS    Product\n"
-#~ msgstr "        合格    Product\n"
-
-#~ msgid "        PASS    ShortNickName\n"
-#~ msgstr "        合格    ShortNickName\n"
-
-#~ msgid ""
-#~ "        WARN    \"%s %s\" conflicts with \"%s %s\"\n"
-#~ "                (constraint=\"%s %s %s %s\")\n"
-#~ msgstr ""
-#~ "        警告    \"%s %s\" は \"%s %s\" と競合します\n"
-#~ "                (禁則=\"%s %s %s %s\")\n"
-
-#~ msgid "        WARN    %s has no corresponding options!\n"
-#~ msgstr "        警告    %s は相当するオプションがありません!\n"
-
-#~ msgid ""
-#~ "        WARN    %s shares a common prefix with %s\n"
-#~ "                REF: Page 15, section 3.2.\n"
-#~ msgstr ""
-#~ "        警告    %s は %s と一般プレフィックスを共有します。\n"
-#~ "                参照: 15 ページ、セクション 3.2。\n"
-
-#~ msgid "        WARN    Default choices conflicting!\n"
-#~ msgstr "        警告    デフォルトの選択肢が競合しています!\n"
-
-#~ msgid ""
-#~ "        WARN    Duplex option keyword %s may not work as expected and "
-#~ "should be named Duplex!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "        警告    Duplex オプションキーワード %s は期待通りに動作しないかも"
-#~ "しれません。また、Duplex という名前であるべきです!\n"
-#~ "                参照: 122 ページ、セクション 5.17\n"
-
-#~ msgid ""
-#~ "        WARN    File contains a mix of CR, LF, and CR LF line endings!\n"
-#~ msgstr ""
-#~ "        警告    ファイルが CR、LF、CR LF の行末を混在して含んでいます!\n"
-
-#~ msgid ""
-#~ "        WARN    LanguageEncoding required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 56-57, section 5.3.\n"
-#~ msgstr ""
-#~ "        警告    LanguageEncoding は PPD 4.3 仕様で必須です。\n"
-#~ "                参照: 56-57 ページ、セクション 5.3。\n"
-
-#~ msgid "        WARN    Line %d only contains whitespace!\n"
-#~ msgstr "        警告    %d 行が空白だけです!\n"
-
-#~ msgid ""
-#~ "        WARN    Manufacturer required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 58-59, section 5.3.\n"
-#~ msgstr ""
-#~ "        警告    Manufacturer は PPD 4.3 仕様で必須です。\n"
-#~ "                参照: 58-59 ページ、セクション 5.3。\n"
-
-#~ msgid ""
-#~ "        WARN    Non-Windows PPD files should use lines ending with only "
-#~ "LF, not CR LF!\n"
-#~ msgstr ""
-#~ "        警告    非 Windows PPD ファイルは、CR LF でなく LF のみを行末に使"
-#~ "うべきです!\n"
-
-#~ msgid ""
-#~ "        WARN    Obsolete PPD version %.1f!\n"
-#~ "                REF: Page 42, section 5.2.\n"
-#~ msgstr ""
-#~ "        警告    PPD バージョン %.1f は現在使われていません!\n"
-#~ "                参照: 42 ページ、セクション 5.2。\n"
-
-#~ msgid ""
-#~ "        WARN    PCFileName longer than 8.3 in violation of PPD spec.\n"
-#~ "                REF: Pages 61-62, section 5.3.\n"
-#~ msgstr ""
-#~ "        警告    8.3 文字より長い PCFileName は PPD 仕様違反です。\n"
-#~ "                参照: 61-62 ページ、セクション 5.3。\n"
-
-#~ msgid ""
-#~ "        WARN    Protocols contains PJL but JCL attributes are not set.\n"
-#~ "                REF: Pages 78-79, section 5.7.\n"
-#~ msgstr ""
-#~ "        警告    プロトコルが PJL を含んでいますが JCL 属性が設定されていま"
-#~ "せん。\n"
-#~ "                参照: 78-79 ページ、セクション 5.7。\n"
-
-#~ msgid ""
-#~ "        WARN    Protocols contains both PJL and BCP; expected TBCP.\n"
-#~ "                REF: Pages 78-79, section 5.7.\n"
-#~ msgstr ""
-#~ "        警告    プロトコルが PJL と BCP の両方を含んでいます; TBCP を想定"
-#~ "します。\n"
-#~ "                参照: 78-79 ページ、セクション 5.7。\n"
-
-#~ msgid ""
-#~ "        WARN    ShortNickName required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "        警告    ShortNickName は PPD 4.3 仕様で必須です。\n"
-#~ "                参照: 64-65 ページ、セクション 5.3。\n"
-
-#~ msgid "      %s  %s %s does not exist!\n"
-#~ msgstr "      %s  %s %s が存在しません!\n"
-
-#~ msgid "      %s  %s file \"%s\" has the wrong capitalization!\n"
-#~ msgstr ""
-#~ "      %s  %s ファイル \"%s\" は不正な大文字で始まるワードを含んでいます!\n"
-
-#~ msgid ""
-#~ "      %s  Bad %s choice %s!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "      %s  不正な %s が %s を選んでいます!\n"
-#~ "                参照: 122 ページ、セクション 5.17\n"
-
-#~ msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s!\n"
-#~ msgstr "      %s  不正な UTF-8 \"%s\" 翻訳文字列 (オプション %s 用)です!\n"
-
-#~ msgid ""
-#~ "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s!\n"
-#~ msgstr ""
-#~ "      %s  不正な UTF-8 \"%s\" 翻訳文字列 (オプション %s 、選択 %s)です!\n"
-
-#~ msgid "      %s  Bad cupsFilter value \"%s\"!\n"
-#~ msgstr "      %s  不正な値が cupsFilter に設定されています \"%s\"!\n"
-
-#~ msgid "      %s  Bad cupsICCProfile %s!\n"
-#~ msgstr "      %s  不正な cupsICCProfile %sです!\n"
-
-#~ msgid "      %s  Bad cupsPreFilter value \"%s\"!\n"
-#~ msgstr "      %s  不正な値が cupsPreFilter に設定されています \"%s\"!\n"
-
-#~ msgid "      %s  Bad cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr "      %s  不正な cupsUIConstraints %s: \"%s\"です!\n"
-
-#~ msgid "      %s  Bad language \"%s\"!\n"
-#~ msgstr "      %s  無効な言語 \"%s\"です!\n"
-
-#~ msgid "      %s  Bad spelling of %s - should be %s!\n"
-#~ msgstr "      %s  %s の不正な綴りです - %s であるべきです!\n"
-
-#~ msgid "      %s  Cannot provide both APScanAppPath and APScanAppBundleID!\n"
-#~ msgstr ""
-#~ "      %s  APScanAppPath と APScanAppBundleID は同時に指定できません!\n"
-
-#~ msgid "      %s  Empty cupsUIConstraints %s!\n"
-#~ msgstr "      %s 空の cupsUIConstraints %sです!\n"
-
-#~ msgid "      %s  Missing \"%s\" translation string for option %s!\n"
-#~ msgstr "      %s  \"%s\" 翻訳文字列 (オプション %s 用) が見つかりません!\n"
-
-#~ msgid ""
-#~ "      %s  Missing \"%s\" translation string for option %s, choice %s!\n"
-#~ msgstr ""
-#~ "      %s  \"%s\" 翻訳文字列 (オプション %s 、選択 %s) が見つかりません!\n"
-
-#~ msgid "      %s  Missing APDialogExtension file \"%s\"\n"
-#~ msgstr "      %s  APDialogExtension ファイル \"%s\" が見つかりません\n"
-
-#~ msgid "      %s  Missing APPrinterIconPath file \"%s\"\n"
-#~ msgstr "      %s  APPrinterIconPath ファイル \"%s\" が見つかりません\n"
-
-#~ msgid "      %s  Missing APPrinterLowInkTool file \"%s\"\n"
-#~ msgstr "      %s  APPrinterLowInkTool ファイル \"%s\" が見つかりません\n"
-
-#~ msgid "      %s  Missing APPrinterUtilityPath file \"%s\"\n"
-#~ msgstr "      %s  APPrinterUtilityPath ファイル \"%s\" が見つかりません\n"
-
-#~ msgid "      %s  Missing APScanAppPath file \"%s\"\n"
-#~ msgstr "      %s  APScanAppPath ファイル \"%s\" が見つかりません\n"
-
-#~ msgid ""
-#~ "      %s  Missing REQUIRED PageRegion option!\n"
-#~ "                REF: Page 100, section 5.14.\n"
-#~ msgstr ""
-#~ "      %s  必須の PageRegion オプションが見つかりません!\n"
-#~ "                参照: 100 ページ、セクション 5.14。\n"
-
-#~ msgid ""
-#~ "      %s  Missing REQUIRED PageSize option!\n"
-#~ "                REF: Page 99, section 5.14.\n"
-#~ msgstr ""
-#~ "      %s  必須の PageSize オプションが見つかりません!\n"
-#~ "                参照: 99 ページ、セクション 5.14。\n"
-
-#~ msgid ""
-#~ "      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"!\n"
-#~ msgstr ""
-#~ "      %s  選択 *%s %s が UIConstraints \"*%s %s *%s %s\" 内に見つかりませ"
-#~ "ん!\n"
-
-#~ msgid "      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr ""
-#~ "      %s  選択 *%s %s が cupsUIConstraints %s: \"%s\" 内に見つかりませ"
-#~ "ん!\n"
-
-#~ msgid "      %s  Missing cupsFilter file \"%s\"\n"
-#~ msgstr "      %s  cupsFilter ファイル \"%s\" が見つかりません!\n"
-
-#~ msgid "      %s  Missing cupsICCProfile file \"%s\"!\n"
-#~ msgstr "      %s  cupsICCProfile ファイル \"%s\" が見つかりません!\n"
-
-#~ msgid "      %s  Missing cupsPreFilter file \"%s\"\n"
-#~ msgstr "      %s  cupsPreFilter ファイル \"%s\" が見つかりません!\n"
-
-#~ msgid "      %s  Missing cupsUIResolver %s!\n"
-#~ msgstr "      %s  cupsUIResolver ファイル %s が見つかりません!\n"
-
-#~ msgid "      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\"!\n"
-#~ msgstr ""
-#~ "      %s  オプション %s がUIConstraints \"*%s %s *%s %s\" に見つかりませ"
-#~ "ん!\n"
-
-#~ msgid "      %s  Missing option %s in cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr ""
-#~ "      %s  オプション %s がcupsUIConstraints %s に見つかりません!: \"%s\"\n"
-
-#~ msgid "      %s  No base translation \"%s\" is included in file!\n"
-#~ msgstr "      %s  ファイルにベース翻訳文字列 \"%s\" がありません!\n"
-
-#~ msgid ""
-#~ "      %s  Non-standard size name \"%s\"!\n"
-#~ "                REF: Page 187, section B.2.\n"
-#~ msgstr ""
-#~ "      %s  サイズ名 \"%s\" は標準にありません!\n"
-#~ "                参照: 187 ページ、セクション B.2。\n"
-
-#~ msgid ""
-#~ "      %s  REQUIRED %s does not define choice None!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "      %s  必須の %s が選択肢 None を定義していません!\n"
-#~ "                参照: 122 ページ、セクション 5.17。\n"
-
-#~ msgid "      %s  Size \"%s\" defined for %s but not for %s!\n"
-#~ msgstr ""
-#~ "      %s  サイズ \"%s\" は %s 向けに定義されていますが、%s にはありませ"
-#~ "ん!\n"
-
-#~ msgid "      %s  Size \"%s\" has unexpected dimensions (%gx%g)!\n"
-#~ msgstr "      %s  サイズ \"%s\" は規定外の寸法 (%gx%g) を持っています!\n"
-
-#~ msgid "      %s  cupsICCProfile %s hash value collides with %s!\n"
-#~ msgstr "      %s  cupsICCProfileのハッシュ値 %s が %s と一致しません!\n"
-
-#~ msgid "      %s  cupsUIResolver %s causes a loop!\n"
-#~ msgstr "      %s  cupsUIResolverの %s がループしています!\n"
-
-#~ msgid ""
-#~ "      %s  cupsUIResolver %s does not list at least two different "
-#~ "options!\n"
-#~ msgstr ""
-#~ "      %s  cupsUIResolver %s は最低でも二つの異なったオプションを持っていな"
-#~ "ければなりません!\n"
-
-#~ msgid "      **FAIL**  %s choice names %s and %s differ only by case!\n"
-#~ msgstr ""
-#~ "      **失敗**  %s が選択した %s と %s は大文字/小文字のみが違うだけで"
-#~ "す!\n"
-
-#~ msgid ""
-#~ "      **FAIL**  %s must be 1284DeviceID!\n"
-#~ "                REF: Page 72, section 5.5\n"
-#~ msgstr ""
-#~ "      **失敗**  %s は 1284DeviceID でなければなりません!\n"
-#~ "                参照: 72 ページ、セクション 5.5\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Default%s %s\n"
-#~ "                REF: Page 40, section 4.5.\n"
-#~ msgstr ""
-#~ "      **失敗**  不正な Default%s %s\n"
-#~ "                参照: 40 ページ、セクション 4.5。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD DefaultImageableArea %s!\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **失敗**  %s は不正な DefaultImageableArea です!\n"
-#~ "                参照: 102 ページ、セクション 5.15。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD DefaultPaperDimension %s!\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **失敗**  %s は不正な DefaultPaperDimension です!\n"
-#~ "                参照: 103 ページ、セクション 5.15。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD JobPatchFile attribute in file\n"
-#~ "                REF: Page 24, section 3.4.\n"
-#~ msgstr ""
-#~ "      **失敗**  ファイルに不正な JobPatchFile 属性があります\n"
-#~ "                参照: 24 ページ、セクション 3.4。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Manufacturer (should be \"HP\")\n"
-#~ "                REF: Page 211, table D.1.\n"
-#~ msgstr ""
-#~ "      **失敗**  不正な Manufacturer (\"HP\" でなければなりません)\n"
-#~ "                参照: 211 ページ、表 D.1。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Manufacturer (should be \"Oki\")\n"
-#~ "                REF: Page 211, table D.1.\n"
-#~ msgstr ""
-#~ "      **失敗**  不正な Manufacturer (\"Oki\" でなければなりません)\n"
-#~ "                参照: 211 ページ、表 D.1。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n"
-#~ "                REF: Pages 59-60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失敗**  不正な ModelName - 文字列に \"%c\" は許可されていませ"
-#~ "ん。\n"
-#~ "                参照: 59-60 ページ、セクション 5.3。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD PSVersion - not \"(string) int\".\n"
-#~ "                REF: Pages 62-64, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失敗**  不正な PSVersion - \"(文字列) 整数\" ではありません。\n"
-#~ "                参照: 62-64 ページ、セクション 5.3。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Product - not \"(string)\".\n"
-#~ "                REF: Page 62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失敗**  不正な Product - \"(文字列)\" ではありません。\n"
-#~ "                参照: 62 ページ、セクション 5.3。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD ShortNickName - longer than 31 chars.\n"
-#~ "                REF: Pages 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失敗**  不正な ShortNickName - 31 文字を超えています。\n"
-#~ "                参照: 64-65 ページ、セクション 5.3。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad %s choice %s!\n"
-#~ "                REF: Page 84, section 5.9\n"
-#~ msgstr ""
-#~ "      **失敗**  不正な %s が %s を選んでいます!\n"
-#~ "                参照: 84 ページ、セクション 5.9\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad FileVersion \"%s\"\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失敗**  不正なFileVersion \"%s\"\n"
-#~ "                参照: 56 ページ、セクション 5.3。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad FormatVersion \"%s\"\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失敗**  FormatVersion が違います \"%s\"\n"
-#~ "                参照: 56 ページ、セクション 5.3。\n"
-
-#~ msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1!\n"
-#~ msgstr ""
-#~ "      **失敗**  無効な LanguageEncoding %s - ISOLatin1 でなければなりませ"
-#~ "ん!\n"
-
-#~ msgid "      **FAIL**  Bad LanguageVersion %s - must be English!\n"
-#~ msgstr ""
-#~ "      **失敗**  無効な LanguageVersion %s - English でなければなりませ"
-#~ "ん!\n"
-
-#~ msgid "      **FAIL**  Default option code cannot be interpreted: %s\n"
-#~ msgstr "      **失敗**  デフォルトのオプションコードが解釈できません: %s\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Default translation string for option %s choice %s "
-#~ "contains 8-bit characters!\n"
-#~ msgstr ""
-#~ "      **失敗**  オプション %s、選択 %s のデフォルトの翻訳文字列が 8 ビット"
-#~ "文字を含んでいます!\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Default translation string for option %s contains 8-bit "
-#~ "characters!\n"
-#~ msgstr ""
-#~ "      **失敗**  オプション %s のデフォルトの翻訳文字列が 8 ビット文字を含"
-#~ "んでいます!\n"
-
-#~ msgid "      **FAIL**  Group names %s and %s differ only by case!\n"
-#~ msgstr ""
-#~ "      **失敗**  グループ名 %s と %s は大文字/小文字が違うだけです!\n"
-
-#~ msgid "      **FAIL**  Multiple occurrences of %s choice name %s!\n"
-#~ msgstr "      **失敗**  %s で複数のオプション %s が選択されています!\n"
-
-#~ msgid "      **FAIL**  Option names %s and %s differ only by case!\n"
-#~ msgstr ""
-#~ "      **失敗**  オプション名 %s と %s は大文字/小文字が違うだけです!\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Default%s\n"
-#~ "                REF: Page 40, section 4.5.\n"
-#~ msgstr ""
-#~ "      **失敗**  Default%s は必須\n"
-#~ "                参照: 40 ページ、セクション 4.5。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED DefaultImageableArea\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **失敗**  DefaultImageableArea は必須\n"
-#~ "                参照: 102 ページ、セクション 5.15。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED DefaultPaperDimension\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **失敗**  DefaultPaperDimension は必須\n"
-#~ "                参照: 103 ページ、セクション 5.15。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED FileVersion\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失敗**  FileVersion は必須\n"
-#~ "                参照: 56 ページ、セクション 5.3。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED FormatVersion\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失敗**  FormatVersion は必須\n"
-#~ "                参照: 56 ページ、セクション 5.3。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ImageableArea for PageSize %s\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **失敗**  PageSize %s に ImageableArea は必須\n"
-#~ "                参照: 41 ページ、セクション 5。\n"
-#~ "                参照: 102 ページ、セクション 5.15。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED LanguageEncoding\n"
-#~ "                REF: Pages 56-57, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失敗**  LanguageEncoding は必須\n"
-#~ "                参照: 56-57 ページ、セクション 5.3。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED LanguageVersion\n"
-#~ "                REF: Pages 57-58, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失敗**  LanguageVersion は必須\n"
-#~ "                参照: 57-58 ページ、セクション 5.3。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Manufacturer\n"
-#~ "                REF: Pages 58-59, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失敗**  Manufacturer は必須\n"
-#~ "                参照: 58-59 ページ、セクション 5.3。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ModelName\n"
-#~ "                REF: Pages 59-60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失敗**  ModelName は必須\n"
-#~ "                参照: 59-60 ページ、セクション 5.3。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED NickName\n"
-#~ "                REF: Page 60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失敗**  NickName は必須\n"
-#~ "                参照: 60 ページ、セクション 5.3。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PCFileName\n"
-#~ "                REF: Pages 61-62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失敗**  PCFileName は必須\n"
-#~ "                参照: 61-62 ページ、セクション 5.3。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PSVersion\n"
-#~ "                REF: Pages 62-64, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失敗**  PSVersion は必須\n"
-#~ "                参照: 62-64 ページ、セクション 5.3。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageRegion\n"
-#~ "                REF: Page 100, section 5.14.\n"
-#~ msgstr ""
-#~ "      **失敗**  PageRegion は必須\n"
-#~ "                参照: 100 ページ、セクション 5.14。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageSize\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 99, section 5.14.\n"
-#~ msgstr ""
-#~ "      **失敗**  PageSize は必須\n"
-#~ "                参照: 41 ページ、セクション 5。\n"
-#~ "                参照: 99 ページ、セクション 5.14。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageSize\n"
-#~ "                REF: Pages 99-100, section 5.14.\n"
-#~ msgstr ""
-#~ "      **失敗**  PageSize は必須\n"
-#~ "                参照: 99-100 ページ、セクション 5.14。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PaperDimension for PageSize %s\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **失敗**  PageSize %s に PaperDimension は必須\n"
-#~ "                参照: 41 ページ、セクション 5。\n"
-#~ "                参照: 103 ページ、セクション 5.15。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Product\n"
-#~ "                REF: Page 62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失敗**  Product は必須\n"
-#~ "                参照: 62 ページ、セクション 5.3。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ShortNickName\n"
-#~ "                REF: Page 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失敗**  ShortNickName は必須\n"
-#~ "                参照: 64-65 ページ、セクション 5.3。\n"
-
-#~ msgid "    %d ERRORS FOUND\n"
-#~ msgstr "    %d 個のエラーが見つかりました\n"
-
-#~ msgid ""
-#~ "    Bad %%%%BoundingBox: on line %d!\n"
-#~ "        REF: Page 39, %%%%BoundingBox:\n"
-#~ msgstr ""
-#~ "    不正な %%%%BoundingBox: (%d 行)!\n"
-#~ "        参照: 39 ページ、%%%%BoundingBox:\n"
-
-#~ msgid ""
-#~ "    Bad %%%%Page: on line %d!\n"
-#~ "        REF: Page 53, %%%%Page:\n"
-#~ msgstr ""
-#~ "    不正な %%%%Page: (%d 行)!\n"
-#~ "        参照: 53 ページ、%%%%Page:\n"
-
-#~ msgid ""
-#~ "    Bad %%%%Pages: on line %d!\n"
-#~ "        REF: Page 43, %%%%Pages:\n"
-#~ msgstr ""
-#~ "    不正な %%%%Pages: (%d 行)!\n"
-#~ "        参照: 43 ページ、%%%%Pages:\n"
-
-#~ msgid ""
-#~ "    Line %d is longer than 255 characters (%d)!\n"
-#~ "        REF: Page 25, Line Length\n"
-#~ msgstr ""
-#~ "    %d 行が 255文字より長くなっています (%d)!\n"
-#~ "        参照: 25 ページ、Line Length\n"
-
-#~ msgid ""
-#~ "    Missing %!PS-Adobe-3.0 on first line!\n"
-#~ "        REF: Page 17, 3.1 Conforming Documents\n"
-#~ msgstr ""
-#~ "    先頭行に %!PS-Adobe-3.0 がありません!\n"
-#~ "        参照: 17 ページ、3.1 Conforming Documents\n"
-
-#~ msgid ""
-#~ "    Missing %%EndComments comment!\n"
-#~ "        REF: Page 41, %%EndComments\n"
-#~ msgstr ""
-#~ "    %%EndComments コメントが見つかりません!\n"
-#~ "        参照: 41 ページ、%%EndComments\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%BoundingBox: comment!\n"
-#~ "        REF: Page 39, %%BoundingBox:\n"
-#~ msgstr ""
-#~ "    %%BoundingBox: コメントが見つからないか不正です!\n"
-#~ "        参照: 39 ページ、%%BoundingBox:\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%Page: comments!\n"
-#~ "        REF: Page 53, %%Page:\n"
-#~ msgstr ""
-#~ "    %%Page: コメントが見つからないか不正です!\n"
-#~ "        参照: 53 ページ、%%Page:\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%Pages: comment!\n"
-#~ "        REF: Page 43, %%Pages:\n"
-#~ msgstr ""
-#~ "    %%Pages: コメントが見つからないか不正です!\n"
-#~ "        参照: 43 ページ、%%Pages:\n"
-
-#~ msgid "    NO ERRORS FOUND\n"
-#~ msgstr "    エラーは見つかりませんでした\n"
-
-#~ msgid "    Saw %d lines that exceeded 255 characters!\n"
-#~ msgstr "    255文字を超える %d 行が見つかりました!\n"
-
-#~ msgid "    Too many %%BeginDocument comments!\n"
-#~ msgstr "    %%BeginDocument コメントが多すぎます!\n"
-
-#~ msgid "    Too many %%EndDocument comments!\n"
-#~ msgstr "    %%EndDocument コメントが多すぎます!\n"
-
-#~ msgid "    Warning: file contains binary data!\n"
-#~ msgstr "    警告: ファイルにバイナリデータが含まれています!\n"
-
-#~ msgid "    Warning: no %%EndComments comment in file!\n"
-#~ msgstr "    警告: ファイルに %%EndComments コメントがありません!\n"
-
-#~ msgid "    Warning: obsolete DSC version %.1f in file!\n"
-#~ msgstr "    警告: ファイルは時代遅れの DSC バージョン %.1f です!\n"
-
-#~ msgid " FAIL\n"
-#~ msgstr " 失敗\n"
-
-#~ msgid ""
-#~ " FAIL\n"
-#~ "      **FAIL**  Unable to open PPD file - %s\n"
-#~ msgstr ""
-#~ " 失敗\n"
-#~ "      **失敗**  PPD ファイルを開けません - %s\n"
-
-#~ msgid ""
-#~ " FAIL\n"
-#~ "      **FAIL**  Unable to open PPD file - %s on line %d.\n"
-#~ msgstr ""
-#~ " 失敗\n"
-#~ "      **失敗**  PPD ファイルを開けません - %s (%d 行)。\n"
-
-#~ msgid " PASS\n"
-#~ msgstr " 合格\n"
-
-#~ msgid "#10 Envelope"
-#~ msgstr "#10 封筒"
-
-#~ msgid "#11 Envelope"
-#~ msgstr "#11 封筒"
-
-#~ msgid "#12 Envelope"
-#~ msgstr "#12 封筒"
-
-#~ msgid "#14 Envelope"
-#~ msgstr "#14 封筒"
-
-#~ msgid "#9 Envelope"
-#~ msgstr "#9 封筒"
-
-#~ msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes\n"
-#~ msgstr "%-6s %-10.10s %-4d %-10d %-27.27s %.0f バイト\n"
-
-#~ msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes\n"
-#~ msgstr "%-7s %-7.7s %-7d %-31.31s %.0f バイト\n"
-
-#~ msgid "%s accepting requests since %s\n"
-#~ msgstr "%s は %s からリクエストを受け付けています\n"
-
-#~ msgid "%s is not implemented by the CUPS version of lpc.\n"
-#~ msgstr "%s は lpc の CUPS バージョンでは実装されていません。\n"
-
-#~ msgid "%s is not ready\n"
-#~ msgstr "%s は準備ができていません\n"
-
-#~ msgid "%s is ready\n"
-#~ msgstr "%s は準備ができています\n"
-
-#~ msgid "%s is ready and printing\n"
-#~ msgstr "%s は準備ができており印刷しています\n"
-
-#~ msgid ""
-#~ "%s not accepting requests since %s -\n"
-#~ "\t%s\n"
-#~ msgstr ""
-#~ "%s は %s からリクエストを受け付けていません\n"
-#~ "\t%s\n"
-
-#~ msgid "%s not supported!"
-#~ msgstr "%s はサポートされていません!"
-
-#~ msgid "%s/%s accepting requests since %s\n"
-#~ msgstr "%s/%s は %s からリクエストを受け付けています\n"
-
-#~ msgid ""
-#~ "%s/%s not accepting requests since %s -\n"
-#~ "\t%s\n"
-#~ msgstr ""
-#~ "%s/%s は %s からリクエストを受け付けていません\n"
-#~ "\t%s\n"
-
-#~ msgid "%s: %-33.33s [job %d localhost]\n"
-#~ msgstr "%s:%-33.33s [ジョブ %d localhost]\n"
-
-#~ msgid "%s: %s failed: %s\n"
-#~ msgstr "%s: %s に失敗しました: %s\n"
-
-#~ msgid "%s: Don't know what to do!\n"
-#~ msgstr "%s: 何が起きているか不明です!\n"
-
-#~ msgid ""
-#~ "%s: Error - %s environment variable names non-existent destination \"%s"
-#~ "\"!\n"
-#~ msgstr "%s: エラー - 環境変数 %s が存在しない宛先 \"%s\" を指しています!\n"
-
-#~ msgid "%s: Error - bad job ID!\n"
-#~ msgstr "%s: エラー - 不正なジョブ ID です!\n"
-
-#~ msgid "%s: Error - cannot print files and alter jobs simultaneously!\n"
-#~ msgstr ""
-#~ "%s: エラー - ファイルを印刷できず、ジョブを同時に変えることができません!\n"
-
-#~ msgid ""
-#~ "%s: Error - cannot print from stdin if files or a job ID are provided!\n"
-#~ msgstr ""
-#~ "%s: エラー - ファイルまたはジョブ ID が提供されている場合、標準入力から印"
-#~ "刷できません。 \n"
-
-#~ msgid "%s: Error - expected character set after '-S' option!\n"
-#~ msgstr "%s: エラー - '-S' オプションのあとには文字セットが必要です!\n"
-
-#~ msgid "%s: Error - expected content type after '-T' option!\n"
-#~ msgstr "%s: エラー - '-T' オプションのあとにはコンテンツタイプが必要です!\n"
-
-#~ msgid "%s: Error - expected copies after '-n' option!\n"
-#~ msgstr "%s: エラー - '-n' オプションのあとにはコピー数が必要です!\n"
-
-#~ msgid "%s: Error - expected copy count after '-#' option!\n"
-#~ msgstr "%s: エラー - '-#' オプションのあとにはコピー数が必要です!\n"
-
-#~ msgid "%s: Error - expected destination after '-P' option!\n"
-#~ msgstr "%s: エラー - '-P' オプションのあとには宛先が必要です!\n"
-
-#~ msgid "%s: Error - expected destination after '-b' option!\n"
-#~ msgstr "%s: エラー - '-b' オプションのあとに宛先が必要です!\n"
-
-#~ msgid "%s: Error - expected destination after '-d' option!\n"
-#~ msgstr "%s: エラー - '-d' オプションのあとにはプリンター名が必要です!\n"
-
-#~ msgid "%s: Error - expected form after '-f' option!\n"
-#~ msgstr "%s: エラー - '-f' オプションのあとには用紙名が必要です!\n"
-
-#~ msgid "%s: Error - expected hold name after '-H' option!\n"
-#~ msgstr "%s: エラー - '-H' オプションのあとにはホールド名が必要です!\n"
-
-#~ msgid "%s: Error - expected hostname after '-H' option!\n"
-#~ msgstr "%s: エラー - '-H' オプションのあとにはホスト名が必要です!\n"
-
-#~ msgid "%s: Error - expected hostname after '-h' option!\n"
-#~ msgstr "%s: エラー -  '-h' オプションのあとにはホスト名が必要です!\n"
-
-#~ msgid "%s: Error - expected mode list after '-y' option!\n"
-#~ msgstr "%s: エラー - '-y' オプションのあとにはモードリストが必要です!\n"
-
-#~ msgid "%s: Error - expected name after '-%c' option!\n"
-#~ msgstr "%s: エラー - '-%c' オプションのあとには名前が必要です!\n"
-
-#~ msgid "%s: Error - expected option string after '-o' option!\n"
-#~ msgstr "%s: エラー - '-o' オプションのあとには文字列が必要です!\n"
-
-#~ msgid "%s: Error - expected page list after '-P' option!\n"
-#~ msgstr "%s: エラー - '-P' オプションのあとにはページリストが必要です!\n"
-
-#~ msgid "%s: Error - expected priority after '-%c' option!\n"
-#~ msgstr "%s: エラー - '-%c' オプションのあとには優先度が必要です!\n"
-
-#~ msgid "%s: Error - expected reason text after '-r' option!\n"
-#~ msgstr "%s: エラー - '-r' のあとには理由のテキストが必要です!\n"
-
-#~ msgid "%s: Error - expected title after '-t' option!\n"
-#~ msgstr "%s: エラー - '-t' オプションのあとにはタイトルが必要です!\n"
-
-#~ msgid "%s: Error - expected username after '-U' option!\n"
-#~ msgstr "%s: エラー - '-U' オプションのあとにはユーザ名が必要です!\n"
-
-#~ msgid "%s: Error - expected username after '-u' option!\n"
-#~ msgstr "%s: エラー - '-u' オプションのあとにはユーザ名が必要です!\n"
-
-#~ msgid "%s: Error - expected value after '-%c' option!\n"
-#~ msgstr "%s: エラー -  '-%c' オプションのあとには値が必要です!\n"
-
-#~ msgid ""
-#~ "%s: Error - need \"completed\", \"not-completed\", or \"all\" after '-W' "
-#~ "option!\n"
-#~ msgstr ""
-#~ "%s: エラー - '-W' オプションのあとには、\"completed\"、\"not-completed\"、"
-#~ "\"all\" のいずれかが必要です!\n"
-
-#~ msgid "%s: Error - no default destination available.\n"
-#~ msgstr "%s: エラー - 利用可能なデフォルトの宛先がありません。\n"
-
-#~ msgid "%s: Error - priority must be between 1 and 100.\n"
-#~ msgstr "%s: エラー - 優先度は 1 から 100 の間である必要があります。\n"
-
-#~ msgid "%s: Error - scheduler not responding!\n"
-#~ msgstr "%s: エラー - スケジューラが応答していません!\n"
-
-#~ msgid "%s: Error - too many files - \"%s\"\n"
-#~ msgstr "%s: エラー - ファイルが多すぎます - \"%s\"\n"
-
-#~ msgid "%s: Error - unable to access \"%s\" - %s\n"
-#~ msgstr "%s: エラー - \"%s\" にアクセスできません - %s\n"
-
-#~ msgid "%s: Error - unable to queue from stdin - %s\n"
-#~ msgstr "%s: エラー - 標準入力からキューにデータを入力できません! - %s\n"
-
-#~ msgid "%s: Error - unknown destination \"%s\"!\n"
-#~ msgstr "%s: エラー - \"%s\" は未知の宛先です!\n"
-
-#~ msgid "%s: Error - unknown destination \"%s/%s\"!\n"
-#~ msgstr "%s: エラー - \"%s/%s\" は未知の宛先です!\n"
-
-#~ msgid "%s: Error - unknown option '%c'!\n"
-#~ msgstr "%s: エラー - '%c' は未知のオプションです!\n"
-
-#~ msgid "%s: Error - unknown option '%s'!\n"
-#~ msgstr "%s: エラー - '%s' は未知のオプションです!\n"
-
-#~ msgid "%s: Expected job ID after '-i' option!\n"
-#~ msgstr "%s: '-i' オプションのあとにはジョブ ID が必要です!\n"
-
-#~ msgid "%s: Filter \"%s\" not available: %s\n"
-#~ msgstr "%s: フィルター \"%s\" は利用できません: %s\n"
-
-#~ msgid "%s: Invalid destination name in list \"%s\"!\n"
-#~ msgstr "%s: リスト \"%s\" に無効な宛先名があります!\n"
-
-#~ msgid "%s: Invalid filter string \"%s\"\n"
-#~ msgstr "%s: 無効なフィルター文字列です \"%s\"\n"
-
-#~ msgid "%s: Need job ID ('-i jobid') before '-H restart'!\n"
-#~ msgstr "%s: '-H restart' の前にはジョブ ID ('-i ジョブID') が必要です!\n"
-
-#~ msgid "%s: No filter to convert from %s/%s to %s/%s!\n"
-#~ msgstr "%s: %s/%s から %s/%s に変換するフィルターがありません!\n"
-
-#~ msgid "%s: Operation failed: %s\n"
-#~ msgstr "%s: 操作に失敗しました: %s\n"
-
-#~ msgid "%s: Sorry, no encryption support compiled in!\n"
-#~ msgstr ""
-#~ "%s: すみません、暗号化サポートはコンパイル時に組み込まれていません!\n"
-
-#~ msgid "%s: Unable to connect to server\n"
-#~ msgstr "%s: サーバーに接続できません\n"
-
-#~ msgid "%s: Unable to contact server!\n"
-#~ msgstr "%s: サーバーに連絡できません!\n"
-
-#~ msgid "%s: Unable to determine MIME type of \"%s\"!\n"
-#~ msgstr "%s: \"%s\" の MIME タイプを判別できません!\n"
-
-#~ msgid "%s: Unable to open %s: %s\n"
-#~ msgstr "%s: %sを開けません: %s\n"
-
-#~ msgid "%s: Unable to open PPD file: %s on line %d\n"
-#~ msgstr "%s: PPD ファイルを開けません: %s の %d 行目\n"
-
-#~ msgid "%s: Unable to open PPD file: %s on line %d.\n"
-#~ msgstr "%s: PPD ファイルを開けません: %s の %d 行目\n"
-
-#~ msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"!\n"
-#~ msgstr ""
-#~ "%s: \"%s\" または \"%s\" から MIME データベースを読み取ることができませ"
-#~ "ん!\n"
-
-#~ msgid "%s: Unknown destination \"%s\"!\n"
-#~ msgstr "%s: \"%s\" は未知の宛先です!\n"
-
-#~ msgid "%s: Unknown destination MIME type %s/%s!\n"
-#~ msgstr "%s: %s/%s は未知の宛先 MIME タイプです!\n"
-
-#~ msgid "%s: Unknown option '%c'!\n"
-#~ msgstr "%s: '%c' は未知のオプションです!\n"
-
-#~ msgid "%s: Unknown source MIME type %s/%s!\n"
-#~ msgstr "%s: %s/%s は未知のソース MIME タイプです!\n"
-
-#~ msgid ""
-#~ "%s: Warning - '%c' format modifier not supported - output may not be "
-#~ "correct!\n"
-#~ msgstr ""
-#~ "%s: 警告 - '%c' 形式修飾子はサポートされていません - 出力は正しくないもの"
-#~ "になるかもしれません!\n"
-
-#~ msgid "%s: Warning - character set option ignored!\n"
-#~ msgstr "%s: 警告 - 文字セットオプションは無視されます!\n"
-
-#~ msgid "%s: Warning - content type option ignored!\n"
-#~ msgstr "%s: 警告 - コンテンツタイプオプションは無視されます!\n"
-
-#~ msgid "%s: Warning - form option ignored!\n"
-#~ msgstr "%s: 警告 - 用紙オプションは無視されます!\n"
-
-#~ msgid "%s: Warning - mode option ignored!\n"
-#~ msgstr "%s: 警告 - モードオプションは無視されます!\n"
-
-#~ msgid ""
-#~ "%s: error - %s environment variable names non-existent destination \"%s"
-#~ "\"!\n"
-#~ msgstr "%s: エラー - 環境変数 %s が存在しない宛先 \"%s\" を指しています!\n"
-
-#~ msgid "%s: error - expected option=value after '-o' option!\n"
-#~ msgstr "%s: エラー - '-o' オプションのあとには オプション=値 が必要です!\n"
-
-#~ msgid "%s: error - no default destination available.\n"
-#~ msgstr "%s: エラー - 利用可能なデフォルトの宛先がありません。\n"
-
-#~ msgid "10 x 11\""
-#~ msgstr "10 x 11インチ"
-
-#~ msgid "10 x 13\""
-#~ msgstr "10 x 13インチ"
-
-#~ msgid "10 x 14\""
-#~ msgstr "10 x 14インチ"
-
-#~ msgid "12 x 11\""
-#~ msgstr "12 x 11インチ"
-
-#~ msgid "15 x 11\""
-#~ msgstr "15 x 11インチ"
-
-#~ msgid "60x720dpi"
-#~ msgstr "60x720dpi"
-
-#~ msgid "7 x 9\""
-#~ msgstr "7 x 9\""
-
-#~ msgid "8 x 10\""
-#~ msgstr "8 x 10\""
-
-#~ msgid "9 x 11\""
-#~ msgstr "9 x 11\""
-
-#~ msgid "9 x 12\""
-#~ msgstr "9 x 12\""
-
-#~ msgid "?Invalid help command unknown\n"
-#~ msgstr "?無効なヘルプコマンドです\n"
-
-#~ msgid "A Samba password is required to export printer drivers!"
-#~ msgstr ""
-#~ "プリンタードライバーをエクスポートするには Samba のパスワードが必要です!"
-
-#~ msgid "A Samba username is required to export printer drivers!"
-#~ msgstr ""
-#~ "プリンタードライバーをエクスポートするには、Samba のユーザー名が必要です!"
-
-#~ msgid "A class named \"%s\" already exists!"
-#~ msgstr "\"%s\" という名前のクラスはすでに存在します!"
-
-#~ msgid "A printer named \"%s\" already exists!"
-#~ msgstr "\"%s\" という名前のプリンターはすでに存在します!"
-
-#~ msgid "A3 (Oversize)"
-#~ msgstr "A3 (特大)"
-
-#~ msgid "A4 (Oversize)"
-#~ msgstr "A4 (特大)"
-
-#~ msgid "A4 (Small)"
-#~ msgstr "A4 (小)"
-
-#~ msgid "A5 (Oversize)"
-#~ msgstr "A5 (特大)"
-
-#~ msgid "ARCH A"
-#~ msgstr "ARCH A"
-
-#~ msgid "ARCH B"
-#~ msgstr "ARCH B"
-
-#~ msgid "Attempt to set %s printer-state to bad value %d!"
-#~ msgstr "%s printer-state に 不正な値 %d を設定しようとしています!"
-
-#~ msgid "Attribute groups are out of order (%x < %x)!"
-#~ msgstr "属性グループは範囲外です (%x < %x)!"
-
-#~ msgid "Bad device URI \"%s\"!\n"
-#~ msgstr "\"%s\" は無効なデバイス URI です!\n"
-
-#~ msgid "Bad device-uri \"%s\"!"
-#~ msgstr "\"%s\" は無効な device-uri です!"
-
-#~ msgid "Bad device-uri scheme \"%s\"!"
-#~ msgstr "\"%s\" は無効な device-uri スキーマです!"
-
-#~ msgid "Bad document-format \"%s\"!"
-#~ msgstr "\"%s\" は不正な document-format です!"
-
-#~ msgid "Bad filename buffer!"
-#~ msgstr "不正なファイル名バッファーです!"
-
-#~ msgid "Bad font attribute: %s\n"
-#~ msgstr "不正なフォント属性: %s\n"
-
-#~ msgid "Bad job-priority value!"
-#~ msgstr "不正な job-priority 値です!"
-
-#~ msgid "Bad job-sheets value \"%s\"!"
-#~ msgstr "\"%s\" は不正な job-sheets 値です!"
-
-#~ msgid "Bad job-sheets value type!"
-#~ msgstr "不正な job-sheets 値タイプ です!"
-
-#~ msgid "Bad job-state value!"
-#~ msgstr "不正な job-state 値です!"
-
-#~ msgid "Bad job-uri attribute \"%s\"!"
-#~ msgstr "\"%s\" は無効な job-uri 属性です!"
-
-#~ msgid "Bad notify-pull-method \"%s\"!"
-#~ msgstr "\"%s\" は無効な notify-pull-method です!"
-
-#~ msgid "Bad notify-recipient-uri URI \"%s\"!"
-#~ msgstr "URI \"%s\" は不正な notify-recipient-uri です!"
-
-#~ msgid "Bad option + choice on line %d!"
-#~ msgstr "%d 行に不正なオプションと選択があります!"
-
-#~ msgid "Bad port-monitor \"%s\"!"
-#~ msgstr "\"%s\" は無効な port-monitor です!"
-
-#~ msgid "Bad printer-state value %d!"
-#~ msgstr "%d は無効な printer-state 値です!"
-
-#~ msgid "Bad request ID %d!"
-#~ msgstr "%d は無効なリクエストIDです!"
-
-#~ msgid "Bad request version number %d.%d!"
-#~ msgstr "バージョン番号 %d.%d は無効なリクエストです!"
-
-#~ msgid "Bad subscription ID!"
-#~ msgstr "不正なサブスクリプション ID です!"
-
-#~ msgid "C0 Envelope"
-#~ msgstr "C0 封筒"
-
-#~ msgid "C1 Envelope"
-#~ msgstr "C1 封筒"
-
-#~ msgid "C2 Envelope"
-#~ msgstr "C2 封筒"
-
-#~ msgid "C3 Envelope"
-#~ msgstr "C3 封筒"
-
-#~ msgid "C4"
-#~ msgstr "C4"
-
-#~ msgid "C4 Envelope"
-#~ msgstr "C4 封筒"
-
-#~ msgid "C5"
-#~ msgstr "C5"
-
-#~ msgid "C5 Envelope"
-#~ msgstr "C5 封筒"
-
-#~ msgid "C6"
-#~ msgstr "C6"
-
-#~ msgid "C6 Envelope"
-#~ msgstr "C6 封筒"
-
-#~ msgid "C65 Envelope"
-#~ msgstr "C65 封筒"
-
-#~ msgid "C7 Envelope"
-#~ msgstr "C7 封筒"
-
-#~ msgid "Character set \"%s\" not supported!"
-#~ msgstr "文字セット \"%s\" はサポートされていません!"
-
-#~ msgid "Chou3 Envelope"
-#~ msgstr "封筒 長形3号"
-
-#~ msgid "Chou4 Envelope"
-#~ msgstr "封筒 長形4号"
-
-#~ msgid ""
-#~ "Commands may be abbreviated.  Commands are:\n"
-#~ "\n"
-#~ "exit    help    quit    status  ?\n"
-#~ msgstr ""
-#~ "コマンドは短縮できます。  コマンド:\n"
-#~ "\n"
-#~ "exit    help    quit    status  ?\n"
-
-#~ msgid "Could not scan type \"%s\"!"
-#~ msgstr "タイプ \"%s\" を検査できませんでした!"
-
-#~ msgid "Cover open."
-#~ msgstr "カバーが開いています。"
-
-#~ msgid "DL"
-#~ msgstr "DL"
-
-#~ msgid "DL Envelope"
-#~ msgstr "DL 封筒"
-
-#~ msgid "Developer almost empty."
-#~ msgstr "現像剤が無くなりかけています。"
-
-#~ msgid "Developer empty!"
-#~ msgstr "現像剤が無くなりました!"
-
-#~ msgid ""
-#~ "Device: uri = %s\n"
-#~ "        class = %s\n"
-#~ "        info = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ "        location = %s\n"
-#~ msgstr ""
-#~ "デバイス: uri = %s\n"
-#~ "          class = %s\n"
-#~ "          info = %s\n"
-#~ "          make-and-model = %s\n"
-#~ "          device-id = %s\n"
-#~ "          location = %s\n"
-
-#~ msgid "Document %d not found in job %d."
-#~ msgstr "ドキュメント %d がジョブ %d に見つかりません。"
-
-#~ msgid "Door open."
-#~ msgstr "ドアが開いています。"
-
-#~ msgid "Double Postcard"
-#~ msgstr "往復はがき"
-
-#~ msgid "EMERG: Unable to allocate memory for page info: %s\n"
-#~ msgstr "EMERG: ページ情報のメモリー割り当てができません: %s\n"
-
-#~ msgid "EMERG: Unable to allocate memory for pages array: %s\n"
-#~ msgstr "EMERG: ページアレイのメモリー割り当てができません: %s\n"
-
-#~ msgid "ERROR: %s job-id user title copies options [file]\n"
-#~ msgstr ""
-#~ "ERROR: %s ジョブID ユーザー タイトル コピー数 オプション [ファイル]\n"
-
-#~ msgid "ERROR: Bad %%BoundingBox: comment seen!\n"
-#~ msgstr "ERROR: 不正な %%BoundingBox: コメントがあります!\n"
-
-#~ msgid "ERROR: Bad %%IncludeFeature: comment!\n"
-#~ msgstr "ERROR: 不正な %%IncludeFeature: コメントです!\n"
-
-#~ msgid "ERROR: Bad %%Page: comment in file!\n"
-#~ msgstr "ERROR: 不正な %%Page: コメントがファイルにあります!\n"
-
-#~ msgid "ERROR: Bad %%PageBoundingBox: comment in file!\n"
-#~ msgstr "ERROR: 不正な %%PageBoundingBox: コメントがファイルにあります!\n"
-
-#~ msgid "ERROR: Bad SCSI device file \"%s\"!\n"
-#~ msgstr "ERROR: 不正な SCSI デバイスファイル \"%s\" です!\n"
-
-#~ msgid "ERROR: Bad charset file %s\n"
-#~ msgstr "ERROR: 不正な charset ファイル %s です\n"
-
-#~ msgid "ERROR: Bad charset type %s\n"
-#~ msgstr "ERROR: 不正な charset タイプ %s です\n"
-
-#~ msgid "ERROR: Bad columns value %d!\n"
-#~ msgstr "ERROR: 不正な columns 値 %d です!\n"
-
-#~ msgid "ERROR: Bad cpi value %f!\n"
-#~ msgstr "ERROR: 不正な cpi 値 %f です!\n"
-
-#~ msgid "ERROR: Bad font description line: %s\n"
-#~ msgstr "ERROR: 不正なフォント記述行: %s\n"
-
-#~ msgid "ERROR: Bad lpi value %f!\n"
-#~ msgstr "ERROR: 不正な lpi 値 %f です!\n"
-
-#~ msgid "ERROR: Bad page setup!\n"
-#~ msgstr "ERROR: 不正なページ設定です!\n"
-
-#~ msgid "ERROR: Bad text direction %s\n"
-#~ msgstr "ERROR: 不正な テキスト方向 %s です\n"
-
-#~ msgid "ERROR: Bad text width %s\n"
-#~ msgstr "ERROR: 不正な テキスト幅 %s です\n"
-
-#~ msgid "ERROR: Destination printer does not exist!\n"
-#~ msgstr "ERROR: 送信先のプリンターが存在しません!\n"
-
-#~ msgid "ERROR: Duplicate %%BoundingBox: comment seen!\n"
-#~ msgstr "ERROR: 重複した %%BoundingBox: コメントがあります!\n"
-
-#~ msgid "ERROR: Duplicate %%Pages: comment seen!\n"
-#~ msgstr "ERROR: 重複した %%Pages: コメントがあります!\n"
-
-#~ msgid "ERROR: Empty print file!\n"
-#~ msgstr "ERROR: 空のプリントファイルです!\n"
-
-#~ msgid "ERROR: Error %d sending PAPSendData request: %s\n"
-#~ msgstr "ERROR: エラー %d PAPSendData request の送信: %s\n"
-
-#~ msgid "ERROR: Expected quoted string on line %d of %s!\n"
-#~ msgstr "ERROR: %d 行: %s には引用符で囲まれた文字列が必要です!\n"
-
-#~ msgid "ERROR: Fatal USB error!\n"
-#~ msgstr "ERROR: 致命的な USB エラーです!\n"
-
-#~ msgid "ERROR: Invalid HP-GL/2 command seen, unable to print file!\n"
-#~ msgstr ""
-#~ "ERROR: 無効な HP-GL/2 コマンドがあり、ファイルをプリントできません!\n"
-
-#~ msgid "ERROR: Missing %%EndProlog!\n"
-#~ msgstr "ERROR: %%EndProlog が見つかりません!\n"
-
-#~ msgid "ERROR: Missing %%EndSetup!\n"
-#~ msgstr "ERROR: %%EndSetup が見つかりません!\n"
-
-#~ msgid ""
-#~ "ERROR: Missing device URI on command-line and no DEVICE_URI environment "
-#~ "variable!\n"
-#~ msgstr ""
-#~ "ERROR: コマンドラインにデバイス URI が見つからず、環境変数 DEVICE_URI も見"
-#~ "つかりません!\n"
-
-#~ msgid "ERROR: Missing value on line %d of banner file!\n"
-#~ msgstr "ERROR: バナーファイルの %d 行目に値が見つかりません!\n"
-
-#~ msgid ""
-#~ "ERROR: Need a msgid line before any translation strings on line %d of %"
-#~ "s!\n"
-#~ msgstr "ERROR: %d 行: %s の翻訳文字列の前に msgid 行が必要です!\n"
-
-#~ msgid "ERROR: No %%BoundingBox: comment in header!\n"
-#~ msgstr "ERROR: %%BoundingBox: コメントがありません!\n"
-
-#~ msgid "ERROR: No %%Pages: comment in header!\n"
-#~ msgstr "ERROR: %%Pages: コメントがヘッダーにありません!\n"
-
-#~ msgid ""
-#~ "ERROR: No device URI found in argv[0] or in DEVICE_URI environment "
-#~ "variable!\n"
-#~ msgstr ""
-#~ "ERROR: argv[0] または 環境変数 DEVICE_URI にデバイス URI が見つかりませ"
-#~ "ん!\n"
-
-#~ msgid "ERROR: No fonts in charset file %s\n"
-#~ msgstr "ERROR: charset ファイル %s にフォントが見つかりません\n"
-
-#~ msgid "ERROR: No pages found!\n"
-#~ msgstr "ERROR: ページが見つかりません!\n"
-
-#~ msgid "ERROR: Out of paper!\n"
-#~ msgstr "ERROR: 用紙切れです!\n"
-
-#~ msgid "ERROR: PRINTER environment variable not defined!\n"
-#~ msgstr "ERROR: PRINTER 環境変数が定義されていません!\n"
-
-#~ msgid "ERROR: Print file was not accepted (%s)!\n"
-#~ msgstr "ERROR: プリントファイルが受け付けられませんでした (%s)!\n"
-
-#~ msgid "ERROR: Printer not responding\n"
-#~ msgstr "ERROR: プリンターが応答していません\n"
-
-#~ msgid "ERROR: Printer not responding!\n"
-#~ msgstr "ERROR: プリンターが応答していません!\n"
-
-#~ msgid "ERROR: Printer sent unexpected EOF\n"
-#~ msgstr "ERROR: プリンターが 想定外の EOF を送信しました\n"
-
-#~ msgid "ERROR: Remote host did not accept control file (%d)\n"
-#~ msgstr ""
-#~ "ERROR: リモートホストがコントロールファイルを受け付けませんでした (%d)\n"
-
-#~ msgid "ERROR: Remote host did not accept data file (%d)\n"
-#~ msgstr "ERROR: リモートホストがデータファイルを受け付けませんでした (%d)\n"
-
-#~ msgid "ERROR: There was a timeout error while sending data to the printer\n"
-#~ msgstr ""
-#~ "ERROR: プリンターへのデータ送信中にタイムアウトエラーが発生しました\n"
-
-#~ msgid "ERROR: Unable to add file %d to job: %s\n"
-#~ msgstr "ERROR: ファイル %d をジョブに追加できません: %s\n"
-
-#~ msgid "ERROR: Unable to cancel job %d: %s\n"
-#~ msgstr "ERROR: ジョブ %d をキャンセルできません: %s\n"
-
-#~ msgid "ERROR: Unable to copy PDF file"
-#~ msgstr "ERROR: PDF ファイルをコピーできません"
-
-#~ msgid "ERROR: Unable to create pipe"
-#~ msgstr "ERROR: pipe を生成できません"
-
-#~ msgid "ERROR: Unable to create socket"
-#~ msgstr "ERROR: ソケットを作成できません"
-
-#~ msgid "ERROR: Unable to create temporary compressed print file: %s\n"
-#~ msgstr "ERROR: テンポラリーの圧縮プリントファイルを作成できません: %s\n"
-
-#~ msgid "ERROR: Unable to create temporary file"
-#~ msgstr "ERROR: テンポラリーファイルを作成できません"
-
-#~ msgid "ERROR: Unable to exec pictwpstops: %s\n"
-#~ msgstr "ERROR: pictwpstops を実行できません: %s\n"
-
-#~ msgid "ERROR: Unable to execute gs program"
-#~ msgstr "ERROR: gs プログラムを実行できません"
-
-#~ msgid "ERROR: Unable to execute pdftops program"
-#~ msgstr "ERROR: pdftops プログラムを実行できません"
-
-#~ msgid "ERROR: Unable to execute pstops program"
-#~ msgstr "ERROR: pstops プログラムを実行できません"
-
-#~ msgid "ERROR: Unable to fork pictwpstops: %s\n"
-#~ msgstr "ERROR: pictwpstops をフォークできません: %s\n"
-
-#~ msgid "ERROR: Unable to get PAP request"
-#~ msgstr "ERROR: PAP リクエストを取得できません"
-
-#~ msgid "ERROR: Unable to get PAP response"
-#~ msgstr "ERROR: PAP レスポンスを取得できません"
-
-#~ msgid "ERROR: Unable to get PPD file for printer \"%s\" - %s.\n"
-#~ msgstr "ERROR: プリンター \"%s\" の PPD ファイルを取得できません - %s\n"
-
-#~ msgid "ERROR: Unable to get default AppleTalk zone"
-#~ msgstr "ERROR: デフォルトの AppleTalk ゾーンを取得できません"
-
-#~ msgid "ERROR: Unable to get job %d attributes (%s)!\n"
-#~ msgstr "ERROR: ジョブ %d の属性 (%s) を取得できません!\n"
-
-#~ msgid "ERROR: Unable to get printer status (%s)!\n"
-#~ msgstr "ERROR: プリンターのステータス (%s) を取得できません!\n"
-
-#~ msgid "ERROR: Unable to locate printer '%s'!\n"
-#~ msgstr "ERROR: プリンター '%s' が見つかりません\"!\n"
-
-#~ msgid "ERROR: Unable to look for PAP response"
-#~ msgstr "ERROR: PAP レスポンスが見つかりません"
-
-#~ msgid "ERROR: Unable to lookup AppleTalk printers"
-#~ msgstr "ERROR: AppleTalk プリンターが見つかりません"
-
-#~ msgid "ERROR: Unable to make AppleTalk address"
-#~ msgstr "ERROR: AppleTalk アドレスを作成できません"
-
-#~ msgid "ERROR: Unable to open \"%s\" - %s\n"
-#~ msgstr "ERROR: \"%s\" を開けません - %s\n"
-
-#~ msgid "ERROR: Unable to open %s: %s\n"
-#~ msgstr "ERROR: %s を開けません: %s\n"
-
-#~ msgid "ERROR: Unable to open PPD file!\n"
-#~ msgstr "ERROR: PPD ファイルを開けません!"
-
-#~ msgid "ERROR: Unable to open banner file \"%s\" - %s\n"
-#~ msgstr "ERROR: バナーファイル \"%s\" を開けません - %s\n"
-
-#~ msgid "ERROR: Unable to open device file \"%s\": %s\n"
-#~ msgstr "ERROR: デバイスファイル \"%s\" を開けません: %s\n"
-
-#~ msgid "ERROR: Unable to open file \"%s\" - %s\n"
-#~ msgstr "ERROR: ファイル \"%s\" を開けません - %s\n"
-
-#~ msgid "ERROR: Unable to open file \"%s\": %s\n"
-#~ msgstr "ERROR: ファイル \"%s\" を開けません: %s\n"
-
-#~ msgid "ERROR: Unable to open image file for printing!\n"
-#~ msgstr "ERROR: 印刷のためのイメージファイルを開けません!\n"
-
-#~ msgid "ERROR: Unable to open print file \"%s\": %s\n"
-#~ msgstr "ERROR: プリントファイル \"%s\" を開けません: %s\n"
-
-#~ msgid "ERROR: Unable to open print file %s - %s\n"
-#~ msgstr "ERROR: プリントファイル %s を開けません - %s\n"
-
-#~ msgid "ERROR: Unable to open print file %s: %s\n"
-#~ msgstr "ERROR: プリントファイル %s を開けません: %s\n"
-
-#~ msgid "ERROR: Unable to open raster file - %s\n"
-#~ msgstr "ERROR: ラスターファイル %s を開けません\n"
-
-#~ msgid "ERROR: Unable to open temporary compressed print file: %s\n"
-#~ msgstr "ERROR: テンポラリーの圧縮プリントファイルを開けません: %s\n"
-
-#~ msgid "ERROR: Unable to print %d text columns!\n"
-#~ msgstr "ERROR: テキストカラム %d をプリントできません!\n"
-
-#~ msgid "ERROR: Unable to print %dx%d text page!\n"
-#~ msgstr "ERROR: テキストページ %dx%d をプリントできません!\n"
-
-#~ msgid "ERROR: Unable to read print data"
-#~ msgstr "ERROR: プリントデータを読み込めません"
-
-#~ msgid "ERROR: Unable to read print data!\n"
-#~ msgstr "ERROR: プリントデータを読み込めません!\n"
-
-#~ msgid "ERROR: Unable to reserve port"
-#~ msgstr "ERROR: ポートを予約できません"
-
-#~ msgid "ERROR: Unable to seek to offset %ld in file - %s\n"
-#~ msgstr "ERROR: ファイルでのオフセット %ld へシークできません - %s\n"
-
-#~ msgid "ERROR: Unable to seek to offset %lld in file - %s\n"
-#~ msgstr "ERROR: ファイルでのオフセット %lld へシークできません - %s\n"
-
-#~ msgid "ERROR: Unable to send LPD command"
-#~ msgstr "ERROR: LPD コマンドを送信できません"
-
-#~ msgid "ERROR: Unable to send PAP tickle request"
-#~ msgstr "ERROR: PAP tickle 要求を送信できません"
-
-#~ msgid "ERROR: Unable to send initial PAP send data request"
-#~ msgstr "ERROR: PAP の初期データ送信要求を送信できません"
-
-#~ msgid "ERROR: Unable to send print data (%d)\n"
-#~ msgstr "ERROR: プリントデータを送信できません (%d)\n"
-
-#~ msgid "ERROR: Unable to send print data!\n"
-#~ msgstr "ERROR: プリントデータを送信できません!\n"
-
-#~ msgid "ERROR: Unable to send print file to printer"
-#~ msgstr "ERROR: プリントファイルをプリンターへ送信できません"
-
-#~ msgid "ERROR: Unable to send trailing nul to printer"
-#~ msgstr "ERROR: 最後の NUL をプリンターへ送信できません"
-
-#~ msgid "ERROR: Unable to wait for pictwpstops: %s\n"
-#~ msgstr "ERROR: pictwpstops を待つことができません: %s\n"
-
-#~ msgid "ERROR: Unable to write %d bytes to \"%s\": %s\n"
-#~ msgstr "ERROR: %d バイトを \"%s\" に書き込めません: %s\n"
-
-#~ msgid "ERROR: Unable to write %d bytes to printer!\n"
-#~ msgstr "ERROR: %d バイトをプリンターに書き込めません!\n"
-
-#~ msgid "ERROR: Unable to write control file"
-#~ msgstr "ERROR: コントロールファイルを書き込めません"
-
-#~ msgid "ERROR: Unable to write print data"
-#~ msgstr "ERROR: プリントデータを書き込めません"
-
-#~ msgid "ERROR: Unable to write print data: %s\n"
-#~ msgstr "ERROR: プリントデータを書き込めません: %s\n"
-
-#~ msgid "ERROR: Unable to write raster data to driver!\n"
-#~ msgstr "ERROR: ラスターデータをドライバーへ書き込めません!\n"
-
-#~ msgid "ERROR: Unable to write to temporary file"
-#~ msgstr "ERROR: テンポラリーファイルへ書き込めません"
-
-#~ msgid "ERROR: Unable to write uncompressed document data: %s\n"
-#~ msgstr "ERROR: 非圧縮ドキュメントデータを書き込めません: %s\n"
-
-#~ msgid "ERROR: Unexpected text on line %d of %s!\n"
-#~ msgstr "ERROR: %d 行: %s は予期せぬテキストです!\n"
-
-#~ msgid "ERROR: Unknown encryption option value \"%s\"!\n"
-#~ msgstr "ERROR: \"%s\" は未知の暗号オプション値です!\n"
-
-#~ msgid "ERROR: Unknown file order \"%s\"\n"
-#~ msgstr "ERROR: \"%s\" は未知のファイルオーダーです\n"
-
-#~ msgid "ERROR: Unknown format character \"%c\"\n"
-#~ msgstr "ERROR: \"%c\" は未知の書式文字です\n"
-
-#~ msgid "ERROR: Unknown message catalog format for \"%s\"!\n"
-#~ msgstr "ERROR: \"%s\" は未知のメッセージカタログの書式です!\n"
-
-#~ msgid "ERROR: Unknown option \"%s\" with value \"%s\"!\n"
-#~ msgstr "ERROR: \"%s\" (値 \"%s\") は未知のオプションです!\n"
-
-#~ msgid "ERROR: Unknown print mode \"%s\"\n"
-#~ msgstr "ERROR: \"%s\" は未知のプリントモードです\n"
-
-#~ msgid "ERROR: Unknown version option value \"%s\"!\n"
-#~ msgstr "ERROR: \"%s\" は未知のバージョンオプション値です!\n"
-
-#~ msgid "ERROR: Unsupported brightness value %s, using brightness=100!\n"
-#~ msgstr ""
-#~ "ERROR: %s はサポートされていない輝度値です。brightness=100 を使用します!\n"
-
-#~ msgid "ERROR: Unsupported gamma value %s, using gamma=1000!\n"
-#~ msgstr ""
-#~ "ERROR: %s はサポートされていないガンマ値です。gamma=1000 を使用します!\n"
-
-#~ msgid "ERROR: Unsupported number-up value %d, using number-up=1!\n"
-#~ msgstr ""
-#~ "ERROR: %d はサポートされていない number-up 値です。number-up=1 を使用しま"
-#~ "す!\n"
-
-#~ msgid ""
-#~ "ERROR: Unsupported number-up-layout value %s, using number-up-"
-#~ "layout=lrtb!\n"
-#~ msgstr ""
-#~ "ERROR: %s はサポートされていない number-up-layout 値です。number-up-"
-#~ "layout=lrtb を使用します!\n"
-
-#~ msgid "ERROR: Unsupported page-border value %s, using page-border=none!\n"
-#~ msgstr ""
-#~ "ERROR: %s はサポートされていない page-border 値です。page-border=none を使"
-#~ "用します!\n"
-
-#~ msgid "ERROR: doc_printf overflow (%d bytes) detected, aborting!\n"
-#~ msgstr ""
-#~ "ERROR: doc_printf オーバーフロー (%d バイト) が検出され、中断しました!\n"
-
-#~ msgid "ERROR: pictwpstops exited on signal %d!\n"
-#~ msgstr "ERROR: pictwpstops はシグナル %d で終了しました!\n"
-
-#~ msgid "ERROR: pictwpstops exited with status %d!\n"
-#~ msgstr "ERROR: pictwpstops は状態 %d で終了しました!\n"
-
-#~ msgid ""
-#~ "ERROR: recoverable: Unable to connect to printer; will retry in 30 "
-#~ "seconds...\n"
-#~ msgstr ""
-#~ "ERROR: 回復可能: プリンターに接続できません。30 秒後に再試行します...\n"
-
-#~ msgid "ERROR: select() failed"
-#~ msgstr "ERROR: select() が失敗しました"
-
-#~ msgid "ERROR: unable to stat print file"
-#~ msgstr "ERROR: プリントファイルの状態を取得できません"
-
-#~ msgid "Empty PPD file!"
-#~ msgstr "PPD ファイルが空です!"
-
-#~ msgid "Error: need hostname after '-h' option!\n"
-#~ msgstr "Error: '-h' オプションのあとにはホスト名が必要です!\n"
-
-#~ msgid "FAIL\n"
-#~ msgstr "失敗\n"
-
-#~ msgid ""
-#~ "File device URIs have been disabled! To enable, see the FileDevice "
-#~ "directive in \"%s/cupsd.conf\"."
-#~ msgstr ""
-#~ "ファイルデバイス URI は無効になっています! 有効にするには、\"%s/cupsd.conf"
-#~ "\" の FileDevice ディレクティブを参照してください。"
-
-#~ msgid "Fuser temperature high!"
-#~ msgstr "定着器の温度が上っています!"
-
-#~ msgid "Fuser temperature low!"
-#~ msgstr "定着器の温度が下っています!"
-
-#~ msgid "German FanFold"
-#~ msgstr "German FanFold"
-
-#~ msgid "German FanFold Legal"
-#~ msgstr "German FanFold Legal"
-
-#~ msgid "Got a printer-uri attribute but no job-id!"
-#~ msgstr "printer-uri 属性を取得しましたが、job-id を取得できませんでした!"
-
-#~ msgid "INFO: AppleTalk disabled in System Preferences\n"
-#~ msgstr "INFO: AppleTalk がシステムプレファレンスで無効にされています\n"
-
-#~ msgid "INFO: AppleTalk disabled in System Preferences.\n"
-#~ msgstr "INFO: AppleTalk がシステムプレファレンスで無効にされています。\n"
-
-#~ msgid "INFO: Canceling print job...\n"
-#~ msgstr "INFO: プリントジョブをキャンセルしています...\n"
-
-#~ msgid "INFO: Connected to printer...\n"
-#~ msgstr "INFO: プリンターに接続しました...\n"
-
-#~ msgid "INFO: Connecting to printer...\n"
-#~ msgstr "INFO: プリンターに接続中...\n"
-
-#~ msgid "INFO: Control file sent successfully\n"
-#~ msgstr "INFO: コントロールファイルが正常に送信されました\n"
-
-#~ msgid "INFO: Copying print data...\n"
-#~ msgstr "INFO: 印刷データをコピーしています..."
-
-#~ msgid "INFO: Data file sent successfully\n"
-#~ msgstr "INFO: データファイルが正常に送信されました\n"
-
-#~ msgid "INFO: Finished page %d...\n"
-#~ msgstr "INFO: ページ %d を終了...\n"
-
-#~ msgid "INFO: Formatting page %d...\n"
-#~ msgstr "INFO: ページ %d をフォーマット中...\n"
-
-#~ msgid "INFO: Loading image file...\n"
-#~ msgstr "INFO: イメージファイルをロード中...\n"
-
-#~ msgid "INFO: Looking for printer...\n"
-#~ msgstr "INFO: プリンターを探しています...\n"
-
-#~ msgid "INFO: Opening connection\n"
-#~ msgstr "INFO: コネクションを開いています\n"
-
-#~ msgid "INFO: Print file sent, waiting for printer to finish...\n"
-#~ msgstr ""
-#~ "INFO: プリントファイルを送信し、プリンターが作業を完了するのを待っていま"
-#~ "す...\n"
-
-#~ msgid "INFO: Printer busy; will retry in 10 seconds...\n"
-#~ msgstr "INFO: プリンターがビジー状態です。10 秒後に再試行します...\n"
-
-#~ msgid "INFO: Printer busy; will retry in 30 seconds...\n"
-#~ msgstr "INFO: プリンターがビジー状態です。30 秒後に再試行します...\n"
-
-#~ msgid "INFO: Printer busy; will retry in 5 seconds...\n"
-#~ msgstr "INFO: プリンターがビジー状態です。5 秒後に再試行します...\n"
-
-#~ msgid "INFO: Printer does not support IPP/%d.%d, trying IPP/1.0...\n"
-#~ msgstr ""
-#~ "INFO: プリンターが IPP/%d.%d をサポートしていません。IPP/1.0 を試しま"
-#~ "す...\n"
-
-#~ msgid "INFO: Printer is busy; will retry in 5 seconds...\n"
-#~ msgstr "INFO: プリンターがビジー状態です。5 秒後に再試行します...\n"
-
-#~ msgid "INFO: Printer is currently off-line.\n"
-#~ msgstr "INFO: プリンターは現在オフラインです。\n"
-
-#~ msgid "INFO: Printer is currently offline.\n"
-#~ msgstr "INFO: プリンターは現在オフラインです。\n"
-
-#~ msgid "INFO: Printer is now online.\n"
-#~ msgstr "INFO: プリンターは現在オンラインです。\n"
-
-#~ msgid "INFO: Printer is offline.\n"
-#~ msgstr "INFO: プリンターはオフラインです。\n"
-
-#~ msgid "INFO: Printer not connected; will retry in 30 seconds...\n"
-#~ msgstr "INFO: プリンターに接続できません。30 秒後に再試行します...\n"
-
-#~ msgid "INFO: Printing page %d, %d%% complete...\n"
-#~ msgstr "INFO: ページ %d をプリント中、%d%% 完了しました...\n"
-
-#~ msgid "INFO: Printing page %d...\n"
-#~ msgstr "INFO: ページ %d をプリント中...\n"
-
-#~ msgid "INFO: Ready to print.\n"
-#~ msgstr "INFO: プリントの準備ができています\n"
-
-#~ msgid "INFO: Sending control file (%lu bytes)\n"
-#~ msgstr "INFO: コントロールファイルを送信中 (%lu バイト)\n"
-
-#~ msgid "INFO: Sending control file (%u bytes)\n"
-#~ msgstr "INFO: コントロールファイルを送信中 (%u バイト)\n"
-
-#~ msgid "INFO: Sending data\n"
-#~ msgstr "INFO: データを送信中\n"
-
-#~ msgid "INFO: Sending data file (%ld bytes)\n"
-#~ msgstr "INFO: データファイルを送信中 (%ld バイト)\n"
-
-#~ msgid "INFO: Sending data file (%lld bytes)\n"
-#~ msgstr "INFO: データファイルを送信中 (%lld バイト)\n"
-
-#~ msgid "INFO: Sending print data...\n"
-#~ msgstr "INFO: プリントデータを送信中...\n"
-
-#~ msgid "INFO: Sent print file, %ld bytes...\n"
-#~ msgstr "INFO: プリントファイルを送信、%ld バイト...\n"
-
-#~ msgid "INFO: Sent print file, %lld bytes...\n"
-#~ msgstr "INFO: プリントファイルを送信、%lld バイト...\n"
-
-#~ msgid "INFO: Spooling LPR job, %.0f%% complete...\n"
-#~ msgstr "INFO: LPR ジョブをスプール中、%.0f%% 完了しました...\n"
-
-#~ msgid "INFO: Starting page %d...\n"
-#~ msgstr "INFO: ページ %d を開始...\n"
-
-#~ msgid ""
-#~ "INFO: Unable to contact printer, queuing on next printer in class...\n"
-#~ msgstr ""
-#~ "INFO: プリンターと交信できません。クラス内の次のプリンターにキューしま"
-#~ "す...\n"
-
-#~ msgid "INFO: Using default AppleTalk zone \"%s\"\n"
-#~ msgstr "INFO: デフォルトの AppleTalk ゾーン \"%s\" を使います\n"
-
-#~ msgid "INFO: Waiting for job to complete...\n"
-#~ msgstr "INFO: ジョブが完了するのを待っています...\n"
-
-#~ msgid "INFO: Waiting for printer to become available...\n"
-#~ msgstr "INFO: プリンターが使用可能になるのを待っています...\n"
-
-#~ msgid "ISO B0"
-#~ msgstr "ISO B0"
-
-#~ msgid "ISO B1"
-#~ msgstr "ISO B1"
-
-#~ msgid "ISO B10"
-#~ msgstr "ISO B10"
-
-#~ msgid "ISO B2"
-#~ msgstr "ISO B2"
-
-#~ msgid "ISO B3"
-#~ msgstr "ISO B3"
-
-#~ msgid "ISO B4"
-#~ msgstr "ISO B4"
-
-#~ msgid "ISO B4 Envelope"
-#~ msgstr "ISO B4 封筒"
-
-#~ msgid "ISO B5"
-#~ msgstr "ISO B5"
-
-#~ msgid "ISO B5 (Oversize)"
-#~ msgstr "ISO B5 (特大)"
-
-#~ msgid "ISO B5 Envelope"
-#~ msgstr "ISO B5 封筒"
-
-#~ msgid "ISO B6"
-#~ msgstr "ISO B6"
-
-#~ msgid "ISO B6 Envelope"
-#~ msgstr "ISO B6 封筒"
-
-#~ msgid "ISO B7"
-#~ msgstr "ISO B7"
-
-#~ msgid "ISO B8"
-#~ msgstr "ISO B8"
-
-#~ msgid "ISO B9"
-#~ msgstr "ISO B9"
-
-#~ msgid "Ink/toner almost empty."
-#~ msgstr "インクまたはトナーがほとんどありません。"
-
-#~ msgid "Ink/toner empty!"
-#~ msgstr "インクまたはトナーがありません!"
-
-#~ msgid "Ink/toner waste bin almost full."
-#~ msgstr "廃インクまたは廃トナー容器がほとんど一杯です。"
-
-#~ msgid "Ink/toner waste bin full!"
-#~ msgstr "廃インクまたは廃トナー容器が一杯です!"
-
-#~ msgid "Interlock open."
-#~ msgstr "インターロックが開いています。"
-
-#~ msgid "Invite Envelope"
-#~ msgstr "招待状封筒"
-
-#~ msgid "Italian Envelope"
-#~ msgstr "イタリア封筒"
-
-#~ msgid "Job #%d cannot be restarted - no files!"
-#~ msgstr "ジョブ番号 %d を再開できません - ファイルが見つかりません!"
-
-#~ msgid "Job #%d does not exist!"
-#~ msgstr "ジョブ番号 %d は存在しません!"
-
-#~ msgid "Job #%d is finished and cannot be altered!"
-#~ msgstr "ジョブ番号 %d はすでに終了し、変更できません!"
-
-#~ msgid "Job #%d is not complete!"
-#~ msgstr "ジョブ番号 %d は完了していません!"
-
-#~ msgid "Job #%d is not held for authentication!"
-#~ msgstr "ジョブ番号 %d は認証のために保留されていません!"
-
-#~ msgid "Job #%d is not held!"
-#~ msgstr "ジョブ番号 %d は保留されていません!"
-
-#~ msgid "Job #%s does not exist!"
-#~ msgstr "ジョブ番号 #%s は存在しません!"
-
-#~ msgid "Job %d not found!"
-#~ msgstr "ジョブ番号 %d は見つかりません!"
-
-#~ msgid "Job subscriptions cannot be renewed!"
-#~ msgstr "ジョブサブスクリプションが更新できません!"
-
-#~ msgid "Kaku2 Envelope"
-#~ msgstr "角 2 封筒"
-
-#~ msgid "Kaku3 Envelope"
-#~ msgstr "角 3 封筒"
-
-#~ msgid "Language \"%s\" not supported!"
-#~ msgstr "言語 \"%s\" はサポートされていません!"
-
-#~ msgid "Media jam!"
-#~ msgstr "紙詰まりです!"
-
-#~ msgid "Media tray almost empty."
-#~ msgstr "用紙トレイが空になりかけています。"
-
-#~ msgid "Media tray empty!"
-#~ msgstr "用紙トレイが空になりました!"
-
-#~ msgid "Media tray missing!"
-#~ msgstr "用紙トレイが見つかりません!"
-
-#~ msgid "Media tray needs to be filled."
-#~ msgstr "用紙トレイに補充が必要です。"
-
-#~ msgid "Missing document-number attribute!"
-#~ msgstr "document-number 属性がありません!"
-
-#~ msgid "Missing double quote on line %d!"
-#~ msgstr "%d 行に二重引用符がありません!"
-
-#~ msgid "Missing form variable!"
-#~ msgstr "form 変数がありません!"
-
-#~ msgid "Missing notify-subscription-ids attribute!"
-#~ msgstr "notify-subscription-ids 属性がありません!"
-
-#~ msgid "Missing requesting-user-name attribute!"
-#~ msgstr "requesting-user-name 属性が設定されていません!"
-
-#~ msgid "Missing required attributes!"
-#~ msgstr "必須の属性が設定されていません!"
-
-#~ msgid "Missing value on line %d!"
-#~ msgstr "%d 行に値がありません!"
-
-#~ msgid ""
-#~ "Model:  name = %s\n"
-#~ "        natural_language = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ msgstr ""
-#~ "モデル: name = %s\n"
-#~ "        natural_language = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-
-#~ msgid "Monarch"
-#~ msgstr "Monarch"
-
-#~ msgid "Monarch Envelope"
-#~ msgstr "Monarch 封筒"
-
-#~ msgid "NOTICE: Print file accepted - job ID %d.\n"
-#~ msgstr "NOTICE: プリントファイルを受け付けました - ジョブ ID %d。\n"
-
-#~ msgid "NOTICE: Print file accepted - job ID unknown.\n"
-#~ msgstr "NOTICE: プリントファイルを受け付けました - ジョブ ID 不明。\n"
-
-#~ msgid "No PPD name!"
-#~ msgstr "PPD の名前がありません!"
-
-#~ msgid "No Windows printer drivers are installed!"
-#~ msgstr "Windows プリンタードライバーがインストールされていません!"
-
-#~ msgid "No active jobs on %s!"
-#~ msgstr "%s にはアクティブなジョブはありません!"
-
-#~ msgid "No attributes in request!"
-#~ msgstr "リクエストに属性がありません!"
-
-#~ msgid "No authentication information provided!"
-#~ msgstr "認証情報が提供されていません!"
-
-#~ msgid "No default printer"
-#~ msgstr "デフォルトのプリンターはありません"
-
-#~ msgid "No file!?!"
-#~ msgstr "ファイルがありません!?!"
-
-#~ msgid "No modification time!"
-#~ msgstr "変更時刻がありません!"
-
-#~ msgid "No printer name!"
-#~ msgstr "プリンター名がありません!"
-
-#~ msgid "No printer-uri found for class!"
-#~ msgstr "クラスのプリンターURI が見つかりません!"
-
-#~ msgid "No printer-uri found!"
-#~ msgstr "プリンターURI が見つかりません!"
-
-#~ msgid "No printer-uri in request!"
-#~ msgstr "プリンターURI のリクエストがありません!"
-
-#~ msgid "No subscription attributes in request!"
-#~ msgstr "リクエストにサブスクリプション属性がありません!"
-
-#~ msgid "OPC almost at end-of-life."
-#~ msgstr "OPC はもうすぐ交換が必要になります。"
-
-#~ msgid "OPC at end-of-life!"
-#~ msgstr "OPC は交換時期です!"
-
-#~ msgid "Out of toner!"
-#~ msgstr "トナー切れです!"
-
-#~ msgid "Output bin almost full."
-#~ msgstr "排紙トレイがほとんど一杯です。"
-
-#~ msgid "Output bin full!"
-#~ msgstr "排紙トレイが一杯です!"
-
-#~ msgid "Output for printer %s is sent to %s\n"
-#~ msgstr "プリンター %s の出力は %s に送られます\n"
-
-#~ msgid "Output for printer %s is sent to remote printer %s on %s\n"
-#~ msgstr ""
-#~ "プリンター %s の出力は、リモートプリンター %s (%s 上) に送られます\n"
-
-#~ msgid "Output for printer %s/%s is sent to %s\n"
-#~ msgstr "プリンター %s/%s の出力は %s に送られます\n"
-
-#~ msgid "Output for printer %s/%s is sent to remote printer %s on %s\n"
-#~ msgstr ""
-#~ "プリンター %s/%s の出力は、リモートプリンター %s (%s 上) に送られます\n"
-
-#~ msgid "Output tray missing!"
-#~ msgstr "排紙トレイが見つかりません!"
-
-#~ msgid "PASS\n"
-#~ msgstr "合格\n"
-
-#~ msgid "PRC1 Envelope"
-#~ msgstr "PRC1 封筒"
-
-#~ msgid "PRC10 Envelope"
-#~ msgstr "PRC10 封筒"
-
-#~ msgid "PRC2 Envelope"
-#~ msgstr "PRC2 封筒"
-
-#~ msgid "PRC3 Envelope"
-#~ msgstr "PRC3 封筒"
-
-#~ msgid "PRC32K (Oversize)"
-#~ msgstr "PRC32K (特大)"
-
-#~ msgid "PRC4 Envelope"
-#~ msgstr "PRC4 封筒"
-
-#~ msgid "PRC5 Envelope"
-#~ msgstr "PRC5 封筒"
-
-#~ msgid "PRC6 Envelope"
-#~ msgstr "PRC6 封筒"
-
-#~ msgid "PRC7 Envelope"
-#~ msgstr "PRC7 封筒"
-
-#~ msgid "PRC8 Envelope"
-#~ msgstr "PRC8 封筒"
-
-#~ msgid "PRC9 Envelope"
-#~ msgstr "PRC9 封筒"
-
-#~ msgid "Personal Envelope"
-#~ msgstr "パーソナル封筒"
-
-#~ msgid "Printer offline."
-#~ msgstr "プリンターはオフラインです。"
-
-#~ msgid "Rank    Owner   Job     File(s)                         Total Size\n"
-#~ msgstr ""
-#~ "ランク  所有者  ジョブ  ファイル                        合計サイズ\n"
-
-#~ msgid ""
-#~ "Rank   Owner      Pri  Job        Files                       Total Size\n"
-#~ msgstr ""
-#~ "ランク 所有者     優先 ジョブ     ファイル                    合計サイズ\n"
-
-#~ msgid "Running command: %s %s -N -A %s -c '%s'\n"
-#~ msgstr "コマンドを実行中: %s %s -N -A %s -c '%s'\n"
-
-#~ msgid "SCSI Printer"
-#~ msgstr "SCSI プリンター"
-
-#~ msgid "Tabloid (Oversize)"
-#~ msgstr "タブロイド (特大)"
-
-#~ msgid "The notify-user-data value is too large (%d > 63 octets)!"
-#~ msgstr "notify-user-data 値が大きすぎます (%d > 63 オクテット)!"
-
-#~ msgid "The printer or class is not shared!"
-#~ msgstr "プリンターまたはクラスは共有できません!"
-
-#~ msgid "The printer or class was not found."
-#~ msgstr "プリンターまたはクラスが見つかりませんでした。"
-
-#~ msgid "The printer-uri attribute is required!"
-#~ msgstr "printer-uri 属性は必須です!"
-
-#~ msgid "Toner low."
-#~ msgstr "トナーが少なくなっています。"
-
-#~ msgid "Too many job-sheets values (%d > 2)!"
-#~ msgstr "job-sheets 値が多すぎます (%d > 2)!"
-
-#~ msgid "Too many printer-state-reasons values (%d > %d)!"
-#~ msgstr "printer-state-reasons 値が多すぎます (%d > %d)!"
-
-#~ msgid "US Executive"
-#~ msgstr "US エグゼクティブ"
-
-#~ msgid "US Fanfold"
-#~ msgstr "US Fanfold"
-
-#~ msgid "US Legal (Oversize)"
-#~ msgstr "US リーガル (特大)"
-
-#~ msgid "US Letter (Oversize)"
-#~ msgstr "US レター (特大)"
-
-#~ msgid "US Letter (Small)"
-#~ msgstr "US レター (小)"
-
-#~ msgid "Unable to add job for destination \"%s\"!"
-#~ msgstr "宛先\"%s\"にジョブを追加できません!"
-
-#~ msgid "Unable to allocate memory for file types!"
-#~ msgstr "ファイルタイプ用にメモリを割り当てられません!"
-
-#~ msgid "Unable to copy 64-bit CUPS printer driver files (%d)!"
-#~ msgstr ""
-#~ "64-bit 版の CUPS プリンタードライバーファイルをコピーできません (%d)!"
-
-#~ msgid "Unable to copy 64-bit Windows printer driver files (%d)!"
-#~ msgstr "64-bit 版の Windows プリンタードライバーをコピーできません (%d)!"
-
-#~ msgid "Unable to copy CUPS printer driver files (%d)!"
-#~ msgstr "複数の CUPS プリンタードライバーファイルをコピーできません (%d)!"
-
-#~ msgid "Unable to copy PPD file - %s!"
-#~ msgstr "PPD ファイルをコピーできません! - %s"
-
-#~ msgid "Unable to copy PPD file!"
-#~ msgstr "PPD ファイルをコピーできません!"
-
-#~ msgid "Unable to copy Windows 2000 printer driver files (%d)!"
-#~ msgstr ""
-#~ "複数の Windows 2000 プリンタードライバーファイルをコピーできません (%d)!"
-
-#~ msgid "Unable to copy Windows 9x printer driver files (%d)!"
-#~ msgstr ""
-#~ "複数の Windows 9x プリンタードライバーファイルをコピーできません (%d)!"
-
-#~ msgid "Unable to copy interface script - %s!"
-#~ msgstr "インターフェイススクリプトをコピーできません! - %s"
-
-#~ msgid "Unable to create printer-uri!"
-#~ msgstr "printer-uri を作成できません!"
-
-#~ msgid "Unable to edit cupsd.conf files larger than 1MB!"
-#~ msgstr "1MB 以上の cupsd.conf ファイルは編集できません!"
-
-#~ msgid "Unable to find destination for job!"
-#~ msgstr "ジョブの宛先が見つかりません!"
-
-#~ msgid "Unable to find printer!\n"
-#~ msgstr "プリンターが見つかりません!\n"
-
-#~ msgid "Unable to install Windows 2000 printer driver files (%d)!"
-#~ msgstr ""
-#~ "複数の Windows 2000 プリンタードライバーファイルをインストールできません "
-#~ "(%d)!"
-
-#~ msgid "Unable to install Windows 9x printer driver files (%d)!"
-#~ msgstr ""
-#~ "複数の Windows 9x プリンタードライバーファイルをインストールできません (%"
-#~ "d)!"
-
-#~ msgid "Unable to open document %d in job %d!"
-#~ msgstr "ドキュメント %d (ジョブ %d)を開けません!"
-
-#~ msgid "Unable to run \"%s\": %s\n"
-#~ msgstr "\"%s\" を実行できません: %s\n"
-
-#~ msgid "Unable to send command to printer driver!"
-#~ msgstr "プリンタードライバーにコマンドを送信できません!"
-
-#~ msgid "Unable to set Windows printer driver (%d)!"
-#~ msgstr "Windows プリンタードライバーを設定できません (%d)!"
-
-#~ msgid "Unable to use legacy USB class driver!\n"
-#~ msgstr "古いタイプの USB クラスドライバーは使用できません!\n"
-
-#~ msgid "Unsupported character set \"%s\"!"
-#~ msgstr "\"%s\" はサポートされていない文字セットです!"
-
-#~ msgid "Unsupported compression \"%s\"!"
-#~ msgstr "\"%s\" はサポートされていない圧縮形式です!"
-
-#~ msgid "Unsupported compression attribute %s!"
-#~ msgstr "%s はサポートされていない圧縮属性です!"
-
-#~ msgid "Unsupported format \"%s\"!"
-#~ msgstr "\"%s\" はサポートされていない形式です!"
-
-#~ msgid "Unsupported format '%s'!"
-#~ msgstr "'%s' はサポートされていない形式です!"
-
-#~ msgid "Unsupported format '%s/%s'!"
-#~ msgstr "'%s/%s' はサポートされていない形式です!"
-
-#~ msgid ""
-#~ "Usage:\n"
-#~ "\n"
-#~ "    lpadmin [-h server] -d destination\n"
-#~ "    lpadmin [-h server] -x destination\n"
-#~ "    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m "
-#~ "model]\n"
-#~ "                       [-r remove-class] [-v device] [-D description]\n"
-#~ "                       [-P ppd-file] [-o name=value]\n"
-#~ "                       [-u allow:user,user] [-u deny:user,user]\n"
-#~ "\n"
-#~ msgstr ""
-#~ "使い方:\n"
-#~ "\n"
-#~ "    lpadmin [-h サーバー] -d 宛先\n"
-#~ "    lpadmin [-h サーバー] -x 宛先\n"
-#~ "    lpadmin [-h サーバー] -p プリンター [-c 追加クラス] [-i インターフェイ"
-#~ "ス]\n"
-#~ "                       [-m モデル] [-r 削除クラス] [-v デバイス]\n"
-#~ "                       [-D 宛先] [-P PPD ファイル] [-o 名前=値]\n"
-#~ "                       [-u allow:ユーザー,ユーザー] [-u deny:ユーザー,ユー"
-#~ "ザー]\n"
-#~ "\n"
-
-#~ msgid "Usage: %s job user title copies options [filename]\n"
-#~ msgstr ""
-#~ "使い方: %s ジョブID ユーザー タイトル コピー数 オプション [ファイル名]\n"
-
-#~ msgid "Usage: %s job-id user title copies options [file]\n"
-#~ msgstr ""
-#~ "使い方: %s ジョブID ユーザー タイトル コピー数 オプション [ファイル]\n"
-
-#~ msgid "Usage: %s job-id user title copies options file\n"
-#~ msgstr ""
-#~ "使い方: %s ジョブID ユーザー タイトル コピー数 オプション ファイル\n"
-
-#~ msgid ""
-#~ "Usage: convert [ options ]\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "  -e                   Use every filter from the PPD file\n"
-#~ "  -f filename          Set file to be converted (otherwise stdin)\n"
-#~ "  -o filename          Set file to be generated (otherwise stdout)\n"
-#~ "  -i mime/type         Set input MIME type (otherwise auto-typed)\n"
-#~ "  -j mime/type         Set output MIME type (otherwise application/pdf)\n"
-#~ "  -P filename.ppd      Set PPD file\n"
-#~ "  -a 'name=value ...'  Set option(s)\n"
-#~ "  -U username          Set username for job\n"
-#~ "  -J title             Set title\n"
-#~ "  -c copies            Set number of copies\n"
-#~ "  -u                   Remove the PPD file when finished\n"
-#~ "  -D                   Remove the input file when finished\n"
-#~ msgstr ""
-#~ "使い方: convert [オプション]\n"
-#~ "\n"
-#~ "オプション:\n"
-#~ "\n"
-#~ "  -e                   PPD ファイルからすべてのフィルターを使用する\n"
-#~ "  -f filename          変換するファイルを指定する (指定がなければ stdin と"
-#~ "なる)\n"
-#~ "  -o filename          生成するファイルを指定する (指定がなければ stdout "
-#~ "となる)\n"
-#~ "  -i mime/type         入力の MIME タイプを指定する (指定がなければ自動タ"
-#~ "イプ)\n"
-#~ "  -j mime/type         出力の MIME タイプを指定する (指定がなければ "
-#~ "application/pdf)\n"
-#~ "  -P filename.ppd      PPD ファイルを指定する\n"
-#~ "  -a 'name=value ...'  オプションを指定する\n"
-#~ "  -U username          ジョブのユーザー名を指定する\n"
-#~ "  -J title             タイトルを指定する\n"
-#~ "  -c copies            部数を指定する\n"
-#~ "  -u                   終了したときに PPD ファイルを削除する\n"
-#~ "  -D                   終了したときに入力ファイルを削除する\n"
-
-#~ msgid ""
-#~ "Usage: cupsaddsmb [options] printer1 ... printerN\n"
-#~ "       cupsaddsmb [options] -a\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "  -E               Encrypt the connection to the server\n"
-#~ "  -H samba-server  Use the named SAMBA server\n"
-#~ "  -U samba-user    Authenticate using the named SAMBA user\n"
-#~ "  -a               Export all printers\n"
-#~ "  -h cups-server   Use the named CUPS server\n"
-#~ "  -v               Be verbose (show commands)\n"
-#~ msgstr ""
-#~ "使い方: cupsaddsmb [オプション] プリンター ... プリンターN\n"
-#~ "        cupsaddsmb [オプション] -a\n"
-#~ "\n"
-#~ "オプション:\n"
-#~ "  -E               サーバーとの接続を暗号化する\n"
-#~ "  -H sambaサーバー 指定の SAMBA サーバーを使う\n"
-#~ "  -U sambaユーザー 指定の SAMBA ユーザーを使って認証する\n"
-#~ "  -a               すべてのプリンターをエキスポートする\n"
-#~ "  -h cupsサーバー  指定の CUPS サーバーを使う\n"
-#~ "  -v               冗長にする (コマンドを表示する)\n"
-
-#~ msgid ""
-#~ "Usage: cupsctl [options] [param=value ... paramN=valueN]\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -E                      Enable encryption\n"
-#~ "    -U username             Specify username\n"
-#~ "    -h server[:port]        Specify server address\n"
-#~ "\n"
-#~ "    --[no-]debug-logging    Turn debug logging on/off\n"
-#~ "    --[no-]remote-admin     Turn remote administration on/off\n"
-#~ "    --[no-]remote-any       Allow/prevent access from the Internet\n"
-#~ "    --[no-]remote-printers  Show/hide remote printers\n"
-#~ "    --[no-]share-printers   Turn printer sharing on/off\n"
-#~ "    --[no-]user-cancel-any  Allow/prevent users to cancel any job\n"
-#~ msgstr ""
-#~ "使い方: cupsctl [オプション] [パラメータ=値 ... パラメータN=値N]\n"
-#~ "\n"
-#~ "オプション:\n"
-#~ "\n"
-#~ "    -E                      暗号化を有効にする\n"
-#~ "    -U ユーザ名             ユーザー名を指定する\n"
-#~ "    -h サーバー[:ポート]    サーバーアドレスを指定する\n"
-#~ "\n"
-#~ "    --[no-]debug-logging    デバッグログの有効/無効を切り替える\n"
-#~ "    --[no-]remote-admin     リモート管理の有効/無効を切り替える\n"
-#~ "    --[no-]remote-any       インターネットからのアクセスを許可/禁止する\n"
-#~ "    --[no-]remote-printers  リモートプリンターを表示/非表示にする\n"
-#~ "    --[no-]share-printers   プリンター共有の有効/無効を切り替える\n"
-#~ "    --[no-]user-cancel-any  あらゆるジョブのキャンセルをユーザーに許可/禁"
-#~ "止する\n"
-
-#~ msgid ""
-#~ "Usage: cupsd [-c config-file] [-f] [-F] [-h] [-l]\n"
-#~ "\n"
-#~ "-c config-file      Load alternate configuration file\n"
-#~ "-f                  Run in the foreground\n"
-#~ "-F                  Run in the foreground but detach\n"
-#~ "-h                  Show this usage message\n"
-#~ "-l                  Run cupsd from launchd(8)\n"
-#~ msgstr ""
-#~ "使い方: cupsd [-c 設定ファイル] [-f] [-F] [-h] [-l]\n"
-#~ "\n"
-#~ "-c 設定ファイル     別の設定ファイルをロードする\n"
-#~ "-f                  フォアグラウンドで実行する\n"
-#~ "-F                  フォアグラウンドで実行するがデタッチする\n"
-#~ "-h                  この使い方を表示する\n"
-#~ "-l                  launchd(8) から cupsd を実行する\n"
-
-#~ msgid ""
-#~ "Usage: cupsfilter -m mime/type [ options ] filename\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "  -c cupsd.conf    Set cupsd.conf file to use\n"
-#~ "  -e               Use every filter from the PPD file\n"
-#~ "  -j job-id[,N]    Filter file N from the specified job (default is file "
-#~ "1)\n"
-#~ "  -n copies        Set number of copies\n"
-#~ "  -o name=value    Set option(s)\n"
-#~ "  -p filename.ppd  Set PPD file\n"
-#~ "  -t title         Set title\n"
-#~ msgstr ""
-#~ "使い方: cupsfilter -m mime/type [ options ] filename\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "  -c cupsd.conf    使用する cupsd.conf ファイルの指定\n"
-#~ "  -e               PPD ファイルで指定されたすべてのフィルターを使用する\n"
-#~ "  -j job-id[,N]    フィルターファイル N を指定されたジョブから使用する (デ"
-#~ "フォルトは ファイル 1)\n"
-#~ "  -n copies        印刷部数を指定する\n"
-#~ "  -o name=value    オプションを指定する\n"
-#~ "  -p filename.ppd  PPDファイルを指定する\n"
-#~ "  -t title         タイトルを指定する\n"
-
-#~ msgid ""
-#~ "Usage: cupstestdsc [options] filename.ps [... filename.ps]\n"
-#~ "       cupstestdsc [options] -\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -h       Show program usage\n"
-#~ "\n"
-#~ "    Note: this program only validates the DSC comments, not the "
-#~ "PostScript itself.\n"
-#~ msgstr ""
-#~ "使い方: cupstestdsc [オプション] ファイル名.ps [... ファイル名.ps]\n"
-#~ "        cupstestdsc [オプション] -\n"
-#~ "\n"
-#~ "オプション:\n"
-#~ "\n"
-#~ "    -h       プログラムの使い方を表示する\n"
-#~ "\n"
-#~ "    注意: このプログラムは DSC コメントを検証するだけで、PostScript 自身を"
-#~ "検証するものではありません。\n"
-
-#~ msgid ""
-#~ "Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]\n"
-#~ "       program | cupstestppd [options] -\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -R root-directory    Set alternate root\n"
-#~ "    -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,"
-#~ "translations}\n"
-#~ "                         Issue warnings instead of errors\n"
-#~ "    -q                   Run silently\n"
-#~ "    -r                   Use 'relaxed' open mode\n"
-#~ "    -v                   Be slightly verbose\n"
-#~ "    -vv                  Be very verbose\n"
-#~ msgstr ""
-#~ "使い方: cupstestppd [オプション] filename1.ppd[.gz] [... filenameN.ppd[."
-#~ "gz]]\n"
-#~ "       program | cupstestppd [オプション] -\n"
-#~ "\n"
-#~ "オプション:\n"
-#~ "\n"
-#~ "    -R root-directory    違うルートディレクトリを指定\n"
-#~ "    -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,"
-#~ "translations}\n"
-#~ "                         指定されたものをエラーの代わりに警告として扱う\n"
-#~ "    -q                   メッセージなしモードで動く\n"
-#~ "    -r                   「リラックス」オープンモードで開く\n"
-#~ "    -v                   メッセージ多めモード\n"
-#~ "    -vv                  メッセージ非常に多めモード\n"
-
-#~ msgid "Usage: lpmove job/src dest\n"
-#~ msgstr "使い方: lpmove ジョブ/ソース 宛先\n"
-
-#~ msgid ""
-#~ "Usage: lpoptions [-h server] [-E] -d printer\n"
-#~ "       lpoptions [-h server] [-E] [-p printer] -l\n"
-#~ "       lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
-#~ "       lpoptions [-h server] [-E] -x printer\n"
-#~ msgstr ""
-#~ "使い方: lpoptions [-h サーバー] [-E] -d プリンター\n"
-#~ "       lpoptions [-h サーバー] [-E] [-p プリンター] -l\n"
-#~ "        lpoptions [-h サーバー] [-E] -p プリンター -o オプション[="
-#~ "値] ...\n"
-#~ "        lpoptions [-h サーバー] [-E] -x プリンター\n"
-
-#~ msgid "Usage: lppasswd [-g groupname]\n"
-#~ msgstr "使い方: lppasswd [-g グループ名]\n"
-
-#~ msgid ""
-#~ "Usage: lppasswd [-g groupname] [username]\n"
-#~ "       lppasswd [-g groupname] -a [username]\n"
-#~ "       lppasswd [-g groupname] -x [username]\n"
-#~ msgstr ""
-#~ "使い方: lppasswd [-g グループ名] [ユーザ名]\n"
-#~ "        lppasswd [-g グループ名] -a [ユーザ名]\n"
-#~ "        lppasswd [-g グループ名] -x [ユーザ名]\n"
-
-#~ msgid ""
-#~ "Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]\n"
-#~ msgstr ""
-#~ "使い方: lpq [-P 宛先] [-U ユーザー名] [-h ホスト名[:ポート]] [-l] [+間"
-#~ "隔]\n"
-
-#~ msgid ""
-#~ "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]\n"
-#~ "Options:\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "  -I include-dir       Add include directory to search path.\n"
-#~ "  -c catalog.po        Load the specified message catalog.\n"
-#~ "  -d output-dir        Specify the output directory.\n"
-#~ "  -l lang[,lang,...]   Specify the output language(s) (locale).\n"
-#~ "  -m                   Use the ModelName value as the filename.\n"
-#~ "  -t                   Test PPDs instead of generating them.\n"
-#~ "  -v                   Be verbose (more v's for more verbosity).\n"
-#~ "  -z                   Compress PPD files using GNU zip.\n"
-#~ "  --cr                 End lines with CR (Mac OS 9).\n"
-#~ "  --crlf               End lines with CR + LF (Windows).\n"
-#~ "  --lf                 End lines with LF (UNIX/Linux/Mac OS X).\n"
-#~ msgstr ""
-#~ "使い方: ppdc [オプション] ファイル名.drv [ ... ファイル名N.drv ]\n"
-#~ "オプション:\n"
-#~ "  -D 変数名=値         変数名で指定した変数に値をセットする\n"
-#~ "  -I include-dir       include-dir で指定したディレクトリをサーチパスに追"
-#~ "加\n"
-#~ "  -c catalog.po        指定したメッセージカタログをロードする\n"
-#~ "  -d output-dir        出力ディレクトリ(output-dir)を指定する\n"
-#~ "  -l lang[,lang,...]   出力言語を指定する。(複数可能)\n"
-#~ "  -m                   ModelName の値をファイル名として使用する\n"
-#~ "  -t                   PPD を出力しないでテストする\n"
-#~ "  -v                   冗長出力を行う (v を追加してさらに冗長に)\n"
-#~ "  -z                   PPD ファイルを GNU zip を使って圧縮する\n"
-#~ "  --cr                 ラインの最後は CR (Mac OS 9 方式).\n"
-#~ "  --crlf               ラインの最後は CR + LF (Windows 方式).\n"
-#~ "  --lf                 ラインの最後は LF (UNIX/Linux/Mac OS X 方式).\n"
-
-#~ msgid ""
-#~ "Usage: ppdhtml [options] filename.drv >filename.html\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "Options:\n"
-#~ "  -I include-dir    Add include directory to search path.\n"
-#~ msgstr ""
-#~ "使い方: ppdhtml [オプション] ファイル名.drv >ファイル名.html\n"
-#~ "  -D 変数名=値      変数名で指定した変数に値をセットする\n"
-#~ "オプション:\n"
-#~ "  -I include-dir    include-dir で指定したディレクトリをサーチパスに追加\n"
-
-#~ msgid ""
-#~ "Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Options:\n"
-#~ "  -I include-dir\n"
-#~ "  -o filename.drv\n"
-#~ msgstr ""
-#~ "使い方: ppdi [オプション] ファイル名.ppd [ ... ファイル名N.ppd ]\n"
-#~ "オプション:\n"
-#~ "  -I インクルードディレクトリ\n"
-#~ "  -o ファイル名.drv\n"
-
-#~ msgid ""
-#~ "Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Options:\n"
-#~ "  -o filename.ppd[.gz]\n"
-#~ msgstr ""
-#~ "使い方: ppdmerge [オプション] ファイル名.ppd [ ... ファイル名N.ppd ]\n"
-#~ "オプション:\n"
-#~ "  -o ファイル名.ppd[.gz]\n"
-
-#~ msgid ""
-#~ "Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]\n"
-#~ "Options:\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "  -I include-dir    Add include directory to search path.\n"
-#~ "  -v                Be verbose (more v's for more verbosity).\n"
-#~ msgstr ""
-#~ "使い方: ppdpo [オプション] -o ファイル名.po ファイル名.drv [ ... ファイル"
-#~ "名N.drv ]\n"
-#~ "オプション:\n"
-#~ "  -D 変数名=値      変数名で指定した変数に値をセットする\n"
-#~ "  -I include-dir    include-dir で指定したディレクトリをサーチパスに追加\n"
-#~ "  -v                冗長出力を行う (v を追加してさらに冗長に)\n"
-
-#~ msgid "Usage: snmp [host-or-ip-address]\n"
-#~ msgstr "使い方: snmp [ホストまたはIPアドレス]\n"
-
-#~ msgid "WARNING: Adding only the first %d printers found"
-#~ msgstr "WARNING: 発見した順番に %d 台のプリンターだけ追加します"
-
-#~ msgid "WARNING: Boolean expected for waiteof option \"%s\"\n"
-#~ msgstr "WARNING: 論理値は、waiteof オプション \"%s\" であるべきです\n"
-
-#~ msgid "WARNING: Failed to read side-channel request!\n"
-#~ msgstr "WARNING: サイドチャンネルの読み出しに失敗しました!\n"
-
-#~ msgid "WARNING: Option \"%s\" cannot be included via IncludeFeature!\n"
-#~ msgstr ""
-#~ "WARNING: オプション \"%s\" は IncludeFeature 経由で含めることはできませ"
-#~ "ん!\n"
-
-#~ msgid "WARNING: Printer not responding\n"
-#~ msgstr "WARNING: プリンターが反応しません\n"
-
-#~ msgid "WARNING: Printer sent unexpected EOF\n"
-#~ msgstr "WARNING: プリンターが意図しない EOF を返しました\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with command status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: リモートホストは %d 秒経ってもコマンド・ステータス・バイトを返し"
-#~ "ませんでした!\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with control status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: リモートホストは %d 秒経ってもコントロール・ステータス・バイトを"
-#~ "返しませんでした!\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with data status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: リモートホストは %d 秒経ってもデータ・ステータス・バイトを返しま"
-#~ "せんでした!\n"
-
-#~ msgid "WARNING: SCSI command timed out (%d); retrying...\n"
-#~ msgstr "WARNING: SCSI コマンドはタイムアウトしました (%d)。再試行中...\n"
-
-#~ msgid ""
-#~ "WARNING: This document does not conform to the Adobe Document Structuring "
-#~ "Conventions and may not print correctly!\n"
-#~ msgstr ""
-#~ "WARNING: この書類は Adobe Document Structuring Conventions に適合しておら"
-#~ "ず、正しくプリントできない可能性があります!\n"
-
-#~ msgid "WARNING: Unable to open \"%s:%s\": %s\n"
-#~ msgstr "WARNING: \"%s:%s\": %s を開けません\n"
-
-#~ msgid "WARNING: Unable to send PAP status request"
-#~ msgstr "WARNING: PAP ステータス・リクエストを送信できません"
-
-#~ msgid "WARNING: Unexpected PAP packet of type %d\n"
-#~ msgstr "WARNING: %d タイプの意図しない PAP パケット\n"
-
-#~ msgid "WARNING: Unknown PAP packet of type %d\n"
-#~ msgstr "WARNING: 未知の PAP パケットのタイプ %d\n"
-
-#~ msgid "WARNING: Unknown choice \"%s\" for option \"%s\"!\n"
-#~ msgstr "WARNING:  \"%s\" (オプション \"%s\" 用) は未知の設定です!\n"
-
-#~ msgid "WARNING: Unknown option \"%s\"!\n"
-#~ msgstr "WARNING: \"%s\" は未知のオプションです!\n"
-
-#~ msgid "WARNING: Unsupported baud rate %s!\n"
-#~ msgstr "WARNING: %s はサポートしないボーレートです!\n"
-
-#~ msgid "WARNING: number expected for status option \"%s\"\n"
-#~ msgstr "WARNING: ステータス・オプションの期待値は \"%s\"\n"
-
-#~ msgid ""
-#~ "WARNING: recoverable: Network host '%s' is busy; will retry in %d "
-#~ "seconds...\n"
-#~ msgstr ""
-#~ "WARNING: 回復可能: ネットワークホスト '%s' はビジー状態です (%d 秒後に再試"
-#~ "行します...)\n"
-
-#~ msgid "Warning, no Windows 2000 printer drivers are installed!"
-#~ msgstr ""
-#~ "警告、Windows 2000 プリンタードライバーがインストールされていません!"
-
-#~ msgid "You4 Envelope"
-#~ msgstr "洋形 4 号"
-
-#~ msgid "convert: Use the -f option to specify a file to convert.\n"
-#~ msgstr ""
-#~ "convert: 変換するファイルを指定するには、-f オプションを使ってください。\n"
-
-#~ msgid "cupsaddsmb: No PPD file for printer \"%s\" - %s\n"
-#~ msgstr "cupsaddsmb: プリンター \"%s\" の PPD ファイルがありません - %s\n"
-
-#~ msgid "cupsctl: Unable to connect to server: %s\n"
-#~ msgstr "cupsctl: サーバー: %s に接続できません\n"
-
-#~ msgid "cupsctl: Unknown option \"%s\"!\n"
-#~ msgstr "cupsctl: \"%s\" は未知のオプションです!\n"
-
-#~ msgid "cupsctl: Unknown option \"-%c\"!\n"
-#~ msgstr "cupsctl: \"-%c\"は未知のオプションです!\n"
-
-#~ msgid "cupsd: Expected config filename after \"-c\" option!\n"
-#~ msgstr "cupsd: -c オプションのあとには設定ファイル名が必要です!\n"
-
-#~ msgid "cupsd: Unable to get current directory!\n"
-#~ msgstr "cupsd: カレント・ディレクトリを取得できません!\n"
-
-#~ msgid "cupsd: Unknown argument \"%s\" - aborting!\n"
-#~ msgstr "cupsd: \"%s\" は未知の引数です - 停止します!\n"
-
-#~ msgid "cupsd: Unknown option \"%c\" - aborting!\n"
-#~ msgstr "cupsd: \"%c\" は未知のオプションです - 停止します!\n"
-
-#~ msgid "cupsd: launchd(8) support not compiled in, running in normal mode.\n"
-#~ msgstr ""
-#~ "cupsd: launchd(8) サポートがコンパイルされていないので、通常モードで動作し"
-#~ "ます。\n"
-
-#~ msgid "cupsfilter: Invalid document number %d!\n"
-#~ msgstr "cupsfilter: 不正な文書番号 %d です!\n"
-
-#~ msgid "cupsfilter: Invalid job ID %d!\n"
-#~ msgstr "cupsfilter: 不正なジョブID %d です!\n"
-
-#~ msgid "cupsfilter: Only one filename can be specified!\n"
-#~ msgstr "cupsfilter: ひとつのファイル名のみを指定できます!\n"
-
-#~ msgid "cupsfilter: Unable to get job file - %s\n"
-#~ msgstr "cupsfilter: ジョブ・ファイルを取得できません - %s\n"
-
-#~ msgid "cupstestppd: The -q option is incompatible with the -v option.\n"
-#~ msgstr "cupstestppd: -q オプションは -v オプションと両立できません。\n"
-
-#~ msgid "cupstestppd: The -v option is incompatible with the -q option.\n"
-#~ msgstr "cupstestppd: -v オプションは -q オプションと両立できません。\n"
-
-#~ msgid "device for %s/%s: %s\n"
-#~ msgstr "%s/%s のデバイス: %s\n"
-
-#~ msgid "device for %s: %s\n"
-#~ msgstr "%s のデバイス: %s\n"
-
-#~ msgid "help\t\tget help on commands\n"
-#~ msgstr "help\t\tコマンドのヘルプを取得\n"
-
-#~ msgid "job-printer-uri attribute missing!"
-#~ msgstr "job-printer-uri 属性がありません!"
-
-#~ msgid "lpadmin: Class name can only contain printable characters!\n"
-#~ msgstr "lpadmin: クラス名は表示可能文字のみで構成されなければなりません!\n"
-
-#~ msgid "lpadmin: Expected PPD after '-P' option!\n"
-#~ msgstr "lpadmin: '-P' オプションのあとに PPD が必要です!\n"
-
-#~ msgid "lpadmin: Expected allow/deny:userlist after '-u' option!\n"
-#~ msgstr ""
-#~ "lpadmin: '-u' オプションのあとには allow/deny:ユーザーリスト が必要です!\n"
-
-#~ msgid "lpadmin: Expected class after '-r' option!\n"
-#~ msgstr "lpadmin: '-r' オプションのあとにはクラス名が必要です!\n"
-
-#~ msgid "lpadmin: Expected class name after '-c' option!\n"
-#~ msgstr "lpadmin: '-c' オプションのあとにはクラス名が必要です!\n"
-
-#~ msgid "lpadmin: Expected description after '-D' option!\n"
-#~ msgstr "lpadmin: '-D' オプションのあとに説明が必要です!\n"
-
-#~ msgid "lpadmin: Expected device URI after '-v' option!\n"
-#~ msgstr "lpadmin: '-v' オプションのあとにはデバイス URI が必要です!\n"
-
-#~ msgid "lpadmin: Expected file type(s) after '-I' option!\n"
-#~ msgstr "lpadmin: '-I' オプションのあとにファイル形式が必要です!\n"
-
-#~ msgid "lpadmin: Expected hostname after '-h' option!\n"
-#~ msgstr "lpadmin: '-h' オプションのあとにはホスト名が必要です!\n"
-
-#~ msgid "lpadmin: Expected interface after '-i' option!\n"
-#~ msgstr "lpadmin: '-i' オプションのあとにはインターフェイス名が必要です!\n"
-
-#~ msgid "lpadmin: Expected location after '-L' option!\n"
-#~ msgstr "lpadmin: '-L' オプションのあとに場所が必要です!\n"
-
-#~ msgid "lpadmin: Expected model after '-m' option!\n"
-#~ msgstr "lpadmin: '-m' オプションのあとにはモデル名が必要です!\n"
-
-#~ msgid "lpadmin: Expected name=value after '-o' option!\n"
-#~ msgstr "lpadmin: '-o' オプションのあとには 変数名=値 が必要です!\n"
-
-#~ msgid "lpadmin: Expected printer after '-p' option!\n"
-#~ msgstr "lpadmin: '-p' オプションのあとにはプリンター名が必要です!\n"
-
-#~ msgid "lpadmin: Expected printer name after '-d' option!\n"
-#~ msgstr "lpadmin: '-d' オプションのあとにはプリンター名が必要です!\n"
-
-#~ msgid "lpadmin: Expected printer or class after '-x' option!\n"
-#~ msgstr ""
-#~ "lpadmin: '-x' オプションのあとにはプリンター名またはクラス名が必要です!\n"
-
-#~ msgid "lpadmin: No member names were seen!\n"
-#~ msgstr "lpadmin: メンバー名が見当たりません!\n"
-
-#~ msgid "lpadmin: Printer %s is already a member of class %s.\n"
-#~ msgstr "lpadmin: プリンター %s はすでにクラス %s のメンバーです。\n"
-
-#~ msgid "lpadmin: Printer %s is not a member of class %s.\n"
-#~ msgstr "lpadmin: プリンター %s はクラス %s のメンバーではありません。\n"
-
-#~ msgid "lpadmin: Printer name can only contain printable characters!\n"
-#~ msgstr "lpadmin: プリンター名には印字可能な文字のみ使用できます!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to add a printer to the class:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: クラスにプリンターを追加できません:\n"
-#~ "         先にプリンター名を指定する必要があります!\n"
-
-#~ msgid "lpadmin: Unable to connect to server: %s\n"
-#~ msgstr "lpadmin: サーバーに接続できません: %s\n"
-
-#~ msgid "lpadmin: Unable to open PPD file \"%s\" - %s\n"
-#~ msgstr "lpadmin: PPD ファイル \"%s\" を開けません - %s\n"
-
-#~ msgid "lpadmin: Unable to open file \"%s\": %s\n"
-#~ msgstr "lpadmin: ファイル \"%s\" を開けません: %s\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to remove a printer from the class:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: クラスからプリンターを削除できません:\n"
-#~ "         先にプリンター名を指定する必要があります!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the PPD file:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: PPD ファイルを設定できません:\n"
-#~ "         先にプリンター名を指定する必要があります!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the device URI:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: デバイス URI を設定できません:\n"
-#~ "         先にプリンター名を指定する必要があります!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the interface script or PPD file:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: インターフェイス・スクリプトまたは PPD ファイルを設定できませ"
-#~ "ん:\n"
-#~ "         先にプリンター名を指定する必要があります!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the interface script:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: インターフェイススクリプトを設定できません:\n"
-#~ "         先にプリンター名を指定する必要があります!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer description:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: プリンターの説明を設定できません:\n"
-#~ "         先にプリンター名を指定する必要があります!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer location:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: プリンターの場所が設定できません:\n"
-#~ "         先にプリンター名を指定する必要があります!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer options:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: プリンター・オプションを設定できません:\n"
-#~ "         先にプリンター名を指定する必要があります!\n"
-
-#~ msgid "lpadmin: Unknown allow/deny option \"%s\"!\n"
-#~ msgstr "lpadmin:\"%s\" は未知の allow/deny オプションです!\n"
-
-#~ msgid "lpadmin: Unknown argument '%s'!\n"
-#~ msgstr "lpadmin: '%s' は未知の引数です!\n"
-
-#~ msgid "lpadmin: Unknown option '%c'!\n"
-#~ msgstr "lpadmin: '%c' は未知のオプションです!\n"
-
-#~ msgid "lpadmin: Warning - content type list ignored!\n"
-#~ msgstr "lpadmin: 警告 - コンテンツタイプリストは無視されます!\n"
-
-#~ msgid "lpinfo: Expected 1284 device ID string after --device-id!\n"
-#~ msgstr ""
-#~ "lpinfo: --device-id の後には、1284デバイスIDを指定する必要があります!\n"
-
-#~ msgid "lpinfo: Expected language after --language!\n"
-#~ msgstr "lpinfo: --language の後には、言語を指定する必要があります!\n"
-
-#~ msgid "lpinfo: Expected make and model after --make-and-model!\n"
-#~ msgstr ""
-#~ "lpinfo: --make-and-model の後には、メーカーとモデルを指定する必要がありま"
-#~ "す!\n"
-
-#~ msgid "lpinfo: Expected product string after --product!\n"
-#~ msgstr "lpinfo: --product の後には、製品名を指定する必要があります!\n"
-
-#~ msgid "lpinfo: Expected scheme list after --exclude-schemes!\n"
-#~ msgstr ""
-#~ "lpinfo: --exclude-schemes の後には、スキーマ・リストを指定する必要がありま"
-#~ "す!\n"
-
-#~ msgid "lpinfo: Expected scheme list after --include-schemes!\n"
-#~ msgstr ""
-#~ "lpinfo: --include-schemes の後には、スキーマ・リストを指定する必要がありま"
-#~ "す!\n"
-
-#~ msgid "lpinfo: Expected timeout after --timeout!\n"
-#~ msgstr ""
-#~ "lpinfo: --timeout の後には、タイムアウト値を指定する必要があります!\n"
-
-#~ msgid "lpinfo: Unknown argument '%s'!\n"
-#~ msgstr "lpinfo: 未知の引数 '%s'!\n"
-
-#~ msgid "lpinfo: Unknown option '%c'!\n"
-#~ msgstr "lpinfo: 未知のオプション '%c'!\n"
-
-#~ msgid "lpinfo: Unknown option '%s'!\n"
-#~ msgstr "lpinfo: 未知のオプション '%s'!\n"
-
-#~ msgid "lpmove: Unable to connect to server: %s\n"
-#~ msgstr "lpmove: サーバーに接続できません: %s!\n"
-
-#~ msgid "lpmove: Unknown argument '%s'!\n"
-#~ msgstr "lpmove: 未知の引数 '%s'!\n"
-
-#~ msgid "lpmove: Unknown option '%c'!\n"
-#~ msgstr "lpmove: 未知のオプション '%c'!\n"
-
-#~ msgid "lpoptions: No printers!?!\n"
-#~ msgstr "lpoptions: プリンターがありません!?!\n"
-
-#~ msgid "lpoptions: Unable to add printer or instance: %s\n"
-#~ msgstr "lpoptions: プリンターまたはインスタンスを追加できません: %s\n"
-
-#~ msgid "lpoptions: Unable to get PPD file for %s: %s\n"
-#~ msgstr "lpoptions: %s の PPD ファイルを開けません!: %s\n"
-
-#~ msgid "lpoptions: Unable to open PPD file for %s!\n"
-#~ msgstr "lpoptions: %s の PPD ファイルを開けません!\n"
-
-#~ msgid "lpoptions: Unknown printer or class!\n"
-#~ msgstr "lpoptions: 未知のプリンターまたはクラスです!\n"
-
-#~ msgid "lppasswd: Only root can add or delete passwords!\n"
-#~ msgstr "lppasswd: root だけがパスワードの追加と削除を行えます!\n"
-
-#~ msgid "lppasswd: Password file busy!\n"
-#~ msgstr "lppasswd: パスワードファイルがビジー状態です!\n"
-
-#~ msgid "lppasswd: Password file not updated!\n"
-#~ msgstr "lppasswd: パスワードファイルは更新されません!\n"
-
-#~ msgid "lppasswd: Sorry, password doesn't match!\n"
-#~ msgstr "lppasswd: すみませんが、パスワードがマッチしません!\n"
-
-#~ msgid ""
-#~ "lppasswd: Sorry, password rejected.\n"
-#~ "Your password must be at least 6 characters long, cannot contain\n"
-#~ "your username, and must contain at least one letter and number.\n"
-#~ msgstr ""
-#~ "lppasswd: すみませんが、パスワードは拒否されました。\n"
-#~ "パスワードは少なくとも 6 文字以上で、あなたのユーザー名を含んではなら"
-#~ "ず、\n"
-#~ "少なくとも 1 つの英字および数値を含んでなければなりません。\n"
-
-#~ msgid "lppasswd: Sorry, passwords don't match!\n"
-#~ msgstr "lppasswd: すみませんが、パスワードがマッチしません!\n"
-
-#~ msgid "lppasswd: Unable to copy password string: %s\n"
-#~ msgstr "lppasswd: パスワード文字列をコピーできません: %s\n"
-
-#~ msgid "lppasswd: Unable to open password file: %s\n"
-#~ msgstr "lppasswd: パスワードファイルを開けません: %s\n"
-
-#~ msgid "lppasswd: Unable to write to password file: %s\n"
-#~ msgstr "lppasswd: パスワードファイルに書き込めません: %s\n"
-
-#~ msgid "lppasswd: failed to backup old password file: %s\n"
-#~ msgstr "lppasswd: 古いパスワードファイルのバックアップに失敗しました: %s\n"
-
-#~ msgid "lppasswd: failed to rename password file: %s\n"
-#~ msgstr "lppasswd: パスワードファイルの名前の変更に失敗しました: %s\n"
-
-#~ msgid "lppasswd: user \"%s\" and group \"%s\" do not exist.\n"
-#~ msgstr "lppasswd: ユーザー \"%s\" およびグループ \"%s\" は存在しません。\n"
-
-#~ msgid ""
-#~ "lpstat: error - %s environment variable names non-existent destination \"%"
-#~ "s\"!\n"
-#~ msgstr ""
-#~ "lpstat: エラー - 環境変数 %s が、存在しない宛先 \"%s\" を指しています!\n"
-
-#~ msgid "members of class %s:\n"
-#~ msgstr "クラス %s のメンバー:\n"
-
-#~ msgid "no entries\n"
-#~ msgstr "エントリーがありません\n"
-
-#~ msgid "no system default destination\n"
-#~ msgstr "システムのデフォルトの宛先がありません\n"
-
-#~ msgid "notify-events not specified!"
-#~ msgstr "notify-events が指定されていません!"
-
-#~ msgid "notify-recipient-uri URI \"%s\" is already used!"
-#~ msgstr "notify-recipient-uri URI \"%s\" はすでに使われています!"
-
-#~ msgid "notify-recipient-uri URI \"%s\" uses unknown scheme!"
-#~ msgstr "notify-recipient-uri URI \"%s\" には未知のスキームが使われています!"
-
-#~ msgid "notify-subscription-id %d no good!"
-#~ msgstr "notify-subscription-id %d は良くありません!"
-
-#~ msgid "ppdc: Adding include directory \"%s\"...\n"
-#~ msgstr "ppdc: ディレクトリー \"%s\" を追加しています...\n"
-
-#~ msgid "ppdc: Adding/updating UI text from %s...\n"
-#~ msgstr "ppdc: %s から UI テキストを追加または更新しています...\n"
-
-#~ msgid "ppdc: Bad boolean value (%s) on line %d of %s.\n"
-#~ msgstr ""
-#~ "ppdc:  不正な boolean 値 (%s) があります。%d 行目、ファイル名 %s。\n"
-
-#~ msgid "ppdc: Bad resolution name \"%s\" on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: 不正な resolution 名 \"%s\" があります。%d 行目、ファイル名 %s !\n"
-
-#~ msgid "ppdc: Bad status keyword %s on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: 不正な status キーワード %s があります。%d 行目、ファイル名 %s !\n"
-
-#~ msgid "ppdc: Bad variable substitution ($%c) on line %d of %s.\n"
-#~ msgstr "ppdc: 不正な数値置換 ($%c) があります。%d 行目、ファイル名 %s。\n"
-
-#~ msgid "ppdc: Choice found on line %d of %s with no Option!\n"
-#~ msgstr ""
-#~ "ppdc: %d 行目、ファイル名 %s で、Option がないのに Choice が見つかりまし"
-#~ "た!\n"
-
-#~ msgid "ppdc: Duplicate #po for locale %s on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: locale %s に対して #po が2重に定義されています。%d 行目、ファイル名 "
-#~ "%s !\n"
-
-#~ msgid "ppdc: Expected a filter definition on line %d of %s!\n"
-#~ msgstr "ppdc: %d 行目、ファイル名 %s においてフィルター定義が必要です!\n"
-
-#~ msgid "ppdc: Expected a program name on line %d of %s!\n"
-#~ msgstr "ppdc: %d 行目、ファイル名 %s においてプログラム名が必要です!\n"
-
-#~ msgid "ppdc: Expected boolean value on line %d of %s.\n"
-#~ msgstr "ppdc: %d 行目、ファイル名 %s において boolean 値が必要です。\n"
-
-#~ msgid "ppdc: Expected charset after Font on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: %d 行目、ファイル名 %s において Font の後に charset が必要です!\n"
-
-#~ msgid "ppdc: Expected choice code on line %d of %s.\n"
-#~ msgstr "ppdc: %d 行目、ファイル名 %s において choice code が必要です。\n"
-
-#~ msgid "ppdc: Expected choice name/text on line %d of %s.\n"
-#~ msgstr ""
-#~ "ppdc: %d 行目、ファイル名 %s において choice name/text が必要です。\n"
-
-#~ msgid "ppdc: Expected color order for ColorModel on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: %d 行目、ファイル名 %s において ColorModel に対する color order が必"
-#~ "要です!\n"
-
-#~ msgid "ppdc: Expected colorspace for ColorModel on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: %d 行目、ファイル名 %s において ColorModel に対する colorspace が必"
-#~ "要です!\n"
-
-#~ msgid "ppdc: Expected compression for ColorModel on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: %d 行目、ファイル名 %s において ColorModel に対する compression が必"
-#~ "要です!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected constraints string for UIConstraints on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: %d 行目、ファイル名 %s において UIConstraints に対する constraint が"
-#~ "必要です!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected driver type keyword following DriverType on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc: %d 行目、ファイル名 %s において DriverType の後に driver type "
-#~ "keyword が必要です!\n"
-
-#~ msgid "ppdc: Expected duplex type after Duplex on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: %d 行目、ファイル名 %s において Duplex の後に type が必要です!\n"
-
-#~ msgid "ppdc: Expected encoding after Font on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: %d 行目、ファイル名 %s において Font の後に encoding が必要です!\n"
-
-#~ msgid "ppdc: Expected filename after #po %s on line %d of %s!\n"
-#~ msgstr "ppdc: #po %s の後にファイル名が必要です! (%d 行目, ファイル %s)\n"
-
-#~ msgid "ppdc: Expected group name/text on line %d of %s!\n"
-#~ msgstr "ppdc: %d 行目、ファイル名 %s において group name/text が必要です!\n"
-
-#~ msgid "ppdc: Expected include filename on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: %d 行目、ファイル名 %s において include ファイル名が必要です!\n"
-
-#~ msgid "ppdc: Expected integer on line %d of %s!\n"
-#~ msgstr "ppdc: %d 行目、ファイル名 %s において整数指定が必要です!\n"
-
-#~ msgid "ppdc: Expected locale after #po on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: %d 行目、ファイル名 %s において #po の後に locale が必要です!\n"
-
-#~ msgid "ppdc: Expected name after %s on line %d of %s!\n"
-#~ msgstr "ppdc: %s の後に name が必要です。%d 行目、ファイル名 %s!\n"
-
-#~ msgid "ppdc: Expected name after FileName on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: %d 行目、ファイル名 %s において FileName の後に name が必要です!\n"
-
-#~ msgid "ppdc: Expected name after Font on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: %d 行目、ファイル名 %s において Font の後に name が必要です!\n"
-
-#~ msgid "ppdc: Expected name after Manufacturer on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: %d 行目、ファイル名 %s において Manufacturer の後に name が必要で"
-#~ "す!\n"
-
-#~ msgid "ppdc: Expected name after MediaSize on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: %d 行目、ファイル名 %s において MediaSize の後に name が必要です!\n"
-
-#~ msgid "ppdc: Expected name after ModelName on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: %d 行目、ファイル名 %s において ModelName の後に name が必要です!\n"
-
-#~ msgid "ppdc: Expected name after PCFileName on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: %d 行目、ファイル名 %s において PCFileName の後に name が必要です!\n"
-
-#~ msgid "ppdc: Expected name/text after %s on line %d of %s!\n"
-#~ msgstr "ppdc: %s の後に name/text が必要です。%d 行目、ファイル名 %s!\n"
-
-#~ msgid "ppdc: Expected name/text after Installable on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: %d 行目、ファイル名 %s において Installable の後に name/text が必要"
-#~ "です!\n"
-
-#~ msgid "ppdc: Expected name/text after Resolution on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: %d 行目、ファイル名 %s において Resolution の後に name/text が必要で"
-#~ "す!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected name/text combination for ColorModel on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: %d 行目、ファイル名 %s において ColorModel に対する name/text が必要"
-#~ "です!\n"
-
-#~ msgid "ppdc: Expected option name/text on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: %d 行目、ファイル名 %s において option name/text が必要です!\n"
-
-#~ msgid "ppdc: Expected option section on line %d of %s!\n"
-#~ msgstr "ppdc: %d 行目、ファイル名 %s において option section が必要です!\n"
-
-#~ msgid "ppdc: Expected option type on line %d of %s!\n"
-#~ msgstr "ppdc: %d 行目、ファイル名 %s において option type が必要です!\n"
-
-#~ msgid "ppdc: Expected override field after Resolution on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: %d 行目、ファイル名 %s において Resolution の後に override field が"
-#~ "必要です!\n"
-
-#~ msgid "ppdc: Expected real number on line %d of %s!\n"
-#~ msgstr "ppdc: %d 行目、ファイル名 %s において実数が必要です!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected resolution/mediatype following ColorProfile on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc: %d 行目、ファイル名 %s において ColorProfile に続いて resolution/"
-#~ "mediatype が必要です!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected resolution/mediatype following SimpleColorProfile on line %"
-#~ "d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: %d 行目、ファイル名 %s において SimpleColorProfile に続いて "
-#~ "resolution/mediatype が必要です!\n"
-
-#~ msgid "ppdc: Expected selector after %s on line %d of %s!\n"
-#~ msgstr "ppdc: %s の後に selector が必要です。%d 行目、ファイル名 %s!\n"
-
-#~ msgid "ppdc: Expected status after Font on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: %d 行目、ファイル名 %s において Font の後に status が必要です!\n"
-
-#~ msgid "ppdc: Expected string after Copyright on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: %d 行目、ファイル名 %s において Copyright の後に文字列が必要です!\n"
-
-#~ msgid "ppdc: Expected string after Version on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: %d 行目、ファイル名 %s において Version の後に文字列が必要です!\n"
-
-#~ msgid "ppdc: Expected two option names on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: %d 行目、ファイル名 %s において 2 つのオプション名が必要です!\n"
-
-#~ msgid "ppdc: Expected value after %s on line %d of %s!\n"
-#~ msgstr "ppdc: %s の後に value が必要です。%d 行目、ファイル名 %s!\n"
-
-#~ msgid "ppdc: Expected version after Font on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: %d 行目、ファイル名 %s において Font の後に version が必要です!\n"
-
-#~ msgid "ppdc: Invalid #include/#po filename \"%s\"!\n"
-#~ msgstr "ppdc: 無効な #include/#po ファイル名です \"%s\"!\n"
-
-#~ msgid "ppdc: Invalid cost for filter on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: %d 行目、ファイル名 %s においてフィルターに対する無効な cost があり"
-#~ "ます!\n"
-
-#~ msgid "ppdc: Invalid empty MIME type for filter on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: %d 行目、ファイル名 %s においてフィルターに対する無効な空の MIME "
-#~ "type があります!\n"
-
-#~ msgid "ppdc: Invalid empty program name for filter on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: %d 行目、ファイル名 %s においてフィルターに対する無効な空の program "
-#~ "name があります!\n"
-
-#~ msgid "ppdc: Invalid option section \"%s\" on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: 無効な option section があります \"%s\"。%d 行目、ファイル名 %s!\n"
-
-#~ msgid "ppdc: Invalid option type \"%s\" on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: 無効な option type があります \"%s\"。%d 行目、ファイル名 %s!\n"
-
-#~ msgid "ppdc: Loading driver information file \"%s\"...\n"
-#~ msgstr "ppdc: ドライバー情報ファイル \"%s\" を読み込んでいます...\n"
-
-#~ msgid "ppdc: Loading messages for locale \"%s\"...\n"
-#~ msgstr "ppdc: ロケール \"%s\" のメッセージを読み込んでいます...\n"
-
-#~ msgid "ppdc: Loading messages from \"%s\"...\n"
-#~ msgstr "ppdc: \"%s\" からメッセージを読み込んでいます...\n"
-
-#~ msgid "ppdc: Missing #endif at end of \"%s\"!\n"
-#~ msgstr "ppdc:  \"%s\" の最後に #endif が見つかりません!\n"
-
-#~ msgid "ppdc: Missing #if on line %d of %s!\n"
-#~ msgstr "ppdc: %d 行目、ファイル名 %s において #if が見つかりません!\n"
-
-#~ msgid "ppdc: No message catalog provided for locale %s!\n"
-#~ msgstr "ppdc: ロケール %s に対するメッセージカタログが見つかりません!\n"
-
-#~ msgid "ppdc: Option %s defined in two different groups on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: オプション %s が行 %d、ファイル %s の 2 つの異なるグループで定義され"
-#~ "ています!\n"
-
-#~ msgid "ppdc: Option %s redefined with a different type on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: オプション %s は異なる型で再定義されています。%d 行目、ファイル名 %"
-#~ "s!\n"
-
-#~ msgid "ppdc: Option constraint must *name on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: %d 行目、ファイル名 %s において Option constraint は *name で指定し"
-#~ "ます!\n"
-
-#~ msgid "ppdc: Too many nested #if's on line %d of %s!\n"
-#~ msgstr "ppdc: %d 行目、ファイル名 %s において #if のネストが多すぎます!\n"
-
-#~ msgid "ppdc: Unable to create PPD file \"%s\" - %s.\n"
-#~ msgstr "ppdc: PPD ファイル \"%s\" を作成できません - %s。\n"
-
-#~ msgid "ppdc: Unable to create output directory %s: %s\n"
-#~ msgstr "ppdc: ディレクトリー \"%s\" を作成できません - %s\n"
-
-#~ msgid "ppdc: Unable to create output pipes: %s\n"
-#~ msgstr "ppdc: 出力 pipe が作成できません: %s\n"
-
-#~ msgid "ppdc: Unable to execute cupstestppd: %s\n"
-#~ msgstr "ppdc: cupstestppd を実行できません: %s\n"
-
-#~ msgid "ppdc: Unable to find #po file %s on line %d of %s!\n"
-#~ msgstr "ppdc: #po ファイル %s が見つかりません。%d 行目、ファイル名 %s!\n"
-
-#~ msgid "ppdc: Unable to find include file \"%s\" on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: インクルードファイル %s が見つかりません。%d 行目、ファイル名 %s!\n"
-
-#~ msgid "ppdc: Unable to find localization for \"%s\" - %s\n"
-#~ msgstr "ppdc:  \"%s\" に対する地域化情報が見つかりません - %s \n"
-
-#~ msgid "ppdc: Unable to load localization file \"%s\" - %s\n"
-#~ msgstr "ppdc:  \"%s\" に対する地域化情報を読み込めません - %s \n"
-
-#~ msgid "ppdc: Undefined variable (%s) on line %d of %s.\n"
-#~ msgstr "ppdc: 変数 (%s) は未定義です。%d 行目、ファイル名 %s。\n"
-
-#~ msgid "ppdc: Unknown driver type %s on line %d of %s!\n"
-#~ msgstr "ppdc: %s は未知のドライバータイプです。%d 行目、ファイル名 %s。\n"
-
-#~ msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: \"%s\" は未知の両面タイプです。%d 行目、ファイル名 %s!\n"
-
-#~ msgid "ppdc: Unknown media size \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: \"%s\" は未知の用紙サイズです。%d 行目、ファイル名 %s!\n"
-
-#~ msgid "ppdc: Unknown token \"%s\" seen on line %d of %s!\n"
-#~ msgstr "ppdc: 未知の token \"%s\" があります。%d 行目、ファイル名 %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Unknown trailing characters in real number \"%s\" on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc: 実数に未知の終了文字 \"%s\" があります。%d 行目、ファイル名 %s!\n"
-
-#~ msgid "ppdc: Unterminated string starting with %c on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: %c で始まる文字に対して終端文字がありません。%d 行目、ファイル名 %"
-#~ "s!\n"
-
-#~ msgid "ppdc: Writing %s...\n"
-#~ msgstr "ppdc: %s を書き込んでいます...\n"
-
-#~ msgid "ppdc: Writing PPD files to directory \"%s\"...\n"
-#~ msgstr "ppdc: ディレクトリー \"%s\" に PPD ファイルを書き込んでいます...\n"
-
-#~ msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s!\n"
-#~ msgstr "ppdmerge: 不正な LanguageVersion \"%s\" が %s にあります!\n"
-
-#~ msgid "ppdmerge: Ignoring PPD file %s...\n"
-#~ msgstr "ppdmerge: PPD ファイル %s を無視します...\n"
-
-#~ msgid "ppdmerge: Unable to backup %s to %s- %s\n"
-#~ msgstr "ppdmerge: %s を %s にバックアップできません - %s\n"
-
-#~ msgid "printer %s disabled since %s -\n"
-#~ msgstr "プリンター %s は %s から無効です -\n"
-
-#~ msgid "printer %s is idle.  enabled since %s\n"
-#~ msgstr "プリンター %s は待機中です。%s 以来有効です\n"
-
-#~ msgid "printer %s now printing %s-%d.  enabled since %s\n"
-#~ msgstr "プリンター %s は %s-%d を印刷しています。%s 以来有効です\n"
-
-#~ msgid "printer %s/%s disabled since %s -\n"
-#~ msgstr "プリンター %s/%s は %s から無効です -\n"
-
-#~ msgid "printer %s/%s is idle.  enabled since %s\n"
-#~ msgstr "プリンター %s/%s は待機中です。%s 以来有効です\n"
-
-#~ msgid "printer %s/%s now printing %s-%d.  enabled since %s\n"
-#~ msgstr "プリンター %s/%s は現在 %s-%d を印刷中です。%s 以来有効です\n"
-
-#~ msgid "request id is %s-%d (%d file(s))\n"
-#~ msgstr "リクエスト ID は %s-%d です (%d 個のファイル)\n"
-
-#~ msgid "scheduler is not running\n"
-#~ msgstr "スケジューラーは動作していません\n"
-
-#~ msgid "scheduler is running\n"
-#~ msgstr "スケジューラーは動作中です\n"
-
-#~ msgid "status\t\tshow status of daemon and queue\n"
-#~ msgstr "status\t\tデーモンとキューの状態を表示\n"
-
-#~ msgid "system default destination: %s\n"
-#~ msgstr "システムのデフォルトの宛先: %s\n"
-
-#~ msgid "system default destination: %s/%s\n"
-#~ msgstr "システムのデフォルトの宛先: %s/%s\n"
diff --git a/locale/cups_ko.po b/locale/cups_ko.po
deleted file mode 100644 (file)
index 7a2d158..0000000
+++ /dev/null
@@ -1,8650 +0,0 @@
-msgid ""
-msgstr ""
-"Project-Id-Version: CUPS 1.4\n"
-"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2012-03-07 13:38-0800\n"
-"PO-Revision-Date: 2009-02-16 12:00-0800\n"
-"Last-Translator: Apple Inc.\n"
-"Language-Team: Apple Inc.\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: \n"
-
-msgid "\t\t(all)"
-msgstr ""
-
-msgid "\t\t(none)"
-msgstr ""
-
-#, c-format
-msgid "\t%d entries"
-msgstr ""
-
-#, c-format
-msgid "\t%s"
-msgstr ""
-
-msgid "\tAfter fault: continue"
-msgstr ""
-
-#, c-format
-msgid "\tAlerts: %s"
-msgstr ""
-
-msgid "\tBanner required"
-msgstr ""
-
-msgid "\tCharset sets:"
-msgstr ""
-
-msgid "\tConnection: direct"
-msgstr ""
-
-msgid "\tConnection: remote"
-msgstr ""
-
-msgid "\tContent types: any"
-msgstr ""
-
-msgid "\tDefault page size:"
-msgstr ""
-
-msgid "\tDefault pitch:"
-msgstr ""
-
-msgid "\tDefault port settings:"
-msgstr ""
-
-#, c-format
-msgid "\tDescription: %s"
-msgstr ""
-
-msgid "\tForm mounted:"
-msgstr ""
-
-msgid "\tForms allowed:"
-msgstr ""
-
-#, c-format
-msgid "\tInterface: %s.ppd"
-msgstr ""
-
-#, c-format
-msgid "\tInterface: %s/interfaces/%s"
-msgstr ""
-
-#, c-format
-msgid "\tInterface: %s/ppd/%s.ppd"
-msgstr ""
-
-#, c-format
-msgid "\tLocation: %s"
-msgstr ""
-
-msgid "\tOn fault: no alert"
-msgstr ""
-
-msgid "\tPrinter types: unknown"
-msgstr ""
-
-#, c-format
-msgid "\tStatus: %s"
-msgstr ""
-
-msgid "\tUsers allowed:"
-msgstr ""
-
-msgid "\tUsers denied:"
-msgstr ""
-
-msgid "\tdaemon present"
-msgstr ""
-
-msgid "\tno entries"
-msgstr ""
-
-#, c-format
-msgid "\tprinter is on device '%s' speed -1"
-msgstr ""
-
-msgid "\tprinting is disabled"
-msgstr ""
-
-msgid "\tprinting is enabled"
-msgstr ""
-
-#, c-format
-msgid "\tqueued for %s"
-msgstr ""
-
-msgid "\tqueuing is disabled"
-msgstr ""
-
-msgid "\tqueuing is enabled"
-msgstr ""
-
-msgid "\treason unknown"
-msgstr ""
-
-msgid ""
-"\n"
-"    DETAILED CONFORMANCE TEST RESULTS"
-msgstr ""
-
-msgid "                          Ignore specific warnings."
-msgstr ""
-
-msgid "                          Issue warnings instead of errors."
-msgstr ""
-
-msgid "                REF: Page 15, section 3.1."
-msgstr ""
-
-msgid "                REF: Page 15, section 3.2."
-msgstr ""
-
-msgid "                REF: Page 19, section 3.3."
-msgstr ""
-
-msgid "                REF: Page 20, section 3.4."
-msgstr ""
-
-msgid "                REF: Page 27, section 3.5."
-msgstr ""
-
-msgid "                REF: Page 42, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 16-17, section 3.2."
-msgstr ""
-
-msgid "                REF: Pages 42-45, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 45-46, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 48-49, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 52-54, section 5.2."
-msgstr ""
-
-#, c-format
-msgid "        %-39.39s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "        PASS    Default%s"
-msgstr ""
-
-msgid "        PASS    DefaultImageableArea"
-msgstr ""
-
-msgid "        PASS    DefaultPaperDimension"
-msgstr ""
-
-msgid "        PASS    FileVersion"
-msgstr ""
-
-msgid "        PASS    FormatVersion"
-msgstr ""
-
-msgid "        PASS    LanguageEncoding"
-msgstr ""
-
-msgid "        PASS    LanguageVersion"
-msgstr ""
-
-msgid "        PASS    Manufacturer"
-msgstr ""
-
-msgid "        PASS    ModelName"
-msgstr ""
-
-msgid "        PASS    NickName"
-msgstr ""
-
-msgid "        PASS    PCFileName"
-msgstr ""
-
-msgid "        PASS    PSVersion"
-msgstr ""
-
-msgid "        PASS    PageRegion"
-msgstr ""
-
-msgid "        PASS    PageSize"
-msgstr ""
-
-msgid "        PASS    Product"
-msgstr ""
-
-msgid "        PASS    ShortNickName"
-msgstr ""
-
-#, c-format
-msgid "        WARN    %s has no corresponding options."
-msgstr ""
-
-#, c-format
-msgid ""
-"        WARN    %s shares a common prefix with %s\n"
-"                REF: Page 15, section 3.2."
-msgstr ""
-
-#, c-format
-msgid ""
-"        WARN    Duplex option keyword %s may not work as expected and should "
-"be named Duplex.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-
-msgid "        WARN    File contains a mix of CR, LF, and CR LF line endings."
-msgstr ""
-
-msgid ""
-"        WARN    LanguageEncoding required by PPD 4.3 spec.\n"
-"                REF: Pages 56-57, section 5.3."
-msgstr ""
-
-#, c-format
-msgid "        WARN    Line %d only contains whitespace."
-msgstr ""
-
-msgid ""
-"        WARN    Manufacturer required by PPD 4.3 spec.\n"
-"                REF: Pages 58-59, section 5.3."
-msgstr ""
-
-msgid ""
-"        WARN    Non-Windows PPD files should use lines ending with only LF, "
-"not CR LF."
-msgstr ""
-
-#, c-format
-msgid ""
-"        WARN    Obsolete PPD version %.1f.\n"
-"                REF: Page 42, section 5.2."
-msgstr ""
-
-msgid ""
-"        WARN    PCFileName longer than 8.3 in violation of PPD spec.\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-
-msgid ""
-"        WARN    PCFileName should contain a unique filename.\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-
-msgid ""
-"        WARN    Protocols contains PJL but JCL attributes are not set.\n"
-"                REF: Pages 78-79, section 5.7."
-msgstr ""
-
-msgid ""
-"        WARN    Protocols contains both PJL and BCP; expected TBCP.\n"
-"                REF: Pages 78-79, section 5.7."
-msgstr ""
-
-msgid ""
-"        WARN    ShortNickName required by PPD 4.3 spec.\n"
-"                REF: Pages 64-65, section 5.3."
-msgstr ""
-
-msgid "       cupsaddsmb [options] -a"
-msgstr ""
-
-msgid "       cupstestdsc [options] -"
-msgstr ""
-
-msgid "       program | cupstestppd [options] -"
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  \"%s %s\" conflicts with \"%s %s\"\n"
-"                (constraint=\"%s %s %s %s\")."
-msgstr ""
-
-#, c-format
-msgid "      %s  %s %s does not exist."
-msgstr ""
-
-#, c-format
-msgid "      %s  %s file \"%s\" has the wrong capitalization."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  Bad %s choice %s.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsFilter value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsFilter2 value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsICCProfile %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsPreFilter value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsUIConstraints %s: \"%s\""
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad language \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad permissions on %s file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad spelling of %s - should be %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Cannot provide both APScanAppPath and APScanAppBundleID."
-msgstr ""
-
-#, c-format
-msgid "      %s  Default choices conflicting."
-msgstr ""
-
-#, c-format
-msgid "      %s  Empty cupsUIConstraints %s"
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing \"%s\" translation string for option %s, choice %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing \"%s\" translation string for option %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing %s file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  Missing REQUIRED PageRegion option.\n"
-"                REF: Page 100, section 5.14."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  Missing REQUIRED PageSize option.\n"
-"                REF: Page 99, section 5.14."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\""
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing cupsUIResolver %s"
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing option %s in cupsUIConstraints %s: \"%s\""
-msgstr ""
-
-#, c-format
-msgid "      %s  No base translation \"%s\" is included in file."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  REQUIRED %s does not define choice None.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" defined for %s but not for %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" has unexpected dimensions (%gx%g)."
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" should be \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" should be the Adobe standard name \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  cupsICCProfile %s hash value collides with %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  cupsUIResolver %s causes a loop."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  cupsUIResolver %s does not list at least two different options."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  %s choice names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  %s must be 1284DeviceID\n"
-"                REF: Page 72, section 5.5"
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD Default%s %s\n"
-"                REF: Page 40, section 4.5."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD DefaultImageableArea %s\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD DefaultPaperDimension %s\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD JobPatchFile attribute in file\n"
-"                REF: Page 24, section 3.4."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD Manufacturer (should be \"HP\")\n"
-"                REF: Page 211, table D.1."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD Manufacturer (should be \"Oki\")\n"
-"                REF: Page 211, table D.1."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n"
-"                REF: Pages 59-60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD PSVersion - not \"(string) int\".\n"
-"                REF: Pages 62-64, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD Product - not \"(string)\".\n"
-"                REF: Page 62, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD ShortNickName - longer than 31 chars.\n"
-"                REF: Pages 64-65, section 5.3."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad %s choice %s\n"
-"                REF: Page 84, section 5.9"
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad FileVersion \"%s\"\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad FormatVersion \"%s\"\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Bad LanguageVersion %s - must be English."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Default option code cannot be interpreted: %s"
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Default translation string for option %s choice %s contains "
-"8-bit characters."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Default translation string for option %s contains 8-bit "
-"characters."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Group names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Multiple occurrences of %s choice name %s."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Option names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED Default%s\n"
-"                REF: Page 40, section 4.5."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED DefaultImageableArea\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED DefaultPaperDimension\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED FileVersion\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED FormatVersion\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED ImageableArea for PageSize %s\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED LanguageEncoding\n"
-"                REF: Pages 56-57, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED LanguageVersion\n"
-"                REF: Pages 57-58, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED Manufacturer\n"
-"                REF: Pages 58-59, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED ModelName\n"
-"                REF: Pages 59-60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED NickName\n"
-"                REF: Page 60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PCFileName\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PSVersion\n"
-"                REF: Pages 62-64, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PageRegion\n"
-"                REF: Page 100, section 5.14."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PageSize\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 99, section 5.14."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PageSize\n"
-"                REF: Pages 99-100, section 5.14."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED PaperDimension for PageSize %s\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED Product\n"
-"                REF: Page 62, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED ShortNickName\n"
-"                REF: Page 64-65, section 5.3."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Unable to open PPD file - %s"
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Unable to open PPD file - %s on line %d."
-msgstr ""
-
-#, c-format
-msgid "    %d ERRORS FOUND"
-msgstr ""
-
-msgid "    -h       Show program usage"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Bad %%%%BoundingBox: on line %d.\n"
-"        REF: Page 39, %%%%BoundingBox:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Bad %%%%Page: on line %d.\n"
-"        REF: Page 53, %%%%Page:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Bad %%%%Pages: on line %d.\n"
-"        REF: Page 43, %%%%Pages:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Line %d is longer than 255 characters (%d).\n"
-"        REF: Page 25, Line Length"
-msgstr ""
-
-msgid ""
-"    Missing %!PS-Adobe-3.0 on first line.\n"
-"        REF: Page 17, 3.1 Conforming Documents"
-msgstr ""
-
-#, c-format
-msgid "    Missing %%EndComments comment.        REF: Page 41, %%EndComments"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Missing or bad %%BoundingBox: comment.\n"
-"        REF: Page 39, %%BoundingBox:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Missing or bad %%Page: comments.\n"
-"        REF: Page 53, %%Page:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Missing or bad %%Pages: comment.\n"
-"        REF: Page 43, %%Pages:"
-msgstr ""
-
-msgid "    NO ERRORS FOUND"
-msgstr ""
-
-#, c-format
-msgid "    Saw %d lines that exceeded 255 characters."
-msgstr ""
-
-#, c-format
-msgid "    Too many %%BeginDocument comments."
-msgstr ""
-
-#, c-format
-msgid "    Too many %%EndDocument comments."
-msgstr ""
-
-msgid "    Warning: file contains binary data."
-msgstr ""
-
-#, c-format
-msgid "    Warning: no %%EndComments comment in file."
-msgstr ""
-
-#, c-format
-msgid "    Warning: obsolete DSC version %.1f in file."
-msgstr ""
-
-msgid "  --[no-]debug-logging    Turn debug logging on/off."
-msgstr ""
-
-msgid "  --[no-]remote-admin     Turn remote administration on/off."
-msgstr ""
-
-msgid "  --[no-]remote-any       Allow/prevent access from the Internet."
-msgstr ""
-
-msgid "  --[no-]remote-printers  Show/hide remote printers."
-msgstr ""
-
-msgid "  --[no-]share-printers   Turn printer sharing on/off."
-msgstr ""
-
-msgid "  --[no-]user-cancel-any  Allow/prevent users to cancel any job."
-msgstr ""
-
-msgid "  --cr                    End lines with CR (Mac OS 9)."
-msgstr ""
-
-msgid "  --crlf                  End lines with CR + LF (Windows)."
-msgstr ""
-
-msgid "  --lf                    End lines with LF (UNIX/Linux/Mac OS X)."
-msgstr ""
-
-msgid "  -4                      Connect using IPv4."
-msgstr ""
-
-msgid "  -6                      Connect using IPv6."
-msgstr ""
-
-msgid "  -C                      Send requests using chunking (default)."
-msgstr ""
-
-msgid "  -D                      Remove the input file when finished."
-msgstr ""
-
-msgid "  -D name=value           Set named variable to value."
-msgstr ""
-
-msgid "  -E                      Enable encryption."
-msgstr ""
-
-msgid "  -E                      Encrypt the connection to the server."
-msgstr ""
-
-msgid "  -E                      Test with TLS encryption."
-msgstr ""
-
-msgid ""
-"  -F                      Run in the foreground but detach from console."
-msgstr ""
-
-msgid "  -H samba-server         Use the named SAMBA server."
-msgstr ""
-
-msgid "  -I                      Ignore errors."
-msgstr ""
-
-msgid "  -I include-dir          Add include directory to search path."
-msgstr ""
-
-msgid "  -I {filename,filters,none,profiles}"
-msgstr ""
-
-msgid "  -J title                Set title."
-msgstr ""
-
-msgid "  -L                      Send requests using content-length."
-msgstr ""
-
-msgid "  -P filename.ppd         Set PPD file."
-msgstr ""
-
-msgid "  -R root-directory       Set alternate root."
-msgstr ""
-
-msgid "  -S                      Test with SSL encryption."
-msgstr ""
-
-msgid "  -T                      Set the receive/send timeout in seconds."
-msgstr ""
-
-msgid "  -U samba-user           Authenticate using the named SAMBA user."
-msgstr ""
-
-msgid "  -U username             Set username for job."
-msgstr ""
-
-msgid "  -U username             Specify username."
-msgstr ""
-
-msgid "  -V version              Set default IPP version."
-msgstr ""
-
-msgid ""
-"  -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,"
-"translations}"
-msgstr ""
-
-msgid "  -X                      Produce XML plist instead of plain text."
-msgstr ""
-
-msgid "  -a                      Export all printers."
-msgstr ""
-
-msgid "  -a 'name=value ...'     Set option(s)."
-msgstr ""
-
-msgid "  -c catalog.po           Load the specified message catalog."
-msgstr ""
-
-msgid "  -c config-file          Load alternate configuration file."
-msgstr ""
-
-msgid "  -c copies               Set number of copies."
-msgstr ""
-
-msgid "  -c cupsd.conf           Set cupsd.conf file to use."
-msgstr ""
-
-msgid "  -d name=value           Set named variable to value."
-msgstr ""
-
-msgid "  -d output-dir           Specify the output directory."
-msgstr ""
-
-msgid "  -d printer              Use the named printer."
-msgstr ""
-
-msgid "  -e                      Use every filter from the PPD file."
-msgstr ""
-
-msgid "  -f                      Run in the foreground."
-msgstr ""
-
-msgid "  -f filename             Set default request filename."
-msgstr ""
-
-msgid "  -f filename             Set file to be converted (otherwise stdin)."
-msgstr ""
-
-msgid "  -h                      Show this usage message."
-msgstr ""
-
-msgid "  -h cups-server          Use the named CUPS server."
-msgstr ""
-
-msgid "  -h server[:port]        Specify server address."
-msgstr ""
-
-msgid "  -i mime/type            Set input MIME type (otherwise auto-typed)."
-msgstr ""
-
-msgid ""
-"  -i seconds              Repeat the last file with the given time interval."
-msgstr ""
-
-msgid ""
-"  -j job-id[,N]           Filter file N from the specified job (default is "
-"file 1)."
-msgstr ""
-
-msgid ""
-"  -j mime/type            Set output MIME type (otherwise application/pdf)."
-msgstr ""
-
-msgid "  -l                      Run cupsd from launchd(8)."
-msgstr ""
-
-msgid "  -l lang[,lang,...]      Specify the output language(s) (locale)."
-msgstr ""
-
-msgid "  -m                      Use the ModelName value as the filename."
-msgstr ""
-
-msgid ""
-"  -m mime/type            Set output MIME type (otherwise application/pdf)."
-msgstr ""
-
-msgid "  -n copies               Set number of copies."
-msgstr ""
-
-msgid ""
-"  -n count                Repeat the last file the given number of times."
-msgstr ""
-
-msgid "  -o filename             Set file to be generated (otherwise stdout)."
-msgstr ""
-
-msgid ""
-"  -o filename.drv         Set driver information file (otherwise ppdi.drv)."
-msgstr ""
-
-msgid "  -o filename.ppd[.gz]    Set output file (otherwise stdout)."
-msgstr ""
-
-msgid "  -o name=value           Set option(s)."
-msgstr ""
-
-msgid "  -p filename.ppd         Set PPD file."
-msgstr ""
-
-msgid "  -q                      Be quiet - no output except errors."
-msgstr ""
-
-msgid "  -q                      Run silently."
-msgstr ""
-
-msgid "  -r                      Use 'relaxed' open mode."
-msgstr ""
-
-msgid "  -t                      Produce a test report."
-msgstr ""
-
-msgid "  -t                      Test PPDs instead of generating them."
-msgstr ""
-
-msgid "  -t                      Test the configuration file."
-msgstr ""
-
-msgid "  -t title                Set title."
-msgstr ""
-
-msgid "  -u                      Remove the PPD file when finished."
-msgstr ""
-
-msgid "  -v                      Be slightly verbose."
-msgstr ""
-
-msgid "  -v                      Be verbose (more v's for more verbosity)."
-msgstr ""
-
-msgid "  -v                      Be verbose (show commands)."
-msgstr ""
-
-msgid "  -v                      Show all attributes sent and received."
-msgstr ""
-
-msgid "  -vv                     Be very verbose."
-msgstr ""
-
-msgid "  -z                      Compress PPD files using GNU zip."
-msgstr ""
-
-msgid " FAIL"
-msgstr ""
-
-msgid " PASS"
-msgstr ""
-
-#, c-format
-msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "%.0f x %.0f millimeters"
-msgstr "%.0f x %.0fmm"
-
-#, c-format
-msgid "%.0f x %.0f to %.0f x %.0f millimeters"
-msgstr "%.0f x %.0f~%.0f x %.0fmm"
-
-#, c-format
-msgid "%.2f x %.2f inches"
-msgstr "%.2f x %.2f인치"
-
-#, c-format
-msgid "%.2f x %.2f to %.2f x %.2f inches"
-msgstr "%.2f x %.2f~%.2f x %.2f인치"
-
-#, c-format
-msgid "%s accepting requests since %s"
-msgstr ""
-
-#, c-format
-msgid "%s cannot be changed."
-msgstr "%s을(를) 변경할 수 없습니다."
-
-#, c-format
-msgid "%s is not implemented by the CUPS version of lpc."
-msgstr ""
-
-#, c-format
-msgid "%s is not ready"
-msgstr ""
-
-#, c-format
-msgid "%s is ready"
-msgstr ""
-
-#, c-format
-msgid "%s is ready and printing"
-msgstr ""
-
-#, c-format
-msgid "%s job-id user title copies options [file]"
-msgstr ""
-
-#, c-format
-msgid "%s not accepting requests since %s -"
-msgstr ""
-
-#, c-format
-msgid "%s not supported."
-msgstr ""
-
-#, c-format
-msgid "%s/%s accepting requests since %s"
-msgstr ""
-
-#, c-format
-msgid "%s/%s not accepting requests since %s -"
-msgstr ""
-
-#, c-format
-msgid "%s: %-33.33s [job %d localhost]"
-msgstr ""
-
-#. TRANSLATORS: Message is "subject: error"
-#, c-format
-msgid "%s: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: %s failed: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Don't know what to do."
-msgstr ""
-
-#, c-format
-msgid ""
-"%s: Error - %s environment variable names non-existent destination \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - bad job ID."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - cannot print files and alter jobs simultaneously."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - cannot print from stdin if files or a job ID are provided."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected character set after \"-S\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected content type after \"-T\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected copies after \"-#\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected copies after \"-n\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected destination after \"-P\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected destination after \"-b\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected destination after \"-d\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected form after \"-f\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected hold name after \"-H\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected hostname after \"-H\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected hostname after \"-h\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected mode list after \"-y\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected name after \"-%c\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected option=value after \"-o\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected page list after \"-P\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected priority after \"-%c\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected reason text after \"-r\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected title after \"-t\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected username after \"-U\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected username after \"-u\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected value after \"-%c\" option."
-msgstr ""
-
-#, c-format
-msgid ""
-"%s: Error - need \"completed\", \"not-completed\", or \"all\" after \"-W\" "
-"option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - no default destination available."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - priority must be between 1 and 100."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - scheduler not responding."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - too many files - \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unable to access \"%s\" - %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unable to queue from stdin - %s."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown destination \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown destination \"%s/%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown option \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Expected job ID after \"-i\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Invalid destination name in list \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Invalid filter string \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Need job ID (\"-i jobid\") before \"-H restart\"."
-msgstr ""
-
-#, c-format
-msgid "%s: No filter to convert from %s/%s to %s/%s."
-msgstr ""
-
-#, c-format
-msgid "%s: Operation failed: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Sorry, no encryption support."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to connect to server."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to contact server."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to determine MIME type of \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to open %s: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to open PPD file: %s on line %d."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown destination \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown destination MIME type %s/%s."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown option \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown source MIME type %s/%s."
-msgstr ""
-
-#, c-format
-msgid ""
-"%s: Warning - \"%c\" format modifier not supported - output may not be "
-"correct."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - character set option ignored."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - content type option ignored."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - form option ignored."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - mode option ignored."
-msgstr ""
-
-msgid "-1"
-msgstr "-1"
-
-msgid "-10"
-msgstr "-10"
-
-msgid "-100"
-msgstr "-100"
-
-msgid "-105"
-msgstr "-105"
-
-msgid "-11"
-msgstr "-11"
-
-msgid "-110"
-msgstr "-110"
-
-msgid "-115"
-msgstr "-115"
-
-msgid "-12"
-msgstr "-12"
-
-msgid "-120"
-msgstr "-120"
-
-msgid "-13"
-msgstr "-13"
-
-msgid "-14"
-msgstr "-14"
-
-msgid "-15"
-msgstr "-15"
-
-msgid "-2"
-msgstr "-2"
-
-msgid "-20"
-msgstr "-20"
-
-msgid "-25"
-msgstr "-25"
-
-msgid "-3"
-msgstr "-3"
-
-msgid "-30"
-msgstr "-30"
-
-msgid "-35"
-msgstr "-35"
-
-msgid "-4"
-msgstr "-4"
-
-msgid "-40"
-msgstr "-40"
-
-msgid "-45"
-msgstr "-45"
-
-msgid "-5"
-msgstr "-5"
-
-msgid "-50"
-msgstr "-50"
-
-msgid "-55"
-msgstr "-55"
-
-msgid "-6"
-msgstr "-6"
-
-msgid "-60"
-msgstr "-60"
-
-msgid "-65"
-msgstr "-65"
-
-msgid "-7"
-msgstr "-7"
-
-msgid "-70"
-msgstr "-70"
-
-msgid "-75"
-msgstr "-75"
-
-msgid "-8"
-msgstr "-8"
-
-msgid "-80"
-msgstr "-80"
-
-msgid "-85"
-msgstr "-85"
-
-msgid "-9"
-msgstr "-9"
-
-msgid "-90"
-msgstr "-90"
-
-msgid "-95"
-msgstr "-95"
-
-msgid "0"
-msgstr "0"
-
-msgid "1"
-msgstr "1"
-
-msgid "1 inch/sec."
-msgstr "1인치/초"
-
-msgid "1.25x0.25\""
-msgstr "1.25x0.25\""
-
-msgid "1.25x2.25\""
-msgstr "1.25x2.25\""
-
-msgid "1.5 inch/sec."
-msgstr "1.5인치/초"
-
-msgid "1.50x0.25\""
-msgstr "1.50x0.25\""
-
-msgid "1.50x0.50\""
-msgstr "1.50x0.50\""
-
-msgid "1.50x1.00\""
-msgstr "1.50x1.00\""
-
-msgid "1.50x2.00\""
-msgstr "1.50x2.00\""
-
-msgid "10"
-msgstr "10"
-
-msgid "10 inches/sec."
-msgstr "10인치/초"
-
-msgid "10 x 11"
-msgstr ""
-
-msgid "10 x 13"
-msgstr ""
-
-msgid "10 x 14"
-msgstr ""
-
-msgid "100"
-msgstr "100"
-
-msgid "100 mm/sec."
-msgstr "100mm/초"
-
-msgid "105"
-msgstr "105"
-
-msgid "11"
-msgstr "11"
-
-msgid "11 inches/sec."
-msgstr "11인치/초"
-
-msgid "110"
-msgstr "110"
-
-msgid "115"
-msgstr "115"
-
-msgid "12"
-msgstr "12"
-
-msgid "12 inches/sec."
-msgstr "12인치/초"
-
-msgid "12 x 11"
-msgstr ""
-
-msgid "120"
-msgstr "120"
-
-msgid "120 mm/sec."
-msgstr "120mm/초"
-
-msgid "120x60dpi"
-msgstr "120x60dpi"
-
-msgid "120x72dpi"
-msgstr "120x72dpi"
-
-msgid "13"
-msgstr "13"
-
-msgid "136dpi"
-msgstr "136dpi"
-
-msgid "14"
-msgstr "14"
-
-msgid "15"
-msgstr "15"
-
-msgid "15 mm/sec."
-msgstr "15mm/초"
-
-msgid "15 x 11"
-msgstr ""
-
-msgid "150 mm/sec."
-msgstr "150mm/초"
-
-msgid "150dpi"
-msgstr "150dpi"
-
-msgid "16"
-msgstr "16"
-
-msgid "17"
-msgstr "17"
-
-msgid "18"
-msgstr "18"
-
-msgid "180dpi"
-msgstr "180dpi"
-
-msgid "19"
-msgstr "19"
-
-msgid "2"
-msgstr "2"
-
-msgid "2 inches/sec."
-msgstr "2인치/초"
-
-msgid "2-Sided Printing"
-msgstr "양면 프린트 중"
-
-msgid "2.00x0.37\""
-msgstr "2.00x0.37\""
-
-msgid "2.00x0.50\""
-msgstr "2.00x0.50\""
-
-msgid "2.00x1.00\""
-msgstr "2.00x1.00\""
-
-msgid "2.00x1.25\""
-msgstr "2.00x1.25\""
-
-msgid "2.00x2.00\""
-msgstr "2.00x2.00\""
-
-msgid "2.00x3.00\""
-msgstr "2.00x3.00\""
-
-msgid "2.00x4.00\""
-msgstr "2.00x4.00\""
-
-msgid "2.00x5.50\""
-msgstr "2.00x5.50\""
-
-msgid "2.25x0.50\""
-msgstr "2.25x0.50\""
-
-msgid "2.25x1.25\""
-msgstr "2.25x1.25\""
-
-msgid "2.25x4.00\""
-msgstr "2.25x4.00\""
-
-msgid "2.25x5.50\""
-msgstr "2.25x5.50\""
-
-msgid "2.38x5.50\""
-msgstr "2.38x5.50\""
-
-msgid "2.5 inches/sec."
-msgstr "2.5인치/초"
-
-msgid "2.50x1.00\""
-msgstr "2.50x1.00\""
-
-msgid "2.50x2.00\""
-msgstr "2.50x2.00\""
-
-msgid "2.75x1.25\""
-msgstr "2.75x1.25\""
-
-msgid "2.9 x 1\""
-msgstr "2.9 x 1\""
-
-msgid "20"
-msgstr "20"
-
-msgid "20 mm/sec."
-msgstr "20mm/초"
-
-msgid "200 mm/sec."
-msgstr "200mm/초"
-
-msgid "203dpi"
-msgstr "203dpi"
-
-msgid "21"
-msgstr "21"
-
-msgid "22"
-msgstr "22"
-
-msgid "23"
-msgstr "23"
-
-msgid "24"
-msgstr "24"
-
-msgid "24-Pin Series"
-msgstr "24핀 시리즈"
-
-msgid "240x72dpi"
-msgstr "240x72dpi"
-
-msgid "25"
-msgstr "25"
-
-msgid "250 mm/sec."
-msgstr "250mm/초"
-
-msgid "26"
-msgstr "26"
-
-msgid "27"
-msgstr "27"
-
-msgid "28"
-msgstr "28"
-
-msgid "29"
-msgstr "29"
-
-msgid "3"
-msgstr "3"
-
-msgid "3 inches/sec."
-msgstr "3인치/초"
-
-msgid "3 x 5"
-msgstr ""
-
-msgid "3.00x1.00\""
-msgstr "3.00x1.00\""
-
-msgid "3.00x1.25\""
-msgstr "3.00x1.25\""
-
-msgid "3.00x2.00\""
-msgstr "3.00x2.00\""
-
-msgid "3.00x3.00\""
-msgstr "3.00x3.00\""
-
-msgid "3.00x5.00\""
-msgstr "3.00x5.00\""
-
-msgid "3.25x2.00\""
-msgstr "3.25x2.00\""
-
-msgid "3.25x5.00\""
-msgstr "3.25x5.00\""
-
-msgid "3.25x5.50\""
-msgstr "3.25x5.50\""
-
-msgid "3.25x5.83\""
-msgstr "3.25x5.83\""
-
-msgid "3.25x7.83\""
-msgstr "3.25x7.83\""
-
-msgid "3.5 x 5"
-msgstr ""
-
-msgid "3.5\" Disk"
-msgstr "3.5\" 디스크"
-
-msgid "3.5\" Disk - 2 1/8 x 2 3/4\""
-msgstr "3.5\" 디스크 - 2 1/8 x 2 3/4\""
-
-msgid "3.50x1.00\""
-msgstr "3.50x1.00\""
-
-msgid "30"
-msgstr "30"
-
-msgid "30 mm/sec."
-msgstr "30mm/초"
-
-msgid "300 mm/sec."
-msgstr "300mm/초"
-
-msgid "300dpi"
-msgstr "300dpi"
-
-msgid "35"
-msgstr "35"
-
-msgid "360dpi"
-msgstr "360dpi"
-
-msgid "360x180dpi"
-msgstr "360x180dpi"
-
-msgid "4"
-msgstr "4"
-
-msgid "4 inches/sec."
-msgstr "4인치/초"
-
-msgid "4.00x1.00\""
-msgstr "4.00x1.00\""
-
-msgid "4.00x13.00\""
-msgstr "4.00x13.00\""
-
-msgid "4.00x2.00\""
-msgstr "4.00x2.00\""
-
-msgid "4.00x2.50\""
-msgstr "4.00x2.50\""
-
-msgid "4.00x3.00\""
-msgstr "4.00x3.00\""
-
-msgid "4.00x4.00\""
-msgstr "4.00x4.00\""
-
-msgid "4.00x5.00\""
-msgstr "4.00x5.00\""
-
-msgid "4.00x6.00\""
-msgstr "4.00x6.00\""
-
-msgid "4.00x6.50\""
-msgstr "4.00x6.50\""
-
-msgid "40"
-msgstr "40"
-
-msgid "40 mm/sec."
-msgstr "40mm/초"
-
-msgid "45"
-msgstr "45"
-
-msgid "5"
-msgstr "5"
-
-msgid "5 inches/sec."
-msgstr "5인치/초"
-
-msgid "5 x 7"
-msgstr ""
-
-msgid "50"
-msgstr "50"
-
-msgid "55"
-msgstr "55"
-
-msgid "6"
-msgstr "6"
-
-msgid "6 inches/sec."
-msgstr "6인치/초"
-
-msgid "6.00x1.00\""
-msgstr "6.00x1.00\""
-
-msgid "6.00x2.00\""
-msgstr "6.00x2.00\""
-
-msgid "6.00x3.00\""
-msgstr "6.00x3.00\""
-
-msgid "6.00x4.00\""
-msgstr "6.00x4.00\""
-
-msgid "6.00x5.00\""
-msgstr "6.00x5.00\""
-
-msgid "6.00x6.00\""
-msgstr "6.00x6.00\""
-
-msgid "6.00x6.50\""
-msgstr "6.00x6.50\""
-
-msgid "60"
-msgstr "60"
-
-msgid "60 mm/sec."
-msgstr "60mm/초"
-
-msgid "600dpi"
-msgstr "600dpi"
-
-msgid "60dpi"
-msgstr "60dpi"
-
-msgid "60x72dpi"
-msgstr ""
-
-msgid "65"
-msgstr "65"
-
-msgid "7"
-msgstr "7"
-
-msgid "7 inches/sec."
-msgstr "7인치/초"
-
-msgid "7 x 9"
-msgstr ""
-
-msgid "70"
-msgstr "70"
-
-msgid "720dpi"
-msgstr "720dpi"
-
-msgid "75"
-msgstr "75"
-
-msgid "8"
-msgstr "8"
-
-msgid "8 inches/sec."
-msgstr "8인치/초"
-
-msgid "8 x 10"
-msgstr ""
-
-msgid "8.00x1.00\""
-msgstr "8.00x1.00\""
-
-msgid "8.00x2.00\""
-msgstr "8.00x2.00\""
-
-msgid "8.00x3.00\""
-msgstr "8.00x3.00\""
-
-msgid "8.00x4.00\""
-msgstr "8.00x4.00\""
-
-msgid "8.00x5.00\""
-msgstr "8.00x5.00\""
-
-msgid "8.00x6.00\""
-msgstr "8.00x6.00\""
-
-msgid "8.00x6.50\""
-msgstr "8.00x6.50\""
-
-msgid "80"
-msgstr "80"
-
-msgid "80 mm/sec."
-msgstr "80mm/초"
-
-msgid "85"
-msgstr "85"
-
-msgid "9"
-msgstr "9"
-
-msgid "9 inches/sec."
-msgstr "9인치/초"
-
-msgid "9 x 11"
-msgstr ""
-
-msgid "9 x 12"
-msgstr ""
-
-msgid "9-Pin Series"
-msgstr "9핀 시리즈"
-
-msgid "90"
-msgstr "90"
-
-msgid "95"
-msgstr "95"
-
-msgid "?Invalid help command unknown."
-msgstr ""
-
-msgid "A Samba password is required to export printer drivers"
-msgstr ""
-
-msgid "A Samba username is required to export printer drivers"
-msgstr ""
-
-#, c-format
-msgid "A class named \"%s\" already exists."
-msgstr ""
-
-#, c-format
-msgid "A printer named \"%s\" already exists."
-msgstr ""
-
-msgid "A0"
-msgstr "A0"
-
-msgid "A0 Long Edge"
-msgstr ""
-
-msgid "A1"
-msgstr "A1"
-
-msgid "A1 Long Edge"
-msgstr ""
-
-msgid "A10"
-msgstr "A10"
-
-msgid "A2"
-msgstr "A2"
-
-msgid "A2 Long Edge"
-msgstr ""
-
-msgid "A3"
-msgstr "A3"
-
-msgid "A3 Long Edge"
-msgstr ""
-
-msgid "A3 Oversize"
-msgstr ""
-
-msgid "A3 Oversize Long Edge"
-msgstr ""
-
-msgid "A4"
-msgstr "A4"
-
-msgid "A4 Long Edge"
-msgstr ""
-
-msgid "A4 Oversize"
-msgstr ""
-
-msgid "A4 Small"
-msgstr ""
-
-msgid "A5"
-msgstr "A5"
-
-msgid "A5 Long Edge"
-msgstr ""
-
-msgid "A5 Oversize"
-msgstr ""
-
-msgid "A6"
-msgstr "A6"
-
-msgid "A6 Long Edge"
-msgstr ""
-
-msgid "A7"
-msgstr "A7"
-
-msgid "A8"
-msgstr "A8"
-
-msgid "A9"
-msgstr "A9"
-
-msgid "ANSI A"
-msgstr "ANSI A"
-
-msgid "ANSI B"
-msgstr "ANSI B"
-
-msgid "ANSI C"
-msgstr "ANSI C"
-
-msgid "ANSI D"
-msgstr "ANSI D"
-
-msgid "ANSI E"
-msgstr "ANSI E"
-
-msgid "ARCH C"
-msgstr "ARCH C"
-
-msgid "ARCH C Long Edge"
-msgstr ""
-
-msgid "ARCH D"
-msgstr "ARCH D"
-
-msgid "ARCH D Long Edge"
-msgstr ""
-
-msgid "ARCH E"
-msgstr "ARCH E"
-
-msgid "ARCH E Long Edge"
-msgstr ""
-
-msgid "Accept Jobs"
-msgstr "작업 허용"
-
-msgid "Accepted"
-msgstr "허용됨"
-
-msgid "Add Class"
-msgstr "클래스 추가"
-
-msgid "Add Printer"
-msgstr "프린터 추가"
-
-msgid "Add RSS Subscription"
-msgstr "RSS 구독 추가"
-
-msgid "Address"
-msgstr "주소"
-
-msgid "Address - 1 1/8 x 3 1/2\""
-msgstr "주소 - 1 1/8 x 3 1/2\""
-
-msgid "Administration"
-msgstr "관리"
-
-msgid "Always"
-msgstr "항상"
-
-msgid "AppSocket/HP JetDirect"
-msgstr "AppSocket/HP JetDirect"
-
-msgid "Applicator"
-msgstr "적용자"
-
-#, c-format
-msgid "Attempt to set %s printer-state to bad value %d."
-msgstr ""
-
-#, c-format
-msgid "Attribute groups are out of order (%x < %x)."
-msgstr ""
-
-msgid "B0"
-msgstr "B0"
-
-msgid "B1"
-msgstr "B1"
-
-msgid "B10"
-msgstr "B10"
-
-msgid "B2"
-msgstr "B2"
-
-msgid "B3"
-msgstr "B3"
-
-msgid "B4"
-msgstr "B4"
-
-msgid "B5"
-msgstr "B5"
-
-msgid "B5 Oversize"
-msgstr ""
-
-msgid "B6"
-msgstr "B6"
-
-msgid "B7"
-msgstr "B7"
-
-msgid "B8"
-msgstr "B8"
-
-msgid "B9"
-msgstr "B9"
-
-msgid "Bad NULL dests pointer"
-msgstr "잘못된 NULL dests 포인터"
-
-msgid "Bad OpenGroup"
-msgstr "잘못된 OpenGroup"
-
-msgid "Bad OpenUI/JCLOpenUI"
-msgstr "잘못된 OpenUI/JCLOpenUI"
-
-msgid "Bad OrderDependency"
-msgstr "잘못된 OrderDependency"
-
-msgid "Bad PPD cache file."
-msgstr ""
-
-msgid "Bad Request"
-msgstr "잘못된 요청"
-
-msgid "Bad SNMP version number"
-msgstr "잘못된 SNMP 버전 번호"
-
-msgid "Bad UIConstraints"
-msgstr "잘못된 UIConstraints"
-
-#, c-format
-msgid "Bad charset file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad charset type: %s"
-msgstr ""
-
-#, c-format
-msgid "Bad columns value %d."
-msgstr ""
-
-#, c-format
-msgid "Bad copies value %d."
-msgstr "잘못된 복사 매수 값 %d."
-
-#, c-format
-msgid "Bad cpi value %f."
-msgstr ""
-
-msgid "Bad custom parameter"
-msgstr "잘못된 사용자 설정 매개변수"
-
-#, c-format
-msgid "Bad device-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad device-uri scheme \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad document-format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad document-format-default \"%s\"."
-msgstr ""
-
-msgid "Bad filename buffer"
-msgstr ""
-
-#, c-format
-msgid "Bad font description line \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad font description line: %s"
-msgstr ""
-
-msgid "Bad job-priority value."
-msgstr ""
-
-#, c-format
-msgid "Bad job-sheets value \"%s\"."
-msgstr ""
-
-msgid "Bad job-sheets value type."
-msgstr ""
-
-msgid "Bad job-state value."
-msgstr ""
-
-#, c-format
-msgid "Bad job-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad lpi value %f."
-msgstr ""
-
-#, c-format
-msgid "Bad notify-pull-method \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad notify-recipient-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad number-up value %d."
-msgstr "잘못된 number-up 값 %d."
-
-#, c-format
-msgid "Bad option + choice on line %d."
-msgstr ""
-
-#, c-format
-msgid "Bad page-ranges values %d-%d."
-msgstr "잘못된 page-ranges 값 %d-%d."
-
-#, c-format
-msgid "Bad port-monitor \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad printer-state value %d."
-msgstr ""
-
-#, c-format
-msgid "Bad request ID %d."
-msgstr ""
-
-#, c-format
-msgid "Bad request version number %d.%d."
-msgstr ""
-
-msgid "Bad subscription ID"
-msgstr ""
-
-#, c-format
-msgid "Bad text direction \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad text direction: %s"
-msgstr ""
-
-#, c-format
-msgid "Bad text width \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad text width: %s"
-msgstr ""
-
-msgid "Bad value string"
-msgstr ""
-
-msgid "Banners"
-msgstr "배너"
-
-msgid "Billing Information: "
-msgstr "지불 정보: "
-
-msgid "Bond Paper"
-msgstr "고급 종이"
-
-#, c-format
-msgid "Boolean expected for waiteof option \"%s\"."
-msgstr ""
-
-msgid "Buffer overflow detected, aborting."
-msgstr ""
-
-msgid "CMYK"
-msgstr "CMYK"
-
-msgid "CPCL Label Printer"
-msgstr "CPCL 레이블 프린터"
-
-msgid "Cancel RSS Subscription"
-msgstr "RSS 구독 취소"
-
-msgid "Canceling print job."
-msgstr ""
-
-msgid "Cannot share a remote Kerberized printer."
-msgstr ""
-
-msgid "Cassette"
-msgstr ""
-
-msgid "Change Settings"
-msgstr "설정값 변경"
-
-#, c-format
-msgid "Character set \"%s\" not supported."
-msgstr ""
-
-msgid "Classes"
-msgstr "클래스"
-
-msgid "Clean Print Heads"
-msgstr "프린트 머리말 지우기"
-
-msgid "Close-Job doesn't support the job-uri attribute."
-msgstr ""
-
-msgid "Color"
-msgstr "색상"
-
-msgid "Color Mode"
-msgstr "색상 모드"
-
-msgid ""
-"Commands may be abbreviated.  Commands are:\n"
-"\n"
-"exit    help    quit    status  ?"
-msgstr ""
-
-msgid "Community name uses indefinite length"
-msgstr "커뮤니티 이름 길이가 무제한입니다"
-
-msgid "Connected to printer."
-msgstr ""
-
-msgid "Connecting to printer."
-msgstr ""
-
-msgid "Continue"
-msgstr "계속"
-
-msgid "Continuous"
-msgstr "계속"
-
-msgid "Control file sent successfully."
-msgstr ""
-
-msgid "Copying print data."
-msgstr ""
-
-msgid "Created"
-msgstr "생성됨"
-
-msgid "Created On: "
-msgstr "다음에 생성됨: "
-
-msgid "Custom"
-msgstr "사용자화"
-
-msgid "CustominCutInterval"
-msgstr "CustominCutInterval"
-
-msgid "CustominTearInterval"
-msgstr "CustominTearInterval"
-
-msgid "Cut"
-msgstr "오려두기"
-
-msgid "Cutter"
-msgstr "자르기 도구"
-
-msgid "Dark"
-msgstr "어둡게"
-
-msgid "Darkness"
-msgstr "어둠"
-
-msgid "Data file sent successfully."
-msgstr ""
-
-msgid "Delete Class"
-msgstr "클래스 삭제"
-
-msgid "Delete Printer"
-msgstr "프린터 삭제"
-
-msgid "Description: "
-msgstr "설명: "
-
-msgid "DeskJet Series"
-msgstr "DeskJet 시리즈"
-
-#, c-format
-msgid "Destination \"%s\" is not accepting jobs."
-msgstr "\"%s\" 대상이 작업을 허용하지 않습니다."
-
-#, c-format
-msgid ""
-"Device: uri = %s\n"
-"        class = %s\n"
-"        info = %s\n"
-"        make-and-model = %s\n"
-"        device-id = %s\n"
-"        location = %s"
-msgstr ""
-
-msgid "Direct Thermal Media"
-msgstr "직접 열 미디어"
-
-#, c-format
-msgid "Directory \"%s\" contains a relative path."
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" is a file."
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" not available: %s"
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-msgid "Disabled"
-msgstr "비활성화됨"
-
-#, c-format
-msgid "Document #%d does not exist in job #%d."
-msgstr ""
-
-msgid "Driver Name: "
-msgstr "드라이버 이름: "
-
-msgid "Driver Version: "
-msgstr "드라이버 버전: "
-
-msgid "Duplexer"
-msgstr "양면 프린터"
-
-msgid "Dymo"
-msgstr "Dymo"
-
-msgid "EPL1 Label Printer"
-msgstr "EPL1 레이블  프린터"
-
-msgid "EPL2 Label Printer"
-msgstr "EPL2 레이블  프린터"
-
-msgid "Edit Configuration File"
-msgstr "구성 파일 편집"
-
-msgid "Empty PPD file."
-msgstr ""
-
-#. TRANSLATORS: Banner/cover sheet after the print job.
-msgid "Ending Banner"
-msgstr "배너 종료 중"
-
-msgid "English"
-msgstr "Korean"
-
-msgid "Enter old password:"
-msgstr "이전 암호 입력:"
-
-msgid "Enter password again:"
-msgstr "암호 다시 입력:"
-
-msgid "Enter password:"
-msgstr "암호 입력:"
-
-msgid ""
-"Enter your username and password or the root username and password to access "
-"this page. If you are using Kerberos authentication, make sure you have a "
-"valid Kerberos ticket."
-msgstr ""
-"이 페이지에 연결하려면 사용자 이름 및 암호 또는 root 사용자 이름 및 암호를 입"
-"력하십시오. Kerberos 인증을 사용하고 있다면, 유효한 Kerberos 티켓을 가지고 있"
-"는지 확인하십시오."
-
-msgid "Envelope #10 "
-msgstr ""
-
-msgid "Envelope #11"
-msgstr ""
-
-msgid "Envelope #12"
-msgstr ""
-
-msgid "Envelope #14"
-msgstr ""
-
-msgid "Envelope #9"
-msgstr ""
-
-msgid "Envelope B4"
-msgstr ""
-
-msgid "Envelope B5"
-msgstr ""
-
-msgid "Envelope B6"
-msgstr ""
-
-msgid "Envelope C0"
-msgstr ""
-
-msgid "Envelope C1"
-msgstr ""
-
-msgid "Envelope C2"
-msgstr ""
-
-msgid "Envelope C3"
-msgstr ""
-
-msgid "Envelope C4"
-msgstr ""
-
-msgid "Envelope C5"
-msgstr ""
-
-msgid "Envelope C6"
-msgstr ""
-
-msgid "Envelope C65"
-msgstr ""
-
-msgid "Envelope C7"
-msgstr ""
-
-msgid "Envelope Choukei 3"
-msgstr ""
-
-msgid "Envelope Choukei 3 Long Edge"
-msgstr ""
-
-msgid "Envelope Choukei 4"
-msgstr ""
-
-msgid "Envelope Choukei 4 Long Edge"
-msgstr ""
-
-msgid "Envelope DL"
-msgstr ""
-
-msgid "Envelope Feed"
-msgstr "봉투 공급"
-
-msgid "Envelope Invite"
-msgstr ""
-
-msgid "Envelope Italian"
-msgstr ""
-
-msgid "Envelope Kaku2"
-msgstr ""
-
-msgid "Envelope Kaku2 Long Edge"
-msgstr ""
-
-msgid "Envelope Kaku3"
-msgstr ""
-
-msgid "Envelope Kaku3 Long Edge"
-msgstr ""
-
-msgid "Envelope Monarch"
-msgstr ""
-
-msgid "Envelope PRC1 "
-msgstr ""
-
-msgid "Envelope PRC1 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC10"
-msgstr ""
-
-msgid "Envelope PRC10 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC2"
-msgstr ""
-
-msgid "Envelope PRC2 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC3"
-msgstr ""
-
-msgid "Envelope PRC3 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC4"
-msgstr ""
-
-msgid "Envelope PRC4 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC5 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC5PRC5"
-msgstr ""
-
-msgid "Envelope PRC6"
-msgstr ""
-
-msgid "Envelope PRC6 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC7"
-msgstr ""
-
-msgid "Envelope PRC7 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC8"
-msgstr ""
-
-msgid "Envelope PRC8 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC9"
-msgstr ""
-
-msgid "Envelope PRC9 Long Edge"
-msgstr ""
-
-msgid "Envelope Personal"
-msgstr ""
-
-msgid "Envelope You4"
-msgstr ""
-
-msgid "Envelope You4 Long Edge"
-msgstr ""
-
-msgid "Epson"
-msgstr "Epson"
-
-msgid "Error Policy"
-msgstr "오류 정책"
-
-msgid "Error sending raster data."
-msgstr ""
-
-msgid "Error: need hostname after \"-h\" option."
-msgstr ""
-
-msgid "Every 10 Labels"
-msgstr "10개 레이블마다"
-
-msgid "Every 2 Labels"
-msgstr "2개 레이블마다"
-
-msgid "Every 3 Labels"
-msgstr "3개 레이블마다"
-
-msgid "Every 4 Labels"
-msgstr "4개 레이블마다"
-
-msgid "Every 5 Labels"
-msgstr "5개 레이블마다"
-
-msgid "Every 6 Labels"
-msgstr "6개 레이블마다"
-
-msgid "Every 7 Labels"
-msgstr "7개 레이블마다"
-
-msgid "Every 8 Labels"
-msgstr "8개 레이블마다"
-
-msgid "Every 9 Labels"
-msgstr "9개 레이블마다"
-
-msgid "Every Label"
-msgstr "모든 레이블"
-
-msgid "Executive"
-msgstr ""
-
-msgid "Expectation Failed"
-msgstr "예상 실패"
-
-msgid "Export Printers to Samba"
-msgstr "Samba로 프린터 보내기"
-
-msgid "FAIL"
-msgstr ""
-
-msgid "FanFold German"
-msgstr ""
-
-msgid "FanFold Legal German"
-msgstr ""
-
-msgid "Fanfold US"
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" contains a relative path."
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" is a directory."
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" not available: %s"
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-msgid "File Folder"
-msgstr "파일 폴더"
-
-msgid "File Folder - 9/16 x 3 7/16\""
-msgstr "파일 폴더 - 9/16 x 3 7/16\""
-
-#, c-format
-msgid ""
-"File device URIs have been disabled. To enable, see the FileDevice directive "
-"in \"%s/cupsd.conf\"."
-msgstr ""
-
-#, c-format
-msgid "Finished page %d."
-msgstr ""
-
-msgid "Folio"
-msgstr "2절지"
-
-msgid "Forbidden"
-msgstr "금지됨"
-
-#, c-format
-msgid "Formatting page %d."
-msgstr ""
-
-msgid "General"
-msgstr "일반"
-
-msgid "Generic"
-msgstr "일반"
-
-msgid "Get-Response-PDU uses indefinite length"
-msgstr "Get-Response-PDU 길이가 무제한입니다"
-
-msgid "Glossy Paper"
-msgstr "글로시 종이"
-
-msgid "Got a printer-uri attribute but no job-id."
-msgstr ""
-
-msgid "Grayscale"
-msgstr "그레이 스케일"
-
-msgid "HP"
-msgstr "HP"
-
-msgid "Hanging Folder"
-msgstr "행잉 폴더"
-
-msgid "Hanging Folder - 9/16 x 2\""
-msgstr "행잉 폴더 - 9/16 x 2\""
-
-msgid "IPP 1setOf attribute with incompatible value tags."
-msgstr ""
-
-msgid "IPP attribute has no name."
-msgstr ""
-
-msgid "IPP begCollection value not 0 bytes."
-msgstr ""
-
-msgid "IPP boolean value not 1 byte."
-msgstr ""
-
-msgid "IPP date value not 11 bytes."
-msgstr ""
-
-msgid "IPP endCollection value not 0 bytes."
-msgstr ""
-
-msgid "IPP enum value not 4 bytes."
-msgstr ""
-
-msgid "IPP integer value not 4 bytes."
-msgstr ""
-
-msgid "IPP language length overflows value."
-msgstr ""
-
-msgid "IPP member name is not empty."
-msgstr ""
-
-msgid "IPP name larger than 32767 bytes."
-msgstr ""
-
-msgid "IPP nameWithLanguage value less than minimum 4 bytes."
-msgstr ""
-
-msgid "IPP rangeOfInteger value not 8 bytes."
-msgstr ""
-
-msgid "IPP resolution value not 9 bytes."
-msgstr ""
-
-msgid "IPP string length overflows value."
-msgstr ""
-
-msgid "IPP textWithLanguage value less than minimum 4 bytes."
-msgstr ""
-
-msgid "IPP value larger than 32767 bytes."
-msgstr ""
-
-msgid "ISOLatin1"
-msgstr "UTF-8"
-
-msgid "Illegal control character"
-msgstr "올바르지 않은 제어 문자"
-
-msgid "Illegal main keyword string"
-msgstr "올바르지 않은 주 키워드 스트링"
-
-msgid "Illegal option keyword string"
-msgstr "올바르지 않은 옵션 키워드 스트링"
-
-msgid "Illegal translation string"
-msgstr "올바르지 않은 번역 스트링"
-
-msgid "Illegal whitespace character"
-msgstr "올바르지 않은 여백 문자"
-
-msgid "Installable Options"
-msgstr "설치 가능한 옵션"
-
-msgid "Installed"
-msgstr "설치됨"
-
-msgid "IntelliBar Label Printer"
-msgstr "IntelliBar 레이블 프린터"
-
-msgid "Intellitech"
-msgstr "Intellitech"
-
-msgid "Internal Server Error"
-msgstr ""
-
-msgid "Internal error"
-msgstr "내부 오류"
-
-msgid "Internet Postage 2-Part"
-msgstr "인터넷 우표 2부분"
-
-msgid "Internet Postage 2-Part - 2 1/4 x 7 1/2\""
-msgstr "인터넷 우표 2부분 - 2 1/4 x 7 1/2\""
-
-msgid "Internet Postage 3-Part"
-msgstr "인터넷 우표 3부분"
-
-msgid "Internet Postage 3-Part - 2 1/4 x 7\""
-msgstr "인터넷 우표 3부분 - 2 1/4 x 7\""
-
-msgid "Internet Printing Protocol"
-msgstr "인터넷 프린트 프로토콜"
-
-#, c-format
-msgid "Invalid printer command \"%s\"."
-msgstr ""
-
-msgid "JCL"
-msgstr "JCL"
-
-msgid "JIS B0"
-msgstr ""
-
-msgid "JIS B1"
-msgstr ""
-
-msgid "JIS B10"
-msgstr ""
-
-msgid "JIS B2"
-msgstr ""
-
-msgid "JIS B3"
-msgstr ""
-
-msgid "JIS B4"
-msgstr ""
-
-msgid "JIS B4 Long Edge"
-msgstr ""
-
-msgid "JIS B5"
-msgstr ""
-
-msgid "JIS B5 Long Edge"
-msgstr ""
-
-msgid "JIS B6"
-msgstr ""
-
-msgid "JIS B6 Long Edge"
-msgstr ""
-
-msgid "JIS B7"
-msgstr ""
-
-msgid "JIS B8"
-msgstr ""
-
-msgid "JIS B9"
-msgstr ""
-
-#, c-format
-msgid "Job #%d cannot be restarted - no files."
-msgstr ""
-
-#, c-format
-msgid "Job #%d does not exist."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is already aborted - can't cancel."
-msgstr "#%d 작업이 이미 중단됨 - 취소할 수 없습니다."
-
-#, c-format
-msgid "Job #%d is already canceled - can't cancel."
-msgstr "#%d 작업이 이미 취소됨 - 취소할 수 없습니다."
-
-#, c-format
-msgid "Job #%d is already completed - can't cancel."
-msgstr "#%d 작업이 이미 완료됨 - 취소할 수 없습니다."
-
-#, c-format
-msgid "Job #%d is finished and cannot be altered."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is not complete."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is not held for authentication."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is not held."
-msgstr ""
-
-msgid "Job Completed"
-msgstr "작업이 완료됨"
-
-msgid "Job Created"
-msgstr "작업이 생성됨"
-
-msgid "Job ID: "
-msgstr "작업 ID: "
-
-msgid "Job Options Changed"
-msgstr "작업 옵션이 변경됨"
-
-msgid "Job Stopped"
-msgstr "작업이 중단됨"
-
-msgid "Job UUID: "
-msgstr "작업 UUID: "
-
-msgid "Job is completed and cannot be changed."
-msgstr "작업이 완료되었고 변경할 수 없습니다."
-
-msgid "Job operation failed:"
-msgstr "작업 실행에 실패함:"
-
-msgid "Job state cannot be changed."
-msgstr "작업 상태를 변경할 수 없습니다."
-
-msgid "Job subscriptions cannot be renewed."
-msgstr ""
-
-msgid "Jobs"
-msgstr "작업"
-
-msgid "LPD/LPR Host or Printer"
-msgstr "LPD/LPR 호스트 또는 프린터"
-
-msgid "Label Printer"
-msgstr "레이블 프린터"
-
-msgid "Label Top"
-msgstr "레이블 상단"
-
-#, c-format
-msgid "Language \"%s\" not supported."
-msgstr ""
-
-msgid "Large Address"
-msgstr "주소 크게"
-
-msgid "Large Address - 1 4/10 x 3 1/2\""
-msgstr "주소 크게 - 1 4/10 x 3 1/2\""
-
-msgid "LaserJet Series PCL 4/5"
-msgstr "LaserJet 시리즈 PCL 4/5"
-
-msgid "Letter Oversize"
-msgstr ""
-
-msgid "Letter Oversize Long Edge"
-msgstr ""
-
-msgid "Light"
-msgstr "불빛"
-
-msgid "Line longer than the maximum allowed (255 characters)"
-msgstr "줄에 허용되는 최대 길이보다 김(255자)"
-
-msgid "List Available Printers"
-msgstr "사용 가능한 프린터 목록"
-
-msgid "Loading print file."
-msgstr ""
-
-msgid "Location: "
-msgstr "위치: "
-
-msgid "Long-Edge (Portrait)"
-msgstr "가장자리 길게(세로)"
-
-msgid "Looking for printer."
-msgstr ""
-
-msgid "Make and Model: "
-msgstr "제조사 및 모델: "
-
-msgid "Manual Feed"
-msgstr "수동 공급"
-
-msgid "Media Dimensions: "
-msgstr "미디어 크기: "
-
-msgid "Media Limits: "
-msgstr "미디어 제한: "
-
-msgid "Media Name: "
-msgstr "미디어 이름: "
-
-msgid "Media Size"
-msgstr "미디어 크기"
-
-msgid "Media Source"
-msgstr "미디어 소스"
-
-msgid "Media Tracking"
-msgstr "미디어 추적"
-
-msgid "Media Type"
-msgstr "미디어 유형"
-
-msgid "Medium"
-msgstr "중간"
-
-msgid "Memory allocation error"
-msgstr "메모리 할당 오류"
-
-msgid "Missing CloseGroup"
-msgstr ""
-
-msgid "Missing PPD-Adobe-4.x header"
-msgstr "PPD-Adobe-4.x 머리말이 유실됨"
-
-msgid "Missing asterisk in column 1"
-msgstr "1열에 있는 별표가 유실됨"
-
-msgid "Missing document-number attribute."
-msgstr ""
-
-#, c-format
-msgid "Missing double quote on line %d."
-msgstr ""
-
-msgid "Missing form variable"
-msgstr ""
-
-msgid "Missing last-document attribute in request."
-msgstr ""
-
-msgid "Missing media or media-col."
-msgstr ""
-
-msgid "Missing media-size in media-col."
-msgstr ""
-
-msgid "Missing notify-subscription-ids attribute."
-msgstr ""
-
-msgid "Missing option keyword"
-msgstr ""
-
-msgid "Missing requesting-user-name attribute."
-msgstr ""
-
-msgid "Missing required attributes."
-msgstr ""
-
-#, c-format
-msgid "Missing value on line %d of banner file."
-msgstr ""
-
-#, c-format
-msgid "Missing value on line %d."
-msgstr ""
-
-msgid "Missing value string"
-msgstr "값 스트링이 유실됨"
-
-msgid "Missing x-dimension in media-size."
-msgstr ""
-
-msgid "Missing y-dimension in media-size."
-msgstr ""
-
-#, c-format
-msgid ""
-"Model:  name = %s\n"
-"        natural_language = %s\n"
-"        make-and-model = %s\n"
-"        device-id = %s"
-msgstr ""
-
-msgid "Modify Class"
-msgstr "클래스 수정"
-
-msgid "Modify Printer"
-msgstr "프린터 수정"
-
-msgid "Move All Jobs"
-msgstr "모든 작업 이동"
-
-msgid "Move Job"
-msgstr "작업 이동"
-
-msgid "Moved Permanently"
-msgstr "영구적으로 이동"
-
-msgid "NULL PPD file pointer"
-msgstr "NULL PPD 파일 포인터"
-
-msgid "Name OID uses indefinite length"
-msgstr "이름 OID 길이가 무제한입니다"
-
-msgid "Nested classes are not allowed."
-msgstr ""
-
-msgid "Never"
-msgstr "안 함"
-
-msgid "New Stylus Color Series"
-msgstr "새로운 Stylus Color 시리즈"
-
-msgid "New Stylus Photo Series"
-msgstr "새로운 Stylus Photo 시리즈"
-
-msgid "No"
-msgstr "아니요"
-
-msgid "No Content"
-msgstr "콘텐츠 없음"
-
-msgid "No PPD name"
-msgstr ""
-
-msgid "No VarBind SEQUENCE"
-msgstr "VarBind SEQUENCE 없음"
-
-msgid "No Windows printer drivers are installed."
-msgstr ""
-
-msgid "No active connection"
-msgstr "활성 연결이 없음"
-
-#, c-format
-msgid "No active jobs on %s."
-msgstr ""
-
-msgid "No attributes in request."
-msgstr ""
-
-msgid "No authentication information provided."
-msgstr ""
-
-msgid "No community name"
-msgstr "커뮤니티 이름 없음"
-
-msgid "No default printer."
-msgstr ""
-
-msgid "No destinations added."
-msgstr "추가된 대상이 없습니다."
-
-msgid "No device URI found in argv[0] or in DEVICE_URI environment variable."
-msgstr ""
-
-msgid "No error-index"
-msgstr "error-index 없음"
-
-msgid "No error-status"
-msgstr "error-status 없음"
-
-msgid "No file in print request."
-msgstr ""
-
-msgid "No fonts in charset file."
-msgstr ""
-
-msgid "No modification time"
-msgstr ""
-
-msgid "No name OID"
-msgstr "이름 OID 없음"
-
-msgid "No pages were found."
-msgstr ""
-
-msgid "No printer name"
-msgstr ""
-
-msgid "No printer-uri found"
-msgstr ""
-
-msgid "No printer-uri found for class"
-msgstr ""
-
-msgid "No printer-uri in request."
-msgstr ""
-
-msgid "No request-id"
-msgstr "request-id 없음"
-
-msgid "No subscription attributes in request."
-msgstr ""
-
-msgid "No subscriptions found."
-msgstr "발견된 구독이 없습니다."
-
-msgid "No variable-bindings SEQUENCE"
-msgstr "variable-bindings SEQUENCE 없음"
-
-msgid "No version number"
-msgstr "버전 번호 없음"
-
-msgid "Non-continuous (Mark sensing)"
-msgstr "중단(마크 센싱)"
-
-msgid "Non-continuous (Web sensing)"
-msgstr "중단(웹 센싱)"
-
-msgid "Normal"
-msgstr "일반"
-
-msgid "Not Found"
-msgstr "없음"
-
-msgid "Not Implemented"
-msgstr "실행되지 않음"
-
-msgid "Not Installed"
-msgstr "설치되지 않음"
-
-msgid "Not Modified"
-msgstr "수정되지 않음"
-
-msgid "Not Supported"
-msgstr "지원되지 않음"
-
-msgid "Not allowed to print."
-msgstr "프린트가 허용되지 않습니다."
-
-msgid "Note"
-msgstr "참고"
-
-msgid ""
-"Note: this program only validates the DSC comments, not the PostScript "
-"itself."
-msgstr ""
-
-msgid "OK"
-msgstr "승인"
-
-msgid "Off (1-Sided)"
-msgstr "끔(한 쪽 방향)"
-
-msgid "Oki"
-msgstr "Oki"
-
-msgid "Online Help"
-msgstr "온라인 도움말"
-
-#, c-format
-msgid "Open of %s failed: %s"
-msgstr "%s 열기 실패: %s"
-
-msgid "OpenGroup without a CloseGroup first"
-msgstr "우선 CloseGroup이 없는 OpenGroup"
-
-msgid "OpenUI/JCLOpenUI without a CloseUI/JCLCloseUI first"
-msgstr "우선 CloseUI/JCLCloseUI가 없는 OpenUI/JCLOpenUI"
-
-msgid "Operation Policy"
-msgstr "동작 정책"
-
-#, c-format
-msgid "Option \"%s\" cannot be included via %%%%IncludeFeature."
-msgstr ""
-
-msgid "Options Installed"
-msgstr "설치된 옵션"
-
-msgid "Options:"
-msgstr ""
-
-msgid "Options: "
-msgstr "옵션: "
-
-msgid "Out of date PPD cache file."
-msgstr ""
-
-msgid "Out of memory."
-msgstr ""
-
-msgid "Output Mode"
-msgstr "출력 모드"
-
-#, c-format
-msgid "Output for printer %s is sent to %s"
-msgstr ""
-
-#, c-format
-msgid "Output for printer %s is sent to remote printer %s on %s"
-msgstr ""
-
-#, c-format
-msgid "Output for printer %s/%s is sent to %s"
-msgstr ""
-
-#, c-format
-msgid "Output for printer %s/%s is sent to remote printer %s on %s"
-msgstr ""
-
-msgid "PASS"
-msgstr ""
-
-msgid "PCL Laser Printer"
-msgstr "PCL 레이저 프린터"
-
-msgid "PRC16K"
-msgstr "PRC16K"
-
-msgid "PRC16K Long Edge"
-msgstr ""
-
-msgid "PRC32K"
-msgstr "PRC32K"
-
-msgid "PRC32K Long Edge"
-msgstr ""
-
-msgid "PRC32K Oversize"
-msgstr ""
-
-msgid "PRC32K Oversize Long Edge"
-msgstr ""
-
-msgid "Packet does not contain a Get-Response-PDU"
-msgstr "패킷에 Get-Response-PDU가 없습니다"
-
-msgid "Packet does not start with SEQUENCE"
-msgstr "패킷이 SEQUENCE로 시작하지 않습니다"
-
-msgid "ParamCustominCutInterval"
-msgstr "ParamCustominCutInterval"
-
-msgid "ParamCustominTearInterval"
-msgstr "ParamCustominTearInterval"
-
-#, c-format
-msgid "Password for %s on %s? "
-msgstr "%2$s의 %1$s 암호? "
-
-#, c-format
-msgid "Password for %s required to access %s via SAMBA: "
-msgstr "SAMBA를 통해 %2$s에 연결하려면 필요한 %1$s의 암호: "
-
-msgid "Pause Class"
-msgstr "클래스 일시정지"
-
-msgid "Pause Printer"
-msgstr "프린터 일시정지"
-
-msgid "Peel-Off"
-msgstr "착탈식"
-
-msgid "Photo"
-msgstr "사진"
-
-msgid "Photo Labels"
-msgstr "사진 레이블"
-
-msgid "Plain Paper"
-msgstr "일반 종이"
-
-msgid "Policies"
-msgstr "정책"
-
-msgid "Port Monitor"
-msgstr "포트 모니터"
-
-msgid "PostScript Printer"
-msgstr "PostScript 프린터"
-
-msgid "Postcard"
-msgstr "엽서"
-
-msgid "Postcard Double "
-msgstr ""
-
-msgid "Postcard Double Long Edge"
-msgstr ""
-
-msgid "Postcard Long Edge"
-msgstr ""
-
-msgid "Print Density"
-msgstr "프린트 해상도"
-
-msgid "Print Job:"
-msgstr "프린트 작업:"
-
-msgid "Print Mode"
-msgstr "프린트 모드"
-
-msgid "Print Rate"
-msgstr "프린트 비율"
-
-msgid "Print Self-Test Page"
-msgstr "프린트 자체 테스트 페이지"
-
-msgid "Print Speed"
-msgstr "프린트 속도"
-
-msgid "Print Test Page"
-msgstr "프린트 테스트 페이지"
-
-msgid "Print and Cut"
-msgstr "프린트 및 자르기"
-
-msgid "Print and Tear"
-msgstr "프린트 및 티어"
-
-#, c-format
-msgid "Print file accepted - job ID %d."
-msgstr ""
-
-msgid "Print file accepted - job ID unknown."
-msgstr ""
-
-msgid "Print file sent."
-msgstr ""
-
-msgid "Print file was not accepted."
-msgstr ""
-
-msgid "Print job too large."
-msgstr ""
-
-msgid "Printed For: "
-msgstr "다음이 프린트됨: "
-
-msgid "Printed From: "
-msgstr "다음에서 프린트됨: "
-
-msgid "Printed On: "
-msgstr "다음에서 프린트됨: "
-
-msgid "Printer Added"
-msgstr "추가된 프린터"
-
-msgid "Printer Default"
-msgstr "기본 프린터"
-
-msgid "Printer Deleted"
-msgstr "삭제된 프린터"
-
-msgid "Printer Modified"
-msgstr "수정된 프린터"
-
-msgid "Printer Name: "
-msgstr "프린터 이름: "
-
-msgid "Printer Paused"
-msgstr "중단된 프린터"
-
-msgid "Printer Settings"
-msgstr "프린터 설정"
-
-msgid "Printer busy, will retry in 10 seconds."
-msgstr ""
-
-msgid "Printer busy; will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer did not respond."
-msgstr ""
-
-#, c-format
-msgid "Printer does not support IPP/%d.%d, trying IPP/%s."
-msgstr ""
-
-msgid "Printer is busy, will retry in 5 seconds."
-msgstr ""
-
-msgid "Printer is not currently connected."
-msgstr ""
-
-msgid "Printer is now connected."
-msgstr ""
-
-msgid "Printer is now online."
-msgstr ""
-
-msgid "Printer is offline."
-msgstr ""
-
-msgid "Printer not connected, will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer not connected; will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer:"
-msgstr "프린터:"
-
-msgid "Printers"
-msgstr "프린터"
-
-#, c-format
-msgid "Printing page %d, %d%% complete."
-msgstr ""
-
-#, c-format
-msgid "Printing page %d."
-msgstr ""
-
-msgid "Purge Jobs"
-msgstr "작업 비우기"
-
-msgid "Quarto"
-msgstr "4절지"
-
-msgid "Quota limit reached."
-msgstr "용량이 한계에 도달했습니다."
-
-msgid "Rank    Owner   Job     File(s)                         Total Size"
-msgstr ""
-
-#. TRANSLATORS: Pri is job priority.
-msgid ""
-"Rank   Owner      Pri  Job        Files                       Total Size"
-msgstr ""
-
-msgid "Ready to print."
-msgstr ""
-
-msgid "Reject Jobs"
-msgstr "작업 거부"
-
-#, c-format
-msgid "Remote host did not accept control file (%d)."
-msgstr ""
-
-#, c-format
-msgid "Remote host did not accept data file (%d)."
-msgstr ""
-
-msgid "Reprint After Error"
-msgstr "오류 시 다시 프린트"
-
-msgid "Request Entity Too Large"
-msgstr "요청한 용량이 너무 큽니다"
-
-msgid "Resolution"
-msgstr "해상도"
-
-msgid "Resume Class"
-msgstr "클래스 다시 시작"
-
-msgid "Resume Printer"
-msgstr "프린터 다시 시작"
-
-msgid "Return Address"
-msgstr "주소 반환"
-
-msgid "Return Address - 3/4 x 2\""
-msgstr "주소 반환 - 3/4 x 2\""
-
-msgid "Rewind"
-msgstr "뒤로가기"
-
-#, c-format
-msgid "Running command: %s %s -N -A %s -c '%s'"
-msgstr ""
-
-msgid "SEQUENCE uses indefinite length"
-msgstr "SEQUENCE 길이가 무제한입니다"
-
-msgid "SSL/TLS Negotiation Error"
-msgstr ""
-
-msgid "See Other"
-msgstr "기타 보기"
-
-msgid "Sending data to printer."
-msgstr ""
-
-#, c-format
-msgid "Serial Port #%d"
-msgstr "시리얼 포트 #%d"
-
-msgid "Server Restarted"
-msgstr "서버 재시동됨"
-
-msgid "Server Security Auditing"
-msgstr "서버 보안 감사"
-
-msgid "Server Started"
-msgstr "서버 시동됨"
-
-msgid "Server Stopped"
-msgstr "서버 중단됨"
-
-msgid "Service Unavailable"
-msgstr "사용할 수 없는 서비스"
-
-msgid "Set Allowed Users"
-msgstr "허용된 사용자 설정"
-
-msgid "Set As Server Default"
-msgstr "서버 기본값으로 설정"
-
-msgid "Set Class Options"
-msgstr "클래스 옵션 설정"
-
-msgid "Set Printer Options"
-msgstr "프린터 옵션 설정"
-
-msgid "Set Publishing"
-msgstr "발행 설정"
-
-msgid "Shipping Address"
-msgstr "발송 주소"
-
-msgid "Shipping Address - 2 5/16 x 4\""
-msgstr "발송 주소 - 2 5/16 x 4\""
-
-msgid "Short-Edge (Landscape)"
-msgstr "가장자리 짧게(가로)"
-
-msgid "Special Paper"
-msgstr "특수 종이"
-
-#, c-format
-msgid "Spooling job, %.0f%% complete."
-msgstr ""
-
-msgid "Standard"
-msgstr "표준"
-
-#. TRANSLATORS: Banner/cover sheet before the print job.
-msgid "Starting Banner"
-msgstr "배너 시작 중"
-
-#, c-format
-msgid "Starting page %d."
-msgstr ""
-
-msgid "Statement"
-msgstr "대차표"
-
-msgid "Stylus Color Series"
-msgstr "Stylus Color 시리즈"
-
-msgid "Stylus Photo Series"
-msgstr "Stylus Photo 시리즈"
-
-#, c-format
-msgid "Subscription #%d does not exist."
-msgstr ""
-
-msgid "Super A"
-msgstr "수퍼 A"
-
-msgid "Super B"
-msgstr "수퍼 B"
-
-msgid "Super B/A3"
-msgstr "수퍼 B/A3"
-
-msgid "Switching Protocols"
-msgstr "프로토콜 전환 중"
-
-msgid "Tabloid"
-msgstr "타블로이드"
-
-msgid "Tabloid Oversize"
-msgstr ""
-
-msgid "Tabloid Oversize Long Edge"
-msgstr ""
-
-msgid "Tear"
-msgstr "절취"
-
-msgid "Tear-Off"
-msgstr "절취선"
-
-msgid "Tear-Off Adjust Position"
-msgstr "절취선 조절 위치"
-
-#, c-format
-msgid "The %s attribute cannot be provided with job-ids."
-msgstr ""
-
-#, c-format
-msgid "The PPD file \"%s\" could not be found."
-msgstr "\"%s\" PPD 파일을 찾을 수 없습니다."
-
-#, c-format
-msgid "The PPD file \"%s\" could not be opened: %s"
-msgstr "\"%s\" PPD 파일을 열 수 없습니다: %s"
-
-msgid "The PPD file could not be opened."
-msgstr ""
-
-msgid ""
-"The class name may only contain up to 127 printable characters and may not "
-"contain spaces, slashes (/), or the pound sign (#)."
-msgstr ""
-"클래스 이름은 최대 127자의 프린트 가능한 문자만을 포함할 수 있고 빈 칸, 슬래"
-"시(/) 또는 파운드 기호(#)를 포함하지 않습니다."
-
-msgid "The developer unit needs to be replaced."
-msgstr ""
-
-msgid "The developer unit will need to be replaced soon."
-msgstr ""
-
-msgid "The fuser's temperature is high."
-msgstr ""
-
-msgid "The fuser's temperature is low."
-msgstr ""
-
-msgid ""
-"The notify-lease-duration attribute cannot be used with job subscriptions."
-msgstr "notify-lease-duration 속성을 작업 구독과 함께 사용할 수 없습니다."
-
-#, c-format
-msgid "The notify-user-data value is too large (%d > 63 octets)."
-msgstr ""
-
-msgid "The optical photoconductor needs to be replaced."
-msgstr ""
-
-msgid "The optical photoconductor will need to be replaced soon."
-msgstr ""
-
-msgid "The output bin is almost full."
-msgstr ""
-
-msgid "The output bin is full."
-msgstr ""
-
-msgid "The output bin is missing."
-msgstr ""
-
-msgid "The page setup information was not valid."
-msgstr ""
-
-msgid "The paper tray is almost empty."
-msgstr ""
-
-msgid "The paper tray is empty."
-msgstr ""
-
-msgid "The paper tray is missing."
-msgstr ""
-
-msgid "The paper tray needs to be filled."
-msgstr ""
-
-msgid "The print file could not be opened."
-msgstr ""
-
-msgid "The printer URI is incorrect or no longer exists."
-msgstr ""
-
-msgid "The printer is busy."
-msgstr ""
-
-msgid "The printer is not connected."
-msgstr ""
-
-msgid "The printer is not responding."
-msgstr ""
-
-msgid "The printer is out of ink."
-msgstr ""
-
-msgid "The printer is running low on ink."
-msgstr ""
-
-msgid "The printer is running low on toner."
-msgstr ""
-
-msgid "The printer is unreachable at this time."
-msgstr ""
-
-msgid "The printer may be out of toner."
-msgstr ""
-
-msgid "The printer may not exist or is unavailable at this time."
-msgstr ""
-
-msgid ""
-"The printer name may only contain up to 127 printable characters and may not "
-"contain spaces, slashes (/), or the pound sign (#)."
-msgstr ""
-"프린터 이름은 최대 127자의 프린트 가능한 문자만을 포함할 수 있고 빈 칸, 슬래"
-"시(/) 또는 파운드 기호(#)를 포함하지 않습니다."
-
-msgid "The printer or class does not exist."
-msgstr ""
-
-msgid "The printer or class is not shared."
-msgstr ""
-
-msgid "The printer's cover is open."
-msgstr ""
-
-msgid "The printer's door is open."
-msgstr ""
-
-msgid "The printer's interlock is open."
-msgstr ""
-
-msgid "The printer's waste bin is almost full."
-msgstr ""
-
-msgid "The printer's waste bin is full."
-msgstr ""
-
-#, c-format
-msgid "The printer-uri \"%s\" contains invalid characters."
-msgstr "\"%s\" printer-uri가 유효하지 않은 문자를 포함합니다."
-
-msgid "The printer-uri attribute is required."
-msgstr ""
-
-msgid ""
-"The printer-uri must be of the form \"ipp://HOSTNAME/classes/CLASSNAME\"."
-msgstr "printer-uri는 \"ipp://HOSTNAME/classes/CLASSNAME\" 형태여야 합니다."
-
-msgid ""
-"The printer-uri must be of the form \"ipp://HOSTNAME/printers/PRINTERNAME\"."
-msgstr "printer-uri는 \"ipp://HOSTNAME/printers/PRINTERNAME\" 형태여야 합니다."
-
-msgid ""
-"The subscription name may not contain spaces, slashes (/), question marks "
-"(?), or the pound sign (#)."
-msgstr ""
-"구독 이름은 빈 칸, 슬래시(/), 물음표(?) 또는 파운드 기호(#)를 포함하지 않습니"
-"다."
-
-msgid ""
-"The web interface is currently disabled. Run \"cupsctl WebInterface=yes\" to "
-"enable it."
-msgstr ""
-
-#, c-format
-msgid "The which-jobs value \"%s\" is not supported."
-msgstr ""
-
-msgid "There are too many subscriptions."
-msgstr "구독이 너무 많습니다."
-
-msgid "There is a paper jam."
-msgstr ""
-
-msgid "There was an unrecoverable USB error."
-msgstr ""
-
-msgid "Thermal Transfer Media"
-msgstr "열 전송 미디어"
-
-msgid "Title: "
-msgstr "제목: "
-
-msgid "Too many active jobs."
-msgstr "활성 작업이 너무 많습니다."
-
-#, c-format
-msgid "Too many job-sheets values (%d > 2)."
-msgstr ""
-
-#, c-format
-msgid "Too many printer-state-reasons values (%d > %d)."
-msgstr ""
-
-msgid "Transparency"
-msgstr "투명도"
-
-msgid "Tray"
-msgstr "트레이"
-
-msgid "Tray 1"
-msgstr "트레이 1"
-
-msgid "Tray 2"
-msgstr "트레이 2"
-
-msgid "Tray 3"
-msgstr "트레이 3"
-
-msgid "Tray 4"
-msgstr "트레이 4"
-
-msgid "URI Too Long"
-msgstr "URI가 너무 김"
-
-msgid "US Ledger"
-msgstr "US 원장"
-
-msgid "US Legal"
-msgstr "US 공문서"
-
-msgid "US Legal Oversize"
-msgstr ""
-
-msgid "US Letter"
-msgstr "US 편지지"
-
-msgid "US Letter Long Edge"
-msgstr ""
-
-msgid "US Letter Oversize"
-msgstr ""
-
-msgid "US Letter Oversize Long Edge"
-msgstr ""
-
-msgid "US Letter Small"
-msgstr ""
-
-#, c-format
-msgid "USB Serial Port #%d"
-msgstr "USB 시리얼 포트 #%d"
-
-msgid "Unable to access cupsd.conf file:"
-msgstr "cupsd.conf 파일에 연결할 수 없음:"
-
-msgid "Unable to add RSS subscription:"
-msgstr "RSS 구독을 추가할 수 없음:"
-
-msgid "Unable to add class:"
-msgstr "클래스를 추가할 수 없음:"
-
-msgid "Unable to add document to print job."
-msgstr ""
-
-#, c-format
-msgid "Unable to add job for destination \"%s\"."
-msgstr ""
-
-msgid "Unable to add printer:"
-msgstr "프린터를 추가할 수 없음:"
-
-msgid "Unable to allocate memory for file types."
-msgstr ""
-
-msgid "Unable to allocate memory for page info"
-msgstr ""
-
-msgid "Unable to allocate memory for pages array"
-msgstr ""
-
-msgid "Unable to cancel RSS subscription:"
-msgstr "RSS 구독을 취소할 수 없음:"
-
-msgid "Unable to cancel print job."
-msgstr ""
-
-msgid "Unable to change printer-is-shared attribute:"
-msgstr "printer-is-shared 속성을 변경할 수 없음:"
-
-msgid "Unable to change printer:"
-msgstr "프린터를 변경할 수 없음:"
-
-msgid "Unable to change server settings:"
-msgstr "서버 설정값을 변경할 수 없음:"
-
-msgid "Unable to configure printer options."
-msgstr ""
-
-msgid "Unable to connect to host."
-msgstr "호스트에 연결할 수 없음."
-
-msgid "Unable to contact printer, queuing on next printer in class."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy 64-bit CUPS printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy 64-bit Windows printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy CUPS printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy PPD file - %s"
-msgstr ""
-
-msgid "Unable to copy PPD file."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy Windows 2000 printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy Windows 9x printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy interface script - %s"
-msgstr ""
-
-msgid "Unable to copy print file"
-msgstr ""
-
-msgid "Unable to create compressed print file"
-msgstr ""
-
-msgid "Unable to create pipes for filters"
-msgstr ""
-
-msgid "Unable to create printer-uri"
-msgstr ""
-
-msgid "Unable to create temporary file"
-msgstr ""
-
-msgid "Unable to create temporary file:"
-msgstr "임시 파일을 생성할 수 없음:"
-
-msgid "Unable to delete class:"
-msgstr "클래스를 삭제할 수 없음:"
-
-msgid "Unable to delete printer:"
-msgstr "프린터를 삭제할 수 없음:"
-
-msgid "Unable to do maintenance command:"
-msgstr "명령을 유지할 수 없음:"
-
-msgid "Unable to edit cupsd.conf files larger than 1MB"
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (certificate chain invalid)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (certificate not yet valid)."
-msgstr ""
-
-msgid "Unable to establish a secure connection to host (expired certificate)."
-msgstr ""
-
-msgid "Unable to establish a secure connection to host (host name mismatch)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (peer dropped connection "
-"before responding)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (self-signed certificate)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (untrusted certificate)."
-msgstr ""
-
-msgid "Unable to establish a secure connection to host."
-msgstr ""
-
-msgid "Unable to find destination for job"
-msgstr ""
-
-msgid "Unable to find printer."
-msgstr ""
-
-msgid "Unable to fork filter"
-msgstr ""
-
-msgid "Unable to generate compressed print file"
-msgstr ""
-
-msgid "Unable to get backend exit status."
-msgstr ""
-
-msgid "Unable to get class list:"
-msgstr "클래스 목록을 얻을 수 없음:"
-
-msgid "Unable to get class status:"
-msgstr "클래스 상태를 알 수 없음:"
-
-msgid "Unable to get list of printer drivers:"
-msgstr "프린터 드라이버 목록을 얻을 수 없음:"
-
-msgid "Unable to get printer attributes:"
-msgstr "프린터 속성을 얻을 수 없음:"
-
-msgid "Unable to get printer list:"
-msgstr "프린터 목록을 얻을 수 없음:"
-
-msgid "Unable to get printer status."
-msgstr ""
-
-msgid "Unable to get printer status:"
-msgstr "프린터 상태를 알 수 없습니다:"
-
-#, c-format
-msgid "Unable to install Windows 2000 printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to install Windows 9x printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to locate printer \"%s\"."
-msgstr ""
-
-msgid "Unable to locate printer."
-msgstr ""
-
-msgid "Unable to modify class:"
-msgstr "클래스를 수정할 수 없음:"
-
-msgid "Unable to modify printer:"
-msgstr "프린터를 수정할 수 없음:"
-
-msgid "Unable to move job"
-msgstr "작업을 이동할 수 없습니다"
-
-msgid "Unable to move jobs"
-msgstr "작업을 이동할 수 없습니다"
-
-msgid "Unable to open PPD file"
-msgstr "PPD 파일을 열 수 없습니다"
-
-msgid "Unable to open PPD file:"
-msgstr "PPD 파일을 열 수 없음:"
-
-msgid "Unable to open charset file"
-msgstr ""
-
-msgid "Unable to open compressed print file"
-msgstr ""
-
-msgid "Unable to open cupsd.conf file:"
-msgstr "cupsd.conf 파일을 열 수 없음:"
-
-msgid "Unable to open device file"
-msgstr ""
-
-#, c-format
-msgid "Unable to open document #%d in job #%d."
-msgstr ""
-
-msgid "Unable to open print file"
-msgstr ""
-
-msgid "Unable to open psglyphs"
-msgstr ""
-
-msgid "Unable to open raster file"
-msgstr ""
-
-#, c-format
-msgid "Unable to print %d text columns."
-msgstr ""
-
-#, c-format
-msgid "Unable to print %dx%d text page."
-msgstr ""
-
-msgid "Unable to print test page:"
-msgstr "테스트 페이지를 프린트할 수 없음:"
-
-msgid "Unable to read print data"
-msgstr ""
-
-msgid "Unable to read print data."
-msgstr ""
-
-#, c-format
-msgid "Unable to run \"%s\": %s"
-msgstr ""
-
-msgid "Unable to see in file"
-msgstr ""
-
-msgid "Unable to send command to printer driver"
-msgstr ""
-
-msgid "Unable to send data to printer."
-msgstr ""
-
-msgid "Unable to send raster data to the driver."
-msgstr ""
-
-#, c-format
-msgid "Unable to set Windows printer driver (%d)."
-msgstr ""
-
-msgid "Unable to set options:"
-msgstr "옵션을 설정할 수 없음:"
-
-msgid "Unable to set server default:"
-msgstr "서버 기본값을 설정할 수 없음:"
-
-msgid "Unable to start backend process."
-msgstr ""
-
-msgid "Unable to upload cupsd.conf file:"
-msgstr "cupsd.conf 파일을 업로드할 수 없습니다:"
-
-msgid "Unable to use legacy USB class driver."
-msgstr ""
-
-msgid "Unable to write print data"
-msgstr ""
-
-#, c-format
-msgid "Unable to write uncompressed print data: %s"
-msgstr ""
-
-msgid "Unauthorized"
-msgstr "인증되지 않음"
-
-msgid "Units"
-msgstr "장비"
-
-msgid "Unknown"
-msgstr "알 수 없음"
-
-#, c-format
-msgid "Unknown choice \"%s\" for option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown encryption option value: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown file order: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown format character: \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown option \"%s\" with value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown print mode: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown printer-error-policy \"%s\"."
-msgstr "알 수 없는 printer-error-policy \"%s\" ."
-
-#, c-format
-msgid "Unknown printer-op-policy \"%s\"."
-msgstr "알 수 없는 printer-op-policy \"%s\"."
-
-#, c-format
-msgid "Unknown version option value: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported baud rate: %s"
-msgstr ""
-
-#, c-format
-msgid "Unsupported brightness value %s, using brightness=100."
-msgstr ""
-
-#, c-format
-msgid "Unsupported character set \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported compression \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported document-format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported document-format \"%s/%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported gamma value %s, using gamma=1000."
-msgstr ""
-
-msgid "Unsupported margins."
-msgstr ""
-
-msgid "Unsupported media value."
-msgstr ""
-
-#, c-format
-msgid "Unsupported number-up value %d, using number-up=1."
-msgstr ""
-
-#, c-format
-msgid "Unsupported number-up-layout value %s, using number-up-layout=lrtb."
-msgstr ""
-
-#, c-format
-msgid "Unsupported page-border value %s, using page-border=none."
-msgstr ""
-
-msgid "Unsupported raster data."
-msgstr ""
-
-msgid "Unsupported value type"
-msgstr "지원되지 않는 값 유형"
-
-msgid "Upgrade Required"
-msgstr "업그레이드 필요함"
-
-msgid ""
-"Usage:\n"
-"\n"
-"    lpadmin [-h server] -d destination\n"
-"    lpadmin [-h server] -x destination\n"
-"    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m model]\n"
-"                       [-r remove-class] [-v device] [-D description]\n"
-"                       [-P ppd-file] [-o name=value]\n"
-"                       [-u allow:user,user] [-u deny:user,user]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job user title copies options [filename]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job-id user title copies options [file]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job-id user title copies options file"
-msgstr ""
-
-msgid "Usage: convert [ options ]"
-msgstr ""
-
-msgid "Usage: cupsaddsmb [options] printer1 ... printerN"
-msgstr ""
-
-msgid "Usage: cupsctl [options] [param=value ... paramN=valueN]"
-msgstr ""
-
-msgid "Usage: cupsd [options]"
-msgstr ""
-
-msgid "Usage: cupsfilter [ options ] filename"
-msgstr ""
-
-msgid "Usage: cupstestdsc [options] filename.ps [... filename.ps]"
-msgstr ""
-
-msgid ""
-"Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]"
-msgstr ""
-
-msgid "Usage: ipptool [options] URI filename [ ... filenameN ]"
-msgstr ""
-
-msgid "Usage: lpmove job/src dest"
-msgstr ""
-
-msgid ""
-"Usage: lpoptions [-h server] [-E] -d printer\n"
-"       lpoptions [-h server] [-E] [-p printer] -l\n"
-"       lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
-"       lpoptions [-h server] [-E] -x printer"
-msgstr ""
-
-msgid "Usage: lppasswd [-g groupname]"
-msgstr ""
-
-msgid ""
-"Usage: lppasswd [-g groupname] [username]\n"
-"       lppasswd [-g groupname] -a [username]\n"
-"       lppasswd [-g groupname] -x [username]"
-msgstr ""
-
-msgid ""
-"Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]"
-msgstr ""
-
-msgid "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]"
-msgstr ""
-
-msgid "Usage: ppdhtml [options] filename.drv >filename.html"
-msgstr ""
-
-msgid "Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]"
-msgstr ""
-
-msgid "Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]"
-msgstr ""
-
-msgid ""
-"Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]"
-msgstr ""
-
-msgid "Usage: snmp [host-or-ip-address]"
-msgstr ""
-
-msgid "Value uses indefinite length"
-msgstr "값의 길이가 무제한입니다"
-
-msgid "VarBind uses indefinite length"
-msgstr "VarBind의 길이가 무제한입니다"
-
-msgid "Version uses indefinite length"
-msgstr "버전 길이가 무제한입니다"
-
-msgid "Waiting for job to complete."
-msgstr ""
-
-msgid "Waiting for printer to become available."
-msgstr ""
-
-msgid "Waiting for printer to finish."
-msgstr ""
-
-msgid "Warning, no Windows 2000 printer drivers are installed."
-msgstr ""
-
-msgid "Web Interface is Disabled"
-msgstr ""
-
-msgid "Yes"
-msgstr "예"
-
-#, c-format
-msgid ""
-"You must access this page using the URL <A HREF=\"https://%s:%d%s\">https://%"
-"s:%d%s</A>."
-msgstr ""
-"<A HREF=\"https://%s:%d%s\">https://%s:%d%s</A> URL을 사용하여 이 페이지에 연"
-"결해야 합니다."
-
-msgid ""
-"Your password must be at least 6 characters long, cannot contain your "
-"username, and must contain at least one letter and number."
-msgstr ""
-
-msgid "ZPL Label Printer"
-msgstr "ZPL 레이블 프린터"
-
-msgid "Zebra"
-msgstr "Zebra"
-
-msgid "aborted"
-msgstr "중단됨"
-
-msgid "canceled"
-msgstr "취소됨"
-
-msgid "completed"
-msgstr "완료됨"
-
-msgid "convert: Use the -f option to specify a file to convert."
-msgstr ""
-
-msgid "cups-deviced failed to execute."
-msgstr "cups-deviced 실행에 실패했습니다."
-
-msgid "cups-driverd failed to execute."
-msgstr "cups-driverd 실행에 실패했습니다."
-
-#, c-format
-msgid "cupsaddsmb: No PPD file for printer \"%s\" - %s"
-msgstr ""
-
-msgid "cupsctl: Cannot set Listen or Port directly."
-msgstr ""
-
-#, c-format
-msgid "cupsctl: Unable to connect to server: %s"
-msgstr ""
-
-#, c-format
-msgid "cupsctl: Unknown option \"%s\""
-msgstr ""
-
-#, c-format
-msgid "cupsctl: Unknown option \"-%c\""
-msgstr ""
-
-msgid "cupsd: Expected config filename after \"-c\" option."
-msgstr ""
-
-msgid "cupsd: Unable to get current directory."
-msgstr ""
-
-#, c-format
-msgid "cupsd: Unknown argument \"%s\" - aborting."
-msgstr ""
-
-#, c-format
-msgid "cupsd: Unknown option \"%c\" - aborting."
-msgstr ""
-
-msgid "cupsd: launchd(8) support not compiled in, running in normal mode."
-msgstr ""
-
-#, c-format
-msgid "cupsfilter: Invalid document number %d."
-msgstr ""
-
-#, c-format
-msgid "cupsfilter: Invalid job ID %d."
-msgstr ""
-
-msgid "cupsfilter: Only one filename can be specified."
-msgstr ""
-
-#, c-format
-msgid "cupsfilter: Unable to get job file - %s"
-msgstr ""
-
-msgid "cupstestppd: The -q option is incompatible with the -v option."
-msgstr ""
-
-msgid "cupstestppd: The -v option is incompatible with the -q option."
-msgstr ""
-
-#, c-format
-msgid "device for %s/%s: %s"
-msgstr ""
-
-#, c-format
-msgid "device for %s: %s"
-msgstr ""
-
-msgid "error-index uses indefinite length"
-msgstr "error-index 길이가 무제한입니다"
-
-msgid "error-status uses indefinite length"
-msgstr "error-status 길이가 무제한입니다"
-
-msgid "held"
-msgstr "유지됨"
-
-msgid "help\t\tGet help on commands."
-msgstr ""
-
-msgid "idle"
-msgstr "대기"
-
-msgid "ipptool: \"-i\" and \"-n\" are incompatible with -X\"."
-msgstr ""
-
-msgid "ipptool: \"-i\" is incompatible with \"-X\"."
-msgstr ""
-
-msgid "ipptool: \"-n\" is incompatible with \"-X\"."
-msgstr ""
-
-#, c-format
-msgid "ipptool: Bad URI - %s."
-msgstr ""
-
-#, c-format
-msgid "ipptool: Bad version %s for \"-V\"."
-msgstr ""
-
-msgid "ipptool: Invalid seconds for \"-i\"."
-msgstr ""
-
-msgid "ipptool: May only specify a single URI."
-msgstr ""
-
-msgid "ipptool: Missing count for \"-n\"."
-msgstr ""
-
-msgid "ipptool: Missing filename for \"-f\"."
-msgstr ""
-
-msgid "ipptool: Missing name=value for \"-d\"."
-msgstr ""
-
-msgid "ipptool: Missing seconds for \"-i\"."
-msgstr ""
-
-msgid "ipptool: Missing timeout for \"-T\"."
-msgstr ""
-
-msgid "ipptool: Missing version for \"-V\"."
-msgstr ""
-
-msgid "ipptool: URI required before test file."
-msgstr ""
-
-#, c-format
-msgid "ipptool: Unknown option \"-%c\"."
-msgstr ""
-
-msgid "job-printer-uri attribute missing."
-msgstr ""
-
-msgid "lpadmin: Class name can only contain printable characters."
-msgstr ""
-
-msgid "lpadmin: Expected PPD after \"-P\" option."
-msgstr ""
-
-msgid "lpadmin: Expected allow/deny:userlist after \"-u\" option."
-msgstr ""
-
-msgid "lpadmin: Expected class after \"-r\" option."
-msgstr ""
-
-msgid "lpadmin: Expected class name after \"-c\" option."
-msgstr ""
-
-msgid "lpadmin: Expected description after \"-D\" option."
-msgstr ""
-
-msgid "lpadmin: Expected device URI after \"-v\" option."
-msgstr ""
-
-msgid "lpadmin: Expected file type(s) after \"-I\" option."
-msgstr ""
-
-msgid "lpadmin: Expected hostname after \"-h\" option."
-msgstr ""
-
-msgid "lpadmin: Expected interface after \"-i\" option."
-msgstr ""
-
-msgid "lpadmin: Expected location after \"-L\" option."
-msgstr ""
-
-msgid "lpadmin: Expected model after \"-m\" option."
-msgstr ""
-
-msgid "lpadmin: Expected name after \"-R\" option."
-msgstr ""
-
-msgid "lpadmin: Expected name=value after \"-o\" option."
-msgstr ""
-
-msgid "lpadmin: Expected printer after \"-p\" option."
-msgstr ""
-
-msgid "lpadmin: Expected printer name after \"-d\" option."
-msgstr ""
-
-msgid "lpadmin: Expected printer or class after \"-x\" option."
-msgstr ""
-
-msgid "lpadmin: No member names were seen."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Printer %s is already a member of class %s."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Printer %s is not a member of class %s."
-msgstr ""
-
-msgid "lpadmin: Printer name can only contain printable characters."
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to add a printer to the class:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unable to connect to server: %s"
-msgstr ""
-
-msgid "lpadmin: Unable to create temporary file"
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to delete option:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unable to open PPD file \"%s\" - %s"
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to remove a printer from the class:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to set the printer options:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unknown allow/deny option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unknown argument \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unknown option \"%c\"."
-msgstr ""
-
-msgid "lpadmin: Warning - content type list ignored."
-msgstr ""
-
-msgid "lpc> "
-msgstr "lpc> "
-
-msgid "lpinfo: Expected 1284 device ID string after \"--device-id\"."
-msgstr ""
-
-msgid "lpinfo: Expected language after \"--language\"."
-msgstr ""
-
-msgid "lpinfo: Expected make and model after \"--make-and-model\"."
-msgstr ""
-
-msgid "lpinfo: Expected product string after \"--product\"."
-msgstr ""
-
-msgid "lpinfo: Expected scheme list after \"--exclude-schemes\"."
-msgstr ""
-
-msgid "lpinfo: Expected scheme list after \"--include-schemes\"."
-msgstr ""
-
-msgid "lpinfo: Expected timeout after \"--timeout\"."
-msgstr ""
-
-#, c-format
-msgid "lpinfo: Unknown argument \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpinfo: Unknown option \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "lpinfo: Unknown option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpmove: Unable to connect to server: %s"
-msgstr ""
-
-#, c-format
-msgid "lpmove: Unknown argument \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpmove: Unknown option \"%c\"."
-msgstr ""
-
-msgid "lpoptions: No printers."
-msgstr ""
-
-#, c-format
-msgid "lpoptions: Unable to add printer or instance: %s"
-msgstr ""
-
-#, c-format
-msgid "lpoptions: Unable to get PPD file for %s: %s"
-msgstr ""
-
-#, c-format
-msgid "lpoptions: Unable to open PPD file for %s."
-msgstr ""
-
-msgid "lpoptions: Unknown printer or class."
-msgstr ""
-
-msgid "lppasswd: Only root can add or delete passwords."
-msgstr ""
-
-msgid "lppasswd: Password file busy."
-msgstr ""
-
-msgid "lppasswd: Password file not updated."
-msgstr ""
-
-msgid "lppasswd: Sorry, password doesn't match."
-msgstr ""
-
-msgid "lppasswd: Sorry, password rejected."
-msgstr ""
-
-msgid "lppasswd: Sorry, passwords don't match."
-msgstr ""
-
-#, c-format
-msgid "lppasswd: Unable to copy password string: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: Unable to open password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: Unable to write to password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: failed to backup old password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: failed to rename password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: user \"%s\" and group \"%s\" do not exist."
-msgstr ""
-
-#, c-format
-msgid ""
-"lpstat: error - %s environment variable names non-existent destination \"%s"
-"\"."
-msgstr ""
-
-#, c-format
-msgid "members of class %s:"
-msgstr ""
-
-msgid "no entries"
-msgstr ""
-
-msgid "no system default destination"
-msgstr ""
-
-msgid "notify-events not specified."
-msgstr ""
-
-#, c-format
-msgid "notify-recipient-uri URI \"%s\" is already used."
-msgstr ""
-
-#, c-format
-msgid "notify-recipient-uri URI \"%s\" uses unknown scheme."
-msgstr ""
-
-msgid "pending"
-msgstr "보류 중"
-
-#, c-format
-msgid "ppdc: Adding include directory \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Adding/updating UI text from %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad boolean value (%s) on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad font attribute: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad resolution name \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad status keyword %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad variable substitution ($%c) on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Choice found on line %d of %s with no Option."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Duplicate #po for locale %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected a filter definition on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected a program name on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected boolean value on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected charset after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected choice code on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected choice name/text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected color order for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected colorspace for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected compression for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected constraints string for UIConstraints on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Expected driver type keyword following DriverType on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected duplex type after Duplex on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected encoding after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected filename after #po %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected group name/text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected include filename on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected integer on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected locale after #po on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after FileName on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after Manufacturer on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after MediaSize on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after ModelName on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after PCFileName on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text after Installable on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text after Resolution on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text combination for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected option name/text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected option section on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected option type on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected override field after Resolution on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected quoted string on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected real number on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Expected resolution/mediatype following ColorProfile on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Expected resolution/mediatype following SimpleColorProfile on line %d "
-"of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected selector after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected status after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected string after Copyright on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected string after Version on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected two option names on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected value after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected version after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid #include/#po filename \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid cost for filter on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid empty MIME type for filter on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid empty program name for filter on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid option section \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid option type \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Loading driver information file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Loading messages for locale \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Loading messages from \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Missing #endif at end of \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Missing #if on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Need a msgid line before any translation strings on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: No message catalog provided for locale %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Option %s defined in two different groups on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Option %s redefined with a different type on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Option constraint must *name on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Too many nested #if's on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to create PPD file \"%s\" - %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to create output directory %s: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to create output pipes: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to execute cupstestppd: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to find #po file %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to find include file \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to find localization for \"%s\" - %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to load localization file \"%s\" - %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to open %s: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Undefined variable (%s) on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unexpected text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown driver type %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown media size \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown message catalog format for \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown token \"%s\" seen on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Unknown trailing characters in real number \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unterminated string starting with %c on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Warning - overlapping filename \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Writing %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Writing PPD files to directory \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s."
-msgstr ""
-
-#, c-format
-msgid "ppdmerge: Ignoring PPD file %s."
-msgstr ""
-
-#, c-format
-msgid "ppdmerge: Unable to backup %s to %s - %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s disabled since %s -"
-msgstr ""
-
-#, c-format
-msgid "printer %s is idle.  enabled since %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s now printing %s-%d.  enabled since %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s/%s disabled since %s -"
-msgstr ""
-
-#, c-format
-msgid "printer %s/%s is idle.  enabled since %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s/%s now printing %s-%d.  enabled since %s"
-msgstr ""
-
-msgid "processing"
-msgstr "처리 중"
-
-#, c-format
-msgid "request id is %s-%d (%d file(s))"
-msgstr ""
-
-msgid "request-id uses indefinite length"
-msgstr "request-id 길이가 무제한입니다"
-
-msgid "scheduler is not running"
-msgstr ""
-
-msgid "scheduler is running"
-msgstr ""
-
-#, c-format
-msgid "stat of %s failed: %s"
-msgstr "%s 통계에 실패함: %s"
-
-msgid "status\t\tShow status of daemon and queue."
-msgstr ""
-
-msgid "stopped"
-msgstr "중단됨"
-
-#, c-format
-msgid "system default destination: %s"
-msgstr ""
-
-#, c-format
-msgid "system default destination: %s/%s"
-msgstr ""
-
-msgid "unknown"
-msgstr "알 수 없음"
-
-msgid "untitled"
-msgstr "무제"
-
-msgid "variable-bindings uses indefinite length"
-msgstr "variable-bindings의 길이가 무제한입니다"
-
-#~ msgid "\t\t(all)\n"
-#~ msgstr "\t\t(전체)\n"
-
-#~ msgid "\t\t(none)\n"
-#~ msgstr "\t\t(없음)\n"
-
-#~ msgid "\t%d entries\n"
-#~ msgstr "\t%d개의 엔트리\n"
-
-#~ msgid "\tAfter fault: continue\n"
-#~ msgstr "\t결함 후: 계속\n"
-
-#~ msgid "\tAlerts:"
-#~ msgstr "\t경고:"
-
-#~ msgid "\tBanner required\n"
-#~ msgstr "\t배너 필요함\n"
-
-#~ msgid "\tCharset sets:\n"
-#~ msgstr "\t문자 세트 설정:\n"
-
-#~ msgid "\tConnection: direct\n"
-#~ msgstr "\t연결: 직접\n"
-
-#~ msgid "\tConnection: remote\n"
-#~ msgstr "\t연결: 원격\n"
-
-#~ msgid "\tDefault page size:\n"
-#~ msgstr "\t기본 페이지 크기:\n"
-
-#~ msgid "\tDefault pitch:\n"
-#~ msgstr "\t기본 피치:\n"
-
-#~ msgid "\tDefault port settings:\n"
-#~ msgstr "\t기본 포트 설정:\n"
-
-#~ msgid "\tDescription: %s\n"
-#~ msgstr "\t설명: %s\n"
-
-#~ msgid ""
-#~ "\tForm mounted:\n"
-#~ "\tContent types: any\n"
-#~ "\tPrinter types: unknown\n"
-#~ msgstr ""
-#~ "\t구성 마운트됨:\n"
-#~ "\t콘텐츠 유형: 모두\n"
-#~ "\t프린터 유형: 알 수 없음\n"
-
-#~ msgid "\tForms allowed:\n"
-#~ msgstr "\t구성 허용됨:\n"
-
-#~ msgid "\tInterface: %s.ppd\n"
-#~ msgstr "\t인터페이스: %s.ppd\n"
-
-#~ msgid "\tInterface: %s/interfaces/%s\n"
-#~ msgstr "\t인터페이스: %s/인터페이스/%s\n"
-
-#~ msgid "\tInterface: %s/ppd/%s.ppd\n"
-#~ msgstr "\t인터페이스: %s/ppd/%s.ppd\n"
-
-#~ msgid "\tLocation: %s\n"
-#~ msgstr "\t위치: %s\n"
-
-#~ msgid "\tOn fault: no alert\n"
-#~ msgstr "\t결함 시: 경고 안 함\n"
-
-#~ msgid "\tUsers allowed:\n"
-#~ msgstr "\t사용자 허용됨:\n"
-
-#~ msgid "\tUsers denied:\n"
-#~ msgstr "\t사용자 거부됨:\n"
-
-#~ msgid "\tdaemon present\n"
-#~ msgstr "\t데몬 표시\n"
-
-#~ msgid "\tno entries\n"
-#~ msgstr "\t엔트리 없음\n"
-
-#~ msgid "\tprinter is on device '%s' speed -1\n"
-#~ msgstr "\t프린터가 '%s' 스피드 -1 장비에 있습니다\n"
-
-#~ msgid "\tprinting is disabled\n"
-#~ msgstr "\t프린트가 비활성화되었습니다\n"
-
-#~ msgid "\tprinting is enabled\n"
-#~ msgstr "\t프린트가 활성화되었습니다\n"
-
-#~ msgid "\tqueued for %s\n"
-#~ msgstr "\t%s에 대한 대기열\n"
-
-#~ msgid "\tqueuing is disabled\n"
-#~ msgstr "\t대기열이 비활성화되었습니다\n"
-
-#~ msgid "\tqueuing is enabled\n"
-#~ msgstr "\t대기열이 활성화되었습니다\n"
-
-#~ msgid "\treason unknown\n"
-#~ msgstr "\t알 수 없는 이유\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "    DETAILED CONFORMANCE TEST RESULTS\n"
-#~ msgstr ""
-#~ "\n"
-#~ "    적합 테스트 상세 결과\n"
-
-#~ msgid "                REF: Page 15, section 3.1.\n"
-#~ msgstr "                REF: 15페이지, 섹션 3.1.\n"
-
-#~ msgid "                REF: Page 15, section 3.2.\n"
-#~ msgstr "                REF: 15페이지, 섹션 3.2.\n"
-
-#~ msgid "                REF: Page 19, section 3.3.\n"
-#~ msgstr "                REF: 19페이지, 섹션 3.3.\n"
-
-#~ msgid "                REF: Page 20, section 3.4.\n"
-#~ msgstr "                REF: 20페이지, 섹션 3.4.\n"
-
-#~ msgid "                REF: Page 27, section 3.5.\n"
-#~ msgstr "                REF: 27페이지, 섹션 3.5.\n"
-
-#~ msgid "                REF: Page 42, section 5.2.\n"
-#~ msgstr "                REF: 42페이지, 섹션 5.2.\n"
-
-#~ msgid "                REF: Pages 16-17, section 3.2.\n"
-#~ msgstr "                REF: 16-17페이지, 섹션 3.2.\n"
-
-#~ msgid "                REF: Pages 42-45, section 5.2.\n"
-#~ msgstr "                REF: 42-45페이지, 섹션 5.2.\n"
-
-#~ msgid "                REF: Pages 45-46, section 5.2.\n"
-#~ msgstr "                REF: 45-46페이지, 섹션 5.2.\n"
-
-#~ msgid "                REF: Pages 48-49, section 5.2.\n"
-#~ msgstr "                REF: 48-49페이지, 섹션 5.2.\n"
-
-#~ msgid "                REF: Pages 52-54, section 5.2.\n"
-#~ msgstr "                REF: 52-54페이지, 섹션 5.2.\n"
-
-#~ msgid "        %-39.39s %.0f bytes\n"
-#~ msgstr "        %-39.39s %.0f바이트\n"
-
-#~ msgid "        PASS    Default%s\n"
-#~ msgstr "        PASS    Default%s\n"
-
-#~ msgid "        PASS    DefaultImageableArea\n"
-#~ msgstr "        PASS    DefaultImageableArea\n"
-
-#~ msgid "        PASS    DefaultPaperDimension\n"
-#~ msgstr "        PASS    DefaultPaperDimension\n"
-
-#~ msgid "        PASS    FileVersion\n"
-#~ msgstr "        PASS    FileVersion\n"
-
-#~ msgid "        PASS    FormatVersion\n"
-#~ msgstr "        PASS    FormatVersion\n"
-
-#~ msgid "        PASS    LanguageEncoding\n"
-#~ msgstr "        PASS    LanguageEncoding\n"
-
-#~ msgid "        PASS    LanguageVersion\n"
-#~ msgstr "        PASS    LanguageVersion\n"
-
-#~ msgid "        PASS    Manufacturer\n"
-#~ msgstr "        PASS    Manufacturer\n"
-
-#~ msgid "        PASS    ModelName\n"
-#~ msgstr "        PASS    ModelName\n"
-
-#~ msgid "        PASS    NickName\n"
-#~ msgstr "        PASS    NickName\n"
-
-#~ msgid "        PASS    PCFileName\n"
-#~ msgstr "        PASS    PCFileName\n"
-
-#~ msgid "        PASS    PSVersion\n"
-#~ msgstr "        PASS    PSVersion\n"
-
-#~ msgid "        PASS    PageRegion\n"
-#~ msgstr "        PASS    PageRegion\n"
-
-#~ msgid "        PASS    PageSize\n"
-#~ msgstr "        PASS    PageSize\n"
-
-#~ msgid "        PASS    Product\n"
-#~ msgstr "        PASS    Product\n"
-
-#~ msgid "        PASS    ShortNickName\n"
-#~ msgstr "        PASS    ShortNickName\n"
-
-#~ msgid ""
-#~ "        WARN    \"%s %s\" conflicts with \"%s %s\"\n"
-#~ "                (constraint=\"%s %s %s %s\")\n"
-#~ msgstr ""
-#~ "        WARN    \"%s %s\"이(가) \"%s %s\"와(과) 충돌합니다\n"
-#~ "                (제한=\"%s %s %s %s\")\n"
-
-#~ msgid "        WARN    %s has no corresponding options!\n"
-#~ msgstr "        WARN    %s에 일치하는 옵션이 없습니다!\n"
-
-#~ msgid ""
-#~ "        WARN    %s shares a common prefix with %s\n"
-#~ "                REF: Page 15, section 3.2.\n"
-#~ msgstr ""
-#~ "        WARN    %s이(가) %s와(과) 일반적인 접두어를 공유합니다\n"
-#~ "                REF: 15페이지, 섹션 3.2.\n"
-
-#~ msgid "        WARN    Default choices conflicting!\n"
-#~ msgstr "        WARN    기본 선택사항 충돌!\n"
-
-#~ msgid ""
-#~ "        WARN    Duplex option keyword %s may not work as expected and "
-#~ "should be named Duplex!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "        WARN    양면 옵션 키워드 %s이(가) 예상대로 동작하지 않을 수 있으"
-#~ "며 이름을 양면으로 해야 합니다!\n"
-#~ "                REF: 122페이지, 섹션 5.17\n"
-
-#~ msgid ""
-#~ "        WARN    File contains a mix of CR, LF, and CR LF line endings!\n"
-#~ msgstr "        WARN    파일이 CR, LF 및 CR LF 줄 끝을 포함합니다!\n"
-
-#~ msgid ""
-#~ "        WARN    LanguageEncoding required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 56-57, section 5.3.\n"
-#~ msgstr ""
-#~ "        WARN    PPD 4.3 사양은 LanguageEncoding이 필요합니다.\n"
-#~ "                REF: 56-57페이지, 섹션 5.3.\n"
-
-#~ msgid "        WARN    Line %d only contains whitespace!\n"
-#~ msgstr "        WARN    %d번째 줄에는 여백만 있습니다!\n"
-
-#~ msgid ""
-#~ "        WARN    Manufacturer required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 58-59, section 5.3.\n"
-#~ msgstr ""
-#~ "        WARN    PPD 4.3 사양은 Manufacturer이 필요합니다.\n"
-#~ "                REF: 58-59페이지, 섹션 5.3.\n"
-
-#~ msgid "        WARN    Missing APDialogExtension file \"%s\"\n"
-#~ msgstr "        WARN    \"%s\" APDialogExtension 파일 유실됨\n"
-
-#~ msgid "        WARN    Missing APPrinterIconPath file \"%s\"\n"
-#~ msgstr "        WARN    \"%s\" APPrinterIconPath 파일 유실됨\n"
-
-#~ msgid ""
-#~ "        WARN    Non-Windows PPD files should use lines ending with only "
-#~ "LF, not CR LF!\n"
-#~ msgstr ""
-#~ "        WARN    비 Windows PPD 파일은 줄 끝을 CR LF가 아닌 LF만 있는 줄 끝"
-#~ "을 사용해야 합니다!\n"
-
-#~ msgid ""
-#~ "        WARN    Obsolete PPD version %.1f!\n"
-#~ "                REF: Page 42, section 5.2.\n"
-#~ msgstr ""
-#~ "        WARN    이전 PPD 버전 %.1f!\n"
-#~ "                REF: 42페이지, 섹션 5.2.\n"
-
-#~ msgid ""
-#~ "        WARN    PCFileName longer than 8.3 in violation of PPD spec.\n"
-#~ "                REF: Pages 61-62, section 5.3.\n"
-#~ msgstr ""
-#~ "        WARN    PPD 사양에 위반되는 8.3 이상의 PCFileName.\n"
-#~ "                REF: 61-62페이지, 섹션 5.3.\n"
-
-#~ msgid ""
-#~ "        WARN    Protocols contains PJL but JCL attributes are not set.\n"
-#~ "                REF: Pages 78-79, section 5.7.\n"
-#~ msgstr ""
-#~ "        WARN    프로토콜은 PJL을 포함하지만 JCL 속성은 설정되지 않았습니"
-#~ "다.\n"
-#~ "                REF: 78-79페이지, 섹션 5.7.\n"
-
-#~ msgid ""
-#~ "        WARN    Protocols contains both PJL and BCP; expected TBCP.\n"
-#~ "                REF: Pages 78-79, section 5.7.\n"
-#~ msgstr ""
-#~ "        WARN    프로토콜은 PJL 및 BCP를 모두 포함합니다; TBCP 예상됨.\n"
-#~ "                REF: 78-79페이지, 섹션 5.7.\n"
-
-#~ msgid ""
-#~ "        WARN    ShortNickName required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "        WARN    PPD 4.3 사양은 ShortNickName이 필요합니다.\n"
-#~ "                REF: 64-65페이지, 섹션 5.3.\n"
-
-#~ msgid "      %s  %s %s does not exist!\n"
-#~ msgstr "      %s  %s %s이(가) 존재하지 않습니다!\n"
-
-#~ msgid ""
-#~ "      %s  Bad %s choice %s!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "      %s  잘못된 %s - 선택사항 %s!\n"
-#~ "                REF: 122페이지, 섹션 5.17\n"
-
-#~ msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s!\n"
-#~ msgstr "      %1$s  %3$s 옵션에 대한 잘못된 UTF-8 \"%2$s\" 번역 스트링!\n"
-
-#~ msgid ""
-#~ "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s!\n"
-#~ msgstr ""
-#~ "      %1$s  %3$s 옵션, %4$s 선택사항에 대한 잘못된 UTF-8 \"%2$s\" 번역 스"
-#~ "트링!\n"
-
-#~ msgid "      %s  Bad cupsFilter value \"%s\"!\n"
-#~ msgstr "      %s  잘못된 \"%s\" cupsFilter 값!\n"
-
-#~ msgid "      %s  Bad cupsICCProfile %s!\n"
-#~ msgstr "      %s  잘못된 %s cupsICCProfile!\n"
-
-#~ msgid "      %s  Bad cupsPreFilter value \"%s\"!\n"
-#~ msgstr "      %s  잘못된 \"%s\" cupsPreFilter 값!\n"
-
-#~ msgid "      %s  Bad cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr "      %s  잘못된 cupsUIConstraints %s: \"%s\"!\n"
-
-#~ msgid "      %s  Bad language \"%s\"!\n"
-#~ msgstr "      %s  잘못된 \"%s\" 언어!\n"
-
-#~ msgid "      %s  Empty cupsUIConstraints %s!\n"
-#~ msgstr "      %s  cupsUIConstraints %s이(가) 비어있음!\n"
-
-#~ msgid "      %s  Missing \"%s\" translation string for option %s!\n"
-#~ msgstr "      %1$s  %3$s 옵션에 대한 \"%2$s\" 번역 스트링 유실됨!\n"
-
-#~ msgid ""
-#~ "      %s  Missing \"%s\" translation string for option %s, choice %s!\n"
-#~ msgstr ""
-#~ "      %1$s  %3$s 옵션, %4$s 선택사항에 대한 \"%2$s\" 번역 스트링 유실됨!\n"
-
-#~ msgid ""
-#~ "      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"!\n"
-#~ msgstr ""
-#~ "      %1$s  \"*%4$s %5$s *%6$s %7$s\" UIConstraints에 있는 *%2$s %3$s 선택"
-#~ "사항 유실됨!\n"
-
-#~ msgid "      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr ""
-#~ "      %1$s  %4$s cupsUIConstraints에 있는 *%2$s %3$s 선택사항 유실됨: \"%5"
-#~ "$s\"!\n"
-
-#~ msgid "      %s  Missing cupsFilter file \"%s\"\n"
-#~ msgstr "      %s  \"%s\" cupsFilter 파일이 유실됨\n"
-
-#~ msgid "      %s  Missing cupsICCProfile file \"%s\"!\n"
-#~ msgstr "      %s  \"%s\" cupsICCProfile 파일이 유실됨!\n"
-
-#~ msgid "      %s  Missing cupsPreFilter file \"%s\"\n"
-#~ msgstr "      %s  \"%s\" cupsPreFilter 파일 유실됨\n"
-
-#~ msgid "      %s  Missing cupsUIResolver %s!\n"
-#~ msgstr "      %s  %s cupsUIResolver 유실됨!\n"
-
-#~ msgid "      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\"!\n"
-#~ msgstr ""
-#~ "      %1$s  \"*%3$s %4$s *%5$s %6$s\" UIConstraints에 있는 %2$s 옵션 유실"
-#~ "됨!\n"
-
-#~ msgid "      %s  Missing option %s in cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr ""
-#~ "      %1$s  %3$s cupsUIConstraints에 있는 %2$s 옵션 유실됨: \"%4$s\"!\n"
-
-#~ msgid "      %s  No base translation \"%s\" is included in file!\n"
-#~ msgstr "      %s  파일에 \"%s\" 기초 번역이 포함되어 있지 않습니다!\n"
-
-#~ msgid ""
-#~ "      %s  REQUIRED %s does not define choice None!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "      %s  선택사항 없음을 정의하지 않은 %s이(가) 필요!\n"
-#~ "                REF: 122페이지, 섹션 5.17\n"
-
-#~ msgid "      %s  cupsICCProfile %s hash value collides with %s!\n"
-#~ msgstr "      %s  불필요한 %s cupsICCProfile 값이 %s와(과) 충돌함!\n"
-
-#~ msgid "      %s  cupsUIResolver %s causes a loop!\n"
-#~ msgstr "      %s  %s cupsUIResolver가 루프를 유발함!\n"
-
-#~ msgid "      **FAIL**  %s choice names %s and %s differ only by case!\n"
-#~ msgstr "      **FAIL**  %s 선택사항 이름 %s 및 %s이(가) 경우별로만 다름!\n"
-
-#~ msgid ""
-#~ "      **FAIL**  %s must be 1284DeviceID!\n"
-#~ "                REF: Page 72, section 5.5\n"
-#~ msgstr ""
-#~ "      **FAIL**  %s은(는) 1284DeviceID이어야 합니다!\n"
-#~ "                REF: 72페이지, 섹션 5.5\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Default%s %s\n"
-#~ "                REF: Page 40, section 4.5.\n"
-#~ msgstr ""
-#~ "      **FAIL**  잘못된 Default%s %s\n"
-#~ "                REF: 40페이지, 섹션 4.5.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD DefaultImageableArea %s!\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  잘못된 DefaultImageableArea %s!\n"
-#~ "                REF: 102페이지, 섹션 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD DefaultPaperDimension %s!\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  잘못된 DefaultPaperDimension %s!\n"
-#~ "                REF: 103페이지, 섹션 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD JobPatchFile attribute in file\n"
-#~ "                REF: Page 24, section 3.4.\n"
-#~ msgstr ""
-#~ "      **FAIL**  파일에 있는 잘못된 JobPatchFile 속성\n"
-#~ "                REF: 24페이지, 섹션 3.4.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Manufacturer (should be \"HP\")\n"
-#~ "                REF: Page 211, table D.1.\n"
-#~ msgstr ""
-#~ "      **FAIL**  잘못된 Manufacturer(\"HP\"이어야 함)\n"
-#~ "                REF: 211페이지, 표 D.1.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Manufacturer (should be \"Oki\")\n"
-#~ "                REF: Page 211, table D.1.\n"
-#~ msgstr ""
-#~ "      **FAIL**  잘못된 Manufacturer(\"Oki\"이어야 함)\n"
-#~ "                REF: 211페이지, 표 D.1.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n"
-#~ "                REF: Pages 59-60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  잘못된 ModelName - \"%c\"은(는) 스트링에서 허용되지 않습니"
-#~ "다.\n"
-#~ "                REF: 59-60페이지, 섹션 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD PSVersion - not \"(string) int\".\n"
-#~ "                REF: Pages 62-64, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  잘못된 PSVersion - \"(string) int\"이(가) 아닙니다.\n"
-#~ "                REF: 62-64페이지, 섹션 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Product - not \"(string)\".\n"
-#~ "                REF: Page 62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  잘못된 Product - \"(string)\"이(가) 아닙니다.\n"
-#~ "                REF: 62페이지, 섹션 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD ShortNickName - longer than 31 chars.\n"
-#~ "                REF: Pages 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  잘못된 ShortNickName - 31자보다 깁니다.\n"
-#~ "                REF: 64-65페이지, 섹션 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad %s choice %s!\n"
-#~ "                REF: Page 84, section 5.9\n"
-#~ msgstr ""
-#~ "      **FAIL**  잘못된 %s - 선택사항 %s!\n"
-#~ "                REF: 84페이지, 섹션 5.9\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad FileVersion \"%s\"\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  잘못된 FileVersion \"%s\"\n"
-#~ "                REF: 56페이지, 섹션 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad FormatVersion \"%s\"\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  잘못된 FormatVersion \"%s\"\n"
-#~ "                REF: 56페이지, 섹션 5.3.\n"
-
-#~ msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1!\n"
-#~ msgstr ""
-#~ "      **FAIL**  잘못된 LanguageEncoding %s - ISOLatin1이어야 합니다!\n"
-
-#~ msgid "      **FAIL**  Bad LanguageVersion %s - must be English!\n"
-#~ msgstr "      **FAIL**  잘못된 LanguageVersion %s - 영어여야 합니다!\n"
-
-#~ msgid "      **FAIL**  Default option code cannot be interpreted: %s\n"
-#~ msgstr "      **FAIL**  기본 옵션 코드를 해석할 수 없습니다: %s\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Default translation string for option %s choice %s "
-#~ "contains 8-bit characters!\n"
-#~ msgstr ""
-#~ "      **FAIL**  %s 옵션 %s 선택사항에 대한 기본 번역 스트링이 8비트 문자"
-#~ "를 포함합니다!\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Default translation string for option %s contains 8-bit "
-#~ "characters!\n"
-#~ msgstr ""
-#~ "      **FAIL**  %s 옵션에 대한 기본 번역 스트링이 8비트 문자를 포함합니"
-#~ "다!\n"
-
-#~ msgid "      **FAIL**  Group names %s and %s differ only by case!\n"
-#~ msgstr "      **FAIL**  %s 및 %s 그룹 이름이 경우별로만 다름!\n"
-
-#~ msgid "      **FAIL**  Multiple occurrences of %s choice name %s!\n"
-#~ msgstr "      **FAIL**  다중  %s 항목이 %s 이름을 선택!\n"
-
-#~ msgid "      **FAIL**  Option names %s and %s differ only by case!\n"
-#~ msgstr "      **FAIL**  %s 및 %s 옵션 이름이 경우별로만 다름!\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Default%s\n"
-#~ "                REF: Page 40, section 4.5.\n"
-#~ msgstr ""
-#~ "      **FAIL**  Default%s 필요\n"
-#~ "                REF: 40페이지, 섹션 4.5.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED DefaultImageableArea\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  DefaultImageableArea 필요\n"
-#~ "                REF: 102페이지, 섹션 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED DefaultPaperDimension\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  DefaultPaperDimension 필요\n"
-#~ "                REF: 103페이지, 섹션 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED FileVersion\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  FileVersion 필요\n"
-#~ "                REF: 56페이지, 섹션 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED FormatVersion\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  FormatVersion 필요\n"
-#~ "                REF: 56페이지, 섹션 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ImageableArea for PageSize %s\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  %s PageSize에 대한 ImageableArea 필요\n"
-#~ "                REF: 41페이지, 섹션 5.\n"
-#~ "                REF: 102페이지, 섹션 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED LanguageEncoding\n"
-#~ "                REF: Pages 56-57, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  LanguageEncoding 필요\n"
-#~ "                REF: 56-57페이지, 섹션 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED LanguageVersion\n"
-#~ "                REF: Pages 57-58, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  LanguageVersion 필요\n"
-#~ "                REF: 57-58페이지, 섹션 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Manufacturer\n"
-#~ "                REF: Pages 58-59, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  Manufacturer 필요\n"
-#~ "                REF: 58-59페이지, 섹션 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ModelName\n"
-#~ "                REF: Pages 59-60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  ModelName 필요\n"
-#~ "                REF: 59-60페이지, 섹션 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED NickName\n"
-#~ "                REF: Page 60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  NickName 필요\n"
-#~ "                REF: 60페이지, 섹션 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PCFileName\n"
-#~ "                REF: Pages 61-62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  PCFileName 필요\n"
-#~ "                REF: 61-62페이지, 섹션 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PSVersion\n"
-#~ "                REF: Pages 62-64, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  PSVersion 필요\n"
-#~ "                REF: 62-64페이지, 섹션 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageRegion\n"
-#~ "                REF: Page 100, section 5.14.\n"
-#~ msgstr ""
-#~ "      **FAIL**  PageRegion 필요\n"
-#~ "                REF: 100페이지, 섹션 5.14.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageSize\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 99, section 5.14.\n"
-#~ msgstr ""
-#~ "      **FAIL**  PageSize 필요\n"
-#~ "                REF: 41페이지, 섹션 5.\n"
-#~ "                REF: 99페이지, 섹션 5.14.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageSize\n"
-#~ "                REF: Pages 99-100, section 5.14.\n"
-#~ msgstr ""
-#~ "      **FAIL**  PageSize 필요\n"
-#~ "                REF: 99-100페이지, 섹션 5.14.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PaperDimension for PageSize %s\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  %s PageSize에 대한 PaperDimension 필요\n"
-#~ "                REF: 41페이지, 섹션 5.\n"
-#~ "                REF: 103페이지, 섹션 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Product\n"
-#~ "                REF: Page 62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  Product 필요\n"
-#~ "                REF: 62페이지, 섹션 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ShortNickName\n"
-#~ "                REF: Page 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  ShortNickName 필요\n"
-#~ "                REF: 64-65페이지, 섹션 5.3.\n"
-
-#~ msgid "    %d ERRORS FOUND\n"
-#~ msgstr "    %d개의 오류 발견\n"
-
-#~ msgid ""
-#~ "    Bad %%%%BoundingBox: on line %d!\n"
-#~ "        REF: Page 39, %%%%BoundingBox:\n"
-#~ msgstr ""
-#~ "    잘못된 %%%%BoundingBox: %d번째 줄!\n"
-#~ "        REF: 39페이지, %%%%BoundingBox:\n"
-
-#~ msgid ""
-#~ "    Bad %%%%Page: on line %d!\n"
-#~ "        REF: Page 53, %%%%Page:\n"
-#~ msgstr ""
-#~ "    잘못된 %%%%Page: %d번째 줄!\n"
-#~ "        REF: 53페이지, %%%%Page:\n"
-
-#~ msgid ""
-#~ "    Bad %%%%Pages: on line %d!\n"
-#~ "        REF: Page 43, %%%%Pages:\n"
-#~ msgstr ""
-#~ "    잘못된 %%%%Pages: %d번째 줄!\n"
-#~ "        REF: 43페이지, %%%%Pages:\n"
-
-#~ msgid ""
-#~ "    Line %d is longer than 255 characters (%d)!\n"
-#~ "        REF: Page 25, Line Length\n"
-#~ msgstr ""
-#~ "    %d번째 줄이 255자보다 깁니다(%d)!\n"
-#~ "        REF: 25페이지, 줄 길이\n"
-
-#~ msgid ""
-#~ "    Missing %!PS-Adobe-3.0 on first line!\n"
-#~ "        REF: Page 17, 3.1 Conforming Documents\n"
-#~ msgstr ""
-#~ "    첫번째 줄에 있는 %!PS-Adobe-3.0이 유실됨!\n"
-#~ "        REF: 17페이지, 3.1 도큐멘트 구성하기\n"
-
-#~ msgid ""
-#~ "    Missing %%EndComments comment!\n"
-#~ "        REF: Page 41, %%EndComments\n"
-#~ msgstr ""
-#~ "    %%EndComments 설명 유실됨!\n"
-#~ "        REF: 41페이지, %%EndComments\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%BoundingBox: comment!\n"
-#~ "        REF: Page 39, %%BoundingBox:\n"
-#~ msgstr ""
-#~ "    유실되었거나 잘못된 %%BoundingBox: 설명!\n"
-#~ "        REF: 39페이지, %%BoundingBox:\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%Page: comments!\n"
-#~ "        REF: Page 53, %%Page:\n"
-#~ msgstr ""
-#~ "    유실되었거나 잘못된 %%Page: 설명!\n"
-#~ "        REF: 53페이지, %%Page:\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%Pages: comment!\n"
-#~ "        REF: Page 43, %%Pages:\n"
-#~ msgstr ""
-#~ "    유실되었거나 잘못된 %%Page: 설명!\n"
-#~ "        REF: 43페이지, %%Pages:\n"
-
-#~ msgid "    NO ERRORS FOUND\n"
-#~ msgstr "    발견된 오류 없음\n"
-
-#~ msgid "    Saw %d lines that exceeded 255 characters!\n"
-#~ msgstr "    255자를 초과하는 %d개의 줄 발견!\n"
-
-#~ msgid "    Too many %%BeginDocument comments!\n"
-#~ msgstr "    너무 많은 %%BeginDocument 설명!\n"
-
-#~ msgid "    Too many %%EndDocument comments!\n"
-#~ msgstr "    너무 많은 %%EndDocument 설명!\n"
-
-#~ msgid "    Warning: file contains binary data!\n"
-#~ msgstr "    경고: 파일에 바이너리 데이터가 포함되어 있습니다!\n"
-
-#~ msgid "    Warning: no %%EndComments comment in file!\n"
-#~ msgstr "    경고: 파일에 %%EndComments 설명이 없습니다!\n"
-
-#~ msgid "    Warning: obsolete DSC version %.1f in file!\n"
-#~ msgstr "    경고: 파일에 이전 DSC 버전 %.1f가 있습니다!\n"
-
-#~ msgid " FAIL\n"
-#~ msgstr " FAIL\n"
-
-#~ msgid ""
-#~ " FAIL\n"
-#~ "      **FAIL**  Unable to open PPD file - %s\n"
-#~ msgstr ""
-#~ " FAIL\n"
-#~ "      **FAIL**  PPD 파일을 열 수 없음 - %s\n"
-
-#~ msgid ""
-#~ " FAIL\n"
-#~ "      **FAIL**  Unable to open PPD file - %s on line %d.\n"
-#~ msgstr ""
-#~ " FAIL\n"
-#~ "      **FAIL**  PPD 파일을 열 수 없음 - %s, %d번째 줄.\n"
-
-#~ msgid " PASS\n"
-#~ msgstr " PASS\n"
-
-#~ msgid "#10 Envelope"
-#~ msgstr "#10 봉투"
-
-#~ msgid "#11 Envelope"
-#~ msgstr "#11 봉투"
-
-#~ msgid "#12 Envelope"
-#~ msgstr "#12 봉투"
-
-#~ msgid "#14 Envelope"
-#~ msgstr "#14 봉투"
-
-#~ msgid "#9 Envelope"
-#~ msgstr "#9 봉투"
-
-#~ msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes\n"
-#~ msgstr "%-6s %-10.10s %-4d %-10d %-27.27s %.0f바이트\n"
-
-#~ msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes\n"
-#~ msgstr "%-7s %-7.7s %-7d %-31.31s %.0f바이트\n"
-
-#~ msgid "%s accepting requests since %s\n"
-#~ msgstr " %2$s 이후에 %1$s 승인 요청\n"
-
-#~ msgid "%s is not implemented by the CUPS version of lpc.\n"
-#~ msgstr "CUPS 버전의 lpc로는 %s이(가) 실행되지 않습니다.\n"
-
-#~ msgid "%s is not ready\n"
-#~ msgstr "%s이(가) 준비되지 않음\n"
-
-#~ msgid "%s is ready\n"
-#~ msgstr "%s이(가) 준비됨\n"
-
-#~ msgid "%s is ready and printing\n"
-#~ msgstr "%s이(가) 준비되었고 프린트 중\n"
-
-#, fuzzy
-#~ msgid ""
-#~ "%s not accepting requests since %s -\n"
-#~ "\t%s\n"
-#~ msgstr ""
-#~ "%2$s 이후에 %1$s 승인 요청 안 함 -\n"
-#~ "\t%1$s\n"
-
-#~ msgid "%s not supported!"
-#~ msgstr "%s이(가) 지원되지 않음!"
-
-#~ msgid "%s/%s accepting requests since %s\n"
-#~ msgstr "%3$s 이후에 %1$s/%2$s 승인 요청\n"
-
-#~ msgid ""
-#~ "%s/%s not accepting requests since %s -\n"
-#~ "\t%s\n"
-#~ msgstr ""
-#~ "%3$s 이후에 %1$s/%2$s 승인 요청 안 함 -\n"
-#~ "\t%4$s\n"
-
-#~ msgid "%s: %-33.33s [job %d localhost]\n"
-#~ msgstr "%s: %-33.33s [작업 %d 로컬호스트]\n"
-
-#~ msgid "%s: %s failed: %s\n"
-#~ msgstr "%s: %s 실패: %s\n"
-
-#~ msgid "%s: Don't know what to do!\n"
-#~ msgstr "%s: 해야할 일을 모르겠음!\n"
-
-#~ msgid ""
-#~ "%s: Error - %s environment variable names non-existent destination \"%s"
-#~ "\"!\n"
-#~ msgstr "%1$s: 오류 - \"%3$s\" 대상에 존재하지 않는 %2$s 환경 변수 이름!\n"
-
-#~ msgid "%s: Error - bad job ID!\n"
-#~ msgstr "%s: 오류 - 잘못된 작업 ID!\n"
-
-#~ msgid "%s: Error - cannot print files and alter jobs simultaneously!\n"
-#~ msgstr "%s: 오류 - 파일을 프린트할 수 없고 작업을 동시에 대체할 수 없음!\n"
-
-#~ msgid ""
-#~ "%s: Error - cannot print from stdin if files or a job ID are provided!\n"
-#~ msgstr ""
-#~ "%s: 오류 - 파일 또는 작업 ID가 제공되었다면 stdin에서 프린트할 수 없음!\n"
-
-#~ msgid "%s: Error - expected character set after '-S' option!\n"
-#~ msgstr "%s: 오류 - '-S' 옵션 뒤에 문자 세트가 예상됨!\n"
-
-#~ msgid "%s: Error - expected content type after '-T' option!\n"
-#~ msgstr "%s: 오류 - '-T' 옵션 뒤에 콘텐츠 유형이 예상됨!\n"
-
-#~ msgid "%s: Error - expected copies after '-n' option!\n"
-#~ msgstr "%s: 오류 - '-n' 옵션 뒤에 복사 매수가 예상됨!\n"
-
-#~ msgid "%s: Error - expected copy count after '-#' option!\n"
-#~ msgstr "%s: 오류 - '-#' 옵션 뒤에 복사본 수가 예상됨!\n"
-
-#~ msgid "%s: Error - expected destination after '-P' option!\n"
-#~ msgstr "%s: 오류 - '-P' 옵션 뒤에 대상이 예상됨!\n"
-
-#~ msgid "%s: Error - expected destination after '-b' option!\n"
-#~ msgstr "%s: 오류 - '-b' 옵션 뒤에 대상이 예상됨!\n"
-
-#~ msgid "%s: Error - expected destination after '-d' option!\n"
-#~ msgstr "%s: 오류 - '-d' 옵션 뒤에 대상이 예상됨!\n"
-
-#~ msgid "%s: Error - expected form after '-f' option!\n"
-#~ msgstr "%s: 오류 - '-f' 옵션 뒤에 구성이 예상됨!\n"
-
-#~ msgid "%s: Error - expected hold name after '-H' option!\n"
-#~ msgstr "%s: 오류 - '-H' 옵션 뒤에 유지 이름이 예상됨!\n"
-
-#~ msgid "%s: Error - expected hostname after '-H' option!\n"
-#~ msgstr "%s: 오류 - '-H' 옵션 뒤에 호스트 이름이 예상됨!\n"
-
-#~ msgid "%s: Error - expected hostname after '-h' option!\n"
-#~ msgstr "%s: 오류 - '-h' 옵션 뒤에 호스트 이름이 예상됨!\n"
-
-#~ msgid "%s: Error - expected mode list after '-y' option!\n"
-#~ msgstr "%s: 오류 - '-y' 옵션 뒤에 모드 목록이 예상됨!\n"
-
-#~ msgid "%s: Error - expected name after '-%c' option!\n"
-#~ msgstr "%s: 오류 - '-%c' 옵션 뒤에 이름이 예상됨!\n"
-
-#~ msgid "%s: Error - expected option string after '-o' option!\n"
-#~ msgstr "%s: 오류 - '-o' 옵션 뒤에 옵션 스트링이 예상됨!\n"
-
-#~ msgid "%s: Error - expected page list after '-P' option!\n"
-#~ msgstr "%s: 오류 - '-P' 옵션 뒤에 페이지 목록이 예상됨!\n"
-
-#~ msgid "%s: Error - expected priority after '-%c' option!\n"
-#~ msgstr "%s: 오류 - '-%c' 옵션 뒤에 우선순위가 예상됨!\n"
-
-#~ msgid "%s: Error - expected reason text after '-r' option!\n"
-#~ msgstr "%s: 오류 - '-r' 옵션 뒤에 이유 텍스트가 예상됨!\n"
-
-#~ msgid "%s: Error - expected title after '-t' option!\n"
-#~ msgstr "%s: 오류 - '-t' 옵션 뒤에 제목이 예상됨!\n"
-
-#~ msgid "%s: Error - expected username after '-U' option!\n"
-#~ msgstr "%s: 오류 - '-U' 옵션 뒤에 사용자 이름이 예상됨!\n"
-
-#~ msgid "%s: Error - expected username after '-u' option!\n"
-#~ msgstr "%s: 오류 - '-u' 옵션 뒤에 사용자 이름이 예상됨!\n"
-
-#~ msgid "%s: Error - expected value after '-%c' option!\n"
-#~ msgstr "%s: 오류 - '-%c' 옵션 뒤에 값이 예상됨!\n"
-
-#~ msgid ""
-#~ "%s: Error - need \"completed\", \"not-completed\", or \"all\" after '-W' "
-#~ "option!\n"
-#~ msgstr ""
-#~ "%s: 오류 - '-W' 옵션 뒤에 \"completed\", \"not-completed\" 또는 \"all\"이 "
-#~ "필요!\n"
-
-#~ msgid "%s: Error - no default destination available.\n"
-#~ msgstr "%s: 오류 - 사용 가능한 기본 대상이 없습니다.\n"
-
-#~ msgid "%s: Error - priority must be between 1 and 100.\n"
-#~ msgstr "%s: 오류 - 우선순위는 1에서 100사이여야 합니다.\n"
-
-#~ msgid "%s: Error - scheduler not responding!\n"
-#~ msgstr "%s: 오류 - 일정이 응답하지 않음!\n"
-
-#~ msgid "%s: Error - too many files - \"%s\"\n"
-#~ msgstr "%s: 오류 - 너무 많은 파일 - \"%s\"\n"
-
-#~ msgid "%s: Error - unable to access \"%s\" - %s\n"
-#~ msgstr "%s: 오류 - \"%s\"에 연결할 수 없음 - %s\n"
-
-#~ msgid "%s: Error - unable to queue from stdin - %s\n"
-#~ msgstr "%s: 오류 - stdin에서 대기할 수 없음 - %s\n"
-
-#~ msgid "%s: Error - unknown destination \"%s\"!\n"
-#~ msgstr "%s: 오류 - 알 수 없는 대상 \"%s\"!\n"
-
-#~ msgid "%s: Error - unknown destination \"%s/%s\"!\n"
-#~ msgstr "%s: 오류 - 알 수 없는 대상 \"%s/%s\"!\n"
-
-#~ msgid "%s: Error - unknown option '%c'!\n"
-#~ msgstr "%s: 오류 - 알 수 없는 옵션 '%c'!\n"
-
-#~ msgid "%s: Error - unknown option '%s'!\n"
-#~ msgstr "%s: 오류 - 알 수 없는 옵션 '%s'!\n"
-
-#~ msgid "%s: Expected job ID after '-i' option!\n"
-#~ msgstr "%s: '-i' 옵션 뒤에 작업 ID가 예상됨!\n"
-
-#~ msgid "%s: Filter \"%s\" not available: %s\n"
-#~ msgstr "%s: \"%s\" 필터를 사용할 수 없음: %s\n"
-
-#~ msgid "%s: Invalid destination name in list \"%s\"!\n"
-#~ msgstr "%s: \"%s\" 목록에 유효하지 않은 대상 이름!\n"
-
-#~ msgid "%s: Invalid filter string \"%s\"\n"
-#~ msgstr "%s: 유효하지 않은 필터 문자열 \"%s\"\n"
-
-#~ msgid "%s: Need job ID ('-i jobid') before '-H restart'!\n"
-#~ msgstr "%s: '-H restart' 앞에 작업 ID('-i jobid') 필요!\n"
-
-#~ msgid "%s: No filter to convert from %s/%s to %s/%s!\n"
-#~ msgstr "%s: %s/%s에서 %s/%s까지 변환할 필터가 없음!\n"
-
-#~ msgid "%s: Operation failed: %s\n"
-#~ msgstr "%s: 작동 실패: %s\n"
-
-#~ msgid "%s: Sorry, no encryption support compiled in!\n"
-#~ msgstr "%s: 죄송합니다, 컴파일된 암호화 지원이 없습니다!\n"
-
-#~ msgid "%s: Unable to connect to server\n"
-#~ msgstr "%s: 서버에 연결할 수 없음\n"
-
-#~ msgid "%s: Unable to contact server!\n"
-#~ msgstr "%s: 서버에 연결할 수 없음!\n"
-
-#~ msgid "%s: Unable to determine MIME type of \"%s\"!\n"
-#~ msgstr "%s: MIME 유형의 \"%s\"을(를) 결정할 수 없음!\n"
-
-#~ msgid "%s: Unable to open %s - %s\n"
-#~ msgstr "%s: %s을(를) 열 수 없음 - %s\n"
-
-#~ msgid "%s: Unable to open %s - %s on line %d.\n"
-#~ msgstr "%s: %s을(를) 열 수 없음 - %s, %d번째 줄\n"
-
-#~ msgid "%s: Unable to open %s: %s\n"
-#~ msgstr "%s: %s을(를) 열 수 없음: %s\n"
-
-#~ msgid "%s: Unable to open PPD file: %s on line %d\n"
-#~ msgstr "%s: PPD 파일을 열 수 없음: %s, %d번째 줄\n"
-
-#~ msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"!\n"
-#~ msgstr "%s: \"%s\" 또는 \"%s\"에서 MIME 데이터베이스를 읽을 수 없음!\n"
-
-#~ msgid "%s: Unknown destination \"%s\"!\n"
-#~ msgstr "%s: 알 수 없는 대상 \"%s\"!\n"
-
-#~ msgid "%s: Unknown destination MIME type %s/%s!\n"
-#~ msgstr "%s: 알 수 없는 대상 MIME 유형 %s/%s!\n"
-
-#~ msgid "%s: Unknown option '%c'!\n"
-#~ msgstr "%s: 알 수 없는 옵션 '%c'!\n"
-
-#~ msgid "%s: Unknown source MIME type %s/%s!\n"
-#~ msgstr "%s: 알 수 없는 소스 MIME 유형 %s/%s!\n"
-
-#~ msgid ""
-#~ "%s: Warning - '%c' format modifier not supported - output may not be "
-#~ "correct!\n"
-#~ msgstr ""
-#~ "%s: 경고 - '%c' 포맷 조합 키가 지원되지 않음 - 출력이 올바르지 않을 수 있"
-#~ "습니다!\n"
-
-#~ msgid "%s: Warning - character set option ignored!\n"
-#~ msgstr "%s: 경고 - 문자 세트 옵션이 무시됨!\n"
-
-#~ msgid "%s: Warning - content type option ignored!\n"
-#~ msgstr "%s: 경고 - 콘텐츠 유형 옵션이 무시됨!\n"
-
-#~ msgid "%s: Warning - form option ignored!\n"
-#~ msgstr "%s: 경고 - 구성 옵션이 무시됨!\n"
-
-#~ msgid "%s: Warning - mode option ignored!\n"
-#~ msgstr "%s: 경고 - 모드 옵션이 무시됨!\n"
-
-#~ msgid ""
-#~ "%s: error - %s environment variable names non-existent destination \"%s"
-#~ "\"!\n"
-#~ msgstr "%1$s: 오류 - \"%3$s\" 대상에 존재하지 않는 %2$s 환경 변수 이름!\n"
-
-#~ msgid "%s: error - expected option=value after '-o' option!\n"
-#~ msgstr "%s: 오류 - '-o' 옵션 뒤에 option=value가 예상됨!\n"
-
-#~ msgid "%s: error - no default destination available.\n"
-#~ msgstr "%s: 오류 - 사용 가능한 기본 대상이 없습니다.\n"
-
-#~ msgid "10 x 11\""
-#~ msgstr "10 x 11\""
-
-#~ msgid "10 x 13\""
-#~ msgstr "10 x 13\""
-
-#~ msgid "10 x 14\""
-#~ msgstr "10 x 14\""
-
-#~ msgid "12 x 11\""
-#~ msgstr "12 x 11\""
-
-#~ msgid "15 x 11\""
-#~ msgstr "15 x 11\""
-
-#~ msgid "600 DPI Grayscale"
-#~ msgstr "600 DPI 그레이 스케일"
-
-#~ msgid "60x720dpi"
-#~ msgstr "60x720dpi"
-
-#~ msgid "7 x 9\""
-#~ msgstr "7 x 9\""
-
-#~ msgid "8 x 10\""
-#~ msgstr "8 x 10\""
-
-#~ msgid "9 x 11\""
-#~ msgstr "9 x 11\""
-
-#~ msgid "9 x 12\""
-#~ msgstr "9 x 12\""
-
-#~ msgid "?Invalid help command unknown\n"
-#~ msgstr "?유효하지 않은 도움말 명령을 알 수 없음\n"
-
-#~ msgid "A Samba password is required to export printer drivers!"
-#~ msgstr "프린터 드라이버를 보내려면 Samba 암호가 필요함!"
-
-#~ msgid "A Samba username is required to export printer drivers!"
-#~ msgstr "프린터 드라이버를 보내려면 Samba 사용자 이름이 필요함!"
-
-#~ msgid "A class named \"%s\" already exists!"
-#~ msgstr "\"%s\"(이)라는 이름의 클래스가 이미 존재합니다!"
-
-#~ msgid "A printer named \"%s\" already exists!"
-#~ msgstr "\"%s\"(이)라는 이름의 프린터가 이미 존재합니다!"
-
-#~ msgid "A3 (Oversize)"
-#~ msgstr "A3(대)"
-
-#~ msgid "A4 (Oversize)"
-#~ msgstr "A4(대)"
-
-#~ msgid "A4 (Small)"
-#~ msgstr "A4(소)"
-
-#~ msgid "A5 (Oversize)"
-#~ msgstr "A5(대)"
-
-#~ msgid "ARCH A"
-#~ msgstr "ARCH A"
-
-#~ msgid "ARCH B"
-#~ msgstr "ARCH B"
-
-#~ msgid "Attempt to set %s printer-state to bad value %d!"
-#~ msgstr "%s 프린터 상태를 잘못된 %d 값으로 설정하려고 합니다!"
-
-#~ msgid "Attribute groups are out of order (%x < %x)!"
-#~ msgstr "속성 그룹이 올바르지 않습니다(%x < %x)!"
-
-#~ msgid "Bad device URI \"%s\"!\n"
-#~ msgstr "잘못된 장비 URI \"%s\"!\n"
-
-#~ msgid "Bad device-uri \"%s\"!"
-#~ msgstr "잘못된 device-uri \"%s\"!"
-
-#~ msgid "Bad device-uri scheme \"%s\"!"
-#~ msgstr "잘못된 device-uri 설계 \"%s\"!"
-
-#~ msgid "Bad document-format \"%s\"!"
-#~ msgstr "잘못된 document-format \"%s\"!"
-
-#~ msgid "Bad filename buffer!"
-#~ msgstr "잘못된 파일 이름 버퍼!"
-
-#~ msgid "Bad font attribute: %s\n"
-#~ msgstr "잘못된 서체 속성: %s\n"
-
-#~ msgid "Bad job-priority value!"
-#~ msgstr "잘못된 job-priority 값!"
-
-#~ msgid "Bad job-sheets value \"%s\"!"
-#~ msgstr "잘못된 job-sheets 값\"%s\"!"
-
-#~ msgid "Bad job-sheets value type!"
-#~ msgstr "잘못된 job-sheets 값 유형!"
-
-#~ msgid "Bad job-state value!"
-#~ msgstr "잘못된 job-state 값!"
-
-#~ msgid "Bad job-uri attribute \"%s\"!"
-#~ msgstr "잘못된 job-uri 속성 \"%s\"!"
-
-#~ msgid "Bad notify-pull-method \"%s\"!"
-#~ msgstr "잘못된 notify-pull-method \"%s\"!"
-
-#~ msgid "Bad notify-recipient-uri URI \"%s\"!"
-#~ msgstr "잘못된 notify-recipient-uri URI \"%s\"!"
-
-#~ msgid "Bad option + choice on line %d!"
-#~ msgstr "%d번째 줄에 있는 잘못된 옵션 + 선택사항!"
-
-#~ msgid "Bad port-monitor \"%s\"!"
-#~ msgstr "잘못된 port-monitor \"%s\"!"
-
-#~ msgid "Bad printer-state value %d!"
-#~ msgstr "잘못된 printer-state 값 %d!"
-
-#~ msgid "Bad request version number %d.%d!"
-#~ msgstr "잘못된 요청 버전 숫자 %d.%d!"
-
-#~ msgid "Bad subscription ID!"
-#~ msgstr "잘못된 구독 ID!"
-
-#~ msgid "C0 Envelope"
-#~ msgstr "C0 봉투"
-
-#~ msgid "C1 Envelope"
-#~ msgstr "C1 봉투"
-
-#~ msgid "C2 Envelope"
-#~ msgstr "C2 봉투"
-
-#~ msgid "C3 Envelope"
-#~ msgstr "C3 봉투"
-
-#~ msgid "C4"
-#~ msgstr "C4"
-
-#~ msgid "C4 Envelope"
-#~ msgstr "C4 봉투"
-
-#~ msgid "C5"
-#~ msgstr "C5"
-
-#~ msgid "C5 Envelope"
-#~ msgstr "C5 봉투"
-
-#~ msgid "C6"
-#~ msgstr "C6"
-
-#~ msgid "C6 Envelope"
-#~ msgstr "C6 봉투"
-
-#~ msgid "C65 Envelope"
-#~ msgstr "C65 봉투"
-
-#~ msgid "C7 Envelope"
-#~ msgstr "C7 봉투"
-
-#~ msgid "Character set \"%s\" not supported!"
-#~ msgstr "\"%s\" 문자 세트가 지원되지 않음!"
-
-#~ msgid "Chou3 Envelope"
-#~ msgstr "Chou3 봉투"
-
-#~ msgid "Chou4 Envelope"
-#~ msgstr "Chou4 봉투"
-
-#~ msgid ""
-#~ "Commands may be abbreviated.  Commands are:\n"
-#~ "\n"
-#~ "exit    help    quit    status  ?\n"
-#~ msgstr ""
-#~ "명령이 생략될 수 있습니다.  명령은 다음과 같습니다:\n"
-#~ "\n"
-#~ "exit    help    quit    status  ?\n"
-
-#~ msgid "Could not scan type \"%s\"!"
-#~ msgstr "\"%s\" 유형을 검색할 수 없음!"
-
-#~ msgid "Cover open."
-#~ msgstr "덮개가 열려 있음."
-
-#~ msgid "DL"
-#~ msgstr "DL"
-
-#~ msgid "DL Envelope"
-#~ msgstr "DL 봉투"
-
-#~ msgid "Developer almost empty."
-#~ msgstr "현상액이 거의 비었습니다."
-
-#~ msgid "Developer empty!"
-#~ msgstr "현상액이 비어 있음!"
-
-#~ msgid ""
-#~ "Device: uri = %s\n"
-#~ "        class = %s\n"
-#~ "        info = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ "        location = %s\n"
-#~ msgstr ""
-#~ "장비: uri = %s\n"
-#~ "        class = %s\n"
-#~ "        info = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ "        location = %s\n"
-
-#~ msgid "Document %d not found in job %d."
-#~ msgstr "도큐멘트 %d을 작업 %d에서 찾을 수 없습니다."
-
-#~ msgid "Door open."
-#~ msgstr "문이 열려 있음."
-
-#~ msgid "Double Postcard"
-#~ msgstr "이중 엽서"
-
-#~ msgid "EMERG: Unable to allocate memory for page info: %s\n"
-#~ msgstr "EMERG: 페이지 정보에 메모리를 할당할 수 없습니다: %s\n"
-
-#~ msgid "EMERG: Unable to allocate memory for pages array: %s\n"
-#~ msgstr "EMERG: 페이지 배열에 메모리를 할당할 수 없습니다: %s\n"
-
-#~ msgid "ERROR: Bad %%BoundingBox: comment seen!\n"
-#~ msgstr "ERROR: 잘못된 %%BoundingBox: 설명이 보임!\n"
-
-#~ msgid "ERROR: Bad %%IncludeFeature: comment!\n"
-#~ msgstr "ERROR: 잘못된 %%IncludeFeature: 설명!\n"
-
-#~ msgid "ERROR: Bad %%Page: comment in file!\n"
-#~ msgstr "ERROR: 잘못된 %%Page: 파일에 있는 설명!\n"
-
-#~ msgid "ERROR: Bad %%PageBoundingBox: comment in file!\n"
-#~ msgstr "ERROR: 잘못된 %%PageBoundingBox: 파일에 있는 설명!\n"
-
-#~ msgid "ERROR: Bad SCSI device file \"%s\"!\n"
-#~ msgstr "ERROR: 잘못된 SCSI 장비 파일 \"%s\"!\n"
-
-#~ msgid "ERROR: Bad charset file %s\n"
-#~ msgstr "ERROR: 잘못된 문자 세트 파일 %s\n"
-
-#~ msgid "ERROR: Bad charset type %s\n"
-#~ msgstr "ERROR: 잘못된 문자 세트 유형 %s\n"
-
-#~ msgid "ERROR: Bad columns value %d!\n"
-#~ msgstr "ERROR: 잘못된 열 값 %d!\n"
-
-#~ msgid "ERROR: Bad cpi value %f!\n"
-#~ msgstr "ERROR: 잘못된 cpi 값 %f!\n"
-
-#~ msgid "ERROR: Bad font description line: %s\n"
-#~ msgstr "ERROR: 잘못된 서체 설명 줄: %s\n"
-
-#~ msgid "ERROR: Bad lpi value %f!\n"
-#~ msgstr "ERROR: 잘못된 lpi 값 %f!\n"
-
-#~ msgid "ERROR: Bad page setup!\n"
-#~ msgstr "ERROR: 잘못된 페이지 설정!\n"
-
-#~ msgid "ERROR: Bad text direction %s\n"
-#~ msgstr "ERROR: 잘못된 텍스트 방향 %s\n"
-
-#~ msgid "ERROR: Bad text width %s\n"
-#~ msgstr "ERROR: 잘못된 텍스트 길이 %s\n"
-
-#~ msgid "ERROR: Destination printer does not exist!\n"
-#~ msgstr "ERROR: 대상 프린터가 없습니다!\n"
-
-#~ msgid "ERROR: Duplicate %%BoundingBox: comment seen!\n"
-#~ msgstr "ERROR: %%BoundingBox 복제: 설명이 보임!\n"
-
-#~ msgid "ERROR: Duplicate %%Pages: comment seen!\n"
-#~ msgstr "ERROR: %%Pages 복제: 설명이 보임!\n"
-
-#~ msgid "ERROR: Empty print file!\n"
-#~ msgstr "ERROR: 빈 프린트 파일!\n"
-
-#~ msgid "ERROR: Error %d sending PAPSendData request: %s\n"
-#~ msgstr "ERROR: %d 오류가 다음 PAPSendData 요청을 보내는 중: %s\n"
-
-#~ msgid "ERROR: Expected quoted string on line %d of %s!\n"
-#~ msgstr "ERROR: %2$s의 %1$d번째 줄에 인용 스트링이 예상됨!\n"
-
-#~ msgid "ERROR: Fatal USB error!\n"
-#~ msgstr "ERROR: 심각한 USB 오류!\n"
-
-#~ msgid "ERROR: Invalid HP-GL/2 command seen, unable to print file!\n"
-#~ msgstr ""
-#~ "ERROR: 파일을 프린트할 수 없는, 유효하지 않은 HP-GL/2 명령이 보임!\n"
-
-#~ msgid "ERROR: Missing %%EndProlog!\n"
-#~ msgstr "ERROR: %%EndProlog가 유실됨!\n"
-
-#~ msgid "ERROR: Missing %%EndSetup!\n"
-#~ msgstr "ERROR: %%EndSetup이 유실됨!\n"
-
-#~ msgid ""
-#~ "ERROR: Missing device URI on command-line and no DEVICE_URI environment "
-#~ "variable!\n"
-#~ msgstr ""
-#~ "ERROR: 명령 라인의 장비 URI가 유실되었고 DEVICE_URI 환경 변수가 없음!\n"
-
-#~ msgid "ERROR: Missing value on line %d of banner file!\n"
-#~ msgstr "ERROR: 배너 파일의 %d번째 줄 값이 유실됨!\n"
-
-#~ msgid ""
-#~ "ERROR: Need a msgid line before any translation strings on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ERROR: %2$s의 %1$d번째 줄에 있는 모든 번역 스트링 앞에 msgid 줄 필요!\n"
-
-#~ msgid "ERROR: No %%BoundingBox: comment in header!\n"
-#~ msgstr "ERROR: %%BoundingBox가 없음: 머리말에 설명!\n"
-
-#~ msgid "ERROR: No %%Pages: comment in header!\n"
-#~ msgstr "ERROR: %%Pages가 없음: 머리말에 설명!\n"
-
-#~ msgid ""
-#~ "ERROR: No device URI found in argv[0] or in DEVICE_URI environment "
-#~ "variable!\n"
-#~ msgstr ""
-#~ "ERROR: argv[0] 또는 DEVICE_URI 환경 변수에서 발견된 장비 URI가 없음!\n"
-
-#~ msgid "ERROR: No fonts in charset file %s\n"
-#~ msgstr "ERROR: %s 문자 세트 파일에 서체 없음\n"
-
-#~ msgid "ERROR: No pages found!\n"
-#~ msgstr "ERROR: 페이지 없음!\n"
-
-#~ msgid "ERROR: Out of paper!\n"
-#~ msgstr "ERROR: 종이 없음!\n"
-
-#~ msgid "ERROR: PRINTER environment variable not defined!\n"
-#~ msgstr "ERROR: PRINTER 환경 변수가 정의되지 않음!\n"
-
-#~ msgid "ERROR: Print file was not accepted (%s)!\n"
-#~ msgstr "ERROR: 프린트 파일이 허용되지 않음(%s)!\n"
-
-#~ msgid "ERROR: Printer not responding\n"
-#~ msgstr "ERROR: 프린터가 응답하지 않음\n"
-
-#~ msgid "ERROR: Printer not responding!\n"
-#~ msgstr "ERROR: 프린터가 응답하지 않음!\n"
-
-#~ msgid "ERROR: Printer sent unexpected EOF\n"
-#~ msgstr "ERROR: 프린터가 예기치 않은 EOF를 보냄\n"
-
-#~ msgid "ERROR: Remote host did not accept control file (%d)\n"
-#~ msgstr "ERROR: 원격 호스트가 제어 파일을 허용하지 않음(%d)\n"
-
-#~ msgid "ERROR: Remote host did not accept data file (%d)\n"
-#~ msgstr "ERROR: 원격 호스트가 데이터 파일을 허용하지 않음(%d)\n"
-
-#~ msgid "ERROR: There was a timeout error while sending data to the printer\n"
-#~ msgstr ""
-#~ "ERROR: 데이터를 프린터로 전송하는 동안 시간초과 오류가 발생했습니다\n"
-
-#~ msgid "ERROR: Unable to add file %d to job: %s\n"
-#~ msgstr "ERROR: 작업에 %d 파일을 추가할 수 없음: %s\n"
-
-#~ msgid "ERROR: Unable to cancel job %d: %s\n"
-#~ msgstr "ERROR: %d 작업을 취소할 수 없음: %s\n"
-
-#~ msgid "ERROR: Unable to copy PDF file"
-#~ msgstr "ERROR: PDF 파일을 복사할 수 없음"
-
-#~ msgid "ERROR: Unable to create socket"
-#~ msgstr "ERROR: 소켓을 생성할 수 없음"
-
-#~ msgid "ERROR: Unable to create temporary compressed print file: %s\n"
-#~ msgstr "ERROR: 임시 압축 프린트 파일을 생성할 수 없음: %s\n"
-
-#~ msgid "ERROR: Unable to create temporary file"
-#~ msgstr "ERROR: 임시 파일을 생성할 수 없음"
-
-#~ msgid "ERROR: Unable to create temporary file - %s.\n"
-#~ msgstr "ERROR: 임시 파일을 생성할 수 없음 - %s.\n"
-
-#~ msgid "ERROR: Unable to create temporary file: %s\n"
-#~ msgstr "ERROR: 임시 파일을 생성할 수 없음: %s\n"
-
-#~ msgid "ERROR: Unable to exec pictwpstops: %s\n"
-#~ msgstr "ERROR: pictwpstops를 실행할 수 없음: %s\n"
-
-#~ msgid "ERROR: Unable to execute gs program"
-#~ msgstr "ERROR: gs 프로그램을 실행할 수 없음"
-
-#~ msgid "ERROR: Unable to execute pdftops program"
-#~ msgstr "ERROR: pdftops 프로그램을 실행할 수 없음"
-
-#~ msgid "ERROR: Unable to fork pictwpstops: %s\n"
-#~ msgstr "ERROR: pictwpstops를 분리(fork)할 수 없음: %s\n"
-
-#~ msgid "ERROR: Unable to get PAP request"
-#~ msgstr "ERROR: PAP 요청을 얻을 수 없음"
-
-#~ msgid "ERROR: Unable to get PAP response"
-#~ msgstr "ERROR: PAP 응답을 얻을 수 없음"
-
-#~ msgid "ERROR: Unable to get PPD file for printer \"%s\" - %s.\n"
-#~ msgstr "ERROR: \"%s\"프린터에 대한 PPD 파일을 얻을 수 없음 - %s.\n"
-
-#~ msgid "ERROR: Unable to get default AppleTalk zone"
-#~ msgstr "ERROR: 기본 AppleTalk 영역을 얻을 수 없음"
-
-#~ msgid "ERROR: Unable to get job %d attributes (%s)!\n"
-#~ msgstr "ERROR: 작업 %d 속성을 얻을 수 없음(%s)!\n"
-
-#~ msgid "ERROR: Unable to get printer status (%s)!\n"
-#~ msgstr "ERROR: 프린터 상태를 알 수 없음(%s)!\n"
-
-#~ msgid "ERROR: Unable to locate printer '%s'!\n"
-#~ msgstr "ERROR: '%s' 프린터를 찾을 수 없음!\n"
-
-#~ msgid "ERROR: Unable to look for PAP response"
-#~ msgstr "ERROR: PAP 응답을 찾을 수 없음"
-
-#~ msgid "ERROR: Unable to lookup AppleTalk printers"
-#~ msgstr "ERROR: AppleTalk 프린터를 찾을 수 없음"
-
-#~ msgid "ERROR: Unable to make AppleTalk address"
-#~ msgstr "ERROR: AppleTalk 주소를 생성할 수 없음"
-
-#~ msgid "ERROR: Unable to open \"%s\" - %s\n"
-#~ msgstr "ERROR: \"%s\"을(를) 열 수 없음 - %s\n"
-
-#~ msgid "ERROR: Unable to open %s: %s\n"
-#~ msgstr "ERROR: %s을(를) 열 수 없음: %s\n"
-
-#~ msgid "ERROR: Unable to open banner file \"%s\" - %s\n"
-#~ msgstr "ERROR: \"%s\" 배너 파일을 열 수 없음 - %s\n"
-
-#~ msgid "ERROR: Unable to open device file \"%s\": %s\n"
-#~ msgstr "ERROR: \"%s\" 장비 파일을 열 수 없음: %s\n"
-
-#~ msgid "ERROR: Unable to open file \"%s\" - %s\n"
-#~ msgstr "ERROR: \"%s\" 파일을 열 수 없음 - %s\n"
-
-#~ msgid "ERROR: Unable to open file \"%s\": %s\n"
-#~ msgstr "ERROR: \"%s\" 파일을 열 수 없음: %s\n"
-
-#~ msgid "ERROR: Unable to open image file for printing!\n"
-#~ msgstr "ERROR: 이미지 파일을 열어서 프린트할 수 없음!\n"
-
-#~ msgid "ERROR: Unable to open print file \"%s\": %s\n"
-#~ msgstr "ERROR: \"%s\" 프린트 파일을 열 수 없음: %s\n"
-
-#~ msgid "ERROR: Unable to open print file %s - %s\n"
-#~ msgstr "ERROR: %s 프린트 파일을 열 수 없음 - %s\n"
-
-#~ msgid "ERROR: Unable to open print file %s: %s\n"
-#~ msgstr "ERROR: %s 프린트 파일을 열 수 없음: %s\n"
-
-#~ msgid "ERROR: Unable to open temporary compressed print file: %s\n"
-#~ msgstr "ERROR: 임시로 압축한 프린트 파일을 열 수 없음: %s\n"
-
-#~ msgid "ERROR: Unable to open temporary file"
-#~ msgstr "ERROR: 임시 파일을 열 수 없음"
-
-#~ msgid "ERROR: Unable to print %d text columns!\n"
-#~ msgstr "ERROR: %d개의 텍스트 열을 프린트할 수 없음!\n"
-
-#~ msgid "ERROR: Unable to print %dx%d text page!\n"
-#~ msgstr "ERROR: %dx%d 텍스트 페이지를 프린트할 수 없음!\n"
-
-#~ msgid "ERROR: Unable to read print data"
-#~ msgstr "ERROR: 프린트 데이터를 읽을 수 없음"
-
-#~ msgid "ERROR: Unable to read print data!\n"
-#~ msgstr "ERROR: 프린트 데이터를 읽을 수 없음!\n"
-
-#~ msgid "ERROR: Unable to reserve port"
-#~ msgstr "ERROR: 포트를 예약할 수 없음"
-
-#~ msgid "ERROR: Unable to seek to offset %ld in file - %s\n"
-#~ msgstr "ERROR: 파일에서 %ld 오프셋을 찾을 수 없음 - %s\n"
-
-#~ msgid "ERROR: Unable to seek to offset %lld in file - %s\n"
-#~ msgstr "ERROR: 파일에서 %lld 오프셋을 찾을 수 없음 - %s\n"
-
-#~ msgid "ERROR: Unable to send LPD command"
-#~ msgstr "ERROR: LPD 명령을 보낼 수 없음"
-
-#~ msgid "ERROR: Unable to send PAP tickle request"
-#~ msgstr "ERROR: PAP tickle 요청을 보낼 수 없음"
-
-#~ msgid "ERROR: Unable to send initial PAP send data request"
-#~ msgstr "ERROR: 초기 PAP 전송 데이터 요청을 보낼 수 없음"
-
-#~ msgid "ERROR: Unable to send print data (%d)\n"
-#~ msgstr "ERROR: 프린트 데이터를 보낼 수 없음(%d)\n"
-
-#~ msgid "ERROR: Unable to send print data!\n"
-#~ msgstr "ERROR: 프린트 데이터를 보낼 수 없음!\n"
-
-#~ msgid "ERROR: Unable to send print file to printer"
-#~ msgstr "ERROR: 프린트 파일을 프린터로 보낼 수 없음"
-
-#~ msgid "ERROR: Unable to send trailing nul to printer"
-#~ msgstr "ERROR: 끝자리 nul을 프린터로 보낼 수 없음"
-
-#~ msgid "ERROR: Unable to wait for pictwpstops: %s\n"
-#~ msgstr "ERROR: pictwpstops를 기다릴 수 없음: %s\n"
-
-#~ msgid "ERROR: Unable to write %d bytes to \"%s\": %s\n"
-#~ msgstr "ERROR: \"%2$s\"에 %1$d바이트를 쓸 수 없음: %3$s\n"
-
-#~ msgid "ERROR: Unable to write %d bytes to printer!\n"
-#~ msgstr "ERROR: 프린터에 %d바이트를 쓸 수 없음!\n"
-
-#~ msgid "ERROR: Unable to write control file"
-#~ msgstr "ERROR: 제어 파일을 쓸 수 없음"
-
-#~ msgid "ERROR: Unable to write print data"
-#~ msgstr "ERROR: 프린트 데이터를 쓸 수 없음"
-
-#~ msgid "ERROR: Unable to write print data: %s\n"
-#~ msgstr "ERROR: 프린트 데이터를 쓸 수 없음: %s\n"
-
-#~ msgid "ERROR: Unable to write raster data to driver!\n"
-#~ msgstr "ERROR: 드라이버에 래스터 데이터를 쓸 수 없음!\n"
-
-#~ msgid "ERROR: Unable to write to temporary file"
-#~ msgstr "ERROR: 임시 파일을 쓸 수 없음"
-
-#~ msgid "ERROR: Unable to write uncompressed document data: %s\n"
-#~ msgstr "ERROR: 압축되지 않은 도큐멘트 데이터를 쓸 수 없음: %s\n"
-
-#~ msgid "ERROR: Unexpected text on line %d of %s!\n"
-#~ msgstr "ERROR: %2$s의 %1$d번째 줄에 예기치 않은 텍스트!\n"
-
-#~ msgid "ERROR: Unknown encryption option value \"%s\"!\n"
-#~ msgstr "ERROR: 알 수 없는 암호화 옵션 값 \"%s\"!\n"
-
-#~ msgid "ERROR: Unknown file order \"%s\"\n"
-#~ msgstr "ERROR: 알 수 없는 파일 순서 \"%s\"\n"
-
-#~ msgid "ERROR: Unknown format character \"%c\"\n"
-#~ msgstr "ERROR: 알 수 없는 포맷 문자 \"%c\"\n"
-
-#~ msgid "ERROR: Unknown message catalog format for \"%s\"!\n"
-#~ msgstr "ERROR: \"%s\"에 대한 알 수 없는 메시지 카탈로그 포맷!\n"
-
-#~ msgid "ERROR: Unknown option \"%s\" with value \"%s\"!\n"
-#~ msgstr "ERROR: \"%2$s\" 값이 있는 알 수 없는 \"%1$s\" 옵션!\n"
-
-#~ msgid "ERROR: Unknown print mode \"%s\"\n"
-#~ msgstr "ERROR: 알 수 없는 \"%s\" 프린트 모드\n"
-
-#~ msgid "ERROR: Unknown version option value \"%s\"!\n"
-#~ msgstr "ERROR: 알 수 없는 \"%s\" 버전 옵션 값!\n"
-
-#~ msgid "ERROR: Unsupported brightness value %s, using brightness=100!\n"
-#~ msgstr "ERROR: brightness=100을 사용하는, 지원되지 않는 밝기 값 %s!\n"
-
-#~ msgid "ERROR: Unsupported gamma value %s, using gamma=1000!\n"
-#~ msgstr "ERROR: gamma=1000을 사용하는, 지원되지 않는 감마 값 %s!\n"
-
-#~ msgid "ERROR: Unsupported number-up value %d, using number-up=1!\n"
-#~ msgstr "ERROR: number-up=1을 사용하는, 지원되지 않는 number-up 값 %d!\n"
-
-#~ msgid ""
-#~ "ERROR: Unsupported number-up-layout value %s, using number-up-"
-#~ "layout=lrtb!\n"
-#~ msgstr ""
-#~ "ERROR: number-up-layout=lrtb을 사용하는, 지원되지 않는 number-up-layout "
-#~ "값 %s!\n"
-
-#~ msgid "ERROR: Unsupported page-border value %s, using page-border=none!\n"
-#~ msgstr ""
-#~ "ERROR: page-border=none을 사용하는, 지원되지 않는 page-border 값 %s!\n"
-
-#~ msgid "ERROR: doc_printf overflow (%d bytes) detected, aborting!\n"
-#~ msgstr "ERROR: doc_printf 오버플로우(%d바이트)가 발견됨, 중단 중!\n"
-
-#~ msgid "ERROR: pdftops filter crashed on signal %d!\n"
-#~ msgstr "ERROR: pdftops 필터가 신호 %d에서 충돌함!\n"
-
-#~ msgid "ERROR: pdftops filter exited with status %d!\n"
-#~ msgstr "ERROR: pdftops 필터가 상태 %d(으)로 종료됨!\n"
-
-#~ msgid "ERROR: pictwpstops exited on signal %d!\n"
-#~ msgstr "ERROR: pictwpstops가 신호 %d에서 종료됨!\n"
-
-#~ msgid "ERROR: pictwpstops exited with status %d!\n"
-#~ msgstr "ERROR: pictwpstops가 상태 %d(으)로 종료됨!\n"
-
-#~ msgid ""
-#~ "ERROR: recoverable: Unable to connect to printer; will retry in 30 "
-#~ "seconds...\n"
-#~ msgstr "ERROR: 복원 가능: 프린터에 연결할 수 없음; 30초 후에 다시 시도...\n"
-
-#~ msgid "ERROR: select() failed"
-#~ msgstr "ERROR: select() 실패"
-
-#~ msgid "ERROR: unable to stat print file"
-#~ msgstr "ERROR: 프린트 파일을 시작할 수 없음"
-
-#~ msgid "Empty PPD file!"
-#~ msgstr "PPD 파일이 비어있음!"
-
-#~ msgid "Error: need hostname after '-h' option!\n"
-#~ msgstr "오류: '-h' 옵션 뒤에 호스트 이름이 필요!\n"
-
-#~ msgid "FAIL\n"
-#~ msgstr "실패\n"
-
-#~ msgid ""
-#~ "File device URIs have been disabled! To enable, see the FileDevice "
-#~ "directive in \"%s/cupsd.conf\"."
-#~ msgstr ""
-#~ "파일 장비 URI가 비활성화되었습니다! 활성화하려면, \"%s/cupsd.conf\"에 있"
-#~ "는 FileDevice 지시문을 보십시오."
-
-#~ msgid "Fuser temperature high!"
-#~ msgstr "퓨저 온도가 높음!"
-
-#~ msgid "Fuser temperature low!"
-#~ msgstr "퓨저 온도가 낮음!"
-
-#~ msgid "German FanFold"
-#~ msgstr "독일 FanFold"
-
-#~ msgid "German FanFold Legal"
-#~ msgstr "독일 FanFold 공문서"
-
-#~ msgid "Got a printer-uri attribute but no job-id!"
-#~ msgstr "printer-uri 속성을 얻었지만, job-id가 없습니다!"
-
-#~ msgid "INFO: AppleTalk disabled in System Preferences\n"
-#~ msgstr "INFO: 시스템 환경설정에서 AppleTalk가 비활성화됨\n"
-
-#~ msgid "INFO: AppleTalk disabled in System Preferences.\n"
-#~ msgstr "INFO: 시스템 환경설정에서 AppleTalk가 비활성화되었습니다.\n"
-
-#~ msgid "INFO: Canceling print job...\n"
-#~ msgstr "INFO: 프린트 작업 취소 중...\n"
-
-#~ msgid "INFO: Connected to printer...\n"
-#~ msgstr "INFO: 프린터에 연결됨...\n"
-
-#~ msgid "INFO: Connecting to printer...\n"
-#~ msgstr "INFO: 프린트에 연결 중...\n"
-
-#~ msgid "INFO: Control file sent successfully\n"
-#~ msgstr "INFO: 제어 파일을 성공적으로 보냄\n"
-
-#~ msgid "INFO: Data file sent successfully\n"
-#~ msgstr "INFO: 데이터 파일을 성공적으로 보냄\n"
-
-#~ msgid "INFO: Formatting page %d...\n"
-#~ msgstr "INFO: %d페이지 포맷 중...\n"
-
-#~ msgid "INFO: Loading image file...\n"
-#~ msgstr "INFO: 이미지 파일 로드 중...\n"
-
-#~ msgid "INFO: Looking for printer...\n"
-#~ msgstr "INFO: 프린터 검색 중...\n"
-
-#~ msgid "INFO: Opening connection\n"
-#~ msgstr "INFO: 연결 열기\n"
-
-#~ msgid "INFO: Print file sent, waiting for printer to finish...\n"
-#~ msgstr "INFO: 프린트 파일을 보냈고, 프린터 작업 종료 대기 중...\n"
-
-#~ msgid "INFO: Printer busy; will retry in 10 seconds...\n"
-#~ msgstr "INFO: 프린터 사용 중; 10초 후에 다시 시도...\n"
-
-#~ msgid "INFO: Printer busy; will retry in 30 seconds...\n"
-#~ msgstr "INFO: 프린터 사용 중; 30초 후에 다시 시도...\n"
-
-#~ msgid "INFO: Printer busy; will retry in 5 seconds...\n"
-#~ msgstr "INFO: 프린터 사용 중; 5초 후에 다시 시도...\n"
-
-#~ msgid "INFO: Printer does not support IPP/%d.%d, trying IPP/1.0...\n"
-#~ msgstr ""
-#~ "INFO: 프린터가 IPP/%d.%d을 지원하지 않기 때문에, IPP/1.0을 시도 중...\n"
-
-#~ msgid "INFO: Printer is busy; will retry in 5 seconds...\n"
-#~ msgstr "INFO: 프린터 사용 중; 5초 후에 다시 시도...\n"
-
-#~ msgid "INFO: Printer is currently off-line.\n"
-#~ msgstr "INFO: 현재 프린터가 오프라인입니다.\n"
-
-#~ msgid "INFO: Printer is currently offline.\n"
-#~ msgstr "INFO: 현재 프린터가 오프라인입니다.\n"
-
-#~ msgid "INFO: Printer is now online.\n"
-#~ msgstr "INFO: 현재 프린터가 온라인입니다.\n"
-
-#~ msgid "INFO: Printer is offline.\n"
-#~ msgstr "INFO: 프린터가 오프라인입니다.\n"
-
-#~ msgid "INFO: Printer not connected; will retry in 30 seconds...\n"
-#~ msgstr "INFO: 프린터가 연결되지 않음; 30초 후에 다시 시도...\n"
-
-#~ msgid "INFO: Printing page %d, %d%% complete...\n"
-#~ msgstr "INFO: %d페이지 프린트 중, %d%% 완료...\n"
-
-#~ msgid "INFO: Printing page %d...\n"
-#~ msgstr "INFO: %d페이지 프린트 중...\n"
-
-#~ msgid "INFO: Ready to print.\n"
-#~ msgstr "INFO: 프린트할 준비가 되었습니다.\n"
-
-#~ msgid "INFO: Sending control file (%lu bytes)\n"
-#~ msgstr "INFO: 제어 파일 보내는 중(%lu바이트)\n"
-
-#~ msgid "INFO: Sending control file (%u bytes)\n"
-#~ msgstr "INFO: 제어 파일 보내는 중(%u바이트)\n"
-
-#~ msgid "INFO: Sending data\n"
-#~ msgstr "INFO: 데이터 보내는 중\n"
-
-#~ msgid "INFO: Sending data file (%ld bytes)\n"
-#~ msgstr "INFO: 데이터 파일 보내는 중(%ld바이트)\n"
-
-#~ msgid "INFO: Sending data file (%lld bytes)\n"
-#~ msgstr "INFO: 데이터 파일 보내는 중(%lld바이트)\n"
-
-#~ msgid "INFO: Sending print data...\n"
-#~ msgstr "INFO: 프린트 데이터 보내는 중...\n"
-
-#~ msgid "INFO: Sent print file, %ld bytes...\n"
-#~ msgstr "INFO: 프린트 파일 보냄, %ld바이트...\n"
-
-#~ msgid "INFO: Sent print file, %lld bytes...\n"
-#~ msgstr "INFO: 프린트 파일 보냄, %lld바이트...\n"
-
-#~ msgid "INFO: Spooling LPR job, %.0f%% complete...\n"
-#~ msgstr "INFO: LPR 작업 스풀 중, %.0f%% 완료...\n"
-
-#~ msgid ""
-#~ "INFO: Unable to contact printer, queuing on next printer in class...\n"
-#~ msgstr ""
-#~ "INFO: 프린터에 연결할 수 없기 때문에, 클래스에 있는 다음 프린터 대기 "
-#~ "중...\n"
-
-#~ msgid "INFO: Using default AppleTalk zone \"%s\"\n"
-#~ msgstr "INFO: \"%s\" 기본 AppleTalk 영역 사용 중 \n"
-
-#~ msgid "INFO: Waiting for job to complete...\n"
-#~ msgstr "INFO: 작업 완료 대기 중...\n"
-
-#~ msgid "INFO: Waiting for printer to become available...\n"
-#~ msgstr "INFO: 프린터 사용 대기 중...\n"
-
-#~ msgid "ISO B0"
-#~ msgstr "ISO B0"
-
-#~ msgid "ISO B1"
-#~ msgstr "ISO B1"
-
-#~ msgid "ISO B10"
-#~ msgstr "ISO B10"
-
-#~ msgid "ISO B2"
-#~ msgstr "ISO B2"
-
-#~ msgid "ISO B3"
-#~ msgstr "ISO B3"
-
-#~ msgid "ISO B4"
-#~ msgstr "ISO B4"
-
-#~ msgid "ISO B4 Envelope"
-#~ msgstr "ISO B4 봉투"
-
-#~ msgid "ISO B5"
-#~ msgstr "ISO B5"
-
-#~ msgid "ISO B5 (Oversize)"
-#~ msgstr "ISO B5(대)"
-
-#~ msgid "ISO B5 Envelope"
-#~ msgstr "ISO B5 봉투"
-
-#~ msgid "ISO B6"
-#~ msgstr "ISO B6"
-
-#~ msgid "ISO B6 Envelope"
-#~ msgstr "ISO B6 봉투"
-
-#~ msgid "ISO B7"
-#~ msgstr "ISO B7"
-
-#~ msgid "ISO B8"
-#~ msgstr "ISO B8"
-
-#~ msgid "ISO B9"
-#~ msgstr "ISO B9"
-
-#~ msgid "Ink/toner almost empty."
-#~ msgstr "잉크/토너가 거의 비었습니다."
-
-#~ msgid "Ink/toner empty!"
-#~ msgstr "잉크/토너가 비었음!"
-
-#~ msgid "Ink/toner waste bin almost full."
-#~ msgstr "잉크/토너 폐기소가 거의 찼습니다."
-
-#~ msgid "Ink/toner waste bin full!"
-#~ msgstr "잉크/토너 폐기소가 찼음!"
-
-#~ msgid "Interlock open."
-#~ msgstr "연동 장치가 열려 있음."
-
-#~ msgid "Invite Envelope"
-#~ msgstr "초대 봉투"
-
-#~ msgid "Italian Envelope"
-#~ msgstr "이탈리아 봉투"
-
-#~ msgid "Job #%d cannot be restarted - no files!"
-#~ msgstr "#%d 작업을 다시 시작할 수 없음 - 파일 없음!"
-
-#~ msgid "Job #%d does not exist!"
-#~ msgstr "#%d 작업이 없음!"
-
-#~ msgid "Job #%d is finished and cannot be altered!"
-#~ msgstr "#%d 작업이 종료되었고 대체할 수 없음!"
-
-#~ msgid "Job #%d is not complete!"
-#~ msgstr "#%d 작업이 왼료되지 않음!"
-
-#~ msgid "Job #%d is not held for authentication!"
-#~ msgstr "#%d 작업이 인증을 위해 유지되지 않음!"
-
-#~ msgid "Job #%d is not held!"
-#~ msgstr "#%d 작업이 유지되지 않음!"
-
-#~ msgid "Job #%s does not exist!"
-#~ msgstr "#%s 작업이 존재하지 않음!"
-
-#~ msgid "Job %d not found!"
-#~ msgstr "%d 작업이 발견되지 않음!"
-
-#~ msgid "Job subscriptions cannot be renewed!"
-#~ msgstr "작업 구독을 갱신할 수 없음!"
-
-#~ msgid "Kaku2 Envelope"
-#~ msgstr "Kaku2 봉투"
-
-#~ msgid "Kaku3 Envelope"
-#~ msgstr "Kaku3 봉투"
-
-#~ msgid "Language \"%s\" not supported!"
-#~ msgstr "\"%s\" 언어가 지원되지 않음!"
-
-#~ msgid "Media jam!"
-#~ msgstr "미디어가 걸림!"
-
-#~ msgid "Media tray almost empty."
-#~ msgstr "미디어 트레이가 거의 비었습니다."
-
-#~ msgid "Media tray empty!"
-#~ msgstr "미디어 트레이가 비어 있음!"
-
-#~ msgid "Media tray missing!"
-#~ msgstr "미디어 트레이가 유실됨!"
-
-#~ msgid "Media tray needs to be filled."
-#~ msgstr "미디어 트레이를 채워야 합니다."
-
-#~ msgid "Missing document-number attribute!"
-#~ msgstr "document-number 속성이 유실됨!"
-
-#~ msgid "Missing double quote on line %d!"
-#~ msgstr "%d번째 줄에 있는 큰 따옴표가 유실됨!"
-
-#~ msgid "Missing form variable!"
-#~ msgstr "구성 변수가 유실됨!"
-
-#~ msgid "Missing notify-subscription-ids attribute!"
-#~ msgstr "notify-subscription-ids 속성이 유실됨!"
-
-#~ msgid "Missing requesting-user-name attribute!"
-#~ msgstr "requesting-user-name 속성이 유실됨!"
-
-#~ msgid "Missing required attributes!"
-#~ msgstr "필요한 속성이 유실됨!"
-
-#~ msgid "Missing value on line %d!"
-#~ msgstr "%d번째 줄에 있는 값이 유실됨!"
-
-#~ msgid ""
-#~ "Model:  name = %s\n"
-#~ "        natural_language = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ msgstr ""
-#~ "모델:  name = %s\n"
-#~ "        natural_language = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-
-#~ msgid "Monarch"
-#~ msgstr "Monarch"
-
-#~ msgid "Monarch Envelope"
-#~ msgstr "Monarch 봉투"
-
-#~ msgid "NOTICE: Print file accepted - job ID %d.\n"
-#~ msgstr "NOTICE: 프린트 파일이 허용됨 - 작업 ID %d.\n"
-
-#~ msgid "NOTICE: Print file accepted - job ID unknown.\n"
-#~ msgstr "NOTICE: 프린트 파일이 허용됨 - 알 수 없는 작업 ID.\n"
-
-#~ msgid "No PPD name!"
-#~ msgstr "PPD 이름 없음!"
-
-#~ msgid "No Windows printer drivers are installed!"
-#~ msgstr "설치된 Windows 프린터 드라이버가 없음!"
-
-#~ msgid "No active jobs on %s!"
-#~ msgstr "%s에 활성 작업이 없음!"
-
-#~ msgid "No attributes in request!"
-#~ msgstr "요청에 속성이 없음!"
-
-#~ msgid "No authentication information provided!"
-#~ msgstr "제공된 인증 정보가 없음!"
-
-#~ msgid "No default printer"
-#~ msgstr "기본 프린터가 없음"
-
-#~ msgid "No file!?!"
-#~ msgstr "파일이 없음!?!"
-
-#~ msgid "No modification time!"
-#~ msgstr "수정 시간 없음!"
-
-#~ msgid "No printer name!"
-#~ msgstr "프린터 이름 없음!"
-
-#~ msgid "No printer-uri found for class!"
-#~ msgstr "클래스에 대한 printer-uri 없음!"
-
-#~ msgid "No printer-uri found!"
-#~ msgstr "printer-uri 없음!"
-
-#~ msgid "No printer-uri in request!"
-#~ msgstr "요청에 printer-uri 없음!"
-
-#~ msgid "No subscription attributes in request!"
-#~ msgstr "요청에 구독 속성이 없음!"
-
-#~ msgid "OPC almost at end-of-life."
-#~ msgstr "OPC 수명이 거의 다 되었습니다."
-
-#~ msgid "OPC at end-of-life!"
-#~ msgstr "OPC 수명이 다 되었음!"
-
-#~ msgid "Out of toner!"
-#~ msgstr "토너가 없음!"
-
-#~ msgid "Output bin almost full."
-#~ msgstr "출력소 거의 찼습니다."
-
-#~ msgid "Output bin full!"
-#~ msgstr "출력소가 찼습니다!"
-
-#~ msgid "Output for printer %s is sent to %s\n"
-#~ msgstr "%s 프린터 출력을 %s(으)로 보냄\n"
-
-#~ msgid "Output for printer %s is sent to remote printer %s on %s\n"
-#~ msgstr "%1$s 프린터 출력을 %3$s에 있는 %2$s 원격 프린터로 보냄\n"
-
-#~ msgid "Output for printer %s/%s is sent to %s\n"
-#~ msgstr "%s/%s 프린터 출력을 %s로 보냄\n"
-
-#~ msgid "Output for printer %s/%s is sent to remote printer %s on %s\n"
-#~ msgstr "%1$s/%2$s 프린터 출력을 %4$s에 있는 %3$s 원격 프린터로 보냄\n"
-
-#~ msgid "Output tray missing!"
-#~ msgstr "출력 트레이가 유실됨!"
-
-#~ msgid "PASS\n"
-#~ msgstr "PASS\n"
-
-#~ msgid "PRC1 Envelope"
-#~ msgstr "PRC1 봉투"
-
-#~ msgid "PRC10 Envelope"
-#~ msgstr "PRC10 봉투"
-
-#~ msgid "PRC2 Envelope"
-#~ msgstr "PRC2 봉투"
-
-#~ msgid "PRC3 Envelope"
-#~ msgstr "PRC3 봉투"
-
-#~ msgid "PRC32K (Oversize)"
-#~ msgstr "PRC32K(대)"
-
-#~ msgid "PRC4 Envelope"
-#~ msgstr "PRC4 봉투"
-
-#~ msgid "PRC5 Envelope"
-#~ msgstr "PRC5 봉투"
-
-#~ msgid "PRC6 Envelope"
-#~ msgstr "PRC6 봉투"
-
-#~ msgid "PRC7 Envelope"
-#~ msgstr "PRC7 봉투"
-
-#~ msgid "PRC8 Envelope"
-#~ msgstr "PRC8 봉투"
-
-#~ msgid "PRC9 Envelope"
-#~ msgstr "PRC9 봉투"
-
-#~ msgid "Personal Envelope"
-#~ msgstr "개인 봉투"
-
-#~ msgid "Printer offline."
-#~ msgstr "프린터가 오프라인입니다."
-
-#~ msgid "Rank    Owner   Job     File(s)                         Total Size\n"
-#~ msgstr "단계    소유자   작업     파일                         총 크기\n"
-
-#~ msgid ""
-#~ "Rank   Owner      Pri  Job        Files                       Total Size\n"
-#~ msgstr ""
-#~ "단계   소유자      우선순위  작업        파일                       총 크"
-#~ "기\n"
-
-#~ msgid "Running command: %s %s -N -A %s -c '%s'\n"
-#~ msgstr "실행 중인 명령: %s %s -N -A %s -c '%s'\n"
-
-#~ msgid "SCSI Printer"
-#~ msgstr "SCSI 프린터"
-
-#~ msgid "Tabloid (Oversize)"
-#~ msgstr "타블로이드(대)"
-
-#~ msgid "The notify-user-data value is too large (%d > 63 octets)!"
-#~ msgstr "notify-user-data 값이 너무 큼!(%d > 63행)!"
-
-#~ msgid "The printer or class is not shared!"
-#~ msgstr "프린터 또는 클래스를 공유할 수 없음!"
-
-#~ msgid "The printer or class was not found."
-#~ msgstr "프린터 또는 클래스가 없습니다."
-
-#~ msgid "The printer-uri attribute is required!"
-#~ msgstr "printer-uri 속성이 필요함!"
-
-#~ msgid "Toner low."
-#~ msgstr "토너가 부족합니다."
-
-#~ msgid "Too many job-sheets values (%d > 2)!"
-#~ msgstr "job-sheets 값이 너무 많습니다(%d > 2)!"
-
-#~ msgid "Too many printer-state-reasons values (%d > %d)!"
-#~ msgstr "printer-state-reasons 값이 너무 많습니다(%d > %d)!"
-
-#~ msgid "US Executive"
-#~ msgstr "US 행정 용지"
-
-#~ msgid "US Fanfold"
-#~ msgstr "US 연속 용지"
-
-#~ msgid "US Legal (Oversize)"
-#~ msgstr "US 공문서(대)"
-
-#~ msgid "US Letter (Oversize)"
-#~ msgstr "US 편지지(대)"
-
-#~ msgid "US Letter (Small)"
-#~ msgstr "US 편지지(소)"
-
-#~ msgid "Unable to add job for destination \"%s\"!"
-#~ msgstr "\"%s\" 대상에 대한 작업을 추가할 수 없습니다!"
-
-#~ msgid "Unable to allocate memory for file types!"
-#~ msgstr "파일 유형에 대한 메모리를 할당할 수 없습니다!"
-
-#~ msgid "Unable to copy 64-bit CUPS printer driver files (%d)!"
-#~ msgstr "64비트 CUPS 프린터 드라이버 파일을 복사할 수 없습니다(%d)!"
-
-#~ msgid "Unable to copy 64-bit Windows printer driver files (%d)!"
-#~ msgstr "64비트 Windows 프린터 드라이버 파일을 복사할 수 없습니다(%d)!"
-
-#~ msgid "Unable to copy CUPS printer driver files (%d)!"
-#~ msgstr "CUPS 프린터 드라이버 파일을 복사할 수 없습니다(%d)!"
-
-#~ msgid "Unable to copy PPD file - %s!"
-#~ msgstr "PPD 파일을 복사할 수 없음 - %s!"
-
-#~ msgid "Unable to copy PPD file!"
-#~ msgstr "PPD 파일을 복사할 수 없습니다!"
-
-#~ msgid "Unable to copy Windows 2000 printer driver files (%d)!"
-#~ msgstr "Windows 2000 프린터 드라이버 파일을 복사할 수 없습니다(%d)!"
-
-#~ msgid "Unable to copy Windows 9x printer driver files (%d)!"
-#~ msgstr "Windows 9x 프린터 드라이버 파일을 복사할 수 없습니다(%d)!"
-
-#~ msgid "Unable to copy interface script - %s!"
-#~ msgstr "인터페이스 스크립트를 복사할 수 없음 - %s!"
-
-#~ msgid "Unable to create printer-uri!"
-#~ msgstr "printer-uri를 생성할 수 없습니다!"
-
-#~ msgid "Unable to edit cupsd.conf files larger than 1MB!"
-#~ msgstr "1MB보다 큰 cupsd.conf 파일은 편집할 수 없습니다!"
-
-#~ msgid "Unable to find destination for job!"
-#~ msgstr "작업에 대한 대상을 찾을 수 없습니다!"
-
-#~ msgid "Unable to find printer!\n"
-#~ msgstr "프린터를 찾을 수 없습니다!\n"
-
-#~ msgid "Unable to install Windows 2000 printer driver files (%d)!"
-#~ msgstr "Windows 2000 프린터 드라이버 파일을 설치할 수 없습니다(%d)!"
-
-#~ msgid "Unable to install Windows 9x printer driver files (%d)!"
-#~ msgstr "Windows 9x 프린터 드라이버 파일을 설치할 수 없습니다(%d)!"
-
-#~ msgid "Unable to open document %d in job %d!"
-#~ msgstr "도큐멘트 %d을(를) 작업 %d에서 열 수 없습니다!"
-
-#~ msgid "Unable to run \"%s\": %s\n"
-#~ msgstr "\"%s\"을(를) 실행할 수 없음: %s\n"
-
-#~ msgid "Unable to send command to printer driver!"
-#~ msgstr "프린터 드라이버로 명령을 보낼 수 없습니다!"
-
-#~ msgid "Unable to set Windows printer driver (%d)!"
-#~ msgstr "Windows 프린터 드라이버를 설정할 수 없습니다(%d)!"
-
-#~ msgid "Unable to use legacy USB class driver!\n"
-#~ msgstr "레거시 USB 클래스 드라이버를 사용할 수 없음!\n"
-
-#~ msgid "Unknown printer error (%s)!"
-#~ msgstr "알 수 없는 프린터 오류(%s)!"
-
-#~ msgid "Unsupported character set \"%s\"!"
-#~ msgstr "지원되지 않는 문자 세트 \"%s\"!"
-
-#~ msgid "Unsupported compression \"%s\"!"
-#~ msgstr "지원되지 않는 압축 \"%s\"!"
-
-#~ msgid "Unsupported compression attribute %s!"
-#~ msgstr "지원되지 않는 압축 속성 %s!"
-
-#~ msgid "Unsupported format \"%s\"!"
-#~ msgstr "지원되지 않는 포맷 \"%s\"!"
-
-#~ msgid "Unsupported format '%s'!"
-#~ msgstr "지원되지 않는 포맷 '%s'!"
-
-#~ msgid "Unsupported format '%s/%s'!"
-#~ msgstr "지원되지 않는 포맷 '%s/%s'!"
-
-#~ msgid ""
-#~ "Usage:\n"
-#~ "\n"
-#~ "    lpadmin [-h server] -d destination\n"
-#~ "    lpadmin [-h server] -x destination\n"
-#~ "    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m "
-#~ "model]\n"
-#~ "                       [-r remove-class] [-v device] [-D description]\n"
-#~ "                       [-P ppd-file] [-o name=value]\n"
-#~ "                       [-u allow:user,user] [-u deny:user,user]\n"
-#~ "\n"
-#~ msgstr ""
-#~ "사용법:\n"
-#~ "\n"
-#~ "    lpadmin [-h server] -d destination\n"
-#~ "    lpadmin [-h server] -x destination\n"
-#~ "    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m "
-#~ "model]\n"
-#~ "                       [-r remove-class] [-v device] [-D description]\n"
-#~ "                       [-P ppd-file] [-o name=value]\n"
-#~ "                       [-u allow:user,user] [-u deny:user,user]\n"
-#~ "\n"
-
-#~ msgid "Usage: %s job user title copies options [filename]\n"
-#~ msgstr "사용법: %s job user title copies options [filename]\n"
-
-#~ msgid "Usage: %s job-id user title copies options [file]\n"
-#~ msgstr "사용법: %s job-id user title copies options [file]\n"
-
-#~ msgid "Usage: %s job-id user title copies options file\n"
-#~ msgstr "사용법: %s job-id user title copies options file\n"
-
-#~ msgid ""
-#~ "Usage: convert [ options ]\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "  -f filename          Set file to be converted (otherwise stdin)\n"
-#~ "  -o filename          Set file to be generated (otherwise stdout)\n"
-#~ "  -i mime/type         Set input MIME type (otherwise auto-typed)\n"
-#~ "  -j mime/type         Set output MIME type (otherwise application/pdf)\n"
-#~ "  -P filename.ppd      Set PPD file\n"
-#~ "  -a 'name=value ...'  Set option(s)\n"
-#~ "  -U username          Set username for job\n"
-#~ "  -J title             Set title\n"
-#~ "  -c copies            Set number of copies\n"
-#~ "  -u                   Remove the PPD file when finished\n"
-#~ "  -D                   Remove the input file when finished\n"
-#~ msgstr ""
-#~ "사용법: convert [ options ]\n"
-#~ "\n"
-#~ "옵션:\n"
-#~ "\n"
-#~ "  -f filename          변환할 파일 설정(또는 stdin)\n"
-#~ "  -o filename          생성할 파일 설정(또는 stdout)\n"
-#~ "  -i mime/type         입력 MIME 유형 설정(또는 자동 유형 설정)\n"
-#~ "  -j mime/type         출력 MIME 유형 설정(또는 응용 프로그램/pdf)\n"
-#~ "  -P filename.ppd      PPD 파일 설정\n"
-#~ "  -a 'name=value ...'  옵션 설정(s)\n"
-#~ "  -U username          작업에 대한 사용자 이름 설정\n"
-#~ "  -J title             제목 설정\n"
-#~ "  -c copies            복사 장 수 설정\n"
-#~ "  -u                   종료 시 PPD 파일 제거\n"
-#~ "  -D                   종료 시 입력 파일 제거\n"
-
-#~ msgid ""
-#~ "Usage: cupsaddsmb [options] printer1 ... printerN\n"
-#~ "       cupsaddsmb [options] -a\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "  -E               Encrypt the connection to the server\n"
-#~ "  -H samba-server  Use the named SAMBA server\n"
-#~ "  -U samba-user    Authenticate using the named SAMBA user\n"
-#~ "  -a               Export all printers\n"
-#~ "  -h cups-server   Use the named CUPS server\n"
-#~ "  -v               Be verbose (show commands)\n"
-#~ msgstr ""
-#~ "사용법: cupsaddsmb [options] printer1 ... printerN\n"
-#~ "       cupsaddsmb [options] -a\n"
-#~ "\n"
-#~ "옵션:\n"
-#~ "  -E               서버 연결 암호화\n"
-#~ "  -H samba-server  SAMBA 서버 사용\n"
-#~ "  -U samba-user    이름이 있는 SAMBA 사용자를 사용하여 인증\n"
-#~ "  -a               모든 프린터 보내기\n"
-#~ "  -h cups-server   이름이 있는 CUPS 서버 사용\n"
-#~ "  -v               상세하게(명령 보기)\n"
-
-#~ msgid ""
-#~ "Usage: cupsctl [options] [param=value ... paramN=valueN]\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -E                      Enable encryption\n"
-#~ "    -U username             Specify username\n"
-#~ "    -h server[:port]        Specify server address\n"
-#~ "\n"
-#~ "    --[no-]debug-logging    Turn debug logging on/off\n"
-#~ "    --[no-]remote-admin     Turn remote administration on/off\n"
-#~ "    --[no-]remote-any       Allow/prevent access from the Internet\n"
-#~ "    --[no-]remote-printers  Show/hide remote printers\n"
-#~ "    --[no-]share-printers   Turn printer sharing on/off\n"
-#~ "    --[no-]user-cancel-any  Allow/prevent users to cancel any job\n"
-#~ msgstr ""
-#~ "사용법: cupsctl [options] [param=value ... paramN=valueN]\n"
-#~ "\n"
-#~ "옵션:\n"
-#~ "\n"
-#~ "    -E                      암호화 활성화\n"
-#~ "    -U username             사용자 이름 지정\n"
-#~ "    -h server[:port]        서버 주소 지정\n"
-#~ "\n"
-#~ "    --[no-]debug-logging     디버그 로그 켜기/끄기\n"
-#~ "    --[no-]remote-admin     원격 관리 켜기/끄기\n"
-#~ "    --[no-]remote-any       인터넷 접근 허용/차단\n"
-#~ "    --[no-]remote-printers     원격 프린터 보기/가리기\n"
-#~ "    --[no-]share-printers     프린터 공유 켜기/끄기\n"
-#~ "    --[no-]user-cancel-any     사용자가 모든 작업을 취소하는 것을 허용/차"
-#~ "단\n"
-
-#~ msgid ""
-#~ "Usage: cupsd [-c config-file] [-f] [-F] [-h] [-l]\n"
-#~ "\n"
-#~ "-c config-file      Load alternate configuration file\n"
-#~ "-f                  Run in the foreground\n"
-#~ "-F                  Run in the foreground but detach\n"
-#~ "-h                  Show this usage message\n"
-#~ "-l                  Run cupsd from launchd(8)\n"
-#~ msgstr ""
-#~ "사용법: cupsd [-c config-file] [-f] [-F] [-h] [-l]\n"
-#~ "\n"
-#~ "-c config-file      대체 구성 파일 로드\n"
-#~ "-f                  전면에 실행\n"
-#~ "-F                  전면에 실행하지만 분리\n"
-#~ "-h                  이 사용법 메시지 보기\\n-l                  launchd(8)"
-#~ "에서 cupsd 실행\n"
-
-#~ msgid ""
-#~ "Usage: cupsfilter -m mime/type [ options ] filename\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "  -c cupsd.conf    Set cupsd.conf file to use\n"
-#~ "  -j job-id[,N]    Filter file N from the specified job (default is file "
-#~ "1)\n"
-#~ "  -n copies        Set number of copies\n"
-#~ "  -o name=value    Set option(s)\n"
-#~ "  -p filename.ppd  Set PPD file\n"
-#~ "  -t title         Set title\n"
-#~ msgstr ""
-#~ "사용법: cupsfilter -m mime/type [ options ] filename\n"
-#~ "\n"
-#~ "옵션:\n"
-#~ "\n"
-#~ "  -c cupsd.conf    cupsd.conf 파일을 설정하여 사용\n"
-#~ "  -j job-id[,N]    특정 작업으로부터 파일 N 필터(기본은 파일 1)\n"
-#~ "  -n copies        복사 장 수 설정\n"
-#~ "  -o name=value    옵션 설정\n"
-#~ "  -p filename.ppd  PPD 파일 설정\n"
-#~ "  -t title         제목 설정\n"
-
-#~ msgid ""
-#~ "Usage: cupstestdsc [options] filename.ps [... filename.ps]\n"
-#~ "       cupstestdsc [options] -\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -h       Show program usage\n"
-#~ "\n"
-#~ "    Note: this program only validates the DSC comments, not the "
-#~ "PostScript itself.\n"
-#~ msgstr ""
-#~ "사용법: cupstestdsc [options] filename.ps [... filename.ps]\n"
-#~ "       cupstestdsc [options] -\n"
-#~ "\n"
-#~ "옵션:\n"
-#~ "\n"
-#~ "    -h       프로그램 사용법 보기\n"
-#~ "\n"
-#~ "    참고: 이 프로그램은 DSC 명령만을 유효화하고, PostScript 자체는 유효화"
-#~ "하지 않습니다.\n"
-
-#~ msgid ""
-#~ "Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]\n"
-#~ "       program | cupstestppd [options] -\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -R root-directory    Set alternate root\n"
-#~ "    -W {all,none,constraints,defaults,duplex,filters,translations}\n"
-#~ "                         Issue warnings instead of errors\n"
-#~ "    -q                   Run silently\n"
-#~ "    -r                   Use 'relaxed' open mode\n"
-#~ "    -v                   Be slightly verbose\n"
-#~ "    -vv                  Be very verbose\n"
-#~ msgstr ""
-#~ "사용법: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[."
-#~ "gz]]\n"
-#~ "       program | cupstestppd [options] -\n"
-#~ "\n"
-#~ "옵션:\n"
-#~ "\n"
-#~ "    -R root-directory    대체 루트 설정\n"
-#~ "    -W {all,none,constraints,defaults,duplex,filters,translations}\n"
-#~ "                         오류대신 문제 경고\n"
-#~ "    -q                   조용히 실행\n"
-#~ "    -r                   'relaxed' 오픈 모드 사용\n"
-#~ "    -v                   약간 자세하게\n"
-#~ "    -vv                  매우 자세하게\n"
-
-#~ msgid "Usage: lpmove job/src dest\n"
-#~ msgstr "사용법: lpmove job/src dest\n"
-
-#~ msgid ""
-#~ "Usage: lpoptions [-h server] [-E] -d printer\n"
-#~ "       lpoptions [-h server] [-E] [-p printer] -l\n"
-#~ "       lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
-#~ "       lpoptions [-h server] [-E] -x printer\n"
-#~ msgstr ""
-#~ "사용법: lpoptions [-h server] [-E] -d printer\n"
-#~ "       lpoptions [-h server] [-E] [-p printer] -l\n"
-#~ "       lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
-#~ "       lpoptions [-h server] [-E] -x printer\n"
-
-#~ msgid "Usage: lppasswd [-g groupname]\n"
-#~ msgstr "사용법: lppasswd [-g groupname]\n"
-
-#~ msgid ""
-#~ "Usage: lppasswd [-g groupname] [username]\n"
-#~ "       lppasswd [-g groupname] -a [username]\n"
-#~ "       lppasswd [-g groupname] -x [username]\n"
-#~ msgstr ""
-#~ "사용법: lppasswd [-g groupname] [username]\n"
-#~ "       lppasswd [-g groupname] -a [username]\n"
-#~ "       lppasswd [-g groupname] -x [username]\n"
-
-#~ msgid ""
-#~ "Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]\n"
-#~ msgstr ""
-#~ "사용법: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] "
-#~ "[+interval]\n"
-
-#~ msgid ""
-#~ "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]\n"
-#~ "Options:\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "  -I include-dir       Add include directory to search path.\n"
-#~ "  -c catalog.po        Load the specified message catalog.\n"
-#~ "  -d output-dir        Specify the output directory.\n"
-#~ "  -l lang[,lang,...]   Specify the output language(s) (locale).\n"
-#~ "  -m                   Use the ModelName value as the filename.\n"
-#~ "  -t                   Test PPDs instead of generating them.\n"
-#~ "  -v                   Be verbose (more v's for more verbosity).\n"
-#~ "  -z                   Compress PPD files using GNU zip.\n"
-#~ "  --cr                 End lines with CR (Mac OS 9).\n"
-#~ "  --crlf               End lines with CR + LF (Windows).\n"
-#~ "  --lf                 End lines with LF (UNIX/Linux/Mac OS X).\n"
-#~ msgstr ""
-#~ "사용법: ppdc [options] filename.drv [ ... filenameN.drv ]\n"
-#~ "옵션:\n"
-#~ "  -D name=value        이름이 정해진 변수를 값으로 설정합니다.\n"
-#~ "  -I include-dir       포함 디렉토리를 검색 경로에 추가합니다.\n"
-#~ "  -c catalog.po        지정된 메시지 카탈로그를 로드합니다.\n"
-#~ "  -d output-dir        출력 디렉토리를 지정합니다.\n"
-#~ "  -l lang[,lang,...]   출력 언어를 지정합니다(로컬).\n"
-#~ "  -m                   파일 이름으로 ModelName 값을 사용합니다.\n"
-#~ "  -t                   PPD를 생성하는 대신 테스트합니다.\n"
-#~ "  -v                   자세하게(더 자세하게 하려면 v 추가).\n"
-#~ "  -z                   GNU zip을 사용하여 PPD 파일을 압축합니다.\n"
-#~ "  --cr                 CR로 줄을 끝냅니다(Mac OS 9).\n"
-#~ "  --crlf               CR + LF로 줄을 끝냅니다(Windows).\n"
-#~ "  --lf                 LF로 줄을 끝냅니다(UNIX/Linux/Mac OS X).\n"
-
-#~ msgid ""
-#~ "Usage: ppdhtml [options] filename.drv >filename.html\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "Options:\n"
-#~ "  -I include-dir    Add include directory to search path.\n"
-#~ msgstr ""
-#~ "사용법: ppdhtml [options] filename.drv >filename.html\n"
-#~ "  -D name=value        이름이 정해진 변수를 값으로 설정합니다.\n"
-#~ "옵션:\n"
-#~ "  -I include-dir    포함 디렉토리를 검색 경로에 추가합니다.\n"
-
-#~ msgid ""
-#~ "Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Options:\n"
-#~ "  -I include-dir\n"
-#~ "  -o filename.drv\n"
-#~ msgstr ""
-#~ "사용법: ppdi [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "옵션:\n"
-#~ "  -I include-dir\n"
-#~ "  -o filename.drv\n"
-
-#~ msgid ""
-#~ "Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Options:\n"
-#~ "  -o filename.ppd[.gz]\n"
-#~ msgstr ""
-#~ "사용법: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "옵션:\n"
-#~ "  -o filename.ppd[.gz]\n"
-
-#~ msgid ""
-#~ "Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]\n"
-#~ "Options:\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "  -I include-dir    Add include directory to search path.\n"
-#~ "  -v                Be verbose (more v's for more verbosity).\n"
-#~ msgstr ""
-#~ "사용법: ppdpo [options] -o filename.po filename.drv [ ... filenameN."
-#~ "drv ]\n"
-#~ "옵션:\n"
-#~ "  -D name=value        이름이 정해진 변수를 값으로 설정합니다.\n"
-#~ "  -I include-dir    포함 디렉토리를 검색 경로에 추가합니다.\n"
-#~ "  -v                자세하게(더 자세하게 하려면 v 추가).\n"
-
-#~ msgid "Usage: snmp [host-or-ip-address]\n"
-#~ msgstr "사용법: snmp [host-or-ip-address]\n"
-
-#~ msgid "WARNING: Adding only the first %d printers found"
-#~ msgstr "WARNING: 발견된 첫번째 %d개 프린터만 추가 중"
-
-#~ msgid "WARNING: Boolean expected for waiteof option \"%s\"\n"
-#~ msgstr "WARNING: 불리언이 waiteof 옵션을 예상함 \"%s\"\n"
-
-#~ msgid "WARNING: Failed to read side-channel request!\n"
-#~ msgstr "WARNING: 읽기 side-channel 요청에 실패함!\n"
-
-#~ msgid "WARNING: Option \"%s\" cannot be included via IncludeFeature!\n"
-#~ msgstr "WARNING: IncludeFeature를 통해 \"%s\" 옵션을 포함할 수 없음!\n"
-
-#~ msgid "WARNING: Printer not responding\n"
-#~ msgstr "WARNING: 프린터가 응답하지 않음\n"
-
-#~ msgid "WARNING: Printer sent unexpected EOF\n"
-#~ msgstr "WARNING: 프린터가 예기치 않은 EOF를 보냄\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with command status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: %d초 후에 원격 호스트가 명령 상태 바이트에 응답하지 않음!\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with control status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: %d초 후에 원격 호스트가 제어 상태 바이트에 응답하지 않음!\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with data status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: %d초 후에 원격 호스트가 데이터 상태 바이트에 응답하지 않음!\n"
-
-#~ msgid "WARNING: SCSI command timed out (%d); retrying...\n"
-#~ msgstr "WARNING: SCSI 명령 시간 초과(%d); 재시도 중...\n"
-
-#~ msgid ""
-#~ "WARNING: This document does not conform to the Adobe Document Structuring "
-#~ "Conventions and may not print correctly!\n"
-#~ msgstr ""
-#~ "WARNING: 이 도큐멘트는 Adobe Document Structuring Conventions을 실행하지 "
-#~ "않기 때문에 올바르게 프린트되지 않을 수 있음!\n"
-
-#~ msgid "WARNING: Unable to open \"%s:%s\": %s\n"
-#~ msgstr "WARNING: \"%s:%s\"을(를) 열 수 없습니다: %s\n"
-
-#~ msgid "WARNING: Unable to send PAP status request"
-#~ msgstr "WARNING: PAP 상태 요청을 보낼 수 없습니다"
-
-#~ msgid "WARNING: Unexpected PAP packet of type %d\n"
-#~ msgstr "WARNING: %d 유형의 예기치 않은 PAP 패킷\n"
-
-#~ msgid "WARNING: Unknown PAP packet of type %d\n"
-#~ msgstr "WARNING: %d 유형의 알 수 없는 PAP 패킷\n"
-
-#~ msgid "WARNING: Unknown choice \"%s\" for option \"%s\"!\n"
-#~ msgstr "WARNING: \"%2$s\" 옵션에 대한 알 수 없는 \"%1$s\" 선택사항!\n"
-
-#~ msgid "WARNING: Unknown option \"%s\"!\n"
-#~ msgstr "WARNING: 알 수 없는 \"%s\" 옵션!\n"
-
-#~ msgid "WARNING: Unsupported baud rate %s!\n"
-#~ msgstr "WARNING: 지원되지 않는 보드율 %s!\n"
-
-#~ msgid "WARNING: number expected for status option \"%s\"\n"
-#~ msgstr "WARNING: \"%s\" 상태 옵션에 대한 예상되는 번호\n"
-
-#~ msgid ""
-#~ "WARNING: recoverable: Network host '%s' is busy; will retry in %d "
-#~ "seconds...\n"
-#~ msgstr ""
-#~ "WARNING: 복원 가능: '%s' 네트워크 호스트가 사용 중; %d초 후에 다시 시"
-#~ "도...\n"
-
-#~ msgid "Warning, no Windows 2000 printer drivers are installed!"
-#~ msgstr "경고, 설치된 Windows 2000 프린터 드라이버가 없음!"
-
-#~ msgid "You4 Envelope"
-#~ msgstr "You4 봉투"
-
-#~ msgid "convert: Use the -f option to specify a file to convert.\n"
-#~ msgstr "convert: 변환할 파일을 지정하려면 -f 옵션을 사용합니다.\n"
-
-#~ msgid "cupsaddsmb: No PPD file for printer \"%s\" - %s\n"
-#~ msgstr "cupsaddsmb: \"%s\" 프린터에 대한 PPD 파일이 없음 - %s\n"
-
-#~ msgid "cupsctl: Unable to connect to server: %s\n"
-#~ msgstr "cupsctl: 다음 서버에 연결할 수 없습니다: %s\n"
-
-#~ msgid "cupsctl: Unknown option \"%s\"!\n"
-#~ msgstr "cupsctl: 알 수 없는 옵션 \"%s\"!\n"
-
-#~ msgid "cupsctl: Unknown option \"-%c\"!\n"
-#~ msgstr "cupsctl: 알 수 없는 옵션 \"-%c\"!\n"
-
-#~ msgid "cupsd: Expected config filename after \"-c\" option!\n"
-#~ msgstr "cupsd: \"-c\" 옵션 뒤에 구성 파일 이름이 예상됨!\n"
-
-#~ msgid "cupsd: Unable to get current directory!\n"
-#~ msgstr "cupsd: 현재 디렉토리를 얻을 수 없음!\n"
-
-#~ msgid "cupsd: Unknown argument \"%s\" - aborting!\n"
-#~ msgstr "cupsd: 알 수 없는 \"%s\" 변수 - 중단 중!\n"
-
-#~ msgid "cupsd: Unknown option \"%c\" - aborting!\n"
-#~ msgstr "cupsd: 알 수 없는 \"%c\" 옵션 - 중단 중!\n"
-
-#~ msgid "cupsd: launchd(8) support not compiled in, running in normal mode.\n"
-#~ msgstr ""
-#~ "cupsd: launchd(8) 지원이 컴파일되지 않아서, 일반 모드로 실행합니다.\n"
-
-#~ msgid "cupsfilter: Invalid document number %d!\n"
-#~ msgstr "cupsfilter: 유효하지 않은 도큐멘트 번호 %d!\n"
-
-#~ msgid "cupsfilter: Invalid job ID %d!\n"
-#~ msgstr "cupsfilter: 유효하지 않은 작업 ID %d!\n"
-
-#~ msgid "cupsfilter: Only one filename can be specified!\n"
-#~ msgstr "cupsfilter: 하나의 사용자 이름만 지정됨!\n"
-
-#~ msgid "cupsfilter: Unable to create temporary file: %s\n"
-#~ msgstr "cupsfilter: 다음 임시 파일을 생성할 수 없습니다: %s\n"
-
-#~ msgid "cupsfilter: Unable to get job file - %s\n"
-#~ msgstr "cupsfilter: 작업 파일을 얻을 수 없음 - %s\n"
-
-#~ msgid "cupstestppd: The -q option is incompatible with the -v option.\n"
-#~ msgstr "cupstestppd: -q 옵션은 -v 옵션과 호환되지 않습니다.\n"
-
-#~ msgid "cupstestppd: The -v option is incompatible with the -q option.\n"
-#~ msgstr "cupstestppd: -v 옵션은 -q 옵션과 호환되지 않습니다.\n"
-
-#~ msgid "device for %s/%s: %s\n"
-#~ msgstr "%s/%s에 대한 장비: %s\n"
-
-#~ msgid "device for %s: %s\n"
-#~ msgstr "%s에 대한 장비: %s\n"
-
-#~ msgid "help\t\tget help on commands\n"
-#~ msgstr "help\t\t명령에 대한 도움말 얻기\n"
-
-#~ msgid "job-printer-uri attribute missing!"
-#~ msgstr "job-printer-uri 속성이 유실됨!"
-
-#~ msgid "lpadmin: Class name can only contain printable characters!\n"
-#~ msgstr "lpadmin: 클래스 이름은 프린트 가능한 문자만 포함할 수 있음!\n"
-
-#~ msgid "lpadmin: Expected PPD after '-P' option!\n"
-#~ msgstr "lpadmin: '-P' 옵션 뒤에 PPD가 예상됨!\n"
-
-#~ msgid "lpadmin: Expected allow/deny:userlist after '-u' option!\n"
-#~ msgstr "lpadmin: '-u' 옵션 뒤에 allow/deny:userlist가 예상됨!\n"
-
-#~ msgid "lpadmin: Expected class after '-r' option!\n"
-#~ msgstr "lpadmin: '-r' 옵션 뒤에 클래스가 예상됨!\n"
-
-#~ msgid "lpadmin: Expected class name after '-c' option!\n"
-#~ msgstr "lpadmin: '-c' 옵션 뒤에 클래스 이름이 예상됨!\n"
-
-#~ msgid "lpadmin: Expected description after '-D' option!\n"
-#~ msgstr "lpadmin: '-D' 옵션 뒤에 설명이 예상됨!\n"
-
-#~ msgid "lpadmin: Expected device URI after '-v' option!\n"
-#~ msgstr "lpadmin: '-v' 옵션 뒤에 장비 URI가 예상됨!\n"
-
-#~ msgid "lpadmin: Expected file type(s) after '-I' option!\n"
-#~ msgstr "lpadmin: '-I' 옵션 뒤에 파일 유형이 예상됨!\n"
-
-#~ msgid "lpadmin: Expected hostname after '-h' option!\n"
-#~ msgstr "lpadmin: '-h' 옵션 뒤에 호스트 이름이 예상됨!\n"
-
-#~ msgid "lpadmin: Expected interface after '-i' option!\n"
-#~ msgstr "lpadmin: '-i' 옵션 뒤에 인터페이스가 예상됨!\n"
-
-#~ msgid "lpadmin: Expected location after '-L' option!\n"
-#~ msgstr "lpadmin: '-L' 옵션 뒤에 위치가 예상됨!\n"
-
-#~ msgid "lpadmin: Expected model after '-m' option!\n"
-#~ msgstr "lpadmin: '-m' 옵션 뒤에 모델이 예상됨!\n"
-
-#~ msgid "lpadmin: Expected name=value after '-o' option!\n"
-#~ msgstr "lpadmin: '-o' 옵션 뒤에 name=value가 예상됨!\n"
-
-#~ msgid "lpadmin: Expected printer after '-p' option!\n"
-#~ msgstr "lpadmin: '-p' 옵션 뒤에 프린터가 예상됨!\n"
-
-#~ msgid "lpadmin: Expected printer name after '-d' option!\n"
-#~ msgstr "lpadmin: '-d' 옵션 뒤에 프린터 이름이 예상됨!\n"
-
-#~ msgid "lpadmin: Expected printer or class after '-x' option!\n"
-#~ msgstr "lpadmin: '-x' 옵션 뒤에 프린터 또는 클래스가 예상됨!\n"
-
-#~ msgid "lpadmin: No member names were seen!\n"
-#~ msgstr "lpadmin: 회원 이름이 보이지 않음!\n"
-
-#~ msgid "lpadmin: Printer %s is already a member of class %s.\n"
-#~ msgstr "lpadmin: %s 프린터에 이미 %s 클래스 회원이 있습니다.\n"
-
-#~ msgid "lpadmin: Printer %s is not a member of class %s.\n"
-#~ msgstr "lpadmin: %s 프린터에 %s 클래스 회원이 없습니다.\n"
-
-#~ msgid "lpadmin: Printer name can only contain printable characters!\n"
-#~ msgstr "lpadmin: 프린터 이름은 프린트 가능한 문자만 포함할 수 있음!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to add a printer to the class:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: 클래스에 프린터를 추가할 수 없음:\n"
-#~ "         먼저 프린터 이름을 지정해야 합니다!\n"
-
-#~ msgid "lpadmin: Unable to connect to server: %s\n"
-#~ msgstr "lpadmin: 서버에 연결할 수 없음: %s\n"
-
-#~ msgid "lpadmin: Unable to create temporary file - %s\n"
-#~ msgstr "lpadmin: 임시 파일을 생성할 수 없음 - %s\n"
-
-#~ msgid "lpadmin: Unable to create temporary file: %s\n"
-#~ msgstr "lpadmin: 임시 파일을 생성할 수 없음: %s\n"
-
-#~ msgid "lpadmin: Unable to open PPD file \"%s\" - %s\n"
-#~ msgstr "lpadmin: \"%s\" PPD 파일을 열 수 없음 - %s\n"
-
-#~ msgid "lpadmin: Unable to open file \"%s\": %s\n"
-#~ msgstr "lpadmin: \"%s\" 파일을 열 수 없음: %s\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to remove a printer from the class:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: 클래스에서 프린터를 제거할 수 없음:\n"
-#~ "         먼저 프린터 이름을 지정해야 합니다!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the PPD file:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: PPD 파일을 설정할 수 없음:\n"
-#~ "         먼저 프린터 이름을 지정해야 합니다!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the device URI:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: 장비 URI를 설정할 수 없음:\n"
-#~ "         먼저 프린터 이름을 지정해야 합니다!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the interface script or PPD file:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: 인터페이스 스크립트 또는 PPD 파일을 설정할 수 없음:\n"
-#~ "         먼저 프린터 이름을 지정해야 합니다!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the interface script:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: 인터페이스 스크립트를 설정할 수 없음:\n"
-#~ "         먼저 프린터 이름을 지정해야 합니다!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer description:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: 프린터 설명을 설정할 수 없음:\n"
-#~ "         먼저 프린터 이름을 지정해야 합니다!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer location:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: 프린터 위치를 설정할 수 없음:\n"
-#~ "         먼저 프린터 이름을 지정해야 합니다!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer options:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: 프린터 옵션을 설정할 수 없음:\n"
-#~ "         먼저 프린터 이름을 지정해야 합니다!\n"
-
-#~ msgid "lpadmin: Unknown allow/deny option \"%s\"!\n"
-#~ msgstr "lpadmin: 알 수 없는 allow/deny 옵션 \"%s\"!\n"
-
-#~ msgid "lpadmin: Unknown argument '%s'!\n"
-#~ msgstr "lpadmin: 알 수 없는 '%s' 변수!\n"
-
-#~ msgid "lpadmin: Unknown option '%c'!\n"
-#~ msgstr "lpadmin: 알 수 없는 '%c' 옵션!\n"
-
-#~ msgid "lpadmin: Warning - content type list ignored!\n"
-#~ msgstr "lpadmin: 경고 - 콘텐츠 유형 목록 무시됨!\n"
-
-#~ msgid "lpinfo: Expected 1284 device ID string after --device-id!\n"
-#~ msgstr "lpinfo: --device-id 뒤에 1284 장비 ID 스트링이 예상됨!\n"
-
-#~ msgid "lpinfo: Expected language after --language!\n"
-#~ msgstr "lpinfo: --language 뒤에 언어가 예상됨!\n"
-
-#~ msgid "lpinfo: Expected make and model after --make-and-model!\n"
-#~ msgstr "lpinfo: --make-and-model 뒤에 제조사 및 모델이 예상됨!\n"
-
-#~ msgid "lpinfo: Expected product string after --product!\n"
-#~ msgstr "lpinfo: --product 뒤에 제품 스트링이 예상됨!\n"
-
-#~ msgid "lpinfo: Expected scheme list after --exclude-schemes!\n"
-#~ msgstr "lpinfo: --exclude-schemes 뒤에 설계 목록이 예상됨!\n"
-
-#~ msgid "lpinfo: Expected scheme list after --include-schemes!\n"
-#~ msgstr "lpinfo: --include-schemess 뒤에 설계 목록이 예상됨!\n"
-
-#~ msgid "lpinfo: Expected timeout after --timeout!\n"
-#~ msgstr "lpinfo: --timeout 뒤에 제한 시간이 예상됨!\n"
-
-#~ msgid "lpinfo: Unknown argument '%s'!\n"
-#~ msgstr "lpinfo: 알 수 없는 '%s' 변수!\n"
-
-#~ msgid "lpinfo: Unknown option '%c'!\n"
-#~ msgstr "lpinfo: 알 수 없는 '%c' 옵션!\n"
-
-#~ msgid "lpinfo: Unknown option '%s'!\n"
-#~ msgstr "lpinfo: 알 수 없는 '%s' 옵션!\n"
-
-#~ msgid "lpmove: Unable to connect to server: %s\n"
-#~ msgstr "lpmove: 서버에 연결할 수 없음: %s\n"
-
-#~ msgid "lpmove: Unknown argument '%s'!\n"
-#~ msgstr "lpmove: 알 수 없는 '%s' 변수!\n"
-
-#~ msgid "lpmove: Unknown option '%c'!\n"
-#~ msgstr "lpmove: 알 수 없는 '%c' 옵션!\n"
-
-#~ msgid "lpoptions: No printers!?!\n"
-#~ msgstr "lpoptions: 프린터가 없습니까!?!\n"
-
-#~ msgid "lpoptions: Unable to add printer or instance: %s\n"
-#~ msgstr "lpoptions: 프린터 또는 인스턴스를 추가할 수 없음: %s\n"
-
-#~ msgid "lpoptions: Unable to get PPD file for %s: %s\n"
-#~ msgstr "lpoptions: %s에 대한 PPD 파일을 얻을 수 없음: %s\n"
-
-#~ msgid "lpoptions: Unable to open PPD file for %s!\n"
-#~ msgstr "lpoptions: %s에 대한 PPD 파일을 열 수 없음!\n"
-
-#~ msgid "lpoptions: Unknown printer or class!\n"
-#~ msgstr "lpoptions: 알 수 없는 프린터 또는 클래스!\n"
-
-#~ msgid "lppasswd: Only root can add or delete passwords!\n"
-#~ msgstr "lppasswd: root만 암호를 추가 또는 제거할 수 있음!\n"
-
-#~ msgid "lppasswd: Password file busy!\n"
-#~ msgstr "lppasswd: 암호 파일 사용 중!\n"
-
-#~ msgid "lppasswd: Password file not updated!\n"
-#~ msgstr "lppasswd: 암호 파일이 업데이트되지 않음!\n"
-
-#~ msgid "lppasswd: Sorry, password doesn't match!\n"
-#~ msgstr "lppasswd: 죄송합니다, 암호가 일치하지 않습니다!\n"
-
-#~ msgid ""
-#~ "lppasswd: Sorry, password rejected.\n"
-#~ "Your password must be at least 6 characters long, cannot contain\n"
-#~ "your username, and must contain at least one letter and number.\n"
-#~ msgstr ""
-#~ "lppasswd: 죄송합니다, 암호가 거부되었습니다.\n"
-#~ "암호는 최소한 6자 이상이어야 하고, 사용자 이름을 포함해서는 안되며, \n"
-#~ "최소 하나 이상의 문자 및 숫자를 포함해야 합니다.\n"
-
-#~ msgid "lppasswd: Sorry, passwords don't match!\n"
-#~ msgstr "lppasswd: 죄송합니다, 암호가 일치하지 않습니다!\n"
-
-#~ msgid "lppasswd: Unable to copy password string: %s\n"
-#~ msgstr "lppasswd: 암호 스트링을 복사할 수 없음: %s\n"
-
-#~ msgid "lppasswd: Unable to open password file: %s\n"
-#~ msgstr "lppasswd: 암호 파일을 열 수 없음: %s\n"
-
-#~ msgid "lppasswd: Unable to write to password file: %s\n"
-#~ msgstr "lppasswd: 암호 파일에 쓸 수 없음: %s\n"
-
-#~ msgid "lppasswd: failed to backup old password file: %s\n"
-#~ msgstr "lppasswd: 이전 암호 파일을 백업하는데 실패함: %s\n"
-
-#~ msgid "lppasswd: failed to rename password file: %s\n"
-#~ msgstr "lppasswd: 암호 파일 이름을 재설정하는데 실패함: %s\n"
-
-#~ msgid "lppasswd: user \"%s\" and group \"%s\" do not exist.\n"
-#~ msgstr "lppasswd: \"%s\" 사용자 및 \"%s\" 그룹이 존재하지 않습니다.\n"
-
-#~ msgid ""
-#~ "lpstat: error - %s environment variable names non-existent destination \"%"
-#~ "s\"!\n"
-#~ msgstr ""
-#~ "lpstat: 오류 - %s 환경 변수 이름이 존재하지 않는 대상 \"%s\" 이름임!\n"
-
-#~ msgid "members of class %s:\n"
-#~ msgstr "%s 클래스 회원:\n"
-
-#~ msgid "no entries\n"
-#~ msgstr "엔트리 없음\n"
-
-#~ msgid "no system default destination\n"
-#~ msgstr "시스템 기본 대상 없음\n"
-
-#~ msgid "notify-events not specified!"
-#~ msgstr "notify-events가 지정되지 않음!"
-
-#~ msgid "notify-recipient-uri URI \"%s\" is already used!"
-#~ msgstr "notify-recipient-uri \"%s\" URI가 이미 사용 중임!"
-
-#~ msgid "notify-recipient-uri URI \"%s\" uses unknown scheme!"
-#~ msgstr "notify-recipient-uri \"%s\" URI가 알 수 없는 설계를 사용함!"
-
-#~ msgid "notify-subscription-id %d no good!"
-#~ msgstr "%d notify-subscription-id가 좋지 않습니다!"
-
-#~ msgid "ppdc: Adding include directory \"%s\"...\n"
-#~ msgstr "ppdc: \"%s\" 포함 디렉토리 추가 중...\n"
-
-#~ msgid "ppdc: Adding/updating UI text from %s...\n"
-#~ msgstr "ppdc: %s에서 UI 텍스트 추가/업데이트 중...\n"
-
-#~ msgid "ppdc: Bad boolean value (%s) on line %d of %s.\n"
-#~ msgstr "ppdc: 잘못된 불리언 값(%1$s)이 %3$s의 %2$d번째 줄에 있음.\n"
-
-#~ msgid "ppdc: Bad resolution name \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: 잘못된 \"%1$s\" 해상도 이름이 %3$s의 %2$d번째 줄에 있음!\n"
-
-#~ msgid "ppdc: Bad status keyword %s on line %d of %s!\n"
-#~ msgstr "ppdc: 잘못된 %1$s 상태 키워드가 %3$s의 %2$d번째 줄에 있음!\n"
-
-#~ msgid "ppdc: Bad variable substitution ($%c) on line %d of %s.\n"
-#~ msgstr "ppdc: 잘못된 변수 대체항목($%1$c)이 %3$s의 %2$d번째 줄에 있음.\n"
-
-#~ msgid "ppdc: Choice found on line %d of %s with no Option!\n"
-#~ msgstr "ppdc: 선택사항이 %2$s의 %1$d번째 줄에서 옵션 없이 발견됨!\n"
-
-#~ msgid "ppdc: Duplicate #po for locale %s on line %d of %s!\n"
-#~ msgstr "ppdc: 로컬 %1$s에 대한 중복된 #po가 %3$s의 %2$d번째 줄에 있음!\n"
-
-#~ msgid "ppdc: Expected a filter definition on line %d of %s!\n"
-#~ msgstr "ppdc: %2$s의 %1$d번째 줄에 필터 정의가 예상됨!\n"
-
-#~ msgid "ppdc: Expected a program name on line %d of %s!\n"
-#~ msgstr "ppdc: %2$s의 %1$d번째 줄에 프로그램 이름이 예상됨!\n"
-
-#~ msgid "ppdc: Expected boolean value on line %d of %s.\n"
-#~ msgstr "ppdc: %2$s의 %1$d번째 줄에 불리언 값이 예상됨.\n"
-
-#~ msgid "ppdc: Expected charset after Font on line %d of %s!\n"
-#~ msgstr "ppdc: %2$s의 %1$d번째 줄, Font 뒤에 문자 세트가 예상됨!\n"
-
-#~ msgid "ppdc: Expected choice code on line %d of %s.\n"
-#~ msgstr "ppdc: %2$s의 %1$d번째 줄에 선택사항 코드가 예상됨.\n"
-
-#~ msgid "ppdc: Expected choice name/text on line %d of %s.\n"
-#~ msgstr "ppdc: %2$s의 %1$d번째 줄에 선택사항 이름/텍스트가 예상됨.\n"
-
-#~ msgid "ppdc: Expected color order for ColorModel on line %d of %s!\n"
-#~ msgstr "ppdc: %2$s의 %1$d번째 줄에 ColorModel에 대한 색상 순서가 예상됨!\n"
-
-#~ msgid "ppdc: Expected colorspace for ColorModel on line %d of %s!\n"
-#~ msgstr "ppdc: %2$s의 %1$d번째 줄에 ColorModel에 대한 색상 공간이 예상됨!\n"
-
-#~ msgid "ppdc: Expected compression for ColorModel on line %d of %s!\n"
-#~ msgstr "ppdc: %2$s의 %1$d번째 줄에 ColorModel에 대한 압축이 예상됨!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected constraints string for UIConstraints on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: %2$s의 %1$d번째 줄에 UIConstraints에 대한 제한 스트링이 예상됨!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected driver type keyword following DriverType on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc: %2$s의 %1$d번째 줄, DriverType 뒤에 드라이버 유형 키워드가 예상됨!\n"
-
-#~ msgid "ppdc: Expected duplex type after Duplex on line %d of %s!\n"
-#~ msgstr "ppdc: %2$s의 %1$d번째 줄, Duplex 뒤에 양면 유형이 예상됨!\n"
-
-#~ msgid "ppdc: Expected encoding after Font on line %d of %s!\n"
-#~ msgstr "ppdc: %2$s의 %1$d번째 줄, Font 뒤에 인코딩이 예상됨!\n"
-
-#~ msgid "ppdc: Expected filename after #po %s on line %d of %s!\n"
-#~ msgstr "ppdc: %3$s의 %2$d번째 줄, #po %1$s 뒤에 파일 이름이 예상됨!\n"
-
-#~ msgid "ppdc: Expected group name/text on line %d of %s!\n"
-#~ msgstr "ppdc: %2$s의 %1$d번째 줄에 그룹 이름/텍스트가 예상됨!\n"
-
-#~ msgid "ppdc: Expected include filename on line %d of %s!\n"
-#~ msgstr "ppdc: %2$s의 %1$d번째 줄에 포함 파일 이름이 예상됨!\n"
-
-#~ msgid "ppdc: Expected integer on line %d of %s!\n"
-#~ msgstr "ppdc: %2$s의 %1$d번째 줄에 정수가 예상됨!\n"
-
-#~ msgid "ppdc: Expected locale after #po on line %d of %s!\n"
-#~ msgstr "ppdc: %2$s의 %1$d번째 줄, #po 뒤에 로컬 위치가 예상됨!\n"
-
-#~ msgid "ppdc: Expected name after %s on line %d of %s!\n"
-#~ msgstr "ppdc: %3$s의 %2$d번째 줄, %1$s 뒤에 이름이 예상됨!\n"
-
-#~ msgid "ppdc: Expected name after FileName on line %d of %s!\n"
-#~ msgstr "ppdc: %2$s의 %1$d번째 줄, FileName 뒤에 이름이 예상됨!\n"
-
-#~ msgid "ppdc: Expected name after Font on line %d of %s!\n"
-#~ msgstr "ppdc: %2$s의 %1$d번째 줄, Font 뒤에 이름이 예상됨!\n"
-
-#~ msgid "ppdc: Expected name after Manufacturer on line %d of %s!\n"
-#~ msgstr "ppdc: %2$s의 %1$d번째 줄, Manufacturer 뒤에 이름이 예상됨!\n"
-
-#~ msgid "ppdc: Expected name after MediaSize on line %d of %s!\n"
-#~ msgstr "ppdc: %2$s의 %1$d번째 줄, MediaSize 뒤에 이름이 예상됨!\n"
-
-#~ msgid "ppdc: Expected name after ModelName on line %d of %s!\n"
-#~ msgstr "ppdc: %2$s의 %1$d번째 줄, ModelName 뒤에 이름이 예상됨!\n"
-
-#~ msgid "ppdc: Expected name after PCFileName on line %d of %s!\n"
-#~ msgstr "ppdc: %2$s의 %1$d번째 줄, PCFileName 뒤에 이름이 예상됨!\n"
-
-#~ msgid "ppdc: Expected name/text after %s on line %d of %s!\n"
-#~ msgstr "ppdc: %3$s의 %2$d번째 줄, %1$s 뒤에 이름/텍스트가 예상됨!\n"
-
-#~ msgid "ppdc: Expected name/text after Installable on line %d of %s!\n"
-#~ msgstr "ppdc: %2$s의 %1$d번째 줄, Installable 뒤에 이름/텍스트 예상됨!\n"
-
-#~ msgid "ppdc: Expected name/text after Resolution on line %d of %s!\n"
-#~ msgstr "ppdc: %2$s의 %1$d번째 줄, Resolution 뒤에 이름/텍스트 예상됨!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected name/text combination for ColorModel on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: %2$s의 %1$d번째 줄, ColorModel에 대해 이름/텍스트 조합이 예상됨!\n"
-
-#~ msgid "ppdc: Expected option name/text on line %d of %s!\n"
-#~ msgstr "ppdc: %2$s의 %1$d번째 줄에 옵션 이름/텍스트가 예상됨!\n"
-
-#~ msgid "ppdc: Expected option section on line %d of %s!\n"
-#~ msgstr "ppdc: %2$s의 %1$d번째 줄에 옵션 섹션이 예상됨!\n"
-
-#~ msgid "ppdc: Expected option type on line %d of %s!\n"
-#~ msgstr "ppdc: %2$s의 %1$d번째 줄의 옵션 유형이 예상됨!\n"
-
-#~ msgid "ppdc: Expected override field after Resolution on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: %2$s의 %1$d번째 줄, Resolution 뒤에 오버라이드 필드가 예상됨!\n"
-
-#~ msgid "ppdc: Expected real number on line %d of %s!\n"
-#~ msgstr "ppdc: %2$s의 %1$d번째 줄에 실제 번호가 예상됨!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected resolution/mediatype following ColorProfile on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc: %2$s의 %1$d번째 줄, ColorProfile 뒤에 해상도/미디어 유형이 예상됨!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected resolution/mediatype following SimpleColorProfile on line %"
-#~ "d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: %2$s의 %1$d번째 줄, SimpleColorProfile 뒤에 해상도/미디어 유형이 예"
-#~ "상됨!\n"
-
-#~ msgid "ppdc: Expected selector after %s on line %d of %s!\n"
-#~ msgstr "ppdc: %3$s의 %2$d번째 줄, %1$s 뒤에 선택자가 예상됨!\n"
-
-#~ msgid "ppdc: Expected status after Font on line %d of %s!\n"
-#~ msgstr "ppdc: %2$s의 %1$d번째 줄, Font 뒤에 상태가 예상됨!\n"
-
-#~ msgid "ppdc: Expected string after Copyright on line %d of %s!\n"
-#~ msgstr "ppdc: %2$s의 %1$d번째 줄, Copyright 뒤에 스트링이 예상됨!\n"
-
-#~ msgid "ppdc: Expected string after Version on line %d of %s!\n"
-#~ msgstr "ppdc: %2$s의 %1$d번째 줄, Version 뒤에 스트링이 예상됨!\n"
-
-#~ msgid "ppdc: Expected two option names on line %d of %s!\n"
-#~ msgstr "ppdc: %2$s의 %1$d번째 줄에 옵션 이름 2개가 예상됨!\n"
-
-#~ msgid "ppdc: Expected value after %s on line %d of %s!\n"
-#~ msgstr "ppdc: %3$s의 %2$d번째 줄, %1$s 뒤에 값이 예상됨!\n"
-
-#~ msgid "ppdc: Expected version after Font on line %d of %s!\n"
-#~ msgstr "ppdc: %2$s의 %1$d번째 줄, Font 뒤에 버전이 예상됨!\n"
-
-#~ msgid "ppdc: Invalid #include/#po filename \"%s\"!\n"
-#~ msgstr "ppdc: 유효하지 않은 #include/#po 파일 이름 \"%s\"!\n"
-
-#~ msgid "ppdc: Invalid cost for filter on line %d of %s!\n"
-#~ msgstr "ppdc: %2$s의 %1$d번째 줄의 필터에 대해 유효하지 않은 비용!\n"
-
-#~ msgid "ppdc: Invalid empty MIME type for filter on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: %2$s의 %1$d번째 줄의 필터에 대해 유효하지 않은 빈 MIME 유형!\n"
-
-#~ msgid "ppdc: Invalid empty program name for filter on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: %2$s의 %1$d번째 줄의 필터에 대해 유효하지 않은 빈 프로그램 이름!\n"
-
-#~ msgid "ppdc: Invalid option section \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: %3$s의 %2$d번째 줄에 유효하지 않은 \"%1$s\" 옵션 섹션!\n"
-
-#~ msgid "ppdc: Invalid option type \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: %3$s의 %2$d번째 줄에 유효하지 않은 \"%1$s\" 옵션 유형!\n"
-
-#~ msgid "ppdc: Loading driver information file \"%s\"...\n"
-#~ msgstr "ppdc: \"%s\" 드라이버 정보 파일 로드 중...\n"
-
-#~ msgid "ppdc: Loading messages for locale \"%s\"...\n"
-#~ msgstr "ppdc: 로컬 \"%s\"에 대한 메시지 로드 중...\n"
-
-#~ msgid "ppdc: Loading messages from \"%s\"...\n"
-#~ msgstr "ppdc: \"%s\"에서 메시지 로드 중...\n"
-
-#~ msgid "ppdc: Missing #endif at end of \"%s\"!\n"
-#~ msgstr "ppdc: \"%s\" 끝에서 #endif 유실됨!\n"
-
-#~ msgid "ppdc: Missing #if on line %d of %s!\n"
-#~ msgstr "ppdc: %2$s의 %1$d번째 줄에서 #if 유실됨!\n"
-
-#~ msgid "ppdc: No message catalog provided for locale %s!\n"
-#~ msgstr "ppdc: 로컬 %s에 대해 제공된 메시지 카탈로그 없음!\n"
-
-#~ msgid "ppdc: Option %s redefined with a different type on line %d of %s!\n"
-#~ msgstr "ppdc: %3$s의 %2$d번째 줄에 %1$s 옵션이 다른 유형으로 재정의됨!\n"
-
-#~ msgid "ppdc: Option constraint must *name on line %d of %s!\n"
-#~ msgstr "ppdc: %2$s의 %1$d번째 줄에 있는 옵션 제한은 *name이어야 함!\n"
-
-#~ msgid "ppdc: Too many nested #if's on line %d of %s!\n"
-#~ msgstr "ppdc: %2$s의 %1$d번째 줄에 너무 많이 중첩된 #if가 있음!\n"
-
-#~ msgid "ppdc: Unable to create PPD file \"%s\" - %s.\n"
-#~ msgstr "ppdc: \"%s\" PPD 파일을 생성할 수 없음 - %s.\n"
-
-#~ msgid "ppdc: Unable to create output directory %s: %s\n"
-#~ msgstr "ppdc: %s 출력 디렉토리를 생성할 수 없음: %s\n"
-
-#~ msgid "ppdc: Unable to create output pipes: %s\n"
-#~ msgstr "ppdc: 출력 파이프를 생성할 수 없음: %s\n"
-
-#~ msgid "ppdc: Unable to execute cupstestppd: %s\n"
-#~ msgstr "ppdc: cupstestppd를 실행할 수 없음: %s\n"
-
-#~ msgid "ppdc: Unable to find #po file %s on line %d of %s!\n"
-#~ msgstr "ppdc: %3$s의 %2$d번째 줄에서 #po 파일 %1$s을(를) 찾을 수 없음!\n"
-
-#~ msgid "ppdc: Unable to find include file \"%s\" on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: %3$s의 %2$d번째 줄에서 포함 파일 \"%1$s\"을(를) 찾을 수 없음!\n"
-
-#~ msgid "ppdc: Unable to find localization for \"%s\" - %s\n"
-#~ msgstr "ppdc: \"%s\"에 대한 현지화를 찾을 수 없음 - %s\n"
-
-#~ msgid "ppdc: Unable to load localization file \"%s\" - %s\n"
-#~ msgstr "ppdc: \"%s\"에 대한 현지화 파일을 로드할 수 없음 - %s\n"
-
-#~ msgid "ppdc: Undefined variable (%s) on line %d of %s.\n"
-#~ msgstr "ppdc: %3$s의 %2$d번째 줄에 변수(%1$s)가 정의되지 않음.\n"
-
-#~ msgid "ppdc: Unknown driver type %s on line %d of %s!\n"
-#~ msgstr "ppdc: %3$s의 %2$d번째 줄에 알 수 없는 %1$s 드라이브 유형!\n"
-
-#~ msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: %3$s의 %2$d번째 줄에 알 수 없는 \"%1$s\" 양면 유형!\n"
-
-#~ msgid "ppdc: Unknown media size \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: %3$s의 %2$d번째 줄에 알 수 없는 \"%1$s\" 미디어 크기!\n"
-
-#~ msgid "ppdc: Unknown token \"%s\" seen on line %d of %s!\n"
-#~ msgstr "ppdc: %3$s의 %2$d번째 줄에 보이는 알 수 없는 \"%1$s\" 토큰!\n"
-
-#~ msgid ""
-#~ "ppdc: Unknown trailing characters in real number \"%s\" on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc: %3$s의 %2$d번째 줄에 있는 \"%1$s\" 실수에 알 수 없는 마지막 문자!\n"
-
-#~ msgid "ppdc: Unterminated string starting with %c on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: %3$s의 %2$d번째 줄에 %1$c(으)로 시작하는 끝나지 않는 스트링!\n"
-
-#~ msgid "ppdc: Writing %s...\n"
-#~ msgstr "ppdc: %s 쓰는 중...\n"
-
-#~ msgid "ppdc: Writing PPD files to directory \"%s\"...\n"
-#~ msgstr "ppdc: \"%s\" 디렉토리에 PPD 파일 쓰는 중...\n"
-
-#~ msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s!\n"
-#~ msgstr "ppdmerge: %2$s에 잘못된 \"%1$s\" LanguageVersion!\n"
-
-#~ msgid "ppdmerge: Ignoring PPD file %s...\n"
-#~ msgstr "ppdmerge: %s PPD 파일 무시 중...\n"
-
-#~ msgid "ppdmerge: Unable to backup %s to %s- %s\n"
-#~ msgstr "ppdmerge: %s을(를) %s(으)로 백업할 수 없음- %s\n"
-
-#~ msgid "printer %s disabled since %s -\n"
-#~ msgstr "%2$s 이후로 %1$s 프린터가 비활성화됨 -\n"
-
-#~ msgid "printer %s is idle.  enabled since %s\n"
-#~ msgstr "%s 프린터가 대기 중.  %s 이후에 활성화됨\n"
-
-#~ msgid "printer %s now printing %s-%d.  enabled since %s\n"
-#~ msgstr "%s 프린터가 현재 %s-%d을(를) 프린트 중입니다.  %s 이후에 활성화됨\n"
-
-#~ msgid "printer %s/%s disabled since %s -\n"
-#~ msgstr "%s/%s 프린터가 %s 이후에 비활성화됨 -\n"
-
-#~ msgid "printer %s/%s is idle.  enabled since %s\n"
-#~ msgstr "%s/%s 프린터가 대기 중.  %s 이후에 활성화됨\n"
-
-#~ msgid "printer %s/%s now printing %s-%d.  enabled since %s\n"
-#~ msgstr ""
-#~ "%s/%s 프린터가 현재 %s-%d을(를) 프린트 중입니다.  %s 이후에 활성화됨\n"
-
-#~ msgid "request id is %s-%d (%d file(s))\n"
-#~ msgstr "요청 id는 %s-%d(%d개의 파일)\n"
-
-#~ msgid "scheduler is not running\n"
-#~ msgstr "일정이 실행되지 않음\n"
-
-#~ msgid "scheduler is running\n"
-#~ msgstr "일정이 실행 중\n"
-
-#~ msgid "status\t\tshow status of daemon and queue\n"
-#~ msgstr "상태\t\t데몬 및 대기열 상태 보기\n"
-
-#~ msgid "system default destination: %s\n"
-#~ msgstr "시스템 기본 대상: %s\n"
-
-#~ msgid "system default destination: %s/%s\n"
-#~ msgstr "시스템 기본 대상: %s/%s\n"
diff --git a/locale/cups_nl.po b/locale/cups_nl.po
deleted file mode 100644 (file)
index 02adec6..0000000
+++ /dev/null
@@ -1,8758 +0,0 @@
-msgid ""
-msgstr ""
-"Project-Id-Version: CUPS 1.4\n"
-"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2012-03-07 13:38-0800\n"
-"PO-Revision-Date: 2009-02-16 12:00-0800\n"
-"Last-Translator: Apple Inc.\n"
-"Language-Team: Apple Inc.\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: \n"
-
-msgid "\t\t(all)"
-msgstr ""
-
-msgid "\t\t(none)"
-msgstr ""
-
-#, c-format
-msgid "\t%d entries"
-msgstr ""
-
-#, c-format
-msgid "\t%s"
-msgstr ""
-
-msgid "\tAfter fault: continue"
-msgstr ""
-
-#, c-format
-msgid "\tAlerts: %s"
-msgstr ""
-
-msgid "\tBanner required"
-msgstr ""
-
-msgid "\tCharset sets:"
-msgstr ""
-
-msgid "\tConnection: direct"
-msgstr ""
-
-msgid "\tConnection: remote"
-msgstr ""
-
-msgid "\tContent types: any"
-msgstr ""
-
-msgid "\tDefault page size:"
-msgstr ""
-
-msgid "\tDefault pitch:"
-msgstr ""
-
-msgid "\tDefault port settings:"
-msgstr ""
-
-#, c-format
-msgid "\tDescription: %s"
-msgstr ""
-
-msgid "\tForm mounted:"
-msgstr ""
-
-msgid "\tForms allowed:"
-msgstr ""
-
-#, c-format
-msgid "\tInterface: %s.ppd"
-msgstr ""
-
-#, c-format
-msgid "\tInterface: %s/interfaces/%s"
-msgstr ""
-
-#, c-format
-msgid "\tInterface: %s/ppd/%s.ppd"
-msgstr ""
-
-#, c-format
-msgid "\tLocation: %s"
-msgstr ""
-
-msgid "\tOn fault: no alert"
-msgstr ""
-
-msgid "\tPrinter types: unknown"
-msgstr ""
-
-#, c-format
-msgid "\tStatus: %s"
-msgstr ""
-
-msgid "\tUsers allowed:"
-msgstr ""
-
-msgid "\tUsers denied:"
-msgstr ""
-
-msgid "\tdaemon present"
-msgstr ""
-
-msgid "\tno entries"
-msgstr ""
-
-#, c-format
-msgid "\tprinter is on device '%s' speed -1"
-msgstr ""
-
-msgid "\tprinting is disabled"
-msgstr ""
-
-msgid "\tprinting is enabled"
-msgstr ""
-
-#, c-format
-msgid "\tqueued for %s"
-msgstr ""
-
-msgid "\tqueuing is disabled"
-msgstr ""
-
-msgid "\tqueuing is enabled"
-msgstr ""
-
-msgid "\treason unknown"
-msgstr ""
-
-msgid ""
-"\n"
-"    DETAILED CONFORMANCE TEST RESULTS"
-msgstr ""
-
-msgid "                          Ignore specific warnings."
-msgstr ""
-
-msgid "                          Issue warnings instead of errors."
-msgstr ""
-
-msgid "                REF: Page 15, section 3.1."
-msgstr ""
-
-msgid "                REF: Page 15, section 3.2."
-msgstr ""
-
-msgid "                REF: Page 19, section 3.3."
-msgstr ""
-
-msgid "                REF: Page 20, section 3.4."
-msgstr ""
-
-msgid "                REF: Page 27, section 3.5."
-msgstr ""
-
-msgid "                REF: Page 42, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 16-17, section 3.2."
-msgstr ""
-
-msgid "                REF: Pages 42-45, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 45-46, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 48-49, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 52-54, section 5.2."
-msgstr ""
-
-#, c-format
-msgid "        %-39.39s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "        PASS    Default%s"
-msgstr ""
-
-msgid "        PASS    DefaultImageableArea"
-msgstr ""
-
-msgid "        PASS    DefaultPaperDimension"
-msgstr ""
-
-msgid "        PASS    FileVersion"
-msgstr ""
-
-msgid "        PASS    FormatVersion"
-msgstr ""
-
-msgid "        PASS    LanguageEncoding"
-msgstr ""
-
-msgid "        PASS    LanguageVersion"
-msgstr ""
-
-msgid "        PASS    Manufacturer"
-msgstr ""
-
-msgid "        PASS    ModelName"
-msgstr ""
-
-msgid "        PASS    NickName"
-msgstr ""
-
-msgid "        PASS    PCFileName"
-msgstr ""
-
-msgid "        PASS    PSVersion"
-msgstr ""
-
-msgid "        PASS    PageRegion"
-msgstr ""
-
-msgid "        PASS    PageSize"
-msgstr ""
-
-msgid "        PASS    Product"
-msgstr ""
-
-msgid "        PASS    ShortNickName"
-msgstr ""
-
-#, c-format
-msgid "        WARN    %s has no corresponding options."
-msgstr ""
-
-#, c-format
-msgid ""
-"        WARN    %s shares a common prefix with %s\n"
-"                REF: Page 15, section 3.2."
-msgstr ""
-
-#, c-format
-msgid ""
-"        WARN    Duplex option keyword %s may not work as expected and should "
-"be named Duplex.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-
-msgid "        WARN    File contains a mix of CR, LF, and CR LF line endings."
-msgstr ""
-
-msgid ""
-"        WARN    LanguageEncoding required by PPD 4.3 spec.\n"
-"                REF: Pages 56-57, section 5.3."
-msgstr ""
-
-#, c-format
-msgid "        WARN    Line %d only contains whitespace."
-msgstr ""
-
-msgid ""
-"        WARN    Manufacturer required by PPD 4.3 spec.\n"
-"                REF: Pages 58-59, section 5.3."
-msgstr ""
-
-msgid ""
-"        WARN    Non-Windows PPD files should use lines ending with only LF, "
-"not CR LF."
-msgstr ""
-
-#, c-format
-msgid ""
-"        WARN    Obsolete PPD version %.1f.\n"
-"                REF: Page 42, section 5.2."
-msgstr ""
-
-msgid ""
-"        WARN    PCFileName longer than 8.3 in violation of PPD spec.\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-
-msgid ""
-"        WARN    PCFileName should contain a unique filename.\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-
-msgid ""
-"        WARN    Protocols contains PJL but JCL attributes are not set.\n"
-"                REF: Pages 78-79, section 5.7."
-msgstr ""
-
-msgid ""
-"        WARN    Protocols contains both PJL and BCP; expected TBCP.\n"
-"                REF: Pages 78-79, section 5.7."
-msgstr ""
-
-msgid ""
-"        WARN    ShortNickName required by PPD 4.3 spec.\n"
-"                REF: Pages 64-65, section 5.3."
-msgstr ""
-
-msgid "       cupsaddsmb [options] -a"
-msgstr ""
-
-msgid "       cupstestdsc [options] -"
-msgstr ""
-
-msgid "       program | cupstestppd [options] -"
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  \"%s %s\" conflicts with \"%s %s\"\n"
-"                (constraint=\"%s %s %s %s\")."
-msgstr ""
-
-#, c-format
-msgid "      %s  %s %s does not exist."
-msgstr ""
-
-#, c-format
-msgid "      %s  %s file \"%s\" has the wrong capitalization."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  Bad %s choice %s.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsFilter value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsFilter2 value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsICCProfile %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsPreFilter value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsUIConstraints %s: \"%s\""
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad language \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad permissions on %s file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad spelling of %s - should be %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Cannot provide both APScanAppPath and APScanAppBundleID."
-msgstr ""
-
-#, c-format
-msgid "      %s  Default choices conflicting."
-msgstr ""
-
-#, c-format
-msgid "      %s  Empty cupsUIConstraints %s"
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing \"%s\" translation string for option %s, choice %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing \"%s\" translation string for option %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing %s file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  Missing REQUIRED PageRegion option.\n"
-"                REF: Page 100, section 5.14."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  Missing REQUIRED PageSize option.\n"
-"                REF: Page 99, section 5.14."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\""
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing cupsUIResolver %s"
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing option %s in cupsUIConstraints %s: \"%s\""
-msgstr ""
-
-#, c-format
-msgid "      %s  No base translation \"%s\" is included in file."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  REQUIRED %s does not define choice None.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" defined for %s but not for %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" has unexpected dimensions (%gx%g)."
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" should be \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" should be the Adobe standard name \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  cupsICCProfile %s hash value collides with %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  cupsUIResolver %s causes a loop."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  cupsUIResolver %s does not list at least two different options."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  %s choice names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  %s must be 1284DeviceID\n"
-"                REF: Page 72, section 5.5"
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD Default%s %s\n"
-"                REF: Page 40, section 4.5."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD DefaultImageableArea %s\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD DefaultPaperDimension %s\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD JobPatchFile attribute in file\n"
-"                REF: Page 24, section 3.4."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD Manufacturer (should be \"HP\")\n"
-"                REF: Page 211, table D.1."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD Manufacturer (should be \"Oki\")\n"
-"                REF: Page 211, table D.1."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n"
-"                REF: Pages 59-60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD PSVersion - not \"(string) int\".\n"
-"                REF: Pages 62-64, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD Product - not \"(string)\".\n"
-"                REF: Page 62, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD ShortNickName - longer than 31 chars.\n"
-"                REF: Pages 64-65, section 5.3."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad %s choice %s\n"
-"                REF: Page 84, section 5.9"
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad FileVersion \"%s\"\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad FormatVersion \"%s\"\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Bad LanguageVersion %s - must be English."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Default option code cannot be interpreted: %s"
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Default translation string for option %s choice %s contains "
-"8-bit characters."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Default translation string for option %s contains 8-bit "
-"characters."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Group names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Multiple occurrences of %s choice name %s."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Option names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED Default%s\n"
-"                REF: Page 40, section 4.5."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED DefaultImageableArea\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED DefaultPaperDimension\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED FileVersion\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED FormatVersion\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED ImageableArea for PageSize %s\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED LanguageEncoding\n"
-"                REF: Pages 56-57, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED LanguageVersion\n"
-"                REF: Pages 57-58, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED Manufacturer\n"
-"                REF: Pages 58-59, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED ModelName\n"
-"                REF: Pages 59-60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED NickName\n"
-"                REF: Page 60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PCFileName\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PSVersion\n"
-"                REF: Pages 62-64, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PageRegion\n"
-"                REF: Page 100, section 5.14."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PageSize\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 99, section 5.14."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PageSize\n"
-"                REF: Pages 99-100, section 5.14."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED PaperDimension for PageSize %s\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED Product\n"
-"                REF: Page 62, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED ShortNickName\n"
-"                REF: Page 64-65, section 5.3."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Unable to open PPD file - %s"
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Unable to open PPD file - %s on line %d."
-msgstr ""
-
-#, c-format
-msgid "    %d ERRORS FOUND"
-msgstr ""
-
-msgid "    -h       Show program usage"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Bad %%%%BoundingBox: on line %d.\n"
-"        REF: Page 39, %%%%BoundingBox:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Bad %%%%Page: on line %d.\n"
-"        REF: Page 53, %%%%Page:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Bad %%%%Pages: on line %d.\n"
-"        REF: Page 43, %%%%Pages:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Line %d is longer than 255 characters (%d).\n"
-"        REF: Page 25, Line Length"
-msgstr ""
-
-msgid ""
-"    Missing %!PS-Adobe-3.0 on first line.\n"
-"        REF: Page 17, 3.1 Conforming Documents"
-msgstr ""
-
-#, c-format
-msgid "    Missing %%EndComments comment.        REF: Page 41, %%EndComments"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Missing or bad %%BoundingBox: comment.\n"
-"        REF: Page 39, %%BoundingBox:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Missing or bad %%Page: comments.\n"
-"        REF: Page 53, %%Page:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Missing or bad %%Pages: comment.\n"
-"        REF: Page 43, %%Pages:"
-msgstr ""
-
-msgid "    NO ERRORS FOUND"
-msgstr ""
-
-#, c-format
-msgid "    Saw %d lines that exceeded 255 characters."
-msgstr ""
-
-#, c-format
-msgid "    Too many %%BeginDocument comments."
-msgstr ""
-
-#, c-format
-msgid "    Too many %%EndDocument comments."
-msgstr ""
-
-msgid "    Warning: file contains binary data."
-msgstr ""
-
-#, c-format
-msgid "    Warning: no %%EndComments comment in file."
-msgstr ""
-
-#, c-format
-msgid "    Warning: obsolete DSC version %.1f in file."
-msgstr ""
-
-msgid "  --[no-]debug-logging    Turn debug logging on/off."
-msgstr ""
-
-msgid "  --[no-]remote-admin     Turn remote administration on/off."
-msgstr ""
-
-msgid "  --[no-]remote-any       Allow/prevent access from the Internet."
-msgstr ""
-
-msgid "  --[no-]remote-printers  Show/hide remote printers."
-msgstr ""
-
-msgid "  --[no-]share-printers   Turn printer sharing on/off."
-msgstr ""
-
-msgid "  --[no-]user-cancel-any  Allow/prevent users to cancel any job."
-msgstr ""
-
-msgid "  --cr                    End lines with CR (Mac OS 9)."
-msgstr ""
-
-msgid "  --crlf                  End lines with CR + LF (Windows)."
-msgstr ""
-
-msgid "  --lf                    End lines with LF (UNIX/Linux/Mac OS X)."
-msgstr ""
-
-msgid "  -4                      Connect using IPv4."
-msgstr ""
-
-msgid "  -6                      Connect using IPv6."
-msgstr ""
-
-msgid "  -C                      Send requests using chunking (default)."
-msgstr ""
-
-msgid "  -D                      Remove the input file when finished."
-msgstr ""
-
-msgid "  -D name=value           Set named variable to value."
-msgstr ""
-
-msgid "  -E                      Enable encryption."
-msgstr ""
-
-msgid "  -E                      Encrypt the connection to the server."
-msgstr ""
-
-msgid "  -E                      Test with TLS encryption."
-msgstr ""
-
-msgid ""
-"  -F                      Run in the foreground but detach from console."
-msgstr ""
-
-msgid "  -H samba-server         Use the named SAMBA server."
-msgstr ""
-
-msgid "  -I                      Ignore errors."
-msgstr ""
-
-msgid "  -I include-dir          Add include directory to search path."
-msgstr ""
-
-msgid "  -I {filename,filters,none,profiles}"
-msgstr ""
-
-msgid "  -J title                Set title."
-msgstr ""
-
-msgid "  -L                      Send requests using content-length."
-msgstr ""
-
-msgid "  -P filename.ppd         Set PPD file."
-msgstr ""
-
-msgid "  -R root-directory       Set alternate root."
-msgstr ""
-
-msgid "  -S                      Test with SSL encryption."
-msgstr ""
-
-msgid "  -T                      Set the receive/send timeout in seconds."
-msgstr ""
-
-msgid "  -U samba-user           Authenticate using the named SAMBA user."
-msgstr ""
-
-msgid "  -U username             Set username for job."
-msgstr ""
-
-msgid "  -U username             Specify username."
-msgstr ""
-
-msgid "  -V version              Set default IPP version."
-msgstr ""
-
-msgid ""
-"  -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,"
-"translations}"
-msgstr ""
-
-msgid "  -X                      Produce XML plist instead of plain text."
-msgstr ""
-
-msgid "  -a                      Export all printers."
-msgstr ""
-
-msgid "  -a 'name=value ...'     Set option(s)."
-msgstr ""
-
-msgid "  -c catalog.po           Load the specified message catalog."
-msgstr ""
-
-msgid "  -c config-file          Load alternate configuration file."
-msgstr ""
-
-msgid "  -c copies               Set number of copies."
-msgstr ""
-
-msgid "  -c cupsd.conf           Set cupsd.conf file to use."
-msgstr ""
-
-msgid "  -d name=value           Set named variable to value."
-msgstr ""
-
-msgid "  -d output-dir           Specify the output directory."
-msgstr ""
-
-msgid "  -d printer              Use the named printer."
-msgstr ""
-
-msgid "  -e                      Use every filter from the PPD file."
-msgstr ""
-
-msgid "  -f                      Run in the foreground."
-msgstr ""
-
-msgid "  -f filename             Set default request filename."
-msgstr ""
-
-msgid "  -f filename             Set file to be converted (otherwise stdin)."
-msgstr ""
-
-msgid "  -h                      Show this usage message."
-msgstr ""
-
-msgid "  -h cups-server          Use the named CUPS server."
-msgstr ""
-
-msgid "  -h server[:port]        Specify server address."
-msgstr ""
-
-msgid "  -i mime/type            Set input MIME type (otherwise auto-typed)."
-msgstr ""
-
-msgid ""
-"  -i seconds              Repeat the last file with the given time interval."
-msgstr ""
-
-msgid ""
-"  -j job-id[,N]           Filter file N from the specified job (default is "
-"file 1)."
-msgstr ""
-
-msgid ""
-"  -j mime/type            Set output MIME type (otherwise application/pdf)."
-msgstr ""
-
-msgid "  -l                      Run cupsd from launchd(8)."
-msgstr ""
-
-msgid "  -l lang[,lang,...]      Specify the output language(s) (locale)."
-msgstr ""
-
-msgid "  -m                      Use the ModelName value as the filename."
-msgstr ""
-
-msgid ""
-"  -m mime/type            Set output MIME type (otherwise application/pdf)."
-msgstr ""
-
-msgid "  -n copies               Set number of copies."
-msgstr ""
-
-msgid ""
-"  -n count                Repeat the last file the given number of times."
-msgstr ""
-
-msgid "  -o filename             Set file to be generated (otherwise stdout)."
-msgstr ""
-
-msgid ""
-"  -o filename.drv         Set driver information file (otherwise ppdi.drv)."
-msgstr ""
-
-msgid "  -o filename.ppd[.gz]    Set output file (otherwise stdout)."
-msgstr ""
-
-msgid "  -o name=value           Set option(s)."
-msgstr ""
-
-msgid "  -p filename.ppd         Set PPD file."
-msgstr ""
-
-msgid "  -q                      Be quiet - no output except errors."
-msgstr ""
-
-msgid "  -q                      Run silently."
-msgstr ""
-
-msgid "  -r                      Use 'relaxed' open mode."
-msgstr ""
-
-msgid "  -t                      Produce a test report."
-msgstr ""
-
-msgid "  -t                      Test PPDs instead of generating them."
-msgstr ""
-
-msgid "  -t                      Test the configuration file."
-msgstr ""
-
-msgid "  -t title                Set title."
-msgstr ""
-
-msgid "  -u                      Remove the PPD file when finished."
-msgstr ""
-
-msgid "  -v                      Be slightly verbose."
-msgstr ""
-
-msgid "  -v                      Be verbose (more v's for more verbosity)."
-msgstr ""
-
-msgid "  -v                      Be verbose (show commands)."
-msgstr ""
-
-msgid "  -v                      Show all attributes sent and received."
-msgstr ""
-
-msgid "  -vv                     Be very verbose."
-msgstr ""
-
-msgid "  -z                      Compress PPD files using GNU zip."
-msgstr ""
-
-msgid " FAIL"
-msgstr ""
-
-msgid " PASS"
-msgstr ""
-
-#, c-format
-msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "%.0f x %.0f millimeters"
-msgstr "%.0f x %.0f millimeter"
-
-#, c-format
-msgid "%.0f x %.0f to %.0f x %.0f millimeters"
-msgstr "%.0f x %.0f tot %.0f x %.0f millimeter"
-
-#, c-format
-msgid "%.2f x %.2f inches"
-msgstr "%.2f x %.2f inch"
-
-#, c-format
-msgid "%.2f x %.2f to %.2f x %.2f inches"
-msgstr "%.2f x %.2f tot %.2f x %.2f inch"
-
-#, c-format
-msgid "%s accepting requests since %s"
-msgstr ""
-
-#, c-format
-msgid "%s cannot be changed."
-msgstr "%s kan niet worden gewijzigd."
-
-#, c-format
-msgid "%s is not implemented by the CUPS version of lpc."
-msgstr ""
-
-#, c-format
-msgid "%s is not ready"
-msgstr ""
-
-#, c-format
-msgid "%s is ready"
-msgstr ""
-
-#, c-format
-msgid "%s is ready and printing"
-msgstr ""
-
-#, c-format
-msgid "%s job-id user title copies options [file]"
-msgstr ""
-
-#, c-format
-msgid "%s not accepting requests since %s -"
-msgstr ""
-
-#, c-format
-msgid "%s not supported."
-msgstr ""
-
-#, c-format
-msgid "%s/%s accepting requests since %s"
-msgstr ""
-
-#, c-format
-msgid "%s/%s not accepting requests since %s -"
-msgstr ""
-
-#, c-format
-msgid "%s: %-33.33s [job %d localhost]"
-msgstr ""
-
-#. TRANSLATORS: Message is "subject: error"
-#, c-format
-msgid "%s: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: %s failed: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Don't know what to do."
-msgstr ""
-
-#, c-format
-msgid ""
-"%s: Error - %s environment variable names non-existent destination \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - bad job ID."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - cannot print files and alter jobs simultaneously."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - cannot print from stdin if files or a job ID are provided."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected character set after \"-S\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected content type after \"-T\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected copies after \"-#\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected copies after \"-n\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected destination after \"-P\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected destination after \"-b\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected destination after \"-d\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected form after \"-f\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected hold name after \"-H\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected hostname after \"-H\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected hostname after \"-h\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected mode list after \"-y\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected name after \"-%c\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected option=value after \"-o\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected page list after \"-P\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected priority after \"-%c\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected reason text after \"-r\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected title after \"-t\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected username after \"-U\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected username after \"-u\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected value after \"-%c\" option."
-msgstr ""
-
-#, c-format
-msgid ""
-"%s: Error - need \"completed\", \"not-completed\", or \"all\" after \"-W\" "
-"option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - no default destination available."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - priority must be between 1 and 100."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - scheduler not responding."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - too many files - \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unable to access \"%s\" - %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unable to queue from stdin - %s."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown destination \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown destination \"%s/%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown option \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Expected job ID after \"-i\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Invalid destination name in list \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Invalid filter string \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Need job ID (\"-i jobid\") before \"-H restart\"."
-msgstr ""
-
-#, c-format
-msgid "%s: No filter to convert from %s/%s to %s/%s."
-msgstr ""
-
-#, c-format
-msgid "%s: Operation failed: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Sorry, no encryption support."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to connect to server."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to contact server."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to determine MIME type of \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to open %s: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to open PPD file: %s on line %d."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown destination \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown destination MIME type %s/%s."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown option \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown source MIME type %s/%s."
-msgstr ""
-
-#, c-format
-msgid ""
-"%s: Warning - \"%c\" format modifier not supported - output may not be "
-"correct."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - character set option ignored."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - content type option ignored."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - form option ignored."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - mode option ignored."
-msgstr ""
-
-msgid "-1"
-msgstr "-1"
-
-msgid "-10"
-msgstr "-10"
-
-msgid "-100"
-msgstr "-100"
-
-msgid "-105"
-msgstr "-105"
-
-msgid "-11"
-msgstr "-11"
-
-msgid "-110"
-msgstr "-110"
-
-msgid "-115"
-msgstr "-115"
-
-msgid "-12"
-msgstr "-12"
-
-msgid "-120"
-msgstr "-120"
-
-msgid "-13"
-msgstr "-13"
-
-msgid "-14"
-msgstr "-14"
-
-msgid "-15"
-msgstr "-15"
-
-msgid "-2"
-msgstr "-2"
-
-msgid "-20"
-msgstr "-20"
-
-msgid "-25"
-msgstr "-25"
-
-msgid "-3"
-msgstr "-3"
-
-msgid "-30"
-msgstr "-30"
-
-msgid "-35"
-msgstr "-35"
-
-msgid "-4"
-msgstr "-4"
-
-msgid "-40"
-msgstr "-40"
-
-msgid "-45"
-msgstr "-45"
-
-msgid "-5"
-msgstr "-5"
-
-msgid "-50"
-msgstr "-50"
-
-msgid "-55"
-msgstr "-55"
-
-msgid "-6"
-msgstr "-6"
-
-msgid "-60"
-msgstr "-60"
-
-msgid "-65"
-msgstr "-65"
-
-msgid "-7"
-msgstr "-7"
-
-msgid "-70"
-msgstr "-70"
-
-msgid "-75"
-msgstr "-75"
-
-msgid "-8"
-msgstr "-8"
-
-msgid "-80"
-msgstr "-80"
-
-msgid "-85"
-msgstr "-85"
-
-msgid "-9"
-msgstr "-9"
-
-msgid "-90"
-msgstr "-90"
-
-msgid "-95"
-msgstr "-95"
-
-msgid "0"
-msgstr "0"
-
-msgid "1"
-msgstr "1"
-
-msgid "1 inch/sec."
-msgstr "1 inch/sec."
-
-msgid "1.25x0.25\""
-msgstr "1,25x0,25\""
-
-msgid "1.25x2.25\""
-msgstr "1,25x2,25\""
-
-msgid "1.5 inch/sec."
-msgstr "1,5 inch/sec."
-
-msgid "1.50x0.25\""
-msgstr "1,50x0,25\""
-
-msgid "1.50x0.50\""
-msgstr "1,50x0,50\""
-
-msgid "1.50x1.00\""
-msgstr "1,50x1,00\""
-
-msgid "1.50x2.00\""
-msgstr "1,50x2,00\""
-
-msgid "10"
-msgstr "10"
-
-msgid "10 inches/sec."
-msgstr "10 inch/sec."
-
-msgid "10 x 11"
-msgstr ""
-
-msgid "10 x 13"
-msgstr ""
-
-msgid "10 x 14"
-msgstr ""
-
-msgid "100"
-msgstr "100"
-
-msgid "100 mm/sec."
-msgstr "100 mm/sec."
-
-msgid "105"
-msgstr "105"
-
-msgid "11"
-msgstr "11"
-
-msgid "11 inches/sec."
-msgstr "11 inch/sec."
-
-msgid "110"
-msgstr "110"
-
-msgid "115"
-msgstr "115"
-
-msgid "12"
-msgstr "12"
-
-msgid "12 inches/sec."
-msgstr "12 inch/sec."
-
-msgid "12 x 11"
-msgstr ""
-
-msgid "120"
-msgstr "120"
-
-msgid "120 mm/sec."
-msgstr "120 mm/sec."
-
-msgid "120x60dpi"
-msgstr "120x60dpi"
-
-msgid "120x72dpi"
-msgstr "120x72dpi"
-
-msgid "13"
-msgstr "13"
-
-msgid "136dpi"
-msgstr "136dpi"
-
-msgid "14"
-msgstr "14"
-
-msgid "15"
-msgstr "15"
-
-msgid "15 mm/sec."
-msgstr "15 mm/sec."
-
-msgid "15 x 11"
-msgstr ""
-
-msgid "150 mm/sec."
-msgstr "150 mm/sec."
-
-msgid "150dpi"
-msgstr "150dpi"
-
-msgid "16"
-msgstr "16"
-
-msgid "17"
-msgstr "17"
-
-msgid "18"
-msgstr "18"
-
-msgid "180dpi"
-msgstr "180dpi"
-
-msgid "19"
-msgstr "19"
-
-msgid "2"
-msgstr "2"
-
-msgid "2 inches/sec."
-msgstr "2 inch/sec."
-
-msgid "2-Sided Printing"
-msgstr "Dubbelzijdig afdrukken"
-
-msgid "2.00x0.37\""
-msgstr "2,00x0,37\""
-
-msgid "2.00x0.50\""
-msgstr "2,00x0,50\""
-
-msgid "2.00x1.00\""
-msgstr "2,00x1,00\""
-
-msgid "2.00x1.25\""
-msgstr "2,00x1,25\""
-
-msgid "2.00x2.00\""
-msgstr "2,00x2,00\""
-
-msgid "2.00x3.00\""
-msgstr "2,00x3,00\""
-
-msgid "2.00x4.00\""
-msgstr "2,00x4,00\""
-
-msgid "2.00x5.50\""
-msgstr "2,00x5,50\""
-
-msgid "2.25x0.50\""
-msgstr "2,25x0,50\""
-
-msgid "2.25x1.25\""
-msgstr "2,25x1,25\""
-
-msgid "2.25x4.00\""
-msgstr "2,25x4,00\""
-
-msgid "2.25x5.50\""
-msgstr "2,25x5,50\""
-
-msgid "2.38x5.50\""
-msgstr "2,38x5,50\""
-
-msgid "2.5 inches/sec."
-msgstr "2,5 inch/sec."
-
-msgid "2.50x1.00\""
-msgstr "2,50x1,00\""
-
-msgid "2.50x2.00\""
-msgstr "2,50x2,00\""
-
-msgid "2.75x1.25\""
-msgstr "2,75x1,25\""
-
-msgid "2.9 x 1\""
-msgstr "2,9 x 1\""
-
-msgid "20"
-msgstr "20"
-
-msgid "20 mm/sec."
-msgstr "20 mm/sec."
-
-msgid "200 mm/sec."
-msgstr "200 mm/sec."
-
-msgid "203dpi"
-msgstr "203dpi"
-
-msgid "21"
-msgstr "21"
-
-msgid "22"
-msgstr "22"
-
-msgid "23"
-msgstr "23"
-
-msgid "24"
-msgstr "24"
-
-msgid "24-Pin Series"
-msgstr "24-pens serie"
-
-msgid "240x72dpi"
-msgstr "240x72dpi"
-
-msgid "25"
-msgstr "25"
-
-msgid "250 mm/sec."
-msgstr "250 mm/sec."
-
-msgid "26"
-msgstr "26"
-
-msgid "27"
-msgstr "27"
-
-msgid "28"
-msgstr "28"
-
-msgid "29"
-msgstr "29"
-
-msgid "3"
-msgstr "3"
-
-msgid "3 inches/sec."
-msgstr "3 inch/sec."
-
-msgid "3 x 5"
-msgstr ""
-
-msgid "3.00x1.00\""
-msgstr "3,00x1,00\""
-
-msgid "3.00x1.25\""
-msgstr "3,00x1,25\""
-
-msgid "3.00x2.00\""
-msgstr "3,00x2,00\""
-
-msgid "3.00x3.00\""
-msgstr "3,00x3,00\""
-
-msgid "3.00x5.00\""
-msgstr "3,00x5,00\""
-
-msgid "3.25x2.00\""
-msgstr "3,25x2,00\""
-
-msgid "3.25x5.00\""
-msgstr "3,25x5,00\""
-
-msgid "3.25x5.50\""
-msgstr "3,25x5,50\""
-
-msgid "3.25x5.83\""
-msgstr "3,25x5,83\""
-
-msgid "3.25x7.83\""
-msgstr "3,25x7,83\""
-
-msgid "3.5 x 5"
-msgstr ""
-
-msgid "3.5\" Disk"
-msgstr "3,5-inch diskette"
-
-msgid "3.5\" Disk - 2 1/8 x 2 3/4\""
-msgstr "3,5-inch diskette - 2 1/8 x 2 3/4\""
-
-msgid "3.50x1.00\""
-msgstr "3,50x1,00\""
-
-msgid "30"
-msgstr "30"
-
-msgid "30 mm/sec."
-msgstr "30 mm/sec."
-
-msgid "300 mm/sec."
-msgstr "300 mm/sec."
-
-msgid "300dpi"
-msgstr "300dpi"
-
-msgid "35"
-msgstr "35"
-
-msgid "360dpi"
-msgstr "360dpi"
-
-msgid "360x180dpi"
-msgstr "360x180dpi"
-
-msgid "4"
-msgstr "4"
-
-msgid "4 inches/sec."
-msgstr "4 inch/sec."
-
-msgid "4.00x1.00\""
-msgstr "4,00x1,00\""
-
-msgid "4.00x13.00\""
-msgstr "4,00x13,00\""
-
-msgid "4.00x2.00\""
-msgstr "4,00x2,00\""
-
-msgid "4.00x2.50\""
-msgstr "4,00x2,50\""
-
-msgid "4.00x3.00\""
-msgstr "4,00x3,00\""
-
-msgid "4.00x4.00\""
-msgstr "4,00x4,00\""
-
-msgid "4.00x5.00\""
-msgstr "4,00x5,00\""
-
-msgid "4.00x6.00\""
-msgstr "4,00x6,00\""
-
-msgid "4.00x6.50\""
-msgstr "4,00x6,50\""
-
-msgid "40"
-msgstr "40"
-
-msgid "40 mm/sec."
-msgstr "40 mm/sec."
-
-msgid "45"
-msgstr "45"
-
-msgid "5"
-msgstr "5"
-
-msgid "5 inches/sec."
-msgstr "5 inch/sec."
-
-msgid "5 x 7"
-msgstr ""
-
-msgid "50"
-msgstr "50"
-
-msgid "55"
-msgstr "55"
-
-msgid "6"
-msgstr "6"
-
-msgid "6 inches/sec."
-msgstr "6 inch/sec."
-
-msgid "6.00x1.00\""
-msgstr "6,00x1,00\""
-
-msgid "6.00x2.00\""
-msgstr "6,00x2,00\""
-
-msgid "6.00x3.00\""
-msgstr "6,00x3,00\""
-
-msgid "6.00x4.00\""
-msgstr "6,00x4,00\""
-
-msgid "6.00x5.00\""
-msgstr "6,00x5,00\""
-
-msgid "6.00x6.00\""
-msgstr "6,00x6,00\""
-
-msgid "6.00x6.50\""
-msgstr "6,00x6,50\""
-
-msgid "60"
-msgstr "60"
-
-msgid "60 mm/sec."
-msgstr "60 mm/sec."
-
-msgid "600dpi"
-msgstr "600dpi"
-
-msgid "60dpi"
-msgstr "60dpi"
-
-msgid "60x72dpi"
-msgstr ""
-
-msgid "65"
-msgstr "65"
-
-msgid "7"
-msgstr "7"
-
-msgid "7 inches/sec."
-msgstr "7 inch/sec."
-
-msgid "7 x 9"
-msgstr ""
-
-msgid "70"
-msgstr "70"
-
-msgid "720dpi"
-msgstr "720dpi"
-
-msgid "75"
-msgstr "75"
-
-msgid "8"
-msgstr "8"
-
-msgid "8 inches/sec."
-msgstr "8 inch/sec."
-
-msgid "8 x 10"
-msgstr ""
-
-msgid "8.00x1.00\""
-msgstr "8,00x1,00\""
-
-msgid "8.00x2.00\""
-msgstr "8,00x2,00\""
-
-msgid "8.00x3.00\""
-msgstr "8,00x3,00\""
-
-msgid "8.00x4.00\""
-msgstr "8,00x4,00\""
-
-msgid "8.00x5.00\""
-msgstr "8,00x5,00\""
-
-msgid "8.00x6.00\""
-msgstr "8,00x6,00\""
-
-msgid "8.00x6.50\""
-msgstr "8,00x6,50\""
-
-msgid "80"
-msgstr "80"
-
-msgid "80 mm/sec."
-msgstr "80 mm/sec."
-
-msgid "85"
-msgstr "85"
-
-msgid "9"
-msgstr "9"
-
-msgid "9 inches/sec."
-msgstr "9 inch/sec."
-
-msgid "9 x 11"
-msgstr ""
-
-msgid "9 x 12"
-msgstr ""
-
-msgid "9-Pin Series"
-msgstr "9-pens serie"
-
-msgid "90"
-msgstr "90"
-
-msgid "95"
-msgstr "95"
-
-msgid "?Invalid help command unknown."
-msgstr ""
-
-msgid "A Samba password is required to export printer drivers"
-msgstr ""
-
-msgid "A Samba username is required to export printer drivers"
-msgstr ""
-
-#, c-format
-msgid "A class named \"%s\" already exists."
-msgstr ""
-
-#, c-format
-msgid "A printer named \"%s\" already exists."
-msgstr ""
-
-msgid "A0"
-msgstr "A0"
-
-msgid "A0 Long Edge"
-msgstr ""
-
-msgid "A1"
-msgstr "A1"
-
-msgid "A1 Long Edge"
-msgstr ""
-
-msgid "A10"
-msgstr "A10"
-
-msgid "A2"
-msgstr "A2"
-
-msgid "A2 Long Edge"
-msgstr ""
-
-msgid "A3"
-msgstr "A3"
-
-msgid "A3 Long Edge"
-msgstr ""
-
-msgid "A3 Oversize"
-msgstr ""
-
-msgid "A3 Oversize Long Edge"
-msgstr ""
-
-msgid "A4"
-msgstr "A4"
-
-msgid "A4 Long Edge"
-msgstr ""
-
-msgid "A4 Oversize"
-msgstr ""
-
-msgid "A4 Small"
-msgstr ""
-
-msgid "A5"
-msgstr "A5"
-
-msgid "A5 Long Edge"
-msgstr ""
-
-msgid "A5 Oversize"
-msgstr ""
-
-msgid "A6"
-msgstr "A6"
-
-msgid "A6 Long Edge"
-msgstr ""
-
-msgid "A7"
-msgstr "A7"
-
-msgid "A8"
-msgstr "A8"
-
-msgid "A9"
-msgstr "A9"
-
-msgid "ANSI A"
-msgstr "ANSI A"
-
-msgid "ANSI B"
-msgstr "ANSI B"
-
-msgid "ANSI C"
-msgstr "ANSI C"
-
-msgid "ANSI D"
-msgstr "ANSI D"
-
-msgid "ANSI E"
-msgstr "ANSI E"
-
-msgid "ARCH C"
-msgstr "ARCH C"
-
-msgid "ARCH C Long Edge"
-msgstr ""
-
-msgid "ARCH D"
-msgstr "ARCH D"
-
-msgid "ARCH D Long Edge"
-msgstr ""
-
-msgid "ARCH E"
-msgstr "ARCH E"
-
-msgid "ARCH E Long Edge"
-msgstr ""
-
-msgid "Accept Jobs"
-msgstr "Accepteer taken"
-
-msgid "Accepted"
-msgstr "Geaccepteerd"
-
-msgid "Add Class"
-msgstr "Voeg klasse toe"
-
-msgid "Add Printer"
-msgstr "Voeg printer toe"
-
-msgid "Add RSS Subscription"
-msgstr "Voeg RSS-abonnement toe"
-
-msgid "Address"
-msgstr "Adres"
-
-msgid "Address - 1 1/8 x 3 1/2\""
-msgstr "Adres - 1 1/8 x 3 1/2\""
-
-msgid "Administration"
-msgstr "Beheer"
-
-msgid "Always"
-msgstr "Altijd"
-
-msgid "AppSocket/HP JetDirect"
-msgstr "AppSocket/HP JetDirect"
-
-msgid "Applicator"
-msgstr "Applicator"
-
-#, c-format
-msgid "Attempt to set %s printer-state to bad value %d."
-msgstr ""
-
-#, c-format
-msgid "Attribute groups are out of order (%x < %x)."
-msgstr ""
-
-msgid "B0"
-msgstr "B0"
-
-msgid "B1"
-msgstr "B1"
-
-msgid "B10"
-msgstr "B10"
-
-msgid "B2"
-msgstr "B2"
-
-msgid "B3"
-msgstr "B3"
-
-msgid "B4"
-msgstr "B4"
-
-msgid "B5"
-msgstr "B5"
-
-msgid "B5 Oversize"
-msgstr ""
-
-msgid "B6"
-msgstr "B6"
-
-msgid "B7"
-msgstr "B7"
-
-msgid "B8"
-msgstr "B8"
-
-msgid "B9"
-msgstr "B9"
-
-msgid "Bad NULL dests pointer"
-msgstr "Ongeldige NULL-bestemmingspointer"
-
-msgid "Bad OpenGroup"
-msgstr "Ongeldige OpenGroup"
-
-msgid "Bad OpenUI/JCLOpenUI"
-msgstr "Ongeldige OpenUI/JCLOpenUI"
-
-msgid "Bad OrderDependency"
-msgstr "Ongeldige OrderDependency"
-
-msgid "Bad PPD cache file."
-msgstr ""
-
-msgid "Bad Request"
-msgstr "Ongeldig verzoek"
-
-msgid "Bad SNMP version number"
-msgstr "Ongeldig SNMP-versienummer"
-
-msgid "Bad UIConstraints"
-msgstr "Ongeldige UIConstraints"
-
-#, c-format
-msgid "Bad charset file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad charset type: %s"
-msgstr ""
-
-#, c-format
-msgid "Bad columns value %d."
-msgstr ""
-
-#, c-format
-msgid "Bad copies value %d."
-msgstr "Ongeldige waarde voor aantal exemplaren %d."
-
-#, c-format
-msgid "Bad cpi value %f."
-msgstr ""
-
-msgid "Bad custom parameter"
-msgstr "Ongeldige zelfingestelde parameter"
-
-#, c-format
-msgid "Bad device-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad device-uri scheme \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad document-format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad document-format-default \"%s\"."
-msgstr ""
-
-msgid "Bad filename buffer"
-msgstr ""
-
-#, c-format
-msgid "Bad font description line \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad font description line: %s"
-msgstr ""
-
-msgid "Bad job-priority value."
-msgstr ""
-
-#, c-format
-msgid "Bad job-sheets value \"%s\"."
-msgstr ""
-
-msgid "Bad job-sheets value type."
-msgstr ""
-
-msgid "Bad job-state value."
-msgstr ""
-
-#, c-format
-msgid "Bad job-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad lpi value %f."
-msgstr ""
-
-#, c-format
-msgid "Bad notify-pull-method \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad notify-recipient-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad number-up value %d."
-msgstr "Ongeldige waarde voor number-up %d."
-
-#, c-format
-msgid "Bad option + choice on line %d."
-msgstr ""
-
-#, c-format
-msgid "Bad page-ranges values %d-%d."
-msgstr "Ongeldige waarden voor paginabereik %d-%d."
-
-#, c-format
-msgid "Bad port-monitor \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad printer-state value %d."
-msgstr ""
-
-#, c-format
-msgid "Bad request ID %d."
-msgstr ""
-
-#, c-format
-msgid "Bad request version number %d.%d."
-msgstr ""
-
-msgid "Bad subscription ID"
-msgstr ""
-
-#, c-format
-msgid "Bad text direction \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad text direction: %s"
-msgstr ""
-
-#, c-format
-msgid "Bad text width \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad text width: %s"
-msgstr ""
-
-msgid "Bad value string"
-msgstr ""
-
-msgid "Banners"
-msgstr "Banners"
-
-msgid "Billing Information: "
-msgstr "Factuurgegevens: "
-
-msgid "Bond Paper"
-msgstr "Bankpost"
-
-#, c-format
-msgid "Boolean expected for waiteof option \"%s\"."
-msgstr ""
-
-msgid "Buffer overflow detected, aborting."
-msgstr ""
-
-msgid "CMYK"
-msgstr "CMYK"
-
-msgid "CPCL Label Printer"
-msgstr "CPCL-etikettenprinter"
-
-msgid "Cancel RSS Subscription"
-msgstr "Zeg RSS-abonnement op"
-
-msgid "Canceling print job."
-msgstr ""
-
-msgid "Cannot share a remote Kerberized printer."
-msgstr ""
-
-msgid "Cassette"
-msgstr ""
-
-msgid "Change Settings"
-msgstr "Wijzig instellingen"
-
-#, c-format
-msgid "Character set \"%s\" not supported."
-msgstr ""
-
-msgid "Classes"
-msgstr "Klassen"
-
-msgid "Clean Print Heads"
-msgstr "Reinig printerkoppen"
-
-msgid "Close-Job doesn't support the job-uri attribute."
-msgstr ""
-
-msgid "Color"
-msgstr "Kleur"
-
-msgid "Color Mode"
-msgstr "Kleurenmodus"
-
-msgid ""
-"Commands may be abbreviated.  Commands are:\n"
-"\n"
-"exit    help    quit    status  ?"
-msgstr ""
-
-msgid "Community name uses indefinite length"
-msgstr "Onbepaalde lengte gebruikt voor community-naam"
-
-msgid "Connected to printer."
-msgstr ""
-
-msgid "Connecting to printer."
-msgstr ""
-
-msgid "Continue"
-msgstr "Ga door"
-
-msgid "Continuous"
-msgstr "Doorlopend"
-
-msgid "Control file sent successfully."
-msgstr ""
-
-msgid "Copying print data."
-msgstr ""
-
-msgid "Created"
-msgstr "Aangemaakt"
-
-msgid "Created On: "
-msgstr "Aangemaakt op: "
-
-msgid "Custom"
-msgstr "Zelfingesteld"
-
-msgid "CustominCutInterval"
-msgstr "CustominCutInterval"
-
-msgid "CustominTearInterval"
-msgstr "CustominTearInterval"
-
-msgid "Cut"
-msgstr "Afsnijden"
-
-msgid "Cutter"
-msgstr "Snijmachine"
-
-msgid "Dark"
-msgstr "Donker"
-
-msgid "Darkness"
-msgstr "Donkerte"
-
-msgid "Data file sent successfully."
-msgstr ""
-
-msgid "Delete Class"
-msgstr "Verwijder klasse"
-
-msgid "Delete Printer"
-msgstr "Verwijder printer"
-
-msgid "Description: "
-msgstr "Beschrijving: "
-
-msgid "DeskJet Series"
-msgstr "DeskJet-serie"
-
-#, c-format
-msgid "Destination \"%s\" is not accepting jobs."
-msgstr "Bestemming \"%s\" accepteert geen opdrachten."
-
-#, c-format
-msgid ""
-"Device: uri = %s\n"
-"        class = %s\n"
-"        info = %s\n"
-"        make-and-model = %s\n"
-"        device-id = %s\n"
-"        location = %s"
-msgstr ""
-
-msgid "Direct Thermal Media"
-msgstr "Direct Thermal-materiaal"
-
-#, c-format
-msgid "Directory \"%s\" contains a relative path."
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" is a file."
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" not available: %s"
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-msgid "Disabled"
-msgstr "Uitgeschakeld"
-
-#, c-format
-msgid "Document #%d does not exist in job #%d."
-msgstr ""
-
-msgid "Driver Name: "
-msgstr "Naam stuurprogramma: "
-
-msgid "Driver Version: "
-msgstr "Versie stuurprogramma: "
-
-msgid "Duplexer"
-msgstr "Duplexer"
-
-msgid "Dymo"
-msgstr "Dymo"
-
-msgid "EPL1 Label Printer"
-msgstr "EPL1-etikettenprinter"
-
-msgid "EPL2 Label Printer"
-msgstr "EPL2-etikettenprinter"
-
-msgid "Edit Configuration File"
-msgstr "Bewerk configuratiebestand"
-
-msgid "Empty PPD file."
-msgstr ""
-
-#. TRANSLATORS: Banner/cover sheet after the print job.
-msgid "Ending Banner"
-msgstr "Eindebanner"
-
-msgid "English"
-msgstr "Dutch"
-
-msgid "Enter old password:"
-msgstr "Voer oude wachtwoord in:"
-
-msgid "Enter password again:"
-msgstr "Voer wachtwoord opnieuw in:"
-
-msgid "Enter password:"
-msgstr "Voer wachtwoord in:"
-
-msgid ""
-"Enter your username and password or the root username and password to access "
-"this page. If you are using Kerberos authentication, make sure you have a "
-"valid Kerberos ticket."
-msgstr ""
-"Voer uw gebruikersnaam en wachtwoord of de $%$root-gebruikersnaam en "
-"bijbehorend wachtwoord in om deze pagina te benaderen. Maakt u gebruik van "
-"Kerberos-toegangscontrole, controleer dan of u over een geldig Kerberos-"
-"ticket beschikt."
-
-msgid "Envelope #10 "
-msgstr ""
-
-msgid "Envelope #11"
-msgstr ""
-
-msgid "Envelope #12"
-msgstr ""
-
-msgid "Envelope #14"
-msgstr ""
-
-msgid "Envelope #9"
-msgstr ""
-
-msgid "Envelope B4"
-msgstr ""
-
-msgid "Envelope B5"
-msgstr ""
-
-msgid "Envelope B6"
-msgstr ""
-
-msgid "Envelope C0"
-msgstr ""
-
-msgid "Envelope C1"
-msgstr ""
-
-msgid "Envelope C2"
-msgstr ""
-
-msgid "Envelope C3"
-msgstr ""
-
-msgid "Envelope C4"
-msgstr ""
-
-msgid "Envelope C5"
-msgstr ""
-
-msgid "Envelope C6"
-msgstr ""
-
-msgid "Envelope C65"
-msgstr ""
-
-msgid "Envelope C7"
-msgstr ""
-
-msgid "Envelope Choukei 3"
-msgstr ""
-
-msgid "Envelope Choukei 3 Long Edge"
-msgstr ""
-
-msgid "Envelope Choukei 4"
-msgstr ""
-
-msgid "Envelope Choukei 4 Long Edge"
-msgstr ""
-
-msgid "Envelope DL"
-msgstr ""
-
-msgid "Envelope Feed"
-msgstr "Envelopinvoer"
-
-msgid "Envelope Invite"
-msgstr ""
-
-msgid "Envelope Italian"
-msgstr ""
-
-msgid "Envelope Kaku2"
-msgstr ""
-
-msgid "Envelope Kaku2 Long Edge"
-msgstr ""
-
-msgid "Envelope Kaku3"
-msgstr ""
-
-msgid "Envelope Kaku3 Long Edge"
-msgstr ""
-
-msgid "Envelope Monarch"
-msgstr ""
-
-msgid "Envelope PRC1 "
-msgstr ""
-
-msgid "Envelope PRC1 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC10"
-msgstr ""
-
-msgid "Envelope PRC10 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC2"
-msgstr ""
-
-msgid "Envelope PRC2 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC3"
-msgstr ""
-
-msgid "Envelope PRC3 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC4"
-msgstr ""
-
-msgid "Envelope PRC4 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC5 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC5PRC5"
-msgstr ""
-
-msgid "Envelope PRC6"
-msgstr ""
-
-msgid "Envelope PRC6 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC7"
-msgstr ""
-
-msgid "Envelope PRC7 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC8"
-msgstr ""
-
-msgid "Envelope PRC8 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC9"
-msgstr ""
-
-msgid "Envelope PRC9 Long Edge"
-msgstr ""
-
-msgid "Envelope Personal"
-msgstr ""
-
-msgid "Envelope You4"
-msgstr ""
-
-msgid "Envelope You4 Long Edge"
-msgstr ""
-
-msgid "Epson"
-msgstr "Epson"
-
-msgid "Error Policy"
-msgstr "Foutenbeleid"
-
-msgid "Error sending raster data."
-msgstr ""
-
-msgid "Error: need hostname after \"-h\" option."
-msgstr ""
-
-msgid "Every 10 Labels"
-msgstr "Elke 10 etiketten"
-
-msgid "Every 2 Labels"
-msgstr "Elke 2 etiketten"
-
-msgid "Every 3 Labels"
-msgstr "Elke 3 etiketten"
-
-msgid "Every 4 Labels"
-msgstr "Elke 4 etiketten"
-
-msgid "Every 5 Labels"
-msgstr "Elke 5 etiketten"
-
-msgid "Every 6 Labels"
-msgstr "Elke 6 etiketten"
-
-msgid "Every 7 Labels"
-msgstr "Elke 7 etiketten"
-
-msgid "Every 8 Labels"
-msgstr "Elke 8 etiketten"
-
-msgid "Every 9 Labels"
-msgstr "Elke 9 etiketten"
-
-msgid "Every Label"
-msgstr "Elk etiket"
-
-msgid "Executive"
-msgstr ""
-
-msgid "Expectation Failed"
-msgstr "Verwachting mislukt"
-
-msgid "Export Printers to Samba"
-msgstr "Exporteer printers naar Samba"
-
-msgid "FAIL"
-msgstr ""
-
-msgid "FanFold German"
-msgstr ""
-
-msgid "FanFold Legal German"
-msgstr ""
-
-msgid "Fanfold US"
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" contains a relative path."
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" is a directory."
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" not available: %s"
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-msgid "File Folder"
-msgstr "Dossiermap"
-
-msgid "File Folder - 9/16 x 3 7/16\""
-msgstr "Dossiermap - 9/16 x 3 7/16\""
-
-#, c-format
-msgid ""
-"File device URIs have been disabled. To enable, see the FileDevice directive "
-"in \"%s/cupsd.conf\"."
-msgstr ""
-
-#, c-format
-msgid "Finished page %d."
-msgstr ""
-
-msgid "Folio"
-msgstr "Folio"
-
-msgid "Forbidden"
-msgstr "Verboden"
-
-#, c-format
-msgid "Formatting page %d."
-msgstr ""
-
-msgid "General"
-msgstr "Algemeen"
-
-msgid "Generic"
-msgstr "Generiek"
-
-msgid "Get-Response-PDU uses indefinite length"
-msgstr "Onbepaalde lengte gebruikt voor Get-Response-PDU"
-
-msgid "Glossy Paper"
-msgstr "Glanzend papier"
-
-msgid "Got a printer-uri attribute but no job-id."
-msgstr ""
-
-msgid "Grayscale"
-msgstr "Grijstinten"
-
-msgid "HP"
-msgstr "HP"
-
-msgid "Hanging Folder"
-msgstr "Hangmap"
-
-msgid "Hanging Folder - 9/16 x 2\""
-msgstr "Hangmap - 9/16 x 2\""
-
-msgid "IPP 1setOf attribute with incompatible value tags."
-msgstr ""
-
-msgid "IPP attribute has no name."
-msgstr ""
-
-msgid "IPP begCollection value not 0 bytes."
-msgstr ""
-
-msgid "IPP boolean value not 1 byte."
-msgstr ""
-
-msgid "IPP date value not 11 bytes."
-msgstr ""
-
-msgid "IPP endCollection value not 0 bytes."
-msgstr ""
-
-msgid "IPP enum value not 4 bytes."
-msgstr ""
-
-msgid "IPP integer value not 4 bytes."
-msgstr ""
-
-msgid "IPP language length overflows value."
-msgstr ""
-
-msgid "IPP member name is not empty."
-msgstr ""
-
-msgid "IPP name larger than 32767 bytes."
-msgstr ""
-
-msgid "IPP nameWithLanguage value less than minimum 4 bytes."
-msgstr ""
-
-msgid "IPP rangeOfInteger value not 8 bytes."
-msgstr ""
-
-msgid "IPP resolution value not 9 bytes."
-msgstr ""
-
-msgid "IPP string length overflows value."
-msgstr ""
-
-msgid "IPP textWithLanguage value less than minimum 4 bytes."
-msgstr ""
-
-msgid "IPP value larger than 32767 bytes."
-msgstr ""
-
-msgid "ISOLatin1"
-msgstr "UTF-8"
-
-msgid "Illegal control character"
-msgstr "Ongeldig besturingsteken"
-
-msgid "Illegal main keyword string"
-msgstr "Ongeldige tekenreeks voor hoofdsleutelwoord"
-
-msgid "Illegal option keyword string"
-msgstr "Ongeldige tekenreeks voor optiesleutelwoord"
-
-msgid "Illegal translation string"
-msgstr "Ongeldige tekenreeks voor vertaling"
-
-msgid "Illegal whitespace character"
-msgstr "Ongeldig teken voor witruimte"
-
-msgid "Installable Options"
-msgstr "Uitbreidingsmogelijkheden"
-
-msgid "Installed"
-msgstr "Geïnstalleerd"
-
-msgid "IntelliBar Label Printer"
-msgstr "IntelliBar-etikettenprinter"
-
-msgid "Intellitech"
-msgstr "Intellitech"
-
-msgid "Internal Server Error"
-msgstr ""
-
-msgid "Internal error"
-msgstr "Interne fout"
-
-msgid "Internet Postage 2-Part"
-msgstr "Internet Postage 2-Part"
-
-msgid "Internet Postage 2-Part - 2 1/4 x 7 1/2\""
-msgstr "Internet Postage 2-Part - 2 1/4 x 7 1/2\""
-
-msgid "Internet Postage 3-Part"
-msgstr "Internet Postage 3-Part"
-
-msgid "Internet Postage 3-Part - 2 1/4 x 7\""
-msgstr "Internet Postage 3-Part - 2 1/4 x 7\""
-
-msgid "Internet Printing Protocol"
-msgstr "Internet Printing Protocol"
-
-#, c-format
-msgid "Invalid printer command \"%s\"."
-msgstr ""
-
-msgid "JCL"
-msgstr "JCL"
-
-msgid "JIS B0"
-msgstr ""
-
-msgid "JIS B1"
-msgstr ""
-
-msgid "JIS B10"
-msgstr ""
-
-msgid "JIS B2"
-msgstr ""
-
-msgid "JIS B3"
-msgstr ""
-
-msgid "JIS B4"
-msgstr ""
-
-msgid "JIS B4 Long Edge"
-msgstr ""
-
-msgid "JIS B5"
-msgstr ""
-
-msgid "JIS B5 Long Edge"
-msgstr ""
-
-msgid "JIS B6"
-msgstr ""
-
-msgid "JIS B6 Long Edge"
-msgstr ""
-
-msgid "JIS B7"
-msgstr ""
-
-msgid "JIS B8"
-msgstr ""
-
-msgid "JIS B9"
-msgstr ""
-
-#, c-format
-msgid "Job #%d cannot be restarted - no files."
-msgstr ""
-
-#, c-format
-msgid "Job #%d does not exist."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is already aborted - can't cancel."
-msgstr "Taak #%d is al afgebroken - kan niet worden geannuleerd."
-
-#, c-format
-msgid "Job #%d is already canceled - can't cancel."
-msgstr "Taak #%d is al geannuleerd - kan niet worden geannuleerd."
-
-#, c-format
-msgid "Job #%d is already completed - can't cancel."
-msgstr "Taak #%d is al gereed - kan niet worden geannuleerd."
-
-#, c-format
-msgid "Job #%d is finished and cannot be altered."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is not complete."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is not held for authentication."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is not held."
-msgstr ""
-
-msgid "Job Completed"
-msgstr "Taak gereed"
-
-msgid "Job Created"
-msgstr "Taak aangemaakt"
-
-msgid "Job ID: "
-msgstr "Taak-ID: "
-
-msgid "Job Options Changed"
-msgstr "Taakopties gewijzigd"
-
-msgid "Job Stopped"
-msgstr "Taak gestopt"
-
-msgid "Job UUID: "
-msgstr "Taak-UUID: "
-
-msgid "Job is completed and cannot be changed."
-msgstr "Taak is gereed en kan niet worden gewijzigd."
-
-msgid "Job operation failed:"
-msgstr "Verwerking van taak is mislukt:"
-
-msgid "Job state cannot be changed."
-msgstr "Status van taak kan niet worden gewijzigd."
-
-msgid "Job subscriptions cannot be renewed."
-msgstr ""
-
-msgid "Jobs"
-msgstr "Taken"
-
-msgid "LPD/LPR Host or Printer"
-msgstr "LPD/LPR-host of -printer"
-
-msgid "Label Printer"
-msgstr "Etikettenprinter"
-
-msgid "Label Top"
-msgstr "Bovenkant etiket"
-
-#, c-format
-msgid "Language \"%s\" not supported."
-msgstr ""
-
-msgid "Large Address"
-msgstr "Groot adres"
-
-msgid "Large Address - 1 4/10 x 3 1/2\""
-msgstr "Groot adres - 1 4/10 x 3 1/2\""
-
-msgid "LaserJet Series PCL 4/5"
-msgstr "LaserJet-serie PCL 4/5"
-
-msgid "Letter Oversize"
-msgstr ""
-
-msgid "Letter Oversize Long Edge"
-msgstr ""
-
-msgid "Light"
-msgstr "Licht"
-
-msgid "Line longer than the maximum allowed (255 characters)"
-msgstr "Regel is langer dan toegestane maximum (255 tekens)"
-
-msgid "List Available Printers"
-msgstr "Toon beschikbare printers"
-
-msgid "Loading print file."
-msgstr ""
-
-msgid "Location: "
-msgstr "Locatie: "
-
-msgid "Long-Edge (Portrait)"
-msgstr "Lange kant (staand)"
-
-msgid "Looking for printer."
-msgstr ""
-
-msgid "Make and Model: "
-msgstr "Merk en model: "
-
-msgid "Manual Feed"
-msgstr "Handmatige invoer"
-
-msgid "Media Dimensions: "
-msgstr "Afmetingen materiaal: "
-
-msgid "Media Limits: "
-msgstr "Min. en max. afmetingen: "
-
-msgid "Media Name: "
-msgstr "Materiaalnaam: "
-
-msgid "Media Size"
-msgstr "Materiaalgrootte"
-
-msgid "Media Source"
-msgstr "Bron voor materiaal"
-
-msgid "Media Tracking"
-msgstr "Materiaaldetectie"
-
-msgid "Media Type"
-msgstr "Materiaaltype"
-
-msgid "Medium"
-msgstr "Materiaal"
-
-msgid "Memory allocation error"
-msgstr "Geheugentoewijzingsfout"
-
-msgid "Missing CloseGroup"
-msgstr ""
-
-msgid "Missing PPD-Adobe-4.x header"
-msgstr "Ontbrekende PPD-Adobe-4.x-kopregel"
-
-msgid "Missing asterisk in column 1"
-msgstr "Ontbrekende asterisk in kolom 1"
-
-msgid "Missing document-number attribute."
-msgstr ""
-
-#, c-format
-msgid "Missing double quote on line %d."
-msgstr ""
-
-msgid "Missing form variable"
-msgstr ""
-
-msgid "Missing last-document attribute in request."
-msgstr ""
-
-msgid "Missing media or media-col."
-msgstr ""
-
-msgid "Missing media-size in media-col."
-msgstr ""
-
-msgid "Missing notify-subscription-ids attribute."
-msgstr ""
-
-msgid "Missing option keyword"
-msgstr ""
-
-msgid "Missing requesting-user-name attribute."
-msgstr ""
-
-msgid "Missing required attributes."
-msgstr ""
-
-#, c-format
-msgid "Missing value on line %d of banner file."
-msgstr ""
-
-#, c-format
-msgid "Missing value on line %d."
-msgstr ""
-
-msgid "Missing value string"
-msgstr "Ontbrekende tekenreeks voor waarde"
-
-msgid "Missing x-dimension in media-size."
-msgstr ""
-
-msgid "Missing y-dimension in media-size."
-msgstr ""
-
-#, c-format
-msgid ""
-"Model:  name = %s\n"
-"        natural_language = %s\n"
-"        make-and-model = %s\n"
-"        device-id = %s"
-msgstr ""
-
-msgid "Modify Class"
-msgstr "Wijzig klasse"
-
-msgid "Modify Printer"
-msgstr "Wijzig printer"
-
-msgid "Move All Jobs"
-msgstr "Verplaats alle taken"
-
-msgid "Move Job"
-msgstr "Verplaats taak"
-
-msgid "Moved Permanently"
-msgstr "Definitief verplaatst"
-
-msgid "NULL PPD file pointer"
-msgstr "NULL-pointer voor PPD-bestand"
-
-msgid "Name OID uses indefinite length"
-msgstr "Onbepaalde lengte gebruikt voor naam-OID"
-
-msgid "Nested classes are not allowed."
-msgstr ""
-
-msgid "Never"
-msgstr "Nooit"
-
-msgid "New Stylus Color Series"
-msgstr "Nieuwe Stylus Color-serie"
-
-msgid "New Stylus Photo Series"
-msgstr "Nieuwe Stylus Photo-serie"
-
-msgid "No"
-msgstr "Nee"
-
-msgid "No Content"
-msgstr "Geen inhoud"
-
-msgid "No PPD name"
-msgstr ""
-
-msgid "No VarBind SEQUENCE"
-msgstr "Geen VarBind-SEQUENCE"
-
-msgid "No Windows printer drivers are installed."
-msgstr ""
-
-msgid "No active connection"
-msgstr "Geen actieve verbinding"
-
-#, c-format
-msgid "No active jobs on %s."
-msgstr ""
-
-msgid "No attributes in request."
-msgstr ""
-
-msgid "No authentication information provided."
-msgstr ""
-
-msgid "No community name"
-msgstr "Geen community-naam"
-
-msgid "No default printer."
-msgstr ""
-
-msgid "No destinations added."
-msgstr "Geen bestemmingen toegevoegd."
-
-msgid "No device URI found in argv[0] or in DEVICE_URI environment variable."
-msgstr ""
-
-msgid "No error-index"
-msgstr "Geen error-index"
-
-msgid "No error-status"
-msgstr "Geen error-status"
-
-msgid "No file in print request."
-msgstr ""
-
-msgid "No fonts in charset file."
-msgstr ""
-
-msgid "No modification time"
-msgstr ""
-
-msgid "No name OID"
-msgstr "Geen naam-OID"
-
-msgid "No pages were found."
-msgstr ""
-
-msgid "No printer name"
-msgstr ""
-
-msgid "No printer-uri found"
-msgstr ""
-
-msgid "No printer-uri found for class"
-msgstr ""
-
-msgid "No printer-uri in request."
-msgstr ""
-
-msgid "No request-id"
-msgstr "Geen verzoek-ID"
-
-msgid "No subscription attributes in request."
-msgstr ""
-
-msgid "No subscriptions found."
-msgstr "Geen abonnementen gevonden."
-
-msgid "No variable-bindings SEQUENCE"
-msgstr "Geen variable-bindings-SEQUENCE"
-
-msgid "No version number"
-msgstr "Geen versienummer"
-
-msgid "Non-continuous (Mark sensing)"
-msgstr "Niet-doorlopend (markeringssensor)"
-
-msgid "Non-continuous (Web sensing)"
-msgstr "Niet-doorlopend (afstandssensor)"
-
-msgid "Normal"
-msgstr "Normaal"
-
-msgid "Not Found"
-msgstr "Niet gevonden"
-
-msgid "Not Implemented"
-msgstr "Niet geïmplementeerd"
-
-msgid "Not Installed"
-msgstr "Niet geïnstalleerd"
-
-msgid "Not Modified"
-msgstr "Niet gewijzigd"
-
-msgid "Not Supported"
-msgstr "Niet ondersteund"
-
-msgid "Not allowed to print."
-msgstr "Afdrukken niet toegestaan."
-
-msgid "Note"
-msgstr "Opmerking"
-
-msgid ""
-"Note: this program only validates the DSC comments, not the PostScript "
-"itself."
-msgstr ""
-
-msgid "OK"
-msgstr "OK"
-
-msgid "Off (1-Sided)"
-msgstr "Uit (enkelzijdig)"
-
-msgid "Oki"
-msgstr "Oki"
-
-msgid "Online Help"
-msgstr "Online Help"
-
-#, c-format
-msgid "Open of %s failed: %s"
-msgstr "Openen van %s mislukt: %s"
-
-msgid "OpenGroup without a CloseGroup first"
-msgstr "OpenGroup zonder eerst een CloseGroup"
-
-msgid "OpenUI/JCLOpenUI without a CloseUI/JCLCloseUI first"
-msgstr "OpenUI/JCLOpenUI zonder eerst een CloseUI/JCLCloseUI"
-
-msgid "Operation Policy"
-msgstr "Gebruiksbeleid"
-
-#, c-format
-msgid "Option \"%s\" cannot be included via %%%%IncludeFeature."
-msgstr ""
-
-msgid "Options Installed"
-msgstr "Geïnstalleerde opties"
-
-msgid "Options:"
-msgstr ""
-
-msgid "Options: "
-msgstr "Opties: "
-
-msgid "Out of date PPD cache file."
-msgstr ""
-
-msgid "Out of memory."
-msgstr ""
-
-msgid "Output Mode"
-msgstr "Uitvoermodus"
-
-#, c-format
-msgid "Output for printer %s is sent to %s"
-msgstr ""
-
-#, c-format
-msgid "Output for printer %s is sent to remote printer %s on %s"
-msgstr ""
-
-#, c-format
-msgid "Output for printer %s/%s is sent to %s"
-msgstr ""
-
-#, c-format
-msgid "Output for printer %s/%s is sent to remote printer %s on %s"
-msgstr ""
-
-msgid "PASS"
-msgstr ""
-
-msgid "PCL Laser Printer"
-msgstr "PCL-laserprinter"
-
-msgid "PRC16K"
-msgstr "PRC16K"
-
-msgid "PRC16K Long Edge"
-msgstr ""
-
-msgid "PRC32K"
-msgstr "PRC32K"
-
-msgid "PRC32K Long Edge"
-msgstr ""
-
-msgid "PRC32K Oversize"
-msgstr ""
-
-msgid "PRC32K Oversize Long Edge"
-msgstr ""
-
-msgid "Packet does not contain a Get-Response-PDU"
-msgstr "Pakket bevat geen Get-Response-PDU"
-
-msgid "Packet does not start with SEQUENCE"
-msgstr "Pakket begint niet met SEQUENCE"
-
-msgid "ParamCustominCutInterval"
-msgstr "ParamCustominCutInterval"
-
-msgid "ParamCustominTearInterval"
-msgstr "ParamCustominTearInterval"
-
-#, c-format
-msgid "Password for %s on %s? "
-msgstr "Wachtwoord voor %s op %s? "
-
-#, c-format
-msgid "Password for %s required to access %s via SAMBA: "
-msgstr "Wachtwoord voor %s vereist om %s te benaderen via SAMBA: "
-
-msgid "Pause Class"
-msgstr "Onderbreek klasse"
-
-msgid "Pause Printer"
-msgstr "Onderbreek printer"
-
-msgid "Peel-Off"
-msgstr "Zelfklevend"
-
-msgid "Photo"
-msgstr "Foto"
-
-msgid "Photo Labels"
-msgstr "Foto-etiketten"
-
-msgid "Plain Paper"
-msgstr "Gewoon papier"
-
-msgid "Policies"
-msgstr "Beleid"
-
-msgid "Port Monitor"
-msgstr "Poortmonitor"
-
-msgid "PostScript Printer"
-msgstr "PostScript-printer"
-
-msgid "Postcard"
-msgstr "Briefkaart"
-
-msgid "Postcard Double "
-msgstr ""
-
-msgid "Postcard Double Long Edge"
-msgstr ""
-
-msgid "Postcard Long Edge"
-msgstr ""
-
-msgid "Print Density"
-msgstr "Afdrukdichtheid"
-
-msgid "Print Job:"
-msgstr "Afdruktaak:"
-
-msgid "Print Mode"
-msgstr "Afdrukmodus"
-
-msgid "Print Rate"
-msgstr "Afdrukdoorvoer"
-
-msgid "Print Self-Test Page"
-msgstr "Druk zelftestpagina af"
-
-msgid "Print Speed"
-msgstr "Afdruksnelheid"
-
-msgid "Print Test Page"
-msgstr "Druk testpagina af"
-
-msgid "Print and Cut"
-msgstr "Afdrukken en afsnijden"
-
-msgid "Print and Tear"
-msgstr "Afdrukken en afscheuren"
-
-#, c-format
-msgid "Print file accepted - job ID %d."
-msgstr ""
-
-msgid "Print file accepted - job ID unknown."
-msgstr ""
-
-msgid "Print file sent."
-msgstr ""
-
-msgid "Print file was not accepted."
-msgstr ""
-
-msgid "Print job too large."
-msgstr ""
-
-msgid "Printed For: "
-msgstr "Afgedrukt voor: "
-
-msgid "Printed From: "
-msgstr "Afgedrukt vanaf: "
-
-msgid "Printed On: "
-msgstr "Afgedrukt op: "
-
-msgid "Printer Added"
-msgstr "Printer toegevoegd"
-
-msgid "Printer Default"
-msgstr "Printerstandaard"
-
-msgid "Printer Deleted"
-msgstr "Printer verwijderd"
-
-msgid "Printer Modified"
-msgstr "Printer gewijzigd"
-
-msgid "Printer Name: "
-msgstr "Printernaam: "
-
-msgid "Printer Paused"
-msgstr "Printer onderbroken"
-
-msgid "Printer Settings"
-msgstr "Printerinstellingen"
-
-msgid "Printer busy, will retry in 10 seconds."
-msgstr ""
-
-msgid "Printer busy; will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer did not respond."
-msgstr ""
-
-#, c-format
-msgid "Printer does not support IPP/%d.%d, trying IPP/%s."
-msgstr ""
-
-msgid "Printer is busy, will retry in 5 seconds."
-msgstr ""
-
-msgid "Printer is not currently connected."
-msgstr ""
-
-msgid "Printer is now connected."
-msgstr ""
-
-msgid "Printer is now online."
-msgstr ""
-
-msgid "Printer is offline."
-msgstr ""
-
-msgid "Printer not connected, will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer not connected; will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer:"
-msgstr "Printer:"
-
-msgid "Printers"
-msgstr "Printers"
-
-#, c-format
-msgid "Printing page %d, %d%% complete."
-msgstr ""
-
-#, c-format
-msgid "Printing page %d."
-msgstr ""
-
-msgid "Purge Jobs"
-msgstr "Maak takenlijst leeg"
-
-msgid "Quarto"
-msgstr "Quarto"
-
-msgid "Quota limit reached."
-msgstr "Quotumlimiet bereikt."
-
-msgid "Rank    Owner   Job     File(s)                         Total Size"
-msgstr ""
-
-#. TRANSLATORS: Pri is job priority.
-msgid ""
-"Rank   Owner      Pri  Job        Files                       Total Size"
-msgstr ""
-
-msgid "Ready to print."
-msgstr ""
-
-msgid "Reject Jobs"
-msgstr "Weiger taken"
-
-#, c-format
-msgid "Remote host did not accept control file (%d)."
-msgstr ""
-
-#, c-format
-msgid "Remote host did not accept data file (%d)."
-msgstr ""
-
-msgid "Reprint After Error"
-msgstr "Druk opnieuw af na fout"
-
-msgid "Request Entity Too Large"
-msgstr "Request Entity te groot"
-
-msgid "Resolution"
-msgstr "Resolutie"
-
-msgid "Resume Class"
-msgstr "Hervat klasse"
-
-msgid "Resume Printer"
-msgstr "Hervat printer"
-
-msgid "Return Address"
-msgstr "Adres afzender"
-
-msgid "Return Address - 3/4 x 2\""
-msgstr "Adres afzender - 3/4 x 2\""
-
-msgid "Rewind"
-msgstr "Oprollen"
-
-#, c-format
-msgid "Running command: %s %s -N -A %s -c '%s'"
-msgstr ""
-
-msgid "SEQUENCE uses indefinite length"
-msgstr "Onbepaalde lengte gebruikt voor SEQUENCE"
-
-msgid "SSL/TLS Negotiation Error"
-msgstr ""
-
-msgid "See Other"
-msgstr "Zie andere"
-
-msgid "Sending data to printer."
-msgstr ""
-
-#, c-format
-msgid "Serial Port #%d"
-msgstr "Seriële poort #%d"
-
-msgid "Server Restarted"
-msgstr "Server herstart"
-
-msgid "Server Security Auditing"
-msgstr "Serverbeveiligingscontrole"
-
-msgid "Server Started"
-msgstr "Server gestart"
-
-msgid "Server Stopped"
-msgstr "Server gestopt"
-
-msgid "Service Unavailable"
-msgstr "Voorziening niet beschikbaar"
-
-msgid "Set Allowed Users"
-msgstr "Stel aantal toegestane gebruikers in"
-
-msgid "Set As Server Default"
-msgstr "Stel in als serverstandaard"
-
-msgid "Set Class Options"
-msgstr "Stel klasseopties in"
-
-msgid "Set Printer Options"
-msgstr "Stel printeropties in"
-
-msgid "Set Publishing"
-msgstr "Stel publicatie in"
-
-msgid "Shipping Address"
-msgstr "Afleveradres"
-
-msgid "Shipping Address - 2 5/16 x 4\""
-msgstr "Afleveradres - 2 5/16 x 4\""
-
-msgid "Short-Edge (Landscape)"
-msgstr "Korte kant (liggend)"
-
-msgid "Special Paper"
-msgstr "Speciaal papier"
-
-#, c-format
-msgid "Spooling job, %.0f%% complete."
-msgstr ""
-
-msgid "Standard"
-msgstr "Standaard"
-
-#. TRANSLATORS: Banner/cover sheet before the print job.
-msgid "Starting Banner"
-msgstr "Startbanner"
-
-#, c-format
-msgid "Starting page %d."
-msgstr ""
-
-msgid "Statement"
-msgstr "Statement"
-
-msgid "Stylus Color Series"
-msgstr "Stylus Color-serie"
-
-msgid "Stylus Photo Series"
-msgstr "Stylus Photo-serie"
-
-#, c-format
-msgid "Subscription #%d does not exist."
-msgstr ""
-
-msgid "Super A"
-msgstr "Super A"
-
-msgid "Super B"
-msgstr "Super B"
-
-msgid "Super B/A3"
-msgstr "Super B/A3"
-
-msgid "Switching Protocols"
-msgstr "Schakelen tussen protocollen"
-
-msgid "Tabloid"
-msgstr "Tabloid"
-
-msgid "Tabloid Oversize"
-msgstr ""
-
-msgid "Tabloid Oversize Long Edge"
-msgstr ""
-
-msgid "Tear"
-msgstr "Scheuren"
-
-msgid "Tear-Off"
-msgstr "Afscheuren"
-
-msgid "Tear-Off Adjust Position"
-msgstr "Pas positie voor afscheuren aan"
-
-#, c-format
-msgid "The %s attribute cannot be provided with job-ids."
-msgstr ""
-
-#, c-format
-msgid "The PPD file \"%s\" could not be found."
-msgstr "Het PPD-bestand \"%s\" kon niet worden gevonden."
-
-#, c-format
-msgid "The PPD file \"%s\" could not be opened: %s"
-msgstr "Het PPD-bestand \"%s\" kon niet worden geopend: %s"
-
-msgid "The PPD file could not be opened."
-msgstr ""
-
-msgid ""
-"The class name may only contain up to 127 printable characters and may not "
-"contain spaces, slashes (/), or the pound sign (#)."
-msgstr ""
-"De klassenaam mag maximaal 127 afdrukbare tekens en geen spaties, schuine "
-"strepen (/) of hekjes (#) bevatten."
-
-msgid "The developer unit needs to be replaced."
-msgstr ""
-
-msgid "The developer unit will need to be replaced soon."
-msgstr ""
-
-msgid "The fuser's temperature is high."
-msgstr ""
-
-msgid "The fuser's temperature is low."
-msgstr ""
-
-msgid ""
-"The notify-lease-duration attribute cannot be used with job subscriptions."
-msgstr ""
-"Het attribuut &aops;notify-lease-duration&aops; kan niet worden gebruikt bij "
-"taakabonnementen."
-
-#, c-format
-msgid "The notify-user-data value is too large (%d > 63 octets)."
-msgstr ""
-
-msgid "The optical photoconductor needs to be replaced."
-msgstr ""
-
-msgid "The optical photoconductor will need to be replaced soon."
-msgstr ""
-
-msgid "The output bin is almost full."
-msgstr ""
-
-msgid "The output bin is full."
-msgstr ""
-
-msgid "The output bin is missing."
-msgstr ""
-
-msgid "The page setup information was not valid."
-msgstr ""
-
-msgid "The paper tray is almost empty."
-msgstr ""
-
-msgid "The paper tray is empty."
-msgstr ""
-
-msgid "The paper tray is missing."
-msgstr ""
-
-msgid "The paper tray needs to be filled."
-msgstr ""
-
-msgid "The print file could not be opened."
-msgstr ""
-
-msgid "The printer URI is incorrect or no longer exists."
-msgstr ""
-
-msgid "The printer is busy."
-msgstr ""
-
-msgid "The printer is not connected."
-msgstr ""
-
-msgid "The printer is not responding."
-msgstr ""
-
-msgid "The printer is out of ink."
-msgstr ""
-
-msgid "The printer is running low on ink."
-msgstr ""
-
-msgid "The printer is running low on toner."
-msgstr ""
-
-msgid "The printer is unreachable at this time."
-msgstr ""
-
-msgid "The printer may be out of toner."
-msgstr ""
-
-msgid "The printer may not exist or is unavailable at this time."
-msgstr ""
-
-msgid ""
-"The printer name may only contain up to 127 printable characters and may not "
-"contain spaces, slashes (/), or the pound sign (#)."
-msgstr ""
-"De printernaam mag maximaal 127 afdrukbare tekens en geen spaties, schuine "
-"strepen (/) of hekjes (#) bevatten."
-
-msgid "The printer or class does not exist."
-msgstr ""
-
-msgid "The printer or class is not shared."
-msgstr ""
-
-msgid "The printer's cover is open."
-msgstr ""
-
-msgid "The printer's door is open."
-msgstr ""
-
-msgid "The printer's interlock is open."
-msgstr ""
-
-msgid "The printer's waste bin is almost full."
-msgstr ""
-
-msgid "The printer's waste bin is full."
-msgstr ""
-
-#, c-format
-msgid "The printer-uri \"%s\" contains invalid characters."
-msgstr "De printer-uri \"%s\" bevat ongeldige tekens."
-
-msgid "The printer-uri attribute is required."
-msgstr ""
-
-msgid ""
-"The printer-uri must be of the form \"ipp://HOSTNAME/classes/CLASSNAME\"."
-msgstr ""
-"De printer-uri moet de vorm \"ipp://HOSTNAAM/klassen/KLASSENAAM\" hebben."
-
-msgid ""
-"The printer-uri must be of the form \"ipp://HOSTNAME/printers/PRINTERNAME\"."
-msgstr ""
-"De printer-uri moet de vorm \"ipp://HOSTNAAM/printers/PRINTERNAAM\" hebben."
-
-msgid ""
-"The subscription name may not contain spaces, slashes (/), question marks "
-"(?), or the pound sign (#)."
-msgstr ""
-"De abonnementsnaam mag geen spaties, schuine strepen (/), vraagtekens (?) of "
-"hekjes (#) bevatten."
-
-msgid ""
-"The web interface is currently disabled. Run \"cupsctl WebInterface=yes\" to "
-"enable it."
-msgstr ""
-
-#, c-format
-msgid "The which-jobs value \"%s\" is not supported."
-msgstr ""
-
-msgid "There are too many subscriptions."
-msgstr "Er zijn te veel abonnementen."
-
-msgid "There is a paper jam."
-msgstr ""
-
-msgid "There was an unrecoverable USB error."
-msgstr ""
-
-msgid "Thermal Transfer Media"
-msgstr "Thermal Transfer-materiaal"
-
-msgid "Title: "
-msgstr "Titel: "
-
-msgid "Too many active jobs."
-msgstr "Te veel actieve taken."
-
-#, c-format
-msgid "Too many job-sheets values (%d > 2)."
-msgstr ""
-
-#, c-format
-msgid "Too many printer-state-reasons values (%d > %d)."
-msgstr ""
-
-msgid "Transparency"
-msgstr "Transparantie"
-
-msgid "Tray"
-msgstr "Lade"
-
-msgid "Tray 1"
-msgstr "Lade 1"
-
-msgid "Tray 2"
-msgstr "Lade 2"
-
-msgid "Tray 3"
-msgstr "Lade 3"
-
-msgid "Tray 4"
-msgstr "Lade 4"
-
-msgid "URI Too Long"
-msgstr "URI te lang"
-
-msgid "US Ledger"
-msgstr "US Ledger"
-
-msgid "US Legal"
-msgstr "US Legal"
-
-msgid "US Legal Oversize"
-msgstr ""
-
-msgid "US Letter"
-msgstr "US Letter"
-
-msgid "US Letter Long Edge"
-msgstr ""
-
-msgid "US Letter Oversize"
-msgstr ""
-
-msgid "US Letter Oversize Long Edge"
-msgstr ""
-
-msgid "US Letter Small"
-msgstr ""
-
-#, c-format
-msgid "USB Serial Port #%d"
-msgstr "USB-seriële poort #%d"
-
-msgid "Unable to access cupsd.conf file:"
-msgstr "Niet mogelijk om toegang te krijgen tot cupsd.conf-bestand:"
-
-msgid "Unable to add RSS subscription:"
-msgstr "Niet mogelijk om RSS-abonnement toe te voegen:"
-
-msgid "Unable to add class:"
-msgstr "Niet mogelijk om klasse toe te voegen:"
-
-msgid "Unable to add document to print job."
-msgstr ""
-
-#, c-format
-msgid "Unable to add job for destination \"%s\"."
-msgstr ""
-
-msgid "Unable to add printer:"
-msgstr "Niet mogelijk om printer toe te voegen:"
-
-msgid "Unable to allocate memory for file types."
-msgstr ""
-
-msgid "Unable to allocate memory for page info"
-msgstr ""
-
-msgid "Unable to allocate memory for pages array"
-msgstr ""
-
-msgid "Unable to cancel RSS subscription:"
-msgstr "Niet mogelijk om RSS-abonnement op te zeggen:"
-
-msgid "Unable to cancel print job."
-msgstr ""
-
-msgid "Unable to change printer-is-shared attribute:"
-msgstr "Niet mogelijk om attribuut &aops;printer-is-shared&aops; te wijzigen:"
-
-msgid "Unable to change printer:"
-msgstr "Niet mogelijk om printer te wijzigen:"
-
-msgid "Unable to change server settings:"
-msgstr "Niet mogelijk om serverinstellingen te wijzigen:"
-
-msgid "Unable to configure printer options."
-msgstr ""
-
-msgid "Unable to connect to host."
-msgstr "Niet mogelijk om verbinding met host te maken."
-
-msgid "Unable to contact printer, queuing on next printer in class."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy 64-bit CUPS printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy 64-bit Windows printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy CUPS printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy PPD file - %s"
-msgstr ""
-
-msgid "Unable to copy PPD file."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy Windows 2000 printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy Windows 9x printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy interface script - %s"
-msgstr ""
-
-msgid "Unable to copy print file"
-msgstr ""
-
-msgid "Unable to create compressed print file"
-msgstr ""
-
-msgid "Unable to create pipes for filters"
-msgstr ""
-
-msgid "Unable to create printer-uri"
-msgstr ""
-
-msgid "Unable to create temporary file"
-msgstr ""
-
-msgid "Unable to create temporary file:"
-msgstr "Niet mogelijk om tijdelijk bestand aan te maken:"
-
-msgid "Unable to delete class:"
-msgstr "Niet mogelijk om klasse te verwijderen:"
-
-msgid "Unable to delete printer:"
-msgstr "Niet mogelijk om printer te verwijderen:"
-
-msgid "Unable to do maintenance command:"
-msgstr "Niet mogelijk om onderhoudscommando op te geven:"
-
-msgid "Unable to edit cupsd.conf files larger than 1MB"
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (certificate chain invalid)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (certificate not yet valid)."
-msgstr ""
-
-msgid "Unable to establish a secure connection to host (expired certificate)."
-msgstr ""
-
-msgid "Unable to establish a secure connection to host (host name mismatch)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (peer dropped connection "
-"before responding)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (self-signed certificate)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (untrusted certificate)."
-msgstr ""
-
-msgid "Unable to establish a secure connection to host."
-msgstr ""
-
-msgid "Unable to find destination for job"
-msgstr ""
-
-msgid "Unable to find printer."
-msgstr ""
-
-msgid "Unable to fork filter"
-msgstr ""
-
-msgid "Unable to generate compressed print file"
-msgstr ""
-
-msgid "Unable to get backend exit status."
-msgstr ""
-
-msgid "Unable to get class list:"
-msgstr "Niet mogelijk om klasselijst weer te geven:"
-
-msgid "Unable to get class status:"
-msgstr "Niet mogelijk om klassestatus weer te geven:"
-
-msgid "Unable to get list of printer drivers:"
-msgstr "Niet mogelijk om lijst van printerstuurprogramma&aops;s weer te geven:"
-
-msgid "Unable to get printer attributes:"
-msgstr "Niet mogelijk om printerattributen weer te geven:"
-
-msgid "Unable to get printer list:"
-msgstr "Niet mogelijk om printerlijst weer te geven:"
-
-msgid "Unable to get printer status."
-msgstr ""
-
-msgid "Unable to get printer status:"
-msgstr "Niet mogelijk om printerstatus weer te geven:"
-
-#, c-format
-msgid "Unable to install Windows 2000 printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to install Windows 9x printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to locate printer \"%s\"."
-msgstr ""
-
-msgid "Unable to locate printer."
-msgstr ""
-
-msgid "Unable to modify class:"
-msgstr "Niet mogelijk om klasse te wijzigen:"
-
-msgid "Unable to modify printer:"
-msgstr "Niet mogelijk om printer te wijzigen:"
-
-msgid "Unable to move job"
-msgstr "Niet mogelijk om taak te verplaatsen"
-
-msgid "Unable to move jobs"
-msgstr "Niet mogelijk om taken te verplaatsen"
-
-msgid "Unable to open PPD file"
-msgstr "Niet mogelijk om PPD-bestand te openen"
-
-msgid "Unable to open PPD file:"
-msgstr "Niet mogelijk om PPD-bestand te openen:"
-
-msgid "Unable to open charset file"
-msgstr ""
-
-msgid "Unable to open compressed print file"
-msgstr ""
-
-msgid "Unable to open cupsd.conf file:"
-msgstr "Niet mogelijk om cupsd.conf-bestand te openen:"
-
-msgid "Unable to open device file"
-msgstr ""
-
-#, c-format
-msgid "Unable to open document #%d in job #%d."
-msgstr ""
-
-msgid "Unable to open print file"
-msgstr ""
-
-msgid "Unable to open psglyphs"
-msgstr ""
-
-msgid "Unable to open raster file"
-msgstr ""
-
-#, c-format
-msgid "Unable to print %d text columns."
-msgstr ""
-
-#, c-format
-msgid "Unable to print %dx%d text page."
-msgstr ""
-
-msgid "Unable to print test page:"
-msgstr "Niet mogelijk om testpagina af te drukken:"
-
-msgid "Unable to read print data"
-msgstr ""
-
-msgid "Unable to read print data."
-msgstr ""
-
-#, c-format
-msgid "Unable to run \"%s\": %s"
-msgstr ""
-
-msgid "Unable to see in file"
-msgstr ""
-
-msgid "Unable to send command to printer driver"
-msgstr ""
-
-msgid "Unable to send data to printer."
-msgstr ""
-
-msgid "Unable to send raster data to the driver."
-msgstr ""
-
-#, c-format
-msgid "Unable to set Windows printer driver (%d)."
-msgstr ""
-
-msgid "Unable to set options:"
-msgstr "Niet mogelijk om opties in te stellen:"
-
-msgid "Unable to set server default:"
-msgstr "Niet mogelijk om serverstandaard in te stellen:"
-
-msgid "Unable to start backend process."
-msgstr ""
-
-msgid "Unable to upload cupsd.conf file:"
-msgstr "Niet mogelijk om cupsd.conf file-bestand te uploaden:"
-
-msgid "Unable to use legacy USB class driver."
-msgstr ""
-
-msgid "Unable to write print data"
-msgstr ""
-
-#, c-format
-msgid "Unable to write uncompressed print data: %s"
-msgstr ""
-
-msgid "Unauthorized"
-msgstr "Onbevoegd"
-
-msgid "Units"
-msgstr "Eenheden"
-
-msgid "Unknown"
-msgstr "Onbekend"
-
-#, c-format
-msgid "Unknown choice \"%s\" for option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown encryption option value: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown file order: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown format character: \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown option \"%s\" with value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown print mode: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown printer-error-policy \"%s\"."
-msgstr "Onbekend printerfoutbeleid \"%s\"."
-
-#, c-format
-msgid "Unknown printer-op-policy \"%s\"."
-msgstr "Onbekend printergebruiksbeleid \"%s\"."
-
-#, c-format
-msgid "Unknown version option value: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported baud rate: %s"
-msgstr ""
-
-#, c-format
-msgid "Unsupported brightness value %s, using brightness=100."
-msgstr ""
-
-#, c-format
-msgid "Unsupported character set \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported compression \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported document-format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported document-format \"%s/%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported gamma value %s, using gamma=1000."
-msgstr ""
-
-msgid "Unsupported margins."
-msgstr ""
-
-msgid "Unsupported media value."
-msgstr ""
-
-#, c-format
-msgid "Unsupported number-up value %d, using number-up=1."
-msgstr ""
-
-#, c-format
-msgid "Unsupported number-up-layout value %s, using number-up-layout=lrtb."
-msgstr ""
-
-#, c-format
-msgid "Unsupported page-border value %s, using page-border=none."
-msgstr ""
-
-msgid "Unsupported raster data."
-msgstr ""
-
-msgid "Unsupported value type"
-msgstr "Niet-ondersteund waardetype"
-
-msgid "Upgrade Required"
-msgstr "Upgrade vereist"
-
-msgid ""
-"Usage:\n"
-"\n"
-"    lpadmin [-h server] -d destination\n"
-"    lpadmin [-h server] -x destination\n"
-"    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m model]\n"
-"                       [-r remove-class] [-v device] [-D description]\n"
-"                       [-P ppd-file] [-o name=value]\n"
-"                       [-u allow:user,user] [-u deny:user,user]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job user title copies options [filename]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job-id user title copies options [file]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job-id user title copies options file"
-msgstr ""
-
-msgid "Usage: convert [ options ]"
-msgstr ""
-
-msgid "Usage: cupsaddsmb [options] printer1 ... printerN"
-msgstr ""
-
-msgid "Usage: cupsctl [options] [param=value ... paramN=valueN]"
-msgstr ""
-
-msgid "Usage: cupsd [options]"
-msgstr ""
-
-msgid "Usage: cupsfilter [ options ] filename"
-msgstr ""
-
-msgid "Usage: cupstestdsc [options] filename.ps [... filename.ps]"
-msgstr ""
-
-msgid ""
-"Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]"
-msgstr ""
-
-msgid "Usage: ipptool [options] URI filename [ ... filenameN ]"
-msgstr ""
-
-msgid "Usage: lpmove job/src dest"
-msgstr ""
-
-msgid ""
-"Usage: lpoptions [-h server] [-E] -d printer\n"
-"       lpoptions [-h server] [-E] [-p printer] -l\n"
-"       lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
-"       lpoptions [-h server] [-E] -x printer"
-msgstr ""
-
-msgid "Usage: lppasswd [-g groupname]"
-msgstr ""
-
-msgid ""
-"Usage: lppasswd [-g groupname] [username]\n"
-"       lppasswd [-g groupname] -a [username]\n"
-"       lppasswd [-g groupname] -x [username]"
-msgstr ""
-
-msgid ""
-"Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]"
-msgstr ""
-
-msgid "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]"
-msgstr ""
-
-msgid "Usage: ppdhtml [options] filename.drv >filename.html"
-msgstr ""
-
-msgid "Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]"
-msgstr ""
-
-msgid "Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]"
-msgstr ""
-
-msgid ""
-"Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]"
-msgstr ""
-
-msgid "Usage: snmp [host-or-ip-address]"
-msgstr ""
-
-msgid "Value uses indefinite length"
-msgstr "Onbepaalde lengte gebruikt voor waarde"
-
-msgid "VarBind uses indefinite length"
-msgstr "Onbepaalde lengte gebruikt voor VarBind"
-
-msgid "Version uses indefinite length"
-msgstr "Onbepaalde lengte gebruikt voor versie"
-
-msgid "Waiting for job to complete."
-msgstr ""
-
-msgid "Waiting for printer to become available."
-msgstr ""
-
-msgid "Waiting for printer to finish."
-msgstr ""
-
-msgid "Warning, no Windows 2000 printer drivers are installed."
-msgstr ""
-
-msgid "Web Interface is Disabled"
-msgstr ""
-
-msgid "Yes"
-msgstr "Ja"
-
-#, c-format
-msgid ""
-"You must access this page using the URL <A HREF=\"https://%s:%d%s\">https://%"
-"s:%d%s</A>."
-msgstr ""
-"U dient deze pagina te benaderen via de URL <A HREF=\"https://%s:%d%s"
-"\">https://%s:%d%s</A>."
-
-msgid ""
-"Your password must be at least 6 characters long, cannot contain your "
-"username, and must contain at least one letter and number."
-msgstr ""
-
-msgid "ZPL Label Printer"
-msgstr "ZPL-etikettenprinter"
-
-msgid "Zebra"
-msgstr "Zebra"
-
-msgid "aborted"
-msgstr "afgebroken"
-
-msgid "canceled"
-msgstr "geannuleerd"
-
-msgid "completed"
-msgstr "gereed"
-
-msgid "convert: Use the -f option to specify a file to convert."
-msgstr ""
-
-msgid "cups-deviced failed to execute."
-msgstr "cups-deviced niet uitgevoerd."
-
-msgid "cups-driverd failed to execute."
-msgstr "cups-driverd niet uitgevoerd."
-
-#, c-format
-msgid "cupsaddsmb: No PPD file for printer \"%s\" - %s"
-msgstr ""
-
-msgid "cupsctl: Cannot set Listen or Port directly."
-msgstr ""
-
-#, c-format
-msgid "cupsctl: Unable to connect to server: %s"
-msgstr ""
-
-#, c-format
-msgid "cupsctl: Unknown option \"%s\""
-msgstr ""
-
-#, c-format
-msgid "cupsctl: Unknown option \"-%c\""
-msgstr ""
-
-msgid "cupsd: Expected config filename after \"-c\" option."
-msgstr ""
-
-msgid "cupsd: Unable to get current directory."
-msgstr ""
-
-#, c-format
-msgid "cupsd: Unknown argument \"%s\" - aborting."
-msgstr ""
-
-#, c-format
-msgid "cupsd: Unknown option \"%c\" - aborting."
-msgstr ""
-
-msgid "cupsd: launchd(8) support not compiled in, running in normal mode."
-msgstr ""
-
-#, c-format
-msgid "cupsfilter: Invalid document number %d."
-msgstr ""
-
-#, c-format
-msgid "cupsfilter: Invalid job ID %d."
-msgstr ""
-
-msgid "cupsfilter: Only one filename can be specified."
-msgstr ""
-
-#, c-format
-msgid "cupsfilter: Unable to get job file - %s"
-msgstr ""
-
-msgid "cupstestppd: The -q option is incompatible with the -v option."
-msgstr ""
-
-msgid "cupstestppd: The -v option is incompatible with the -q option."
-msgstr ""
-
-#, c-format
-msgid "device for %s/%s: %s"
-msgstr ""
-
-#, c-format
-msgid "device for %s: %s"
-msgstr ""
-
-msgid "error-index uses indefinite length"
-msgstr "Onbepaalde lengte gebruikt voor error-index"
-
-msgid "error-status uses indefinite length"
-msgstr "Onbepaalde lengte gebruikt voor error-status"
-
-msgid "held"
-msgstr "vastgehouden"
-
-msgid "help\t\tGet help on commands."
-msgstr ""
-
-msgid "idle"
-msgstr "niet in gebruik"
-
-msgid "ipptool: \"-i\" and \"-n\" are incompatible with -X\"."
-msgstr ""
-
-msgid "ipptool: \"-i\" is incompatible with \"-X\"."
-msgstr ""
-
-msgid "ipptool: \"-n\" is incompatible with \"-X\"."
-msgstr ""
-
-#, c-format
-msgid "ipptool: Bad URI - %s."
-msgstr ""
-
-#, c-format
-msgid "ipptool: Bad version %s for \"-V\"."
-msgstr ""
-
-msgid "ipptool: Invalid seconds for \"-i\"."
-msgstr ""
-
-msgid "ipptool: May only specify a single URI."
-msgstr ""
-
-msgid "ipptool: Missing count for \"-n\"."
-msgstr ""
-
-msgid "ipptool: Missing filename for \"-f\"."
-msgstr ""
-
-msgid "ipptool: Missing name=value for \"-d\"."
-msgstr ""
-
-msgid "ipptool: Missing seconds for \"-i\"."
-msgstr ""
-
-msgid "ipptool: Missing timeout for \"-T\"."
-msgstr ""
-
-msgid "ipptool: Missing version for \"-V\"."
-msgstr ""
-
-msgid "ipptool: URI required before test file."
-msgstr ""
-
-#, c-format
-msgid "ipptool: Unknown option \"-%c\"."
-msgstr ""
-
-msgid "job-printer-uri attribute missing."
-msgstr ""
-
-msgid "lpadmin: Class name can only contain printable characters."
-msgstr ""
-
-msgid "lpadmin: Expected PPD after \"-P\" option."
-msgstr ""
-
-msgid "lpadmin: Expected allow/deny:userlist after \"-u\" option."
-msgstr ""
-
-msgid "lpadmin: Expected class after \"-r\" option."
-msgstr ""
-
-msgid "lpadmin: Expected class name after \"-c\" option."
-msgstr ""
-
-msgid "lpadmin: Expected description after \"-D\" option."
-msgstr ""
-
-msgid "lpadmin: Expected device URI after \"-v\" option."
-msgstr ""
-
-msgid "lpadmin: Expected file type(s) after \"-I\" option."
-msgstr ""
-
-msgid "lpadmin: Expected hostname after \"-h\" option."
-msgstr ""
-
-msgid "lpadmin: Expected interface after \"-i\" option."
-msgstr ""
-
-msgid "lpadmin: Expected location after \"-L\" option."
-msgstr ""
-
-msgid "lpadmin: Expected model after \"-m\" option."
-msgstr ""
-
-msgid "lpadmin: Expected name after \"-R\" option."
-msgstr ""
-
-msgid "lpadmin: Expected name=value after \"-o\" option."
-msgstr ""
-
-msgid "lpadmin: Expected printer after \"-p\" option."
-msgstr ""
-
-msgid "lpadmin: Expected printer name after \"-d\" option."
-msgstr ""
-
-msgid "lpadmin: Expected printer or class after \"-x\" option."
-msgstr ""
-
-msgid "lpadmin: No member names were seen."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Printer %s is already a member of class %s."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Printer %s is not a member of class %s."
-msgstr ""
-
-msgid "lpadmin: Printer name can only contain printable characters."
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to add a printer to the class:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unable to connect to server: %s"
-msgstr ""
-
-msgid "lpadmin: Unable to create temporary file"
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to delete option:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unable to open PPD file \"%s\" - %s"
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to remove a printer from the class:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to set the printer options:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unknown allow/deny option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unknown argument \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unknown option \"%c\"."
-msgstr ""
-
-msgid "lpadmin: Warning - content type list ignored."
-msgstr ""
-
-msgid "lpc> "
-msgstr "lpc> "
-
-msgid "lpinfo: Expected 1284 device ID string after \"--device-id\"."
-msgstr ""
-
-msgid "lpinfo: Expected language after \"--language\"."
-msgstr ""
-
-msgid "lpinfo: Expected make and model after \"--make-and-model\"."
-msgstr ""
-
-msgid "lpinfo: Expected product string after \"--product\"."
-msgstr ""
-
-msgid "lpinfo: Expected scheme list after \"--exclude-schemes\"."
-msgstr ""
-
-msgid "lpinfo: Expected scheme list after \"--include-schemes\"."
-msgstr ""
-
-msgid "lpinfo: Expected timeout after \"--timeout\"."
-msgstr ""
-
-#, c-format
-msgid "lpinfo: Unknown argument \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpinfo: Unknown option \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "lpinfo: Unknown option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpmove: Unable to connect to server: %s"
-msgstr ""
-
-#, c-format
-msgid "lpmove: Unknown argument \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpmove: Unknown option \"%c\"."
-msgstr ""
-
-msgid "lpoptions: No printers."
-msgstr ""
-
-#, c-format
-msgid "lpoptions: Unable to add printer or instance: %s"
-msgstr ""
-
-#, c-format
-msgid "lpoptions: Unable to get PPD file for %s: %s"
-msgstr ""
-
-#, c-format
-msgid "lpoptions: Unable to open PPD file for %s."
-msgstr ""
-
-msgid "lpoptions: Unknown printer or class."
-msgstr ""
-
-msgid "lppasswd: Only root can add or delete passwords."
-msgstr ""
-
-msgid "lppasswd: Password file busy."
-msgstr ""
-
-msgid "lppasswd: Password file not updated."
-msgstr ""
-
-msgid "lppasswd: Sorry, password doesn't match."
-msgstr ""
-
-msgid "lppasswd: Sorry, password rejected."
-msgstr ""
-
-msgid "lppasswd: Sorry, passwords don't match."
-msgstr ""
-
-#, c-format
-msgid "lppasswd: Unable to copy password string: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: Unable to open password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: Unable to write to password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: failed to backup old password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: failed to rename password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: user \"%s\" and group \"%s\" do not exist."
-msgstr ""
-
-#, c-format
-msgid ""
-"lpstat: error - %s environment variable names non-existent destination \"%s"
-"\"."
-msgstr ""
-
-#, c-format
-msgid "members of class %s:"
-msgstr ""
-
-msgid "no entries"
-msgstr ""
-
-msgid "no system default destination"
-msgstr ""
-
-msgid "notify-events not specified."
-msgstr ""
-
-#, c-format
-msgid "notify-recipient-uri URI \"%s\" is already used."
-msgstr ""
-
-#, c-format
-msgid "notify-recipient-uri URI \"%s\" uses unknown scheme."
-msgstr ""
-
-msgid "pending"
-msgstr "in bewerking"
-
-#, c-format
-msgid "ppdc: Adding include directory \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Adding/updating UI text from %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad boolean value (%s) on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad font attribute: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad resolution name \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad status keyword %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad variable substitution ($%c) on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Choice found on line %d of %s with no Option."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Duplicate #po for locale %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected a filter definition on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected a program name on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected boolean value on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected charset after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected choice code on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected choice name/text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected color order for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected colorspace for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected compression for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected constraints string for UIConstraints on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Expected driver type keyword following DriverType on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected duplex type after Duplex on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected encoding after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected filename after #po %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected group name/text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected include filename on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected integer on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected locale after #po on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after FileName on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after Manufacturer on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after MediaSize on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after ModelName on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after PCFileName on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text after Installable on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text after Resolution on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text combination for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected option name/text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected option section on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected option type on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected override field after Resolution on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected quoted string on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected real number on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Expected resolution/mediatype following ColorProfile on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Expected resolution/mediatype following SimpleColorProfile on line %d "
-"of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected selector after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected status after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected string after Copyright on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected string after Version on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected two option names on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected value after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected version after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid #include/#po filename \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid cost for filter on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid empty MIME type for filter on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid empty program name for filter on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid option section \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid option type \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Loading driver information file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Loading messages for locale \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Loading messages from \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Missing #endif at end of \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Missing #if on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Need a msgid line before any translation strings on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: No message catalog provided for locale %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Option %s defined in two different groups on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Option %s redefined with a different type on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Option constraint must *name on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Too many nested #if's on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to create PPD file \"%s\" - %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to create output directory %s: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to create output pipes: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to execute cupstestppd: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to find #po file %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to find include file \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to find localization for \"%s\" - %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to load localization file \"%s\" - %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to open %s: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Undefined variable (%s) on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unexpected text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown driver type %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown media size \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown message catalog format for \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown token \"%s\" seen on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Unknown trailing characters in real number \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unterminated string starting with %c on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Warning - overlapping filename \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Writing %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Writing PPD files to directory \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s."
-msgstr ""
-
-#, c-format
-msgid "ppdmerge: Ignoring PPD file %s."
-msgstr ""
-
-#, c-format
-msgid "ppdmerge: Unable to backup %s to %s - %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s disabled since %s -"
-msgstr ""
-
-#, c-format
-msgid "printer %s is idle.  enabled since %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s now printing %s-%d.  enabled since %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s/%s disabled since %s -"
-msgstr ""
-
-#, c-format
-msgid "printer %s/%s is idle.  enabled since %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s/%s now printing %s-%d.  enabled since %s"
-msgstr ""
-
-msgid "processing"
-msgstr "taak wordt verwerkt"
-
-#, c-format
-msgid "request id is %s-%d (%d file(s))"
-msgstr ""
-
-msgid "request-id uses indefinite length"
-msgstr "onbepaalde lengte gebruikt voor request-id"
-
-msgid "scheduler is not running"
-msgstr ""
-
-msgid "scheduler is running"
-msgstr ""
-
-#, c-format
-msgid "stat of %s failed: %s"
-msgstr "stat van %s mislukt: %s"
-
-msgid "status\t\tShow status of daemon and queue."
-msgstr ""
-
-msgid "stopped"
-msgstr "gestopt"
-
-#, c-format
-msgid "system default destination: %s"
-msgstr ""
-
-#, c-format
-msgid "system default destination: %s/%s"
-msgstr ""
-
-msgid "unknown"
-msgstr "onbekend"
-
-msgid "untitled"
-msgstr "naamloos"
-
-msgid "variable-bindings uses indefinite length"
-msgstr "onbepaalde lengte gebruikt voor variable-bindings"
-
-#~ msgid "\t\t(all)\n"
-#~ msgstr "\t\t(alle)\n"
-
-#~ msgid "\t\t(none)\n"
-#~ msgstr "\t\t(geen)\n"
-
-#~ msgid "\t%d entries\n"
-#~ msgstr "\t%d onderdelen\n"
-
-#~ msgid "\tAfter fault: continue\n"
-#~ msgstr "\tNa storing: doorgaan\n"
-
-#~ msgid "\tAlerts:"
-#~ msgstr "\tWaarschuwingen:"
-
-#~ msgid "\tBanner required\n"
-#~ msgstr "\tBanner vereist\n"
-
-#~ msgid "\tCharset sets:\n"
-#~ msgstr "\tCharset-sets:\n"
-
-#~ msgid "\tConnection: direct\n"
-#~ msgstr "\tVerbinding: direct\n"
-
-#~ msgid "\tConnection: remote\n"
-#~ msgstr "\tVerbinding: niet-lokaal\n"
-
-#~ msgid "\tDefault page size:\n"
-#~ msgstr "\tStandaard paginagrootte:\n"
-
-#~ msgid "\tDefault pitch:\n"
-#~ msgstr "\tStandaardpitch:\n"
-
-#~ msgid "\tDefault port settings:\n"
-#~ msgstr "\tStandaard poortinstellingen:\n"
-
-#~ msgid "\tDescription: %s\n"
-#~ msgstr "\tOmschrijving: %s\n"
-
-#~ msgid ""
-#~ "\tForm mounted:\n"
-#~ "\tContent types: any\n"
-#~ "\tPrinter types: unknown\n"
-#~ msgstr ""
-#~ "\tFormulier geactiveerd:\n"
-#~ "\tInhoudstypes: alle\n"
-#~ "\tPrintertypes: onbekend\n"
-
-#~ msgid "\tForms allowed:\n"
-#~ msgstr "\tFormulieren toegestaan:\n"
-
-#~ msgid "\tInterface: %s.ppd\n"
-#~ msgstr "\tInterface: %s.ppd\n"
-
-#~ msgid "\tInterface: %s/interfaces/%s\n"
-#~ msgstr "\tInterface: %s/interfaces/%s\n"
-
-#~ msgid "\tInterface: %s/ppd/%s.ppd\n"
-#~ msgstr "\tInterface: %s/ppd/%s.ppd\n"
-
-#~ msgid "\tLocation: %s\n"
-#~ msgstr "\tLocatie: %s\n"
-
-#~ msgid "\tOn fault: no alert\n"
-#~ msgstr "\tBij storing: geen waarschuwing\n"
-
-#~ msgid "\tUsers allowed:\n"
-#~ msgstr "\tGebruikers toegelaten:\n"
-
-#~ msgid "\tUsers denied:\n"
-#~ msgstr "\tGebruikers geweigerd:\n"
-
-#~ msgid "\tdaemon present\n"
-#~ msgstr "\tdaemon aanwezig\n"
-
-#~ msgid "\tno entries\n"
-#~ msgstr "\tgeen onderdelen\n"
-
-#~ msgid "\tprinter is on device '%s' speed -1\n"
-#~ msgstr "\tprinter bevindt zich op apparaat &aops;%s&aops; snelheid -1\n"
-
-#~ msgid "\tprinting is disabled\n"
-#~ msgstr "\tafdrukken is uitgeschakeld\n"
-
-#~ msgid "\tprinting is enabled\n"
-#~ msgstr "\tafdrukken is ingeschakeld\n"
-
-#~ msgid "\tqueued for %s\n"
-#~ msgstr "\tgeplaatst in wachtrij voor %s\n"
-
-#~ msgid "\tqueuing is disabled\n"
-#~ msgstr "\tverplaatsen naar wachtrij is uitgeschakeld\n"
-
-#~ msgid "\tqueuing is enabled\n"
-#~ msgstr "\tverplaatsen naar wachtrij is ingeschakeld\n"
-
-#~ msgid "\treason unknown\n"
-#~ msgstr "\tonbekende oorzaak\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "    DETAILED CONFORMANCE TEST RESULTS\n"
-#~ msgstr ""
-#~ "\n"
-#~ "    GEDETAILLEERDE RESULTATEN VOOR CONFORMANTIETEST\n"
-
-#~ msgid "                REF: Page 15, section 3.1.\n"
-#~ msgstr "                REF: Pagina 15, sectie 3.1.\n"
-
-#~ msgid "                REF: Page 15, section 3.2.\n"
-#~ msgstr "                REF: Pagina 15, sectie 3.2.\n"
-
-#~ msgid "                REF: Page 19, section 3.3.\n"
-#~ msgstr "                REF: Pagina 19, sectie 3.3.\n"
-
-#~ msgid "                REF: Page 20, section 3.4.\n"
-#~ msgstr "                REF: Pagina 20, sectie 3.4.\n"
-
-#~ msgid "                REF: Page 27, section 3.5.\n"
-#~ msgstr "                REF: Pagina 27, sectie 3.5.\n"
-
-#~ msgid "                REF: Page 42, section 5.2.\n"
-#~ msgstr "                REF: Pagina 42, sectie 5.2.\n"
-
-#~ msgid "                REF: Pages 16-17, section 3.2.\n"
-#~ msgstr "                REF: Pagina 16-17, sectie 3.2.\n"
-
-#~ msgid "                REF: Pages 42-45, section 5.2.\n"
-#~ msgstr "                REF: Pagina 42-45, sectie 5.2.\n"
-
-#~ msgid "                REF: Pages 45-46, section 5.2.\n"
-#~ msgstr "                REF: Pagina 45-46, sectie 5.2.\n"
-
-#~ msgid "                REF: Pages 48-49, section 5.2.\n"
-#~ msgstr "                REF: Pagina 48-49, sectie 5.2.\n"
-
-#~ msgid "                REF: Pages 52-54, section 5.2.\n"
-#~ msgstr "                REF: Pagina 52-54, sectie 5.2.\n"
-
-#~ msgid "        %-39.39s %.0f bytes\n"
-#~ msgstr "        %-39.39s %.0f bytes\n"
-
-#~ msgid "        PASS    Default%s\n"
-#~ msgstr "        PASS    Default%s\n"
-
-#~ msgid "        PASS    DefaultImageableArea\n"
-#~ msgstr "        PASS    DefaultImageableArea\n"
-
-#~ msgid "        PASS    DefaultPaperDimension\n"
-#~ msgstr "        PASS    DefaultPaperDimension\n"
-
-#~ msgid "        PASS    FileVersion\n"
-#~ msgstr "        PASS    FileVersion\n"
-
-#~ msgid "        PASS    FormatVersion\n"
-#~ msgstr "        PASS    FormatVersion\n"
-
-#~ msgid "        PASS    LanguageEncoding\n"
-#~ msgstr "        PASS    LanguageEncoding\n"
-
-#~ msgid "        PASS    LanguageVersion\n"
-#~ msgstr "        PASS    LanguageVersion\n"
-
-#~ msgid "        PASS    Manufacturer\n"
-#~ msgstr "        PASS    Manufacturer\n"
-
-#~ msgid "        PASS    ModelName\n"
-#~ msgstr "        PASS    ModelName\n"
-
-#~ msgid "        PASS    NickName\n"
-#~ msgstr "        PASS    NickName\n"
-
-#~ msgid "        PASS    PCFileName\n"
-#~ msgstr "        PASS    PCFileName\n"
-
-#~ msgid "        PASS    PSVersion\n"
-#~ msgstr "        PASS    PSVersion\n"
-
-#~ msgid "        PASS    PageRegion\n"
-#~ msgstr "        PASS    PageRegion\n"
-
-#~ msgid "        PASS    PageSize\n"
-#~ msgstr "        PASS    PageSize\n"
-
-#~ msgid "        PASS    Product\n"
-#~ msgstr "        PASS    Product\n"
-
-#~ msgid "        PASS    ShortNickName\n"
-#~ msgstr "        PASS    ShortNickName\n"
-
-#~ msgid ""
-#~ "        WARN    \"%s %s\" conflicts with \"%s %s\"\n"
-#~ "                (constraint=\"%s %s %s %s\")\n"
-#~ msgstr ""
-#~ "        WARN    \"%s %s\" conflicteert met \"%s %s\"\n"
-#~ "                (beperking=\"%s %s %s %s\")\n"
-
-#~ msgid "        WARN    %s has no corresponding options!\n"
-#~ msgstr "        WARN    %s heeft geen bijbehorende opties!\n"
-
-#~ msgid ""
-#~ "        WARN    %s shares a common prefix with %s\n"
-#~ "                REF: Page 15, section 3.2.\n"
-#~ msgstr ""
-#~ "        WARN    %s deelt een gemeenschappelijke prefix met %s\n"
-#~ "                REF: Pagina 15, sectie 3.2.\n"
-
-#~ msgid "        WARN    Default choices conflicting!\n"
-#~ msgstr "        WARN    Standaardkeuzen conflicteren!\n"
-
-#~ msgid ""
-#~ "        WARN    Duplex option keyword %s may not work as expected and "
-#~ "should be named Duplex!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "        WARN    Sleutelwoord %s voor duplexoptie werkt mogelijk niet "
-#~ "zoals verwacht. Gebruik Duplex als sleutelwoord.\n"
-#~ "                REF: Pagina 122, sectie 5.17\n"
-
-#~ msgid ""
-#~ "        WARN    File contains a mix of CR, LF, and CR LF line endings!\n"
-#~ msgstr ""
-#~ "        WARN    Bestand bevat een combinatie van CR-, LF- en CR LF-"
-#~ "regeleinden!\n"
-
-#~ msgid ""
-#~ "        WARN    LanguageEncoding required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 56-57, section 5.3.\n"
-#~ msgstr ""
-#~ "        WARN    &aops;LanguageEncoding&aops; vereist door PPD 4.3-"
-#~ "specificatie.\n"
-#~ "                REF: Pagina 56-57, sectie 5.3.\n"
-
-#~ msgid "        WARN    Line %d only contains whitespace!\n"
-#~ msgstr "        WARN    Regel %d bevat alleen witruimte!\n"
-
-#~ msgid ""
-#~ "        WARN    Manufacturer required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 58-59, section 5.3.\n"
-#~ msgstr ""
-#~ "        WARN    &aops;Manufacturer&aops; vereist door PPD 4.3-"
-#~ "specificatie.\n"
-#~ "                REF: Pagina 58-59, sectie 5.3.\n"
-
-#~ msgid "        WARN    Missing APDialogExtension file \"%s\"\n"
-#~ msgstr "        WARN    APDialogExtension-bestand \"%s\" ontbreekt\n"
-
-#~ msgid "        WARN    Missing APPrinterIconPath file \"%s\"\n"
-#~ msgstr "        WARN    APPrinterIconPath-bestand \"%s\" ontbreekt\n"
-
-#~ msgid ""
-#~ "        WARN    Non-Windows PPD files should use lines ending with only "
-#~ "LF, not CR LF!\n"
-#~ msgstr ""
-#~ "        WARN    PPD-bestanden voor andere systemen dan Windows mogen "
-#~ "uitsluitend LF als regeleinde gebruiken, niet CR LF!\n"
-
-#~ msgid ""
-#~ "        WARN    Obsolete PPD version %.1f!\n"
-#~ "                REF: Page 42, section 5.2.\n"
-#~ msgstr ""
-#~ "        WARN    Verouderde PPD-versie %.1f!\n"
-#~ "                REF: Pagina 42, sectie 5.2.\n"
-
-#~ msgid ""
-#~ "        WARN    PCFileName longer than 8.3 in violation of PPD spec.\n"
-#~ "                REF: Pages 61-62, section 5.3.\n"
-#~ msgstr ""
-#~ "        WARN    PCFileName langer dan 8.3 komt niet overeen met PPD-"
-#~ "specificatie.\n"
-#~ "                REF: Pagina 61-62, sectie 5.3.\n"
-
-#~ msgid ""
-#~ "        WARN    Protocols contains PJL but JCL attributes are not set.\n"
-#~ "                REF: Pages 78-79, section 5.7.\n"
-#~ msgstr ""
-#~ "        WARN    Protocols bevat PJL, maar JCL-attributen zijn niet "
-#~ "ingesteld.\n"
-#~ "                REF: Pagina 78-79, sectie 5.7.\n"
-
-#~ msgid ""
-#~ "        WARN    Protocols contains both PJL and BCP; expected TBCP.\n"
-#~ "                REF: Pages 78-79, section 5.7.\n"
-#~ msgstr ""
-#~ "        WARN    Protocols bevat zowel PJL als BCP; verwachtte TBCP.\n"
-#~ "                REF: Pagina 78-79, sectie 5.7.\n"
-
-#~ msgid ""
-#~ "        WARN    ShortNickName required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "        WARN    &aops;ShortNickName&aops; vereist door PPD 4.3-"
-#~ "specificatie.\n"
-#~ "                REF: Pagina 64-65, sectie 5.3.\n"
-
-#~ msgid "      %s  %s %s does not exist!\n"
-#~ msgstr "      %s  %s %s bestaat niet!\n"
-
-#~ msgid ""
-#~ "      %s  Bad %s choice %s!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "      %s  Ongeldige %s keuze %s!\n"
-#~ "                REF: Pagina 122, sectie 5.17\n"
-
-#~ msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s!\n"
-#~ msgstr "      %s  Ongeldige UTF-8 \"%s\" vertaalreeks voor optie %s!\n"
-
-#~ msgid ""
-#~ "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s!\n"
-#~ msgstr ""
-#~ "      %s  Ongeldige UTF-8 \"%s\" vertaalreeks voor optie %s, keuze %s!\n"
-
-#~ msgid "      %s  Bad cupsFilter value \"%s\"!\n"
-#~ msgstr "      %s  Ongeldige waarde voor cupsFilter \"%s\"!\n"
-
-#~ msgid "      %s  Bad cupsICCProfile %s!\n"
-#~ msgstr "      %s  Ongeldig cupsICCProfile %s!\n"
-
-#~ msgid "      %s  Bad cupsPreFilter value \"%s\"!\n"
-#~ msgstr "      %s  Ongeldige waarde voor cupsPreFilter \"%s\"!\n"
-
-#~ msgid "      %s  Bad cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr "      %s  Ongeldige cupsUIConstraints %s: \"%s\"!\n"
-
-#~ msgid "      %s  Bad language \"%s\"!\n"
-#~ msgstr "      %s  Ongeldige taal \"%s\"!\n"
-
-#~ msgid "      %s  Empty cupsUIConstraints %s!\n"
-#~ msgstr "      %s  Lege cupsUIConstraints %s!\n"
-
-#~ msgid "      %s  Missing \"%s\" translation string for option %s!\n"
-#~ msgstr "      %s  Ontbrekende \"%s\" vertaalreeks voor optie %s!\n"
-
-#~ msgid ""
-#~ "      %s  Missing \"%s\" translation string for option %s, choice %s!\n"
-#~ msgstr ""
-#~ "      %s  Ontbrekende \"%s\" vertaalreeks voor optie %s, keuze %s!\n"
-
-#~ msgid ""
-#~ "      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"!\n"
-#~ msgstr ""
-#~ "      %s  Ontbrekende keuze *%s %s in UIConstraints \"*%s %s *%s %s\"!\n"
-
-#~ msgid "      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr ""
-#~ "      %s  Ontbrekende keuze *%s %s in cupsUIConstraints %s: \"%s\"!\n"
-
-#~ msgid "      %s  Missing cupsFilter file \"%s\"\n"
-#~ msgstr "      %s  Ontbrekend cupsFilter-bestand \"%s\"\n"
-
-#~ msgid "      %s  Missing cupsICCProfile file \"%s\"!\n"
-#~ msgstr "      %s  Ontbrekend cupsICCProfile-bestand \"%s\"!\n"
-
-#~ msgid "      %s  Missing cupsPreFilter file \"%s\"\n"
-#~ msgstr "      %s  Ontbrekend cupsPreFilter-bestand \"%s\"\n"
-
-#~ msgid "      %s  Missing cupsUIResolver %s!\n"
-#~ msgstr "      %s  Ontbrekende cupsUIResolver %s!\n"
-
-#~ msgid "      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\"!\n"
-#~ msgstr ""
-#~ "      %s  Ontbrekende optie %s in UIConstraints \"*%s %s *%s %s\"!\n"
-
-#~ msgid "      %s  Missing option %s in cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr "      %s  Ontbrekende optie %s in cupsUIConstraints %s: \"%s\"!\n"
-
-#~ msgid "      %s  No base translation \"%s\" is included in file!\n"
-#~ msgstr "      %s  Geen basisvertaling \"%s\" opgenomen in bestand!\n"
-
-#~ msgid ""
-#~ "      %s  REQUIRED %s does not define choice None!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "      %s  REQUIRED %s bevat geen definitie voor keuze None!\n"
-#~ "                REF: Pagina 122, sectie 5.17\n"
-
-#~ msgid "      %s  cupsICCProfile %s hash value collides with %s!\n"
-#~ msgstr "      %s cupsICCProfile %s hash-waarde conflicteert met %s!\n"
-
-#~ msgid "      %s  cupsUIResolver %s causes a loop!\n"
-#~ msgstr "      %s  cupsUIResolver %s veroorzaakt een lus!\n"
-
-#~ msgid "      **FAIL**  %s choice names %s and %s differ only by case!\n"
-#~ msgstr ""
-#~ "      **FAIL**  %s keuzenamen %s en %s verschillen alleen in "
-#~ "hoofdlettergebruik!\n"
-
-#~ msgid ""
-#~ "      **FAIL**  %s must be 1284DeviceID!\n"
-#~ "                REF: Page 72, section 5.5\n"
-#~ msgstr ""
-#~ "      **FAIL**  %s moet 1284DeviceID zijn!\n"
-#~ "                REF: Pagina 72, sectie 5.5\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Default%s %s\n"
-#~ "                REF: Page 40, section 4.5.\n"
-#~ msgstr ""
-#~ "      **FAIL**  ONGELDIGE Default%s %s\n"
-#~ "                REF: Pagina 40, sectie 4.5.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD DefaultImageableArea %s!\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  ONGELDIGE DefaultImageableArea %s!\n"
-#~ "                REF: Pagina 102, sectie 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD DefaultPaperDimension %s!\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  ONGELDIGE DefaultPaperDimension %s!\n"
-#~ "                REF: Pagina 103, sectie 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD JobPatchFile attribute in file\n"
-#~ "                REF: Page 24, section 3.4.\n"
-#~ msgstr ""
-#~ "      **FAIL**  ONGELDIG JobPatchFile-attribuut in bestand\n"
-#~ "                REF: Pagina 24, sectie 3.4.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Manufacturer (should be \"HP\")\n"
-#~ "                REF: Page 211, table D.1.\n"
-#~ msgstr ""
-#~ "      **FAIL**  ONGELDIGE Manufacturer (moet zijn \"HP\")\n"
-#~ "                REF: Pagina 211, tabel D.1.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Manufacturer (should be \"Oki\")\n"
-#~ "                REF: Page 211, table D.1.\n"
-#~ msgstr ""
-#~ "      **FAIL**  ONGELDIGE Manufacturer (moet zijn \"Oki\")\n"
-#~ "                REF: Pagina 211, tabel D.1.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n"
-#~ "                REF: Pages 59-60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  ONGELDIGE ModelName - \"%c\" niet toegestaan in "
-#~ "tekenreeks.\n"
-#~ "                REF: Pagina 59-60, sectie 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD PSVersion - not \"(string) int\".\n"
-#~ "                REF: Pages 62-64, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  ONGELDIGE PSVersion - niet \"(tekenreeks) int\".\n"
-#~ "                REF: Pagina 62-64, sectie 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Product - not \"(string)\".\n"
-#~ "                REF: Page 62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  ONGELDIG Product - niet \"(tekenreeks)\".\n"
-#~ "                REF: Pagina 62, sectie 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD ShortNickName - longer than 31 chars.\n"
-#~ "                REF: Pages 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  ONGELDIGE ShortNickName - langer dan 31 tekens.\n"
-#~ "                REF: Pagina 64-65, sectie 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad %s choice %s!\n"
-#~ "                REF: Page 84, section 5.9\n"
-#~ msgstr ""
-#~ "      **FAIL**  Ongeldige %s keuze %s!\n"
-#~ "                REF: Pagina 84, sectie 5.9\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad FileVersion \"%s\"\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  Ongeldige FileVersion \"%s\"\n"
-#~ "                REF: Pagina 56, sectie 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad FormatVersion \"%s\"\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  Ongeldige FormatVersion \"%s\"\n"
-#~ "                REF: Pagina 56, sectie 5.3.\n"
-
-#~ msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1!\n"
-#~ msgstr ""
-#~ "      **FAIL**  Ongeldige LanguageEncoding %s - moet ISOLatin1 zijn!\n"
-
-#~ msgid "      **FAIL**  Bad LanguageVersion %s - must be English!\n"
-#~ msgstr "      **FAIL**  Ongeldige LanguageVersion %s - moet Engels zijn!\n"
-
-#~ msgid "      **FAIL**  Default option code cannot be interpreted: %s\n"
-#~ msgstr ""
-#~ "      **FAIL**  Code voor standaardoptie kan niet worden geïnterpreteerd: "
-#~ "%s\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Default translation string for option %s choice %s "
-#~ "contains 8-bit characters!\n"
-#~ msgstr ""
-#~ "      **FAIL**  Standaardvertaalreeks voor optie %s keuze %s bevat 8-bits "
-#~ "tekens!\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Default translation string for option %s contains 8-bit "
-#~ "characters!\n"
-#~ msgstr ""
-#~ "      **FAIL**  Standaardvertaalreeks voor optie %s bevat 8-bits tekens!\n"
-
-#~ msgid "      **FAIL**  Group names %s and %s differ only by case!\n"
-#~ msgstr ""
-#~ "      **FAIL**  Groepsnamen %s en %s verschillen alleen in "
-#~ "hoofdlettergebruik!\n"
-
-#~ msgid "      **FAIL**  Multiple occurrences of %s choice name %s!\n"
-#~ msgstr "      **FAIL**  %s keuzenaam %s komt meerdere keren voor!\n"
-
-#~ msgid "      **FAIL**  Option names %s and %s differ only by case!\n"
-#~ msgstr ""
-#~ "      **FAIL**  Optienamen %s en %s verschillen alleen in "
-#~ "hoofdlettergebruik!\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Default%s\n"
-#~ "                REF: Page 40, section 4.5.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED Default%s\n"
-#~ "                REF: Pagina 40, sectie 4.5.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED DefaultImageableArea\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED DefaultImageableArea\n"
-#~ "                REF: Pagina 102, sectie 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED DefaultPaperDimension\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED DefaultPaperDimension\n"
-#~ "                REF: Pagina 103, sectie 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED FileVersion\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED FileVersion\n"
-#~ "                REF: Pagina 56, sectie 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED FormatVersion\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED FormatVersion\n"
-#~ "                REF: Pagina 56, sectie 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ImageableArea for PageSize %s\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED ImageableArea voor PageSize %s\n"
-#~ "                REF: Pagina 41, sectie 5.\n"
-#~ "                REF: Pagina 102, sectie 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED LanguageEncoding\n"
-#~ "                REF: Pages 56-57, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED LanguageEncoding\n"
-#~ "                REF: Pagina 56-57, sectie 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED LanguageVersion\n"
-#~ "                REF: Pages 57-58, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED LanguageVersion\n"
-#~ "                REF: Pagina 57-58, sectie 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Manufacturer\n"
-#~ "                REF: Pages 58-59, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED Manufacturer\n"
-#~ "                REF: Pagina 58-59, sectie 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ModelName\n"
-#~ "                REF: Pages 59-60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED ModelName\n"
-#~ "                REF: Pagina 59-60, sectie 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED NickName\n"
-#~ "                REF: Page 60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED NickName\n"
-#~ "                REF: Pagina 60, sectie 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PCFileName\n"
-#~ "                REF: Pages 61-62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED PCFileName\n"
-#~ "                REF: Pagina 61-62, sectie 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PSVersion\n"
-#~ "                REF: Pages 62-64, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED PSVersion\n"
-#~ "                REF: Pagina 62-64, sectie 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageRegion\n"
-#~ "                REF: Page 100, section 5.14.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED PageRegion\n"
-#~ "                REF: Pagina 100, sectie 5.14.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageSize\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 99, section 5.14.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED PageSize\n"
-#~ "                REF: Pagina 41, sectie 5.\n"
-#~ "                REF: Pagina 99, sectie 5.14.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageSize\n"
-#~ "                REF: Pages 99-100, section 5.14.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED PageSize\n"
-#~ "                REF: Pagina 99-100, sectie 5.14.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PaperDimension for PageSize %s\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED PaperDimension voor PageSize %s\n"
-#~ "                REF: Pagina 41, sectie 5.\n"
-#~ "                REF: Pagina 103, sectie 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Product\n"
-#~ "                REF: Page 62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED Product\n"
-#~ "                REF: Pagina 62, sectie 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ShortNickName\n"
-#~ "                REF: Page 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED ShortNickName\n"
-#~ "                REF: Pagina 64-65, sectie 5.3.\n"
-
-#~ msgid "    %d ERRORS FOUND\n"
-#~ msgstr "    %d FOUTEN GEVONDEN"
-
-#~ msgid ""
-#~ "    Bad %%%%BoundingBox: on line %d!\n"
-#~ "        REF: Page 39, %%%%BoundingBox:\n"
-#~ msgstr ""
-#~ "    Ongeldige %%%%BoundingBox: op regel %d!\n"
-#~ "        REF: Pagina 39, %%%%BoundingBox:\n"
-
-#~ msgid ""
-#~ "    Bad %%%%Page: on line %d!\n"
-#~ "        REF: Page 53, %%%%Page:\n"
-#~ msgstr ""
-#~ "    Ongeldige %%%%Page: op regel %d!\n"
-#~ "        REF: Pagina 53, %%%%Page:\n"
-
-#~ msgid ""
-#~ "    Bad %%%%Pages: on line %d!\n"
-#~ "        REF: Page 43, %%%%Pages:\n"
-#~ msgstr ""
-#~ "    Ongeldige %%%%Pages: op regel %d!\n"
-#~ "        REF: Pagina 43, %%%%Pages:\n"
-
-#~ msgid ""
-#~ "    Line %d is longer than 255 characters (%d)!\n"
-#~ "        REF: Page 25, Line Length\n"
-#~ msgstr ""
-#~ "    Regel %d bevat meer dan 255 tekens (%d)!\n"
-#~ "        REF: Pagina 25, Line Length\n"
-
-#~ msgid ""
-#~ "    Missing %!PS-Adobe-3.0 on first line!\n"
-#~ "        REF: Page 17, 3.1 Conforming Documents\n"
-#~ msgstr ""
-#~ "    Ontbrekende %!PS-Adobe-3.0 op eerste regel!\n"
-#~ "        REF: Pagina 17, 3.1 Conforming Documents\n"
-
-#~ msgid ""
-#~ "    Missing %%EndComments comment!\n"
-#~ "        REF: Page 41, %%EndComments\n"
-#~ msgstr ""
-#~ "    Ontbrekend %%EndComments-commentaar!\n"
-#~ "        REF: Pagina 41, %%EndComments\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%BoundingBox: comment!\n"
-#~ "        REF: Page 39, %%BoundingBox:\n"
-#~ msgstr ""
-#~ "    Ontbrekend of ongeldig %%BoundingBox-commentaar!\n"
-#~ "        REF: Pagina 39, %%BoundingBox:\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%Page: comments!\n"
-#~ "        REF: Page 53, %%Page:\n"
-#~ msgstr ""
-#~ "    Ontbrekend of ongeldig %%Page-commentaar!\n"
-#~ "        REF: Pagina 53, %%Page:\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%Pages: comment!\n"
-#~ "        REF: Page 43, %%Pages:\n"
-#~ msgstr ""
-#~ "    Ontbrekend of ongeldig %%Pages-commentaar!\n"
-#~ "        REF: Pagina 43, %%Pages:\n"
-
-#~ msgid "    NO ERRORS FOUND\n"
-#~ msgstr "    GEEN FOUTEN GEVONDEN\n"
-
-#~ msgid "    Saw %d lines that exceeded 255 characters!\n"
-#~ msgstr "    %d Regels gevonden met meer dan 255 tekens!\n"
-
-#~ msgid "    Too many %%BeginDocument comments!\n"
-#~ msgstr "    Te veel %%BeginDocument-commentaren!\n"
-
-#~ msgid "    Too many %%EndDocument comments!\n"
-#~ msgstr "    Te veel %%EndDocument-commentaren!\n"
-
-#~ msgid "    Warning: file contains binary data!\n"
-#~ msgstr "    Waarschuwing: bestand bevat binaire gegevens!\n"
-
-#~ msgid "    Warning: no %%EndComments comment in file!\n"
-#~ msgstr "    Waarschuwing: bestand bevat geen %%EndComments-commentaar!\n"
-
-#~ msgid "    Warning: obsolete DSC version %.1f in file!\n"
-#~ msgstr "    Waarschuwing: bestand bevat verouderde DSC versie %.1f!\n"
-
-#~ msgid " FAIL\n"
-#~ msgstr " FAIL\n"
-
-#~ msgid ""
-#~ " FAIL\n"
-#~ "      **FAIL**  Unable to open PPD file - %s\n"
-#~ msgstr ""
-#~ " FAIL\n"
-#~ "      **FAIL**  Kan PPD-bestand niet openen - %s\n"
-
-#~ msgid ""
-#~ " FAIL\n"
-#~ "      **FAIL**  Unable to open PPD file - %s on line %d.\n"
-#~ msgstr ""
-#~ " FAIL\n"
-#~ "      **FAIL**  Kan PPD-bestand niet openen - %s op regel %d.\n"
-
-#~ msgid " PASS\n"
-#~ msgstr " PASS\n"
-
-#~ msgid "#10 Envelope"
-#~ msgstr "#10-envelop"
-
-#~ msgid "#11 Envelope"
-#~ msgstr "#11-envelop"
-
-#~ msgid "#12 Envelope"
-#~ msgstr "#12-envelop"
-
-#~ msgid "#14 Envelope"
-#~ msgstr "#14-envelop"
-
-#~ msgid "#9 Envelope"
-#~ msgstr "#9-envelop"
-
-#~ msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes\n"
-#~ msgstr "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes\n"
-
-#~ msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes\n"
-#~ msgstr "%-7s %-7.7s %-7d %-31.31s %.0f bytes\n"
-
-#~ msgid "%s accepting requests since %s\n"
-#~ msgstr "%s accepteert verzoeken sinds %s\n"
-
-#~ msgid "%s is not implemented by the CUPS version of lpc.\n"
-#~ msgstr "%s is niet geïmplementeerd in de CUPS-versie van lpc.\n"
-
-#~ msgid "%s is not ready\n"
-#~ msgstr "%s is niet gereed\n"
-
-#~ msgid "%s is ready\n"
-#~ msgstr "%s is gereed\n"
-
-#~ msgid "%s is ready and printing\n"
-#~ msgstr "%s is gereed en bezig met afdrukken\n"
-
-#~ msgid ""
-#~ "%s not accepting requests since %s -\n"
-#~ "\t%s\n"
-#~ msgstr ""
-#~ "%s accepteert geen verzoeken sinds %s -\n"
-#~ "\t%s\n"
-
-#~ msgid "%s not supported!"
-#~ msgstr "%s niet ondersteund!"
-
-#~ msgid "%s/%s accepting requests since %s\n"
-#~ msgstr "%s/%s accepteert verzoeken sinds %s\n"
-
-#~ msgid ""
-#~ "%s/%s not accepting requests since %s -\n"
-#~ "\t%s\n"
-#~ msgstr ""
-#~ "%s/%s accepteert geen verzoeken sinds %s -\n"
-#~ "\t%s\n"
-
-#~ msgid "%s: %-33.33s [job %d localhost]\n"
-#~ msgstr "%s: %-33.33s [taak %d localhost]\n"
-
-#~ msgid "%s: %s failed: %s\n"
-#~ msgstr "%s: %s niet gelukt: %s\n"
-
-#~ msgid "%s: Don't know what to do!\n"
-#~ msgstr "%s: Ik weet niet wat ik moet doen!\n"
-
-#~ msgid ""
-#~ "%s: Error - %s environment variable names non-existent destination \"%s"
-#~ "\"!\n"
-#~ msgstr ""
-#~ "%s: Fout - %s niet-bestaande bestemming voor variabelenamen van omgeving "
-#~ "\"%s\"!\n"
-
-#~ msgid "%s: Error - bad job ID!\n"
-#~ msgstr "%s: Fout - ongeldige taak-ID!\n"
-
-#~ msgid "%s: Error - cannot print files and alter jobs simultaneously!\n"
-#~ msgstr ""
-#~ "%s: Fout - niet mogelijk om gelijktijdig bestanden af te drukken en taken "
-#~ "te wijzigen!\n"
-
-#~ msgid ""
-#~ "%s: Error - cannot print from stdin if files or a job ID are provided!\n"
-#~ msgstr ""
-#~ "%s: Fout - niet mogelijk om af te drukken vanuit stdin als bestanden of "
-#~ "een taak-ID zijn aangeleverd!\n"
-
-#~ msgid "%s: Error - expected character set after '-S' option!\n"
-#~ msgstr "%s: Fout - verwachtte tekenset na optie &aops;-S&aops;!\n"
-
-#~ msgid "%s: Error - expected content type after '-T' option!\n"
-#~ msgstr "%s: Fout - verwachtte inhoudstype na optie &aops;-T&aops;!\n"
-
-#~ msgid "%s: Error - expected copies after '-n' option!\n"
-#~ msgstr "%s: Fout - verwachtte aantal afdrukken na optie &aops;-n&aops;!\n"
-
-#~ msgid "%s: Error - expected copy count after '-#' option!\n"
-#~ msgstr "%s: Fout - verwachtte aantal exemplaren na optie &aops;-#&aops;!\n"
-
-#~ msgid "%s: Error - expected destination after '-P' option!\n"
-#~ msgstr "%s: Fout - verwachtte bestemming na optie &aops;-P&aops;!\n"
-
-#~ msgid "%s: Error - expected destination after '-b' option!\n"
-#~ msgstr "%s: Fout - verwachtte bestemming na optie &aops;-b&aops;!\n"
-
-#~ msgid "%s: Error - expected destination after '-d' option!\n"
-#~ msgstr "%s: Fout - verwachtte bestemming na optie &aops;-d&aops;!\n"
-
-#~ msgid "%s: Error - expected form after '-f' option!\n"
-#~ msgstr "%s: Fout - verwachtte formulier na optie &aops;-f&aops;!\n"
-
-#~ msgid "%s: Error - expected hold name after '-H' option!\n"
-#~ msgstr "%s: Fout - verwachtte hold-naam na optie &aops;-H&aops;!\n"
-
-#~ msgid "%s: Error - expected hostname after '-H' option!\n"
-#~ msgstr "%s: Fout - verwachtte hostnaam na optie &aops;-H&aops;!\n"
-
-#~ msgid "%s: Error - expected hostname after '-h' option!\n"
-#~ msgstr "%s: Fout - verwachtte hostnaam na optie &aops;-h&aops;!\n"
-
-#~ msgid "%s: Error - expected mode list after '-y' option!\n"
-#~ msgstr "%s: Fout - verwachtte moduslijst na optie &aops;-y&aops;!\n"
-
-#~ msgid "%s: Error - expected name after '-%c' option!\n"
-#~ msgstr "%s: Fout - verwachtte naam na optie &aops;-%c&aops;!\n"
-
-#~ msgid "%s: Error - expected option string after '-o' option!\n"
-#~ msgstr "%s: Fout - verwachtte optietekenreeks na optie &aops;-o&aops;!\n"
-
-#~ msgid "%s: Error - expected page list after '-P' option!\n"
-#~ msgstr "%s: Fout - verwachtte paginalijst na optie &aops;-P&aops;!\n"
-
-#~ msgid "%s: Error - expected priority after '-%c' option!\n"
-#~ msgstr "%s: Fout - verwachtte prioriteit na optie &aops;-%c&aops;!\n"
-
-#~ msgid "%s: Error - expected reason text after '-r' option!\n"
-#~ msgstr "%s: Fout - verwachtte verklaring na optie &aops;-r&aops;!\n"
-
-#~ msgid "%s: Error - expected title after '-t' option!\n"
-#~ msgstr "%s: Fout - verwachtte titel na optie &aops;-t&aops;!\n"
-
-#~ msgid "%s: Error - expected username after '-U' option!\n"
-#~ msgstr "%s: Fout - verwachtte gebruikersnaam na optie &aops;-U&aops;!\n"
-
-#~ msgid "%s: Error - expected username after '-u' option!\n"
-#~ msgstr "%s: Fout - verwachtte gebruikersnaam na optie &aops;-u&aops;!\n"
-
-#~ msgid "%s: Error - expected value after '-%c' option!\n"
-#~ msgstr "%s: Fout - verwachtte waarde na optie &aops;-%c&aops;!\n"
-
-#~ msgid ""
-#~ "%s: Error - need \"completed\", \"not-completed\", or \"all\" after '-W' "
-#~ "option!\n"
-#~ msgstr ""
-#~ "%s: Fout - optie &aops;-W&aops; moet worden gevolgd door \"gereed\", "
-#~ "\"niet gereed\" of \"alle\"!\n"
-
-#~ msgid "%s: Error - no default destination available.\n"
-#~ msgstr "%s: Fout - geen standaardbestemming beschikbaar.\n"
-
-#~ msgid "%s: Error - priority must be between 1 and 100.\n"
-#~ msgstr "%s: Fout - prioriteit moet tussen 1 en 100 liggen.\n"
-
-#~ msgid "%s: Error - scheduler not responding!\n"
-#~ msgstr "%s: Fout - taakplanner reageert niet!\n"
-
-#~ msgid "%s: Error - too many files - \"%s\"\n"
-#~ msgstr "%s: Fout - te veel bestanden - \"%s\"\n"
-
-#~ msgid "%s: Error - unable to access \"%s\" - %s\n"
-#~ msgstr "%s: Fout - niet mogelijk om \"%s\" te benaderen - %s\n"
-
-#~ msgid "%s: Error - unable to queue from stdin - %s\n"
-#~ msgstr "%s: Fout - in wachtrij plaatsen vanaf stdin is niet mogelijk - %s\n"
-
-#~ msgid "%s: Error - unknown destination \"%s\"!\n"
-#~ msgstr "%s: Fout - onbekende bestemming \"%s\"!\n"
-
-#~ msgid "%s: Error - unknown destination \"%s/%s\"!\n"
-#~ msgstr "%s: Fout - onbekende bestemming \"%s/%s\"!\n"
-
-#~ msgid "%s: Error - unknown option '%c'!\n"
-#~ msgstr "%s: Fout - onbekende optie &aops;%c&aops;!\n"
-
-#~ msgid "%s: Error - unknown option '%s'!\n"
-#~ msgstr "%s: Fout - onbekende optie '%s'!\n"
-
-#~ msgid "%s: Expected job ID after '-i' option!\n"
-#~ msgstr "%s: Verwachtte taak-ID na optie &aops;-i&aops;!\n"
-
-#~ msgid "%s: Filter \"%s\" not available: %s\n"
-#~ msgstr "%s: Filter \"%s\" niet beschikbaar: %s\n"
-
-#~ msgid "%s: Invalid destination name in list \"%s\"!\n"
-#~ msgstr "%s: Ongeldige bestemmingsnaam in lijst \"%s\"!\n"
-
-#~ msgid "%s: Invalid filter string \"%s\"\n"
-#~ msgstr "%s: Ongeldige filtertekenreeks \"%s\"\n"
-
-#~ msgid "%s: Need job ID ('-i jobid') before '-H restart'!\n"
-#~ msgstr ""
-#~ "%s: Taak-ID (&aops;-i jobid&aops;) nodig voor &aops;-H restart&aops;!\n"
-
-#~ msgid "%s: No filter to convert from %s/%s to %s/%s!\n"
-#~ msgstr "%s: Geen filter beschikbaar voor conversie van %s/%s naar %s/%s!\n"
-
-#~ msgid "%s: Operation failed: %s\n"
-#~ msgstr "%s: Bewerking mislukt: %s\n"
-
-#~ msgid "%s: Sorry, no encryption support compiled in!\n"
-#~ msgstr "%s: Sorry, geen ondersteuning voor encryptie opgenomen!\n"
-
-#~ msgid "%s: Unable to connect to server\n"
-#~ msgstr "%s: Kan geen verbinding tot stand brengen met server\n"
-
-#~ msgid "%s: Unable to contact server!\n"
-#~ msgstr "%s: Kan geen contact maken met server!\n"
-
-#~ msgid "%s: Unable to determine MIME type of \"%s\"!\n"
-#~ msgstr "%s: Niet mogelijk om MIME-type van \"%s\" vast te stellen!\n"
-
-#~ msgid "%s: Unable to open %s - %s\n"
-#~ msgstr "%s: Niet mogelijk om %s - %s te openen\n"
-
-#~ msgid "%s: Unable to open %s - %s on line %d.\n"
-#~ msgstr "%s: Niet mogelijk om %s - %s in regel %d te openen.\n"
-
-#~ msgid "%s: Unable to open %s: %s\n"
-#~ msgstr "%s: Niet mogelijk om %s te openen: %s\n"
-
-#~ msgid "%s: Unable to open PPD file: %s on line %d\n"
-#~ msgstr "%s: Niet mogelijk om PPD-bestand %s in regel %d te openen\n"
-
-#~ msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"!\n"
-#~ msgstr "%s: Niet mogelijk om MIME-database van \"%s\" of \"%s\" te lezen!\n"
-
-#~ msgid "%s: Unknown destination \"%s\"!\n"
-#~ msgstr "%s: Onbekende bestemming \"%s\"!\n"
-
-#~ msgid "%s: Unknown destination MIME type %s/%s!\n"
-#~ msgstr "%s: Onbekend MIME-type voor bestemming %s/%s!\n"
-
-#~ msgid "%s: Unknown option '%c'!\n"
-#~ msgstr "%s: Onbekende optie &aops;%c&aops;!\n"
-
-#~ msgid "%s: Unknown source MIME type %s/%s!\n"
-#~ msgstr "%s: Onbekend MIME-type voor bron %s/%s!\n"
-
-#~ msgid ""
-#~ "%s: Warning - '%c' format modifier not supported - output may not be "
-#~ "correct!\n"
-#~ msgstr ""
-#~ "%s: Waarschuwing - &aops;%c&aops; format modifier niet ondersteund - "
-#~ "uitvoer is mogelijk niet correct!\n"
-
-#~ msgid "%s: Warning - character set option ignored!\n"
-#~ msgstr "%s: Waarschuwing - tekensetoptie genegeerd!\n"
-
-#~ msgid "%s: Warning - content type option ignored!\n"
-#~ msgstr "%s: Waarschuwing - inhoudstype-optie genegeerd!\n"
-
-#~ msgid "%s: Warning - form option ignored!\n"
-#~ msgstr "%s: Waarschuwing - formulieroptie genegeerd!\n"
-
-#~ msgid "%s: Warning - mode option ignored!\n"
-#~ msgstr "%s: Waarschuwing - modusoptie genegeerd!\n"
-
-#~ msgid ""
-#~ "%s: error - %s environment variable names non-existent destination \"%s"
-#~ "\"!\n"
-#~ msgstr ""
-#~ "%s: fout - %s niet-bestaande bestemming voor variabelenamen van omgeving "
-#~ "\"%s\"!\n"
-
-#~ msgid "%s: error - expected option=value after '-o' option!\n"
-#~ msgstr "%s: fout - verwachtte optie=waarde na optie &aops;-o&aops;!\n"
-
-#~ msgid "%s: error - no default destination available.\n"
-#~ msgstr "%s: fout - geen standaardbestemming beschikbaar.\n"
-
-#~ msgid "10 x 11\""
-#~ msgstr "10 x 11\""
-
-#~ msgid "10 x 13\""
-#~ msgstr "10 x 13\""
-
-#~ msgid "10 x 14\""
-#~ msgstr "10 x 14\""
-
-#~ msgid "12 x 11\""
-#~ msgstr "12 x 11\""
-
-#~ msgid "15 x 11\""
-#~ msgstr "15 x 11\""
-
-#~ msgid "600 DPI Grayscale"
-#~ msgstr "600-DPI grijstinten"
-
-#~ msgid "60x720dpi"
-#~ msgstr "60x720dpi"
-
-#~ msgid "7 x 9\""
-#~ msgstr "7 x 9\""
-
-#~ msgid "8 x 10\""
-#~ msgstr "8 x 10\""
-
-#~ msgid "9 x 11\""
-#~ msgstr "9 x 11\""
-
-#~ msgid "9 x 12\""
-#~ msgstr "9 x 12\""
-
-#~ msgid "?Invalid help command unknown\n"
-#~ msgstr "?Ongeldig en onbekend helpcommando\n"
-
-#~ msgid "A Samba password is required to export printer drivers!"
-#~ msgstr ""
-#~ "Voor het exporteren van printerstuurprogramma&aops;s is een Samba-"
-#~ "wachtwoord vereist!"
-
-#~ msgid "A Samba username is required to export printer drivers!"
-#~ msgstr ""
-#~ "Voor het exporteren van printerstuurprogramma&aops;s is een Samba-"
-#~ "gebruikersnaam vereist!"
-
-#~ msgid "A class named \"%s\" already exists!"
-#~ msgstr "Er is al een klasse met de naam \"%s\"!"
-
-#~ msgid "A printer named \"%s\" already exists!"
-#~ msgstr "Er is al een printer met de naam \"%s\"!"
-
-#~ msgid "A3 (Oversize)"
-#~ msgstr "A3 (oversize)"
-
-#~ msgid "A4 (Oversize)"
-#~ msgstr "A4 (oversize)"
-
-#~ msgid "A4 (Small)"
-#~ msgstr "A4 (klein)"
-
-#~ msgid "A5 (Oversize)"
-#~ msgstr "A5 (oversize)"
-
-#~ msgid "ARCH A"
-#~ msgstr "ARCH A"
-
-#~ msgid "ARCH B"
-#~ msgstr "ARCH B"
-
-#~ msgid "Attempt to set %s printer-state to bad value %d!"
-#~ msgstr "Poging om %s printer-state in te stellen op ongeldige waarde %d!"
-
-#~ msgid "Attribute groups are out of order (%x < %x)!"
-#~ msgstr "Attribuutgroepen hebben verkeerde volgorde (%x < %x)!"
-
-#~ msgid "Bad device URI \"%s\"!\n"
-#~ msgstr "Ongeldige apparaat-URI \"%s\"!\n"
-
-#~ msgid "Bad device-uri \"%s\"!"
-#~ msgstr "Ongeldige device-uri \"%s\"!"
-
-#~ msgid "Bad device-uri scheme \"%s\"!"
-#~ msgstr "Ongeldig device-uri-schema \"%s\"!"
-
-#~ msgid "Bad document-format \"%s\"!"
-#~ msgstr "Ongeldige documentindeling \"%s\"!"
-
-#~ msgid "Bad filename buffer!"
-#~ msgstr "Ongeldige bestandsnaambuffer!"
-
-#~ msgid "Bad font attribute: %s\n"
-#~ msgstr "Ongeldig lettertypeattribuut: %s\n"
-
-#~ msgid "Bad job-priority value!"
-#~ msgstr "Ongeldige waarde voor job-priority!"
-
-#~ msgid "Bad job-sheets value \"%s\"!"
-#~ msgstr "Ongeldige waarde voor job-sheets \"%s\"!"
-
-#~ msgid "Bad job-sheets value type!"
-#~ msgstr "Ongeldig waardetype voor job-sheets!"
-
-#~ msgid "Bad job-state value!"
-#~ msgstr "Ongeldige waarde voor job-state!"
-
-#~ msgid "Bad job-uri attribute \"%s\"!"
-#~ msgstr "Ongeldig job-uri-attribuut \"%s\"!"
-
-#~ msgid "Bad notify-pull-method \"%s\"!"
-#~ msgstr "Ongeldige notify-pull-method \"%s\"!"
-
-#~ msgid "Bad notify-recipient-uri URI \"%s\"!"
-#~ msgstr "Ongeldige URI voor notify-recipient-uri \"%s\"!"
-
-#~ msgid "Bad option + choice on line %d!"
-#~ msgstr "Ongeldige optie + keuze op regel %d!"
-
-#~ msgid "Bad port-monitor \"%s\"!"
-#~ msgstr "Ongeldige port-monitor \"%s\"!"
-
-#~ msgid "Bad printer-state value %d!"
-#~ msgstr "Ongeldige waarde voor printer-state %d!"
-
-#~ msgid "Bad request version number %d.%d!"
-#~ msgstr "Ongeldig versienummer voor verzoek %d.%d!"
-
-#~ msgid "Bad subscription ID!"
-#~ msgstr "Ongeldig abonnement-ID!"
-
-#~ msgid "C0 Envelope"
-#~ msgstr "C0-envelop"
-
-#~ msgid "C1 Envelope"
-#~ msgstr "C1-envelop"
-
-#~ msgid "C2 Envelope"
-#~ msgstr "C2-envelop"
-
-#~ msgid "C3 Envelope"
-#~ msgstr "C3-envelop"
-
-#~ msgid "C4"
-#~ msgstr "C4"
-
-#~ msgid "C4 Envelope"
-#~ msgstr "C4-envelop"
-
-#~ msgid "C5"
-#~ msgstr "C5"
-
-#~ msgid "C5 Envelope"
-#~ msgstr "C5-envelop"
-
-#~ msgid "C6"
-#~ msgstr "C6"
-
-#~ msgid "C6 Envelope"
-#~ msgstr "C6-envelop"
-
-#~ msgid "C65 Envelope"
-#~ msgstr "C65-envelop"
-
-#~ msgid "C7 Envelope"
-#~ msgstr "C7-envelop"
-
-#~ msgid "Character set \"%s\" not supported!"
-#~ msgstr "Tekenset \"%s\" niet ondersteund!"
-
-#~ msgid "Chou3 Envelope"
-#~ msgstr "Chou3-envelop"
-
-#~ msgid "Chou4 Envelope"
-#~ msgstr "Chou4-envelop"
-
-#~ msgid ""
-#~ "Commands may be abbreviated.  Commands are:\n"
-#~ "\n"
-#~ "exit    help    quit    status  ?\n"
-#~ msgstr ""
-#~ "Commando&aops;s kunnen worden afgekort.  Commando&aops;s zijn:\n"
-#~ "\n"
-#~ "exit    help    quit    status  ?\n"
-
-#~ msgid "Could not scan type \"%s\"!"
-#~ msgstr "Kon type \"%s\" niet scannen!"
-
-#~ msgid "Cover open."
-#~ msgstr "Printklep open."
-
-#~ msgid "DL"
-#~ msgstr "DL"
-
-#~ msgid "DL Envelope"
-#~ msgstr "DL-envelop"
-
-#~ msgid "Developer almost empty."
-#~ msgstr "Ontwikkelaar bijna op."
-
-#~ msgid "Developer empty!"
-#~ msgstr "Ontwikkelaar op!"
-
-#~ msgid ""
-#~ "Device: uri = %s\n"
-#~ "        class = %s\n"
-#~ "        info = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ "        location = %s\n"
-#~ msgstr ""
-#~ "Apparaat: uri = %s\n"
-#~ "        class = %s\n"
-#~ "        info = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ "        location = %s\n"
-
-#~ msgid "Document %d not found in job %d."
-#~ msgstr "Document %d is niet gevonden in taak %d."
-
-#~ msgid "Door open."
-#~ msgstr "Deur open."
-
-#~ msgid "Double Postcard"
-#~ msgstr "Dubbele briefkaart"
-
-#~ msgid "EMERG: Unable to allocate memory for page info: %s\n"
-#~ msgstr "EMERG: Niet mogelijk geheugen toe te kennen voor pagina-info: %s\n"
-
-#~ msgid "EMERG: Unable to allocate memory for pages array: %s\n"
-#~ msgstr "EMERG: Niet mogelijk geheugen toe te kennen voor paginareeks: %s\n"
-
-#~ msgid "ERROR: Bad %%BoundingBox: comment seen!\n"
-#~ msgstr "ERROR: Ongeldige %%BoundingBox: opmerking ontdekt!\n"
-
-#~ msgid "ERROR: Bad %%IncludeFeature: comment!\n"
-#~ msgstr "ERROR: Ongeldige %%IncludeFeature: opmerking!\n"
-
-#~ msgid "ERROR: Bad %%Page: comment in file!\n"
-#~ msgstr "ERROR: Ongeldige %%Page: opmerking in bestand!\n"
-
-#~ msgid "ERROR: Bad %%PageBoundingBox: comment in file!\n"
-#~ msgstr "ERROR: Ongeldige %%PageBoundingBox: opmerking in bestand!\n"
-
-#~ msgid "ERROR: Bad SCSI device file \"%s\"!\n"
-#~ msgstr "ERROR: Ongeldig SCSI-apparaatbestand \"%s\"!\n"
-
-#~ msgid "ERROR: Bad charset file %s\n"
-#~ msgstr "ERROR: Ongeldig tekensetbestand %s\n"
-
-#~ msgid "ERROR: Bad charset type %s\n"
-#~ msgstr "ERROR: Ongeldig tekensettype %s\n"
-
-#~ msgid "ERROR: Bad columns value %d!\n"
-#~ msgstr "ERROR: Ongeldige kolomwaarde %d!\n"
-
-#~ msgid "ERROR: Bad cpi value %f!\n"
-#~ msgstr "ERROR: Ongeldige cpi-waarde %f!\n"
-
-#~ msgid "ERROR: Bad font description line: %s\n"
-#~ msgstr "ERROR: Ongeldige regel voor lettertypeomschrijving: %s\n"
-
-#~ msgid "ERROR: Bad lpi value %f!\n"
-#~ msgstr "ERROR: Ongeldige lpi-waarde %f!\n"
-
-#~ msgid "ERROR: Bad page setup!\n"
-#~ msgstr "ERROR: Ongeldige pagina-instelling!\n"
-
-#~ msgid "ERROR: Bad text direction %s\n"
-#~ msgstr "ERROR: Ongeldige tekstrichting %s\n"
-
-#~ msgid "ERROR: Bad text width %s\n"
-#~ msgstr "ERROR: Ongeldige tekstbreedte %s\n"
-
-#~ msgid "ERROR: Destination printer does not exist!\n"
-#~ msgstr "ERROR: Printer die is gekozen als bestemming bestaat niet!\n"
-
-#~ msgid "ERROR: Duplicate %%BoundingBox: comment seen!\n"
-#~ msgstr "ERROR: Dubbele %%BoundingBox: opmerking ontdekt!\n"
-
-#~ msgid "ERROR: Duplicate %%Pages: comment seen!\n"
-#~ msgstr "ERROR: Dubbele %%Pages: opmerking ontdekt!\n"
-
-#~ msgid "ERROR: Empty print file!\n"
-#~ msgstr "ERROR: Leeg afdrukbestand!\n"
-
-#~ msgid "ERROR: Error %d sending PAPSendData request: %s\n"
-#~ msgstr "ERROR: Fout %d bij versturen PAPSendData-verzoek: %s\n"
-
-#~ msgid "ERROR: Expected quoted string on line %d of %s!\n"
-#~ msgstr ""
-#~ "ERROR: Verwachtte tekenreeks met aanhalingstekens in regel %d van %s!\n"
-
-#~ msgid "ERROR: Fatal USB error!\n"
-#~ msgstr "ERROR: Fatale USB-fout!\n"
-
-#~ msgid "ERROR: Invalid HP-GL/2 command seen, unable to print file!\n"
-#~ msgstr ""
-#~ "ERROR: Ongeldig HP-GL/2-commando ontdekt, kan afdrukbestand niet openen!\n"
-
-#~ msgid "ERROR: Missing %%EndProlog!\n"
-#~ msgstr "ERROR: Ontbrekende %%EndProlog!\n"
-
-#~ msgid "ERROR: Missing %%EndSetup!\n"
-#~ msgstr "ERROR: Ontbrekende %%EndSetup!\n"
-
-#~ msgid ""
-#~ "ERROR: Missing device URI on command-line and no DEVICE_URI environment "
-#~ "variable!\n"
-#~ msgstr ""
-#~ "ERROR: Ontbrekende apparaat-URI op commandoregel en geen DEVICE_URI-"
-#~ "omgevingsvariabele!\n"
-
-#~ msgid "ERROR: Missing value on line %d of banner file!\n"
-#~ msgstr "ERROR: Ontbrekende waarde in regel %d van bannerbestand!\n"
-
-#~ msgid ""
-#~ "ERROR: Need a msgid line before any translation strings on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ERROR: msgid-regel vereist voorafgaand aan vertaalreeksen in regel %d van "
-#~ "%s!\n"
-
-#~ msgid "ERROR: No %%BoundingBox: comment in header!\n"
-#~ msgstr "ERROR: Geen %%BoundingBox: opmerking in kopregel!\n"
-
-#~ msgid "ERROR: No %%Pages: comment in header!\n"
-#~ msgstr "ERROR: Geen %%Pages: opmerking in kopregel!\n"
-
-#~ msgid ""
-#~ "ERROR: No device URI found in argv[0] or in DEVICE_URI environment "
-#~ "variable!\n"
-#~ msgstr ""
-#~ "ERROR: Geen apparaat-URI gevonden in argv[0] of in DEVICE_URI-"
-#~ "omgevingsvariabele!\n"
-
-#~ msgid "ERROR: No fonts in charset file %s\n"
-#~ msgstr "ERROR: Geen lettertypen in tekensetbestand %s\n"
-
-#~ msgid "ERROR: No pages found!\n"
-#~ msgstr "ERROR: Geen pagina&aops;s gevonden!\n"
-
-#~ msgid "ERROR: Out of paper!\n"
-#~ msgstr "ERROR: Papier is op!\n"
-
-#~ msgid "ERROR: PRINTER environment variable not defined!\n"
-#~ msgstr "ERROR: PRINTER-omgevingsvariabele niet gedefinieerd!\n"
-
-#~ msgid "ERROR: Print file was not accepted (%s)!\n"
-#~ msgstr "ERROR: Afdrukbestand niet geaccepteerd (%s)!\n"
-
-#~ msgid "ERROR: Printer not responding\n"
-#~ msgstr "ERROR: Printer reageert niet\n"
-
-#~ msgid "ERROR: Printer not responding!\n"
-#~ msgstr "ERROR: Printer reageert niet!\n"
-
-#~ msgid "ERROR: Printer sent unexpected EOF\n"
-#~ msgstr "ERROR: Printer heeft onverwacht einde-bestandteken verstuurd\n"
-
-#~ msgid "ERROR: Remote host did not accept control file (%d)\n"
-#~ msgstr "ERROR: Niet-lokale host heeft stuurbestand niet geaccepteerd (%d)\n"
-
-#~ msgid "ERROR: Remote host did not accept data file (%d)\n"
-#~ msgstr ""
-#~ "ERROR: Niet-lokale host heeft gegevensbestand niet geaccepteerd (%d)\n"
-
-#~ msgid "ERROR: There was a timeout error while sending data to the printer\n"
-#~ msgstr ""
-#~ "ERROR: Time-out-fout tijdens het versturen van gegevens naar de printer\n"
-
-#~ msgid "ERROR: Unable to add file %d to job: %s\n"
-#~ msgstr "ERROR: Niet mogelijk om bestand %d toe te voegen aan taak: %s\n"
-
-#~ msgid "ERROR: Unable to cancel job %d: %s\n"
-#~ msgstr "ERROR: Niet mogelijk om afdruktaak %d te annuleren: %s\n"
-
-#~ msgid "ERROR: Unable to copy PDF file"
-#~ msgstr "ERROR: Niet mogelijk om PDF-bestand te kopiëren"
-
-#~ msgid "ERROR: Unable to create socket"
-#~ msgstr "ERROR: Niet mogelijk om socket aan te maken"
-
-#~ msgid "ERROR: Unable to create temporary compressed print file: %s\n"
-#~ msgstr ""
-#~ "ERROR: Niet mogelijk om tijdelijk gecomprimeerd afdrukbestand te maken: %"
-#~ "s\n"
-
-#~ msgid "ERROR: Unable to create temporary file"
-#~ msgstr "ERROR: Niet mogelijk om tijdelijk bestand aan te maken"
-
-#~ msgid "ERROR: Unable to create temporary file - %s.\n"
-#~ msgstr "ERROR: Niet mogelijk om tijdelijk bestand - %s te maken.\n"
-
-#~ msgid "ERROR: Unable to create temporary file: %s\n"
-#~ msgstr "ERROR: Niet mogelijk om tijdelijk bestand te maken: %s\n"
-
-#~ msgid "ERROR: Unable to exec pictwpstops: %s\n"
-#~ msgstr "ERROR: Niet mogelijk om pictwpstops uit te voeren: %s\n"
-
-#~ msgid "ERROR: Unable to execute gs program"
-#~ msgstr "ERROR: Niet mogelijk om gs-programma uit te voeren"
-
-#~ msgid "ERROR: Unable to execute pdftops program"
-#~ msgstr "ERROR: Niet mogelijk om pdftops-programma uit te voeren"
-
-#~ msgid "ERROR: Unable to fork pictwpstops: %s\n"
-#~ msgstr "ERROR: Niet mogelijk om pictwpstops te splitsen: %s\n"
-
-#~ msgid "ERROR: Unable to get PAP request"
-#~ msgstr "ERROR: Niet mogelijk om PAP-verzoek op te vragen"
-
-#~ msgid "ERROR: Unable to get PAP response"
-#~ msgstr "ERROR: Niet mogelijk om PAP-reactie op te vragen"
-
-#~ msgid "ERROR: Unable to get PPD file for printer \"%s\" - %s.\n"
-#~ msgstr ""
-#~ "ERROR: Niet mogelijk om PPD-bestand voor printer \"%s\" op te vragen - %"
-#~ "s.\n"
-
-#~ msgid "ERROR: Unable to get default AppleTalk zone"
-#~ msgstr "ERROR: Niet mogelijk om standaard-AppleTalk-zone op te vragen"
-
-#~ msgid "ERROR: Unable to get job %d attributes (%s)!\n"
-#~ msgstr "ERROR: Niet mogelijk om taakattributen %d op te vragen (%s)!\n"
-
-#~ msgid "ERROR: Unable to get printer status (%s)!\n"
-#~ msgstr "ERROR: Niet mogelijk om printerstatus op te vragen (%s)!\n"
-
-#~ msgid "ERROR: Unable to locate printer '%s'!\n"
-#~ msgstr "ERROR: Niet mogelijk om printer &aops;%s&aops; te vinden!\n"
-
-#~ msgid "ERROR: Unable to look for PAP response"
-#~ msgstr "ERROR: Niet mogelijk om naar PAP-reactie te zoeken"
-
-#~ msgid "ERROR: Unable to lookup AppleTalk printers"
-#~ msgstr "ERROR: Niet mogelijk om naar AppleTalk-printers te zoeken"
-
-#~ msgid "ERROR: Unable to make AppleTalk address"
-#~ msgstr "ERROR: Niet mogelijk om AppleTalk-adres aan te maken"
-
-#~ msgid "ERROR: Unable to open \"%s\" - %s\n"
-#~ msgstr "ERROR: Niet mogelijk om \"%s\" te openen - %s\n"
-
-#~ msgid "ERROR: Unable to open %s: %s\n"
-#~ msgstr "ERROR: Niet mogelijk om %s te openen: %s\n"
-
-#~ msgid "ERROR: Unable to open banner file \"%s\" - %s\n"
-#~ msgstr "ERROR: Niet mogelijk om bannerbestand \"%s\" te openen - %s\n"
-
-#~ msgid "ERROR: Unable to open device file \"%s\": %s\n"
-#~ msgstr "ERROR: Niet mogelijk om apparaatbestand \"%s\" te openen: %s\n"
-
-#~ msgid "ERROR: Unable to open file \"%s\" - %s\n"
-#~ msgstr "ERROR: Niet mogelijk om bestand \"%s\" te openen - %s\n"
-
-#~ msgid "ERROR: Unable to open file \"%s\": %s\n"
-#~ msgstr "ERROR: Niet mogelijk om bestand \"%s\" te openen: %s\n"
-
-#~ msgid "ERROR: Unable to open image file for printing!\n"
-#~ msgstr "ERROR: Niet mogelijk om beeldbestand te openen voor afdrukken!\n"
-
-#~ msgid "ERROR: Unable to open print file \"%s\": %s\n"
-#~ msgstr "ERROR: Niet mogelijk om afdrukbestand \"%s\" te openen: %s\n"
-
-#~ msgid "ERROR: Unable to open print file %s - %s\n"
-#~ msgstr "ERROR: Niet mogelijk om afdrukbestand %s te openen - %s\n"
-
-#~ msgid "ERROR: Unable to open print file %s: %s\n"
-#~ msgstr "ERROR: Niet mogelijk om afdrukbestand %s te openen: %s\n"
-
-#~ msgid "ERROR: Unable to open temporary compressed print file: %s\n"
-#~ msgstr ""
-#~ "ERROR: Niet mogelijk om tijdelijk gecomprimeerd afdrukbestand te openen: %"
-#~ "s\n"
-
-#~ msgid "ERROR: Unable to open temporary file"
-#~ msgstr "ERROR: Niet mogelijk om tijdelijk bestand te openen"
-
-#~ msgid "ERROR: Unable to print %d text columns!\n"
-#~ msgstr "ERROR: Niet mogelijk om %d tekstkolommen af te drukken!\n"
-
-#~ msgid "ERROR: Unable to print %dx%d text page!\n"
-#~ msgstr "ERROR: Niet mogelijk om %dx%d tekstpagina af te drukken!\n"
-
-#~ msgid "ERROR: Unable to read print data"
-#~ msgstr "ERROR: Niet mogelijk om afdrukgegevens te lezen"
-
-#~ msgid "ERROR: Unable to read print data!\n"
-#~ msgstr "ERROR: Niet mogelijk om afdrukgegevens te lezen!\n"
-
-#~ msgid "ERROR: Unable to reserve port"
-#~ msgstr "ERROR: Niet mogelijk om poort te reserveren"
-
-#~ msgid "ERROR: Unable to seek to offset %ld in file - %s\n"
-#~ msgstr ""
-#~ "ERROR: Niet mogelijk om te proberen %ld in bestand te positioneren - %s\n"
-
-#~ msgid "ERROR: Unable to seek to offset %lld in file - %s\n"
-#~ msgstr ""
-#~ "ERROR: Niet mogelijk om te proberen %lld in bestand te positioneren - %s\n"
-
-#~ msgid "ERROR: Unable to send LPD command"
-#~ msgstr "ERROR: Niet mogelijk om LPD-commando te versturen"
-
-#~ msgid "ERROR: Unable to send PAP tickle request"
-#~ msgstr "ERROR: Niet mogelijk om PAP-tickleverzoek te versturen"
-
-#~ msgid "ERROR: Unable to send initial PAP send data request"
-#~ msgstr ""
-#~ "ERROR: Niet mogelijk om initieel PAP-verzoek voor versturen gegevens te "
-#~ "versturen"
-
-#~ msgid "ERROR: Unable to send print data (%d)\n"
-#~ msgstr "ERROR: Niet mogelijk om afdrukgegevens te verzenden (%d)\n"
-
-#~ msgid "ERROR: Unable to send print data!\n"
-#~ msgstr "ERROR: Niet mogelijk om afdrukgegevens te versturen!\n"
-
-#~ msgid "ERROR: Unable to send print file to printer"
-#~ msgstr "ERROR: Niet mogelijk om afdrukbestand naar printer te versturen"
-
-#~ msgid "ERROR: Unable to send trailing nul to printer"
-#~ msgstr ""
-#~ "ERROR: Niet mogelijk om afsluitende lege tekens naar printer te versturen"
-
-#~ msgid "ERROR: Unable to wait for pictwpstops: %s\n"
-#~ msgstr "ERROR: Niet mogelijk om te wachten op pictwpstops: %s\n"
-
-#~ msgid "ERROR: Unable to write %d bytes to \"%s\": %s\n"
-#~ msgstr "ERROR: Niet mogelijk om %d bytes te schrijven naar \"%s\": %s\n"
-
-#~ msgid "ERROR: Unable to write %d bytes to printer!\n"
-#~ msgstr "ERROR: Niet mogelijk om %d bytes naar printer te schrijven!\n"
-
-#~ msgid "ERROR: Unable to write control file"
-#~ msgstr "ERROR: Niet mogelijk om stuurbestand weg te schrijven"
-
-#~ msgid "ERROR: Unable to write print data"
-#~ msgstr "ERROR: Niet mogelijk om afdrukgegevens weg te schrijven"
-
-#~ msgid "ERROR: Unable to write print data: %s\n"
-#~ msgstr "ERROR: Niet mogelijk om afdrukgegevens weg te schrijven: %s\n"
-
-#~ msgid "ERROR: Unable to write raster data to driver!\n"
-#~ msgstr ""
-#~ "ERROR: Niet mogelijk om rastergegevens weg te schrijven naar "
-#~ "stuurprogramma!\n"
-
-#~ msgid "ERROR: Unable to write to temporary file"
-#~ msgstr "ERROR: Niet mogelijk om naar tijdelijk bestand te schrijven"
-
-#~ msgid "ERROR: Unable to write uncompressed document data: %s\n"
-#~ msgstr ""
-#~ "ERROR: Niet mogelijk om ongecomprimeerde documentgegevens weg te "
-#~ "schrijven: %s\n"
-
-#~ msgid "ERROR: Unexpected text on line %d of %s!\n"
-#~ msgstr "ERROR: Onverwachte tekst in regel %d van %s!\n"
-
-#~ msgid "ERROR: Unknown encryption option value \"%s\"!\n"
-#~ msgstr "ERROR: Onbekende waarde voor encryptie-optie \"%s\"!\n"
-
-#~ msgid "ERROR: Unknown file order \"%s\"\n"
-#~ msgstr "ERROR: Onbekende bestandsvolgorde \"%s\"\n"
-
-#~ msgid "ERROR: Unknown format character \"%c\"\n"
-#~ msgstr "ERROR: Onbekend opmaakteken \"%c\"\n"
-
-#~ msgid "ERROR: Unknown message catalog format for \"%s\"!\n"
-#~ msgstr "ERROR: Onbekende berichtencatalogusstructuur voor \"%s\"!\n"
-
-#~ msgid "ERROR: Unknown option \"%s\" with value \"%s\"!\n"
-#~ msgstr "ERROR: Onbekende optie \"%s\" met waarde \"%s\"!\n"
-
-#~ msgid "ERROR: Unknown print mode \"%s\"\n"
-#~ msgstr "ERROR: Onbekende afdrukmodus \"%s\"\n"
-
-#~ msgid "ERROR: Unknown version option value \"%s\"!\n"
-#~ msgstr "ERROR: Onbekende waarde voor versie-optie \"%s\"!\n"
-
-#~ msgid "ERROR: Unsupported brightness value %s, using brightness=100!\n"
-#~ msgstr ""
-#~ "ERROR: Niet-ondersteunde waarde voor helderheid %s, gebruikt "
-#~ "helderheid=100!\n"
-
-#~ msgid "ERROR: Unsupported gamma value %s, using gamma=1000!\n"
-#~ msgstr ""
-#~ "ERROR: Niet-ondersteunde waarde voor gamma %s, gebruikt gamma=1000!\n"
-
-#~ msgid "ERROR: Unsupported number-up value %d, using number-up=1!\n"
-#~ msgstr ""
-#~ "ERROR: Niet-ondersteunde waarde voor number-up %d, gebruikt number-up=1!\n"
-
-#~ msgid ""
-#~ "ERROR: Unsupported number-up-layout value %s, using number-up-"
-#~ "layout=lrtb!\n"
-#~ msgstr ""
-#~ "ERROR: Niet-ondersteunde waarde voor number-up-layout %s, gebruikt number-"
-#~ "up-layout=lrtb!\n"
-
-#~ msgid "ERROR: Unsupported page-border value %s, using page-border=none!\n"
-#~ msgstr ""
-#~ "ERROR: Niet-ondersteunde waarde voor page-border %s, gebruikt page-"
-#~ "border=none!\n"
-
-#~ msgid "ERROR: doc_printf overflow (%d bytes) detected, aborting!\n"
-#~ msgstr ""
-#~ "ERROR: doc_printf-overflow (%d bytes) ontdekt, afdrukken wordt "
-#~ "geannuleerd!\n"
-
-#~ msgid "ERROR: pdftops filter crashed on signal %d!\n"
-#~ msgstr "ERROR: pdftops-filter vastgelopen op signaal %d!\n"
-
-#~ msgid "ERROR: pdftops filter exited with status %d!\n"
-#~ msgstr "ERROR: pdftops-filter gestopt met status %d!\n"
-
-#~ msgid "ERROR: pictwpstops exited on signal %d!\n"
-#~ msgstr "ERROR: pictwpstops gestopt na signaal %d!\n"
-
-#~ msgid "ERROR: pictwpstops exited with status %d!\n"
-#~ msgstr "ERROR: pictwpstops gestopt met status %d!\n"
-
-#~ msgid ""
-#~ "ERROR: recoverable: Unable to connect to printer; will retry in 30 "
-#~ "seconds...\n"
-#~ msgstr ""
-#~ "ERROR: kan worden hersteld: niet mogelijk om verbinding te maken met "
-#~ "printer; nieuwe poging over 30 seconden...\n"
-
-#~ msgid "ERROR: select() failed"
-#~ msgstr "ERROR: select() mislukt"
-
-#~ msgid "ERROR: unable to stat print file"
-#~ msgstr "ERROR: stat van afdrukbestand niet mogelijk"
-
-#~ msgid "Empty PPD file!"
-#~ msgstr "Leeg PPD-bestand!"
-
-#~ msgid "Error: need hostname after '-h' option!\n"
-#~ msgstr "Fout: hostnaam nodig na optie &aops;-h&aops;!\n"
-
-#~ msgid "FAIL\n"
-#~ msgstr "FAIL\n"
-
-#~ msgid ""
-#~ "File device URIs have been disabled! To enable, see the FileDevice "
-#~ "directive in \"%s/cupsd.conf\"."
-#~ msgstr ""
-#~ "File device-URI&aops;s zijn uitgeschakeld! Raadpleeg als u de URI&aops;s "
-#~ "weer wilt inschakelen de richtlijn voor FileDevice in \"%s/cupsd.conf\"."
-
-#~ msgid "Fuser temperature high!"
-#~ msgstr "Fusertemperatuur te hoog!"
-
-#~ msgid "Fuser temperature low!"
-#~ msgstr "Fusertemperatuur te laag!"
-
-#~ msgid "German FanFold"
-#~ msgstr "German FanFold"
-
-#~ msgid "German FanFold Legal"
-#~ msgstr "German FanFold Legal"
-
-#~ msgid "Got a printer-uri attribute but no job-id!"
-#~ msgstr "Printer-uri-attribuut gevonden, maar geen job-id!"
-
-#~ msgid "INFO: AppleTalk disabled in System Preferences\n"
-#~ msgstr "INFO: AppleTalk uitgeschakeld in Systeemvoorkeuren\n"
-
-#~ msgid "INFO: AppleTalk disabled in System Preferences.\n"
-#~ msgstr "INFO: AppleTalk uitgeschakeld in Systeemvoorkeuren.\n"
-
-#~ msgid "INFO: Canceling print job...\n"
-#~ msgstr "INFO: Afdrukopdracht wordt geannuleerd...\n"
-
-#~ msgid "INFO: Connected to printer...\n"
-#~ msgstr "INFO: Verbonden met printer...\n"
-
-#~ msgid "INFO: Connecting to printer...\n"
-#~ msgstr "INFO: Verbinden met printer...\n"
-
-#~ msgid "INFO: Control file sent successfully\n"
-#~ msgstr "INFO: Stuurbestand succesvol verzonden\n"
-
-#~ msgid "INFO: Data file sent successfully\n"
-#~ msgstr "INFO: Gegevensbestand succesvol verzonden\n"
-
-#~ msgid "INFO: Formatting page %d...\n"
-#~ msgstr "INFO: Bezig met indelen van pagina %d...\n"
-
-#~ msgid "INFO: Loading image file...\n"
-#~ msgstr "INFO: Bezig met laden van beeldbestand...\n"
-
-#~ msgid "INFO: Looking for printer...\n"
-#~ msgstr "INFO: Zoeken naar printer...\n"
-
-#~ msgid "INFO: Opening connection\n"
-#~ msgstr "INFO: Verbinding wordt geopend\n"
-
-#~ msgid "INFO: Print file sent, waiting for printer to finish...\n"
-#~ msgstr "INFO: Afdrukbestand verzonden, wacht tot printer gereed is...\n"
-
-#~ msgid "INFO: Printer busy; will retry in 10 seconds...\n"
-#~ msgstr "INFO: Printer is bezig; nieuwe poging over 10 seconden...\n"
-
-#~ msgid "INFO: Printer busy; will retry in 30 seconds...\n"
-#~ msgstr "INFO: Printer is bezig; nieuwe poging over 30 seconden...\n"
-
-#~ msgid "INFO: Printer busy; will retry in 5 seconds...\n"
-#~ msgstr "INFO: Printer is bezig; nieuwe poging over 5 seconden...\n"
-
-#~ msgid "INFO: Printer does not support IPP/%d.%d, trying IPP/1.0...\n"
-#~ msgstr ""
-#~ "INFO: Printer biedt geen ondersteuning voor IPP/%d.%d, probeert nu "
-#~ "IPP/1.0...\n"
-
-#~ msgid "INFO: Printer is busy; will retry in 5 seconds...\n"
-#~ msgstr "INFO: Printer is bezig; nieuwe poging over 5 seconden...\n"
-
-#~ msgid "INFO: Printer is currently off-line.\n"
-#~ msgstr "INFO: Printer is momenteel offline.\n"
-
-#~ msgid "INFO: Printer is currently offline.\n"
-#~ msgstr "INFO: Printer is momenteel offline.\n"
-
-#~ msgid "INFO: Printer is now online.\n"
-#~ msgstr "INFO: Printer is nu online.\n"
-
-#~ msgid "INFO: Printer is offline.\n"
-#~ msgstr "INFO: Printer is offline.\n"
-
-#~ msgid "INFO: Printer not connected; will retry in 30 seconds...\n"
-#~ msgstr ""
-#~ "INFO: Geen verbinding met printer; nieuwe poging over 30 seconden...\n"
-
-#~ msgid "INFO: Printing page %d, %d%% complete...\n"
-#~ msgstr "INFO: Bezig met afdrukken van pagina %d, %d%% gereed...\n"
-
-#~ msgid "INFO: Printing page %d...\n"
-#~ msgstr "INFO: Bezig met afdrukken van pagina %d...\n"
-
-#~ msgid "INFO: Ready to print.\n"
-#~ msgstr "INFO: Klaar om af te drukken.\n"
-
-#~ msgid "INFO: Sending control file (%lu bytes)\n"
-#~ msgstr "INFO: Bezig met verzending van stuurbestand (%lu bytes)\n"
-
-#~ msgid "INFO: Sending control file (%u bytes)\n"
-#~ msgstr "INFO: Bezig met verzending van stuurbestand (%u bytes)\n"
-
-#~ msgid "INFO: Sending data\n"
-#~ msgstr "INFO: Bezig met verzenden van gegevens\n"
-
-#~ msgid "INFO: Sending data file (%ld bytes)\n"
-#~ msgstr "INFO: Bezig met verzenden van gegevensbestand (%ld bytes)\n"
-
-#~ msgid "INFO: Sending data file (%lld bytes)\n"
-#~ msgstr "INFO: Bezig met verzenden van gegevensbestand (%lld bytes)\n"
-
-#~ msgid "INFO: Sending print data...\n"
-#~ msgstr "INFO: Afdrukgegevens worden verstuurd...\n"
-
-#~ msgid "INFO: Sent print file, %ld bytes...\n"
-#~ msgstr "INFO: Afdrukbestand is verzonden, %ld bytes...\n"
-
-#~ msgid "INFO: Sent print file, %lld bytes...\n"
-#~ msgstr "INFO: Afdrukbestand is verzonden, %lld bytes...\n"
-
-#~ msgid "INFO: Spooling LPR job, %.0f%% complete...\n"
-#~ msgstr "INFO: Bezig met spoolen van LPR-taak, %.0f%% gereed...\n"
-
-#~ msgid ""
-#~ "INFO: Unable to contact printer, queuing on next printer in class...\n"
-#~ msgstr ""
-#~ "INFO: Kan geen contact maken met printer, taak wordt overgebracht naar "
-#~ "volgende printer in klasse...\n"
-
-#~ msgid "INFO: Using default AppleTalk zone \"%s\"\n"
-#~ msgstr "INFO: Standaard-AppleTalk-zone \"%s\" wordt gebruikt\n"
-
-#~ msgid "INFO: Waiting for job to complete...\n"
-#~ msgstr "INFO: Wacht tot afdrukopdracht is afgerond...\n"
-
-#~ msgid "INFO: Waiting for printer to become available...\n"
-#~ msgstr "INFO: Wacht tot printer beschikbaar is...\n"
-
-#~ msgid "ISO B0"
-#~ msgstr "ISO B0"
-
-#~ msgid "ISO B1"
-#~ msgstr "ISO B1"
-
-#~ msgid "ISO B10"
-#~ msgstr "ISO B10"
-
-#~ msgid "ISO B2"
-#~ msgstr "ISO B2"
-
-#~ msgid "ISO B3"
-#~ msgstr "ISO B3"
-
-#~ msgid "ISO B4"
-#~ msgstr "ISO B4"
-
-#~ msgid "ISO B4 Envelope"
-#~ msgstr "ISO B4-envelop"
-
-#~ msgid "ISO B5"
-#~ msgstr "ISO B5"
-
-#~ msgid "ISO B5 (Oversize)"
-#~ msgstr "ISO B5 (oversize)"
-
-#~ msgid "ISO B5 Envelope"
-#~ msgstr "ISO B5-envelop"
-
-#~ msgid "ISO B6"
-#~ msgstr "ISO B6"
-
-#~ msgid "ISO B6 Envelope"
-#~ msgstr "ISO B6-envelop"
-
-#~ msgid "ISO B7"
-#~ msgstr "ISO B7"
-
-#~ msgid "ISO B8"
-#~ msgstr "ISO B8"
-
-#~ msgid "ISO B9"
-#~ msgstr "ISO B9"
-
-#~ msgid "Ink/toner almost empty."
-#~ msgstr "Inkt/toner bijna op."
-
-#~ msgid "Ink/toner empty!"
-#~ msgstr "Inkt/toner op!"
-
-#~ msgid "Ink/toner waste bin almost full."
-#~ msgstr "Opvangbak voor inkt/toner bijna vol."
-
-#~ msgid "Ink/toner waste bin full!"
-#~ msgstr "Opvangbak voor inkt/toner vol!"
-
-#~ msgid "Interlock open."
-#~ msgstr "Interlock open."
-
-#~ msgid "Invite Envelope"
-#~ msgstr "Invite-envelop"
-
-#~ msgid "Italian Envelope"
-#~ msgstr "Italian-envelop"
-
-#~ msgid "Job #%d cannot be restarted - no files!"
-#~ msgstr "Taak #%d kan niet worden herstart - geen bestanden!"
-
-#~ msgid "Job #%d does not exist!"
-#~ msgstr "Taak #%d bestaat niet!"
-
-#~ msgid "Job #%d is finished and cannot be altered!"
-#~ msgstr "Taak #%d is gereed en kan niet worden gewijzigd!"
-
-#~ msgid "Job #%d is not complete!"
-#~ msgstr "Taak #%d is nog niet gereed!"
-
-#~ msgid "Job #%d is not held for authentication!"
-#~ msgstr "Taak #%d wordt niet vastgehouden voor controle!"
-
-#~ msgid "Job #%d is not held!"
-#~ msgstr "Taak #%d wordt niet vastgehouden!"
-
-#~ msgid "Job #%s does not exist!"
-#~ msgstr "Taak #%s bestaat niet!"
-
-#~ msgid "Job %d not found!"
-#~ msgstr "Taak %d niet gevonden!"
-
-#~ msgid "Job subscriptions cannot be renewed!"
-#~ msgstr "Taakabonnementen kunnen niet worden verlengd!"
-
-#~ msgid "Kaku2 Envelope"
-#~ msgstr "Kaku2-envelop"
-
-#~ msgid "Kaku3 Envelope"
-#~ msgstr "Kaku3-envelop"
-
-#~ msgid "Language \"%s\" not supported!"
-#~ msgstr "Taal \"%s\" wordt niet ondersteund!"
-
-#~ msgid "Media jam!"
-#~ msgstr "Materiaal is vastgelopen!"
-
-#~ msgid "Media tray almost empty."
-#~ msgstr "Materiaallade is bijna leeg."
-
-#~ msgid "Media tray empty!"
-#~ msgstr "Materiaallade is leeg!"
-
-#~ msgid "Media tray missing!"
-#~ msgstr "Materiaallade ontbreekt!"
-
-#~ msgid "Media tray needs to be filled."
-#~ msgstr "Materiaallade moet worden bijgevuld."
-
-#~ msgid "Missing document-number attribute!"
-#~ msgstr "Document-number-attribuut ontbreekt!"
-
-#~ msgid "Missing double quote on line %d!"
-#~ msgstr "Ontbrekend dubbel aanhalingsteken op regel %d!"
-
-#~ msgid "Missing form variable!"
-#~ msgstr "Ontbrekende formuliervariabele!"
-
-#~ msgid "Missing notify-subscription-ids attribute!"
-#~ msgstr "Notify-subscription-ids-attribuut ontbreekt!"
-
-#~ msgid "Missing requesting-user-name attribute!"
-#~ msgstr "Requesting-user-name-attribuut ontbreekt!"
-
-#~ msgid "Missing required attributes!"
-#~ msgstr "Vereiste attributen ontbreken!"
-
-#~ msgid "Missing value on line %d!"
-#~ msgstr "Ontbrekende waarde op regel %d!"
-
-#~ msgid ""
-#~ "Model:  name = %s\n"
-#~ "        natural_language = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ msgstr ""
-#~ "Model:  name = %s\n"
-#~ "        natural_language = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-
-#~ msgid "Monarch"
-#~ msgstr "Monarch"
-
-#~ msgid "Monarch Envelope"
-#~ msgstr "Monarch-envelop"
-
-#~ msgid "NOTICE: Print file accepted - job ID %d.\n"
-#~ msgstr "NOTICE: Afdrukbestand geaccepteerd - taak-ID %d.\n"
-
-#~ msgid "NOTICE: Print file accepted - job ID unknown.\n"
-#~ msgstr "NOTICE: Afdrukbestand geaccepteerd - taak-ID onbekend.\n"
-
-#~ msgid "No PPD name!"
-#~ msgstr "Geen PPD-naam!"
-
-#~ msgid "No Windows printer drivers are installed!"
-#~ msgstr "Er zijn geen Windows-printerstuurprogramma&aops;s geïnstalleerd!"
-
-#~ msgid "No active jobs on %s!"
-#~ msgstr "Geen actieve taken op %s!"
-
-#~ msgid "No attributes in request!"
-#~ msgstr "Verzoek bevat geen attributen!"
-
-#~ msgid "No authentication information provided!"
-#~ msgstr "Geen informatie verstrekt voor toegangscontrole!"
-
-#~ msgid "No default printer"
-#~ msgstr "Geen standaardprinter"
-
-#~ msgid "No file!?!"
-#~ msgstr "Geen bestand!?!"
-
-#~ msgid "No modification time!"
-#~ msgstr "Geen bewerkingstijdstip!"
-
-#~ msgid "No printer name!"
-#~ msgstr "Geen printernaam!"
-
-#~ msgid "No printer-uri found for class!"
-#~ msgstr "Geen printer-uri gevonden voor klasse!"
-
-#~ msgid "No printer-uri found!"
-#~ msgstr "Geen printer-uri gevonden!"
-
-#~ msgid "No printer-uri in request!"
-#~ msgstr "Verzoek bevat geen printer-uri!"
-
-#~ msgid "No subscription attributes in request!"
-#~ msgstr "Verzoek bevat geen attributen voor abonnement!"
-
-#~ msgid "OPC almost at end-of-life."
-#~ msgstr "OPC bijna aan einde levensduur."
-
-#~ msgid "OPC at end-of-life!"
-#~ msgstr "OPC aan einde levensduur!"
-
-#~ msgid "Out of toner!"
-#~ msgstr "Toner is op!"
-
-#~ msgid "Output bin almost full."
-#~ msgstr "Uitvoerbak is bijna vol."
-
-#~ msgid "Output bin full!"
-#~ msgstr "Uitvoerbak is vol!"
-
-#~ msgid "Output for printer %s is sent to %s\n"
-#~ msgstr "Uitvoer voor printer %s wordt gestuurd naar %s\n"
-
-#~ msgid "Output for printer %s is sent to remote printer %s on %s\n"
-#~ msgstr ""
-#~ "Uitvoer voor printer %s wordt gestuurd naar niet-lokale printer %s op %s\n"
-
-#~ msgid "Output for printer %s/%s is sent to %s\n"
-#~ msgstr "Uitvoer voor printer %s/%s wordt gestuurd naar %s\n"
-
-#~ msgid "Output for printer %s/%s is sent to remote printer %s on %s\n"
-#~ msgstr ""
-#~ "Uitvoer voor printer %s/%s wordt gestuurd naar niet-lokale printer %s op %"
-#~ "s\n"
-
-#~ msgid "Output tray missing!"
-#~ msgstr "Uitvoerbak ontbreekt!"
-
-#~ msgid "PASS\n"
-#~ msgstr "PASS\n"
-
-#~ msgid "PRC1 Envelope"
-#~ msgstr "PRC1-envelop"
-
-#~ msgid "PRC10 Envelope"
-#~ msgstr "PRC10-envelop"
-
-#~ msgid "PRC2 Envelope"
-#~ msgstr "PRC2-envelop"
-
-#~ msgid "PRC3 Envelope"
-#~ msgstr "PRC3-envelop"
-
-#~ msgid "PRC32K (Oversize)"
-#~ msgstr "PRC32K (oversize)"
-
-#~ msgid "PRC4 Envelope"
-#~ msgstr "PRC4-envelop"
-
-#~ msgid "PRC5 Envelope"
-#~ msgstr "PRC5-envelop"
-
-#~ msgid "PRC6 Envelope"
-#~ msgstr "PRC6-envelop"
-
-#~ msgid "PRC7 Envelope"
-#~ msgstr "PRC7-envelop"
-
-#~ msgid "PRC8 Envelope"
-#~ msgstr "PRC8-envelop"
-
-#~ msgid "PRC9 Envelope"
-#~ msgstr "PRC9-envelop"
-
-#~ msgid "Personal Envelope"
-#~ msgstr "Personal-envelop"
-
-#~ msgid "Printer offline."
-#~ msgstr "Printer offline."
-
-#~ msgid "Rank    Owner   Job     File(s)                         Total Size\n"
-#~ msgstr ""
-#~ "Positie    Eigenaar  Taak     Bestand(en)                         Totale "
-#~ "grootte\n"
-
-#~ msgid ""
-#~ "Rank   Owner      Pri  Job        Files                       Total Size\n"
-#~ msgstr ""
-#~ "Positie   Eigenaar      Prioriteit  Taak        "
-#~ "Bestanden                       Totale grootte\n"
-
-#~ msgid "Running command: %s %s -N -A %s -c '%s'\n"
-#~ msgstr "Commando wordt uitgevoerd: %s %s -N -A %s -c &aops;%s&aops;\n"
-
-#~ msgid "SCSI Printer"
-#~ msgstr "SCSI-printer"
-
-#~ msgid "Tabloid (Oversize)"
-#~ msgstr "Tabloid (oversize)"
-
-#~ msgid "The notify-user-data value is too large (%d > 63 octets)!"
-#~ msgstr "De waarde voor notify-user-data is te groot (%d > 63 octetten)!"
-
-#~ msgid "The printer or class is not shared!"
-#~ msgstr ""
-#~ "De printer of klasse is niet toegankelijk voor gemeenschappelijk gebruik!"
-
-#~ msgid "The printer or class was not found."
-#~ msgstr "De printer of klasse kon niet worden gevonden."
-
-#~ msgid "The printer-uri attribute is required!"
-#~ msgstr "Het attribuut &aops;printer-uri&aops; is vereist!"
-
-#~ msgid "Toner low."
-#~ msgstr "Toner is bijna op."
-
-#~ msgid "Too many job-sheets values (%d > 2)!"
-#~ msgstr "Te veel waarden voor job-sheets (%d > 2)!"
-
-#~ msgid "Too many printer-state-reasons values (%d > %d)!"
-#~ msgstr "Te veel waarden voor printer-state-reasons (%d > %d)!"
-
-#~ msgid "US Executive"
-#~ msgstr "US Executive"
-
-#~ msgid "US Fanfold"
-#~ msgstr "US Fanfold"
-
-#~ msgid "US Legal (Oversize)"
-#~ msgstr "US Legal (oversize)"
-
-#~ msgid "US Letter (Oversize)"
-#~ msgstr "US Letter (oversize)"
-
-#~ msgid "US Letter (Small)"
-#~ msgstr "US Letter (klein)"
-
-#~ msgid "Unable to add job for destination \"%s\"!"
-#~ msgstr "Niet mogelijk om taak toe te voegen voor bestemming \"%s\"!"
-
-#~ msgid "Unable to allocate memory for file types!"
-#~ msgstr "Niet mogelijk om geheugen toe te wijzen voor bestandstypen!"
-
-#~ msgid "Unable to copy 64-bit CUPS printer driver files (%d)!"
-#~ msgstr ""
-#~ "Niet mogelijk om 64-bits CUPS-printerstuurprogramma&aops;s te kopiëren (%"
-#~ "d)!"
-
-#~ msgid "Unable to copy 64-bit Windows printer driver files (%d)!"
-#~ msgstr ""
-#~ "Niet mogelijk om 64-bits Windows-printerstuurprogramma&aops;s te kopiëren "
-#~ "(%d)!"
-
-#~ msgid "Unable to copy CUPS printer driver files (%d)!"
-#~ msgstr ""
-#~ "Niet mogelijk om CUPS-printerstuurprogramma&aops;s te kopiëren (%d)!"
-
-#~ msgid "Unable to copy PPD file - %s!"
-#~ msgstr "Niet mogelijk om PPD-bestand te kopiëren - %s!"
-
-#~ msgid "Unable to copy PPD file!"
-#~ msgstr "Niet mogelijk om PPD-bestand te kopiëren!"
-
-#~ msgid "Unable to copy Windows 2000 printer driver files (%d)!"
-#~ msgstr ""
-#~ "Niet mogelijk om Windows 2000-printerstuurprogramma&aops;s te kopiëren (%"
-#~ "d)!"
-
-#~ msgid "Unable to copy Windows 9x printer driver files (%d)!"
-#~ msgstr ""
-#~ "Niet mogelijk om Windows 9x-printerstuurprogramma&aops;s te kopiëren (%d)!"
-
-#~ msgid "Unable to copy interface script - %s!"
-#~ msgstr "Niet mogelijk om interfacescript te kopiëren - %s!"
-
-#~ msgid "Unable to create printer-uri!"
-#~ msgstr "Niet mogelijk om printer-uri aan te maken!"
-
-#~ msgid "Unable to edit cupsd.conf files larger than 1MB!"
-#~ msgstr ""
-#~ "Niet mogelijk om cupsd.conf-bestanden van meer dan 1 MB te bewerken!"
-
-#~ msgid "Unable to find destination for job!"
-#~ msgstr "Bestemming voor taak kon niet worden gevonden!"
-
-#~ msgid "Unable to find printer!\n"
-#~ msgstr "Printer is niet gevonden!\n"
-
-#~ msgid "Unable to install Windows 2000 printer driver files (%d)!"
-#~ msgstr ""
-#~ "Niet mogelijk om Windows 2000-printerstuurprogramma&aops;s te installeren "
-#~ "(%d)!"
-
-#~ msgid "Unable to install Windows 9x printer driver files (%d)!"
-#~ msgstr ""
-#~ "Niet mogelijk om Windows 9x-printerstuurprogramma&aops;s te installeren (%"
-#~ "d)!"
-
-#~ msgid "Unable to open document %d in job %d!"
-#~ msgstr "Niet mogelijk om document %d in taak %d te openen!"
-
-#~ msgid "Unable to run \"%s\": %s\n"
-#~ msgstr "Niet mogelijk om \"%s\" uit te voeren: %s\n"
-
-#~ msgid "Unable to send command to printer driver!"
-#~ msgstr "Niet mogelijk om commando naar printerstuurprogramma te versturen!"
-
-#~ msgid "Unable to set Windows printer driver (%d)!"
-#~ msgstr "Niet mogelijk om Windows-printerstuurprogramma in te stellen (%d)!"
-
-#~ msgid "Unable to use legacy USB class driver!\n"
-#~ msgstr "Niet mogelijk om verouderd USB-stuurprogramma te gebruiken!\n"
-
-#~ msgid "Unknown printer error (%s)!"
-#~ msgstr "Onbekende printerfout (%s)!"
-
-#~ msgid "Unsupported character set \"%s\"!"
-#~ msgstr "Niet-ondersteunde tekenset \"%s\"!"
-
-#~ msgid "Unsupported compression \"%s\"!"
-#~ msgstr "Niet-ondersteunde compressie \"%s\"!"
-
-#~ msgid "Unsupported compression attribute %s!"
-#~ msgstr "Niet-ondersteund compressie-attribuut %s!"
-
-#~ msgid "Unsupported format \"%s\"!"
-#~ msgstr "Niet-ondersteunde indeling \"%s\"!"
-
-#~ msgid "Unsupported format '%s'!"
-#~ msgstr "Niet-ondersteunde indeling '%s'!"
-
-#~ msgid "Unsupported format '%s/%s'!"
-#~ msgstr "Niet-ondersteunde indeling '%s/%s'!"
-
-#~ msgid ""
-#~ "Usage:\n"
-#~ "\n"
-#~ "    lpadmin [-h server] -d destination\n"
-#~ "    lpadmin [-h server] -x destination\n"
-#~ "    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m "
-#~ "model]\n"
-#~ "                       [-r remove-class] [-v device] [-D description]\n"
-#~ "                       [-P ppd-file] [-o name=value]\n"
-#~ "                       [-u allow:user,user] [-u deny:user,user]\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Gebruik:\n"
-#~ "\n"
-#~ "    lpadmin [-h server] -d bestemming\n"
-#~ "    lpadmin [-h server] -x bestemming\n"
-#~ "    lpadmin [-h server] -p printer [-c voeg klasse toe] [-i interface] [-"
-#~ "m model]\n"
-#~ "                       [-r verwijder klasse] [-v apparaat] [-D "
-#~ "omschrijving]\n"
-#~ "                       [-P ppd-bestand] [-o naam=waarde]\n"
-#~ "                       [-u sta toe:gebruiker,gebruiker] [-u weiger:"
-#~ "gebruiker,gebruiker]\n"
-#~ "\n"
-
-#~ msgid "Usage: %s job user title copies options [filename]\n"
-#~ msgstr "Gebruik: %s job user title copies options [bestandsnaam]\n"
-
-#~ msgid "Usage: %s job-id user title copies options [file]\n"
-#~ msgstr "Gebruik: %s job-id user title copies options [bestand]\n"
-
-#~ msgid "Usage: %s job-id user title copies options file\n"
-#~ msgstr "Gebruik: %s job-id user title copies options file\n"
-
-#~ msgid ""
-#~ "Usage: convert [ options ]\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "  -f filename          Set file to be converted (otherwise stdin)\n"
-#~ "  -o filename          Set file to be generated (otherwise stdout)\n"
-#~ "  -i mime/type         Set input MIME type (otherwise auto-typed)\n"
-#~ "  -j mime/type         Set output MIME type (otherwise application/pdf)\n"
-#~ "  -P filename.ppd      Set PPD file\n"
-#~ "  -a 'name=value ...'  Set option(s)\n"
-#~ "  -U username          Set username for job\n"
-#~ "  -J title             Set title\n"
-#~ "  -c copies            Set number of copies\n"
-#~ "  -u                   Remove the PPD file when finished\n"
-#~ "  -D                   Remove the input file when finished\n"
-#~ msgstr ""
-#~ "Gebruik: convert [ opties ]\n"
-#~ "\n"
-#~ "Opties:\n"
-#~ "\n"
-#~ "  -f bestandsnaam          Stel te converteren bestand in (anders stdin)\n"
-#~ "  -o bestandsnaam          Stel te genereren bestand in (anders stdout)\n"
-#~ "  -i mime/type         Stel MIME-type voor invoer in (anders auto-typed)\n"
-#~ "  -j mime/type         Stel MIME-type voor uitvoer in (anders application/"
-#~ "pdf)\n"
-#~ "  -P bestandsnaam.ppd      Stel PPD-bestand in\n"
-#~ "  -a 'naam=waarde ...'  Stel optie(s) in\n"
-#~ "  -U gebruikersnaam          Stel gebruikersnaam voor taak in\n"
-#~ "  -J titel             Stel titel in\n"
-#~ "  -c aantal            Stel aantal exemplaren in\n"
-#~ "  -u                   Verwijder het PPD-bestand na conversie\n"
-#~ "  -D                   Verwijder het invoerbestand na conversie\n"
-
-#~ msgid ""
-#~ "Usage: cupsaddsmb [options] printer1 ... printerN\n"
-#~ "       cupsaddsmb [options] -a\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "  -E               Encrypt the connection to the server\n"
-#~ "  -H samba-server  Use the named SAMBA server\n"
-#~ "  -U samba-user    Authenticate using the named SAMBA user\n"
-#~ "  -a               Export all printers\n"
-#~ "  -h cups-server   Use the named CUPS server\n"
-#~ "  -v               Be verbose (show commands)\n"
-#~ msgstr ""
-#~ "Gebruik: cupsaddsmb [opties] printer1 ... printerN\n"
-#~ "       cupsaddsmb [opties] -a\n"
-#~ "\n"
-#~ "Opties:\n"
-#~ "  -E               Gebruik encryptie voor verbinding met server\n"
-#~ "  -H samba-server  Gebruik genoemde SAMBA-server\n"
-#~ "  -U samba-gebruiker   Controleer toegang via genoemde SAMBA-gebruiker\n"
-#~ "  -a               Exporteer alle printers\n"
-#~ "  -h cups-server   Gebruik genoemde CUPS-server\n"
-#~ "  -v               Gebruik verbose-modus (toon commando&aops;s)\n"
-
-#~ msgid ""
-#~ "Usage: cupsctl [options] [param=value ... paramN=valueN]\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -E                      Enable encryption\n"
-#~ "    -U username             Specify username\n"
-#~ "    -h server[:port]        Specify server address\n"
-#~ "\n"
-#~ "    --[no-]debug-logging    Turn debug logging on/off\n"
-#~ "    --[no-]remote-admin     Turn remote administration on/off\n"
-#~ "    --[no-]remote-any       Allow/prevent access from the Internet\n"
-#~ "    --[no-]remote-printers  Show/hide remote printers\n"
-#~ "    --[no-]share-printers   Turn printer sharing on/off\n"
-#~ "    --[no-]user-cancel-any  Allow/prevent users to cancel any job\n"
-#~ msgstr ""
-#~ "Gebruik: cupsctl [opties] [param=waarde ... paramN=waardeN]\n"
-#~ "\n"
-#~ "Opties:\n"
-#~ "\n"
-#~ "    -E                      Schakel encryptie in\n"
-#~ "    -U gebruikersnaam             Geef gebruikersnaam op\n"
-#~ "    -h server[:poort]        Geef serveradres op\n"
-#~ "\n"
-#~ "    --[no-]debug-logging    Schakel debug-logging in/uit\n"
-#~ "    --[no-]remote-admin     Schakel beheer op afstand in/uit\n"
-#~ "    --[no-]remote-any       Maak toegang via het internet mogelijk/"
-#~ "onmogelijk\n"
-#~ "    --[no-]remote-printers  Toon/verberg niet-lokale printers\n"
-#~ "    --[no-]share-printers   Schakel gemeenschappelijk printergebruik in/"
-#~ "uit\n"
-#~ "    --[no-]user-cancel-any  Maak annuleren van taken door gebruikers "
-#~ "mogelijk/onmogelijk\n"
-
-#~ msgid ""
-#~ "Usage: cupsd [-c config-file] [-f] [-F] [-h] [-l]\n"
-#~ "\n"
-#~ "-c config-file      Load alternate configuration file\n"
-#~ "-f                  Run in the foreground\n"
-#~ "-F                  Run in the foreground but detach\n"
-#~ "-h                  Show this usage message\n"
-#~ "-l                  Run cupsd from launchd(8)\n"
-#~ msgstr ""
-#~ "Gebruik: cupsd [-c config-bestand] [-f] [-F] [-h] [-l]\n"
-#~ "\n"
-#~ "-c config-file      Laad alternatief configuratiebestand\n"
-#~ "-f                  Voer uit op voorgrond\n"
-#~ "-F                  Voer uit op voorgrond, losgekoppeld\n"
-#~ "-h                  Toon dit gebruiksbericht\n"
-#~ "-l                  Voer cupsd uit vanaf launchd(8)\n"
-
-#~ msgid ""
-#~ "Usage: cupsfilter -m mime/type [ options ] filename\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "  -c cupsd.conf    Set cupsd.conf file to use\n"
-#~ "  -j job-id[,N]    Filter file N from the specified job (default is file "
-#~ "1)\n"
-#~ "  -n copies        Set number of copies\n"
-#~ "  -o name=value    Set option(s)\n"
-#~ "  -p filename.ppd  Set PPD file\n"
-#~ "  -t title         Set title\n"
-#~ msgstr ""
-#~ "Gebruik: cupsfilter -m mime/type [ opties ] bestandsnaam\n"
-#~ "\n"
-#~ "Opties:\n"
-#~ "\n"
-#~ "  -c cupsd.conf    Stel in welk cupsd.conf-bestand moet worden gebruikt\n"
-#~ "  -j taak-ID[,N]    Filter bestand N uit opgegeven taak (standaard is "
-#~ "bestand 1)\n"
-#~ "  -n aantal        Stel aantal exemplaren in\n"
-#~ "  -o naam=waarde    Stel optie(s) in\n"
-#~ "  -p bestandsnaam.ppd  Stel PPD-bestand in\n"
-#~ "  -t titel         Stel titel in\n"
-
-#~ msgid ""
-#~ "Usage: cupstestdsc [options] filename.ps [... filename.ps]\n"
-#~ "       cupstestdsc [options] -\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -h       Show program usage\n"
-#~ "\n"
-#~ "    Note: this program only validates the DSC comments, not the "
-#~ "PostScript itself.\n"
-#~ msgstr ""
-#~ "Gebruik: cupstestdsc [opties] bestandsnaam.ps [... bestandsnaam.ps]\n"
-#~ "       cupstestdsc [opties] -\n"
-#~ "\n"
-#~ "Opties:\n"
-#~ "\n"
-#~ "    -h       Toon programmagebruik\n"
-#~ "\n"
-#~ "    Opmerking: dit programma valideert alleen het DSC-commentaar, niet de "
-#~ "PostScript-code.\n"
-
-#~ msgid ""
-#~ "Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]\n"
-#~ "       program | cupstestppd [options] -\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -R root-directory    Set alternate root\n"
-#~ "    -W {all,none,constraints,defaults,duplex,filters,translations}\n"
-#~ "                         Issue warnings instead of errors\n"
-#~ "    -q                   Run silently\n"
-#~ "    -r                   Use 'relaxed' open mode\n"
-#~ "    -v                   Be slightly verbose\n"
-#~ "    -vv                  Be very verbose\n"
-#~ msgstr ""
-#~ "Gebruik: cupstestppd [opties] bestandsnaam1.ppd[.gz] [... bestandsnaamN."
-#~ "ppd[.gz]]\n"
-#~ "       program | cupstestppd [opties] -\n"
-#~ "\n"
-#~ "Opties:\n"
-#~ "\n"
-#~ "    -R root-directory    Stel alternatieve root in\n"
-#~ "    -W {all,none,constraints,defaults,duplex,filters,translations}\n"
-#~ "                         Toon waarschuwingen in plaats van fouten\n"
-#~ "    -q                   Voer uit zonder meldingen\n"
-#~ "    -r                   Gebruik &aops;relaxed&aops; open modus\n"
-#~ "    -v                   Gebruik beperkte verbose-modus\n"
-#~ "    -vv                  Gebruik uitgebreide verbose-modus\n"
-
-#~ msgid "Usage: lpmove job/src dest\n"
-#~ msgstr "Gebruik: lpmove job/src dest\n"
-
-#~ msgid ""
-#~ "Usage: lpoptions [-h server] [-E] -d printer\n"
-#~ "       lpoptions [-h server] [-E] [-p printer] -l\n"
-#~ "       lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
-#~ "       lpoptions [-h server] [-E] -x printer\n"
-#~ msgstr ""
-#~ "Gebruik: lpoptions [-h server] [-E] -d printer\n"
-#~ "       lpoptions [-h server] [-E] [-p printer] -l\n"
-#~ "       lpoptions [-h server] [-E] -p printer -o optie[=waarde] ...\n"
-#~ "       lpoptions [-h server] [-E] -x printer\n"
-
-#~ msgid "Usage: lppasswd [-g groupname]\n"
-#~ msgstr "Gebruik: lppasswd [-g groepsnaam]\n"
-
-#~ msgid ""
-#~ "Usage: lppasswd [-g groupname] [username]\n"
-#~ "       lppasswd [-g groupname] -a [username]\n"
-#~ "       lppasswd [-g groupname] -x [username]\n"
-#~ msgstr ""
-#~ "Gebruik: lppasswd [-g groepsnaam] [gebruikersnaam]\n"
-#~ "       lppasswd [-g groepsnaam] -a [gebruikersnaam]\n"
-#~ "       lppasswd [-g groepsnaam] -x [gebruikersnaam]\n"
-
-#~ msgid ""
-#~ "Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]\n"
-#~ msgstr ""
-#~ "Gebruik: lpq [-P bestemming] [-U gebruikersnaam] [-h hostnaam[:poort]] [-"
-#~ "l] [+interval]\n"
-
-#~ msgid ""
-#~ "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]\n"
-#~ "Options:\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "  -I include-dir       Add include directory to search path.\n"
-#~ "  -c catalog.po        Load the specified message catalog.\n"
-#~ "  -d output-dir        Specify the output directory.\n"
-#~ "  -l lang[,lang,...]   Specify the output language(s) (locale).\n"
-#~ "  -m                   Use the ModelName value as the filename.\n"
-#~ "  -t                   Test PPDs instead of generating them.\n"
-#~ "  -v                   Be verbose (more v's for more verbosity).\n"
-#~ "  -z                   Compress PPD files using GNU zip.\n"
-#~ "  --cr                 End lines with CR (Mac OS 9).\n"
-#~ "  --crlf               End lines with CR + LF (Windows).\n"
-#~ "  --lf                 End lines with LF (UNIX/Linux/Mac OS X).\n"
-#~ msgstr ""
-#~ "Gebruik: ppdc [opties] bestandsnaam.drv [ ... bestandsnaamN.drv ]\n"
-#~ "Opties:\n"
-#~ "  -D naam=waarde        Stel benoemde variabele in op waarde.\n"
-#~ "  -I include-dir       Voeg include-directory toe aan zoekpad.\n"
-#~ "  -c catalogus.po        Laad de opgegeven berichtencatalogus.\n"
-#~ "  -d uitvoer-dir        Geef de uitvoerdirectory op.\n"
-#~ "  -l taal[,taal,...]   Geef de uitvoertaal/-talen (taalversie) op.\n"
-#~ "  -m                   Gebruik de ModelName-waarde als bestandsnaam.\n"
-#~ "  -t                   Test PPD&aops;s in plaats van ze te genereren.\n"
-#~ "  -v                   Gebruik verbose-modus (meer v's voor uitgebreidere "
-#~ "modus).\n"
-#~ "  -z                   Comprimeer PPD-bestanden met GNU-zip.\n"
-#~ "  --cr                 Sluit regels af met CR (Mac OS 9).\n"
-#~ "  --crlf               Sluit regels af met CR + LF (Windows).\n"
-#~ "  --lf                 Sluit regels af met LF (UNIX/Linux/Mac OS X).\n"
-
-#~ msgid ""
-#~ "Usage: ppdhtml [options] filename.drv >filename.html\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "Options:\n"
-#~ "  -I include-dir    Add include directory to search path.\n"
-#~ msgstr ""
-#~ "Gebruik: ppdhtml [opties] bestandsnaam.drv >bestandsnaam.html\n"
-#~ "  -D naam=waarde        Stel benoemde variabele in op waarde.\n"
-#~ "Opties:\n"
-#~ "  -I include-dir    Voeg include-directory toe aan zoekpad.\n"
-
-#~ msgid ""
-#~ "Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Options:\n"
-#~ "  -I include-dir\n"
-#~ "  -o filename.drv\n"
-#~ msgstr ""
-#~ "Gebruik: ppdi [opties] bestandsnaam.ppd [ ... bestandsnaamN.ppd ]\n"
-#~ "Opties:\n"
-#~ "  -I include-dir\n"
-#~ "  -o bestandsnaam.drv\n"
-
-#~ msgid ""
-#~ "Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Options:\n"
-#~ "  -o filename.ppd[.gz]\n"
-#~ msgstr ""
-#~ "Gebruik: ppdmerge [opties] bestandsnaam.ppd [ ... bestandsnaamN.ppd ]\n"
-#~ "Opties:\n"
-#~ "  -o bestandsnaam.ppd[.gz]\n"
-
-#~ msgid ""
-#~ "Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]\n"
-#~ "Options:\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "  -I include-dir    Add include directory to search path.\n"
-#~ "  -v                Be verbose (more v's for more verbosity).\n"
-#~ msgstr ""
-#~ "Gebruik: ppdpo [opties] -o bestandsnaam.po bestandsnaam.drv [ ... "
-#~ "bestandsnaamN.drv ]\n"
-#~ "Opties:\n"
-#~ "  -D naam=waarde        Stel benoemde variabele in op waarde.\n"
-#~ "  -I include-dir    Voeg include-directory toe aan zoekpad.\n"
-#~ "  -v                Gebruik verbose-modus (meer v's voor uitgebreidere "
-#~ "modus).\n"
-
-#~ msgid "Usage: snmp [host-or-ip-address]\n"
-#~ msgstr "Gebruik: snmp [host- of ip-adres]\n"
-
-#~ msgid "WARNING: Adding only the first %d printers found"
-#~ msgstr "WARNING: Alleen de eerste %d gevonden printers worden toegevoegd"
-
-#~ msgid "WARNING: Boolean expected for waiteof option \"%s\"\n"
-#~ msgstr "WARNING: Verwachtte Boolean voor optie &aops;waiteof&aops; \"%s\"\n"
-
-#~ msgid "WARNING: Failed to read side-channel request!\n"
-#~ msgstr "WARNING: Kon zijkanaalverzoek niet lezen!\n"
-
-#~ msgid "WARNING: Option \"%s\" cannot be included via IncludeFeature!\n"
-#~ msgstr ""
-#~ "WARNING: Optie \"%s\" kan niet worden ingevoegd met behulp van "
-#~ "IncludeFeature!\n"
-
-#~ msgid "WARNING: Printer not responding\n"
-#~ msgstr "WARNING: Printer reageert niet\n"
-
-#~ msgid "WARNING: Printer sent unexpected EOF\n"
-#~ msgstr "WARNING: Printer heeft onverwacht einde-bestandteken verstuurd\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with command status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: Niet-lokale host heeft niet binnen %d seconden gereageerd met "
-#~ "commandostatusbyte!\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with control status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: Niet-lokale host heeft niet binnen %d seconden gereageerd met "
-#~ "besturingsstatusbyte!\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with data status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: Niet-lokale host heeft niet binnen %d seconden gereageerd met "
-#~ "gegevensstatusbyte!\n"
-
-#~ msgid "WARNING: SCSI command timed out (%d); retrying...\n"
-#~ msgstr ""
-#~ "WARNING: SCSI-commando niet tijdig verwerkt (%d); nieuwe poging...\n"
-
-#~ msgid ""
-#~ "WARNING: This document does not conform to the Adobe Document Structuring "
-#~ "Conventions and may not print correctly!\n"
-#~ msgstr ""
-#~ "WARNING: Dit document beantwoordt niet aan de Adobe Document Structuring "
-#~ "Conventions en wordt mogelijk niet goed afgedrukt!\n"
-
-#~ msgid "WARNING: Unable to open \"%s:%s\": %s\n"
-#~ msgstr "WARNING: Niet mogelijk om \"%s:%s\" te openen: %s\n"
-
-#~ msgid "WARNING: Unable to send PAP status request"
-#~ msgstr "WARNING: Niet mogelijk om PAP-statusverzoek te versturen"
-
-#~ msgid "WARNING: Unexpected PAP packet of type %d\n"
-#~ msgstr "WARNING: Onverwacht PAP-pakket van type %d\n"
-
-#~ msgid "WARNING: Unknown PAP packet of type %d\n"
-#~ msgstr "WARNING: Onbekend PAP-pakket van type %d\n"
-
-#~ msgid "WARNING: Unknown choice \"%s\" for option \"%s\"!\n"
-#~ msgstr "WARNING: Onbekende keuze \"%s\" voor optie \"%s\"!\n"
-
-#~ msgid "WARNING: Unknown option \"%s\"!\n"
-#~ msgstr "WARNING: Onbekende optie \"%s\"!\n"
-
-#~ msgid "WARNING: Unsupported baud rate %s!\n"
-#~ msgstr "WARNING: Niet-ondersteunde baudsnelheid %s!\n"
-
-#~ msgid "WARNING: number expected for status option \"%s\"\n"
-#~ msgstr "WARNING: Verwachtte getal voor statusoptie \"%s\"\n"
-
-#~ msgid ""
-#~ "WARNING: recoverable: Network host '%s' is busy; will retry in %d "
-#~ "seconds...\n"
-#~ msgstr ""
-#~ "WARNING: Herstelbare fout: netwerkhost &aops;%s&aops; is bezig; nieuwe "
-#~ "poging over %d seconden...\n"
-
-#~ msgid "Warning, no Windows 2000 printer drivers are installed!"
-#~ msgstr ""
-#~ "Let op: geen Windows 2000-printerstuurprogramma&aops;s geïnstalleerd!"
-
-#~ msgid "You4 Envelope"
-#~ msgstr "You4-envelop"
-
-#~ msgid "convert: Use the -f option to specify a file to convert.\n"
-#~ msgstr ""
-#~ "convert: Gebruik de optie -f om het bestand op te geven dat u wilt "
-#~ "converteren.\n"
-
-#~ msgid "cupsaddsmb: No PPD file for printer \"%s\" - %s\n"
-#~ msgstr "cupsaddsmb: Geen PPD-bestand voor printer \"%s\" - %s\n"
-
-#~ msgid "cupsctl: Unable to connect to server: %s\n"
-#~ msgstr ""
-#~ "cupsctl: Niet mogelijk om verbinding met server tot stand te brengen: %s\n"
-
-#~ msgid "cupsctl: Unknown option \"%s\"!\n"
-#~ msgstr "cupsctl: Onbekende optie \"%s\"!\n"
-
-#~ msgid "cupsctl: Unknown option \"-%c\"!\n"
-#~ msgstr "cupsctl: Onbekende optie \"-%c\"!\n"
-
-#~ msgid "cupsd: Expected config filename after \"-c\" option!\n"
-#~ msgstr "cupsd: Verwachtte config-bestandsnaam na optie \"-c\"!\n"
-
-#~ msgid "cupsd: Unable to get current directory!\n"
-#~ msgstr "cupsd: Niet mogelijk om huidige directory op te vragen!\n"
-
-#~ msgid "cupsd: Unknown argument \"%s\" - aborting!\n"
-#~ msgstr "cupsd: Onbekend argument \"%s\" - bewerking wordt afgebroken!\n"
-
-#~ msgid "cupsd: Unknown option \"%c\" - aborting!\n"
-#~ msgstr "cupsd: Onbekende optie \"%c\" - bewerking wordt afgebroken!\n"
-
-#~ msgid "cupsd: launchd(8) support not compiled in, running in normal mode.\n"
-#~ msgstr ""
-#~ "cupsd: Geen ondersteuning voor launchd(8) opgenomen, bewerking wordt "
-#~ "uitgevoerd in normale modus.\n"
-
-#~ msgid "cupsfilter: Invalid document number %d!\n"
-#~ msgstr "cupsfilter: Ongeldig documentnummer %d!\n"
-
-#~ msgid "cupsfilter: Invalid job ID %d!\n"
-#~ msgstr "cupsfilter: Ongeldige taak-ID %d!\n"
-
-#~ msgid "cupsfilter: Only one filename can be specified!\n"
-#~ msgstr "cupsfilter: U kunt slechts één bestandsnaam opgeven!\n"
-
-#~ msgid "cupsfilter: Unable to create temporary file: %s\n"
-#~ msgstr "cupsfilter: Niet mogelijk om tijdelijk bestand aan te maken: %s\n"
-
-#~ msgid "cupsfilter: Unable to get job file - %s\n"
-#~ msgstr "cupsfilter: Niet mogelijk om taakbestand op te vragen - %s\n"
-
-#~ msgid "cupstestppd: The -q option is incompatible with the -v option.\n"
-#~ msgstr ""
-#~ "cupstestppd: De optie -q kan niet worden gebruikt in combinatie met de "
-#~ "optie -v.\n"
-
-#~ msgid "cupstestppd: The -v option is incompatible with the -q option.\n"
-#~ msgstr ""
-#~ "cupstestppd: De optie -v kan niet worden gebruikt in combinatie met de "
-#~ "optie -q.\n"
-
-#~ msgid "device for %s/%s: %s\n"
-#~ msgstr "apparaat voor %s/%s: %s\n"
-
-#~ msgid "device for %s: %s\n"
-#~ msgstr "apparaat voor %s: %s\n"
-
-#~ msgid "help\t\tget help on commands\n"
-#~ msgstr "help\t\thulpinformatie voor commando&aops;s opvragen\n"
-
-#~ msgid "job-printer-uri attribute missing!"
-#~ msgstr "Job-printer-uri-attribuut ontbreekt!"
-
-#~ msgid "lpadmin: Class name can only contain printable characters!\n"
-#~ msgstr "lpadmin: Klassenaam mag alleen afdrukbare tekens bevatten!\n"
-
-#~ msgid "lpadmin: Expected PPD after '-P' option!\n"
-#~ msgstr "lpadmin: Verwachtte PPD na optie &aops;-P&aops;!\n"
-
-#~ msgid "lpadmin: Expected allow/deny:userlist after '-u' option!\n"
-#~ msgstr "lpadmin: Verwachtte allow/deny:userlist na optie &aops;-u&aops;!\n"
-
-#~ msgid "lpadmin: Expected class after '-r' option!\n"
-#~ msgstr "lpadmin: Verwachtte klasse na optie &aops;-r&aops;!\n"
-
-#~ msgid "lpadmin: Expected class name after '-c' option!\n"
-#~ msgstr "lpadmin: Verwachtte klassenaam na optie &aops;-c&aops;!\n"
-
-#~ msgid "lpadmin: Expected description after '-D' option!\n"
-#~ msgstr "lpadmin: Verwachtte omschrijving na optie &aops;-D&aops;!\n"
-
-#~ msgid "lpadmin: Expected device URI after '-v' option!\n"
-#~ msgstr "lpadmin: Verwachtte apparaat-URI na optie &aops;-v&aops;!\n"
-
-#~ msgid "lpadmin: Expected file type(s) after '-I' option!\n"
-#~ msgstr "lpadmin: Verwachtte bestandstype(n) na optie &aops;-I&aops;!\n"
-
-#~ msgid "lpadmin: Expected hostname after '-h' option!\n"
-#~ msgstr "lpadmin: Verwachtte hostnaam na optie &aops;-h&aops;!\n"
-
-#~ msgid "lpadmin: Expected interface after '-i' option!\n"
-#~ msgstr "lpadmin: Verwachtte interface na optie &aops;-i&aops;!\n"
-
-#~ msgid "lpadmin: Expected location after '-L' option!\n"
-#~ msgstr "lpadmin: Verwachtte locatie na optie &aops;-L&aops;!\n"
-
-#~ msgid "lpadmin: Expected model after '-m' option!\n"
-#~ msgstr "lpadmin: Verwachtte model na optie &aops;-m&aops;!\n"
-
-#~ msgid "lpadmin: Expected name=value after '-o' option!\n"
-#~ msgstr "lpadmin: Verwachtte naam=waarde na optie &aops;-o&aops;!\n"
-
-#~ msgid "lpadmin: Expected printer after '-p' option!\n"
-#~ msgstr "lpadmin: Verwachtte printer na optie &aops;-p&aops;!\n"
-
-#~ msgid "lpadmin: Expected printer name after '-d' option!\n"
-#~ msgstr "lpadmin: Verwachtte printernaam na optie &aops;-d&aops;!\n"
-
-#~ msgid "lpadmin: Expected printer or class after '-x' option!\n"
-#~ msgstr "lpadmin: Verwachtte printer of klasse na optie &aops;-x&aops;!\n"
-
-#~ msgid "lpadmin: No member names were seen!\n"
-#~ msgstr "lpadmin: Geen lidnamen ontdekt!\n"
-
-#~ msgid "lpadmin: Printer %s is already a member of class %s.\n"
-#~ msgstr "lpadmin: Printer %s is al lid van klasse %s.\n"
-
-#~ msgid "lpadmin: Printer %s is not a member of class %s.\n"
-#~ msgstr "lpadmin: Printer %s is geen lid van klasse %s.\n"
-
-#~ msgid "lpadmin: Printer name can only contain printable characters!\n"
-#~ msgstr "lpadmin: Printernaam mag alleen afdrukbare tekens bevatten!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to add a printer to the class:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Niet mogelijk om printer aan klasse toe te voegen:\n"
-#~ "         U moet eerst een printernaam opgeven!\n"
-
-#~ msgid "lpadmin: Unable to connect to server: %s\n"
-#~ msgstr ""
-#~ "lpadmin: Niet mogelijk om verbinding tot stand te brengen met server: %s\n"
-
-#~ msgid "lpadmin: Unable to create temporary file - %s\n"
-#~ msgstr "lpadmin: Niet mogelijk om tijdelijk bestand aan te maken - %s\n"
-
-#~ msgid "lpadmin: Unable to create temporary file: %s\n"
-#~ msgstr "lpadmin: Niet mogelijk om tijdelijk bestand aan te maken: %s\n"
-
-#~ msgid "lpadmin: Unable to open PPD file \"%s\" - %s\n"
-#~ msgstr "lpadmin: Niet mogelijk om PPD-bestand \"%s\" te openen - %s\n"
-
-#~ msgid "lpadmin: Unable to open file \"%s\": %s\n"
-#~ msgstr "lpadmin: Niet mogelijk om bestand \"%s\" te openen: %s\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to remove a printer from the class:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Niet mogelijk om printer uit klasse te verwijderen:\n"
-#~ "         U moet eerst een printernaam opgeven!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the PPD file:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Niet mogelijk om het PPD-bestand in te stellen:\n"
-#~ "         U moet eerst een printernaam opgeven!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the device URI:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Niet mogelijk om de apparaat-URI in te stellen:\n"
-#~ "         U moet eerst een printernaam opgeven!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the interface script or PPD file:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Niet mogelijk om het interfacescript of het PPD-bestand in te "
-#~ "stellen:\n"
-#~ "         U moet eerst een printernaam opgeven!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the interface script:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Niet mogelijk om het interfacescript in te stellen:\n"
-#~ "         U moet eerst een printernaam opgeven!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer description:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Niet mogelijk om de printerbeschrijving in te stellen:\n"
-#~ "         U moet eerst een printernaam opgeven!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer location:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Niet mogelijk om de printerlocatie in te stellen:\n"
-#~ "         U moet eerst een printernaam opgeven!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer options:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Niet mogelijk om de printeropties in te stellen:\n"
-#~ "         U moet eerst een printernaam opgeven!\n"
-
-#~ msgid "lpadmin: Unknown allow/deny option \"%s\"!\n"
-#~ msgstr "lpadmin: Onbekende optie voor toestaan/weigeren \"%s\"!\n"
-
-#~ msgid "lpadmin: Unknown argument '%s'!\n"
-#~ msgstr "lpadmin: Onbekend argument &aops;%s&aops;!\n"
-
-#~ msgid "lpadmin: Unknown option '%c'!\n"
-#~ msgstr "lpadmin: Onbekende optie &aops;%c&aops;!\n"
-
-#~ msgid "lpadmin: Warning - content type list ignored!\n"
-#~ msgstr "lpadmin: Waarschuwing - inhoudstypelijst genegeerd!\n"
-
-#~ msgid "lpinfo: Expected 1284 device ID string after --device-id!\n"
-#~ msgstr ""
-#~ "lpinfo: Verwachtte tekenreeks met 1284-apparaat-ID na --device-id!\n"
-
-#~ msgid "lpinfo: Expected language after --language!\n"
-#~ msgstr "lpinfo: Verwachtte taal na --language!\n"
-
-#~ msgid "lpinfo: Expected make and model after --make-and-model!\n"
-#~ msgstr "lpinfo: Verwachtte merk en model na --make-and-model!\n"
-
-#~ msgid "lpinfo: Expected product string after --product!\n"
-#~ msgstr "lpinfo: Verwachtte producttekenreeks na --product!\n"
-
-#~ msgid "lpinfo: Expected scheme list after --exclude-schemes!\n"
-#~ msgstr "lpinfo: Verwachtte schemalijst na --exclude-schemes!\n"
-
-#~ msgid "lpinfo: Expected scheme list after --include-schemes!\n"
-#~ msgstr "lpinfo: Verwachtte schemalijst na --include-schemes!\n"
-
-#~ msgid "lpinfo: Expected timeout after --timeout!\n"
-#~ msgstr "lpinfo: Verwachtte time-out na --timeout!\n"
-
-#~ msgid "lpinfo: Unknown argument '%s'!\n"
-#~ msgstr "lpinfo: Onbekend argument &aops;%s&aops;!\n"
-
-#~ msgid "lpinfo: Unknown option '%c'!\n"
-#~ msgstr "lpinfo: Onbekende optie &aops;%c&aops;!\n"
-
-#~ msgid "lpinfo: Unknown option '%s'!\n"
-#~ msgstr "lpinfo: Onbekende optie &aops;%s&aops;!\n"
-
-#~ msgid "lpmove: Unable to connect to server: %s\n"
-#~ msgstr ""
-#~ "lpmove: Niet mogelijk om verbinding met server tot stand te brengen: %s\n"
-
-#~ msgid "lpmove: Unknown argument '%s'!\n"
-#~ msgstr "lpmove: Onbekend argument &aops;%s&aops;!\n"
-
-#~ msgid "lpmove: Unknown option '%c'!\n"
-#~ msgstr "lpmove: Onbekende optie &aops;%c&aops;!\n"
-
-#~ msgid "lpoptions: No printers!?!\n"
-#~ msgstr "lpoptions: Geen printers!?!\n"
-
-#~ msgid "lpoptions: Unable to add printer or instance: %s\n"
-#~ msgstr "lpoptions: Niet mogelijk om printer of instance toe te voegen: %s\n"
-
-#~ msgid "lpoptions: Unable to get PPD file for %s: %s\n"
-#~ msgstr "lpoptions: Niet mogelijk om PPD-bestand voor %s op te vragen: %s\n"
-
-#~ msgid "lpoptions: Unable to open PPD file for %s!\n"
-#~ msgstr "lpoptions: Niet mogelijk om PPD-bestand voor %s te openen!\n"
-
-#~ msgid "lpoptions: Unknown printer or class!\n"
-#~ msgstr "lpoptions: Onbekende printer of klasse!\n"
-
-#~ msgid "lppasswd: Only root can add or delete passwords!\n"
-#~ msgstr "lppasswd: Alleen root kan wachtwoorden toevoegen of verwijderen!\n"
-
-#~ msgid "lppasswd: Password file busy!\n"
-#~ msgstr "lppasswd: Wachtwoordbestand is in gebruik!\n"
-
-#~ msgid "lppasswd: Password file not updated!\n"
-#~ msgstr "lppasswd: Wachtwoordbestand niet bijgewerkt!\n"
-
-#~ msgid "lppasswd: Sorry, password doesn't match!\n"
-#~ msgstr "lppasswd: Wachtwoord komt helaas niet overeen!\n"
-
-#~ msgid ""
-#~ "lppasswd: Sorry, password rejected.\n"
-#~ "Your password must be at least 6 characters long, cannot contain\n"
-#~ "your username, and must contain at least one letter and number.\n"
-#~ msgstr ""
-#~ "lppasswd: Dit wachtwoord is helaas niet toegestaan.\n"
-#~ "Uw wachtwoord moet uit minimaal 6 tekens bestaan, waarvan minimaal één "
-#~ "letter en één cijfer, en mag niet uw gebruikersnaam bevatten.\n"
-
-#~ msgid "lppasswd: Sorry, passwords don't match!\n"
-#~ msgstr "lppasswd: Wachtwoorden komen helaas niet overeen!\n"
-
-#~ msgid "lppasswd: Unable to copy password string: %s\n"
-#~ msgstr "lppasswd: Niet mogelijk om wachtwoordreeks te kopiëren: %s\n"
-
-#~ msgid "lppasswd: Unable to open password file: %s\n"
-#~ msgstr "lppasswd: Niet mogelijk om wachtwoordbestand te openen: %s\n"
-
-#~ msgid "lppasswd: Unable to write to password file: %s\n"
-#~ msgstr "lppasswd: Niet mogelijk om wachtwoordbestand weg te schrijven: %s\n"
-
-#~ msgid "lppasswd: failed to backup old password file: %s\n"
-#~ msgstr ""
-#~ "lppasswd: Kon geen reservekopie maken van oude wachtwoordbestand: %s\n"
-
-#~ msgid "lppasswd: failed to rename password file: %s\n"
-#~ msgstr "lppasswd: Kon wachtwoordbestand geen andere naam geven: %s\n"
-
-#~ msgid "lppasswd: user \"%s\" and group \"%s\" do not exist.\n"
-#~ msgstr "lppasswd: Gebruiker \"%s\" en groep \"%s\" bestaan niet.\n"
-
-#~ msgid ""
-#~ "lpstat: error - %s environment variable names non-existent destination \"%"
-#~ "s\"!\n"
-#~ msgstr ""
-#~ "lpstat: fout - %s niet-bestaande bestemming voor variabelenamen van "
-#~ "omgeving \"%s\"!\n"
-
-#~ msgid "members of class %s:\n"
-#~ msgstr "leden van klasse %s:\n"
-
-#~ msgid "no entries\n"
-#~ msgstr "geen onderdelen\n"
-
-#~ msgid "no system default destination\n"
-#~ msgstr "geen bestemming voor systeemstandaard\n"
-
-#~ msgid "notify-events not specified!"
-#~ msgstr "notify-events niet gespecificeerd!"
-
-#~ msgid "notify-recipient-uri URI \"%s\" is already used!"
-#~ msgstr "notify-recipient-uri URI \"%s\" wordt al gebruikt!"
-
-#~ msgid "notify-recipient-uri URI \"%s\" uses unknown scheme!"
-#~ msgstr "notify-recipient-uri URI \"%s\" gebruikt onbekend schema!"
-
-#~ msgid "notify-subscription-id %d no good!"
-#~ msgstr "notify-subscription-id %d niet goed!"
-
-#~ msgid "ppdc: Adding include directory \"%s\"...\n"
-#~ msgstr "ppdc: Include-directory \"%s\" wordt toegevoegd...\n"
-
-#~ msgid "ppdc: Adding/updating UI text from %s...\n"
-#~ msgstr "ppdc: Interfacetekst van %s wordt toegevoegd/bijgewerkt...\n"
-
-#~ msgid "ppdc: Bad boolean value (%s) on line %d of %s.\n"
-#~ msgstr "ppdc: Ongeldige Booleaanse waarde (%s) in regel %d van %s.\n"
-
-#~ msgid "ppdc: Bad resolution name \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Ongeldige resolutienaam \"%s\" in regel %d van %s!\n"
-
-#~ msgid "ppdc: Bad status keyword %s on line %d of %s!\n"
-#~ msgstr "ppdc: Ongeldig statussleutelwoord %s in regel %d van %s!\n"
-
-#~ msgid "ppdc: Bad variable substitution ($%c) on line %d of %s.\n"
-#~ msgstr "ppdc: Ongeldige variabelevervanging ($%c) in regel %d van %s.\n"
-
-#~ msgid "ppdc: Choice found on line %d of %s with no Option!\n"
-#~ msgstr "ppdc: Keuze gevonden in regel %d van %s zonder optie!\n"
-
-#~ msgid "ppdc: Duplicate #po for locale %s on line %d of %s!\n"
-#~ msgstr "ppdc: Dubbele #po voor taalversie %s in regel %d van %s!\n"
-
-#~ msgid "ppdc: Expected a filter definition on line %d of %s!\n"
-#~ msgstr "ppdc: Verwachtte een filterdefinitie in regel %d van %s!\n"
-
-#~ msgid "ppdc: Expected a program name on line %d of %s!\n"
-#~ msgstr "ppdc: Verwachtte een programmanaam in regel %d van %s!\n"
-
-#~ msgid "ppdc: Expected boolean value on line %d of %s.\n"
-#~ msgstr "ppdc: Verwachtte Booleaanse waarde in regel %d van %s.\n"
-
-#~ msgid "ppdc: Expected charset after Font on line %d of %s!\n"
-#~ msgstr "ppdc: Verwachtte tekenset na Font in regel %d van %s!\n"
-
-#~ msgid "ppdc: Expected choice code on line %d of %s.\n"
-#~ msgstr "ppdc: Verwachtte keuzecode in regel %d van %s.\n"
-
-#~ msgid "ppdc: Expected choice name/text on line %d of %s.\n"
-#~ msgstr "ppdc: Verwachtte keuzenaam/-tekst in regel %d van %s.\n"
-
-#~ msgid "ppdc: Expected color order for ColorModel on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Verwachtte kleurvolgorde voor ColorModel in regel %d van %s!\n"
-
-#~ msgid "ppdc: Expected colorspace for ColorModel on line %d of %s!\n"
-#~ msgstr "ppdc: Verwachtte kleurruimte voor ColorModel in regel %d van %s!\n"
-
-#~ msgid "ppdc: Expected compression for ColorModel on line %d of %s!\n"
-#~ msgstr "ppdc: Verwachtte compressie voor ColorModel in regel %d van %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected constraints string for UIConstraints on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Verwachtte beperkingenreeks voor UIConstraints in regel %d van %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected driver type keyword following DriverType on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc: Verwachtte sleutelwoord voor stuurprogrammatype na DriverType in "
-#~ "regel %d van %s!\n"
-
-#~ msgid "ppdc: Expected duplex type after Duplex on line %d of %s!\n"
-#~ msgstr "ppdc: Verwachtte duplextype na Duplex in regel %d van %s!\n"
-
-#~ msgid "ppdc: Expected encoding after Font on line %d of %s!\n"
-#~ msgstr "ppdc: Verwachtte codering na Font in regel %d van %s!\n"
-
-#~ msgid "ppdc: Expected filename after #po %s on line %d of %s!\n"
-#~ msgstr "ppdc: Verwachtte bestandsnaam na #po %s in regel %d van %s!\n"
-
-#~ msgid "ppdc: Expected group name/text on line %d of %s!\n"
-#~ msgstr "ppdc: Verwachtte groepsnaam/-tekst in regel %d van %s!\n"
-
-#~ msgid "ppdc: Expected include filename on line %d of %s!\n"
-#~ msgstr "ppdc: Verwachtte include-bestandsnaam in regel %d van %s!\n"
-
-#~ msgid "ppdc: Expected integer on line %d of %s!\n"
-#~ msgstr "ppdc: Verwachtte geheel getal in regel %d van %s!\n"
-
-#~ msgid "ppdc: Expected locale after #po on line %d of %s!\n"
-#~ msgstr "ppdc: Verwachtte taalversie na #po in regel %d van %s!\n"
-
-#~ msgid "ppdc: Expected name after %s on line %d of %s!\n"
-#~ msgstr "ppdc: Verwachtte naam na %s in regel %d van %s!\n"
-
-#~ msgid "ppdc: Expected name after FileName on line %d of %s!\n"
-#~ msgstr "ppdc: Verwachtte naam na FileName in regel %d van %s!\n"
-
-#~ msgid "ppdc: Expected name after Font on line %d of %s!\n"
-#~ msgstr "ppdc: Verwachtte naam na Font in regel %d van %s!\n"
-
-#~ msgid "ppdc: Expected name after Manufacturer on line %d of %s!\n"
-#~ msgstr "ppdc: Verwachtte naam na Manufacturer in regel %d van %s!\n"
-
-#~ msgid "ppdc: Expected name after MediaSize on line %d of %s!\n"
-#~ msgstr "ppdc: Verwachtte naam na MediaSize in regel %d van %s!\n"
-
-#~ msgid "ppdc: Expected name after ModelName on line %d of %s!\n"
-#~ msgstr "ppdc: Verwachtte naam na ModelName in regel %d van %s!\n"
-
-#~ msgid "ppdc: Expected name after PCFileName on line %d of %s!\n"
-#~ msgstr "ppdc: Verwachtte naam na PCFileName in regel %d van %s!\n"
-
-#~ msgid "ppdc: Expected name/text after %s on line %d of %s!\n"
-#~ msgstr "ppdc: Verwachtte naam/tekst na %s in regel %d van %s!\n"
-
-#~ msgid "ppdc: Expected name/text after Installable on line %d of %s!\n"
-#~ msgstr "ppdc: Verwachtte naam/tekst na Installable in regel %d van %s!\n"
-
-#~ msgid "ppdc: Expected name/text after Resolution on line %d of %s!\n"
-#~ msgstr "ppdc: Verwachtte naam/tekst na Resolution in regel %d van %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected name/text combination for ColorModel on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Verwachtte naam/tekst-combinatie voor ColorModel in regel %d van %"
-#~ "s!\n"
-
-#~ msgid "ppdc: Expected option name/text on line %d of %s!\n"
-#~ msgstr "ppdc: Verwachtte optienaam/-tekst in regel %d van %s!\n"
-
-#~ msgid "ppdc: Expected option section on line %d of %s!\n"
-#~ msgstr "ppdc: Verwachtte optiesectie in regel %d van %s!\n"
-
-#~ msgid "ppdc: Expected option type on line %d of %s!\n"
-#~ msgstr "ppdc: Verwachtte optietype in regel %d van %s!\n"
-
-#~ msgid "ppdc: Expected override field after Resolution on line %d of %s!\n"
-#~ msgstr "ppdc: Verwachtte override-veld na Resolution in regel %d van %s!\n"
-
-#~ msgid "ppdc: Expected real number on line %d of %s!\n"
-#~ msgstr "ppdc: Verwachtte reëel getal in regel %d van %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected resolution/mediatype following ColorProfile on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc: Verwachtte resolutie/materiaaltype na ColorProfile in regel %d van %"
-#~ "s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected resolution/mediatype following SimpleColorProfile on line %"
-#~ "d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Verwachtte resolutie/materiaaltype na SimpleColorProfile in regel %"
-#~ "d van %s!\n"
-
-#~ msgid "ppdc: Expected selector after %s on line %d of %s!\n"
-#~ msgstr "ppdc: Verwachtte selector na %s in regel %d van %s!\n"
-
-#~ msgid "ppdc: Expected status after Font on line %d of %s!\n"
-#~ msgstr "ppdc: Verwachtte status na Font in regel %d van %s!\n"
-
-#~ msgid "ppdc: Expected string after Copyright on line %d of %s!\n"
-#~ msgstr "ppdc: Verwachtte tekenreeks na Copyright in regel %d van %s!\n"
-
-#~ msgid "ppdc: Expected string after Version on line %d of %s!\n"
-#~ msgstr "ppdc: Verwachtte tekenreeks na Version in regel %d van %s!\n"
-
-#~ msgid "ppdc: Expected two option names on line %d of %s!\n"
-#~ msgstr "ppdc: Verwachtte twee optienamen in regel %d van %s!\n"
-
-#~ msgid "ppdc: Expected value after %s on line %d of %s!\n"
-#~ msgstr "ppdc: Verwachtte waarde na %s in regel %d van %s!\n"
-
-#~ msgid "ppdc: Expected version after Font on line %d of %s!\n"
-#~ msgstr "ppdc: Verwachtte versie na Font in regel %d van %s!\n"
-
-#~ msgid "ppdc: Invalid #include/#po filename \"%s\"!\n"
-#~ msgstr "ppdc: Ongeldige #include/#po-bestandsnaam \"%s\"!\n"
-
-#~ msgid "ppdc: Invalid cost for filter on line %d of %s!\n"
-#~ msgstr "ppdc: Ongeldige kosten voor filter in regel %d van %s!\n"
-
-#~ msgid "ppdc: Invalid empty MIME type for filter on line %d of %s!\n"
-#~ msgstr "ppdc: Ongeldig leeg MIME-type voor filter in regel %d van %s!\n"
-
-#~ msgid "ppdc: Invalid empty program name for filter on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Ongeldige lege programmanaam voor filter in regel %d van %s!\n"
-
-#~ msgid "ppdc: Invalid option section \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Ongeldige optiesectie \"%s\" in regel %d van %s!\n"
-
-#~ msgid "ppdc: Invalid option type \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Ongeldig optietype \"%s\" in regel %d van %s!\n"
-
-#~ msgid "ppdc: Loading driver information file \"%s\"...\n"
-#~ msgstr "ppdc: Bestand met stuurprogrammagegevens \"%s\" wordt geladen...\n"
-
-#~ msgid "ppdc: Loading messages for locale \"%s\"...\n"
-#~ msgstr "ppdc: Berichten voor taalversie \"%s\" worden geladen...\n"
-
-#~ msgid "ppdc: Loading messages from \"%s\"...\n"
-#~ msgstr "ppdc: Berichten worden geladen uit \"%s\"...\n"
-
-#~ msgid "ppdc: Missing #endif at end of \"%s\"!\n"
-#~ msgstr "ppdc: #endif ontbreekt aan einde van \"%s\"!\n"
-
-#~ msgid "ppdc: Missing #if on line %d of %s!\n"
-#~ msgstr "ppdc: #if ontbreekt in regel %d van %s!\n"
-
-#~ msgid "ppdc: No message catalog provided for locale %s!\n"
-#~ msgstr "ppdc: Geen berichtencatalogus opgegeven voor taalversie %s!\n"
-
-#~ msgid "ppdc: Option %s redefined with a different type on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Optie %s opnieuw gedefinieerd met een ander type in regel %d van %"
-#~ "s!\n"
-
-#~ msgid "ppdc: Option constraint must *name on line %d of %s!\n"
-#~ msgstr "ppdc: Optiebeperking moet *name in regel %d van %s!\n"
-
-#~ msgid "ppdc: Too many nested #if's on line %d of %s!\n"
-#~ msgstr "ppdc: Te veel geneste #if's in regel %d van %s!\n"
-
-#~ msgid "ppdc: Unable to create PPD file \"%s\" - %s.\n"
-#~ msgstr "ppdc: Niet mogelijk om PPD-bestand \"%s\" aan te maken - %s.\n"
-
-#~ msgid "ppdc: Unable to create output directory %s: %s\n"
-#~ msgstr "ppdc: Niet mogelijk om uitvoerdirectory %s aan te maken: %s\n"
-
-#~ msgid "ppdc: Unable to create output pipes: %s\n"
-#~ msgstr "ppdc: Niet mogelijk om uitvoerpipes aan te maken: %s\n"
-
-#~ msgid "ppdc: Unable to execute cupstestppd: %s\n"
-#~ msgstr "ppdc: Niet mogelijk om cupstestppd uit te voeren: %s\n"
-
-#~ msgid "ppdc: Unable to find #po file %s on line %d of %s!\n"
-#~ msgstr "ppdc: #po-bestand %s niet gevonden in regel %d van %s!\n"
-
-#~ msgid "ppdc: Unable to find include file \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: include-bestand \"%s\" niet gevonden in regel %d van %s!\n"
-
-#~ msgid "ppdc: Unable to find localization for \"%s\" - %s\n"
-#~ msgstr "ppdc: geen lokalisatie gevonden voor \"%s\" - %s\n"
-
-#~ msgid "ppdc: Unable to load localization file \"%s\" - %s\n"
-#~ msgstr "ppdc: Niet mogelijk om lokalisatiebestand \"%s\" te laden - %s\n"
-
-#~ msgid "ppdc: Undefined variable (%s) on line %d of %s.\n"
-#~ msgstr "ppdc: Niet-gedefinieerde variabele (%s) in regel %d van %s.\n"
-
-#~ msgid "ppdc: Unknown driver type %s on line %d of %s!\n"
-#~ msgstr "ppdc: Onbekend type stuurprogramma %s in regel %d van %s!\n"
-
-#~ msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Onbekend duplextype \"%s\" in regel %d van %s!\n"
-
-#~ msgid "ppdc: Unknown media size \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Onbekende materiaalgrootte \"%s\" in regel %d van %s!\n"
-
-#~ msgid "ppdc: Unknown token \"%s\" seen on line %d of %s!\n"
-#~ msgstr "ppdc: Onbekend token \"%s\" in regel %d van %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Unknown trailing characters in real number \"%s\" on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc: Onbekende afsluitende tekens in reëel getal \"%s\" in regel %d van %"
-#~ "s!\n"
-
-#~ msgid "ppdc: Unterminated string starting with %c on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Niet-afgesloten tekenreeks die begint met %c in regel %d van %s!\n"
-
-#~ msgid "ppdc: Writing %s...\n"
-#~ msgstr "ppdc: %s wordt weggeschreven...\n"
-
-#~ msgid "ppdc: Writing PPD files to directory \"%s\"...\n"
-#~ msgstr "ppdc: PPD-bestanden worden naar directory \"%s\" geschreven...\n"
-
-#~ msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s!\n"
-#~ msgstr "ppdmerge: Ongeldige LanguageVersion \"%s\" in %s!\n"
-
-#~ msgid "ppdmerge: Ignoring PPD file %s...\n"
-#~ msgstr "ppdmerge: PPD-bestand %s wordt genegeerd...\n"
-
-#~ msgid "ppdmerge: Unable to backup %s to %s- %s\n"
-#~ msgstr ""
-#~ "ppdmerge: Niet mogelijk om reservekopie van %s te bewaren als %s- %s\n"
-
-#~ msgid "printer %s disabled since %s -\n"
-#~ msgstr "printer %s uitgeschakeld sinds %s -\n"
-
-#~ msgid "printer %s is idle.  enabled since %s\n"
-#~ msgstr "printer %s is niet in gebruik.  ingeschakeld sinds %s\n"
-
-#~ msgid "printer %s now printing %s-%d.  enabled since %s\n"
-#~ msgstr "printer %s is bezig met afdrukken %s-%d.  ingeschakeld sinds %s\n"
-
-#~ msgid "printer %s/%s disabled since %s -\n"
-#~ msgstr "printer %s/%s uitgeschakeld sinds %s -\n"
-
-#~ msgid "printer %s/%s is idle.  enabled since %s\n"
-#~ msgstr "printer %s/%s is niet in gebruik.  ingeschakeld sinds %s\n"
-
-#~ msgid "printer %s/%s now printing %s-%d.  enabled since %s\n"
-#~ msgstr ""
-#~ "printer %s/%s is bezig met afdrukken %s-%d.  ingeschakeld sinds %s\n"
-
-#~ msgid "request id is %s-%d (%d file(s))\n"
-#~ msgstr "verzoek-ID is %s-%d (%d bestand(en))\n"
-
-#~ msgid "scheduler is not running\n"
-#~ msgstr "taakplanner is niet actief\n"
-
-#~ msgid "scheduler is running\n"
-#~ msgstr "taakplanner is actief\n"
-
-#~ msgid "status\t\tshow status of daemon and queue\n"
-#~ msgstr "status\t\ttoon status van daemon en wachtrij\n"
-
-#~ msgid "system default destination: %s\n"
-#~ msgstr "bestemming voor systeemstandaard: %s\n"
-
-#~ msgid "system default destination: %s/%s\n"
-#~ msgstr "bestemming voor systeemstandaard: %s/%s\n"
diff --git a/locale/cups_no.po b/locale/cups_no.po
deleted file mode 100644 (file)
index 2fe9213..0000000
+++ /dev/null
@@ -1,8659 +0,0 @@
-msgid ""
-msgstr ""
-"Project-Id-Version: CUPS 1.4\n"
-"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2012-03-07 13:38-0800\n"
-"PO-Revision-Date: 2009-02-16 12:00-0800\n"
-"Last-Translator: Apple Inc.\n"
-"Language-Team: Apple Inc.\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: \n"
-
-msgid "\t\t(all)"
-msgstr ""
-
-msgid "\t\t(none)"
-msgstr ""
-
-#, c-format
-msgid "\t%d entries"
-msgstr ""
-
-#, c-format
-msgid "\t%s"
-msgstr ""
-
-msgid "\tAfter fault: continue"
-msgstr ""
-
-#, c-format
-msgid "\tAlerts: %s"
-msgstr ""
-
-msgid "\tBanner required"
-msgstr ""
-
-msgid "\tCharset sets:"
-msgstr ""
-
-msgid "\tConnection: direct"
-msgstr ""
-
-msgid "\tConnection: remote"
-msgstr ""
-
-msgid "\tContent types: any"
-msgstr ""
-
-msgid "\tDefault page size:"
-msgstr ""
-
-msgid "\tDefault pitch:"
-msgstr ""
-
-msgid "\tDefault port settings:"
-msgstr ""
-
-#, c-format
-msgid "\tDescription: %s"
-msgstr ""
-
-msgid "\tForm mounted:"
-msgstr ""
-
-msgid "\tForms allowed:"
-msgstr ""
-
-#, c-format
-msgid "\tInterface: %s.ppd"
-msgstr ""
-
-#, c-format
-msgid "\tInterface: %s/interfaces/%s"
-msgstr ""
-
-#, c-format
-msgid "\tInterface: %s/ppd/%s.ppd"
-msgstr ""
-
-#, c-format
-msgid "\tLocation: %s"
-msgstr ""
-
-msgid "\tOn fault: no alert"
-msgstr ""
-
-msgid "\tPrinter types: unknown"
-msgstr ""
-
-#, c-format
-msgid "\tStatus: %s"
-msgstr ""
-
-msgid "\tUsers allowed:"
-msgstr ""
-
-msgid "\tUsers denied:"
-msgstr ""
-
-msgid "\tdaemon present"
-msgstr ""
-
-msgid "\tno entries"
-msgstr ""
-
-#, c-format
-msgid "\tprinter is on device '%s' speed -1"
-msgstr ""
-
-msgid "\tprinting is disabled"
-msgstr ""
-
-msgid "\tprinting is enabled"
-msgstr ""
-
-#, c-format
-msgid "\tqueued for %s"
-msgstr ""
-
-msgid "\tqueuing is disabled"
-msgstr ""
-
-msgid "\tqueuing is enabled"
-msgstr ""
-
-msgid "\treason unknown"
-msgstr ""
-
-msgid ""
-"\n"
-"    DETAILED CONFORMANCE TEST RESULTS"
-msgstr ""
-
-msgid "                          Ignore specific warnings."
-msgstr ""
-
-msgid "                          Issue warnings instead of errors."
-msgstr ""
-
-msgid "                REF: Page 15, section 3.1."
-msgstr ""
-
-msgid "                REF: Page 15, section 3.2."
-msgstr ""
-
-msgid "                REF: Page 19, section 3.3."
-msgstr ""
-
-msgid "                REF: Page 20, section 3.4."
-msgstr ""
-
-msgid "                REF: Page 27, section 3.5."
-msgstr ""
-
-msgid "                REF: Page 42, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 16-17, section 3.2."
-msgstr ""
-
-msgid "                REF: Pages 42-45, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 45-46, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 48-49, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 52-54, section 5.2."
-msgstr ""
-
-#, c-format
-msgid "        %-39.39s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "        PASS    Default%s"
-msgstr ""
-
-msgid "        PASS    DefaultImageableArea"
-msgstr ""
-
-msgid "        PASS    DefaultPaperDimension"
-msgstr ""
-
-msgid "        PASS    FileVersion"
-msgstr ""
-
-msgid "        PASS    FormatVersion"
-msgstr ""
-
-msgid "        PASS    LanguageEncoding"
-msgstr ""
-
-msgid "        PASS    LanguageVersion"
-msgstr ""
-
-msgid "        PASS    Manufacturer"
-msgstr ""
-
-msgid "        PASS    ModelName"
-msgstr ""
-
-msgid "        PASS    NickName"
-msgstr ""
-
-msgid "        PASS    PCFileName"
-msgstr ""
-
-msgid "        PASS    PSVersion"
-msgstr ""
-
-msgid "        PASS    PageRegion"
-msgstr ""
-
-msgid "        PASS    PageSize"
-msgstr ""
-
-msgid "        PASS    Product"
-msgstr ""
-
-msgid "        PASS    ShortNickName"
-msgstr ""
-
-#, c-format
-msgid "        WARN    %s has no corresponding options."
-msgstr ""
-
-#, c-format
-msgid ""
-"        WARN    %s shares a common prefix with %s\n"
-"                REF: Page 15, section 3.2."
-msgstr ""
-
-#, c-format
-msgid ""
-"        WARN    Duplex option keyword %s may not work as expected and should "
-"be named Duplex.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-
-msgid "        WARN    File contains a mix of CR, LF, and CR LF line endings."
-msgstr ""
-
-msgid ""
-"        WARN    LanguageEncoding required by PPD 4.3 spec.\n"
-"                REF: Pages 56-57, section 5.3."
-msgstr ""
-
-#, c-format
-msgid "        WARN    Line %d only contains whitespace."
-msgstr ""
-
-msgid ""
-"        WARN    Manufacturer required by PPD 4.3 spec.\n"
-"                REF: Pages 58-59, section 5.3."
-msgstr ""
-
-msgid ""
-"        WARN    Non-Windows PPD files should use lines ending with only LF, "
-"not CR LF."
-msgstr ""
-
-#, c-format
-msgid ""
-"        WARN    Obsolete PPD version %.1f.\n"
-"                REF: Page 42, section 5.2."
-msgstr ""
-
-msgid ""
-"        WARN    PCFileName longer than 8.3 in violation of PPD spec.\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-
-msgid ""
-"        WARN    PCFileName should contain a unique filename.\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-
-msgid ""
-"        WARN    Protocols contains PJL but JCL attributes are not set.\n"
-"                REF: Pages 78-79, section 5.7."
-msgstr ""
-
-msgid ""
-"        WARN    Protocols contains both PJL and BCP; expected TBCP.\n"
-"                REF: Pages 78-79, section 5.7."
-msgstr ""
-
-msgid ""
-"        WARN    ShortNickName required by PPD 4.3 spec.\n"
-"                REF: Pages 64-65, section 5.3."
-msgstr ""
-
-msgid "       cupsaddsmb [options] -a"
-msgstr ""
-
-msgid "       cupstestdsc [options] -"
-msgstr ""
-
-msgid "       program | cupstestppd [options] -"
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  \"%s %s\" conflicts with \"%s %s\"\n"
-"                (constraint=\"%s %s %s %s\")."
-msgstr ""
-
-#, c-format
-msgid "      %s  %s %s does not exist."
-msgstr ""
-
-#, c-format
-msgid "      %s  %s file \"%s\" has the wrong capitalization."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  Bad %s choice %s.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsFilter value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsFilter2 value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsICCProfile %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsPreFilter value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsUIConstraints %s: \"%s\""
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad language \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad permissions on %s file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad spelling of %s - should be %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Cannot provide both APScanAppPath and APScanAppBundleID."
-msgstr ""
-
-#, c-format
-msgid "      %s  Default choices conflicting."
-msgstr ""
-
-#, c-format
-msgid "      %s  Empty cupsUIConstraints %s"
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing \"%s\" translation string for option %s, choice %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing \"%s\" translation string for option %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing %s file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  Missing REQUIRED PageRegion option.\n"
-"                REF: Page 100, section 5.14."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  Missing REQUIRED PageSize option.\n"
-"                REF: Page 99, section 5.14."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\""
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing cupsUIResolver %s"
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing option %s in cupsUIConstraints %s: \"%s\""
-msgstr ""
-
-#, c-format
-msgid "      %s  No base translation \"%s\" is included in file."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  REQUIRED %s does not define choice None.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" defined for %s but not for %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" has unexpected dimensions (%gx%g)."
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" should be \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" should be the Adobe standard name \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  cupsICCProfile %s hash value collides with %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  cupsUIResolver %s causes a loop."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  cupsUIResolver %s does not list at least two different options."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  %s choice names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  %s must be 1284DeviceID\n"
-"                REF: Page 72, section 5.5"
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD Default%s %s\n"
-"                REF: Page 40, section 4.5."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD DefaultImageableArea %s\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD DefaultPaperDimension %s\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD JobPatchFile attribute in file\n"
-"                REF: Page 24, section 3.4."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD Manufacturer (should be \"HP\")\n"
-"                REF: Page 211, table D.1."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD Manufacturer (should be \"Oki\")\n"
-"                REF: Page 211, table D.1."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n"
-"                REF: Pages 59-60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD PSVersion - not \"(string) int\".\n"
-"                REF: Pages 62-64, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD Product - not \"(string)\".\n"
-"                REF: Page 62, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD ShortNickName - longer than 31 chars.\n"
-"                REF: Pages 64-65, section 5.3."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad %s choice %s\n"
-"                REF: Page 84, section 5.9"
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad FileVersion \"%s\"\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad FormatVersion \"%s\"\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Bad LanguageVersion %s - must be English."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Default option code cannot be interpreted: %s"
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Default translation string for option %s choice %s contains "
-"8-bit characters."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Default translation string for option %s contains 8-bit "
-"characters."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Group names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Multiple occurrences of %s choice name %s."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Option names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED Default%s\n"
-"                REF: Page 40, section 4.5."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED DefaultImageableArea\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED DefaultPaperDimension\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED FileVersion\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED FormatVersion\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED ImageableArea for PageSize %s\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED LanguageEncoding\n"
-"                REF: Pages 56-57, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED LanguageVersion\n"
-"                REF: Pages 57-58, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED Manufacturer\n"
-"                REF: Pages 58-59, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED ModelName\n"
-"                REF: Pages 59-60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED NickName\n"
-"                REF: Page 60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PCFileName\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PSVersion\n"
-"                REF: Pages 62-64, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PageRegion\n"
-"                REF: Page 100, section 5.14."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PageSize\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 99, section 5.14."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PageSize\n"
-"                REF: Pages 99-100, section 5.14."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED PaperDimension for PageSize %s\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED Product\n"
-"                REF: Page 62, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED ShortNickName\n"
-"                REF: Page 64-65, section 5.3."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Unable to open PPD file - %s"
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Unable to open PPD file - %s on line %d."
-msgstr ""
-
-#, c-format
-msgid "    %d ERRORS FOUND"
-msgstr ""
-
-msgid "    -h       Show program usage"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Bad %%%%BoundingBox: on line %d.\n"
-"        REF: Page 39, %%%%BoundingBox:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Bad %%%%Page: on line %d.\n"
-"        REF: Page 53, %%%%Page:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Bad %%%%Pages: on line %d.\n"
-"        REF: Page 43, %%%%Pages:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Line %d is longer than 255 characters (%d).\n"
-"        REF: Page 25, Line Length"
-msgstr ""
-
-msgid ""
-"    Missing %!PS-Adobe-3.0 on first line.\n"
-"        REF: Page 17, 3.1 Conforming Documents"
-msgstr ""
-
-#, c-format
-msgid "    Missing %%EndComments comment.        REF: Page 41, %%EndComments"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Missing or bad %%BoundingBox: comment.\n"
-"        REF: Page 39, %%BoundingBox:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Missing or bad %%Page: comments.\n"
-"        REF: Page 53, %%Page:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Missing or bad %%Pages: comment.\n"
-"        REF: Page 43, %%Pages:"
-msgstr ""
-
-msgid "    NO ERRORS FOUND"
-msgstr ""
-
-#, c-format
-msgid "    Saw %d lines that exceeded 255 characters."
-msgstr ""
-
-#, c-format
-msgid "    Too many %%BeginDocument comments."
-msgstr ""
-
-#, c-format
-msgid "    Too many %%EndDocument comments."
-msgstr ""
-
-msgid "    Warning: file contains binary data."
-msgstr ""
-
-#, c-format
-msgid "    Warning: no %%EndComments comment in file."
-msgstr ""
-
-#, c-format
-msgid "    Warning: obsolete DSC version %.1f in file."
-msgstr ""
-
-msgid "  --[no-]debug-logging    Turn debug logging on/off."
-msgstr ""
-
-msgid "  --[no-]remote-admin     Turn remote administration on/off."
-msgstr ""
-
-msgid "  --[no-]remote-any       Allow/prevent access from the Internet."
-msgstr ""
-
-msgid "  --[no-]remote-printers  Show/hide remote printers."
-msgstr ""
-
-msgid "  --[no-]share-printers   Turn printer sharing on/off."
-msgstr ""
-
-msgid "  --[no-]user-cancel-any  Allow/prevent users to cancel any job."
-msgstr ""
-
-msgid "  --cr                    End lines with CR (Mac OS 9)."
-msgstr ""
-
-msgid "  --crlf                  End lines with CR + LF (Windows)."
-msgstr ""
-
-msgid "  --lf                    End lines with LF (UNIX/Linux/Mac OS X)."
-msgstr ""
-
-msgid "  -4                      Connect using IPv4."
-msgstr ""
-
-msgid "  -6                      Connect using IPv6."
-msgstr ""
-
-msgid "  -C                      Send requests using chunking (default)."
-msgstr ""
-
-msgid "  -D                      Remove the input file when finished."
-msgstr ""
-
-msgid "  -D name=value           Set named variable to value."
-msgstr ""
-
-msgid "  -E                      Enable encryption."
-msgstr ""
-
-msgid "  -E                      Encrypt the connection to the server."
-msgstr ""
-
-msgid "  -E                      Test with TLS encryption."
-msgstr ""
-
-msgid ""
-"  -F                      Run in the foreground but detach from console."
-msgstr ""
-
-msgid "  -H samba-server         Use the named SAMBA server."
-msgstr ""
-
-msgid "  -I                      Ignore errors."
-msgstr ""
-
-msgid "  -I include-dir          Add include directory to search path."
-msgstr ""
-
-msgid "  -I {filename,filters,none,profiles}"
-msgstr ""
-
-msgid "  -J title                Set title."
-msgstr ""
-
-msgid "  -L                      Send requests using content-length."
-msgstr ""
-
-msgid "  -P filename.ppd         Set PPD file."
-msgstr ""
-
-msgid "  -R root-directory       Set alternate root."
-msgstr ""
-
-msgid "  -S                      Test with SSL encryption."
-msgstr ""
-
-msgid "  -T                      Set the receive/send timeout in seconds."
-msgstr ""
-
-msgid "  -U samba-user           Authenticate using the named SAMBA user."
-msgstr ""
-
-msgid "  -U username             Set username for job."
-msgstr ""
-
-msgid "  -U username             Specify username."
-msgstr ""
-
-msgid "  -V version              Set default IPP version."
-msgstr ""
-
-msgid ""
-"  -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,"
-"translations}"
-msgstr ""
-
-msgid "  -X                      Produce XML plist instead of plain text."
-msgstr ""
-
-msgid "  -a                      Export all printers."
-msgstr ""
-
-msgid "  -a 'name=value ...'     Set option(s)."
-msgstr ""
-
-msgid "  -c catalog.po           Load the specified message catalog."
-msgstr ""
-
-msgid "  -c config-file          Load alternate configuration file."
-msgstr ""
-
-msgid "  -c copies               Set number of copies."
-msgstr ""
-
-msgid "  -c cupsd.conf           Set cupsd.conf file to use."
-msgstr ""
-
-msgid "  -d name=value           Set named variable to value."
-msgstr ""
-
-msgid "  -d output-dir           Specify the output directory."
-msgstr ""
-
-msgid "  -d printer              Use the named printer."
-msgstr ""
-
-msgid "  -e                      Use every filter from the PPD file."
-msgstr ""
-
-msgid "  -f                      Run in the foreground."
-msgstr ""
-
-msgid "  -f filename             Set default request filename."
-msgstr ""
-
-msgid "  -f filename             Set file to be converted (otherwise stdin)."
-msgstr ""
-
-msgid "  -h                      Show this usage message."
-msgstr ""
-
-msgid "  -h cups-server          Use the named CUPS server."
-msgstr ""
-
-msgid "  -h server[:port]        Specify server address."
-msgstr ""
-
-msgid "  -i mime/type            Set input MIME type (otherwise auto-typed)."
-msgstr ""
-
-msgid ""
-"  -i seconds              Repeat the last file with the given time interval."
-msgstr ""
-
-msgid ""
-"  -j job-id[,N]           Filter file N from the specified job (default is "
-"file 1)."
-msgstr ""
-
-msgid ""
-"  -j mime/type            Set output MIME type (otherwise application/pdf)."
-msgstr ""
-
-msgid "  -l                      Run cupsd from launchd(8)."
-msgstr ""
-
-msgid "  -l lang[,lang,...]      Specify the output language(s) (locale)."
-msgstr ""
-
-msgid "  -m                      Use the ModelName value as the filename."
-msgstr ""
-
-msgid ""
-"  -m mime/type            Set output MIME type (otherwise application/pdf)."
-msgstr ""
-
-msgid "  -n copies               Set number of copies."
-msgstr ""
-
-msgid ""
-"  -n count                Repeat the last file the given number of times."
-msgstr ""
-
-msgid "  -o filename             Set file to be generated (otherwise stdout)."
-msgstr ""
-
-msgid ""
-"  -o filename.drv         Set driver information file (otherwise ppdi.drv)."
-msgstr ""
-
-msgid "  -o filename.ppd[.gz]    Set output file (otherwise stdout)."
-msgstr ""
-
-msgid "  -o name=value           Set option(s)."
-msgstr ""
-
-msgid "  -p filename.ppd         Set PPD file."
-msgstr ""
-
-msgid "  -q                      Be quiet - no output except errors."
-msgstr ""
-
-msgid "  -q                      Run silently."
-msgstr ""
-
-msgid "  -r                      Use 'relaxed' open mode."
-msgstr ""
-
-msgid "  -t                      Produce a test report."
-msgstr ""
-
-msgid "  -t                      Test PPDs instead of generating them."
-msgstr ""
-
-msgid "  -t                      Test the configuration file."
-msgstr ""
-
-msgid "  -t title                Set title."
-msgstr ""
-
-msgid "  -u                      Remove the PPD file when finished."
-msgstr ""
-
-msgid "  -v                      Be slightly verbose."
-msgstr ""
-
-msgid "  -v                      Be verbose (more v's for more verbosity)."
-msgstr ""
-
-msgid "  -v                      Be verbose (show commands)."
-msgstr ""
-
-msgid "  -v                      Show all attributes sent and received."
-msgstr ""
-
-msgid "  -vv                     Be very verbose."
-msgstr ""
-
-msgid "  -z                      Compress PPD files using GNU zip."
-msgstr ""
-
-msgid " FAIL"
-msgstr ""
-
-msgid " PASS"
-msgstr ""
-
-#, c-format
-msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "%.0f x %.0f millimeters"
-msgstr "%.0f x %.0f millimeter"
-
-#, c-format
-msgid "%.0f x %.0f to %.0f x %.0f millimeters"
-msgstr "%.0f x %.0f til %.0f x %.0f millimeter"
-
-#, c-format
-msgid "%.2f x %.2f inches"
-msgstr "%.2f x %.2f tommer"
-
-#, c-format
-msgid "%.2f x %.2f to %.2f x %.2f inches"
-msgstr "%.2f x %.2f til %.2f x %.2f tommer"
-
-#, c-format
-msgid "%s accepting requests since %s"
-msgstr ""
-
-#, c-format
-msgid "%s cannot be changed."
-msgstr "%s kan ikke endres."
-
-#, c-format
-msgid "%s is not implemented by the CUPS version of lpc."
-msgstr ""
-
-#, c-format
-msgid "%s is not ready"
-msgstr ""
-
-#, c-format
-msgid "%s is ready"
-msgstr ""
-
-#, c-format
-msgid "%s is ready and printing"
-msgstr ""
-
-#, c-format
-msgid "%s job-id user title copies options [file]"
-msgstr ""
-
-#, c-format
-msgid "%s not accepting requests since %s -"
-msgstr ""
-
-#, c-format
-msgid "%s not supported."
-msgstr ""
-
-#, c-format
-msgid "%s/%s accepting requests since %s"
-msgstr ""
-
-#, c-format
-msgid "%s/%s not accepting requests since %s -"
-msgstr ""
-
-#, c-format
-msgid "%s: %-33.33s [job %d localhost]"
-msgstr ""
-
-#. TRANSLATORS: Message is "subject: error"
-#, c-format
-msgid "%s: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: %s failed: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Don't know what to do."
-msgstr ""
-
-#, c-format
-msgid ""
-"%s: Error - %s environment variable names non-existent destination \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - bad job ID."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - cannot print files and alter jobs simultaneously."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - cannot print from stdin if files or a job ID are provided."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected character set after \"-S\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected content type after \"-T\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected copies after \"-#\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected copies after \"-n\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected destination after \"-P\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected destination after \"-b\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected destination after \"-d\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected form after \"-f\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected hold name after \"-H\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected hostname after \"-H\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected hostname after \"-h\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected mode list after \"-y\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected name after \"-%c\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected option=value after \"-o\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected page list after \"-P\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected priority after \"-%c\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected reason text after \"-r\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected title after \"-t\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected username after \"-U\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected username after \"-u\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected value after \"-%c\" option."
-msgstr ""
-
-#, c-format
-msgid ""
-"%s: Error - need \"completed\", \"not-completed\", or \"all\" after \"-W\" "
-"option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - no default destination available."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - priority must be between 1 and 100."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - scheduler not responding."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - too many files - \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unable to access \"%s\" - %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unable to queue from stdin - %s."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown destination \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown destination \"%s/%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown option \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Expected job ID after \"-i\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Invalid destination name in list \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Invalid filter string \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Need job ID (\"-i jobid\") before \"-H restart\"."
-msgstr ""
-
-#, c-format
-msgid "%s: No filter to convert from %s/%s to %s/%s."
-msgstr ""
-
-#, c-format
-msgid "%s: Operation failed: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Sorry, no encryption support."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to connect to server."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to contact server."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to determine MIME type of \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to open %s: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to open PPD file: %s on line %d."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown destination \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown destination MIME type %s/%s."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown option \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown source MIME type %s/%s."
-msgstr ""
-
-#, c-format
-msgid ""
-"%s: Warning - \"%c\" format modifier not supported - output may not be "
-"correct."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - character set option ignored."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - content type option ignored."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - form option ignored."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - mode option ignored."
-msgstr ""
-
-msgid "-1"
-msgstr "-1"
-
-msgid "-10"
-msgstr "-10"
-
-msgid "-100"
-msgstr "-100"
-
-msgid "-105"
-msgstr "-105"
-
-msgid "-11"
-msgstr "-11"
-
-msgid "-110"
-msgstr "-110"
-
-msgid "-115"
-msgstr "-115"
-
-msgid "-12"
-msgstr "-12"
-
-msgid "-120"
-msgstr "-120"
-
-msgid "-13"
-msgstr "-13"
-
-msgid "-14"
-msgstr "-14"
-
-msgid "-15"
-msgstr "-15"
-
-msgid "-2"
-msgstr "-2"
-
-msgid "-20"
-msgstr "-20"
-
-msgid "-25"
-msgstr "-25"
-
-msgid "-3"
-msgstr "-3"
-
-msgid "-30"
-msgstr "-30"
-
-msgid "-35"
-msgstr "-35"
-
-msgid "-4"
-msgstr "-4"
-
-msgid "-40"
-msgstr "-40"
-
-msgid "-45"
-msgstr "-45"
-
-msgid "-5"
-msgstr "-5"
-
-msgid "-50"
-msgstr "-50"
-
-msgid "-55"
-msgstr "-55"
-
-msgid "-6"
-msgstr "-6"
-
-msgid "-60"
-msgstr "-60"
-
-msgid "-65"
-msgstr "-65"
-
-msgid "-7"
-msgstr "-7"
-
-msgid "-70"
-msgstr "-70"
-
-msgid "-75"
-msgstr "-75"
-
-msgid "-8"
-msgstr "-8"
-
-msgid "-80"
-msgstr "-80"
-
-msgid "-85"
-msgstr "-85"
-
-msgid "-9"
-msgstr "-9"
-
-msgid "-90"
-msgstr "-90"
-
-msgid "-95"
-msgstr "-95"
-
-msgid "0"
-msgstr "0"
-
-msgid "1"
-msgstr "1"
-
-msgid "1 inch/sec."
-msgstr "1 tomme/sek"
-
-msgid "1.25x0.25\""
-msgstr "1,25 x 0,25\""
-
-msgid "1.25x2.25\""
-msgstr "1,25 x 2,25\""
-
-msgid "1.5 inch/sec."
-msgstr "1,5 tommer/sek"
-
-msgid "1.50x0.25\""
-msgstr "1,50 x 0,25\""
-
-msgid "1.50x0.50\""
-msgstr "1,50 x 0,50\""
-
-msgid "1.50x1.00\""
-msgstr "1,50 x 1,00\""
-
-msgid "1.50x2.00\""
-msgstr "1,50 x 2,00\""
-
-msgid "10"
-msgstr "10"
-
-msgid "10 inches/sec."
-msgstr "10 tommer/sek"
-
-msgid "10 x 11"
-msgstr ""
-
-msgid "10 x 13"
-msgstr ""
-
-msgid "10 x 14"
-msgstr ""
-
-msgid "100"
-msgstr "100"
-
-msgid "100 mm/sec."
-msgstr "100 mm/sek"
-
-msgid "105"
-msgstr "105"
-
-msgid "11"
-msgstr "11"
-
-msgid "11 inches/sec."
-msgstr "11 tommer/sek"
-
-msgid "110"
-msgstr "110"
-
-msgid "115"
-msgstr "115"
-
-msgid "12"
-msgstr "12"
-
-msgid "12 inches/sec."
-msgstr "12 tommer/sek"
-
-msgid "12 x 11"
-msgstr ""
-
-msgid "120"
-msgstr "120"
-
-msgid "120 mm/sec."
-msgstr "120 mm/sek"
-
-msgid "120x60dpi"
-msgstr "120 x 60 dpi"
-
-msgid "120x72dpi"
-msgstr "120 x 72 dpi"
-
-msgid "13"
-msgstr "13"
-
-msgid "136dpi"
-msgstr "136 dpi"
-
-msgid "14"
-msgstr "14"
-
-msgid "15"
-msgstr "15"
-
-msgid "15 mm/sec."
-msgstr "15 mm/sek"
-
-msgid "15 x 11"
-msgstr ""
-
-msgid "150 mm/sec."
-msgstr "150 mm/sek"
-
-msgid "150dpi"
-msgstr "150 dpi"
-
-msgid "16"
-msgstr "16"
-
-msgid "17"
-msgstr "17"
-
-msgid "18"
-msgstr "18"
-
-msgid "180dpi"
-msgstr "180 dpi"
-
-msgid "19"
-msgstr "19"
-
-msgid "2"
-msgstr "2"
-
-msgid "2 inches/sec."
-msgstr "2 tommer/sek"
-
-msgid "2-Sided Printing"
-msgstr "Tosidig utskrift"
-
-msgid "2.00x0.37\""
-msgstr "2,00 x 0,37\""
-
-msgid "2.00x0.50\""
-msgstr "2,00 x 0,50\""
-
-msgid "2.00x1.00\""
-msgstr "2,00 x 1,00\""
-
-msgid "2.00x1.25\""
-msgstr "2,00 x 1,25\""
-
-msgid "2.00x2.00\""
-msgstr "2,00 x 2,00\""
-
-msgid "2.00x3.00\""
-msgstr "2,00 x 3,00\""
-
-msgid "2.00x4.00\""
-msgstr "2,00 x 4,00\""
-
-msgid "2.00x5.50\""
-msgstr "2,00 x 5,50\""
-
-msgid "2.25x0.50\""
-msgstr "2,25 x 0,50\""
-
-msgid "2.25x1.25\""
-msgstr "2,25 x 1,25\""
-
-msgid "2.25x4.00\""
-msgstr "2,25 x 4,00\""
-
-msgid "2.25x5.50\""
-msgstr "2,25 x 5,50\""
-
-msgid "2.38x5.50\""
-msgstr "2,38 x 5,50\""
-
-msgid "2.5 inches/sec."
-msgstr "2,5 tommer/sek"
-
-msgid "2.50x1.00\""
-msgstr "2,50 x 1,00\""
-
-msgid "2.50x2.00\""
-msgstr "2,50 x 2,00\""
-
-msgid "2.75x1.25\""
-msgstr "2,75 x 1,25\""
-
-msgid "2.9 x 1\""
-msgstr "2,9 x 1\""
-
-msgid "20"
-msgstr "20"
-
-msgid "20 mm/sec."
-msgstr "20 mm/sek"
-
-msgid "200 mm/sec."
-msgstr "200 mm/sek"
-
-msgid "203dpi"
-msgstr "203 dpi"
-
-msgid "21"
-msgstr "21"
-
-msgid "22"
-msgstr "22"
-
-msgid "23"
-msgstr "23"
-
-msgid "24"
-msgstr "24"
-
-msgid "24-Pin Series"
-msgstr "24-pinners serie"
-
-msgid "240x72dpi"
-msgstr "240 x 72 dpi"
-
-msgid "25"
-msgstr "25"
-
-msgid "250 mm/sec."
-msgstr "250 mm/sek"
-
-msgid "26"
-msgstr "26"
-
-msgid "27"
-msgstr "27"
-
-msgid "28"
-msgstr "28"
-
-msgid "29"
-msgstr "29"
-
-msgid "3"
-msgstr "3"
-
-msgid "3 inches/sec."
-msgstr "3 tommer/sek"
-
-msgid "3 x 5"
-msgstr ""
-
-msgid "3.00x1.00\""
-msgstr "3,00 x 1,00\""
-
-msgid "3.00x1.25\""
-msgstr "3,00 x 1,25\""
-
-msgid "3.00x2.00\""
-msgstr "3,00 x 2,00\""
-
-msgid "3.00x3.00\""
-msgstr "3,00 x 3,00\""
-
-msgid "3.00x5.00\""
-msgstr "3,00 x 5,00\""
-
-msgid "3.25x2.00\""
-msgstr "3,25 x 2,00\""
-
-msgid "3.25x5.00\""
-msgstr "3,25 x 5,00\""
-
-msgid "3.25x5.50\""
-msgstr "3,25 x 5,50\""
-
-msgid "3.25x5.83\""
-msgstr "3,25 x 5,83\""
-
-msgid "3.25x7.83\""
-msgstr "3,25 x 7,83\""
-
-msgid "3.5 x 5"
-msgstr ""
-
-msgid "3.5\" Disk"
-msgstr "3,5-tommers disk"
-
-msgid "3.5\" Disk - 2 1/8 x 2 3/4\""
-msgstr "3,5-tommers disk – 2 1/8 x 2 3/4\""
-
-msgid "3.50x1.00\""
-msgstr "3,50 x 1,00\""
-
-msgid "30"
-msgstr "30"
-
-msgid "30 mm/sec."
-msgstr "30 mm/sek"
-
-msgid "300 mm/sec."
-msgstr "300 mm/sek"
-
-msgid "300dpi"
-msgstr "300 dpi"
-
-msgid "35"
-msgstr "35"
-
-msgid "360dpi"
-msgstr "360 dpi"
-
-msgid "360x180dpi"
-msgstr "360 x 180 dpi"
-
-msgid "4"
-msgstr "4"
-
-msgid "4 inches/sec."
-msgstr "4 tommer/sek"
-
-msgid "4.00x1.00\""
-msgstr "4,00 x 1,00\""
-
-msgid "4.00x13.00\""
-msgstr "4,00 x 13,00\""
-
-msgid "4.00x2.00\""
-msgstr "4,00 x 2,00\""
-
-msgid "4.00x2.50\""
-msgstr "4,00 x 2,50\""
-
-msgid "4.00x3.00\""
-msgstr "4,00 x 3,00\""
-
-msgid "4.00x4.00\""
-msgstr "4,00 x 4,00\""
-
-msgid "4.00x5.00\""
-msgstr "4,00 x 5,00\""
-
-msgid "4.00x6.00\""
-msgstr "4,00 x 6,00\""
-
-msgid "4.00x6.50\""
-msgstr "4,00 x 6,50\""
-
-msgid "40"
-msgstr "40"
-
-msgid "40 mm/sec."
-msgstr "40 mm/sek"
-
-msgid "45"
-msgstr "45"
-
-msgid "5"
-msgstr "5"
-
-msgid "5 inches/sec."
-msgstr "5 tommer/sek"
-
-msgid "5 x 7"
-msgstr ""
-
-msgid "50"
-msgstr "50"
-
-msgid "55"
-msgstr "55"
-
-msgid "6"
-msgstr "6"
-
-msgid "6 inches/sec."
-msgstr "6 tommer/sek"
-
-msgid "6.00x1.00\""
-msgstr "6,00 x 1,00\""
-
-msgid "6.00x2.00\""
-msgstr "6,00 x 2,00\""
-
-msgid "6.00x3.00\""
-msgstr "6,00 x 3,00\""
-
-msgid "6.00x4.00\""
-msgstr "6,00 x 4,00\""
-
-msgid "6.00x5.00\""
-msgstr "6,00 x 5,00\""
-
-msgid "6.00x6.00\""
-msgstr "6,00 x 6,00\""
-
-msgid "6.00x6.50\""
-msgstr "6,00 x 6,50\""
-
-msgid "60"
-msgstr "60"
-
-msgid "60 mm/sec."
-msgstr "60 mm/sek"
-
-msgid "600dpi"
-msgstr "600 dpi"
-
-msgid "60dpi"
-msgstr "60 dpi"
-
-msgid "60x72dpi"
-msgstr ""
-
-msgid "65"
-msgstr "65"
-
-msgid "7"
-msgstr "7"
-
-msgid "7 inches/sec."
-msgstr "7 tommer/sek"
-
-msgid "7 x 9"
-msgstr ""
-
-msgid "70"
-msgstr "70"
-
-msgid "720dpi"
-msgstr "720 dpi"
-
-msgid "75"
-msgstr "75"
-
-msgid "8"
-msgstr "8"
-
-msgid "8 inches/sec."
-msgstr "8 tommer/sek"
-
-msgid "8 x 10"
-msgstr ""
-
-msgid "8.00x1.00\""
-msgstr "8,00 x 1,00\""
-
-msgid "8.00x2.00\""
-msgstr "8,00 x 2,00\""
-
-msgid "8.00x3.00\""
-msgstr "8,00 x 3,00\""
-
-msgid "8.00x4.00\""
-msgstr "8,00 x 4,00\""
-
-msgid "8.00x5.00\""
-msgstr "8,00 x 5,00\""
-
-msgid "8.00x6.00\""
-msgstr "8,00 x 6,00\""
-
-msgid "8.00x6.50\""
-msgstr "8,00 x 6,50\""
-
-msgid "80"
-msgstr "80"
-
-msgid "80 mm/sec."
-msgstr "80 mm/sek"
-
-msgid "85"
-msgstr "85"
-
-msgid "9"
-msgstr "9"
-
-msgid "9 inches/sec."
-msgstr "9 tommer/sek"
-
-msgid "9 x 11"
-msgstr ""
-
-msgid "9 x 12"
-msgstr ""
-
-msgid "9-Pin Series"
-msgstr "9-pinners serie"
-
-msgid "90"
-msgstr "90"
-
-msgid "95"
-msgstr "95"
-
-msgid "?Invalid help command unknown."
-msgstr ""
-
-msgid "A Samba password is required to export printer drivers"
-msgstr ""
-
-msgid "A Samba username is required to export printer drivers"
-msgstr ""
-
-#, c-format
-msgid "A class named \"%s\" already exists."
-msgstr ""
-
-#, c-format
-msgid "A printer named \"%s\" already exists."
-msgstr ""
-
-msgid "A0"
-msgstr "A0"
-
-msgid "A0 Long Edge"
-msgstr ""
-
-msgid "A1"
-msgstr "A1"
-
-msgid "A1 Long Edge"
-msgstr ""
-
-msgid "A10"
-msgstr "A10"
-
-msgid "A2"
-msgstr "A2"
-
-msgid "A2 Long Edge"
-msgstr ""
-
-msgid "A3"
-msgstr "A3"
-
-msgid "A3 Long Edge"
-msgstr ""
-
-msgid "A3 Oversize"
-msgstr ""
-
-msgid "A3 Oversize Long Edge"
-msgstr ""
-
-msgid "A4"
-msgstr "A4"
-
-msgid "A4 Long Edge"
-msgstr ""
-
-msgid "A4 Oversize"
-msgstr ""
-
-msgid "A4 Small"
-msgstr ""
-
-msgid "A5"
-msgstr "A5"
-
-msgid "A5 Long Edge"
-msgstr ""
-
-msgid "A5 Oversize"
-msgstr ""
-
-msgid "A6"
-msgstr "A6"
-
-msgid "A6 Long Edge"
-msgstr ""
-
-msgid "A7"
-msgstr "A7"
-
-msgid "A8"
-msgstr "A8"
-
-msgid "A9"
-msgstr "A9"
-
-msgid "ANSI A"
-msgstr "ANSI A"
-
-msgid "ANSI B"
-msgstr "ANSI B"
-
-msgid "ANSI C"
-msgstr "ANSI C"
-
-msgid "ANSI D"
-msgstr "ANSI D"
-
-msgid "ANSI E"
-msgstr "ANSI E"
-
-msgid "ARCH C"
-msgstr "ARCH C"
-
-msgid "ARCH C Long Edge"
-msgstr ""
-
-msgid "ARCH D"
-msgstr "ARCH D"
-
-msgid "ARCH D Long Edge"
-msgstr ""
-
-msgid "ARCH E"
-msgstr "ARCH E"
-
-msgid "ARCH E Long Edge"
-msgstr ""
-
-msgid "Accept Jobs"
-msgstr "Motta jobber"
-
-msgid "Accepted"
-msgstr "Mottatt"
-
-msgid "Add Class"
-msgstr "Legg til klasse"
-
-msgid "Add Printer"
-msgstr "Legg til skriver"
-
-msgid "Add RSS Subscription"
-msgstr "Legg til RSS-abonnement"
-
-msgid "Address"
-msgstr "Adresse"
-
-msgid "Address - 1 1/8 x 3 1/2\""
-msgstr "Adresse – 1 1/8 x 3 1/2\""
-
-msgid "Administration"
-msgstr "Administrering"
-
-msgid "Always"
-msgstr "Alltid"
-
-msgid "AppSocket/HP JetDirect"
-msgstr "AppSocket/HP JetDirect"
-
-msgid "Applicator"
-msgstr "Applikator"
-
-#, c-format
-msgid "Attempt to set %s printer-state to bad value %d."
-msgstr ""
-
-#, c-format
-msgid "Attribute groups are out of order (%x < %x)."
-msgstr ""
-
-msgid "B0"
-msgstr "B0"
-
-msgid "B1"
-msgstr "B1"
-
-msgid "B10"
-msgstr "B10"
-
-msgid "B2"
-msgstr "B2"
-
-msgid "B3"
-msgstr "B3"
-
-msgid "B4"
-msgstr "B4"
-
-msgid "B5"
-msgstr "B5"
-
-msgid "B5 Oversize"
-msgstr ""
-
-msgid "B6"
-msgstr "B6"
-
-msgid "B7"
-msgstr "B7"
-
-msgid "B8"
-msgstr "B8"
-
-msgid "B9"
-msgstr "B9"
-
-msgid "Bad NULL dests pointer"
-msgstr "Ugyldig NULL-målpeker"
-
-msgid "Bad OpenGroup"
-msgstr "Ugyldig OpenGroup"
-
-msgid "Bad OpenUI/JCLOpenUI"
-msgstr "Ugyldig ad OpenUI/JCLOpenUI"
-
-msgid "Bad OrderDependency"
-msgstr "Ugyldig OrderDependency"
-
-msgid "Bad PPD cache file."
-msgstr ""
-
-msgid "Bad Request"
-msgstr "Ugyldig forespørsel"
-
-msgid "Bad SNMP version number"
-msgstr "Ugyldig SNMP-versjonsnummer"
-
-msgid "Bad UIConstraints"
-msgstr "Ugyldig UIConstraints"
-
-#, c-format
-msgid "Bad charset file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad charset type: %s"
-msgstr ""
-
-#, c-format
-msgid "Bad columns value %d."
-msgstr ""
-
-#, c-format
-msgid "Bad copies value %d."
-msgstr "Ugyldig kopiverdi %d."
-
-#, c-format
-msgid "Bad cpi value %f."
-msgstr ""
-
-msgid "Bad custom parameter"
-msgstr "Ugyldig, tilpasset parameter"
-
-#, c-format
-msgid "Bad device-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad device-uri scheme \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad document-format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad document-format-default \"%s\"."
-msgstr ""
-
-msgid "Bad filename buffer"
-msgstr ""
-
-#, c-format
-msgid "Bad font description line \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad font description line: %s"
-msgstr ""
-
-msgid "Bad job-priority value."
-msgstr ""
-
-#, c-format
-msgid "Bad job-sheets value \"%s\"."
-msgstr ""
-
-msgid "Bad job-sheets value type."
-msgstr ""
-
-msgid "Bad job-state value."
-msgstr ""
-
-#, c-format
-msgid "Bad job-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad lpi value %f."
-msgstr ""
-
-#, c-format
-msgid "Bad notify-pull-method \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad notify-recipient-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad number-up value %d."
-msgstr "Ugyldig number-up-verdi %d."
-
-#, c-format
-msgid "Bad option + choice on line %d."
-msgstr ""
-
-#, c-format
-msgid "Bad page-ranges values %d-%d."
-msgstr "Ugyldig page-ranges-verdier %d–%d."
-
-#, c-format
-msgid "Bad port-monitor \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad printer-state value %d."
-msgstr ""
-
-#, c-format
-msgid "Bad request ID %d."
-msgstr ""
-
-#, c-format
-msgid "Bad request version number %d.%d."
-msgstr ""
-
-msgid "Bad subscription ID"
-msgstr ""
-
-#, c-format
-msgid "Bad text direction \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad text direction: %s"
-msgstr ""
-
-#, c-format
-msgid "Bad text width \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad text width: %s"
-msgstr ""
-
-msgid "Bad value string"
-msgstr ""
-
-msgid "Banners"
-msgstr "Bannere"
-
-msgid "Billing Information: "
-msgstr "Faktureringsinformasjon: "
-
-msgid "Bond Paper"
-msgstr "Tykt papir"
-
-#, c-format
-msgid "Boolean expected for waiteof option \"%s\"."
-msgstr ""
-
-msgid "Buffer overflow detected, aborting."
-msgstr ""
-
-msgid "CMYK"
-msgstr "CMYK"
-
-msgid "CPCL Label Printer"
-msgstr "CPCL-etikettskriver"
-
-msgid "Cancel RSS Subscription"
-msgstr "Avbryt RSS-abonnement"
-
-msgid "Canceling print job."
-msgstr ""
-
-msgid "Cannot share a remote Kerberized printer."
-msgstr ""
-
-msgid "Cassette"
-msgstr ""
-
-msgid "Change Settings"
-msgstr "Endre innstillinger"
-
-#, c-format
-msgid "Character set \"%s\" not supported."
-msgstr ""
-
-msgid "Classes"
-msgstr "Klasser"
-
-msgid "Clean Print Heads"
-msgstr "Rengjør skrivehoder"
-
-msgid "Close-Job doesn't support the job-uri attribute."
-msgstr ""
-
-msgid "Color"
-msgstr "Farge"
-
-msgid "Color Mode"
-msgstr "Fargemodus"
-
-msgid ""
-"Commands may be abbreviated.  Commands are:\n"
-"\n"
-"exit    help    quit    status  ?"
-msgstr ""
-
-msgid "Community name uses indefinite length"
-msgstr "Gruppenavn bruker uendelig lengde"
-
-msgid "Connected to printer."
-msgstr ""
-
-msgid "Connecting to printer."
-msgstr ""
-
-msgid "Continue"
-msgstr "Fortsett"
-
-msgid "Continuous"
-msgstr "Kontinuerlig"
-
-msgid "Control file sent successfully."
-msgstr ""
-
-msgid "Copying print data."
-msgstr ""
-
-msgid "Created"
-msgstr "Opprettet"
-
-msgid "Created On: "
-msgstr "Opprettet på: "
-
-msgid "Custom"
-msgstr "Tilpasset"
-
-msgid "CustominCutInterval"
-msgstr "CustominCutInterval"
-
-msgid "CustominTearInterval"
-msgstr "CustominTearInterval"
-
-msgid "Cut"
-msgstr "Klipp"
-
-msgid "Cutter"
-msgstr "Kutter"
-
-msgid "Dark"
-msgstr "Mørk"
-
-msgid "Darkness"
-msgstr "Mørkhet"
-
-msgid "Data file sent successfully."
-msgstr ""
-
-msgid "Delete Class"
-msgstr "Slett klasse"
-
-msgid "Delete Printer"
-msgstr "Slett skriver"
-
-msgid "Description: "
-msgstr "Beskrivelse: "
-
-msgid "DeskJet Series"
-msgstr "DeskJet-serie"
-
-#, c-format
-msgid "Destination \"%s\" is not accepting jobs."
-msgstr "Målet «%s» mottar ikke jobber."
-
-#, c-format
-msgid ""
-"Device: uri = %s\n"
-"        class = %s\n"
-"        info = %s\n"
-"        make-and-model = %s\n"
-"        device-id = %s\n"
-"        location = %s"
-msgstr ""
-
-msgid "Direct Thermal Media"
-msgstr "Direkte varme-medium"
-
-#, c-format
-msgid "Directory \"%s\" contains a relative path."
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" is a file."
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" not available: %s"
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-msgid "Disabled"
-msgstr "Deaktivert"
-
-#, c-format
-msgid "Document #%d does not exist in job #%d."
-msgstr ""
-
-msgid "Driver Name: "
-msgstr "Drivernavn: "
-
-msgid "Driver Version: "
-msgstr "Driverversjon: "
-
-msgid "Duplexer"
-msgstr "Duplekser"
-
-msgid "Dymo"
-msgstr "Dymo"
-
-msgid "EPL1 Label Printer"
-msgstr "EPL1-etikettskriver"
-
-msgid "EPL2 Label Printer"
-msgstr "EPL2-etikettskriver"
-
-msgid "Edit Configuration File"
-msgstr "Rediger konfigurasjonsfil"
-
-msgid "Empty PPD file."
-msgstr ""
-
-#. TRANSLATORS: Banner/cover sheet after the print job.
-msgid "Ending Banner"
-msgstr "Sluttbanner"
-
-msgid "English"
-msgstr "Norwegian"
-
-msgid "Enter old password:"
-msgstr "Oppgi det gamle passordet:"
-
-msgid "Enter password again:"
-msgstr "Oppgi passordet igjen:"
-
-msgid "Enter password:"
-msgstr "Oppgi passordet:"
-
-msgid ""
-"Enter your username and password or the root username and password to access "
-"this page. If you are using Kerberos authentication, make sure you have a "
-"valid Kerberos ticket."
-msgstr ""
-"Oppgi brukernavnet og passordet ditt eller rotbrukernavnet og -passordet for "
-"å få tilgang til denne siden. Hvis du bruker Kerberos-godkjenning, forsikrer "
-"du deg om at du har en gyldig Kerberos-billett."
-
-msgid "Envelope #10 "
-msgstr ""
-
-msgid "Envelope #11"
-msgstr ""
-
-msgid "Envelope #12"
-msgstr ""
-
-msgid "Envelope #14"
-msgstr ""
-
-msgid "Envelope #9"
-msgstr ""
-
-msgid "Envelope B4"
-msgstr ""
-
-msgid "Envelope B5"
-msgstr ""
-
-msgid "Envelope B6"
-msgstr ""
-
-msgid "Envelope C0"
-msgstr ""
-
-msgid "Envelope C1"
-msgstr ""
-
-msgid "Envelope C2"
-msgstr ""
-
-msgid "Envelope C3"
-msgstr ""
-
-msgid "Envelope C4"
-msgstr ""
-
-msgid "Envelope C5"
-msgstr ""
-
-msgid "Envelope C6"
-msgstr ""
-
-msgid "Envelope C65"
-msgstr ""
-
-msgid "Envelope C7"
-msgstr ""
-
-msgid "Envelope Choukei 3"
-msgstr ""
-
-msgid "Envelope Choukei 3 Long Edge"
-msgstr ""
-
-msgid "Envelope Choukei 4"
-msgstr ""
-
-msgid "Envelope Choukei 4 Long Edge"
-msgstr ""
-
-msgid "Envelope DL"
-msgstr ""
-
-msgid "Envelope Feed"
-msgstr "Konvoluttmating"
-
-msgid "Envelope Invite"
-msgstr ""
-
-msgid "Envelope Italian"
-msgstr ""
-
-msgid "Envelope Kaku2"
-msgstr ""
-
-msgid "Envelope Kaku2 Long Edge"
-msgstr ""
-
-msgid "Envelope Kaku3"
-msgstr ""
-
-msgid "Envelope Kaku3 Long Edge"
-msgstr ""
-
-msgid "Envelope Monarch"
-msgstr ""
-
-msgid "Envelope PRC1 "
-msgstr ""
-
-msgid "Envelope PRC1 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC10"
-msgstr ""
-
-msgid "Envelope PRC10 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC2"
-msgstr ""
-
-msgid "Envelope PRC2 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC3"
-msgstr ""
-
-msgid "Envelope PRC3 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC4"
-msgstr ""
-
-msgid "Envelope PRC4 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC5 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC5PRC5"
-msgstr ""
-
-msgid "Envelope PRC6"
-msgstr ""
-
-msgid "Envelope PRC6 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC7"
-msgstr ""
-
-msgid "Envelope PRC7 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC8"
-msgstr ""
-
-msgid "Envelope PRC8 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC9"
-msgstr ""
-
-msgid "Envelope PRC9 Long Edge"
-msgstr ""
-
-msgid "Envelope Personal"
-msgstr ""
-
-msgid "Envelope You4"
-msgstr ""
-
-msgid "Envelope You4 Long Edge"
-msgstr ""
-
-msgid "Epson"
-msgstr "Epson"
-
-msgid "Error Policy"
-msgstr "Feilkriterier"
-
-msgid "Error sending raster data."
-msgstr ""
-
-msgid "Error: need hostname after \"-h\" option."
-msgstr ""
-
-msgid "Every 10 Labels"
-msgstr "Hver 10. etikett"
-
-msgid "Every 2 Labels"
-msgstr "Hver 2. etikett"
-
-msgid "Every 3 Labels"
-msgstr "Hver 3. etikett"
-
-msgid "Every 4 Labels"
-msgstr "Hver 4. etikett"
-
-msgid "Every 5 Labels"
-msgstr "Hver 5. etikett"
-
-msgid "Every 6 Labels"
-msgstr "Hver 6. etikett"
-
-msgid "Every 7 Labels"
-msgstr "Hver 7. etikett"
-
-msgid "Every 8 Labels"
-msgstr "Hver 8. etikett"
-
-msgid "Every 9 Labels"
-msgstr "Hver 9. etikett"
-
-msgid "Every Label"
-msgstr "Hver etikett"
-
-msgid "Executive"
-msgstr ""
-
-msgid "Expectation Failed"
-msgstr "Forventning mislyktes"
-
-msgid "Export Printers to Samba"
-msgstr "Eksporter skrivere til Samba"
-
-msgid "FAIL"
-msgstr ""
-
-msgid "FanFold German"
-msgstr ""
-
-msgid "FanFold Legal German"
-msgstr ""
-
-msgid "Fanfold US"
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" contains a relative path."
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" is a directory."
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" not available: %s"
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-msgid "File Folder"
-msgstr "Filmappe"
-
-msgid "File Folder - 9/16 x 3 7/16\""
-msgstr "Filmappe – 9/16 x 3 7/16\""
-
-#, c-format
-msgid ""
-"File device URIs have been disabled. To enable, see the FileDevice directive "
-"in \"%s/cupsd.conf\"."
-msgstr ""
-
-#, c-format
-msgid "Finished page %d."
-msgstr ""
-
-msgid "Folio"
-msgstr "Folio"
-
-msgid "Forbidden"
-msgstr "Forbudt"
-
-#, c-format
-msgid "Formatting page %d."
-msgstr ""
-
-msgid "General"
-msgstr "Generelt"
-
-msgid "Generic"
-msgstr "Generisk"
-
-msgid "Get-Response-PDU uses indefinite length"
-msgstr "Get-Response-PDU bruker uendelig lengde"
-
-msgid "Glossy Paper"
-msgstr "Glanset papir"
-
-msgid "Got a printer-uri attribute but no job-id."
-msgstr ""
-
-msgid "Grayscale"
-msgstr "Gråskala"
-
-msgid "HP"
-msgstr "HP"
-
-msgid "Hanging Folder"
-msgstr "Hengende mappe"
-
-msgid "Hanging Folder - 9/16 x 2\""
-msgstr "Hengende mappe – 9/16 x 2\""
-
-msgid "IPP 1setOf attribute with incompatible value tags."
-msgstr ""
-
-msgid "IPP attribute has no name."
-msgstr ""
-
-msgid "IPP begCollection value not 0 bytes."
-msgstr ""
-
-msgid "IPP boolean value not 1 byte."
-msgstr ""
-
-msgid "IPP date value not 11 bytes."
-msgstr ""
-
-msgid "IPP endCollection value not 0 bytes."
-msgstr ""
-
-msgid "IPP enum value not 4 bytes."
-msgstr ""
-
-msgid "IPP integer value not 4 bytes."
-msgstr ""
-
-msgid "IPP language length overflows value."
-msgstr ""
-
-msgid "IPP member name is not empty."
-msgstr ""
-
-msgid "IPP name larger than 32767 bytes."
-msgstr ""
-
-msgid "IPP nameWithLanguage value less than minimum 4 bytes."
-msgstr ""
-
-msgid "IPP rangeOfInteger value not 8 bytes."
-msgstr ""
-
-msgid "IPP resolution value not 9 bytes."
-msgstr ""
-
-msgid "IPP string length overflows value."
-msgstr ""
-
-msgid "IPP textWithLanguage value less than minimum 4 bytes."
-msgstr ""
-
-msgid "IPP value larger than 32767 bytes."
-msgstr ""
-
-msgid "ISOLatin1"
-msgstr "UTF-8"
-
-msgid "Illegal control character"
-msgstr "Ulovlig kontrolltegn"
-
-msgid "Illegal main keyword string"
-msgstr "Ulovlig streng for hovednøkkelord"
-
-msgid "Illegal option keyword string"
-msgstr "Ulovlig streng for valgnøkkelord"
-
-msgid "Illegal translation string"
-msgstr "Ulovlig oversettelsesstreng"
-
-msgid "Illegal whitespace character"
-msgstr "Ulovlig mellomromstegn"
-
-msgid "Installable Options"
-msgstr "Installerbare valg"
-
-msgid "Installed"
-msgstr "Installert"
-
-msgid "IntelliBar Label Printer"
-msgstr "IntelliBar-etikettskriver"
-
-msgid "Intellitech"
-msgstr "Intellitech"
-
-msgid "Internal Server Error"
-msgstr ""
-
-msgid "Internal error"
-msgstr "Intern feil"
-
-msgid "Internet Postage 2-Part"
-msgstr "Internet Postage 2 deler"
-
-msgid "Internet Postage 2-Part - 2 1/4 x 7 1/2\""
-msgstr "Internet Postage 2 deler – 2 1/4 x 7 1/2\""
-
-msgid "Internet Postage 3-Part"
-msgstr "Internet Postage 3 deler"
-
-msgid "Internet Postage 3-Part - 2 1/4 x 7\""
-msgstr "Internet Postage 3 deler – 2 1/4 x 7\""
-
-msgid "Internet Printing Protocol"
-msgstr "Internett-utskriftsprotokoll"
-
-#, c-format
-msgid "Invalid printer command \"%s\"."
-msgstr ""
-
-msgid "JCL"
-msgstr "JCL"
-
-msgid "JIS B0"
-msgstr ""
-
-msgid "JIS B1"
-msgstr ""
-
-msgid "JIS B10"
-msgstr ""
-
-msgid "JIS B2"
-msgstr ""
-
-msgid "JIS B3"
-msgstr ""
-
-msgid "JIS B4"
-msgstr ""
-
-msgid "JIS B4 Long Edge"
-msgstr ""
-
-msgid "JIS B5"
-msgstr ""
-
-msgid "JIS B5 Long Edge"
-msgstr ""
-
-msgid "JIS B6"
-msgstr ""
-
-msgid "JIS B6 Long Edge"
-msgstr ""
-
-msgid "JIS B7"
-msgstr ""
-
-msgid "JIS B8"
-msgstr ""
-
-msgid "JIS B9"
-msgstr ""
-
-#, c-format
-msgid "Job #%d cannot be restarted - no files."
-msgstr ""
-
-#, c-format
-msgid "Job #%d does not exist."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is already aborted - can't cancel."
-msgstr "Jobb nr. %d er allerede kansellert – kan ikke avbryte."
-
-#, c-format
-msgid "Job #%d is already canceled - can't cancel."
-msgstr "Jobb nr. %d er allerede avbrutt – kan ikke avbryte."
-
-#, c-format
-msgid "Job #%d is already completed - can't cancel."
-msgstr "Jobb nr. %d er allerede fullført – kan ikke avbryte."
-
-#, c-format
-msgid "Job #%d is finished and cannot be altered."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is not complete."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is not held for authentication."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is not held."
-msgstr ""
-
-msgid "Job Completed"
-msgstr "Jobb fullført"
-
-msgid "Job Created"
-msgstr "Jobb opprettet"
-
-msgid "Job ID: "
-msgstr "Jobb-ID: "
-
-msgid "Job Options Changed"
-msgstr "Jobbvalg endret"
-
-msgid "Job Stopped"
-msgstr "Jobb stoppet"
-
-msgid "Job UUID: "
-msgstr "Jobb-UUID: "
-
-msgid "Job is completed and cannot be changed."
-msgstr "Jobben er fullført og kan ikke endres."
-
-msgid "Job operation failed:"
-msgstr "Jobbhandling mislyktes:"
-
-msgid "Job state cannot be changed."
-msgstr "Jobbstatus kan ikke endres."
-
-msgid "Job subscriptions cannot be renewed."
-msgstr ""
-
-msgid "Jobs"
-msgstr "Jobber"
-
-msgid "LPD/LPR Host or Printer"
-msgstr "LPD/LPR-vert eller -skriver"
-
-msgid "Label Printer"
-msgstr "Etikettskriver"
-
-msgid "Label Top"
-msgstr "Etikettopp"
-
-#, c-format
-msgid "Language \"%s\" not supported."
-msgstr ""
-
-msgid "Large Address"
-msgstr "Stor adresse"
-
-msgid "Large Address - 1 4/10 x 3 1/2\""
-msgstr "Stor adresse – 1 4/10 x 3 1/2\""
-
-msgid "LaserJet Series PCL 4/5"
-msgstr "LaserJet-serie PCL 4/5"
-
-msgid "Letter Oversize"
-msgstr ""
-
-msgid "Letter Oversize Long Edge"
-msgstr ""
-
-msgid "Light"
-msgstr "Lys"
-
-msgid "Line longer than the maximum allowed (255 characters)"
-msgstr "Linjen er lengre enn det som er tillatt (255 tegn)"
-
-msgid "List Available Printers"
-msgstr "Vis tilgjengelige skrivere"
-
-msgid "Loading print file."
-msgstr ""
-
-msgid "Location: "
-msgstr "Plassering: "
-
-msgid "Long-Edge (Portrait)"
-msgstr "Langside (stående)"
-
-msgid "Looking for printer."
-msgstr ""
-
-msgid "Make and Model: "
-msgstr "Merke og modell: "
-
-msgid "Manual Feed"
-msgstr "Manuell mating"
-
-msgid "Media Dimensions: "
-msgstr "Mediestørrelse: "
-
-msgid "Media Limits: "
-msgstr "Mediebegrensninger: "
-
-msgid "Media Name: "
-msgstr "Medienavn: "
-
-msgid "Media Size"
-msgstr "Papirstørrelse"
-
-msgid "Media Source"
-msgstr "Papirkilde"
-
-msgid "Media Tracking"
-msgstr "Mediesporing"
-
-msgid "Media Type"
-msgstr "Papirtype"
-
-msgid "Medium"
-msgstr "Medium"
-
-msgid "Memory allocation error"
-msgstr "Feil med hukommelsestildeling"
-
-msgid "Missing CloseGroup"
-msgstr ""
-
-msgid "Missing PPD-Adobe-4.x header"
-msgstr "PPD-Adobe-4.x-header mangler"
-
-msgid "Missing asterisk in column 1"
-msgstr "Stjerne mangler i kolonne 1"
-
-msgid "Missing document-number attribute."
-msgstr ""
-
-#, c-format
-msgid "Missing double quote on line %d."
-msgstr ""
-
-msgid "Missing form variable"
-msgstr ""
-
-msgid "Missing last-document attribute in request."
-msgstr ""
-
-msgid "Missing media or media-col."
-msgstr ""
-
-msgid "Missing media-size in media-col."
-msgstr ""
-
-msgid "Missing notify-subscription-ids attribute."
-msgstr ""
-
-msgid "Missing option keyword"
-msgstr ""
-
-msgid "Missing requesting-user-name attribute."
-msgstr ""
-
-msgid "Missing required attributes."
-msgstr ""
-
-#, c-format
-msgid "Missing value on line %d of banner file."
-msgstr ""
-
-#, c-format
-msgid "Missing value on line %d."
-msgstr ""
-
-msgid "Missing value string"
-msgstr "Verdistreng mangler"
-
-msgid "Missing x-dimension in media-size."
-msgstr ""
-
-msgid "Missing y-dimension in media-size."
-msgstr ""
-
-#, c-format
-msgid ""
-"Model:  name = %s\n"
-"        natural_language = %s\n"
-"        make-and-model = %s\n"
-"        device-id = %s"
-msgstr ""
-
-msgid "Modify Class"
-msgstr "Endre klasse"
-
-msgid "Modify Printer"
-msgstr "Endre skriver"
-
-msgid "Move All Jobs"
-msgstr "Flytt alle jobber"
-
-msgid "Move Job"
-msgstr "Flytt jobb"
-
-msgid "Moved Permanently"
-msgstr "Flyttet permanent"
-
-msgid "NULL PPD file pointer"
-msgstr "NULL PPD-filpeker"
-
-msgid "Name OID uses indefinite length"
-msgstr "Navn-OID bruker uendelig lengde"
-
-msgid "Nested classes are not allowed."
-msgstr ""
-
-msgid "Never"
-msgstr "Aldri"
-
-msgid "New Stylus Color Series"
-msgstr "Ny Stylus Color-serie"
-
-msgid "New Stylus Photo Series"
-msgstr "Ny Stylus Photo-serie"
-
-msgid "No"
-msgstr "Nei"
-
-msgid "No Content"
-msgstr "Uten innhold"
-
-msgid "No PPD name"
-msgstr ""
-
-msgid "No VarBind SEQUENCE"
-msgstr "Ingen VarBind SEQUENCE"
-
-msgid "No Windows printer drivers are installed."
-msgstr ""
-
-msgid "No active connection"
-msgstr "Ingen aktive tilkoblinger"
-
-#, c-format
-msgid "No active jobs on %s."
-msgstr ""
-
-msgid "No attributes in request."
-msgstr ""
-
-msgid "No authentication information provided."
-msgstr ""
-
-msgid "No community name"
-msgstr "Ingen gruppenavn"
-
-msgid "No default printer."
-msgstr ""
-
-msgid "No destinations added."
-msgstr "Ingen mål lagt til."
-
-msgid "No device URI found in argv[0] or in DEVICE_URI environment variable."
-msgstr ""
-
-msgid "No error-index"
-msgstr "Ingen error-index"
-
-msgid "No error-status"
-msgstr "Ingen error-status"
-
-msgid "No file in print request."
-msgstr ""
-
-msgid "No fonts in charset file."
-msgstr ""
-
-msgid "No modification time"
-msgstr ""
-
-msgid "No name OID"
-msgstr "Uten navn-OID"
-
-msgid "No pages were found."
-msgstr ""
-
-msgid "No printer name"
-msgstr ""
-
-msgid "No printer-uri found"
-msgstr ""
-
-msgid "No printer-uri found for class"
-msgstr ""
-
-msgid "No printer-uri in request."
-msgstr ""
-
-msgid "No request-id"
-msgstr "Ingen request-id"
-
-msgid "No subscription attributes in request."
-msgstr ""
-
-msgid "No subscriptions found."
-msgstr "Fant ingen abonnementer."
-
-msgid "No variable-bindings SEQUENCE"
-msgstr "Ingen variable-bindings SEQUENCE"
-
-msgid "No version number"
-msgstr "Uten versjonsnummer"
-
-msgid "Non-continuous (Mark sensing)"
-msgstr "Ikke fortløpende (merkeregistrering)"
-
-msgid "Non-continuous (Web sensing)"
-msgstr "Ikke fortløpende (webregistrering)"
-
-msgid "Normal"
-msgstr "Vanlig"
-
-msgid "Not Found"
-msgstr "Ikke funnet"
-
-msgid "Not Implemented"
-msgstr "Ikke implementert"
-
-msgid "Not Installed"
-msgstr "Ikke installert"
-
-msgid "Not Modified"
-msgstr "Ikke modifisert"
-
-msgid "Not Supported"
-msgstr "Ikke støttet"
-
-msgid "Not allowed to print."
-msgstr "Utskrift ikke tillatt."
-
-msgid "Note"
-msgstr "Merk"
-
-msgid ""
-"Note: this program only validates the DSC comments, not the PostScript "
-"itself."
-msgstr ""
-
-msgid "OK"
-msgstr "OK"
-
-msgid "Off (1-Sided)"
-msgstr "Av (énsidig)"
-
-msgid "Oki"
-msgstr "Oki"
-
-msgid "Online Help"
-msgstr "Internett-basert hjelp"
-
-#, c-format
-msgid "Open of %s failed: %s"
-msgstr "Åpning av %s mislyktes: %s"
-
-msgid "OpenGroup without a CloseGroup first"
-msgstr "OpenGroup uten CloseGroup først"
-
-msgid "OpenUI/JCLOpenUI without a CloseUI/JCLCloseUI first"
-msgstr "OpenUI/JCLOpenUI uten CloseUI/JCLCloseUI først"
-
-msgid "Operation Policy"
-msgstr "Handlingskriterier"
-
-#, c-format
-msgid "Option \"%s\" cannot be included via %%%%IncludeFeature."
-msgstr ""
-
-msgid "Options Installed"
-msgstr "Valg installert"
-
-msgid "Options:"
-msgstr ""
-
-msgid "Options: "
-msgstr "Valg: "
-
-msgid "Out of date PPD cache file."
-msgstr ""
-
-msgid "Out of memory."
-msgstr ""
-
-msgid "Output Mode"
-msgstr "Utdatamodus"
-
-#, c-format
-msgid "Output for printer %s is sent to %s"
-msgstr ""
-
-#, c-format
-msgid "Output for printer %s is sent to remote printer %s on %s"
-msgstr ""
-
-#, c-format
-msgid "Output for printer %s/%s is sent to %s"
-msgstr ""
-
-#, c-format
-msgid "Output for printer %s/%s is sent to remote printer %s on %s"
-msgstr ""
-
-msgid "PASS"
-msgstr ""
-
-msgid "PCL Laser Printer"
-msgstr "PCL-laserskriver"
-
-msgid "PRC16K"
-msgstr "PRC16K"
-
-msgid "PRC16K Long Edge"
-msgstr ""
-
-msgid "PRC32K"
-msgstr "PRC32K"
-
-msgid "PRC32K Long Edge"
-msgstr ""
-
-msgid "PRC32K Oversize"
-msgstr ""
-
-msgid "PRC32K Oversize Long Edge"
-msgstr ""
-
-msgid "Packet does not contain a Get-Response-PDU"
-msgstr "Pakken inneholder ikke en Get-Response-PDU"
-
-msgid "Packet does not start with SEQUENCE"
-msgstr "Pakken begynner ikke med SEQUENCE"
-
-msgid "ParamCustominCutInterval"
-msgstr "ParamCustominCutInterval"
-
-msgid "ParamCustominTearInterval"
-msgstr "ParamCustominTearInterval"
-
-#, c-format
-msgid "Password for %s on %s? "
-msgstr "Passord for %s på %s? "
-
-#, c-format
-msgid "Password for %s required to access %s via SAMBA: "
-msgstr "Passord for %s kreves for å få tilgang til %s via SAMBA: "
-
-msgid "Pause Class"
-msgstr "Sett klasse på pause"
-
-msgid "Pause Printer"
-msgstr "Sett skriver på pause"
-
-msgid "Peel-Off"
-msgstr "Fjern papir"
-
-msgid "Photo"
-msgstr "Foto"
-
-msgid "Photo Labels"
-msgstr "Fotoetiketter"
-
-msgid "Plain Paper"
-msgstr "Vanlig papir"
-
-msgid "Policies"
-msgstr "Kriterier"
-
-msgid "Port Monitor"
-msgstr "Portovervåking"
-
-msgid "PostScript Printer"
-msgstr "PostScript-skriver"
-
-msgid "Postcard"
-msgstr "Postkort"
-
-msgid "Postcard Double "
-msgstr ""
-
-msgid "Postcard Double Long Edge"
-msgstr ""
-
-msgid "Postcard Long Edge"
-msgstr ""
-
-msgid "Print Density"
-msgstr "Utskriftstetthet"
-
-msgid "Print Job:"
-msgstr "Utskriftsjobb:"
-
-msgid "Print Mode"
-msgstr "Utskriftsmodus"
-
-msgid "Print Rate"
-msgstr "Utskriftshastighet"
-
-msgid "Print Self-Test Page"
-msgstr "Skriv ut testside"
-
-msgid "Print Speed"
-msgstr "Utskriftshastighet"
-
-msgid "Print Test Page"
-msgstr "Skriv ut testside"
-
-msgid "Print and Cut"
-msgstr "Skriv ut og klipp"
-
-msgid "Print and Tear"
-msgstr "Skriv ut og riv"
-
-#, c-format
-msgid "Print file accepted - job ID %d."
-msgstr ""
-
-msgid "Print file accepted - job ID unknown."
-msgstr ""
-
-msgid "Print file sent."
-msgstr ""
-
-msgid "Print file was not accepted."
-msgstr ""
-
-msgid "Print job too large."
-msgstr ""
-
-msgid "Printed For: "
-msgstr "Skrevet ut for: "
-
-msgid "Printed From: "
-msgstr "Skrevet ut fra: "
-
-msgid "Printed On: "
-msgstr "Skrevet ut på: "
-
-msgid "Printer Added"
-msgstr "Skriver lagt til"
-
-msgid "Printer Default"
-msgstr "Skriverstandard"
-
-msgid "Printer Deleted"
-msgstr "Skriver slettet"
-
-msgid "Printer Modified"
-msgstr "Skriver endret"
-
-msgid "Printer Name: "
-msgstr "Skrivernavn: "
-
-msgid "Printer Paused"
-msgstr "Skriver satt på pause"
-
-msgid "Printer Settings"
-msgstr "Skriverinnstillinger"
-
-msgid "Printer busy, will retry in 10 seconds."
-msgstr ""
-
-msgid "Printer busy; will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer did not respond."
-msgstr ""
-
-#, c-format
-msgid "Printer does not support IPP/%d.%d, trying IPP/%s."
-msgstr ""
-
-msgid "Printer is busy, will retry in 5 seconds."
-msgstr ""
-
-msgid "Printer is not currently connected."
-msgstr ""
-
-msgid "Printer is now connected."
-msgstr ""
-
-msgid "Printer is now online."
-msgstr ""
-
-msgid "Printer is offline."
-msgstr ""
-
-msgid "Printer not connected, will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer not connected; will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer:"
-msgstr "Skriver:"
-
-msgid "Printers"
-msgstr "Skrivere"
-
-#, c-format
-msgid "Printing page %d, %d%% complete."
-msgstr ""
-
-#, c-format
-msgid "Printing page %d."
-msgstr ""
-
-msgid "Purge Jobs"
-msgstr "Tøm jobber"
-
-msgid "Quarto"
-msgstr "Quarto"
-
-msgid "Quota limit reached."
-msgstr "Begrensning nådd."
-
-msgid "Rank    Owner   Job     File(s)                         Total Size"
-msgstr ""
-
-#. TRANSLATORS: Pri is job priority.
-msgid ""
-"Rank   Owner      Pri  Job        Files                       Total Size"
-msgstr ""
-
-msgid "Ready to print."
-msgstr ""
-
-msgid "Reject Jobs"
-msgstr "Avslå jobber"
-
-#, c-format
-msgid "Remote host did not accept control file (%d)."
-msgstr ""
-
-#, c-format
-msgid "Remote host did not accept data file (%d)."
-msgstr ""
-
-msgid "Reprint After Error"
-msgstr "Skriv ut på nytt etter feil"
-
-msgid "Request Entity Too Large"
-msgstr "Forespørselsobjektet er for stort"
-
-msgid "Resolution"
-msgstr "Oppløsning"
-
-msgid "Resume Class"
-msgstr "Fortsett med klasse"
-
-msgid "Resume Printer"
-msgstr "Fortsett med skriver"
-
-msgid "Return Address"
-msgstr "Avsenderadresse"
-
-msgid "Return Address - 3/4 x 2\""
-msgstr "Avsenderadresse – 3/4 x 2\""
-
-msgid "Rewind"
-msgstr "Spol tilbake"
-
-#, c-format
-msgid "Running command: %s %s -N -A %s -c '%s'"
-msgstr ""
-
-msgid "SEQUENCE uses indefinite length"
-msgstr "SEQUENCE bruker uendelig lengde"
-
-msgid "SSL/TLS Negotiation Error"
-msgstr ""
-
-msgid "See Other"
-msgstr "Se andre"
-
-msgid "Sending data to printer."
-msgstr ""
-
-#, c-format
-msgid "Serial Port #%d"
-msgstr "Serieport nr. %d"
-
-msgid "Server Restarted"
-msgstr "Tjener startet på nytt"
-
-msgid "Server Security Auditing"
-msgstr "Sikkerhetsgjennomgang for tjener"
-
-msgid "Server Started"
-msgstr "Tjener startet"
-
-msgid "Server Stopped"
-msgstr "Tjener stoppet"
-
-msgid "Service Unavailable"
-msgstr "Tjeneste ikke tilgjengelig"
-
-msgid "Set Allowed Users"
-msgstr "Angi tillatte brukere"
-
-msgid "Set As Server Default"
-msgstr "Bruk som tjenerstandard"
-
-msgid "Set Class Options"
-msgstr "Angi klassevalg"
-
-msgid "Set Printer Options"
-msgstr "Angi skrivervalg"
-
-msgid "Set Publishing"
-msgstr "Angi publisering"
-
-msgid "Shipping Address"
-msgstr "Leveringsadresse"
-
-msgid "Shipping Address - 2 5/16 x 4\""
-msgstr "Leveringsadresse – 2 5/16 x 4\""
-
-msgid "Short-Edge (Landscape)"
-msgstr "Kortside (liggende)"
-
-msgid "Special Paper"
-msgstr "Spesialpapir"
-
-#, c-format
-msgid "Spooling job, %.0f%% complete."
-msgstr ""
-
-msgid "Standard"
-msgstr "Standard"
-
-#. TRANSLATORS: Banner/cover sheet before the print job.
-msgid "Starting Banner"
-msgstr "Startbanner"
-
-#, c-format
-msgid "Starting page %d."
-msgstr ""
-
-msgid "Statement"
-msgstr "Melding"
-
-msgid "Stylus Color Series"
-msgstr "Stylus Color-serie"
-
-msgid "Stylus Photo Series"
-msgstr "Stylus Photo-serie"
-
-#, c-format
-msgid "Subscription #%d does not exist."
-msgstr ""
-
-msgid "Super A"
-msgstr "Super A"
-
-msgid "Super B"
-msgstr "Super B"
-
-msgid "Super B/A3"
-msgstr "Super B/A3"
-
-msgid "Switching Protocols"
-msgstr "Bytter protokoll"
-
-msgid "Tabloid"
-msgstr "Tabloid"
-
-msgid "Tabloid Oversize"
-msgstr ""
-
-msgid "Tabloid Oversize Long Edge"
-msgstr ""
-
-msgid "Tear"
-msgstr "Riv"
-
-msgid "Tear-Off"
-msgstr "Riv av"
-
-msgid "Tear-Off Adjust Position"
-msgstr "Riv av, juster plassering"
-
-#, c-format
-msgid "The %s attribute cannot be provided with job-ids."
-msgstr ""
-
-#, c-format
-msgid "The PPD file \"%s\" could not be found."
-msgstr "Fant ikke PPD-filen «%s»."
-
-#, c-format
-msgid "The PPD file \"%s\" could not be opened: %s"
-msgstr "Kunne ikke åpne PPD-filen «%s»: %s"
-
-msgid "The PPD file could not be opened."
-msgstr ""
-
-msgid ""
-"The class name may only contain up to 127 printable characters and may not "
-"contain spaces, slashes (/), or the pound sign (#)."
-msgstr ""
-"Klassenavnet kan kun inneholde opptil 127 tegn som kan skrives ut, og kan "
-"ikke inneholde mellomrom, skråstrek (/) eller firkanttegn (#)."
-
-msgid "The developer unit needs to be replaced."
-msgstr ""
-
-msgid "The developer unit will need to be replaced soon."
-msgstr ""
-
-msgid "The fuser's temperature is high."
-msgstr ""
-
-msgid "The fuser's temperature is low."
-msgstr ""
-
-msgid ""
-"The notify-lease-duration attribute cannot be used with job subscriptions."
-msgstr ""
-"Notify-lease-duration-attributtet kan ikke brukes med jobbabonnementer."
-
-#, c-format
-msgid "The notify-user-data value is too large (%d > 63 octets)."
-msgstr ""
-
-msgid "The optical photoconductor needs to be replaced."
-msgstr ""
-
-msgid "The optical photoconductor will need to be replaced soon."
-msgstr ""
-
-msgid "The output bin is almost full."
-msgstr ""
-
-msgid "The output bin is full."
-msgstr ""
-
-msgid "The output bin is missing."
-msgstr ""
-
-msgid "The page setup information was not valid."
-msgstr ""
-
-msgid "The paper tray is almost empty."
-msgstr ""
-
-msgid "The paper tray is empty."
-msgstr ""
-
-msgid "The paper tray is missing."
-msgstr ""
-
-msgid "The paper tray needs to be filled."
-msgstr ""
-
-msgid "The print file could not be opened."
-msgstr ""
-
-msgid "The printer URI is incorrect or no longer exists."
-msgstr ""
-
-msgid "The printer is busy."
-msgstr ""
-
-msgid "The printer is not connected."
-msgstr ""
-
-msgid "The printer is not responding."
-msgstr ""
-
-msgid "The printer is out of ink."
-msgstr ""
-
-msgid "The printer is running low on ink."
-msgstr ""
-
-msgid "The printer is running low on toner."
-msgstr ""
-
-msgid "The printer is unreachable at this time."
-msgstr ""
-
-msgid "The printer may be out of toner."
-msgstr ""
-
-msgid "The printer may not exist or is unavailable at this time."
-msgstr ""
-
-msgid ""
-"The printer name may only contain up to 127 printable characters and may not "
-"contain spaces, slashes (/), or the pound sign (#)."
-msgstr ""
-"Skrivernavnet kan kun inneholde opptil 127 tegn som kan skrives ut, og kan "
-"ikke inneholde mellomrom, skråstrek (/) eller firkanttegn (#)."
-
-msgid "The printer or class does not exist."
-msgstr ""
-
-msgid "The printer or class is not shared."
-msgstr ""
-
-msgid "The printer's cover is open."
-msgstr ""
-
-msgid "The printer's door is open."
-msgstr ""
-
-msgid "The printer's interlock is open."
-msgstr ""
-
-msgid "The printer's waste bin is almost full."
-msgstr ""
-
-msgid "The printer's waste bin is full."
-msgstr ""
-
-#, c-format
-msgid "The printer-uri \"%s\" contains invalid characters."
-msgstr "Printer-uri «%s» inneholder ugyldige tegn."
-
-msgid "The printer-uri attribute is required."
-msgstr ""
-
-msgid ""
-"The printer-uri must be of the form \"ipp://HOSTNAME/classes/CLASSNAME\"."
-msgstr "Printer-uri må ha formatet «ipp://VERTSNAVN/klasser/KLASSENAVN»."
-
-msgid ""
-"The printer-uri must be of the form \"ipp://HOSTNAME/printers/PRINTERNAME\"."
-msgstr "Printer-uri må ha formatet «ipp://VERTSNAVN/skrivere/SKRIVERNAVN»."
-
-msgid ""
-"The subscription name may not contain spaces, slashes (/), question marks "
-"(?), or the pound sign (#)."
-msgstr ""
-"Abonnementsnavnet kan ikke inneholde mellomrom, skråstrek (/), spørsmålstegn "
-"(?) eller firkanttegn (#)."
-
-msgid ""
-"The web interface is currently disabled. Run \"cupsctl WebInterface=yes\" to "
-"enable it."
-msgstr ""
-
-#, c-format
-msgid "The which-jobs value \"%s\" is not supported."
-msgstr ""
-
-msgid "There are too many subscriptions."
-msgstr "For mange abonnementer."
-
-msgid "There is a paper jam."
-msgstr ""
-
-msgid "There was an unrecoverable USB error."
-msgstr ""
-
-msgid "Thermal Transfer Media"
-msgstr "Varmeoverføringsmedium"
-
-msgid "Title: "
-msgstr "Tittel: "
-
-msgid "Too many active jobs."
-msgstr "For mange aktive jobber."
-
-#, c-format
-msgid "Too many job-sheets values (%d > 2)."
-msgstr ""
-
-#, c-format
-msgid "Too many printer-state-reasons values (%d > %d)."
-msgstr ""
-
-msgid "Transparency"
-msgstr "Gjennomsiktighet"
-
-msgid "Tray"
-msgstr "Skuff"
-
-msgid "Tray 1"
-msgstr "Skuff 1"
-
-msgid "Tray 2"
-msgstr "Skuff 2"
-
-msgid "Tray 3"
-msgstr "Skuff 3"
-
-msgid "Tray 4"
-msgstr "Skuff 4"
-
-msgid "URI Too Long"
-msgstr "URI for lang"
-
-msgid "US Ledger"
-msgstr "US Ledger"
-
-msgid "US Legal"
-msgstr "US Legal"
-
-msgid "US Legal Oversize"
-msgstr ""
-
-msgid "US Letter"
-msgstr "US Letter"
-
-msgid "US Letter Long Edge"
-msgstr ""
-
-msgid "US Letter Oversize"
-msgstr ""
-
-msgid "US Letter Oversize Long Edge"
-msgstr ""
-
-msgid "US Letter Small"
-msgstr ""
-
-#, c-format
-msgid "USB Serial Port #%d"
-msgstr "USB-serieport nr. %d"
-
-msgid "Unable to access cupsd.conf file:"
-msgstr "Får ikke tilgang til cupsd.conf-fil:"
-
-msgid "Unable to add RSS subscription:"
-msgstr "Kan ikke legge til RSS-abonnement:"
-
-msgid "Unable to add class:"
-msgstr "Kan ikke legge til klasse:"
-
-msgid "Unable to add document to print job."
-msgstr ""
-
-#, c-format
-msgid "Unable to add job for destination \"%s\"."
-msgstr ""
-
-msgid "Unable to add printer:"
-msgstr "Kan ikke legge til skriver:"
-
-msgid "Unable to allocate memory for file types."
-msgstr ""
-
-msgid "Unable to allocate memory for page info"
-msgstr ""
-
-msgid "Unable to allocate memory for pages array"
-msgstr ""
-
-msgid "Unable to cancel RSS subscription:"
-msgstr "Kan ikke avslutte RSS-abonnement:"
-
-msgid "Unable to cancel print job."
-msgstr ""
-
-msgid "Unable to change printer-is-shared attribute:"
-msgstr "Kan ikke endre printer-is-shared-attributt:"
-
-msgid "Unable to change printer:"
-msgstr "Kan ikke endre skriver:"
-
-msgid "Unable to change server settings:"
-msgstr "Kan ikke endre tjenerinnstillinger:"
-
-msgid "Unable to configure printer options."
-msgstr ""
-
-msgid "Unable to connect to host."
-msgstr "Kan ikke koble til vert"
-
-msgid "Unable to contact printer, queuing on next printer in class."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy 64-bit CUPS printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy 64-bit Windows printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy CUPS printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy PPD file - %s"
-msgstr ""
-
-msgid "Unable to copy PPD file."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy Windows 2000 printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy Windows 9x printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy interface script - %s"
-msgstr ""
-
-msgid "Unable to copy print file"
-msgstr ""
-
-msgid "Unable to create compressed print file"
-msgstr ""
-
-msgid "Unable to create pipes for filters"
-msgstr ""
-
-msgid "Unable to create printer-uri"
-msgstr ""
-
-msgid "Unable to create temporary file"
-msgstr ""
-
-msgid "Unable to create temporary file:"
-msgstr "Kan ikke opprette midlertidig fil:"
-
-msgid "Unable to delete class:"
-msgstr "Kan ikke slette klasse:"
-
-msgid "Unable to delete printer:"
-msgstr "Kan ikke slette skriver:"
-
-msgid "Unable to do maintenance command:"
-msgstr "Kan ikke utføre vedlikeholdskommando:"
-
-msgid "Unable to edit cupsd.conf files larger than 1MB"
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (certificate chain invalid)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (certificate not yet valid)."
-msgstr ""
-
-msgid "Unable to establish a secure connection to host (expired certificate)."
-msgstr ""
-
-msgid "Unable to establish a secure connection to host (host name mismatch)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (peer dropped connection "
-"before responding)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (self-signed certificate)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (untrusted certificate)."
-msgstr ""
-
-msgid "Unable to establish a secure connection to host."
-msgstr ""
-
-msgid "Unable to find destination for job"
-msgstr ""
-
-msgid "Unable to find printer."
-msgstr ""
-
-msgid "Unable to fork filter"
-msgstr ""
-
-msgid "Unable to generate compressed print file"
-msgstr ""
-
-msgid "Unable to get backend exit status."
-msgstr ""
-
-msgid "Unable to get class list:"
-msgstr "Kan ikke hente klasseliste:"
-
-msgid "Unable to get class status:"
-msgstr "Kan ikke hente klassestatus:"
-
-msgid "Unable to get list of printer drivers:"
-msgstr "Kan ikke hente liste over skriverdrivere:"
-
-msgid "Unable to get printer attributes:"
-msgstr "Kan ikke hente skriverattributter:"
-
-msgid "Unable to get printer list:"
-msgstr "Kan ikke hente skriverliste:"
-
-msgid "Unable to get printer status."
-msgstr ""
-
-msgid "Unable to get printer status:"
-msgstr "Kan ikke hente skriverstatus:"
-
-#, c-format
-msgid "Unable to install Windows 2000 printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to install Windows 9x printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to locate printer \"%s\"."
-msgstr ""
-
-msgid "Unable to locate printer."
-msgstr ""
-
-msgid "Unable to modify class:"
-msgstr "Kan ikke endre klasse:"
-
-msgid "Unable to modify printer:"
-msgstr "Kan ikke endre skriver:"
-
-msgid "Unable to move job"
-msgstr "Kan ikke flytte jobb"
-
-msgid "Unable to move jobs"
-msgstr "Kan ikke flytte jobber"
-
-msgid "Unable to open PPD file"
-msgstr "Kan ikke åpne PPD-fil"
-
-msgid "Unable to open PPD file:"
-msgstr "Kan ikke åpne PPD-fil:"
-
-msgid "Unable to open charset file"
-msgstr ""
-
-msgid "Unable to open compressed print file"
-msgstr ""
-
-msgid "Unable to open cupsd.conf file:"
-msgstr "Kan ikke åpne cupsd.conf-fil:"
-
-msgid "Unable to open device file"
-msgstr ""
-
-#, c-format
-msgid "Unable to open document #%d in job #%d."
-msgstr ""
-
-msgid "Unable to open print file"
-msgstr ""
-
-msgid "Unable to open psglyphs"
-msgstr ""
-
-msgid "Unable to open raster file"
-msgstr ""
-
-#, c-format
-msgid "Unable to print %d text columns."
-msgstr ""
-
-#, c-format
-msgid "Unable to print %dx%d text page."
-msgstr ""
-
-msgid "Unable to print test page:"
-msgstr "Kan ikke skrive ut testside:"
-
-msgid "Unable to read print data"
-msgstr ""
-
-msgid "Unable to read print data."
-msgstr ""
-
-#, c-format
-msgid "Unable to run \"%s\": %s"
-msgstr ""
-
-msgid "Unable to see in file"
-msgstr ""
-
-msgid "Unable to send command to printer driver"
-msgstr ""
-
-msgid "Unable to send data to printer."
-msgstr ""
-
-msgid "Unable to send raster data to the driver."
-msgstr ""
-
-#, c-format
-msgid "Unable to set Windows printer driver (%d)."
-msgstr ""
-
-msgid "Unable to set options:"
-msgstr "Kan ikke angi valg:"
-
-msgid "Unable to set server default:"
-msgstr "Kan ikke angi tjenerstandard:"
-
-msgid "Unable to start backend process."
-msgstr ""
-
-msgid "Unable to upload cupsd.conf file:"
-msgstr "Kan ikke laste opp cupsd.conf-fil:"
-
-msgid "Unable to use legacy USB class driver."
-msgstr ""
-
-msgid "Unable to write print data"
-msgstr ""
-
-#, c-format
-msgid "Unable to write uncompressed print data: %s"
-msgstr ""
-
-msgid "Unauthorized"
-msgstr "Uautorisert"
-
-msgid "Units"
-msgstr "Enheter"
-
-msgid "Unknown"
-msgstr "Ukjent"
-
-#, c-format
-msgid "Unknown choice \"%s\" for option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown encryption option value: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown file order: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown format character: \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown option \"%s\" with value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown print mode: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown printer-error-policy \"%s\"."
-msgstr "Ukjent printer-error-policy «%s»."
-
-#, c-format
-msgid "Unknown printer-op-policy \"%s\"."
-msgstr "Ukjent printer-op-policy «%s»."
-
-#, c-format
-msgid "Unknown version option value: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported baud rate: %s"
-msgstr ""
-
-#, c-format
-msgid "Unsupported brightness value %s, using brightness=100."
-msgstr ""
-
-#, c-format
-msgid "Unsupported character set \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported compression \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported document-format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported document-format \"%s/%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported gamma value %s, using gamma=1000."
-msgstr ""
-
-msgid "Unsupported margins."
-msgstr ""
-
-msgid "Unsupported media value."
-msgstr ""
-
-#, c-format
-msgid "Unsupported number-up value %d, using number-up=1."
-msgstr ""
-
-#, c-format
-msgid "Unsupported number-up-layout value %s, using number-up-layout=lrtb."
-msgstr ""
-
-#, c-format
-msgid "Unsupported page-border value %s, using page-border=none."
-msgstr ""
-
-msgid "Unsupported raster data."
-msgstr ""
-
-msgid "Unsupported value type"
-msgstr "Verditypen støttes ikke"
-
-msgid "Upgrade Required"
-msgstr "Oppgradering kreves"
-
-msgid ""
-"Usage:\n"
-"\n"
-"    lpadmin [-h server] -d destination\n"
-"    lpadmin [-h server] -x destination\n"
-"    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m model]\n"
-"                       [-r remove-class] [-v device] [-D description]\n"
-"                       [-P ppd-file] [-o name=value]\n"
-"                       [-u allow:user,user] [-u deny:user,user]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job user title copies options [filename]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job-id user title copies options [file]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job-id user title copies options file"
-msgstr ""
-
-msgid "Usage: convert [ options ]"
-msgstr ""
-
-msgid "Usage: cupsaddsmb [options] printer1 ... printerN"
-msgstr ""
-
-msgid "Usage: cupsctl [options] [param=value ... paramN=valueN]"
-msgstr ""
-
-msgid "Usage: cupsd [options]"
-msgstr ""
-
-msgid "Usage: cupsfilter [ options ] filename"
-msgstr ""
-
-msgid "Usage: cupstestdsc [options] filename.ps [... filename.ps]"
-msgstr ""
-
-msgid ""
-"Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]"
-msgstr ""
-
-msgid "Usage: ipptool [options] URI filename [ ... filenameN ]"
-msgstr ""
-
-msgid "Usage: lpmove job/src dest"
-msgstr ""
-
-msgid ""
-"Usage: lpoptions [-h server] [-E] -d printer\n"
-"       lpoptions [-h server] [-E] [-p printer] -l\n"
-"       lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
-"       lpoptions [-h server] [-E] -x printer"
-msgstr ""
-
-msgid "Usage: lppasswd [-g groupname]"
-msgstr ""
-
-msgid ""
-"Usage: lppasswd [-g groupname] [username]\n"
-"       lppasswd [-g groupname] -a [username]\n"
-"       lppasswd [-g groupname] -x [username]"
-msgstr ""
-
-msgid ""
-"Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]"
-msgstr ""
-
-msgid "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]"
-msgstr ""
-
-msgid "Usage: ppdhtml [options] filename.drv >filename.html"
-msgstr ""
-
-msgid "Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]"
-msgstr ""
-
-msgid "Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]"
-msgstr ""
-
-msgid ""
-"Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]"
-msgstr ""
-
-msgid "Usage: snmp [host-or-ip-address]"
-msgstr ""
-
-msgid "Value uses indefinite length"
-msgstr "Verdi bruker uendelig lengde"
-
-msgid "VarBind uses indefinite length"
-msgstr "VarBind bruker uendelig lengde"
-
-msgid "Version uses indefinite length"
-msgstr "Versjon bruker uendelig lengde"
-
-msgid "Waiting for job to complete."
-msgstr ""
-
-msgid "Waiting for printer to become available."
-msgstr ""
-
-msgid "Waiting for printer to finish."
-msgstr ""
-
-msgid "Warning, no Windows 2000 printer drivers are installed."
-msgstr ""
-
-msgid "Web Interface is Disabled"
-msgstr ""
-
-msgid "Yes"
-msgstr "Ja"
-
-#, c-format
-msgid ""
-"You must access this page using the URL <A HREF=\"https://%s:%d%s\">https://%"
-"s:%d%s</A>."
-msgstr ""
-"Du må få tilgang til denne siden ved hjelp av URLen <A HREF=\"https://%s:%d%s"
-"\">https://%s:%d%s</A>."
-
-msgid ""
-"Your password must be at least 6 characters long, cannot contain your "
-"username, and must contain at least one letter and number."
-msgstr ""
-
-msgid "ZPL Label Printer"
-msgstr "ZPL-etikettskriver"
-
-msgid "Zebra"
-msgstr "Zebra"
-
-msgid "aborted"
-msgstr "kansellert"
-
-msgid "canceled"
-msgstr "avbrutt"
-
-msgid "completed"
-msgstr "fullført"
-
-msgid "convert: Use the -f option to specify a file to convert."
-msgstr ""
-
-msgid "cups-deviced failed to execute."
-msgstr "cups-deviced ble ikke utført."
-
-msgid "cups-driverd failed to execute."
-msgstr "cups-driverd ble ikke utført."
-
-#, c-format
-msgid "cupsaddsmb: No PPD file for printer \"%s\" - %s"
-msgstr ""
-
-msgid "cupsctl: Cannot set Listen or Port directly."
-msgstr ""
-
-#, c-format
-msgid "cupsctl: Unable to connect to server: %s"
-msgstr ""
-
-#, c-format
-msgid "cupsctl: Unknown option \"%s\""
-msgstr ""
-
-#, c-format
-msgid "cupsctl: Unknown option \"-%c\""
-msgstr ""
-
-msgid "cupsd: Expected config filename after \"-c\" option."
-msgstr ""
-
-msgid "cupsd: Unable to get current directory."
-msgstr ""
-
-#, c-format
-msgid "cupsd: Unknown argument \"%s\" - aborting."
-msgstr ""
-
-#, c-format
-msgid "cupsd: Unknown option \"%c\" - aborting."
-msgstr ""
-
-msgid "cupsd: launchd(8) support not compiled in, running in normal mode."
-msgstr ""
-
-#, c-format
-msgid "cupsfilter: Invalid document number %d."
-msgstr ""
-
-#, c-format
-msgid "cupsfilter: Invalid job ID %d."
-msgstr ""
-
-msgid "cupsfilter: Only one filename can be specified."
-msgstr ""
-
-#, c-format
-msgid "cupsfilter: Unable to get job file - %s"
-msgstr ""
-
-msgid "cupstestppd: The -q option is incompatible with the -v option."
-msgstr ""
-
-msgid "cupstestppd: The -v option is incompatible with the -q option."
-msgstr ""
-
-#, c-format
-msgid "device for %s/%s: %s"
-msgstr ""
-
-#, c-format
-msgid "device for %s: %s"
-msgstr ""
-
-msgid "error-index uses indefinite length"
-msgstr "error-index bruker uendelig lengde"
-
-msgid "error-status uses indefinite length"
-msgstr "error-status bruker uendelig lengde"
-
-msgid "held"
-msgstr "holdt"
-
-msgid "help\t\tGet help on commands."
-msgstr ""
-
-msgid "idle"
-msgstr "inaktiv"
-
-msgid "ipptool: \"-i\" and \"-n\" are incompatible with -X\"."
-msgstr ""
-
-msgid "ipptool: \"-i\" is incompatible with \"-X\"."
-msgstr ""
-
-msgid "ipptool: \"-n\" is incompatible with \"-X\"."
-msgstr ""
-
-#, c-format
-msgid "ipptool: Bad URI - %s."
-msgstr ""
-
-#, c-format
-msgid "ipptool: Bad version %s for \"-V\"."
-msgstr ""
-
-msgid "ipptool: Invalid seconds for \"-i\"."
-msgstr ""
-
-msgid "ipptool: May only specify a single URI."
-msgstr ""
-
-msgid "ipptool: Missing count for \"-n\"."
-msgstr ""
-
-msgid "ipptool: Missing filename for \"-f\"."
-msgstr ""
-
-msgid "ipptool: Missing name=value for \"-d\"."
-msgstr ""
-
-msgid "ipptool: Missing seconds for \"-i\"."
-msgstr ""
-
-msgid "ipptool: Missing timeout for \"-T\"."
-msgstr ""
-
-msgid "ipptool: Missing version for \"-V\"."
-msgstr ""
-
-msgid "ipptool: URI required before test file."
-msgstr ""
-
-#, c-format
-msgid "ipptool: Unknown option \"-%c\"."
-msgstr ""
-
-msgid "job-printer-uri attribute missing."
-msgstr ""
-
-msgid "lpadmin: Class name can only contain printable characters."
-msgstr ""
-
-msgid "lpadmin: Expected PPD after \"-P\" option."
-msgstr ""
-
-msgid "lpadmin: Expected allow/deny:userlist after \"-u\" option."
-msgstr ""
-
-msgid "lpadmin: Expected class after \"-r\" option."
-msgstr ""
-
-msgid "lpadmin: Expected class name after \"-c\" option."
-msgstr ""
-
-msgid "lpadmin: Expected description after \"-D\" option."
-msgstr ""
-
-msgid "lpadmin: Expected device URI after \"-v\" option."
-msgstr ""
-
-msgid "lpadmin: Expected file type(s) after \"-I\" option."
-msgstr ""
-
-msgid "lpadmin: Expected hostname after \"-h\" option."
-msgstr ""
-
-msgid "lpadmin: Expected interface after \"-i\" option."
-msgstr ""
-
-msgid "lpadmin: Expected location after \"-L\" option."
-msgstr ""
-
-msgid "lpadmin: Expected model after \"-m\" option."
-msgstr ""
-
-msgid "lpadmin: Expected name after \"-R\" option."
-msgstr ""
-
-msgid "lpadmin: Expected name=value after \"-o\" option."
-msgstr ""
-
-msgid "lpadmin: Expected printer after \"-p\" option."
-msgstr ""
-
-msgid "lpadmin: Expected printer name after \"-d\" option."
-msgstr ""
-
-msgid "lpadmin: Expected printer or class after \"-x\" option."
-msgstr ""
-
-msgid "lpadmin: No member names were seen."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Printer %s is already a member of class %s."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Printer %s is not a member of class %s."
-msgstr ""
-
-msgid "lpadmin: Printer name can only contain printable characters."
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to add a printer to the class:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unable to connect to server: %s"
-msgstr ""
-
-msgid "lpadmin: Unable to create temporary file"
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to delete option:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unable to open PPD file \"%s\" - %s"
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to remove a printer from the class:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to set the printer options:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unknown allow/deny option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unknown argument \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unknown option \"%c\"."
-msgstr ""
-
-msgid "lpadmin: Warning - content type list ignored."
-msgstr ""
-
-msgid "lpc> "
-msgstr "lpc> "
-
-msgid "lpinfo: Expected 1284 device ID string after \"--device-id\"."
-msgstr ""
-
-msgid "lpinfo: Expected language after \"--language\"."
-msgstr ""
-
-msgid "lpinfo: Expected make and model after \"--make-and-model\"."
-msgstr ""
-
-msgid "lpinfo: Expected product string after \"--product\"."
-msgstr ""
-
-msgid "lpinfo: Expected scheme list after \"--exclude-schemes\"."
-msgstr ""
-
-msgid "lpinfo: Expected scheme list after \"--include-schemes\"."
-msgstr ""
-
-msgid "lpinfo: Expected timeout after \"--timeout\"."
-msgstr ""
-
-#, c-format
-msgid "lpinfo: Unknown argument \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpinfo: Unknown option \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "lpinfo: Unknown option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpmove: Unable to connect to server: %s"
-msgstr ""
-
-#, c-format
-msgid "lpmove: Unknown argument \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpmove: Unknown option \"%c\"."
-msgstr ""
-
-msgid "lpoptions: No printers."
-msgstr ""
-
-#, c-format
-msgid "lpoptions: Unable to add printer or instance: %s"
-msgstr ""
-
-#, c-format
-msgid "lpoptions: Unable to get PPD file for %s: %s"
-msgstr ""
-
-#, c-format
-msgid "lpoptions: Unable to open PPD file for %s."
-msgstr ""
-
-msgid "lpoptions: Unknown printer or class."
-msgstr ""
-
-msgid "lppasswd: Only root can add or delete passwords."
-msgstr ""
-
-msgid "lppasswd: Password file busy."
-msgstr ""
-
-msgid "lppasswd: Password file not updated."
-msgstr ""
-
-msgid "lppasswd: Sorry, password doesn't match."
-msgstr ""
-
-msgid "lppasswd: Sorry, password rejected."
-msgstr ""
-
-msgid "lppasswd: Sorry, passwords don't match."
-msgstr ""
-
-#, c-format
-msgid "lppasswd: Unable to copy password string: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: Unable to open password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: Unable to write to password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: failed to backup old password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: failed to rename password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: user \"%s\" and group \"%s\" do not exist."
-msgstr ""
-
-#, c-format
-msgid ""
-"lpstat: error - %s environment variable names non-existent destination \"%s"
-"\"."
-msgstr ""
-
-#, c-format
-msgid "members of class %s:"
-msgstr ""
-
-msgid "no entries"
-msgstr ""
-
-msgid "no system default destination"
-msgstr ""
-
-msgid "notify-events not specified."
-msgstr ""
-
-#, c-format
-msgid "notify-recipient-uri URI \"%s\" is already used."
-msgstr ""
-
-#, c-format
-msgid "notify-recipient-uri URI \"%s\" uses unknown scheme."
-msgstr ""
-
-msgid "pending"
-msgstr "ventende"
-
-#, c-format
-msgid "ppdc: Adding include directory \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Adding/updating UI text from %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad boolean value (%s) on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad font attribute: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad resolution name \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad status keyword %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad variable substitution ($%c) on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Choice found on line %d of %s with no Option."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Duplicate #po for locale %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected a filter definition on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected a program name on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected boolean value on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected charset after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected choice code on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected choice name/text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected color order for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected colorspace for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected compression for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected constraints string for UIConstraints on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Expected driver type keyword following DriverType on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected duplex type after Duplex on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected encoding after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected filename after #po %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected group name/text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected include filename on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected integer on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected locale after #po on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after FileName on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after Manufacturer on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after MediaSize on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after ModelName on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after PCFileName on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text after Installable on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text after Resolution on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text combination for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected option name/text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected option section on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected option type on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected override field after Resolution on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected quoted string on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected real number on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Expected resolution/mediatype following ColorProfile on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Expected resolution/mediatype following SimpleColorProfile on line %d "
-"of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected selector after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected status after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected string after Copyright on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected string after Version on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected two option names on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected value after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected version after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid #include/#po filename \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid cost for filter on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid empty MIME type for filter on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid empty program name for filter on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid option section \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid option type \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Loading driver information file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Loading messages for locale \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Loading messages from \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Missing #endif at end of \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Missing #if on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Need a msgid line before any translation strings on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: No message catalog provided for locale %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Option %s defined in two different groups on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Option %s redefined with a different type on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Option constraint must *name on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Too many nested #if's on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to create PPD file \"%s\" - %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to create output directory %s: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to create output pipes: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to execute cupstestppd: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to find #po file %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to find include file \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to find localization for \"%s\" - %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to load localization file \"%s\" - %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to open %s: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Undefined variable (%s) on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unexpected text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown driver type %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown media size \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown message catalog format for \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown token \"%s\" seen on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Unknown trailing characters in real number \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unterminated string starting with %c on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Warning - overlapping filename \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Writing %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Writing PPD files to directory \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s."
-msgstr ""
-
-#, c-format
-msgid "ppdmerge: Ignoring PPD file %s."
-msgstr ""
-
-#, c-format
-msgid "ppdmerge: Unable to backup %s to %s - %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s disabled since %s -"
-msgstr ""
-
-#, c-format
-msgid "printer %s is idle.  enabled since %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s now printing %s-%d.  enabled since %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s/%s disabled since %s -"
-msgstr ""
-
-#, c-format
-msgid "printer %s/%s is idle.  enabled since %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s/%s now printing %s-%d.  enabled since %s"
-msgstr ""
-
-msgid "processing"
-msgstr "behandler"
-
-#, c-format
-msgid "request id is %s-%d (%d file(s))"
-msgstr ""
-
-msgid "request-id uses indefinite length"
-msgstr "request-id bruker uendelig lengde"
-
-msgid "scheduler is not running"
-msgstr ""
-
-msgid "scheduler is running"
-msgstr ""
-
-#, c-format
-msgid "stat of %s failed: %s"
-msgstr "status for %s mislyktes: %s"
-
-msgid "status\t\tShow status of daemon and queue."
-msgstr ""
-
-msgid "stopped"
-msgstr "stoppet"
-
-#, c-format
-msgid "system default destination: %s"
-msgstr ""
-
-#, c-format
-msgid "system default destination: %s/%s"
-msgstr ""
-
-msgid "unknown"
-msgstr "ukjent"
-
-msgid "untitled"
-msgstr "uten navn"
-
-msgid "variable-bindings uses indefinite length"
-msgstr "variable-bindings bruker uendelig lengde"
-
-#~ msgid "\t\t(all)\n"
-#~ msgstr "\t\t(alle)\n"
-
-#~ msgid "\t\t(none)\n"
-#~ msgstr "\t\t(ingen)\n"
-
-#~ msgid "\t%d entries\n"
-#~ msgstr "\t%d oppføringer\n"
-
-#~ msgid "\tAfter fault: continue\n"
-#~ msgstr "\tEtter feil: fortsett\n"
-
-#~ msgid "\tAlerts:"
-#~ msgstr "\tVarsling:"
-
-#~ msgid "\tBanner required\n"
-#~ msgstr "\tKrever banner\n"
-
-#~ msgid "\tCharset sets:\n"
-#~ msgstr "\tTegnsettsamlinger:\n"
-
-#~ msgid "\tConnection: direct\n"
-#~ msgstr "\tTilkobling: direkte\n"
-
-#~ msgid "\tConnection: remote\n"
-#~ msgstr "\tTilkobling: ekstern\n"
-
-#~ msgid "\tDefault page size:\n"
-#~ msgstr "\tStandard sidestørrelse:\n"
-
-#~ msgid "\tDefault pitch:\n"
-#~ msgstr "\tStandard avstand:\n"
-
-#~ msgid "\tDefault port settings:\n"
-#~ msgstr "\tStandard portinnstillinger:\n"
-
-#~ msgid "\tDescription: %s\n"
-#~ msgstr "\tBeskrivelse: %s\n"
-
-#~ msgid ""
-#~ "\tForm mounted:\n"
-#~ "\tContent types: any\n"
-#~ "\tPrinter types: unknown\n"
-#~ msgstr ""
-#~ "\tAktivert skjema:\n"
-#~ "\tInnholdstyper: alle\n"
-#~ "\tSkrivertyper: ukjent\n"
-
-#~ msgid "\tForms allowed:\n"
-#~ msgstr "\tTillatte skjemaer:\n"
-
-#~ msgid "\tInterface: %s.ppd\n"
-#~ msgstr "\tGrensesnitt: %s.ppd\n"
-
-#~ msgid "\tInterface: %s/interfaces/%s\n"
-#~ msgstr "\tGrensesnitt: %s/interfaces/%s\n"
-
-#~ msgid "\tInterface: %s/ppd/%s.ppd\n"
-#~ msgstr "\tGrensesnitt: %s/ppd/%s.ppd\n"
-
-#~ msgid "\tLocation: %s\n"
-#~ msgstr "\tPlassering: %s\n"
-
-#~ msgid "\tOn fault: no alert\n"
-#~ msgstr "\tVed feil: ingen varsling\n"
-
-#~ msgid "\tUsers allowed:\n"
-#~ msgstr "\tBrukere tillatt:\n"
-
-#~ msgid "\tUsers denied:\n"
-#~ msgstr "\tBrukere avslått:\n"
-
-#~ msgid "\tdaemon present\n"
-#~ msgstr "\tdaemon til stede\n"
-
-#~ msgid "\tno entries\n"
-#~ msgstr "\tingen oppføringer\n"
-
-#~ msgid "\tprinter is on device '%s' speed -1\n"
-#~ msgstr "\tskriver er på enhet «%s», hastighet -1\n"
-
-#~ msgid "\tprinting is disabled\n"
-#~ msgstr "\tutskrift er deaktivert\n"
-
-#~ msgid "\tprinting is enabled\n"
-#~ msgstr "\tutskrift er aktivert\n"
-
-#~ msgid "\tqueued for %s\n"
-#~ msgstr "\ti kø for %s\n"
-
-#~ msgid "\tqueuing is disabled\n"
-#~ msgstr "\tutskriftskø er deaktivert\n"
-
-#~ msgid "\tqueuing is enabled\n"
-#~ msgstr "\tutskriftskø er aktivert\n"
-
-#~ msgid "\treason unknown\n"
-#~ msgstr "\tukjent grunn\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "    DETAILED CONFORMANCE TEST RESULTS\n"
-#~ msgstr ""
-#~ "\n"
-#~ "    DETALJERTE RESULTATER FRA SAMSVARSTEST\n"
-
-#~ msgid "                REF: Page 15, section 3.1.\n"
-#~ msgstr "                REF: Side 15, del 3.1.\n"
-
-#~ msgid "                REF: Page 15, section 3.2.\n"
-#~ msgstr "                REF: Side 15, del 3.2.\n"
-
-#~ msgid "                REF: Page 19, section 3.3.\n"
-#~ msgstr "                REF: Side 19, del 3.3.\n"
-
-#~ msgid "                REF: Page 20, section 3.4.\n"
-#~ msgstr "                REF: Side 20, del 3.4.\n"
-
-#~ msgid "                REF: Page 27, section 3.5.\n"
-#~ msgstr "                REF: Side 27, del 3.5.\n"
-
-#~ msgid "                REF: Page 42, section 5.2.\n"
-#~ msgstr "                REF: Side 42, del 5.2.\n"
-
-#~ msgid "                REF: Pages 16-17, section 3.2.\n"
-#~ msgstr "                REF: Sider 16–17, del 3.2.\n"
-
-#~ msgid "                REF: Pages 42-45, section 5.2.\n"
-#~ msgstr "                REF: Sider 42–45, del 5.2.\n"
-
-#~ msgid "                REF: Pages 45-46, section 5.2.\n"
-#~ msgstr "                REF: Sider 45–46, del 5.2.\n"
-
-#~ msgid "                REF: Pages 48-49, section 5.2.\n"
-#~ msgstr "                REF: Sider 48–49, del 5.2.\n"
-
-#~ msgid "                REF: Pages 52-54, section 5.2.\n"
-#~ msgstr "                REF: Sider 52–54, del 5.2.\n"
-
-#~ msgid "        %-39.39s %.0f bytes\n"
-#~ msgstr "        %-39.39s %.0f byte\n"
-
-#~ msgid "        PASS    Default%s\n"
-#~ msgstr "        PASS    Default%s\n"
-
-#~ msgid "        PASS    DefaultImageableArea\n"
-#~ msgstr "        PASS    DefaultImageableArea\n"
-
-#~ msgid "        PASS    DefaultPaperDimension\n"
-#~ msgstr "        PASS    DefaultPaperDimension\n"
-
-#~ msgid "        PASS    FileVersion\n"
-#~ msgstr "        PASS    FileVersion\n"
-
-#~ msgid "        PASS    FormatVersion\n"
-#~ msgstr "        PASS    FormatVersion\n"
-
-#~ msgid "        PASS    LanguageEncoding\n"
-#~ msgstr "        PASS    LanguageEncoding\n"
-
-#~ msgid "        PASS    LanguageVersion\n"
-#~ msgstr "        PASS    LanguageVersion\n"
-
-#~ msgid "        PASS    Manufacturer\n"
-#~ msgstr "        PASS    Manufacturer\n"
-
-#~ msgid "        PASS    ModelName\n"
-#~ msgstr "        PASS    ModelName\n"
-
-#~ msgid "        PASS    NickName\n"
-#~ msgstr "        PASS    NickName\n"
-
-#~ msgid "        PASS    PCFileName\n"
-#~ msgstr "        PASS    PCFileName\n"
-
-#~ msgid "        PASS    PSVersion\n"
-#~ msgstr "        PASS    PSVersion\n"
-
-#~ msgid "        PASS    PageRegion\n"
-#~ msgstr "        PASS    PageRegion\n"
-
-#~ msgid "        PASS    PageSize\n"
-#~ msgstr "        PASS    PageSize\n"
-
-#~ msgid "        PASS    Product\n"
-#~ msgstr "        PASS    Product\n"
-
-#~ msgid "        PASS    ShortNickName\n"
-#~ msgstr "        PASS    ShortNickName\n"
-
-#~ msgid ""
-#~ "        WARN    \"%s %s\" conflicts with \"%s %s\"\n"
-#~ "                (constraint=\"%s %s %s %s\")\n"
-#~ msgstr ""
-#~ "        WARN    «%s %s» er i strid med «%s %s»\n"
-#~ "                (constraint=«%s %s %s %s»)\n"
-
-#~ msgid "        WARN    %s has no corresponding options!\n"
-#~ msgstr "        WARN    %s har ingen relaterte valg!\n"
-
-#~ msgid ""
-#~ "        WARN    %s shares a common prefix with %s\n"
-#~ "                REF: Page 15, section 3.2.\n"
-#~ msgstr ""
-#~ "        WARN    %s har samme prefiks som %s\n"
-#~ "                REF: Side 15, del 3.2.\n"
-
-#~ msgid "        WARN    Default choices conflicting!\n"
-#~ msgstr "        WARN    Standardinnstillinger stemmer ikke overens!\n"
-
-#~ msgid ""
-#~ "        WARN    Duplex option keyword %s may not work as expected and "
-#~ "should be named Duplex!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "        WARN    Det er mulig at dupleksvalgnøkkelordet %s ikke fungerer "
-#~ "som forventet og skal ha navnet Duplex!\n"
-#~ "                REF: Side 122, del 5.17\n"
-
-#~ msgid ""
-#~ "        WARN    File contains a mix of CR, LF, and CR LF line endings!\n"
-#~ msgstr "        WARN    Filen inneholder CR-, LF- og CR LF-linjeskift!\n"
-
-#~ msgid ""
-#~ "        WARN    LanguageEncoding required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 56-57, section 5.3.\n"
-#~ msgstr ""
-#~ "        WARN    LanguageEncoding kreves av PPD 4.3-spesifikasjonen.\n"
-#~ "                REF: Sider 56–57, del 5.3.\n"
-
-#~ msgid "        WARN    Line %d only contains whitespace!\n"
-#~ msgstr "        WARN    Linjen %d inneholder kun mellomrom!\n"
-
-#~ msgid ""
-#~ "        WARN    Manufacturer required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 58-59, section 5.3.\n"
-#~ msgstr ""
-#~ "        WARN    Manufacturer kreves av PPD 4.3-spesifikasjonen.\n"
-#~ "                REF: Sider 58–59, del 5.3.\n"
-
-#~ msgid "        WARN    Missing APDialogExtension file \"%s\"\n"
-#~ msgstr "        WARN    APDialogExtension-filen «%s» mangler\n"
-
-#~ msgid "        WARN    Missing APPrinterIconPath file \"%s\"\n"
-#~ msgstr "        WARN    APPrinterIconPath-filen «%s» mangler\n"
-
-#~ msgid ""
-#~ "        WARN    Non-Windows PPD files should use lines ending with only "
-#~ "LF, not CR LF!\n"
-#~ msgstr ""
-#~ "        WARN    PPD-filer som ikke er i Windows-format, bør kun bruke "
-#~ "linjeskift med LF, ikke CR LF!\n"
-
-#~ msgid ""
-#~ "        WARN    Obsolete PPD version %.1f!\n"
-#~ "                REF: Page 42, section 5.2.\n"
-#~ msgstr ""
-#~ "        WARN    Foreldet PPD-versjon %.1f!\n"
-#~ "                REF: Side 42, del 5.2.\n"
-
-#~ msgid ""
-#~ "        WARN    PCFileName longer than 8.3 in violation of PPD spec.\n"
-#~ "                REF: Pages 61-62, section 5.3.\n"
-#~ msgstr ""
-#~ "        WARN    PCFileName er lengre enn 8.3, noe som er et brudd på PPD-"
-#~ "spesifikasjonen.\n"
-#~ "                REF: Sider 61–62, del 5.3.\n"
-
-#~ msgid ""
-#~ "        WARN    Protocols contains PJL but JCL attributes are not set.\n"
-#~ "                REF: Pages 78-79, section 5.7.\n"
-#~ msgstr ""
-#~ "        WARN    Protokoller inneholder PJL, men JCL-attributter er ikke "
-#~ "angitt.\n"
-#~ "                REF: Sider 78–79, del 5.7.\n"
-
-#~ msgid ""
-#~ "        WARN    Protocols contains both PJL and BCP; expected TBCP.\n"
-#~ "                REF: Pages 78-79, section 5.7.\n"
-#~ msgstr ""
-#~ "        WARN    Protokoller inneholder både PJL og BCP. Forventet TBCP.\n"
-#~ "                REF: Sider 78–79, del 5.7.\n"
-
-#~ msgid ""
-#~ "        WARN    ShortNickName required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "        WARN    ShortNickName kreves av PPD 4.3-spesifikasjonen.\n"
-#~ "                REF: Sider 64–65, del 5.3.\n"
-
-#~ msgid "      %s  %s %s does not exist!\n"
-#~ msgstr "      %s  %s %s finnes ikke!\n"
-
-#~ msgid ""
-#~ "      %s  Bad %s choice %s!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "      %s  Ugyldig %s-valg %s!\n"
-#~ "                REF: Side 122, del 5.17\n"
-
-#~ msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s!\n"
-#~ msgstr "      %s  Ugyldig UTF-8 «%s»-oversettelsesstreng for valget %s!\n"
-
-#~ msgid ""
-#~ "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s!\n"
-#~ msgstr ""
-#~ "      %s  Ugyldig UTF-8 «%s»-oversettelsesstreng for valget %s, "
-#~ "innstillingen %s!\n"
-
-#~ msgid "      %s  Bad cupsFilter value \"%s\"!\n"
-#~ msgstr "      %s  Ugyldig cupsFilter-verdi «%s»!\n"
-
-#~ msgid "      %s  Bad cupsICCProfile %s!\n"
-#~ msgstr "      %s  Ugyldig cupsICCProfile %s!\n"
-
-#~ msgid "      %s  Bad cupsPreFilter value \"%s\"!\n"
-#~ msgstr "      %s  Ugyldig cupsPreFilter-verdi «%s»!\n"
-
-#~ msgid "      %s  Bad cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr "      %s  Ugyldig cupsUIConstraints %s: «%s»!\n"
-
-#~ msgid "      %s  Bad language \"%s\"!\n"
-#~ msgstr "      %s  Ugyldig språk «%s»!\n"
-
-#~ msgid "      %s  Empty cupsUIConstraints %s!\n"
-#~ msgstr "      %s  Tom cupsUIConstraints %s!\n"
-
-#~ msgid "      %s  Missing \"%s\" translation string for option %s!\n"
-#~ msgstr "      %s  «%s»-oversettelsesstreng for valget %s mangler!\n"
-
-#~ msgid ""
-#~ "      %s  Missing \"%s\" translation string for option %s, choice %s!\n"
-#~ msgstr ""
-#~ "      %s  «%s»-oversettelsesstreng for valget %s, innstillingen %s "
-#~ "mangler!\n"
-
-#~ msgid ""
-#~ "      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"!\n"
-#~ msgstr "      %s  Valget *%s %s i UIConstraints «*%s %s *%s %s» mangler!\n"
-
-#~ msgid "      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr "      %s  Valget *%s %s i cupsUIConstraints %s mangler: «%s»!\n"
-
-#~ msgid "      %s  Missing cupsFilter file \"%s\"\n"
-#~ msgstr "      %s  cupsFilter-filen «%s» mangler\n"
-
-#~ msgid "      %s  Missing cupsICCProfile file \"%s\"!\n"
-#~ msgstr "      %s  cupsICCProfile-filen «%s» mangler!\n"
-
-#~ msgid "      %s  Missing cupsPreFilter file \"%s\"\n"
-#~ msgstr "      %s  cupsPreFilter-filen «%s» mangler\n"
-
-#~ msgid "      %s  Missing cupsUIResolver %s!\n"
-#~ msgstr "      %s  cupsUIResolver %s mangler!\n"
-
-#~ msgid "      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\"!\n"
-#~ msgstr "      %s  Valget %s i UIConstraints «*%s %s *%s %s» mangler!\n"
-
-#~ msgid "      %s  Missing option %s in cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr "      %s  Valget %s i cupsUIConstraints %s mangler: «%s»!\n"
-
-#~ msgid "      %s  No base translation \"%s\" is included in file!\n"
-#~ msgstr "      %s  Filen inneholder ingen grunnoversettelse «%s»!\n"
-
-#~ msgid ""
-#~ "      %s  REQUIRED %s does not define choice None!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "      %s  OBLIGATORISK %s definerer ikke innstillingen Ingen!\n"
-#~ "                REF: Side 122, del 5.17\n"
-
-#~ msgid "      %s  cupsICCProfile %s hash value collides with %s!\n"
-#~ msgstr "      %s  cupsICCProfile %s-hashverdi er i konflikt med %s!\n"
-
-#~ msgid "      %s  cupsUIResolver %s causes a loop!\n"
-#~ msgstr "      %s  cupsUIResolver %s forårsaker en sløyfe!\n"
-
-#~ msgid "      **FAIL**  %s choice names %s and %s differ only by case!\n"
-#~ msgstr ""
-#~ "      **FEIL**  Den eneste forskjellen mellom %s-valgnavnene %s og %s er "
-#~ "store og små bokstaver!\n"
-
-#~ msgid ""
-#~ "      **FAIL**  %s must be 1284DeviceID!\n"
-#~ "                REF: Page 72, section 5.5\n"
-#~ msgstr ""
-#~ "      **FEIL**  %s må være 1284DeviceID!\n"
-#~ "                REF: Side 72, del 5.5\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Default%s %s\n"
-#~ "                REF: Page 40, section 4.5.\n"
-#~ msgstr ""
-#~ "      **FEIL**  UGYLDIG Default%s %s\n"
-#~ "                REF: Side 40, del 4.5.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD DefaultImageableArea %s!\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FEIL**  UGYLDIG DefaultImageableArea %s!\n"
-#~ "                REF: Side 102, del 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD DefaultPaperDimension %s!\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FEIL**  UGYLDIG DefaultPaperDimension %s!\n"
-#~ "                REF: Side 103, del 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD JobPatchFile attribute in file\n"
-#~ "                REF: Page 24, section 3.4.\n"
-#~ msgstr ""
-#~ "      **FEIL**  UGYLDIG JobPatchFile-attributt i fil\n"
-#~ "                REF: Side 24, del 3.4.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Manufacturer (should be \"HP\")\n"
-#~ "                REF: Page 211, table D.1.\n"
-#~ msgstr ""
-#~ "      **FEIL**  UGYLDIG Manufacturer (skal være «HP»)\n"
-#~ "                REF: Side 211, tabell D.1.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Manufacturer (should be \"Oki\")\n"
-#~ "                REF: Page 211, table D.1.\n"
-#~ msgstr ""
-#~ "      **FEIL**  UGYLDIG Manufacturer (skal være «Oki»)\n"
-#~ "                REF: Side 211, tabell D.1.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n"
-#~ "                REF: Pages 59-60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEIL**  UGYLDIG ModelName – «%c» er ikke tillatt i strengen.\n"
-#~ "                REF: Sider 59–60, del 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD PSVersion - not \"(string) int\".\n"
-#~ "                REF: Pages 62-64, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEIL**  UGYLDIG PSVersion – er ikke «(string) int».\n"
-#~ "                REF: Sider 62–64, del 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Product - not \"(string)\".\n"
-#~ "                REF: Page 62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEIL**  UGYLDIG Product – er ikke «(string)».\n"
-#~ "                REF: Side 62, del 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD ShortNickName - longer than 31 chars.\n"
-#~ "                REF: Pages 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEIL**  UGYLDIG ShortNickName – mer enn 31 tegn.\n"
-#~ "                REF: Sider 64–65, del 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad %s choice %s!\n"
-#~ "                REF: Page 84, section 5.9\n"
-#~ msgstr ""
-#~ "      **FEIL**  Ugyldig %s-valg %s!\n"
-#~ "                REF: Side 84, del 5.9\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad FileVersion \"%s\"\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEIL**  Ugyldig FileVersion «%s»\n"
-#~ "                REF: Side 56, del 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad FormatVersion \"%s\"\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEIL**  Ugyldig FormatVersion «%s»\n"
-#~ "                REF: Side 56, del 5.3.\n"
-
-#~ msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1!\n"
-#~ msgstr "      **FEIL**  Ugyldig LanguageEncoding %s – må være ISOLatin1!\n"
-
-#~ msgid "      **FAIL**  Bad LanguageVersion %s - must be English!\n"
-#~ msgstr "      **FEIL**  Ugyldig LanguageVersion %s – må være English!\n"
-
-#~ msgid "      **FAIL**  Default option code cannot be interpreted: %s\n"
-#~ msgstr "      **FEIL**  Kan ikke tolke standard valgkode: %s\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Default translation string for option %s choice %s "
-#~ "contains 8-bit characters!\n"
-#~ msgstr ""
-#~ "      **FEIL**  Standard oversettelsesstreng for valget %s, innstillingen "
-#~ "%s inneholder 8-bitstegn!\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Default translation string for option %s contains 8-bit "
-#~ "characters!\n"
-#~ msgstr ""
-#~ "      **FEIL**  Standard oversettelsesstreng for valget %s inneholder 8-"
-#~ "bitstegn!\n"
-
-#~ msgid "      **FAIL**  Group names %s and %s differ only by case!\n"
-#~ msgstr ""
-#~ "      **FEIL**  Den eneste forskjellen mellom gruppenavnene %s og %s er "
-#~ "store og små bokstaver!\n"
-
-#~ msgid "      **FAIL**  Multiple occurrences of %s choice name %s!\n"
-#~ msgstr "      **FEIL**  Flere forekomster av %s-valgnavnet %s!\n"
-
-#~ msgid "      **FAIL**  Option names %s and %s differ only by case!\n"
-#~ msgstr ""
-#~ "      **FEIL**  Den eneste forskjellen mellom valgnavnene %s og %s er "
-#~ "store og små bokstaver!\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Default%s\n"
-#~ "                REF: Page 40, section 4.5.\n"
-#~ msgstr ""
-#~ "      **FEIL**  OBLIGATORISK Default%s\n"
-#~ "                REF: Side 40, del 4.5.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED DefaultImageableArea\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FEIL**  OBLIGATORISK DefaultImageableArea\n"
-#~ "                REF: Side 102, del 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED DefaultPaperDimension\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FEIL**  OBLIGATORISK DefaultPaperDimension\n"
-#~ "                REF: Side 103, del 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED FileVersion\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEIL**  OBLIGATORISK FileVersion\n"
-#~ "                REF: Side 56, del 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED FormatVersion\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEIL**  OBLIGATORISK FormatVersion\n"
-#~ "                REF: Side 56, del 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ImageableArea for PageSize %s\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FEIL**  OBLIGATORISK ImageableArea for PageSize %s\n"
-#~ "                REF: Side 41, del 5.\n"
-#~ "                REF: Side 102, del 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED LanguageEncoding\n"
-#~ "                REF: Pages 56-57, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEIL**  OBLIGATORISK LanguageEncoding\n"
-#~ "                REF: Sider 56–57, del 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED LanguageVersion\n"
-#~ "                REF: Pages 57-58, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEIL**  OBLIGATORISK LanguageVersion\n"
-#~ "                REF: Sider 57–58, del 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Manufacturer\n"
-#~ "                REF: Pages 58-59, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEIL**  OBLIGATORISK Manufacturer\n"
-#~ "                REF: Sider 58–59, del 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ModelName\n"
-#~ "                REF: Pages 59-60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEIL**  OBLIGATORISK ModelName\n"
-#~ "                REF: Sider 59–60, del 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED NickName\n"
-#~ "                REF: Page 60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEIL**  OBLIGATORISK NickName\n"
-#~ "                REF: Side 60, del 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PCFileName\n"
-#~ "                REF: Pages 61-62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEIL**  OBLIGATORISK PCFileName\n"
-#~ "                REF: Sider 61–62, del 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PSVersion\n"
-#~ "                REF: Pages 62-64, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEIL**  OBLIGATORISK PSVersion\n"
-#~ "                REF: Sider 62–64, del 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageRegion\n"
-#~ "                REF: Page 100, section 5.14.\n"
-#~ msgstr ""
-#~ "      **FEIL**  OBLIGATORISK PageRegion\n"
-#~ "                REF: Side 100, del 5.14.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageSize\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 99, section 5.14.\n"
-#~ msgstr ""
-#~ "      **FEIL**  OBLIGATORISK PageSize\n"
-#~ "                REF: Side 41, del 5.\n"
-#~ "                REF: Side 99, del 5.14.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageSize\n"
-#~ "                REF: Pages 99-100, section 5.14.\n"
-#~ msgstr ""
-#~ "      **FEIL**  OBLIGATORISK PageSize\n"
-#~ "                REF: Sider 99–100, del 5.14.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PaperDimension for PageSize %s\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FEIL**  OBLIGATORISK PaperDimension for PageSize %s\n"
-#~ "                REF: Side 41, del 5.\n"
-#~ "                REF: Side 103, del 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Product\n"
-#~ "                REF: Page 62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEIL**  OBLIGATORISK Product\n"
-#~ "                REF: Side 62, del 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ShortNickName\n"
-#~ "                REF: Page 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEIL**  OBLIGATORISK ShortNickName\n"
-#~ "                REF: Sider 64–65, del 5.3.\n"
-
-#~ msgid "    %d ERRORS FOUND\n"
-#~ msgstr "    FANT %d FEIL\n"
-
-#~ msgid ""
-#~ "    Bad %%%%BoundingBox: on line %d!\n"
-#~ "        REF: Page 39, %%%%BoundingBox:\n"
-#~ msgstr ""
-#~ "    Ugyldig %%%%BoundingBox: på linje %d!\n"
-#~ "        REF: Side 39, %%%%BoundingBox:\n"
-
-#~ msgid ""
-#~ "    Bad %%%%Page: on line %d!\n"
-#~ "        REF: Page 53, %%%%Page:\n"
-#~ msgstr ""
-#~ "    Ugyldig %%%%Page: på linje %d!\n"
-#~ "        REF: Side 53, %%%%Page:\n"
-
-#~ msgid ""
-#~ "    Bad %%%%Pages: on line %d!\n"
-#~ "        REF: Page 43, %%%%Pages:\n"
-#~ msgstr ""
-#~ "    Ugyldig %%%%Pages: på linje %d!\n"
-#~ "        REF: Side 43, %%%%Pages:\n"
-
-#~ msgid ""
-#~ "    Line %d is longer than 255 characters (%d)!\n"
-#~ "        REF: Page 25, Line Length\n"
-#~ msgstr ""
-#~ "    Linje %d inneholder mer enn 255 tegn (%d)!\n"
-#~ "        REF: Side 25, Line Length\n"
-
-#~ msgid ""
-#~ "    Missing %!PS-Adobe-3.0 on first line!\n"
-#~ "        REF: Page 17, 3.1 Conforming Documents\n"
-#~ msgstr ""
-#~ "    %!PS-Adobe-3.0 mangler på første linje!\n"
-#~ "        REF: Side 17, 3.1 Conforming Documents\n"
-
-#~ msgid ""
-#~ "    Missing %%EndComments comment!\n"
-#~ "        REF: Page 41, %%EndComments\n"
-#~ msgstr ""
-#~ "    %%EndComments-kommentar mangler!\n"
-#~ "        REF: Side 41, %%EndComments\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%BoundingBox: comment!\n"
-#~ "        REF: Page 39, %%BoundingBox:\n"
-#~ msgstr ""
-#~ "    %%BoundingBox:-kommentar mangler eller er ugyldig!\n"
-#~ "        REF: Side 39, %%BoundingBox:\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%Page: comments!\n"
-#~ "        REF: Page 53, %%Page:\n"
-#~ msgstr ""
-#~ "    %%Page-kommentarer mangler eller er ugyldig!\n"
-#~ "        REF: Side 53, %%Page:\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%Pages: comment!\n"
-#~ "        REF: Page 43, %%Pages:\n"
-#~ msgstr ""
-#~ "    %%Pages-kommentar mangler eller er ugyldig!\n"
-#~ "        REF: Side 43, %%Pages:\n"
-
-#~ msgid "    NO ERRORS FOUND\n"
-#~ msgstr "    FANT INGEN FEIL\n"
-
-#~ msgid "    Saw %d lines that exceeded 255 characters!\n"
-#~ msgstr "    Fant %d linjer som er lengre enn 255 tegn!\n"
-
-#~ msgid "    Too many %%BeginDocument comments!\n"
-#~ msgstr "    For mange %%BeginDocument-kommentarer!\n"
-
-#~ msgid "    Too many %%EndDocument comments!\n"
-#~ msgstr "    For mange %%EndDocument-kommentarer!\n"
-
-#~ msgid "    Warning: file contains binary data!\n"
-#~ msgstr "    Advarsel: filen inneholder binærdata!\n"
-
-#~ msgid "    Warning: no %%EndComments comment in file!\n"
-#~ msgstr "    Advarsel: ingen %%EndComments-kommentar i fil!\n"
-
-#~ msgid "    Warning: obsolete DSC version %.1f in file!\n"
-#~ msgstr "    Advarsel: foreldet DSC-versjon %.1f i fil!\n"
-
-#~ msgid " FAIL\n"
-#~ msgstr " FEIL\n"
-
-#~ msgid ""
-#~ " FAIL\n"
-#~ "      **FAIL**  Unable to open PPD file - %s\n"
-#~ msgstr ""
-#~ " FEIL\n"
-#~ "      **FEIL**  Kan ikke åpne PPD-fil – %s\n"
-
-#~ msgid ""
-#~ " FAIL\n"
-#~ "      **FAIL**  Unable to open PPD file - %s on line %d.\n"
-#~ msgstr ""
-#~ " FEIL\n"
-#~ "      **FEIL**  Kan ikke åpne PPD-fil – %s på linje %d.\n"
-
-#~ msgid " PASS\n"
-#~ msgstr " PASS\n"
-
-#~ msgid "#10 Envelope"
-#~ msgstr "#10-konvolutt"
-
-#~ msgid "#11 Envelope"
-#~ msgstr "#11-konvolutt"
-
-#~ msgid "#12 Envelope"
-#~ msgstr "#12-konvolutt"
-
-#~ msgid "#14 Envelope"
-#~ msgstr "#14-konvolutt"
-
-#~ msgid "#9 Envelope"
-#~ msgstr "#9-konvolutt"
-
-#~ msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes\n"
-#~ msgstr "%-6s %-10.10s %-4d %-10d %-27.27s %.0f byte\n"
-
-#~ msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes\n"
-#~ msgstr "%-7s %-7.7s %-7d %-31.31s %.0f byte\n"
-
-#~ msgid "%s accepting requests since %s\n"
-#~ msgstr "%s mottar forespørsler siden %s\n"
-
-#~ msgid "%s is not implemented by the CUPS version of lpc.\n"
-#~ msgstr "%s er ikke implementert av CUPS-versjonen av lpc.\n"
-
-#~ msgid "%s is not ready\n"
-#~ msgstr "%s er ikke klar\n"
-
-#~ msgid "%s is ready\n"
-#~ msgstr "%s er klar\n"
-
-#~ msgid "%s is ready and printing\n"
-#~ msgstr "%s er klar og skriver ut\n"
-
-#~ msgid ""
-#~ "%s not accepting requests since %s -\n"
-#~ "\t%s\n"
-#~ msgstr ""
-#~ "%s mottar ikke forespørsler siden %s -\n"
-#~ "\t%s\n"
-
-#~ msgid "%s not supported!"
-#~ msgstr "%s støttes ikke!"
-
-#~ msgid "%s/%s accepting requests since %s\n"
-#~ msgstr "%s/%s mottar forespørsler siden %s\n"
-
-#~ msgid ""
-#~ "%s/%s not accepting requests since %s -\n"
-#~ "\t%s\n"
-#~ msgstr ""
-#~ "%s/%s mottar ikke forespørsler siden %s -\n"
-#~ "\t%s\n"
-
-#~ msgid "%s: %-33.33s [job %d localhost]\n"
-#~ msgstr "%s: %-33.33s [jobb %d lokal vert]\n"
-
-#~ msgid "%s: %s failed: %s\n"
-#~ msgstr "%s: %s mislyktes: %s\n"
-
-#~ msgid "%s: Don't know what to do!\n"
-#~ msgstr "%s: Vet ikke hva som skal gjøres!\n"
-
-#~ msgid ""
-#~ "%s: Error - %s environment variable names non-existent destination \"%s"
-#~ "\"!\n"
-#~ msgstr "%s: Feil – %s-miljøvariabel oppgir målet «%s» som ikke eksisterer!\n"
-
-#~ msgid "%s: Error - bad job ID!\n"
-#~ msgstr "%s: Feil – ugyldig jobb-ID!\n"
-
-#~ msgid "%s: Error - cannot print files and alter jobs simultaneously!\n"
-#~ msgstr "%s: Feil – kan ikke skrive ut filer og endre jobber samtidig!\n"
-
-#~ msgid ""
-#~ "%s: Error - cannot print from stdin if files or a job ID are provided!\n"
-#~ msgstr ""
-#~ "%s: Feil – kan ikke skrive ut fra stdin hvis det er oppgitt filer eller "
-#~ "en jobb-ID!\n"
-
-#~ msgid "%s: Error - expected character set after '-S' option!\n"
-#~ msgstr "%s: Feil – forventet tegnsett etter «-S»-valg!\n"
-
-#~ msgid "%s: Error - expected content type after '-T' option!\n"
-#~ msgstr "%s: Feil – forventet innholdstype etter «-T»-valg!\n"
-
-#~ msgid "%s: Error - expected copies after '-n' option!\n"
-#~ msgstr "%s: Feil – forventet eksemplarer etter «-n»-valg!\n"
-
-#~ msgid "%s: Error - expected copy count after '-#' option!\n"
-#~ msgstr "%s: Feil – forventet antall eksemplarer etter «-#»-valg!\n"
-
-#~ msgid "%s: Error - expected destination after '-P' option!\n"
-#~ msgstr "%s: Feil – forventet mål etter «-P»-valg!\n"
-
-#~ msgid "%s: Error - expected destination after '-b' option!\n"
-#~ msgstr "%s: Feil – forventet mål etter «-b»-valg!\n"
-
-#~ msgid "%s: Error - expected destination after '-d' option!\n"
-#~ msgstr "%s: Feil – forventet mål etter «-d»-valg!\n"
-
-#~ msgid "%s: Error - expected form after '-f' option!\n"
-#~ msgstr "%s: Feil – forventet skjema etter «-f»-valg!\n"
-
-#~ msgid "%s: Error - expected hold name after '-H' option!\n"
-#~ msgstr "%s: Feil – forventet holdnavn etter «-H»-valg!\n"
-
-#~ msgid "%s: Error - expected hostname after '-H' option!\n"
-#~ msgstr "%s: Feil – forventet vertsnavn etter «-H»-valg!\n"
-
-#~ msgid "%s: Error - expected hostname after '-h' option!\n"
-#~ msgstr "%s: Feil – forventet vertsnavn etter «-h»-valg!\n"
-
-#~ msgid "%s: Error - expected mode list after '-y' option!\n"
-#~ msgstr "%s: Feil – forventet modusliste etter «-y»-valg!\n"
-
-#~ msgid "%s: Error - expected name after '-%c' option!\n"
-#~ msgstr "%s: Feil – forventet navn etter «%c»-valg!\n"
-
-#~ msgid "%s: Error - expected option string after '-o' option!\n"
-#~ msgstr "%s: Feil – forventet valgstreng etter «-o»-valg!\n"
-
-#~ msgid "%s: Error - expected page list after '-P' option!\n"
-#~ msgstr "%s: Feil – forventet sideliste etter «-P»-valg!\n"
-
-#~ msgid "%s: Error - expected priority after '-%c' option!\n"
-#~ msgstr "%s: Feil – forventet prioritet etter «%c»-valg!\n"
-
-#~ msgid "%s: Error - expected reason text after '-r' option!\n"
-#~ msgstr "%s: Feil – forventet begrunnelsestekst etter «-r»-valg!\n"
-
-#~ msgid "%s: Error - expected title after '-t' option!\n"
-#~ msgstr "%s: Feil – forventet tittel etter «-t»-valg!\n"
-
-#~ msgid "%s: Error - expected username after '-U' option!\n"
-#~ msgstr "%s: Feil – forventet brukernavn etter «-U»-valg!\n"
-
-#~ msgid "%s: Error - expected username after '-u' option!\n"
-#~ msgstr "%s: Feil – forventet brukernavn etter «-u»-valg!\n"
-
-#~ msgid "%s: Error - expected value after '-%c' option!\n"
-#~ msgstr "%s: Feil – forventet verdi etter «%c»-valg!\n"
-
-#~ msgid ""
-#~ "%s: Error - need \"completed\", \"not-completed\", or \"all\" after '-W' "
-#~ "option!\n"
-#~ msgstr ""
-#~ "%s: Feil – trenger «completed», «not-completed» eller «all» etter «-W»-valg!\n"
-
-#~ msgid "%s: Error - no default destination available.\n"
-#~ msgstr "%s: Feil – ingen standardmål tilgjengelig.\n"
-
-#~ msgid "%s: Error - priority must be between 1 and 100.\n"
-#~ msgstr "%s: Feil – prioritet må være mellom 1 og 100.\n"
-
-#~ msgid "%s: Error - scheduler not responding!\n"
-#~ msgstr "%s: Feil – planlegger svarer ikke!\n"
-
-#~ msgid "%s: Error - too many files - \"%s\"\n"
-#~ msgstr "%s: Feil – for mange filer – «%s»\n"
-
-#~ msgid "%s: Error - unable to access \"%s\" - %s\n"
-#~ msgstr "%s: Feil – får ikke tilgang til «%s» – %s\n"
-
-#~ msgid "%s: Error - unable to queue from stdin - %s\n"
-#~ msgstr "%s: Feil – kan ikke legge i kø fra stdin – %s\n"
-
-#~ msgid "%s: Error - unknown destination \"%s\"!\n"
-#~ msgstr "%s: Feil – ukjent mål «%s»!\n"
-
-#~ msgid "%s: Error - unknown destination \"%s/%s\"!\n"
-#~ msgstr "%s: Feil – ukjent mål «%s/%s»!\n"
-
-#~ msgid "%s: Error - unknown option '%c'!\n"
-#~ msgstr "%s: Feil – ukjent valg «%c»!\n"
-
-#~ msgid "%s: Error - unknown option '%s'!\n"
-#~ msgstr "%s: Feil – ukjent valg «%s»!\n"
-
-#~ msgid "%s: Expected job ID after '-i' option!\n"
-#~ msgstr "%s: Forventet jobb-ID etter «-i»-valg!\n"
-
-#~ msgid "%s: Filter \"%s\" not available: %s\n"
-#~ msgstr "%s: Filteret «%s» er ikke tilgjengelig: %s\n"
-
-#~ msgid "%s: Invalid destination name in list \"%s\"!\n"
-#~ msgstr "%s: Ugyldig målnavn i liste «%s»!\n"
-
-#~ msgid "%s: Invalid filter string \"%s\"\n"
-#~ msgstr "%s: Ugyldig filterstreng «%s»\n"
-
-#~ msgid "%s: Need job ID ('-i jobid') before '-H restart'!\n"
-#~ msgstr "%s: Trenger jobb-ID («-i jobid») før «-H restart»!\n"
-
-#~ msgid "%s: No filter to convert from %s/%s to %s/%s!\n"
-#~ msgstr "%s: Mangler filter for å konvertere fra %s/%s til %s/%s!\n"
-
-#~ msgid "%s: Operation failed: %s\n"
-#~ msgstr "%s: Handling mislyktes: %s\n"
-
-#~ msgid "%s: Sorry, no encryption support compiled in!\n"
-#~ msgstr "%s: Støtte for kryptering er ikke kompilert inn!\n"
-
-#~ msgid "%s: Unable to connect to server\n"
-#~ msgstr "%s: Kan ikke koble til tjener\n"
-
-#~ msgid "%s: Unable to contact server!\n"
-#~ msgstr "%s: Får ikke kontakt med tjener!\n"
-
-#~ msgid "%s: Unable to determine MIME type of \"%s\"!\n"
-#~ msgstr "%s: Kan ikke bestemme MIME-typen til «%s»!\n"
-
-#~ msgid "%s: Unable to open %s - %s\n"
-#~ msgstr "%s: Kan ikke åpne %s – %s\n"
-
-#~ msgid "%s: Unable to open %s - %s on line %d.\n"
-#~ msgstr "%s: Kan ikke åpne %s – %s på linje %d.\n"
-
-#~ msgid "%s: Unable to open %s: %s\n"
-#~ msgstr "%s: Kan ikke åpne %s: %s\n"
-
-#~ msgid "%s: Unable to open PPD file: %s on line %d\n"
-#~ msgstr "%s: Kan ikke åpne PDF-fil: %s på linje %d\n"
-
-#~ msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"!\n"
-#~ msgstr "%s: Kan ikke lese MIME-database fra «%s» eller «%s»!\n"
-
-#~ msgid "%s: Unknown destination \"%s\"!\n"
-#~ msgstr "%s: Ukjent mål «%s»!\n"
-
-#~ msgid "%s: Unknown destination MIME type %s/%s!\n"
-#~ msgstr "%s: Ukjent MIME-type for mål %s/%s!\n"
-
-#~ msgid "%s: Unknown option '%c'!\n"
-#~ msgstr "%s: Ukjent valg «%c»!\n"
-
-#~ msgid "%s: Unknown source MIME type %s/%s!\n"
-#~ msgstr "%s: Ukjent kilde-MIME-type for mål %s/%s!\n"
-
-#~ msgid ""
-#~ "%s: Warning - '%c' format modifier not supported - output may not be "
-#~ "correct!\n"
-#~ msgstr ""
-#~ "%s: Advarsel «%c»-formatmodifikator støttes ikke – det er mulig at utdata "
-#~ "ikke er korrekt!\n"
-
-#~ msgid "%s: Warning - character set option ignored!\n"
-#~ msgstr "%s: Advarsel – ignorerte tegnsettvalg!\n"
-
-#~ msgid "%s: Warning - content type option ignored!\n"
-#~ msgstr "%s: Advarsel – ignorerte innholdstypevalg!\n"
-
-#~ msgid "%s: Warning - form option ignored!\n"
-#~ msgstr "%s: Advarsel – ignorerte skjemavalg!\n"
-
-#~ msgid "%s: Warning - mode option ignored!\n"
-#~ msgstr "%s: Advarsel – ignorerte modusvalg!\n"
-
-#~ msgid ""
-#~ "%s: error - %s environment variable names non-existent destination \"%s"
-#~ "\"!\n"
-#~ msgstr "%s: feil – %s-miljøvariabel oppgir målet «%s» som ikke eksisterer!\n"
-
-#~ msgid "%s: error - expected option=value after '-o' option!\n"
-#~ msgstr "%s: feil – forventet option=value etter «-o»-valg!\n"
-
-#~ msgid "%s: error - no default destination available.\n"
-#~ msgstr "%s: feil – ingen standardmål tilgjengelig.\n"
-
-#~ msgid "10 x 11\""
-#~ msgstr "10 x 11\""
-
-#~ msgid "10 x 13\""
-#~ msgstr "10 x 13\""
-
-#~ msgid "10 x 14\""
-#~ msgstr "10 x 14\""
-
-#~ msgid "12 x 11\""
-#~ msgstr "12 x 11\""
-
-#~ msgid "15 x 11\""
-#~ msgstr "15 x 11\""
-
-#~ msgid "600 DPI Grayscale"
-#~ msgstr "600 DPI gråskala"
-
-#~ msgid "60x720dpi"
-#~ msgstr "60 x 720 dpi"
-
-#~ msgid "7 x 9\""
-#~ msgstr "7 x 9\""
-
-#~ msgid "8 x 10\""
-#~ msgstr "8 x 10\""
-
-#~ msgid "9 x 11\""
-#~ msgstr "9 x 11\""
-
-#~ msgid "9 x 12\""
-#~ msgstr "9 x 12\""
-
-#~ msgid "?Invalid help command unknown\n"
-#~ msgstr "?Ugyldig hjelpekommando ukjent\n"
-
-#~ msgid "A Samba password is required to export printer drivers!"
-#~ msgstr "Et Samba-passord kreves for å eksportere skriverdrivere!"
-
-#~ msgid "A Samba username is required to export printer drivers!"
-#~ msgstr "Et Samba-brukernavn kreves for å eksportere skriverdrivere!"
-
-#~ msgid "A class named \"%s\" already exists!"
-#~ msgstr "Det finnes allerede en klasse med navnet «%s»!"
-
-#~ msgid "A printer named \"%s\" already exists!"
-#~ msgstr "Det finnes allerede en skriver med navnet «%s»!"
-
-#~ msgid "A3 (Oversize)"
-#~ msgstr "A3 (overdimensjonert)"
-
-#~ msgid "A4 (Oversize)"
-#~ msgstr "A4 (overdimensjonert)"
-
-#~ msgid "A4 (Small)"
-#~ msgstr "A4 (lite)"
-
-#~ msgid "A5 (Oversize)"
-#~ msgstr "A5 (overdimensjonert)"
-
-#~ msgid "ARCH A"
-#~ msgstr "ARCH A"
-
-#~ msgid "ARCH B"
-#~ msgstr "ARCH B"
-
-#~ msgid "Attempt to set %s printer-state to bad value %d!"
-#~ msgstr "Prøv å sette %s printer-state til den ugyldige verdien %d!"
-
-#~ msgid "Attribute groups are out of order (%x < %x)!"
-#~ msgstr "Attributtgrupper er ikke i rekkefølge (%x < %x)!"
-
-#~ msgid "Bad device URI \"%s\"!\n"
-#~ msgstr "Ugyldig device-URI «%s»!\n"
-
-#~ msgid "Bad device-uri \"%s\"!"
-#~ msgstr "Ugyldig device-uri «%s»!"
-
-#~ msgid "Bad device-uri scheme \"%s\"!"
-#~ msgstr "Ugyldig device-uri-oppsett «%s»!\n"
-
-#~ msgid "Bad document-format \"%s\"!"
-#~ msgstr "Ugyldig document-format «%s»!"
-
-#~ msgid "Bad filename buffer!"
-#~ msgstr "Ugyldig filnavnbuffer!"
-
-#~ msgid "Bad font attribute: %s\n"
-#~ msgstr "Ugyldig fontattributt: %s\n"
-
-#~ msgid "Bad job-priority value!"
-#~ msgstr "Ugyldig job-priority-verdi!"
-
-#~ msgid "Bad job-sheets value \"%s\"!"
-#~ msgstr "Ugyldig job-sheets-verdi «%s»!"
-
-#~ msgid "Bad job-sheets value type!"
-#~ msgstr "Ugyldig job-sheets-verditype!"
-
-#~ msgid "Bad job-state value!"
-#~ msgstr "Ugyldig job-state-verdi!"
-
-#~ msgid "Bad job-uri attribute \"%s\"!"
-#~ msgstr "Ugyldig job-uri-attributt «%s»!"
-
-#~ msgid "Bad notify-pull-method \"%s\"!"
-#~ msgstr "Ugyldig notify-pull-method «%s»!"
-
-#~ msgid "Bad notify-recipient-uri URI \"%s\"!"
-#~ msgstr "Ugyldig notify-recipient-uri-URI «%s»!"
-
-#~ msgid "Bad option + choice on line %d!"
-#~ msgstr "Ugyldig valg og alternativ på linje %d!"
-
-#~ msgid "Bad port-monitor \"%s\"!"
-#~ msgstr "Ugyldig port-monitor «%s»!"
-
-#~ msgid "Bad printer-state value %d!"
-#~ msgstr "Ugyldig printer-state-verdi %d!"
-
-#~ msgid "Bad request version number %d.%d!"
-#~ msgstr "Ugyldig versjonsnummer for forespørsel %d.%d!"
-
-#~ msgid "Bad subscription ID!"
-#~ msgstr "Ugyldig abonnements-ID!"
-
-#~ msgid "C0 Envelope"
-#~ msgstr "C0-konvolutt"
-
-#~ msgid "C1 Envelope"
-#~ msgstr "C1-konvolutt"
-
-#~ msgid "C2 Envelope"
-#~ msgstr "C2-konvolutt"
-
-#~ msgid "C3 Envelope"
-#~ msgstr "C3-konvolutt"
-
-#~ msgid "C4"
-#~ msgstr "C4"
-
-#~ msgid "C4 Envelope"
-#~ msgstr "C4-konvolutt"
-
-#~ msgid "C5"
-#~ msgstr "C5"
-
-#~ msgid "C5 Envelope"
-#~ msgstr "C5-konvolutt"
-
-#~ msgid "C6"
-#~ msgstr "C6"
-
-#~ msgid "C6 Envelope"
-#~ msgstr "C6-konvolutt"
-
-#~ msgid "C65 Envelope"
-#~ msgstr "C65-konvolutt"
-
-#~ msgid "C7 Envelope"
-#~ msgstr "C7-konvolutt"
-
-#~ msgid "Character set \"%s\" not supported!"
-#~ msgstr "Tegnsett «%s» støttes ikke!"
-
-#~ msgid "Chou3 Envelope"
-#~ msgstr "Chou3-konvolutt"
-
-#~ msgid "Chou4 Envelope"
-#~ msgstr "Chou4-konvolutt"
-
-#~ msgid ""
-#~ "Commands may be abbreviated.  Commands are:\n"
-#~ "\n"
-#~ "exit    help    quit    status  ?\n"
-#~ msgstr ""
-#~ "Kommandoer kan være forkortet.  Kommandoer er :\n"
-#~ "\n"
-#~ "exit    help    quit    status  ?\n"
-
-#~ msgid "Could not scan type \"%s\"!"
-#~ msgstr "Kunne ikke skanne type «%s»!"
-
-#~ msgid "Cover open."
-#~ msgstr "Deksel åpent."
-
-#~ msgid "DL"
-#~ msgstr "DL"
-
-#~ msgid "DL Envelope"
-#~ msgstr "DL-konvolutt"
-
-#~ msgid "Developer almost empty."
-#~ msgstr "Fremkaller nesten tom."
-
-#~ msgid "Developer empty!"
-#~ msgstr "Fremkaller tom!"
-
-#~ msgid ""
-#~ "Device: uri = %s\n"
-#~ "        class = %s\n"
-#~ "        info = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ "        location = %s\n"
-#~ msgstr ""
-#~ "Enhet: uri = %s\n"
-#~ "        class = %s\n"
-#~ "        info = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ "        location = %s\n"
-
-#~ msgid "Document %d not found in job %d."
-#~ msgstr "Fant ikke dokumentet %d i jobben %d."
-
-#~ msgid "Door open."
-#~ msgstr "Dør åpen."
-
-#~ msgid "Double Postcard"
-#~ msgstr "Dobbelt postkort"
-
-#~ msgid "EMERG: Unable to allocate memory for page info: %s\n"
-#~ msgstr "EMERG: Kan ikke tildele hukommelse for sideinfo: %s\n"
-
-#~ msgid "EMERG: Unable to allocate memory for pages array: %s\n"
-#~ msgstr "EMERG: Kan ikke tildele hukommelse for sidesett: %s\n"
-
-#~ msgid "ERROR: Bad %%BoundingBox: comment seen!\n"
-#~ msgstr "ERROR: Fant ugyldig %%BoundingBox:-kommentar!\n"
-
-#~ msgid "ERROR: Bad %%IncludeFeature: comment!\n"
-#~ msgstr "ERROR: Ugyldig %%IncludeFeature:-kommentar!\n"
-
-#~ msgid "ERROR: Bad %%Page: comment in file!\n"
-#~ msgstr "ERROR: Ugyldig %%Page:-kommentar i fil!\n"
-
-#~ msgid "ERROR: Bad %%PageBoundingBox: comment in file!\n"
-#~ msgstr "ERROR: Ugyldig %%PageBoundingBox:-kommentar i fil!\n"
-
-#~ msgid "ERROR: Bad SCSI device file \"%s\"!\n"
-#~ msgstr "ERROR: Ugyldig SCSI-enhetsfil «%s»!\n"
-
-#~ msgid "ERROR: Bad charset file %s\n"
-#~ msgstr "ERROR: Ugyldig tegnsettfil %s\n"
-
-#~ msgid "ERROR: Bad charset type %s\n"
-#~ msgstr "ERROR: Ugyldig tegnsettype %s\n"
-
-#~ msgid "ERROR: Bad columns value %d!\n"
-#~ msgstr "ERROR: Ugyldig kolonneverdi %d!\n"
-
-#~ msgid "ERROR: Bad cpi value %f!\n"
-#~ msgstr "ERROR: Ugyldig cpi-verdi %f!\n"
-
-#~ msgid "ERROR: Bad font description line: %s\n"
-#~ msgstr "ERROR: Ugyldig fontbeskrivelseslinje: %s\n"
-
-#~ msgid "ERROR: Bad lpi value %f!\n"
-#~ msgstr "ERROR: Ugyldig lpi-verdi %f!\n"
-
-#~ msgid "ERROR: Bad page setup!\n"
-#~ msgstr "ERROR: Ugyldig sideoppsett!\n"
-
-#~ msgid "ERROR: Bad text direction %s\n"
-#~ msgstr "ERROR: Ugyldig tekstretning %s\n"
-
-#~ msgid "ERROR: Bad text width %s\n"
-#~ msgstr "ERROR: Ugyldig tekstbredde %s\n"
-
-#~ msgid "ERROR: Destination printer does not exist!\n"
-#~ msgstr "ERROR: Målskriver finnes ikke!\n"
-
-#~ msgid "ERROR: Duplicate %%BoundingBox: comment seen!\n"
-#~ msgstr "ERROR: Fant duplisert %%BoundingBox:-kommentar!\n"
-
-#~ msgid "ERROR: Duplicate %%Pages: comment seen!\n"
-#~ msgstr "ERROR: Fant duplisert %%Pages:-kommentar!\n"
-
-#~ msgid "ERROR: Empty print file!\n"
-#~ msgstr "ERROR: Tom utskriftsfil!\n"
-
-#~ msgid "ERROR: Error %d sending PAPSendData request: %s\n"
-#~ msgstr "ERROR: Feil %d ved sending av PAPSendData-forespørsel: %s\n"
-
-#~ msgid "ERROR: Expected quoted string on line %d of %s!\n"
-#~ msgstr "ERROR: Forventet streng i anførselstegn på linje %d av %s!\n"
-
-#~ msgid "ERROR: Fatal USB error!\n"
-#~ msgstr "ERROR: Kritisk USB-feil!\n"
-
-#~ msgid "ERROR: Invalid HP-GL/2 command seen, unable to print file!\n"
-#~ msgstr "ERROR: Fant ugyldig HP-GL/2-kommando, kan ikke skrive ut fil!\n"
-
-#~ msgid "ERROR: Missing %%EndProlog!\n"
-#~ msgstr "ERROR: %%EndProlog mangler!\n"
-
-#~ msgid "ERROR: Missing %%EndSetup!\n"
-#~ msgstr "ERROR: %%EndSetup mangler!\n"
-
-#~ msgid ""
-#~ "ERROR: Missing device URI on command-line and no DEVICE_URI environment "
-#~ "variable!\n"
-#~ msgstr ""
-#~ "ERROR: Mangler enhets-URI på kommandolinje, og ingen DEVICE_URI-"
-#~ "miljøvariabel!\n"
-
-#~ msgid "ERROR: Missing value on line %d of banner file!\n"
-#~ msgstr "ERROR: Mangler verdi på linje %d i bannerfil!\n"
-
-#~ msgid ""
-#~ "ERROR: Need a msgid line before any translation strings on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ERROR: Krever en msgid-linje før oversettelsesstreng på linje %d av %s!\n"
-
-#~ msgid "ERROR: No %%BoundingBox: comment in header!\n"
-#~ msgstr "ERROR: Ingen %%BoundingBox:-kommentar i header!\n"
-
-#~ msgid "ERROR: No %%Pages: comment in header!\n"
-#~ msgstr "ERROR: Ingen %%Pages:-kommentar i header!\n"
-
-#~ msgid ""
-#~ "ERROR: No device URI found in argv[0] or in DEVICE_URI environment "
-#~ "variable!\n"
-#~ msgstr ""
-#~ "ERROR: Fant ingen enhets-URI i argv[0] eller i DEVICE_URI-miljøvariabel!\n"
-
-#~ msgid "ERROR: No fonts in charset file %s\n"
-#~ msgstr "ERROR: Ingen fonter i tegnsettfil %s\n"
-
-#~ msgid "ERROR: No pages found!\n"
-#~ msgstr "ERROR: Fant ingen sider!\n"
-
-#~ msgid "ERROR: Out of paper!\n"
-#~ msgstr "ERROR: Tom for papir!\n"
-
-#~ msgid "ERROR: PRINTER environment variable not defined!\n"
-#~ msgstr "ERROR: PRINTER-miljøvariabel er ikke definert!\n"
-
-#~ msgid "ERROR: Print file was not accepted (%s)!\n"
-#~ msgstr "ERROR: Utskriftsfil ble ikke akseptert (%s)!\n"
-
-#~ msgid "ERROR: Printer not responding\n"
-#~ msgstr "ERROR: Skriver svarer ikke\n"
-
-#~ msgid "ERROR: Printer not responding!\n"
-#~ msgstr "ERROR: Skriver svarer ikke!\n"
-
-#~ msgid "ERROR: Printer sent unexpected EOF\n"
-#~ msgstr "ERROR: Skriver sendte uventet EOF\n"
-
-#~ msgid "ERROR: Remote host did not accept control file (%d)\n"
-#~ msgstr "ERROR: Ekstern vert godtok ikke kontrollfil (%d)\n"
-
-#~ msgid "ERROR: Remote host did not accept data file (%d)\n"
-#~ msgstr "ERROR: Ekstern vert godtok ikke datafil (%d)\n"
-
-#~ msgid "ERROR: There was a timeout error while sending data to the printer\n"
-#~ msgstr ""
-#~ "ERROR: Det oppsto en tidsavbruddfeil under sending av data til skriveren\n"
-
-#~ msgid "ERROR: Unable to add file %d to job: %s\n"
-#~ msgstr "ERROR: Kan ikke legge til filen %d i jobb: %s\n"
-
-#~ msgid "ERROR: Unable to cancel job %d: %s\n"
-#~ msgstr "ERROR: Kan ikke avbryte jobb %d: %s\n"
-
-#~ msgid "ERROR: Unable to copy PDF file"
-#~ msgstr "ERROR: Kan ikke kopiere PDF-fil"
-
-#~ msgid "ERROR: Unable to create socket"
-#~ msgstr "ERROR: Kan ikke opprette socket"
-
-#~ msgid "ERROR: Unable to create temporary compressed print file: %s\n"
-#~ msgstr "ERROR: Kan ikke opprette midlertidig, komprimert utskriftsfil: %s\n"
-
-#~ msgid "ERROR: Unable to create temporary file"
-#~ msgstr "ERROR: Kan ikke opprette midlertidig fil"
-
-#~ msgid "ERROR: Unable to create temporary file - %s.\n"
-#~ msgstr "ERROR: Kan ikke opprette midlertidig fil – %s.\n"
-
-#~ msgid "ERROR: Unable to create temporary file: %s\n"
-#~ msgstr "ERROR: Kan ikke opprette midlertidig fil: %s\n"
-
-#~ msgid "ERROR: Unable to exec pictwpstops: %s\n"
-#~ msgstr "ERROR: Kan ikke utføre pictwpstops: %s\n"
-
-#~ msgid "ERROR: Unable to execute gs program"
-#~ msgstr "ERROR: Kan ikke utføre gs-program"
-
-#~ msgid "ERROR: Unable to execute pdftops program"
-#~ msgstr "ERROR: Kan ikke utføre pdftops-program"
-
-#~ msgid "ERROR: Unable to fork pictwpstops: %s\n"
-#~ msgstr "ERROR: Kan ikke forgrene pictwpstops: %s\n"
-
-#~ msgid "ERROR: Unable to get PAP request"
-#~ msgstr "ERROR: Kan ikke hente PAP-forespørsel"
-
-#~ msgid "ERROR: Unable to get PAP response"
-#~ msgstr "ERROR: Kan ikke hente PAP-svar"
-
-#~ msgid "ERROR: Unable to get PPD file for printer \"%s\" - %s.\n"
-#~ msgstr "ERROR: Kan ikke hente PPD-fil for skriveren «%s» – %s.\n"
-
-#~ msgid "ERROR: Unable to get default AppleTalk zone"
-#~ msgstr "ERROR: Kan ikke hente standard AppleTalk-sone"
-
-#~ msgid "ERROR: Unable to get job %d attributes (%s)!\n"
-#~ msgstr "ERROR: Kan ikke hente %d-attributter for jobb (%s)!\n"
-
-#~ msgid "ERROR: Unable to get printer status (%s)!\n"
-#~ msgstr "ERROR: Kan ikke hente skriverstatus (%s)!\n"
-
-#~ msgid "ERROR: Unable to locate printer '%s'!\n"
-#~ msgstr "ERROR: Finner ikke skriveren «%s»!\n"
-
-#~ msgid "ERROR: Unable to look for PAP response"
-#~ msgstr "ERROR: Kan ikke søke etter PAP-svar"
-
-#~ msgid "ERROR: Unable to lookup AppleTalk printers"
-#~ msgstr "ERROR: Kan ikke søke etter AppleTalk-skrivere"
-
-#~ msgid "ERROR: Unable to make AppleTalk address"
-#~ msgstr "ERROR: Kan ikke lage AppleTalk-adresse"
-
-#~ msgid "ERROR: Unable to open \"%s\" - %s\n"
-#~ msgstr "ERROR: Kan ikke åpne «%s» – %s\n"
-
-#~ msgid "ERROR: Unable to open %s: %s\n"
-#~ msgstr "ERROR: Kan ikke åpne %s: %s\n"
-
-#~ msgid "ERROR: Unable to open banner file \"%s\" - %s\n"
-#~ msgstr "ERROR: Kan ikke åpne bannerfilen «%s» – %s\n"
-
-#~ msgid "ERROR: Unable to open device file \"%s\": %s\n"
-#~ msgstr "ERROR: Kan ikke åpne enhetsfilen «%s»: %s\n"
-
-#~ msgid "ERROR: Unable to open file \"%s\" - %s\n"
-#~ msgstr "ERROR: Kan ikke åpne filen «%s» – %s\n"
-
-#~ msgid "ERROR: Unable to open file \"%s\": %s\n"
-#~ msgstr "ERROR: Kan ikke åpne filen «%s»: %s\n"
-
-#~ msgid "ERROR: Unable to open image file for printing!\n"
-#~ msgstr "ERROR: Kan ikke åpne bildefil for utskrift!\n"
-
-#~ msgid "ERROR: Unable to open print file \"%s\": %s\n"
-#~ msgstr "ERROR: Kan ikke åpne utskriftsfilen «%s»: %s\n"
-
-#~ msgid "ERROR: Unable to open print file %s - %s\n"
-#~ msgstr "ERROR: Kan ikke åpne utskriftsfilen %s – %s\n"
-
-#~ msgid "ERROR: Unable to open print file %s: %s\n"
-#~ msgstr "ERROR: Kan ikke åpne utskriftsfilen %s: %s\n"
-
-#~ msgid "ERROR: Unable to open temporary compressed print file: %s\n"
-#~ msgstr "ERROR: Kan ikke åpne midlertidig, komprimert utskriftsfil: %s\n"
-
-#~ msgid "ERROR: Unable to open temporary file"
-#~ msgstr "ERROR: Kan ikke åpne midlertidig fil"
-
-#~ msgid "ERROR: Unable to print %d text columns!\n"
-#~ msgstr "ERROR: Kan ikke skrive ut %d tekstkolonner!\n"
-
-#~ msgid "ERROR: Unable to print %dx%d text page!\n"
-#~ msgstr "ERROR: Kan ikke skrive ut %d x %d tekstside!\n"
-
-#~ msgid "ERROR: Unable to read print data"
-#~ msgstr "ERROR: Kan ikke lese utskriftsdata"
-
-#~ msgid "ERROR: Unable to read print data!\n"
-#~ msgstr "ERROR: Kan ikke lese utskriftsdata!\n"
-
-#~ msgid "ERROR: Unable to reserve port"
-#~ msgstr "ERROR: Kan ikke reservere port"
-
-#~ msgid "ERROR: Unable to seek to offset %ld in file - %s\n"
-#~ msgstr "ERROR: Kan ikke søke for å forskyve %ld i fil – %s\n"
-
-#~ msgid "ERROR: Unable to seek to offset %lld in file - %s\n"
-#~ msgstr "ERROR: Kan ikke søke for å forskyve %lld i fil – %s\n"
-
-#~ msgid "ERROR: Unable to send LPD command"
-#~ msgstr "ERROR: Kan ikke sende LPD-kommando"
-
-#~ msgid "ERROR: Unable to send PAP tickle request"
-#~ msgstr "ERROR: Kan ikke sende PAP-tickleforespørsel"
-
-#~ msgid "ERROR: Unable to send initial PAP send data request"
-#~ msgstr "ERROR: Kan ikke sende innledende PAP-forespørsel om sending av data"
-
-#~ msgid "ERROR: Unable to send print data (%d)\n"
-#~ msgstr "ERROR: Kan ikke sende utskriftsdata (%d)\n"
-
-#~ msgid "ERROR: Unable to send print data!\n"
-#~ msgstr "ERROR: Kan ikke sende utskriftsdata!\n"
-
-#~ msgid "ERROR: Unable to send print file to printer"
-#~ msgstr "ERROR: Kan ikke sende utskriftsfil til skriver"
-
-#~ msgid "ERROR: Unable to send trailing nul to printer"
-#~ msgstr "ERROR: Kan ikke sende «trailing nul» til skriver"
-
-#~ msgid "ERROR: Unable to wait for pictwpstops: %s\n"
-#~ msgstr "ERROR: Kan ikke vente på pictwpstops: %s\n"
-
-#~ msgid "ERROR: Unable to write %d bytes to \"%s\": %s\n"
-#~ msgstr "ERROR: Kan ikke skrive %d byte til «%s»: %s\n"
-
-#~ msgid "ERROR: Unable to write %d bytes to printer!\n"
-#~ msgstr "ERROR: Kan ikke skrive %d byte til skriver!\n"
-
-#~ msgid "ERROR: Unable to write control file"
-#~ msgstr "ERROR: Kan ikke skrive kontrollfil"
-
-#~ msgid "ERROR: Unable to write print data"
-#~ msgstr "ERROR: Kan ikke skrive utskriftsdata"
-
-#~ msgid "ERROR: Unable to write print data: %s\n"
-#~ msgstr "ERROR: Kan ikke skrive utskriftsdata: %s\n"
-
-#~ msgid "ERROR: Unable to write raster data to driver!\n"
-#~ msgstr "ERROR: Kan ikke skrive rasterdata til driver!\n"
-
-#~ msgid "ERROR: Unable to write to temporary file"
-#~ msgstr "ERROR: Kan ikke skrive til midlertidig fil "
-
-#~ msgid "ERROR: Unable to write uncompressed document data: %s\n"
-#~ msgstr "ERROR: Kan ikke skrive ukomprimert dokumentdata: %s\n"
-
-#~ msgid "ERROR: Unexpected text on line %d of %s!\n"
-#~ msgstr "ERROR: Uventet tekst på linje %d av %s!\n"
-
-#~ msgid "ERROR: Unknown encryption option value \"%s\"!\n"
-#~ msgstr "ERROR: Ukjent krypteringsvalgverdi «%s»!\n"
-
-#~ msgid "ERROR: Unknown file order \"%s\"\n"
-#~ msgstr "ERROR: Ukjent filrekkefølge «%s»\n"
-
-#~ msgid "ERROR: Unknown format character \"%c\"\n"
-#~ msgstr "ERROR: Ukjent formattegn «%c»\n"
-
-#~ msgid "ERROR: Unknown message catalog format for \"%s\"!\n"
-#~ msgstr "ERROR: Ukjent meldingskatalogformat for «%s»!\n"
-
-#~ msgid "ERROR: Unknown option \"%s\" with value \"%s\"!\n"
-#~ msgstr "ERROR: Ukjent valg «%s» med verdien «%s»!\n"
-
-#~ msgid "ERROR: Unknown print mode \"%s\"\n"
-#~ msgstr "ERROR: Ukjent utskriftsmodus «%s»\n"
-
-#~ msgid "ERROR: Unknown version option value \"%s\"!\n"
-#~ msgstr "ERROR: Ukjent versjonsvalgverdi «%s»!\n"
-
-#~ msgid "ERROR: Unsupported brightness value %s, using brightness=100!\n"
-#~ msgstr "ERROR: Lysstyrkeverdien %s støttes ikke, bruker brightness=100!\n"
-
-#~ msgid "ERROR: Unsupported gamma value %s, using gamma=1000!\n"
-#~ msgstr "ERROR: Gammaverdien %s støttes ikke, bruker gamma=1000!\n"
-
-#~ msgid "ERROR: Unsupported number-up value %d, using number-up=1!\n"
-#~ msgstr "ERROR: Number-up-verdien %d støttes ikke, bruker number-up=1!\n"
-
-#~ msgid ""
-#~ "ERROR: Unsupported number-up-layout value %s, using number-up-"
-#~ "layout=lrtb!\n"
-#~ msgstr ""
-#~ "ERROR: Number-up-layout-verdien %s støttes ikke, bruker number-up-"
-#~ "layout=lrtb!\n"
-
-#~ msgid "ERROR: Unsupported page-border value %s, using page-border=none!\n"
-#~ msgstr ""
-#~ "ERROR: Page-border-verdien %s støttes ikke, bruker page-border=none!\n"
-
-#~ msgid "ERROR: doc_printf overflow (%d bytes) detected, aborting!\n"
-#~ msgstr "ERROR: fant doc_printf-overflyt (%d byte), avbryter!\n"
-
-#~ msgid "ERROR: pdftops filter crashed on signal %d!\n"
-#~ msgstr "ERROR: pdftops-filter krasjet på signal %d!\n"
-
-#~ msgid "ERROR: pdftops filter exited with status %d!\n"
-#~ msgstr "ERROR: pdftops-filter avsluttet med statusen %d!\n"
-
-#~ msgid "ERROR: pictwpstops exited on signal %d!\n"
-#~ msgstr "ERROR: pictwpstops avsluttet på signalet %d!\n"
-
-#~ msgid "ERROR: pictwpstops exited with status %d!\n"
-#~ msgstr "ERROR: pictwpstops avsluttet med statusen %d!\n"
-
-#~ msgid ""
-#~ "ERROR: recoverable: Unable to connect to printer; will retry in 30 "
-#~ "seconds...\n"
-#~ msgstr ""
-#~ "ERROR: gjenopprettbar: Kan ikke koble til skriver. Prøver på nytt om 30 "
-#~ "sekunder...\n"
-
-#~ msgid "ERROR: select() failed"
-#~ msgstr "ERROR: select() mislyktes"
-
-#~ msgid "ERROR: unable to stat print file"
-#~ msgstr "ERROR: kan ikke statte utskriftsfilen"
-
-#~ msgid "Empty PPD file!"
-#~ msgstr "Tom PPD-fil!"
-
-#~ msgid "Error: need hostname after '-h' option!\n"
-#~ msgstr "Feil: krever vertsnavn etter «-h»-valg!\n"
-
-#~ msgid "FAIL\n"
-#~ msgstr "FEIL\n"
-
-#~ msgid ""
-#~ "File device URIs have been disabled! To enable, see the FileDevice "
-#~ "directive in \"%s/cupsd.conf\"."
-#~ msgstr ""
-#~ "Enhets-URIer for filer er deaktivert! Hvis du vil aktivere funksjonen, "
-#~ "leser du FileDevice-direktivet i «%s/cupsd.conf»."
-
-#~ msgid "Fuser temperature high!"
-#~ msgstr "Fikseringsenhetens temperatur er høy!"
-
-#~ msgid "Fuser temperature low!"
-#~ msgstr "Fikseringsenhetens temperatur er lav!"
-
-#~ msgid "German FanFold"
-#~ msgstr "Tysk FanFold"
-
-#~ msgid "German FanFold Legal"
-#~ msgstr "Tysk FanFold Legal"
-
-#~ msgid "Got a printer-uri attribute but no job-id!"
-#~ msgstr "Fikk et printer-uri-attributt, men ingen jobb-ID!"
-
-#~ msgid "INFO: AppleTalk disabled in System Preferences\n"
-#~ msgstr "INFO: AppleTalk deaktivert i Systemvalg\n"
-
-#~ msgid "INFO: AppleTalk disabled in System Preferences.\n"
-#~ msgstr "INFO: AppleTalk deaktivert i Systemvalg.\n"
-
-#~ msgid "INFO: Canceling print job...\n"
-#~ msgstr "INFO: Avbryter utskriftsjobb...\n"
-
-#~ msgid "INFO: Connected to printer...\n"
-#~ msgstr "INFO: Koblet til skriver...\n"
-
-#~ msgid "INFO: Connecting to printer...\n"
-#~ msgstr "INFO: Kobler til skriver...\n"
-
-#~ msgid "INFO: Control file sent successfully\n"
-#~ msgstr "INFO: Kontrollfil sendt\n"
-
-#~ msgid "INFO: Data file sent successfully\n"
-#~ msgstr "INFO: Datafil sendt\n"
-
-#~ msgid "INFO: Formatting page %d...\n"
-#~ msgstr "INFO: Formaterer side %d...\n"
-
-#~ msgid "INFO: Loading image file...\n"
-#~ msgstr "INFO: Laster inn bildefil...\n"
-
-#~ msgid "INFO: Looking for printer...\n"
-#~ msgstr "INFO: Søker etter skriver...\n"
-
-#~ msgid "INFO: Opening connection\n"
-#~ msgstr "INFO: Åpner forbindelse\n"
-
-#~ msgid "INFO: Print file sent, waiting for printer to finish...\n"
-#~ msgstr ""
-#~ "INFO: Utskriftsfil sendt, venter på at skriveren skal bli ferdig...\n"
-
-#~ msgid "INFO: Printer busy; will retry in 10 seconds...\n"
-#~ msgstr "INFO: Skriveren er opptatt. Prøver på nytt om 10 sekunder...\n"
-
-#~ msgid "INFO: Printer busy; will retry in 30 seconds...\n"
-#~ msgstr "INFO: Skriveren er opptatt. Prøver på nytt om 30 sekunder...\n"
-
-#~ msgid "INFO: Printer busy; will retry in 5 seconds...\n"
-#~ msgstr "INFO: Skriveren er opptatt. Prøver på nytt om 5 sekunder...\n"
-
-#~ msgid "INFO: Printer does not support IPP/%d.%d, trying IPP/1.0...\n"
-#~ msgstr "INFO: Skriveren støtter ikke IPP/%d.%d, prøver IPP/1.0...\n"
-
-#~ msgid "INFO: Printer is busy; will retry in 5 seconds...\n"
-#~ msgstr "INFO: Skriveren er opptatt. Prøver på nytt om 5 sekunder...\n"
-
-#~ msgid "INFO: Printer is currently off-line.\n"
-#~ msgstr "INFO: Skriveren er ikke tilgjengelig.\n"
-
-#~ msgid "INFO: Printer is currently offline.\n"
-#~ msgstr "INFO: Skriveren er ikke tilgjengelig.\n"
-
-#~ msgid "INFO: Printer is now online.\n"
-#~ msgstr "INFO: Skriveren er tilgjengelig.\n"
-
-#~ msgid "INFO: Printer is offline.\n"
-#~ msgstr "INFO: Skriveren er ikke tilgjengelig.\n"
-
-#~ msgid "INFO: Printer not connected; will retry in 30 seconds...\n"
-#~ msgstr ""
-#~ "INFO: Skriveren er ikke tilgjengelig. Prøver på nytt om 30 sekunder...\n"
-
-#~ msgid "INFO: Printing page %d, %d%% complete...\n"
-#~ msgstr "INFO: Skriver ut side %d, %d%% fullført...\n"
-
-#~ msgid "INFO: Printing page %d...\n"
-#~ msgstr "INFO: Skriver ut side %d...\n"
-
-#~ msgid "INFO: Ready to print.\n"
-#~ msgstr "INFO: Klar til utskrift.\n"
-
-#~ msgid "INFO: Sending control file (%lu bytes)\n"
-#~ msgstr "INFO: Sender kontrollfil (%lu byte)\n"
-
-#~ msgid "INFO: Sending control file (%u bytes)\n"
-#~ msgstr "INFO: Sender kontrollfil (%u byte)\n"
-
-#~ msgid "INFO: Sending data\n"
-#~ msgstr "INFO: Sender data\n"
-
-#~ msgid "INFO: Sending data file (%ld bytes)\n"
-#~ msgstr "INFO: Sender datafil (%ld byte)\n"
-
-#~ msgid "INFO: Sending data file (%lld bytes)\n"
-#~ msgstr "INFO: Sender datafil (%lld byte)\n"
-
-#~ msgid "INFO: Sending print data...\n"
-#~ msgstr "INFO: Sender utskriftsdata...\n"
-
-#~ msgid "INFO: Sent print file, %ld bytes...\n"
-#~ msgstr "INFO: Utskriftsfil sendt, %ld byte...\n"
-
-#~ msgid "INFO: Sent print file, %lld bytes...\n"
-#~ msgstr "INFO: Utskriftsfil sendt, %lld byte...\n"
-
-#~ msgid "INFO: Spooling LPR job, %.0f%% complete...\n"
-#~ msgstr "INFO: Legger LPR-jobb i utskriftskø, %.0f%% fullført...\n"
-
-#~ msgid ""
-#~ "INFO: Unable to contact printer, queuing on next printer in class...\n"
-#~ msgstr ""
-#~ "INFO: Får ikke kontakt med skriver, legger i kø på neste skriver i "
-#~ "klassen...\n"
-
-#~ msgid "INFO: Using default AppleTalk zone \"%s\"\n"
-#~ msgstr "INFO: Bruker standard AppleTalk-sone «%s»\n"
-
-#~ msgid "INFO: Waiting for job to complete...\n"
-#~ msgstr "INFO: Venter på at jobben skal bli ferdig...\n"
-
-#~ msgid "INFO: Waiting for printer to become available...\n"
-#~ msgstr "INFO: Venter på at skriveren skal bli tilgjengelig...\n"
-
-#~ msgid "ISO B0"
-#~ msgstr "ISO B0"
-
-#~ msgid "ISO B1"
-#~ msgstr "ISO B1"
-
-#~ msgid "ISO B10"
-#~ msgstr "ISO B10"
-
-#~ msgid "ISO B2"
-#~ msgstr "ISO B2"
-
-#~ msgid "ISO B3"
-#~ msgstr "ISO B3"
-
-#~ msgid "ISO B4"
-#~ msgstr "ISO B4"
-
-#~ msgid "ISO B4 Envelope"
-#~ msgstr "ISO B4-konvolutt"
-
-#~ msgid "ISO B5"
-#~ msgstr "ISO B5"
-
-#~ msgid "ISO B5 (Oversize)"
-#~ msgstr "ISO B5 (overdimensjonert)"
-
-#~ msgid "ISO B5 Envelope"
-#~ msgstr "ISO B5-konvolutt"
-
-#~ msgid "ISO B6"
-#~ msgstr "ISO B6"
-
-#~ msgid "ISO B6 Envelope"
-#~ msgstr "ISO B6-konvolutt"
-
-#~ msgid "ISO B7"
-#~ msgstr "ISO B7"
-
-#~ msgid "ISO B8"
-#~ msgstr "ISO B8"
-
-#~ msgid "ISO B9"
-#~ msgstr "ISO B9"
-
-#~ msgid "Ink/toner almost empty."
-#~ msgstr "Blekk/toner nesten tom."
-
-#~ msgid "Ink/toner empty!"
-#~ msgstr "Blekk/toner tom!"
-
-#~ msgid "Ink/toner waste bin almost full."
-#~ msgstr "Avfallsbeholder for blekk/toner nesten full."
-
-#~ msgid "Ink/toner waste bin full!"
-#~ msgstr "Avfallsbeholder for blekk/toner full!"
-
-#~ msgid "Interlock open."
-#~ msgstr "Sikkerhetsenhet åpen."
-
-#~ msgid "Invite Envelope"
-#~ msgstr "Invitasjonskonvolutt"
-
-#~ msgid "Italian Envelope"
-#~ msgstr "Italiensk konvolutt"
-
-#~ msgid "Job #%d cannot be restarted - no files!"
-#~ msgstr "Kan ikke starte jobb nr. %d på nytt – ingen filer!"
-
-#~ msgid "Job #%d does not exist!"
-#~ msgstr "Jobb nr. %d finnes ikke!"
-
-#~ msgid "Job #%d is finished and cannot be altered!"
-#~ msgstr "Jobb nr. %d er fullført og kan ikke endres!"
-
-#~ msgid "Job #%d is not complete!"
-#~ msgstr "Jobb nr. %d er ikke fullført!"
-
-#~ msgid "Job #%d is not held for authentication!"
-#~ msgstr "Jobb nr. %d holdes ikke for godkjenning!"
-
-#~ msgid "Job #%d is not held!"
-#~ msgstr "Jobb nr. %d holdes ikke!"
-
-#~ msgid "Job #%s does not exist!"
-#~ msgstr "Jobben #%s finnes ikke!"
-
-#~ msgid "Job %d not found!"
-#~ msgstr "Fant ikke jobben %d!"
-
-#~ msgid "Job subscriptions cannot be renewed!"
-#~ msgstr "Jobbabonnementer kan ikke fornyes!"
-
-#~ msgid "Kaku2 Envelope"
-#~ msgstr "Kaku2-konvolutt"
-
-#~ msgid "Kaku3 Envelope"
-#~ msgstr "Kaku3-konvolutt"
-
-#~ msgid "Language \"%s\" not supported!"
-#~ msgstr "Språket «%s» støttes ikke!"
-
-#~ msgid "Media jam!"
-#~ msgstr "Papirstopp!"
-
-#~ msgid "Media tray almost empty."
-#~ msgstr "Arkskuff nesten tom."
-
-#~ msgid "Media tray empty!"
-#~ msgstr "Arkskuff tom!"
-
-#~ msgid "Media tray missing!"
-#~ msgstr "Arkskuff mangler!"
-
-#~ msgid "Media tray needs to be filled."
-#~ msgstr "Arkskuffen må fylles."
-
-#~ msgid "Missing document-number attribute!"
-#~ msgstr "document-number-attributt mangler!"
-
-#~ msgid "Missing double quote on line %d!"
-#~ msgstr "Dobbelt anførselstegn mangler på linje %d!"
-
-#~ msgid "Missing form variable!"
-#~ msgstr "Skjemavariabel mangler!"
-
-#~ msgid "Missing notify-subscription-ids attribute!"
-#~ msgstr "Notify-subscription-ids-attributt mangler!"
-
-#~ msgid "Missing requesting-user-name attribute!"
-#~ msgstr "Requesting-user-name-attributt mangler!"
-
-#~ msgid "Missing required attributes!"
-#~ msgstr "Nødvendige attributter mangler!"
-
-#~ msgid "Missing value on line %d!"
-#~ msgstr "Verdi mangler på linje %d!"
-
-#~ msgid ""
-#~ "Model:  name = %s\n"
-#~ "        natural_language = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ msgstr ""
-#~ "Modell:  name = %s\n"
-#~ "        natural_language = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-
-#~ msgid "Monarch"
-#~ msgstr "Monarch"
-
-#~ msgid "Monarch Envelope"
-#~ msgstr "Monarch-konvolutt"
-
-#~ msgid "NOTICE: Print file accepted - job ID %d.\n"
-#~ msgstr "NOTICE: Utskriftsfil godtatt – jobb-ID %d.\n"
-
-#~ msgid "NOTICE: Print file accepted - job ID unknown.\n"
-#~ msgstr "NOTICE: Utskriftsfil godtatt – jobb-ID ukjent.\n"
-
-#~ msgid "No PPD name!"
-#~ msgstr "Uten PPD-navn!"
-
-#~ msgid "No Windows printer drivers are installed!"
-#~ msgstr "Ingen Windows-skriverdrivere er installert!"
-
-#~ msgid "No active jobs on %s!"
-#~ msgstr "Ingen aktive jobber på %s!"
-
-#~ msgid "No attributes in request!"
-#~ msgstr "Ingen attributter i forespørsel!"
-
-#~ msgid "No authentication information provided!"
-#~ msgstr "Ingen godkjenningsinformasjon oppgitt!"
-
-#~ msgid "No default printer"
-#~ msgstr "Ingen standardskriver"
-
-#~ msgid "No file!?!"
-#~ msgstr "Ingen fil!?!"
-
-#~ msgid "No modification time!"
-#~ msgstr "Uten endringstidspunkt!"
-
-#~ msgid "No printer name!"
-#~ msgstr "Ingen skrivernavn!"
-
-#~ msgid "No printer-uri found for class!"
-#~ msgstr "Fant ikke printer-uri for klasse!"
-
-#~ msgid "No printer-uri found!"
-#~ msgstr "Fant ikke printer-uri!"
-
-#~ msgid "No printer-uri in request!"
-#~ msgstr "Ingen printer-uri i forespørsel!"
-
-#~ msgid "No subscription attributes in request!"
-#~ msgstr "Ingen abonnementsattributter i forespørsel!"
-
-#~ msgid "OPC almost at end-of-life."
-#~ msgstr "OPC er nesten oppbrukt."
-
-#~ msgid "OPC at end-of-life!"
-#~ msgstr "OPC oppbrukt!"
-
-#~ msgid "Out of toner!"
-#~ msgstr "Tomt for toner!"
-
-#~ msgid "Output bin almost full."
-#~ msgstr "Ut-beholder nesten full."
-
-#~ msgid "Output bin full!"
-#~ msgstr "Ut-beholder full!"
-
-#~ msgid "Output for printer %s is sent to %s\n"
-#~ msgstr "Utdata for skriveren %s er sendt til %s\n"
-
-#~ msgid "Output for printer %s is sent to remote printer %s on %s\n"
-#~ msgstr ""
-#~ "Utdata for skriveren %s er sendt til den eksterne skriveren %s på %s\n"
-
-#~ msgid "Output for printer %s/%s is sent to %s\n"
-#~ msgstr "Utdata for skriveren %s/%s er sendt til %s\n"
-
-#~ msgid "Output for printer %s/%s is sent to remote printer %s on %s\n"
-#~ msgstr ""
-#~ "Utdata for skriveren %s/%s er sendt til den eksterne skriveren %s på %s\n"
-
-#~ msgid "Output tray missing!"
-#~ msgstr "Utmatingsbrett mangler!"
-
-#~ msgid "PASS\n"
-#~ msgstr "PASS\n"
-
-#~ msgid "PRC1 Envelope"
-#~ msgstr "PRC1-konvolutt"
-
-#~ msgid "PRC10 Envelope"
-#~ msgstr "PRC10-konvolutt"
-
-#~ msgid "PRC2 Envelope"
-#~ msgstr "PRC2-konvolutt"
-
-#~ msgid "PRC3 Envelope"
-#~ msgstr "PRC3-konvolutt"
-
-#~ msgid "PRC32K (Oversize)"
-#~ msgstr "PRC32K (overdimensjonert)"
-
-#~ msgid "PRC4 Envelope"
-#~ msgstr "PRC4-konvolutt"
-
-#~ msgid "PRC5 Envelope"
-#~ msgstr "PRC5-konvolutt"
-
-#~ msgid "PRC6 Envelope"
-#~ msgstr "PRC6-konvolutt"
-
-#~ msgid "PRC7 Envelope"
-#~ msgstr "PRC7-konvolutt"
-
-#~ msgid "PRC8 Envelope"
-#~ msgstr "PRC8-konvolutt"
-
-#~ msgid "PRC9 Envelope"
-#~ msgstr "PRC9-konvolutt"
-
-#~ msgid "Personal Envelope"
-#~ msgstr "Personlig konvolutt"
-
-#~ msgid "Printer offline."
-#~ msgstr "Skriver ikke tilgjengelig."
-
-#~ msgid "Rank    Owner   Job     File(s)                         Total Size\n"
-#~ msgstr ""
-#~ "Rangering    Eier   Jobb     Fil(er)                         Samlet "
-#~ "størrelse\n"
-
-#~ msgid ""
-#~ "Rank   Owner      Pri  Job        Files                       Total Size\n"
-#~ msgstr ""
-#~ "Rangering   Eier      Prioritet  Jobb        Filer                       "
-#~ "Samlet størrelse\n"
-
-#~ msgid "Running command: %s %s -N -A %s -c '%s'\n"
-#~ msgstr "Utfører kommando: %s %s -N -A %s -c «%s»\n"
-
-#~ msgid "SCSI Printer"
-#~ msgstr "SCSI-skriver"
-
-#~ msgid "Tabloid (Oversize)"
-#~ msgstr "Tabloid (overdimensjonert)"
-
-#~ msgid "The notify-user-data value is too large (%d > 63 octets)!"
-#~ msgstr "Notify-user-data-verdien er for stor (%d > 63 oktetter)!"
-
-#~ msgid "The printer or class is not shared!"
-#~ msgstr "Skriveren eller klassen er ikke delt!"
-
-#~ msgid "The printer or class was not found."
-#~ msgstr "Fant ikke skriveren eller klassen."
-
-#~ msgid "The printer-uri attribute is required!"
-#~ msgstr "Printer-uri-attributtet kreves!"
-
-#~ msgid "Toner low."
-#~ msgstr "Lite toner."
-
-#~ msgid "Too many job-sheets values (%d > 2)!"
-#~ msgstr "For mange job-sheets-verdier (%d > 2)!"
-
-#~ msgid "Too many printer-state-reasons values (%d > %d)!"
-#~ msgstr "For mange printer-state-reasons-verdier (%d > %d)!"
-
-#~ msgid "US Executive"
-#~ msgstr "US Executive"
-
-#~ msgid "US Fanfold"
-#~ msgstr "US Fanfold"
-
-#~ msgid "US Legal (Oversize)"
-#~ msgstr "US Legal (overdimensjonert)"
-
-#~ msgid "US Letter (Oversize)"
-#~ msgstr "US Letter (overdimensjonert)"
-
-#~ msgid "US Letter (Small)"
-#~ msgstr "US Letter (lite)"
-
-#~ msgid "Unable to add job for destination \"%s\"!"
-#~ msgstr "Kan ikke legge til jobb for målet «%s»!"
-
-#~ msgid "Unable to allocate memory for file types!"
-#~ msgstr "Kan ikke tildele hukommelse for filtyper!"
-
-#~ msgid "Unable to copy 64-bit CUPS printer driver files (%d)!"
-#~ msgstr "Kan ikke kopiere 64-bits CUPS-skriverdriverfiler (%d)!"
-
-#~ msgid "Unable to copy 64-bit Windows printer driver files (%d)!"
-#~ msgstr "Kan ikke kopiere 64-bits Windows-skriverdriverfiler (%d)!"
-
-#~ msgid "Unable to copy CUPS printer driver files (%d)!"
-#~ msgstr "Kan ikke kopiere CUPS-skriverdriverfiler (%d)!"
-
-#~ msgid "Unable to copy PPD file - %s!"
-#~ msgstr "Kan ikke kopiere PPD-fil – %s!"
-
-#~ msgid "Unable to copy PPD file!"
-#~ msgstr "Kan ikke kopiere PPD-fil!"
-
-#~ msgid "Unable to copy Windows 2000 printer driver files (%d)!"
-#~ msgstr "Kan ikke kopiere Windows 2000-skriverdriverfiler (%d)!"
-
-#~ msgid "Unable to copy Windows 9x printer driver files (%d)!"
-#~ msgstr "Kan ikke kopiere Windows 9x-skriverdriverfiler (%d)!"
-
-#~ msgid "Unable to copy interface script - %s!"
-#~ msgstr "Kan ikke kopiere grensesnittsprosedyre – %s!"
-
-#~ msgid "Unable to create printer-uri!"
-#~ msgstr "Kan ikke opprette printer-uri!"
-
-#~ msgid "Unable to edit cupsd.conf files larger than 1MB!"
-#~ msgstr "Kan ikke redigere cupsd.conf-filer som er større enn 1 MB!"
-
-#~ msgid "Unable to find destination for job!"
-#~ msgstr "Finner ikke mål for jobb!"
-
-#~ msgid "Unable to find printer!\n"
-#~ msgstr "Finner ikke skriver!\n"
-
-#~ msgid "Unable to install Windows 2000 printer driver files (%d)!"
-#~ msgstr "Kan ikke installere Windows 2000-skriverdriverfiler (%d)!"
-
-#~ msgid "Unable to install Windows 9x printer driver files (%d)!"
-#~ msgstr "Kan ikke installere Windows 9x-skriverdriverfiler (%d)!"
-
-#~ msgid "Unable to open document %d in job %d!"
-#~ msgstr "Kan ikke åpne dokumentet %d i jobben %d!"
-
-#~ msgid "Unable to run \"%s\": %s\n"
-#~ msgstr "Kan ikke starte «%s»: %s\n"
-
-#~ msgid "Unable to send command to printer driver!"
-#~ msgstr "Kan ikke sende kommando til skriverdriver!"
-
-#~ msgid "Unable to set Windows printer driver (%d)!"
-#~ msgstr "Kan ikke angi Windows-skriverdriver (%d)!"
-
-#~ msgid "Unable to use legacy USB class driver!\n"
-#~ msgstr "Kan ikke bruke eldre driver for USB-klasse!\n"
-
-#~ msgid "Unknown printer error (%s)!"
-#~ msgstr "Ukjent skriverfeil (%s)!"
-
-#~ msgid "Unsupported character set \"%s\"!"
-#~ msgstr "Tegnsettet «%s» støttes ikke!"
-
-#~ msgid "Unsupported compression \"%s\"!"
-#~ msgstr "Komprimeringen «%s» støttes ikke!"
-
-#~ msgid "Unsupported compression attribute %s!"
-#~ msgstr "Komprimeringsattributtet %s støttes ikke!"
-
-#~ msgid "Unsupported format \"%s\"!"
-#~ msgstr "Formatet «%s» støttes ikke!"
-
-#~ msgid "Unsupported format '%s'!"
-#~ msgstr "Formatet «%s» støttes ikke!"
-
-#~ msgid "Unsupported format '%s/%s'!"
-#~ msgstr "Formatet «%s/%s» støttes ikke!"
-
-#~ msgid ""
-#~ "Usage:\n"
-#~ "\n"
-#~ "    lpadmin [-h server] -d destination\n"
-#~ "    lpadmin [-h server] -x destination\n"
-#~ "    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m "
-#~ "model]\n"
-#~ "                       [-r remove-class] [-v device] [-D description]\n"
-#~ "                       [-P ppd-file] [-o name=value]\n"
-#~ "                       [-u allow:user,user] [-u deny:user,user]\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Bruk:\n"
-#~ "\n"
-#~ "    lpadmin [-h tjener] -d mål\n"
-#~ "    lpadmin [-h tjener] -x mål\n"
-#~ "    lpadmin [-h tjener] -p skriver [-c legg til klasse] [-i grensesnitt] "
-#~ "[-m modell]\n"
-#~ "                       [-r fjern klasse] [-v enhet] [-D beskrivelse]\n"
-#~ "                       [-P ppd-fil] [-o navn=verdi]\n"
-#~ "                       [-u tillat:bruker,bruker] [-u avslå:bruker,"
-#~ "bruker]\n"
-#~ "\n"
-
-#~ msgid "Usage: %s job user title copies options [filename]\n"
-#~ msgstr "Bruk: %s jobb-id bruker tittel kopier valg [filnavn]\n"
-
-#~ msgid "Usage: %s job-id user title copies options [file]\n"
-#~ msgstr "Bruk: %s jobb-id bruker tittel kopier valg [fil]\n"
-
-#~ msgid "Usage: %s job-id user title copies options file\n"
-#~ msgstr "Bruk: %s jobb-id bruker tittel kopier valg fil\n"
-
-#~ msgid ""
-#~ "Usage: convert [ options ]\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "  -f filename          Set file to be converted (otherwise stdin)\n"
-#~ "  -o filename          Set file to be generated (otherwise stdout)\n"
-#~ "  -i mime/type         Set input MIME type (otherwise auto-typed)\n"
-#~ "  -j mime/type         Set output MIME type (otherwise application/pdf)\n"
-#~ "  -P filename.ppd      Set PPD file\n"
-#~ "  -a 'name=value ...'  Set option(s)\n"
-#~ "  -U username          Set username for job\n"
-#~ "  -J title             Set title\n"
-#~ "  -c copies            Set number of copies\n"
-#~ "  -u                   Remove the PPD file when finished\n"
-#~ "  -D                   Remove the input file when finished\n"
-#~ msgstr ""
-#~ "Bruk: konverter [ valg ]\n"
-#~ "\n"
-#~ "Valg:\n"
-#~ "\n"
-#~ "  -f filnavn          Angi at fil skal konverteres (stdin hvis ikke)\n"
-#~ "  -o filnavn          Angi at fil skal genereres (stdout hvis ikke)\n"
-#~ "  -i mime/type         Angi MIME-type for inndata (auto-typed hvis ikke)\n"
-#~ "  -j mime/type         Angi MIME-type for utdata (application/pdf hvis "
-#~ "ikke)\n"
-#~ "  -P filename.ppd      Angi PPD-fil\n"
-#~ "  -a 'navn=verdi ...'  Angi valg\n"
-#~ "  -U brukernavn          Angi brukernavn for jobb\n"
-#~ "  -J tittel             Angi tittel\n"
-#~ "  -c eksemplarer            Angi antall eksemplarer\n"
-#~ "  -u                   Fjern PPD-fil når ferdig\n"
-#~ "  -D                   Fjern inndatafil når ferdig\n"
-
-#~ msgid ""
-#~ "Usage: cupsaddsmb [options] printer1 ... printerN\n"
-#~ "       cupsaddsmb [options] -a\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "  -E               Encrypt the connection to the server\n"
-#~ "  -H samba-server  Use the named SAMBA server\n"
-#~ "  -U samba-user    Authenticate using the named SAMBA user\n"
-#~ "  -a               Export all printers\n"
-#~ "  -h cups-server   Use the named CUPS server\n"
-#~ "  -v               Be verbose (show commands)\n"
-#~ msgstr ""
-#~ "Bruk: cupsaddsmb [valg] printer1 ... printerN\n"
-#~ "       cupsaddsmb [valg] -a\n"
-#~ "\n"
-#~ "Valg:\n"
-#~ "  -E               Krypter forbindelsen til tjeneren\n"
-#~ "  -H samba-tjener  Bruk den angitte SAMBA-tjeneren\n"
-#~ "  -U samba-bruker    Godkjenn ved hjelp av den angitte SAMBA-brukeren\n"
-#~ "  -a               Eksporter alle skrivere\n"
-#~ "  -h cups-tjener   Bruk den angitte CUPS-tjeneren\n"
-#~ "  -v               Vær detaljert (vis kommandoer)\n"
-
-#~ msgid ""
-#~ "Usage: cupsctl [options] [param=value ... paramN=valueN]\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -E                      Enable encryption\n"
-#~ "    -U username             Specify username\n"
-#~ "    -h server[:port]        Specify server address\n"
-#~ "\n"
-#~ "    --[no-]debug-logging    Turn debug logging on/off\n"
-#~ "    --[no-]remote-admin     Turn remote administration on/off\n"
-#~ "    --[no-]remote-any       Allow/prevent access from the Internet\n"
-#~ "    --[no-]remote-printers  Show/hide remote printers\n"
-#~ "    --[no-]share-printers   Turn printer sharing on/off\n"
-#~ "    --[no-]user-cancel-any  Allow/prevent users to cancel any job\n"
-#~ msgstr ""
-#~ "Bruk: cupsctl [valg] [param=value ... paramN=valueN]\n"
-#~ "\n"
-#~ "Valg:\n"
-#~ "\n"
-#~ "    -E                      Aktiver kryptering\n"
-#~ "    -U brukernavn             Angi brukernavn\n"
-#~ "    -h tjener[:port]        Angi tjeneradresse\n"
-#~ "\n"
-#~ "    --[no-]debug-logging    Aktiver eller deaktiver feilsøkingslogging\n"
-#~ "    --[no-]remote-admin     Aktiver eller deaktiver ekstern "
-#~ "administrering\n"
-#~ "    --[no-]remote-any       Tillat eller forhindre tilgang fra Internett\n"
-#~ "    --[no-]remote-printers  Vis eller skjul eksterne skrivere\n"
-#~ "    --[no-]share-printers   Aktiver eller deaktiver skriverdeling\n"
-#~ "    --[no-]user-cancel-any  Tillat eller forhindre at brukere kan avbryte "
-#~ "en hvilken som helst jobb\n"
-
-#~ msgid ""
-#~ "Usage: cupsd [-c config-file] [-f] [-F] [-h] [-l]\n"
-#~ "\n"
-#~ "-c config-file      Load alternate configuration file\n"
-#~ "-f                  Run in the foreground\n"
-#~ "-F                  Run in the foreground but detach\n"
-#~ "-h                  Show this usage message\n"
-#~ "-l                  Run cupsd from launchd(8)\n"
-#~ msgstr ""
-#~ "Bruk: cupsd [-c konfigurasjonsfil] [-f] [-F] [-h] [-l]\n"
-#~ "\n"
-#~ "-c konfigurasjonsfil      Last inn alternativ konfigurasjonsfil\n"
-#~ "-f                  Kjør i forgrunnen\n"
-#~ "-F                  Kjør i forgrunnen, men skill\n"
-#~ "-h                  Vis denne bruksmeldingen\n"
-#~ "-l                  Kjør cupsd fra launchd(8)\n"
-
-#~ msgid ""
-#~ "Usage: cupsfilter -m mime/type [ options ] filename\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "  -c cupsd.conf    Set cupsd.conf file to use\n"
-#~ "  -j job-id[,N]    Filter file N from the specified job (default is file "
-#~ "1)\n"
-#~ "  -n copies        Set number of copies\n"
-#~ "  -o name=value    Set option(s)\n"
-#~ "  -p filename.ppd  Set PPD file\n"
-#~ "  -t title         Set title\n"
-#~ msgstr ""
-#~ "Bruk: cupsfilter -m mime/type [ valg ] filnavn\n"
-#~ "\n"
-#~ "Valg:\n"
-#~ "\n"
-#~ "  -c cupsd.conf    Angi hvilken cupsd.conf-fil som skal brukes\n"
-#~ "  -j jobb-id[,N]    Filtrer filen N fra angitt jobb (standard er fil 1)\n"
-#~ "  -n eksemplarer        Angi antall eksemplarer\n"
-#~ "  -o navn=verdi    Angi valg\n"
-#~ "  -p filename.ppd  Angi PPD-fil\n"
-#~ "  -t tittel         Angi tittel\n"
-
-#~ msgid ""
-#~ "Usage: cupstestdsc [options] filename.ps [... filename.ps]\n"
-#~ "       cupstestdsc [options] -\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -h       Show program usage\n"
-#~ "\n"
-#~ "    Note: this program only validates the DSC comments, not the "
-#~ "PostScript itself.\n"
-#~ msgstr ""
-#~ "Bruk: cupstestdsc [valg] filename.ps [... filename.ps]\n"
-#~ "       cupstestdsc [valg] -\n"
-#~ "\n"
-#~ "Valg:\n"
-#~ "\n"
-#~ "    -h       Vis programbruk\n"
-#~ "\n"
-#~ "    Merk: dette programmet validerer DSC-kommentarer, ikke selve "
-#~ "PostScript-innholdet.\n"
-
-#~ msgid ""
-#~ "Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]\n"
-#~ "       program | cupstestppd [options] -\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -R root-directory    Set alternate root\n"
-#~ "    -W {all,none,constraints,defaults,duplex,filters,translations}\n"
-#~ "                         Issue warnings instead of errors\n"
-#~ "    -q                   Run silently\n"
-#~ "    -r                   Use 'relaxed' open mode\n"
-#~ "    -v                   Be slightly verbose\n"
-#~ "    -vv                  Be very verbose\n"
-#~ msgstr ""
-#~ "Bruk: cupstestppd [valg] filename1.ppd[.gz] [... filenameN.ppd[.gz]]\n"
-#~ "       program | cupstestppd [valg] -\n"
-#~ "\n"
-#~ "Valg:\n"
-#~ "\n"
-#~ "    -R rotkatalog    Angi alternativ rot\n"
-#~ "    -W {all,none,constraints,defaults,duplex,filters,translations}\n"
-#~ "                         Gi advarsler i stedet for feil\n"
-#~ "    -q                   Kjør stille\n"
-#~ "    -r                   Bruk «avslappet» åpen modus\n"
-#~ "    -v                   Vær litt detaljert\n"
-#~ "    -vv                  Vær veldig detaljert\n"
-
-#~ msgid "Usage: lpmove job/src dest\n"
-#~ msgstr "Bruk: lpmove job/src dest\n"
-
-#~ msgid ""
-#~ "Usage: lpoptions [-h server] [-E] -d printer\n"
-#~ "       lpoptions [-h server] [-E] [-p printer] -l\n"
-#~ "       lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
-#~ "       lpoptions [-h server] [-E] -x printer\n"
-#~ msgstr ""
-#~ "Bruk: lpoptions [-h tjener] [-E] -d skriver\n"
-#~ "       lpoptions [-h tjener] [-E] [-p skriver] -l\n"
-#~ "       lpoptions [-h tjener] [-E] -p skriver -o valg[=verdi] ...\n"
-#~ "       lpoptions [-h tjener] [-E] -x skriver\n"
-
-#~ msgid "Usage: lppasswd [-g groupname]\n"
-#~ msgstr "Bruk: lppasswd [-g gruppenavn]\n"
-
-#~ msgid ""
-#~ "Usage: lppasswd [-g groupname] [username]\n"
-#~ "       lppasswd [-g groupname] -a [username]\n"
-#~ "       lppasswd [-g groupname] -x [username]\n"
-#~ msgstr ""
-#~ "Bruk: lppasswd [-g gruppenavn] [brukernavn]\n"
-#~ "       lppasswd [-g gruppenavn] -a [brukernavn]\n"
-#~ "       lppasswd [-g gruppenavn] -x [brukernavn]\n"
-
-#~ msgid ""
-#~ "Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]\n"
-#~ msgstr ""
-#~ "Bruk: lpq [-P mål] [-U brukernavn] [-h vertsnavn[:port]] [-l] "
-#~ "[+intervall]\n"
-
-#~ msgid ""
-#~ "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]\n"
-#~ "Options:\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "  -I include-dir       Add include directory to search path.\n"
-#~ "  -c catalog.po        Load the specified message catalog.\n"
-#~ "  -d output-dir        Specify the output directory.\n"
-#~ "  -l lang[,lang,...]   Specify the output language(s) (locale).\n"
-#~ "  -m                   Use the ModelName value as the filename.\n"
-#~ "  -t                   Test PPDs instead of generating them.\n"
-#~ "  -v                   Be verbose (more v's for more verbosity).\n"
-#~ "  -z                   Compress PPD files using GNU zip.\n"
-#~ "  --cr                 End lines with CR (Mac OS 9).\n"
-#~ "  --crlf               End lines with CR + LF (Windows).\n"
-#~ "  --lf                 End lines with LF (UNIX/Linux/Mac OS X).\n"
-#~ msgstr ""
-#~ "Bruk: ppdc [valg] filename.drv [ ... filenameN.drv ]\n"
-#~ "Valg:\n"
-#~ "  -D navn=verdi        Bruk verdi for angitt variabel.\n"
-#~ "  -I include-dir       Legg til inkluderingskatalog i søkebane.\n"
-#~ "  -c catalog.po        Last inn angitt meldingskatalog.\n"
-#~ "  -d output-dir        Angi utdatakatalog.\n"
-#~ "  -l lang[,lang,...]   Angi utdataspråk (nasjonal innstilling).\n"
-#~ "  -m                   Bruk ModelName-verdi som filnavn.\n"
-#~ "  -t                   Test PPD-er i stedet for å generere dem.\n"
-#~ "  -v                   Vær detaljert (flere v-er gir høyere detaljnivå).\n"
-#~ "  -z                   Komprimer PPD-filer ved hjelp av GNU zip.\n"
-#~ "  --cr                 Bruk CR-linjeskift (Mac OS 9).\n"
-#~ "  --crlf               Bruk CR + LF-linjeskift (Windows).\n"
-#~ "  --lf                 Bruk LF-linjeskift (UNIX/Linux/Mac OS X).\n"
-
-#~ msgid ""
-#~ "Usage: ppdhtml [options] filename.drv >filename.html\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "Options:\n"
-#~ "  -I include-dir    Add include directory to search path.\n"
-#~ msgstr ""
-#~ "Bruk: ppdhtml [valg] filename.drv >filename.html\n"
-#~ "  -D navn=verdi        Bruk verdi for angitt variabel.\n"
-#~ "Valg:\n"
-#~ "  -I include-dir    Legg til inkluderingskatalog i søkebane.\n"
-
-#~ msgid ""
-#~ "Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Options:\n"
-#~ "  -I include-dir\n"
-#~ "  -o filename.drv\n"
-#~ msgstr ""
-#~ "Bruk: ppdi [valg] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Valg:\n"
-#~ "  -I include-dir\n"
-#~ "  -o filename.drv\n"
-
-#~ msgid ""
-#~ "Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Options:\n"
-#~ "  -o filename.ppd[.gz]\n"
-#~ msgstr ""
-#~ "Bruk: ppdmerge [valg] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Valg:\n"
-#~ "  -o filename.ppd[.gz]\n"
-
-#~ msgid ""
-#~ "Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]\n"
-#~ "Options:\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "  -I include-dir    Add include directory to search path.\n"
-#~ "  -v                Be verbose (more v's for more verbosity).\n"
-#~ msgstr ""
-#~ "Bruk: ppdpo [valg] -o filename.po filename.drv [ ... filenameN.drv ]\n"
-#~ "Valg:\n"
-#~ "  -D navn=verdi        Bruk verdi for angitt variabel.\n"
-#~ "  -I include-dir    Legg til inkluderingskatalog i søkebane.\n"
-#~ "  -v                Vær detaljert (flere v-er gir høyere detaljnivå).\n"
-
-#~ msgid "Usage: snmp [host-or-ip-address]\n"
-#~ msgstr "Bruk: snmp [vert eller ip-adresse]\n"
-
-#~ msgid "WARNING: Adding only the first %d printers found"
-#~ msgstr "WARNING: Legger til kun de %d første skriverne som ble funnet"
-
-#~ msgid "WARNING: Boolean expected for waiteof option \"%s\"\n"
-#~ msgstr "WARNING: Boolsk forventet for waiteof-valget «%s»\n"
-
-#~ msgid "WARNING: Failed to read side-channel request!\n"
-#~ msgstr "WARNING: Kunne ikke lese sidekanalforspørsel!\n"
-
-#~ msgid "WARNING: Option \"%s\" cannot be included via IncludeFeature!\n"
-#~ msgstr "WARNING: Valget «%s» kan ikke inkluderes via IncludeFeature!\n"
-
-#~ msgid "WARNING: Printer not responding\n"
-#~ msgstr "WARNING: Skriver svarer ikke\n"
-
-#~ msgid "WARNING: Printer sent unexpected EOF\n"
-#~ msgstr "WARNING: Skriver sendte uventet EOF\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with command status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: Ekstern vert svarte ikke med kommandostatusbyte etter %d "
-#~ "sekunder!\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with control status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: Ekstern vert svarte ikke med kontrollstatusbyte etter %d "
-#~ "sekunder!\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with data status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: Ekstern vert svarte ikke med datastatusbyte etter %d sekunder!\n"
-
-#~ msgid "WARNING: SCSI command timed out (%d); retrying...\n"
-#~ msgstr "WARNING: SCSI-kommando ble tidsavbrutt (%d). Prøver på nytt...\n"
-
-#~ msgid ""
-#~ "WARNING: This document does not conform to the Adobe Document Structuring "
-#~ "Conventions and may not print correctly!\n"
-#~ msgstr ""
-#~ "WARNING: Dette dokumentet er ikke i overensstemmelse med Adobes "
-#~ "konvensjoner for dokumentstruktur, og det er mulig at dokumentet ikke "
-#~ "skrives ut riktig!\n"
-
-#~ msgid "WARNING: Unable to open \"%s:%s\": %s\n"
-#~ msgstr "WARNING: Kan ikke åpne «%s:%s»: %s\n"
-
-#~ msgid "WARNING: Unable to send PAP status request"
-#~ msgstr "WARNING: Kan ikke sende PAP-statusforespørsel"
-
-#~ msgid "WARNING: Unexpected PAP packet of type %d\n"
-#~ msgstr "WARNING: Uventet PAP-pakke av typen %d\n"
-
-#~ msgid "WARNING: Unknown PAP packet of type %d\n"
-#~ msgstr "WARNING: Ukjent PAP-pakke av typen %d\n"
-
-#~ msgid "WARNING: Unknown choice \"%s\" for option \"%s\"!\n"
-#~ msgstr "WARNING: Ukjent innstilling «%s» for valget «%s»!\n"
-
-#~ msgid "WARNING: Unknown option \"%s\"!\n"
-#~ msgstr "WARNING: Ukjent valg «%s»!\n"
-
-#~ msgid "WARNING: Unsupported baud rate %s!\n"
-#~ msgstr "WARNING: Modulasjonshastigheten %s støttes ikke!\n"
-
-#~ msgid "WARNING: number expected for status option \"%s\"\n"
-#~ msgstr "WARNING: tall forventet for statusvalget «%s»\n"
-
-#~ msgid ""
-#~ "WARNING: recoverable: Network host '%s' is busy; will retry in %d "
-#~ "seconds...\n"
-#~ msgstr ""
-#~ "WARNING: gjenopprettbar: Nettverksverten «%s» er opptatt. Prøver på nytt "
-#~ "om %d sekunder...\n"
-
-#~ msgid "Warning, no Windows 2000 printer drivers are installed!"
-#~ msgstr "Advarsel: Ingen Windows 2000-skriverdrivere er installert!"
-
-#~ msgid "You4 Envelope"
-#~ msgstr "You4-konvolutt"
-
-#~ msgid "convert: Use the -f option to specify a file to convert.\n"
-#~ msgstr "konverter: Bruk valget -f for å angi en fil som skal konverteres.\n"
-
-#~ msgid "cupsaddsmb: No PPD file for printer \"%s\" - %s\n"
-#~ msgstr "cupsaddsmb: Ingen PPD-fil for skriveren «%s» – %s\n"
-
-#~ msgid "cupsctl: Unable to connect to server: %s\n"
-#~ msgstr "cupsctl: Kan ikke koble til tjener: %s\n"
-
-#~ msgid "cupsctl: Unknown option \"%s\"!\n"
-#~ msgstr "cupsctl: Ukjent valg «%s»!\n"
-
-#~ msgid "cupsctl: Unknown option \"-%c\"!\n"
-#~ msgstr "cupsctl: Ukjent valg «-%c»!\n"
-
-#~ msgid "cupsd: Expected config filename after \"-c\" option!\n"
-#~ msgstr "cupsd: Forventet config-filnavn etter «-c»-valg!\n"
-
-#~ msgid "cupsd: Unable to get current directory!\n"
-#~ msgstr "cupsd: Kan ikke hente nåværende katalog!\n"
-
-#~ msgid "cupsd: Unknown argument \"%s\" - aborting!\n"
-#~ msgstr "cupsd: Ukjent argument «%s» – avbryter!\n"
-
-#~ msgid "cupsd: Unknown option \"%c\" - aborting!\n"
-#~ msgstr "cupsd: Ukjent valg «%c» – avbryter!\n"
-
-#~ msgid "cupsd: launchd(8) support not compiled in, running in normal mode.\n"
-#~ msgstr ""
-#~ "cupsd: launchd(8)-støtte er ikke kompilert inn, bruker vanlig modus.\n"
-
-#~ msgid "cupsfilter: Invalid document number %d!\n"
-#~ msgstr "cupsfilter: Ugyldig dokumentnummer %d!\n"
-
-#~ msgid "cupsfilter: Invalid job ID %d!\n"
-#~ msgstr "cupsfilter: Ugyldig jobb-ID %d!\n"
-
-#~ msgid "cupsfilter: Only one filename can be specified!\n"
-#~ msgstr "cupsfilter: Kun ett filnavn kan spesifiseres!\n"
-
-#~ msgid "cupsfilter: Unable to create temporary file: %s\n"
-#~ msgstr "cupsfilter: Kan ikke opprette midlertidig fil: %s\n"
-
-#~ msgid "cupsfilter: Unable to get job file - %s\n"
-#~ msgstr "cupsfilter: Kan ikke hente jobbfil – %s\n"
-
-#~ msgid "cupstestppd: The -q option is incompatible with the -v option.\n"
-#~ msgstr "cupstestppd: Valget -q er ikke kompatibelt med valget -v.\n"
-
-#~ msgid "cupstestppd: The -v option is incompatible with the -q option.\n"
-#~ msgstr "cupstestppd: Valget -v er ikke kompatibelt med valget -q.\n"
-
-#~ msgid "device for %s/%s: %s\n"
-#~ msgstr "enhet for %s/%s: %s\n"
-
-#~ msgid "device for %s: %s\n"
-#~ msgstr "enhet for %s: %s\n"
-
-#~ msgid "help\t\tget help on commands\n"
-#~ msgstr "hjelp\t\thent hjelp ved kommandoer\n"
-
-#~ msgid "job-printer-uri attribute missing!"
-#~ msgstr "job-printer-uri-attributt mangler!"
-
-#~ msgid "lpadmin: Class name can only contain printable characters!\n"
-#~ msgstr "lpadmin: Klassenavn kan kun inneholde tegn som kan skrives ut!\n"
-
-#~ msgid "lpadmin: Expected PPD after '-P' option!\n"
-#~ msgstr "lpadmin: Forventet PPD etter «-P»-valg!\n"
-
-#~ msgid "lpadmin: Expected allow/deny:userlist after '-u' option!\n"
-#~ msgstr "lpadmin: Forventet tillat/avslå:brukerliste etter «-u»-valg!\n"
-
-#~ msgid "lpadmin: Expected class after '-r' option!\n"
-#~ msgstr "lpadmin: Forventet klasse etter «-r»-valg!\n"
-
-#~ msgid "lpadmin: Expected class name after '-c' option!\n"
-#~ msgstr "lpadmin: Forventet klassenavn etter «-c»-valg!\n"
-
-#~ msgid "lpadmin: Expected description after '-D' option!\n"
-#~ msgstr "lpadmin: Forventet beskrivelse etter «-D»-valg!\n"
-
-#~ msgid "lpadmin: Expected device URI after '-v' option!\n"
-#~ msgstr "lpadmin: Forventet enhets-URI etter «-v»-valg!\n"
-
-#~ msgid "lpadmin: Expected file type(s) after '-I' option!\n"
-#~ msgstr "lpadmin: Forventet filtype etter «-I»-valg!\n"
-
-#~ msgid "lpadmin: Expected hostname after '-h' option!\n"
-#~ msgstr "lpadmin: Forventet vertsnavn etter «-h»-valg!\n"
-
-#~ msgid "lpadmin: Expected interface after '-i' option!\n"
-#~ msgstr "lpadmin: Forventet grensesnitt etter «-i»-valg!\n"
-
-#~ msgid "lpadmin: Expected location after '-L' option!\n"
-#~ msgstr "lpadmin: Forventet sted etter «-L»-valg!\n"
-
-#~ msgid "lpadmin: Expected model after '-m' option!\n"
-#~ msgstr "lpadmin: Forventet modell etter «-m»-valg!\n"
-
-#~ msgid "lpadmin: Expected name=value after '-o' option!\n"
-#~ msgstr "lpadmin: Forventet navn=verdi etter «-o»-valg!\n"
-
-#~ msgid "lpadmin: Expected printer after '-p' option!\n"
-#~ msgstr "lpadmin: Forventet skriver etter «-p»-valg!\n"
-
-#~ msgid "lpadmin: Expected printer name after '-d' option!\n"
-#~ msgstr "lpadmin: Forventet skrivernavn etter «-d»-valg!\n"
-
-#~ msgid "lpadmin: Expected printer or class after '-x' option!\n"
-#~ msgstr "lpadmin: Forventet skriver eller klasse etter «-x»-valg!\n"
-
-#~ msgid "lpadmin: No member names were seen!\n"
-#~ msgstr "lpadmin: Fant ingen medlemsnavn!\n"
-
-#~ msgid "lpadmin: Printer %s is already a member of class %s.\n"
-#~ msgstr "lpadmin: Skriveren %s er allerede medlem av klassen %s.\n"
-
-#~ msgid "lpadmin: Printer %s is not a member of class %s.\n"
-#~ msgstr "lpadmin: Skriveren %s er ikke medlem av klassen %s.\n"
-
-#~ msgid "lpadmin: Printer name can only contain printable characters!\n"
-#~ msgstr "lpadmin: Skrivernavn kan kun inneholde tegn som kan skrives ut!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to add a printer to the class:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Kan ikke legge til skriver i klassen:\n"
-#~ "         Du må angi et skrivernavn først!\n"
-
-#~ msgid "lpadmin: Unable to connect to server: %s\n"
-#~ msgstr "lpadmin: Kan ikke koble til tjener: %s\n"
-
-#~ msgid "lpadmin: Unable to create temporary file - %s\n"
-#~ msgstr "lpadmin: Kan ikke opprette midlertidig fil – %s\n"
-
-#~ msgid "lpadmin: Unable to create temporary file: %s\n"
-#~ msgstr "lpadmin: Kan ikke opprette midlertidig fil: %s\n"
-
-#~ msgid "lpadmin: Unable to open PPD file \"%s\" - %s\n"
-#~ msgstr "lpadmin: Kan ikke åpne PPD-filen «%s» – %s\n"
-
-#~ msgid "lpadmin: Unable to open file \"%s\": %s\n"
-#~ msgstr "lpadmin: Kan ikke åpne filen «%s»: %s\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to remove a printer from the class:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Kan ikke fjerne en skriver fra klassen:\n"
-#~ "         Du må angi et skrivernavn først!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the PPD file:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Kan ikke angi PPD-fil:\n"
-#~ "         Du må angi et skrivernavn først!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the device URI:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Kan ikke angi enhets-URI:\n"
-#~ "         Du må angi et skrivernavn først!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the interface script or PPD file:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Kan ikke angi grensesnittsprosedyre eller PPD-fil:\n"
-#~ "         Du må angi et skrivernavn først!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the interface script:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Kan ikke angi grensesnittsprosedyre:\n"
-#~ "         Du må angi et skrivernavn først!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer description:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Kan ikke angi beskrivelse av skriver:\n"
-#~ "         Du må angi et skrivernavn først!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer location:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Kan ikke angi skriverplassering:\n"
-#~ "         Du må angi et skrivernavn først!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer options:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Kan ikke angi skrivervalg:\n"
-#~ "         Du må angi et skrivernavn først!\n"
-
-#~ msgid "lpadmin: Unknown allow/deny option \"%s\"!\n"
-#~ msgstr "lpadmin: Ukjent tillat/avslå-valg «%s»!\n"
-
-#~ msgid "lpadmin: Unknown argument '%s'!\n"
-#~ msgstr "lpadmin: Ukjent argument «%s»!\n"
-
-#~ msgid "lpadmin: Unknown option '%c'!\n"
-#~ msgstr "lpadmin: Ukjent valg «%c»!\n"
-
-#~ msgid "lpadmin: Warning - content type list ignored!\n"
-#~ msgstr "lpadmin: Advarsel – ignorerte innholdstypeliste!\n"
-
-#~ msgid "lpinfo: Expected 1284 device ID string after --device-id!\n"
-#~ msgstr "lpinfo: Forventet 1284-enhets-ID-streng etter --device-id!\n"
-
-#~ msgid "lpinfo: Expected language after --language!\n"
-#~ msgstr "lpinfo: Forventet språk etter --language!\n"
-
-#~ msgid "lpinfo: Expected make and model after --make-and-model!\n"
-#~ msgstr "lpinfo: Forventet merke og modell etter --make-and-model!\n"
-
-#~ msgid "lpinfo: Expected product string after --product!\n"
-#~ msgstr "lpinfo: Forventet produktstreng etter --product!\n"
-
-#~ msgid "lpinfo: Expected scheme list after --exclude-schemes!\n"
-#~ msgstr "lpinfo: Forventet oppsettliste etter --exclude-schemes!\n"
-
-#~ msgid "lpinfo: Expected scheme list after --include-schemes!\n"
-#~ msgstr "lpinfo: Forventet oppsettliste etter --include-schemes!\n"
-
-#~ msgid "lpinfo: Expected timeout after --timeout!\n"
-#~ msgstr "lpinfo: Forventet tisdsavbrudd etter --timeout!\n"
-
-#~ msgid "lpinfo: Unknown argument '%s'!\n"
-#~ msgstr "lpinfo: Ukjent argument «%s»!\n"
-
-#~ msgid "lpinfo: Unknown option '%c'!\n"
-#~ msgstr "lpinfo: Ukjent valg «%c»!\n"
-
-#~ msgid "lpinfo: Unknown option '%s'!\n"
-#~ msgstr "lpinfo: Ukjent valg «%s»!\n"
-
-#~ msgid "lpmove: Unable to connect to server: %s\n"
-#~ msgstr "lpmove: Kan ikke koble til tjener: %s\n"
-
-#~ msgid "lpmove: Unknown argument '%s'!\n"
-#~ msgstr "lpmove: Ukjent argument «%s»!\n"
-
-#~ msgid "lpmove: Unknown option '%c'!\n"
-#~ msgstr "lpmove: Ukjent valg «%c»!\n"
-
-#~ msgid "lpoptions: No printers!?!\n"
-#~ msgstr "lpoptions: Ingen skrivere!?!\n"
-
-#~ msgid "lpoptions: Unable to add printer or instance: %s\n"
-#~ msgstr "lpoptions: Kan ikke legge til skriver eller forekomst: %s\n"
-
-#~ msgid "lpoptions: Unable to get PPD file for %s: %s\n"
-#~ msgstr "lpoptions: Kan ikke hente PPD-fil for %s: %s\n"
-
-#~ msgid "lpoptions: Unable to open PPD file for %s!\n"
-#~ msgstr "lpoptions: Kan ikke åpne PPD-fil for %s!\n"
-
-#~ msgid "lpoptions: Unknown printer or class!\n"
-#~ msgstr "lpoptions: Ukjent skriver eller klasse!\n"
-
-#~ msgid "lppasswd: Only root can add or delete passwords!\n"
-#~ msgstr "lppasswd: Kun rot kan legge til og slette passord!\n"
-
-#~ msgid "lppasswd: Password file busy!\n"
-#~ msgstr "lppasswd: Passordfil er opptatt!\n"
-
-#~ msgid "lppasswd: Password file not updated!\n"
-#~ msgstr "lppasswd: Passordfil er ikke oppdatert!\n"
-
-#~ msgid "lppasswd: Sorry, password doesn't match!\n"
-#~ msgstr "lppasswd: Beklager. Passordet stemmer ikke!\n"
-
-#~ msgid ""
-#~ "lppasswd: Sorry, password rejected.\n"
-#~ "Your password must be at least 6 characters long, cannot contain\n"
-#~ "your username, and must contain at least one letter and number.\n"
-#~ msgstr ""
-#~ "lppasswd: Beklager. Passordet ble ikke godtatt.\n"
-#~ "Passordet må være på minst 6 tegn og kan ikke inneholde\n"
-#~ "brukernavet ditt. Det må også inneholde must én bokstav og ett tall.\n"
-
-#~ msgid "lppasswd: Sorry, passwords don't match!\n"
-#~ msgstr "lppasswd: Beklager. Passordene er ikke like!\n"
-
-#~ msgid "lppasswd: Unable to copy password string: %s\n"
-#~ msgstr "lppasswd: Kan ikke kopiere passordstreng: %s\n"
-
-#~ msgid "lppasswd: Unable to open password file: %s\n"
-#~ msgstr "lppasswd: Kan ikke åpne passordfil: %s\n"
-
-#~ msgid "lppasswd: Unable to write to password file: %s\n"
-#~ msgstr "lppasswd: Kan ikke skrive til passordfil: %s\n"
-
-#~ msgid "lppasswd: failed to backup old password file: %s\n"
-#~ msgstr "lppasswd: kunne ikke sikkerhetskopiere gammel passordfil: %s\n"
-
-#~ msgid "lppasswd: failed to rename password file: %s\n"
-#~ msgstr "lppasswd: kunne ikke endre navn på passordfil: %s\n"
-
-#~ msgid "lppasswd: user \"%s\" and group \"%s\" do not exist.\n"
-#~ msgstr "lppasswd: brukeren «%s» og gruppen «%s» finnes ikke.\n"
-
-#~ msgid ""
-#~ "lpstat: error - %s environment variable names non-existent destination \"%"
-#~ "s\"!\n"
-#~ msgstr ""
-#~ "lpstat: feil – %s-miljøvariabel oppgir målet «%s» som ikke eksisterer!\n"
-
-#~ msgid "members of class %s:\n"
-#~ msgstr "medlemmer av klassen %s:\n"
-
-#~ msgid "no entries\n"
-#~ msgstr "ingen oppføringer\n"
-
-#~ msgid "no system default destination\n"
-#~ msgstr "ingen standardmål for system\n"
-
-#~ msgid "notify-events not specified!"
-#~ msgstr "notify-events ikke angitt!"
-
-#~ msgid "notify-recipient-uri URI \"%s\" is already used!"
-#~ msgstr "notify-recipient-uri-URI «%s» er i bruk!"
-
-#~ msgid "notify-recipient-uri URI \"%s\" uses unknown scheme!"
-#~ msgstr "notify-recipient-uri-URI «%s» bruker et ukjent oppsett!"
-
-#~ msgid "notify-subscription-id %d no good!"
-#~ msgstr "notify-subscription-id %d er ubrukelig!"
-
-#~ msgid "ppdc: Adding include directory \"%s\"...\n"
-#~ msgstr "ppdc: Legger til inkluderingskatalog «%s»...\n"
-
-#~ msgid "ppdc: Adding/updating UI text from %s...\n"
-#~ msgstr "ppdc: Legger til / oppdaterer UI-tekst fra %s...\n"
-
-#~ msgid "ppdc: Bad boolean value (%s) on line %d of %s.\n"
-#~ msgstr "ppdc: Ugyldig boolsk verdi (%s) på linje %d av %s.\n"
-
-#~ msgid "ppdc: Bad resolution name \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Ugyldig oppløsningsnavn «%s» på linje %d av %s!\n"
-
-#~ msgid "ppdc: Bad status keyword %s on line %d of %s!\n"
-#~ msgstr "ppdc: Ugyldig statusnøkkelord %s på linje %d av %s!\n"
-
-#~ msgid "ppdc: Bad variable substitution ($%c) on line %d of %s.\n"
-#~ msgstr "ppdc: Ugyldig variabelutskifting ($%c) på linje %d av %s.\n"
-
-#~ msgid "ppdc: Choice found on line %d of %s with no Option!\n"
-#~ msgstr "ppdc: Fant alternativ på linje %d av %s uten valg!\n"
-
-#~ msgid "ppdc: Duplicate #po for locale %s on line %d of %s!\n"
-#~ msgstr "ppdc: Duplikat #po for nasjonal innstilling %s på linje %d av %s!\n"
-
-#~ msgid "ppdc: Expected a filter definition on line %d of %s!\n"
-#~ msgstr "ppdc: Forventet filterdefinisjon på linje %d av %s!\n"
-
-#~ msgid "ppdc: Expected a program name on line %d of %s!\n"
-#~ msgstr "ppdc: Forventet programnavn på linje %d av %s!\n"
-
-#~ msgid "ppdc: Expected boolean value on line %d of %s.\n"
-#~ msgstr "ppdc: Forventet boolsk verdi på linje %d av %s.\n"
-
-#~ msgid "ppdc: Expected charset after Font on line %d of %s!\n"
-#~ msgstr "ppdc: Forventet tegnsett etter Font på linje %d av %s!\n"
-
-#~ msgid "ppdc: Expected choice code on line %d of %s.\n"
-#~ msgstr "ppdc: Forventet valgkode på linje %d av %s.\n"
-
-#~ msgid "ppdc: Expected choice name/text on line %d of %s.\n"
-#~ msgstr "ppdc: Forventet valgnavn/-tekst på linje %d av %s.\n"
-
-#~ msgid "ppdc: Expected color order for ColorModel on line %d of %s!\n"
-#~ msgstr "ppdc: Forventet fargerekkefølge for ColorModel på linje %d av %s!\n"
-
-#~ msgid "ppdc: Expected colorspace for ColorModel on line %d of %s!\n"
-#~ msgstr "ppdc: Forventet fargeområde for ColorModel på linje %d av %s!\n"
-
-#~ msgid "ppdc: Expected compression for ColorModel on line %d of %s!\n"
-#~ msgstr "ppdc: Forventet komprimering for ColorModel på linje %d av %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected constraints string for UIConstraints on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Forventet restriksjoner for UIConstraints på linje %d av %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected driver type keyword following DriverType on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc: Forventet nøkkelord for drivertype etter DriverType på linje %d av %"
-#~ "s!\n"
-
-#~ msgid "ppdc: Expected duplex type after Duplex on line %d of %s!\n"
-#~ msgstr "ppdc: Forventet duplekstype etter Duplex på linje %d av %s!\n"
-
-#~ msgid "ppdc: Expected encoding after Font on line %d of %s!\n"
-#~ msgstr "ppdc: Forventet koding etter Font på linje %d av %s!\n"
-
-#~ msgid "ppdc: Expected filename after #po %s on line %d of %s!\n"
-#~ msgstr "ppdc: Forventet filnavn etter #po %s på linje %d av %s!\n"
-
-#~ msgid "ppdc: Expected group name/text on line %d of %s!\n"
-#~ msgstr "ppdc: Forventet gruppenavn/-tekst på linje %d av %s.\n"
-
-#~ msgid "ppdc: Expected include filename on line %d of %s!\n"
-#~ msgstr "ppdc: Forventet inkluderingsfilnavn på linje %d av %s!\n"
-
-#~ msgid "ppdc: Expected integer on line %d of %s!\n"
-#~ msgstr "ppdc: Forventet heltall på linje %d av %s!\n"
-
-#~ msgid "ppdc: Expected locale after #po on line %d of %s!\n"
-#~ msgstr "ppdc: Forventet nasjonal innstilling etter #po på linje %d av %s!\n"
-
-#~ msgid "ppdc: Expected name after %s on line %d of %s!\n"
-#~ msgstr "ppdc: Forventet navn etter %s på linje %d av %s!\n"
-
-#~ msgid "ppdc: Expected name after FileName on line %d of %s!\n"
-#~ msgstr "ppdc: Forventet navn etter FileName på linje %d av %s!\n"
-
-#~ msgid "ppdc: Expected name after Font on line %d of %s!\n"
-#~ msgstr "ppdc: Forventet navn etter Font på linje %d av %s!\n"
-
-#~ msgid "ppdc: Expected name after Manufacturer on line %d of %s!\n"
-#~ msgstr "ppdc: Forventet navn etter Manufacturer på linje %d av %s!\n"
-
-#~ msgid "ppdc: Expected name after MediaSize on line %d of %s!\n"
-#~ msgstr "ppdc: Forventet navn etter MediaSize på linje %d av %s!\n"
-
-#~ msgid "ppdc: Expected name after ModelName on line %d of %s!\n"
-#~ msgstr "ppdc: Forventet navn etter ModelName på linje %d av %s!\n"
-
-#~ msgid "ppdc: Expected name after PCFileName on line %d of %s!\n"
-#~ msgstr "ppdc: Forventet navn etter PCFileName på linje %d av %s!\n"
-
-#~ msgid "ppdc: Expected name/text after %s on line %d of %s!\n"
-#~ msgstr "ppdc: Forventet navn/tekst etter %s på linje %d av %s!\n"
-
-#~ msgid "ppdc: Expected name/text after Installable on line %d of %s!\n"
-#~ msgstr "ppdc: Forventet navn/tekst etter Installable på linje %d av %s!\n"
-
-#~ msgid "ppdc: Expected name/text after Resolution on line %d of %s!\n"
-#~ msgstr "ppdc: Forventet navn/tekst etter Resolution på linje %d av %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected name/text combination for ColorModel on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Forventet navn/tekst-kombinasjon for ColorModel på linje %d av %s!\n"
-
-#~ msgid "ppdc: Expected option name/text on line %d of %s!\n"
-#~ msgstr "ppdc: Forventet valgnavn/-tekst på linje %d av %s.\n"
-
-#~ msgid "ppdc: Expected option section on line %d of %s!\n"
-#~ msgstr "ppdc: Forventet valgdel på linje %d av %s!\n"
-
-#~ msgid "ppdc: Expected option type on line %d of %s!\n"
-#~ msgstr "ppdc: Forventet valgtype på linje %d av %s!\n"
-
-#~ msgid "ppdc: Expected override field after Resolution on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Forventet overstyringsfelt etter Resolution på linje %d av %s!\n"
-
-#~ msgid "ppdc: Expected real number on line %d of %s!\n"
-#~ msgstr "ppdc: Forventet reelt tall på linje %d av %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected resolution/mediatype following ColorProfile on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc: Forventet oppløsning/papirtype etter ColorProfile på linje %d av %"
-#~ "s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected resolution/mediatype following SimpleColorProfile on line %"
-#~ "d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Forventet oppløsning/papirtype etter SimpleColorProfile på linje %d "
-#~ "av %s!\n"
-
-#~ msgid "ppdc: Expected selector after %s on line %d of %s!\n"
-#~ msgstr "ppdc: Forventet velger etter %s på linje %d av %s!\n"
-
-#~ msgid "ppdc: Expected status after Font on line %d of %s!\n"
-#~ msgstr "ppdc: Forventet status etter Font på linje %d av %s!\n"
-
-#~ msgid "ppdc: Expected string after Copyright on line %d of %s!\n"
-#~ msgstr "ppdc: Forventet streng etter Copyright på linje %d av %s!\n"
-
-#~ msgid "ppdc: Expected string after Version on line %d of %s!\n"
-#~ msgstr "ppdc: Forventet streng etter Version på linje %d av %s!\n"
-
-#~ msgid "ppdc: Expected two option names on line %d of %s!\n"
-#~ msgstr "ppdc: Forventet to valgnavn på linje %d av %s!\n"
-
-#~ msgid "ppdc: Expected value after %s on line %d of %s!\n"
-#~ msgstr "ppdc: Forventet verdi etter %s på linje %d av %s!\n"
-
-#~ msgid "ppdc: Expected version after Font on line %d of %s!\n"
-#~ msgstr "ppdc: Forventet versjon etter Font på linje %d av %s!\n"
-
-#~ msgid "ppdc: Invalid #include/#po filename \"%s\"!\n"
-#~ msgstr "ppdc: Ugyldig #include/#po filnavn «%s»!\n"
-
-#~ msgid "ppdc: Invalid cost for filter on line %d of %s!\n"
-#~ msgstr "ppdc: Ugyldig kostnad for filter på linje %d av %s!\n"
-
-#~ msgid "ppdc: Invalid empty MIME type for filter on line %d of %s!\n"
-#~ msgstr "ppdc: Ugyldig, tom MIME-type for filter på linje %d av %s!\n"
-
-#~ msgid "ppdc: Invalid empty program name for filter on line %d of %s!\n"
-#~ msgstr "ppdc: Ugyldig, tomt programnavn for filter på linje %d av %s!\n"
-
-#~ msgid "ppdc: Invalid option section \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Ugyldig valgdel «%s» på linje %d av %s!\n"
-
-#~ msgid "ppdc: Invalid option type \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Ugyldig valgtype «%s» på linje %d av %s!\n"
-
-#~ msgid "ppdc: Loading driver information file \"%s\"...\n"
-#~ msgstr "ppdc: Laster inn driverinformasjonsfil «%s»...\n"
-
-#~ msgid "ppdc: Loading messages for locale \"%s\"...\n"
-#~ msgstr "ppdc: Laster inn meldinger for nasjonal innstilling «%s»...\n"
-
-#~ msgid "ppdc: Loading messages from \"%s\"...\n"
-#~ msgstr "ppdc: Laster inn meldinger fra «%s»...\n"
-
-#~ msgid "ppdc: Missing #endif at end of \"%s\"!\n"
-#~ msgstr "ppdc: Mangler #endif ved slutten av «%s»!\n"
-
-#~ msgid "ppdc: Missing #if on line %d of %s!\n"
-#~ msgstr "ppdc: Mangler #if på linje %d av %s!\n"
-
-#~ msgid "ppdc: No message catalog provided for locale %s!\n"
-#~ msgstr "ppdc: Ingen meldingskatalog oppgitt for nasjonal innstilling %s!\n"
-
-#~ msgid "ppdc: Option %s redefined with a different type on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Valg %s definert på nytt med forskjellig type på linje %d av %s!\n"
-
-#~ msgid "ppdc: Option constraint must *name on line %d of %s!\n"
-#~ msgstr "ppdc: Valgrestriksjon må *navn på linje %d av %s!\n"
-
-#~ msgid "ppdc: Too many nested #if's on line %d of %s!\n"
-#~ msgstr "ppdc: For mange nestede #if-er på linje %d av %s!\n"
-
-#~ msgid "ppdc: Unable to create PPD file \"%s\" - %s.\n"
-#~ msgstr "ppdc: Kan ikke opprette PPD-filen «%s» – %s.\n"
-
-#~ msgid "ppdc: Unable to create output directory %s: %s\n"
-#~ msgstr "ppdc: Kan ikke opprette utdatakatalog %s: %s\n"
-
-#~ msgid "ppdc: Unable to create output pipes: %s\n"
-#~ msgstr "ppdc: Kan ikke opprette utdatakanaler: %s\n"
-
-#~ msgid "ppdc: Unable to execute cupstestppd: %s\n"
-#~ msgstr "ppdc: Kan ikke utføre cupstestppd: %s\n"
-
-#~ msgid "ppdc: Unable to find #po file %s on line %d of %s!\n"
-#~ msgstr "ppdc: Finner ikke #po-filen %s på linje %d av %s!\n"
-
-#~ msgid "ppdc: Unable to find include file \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Finner ikke inkluderingsfilen «%s» på linje %d av %s!\n"
-
-#~ msgid "ppdc: Unable to find localization for \"%s\" - %s\n"
-#~ msgstr "ppdc: Finner ikke lokalisering for «%s» – %s\n"
-
-#~ msgid "ppdc: Unable to load localization file \"%s\" - %s\n"
-#~ msgstr "ppdc: Finner ikke lokaliseringsfilen «%s» – %s\n"
-
-#~ msgid "ppdc: Undefined variable (%s) on line %d of %s.\n"
-#~ msgstr "ppdc: Udefinert variabel (%s) på linje %d av %s.\n"
-
-#~ msgid "ppdc: Unknown driver type %s on line %d of %s!\n"
-#~ msgstr "ppdc: Ukjent drivertype %s på linje %d av %s!\n"
-
-#~ msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Ukjent duplekstype «%s» på linje %d av %s!\n"
-
-#~ msgid "ppdc: Unknown media size \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Ukjent papirstørrelse «%s» på linje %d av %s!\n"
-
-#~ msgid "ppdc: Unknown token \"%s\" seen on line %d of %s!\n"
-#~ msgstr "ppdc: Ukjent kjennetegn «%s» funnet på linje %d av %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Unknown trailing characters in real number \"%s\" on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc: Ukjente etterfølgende tegn i det reelle tallet «%s» på linje %d av %"
-#~ "s!\n"
-
-#~ msgid "ppdc: Unterminated string starting with %c on line %d of %s!\n"
-#~ msgstr "ppdc: Uavsluttet streng begynner med %c på linje %d av %s!\n"
-
-#~ msgid "ppdc: Writing %s...\n"
-#~ msgstr "ppdc: Skriver %s...\n"
-
-#~ msgid "ppdc: Writing PPD files to directory \"%s\"...\n"
-#~ msgstr "ppdc: Skriver PPD-filer til katalog «%s»...\n"
-
-#~ msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s!\n"
-#~ msgstr "ppdmerge: Ugyldig LanguageVersion «%s» i %s!\n"
-
-#~ msgid "ppdmerge: Ignoring PPD file %s...\n"
-#~ msgstr "ppdmerge: Ignorerer PPD-fil %s...\n"
-
-#~ msgid "ppdmerge: Unable to backup %s to %s- %s\n"
-#~ msgstr "ppdmerge: Kan ikke sikkerhetskopiere %s til %s – %s\n"
-
-#~ msgid "printer %s disabled since %s -\n"
-#~ msgstr "skriveren %s er deaktivert siden %s –\n"
-
-#~ msgid "printer %s is idle.  enabled since %s\n"
-#~ msgstr "skriveren %s er inaktiv.  aktivert siden %s\n"
-
-#~ msgid "printer %s now printing %s-%d.  enabled since %s\n"
-#~ msgstr "skriveren %s skriver nå ut %s–%d.  aktivert siden %s\n"
-
-#~ msgid "printer %s/%s disabled since %s -\n"
-#~ msgstr "skriveren %s/%s er deaktivert siden %s –\n"
-
-#~ msgid "printer %s/%s is idle.  enabled since %s\n"
-#~ msgstr "skriveren %s/%s er inaktiv.  aktivert siden %s\n"
-
-#~ msgid "printer %s/%s now printing %s-%d.  enabled since %s\n"
-#~ msgstr "skriveren %s/%s skriver nå ut %s–%d.  aktivert siden %s\n"
-
-#~ msgid "request id is %s-%d (%d file(s))\n"
-#~ msgstr "request-id er %s–%d (%d fil(er))\n"
-
-#~ msgid "scheduler is not running\n"
-#~ msgstr "planlegger er ikke i gang\n"
-
-#~ msgid "scheduler is running\n"
-#~ msgstr "planlegger er i gang\n"
-
-#~ msgid "status\t\tshow status of daemon and queue\n"
-#~ msgstr "status\t\tvis status for daemon og kø\n"
-
-#~ msgid "system default destination: %s\n"
-#~ msgstr "standardmål for system: %s\n"
-
-#~ msgid "system default destination: %s/%s\n"
-#~ msgstr "standardmål for system: %s/%s\n"
diff --git a/locale/cups_pl.po b/locale/cups_pl.po
deleted file mode 100644 (file)
index 9b263b0..0000000
+++ /dev/null
@@ -1,8717 +0,0 @@
-msgid ""
-msgstr ""
-"Project-Id-Version: CUPS 1.4\n"
-"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2012-03-07 13:38-0800\n"
-"PO-Revision-Date: 2009-02-16 12:00-0800\n"
-"Last-Translator: Apple Inc.\n"
-"Language-Team: Apple Inc.\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: \n"
-
-msgid "\t\t(all)"
-msgstr ""
-
-msgid "\t\t(none)"
-msgstr ""
-
-#, c-format
-msgid "\t%d entries"
-msgstr ""
-
-#, c-format
-msgid "\t%s"
-msgstr ""
-
-msgid "\tAfter fault: continue"
-msgstr ""
-
-#, c-format
-msgid "\tAlerts: %s"
-msgstr ""
-
-msgid "\tBanner required"
-msgstr ""
-
-msgid "\tCharset sets:"
-msgstr ""
-
-msgid "\tConnection: direct"
-msgstr ""
-
-msgid "\tConnection: remote"
-msgstr ""
-
-msgid "\tContent types: any"
-msgstr ""
-
-msgid "\tDefault page size:"
-msgstr ""
-
-msgid "\tDefault pitch:"
-msgstr ""
-
-msgid "\tDefault port settings:"
-msgstr ""
-
-#, c-format
-msgid "\tDescription: %s"
-msgstr ""
-
-msgid "\tForm mounted:"
-msgstr ""
-
-msgid "\tForms allowed:"
-msgstr ""
-
-#, c-format
-msgid "\tInterface: %s.ppd"
-msgstr ""
-
-#, c-format
-msgid "\tInterface: %s/interfaces/%s"
-msgstr ""
-
-#, c-format
-msgid "\tInterface: %s/ppd/%s.ppd"
-msgstr ""
-
-#, c-format
-msgid "\tLocation: %s"
-msgstr ""
-
-msgid "\tOn fault: no alert"
-msgstr ""
-
-msgid "\tPrinter types: unknown"
-msgstr ""
-
-#, c-format
-msgid "\tStatus: %s"
-msgstr ""
-
-msgid "\tUsers allowed:"
-msgstr ""
-
-msgid "\tUsers denied:"
-msgstr ""
-
-msgid "\tdaemon present"
-msgstr ""
-
-msgid "\tno entries"
-msgstr ""
-
-#, c-format
-msgid "\tprinter is on device '%s' speed -1"
-msgstr ""
-
-msgid "\tprinting is disabled"
-msgstr ""
-
-msgid "\tprinting is enabled"
-msgstr ""
-
-#, c-format
-msgid "\tqueued for %s"
-msgstr ""
-
-msgid "\tqueuing is disabled"
-msgstr ""
-
-msgid "\tqueuing is enabled"
-msgstr ""
-
-msgid "\treason unknown"
-msgstr ""
-
-msgid ""
-"\n"
-"    DETAILED CONFORMANCE TEST RESULTS"
-msgstr ""
-
-msgid "                          Ignore specific warnings."
-msgstr ""
-
-msgid "                          Issue warnings instead of errors."
-msgstr ""
-
-msgid "                REF: Page 15, section 3.1."
-msgstr ""
-
-msgid "                REF: Page 15, section 3.2."
-msgstr ""
-
-msgid "                REF: Page 19, section 3.3."
-msgstr ""
-
-msgid "                REF: Page 20, section 3.4."
-msgstr ""
-
-msgid "                REF: Page 27, section 3.5."
-msgstr ""
-
-msgid "                REF: Page 42, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 16-17, section 3.2."
-msgstr ""
-
-msgid "                REF: Pages 42-45, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 45-46, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 48-49, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 52-54, section 5.2."
-msgstr ""
-
-#, c-format
-msgid "        %-39.39s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "        PASS    Default%s"
-msgstr ""
-
-msgid "        PASS    DefaultImageableArea"
-msgstr ""
-
-msgid "        PASS    DefaultPaperDimension"
-msgstr ""
-
-msgid "        PASS    FileVersion"
-msgstr ""
-
-msgid "        PASS    FormatVersion"
-msgstr ""
-
-msgid "        PASS    LanguageEncoding"
-msgstr ""
-
-msgid "        PASS    LanguageVersion"
-msgstr ""
-
-msgid "        PASS    Manufacturer"
-msgstr ""
-
-msgid "        PASS    ModelName"
-msgstr ""
-
-msgid "        PASS    NickName"
-msgstr ""
-
-msgid "        PASS    PCFileName"
-msgstr ""
-
-msgid "        PASS    PSVersion"
-msgstr ""
-
-msgid "        PASS    PageRegion"
-msgstr ""
-
-msgid "        PASS    PageSize"
-msgstr ""
-
-msgid "        PASS    Product"
-msgstr ""
-
-msgid "        PASS    ShortNickName"
-msgstr ""
-
-#, c-format
-msgid "        WARN    %s has no corresponding options."
-msgstr ""
-
-#, c-format
-msgid ""
-"        WARN    %s shares a common prefix with %s\n"
-"                REF: Page 15, section 3.2."
-msgstr ""
-
-#, c-format
-msgid ""
-"        WARN    Duplex option keyword %s may not work as expected and should "
-"be named Duplex.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-
-msgid "        WARN    File contains a mix of CR, LF, and CR LF line endings."
-msgstr ""
-
-msgid ""
-"        WARN    LanguageEncoding required by PPD 4.3 spec.\n"
-"                REF: Pages 56-57, section 5.3."
-msgstr ""
-
-#, c-format
-msgid "        WARN    Line %d only contains whitespace."
-msgstr ""
-
-msgid ""
-"        WARN    Manufacturer required by PPD 4.3 spec.\n"
-"                REF: Pages 58-59, section 5.3."
-msgstr ""
-
-msgid ""
-"        WARN    Non-Windows PPD files should use lines ending with only LF, "
-"not CR LF."
-msgstr ""
-
-#, c-format
-msgid ""
-"        WARN    Obsolete PPD version %.1f.\n"
-"                REF: Page 42, section 5.2."
-msgstr ""
-
-msgid ""
-"        WARN    PCFileName longer than 8.3 in violation of PPD spec.\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-
-msgid ""
-"        WARN    PCFileName should contain a unique filename.\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-
-msgid ""
-"        WARN    Protocols contains PJL but JCL attributes are not set.\n"
-"                REF: Pages 78-79, section 5.7."
-msgstr ""
-
-msgid ""
-"        WARN    Protocols contains both PJL and BCP; expected TBCP.\n"
-"                REF: Pages 78-79, section 5.7."
-msgstr ""
-
-msgid ""
-"        WARN    ShortNickName required by PPD 4.3 spec.\n"
-"                REF: Pages 64-65, section 5.3."
-msgstr ""
-
-msgid "       cupsaddsmb [options] -a"
-msgstr ""
-
-msgid "       cupstestdsc [options] -"
-msgstr ""
-
-msgid "       program | cupstestppd [options] -"
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  \"%s %s\" conflicts with \"%s %s\"\n"
-"                (constraint=\"%s %s %s %s\")."
-msgstr ""
-
-#, c-format
-msgid "      %s  %s %s does not exist."
-msgstr ""
-
-#, c-format
-msgid "      %s  %s file \"%s\" has the wrong capitalization."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  Bad %s choice %s.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsFilter value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsFilter2 value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsICCProfile %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsPreFilter value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsUIConstraints %s: \"%s\""
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad language \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad permissions on %s file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad spelling of %s - should be %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Cannot provide both APScanAppPath and APScanAppBundleID."
-msgstr ""
-
-#, c-format
-msgid "      %s  Default choices conflicting."
-msgstr ""
-
-#, c-format
-msgid "      %s  Empty cupsUIConstraints %s"
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing \"%s\" translation string for option %s, choice %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing \"%s\" translation string for option %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing %s file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  Missing REQUIRED PageRegion option.\n"
-"                REF: Page 100, section 5.14."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  Missing REQUIRED PageSize option.\n"
-"                REF: Page 99, section 5.14."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\""
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing cupsUIResolver %s"
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing option %s in cupsUIConstraints %s: \"%s\""
-msgstr ""
-
-#, c-format
-msgid "      %s  No base translation \"%s\" is included in file."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  REQUIRED %s does not define choice None.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" defined for %s but not for %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" has unexpected dimensions (%gx%g)."
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" should be \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" should be the Adobe standard name \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  cupsICCProfile %s hash value collides with %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  cupsUIResolver %s causes a loop."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  cupsUIResolver %s does not list at least two different options."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  %s choice names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  %s must be 1284DeviceID\n"
-"                REF: Page 72, section 5.5"
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD Default%s %s\n"
-"                REF: Page 40, section 4.5."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD DefaultImageableArea %s\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD DefaultPaperDimension %s\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD JobPatchFile attribute in file\n"
-"                REF: Page 24, section 3.4."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD Manufacturer (should be \"HP\")\n"
-"                REF: Page 211, table D.1."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD Manufacturer (should be \"Oki\")\n"
-"                REF: Page 211, table D.1."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n"
-"                REF: Pages 59-60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD PSVersion - not \"(string) int\".\n"
-"                REF: Pages 62-64, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD Product - not \"(string)\".\n"
-"                REF: Page 62, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD ShortNickName - longer than 31 chars.\n"
-"                REF: Pages 64-65, section 5.3."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad %s choice %s\n"
-"                REF: Page 84, section 5.9"
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad FileVersion \"%s\"\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad FormatVersion \"%s\"\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Bad LanguageVersion %s - must be English."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Default option code cannot be interpreted: %s"
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Default translation string for option %s choice %s contains "
-"8-bit characters."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Default translation string for option %s contains 8-bit "
-"characters."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Group names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Multiple occurrences of %s choice name %s."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Option names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED Default%s\n"
-"                REF: Page 40, section 4.5."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED DefaultImageableArea\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED DefaultPaperDimension\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED FileVersion\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED FormatVersion\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED ImageableArea for PageSize %s\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED LanguageEncoding\n"
-"                REF: Pages 56-57, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED LanguageVersion\n"
-"                REF: Pages 57-58, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED Manufacturer\n"
-"                REF: Pages 58-59, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED ModelName\n"
-"                REF: Pages 59-60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED NickName\n"
-"                REF: Page 60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PCFileName\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PSVersion\n"
-"                REF: Pages 62-64, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PageRegion\n"
-"                REF: Page 100, section 5.14."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PageSize\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 99, section 5.14."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PageSize\n"
-"                REF: Pages 99-100, section 5.14."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED PaperDimension for PageSize %s\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED Product\n"
-"                REF: Page 62, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED ShortNickName\n"
-"                REF: Page 64-65, section 5.3."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Unable to open PPD file - %s"
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Unable to open PPD file - %s on line %d."
-msgstr ""
-
-#, c-format
-msgid "    %d ERRORS FOUND"
-msgstr ""
-
-msgid "    -h       Show program usage"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Bad %%%%BoundingBox: on line %d.\n"
-"        REF: Page 39, %%%%BoundingBox:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Bad %%%%Page: on line %d.\n"
-"        REF: Page 53, %%%%Page:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Bad %%%%Pages: on line %d.\n"
-"        REF: Page 43, %%%%Pages:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Line %d is longer than 255 characters (%d).\n"
-"        REF: Page 25, Line Length"
-msgstr ""
-
-msgid ""
-"    Missing %!PS-Adobe-3.0 on first line.\n"
-"        REF: Page 17, 3.1 Conforming Documents"
-msgstr ""
-
-#, c-format
-msgid "    Missing %%EndComments comment.        REF: Page 41, %%EndComments"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Missing or bad %%BoundingBox: comment.\n"
-"        REF: Page 39, %%BoundingBox:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Missing or bad %%Page: comments.\n"
-"        REF: Page 53, %%Page:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Missing or bad %%Pages: comment.\n"
-"        REF: Page 43, %%Pages:"
-msgstr ""
-
-msgid "    NO ERRORS FOUND"
-msgstr ""
-
-#, c-format
-msgid "    Saw %d lines that exceeded 255 characters."
-msgstr ""
-
-#, c-format
-msgid "    Too many %%BeginDocument comments."
-msgstr ""
-
-#, c-format
-msgid "    Too many %%EndDocument comments."
-msgstr ""
-
-msgid "    Warning: file contains binary data."
-msgstr ""
-
-#, c-format
-msgid "    Warning: no %%EndComments comment in file."
-msgstr ""
-
-#, c-format
-msgid "    Warning: obsolete DSC version %.1f in file."
-msgstr ""
-
-msgid "  --[no-]debug-logging    Turn debug logging on/off."
-msgstr ""
-
-msgid "  --[no-]remote-admin     Turn remote administration on/off."
-msgstr ""
-
-msgid "  --[no-]remote-any       Allow/prevent access from the Internet."
-msgstr ""
-
-msgid "  --[no-]remote-printers  Show/hide remote printers."
-msgstr ""
-
-msgid "  --[no-]share-printers   Turn printer sharing on/off."
-msgstr ""
-
-msgid "  --[no-]user-cancel-any  Allow/prevent users to cancel any job."
-msgstr ""
-
-msgid "  --cr                    End lines with CR (Mac OS 9)."
-msgstr ""
-
-msgid "  --crlf                  End lines with CR + LF (Windows)."
-msgstr ""
-
-msgid "  --lf                    End lines with LF (UNIX/Linux/Mac OS X)."
-msgstr ""
-
-msgid "  -4                      Connect using IPv4."
-msgstr ""
-
-msgid "  -6                      Connect using IPv6."
-msgstr ""
-
-msgid "  -C                      Send requests using chunking (default)."
-msgstr ""
-
-msgid "  -D                      Remove the input file when finished."
-msgstr ""
-
-msgid "  -D name=value           Set named variable to value."
-msgstr ""
-
-msgid "  -E                      Enable encryption."
-msgstr ""
-
-msgid "  -E                      Encrypt the connection to the server."
-msgstr ""
-
-msgid "  -E                      Test with TLS encryption."
-msgstr ""
-
-msgid ""
-"  -F                      Run in the foreground but detach from console."
-msgstr ""
-
-msgid "  -H samba-server         Use the named SAMBA server."
-msgstr ""
-
-msgid "  -I                      Ignore errors."
-msgstr ""
-
-msgid "  -I include-dir          Add include directory to search path."
-msgstr ""
-
-msgid "  -I {filename,filters,none,profiles}"
-msgstr ""
-
-msgid "  -J title                Set title."
-msgstr ""
-
-msgid "  -L                      Send requests using content-length."
-msgstr ""
-
-msgid "  -P filename.ppd         Set PPD file."
-msgstr ""
-
-msgid "  -R root-directory       Set alternate root."
-msgstr ""
-
-msgid "  -S                      Test with SSL encryption."
-msgstr ""
-
-msgid "  -T                      Set the receive/send timeout in seconds."
-msgstr ""
-
-msgid "  -U samba-user           Authenticate using the named SAMBA user."
-msgstr ""
-
-msgid "  -U username             Set username for job."
-msgstr ""
-
-msgid "  -U username             Specify username."
-msgstr ""
-
-msgid "  -V version              Set default IPP version."
-msgstr ""
-
-msgid ""
-"  -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,"
-"translations}"
-msgstr ""
-
-msgid "  -X                      Produce XML plist instead of plain text."
-msgstr ""
-
-msgid "  -a                      Export all printers."
-msgstr ""
-
-msgid "  -a 'name=value ...'     Set option(s)."
-msgstr ""
-
-msgid "  -c catalog.po           Load the specified message catalog."
-msgstr ""
-
-msgid "  -c config-file          Load alternate configuration file."
-msgstr ""
-
-msgid "  -c copies               Set number of copies."
-msgstr ""
-
-msgid "  -c cupsd.conf           Set cupsd.conf file to use."
-msgstr ""
-
-msgid "  -d name=value           Set named variable to value."
-msgstr ""
-
-msgid "  -d output-dir           Specify the output directory."
-msgstr ""
-
-msgid "  -d printer              Use the named printer."
-msgstr ""
-
-msgid "  -e                      Use every filter from the PPD file."
-msgstr ""
-
-msgid "  -f                      Run in the foreground."
-msgstr ""
-
-msgid "  -f filename             Set default request filename."
-msgstr ""
-
-msgid "  -f filename             Set file to be converted (otherwise stdin)."
-msgstr ""
-
-msgid "  -h                      Show this usage message."
-msgstr ""
-
-msgid "  -h cups-server          Use the named CUPS server."
-msgstr ""
-
-msgid "  -h server[:port]        Specify server address."
-msgstr ""
-
-msgid "  -i mime/type            Set input MIME type (otherwise auto-typed)."
-msgstr ""
-
-msgid ""
-"  -i seconds              Repeat the last file with the given time interval."
-msgstr ""
-
-msgid ""
-"  -j job-id[,N]           Filter file N from the specified job (default is "
-"file 1)."
-msgstr ""
-
-msgid ""
-"  -j mime/type            Set output MIME type (otherwise application/pdf)."
-msgstr ""
-
-msgid "  -l                      Run cupsd from launchd(8)."
-msgstr ""
-
-msgid "  -l lang[,lang,...]      Specify the output language(s) (locale)."
-msgstr ""
-
-msgid "  -m                      Use the ModelName value as the filename."
-msgstr ""
-
-msgid ""
-"  -m mime/type            Set output MIME type (otherwise application/pdf)."
-msgstr ""
-
-msgid "  -n copies               Set number of copies."
-msgstr ""
-
-msgid ""
-"  -n count                Repeat the last file the given number of times."
-msgstr ""
-
-msgid "  -o filename             Set file to be generated (otherwise stdout)."
-msgstr ""
-
-msgid ""
-"  -o filename.drv         Set driver information file (otherwise ppdi.drv)."
-msgstr ""
-
-msgid "  -o filename.ppd[.gz]    Set output file (otherwise stdout)."
-msgstr ""
-
-msgid "  -o name=value           Set option(s)."
-msgstr ""
-
-msgid "  -p filename.ppd         Set PPD file."
-msgstr ""
-
-msgid "  -q                      Be quiet - no output except errors."
-msgstr ""
-
-msgid "  -q                      Run silently."
-msgstr ""
-
-msgid "  -r                      Use 'relaxed' open mode."
-msgstr ""
-
-msgid "  -t                      Produce a test report."
-msgstr ""
-
-msgid "  -t                      Test PPDs instead of generating them."
-msgstr ""
-
-msgid "  -t                      Test the configuration file."
-msgstr ""
-
-msgid "  -t title                Set title."
-msgstr ""
-
-msgid "  -u                      Remove the PPD file when finished."
-msgstr ""
-
-msgid "  -v                      Be slightly verbose."
-msgstr ""
-
-msgid "  -v                      Be verbose (more v's for more verbosity)."
-msgstr ""
-
-msgid "  -v                      Be verbose (show commands)."
-msgstr ""
-
-msgid "  -v                      Show all attributes sent and received."
-msgstr ""
-
-msgid "  -vv                     Be very verbose."
-msgstr ""
-
-msgid "  -z                      Compress PPD files using GNU zip."
-msgstr ""
-
-msgid " FAIL"
-msgstr ""
-
-msgid " PASS"
-msgstr ""
-
-#, c-format
-msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "%.0f x %.0f millimeters"
-msgstr "%.0f x %.0f mm"
-
-#, c-format
-msgid "%.0f x %.0f to %.0f x %.0f millimeters"
-msgstr "%.0f x %.0f do %.0f x %.0f mm"
-
-#, c-format
-msgid "%.2f x %.2f inches"
-msgstr "%.2f x %.2f cali"
-
-#, c-format
-msgid "%.2f x %.2f to %.2f x %.2f inches"
-msgstr "%.2f x %.2f do %.2f x %.2f cali"
-
-#, c-format
-msgid "%s accepting requests since %s"
-msgstr ""
-
-#, c-format
-msgid "%s cannot be changed."
-msgstr "%s nie może zostać zmienione."
-
-#, c-format
-msgid "%s is not implemented by the CUPS version of lpc."
-msgstr ""
-
-#, c-format
-msgid "%s is not ready"
-msgstr ""
-
-#, c-format
-msgid "%s is ready"
-msgstr ""
-
-#, c-format
-msgid "%s is ready and printing"
-msgstr ""
-
-#, c-format
-msgid "%s job-id user title copies options [file]"
-msgstr ""
-
-#, c-format
-msgid "%s not accepting requests since %s -"
-msgstr ""
-
-#, c-format
-msgid "%s not supported."
-msgstr ""
-
-#, c-format
-msgid "%s/%s accepting requests since %s"
-msgstr ""
-
-#, c-format
-msgid "%s/%s not accepting requests since %s -"
-msgstr ""
-
-#, c-format
-msgid "%s: %-33.33s [job %d localhost]"
-msgstr ""
-
-#. TRANSLATORS: Message is "subject: error"
-#, c-format
-msgid "%s: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: %s failed: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Don't know what to do."
-msgstr ""
-
-#, c-format
-msgid ""
-"%s: Error - %s environment variable names non-existent destination \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - bad job ID."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - cannot print files and alter jobs simultaneously."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - cannot print from stdin if files or a job ID are provided."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected character set after \"-S\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected content type after \"-T\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected copies after \"-#\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected copies after \"-n\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected destination after \"-P\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected destination after \"-b\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected destination after \"-d\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected form after \"-f\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected hold name after \"-H\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected hostname after \"-H\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected hostname after \"-h\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected mode list after \"-y\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected name after \"-%c\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected option=value after \"-o\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected page list after \"-P\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected priority after \"-%c\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected reason text after \"-r\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected title after \"-t\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected username after \"-U\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected username after \"-u\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected value after \"-%c\" option."
-msgstr ""
-
-#, c-format
-msgid ""
-"%s: Error - need \"completed\", \"not-completed\", or \"all\" after \"-W\" "
-"option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - no default destination available."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - priority must be between 1 and 100."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - scheduler not responding."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - too many files - \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unable to access \"%s\" - %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unable to queue from stdin - %s."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown destination \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown destination \"%s/%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown option \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Expected job ID after \"-i\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Invalid destination name in list \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Invalid filter string \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Need job ID (\"-i jobid\") before \"-H restart\"."
-msgstr ""
-
-#, c-format
-msgid "%s: No filter to convert from %s/%s to %s/%s."
-msgstr ""
-
-#, c-format
-msgid "%s: Operation failed: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Sorry, no encryption support."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to connect to server."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to contact server."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to determine MIME type of \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to open %s: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to open PPD file: %s on line %d."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown destination \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown destination MIME type %s/%s."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown option \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown source MIME type %s/%s."
-msgstr ""
-
-#, c-format
-msgid ""
-"%s: Warning - \"%c\" format modifier not supported - output may not be "
-"correct."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - character set option ignored."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - content type option ignored."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - form option ignored."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - mode option ignored."
-msgstr ""
-
-msgid "-1"
-msgstr "-1"
-
-msgid "-10"
-msgstr "-10"
-
-msgid "-100"
-msgstr "-100"
-
-msgid "-105"
-msgstr "-105"
-
-msgid "-11"
-msgstr "-11"
-
-msgid "-110"
-msgstr "-110"
-
-msgid "-115"
-msgstr "-115"
-
-msgid "-12"
-msgstr "-12"
-
-msgid "-120"
-msgstr "-120"
-
-msgid "-13"
-msgstr "-13"
-
-msgid "-14"
-msgstr "-14"
-
-msgid "-15"
-msgstr "-15"
-
-msgid "-2"
-msgstr "-2"
-
-msgid "-20"
-msgstr "-20"
-
-msgid "-25"
-msgstr "-25"
-
-msgid "-3"
-msgstr "-3"
-
-msgid "-30"
-msgstr "-30"
-
-msgid "-35"
-msgstr "-35"
-
-msgid "-4"
-msgstr "-4"
-
-msgid "-40"
-msgstr "-40"
-
-msgid "-45"
-msgstr "-45"
-
-msgid "-5"
-msgstr "-5"
-
-msgid "-50"
-msgstr "-50"
-
-msgid "-55"
-msgstr "-55"
-
-msgid "-6"
-msgstr "-6"
-
-msgid "-60"
-msgstr "-60"
-
-msgid "-65"
-msgstr "-65"
-
-msgid "-7"
-msgstr "-7"
-
-msgid "-70"
-msgstr "-70"
-
-msgid "-75"
-msgstr "-75"
-
-msgid "-8"
-msgstr "-8"
-
-msgid "-80"
-msgstr "-80"
-
-msgid "-85"
-msgstr "-85"
-
-msgid "-9"
-msgstr "-9"
-
-msgid "-90"
-msgstr "-90"
-
-msgid "-95"
-msgstr "-95"
-
-msgid "0"
-msgstr "0"
-
-msgid "1"
-msgstr "1"
-
-msgid "1 inch/sec."
-msgstr "1 cal/sek."
-
-msgid "1.25x0.25\""
-msgstr "1,25x0,25\""
-
-msgid "1.25x2.25\""
-msgstr "1,25x2,25\""
-
-msgid "1.5 inch/sec."
-msgstr "1,5 cala/sek."
-
-msgid "1.50x0.25\""
-msgstr "1,50x0,25\""
-
-msgid "1.50x0.50\""
-msgstr "1,50x0,50\""
-
-msgid "1.50x1.00\""
-msgstr "1,50x1,00\""
-
-msgid "1.50x2.00\""
-msgstr "1,50x2,00\""
-
-msgid "10"
-msgstr "10"
-
-msgid "10 inches/sec."
-msgstr "10 cali/sek."
-
-msgid "10 x 11"
-msgstr ""
-
-msgid "10 x 13"
-msgstr ""
-
-msgid "10 x 14"
-msgstr ""
-
-msgid "100"
-msgstr "100"
-
-msgid "100 mm/sec."
-msgstr "100 mm/sek."
-
-msgid "105"
-msgstr "105"
-
-msgid "11"
-msgstr "11"
-
-msgid "11 inches/sec."
-msgstr "11 cali/sek."
-
-msgid "110"
-msgstr "110"
-
-msgid "115"
-msgstr "115"
-
-msgid "12"
-msgstr "12"
-
-msgid "12 inches/sec."
-msgstr "12 cali/sek."
-
-msgid "12 x 11"
-msgstr ""
-
-msgid "120"
-msgstr "120"
-
-msgid "120 mm/sec."
-msgstr "120 mm/sek."
-
-msgid "120x60dpi"
-msgstr "120x60dpi"
-
-msgid "120x72dpi"
-msgstr "120x72dpi"
-
-msgid "13"
-msgstr "13"
-
-msgid "136dpi"
-msgstr "136dpi"
-
-msgid "14"
-msgstr "14"
-
-msgid "15"
-msgstr "15"
-
-msgid "15 mm/sec."
-msgstr "15 mm/sek."
-
-msgid "15 x 11"
-msgstr ""
-
-msgid "150 mm/sec."
-msgstr "150 mm/sek."
-
-msgid "150dpi"
-msgstr "150dpi"
-
-msgid "16"
-msgstr "16"
-
-msgid "17"
-msgstr "17"
-
-msgid "18"
-msgstr "18"
-
-msgid "180dpi"
-msgstr "180dpi"
-
-msgid "19"
-msgstr "19"
-
-msgid "2"
-msgstr "2"
-
-msgid "2 inches/sec."
-msgstr "2 cale/sek."
-
-msgid "2-Sided Printing"
-msgstr "druk obustronny"
-
-msgid "2.00x0.37\""
-msgstr "2,00x0,37\""
-
-msgid "2.00x0.50\""
-msgstr "2,00x0,50\""
-
-msgid "2.00x1.00\""
-msgstr "2,00x1,00\""
-
-msgid "2.00x1.25\""
-msgstr "2,00x1,25\""
-
-msgid "2.00x2.00\""
-msgstr "2,00x2,00\""
-
-msgid "2.00x3.00\""
-msgstr "2,00x3,00\""
-
-msgid "2.00x4.00\""
-msgstr "2,00x4,00\""
-
-msgid "2.00x5.50\""
-msgstr "2,00x5,50\""
-
-msgid "2.25x0.50\""
-msgstr "2,25x0,50\""
-
-msgid "2.25x1.25\""
-msgstr "2,25x1,25\""
-
-msgid "2.25x4.00\""
-msgstr "2,25x4,00\""
-
-msgid "2.25x5.50\""
-msgstr "2,25x5,50\""
-
-msgid "2.38x5.50\""
-msgstr "2,38x5,50\""
-
-msgid "2.5 inches/sec."
-msgstr "2,5 cala/sek."
-
-msgid "2.50x1.00\""
-msgstr "2,50x1,00\""
-
-msgid "2.50x2.00\""
-msgstr "2,50x2,00\""
-
-msgid "2.75x1.25\""
-msgstr "2,75x1,25\""
-
-msgid "2.9 x 1\""
-msgstr "2,9 x 1\""
-
-msgid "20"
-msgstr "20"
-
-msgid "20 mm/sec."
-msgstr "20 mm/sek."
-
-msgid "200 mm/sec."
-msgstr "200 mm/sek."
-
-msgid "203dpi"
-msgstr "203dpi"
-
-msgid "21"
-msgstr "21"
-
-msgid "22"
-msgstr "22"
-
-msgid "23"
-msgstr "23"
-
-msgid "24"
-msgstr "24"
-
-msgid "24-Pin Series"
-msgstr "24 igłowa"
-
-msgid "240x72dpi"
-msgstr "240x72dpi"
-
-msgid "25"
-msgstr "25"
-
-msgid "250 mm/sec."
-msgstr "250 mm/sek."
-
-msgid "26"
-msgstr "26"
-
-msgid "27"
-msgstr "27"
-
-msgid "28"
-msgstr "28"
-
-msgid "29"
-msgstr "29"
-
-msgid "3"
-msgstr "3"
-
-msgid "3 inches/sec."
-msgstr "3 cale/sek."
-
-msgid "3 x 5"
-msgstr ""
-
-msgid "3.00x1.00\""
-msgstr "3,00x1,00\""
-
-msgid "3.00x1.25\""
-msgstr "3,00x1,25\""
-
-msgid "3.00x2.00\""
-msgstr "3,00x2,00\""
-
-msgid "3.00x3.00\""
-msgstr "3,00x3,00\""
-
-msgid "3.00x5.00\""
-msgstr "3,00x5,00\""
-
-msgid "3.25x2.00\""
-msgstr "3,25x2,00\""
-
-msgid "3.25x5.00\""
-msgstr "3,25x5,00\""
-
-msgid "3.25x5.50\""
-msgstr "3,25x5,50\""
-
-msgid "3.25x5.83\""
-msgstr "3,25x5,83\""
-
-msgid "3.25x7.83\""
-msgstr "3,25x7,83\""
-
-msgid "3.5 x 5"
-msgstr ""
-
-msgid "3.5\" Disk"
-msgstr "dysk 3.5\""
-
-msgid "3.5\" Disk - 2 1/8 x 2 3/4\""
-msgstr "dysk 3.5\" - 2 1/8 x 2 3/4\""
-
-msgid "3.50x1.00\""
-msgstr "3,50x1,00\""
-
-msgid "30"
-msgstr "30"
-
-msgid "30 mm/sec."
-msgstr "30 mm/sek."
-
-msgid "300 mm/sec."
-msgstr "300 mm/sek."
-
-msgid "300dpi"
-msgstr "300dpi"
-
-msgid "35"
-msgstr "35"
-
-msgid "360dpi"
-msgstr "360dpi"
-
-msgid "360x180dpi"
-msgstr "360x180dpi"
-
-msgid "4"
-msgstr "4"
-
-msgid "4 inches/sec."
-msgstr "4 cale/sek."
-
-msgid "4.00x1.00\""
-msgstr "4,00x1,00\""
-
-msgid "4.00x13.00\""
-msgstr "4,00x13,00\""
-
-msgid "4.00x2.00\""
-msgstr "4,00x2,00\""
-
-msgid "4.00x2.50\""
-msgstr "4,00x2,50\""
-
-msgid "4.00x3.00\""
-msgstr "4,00x3,00\""
-
-msgid "4.00x4.00\""
-msgstr "4,00x4,00\""
-
-msgid "4.00x5.00\""
-msgstr "4,00x5,00\""
-
-msgid "4.00x6.00\""
-msgstr "4,00x6,00\""
-
-msgid "4.00x6.50\""
-msgstr "4,00x6,50\""
-
-msgid "40"
-msgstr "40"
-
-msgid "40 mm/sec."
-msgstr "40 mm/sek."
-
-msgid "45"
-msgstr "45"
-
-msgid "5"
-msgstr "5"
-
-msgid "5 inches/sec."
-msgstr "5 cali/sek."
-
-msgid "5 x 7"
-msgstr ""
-
-msgid "50"
-msgstr "50"
-
-msgid "55"
-msgstr "55"
-
-msgid "6"
-msgstr "6"
-
-msgid "6 inches/sec."
-msgstr "6 cali/sek."
-
-msgid "6.00x1.00\""
-msgstr "6,00x1,00\""
-
-msgid "6.00x2.00\""
-msgstr "6,00x2,00\""
-
-msgid "6.00x3.00\""
-msgstr "6,00x3,00\""
-
-msgid "6.00x4.00\""
-msgstr "6,00x4,00\""
-
-msgid "6.00x5.00\""
-msgstr "6,00x5,00\""
-
-msgid "6.00x6.00\""
-msgstr "6,00x6,00\""
-
-msgid "6.00x6.50\""
-msgstr "6,00x6,50\""
-
-msgid "60"
-msgstr "60"
-
-msgid "60 mm/sec."
-msgstr "60 mm/sek."
-
-msgid "600dpi"
-msgstr "600dpi"
-
-msgid "60dpi"
-msgstr "60dpi"
-
-msgid "60x72dpi"
-msgstr ""
-
-msgid "65"
-msgstr "65"
-
-msgid "7"
-msgstr "7"
-
-msgid "7 inches/sec."
-msgstr "7 cali/sek."
-
-msgid "7 x 9"
-msgstr ""
-
-msgid "70"
-msgstr "70"
-
-msgid "720dpi"
-msgstr "720dpi"
-
-msgid "75"
-msgstr "75"
-
-msgid "8"
-msgstr "8"
-
-msgid "8 inches/sec."
-msgstr "8 cali/sek."
-
-msgid "8 x 10"
-msgstr ""
-
-msgid "8.00x1.00\""
-msgstr "8,00x1,00\""
-
-msgid "8.00x2.00\""
-msgstr "8,00x2,00\""
-
-msgid "8.00x3.00\""
-msgstr "8,00x3,00\""
-
-msgid "8.00x4.00\""
-msgstr "8,00x4,00\""
-
-msgid "8.00x5.00\""
-msgstr "8,00x5,00\""
-
-msgid "8.00x6.00\""
-msgstr "8,00x6,00\""
-
-msgid "8.00x6.50\""
-msgstr "8,00x6,50\""
-
-msgid "80"
-msgstr "80"
-
-msgid "80 mm/sec."
-msgstr "80 mm/sek."
-
-msgid "85"
-msgstr "85"
-
-msgid "9"
-msgstr "9"
-
-msgid "9 inches/sec."
-msgstr "9 cali/sek."
-
-msgid "9 x 11"
-msgstr ""
-
-msgid "9 x 12"
-msgstr ""
-
-msgid "9-Pin Series"
-msgstr "9 igłowa"
-
-msgid "90"
-msgstr "90"
-
-msgid "95"
-msgstr "95"
-
-msgid "?Invalid help command unknown."
-msgstr ""
-
-msgid "A Samba password is required to export printer drivers"
-msgstr ""
-
-msgid "A Samba username is required to export printer drivers"
-msgstr ""
-
-#, c-format
-msgid "A class named \"%s\" already exists."
-msgstr ""
-
-#, c-format
-msgid "A printer named \"%s\" already exists."
-msgstr ""
-
-msgid "A0"
-msgstr "A0"
-
-msgid "A0 Long Edge"
-msgstr ""
-
-msgid "A1"
-msgstr "A1"
-
-msgid "A1 Long Edge"
-msgstr ""
-
-msgid "A10"
-msgstr "A10"
-
-msgid "A2"
-msgstr "A2"
-
-msgid "A2 Long Edge"
-msgstr ""
-
-msgid "A3"
-msgstr "A3"
-
-msgid "A3 Long Edge"
-msgstr ""
-
-msgid "A3 Oversize"
-msgstr ""
-
-msgid "A3 Oversize Long Edge"
-msgstr ""
-
-msgid "A4"
-msgstr "A4"
-
-msgid "A4 Long Edge"
-msgstr ""
-
-msgid "A4 Oversize"
-msgstr ""
-
-msgid "A4 Small"
-msgstr ""
-
-msgid "A5"
-msgstr "A5"
-
-msgid "A5 Long Edge"
-msgstr ""
-
-msgid "A5 Oversize"
-msgstr ""
-
-msgid "A6"
-msgstr "A6"
-
-msgid "A6 Long Edge"
-msgstr ""
-
-msgid "A7"
-msgstr "A7"
-
-msgid "A8"
-msgstr "A8"
-
-msgid "A9"
-msgstr "A9"
-
-msgid "ANSI A"
-msgstr "ANSI A"
-
-msgid "ANSI B"
-msgstr "ANSI B"
-
-msgid "ANSI C"
-msgstr "ANSI C"
-
-msgid "ANSI D"
-msgstr "ANSI D"
-
-msgid "ANSI E"
-msgstr "ANSI E"
-
-msgid "ARCH C"
-msgstr "ARCH C"
-
-msgid "ARCH C Long Edge"
-msgstr ""
-
-msgid "ARCH D"
-msgstr "ARCH D"
-
-msgid "ARCH D Long Edge"
-msgstr ""
-
-msgid "ARCH E"
-msgstr "ARCH E"
-
-msgid "ARCH E Long Edge"
-msgstr ""
-
-msgid "Accept Jobs"
-msgstr "Zaakceptuj zlecenia"
-
-msgid "Accepted"
-msgstr "Zaakceptowane"
-
-msgid "Add Class"
-msgstr "Dodaj klasę"
-
-msgid "Add Printer"
-msgstr "Dodaj drukarkę"
-
-msgid "Add RSS Subscription"
-msgstr "Dodaj subskrypcję RSS"
-
-msgid "Address"
-msgstr "Adres"
-
-msgid "Address - 1 1/8 x 3 1/2\""
-msgstr "Adres - 1 1/8 x 3 1/2\""
-
-msgid "Administration"
-msgstr "Administracja"
-
-msgid "Always"
-msgstr "Zawsze"
-
-msgid "AppSocket/HP JetDirect"
-msgstr "AppSocket/HP JetDirect"
-
-msgid "Applicator"
-msgstr "Aplikator"
-
-#, c-format
-msgid "Attempt to set %s printer-state to bad value %d."
-msgstr ""
-
-#, c-format
-msgid "Attribute groups are out of order (%x < %x)."
-msgstr ""
-
-msgid "B0"
-msgstr "B0"
-
-msgid "B1"
-msgstr "B1"
-
-msgid "B10"
-msgstr "B10"
-
-msgid "B2"
-msgstr "B2"
-
-msgid "B3"
-msgstr "B3"
-
-msgid "B4"
-msgstr "B4"
-
-msgid "B5"
-msgstr "B5"
-
-msgid "B5 Oversize"
-msgstr ""
-
-msgid "B6"
-msgstr "B6"
-
-msgid "B7"
-msgstr "B7"
-
-msgid "B8"
-msgstr "B8"
-
-msgid "B9"
-msgstr "B9"
-
-msgid "Bad NULL dests pointer"
-msgstr "Błędny PUSTY wskaźnik dests"
-
-msgid "Bad OpenGroup"
-msgstr "Błędne OpenGroup"
-
-msgid "Bad OpenUI/JCLOpenUI"
-msgstr "Błędne OpenUI/JCLOpenUI"
-
-msgid "Bad OrderDependency"
-msgstr "Błędne OrderDependency"
-
-msgid "Bad PPD cache file."
-msgstr ""
-
-msgid "Bad Request"
-msgstr "Błędne żądanie"
-
-msgid "Bad SNMP version number"
-msgstr "Błędny numer wersji SNMP"
-
-msgid "Bad UIConstraints"
-msgstr "Błędne OrderDependency"
-
-#, c-format
-msgid "Bad charset file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad charset type: %s"
-msgstr ""
-
-#, c-format
-msgid "Bad columns value %d."
-msgstr ""
-
-#, c-format
-msgid "Bad copies value %d."
-msgstr "Błędna wartość kopii %d."
-
-#, c-format
-msgid "Bad cpi value %f."
-msgstr ""
-
-msgid "Bad custom parameter"
-msgstr "Błędny własny parametr"
-
-#, c-format
-msgid "Bad device-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad device-uri scheme \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad document-format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad document-format-default \"%s\"."
-msgstr ""
-
-msgid "Bad filename buffer"
-msgstr ""
-
-#, c-format
-msgid "Bad font description line \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad font description line: %s"
-msgstr ""
-
-msgid "Bad job-priority value."
-msgstr ""
-
-#, c-format
-msgid "Bad job-sheets value \"%s\"."
-msgstr ""
-
-msgid "Bad job-sheets value type."
-msgstr ""
-
-msgid "Bad job-state value."
-msgstr ""
-
-#, c-format
-msgid "Bad job-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad lpi value %f."
-msgstr ""
-
-#, c-format
-msgid "Bad notify-pull-method \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad notify-recipient-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad number-up value %d."
-msgstr "Błędna wartość kopii %d."
-
-#, c-format
-msgid "Bad option + choice on line %d."
-msgstr ""
-
-#, c-format
-msgid "Bad page-ranges values %d-%d."
-msgstr "Błędne wartości %d-%d page-ranges."
-
-#, c-format
-msgid "Bad port-monitor \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad printer-state value %d."
-msgstr ""
-
-#, c-format
-msgid "Bad request ID %d."
-msgstr ""
-
-#, c-format
-msgid "Bad request version number %d.%d."
-msgstr ""
-
-msgid "Bad subscription ID"
-msgstr ""
-
-#, c-format
-msgid "Bad text direction \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad text direction: %s"
-msgstr ""
-
-#, c-format
-msgid "Bad text width \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad text width: %s"
-msgstr ""
-
-msgid "Bad value string"
-msgstr ""
-
-msgid "Banners"
-msgstr "Bannery"
-
-msgid "Billing Information: "
-msgstr "Fakturowanie: "
-
-msgid "Bond Paper"
-msgstr "Papier uszlachetniony"
-
-#, c-format
-msgid "Boolean expected for waiteof option \"%s\"."
-msgstr ""
-
-msgid "Buffer overflow detected, aborting."
-msgstr ""
-
-msgid "CMYK"
-msgstr "CMYK"
-
-msgid "CPCL Label Printer"
-msgstr "Drukarka etykiet CPCL"
-
-msgid "Cancel RSS Subscription"
-msgstr "Wycofaj subskrypcję RSS"
-
-msgid "Canceling print job."
-msgstr ""
-
-msgid "Cannot share a remote Kerberized printer."
-msgstr ""
-
-msgid "Cassette"
-msgstr ""
-
-msgid "Change Settings"
-msgstr "Zmień ustawienia"
-
-#, c-format
-msgid "Character set \"%s\" not supported."
-msgstr ""
-
-msgid "Classes"
-msgstr "Klasy"
-
-msgid "Clean Print Heads"
-msgstr "Czyść głowice drukarki"
-
-msgid "Close-Job doesn't support the job-uri attribute."
-msgstr ""
-
-msgid "Color"
-msgstr "Kolor"
-
-msgid "Color Mode"
-msgstr "Tryb koloru"
-
-msgid ""
-"Commands may be abbreviated.  Commands are:\n"
-"\n"
-"exit    help    quit    status  ?"
-msgstr ""
-
-msgid "Community name uses indefinite length"
-msgstr "Community name używa nieograniczonej długości"
-
-msgid "Connected to printer."
-msgstr ""
-
-msgid "Connecting to printer."
-msgstr ""
-
-msgid "Continue"
-msgstr "Dalej"
-
-msgid "Continuous"
-msgstr "Ciągły"
-
-msgid "Control file sent successfully."
-msgstr ""
-
-msgid "Copying print data."
-msgstr ""
-
-msgid "Created"
-msgstr "Utworzono"
-
-msgid "Created On: "
-msgstr "Utworzono: "
-
-msgid "Custom"
-msgstr "Własne"
-
-msgid "CustominCutInterval"
-msgstr "CustominCutInterval"
-
-msgid "CustominTearInterval"
-msgstr "CustominTearInterval"
-
-msgid "Cut"
-msgstr "Wytnij"
-
-msgid "Cutter"
-msgstr "Do cięcia"
-
-msgid "Dark"
-msgstr "Ciemne"
-
-msgid "Darkness"
-msgstr "Ciemność"
-
-msgid "Data file sent successfully."
-msgstr ""
-
-msgid "Delete Class"
-msgstr "Usuń klasę"
-
-msgid "Delete Printer"
-msgstr "Usuń drukarkę"
-
-msgid "Description: "
-msgstr "Opis: "
-
-msgid "DeskJet Series"
-msgstr "Seria DeskJet"
-
-#, c-format
-msgid "Destination \"%s\" is not accepting jobs."
-msgstr "Cel \"%s\" nie akceptuje zadań."
-
-#, c-format
-msgid ""
-"Device: uri = %s\n"
-"        class = %s\n"
-"        info = %s\n"
-"        make-and-model = %s\n"
-"        device-id = %s\n"
-"        location = %s"
-msgstr ""
-
-msgid "Direct Thermal Media"
-msgstr "Materiał bezpośredni termiczny"
-
-#, c-format
-msgid "Directory \"%s\" contains a relative path."
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" is a file."
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" not available: %s"
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-msgid "Disabled"
-msgstr "Wyłączone"
-
-#, c-format
-msgid "Document #%d does not exist in job #%d."
-msgstr ""
-
-msgid "Driver Name: "
-msgstr "Nazwa sterownika: "
-
-msgid "Driver Version: "
-msgstr "Wersja sterownika: "
-
-msgid "Duplexer"
-msgstr "Do druku obustronnego"
-
-msgid "Dymo"
-msgstr "Dymo"
-
-msgid "EPL1 Label Printer"
-msgstr "Drukarka etykiet EPL1"
-
-msgid "EPL2 Label Printer"
-msgstr "Drukarka etykiet EPL2"
-
-msgid "Edit Configuration File"
-msgstr "Edytuj plik konfiguracji"
-
-msgid "Empty PPD file."
-msgstr ""
-
-#. TRANSLATORS: Banner/cover sheet after the print job.
-msgid "Ending Banner"
-msgstr "Baner końcowy"
-
-msgid "English"
-msgstr "Polish"
-
-msgid "Enter old password:"
-msgstr "Podaj stare hasło:"
-
-msgid "Enter password again:"
-msgstr "Powtórz hasło:"
-
-msgid "Enter password:"
-msgstr "Podaj hasło:"
-
-msgid ""
-"Enter your username and password or the root username and password to access "
-"this page. If you are using Kerberos authentication, make sure you have a "
-"valid Kerberos ticket."
-msgstr ""
-"Wprowadź swoje nazwę użytkownika i hasło lub nazwę i hasło użytkownika root, "
-"aby uzyskać dostęp do tej strony. Jeżeli korzystasz z uwierzytelnienia "
-"Kerberos, upewnij się, że posiadasz prawidłowy bilet Kerberos."
-
-msgid "Envelope #10 "
-msgstr ""
-
-msgid "Envelope #11"
-msgstr ""
-
-msgid "Envelope #12"
-msgstr ""
-
-msgid "Envelope #14"
-msgstr ""
-
-msgid "Envelope #9"
-msgstr ""
-
-msgid "Envelope B4"
-msgstr ""
-
-msgid "Envelope B5"
-msgstr ""
-
-msgid "Envelope B6"
-msgstr ""
-
-msgid "Envelope C0"
-msgstr ""
-
-msgid "Envelope C1"
-msgstr ""
-
-msgid "Envelope C2"
-msgstr ""
-
-msgid "Envelope C3"
-msgstr ""
-
-msgid "Envelope C4"
-msgstr ""
-
-msgid "Envelope C5"
-msgstr ""
-
-msgid "Envelope C6"
-msgstr ""
-
-msgid "Envelope C65"
-msgstr ""
-
-msgid "Envelope C7"
-msgstr ""
-
-msgid "Envelope Choukei 3"
-msgstr ""
-
-msgid "Envelope Choukei 3 Long Edge"
-msgstr ""
-
-msgid "Envelope Choukei 4"
-msgstr ""
-
-msgid "Envelope Choukei 4 Long Edge"
-msgstr ""
-
-msgid "Envelope DL"
-msgstr ""
-
-msgid "Envelope Feed"
-msgstr "Podajnik kopert"
-
-msgid "Envelope Invite"
-msgstr ""
-
-msgid "Envelope Italian"
-msgstr ""
-
-msgid "Envelope Kaku2"
-msgstr ""
-
-msgid "Envelope Kaku2 Long Edge"
-msgstr ""
-
-msgid "Envelope Kaku3"
-msgstr ""
-
-msgid "Envelope Kaku3 Long Edge"
-msgstr ""
-
-msgid "Envelope Monarch"
-msgstr ""
-
-msgid "Envelope PRC1 "
-msgstr ""
-
-msgid "Envelope PRC1 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC10"
-msgstr ""
-
-msgid "Envelope PRC10 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC2"
-msgstr ""
-
-msgid "Envelope PRC2 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC3"
-msgstr ""
-
-msgid "Envelope PRC3 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC4"
-msgstr ""
-
-msgid "Envelope PRC4 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC5 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC5PRC5"
-msgstr ""
-
-msgid "Envelope PRC6"
-msgstr ""
-
-msgid "Envelope PRC6 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC7"
-msgstr ""
-
-msgid "Envelope PRC7 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC8"
-msgstr ""
-
-msgid "Envelope PRC8 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC9"
-msgstr ""
-
-msgid "Envelope PRC9 Long Edge"
-msgstr ""
-
-msgid "Envelope Personal"
-msgstr ""
-
-msgid "Envelope You4"
-msgstr ""
-
-msgid "Envelope You4 Long Edge"
-msgstr ""
-
-msgid "Epson"
-msgstr "Epson"
-
-msgid "Error Policy"
-msgstr "Zasady obsługi błędów"
-
-msgid "Error sending raster data."
-msgstr ""
-
-msgid "Error: need hostname after \"-h\" option."
-msgstr ""
-
-msgid "Every 10 Labels"
-msgstr "Co 10 etykiet"
-
-msgid "Every 2 Labels"
-msgstr "Co 2 etykiety"
-
-msgid "Every 3 Labels"
-msgstr "Co 3 etykiety"
-
-msgid "Every 4 Labels"
-msgstr "Co 4 etykiety"
-
-msgid "Every 5 Labels"
-msgstr "Co 5 etykiet"
-
-msgid "Every 6 Labels"
-msgstr "Co 6 etykiet"
-
-msgid "Every 7 Labels"
-msgstr "Co 7 etykiet"
-
-msgid "Every 8 Labels"
-msgstr "Co 8 etykiet"
-
-msgid "Every 9 Labels"
-msgstr "Co 9 etykiet"
-
-msgid "Every Label"
-msgstr "Co etykietę"
-
-msgid "Executive"
-msgstr ""
-
-msgid "Expectation Failed"
-msgstr "Oczekiwana wartość nie do zwrócenia"
-
-msgid "Export Printers to Samba"
-msgstr "Wyeksportuj drukarki do Samby"
-
-msgid "FAIL"
-msgstr ""
-
-msgid "FanFold German"
-msgstr ""
-
-msgid "FanFold Legal German"
-msgstr ""
-
-msgid "Fanfold US"
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" contains a relative path."
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" is a directory."
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" not available: %s"
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-msgid "File Folder"
-msgstr "Folder"
-
-msgid "File Folder - 9/16 x 3 7/16\""
-msgstr "Folder - 9/16 x 3 7/16\""
-
-#, c-format
-msgid ""
-"File device URIs have been disabled. To enable, see the FileDevice directive "
-"in \"%s/cupsd.conf\"."
-msgstr ""
-
-#, c-format
-msgid "Finished page %d."
-msgstr ""
-
-msgid "Folio"
-msgstr "Folio"
-
-msgid "Forbidden"
-msgstr "Zabronione"
-
-#, c-format
-msgid "Formatting page %d."
-msgstr ""
-
-msgid "General"
-msgstr "Ogólne"
-
-msgid "Generic"
-msgstr "Ogólne"
-
-msgid "Get-Response-PDU uses indefinite length"
-msgstr "Get-Response-PDU używa nieskończonej długości"
-
-msgid "Glossy Paper"
-msgstr "Papier błyszczący"
-
-msgid "Got a printer-uri attribute but no job-id."
-msgstr ""
-
-msgid "Grayscale"
-msgstr "Szarości"
-
-msgid "HP"
-msgstr "HP"
-
-msgid "Hanging Folder"
-msgstr "Wiszący folder"
-
-msgid "Hanging Folder - 9/16 x 2\""
-msgstr "Wiszący folder - 9/16 x 2\""
-
-msgid "IPP 1setOf attribute with incompatible value tags."
-msgstr ""
-
-msgid "IPP attribute has no name."
-msgstr ""
-
-msgid "IPP begCollection value not 0 bytes."
-msgstr ""
-
-msgid "IPP boolean value not 1 byte."
-msgstr ""
-
-msgid "IPP date value not 11 bytes."
-msgstr ""
-
-msgid "IPP endCollection value not 0 bytes."
-msgstr ""
-
-msgid "IPP enum value not 4 bytes."
-msgstr ""
-
-msgid "IPP integer value not 4 bytes."
-msgstr ""
-
-msgid "IPP language length overflows value."
-msgstr ""
-
-msgid "IPP member name is not empty."
-msgstr ""
-
-msgid "IPP name larger than 32767 bytes."
-msgstr ""
-
-msgid "IPP nameWithLanguage value less than minimum 4 bytes."
-msgstr ""
-
-msgid "IPP rangeOfInteger value not 8 bytes."
-msgstr ""
-
-msgid "IPP resolution value not 9 bytes."
-msgstr ""
-
-msgid "IPP string length overflows value."
-msgstr ""
-
-msgid "IPP textWithLanguage value less than minimum 4 bytes."
-msgstr ""
-
-msgid "IPP value larger than 32767 bytes."
-msgstr ""
-
-msgid "ISOLatin1"
-msgstr "Polish"
-
-msgid "Illegal control character"
-msgstr "Niedozwolony znak kontrolny"
-
-msgid "Illegal main keyword string"
-msgstr "Niedozwolony główny łańcuch słowa kluczowego"
-
-msgid "Illegal option keyword string"
-msgstr "Niedozwolony łańcuch słowa kluczowego opcji"
-
-msgid "Illegal translation string"
-msgstr "Niedozwolony łańcuch tłumaczenia"
-
-msgid "Illegal whitespace character"
-msgstr "Niedozwolony biały znak"
-
-msgid "Installable Options"
-msgstr "Opcje instalowane"
-
-msgid "Installed"
-msgstr "Zainstalowane"
-
-msgid "IntelliBar Label Printer"
-msgstr "Drukarka etykiet IntelliBar"
-
-msgid "Intellitech"
-msgstr "Intellitech"
-
-msgid "Internal Server Error"
-msgstr ""
-
-msgid "Internal error"
-msgstr "Błąd wewnętrzny"
-
-msgid "Internet Postage 2-Part"
-msgstr "Etykieta Internet Postage, dwuczęściowa"
-
-msgid "Internet Postage 2-Part - 2 1/4 x 7 1/2\""
-msgstr "Etykieta Internet Postage, dwuczęściowa - 2 1/4 x 7 1/2\""
-
-msgid "Internet Postage 3-Part"
-msgstr "Etykieta Internet Postage, trzyczęściowa"
-
-msgid "Internet Postage 3-Part - 2 1/4 x 7\""
-msgstr "Etykieta Internet Postage, trzyczęściowa - 2 1/4 x 7\""
-
-msgid "Internet Printing Protocol"
-msgstr "Internetowy protokół druku"
-
-#, c-format
-msgid "Invalid printer command \"%s\"."
-msgstr ""
-
-msgid "JCL"
-msgstr "JCL"
-
-msgid "JIS B0"
-msgstr ""
-
-msgid "JIS B1"
-msgstr ""
-
-msgid "JIS B10"
-msgstr ""
-
-msgid "JIS B2"
-msgstr ""
-
-msgid "JIS B3"
-msgstr ""
-
-msgid "JIS B4"
-msgstr ""
-
-msgid "JIS B4 Long Edge"
-msgstr ""
-
-msgid "JIS B5"
-msgstr ""
-
-msgid "JIS B5 Long Edge"
-msgstr ""
-
-msgid "JIS B6"
-msgstr ""
-
-msgid "JIS B6 Long Edge"
-msgstr ""
-
-msgid "JIS B7"
-msgstr ""
-
-msgid "JIS B8"
-msgstr ""
-
-msgid "JIS B9"
-msgstr ""
-
-#, c-format
-msgid "Job #%d cannot be restarted - no files."
-msgstr ""
-
-#, c-format
-msgid "Job #%d does not exist."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is already aborted - can't cancel."
-msgstr "Zlecenie #%d zostało już przerwane - nie można anulować."
-
-#, c-format
-msgid "Job #%d is already canceled - can't cancel."
-msgstr "Zlecenie #%d zostało już anulowane - nie można anulować."
-
-#, c-format
-msgid "Job #%d is already completed - can't cancel."
-msgstr "Zlecenie #%d zostało już zakończone - nie można anulować."
-
-#, c-format
-msgid "Job #%d is finished and cannot be altered."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is not complete."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is not held for authentication."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is not held."
-msgstr ""
-
-msgid "Job Completed"
-msgstr "zlecenie zakończone"
-
-msgid "Job Created"
-msgstr "utworzono zlecenie"
-
-msgid "Job ID: "
-msgstr "ID zlecenia: "
-
-msgid "Job Options Changed"
-msgstr "zmieniono opcje zlecenia"
-
-msgid "Job Stopped"
-msgstr "zlecenie zatrzymane"
-
-msgid "Job UUID: "
-msgstr "UUID zlecenia: "
-
-msgid "Job is completed and cannot be changed."
-msgstr "Zlecenie zostało zakończone i nie może zostać zmienione."
-
-msgid "Job operation failed:"
-msgstr "Operacja zlecenia nie powiodła się:"
-
-msgid "Job state cannot be changed."
-msgstr "Stan zlecenia nie może zostać zmieniony."
-
-msgid "Job subscriptions cannot be renewed."
-msgstr ""
-
-msgid "Jobs"
-msgstr "Zlecenia"
-
-msgid "LPD/LPR Host or Printer"
-msgstr "Host lub drukarka LPD/LPR"
-
-msgid "Label Printer"
-msgstr "Drukarka etykiet"
-
-msgid "Label Top"
-msgstr "Wierzch etykiety"
-
-#, c-format
-msgid "Language \"%s\" not supported."
-msgstr ""
-
-msgid "Large Address"
-msgstr "Duży adres"
-
-msgid "Large Address - 1 4/10 x 3 1/2\""
-msgstr "Duży adres - 1 4/10 x 3 1/2\""
-
-msgid "LaserJet Series PCL 4/5"
-msgstr "LaserJet Series PCL 4/5"
-
-msgid "Letter Oversize"
-msgstr ""
-
-msgid "Letter Oversize Long Edge"
-msgstr ""
-
-msgid "Light"
-msgstr "Lekki"
-
-msgid "Line longer than the maximum allowed (255 characters)"
-msgstr "Wiersz dłuższy niż maksymalnie dozwolony (255 znaków)"
-
-msgid "List Available Printers"
-msgstr "Pokaż dostępne drukarki"
-
-msgid "Loading print file."
-msgstr ""
-
-msgid "Location: "
-msgstr "Miejsce: "
-
-msgid "Long-Edge (Portrait)"
-msgstr "Portretowy"
-
-msgid "Looking for printer."
-msgstr ""
-
-msgid "Make and Model: "
-msgstr "Marka i model: "
-
-msgid "Manual Feed"
-msgstr "Ręczne podawanie papieru"
-
-msgid "Media Dimensions: "
-msgstr "Wymiary nośnika: "
-
-msgid "Media Limits: "
-msgstr "Ograniczenia nośnika: "
-
-msgid "Media Name: "
-msgstr "Nazwa nośnika: "
-
-msgid "Media Size"
-msgstr "Rozmiar nośnika"
-
-msgid "Media Source"
-msgstr "Źródło nośnika"
-
-msgid "Media Tracking"
-msgstr "Śledzenie nośnika"
-
-msgid "Media Type"
-msgstr "Rodzaj nośnika"
-
-msgid "Medium"
-msgstr "Średni"
-
-msgid "Memory allocation error"
-msgstr "Błąd przydziału pamięci"
-
-msgid "Missing CloseGroup"
-msgstr ""
-
-msgid "Missing PPD-Adobe-4.x header"
-msgstr "Brakujący nagłówek PPD-Adobe-4.x"
-
-msgid "Missing asterisk in column 1"
-msgstr "Brakująca gwiazdka w kolumnie 1"
-
-msgid "Missing document-number attribute."
-msgstr ""
-
-#, c-format
-msgid "Missing double quote on line %d."
-msgstr ""
-
-msgid "Missing form variable"
-msgstr ""
-
-msgid "Missing last-document attribute in request."
-msgstr ""
-
-msgid "Missing media or media-col."
-msgstr ""
-
-msgid "Missing media-size in media-col."
-msgstr ""
-
-msgid "Missing notify-subscription-ids attribute."
-msgstr ""
-
-msgid "Missing option keyword"
-msgstr ""
-
-msgid "Missing requesting-user-name attribute."
-msgstr ""
-
-msgid "Missing required attributes."
-msgstr ""
-
-#, c-format
-msgid "Missing value on line %d of banner file."
-msgstr ""
-
-#, c-format
-msgid "Missing value on line %d."
-msgstr ""
-
-msgid "Missing value string"
-msgstr "Brakujący łańcuch wartości"
-
-msgid "Missing x-dimension in media-size."
-msgstr ""
-
-msgid "Missing y-dimension in media-size."
-msgstr ""
-
-#, c-format
-msgid ""
-"Model:  name = %s\n"
-"        natural_language = %s\n"
-"        make-and-model = %s\n"
-"        device-id = %s"
-msgstr ""
-
-msgid "Modify Class"
-msgstr "Zmień klasę"
-
-msgid "Modify Printer"
-msgstr "Zmień drukarkę"
-
-msgid "Move All Jobs"
-msgstr "Przenieś wszystkie zlecenia"
-
-msgid "Move Job"
-msgstr "Przenieś zlecenie"
-
-msgid "Moved Permanently"
-msgstr "Trwale przeniesione"
-
-msgid "NULL PPD file pointer"
-msgstr "PUSTY wskaźnik pliku PPD"
-
-msgid "Name OID uses indefinite length"
-msgstr "OID nazwy używa nieskończonej długości"
-
-msgid "Nested classes are not allowed."
-msgstr ""
-
-msgid "Never"
-msgstr "Nigdy"
-
-msgid "New Stylus Color Series"
-msgstr "New Stylus Color Series"
-
-msgid "New Stylus Photo Series"
-msgstr "New Stylus Photo Series"
-
-msgid "No"
-msgstr "Nie"
-
-msgid "No Content"
-msgstr "Brak zawartości"
-
-msgid "No PPD name"
-msgstr ""
-
-msgid "No VarBind SEQUENCE"
-msgstr "Brak VarBind SEQUENCE"
-
-msgid "No Windows printer drivers are installed."
-msgstr ""
-
-msgid "No active connection"
-msgstr "Brak aktywnego połączenia"
-
-#, c-format
-msgid "No active jobs on %s."
-msgstr ""
-
-msgid "No attributes in request."
-msgstr ""
-
-msgid "No authentication information provided."
-msgstr ""
-
-msgid "No community name"
-msgstr "Brak community name"
-
-msgid "No default printer."
-msgstr ""
-
-msgid "No destinations added."
-msgstr "Nie dodano celów."
-
-msgid "No device URI found in argv[0] or in DEVICE_URI environment variable."
-msgstr ""
-
-msgid "No error-index"
-msgstr "Brak error-index"
-
-msgid "No error-status"
-msgstr "Brak error-status"
-
-msgid "No file in print request."
-msgstr ""
-
-msgid "No fonts in charset file."
-msgstr ""
-
-msgid "No modification time"
-msgstr ""
-
-msgid "No name OID"
-msgstr "Brak OID nazwy"
-
-msgid "No pages were found."
-msgstr ""
-
-msgid "No printer name"
-msgstr ""
-
-msgid "No printer-uri found"
-msgstr ""
-
-msgid "No printer-uri found for class"
-msgstr ""
-
-msgid "No printer-uri in request."
-msgstr ""
-
-msgid "No request-id"
-msgstr "Brak request-id"
-
-msgid "No subscription attributes in request."
-msgstr ""
-
-msgid "No subscriptions found."
-msgstr "Błędne ID subskrypcji."
-
-msgid "No variable-bindings SEQUENCE"
-msgstr "Brak variable-bindings SEQUENCE"
-
-msgid "No version number"
-msgstr "Brak nazwy wersji"
-
-msgid "Non-continuous (Mark sensing)"
-msgstr "Nieciągły (Mark sensing)"
-
-msgid "Non-continuous (Web sensing)"
-msgstr "Nieciągły (Web sensing)"
-
-msgid "Normal"
-msgstr "Zwykły"
-
-msgid "Not Found"
-msgstr "Nie znaleziono"
-
-msgid "Not Implemented"
-msgstr "Niezaimplementowane"
-
-msgid "Not Installed"
-msgstr "Niezainstalowane"
-
-msgid "Not Modified"
-msgstr "Niezmienione"
-
-msgid "Not Supported"
-msgstr "Nieobsługiwane"
-
-msgid "Not allowed to print."
-msgstr "Brak zgody na druk."
-
-msgid "Note"
-msgstr "Notatka"
-
-msgid ""
-"Note: this program only validates the DSC comments, not the PostScript "
-"itself."
-msgstr ""
-
-msgid "OK"
-msgstr "OK"
-
-msgid "Off (1-Sided)"
-msgstr "Jednostronny"
-
-msgid "Oki"
-msgstr "Oki"
-
-msgid "Online Help"
-msgstr "Pomoc internetowa"
-
-#, c-format
-msgid "Open of %s failed: %s"
-msgstr "Otwarcie %s nie powiodło się: %s"
-
-msgid "OpenGroup without a CloseGroup first"
-msgstr "OpenGroup nie poprzedzony przez CloseGroup"
-
-msgid "OpenUI/JCLOpenUI without a CloseUI/JCLCloseUI first"
-msgstr "OpenUI/JCLOpenUI nie poprzedzony przez CloseUI/JCLCloseUI"
-
-msgid "Operation Policy"
-msgstr "Polityka operacji"
-
-#, c-format
-msgid "Option \"%s\" cannot be included via %%%%IncludeFeature."
-msgstr ""
-
-msgid "Options Installed"
-msgstr "Zainstalowane opcje"
-
-msgid "Options:"
-msgstr ""
-
-msgid "Options: "
-msgstr "Opcje: "
-
-msgid "Out of date PPD cache file."
-msgstr ""
-
-msgid "Out of memory."
-msgstr ""
-
-msgid "Output Mode"
-msgstr "Tryb wyjścia"
-
-#, c-format
-msgid "Output for printer %s is sent to %s"
-msgstr ""
-
-#, c-format
-msgid "Output for printer %s is sent to remote printer %s on %s"
-msgstr ""
-
-#, c-format
-msgid "Output for printer %s/%s is sent to %s"
-msgstr ""
-
-#, c-format
-msgid "Output for printer %s/%s is sent to remote printer %s on %s"
-msgstr ""
-
-msgid "PASS"
-msgstr ""
-
-msgid "PCL Laser Printer"
-msgstr "Drukarka laserowa PCL"
-
-msgid "PRC16K"
-msgstr "PRC16K"
-
-msgid "PRC16K Long Edge"
-msgstr ""
-
-msgid "PRC32K"
-msgstr "PRC32K"
-
-msgid "PRC32K Long Edge"
-msgstr ""
-
-msgid "PRC32K Oversize"
-msgstr ""
-
-msgid "PRC32K Oversize Long Edge"
-msgstr ""
-
-msgid "Packet does not contain a Get-Response-PDU"
-msgstr "Pakiet nie zawiera Get-Response-PDU"
-
-msgid "Packet does not start with SEQUENCE"
-msgstr "Pakiet nie rozpoczyna się od SEQUENCE"
-
-msgid "ParamCustominCutInterval"
-msgstr "ParamCustominCutInterval"
-
-msgid "ParamCustominTearInterval"
-msgstr "ParamCustominTearInterval"
-
-#, c-format
-msgid "Password for %s on %s? "
-msgstr "Hasło dla %s na %s? "
-
-#, c-format
-msgid "Password for %s required to access %s via SAMBA: "
-msgstr "Wymagane jest hasło dla %s, aby uzyskać dostęp do %s przez Sambę:"
-
-msgid "Pause Class"
-msgstr "Wstrzymanie klasy"
-
-msgid "Pause Printer"
-msgstr "Wstrzymanie drukarki"
-
-msgid "Peel-Off"
-msgstr "Peel-Off"
-
-msgid "Photo"
-msgstr "Zdjęcie"
-
-msgid "Photo Labels"
-msgstr "Etykiety zdjęć"
-
-msgid "Plain Paper"
-msgstr "Zwykły papier"
-
-msgid "Policies"
-msgstr "Zasady"
-
-msgid "Port Monitor"
-msgstr "Monitor portów"
-
-msgid "PostScript Printer"
-msgstr "Drukarka PostScriptowa"
-
-msgid "Postcard"
-msgstr "Kartka pocztowa"
-
-msgid "Postcard Double "
-msgstr ""
-
-msgid "Postcard Double Long Edge"
-msgstr ""
-
-msgid "Postcard Long Edge"
-msgstr ""
-
-msgid "Print Density"
-msgstr "Gęstość druku"
-
-msgid "Print Job:"
-msgstr "Zlecenie drukowania:"
-
-msgid "Print Mode"
-msgstr "Tryb drukowania"
-
-msgid "Print Rate"
-msgstr "Prędkość drukowania"
-
-msgid "Print Self-Test Page"
-msgstr "Drukuj stronę testową"
-
-msgid "Print Speed"
-msgstr "Prędkość druku"
-
-msgid "Print Test Page"
-msgstr "Wydrukuj stronę próbną"
-
-msgid "Print and Cut"
-msgstr "Drukuj i obetnij"
-
-msgid "Print and Tear"
-msgstr "Drukuj i oderwij"
-
-#, c-format
-msgid "Print file accepted - job ID %d."
-msgstr ""
-
-msgid "Print file accepted - job ID unknown."
-msgstr ""
-
-msgid "Print file sent."
-msgstr ""
-
-msgid "Print file was not accepted."
-msgstr ""
-
-msgid "Print job too large."
-msgstr ""
-
-msgid "Printed For: "
-msgstr "Druk dla: "
-
-msgid "Printed From: "
-msgstr "Druk z: "
-
-msgid "Printed On: "
-msgstr "Druk na: "
-
-msgid "Printer Added"
-msgstr "Dodano drukarkę"
-
-msgid "Printer Default"
-msgstr "Domyślna drukarka"
-
-msgid "Printer Deleted"
-msgstr "Usunięto drukarkę"
-
-msgid "Printer Modified"
-msgstr "Zmieniono drukarkę"
-
-msgid "Printer Name: "
-msgstr "Nazwa drukarki: "
-
-msgid "Printer Paused"
-msgstr "Drukarka wstrzymana"
-
-msgid "Printer Settings"
-msgstr "Ustawienia drukarki"
-
-msgid "Printer busy, will retry in 10 seconds."
-msgstr ""
-
-msgid "Printer busy; will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer did not respond."
-msgstr ""
-
-#, c-format
-msgid "Printer does not support IPP/%d.%d, trying IPP/%s."
-msgstr ""
-
-msgid "Printer is busy, will retry in 5 seconds."
-msgstr ""
-
-msgid "Printer is not currently connected."
-msgstr ""
-
-msgid "Printer is now connected."
-msgstr ""
-
-msgid "Printer is now online."
-msgstr ""
-
-msgid "Printer is offline."
-msgstr ""
-
-msgid "Printer not connected, will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer not connected; will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer:"
-msgstr "Drukarka:"
-
-msgid "Printers"
-msgstr "Drukarki"
-
-#, c-format
-msgid "Printing page %d, %d%% complete."
-msgstr ""
-
-#, c-format
-msgid "Printing page %d."
-msgstr ""
-
-msgid "Purge Jobs"
-msgstr "Wyczyść zlecenia"
-
-msgid "Quarto"
-msgstr "Quarto"
-
-msgid "Quota limit reached."
-msgstr "Przekroczono limit miejsca."
-
-msgid "Rank    Owner   Job     File(s)                         Total Size"
-msgstr ""
-
-#. TRANSLATORS: Pri is job priority.
-msgid ""
-"Rank   Owner      Pri  Job        Files                       Total Size"
-msgstr ""
-
-msgid "Ready to print."
-msgstr ""
-
-msgid "Reject Jobs"
-msgstr "Odrzuć zlecenia"
-
-#, c-format
-msgid "Remote host did not accept control file (%d)."
-msgstr ""
-
-#, c-format
-msgid "Remote host did not accept data file (%d)."
-msgstr ""
-
-msgid "Reprint After Error"
-msgstr "Drukuj ponownie po błędzie"
-
-msgid "Request Entity Too Large"
-msgstr "Encja zapytania zbyt długa"
-
-msgid "Resolution"
-msgstr "Rozdzielczość"
-
-msgid "Resume Class"
-msgstr "Wznowienie klasy"
-
-msgid "Resume Printer"
-msgstr "Wznowienie drukarki"
-
-msgid "Return Address"
-msgstr "Adres nadawcy"
-
-msgid "Return Address - 3/4 x 2\""
-msgstr "Adres nadawcy - 3/4 x 2\""
-
-msgid "Rewind"
-msgstr "Przewiń"
-
-#, c-format
-msgid "Running command: %s %s -N -A %s -c '%s'"
-msgstr ""
-
-msgid "SEQUENCE uses indefinite length"
-msgstr "SEQUENCE używa nieskończonej długości"
-
-msgid "SSL/TLS Negotiation Error"
-msgstr ""
-
-msgid "See Other"
-msgstr "Zobacz inne"
-
-msgid "Sending data to printer."
-msgstr ""
-
-#, c-format
-msgid "Serial Port #%d"
-msgstr "Port szeregowy #%d"
-
-msgid "Server Restarted"
-msgstr "Uruchomiono serwer ponownie"
-
-msgid "Server Security Auditing"
-msgstr "Sprawdzenie bezpieczeństwa serwera"
-
-msgid "Server Started"
-msgstr "Uruchomiono serwer"
-
-msgid "Server Stopped"
-msgstr "Zatrzymano serwer"
-
-msgid "Service Unavailable"
-msgstr "Usługa niedostępna"
-
-msgid "Set Allowed Users"
-msgstr "Ustaw dozwolonych użytkowników"
-
-msgid "Set As Server Default"
-msgstr "Ustaw jako domyślne serwera"
-
-msgid "Set Class Options"
-msgstr "Ustaw opcje klasy"
-
-msgid "Set Printer Options"
-msgstr "Ustaw opcje drukarki"
-
-msgid "Set Publishing"
-msgstr "Ustaw publikowanie"
-
-msgid "Shipping Address"
-msgstr "Adres wysyłki"
-
-msgid "Shipping Address - 2 5/16 x 4\""
-msgstr "Adres wysyłki - 2 5/16 x 4\""
-
-msgid "Short-Edge (Landscape)"
-msgstr "Poziome"
-
-msgid "Special Paper"
-msgstr "Papier specjalny"
-
-#, c-format
-msgid "Spooling job, %.0f%% complete."
-msgstr ""
-
-msgid "Standard"
-msgstr "Standardowy"
-
-#. TRANSLATORS: Banner/cover sheet before the print job.
-msgid "Starting Banner"
-msgstr "Uruchamiam baner"
-
-#, c-format
-msgid "Starting page %d."
-msgstr ""
-
-msgid "Statement"
-msgstr "Stwierdzenie"
-
-msgid "Stylus Color Series"
-msgstr "Stylus Color Series"
-
-msgid "Stylus Photo Series"
-msgstr "Stylus Photo Series"
-
-#, c-format
-msgid "Subscription #%d does not exist."
-msgstr ""
-
-msgid "Super A"
-msgstr "Super A"
-
-msgid "Super B"
-msgstr "Super B"
-
-msgid "Super B/A3"
-msgstr "Super B/A3"
-
-msgid "Switching Protocols"
-msgstr "Przełączanie protokołów"
-
-msgid "Tabloid"
-msgstr "Tabloid"
-
-msgid "Tabloid Oversize"
-msgstr ""
-
-msgid "Tabloid Oversize Long Edge"
-msgstr ""
-
-msgid "Tear"
-msgstr "Tear"
-
-msgid "Tear-Off"
-msgstr "Tear-Off"
-
-msgid "Tear-Off Adjust Position"
-msgstr "Korekcja pozycji odrywania"
-
-#, c-format
-msgid "The %s attribute cannot be provided with job-ids."
-msgstr ""
-
-#, c-format
-msgid "The PPD file \"%s\" could not be found."
-msgstr "Nie można znaleźć pliku PPD \"%s\"."
-
-#, c-format
-msgid "The PPD file \"%s\" could not be opened: %s"
-msgstr "Nie można otworzyć pliku PPD \"%s\": %s"
-
-msgid "The PPD file could not be opened."
-msgstr ""
-
-msgid ""
-"The class name may only contain up to 127 printable characters and may not "
-"contain spaces, slashes (/), or the pound sign (#)."
-msgstr ""
-"Nazwa klasy może zawierać tylko do 127 drukowalnych znaków i nie może "
-"zawierać spacji, ukośników (/) lub znaku #."
-
-msgid "The developer unit needs to be replaced."
-msgstr ""
-
-msgid "The developer unit will need to be replaced soon."
-msgstr ""
-
-msgid "The fuser's temperature is high."
-msgstr ""
-
-msgid "The fuser's temperature is low."
-msgstr ""
-
-msgid ""
-"The notify-lease-duration attribute cannot be used with job subscriptions."
-msgstr ""
-"Cecha notify-lease-duration nie może być używana z subskrypcjami zadań."
-
-#, c-format
-msgid "The notify-user-data value is too large (%d > 63 octets)."
-msgstr ""
-
-msgid "The optical photoconductor needs to be replaced."
-msgstr ""
-
-msgid "The optical photoconductor will need to be replaced soon."
-msgstr ""
-
-msgid "The output bin is almost full."
-msgstr ""
-
-msgid "The output bin is full."
-msgstr ""
-
-msgid "The output bin is missing."
-msgstr ""
-
-msgid "The page setup information was not valid."
-msgstr ""
-
-msgid "The paper tray is almost empty."
-msgstr ""
-
-msgid "The paper tray is empty."
-msgstr ""
-
-msgid "The paper tray is missing."
-msgstr ""
-
-msgid "The paper tray needs to be filled."
-msgstr ""
-
-msgid "The print file could not be opened."
-msgstr ""
-
-msgid "The printer URI is incorrect or no longer exists."
-msgstr ""
-
-msgid "The printer is busy."
-msgstr ""
-
-msgid "The printer is not connected."
-msgstr ""
-
-msgid "The printer is not responding."
-msgstr ""
-
-msgid "The printer is out of ink."
-msgstr ""
-
-msgid "The printer is running low on ink."
-msgstr ""
-
-msgid "The printer is running low on toner."
-msgstr ""
-
-msgid "The printer is unreachable at this time."
-msgstr ""
-
-msgid "The printer may be out of toner."
-msgstr ""
-
-msgid "The printer may not exist or is unavailable at this time."
-msgstr ""
-
-msgid ""
-"The printer name may only contain up to 127 printable characters and may not "
-"contain spaces, slashes (/), or the pound sign (#)."
-msgstr ""
-"Nazwa drukarki może zawierać tylko do 127 drukowalnych znaków i nie może "
-"zawierać spacji, ukośników (/) lub znaku #."
-
-msgid "The printer or class does not exist."
-msgstr ""
-
-msgid "The printer or class is not shared."
-msgstr ""
-
-msgid "The printer's cover is open."
-msgstr ""
-
-msgid "The printer's door is open."
-msgstr ""
-
-msgid "The printer's interlock is open."
-msgstr ""
-
-msgid "The printer's waste bin is almost full."
-msgstr ""
-
-msgid "The printer's waste bin is full."
-msgstr ""
-
-#, c-format
-msgid "The printer-uri \"%s\" contains invalid characters."
-msgstr "printer-uri \"%s\" zawiera nieprawidłowe znaki."
-
-msgid "The printer-uri attribute is required."
-msgstr ""
-
-msgid ""
-"The printer-uri must be of the form \"ipp://HOSTNAME/classes/CLASSNAME\"."
-msgstr ""
-"printer-uri musi być w formie \"ipp://NAZWA_KOMPUTERA/classes/NAZWA_KLASY\"."
-
-msgid ""
-"The printer-uri must be of the form \"ipp://HOSTNAME/printers/PRINTERNAME\"."
-msgstr ""
-"printer-uri musi być w formie \"ipp://NAZWA_KOMPUTERA/printers/NAZWA_DRUKARKI"
-"\"."
-
-msgid ""
-"The subscription name may not contain spaces, slashes (/), question marks "
-"(?), or the pound sign (#)."
-msgstr ""
-"Nazwa subskrypcji nie może zawierać spacji, ukośników (/), pytajników (?) "
-"lub znaku #."
-
-msgid ""
-"The web interface is currently disabled. Run \"cupsctl WebInterface=yes\" to "
-"enable it."
-msgstr ""
-
-#, c-format
-msgid "The which-jobs value \"%s\" is not supported."
-msgstr ""
-
-msgid "There are too many subscriptions."
-msgstr "Jest zbyt wiele subskrypcji."
-
-msgid "There is a paper jam."
-msgstr ""
-
-msgid "There was an unrecoverable USB error."
-msgstr ""
-
-msgid "Thermal Transfer Media"
-msgstr "Nośnik druku termicznego"
-
-msgid "Title: "
-msgstr "Tytuł: "
-
-msgid "Too many active jobs."
-msgstr "Za dużo aktywnych zadań."
-
-#, c-format
-msgid "Too many job-sheets values (%d > 2)."
-msgstr ""
-
-#, c-format
-msgid "Too many printer-state-reasons values (%d > %d)."
-msgstr ""
-
-msgid "Transparency"
-msgstr "Przezroczystość"
-
-msgid "Tray"
-msgstr "Podajnik"
-
-msgid "Tray 1"
-msgstr "Podajnik 1"
-
-msgid "Tray 2"
-msgstr "Podajnik 2"
-
-msgid "Tray 3"
-msgstr "Podajnik 3"
-
-msgid "Tray 4"
-msgstr "Podajnik 4"
-
-msgid "URI Too Long"
-msgstr "Zbyt długi URI"
-
-msgid "US Ledger"
-msgstr "US Ledger"
-
-msgid "US Legal"
-msgstr "US Legal"
-
-msgid "US Legal Oversize"
-msgstr ""
-
-msgid "US Letter"
-msgstr "US Letter"
-
-msgid "US Letter Long Edge"
-msgstr ""
-
-msgid "US Letter Oversize"
-msgstr ""
-
-msgid "US Letter Oversize Long Edge"
-msgstr ""
-
-msgid "US Letter Small"
-msgstr ""
-
-#, c-format
-msgid "USB Serial Port #%d"
-msgstr "Port szeregowy USB #%d"
-
-msgid "Unable to access cupsd.conf file:"
-msgstr "Nie można uzyskać dostępu do pliku cupsd.conf:"
-
-msgid "Unable to add RSS subscription:"
-msgstr "Nie można dodać subskrypcji RSS:"
-
-msgid "Unable to add class:"
-msgstr "Nie można dodać klasy:"
-
-msgid "Unable to add document to print job."
-msgstr ""
-
-#, c-format
-msgid "Unable to add job for destination \"%s\"."
-msgstr ""
-
-msgid "Unable to add printer:"
-msgstr "Nie można dodać drukarki:"
-
-msgid "Unable to allocate memory for file types."
-msgstr ""
-
-msgid "Unable to allocate memory for page info"
-msgstr ""
-
-msgid "Unable to allocate memory for pages array"
-msgstr ""
-
-msgid "Unable to cancel RSS subscription:"
-msgstr "Nie można wycofać subskrypcji RSS:"
-
-msgid "Unable to cancel print job."
-msgstr ""
-
-msgid "Unable to change printer-is-shared attribute:"
-msgstr "Nie można zmienić cechy printer-is-shared:"
-
-msgid "Unable to change printer:"
-msgstr "Nie można zmienić drukarki:"
-
-msgid "Unable to change server settings:"
-msgstr "Nie można zmienić ustawień serwera:"
-
-msgid "Unable to configure printer options."
-msgstr ""
-
-msgid "Unable to connect to host."
-msgstr "Nie można połączyć się z hostem."
-
-msgid "Unable to contact printer, queuing on next printer in class."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy 64-bit CUPS printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy 64-bit Windows printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy CUPS printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy PPD file - %s"
-msgstr ""
-
-msgid "Unable to copy PPD file."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy Windows 2000 printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy Windows 9x printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy interface script - %s"
-msgstr ""
-
-msgid "Unable to copy print file"
-msgstr ""
-
-msgid "Unable to create compressed print file"
-msgstr ""
-
-msgid "Unable to create pipes for filters"
-msgstr ""
-
-msgid "Unable to create printer-uri"
-msgstr ""
-
-msgid "Unable to create temporary file"
-msgstr ""
-
-msgid "Unable to create temporary file:"
-msgstr "Nie można utworzyć pliku tymczasowego:"
-
-msgid "Unable to delete class:"
-msgstr "Nie można usunąć klasy:"
-
-msgid "Unable to delete printer:"
-msgstr "Nie można usunąć drukarki:"
-
-msgid "Unable to do maintenance command:"
-msgstr "Nie można wykonać polecenia konserwacji:"
-
-msgid "Unable to edit cupsd.conf files larger than 1MB"
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (certificate chain invalid)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (certificate not yet valid)."
-msgstr ""
-
-msgid "Unable to establish a secure connection to host (expired certificate)."
-msgstr ""
-
-msgid "Unable to establish a secure connection to host (host name mismatch)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (peer dropped connection "
-"before responding)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (self-signed certificate)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (untrusted certificate)."
-msgstr ""
-
-msgid "Unable to establish a secure connection to host."
-msgstr ""
-
-msgid "Unable to find destination for job"
-msgstr ""
-
-msgid "Unable to find printer."
-msgstr ""
-
-msgid "Unable to fork filter"
-msgstr ""
-
-msgid "Unable to generate compressed print file"
-msgstr ""
-
-msgid "Unable to get backend exit status."
-msgstr ""
-
-msgid "Unable to get class list:"
-msgstr "Nie można uzyskać listy klas:"
-
-msgid "Unable to get class status:"
-msgstr "Nie można uzyskać statusu klasy:"
-
-msgid "Unable to get list of printer drivers:"
-msgstr "Nie można uzyskać listy sterowników drukarek:"
-
-msgid "Unable to get printer attributes:"
-msgstr "Nie można uzyskać cech drukarki:"
-
-msgid "Unable to get printer list:"
-msgstr "Nie można uzyskać listy drukarek:"
-
-msgid "Unable to get printer status."
-msgstr ""
-
-msgid "Unable to get printer status:"
-msgstr "Nie można uzyskać statusu drukarki:"
-
-#, c-format
-msgid "Unable to install Windows 2000 printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to install Windows 9x printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to locate printer \"%s\"."
-msgstr ""
-
-msgid "Unable to locate printer."
-msgstr ""
-
-msgid "Unable to modify class:"
-msgstr "Nie można zmienić klasy:"
-
-msgid "Unable to modify printer:"
-msgstr "Nie można zmienić drukarki:"
-
-msgid "Unable to move job"
-msgstr "Nie można przenieść zlecenia"
-
-msgid "Unable to move jobs"
-msgstr "Nie można przenieść zadań"
-
-msgid "Unable to open PPD file"
-msgstr "Nie można otworzyć pliku PPD"
-
-msgid "Unable to open PPD file:"
-msgstr "Nie można otworzyć pliku PPD:"
-
-msgid "Unable to open charset file"
-msgstr ""
-
-msgid "Unable to open compressed print file"
-msgstr ""
-
-msgid "Unable to open cupsd.conf file:"
-msgstr "Nie można otworzyć pliku cupsd.conf:"
-
-msgid "Unable to open device file"
-msgstr ""
-
-#, c-format
-msgid "Unable to open document #%d in job #%d."
-msgstr ""
-
-msgid "Unable to open print file"
-msgstr ""
-
-msgid "Unable to open psglyphs"
-msgstr ""
-
-msgid "Unable to open raster file"
-msgstr ""
-
-#, c-format
-msgid "Unable to print %d text columns."
-msgstr ""
-
-#, c-format
-msgid "Unable to print %dx%d text page."
-msgstr ""
-
-msgid "Unable to print test page:"
-msgstr "Nie można wydrukować strony testowej:"
-
-msgid "Unable to read print data"
-msgstr ""
-
-msgid "Unable to read print data."
-msgstr ""
-
-#, c-format
-msgid "Unable to run \"%s\": %s"
-msgstr ""
-
-msgid "Unable to see in file"
-msgstr ""
-
-msgid "Unable to send command to printer driver"
-msgstr ""
-
-msgid "Unable to send data to printer."
-msgstr ""
-
-msgid "Unable to send raster data to the driver."
-msgstr ""
-
-#, c-format
-msgid "Unable to set Windows printer driver (%d)."
-msgstr ""
-
-msgid "Unable to set options:"
-msgstr "Nie można ustawić opcji:"
-
-msgid "Unable to set server default:"
-msgstr "Nie można ustalić domyślnych parametrów serwera:"
-
-msgid "Unable to start backend process."
-msgstr ""
-
-msgid "Unable to upload cupsd.conf file:"
-msgstr "Nie można wysłać pliku cupsd.conf:"
-
-msgid "Unable to use legacy USB class driver."
-msgstr ""
-
-msgid "Unable to write print data"
-msgstr ""
-
-#, c-format
-msgid "Unable to write uncompressed print data: %s"
-msgstr ""
-
-msgid "Unauthorized"
-msgstr "Brak uwierzytelnienia"
-
-msgid "Units"
-msgstr "Jednostki"
-
-msgid "Unknown"
-msgstr "Nieznane"
-
-#, c-format
-msgid "Unknown choice \"%s\" for option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown encryption option value: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown file order: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown format character: \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown option \"%s\" with value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown print mode: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown printer-error-policy \"%s\"."
-msgstr "Nieznane printer-error-policy \"%s\"!"
-
-#, c-format
-msgid "Unknown printer-op-policy \"%s\"."
-msgstr "Nieznane printer-op-policy \"%s\"."
-
-#, c-format
-msgid "Unknown version option value: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported baud rate: %s"
-msgstr ""
-
-#, c-format
-msgid "Unsupported brightness value %s, using brightness=100."
-msgstr ""
-
-#, c-format
-msgid "Unsupported character set \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported compression \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported document-format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported document-format \"%s/%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported gamma value %s, using gamma=1000."
-msgstr ""
-
-msgid "Unsupported margins."
-msgstr ""
-
-msgid "Unsupported media value."
-msgstr ""
-
-#, c-format
-msgid "Unsupported number-up value %d, using number-up=1."
-msgstr ""
-
-#, c-format
-msgid "Unsupported number-up-layout value %s, using number-up-layout=lrtb."
-msgstr ""
-
-#, c-format
-msgid "Unsupported page-border value %s, using page-border=none."
-msgstr ""
-
-msgid "Unsupported raster data."
-msgstr ""
-
-msgid "Unsupported value type"
-msgstr "Nieobsługiwany rodzaj wartości"
-
-msgid "Upgrade Required"
-msgstr "Wymagane uaktualnienie"
-
-msgid ""
-"Usage:\n"
-"\n"
-"    lpadmin [-h server] -d destination\n"
-"    lpadmin [-h server] -x destination\n"
-"    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m model]\n"
-"                       [-r remove-class] [-v device] [-D description]\n"
-"                       [-P ppd-file] [-o name=value]\n"
-"                       [-u allow:user,user] [-u deny:user,user]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job user title copies options [filename]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job-id user title copies options [file]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job-id user title copies options file"
-msgstr ""
-
-msgid "Usage: convert [ options ]"
-msgstr ""
-
-msgid "Usage: cupsaddsmb [options] printer1 ... printerN"
-msgstr ""
-
-msgid "Usage: cupsctl [options] [param=value ... paramN=valueN]"
-msgstr ""
-
-msgid "Usage: cupsd [options]"
-msgstr ""
-
-msgid "Usage: cupsfilter [ options ] filename"
-msgstr ""
-
-msgid "Usage: cupstestdsc [options] filename.ps [... filename.ps]"
-msgstr ""
-
-msgid ""
-"Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]"
-msgstr ""
-
-msgid "Usage: ipptool [options] URI filename [ ... filenameN ]"
-msgstr ""
-
-msgid "Usage: lpmove job/src dest"
-msgstr ""
-
-msgid ""
-"Usage: lpoptions [-h server] [-E] -d printer\n"
-"       lpoptions [-h server] [-E] [-p printer] -l\n"
-"       lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
-"       lpoptions [-h server] [-E] -x printer"
-msgstr ""
-
-msgid "Usage: lppasswd [-g groupname]"
-msgstr ""
-
-msgid ""
-"Usage: lppasswd [-g groupname] [username]\n"
-"       lppasswd [-g groupname] -a [username]\n"
-"       lppasswd [-g groupname] -x [username]"
-msgstr ""
-
-msgid ""
-"Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]"
-msgstr ""
-
-msgid "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]"
-msgstr ""
-
-msgid "Usage: ppdhtml [options] filename.drv >filename.html"
-msgstr ""
-
-msgid "Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]"
-msgstr ""
-
-msgid "Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]"
-msgstr ""
-
-msgid ""
-"Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]"
-msgstr ""
-
-msgid "Usage: snmp [host-or-ip-address]"
-msgstr ""
-
-msgid "Value uses indefinite length"
-msgstr "Wartość używa nieskończonej długości"
-
-msgid "VarBind uses indefinite length"
-msgstr "VarBind używa nieskończonej długości"
-
-msgid "Version uses indefinite length"
-msgstr "Version używa nieskończonej długości"
-
-msgid "Waiting for job to complete."
-msgstr ""
-
-msgid "Waiting for printer to become available."
-msgstr ""
-
-msgid "Waiting for printer to finish."
-msgstr ""
-
-msgid "Warning, no Windows 2000 printer drivers are installed."
-msgstr ""
-
-msgid "Web Interface is Disabled"
-msgstr ""
-
-msgid "Yes"
-msgstr "Tak"
-
-#, c-format
-msgid ""
-"You must access this page using the URL <A HREF=\"https://%s:%d%s\">https://%"
-"s:%d%s</A>."
-msgstr ""
-"Aby uzyskać dostęp do tej strony, użyj URL <A HREF=\"https://%s:%d%s"
-"\">https://%s:%d%s</A>."
-
-msgid ""
-"Your password must be at least 6 characters long, cannot contain your "
-"username, and must contain at least one letter and number."
-msgstr ""
-
-msgid "ZPL Label Printer"
-msgstr "Drukarka etykiet ZPL"
-
-msgid "Zebra"
-msgstr "Zebra"
-
-msgid "aborted"
-msgstr "przerwane"
-
-msgid "canceled"
-msgstr "anulowane"
-
-msgid "completed"
-msgstr "zakończone"
-
-msgid "convert: Use the -f option to specify a file to convert."
-msgstr ""
-
-msgid "cups-deviced failed to execute."
-msgstr "Nie powiodło się wykonanie cups-deviced."
-
-msgid "cups-driverd failed to execute."
-msgstr "Nie powiodło się wykonanie cups-driverd."
-
-#, c-format
-msgid "cupsaddsmb: No PPD file for printer \"%s\" - %s"
-msgstr ""
-
-msgid "cupsctl: Cannot set Listen or Port directly."
-msgstr ""
-
-#, c-format
-msgid "cupsctl: Unable to connect to server: %s"
-msgstr ""
-
-#, c-format
-msgid "cupsctl: Unknown option \"%s\""
-msgstr ""
-
-#, c-format
-msgid "cupsctl: Unknown option \"-%c\""
-msgstr ""
-
-msgid "cupsd: Expected config filename after \"-c\" option."
-msgstr ""
-
-msgid "cupsd: Unable to get current directory."
-msgstr ""
-
-#, c-format
-msgid "cupsd: Unknown argument \"%s\" - aborting."
-msgstr ""
-
-#, c-format
-msgid "cupsd: Unknown option \"%c\" - aborting."
-msgstr ""
-
-msgid "cupsd: launchd(8) support not compiled in, running in normal mode."
-msgstr ""
-
-#, c-format
-msgid "cupsfilter: Invalid document number %d."
-msgstr ""
-
-#, c-format
-msgid "cupsfilter: Invalid job ID %d."
-msgstr ""
-
-msgid "cupsfilter: Only one filename can be specified."
-msgstr ""
-
-#, c-format
-msgid "cupsfilter: Unable to get job file - %s"
-msgstr ""
-
-msgid "cupstestppd: The -q option is incompatible with the -v option."
-msgstr ""
-
-msgid "cupstestppd: The -v option is incompatible with the -q option."
-msgstr ""
-
-#, c-format
-msgid "device for %s/%s: %s"
-msgstr ""
-
-#, c-format
-msgid "device for %s: %s"
-msgstr ""
-
-msgid "error-index uses indefinite length"
-msgstr "error-index używa nieskończonej długości"
-
-msgid "error-status uses indefinite length"
-msgstr "error-status używa nieskończonej długości"
-
-msgid "held"
-msgstr "wstrzymane"
-
-msgid "help\t\tGet help on commands."
-msgstr ""
-
-msgid "idle"
-msgstr "bezczynna"
-
-msgid "ipptool: \"-i\" and \"-n\" are incompatible with -X\"."
-msgstr ""
-
-msgid "ipptool: \"-i\" is incompatible with \"-X\"."
-msgstr ""
-
-msgid "ipptool: \"-n\" is incompatible with \"-X\"."
-msgstr ""
-
-#, c-format
-msgid "ipptool: Bad URI - %s."
-msgstr ""
-
-#, c-format
-msgid "ipptool: Bad version %s for \"-V\"."
-msgstr ""
-
-msgid "ipptool: Invalid seconds for \"-i\"."
-msgstr ""
-
-msgid "ipptool: May only specify a single URI."
-msgstr ""
-
-msgid "ipptool: Missing count for \"-n\"."
-msgstr ""
-
-msgid "ipptool: Missing filename for \"-f\"."
-msgstr ""
-
-msgid "ipptool: Missing name=value for \"-d\"."
-msgstr ""
-
-msgid "ipptool: Missing seconds for \"-i\"."
-msgstr ""
-
-msgid "ipptool: Missing timeout for \"-T\"."
-msgstr ""
-
-msgid "ipptool: Missing version for \"-V\"."
-msgstr ""
-
-msgid "ipptool: URI required before test file."
-msgstr ""
-
-#, c-format
-msgid "ipptool: Unknown option \"-%c\"."
-msgstr ""
-
-msgid "job-printer-uri attribute missing."
-msgstr ""
-
-msgid "lpadmin: Class name can only contain printable characters."
-msgstr ""
-
-msgid "lpadmin: Expected PPD after \"-P\" option."
-msgstr ""
-
-msgid "lpadmin: Expected allow/deny:userlist after \"-u\" option."
-msgstr ""
-
-msgid "lpadmin: Expected class after \"-r\" option."
-msgstr ""
-
-msgid "lpadmin: Expected class name after \"-c\" option."
-msgstr ""
-
-msgid "lpadmin: Expected description after \"-D\" option."
-msgstr ""
-
-msgid "lpadmin: Expected device URI after \"-v\" option."
-msgstr ""
-
-msgid "lpadmin: Expected file type(s) after \"-I\" option."
-msgstr ""
-
-msgid "lpadmin: Expected hostname after \"-h\" option."
-msgstr ""
-
-msgid "lpadmin: Expected interface after \"-i\" option."
-msgstr ""
-
-msgid "lpadmin: Expected location after \"-L\" option."
-msgstr ""
-
-msgid "lpadmin: Expected model after \"-m\" option."
-msgstr ""
-
-msgid "lpadmin: Expected name after \"-R\" option."
-msgstr ""
-
-msgid "lpadmin: Expected name=value after \"-o\" option."
-msgstr ""
-
-msgid "lpadmin: Expected printer after \"-p\" option."
-msgstr ""
-
-msgid "lpadmin: Expected printer name after \"-d\" option."
-msgstr ""
-
-msgid "lpadmin: Expected printer or class after \"-x\" option."
-msgstr ""
-
-msgid "lpadmin: No member names were seen."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Printer %s is already a member of class %s."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Printer %s is not a member of class %s."
-msgstr ""
-
-msgid "lpadmin: Printer name can only contain printable characters."
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to add a printer to the class:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unable to connect to server: %s"
-msgstr ""
-
-msgid "lpadmin: Unable to create temporary file"
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to delete option:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unable to open PPD file \"%s\" - %s"
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to remove a printer from the class:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to set the printer options:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unknown allow/deny option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unknown argument \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unknown option \"%c\"."
-msgstr ""
-
-msgid "lpadmin: Warning - content type list ignored."
-msgstr ""
-
-msgid "lpc> "
-msgstr "lpc> "
-
-msgid "lpinfo: Expected 1284 device ID string after \"--device-id\"."
-msgstr ""
-
-msgid "lpinfo: Expected language after \"--language\"."
-msgstr ""
-
-msgid "lpinfo: Expected make and model after \"--make-and-model\"."
-msgstr ""
-
-msgid "lpinfo: Expected product string after \"--product\"."
-msgstr ""
-
-msgid "lpinfo: Expected scheme list after \"--exclude-schemes\"."
-msgstr ""
-
-msgid "lpinfo: Expected scheme list after \"--include-schemes\"."
-msgstr ""
-
-msgid "lpinfo: Expected timeout after \"--timeout\"."
-msgstr ""
-
-#, c-format
-msgid "lpinfo: Unknown argument \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpinfo: Unknown option \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "lpinfo: Unknown option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpmove: Unable to connect to server: %s"
-msgstr ""
-
-#, c-format
-msgid "lpmove: Unknown argument \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpmove: Unknown option \"%c\"."
-msgstr ""
-
-msgid "lpoptions: No printers."
-msgstr ""
-
-#, c-format
-msgid "lpoptions: Unable to add printer or instance: %s"
-msgstr ""
-
-#, c-format
-msgid "lpoptions: Unable to get PPD file for %s: %s"
-msgstr ""
-
-#, c-format
-msgid "lpoptions: Unable to open PPD file for %s."
-msgstr ""
-
-msgid "lpoptions: Unknown printer or class."
-msgstr ""
-
-msgid "lppasswd: Only root can add or delete passwords."
-msgstr ""
-
-msgid "lppasswd: Password file busy."
-msgstr ""
-
-msgid "lppasswd: Password file not updated."
-msgstr ""
-
-msgid "lppasswd: Sorry, password doesn't match."
-msgstr ""
-
-msgid "lppasswd: Sorry, password rejected."
-msgstr ""
-
-msgid "lppasswd: Sorry, passwords don't match."
-msgstr ""
-
-#, c-format
-msgid "lppasswd: Unable to copy password string: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: Unable to open password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: Unable to write to password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: failed to backup old password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: failed to rename password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: user \"%s\" and group \"%s\" do not exist."
-msgstr ""
-
-#, c-format
-msgid ""
-"lpstat: error - %s environment variable names non-existent destination \"%s"
-"\"."
-msgstr ""
-
-#, c-format
-msgid "members of class %s:"
-msgstr ""
-
-msgid "no entries"
-msgstr ""
-
-msgid "no system default destination"
-msgstr ""
-
-msgid "notify-events not specified."
-msgstr ""
-
-#, c-format
-msgid "notify-recipient-uri URI \"%s\" is already used."
-msgstr ""
-
-#, c-format
-msgid "notify-recipient-uri URI \"%s\" uses unknown scheme."
-msgstr ""
-
-msgid "pending"
-msgstr "oczekujące"
-
-#, c-format
-msgid "ppdc: Adding include directory \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Adding/updating UI text from %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad boolean value (%s) on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad font attribute: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad resolution name \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad status keyword %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad variable substitution ($%c) on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Choice found on line %d of %s with no Option."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Duplicate #po for locale %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected a filter definition on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected a program name on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected boolean value on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected charset after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected choice code on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected choice name/text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected color order for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected colorspace for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected compression for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected constraints string for UIConstraints on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Expected driver type keyword following DriverType on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected duplex type after Duplex on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected encoding after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected filename after #po %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected group name/text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected include filename on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected integer on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected locale after #po on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after FileName on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after Manufacturer on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after MediaSize on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after ModelName on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after PCFileName on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text after Installable on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text after Resolution on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text combination for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected option name/text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected option section on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected option type on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected override field after Resolution on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected quoted string on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected real number on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Expected resolution/mediatype following ColorProfile on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Expected resolution/mediatype following SimpleColorProfile on line %d "
-"of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected selector after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected status after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected string after Copyright on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected string after Version on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected two option names on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected value after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected version after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid #include/#po filename \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid cost for filter on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid empty MIME type for filter on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid empty program name for filter on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid option section \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid option type \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Loading driver information file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Loading messages for locale \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Loading messages from \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Missing #endif at end of \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Missing #if on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Need a msgid line before any translation strings on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: No message catalog provided for locale %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Option %s defined in two different groups on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Option %s redefined with a different type on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Option constraint must *name on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Too many nested #if's on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to create PPD file \"%s\" - %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to create output directory %s: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to create output pipes: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to execute cupstestppd: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to find #po file %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to find include file \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to find localization for \"%s\" - %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to load localization file \"%s\" - %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to open %s: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Undefined variable (%s) on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unexpected text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown driver type %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown media size \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown message catalog format for \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown token \"%s\" seen on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Unknown trailing characters in real number \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unterminated string starting with %c on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Warning - overlapping filename \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Writing %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Writing PPD files to directory \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s."
-msgstr ""
-
-#, c-format
-msgid "ppdmerge: Ignoring PPD file %s."
-msgstr ""
-
-#, c-format
-msgid "ppdmerge: Unable to backup %s to %s - %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s disabled since %s -"
-msgstr ""
-
-#, c-format
-msgid "printer %s is idle.  enabled since %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s now printing %s-%d.  enabled since %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s/%s disabled since %s -"
-msgstr ""
-
-#, c-format
-msgid "printer %s/%s is idle.  enabled since %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s/%s now printing %s-%d.  enabled since %s"
-msgstr ""
-
-msgid "processing"
-msgstr "przetwarzane"
-
-#, c-format
-msgid "request id is %s-%d (%d file(s))"
-msgstr ""
-
-msgid "request-id uses indefinite length"
-msgstr "request-id używa nieskończonej długości"
-
-msgid "scheduler is not running"
-msgstr ""
-
-msgid "scheduler is running"
-msgstr ""
-
-#, c-format
-msgid "stat of %s failed: %s"
-msgstr "użycie stat z %s nie powiodło się: %s"
-
-msgid "status\t\tShow status of daemon and queue."
-msgstr ""
-
-msgid "stopped"
-msgstr "zlecenie zatrzymane"
-
-#, c-format
-msgid "system default destination: %s"
-msgstr ""
-
-#, c-format
-msgid "system default destination: %s/%s"
-msgstr ""
-
-msgid "unknown"
-msgstr "nieznane"
-
-msgid "untitled"
-msgstr "nienazwane"
-
-msgid "variable-bindings uses indefinite length"
-msgstr "variable-bindings używa nieskończonej długości"
-
-#~ msgid "\t\t(all)\n"
-#~ msgstr "\t\t(wszystko)\n"
-
-#~ msgid "\t\t(none)\n"
-#~ msgstr "\t\t(brak)\n"
-
-#~ msgid "\t%d entries\n"
-#~ msgstr "\t%d wpisów\n"
-
-#~ msgid "\tAfter fault: continue\n"
-#~ msgstr "\tPo niepowodzeniu: kontynuuj\n"
-
-#~ msgid "\tAlerts:"
-#~ msgstr "\tAlarmy:"
-
-#~ msgid "\tBanner required\n"
-#~ msgstr "\tBanner jest wymagany\n"
-
-#~ msgid "\tCharset sets:\n"
-#~ msgstr "\tZestawy znaków:\n"
-
-#~ msgid "\tConnection: direct\n"
-#~ msgstr "\tPołączenie: bezpośrednie\n"
-
-#~ msgid "\tConnection: remote\n"
-#~ msgstr "\tPołączenie: zdalne\n"
-
-#~ msgid "\tDefault page size:\n"
-#~ msgstr "\tDomyślny rozmiar strony:\n"
-
-#~ msgid "\tDefault pitch:\n"
-#~ msgstr "\tDomyślny stopień:\n"
-
-#~ msgid "\tDefault port settings:\n"
-#~ msgstr "\tDomyślne ustawienia portu:\n"
-
-#~ msgid "\tDescription: %s\n"
-#~ msgstr "\tOpis: %s\n"
-
-#~ msgid ""
-#~ "\tForm mounted:\n"
-#~ "\tContent types: any\n"
-#~ "\tPrinter types: unknown\n"
-#~ msgstr ""
-#~ "\tFormularz zamontowany od:\n"
-#~ "\tRodzaje zawartości: dowolne\n"
-#~ "\tRodzaje drukarek: nieznane\n"
-
-#~ msgid "\tForms allowed:\n"
-#~ msgstr "\tDozwolone formularze:\n"
-
-#~ msgid "\tInterface: %s.ppd\n"
-#~ msgstr "\tInterfejs: %s.ppd\n"
-
-#~ msgid "\tInterface: %s/interfaces/%s\n"
-#~ msgstr "\tInterfejs: %s/interfejsy/%s\n"
-
-#~ msgid "\tInterface: %s/ppd/%s.ppd\n"
-#~ msgstr "\tInterfejs: %s/ppd/%s.ppd\n"
-
-#~ msgid "\tLocation: %s\n"
-#~ msgstr "\tPołożenie: %s\n"
-
-#~ msgid "\tOn fault: no alert\n"
-#~ msgstr "\tPrzy niepowodzeniu: brak alarmu\n"
-
-#~ msgid "\tUsers allowed:\n"
-#~ msgstr "\tDozwoleni użytkownicy:\n"
-
-#~ msgid "\tUsers denied:\n"
-#~ msgstr "\tZabronieni użytkownicy:\n"
-
-#~ msgid "\tdaemon present\n"
-#~ msgstr "\tdemon jest obecny\n"
-
-#~ msgid "\tno entries\n"
-#~ msgstr "\tbrak wpisów\n"
-
-#~ msgid "\tprinter is on device '%s' speed -1\n"
-#~ msgstr "\tdrukarka jest urządzeniem \"%s\" prędkość -1\n"
-
-#~ msgid "\tprinting is disabled\n"
-#~ msgstr "\tdrukowanie jest wyłączone"
-
-#~ msgid "\tprinting is enabled\n"
-#~ msgstr "\tdrukowanie jest włączone\n"
-
-#~ msgid "\tqueued for %s\n"
-#~ msgstr "\tw kolejce dla%s\n"
-
-#~ msgid "\tqueuing is disabled\n"
-#~ msgstr "\tkolejka jest wyłączona\n"
-
-#~ msgid "\tqueuing is enabled\n"
-#~ msgstr "\tkolejka jest włączona\n"
-
-#~ msgid "\treason unknown\n"
-#~ msgstr "\tnieznana przyczyna\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "    DETAILED CONFORMANCE TEST RESULTS\n"
-#~ msgstr ""
-#~ "\n"
-#~ "    SZCZEGÓŁOWE WYNIKI TESTU ZGODNOŚCI\n"
-
-#~ msgid "                REF: Page 15, section 3.1.\n"
-#~ msgstr "                REF: strona 15, sekcja 3.1.\n"
-
-#~ msgid "                REF: Page 15, section 3.2.\n"
-#~ msgstr "                REF: strona 15, sekcja 3.2.\n"
-
-#~ msgid "                REF: Page 19, section 3.3.\n"
-#~ msgstr "                REF: strona 19, sekcja 3.3.\n"
-
-#~ msgid "                REF: Page 20, section 3.4.\n"
-#~ msgstr "                REF: strona 20, sekcja 3.4.\n"
-
-#~ msgid "                REF: Page 27, section 3.5.\n"
-#~ msgstr "                REF: strona 27, sekcja 3.5.\n"
-
-#~ msgid "                REF: Page 42, section 5.2.\n"
-#~ msgstr "                REF: strona 42, sekcja 5.2.\n"
-
-#~ msgid "                REF: Pages 16-17, section 3.2.\n"
-#~ msgstr "                REF: strony 16-17, sekcja 3.2.\n"
-
-#~ msgid "                REF: Pages 42-45, section 5.2.\n"
-#~ msgstr "                REF: strony 42-45, sekcja 5.2.\n"
-
-#~ msgid "                REF: Pages 45-46, section 5.2.\n"
-#~ msgstr "                REF: strony 45-46, sekcja 5.2.\n"
-
-#~ msgid "                REF: Pages 48-49, section 5.2.\n"
-#~ msgstr "                REF: strony 48-49, sekcja 5.2.\n"
-
-#~ msgid "                REF: Pages 52-54, section 5.2.\n"
-#~ msgstr "                REF: strony 52-54, sekcja 5.2.\n"
-
-#~ msgid "        %-39.39s %.0f bytes\n"
-#~ msgstr "        %-39.39s %.0f bajtów\n"
-
-#~ msgid "        PASS    Default%s\n"
-#~ msgstr "        SUKCES    Default%s\n"
-
-#~ msgid "        PASS    DefaultImageableArea\n"
-#~ msgstr "        SUKCES    DefaultImageableArea\n"
-
-#~ msgid "        PASS    DefaultPaperDimension\n"
-#~ msgstr "        SUKCES    DefaultPaperDimension\n"
-
-#~ msgid "        PASS    FileVersion\n"
-#~ msgstr "        SUKCES    FileVersion\n"
-
-#~ msgid "        PASS    FormatVersion\n"
-#~ msgstr "        SUKCES    FormatVersion\n"
-
-#~ msgid "        PASS    LanguageEncoding\n"
-#~ msgstr "        SUKCES    LanguageEncoding\n"
-
-#~ msgid "        PASS    LanguageVersion\n"
-#~ msgstr "        SUKCES    LanguageVersion\n"
-
-#~ msgid "        PASS    Manufacturer\n"
-#~ msgstr "        SUKCES    Manufacturer\n"
-
-#~ msgid "        PASS    ModelName\n"
-#~ msgstr "        SUKCES    ModelName\n"
-
-#~ msgid "        PASS    NickName\n"
-#~ msgstr "        SUKCES    NickName\n"
-
-#~ msgid "        PASS    PCFileName\n"
-#~ msgstr "        SUKCES    PCFileName\n"
-
-#~ msgid "        PASS    PSVersion\n"
-#~ msgstr "        SUKCES    PSVersion\n"
-
-#~ msgid "        PASS    PageRegion\n"
-#~ msgstr "        SUKCES    PageRegion\n"
-
-#~ msgid "        PASS    PageSize\n"
-#~ msgstr "        SUKCES    PageSize\n"
-
-#~ msgid "        PASS    Product\n"
-#~ msgstr "        SUKCES    Product\n"
-
-#~ msgid "        PASS    ShortNickName\n"
-#~ msgstr "        SUKCES    ShortNickName\n"
-
-#~ msgid ""
-#~ "        WARN    \"%s %s\" conflicts with \"%s %s\"\n"
-#~ "                (constraint=\"%s %s %s %s\")\n"
-#~ msgstr ""
-#~ "        OSTRZEŻENIE    \"%s %s\" jest w konflikcie z \"%s %s\"\n"
-#~ "                (constraint=\"%s %s %s %s\")\n"
-
-#~ msgid "        WARN    %s has no corresponding options!\n"
-#~ msgstr "        OSTRZEŻENIE    %s nie posiada odpowiadających opcji!\n"
-
-#~ msgid ""
-#~ "        WARN    %s shares a common prefix with %s\n"
-#~ "                REF: Page 15, section 3.2.\n"
-#~ msgstr ""
-#~ "        OSTRZEŻENIE    %s współdzieli wspólny przedrostek z %s\n"
-#~ "                REF: strona 15, sekcja 3.2.\n"
-
-#~ msgid "        WARN    Default choices conflicting!\n"
-#~ msgstr "        OSTRZEŻENIE    Konflikt domyślnych wyborów!\n"
-
-#~ msgid ""
-#~ "        WARN    Duplex option keyword %s may not work as expected and "
-#~ "should be named Duplex!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "        OSTRZEŻENIE    Podwójna opcja słowo kluczowe %s może nie działać "
-#~ "w spodziewany sposób i powinno nosić nazwę Podwójne!\n"
-#~ "                REF: strona 122, sekcja 5.17\n"
-
-#~ msgid ""
-#~ "        WARN    File contains a mix of CR, LF, and CR LF line endings!\n"
-#~ msgstr ""
-#~ "        OSTRZEŻENIE    Plik zawiera mieszaninę zakończeń wierszy CR, LF i "
-#~ "CR LF!\n"
-
-#~ msgid ""
-#~ "        WARN    LanguageEncoding required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 56-57, section 5.3.\n"
-#~ msgstr ""
-#~ "        OSTRZEŻENIE    LanguageEncoding jest wymagane przez specyfikację "
-#~ "PPD 4.3.\n"
-#~ "                REF: strony 56-57, sekcja 5.3.\n"
-
-#~ msgid "        WARN    Line %d only contains whitespace!\n"
-#~ msgstr "        OSTRZEŻENIE    Wiersz %d zawiera wyłącznie białe spacje!\n"
-
-#~ msgid ""
-#~ "        WARN    Manufacturer required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 58-59, section 5.3.\n"
-#~ msgstr ""
-#~ "        OSTRZEŻENIE    Manufacturer jest wymagane przez specyfikację PPD "
-#~ "4.3.\n"
-#~ "                REF: strony 58-59, sekcja 5.3.\n"
-
-#~ msgid "        WARN    Missing APDialogExtension file \"%s\"\n"
-#~ msgstr "        OSTRZEŻENIE    Brakujący plik APDialogExtension \"%s\"\n"
-
-#~ msgid "        WARN    Missing APPrinterIconPath file \"%s\"\n"
-#~ msgstr "        OSTRZEŻENIE    Brakujący plik APPrinterIconPath \"%s\"\n"
-
-#~ msgid ""
-#~ "        WARN    Non-Windows PPD files should use lines ending with only "
-#~ "LF, not CR LF!\n"
-#~ msgstr ""
-#~ "        OSTRZEŻENIE    Pliki PPD nie przeznaczone dla Windows powinny "
-#~ "używać tylko zakończeń wierszy LF, nie CR LF!"
-
-#~ msgid ""
-#~ "        WARN    Obsolete PPD version %.1f!\n"
-#~ "                REF: Page 42, section 5.2.\n"
-#~ msgstr ""
-#~ "        OSTRZEŻENIE    Przestarzała wersja PPD %.1f!\n"
-#~ "                REF: strona 42, sekcja 5.2.\n"
-
-#~ msgid ""
-#~ "        WARN    PCFileName longer than 8.3 in violation of PPD spec.\n"
-#~ "                REF: Pages 61-62, section 5.3.\n"
-#~ msgstr ""
-#~ "        OSTRZEŻENIE    PCFileName dłuższa niż 8.3 narusza specyfikację "
-#~ "PPD.\n"
-#~ "                REF: strony 61-62, sekcja 5.3.\n"
-
-#~ msgid ""
-#~ "        WARN    Protocols contains PJL but JCL attributes are not set.\n"
-#~ "                REF: Pages 78-79, section 5.7.\n"
-#~ msgstr ""
-#~ "        OSTRZEŻENIE    Protokoły zawierają PJL, ale cechy JCL nie są "
-#~ "ustawione.\n"
-#~ "                REF: strony 78-79, sekcja 5.7.\n"
-
-#~ msgid ""
-#~ "        WARN    Protocols contains both PJL and BCP; expected TBCP.\n"
-#~ "                REF: Pages 78-79, section 5.7.\n"
-#~ msgstr ""
-#~ "        OSTRZEŻENIE    Protokoły zawierają zarówno PJL jak i BCP, "
-#~ "oczekiwano TBCP.\n"
-#~ "                REF: strony 78-79, sekcja 5.7.\n"
-
-#~ msgid ""
-#~ "        WARN    ShortNickName required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "        OSTRZEŻENIE    ShortNickName jest wymagana przez specyfikację PPD "
-#~ "4.3.\n"
-#~ "                REF: strony 64-65, sekcja 5.3.\n"
-
-#~ msgid "      %s  %s %s does not exist!\n"
-#~ msgstr "      %s  %s %s nie istnieje!\n"
-
-#~ msgid ""
-#~ "      %s  Bad %s choice %s!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "      %s  Zły wybór %s, %s!\n"
-#~ "                REF: strona 122, sekcja 5.17\n"
-
-#~ msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s!\n"
-#~ msgstr ""
-#~ "      %s  Nieprawidłowy UTF-8 łańcucha tekstowegi tłumaczenia \"%s\" dla "
-#~ "opcji %s!\n"
-
-#~ msgid ""
-#~ "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s!\n"
-#~ msgstr ""
-#~ "      %s  Nieprawidłowy UTF-8 łańcucha tekstowego tłumaczenia \"%s\" dla "
-#~ "opcji %s, wybór %s!\n"
-
-#~ msgid "      %s  Bad cupsFilter value \"%s\"!\n"
-#~ msgstr "      %s  Błędna wartość cupsFilter \"%s\"!\n"
-
-#~ msgid "      %s  Bad cupsICCProfile %s!\n"
-#~ msgstr "      %s  Nieprawidłowy profil cupsICCProfile %s!\n"
-
-#~ msgid "      %s  Bad cupsPreFilter value \"%s\"!\n"
-#~ msgstr "      %s  Błędna wartość cupsPreFilter \"%s\"!\n"
-
-#~ msgid "      %s  Bad cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr "      %s  Błędna wartość cupsUIConstraints %s: \"%s\"!\n"
-
-#~ msgid "      %s  Bad language \"%s\"!\n"
-#~ msgstr "      %s  Błędny język \"%s\"!\n"
-
-#~ msgid "      %s  Empty cupsUIConstraints %s!\n"
-#~ msgstr "      %s  Puste cupsUIConstraints %s!\n"
-
-#~ msgid "      %s  Missing \"%s\" translation string for option %s!\n"
-#~ msgstr ""
-#~ "      %s  Brakujący łańcuch tekstowy tłumaczenia \"%s\" dla opcji %s!\n"
-
-#~ msgid ""
-#~ "      %s  Missing \"%s\" translation string for option %s, choice %s!\n"
-#~ msgstr ""
-#~ "      %s  Brakujący łańcuch tekstowy tłumaczenia \"%s\" dla opcji %s, "
-#~ "wybór %s!\n"
-
-#~ msgid ""
-#~ "      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"!\n"
-#~ msgstr ""
-#~ "      %s  Brakujący wybór *%s %s w UIConstraints \"*%s %s *%s %s\"!\n"
-
-#~ msgid "      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr "      %s  Brakujący wybór *%s %s w cupsUIConstraints %s: \"%s\"!\n"
-
-#~ msgid "      %s  Missing cupsFilter file \"%s\"\n"
-#~ msgstr "      %s  Brakujący plik cupsFilter \"%s\"!\n"
-
-#~ msgid "      %s  Missing cupsICCProfile file \"%s\"!\n"
-#~ msgstr "      %s  Brakujący plik cupsICCProfile \"%s\"!\n"
-
-#~ msgid "      %s  Missing cupsPreFilter file \"%s\"\n"
-#~ msgstr "      %s  Brakujący plik cupsPreFilter \"%s\"!\n"
-
-#~ msgid "      %s  Missing cupsUIResolver %s!\n"
-#~ msgstr "      %s  Brakujący cupsUIResolver %s!\n"
-
-#~ msgid "      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\"!\n"
-#~ msgstr "      %s  Brakująca opcja %s w UIConstraints \"*%s %s *%s %s\"!\n"
-
-#~ msgid "      %s  Missing option %s in cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr "      %s  Brakująca opcja %s w cupsUIConstraints %s: \"%s\"!\n"
-
-#~ msgid "      %s  No base translation \"%s\" is included in file!\n"
-#~ msgstr "      %s  Brak podstawowego tłumaczenia \"%s\" zawartego w pliku!\n"
-
-#~ msgid ""
-#~ "      %s  REQUIRED %s does not define choice None!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "      %s  WYMAGANE %s nie defuniuje wyboru Brak!\n"
-#~ "                REF: strona 122, sekcja 5.17\n"
-
-#~ msgid "      %s  cupsICCProfile %s hash value collides with %s!\n"
-#~ msgstr "      %s  cupsICCProfile %s skrót koliduje z %s!\n"
-
-#~ msgid "      %s  cupsUIResolver %s causes a loop!\n"
-#~ msgstr "      %s  cupsUIResolver %s powoduje pętlę!\n"
-
-#~ msgid "      **FAIL**  %s choice names %s and %s differ only by case!\n"
-#~ msgstr ""
-#~ "      **PROBLEM**  %s nazwy wyborów %s i %s różnią się tylko wielkością "
-#~ "liter!\n"
-
-#~ msgid ""
-#~ "      **FAIL**  %s must be 1284DeviceID!\n"
-#~ "                REF: Page 72, section 5.5\n"
-#~ msgstr ""
-#~ "      **PROBLEM**  %s musi być 1284DeviceID!\n"
-#~ "                REF: strona 72, sekcja 5.5\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Default%s %s\n"
-#~ "                REF: Page 40, section 4.5.\n"
-#~ msgstr ""
-#~ "      **PROBLEM**  BŁĘDNA wartość Default%s %s\n"
-#~ "                REF: strona 40, sekcja 4.5.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD DefaultImageableArea %s!\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **PROBLEM**  BŁĘDNA wartość DefaultImageableArea %s!\n"
-#~ "                REF: strona 102, sekcja 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD DefaultPaperDimension %s!\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **PROBLEM**  BŁĘDNA wartość DefaultPaperDimension %s!\n"
-#~ "                REF: strona 103, sekcja 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD JobPatchFile attribute in file\n"
-#~ "                REF: Page 24, section 3.4.\n"
-#~ msgstr ""
-#~ "      **PROBLEM**  BŁĘDNA wartość właściwości JobPatchFile w pliku\n"
-#~ "                REF: strona 24, sekcja 3.4.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Manufacturer (should be \"HP\")\n"
-#~ "                REF: Page 211, table D.1.\n"
-#~ msgstr ""
-#~ "      **PROBLEM**  BŁĘDNA wartość Manufacturer (powinno być \"HP\")\n"
-#~ "                REF: strona 211, tablica D.1.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Manufacturer (should be \"Oki\")\n"
-#~ "                REF: Page 211, table D.1.\n"
-#~ msgstr ""
-#~ "      **PROBLEM**  BŁĘDNA wartość Manufacturer (powinno być \"Oki\")\n"
-#~ "                REF: strona 211, tablica D.1.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n"
-#~ "                REF: Pages 59-60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **PROBLEM**  BŁĘDNA wartość ModelName - \"%c\" nie jest zezwolone w "
-#~ "ciągu znaków.\n"
-#~ "                REF: strony 59-60, sekcja 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD PSVersion - not \"(string) int\".\n"
-#~ "                REF: Pages 62-64, section 5.3.\n"
-#~ msgstr ""
-#~ "      **PROBLEM**  BŁĘDNE PSVersion - nie jest \"(string) int\".\n"
-#~ "                REF: strony 62-64, sekcja 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Product - not \"(string)\".\n"
-#~ "                REF: Page 62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **PROBLEM**  BŁĘDNE Product - nie jest \"(string)\".\n"
-#~ "                REF: strona 62, sekcja 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD ShortNickName - longer than 31 chars.\n"
-#~ "                REF: Pages 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "      **PROBLEM**  BŁĘDNE ShortNickName - dłuższe niż 31 znaków.\n"
-#~ "                REF: strony 64-65, sekcja 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad %s choice %s!\n"
-#~ "                REF: Page 84, section 5.9\n"
-#~ msgstr ""
-#~ "      **PROBLEM**  Błędny %s wybór %s!\n"
-#~ "                REF: strona 84, sekcja 5.9\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad FileVersion \"%s\"\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **PROBLEM**  Nieprawidłowe FileVersion \"%s\"\n"
-#~ "                REF: strona 56, sekcja 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad FormatVersion \"%s\"\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **PROBLEM**  Nieprawidłowe FormatVersion \"%s\"\n"
-#~ "                REF: strona 56, sekcja 5.3.\n"
-
-#~ msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1!\n"
-#~ msgstr ""
-#~ "      **PROBLEM**  Błędna wartość LanguageEncoding %s - musi być "
-#~ "ISOLatin1!\n"
-
-#~ msgid "      **FAIL**  Bad LanguageVersion %s - must be English!\n"
-#~ msgstr ""
-#~ "      **PROBLEM**  Błędna wartość LanguageVersion %s - musi być "
-#~ "angielski!\n"
-
-#~ msgid "      **FAIL**  Default option code cannot be interpreted: %s\n"
-#~ msgstr ""
-#~ "      **PROBLEM**  Nie można zinterpretować domyślnego kodu opcji: %s\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Default translation string for option %s choice %s "
-#~ "contains 8-bit characters!\n"
-#~ msgstr ""
-#~ "      **PROBLEM**  Domyślny łańcuch tekstowy tłumaczenia dla opcji %s "
-#~ "wyboru %s zawiera 8 bitowe znaki!\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Default translation string for option %s contains 8-bit "
-#~ "characters!\n"
-#~ msgstr ""
-#~ "      **PROBLEM**  Nie można zinterpretować domyślnego kodu opcji: %s\n"
-
-#~ msgid "      **FAIL**  Group names %s and %s differ only by case!\n"
-#~ msgstr ""
-#~ "      **PROBLEM**  Nazwy grup %s i %s różnią się tylko wielkością liter!\n"
-
-#~ msgid "      **FAIL**  Multiple occurrences of %s choice name %s!\n"
-#~ msgstr "      **FAIL**  Wielokrotne wystąpienia nazwy wyboru %s, %s!\n"
-
-#~ msgid "      **FAIL**  Option names %s and %s differ only by case!\n"
-#~ msgstr ""
-#~ "      **PROBLEM**  Nazwy opcji %s i %s różnią się tylko wielkością "
-#~ "liter!\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Default%s\n"
-#~ "                REF: Page 40, section 4.5.\n"
-#~ msgstr ""
-#~ "      **PROBLEM**  WYMAGANE Default%s\n"
-#~ "                REF: strona 40, sekcja 4.5.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED DefaultImageableArea\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **PROBLEM**  WYMAGANE DefaultImageableArea\n"
-#~ "                REF: strona 102, sekcja 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED DefaultPaperDimension\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **PROBLEM**  WYMAGANE DefaultPaperDimension\n"
-#~ "                REF: strona 103, sekcja 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED FileVersion\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **PROBLEM**  WYMAGANE FileVersion\n"
-#~ "                REF: strona 56, sekcja 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED FormatVersion\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **PROBLEM**  WYMAGANE FormatVersion\n"
-#~ "                REF: strona 56, sekcja 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ImageableArea for PageSize %s\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **PROBLEM**  WYMAGANE ImageableArea for PageSize %s\n"
-#~ "                REF: strona 41, sekcja 5.\n"
-#~ "                REF: strona 102, sekcja 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED LanguageEncoding\n"
-#~ "                REF: Pages 56-57, section 5.3.\n"
-#~ msgstr ""
-#~ "      **PROBLEM**  WYMAGANE LanguageEncoding\n"
-#~ "                REF: strony 56-57, sekcja 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED LanguageVersion\n"
-#~ "                REF: Pages 57-58, section 5.3.\n"
-#~ msgstr ""
-#~ "      **PROBLEM**  WYMAGANE LanguageVersion\n"
-#~ "                REF: strony 57-58, sekcja 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Manufacturer\n"
-#~ "                REF: Pages 58-59, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  WYMAGANE Manufacturer\n"
-#~ "                REF: strony 58-59, sekcja 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ModelName\n"
-#~ "                REF: Pages 59-60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  WYMAGANE ModelName\n"
-#~ "                REF: strony 59-60, sekcja 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED NickName\n"
-#~ "                REF: Page 60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **PROBLEM**  WYMAGANE NickName\n"
-#~ "                REF: strona 60, sekcja 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PCFileName\n"
-#~ "                REF: Pages 61-62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **PROBLEM**  WYMAGANE PCFileName\n"
-#~ "                REF: strony 61-62, sekcja 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PSVersion\n"
-#~ "                REF: Pages 62-64, section 5.3.\n"
-#~ msgstr ""
-#~ "      **PROBLEM**  WYMAGANE PSVersion\n"
-#~ "                REF: strony 62-64, sekcja 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageRegion\n"
-#~ "                REF: Page 100, section 5.14.\n"
-#~ msgstr ""
-#~ "      **PROBLEM**  WYMAGANE PageRegion\n"
-#~ "                REF: strona 100, sekcja 5.14.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageSize\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 99, section 5.14.\n"
-#~ msgstr ""
-#~ "      **PROBLEM**  WYMAGANE PageSize\n"
-#~ "                REF: strona 41, sekcja 5.\n"
-#~ "                REF: strona 99, sekcja 5.14.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageSize\n"
-#~ "                REF: Pages 99-100, section 5.14.\n"
-#~ msgstr ""
-#~ "      **PROBLEM**  WYMAGANE PageSize\n"
-#~ "                REF: strony 99-100, sekcja 5.14.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PaperDimension for PageSize %s\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **PROBLEM**  WYMAGANE PaperDimension dla PageSize %s\n"
-#~ "                REF: strona 41, sekcja 5.\n"
-#~ "                REF: strona 103, sekcja 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Product\n"
-#~ "                REF: Page 62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **PROBLEM**  WYMAGANE Product\n"
-#~ "                REF: strona 62, sekcja 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ShortNickName\n"
-#~ "                REF: Page 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "      **PROBLEM**  WYMAGANE ShortNickName\n"
-#~ "                REF: strony 64-65, sekcja 5.3.\n"
-
-#~ msgid "    %d ERRORS FOUND\n"
-#~ msgstr "    ZNALEZIONO %d BŁĘDÓW\n"
-
-#~ msgid ""
-#~ "    Bad %%%%BoundingBox: on line %d!\n"
-#~ "        REF: Page 39, %%%%BoundingBox:\n"
-#~ msgstr ""
-#~ "    Błędna wartość %%%%BoundingBox: w wierszu %d!\n"
-#~ "        REF: strona 39, %%%%BoundingBox:\n"
-
-#~ msgid ""
-#~ "    Bad %%%%Page: on line %d!\n"
-#~ "        REF: Page 53, %%%%Page:\n"
-#~ msgstr ""
-#~ "    Błędna wartość %%%%Page: w wierszu %d!\n"
-#~ "        REF: strona 53, %%%%Page:\n"
-
-#~ msgid ""
-#~ "    Bad %%%%Pages: on line %d!\n"
-#~ "        REF: Page 43, %%%%Pages:\n"
-#~ msgstr ""
-#~ "    Błędna wartość %%%%Pages: w wierszu %d!\n"
-#~ "        REF: strona 43, %%%%Pages:\n"
-
-#~ msgid ""
-#~ "    Line %d is longer than 255 characters (%d)!\n"
-#~ "        REF: Page 25, Line Length\n"
-#~ msgstr ""
-#~ "    Wiersz %d jest dłuższy niż 255 znaków (%d)!\n"
-#~ "        REF: strona 25, Długość wiersza\n"
-
-#~ msgid ""
-#~ "    Missing %!PS-Adobe-3.0 on first line!\n"
-#~ "        REF: Page 17, 3.1 Conforming Documents\n"
-#~ msgstr ""
-#~ "    Brakujące %!PS-Adobe-3.0 w pierwszym wierszu!\n"
-#~ "        REF: strona 17, 3.1 Podporządkowywanie dokumentów\n"
-
-#~ msgid ""
-#~ "    Missing %%EndComments comment!\n"
-#~ "        REF: Page 41, %%EndComments\n"
-#~ msgstr ""
-#~ "    Brakujący komentarz %%EndComments!\n"
-#~ "        REF: strona 41, %%EndComments\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%BoundingBox: comment!\n"
-#~ "        REF: Page 39, %%BoundingBox:\n"
-#~ msgstr ""
-#~ "    Brakujący lub błędny komentarz %%BoundingBox:!\n"
-#~ "        REF: strona 39, %%BoundingBox:\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%Page: comments!\n"
-#~ "        REF: Page 53, %%Page:\n"
-#~ msgstr ""
-#~ "    Brakujące lub błędne komentarze %%Page:!\n"
-#~ "        REF: strona 53, %%Page:\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%Pages: comment!\n"
-#~ "        REF: Page 43, %%Pages:\n"
-#~ msgstr ""
-#~ "    Brakujący lub błędny komentarz %%Pages:!\n"
-#~ "        REF: strona 43, %%Pages:\n"
-
-#~ msgid "    NO ERRORS FOUND\n"
-#~ msgstr "    NIE ZNALEZIONO BŁĘDÓW\n"
-
-#~ msgid "    Saw %d lines that exceeded 255 characters!\n"
-#~ msgstr "    Znaleziono %d wierszy przekraczających 255 znaków!\n"
-
-#~ msgid "    Too many %%BeginDocument comments!\n"
-#~ msgstr "    Zbyt wiele komentarzy %%BeginDocument!\n"
-
-#~ msgid "    Too many %%EndDocument comments!\n"
-#~ msgstr "    Zbyt wiele komentarzy %%EndDocument!\n"
-
-#~ msgid "    Warning: file contains binary data!\n"
-#~ msgstr "    Ostrzeżenie: plik zawiera dane binarne!\n"
-
-#~ msgid "    Warning: no %%EndComments comment in file!\n"
-#~ msgstr "    Ostrzeżenie: brak komentarza %%EndComments w pliku!\n"
-
-#~ msgid "    Warning: obsolete DSC version %.1f in file!\n"
-#~ msgstr "    Ostrzeżenie: przestarzała wersja DSC %.1f w pliku!\n"
-
-#~ msgid " FAIL\n"
-#~ msgstr " FAIL\n"
-
-#~ msgid ""
-#~ " FAIL\n"
-#~ "      **FAIL**  Unable to open PPD file - %s\n"
-#~ msgstr ""
-#~ " FAIL\n"
-#~ "      **PROBLEM**  Nie można otworzyć pliku PPD - %s\n"
-
-#~ msgid ""
-#~ " FAIL\n"
-#~ "      **FAIL**  Unable to open PPD file - %s on line %d.\n"
-#~ msgstr ""
-#~ " PROBLEM\n"
-#~ "      **PROBLEM**  Nie można otworzyć pliku PPD - %s w wierszu %d.\n"
-
-#~ msgid " PASS\n"
-#~ msgstr " SUKCES\n"
-
-#~ msgid "#10 Envelope"
-#~ msgstr "Koperta #10"
-
-#~ msgid "#11 Envelope"
-#~ msgstr "Koperta #11"
-
-#~ msgid "#12 Envelope"
-#~ msgstr "Koperta #12"
-
-#~ msgid "#14 Envelope"
-#~ msgstr "Koperta #14"
-
-#~ msgid "#9 Envelope"
-#~ msgstr "Koperta #9"
-
-#~ msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes\n"
-#~ msgstr "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bajtów"
-
-#~ msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes\n"
-#~ msgstr "%-7s %-7.7s %-7d %-31.31s %.0f bajtów\n"
-
-#~ msgid "%s accepting requests since %s\n"
-#~ msgstr "%s akceptuje żądania od %s\n"
-
-#~ msgid "%s is not implemented by the CUPS version of lpc.\n"
-#~ msgstr "%s nie jest zaimplementowane przez lpc w wersji CUPS.\n"
-
-#~ msgid "%s is not ready\n"
-#~ msgstr "%s nie jest gotowe\n"
-
-#~ msgid "%s is ready\n"
-#~ msgstr "%s jest gotowe\n"
-
-#~ msgid "%s is ready and printing\n"
-#~ msgstr "%s jest gotowe i drukuje\n"
-
-#~ msgid ""
-#~ "%s not accepting requests since %s -\n"
-#~ "\t%s\n"
-#~ msgstr ""
-#~ "%s nie akceptuje żądań od %s -\n"
-#~ "\t%s\n"
-
-#~ msgid "%s not supported!"
-#~ msgstr "%s jest nieobsługiwane!"
-
-#~ msgid "%s/%s accepting requests since %s\n"
-#~ msgstr "%s/%s akceptuje żądania od %s\n"
-
-#~ msgid ""
-#~ "%s/%s not accepting requests since %s -\n"
-#~ "\t%s\n"
-#~ msgstr ""
-#~ "%s/%s nie akceptuje żądań od %s -\n"
-#~ "\t%s\n"
-
-#~ msgid "%s: %-33.33s [job %d localhost]\n"
-#~ msgstr "%s: %-33.33s [zlecenie %d localhost]\n"
-
-#~ msgid "%s: %s failed: %s\n"
-#~ msgstr "%s: %s nie powiodło się: %s\n"
-
-#~ msgid "%s: Don't know what to do!\n"
-#~ msgstr "%s: nie wiem co robić!\n"
-
-#~ msgid ""
-#~ "%s: Error - %s environment variable names non-existent destination \"%s"
-#~ "\"!\n"
-#~ msgstr ""
-#~ "%s: błąd - %s nazw zmiennych środowiskowych z nieistniejącym celem \"%s"
-#~ "\"!\n"
-
-#~ msgid "%s: Error - bad job ID!\n"
-#~ msgstr "%s: błąd - błędny ID zlecenia!\n"
-
-#~ msgid "%s: Error - cannot print files and alter jobs simultaneously!\n"
-#~ msgstr ""
-#~ "%s: błąd - nie można jednocześnie drukować plików i zmieniać zlecenia!\n"
-
-#~ msgid ""
-#~ "%s: Error - cannot print from stdin if files or a job ID are provided!\n"
-#~ msgstr ""
-#~ "%s: błąd - nie można drukować ze standardowego wejścia, jeśli dostarczone "
-#~ "są pliki lub ID zlecenia!\n"
-
-#~ msgid "%s: Error - expected character set after '-S' option!\n"
-#~ msgstr "%s: błąd - oczekiwany zestaw znaków po opcji \"-S\"!\n"
-
-#~ msgid "%s: Error - expected content type after '-T' option!\n"
-#~ msgstr "%s: błąd - oczekiwany typ zawartości po opcji \"-T\"!\n"
-
-#~ msgid "%s: Error - expected copies after '-n' option!\n"
-#~ msgstr "%s: błąd - oczekiwane kopie po opcji \"-n\"!\n"
-
-#~ msgid "%s: Error - expected copy count after '-#' option!\n"
-#~ msgstr "%s: błąd - oczekiwany licznik kopii po opcji \"-#\"!\n"
-
-#~ msgid "%s: Error - expected destination after '-P' option!\n"
-#~ msgstr "%s: błąd - oczekiwany cel po opcji \"-P\"!\n"
-
-#~ msgid "%s: Error - expected destination after '-b' option!\n"
-#~ msgstr "%s: błąd - oczekiwany cel po opcji \"-b\"!\n"
-
-#~ msgid "%s: Error - expected destination after '-d' option!\n"
-#~ msgstr "%s: błąd - oczekiwany cel po opcji \"-d\"!\n"
-
-#~ msgid "%s: Error - expected form after '-f' option!\n"
-#~ msgstr "%s: błąd - oczekiwana forma po opcji \"-f\"!\n"
-
-#~ msgid "%s: Error - expected hold name after '-H' option!\n"
-#~ msgstr "%s: błąd - oczekiwana wstrzymana nazwa po opcji \"-H\"!\n"
-
-#~ msgid "%s: Error - expected hostname after '-H' option!\n"
-#~ msgstr "%s: błąd - oczekiwana nazwa komputera po opcji \"-H\"!\n"
-
-#~ msgid "%s: Error - expected hostname after '-h' option!\n"
-#~ msgstr "%s: błąd - oczekiwana nazwa komputera po opcji \"-h\"!\n"
-
-#~ msgid "%s: Error - expected mode list after '-y' option!\n"
-#~ msgstr "%s: błąd - oczekiwana lista trybów po opcji \"-y\"!\n"
-
-#~ msgid "%s: Error - expected name after '-%c' option!\n"
-#~ msgstr "%s: błąd - oczekiwana nazwa po opcji \"-%c\"!\n"
-
-#~ msgid "%s: Error - expected option string after '-o' option!\n"
-#~ msgstr "%s: błąd - oczekiwany łańcuch tekstowy opcji po opcji \"-o\"!\n"
-
-#~ msgid "%s: Error - expected page list after '-P' option!\n"
-#~ msgstr "%s: błąd - oczekiwana lista stron po opcji \"-P\"!\n"
-
-#~ msgid "%s: Error - expected priority after '-%c' option!\n"
-#~ msgstr "%s: błąd - oczekiwany priorytet po opcji \"-%c\"!\n"
-
-#~ msgid "%s: Error - expected reason text after '-r' option!\n"
-#~ msgstr "%s: błąd - oczekiwany tekst przyczyny po opcji \"-r\"!\n"
-
-#~ msgid "%s: Error - expected title after '-t' option!\n"
-#~ msgstr "%s: błąd - oczekiwany tytuł po opcji \"-t\"!\n"
-
-#~ msgid "%s: Error - expected username after '-U' option!\n"
-#~ msgstr "%s: błąd - oczekiwana nazwa użytkownika po opcji \"-U\"!\n"
-
-#~ msgid "%s: Error - expected username after '-u' option!\n"
-#~ msgstr "%s: błąd - oczekiwana nazwa komputera po opcji \"-u\"!\n"
-
-#~ msgid "%s: Error - expected value after '-%c' option!\n"
-#~ msgstr "%s: błąd - oczekiwana wartość po opcji \"-%c\"!\n"
-
-#~ msgid ""
-#~ "%s: Error - need \"completed\", \"not-completed\", or \"all\" after '-W' "
-#~ "option!\n"
-#~ msgstr ""
-#~ "%s: błąd - wymagane jest \"completed\", \"not-completed\" lub \"all\" po -"
-#~ "W!\n"
-
-#~ msgid "%s: Error - no default destination available.\n"
-#~ msgstr "%s: błąd - brak dostępnego domyślnego celu.\n"
-
-#~ msgid "%s: Error - priority must be between 1 and 100.\n"
-#~ msgstr "%s: błąd - priorytet musi być między 1 a 100.\n"
-
-#~ msgid "%s: Error - scheduler not responding!\n"
-#~ msgstr "%s: błąd - planista nie odpowiada!\n"
-
-#~ msgid "%s: Error - too many files - \"%s\"\n"
-#~ msgstr "%s: błąd - za dużo plików - \"%s\"\n"
-
-#~ msgid "%s: Error - unable to access \"%s\" - %s\n"
-#~ msgstr "%s: błąd - nie można uzyskać dostępu do \"%s\" - %s\n"
-
-#~ msgid "%s: Error - unable to queue from stdin - %s\n"
-#~ msgstr "%s: błąd - nie można wykonać kolejki z stdin - %s\n"
-
-#~ msgid "%s: Error - unknown destination \"%s\"!\n"
-#~ msgstr "%s: błąd - nieznany cel \"%s\"!\n"
-
-#~ msgid "%s: Error - unknown destination \"%s/%s\"!\n"
-#~ msgstr "%s: błąd - nieznany cel \"%s/%s\"!\n"
-
-#~ msgid "%s: Error - unknown option '%c'!\n"
-#~ msgstr "%s: błąd - nieznana opcja \"%c\"!\n"
-
-#~ msgid "%s: Error - unknown option '%s'!\n"
-#~ msgstr "%s: błąd - nieznana opcja '%s'!\n"
-
-#~ msgid "%s: Expected job ID after '-i' option!\n"
-#~ msgstr "%s: oczekiwany ID zlecenia po opcji \"-i\"!\n"
-
-#~ msgid "%s: Filter \"%s\" not available: %s\n"
-#~ msgstr "%s: filtr \"%s\" jest niedostępny: %s\n"
-
-#~ msgid "%s: Invalid destination name in list \"%s\"!\n"
-#~ msgstr "%s: nieprawidłowa nazwa celu na liście \"%s\"!\n"
-
-#~ msgid "%s: Invalid filter string \"%s\"\n"
-#~ msgstr "%s: nieprawidłowy łańcuch filtra \"%s\"\n"
-
-#~ msgid "%s: Need job ID ('-i jobid') before '-H restart'!\n"
-#~ msgstr ""
-#~ "%s: wymagany jest ID zlecenia (\"-i id_zlecenia\") po \"-H restart\"!"
-
-#~ msgid "%s: No filter to convert from %s/%s to %s/%s!\n"
-#~ msgstr "%s: brak filtra do konwersji z %s/%s na %s/%s!\n"
-
-#~ msgid "%s: Operation failed: %s\n"
-#~ msgstr "%s: operacja nie powiodła się: %s\n"
-
-#~ msgid "%s: Sorry, no encryption support compiled in!\n"
-#~ msgstr "%s: niestety, nie wkompilowano obsługi szyfowania!\n"
-
-#~ msgid "%s: Unable to connect to server\n"
-#~ msgstr "%s: nie można połączyć się z serwerem\n"
-
-#~ msgid "%s: Unable to contact server!\n"
-#~ msgstr "%s: nie można skontaktować się z serwerem!\n"
-
-#~ msgid "%s: Unable to determine MIME type of \"%s\"!\n"
-#~ msgstr "%s: nie można określić typu MIME \"%s\"!\n"
-
-#~ msgid "%s: Unable to open %s - %s\n"
-#~ msgstr "%s: nie można otworzyć %s - %s\n"
-
-#~ msgid "%s: Unable to open %s - %s on line %d.\n"
-#~ msgstr "%s: nie można otworzyć %s - %s on line %d.\n"
-
-#~ msgid "%s: Unable to open %s: %s\n"
-#~ msgstr "%s: nie można otworzyć %s: %s\n"
-
-#~ msgid "%s: Unable to open PPD file: %s on line %d\n"
-#~ msgstr "%s: nie można otworzyć pliku PPD: %s on line %d\n"
-
-#~ msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"!\n"
-#~ msgstr "%s: nie można odczytać bazy danych MIME z \"%s\" lub \"%s\"!\n"
-
-#~ msgid "%s: Unknown destination \"%s\"!\n"
-#~ msgstr "%s: nieznany cel \"%s\"!\n"
-
-#~ msgid "%s: Unknown destination MIME type %s/%s!\n"
-#~ msgstr "%s: nieznany cel rodzaju MIME %s/%s!\n"
-
-#~ msgid "%s: Unknown option '%c'!\n"
-#~ msgstr "%s: nieznana opcja \"%c\"!\n"
-
-#~ msgid "%s: Unknown source MIME type %s/%s!\n"
-#~ msgstr "%s: nieznane źródło rodzaju MIME %s/%s!\n"
-
-#~ msgid ""
-#~ "%s: Warning - '%c' format modifier not supported - output may not be "
-#~ "correct!\n"
-#~ msgstr ""
-#~ "%s: ostrzeżenie - modyfikator formatu \"%c\" jest nieobsługiwany - "
-#~ "wyjście może nie być prawidłowe!\n"
-
-#~ msgid "%s: Warning - character set option ignored!\n"
-#~ msgstr "%s: ostrzeżenie - opcja zestawu znaków została zignorowana!\n"
-
-#~ msgid "%s: Warning - content type option ignored!\n"
-#~ msgstr "%s: ostrzeżenie - opcja rodzaju zawartości została zignorowana!\n"
-
-#~ msgid "%s: Warning - form option ignored!\n"
-#~ msgstr "%s: ostrzeżenie - opcja formularza została zignorowana!\n"
-
-#~ msgid "%s: Warning - mode option ignored!\n"
-#~ msgstr "%s: ostrzeżenie - opcja trybu została zignorowana!\n"
-
-#~ msgid ""
-#~ "%s: error - %s environment variable names non-existent destination \"%s"
-#~ "\"!\n"
-#~ msgstr ""
-#~ "%s: błąd - %s nazw zmiennych środowiskowych z nieistniejącym celem \"%s"
-#~ "\"!\n"
-
-#~ msgid "%s: error - expected option=value after '-o' option!\n"
-#~ msgstr "%s: błąd - oczekiwana opcja=wartość po opcji \"-o\"!\n"
-
-#~ msgid "%s: error - no default destination available.\n"
-#~ msgstr "%s: błąd - brak dostępnego domyślnego celu.\n"
-
-#~ msgid "10 x 11\""
-#~ msgstr "10 x 11\""
-
-#~ msgid "10 x 13\""
-#~ msgstr "10 x 13\""
-
-#~ msgid "10 x 14\""
-#~ msgstr "10 x 14\""
-
-#~ msgid "12 x 11\""
-#~ msgstr "12 x 11\""
-
-#~ msgid "15 x 11\""
-#~ msgstr "15 x 11\""
-
-#~ msgid "600 DPI Grayscale"
-#~ msgstr "600 DPI (szarości)"
-
-#~ msgid "60x720dpi"
-#~ msgstr "60x720dpi"
-
-#~ msgid "7 x 9\""
-#~ msgstr "7 x 9\""
-
-#~ msgid "8 x 10\""
-#~ msgstr "8 x 10\""
-
-#~ msgid "9 x 11\""
-#~ msgstr "9 x 11\""
-
-#~ msgid "9 x 12\""
-#~ msgstr "9 x 12\""
-
-#~ msgid "?Invalid help command unknown\n"
-#~ msgstr "?Nieprawidłowe, nieznane polecenie pomocy\n"
-
-#~ msgid "A Samba password is required to export printer drivers!"
-#~ msgstr "Hasło Samby jest wymagany, aby wyeksportować sterowniki drukarek!"
-
-#~ msgid "A Samba username is required to export printer drivers!"
-#~ msgstr ""
-#~ "Nazwa użytkownika Samby jest wymagana, aby wyeksportować sterowniki "
-#~ "drukarek!"
-
-#~ msgid "A class named \"%s\" already exists!"
-#~ msgstr "Klasa o nazwie \"%s\" już istnieje!"
-
-#~ msgid "A printer named \"%s\" already exists!"
-#~ msgstr "Drukarka o nazwie \"%s\" już istnieje!"
-
-#~ msgid "A3 (Oversize)"
-#~ msgstr "A3 (oversize)"
-
-#~ msgid "A4 (Oversize)"
-#~ msgstr "A4 (oversize)"
-
-#~ msgid "A4 (Small)"
-#~ msgstr "A4 (mały)"
-
-#~ msgid "A5 (Oversize)"
-#~ msgstr "A5 (oversize)"
-
-#~ msgid "ARCH A"
-#~ msgstr "ARCH A"
-
-#~ msgid "ARCH B"
-#~ msgstr "ARCH B"
-
-#~ msgid "Attempt to set %s printer-state to bad value %d!"
-#~ msgstr "Próba ustawienia błędnej wartości %2$d printer-state %1$s!"
-
-#~ msgid "Attribute groups are out of order (%x < %x)!"
-#~ msgstr "Grupy właściwości są nieuporządkowane (%x < %x)!"
-
-#~ msgid "Bad device URI \"%s\"!\n"
-#~ msgstr "Błędny URI urządzenia \"%s\"!\n"
-
-#~ msgid "Bad device-uri \"%s\"!"
-#~ msgstr "Błędne device-uri \"%s\"!"
-
-#~ msgid "Bad device-uri scheme \"%s\"!"
-#~ msgstr "Błędny schemat device-uri \"%s\"!"
-
-#~ msgid "Bad document-format \"%s\"!"
-#~ msgstr "Błędne document-format \"%s\"!"
-
-#~ msgid "Bad filename buffer!"
-#~ msgstr "Błędny bufor nazwy pliku!"
-
-#~ msgid "Bad font attribute: %s\n"
-#~ msgstr "Błędny atrybut czcionki: %s\n"
-
-#~ msgid "Bad job-priority value!"
-#~ msgstr "Błędna wartość job-priority!"
-
-#~ msgid "Bad job-sheets value \"%s\"!"
-#~ msgstr "Błędna wartość job-sheets \"%s\"!"
-
-#~ msgid "Bad job-sheets value type!"
-#~ msgstr "Błędny rodzaj wartości job-sheets!"
-
-#~ msgid "Bad job-state value!"
-#~ msgstr "Błędna wartość job-state!"
-
-#~ msgid "Bad job-uri attribute \"%s\"!"
-#~ msgstr "Błędna właściwość job-uri \"%s\"!"
-
-#~ msgid "Bad notify-pull-method \"%s\"!"
-#~ msgstr "Błędne notify-pull-method \"%s\"!"
-
-#~ msgid "Bad notify-recipient-uri URI \"%s\"!"
-#~ msgstr "Błędne notify-recipient-uri URI \"%s\"!"
-
-#~ msgid "Bad option + choice on line %d!"
-#~ msgstr "Błędna opcja + wybór w wierszu %d!\n"
-
-#~ msgid "Bad port-monitor \"%s\"!"
-#~ msgstr "Błędne port-monitor \"%s\"!"
-
-#~ msgid "Bad printer-state value %d!"
-#~ msgstr "Błędna wartość printer-state %d!"
-
-#~ msgid "Bad request version number %d.%d!"
-#~ msgstr "Błędny numer wersji żądania %d.%d!"
-
-#~ msgid "Bad subscription ID!"
-#~ msgstr "Błędne ID subskrypcji."
-
-#~ msgid "C0 Envelope"
-#~ msgstr "Koperta C0"
-
-#~ msgid "C1 Envelope"
-#~ msgstr "Koperta C1"
-
-#~ msgid "C2 Envelope"
-#~ msgstr "Koperta C2"
-
-#~ msgid "C3 Envelope"
-#~ msgstr "Koperta C3"
-
-#~ msgid "C4"
-#~ msgstr "C4"
-
-#~ msgid "C4 Envelope"
-#~ msgstr "Koperta C4"
-
-#~ msgid "C5"
-#~ msgstr "C5"
-
-#~ msgid "C5 Envelope"
-#~ msgstr "Koperta C5"
-
-#~ msgid "C6"
-#~ msgstr "C6"
-
-#~ msgid "C6 Envelope"
-#~ msgstr "Koperta C6"
-
-#~ msgid "C65 Envelope"
-#~ msgstr "Koperta C65"
-
-#~ msgid "C7 Envelope"
-#~ msgstr "Koperta C7"
-
-#~ msgid "Character set \"%s\" not supported!"
-#~ msgstr "Zestaw znaków \"%s\" jest nieobsługiwany!"
-
-#~ msgid "Chou3 Envelope"
-#~ msgstr "Koperta Chou3"
-
-#~ msgid "Chou4 Envelope"
-#~ msgstr "Koperta Chou4"
-
-#~ msgid ""
-#~ "Commands may be abbreviated.  Commands are:\n"
-#~ "\n"
-#~ "exit    help    quit    status  ?\n"
-#~ msgstr ""
-#~ "Polecenia mogą być skracane.  Poleceniami są:\n"
-#~ "\n"
-#~ "exit    help    quit    status  ?\n"
-
-#~ msgid "Could not scan type \"%s\"!"
-#~ msgstr "Nie można przeskanować rodzaju \"%s\"!"
-
-#~ msgid "Cover open."
-#~ msgstr "Pokrywa jest otwarta."
-
-#~ msgid "DL"
-#~ msgstr "DL"
-
-#~ msgid "DL Envelope"
-#~ msgstr "Koperta DL"
-
-#~ msgid "Developer almost empty."
-#~ msgstr "Wywoływacz jest niemal pusty."
-
-#~ msgid "Developer empty!"
-#~ msgstr "Wywoływacz jest pusty!"
-
-#~ msgid ""
-#~ "Device: uri = %s\n"
-#~ "        class = %s\n"
-#~ "        info = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ "        location = %s\n"
-#~ msgstr ""
-#~ "Urządzenie: uri = %s\n"
-#~ "        klasa = %s\n"
-#~ "        info = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ "        lokalizacja = %s\n"
-
-#~ msgid "Document %d not found in job %d."
-#~ msgstr "Dokument %d nie znaleziony w zleceniu %d."
-
-#~ msgid "Door open."
-#~ msgstr "Drzwi otwarte."
-
-#~ msgid "Double Postcard"
-#~ msgstr "Podwójna pocztówka"
-
-#~ msgid "EMERG: Unable to allocate memory for page info: %s\n"
-#~ msgstr "EMERG: Nie można przydzielić pamięci dla informacji strony: %s\n"
-
-#~ msgid "EMERG: Unable to allocate memory for pages array: %s\n"
-#~ msgstr "EMERG: Nie można przydzielić pamięci dla tablicy stron: %s\n"
-
-#~ msgid "ERROR: Bad %%BoundingBox: comment seen!\n"
-#~ msgstr "ERROR: znaleziono nieprawidłowy komentarz %%BoundingBox:!\n"
-
-#~ msgid "ERROR: Bad %%IncludeFeature: comment!\n"
-#~ msgstr "ERROR: nieprawidłowy komentarz %%IncludeFeature:!\n"
-
-#~ msgid "ERROR: Bad %%Page: comment in file!\n"
-#~ msgstr "ERROR: nieprawidłowy komentrza %%Page: w pliku!\n"
-
-#~ msgid "ERROR: Bad %%PageBoundingBox: comment in file!\n"
-#~ msgstr "ERROR: nieprawidłowy komentarz %%PageBoundingBox: w pliku!\n"
-
-#~ msgid "ERROR: Bad SCSI device file \"%s\"!\n"
-#~ msgstr "ERROR: Błędny plik urządzenia SCSI \"%s\"!\n"
-
-#~ msgid "ERROR: Bad charset file %s\n"
-#~ msgstr "ERROR: nieprawidłowy plik zestawu znaków %s\n"
-
-#~ msgid "ERROR: Bad charset type %s\n"
-#~ msgstr "ERROR: nieprawidłowy rodzaj zestawu znaków %s\n"
-
-#~ msgid "ERROR: Bad columns value %d!\n"
-#~ msgstr "ERROR: nieprawidłowa wartość kolumn %d!\n"
-
-#~ msgid "ERROR: Bad cpi value %f!\n"
-#~ msgstr "ERROR: nieprawidłowa wartość cpi %f!\n"
-
-#~ msgid "ERROR: Bad font description line: %s\n"
-#~ msgstr "ERROR: nieprawidłowy wiersz opisu czcionki: %s\n"
-
-#~ msgid "ERROR: Bad lpi value %f!\n"
-#~ msgstr "ERROR: nieprawidłowa wartość lpi %f!\n"
-
-#~ msgid "ERROR: Bad page setup!\n"
-#~ msgstr "ERROR: nieprawidłowe ustawienie strony!\n"
-
-#~ msgid "ERROR: Bad text direction %s\n"
-#~ msgstr "ERROR: nieprawidłowy kierunek tekstu %s\n"
-
-#~ msgid "ERROR: Bad text width %s\n"
-#~ msgstr "ERROR: nieprawidłowa szerokość tekstu %s\n"
-
-#~ msgid "ERROR: Destination printer does not exist!\n"
-#~ msgstr "ERROR: docelowa drukarka nie istnieje!\n"
-
-#~ msgid "ERROR: Duplicate %%BoundingBox: comment seen!\n"
-#~ msgstr "ERROR: znaleziono wielokrotny komentarz %%BoundingBox:!\n"
-
-#~ msgid "ERROR: Duplicate %%Pages: comment seen!\n"
-#~ msgstr "ERROR: znaleziono wielokrotny komentarz %%Pages:!\n"
-
-#~ msgid "ERROR: Empty print file!\n"
-#~ msgstr "ERROR: pusty plik druku!\n"
-
-#~ msgid "ERROR: Error %d sending PAPSendData request: %s\n"
-#~ msgstr "ERROR: błąd %d podczas wysyłania żądania PAPSendData: %s\n"
-
-#~ msgid "ERROR: Expected quoted string on line %d of %s!\n"
-#~ msgstr "ERROR: spodziewany cytowany znak w linii %d w %s!\n"
-
-#~ msgid "ERROR: Fatal USB error!\n"
-#~ msgstr "ERROR: błąd krytyczny USB!\n"
-
-#~ msgid "ERROR: Invalid HP-GL/2 command seen, unable to print file!\n"
-#~ msgstr ""
-#~ "ERROR: znaleziono nieprawidłowy komentarz HP-GL/2, nie można wydrukować "
-#~ "pliku!\n"
-
-#~ msgid "ERROR: Missing %%EndProlog!\n"
-#~ msgstr "ERROR: brakujący %%EndProlog!\n"
-
-#~ msgid "ERROR: Missing %%EndSetup!\n"
-#~ msgstr "ERROR: brakujący %%EndSetup!\n"
-
-#~ msgid ""
-#~ "ERROR: Missing device URI on command-line and no DEVICE_URI environment "
-#~ "variable!\n"
-#~ msgstr ""
-#~ "ERROR: brak URI urządzenia w wierszu poleceń i zmiennej środowiska "
-#~ "DEVICE_URI!\n"
-
-#~ msgid "ERROR: Missing value on line %d of banner file!\n"
-#~ msgstr "ERROR: brakująca wartość w linii %d pliku bannera!\n"
-
-#~ msgid ""
-#~ "ERROR: Need a msgid line before any translation strings on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ERROR: potrzebna linia msgid przed ciągami tłumaczeń w linii %d w %s!\n"
-
-#~ msgid "ERROR: No %%BoundingBox: comment in header!\n"
-#~ msgstr "ERROR: brak komentarza %%BoundingBox: w nagłówku!\n"
-
-#~ msgid "ERROR: No %%Pages: comment in header!\n"
-#~ msgstr "ERROR: brak komentarza %%Pages: w nagłówku!\n"
-
-#~ msgid ""
-#~ "ERROR: No device URI found in argv[0] or in DEVICE_URI environment "
-#~ "variable!\n"
-#~ msgstr ""
-#~ "ERROR: nie znaleziono URI urządzenia w argv[0] lub w zmiennej środowiska "
-#~ "DEVICE_URI!\n"
-
-#~ msgid "ERROR: No fonts in charset file %s\n"
-#~ msgstr "ERROR: brak czcionek w pliku zestawu znaków %s\n"
-
-#~ msgid "ERROR: No pages found!\n"
-#~ msgstr "ERROR: nie znaleziono żadnych stron!\n"
-
-#~ msgid "ERROR: Out of paper!\n"
-#~ msgstr "ERROR: brak papieru!\n"
-
-#~ msgid "ERROR: PRINTER environment variable not defined!\n"
-#~ msgstr "ERROR: zmienna środowiska PRINTER nie została określona!\n"
-
-#~ msgid "ERROR: Print file was not accepted (%s)!\n"
-#~ msgstr "ERROR: plik wydruku nie został zaakceptowany (%s)!\n"
-
-#~ msgid "ERROR: Printer not responding\n"
-#~ msgstr "ERROR: drukarka nie odpowiada\n"
-
-#~ msgid "ERROR: Printer not responding!\n"
-#~ msgstr "ERROR: drukarka nie odpowiada!\n"
-
-#~ msgid "ERROR: Printer sent unexpected EOF\n"
-#~ msgstr "ERROR: drukarka wysłała niespodziewany EOF\n"
-
-#~ msgid "ERROR: Remote host did not accept control file (%d)\n"
-#~ msgstr "ERROR: serwer zdalny nie zaakceptował pliku kontrolnego (%d)\n"
-
-#~ msgid "ERROR: Remote host did not accept data file (%d)\n"
-#~ msgstr "ERROR: serwer zdalny nie zaakceptował pliku danych (%d)\n"
-
-#~ msgid "ERROR: There was a timeout error while sending data to the printer\n"
-#~ msgstr ""
-#~ "ERROR: wystąpił błąd upływu limitu czasu podczas wysyłania danych do "
-#~ "drukarki\n"
-
-#~ msgid "ERROR: Unable to add file %d to job: %s\n"
-#~ msgstr "ERROR: nie można dodać pliku %d do zlecenia: %s\n"
-
-#~ msgid "ERROR: Unable to cancel job %d: %s\n"
-#~ msgstr "ERROR: nie można anulować zlecenia %d: %s/n"
-
-#~ msgid "ERROR: Unable to copy PDF file"
-#~ msgstr "ERROR: nie można skopiować pliku PDF"
-
-#~ msgid "ERROR: Unable to create socket"
-#~ msgstr "ERROR: nie można utworzyć gniazda"
-
-#~ msgid "ERROR: Unable to create temporary compressed print file: %s\n"
-#~ msgstr ""
-#~ "ERROR: nie można utworzyć skompresowanego tymczasowego pliku wydruku: %s\n"
-
-#~ msgid "ERROR: Unable to create temporary file"
-#~ msgstr "ERROR: nie można utworzyć pliku tymczasowego"
-
-#~ msgid "ERROR: Unable to create temporary file - %s.\n"
-#~ msgstr "ERROR: nie można utworzyć pliku tymczasowego - %s\n"
-
-#~ msgid "ERROR: Unable to create temporary file: %s\n"
-#~ msgstr "ERROR: nie można utworzyć pliku tymczasowego: %s\n"
-
-#~ msgid "ERROR: Unable to exec pictwpstops: %s\n"
-#~ msgstr "ERROR: nie można wykonać pictwpstops: %s\n"
-
-#~ msgid "ERROR: Unable to execute gs program"
-#~ msgstr "ERROR: nie można wykonać programu gs"
-
-#~ msgid "ERROR: Unable to execute pdftops program"
-#~ msgstr "ERROR: nie można wykonać programu pdftops"
-
-#~ msgid "ERROR: Unable to fork pictwpstops: %s\n"
-#~ msgstr "ERROR: nie można rozdzielić pictwpstops: %s\n"
-
-#~ msgid "ERROR: Unable to get PAP request"
-#~ msgstr "ERROR: nie można uzyskać żądania PAP"
-
-#~ msgid "ERROR: Unable to get PAP response"
-#~ msgstr "ERROR: nie można uzyskać odpowiedzi PAP"
-
-#~ msgid "ERROR: Unable to get PPD file for printer \"%s\" - %s.\n"
-#~ msgstr "ERROR: brak pliku PPD dla drukarki \"%s\" - %s\n"
-
-#~ msgid "ERROR: Unable to get default AppleTalk zone"
-#~ msgstr "ERROR: nie można uzyskać domyślnej strefy AppleTalk"
-
-#~ msgid "ERROR: Unable to get job %d attributes (%s)!\n"
-#~ msgstr "ERROR: nie można uzyskać cech zlecenia %d (%s)!\n"
-
-#~ msgid "ERROR: Unable to get printer status (%s)!\n"
-#~ msgstr "ERROR: nie można uzyskać stanu drukarki (%s)!\n"
-
-#~ msgid "ERROR: Unable to locate printer '%s'!\n"
-#~ msgstr "ERROR: nie można znaleźć drukarki \"%s\"!\n"
-
-#~ msgid "ERROR: Unable to look for PAP response"
-#~ msgstr "ERROR: nie można wyszukać odpowiedzi PAP"
-
-#~ msgid "ERROR: Unable to lookup AppleTalk printers"
-#~ msgstr "ERROR: nie można znaleźć drukarek AppleTalk"
-
-#~ msgid "ERROR: Unable to make AppleTalk address"
-#~ msgstr "ERROR: nie można utworzyć adresu AppleTalk"
-
-#~ msgid "ERROR: Unable to open \"%s\" - %s\n"
-#~ msgstr "ERROR: nie można otworzyć \"%s\" - %s\n"
-
-#~ msgid "ERROR: Unable to open %s: %s\n"
-#~ msgstr "ERROR: nie można otworzyć %s: %s\n"
-
-#~ msgid "ERROR: Unable to open banner file \"%s\" - %s\n"
-#~ msgstr "ERROR: nie można otworzyć pliku bannera \"%s\" - %s\n"
-
-#~ msgid "ERROR: Unable to open device file \"%s\": %s\n"
-#~ msgstr "ERROR: nie można otworzyć pliku urządzenia \"%s\": %s\n"
-
-#~ msgid "ERROR: Unable to open file \"%s\" - %s\n"
-#~ msgstr "ERROR: nie można otworzyć pliku \"%s\" - %s\n"
-
-#~ msgid "ERROR: Unable to open file \"%s\": %s\n"
-#~ msgstr "ERROR: nie można otworzyć pliku \"%s\": %s\n"
-
-#~ msgid "ERROR: Unable to open image file for printing!\n"
-#~ msgstr "ERROR: nie można otworzyć do druku pliku obrazka!\n"
-
-#~ msgid "ERROR: Unable to open print file \"%s\": %s\n"
-#~ msgstr "ERROR: nie można otworzyć pliku wydruku \"%s\": %s\n"
-
-#~ msgid "ERROR: Unable to open print file %s - %s\n"
-#~ msgstr "ERROR: nie można otworzyć pliku wydruku %s - %s\n"
-
-#~ msgid "ERROR: Unable to open print file %s: %s\n"
-#~ msgstr "ERROR: nie można otworzyć pliku wydruku %s: %s\n"
-
-#~ msgid "ERROR: Unable to open temporary compressed print file: %s\n"
-#~ msgstr ""
-#~ "ERROR: nie można otworzyć tymczasowego skompresowanego pliku wydruku: %s\n"
-
-#~ msgid "ERROR: Unable to open temporary file"
-#~ msgstr "ERROR: nie można otworzyć pliku tymczasowego"
-
-#~ msgid "ERROR: Unable to print %d text columns!\n"
-#~ msgstr "ERROR: nie można wydrukować %d łamów tekstu!\n"
-
-#~ msgid "ERROR: Unable to print %dx%d text page!\n"
-#~ msgstr "ERROR: nie można wydrukować %dx%d strony tekstu!\n"
-
-#~ msgid "ERROR: Unable to read print data"
-#~ msgstr "ERROR: nie można odczytać danych druku"
-
-#~ msgid "ERROR: Unable to read print data!\n"
-#~ msgstr "ERROR: nie można odczytać danych druku!\n"
-
-#~ msgid "ERROR: Unable to reserve port"
-#~ msgstr "ERROR: nie można zarezerwować portu"
-
-#~ msgid "ERROR: Unable to seek to offset %ld in file - %s\n"
-#~ msgstr "ERROR: nie można przejść do wiersza %ld w pliku - %s\n"
-
-#~ msgid "ERROR: Unable to seek to offset %lld in file - %s\n"
-#~ msgstr "ERROR: nie można przejść do wiersza %lld w pliku - %s\n"
-
-#~ msgid "ERROR: Unable to send LPD command"
-#~ msgstr "ERROR: nie można wysłać polecenia LPD"
-
-#~ msgid "ERROR: Unable to send PAP tickle request"
-#~ msgstr "ERROR: nie można wysłać żądania PAP tickle"
-
-#~ msgid "ERROR: Unable to send initial PAP send data request"
-#~ msgstr "ERROR: nie można wysłać początkowego żądania wysyłania danych PAP"
-
-#~ msgid "ERROR: Unable to send print data (%d)\n"
-#~ msgstr "ERROR: nie można wysłać danych drukowania (%d)\n"
-
-#~ msgid "ERROR: Unable to send print data!\n"
-#~ msgstr "ERROR: nie można wysłać danych druku!\n"
-
-#~ msgid "ERROR: Unable to send print file to printer"
-#~ msgstr "ERROR: nie można wysłać pliku do drukarki"
-
-#~ msgid "ERROR: Unable to send trailing nul to printer"
-#~ msgstr "ERROR: nie można wysłać początkowego zera do drukarki"
-
-#~ msgid "ERROR: Unable to wait for pictwpstops: %s\n"
-#~ msgstr "ERROR: nie można czekać na pictwpstops: %s\n"
-
-#~ msgid "ERROR: Unable to write %d bytes to \"%s\": %s\n"
-#~ msgstr "ERROR: nie można zapisać %d bajtów do \"%s\":%s\n"
-
-#~ msgid "ERROR: Unable to write %d bytes to printer!\n"
-#~ msgstr "ERROR: nie można zapisać %d bajtów do drukarki!\n"
-
-#~ msgid "ERROR: Unable to write control file"
-#~ msgstr "ERROR: nie można zapisać pliku kontrolnego"
-
-#~ msgid "ERROR: Unable to write print data"
-#~ msgstr "ERROR: nie można zapisać danych druku"
-
-#~ msgid "ERROR: Unable to write print data: %s\n"
-#~ msgstr "ERROR: nie można zapisać danych druku: %s\n"
-
-#~ msgid "ERROR: Unable to write raster data to driver!\n"
-#~ msgstr "ERROR: nie można zapisać zrastrowanych danych do sterownika!\n"
-
-#~ msgid "ERROR: Unable to write to temporary file"
-#~ msgstr "ERROR: nie można zapisać do pliku tymczasowego"
-
-#~ msgid "ERROR: Unable to write uncompressed document data: %s\n"
-#~ msgstr "ERROR: nie można zapisać nieskompresowanych danych dokumentu: %s\n"
-
-#~ msgid "ERROR: Unexpected text on line %d of %s!\n"
-#~ msgstr "ERROR: niespodziewany tekst w linii %d w %s!\n"
-
-#~ msgid "ERROR: Unknown encryption option value \"%s\"!\n"
-#~ msgstr "ERROR: nieznana wartość opcji szyfrowania \"%s\"!\n"
-
-#~ msgid "ERROR: Unknown file order \"%s\"\n"
-#~ msgstr "ERROR: nieznany porządek plików \"%s\"\n"
-
-#~ msgid "ERROR: Unknown format character \"%c\"\n"
-#~ msgstr "ERROR: nieznany znak formatujący \"%c\"\n"
-
-#~ msgid "ERROR: Unknown message catalog format for \"%s\"!\n"
-#~ msgstr "ERROR: nieznany format katalogu wiadomości \"%s\"!\n"
-
-#~ msgid "ERROR: Unknown option \"%s\" with value \"%s\"!\n"
-#~ msgstr "ERROR: nieznana opcja \"%s\" o wartości \"%s\"!\n"
-
-#~ msgid "ERROR: Unknown print mode \"%s\"\n"
-#~ msgstr "ERROR: nieznany tryb druku \"%s\"\n"
-
-#~ msgid "ERROR: Unknown version option value \"%s\"!\n"
-#~ msgstr "ERROR: nieznana wartość opcji wersji \"%s\"!\n"
-
-#~ msgid "ERROR: Unsupported brightness value %s, using brightness=100!\n"
-#~ msgstr ""
-#~ "ERROR: nieobsługiwana wartość jasności %s, korzystam z jasności=100!\n"
-
-#~ msgid "ERROR: Unsupported gamma value %s, using gamma=1000!\n"
-#~ msgstr "ERROR: nieobsługiwana wartość gamma %s, korzystam z gamma=1000!\n"
-
-#~ msgid "ERROR: Unsupported number-up value %d, using number-up=1!\n"
-#~ msgstr ""
-#~ "ERROR: nieobsługiwana wartość liczby kopii %d, korzystam z liczby "
-#~ "kopii=1!\n"
-
-#~ msgid ""
-#~ "ERROR: Unsupported number-up-layout value %s, using number-up-"
-#~ "layout=lrtb!\n"
-#~ msgstr ""
-#~ "ERROR: nieobsługiwana liczba powtórzeń makiety %s, korzystam z liczby "
-#~ "powtórzeń makiety=lrtb!\n"
-
-#~ msgid "ERROR: Unsupported page-border value %s, using page-border=none!\n"
-#~ msgstr ""
-#~ "ERROR: nieobsługiwana wartość ramki strony %s, korzystam z ramki "
-#~ "strony=brak!\n"
-
-#~ msgid "ERROR: doc_printf overflow (%d bytes) detected, aborting!\n"
-#~ msgstr "ERROR: wykryto przepełnienie doc_printf (%d bajtów), przerywam!\n"
-
-#~ msgid "ERROR: pdftops filter crashed on signal %d!\n"
-#~ msgstr "ERROR: filtr pdftops przerwał działanie po sygnale %d!\n"
-
-#~ msgid "ERROR: pdftops filter exited with status %d!\n"
-#~ msgstr "ERROR: filtr pdftops zakończył działanie ze stanem %d!\n"
-
-#~ msgid "ERROR: pictwpstops exited on signal %d!\n"
-#~ msgstr "ERROR: zakończono pictwpstops po sygnale %d!\n"
-
-#~ msgid "ERROR: pictwpstops exited with status %d!\n"
-#~ msgstr "ERROR: zakończono pictwpstops ze stanem %d!\n"
-
-#~ msgid ""
-#~ "ERROR: recoverable: Unable to connect to printer; will retry in 30 "
-#~ "seconds...\n"
-#~ msgstr ""
-#~ "ERROR: usuwalny: nie można się połączyć z drukarką; ponowienie próby "
-#~ "nastąpi za 30 sekund…\n"
-
-#~ msgid "ERROR: select() failed"
-#~ msgstr "ERROR: nieudane select()"
-
-#~ msgid "ERROR: unable to stat print file"
-#~ msgstr "ERROR: nie można utworzyć statusu pliku drukowania"
-
-#~ msgid "Empty PPD file!"
-#~ msgstr "Pusty plik PPD!"
-
-#~ msgid "Error: need hostname after '-h' option!\n"
-#~ msgstr "Błąd: wymagana jest nazwa serwera po opcji \"-h\"!\n"
-
-#~ msgid "FAIL\n"
-#~ msgstr "PROBLEM\n"
-
-#~ msgid ""
-#~ "File device URIs have been disabled! To enable, see the FileDevice "
-#~ "directive in \"%s/cupsd.conf\"."
-#~ msgstr ""
-#~ "URI pliku urządzenia zostało wyłączone! Aby włączyć, zobacz dyrektywę "
-#~ "FileDevice w \"%s/cupsd.conf\"."
-
-#~ msgid "Fuser temperature high!"
-#~ msgstr "Wysoka temperatura wygrzewacza!"
-
-#~ msgid "Fuser temperature low!"
-#~ msgstr "Niska temperatura wygrzewacza!"
-
-#~ msgid "German FanFold"
-#~ msgstr "German FanFold"
-
-#~ msgid "German FanFold Legal"
-#~ msgstr "German FanFold Legal"
-
-#~ msgid "Got a printer-uri attribute but no job-id!"
-#~ msgstr "Otrzymano właściwość printer-uri, ale bez job-id!"
-
-#~ msgid "INFO: AppleTalk disabled in System Preferences\n"
-#~ msgstr "INFO: AppleTalk wyłączone w Preferencjach systemowych\n"
-
-#~ msgid "INFO: AppleTalk disabled in System Preferences.\n"
-#~ msgstr "INFO: AppleTalk wyłączone w Preferencjach systemowych.\n"
-
-#~ msgid "INFO: Canceling print job...\n"
-#~ msgstr "INFO: przerywam zlecenie drukowania…\n"
-
-#~ msgid "INFO: Connected to printer...\n"
-#~ msgstr "INFO: połączony z drukarką...\n"
-
-#~ msgid "INFO: Connecting to printer...\n"
-#~ msgstr "INFO: łączę z drukarką...\n"
-
-#~ msgid "INFO: Control file sent successfully\n"
-#~ msgstr "INFO: udane wysłanie pliku kontrolnego\n"
-
-#~ msgid "INFO: Data file sent successfully\n"
-#~ msgstr "INFO: udane wysłanie pliku danych\n"
-
-#~ msgid "INFO: Formatting page %d...\n"
-#~ msgstr "INFO: formatuję stronę %d…\n"
-
-#~ msgid "INFO: Loading image file...\n"
-#~ msgstr "INFO: wczytuję plik obrazka…\n"
-
-#~ msgid "INFO: Looking for printer...\n"
-#~ msgstr "INFO: szukam drukarki...\n"
-
-#~ msgid "INFO: Opening connection\n"
-#~ msgstr "INFO: otwieram połączenie\n"
-
-#~ msgid "INFO: Print file sent, waiting for printer to finish...\n"
-#~ msgstr ""
-#~ "INFO: wysłano plik drukowania, czekam na zakończenie pracy drukarki…\n"
-
-#~ msgid "INFO: Printer busy; will retry in 10 seconds...\n"
-#~ msgstr "INFO: drukarka jest zajęta; ponowię próbę za 10 sekund…\n"
-
-#~ msgid "INFO: Printer busy; will retry in 30 seconds...\n"
-#~ msgstr "INFO: drukarka jest zajęta; ponowię próbę za 30 sekund…\n"
-
-#~ msgid "INFO: Printer busy; will retry in 5 seconds...\n"
-#~ msgstr "INFO: drukarka jest zajęta; ponowę próbę za 5 sekund…\n"
-
-#~ msgid "INFO: Printer does not support IPP/%d.%d, trying IPP/1.0...\n"
-#~ msgstr "INFO: drukarka nie obsługuje IPP/%d.%d, próbuję IPP/1.0...\n"
-
-#~ msgid "INFO: Printer is busy; will retry in 5 seconds...\n"
-#~ msgstr "INFO: drukarka jest zajęta; ponowię próbę za 5 sekund…\n"
-
-#~ msgid "INFO: Printer is currently off-line.\n"
-#~ msgstr "INFO: drukarka jest wyłączona.\n"
-
-#~ msgid "INFO: Printer is currently offline.\n"
-#~ msgstr "INFO: drukarka nie jest obecnie w trybie gotowości.\n"
-
-#~ msgid "INFO: Printer is now online.\n"
-#~ msgstr "INFO: drukarka jest w trybie gotowości.\n"
-
-#~ msgid "INFO: Printer is offline.\n"
-#~ msgstr "INFO: drukarka nie jest w trybie gotowości.\n"
-
-#~ msgid "INFO: Printer not connected; will retry in 30 seconds...\n"
-#~ msgstr "INFO: drukarka nie jest podłączona; ponowię próbę za 30 sekund…\n"
-
-#~ msgid "INFO: Printing page %d, %d%% complete...\n"
-#~ msgstr "INFO: drukuję stronę %d, %d%% zakończonych…\n"
-
-#~ msgid "INFO: Printing page %d...\n"
-#~ msgstr "INFO: drukuję stronę %d…\n"
-
-#~ msgid "INFO: Ready to print.\n"
-#~ msgstr "INFO: gotowy do drukowania.\n"
-
-#~ msgid "INFO: Sending control file (%lu bytes)\n"
-#~ msgstr "INFO: wysyłam plik kontrolny (%lu bajtów)\n"
-
-#~ msgid "INFO: Sending control file (%u bytes)\n"
-#~ msgstr "INFO: wysyłam plik kontrolny (%u bajtów)\n"
-
-#~ msgid "INFO: Sending data\n"
-#~ msgstr "INFO: wysyłam dane\n"
-
-#~ msgid "INFO: Sending data file (%ld bytes)\n"
-#~ msgstr "INFO: wysyłam plik danych (%ld bajtów)\n"
-
-#~ msgid "INFO: Sending data file (%lld bytes)\n"
-#~ msgstr "INFO: wysyłam plik danych (%lld bajtów)\n"
-
-#~ msgid "INFO: Sending print data...\n"
-#~ msgstr "INFO: wysyłam dane wydruku...\n"
-
-#~ msgid "INFO: Sent print file, %ld bytes...\n"
-#~ msgstr "INFO: wysyłam plik drukowania, %ld bajtów…\n"
-
-#~ msgid "INFO: Sent print file, %lld bytes...\n"
-#~ msgstr "INFO: wysyłam plik drukowania, %lld bajtów…\n"
-
-#~ msgid "INFO: Spooling LPR job, %.0f%% complete...\n"
-#~ msgstr "INFO: Składuję zlecenie LPR, %.0f%% zakończono…\n"
-
-#~ msgid ""
-#~ "INFO: Unable to contact printer, queuing on next printer in class...\n"
-#~ msgstr ""
-#~ "INFO: nie można skontaktować się z drukarką, ustawiam w kolejce następnej "
-#~ "drukarki tej klasy…\n"
-
-#~ msgid "INFO: Using default AppleTalk zone \"%s\"\n"
-#~ msgstr "INFO: używam domyślnej strefy AppleTalk \"%s\"\n"
-
-#~ msgid "INFO: Waiting for job to complete...\n"
-#~ msgstr "INFO: czekam na zakończenie zlecenia…\n"
-
-#~ msgid "INFO: Waiting for printer to become available...\n"
-#~ msgstr "INFO: czekam, aż drukarka stanie się dostępna...\n"
-
-#~ msgid "ISO B0"
-#~ msgstr "ISO B0"
-
-#~ msgid "ISO B1"
-#~ msgstr "ISO B1"
-
-#~ msgid "ISO B10"
-#~ msgstr "ISO B10"
-
-#~ msgid "ISO B2"
-#~ msgstr "ISO B2"
-
-#~ msgid "ISO B3"
-#~ msgstr "ISO B3"
-
-#~ msgid "ISO B4"
-#~ msgstr "ISO B4"
-
-#~ msgid "ISO B4 Envelope"
-#~ msgstr "Koperta ISO B4"
-
-#~ msgid "ISO B5"
-#~ msgstr "ISO B5"
-
-#~ msgid "ISO B5 (Oversize)"
-#~ msgstr "ISO B5 (Oversize)"
-
-#~ msgid "ISO B5 Envelope"
-#~ msgstr "Koperta ISO B5"
-
-#~ msgid "ISO B6"
-#~ msgstr "ISO B6"
-
-#~ msgid "ISO B6 Envelope"
-#~ msgstr "Koperta ISO B6"
-
-#~ msgid "ISO B7"
-#~ msgstr "ISO B7"
-
-#~ msgid "ISO B8"
-#~ msgstr "ISO B8"
-
-#~ msgid "ISO B9"
-#~ msgstr "ISO B9"
-
-#~ msgid "Ink/toner almost empty."
-#~ msgstr "Tusz lub toner jest niemal pusty."
-
-#~ msgid "Ink/toner empty!"
-#~ msgstr "Tusz lub toner skończył się!"
-
-#~ msgid "Ink/toner waste bin almost full."
-#~ msgstr "Zbiornik zużytego atramentu lub tonera jest niemal pełny."
-
-#~ msgid "Ink/toner waste bin full!"
-#~ msgstr "Zbiornik zużytego atramentu lub tonera jest pełny!"
-
-#~ msgid "Interlock open."
-#~ msgstr "Rygiel jest otwarty."
-
-#~ msgid "Invite Envelope"
-#~ msgstr "Koperta zaproszenia"
-
-#~ msgid "Italian Envelope"
-#~ msgstr "Koperta włoska"
-
-#~ msgid "Job #%d cannot be restarted - no files!"
-#~ msgstr "Zlecenie #%d nie może zostać ponownie uruchomione - brak plików!"
-
-#~ msgid "Job #%d does not exist!"
-#~ msgstr "Zlecenie #%d nie istnieje!"
-
-#~ msgid "Job #%d is finished and cannot be altered!"
-#~ msgstr "Zlecenie #%d zostało zakończone i nie może zostać zmienione!"
-
-#~ msgid "Job #%d is not complete!"
-#~ msgstr "Zlecenie #%d nie zostało zakończone!"
-
-#~ msgid "Job #%d is not held for authentication!"
-#~ msgstr "Zlecenie #%d nie zostało wstrzymane do uwierzytelnienia!"
-
-#~ msgid "Job #%d is not held!"
-#~ msgstr "Zlecenie #%d nie zostało wstrzymane!"
-
-#~ msgid "Job #%s does not exist!"
-#~ msgstr "Zlecenie #%s nie istnieje!"
-
-#~ msgid "Job %d not found!"
-#~ msgstr "Nie znaleziono zlecenia %d!"
-
-#~ msgid "Job subscriptions cannot be renewed!"
-#~ msgstr "Subskrypcje zlecenia nie mogą zostać ponowione!"
-
-#~ msgid "Kaku2 Envelope"
-#~ msgstr "Koperta Kaku2"
-
-#~ msgid "Kaku3 Envelope"
-#~ msgstr "Koperta Kaku3"
-
-#~ msgid "Language \"%s\" not supported!"
-#~ msgstr "Język \"%s\" jest nieobsługiwany!"
-
-#~ msgid "Media jam!"
-#~ msgstr "Zacięcie nośnika!"
-
-#~ msgid "Media tray almost empty."
-#~ msgstr "Podajnik nośnika jest niemal pusty."
-
-#~ msgid "Media tray empty!"
-#~ msgstr "Podajnik nośnika jest pusty!"
-
-#~ msgid "Media tray missing!"
-#~ msgstr "Brak podajnika nośnika!"
-
-#~ msgid "Media tray needs to be filled."
-#~ msgstr "Trzeba napełnić podajnik nośnika."
-
-#~ msgid "Missing document-number attribute!"
-#~ msgstr "Brakujący atrybut document-number!"
-
-#~ msgid "Missing double quote on line %d!"
-#~ msgstr "Brakujący cudzysłów w wierszu %d!"
-
-#~ msgid "Missing form variable!"
-#~ msgstr "Brakująca zmienna formularza!"
-
-#~ msgid "Missing notify-subscription-ids attribute!"
-#~ msgstr "Brakująca cecha notify-subscription-ids!"
-
-#~ msgid "Missing requesting-user-name attribute!"
-#~ msgstr "Brakuje cecha requesting-user-name!"
-
-#~ msgid "Missing required attributes!"
-#~ msgstr "Brakuje wymaganych cech!"
-
-#~ msgid "Missing value on line %d!"
-#~ msgstr "Brakująca wartość w wierszu %d!"
-
-#~ msgid ""
-#~ "Model:  name = %s\n"
-#~ "        natural_language = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ msgstr ""
-#~ "Model:  name = %s\n"
-#~ "        natural_language = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-
-#~ msgid "Monarch"
-#~ msgstr "Monarch"
-
-#~ msgid "Monarch Envelope"
-#~ msgstr "Koperta Monarch"
-
-#~ msgid "NOTICE: Print file accepted - job ID %d.\n"
-#~ msgstr "NOTICE: zaakceptowano plik druku - ID zlecenia %d.\n"
-
-#~ msgid "NOTICE: Print file accepted - job ID unknown.\n"
-#~ msgstr "NOTICE: zaakceptowano plik drukowania - nieznane ID zlecenia.\n"
-
-#~ msgid "No PPD name!"
-#~ msgstr "Brak nazwy PPD!"
-
-#~ msgid "No Windows printer drivers are installed!"
-#~ msgstr "Brak zainstalowanych sterowników drukarek dla Windows!"
-
-#~ msgid "No active jobs on %s!"
-#~ msgstr "Brak aktywnych zadań na %s!"
-
-#~ msgid "No attributes in request!"
-#~ msgstr "Brak cech w żądaniu!"
-
-#~ msgid "No authentication information provided!"
-#~ msgstr "Nie dostarczono informacji o uwierzytelnianiu!"
-
-#~ msgid "No default printer"
-#~ msgstr "Brak domyślnej drukarki"
-
-#~ msgid "No file!?!"
-#~ msgstr "Brak pliku?!?"
-
-#~ msgid "No modification time!"
-#~ msgstr "Brak czasu zmiany!"
-
-#~ msgid "No printer name!"
-#~ msgstr "Brak nazwy drukarki!"
-
-#~ msgid "No printer-uri found for class!"
-#~ msgstr "Nie znaleziono printer-uri dla tej klasy!"
-
-#~ msgid "No printer-uri found!"
-#~ msgstr "Nie znaleziono printer-uri!"
-
-#~ msgid "No printer-uri in request!"
-#~ msgstr "Żądanie nie zawiera printer-uri!"
-
-#~ msgid "No subscription attributes in request!"
-#~ msgstr "Brak cech subskrypcji w żądaniu!"
-
-#~ msgid "OPC almost at end-of-life."
-#~ msgstr "OPC jest niemal zużyty."
-
-#~ msgid "OPC at end-of-life!"
-#~ msgstr "OPC jest zużyty!"
-
-#~ msgid "Out of toner!"
-#~ msgstr "Brak tonera!"
-
-#~ msgid "Output bin almost full."
-#~ msgstr "Odbiornik jest niemal pełny."
-
-#~ msgid "Output bin full!"
-#~ msgstr "Odbiornik jest pełny!"
-
-#~ msgid "Output for printer %s is sent to %s\n"
-#~ msgstr "Wyjście dla drukarki %s zostało wysłane do %s\n"
-
-#~ msgid "Output for printer %s is sent to remote printer %s on %s\n"
-#~ msgstr ""
-#~ "Wyjście dla drukarki %s zostało wysłane do zdalnej drukarki %s na %s\n"
-
-#~ msgid "Output for printer %s/%s is sent to %s\n"
-#~ msgstr "Wyjście dla drukarki %s/%s zostało wysłane do %s\n"
-
-#~ msgid "Output for printer %s/%s is sent to remote printer %s on %s\n"
-#~ msgstr ""
-#~ "Wyjście dla drukarki %s/%s zostało wysłane do zdalnej drukarki %s na %s\n"
-
-#~ msgid "Output tray missing!"
-#~ msgstr "Brak odbiornika!"
-
-#~ msgid "PASS\n"
-#~ msgstr "SUKCES\n"
-
-#~ msgid "PRC1 Envelope"
-#~ msgstr "Koperta PRC1"
-
-#~ msgid "PRC10 Envelope"
-#~ msgstr "Koperta PRC10"
-
-#~ msgid "PRC2 Envelope"
-#~ msgstr "Koperta PRC2"
-
-#~ msgid "PRC3 Envelope"
-#~ msgstr "Koperta PRC3"
-
-#~ msgid "PRC32K (Oversize)"
-#~ msgstr "PRC32K (oversize)"
-
-#~ msgid "PRC4 Envelope"
-#~ msgstr "Koperta PRC4"
-
-#~ msgid "PRC5 Envelope"
-#~ msgstr "Koperta PRC5"
-
-#~ msgid "PRC6 Envelope"
-#~ msgstr "Koperta PRC6"
-
-#~ msgid "PRC7 Envelope"
-#~ msgstr "Koperta PRC7"
-
-#~ msgid "PRC8 Envelope"
-#~ msgstr "Koperta PRC8"
-
-#~ msgid "PRC9 Envelope"
-#~ msgstr "Koperta PRC9"
-
-#~ msgid "Personal Envelope"
-#~ msgstr "Koperta osobista"
-
-#~ msgid "Printer offline."
-#~ msgstr "Drukarka nie gotowa."
-
-#~ msgid "Rank    Owner   Job     File(s)                         Total Size\n"
-#~ msgstr ""
-#~ "Kolejność    Właściciel   Zlecenie     Pliki                         "
-#~ "Całkowity rozmiar\n"
-
-#~ msgid ""
-#~ "Rank   Owner      Pri  Job        Files                       Total Size\n"
-#~ msgstr ""
-#~ "Kolejność   Właściciel      Drukowanie  Zlecenie        "
-#~ "Pliki                       Całkowity rozmiar\n"
-
-#~ msgid "Running command: %s %s -N -A %s -c '%s'\n"
-#~ msgstr "Uruchamiam polecenie: %s %s -N -A %s -c \"%s\"\n"
-
-#~ msgid "SCSI Printer"
-#~ msgstr "Drukarka SCSI"
-
-#~ msgid "Tabloid (Oversize)"
-#~ msgstr "Tabloid (oversize)"
-
-#~ msgid "The notify-user-data value is too large (%d > 63 octets)!"
-#~ msgstr "Wartość notify-user-data jest za duża (%d > 63 oktety)!"
-
-#~ msgid "The printer or class is not shared!"
-#~ msgstr "Drukarka lub klasa nie jest udostępniana!"
-
-#~ msgid "The printer or class was not found."
-#~ msgstr "Drukarka lub klasa nie została znaleziona."
-
-#~ msgid "The printer-uri attribute is required!"
-#~ msgstr "Wymagana jest cecha printer-uri!"
-
-#~ msgid "Toner low."
-#~ msgstr "Niski poziom tonera."
-
-#~ msgid "Too many job-sheets values (%d > 2)!"
-#~ msgstr "Zbyt wiele wartości job-sheets (%d > 2)!"
-
-#~ msgid "Too many printer-state-reasons values (%d > %d)!"
-#~ msgstr "Zbyt wiele wartości printer-state-reasons (%d > %d)!"
-
-#~ msgid "US Executive"
-#~ msgstr "US Executive"
-
-#~ msgid "US Fanfold"
-#~ msgstr "US Fanfold"
-
-#~ msgid "US Legal (Oversize)"
-#~ msgstr "US Legal (Oversize)"
-
-#~ msgid "US Letter (Oversize)"
-#~ msgstr "US Letter (Oversize)"
-
-#~ msgid "US Letter (Small)"
-#~ msgstr "US Letter (Small)"
-
-#~ msgid "Unable to add job for destination \"%s\"!"
-#~ msgstr "Nie można dodać zlecenia do celu \"%s\"!"
-
-#~ msgid "Unable to allocate memory for file types!"
-#~ msgstr "Nie można przydzielić pamięci dla rodzaju plików!"
-
-#~ msgid "Unable to copy 64-bit CUPS printer driver files (%d)!"
-#~ msgstr ""
-#~ "Nie można skopiować 64 bitowych plików sterowników drukarek CUPS (%d)!"
-
-#~ msgid "Unable to copy 64-bit Windows printer driver files (%d)!"
-#~ msgstr ""
-#~ "Nie można skopiować 64 bitowych plików sterowników drukarek Windows (%d)!"
-
-#~ msgid "Unable to copy CUPS printer driver files (%d)!"
-#~ msgstr "Nie można skopiować plików sterowników drukarek CUPS (%d)!"
-
-#~ msgid "Unable to copy PPD file - %s!"
-#~ msgstr "Nie można skopiować pliku PPD - %s!"
-
-#~ msgid "Unable to copy PPD file!"
-#~ msgstr "Nie można skopiować pliku PPD!"
-
-#~ msgid "Unable to copy Windows 2000 printer driver files (%d)!"
-#~ msgstr "Nie można skopiować plików sterowników drukarek Windows 2000 (%d)!"
-
-#~ msgid "Unable to copy Windows 9x printer driver files (%d)!"
-#~ msgstr "Nie można skopiować plików sterowników drukarek Windows 9x (%d)!"
-
-#~ msgid "Unable to copy interface script - %s!"
-#~ msgstr "Nie można skopiować skryptu interfejsu - %s!"
-
-#~ msgid "Unable to create printer-uri!"
-#~ msgstr "Nie można utworzyć printer-uri!"
-
-#~ msgid "Unable to edit cupsd.conf files larger than 1MB!"
-#~ msgstr "Nie można zmienić plików cupsd.conf większych niż 1MB!"
-
-#~ msgid "Unable to find destination for job!"
-#~ msgstr "Nie można znaleźć celu dla zlecenia!"
-
-#~ msgid "Unable to find printer!\n"
-#~ msgstr "Nie można znaleźć drukarki!\n"
-
-#~ msgid "Unable to install Windows 2000 printer driver files (%d)!"
-#~ msgstr ""
-#~ "Nie można zainstalować plików sterowników drukarek Windows 2000 (%d)!"
-
-#~ msgid "Unable to install Windows 9x printer driver files (%d)!"
-#~ msgstr "Nie można zainstalować plików sterowników drukarek Windows 9x (%d)!"
-
-#~ msgid "Unable to open document %d in job %d!"
-#~ msgstr "Nie można otworzyć dokumentu %d w zleceniu %d!"
-
-#~ msgid "Unable to run \"%s\": %s\n"
-#~ msgstr "Nie można uruchomić \"%s\": %s\n"
-
-#~ msgid "Unable to send command to printer driver!"
-#~ msgstr "Nie można wysłać polecenia do sterownika drukarki!"
-
-#~ msgid "Unable to set Windows printer driver (%d)!"
-#~ msgstr "Nie można ustawić sterownika drukarki Windows (%d)!"
-
-#~ msgid "Unable to use legacy USB class driver!\n"
-#~ msgstr "Nie można użyć starszego sterownika USB!\n"
-
-#~ msgid "Unknown printer error (%s)!"
-#~ msgstr "Nieznany błąd drukarki (%s)!"
-
-#~ msgid "Unsupported character set \"%s\"!"
-#~ msgstr "Nieobsługiwany zestaw znaków \"%s\"!"
-
-#~ msgid "Unsupported compression \"%s\"!"
-#~ msgstr "Nieobsługiwana kompresja \"%s\"!"
-
-#~ msgid "Unsupported compression attribute %s!"
-#~ msgstr "Nieobsługiwana cecha kompresji %s!"
-
-#~ msgid "Unsupported format \"%s\"!"
-#~ msgstr "Nieobsługiwany format \"%s\"!"
-
-#~ msgid "Unsupported format '%s'!"
-#~ msgstr "Nieobsługiwany format \"%s\"!"
-
-#~ msgid "Unsupported format '%s/%s'!"
-#~ msgstr "Nieobsługiwany format \"%s/%s\"!"
-
-#~ msgid ""
-#~ "Usage:\n"
-#~ "\n"
-#~ "    lpadmin [-h server] -d destination\n"
-#~ "    lpadmin [-h server] -x destination\n"
-#~ "    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m "
-#~ "model]\n"
-#~ "                       [-r remove-class] [-v device] [-D description]\n"
-#~ "                       [-P ppd-file] [-o name=value]\n"
-#~ "                       [-u allow:user,user] [-u deny:user,user]\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Użycie:\n"
-#~ "\n"
-#~ "    lpadmin [-h serwer] -d cel\n"
-#~ "    lpadmin [-h serwer] -x cel\n"
-#~ "    lpadmin [-h serwer] -p drukarka [-c dodaj-klasę] [-i interfejs] [-m "
-#~ "model]\n"
-#~ "                       [-r usuń-klasę] [-v urządzenie] [-D opis]\n"
-#~ "                       [-P plik-ppd] [-o nazwa=wartość]\n"
-#~ "                       [-u zezwól:użytkownik,użytkownik] [-u zabroń:"
-#~ "użytkownik,użytkownik]\n"
-#~ "\n"
-
-#~ msgid "Usage: %s job user title copies options [filename]\n"
-#~ msgstr "Użycie: %s zlecenie użytkownik tytuł liczba_kopii opcje [plik]\n"
-
-#~ msgid "Usage: %s job-id user title copies options [file]\n"
-#~ msgstr "Użycie: %s id_zlecenia użytkownik tytuł liczba_kopii opcje [plik]\n"
-
-#~ msgid "Usage: %s job-id user title copies options file\n"
-#~ msgstr "Użycie: %s id_zlecenia użytkownik tytuł liczba_kopii opcje plik\n"
-
-#~ msgid ""
-#~ "Usage: convert [ options ]\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "  -f filename          Set file to be converted (otherwise stdin)\n"
-#~ "  -o filename          Set file to be generated (otherwise stdout)\n"
-#~ "  -i mime/type         Set input MIME type (otherwise auto-typed)\n"
-#~ "  -j mime/type         Set output MIME type (otherwise application/pdf)\n"
-#~ "  -P filename.ppd      Set PPD file\n"
-#~ "  -a 'name=value ...'  Set option(s)\n"
-#~ "  -U username          Set username for job\n"
-#~ "  -J title             Set title\n"
-#~ "  -c copies            Set number of copies\n"
-#~ "  -u                   Remove the PPD file when finished\n"
-#~ "  -D                   Remove the input file when finished\n"
-#~ msgstr ""
-#~ "Użycie: convert [ opcje ]\n"
-#~ "\n"
-#~ "Opcje:\n"
-#~ "\n"
-#~ "  -f plik          Wybiera plik do konwersji (gdy pominięte, przyjmuje "
-#~ "stdin)\n"
-#~ "  -o plik          Wybiera plik do wygenerowania (gdy pominięte, "
-#~ "przyjmuje stdout)\n"
-#~ "  -i typ/MIME         Typ MIME na wejściu (gdy pominięte, przyjmowany "
-#~ "automatycznie)\n"
-#~ "  -j typ/MIME         Typ MIME na wyjściu (gdy pominięte, przyjmowany "
-#~ "application/pdf)\n"
-#~ "  -P plik.ppd      Plik PPD\n"
-#~ "  -a 'nazwa=wartość ...'  Wybiera opcje\n"
-#~ "  -U użytkownik          Wybiera nazwę użytkownika dla zlecenia\n"
-#~ "  -J tytuł             Ustala tytuł\n"
-#~ "  -c kopie            Ustala liczbę kopii\n"
-#~ "  -u                   Usuń plik PPD po zakończeniu\n"
-#~ "  -D                   Usuń plik wejściowy po zakończeniu\n"
-
-#~ msgid ""
-#~ "Usage: cupsaddsmb [options] printer1 ... printerN\n"
-#~ "       cupsaddsmb [options] -a\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "  -E               Encrypt the connection to the server\n"
-#~ "  -H samba-server  Use the named SAMBA server\n"
-#~ "  -U samba-user    Authenticate using the named SAMBA user\n"
-#~ "  -a               Export all printers\n"
-#~ "  -h cups-server   Use the named CUPS server\n"
-#~ "  -v               Be verbose (show commands)\n"
-#~ msgstr ""
-#~ "Użycie: cupsaddsmb [opcje] drukarka1 ... drukarkaN\n"
-#~ "       cupsaddsmb [opcje] -a\n"
-#~ "\n"
-#~ "Opcje:\n"
-#~ "  -E               Szyfruj połączenie z serwerem\n"
-#~ "  -H serwer_samba  Użyj nazwy serwera SAMBA\n"
-#~ "  -U użytkownik_samba    Uwierzytelnienie nazwą użytkownika SAMBA\n"
-#~ "  -a               Eksportuj wszystkie drukarki\n"
-#~ "  -h serwer_cups   Użyj nazwy serwera CUPS\n"
-#~ "  -v               Podgląd (wyświetla polecenia)\n"
-
-#~ msgid ""
-#~ "Usage: cupsctl [options] [param=value ... paramN=valueN]\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -E                      Enable encryption\n"
-#~ "    -U username             Specify username\n"
-#~ "    -h server[:port]        Specify server address\n"
-#~ "\n"
-#~ "    --[no-]debug-logging    Turn debug logging on/off\n"
-#~ "    --[no-]remote-admin     Turn remote administration on/off\n"
-#~ "    --[no-]remote-any       Allow/prevent access from the Internet\n"
-#~ "    --[no-]remote-printers  Show/hide remote printers\n"
-#~ "    --[no-]share-printers   Turn printer sharing on/off\n"
-#~ "    --[no-]user-cancel-any  Allow/prevent users to cancel any job\n"
-#~ msgstr ""
-#~ "Użycie: cupsctl [opcje] [param=wartość ... paramN=wartośćN]\n"
-#~ "\n"
-#~ "Opcje:\n"
-#~ "\n"
-#~ "    -E                      Włącz szyfrowanie\n"
-#~ "    -U nazwa_użytkownika             Określ nazwę użytkownika\n"
-#~ "    -h serwer[:port]        Określ adres serwera\n"
-#~ "\n"
-#~ "    --[no-]debug-logging    Włącz lub wyłącz dziennik błędów\n"
-#~ "    --[no-]remote-admin     Włącz lub wyłącz zdalną administrację\n"
-#~ "    --[no-]remote-any       Pozwól lub zabroń dostęp przez Internet\n"
-#~ "    --[no-]remote-printers  Pokaż lub ukryj zdalne drukarki\n"
-#~ "    --[no-]share-printers   Włącz lub wyłącz udostępnianie drukarek\n"
-#~ "    --[no-]user-cancel-any  Pozwól lub zabroń użytkownikom anulowanie "
-#~ "dowolnego zlecenia\n"
-
-#~ msgid ""
-#~ "Usage: cupsd [-c config-file] [-f] [-F] [-h] [-l]\n"
-#~ "\n"
-#~ "-c config-file      Load alternate configuration file\n"
-#~ "-f                  Run in the foreground\n"
-#~ "-F                  Run in the foreground but detach\n"
-#~ "-h                  Show this usage message\n"
-#~ "-l                  Run cupsd from launchd(8)\n"
-#~ msgstr ""
-#~ "Użycie: cupsd [-c plik-konfiguracji] [-f] [-F] [-h] [-l]\n"
-#~ "\n"
-#~ "-c plik-konfiguracji      Wczytuje alternatywny plik konfiguracji\n"
-#~ "-f                  Uruchamia na pierwszym planie\n"
-#~ "-F                  Uruchamia na pierwszym planie, ale odłączone\n"
-#~ "-h                  Wyświetla wiadomości o użyciu\n"
-#~ "-l                  Uruchamia cupsd z launchd(8)\n"
-
-#~ msgid ""
-#~ "Usage: cupsfilter -m mime/type [ options ] filename\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "  -c cupsd.conf    Set cupsd.conf file to use\n"
-#~ "  -j job-id[,N]    Filter file N from the specified job (default is file "
-#~ "1)\n"
-#~ "  -n copies        Set number of copies\n"
-#~ "  -o name=value    Set option(s)\n"
-#~ "  -p filename.ppd  Set PPD file\n"
-#~ "  -t title         Set title\n"
-#~ msgstr ""
-#~ "Użycie: cupsfilter -m typ/mime [ opcje ] plik\n"
-#~ "\n"
-#~ "Opcje:\n"
-#~ "\n"
-#~ "  -c cupsd.conf    Wybiera plik cupsd.conf do użycia\n"
-#~ "  -j job-id[,N]    Filtruje plik N z podanego zlecenia (domyślnie plik "
-#~ "1)\n"
-#~ "  -n kopie        Ustala liczbę kopii\n"
-#~ "  -o nazwa=wartość    Ustala opcje\n"
-#~ "  -p plik.ppd  Wybiera plik PPD\n"
-#~ "  -t tytuł         Ustala tytuł\n"
-
-#~ msgid ""
-#~ "Usage: cupstestdsc [options] filename.ps [... filename.ps]\n"
-#~ "       cupstestdsc [options] -\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -h       Show program usage\n"
-#~ "\n"
-#~ "    Note: this program only validates the DSC comments, not the "
-#~ "PostScript itself.\n"
-#~ msgstr ""
-#~ "Użycie: cupstestdsc [opcje] nazwapliku.ps [... nazwapliku.ps]\n"
-#~ "       cupstestdsc [opcje] -\n"
-#~ "\n"
-#~ "Opcje:\n"
-#~ "\n"
-#~ "    -h       Wyświetla użycie programu\n"
-#~ "\n"
-#~ "    Uwaga: ten program sprawdza tylko komentarze DSC, nie PostScriptowe.\n"
-
-#~ msgid ""
-#~ "Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]\n"
-#~ "       program | cupstestppd [options] -\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -R root-directory    Set alternate root\n"
-#~ "    -W {all,none,constraints,defaults,duplex,filters,translations}\n"
-#~ "                         Issue warnings instead of errors\n"
-#~ "    -q                   Run silently\n"
-#~ "    -r                   Use 'relaxed' open mode\n"
-#~ "    -v                   Be slightly verbose\n"
-#~ "    -vv                  Be very verbose\n"
-#~ msgstr ""
-#~ "Użycie: cupstestppd [options] plik1.ppd[.gz] [... plikN.ppd[.gz]]\n"
-#~ "       program | cupstestppd [opcje] -\n"
-#~ "\n"
-#~ "Opcje:\n"
-#~ "\n"
-#~ "    -R katalog-główny    Ustala inny katalog główny\n"
-#~ "    -W {all,none,constraints,defaults,duplex,filters,translations}\n"
-#~ "                         Zwraca ostrzeżenia zamiast błędów\n"
-#~ "    -q                   Działa bez komunikatów\n"
-#~ "    -r                   Używaj trybu otwarcia relaxed\n"
-#~ "    -v                   Mniej komunikatów\n"
-#~ "    -vv                  Dużo komunikatów\n"
-
-#~ msgid "Usage: lpmove job/src dest\n"
-#~ msgstr "Użycie: lpmove zlecenie/źródło cel\n"
-
-#~ msgid ""
-#~ "Usage: lpoptions [-h server] [-E] -d printer\n"
-#~ "       lpoptions [-h server] [-E] [-p printer] -l\n"
-#~ "       lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
-#~ "       lpoptions [-h server] [-E] -x printer\n"
-#~ msgstr ""
-#~ "Użycie: lpoptions [-h serwer] [-E] -d drukarka\n"
-#~ "       lpoptions [-h serwer] [-E] [-p drukarka] -l\n"
-#~ "       lpoptions [-h serwer] [-E] -p drukarka -o opcja[=wartość] ...\n"
-#~ "       lpoptions [-h serwer] [-E] -x drukarka\n"
-
-#~ msgid "Usage: lppasswd [-g groupname]\n"
-#~ msgstr "Użycie: lppasswd [-g nazwagrupy]\n"
-
-#~ msgid ""
-#~ "Usage: lppasswd [-g groupname] [username]\n"
-#~ "       lppasswd [-g groupname] -a [username]\n"
-#~ "       lppasswd [-g groupname] -x [username]\n"
-#~ msgstr ""
-#~ "Użycie: lppasswd [-g nazwagrupy] [nazwaużytkownika]\n"
-#~ "       lppasswd [-g nazwagrupy] -a [nazwaużytkownika]\n"
-#~ "       lppasswd [-g nazwagrupy] -x [nazwaużytkownika]\n"
-
-#~ msgid ""
-#~ "Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]\n"
-#~ msgstr ""
-#~ "Użycie: lpq [-P cel] [-U nazwaużytkownika] [-h nazwakomputera[:port]] [-"
-#~ "l] [+przerwanie]\n"
-
-#~ msgid ""
-#~ "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]\n"
-#~ "Options:\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "  -I include-dir       Add include directory to search path.\n"
-#~ "  -c catalog.po        Load the specified message catalog.\n"
-#~ "  -d output-dir        Specify the output directory.\n"
-#~ "  -l lang[,lang,...]   Specify the output language(s) (locale).\n"
-#~ "  -m                   Use the ModelName value as the filename.\n"
-#~ "  -t                   Test PPDs instead of generating them.\n"
-#~ "  -v                   Be verbose (more v's for more verbosity).\n"
-#~ "  -z                   Compress PPD files using GNU zip.\n"
-#~ "  --cr                 End lines with CR (Mac OS 9).\n"
-#~ "  --crlf               End lines with CR + LF (Windows).\n"
-#~ "  --lf                 End lines with LF (UNIX/Linux/Mac OS X).\n"
-#~ msgstr ""
-#~ "Użycie: ppdc [opcje] plik.drv [ ... plikN.drv ]\n"
-#~ "Opcje:\n"
-#~ "  -D nazwa=wartość        Przypisuje wartość nazwanej zmiennej.\n"
-#~ "  -I katalog-dołączeń       Dodaje katalog do ścieżki wyszukiwania.\n"
-#~ "  -c katalog.po        Wczytuje podany katalog komunikatów.\n"
-#~ "  -d katalog-wyjściowy        Wybiera katalog wyjściowy.\n"
-#~ "  -l język[,język,...]   Ustala języki wyjścia (locale).\n"
-#~ "  -m                   Używa nazwy ModelName jako nazwy pliku.\n"
-#~ "  -t                   Testuje pliki PPD zamiast je generować.\n"
-#~ "  -v                   Dodatkowe informacje (im więcej opcji v, tym "
-#~ "więcej informacji).\n"
-#~ "  -z                   Kompresuje plik PPD za pomocą GNU zip.\n"
-#~ "  --cr                 Znaki końca wiersza to CR (Mac OS 9).\n"
-#~ "  --crlf               Znaki końca wiersza to CR+LF (Windows).\n"
-#~ "  --lf                 Znaki końca wiersza to LF (UNIX/Linux/Mac OS X).\n"
-
-#~ msgid ""
-#~ "Usage: ppdhtml [options] filename.drv >filename.html\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "Options:\n"
-#~ "  -I include-dir    Add include directory to search path.\n"
-#~ msgstr ""
-#~ "Użycie: ppdhtml [opcje] plik.drv >plik.html\n"
-#~ "  -D nazwa=wartość        Przypisuje wartość nazwanej zmiennej.\n"
-#~ "Opcje:\n"
-#~ "  -I katalog-dołączeń    Dodaje katalog do ścieżki wyszukiwania.\n"
-
-#~ msgid ""
-#~ "Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Options:\n"
-#~ "  -I include-dir\n"
-#~ "  -o filename.drv\n"
-#~ msgstr ""
-#~ "Użycie: ppdi [opcje] plik.ppd [ ... plikN.ppd ]\n"
-#~ "Opcje:\n"
-#~ "  -I katalog-dołączeń\n"
-#~ "  -o plik.drv\n"
-
-#~ msgid ""
-#~ "Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Options:\n"
-#~ "  -o filename.ppd[.gz]\n"
-#~ msgstr ""
-#~ "Użycie: ppdmerge [opcje] plik.ppd [ ... plikN.ppd ]\n"
-#~ "Opcje:\n"
-#~ "  -o plik.ppd[.gz]\n"
-
-#~ msgid ""
-#~ "Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]\n"
-#~ "Options:\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "  -I include-dir    Add include directory to search path.\n"
-#~ "  -v                Be verbose (more v's for more verbosity).\n"
-#~ msgstr ""
-#~ "Użycie: ppdpo [opcje] -o plik.po plik.drv [ ... plikN.drv ]\n"
-#~ "Opcje:\n"
-#~ "  -D nazwa=wartość        Przypisuje nazwanej zmiennej podaną wartość.\n"
-#~ "  -I katalog-dołączeń    Dodaje katalog do ścieżki wyszukiwania.\n"
-#~ "  -v                Dodatkowe informacje (im więcej opcji v, tym więcej "
-#~ "informacji).\n"
-
-#~ msgid "Usage: snmp [host-or-ip-address]\n"
-#~ msgstr "Użycie: snmp [serwer_lub_adres_ip]\n"
-
-#~ msgid "WARNING: Adding only the first %d printers found"
-#~ msgstr "WARNING: dodaję tylko pierwszych %d znalezionych drukarek"
-
-#~ msgid "WARNING: Boolean expected for waiteof option \"%s\"\n"
-#~ msgstr "WARNING: dla opcji waiteof oczekiwano wartości logicznej \"%s\"\n"
-
-#~ msgid "WARNING: Failed to read side-channel request!\n"
-#~ msgstr "WARNING: nie można odczytać żądania z kanału bocznego!\n"
-
-#~ msgid "WARNING: Option \"%s\" cannot be included via IncludeFeature!\n"
-#~ msgstr ""
-#~ "WARNING: Opcja \"%s\" nie może zostać dołączona za pomocą "
-#~ "IncludeFeature!\n"
-
-#~ msgid "WARNING: Printer not responding\n"
-#~ msgstr "WARNING: drukarka nie odpowiada\n"
-
-#~ msgid "WARNING: Printer sent unexpected EOF\n"
-#~ msgstr "WARNING: drukarka wysłała niespodziewany EOF\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with command status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: Serwer zdalny nie odpowiada bajtem statusu polecenia po %d "
-#~ "sekundach!\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with control status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: zdalny serwer nie odpowiada bajtem statusu kontroli po %d "
-#~ "sekundach!\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with data status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: zdalny serwer nie odpowiada bajtem statusu danych po %d "
-#~ "sekundach!\n"
-
-#~ msgid "WARNING: SCSI command timed out (%d); retrying...\n"
-#~ msgstr "WARNING: Upłynął czas oczekiwania polecenia SCSI (%d); ponawiam…\n"
-
-#~ msgid ""
-#~ "WARNING: This document does not conform to the Adobe Document Structuring "
-#~ "Conventions and may not print correctly!\n"
-#~ msgstr ""
-#~ "WARNING: Ten dokument nie jest zgodny z Konwencją struktury dokumentu "
-#~ "Adobe i może nie zostać wydrukowany prawidłowo!\n"
-
-#~ msgid "WARNING: Unable to open \"%s:%s\": %s\n"
-#~ msgstr "WARNING: nie można otworzyć \"%s:%s\": %s\n"
-
-#~ msgid "WARNING: Unable to send PAP status request"
-#~ msgstr "WARNING: nie da się wysłać żądania statusu PAP"
-
-#~ msgid "WARNING: Unexpected PAP packet of type %d\n"
-#~ msgstr "WARNING: niespodziewany pakiet PAP typu %d\n"
-
-#~ msgid "WARNING: Unknown PAP packet of type %d\n"
-#~ msgstr "WARNING: nieznany pakiet PAP typu %d\n"
-
-#~ msgid "WARNING: Unknown choice \"%s\" for option \"%s\"!\n"
-#~ msgstr "WARNING: Nieznany wybór \"%s\" dla opcji \"%s\"!\n"
-
-#~ msgid "WARNING: Unknown option \"%s\"!\n"
-#~ msgstr "WARNING: Nieznana opcja \"%s\"!\n"
-
-#~ msgid "WARNING: Unsupported baud rate %s!\n"
-#~ msgstr "WARNING: Nieobsługiwana częstotliwość bodów %s!\n"
-
-#~ msgid "WARNING: number expected for status option \"%s\"\n"
-#~ msgstr "WARNING: spodziewana liczba dla opcji statusu \"%s\"\n"
-
-#~ msgid ""
-#~ "WARNING: recoverable: Network host '%s' is busy; will retry in %d "
-#~ "seconds...\n"
-#~ msgstr ""
-#~ "WARNING: usuwalny: Serwer sieciowy '%s' jest zajęty; ponowię za %d "
-#~ "sekund...\n"
-
-#~ msgid "Warning, no Windows 2000 printer drivers are installed!"
-#~ msgstr ""
-#~ "Ostrzeżenie, brak zainstalowanych sterowników drukarek Windows 2000!"
-
-#~ msgid "You4 Envelope"
-#~ msgstr "Koperta You4"
-
-#~ msgid "convert: Use the -f option to specify a file to convert.\n"
-#~ msgstr "convert: użyj opcji -f, aby wskazać plik do konwersji.\n"
-
-#~ msgid "cupsaddsmb: No PPD file for printer \"%s\" - %s\n"
-#~ msgstr "cupsaddsmb: brak pliku PPD dla drukarki \"%s\" - %s\n"
-
-#~ msgid "cupsctl: Unable to connect to server: %s\n"
-#~ msgstr "cupsctl: nie można się połączyć z serwerem: %s\n"
-
-#~ msgid "cupsctl: Unknown option \"%s\"!\n"
-#~ msgstr "cupsctl: Nieznana opcja \"%s\"!\n"
-
-#~ msgid "cupsctl: Unknown option \"-%c\"!\n"
-#~ msgstr "cupsctl: Nieznana opcja \"-%c\"!\n"
-
-#~ msgid "cupsd: Expected config filename after \"-c\" option!\n"
-#~ msgstr "cupsd: oczekiwana nazwa pliku konfiguracji po opcji \"-c\"!\n"
-
-#~ msgid "cupsd: Unable to get current directory!\n"
-#~ msgstr "cupsd: nie da się uzyskać bieżącego katalogu!\n"
-
-#~ msgid "cupsd: Unknown argument \"%s\" - aborting!\n"
-#~ msgstr "cupsd: nieznany argument \"%s\" - przerywam!\n"
-
-#~ msgid "cupsd: Unknown option \"%c\" - aborting!\n"
-#~ msgstr "cupsd: nieznana opcja \"%c\" - przerywam!\n"
-
-#~ msgid "cupsd: launchd(8) support not compiled in, running in normal mode.\n"
-#~ msgstr ""
-#~ "cupsd: obsługa launchd(8) nie została wkompilowana, uruchamianie w "
-#~ "normalnym trybie.\n"
-
-#~ msgid "cupsfilter: Invalid document number %d!\n"
-#~ msgstr "cupsfilter: nieprawidłowy numer dokumentu %d!\n"
-
-#~ msgid "cupsfilter: Invalid job ID %d!\n"
-#~ msgstr "cupsfilter: nieprawidłowy kod zlecenia %d!\n"
-
-#~ msgid "cupsfilter: Only one filename can be specified!\n"
-#~ msgstr "cupsfilter: Może być określona tylko jedna nazwa pliku!\n"
-
-#~ msgid "cupsfilter: Unable to create temporary file: %s\n"
-#~ msgstr "cupsfilter: nie udało się utworzyć pliku tymczasowego: %s\n"
-
-#~ msgid "cupsfilter: Unable to get job file - %s\n"
-#~ msgstr "cupsfilter: nie da się uzyskać pliku zlecenia - %s\n"
-
-#~ msgid "cupstestppd: The -q option is incompatible with the -v option.\n"
-#~ msgstr "cupstestppd: opcja -q jest niezgodna z opcją -v.\n"
-
-#~ msgid "cupstestppd: The -v option is incompatible with the -q option.\n"
-#~ msgstr "cupstestppd: opcja -v jest niezgodna z opcją -q.\n"
-
-#~ msgid "device for %s/%s: %s\n"
-#~ msgstr "urządzenie dla %s/%s: %s\n"
-
-#~ msgid "device for %s: %s\n"
-#~ msgstr "urządzenie dla %s: %s\n"
-
-#~ msgid "help\t\tget help on commands\n"
-#~ msgstr "help\t\tpomoc na temat poleceń\n"
-
-#~ msgid "job-printer-uri attribute missing!"
-#~ msgstr "Brakuje cechy job-printer-uri!"
-
-#~ msgid "lpadmin: Class name can only contain printable characters!\n"
-#~ msgstr "lpadmin: nazwa klasy może zawierać tylko drukowalne znaki!\n"
-
-#~ msgid "lpadmin: Expected PPD after '-P' option!\n"
-#~ msgstr "lpadmin: oczekiwany PPD po opcji \"-P\"!\n"
-
-#~ msgid "lpadmin: Expected allow/deny:userlist after '-u' option!\n"
-#~ msgstr "lpadmin: oczekiwane allow/deny:userlist po opcji \"-u\"!\n"
-
-#~ msgid "lpadmin: Expected class after '-r' option!\n"
-#~ msgstr "lpadmin: oczekiwana klasa po opcji \"-r\"!\n"
-
-#~ msgid "lpadmin: Expected class name after '-c' option!\n"
-#~ msgstr "lpadmin: oczekiwana nazwa klasy po opcji \"-c\"!\n"
-
-#~ msgid "lpadmin: Expected description after '-D' option!\n"
-#~ msgstr "lpadmin: oczekiwany opis po pocji \"-D\"!\n"
-
-#~ msgid "lpadmin: Expected device URI after '-v' option!\n"
-#~ msgstr "lpadmin: oczekiwane URI urządzenia po opcji \"-v\"!\n"
-
-#~ msgid "lpadmin: Expected file type(s) after '-I' option!\n"
-#~ msgstr "lpadmin: oczekiwane typy plików po opcji \"-I\"!\n"
-
-#~ msgid "lpadmin: Expected hostname after '-h' option!\n"
-#~ msgstr "lpadmin: oczekiwana nazwa komputera po opcji \"-h\"!\n"
-
-#~ msgid "lpadmin: Expected interface after '-i' option!\n"
-#~ msgstr "lpadmin: oczekiwany interfejs po opcji \"-i\"!\n"
-
-#~ msgid "lpadmin: Expected location after '-L' option!\n"
-#~ msgstr "lpadmin: oczekiwane położenie po opcji \"-L\"!\n"
-
-#~ msgid "lpadmin: Expected model after '-m' option!\n"
-#~ msgstr "lpadmin: oczekiwany model po opcji \"-m\"!\n"
-
-#~ msgid "lpadmin: Expected name=value after '-o' option!\n"
-#~ msgstr "lpadmin: oczekiwana nazwa=wartość po opcji \"-o\"!\n"
-
-#~ msgid "lpadmin: Expected printer after '-p' option!\n"
-#~ msgstr "lpadmin: oczekiwana drukarka po opcji \"-p\"!\n"
-
-#~ msgid "lpadmin: Expected printer name after '-d' option!\n"
-#~ msgstr "lpadmin: oczekiwana nazw drukarki po opcji \"-d\"!\n"
-
-#~ msgid "lpadmin: Expected printer or class after '-x' option!\n"
-#~ msgstr "lpadmin: oczekiwana drukarka lub klasa po opcji \"-x\"!\n"
-
-#~ msgid "lpadmin: No member names were seen!\n"
-#~ msgstr "lpadmin: nie zobaczono żadnych nazw elementów!\n"
-
-#~ msgid "lpadmin: Printer %s is already a member of class %s.\n"
-#~ msgstr "lpadmin: drukarka %s jest już elementem klasy %s.\n"
-
-#~ msgid "lpadmin: Printer %s is not a member of class %s.\n"
-#~ msgstr "lpadmin: drukarka %s nie jest elementem klasy %s.\n"
-
-#~ msgid "lpadmin: Printer name can only contain printable characters!\n"
-#~ msgstr "lpadmin: nazwa drukarki może zawierać tylko drukowalne znaki!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to add a printer to the class:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: nie można dodać drukarki do klasy:\n"
-#~ "         Najpierw musi zostać określona nazwa drukarki!\n"
-
-#~ msgid "lpadmin: Unable to connect to server: %s\n"
-#~ msgstr "lpadmin: nie można połączyć się do serwera: %s\n"
-
-#~ msgid "lpadmin: Unable to create temporary file - %s\n"
-#~ msgstr "lpadmin: nie można utworzyć pliku tymczasowego - %s\n"
-
-#~ msgid "lpadmin: Unable to create temporary file: %s\n"
-#~ msgstr "lpadmin: nie można utworzyć pliku tymczasowego: %s\n"
-
-#~ msgid "lpadmin: Unable to open PPD file \"%s\" - %s\n"
-#~ msgstr "lpadmin: nie można otworzyć pliku PPD \"%s\" - %s\n"
-
-#~ msgid "lpadmin: Unable to open file \"%s\": %s\n"
-#~ msgstr "lpadmin: nie można otworzyć pliku \"%s\": %s\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to remove a printer from the class:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: nie można usunąć drukarki z klasy:\n"
-#~ "         Najpierw musi zostać określona nazwa drukarki!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the PPD file:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: nie można ustawić pliku PPD:\n"
-#~ "         Najpierw musi zostać określona nazwa drukarki!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the device URI:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: nie można ustawić URI urządzenia:\n"
-#~ "         Najpierw musi zostać określona nazwa drukarki!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the interface script or PPD file:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: nie można ustawić skryptu interfejsu lub pliku PPD:\n"
-#~ "         Najpierw musi zostać określona nazwa drukarki!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the interface script:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: nie można ustawić skryptu interfejsu:\n"
-#~ "         Najpierw musi zostać określona nazwa drukarki!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer description:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Unable to set the printer description:\n"
-#~ "         Najpierw musi zostać określona nazwa drukarki!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer location:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: nie można ustawić położenia drukarki:\n"
-#~ "         Najpierw musi zostać określona nazwa drukarki!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer options:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: nie można ustawić opcji drukarki:\n"
-#~ "         Najpierw musi zostać określona nazwa drukarki!\n"
-
-#~ msgid "lpadmin: Unknown allow/deny option \"%s\"!\n"
-#~ msgstr "lpadmin: nieznana opcja zezwól/zabroń \"%s\"!\n"
-
-#~ msgid "lpadmin: Unknown argument '%s'!\n"
-#~ msgstr "lpadmin: nieznany argument \"%s\"!\n"
-
-#~ msgid "lpadmin: Unknown option '%c'!\n"
-#~ msgstr "lpadmin: nieznana opcja \"%c\"!\n"
-
-#~ msgid "lpadmin: Warning - content type list ignored!\n"
-#~ msgstr ""
-#~ "lpadmin: ostrzeżenie - lista rodzajów zawartości została zignorowana!\n"
-
-#~ msgid "lpinfo: Expected 1284 device ID string after --device-id!\n"
-#~ msgstr "lpinfo: po --device-id spodziewany jest ciąg ID urządzenia 1284!\n"
-
-#~ msgid "lpinfo: Expected language after --language!\n"
-#~ msgstr "lpinfo: po --language spodziewany jest język!\n"
-
-#~ msgid "lpinfo: Expected make and model after --make-and-model!\n"
-#~ msgstr "lpinfo: po --make-and-model spodziewana jest marka i model!\n"
-
-#~ msgid "lpinfo: Expected product string after --product!\n"
-#~ msgstr ""
-#~ "lpinfo: po --product spodziewany jest ciąg identyfikujący producenta!\n"
-
-#~ msgid "lpinfo: Expected scheme list after --exclude-schemes!\n"
-#~ msgstr "lpinfo: po --exclude-schemes spodziewana jest lista schematów!\n"
-
-#~ msgid "lpinfo: Expected scheme list after --include-schemes!\n"
-#~ msgstr "lpinfo: po --include-schemes spodziewana jest lista schematów!\n"
-
-#~ msgid "lpinfo: Expected timeout after --timeout!\n"
-#~ msgstr "lpinfo: po --timeout spodziewany jest limit czasu!\n"
-
-#~ msgid "lpinfo: Unknown argument '%s'!\n"
-#~ msgstr "lpinfo: nieznany argument \"%s\"!\n"
-
-#~ msgid "lpinfo: Unknown option '%c'!\n"
-#~ msgstr "lpinfo: nieznana opcja \"%c\"!\n"
-
-#~ msgid "lpinfo: Unknown option '%s'!\n"
-#~ msgstr "lpinfo: nieznana opcja '%s'!\n"
-
-#~ msgid "lpmove: Unable to connect to server: %s\n"
-#~ msgstr "lpmove: nie można połączyć się z serwerem: %s\n"
-
-#~ msgid "lpmove: Unknown argument '%s'!\n"
-#~ msgstr "lpmove: nieznany argument \"%s\"!\n"
-
-#~ msgid "lpmove: Unknown option '%c'!\n"
-#~ msgstr "lpmove: nieznana opcja \"%c\"!\n"
-
-#~ msgid "lpoptions: No printers!?!\n"
-#~ msgstr "lpoptions: brak drukarek?!?\n"
-
-#~ msgid "lpoptions: Unable to add printer or instance: %s\n"
-#~ msgstr "lpoptions: nie można dodać drukarki lub przykładu: %s\n"
-
-#~ msgid "lpoptions: Unable to get PPD file for %s: %s\n"
-#~ msgstr "lpoptions: nie można otworzyć pliku PPD dla %s: %s\n"
-
-#~ msgid "lpoptions: Unable to open PPD file for %s!\n"
-#~ msgstr "lpoptions: nie można otworzyć pliku PPD dla %s!\n"
-
-#~ msgid "lpoptions: Unknown printer or class!\n"
-#~ msgstr "lpoptions: nieznana drukarka lub klasa!\n"
-
-#~ msgid "lppasswd: Only root can add or delete passwords!\n"
-#~ msgstr "lppasswd: tylko root może dodać lub usunąć hasła!\n"
-
-#~ msgid "lppasswd: Password file busy!\n"
-#~ msgstr "lppasswd: plik hasła jest zajęty!\n"
-
-#~ msgid "lppasswd: Password file not updated!\n"
-#~ msgstr "lppasswd: plik hasła nie został zaktualizowany!\n"
-
-#~ msgid "lppasswd: Sorry, password doesn't match!\n"
-#~ msgstr "lppasswd: przepraszam, hasła się nie zgadzają!\n"
-
-#~ msgid ""
-#~ "lppasswd: Sorry, password rejected.\n"
-#~ "Your password must be at least 6 characters long, cannot contain\n"
-#~ "your username, and must contain at least one letter and number.\n"
-#~ msgstr ""
-#~ "lppasswd: przepraszam, hasło zostało odrzucone.\n"
-#~ "Hasło musi mieć co najmniej 6 znaków, nie może zawierać nazwy\n"
-#~ "użytkownika i musi zawierać co najmniej jedną literę i liczbę.\n"
-
-#~ msgid "lppasswd: Sorry, passwords don't match!\n"
-#~ msgstr "lppasswd: przepraszam, hasła się nie zgadzają!\n"
-
-#~ msgid "lppasswd: Unable to copy password string: %s\n"
-#~ msgstr "lppasswd: nie można skopiować łańcucha hasła: %s\n"
-
-#~ msgid "lppasswd: Unable to open password file: %s\n"
-#~ msgstr "lppasswd: nie można otworzyć pliku hasła: %s\n"
-
-#~ msgid "lppasswd: Unable to write to password file: %s\n"
-#~ msgstr "lppasswd: nie można zapisać do pliku hasła: %s\n"
-
-#~ msgid "lppasswd: failed to backup old password file: %s\n"
-#~ msgstr ""
-#~ "lppasswd: utworzenie kopii zapasowej starego pliku hasła nie powiodło "
-#~ "się: %s\n"
-
-#~ msgid "lppasswd: failed to rename password file: %s\n"
-#~ msgstr "lppasswd: zmiana nazwy pliku hasła nie powiodła się: %s\n"
-
-#~ msgid "lppasswd: user \"%s\" and group \"%s\" do not exist.\n"
-#~ msgstr "lppasswd: użytkownik \"%s\" i grupa \"%s\" nie istnieją.\n"
-
-#~ msgid ""
-#~ "lpstat: error - %s environment variable names non-existent destination \"%"
-#~ "s\"!\n"
-#~ msgstr ""
-#~ "lpstat: błąd - %s nazw zmiennych środowiskowych z nieistniejącym celem \"%"
-#~ "s\"!\n"
-
-#~ msgid "members of class %s:\n"
-#~ msgstr "elementy klasy %s:\n"
-
-#~ msgid "no entries\n"
-#~ msgstr "brak wpisów\n"
-
-#~ msgid "no system default destination\n"
-#~ msgstr "brak domyślnego celu systemowego\n"
-
-#~ msgid "notify-events not specified!"
-#~ msgstr "notify-even jest nieokreślone!"
-
-#~ msgid "notify-recipient-uri URI \"%s\" is already used!"
-#~ msgstr "notify-recipient-uri URI \"%s\" jest już użyte!"
-
-#~ msgid "notify-recipient-uri URI \"%s\" uses unknown scheme!"
-#~ msgstr "URI notify-recipient-uri \"%s\" wykorzystuje nieznany schemat!"
-
-#~ msgid "notify-subscription-id %d no good!"
-#~ msgstr "%d notify-subscription-id nie dobre!"
-
-#~ msgid "ppdc: Adding include directory \"%s\"...\n"
-#~ msgstr "ppdc: dodaję katalog dołączeń \"%s\"...\n"
-
-#~ msgid "ppdc: Adding/updating UI text from %s...\n"
-#~ msgstr "ppdc: dodaję/uaktualniam tekst UI z %s...\n"
-
-#~ msgid "ppdc: Bad boolean value (%s) on line %d of %s.\n"
-#~ msgstr "ppdc: nieprawidłowa wartość logiczna (%s), linia %d w %s.\n"
-
-#~ msgid "ppdc: Bad resolution name \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: nieprawidłowa nazwa rozdzielczości \"%s\", linia %d w %s!\n"
-
-#~ msgid "ppdc: Bad status keyword %s on line %d of %s!\n"
-#~ msgstr "ppdc: nieprawidłowe słowo kluczowe statusu %s, linia %d w %s!\n"
-
-#~ msgid "ppdc: Bad variable substitution ($%c) on line %d of %s.\n"
-#~ msgstr "ppdc: nieprawidłowe zastąpienie zmiennej ($%c), linia %d w %s.\n"
-
-#~ msgid "ppdc: Choice found on line %d of %s with no Option!\n"
-#~ msgstr "ppdc: w linii %d %s jest wybór bez opcji!\n"
-
-#~ msgid "ppdc: Duplicate #po for locale %s on line %d of %s!\n"
-#~ msgstr "ppdc: powielone #po dla %s, linia %d w %s!\n"
-
-#~ msgid "ppdc: Expected a filter definition on line %d of %s!\n"
-#~ msgstr "ppdc: w linii %d %s spodziewana jest definicja filtra!\n"
-
-#~ msgid "ppdc: Expected a program name on line %d of %s!\n"
-#~ msgstr "ppdc: w linii %d %s spodziewana jest nazwa programu!\n"
-
-#~ msgid "ppdc: Expected boolean value on line %d of %s.\n"
-#~ msgstr "ppdc: w linii %d %s spodziewana jest wartość logiczna.\n"
-
-#~ msgid "ppdc: Expected charset after Font on line %d of %s!\n"
-#~ msgstr "ppdc: w linii %d %s spodziewany jest zestaw znaków po Font!\n"
-
-#~ msgid "ppdc: Expected choice code on line %d of %s.\n"
-#~ msgstr "ppdc: w linii %d %s spodziewany jest kod wyboru.\n"
-
-#~ msgid "ppdc: Expected choice name/text on line %d of %s.\n"
-#~ msgstr "ppdc: w linii %d %s spodziewana jest nazwa/tekst wyboru.\n"
-
-#~ msgid "ppdc: Expected color order for ColorModel on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: w linii %d %s spodziewana jest kolejność kolorów dla ColorModel!\n"
-
-#~ msgid "ppdc: Expected colorspace for ColorModel on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: w linii %d %s spodziewana jest przestrzeń kolorów dla ColorModel!\n"
-
-#~ msgid "ppdc: Expected compression for ColorModel on line %d of %s!\n"
-#~ msgstr "ppdc: w linii %d %s spodziewana jest kompresja dla ColorModel!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected constraints string for UIConstraints on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: w linii %d %s spodziewany ciąg ograniczenia dla UIConstraints!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected driver type keyword following DriverType on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc: w linii %d %s spodziewane słowo kluczowe określające typ sterownika "
-#~ "po DriverType!\n"
-
-#~ msgid "ppdc: Expected duplex type after Duplex on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: w linii %d %s spodziewany jest typ druku obustronnego po Duplex!\n"
-
-#~ msgid "ppdc: Expected encoding after Font on line %d of %s!\n"
-#~ msgstr "ppdc: w linii %d %s spodziewane jest kodowanie po Font!\n"
-
-#~ msgid "ppdc: Expected filename after #po %s on line %d of %s!\n"
-#~ msgstr "ppdc: spodziewana jest nazwa pliku po #po dla %s, linia %d w %s!\n"
-
-#~ msgid "ppdc: Expected group name/text on line %d of %s!\n"
-#~ msgstr "ppdc: w linii %d %s spodziewana jest nazwa grupy/tekst.\n"
-
-#~ msgid "ppdc: Expected include filename on line %d of %s!\n"
-#~ msgstr "ppdc: w linii %d %s spodziewana jest nazwa dołączanego pliku.\n"
-
-#~ msgid "ppdc: Expected integer on line %d of %s!\n"
-#~ msgstr "ppdc: w linii %d %s spodziewana jest liczba całkowita.\n"
-
-#~ msgid "ppdc: Expected locale after #po on line %d of %s!\n"
-#~ msgstr "ppdc: spodziewane jest locale po #po dla, linia %d w %s!\n"
-
-#~ msgid "ppdc: Expected name after %s on line %d of %s!\n"
-#~ msgstr "ppdc: spodziewana jest nazwa po %s, linia %d w %s!\n"
-
-#~ msgid "ppdc: Expected name after FileName on line %d of %s!\n"
-#~ msgstr "ppdc: spodziewana jest nazwa po FileName, linia %d w %s!\n"
-
-#~ msgid "ppdc: Expected name after Font on line %d of %s!\n"
-#~ msgstr "ppdc: spodziewana jest nazwa po Font, linia %d w %s!\n"
-
-#~ msgid "ppdc: Expected name after Manufacturer on line %d of %s!\n"
-#~ msgstr "ppdc: spodziewana jest nazwa po Manufacturer, linia %d w %s!\n"
-
-#~ msgid "ppdc: Expected name after MediaSize on line %d of %s!\n"
-#~ msgstr "ppdc: spodziewana jest nazwa po MediaSize, linia %d w %s!\n"
-
-#~ msgid "ppdc: Expected name after ModelName on line %d of %s!\n"
-#~ msgstr "ppdc: spodziewana jest nazwa po ModelName, linia %d w %s!\n"
-
-#~ msgid "ppdc: Expected name after PCFileName on line %d of %s!\n"
-#~ msgstr "ppdc: spodziewana jest nazwa po PCFileName, linia %d w %s!\n"
-
-#~ msgid "ppdc: Expected name/text after %s on line %d of %s!\n"
-#~ msgstr "ppdc: spodziewana jest nazwa/tekst po %s, linia %d w %s!\n"
-
-#~ msgid "ppdc: Expected name/text after Installable on line %d of %s!\n"
-#~ msgstr "ppdc: spodziewana jest nazwa/tekst po Installable, linia %d w %s!\n"
-
-#~ msgid "ppdc: Expected name/text after Resolution on line %d of %s!\n"
-#~ msgstr "ppdc: spodziewana jest nazwa/tekst po Resolution, linia %d w %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected name/text combination for ColorModel on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: w linii %d %s spodziewana jest kombinacja nazwa/tekst dla "
-#~ "ColorModel!\n"
-
-#~ msgid "ppdc: Expected option name/text on line %d of %s!\n"
-#~ msgstr "ppdc: w linii %d %s spodziewana jest nazwa opcji/tekst.\n"
-
-#~ msgid "ppdc: Expected option section on line %d of %s!\n"
-#~ msgstr "ppdc: w linii %d %s spodziewana jest nazwa opcji/tekst.\n"
-
-#~ msgid "ppdc: Expected option type on line %d of %s!\n"
-#~ msgstr "ppdc: w linii %d %s spodziewany jest typ opcji/tekst.\n"
-
-#~ msgid "ppdc: Expected override field after Resolution on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: spodziewane jest pole zastąpienia po Resolution, linia %d w %s!\n"
-
-#~ msgid "ppdc: Expected real number on line %d of %s!\n"
-#~ msgstr "ppdc: w linii %d %s spodziewana jest liczba rzeczywista.\n"
-
-#~ msgid ""
-#~ "ppdc: Expected resolution/mediatype following ColorProfile on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc: w linii %d %s spodziwana jest rozdzielczość/typ nośnika po "
-#~ "ColorProfile!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected resolution/mediatype following SimpleColorProfile on line %"
-#~ "d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: w linii %d %s spodziwana jest rozdzielczość/typ nośnika po "
-#~ "SimpleColorProfile!\n"
-
-#~ msgid "ppdc: Expected selector after %s on line %d of %s!\n"
-#~ msgstr "ppdc: spodziewany jest wybieracz po %s, linia %d w %s!\n"
-
-#~ msgid "ppdc: Expected status after Font on line %d of %s!\n"
-#~ msgstr "ppdc: spodziewany jest status po Font, linia %d w %s!\n"
-
-#~ msgid "ppdc: Expected string after Copyright on line %d of %s!\n"
-#~ msgstr "ppdc: spodziewany jest ciąg znaków po Copyright, linia %d w %s!\n"
-
-#~ msgid "ppdc: Expected string after Version on line %d of %s!\n"
-#~ msgstr "ppdc: spodziewany jest ciąg znaków po Version, linia %d w %s!\n"
-
-#~ msgid "ppdc: Expected two option names on line %d of %s!\n"
-#~ msgstr "ppdc: w linii %d %s spodziewane są dwie nazwy opcji!\n"
-
-#~ msgid "ppdc: Expected value after %s on line %d of %s!\n"
-#~ msgstr "ppdc: spodziewana jest wartość po %s, linia %d w %s!\n"
-
-#~ msgid "ppdc: Expected version after Font on line %d of %s!\n"
-#~ msgstr "ppdc: spodziewana jest wersja po Fon, linia %d w %s!\n"
-
-#~ msgid "ppdc: Invalid #include/#po filename \"%s\"!\n"
-#~ msgstr "ppdc: nieprawidłowa nazwa pliku #include/#po \"%s\"!\n"
-
-#~ msgid "ppdc: Invalid cost for filter on line %d of %s!\n"
-#~ msgstr "ppdc: nieprawidłowy koszt filtru w linii %d %s!\n"
-
-#~ msgid "ppdc: Invalid empty MIME type for filter on line %d of %s!\n"
-#~ msgstr "ppdc: nieprawidłowy typ MIME dla filtru w linii %d %s!\n"
-
-#~ msgid "ppdc: Invalid empty program name for filter on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: nieprawidłowa pusta nazwa programu dla filtru w linii %d %s!\n"
-
-#~ msgid "ppdc: Invalid option section \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: nieprawidłowy wybór opcji \"%s\", linia %d w %s!\n"
-
-#~ msgid "ppdc: Invalid option type \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: nieprawidłowy typ opcji \"%s\", linia %d w %s!\n"
-
-#~ msgid "ppdc: Loading driver information file \"%s\"...\n"
-#~ msgstr "ppdc: wczytuję plik informacyjny sterownika \"%s\"...\n"
-
-#~ msgid "ppdc: Loading messages for locale \"%s\"...\n"
-#~ msgstr "ppdc: wczytuję komunikaty locale \"%s\"...\n"
-
-#~ msgid "ppdc: Loading messages from \"%s\"...\n"
-#~ msgstr "ppdc: wczytuję komunikaty z \"%s\"...\n"
-
-#~ msgid "ppdc: Missing #endif at end of \"%s\"!\n"
-#~ msgstr "ppdc: na końcu \"%s\" brakuje #endif!\n"
-
-#~ msgid "ppdc: Missing #if on line %d of %s!\n"
-#~ msgstr "ppdc: w linii %d %s brakuje #if!\n"
-
-#~ msgid "ppdc: No message catalog provided for locale %s!\n"
-#~ msgstr "ppdc: brak katalogu komunikatów w locale %s!\n"
-
-#~ msgid "ppdc: Option %s redefined with a different type on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: opcja %s zdefiniowana ponownie jako inny typ, linia %d w %s!\n"
-
-#~ msgid "ppdc: Option constraint must *name on line %d of %s!\n"
-#~ msgstr "ppdc: ograniczenie opcji wymaga *name w linii %d %s!\n"
-
-#~ msgid "ppdc: Too many nested #if's on line %d of %s!\n"
-#~ msgstr "ppdc: w linii %d %s jest zbyt dużo zagnieżdżonych instrukcji #if!\n"
-
-#~ msgid "ppdc: Unable to create PPD file \"%s\" - %s.\n"
-#~ msgstr "ppdc: nie można utworzyć pliku PPD \"%s\" - %s.\n"
-
-#~ msgid "ppdc: Unable to create output directory %s: %s\n"
-#~ msgstr "ppdc: nie można utworzyć katalogu wyjścia %s: %s\n"
-
-#~ msgid "ppdc: Unable to create output pipes: %s\n"
-#~ msgstr "ppdc: nie można utworzyć potoku wyjścia: %s\n"
-
-#~ msgid "ppdc: Unable to execute cupstestppd: %s\n"
-#~ msgstr "ppdc: nie można wykonać cupstestppd: %s\n"
-
-#~ msgid "ppdc: Unable to find #po file %s on line %d of %s!\n"
-#~ msgstr "ppdc: nie można znaleźć pliku #po %s, linia %d w %s!\n"
-
-#~ msgid "ppdc: Unable to find include file \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: nie można znaleźć pliku dołączenia \"%s\", linia %d w %s!\n"
-
-#~ msgid "ppdc: Unable to find localization for \"%s\" - %s\n"
-#~ msgstr "ppdc: nie można znaleźć lokalizacji dla \"%s\" - %s\n"
-
-#~ msgid "ppdc: Unable to load localization file \"%s\" - %s\n"
-#~ msgstr "ppdc: nie można wczytać lokalizacji dla \"%s\" - %s\n"
-
-#~ msgid "ppdc: Undefined variable (%s) on line %d of %s.\n"
-#~ msgstr "ppdc: niezdefiniowana zmienna (%s), linia %d w %s.\n"
-
-#~ msgid "ppdc: Unknown driver type %s on line %d of %s!\n"
-#~ msgstr "ppdc: nieznany typ sterownika %s, linia %d w %s!\n"
-
-#~ msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: nieznany typ obustronny \"%s\", linia %d w %s!\n"
-
-#~ msgid "ppdc: Unknown media size \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: nieznana wielkość nośnika \"%s\", linia %d w %s!\n"
-
-#~ msgid "ppdc: Unknown token \"%s\" seen on line %d of %s!\n"
-#~ msgstr "ppdc: nieznany znacznik \"%s\", linia %d w %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Unknown trailing characters in real number \"%s\" on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc: nieznane znaki wiodące w liczbie rzeczywistej \"%s\", linia %d w %"
-#~ "s!\n"
-
-#~ msgid "ppdc: Unterminated string starting with %c on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: niezakończony ciąg znaków, rozpoczynający się od %c, linia %d w %"
-#~ "s!\n"
-
-#~ msgid "ppdc: Writing %s...\n"
-#~ msgstr "ppdc: zapisuję %s...\n"
-
-#~ msgid "ppdc: Writing PPD files to directory \"%s\"...\n"
-#~ msgstr "ppdc: zapisuję pliki PPD do katalogu \"%s\"...\n"
-
-#~ msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s!\n"
-#~ msgstr "ppdmerge: nieprawidłowa wersja LanguageVersion \"%s\" w %s!\n"
-
-#~ msgid "ppdmerge: Ignoring PPD file %s...\n"
-#~ msgstr "ppdmerge: ignoruję plik PPD %s...\n"
-
-#~ msgid "ppdmerge: Unable to backup %s to %s- %s\n"
-#~ msgstr "ppdmerge: nie można wykonać kopii zapasowej %s w %s- %s\n"
-
-#~ msgid "printer %s disabled since %s -\n"
-#~ msgstr "drukarka %s jest wyłączona od %s -\n"
-
-#~ msgid "printer %s is idle.  enabled since %s\n"
-#~ msgstr "drukarka %s jest bezczynna. włączona od %s\n"
-
-#~ msgid "printer %s now printing %s-%d.  enabled since %s\n"
-#~ msgstr "drukarka %s drukuje teraz %s-%d. włączona od %s\n"
-
-#~ msgid "printer %s/%s disabled since %s -\n"
-#~ msgstr "drukarka %s/%s jest wyłączona od %s -\n"
-
-#~ msgid "printer %s/%s is idle.  enabled since %s\n"
-#~ msgstr "drukarka %s/%s jest bezczynna. włączona od %s\n"
-
-#~ msgid "printer %s/%s now printing %s-%d.  enabled since %s\n"
-#~ msgstr "drukarka %s/%s drukuje teraz %s-%d. włączona od %s\n"
-
-#~ msgid "request id is %s-%d (%d file(s))\n"
-#~ msgstr "ID żądania to %s-%d (%d plików)\n"
-
-#~ msgid "scheduler is not running\n"
-#~ msgstr "planista nie jest uruchomiony"
-
-#~ msgid "scheduler is running\n"
-#~ msgstr "planista jest uruchomiony\n"
-
-#~ msgid "status\t\tshow status of daemon and queue\n"
-#~ msgstr "status\t\twyświetla stan demonów i kolejki\n"
-
-#~ msgid "system default destination: %s\n"
-#~ msgstr "domyślny cel systemowy: %s\n"
-
-#~ msgid "system default destination: %s/%s\n"
-#~ msgstr "domyślny cel systemowy: %s/%s\n"
diff --git a/locale/cups_pt.po b/locale/cups_pt.po
deleted file mode 100644 (file)
index e60a7d9..0000000
+++ /dev/null
@@ -1,8733 +0,0 @@
-msgid ""
-msgstr ""
-"Project-Id-Version: CUPS 1.4\n"
-"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2012-03-07 13:38-0800\n"
-"PO-Revision-Date: 2009-02-16 12:00-0800\n"
-"Last-Translator: Apple Inc.\n"
-"Language-Team: Apple Inc.\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: \n"
-
-msgid "\t\t(all)"
-msgstr ""
-
-msgid "\t\t(none)"
-msgstr ""
-
-#, c-format
-msgid "\t%d entries"
-msgstr ""
-
-#, c-format
-msgid "\t%s"
-msgstr ""
-
-msgid "\tAfter fault: continue"
-msgstr ""
-
-#, c-format
-msgid "\tAlerts: %s"
-msgstr ""
-
-msgid "\tBanner required"
-msgstr ""
-
-msgid "\tCharset sets:"
-msgstr ""
-
-msgid "\tConnection: direct"
-msgstr ""
-
-msgid "\tConnection: remote"
-msgstr ""
-
-msgid "\tContent types: any"
-msgstr ""
-
-msgid "\tDefault page size:"
-msgstr ""
-
-msgid "\tDefault pitch:"
-msgstr ""
-
-msgid "\tDefault port settings:"
-msgstr ""
-
-#, c-format
-msgid "\tDescription: %s"
-msgstr ""
-
-msgid "\tForm mounted:"
-msgstr ""
-
-msgid "\tForms allowed:"
-msgstr ""
-
-#, c-format
-msgid "\tInterface: %s.ppd"
-msgstr ""
-
-#, c-format
-msgid "\tInterface: %s/interfaces/%s"
-msgstr ""
-
-#, c-format
-msgid "\tInterface: %s/ppd/%s.ppd"
-msgstr ""
-
-#, c-format
-msgid "\tLocation: %s"
-msgstr ""
-
-msgid "\tOn fault: no alert"
-msgstr ""
-
-msgid "\tPrinter types: unknown"
-msgstr ""
-
-#, c-format
-msgid "\tStatus: %s"
-msgstr ""
-
-msgid "\tUsers allowed:"
-msgstr ""
-
-msgid "\tUsers denied:"
-msgstr ""
-
-msgid "\tdaemon present"
-msgstr ""
-
-msgid "\tno entries"
-msgstr ""
-
-#, c-format
-msgid "\tprinter is on device '%s' speed -1"
-msgstr ""
-
-msgid "\tprinting is disabled"
-msgstr ""
-
-msgid "\tprinting is enabled"
-msgstr ""
-
-#, c-format
-msgid "\tqueued for %s"
-msgstr ""
-
-msgid "\tqueuing is disabled"
-msgstr ""
-
-msgid "\tqueuing is enabled"
-msgstr ""
-
-msgid "\treason unknown"
-msgstr ""
-
-msgid ""
-"\n"
-"    DETAILED CONFORMANCE TEST RESULTS"
-msgstr ""
-
-msgid "                          Ignore specific warnings."
-msgstr ""
-
-msgid "                          Issue warnings instead of errors."
-msgstr ""
-
-msgid "                REF: Page 15, section 3.1."
-msgstr ""
-
-msgid "                REF: Page 15, section 3.2."
-msgstr ""
-
-msgid "                REF: Page 19, section 3.3."
-msgstr ""
-
-msgid "                REF: Page 20, section 3.4."
-msgstr ""
-
-msgid "                REF: Page 27, section 3.5."
-msgstr ""
-
-msgid "                REF: Page 42, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 16-17, section 3.2."
-msgstr ""
-
-msgid "                REF: Pages 42-45, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 45-46, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 48-49, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 52-54, section 5.2."
-msgstr ""
-
-#, c-format
-msgid "        %-39.39s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "        PASS    Default%s"
-msgstr ""
-
-msgid "        PASS    DefaultImageableArea"
-msgstr ""
-
-msgid "        PASS    DefaultPaperDimension"
-msgstr ""
-
-msgid "        PASS    FileVersion"
-msgstr ""
-
-msgid "        PASS    FormatVersion"
-msgstr ""
-
-msgid "        PASS    LanguageEncoding"
-msgstr ""
-
-msgid "        PASS    LanguageVersion"
-msgstr ""
-
-msgid "        PASS    Manufacturer"
-msgstr ""
-
-msgid "        PASS    ModelName"
-msgstr ""
-
-msgid "        PASS    NickName"
-msgstr ""
-
-msgid "        PASS    PCFileName"
-msgstr ""
-
-msgid "        PASS    PSVersion"
-msgstr ""
-
-msgid "        PASS    PageRegion"
-msgstr ""
-
-msgid "        PASS    PageSize"
-msgstr ""
-
-msgid "        PASS    Product"
-msgstr ""
-
-msgid "        PASS    ShortNickName"
-msgstr ""
-
-#, c-format
-msgid "        WARN    %s has no corresponding options."
-msgstr ""
-
-#, c-format
-msgid ""
-"        WARN    %s shares a common prefix with %s\n"
-"                REF: Page 15, section 3.2."
-msgstr ""
-
-#, c-format
-msgid ""
-"        WARN    Duplex option keyword %s may not work as expected and should "
-"be named Duplex.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-
-msgid "        WARN    File contains a mix of CR, LF, and CR LF line endings."
-msgstr ""
-
-msgid ""
-"        WARN    LanguageEncoding required by PPD 4.3 spec.\n"
-"                REF: Pages 56-57, section 5.3."
-msgstr ""
-
-#, c-format
-msgid "        WARN    Line %d only contains whitespace."
-msgstr ""
-
-msgid ""
-"        WARN    Manufacturer required by PPD 4.3 spec.\n"
-"                REF: Pages 58-59, section 5.3."
-msgstr ""
-
-msgid ""
-"        WARN    Non-Windows PPD files should use lines ending with only LF, "
-"not CR LF."
-msgstr ""
-
-#, c-format
-msgid ""
-"        WARN    Obsolete PPD version %.1f.\n"
-"                REF: Page 42, section 5.2."
-msgstr ""
-
-msgid ""
-"        WARN    PCFileName longer than 8.3 in violation of PPD spec.\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-
-msgid ""
-"        WARN    PCFileName should contain a unique filename.\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-
-msgid ""
-"        WARN    Protocols contains PJL but JCL attributes are not set.\n"
-"                REF: Pages 78-79, section 5.7."
-msgstr ""
-
-msgid ""
-"        WARN    Protocols contains both PJL and BCP; expected TBCP.\n"
-"                REF: Pages 78-79, section 5.7."
-msgstr ""
-
-msgid ""
-"        WARN    ShortNickName required by PPD 4.3 spec.\n"
-"                REF: Pages 64-65, section 5.3."
-msgstr ""
-
-msgid "       cupsaddsmb [options] -a"
-msgstr ""
-
-msgid "       cupstestdsc [options] -"
-msgstr ""
-
-msgid "       program | cupstestppd [options] -"
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  \"%s %s\" conflicts with \"%s %s\"\n"
-"                (constraint=\"%s %s %s %s\")."
-msgstr ""
-
-#, c-format
-msgid "      %s  %s %s does not exist."
-msgstr ""
-
-#, c-format
-msgid "      %s  %s file \"%s\" has the wrong capitalization."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  Bad %s choice %s.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsFilter value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsFilter2 value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsICCProfile %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsPreFilter value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsUIConstraints %s: \"%s\""
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad language \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad permissions on %s file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad spelling of %s - should be %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Cannot provide both APScanAppPath and APScanAppBundleID."
-msgstr ""
-
-#, c-format
-msgid "      %s  Default choices conflicting."
-msgstr ""
-
-#, c-format
-msgid "      %s  Empty cupsUIConstraints %s"
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing \"%s\" translation string for option %s, choice %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing \"%s\" translation string for option %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing %s file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  Missing REQUIRED PageRegion option.\n"
-"                REF: Page 100, section 5.14."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  Missing REQUIRED PageSize option.\n"
-"                REF: Page 99, section 5.14."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\""
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing cupsUIResolver %s"
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing option %s in cupsUIConstraints %s: \"%s\""
-msgstr ""
-
-#, c-format
-msgid "      %s  No base translation \"%s\" is included in file."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  REQUIRED %s does not define choice None.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" defined for %s but not for %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" has unexpected dimensions (%gx%g)."
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" should be \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" should be the Adobe standard name \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  cupsICCProfile %s hash value collides with %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  cupsUIResolver %s causes a loop."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  cupsUIResolver %s does not list at least two different options."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  %s choice names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  %s must be 1284DeviceID\n"
-"                REF: Page 72, section 5.5"
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD Default%s %s\n"
-"                REF: Page 40, section 4.5."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD DefaultImageableArea %s\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD DefaultPaperDimension %s\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD JobPatchFile attribute in file\n"
-"                REF: Page 24, section 3.4."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD Manufacturer (should be \"HP\")\n"
-"                REF: Page 211, table D.1."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD Manufacturer (should be \"Oki\")\n"
-"                REF: Page 211, table D.1."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n"
-"                REF: Pages 59-60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD PSVersion - not \"(string) int\".\n"
-"                REF: Pages 62-64, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD Product - not \"(string)\".\n"
-"                REF: Page 62, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD ShortNickName - longer than 31 chars.\n"
-"                REF: Pages 64-65, section 5.3."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad %s choice %s\n"
-"                REF: Page 84, section 5.9"
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad FileVersion \"%s\"\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad FormatVersion \"%s\"\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Bad LanguageVersion %s - must be English."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Default option code cannot be interpreted: %s"
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Default translation string for option %s choice %s contains "
-"8-bit characters."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Default translation string for option %s contains 8-bit "
-"characters."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Group names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Multiple occurrences of %s choice name %s."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Option names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED Default%s\n"
-"                REF: Page 40, section 4.5."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED DefaultImageableArea\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED DefaultPaperDimension\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED FileVersion\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED FormatVersion\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED ImageableArea for PageSize %s\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED LanguageEncoding\n"
-"                REF: Pages 56-57, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED LanguageVersion\n"
-"                REF: Pages 57-58, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED Manufacturer\n"
-"                REF: Pages 58-59, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED ModelName\n"
-"                REF: Pages 59-60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED NickName\n"
-"                REF: Page 60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PCFileName\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PSVersion\n"
-"                REF: Pages 62-64, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PageRegion\n"
-"                REF: Page 100, section 5.14."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PageSize\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 99, section 5.14."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PageSize\n"
-"                REF: Pages 99-100, section 5.14."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED PaperDimension for PageSize %s\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED Product\n"
-"                REF: Page 62, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED ShortNickName\n"
-"                REF: Page 64-65, section 5.3."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Unable to open PPD file - %s"
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Unable to open PPD file - %s on line %d."
-msgstr ""
-
-#, c-format
-msgid "    %d ERRORS FOUND"
-msgstr ""
-
-msgid "    -h       Show program usage"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Bad %%%%BoundingBox: on line %d.\n"
-"        REF: Page 39, %%%%BoundingBox:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Bad %%%%Page: on line %d.\n"
-"        REF: Page 53, %%%%Page:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Bad %%%%Pages: on line %d.\n"
-"        REF: Page 43, %%%%Pages:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Line %d is longer than 255 characters (%d).\n"
-"        REF: Page 25, Line Length"
-msgstr ""
-
-msgid ""
-"    Missing %!PS-Adobe-3.0 on first line.\n"
-"        REF: Page 17, 3.1 Conforming Documents"
-msgstr ""
-
-#, c-format
-msgid "    Missing %%EndComments comment.        REF: Page 41, %%EndComments"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Missing or bad %%BoundingBox: comment.\n"
-"        REF: Page 39, %%BoundingBox:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Missing or bad %%Page: comments.\n"
-"        REF: Page 53, %%Page:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Missing or bad %%Pages: comment.\n"
-"        REF: Page 43, %%Pages:"
-msgstr ""
-
-msgid "    NO ERRORS FOUND"
-msgstr ""
-
-#, c-format
-msgid "    Saw %d lines that exceeded 255 characters."
-msgstr ""
-
-#, c-format
-msgid "    Too many %%BeginDocument comments."
-msgstr ""
-
-#, c-format
-msgid "    Too many %%EndDocument comments."
-msgstr ""
-
-msgid "    Warning: file contains binary data."
-msgstr ""
-
-#, c-format
-msgid "    Warning: no %%EndComments comment in file."
-msgstr ""
-
-#, c-format
-msgid "    Warning: obsolete DSC version %.1f in file."
-msgstr ""
-
-msgid "  --[no-]debug-logging    Turn debug logging on/off."
-msgstr ""
-
-msgid "  --[no-]remote-admin     Turn remote administration on/off."
-msgstr ""
-
-msgid "  --[no-]remote-any       Allow/prevent access from the Internet."
-msgstr ""
-
-msgid "  --[no-]remote-printers  Show/hide remote printers."
-msgstr ""
-
-msgid "  --[no-]share-printers   Turn printer sharing on/off."
-msgstr ""
-
-msgid "  --[no-]user-cancel-any  Allow/prevent users to cancel any job."
-msgstr ""
-
-msgid "  --cr                    End lines with CR (Mac OS 9)."
-msgstr ""
-
-msgid "  --crlf                  End lines with CR + LF (Windows)."
-msgstr ""
-
-msgid "  --lf                    End lines with LF (UNIX/Linux/Mac OS X)."
-msgstr ""
-
-msgid "  -4                      Connect using IPv4."
-msgstr ""
-
-msgid "  -6                      Connect using IPv6."
-msgstr ""
-
-msgid "  -C                      Send requests using chunking (default)."
-msgstr ""
-
-msgid "  -D                      Remove the input file when finished."
-msgstr ""
-
-msgid "  -D name=value           Set named variable to value."
-msgstr ""
-
-msgid "  -E                      Enable encryption."
-msgstr ""
-
-msgid "  -E                      Encrypt the connection to the server."
-msgstr ""
-
-msgid "  -E                      Test with TLS encryption."
-msgstr ""
-
-msgid ""
-"  -F                      Run in the foreground but detach from console."
-msgstr ""
-
-msgid "  -H samba-server         Use the named SAMBA server."
-msgstr ""
-
-msgid "  -I                      Ignore errors."
-msgstr ""
-
-msgid "  -I include-dir          Add include directory to search path."
-msgstr ""
-
-msgid "  -I {filename,filters,none,profiles}"
-msgstr ""
-
-msgid "  -J title                Set title."
-msgstr ""
-
-msgid "  -L                      Send requests using content-length."
-msgstr ""
-
-msgid "  -P filename.ppd         Set PPD file."
-msgstr ""
-
-msgid "  -R root-directory       Set alternate root."
-msgstr ""
-
-msgid "  -S                      Test with SSL encryption."
-msgstr ""
-
-msgid "  -T                      Set the receive/send timeout in seconds."
-msgstr ""
-
-msgid "  -U samba-user           Authenticate using the named SAMBA user."
-msgstr ""
-
-msgid "  -U username             Set username for job."
-msgstr ""
-
-msgid "  -U username             Specify username."
-msgstr ""
-
-msgid "  -V version              Set default IPP version."
-msgstr ""
-
-msgid ""
-"  -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,"
-"translations}"
-msgstr ""
-
-msgid "  -X                      Produce XML plist instead of plain text."
-msgstr ""
-
-msgid "  -a                      Export all printers."
-msgstr ""
-
-msgid "  -a 'name=value ...'     Set option(s)."
-msgstr ""
-
-msgid "  -c catalog.po           Load the specified message catalog."
-msgstr ""
-
-msgid "  -c config-file          Load alternate configuration file."
-msgstr ""
-
-msgid "  -c copies               Set number of copies."
-msgstr ""
-
-msgid "  -c cupsd.conf           Set cupsd.conf file to use."
-msgstr ""
-
-msgid "  -d name=value           Set named variable to value."
-msgstr ""
-
-msgid "  -d output-dir           Specify the output directory."
-msgstr ""
-
-msgid "  -d printer              Use the named printer."
-msgstr ""
-
-msgid "  -e                      Use every filter from the PPD file."
-msgstr ""
-
-msgid "  -f                      Run in the foreground."
-msgstr ""
-
-msgid "  -f filename             Set default request filename."
-msgstr ""
-
-msgid "  -f filename             Set file to be converted (otherwise stdin)."
-msgstr ""
-
-msgid "  -h                      Show this usage message."
-msgstr ""
-
-msgid "  -h cups-server          Use the named CUPS server."
-msgstr ""
-
-msgid "  -h server[:port]        Specify server address."
-msgstr ""
-
-msgid "  -i mime/type            Set input MIME type (otherwise auto-typed)."
-msgstr ""
-
-msgid ""
-"  -i seconds              Repeat the last file with the given time interval."
-msgstr ""
-
-msgid ""
-"  -j job-id[,N]           Filter file N from the specified job (default is "
-"file 1)."
-msgstr ""
-
-msgid ""
-"  -j mime/type            Set output MIME type (otherwise application/pdf)."
-msgstr ""
-
-msgid "  -l                      Run cupsd from launchd(8)."
-msgstr ""
-
-msgid "  -l lang[,lang,...]      Specify the output language(s) (locale)."
-msgstr ""
-
-msgid "  -m                      Use the ModelName value as the filename."
-msgstr ""
-
-msgid ""
-"  -m mime/type            Set output MIME type (otherwise application/pdf)."
-msgstr ""
-
-msgid "  -n copies               Set number of copies."
-msgstr ""
-
-msgid ""
-"  -n count                Repeat the last file the given number of times."
-msgstr ""
-
-msgid "  -o filename             Set file to be generated (otherwise stdout)."
-msgstr ""
-
-msgid ""
-"  -o filename.drv         Set driver information file (otherwise ppdi.drv)."
-msgstr ""
-
-msgid "  -o filename.ppd[.gz]    Set output file (otherwise stdout)."
-msgstr ""
-
-msgid "  -o name=value           Set option(s)."
-msgstr ""
-
-msgid "  -p filename.ppd         Set PPD file."
-msgstr ""
-
-msgid "  -q                      Be quiet - no output except errors."
-msgstr ""
-
-msgid "  -q                      Run silently."
-msgstr ""
-
-msgid "  -r                      Use 'relaxed' open mode."
-msgstr ""
-
-msgid "  -t                      Produce a test report."
-msgstr ""
-
-msgid "  -t                      Test PPDs instead of generating them."
-msgstr ""
-
-msgid "  -t                      Test the configuration file."
-msgstr ""
-
-msgid "  -t title                Set title."
-msgstr ""
-
-msgid "  -u                      Remove the PPD file when finished."
-msgstr ""
-
-msgid "  -v                      Be slightly verbose."
-msgstr ""
-
-msgid "  -v                      Be verbose (more v's for more verbosity)."
-msgstr ""
-
-msgid "  -v                      Be verbose (show commands)."
-msgstr ""
-
-msgid "  -v                      Show all attributes sent and received."
-msgstr ""
-
-msgid "  -vv                     Be very verbose."
-msgstr ""
-
-msgid "  -z                      Compress PPD files using GNU zip."
-msgstr ""
-
-msgid " FAIL"
-msgstr ""
-
-msgid " PASS"
-msgstr ""
-
-#, c-format
-msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "%.0f x %.0f millimeters"
-msgstr "%.0f x %.0f milímetros"
-
-#, c-format
-msgid "%.0f x %.0f to %.0f x %.0f millimeters"
-msgstr "%.0f x %.0f a %.0f x %.0f milímetros"
-
-#, c-format
-msgid "%.2f x %.2f inches"
-msgstr "%.2f x %.2f polegadas"
-
-#, c-format
-msgid "%.2f x %.2f to %.2f x %.2f inches"
-msgstr "%.2f x %.2f a %.2f x %.2f polegadas"
-
-#, c-format
-msgid "%s accepting requests since %s"
-msgstr ""
-
-#, c-format
-msgid "%s cannot be changed."
-msgstr "Não é possível alterar %s."
-
-#, c-format
-msgid "%s is not implemented by the CUPS version of lpc."
-msgstr ""
-
-#, c-format
-msgid "%s is not ready"
-msgstr ""
-
-#, c-format
-msgid "%s is ready"
-msgstr ""
-
-#, c-format
-msgid "%s is ready and printing"
-msgstr ""
-
-#, c-format
-msgid "%s job-id user title copies options [file]"
-msgstr ""
-
-#, c-format
-msgid "%s not accepting requests since %s -"
-msgstr ""
-
-#, c-format
-msgid "%s not supported."
-msgstr ""
-
-#, c-format
-msgid "%s/%s accepting requests since %s"
-msgstr ""
-
-#, c-format
-msgid "%s/%s not accepting requests since %s -"
-msgstr ""
-
-#, c-format
-msgid "%s: %-33.33s [job %d localhost]"
-msgstr ""
-
-#. TRANSLATORS: Message is "subject: error"
-#, c-format
-msgid "%s: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: %s failed: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Don't know what to do."
-msgstr ""
-
-#, c-format
-msgid ""
-"%s: Error - %s environment variable names non-existent destination \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - bad job ID."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - cannot print files and alter jobs simultaneously."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - cannot print from stdin if files or a job ID are provided."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected character set after \"-S\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected content type after \"-T\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected copies after \"-#\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected copies after \"-n\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected destination after \"-P\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected destination after \"-b\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected destination after \"-d\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected form after \"-f\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected hold name after \"-H\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected hostname after \"-H\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected hostname after \"-h\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected mode list after \"-y\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected name after \"-%c\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected option=value after \"-o\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected page list after \"-P\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected priority after \"-%c\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected reason text after \"-r\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected title after \"-t\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected username after \"-U\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected username after \"-u\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected value after \"-%c\" option."
-msgstr ""
-
-#, c-format
-msgid ""
-"%s: Error - need \"completed\", \"not-completed\", or \"all\" after \"-W\" "
-"option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - no default destination available."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - priority must be between 1 and 100."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - scheduler not responding."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - too many files - \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unable to access \"%s\" - %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unable to queue from stdin - %s."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown destination \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown destination \"%s/%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown option \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Expected job ID after \"-i\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Invalid destination name in list \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Invalid filter string \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Need job ID (\"-i jobid\") before \"-H restart\"."
-msgstr ""
-
-#, c-format
-msgid "%s: No filter to convert from %s/%s to %s/%s."
-msgstr ""
-
-#, c-format
-msgid "%s: Operation failed: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Sorry, no encryption support."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to connect to server."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to contact server."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to determine MIME type of \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to open %s: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to open PPD file: %s on line %d."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown destination \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown destination MIME type %s/%s."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown option \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown source MIME type %s/%s."
-msgstr ""
-
-#, c-format
-msgid ""
-"%s: Warning - \"%c\" format modifier not supported - output may not be "
-"correct."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - character set option ignored."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - content type option ignored."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - form option ignored."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - mode option ignored."
-msgstr ""
-
-msgid "-1"
-msgstr "-1"
-
-msgid "-10"
-msgstr "-10"
-
-msgid "-100"
-msgstr "-100"
-
-msgid "-105"
-msgstr "-105"
-
-msgid "-11"
-msgstr "-11"
-
-msgid "-110"
-msgstr "-110"
-
-msgid "-115"
-msgstr "-115"
-
-msgid "-12"
-msgstr "-12"
-
-msgid "-120"
-msgstr "-120"
-
-msgid "-13"
-msgstr "-13"
-
-msgid "-14"
-msgstr "-14"
-
-msgid "-15"
-msgstr "-15"
-
-msgid "-2"
-msgstr "-2"
-
-msgid "-20"
-msgstr "-20"
-
-msgid "-25"
-msgstr "-25"
-
-msgid "-3"
-msgstr "-3"
-
-msgid "-30"
-msgstr "-30"
-
-msgid "-35"
-msgstr "-35"
-
-msgid "-4"
-msgstr "-4"
-
-msgid "-40"
-msgstr "-40"
-
-msgid "-45"
-msgstr "-45"
-
-msgid "-5"
-msgstr "-5"
-
-msgid "-50"
-msgstr "-50"
-
-msgid "-55"
-msgstr "-55"
-
-msgid "-6"
-msgstr "-6"
-
-msgid "-60"
-msgstr "-60"
-
-msgid "-65"
-msgstr "-65"
-
-msgid "-7"
-msgstr "-7"
-
-msgid "-70"
-msgstr "-70"
-
-msgid "-75"
-msgstr "-75"
-
-msgid "-8"
-msgstr "-8"
-
-msgid "-80"
-msgstr "-80"
-
-msgid "-85"
-msgstr "-85"
-
-msgid "-9"
-msgstr "-9"
-
-msgid "-90"
-msgstr "-90"
-
-msgid "-95"
-msgstr "-95"
-
-msgid "0"
-msgstr "0"
-
-msgid "1"
-msgstr "1"
-
-msgid "1 inch/sec."
-msgstr "1 pol./seg."
-
-msgid "1.25x0.25\""
-msgstr "1,25x0,25\""
-
-msgid "1.25x2.25\""
-msgstr "1,25x2,25\""
-
-msgid "1.5 inch/sec."
-msgstr "1,5 pol./seg."
-
-msgid "1.50x0.25\""
-msgstr "1,50x0,25\""
-
-msgid "1.50x0.50\""
-msgstr "1,50x0,50\""
-
-msgid "1.50x1.00\""
-msgstr "1,50x1,00\""
-
-msgid "1.50x2.00\""
-msgstr "1,50x2,00\""
-
-msgid "10"
-msgstr "10"
-
-msgid "10 inches/sec."
-msgstr "10 pol./seg."
-
-msgid "10 x 11"
-msgstr ""
-
-msgid "10 x 13"
-msgstr ""
-
-msgid "10 x 14"
-msgstr ""
-
-msgid "100"
-msgstr "100"
-
-msgid "100 mm/sec."
-msgstr "100 mm/seg."
-
-msgid "105"
-msgstr "105"
-
-msgid "11"
-msgstr "11"
-
-msgid "11 inches/sec."
-msgstr "11 pol./seg."
-
-msgid "110"
-msgstr "110"
-
-msgid "115"
-msgstr "115"
-
-msgid "12"
-msgstr "12"
-
-msgid "12 inches/sec."
-msgstr "12 pol./seg."
-
-msgid "12 x 11"
-msgstr ""
-
-msgid "120"
-msgstr "120"
-
-msgid "120 mm/sec."
-msgstr "120 mm/seg."
-
-msgid "120x60dpi"
-msgstr "120x60dpi"
-
-msgid "120x72dpi"
-msgstr "120x72dpi"
-
-msgid "13"
-msgstr "13"
-
-msgid "136dpi"
-msgstr "136dpi"
-
-msgid "14"
-msgstr "14"
-
-msgid "15"
-msgstr "15"
-
-msgid "15 mm/sec."
-msgstr "15 mm/seg."
-
-msgid "15 x 11"
-msgstr ""
-
-msgid "150 mm/sec."
-msgstr "150 mm/seg."
-
-msgid "150dpi"
-msgstr "150dpi"
-
-msgid "16"
-msgstr "16"
-
-msgid "17"
-msgstr "17"
-
-msgid "18"
-msgstr "18"
-
-msgid "180dpi"
-msgstr "180dpi"
-
-msgid "19"
-msgstr "19"
-
-msgid "2"
-msgstr "2"
-
-msgid "2 inches/sec."
-msgstr "2 pol./seg."
-
-msgid "2-Sided Printing"
-msgstr "Impressão dos 2 lados"
-
-msgid "2.00x0.37\""
-msgstr "2,00x0,37\""
-
-msgid "2.00x0.50\""
-msgstr "2,00x0,50\""
-
-msgid "2.00x1.00\""
-msgstr "2,00x1,00\""
-
-msgid "2.00x1.25\""
-msgstr "2,00x1,25\""
-
-msgid "2.00x2.00\""
-msgstr "2,00x2,00\""
-
-msgid "2.00x3.00\""
-msgstr "2,00x3,00\""
-
-msgid "2.00x4.00\""
-msgstr "2,00x4,00\""
-
-msgid "2.00x5.50\""
-msgstr "2,00x5,50\""
-
-msgid "2.25x0.50\""
-msgstr "2,25x0,50\""
-
-msgid "2.25x1.25\""
-msgstr "2,25x1,25\""
-
-msgid "2.25x4.00\""
-msgstr "2,25x4,00\""
-
-msgid "2.25x5.50\""
-msgstr "2,25x5,50\""
-
-msgid "2.38x5.50\""
-msgstr "2,38x5,50\""
-
-msgid "2.5 inches/sec."
-msgstr "2,5 pol./seg."
-
-msgid "2.50x1.00\""
-msgstr "2,50x1,00\""
-
-msgid "2.50x2.00\""
-msgstr "2,50x2,00\""
-
-msgid "2.75x1.25\""
-msgstr "2,75x1,25\""
-
-msgid "2.9 x 1\""
-msgstr "2,9 x 1\""
-
-msgid "20"
-msgstr "20"
-
-msgid "20 mm/sec."
-msgstr "20 mm/seg."
-
-msgid "200 mm/sec."
-msgstr "200 mm/seg."
-
-msgid "203dpi"
-msgstr "203dpi"
-
-msgid "21"
-msgstr "21"
-
-msgid "22"
-msgstr "22"
-
-msgid "23"
-msgstr "23"
-
-msgid "24"
-msgstr "24"
-
-msgid "24-Pin Series"
-msgstr "Série de 24 pinos"
-
-msgid "240x72dpi"
-msgstr "240x72dpi"
-
-msgid "25"
-msgstr "25"
-
-msgid "250 mm/sec."
-msgstr "250 mm/seg."
-
-msgid "26"
-msgstr "26"
-
-msgid "27"
-msgstr "27"
-
-msgid "28"
-msgstr "28"
-
-msgid "29"
-msgstr "29"
-
-msgid "3"
-msgstr "3"
-
-msgid "3 inches/sec."
-msgstr "3 pol./seg."
-
-msgid "3 x 5"
-msgstr ""
-
-msgid "3.00x1.00\""
-msgstr "3,00x1,00\""
-
-msgid "3.00x1.25\""
-msgstr "3,00x1,25\""
-
-msgid "3.00x2.00\""
-msgstr "3,00x2,00\""
-
-msgid "3.00x3.00\""
-msgstr "3,00x3,00\""
-
-msgid "3.00x5.00\""
-msgstr "3,00x5,00\""
-
-msgid "3.25x2.00\""
-msgstr "3,25x2,00\""
-
-msgid "3.25x5.00\""
-msgstr "3,25x5,00\""
-
-msgid "3.25x5.50\""
-msgstr "3,25x5,50\""
-
-msgid "3.25x5.83\""
-msgstr "3,25x5,83\""
-
-msgid "3.25x7.83\""
-msgstr "3,25x7,83\""
-
-msgid "3.5 x 5"
-msgstr ""
-
-msgid "3.5\" Disk"
-msgstr "Disco de 3,5\""
-
-msgid "3.5\" Disk - 2 1/8 x 2 3/4\""
-msgstr "Disco de 3,5\" - 2 1/8 x 2 3/4\""
-
-msgid "3.50x1.00\""
-msgstr "3,50x1,00\""
-
-msgid "30"
-msgstr "30"
-
-msgid "30 mm/sec."
-msgstr "30 mm/seg."
-
-msgid "300 mm/sec."
-msgstr "300 mm/seg."
-
-msgid "300dpi"
-msgstr "300dpi"
-
-msgid "35"
-msgstr "35"
-
-msgid "360dpi"
-msgstr "360dpi"
-
-msgid "360x180dpi"
-msgstr "360x180dpi"
-
-msgid "4"
-msgstr "4"
-
-msgid "4 inches/sec."
-msgstr "4 pol./seg."
-
-msgid "4.00x1.00\""
-msgstr "4,00x1,00\""
-
-msgid "4.00x13.00\""
-msgstr "4,00x13,00\""
-
-msgid "4.00x2.00\""
-msgstr "4,00x2,00\""
-
-msgid "4.00x2.50\""
-msgstr "4,00x2,50\""
-
-msgid "4.00x3.00\""
-msgstr "4,00x3,00\""
-
-msgid "4.00x4.00\""
-msgstr "4,00x4,00\""
-
-msgid "4.00x5.00\""
-msgstr "4,00x5,00\""
-
-msgid "4.00x6.00\""
-msgstr "4,00x6,00\""
-
-msgid "4.00x6.50\""
-msgstr "4,00x6,50\""
-
-msgid "40"
-msgstr "40"
-
-msgid "40 mm/sec."
-msgstr "40 mm/seg."
-
-msgid "45"
-msgstr "45"
-
-msgid "5"
-msgstr "5"
-
-msgid "5 inches/sec."
-msgstr "5 pol./seg."
-
-msgid "5 x 7"
-msgstr ""
-
-msgid "50"
-msgstr "50"
-
-msgid "55"
-msgstr "55"
-
-msgid "6"
-msgstr "6"
-
-msgid "6 inches/sec."
-msgstr "6 pol./seg."
-
-msgid "6.00x1.00\""
-msgstr "6,00x1,00\""
-
-msgid "6.00x2.00\""
-msgstr "6,00x2,00\""
-
-msgid "6.00x3.00\""
-msgstr "6,00x3,00\""
-
-msgid "6.00x4.00\""
-msgstr "6,00x4,00\""
-
-msgid "6.00x5.00\""
-msgstr "6,00x5,00\""
-
-msgid "6.00x6.00\""
-msgstr "6,00x6,00\""
-
-msgid "6.00x6.50\""
-msgstr "6,00x6,50\""
-
-msgid "60"
-msgstr "60"
-
-msgid "60 mm/sec."
-msgstr "60 mm/seg."
-
-msgid "600dpi"
-msgstr "600dpi"
-
-msgid "60dpi"
-msgstr "60dpi"
-
-msgid "60x72dpi"
-msgstr ""
-
-msgid "65"
-msgstr "65"
-
-msgid "7"
-msgstr "7"
-
-msgid "7 inches/sec."
-msgstr "7 pol./seg."
-
-msgid "7 x 9"
-msgstr ""
-
-msgid "70"
-msgstr "70"
-
-msgid "720dpi"
-msgstr "720dpi"
-
-msgid "75"
-msgstr "75"
-
-msgid "8"
-msgstr "8"
-
-msgid "8 inches/sec."
-msgstr "8 pol./seg."
-
-msgid "8 x 10"
-msgstr ""
-
-msgid "8.00x1.00\""
-msgstr "8,00x1,00\""
-
-msgid "8.00x2.00\""
-msgstr "8,00x2,00\""
-
-msgid "8.00x3.00\""
-msgstr "8,00x3,00\""
-
-msgid "8.00x4.00\""
-msgstr "8,00x4,00\""
-
-msgid "8.00x5.00\""
-msgstr "8,00x5,00\""
-
-msgid "8.00x6.00\""
-msgstr "8,00x6,00\""
-
-msgid "8.00x6.50\""
-msgstr "8,00x6,50\""
-
-msgid "80"
-msgstr "80"
-
-msgid "80 mm/sec."
-msgstr "80 mm/seg."
-
-msgid "85"
-msgstr "85"
-
-msgid "9"
-msgstr "9"
-
-msgid "9 inches/sec."
-msgstr "9 pol./seg."
-
-msgid "9 x 11"
-msgstr ""
-
-msgid "9 x 12"
-msgstr ""
-
-msgid "9-Pin Series"
-msgstr "Série de 9 pinos"
-
-msgid "90"
-msgstr "90"
-
-msgid "95"
-msgstr "95"
-
-msgid "?Invalid help command unknown."
-msgstr ""
-
-msgid "A Samba password is required to export printer drivers"
-msgstr ""
-
-msgid "A Samba username is required to export printer drivers"
-msgstr ""
-
-#, c-format
-msgid "A class named \"%s\" already exists."
-msgstr ""
-
-#, c-format
-msgid "A printer named \"%s\" already exists."
-msgstr ""
-
-msgid "A0"
-msgstr "A0"
-
-msgid "A0 Long Edge"
-msgstr ""
-
-msgid "A1"
-msgstr "A1"
-
-msgid "A1 Long Edge"
-msgstr ""
-
-msgid "A10"
-msgstr "A10"
-
-msgid "A2"
-msgstr "A2"
-
-msgid "A2 Long Edge"
-msgstr ""
-
-msgid "A3"
-msgstr "A3"
-
-msgid "A3 Long Edge"
-msgstr ""
-
-msgid "A3 Oversize"
-msgstr ""
-
-msgid "A3 Oversize Long Edge"
-msgstr ""
-
-msgid "A4"
-msgstr "A4"
-
-msgid "A4 Long Edge"
-msgstr ""
-
-msgid "A4 Oversize"
-msgstr ""
-
-msgid "A4 Small"
-msgstr ""
-
-msgid "A5"
-msgstr "A5"
-
-msgid "A5 Long Edge"
-msgstr ""
-
-msgid "A5 Oversize"
-msgstr ""
-
-msgid "A6"
-msgstr "A6"
-
-msgid "A6 Long Edge"
-msgstr ""
-
-msgid "A7"
-msgstr "A7"
-
-msgid "A8"
-msgstr "A8"
-
-msgid "A9"
-msgstr "A9"
-
-msgid "ANSI A"
-msgstr "ANSI A"
-
-msgid "ANSI B"
-msgstr "ANSI B"
-
-msgid "ANSI C"
-msgstr "ANSI C"
-
-msgid "ANSI D"
-msgstr "ANSI D"
-
-msgid "ANSI E"
-msgstr "ANSI E"
-
-msgid "ARCH C"
-msgstr "ARCH C"
-
-msgid "ARCH C Long Edge"
-msgstr ""
-
-msgid "ARCH D"
-msgstr "ARCH D"
-
-msgid "ARCH D Long Edge"
-msgstr ""
-
-msgid "ARCH E"
-msgstr "ARCH E"
-
-msgid "ARCH E Long Edge"
-msgstr ""
-
-msgid "Accept Jobs"
-msgstr "Aceitar trabalhos"
-
-msgid "Accepted"
-msgstr "Aceite(s)"
-
-msgid "Add Class"
-msgstr "Adicionar classe"
-
-msgid "Add Printer"
-msgstr "Adicionar impressora"
-
-msgid "Add RSS Subscription"
-msgstr "Adicionar subscrição RSS"
-
-msgid "Address"
-msgstr "Endereço"
-
-msgid "Address - 1 1/8 x 3 1/2\""
-msgstr "Endereço - 1 1/8 x 3 1/2\""
-
-msgid "Administration"
-msgstr "Administração"
-
-msgid "Always"
-msgstr "Sempre"
-
-msgid "AppSocket/HP JetDirect"
-msgstr "AppSocket/HP JetDirect"
-
-msgid "Applicator"
-msgstr "Aplicador"
-
-#, c-format
-msgid "Attempt to set %s printer-state to bad value %d."
-msgstr ""
-
-#, c-format
-msgid "Attribute groups are out of order (%x < %x)."
-msgstr ""
-
-msgid "B0"
-msgstr "B0"
-
-msgid "B1"
-msgstr "B1"
-
-msgid "B10"
-msgstr "B10"
-
-msgid "B2"
-msgstr "B2"
-
-msgid "B3"
-msgstr "B3"
-
-msgid "B4"
-msgstr "B4"
-
-msgid "B5"
-msgstr "B5"
-
-msgid "B5 Oversize"
-msgstr ""
-
-msgid "B6"
-msgstr "B6"
-
-msgid "B7"
-msgstr "B7"
-
-msgid "B8"
-msgstr "B8"
-
-msgid "B9"
-msgstr "B9"
-
-msgid "Bad NULL dests pointer"
-msgstr "Ponteiro dests NULL inválido"
-
-msgid "Bad OpenGroup"
-msgstr "OpenGroup inválido"
-
-msgid "Bad OpenUI/JCLOpenUI"
-msgstr "OpenUI/JCLOpenUI inválidos"
-
-msgid "Bad OrderDependency"
-msgstr "OrderDependency inválida"
-
-msgid "Bad PPD cache file."
-msgstr ""
-
-msgid "Bad Request"
-msgstr "Pedido inválido"
-
-msgid "Bad SNMP version number"
-msgstr "Número de versão SNMP inválido"
-
-msgid "Bad UIConstraints"
-msgstr "UIConstraints inválidas"
-
-#, c-format
-msgid "Bad charset file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad charset type: %s"
-msgstr ""
-
-#, c-format
-msgid "Bad columns value %d."
-msgstr ""
-
-#, c-format
-msgid "Bad copies value %d."
-msgstr "Valor de cópias inválido %d."
-
-#, c-format
-msgid "Bad cpi value %f."
-msgstr ""
-
-msgid "Bad custom parameter"
-msgstr "Parâmetro personalizado inválido"
-
-#, c-format
-msgid "Bad device-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad device-uri scheme \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad document-format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad document-format-default \"%s\"."
-msgstr ""
-
-msgid "Bad filename buffer"
-msgstr ""
-
-#, c-format
-msgid "Bad font description line \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad font description line: %s"
-msgstr ""
-
-msgid "Bad job-priority value."
-msgstr ""
-
-#, c-format
-msgid "Bad job-sheets value \"%s\"."
-msgstr ""
-
-msgid "Bad job-sheets value type."
-msgstr ""
-
-msgid "Bad job-state value."
-msgstr ""
-
-#, c-format
-msgid "Bad job-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad lpi value %f."
-msgstr ""
-
-#, c-format
-msgid "Bad notify-pull-method \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad notify-recipient-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad number-up value %d."
-msgstr "Valor number-up inválido %d."
-
-#, c-format
-msgid "Bad option + choice on line %d."
-msgstr ""
-
-#, c-format
-msgid "Bad page-ranges values %d-%d."
-msgstr "Valores page-ranges inválidos %d-%d."
-
-#, c-format
-msgid "Bad port-monitor \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad printer-state value %d."
-msgstr ""
-
-#, c-format
-msgid "Bad request ID %d."
-msgstr ""
-
-#, c-format
-msgid "Bad request version number %d.%d."
-msgstr ""
-
-msgid "Bad subscription ID"
-msgstr ""
-
-#, c-format
-msgid "Bad text direction \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad text direction: %s"
-msgstr ""
-
-#, c-format
-msgid "Bad text width \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad text width: %s"
-msgstr ""
-
-msgid "Bad value string"
-msgstr ""
-
-msgid "Banners"
-msgstr "Faixas publicitárias"
-
-msgid "Billing Information: "
-msgstr "Informação de facturação: "
-
-msgid "Bond Paper"
-msgstr "Papel de escritura"
-
-#, c-format
-msgid "Boolean expected for waiteof option \"%s\"."
-msgstr ""
-
-msgid "Buffer overflow detected, aborting."
-msgstr ""
-
-msgid "CMYK"
-msgstr "CMYK"
-
-msgid "CPCL Label Printer"
-msgstr "Impressora de etiquetas CPCL"
-
-msgid "Cancel RSS Subscription"
-msgstr "Cancelar subscrição RSS"
-
-msgid "Canceling print job."
-msgstr ""
-
-msgid "Cannot share a remote Kerberized printer."
-msgstr ""
-
-msgid "Cassette"
-msgstr ""
-
-msgid "Change Settings"
-msgstr "Alterar definições"
-
-#, c-format
-msgid "Character set \"%s\" not supported."
-msgstr ""
-
-msgid "Classes"
-msgstr "Classes"
-
-msgid "Clean Print Heads"
-msgstr "Limpar cabeças de impressão"
-
-msgid "Close-Job doesn't support the job-uri attribute."
-msgstr ""
-
-msgid "Color"
-msgstr "Cor"
-
-msgid "Color Mode"
-msgstr "Modo de cor"
-
-msgid ""
-"Commands may be abbreviated.  Commands are:\n"
-"\n"
-"exit    help    quit    status  ?"
-msgstr ""
-
-msgid "Community name uses indefinite length"
-msgstr "Nome comunitário com comprimento indefinido"
-
-msgid "Connected to printer."
-msgstr ""
-
-msgid "Connecting to printer."
-msgstr ""
-
-msgid "Continue"
-msgstr "Continuar"
-
-msgid "Continuous"
-msgstr "Contínuo"
-
-msgid "Control file sent successfully."
-msgstr ""
-
-msgid "Copying print data."
-msgstr ""
-
-msgid "Created"
-msgstr "Criação"
-
-msgid "Created On: "
-msgstr "Criação: "
-
-msgid "Custom"
-msgstr "Personalizar"
-
-msgid "CustominCutInterval"
-msgstr "CustominCutInterval"
-
-msgid "CustominTearInterval"
-msgstr "CustominTearInterval"
-
-msgid "Cut"
-msgstr "Cortar"
-
-msgid "Cutter"
-msgstr "Cortador"
-
-msgid "Dark"
-msgstr "Escuro"
-
-msgid "Darkness"
-msgstr "Escurecimento"
-
-msgid "Data file sent successfully."
-msgstr ""
-
-msgid "Delete Class"
-msgstr "Apagar classe"
-
-msgid "Delete Printer"
-msgstr "Apagar impressora"
-
-msgid "Description: "
-msgstr "Descrição: "
-
-msgid "DeskJet Series"
-msgstr "Série DeskJet"
-
-#, c-format
-msgid "Destination \"%s\" is not accepting jobs."
-msgstr "Destino \"%s\" não está a aceitar trabalhos."
-
-#, c-format
-msgid ""
-"Device: uri = %s\n"
-"        class = %s\n"
-"        info = %s\n"
-"        make-and-model = %s\n"
-"        device-id = %s\n"
-"        location = %s"
-msgstr ""
-
-msgid "Direct Thermal Media"
-msgstr "Suporte térmico directo"
-
-#, c-format
-msgid "Directory \"%s\" contains a relative path."
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" is a file."
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" not available: %s"
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-msgid "Disabled"
-msgstr "Inactivo"
-
-#, c-format
-msgid "Document #%d does not exist in job #%d."
-msgstr ""
-
-msgid "Driver Name: "
-msgstr "Nome do controlador: "
-
-msgid "Driver Version: "
-msgstr "Versão do controlador: "
-
-msgid "Duplexer"
-msgstr "Duplexer"
-
-msgid "Dymo"
-msgstr "Dymo"
-
-msgid "EPL1 Label Printer"
-msgstr "Impressora de etiquetas EPL1"
-
-msgid "EPL2 Label Printer"
-msgstr "Impressora de etiquetas EPL2"
-
-msgid "Edit Configuration File"
-msgstr "Editar ficheiro de configuração"
-
-msgid "Empty PPD file."
-msgstr ""
-
-#. TRANSLATORS: Banner/cover sheet after the print job.
-msgid "Ending Banner"
-msgstr "Terminar faixa publicitária"
-
-msgid "English"
-msgstr "Portuguese"
-
-msgid "Enter old password:"
-msgstr "Introduza palavra-passe antiga:"
-
-msgid "Enter password again:"
-msgstr "Introduza palavra-passe novamente:"
-
-msgid "Enter password:"
-msgstr "Introduza palavra-passe:"
-
-msgid ""
-"Enter your username and password or the root username and password to access "
-"this page. If you are using Kerberos authentication, make sure you have a "
-"valid Kerberos ticket."
-msgstr ""
-"Introduza o seu nome de utilizador e palavra-passe ou o nome de utilizador e "
-"palavra-passe da raiz para aceder a esta página. Se utilizar a autenticação "
-"Kerberos, certifique-se que tem um ticket de Kerberos válido."
-
-msgid "Envelope #10 "
-msgstr ""
-
-msgid "Envelope #11"
-msgstr ""
-
-msgid "Envelope #12"
-msgstr ""
-
-msgid "Envelope #14"
-msgstr ""
-
-msgid "Envelope #9"
-msgstr ""
-
-msgid "Envelope B4"
-msgstr ""
-
-msgid "Envelope B5"
-msgstr ""
-
-msgid "Envelope B6"
-msgstr ""
-
-msgid "Envelope C0"
-msgstr ""
-
-msgid "Envelope C1"
-msgstr ""
-
-msgid "Envelope C2"
-msgstr ""
-
-msgid "Envelope C3"
-msgstr ""
-
-msgid "Envelope C4"
-msgstr ""
-
-msgid "Envelope C5"
-msgstr ""
-
-msgid "Envelope C6"
-msgstr ""
-
-msgid "Envelope C65"
-msgstr ""
-
-msgid "Envelope C7"
-msgstr ""
-
-msgid "Envelope Choukei 3"
-msgstr ""
-
-msgid "Envelope Choukei 3 Long Edge"
-msgstr ""
-
-msgid "Envelope Choukei 4"
-msgstr ""
-
-msgid "Envelope Choukei 4 Long Edge"
-msgstr ""
-
-msgid "Envelope DL"
-msgstr ""
-
-msgid "Envelope Feed"
-msgstr "Alimentação de envelopes"
-
-msgid "Envelope Invite"
-msgstr ""
-
-msgid "Envelope Italian"
-msgstr ""
-
-msgid "Envelope Kaku2"
-msgstr ""
-
-msgid "Envelope Kaku2 Long Edge"
-msgstr ""
-
-msgid "Envelope Kaku3"
-msgstr ""
-
-msgid "Envelope Kaku3 Long Edge"
-msgstr ""
-
-msgid "Envelope Monarch"
-msgstr ""
-
-msgid "Envelope PRC1 "
-msgstr ""
-
-msgid "Envelope PRC1 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC10"
-msgstr ""
-
-msgid "Envelope PRC10 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC2"
-msgstr ""
-
-msgid "Envelope PRC2 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC3"
-msgstr ""
-
-msgid "Envelope PRC3 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC4"
-msgstr ""
-
-msgid "Envelope PRC4 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC5 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC5PRC5"
-msgstr ""
-
-msgid "Envelope PRC6"
-msgstr ""
-
-msgid "Envelope PRC6 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC7"
-msgstr ""
-
-msgid "Envelope PRC7 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC8"
-msgstr ""
-
-msgid "Envelope PRC8 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC9"
-msgstr ""
-
-msgid "Envelope PRC9 Long Edge"
-msgstr ""
-
-msgid "Envelope Personal"
-msgstr ""
-
-msgid "Envelope You4"
-msgstr ""
-
-msgid "Envelope You4 Long Edge"
-msgstr ""
-
-msgid "Epson"
-msgstr "Epson"
-
-msgid "Error Policy"
-msgstr "Política de Erros"
-
-msgid "Error sending raster data."
-msgstr ""
-
-msgid "Error: need hostname after \"-h\" option."
-msgstr ""
-
-msgid "Every 10 Labels"
-msgstr "A cada 10 etiquetas"
-
-msgid "Every 2 Labels"
-msgstr "A cada 2 etiquetas"
-
-msgid "Every 3 Labels"
-msgstr "A cada 3 etiquetas"
-
-msgid "Every 4 Labels"
-msgstr "A cada 4 etiquetas"
-
-msgid "Every 5 Labels"
-msgstr "A cada 5 etiquetas"
-
-msgid "Every 6 Labels"
-msgstr "A cada 6 etiquetas"
-
-msgid "Every 7 Labels"
-msgstr "A cada 7 etiquetas"
-
-msgid "Every 8 Labels"
-msgstr "A cada 8 etiquetas"
-
-msgid "Every 9 Labels"
-msgstr "A cada 9 etiquetas"
-
-msgid "Every Label"
-msgstr "Todas as etiquetas"
-
-msgid "Executive"
-msgstr ""
-
-msgid "Expectation Failed"
-msgstr "A expectativa não se concretizou"
-
-msgid "Export Printers to Samba"
-msgstr "Exportar Impressoras para Samba"
-
-msgid "FAIL"
-msgstr ""
-
-msgid "FanFold German"
-msgstr ""
-
-msgid "FanFold Legal German"
-msgstr ""
-
-msgid "Fanfold US"
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" contains a relative path."
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" is a directory."
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" not available: %s"
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-msgid "File Folder"
-msgstr "Pasta de ficheiros"
-
-msgid "File Folder - 9/16 x 3 7/16\""
-msgstr "Pasta de ficheiros - 9/16 x 3 7/16\""
-
-#, c-format
-msgid ""
-"File device URIs have been disabled. To enable, see the FileDevice directive "
-"in \"%s/cupsd.conf\"."
-msgstr ""
-
-#, c-format
-msgid "Finished page %d."
-msgstr ""
-
-msgid "Folio"
-msgstr "Fólio"
-
-msgid "Forbidden"
-msgstr "Proibido"
-
-#, c-format
-msgid "Formatting page %d."
-msgstr ""
-
-msgid "General"
-msgstr "Geral"
-
-msgid "Generic"
-msgstr "Genérico"
-
-msgid "Get-Response-PDU uses indefinite length"
-msgstr "Get-Response-PDU com comprimento indefinido"
-
-msgid "Glossy Paper"
-msgstr "Papel brilhante"
-
-msgid "Got a printer-uri attribute but no job-id."
-msgstr ""
-
-msgid "Grayscale"
-msgstr "Níveis de cinzento"
-
-msgid "HP"
-msgstr "HP"
-
-msgid "Hanging Folder"
-msgstr "Pasta suspensa"
-
-msgid "Hanging Folder - 9/16 x 2\""
-msgstr "Pasta suspensa - 9/16 x 2\""
-
-msgid "IPP 1setOf attribute with incompatible value tags."
-msgstr ""
-
-msgid "IPP attribute has no name."
-msgstr ""
-
-msgid "IPP begCollection value not 0 bytes."
-msgstr ""
-
-msgid "IPP boolean value not 1 byte."
-msgstr ""
-
-msgid "IPP date value not 11 bytes."
-msgstr ""
-
-msgid "IPP endCollection value not 0 bytes."
-msgstr ""
-
-msgid "IPP enum value not 4 bytes."
-msgstr ""
-
-msgid "IPP integer value not 4 bytes."
-msgstr ""
-
-msgid "IPP language length overflows value."
-msgstr ""
-
-msgid "IPP member name is not empty."
-msgstr ""
-
-msgid "IPP name larger than 32767 bytes."
-msgstr ""
-
-msgid "IPP nameWithLanguage value less than minimum 4 bytes."
-msgstr ""
-
-msgid "IPP rangeOfInteger value not 8 bytes."
-msgstr ""
-
-msgid "IPP resolution value not 9 bytes."
-msgstr ""
-
-msgid "IPP string length overflows value."
-msgstr ""
-
-msgid "IPP textWithLanguage value less than minimum 4 bytes."
-msgstr ""
-
-msgid "IPP value larger than 32767 bytes."
-msgstr ""
-
-msgid "ISOLatin1"
-msgstr "UTF-8"
-
-msgid "Illegal control character"
-msgstr "Carácter de controlo ilegal"
-
-msgid "Illegal main keyword string"
-msgstr "Cadeia de palavra-chave principal ilegal"
-
-msgid "Illegal option keyword string"
-msgstr "Cadeia de palavra-chave de opção ilegal"
-
-msgid "Illegal translation string"
-msgstr "Cadeia de tradução ilegal"
-
-msgid "Illegal whitespace character"
-msgstr "Carácter de espaço em branco ilegal"
-
-msgid "Installable Options"
-msgstr "Opções instaláveis"
-
-msgid "Installed"
-msgstr "Instalado"
-
-msgid "IntelliBar Label Printer"
-msgstr "Impressora de etiquetas IntelliBar"
-
-msgid "Intellitech"
-msgstr "Intellitech"
-
-msgid "Internal Server Error"
-msgstr ""
-
-msgid "Internal error"
-msgstr "Erro interno"
-
-msgid "Internet Postage 2-Part"
-msgstr "Envio pela Internet em 2 partes"
-
-msgid "Internet Postage 2-Part - 2 1/4 x 7 1/2\""
-msgstr "Envio pela Internet em 2 partes - 2 1/4 x 7 1/2\""
-
-msgid "Internet Postage 3-Part"
-msgstr "Envio pela Internet em 3 partes"
-
-msgid "Internet Postage 3-Part - 2 1/4 x 7\""
-msgstr "Envio pela Internet em 3 partes - 2 1/4 x 7\""
-
-msgid "Internet Printing Protocol"
-msgstr "Protocolo de impressão via Internet"
-
-#, c-format
-msgid "Invalid printer command \"%s\"."
-msgstr ""
-
-msgid "JCL"
-msgstr "JCL"
-
-msgid "JIS B0"
-msgstr ""
-
-msgid "JIS B1"
-msgstr ""
-
-msgid "JIS B10"
-msgstr ""
-
-msgid "JIS B2"
-msgstr ""
-
-msgid "JIS B3"
-msgstr ""
-
-msgid "JIS B4"
-msgstr ""
-
-msgid "JIS B4 Long Edge"
-msgstr ""
-
-msgid "JIS B5"
-msgstr ""
-
-msgid "JIS B5 Long Edge"
-msgstr ""
-
-msgid "JIS B6"
-msgstr ""
-
-msgid "JIS B6 Long Edge"
-msgstr ""
-
-msgid "JIS B7"
-msgstr ""
-
-msgid "JIS B8"
-msgstr ""
-
-msgid "JIS B9"
-msgstr ""
-
-#, c-format
-msgid "Job #%d cannot be restarted - no files."
-msgstr ""
-
-#, c-format
-msgid "Job #%d does not exist."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is already aborted - can't cancel."
-msgstr "Trabalho #%d já interrompido - impossível cancelar."
-
-#, c-format
-msgid "Job #%d is already canceled - can't cancel."
-msgstr "Trabalho #%d já cancelado - impossível cancelar."
-
-#, c-format
-msgid "Job #%d is already completed - can't cancel."
-msgstr "Trabalho #%d já concluído - impossível cancelar."
-
-#, c-format
-msgid "Job #%d is finished and cannot be altered."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is not complete."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is not held for authentication."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is not held."
-msgstr ""
-
-msgid "Job Completed"
-msgstr "Trabalho concluído"
-
-msgid "Job Created"
-msgstr "Trabalho criado"
-
-msgid "Job ID: "
-msgstr "ID do trabalho: "
-
-msgid "Job Options Changed"
-msgstr "Opções de trabalho alteradas"
-
-msgid "Job Stopped"
-msgstr "Trabalho parado"
-
-msgid "Job UUID: "
-msgstr "UUID do trabalho: "
-
-msgid "Job is completed and cannot be changed."
-msgstr "Trabalho concluído; não é possível alterar."
-
-msgid "Job operation failed:"
-msgstr "Operação de trabalho falhou:"
-
-msgid "Job state cannot be changed."
-msgstr "Não é possível alterar o estado do trabalho."
-
-msgid "Job subscriptions cannot be renewed."
-msgstr ""
-
-msgid "Jobs"
-msgstr "Trabalhos"
-
-msgid "LPD/LPR Host or Printer"
-msgstr "Host ou impressora LPD/LPR"
-
-msgid "Label Printer"
-msgstr "Impressora de etiquetas"
-
-msgid "Label Top"
-msgstr "Parte superior da etiqueta"
-
-#, c-format
-msgid "Language \"%s\" not supported."
-msgstr ""
-
-msgid "Large Address"
-msgstr "Endereço grande"
-
-msgid "Large Address - 1 4/10 x 3 1/2\""
-msgstr "Endereço grande - 1 4/10 x 3 1/2\""
-
-msgid "LaserJet Series PCL 4/5"
-msgstr "LaserJet Série PCL 4/5"
-
-msgid "Letter Oversize"
-msgstr ""
-
-msgid "Letter Oversize Long Edge"
-msgstr ""
-
-msgid "Light"
-msgstr "Claro"
-
-msgid "Line longer than the maximum allowed (255 characters)"
-msgstr "Linha excede máximo permitido (255 caracteres)"
-
-msgid "List Available Printers"
-msgstr "Apresentar impressoras disponíveis"
-
-msgid "Loading print file."
-msgstr ""
-
-msgid "Location: "
-msgstr "Localização: "
-
-msgid "Long-Edge (Portrait)"
-msgstr "Margem longa (vertical)"
-
-msgid "Looking for printer."
-msgstr ""
-
-msgid "Make and Model: "
-msgstr "Marca e modelo: "
-
-msgid "Manual Feed"
-msgstr "Alimentação manual"
-
-msgid "Media Dimensions: "
-msgstr "Dimensões do suporte: "
-
-msgid "Media Limits: "
-msgstr "Limites do suporte: "
-
-msgid "Media Name: "
-msgstr "Nome do suporte: "
-
-msgid "Media Size"
-msgstr "Tamanho do suporte"
-
-msgid "Media Source"
-msgstr "Origem do suporte"
-
-msgid "Media Tracking"
-msgstr "Controlo do suporte"
-
-msgid "Media Type"
-msgstr "Tipo de suporte"
-
-msgid "Medium"
-msgstr "Médio"
-
-msgid "Memory allocation error"
-msgstr "Erro de alocação de memória"
-
-msgid "Missing CloseGroup"
-msgstr ""
-
-msgid "Missing PPD-Adobe-4.x header"
-msgstr "Cabeçalho PPD-Adobe-4.x inexistente"
-
-msgid "Missing asterisk in column 1"
-msgstr "Asterisco inexistente na coluna 1"
-
-msgid "Missing document-number attribute."
-msgstr ""
-
-#, c-format
-msgid "Missing double quote on line %d."
-msgstr ""
-
-msgid "Missing form variable"
-msgstr ""
-
-msgid "Missing last-document attribute in request."
-msgstr ""
-
-msgid "Missing media or media-col."
-msgstr ""
-
-msgid "Missing media-size in media-col."
-msgstr ""
-
-msgid "Missing notify-subscription-ids attribute."
-msgstr ""
-
-msgid "Missing option keyword"
-msgstr ""
-
-msgid "Missing requesting-user-name attribute."
-msgstr ""
-
-msgid "Missing required attributes."
-msgstr ""
-
-#, c-format
-msgid "Missing value on line %d of banner file."
-msgstr ""
-
-#, c-format
-msgid "Missing value on line %d."
-msgstr ""
-
-msgid "Missing value string"
-msgstr "Cadeia de valor inexistente"
-
-msgid "Missing x-dimension in media-size."
-msgstr ""
-
-msgid "Missing y-dimension in media-size."
-msgstr ""
-
-#, c-format
-msgid ""
-"Model:  name = %s\n"
-"        natural_language = %s\n"
-"        make-and-model = %s\n"
-"        device-id = %s"
-msgstr ""
-
-msgid "Modify Class"
-msgstr "Modificar classe"
-
-msgid "Modify Printer"
-msgstr "Modificar impressora"
-
-msgid "Move All Jobs"
-msgstr "Mover todos os trabalhos"
-
-msgid "Move Job"
-msgstr "Mover trabalho"
-
-msgid "Moved Permanently"
-msgstr "Mudou-se permanentemente"
-
-msgid "NULL PPD file pointer"
-msgstr "Ponteiro do ficheiro PPD NULL"
-
-msgid "Name OID uses indefinite length"
-msgstr "Nome OID com comprimento indefinido"
-
-msgid "Nested classes are not allowed."
-msgstr ""
-
-msgid "Never"
-msgstr "Nunca"
-
-msgid "New Stylus Color Series"
-msgstr "Nova série a cores Stylus"
-
-msgid "New Stylus Photo Series"
-msgstr "Nova série fotográfica Stylus"
-
-msgid "No"
-msgstr "Não"
-
-msgid "No Content"
-msgstr "Sem conteúdo"
-
-msgid "No PPD name"
-msgstr ""
-
-msgid "No VarBind SEQUENCE"
-msgstr "Sem SEQUÊNCIA VarBind"
-
-msgid "No Windows printer drivers are installed."
-msgstr ""
-
-msgid "No active connection"
-msgstr "Nenhuma ligação activa"
-
-#, c-format
-msgid "No active jobs on %s."
-msgstr ""
-
-msgid "No attributes in request."
-msgstr ""
-
-msgid "No authentication information provided."
-msgstr ""
-
-msgid "No community name"
-msgstr "Sem nome comunitário"
-
-msgid "No default printer."
-msgstr ""
-
-msgid "No destinations added."
-msgstr "Sem destinos adicionados."
-
-msgid "No device URI found in argv[0] or in DEVICE_URI environment variable."
-msgstr ""
-
-msgid "No error-index"
-msgstr "Sem error-index"
-
-msgid "No error-status"
-msgstr "Sem error-status"
-
-msgid "No file in print request."
-msgstr ""
-
-msgid "No fonts in charset file."
-msgstr ""
-
-msgid "No modification time"
-msgstr ""
-
-msgid "No name OID"
-msgstr "Sem OID de nome"
-
-msgid "No pages were found."
-msgstr ""
-
-msgid "No printer name"
-msgstr ""
-
-msgid "No printer-uri found"
-msgstr ""
-
-msgid "No printer-uri found for class"
-msgstr ""
-
-msgid "No printer-uri in request."
-msgstr ""
-
-msgid "No request-id"
-msgstr "Sem request-id"
-
-msgid "No subscription attributes in request."
-msgstr ""
-
-msgid "No subscriptions found."
-msgstr "Sem subscrições."
-
-msgid "No variable-bindings SEQUENCE"
-msgstr "Sem SEQUÊNCIA variable-bindings"
-
-msgid "No version number"
-msgstr "Sem número de versão"
-
-msgid "Non-continuous (Mark sensing)"
-msgstr "Não contínuo (leitura de marcas)"
-
-msgid "Non-continuous (Web sensing)"
-msgstr "Não contínuo (leitura Web)"
-
-msgid "Normal"
-msgstr "Normal"
-
-msgid "Not Found"
-msgstr "Não encontrado"
-
-msgid "Not Implemented"
-msgstr "Não implementado"
-
-msgid "Not Installed"
-msgstr "Não instalado"
-
-msgid "Not Modified"
-msgstr "Não modificado"
-
-msgid "Not Supported"
-msgstr "Não suportado"
-
-msgid "Not allowed to print."
-msgstr "Sem permissão para imprimir."
-
-msgid "Note"
-msgstr "Nota"
-
-msgid ""
-"Note: this program only validates the DSC comments, not the PostScript "
-"itself."
-msgstr ""
-
-msgid "OK"
-msgstr "OK"
-
-msgid "Off (1-Sided)"
-msgstr "Inactivo (1 lado)"
-
-msgid "Oki"
-msgstr "Oki"
-
-msgid "Online Help"
-msgstr "Ajuda online"
-
-#, c-format
-msgid "Open of %s failed: %s"
-msgstr "abertura de %s falhou: %s"
-
-msgid "OpenGroup without a CloseGroup first"
-msgstr "OpenGroup sem um CloseGroup primeiro"
-
-msgid "OpenUI/JCLOpenUI without a CloseUI/JCLCloseUI first"
-msgstr "OpenUI/JCLOpenUI sem um CloseUI/JCLCloseUI primeiro"
-
-msgid "Operation Policy"
-msgstr "Política de Operação"
-
-#, c-format
-msgid "Option \"%s\" cannot be included via %%%%IncludeFeature."
-msgstr ""
-
-msgid "Options Installed"
-msgstr "Opções instaladas"
-
-msgid "Options:"
-msgstr ""
-
-msgid "Options: "
-msgstr "Opções: "
-
-msgid "Out of date PPD cache file."
-msgstr ""
-
-msgid "Out of memory."
-msgstr ""
-
-msgid "Output Mode"
-msgstr "Modo de saída"
-
-#, c-format
-msgid "Output for printer %s is sent to %s"
-msgstr ""
-
-#, c-format
-msgid "Output for printer %s is sent to remote printer %s on %s"
-msgstr ""
-
-#, c-format
-msgid "Output for printer %s/%s is sent to %s"
-msgstr ""
-
-#, c-format
-msgid "Output for printer %s/%s is sent to remote printer %s on %s"
-msgstr ""
-
-msgid "PASS"
-msgstr ""
-
-msgid "PCL Laser Printer"
-msgstr "Impressora Laser PCL"
-
-msgid "PRC16K"
-msgstr "PRC16K"
-
-msgid "PRC16K Long Edge"
-msgstr ""
-
-msgid "PRC32K"
-msgstr "PRC32K"
-
-msgid "PRC32K Long Edge"
-msgstr ""
-
-msgid "PRC32K Oversize"
-msgstr ""
-
-msgid "PRC32K Oversize Long Edge"
-msgstr ""
-
-msgid "Packet does not contain a Get-Response-PDU"
-msgstr "O pacote não contém Get-Response-PDU"
-
-msgid "Packet does not start with SEQUENCE"
-msgstr "O pacote não começa por SEQUENCE"
-
-msgid "ParamCustominCutInterval"
-msgstr "ParamCustominCutInterval"
-
-msgid "ParamCustominTearInterval"
-msgstr "ParamCustominTearInterval"
-
-#, c-format
-msgid "Password for %s on %s? "
-msgstr "Palavra-passe para %s em %s? "
-
-#, c-format
-msgid "Password for %s required to access %s via SAMBA: "
-msgstr "Palavra-passe para %s requerida para aceder a %s via SAMBA: "
-
-msgid "Pause Class"
-msgstr "Colocar a classe em pausa"
-
-msgid "Pause Printer"
-msgstr "Colocar a impressora em pausa"
-
-msgid "Peel-Off"
-msgstr "Destacar"
-
-msgid "Photo"
-msgstr "Fotografia"
-
-msgid "Photo Labels"
-msgstr "Etiquetas de fotografias"
-
-msgid "Plain Paper"
-msgstr "Papel normal"
-
-msgid "Policies"
-msgstr "Políticas"
-
-msgid "Port Monitor"
-msgstr "Monitor da porta"
-
-msgid "PostScript Printer"
-msgstr "Impressora PostScript"
-
-msgid "Postcard"
-msgstr "Postal"
-
-msgid "Postcard Double "
-msgstr ""
-
-msgid "Postcard Double Long Edge"
-msgstr ""
-
-msgid "Postcard Long Edge"
-msgstr ""
-
-msgid "Print Density"
-msgstr "Densidade de impressão"
-
-msgid "Print Job:"
-msgstr "Imprimir trabalho:"
-
-msgid "Print Mode"
-msgstr "Modo de impressão"
-
-msgid "Print Rate"
-msgstr "Taxa de impressão"
-
-msgid "Print Self-Test Page"
-msgstr "Imprimir página de teste automático"
-
-msgid "Print Speed"
-msgstr "Velocidade de impressão"
-
-msgid "Print Test Page"
-msgstr "Imprimir página de teste"
-
-msgid "Print and Cut"
-msgstr "Imprimir e cortar"
-
-msgid "Print and Tear"
-msgstr "Imprimir e rasgar"
-
-#, c-format
-msgid "Print file accepted - job ID %d."
-msgstr ""
-
-msgid "Print file accepted - job ID unknown."
-msgstr ""
-
-msgid "Print file sent."
-msgstr ""
-
-msgid "Print file was not accepted."
-msgstr ""
-
-msgid "Print job too large."
-msgstr ""
-
-msgid "Printed For: "
-msgstr "Impresso para: "
-
-msgid "Printed From: "
-msgstr "Impresso a partir de: "
-
-msgid "Printed On: "
-msgstr "Impresso a: "
-
-msgid "Printer Added"
-msgstr "Impressora adicionada"
-
-msgid "Printer Default"
-msgstr "Impressora predefinida"
-
-msgid "Printer Deleted"
-msgstr "Impressora apagada"
-
-msgid "Printer Modified"
-msgstr "Impressora modificada"
-
-msgid "Printer Name: "
-msgstr "Nome da impressora: "
-
-msgid "Printer Paused"
-msgstr "Impressora em pausa"
-
-msgid "Printer Settings"
-msgstr "Definições da impressora"
-
-msgid "Printer busy, will retry in 10 seconds."
-msgstr ""
-
-msgid "Printer busy; will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer did not respond."
-msgstr ""
-
-#, c-format
-msgid "Printer does not support IPP/%d.%d, trying IPP/%s."
-msgstr ""
-
-msgid "Printer is busy, will retry in 5 seconds."
-msgstr ""
-
-msgid "Printer is not currently connected."
-msgstr ""
-
-msgid "Printer is now connected."
-msgstr ""
-
-msgid "Printer is now online."
-msgstr ""
-
-msgid "Printer is offline."
-msgstr ""
-
-msgid "Printer not connected, will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer not connected; will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer:"
-msgstr "Impressora:"
-
-msgid "Printers"
-msgstr "Impressoras"
-
-#, c-format
-msgid "Printing page %d, %d%% complete."
-msgstr ""
-
-#, c-format
-msgid "Printing page %d."
-msgstr ""
-
-msgid "Purge Jobs"
-msgstr "Limpar trabalhos"
-
-msgid "Quarto"
-msgstr "Quarto"
-
-msgid "Quota limit reached."
-msgstr "Quota atingida."
-
-msgid "Rank    Owner   Job     File(s)                         Total Size"
-msgstr ""
-
-#. TRANSLATORS: Pri is job priority.
-msgid ""
-"Rank   Owner      Pri  Job        Files                       Total Size"
-msgstr ""
-
-msgid "Ready to print."
-msgstr ""
-
-msgid "Reject Jobs"
-msgstr "Rejeitar trabalhos"
-
-#, c-format
-msgid "Remote host did not accept control file (%d)."
-msgstr ""
-
-#, c-format
-msgid "Remote host did not accept data file (%d)."
-msgstr ""
-
-msgid "Reprint After Error"
-msgstr "Voltar a imprimir após o erro"
-
-msgid "Request Entity Too Large"
-msgstr "Entidade do pedido demasiado extensa"
-
-msgid "Resolution"
-msgstr "Resolução"
-
-msgid "Resume Class"
-msgstr "Retomar classe"
-
-msgid "Resume Printer"
-msgstr "Retomar impressora"
-
-msgid "Return Address"
-msgstr "Endereço de devolução"
-
-msgid "Return Address - 3/4 x 2\""
-msgstr "Endereço de devolução - 3/4 x 2\""
-
-msgid "Rewind"
-msgstr "Retroceder"
-
-#, c-format
-msgid "Running command: %s %s -N -A %s -c '%s'"
-msgstr ""
-
-msgid "SEQUENCE uses indefinite length"
-msgstr "SEQUENCE com comprimento indefinido"
-
-msgid "SSL/TLS Negotiation Error"
-msgstr ""
-
-msgid "See Other"
-msgstr "Ver outros"
-
-msgid "Sending data to printer."
-msgstr ""
-
-#, c-format
-msgid "Serial Port #%d"
-msgstr "Porta de série n.º %d"
-
-msgid "Server Restarted"
-msgstr "Servidor reiniciado"
-
-msgid "Server Security Auditing"
-msgstr "Auditoria de segurança do servidor"
-
-msgid "Server Started"
-msgstr "Servidor iniciado"
-
-msgid "Server Stopped"
-msgstr "Servidor parado"
-
-msgid "Service Unavailable"
-msgstr "Serviço indisponível"
-
-msgid "Set Allowed Users"
-msgstr "Definir utilizadores permitidos"
-
-msgid "Set As Server Default"
-msgstr "Definir como servidor predefinido"
-
-msgid "Set Class Options"
-msgstr "Definir opções de classe"
-
-msgid "Set Printer Options"
-msgstr "Definir opções de impressora"
-
-msgid "Set Publishing"
-msgstr "Definir publicação"
-
-msgid "Shipping Address"
-msgstr "Endereço de envio"
-
-msgid "Shipping Address - 2 5/16 x 4\""
-msgstr "Endereço de envio - 2 5/16 x 4\""
-
-msgid "Short-Edge (Landscape)"
-msgstr "Margem estreita (horizontal)"
-
-msgid "Special Paper"
-msgstr "Papel especial"
-
-#, c-format
-msgid "Spooling job, %.0f%% complete."
-msgstr ""
-
-msgid "Standard"
-msgstr "Padrão"
-
-#. TRANSLATORS: Banner/cover sheet before the print job.
-msgid "Starting Banner"
-msgstr "Iniciar faixa publicitária"
-
-#, c-format
-msgid "Starting page %d."
-msgstr ""
-
-msgid "Statement"
-msgstr "Declaração"
-
-msgid "Stylus Color Series"
-msgstr "Série a cores Stylus"
-
-msgid "Stylus Photo Series"
-msgstr "Série fotográfica Stylus"
-
-#, c-format
-msgid "Subscription #%d does not exist."
-msgstr ""
-
-msgid "Super A"
-msgstr "Super A"
-
-msgid "Super B"
-msgstr "Super B"
-
-msgid "Super B/A3"
-msgstr "Super B/A3"
-
-msgid "Switching Protocols"
-msgstr "A mudar de protocolo"
-
-msgid "Tabloid"
-msgstr "Tablóide"
-
-msgid "Tabloid Oversize"
-msgstr ""
-
-msgid "Tabloid Oversize Long Edge"
-msgstr ""
-
-msgid "Tear"
-msgstr "Rasgar"
-
-msgid "Tear-Off"
-msgstr "Descartar"
-
-msgid "Tear-Off Adjust Position"
-msgstr "Descartar posição de ajuste"
-
-#, c-format
-msgid "The %s attribute cannot be provided with job-ids."
-msgstr ""
-
-#, c-format
-msgid "The PPD file \"%s\" could not be found."
-msgstr "Não é possível localizar o ficheiro PPD \"%s\"."
-
-#, c-format
-msgid "The PPD file \"%s\" could not be opened: %s"
-msgstr "Não é possível abrir o ficheiro PPD \"%s\": %s"
-
-msgid "The PPD file could not be opened."
-msgstr ""
-
-msgid ""
-"The class name may only contain up to 127 printable characters and may not "
-"contain spaces, slashes (/), or the pound sign (#)."
-msgstr ""
-"O nome de classe pode ter o máximo de 127 caracteres imprimíveis e não pode "
-"ter espaços, barras (/) ou cardinal (#)."
-
-msgid "The developer unit needs to be replaced."
-msgstr ""
-
-msgid "The developer unit will need to be replaced soon."
-msgstr ""
-
-msgid "The fuser's temperature is high."
-msgstr ""
-
-msgid "The fuser's temperature is low."
-msgstr ""
-
-msgid ""
-"The notify-lease-duration attribute cannot be used with job subscriptions."
-msgstr ""
-"Não é possível utilizar o atributo notify-lease-duration com subscrições de "
-"trabalho."
-
-#, c-format
-msgid "The notify-user-data value is too large (%d > 63 octets)."
-msgstr ""
-
-msgid "The optical photoconductor needs to be replaced."
-msgstr ""
-
-msgid "The optical photoconductor will need to be replaced soon."
-msgstr ""
-
-msgid "The output bin is almost full."
-msgstr ""
-
-msgid "The output bin is full."
-msgstr ""
-
-msgid "The output bin is missing."
-msgstr ""
-
-msgid "The page setup information was not valid."
-msgstr ""
-
-msgid "The paper tray is almost empty."
-msgstr ""
-
-msgid "The paper tray is empty."
-msgstr ""
-
-msgid "The paper tray is missing."
-msgstr ""
-
-msgid "The paper tray needs to be filled."
-msgstr ""
-
-msgid "The print file could not be opened."
-msgstr ""
-
-msgid "The printer URI is incorrect or no longer exists."
-msgstr ""
-
-msgid "The printer is busy."
-msgstr ""
-
-msgid "The printer is not connected."
-msgstr ""
-
-msgid "The printer is not responding."
-msgstr ""
-
-msgid "The printer is out of ink."
-msgstr ""
-
-msgid "The printer is running low on ink."
-msgstr ""
-
-msgid "The printer is running low on toner."
-msgstr ""
-
-msgid "The printer is unreachable at this time."
-msgstr ""
-
-msgid "The printer may be out of toner."
-msgstr ""
-
-msgid "The printer may not exist or is unavailable at this time."
-msgstr ""
-
-msgid ""
-"The printer name may only contain up to 127 printable characters and may not "
-"contain spaces, slashes (/), or the pound sign (#)."
-msgstr ""
-"O nome de impressora pode ter o máximo de 127 caracteres imprimíveis e não "
-"pode ter espaços, barras (/) ou cardinal (#)."
-
-msgid "The printer or class does not exist."
-msgstr ""
-
-msgid "The printer or class is not shared."
-msgstr ""
-
-msgid "The printer's cover is open."
-msgstr ""
-
-msgid "The printer's door is open."
-msgstr ""
-
-msgid "The printer's interlock is open."
-msgstr ""
-
-msgid "The printer's waste bin is almost full."
-msgstr ""
-
-msgid "The printer's waste bin is full."
-msgstr ""
-
-#, c-format
-msgid "The printer-uri \"%s\" contains invalid characters."
-msgstr "O atributo printer-uri \"%s\" contém caracteres inválidos."
-
-msgid "The printer-uri attribute is required."
-msgstr ""
-
-msgid ""
-"The printer-uri must be of the form \"ipp://HOSTNAME/classes/CLASSNAME\"."
-msgstr ""
-"O atributo printer-uri deve ser do formato \"ipp://HOSTNAME/classes/CLASSNAME"
-"\"."
-
-msgid ""
-"The printer-uri must be of the form \"ipp://HOSTNAME/printers/PRINTERNAME\"."
-msgstr ""
-"O atributo printer-uri deve ser do formato \"ipp://HOSTNAME/printers/"
-"PRINTERNAME\"."
-
-msgid ""
-"The subscription name may not contain spaces, slashes (/), question marks "
-"(?), or the pound sign (#)."
-msgstr ""
-"O nome de subscrição não pode ter espaços, barras (/), pontos de "
-"interrogação (?) ou cardinal (#)."
-
-msgid ""
-"The web interface is currently disabled. Run \"cupsctl WebInterface=yes\" to "
-"enable it."
-msgstr ""
-
-#, c-format
-msgid "The which-jobs value \"%s\" is not supported."
-msgstr ""
-
-msgid "There are too many subscriptions."
-msgstr "Existem demasiadas subscrições."
-
-msgid "There is a paper jam."
-msgstr ""
-
-msgid "There was an unrecoverable USB error."
-msgstr ""
-
-msgid "Thermal Transfer Media"
-msgstr "Suporte de transferência térmica"
-
-msgid "Title: "
-msgstr "Título: "
-
-msgid "Too many active jobs."
-msgstr "Demasiados trabalhos activos."
-
-#, c-format
-msgid "Too many job-sheets values (%d > 2)."
-msgstr ""
-
-#, c-format
-msgid "Too many printer-state-reasons values (%d > %d)."
-msgstr ""
-
-msgid "Transparency"
-msgstr "Transparência"
-
-msgid "Tray"
-msgstr "Bandeja"
-
-msgid "Tray 1"
-msgstr "Bandeja 1"
-
-msgid "Tray 2"
-msgstr "Bandeja 2"
-
-msgid "Tray 3"
-msgstr "Bandeja 3"
-
-msgid "Tray 4"
-msgstr "Bandeja 4"
-
-msgid "URI Too Long"
-msgstr "URI demasiado longo"
-
-msgid "US Ledger"
-msgstr "Livro de contas EUA"
-
-msgid "US Legal"
-msgstr "Legal EUA"
-
-msgid "US Legal Oversize"
-msgstr ""
-
-msgid "US Letter"
-msgstr "Carta EUA"
-
-msgid "US Letter Long Edge"
-msgstr ""
-
-msgid "US Letter Oversize"
-msgstr ""
-
-msgid "US Letter Oversize Long Edge"
-msgstr ""
-
-msgid "US Letter Small"
-msgstr ""
-
-#, c-format
-msgid "USB Serial Port #%d"
-msgstr "Porta de série USB n.º %d"
-
-msgid "Unable to access cupsd.conf file:"
-msgstr "Não é possível aceder ao ficheiro cupsd.conf:"
-
-msgid "Unable to add RSS subscription:"
-msgstr "Não é possível adicionar a subscrição RSS:"
-
-msgid "Unable to add class:"
-msgstr "Não é possível adicionar a classe:"
-
-msgid "Unable to add document to print job."
-msgstr ""
-
-#, c-format
-msgid "Unable to add job for destination \"%s\"."
-msgstr ""
-
-msgid "Unable to add printer:"
-msgstr "Não é possível adicionar a impressora:"
-
-msgid "Unable to allocate memory for file types."
-msgstr ""
-
-msgid "Unable to allocate memory for page info"
-msgstr ""
-
-msgid "Unable to allocate memory for pages array"
-msgstr ""
-
-msgid "Unable to cancel RSS subscription:"
-msgstr "Não é possível cancelar a subscrição RSS:"
-
-msgid "Unable to cancel print job."
-msgstr ""
-
-msgid "Unable to change printer-is-shared attribute:"
-msgstr "Não é possível alterar o atributo printer-is-shared:"
-
-msgid "Unable to change printer:"
-msgstr "Não é possível alterar a impressora:"
-
-msgid "Unable to change server settings:"
-msgstr "Não é possível alterar as definições do servidor:"
-
-msgid "Unable to configure printer options."
-msgstr ""
-
-msgid "Unable to connect to host."
-msgstr "Não é possível ligar ao host."
-
-msgid "Unable to contact printer, queuing on next printer in class."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy 64-bit CUPS printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy 64-bit Windows printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy CUPS printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy PPD file - %s"
-msgstr ""
-
-msgid "Unable to copy PPD file."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy Windows 2000 printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy Windows 9x printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy interface script - %s"
-msgstr ""
-
-msgid "Unable to copy print file"
-msgstr ""
-
-msgid "Unable to create compressed print file"
-msgstr ""
-
-msgid "Unable to create pipes for filters"
-msgstr ""
-
-msgid "Unable to create printer-uri"
-msgstr ""
-
-msgid "Unable to create temporary file"
-msgstr ""
-
-msgid "Unable to create temporary file:"
-msgstr "Não é possível criar o ficheiro temporário:"
-
-msgid "Unable to delete class:"
-msgstr "Não é possível apagar a classe:"
-
-msgid "Unable to delete printer:"
-msgstr "Não é possível apagar a impressora:"
-
-msgid "Unable to do maintenance command:"
-msgstr "Não é possível executar o comando de manutenção:"
-
-msgid "Unable to edit cupsd.conf files larger than 1MB"
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (certificate chain invalid)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (certificate not yet valid)."
-msgstr ""
-
-msgid "Unable to establish a secure connection to host (expired certificate)."
-msgstr ""
-
-msgid "Unable to establish a secure connection to host (host name mismatch)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (peer dropped connection "
-"before responding)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (self-signed certificate)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (untrusted certificate)."
-msgstr ""
-
-msgid "Unable to establish a secure connection to host."
-msgstr ""
-
-msgid "Unable to find destination for job"
-msgstr ""
-
-msgid "Unable to find printer."
-msgstr ""
-
-msgid "Unable to fork filter"
-msgstr ""
-
-msgid "Unable to generate compressed print file"
-msgstr ""
-
-msgid "Unable to get backend exit status."
-msgstr ""
-
-msgid "Unable to get class list:"
-msgstr "Não é possível obter a lista de classes:"
-
-msgid "Unable to get class status:"
-msgstr "Não é possível obter o estado da classe:"
-
-msgid "Unable to get list of printer drivers:"
-msgstr "Não é possível obter a lista de recursos da impressora:"
-
-msgid "Unable to get printer attributes:"
-msgstr "Não é possível obter os atributos da impressora:"
-
-msgid "Unable to get printer list:"
-msgstr "Não é possível obter a lista de impressoras:"
-
-msgid "Unable to get printer status."
-msgstr ""
-
-msgid "Unable to get printer status:"
-msgstr "Não é possível obter o estado da impressora:"
-
-#, c-format
-msgid "Unable to install Windows 2000 printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to install Windows 9x printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to locate printer \"%s\"."
-msgstr ""
-
-msgid "Unable to locate printer."
-msgstr ""
-
-msgid "Unable to modify class:"
-msgstr "Não é possível modificar a classe:"
-
-msgid "Unable to modify printer:"
-msgstr "Não é possível modificar a impressora:"
-
-msgid "Unable to move job"
-msgstr "Não é possível mover o trabalho"
-
-msgid "Unable to move jobs"
-msgstr "Não é possível mover os trabalhos"
-
-msgid "Unable to open PPD file"
-msgstr "Não é possível abrir o ficheiro PPD"
-
-msgid "Unable to open PPD file:"
-msgstr "Não é possível abrir o ficheiro PPD:"
-
-msgid "Unable to open charset file"
-msgstr ""
-
-msgid "Unable to open compressed print file"
-msgstr ""
-
-msgid "Unable to open cupsd.conf file:"
-msgstr "Não é possível abrir o ficheiro cupsd.conf:"
-
-msgid "Unable to open device file"
-msgstr ""
-
-#, c-format
-msgid "Unable to open document #%d in job #%d."
-msgstr ""
-
-msgid "Unable to open print file"
-msgstr ""
-
-msgid "Unable to open psglyphs"
-msgstr ""
-
-msgid "Unable to open raster file"
-msgstr ""
-
-#, c-format
-msgid "Unable to print %d text columns."
-msgstr ""
-
-#, c-format
-msgid "Unable to print %dx%d text page."
-msgstr ""
-
-msgid "Unable to print test page:"
-msgstr "Não é possível imprimir a página de teste:"
-
-msgid "Unable to read print data"
-msgstr ""
-
-msgid "Unable to read print data."
-msgstr ""
-
-#, c-format
-msgid "Unable to run \"%s\": %s"
-msgstr ""
-
-msgid "Unable to see in file"
-msgstr ""
-
-msgid "Unable to send command to printer driver"
-msgstr ""
-
-msgid "Unable to send data to printer."
-msgstr ""
-
-msgid "Unable to send raster data to the driver."
-msgstr ""
-
-#, c-format
-msgid "Unable to set Windows printer driver (%d)."
-msgstr ""
-
-msgid "Unable to set options:"
-msgstr "Não é possível definir opções:"
-
-msgid "Unable to set server default:"
-msgstr "Não é possível definir como servidor predefinido:"
-
-msgid "Unable to start backend process."
-msgstr ""
-
-msgid "Unable to upload cupsd.conf file:"
-msgstr "Não é possível carregar o ficheiro cupsd.conf:"
-
-msgid "Unable to use legacy USB class driver."
-msgstr ""
-
-msgid "Unable to write print data"
-msgstr ""
-
-#, c-format
-msgid "Unable to write uncompressed print data: %s"
-msgstr ""
-
-msgid "Unauthorized"
-msgstr "Não autorizado"
-
-msgid "Units"
-msgstr "Unidades"
-
-msgid "Unknown"
-msgstr "Desconhecido"
-
-#, c-format
-msgid "Unknown choice \"%s\" for option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown encryption option value: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown file order: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown format character: \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown option \"%s\" with value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown print mode: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown printer-error-policy \"%s\"."
-msgstr "Printer-error-policy desconhecida \"%s\"."
-
-#, c-format
-msgid "Unknown printer-op-policy \"%s\"."
-msgstr "Printer-op-policy desconhecida \"%s\"."
-
-#, c-format
-msgid "Unknown version option value: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported baud rate: %s"
-msgstr ""
-
-#, c-format
-msgid "Unsupported brightness value %s, using brightness=100."
-msgstr ""
-
-#, c-format
-msgid "Unsupported character set \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported compression \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported document-format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported document-format \"%s/%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported gamma value %s, using gamma=1000."
-msgstr ""
-
-msgid "Unsupported margins."
-msgstr ""
-
-msgid "Unsupported media value."
-msgstr ""
-
-#, c-format
-msgid "Unsupported number-up value %d, using number-up=1."
-msgstr ""
-
-#, c-format
-msgid "Unsupported number-up-layout value %s, using number-up-layout=lrtb."
-msgstr ""
-
-#, c-format
-msgid "Unsupported page-border value %s, using page-border=none."
-msgstr ""
-
-msgid "Unsupported raster data."
-msgstr ""
-
-msgid "Unsupported value type"
-msgstr "Tipo de valor não suportado"
-
-msgid "Upgrade Required"
-msgstr "Requer actualização"
-
-msgid ""
-"Usage:\n"
-"\n"
-"    lpadmin [-h server] -d destination\n"
-"    lpadmin [-h server] -x destination\n"
-"    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m model]\n"
-"                       [-r remove-class] [-v device] [-D description]\n"
-"                       [-P ppd-file] [-o name=value]\n"
-"                       [-u allow:user,user] [-u deny:user,user]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job user title copies options [filename]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job-id user title copies options [file]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job-id user title copies options file"
-msgstr ""
-
-msgid "Usage: convert [ options ]"
-msgstr ""
-
-msgid "Usage: cupsaddsmb [options] printer1 ... printerN"
-msgstr ""
-
-msgid "Usage: cupsctl [options] [param=value ... paramN=valueN]"
-msgstr ""
-
-msgid "Usage: cupsd [options]"
-msgstr ""
-
-msgid "Usage: cupsfilter [ options ] filename"
-msgstr ""
-
-msgid "Usage: cupstestdsc [options] filename.ps [... filename.ps]"
-msgstr ""
-
-msgid ""
-"Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]"
-msgstr ""
-
-msgid "Usage: ipptool [options] URI filename [ ... filenameN ]"
-msgstr ""
-
-msgid "Usage: lpmove job/src dest"
-msgstr ""
-
-msgid ""
-"Usage: lpoptions [-h server] [-E] -d printer\n"
-"       lpoptions [-h server] [-E] [-p printer] -l\n"
-"       lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
-"       lpoptions [-h server] [-E] -x printer"
-msgstr ""
-
-msgid "Usage: lppasswd [-g groupname]"
-msgstr ""
-
-msgid ""
-"Usage: lppasswd [-g groupname] [username]\n"
-"       lppasswd [-g groupname] -a [username]\n"
-"       lppasswd [-g groupname] -x [username]"
-msgstr ""
-
-msgid ""
-"Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]"
-msgstr ""
-
-msgid "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]"
-msgstr ""
-
-msgid "Usage: ppdhtml [options] filename.drv >filename.html"
-msgstr ""
-
-msgid "Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]"
-msgstr ""
-
-msgid "Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]"
-msgstr ""
-
-msgid ""
-"Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]"
-msgstr ""
-
-msgid "Usage: snmp [host-or-ip-address]"
-msgstr ""
-
-msgid "Value uses indefinite length"
-msgstr "Valor com comprimento indefinido"
-
-msgid "VarBind uses indefinite length"
-msgstr "VarBind com comprimento indefinido"
-
-msgid "Version uses indefinite length"
-msgstr "Versão com comprimento indefinido"
-
-msgid "Waiting for job to complete."
-msgstr ""
-
-msgid "Waiting for printer to become available."
-msgstr ""
-
-msgid "Waiting for printer to finish."
-msgstr ""
-
-msgid "Warning, no Windows 2000 printer drivers are installed."
-msgstr ""
-
-msgid "Web Interface is Disabled"
-msgstr ""
-
-msgid "Yes"
-msgstr "Sim"
-
-#, c-format
-msgid ""
-"You must access this page using the URL <A HREF=\"https://%s:%d%s\">https://%"
-"s:%d%s</A>."
-msgstr ""
-"Deve aceder a esta página utilizando o URL <A HREF=\"https://%s:%d%s"
-"\">https://%s:%d%s</A>."
-
-msgid ""
-"Your password must be at least 6 characters long, cannot contain your "
-"username, and must contain at least one letter and number."
-msgstr ""
-
-msgid "ZPL Label Printer"
-msgstr "Impressora de etiquetas ZPL"
-
-msgid "Zebra"
-msgstr "Zebra"
-
-msgid "aborted"
-msgstr "interrompido"
-
-msgid "canceled"
-msgstr "cancelado"
-
-msgid "completed"
-msgstr "concluído"
-
-msgid "convert: Use the -f option to specify a file to convert."
-msgstr ""
-
-msgid "cups-deviced failed to execute."
-msgstr "cups-deviced falhou a execução."
-
-msgid "cups-driverd failed to execute."
-msgstr "cups-driverd falhou a execução."
-
-#, c-format
-msgid "cupsaddsmb: No PPD file for printer \"%s\" - %s"
-msgstr ""
-
-msgid "cupsctl: Cannot set Listen or Port directly."
-msgstr ""
-
-#, c-format
-msgid "cupsctl: Unable to connect to server: %s"
-msgstr ""
-
-#, c-format
-msgid "cupsctl: Unknown option \"%s\""
-msgstr ""
-
-#, c-format
-msgid "cupsctl: Unknown option \"-%c\""
-msgstr ""
-
-msgid "cupsd: Expected config filename after \"-c\" option."
-msgstr ""
-
-msgid "cupsd: Unable to get current directory."
-msgstr ""
-
-#, c-format
-msgid "cupsd: Unknown argument \"%s\" - aborting."
-msgstr ""
-
-#, c-format
-msgid "cupsd: Unknown option \"%c\" - aborting."
-msgstr ""
-
-msgid "cupsd: launchd(8) support not compiled in, running in normal mode."
-msgstr ""
-
-#, c-format
-msgid "cupsfilter: Invalid document number %d."
-msgstr ""
-
-#, c-format
-msgid "cupsfilter: Invalid job ID %d."
-msgstr ""
-
-msgid "cupsfilter: Only one filename can be specified."
-msgstr ""
-
-#, c-format
-msgid "cupsfilter: Unable to get job file - %s"
-msgstr ""
-
-msgid "cupstestppd: The -q option is incompatible with the -v option."
-msgstr ""
-
-msgid "cupstestppd: The -v option is incompatible with the -q option."
-msgstr ""
-
-#, c-format
-msgid "device for %s/%s: %s"
-msgstr ""
-
-#, c-format
-msgid "device for %s: %s"
-msgstr ""
-
-msgid "error-index uses indefinite length"
-msgstr "error-index com comprimento indefinido"
-
-msgid "error-status uses indefinite length"
-msgstr "error-status com comprimento indefinido"
-
-msgid "held"
-msgstr "reter"
-
-msgid "help\t\tGet help on commands."
-msgstr ""
-
-msgid "idle"
-msgstr "inactivo"
-
-msgid "ipptool: \"-i\" and \"-n\" are incompatible with -X\"."
-msgstr ""
-
-msgid "ipptool: \"-i\" is incompatible with \"-X\"."
-msgstr ""
-
-msgid "ipptool: \"-n\" is incompatible with \"-X\"."
-msgstr ""
-
-#, c-format
-msgid "ipptool: Bad URI - %s."
-msgstr ""
-
-#, c-format
-msgid "ipptool: Bad version %s for \"-V\"."
-msgstr ""
-
-msgid "ipptool: Invalid seconds for \"-i\"."
-msgstr ""
-
-msgid "ipptool: May only specify a single URI."
-msgstr ""
-
-msgid "ipptool: Missing count for \"-n\"."
-msgstr ""
-
-msgid "ipptool: Missing filename for \"-f\"."
-msgstr ""
-
-msgid "ipptool: Missing name=value for \"-d\"."
-msgstr ""
-
-msgid "ipptool: Missing seconds for \"-i\"."
-msgstr ""
-
-msgid "ipptool: Missing timeout for \"-T\"."
-msgstr ""
-
-msgid "ipptool: Missing version for \"-V\"."
-msgstr ""
-
-msgid "ipptool: URI required before test file."
-msgstr ""
-
-#, c-format
-msgid "ipptool: Unknown option \"-%c\"."
-msgstr ""
-
-msgid "job-printer-uri attribute missing."
-msgstr ""
-
-msgid "lpadmin: Class name can only contain printable characters."
-msgstr ""
-
-msgid "lpadmin: Expected PPD after \"-P\" option."
-msgstr ""
-
-msgid "lpadmin: Expected allow/deny:userlist after \"-u\" option."
-msgstr ""
-
-msgid "lpadmin: Expected class after \"-r\" option."
-msgstr ""
-
-msgid "lpadmin: Expected class name after \"-c\" option."
-msgstr ""
-
-msgid "lpadmin: Expected description after \"-D\" option."
-msgstr ""
-
-msgid "lpadmin: Expected device URI after \"-v\" option."
-msgstr ""
-
-msgid "lpadmin: Expected file type(s) after \"-I\" option."
-msgstr ""
-
-msgid "lpadmin: Expected hostname after \"-h\" option."
-msgstr ""
-
-msgid "lpadmin: Expected interface after \"-i\" option."
-msgstr ""
-
-msgid "lpadmin: Expected location after \"-L\" option."
-msgstr ""
-
-msgid "lpadmin: Expected model after \"-m\" option."
-msgstr ""
-
-msgid "lpadmin: Expected name after \"-R\" option."
-msgstr ""
-
-msgid "lpadmin: Expected name=value after \"-o\" option."
-msgstr ""
-
-msgid "lpadmin: Expected printer after \"-p\" option."
-msgstr ""
-
-msgid "lpadmin: Expected printer name after \"-d\" option."
-msgstr ""
-
-msgid "lpadmin: Expected printer or class after \"-x\" option."
-msgstr ""
-
-msgid "lpadmin: No member names were seen."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Printer %s is already a member of class %s."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Printer %s is not a member of class %s."
-msgstr ""
-
-msgid "lpadmin: Printer name can only contain printable characters."
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to add a printer to the class:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unable to connect to server: %s"
-msgstr ""
-
-msgid "lpadmin: Unable to create temporary file"
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to delete option:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unable to open PPD file \"%s\" - %s"
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to remove a printer from the class:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to set the printer options:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unknown allow/deny option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unknown argument \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unknown option \"%c\"."
-msgstr ""
-
-msgid "lpadmin: Warning - content type list ignored."
-msgstr ""
-
-msgid "lpc> "
-msgstr "lpc> "
-
-msgid "lpinfo: Expected 1284 device ID string after \"--device-id\"."
-msgstr ""
-
-msgid "lpinfo: Expected language after \"--language\"."
-msgstr ""
-
-msgid "lpinfo: Expected make and model after \"--make-and-model\"."
-msgstr ""
-
-msgid "lpinfo: Expected product string after \"--product\"."
-msgstr ""
-
-msgid "lpinfo: Expected scheme list after \"--exclude-schemes\"."
-msgstr ""
-
-msgid "lpinfo: Expected scheme list after \"--include-schemes\"."
-msgstr ""
-
-msgid "lpinfo: Expected timeout after \"--timeout\"."
-msgstr ""
-
-#, c-format
-msgid "lpinfo: Unknown argument \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpinfo: Unknown option \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "lpinfo: Unknown option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpmove: Unable to connect to server: %s"
-msgstr ""
-
-#, c-format
-msgid "lpmove: Unknown argument \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpmove: Unknown option \"%c\"."
-msgstr ""
-
-msgid "lpoptions: No printers."
-msgstr ""
-
-#, c-format
-msgid "lpoptions: Unable to add printer or instance: %s"
-msgstr ""
-
-#, c-format
-msgid "lpoptions: Unable to get PPD file for %s: %s"
-msgstr ""
-
-#, c-format
-msgid "lpoptions: Unable to open PPD file for %s."
-msgstr ""
-
-msgid "lpoptions: Unknown printer or class."
-msgstr ""
-
-msgid "lppasswd: Only root can add or delete passwords."
-msgstr ""
-
-msgid "lppasswd: Password file busy."
-msgstr ""
-
-msgid "lppasswd: Password file not updated."
-msgstr ""
-
-msgid "lppasswd: Sorry, password doesn't match."
-msgstr ""
-
-msgid "lppasswd: Sorry, password rejected."
-msgstr ""
-
-msgid "lppasswd: Sorry, passwords don't match."
-msgstr ""
-
-#, c-format
-msgid "lppasswd: Unable to copy password string: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: Unable to open password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: Unable to write to password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: failed to backup old password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: failed to rename password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: user \"%s\" and group \"%s\" do not exist."
-msgstr ""
-
-#, c-format
-msgid ""
-"lpstat: error - %s environment variable names non-existent destination \"%s"
-"\"."
-msgstr ""
-
-#, c-format
-msgid "members of class %s:"
-msgstr ""
-
-msgid "no entries"
-msgstr ""
-
-msgid "no system default destination"
-msgstr ""
-
-msgid "notify-events not specified."
-msgstr ""
-
-#, c-format
-msgid "notify-recipient-uri URI \"%s\" is already used."
-msgstr ""
-
-#, c-format
-msgid "notify-recipient-uri URI \"%s\" uses unknown scheme."
-msgstr ""
-
-msgid "pending"
-msgstr "pendente"
-
-#, c-format
-msgid "ppdc: Adding include directory \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Adding/updating UI text from %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad boolean value (%s) on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad font attribute: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad resolution name \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad status keyword %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad variable substitution ($%c) on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Choice found on line %d of %s with no Option."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Duplicate #po for locale %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected a filter definition on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected a program name on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected boolean value on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected charset after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected choice code on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected choice name/text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected color order for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected colorspace for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected compression for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected constraints string for UIConstraints on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Expected driver type keyword following DriverType on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected duplex type after Duplex on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected encoding after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected filename after #po %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected group name/text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected include filename on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected integer on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected locale after #po on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after FileName on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after Manufacturer on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after MediaSize on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after ModelName on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after PCFileName on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text after Installable on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text after Resolution on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text combination for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected option name/text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected option section on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected option type on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected override field after Resolution on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected quoted string on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected real number on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Expected resolution/mediatype following ColorProfile on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Expected resolution/mediatype following SimpleColorProfile on line %d "
-"of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected selector after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected status after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected string after Copyright on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected string after Version on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected two option names on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected value after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected version after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid #include/#po filename \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid cost for filter on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid empty MIME type for filter on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid empty program name for filter on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid option section \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid option type \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Loading driver information file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Loading messages for locale \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Loading messages from \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Missing #endif at end of \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Missing #if on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Need a msgid line before any translation strings on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: No message catalog provided for locale %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Option %s defined in two different groups on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Option %s redefined with a different type on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Option constraint must *name on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Too many nested #if's on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to create PPD file \"%s\" - %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to create output directory %s: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to create output pipes: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to execute cupstestppd: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to find #po file %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to find include file \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to find localization for \"%s\" - %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to load localization file \"%s\" - %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to open %s: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Undefined variable (%s) on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unexpected text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown driver type %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown media size \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown message catalog format for \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown token \"%s\" seen on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Unknown trailing characters in real number \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unterminated string starting with %c on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Warning - overlapping filename \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Writing %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Writing PPD files to directory \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s."
-msgstr ""
-
-#, c-format
-msgid "ppdmerge: Ignoring PPD file %s."
-msgstr ""
-
-#, c-format
-msgid "ppdmerge: Unable to backup %s to %s - %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s disabled since %s -"
-msgstr ""
-
-#, c-format
-msgid "printer %s is idle.  enabled since %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s now printing %s-%d.  enabled since %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s/%s disabled since %s -"
-msgstr ""
-
-#, c-format
-msgid "printer %s/%s is idle.  enabled since %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s/%s now printing %s-%d.  enabled since %s"
-msgstr ""
-
-msgid "processing"
-msgstr "a processar"
-
-#, c-format
-msgid "request id is %s-%d (%d file(s))"
-msgstr ""
-
-msgid "request-id uses indefinite length"
-msgstr "request-id com comprimento indefinido"
-
-msgid "scheduler is not running"
-msgstr ""
-
-msgid "scheduler is running"
-msgstr ""
-
-#, c-format
-msgid "stat of %s failed: %s"
-msgstr "estatística de %s falhou: %s"
-
-msgid "status\t\tShow status of daemon and queue."
-msgstr ""
-
-msgid "stopped"
-msgstr "parado"
-
-#, c-format
-msgid "system default destination: %s"
-msgstr ""
-
-#, c-format
-msgid "system default destination: %s/%s"
-msgstr ""
-
-msgid "unknown"
-msgstr "desconhecido"
-
-msgid "untitled"
-msgstr "sem nome"
-
-msgid "variable-bindings uses indefinite length"
-msgstr "variable-bindings com comprimento indefinido"
-
-#~ msgid "\t\t(all)\n"
-#~ msgstr "\t\t(tudo)\n"
-
-#~ msgid "\t\t(none)\n"
-#~ msgstr "\t\t(sem)\n"
-
-#~ msgid "\t%d entries\n"
-#~ msgstr "\t%d entradas\n"
-
-#~ msgid "\tAfter fault: continue\n"
-#~ msgstr "\tApós falha: continuar\n"
-
-#~ msgid "\tAlerts:"
-#~ msgstr "\tAlertas:"
-
-#~ msgid "\tBanner required\n"
-#~ msgstr "\tFaixa publicitária requerida\n"
-
-#~ msgid "\tCharset sets:\n"
-#~ msgstr "\tConjuntos charset:\n"
-
-#~ msgid "\tConnection: direct\n"
-#~ msgstr "\tLigação: directa\n"
-
-#~ msgid "\tConnection: remote\n"
-#~ msgstr "\tLigação: remota\n"
-
-#~ msgid "\tDefault page size:\n"
-#~ msgstr "\tTamanho de página predefinido:\n"
-
-#~ msgid "\tDefault pitch:\n"
-#~ msgstr "\tPitch predefinido:\n"
-
-#~ msgid "\tDefault port settings:\n"
-#~ msgstr "\tPredefinições de porta:\n"
-
-#~ msgid "\tDescription: %s\n"
-#~ msgstr "\tDescrição: %s\n"
-
-#~ msgid ""
-#~ "\tForm mounted:\n"
-#~ "\tContent types: any\n"
-#~ "\tPrinter types: unknown\n"
-#~ msgstr ""
-#~ "\tFormato montado:\n"
-#~ "\tTipos de conteúdo: qualquer\n"
-#~ "\tTipos de impressora: desconhecido\n"
-
-#~ msgid "\tForms allowed:\n"
-#~ msgstr "\tFormatos permitidos:\n"
-
-#~ msgid "\tInterface: %s.ppd\n"
-#~ msgstr "\tInterface: %s.ppd\n"
-
-#~ msgid "\tInterface: %s/interfaces/%s\n"
-#~ msgstr "\tInterface: %s/interfaces/%s\n"
-
-#~ msgid "\tInterface: %s/ppd/%s.ppd\n"
-#~ msgstr "\tInterface: %s/ppd/%s.ppd\n"
-
-#~ msgid "\tLocation: %s\n"
-#~ msgstr "\tLocalização: %s\n"
-
-#~ msgid "\tOn fault: no alert\n"
-#~ msgstr "\tEm falha: sem alerta\n"
-
-#~ msgid "\tUsers allowed:\n"
-#~ msgstr "\tUtilizadores permitidos:\n"
-
-#~ msgid "\tUsers denied:\n"
-#~ msgstr "\tUtilizadores negados:\n"
-
-#~ msgid "\tdaemon present\n"
-#~ msgstr "\tdaemon presente\n"
-
-#~ msgid "\tno entries\n"
-#~ msgstr "\tsem entradas\n"
-
-#~ msgid "\tprinter is on device '%s' speed -1\n"
-#~ msgstr "\timpressora está no periférico '%s' velocidade -1\n"
-
-#~ msgid "\tprinting is disabled\n"
-#~ msgstr "\timpressão desactivada\n"
-
-#~ msgid "\tprinting is enabled\n"
-#~ msgstr "\timpressão activada\n"
-
-#~ msgid "\tqueued for %s\n"
-#~ msgstr "\tem fila para %s\n"
-
-#~ msgid "\tqueuing is disabled\n"
-#~ msgstr "\tcolocação em fila desactivada\n"
-
-#~ msgid "\tqueuing is enabled\n"
-#~ msgstr "\tcolocação em fila activada\n"
-
-#~ msgid "\treason unknown\n"
-#~ msgstr "\tmotivo desconhecido\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "    DETAILED CONFORMANCE TEST RESULTS\n"
-#~ msgstr ""
-#~ "\n"
-#~ "    RESULTADOS DETALHADOS DO TESTE DE CONFORMIDADE\n"
-
-#~ msgid "                REF: Page 15, section 3.1.\n"
-#~ msgstr "                REF: Página 15, secção 3.1.\n"
-
-#~ msgid "                REF: Page 15, section 3.2.\n"
-#~ msgstr "                REF: Página 15, secção 3.2.\n"
-
-#~ msgid "                REF: Page 19, section 3.3.\n"
-#~ msgstr "                REF: Página 19, secção 3.3.\n"
-
-#~ msgid "                REF: Page 20, section 3.4.\n"
-#~ msgstr "                REF: Página 20, secção 3.4.\n"
-
-#~ msgid "                REF: Page 27, section 3.5.\n"
-#~ msgstr "                REF: Página 27, secção 3.5.\n"
-
-#~ msgid "                REF: Page 42, section 5.2.\n"
-#~ msgstr "                REF: Página 42, secção 5.2.\n"
-
-#~ msgid "                REF: Pages 16-17, section 3.2.\n"
-#~ msgstr "                REF: Páginas 16-17, secção 3.2.\n"
-
-#~ msgid "                REF: Pages 42-45, section 5.2.\n"
-#~ msgstr "                REF: Páginas 42-45, secção 5.2.\n"
-
-#~ msgid "                REF: Pages 45-46, section 5.2.\n"
-#~ msgstr "                REF: Páginas 45-46, secção 5.2.\n"
-
-#~ msgid "                REF: Pages 48-49, section 5.2.\n"
-#~ msgstr "                REF: Páginas 48-49, secção 5.2.\n"
-
-#~ msgid "                REF: Pages 52-54, section 5.2.\n"
-#~ msgstr "                REF: Páginas 52-54, secção 5.2.\n"
-
-#~ msgid "        %-39.39s %.0f bytes\n"
-#~ msgstr "        %-39.39s %.0f bytes\n"
-
-#~ msgid "        PASS    Default%s\n"
-#~ msgstr "        PASS    Predefinição%s\n"
-
-#~ msgid "        PASS    DefaultImageableArea\n"
-#~ msgstr "        PASS    DefaultImageableArea\n"
-
-#~ msgid "        PASS    DefaultPaperDimension\n"
-#~ msgstr "        PASS    DefaultPaperDimension\n"
-
-#~ msgid "        PASS    FileVersion\n"
-#~ msgstr "        PASS    FileVersion\n"
-
-#~ msgid "        PASS    FormatVersion\n"
-#~ msgstr "        PASS    FormatVersion\n"
-
-#~ msgid "        PASS    LanguageEncoding\n"
-#~ msgstr "        PASS    LanguageEncoding\n"
-
-#~ msgid "        PASS    LanguageVersion\n"
-#~ msgstr "        PASS    LanguageVersion\n"
-
-#~ msgid "        PASS    Manufacturer\n"
-#~ msgstr "        PASS    Fabricante\n"
-
-#~ msgid "        PASS    ModelName\n"
-#~ msgstr "        PASS    ModelName\n"
-
-#~ msgid "        PASS    NickName\n"
-#~ msgstr "        PASS    NickName\n"
-
-#~ msgid "        PASS    PCFileName\n"
-#~ msgstr "        PASS    PCFileName\n"
-
-#~ msgid "        PASS    PSVersion\n"
-#~ msgstr "        PASS    PSVersion\n"
-
-#~ msgid "        PASS    PageRegion\n"
-#~ msgstr "        PASS    PageRegion\n"
-
-#~ msgid "        PASS    PageSize\n"
-#~ msgstr "        PASS    PageSize\n"
-
-#~ msgid "        PASS    Product\n"
-#~ msgstr "        PASS    Produto\n"
-
-#~ msgid "        PASS    ShortNickName\n"
-#~ msgstr "        PASS    ShortNickName\n"
-
-#~ msgid ""
-#~ "        WARN    \"%s %s\" conflicts with \"%s %s\"\n"
-#~ "                (constraint=\"%s %s %s %s\")\n"
-#~ msgstr ""
-#~ "        WARN    \"%s %s\" em conflito com \"%s %s\"\n"
-#~ "                (restrição=\"%s %s %s %s\")\n"
-
-#~ msgid "        WARN    %s has no corresponding options!\n"
-#~ msgstr "        WARN    %s não tem opções correspondentes!\n"
-
-#~ msgid ""
-#~ "        WARN    %s shares a common prefix with %s\n"
-#~ "                REF: Page 15, section 3.2.\n"
-#~ msgstr ""
-#~ "        WARN    %s partilha um prefixo comum com %s\n"
-#~ "                REF: Página 15, secção 3.2.\n"
-
-#~ msgid "        WARN    Default choices conflicting!\n"
-#~ msgstr "        WARN    Escolhas predefinidas em conflito!\n"
-
-#~ msgid ""
-#~ "        WARN    Duplex option keyword %s may not work as expected and "
-#~ "should be named Duplex!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "        WARN    Palavra-chave de opção de frente e verso %s pode não "
-#~ "funcionar como previsto e deve ter o nome Duplex!\n"
-#~ "                REF: Página 122, secção 5.17\n"
-
-#~ msgid ""
-#~ "        WARN    File contains a mix of CR, LF, and CR LF line endings!\n"
-#~ msgstr ""
-#~ "        WARN    Ficheiro contém um misto de fins de linha CR, LF e CR "
-#~ "LF!\n"
-
-#~ msgid ""
-#~ "        WARN    LanguageEncoding required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 56-57, section 5.3.\n"
-#~ msgstr ""
-#~ "        WARN    LanguageEncoding requerido por espec. de PPD 4.3\n"
-#~ "                REF: Páginas 56-57, secção 5.3.\n"
-
-#~ msgid "        WARN    Line %d only contains whitespace!\n"
-#~ msgstr "        WARN    Linha %d só contém espaço em branco!\n"
-
-#~ msgid ""
-#~ "        WARN    Manufacturer required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 58-59, section 5.3.\n"
-#~ msgstr ""
-#~ "        WARN    Fabricante requerido por espec. de PPD 4.3\n"
-#~ "                REF: Páginas 58-59, secção 5.3.\n"
-
-#~ msgid "        WARN    Missing APDialogExtension file \"%s\"\n"
-#~ msgstr "        WARN    Ficheiro APDialogExtension inexistente \"%s\"\n"
-
-#~ msgid "        WARN    Missing APPrinterIconPath file \"%s\"\n"
-#~ msgstr "        WARN    Ficheiro APPrinterIconPath inexistente \"%s\"\n"
-
-#~ msgid ""
-#~ "        WARN    Non-Windows PPD files should use lines ending with only "
-#~ "LF, not CR LF!\n"
-#~ msgstr ""
-#~ "        WARN    Ficheiros PPD não Windows devem utilizar fins de linha "
-#~ "com LF, e não CR LF!\n"
-
-#~ msgid ""
-#~ "        WARN    Obsolete PPD version %.1f!\n"
-#~ "                REF: Page 42, section 5.2.\n"
-#~ msgstr ""
-#~ "        WARN    Versão de PPD obsoleta %.1f!\n"
-#~ "                REF: Página 42, secção 5.2"
-
-#~ msgid ""
-#~ "        WARN    PCFileName longer than 8.3 in violation of PPD spec.\n"
-#~ "                REF: Pages 61-62, section 5.3.\n"
-#~ msgstr ""
-#~ "        WARN    PCFileName superior a 8.3 viola espec. de PPD\n"
-#~ "                REF: Páginas 61-62, secção 5.3.\n"
-
-#~ msgid ""
-#~ "        WARN    Protocols contains PJL but JCL attributes are not set.\n"
-#~ "                REF: Pages 78-79, section 5.7.\n"
-#~ msgstr ""
-#~ "        WARN    Protocolos contêm PJL, mas atributos JCL não estão "
-#~ "especificados.\n"
-#~ "                REF: Páginas 78-79, secção 5.7.\n"
-
-#~ msgid ""
-#~ "        WARN    Protocols contains both PJL and BCP; expected TBCP.\n"
-#~ "                REF: Pages 78-79, section 5.7.\n"
-#~ msgstr ""
-#~ "        WARN    Protocolos contêm PJL e BCP; TBCP esperados.\n"
-#~ "                REF: Páginas 78-79, secção 5.7.\n"
-
-#~ msgid ""
-#~ "        WARN    ShortNickName required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "        WARN    ShortNickName requerido por espec. de PPD 4.3\n"
-#~ "                REF: Páginas 64-65, secção 5.3.\n"
-
-#~ msgid "      %s  %s %s does not exist!\n"
-#~ msgstr "      %s  %s %s não existe!\n"
-
-#~ msgid ""
-#~ "      %s  Bad %s choice %s!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "      %s  Escolha %s inválida %s!\n"
-#~ "                REF: Página 122, secção 5.17\n"
-
-#~ msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s!\n"
-#~ msgstr "      %s  Cadeia de tradução UTF-8 \"%s\" inválida para opção %s!\n"
-
-#~ msgid ""
-#~ "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s!\n"
-#~ msgstr ""
-#~ "      %s  Cadeia de tradução UTF-8 \"%s\" inválida para opção %s, escolha "
-#~ "%s!\n"
-
-#~ msgid "      %s  Bad cupsFilter value \"%s\"!\n"
-#~ msgstr "      %s  Valor cupsFilter inválido \"%s\"!\n"
-
-#~ msgid "      %s  Bad cupsICCProfile %s!\n"
-#~ msgstr "      %s  CupsICCProfile inválido %s!\n"
-
-#~ msgid "      %s  Bad cupsPreFilter value \"%s\"!\n"
-#~ msgstr "      %s  Valor cupsPreFilter inválido \"%s\"!\n"
-
-#~ msgid "      %s  Bad cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr "      %s  CupsUIConstraints inválido %s: \"%s\"!\n"
-
-#~ msgid "      %s  Bad language \"%s\"!\n"
-#~ msgstr "      %s  Idioma inválido \"%s\"!\n"
-
-#~ msgid "      %s  Empty cupsUIConstraints %s!\n"
-#~ msgstr "      %s  CupsUIConstraints vazio %s!\n"
-
-#~ msgid "      %s  Missing \"%s\" translation string for option %s!\n"
-#~ msgstr "      %s  Cadeia de tradução inexistente \"%s\" para opção %s!\n"
-
-#~ msgid ""
-#~ "      %s  Missing \"%s\" translation string for option %s, choice %s!\n"
-#~ msgstr ""
-#~ "      %s  Cadeia de tradução inexistente \"%s\" para opção %s, escolha %"
-#~ "s!\n"
-
-#~ msgid ""
-#~ "      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"!\n"
-#~ msgstr ""
-#~ "      %s  Escolha inexistente *%s %s em UIConstraints \"*%s %s *%s %s\"!\n"
-
-#~ msgid "      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr ""
-#~ "      %s  Escolha inexistente *%s %s em cupsUIConstraints %s: \"%s\"!\n"
-
-#~ msgid "      %s  Missing cupsFilter file \"%s\"\n"
-#~ msgstr "      %s  Ficheiro cupsFilter inexistente \"%s\"!\n"
-
-#~ msgid "      %s  Missing cupsICCProfile file \"%s\"!\n"
-#~ msgstr "      %s  Ficheiro cupsICCProfile inexistente \"%s\"!\n"
-
-#~ msgid "      %s  Missing cupsPreFilter file \"%s\"\n"
-#~ msgstr "      %s  Ficheiro cupsPreFilter inexistente \"%s\"!\n"
-
-#~ msgid "      %s  Missing cupsUIResolver %s!\n"
-#~ msgstr "      %s  CupsUIResolver inexistente %s!\n"
-
-#~ msgid "      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\"!\n"
-#~ msgstr ""
-#~ "      %s  Opção inexistente %s em UIConstraints \"*%s %s *%s %s\"!\n"
-
-#~ msgid "      %s  Missing option %s in cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr "      %s  Opção inexistente %s em cupsUIConstraints %s: \"%s\"!\n"
-
-#~ msgid "      %s  No base translation \"%s\" is included in file!\n"
-#~ msgstr "      %s  Sem tradução base \"%s\" incluída no ficheiro!\n"
-
-#~ msgid ""
-#~ "      %s  REQUIRED %s does not define choice None!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "      %s  REQUERIDO %s não define a escolha Sem!\n"
-#~ "                REF: Página 122, secção 5.17\n"
-
-#~ msgid "      %s  cupsICCProfile %s hash value collides with %s!\n"
-#~ msgstr "      %s  cupsICCProfile %s valor hash colide com %s!\n"
-
-#~ msgid "      %s  cupsUIResolver %s causes a loop!\n"
-#~ msgstr "      %s  cupsUIResolver %s causa um loop!\n"
-
-#~ msgid "      **FAIL**  %s choice names %s and %s differ only by case!\n"
-#~ msgstr ""
-#~ "      **FAIL**  %s os nomes da escolha %s e %s divergem apenas pela "
-#~ "utilização de maiúsculas/minúsculas!\n"
-
-#~ msgid ""
-#~ "      **FAIL**  %s must be 1284DeviceID!\n"
-#~ "                REF: Page 72, section 5.5\n"
-#~ msgstr ""
-#~ "      **FAIL**  %s deve ser 1284DeviceID!\n"
-#~ "                REF: Página 72, secção 5.5\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Default%s %s\n"
-#~ "                REF: Page 40, section 4.5.\n"
-#~ msgstr ""
-#~ "      **FAIL**  Predefinição%s %s inválida\n"
-#~ "                REF: Página 40, secção 4.5\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD DefaultImageableArea %s!\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  DefaultImageableArea %s inválida!\n"
-#~ "                REF: Página 102, secção 5.15\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD DefaultPaperDimension %s!\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  DefaultPaperDimension %s inválida!\n"
-#~ "                REF: Página 103, secção 5.15\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD JobPatchFile attribute in file\n"
-#~ "                REF: Page 24, section 3.4.\n"
-#~ msgstr ""
-#~ "      **FAIL**  Atributo JobPatchFile inválido no ficheiro!\n"
-#~ "                REF: Página 24, secção 3.4\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Manufacturer (should be \"HP\")\n"
-#~ "                REF: Page 211, table D.1.\n"
-#~ msgstr ""
-#~ "      **FAIL**  Fabricante inválido (deve ser \"HP\")\n"
-#~ "                REF: Página 211, tabela D.1.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Manufacturer (should be \"Oki\")\n"
-#~ "                REF: Page 211, table D.1.\n"
-#~ msgstr ""
-#~ "      **FAIL**  Fabricante inválido (deve ser \"Oki\")\n"
-#~ "                REF: Página 211, tabela D.1.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n"
-#~ "                REF: Pages 59-60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  ModelName inválido - \"%c\" não permitido na cadeia.\n"
-#~ "                REF: Páginas 59-60, secção 5.3\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD PSVersion - not \"(string) int\".\n"
-#~ "                REF: Pages 62-64, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  PSVersion inválida - não \"(cadeia) int\".\n"
-#~ "                REF: Páginas 62-64, secção 5.3\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Product - not \"(string)\".\n"
-#~ "                REF: Page 62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  Produto inválido - não \"(cadeia)\".\n"
-#~ "                REF: Página 62, secção 5.3\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD ShortNickName - longer than 31 chars.\n"
-#~ "                REF: Pages 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  ShortNickName inválido - superior a 31 car.\n"
-#~ "                REF: Páginas 64-65, secção 5.3\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad %s choice %s!\n"
-#~ "                REF: Page 84, section 5.9\n"
-#~ msgstr ""
-#~ "      **FAIL**  Escolha %s inválida %s!\n"
-#~ "                REF: Página 84, secção 5.9\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad FileVersion \"%s\"\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  Versão de ficheiro inválida \"%s\"\n"
-#~ "                REF: Página 56, secção 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad FormatVersion \"%s\"\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  Versão de formato inválida \"%s\"\n"
-#~ "                REF: Página 56, secção 5.3.\n"
-
-#~ msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1!\n"
-#~ msgstr ""
-#~ "      **FAIL**  LanguageEncoding %s inválida - deve ser ISOLatin1!\n"
-
-#~ msgid "      **FAIL**  Bad LanguageVersion %s - must be English!\n"
-#~ msgstr "      **FAIL**  LanguageVersion %s inválida - deve ser Inglês!\n"
-
-#~ msgid "      **FAIL**  Default option code cannot be interpreted: %s\n"
-#~ msgstr ""
-#~ "      **FAIL**  Impossível interpretar código de opção predefinida: %s\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Default translation string for option %s choice %s "
-#~ "contains 8-bit characters!\n"
-#~ msgstr ""
-#~ "      **FAIL**  Cadeia de tradução predefinida para opção %s escolha %s "
-#~ "contém caracteres de 8 bits!\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Default translation string for option %s contains 8-bit "
-#~ "characters!\n"
-#~ msgstr ""
-#~ "      **FAIL**  Cadeia de tradução predefinida para opção %s contém "
-#~ "caracteres de 8 bits!\n"
-
-#~ msgid "      **FAIL**  Group names %s and %s differ only by case!\n"
-#~ msgstr ""
-#~ "      **FAIL**  Os nomes dos grupos%s e %s divergem apenas pela "
-#~ "utilização de maiúsculas/minúsculas!\n"
-
-#~ msgid "      **FAIL**  Multiple occurrences of %s choice name %s!\n"
-#~ msgstr "      **FAIL**  Múltiplos casos de %s nome da escolha %s!\n"
-
-#~ msgid "      **FAIL**  Option names %s and %s differ only by case!\n"
-#~ msgstr ""
-#~ "      **FAIL**  Os nomes das opções %s e %s divergem apenas pela "
-#~ "utilização de maiúsculas/minúsculas!\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Default%s\n"
-#~ "                REF: Page 40, section 4.5.\n"
-#~ msgstr ""
-#~ "      **FAIL**  Predefinição%s requerida\n"
-#~ "                REF: Página 40, secção 4.5\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED DefaultImageableArea\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  DefaultImageableArea requerida\n"
-#~ "                REF: Página 102, secção 5.15\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED DefaultPaperDimension\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  DefaultPaperDimension requerida\n"
-#~ "                REF: Página 103, secção 5.15\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED FileVersion\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  FileVersion requerida\n"
-#~ "                REF: Página 56, secção 5.3\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED FormatVersion\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  FormatVersion requerida\n"
-#~ "                REF: Página 56, secção 5.3\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ImageableArea for PageSize %s\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  ImageableArea requerida para PageSize %s\n"
-#~ "                REF: Página 41, secção 5.\n"
-#~ "                REF: Página 102, secção 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED LanguageEncoding\n"
-#~ "                REF: Pages 56-57, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  LanguageEncoding requerida\n"
-#~ "                REF: Páginas 56-57, secção 5.3\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED LanguageVersion\n"
-#~ "                REF: Pages 57-58, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  LanguageVersion requerida\n"
-#~ "                REF: Páginas 57-58, secção 5.3\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Manufacturer\n"
-#~ "                REF: Pages 58-59, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  Fabricante requerido\n"
-#~ "                REF: Páginas 58-59, secção 5.3\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ModelName\n"
-#~ "                REF: Pages 59-60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  ModelName requerido\n"
-#~ "                REF: Páginas 59-60, secção 5.3\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED NickName\n"
-#~ "                REF: Page 60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  NickName requerido\n"
-#~ "                REF: Página 60, secção 5.3\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PCFileName\n"
-#~ "                REF: Pages 61-62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  PCFileName requerido\n"
-#~ "                REF: Páginas 61-62, secção 5.3\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PSVersion\n"
-#~ "                REF: Pages 62-64, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  PSVersion requerida\n"
-#~ "                REF: Páginas 62-64, secção 5.3\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageRegion\n"
-#~ "                REF: Page 100, section 5.14.\n"
-#~ msgstr ""
-#~ "      **FAIL**  PageRegion requerida\n"
-#~ "                REF: Página 100, secção 5.14\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageSize\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 99, section 5.14.\n"
-#~ msgstr ""
-#~ "      **FAIL**  PageSize requerido\n"
-#~ "                REF: Página 41, secção 5.\n"
-#~ "                REF: Página 99, secção 5.14.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageSize\n"
-#~ "                REF: Pages 99-100, section 5.14.\n"
-#~ msgstr ""
-#~ "      **FAIL**  PageSize requerido\n"
-#~ "                REF: Páginas 99-100, secção 5.14\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PaperDimension for PageSize %s\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  PaperDimension requerida para PageSize %s\n"
-#~ "                REF: Página 41, secção 5.\n"
-#~ "                REF: Página 103, secção 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Product\n"
-#~ "                REF: Page 62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  Produto requerido\n"
-#~ "                REF: Página 62, secção 5.3\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ShortNickName\n"
-#~ "                REF: Page 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  ShortNickName requerido\n"
-#~ "                REF: Páginas 64-65, secção 5.3\n"
-
-#~ msgid "    %d ERRORS FOUND\n"
-#~ msgstr "    %d ERROS ENCONTRADOS\n"
-
-#~ msgid ""
-#~ "    Bad %%%%BoundingBox: on line %d!\n"
-#~ "        REF: Page 39, %%%%BoundingBox:\n"
-#~ msgstr ""
-#~ "    %%%%BoundingBox: inválida na linha %d!\n"
-#~ "        REF: Página 39, %%%%BoundingBox:\n"
-
-#~ msgid ""
-#~ "    Bad %%%%Page: on line %d!\n"
-#~ "        REF: Page 53, %%%%Page:\n"
-#~ msgstr ""
-#~ "    %%%%Page: inválida na linha %d!\n"
-#~ "        REF: Página 53, %%%%Page:\n"
-
-#~ msgid ""
-#~ "    Bad %%%%Pages: on line %d!\n"
-#~ "        REF: Page 43, %%%%Pages:\n"
-#~ msgstr ""
-#~ "    %%%%Pages: inválidas na linha %d!\n"
-#~ "        REF: Página 43, %%%%Pages:\n"
-
-#~ msgid ""
-#~ "    Line %d is longer than 255 characters (%d)!\n"
-#~ "        REF: Page 25, Line Length\n"
-#~ msgstr ""
-#~ "    Linha %d tem mais de 255 caracteres (%d)!\n"
-#~ "        REF: Página 25, Comprimento da Linha\n"
-
-#~ msgid ""
-#~ "    Missing %!PS-Adobe-3.0 on first line!\n"
-#~ "        REF: Page 17, 3.1 Conforming Documents\n"
-#~ msgstr ""
-#~ "    %!PS-Adobe-3.0 inexistente na primeira linha!\n"
-#~ "        REF: Página 17, 3.1 Documentos de Conformidade\n"
-
-#~ msgid ""
-#~ "    Missing %%EndComments comment!\n"
-#~ "        REF: Page 41, %%EndComments\n"
-#~ msgstr ""
-#~ "    Comentário %%EndComments inexistente!\n"
-#~ "        REF: Página 41, %%EndComments\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%BoundingBox: comment!\n"
-#~ "        REF: Page 39, %%BoundingBox:\n"
-#~ msgstr ""
-#~ "    Comentário %%BoundingBox: inexistente ou inválido!\n"
-#~ "        REF: Página 39, %%BoundingBox:\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%Page: comments!\n"
-#~ "        REF: Page 53, %%Page:\n"
-#~ msgstr ""
-#~ "    Comentários %%Page: inexistentes ou inválidos!\n"
-#~ "        REF: Página 53, %%Page:\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%Pages: comment!\n"
-#~ "        REF: Page 43, %%Pages:\n"
-#~ msgstr ""
-#~ "    Comentário %%Pages: inexistente ou inválido!\n"
-#~ "        REF: Página 43, %%Pages:\n"
-
-#~ msgid "    NO ERRORS FOUND\n"
-#~ msgstr "    SEM ERROS\n"
-
-#~ msgid "    Saw %d lines that exceeded 255 characters!\n"
-#~ msgstr "    Detectadas %d linhas que excedem 255 caracteres!\n"
-
-#~ msgid "    Too many %%BeginDocument comments!\n"
-#~ msgstr "    Demasiados comentários %%BeginDocument!\n"
-
-#~ msgid "    Too many %%EndDocument comments!\n"
-#~ msgstr "    Demasiados comentários %%EndDocument!\n"
-
-#~ msgid "    Warning: file contains binary data!\n"
-#~ msgstr "    Aviso: ficheiro contém dados binários!\n"
-
-#~ msgid "    Warning: no %%EndComments comment in file!\n"
-#~ msgstr "    Aviso: sem comentário %%EndComments no ficheiro!\n"
-
-#~ msgid "    Warning: obsolete DSC version %.1f in file!\n"
-#~ msgstr "    Aviso: versão obsoleta de DSC %.1f no ficheiro!\n"
-
-#~ msgid " FAIL\n"
-#~ msgstr " FAIL\n"
-
-#~ msgid ""
-#~ " FAIL\n"
-#~ "      **FAIL**  Unable to open PPD file - %s\n"
-#~ msgstr ""
-#~ " FAIL\n"
-#~ "      **FAIL**  Impossível abrir ficheiro PPD - %s\n"
-
-#~ msgid ""
-#~ " FAIL\n"
-#~ "      **FAIL**  Unable to open PPD file - %s on line %d.\n"
-#~ msgstr ""
-#~ " FAIL\n"
-#~ "      **FAIL**  Impossível abrir ficheiro PPD - %s na linha %d.\n"
-
-#~ msgid " PASS\n"
-#~ msgstr " PASS\n"
-
-#~ msgid "#10 Envelope"
-#~ msgstr "Envelope n.º 10"
-
-#~ msgid "#11 Envelope"
-#~ msgstr "Envelope n.º 11"
-
-#~ msgid "#12 Envelope"
-#~ msgstr "Envelope n.º 12"
-
-#~ msgid "#14 Envelope"
-#~ msgstr "Envelope n.º 14"
-
-#~ msgid "#9 Envelope"
-#~ msgstr "Envelope n.º 9"
-
-#~ msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes\n"
-#~ msgstr "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes\n"
-
-#~ msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes\n"
-#~ msgstr "%-7s %-7.7s %-7d %-31.31s %.0f bytes\n"
-
-#~ msgid "%s accepting requests since %s\n"
-#~ msgstr "%s aceita pedidos desde %s\n"
-
-#~ msgid "%s is not implemented by the CUPS version of lpc.\n"
-#~ msgstr "%s não é implementado pela versão CUPS de lpc.\n"
-
-#~ msgid "%s is not ready\n"
-#~ msgstr "%s não está preparada\n"
-
-#~ msgid "%s is ready\n"
-#~ msgstr "%s está preparada\n"
-
-#~ msgid "%s is ready and printing\n"
-#~ msgstr "%s está preparada e a imprimir\n"
-
-#~ msgid ""
-#~ "%s not accepting requests since %s -\n"
-#~ "\t%s\n"
-#~ msgstr ""
-#~ "%s não aceita pedidos desde %s-\n"
-#~ "\t%s\n"
-
-#~ msgid "%s not supported!"
-#~ msgstr "%s não suportado!"
-
-#~ msgid "%s/%s accepting requests since %s\n"
-#~ msgstr "%s/%s aceita pedidos desde %s\n"
-
-#~ msgid ""
-#~ "%s/%s not accepting requests since %s -\n"
-#~ "\t%s\n"
-#~ msgstr ""
-#~ "%s/%s não aceita pedidos desde %s-\n"
-#~ "\t%s\n"
-
-#~ msgid "%s: %-33.33s [job %d localhost]\n"
-#~ msgstr "%s: %-33.33s [trabalho %d localhost]\n"
-
-#~ msgid "%s: %s failed: %s\n"
-#~ msgstr "%s: %s falhou: %s\n"
-
-#~ msgid "%s: Don't know what to do!\n"
-#~ msgstr "%s: Não sei que fazer!\n"
-
-#~ msgid ""
-#~ "%s: Error - %s environment variable names non-existent destination \"%s"
-#~ "\"!\n"
-#~ msgstr ""
-#~ "%s: Erro - nomes de variáveis de ambiente %s inexistentes no destino \"%s"
-#~ "\"!\n"
-
-#~ msgid "%s: Error - bad job ID!\n"
-#~ msgstr "%s: Erro - ID de trabalho inválido!\n"
-
-#~ msgid "%s: Error - cannot print files and alter jobs simultaneously!\n"
-#~ msgstr ""
-#~ "%s: Erro - não é possível imprimir ficheiros e alterar trabalhos em "
-#~ "simultâneo!\n"
-
-#~ msgid ""
-#~ "%s: Error - cannot print from stdin if files or a job ID are provided!\n"
-#~ msgstr ""
-#~ "%s: Erro - não é possível imprimir a partir de stdin se fornecidos "
-#~ "ficheiros ou ID do trabalho!\n"
-
-#~ msgid "%s: Error - expected character set after '-S' option!\n"
-#~ msgstr "%s: Erro - conjunto de caracteres esperado após opção '-S'!\n"
-
-#~ msgid "%s: Error - expected content type after '-T' option!\n"
-#~ msgstr "%s: Erro - tipo de conteúdo esperado após opção '-T'!\n"
-
-#~ msgid "%s: Error - expected copies after '-n' option!\n"
-#~ msgstr "%s: Erro - cópias esperadas após opção '-n'!\n"
-
-#~ msgid "%s: Error - expected copy count after '-#' option!\n"
-#~ msgstr "%s: Erro - contagem de cópias esperadas após opção '-#'!\n"
-
-#~ msgid "%s: Error - expected destination after '-P' option!\n"
-#~ msgstr "%s: Erro - destino esperado após opção '-P'!\n"
-
-#~ msgid "%s: Error - expected destination after '-b' option!\n"
-#~ msgstr "%s: Erro - destino esperado após opção '-b'!\n"
-
-#~ msgid "%s: Error - expected destination after '-d' option!\n"
-#~ msgstr "%s: Erro - destino esperado após opção '-d'!\n"
-
-#~ msgid "%s: Error - expected form after '-f' option!\n"
-#~ msgstr "%s: Erro - formato esperado após opção '-f'!\n"
-
-#~ msgid "%s: Error - expected hold name after '-H' option!\n"
-#~ msgstr "%s: Erro - nome para reter esperado após opção '-H'!\n"
-
-#~ msgid "%s: Error - expected hostname after '-H' option!\n"
-#~ msgstr "%s: Erro - nome de host esperado após opção '-h'!\n"
-
-#~ msgid "%s: Error - expected hostname after '-h' option!\n"
-#~ msgstr "%s: Erro - nome de host esperado após opção '-h'!\n"
-
-#~ msgid "%s: Error - expected mode list after '-y' option!\n"
-#~ msgstr "%s: Erro - lista de modo esperada após opção '-y'!\n"
-
-#~ msgid "%s: Error - expected name after '-%c' option!\n"
-#~ msgstr "%s: Erro - nome esperado após opção  '-%c'!\n"
-
-#~ msgid "%s: Error - expected option string after '-o' option!\n"
-#~ msgstr "%s: Erro - cadeia de opção esperada após opção '-o'!\n"
-
-#~ msgid "%s: Error - expected page list after '-P' option!\n"
-#~ msgstr "%s: Erro - lista de página esperada após opção '-P'!\n"
-
-#~ msgid "%s: Error - expected priority after '-%c' option!\n"
-#~ msgstr "%s: Erro - prioridade esperada após opção '-%c'!\n"
-
-#~ msgid "%s: Error - expected reason text after '-r' option!\n"
-#~ msgstr "%s: Erro - texto de motivo esperado após opção '-r'!\n"
-
-#~ msgid "%s: Error - expected title after '-t' option!\n"
-#~ msgstr "%s: Erro - título esperado após opção '-t'!\n"
-
-#~ msgid "%s: Error - expected username after '-U' option!\n"
-#~ msgstr "%s: Erro - nome de utilizador esperado após opção '-u'!\n"
-
-#~ msgid "%s: Error - expected username after '-u' option!\n"
-#~ msgstr "%s: Erro - nome de utilizador esperado após opção '-u'!\n"
-
-#~ msgid "%s: Error - expected value after '-%c' option!\n"
-#~ msgstr "%s: Erro - valor esperado após opção  '-%c'!\n"
-
-#~ msgid ""
-#~ "%s: Error - need \"completed\", \"not-completed\", or \"all\" after '-W' "
-#~ "option!\n"
-#~ msgstr ""
-#~ "%s: Erro - necessário \"concluído\", \"não concluído\" ou \"tudo\" após "
-#~ "opção '-W'!\n"
-
-#~ msgid "%s: Error - no default destination available.\n"
-#~ msgstr "%s: Erro - sem destino predefinido disponível.\n"
-
-#~ msgid "%s: Error - priority must be between 1 and 100.\n"
-#~ msgstr "%s: Erro - prioridade deve ser entre 1 e 100.\n"
-
-#~ msgid "%s: Error - scheduler not responding!\n"
-#~ msgstr "%s: Erro - programador não responde!\n"
-
-#~ msgid "%s: Error - too many files - \"%s\"\n"
-#~ msgstr "%s: Erro - demasiados ficheiros - \"%s\"\n"
-
-#~ msgid "%s: Error - unable to access \"%s\" - %s\n"
-#~ msgstr "%s: Erro - não é possível aceder a \"%s\" - %s\n"
-
-#~ msgid "%s: Error - unable to queue from stdin - %s\n"
-#~ msgstr ""
-#~ "%s: Erro - não é possível criar fila de espera a partir de stdin - %s\n"
-
-#~ msgid "%s: Error - unknown destination \"%s\"!\n"
-#~ msgstr "%s: Erro - destino desconhecido \"%s\"!\n"
-
-#~ msgid "%s: Error - unknown destination \"%s/%s\"!\n"
-#~ msgstr "%s: Erro - destino desconhecido \"%s/%s\"!\n"
-
-#~ msgid "%s: Error - unknown option '%c'!\n"
-#~ msgstr "%s: Erro - opção desconhecida '%c'!\n"
-
-#~ msgid "%s: Error - unknown option '%s'!\n"
-#~ msgstr "%s: Erro - opção desconhecida '%s'!\n"
-
-#~ msgid "%s: Expected job ID after '-i' option!\n"
-#~ msgstr "%s: ID de trabalho esperado após opção '-i'!\n"
-
-#~ msgid "%s: Filter \"%s\" not available: %s\n"
-#~ msgstr "%s: Filtro \"%s\" não disponível: %s\n"
-
-#~ msgid "%s: Invalid destination name in list \"%s\"!\n"
-#~ msgstr "%s: Nome de destino inválido na lista \"%s\"!\n"
-
-#~ msgid "%s: Invalid filter string \"%s\"\n"
-#~ msgstr "%s: Cadeia de filtro inválida \"%s\"\n"
-
-#~ msgid "%s: Need job ID ('-i jobid') before '-H restart'!\n"
-#~ msgstr ""
-#~ "%s: Necessário ID do trabalho ('-i jobid') antes de '-H reiniciar'!\n"
-
-#~ msgid "%s: No filter to convert from %s/%s to %s/%s!\n"
-#~ msgstr "%s: Sem filtro para converter de %s/%s para %s/%s!\n"
-
-#~ msgid "%s: Operation failed: %s\n"
-#~ msgstr "%s: Operação falhou: %s\n"
-
-#~ msgid "%s: Sorry, no encryption support compiled in!\n"
-#~ msgstr "%s: Sem suporte de encriptação compilado!\n"
-
-#~ msgid "%s: Unable to connect to server\n"
-#~ msgstr "%s: Não é possível ligar ao servidor\n"
-
-#~ msgid "%s: Unable to contact server!\n"
-#~ msgstr "%s: Não é possível contactar o servidor!\n"
-
-#~ msgid "%s: Unable to determine MIME type of \"%s\"!\n"
-#~ msgstr "%s: Não é possível determinar tipo MIME de \"%s\"!\n"
-
-#~ msgid "%s: Unable to open %s - %s\n"
-#~ msgstr "%s: Não é possível abrir %s - %s\n"
-
-#~ msgid "%s: Unable to open %s - %s on line %d.\n"
-#~ msgstr "%s: Não é possível abrir %s - %s na linha %d.\n"
-
-#~ msgid "%s: Unable to open %s: %s\n"
-#~ msgstr "%s: Não é possível abrir %s: %s\n"
-
-#~ msgid "%s: Unable to open PPD file: %s on line %d\n"
-#~ msgstr "%s: Não é possível abrir o ficheiro PDF: %s na linha %d\n"
-
-#~ msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"!\n"
-#~ msgstr ""
-#~ "%s: Não é possível ler a base de dados MIME a partir de \"%s\" ou \"%s"
-#~ "\"!\n"
-
-#~ msgid "%s: Unknown destination \"%s\"!\n"
-#~ msgstr "%s: Destino desconhecido \"%s\"!\n"
-
-#~ msgid "%s: Unknown destination MIME type %s/%s!\n"
-#~ msgstr "%s: Destino desconhecido de tipo MIME %s/%s!\n"
-
-#~ msgid "%s: Unknown option '%c'!\n"
-#~ msgstr "%s: Opção desconhecida '%c'!\n"
-
-#~ msgid "%s: Unknown source MIME type %s/%s!\n"
-#~ msgstr "%s: Origem desconhecida de tipo MIME %s/%s!\n"
-
-#~ msgid ""
-#~ "%s: Warning - '%c' format modifier not supported - output may not be "
-#~ "correct!\n"
-#~ msgstr ""
-#~ "%s: Aviso - modificador de formato '%c' não suportado - saída pode ser "
-#~ "incorrecta!\n"
-
-#~ msgid "%s: Warning - character set option ignored!\n"
-#~ msgstr "%s: Aviso - opção de conjunto de caracteres ignorada!\n"
-
-#~ msgid "%s: Warning - content type option ignored!\n"
-#~ msgstr "%s: Aviso - opção de tipo de conteúdo ignorada!\n"
-
-#~ msgid "%s: Warning - form option ignored!\n"
-#~ msgstr "%s: Aviso - opção de formato ignorada!\n"
-
-#~ msgid "%s: Warning - mode option ignored!\n"
-#~ msgstr "%s: Aviso - opção de modo ignorada!\n"
-
-#~ msgid ""
-#~ "%s: error - %s environment variable names non-existent destination \"%s"
-#~ "\"!\n"
-#~ msgstr ""
-#~ "%s: Erro - nomes de variáveis de ambiente %s inexistentes no destino \"%s"
-#~ "\"!\n"
-
-#~ msgid "%s: error - expected option=value after '-o' option!\n"
-#~ msgstr "%s: Erro - opção=valor esperada após opção '-o'!\n"
-
-#~ msgid "%s: error - no default destination available.\n"
-#~ msgstr "%s: Erro - sem destino predefinido disponível.\n"
-
-#~ msgid "10 x 11\""
-#~ msgstr "10 x 11\""
-
-#~ msgid "10 x 13\""
-#~ msgstr "10 x 13\""
-
-#~ msgid "10 x 14\""
-#~ msgstr "10 x 14\""
-
-#~ msgid "12 x 11\""
-#~ msgstr "12 x 11\""
-
-#~ msgid "15 x 11\""
-#~ msgstr "15 x 11\""
-
-#~ msgid "600 DPI Grayscale"
-#~ msgstr "Níveis de cinzento 600 DPI"
-
-#~ msgid "60x720dpi"
-#~ msgstr "60x720dpi"
-
-#~ msgid "7 x 9\""
-#~ msgstr "7 x 9\""
-
-#~ msgid "8 x 10\""
-#~ msgstr "8 x 10\""
-
-#~ msgid "9 x 11\""
-#~ msgstr "9 x 11\""
-
-#~ msgid "9 x 12\""
-#~ msgstr "9 x 12\""
-
-#~ msgid "?Invalid help command unknown\n"
-#~ msgstr "?Comando de ajuda inválido desconhecido\n"
-
-#~ msgid "A Samba password is required to export printer drivers!"
-#~ msgstr "Palavra-passe Samba requerida para exportar recursos de impressora!"
-
-#~ msgid "A Samba username is required to export printer drivers!"
-#~ msgstr ""
-#~ "Nome de utilizador Samba requerido para exportar recursos de impressora!"
-
-#~ msgid "A class named \"%s\" already exists!"
-#~ msgstr "Já existe uma classe com o nome \"%s\"!"
-
-#~ msgid "A printer named \"%s\" already exists!"
-#~ msgstr "Já existe uma impressora com o nome \"%s\"!"
-
-#~ msgid "A3 (Oversize)"
-#~ msgstr "A3 (extra grande)"
-
-#~ msgid "A4 (Oversize)"
-#~ msgstr "A4 (extra grande)"
-
-#~ msgid "A4 (Small)"
-#~ msgstr "A4 (pequeno)"
-
-#~ msgid "A5 (Oversize)"
-#~ msgstr "A5 (extra grande)"
-
-#~ msgid "ARCH A"
-#~ msgstr "ARCH A"
-
-#~ msgid "ARCH B"
-#~ msgstr "ARCH B"
-
-#~ msgid "Attempt to set %s printer-state to bad value %d!"
-#~ msgstr "Tentativa de definir %s printer-state como valor inválido %d!"
-
-#~ msgid "Attribute groups are out of order (%x < %x)!"
-#~ msgstr "Grupos de atributos desordenados (%x < %x)!"
-
-#~ msgid "Bad device URI \"%s\"!\n"
-#~ msgstr "URI de periférico inválido \"%s\"!\n"
-
-#~ msgid "Bad device-uri \"%s\"!"
-#~ msgstr "Device-uri \"%s\" inválido!"
-
-#~ msgid "Bad device-uri scheme \"%s\"!"
-#~ msgstr "Esquema uri de periférico inválido \"%s\"!\n"
-
-#~ msgid "Bad document-format \"%s\"!"
-#~ msgstr "Document-format \"%s\" inválido!"
-
-#~ msgid "Bad filename buffer!"
-#~ msgstr "Buffer de nome de ficheiro inválido!"
-
-#~ msgid "Bad font attribute: %s\n"
-#~ msgstr "Atributo de tipo de letra inválido: %s\n"
-
-#~ msgid "Bad job-priority value!"
-#~ msgstr "Valor job-priority inválido!"
-
-#~ msgid "Bad job-sheets value \"%s\"!"
-#~ msgstr "Valor job-sheets \"%s\" inválido!"
-
-#~ msgid "Bad job-sheets value type!"
-#~ msgstr "Tipo de valor job-sheets inválido!"
-
-#~ msgid "Bad job-state value!"
-#~ msgstr "Valor job-state inválido!"
-
-#~ msgid "Bad job-uri attribute \"%s\"!"
-#~ msgstr "Atributo job-uri \"%s\" inválido!"
-
-#~ msgid "Bad notify-pull-method \"%s\"!"
-#~ msgstr "Notify-pull-method \"%s\" inválido!"
-
-#~ msgid "Bad notify-recipient-uri URI \"%s\"!"
-#~ msgstr "Notify-recipient-uri URI \"%s\" inválido!"
-
-#~ msgid "Bad option + choice on line %d!"
-#~ msgstr "Opção + escolha inválidas na linha %d!"
-
-#~ msgid "Bad port-monitor \"%s\"!"
-#~ msgstr "Port-monitor \"%s\" inválido!"
-
-#~ msgid "Bad printer-state value %d!"
-#~ msgstr "Valor printer-state inválido %d!"
-
-#~ msgid "Bad request version number %d.%d!"
-#~ msgstr "Número de versão pedido inválido %d.%d!"
-
-#~ msgid "Bad subscription ID!"
-#~ msgstr "ID de subscrição inválido!"
-
-#~ msgid "C0 Envelope"
-#~ msgstr "Envelope C0"
-
-#~ msgid "C1 Envelope"
-#~ msgstr "Envelope C1"
-
-#~ msgid "C2 Envelope"
-#~ msgstr "Envelope C2"
-
-#~ msgid "C3 Envelope"
-#~ msgstr "Envelope C3"
-
-#~ msgid "C4"
-#~ msgstr "C4"
-
-#~ msgid "C4 Envelope"
-#~ msgstr "Envelope C4"
-
-#~ msgid "C5"
-#~ msgstr "C5"
-
-#~ msgid "C5 Envelope"
-#~ msgstr "Envelope C5"
-
-#~ msgid "C6"
-#~ msgstr "C6"
-
-#~ msgid "C6 Envelope"
-#~ msgstr "Envelope C6"
-
-#~ msgid "C65 Envelope"
-#~ msgstr "Envelope C65"
-
-#~ msgid "C7 Envelope"
-#~ msgstr "Envelope C7"
-
-#~ msgid "Character set \"%s\" not supported!"
-#~ msgstr "Conjunto de caracteres \"%s\" não suportado!"
-
-#~ msgid "Chou3 Envelope"
-#~ msgstr "Envelope Chou3"
-
-#~ msgid "Chou4 Envelope"
-#~ msgstr "Envelope Chou4"
-
-#~ msgid ""
-#~ "Commands may be abbreviated.  Commands are:\n"
-#~ "\n"
-#~ "exit    help    quit    status  ?\n"
-#~ msgstr ""
-#~ "É possível abreviar comandos. Comandos são:\n"
-#~ "\n"
-#~ "sair    ajuda    sair    estado  ?\n"
-
-#~ msgid "Could not scan type \"%s\"!"
-#~ msgstr "Não é possível procurar o tipo \"%s\"!"
-
-#~ msgid "Cover open."
-#~ msgstr "Tampa aberta."
-
-#~ msgid "DL"
-#~ msgstr "DL"
-
-#~ msgid "DL Envelope"
-#~ msgstr "Envelope DL"
-
-#~ msgid "Developer almost empty."
-#~ msgstr "Programador quase vazio."
-
-#~ msgid "Developer empty!"
-#~ msgstr "Programador vazio!"
-
-#~ msgid ""
-#~ "Device: uri = %s\n"
-#~ "        class = %s\n"
-#~ "        info = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ "        location = %s\n"
-#~ msgstr ""
-#~ "Periférico: uri = %s\n"
-#~ "        class = %s\n"
-#~ "        info = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ "        location = %s\n"
-
-#~ msgid "Document %d not found in job %d."
-#~ msgstr "O documento %d não foi encontrado no trabalho %d."
-
-#~ msgid "Door open."
-#~ msgstr "Porta aberta."
-
-#~ msgid "Double Postcard"
-#~ msgstr "Postal duplo"
-
-#~ msgid "EMERG: Unable to allocate memory for page info: %s\n"
-#~ msgstr "EMERG: Não é possível alocar memória para info de página: %s\n"
-
-#~ msgid "EMERG: Unable to allocate memory for pages array: %s\n"
-#~ msgstr "EMERG: Não é possível alocar memória para matriz de páginas: %s\n"
-
-#~ msgid "ERROR: Bad %%BoundingBox: comment seen!\n"
-#~ msgstr "ERROR: Detectado comentário %%BoundingBox: inválido!\n"
-
-#~ msgid "ERROR: Bad %%IncludeFeature: comment!\n"
-#~ msgstr "ERROR: Detectado comentário %%IncludeFeature: inválido!\n"
-
-#~ msgid "ERROR: Bad %%Page: comment in file!\n"
-#~ msgstr "ERROR: Comentário %%Page: inválido no ficheiro!\n"
-
-#~ msgid "ERROR: Bad %%PageBoundingBox: comment in file!\n"
-#~ msgstr "ERROR: Comentário %%PageBoundingBox: inválido no ficheiro!\n"
-
-#~ msgid "ERROR: Bad SCSI device file \"%s\"!\n"
-#~ msgstr "ERROR: Ficheiro de periférico SCSI inválido \"%s\"!\n"
-
-#~ msgid "ERROR: Bad charset file %s\n"
-#~ msgstr "ERROR: Ficheiro charset inválido %s\n"
-
-#~ msgid "ERROR: Bad charset type %s\n"
-#~ msgstr "ERROR: Tipo charset inválido %s\n"
-
-#~ msgid "ERROR: Bad columns value %d!\n"
-#~ msgstr "ERROR: Valor de colunas inválido %d!\n"
-
-#~ msgid "ERROR: Bad cpi value %f!\n"
-#~ msgstr "ERROR: Valor cpi inválido %f!\n"
-
-#~ msgid "ERROR: Bad font description line: %s\n"
-#~ msgstr "ERROR: Linha de descrição de tipo de letra inválida: %s\n"
-
-#~ msgid "ERROR: Bad lpi value %f!\n"
-#~ msgstr "ERROR: Valor lpi inválido %f!\n"
-
-#~ msgid "ERROR: Bad page setup!\n"
-#~ msgstr "ERROR: Configuração de página inválida!\n"
-
-#~ msgid "ERROR: Bad text direction %s\n"
-#~ msgstr "ERROR: Orientação de texto inválida %s\n"
-
-#~ msgid "ERROR: Bad text width %s\n"
-#~ msgstr "ERROR: Largura de texto inválida %s\n"
-
-#~ msgid "ERROR: Destination printer does not exist!\n"
-#~ msgstr "ERROR: A impressora de destino não existe!\n"
-
-#~ msgid "ERROR: Duplicate %%BoundingBox: comment seen!\n"
-#~ msgstr "ERROR: Detectado comentário %%BoundingBox: em duplicado!\n"
-
-#~ msgid "ERROR: Duplicate %%Pages: comment seen!\n"
-#~ msgstr "ERROR: Detectado comentário %%Pages: em duplicado!\n"
-
-#~ msgid "ERROR: Empty print file!\n"
-#~ msgstr "ERROR: Ficheiro de impressão vazio!\n"
-
-#~ msgid "ERROR: Error %d sending PAPSendData request: %s\n"
-#~ msgstr "ERROR: Erro %d ao enviar o pedido PAPSendData: %s\n"
-
-#~ msgid "ERROR: Expected quoted string on line %d of %s!\n"
-#~ msgstr "ERROR: Esperada cadeia entre aspas na linha %d de %s!\n"
-
-#~ msgid "ERROR: Fatal USB error!\n"
-#~ msgstr "ERROR: Erro fatal de USB!\n"
-
-#~ msgid "ERROR: Invalid HP-GL/2 command seen, unable to print file!\n"
-#~ msgstr ""
-#~ "ERROR: Detectado comando HP-GL/2 inválido; impossível imprimir ficheiro!\n"
-
-#~ msgid "ERROR: Missing %%EndProlog!\n"
-#~ msgstr "ERROR: %%EndProlog inexistente!\n"
-
-#~ msgid "ERROR: Missing %%EndSetup!\n"
-#~ msgstr "ERROR: %%EndSetup inexistente!\n"
-
-#~ msgid ""
-#~ "ERROR: Missing device URI on command-line and no DEVICE_URI environment "
-#~ "variable!\n"
-#~ msgstr ""
-#~ "ERROR: URI de periférico inexistente em command-line e sem variável de "
-#~ "ambiente DEVICE_URI!\n"
-
-#~ msgid "ERROR: Missing value on line %d of banner file!\n"
-#~ msgstr ""
-#~ "ERROR: Valor inexistente na linha %d do ficheiro da faixa publicitária!\n"
-
-#~ msgid ""
-#~ "ERROR: Need a msgid line before any translation strings on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ERROR: É necessária uma linha msgid antes de quaisquer cadeias de "
-#~ "tradução na linha %d de %s!\n"
-
-#~ msgid "ERROR: No %%BoundingBox: comment in header!\n"
-#~ msgstr "ERROR: Sem comentário %%BoundingBox: no cabeçalho!\n"
-
-#~ msgid "ERROR: No %%Pages: comment in header!\n"
-#~ msgstr "ERROR: Sem comentário %%Pages: no cabeçalho!\n"
-
-#~ msgid ""
-#~ "ERROR: No device URI found in argv[0] or in DEVICE_URI environment "
-#~ "variable!\n"
-#~ msgstr ""
-#~ "ERROR: Sem URI de periférico em argv[0] ou na variável de ambiente "
-#~ "DEVICE_URI!\n"
-
-#~ msgid "ERROR: No fonts in charset file %s\n"
-#~ msgstr "ERROR: Tipos de letra inexistentes no ficheiro charset %s\n"
-
-#~ msgid "ERROR: No pages found!\n"
-#~ msgstr "ERROR: Sem páginas!\n"
-
-#~ msgid "ERROR: Out of paper!\n"
-#~ msgstr "ERROR: Sem papel!\n"
-
-#~ msgid "ERROR: PRINTER environment variable not defined!\n"
-#~ msgstr "ERROR: Variável de ambiente PRINTER não definida!\n"
-
-#~ msgid "ERROR: Print file was not accepted (%s)!\n"
-#~ msgstr "ERROR: O ficheiro de impressão não foi aceite (%s)!\n"
-
-#~ msgid "ERROR: Printer not responding\n"
-#~ msgstr "ERROR: A impressora não responde\n"
-
-#~ msgid "ERROR: Printer not responding!\n"
-#~ msgstr "ERROR: A impressora não responde!\n"
-
-#~ msgid "ERROR: Printer sent unexpected EOF\n"
-#~ msgstr "ERROR: A impressora enviou um EOF inesperado\n"
-
-#~ msgid "ERROR: Remote host did not accept control file (%d)\n"
-#~ msgstr "ERROR: O host remoto não aceitou ficheiro de controlo (%d)\n"
-
-#~ msgid "ERROR: Remote host did not accept data file (%d)\n"
-#~ msgstr "ERROR: O host remoto não aceitou o ficheiro de dados (%d)\n"
-
-#~ msgid "ERROR: There was a timeout error while sending data to the printer\n"
-#~ msgstr ""
-#~ "ERROR: Ocorreu um erro de tempo limite excedido ao enviar dados para a "
-#~ "impressora\n"
-
-#~ msgid "ERROR: Unable to add file %d to job: %s\n"
-#~ msgstr "ERROR: Não é possível adicionar o ficheiro %d ao trabalho: %s\n"
-
-#~ msgid "ERROR: Unable to cancel job %d: %s\n"
-#~ msgstr "ERROR: Não é possível cancelar o trabalho %d: %s\n"
-
-#~ msgid "ERROR: Unable to copy PDF file"
-#~ msgstr "ERROR: Não é possível copiar o ficheiro PDF"
-
-#~ msgid "ERROR: Unable to create socket"
-#~ msgstr "ERROR: Não é possível criar o socket"
-
-#~ msgid "ERROR: Unable to create temporary compressed print file: %s\n"
-#~ msgstr ""
-#~ "ERROR: Não é possível criar o ficheiro de impressão comprimido "
-#~ "temporário: %s\n"
-
-#~ msgid "ERROR: Unable to create temporary file"
-#~ msgstr "ERROR: Não é possível criar o ficheiro temporário"
-
-#~ msgid "ERROR: Unable to create temporary file - %s.\n"
-#~ msgstr "ERROR: Não é possível criar ficheiro o temporário - %s.\n"
-
-#~ msgid "ERROR: Unable to create temporary file: %s\n"
-#~ msgstr "ERROR: Não é possível criar o ficheiro temporário: %s.\n"
-
-#~ msgid "ERROR: Unable to exec pictwpstops: %s\n"
-#~ msgstr "ERROR: Não é possível executar pictwpstops: %s\n"
-
-#~ msgid "ERROR: Unable to execute gs program"
-#~ msgstr "ERROR: Não é possível executar o programa gs"
-
-#~ msgid "ERROR: Unable to execute pdftops program"
-#~ msgstr "ERROR: Não é possível executar o programa pdftops"
-
-#~ msgid "ERROR: Unable to fork pictwpstops: %s\n"
-#~ msgstr "ERROR: Não é possível separar pictwpstops: %s\n"
-
-#~ msgid "ERROR: Unable to get PAP request"
-#~ msgstr "ERROR: Não é possível obter pedidos PAP"
-
-#~ msgid "ERROR: Unable to get PAP response"
-#~ msgstr "ERROR: Não é possível obter a resposta PAP"
-
-#~ msgid "ERROR: Unable to get PPD file for printer \"%s\" - %s.\n"
-#~ msgstr ""
-#~ "ERROR: Não é possível obter o ficheiro PPD para a impressora \"%s\" - %"
-#~ "s.\n"
-
-#~ msgid "ERROR: Unable to get default AppleTalk zone"
-#~ msgstr "ERROR: Não é possível obter a zona AppleTalk predefinida"
-
-#~ msgid "ERROR: Unable to get job %d attributes (%s)!\n"
-#~ msgstr "ERROR: Não é possível obter os atributos do trabalho %d (%s)!\n"
-
-#~ msgid "ERROR: Unable to get printer status (%s)!\n"
-#~ msgstr "ERROR: Não é possível obter o estado da impressora (%s)!\n"
-
-#~ msgid "ERROR: Unable to locate printer '%s'!\n"
-#~ msgstr "ERROR: Não é possível localizar a impressora '%s'!\n"
-
-#~ msgid "ERROR: Unable to look for PAP response"
-#~ msgstr "ERROR: Não é possível procurar a resposta PAP"
-
-#~ msgid "ERROR: Unable to lookup AppleTalk printers"
-#~ msgstr "ERROR: Não é possível procurar impressoras AppleTalk"
-
-#~ msgid "ERROR: Unable to make AppleTalk address"
-#~ msgstr "ERROR: Não é possível criar o endereço AppleTalk"
-
-#~ msgid "ERROR: Unable to open \"%s\" - %s\n"
-#~ msgstr "ERROR: Não é possível abrir \"%s\" - %s\n"
-
-#~ msgid "ERROR: Unable to open %s: %s\n"
-#~ msgstr "ERROR: Não é possível abrir %s: %s\n"
-
-#~ msgid "ERROR: Unable to open banner file \"%s\" - %s\n"
-#~ msgstr ""
-#~ "ERROR: Não é possível abrir o ficheiro da faixa publicitária \"%s\" - %s\n"
-
-#~ msgid "ERROR: Unable to open device file \"%s\": %s\n"
-#~ msgstr "ERROR: Não é possível abrir o ficheiro de periférico \"%s\": %s\n"
-
-#~ msgid "ERROR: Unable to open file \"%s\" - %s\n"
-#~ msgstr "ERROR: Não é possível abrir o ficheiro \"%s\" - %s\n"
-
-#~ msgid "ERROR: Unable to open file \"%s\": %s\n"
-#~ msgstr "ERROR: Não é possível abrir o ficheiro \"%s\": %s\n"
-
-#~ msgid "ERROR: Unable to open image file for printing!\n"
-#~ msgstr "ERROR: Não é possível abrir o ficheiro de imagem para impressão!\n"
-
-#~ msgid "ERROR: Unable to open print file \"%s\": %s\n"
-#~ msgstr "ERROR: Não é possível abrir o ficheiro de impressão \"%s\": %s\n"
-
-#~ msgid "ERROR: Unable to open print file %s - %s\n"
-#~ msgstr "ERROR: Não é possível abrir o ficheiro de impressão %s - %s\n"
-
-#~ msgid "ERROR: Unable to open print file %s: %s\n"
-#~ msgstr "ERROR: Não é possível abrir o ficheiro de impressão %s: %s\n"
-
-#~ msgid "ERROR: Unable to open temporary compressed print file: %s\n"
-#~ msgstr ""
-#~ "ERROR: Não é possível abrir o ficheiro de impressão comprimido "
-#~ "temporário: %s\n"
-
-#~ msgid "ERROR: Unable to open temporary file"
-#~ msgstr "ERROR: Não é possível abrir o ficheiro temporário"
-
-#~ msgid "ERROR: Unable to print %d text columns!\n"
-#~ msgstr "ERROR: Não é possível imprimir %d colunas de texto!\n"
-
-#~ msgid "ERROR: Unable to print %dx%d text page!\n"
-#~ msgstr "ERROR: Não é possível imprimir %dx%d página de texto!\n"
-
-#~ msgid "ERROR: Unable to read print data"
-#~ msgstr "ERROR: Não é possível ler os dados de impressão"
-
-#~ msgid "ERROR: Unable to read print data!\n"
-#~ msgstr "ERROR: Não é possível ler os dados de impressão!\n"
-
-#~ msgid "ERROR: Unable to reserve port"
-#~ msgstr "ERROR: Não é possível reservar a porta"
-
-#~ msgid "ERROR: Unable to seek to offset %ld in file - %s\n"
-#~ msgstr "ERROR: Não é possível atingir offset %ld no ficheiro - %s\n"
-
-#~ msgid "ERROR: Unable to seek to offset %lld in file - %s\n"
-#~ msgstr "ERROR: Não é possível atingir offset %lld no ficheiro - %s\n"
-
-#~ msgid "ERROR: Unable to send LPD command"
-#~ msgstr "ERROR: Não é possível enviar o comando LPD"
-
-#~ msgid "ERROR: Unable to send PAP tickle request"
-#~ msgstr "ERROR: Não é possível enviar o pedido de carga PAP"
-
-#~ msgid "ERROR: Unable to send initial PAP send data request"
-#~ msgstr "ERROR: Não é possível enviar o pedido de dados PAP inicial"
-
-#~ msgid "ERROR: Unable to send print data (%d)\n"
-#~ msgstr "ERROR: Não é possível enviar dados de impressão (%d)\n"
-
-#~ msgid "ERROR: Unable to send print data!\n"
-#~ msgstr "ERROR: Não é possível enviar os dados de impressão!\n"
-
-#~ msgid "ERROR: Unable to send print file to printer"
-#~ msgstr ""
-#~ "ERROR: Não é possível enviar o ficheiro de impressão para a impressora"
-
-#~ msgid "ERROR: Unable to send trailing nul to printer"
-#~ msgstr "ERROR: Não é possível enviar trailing nul para a impressora"
-
-#~ msgid "ERROR: Unable to wait for pictwpstops: %s\n"
-#~ msgstr "ERROR: Não é possível aguardar por pictwpstops: %s\n"
-
-#~ msgid "ERROR: Unable to write %d bytes to \"%s\": %s\n"
-#~ msgstr "ERROR: Não é possível escrever %d bytes em \"%s\": %s\n"
-
-#~ msgid "ERROR: Unable to write %d bytes to printer!\n"
-#~ msgstr "ERROR: Não é possível escrever %d bytes na impressora!\n"
-
-#~ msgid "ERROR: Unable to write control file"
-#~ msgstr "ERROR: Não é possível escrever o ficheiro de controlo"
-
-#~ msgid "ERROR: Unable to write print data"
-#~ msgstr "ERROR: Não é possível escrever os dados de impressão"
-
-#~ msgid "ERROR: Unable to write print data: %s\n"
-#~ msgstr "ERROR: Não é possível escrever dados de impressão: %s\n"
-
-#~ msgid "ERROR: Unable to write raster data to driver!\n"
-#~ msgstr "ERROR: Não é possível escrever dados de retícula no recurso!\n"
-
-#~ msgid "ERROR: Unable to write to temporary file"
-#~ msgstr "ERROR: Não é possível escrever no ficheiro temporário"
-
-#~ msgid "ERROR: Unable to write uncompressed document data: %s\n"
-#~ msgstr ""
-#~ "ERROR: Não é possível escrever dados de documento não comprimidos: %s\n"
-
-#~ msgid "ERROR: Unexpected text on line %d of %s!\n"
-#~ msgstr "ERROR: Texto inesperado na linha %d de %s!\n"
-
-#~ msgid "ERROR: Unknown encryption option value \"%s\"!\n"
-#~ msgstr "ERROR: Valor de opção de encriptação desconhecido \"%s\"!\n"
-
-#~ msgid "ERROR: Unknown file order \"%s\"\n"
-#~ msgstr "ERROR: Ordem de ficheiro desconhecida \"%s\"\n"
-
-#~ msgid "ERROR: Unknown format character \"%c\"\n"
-#~ msgstr "ERROR: Caracteres de formato desconhecido \"%c\"\n"
-
-#~ msgid "ERROR: Unknown message catalog format for \"%s\"!\n"
-#~ msgstr "ERROR: Formato desconhecido do catálogo de mensagens para \"%s\"!\n"
-
-#~ msgid "ERROR: Unknown option \"%s\" with value \"%s\"!\n"
-#~ msgstr "ERROR: Opção desconhecida \"%s\" com valor \"%s\"!\n"
-
-#~ msgid "ERROR: Unknown print mode \"%s\"\n"
-#~ msgstr "ERROR: Modo de impressão desconhecido \"%s\"\n"
-
-#~ msgid "ERROR: Unknown version option value \"%s\"!\n"
-#~ msgstr "ERROR: Valor de opção de versão desconhecido \"%s\"!\n"
-
-#~ msgid "ERROR: Unsupported brightness value %s, using brightness=100!\n"
-#~ msgstr "ERROR: Valor de brilho não suportado %s ao utilizar brilho=100!\n"
-
-#~ msgid "ERROR: Unsupported gamma value %s, using gamma=1000!\n"
-#~ msgstr "ERROR: Valor gama não suportado %s ao utilizar gama=1000!\n"
-
-#~ msgid "ERROR: Unsupported number-up value %d, using number-up=1!\n"
-#~ msgstr "ERROR: Valor number-up não suportado %d ao utilizar number-up=1!\n"
-
-#~ msgid ""
-#~ "ERROR: Unsupported number-up-layout value %s, using number-up-"
-#~ "layout=lrtb!\n"
-#~ msgstr ""
-#~ "ERROR: Valor number-up-layout não suportado %s ao utilizar number-up-"
-#~ "layout=lrtb!\n"
-
-#~ msgid "ERROR: Unsupported page-border value %s, using page-border=none!\n"
-#~ msgstr ""
-#~ "ERROR: Valor page-border não suportado %s ao utilizar page-border=none!\n"
-
-#~ msgid "ERROR: doc_printf overflow (%d bytes) detected, aborting!\n"
-#~ msgstr "ERROR: Detectado excesso doc_printf (%d bytes); a interromper!\n"
-
-#~ msgid "ERROR: pdftops filter crashed on signal %d!\n"
-#~ msgstr "ERROR: Filtro pdftops falhou ao sinal %d!\n"
-
-#~ msgid "ERROR: pdftops filter exited with status %d!\n"
-#~ msgstr "ERROR: Filtro pdftops saiu com o estado %d!\n"
-
-#~ msgid "ERROR: pictwpstops exited on signal %d!\n"
-#~ msgstr "ERROR: pictwpstops saiu ao sinal %d!\n"
-
-#~ msgid "ERROR: pictwpstops exited with status %d!\n"
-#~ msgstr "ERROR: pictwpstops saiu com o estado %d!\n"
-
-#~ msgid ""
-#~ "ERROR: recoverable: Unable to connect to printer; will retry in 30 "
-#~ "seconds...\n"
-#~ msgstr ""
-#~ "ERROR: recuperável: Não é possível ligar à impressora; nova tentativa "
-#~ "dentro de 30 segundos...\n"
-
-#~ msgid "ERROR: select() failed"
-#~ msgstr "ERROR: select() falhou"
-
-#~ msgid "ERROR: unable to stat print file"
-#~ msgstr "ERROR: Não é possível fazer stat do ficheiro de impressão"
-
-#~ msgid "Empty PPD file!"
-#~ msgstr "Ficheiro PPD vazio!"
-
-#~ msgid "Error: need hostname after '-h' option!\n"
-#~ msgstr "Erro: necessário nome de host após opção '-h'!\n"
-
-#~ msgid "FAIL\n"
-#~ msgstr "FAIL\n"
-
-#~ msgid ""
-#~ "File device URIs have been disabled! To enable, see the FileDevice "
-#~ "directive in \"%s/cupsd.conf\"."
-#~ msgstr ""
-#~ "URIs do periférico do ficheiro foram desactivados! Para activar, consulte "
-#~ "a directiva FileDevice em \"%s/cupsd.conf\"."
-
-#~ msgid "Fuser temperature high!"
-#~ msgstr "Temperatura do fusor elevada!"
-
-#~ msgid "Fuser temperature low!"
-#~ msgstr "Temperatura do fusor baixa!"
-
-#~ msgid "German FanFold"
-#~ msgstr "FanFold alemão"
-
-#~ msgid "German FanFold Legal"
-#~ msgstr "FanFold legal alemão"
-
-#~ msgid "Got a printer-uri attribute but no job-id!"
-#~ msgstr "Obtive um atributo printer-uri, mas não job-id!"
-
-#~ msgid "INFO: AppleTalk disabled in System Preferences\n"
-#~ msgstr "INFO: AppleTalk inactivo nas Preferências do Sistema\n"
-
-#~ msgid "INFO: AppleTalk disabled in System Preferences.\n"
-#~ msgstr "INFO: AppleTalk inactivo nas Preferências do Sistema.\n"
-
-#~ msgid "INFO: Canceling print job...\n"
-#~ msgstr "INFO: A cancelar trabalho de impressão...\n"
-
-#~ msgid "INFO: Connected to printer...\n"
-#~ msgstr "INFO: Ligado à impressora...\n"
-
-#~ msgid "INFO: Connecting to printer...\n"
-#~ msgstr "INFO: A ligar à impressora...\n"
-
-#~ msgid "INFO: Control file sent successfully\n"
-#~ msgstr "INFO: Ficheiro de controlo enviado com êxito\n"
-
-#~ msgid "INFO: Data file sent successfully\n"
-#~ msgstr "INFO: Ficheiro de dados enviado com êxito\n"
-
-#~ msgid "INFO: Formatting page %d...\n"
-#~ msgstr "INFO: A formatar página %d...\n"
-
-#~ msgid "INFO: Loading image file...\n"
-#~ msgstr "INFO: A carregar ficheiro de imagem...\n"
-
-#~ msgid "INFO: Looking for printer...\n"
-#~ msgstr "INFO: A procurar a impressora...\n"
-
-#~ msgid "INFO: Opening connection\n"
-#~ msgstr "INFO: A abrir a ligação\n"
-
-#~ msgid "INFO: Print file sent, waiting for printer to finish...\n"
-#~ msgstr ""
-#~ "INFO: Ficheiro de impressão enviado; a aguardar conclusão da "
-#~ "impressora...\n"
-
-#~ msgid "INFO: Printer busy; will retry in 10 seconds...\n"
-#~ msgstr "INFO: Impressora ocupada; nova tentativa dentro de 10 segundos...\n"
-
-#~ msgid "INFO: Printer busy; will retry in 30 seconds...\n"
-#~ msgstr "INFO: Impressora ocupada; nova tentativa dentro de 30 segundos...\n"
-
-#~ msgid "INFO: Printer busy; will retry in 5 seconds...\n"
-#~ msgstr "INFO: Impressora ocupada; nova tentativa dentro de 5 segundos...\n"
-
-#~ msgid "INFO: Printer does not support IPP/%d.%d, trying IPP/1.0...\n"
-#~ msgstr "INFO: A impressora não suporta IPP/%d.%d, a tentar IPP/1.0...\n"
-
-#~ msgid "INFO: Printer is busy; will retry in 5 seconds...\n"
-#~ msgstr ""
-#~ "INFO: A impressora está ocupada; nova tentativa dentro de 5 segundos...\n"
-
-#~ msgid "INFO: Printer is currently off-line.\n"
-#~ msgstr "INFO: A impressora está actualmente sem ligação.\n"
-
-#~ msgid "INFO: Printer is currently offline.\n"
-#~ msgstr "INFO: A impressora está actualmente sem ligação.\n"
-
-#~ msgid "INFO: Printer is now online.\n"
-#~ msgstr "INFO: A impressora tem agora ligação.\n"
-
-#~ msgid "INFO: Printer is offline.\n"
-#~ msgstr "INFO: A impressora está sem ligação.\n"
-
-#~ msgid "INFO: Printer not connected; will retry in 30 seconds...\n"
-#~ msgstr ""
-#~ "INFO: Impressora sem ligação; nova tentativa dentro de 30 segundos...\n"
-
-#~ msgid "INFO: Printing page %d, %d%% complete...\n"
-#~ msgstr "INFO: A imprimir página %d, %d%% concluído...\n"
-
-#~ msgid "INFO: Printing page %d...\n"
-#~ msgstr "INFO: A imprimir página %d...\n"
-
-#~ msgid "INFO: Ready to print.\n"
-#~ msgstr "INFO: Preparada para imprimir.\n"
-
-#~ msgid "INFO: Sending control file (%lu bytes)\n"
-#~ msgstr "INFO: A enviar ficheiro de controlo (%lu bytes)\n"
-
-#~ msgid "INFO: Sending control file (%u bytes)\n"
-#~ msgstr "INFO: A enviar ficheiro de controlo (%u bytes)\n"
-
-#~ msgid "INFO: Sending data\n"
-#~ msgstr "INFO: A enviar dados\n"
-
-#~ msgid "INFO: Sending data file (%ld bytes)\n"
-#~ msgstr "INFO: A enviar ficheiro de dados (%ld bytes)\n"
-
-#~ msgid "INFO: Sending data file (%lld bytes)\n"
-#~ msgstr "INFO: A enviar ficheiro de dados (%lld bytes)\n"
-
-#~ msgid "INFO: Sending print data...\n"
-#~ msgstr "INFO: A enviar dados de impressão...\n"
-
-#~ msgid "INFO: Sent print file, %ld bytes...\n"
-#~ msgstr "INFO: Ficheiro de impressão enviado, %ld bytes...\n"
-
-#~ msgid "INFO: Sent print file, %lld bytes...\n"
-#~ msgstr "INFO: Ficheiro de impressão enviado, %lld bytes...\n"
-
-#~ msgid "INFO: Spooling LPR job, %.0f%% complete...\n"
-#~ msgstr "INFO: A processar trabalho LPR, %.0f%% concluído...\n"
-
-#~ msgid ""
-#~ "INFO: Unable to contact printer, queuing on next printer in class...\n"
-#~ msgstr ""
-#~ "INFO: Não é possível contactar a impressora; a colocar em fila na próxima "
-#~ "impressora na classe...\n"
-
-#~ msgid "INFO: Using default AppleTalk zone \"%s\"\n"
-#~ msgstr "INFO: A utilizar a zona AppleTalk predefinida \"%s\"\n"
-
-#~ msgid "INFO: Waiting for job to complete...\n"
-#~ msgstr "INFO: A aguardar conclusão do trabalho...\n"
-
-#~ msgid "INFO: Waiting for printer to become available...\n"
-#~ msgstr "INFO: A aguardar até que a impressora fique disponível...\n"
-
-#~ msgid "ISO B0"
-#~ msgstr "ISO B0"
-
-#~ msgid "ISO B1"
-#~ msgstr "ISO B1"
-
-#~ msgid "ISO B10"
-#~ msgstr "ISO B10"
-
-#~ msgid "ISO B2"
-#~ msgstr "ISO B2"
-
-#~ msgid "ISO B3"
-#~ msgstr "ISO B3"
-
-#~ msgid "ISO B4"
-#~ msgstr "ISO B4"
-
-#~ msgid "ISO B4 Envelope"
-#~ msgstr "ISO Envelope B4"
-
-#~ msgid "ISO B5"
-#~ msgstr "ISO B5"
-
-#~ msgid "ISO B5 (Oversize)"
-#~ msgstr "ISO B5 (extra grande)"
-
-#~ msgid "ISO B5 Envelope"
-#~ msgstr "ISO Envelope B5"
-
-#~ msgid "ISO B6"
-#~ msgstr "ISO B6"
-
-#~ msgid "ISO B6 Envelope"
-#~ msgstr "ISO Envelope B6"
-
-#~ msgid "ISO B7"
-#~ msgstr "ISO B7"
-
-#~ msgid "ISO B8"
-#~ msgstr "ISO B8"
-
-#~ msgid "ISO B9"
-#~ msgstr "ISO B9"
-
-#~ msgid "Ink/toner almost empty."
-#~ msgstr "Tinta/toner quase vazio."
-
-#~ msgid "Ink/toner empty!"
-#~ msgstr "Tinta/toner vazio!"
-
-#~ msgid "Ink/toner waste bin almost full."
-#~ msgstr "Receptáculo de tinta/toner quase cheio."
-
-#~ msgid "Ink/toner waste bin full!"
-#~ msgstr "Receptáculo de tinta/toner cheio!"
-
-#~ msgid "Interlock open."
-#~ msgstr "Bloqueio aberto."
-
-#~ msgid "Invite Envelope"
-#~ msgstr "Envelope de convite"
-
-#~ msgid "Italian Envelope"
-#~ msgstr "Envelope italiano"
-
-#~ msgid "Job #%d cannot be restarted - no files!"
-#~ msgstr "Não é possível reiniciar o trabalho #%d  - sem ficheiros!"
-
-#~ msgid "Job #%d does not exist!"
-#~ msgstr "Trabalho #%d não existe!"
-
-#~ msgid "Job #%d is finished and cannot be altered!"
-#~ msgstr "Trabalho #%d concluído; não é possível alterar!"
-
-#~ msgid "Job #%d is not complete!"
-#~ msgstr "Trabalho #%d não concluído!"
-
-#~ msgid "Job #%d is not held for authentication!"
-#~ msgstr "Trabalho #%d não retido para autenticação!"
-
-#~ msgid "Job #%d is not held!"
-#~ msgstr "Trabalho #%d não retido!"
-
-#~ msgid "Job #%s does not exist!"
-#~ msgstr "Trabalho #%s não existe!"
-
-#~ msgid "Job %d not found!"
-#~ msgstr "Trabalho %d não encontrado!"
-
-#~ msgid "Job subscriptions cannot be renewed!"
-#~ msgstr "Não é possível renovar as subscrições do trabalho!"
-
-#~ msgid "Kaku2 Envelope"
-#~ msgstr "Envelope Kaku2"
-
-#~ msgid "Kaku3 Envelope"
-#~ msgstr "Envelope Kaku3"
-
-#~ msgid "Language \"%s\" not supported!"
-#~ msgstr "Idioma \"%s\" não suportado!"
-
-#~ msgid "Media jam!"
-#~ msgstr "Suporte encravado!"
-
-#~ msgid "Media tray almost empty."
-#~ msgstr "Tabuleiro de suporte quase vazio."
-
-#~ msgid "Media tray empty!"
-#~ msgstr "Tabuleiro de suporte vazio!"
-
-#~ msgid "Media tray missing!"
-#~ msgstr "Tabuleiro de suporte inexistente!"
-
-#~ msgid "Media tray needs to be filled."
-#~ msgstr "É necessário encher o tabuleiro de suporte."
-
-#~ msgid "Missing document-number attribute!"
-#~ msgstr "Atributo document-number inexistente!"
-
-#~ msgid "Missing double quote on line %d!"
-#~ msgstr "Aspas inexistentes na linha %d!"
-
-#~ msgid "Missing form variable!"
-#~ msgstr "Variável de formato inexistente!"
-
-#~ msgid "Missing notify-subscription-ids attribute!"
-#~ msgstr "Atributo notify-subscription-ids inexistente!"
-
-#~ msgid "Missing requesting-user-name attribute!"
-#~ msgstr "Atributo requesting-user-name inexistente!"
-
-#~ msgid "Missing required attributes!"
-#~ msgstr "Atributos necessários inexistentes!"
-
-#~ msgid "Missing value on line %d!"
-#~ msgstr "Valor inexistente na linha %d!"
-
-#~ msgid ""
-#~ "Model:  name = %s\n"
-#~ "        natural_language = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ msgstr ""
-#~ "Modelo:  name = %s\n"
-#~ "        natural_language = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-
-#~ msgid "Monarch"
-#~ msgstr "Monarch"
-
-#~ msgid "Monarch Envelope"
-#~ msgstr "Envelope Monarch"
-
-#~ msgid "NOTICE: Print file accepted - job ID %d.\n"
-#~ msgstr "NOTICE: Ficheiro de impressão aceite - ID do trabalho %d.\n"
-
-#~ msgid "NOTICE: Print file accepted - job ID unknown.\n"
-#~ msgstr ""
-#~ "NOTICE: Ficheiro de impressão aceite - ID do trabalho desconhecido.\n"
-
-#~ msgid "No PPD name!"
-#~ msgstr "Sem nome PPD!"
-
-#~ msgid "No Windows printer drivers are installed!"
-#~ msgstr "Sem controladores de impressora Windows instalados!"
-
-#~ msgid "No active jobs on %s!"
-#~ msgstr "Sem trabalhos activos em %s!"
-
-#~ msgid "No attributes in request!"
-#~ msgstr "Sem atributos no pedido!"
-
-#~ msgid "No authentication information provided!"
-#~ msgstr "Sem informações de autenticação fornecidas!"
-
-#~ msgid "No default printer"
-#~ msgstr "Sem impressora predefinida"
-
-#~ msgid "No file!?!"
-#~ msgstr "Sem ficheiro?!"
-
-#~ msgid "No modification time!"
-#~ msgstr "Tempo de modificação inexistente!"
-
-#~ msgid "No printer name!"
-#~ msgstr "Nome de impressão inexistente!"
-
-#~ msgid "No printer-uri found for class!"
-#~ msgstr "Nenhum printer-uri para a classe!"
-
-#~ msgid "No printer-uri found!"
-#~ msgstr "Nenhum printer-uri encontrado!"
-
-#~ msgid "No printer-uri in request!"
-#~ msgstr "Nenhum printer-uri no pedido!"
-
-#~ msgid "No subscription attributes in request!"
-#~ msgstr "Sem atributos de subscrição no pedido!"
-
-#~ msgid "OPC almost at end-of-life."
-#~ msgstr "OPC quase em fim de vida."
-
-#~ msgid "OPC at end-of-life!"
-#~ msgstr "OPC em fim de vida!"
-
-#~ msgid "Out of toner!"
-#~ msgstr "Sem toner!"
-
-#~ msgid "Output bin almost full."
-#~ msgstr "Receptáculo de saída quase cheio."
-
-#~ msgid "Output bin full!"
-#~ msgstr "Receptáculo de saída cheio!"
-
-#~ msgid "Output for printer %s is sent to %s\n"
-#~ msgstr "Saída de impressora %s enviada para %s\n"
-
-#~ msgid "Output for printer %s is sent to remote printer %s on %s\n"
-#~ msgstr "Saída de impressora %s enviada para impressora remota %s em %s\n"
-
-#~ msgid "Output for printer %s/%s is sent to %s\n"
-#~ msgstr "Saída de impressora %s/%s enviada para %s\n"
-
-#~ msgid "Output for printer %s/%s is sent to remote printer %s on %s\n"
-#~ msgstr "Saída de impressora %s/%s enviada para impressora remota %s em %s\n"
-
-#~ msgid "Output tray missing!"
-#~ msgstr "Tabuleiro de saída inexistente!"
-
-#~ msgid "PASS\n"
-#~ msgstr "PASS\n"
-
-#~ msgid "PRC1 Envelope"
-#~ msgstr "Envelope PRC1"
-
-#~ msgid "PRC10 Envelope"
-#~ msgstr "Envelope PRC10"
-
-#~ msgid "PRC2 Envelope"
-#~ msgstr "Envelope PRC2"
-
-#~ msgid "PRC3 Envelope"
-#~ msgstr "Envelope PRC3"
-
-#~ msgid "PRC32K (Oversize)"
-#~ msgstr "PRC32K (extra grande)"
-
-#~ msgid "PRC4 Envelope"
-#~ msgstr "Envelope PRC4"
-
-#~ msgid "PRC5 Envelope"
-#~ msgstr "Envelope PRC5"
-
-#~ msgid "PRC6 Envelope"
-#~ msgstr "Envelope PRC6"
-
-#~ msgid "PRC7 Envelope"
-#~ msgstr "Envelope PRC7"
-
-#~ msgid "PRC8 Envelope"
-#~ msgstr "Envelope PRC8"
-
-#~ msgid "PRC9 Envelope"
-#~ msgstr "Envelope PRC9"
-
-#~ msgid "Personal Envelope"
-#~ msgstr "Envelope pessoal"
-
-#~ msgid "Printer offline."
-#~ msgstr "Impressora sem ligação."
-
-#~ msgid "Rank    Owner   Job     File(s)                         Total Size\n"
-#~ msgstr ""
-#~ "Classificação    Proprietário   Trabalho     Ficheiro"
-#~ "(s)                         Tamanho total\n"
-
-#~ msgid ""
-#~ "Rank   Owner      Pri  Job        Files                       Total Size\n"
-#~ msgstr ""
-#~ "Classificação   Proprietário      Pri  Trabalho        "
-#~ "Ficheiros                       Tamanho total\n"
-
-#~ msgid "Running command: %s %s -N -A %s -c '%s'\n"
-#~ msgstr "Comando em execução: %s %s -N -A %s -c '%s'\n"
-
-#~ msgid "SCSI Printer"
-#~ msgstr "Impressora SCSI"
-
-#~ msgid "Tabloid (Oversize)"
-#~ msgstr "Tablóide (extra grande)"
-
-#~ msgid "The notify-user-data value is too large (%d > 63 octets)!"
-#~ msgstr "O valor notify-user-data é demasiado grande (%d > 63 octetos)!"
-
-#~ msgid "The printer or class is not shared!"
-#~ msgstr "Impressora ou classe não partilhadas!"
-
-#~ msgid "The printer or class was not found."
-#~ msgstr "Impressora ou classe não localizadas."
-
-#~ msgid "The printer-uri attribute is required!"
-#~ msgstr "Necessário atributo printer-uri!"
-
-#~ msgid "Toner low."
-#~ msgstr "Pouco toner."
-
-#~ msgid "Too many job-sheets values (%d > 2)!"
-#~ msgstr "Demasiados valores job-sheets (%d > 2)!"
-
-#~ msgid "Too many printer-state-reasons values (%d > %d)!"
-#~ msgstr "Demasiados valores printer-state-reasons (%d > %d)!"
-
-#~ msgid "US Executive"
-#~ msgstr "Executivo EUA"
-
-#~ msgid "US Fanfold"
-#~ msgstr "Fanfold EUA"
-
-#~ msgid "US Legal (Oversize)"
-#~ msgstr "Legal EUA (extra grande)"
-
-#~ msgid "US Letter (Oversize)"
-#~ msgstr "Carta EUA (extra grande)"
-
-#~ msgid "US Letter (Small)"
-#~ msgstr "Carta EUA (pequena)"
-
-#~ msgid "Unable to add job for destination \"%s\"!"
-#~ msgstr "Não é possível adicionar o trabalho ao destino \"%s\"!"
-
-#~ msgid "Unable to allocate memory for file types!"
-#~ msgstr "Não é possível alocar memória para tipos de ficheiros!"
-
-#~ msgid "Unable to copy 64-bit CUPS printer driver files (%d)!"
-#~ msgstr ""
-#~ "Não é possível copiar os ficheiros de controladores de impressora CUPS de "
-#~ "64 bits (%d)!"
-
-#~ msgid "Unable to copy 64-bit Windows printer driver files (%d)!"
-#~ msgstr ""
-#~ "Não é possível copiar os ficheiros de controladores de impressora Windows "
-#~ "de 64 bits (%d)!"
-
-#~ msgid "Unable to copy CUPS printer driver files (%d)!"
-#~ msgstr "Não é possível copiar ficheiros de recurso de impressora CUPS (%d)!"
-
-#~ msgid "Unable to copy PPD file - %s!"
-#~ msgstr "Não é possível copiar o ficheiro PPD - %s!"
-
-#~ msgid "Unable to copy PPD file!"
-#~ msgstr "Não é possível copiar o ficheiro PPD!"
-
-#~ msgid "Unable to copy Windows 2000 printer driver files (%d)!"
-#~ msgstr ""
-#~ "Não é possível copiar os ficheiros de controladores de impressora Windows "
-#~ "2000 (%d)!"
-
-#~ msgid "Unable to copy Windows 9x printer driver files (%d)!"
-#~ msgstr ""
-#~ "Não é possível copiar os ficheiros de controladores de impressora Windows "
-#~ "9x (%d)!"
-
-#~ msgid "Unable to copy interface script - %s!"
-#~ msgstr "Não é possível copiar o script de interface - %s!"
-
-#~ msgid "Unable to create printer-uri!"
-#~ msgstr "Não é possível criar printer-uri!"
-
-#~ msgid "Unable to edit cupsd.conf files larger than 1MB!"
-#~ msgstr "Não é possível editar ficheiros cupsd.conf com mais de 1MB!"
-
-#~ msgid "Unable to find destination for job!"
-#~ msgstr "Não é possível localizar o destino para o trabalho!"
-
-#~ msgid "Unable to find printer!\n"
-#~ msgstr "Não é possível encontrar a impressora!\n"
-
-#~ msgid "Unable to install Windows 2000 printer driver files (%d)!"
-#~ msgstr ""
-#~ "Não é possível instalar os ficheiros de controladores de impressora "
-#~ "Windows 2000 (%d)!"
-
-#~ msgid "Unable to install Windows 9x printer driver files (%d)!"
-#~ msgstr ""
-#~ "Não é possível instalar os ficheiros de controladores de impressora "
-#~ "Windows 9x (%d)!"
-
-#~ msgid "Unable to open document %d in job %d!"
-#~ msgstr "Não é possível abrir o documento %d no trabalho %d!"
-
-#~ msgid "Unable to run \"%s\": %s\n"
-#~ msgstr "Não é possível executar \"%s\": %s\n"
-
-#~ msgid "Unable to send command to printer driver!"
-#~ msgstr "Não é possível enviar o comando para o controlador de impressora!"
-
-#~ msgid "Unable to set Windows printer driver (%d)!"
-#~ msgstr "Não é possível definir o controlador de impressora Windows (%d)!"
-
-#~ msgid "Unable to use legacy USB class driver!\n"
-#~ msgstr "Não é possível usar o controlador de classe USB!\n"
-
-#~ msgid "Unknown printer error (%s)!"
-#~ msgstr "Erro de impressora desconhecido (%s)!"
-
-#~ msgid "Unsupported character set \"%s\"!"
-#~ msgstr "Conjunto de caracteres \"%s\" não suportado!"
-
-#~ msgid "Unsupported compression \"%s\"!"
-#~ msgstr "Compressão não suportada \"%s\"!"
-
-#~ msgid "Unsupported compression attribute %s!"
-#~ msgstr "Atributo de compressão não suportado %s!"
-
-#~ msgid "Unsupported format \"%s\"!"
-#~ msgstr "Formato não suportado \"%s\"!"
-
-#~ msgid "Unsupported format '%s'!"
-#~ msgstr "Formato não suportado '%s'!"
-
-#~ msgid "Unsupported format '%s/%s'!"
-#~ msgstr "Formato não suportado %s/%s'!"
-
-#~ msgid ""
-#~ "Usage:\n"
-#~ "\n"
-#~ "    lpadmin [-h server] -d destination\n"
-#~ "    lpadmin [-h server] -x destination\n"
-#~ "    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m "
-#~ "model]\n"
-#~ "                       [-r remove-class] [-v device] [-D description]\n"
-#~ "                       [-P ppd-file] [-o name=value]\n"
-#~ "                       [-u allow:user,user] [-u deny:user,user]\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Utilização:\n"
-#~ "\n"
-#~ "    lpadmin [-h server] -d destination\n"
-#~ "    lpadmin [-h server] -x destination\n"
-#~ "    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m "
-#~ "model]\n"
-#~ "                       [-r remove-class] [-v device] [-D description]\n"
-#~ "                       [-P ppd-file] [-o name=value]\n"
-#~ "                       [-u allow:user,user] [-u deny:user,user]\n"
-#~ "\n"
-
-#~ msgid "Usage: %s job user title copies options [filename]\n"
-#~ msgstr ""
-#~ "Utilização: opções de cópias de título de utilizador %s job-id [nome do "
-#~ "ficheiro]\n"
-
-#~ msgid "Usage: %s job-id user title copies options [file]\n"
-#~ msgstr ""
-#~ "Utilização: opções de cópias de título de utilizador %s job-id "
-#~ "[ficheiro]\n"
-
-#~ msgid "Usage: %s job-id user title copies options file\n"
-#~ msgstr ""
-#~ "Utilização: ficheiro de opções de cópias de título de utilizador %s job-"
-#~ "id\n"
-
-#~ msgid ""
-#~ "Usage: convert [ options ]\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "  -f filename          Set file to be converted (otherwise stdin)\n"
-#~ "  -o filename          Set file to be generated (otherwise stdout)\n"
-#~ "  -i mime/type         Set input MIME type (otherwise auto-typed)\n"
-#~ "  -j mime/type         Set output MIME type (otherwise application/pdf)\n"
-#~ "  -P filename.ppd      Set PPD file\n"
-#~ "  -a 'name=value ...'  Set option(s)\n"
-#~ "  -U username          Set username for job\n"
-#~ "  -J title             Set title\n"
-#~ "  -c copies            Set number of copies\n"
-#~ "  -u                   Remove the PPD file when finished\n"
-#~ "  -D                   Remove the input file when finished\n"
-#~ msgstr ""
-#~ "Utilização: convert [ options ]\n"
-#~ "\n"
-#~ "Opções:\n"
-#~ "\n"
-#~ "  -f filename          Definir ficheiro a ser convertido (caso contrário "
-#~ "stdin)\n"
-#~ "  -o filename          Definir ficheiro a ser gerado (caso contrário "
-#~ "stdout)\n"
-#~ "  -i mime/type         Definir tipo MIME de entrada (caso contrário auto-"
-#~ "typed)\n"
-#~ "  -j mime/type         Definir tipo MIME de saída (caso contrário "
-#~ "application/pdf)\n"
-#~ "  -P filename.ppd      Definir ficheiro PPD\n"
-#~ "  -a 'name=value ...'  Definir opção(ões)\n"
-#~ "  -U username          Definir nome de utilizador do trabalho\n"
-#~ "  -J title             Definir título\n"
-#~ "  -c copies            Definir número de cópias\n"
-#~ "  -u                   Remover o ficheiro PPD ao terminar\n"
-#~ "  -D                   Remover o ficheiro de entrada ao terminar\n"
-
-#~ msgid ""
-#~ "Usage: cupsaddsmb [options] printer1 ... printerN\n"
-#~ "       cupsaddsmb [options] -a\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "  -E               Encrypt the connection to the server\n"
-#~ "  -H samba-server  Use the named SAMBA server\n"
-#~ "  -U samba-user    Authenticate using the named SAMBA user\n"
-#~ "  -a               Export all printers\n"
-#~ "  -h cups-server   Use the named CUPS server\n"
-#~ "  -v               Be verbose (show commands)\n"
-#~ msgstr ""
-#~ "Utilização: cupsaddsmb [options] printer1 ... printerN\n"
-#~ "       cupsaddsmb [options] -a\n"
-#~ "\n"
-#~ "Opções:\n"
-#~ "  -E               Encriptar a ligação ao servidor\n"
-#~ "  -H samba-server  Utilizar o servidor SAMBA\n"
-#~ "  -U samba-user    Autenticar utilizando utilizador SAMBA\n"
-#~ "  -a               Exportar todas as impressoras\n"
-#~ "  -h cups-server   Utilizar o servidor CUPS\n"
-#~ "  -v               Verboso (mostrar comandos)\n"
-
-#~ msgid ""
-#~ "Usage: cupsctl [options] [param=value ... paramN=valueN]\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -E                      Enable encryption\n"
-#~ "    -U username             Specify username\n"
-#~ "    -h server[:port]        Specify server address\n"
-#~ "\n"
-#~ "    --[no-]debug-logging    Turn debug logging on/off\n"
-#~ "    --[no-]remote-admin     Turn remote administration on/off\n"
-#~ "    --[no-]remote-any       Allow/prevent access from the Internet\n"
-#~ "    --[no-]remote-printers  Show/hide remote printers\n"
-#~ "    --[no-]share-printers   Turn printer sharing on/off\n"
-#~ "    --[no-]user-cancel-any  Allow/prevent users to cancel any job\n"
-#~ msgstr ""
-#~ "Utilização: cupsctl [options] [param=value ... paramN=valueN]\n"
-#~ "\n"
-#~ "Opções:\n"
-#~ "\n"
-#~ "    -E                      Activar encriptação\n"
-#~ "    -U username             Especificar nome de utilizador\n"
-#~ "    -h server[:port]        Especificar endereço de servidor\n"
-#~ "\n"
-#~ "    --[no-]debug-logging    Activar/desactivar registo da depuração\n"
-#~ "    --[no-]remote-admin     Activar/desactivar administração remota\n"
-#~ "    --[no-]remote-any       Permitir/impedir acesso a partir da Internet\n"
-#~ "    --[no-]remote-printers  Mostrar/ocultar impressoras remotas\n"
-#~ "    --[no-]share-printers   Activar/desactivar partilha de impressora\n"
-#~ "    --[no-]user-cancel-any  Permitir/impedir utilizadores de cancelar "
-#~ "trabalhos\n"
-
-#~ msgid ""
-#~ "Usage: cupsd [-c config-file] [-f] [-F] [-h] [-l]\n"
-#~ "\n"
-#~ "-c config-file      Load alternate configuration file\n"
-#~ "-f                  Run in the foreground\n"
-#~ "-F                  Run in the foreground but detach\n"
-#~ "-h                  Show this usage message\n"
-#~ "-l                  Run cupsd from launchd(8)\n"
-#~ msgstr ""
-#~ "Utilização: cupsd [-c config-file] [-f] [-F] [-h] [-l]\n"
-#~ "\n"
-#~ "-c config-file      Carregar ficheiro de configuração alternativa\n"
-#~ "-f                  Executar em primeiro plano\n"
-#~ "-F                  Executar em primeiro plano, mas separar\n"
-#~ "-h                  Mostrar esta mensagem de utilização\n"
-#~ "-l                  Executar cupsd a partir de launchd(8)\n"
-
-#~ msgid ""
-#~ "Usage: cupsfilter -m mime/type [ options ] filename\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "  -c cupsd.conf    Set cupsd.conf file to use\n"
-#~ "  -j job-id[,N]    Filter file N from the specified job (default is file "
-#~ "1)\n"
-#~ "  -n copies        Set number of copies\n"
-#~ "  -o name=value    Set option(s)\n"
-#~ "  -p filename.ppd  Set PPD file\n"
-#~ "  -t title         Set title\n"
-#~ msgstr ""
-#~ "Utilização: cupsfilter -m mime/type [ options ] filename\n"
-#~ "\n"
-#~ "Opções:\n"
-#~ "\n"
-#~ "  -c cupsd.conf    Definir ficheiro cupsd.conf a utilizar\n"
-#~ "  -j job-id[,N]    Filtrar ficheiro N do trabalho especificado (a "
-#~ "predefinição é ficheiro 1)\n"
-#~ "  -n copies        Definir número de cópias\n"
-#~ "  -o name=value    Definir opção(ões)\n"
-#~ "  -p filename.ppd  Definir ficheiro PPD\n"
-#~ "  -t title         Definir título\n"
-
-#~ msgid ""
-#~ "Usage: cupstestdsc [options] filename.ps [... filename.ps]\n"
-#~ "       cupstestdsc [options] -\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -h       Show program usage\n"
-#~ "\n"
-#~ "    Note: this program only validates the DSC comments, not the "
-#~ "PostScript itself.\n"
-#~ msgstr ""
-#~ "Utilização: cupstestdsc [options] filename.ps [... filename.ps]\n"
-#~ "       cupstestdsc [options] -\n"
-#~ "\n"
-#~ "Opções:\n"
-#~ "\n"
-#~ "    -h       Mostrar utilização de programa\n"
-#~ "\n"
-#~ "    Nota: este programa só valida comentários DSC, não o próprio "
-#~ "PostScript.\n"
-
-#~ msgid ""
-#~ "Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]\n"
-#~ "       program | cupstestppd [options] -\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -R root-directory    Set alternate root\n"
-#~ "    -W {all,none,constraints,defaults,duplex,filters,translations}\n"
-#~ "                         Issue warnings instead of errors\n"
-#~ "    -q                   Run silently\n"
-#~ "    -r                   Use 'relaxed' open mode\n"
-#~ "    -v                   Be slightly verbose\n"
-#~ "    -vv                  Be very verbose\n"
-#~ msgstr ""
-#~ "Utilização: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[."
-#~ "gz]]\n"
-#~ "       programa | cupstestppd [options] -\n"
-#~ "\n"
-#~ "Opções:\n"
-#~ "\n"
-#~ "    -R root-directory    Especificar raiz alternativa\n"
-#~ "    -W {tudo, sem, restrições, predefinições, duplex, filtros, "
-#~ "traduções}\n"
-#~ "                         Emitir avisos em vez de erros\n"
-#~ "    -q                   Executar silenciosamente\n"
-#~ "    -r                   Utilizar modo aberto 'descontraído'\n"
-#~ "    -v                   Ligeiramente verboso\n"
-#~ "    -vv                  Muito verboso\n"
-
-#~ msgid "Usage: lpmove job/src dest\n"
-#~ msgstr "Utilização: lpmove job/src dest\n"
-
-#~ msgid ""
-#~ "Usage: lpoptions [-h server] [-E] -d printer\n"
-#~ "       lpoptions [-h server] [-E] [-p printer] -l\n"
-#~ "       lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
-#~ "       lpoptions [-h server] [-E] -x printer\n"
-#~ msgstr ""
-#~ "Utilização: lpoptions [-h server] [-E] -d printer\n"
-#~ "       lpoptions [-h server] [-E] [-p printer] -l\n"
-#~ "       lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
-#~ "       lpoptions [-h server] [-E] -x printer\n"
-
-#~ msgid "Usage: lppasswd [-g groupname]\n"
-#~ msgstr "Utilização: lppasswd [-g groupname]\n"
-
-#~ msgid ""
-#~ "Usage: lppasswd [-g groupname] [username]\n"
-#~ "       lppasswd [-g groupname] -a [username]\n"
-#~ "       lppasswd [-g groupname] -x [username]\n"
-#~ msgstr ""
-#~ "Utilização: lppasswd [-g groupname] [username]\n"
-#~ "       lppasswd [-g groupname] -a [username]\n"
-#~ "       lppasswd [-g groupname] -x [username]\n"
-
-#~ msgid ""
-#~ "Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]\n"
-#~ msgstr ""
-#~ "Utilização: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] "
-#~ "[+interval]\n"
-
-#~ msgid ""
-#~ "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]\n"
-#~ "Options:\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "  -I include-dir       Add include directory to search path.\n"
-#~ "  -c catalog.po        Load the specified message catalog.\n"
-#~ "  -d output-dir        Specify the output directory.\n"
-#~ "  -l lang[,lang,...]   Specify the output language(s) (locale).\n"
-#~ "  -m                   Use the ModelName value as the filename.\n"
-#~ "  -t                   Test PPDs instead of generating them.\n"
-#~ "  -v                   Be verbose (more v's for more verbosity).\n"
-#~ "  -z                   Compress PPD files using GNU zip.\n"
-#~ "  --cr                 End lines with CR (Mac OS 9).\n"
-#~ "  --crlf               End lines with CR + LF (Windows).\n"
-#~ "  --lf                 End lines with LF (UNIX/Linux/Mac OS X).\n"
-#~ msgstr ""
-#~ "Utilização: ppdc [options] filename.drv [ ... filenameN.drv ]\n"
-#~ "Opções:\n"
-#~ "  -D name=value        Definir variável designada como valor.\n"
-#~ "  -I include-dir       Adicionar incluir directório ao caminho de "
-#~ "pesquisa.\n"
-#~ "  -c catalog.po        Carregar o catálogo de mensagens especificado.\n"
-#~ "  -d output-dir        Especificar o directório de saída.\n"
-#~ "  -l lang[,lang,...]   Especificar o(s) idioma(s) (locale).\n"
-#~ "  -m                   Utilizar o valor ModelName como nome de ficheiro.\n"
-#~ "  -t                   Testar PPDs em vez de os gerar.\n"
-#~ "  -v                   Ser verboso (mais \"v\" para mais verbosidade).\n"
-#~ "  -z                   Comprimir ficheiros PPD utilizando o zip GNU.\n"
-#~ "  --cr                 Terminar linhas em CR (Mac OS 9).\n"
-#~ "  --crlf               Terminar linhas em CR + LF (Windows).\n"
-#~ "  --lf                 Terminar linhas em LF (UNIX/Linux/Mac OS X).\n"
-
-#~ msgid ""
-#~ "Usage: ppdhtml [options] filename.drv >filename.html\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "Options:\n"
-#~ "  -I include-dir    Add include directory to search path.\n"
-#~ msgstr ""
-#~ "Utilização: ppdhtml [options] filename.drv >filename.html\n"
-#~ "  -D name=value        Definir variável designada como valor.\n"
-#~ "Opções:\n"
-#~ "  -I include-dir    Adicionar incluir directório ao caminho de pesquisa.\n"
-
-#~ msgid ""
-#~ "Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Options:\n"
-#~ "  -I include-dir\n"
-#~ "  -o filename.drv\n"
-#~ msgstr ""
-#~ "Utilização: ppdi [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Opções:\n"
-#~ "  -I include-dir\n"
-#~ "  -o filename.drv\n"
-
-#~ msgid ""
-#~ "Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Options:\n"
-#~ "  -o filename.ppd[.gz]\n"
-#~ msgstr ""
-#~ "Utilização: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Opções:\n"
-#~ "  -o filename.ppd[.gz]\n"
-
-#~ msgid ""
-#~ "Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]\n"
-#~ "Options:\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "  -I include-dir    Add include directory to search path.\n"
-#~ "  -v                Be verbose (more v's for more verbosity).\n"
-#~ msgstr ""
-#~ "Utilização: ppdpo [options] -o filename.po filename.drv [ ... filenameN."
-#~ "drv ]\n"
-#~ "Opções:\n"
-#~ "  -D name=value        Definir variável designada como valor.\n"
-#~ "  -I include-dir    Adicionar incluir directório ao caminho de pesquisa.\n"
-#~ "  -v                Ser verboso (mais \"v\" para mais verbosidade).\n"
-
-#~ msgid "Usage: snmp [host-or-ip-address]\n"
-#~ msgstr "Utilização: snmp [host-or-ip-address]\n"
-
-#~ msgid "WARNING: Adding only the first %d printers found"
-#~ msgstr "WARNING: A adicionar apenas as primeiras %d impressoras encontradas"
-
-#~ msgid "WARNING: Boolean expected for waiteof option \"%s\"\n"
-#~ msgstr "WARNING: Booleano esperado para opção waiteof \"%s\"\n"
-
-#~ msgid "WARNING: Failed to read side-channel request!\n"
-#~ msgstr "WARNING: Falha ao ler pedido de side-channel!\n"
-
-#~ msgid "WARNING: Option \"%s\" cannot be included via IncludeFeature!\n"
-#~ msgstr ""
-#~ "WARNING: Não é possível incluir a opção \"%s\" via IncludeFeature!\n"
-
-#~ msgid "WARNING: Printer not responding\n"
-#~ msgstr "WARNING: a impressora não responde\n"
-
-#~ msgid "WARNING: Printer sent unexpected EOF\n"
-#~ msgstr "WARNING: A impressora enviou um EOF inesperado\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with command status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: Host remoto não respondeu com byte de estado de comando após %d "
-#~ "segundos!\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with control status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: Host remoto não respondeu com byte de estado de controlo após %d "
-#~ "segundos!\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with data status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: Host remoto não respondeu com byte de estado de dados após %d "
-#~ "segundos!\n"
-
-#~ msgid "WARNING: SCSI command timed out (%d); retrying...\n"
-#~ msgstr "WARNING: Comando SCSI sem resposta (%d); a tentar de novo...\n"
-
-#~ msgid ""
-#~ "WARNING: This document does not conform to the Adobe Document Structuring "
-#~ "Conventions and may not print correctly!\n"
-#~ msgstr ""
-#~ "WARNING: Este documento não está de acordo com ADSC e pode não ser "
-#~ "impresso correctamente!\n"
-
-#~ msgid "WARNING: Unable to open \"%s:%s\": %s\n"
-#~ msgstr "WARNING: Não é possível abrir o ficheiro \"%s:%s\": %s\n"
-
-#~ msgid "WARNING: Unable to send PAP status request"
-#~ msgstr "WARNING: Não é possível enviar o pedido de estado PAP"
-
-#~ msgid "WARNING: Unexpected PAP packet of type %d\n"
-#~ msgstr "WARNING: Pacote PAP inesperado do tipo %d\n"
-
-#~ msgid "WARNING: Unknown PAP packet of type %d\n"
-#~ msgstr "WARNING: Pacote PAP desconhecido do tipo %d\n"
-
-#~ msgid "WARNING: Unknown choice \"%s\" for option \"%s\"!\n"
-#~ msgstr "WARNING: Escolha desconhecida \"%s\" para opção \"%s\"!\n"
-
-#~ msgid "WARNING: Unknown option \"%s\"!\n"
-#~ msgstr "WARNING: Opção desconhecida \"%s\"!\n"
-
-#~ msgid "WARNING: Unsupported baud rate %s!\n"
-#~ msgstr "WARNING: Taxa baud não suportada %s!\n"
-
-#~ msgid "WARNING: number expected for status option \"%s\"\n"
-#~ msgstr "WARNING: número esperado para opção status \"%s\"\n"
-
-#~ msgid ""
-#~ "WARNING: recoverable: Network host '%s' is busy; will retry in %d "
-#~ "seconds...\n"
-#~ msgstr ""
-#~ "WARNING: recuperável: host de rede '%s' ocupado; nova tentativa dentro de "
-#~ "%d segundos...\n"
-
-#~ msgid "Warning, no Windows 2000 printer drivers are installed!"
-#~ msgstr "Aviso, sem controladores de impressora Windows 2000 instalados!"
-
-#~ msgid "You4 Envelope"
-#~ msgstr "Envelope You4"
-
-#~ msgid "convert: Use the -f option to specify a file to convert.\n"
-#~ msgstr ""
-#~ "convert: Utilize a opção -f para especificar um ficheiro para converter.\n"
-
-#~ msgid "cupsaddsmb: No PPD file for printer \"%s\" - %s\n"
-#~ msgstr "cupsaddsmb: Sem ficheiro PPD para impressora \"%s\" - %s\n"
-
-#~ msgid "cupsctl: Unable to connect to server: %s\n"
-#~ msgstr "cupsctl: Não é possível ligar ao servidor: %s\n"
-
-#~ msgid "cupsctl: Unknown option \"%s\"!\n"
-#~ msgstr "cupsctl: Opção desconhecida \"%s\"!\n"
-
-#~ msgid "cupsctl: Unknown option \"-%c\"!\n"
-#~ msgstr "cupsctl: Opção desconhecida \"-%c\"!\n"
-
-#~ msgid "cupsd: Expected config filename after \"-c\" option!\n"
-#~ msgstr "cupsd: Nome de ficheiro config esperado após opção \"-c\"!\n"
-
-#~ msgid "cupsd: Unable to get current directory!\n"
-#~ msgstr "cupsd: Não é possível obter o directório actual!\n"
-
-#~ msgid "cupsd: Unknown argument \"%s\" - aborting!\n"
-#~ msgstr "cupsd: Argumento desconhecido \"%s\" - a interromper!\n"
-
-#~ msgid "cupsd: Unknown option \"%c\" - aborting!\n"
-#~ msgstr "cupsd: Opção desconhecida \"%c\" - a interromper!\n"
-
-#~ msgid "cupsd: launchd(8) support not compiled in, running in normal mode.\n"
-#~ msgstr "cupsd: suporte launchd(8) não compilado; execução em modo normal.\n"
-
-#~ msgid "cupsfilter: Invalid document number %d!\n"
-#~ msgstr "cupsfilter: Número de documento inválido %d!\n"
-
-#~ msgid "cupsfilter: Invalid job ID %d!\n"
-#~ msgstr "cupsfilter: ID de trabalho inválido %d!\n"
-
-#~ msgid "cupsfilter: Only one filename can be specified!\n"
-#~ msgstr "cupsfilter: Só pode ser especificado um nome de ficheiro!\n"
-
-#~ msgid "cupsfilter: Unable to create temporary file: %s\n"
-#~ msgstr "cupsfilter: Não é possível criar o ficheiro temporário: %s\n"
-
-#~ msgid "cupsfilter: Unable to get job file - %s\n"
-#~ msgstr "cupsfilter: Não é possível obter o ficheiro do trabalho - %s\n"
-
-#~ msgid "cupstestppd: The -q option is incompatible with the -v option.\n"
-#~ msgstr "cupstestppd: Opção -q incompatível com opção -v.\n"
-
-#~ msgid "cupstestppd: The -v option is incompatible with the -q option.\n"
-#~ msgstr "cupstestppd: Opção -v incompatível com opção -q.\n"
-
-#~ msgid "device for %s/%s: %s\n"
-#~ msgstr "periférico para %s/%s: %s\n"
-
-#~ msgid "device for %s: %s\n"
-#~ msgstr "periférico para %s: %s\n"
-
-#~ msgid "help\t\tget help on commands\n"
-#~ msgstr "help\t\tobter ajuda sobre comandos\n"
-
-#~ msgid "job-printer-uri attribute missing!"
-#~ msgstr "atributo job-printer-uri inexistente!"
-
-#~ msgid "lpadmin: Class name can only contain printable characters!\n"
-#~ msgstr "lpadmin: Nome de classe só pode ter caracteres imprimíveis!\n"
-
-#~ msgid "lpadmin: Expected PPD after '-P' option!\n"
-#~ msgstr "lpadmin: PPD esperado após opção '-P'!\n"
-
-#~ msgid "lpadmin: Expected allow/deny:userlist after '-u' option!\n"
-#~ msgstr ""
-#~ "lpadmin: Permitir/negar:lista de utilizadores esperado após opção '-u'!\n"
-
-#~ msgid "lpadmin: Expected class after '-r' option!\n"
-#~ msgstr "lpadmin: Classe esperada após opção '-r'!\n"
-
-#~ msgid "lpadmin: Expected class name after '-c' option!\n"
-#~ msgstr "lpadmin: Nome de classe esperado após opção '-c'!\n"
-
-#~ msgid "lpadmin: Expected description after '-D' option!\n"
-#~ msgstr "lpadmin: Descrição esperada após opção '-D'!\n"
-
-#~ msgid "lpadmin: Expected device URI after '-v' option!\n"
-#~ msgstr "lpadmin: URI de periférico esperado após opção '-v'!\n"
-
-#~ msgid "lpadmin: Expected file type(s) after '-I' option!\n"
-#~ msgstr "lpadmin: Tipo(s) de ficheiro esperados após opção '-I'!\n"
-
-#~ msgid "lpadmin: Expected hostname after '-h' option!\n"
-#~ msgstr "lpadmin: Nome de host esperado após opção '-h'!\n"
-
-#~ msgid "lpadmin: Expected interface after '-i' option!\n"
-#~ msgstr "lpadmin: Interface esperada após opção '-i'!\n"
-
-#~ msgid "lpadmin: Expected location after '-L' option!\n"
-#~ msgstr "lpadmin: Localização esperada após opção '-L'!\n"
-
-#~ msgid "lpadmin: Expected model after '-m' option!\n"
-#~ msgstr "lpadmin: Modelo esperado após opção '-m'!\n"
-
-#~ msgid "lpadmin: Expected name=value after '-o' option!\n"
-#~ msgstr "lpadmin: Nome=valor esperado após opção '-o'!\n"
-
-#~ msgid "lpadmin: Expected printer after '-p' option!\n"
-#~ msgstr "lpadmin: Impressora esperada após opção '-p'!\n"
-
-#~ msgid "lpadmin: Expected printer name after '-d' option!\n"
-#~ msgstr "lpadmin: Nome de impressora esperado após opção '-d'!\n"
-
-#~ msgid "lpadmin: Expected printer or class after '-x' option!\n"
-#~ msgstr "lpadmin: Impressora ou classe esperadas após opção '-x'!\n"
-
-#~ msgid "lpadmin: No member names were seen!\n"
-#~ msgstr "lpadmin: Sem nomes de membro detectados!\n"
-
-#~ msgid "lpadmin: Printer %s is already a member of class %s.\n"
-#~ msgstr "lpadmin: Impressora %s já é membro da classe %s.\n"
-
-#~ msgid "lpadmin: Printer %s is not a member of class %s.\n"
-#~ msgstr "lpadmin: Impressora %s não é membro da classe %s.\n"
-
-#~ msgid "lpadmin: Printer name can only contain printable characters!\n"
-#~ msgstr "lpadmin: Nome de impressora só pode ter caracteres imprimíveis!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to add a printer to the class:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Não é possível adicionar impressora à classe:\n"
-#~ "         Especifique primeiro um nome de impressora!\n"
-
-#~ msgid "lpadmin: Unable to connect to server: %s\n"
-#~ msgstr "lpadmin: Não é possível ligar ao servidor: %s\n"
-
-#~ msgid "lpadmin: Unable to create temporary file - %s\n"
-#~ msgstr "lpadmin: Não é possível criar o ficheiro temporário - %s\n"
-
-#~ msgid "lpadmin: Unable to create temporary file: %s\n"
-#~ msgstr "lpadmin: Não é possível criar o ficheiro temporário: %s\n"
-
-#~ msgid "lpadmin: Unable to open PPD file \"%s\" - %s\n"
-#~ msgstr "lpadmin: Não é possível abrir o ficheiro PPD \"%s\" - %s\n"
-
-#~ msgid "lpadmin: Unable to open file \"%s\": %s\n"
-#~ msgstr "lpadmin: Não é possível abrir o ficheiro \"%s\": %s\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to remove a printer from the class:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Não é possível remover a impressora da classe:\n"
-#~ "         Especifique primeiro um nome de impressora!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the PPD file:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Não é possível definir o ficheiro PPD:\n"
-#~ "         Especifique primeiro um nome de impressora!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the device URI:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Não é possível definir o URI do periférico:\n"
-#~ "         Especifique primeiro um nome de impressora!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the interface script or PPD file:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Não é possível definir o script de interface ou ficheiro PPD:\n"
-#~ "         Especifique primeiro um nome de impressora!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the interface script:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Não é possível definir o script de interface:\n"
-#~ "         Especifique primeiro um nome de impressora!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer description:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Não é possível definir a descrição da impressora:\n"
-#~ "         Especifique primeiro um nome de impressora!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer location:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Não é possível definir a localização da impressora:\n"
-#~ "         Especifique primeiro um nome de impressora!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer options:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Não é possível definir as opções da impressora:\n"
-#~ "         Especifique primeiro um nome de impressora!\n"
-
-#~ msgid "lpadmin: Unknown allow/deny option \"%s\"!\n"
-#~ msgstr "lpadmin: Opção permitir/negar desconhecida \"%s\"!\n"
-
-#~ msgid "lpadmin: Unknown argument '%s'!\n"
-#~ msgstr "lpadmin: Argumento desconhecido '%s'!\n"
-
-#~ msgid "lpadmin: Unknown option '%c'!\n"
-#~ msgstr "lpadmin: Opção desconhecida '%c'!\n"
-
-#~ msgid "lpadmin: Warning - content type list ignored!\n"
-#~ msgstr "lpadmin: Aviso - lista de tipo de conteúdo ignorada!\n"
-
-#~ msgid "lpinfo: Expected 1284 device ID string after --device-id!\n"
-#~ msgstr "lpinfo: Esperada cadeia ID de periférico 1284 após --device-id!\n"
-
-#~ msgid "lpinfo: Expected language after --language!\n"
-#~ msgstr "lpinfo: Esperado idioma após --language!\n"
-
-#~ msgid "lpinfo: Expected make and model after --make-and-model!\n"
-#~ msgstr "lpinfo: Esperados marca e modelo após --make-and-model!\n"
-
-#~ msgid "lpinfo: Expected product string after --product!\n"
-#~ msgstr "lpinfo: Esperada cadeia de produto após --product!\n"
-
-#~ msgid "lpinfo: Expected scheme list after --exclude-schemes!\n"
-#~ msgstr "lpinfo: Esperada lista de esquema após --exclude-schemes!\n"
-
-#~ msgid "lpinfo: Expected scheme list after --include-schemes!\n"
-#~ msgstr "lpinfo: Esperada lista de esquema após --include-schemes!\n"
-
-#~ msgid "lpinfo: Expected timeout after --timeout!\n"
-#~ msgstr "lpinfo: Esperado limite de tempo excedido após --timeout!\n"
-
-#~ msgid "lpinfo: Unknown argument '%s'!\n"
-#~ msgstr "lpinfo: Argumento desconhecido '%s'!\n"
-
-#~ msgid "lpinfo: Unknown option '%c'!\n"
-#~ msgstr "lpinfo: Opção desconhecida '%c'!\n"
-
-#~ msgid "lpinfo: Unknown option '%s'!\n"
-#~ msgstr "lpinfo: Opção desconhecida '%s'!\n"
-
-#~ msgid "lpmove: Unable to connect to server: %s\n"
-#~ msgstr "lpmove: Não é possível ligar ao servidor: %s\n"
-
-#~ msgid "lpmove: Unknown argument '%s'!\n"
-#~ msgstr "lpmove: Argumento desconhecido '%s'!\n"
-
-#~ msgid "lpmove: Unknown option '%c'!\n"
-#~ msgstr "lpmove: Opção desconhecida '%c'!\n"
-
-#~ msgid "lpoptions: No printers!?!\n"
-#~ msgstr "lpoptions: Sem impressoras!?!\n"
-
-#~ msgid "lpoptions: Unable to add printer or instance: %s\n"
-#~ msgstr "lpoptions: Não é possível adicionar impressora ou instância: %s\n"
-
-#~ msgid "lpoptions: Unable to get PPD file for %s: %s\n"
-#~ msgstr "lpoptions: Não é possível obter o ficheiro PPD para %s: %s\n"
-
-#~ msgid "lpoptions: Unable to open PPD file for %s!\n"
-#~ msgstr "lpoptions: Não é possível abrir o ficheiro PPD para %s!\n"
-
-#~ msgid "lpoptions: Unknown printer or class!\n"
-#~ msgstr "lpoptions: Impressora ou classe desconhecidas!\n"
-
-#~ msgid "lppasswd: Only root can add or delete passwords!\n"
-#~ msgstr "lppasswd: Só raiz pode adicionar ou apagar palavras-passe!\n"
-
-#~ msgid "lppasswd: Password file busy!\n"
-#~ msgstr "lppasswd: Ficheiro de palavra-passe ocupado!\n"
-
-#~ msgid "lppasswd: Password file not updated!\n"
-#~ msgstr "lppasswd: Ficheiro de palavra-passe não actualizado!\n"
-
-#~ msgid "lppasswd: Sorry, password doesn't match!\n"
-#~ msgstr "lppasswd: Palavra-passe não corresponde!\n"
-
-#~ msgid ""
-#~ "lppasswd: Sorry, password rejected.\n"
-#~ "Your password must be at least 6 characters long, cannot contain\n"
-#~ "your username, and must contain at least one letter and number.\n"
-#~ msgstr ""
-#~ "lppasswd: Palavra-passe rejeitada.\n"
-#~ "A palavra-passe deve ter o mínimo de 6 caracteres, sem conter\n"
-#~ "o nome de utilizador, e deve ter pelo menos uma letra e um número.\n"
-
-#~ msgid "lppasswd: Sorry, passwords don't match!\n"
-#~ msgstr "lppasswd: Palavras-passe não correspondem!\n"
-
-#~ msgid "lppasswd: Unable to copy password string: %s\n"
-#~ msgstr "lppasswd: Não é possível copiar a cadeia de palavra-passe: %s\n"
-
-#~ msgid "lppasswd: Unable to open password file: %s\n"
-#~ msgstr "lppasswd: Não é possível abrir o ficheiro de palavra-passe: %s\n"
-
-#~ msgid "lppasswd: Unable to write to password file: %s\n"
-#~ msgstr ""
-#~ "lppasswd: Não é possível escrever no ficheiro de palavra-passe: %s\n"
-
-#~ msgid "lppasswd: failed to backup old password file: %s\n"
-#~ msgstr ""
-#~ "lppasswd: falha ao efectuar cópia de segurança de ficheiro de palavra-"
-#~ "passe antigo: %s\n"
-
-#~ msgid "lppasswd: failed to rename password file: %s\n"
-#~ msgstr "lppasswd: falha ao alterar nome de ficheiro de palavra-passe: %s\n"
-
-#~ msgid "lppasswd: user \"%s\" and group \"%s\" do not exist.\n"
-#~ msgstr "lppasswd: utilizador \"%s\" e grupo \"%s\" não existem.\n"
-
-#~ msgid ""
-#~ "lpstat: error - %s environment variable names non-existent destination \"%"
-#~ "s\"!\n"
-#~ msgstr ""
-#~ "lpstat: erro - nomes de variáveis de ambiente %s inexistentes no destino "
-#~ "\"%s\"!\n"
-
-#~ msgid "members of class %s:\n"
-#~ msgstr "membros da classe %s:\n"
-
-#~ msgid "no entries\n"
-#~ msgstr "sem entradas\n"
-
-#~ msgid "no system default destination\n"
-#~ msgstr "sem destino predefinido de sistema\n"
-
-#~ msgid "notify-events not specified!"
-#~ msgstr "notify-events não especificados!"
-
-#~ msgid "notify-recipient-uri URI \"%s\" is already used!"
-#~ msgstr "notify-recipient-uri URI \"%s\" já está em utilização!"
-
-#~ msgid "notify-recipient-uri URI \"%s\" uses unknown scheme!"
-#~ msgstr "notify-recipient-uri URI \"%s\" utiliza esquema desconhecido!"
-
-#~ msgid "notify-subscription-id %d no good!"
-#~ msgstr "notify-subscription-id %d incorrecto!"
-
-#~ msgid "ppdc: Adding include directory \"%s\"...\n"
-#~ msgstr "ppdc: A adicionar incluir directório \"%s\"...\n"
-
-#~ msgid "ppdc: Adding/updating UI text from %s...\n"
-#~ msgstr "ppdc: A adicionar/actualizar texto UI de %s...\n"
-
-#~ msgid "ppdc: Bad boolean value (%s) on line %d of %s.\n"
-#~ msgstr "ppdc: Valor boolean inválido (%s) na linha %d de %s.\n"
-
-#~ msgid "ppdc: Bad resolution name \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Nome de resolução inválido \"%s\" na linha %d de %s!\n"
-
-#~ msgid "ppdc: Bad status keyword %s on line %d of %s!\n"
-#~ msgstr "ppdc: Palavra-chave de estado inválida %s na linha %d de %s!\n"
-
-#~ msgid "ppdc: Bad variable substitution ($%c) on line %d of %s.\n"
-#~ msgstr "ppdc: Substituição de variável inválida ($%c) na linha %d de %s.\n"
-
-#~ msgid "ppdc: Choice found on line %d of %s with no Option!\n"
-#~ msgstr "ppdc: Encontrada escolha na linha %d de %s sem Opção!\n"
-
-#~ msgid "ppdc: Duplicate #po for locale %s on line %d of %s!\n"
-#~ msgstr "ppdc: Duplicar #po para o locale %s na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected a filter definition on line %d of %s!\n"
-#~ msgstr "ppdc: Esperada uma definição de filtro na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected a program name on line %d of %s!\n"
-#~ msgstr "ppdc: Esperado um nome de programa na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected boolean value on line %d of %s.\n"
-#~ msgstr "ppdc: Esperado valor boolean na linha %d de %s.\n"
-
-#~ msgid "ppdc: Expected charset after Font on line %d of %s!\n"
-#~ msgstr "ppdc: Esperado charset após Tipo de Letra na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected choice code on line %d of %s.\n"
-#~ msgstr "ppdc: Esperado código de escolha na linha %d de %s.\n"
-
-#~ msgid "ppdc: Expected choice name/text on line %d of %s.\n"
-#~ msgstr "ppdc: Esperado nome/texto de escolha na linha %d de %s.\n"
-
-#~ msgid "ppdc: Expected color order for ColorModel on line %d of %s!\n"
-#~ msgstr "ppdc: Esperada ordem de cor para ColorModel na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected colorspace for ColorModel on line %d of %s!\n"
-#~ msgstr "ppdc: Esperado espaço de cor para ColorModel na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected compression for ColorModel on line %d of %s!\n"
-#~ msgstr "ppdc: Esperada compressão para ColorModel na linha %d de %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected constraints string for UIConstraints on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Esperada cadeia de restrições para UIConstraints na linha %d de %"
-#~ "s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected driver type keyword following DriverType on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc: Esperada palavra-chave do tipo de controlador após DriverType na "
-#~ "linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected duplex type after Duplex on line %d of %s!\n"
-#~ msgstr "ppdc: Esperado tipo duplex após Duplex na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected encoding after Font on line %d of %s!\n"
-#~ msgstr "ppdc: Esperada codificação após Tipo de Letra na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected filename after #po %s on line %d of %s!\n"
-#~ msgstr "ppdc: Esperado nome de ficheiro após #po %s na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected group name/text on line %d of %s!\n"
-#~ msgstr "ppdc: Esperado nome/texto de grupo na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected include filename on line %d of %s!\n"
-#~ msgstr "ppdc: Esperado incluir nome de ficheiro na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected integer on line %d of %s!\n"
-#~ msgstr "ppdc: Esperado número inteiro na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected locale after #po on line %d of %s!\n"
-#~ msgstr "ppdc: Esperado locale após #po na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected name after %s on line %d of %s!\n"
-#~ msgstr "ppdc: Esperado nome após %s na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected name after FileName on line %d of %s!\n"
-#~ msgstr "ppdc: Esperado nome após FileName na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected name after Font on line %d of %s!\n"
-#~ msgstr "ppdc: Esperado nome após Tipo de Letra na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected name after Manufacturer on line %d of %s!\n"
-#~ msgstr "ppdc: Esperado nome após Fabricante na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected name after MediaSize on line %d of %s!\n"
-#~ msgstr "ppdc: Esperado nome após MediaSize na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected name after ModelName on line %d of %s!\n"
-#~ msgstr "ppdc: Esperado nome após ModelName na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected name after PCFileName on line %d of %s!\n"
-#~ msgstr "ppdc: Esperado nome após PCFileName na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected name/text after %s on line %d of %s!\n"
-#~ msgstr "ppdc: Esperado nome/texto após %s na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected name/text after Installable on line %d of %s!\n"
-#~ msgstr "ppdc: Esperado nome/texto após Instalável na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected name/text after Resolution on line %d of %s!\n"
-#~ msgstr "ppdc: Esperado nome/texto após Resolução na linha %d de %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected name/text combination for ColorModel on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Esperada combinação nome/texto para ColorModel na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected option name/text on line %d of %s!\n"
-#~ msgstr "ppdc: Esperado nome/texto da opção na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected option section on line %d of %s!\n"
-#~ msgstr "ppdc: Esperada secção de opção na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected option type on line %d of %s!\n"
-#~ msgstr "ppdc: Esperado tipo de opção na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected override field after Resolution on line %d of %s!\n"
-#~ msgstr "ppdc: Esperado substituir campo após Resolução na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected real number on line %d of %s!\n"
-#~ msgstr "ppdc: Esperado número real na linha %d de %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected resolution/mediatype following ColorProfile on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc: Esperada resolução/tipo de suporte após ColorProfile na linha %d de "
-#~ "%s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected resolution/mediatype following SimpleColorProfile on line %"
-#~ "d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Esperada resolução/tipo de suporte após SimpleColorProfile na linha "
-#~ "%d de %s!\n"
-
-#~ msgid "ppdc: Expected selector after %s on line %d of %s!\n"
-#~ msgstr "ppdc: Esperado selector após %s na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected status after Font on line %d of %s!\n"
-#~ msgstr "ppdc: Esperado estado Tipo de Letra na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected string after Copyright on line %d of %s!\n"
-#~ msgstr "ppdc: Esperada cadeia após Copyright na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected string after Version on line %d of %s!\n"
-#~ msgstr "ppdc: Esperada cadeia após Versão na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected two option names on line %d of %s!\n"
-#~ msgstr "ppdc: Esperados dois nomes de opção na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected value after %s on line %d of %s!\n"
-#~ msgstr "ppdc: Esperado valor após %s na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected version after Font on line %d of %s!\n"
-#~ msgstr "ppdc: Esperada versão após Tipo de Letra na linha %d de %s!\n"
-
-#~ msgid "ppdc: Invalid #include/#po filename \"%s\"!\n"
-#~ msgstr "ppdc: Nome de ficheiro #include/#po inválido \"%s\"!\n"
-
-#~ msgid "ppdc: Invalid cost for filter on line %d of %s!\n"
-#~ msgstr "ppdc: Custo inválido de filtro na linha %d de %s!\n"
-
-#~ msgid "ppdc: Invalid empty MIME type for filter on line %d of %s!\n"
-#~ msgstr "ppdc: Tipo MIME vazio inválido de filtro na linha %d de %s!\n"
-
-#~ msgid "ppdc: Invalid empty program name for filter on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Nome de programa vazio inválido de filtro na linha %d de %s!\n"
-
-#~ msgid "ppdc: Invalid option section \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Secção de opção inválida \"%s\" na linha %d de %s!\n"
-
-#~ msgid "ppdc: Invalid option type \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Tipo de opção inválido \"%s\" na linha %d de %s!\n"
-
-#~ msgid "ppdc: Loading driver information file \"%s\"...\n"
-#~ msgstr "ppdc: A carregar ficheiro de informação de controlador \"%s\"...\n"
-
-#~ msgid "ppdc: Loading messages for locale \"%s\"...\n"
-#~ msgstr "ppdc: A carregar mensagens do locale \"%s\"...\n"
-
-#~ msgid "ppdc: Loading messages from \"%s\"...\n"
-#~ msgstr "ppdc: A carregar mensagens de \"%s\"...\n"
-
-#~ msgid "ppdc: Missing #endif at end of \"%s\"!\n"
-#~ msgstr "ppdc: #endif inexistente no final de \"%s\"!\n"
-
-#~ msgid "ppdc: Missing #if on line %d of %s!\n"
-#~ msgstr "ppdc: #if inexistente na linha %d de %s!\n"
-
-#~ msgid "ppdc: No message catalog provided for locale %s!\n"
-#~ msgstr ""
-#~ "ppdc: Não foi fornecido qualquer catálogo de mensagem para o locale %s!\n"
-
-#~ msgid "ppdc: Option %s redefined with a different type on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Opção %s redefinida com um tipo diferente na linha %d de %s!\n"
-
-#~ msgid "ppdc: Option constraint must *name on line %d of %s!\n"
-#~ msgstr "ppdc: Restrição de opção tem *name na linha %d de %s!\n"
-
-#~ msgid "ppdc: Too many nested #if's on line %d of %s!\n"
-#~ msgstr "ppdc: Demasiados #if aninhados na linha %d de %s!\n"
-
-#~ msgid "ppdc: Unable to create PPD file \"%s\" - %s.\n"
-#~ msgstr "ppdc: Não é possível criar o ficheiro PPD \"%s\" - %s.\n"
-
-#~ msgid "ppdc: Unable to create output directory %s: %s\n"
-#~ msgstr "ppdc: Não é possível criar o directório de saída %s: %s\n"
-
-#~ msgid "ppdc: Unable to create output pipes: %s\n"
-#~ msgstr "ppdc: Não é possível criar dutos de saída de dados: %s\n"
-
-#~ msgid "ppdc: Unable to execute cupstestppd: %s\n"
-#~ msgstr "ppdc: Não é possível executar cupstestppd: %s\n"
-
-#~ msgid "ppdc: Unable to find #po file %s on line %d of %s!\n"
-#~ msgstr "ppdc: Não é possível encontrar #po ficheiro %s na linha %d de %s!\n"
-
-#~ msgid "ppdc: Unable to find include file \"%s\" on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Não é possível encontrar incluir ficheiro \"%s\" na linha %d de %"
-#~ "s!\n"
-
-#~ msgid "ppdc: Unable to find localization for \"%s\" - %s\n"
-#~ msgstr "ppdc: Não é possível encontrar a localização de \"%s\" - %s\n"
-
-#~ msgid "ppdc: Unable to load localization file \"%s\" - %s\n"
-#~ msgstr ""
-#~ "ppdc: Não é possível carregar o ficheiro de localização \"%s\" - %s\n"
-
-#~ msgid "ppdc: Undefined variable (%s) on line %d of %s.\n"
-#~ msgstr "ppdc: Variável indefinida (%s) na linha %d de %s.\n"
-
-#~ msgid "ppdc: Unknown driver type %s on line %d of %s!\n"
-#~ msgstr "ppdc: Tipo de controlador desconhecido %s na linha %d de %s!\n"
-
-#~ msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Tipo de duplex desconhecido \"%s\" na linha %d de %s!\n"
-
-#~ msgid "ppdc: Unknown media size \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Tamanho de suporte desconhecido \"%s\" na linha %d de %s!\n"
-
-#~ msgid "ppdc: Unknown token \"%s\" seen on line %d of %s!\n"
-#~ msgstr "ppdc: Token desconhecido \"%s\" visto na linha %d de %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Unknown trailing characters in real number \"%s\" on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc: Caracteres de controlo desconhecidos no número real \"%s\" na linha "
-#~ "%d de %s!\n"
-
-#~ msgid "ppdc: Unterminated string starting with %c on line %d of %s!\n"
-#~ msgstr "ppdc: Cadeia não terminada começando por %c na linha %d de %s!\n"
-
-#~ msgid "ppdc: Writing %s...\n"
-#~ msgstr "ppdc: A escrever %s...\n"
-
-#~ msgid "ppdc: Writing PPD files to directory \"%s\"...\n"
-#~ msgstr "ppdc: A escrever ficheiros PPD no directório \"%s\"...\n"
-
-#~ msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s!\n"
-#~ msgstr "ppdmerge: LanguageVersion inválida \"%s\" em %s!\n"
-
-#~ msgid "ppdmerge: Ignoring PPD file %s...\n"
-#~ msgstr "ppdmerge: A ignorar o ficheiro PPD %s...\n"
-
-#~ msgid "ppdmerge: Unable to backup %s to %s- %s\n"
-#~ msgstr ""
-#~ "ppdmerge: Não é possível efectuar a cópia de segurança %s em %s- %s\n"
-
-#~ msgid "printer %s disabled since %s -\n"
-#~ msgstr "impressora %s desactivada desde %s -\n"
-
-#~ msgid "printer %s is idle.  enabled since %s\n"
-#~ msgstr "impressora %s inactiva.  activada desde %s\n"
-
-#~ msgid "printer %s now printing %s-%d.  enabled since %s\n"
-#~ msgstr "impressora %s agora a imprimir %s-%d.  activada desde %s\n"
-
-#~ msgid "printer %s/%s disabled since %s -\n"
-#~ msgstr "impressora %s/%s desactivada desde %s -\n"
-
-#~ msgid "printer %s/%s is idle.  enabled since %s\n"
-#~ msgstr "impressora %s/%s inactiva.  activada desde %s\n"
-
-#~ msgid "printer %s/%s now printing %s-%d.  enabled since %s\n"
-#~ msgstr "impressora %s/%s agora a imprimir %s-%d.  activada desde %s\n"
-
-#~ msgid "request id is %s-%d (%d file(s))\n"
-#~ msgstr "id de pedido é %s-%d (%d ficheiro(s))\n"
-
-#~ msgid "scheduler is not running\n"
-#~ msgstr "programador não está em execução\n"
-
-#~ msgid "scheduler is running\n"
-#~ msgstr "programador em execução\n"
-
-#~ msgid "status\t\tshow status of daemon and queue\n"
-#~ msgstr "status\t\tmostra estado de daemon e fila\n"
-
-#~ msgid "system default destination: %s\n"
-#~ msgstr "destino predefinido de sistema: %s\n"
-
-#~ msgid "system default destination: %s/%s\n"
-#~ msgstr "destino predefinido de sistema: %s/%s\n"
diff --git a/locale/cups_pt_BR.po b/locale/cups_pt_BR.po
deleted file mode 100644 (file)
index 3df237e..0000000
+++ /dev/null
@@ -1,8742 +0,0 @@
-msgid ""
-msgstr ""
-"Project-Id-Version: CUPS 1.4\n"
-"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2012-03-07 13:38-0800\n"
-"PO-Revision-Date: 2011-12-20 13:04-0200\n"
-"Last-Translator: Apple Inc.\n"
-"Language-Team: Apple Inc.\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: \n"
-
-msgid "\t\t(all)"
-msgstr ""
-
-msgid "\t\t(none)"
-msgstr ""
-
-#, c-format
-msgid "\t%d entries"
-msgstr ""
-
-#, c-format
-msgid "\t%s"
-msgstr ""
-
-msgid "\tAfter fault: continue"
-msgstr ""
-
-#, c-format
-msgid "\tAlerts: %s"
-msgstr ""
-
-msgid "\tBanner required"
-msgstr ""
-
-msgid "\tCharset sets:"
-msgstr ""
-
-msgid "\tConnection: direct"
-msgstr ""
-
-msgid "\tConnection: remote"
-msgstr ""
-
-msgid "\tContent types: any"
-msgstr ""
-
-msgid "\tDefault page size:"
-msgstr ""
-
-msgid "\tDefault pitch:"
-msgstr ""
-
-msgid "\tDefault port settings:"
-msgstr ""
-
-#, c-format
-msgid "\tDescription: %s"
-msgstr ""
-
-msgid "\tForm mounted:"
-msgstr ""
-
-msgid "\tForms allowed:"
-msgstr ""
-
-#, c-format
-msgid "\tInterface: %s.ppd"
-msgstr ""
-
-#, c-format
-msgid "\tInterface: %s/interfaces/%s"
-msgstr ""
-
-#, c-format
-msgid "\tInterface: %s/ppd/%s.ppd"
-msgstr ""
-
-#, c-format
-msgid "\tLocation: %s"
-msgstr ""
-
-msgid "\tOn fault: no alert"
-msgstr ""
-
-msgid "\tPrinter types: unknown"
-msgstr ""
-
-#, c-format
-msgid "\tStatus: %s"
-msgstr ""
-
-msgid "\tUsers allowed:"
-msgstr ""
-
-msgid "\tUsers denied:"
-msgstr ""
-
-msgid "\tdaemon present"
-msgstr ""
-
-msgid "\tno entries"
-msgstr ""
-
-#, c-format
-msgid "\tprinter is on device '%s' speed -1"
-msgstr ""
-
-msgid "\tprinting is disabled"
-msgstr ""
-
-msgid "\tprinting is enabled"
-msgstr ""
-
-#, c-format
-msgid "\tqueued for %s"
-msgstr ""
-
-msgid "\tqueuing is disabled"
-msgstr ""
-
-msgid "\tqueuing is enabled"
-msgstr ""
-
-msgid "\treason unknown"
-msgstr ""
-
-msgid ""
-"\n"
-"    DETAILED CONFORMANCE TEST RESULTS"
-msgstr ""
-
-msgid "                          Ignore specific warnings."
-msgstr ""
-
-msgid "                          Issue warnings instead of errors."
-msgstr ""
-
-msgid "                REF: Page 15, section 3.1."
-msgstr ""
-
-msgid "                REF: Page 15, section 3.2."
-msgstr ""
-
-msgid "                REF: Page 19, section 3.3."
-msgstr ""
-
-msgid "                REF: Page 20, section 3.4."
-msgstr ""
-
-msgid "                REF: Page 27, section 3.5."
-msgstr ""
-
-msgid "                REF: Page 42, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 16-17, section 3.2."
-msgstr ""
-
-msgid "                REF: Pages 42-45, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 45-46, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 48-49, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 52-54, section 5.2."
-msgstr ""
-
-#, c-format
-msgid "        %-39.39s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "        PASS    Default%s"
-msgstr ""
-
-msgid "        PASS    DefaultImageableArea"
-msgstr ""
-
-msgid "        PASS    DefaultPaperDimension"
-msgstr ""
-
-msgid "        PASS    FileVersion"
-msgstr ""
-
-msgid "        PASS    FormatVersion"
-msgstr ""
-
-msgid "        PASS    LanguageEncoding"
-msgstr ""
-
-msgid "        PASS    LanguageVersion"
-msgstr ""
-
-msgid "        PASS    Manufacturer"
-msgstr ""
-
-msgid "        PASS    ModelName"
-msgstr ""
-
-msgid "        PASS    NickName"
-msgstr ""
-
-msgid "        PASS    PCFileName"
-msgstr ""
-
-msgid "        PASS    PSVersion"
-msgstr ""
-
-msgid "        PASS    PageRegion"
-msgstr ""
-
-msgid "        PASS    PageSize"
-msgstr ""
-
-msgid "        PASS    Product"
-msgstr ""
-
-msgid "        PASS    ShortNickName"
-msgstr ""
-
-#, c-format
-msgid "        WARN    %s has no corresponding options."
-msgstr ""
-
-#, c-format
-msgid ""
-"        WARN    %s shares a common prefix with %s\n"
-"                REF: Page 15, section 3.2."
-msgstr ""
-
-#, c-format
-msgid ""
-"        WARN    Duplex option keyword %s may not work as expected and should "
-"be named Duplex.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-
-msgid "        WARN    File contains a mix of CR, LF, and CR LF line endings."
-msgstr ""
-
-msgid ""
-"        WARN    LanguageEncoding required by PPD 4.3 spec.\n"
-"                REF: Pages 56-57, section 5.3."
-msgstr ""
-
-#, c-format
-msgid "        WARN    Line %d only contains whitespace."
-msgstr ""
-
-msgid ""
-"        WARN    Manufacturer required by PPD 4.3 spec.\n"
-"                REF: Pages 58-59, section 5.3."
-msgstr ""
-
-msgid ""
-"        WARN    Non-Windows PPD files should use lines ending with only LF, "
-"not CR LF."
-msgstr ""
-
-#, c-format
-msgid ""
-"        WARN    Obsolete PPD version %.1f.\n"
-"                REF: Page 42, section 5.2."
-msgstr ""
-
-msgid ""
-"        WARN    PCFileName longer than 8.3 in violation of PPD spec.\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-
-msgid ""
-"        WARN    PCFileName should contain a unique filename.\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-
-msgid ""
-"        WARN    Protocols contains PJL but JCL attributes are not set.\n"
-"                REF: Pages 78-79, section 5.7."
-msgstr ""
-
-msgid ""
-"        WARN    Protocols contains both PJL and BCP; expected TBCP.\n"
-"                REF: Pages 78-79, section 5.7."
-msgstr ""
-
-msgid ""
-"        WARN    ShortNickName required by PPD 4.3 spec.\n"
-"                REF: Pages 64-65, section 5.3."
-msgstr ""
-
-msgid "       cupsaddsmb [options] -a"
-msgstr ""
-
-msgid "       cupstestdsc [options] -"
-msgstr ""
-
-msgid "       program | cupstestppd [options] -"
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  \"%s %s\" conflicts with \"%s %s\"\n"
-"                (constraint=\"%s %s %s %s\")."
-msgstr ""
-
-#, c-format
-msgid "      %s  %s %s does not exist."
-msgstr ""
-
-#, c-format
-msgid "      %s  %s file \"%s\" has the wrong capitalization."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  Bad %s choice %s.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsFilter value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsFilter2 value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsICCProfile %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsPreFilter value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsUIConstraints %s: \"%s\""
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad language \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad permissions on %s file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad spelling of %s - should be %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Cannot provide both APScanAppPath and APScanAppBundleID."
-msgstr ""
-
-#, c-format
-msgid "      %s  Default choices conflicting."
-msgstr ""
-
-#, c-format
-msgid "      %s  Empty cupsUIConstraints %s"
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing \"%s\" translation string for option %s, choice %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing \"%s\" translation string for option %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing %s file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  Missing REQUIRED PageRegion option.\n"
-"                REF: Page 100, section 5.14."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  Missing REQUIRED PageSize option.\n"
-"                REF: Page 99, section 5.14."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\""
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing cupsUIResolver %s"
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing option %s in cupsUIConstraints %s: \"%s\""
-msgstr ""
-
-#, c-format
-msgid "      %s  No base translation \"%s\" is included in file."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  REQUIRED %s does not define choice None.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" defined for %s but not for %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" has unexpected dimensions (%gx%g)."
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" should be \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" should be the Adobe standard name \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  cupsICCProfile %s hash value collides with %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  cupsUIResolver %s causes a loop."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  cupsUIResolver %s does not list at least two different options."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  %s choice names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  %s must be 1284DeviceID\n"
-"                REF: Page 72, section 5.5"
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD Default%s %s\n"
-"                REF: Page 40, section 4.5."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD DefaultImageableArea %s\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD DefaultPaperDimension %s\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD JobPatchFile attribute in file\n"
-"                REF: Page 24, section 3.4."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD Manufacturer (should be \"HP\")\n"
-"                REF: Page 211, table D.1."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD Manufacturer (should be \"Oki\")\n"
-"                REF: Page 211, table D.1."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n"
-"                REF: Pages 59-60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD PSVersion - not \"(string) int\".\n"
-"                REF: Pages 62-64, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD Product - not \"(string)\".\n"
-"                REF: Page 62, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD ShortNickName - longer than 31 chars.\n"
-"                REF: Pages 64-65, section 5.3."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad %s choice %s\n"
-"                REF: Page 84, section 5.9"
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad FileVersion \"%s\"\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad FormatVersion \"%s\"\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Bad LanguageVersion %s - must be English."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Default option code cannot be interpreted: %s"
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Default translation string for option %s choice %s contains "
-"8-bit characters."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Default translation string for option %s contains 8-bit "
-"characters."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Group names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Multiple occurrences of %s choice name %s."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Option names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED Default%s\n"
-"                REF: Page 40, section 4.5."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED DefaultImageableArea\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED DefaultPaperDimension\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED FileVersion\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED FormatVersion\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED ImageableArea for PageSize %s\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED LanguageEncoding\n"
-"                REF: Pages 56-57, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED LanguageVersion\n"
-"                REF: Pages 57-58, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED Manufacturer\n"
-"                REF: Pages 58-59, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED ModelName\n"
-"                REF: Pages 59-60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED NickName\n"
-"                REF: Page 60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PCFileName\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PSVersion\n"
-"                REF: Pages 62-64, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PageRegion\n"
-"                REF: Page 100, section 5.14."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PageSize\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 99, section 5.14."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PageSize\n"
-"                REF: Pages 99-100, section 5.14."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED PaperDimension for PageSize %s\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED Product\n"
-"                REF: Page 62, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED ShortNickName\n"
-"                REF: Page 64-65, section 5.3."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Unable to open PPD file - %s"
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Unable to open PPD file - %s on line %d."
-msgstr ""
-
-#, c-format
-msgid "    %d ERRORS FOUND"
-msgstr ""
-
-msgid "    -h       Show program usage"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Bad %%%%BoundingBox: on line %d.\n"
-"        REF: Page 39, %%%%BoundingBox:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Bad %%%%Page: on line %d.\n"
-"        REF: Page 53, %%%%Page:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Bad %%%%Pages: on line %d.\n"
-"        REF: Page 43, %%%%Pages:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Line %d is longer than 255 characters (%d).\n"
-"        REF: Page 25, Line Length"
-msgstr ""
-
-msgid ""
-"    Missing %!PS-Adobe-3.0 on first line.\n"
-"        REF: Page 17, 3.1 Conforming Documents"
-msgstr ""
-
-#, c-format
-msgid "    Missing %%EndComments comment.        REF: Page 41, %%EndComments"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Missing or bad %%BoundingBox: comment.\n"
-"        REF: Page 39, %%BoundingBox:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Missing or bad %%Page: comments.\n"
-"        REF: Page 53, %%Page:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Missing or bad %%Pages: comment.\n"
-"        REF: Page 43, %%Pages:"
-msgstr ""
-
-msgid "    NO ERRORS FOUND"
-msgstr ""
-
-#, c-format
-msgid "    Saw %d lines that exceeded 255 characters."
-msgstr ""
-
-#, c-format
-msgid "    Too many %%BeginDocument comments."
-msgstr ""
-
-#, c-format
-msgid "    Too many %%EndDocument comments."
-msgstr ""
-
-msgid "    Warning: file contains binary data."
-msgstr ""
-
-#, c-format
-msgid "    Warning: no %%EndComments comment in file."
-msgstr ""
-
-#, c-format
-msgid "    Warning: obsolete DSC version %.1f in file."
-msgstr ""
-
-msgid "  --[no-]debug-logging    Turn debug logging on/off."
-msgstr ""
-
-msgid "  --[no-]remote-admin     Turn remote administration on/off."
-msgstr ""
-
-msgid "  --[no-]remote-any       Allow/prevent access from the Internet."
-msgstr ""
-
-msgid "  --[no-]remote-printers  Show/hide remote printers."
-msgstr ""
-
-msgid "  --[no-]share-printers   Turn printer sharing on/off."
-msgstr ""
-
-msgid "  --[no-]user-cancel-any  Allow/prevent users to cancel any job."
-msgstr ""
-
-msgid "  --cr                    End lines with CR (Mac OS 9)."
-msgstr ""
-
-msgid "  --crlf                  End lines with CR + LF (Windows)."
-msgstr ""
-
-msgid "  --lf                    End lines with LF (UNIX/Linux/Mac OS X)."
-msgstr ""
-
-msgid "  -4                      Connect using IPv4."
-msgstr ""
-
-msgid "  -6                      Connect using IPv6."
-msgstr ""
-
-msgid "  -C                      Send requests using chunking (default)."
-msgstr ""
-
-msgid "  -D                      Remove the input file when finished."
-msgstr ""
-
-msgid "  -D name=value           Set named variable to value."
-msgstr ""
-
-msgid "  -E                      Enable encryption."
-msgstr ""
-
-msgid "  -E                      Encrypt the connection to the server."
-msgstr ""
-
-msgid "  -E                      Test with TLS encryption."
-msgstr ""
-
-msgid ""
-"  -F                      Run in the foreground but detach from console."
-msgstr ""
-
-msgid "  -H samba-server         Use the named SAMBA server."
-msgstr ""
-
-msgid "  -I                      Ignore errors."
-msgstr ""
-
-msgid "  -I include-dir          Add include directory to search path."
-msgstr ""
-
-msgid "  -I {filename,filters,none,profiles}"
-msgstr ""
-
-msgid "  -J title                Set title."
-msgstr ""
-
-msgid "  -L                      Send requests using content-length."
-msgstr ""
-
-msgid "  -P filename.ppd         Set PPD file."
-msgstr ""
-
-msgid "  -R root-directory       Set alternate root."
-msgstr ""
-
-msgid "  -S                      Test with SSL encryption."
-msgstr ""
-
-msgid "  -T                      Set the receive/send timeout in seconds."
-msgstr ""
-
-msgid "  -U samba-user           Authenticate using the named SAMBA user."
-msgstr ""
-
-msgid "  -U username             Set username for job."
-msgstr ""
-
-msgid "  -U username             Specify username."
-msgstr ""
-
-msgid "  -V version              Set default IPP version."
-msgstr ""
-
-msgid ""
-"  -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,"
-"translations}"
-msgstr ""
-
-msgid "  -X                      Produce XML plist instead of plain text."
-msgstr ""
-
-msgid "  -a                      Export all printers."
-msgstr ""
-
-msgid "  -a 'name=value ...'     Set option(s)."
-msgstr ""
-
-msgid "  -c catalog.po           Load the specified message catalog."
-msgstr ""
-
-msgid "  -c config-file          Load alternate configuration file."
-msgstr ""
-
-msgid "  -c copies               Set number of copies."
-msgstr ""
-
-msgid "  -c cupsd.conf           Set cupsd.conf file to use."
-msgstr ""
-
-msgid "  -d name=value           Set named variable to value."
-msgstr ""
-
-msgid "  -d output-dir           Specify the output directory."
-msgstr ""
-
-msgid "  -d printer              Use the named printer."
-msgstr ""
-
-msgid "  -e                      Use every filter from the PPD file."
-msgstr ""
-
-msgid "  -f                      Run in the foreground."
-msgstr ""
-
-msgid "  -f filename             Set default request filename."
-msgstr ""
-
-msgid "  -f filename             Set file to be converted (otherwise stdin)."
-msgstr ""
-
-msgid "  -h                      Show this usage message."
-msgstr ""
-
-msgid "  -h cups-server          Use the named CUPS server."
-msgstr ""
-
-msgid "  -h server[:port]        Specify server address."
-msgstr ""
-
-msgid "  -i mime/type            Set input MIME type (otherwise auto-typed)."
-msgstr ""
-
-msgid ""
-"  -i seconds              Repeat the last file with the given time interval."
-msgstr ""
-
-msgid ""
-"  -j job-id[,N]           Filter file N from the specified job (default is "
-"file 1)."
-msgstr ""
-
-msgid ""
-"  -j mime/type            Set output MIME type (otherwise application/pdf)."
-msgstr ""
-
-msgid "  -l                      Run cupsd from launchd(8)."
-msgstr ""
-
-msgid "  -l lang[,lang,...]      Specify the output language(s) (locale)."
-msgstr ""
-
-msgid "  -m                      Use the ModelName value as the filename."
-msgstr ""
-
-msgid ""
-"  -m mime/type            Set output MIME type (otherwise application/pdf)."
-msgstr ""
-
-msgid "  -n copies               Set number of copies."
-msgstr ""
-
-msgid ""
-"  -n count                Repeat the last file the given number of times."
-msgstr ""
-
-msgid "  -o filename             Set file to be generated (otherwise stdout)."
-msgstr ""
-
-msgid ""
-"  -o filename.drv         Set driver information file (otherwise ppdi.drv)."
-msgstr ""
-
-msgid "  -o filename.ppd[.gz]    Set output file (otherwise stdout)."
-msgstr ""
-
-msgid "  -o name=value           Set option(s)."
-msgstr ""
-
-msgid "  -p filename.ppd         Set PPD file."
-msgstr ""
-
-msgid "  -q                      Be quiet - no output except errors."
-msgstr ""
-
-msgid "  -q                      Run silently."
-msgstr ""
-
-msgid "  -r                      Use 'relaxed' open mode."
-msgstr ""
-
-msgid "  -t                      Produce a test report."
-msgstr ""
-
-msgid "  -t                      Test PPDs instead of generating them."
-msgstr ""
-
-msgid "  -t                      Test the configuration file."
-msgstr ""
-
-msgid "  -t title                Set title."
-msgstr ""
-
-msgid "  -u                      Remove the PPD file when finished."
-msgstr ""
-
-msgid "  -v                      Be slightly verbose."
-msgstr ""
-
-msgid "  -v                      Be verbose (more v's for more verbosity)."
-msgstr ""
-
-msgid "  -v                      Be verbose (show commands)."
-msgstr ""
-
-msgid "  -v                      Show all attributes sent and received."
-msgstr ""
-
-msgid "  -vv                     Be very verbose."
-msgstr ""
-
-msgid "  -z                      Compress PPD files using GNU zip."
-msgstr ""
-
-msgid " FAIL"
-msgstr ""
-
-msgid " PASS"
-msgstr ""
-
-#, c-format
-msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "%.0f x %.0f millimeters"
-msgstr "%.0f x %.0f milímetros"
-
-#, c-format
-msgid "%.0f x %.0f to %.0f x %.0f millimeters"
-msgstr "%.0f x %.0f a %.0f x %.0f milímetros"
-
-#, c-format
-msgid "%.2f x %.2f inches"
-msgstr "%.2f x %.2f polegadas"
-
-#, c-format
-msgid "%.2f x %.2f to %.2f x %.2f inches"
-msgstr "%.2f x %.2f a %.2f x %.2f polegadas"
-
-#, c-format
-msgid "%s accepting requests since %s"
-msgstr ""
-
-#, c-format
-msgid "%s cannot be changed."
-msgstr "%s não pode ser alterado."
-
-#, c-format
-msgid "%s is not implemented by the CUPS version of lpc."
-msgstr ""
-
-#, c-format
-msgid "%s is not ready"
-msgstr ""
-
-#, c-format
-msgid "%s is ready"
-msgstr ""
-
-#, c-format
-msgid "%s is ready and printing"
-msgstr ""
-
-#, c-format
-msgid "%s job-id user title copies options [file]"
-msgstr ""
-
-#, c-format
-msgid "%s not accepting requests since %s -"
-msgstr ""
-
-#, c-format
-msgid "%s not supported."
-msgstr ""
-
-#, c-format
-msgid "%s/%s accepting requests since %s"
-msgstr ""
-
-#, c-format
-msgid "%s/%s not accepting requests since %s -"
-msgstr ""
-
-#, c-format
-msgid "%s: %-33.33s [job %d localhost]"
-msgstr ""
-
-#. TRANSLATORS: Message is "subject: error"
-#, c-format
-msgid "%s: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: %s failed: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Don't know what to do."
-msgstr ""
-
-#, c-format
-msgid ""
-"%s: Error - %s environment variable names non-existent destination \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - bad job ID."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - cannot print files and alter jobs simultaneously."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - cannot print from stdin if files or a job ID are provided."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected character set after \"-S\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected content type after \"-T\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected copies after \"-#\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected copies after \"-n\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected destination after \"-P\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected destination after \"-b\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected destination after \"-d\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected form after \"-f\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected hold name after \"-H\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected hostname after \"-H\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected hostname after \"-h\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected mode list after \"-y\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected name after \"-%c\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected option=value after \"-o\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected page list after \"-P\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected priority after \"-%c\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected reason text after \"-r\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected title after \"-t\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected username after \"-U\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected username after \"-u\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected value after \"-%c\" option."
-msgstr ""
-
-#, c-format
-msgid ""
-"%s: Error - need \"completed\", \"not-completed\", or \"all\" after \"-W\" "
-"option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - no default destination available."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - priority must be between 1 and 100."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - scheduler not responding."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - too many files - \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unable to access \"%s\" - %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unable to queue from stdin - %s."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown destination \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown destination \"%s/%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown option \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Expected job ID after \"-i\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Invalid destination name in list \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Invalid filter string \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Need job ID (\"-i jobid\") before \"-H restart\"."
-msgstr ""
-
-#, c-format
-msgid "%s: No filter to convert from %s/%s to %s/%s."
-msgstr ""
-
-#, c-format
-msgid "%s: Operation failed: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Sorry, no encryption support."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to connect to server."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to contact server."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to determine MIME type of \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to open %s: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to open PPD file: %s on line %d."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown destination \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown destination MIME type %s/%s."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown option \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown source MIME type %s/%s."
-msgstr ""
-
-#, c-format
-msgid ""
-"%s: Warning - \"%c\" format modifier not supported - output may not be "
-"correct."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - character set option ignored."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - content type option ignored."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - form option ignored."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - mode option ignored."
-msgstr ""
-
-msgid "-1"
-msgstr "-1"
-
-msgid "-10"
-msgstr "-10"
-
-msgid "-100"
-msgstr "-100"
-
-msgid "-105"
-msgstr "-105"
-
-msgid "-11"
-msgstr "-11"
-
-msgid "-110"
-msgstr "-110"
-
-msgid "-115"
-msgstr "-115"
-
-msgid "-12"
-msgstr "-12"
-
-msgid "-120"
-msgstr "-120"
-
-msgid "-13"
-msgstr "-13"
-
-msgid "-14"
-msgstr "-14"
-
-msgid "-15"
-msgstr "-15"
-
-msgid "-2"
-msgstr "-2"
-
-msgid "-20"
-msgstr "-20"
-
-msgid "-25"
-msgstr "-25"
-
-msgid "-3"
-msgstr "-3"
-
-msgid "-30"
-msgstr "-30"
-
-msgid "-35"
-msgstr "-35"
-
-msgid "-4"
-msgstr "-4"
-
-msgid "-40"
-msgstr "-40"
-
-msgid "-45"
-msgstr "-45"
-
-msgid "-5"
-msgstr "-5"
-
-msgid "-50"
-msgstr "-50"
-
-msgid "-55"
-msgstr "-55"
-
-msgid "-6"
-msgstr "-6"
-
-msgid "-60"
-msgstr "-60"
-
-msgid "-65"
-msgstr "-65"
-
-msgid "-7"
-msgstr "-7"
-
-msgid "-70"
-msgstr "-70"
-
-msgid "-75"
-msgstr "-75"
-
-msgid "-8"
-msgstr "-8"
-
-msgid "-80"
-msgstr "-80"
-
-msgid "-85"
-msgstr "-85"
-
-msgid "-9"
-msgstr "-9"
-
-msgid "-90"
-msgstr "-90"
-
-msgid "-95"
-msgstr "-95"
-
-msgid "0"
-msgstr "0"
-
-msgid "1"
-msgstr "1"
-
-msgid "1 inch/sec."
-msgstr "1 polegada/s"
-
-msgid "1.25x0.25\""
-msgstr "1.25x0.25\""
-
-msgid "1.25x2.25\""
-msgstr "1.25x2.25\""
-
-msgid "1.5 inch/sec."
-msgstr "1.5 polegada/s"
-
-msgid "1.50x0.25\""
-msgstr "1.50x0.25\""
-
-msgid "1.50x0.50\""
-msgstr "1.50x0.50\""
-
-msgid "1.50x1.00\""
-msgstr "1.50x1.00\""
-
-msgid "1.50x2.00\""
-msgstr "1.50x2.00\""
-
-msgid "10"
-msgstr "10"
-
-msgid "10 inches/sec."
-msgstr "10 polegadas/s"
-
-msgid "10 x 11"
-msgstr ""
-
-msgid "10 x 13"
-msgstr ""
-
-msgid "10 x 14"
-msgstr ""
-
-msgid "100"
-msgstr "100"
-
-msgid "100 mm/sec."
-msgstr "100 mm/s"
-
-msgid "105"
-msgstr "105"
-
-msgid "11"
-msgstr "11"
-
-msgid "11 inches/sec."
-msgstr "11 polegadas/s"
-
-msgid "110"
-msgstr "110"
-
-msgid "115"
-msgstr "115"
-
-msgid "12"
-msgstr "12"
-
-msgid "12 inches/sec."
-msgstr "12 polegadas/s"
-
-msgid "12 x 11"
-msgstr ""
-
-msgid "120"
-msgstr "120"
-
-msgid "120 mm/sec."
-msgstr "120 mm/s"
-
-msgid "120x60dpi"
-msgstr "120x60ppp"
-
-msgid "120x72dpi"
-msgstr "120x72ppp"
-
-msgid "13"
-msgstr "13"
-
-msgid "136dpi"
-msgstr "136ppp"
-
-msgid "14"
-msgstr "14"
-
-msgid "15"
-msgstr "15"
-
-msgid "15 mm/sec."
-msgstr "15 mm/s"
-
-msgid "15 x 11"
-msgstr ""
-
-msgid "150 mm/sec."
-msgstr "150 mm/s"
-
-msgid "150dpi"
-msgstr "150ppp"
-
-msgid "16"
-msgstr "16"
-
-msgid "17"
-msgstr "17"
-
-msgid "18"
-msgstr "18"
-
-msgid "180dpi"
-msgstr "180ppp"
-
-msgid "19"
-msgstr "19"
-
-msgid "2"
-msgstr "2"
-
-msgid "2 inches/sec."
-msgstr "2 polegadas/s"
-
-msgid "2-Sided Printing"
-msgstr "Impressão Frente e Verso"
-
-msgid "2.00x0.37\""
-msgstr "2.00x0.37\""
-
-msgid "2.00x0.50\""
-msgstr "2.00x0.50\""
-
-msgid "2.00x1.00\""
-msgstr "2.00x1.00\""
-
-msgid "2.00x1.25\""
-msgstr "2.00x1.25\""
-
-msgid "2.00x2.00\""
-msgstr "2.00x2.00\""
-
-msgid "2.00x3.00\""
-msgstr "2.00x3.00\""
-
-msgid "2.00x4.00\""
-msgstr "2.00x4.00\""
-
-msgid "2.00x5.50\""
-msgstr "2.00x5.50\""
-
-msgid "2.25x0.50\""
-msgstr "2.25x0.50\""
-
-msgid "2.25x1.25\""
-msgstr "2.25x1.25\""
-
-msgid "2.25x4.00\""
-msgstr "2.25x4.00\""
-
-msgid "2.25x5.50\""
-msgstr "2.25x5.50\""
-
-msgid "2.38x5.50\""
-msgstr "2.38x5.50\""
-
-msgid "2.5 inches/sec."
-msgstr "2.5 polegadas/s"
-
-msgid "2.50x1.00\""
-msgstr "2.50x1.00\""
-
-msgid "2.50x2.00\""
-msgstr "2.50x2.00\""
-
-msgid "2.75x1.25\""
-msgstr "2.75x1.25\""
-
-msgid "2.9 x 1\""
-msgstr "2.9 x 1\""
-
-msgid "20"
-msgstr "20"
-
-msgid "20 mm/sec."
-msgstr "20 mm/s"
-
-msgid "200 mm/sec."
-msgstr "200 mm/s"
-
-msgid "203dpi"
-msgstr "203ppp"
-
-msgid "21"
-msgstr "21"
-
-msgid "22"
-msgstr "22"
-
-msgid "23"
-msgstr "23"
-
-msgid "24"
-msgstr "24"
-
-msgid "24-Pin Series"
-msgstr "Séries de 24 pinos"
-
-msgid "240x72dpi"
-msgstr "240x72ppp"
-
-msgid "25"
-msgstr "25"
-
-msgid "250 mm/sec."
-msgstr "250 mm/s"
-
-msgid "26"
-msgstr "26"
-
-msgid "27"
-msgstr "27"
-
-msgid "28"
-msgstr "28"
-
-msgid "29"
-msgstr "29"
-
-msgid "3"
-msgstr "3"
-
-msgid "3 inches/sec."
-msgstr "3 polegadas/s"
-
-msgid "3 x 5"
-msgstr ""
-
-msgid "3.00x1.00\""
-msgstr "3.00x1.00\""
-
-msgid "3.00x1.25\""
-msgstr "3.00x1.25\""
-
-msgid "3.00x2.00\""
-msgstr "3.00x2.00\""
-
-msgid "3.00x3.00\""
-msgstr "3.00x3.00\""
-
-msgid "3.00x5.00\""
-msgstr "3.00x5.00\""
-
-msgid "3.25x2.00\""
-msgstr "3.25x2.00\""
-
-msgid "3.25x5.00\""
-msgstr "3.25x5.00\""
-
-msgid "3.25x5.50\""
-msgstr "3.25x5.50\""
-
-msgid "3.25x5.83\""
-msgstr "3.25x5.83\""
-
-msgid "3.25x7.83\""
-msgstr "3.25x7.83\""
-
-msgid "3.5 x 5"
-msgstr ""
-
-msgid "3.5\" Disk"
-msgstr "Disco de 3.5\""
-
-msgid "3.5\" Disk - 2 1/8 x 2 3/4\""
-msgstr "Disco de 3.5\" - 2 1/8 x 2 3/4\""
-
-msgid "3.50x1.00\""
-msgstr "3.50x1.00\""
-
-msgid "30"
-msgstr "30"
-
-msgid "30 mm/sec."
-msgstr "30 mm/s"
-
-msgid "300 mm/sec."
-msgstr "300 mm/s"
-
-msgid "300dpi"
-msgstr "300ppp"
-
-msgid "35"
-msgstr "35"
-
-msgid "360dpi"
-msgstr "360ppp"
-
-msgid "360x180dpi"
-msgstr "360x180ppp"
-
-msgid "4"
-msgstr "4"
-
-msgid "4 inches/sec."
-msgstr "4 polegadas/s"
-
-msgid "4.00x1.00\""
-msgstr "4.00x1.00\""
-
-msgid "4.00x13.00\""
-msgstr "4.00x13.00\""
-
-msgid "4.00x2.00\""
-msgstr "4.00x2.00\""
-
-msgid "4.00x2.50\""
-msgstr "4.00x2.50\""
-
-msgid "4.00x3.00\""
-msgstr "4.00x3.00\""
-
-msgid "4.00x4.00\""
-msgstr "4.00x4.00\""
-
-msgid "4.00x5.00\""
-msgstr "4.00x5.00\""
-
-msgid "4.00x6.00\""
-msgstr "4.00x6.00\""
-
-msgid "4.00x6.50\""
-msgstr "4.00x6.50\""
-
-msgid "40"
-msgstr "40"
-
-msgid "40 mm/sec."
-msgstr "40 mm/s"
-
-msgid "45"
-msgstr "45"
-
-msgid "5"
-msgstr "5"
-
-msgid "5 inches/sec."
-msgstr "5 polegadas/s"
-
-msgid "5 x 7"
-msgstr ""
-
-msgid "50"
-msgstr "50"
-
-msgid "55"
-msgstr "55"
-
-msgid "6"
-msgstr "6"
-
-msgid "6 inches/sec."
-msgstr "6 polegadas/s"
-
-msgid "6.00x1.00\""
-msgstr "6.00x1.00\""
-
-msgid "6.00x2.00\""
-msgstr "6.00x2.00\""
-
-msgid "6.00x3.00\""
-msgstr "6.00x3.00\""
-
-msgid "6.00x4.00\""
-msgstr "6.00x4.00\""
-
-msgid "6.00x5.00\""
-msgstr "6.00x5.00\""
-
-msgid "6.00x6.00\""
-msgstr "6.00x6.00\""
-
-msgid "6.00x6.50\""
-msgstr "6.00x6.50\""
-
-msgid "60"
-msgstr "60"
-
-msgid "60 mm/sec."
-msgstr "60 mm/s"
-
-msgid "600dpi"
-msgstr "600ppp"
-
-msgid "60dpi"
-msgstr "60ppp"
-
-msgid "60x72dpi"
-msgstr ""
-
-msgid "65"
-msgstr "65"
-
-msgid "7"
-msgstr "7"
-
-msgid "7 inches/sec."
-msgstr "7 polegadas/s"
-
-msgid "7 x 9"
-msgstr ""
-
-msgid "70"
-msgstr "70"
-
-msgid "720dpi"
-msgstr "720ppp"
-
-msgid "75"
-msgstr "75"
-
-msgid "8"
-msgstr "8"
-
-msgid "8 inches/sec."
-msgstr "8 polegadas/s"
-
-msgid "8 x 10"
-msgstr ""
-
-msgid "8.00x1.00\""
-msgstr "8.00x1.00\""
-
-msgid "8.00x2.00\""
-msgstr "8.00x2.00\""
-
-msgid "8.00x3.00\""
-msgstr "8.00x3.00\""
-
-msgid "8.00x4.00\""
-msgstr "8.00x4.00\""
-
-msgid "8.00x5.00\""
-msgstr "8.00x5.00\""
-
-msgid "8.00x6.00\""
-msgstr "8.00x6.00\""
-
-msgid "8.00x6.50\""
-msgstr "8.00x6.50\""
-
-msgid "80"
-msgstr "80"
-
-msgid "80 mm/sec."
-msgstr "80 mm/s"
-
-msgid "85"
-msgstr "85"
-
-msgid "9"
-msgstr "9"
-
-msgid "9 inches/sec."
-msgstr "9 polegadas/s"
-
-msgid "9 x 11"
-msgstr ""
-
-msgid "9 x 12"
-msgstr ""
-
-msgid "9-Pin Series"
-msgstr "Séries de 9 pinos"
-
-msgid "90"
-msgstr "90"
-
-msgid "95"
-msgstr "95"
-
-msgid "?Invalid help command unknown."
-msgstr ""
-
-msgid "A Samba password is required to export printer drivers"
-msgstr ""
-
-msgid "A Samba username is required to export printer drivers"
-msgstr ""
-
-#, c-format
-msgid "A class named \"%s\" already exists."
-msgstr ""
-
-#, c-format
-msgid "A printer named \"%s\" already exists."
-msgstr ""
-
-msgid "A0"
-msgstr "A0"
-
-msgid "A0 Long Edge"
-msgstr ""
-
-msgid "A1"
-msgstr "A1"
-
-msgid "A1 Long Edge"
-msgstr ""
-
-msgid "A10"
-msgstr "A10"
-
-msgid "A2"
-msgstr "A2"
-
-msgid "A2 Long Edge"
-msgstr ""
-
-msgid "A3"
-msgstr "A3"
-
-msgid "A3 Long Edge"
-msgstr ""
-
-msgid "A3 Oversize"
-msgstr ""
-
-msgid "A3 Oversize Long Edge"
-msgstr ""
-
-msgid "A4"
-msgstr "A4"
-
-msgid "A4 Long Edge"
-msgstr ""
-
-msgid "A4 Oversize"
-msgstr ""
-
-msgid "A4 Small"
-msgstr ""
-
-msgid "A5"
-msgstr "A5"
-
-msgid "A5 Long Edge"
-msgstr ""
-
-msgid "A5 Oversize"
-msgstr ""
-
-msgid "A6"
-msgstr "A6"
-
-msgid "A6 Long Edge"
-msgstr ""
-
-msgid "A7"
-msgstr "A7"
-
-msgid "A8"
-msgstr "A8"
-
-msgid "A9"
-msgstr "A9"
-
-msgid "ANSI A"
-msgstr "ANSI A"
-
-msgid "ANSI B"
-msgstr "ANSI B"
-
-msgid "ANSI C"
-msgstr "ANSI C"
-
-msgid "ANSI D"
-msgstr "ANSI D"
-
-msgid "ANSI E"
-msgstr "ANSI E"
-
-msgid "ARCH C"
-msgstr "ARCO C"
-
-msgid "ARCH C Long Edge"
-msgstr ""
-
-msgid "ARCH D"
-msgstr "ARCO D"
-
-msgid "ARCH D Long Edge"
-msgstr ""
-
-msgid "ARCH E"
-msgstr "ARCO E"
-
-msgid "ARCH E Long Edge"
-msgstr ""
-
-msgid "Accept Jobs"
-msgstr "Aceitar Trabalhos"
-
-msgid "Accepted"
-msgstr "Aceito"
-
-msgid "Add Class"
-msgstr "Adicionar Classe"
-
-msgid "Add Printer"
-msgstr "Adicionar Impressora"
-
-msgid "Add RSS Subscription"
-msgstr "Adicionar Inscrição RSS"
-
-msgid "Address"
-msgstr "Endereço"
-
-msgid "Address - 1 1/8 x 3 1/2\""
-msgstr "Endereço - 1 1/8 x 3 1/2\""
-
-msgid "Administration"
-msgstr "Administração"
-
-msgid "Always"
-msgstr "Sempre"
-
-msgid "AppSocket/HP JetDirect"
-msgstr "AppSocket/HP JetDirect"
-
-msgid "Applicator"
-msgstr "Aplicador"
-
-#, c-format
-msgid "Attempt to set %s printer-state to bad value %d."
-msgstr ""
-
-#, c-format
-msgid "Attribute groups are out of order (%x < %x)."
-msgstr ""
-
-msgid "B0"
-msgstr "B0"
-
-msgid "B1"
-msgstr "B1"
-
-msgid "B10"
-msgstr "B10"
-
-msgid "B2"
-msgstr "B2"
-
-msgid "B3"
-msgstr "B3"
-
-msgid "B4"
-msgstr "B4"
-
-msgid "B5"
-msgstr "B5"
-
-msgid "B5 Oversize"
-msgstr ""
-
-msgid "B6"
-msgstr "B6"
-
-msgid "B7"
-msgstr "B7"
-
-msgid "B8"
-msgstr "B8"
-
-msgid "B9"
-msgstr "B9"
-
-msgid "Bad NULL dests pointer"
-msgstr "Cursor NULL dests inválido"
-
-msgid "Bad OpenGroup"
-msgstr "OpenGroup Inválido"
-
-msgid "Bad OpenUI/JCLOpenUI"
-msgstr "OpenUI/JCLOpenUI Inválido"
-
-msgid "Bad OrderDependency"
-msgstr "OrderDependency Inválido"
-
-msgid "Bad PPD cache file."
-msgstr ""
-
-msgid "Bad Request"
-msgstr "Pedido Inválido"
-
-msgid "Bad SNMP version number"
-msgstr "Número de versão SNMP inválido"
-
-msgid "Bad UIConstraints"
-msgstr "UIConstraints Inválido"
-
-#, c-format
-msgid "Bad charset file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad charset type: %s"
-msgstr ""
-
-#, c-format
-msgid "Bad columns value %d."
-msgstr ""
-
-#, c-format
-msgid "Bad copies value %d."
-msgstr "Valor de cópias inválidas %d."
-
-#, c-format
-msgid "Bad cpi value %f."
-msgstr ""
-
-msgid "Bad custom parameter"
-msgstr "Parâmetro personalizado inválido"
-
-#, c-format
-msgid "Bad device-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad device-uri scheme \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad document-format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad document-format-default \"%s\"."
-msgstr ""
-
-msgid "Bad filename buffer"
-msgstr ""
-
-#, c-format
-msgid "Bad font description line \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad font description line: %s"
-msgstr ""
-
-msgid "Bad job-priority value."
-msgstr ""
-
-#, c-format
-msgid "Bad job-sheets value \"%s\"."
-msgstr ""
-
-msgid "Bad job-sheets value type."
-msgstr ""
-
-msgid "Bad job-state value."
-msgstr ""
-
-#, c-format
-msgid "Bad job-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad lpi value %f."
-msgstr ""
-
-#, c-format
-msgid "Bad notify-pull-method \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad notify-recipient-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad number-up value %d."
-msgstr "Valor de number-up inválido %d."
-
-#, c-format
-msgid "Bad option + choice on line %d."
-msgstr ""
-
-#, c-format
-msgid "Bad page-ranges values %d-%d."
-msgstr "Valores de page-ranges inválidos %d-%d."
-
-#, c-format
-msgid "Bad port-monitor \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad printer-state value %d."
-msgstr ""
-
-#, c-format
-msgid "Bad request ID %d."
-msgstr ""
-
-#, c-format
-msgid "Bad request version number %d.%d."
-msgstr ""
-
-msgid "Bad subscription ID"
-msgstr ""
-
-#, c-format
-msgid "Bad text direction \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad text direction: %s"
-msgstr ""
-
-#, c-format
-msgid "Bad text width \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad text width: %s"
-msgstr ""
-
-msgid "Bad value string"
-msgstr ""
-
-msgid "Banners"
-msgstr "Banners"
-
-msgid "Billing Information: "
-msgstr "Informações de Cobrança: "
-
-msgid "Bond Paper"
-msgstr "Papel Bond"
-
-#, c-format
-msgid "Boolean expected for waiteof option \"%s\"."
-msgstr ""
-
-msgid "Buffer overflow detected, aborting."
-msgstr ""
-
-msgid "CMYK"
-msgstr "CMYK"
-
-msgid "CPCL Label Printer"
-msgstr "Impressora de Etiqueta CPCL"
-
-msgid "Cancel RSS Subscription"
-msgstr "Cancelar Inscrição RSS"
-
-msgid "Canceling print job."
-msgstr ""
-
-msgid "Cannot share a remote Kerberized printer."
-msgstr ""
-
-msgid "Cassette"
-msgstr ""
-
-msgid "Change Settings"
-msgstr "Alterar Configurações"
-
-#, c-format
-msgid "Character set \"%s\" not supported."
-msgstr ""
-
-msgid "Classes"
-msgstr "Classes"
-
-msgid "Clean Print Heads"
-msgstr "Limpar Cabeçotes de Impressão"
-
-msgid "Close-Job doesn't support the job-uri attribute."
-msgstr ""
-
-msgid "Color"
-msgstr "Cor"
-
-msgid "Color Mode"
-msgstr "Modo de Cor"
-
-msgid ""
-"Commands may be abbreviated.  Commands are:\n"
-"\n"
-"exit    help    quit    status  ?"
-msgstr ""
-
-msgid "Community name uses indefinite length"
-msgstr "Nome de comunidade usa comprimento indefinido"
-
-msgid "Connected to printer."
-msgstr ""
-
-msgid "Connecting to printer."
-msgstr ""
-
-msgid "Continue"
-msgstr "Continuar"
-
-msgid "Continuous"
-msgstr "Contínuo"
-
-msgid "Control file sent successfully."
-msgstr ""
-
-msgid "Copying print data."
-msgstr ""
-
-msgid "Created"
-msgstr "Criado"
-
-msgid "Created On: "
-msgstr "Criado em: "
-
-msgid "Custom"
-msgstr "Personalizar"
-
-msgid "CustominCutInterval"
-msgstr "CustominCutInterval"
-
-msgid "CustominTearInterval"
-msgstr "CustominTearInterval"
-
-msgid "Cut"
-msgstr "Cortar"
-
-msgid "Cutter"
-msgstr "Guilhotina"
-
-msgid "Dark"
-msgstr "Escuro"
-
-msgid "Darkness"
-msgstr "Escuridão"
-
-msgid "Data file sent successfully."
-msgstr ""
-
-msgid "Delete Class"
-msgstr "Apagar Classe"
-
-msgid "Delete Printer"
-msgstr "Apagar Impressora"
-
-msgid "Description: "
-msgstr "Descrição: "
-
-msgid "DeskJet Series"
-msgstr "DeskJet Series"
-
-#, c-format
-msgid "Destination \"%s\" is not accepting jobs."
-msgstr "O destino \"%s\" não está aceitando trabalhos."
-
-#, c-format
-msgid ""
-"Device: uri = %s\n"
-"        class = %s\n"
-"        info = %s\n"
-"        make-and-model = %s\n"
-"        device-id = %s\n"
-"        location = %s"
-msgstr ""
-
-msgid "Direct Thermal Media"
-msgstr "Mídia Termal Direta"
-
-#, c-format
-msgid "Directory \"%s\" contains a relative path."
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" is a file."
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" not available: %s"
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-msgid "Disabled"
-msgstr "Desativado"
-
-#, c-format
-msgid "Document #%d does not exist in job #%d."
-msgstr ""
-
-msgid "Driver Name: "
-msgstr "Nome do Driver: "
-
-msgid "Driver Version: "
-msgstr "Versão do Driver: "
-
-msgid "Duplexer"
-msgstr "Duplexer"
-
-msgid "Dymo"
-msgstr "Dymo"
-
-msgid "EPL1 Label Printer"
-msgstr "Impressora de Etiquetas EPL1"
-
-msgid "EPL2 Label Printer"
-msgstr "Impressora de Etiquetas EPL2"
-
-msgid "Edit Configuration File"
-msgstr "Editar Arquivo de Configuração"
-
-msgid "Empty PPD file."
-msgstr ""
-
-#. TRANSLATORS: Banner/cover sheet after the print job.
-msgid "Ending Banner"
-msgstr "Finalizando Banner"
-
-msgid "English"
-msgstr "Portuguese"
-
-msgid "Enter old password:"
-msgstr "Digite a senha antiga:"
-
-msgid "Enter password again:"
-msgstr "Digite a senha novamente:"
-
-msgid "Enter password:"
-msgstr "Digite a senha:"
-
-msgid ""
-"Enter your username and password or the root username and password to access "
-"this page. If you are using Kerberos authentication, make sure you have a "
-"valid Kerberos ticket."
-msgstr ""
-"Digite o seu nome de usuário e a sua senha ou o nome de usuário e a senha de "
-"root para acessar esta página. Se estiver usando a autenticação Kerberos, "
-"certifique-se de possuir uma entrada Kerberos válida."
-
-msgid "Envelope #10 "
-msgstr ""
-
-msgid "Envelope #11"
-msgstr ""
-
-msgid "Envelope #12"
-msgstr ""
-
-msgid "Envelope #14"
-msgstr ""
-
-msgid "Envelope #9"
-msgstr ""
-
-msgid "Envelope B4"
-msgstr ""
-
-msgid "Envelope B5"
-msgstr ""
-
-msgid "Envelope B6"
-msgstr ""
-
-msgid "Envelope C0"
-msgstr ""
-
-msgid "Envelope C1"
-msgstr ""
-
-msgid "Envelope C2"
-msgstr ""
-
-msgid "Envelope C3"
-msgstr ""
-
-msgid "Envelope C4"
-msgstr ""
-
-msgid "Envelope C5"
-msgstr ""
-
-msgid "Envelope C6"
-msgstr ""
-
-msgid "Envelope C65"
-msgstr ""
-
-msgid "Envelope C7"
-msgstr ""
-
-msgid "Envelope Choukei 3"
-msgstr ""
-
-msgid "Envelope Choukei 3 Long Edge"
-msgstr ""
-
-msgid "Envelope Choukei 4"
-msgstr ""
-
-msgid "Envelope Choukei 4 Long Edge"
-msgstr ""
-
-msgid "Envelope DL"
-msgstr ""
-
-msgid "Envelope Feed"
-msgstr "Alimentação de Envelopes"
-
-msgid "Envelope Invite"
-msgstr ""
-
-msgid "Envelope Italian"
-msgstr ""
-
-msgid "Envelope Kaku2"
-msgstr ""
-
-msgid "Envelope Kaku2 Long Edge"
-msgstr ""
-
-msgid "Envelope Kaku3"
-msgstr ""
-
-msgid "Envelope Kaku3 Long Edge"
-msgstr ""
-
-msgid "Envelope Monarch"
-msgstr ""
-
-msgid "Envelope PRC1 "
-msgstr ""
-
-msgid "Envelope PRC1 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC10"
-msgstr ""
-
-msgid "Envelope PRC10 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC2"
-msgstr ""
-
-msgid "Envelope PRC2 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC3"
-msgstr ""
-
-msgid "Envelope PRC3 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC4"
-msgstr ""
-
-msgid "Envelope PRC4 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC5 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC5PRC5"
-msgstr ""
-
-msgid "Envelope PRC6"
-msgstr ""
-
-msgid "Envelope PRC6 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC7"
-msgstr ""
-
-msgid "Envelope PRC7 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC8"
-msgstr ""
-
-msgid "Envelope PRC8 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC9"
-msgstr ""
-
-msgid "Envelope PRC9 Long Edge"
-msgstr ""
-
-msgid "Envelope Personal"
-msgstr ""
-
-msgid "Envelope You4"
-msgstr ""
-
-msgid "Envelope You4 Long Edge"
-msgstr ""
-
-msgid "Epson"
-msgstr "Epson"
-
-msgid "Error Policy"
-msgstr "Política de Erro"
-
-msgid "Error sending raster data."
-msgstr ""
-
-msgid "Error: need hostname after \"-h\" option."
-msgstr ""
-
-msgid "Every 10 Labels"
-msgstr "A cada 10 etiquetas"
-
-msgid "Every 2 Labels"
-msgstr "A cada 2 etiquetas"
-
-msgid "Every 3 Labels"
-msgstr "A cada 3 etiquetas"
-
-msgid "Every 4 Labels"
-msgstr "A cada 4 etiquetas"
-
-msgid "Every 5 Labels"
-msgstr "A cada 5 etiquetas"
-
-msgid "Every 6 Labels"
-msgstr "A cada 6 etiquetas"
-
-msgid "Every 7 Labels"
-msgstr "A cada 7 etiquetas"
-
-msgid "Every 8 Labels"
-msgstr "A cada 8 etiquetas"
-
-msgid "Every 9 Labels"
-msgstr "A cada 9 etiquetas"
-
-msgid "Every Label"
-msgstr "Todas as Etiquetas"
-
-msgid "Executive"
-msgstr ""
-
-msgid "Expectation Failed"
-msgstr "Falha de Expectativa"
-
-msgid "Export Printers to Samba"
-msgstr "Exportar Impressoras para Samba"
-
-msgid "FAIL"
-msgstr ""
-
-msgid "FanFold German"
-msgstr ""
-
-msgid "FanFold Legal German"
-msgstr ""
-
-msgid "Fanfold US"
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" contains a relative path."
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" is a directory."
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" not available: %s"
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-msgid "File Folder"
-msgstr "Pasta de Arquivo"
-
-msgid "File Folder - 9/16 x 3 7/16\""
-msgstr "Pasta de Arquivo - 9/16 x 3 7/16\""
-
-#, c-format
-msgid ""
-"File device URIs have been disabled. To enable, see the FileDevice directive "
-"in \"%s/cupsd.conf\"."
-msgstr ""
-
-#, c-format
-msgid "Finished page %d."
-msgstr ""
-
-msgid "Folio"
-msgstr "Fólio"
-
-msgid "Forbidden"
-msgstr "Esquecido"
-
-#, c-format
-msgid "Formatting page %d."
-msgstr ""
-
-msgid "General"
-msgstr "Geral"
-
-msgid "Generic"
-msgstr "Genérico"
-
-msgid "Get-Response-PDU uses indefinite length"
-msgstr "Get-Response-PDU usa comprimento indefinido"
-
-msgid "Glossy Paper"
-msgstr "Papel Brilhante"
-
-msgid "Got a printer-uri attribute but no job-id."
-msgstr ""
-
-msgid "Grayscale"
-msgstr "Escala de Cinzas"
-
-msgid "HP"
-msgstr "HP"
-
-msgid "Hanging Folder"
-msgstr "Pasta Suspensa"
-
-msgid "Hanging Folder - 9/16 x 2\""
-msgstr "Pasta Suspensa - 9/16 x 2\""
-
-msgid "IPP 1setOf attribute with incompatible value tags."
-msgstr ""
-
-msgid "IPP attribute has no name."
-msgstr ""
-
-msgid "IPP begCollection value not 0 bytes."
-msgstr ""
-
-msgid "IPP boolean value not 1 byte."
-msgstr ""
-
-msgid "IPP date value not 11 bytes."
-msgstr ""
-
-msgid "IPP endCollection value not 0 bytes."
-msgstr ""
-
-msgid "IPP enum value not 4 bytes."
-msgstr ""
-
-msgid "IPP integer value not 4 bytes."
-msgstr ""
-
-msgid "IPP language length overflows value."
-msgstr ""
-
-msgid "IPP member name is not empty."
-msgstr ""
-
-msgid "IPP name larger than 32767 bytes."
-msgstr ""
-
-msgid "IPP nameWithLanguage value less than minimum 4 bytes."
-msgstr ""
-
-msgid "IPP rangeOfInteger value not 8 bytes."
-msgstr ""
-
-msgid "IPP resolution value not 9 bytes."
-msgstr ""
-
-msgid "IPP string length overflows value."
-msgstr ""
-
-msgid "IPP textWithLanguage value less than minimum 4 bytes."
-msgstr ""
-
-msgid "IPP value larger than 32767 bytes."
-msgstr ""
-
-msgid "ISOLatin1"
-msgstr "UTF-8"
-
-msgid "Illegal control character"
-msgstr "Caractere de controle ilegal"
-
-msgid "Illegal main keyword string"
-msgstr "Seqüência de caracteres de palavra-chave principal ilegal"
-
-msgid "Illegal option keyword string"
-msgstr "Seqüência de caracteres de palavra-chave de opção ilegal"
-
-msgid "Illegal translation string"
-msgstr "Seqüência de caracteres de tradução ilegal"
-
-msgid "Illegal whitespace character"
-msgstr "Seqüência de caracteres de espaço em branco ilegal"
-
-msgid "Installable Options"
-msgstr "Opções Instaláveis"
-
-msgid "Installed"
-msgstr "Instalado"
-
-msgid "IntelliBar Label Printer"
-msgstr "Impressora de Etiquetas IntelliBar"
-
-msgid "Intellitech"
-msgstr "Intellitech"
-
-msgid "Internal Server Error"
-msgstr ""
-
-msgid "Internal error"
-msgstr "Erro interno"
-
-msgid "Internet Postage 2-Part"
-msgstr "Porte de Internet 2-Part"
-
-msgid "Internet Postage 2-Part - 2 1/4 x 7 1/2\""
-msgstr "Porte de Internet 2-Part - 2 1/4 x 7 1/2\""
-
-msgid "Internet Postage 3-Part"
-msgstr "Porte de Internet 3-Part"
-
-msgid "Internet Postage 3-Part - 2 1/4 x 7\""
-msgstr "Porte de Internet 3-Part - 2 1/4 x 7\""
-
-msgid "Internet Printing Protocol"
-msgstr "Protocolo de Impressão da Internet"
-
-#, c-format
-msgid "Invalid printer command \"%s\"."
-msgstr ""
-
-msgid "JCL"
-msgstr "JCL"
-
-msgid "JIS B0"
-msgstr ""
-
-msgid "JIS B1"
-msgstr ""
-
-msgid "JIS B10"
-msgstr ""
-
-msgid "JIS B2"
-msgstr ""
-
-msgid "JIS B3"
-msgstr ""
-
-msgid "JIS B4"
-msgstr ""
-
-msgid "JIS B4 Long Edge"
-msgstr ""
-
-msgid "JIS B5"
-msgstr ""
-
-msgid "JIS B5 Long Edge"
-msgstr ""
-
-msgid "JIS B6"
-msgstr ""
-
-msgid "JIS B6 Long Edge"
-msgstr ""
-
-msgid "JIS B7"
-msgstr ""
-
-msgid "JIS B8"
-msgstr ""
-
-msgid "JIS B9"
-msgstr ""
-
-#, c-format
-msgid "Job #%d cannot be restarted - no files."
-msgstr ""
-
-#, c-format
-msgid "Job #%d does not exist."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is already aborted - can't cancel."
-msgstr "O trabalho #%d já foi anulado - não é possível cancelar."
-
-#, c-format
-msgid "Job #%d is already canceled - can't cancel."
-msgstr "O trabalho #%d já foi cancelado - não é possível cancelar."
-
-#, c-format
-msgid "Job #%d is already completed - can't cancel."
-msgstr "O trabalho #%d já está concluído - não é possível cancelar."
-
-#, c-format
-msgid "Job #%d is finished and cannot be altered."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is not complete."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is not held for authentication."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is not held."
-msgstr ""
-
-msgid "Job Completed"
-msgstr "Trabalho Concluído"
-
-msgid "Job Created"
-msgstr "Trabalho Criado"
-
-msgid "Job ID: "
-msgstr "ID de Trabalho: "
-
-msgid "Job Options Changed"
-msgstr "Opções de Trabalho Alteradas"
-
-msgid "Job Stopped"
-msgstr "Trabalho Parado"
-
-msgid "Job UUID: "
-msgstr "UUID de Trabalho: "
-
-msgid "Job is completed and cannot be changed."
-msgstr "O trabalho está concluído e não pode ser alterado."
-
-msgid "Job operation failed:"
-msgstr "Falha de operação de trabalho:"
-
-msgid "Job state cannot be changed."
-msgstr "O estado do trabalho não pode ser alterado."
-
-msgid "Job subscriptions cannot be renewed."
-msgstr ""
-
-msgid "Jobs"
-msgstr "Trabalhos"
-
-msgid "LPD/LPR Host or Printer"
-msgstr "Host ou Impressora LPD/LPR"
-
-msgid "Label Printer"
-msgstr "Impressora de Etiquetas"
-
-msgid "Label Top"
-msgstr "Parte Superior da Etiqueta"
-
-#, c-format
-msgid "Language \"%s\" not supported."
-msgstr ""
-
-msgid "Large Address"
-msgstr "Endereço Grande"
-
-msgid "Large Address - 1 4/10 x 3 1/2\""
-msgstr "Endereço Grande - 1 4/10 x 3 1/2\""
-
-msgid "LaserJet Series PCL 4/5"
-msgstr "LaserJet Series PCL 4/5"
-
-msgid "Letter Oversize"
-msgstr ""
-
-msgid "Letter Oversize Long Edge"
-msgstr ""
-
-msgid "Light"
-msgstr "Claro"
-
-msgid "Line longer than the maximum allowed (255 characters)"
-msgstr "Linha maior do que o máximo permitido (255 caracteres)"
-
-msgid "List Available Printers"
-msgstr "Listar Impressoras Disponíveis"
-
-msgid "Loading print file."
-msgstr ""
-
-msgid "Location: "
-msgstr "Localização: "
-
-msgid "Long-Edge (Portrait)"
-msgstr "Margem Grande (Vertical)"
-
-msgid "Looking for printer."
-msgstr ""
-
-msgid "Make and Model: "
-msgstr "Marca e Modelo: "
-
-msgid "Manual Feed"
-msgstr "Alimentação Manual"
-
-msgid "Media Dimensions: "
-msgstr "Dimensões da Mídia: "
-
-msgid "Media Limits: "
-msgstr "Limites da Mídia: "
-
-msgid "Media Name: "
-msgstr "Nome da Mídia: "
-
-msgid "Media Size"
-msgstr "Tamanho de Mídia"
-
-msgid "Media Source"
-msgstr "Fonte de Mídia"
-
-msgid "Media Tracking"
-msgstr "Rastreamento de Mídia"
-
-msgid "Media Type"
-msgstr "Tipo de Mídia"
-
-msgid "Medium"
-msgstr "Médio"
-
-msgid "Memory allocation error"
-msgstr "Erro de alocação de memória"
-
-msgid "Missing CloseGroup"
-msgstr ""
-
-msgid "Missing PPD-Adobe-4.x header"
-msgstr "Cabeçalho PPD-Adobe-4.x ausente"
-
-msgid "Missing asterisk in column 1"
-msgstr "Asterisco ausente na coluna 1"
-
-msgid "Missing document-number attribute."
-msgstr ""
-
-#, c-format
-msgid "Missing double quote on line %d."
-msgstr ""
-
-msgid "Missing form variable"
-msgstr ""
-
-msgid "Missing last-document attribute in request."
-msgstr ""
-
-msgid "Missing media or media-col."
-msgstr ""
-
-msgid "Missing media-size in media-col."
-msgstr ""
-
-msgid "Missing notify-subscription-ids attribute."
-msgstr ""
-
-msgid "Missing option keyword"
-msgstr ""
-
-msgid "Missing requesting-user-name attribute."
-msgstr ""
-
-msgid "Missing required attributes."
-msgstr ""
-
-#, c-format
-msgid "Missing value on line %d of banner file."
-msgstr ""
-
-#, c-format
-msgid "Missing value on line %d."
-msgstr ""
-
-msgid "Missing value string"
-msgstr "Seqüência de caracteres de valor ausente"
-
-msgid "Missing x-dimension in media-size."
-msgstr ""
-
-msgid "Missing y-dimension in media-size."
-msgstr ""
-
-#, c-format
-msgid ""
-"Model:  name = %s\n"
-"        natural_language = %s\n"
-"        make-and-model = %s\n"
-"        device-id = %s"
-msgstr ""
-
-msgid "Modify Class"
-msgstr "Modificar Classe"
-
-msgid "Modify Printer"
-msgstr "Modificar Impressora"
-
-msgid "Move All Jobs"
-msgstr "Mover Todos os Trabalhos"
-
-msgid "Move Job"
-msgstr "Mover Trabalho"
-
-msgid "Moved Permanently"
-msgstr "Movido Permanentemente"
-
-msgid "NULL PPD file pointer"
-msgstr "Ponteiro de arquivo NULL PPD"
-
-msgid "Name OID uses indefinite length"
-msgstr "OID do nome usa comprimento indefinido"
-
-msgid "Nested classes are not allowed."
-msgstr ""
-
-msgid "Never"
-msgstr "Nunca"
-
-msgid "New Stylus Color Series"
-msgstr "New Stylus Color Series"
-
-msgid "New Stylus Photo Series"
-msgstr "New Stylus Photo Series"
-
-msgid "No"
-msgstr "Não"
-
-msgid "No Content"
-msgstr "Sem Conteúdo"
-
-msgid "No PPD name"
-msgstr ""
-
-msgid "No VarBind SEQUENCE"
-msgstr "Nenhuma VarBind SEQUENCE"
-
-msgid "No Windows printer drivers are installed."
-msgstr ""
-
-msgid "No active connection"
-msgstr "Nenhuma conexão ativa"
-
-#, c-format
-msgid "No active jobs on %s."
-msgstr ""
-
-msgid "No attributes in request."
-msgstr ""
-
-msgid "No authentication information provided."
-msgstr ""
-
-msgid "No community name"
-msgstr "Nenhum nome de comunidade"
-
-msgid "No default printer."
-msgstr ""
-
-msgid "No destinations added."
-msgstr "Nenhum destino adicionado."
-
-msgid "No device URI found in argv[0] or in DEVICE_URI environment variable."
-msgstr ""
-
-msgid "No error-index"
-msgstr "Nenhum error-index"
-
-msgid "No error-status"
-msgstr "Nenhum error-status"
-
-msgid "No file in print request."
-msgstr ""
-
-msgid "No fonts in charset file."
-msgstr ""
-
-msgid "No modification time"
-msgstr ""
-
-msgid "No name OID"
-msgstr "Nenhum OID de nome"
-
-msgid "No pages were found."
-msgstr ""
-
-msgid "No printer name"
-msgstr ""
-
-msgid "No printer-uri found"
-msgstr ""
-
-msgid "No printer-uri found for class"
-msgstr ""
-
-msgid "No printer-uri in request."
-msgstr ""
-
-msgid "No request-id"
-msgstr "Nenhum request-id"
-
-msgid "No subscription attributes in request."
-msgstr ""
-
-msgid "No subscriptions found."
-msgstr "Nenhuma inscrição encontrada."
-
-msgid "No variable-bindings SEQUENCE"
-msgstr "Nenhuma variable-bindings SEQUENCE"
-
-msgid "No version number"
-msgstr "Nenhum número de versão"
-
-msgid "Non-continuous (Mark sensing)"
-msgstr "Descontínuo (Leitura de marcas)"
-
-msgid "Non-continuous (Web sensing)"
-msgstr "Descontínuo (Leitura Web)"
-
-msgid "Normal"
-msgstr "Normal"
-
-msgid "Not Found"
-msgstr "Não Encontrado"
-
-msgid "Not Implemented"
-msgstr "Não Implementado"
-
-msgid "Not Installed"
-msgstr "Não Instalado"
-
-msgid "Not Modified"
-msgstr "Não Modificado"
-
-msgid "Not Supported"
-msgstr "Incompatível"
-
-msgid "Not allowed to print."
-msgstr "Não permitido para impressão."
-
-msgid "Note"
-msgstr "Nota"
-
-msgid ""
-"Note: this program only validates the DSC comments, not the PostScript "
-"itself."
-msgstr ""
-
-msgid "OK"
-msgstr "OK"
-
-msgid "Off (1-Sided)"
-msgstr "Desligado (Frente)"
-
-msgid "Oki"
-msgstr "Oki"
-
-msgid "Online Help"
-msgstr "Ajuda On-line"
-
-#, c-format
-msgid "Open of %s failed: %s"
-msgstr "falha na abertura de %s: %s"
-
-msgid "OpenGroup without a CloseGroup first"
-msgstr "OpenGroup sem um CloseGroup primeiro"
-
-msgid "OpenUI/JCLOpenUI without a CloseUI/JCLCloseUI first"
-msgstr "OpenUI/JCLOpenUI sem um CloseUI/JCLCloseUI primeiro"
-
-msgid "Operation Policy"
-msgstr "Política de Operação"
-
-#, c-format
-msgid "Option \"%s\" cannot be included via %%%%IncludeFeature."
-msgstr ""
-
-msgid "Options Installed"
-msgstr "Opções Instaladas"
-
-msgid "Options:"
-msgstr ""
-
-msgid "Options: "
-msgstr "Opções: "
-
-msgid "Out of date PPD cache file."
-msgstr ""
-
-msgid "Out of memory."
-msgstr ""
-
-msgid "Output Mode"
-msgstr "Modo de Saída"
-
-#, c-format
-msgid "Output for printer %s is sent to %s"
-msgstr ""
-
-#, c-format
-msgid "Output for printer %s is sent to remote printer %s on %s"
-msgstr ""
-
-#, c-format
-msgid "Output for printer %s/%s is sent to %s"
-msgstr ""
-
-#, c-format
-msgid "Output for printer %s/%s is sent to remote printer %s on %s"
-msgstr ""
-
-msgid "PASS"
-msgstr ""
-
-msgid "PCL Laser Printer"
-msgstr "Impressora Laser PCL"
-
-msgid "PRC16K"
-msgstr "PRC16K"
-
-msgid "PRC16K Long Edge"
-msgstr ""
-
-msgid "PRC32K"
-msgstr "PRC32K"
-
-msgid "PRC32K Long Edge"
-msgstr ""
-
-msgid "PRC32K Oversize"
-msgstr ""
-
-msgid "PRC32K Oversize Long Edge"
-msgstr ""
-
-msgid "Packet does not contain a Get-Response-PDU"
-msgstr "O pacote não contém uma Get-Response-PDU"
-
-msgid "Packet does not start with SEQUENCE"
-msgstr "O pacote não começa com SEQUENCE"
-
-msgid "ParamCustominCutInterval"
-msgstr "ParamCustominCutInterval"
-
-msgid "ParamCustominTearInterval"
-msgstr "ParamCustominTearInterval"
-
-#, c-format
-msgid "Password for %s on %s? "
-msgstr "Senha para %s em %s? "
-
-#, c-format
-msgid "Password for %s required to access %s via SAMBA: "
-msgstr "A senha para %s requerida para acessar %s através do SAMBA: "
-
-msgid "Pause Class"
-msgstr "Interromper Classe"
-
-msgid "Pause Printer"
-msgstr "Colocar Impressora em Pausa"
-
-msgid "Peel-Off"
-msgstr "Soltar"
-
-msgid "Photo"
-msgstr "Foto"
-
-msgid "Photo Labels"
-msgstr "Etiquetas de Foto"
-
-msgid "Plain Paper"
-msgstr "Papel Normal"
-
-msgid "Policies"
-msgstr "Políticas"
-
-msgid "Port Monitor"
-msgstr "Monitor da Porta"
-
-msgid "PostScript Printer"
-msgstr "Impressora PostScript"
-
-msgid "Postcard"
-msgstr "Cartão-Postal"
-
-msgid "Postcard Double "
-msgstr ""
-
-msgid "Postcard Double Long Edge"
-msgstr ""
-
-msgid "Postcard Long Edge"
-msgstr ""
-
-msgid "Print Density"
-msgstr "Densidade da Impressão"
-
-msgid "Print Job:"
-msgstr "Imprimir Trabalho:"
-
-msgid "Print Mode"
-msgstr "Modo de Impressão"
-
-msgid "Print Rate"
-msgstr "Taxa de Impressão"
-
-msgid "Print Self-Test Page"
-msgstr "Imprimir Página de Autoteste"
-
-msgid "Print Speed"
-msgstr "Velocidade de Impressão"
-
-msgid "Print Test Page"
-msgstr "Imprimir Página de Teste"
-
-msgid "Print and Cut"
-msgstr "Imprimir e Cortar"
-
-msgid "Print and Tear"
-msgstr "Imprimir e Romper"
-
-#, c-format
-msgid "Print file accepted - job ID %d."
-msgstr ""
-
-msgid "Print file accepted - job ID unknown."
-msgstr ""
-
-msgid "Print file sent."
-msgstr ""
-
-msgid "Print file was not accepted."
-msgstr ""
-
-msgid "Print job too large."
-msgstr ""
-
-msgid "Printed For: "
-msgstr "Impresso para: "
-
-msgid "Printed From: "
-msgstr "Impresso de: "
-
-msgid "Printed On: "
-msgstr "Impresso em: "
-
-msgid "Printer Added"
-msgstr "Impressora Adicionada"
-
-msgid "Printer Default"
-msgstr "Padrão de Impressora"
-
-msgid "Printer Deleted"
-msgstr "Impressora Apagada"
-
-msgid "Printer Modified"
-msgstr "Impressora Modificada"
-
-msgid "Printer Name: "
-msgstr "Nome de Impressora: "
-
-msgid "Printer Paused"
-msgstr "Impressora em Pausa"
-
-msgid "Printer Settings"
-msgstr "Ajustes da Impressora"
-
-msgid "Printer busy, will retry in 10 seconds."
-msgstr ""
-
-msgid "Printer busy; will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer did not respond."
-msgstr ""
-
-#, c-format
-msgid "Printer does not support IPP/%d.%d, trying IPP/%s."
-msgstr ""
-
-msgid "Printer is busy, will retry in 5 seconds."
-msgstr ""
-
-msgid "Printer is not currently connected."
-msgstr ""
-
-msgid "Printer is now connected."
-msgstr ""
-
-msgid "Printer is now online."
-msgstr ""
-
-msgid "Printer is offline."
-msgstr ""
-
-msgid "Printer not connected, will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer not connected; will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer:"
-msgstr "Impressora:"
-
-msgid "Printers"
-msgstr "Impressoras"
-
-#, c-format
-msgid "Printing page %d, %d%% complete."
-msgstr ""
-
-#, c-format
-msgid "Printing page %d."
-msgstr ""
-
-msgid "Purge Jobs"
-msgstr "Ignorar Trabalhos"
-
-msgid "Quarto"
-msgstr "Quarto"
-
-msgid "Quota limit reached."
-msgstr "Limite de quota alcançado."
-
-msgid "Rank    Owner   Job     File(s)                         Total Size"
-msgstr ""
-
-#. TRANSLATORS: Pri is job priority.
-msgid ""
-"Rank   Owner      Pri  Job        Files                       Total Size"
-msgstr ""
-
-msgid "Ready to print."
-msgstr ""
-
-msgid "Reject Jobs"
-msgstr "Rejeitar Trabalhos"
-
-#, c-format
-msgid "Remote host did not accept control file (%d)."
-msgstr ""
-
-#, c-format
-msgid "Remote host did not accept data file (%d)."
-msgstr ""
-
-msgid "Reprint After Error"
-msgstr "Imprimir Novamente Após Erro"
-
-msgid "Request Entity Too Large"
-msgstr "Entidade do Pedido Muito Grande"
-
-msgid "Resolution"
-msgstr "Resolução"
-
-msgid "Resume Class"
-msgstr "Retomar Classe"
-
-msgid "Resume Printer"
-msgstr "Retomar Impressora"
-
-msgid "Return Address"
-msgstr "Endereço de Devolução"
-
-msgid "Return Address - 3/4 x 2\""
-msgstr "Endereço de Devolução - 3/4 x 2\""
-
-msgid "Rewind"
-msgstr "Retroceder"
-
-#, c-format
-msgid "Running command: %s %s -N -A %s -c '%s'"
-msgstr ""
-
-msgid "SEQUENCE uses indefinite length"
-msgstr "SEQUENCE usa comprimento indefinido"
-
-msgid "SSL/TLS Negotiation Error"
-msgstr ""
-
-msgid "See Other"
-msgstr "Ver Outro"
-
-msgid "Sending data to printer."
-msgstr ""
-
-#, c-format
-msgid "Serial Port #%d"
-msgstr "Porta serial nº%d"
-
-msgid "Server Restarted"
-msgstr "Servidor Reiniciado"
-
-msgid "Server Security Auditing"
-msgstr "Auditoria de Segurança de Servidor"
-
-msgid "Server Started"
-msgstr "Servidor Iniciado"
-
-msgid "Server Stopped"
-msgstr "Servidor Parado"
-
-msgid "Service Unavailable"
-msgstr "Serviço Não Disponível"
-
-msgid "Set Allowed Users"
-msgstr "Definir Usuários Permitidos"
-
-msgid "Set As Server Default"
-msgstr "Definir como Padrão de Servidor"
-
-msgid "Set Class Options"
-msgstr "Definir Opções de Classe"
-
-msgid "Set Printer Options"
-msgstr "Definir Opções de Impressão"
-
-msgid "Set Publishing"
-msgstr "Definir Publicação"
-
-msgid "Shipping Address"
-msgstr "Endereço de Remessa"
-
-msgid "Shipping Address - 2 5/16 x 4\""
-msgstr "Endereço de Remessa - 2 5/16 x 4\""
-
-msgid "Short-Edge (Landscape)"
-msgstr "Margem Pequena (Horizontal)"
-
-msgid "Special Paper"
-msgstr "Papel Especial"
-
-#, c-format
-msgid "Spooling job, %.0f%% complete."
-msgstr ""
-
-msgid "Standard"
-msgstr "Padrão"
-
-#. TRANSLATORS: Banner/cover sheet before the print job.
-msgid "Starting Banner"
-msgstr "Iniciando Banner"
-
-#, c-format
-msgid "Starting page %d."
-msgstr ""
-
-msgid "Statement"
-msgstr "Instrução"
-
-msgid "Stylus Color Series"
-msgstr "Stylus Color Series"
-
-msgid "Stylus Photo Series"
-msgstr "Stylus Photo Series"
-
-#, c-format
-msgid "Subscription #%d does not exist."
-msgstr ""
-
-msgid "Super A"
-msgstr "Super A"
-
-msgid "Super B"
-msgstr "Super B"
-
-msgid "Super B/A3"
-msgstr "Super B/A3"
-
-msgid "Switching Protocols"
-msgstr "Alternando Protocolos"
-
-msgid "Tabloid"
-msgstr "Tablóide"
-
-msgid "Tabloid Oversize"
-msgstr ""
-
-msgid "Tabloid Oversize Long Edge"
-msgstr ""
-
-msgid "Tear"
-msgstr "Rasgar"
-
-msgid "Tear-Off"
-msgstr "Remover"
-
-msgid "Tear-Off Adjust Position"
-msgstr "Remover Posição de Ajuste"
-
-#, c-format
-msgid "The %s attribute cannot be provided with job-ids."
-msgstr ""
-
-#, c-format
-msgid "The PPD file \"%s\" could not be found."
-msgstr "O arquivo PPD \"%s\" não pôde ser encontrado."
-
-#, c-format
-msgid "The PPD file \"%s\" could not be opened: %s"
-msgstr "O arquivo PPD \"%s\" não pôde ser aberto: %s"
-
-msgid "The PPD file could not be opened."
-msgstr ""
-
-msgid ""
-"The class name may only contain up to 127 printable characters and may not "
-"contain spaces, slashes (/), or the pound sign (#)."
-msgstr ""
-"O nome de classe pode conter apenas até 127 caracteres imprimíveis e não "
-"pode conter espaços, barras (/) ou o sinal de quadrado (#)."
-
-msgid "The developer unit needs to be replaced."
-msgstr ""
-
-msgid "The developer unit will need to be replaced soon."
-msgstr ""
-
-msgid "The fuser's temperature is high."
-msgstr ""
-
-msgid "The fuser's temperature is low."
-msgstr ""
-
-msgid ""
-"The notify-lease-duration attribute cannot be used with job subscriptions."
-msgstr ""
-"O atributo notify-lease-duration não pode ser usado com as inscrições de "
-"trabalho."
-
-#, c-format
-msgid "The notify-user-data value is too large (%d > 63 octets)."
-msgstr ""
-
-msgid "The optical photoconductor needs to be replaced."
-msgstr ""
-
-msgid "The optical photoconductor will need to be replaced soon."
-msgstr ""
-
-msgid "The output bin is almost full."
-msgstr ""
-
-msgid "The output bin is full."
-msgstr ""
-
-msgid "The output bin is missing."
-msgstr ""
-
-msgid "The page setup information was not valid."
-msgstr ""
-
-msgid "The paper tray is almost empty."
-msgstr ""
-
-msgid "The paper tray is empty."
-msgstr ""
-
-msgid "The paper tray is missing."
-msgstr ""
-
-msgid "The paper tray needs to be filled."
-msgstr ""
-
-msgid "The print file could not be opened."
-msgstr ""
-
-msgid "The printer URI is incorrect or no longer exists."
-msgstr ""
-
-msgid "The printer is busy."
-msgstr ""
-
-msgid "The printer is not connected."
-msgstr ""
-
-msgid "The printer is not responding."
-msgstr ""
-
-msgid "The printer is out of ink."
-msgstr ""
-
-msgid "The printer is running low on ink."
-msgstr ""
-
-msgid "The printer is running low on toner."
-msgstr ""
-
-msgid "The printer is unreachable at this time."
-msgstr ""
-
-msgid "The printer may be out of toner."
-msgstr ""
-
-msgid "The printer may not exist or is unavailable at this time."
-msgstr ""
-
-msgid ""
-"The printer name may only contain up to 127 printable characters and may not "
-"contain spaces, slashes (/), or the pound sign (#)."
-msgstr ""
-"O nome da impressora somente pode conter até 127 caracteres imprimíveis e "
-"não pode conter espaços, barras (/) ou o sinal de quadrado (#)."
-
-msgid "The printer or class does not exist."
-msgstr ""
-
-msgid "The printer or class is not shared."
-msgstr ""
-
-msgid "The printer's cover is open."
-msgstr ""
-
-msgid "The printer's door is open."
-msgstr ""
-
-msgid "The printer's interlock is open."
-msgstr ""
-
-msgid "The printer's waste bin is almost full."
-msgstr ""
-
-msgid "The printer's waste bin is full."
-msgstr ""
-
-#, c-format
-msgid "The printer-uri \"%s\" contains invalid characters."
-msgstr "O printer-uri \"%s\" contém caracteres inválidos."
-
-msgid "The printer-uri attribute is required."
-msgstr ""
-
-msgid ""
-"The printer-uri must be of the form \"ipp://HOSTNAME/classes/CLASSNAME\"."
-msgstr ""
-"O printer-uri deve ser do formato \"ipp://HOSTNAME/classes/CLASSNAME\"."
-
-msgid ""
-"The printer-uri must be of the form \"ipp://HOSTNAME/printers/PRINTERNAME\"."
-msgstr ""
-"O printer-uri deve ser do formato \"ipp://HOSTNAME/printers/PRINTERNAME\"."
-
-msgid ""
-"The subscription name may not contain spaces, slashes (/), question marks "
-"(?), or the pound sign (#)."
-msgstr ""
-"O nome de inscrição pode não conter espaços, barras (/), pontos de "
-"interrogação (?) ou o sinal de quadrado (#)."
-
-msgid ""
-"The web interface is currently disabled. Run \"cupsctl WebInterface=yes\" to "
-"enable it."
-msgstr ""
-
-#, c-format
-msgid "The which-jobs value \"%s\" is not supported."
-msgstr ""
-
-msgid "There are too many subscriptions."
-msgstr "Há muitas assinaturas."
-
-msgid "There is a paper jam."
-msgstr ""
-
-msgid "There was an unrecoverable USB error."
-msgstr ""
-
-msgid "Thermal Transfer Media"
-msgstr "Mídia de Transferência Termal"
-
-msgid "Title: "
-msgstr "Título: "
-
-msgid "Too many active jobs."
-msgstr "Muitos trabalhos ativos."
-
-#, c-format
-msgid "Too many job-sheets values (%d > 2)."
-msgstr ""
-
-#, c-format
-msgid "Too many printer-state-reasons values (%d > %d)."
-msgstr ""
-
-msgid "Transparency"
-msgstr "Transparência"
-
-msgid "Tray"
-msgstr "Bandeja"
-
-msgid "Tray 1"
-msgstr "Bandeja 1"
-
-msgid "Tray 2"
-msgstr "Bandeja 2"
-
-msgid "Tray 3"
-msgstr "Bandeja 3"
-
-msgid "Tray 4"
-msgstr "Bandeja 4"
-
-msgid "URI Too Long"
-msgstr "URI Muito Extenso"
-
-msgid "US Ledger"
-msgstr "Duplo Carta EUA"
-
-msgid "US Legal"
-msgstr "Legal EUA"
-
-msgid "US Legal Oversize"
-msgstr ""
-
-msgid "US Letter"
-msgstr "Carta EUA"
-
-msgid "US Letter Long Edge"
-msgstr ""
-
-msgid "US Letter Oversize"
-msgstr ""
-
-msgid "US Letter Oversize Long Edge"
-msgstr ""
-
-msgid "US Letter Small"
-msgstr ""
-
-#, c-format
-msgid "USB Serial Port #%d"
-msgstr "Porta Serial USB nº%d"
-
-msgid "Unable to access cupsd.conf file:"
-msgstr "Não é possível acessar cupsd.conf file:"
-
-msgid "Unable to add RSS subscription:"
-msgstr "Não é possível adicionar a inscrição RSS:"
-
-msgid "Unable to add class:"
-msgstr "Não é possível adicionar a classe:"
-
-msgid "Unable to add document to print job."
-msgstr ""
-
-#, c-format
-msgid "Unable to add job for destination \"%s\"."
-msgstr ""
-
-msgid "Unable to add printer:"
-msgstr "Não é possível adicionar a impressora:"
-
-msgid "Unable to allocate memory for file types."
-msgstr ""
-
-msgid "Unable to allocate memory for page info"
-msgstr ""
-
-msgid "Unable to allocate memory for pages array"
-msgstr ""
-
-msgid "Unable to cancel RSS subscription:"
-msgstr "Não é possível cancelar a inscrição RSS:"
-
-msgid "Unable to cancel print job."
-msgstr ""
-
-msgid "Unable to change printer-is-shared attribute:"
-msgstr "Não é possível alterar o atributo printer-is-shared:"
-
-msgid "Unable to change printer:"
-msgstr "Não é possível alterar a impressora:"
-
-msgid "Unable to change server settings:"
-msgstr "Não é possível alterar as configurações do servidor:"
-
-msgid "Unable to configure printer options."
-msgstr ""
-
-msgid "Unable to connect to host."
-msgstr "Não é possível conectar ao host."
-
-msgid "Unable to contact printer, queuing on next printer in class."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy 64-bit CUPS printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy 64-bit Windows printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy CUPS printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy PPD file - %s"
-msgstr ""
-
-msgid "Unable to copy PPD file."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy Windows 2000 printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy Windows 9x printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy interface script - %s"
-msgstr ""
-
-msgid "Unable to copy print file"
-msgstr ""
-
-msgid "Unable to create compressed print file"
-msgstr ""
-
-msgid "Unable to create pipes for filters"
-msgstr ""
-
-msgid "Unable to create printer-uri"
-msgstr ""
-
-msgid "Unable to create temporary file"
-msgstr ""
-
-msgid "Unable to create temporary file:"
-msgstr "Não é possível criar o arquivo temporário:"
-
-msgid "Unable to delete class:"
-msgstr "Não é possível apagar a classe:"
-
-msgid "Unable to delete printer:"
-msgstr "Não é possível apagar a impressora:"
-
-msgid "Unable to do maintenance command:"
-msgstr "Não é possível fazer um comando de manutenção:"
-
-msgid "Unable to edit cupsd.conf files larger than 1MB"
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (certificate chain invalid)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (certificate not yet valid)."
-msgstr ""
-
-msgid "Unable to establish a secure connection to host (expired certificate)."
-msgstr ""
-
-msgid "Unable to establish a secure connection to host (host name mismatch)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (peer dropped connection "
-"before responding)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (self-signed certificate)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (untrusted certificate)."
-msgstr ""
-
-msgid "Unable to establish a secure connection to host."
-msgstr ""
-
-msgid "Unable to find destination for job"
-msgstr ""
-
-msgid "Unable to find printer."
-msgstr ""
-
-msgid "Unable to fork filter"
-msgstr ""
-
-msgid "Unable to generate compressed print file"
-msgstr ""
-
-msgid "Unable to get backend exit status."
-msgstr ""
-
-msgid "Unable to get class list:"
-msgstr "Não é possível obter a lista de classe:"
-
-msgid "Unable to get class status:"
-msgstr "Não é possível obter o estado de classe:"
-
-msgid "Unable to get list of printer drivers:"
-msgstr "Não é possível obter uma lista de drivers de impressora:"
-
-msgid "Unable to get printer attributes:"
-msgstr "Não é possível obter os atributos de impressora:"
-
-msgid "Unable to get printer list:"
-msgstr "Não é possível obter a lista de impressão:"
-
-msgid "Unable to get printer status."
-msgstr ""
-
-msgid "Unable to get printer status:"
-msgstr "Não é possível obter o estado da impressora:"
-
-#, c-format
-msgid "Unable to install Windows 2000 printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to install Windows 9x printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to locate printer \"%s\"."
-msgstr ""
-
-msgid "Unable to locate printer."
-msgstr ""
-
-msgid "Unable to modify class:"
-msgstr "Não é possível modificar a classe:"
-
-msgid "Unable to modify printer:"
-msgstr "Não é possível modificar a impressora:"
-
-msgid "Unable to move job"
-msgstr "Não é possível mover o trabalho"
-
-msgid "Unable to move jobs"
-msgstr "Não é possível mover os trabalhos"
-
-msgid "Unable to open PPD file"
-msgstr "Não é possível abrir o arquivo PPD"
-
-msgid "Unable to open PPD file:"
-msgstr "Não é possível abrir o arquivo PPD:"
-
-msgid "Unable to open charset file"
-msgstr ""
-
-msgid "Unable to open compressed print file"
-msgstr ""
-
-msgid "Unable to open cupsd.conf file:"
-msgstr "Não é possível abrir o arquivo cupsd.conf:"
-
-msgid "Unable to open device file"
-msgstr ""
-
-#, c-format
-msgid "Unable to open document #%d in job #%d."
-msgstr ""
-
-msgid "Unable to open print file"
-msgstr ""
-
-msgid "Unable to open psglyphs"
-msgstr ""
-
-msgid "Unable to open raster file"
-msgstr ""
-
-#, c-format
-msgid "Unable to print %d text columns."
-msgstr ""
-
-#, c-format
-msgid "Unable to print %dx%d text page."
-msgstr ""
-
-msgid "Unable to print test page:"
-msgstr "Não é possível imprimir uma página de teste:"
-
-msgid "Unable to read print data"
-msgstr ""
-
-msgid "Unable to read print data."
-msgstr ""
-
-#, c-format
-msgid "Unable to run \"%s\": %s"
-msgstr ""
-
-msgid "Unable to see in file"
-msgstr ""
-
-msgid "Unable to send command to printer driver"
-msgstr ""
-
-msgid "Unable to send data to printer."
-msgstr ""
-
-msgid "Unable to send raster data to the driver."
-msgstr ""
-
-#, c-format
-msgid "Unable to set Windows printer driver (%d)."
-msgstr ""
-
-msgid "Unable to set options:"
-msgstr "Não é possível definir as opções:"
-
-msgid "Unable to set server default:"
-msgstr "Não é possível definir o padrão do servidor:"
-
-msgid "Unable to start backend process."
-msgstr ""
-
-msgid "Unable to upload cupsd.conf file:"
-msgstr "Não é possível carregar o arquivo cupsd.conf:"
-
-msgid "Unable to use legacy USB class driver."
-msgstr ""
-
-msgid "Unable to write print data"
-msgstr ""
-
-#, c-format
-msgid "Unable to write uncompressed print data: %s"
-msgstr ""
-
-msgid "Unauthorized"
-msgstr "Não autorizado"
-
-msgid "Units"
-msgstr "Unidades"
-
-msgid "Unknown"
-msgstr "desconhecido"
-
-#, c-format
-msgid "Unknown choice \"%s\" for option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown encryption option value: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown file order: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown format character: \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown option \"%s\" with value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown print mode: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown printer-error-policy \"%s\"."
-msgstr "printer-error-policy desconhecido \"%s\"."
-
-#, c-format
-msgid "Unknown printer-op-policy \"%s\"."
-msgstr "printer-op-policy desconhecido \"%s\"."
-
-#, c-format
-msgid "Unknown version option value: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported baud rate: %s"
-msgstr ""
-
-#, c-format
-msgid "Unsupported brightness value %s, using brightness=100."
-msgstr ""
-
-#, c-format
-msgid "Unsupported character set \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported compression \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported document-format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported document-format \"%s/%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported gamma value %s, using gamma=1000."
-msgstr ""
-
-msgid "Unsupported margins."
-msgstr ""
-
-msgid "Unsupported media value."
-msgstr ""
-
-#, c-format
-msgid "Unsupported number-up value %d, using number-up=1."
-msgstr ""
-
-#, c-format
-msgid "Unsupported number-up-layout value %s, using number-up-layout=lrtb."
-msgstr ""
-
-#, c-format
-msgid "Unsupported page-border value %s, using page-border=none."
-msgstr ""
-
-msgid "Unsupported raster data."
-msgstr ""
-
-msgid "Unsupported value type"
-msgstr "Tipo de valor incompatível"
-
-msgid "Upgrade Required"
-msgstr "Atualização Requerida"
-
-msgid ""
-"Usage:\n"
-"\n"
-"    lpadmin [-h server] -d destination\n"
-"    lpadmin [-h server] -x destination\n"
-"    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m model]\n"
-"                       [-r remove-class] [-v device] [-D description]\n"
-"                       [-P ppd-file] [-o name=value]\n"
-"                       [-u allow:user,user] [-u deny:user,user]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job user title copies options [filename]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job-id user title copies options [file]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job-id user title copies options file"
-msgstr ""
-
-msgid "Usage: convert [ options ]"
-msgstr ""
-
-msgid "Usage: cupsaddsmb [options] printer1 ... printerN"
-msgstr ""
-
-msgid "Usage: cupsctl [options] [param=value ... paramN=valueN]"
-msgstr ""
-
-msgid "Usage: cupsd [options]"
-msgstr ""
-
-msgid "Usage: cupsfilter [ options ] filename"
-msgstr ""
-
-msgid "Usage: cupstestdsc [options] filename.ps [... filename.ps]"
-msgstr ""
-
-msgid ""
-"Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]"
-msgstr ""
-
-msgid "Usage: ipptool [options] URI filename [ ... filenameN ]"
-msgstr ""
-
-msgid "Usage: lpmove job/src dest"
-msgstr ""
-
-msgid ""
-"Usage: lpoptions [-h server] [-E] -d printer\n"
-"       lpoptions [-h server] [-E] [-p printer] -l\n"
-"       lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
-"       lpoptions [-h server] [-E] -x printer"
-msgstr ""
-
-msgid "Usage: lppasswd [-g groupname]"
-msgstr ""
-
-msgid ""
-"Usage: lppasswd [-g groupname] [username]\n"
-"       lppasswd [-g groupname] -a [username]\n"
-"       lppasswd [-g groupname] -x [username]"
-msgstr ""
-
-msgid ""
-"Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]"
-msgstr ""
-
-msgid "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]"
-msgstr ""
-
-msgid "Usage: ppdhtml [options] filename.drv >filename.html"
-msgstr ""
-
-msgid "Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]"
-msgstr ""
-
-msgid "Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]"
-msgstr ""
-
-msgid ""
-"Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]"
-msgstr ""
-
-msgid "Usage: snmp [host-or-ip-address]"
-msgstr ""
-
-msgid "Value uses indefinite length"
-msgstr "Valor usa comprimento indefinido"
-
-msgid "VarBind uses indefinite length"
-msgstr "VarBind usa comprimento indefinido"
-
-msgid "Version uses indefinite length"
-msgstr "Versão usa comprimento indefinido"
-
-msgid "Waiting for job to complete."
-msgstr ""
-
-msgid "Waiting for printer to become available."
-msgstr ""
-
-msgid "Waiting for printer to finish."
-msgstr ""
-
-msgid "Warning, no Windows 2000 printer drivers are installed."
-msgstr ""
-
-msgid "Web Interface is Disabled"
-msgstr ""
-
-msgid "Yes"
-msgstr "Sim"
-
-#, c-format
-msgid ""
-"You must access this page using the URL <A HREF=\"https://%s:%d%s\">https://%"
-"s:%d%s</A>."
-msgstr ""
-"Você deve acessar esta página usando a URL <A HREF=\"https://%s:%d%s"
-"\">https://%s:%d%s</A>."
-
-msgid ""
-"Your password must be at least 6 characters long, cannot contain your "
-"username, and must contain at least one letter and number."
-msgstr ""
-
-msgid "ZPL Label Printer"
-msgstr "Impressora de Etiquetas ZPL"
-
-msgid "Zebra"
-msgstr "Zebra"
-
-msgid "aborted"
-msgstr "anulado"
-
-msgid "canceled"
-msgstr "cancelado"
-
-msgid "completed"
-msgstr "concluído"
-
-msgid "convert: Use the -f option to specify a file to convert."
-msgstr ""
-
-msgid "cups-deviced failed to execute."
-msgstr "falha de cups-deviced ao executar."
-
-msgid "cups-driverd failed to execute."
-msgstr "falha de cups-driverd ao executar."
-
-#, c-format
-msgid "cupsaddsmb: No PPD file for printer \"%s\" - %s"
-msgstr ""
-
-msgid "cupsctl: Cannot set Listen or Port directly."
-msgstr ""
-
-#, c-format
-msgid "cupsctl: Unable to connect to server: %s"
-msgstr ""
-
-#, c-format
-msgid "cupsctl: Unknown option \"%s\""
-msgstr ""
-
-#, c-format
-msgid "cupsctl: Unknown option \"-%c\""
-msgstr ""
-
-msgid "cupsd: Expected config filename after \"-c\" option."
-msgstr ""
-
-msgid "cupsd: Unable to get current directory."
-msgstr ""
-
-#, c-format
-msgid "cupsd: Unknown argument \"%s\" - aborting."
-msgstr ""
-
-#, c-format
-msgid "cupsd: Unknown option \"%c\" - aborting."
-msgstr ""
-
-msgid "cupsd: launchd(8) support not compiled in, running in normal mode."
-msgstr ""
-
-#, c-format
-msgid "cupsfilter: Invalid document number %d."
-msgstr ""
-
-#, c-format
-msgid "cupsfilter: Invalid job ID %d."
-msgstr ""
-
-msgid "cupsfilter: Only one filename can be specified."
-msgstr ""
-
-#, c-format
-msgid "cupsfilter: Unable to get job file - %s"
-msgstr ""
-
-msgid "cupstestppd: The -q option is incompatible with the -v option."
-msgstr ""
-
-msgid "cupstestppd: The -v option is incompatible with the -q option."
-msgstr ""
-
-#, c-format
-msgid "device for %s/%s: %s"
-msgstr ""
-
-#, c-format
-msgid "device for %s: %s"
-msgstr ""
-
-msgid "error-index uses indefinite length"
-msgstr "error-index usa comprimento indefinido"
-
-msgid "error-status uses indefinite length"
-msgstr "error-status usa comprimento indefinido"
-
-msgid "held"
-msgstr "mantido"
-
-msgid "help\t\tGet help on commands."
-msgstr ""
-
-msgid "idle"
-msgstr "ocioso"
-
-msgid "ipptool: \"-i\" and \"-n\" are incompatible with -X\"."
-msgstr ""
-
-msgid "ipptool: \"-i\" is incompatible with \"-X\"."
-msgstr ""
-
-msgid "ipptool: \"-n\" is incompatible with \"-X\"."
-msgstr ""
-
-#, c-format
-msgid "ipptool: Bad URI - %s."
-msgstr ""
-
-#, c-format
-msgid "ipptool: Bad version %s for \"-V\"."
-msgstr ""
-
-msgid "ipptool: Invalid seconds for \"-i\"."
-msgstr ""
-
-msgid "ipptool: May only specify a single URI."
-msgstr ""
-
-msgid "ipptool: Missing count for \"-n\"."
-msgstr ""
-
-msgid "ipptool: Missing filename for \"-f\"."
-msgstr ""
-
-msgid "ipptool: Missing name=value for \"-d\"."
-msgstr ""
-
-msgid "ipptool: Missing seconds for \"-i\"."
-msgstr ""
-
-msgid "ipptool: Missing timeout for \"-T\"."
-msgstr ""
-
-msgid "ipptool: Missing version for \"-V\"."
-msgstr ""
-
-msgid "ipptool: URI required before test file."
-msgstr ""
-
-#, c-format
-msgid "ipptool: Unknown option \"-%c\"."
-msgstr ""
-
-msgid "job-printer-uri attribute missing."
-msgstr ""
-
-msgid "lpadmin: Class name can only contain printable characters."
-msgstr ""
-
-msgid "lpadmin: Expected PPD after \"-P\" option."
-msgstr ""
-
-msgid "lpadmin: Expected allow/deny:userlist after \"-u\" option."
-msgstr ""
-
-msgid "lpadmin: Expected class after \"-r\" option."
-msgstr ""
-
-msgid "lpadmin: Expected class name after \"-c\" option."
-msgstr ""
-
-msgid "lpadmin: Expected description after \"-D\" option."
-msgstr ""
-
-msgid "lpadmin: Expected device URI after \"-v\" option."
-msgstr ""
-
-msgid "lpadmin: Expected file type(s) after \"-I\" option."
-msgstr ""
-
-msgid "lpadmin: Expected hostname after \"-h\" option."
-msgstr ""
-
-msgid "lpadmin: Expected interface after \"-i\" option."
-msgstr ""
-
-msgid "lpadmin: Expected location after \"-L\" option."
-msgstr ""
-
-msgid "lpadmin: Expected model after \"-m\" option."
-msgstr ""
-
-msgid "lpadmin: Expected name after \"-R\" option."
-msgstr ""
-
-msgid "lpadmin: Expected name=value after \"-o\" option."
-msgstr ""
-
-msgid "lpadmin: Expected printer after \"-p\" option."
-msgstr ""
-
-msgid "lpadmin: Expected printer name after \"-d\" option."
-msgstr ""
-
-msgid "lpadmin: Expected printer or class after \"-x\" option."
-msgstr ""
-
-msgid "lpadmin: No member names were seen."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Printer %s is already a member of class %s."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Printer %s is not a member of class %s."
-msgstr ""
-
-msgid "lpadmin: Printer name can only contain printable characters."
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to add a printer to the class:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unable to connect to server: %s"
-msgstr ""
-
-msgid "lpadmin: Unable to create temporary file"
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to delete option:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unable to open PPD file \"%s\" - %s"
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to remove a printer from the class:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to set the printer options:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unknown allow/deny option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unknown argument \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unknown option \"%c\"."
-msgstr ""
-
-msgid "lpadmin: Warning - content type list ignored."
-msgstr ""
-
-msgid "lpc> "
-msgstr "lpc> "
-
-msgid "lpinfo: Expected 1284 device ID string after \"--device-id\"."
-msgstr ""
-
-msgid "lpinfo: Expected language after \"--language\"."
-msgstr ""
-
-msgid "lpinfo: Expected make and model after \"--make-and-model\"."
-msgstr ""
-
-msgid "lpinfo: Expected product string after \"--product\"."
-msgstr ""
-
-msgid "lpinfo: Expected scheme list after \"--exclude-schemes\"."
-msgstr ""
-
-msgid "lpinfo: Expected scheme list after \"--include-schemes\"."
-msgstr ""
-
-msgid "lpinfo: Expected timeout after \"--timeout\"."
-msgstr ""
-
-#, c-format
-msgid "lpinfo: Unknown argument \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpinfo: Unknown option \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "lpinfo: Unknown option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpmove: Unable to connect to server: %s"
-msgstr ""
-
-#, c-format
-msgid "lpmove: Unknown argument \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpmove: Unknown option \"%c\"."
-msgstr ""
-
-msgid "lpoptions: No printers."
-msgstr ""
-
-#, c-format
-msgid "lpoptions: Unable to add printer or instance: %s"
-msgstr ""
-
-#, c-format
-msgid "lpoptions: Unable to get PPD file for %s: %s"
-msgstr ""
-
-#, c-format
-msgid "lpoptions: Unable to open PPD file for %s."
-msgstr ""
-
-msgid "lpoptions: Unknown printer or class."
-msgstr ""
-
-msgid "lppasswd: Only root can add or delete passwords."
-msgstr ""
-
-msgid "lppasswd: Password file busy."
-msgstr ""
-
-msgid "lppasswd: Password file not updated."
-msgstr ""
-
-msgid "lppasswd: Sorry, password doesn't match."
-msgstr ""
-
-msgid "lppasswd: Sorry, password rejected."
-msgstr ""
-
-msgid "lppasswd: Sorry, passwords don't match."
-msgstr ""
-
-#, c-format
-msgid "lppasswd: Unable to copy password string: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: Unable to open password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: Unable to write to password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: failed to backup old password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: failed to rename password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: user \"%s\" and group \"%s\" do not exist."
-msgstr ""
-
-#, c-format
-msgid ""
-"lpstat: error - %s environment variable names non-existent destination \"%s"
-"\"."
-msgstr ""
-
-#, c-format
-msgid "members of class %s:"
-msgstr ""
-
-msgid "no entries"
-msgstr ""
-
-msgid "no system default destination"
-msgstr ""
-
-msgid "notify-events not specified."
-msgstr ""
-
-#, c-format
-msgid "notify-recipient-uri URI \"%s\" is already used."
-msgstr ""
-
-#, c-format
-msgid "notify-recipient-uri URI \"%s\" uses unknown scheme."
-msgstr ""
-
-msgid "pending"
-msgstr "pendente"
-
-#, c-format
-msgid "ppdc: Adding include directory \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Adding/updating UI text from %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad boolean value (%s) on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad font attribute: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad resolution name \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad status keyword %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad variable substitution ($%c) on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Choice found on line %d of %s with no Option."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Duplicate #po for locale %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected a filter definition on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected a program name on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected boolean value on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected charset after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected choice code on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected choice name/text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected color order for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected colorspace for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected compression for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected constraints string for UIConstraints on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Expected driver type keyword following DriverType on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected duplex type after Duplex on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected encoding after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected filename after #po %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected group name/text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected include filename on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected integer on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected locale after #po on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after FileName on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after Manufacturer on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after MediaSize on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after ModelName on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after PCFileName on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text after Installable on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text after Resolution on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text combination for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected option name/text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected option section on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected option type on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected override field after Resolution on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected quoted string on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected real number on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Expected resolution/mediatype following ColorProfile on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Expected resolution/mediatype following SimpleColorProfile on line %d "
-"of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected selector after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected status after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected string after Copyright on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected string after Version on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected two option names on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected value after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected version after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid #include/#po filename \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid cost for filter on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid empty MIME type for filter on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid empty program name for filter on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid option section \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid option type \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Loading driver information file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Loading messages for locale \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Loading messages from \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Missing #endif at end of \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Missing #if on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Need a msgid line before any translation strings on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: No message catalog provided for locale %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Option %s defined in two different groups on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Option %s redefined with a different type on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Option constraint must *name on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Too many nested #if's on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to create PPD file \"%s\" - %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to create output directory %s: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to create output pipes: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to execute cupstestppd: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to find #po file %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to find include file \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to find localization for \"%s\" - %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to load localization file \"%s\" - %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to open %s: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Undefined variable (%s) on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unexpected text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown driver type %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown media size \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown message catalog format for \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown token \"%s\" seen on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Unknown trailing characters in real number \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unterminated string starting with %c on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Warning - overlapping filename \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Writing %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Writing PPD files to directory \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s."
-msgstr ""
-
-#, c-format
-msgid "ppdmerge: Ignoring PPD file %s."
-msgstr ""
-
-#, c-format
-msgid "ppdmerge: Unable to backup %s to %s - %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s disabled since %s -"
-msgstr ""
-
-#, c-format
-msgid "printer %s is idle.  enabled since %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s now printing %s-%d.  enabled since %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s/%s disabled since %s -"
-msgstr ""
-
-#, c-format
-msgid "printer %s/%s is idle.  enabled since %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s/%s now printing %s-%d.  enabled since %s"
-msgstr ""
-
-msgid "processing"
-msgstr "processando"
-
-#, c-format
-msgid "request id is %s-%d (%d file(s))"
-msgstr ""
-
-msgid "request-id uses indefinite length"
-msgstr "request-id usa comprimento indefinido"
-
-msgid "scheduler is not running"
-msgstr ""
-
-msgid "scheduler is running"
-msgstr ""
-
-#, c-format
-msgid "stat of %s failed: %s"
-msgstr "falha de stat de %s: %s"
-
-msgid "status\t\tShow status of daemon and queue."
-msgstr ""
-
-msgid "stopped"
-msgstr "parado"
-
-#, c-format
-msgid "system default destination: %s"
-msgstr ""
-
-#, c-format
-msgid "system default destination: %s/%s"
-msgstr ""
-
-msgid "unknown"
-msgstr "desconhecido"
-
-msgid "untitled"
-msgstr "sem título"
-
-msgid "variable-bindings uses indefinite length"
-msgstr "variable-bindings usa comprimento indefinido"
-
-#~ msgid "\t\t(all)\n"
-#~ msgstr "\t\t(todos)\n"
-
-#~ msgid "\t\t(none)\n"
-#~ msgstr "\t\t(nenhum)\n"
-
-#~ msgid "\t%d entries\n"
-#~ msgstr "\t%d entradas\n"
-
-#~ msgid "\tAfter fault: continue\n"
-#~ msgstr "\tApós falha: continuar\n"
-
-#~ msgid "\tAlerts:"
-#~ msgstr "\tAlertas:"
-
-#~ msgid "\tBanner required\n"
-#~ msgstr "\tBanner requisitado\n"
-
-#~ msgid "\tCharset sets:\n"
-#~ msgstr "\tConjunto de caracteres:\n"
-
-#~ msgid "\tConnection: direct\n"
-#~ msgstr "\tConexão: direta\n"
-
-#~ msgid "\tConnection: remote\n"
-#~ msgstr "\tConexão: remota\n"
-
-#~ msgid "\tDefault page size:\n"
-#~ msgstr "\tTamanho de página padrão:\n"
-
-#~ msgid "\tDefault pitch:\n"
-#~ msgstr "\tTom padrão:\n"
-
-#~ msgid "\tDefault port settings:\n"
-#~ msgstr "\tAjustes de porta padrão:\n"
-
-#~ msgid "\tDescription: %s\n"
-#~ msgstr "\tDescrição: %s\n"
-
-#~ msgid ""
-#~ "\tForm mounted:\n"
-#~ "\tContent types: any\n"
-#~ "\tPrinter types: unknown\n"
-#~ msgstr ""
-#~ "\tFormato montado:\n"
-#~ "\tTipos de conteúdo: qualquer\n"
-#~ "\tTipos de impressora: desconhecido\n"
-
-#~ msgid "\tForms allowed:\n"
-#~ msgstr "\tFormatos permitidos:\n"
-
-#~ msgid "\tInterface: %s.ppd\n"
-#~ msgstr "\tInterface: %s.ppd\n"
-
-#~ msgid "\tInterface: %s/interfaces/%s\n"
-#~ msgstr "\tInterface: %s/interfaces/%s\n"
-
-#~ msgid "\tInterface: %s/ppd/%s.ppd\n"
-#~ msgstr "\tInterface: %s/ppd/%s.ppd\n"
-
-#~ msgid "\tLocation: %s\n"
-#~ msgstr "\tLocalização: %s\n"
-
-#~ msgid "\tOn fault: no alert\n"
-#~ msgstr "\tNa falha: nenhum alerta\n"
-
-#~ msgid "\tUsers allowed:\n"
-#~ msgstr "\tUsuários permitidos:\n"
-
-#~ msgid "\tUsers denied:\n"
-#~ msgstr "\tUsuários negados:\n"
-
-#~ msgid "\tdaemon present\n"
-#~ msgstr "\tapresentação de daemon\n"
-
-#~ msgid "\tno entries\n"
-#~ msgstr "\tnenhuma entrada\n"
-
-#~ msgid "\tprinter is on device '%s' speed -1\n"
-#~ msgstr "\ta impressora está no dispositivo '%s' velocidade -1\n"
-
-#~ msgid "\tprinting is disabled\n"
-#~ msgstr "\ta impressão está desativada\n"
-
-#~ msgid "\tprinting is enabled\n"
-#~ msgstr "\ta impressão está ativada\n"
-
-#~ msgid "\tqueued for %s\n"
-#~ msgstr "\tenfileirado para %s\n"
-
-#~ msgid "\tqueuing is disabled\n"
-#~ msgstr "\to enfileiramento está desativado\n"
-
-#~ msgid "\tqueuing is enabled\n"
-#~ msgstr "\to enfileiramento está ativado\n"
-
-#~ msgid "\treason unknown\n"
-#~ msgstr "\tmotivo desconhecido\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "    DETAILED CONFORMANCE TEST RESULTS\n"
-#~ msgstr ""
-#~ "\n"
-#~ "    DETAILED CONFORMANCE TEST RESULTS\n"
-
-#~ msgid "                REF: Page 15, section 3.1.\n"
-#~ msgstr "                REF: Página 15, seção 3.1.\n"
-
-#~ msgid "                REF: Page 15, section 3.2.\n"
-#~ msgstr "                REF: Página 15, seção 3.2.\n"
-
-#~ msgid "                REF: Page 19, section 3.3.\n"
-#~ msgstr "                REF: Página 19, seção 3.3.\n"
-
-#~ msgid "                REF: Page 20, section 3.4.\n"
-#~ msgstr "                REF: Página 20, seção 3.4.\n"
-
-#~ msgid "                REF: Page 27, section 3.5.\n"
-#~ msgstr "                REF: Página 27, seção 3.5.\n"
-
-#~ msgid "                REF: Page 42, section 5.2.\n"
-#~ msgstr "                REF: Página 42, seção 5.2.\n"
-
-#~ msgid "                REF: Pages 16-17, section 3.2.\n"
-#~ msgstr "                REF: Página 16-17, seção 3.2.\n"
-
-#~ msgid "                REF: Pages 42-45, section 5.2.\n"
-#~ msgstr "                REF: Página 42-45, seção 5.2.\n"
-
-#~ msgid "                REF: Pages 45-46, section 5.2.\n"
-#~ msgstr "                REF: Página 45-46, seção 5.2.\n"
-
-#~ msgid "                REF: Pages 48-49, section 5.2.\n"
-#~ msgstr "                REF: Página 48-49, seção 5.2.\n"
-
-#~ msgid "                REF: Pages 52-54, section 5.2.\n"
-#~ msgstr "                REF: Página 52-54, seção 5.2.\n"
-
-#~ msgid "        %-39.39s %.0f bytes\n"
-#~ msgstr "        %-39.39s %.0f bytes\n"
-
-#~ msgid "        PASS    Default%s\n"
-#~ msgstr "        PASS    Padrão%s\n"
-
-#~ msgid "        PASS    DefaultImageableArea\n"
-#~ msgstr "        PASS    DefaultImageableArea\n"
-
-#~ msgid "        PASS    DefaultPaperDimension\n"
-#~ msgstr "        PASS    DefaultPaperDimension\n"
-
-#~ msgid "        PASS    FileVersion\n"
-#~ msgstr "        PASS    FileVersion\n"
-
-#~ msgid "        PASS    FormatVersion\n"
-#~ msgstr "        PASS    FormatVersion\n"
-
-#~ msgid "        PASS    LanguageEncoding\n"
-#~ msgstr "        PASS    LanguageEncoding\n"
-
-#~ msgid "        PASS    LanguageVersion\n"
-#~ msgstr "        PASS    LanguageVersion\n"
-
-#~ msgid "        PASS    Manufacturer\n"
-#~ msgstr "        PASS    Fabricante\n"
-
-#~ msgid "        PASS    ModelName\n"
-#~ msgstr "        PASS    ModelName\n"
-
-#~ msgid "        PASS    NickName\n"
-#~ msgstr "        PASS    NickName\n"
-
-#~ msgid "        PASS    PCFileName\n"
-#~ msgstr "        PASS    PCFileName\n"
-
-#~ msgid "        PASS    PSVersion\n"
-#~ msgstr "        PASS    PSVersion\n"
-
-#~ msgid "        PASS    PageRegion\n"
-#~ msgstr "        PASS    PageRegion\n"
-
-#~ msgid "        PASS    PageSize\n"
-#~ msgstr "        PASS    PageSize\n"
-
-#~ msgid "        PASS    Product\n"
-#~ msgstr "        PASS    Produto\n"
-
-#~ msgid "        PASS    ShortNickName\n"
-#~ msgstr "        PASS    ShortNickName\n"
-
-#~ msgid ""
-#~ "        WARN    \"%s %s\" conflicts with \"%s %s\"\n"
-#~ "                (constraint=\"%s %s %s %s\")\n"
-#~ msgstr ""
-#~ "        WARN    \"%s %s\" entra em conflito com \"%s %s\"\n"
-#~ "                (restrição=\"%s %s %s %s\")\n"
-
-#~ msgid "        WARN    %s has no corresponding options!\n"
-#~ msgstr "        WARN    %s não possui opções correspondentes!\n"
-
-#~ msgid ""
-#~ "        WARN    %s shares a common prefix with %s\n"
-#~ "                REF: Page 15, section 3.2.\n"
-#~ msgstr ""
-#~ "        WARN    %s compartilha um prefixo comum com %s\n"
-#~ "                REF: Página 15, seção 3.2.\n"
-
-#~ msgid "        WARN    Default choices conflicting!\n"
-#~ msgstr "        WARN    Conflito de opções padrão!\n"
-
-#~ msgid ""
-#~ "        WARN    Duplex option keyword %s may not work as expected and "
-#~ "should be named Duplex!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "        WARN    Talvez a opção dúplex do teclado %s não funcione como "
-#~ "esperado e deve ser denominada Dúplex!\n"
-#~ "                REF: Página 122, seção 5.17\n"
-
-#~ msgid ""
-#~ "        WARN    File contains a mix of CR, LF, and CR LF line endings!\n"
-#~ msgstr ""
-#~ "        WARN    O arquivo contém um mix de terminações de linha CR, LF e "
-#~ "CR LF!\n"
-
-#~ msgid ""
-#~ "        WARN    LanguageEncoding required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 56-57, section 5.3.\n"
-#~ msgstr ""
-#~ "        WARN    LanguageEncoding solicitado por PPD 4.3 spec.\n"
-#~ "                REF: Páginas 56-57, seção 5.3.\n"
-
-#~ msgid "        WARN    Line %d only contains whitespace!\n"
-#~ msgstr "        WARN    A linha %d contém apenas espaços em branco!\n"
-
-#~ msgid ""
-#~ "        WARN    Manufacturer required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 58-59, section 5.3.\n"
-#~ msgstr ""
-#~ "        WARN    Fabricante solicitado por PPD 4.3 spec.\n"
-#~ "                REF: Páginas 58-59, seção 5.3.\n"
-
-#~ msgid "        WARN    Missing APDialogExtension file \"%s\"\n"
-#~ msgstr "        WARN    Arquivo APDialogExtension ausente \"%s\"\n"
-
-#~ msgid "        WARN    Missing APPrinterIconPath file \"%s\"\n"
-#~ msgstr "        WARN    Arquivo APPrinterIconPath ausente \"%s\"\n"
-
-#~ msgid ""
-#~ "        WARN    Non-Windows PPD files should use lines ending with only "
-#~ "LF, not CR LF!\n"
-#~ msgstr ""
-#~ "        WARN    Os arquivos PPD que não sejam do Windows devem usar "
-#~ "linhas que terminem apenas com LF, e não com CR LF!\n"
-
-#~ msgid ""
-#~ "        WARN    Obsolete PPD version %.1f!\n"
-#~ "                REF: Page 42, section 5.2.\n"
-#~ msgstr ""
-#~ "        WARN    Versão PPD obsoleta%.1f!\n"
-#~ "                REF: Página 42, seção 5.2.\n"
-
-#~ msgid ""
-#~ "        WARN    PCFileName longer than 8.3 in violation of PPD spec.\n"
-#~ "                REF: Pages 61-62, section 5.3.\n"
-#~ msgstr ""
-#~ "        WARN    PCFileName maior que 8.3 em violação de PPD spec.\n"
-#~ "                REF: Páginas 61-62, seção 5.3.\n"
-
-#~ msgid ""
-#~ "        WARN    Protocols contains PJL but JCL attributes are not set.\n"
-#~ "                REF: Pages 78-79, section 5.7.\n"
-#~ msgstr ""
-#~ "        WARN    Os protocolos contém PJL, mas os atributos JCL não estão "
-#~ "definidos.\n"
-#~ "                REF: Páginas 78-79, seção 5.7.\n"
-
-#~ msgid ""
-#~ "        WARN    Protocols contains both PJL and BCP; expected TBCP.\n"
-#~ "                REF: Pages 78-79, section 5.7.\n"
-#~ msgstr ""
-#~ "        WARN    Os protocolos contêm PJL e BCP; TBCP esperado.\n"
-#~ "                REF: Páginas 78-79, seção 5.7.\n"
-
-#~ msgid ""
-#~ "        WARN    ShortNickName required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "        WARN    ShortNickName solicitado por PPD 4.3 spec.\n"
-#~ "                REF: Páginas 64-65, seção 5.3.\n"
-
-#~ msgid "      %s  %s %s does not exist!\n"
-#~ msgstr "      %s  %s %s não existe!\n"
-
-#~ msgid ""
-#~ "      %s  Bad %s choice %s!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "      %s  Escolha %s inválida %s!\n"
-#~ "                REF: Página 122, seção 5.17\n"
-
-#~ msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s!\n"
-#~ msgstr ""
-#~ "      %s  UTF-8 Inválido \"%s\" seqüência de caracteres de tradução para "
-#~ "a opção %s!\n"
-
-#~ msgid ""
-#~ "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s!\n"
-#~ msgstr ""
-#~ "      %s  UTF-8 Inválido \"%s\" seqüência de caracteres de tradução para "
-#~ "opção %s, escolha %s!\n"
-
-#~ msgid "      %s  Bad cupsFilter value \"%s\"!\n"
-#~ msgstr "      %s  Valor de cupsFilter inválido \"%s\"!\n"
-
-#~ msgid "      %s  Bad cupsICCProfile %s!\n"
-#~ msgstr "      %s  cupsICCProfile Inválido %s!\n"
-
-#~ msgid "      %s  Bad cupsPreFilter value \"%s\"!\n"
-#~ msgstr "      %s  Valor de cupsPreFilter inválido \"%s\"!\n"
-
-#~ msgid "      %s  Bad cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr "      %s  cupsUIConstraints Inválido %s: \"%s\"!\n"
-
-#~ msgid "      %s  Bad language \"%s\"!\n"
-#~ msgstr "      %s  Idioma inválido \"%s\"!\n"
-
-#~ msgid "      %s  Empty cupsUIConstraints %s!\n"
-#~ msgstr "      %s  cupsUIConstraints Vazio %s!\n"
-
-#~ msgid "      %s  Missing \"%s\" translation string for option %s!\n"
-#~ msgstr ""
-#~ "      %s  Ausente \"%s\" seqüência de caracteres de tradução para a opção "
-#~ "%s!\n"
-
-#~ msgid ""
-#~ "      %s  Missing \"%s\" translation string for option %s, choice %s!\n"
-#~ msgstr ""
-#~ "      %s  Ausente \"%s\" seqüência de caracteres de tradução para a opção "
-#~ "%s, escolha %s!\n"
-
-#~ msgid ""
-#~ "      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"!\n"
-#~ msgstr ""
-#~ "      %s  Escolha ausente *%s %s em UIConstraints \"*%s %s *%s %s\"!\n"
-
-#~ msgid "      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr "      %s  Escolha ausente *%s %s em cupsUIConstraints %s: \"%s\"!\n"
-
-#~ msgid "      %s  Missing cupsFilter file \"%s\"\n"
-#~ msgstr "      %s  Arquivo cupsFilter ausente \"%s\"\n"
-
-#~ msgid "      %s  Missing cupsICCProfile file \"%s\"!\n"
-#~ msgstr "      %s Arquivo cupsICCProfile ausente \"%s\"!\n"
-
-#~ msgid "      %s  Missing cupsPreFilter file \"%s\"\n"
-#~ msgstr "      %s  Arquivo cupsPreFilter ausente \"%s\"\n"
-
-#~ msgid "      %s  Missing cupsUIResolver %s!\n"
-#~ msgstr "      %s  cupsUIResolver ausente %s!\n"
-
-#~ msgid "      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\"!\n"
-#~ msgstr "      %s  Opção ausente %s em UIConstraints \"*%s %s *%s %s\"!\n"
-
-#~ msgid "      %s  Missing option %s in cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr "      %s  Opção ausente %s em cupsUIConstraints %s: \"%s\"!\n"
-
-#~ msgid "      %s  No base translation \"%s\" is included in file!\n"
-#~ msgstr ""
-#~ "      %s  Nenhuma tradução base de \"%s\" está incluída no arquivo!\n"
-
-#~ msgid ""
-#~ "      %s  REQUIRED %s does not define choice None!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "      %s  REQUIRED %s não define a opção Nenhum!\n"
-#~ "                REF: Página 122, seção 5.17\n"
-
-#~ msgid "      %s  cupsICCProfile %s hash value collides with %s!\n"
-#~ msgstr "      %s o valor hash de cupsICCProfile %s colide com %s!\n"
-
-#~ msgid "      %s  cupsUIResolver %s causes a loop!\n"
-#~ msgstr "      %s  cupsUIResolver %s provoca um loop!\n"
-
-#~ msgid "      **FAIL**  %s choice names %s and %s differ only by case!\n"
-#~ msgstr ""
-#~ "      **FAIL**  %s os nomes de seleção %s e %s se diferenciam apenas por "
-#~ "maiúscula ou minúscula!\n"
-
-#~ msgid ""
-#~ "      **FAIL**  %s must be 1284DeviceID!\n"
-#~ "                REF: Page 72, section 5.5\n"
-#~ msgstr ""
-#~ "      **FAIL**  %s deve ser 1284DeviceID!\n"
-#~ "                REF: Página 72, seção 5.5\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Default%s %s\n"
-#~ "                REF: Page 40, section 4.5.\n"
-#~ msgstr ""
-#~ "      **FAIL**  BAD Padrão%s %s\n"
-#~ "                REF: Página 40, seção 4.5.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD DefaultImageableArea %s!\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  BAD DefaultImageableArea %s!\n"
-#~ "                REF: Página 102, seção 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD DefaultPaperDimension %s!\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  BAD DefaultPaperDimension %s!\n"
-#~ "                REF: Página 103, seção 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD JobPatchFile attribute in file\n"
-#~ "                REF: Page 24, section 3.4.\n"
-#~ msgstr ""
-#~ "      **FAIL**  BAD atributo JobPatchFile no arquivo\n"
-#~ "                REF: Página 24, seção 3.4.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Manufacturer (should be \"HP\")\n"
-#~ "                REF: Page 211, table D.1.\n"
-#~ msgstr ""
-#~ "      **FAIL**  BAD Fabricante (deve ser \"HP\")\n"
-#~ "                REF: Página 211, tabela D.1.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Manufacturer (should be \"Oki\")\n"
-#~ "                REF: Page 211, table D.1.\n"
-#~ msgstr ""
-#~ "      **FAIL**  BAD Fabricante (deve ser \"Oki\")\n"
-#~ "                REF: Página 211, tabela D.1.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n"
-#~ "                REF: Pages 59-60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  BAD ModelName - \"%c\" não permitido na seqüência de "
-#~ "caracteres.\n"
-#~ "                REF: Páginas 59-60, seção 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD PSVersion - not \"(string) int\".\n"
-#~ "                REF: Pages 62-64, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  BAD PSVersion - não \"(seqüência de caracteres) int\".\n"
-#~ "                REF: Páginas 62-64, seção 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Product - not \"(string)\".\n"
-#~ "                REF: Page 62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  BAD Produto - não \"(seqüência de caracteres)\".\n"
-#~ "                REF: Página 62, seção 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD ShortNickName - longer than 31 chars.\n"
-#~ "                REF: Pages 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  BAD ShortNickName - maior que 31 caracteres.\n"
-#~ "                REF: Páginas 64-65, seção 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad %s choice %s!\n"
-#~ "                REF: Page 84, section 5.9\n"
-#~ msgstr ""
-#~ "      **FAIL**  Escolha %s inválida %s!\n"
-#~ "                REF: Página 84, seção 5.9\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad FileVersion \"%s\"\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  FileVersion Inválida \"%s\"\n"
-#~ "                REF: Página 56, seção 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad FormatVersion \"%s\"\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  FormatVersion Inválido \"%s\"\n"
-#~ "                REF: Página 56, seção 5.3.\n"
-
-#~ msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1!\n"
-#~ msgstr ""
-#~ "      **FAIL**  LanguageEncoding %s inválido - deve ser ISOLatin1!\n"
-
-#~ msgid "      **FAIL**  Bad LanguageVersion %s - must be English!\n"
-#~ msgstr "      **FAIL**  LanguageVersion %s inválido - deve ser inglês!\n"
-
-#~ msgid "      **FAIL**  Default option code cannot be interpreted: %s\n"
-#~ msgstr ""
-#~ "      **FAIL**  O código de opção padrão não pode ser interpretado: %s\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Default translation string for option %s choice %s "
-#~ "contains 8-bit characters!\n"
-#~ msgstr ""
-#~ "      **FAIL**  Seqüência de caracteres de tradução padrão para opção %s "
-#~ "escolha %s contém caracteres de 8 bits!\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Default translation string for option %s contains 8-bit "
-#~ "characters!\n"
-#~ msgstr ""
-#~ "      **FAIL**  Seqüência de caracteres de tradução padrão para opção %s "
-#~ "contém caracteres de 8 bits!\n"
-
-#~ msgid "      **FAIL**  Group names %s and %s differ only by case!\n"
-#~ msgstr ""
-#~ "      **FAIL**  Os nomes dos grupos %s e %s se diferenciam apenas por "
-#~ "maiúscula ou minúscula!\n"
-
-#~ msgid "      **FAIL**  Multiple occurrences of %s choice name %s!\n"
-#~ msgstr "      **FAIL** Ocorrências múltiplas de %s nome de seleção %s!\n"
-
-#~ msgid "      **FAIL**  Option names %s and %s differ only by case!\n"
-#~ msgstr ""
-#~ "      **FAIL**  Os nomes das opções %s e %s se diferenciam apenas por "
-#~ "maiúscula ou minúscula!\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Default%s\n"
-#~ "                REF: Page 40, section 4.5.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED Padrão%s\n"
-#~ "                REF: Página 40, seção 4.5.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED DefaultImageableArea\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED DefaultImageableArea\n"
-#~ "                REF: Página 102, seção 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED DefaultPaperDimension\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED DefaultPaperDimension\n"
-#~ "                REF: Página 103, seção 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED FileVersion\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED FileVersion\n"
-#~ "                REF: Página 56, seção 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED FormatVersion\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED FormatVersion\n"
-#~ "                REF: Página 56, seção 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ImageableArea for PageSize %s\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED ImageableArea para PageSize %s\n"
-#~ "                REF: Página 41, seção 5.\n"
-#~ "                REF: Página 102, seção 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED LanguageEncoding\n"
-#~ "                REF: Pages 56-57, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED LanguageEncoding\n"
-#~ "                REF: Páginas 56-57, seção 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED LanguageVersion\n"
-#~ "                REF: Pages 57-58, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED LanguageVersion\n"
-#~ "                REF: Páginas 57-58, seção 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Manufacturer\n"
-#~ "                REF: Pages 58-59, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED Fabricante\n"
-#~ "                REF: Páginas 58-59, seção 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ModelName\n"
-#~ "                REF: Pages 59-60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED ModelName\n"
-#~ "                REF: Páginas 59-60, seção 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED NickName\n"
-#~ "                REF: Page 60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED NickName\n"
-#~ "                REF: Página 60, seção 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PCFileName\n"
-#~ "                REF: Pages 61-62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED PCFileName\n"
-#~ "                REF: Páginas 61-62, seção 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PSVersion\n"
-#~ "                REF: Pages 62-64, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED PSVersion\n"
-#~ "                REF: Páginas 62-64, seção 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageRegion\n"
-#~ "                REF: Page 100, section 5.14.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED PageRegion\n"
-#~ "                REF: Página 100, seção 5.14.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageSize\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 99, section 5.14.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED PageSize\n"
-#~ "                REF: Página 41, seção 5.\n"
-#~ "                REF: Página 99, seção 5.14.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageSize\n"
-#~ "                REF: Pages 99-100, section 5.14.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED PageSize\n"
-#~ "                REF: Páginas 99-100, seção 5.14.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PaperDimension for PageSize %s\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED PaperDimension para PageSize %s\n"
-#~ "                REF: Página 41, seção 5.\n"
-#~ "                REF: Página 103, seção 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Product\n"
-#~ "                REF: Page 62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED Produto\n"
-#~ "                REF: Página 62, seção 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ShortNickName\n"
-#~ "                REF: Page 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FAIL**  REQUIRED ShortNickName\n"
-#~ "                REF: Página 64-65, seção 5.3.\n"
-
-#~ msgid "    %d ERRORS FOUND\n"
-#~ msgstr "    %d ERROS ENCONTRADOS\n"
-
-#~ msgid ""
-#~ "    Bad %%%%BoundingBox: on line %d!\n"
-#~ "        REF: Page 39, %%%%BoundingBox:\n"
-#~ msgstr ""
-#~ "    %%%%BoundingBox inválido: na linha %d!\n"
-#~ "        REF: Página 39, %%%%BoundingBox:\n"
-
-#~ msgid ""
-#~ "    Bad %%%%Page: on line %d!\n"
-#~ "        REF: Page 53, %%%%Page:\n"
-#~ msgstr ""
-#~ "    %%%%Página inválida: na linha %d!\n"
-#~ "        REF: Página 53, %%%%Página:\n"
-
-#~ msgid ""
-#~ "    Bad %%%%Pages: on line %d!\n"
-#~ "        REF: Page 43, %%%%Pages:\n"
-#~ msgstr ""
-#~ "    %%%%Páginas inválidas: na linha %d!\n"
-#~ "        REF: Página 43, %%%%Páginas:\n"
-
-#~ msgid ""
-#~ "    Line %d is longer than 255 characters (%d)!\n"
-#~ "        REF: Page 25, Line Length\n"
-#~ msgstr ""
-#~ "    A linha %d é maior do que 255 caracteres (%d)!\n"
-#~ "        REF: Página 25, Comprimento de Linha\n"
-
-#~ msgid ""
-#~ "    Missing %!PS-Adobe-3.0 on first line!\n"
-#~ "        REF: Page 17, 3.1 Conforming Documents\n"
-#~ msgstr ""
-#~ "    %!PS-Adobe-3.0 ausente na primeira linha!\n"
-#~ "        REF: Página 17, 3.1 Documentos Conformes\n"
-
-#~ msgid ""
-#~ "    Missing %%EndComments comment!\n"
-#~ "        REF: Page 41, %%EndComments\n"
-#~ msgstr ""
-#~ "    Comentário %%EndComments ausente!\n"
-#~ "        REF: Página 41, %%EndComments\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%BoundingBox: comment!\n"
-#~ "        REF: Page 39, %%BoundingBox:\n"
-#~ msgstr ""
-#~ "    %%BoundingBox ausente ou inválido: comentário!\n"
-#~ "        REF: Página 39, %%BoundingBox:\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%Page: comments!\n"
-#~ "        REF: Page 53, %%Page:\n"
-#~ msgstr ""
-#~ "    %%Página ausente ou inválida: comentários!\n"
-#~ "        REF: Página 53, %%Página:\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%Pages: comment!\n"
-#~ "        REF: Page 43, %%Pages:\n"
-#~ msgstr ""
-#~ "    %%Páginas ausentes ou inválidas: comentário!\n"
-#~ "        REF: Página 43, %%Páginas:\n"
-
-#~ msgid "    NO ERRORS FOUND\n"
-#~ msgstr "    NENHUM ERRO ENCONTRADO\n"
-
-#~ msgid "    Saw %d lines that exceeded 255 characters!\n"
-#~ msgstr "    Visualizadas %d linhas que excedem 255 caracteres!\n"
-
-#~ msgid "    Too many %%BeginDocument comments!\n"
-#~ msgstr "    Muitos comentários %%BeginDocument!\n"
-
-#~ msgid "    Too many %%EndDocument comments!\n"
-#~ msgstr "    Muitos comentários %%EndDocument!\n"
-
-#~ msgid "    Warning: file contains binary data!\n"
-#~ msgstr "    Aviso: o arquivo contém dados binários!\n"
-
-#~ msgid "    Warning: no %%EndComments comment in file!\n"
-#~ msgstr "    Aviso: nenhum comentário %%EndComments no arquivo!\n"
-
-#~ msgid "    Warning: obsolete DSC version %.1f in file!\n"
-#~ msgstr "    Aviso: versão DSC obsoleta %.1f no arquivo!\n"
-
-#~ msgid " FAIL\n"
-#~ msgstr " FAIL\n"
-
-#~ msgid ""
-#~ " FAIL\n"
-#~ "      **FAIL**  Unable to open PPD file - %s\n"
-#~ msgstr ""
-#~ " FAIL\n"
-#~ "      **FAIL**  Não é possível abrir o arquivo - %s\n"
-
-#~ msgid ""
-#~ " FAIL\n"
-#~ "      **FAIL**  Unable to open PPD file - %s on line %d.\n"
-#~ msgstr ""
-#~ " FAIL\n"
-#~ "      **FAIL**  Não é possível abrir o arquivo PPD - %s na linha %d.\n"
-
-#~ msgid " PASS\n"
-#~ msgstr " PASS\n"
-
-#~ msgid "#10 Envelope"
-#~ msgstr "#10 Envelope"
-
-#~ msgid "#11 Envelope"
-#~ msgstr "#11 Envelope"
-
-#~ msgid "#12 Envelope"
-#~ msgstr "#12 Envelope"
-
-#~ msgid "#14 Envelope"
-#~ msgstr "#14 Envelope"
-
-#~ msgid "#9 Envelope"
-#~ msgstr "#9 Envelope"
-
-#~ msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes\n"
-#~ msgstr "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes\n"
-
-#~ msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes\n"
-#~ msgstr "%-7s %-7.7s %-7d %-31.31s %.0f bytes\n"
-
-#~ msgid "%s accepting requests since %s\n"
-#~ msgstr "%s aceitando solicitações desde %s\n"
-
-#~ msgid "%s is not implemented by the CUPS version of lpc.\n"
-#~ msgstr "%s não está implementado pela versão CUPS de lpc.\n"
-
-#~ msgid "%s is not ready\n"
-#~ msgstr "%s não está pronto\n"
-
-#~ msgid "%s is ready\n"
-#~ msgstr "%s está pronto\n"
-
-#~ msgid "%s is ready and printing\n"
-#~ msgstr "%s está pronto e imprimindo\n"
-
-#~ msgid ""
-#~ "%s not accepting requests since %s -\n"
-#~ "\t%s\n"
-#~ msgstr ""
-#~ "%s não está aceitando solicitações desde %s -\n"
-#~ "\t%s\n"
-
-#~ msgid "%s not supported!"
-#~ msgstr "%s não é compatível!"
-
-#~ msgid "%s/%s accepting requests since %s\n"
-#~ msgstr "%s/%s está aceitando solicitações desde %s\n"
-
-#~ msgid ""
-#~ "%s/%s not accepting requests since %s -\n"
-#~ "\t%s\n"
-#~ msgstr ""
-#~ "%s/%s não está aceitando solicitações desde %s -\n"
-#~ "\t%s\n"
-
-#~ msgid "%s: %-33.33s [job %d localhost]\n"
-#~ msgstr "%s: %-33.33s [trabalho %d localhost]\n"
-
-#~ msgid "%s: %s failed: %s\n"
-#~ msgstr "%s: %s falhou: %s\n"
-
-#~ msgid "%s: Don't know what to do!\n"
-#~ msgstr "%s: Não sei o que fazer!\n"
-
-#~ msgid ""
-#~ "%s: Error - %s environment variable names non-existent destination \"%s"
-#~ "\"!\n"
-#~ msgstr ""
-#~ "%s: Erro - %s nomes de variáveis de ambiente de destino não existente \"%s"
-#~ "\"!\n"
-
-#~ msgid "%s: Error - bad job ID!\n"
-#~ msgstr "%s: Erro - ID de trabalho inválido!\n"
-
-#~ msgid "%s: Error - cannot print files and alter jobs simultaneously!\n"
-#~ msgstr ""
-#~ "%s: Erro - não é possível imprimir arquivos e alterar trabalhos "
-#~ "simultaneamente!\n"
-
-#~ msgid ""
-#~ "%s: Error - cannot print from stdin if files or a job ID are provided!\n"
-#~ msgstr ""
-#~ "%s: Erro - não é possível imprimir a partir de stdin se os arquivos ou um "
-#~ "ID de trabalho forem fornecidos!\n"
-
-#~ msgid "%s: Error - expected character set after '-S' option!\n"
-#~ msgstr "%s: Erro - conjunto de caracteres esperado após opção '-S'!\n"
-
-#~ msgid "%s: Error - expected content type after '-T' option!\n"
-#~ msgstr "%s: Erro - tipo de conteúdo esperado após opção '-T'!\n"
-
-#~ msgid "%s: Error - expected copies after '-n' option!\n"
-#~ msgstr "%s: Erro - cópias esperadas após opção '-n'!\n"
-
-#~ msgid "%s: Error - expected copy count after '-#' option!\n"
-#~ msgstr "%s: Erro - contagem de cópias esperadas após opção '-#'!\n"
-
-#~ msgid "%s: Error - expected destination after '-P' option!\n"
-#~ msgstr "%s: Erro - destino esperado após opção '-P'!\n"
-
-#~ msgid "%s: Error - expected destination after '-b' option!\n"
-#~ msgstr "%s: Erro - destino esperado após opção '-b'!\n"
-
-#~ msgid "%s: Error - expected destination after '-d' option!\n"
-#~ msgstr "%s: Erro - destino esperado após opção '-d'!\n"
-
-#~ msgid "%s: Error - expected form after '-f' option!\n"
-#~ msgstr "%s: Erro - formulário esperado após opção '-f'!\n"
-
-#~ msgid "%s: Error - expected hold name after '-H' option!\n"
-#~ msgstr "%s: Erro - nome mantido esperado após opção '-H'!\n"
-
-#~ msgid "%s: Error - expected hostname after '-H' option!\n"
-#~ msgstr "%s: Erro - nome de host esperado após opção '-H'!\n"
-
-#~ msgid "%s: Error - expected hostname after '-h' option!\n"
-#~ msgstr "%s: Erro - nome de host esperado após opção '-H'!\n"
-
-#~ msgid "%s: Error - expected mode list after '-y' option!\n"
-#~ msgstr "%s: Erro - lista de modo esperado após opção '-y'!\n"
-
-#~ msgid "%s: Error - expected name after '-%c' option!\n"
-#~ msgstr "%s: Erro - nome esperado após opção '-%c'!\n"
-
-#~ msgid "%s: Error - expected option string after '-o' option!\n"
-#~ msgstr ""
-#~ "%s: Erro - seqüência de caracteres de opção esperada após opção '-o'!\n"
-
-#~ msgid "%s: Error - expected page list after '-P' option!\n"
-#~ msgstr "%s: Erro - lista de página esperada após opção '-P'!\n"
-
-#~ msgid "%s: Error - expected priority after '-%c' option!\n"
-#~ msgstr "%s: Erro - prioridade esperada após opção '-%c'!\n"
-
-#~ msgid "%s: Error - expected reason text after '-r' option!\n"
-#~ msgstr "%s: Erro - texto de motivo esperado após opção '-r'!\n"
-
-#~ msgid "%s: Error - expected title after '-t' option!\n"
-#~ msgstr "%s: Erro - título esperado após opção '-t'!\n"
-
-#~ msgid "%s: Error - expected username after '-U' option!\n"
-#~ msgstr "%s: Erro - nome de usuário esperado após opção '-U'!\n"
-
-#~ msgid "%s: Error - expected username after '-u' option!\n"
-#~ msgstr "%s: Erro - nome de usuário esperado após opção '-U'!\n"
-
-#~ msgid "%s: Error - expected value after '-%c' option!\n"
-#~ msgstr "%s: Erro - valor esperado após opção '-%c'!\n"
-
-#~ msgid ""
-#~ "%s: Error - need \"completed\", \"not-completed\", or \"all\" after '-W' "
-#~ "option!\n"
-#~ msgstr ""
-#~ "%s: Erro - necessária opções \"completo\", \"incompleto\" ou \"todos\" "
-#~ "após opção '-W'!\n"
-
-#~ msgid "%s: Error - no default destination available.\n"
-#~ msgstr "%s: Erro - nenhum destino padrão disponível.\n"
-
-#~ msgid "%s: Error - priority must be between 1 and 100.\n"
-#~ msgstr "%s: Erro - prioridade deve estar entre 1 e 100.\n"
-
-#~ msgid "%s: Error - scheduler not responding!\n"
-#~ msgstr "%s: Erro - programador não responde!\n"
-
-#~ msgid "%s: Error - too many files - \"%s\"\n"
-#~ msgstr "%s: Erro - muitos arquivos - \"%s\"\n"
-
-#~ msgid "%s: Error - unable to access \"%s\" - %s\n"
-#~ msgstr "%s: Erro - não foi possível acessar \"%s\" - %s\n"
-
-#~ msgid "%s: Error - unable to queue from stdin - %s\n"
-#~ msgstr ""
-#~ "%s: Erro - não foi possível fazer a fila a partir da mensagem padrão - %"
-#~ "s\n"
-
-#~ msgid "%s: Error - unknown destination \"%s\"!\n"
-#~ msgstr "%s: Erro - destino desconhecido \"%s\"!\n"
-
-#~ msgid "%s: Error - unknown destination \"%s/%s\"!\n"
-#~ msgstr "%s: Erro - destino desconhecido \"%s/%s\"!\n"
-
-#~ msgid "%s: Error - unknown option '%c'!\n"
-#~ msgstr "%s: Erro - opção desconhecida '%c'!\n"
-
-#~ msgid "%s: Error - unknown option '%s'!\n"
-#~ msgstr "%s: Erro - opção desconhecida '%s'!\n"
-
-#~ msgid "%s: Expected job ID after '-i' option!\n"
-#~ msgstr "%s: ID de trabalho esperada após opção '-i'!\n"
-
-#~ msgid "%s: Filter \"%s\" not available: %s\n"
-#~ msgstr "%s: Filtro \"%s\" não disponível: %s\n"
-
-#~ msgid "%s: Invalid destination name in list \"%s\"!\n"
-#~ msgstr "%s: Nome de destino inválido na lista \"%s\"!\n"
-
-#~ msgid "%s: Invalid filter string \"%s\"\n"
-#~ msgstr "%s: Seqüência de caracteres inválida \"%s\"\n"
-
-#~ msgid "%s: Need job ID ('-i jobid') before '-H restart'!\n"
-#~ msgstr ""
-#~ "%s: ID de trabalho necessária ('-i jobid') antes de 'reinício -H'!\n"
-
-#~ msgid "%s: No filter to convert from %s/%s to %s/%s!\n"
-#~ msgstr "%s: Nenhum filtro para converter de %s/%s para %s/%s!\n"
-
-#~ msgid "%s: Operation failed: %s\n"
-#~ msgstr "%s: Falha de operação: %s\n"
-
-#~ msgid "%s: Sorry, no encryption support compiled in!\n"
-#~ msgstr "%s: Desculpe, não há compatibilidade de encriptação compilada!\n"
-
-#~ msgid "%s: Unable to connect to server\n"
-#~ msgstr "%s: Não é possível conectar ao servidor\n"
-
-#~ msgid "%s: Unable to contact server!\n"
-#~ msgstr "%s: Não é possível contactar ao servidor!\n"
-
-#~ msgid "%s: Unable to determine MIME type of \"%s\"!\n"
-#~ msgstr "%s: Não é possível determinar o tipo MIME de \"%s\"!\n"
-
-#~ msgid "%s: Unable to open %s - %s\n"
-#~ msgstr "%s: Não é possível abrir %s - %s\n"
-
-#~ msgid "%s: Unable to open %s - %s on line %d.\n"
-#~ msgstr "%s: Não é possível abrir %s - %s on-line %d.\n"
-
-#~ msgid "%s: Unable to open %s: %s\n"
-#~ msgstr "%s: Não é possível abrir %s: %s\n"
-
-#~ msgid "%s: Unable to open PPD file: %s on line %d\n"
-#~ msgstr "%s: Não é possível abrir um arquivo PPD: %s on-line %d\n"
-
-#~ msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"!\n"
-#~ msgstr "%s: Não é possível ler o banco de dados MIME de \"%s\" ou \"%s\"!\n"
-
-#~ msgid "%s: Unknown destination \"%s\"!\n"
-#~ msgstr "%s: Destino desconhecido \"%s\"!\n"
-
-#~ msgid "%s: Unknown destination MIME type %s/%s!\n"
-#~ msgstr "%s: Tipo MIME de destino desconhecido %s/%s!\n"
-
-#~ msgid "%s: Unknown option '%c'!\n"
-#~ msgstr "%s: Opção desconhecida '%c'!\n"
-
-#~ msgid "%s: Unknown source MIME type %s/%s!\n"
-#~ msgstr "%s: Tipo MIME de fonte desconhecida %s/%s!\n"
-
-#~ msgid ""
-#~ "%s: Warning - '%c' format modifier not supported - output may not be "
-#~ "correct!\n"
-#~ msgstr ""
-#~ "%s: Aviso - '%c' modificador de formato não compatível - a saída pode não "
-#~ "ser correta!\n"
-
-#~ msgid "%s: Warning - character set option ignored!\n"
-#~ msgstr "%s: Aviso - opção de conjunto de caracteres foi ignorada!\n"
-
-#~ msgid "%s: Warning - content type option ignored!\n"
-#~ msgstr "%s: Aviso - opção de tipo de conteúdo foi ignorada!\n"
-
-#~ msgid "%s: Warning - form option ignored!\n"
-#~ msgstr "%s: Aviso - opção de formulário foi ignorada!\n"
-
-#~ msgid "%s: Warning - mode option ignored!\n"
-#~ msgstr "%s: Aviso - opção de modo foi ignorada!\n"
-
-#~ msgid ""
-#~ "%s: error - %s environment variable names non-existent destination \"%s"
-#~ "\"!\n"
-#~ msgstr ""
-#~ "%s: erro - %s nomes de variáveis de ambiente de destino não existente \"%s"
-#~ "\"!\n"
-
-#~ msgid "%s: error - expected option=value after '-o' option!\n"
-#~ msgstr "%s: erro - option=value esperado após opção '-o'!\n"
-
-#~ msgid "%s: error - no default destination available.\n"
-#~ msgstr "%s: erro - nenhum destino padrão disponível.\n"
-
-#~ msgid "10 x 11\""
-#~ msgstr "10 x 11\""
-
-#~ msgid "10 x 13\""
-#~ msgstr "10 x 13\""
-
-#~ msgid "10 x 14\""
-#~ msgstr "10 x 14\""
-
-#~ msgid "12 x 11\""
-#~ msgstr "12 x 11\""
-
-#~ msgid "15 x 11\""
-#~ msgstr "15 x 11\""
-
-#~ msgid "600 DPI Grayscale"
-#~ msgstr "600 ppp da escala de cinza"
-
-#~ msgid "60x720dpi"
-#~ msgstr "60x720ppp"
-
-#~ msgid "7 x 9\""
-#~ msgstr "7 x 9\""
-
-#~ msgid "8 x 10\""
-#~ msgstr "8 x 10\""
-
-#~ msgid "9 x 11\""
-#~ msgstr "9 x 11\""
-
-#~ msgid "9 x 12\""
-#~ msgstr "9 x 12\""
-
-#~ msgid "?Invalid help command unknown\n"
-#~ msgstr "?Comando de ajuda inválido desconhecido\n"
-
-#~ msgid "A Samba password is required to export printer drivers!"
-#~ msgstr ""
-#~ "Uma senha do Samba é solicitada para exportar os drivers da impressora!"
-
-#~ msgid "A Samba username is required to export printer drivers!"
-#~ msgstr ""
-#~ "Um nome de usuário do Samba é solicitado para exportar os drivers da "
-#~ "impressora!"
-
-#~ msgid "A class named \"%s\" already exists!"
-#~ msgstr "Uma classe chamada \"%s\" já existe!"
-
-#~ msgid "A printer named \"%s\" already exists!"
-#~ msgstr "Uma impressora chamada \"%s\" já existe!"
-
-#~ msgid "A3 (Oversize)"
-#~ msgstr "A3 (Excessivamente grande)"
-
-#~ msgid "A4 (Oversize)"
-#~ msgstr "A4 (Excessivamente grande)"
-
-#~ msgid "A4 (Small)"
-#~ msgstr "A4 (Pequeno)"
-
-#~ msgid "A5 (Oversize)"
-#~ msgstr "A5 (Excessivamente grande)"
-
-#~ msgid "ARCH A"
-#~ msgstr "ARCO A"
-
-#~ msgid "ARCH B"
-#~ msgstr "ARCO B"
-
-#~ msgid "Attempt to set %s printer-state to bad value %d!"
-#~ msgstr ""
-#~ "Tentativa de configurar o estado da impressora %s para valor inválido %d!"
-
-#~ msgid "Attribute groups are out of order (%x < %x)!"
-#~ msgstr "Os grupos de atributos estão fora de ordem (%x < %x)!"
-
-#~ msgid "Bad device URI \"%s\"!\n"
-#~ msgstr "Dispositivo URI inválido \"%s\"!\n"
-
-#~ msgid "Bad device-uri \"%s\"!"
-#~ msgstr "dispositivo uri inválido \"%s\"!"
-
-#~ msgid "Bad device-uri scheme \"%s\"!"
-#~ msgstr "Esquema device-uri inválido \"%s\"!"
-
-#~ msgid "Bad document-format \"%s\"!"
-#~ msgstr "formato de documento inválido \"%s\"!"
-
-#~ msgid "Bad filename buffer!"
-#~ msgstr "Armazenamento intermediário do nome do arquivo inválido!"
-
-#~ msgid "Bad font attribute: %s\n"
-#~ msgstr "Atributo de fonte inválido: %s\n"
-
-#~ msgid "Bad job-priority value!"
-#~ msgstr "Valor de job-priority inválido!"
-
-#~ msgid "Bad job-sheets value \"%s\"!"
-#~ msgstr "Valor job-sheets inválido \"%s\"!"
-
-#~ msgid "Bad job-sheets value type!"
-#~ msgstr "Tipo de valor job-sheets inválido!"
-
-#~ msgid "Bad job-state value!"
-#~ msgstr "Valor de job-state inválido!"
-
-#~ msgid "Bad job-uri attribute \"%s\"!"
-#~ msgstr "Atributo de job-uri inválido \"%s\"!"
-
-#~ msgid "Bad notify-pull-method \"%s\"!"
-#~ msgstr "notify-pull-method inválido \"%s\"!"
-
-#~ msgid "Bad notify-recipient-uri URI \"%s\"!"
-#~ msgstr "notify-recipient-uri URI inválido \"%s\"!"
-
-#~ msgid "Bad option + choice on line %d!"
-#~ msgstr "opção + escolha inválida na linha %d!"
-
-#~ msgid "Bad port-monitor \"%s\"!"
-#~ msgstr "port-monitor inválido \"%s\"!"
-
-#~ msgid "Bad printer-state value %d!"
-#~ msgstr "Valor de printer-state inválido %d!"
-
-#~ msgid "Bad request version number %d.%d!"
-#~ msgstr "Número de versão de solicitação inválido %d.%d!"
-
-#~ msgid "Bad subscription ID!"
-#~ msgstr "ID de inscrição inválido!"
-
-#~ msgid "C0 Envelope"
-#~ msgstr "Envelope C0"
-
-#~ msgid "C1 Envelope"
-#~ msgstr "Envelope C1"
-
-#~ msgid "C2 Envelope"
-#~ msgstr "Envelope C2"
-
-#~ msgid "C3 Envelope"
-#~ msgstr "Envelope C3"
-
-#~ msgid "C4"
-#~ msgstr "C4"
-
-#~ msgid "C4 Envelope"
-#~ msgstr "Envelope C4"
-
-#~ msgid "C5"
-#~ msgstr "C5"
-
-#~ msgid "C5 Envelope"
-#~ msgstr "Envelope C5"
-
-#~ msgid "C6"
-#~ msgstr "C6"
-
-#~ msgid "C6 Envelope"
-#~ msgstr "Envelope C6"
-
-#~ msgid "C65 Envelope"
-#~ msgstr "Envelope C65"
-
-#~ msgid "C7 Envelope"
-#~ msgstr "Envelope C7"
-
-#~ msgid "Character set \"%s\" not supported!"
-#~ msgstr "Conjunto de caracteres \"%s\" não compatível!"
-
-#~ msgid "Chou3 Envelope"
-#~ msgstr "Envelope Chou3"
-
-#~ msgid "Chou4 Envelope"
-#~ msgstr "Envelope Chou4"
-
-#~ msgid ""
-#~ "Commands may be abbreviated.  Commands are:\n"
-#~ "\n"
-#~ "exit    help    quit    status  ?\n"
-#~ msgstr ""
-#~ "Os comandos podem ser abreviados. Os comandos são:\n"
-#~ "\n"
-#~ "exit    help    quit    status  ?\n"
-
-#~ msgid "Could not scan type \"%s\"!"
-#~ msgstr "Não foi possível escanear tipo \"%s\"!"
-
-#~ msgid "Cover open."
-#~ msgstr "Tampa aberta."
-
-#~ msgid "DL"
-#~ msgstr "DL"
-
-#~ msgid "DL Envelope"
-#~ msgstr "Envelope DL"
-
-#~ msgid "Developer almost empty."
-#~ msgstr "Desenvolvedor quase vazio."
-
-#~ msgid "Developer empty!"
-#~ msgstr "Desenvolvedor vazio!"
-
-#~ msgid ""
-#~ "Device: uri = %s\n"
-#~ "        class = %s\n"
-#~ "        info = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ "        location = %s\n"
-#~ msgstr ""
-#~ "Dispositivo: uri = %s\n"
-#~ "        class = %s\n"
-#~ "        info = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ "        location = %s\n"
-
-#~ msgid "Document %d not found in job %d."
-#~ msgstr "Documento %d não encontrado no trabalho %d."
-
-#~ msgid "Door open."
-#~ msgstr "Porta aberta."
-
-#~ msgid "Double Postcard"
-#~ msgstr "Cartão-Postal Duplo"
-
-#~ msgid "EMERG: Unable to allocate memory for page info: %s\n"
-#~ msgstr ""
-#~ "EMERG: Não é possível alocar memória para informação de página: %s\n"
-
-#~ msgid "EMERG: Unable to allocate memory for pages array: %s\n"
-#~ msgstr "EMERG: Não é possível alocar memória para matriz de páginas: %s\n"
-
-#~ msgid "ERROR: Bad %%BoundingBox: comment seen!\n"
-#~ msgstr "ERROR: %%BoundingBox inválido: comentário visto!\n"
-
-#~ msgid "ERROR: Bad %%IncludeFeature: comment!\n"
-#~ msgstr "ERROR: %%IncludeFeature inválido: comentário!\n"
-
-#~ msgid "ERROR: Bad %%Page: comment in file!\n"
-#~ msgstr "ERROR: %%Página inválido: comentário no arquivo!\n"
-
-#~ msgid "ERROR: Bad %%PageBoundingBox: comment in file!\n"
-#~ msgstr "ERROR: %%PageBoundingBox inválido: comentário no arquivo!\n"
-
-#~ msgid "ERROR: Bad SCSI device file \"%s\"!\n"
-#~ msgstr "ERROR: Arquivo de dispositivo SCSI inválido \"%s\"!\n"
-
-#~ msgid "ERROR: Bad charset file %s\n"
-#~ msgstr "ERROR: Arquivo de conjunto de caracteres inválido %s\n"
-
-#~ msgid "ERROR: Bad charset type %s\n"
-#~ msgstr "ERROR: Tipo de conjunto de caracteres inválido %s\n"
-
-#~ msgid "ERROR: Bad columns value %d!\n"
-#~ msgstr "ERROR: Valor de colunas inválido %d!\n"
-
-#~ msgid "ERROR: Bad cpi value %f!\n"
-#~ msgstr "ERROR: Valor cpi inválido %f!\n"
-
-#~ msgid "ERROR: Bad font description line: %s\n"
-#~ msgstr "ERROR: Linha de descrição de fonte inválida: %s\n"
-
-#~ msgid "ERROR: Bad lpi value %f!\n"
-#~ msgstr "ERROR: Valor lpi inválido %f!\n"
-
-#~ msgid "ERROR: Bad page setup!\n"
-#~ msgstr "ERROR: Configuração de página inválida!\n"
-
-#~ msgid "ERROR: Bad text direction %s\n"
-#~ msgstr "ERROR: Direção de texto inválida %s\n"
-
-#~ msgid "ERROR: Bad text width %s\n"
-#~ msgstr "ERROR: Largura de texto inválida %s\n"
-
-#~ msgid "ERROR: Destination printer does not exist!\n"
-#~ msgstr "ERROR: Impressora de destino inexistente!\n"
-
-#~ msgid "ERROR: Duplicate %%BoundingBox: comment seen!\n"
-#~ msgstr "ERROR: Duplicar %%BoundingBox: comentário visto!\n"
-
-#~ msgid "ERROR: Duplicate %%Pages: comment seen!\n"
-#~ msgstr "ERROR: Duplicar %%Páginas: comentário visto!\n"
-
-#~ msgid "ERROR: Empty print file!\n"
-#~ msgstr "ERROR: Arquivo de impressão vazio!\n"
-
-#~ msgid "ERROR: Error %d sending PAPSendData request: %s\n"
-#~ msgstr "ERROR: Erro %d ao enviar pedido PAPSendData: %s\n"
-
-#~ msgid "ERROR: Expected quoted string on line %d of %s!\n"
-#~ msgstr "ERROR: Seqüência de caracteres on-line esperada %d de %s!\n"
-
-#~ msgid "ERROR: Fatal USB error!\n"
-#~ msgstr "ERROR: Erro grave de USB!\n"
-
-#~ msgid "ERROR: Invalid HP-GL/2 command seen, unable to print file!\n"
-#~ msgstr ""
-#~ "ERROR: Comentário visto HP-GL/2 inválido, não é possível imprimir o "
-#~ "arquivo!\n"
-
-#~ msgid "ERROR: Missing %%EndProlog!\n"
-#~ msgstr "ERROR: %%EndProlog ausente!\n"
-
-#~ msgid "ERROR: Missing %%EndSetup!\n"
-#~ msgstr "ERROR: %%EndSetup ausente!\n"
-
-#~ msgid ""
-#~ "ERROR: Missing device URI on command-line and no DEVICE_URI environment "
-#~ "variable!\n"
-#~ msgstr ""
-#~ "ERROR: URI de dispositivo ausente URI em command-line e nenhuma variável "
-#~ "de ambiente DEVICE_URI!\n"
-
-#~ msgid "ERROR: Missing value on line %d of banner file!\n"
-#~ msgstr "ERROR: Valor ausente na linha %d do arquivo de banner!\n"
-
-#~ msgid ""
-#~ "ERROR: Need a msgid line before any translation strings on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ERROR: Necessária uma linha msgid antes de quaisquer seqüências de "
-#~ "caracteres na linha %d de %s!\n"
-
-#~ msgid "ERROR: No %%BoundingBox: comment in header!\n"
-#~ msgstr "ERROR: Nenhum %%BoundingBox: comentário no cabeçalho!\n"
-
-#~ msgid "ERROR: No %%Pages: comment in header!\n"
-#~ msgstr "ERROR: Nenhum %%Pages: comentário no cabeçalho!\n"
-
-#~ msgid ""
-#~ "ERROR: No device URI found in argv[0] or in DEVICE_URI environment "
-#~ "variable!\n"
-#~ msgstr ""
-#~ "ERROR: Nenhum dispositivo URI encontrado em argv[0] ou em variável de "
-#~ "ambiente DEVICE_URI!\n"
-
-#~ msgid "ERROR: No fonts in charset file %s\n"
-#~ msgstr "ERROR: Nenhuma fonte no arquivo de conjunto de caracteres %s\n"
-
-#~ msgid "ERROR: No pages found!\n"
-#~ msgstr "ERROR: Nenhuma página encontrada!\n"
-
-#~ msgid "ERROR: Out of paper!\n"
-#~ msgstr "ERROR: Sem papel!\n"
-
-#~ msgid "ERROR: PRINTER environment variable not defined!\n"
-#~ msgstr "ERROR: Variável de ambiente PRINTER não definido!\n"
-
-#~ msgid "ERROR: Print file was not accepted (%s)!\n"
-#~ msgstr "ERROR: O arquivo de impressão não foi aceito (%s)!\n"
-
-#~ msgid "ERROR: Printer not responding\n"
-#~ msgstr "ERROR: A impressora não responde\n"
-
-#~ msgid "ERROR: Printer not responding!\n"
-#~ msgstr "ERROR: A impressora não responde!\n"
-
-#~ msgid "ERROR: Printer sent unexpected EOF\n"
-#~ msgstr "ERROR: A impressora enviou um EOF inesperado\n"
-
-#~ msgid "ERROR: Remote host did not accept control file (%d)\n"
-#~ msgstr "ERROR: Host remoto não aceitou o arquivo de controle (%d)\n"
-
-#~ msgid "ERROR: Remote host did not accept data file (%d)\n"
-#~ msgstr "ERROR: Host remoto não aceitou o arquivo de dados (%d)\n"
-
-#~ msgid "ERROR: There was a timeout error while sending data to the printer\n"
-#~ msgstr ""
-#~ "ERROR: Houve um erro de tempo esgotado ao enviar os dados à impressora\n"
-
-#~ msgid "ERROR: Unable to add file %d to job: %s\n"
-#~ msgstr "ERROR: Não é possível adicionar o arquivo %d ao trabalho: %s\n"
-
-#~ msgid "ERROR: Unable to cancel job %d: %s\n"
-#~ msgstr "ERROR: Não é possível cancelar o trabalho %d: %s\n"
-
-#~ msgid "ERROR: Unable to copy PDF file"
-#~ msgstr "ERROR: Não foi possível copiar o arquivo PDF"
-
-#~ msgid "ERROR: Unable to create socket"
-#~ msgstr "ERROR: Não foi possível criar soquete"
-
-#~ msgid "ERROR: Unable to create temporary compressed print file: %s\n"
-#~ msgstr ""
-#~ "ERROR: Não é possível criar o arquivo de impressão comprimido temporário: "
-#~ "%s\n"
-
-#~ msgid "ERROR: Unable to create temporary file"
-#~ msgstr "ERROR: Não é possível criar o arquivo temporário"
-
-#~ msgid "ERROR: Unable to create temporary file - %s.\n"
-#~ msgstr "ERROR: Não é possível criar o arquivo temporário - %s.\n"
-
-#~ msgid "ERROR: Unable to create temporary file: %s\n"
-#~ msgstr "ERROR: Não é possível criar o arquivo temporário: %s\n"
-
-#~ msgid "ERROR: Unable to exec pictwpstops: %s\n"
-#~ msgstr "ERROR: Não é possível executar pictwpstops: %s\n"
-
-#~ msgid "ERROR: Unable to execute gs program"
-#~ msgstr "ERROR: Não é possível executar o programa gs"
-
-#~ msgid "ERROR: Unable to execute pdftops program"
-#~ msgstr "ERROR: Não é possível executar o programa pdftops"
-
-#~ msgid "ERROR: Unable to fork pictwpstops: %s\n"
-#~ msgstr "ERROR: Não é possível forçar pictwpstops: %s\n"
-
-#~ msgid "ERROR: Unable to get PAP request"
-#~ msgstr "ERROR: Não é possível obter o pedido PAP"
-
-#~ msgid "ERROR: Unable to get PAP response"
-#~ msgstr "ERROR: Não é possível obter a resposta PAP"
-
-#~ msgid "ERROR: Unable to get PPD file for printer \"%s\" - %s.\n"
-#~ msgstr ""
-#~ "ERROR: Não é possível obter o arquivo PPD para a impressora \"%s\" - %s.\n"
-
-#~ msgid "ERROR: Unable to get default AppleTalk zone"
-#~ msgstr "ERROR: Não é possível obter a zona AppleTalk"
-
-#~ msgid "ERROR: Unable to get job %d attributes (%s)!\n"
-#~ msgstr "ERROR: Não é possível obter os atributos %d do trabalho (%s)!\n"
-
-#~ msgid "ERROR: Unable to get printer status (%s)!\n"
-#~ msgstr "ERROR: Não é possível obter o estado de impressão (%s)!\n"
-
-#~ msgid "ERROR: Unable to locate printer '%s'!\n"
-#~ msgstr "ERROR: Não é possível localizar a impressora '%s'!\n"
-
-#~ msgid "ERROR: Unable to look for PAP response"
-#~ msgstr "ERROR: Não é possível procurar a resposta PAP"
-
-#~ msgid "ERROR: Unable to lookup AppleTalk printers"
-#~ msgstr "ERROR: Não é possível buscar impressoras AppleTalk"
-
-#~ msgid "ERROR: Unable to make AppleTalk address"
-#~ msgstr "ERROR: Não é possível criar o endereço AppleTalk"
-
-#~ msgid "ERROR: Unable to open \"%s\" - %s\n"
-#~ msgstr "ERROR: Não é possível abrir \"%s\" - %s\n"
-
-#~ msgid "ERROR: Unable to open %s: %s\n"
-#~ msgstr "ERROR: Não é possível abrir %s: %s\n"
-
-#~ msgid "ERROR: Unable to open banner file \"%s\" - %s\n"
-#~ msgstr "ERROR: Não é possível abrir o arquivo de banner \"%s\" - %s\n"
-
-#~ msgid "ERROR: Unable to open device file \"%s\": %s\n"
-#~ msgstr "ERROR: Não é possível abrir o arquivo de dispositivo \"%s\": %s\n"
-
-#~ msgid "ERROR: Unable to open file \"%s\" - %s\n"
-#~ msgstr "ERROR: Não é possível abrir o arquivo \"%s\" - %s\n"
-
-#~ msgid "ERROR: Unable to open file \"%s\": %s\n"
-#~ msgstr "ERROR: Não é possível abrir o arquivo \"%s\": %s\n"
-
-#~ msgid "ERROR: Unable to open image file for printing!\n"
-#~ msgstr "ERROR: Não é possível abrir o arquivo de imagem para impressão!\n"
-
-#~ msgid "ERROR: Unable to open print file \"%s\": %s\n"
-#~ msgstr "ERROR: Não é possível abrir o arquivo de impressão \"%s\": %s\n"
-
-#~ msgid "ERROR: Unable to open print file %s - %s\n"
-#~ msgstr "ERROR: Não é possível abrir o arquivo de impressão %s - %s\n"
-
-#~ msgid "ERROR: Unable to open print file %s: %s\n"
-#~ msgstr "ERROR: Não é possível abrir o arquivo de impressão %s: %s\n"
-
-#~ msgid "ERROR: Unable to open temporary compressed print file: %s\n"
-#~ msgstr ""
-#~ "ERROR: Não é possível abrir o arquivo de impressão comprimido temporário: "
-#~ "%s\n"
-
-#~ msgid "ERROR: Unable to open temporary file"
-#~ msgstr "ERROR: Não é possível abrir o arquivo temporário"
-
-#~ msgid "ERROR: Unable to print %d text columns!\n"
-#~ msgstr "ERROR: Não é possível imprimir %d colunas de texto!\n"
-
-#~ msgid "ERROR: Unable to print %dx%d text page!\n"
-#~ msgstr "ERROR: Não é possível imprimir %dx%d página de texto!\n"
-
-#~ msgid "ERROR: Unable to read print data"
-#~ msgstr "ERROR: Não é possível ler os dados de impressão"
-
-#~ msgid "ERROR: Unable to read print data!\n"
-#~ msgstr "ERROR: Não é possível ler os dados de impressão!\n"
-
-#~ msgid "ERROR: Unable to reserve port"
-#~ msgstr "ERROR: Não é possível reservar porta"
-
-#~ msgid "ERROR: Unable to seek to offset %ld in file - %s\n"
-#~ msgstr "ERROR: Não é possível localizar o deslocamento %ld no arquivo- %s\n"
-
-#~ msgid "ERROR: Unable to seek to offset %lld in file - %s\n"
-#~ msgstr ""
-#~ "ERROR: Não é possível localizar o deslocamento %lld no arquivo - %s\n"
-
-#~ msgid "ERROR: Unable to send LPD command"
-#~ msgstr "ERROR: Não é possível enviar um comando LPD"
-
-#~ msgid "ERROR: Unable to send PAP tickle request"
-#~ msgstr "ERROR: Não é possível enviar um pedido tickle de PAP"
-
-#~ msgid "ERROR: Unable to send initial PAP send data request"
-#~ msgstr "ERROR: Não é possível enviar o pedido de dados de envio PAP inicial"
-
-#~ msgid "ERROR: Unable to send print data (%d)\n"
-#~ msgstr "ERROR: Não é possível enviar dados de impressão (%d)\n"
-
-#~ msgid "ERROR: Unable to send print data!\n"
-#~ msgstr "ERROR: Não é possível enviar dados de impressão!\n"
-
-#~ msgid "ERROR: Unable to send print file to printer"
-#~ msgstr "ERROR: Não é possível enviar o arquivo de impressão à impressora"
-
-#~ msgid "ERROR: Unable to send trailing nul to printer"
-#~ msgstr ""
-#~ "ERROR: Não é possível enviar o valor nulo do fim da seqüência à impressora"
-
-#~ msgid "ERROR: Unable to wait for pictwpstops: %s\n"
-#~ msgstr "ERROR: Não é possível aguardar pictwpstops: %s\n"
-
-#~ msgid "ERROR: Unable to write %d bytes to \"%s\": %s\n"
-#~ msgstr "ERROR: Não é possível gravar %d bytes para \"%s\": %s\n"
-
-#~ msgid "ERROR: Unable to write %d bytes to printer!\n"
-#~ msgstr "ERROR: Não é possível gravar %d bytes na impressora!\n"
-
-#~ msgid "ERROR: Unable to write control file"
-#~ msgstr "ERROR: Não é possível gravar no arquivo de controle"
-
-#~ msgid "ERROR: Unable to write print data"
-#~ msgstr "ERROR: Não é possível gravar dados de impressão"
-
-#~ msgid "ERROR: Unable to write print data: %s\n"
-#~ msgstr "ERROR: Não é possível gravar os dados de impressão: %s\n"
-
-#~ msgid "ERROR: Unable to write raster data to driver!\n"
-#~ msgstr "ERROR: Não é possível gravar os dados brutos para o driver!\n"
-
-#~ msgid "ERROR: Unable to write to temporary file"
-#~ msgstr "ERROR: Não é possível gravar no arquivo temporário"
-
-#~ msgid "ERROR: Unable to write uncompressed document data: %s\n"
-#~ msgstr ""
-#~ "ERROR: Não é possível gravar os dados de documentos não comprimidos: %s\n"
-
-#~ msgid "ERROR: Unexpected text on line %d of %s!\n"
-#~ msgstr "ERROR: Texto inesperado na linha %d de %s!\n"
-
-#~ msgid "ERROR: Unknown encryption option value \"%s\"!\n"
-#~ msgstr "ERROR: Valor de opção de encriptação desconhecido \"%s\"!\n"
-
-#~ msgid "ERROR: Unknown file order \"%s\"\n"
-#~ msgstr "ERROR: Ordem de arquivo desconhecida \"%s\"\n"
-
-#~ msgid "ERROR: Unknown format character \"%c\"\n"
-#~ msgstr "ERROR: Caractere de formato desconhecido \"%c\"\n"
-
-#~ msgid "ERROR: Unknown message catalog format for \"%s\"!\n"
-#~ msgstr "ERROR: Formato de catálogo de mensagem desconhecida para \"%s\"!\n"
-
-#~ msgid "ERROR: Unknown option \"%s\" with value \"%s\"!\n"
-#~ msgstr "ERROR: Opção desconhecida \"%s\" com valor \"%s\"!\n"
-
-#~ msgid "ERROR: Unknown print mode \"%s\"\n"
-#~ msgstr "ERROR: Modo de impressão desconhecido \"%s\"\n"
-
-#~ msgid "ERROR: Unknown version option value \"%s\"!\n"
-#~ msgstr "ERROR: Valor de opção de versão desconhecido \"%s\"!\n"
-
-#~ msgid "ERROR: Unsupported brightness value %s, using brightness=100!\n"
-#~ msgstr "ERROR: Valor de brilho não compatível %s, usando brilho=100!\n"
-
-#~ msgid "ERROR: Unsupported gamma value %s, using gamma=1000!\n"
-#~ msgstr "ERROR: Valor de gama não compatível %s, usando gama=1000!\n"
-
-#~ msgid "ERROR: Unsupported number-up value %d, using number-up=1!\n"
-#~ msgstr "ERROR: Valor de number-up não compatível %d, usando number-up=1!\n"
-
-#~ msgid ""
-#~ "ERROR: Unsupported number-up-layout value %s, using number-up-"
-#~ "layout=lrtb!\n"
-#~ msgstr ""
-#~ "ERROR: Valor de number-up-layout não compatível %s, usando number-up-"
-#~ "layout=lrtb!\n"
-
-#~ msgid "ERROR: Unsupported page-border value %s, using page-border=none!\n"
-#~ msgstr ""
-#~ "ERROR: Valor de page-border não compatível %s, usando page-border=none!\n"
-
-#~ msgid "ERROR: doc_printf overflow (%d bytes) detected, aborting!\n"
-#~ msgstr "ERROR: Sobrecarga de doc_printf (%d bytes) detectado, anulando!\n"
-
-#~ msgid "ERROR: pdftops filter crashed on signal %d!\n"
-#~ msgstr "ERROR: O filtro pdftops bloqueou no sinal %d!\n"
-
-#~ msgid "ERROR: pdftops filter exited with status %d!\n"
-#~ msgstr "ERROR: O filtro pdftops saiu com estado %d!\n"
-
-#~ msgid "ERROR: pictwpstops exited on signal %d!\n"
-#~ msgstr "ERROR: pictwpstops saíram no sinal %d!\n"
-
-#~ msgid "ERROR: pictwpstops exited with status %d!\n"
-#~ msgstr "ERROR: pictwpstops saíram com estado %d!\n"
-
-#~ msgid ""
-#~ "ERROR: recoverable: Unable to connect to printer; will retry in 30 "
-#~ "seconds...\n"
-#~ msgstr ""
-#~ "ERROR: recuperável: Não é possível conectar-se à impressora; nova "
-#~ "tentativa em 30 segundos...\n"
-
-#~ msgid "ERROR: select() failed"
-#~ msgstr "ERROR: Seleção() falhou"
-
-#~ msgid "ERROR: unable to stat print file"
-#~ msgstr "ERROR: Não foi possível iniciar o arquivo de impressão"
-
-#~ msgid "Empty PPD file!"
-#~ msgstr "Arquivo PPD vazio!"
-
-#~ msgid "Error: need hostname after '-h' option!\n"
-#~ msgstr "Error: necessário um nome de host após a opção '-h'!\n"
-
-#~ msgid "FAIL\n"
-#~ msgstr "FAIL\n"
-
-#~ msgid ""
-#~ "File device URIs have been disabled! To enable, see the FileDevice "
-#~ "directive in \"%s/cupsd.conf\"."
-#~ msgstr ""
-#~ "URIs de dispositivo de arquivo foram desativados! Para ativá-los, "
-#~ "consulte a diretiva FileDevice em \"%s/cupsd.conf\"."
-
-#~ msgid "Fuser temperature high!"
-#~ msgstr "Temperatura do fuser alta!"
-
-#~ msgid "Fuser temperature low!"
-#~ msgstr "Temperatura do fuser baixa!"
-
-#~ msgid "German FanFold"
-#~ msgstr "German FanFold"
-
-#~ msgid "German FanFold Legal"
-#~ msgstr "German FanFold Legal"
-
-#~ msgid "Got a printer-uri attribute but no job-id!"
-#~ msgstr "Obtido um atributo printer-uri, mas não um job-id!"
-
-#~ msgid "INFO: AppleTalk disabled in System Preferences\n"
-#~ msgstr "INFO: AppleTalk desativado nas Preferências do Sistema\n"
-
-#~ msgid "INFO: AppleTalk disabled in System Preferences.\n"
-#~ msgstr "INFO: AppleTalk desativado nas Preferências do Sistema.\n"
-
-#~ msgid "INFO: Canceling print job...\n"
-#~ msgstr "INFO: Cancelando trabalho de impressão...\n"
-
-#~ msgid "INFO: Connected to printer...\n"
-#~ msgstr "INFO: Conectado à impressora...\n"
-
-#~ msgid "INFO: Connecting to printer...\n"
-#~ msgstr "INFO: Conectando à impressora...\n"
-
-#~ msgid "INFO: Control file sent successfully\n"
-#~ msgstr "INFO: Arquivo de controle enviado com êxito\n"
-
-#~ msgid "INFO: Data file sent successfully\n"
-#~ msgstr "INFO: Arquivo de dados enviado com êxito\n"
-
-#~ msgid "INFO: Formatting page %d...\n"
-#~ msgstr "INFO: Formatando página %d...\n"
-
-#~ msgid "INFO: Loading image file...\n"
-#~ msgstr "INFO: Carregando arquivo de imagem...\n"
-
-#~ msgid "INFO: Looking for printer...\n"
-#~ msgstr "INFO: Buscando impressora...\n"
-
-#~ msgid "INFO: Opening connection\n"
-#~ msgstr "INFO: Abrindo conexão\n"
-
-#~ msgid "INFO: Print file sent, waiting for printer to finish...\n"
-#~ msgstr ""
-#~ "INFO: Arquivo de impressão enviado, aguardando conclusão da "
-#~ "impressora...\n"
-
-#~ msgid "INFO: Printer busy; will retry in 10 seconds...\n"
-#~ msgstr "INFO: Impressora ocupada; nova tentativa em 10 segundos...\n"
-
-#~ msgid "INFO: Printer busy; will retry in 30 seconds...\n"
-#~ msgstr "INFO: Impressora ocupada; nova tentativa em 30 segundos...\n"
-
-#~ msgid "INFO: Printer busy; will retry in 5 seconds...\n"
-#~ msgstr "INFO: Impressora ocupada; nova tentativa em 5 segundos...\n"
-
-#~ msgid "INFO: Printer does not support IPP/%d.%d, trying IPP/1.0...\n"
-#~ msgstr ""
-#~ "INFO: A impressora não é compatível com IPP/%d.%d, tentando IPP/1.0...\n"
-
-#~ msgid "INFO: Printer is busy; will retry in 5 seconds...\n"
-#~ msgstr "INFO: A impressora está ocupada; nova tentativa em 5 segundos...\n"
-
-#~ msgid "INFO: Printer is currently off-line.\n"
-#~ msgstr "INFO: A impressora está atualmente desligada.\n"
-
-#~ msgid "INFO: Printer is currently offline.\n"
-#~ msgstr "INFO: A impressora está desligada atualmente.\n"
-
-#~ msgid "INFO: Printer is now online.\n"
-#~ msgstr "INFO: A impressora está conectada agora.\n"
-
-#~ msgid "INFO: Printer is offline.\n"
-#~ msgstr "INFO: A impressora está desligada.\n"
-
-#~ msgid "INFO: Printer not connected; will retry in 30 seconds...\n"
-#~ msgstr "INFO: Impressora não conectada; nova tentativa em 30 segundos...\n"
-
-#~ msgid "INFO: Printing page %d, %d%% complete...\n"
-#~ msgstr "INFO: Imprimindo página %d, %d%% concluído...\n"
-
-#~ msgid "INFO: Printing page %d...\n"
-#~ msgstr "INFO: Imprimindo página %d...\n"
-
-#~ msgid "INFO: Ready to print.\n"
-#~ msgstr "INFO: Pronta para imprimir.\n"
-
-#~ msgid "INFO: Sending control file (%lu bytes)\n"
-#~ msgstr "INFO: Enviando arquivo de controle (%lu bytes)\n"
-
-#~ msgid "INFO: Sending control file (%u bytes)\n"
-#~ msgstr "INFO: Enviando arquivo de controle (%u bytes)\n"
-
-#~ msgid "INFO: Sending data\n"
-#~ msgstr "INFO: Enviando dados\n"
-
-#~ msgid "INFO: Sending data file (%ld bytes)\n"
-#~ msgstr "INFO: Enviando arquivo de dados (%ld bytes)\n"
-
-#~ msgid "INFO: Sending data file (%lld bytes)\n"
-#~ msgstr "INFO: Enviando arquivo de dados (%lld bytes)\n"
-
-#~ msgid "INFO: Sending print data...\n"
-#~ msgstr "INFO: Enviando dados de impressão...\n"
-
-#~ msgid "INFO: Sent print file, %ld bytes...\n"
-#~ msgstr "INFO: Arquivo de impressão enviado, %ld bytes...\n"
-
-#~ msgid "INFO: Sent print file, %lld bytes...\n"
-#~ msgstr "INFO: Arquivo de impressão enviado, %lld bytes...\n"
-
-#~ msgid "INFO: Spooling LPR job, %.0f%% complete...\n"
-#~ msgstr "INFO: Armazenando trabalho LPR, %.0f%% concluído...\n"
-
-#~ msgid ""
-#~ "INFO: Unable to contact printer, queuing on next printer in class...\n"
-#~ msgstr ""
-#~ "INFO: Não foi possível contactar a impressora, enfileirando na próxima "
-#~ "impressora na classe...\n"
-
-#~ msgid "INFO: Using default AppleTalk zone \"%s\"\n"
-#~ msgstr "INFO: Usando zona AppleTalk padrão \"%s\"\n"
-
-#~ msgid "INFO: Waiting for job to complete...\n"
-#~ msgstr "INFO: Aguardando conclusão do trabalho...\n"
-
-#~ msgid "INFO: Waiting for printer to become available...\n"
-#~ msgstr "INFO: Esperando que a impressora esteja disponível...\n"
-
-#~ msgid "ISO B0"
-#~ msgstr "ISO B0"
-
-#~ msgid "ISO B1"
-#~ msgstr "ISO B1"
-
-#~ msgid "ISO B10"
-#~ msgstr "ISO B10"
-
-#~ msgid "ISO B2"
-#~ msgstr "ISO B2"
-
-#~ msgid "ISO B3"
-#~ msgstr "ISO B3"
-
-#~ msgid "ISO B4"
-#~ msgstr "ISO B4"
-
-#~ msgid "ISO B4 Envelope"
-#~ msgstr "Envelope ISO B4"
-
-#~ msgid "ISO B5"
-#~ msgstr "ISO B5"
-
-#~ msgid "ISO B5 (Oversize)"
-#~ msgstr "ISO B5 (Exces. grande)"
-
-#~ msgid "ISO B5 Envelope"
-#~ msgstr "Envelope ISO B5"
-
-#~ msgid "ISO B6"
-#~ msgstr "ISO B6"
-
-#~ msgid "ISO B6 Envelope"
-#~ msgstr "Envelope ISO B6"
-
-#~ msgid "ISO B7"
-#~ msgstr "ISO B7"
-
-#~ msgid "ISO B8"
-#~ msgstr "ISO B8"
-
-#~ msgid "ISO B9"
-#~ msgstr "ISO B9"
-
-#~ msgid "Ink/toner almost empty."
-#~ msgstr "Tinta/toner quase vazios."
-
-#~ msgid "Ink/toner empty!"
-#~ msgstr "Tinta/toner vazios!"
-
-#~ msgid "Ink/toner waste bin almost full."
-#~ msgstr "Recipiente de tinta/toner quase cheio."
-
-#~ msgid "Ink/toner waste bin full!"
-#~ msgstr "Recipiente de tinta/toner cheio!"
-
-#~ msgid "Interlock open."
-#~ msgstr "Conexão aberta."
-
-#~ msgid "Invite Envelope"
-#~ msgstr "Envelope de Convite"
-
-#~ msgid "Italian Envelope"
-#~ msgstr "Envelope Italiano"
-
-#~ msgid "Job #%d cannot be restarted - no files!"
-#~ msgstr "O trabalho #%d não pode ser reiniciado - nenhum arquivo!"
-
-#~ msgid "Job #%d does not exist!"
-#~ msgstr "O trabalho #%d não existe!"
-
-#~ msgid "Job #%d is finished and cannot be altered!"
-#~ msgstr "O trabalho #%d está finalizado e não pode ser alterado!"
-
-#~ msgid "Job #%d is not complete!"
-#~ msgstr "O trabalho #%d não está concluído!"
-
-#~ msgid "Job #%d is not held for authentication!"
-#~ msgstr "O trabalho #%d não está parado para autenticação!"
-
-#~ msgid "Job #%d is not held!"
-#~ msgstr "O trabalho #%d não está parado!"
-
-#~ msgid "Job #%s does not exist!"
-#~ msgstr "O trabalho #%s não existe!"
-
-#~ msgid "Job %d not found!"
-#~ msgstr "Trabalho %d não encontrado!"
-
-#~ msgid "Job subscriptions cannot be renewed!"
-#~ msgstr "As inscrições do trabalho não podem ser renovadas!"
-
-#~ msgid "Kaku2 Envelope"
-#~ msgstr "Envelope Kaku2"
-
-#~ msgid "Kaku3 Envelope"
-#~ msgstr "Envelope Kaku3"
-
-#~ msgid "Language \"%s\" not supported!"
-#~ msgstr "Idioma \"%s\" não compatível!"
-
-#~ msgid "Media jam!"
-#~ msgstr "Atolamento de mídia!"
-
-#~ msgid "Media tray almost empty."
-#~ msgstr "Bandeja de mídia quase vazia."
-
-#~ msgid "Media tray empty!"
-#~ msgstr "Bandeja de mídia vazia!"
-
-#~ msgid "Media tray missing!"
-#~ msgstr "Bandeja de mídia ausente!"
-
-#~ msgid "Media tray needs to be filled."
-#~ msgstr "A bandeja de mídia necessita ser preenchida."
-
-#~ msgid "Missing document-number attribute!"
-#~ msgstr "Atributo document-number ausente!"
-
-#~ msgid "Missing double quote on line %d!"
-#~ msgstr "Aspas ausentes na linha %d!"
-
-#~ msgid "Missing form variable!"
-#~ msgstr "Variável de formato ausente!"
-
-#~ msgid "Missing notify-subscription-ids attribute!"
-#~ msgstr "Atributo notify-subscription-ids ausente!"
-
-#~ msgid "Missing requesting-user-name attribute!"
-#~ msgstr "Atributo requesting-user-name ausente!"
-
-#~ msgid "Missing required attributes!"
-#~ msgstr "Atributos necessários ausentes!"
-
-#~ msgid "Missing value on line %d!"
-#~ msgstr "Valor ausente na linha %d!"
-
-#~ msgid ""
-#~ "Model:  name = %s\n"
-#~ "        natural_language = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ msgstr ""
-#~ "Modelo:  nome = %s\n"
-#~ "        natural_language = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-
-#~ msgid "Monarch"
-#~ msgstr "Monarca"
-
-#~ msgid "Monarch Envelope"
-#~ msgstr "Envelope Monarca"
-
-#~ msgid "NOTICE: Print file accepted - job ID %d.\n"
-#~ msgstr "NOTICE: Arquivo de impressão aceito - ID de trabalho %d.\n"
-
-#~ msgid "NOTICE: Print file accepted - job ID unknown.\n"
-#~ msgstr ""
-#~ "NOTICE: Arquivo de impressão aceito - ID de trabalho desconhecido.\n"
-
-#~ msgid "No PPD name!"
-#~ msgstr "Nenhum nome PPD!"
-
-#~ msgid "No Windows printer drivers are installed!"
-#~ msgstr "Nenhum driver de impressora do Windows instalado!"
-
-#~ msgid "No active jobs on %s!"
-#~ msgstr "Nenhum trabalho ativo em %s!"
-
-#~ msgid "No attributes in request!"
-#~ msgstr "Nenhum atributo na solicitação!"
-
-#~ msgid "No authentication information provided!"
-#~ msgstr "Nenhuma informação de autenticação fornecida!"
-
-#~ msgid "No default printer"
-#~ msgstr "Nenhuma impressora padrão"
-
-#~ msgid "No file!?!"
-#~ msgstr "Nenhum arquivo!?!"
-
-#~ msgid "No modification time!"
-#~ msgstr "Nenhuma hora de modificação!"
-
-#~ msgid "No printer name!"
-#~ msgstr "Nenhum nome de impressora!"
-
-#~ msgid "No printer-uri found for class!"
-#~ msgstr "Nenhum printer-uri encontrado para a classe!"
-
-#~ msgid "No printer-uri found!"
-#~ msgstr "Nenhum printer-uri encontrado!"
-
-#~ msgid "No printer-uri in request!"
-#~ msgstr "Nenhum printer-uri em pedido!"
-
-#~ msgid "No subscription attributes in request!"
-#~ msgstr "Nenhum atributo de inscrição na solicitação!"
-
-#~ msgid "OPC almost at end-of-life."
-#~ msgstr "OPC quase no final."
-
-#~ msgid "OPC at end-of-life!"
-#~ msgstr "OPC no final!"
-
-#~ msgid "Out of toner!"
-#~ msgstr "Sem toner!"
-
-#~ msgid "Output bin almost full."
-#~ msgstr "Recipiente de saída quase cheio."
-
-#~ msgid "Output bin full!"
-#~ msgstr "Recipiente de saída cheio!"
-
-#~ msgid "Output for printer %s is sent to %s\n"
-#~ msgstr "A saída para impressora %s foi enviada a %s\n"
-
-#~ msgid "Output for printer %s is sent to remote printer %s on %s\n"
-#~ msgstr ""
-#~ "A saída para impressora %s foi enviada à impressora remota %s em %s\n"
-
-#~ msgid "Output for printer %s/%s is sent to %s\n"
-#~ msgstr "A saída para impressora %s/%s foi enviada a %s\n"
-
-#~ msgid "Output for printer %s/%s is sent to remote printer %s on %s\n"
-#~ msgstr ""
-#~ "A saída para impressora %s/%s foi enviada para a impressora remota %s em %"
-#~ "s\n"
-
-#~ msgid "Output tray missing!"
-#~ msgstr "Bandeja de saída ausente!"
-
-#~ msgid "PASS\n"
-#~ msgstr "PASS\n"
-
-#~ msgid "PRC1 Envelope"
-#~ msgstr "Envelope PRC1"
-
-#~ msgid "PRC10 Envelope"
-#~ msgstr "Envelope PRC10"
-
-#~ msgid "PRC2 Envelope"
-#~ msgstr "Envelope PRC2"
-
-#~ msgid "PRC3 Envelope"
-#~ msgstr "Envelope PRC3"
-
-#~ msgid "PRC32K (Oversize)"
-#~ msgstr "PRC32K (Exces. grande)"
-
-#~ msgid "PRC4 Envelope"
-#~ msgstr "Envelope PRC4"
-
-#~ msgid "PRC5 Envelope"
-#~ msgstr "Envelope PRC5"
-
-#~ msgid "PRC6 Envelope"
-#~ msgstr "Envelope PRC6"
-
-#~ msgid "PRC7 Envelope"
-#~ msgstr "Envelope PRC7"
-
-#~ msgid "PRC8 Envelope"
-#~ msgstr "Envelope PRC8"
-
-#~ msgid "PRC9 Envelope"
-#~ msgstr "Envelope PRC9"
-
-#~ msgid "Personal Envelope"
-#~ msgstr "Envelope Pessoal"
-
-#~ msgid "Printer offline."
-#~ msgstr "Impressora desconectada."
-
-#~ msgid "Rank    Owner   Job     File(s)                         Total Size\n"
-#~ msgstr ""
-#~ "Rank    Proprietário   Trabalho     Arquivo(s)                         "
-#~ "Tamanho Total\n"
-
-#~ msgid ""
-#~ "Rank   Owner      Pri  Job        Files                       Total Size\n"
-#~ msgstr ""
-#~ "Rank   Proprietário      Imp  Trabalho        "
-#~ "Arquivos                       Tamanho Total\n"
-
-#~ msgid "Running command: %s %s -N -A %s -c '%s'\n"
-#~ msgstr "Executando comando: %s %s -N -A %s -c '%s'\n"
-
-#~ msgid "SCSI Printer"
-#~ msgstr "Impressora SCSI"
-
-#~ msgid "Tabloid (Oversize)"
-#~ msgstr "Tablóide (Exces. grande)"
-
-#~ msgid "The notify-user-data value is too large (%d > 63 octets)!"
-#~ msgstr "O valor notify-user-data é muito grande (%d > 63 octetos)!"
-
-#~ msgid "The printer or class is not shared!"
-#~ msgstr "A impressora ou a classe não estão compartilhadas!"
-
-#~ msgid "The printer or class was not found."
-#~ msgstr "A impressora ou a classe não foram encontradas."
-
-#~ msgid "The printer-uri attribute is required!"
-#~ msgstr "O atributo printer-uri é necessário!"
-
-#~ msgid "Toner low."
-#~ msgstr "Toner baixo."
-
-#~ msgid "Too many job-sheets values (%d > 2)!"
-#~ msgstr "Muitos valores de job-sheets (%d > 2)!"
-
-#~ msgid "Too many printer-state-reasons values (%d > %d)!"
-#~ msgstr "Muitos valores de printer-state-reasons (%d > %d)!"
-
-#~ msgid "US Executive"
-#~ msgstr "Executivo EUA"
-
-#~ msgid "US Fanfold"
-#~ msgstr "US Fanfold"
-
-#~ msgid "US Legal (Oversize)"
-#~ msgstr "Legal EUA (Muito Grande)"
-
-#~ msgid "US Letter (Oversize)"
-#~ msgstr "Carta EUA (Muito Grande)"
-
-#~ msgid "US Letter (Small)"
-#~ msgstr "Carta EUA (Pequeno)"
-
-#~ msgid "Unable to add job for destination \"%s\"!"
-#~ msgstr "Não é possível adicionar o trabalho para o destino \"%s\"!"
-
-#~ msgid "Unable to allocate memory for file types!"
-#~ msgstr "Não é possível alocar memória para os tipos de arquivo!"
-
-#~ msgid "Unable to copy 64-bit CUPS printer driver files (%d)!"
-#~ msgstr ""
-#~ "Não é possível copiar arquivos de driver de impressora CUPS de 64-bit (%"
-#~ "d)!"
-
-#~ msgid "Unable to copy 64-bit Windows printer driver files (%d)!"
-#~ msgstr ""
-#~ "Não é possível copiar arquivos do driver da impressora Windows de 64-bit "
-#~ "(%d)!"
-
-#~ msgid "Unable to copy CUPS printer driver files (%d)!"
-#~ msgstr ""
-#~ "Não é possível copiar os arquivos do driver de impressora CUPS (%d)!"
-
-#~ msgid "Unable to copy PPD file - %s!"
-#~ msgstr "Não é possível copiar o arquivo PPD - %s!"
-
-#~ msgid "Unable to copy PPD file!"
-#~ msgstr "Não é possível copiar o arquivo PPD!"
-
-#~ msgid "Unable to copy Windows 2000 printer driver files (%d)!"
-#~ msgstr ""
-#~ "Não é possível copiar os arquivos do driver de impressora do Windows 2000 "
-#~ "(%d)!"
-
-#~ msgid "Unable to copy Windows 9x printer driver files (%d)!"
-#~ msgstr ""
-#~ "Não é possível copiar os arquivos do driver de impressora do Windows 9x (%"
-#~ "d)!"
-
-#~ msgid "Unable to copy interface script - %s!"
-#~ msgstr "Não é possível copiar o roteiro de interface - %s!"
-
-#~ msgid "Unable to create printer-uri!"
-#~ msgstr "Não é possível criar printer-uri!"
-
-#~ msgid "Unable to edit cupsd.conf files larger than 1MB!"
-#~ msgstr "Não é possível editar os arquivos cupsd.conf maiores que 1MB!"
-
-#~ msgid "Unable to find destination for job!"
-#~ msgstr "Não é possível buscar o destino para o trabalho!"
-
-#~ msgid "Unable to find printer!\n"
-#~ msgstr "Não é possível encontrar a impressora!\n"
-
-#~ msgid "Unable to install Windows 2000 printer driver files (%d)!"
-#~ msgstr ""
-#~ "Não é possível instalar os arquivos de drivers de impressora do Windows "
-#~ "2000 (%d)!"
-
-#~ msgid "Unable to install Windows 9x printer driver files (%d)!"
-#~ msgstr ""
-#~ "Não é possível instalar os arquivos de drivers de impressora do Windows "
-#~ "9x (%d)!"
-
-#~ msgid "Unable to open document %d in job %d!"
-#~ msgstr "Não é possível abrir o documento %d no trabalho %d!"
-
-#~ msgid "Unable to run \"%s\": %s\n"
-#~ msgstr "Não é possível executar \"%s\": %s\n"
-
-#~ msgid "Unable to send command to printer driver!"
-#~ msgstr "Não é possível enviar o comando ao driver da impressora!"
-
-#~ msgid "Unable to set Windows printer driver (%d)!"
-#~ msgstr "Não é possível configurar o driver de impressora do Windows (%d)!"
-
-#~ msgid "Unable to use legacy USB class driver!\n"
-#~ msgstr "Não é possível usar o driver de classe USB de legado!\n"
-
-#~ msgid "Unknown printer error (%s)!"
-#~ msgstr "Erro de impressora desconhecido (%s)!"
-
-#~ msgid "Unsupported character set \"%s\"!"
-#~ msgstr "Conjunto de caracteres incompatíveis \"%s\"!"
-
-#~ msgid "Unsupported compression \"%s\"!"
-#~ msgstr "Compressão não compatível \"%s\"!"
-
-#~ msgid "Unsupported compression attribute %s!"
-#~ msgstr "Atributo de compressão não compatível %s!"
-
-#~ msgid "Unsupported format \"%s\"!"
-#~ msgstr "Formato não compatível \"%s\"!"
-
-#~ msgid "Unsupported format '%s'!"
-#~ msgstr "Formato não compatível '%s'!"
-
-#~ msgid "Unsupported format '%s/%s'!"
-#~ msgstr "Formato não compatível '%s/%s'!"
-
-#~ msgid ""
-#~ "Usage:\n"
-#~ "\n"
-#~ "    lpadmin [-h server] -d destination\n"
-#~ "    lpadmin [-h server] -x destination\n"
-#~ "    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m "
-#~ "model]\n"
-#~ "                       [-r remove-class] [-v device] [-D description]\n"
-#~ "                       [-P ppd-file] [-o name=value]\n"
-#~ "                       [-u allow:user,user] [-u deny:user,user]\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Usage:\n"
-#~ "\n"
-#~ "    lpadmin [-h server] -d destination\n"
-#~ "    lpadmin [-h server] -x destination\n"
-#~ "    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m "
-#~ "model]\n"
-#~ "                       [-r remove-class] [-v device] [-D description]\n"
-#~ "                       [-P ppd-file] [-o name=value]\n"
-#~ "                       [-u allow:user,user] [-u deny:user,user]\n"
-#~ "\n"
-
-#~ msgid "Usage: %s job user title copies options [filename]\n"
-#~ msgstr ""
-#~ "Usage: %s opções de cópias de título do usuário do trabalho [filename]\n"
-
-#~ msgid "Usage: %s job-id user title copies options [file]\n"
-#~ msgstr "Usage: opções de cópias de título de usuário %s job-id [file]\n"
-
-#~ msgid "Usage: %s job-id user title copies options file\n"
-#~ msgstr ""
-#~ "Usage: arquivo de opções de cópias de título de usuário %s job-id \n"
-
-#~ msgid ""
-#~ "Usage: convert [ options ]\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "  -f filename          Set file to be converted (otherwise stdin)\n"
-#~ "  -o filename          Set file to be generated (otherwise stdout)\n"
-#~ "  -i mime/type         Set input MIME type (otherwise auto-typed)\n"
-#~ "  -j mime/type         Set output MIME type (otherwise application/pdf)\n"
-#~ "  -P filename.ppd      Set PPD file\n"
-#~ "  -a 'name=value ...'  Set option(s)\n"
-#~ "  -U username          Set username for job\n"
-#~ "  -J title             Set title\n"
-#~ "  -c copies            Set number of copies\n"
-#~ "  -u                   Remove the PPD file when finished\n"
-#~ "  -D                   Remove the input file when finished\n"
-#~ msgstr ""
-#~ "Usage: converter [ options ]\n"
-#~ "\n"
-#~ "Opções:\n"
-#~ "\n"
-#~ "  -f filename          Definir arquivo para conversão (senão stdin)\n"
-#~ "  -o filename          Definir para ser gerado (senão stdout)\n"
-#~ "  -i mime/type         Definir tipo MIME de entrada (senão auto-typed)\n"
-#~ "  -j mime/type         Definir tipo MIME de saída (senão application/"
-#~ "pdf)\n"
-#~ "  -P filename.ppd      Definir arquivo PPD\n"
-#~ "  -a 'name=value ...'  Definir opção(ões)\n"
-#~ "  -U username          Definir nome do usuário para trabalho\n"
-#~ "  -J title             Definir título\n"
-#~ "  -c copies            Definir número de cópias\n"
-#~ "  -u                   Remover o arquivo PPD ao terminar\n"
-#~ "  -D                   Remover o arquivo de entrada ao terminar\n"
-
-#~ msgid ""
-#~ "Usage: cupsaddsmb [options] printer1 ... printerN\n"
-#~ "       cupsaddsmb [options] -a\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "  -E               Encrypt the connection to the server\n"
-#~ "  -H samba-server  Use the named SAMBA server\n"
-#~ "  -U samba-user    Authenticate using the named SAMBA user\n"
-#~ "  -a               Export all printers\n"
-#~ "  -h cups-server   Use the named CUPS server\n"
-#~ "  -v               Be verbose (show commands)\n"
-#~ msgstr ""
-#~ "Usage: cupsaddsmb [options] printer1 ... printerN\n"
-#~ "       cupsaddsmb [options] -a\n"
-#~ "\n"
-#~ "Opções:\n"
-#~ "  -E               Encriptar a conexão ao servidor\n"
-#~ "  -H samba-server  Usar o servidor SAMBA denominado\n"
-#~ "  -U samba-user    Autenticar usando o usuário do SAMBA denominado\n"
-#~ "  -a               Exportar todas as impressoras\n"
-#~ "  -h cups-server   Usar o servidor CUPS denominado\n"
-#~ "  -v               Ser detalhado (mostrar comandos)\n"
-
-#~ msgid ""
-#~ "Usage: cupsctl [options] [param=value ... paramN=valueN]\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -E                      Enable encryption\n"
-#~ "    -U username             Specify username\n"
-#~ "    -h server[:port]        Specify server address\n"
-#~ "\n"
-#~ "    --[no-]debug-logging    Turn debug logging on/off\n"
-#~ "    --[no-]remote-admin     Turn remote administration on/off\n"
-#~ "    --[no-]remote-any       Allow/prevent access from the Internet\n"
-#~ "    --[no-]remote-printers  Show/hide remote printers\n"
-#~ "    --[no-]share-printers   Turn printer sharing on/off\n"
-#~ "    --[no-]user-cancel-any  Allow/prevent users to cancel any job\n"
-#~ msgstr ""
-#~ "Usage: cupsctl [options] [param=value ... paramN=valueN]\n"
-#~ "\n"
-#~ "Opções:\n"
-#~ "\n"
-#~ "    -E                      Ativar encriptação\n"
-#~ "    -U username             Especificar username\n"
-#~ "    -h server[:port]        Especificar endereço do servidor\n"
-#~ "\n"
-#~ "    --[no-]debug-logging    Ativar/desativar registro de depuração\n"
-#~ "    --[no-]remote-admin     Ativar/desativar administração remota\n"
-#~ "    --[no-]remote-any       Permitir/evitar acesso a partir da Internet\n"
-#~ "    --[no-]remote-printers  Mostrar/ocultar impressoras remotas\n"
-#~ "    --[no-]share-printers   Ativar/desativar compartilhamento de "
-#~ "impressora\n"
-#~ "    --[no-]user-cancel-any  Permitir/evitar que usuários cancelem "
-#~ "qualquer trabalho\n"
-
-#~ msgid ""
-#~ "Usage: cupsd [-c config-file] [-f] [-F] [-h] [-l]\n"
-#~ "\n"
-#~ "-c config-file      Load alternate configuration file\n"
-#~ "-f                  Run in the foreground\n"
-#~ "-F                  Run in the foreground but detach\n"
-#~ "-h                  Show this usage message\n"
-#~ "-l                  Run cupsd from launchd(8)\n"
-#~ msgstr ""
-#~ "Usage: cupsd [-c config-file] [-f] [-F] [-h] [-l]\n"
-#~ "\n"
-#~ "-c config-file      Carregar arquivo de configuração alternativa\n"
-#~ "-f                  Executar em segundo plano\n"
-#~ "-F                  Executar em segundo plano, porém destacar\n"
-#~ "-h                  Mostrar esta mensagem de uso\n"
-#~ "-l                  Executar cupsd a partir de launchd(8)\n"
-
-#~ msgid ""
-#~ "Usage: cupsfilter -m mime/type [ options ] filename\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "  -c cupsd.conf    Set cupsd.conf file to use\n"
-#~ "  -j job-id[,N]    Filter file N from the specified job (default is file "
-#~ "1)\n"
-#~ "  -n copies        Set number of copies\n"
-#~ "  -o name=value    Set option(s)\n"
-#~ "  -p filename.ppd  Set PPD file\n"
-#~ "  -t title         Set title\n"
-#~ msgstr ""
-#~ "Usage: cupsfilter -m mime/type [ options ] filename\n"
-#~ "\n"
-#~ "Opções:\n"
-#~ "\n"
-#~ "  -c cupsd.conf    Definir arquivo cupsd.conf para uso\n"
-#~ "  -j job-id[,N]    Arquivo de filtro N do trabalho especificado (o padrão "
-#~ "é o arquivo 1)\n"
-#~ "  -n cópias        Definir número de cópias\n"
-#~ "  -o name=value    Definir opção(ões)\n"
-#~ "  -p filename.ppd  Definir arquivo PPD\n"
-#~ "  -t title         Definir título\n"
-
-#~ msgid ""
-#~ "Usage: cupstestdsc [options] filename.ps [... filename.ps]\n"
-#~ "       cupstestdsc [options] -\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -h       Show program usage\n"
-#~ "\n"
-#~ "    Note: this program only validates the DSC comments, not the "
-#~ "PostScript itself.\n"
-#~ msgstr ""
-#~ "Usage: cupstestdsc [options] filename.ps [... filename.ps]\n"
-#~ "       cupstestdsc [options] -\n"
-#~ "\n"
-#~ "Opções:\n"
-#~ "\n"
-#~ "    -h       Mostrar utilização do programa\n"
-#~ "\n"
-#~ "    Nota: este programa apenas valida os comentários DSC, não o próprio "
-#~ "PostScript.\n"
-
-#~ msgid ""
-#~ "Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]\n"
-#~ "       program | cupstestppd [options] -\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -R root-directory    Set alternate root\n"
-#~ "    -W {all,none,constraints,defaults,duplex,filters,translations}\n"
-#~ "                         Issue warnings instead of errors\n"
-#~ "    -q                   Run silently\n"
-#~ "    -r                   Use 'relaxed' open mode\n"
-#~ "    -v                   Be slightly verbose\n"
-#~ "    -vv                  Be very verbose\n"
-#~ msgstr ""
-#~ "Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]\n"
-#~ "       program | cupstestppd [options] -\n"
-#~ "\n"
-#~ "Opções:\n"
-#~ "\n"
-#~ "    -R root-directory    Definir raiz alternada\n"
-#~ "    -W {all,none,constraints,defaults,duplex,filters,translations}\n"
-#~ "                         Expedir avisos em vez de erros\n"
-#~ "    -q                   Executar silenciosamente\n"
-#~ "    -r                   Usar modo aberto 'relaxed'\n"
-#~ "    -v                   Ser levemente detalhado\n"
-#~ "    -vv                  Ser bastante detalhado\n"
-
-#~ msgid "Usage: lpmove job/src dest\n"
-#~ msgstr "Usage: lpmove job/src dest\n"
-
-#~ msgid ""
-#~ "Usage: lpoptions [-h server] [-E] -d printer\n"
-#~ "       lpoptions [-h server] [-E] [-p printer] -l\n"
-#~ "       lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
-#~ "       lpoptions [-h server] [-E] -x printer\n"
-#~ msgstr ""
-#~ "Usage: lpoptions [-h server] [-E] -d printer\n"
-#~ "       lpoptions [-h server] [-E] [-p printer] -l\n"
-#~ "       lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
-#~ "       lpoptions [-h server] [-E] -x printer\n"
-
-#~ msgid "Usage: lppasswd [-g groupname]\n"
-#~ msgstr "Usage: lppasswd [-g groupname]\n"
-
-#~ msgid ""
-#~ "Usage: lppasswd [-g groupname] [username]\n"
-#~ "       lppasswd [-g groupname] -a [username]\n"
-#~ "       lppasswd [-g groupname] -x [username]\n"
-#~ msgstr ""
-#~ "Usage: lppasswd [-g groupname] [username]\n"
-#~ "       lppasswd [-g groupname] -a [username]\n"
-#~ "       lppasswd [-g groupname] -x [username]\n"
-
-#~ msgid ""
-#~ "Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]\n"
-#~ msgstr ""
-#~ "Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]\n"
-
-#~ msgid ""
-#~ "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]\n"
-#~ "Options:\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "  -I include-dir       Add include directory to search path.\n"
-#~ "  -c catalog.po        Load the specified message catalog.\n"
-#~ "  -d output-dir        Specify the output directory.\n"
-#~ "  -l lang[,lang,...]   Specify the output language(s) (locale).\n"
-#~ "  -m                   Use the ModelName value as the filename.\n"
-#~ "  -t                   Test PPDs instead of generating them.\n"
-#~ "  -v                   Be verbose (more v's for more verbosity).\n"
-#~ "  -z                   Compress PPD files using GNU zip.\n"
-#~ "  --cr                 End lines with CR (Mac OS 9).\n"
-#~ "  --crlf               End lines with CR + LF (Windows).\n"
-#~ "  --lf                 End lines with LF (UNIX/Linux/Mac OS X).\n"
-#~ msgstr ""
-#~ "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]\n"
-#~ "Opções:\n"
-#~ "  -D name=value        Definir variável denominada ao valor.\n"
-#~ "  -I include-dir       Adicionar diretório de inclusão ao caminho da "
-#~ "busca.\n"
-#~ "  -c catalog.po        Carregar o catálogo da mensagem especificada.\n"
-#~ "  -d output-dir        Especificar o diretório de saída.\n"
-#~ "  -l lang[,lang,...]   Especificar o(s) idioma(s) de saída (local).\n"
-#~ "  -m                   Usar o valor ModelName como nome de arquivo.\n"
-#~ "  -t                   Testar PPDs em vez de gerá-los.\n"
-#~ "  -v                   Ser detalhado (mais v's para maior detalhamento).\n"
-#~ "  -z                   Comprimir arquivos PPD usando GNU zip.\n"
-#~ "  --cr                 Terminar linhas com CR (Mac OS 9).\n"
-#~ "  --crlf               Terminar linhas com CR + LF (Windows).\n"
-#~ "  --lf                 Terminar linhas com LF (UNIX/Linux/Mac OS X).\n"
-
-#~ msgid ""
-#~ "Usage: ppdhtml [options] filename.drv >filename.html\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "Options:\n"
-#~ "  -I include-dir    Add include directory to search path.\n"
-#~ msgstr ""
-#~ "Usage: ppdhtml [options] filename.drv >filename.html\n"
-#~ "  -D name=value        Definir variável denominada ao valor.\n"
-#~ "Options:\n"
-#~ "  -I include-dir    Adicionar diretório de inclusão ao caminho da busca.\n"
-
-#~ msgid ""
-#~ "Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Options:\n"
-#~ "  -I include-dir\n"
-#~ "  -o filename.drv\n"
-#~ msgstr ""
-#~ "Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Options:\n"
-#~ "  -I include-dir\n"
-#~ "  -o filename.drv\n"
-
-#~ msgid ""
-#~ "Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Options:\n"
-#~ "  -o filename.ppd[.gz]\n"
-#~ msgstr ""
-#~ "Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Opções:\n"
-#~ "  -o filename.ppd[.gz]\n"
-
-#~ msgid ""
-#~ "Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]\n"
-#~ "Options:\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "  -I include-dir    Add include directory to search path.\n"
-#~ "  -v                Be verbose (more v's for more verbosity).\n"
-#~ msgstr ""
-#~ "Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]\n"
-#~ "Opções:\n"
-#~ "  -D name=value        Definir variável denominada ao valor.\n"
-#~ "  -I include-dir    Adicionar diretório de inclusão ao caminho da busca.\n"
-#~ "  -v                Ser detalhado (mais v's para maior detalhamento).\n"
-
-#~ msgid "Usage: snmp [host-or-ip-address]\n"
-#~ msgstr "Usage: snmp [host-or-ip-address]\n"
-
-#~ msgid "WARNING: Adding only the first %d printers found"
-#~ msgstr ""
-#~ "WARNING: Adicionando somente as primeiras %d impressoras encontradas"
-
-#~ msgid "WARNING: Boolean expected for waiteof option \"%s\"\n"
-#~ msgstr "WARNING: Boleano esperado para opção waiteof \"%s\"\n"
-
-#~ msgid "WARNING: Failed to read side-channel request!\n"
-#~ msgstr "WARNING: Falha ao ler o pedido side-channel!\n"
-
-#~ msgid "WARNING: Option \"%s\" cannot be included via IncludeFeature!\n"
-#~ msgstr ""
-#~ "WARNING: A opção \"%s\" não pode ser incluída através de IncludeFeature!\n"
-
-#~ msgid "WARNING: Printer not responding\n"
-#~ msgstr "WARNING: A impressora não responde\n"
-
-#~ msgid "WARNING: Printer sent unexpected EOF\n"
-#~ msgstr "WARNING: A impressora enviou um EOF inesperado\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with command status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: O host remoto não repondeu com o byte de estado de comando após %"
-#~ "d segundos!\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with control status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: O host remoto não repondeu com o byte de estado de controle após "
-#~ "%d segundos!\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with data status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: O host remoto não repondeu com o byte de estado de dados após %d "
-#~ "segundos!\n"
-
-#~ msgid "WARNING: SCSI command timed out (%d); retrying...\n"
-#~ msgstr ""
-#~ "WARNING: Tempo esgotado para comando SCSI (%d); tentando novamente...\n"
-
-#~ msgid ""
-#~ "WARNING: This document does not conform to the Adobe Document Structuring "
-#~ "Conventions and may not print correctly!\n"
-#~ msgstr ""
-#~ "WARNING: Este documento não está de acordo com o Adobe Document "
-#~ "Structuring Conventions e pode não ser impresso corretamente!\n"
-
-#~ msgid "WARNING: Unable to open \"%s:%s\": %s\n"
-#~ msgstr "WARNING: Não é possível abrir \"%s:%s\": %s\n"
-
-#~ msgid "WARNING: Unable to send PAP status request"
-#~ msgstr "WARNING: Não é possível enviar o pedido de estado PAP"
-
-#~ msgid "WARNING: Unexpected PAP packet of type %d\n"
-#~ msgstr "WARNING: Pacote PAP do tipo %d\n"
-
-#~ msgid "WARNING: Unknown PAP packet of type %d\n"
-#~ msgstr "WARNING: Pacote PAP desconhecido do tipo %d\n"
-
-#~ msgid "WARNING: Unknown choice \"%s\" for option \"%s\"!\n"
-#~ msgstr "WARNING: Escolha desconhecida \"%s\" para a opção \"%s\"!\n"
-
-#~ msgid "WARNING: Unknown option \"%s\"!\n"
-#~ msgstr "WARNING: Opção desconhecida \"%s\"!\n"
-
-#~ msgid "WARNING: Unsupported baud rate %s!\n"
-#~ msgstr "WARNING: Taxa de transmissão não compatível %s!\n"
-
-#~ msgid "WARNING: number expected for status option \"%s\"\n"
-#~ msgstr "WARNING: número esperado para a opção de estado \"%s\"\n"
-
-#~ msgid ""
-#~ "WARNING: recoverable: Network host '%s' is busy; will retry in %d "
-#~ "seconds...\n"
-#~ msgstr ""
-#~ "WARNING: recuperável: O host de rede '%s' está ocupado; tentará novamente "
-#~ "em %d segundos...\n"
-
-#~ msgid "Warning, no Windows 2000 printer drivers are installed!"
-#~ msgstr ""
-#~ "Warning, nenhum driver de impressora do Windows 2000 está instalado!"
-
-#~ msgid "You4 Envelope"
-#~ msgstr "Envelope You4"
-
-#~ msgid "convert: Use the -f option to specify a file to convert.\n"
-#~ msgstr ""
-#~ "convert: use a opção -f para especificar um arquivo para converter.\n"
-
-#~ msgid "cupsaddsmb: No PPD file for printer \"%s\" - %s\n"
-#~ msgstr "cupsaddsmb: Nenhum arquivo PPD para a impressora \"%s\" - %s\n"
-
-#~ msgid "cupsctl: Unable to connect to server: %s\n"
-#~ msgstr "cupsctl: não é possível conectar ao servidor: %s\n"
-
-#~ msgid "cupsctl: Unknown option \"%s\"!\n"
-#~ msgstr "cupsctl: Opção desconhecida \"%s\"!\n"
-
-#~ msgid "cupsctl: Unknown option \"-%c\"!\n"
-#~ msgstr "cupsctl: Opção desconhecida \"-%c\"!\n"
-
-#~ msgid "cupsd: Expected config filename after \"-c\" option!\n"
-#~ msgstr ""
-#~ "cupsd: Nome de arquivo de configuração esperado após a opção \"-c\"!\n"
-
-#~ msgid "cupsd: Unable to get current directory!\n"
-#~ msgstr "cupsd: não é possível obter o diretório atual!\n"
-
-#~ msgid "cupsd: Unknown argument \"%s\" - aborting!\n"
-#~ msgstr "cupsd: Argumento desconhecido \"%s\" - anulando!\n"
-
-#~ msgid "cupsd: Unknown option \"%c\" - aborting!\n"
-#~ msgstr "cupsd: Opção desconhecida \"%c\" - anulando!\n"
-
-#~ msgid "cupsd: launchd(8) support not compiled in, running in normal mode.\n"
-#~ msgstr ""
-#~ "cupsd: suporte launchd(8) não compilado, executando em modo normal.\n"
-
-#~ msgid "cupsfilter: Invalid document number %d!\n"
-#~ msgstr "cupsfilter: número de documento inválido %d!\n"
-
-#~ msgid "cupsfilter: Invalid job ID %d!\n"
-#~ msgstr "cupsfilter: ID de trabalho inválido %d!\n"
-
-#~ msgid "cupsfilter: Only one filename can be specified!\n"
-#~ msgstr "cupsfilter: Apenas um filename pode ser especificado!\n"
-
-#~ msgid "cupsfilter: Unable to create temporary file: %s\n"
-#~ msgstr "cupsfilter: não é possível criar um arquivo temporário: %s\n"
-
-#~ msgid "cupsfilter: Unable to get job file - %s\n"
-#~ msgstr "cupsfilter: não é possível obter o arquivo de trabalho - %s\n"
-
-#~ msgid "cupstestppd: The -q option is incompatible with the -v option.\n"
-#~ msgstr "cupstestppd: A opção -q é incompatível com a opção -v.\n"
-
-#~ msgid "cupstestppd: The -v option is incompatible with the -q option.\n"
-#~ msgstr "cupstestppd: A opção -v é incompatível com a opção -q.\n"
-
-#~ msgid "device for %s/%s: %s\n"
-#~ msgstr "dispositivo para %s/%s: %s\n"
-
-#~ msgid "device for %s: %s\n"
-#~ msgstr "dispositivo para %s: %s\n"
-
-#~ msgid "help\t\tget help on commands\n"
-#~ msgstr "ajuda\t\tobter ajuda sobre os comandos\n"
-
-#~ msgid "job-printer-uri attribute missing!"
-#~ msgstr "Atributo job-printer-uri ausente!"
-
-#~ msgid "lpadmin: Class name can only contain printable characters!\n"
-#~ msgstr ""
-#~ "lpadmin: O nome de classe pode conter apenas caracteres imprimíveis!\n"
-
-#~ msgid "lpadmin: Expected PPD after '-P' option!\n"
-#~ msgstr "lpadmin: PPD esperado após a opção '-P'!\n"
-
-#~ msgid "lpadmin: Expected allow/deny:userlist after '-u' option!\n"
-#~ msgstr "lpadmin: Permitir/negar esperado:userlist após a opção '-u'!\n"
-
-#~ msgid "lpadmin: Expected class after '-r' option!\n"
-#~ msgstr "lpadmin: Classe esperada após opção '-r'!\n"
-
-#~ msgid "lpadmin: Expected class name after '-c' option!\n"
-#~ msgstr "lpadmin: Nome de classe esperado após a opção '-c'!\n"
-
-#~ msgid "lpadmin: Expected description after '-D' option!\n"
-#~ msgstr "lpadmin: Descrição esperada após a opção '-D'!\n"
-
-#~ msgid "lpadmin: Expected device URI after '-v' option!\n"
-#~ msgstr "lpadmin: URI de dispositivo esperado após a opção '-v'!\n"
-
-#~ msgid "lpadmin: Expected file type(s) after '-I' option!\n"
-#~ msgstr "lpadmin: Tipo(s) de arquivo esperado após a opção '-I'!\n"
-
-#~ msgid "lpadmin: Expected hostname after '-h' option!\n"
-#~ msgstr "lpadmin: Hostname esperado após a opção '-h'!\n"
-
-#~ msgid "lpadmin: Expected interface after '-i' option!\n"
-#~ msgstr "lpadmin: Interface esperada após a opção '-i'!\n"
-
-#~ msgid "lpadmin: Expected location after '-L' option!\n"
-#~ msgstr "lpadmin: Localização esperada após a opção '-L'!\n"
-
-#~ msgid "lpadmin: Expected model after '-m' option!\n"
-#~ msgstr "lpadmin: Modelo esperado após a opção '-m'!\n"
-
-#~ msgid "lpadmin: Expected name=value after '-o' option!\n"
-#~ msgstr "lpadmin: name=value esperado após a opção '-o'!\n"
-
-#~ msgid "lpadmin: Expected printer after '-p' option!\n"
-#~ msgstr "lpadmin: Impressora esperada após a opção '-p'!\n"
-
-#~ msgid "lpadmin: Expected printer name after '-d' option!\n"
-#~ msgstr "lpadmin: Nome de impressora esperada após a opção '-d'!\n"
-
-#~ msgid "lpadmin: Expected printer or class after '-x' option!\n"
-#~ msgstr "lpadmin: Impressora ou classe esperada após a opção '-x'!\n"
-
-#~ msgid "lpadmin: No member names were seen!\n"
-#~ msgstr "lpadmin: Nenhum nome de membro foi visto!\n"
-
-#~ msgid "lpadmin: Printer %s is already a member of class %s.\n"
-#~ msgstr "lpadmin: A impressora %s já é um membro de classe %s.\n"
-
-#~ msgid "lpadmin: Printer %s is not a member of class %s.\n"
-#~ msgstr "lpadmin: A impressora %s não é um membro de classe %s.\n"
-
-#~ msgid "lpadmin: Printer name can only contain printable characters!\n"
-#~ msgstr ""
-#~ "lpadmin: O nome da impressora pode conter apenas caracteres imprimíveis!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to add a printer to the class:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Não é possível adicionar uma impressora à classe:\n"
-#~ "         Você deve especificar um nome de impressora primeiro!\n"
-
-#~ msgid "lpadmin: Unable to connect to server: %s\n"
-#~ msgstr "lpadmin: Não é possível conectar-se ao servidor: %s\n"
-
-#~ msgid "lpadmin: Unable to create temporary file - %s\n"
-#~ msgstr "lpadmin: Não é possível criar um arquivo temporário - %s\n"
-
-#~ msgid "lpadmin: Unable to create temporary file: %s\n"
-#~ msgstr "lpadmin: Não é possível criar um arquivo temporário: %s\n"
-
-#~ msgid "lpadmin: Unable to open PPD file \"%s\" - %s\n"
-#~ msgstr "lpadmin: Não é possível abrir um arquivo PPD \"%s\" - %s\n"
-
-#~ msgid "lpadmin: Unable to open file \"%s\": %s\n"
-#~ msgstr "lpadmin: Não é possível abrir o arquivo \"%s\": %s\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to remove a printer from the class:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Não é possível remover uma impressora da classe:\n"
-#~ "         Você deve especificar um nome de impressora primeiro!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the PPD file:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Não é possível configurar o arquivo PPD:\n"
-#~ "         Você deve especificar um nome de impressora primeiro!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the device URI:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Não é possível configurar o URI de dispositivo:\n"
-#~ "         Você deve especificar um nome de impressora primeiro!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the interface script or PPD file:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Não é possível configurar o roteiro de interface ou arquivo "
-#~ "PPD:\n"
-#~ " Você deve especificar um nome de impressora primeiro!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the interface script:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Não é possível configurar o roteiro de interface:\n"
-#~ "         Você deve especificar um nome de impressora primeiro!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer description:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Não é possível configurar a descrição da impressora:\n"
-#~ "         Você deve especificar um nome de impressora primeiro!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer location:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Não é possível configurar a localização da impressora:\n"
-#~ "         Você deve especificar um nome de impressora primeiro!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer options:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Não é possível configurar as opções da impressora:\n"
-#~ "         Você deve especificar um nome de impressora primeiro!\n"
-
-#~ msgid "lpadmin: Unknown allow/deny option \"%s\"!\n"
-#~ msgstr "lpadmin: Opção permitir/negar desconhecida \"%s\"!\n"
-
-#~ msgid "lpadmin: Unknown argument '%s'!\n"
-#~ msgstr "lpadmin: Argumento desconhecido '%s'!\n"
-
-#~ msgid "lpadmin: Unknown option '%c'!\n"
-#~ msgstr "lpadmin: Opção desconhecida '%c'!\n"
-
-#~ msgid "lpadmin: Warning - content type list ignored!\n"
-#~ msgstr "lpadmin: Aviso - lista de tipo de conteúdo ignorada!\n"
-
-#~ msgid "lpinfo: Expected 1284 device ID string after --device-id!\n"
-#~ msgstr ""
-#~ "lpinfo: seqüência de caracteres de ID de dispositivo 1284 esperada após --"
-#~ "device-id!\n"
-
-#~ msgid "lpinfo: Expected language after --language!\n"
-#~ msgstr "lpinfo: idioma esperado após --language!\n"
-
-#~ msgid "lpinfo: Expected make and model after --make-and-model!\n"
-#~ msgstr "lpinfo: modelar e fazer esperado após --make-and-model!\n"
-
-#~ msgid "lpinfo: Expected product string after --product!\n"
-#~ msgstr ""
-#~ "lpinfo: seqüência de caracteres de produto esperada após --product!\n"
-
-#~ msgid "lpinfo: Expected scheme list after --exclude-schemes!\n"
-#~ msgstr "lpinfo: lista de esquema esperada após --exclude-schemes!\n"
-
-#~ msgid "lpinfo: Expected scheme list after --include-schemes!\n"
-#~ msgstr "lpinfo: lista de esquema esperada após --include-schemes!\n"
-
-#~ msgid "lpinfo: Expected timeout after --timeout!\n"
-#~ msgstr "lpinfo: tempo esgotado esperado após --timeout!\n"
-
-#~ msgid "lpinfo: Unknown argument '%s'!\n"
-#~ msgstr "lpinfo: Argumento desconhecido '%s'!\n"
-
-#~ msgid "lpinfo: Unknown option '%c'!\n"
-#~ msgstr "lpinfo: Opção desconhecida '%c'!\n"
-
-#~ msgid "lpinfo: Unknown option '%s'!\n"
-#~ msgstr "lpinfo: opção desconhecida '%s'!\n"
-
-#~ msgid "lpmove: Unable to connect to server: %s\n"
-#~ msgstr "lpmove: Não é possível conectar-se ao servidor: %s\n"
-
-#~ msgid "lpmove: Unknown argument '%s'!\n"
-#~ msgstr "lpmove: Argumento desconhecido '%s'!\n"
-
-#~ msgid "lpmove: Unknown option '%c'!\n"
-#~ msgstr "lpmove: Opção desconhecida '%c'!\n"
-
-#~ msgid "lpoptions: No printers!?!\n"
-#~ msgstr "lpoptions: Nenhuma impressora!?!\n"
-
-#~ msgid "lpoptions: Unable to add printer or instance: %s\n"
-#~ msgstr "lpoptions: Não é possível adicionar impressora ou instância: %s\n"
-
-#~ msgid "lpoptions: Unable to get PPD file for %s: %s\n"
-#~ msgstr "lpoptions: Não é possível obter o arquivo PPD para %s: %s\n"
-
-#~ msgid "lpoptions: Unable to open PPD file for %s!\n"
-#~ msgstr "lpoptions: Não é possível abrir o arquivo PPD para %s!\n"
-
-#~ msgid "lpoptions: Unknown printer or class!\n"
-#~ msgstr "lpoptions: Impressora ou classe desconhecidas!\n"
-
-#~ msgid "lppasswd: Only root can add or delete passwords!\n"
-#~ msgstr "lppasswd: Apenas o root pode adicionar ou apagar senhas!\n"
-
-#~ msgid "lppasswd: Password file busy!\n"
-#~ msgstr "lppasswd: Arquivo de senha ocupado!\n"
-
-#~ msgid "lppasswd: Password file not updated!\n"
-#~ msgstr "lppasswd: Arquivo de senha não atualizado!\n"
-
-#~ msgid "lppasswd: Sorry, password doesn't match!\n"
-#~ msgstr "lppasswd: Desculpe, a senha não coincide!\n"
-
-#~ msgid ""
-#~ "lppasswd: Sorry, password rejected.\n"
-#~ "Your password must be at least 6 characters long, cannot contain\n"
-#~ "your username, and must contain at least one letter and number.\n"
-#~ msgstr ""
-#~ "lppasswd: Desculpe, senha rejeitada.\n"
-#~ "A sua senha deve ter pelo menos 6 caracteres, não pode conter\n"
-#~ "o seu nome de usuário e deve possuir pelo menos uma letra e um número.\n"
-
-#~ msgid "lppasswd: Sorry, passwords don't match!\n"
-#~ msgstr "lppasswd: Desculpe, as senhas não coincidem!\n"
-
-#~ msgid "lppasswd: Unable to copy password string: %s\n"
-#~ msgstr ""
-#~ "lppasswd: Não é possível copiar a seqüência de caracteres da senha: %s\n"
-
-#~ msgid "lppasswd: Unable to open password file: %s\n"
-#~ msgstr "lppasswd: Não é possível abrir o arquivo de senha: %s\n"
-
-#~ msgid "lppasswd: Unable to write to password file: %s\n"
-#~ msgstr "lppasswd: Não é possível gravar para o arquivo de senha: %s\n"
-
-#~ msgid "lppasswd: failed to backup old password file: %s\n"
-#~ msgstr "lppasswd: falha ao fazer backup do arquivo de senha antigo: %s\n"
-
-#~ msgid "lppasswd: failed to rename password file: %s\n"
-#~ msgstr "lppasswd: falha ao renomear o arquivo de senha: %s\n"
-
-#~ msgid "lppasswd: user \"%s\" and group \"%s\" do not exist.\n"
-#~ msgstr "lppasswd: usuário \"%s\" e grupo \"%s\" não existem.\n"
-
-#~ msgid ""
-#~ "lpstat: error - %s environment variable names non-existent destination \"%"
-#~ "s\"!\n"
-#~ msgstr ""
-#~ "lpstat: erro - %s destino não existente de nomes de variáveis de ambiente "
-#~ "\"%s\"!\n"
-
-#~ msgid "members of class %s:\n"
-#~ msgstr "membros de classe %s:\n"
-
-#~ msgid "no entries\n"
-#~ msgstr "nenhuma entrada\n"
-
-#~ msgid "no system default destination\n"
-#~ msgstr "nenhum destino padrão de sistema\n"
-
-#~ msgid "notify-events not specified!"
-#~ msgstr "notify-events não especificado!"
-
-#~ msgid "notify-recipient-uri URI \"%s\" is already used!"
-#~ msgstr "URI notify-recipient-uri \"%s\" já foi usado!"
-
-#~ msgid "notify-recipient-uri URI \"%s\" uses unknown scheme!"
-#~ msgstr "notify-recipient-uri URI \"%s\" usa um esquema desconhecido!"
-
-#~ msgid "notify-subscription-id %d no good!"
-#~ msgstr "notify-subscription-id %d não confiável!"
-
-#~ msgid "ppdc: Adding include directory \"%s\"...\n"
-#~ msgstr "ppdc: adicionando diretório de inclusão \"%s\"...\n"
-
-#~ msgid "ppdc: Adding/updating UI text from %s...\n"
-#~ msgstr "ppdc: adicionando/atualizando texto UI de %s...\n"
-
-#~ msgid "ppdc: Bad boolean value (%s) on line %d of %s.\n"
-#~ msgstr "ppdc: valor booleano inválido (%s) na linha %d de %s.\n"
-
-#~ msgid "ppdc: Bad resolution name \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: nome de resolução inválido \"%s\" na linha %d de %s!\n"
-
-#~ msgid "ppdc: Bad status keyword %s on line %d of %s!\n"
-#~ msgstr "ppdc: palavra-chave de estado inválido %s na linha %d de %s!\n"
-
-#~ msgid "ppdc: Bad variable substitution ($%c) on line %d of %s.\n"
-#~ msgstr "ppdc: substituição de variável inválida ($%c) na linha %d de %s.\n"
-
-#~ msgid "ppdc: Choice found on line %d of %s with no Option!\n"
-#~ msgstr "ppdc: escolha encontrada na linha %d de %s com nenhuma Opção!\n"
-
-#~ msgid "ppdc: Duplicate #po for locale %s on line %d of %s!\n"
-#~ msgstr "ppdc: duplicar #po para local %s na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected a filter definition on line %d of %s!\n"
-#~ msgstr "ppdc: definição de filtro esperada na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected a program name on line %d of %s!\n"
-#~ msgstr "ppdc: nome de programa esperado na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected boolean value on line %d of %s.\n"
-#~ msgstr "ppdc: valor booleano esperado na linha %d de %s.\n"
-
-#~ msgid "ppdc: Expected charset after Font on line %d of %s!\n"
-#~ msgstr "ppdc: conjunto de caracteres depois de Font na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected choice code on line %d of %s.\n"
-#~ msgstr "ppdc: código de escolha esperado na linha %d de %s.\n"
-
-#~ msgid "ppdc: Expected choice name/text on line %d of %s.\n"
-#~ msgstr "ppdc: nome/texto de escolha esperado na linha %d de %s.\n"
-
-#~ msgid "ppdc: Expected color order for ColorModel on line %d of %s!\n"
-#~ msgstr "ppdc: ordem de cor esperada para ColorModel na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected colorspace for ColorModel on line %d of %s!\n"
-#~ msgstr "ppdc: colorspace esperada para ColorModel na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected compression for ColorModel on line %d of %s!\n"
-#~ msgstr "ppdc: compressão esperada para ColorModel na linha %d de %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected constraints string for UIConstraints on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: seqüência de caracteres de restrição esperada para UIConstraints na "
-#~ "linha %d de %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected driver type keyword following DriverType on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc: palavra-chave do tipo de driver esperado após DriverType na linha %"
-#~ "d de %s!\n"
-
-#~ msgid "ppdc: Expected duplex type after Duplex on line %d of %s!\n"
-#~ msgstr "ppdc: tipo de dúplex esperado após Duplex na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected encoding after Font on line %d of %s!\n"
-#~ msgstr "ppdc: codificação esperada após Font na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected filename after #po %s on line %d of %s!\n"
-#~ msgstr "ppdc: nome de arquivo esperado após #po %s na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected group name/text on line %d of %s!\n"
-#~ msgstr "ppdc: nome/texto de grupo esperado na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected include filename on line %d of %s!\n"
-#~ msgstr "ppdc: nome de arquivo de inclusão esperado na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected integer on line %d of %s!\n"
-#~ msgstr "ppdc: número inteiro esperado na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected locale after #po on line %d of %s!\n"
-#~ msgstr "ppdc: localidade esperada após #po na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected name after %s on line %d of %s!\n"
-#~ msgstr "ppdc: Nome esperado após %s na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected name after FileName on line %d of %s!\n"
-#~ msgstr "ppdc: Nome esperado após FileName na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected name after Font on line %d of %s!\n"
-#~ msgstr "ppdc: Nome esperado após Font na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected name after Manufacturer on line %d of %s!\n"
-#~ msgstr "ppdc: Nome esperado após Manufacturer na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected name after MediaSize on line %d of %s!\n"
-#~ msgstr "ppdc: nome esperado após MediaSize na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected name after ModelName on line %d of %s!\n"
-#~ msgstr "ppdc: nome esperado após ModelName na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected name after PCFileName on line %d of %s!\n"
-#~ msgstr "ppdc: nome esperado após PCFileName na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected name/text after %s on line %d of %s!\n"
-#~ msgstr "ppdc: nome/texto esperado após %s na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected name/text after Installable on line %d of %s!\n"
-#~ msgstr "ppdc: nome/texto esperado após Installable na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected name/text after Resolution on line %d of %s!\n"
-#~ msgstr "ppdc: nome/texto esperado após Resolution na linha %d de %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected name/text combination for ColorModel on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: combinação de nome/texto esperado para ColorModel na linha %d de %"
-#~ "s!\n"
-
-#~ msgid "ppdc: Expected option name/text on line %d of %s!\n"
-#~ msgstr "ppdc: nome/texto de opção esperado na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected option section on line %d of %s!\n"
-#~ msgstr "ppdc: seção de opção esperada na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected option type on line %d of %s!\n"
-#~ msgstr "ppdc: tipo de opção esperada na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected override field after Resolution on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: campo de substituição esperado após Resolution na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected real number on line %d of %s!\n"
-#~ msgstr "ppdc: número real esperado na linha %d de %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected resolution/mediatype following ColorProfile on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc: resolução/tipo de mídia esperado após ColorProfile na linha %d de %"
-#~ "s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected resolution/mediatype following SimpleColorProfile on line %"
-#~ "d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: resolução/tipo de mídia esperado após SimpleColorProfile na linha %"
-#~ "d de %s!\n"
-
-#~ msgid "ppdc: Expected selector after %s on line %d of %s!\n"
-#~ msgstr "ppdc: seletor esperado após %s na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected status after Font on line %d of %s!\n"
-#~ msgstr "ppdc: estado esperado após Font na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected string after Copyright on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: seqüência de caracteres esperada após Copyright na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected string after Version on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: seqüência de caracteres esperada após Version na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected two option names on line %d of %s!\n"
-#~ msgstr "ppdc: dois nomes de opção esperados na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected value after %s on line %d of %s!\n"
-#~ msgstr "ppdc: valor esperado após %s na linha %d de %s!\n"
-
-#~ msgid "ppdc: Expected version after Font on line %d of %s!\n"
-#~ msgstr "ppdc: versão esperada após Font na linha %d de %s!\n"
-
-#~ msgid "ppdc: Invalid #include/#po filename \"%s\"!\n"
-#~ msgstr "ppdc: nome de arquivo #include/#po inválido \"%s\"!\n"
-
-#~ msgid "ppdc: Invalid cost for filter on line %d of %s!\n"
-#~ msgstr "ppdc: custo inválido para filtro na linha %d de %s!\n"
-
-#~ msgid "ppdc: Invalid empty MIME type for filter on line %d of %s!\n"
-#~ msgstr "ppdc: tipo MIME vazio inválido para filtro na linha %d de %s!\n"
-
-#~ msgid "ppdc: Invalid empty program name for filter on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: nome de programa vazio inválido para filtro na linha %d de %s!\n"
-
-#~ msgid "ppdc: Invalid option section \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: seção de opção inválida \"%s\" na linha %d de %s!\n"
-
-#~ msgid "ppdc: Invalid option type \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: tipo de opção inválida \"%s\" na linha %d de %s!\n"
-
-#~ msgid "ppdc: Loading driver information file \"%s\"...\n"
-#~ msgstr "ppdc: carregando arquivo de informações de driver \"%s\"...\n"
-
-#~ msgid "ppdc: Loading messages for locale \"%s\"...\n"
-#~ msgstr "ppdc: carregando mensagens para localidade \"%s\"...\n"
-
-#~ msgid "ppdc: Loading messages from \"%s\"...\n"
-#~ msgstr "ppdc: carregando mensagens de \"%s\"...\n"
-
-#~ msgid "ppdc: Missing #endif at end of \"%s\"!\n"
-#~ msgstr "ppdc: #endif ausente no final de \"%s\"!\n"
-
-#~ msgid "ppdc: Missing #if on line %d of %s!\n"
-#~ msgstr "ppdc: #if ausente na linha %d de %s!\n"
-
-#~ msgid "ppdc: No message catalog provided for locale %s!\n"
-#~ msgstr "ppdc: nenhum catálogo de mensagem fornecido para a localidade %s!\n"
-
-#~ msgid "ppdc: Option %s redefined with a different type on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: opção %s redefinida com um tipo diferente na linha %d de %s!\n"
-
-#~ msgid "ppdc: Option constraint must *name on line %d of %s!\n"
-#~ msgstr "ppdc: a restrição da opção deve *name na linha %d de %s!\n"
-
-#~ msgid "ppdc: Too many nested #if's on line %d of %s!\n"
-#~ msgstr "ppdc: muitos aninhados #if's na linha %d de %s!\n"
-
-#~ msgid "ppdc: Unable to create PPD file \"%s\" - %s.\n"
-#~ msgstr "ppdc: não é possível criar um arquivo PPD \"%s\" - %s.\n"
-
-#~ msgid "ppdc: Unable to create output directory %s: %s\n"
-#~ msgstr "ppdc: não é possível criar o diretório de saída %s: %s\n"
-
-#~ msgid "ppdc: Unable to create output pipes: %s\n"
-#~ msgstr "ppdc: não é possível criar canais de saída: %s\n"
-
-#~ msgid "ppdc: Unable to execute cupstestppd: %s\n"
-#~ msgstr "ppdc: não é possível executar cupstestppd: %s\n"
-
-#~ msgid "ppdc: Unable to find #po file %s on line %d of %s!\n"
-#~ msgstr "ppdc: Não é possível buscar o arquivo #po %s na linha %d de %s!\n"
-
-#~ msgid "ppdc: Unable to find include file \"%s\" on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Não é possível buscar o arquivo de inclusão \"%s\" na linha %d de %"
-#~ "s!\n"
-
-#~ msgid "ppdc: Unable to find localization for \"%s\" - %s\n"
-#~ msgstr "ppdc: Não é possível buscar a localização para \"%s\" - %s\n"
-
-#~ msgid "ppdc: Unable to load localization file \"%s\" - %s\n"
-#~ msgstr ""
-#~ "ppdc: Não é possível carregar o arquivo de localização \"%s\" - %s\n"
-
-#~ msgid "ppdc: Undefined variable (%s) on line %d of %s.\n"
-#~ msgstr "ppdc: Variável indefinida (%s) na linha %d de %s.\n"
-
-#~ msgid "ppdc: Unknown driver type %s on line %d of %s!\n"
-#~ msgstr "ppdc: tipo de driver desconhecido %s na linha %d de %s!\n"
-
-#~ msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: tipo de dúplex desconhecido \"%s\" na linha %d de %s!\n"
-
-#~ msgid "ppdc: Unknown media size \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: tamanho de mídia desconhecido \"%s\" na linha %d de %s!\n"
-
-#~ msgid "ppdc: Unknown token \"%s\" seen on line %d of %s!\n"
-#~ msgstr "ppdc: token desconhecido \"%s\" visto na linha %d de %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Unknown trailing characters in real number \"%s\" on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc: caracteres delimitadores desconhecidos em número real \"%s\" na "
-#~ "linha %d de %s!\n"
-
-#~ msgid "ppdc: Unterminated string starting with %c on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: seqüência de caracteres não finalizados começando com %c na linha %"
-#~ "d de %s!\n"
-
-#~ msgid "ppdc: Writing %s...\n"
-#~ msgstr "ppdc: gravando %s...\n"
-
-#~ msgid "ppdc: Writing PPD files to directory \"%s\"...\n"
-#~ msgstr "ppdc: gravando arquivos PPD no diretório \"%s\"...\n"
-
-#~ msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s!\n"
-#~ msgstr "ppdmerge: LanguageVersion inválido \"%s\" em %s!\n"
-
-#~ msgid "ppdmerge: Ignoring PPD file %s...\n"
-#~ msgstr "ppdmerge: ignorando arquivo PPD %s...\n"
-
-#~ msgid "ppdmerge: Unable to backup %s to %s- %s\n"
-#~ msgstr "ppdmerge: não é possível fazer o backup de %s em %s- %s\n"
-
-#~ msgid "printer %s disabled since %s -\n"
-#~ msgstr "impressora %s desativada desde %s -\n"
-
-#~ msgid "printer %s is idle.  enabled since %s\n"
-#~ msgstr "impressora %s está ociosa.  ativada desde %s\n"
-
-#~ msgid "printer %s now printing %s-%d.  enabled since %s\n"
-#~ msgstr "impressora %s agora está imprimindo %s-%d.  ativada desde %s\n"
-
-#~ msgid "printer %s/%s disabled since %s -\n"
-#~ msgstr "impressora %s/%s desativada desde %s -\n"
-
-#~ msgid "printer %s/%s is idle.  enabled since %s\n"
-#~ msgstr "impressora %s/%s está ociosa.  ativada desde %s\n"
-
-#~ msgid "printer %s/%s now printing %s-%d.  enabled since %s\n"
-#~ msgstr "impressora %s/%s agora está imprimindo %s-%d.  ativada desde %s\n"
-
-#~ msgid "request id is %s-%d (%d file(s))\n"
-#~ msgstr "id solicitado é %s-%d (%d arquivo(s))\n"
-
-#~ msgid "scheduler is not running\n"
-#~ msgstr "o programador não está executando\n"
-
-#~ msgid "scheduler is running\n"
-#~ msgstr "o programador está executando\n"
-
-#~ msgid "status\t\tshow status of daemon and queue\n"
-#~ msgstr "estado status\t\tshow de daemon e da fila\n"
-
-#~ msgid "system default destination: %s\n"
-#~ msgstr "destino padrão de sistema: %s\n"
-
-#~ msgid "system default destination: %s/%s\n"
-#~ msgstr "destino padrão de sistema: %s/%s\n"
index 7cf0f8c..517c1a4 100644 (file)
@@ -2,14 +2,14 @@ msgid ""
 msgstr ""
 "Project-Id-Version: CUPS 1.4\n"
 "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2012-03-07 13:38-0800\n"
+"POT-Creation-Date: 2013-07-08 07:38-0400\n"
 "PO-Revision-Date: 2009-02-16 12:00-0800\n"
 "Last-Translator: Apple Inc.\n"
 "Language-Team: Apple Inc.\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Language: \n"
 
 msgid "\t\t(all)"
 msgstr ""
@@ -459,10 +459,6 @@ msgid ""
 msgstr ""
 
 #, c-format
-msgid "      **FAIL**  %s choice names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
 msgid ""
 "      **FAIL**  %s must be 1284DeviceID\n"
 "                REF: Page 72, section 5.5"
@@ -470,82 +466,78 @@ msgstr ""
 
 #, c-format
 msgid ""
-"      **FAIL**  BAD Default%s %s\n"
+"      **FAIL**  Bad Default%s %s\n"
 "                REF: Page 40, section 4.5."
 msgstr ""
 
 #, c-format
 msgid ""
-"      **FAIL**  BAD DefaultImageableArea %s\n"
+"      **FAIL**  Bad DefaultImageableArea %s\n"
 "                REF: Page 102, section 5.15."
 msgstr ""
 
 #, c-format
 msgid ""
-"      **FAIL**  BAD DefaultPaperDimension %s\n"
+"      **FAIL**  Bad DefaultPaperDimension %s\n"
 "                REF: Page 103, section 5.15."
 msgstr ""
 
+#, c-format
 msgid ""
-"      **FAIL**  BAD JobPatchFile attribute in file\n"
-"                REF: Page 24, section 3.4."
+"      **FAIL**  Bad FileVersion \"%s\"\n"
+"                REF: Page 56, section 5.3."
 msgstr ""
 
+#, c-format
 msgid ""
-"      **FAIL**  BAD Manufacturer (should be \"HP\")\n"
-"                REF: Page 211, table D.1."
+"      **FAIL**  Bad FormatVersion \"%s\"\n"
+"                REF: Page 56, section 5.3."
 msgstr ""
 
 msgid ""
-"      **FAIL**  BAD Manufacturer (should be \"Oki\")\n"
-"                REF: Page 211, table D.1."
+"      **FAIL**  Bad JobPatchFile attribute in file\n"
+"                REF: Page 24, section 3.4."
 msgstr ""
 
 #, c-format
-msgid ""
-"      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n"
-"                REF: Pages 59-60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD PSVersion - not \"(string) int\".\n"
-"                REF: Pages 62-64, section 5.3."
+msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1."
 msgstr ""
 
-msgid ""
-"      **FAIL**  BAD Product - not \"(string)\".\n"
-"                REF: Page 62, section 5.3."
+#, c-format
+msgid "      **FAIL**  Bad LanguageVersion %s - must be English."
 msgstr ""
 
+#, c-format
 msgid ""
-"      **FAIL**  BAD ShortNickName - longer than 31 chars.\n"
-"                REF: Pages 64-65, section 5.3."
+"      **FAIL**  Bad Manufacturer (should be \"%s\")\n"
+"                REF: Page 211, table D.1."
 msgstr ""
 
 #, c-format
 msgid ""
-"      **FAIL**  Bad %s choice %s\n"
-"                REF: Page 84, section 5.9"
+"      **FAIL**  Bad ModelName - \"%c\" not allowed in string.\n"
+"                REF: Pages 59-60, section 5.3."
 msgstr ""
 
-#, c-format
 msgid ""
-"      **FAIL**  Bad FileVersion \"%s\"\n"
-"                REF: Page 56, section 5.3."
+"      **FAIL**  Bad PSVersion - not \"(string) int\".\n"
+"                REF: Pages 62-64, section 5.3."
 msgstr ""
 
-#, c-format
 msgid ""
-"      **FAIL**  Bad FormatVersion \"%s\"\n"
-"                REF: Page 56, section 5.3."
+"      **FAIL**  Bad Product - not \"(string)\".\n"
+"                REF: Page 62, section 5.3."
 msgstr ""
 
-#, c-format
-msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1."
+msgid ""
+"      **FAIL**  Bad ShortNickName - longer than 31 chars.\n"
+"                REF: Pages 64-65, section 5.3."
 msgstr ""
 
 #, c-format
-msgid "      **FAIL**  Bad LanguageVersion %s - must be English."
+msgid ""
+"      **FAIL**  Bad option %s choice %s\n"
+"                REF: Page 84, section 5.9"
 msgstr ""
 
 #, c-format
@@ -569,7 +561,11 @@ msgid "      **FAIL**  Group names %s and %s differ only by case."
 msgstr ""
 
 #, c-format
-msgid "      **FAIL**  Multiple occurrences of %s choice name %s."
+msgid "      **FAIL**  Multiple occurrences of option %s choice name %s."
+msgstr ""
+
+#, c-format
+msgid "      **FAIL**  Option %s choice names %s and %s differ only by case."
 msgstr ""
 
 #, c-format
@@ -678,10 +674,6 @@ msgid ""
 msgstr ""
 
 #, c-format
-msgid "      **FAIL**  Unable to open PPD file - %s"
-msgstr ""
-
-#, c-format
 msgid "      **FAIL**  Unable to open PPD file - %s on line %d."
 msgstr ""
 
@@ -778,9 +770,6 @@ msgstr ""
 msgid "  --[no-]remote-any       Allow/prevent access from the Internet."
 msgstr ""
 
-msgid "  --[no-]remote-printers  Show/hide remote printers."
-msgstr ""
-
 msgid "  --[no-]share-printers   Turn printer sharing on/off."
 msgstr ""
 
@@ -793,7 +782,7 @@ msgstr ""
 msgid "  --crlf                  End lines with CR + LF (Windows)."
 msgstr ""
 
-msgid "  --lf                    End lines with LF (UNIX/Linux/Mac OS X)."
+msgid "  --lf                    End lines with LF (UNIX/Linux/OS X)."
 msgstr ""
 
 msgid "  -4                      Connect using IPv4."
@@ -811,13 +800,10 @@ msgstr ""
 msgid "  -D name=value           Set named variable to value."
 msgstr ""
 
-msgid "  -E                      Enable encryption."
-msgstr ""
-
-msgid "  -E                      Encrypt the connection to the server."
+msgid "  -E                      Encrypt the connection."
 msgstr ""
 
-msgid "  -E                      Test with TLS encryption."
+msgid "  -E                      Test with HTTP Upgrade to TLS."
 msgstr ""
 
 msgid ""
@@ -836,9 +822,6 @@ msgstr ""
 msgid "  -I {filename,filters,none,profiles}"
 msgstr ""
 
-msgid "  -J title                Set title."
-msgstr ""
-
 msgid "  -L                      Send requests using content-length."
 msgstr ""
 
@@ -851,13 +834,7 @@ msgstr ""
 msgid "  -S                      Test with SSL encryption."
 msgstr ""
 
-msgid "  -T                      Set the receive/send timeout in seconds."
-msgstr ""
-
-msgid "  -U samba-user           Authenticate using the named SAMBA user."
-msgstr ""
-
-msgid "  -U username             Set username for job."
+msgid "  -T seconds              Set the receive/send timeout in seconds."
 msgstr ""
 
 msgid "  -U username             Specify username."
@@ -877,18 +854,9 @@ msgstr ""
 msgid "  -a                      Export all printers."
 msgstr ""
 
-msgid "  -a 'name=value ...'     Set option(s)."
-msgstr ""
-
 msgid "  -c catalog.po           Load the specified message catalog."
 msgstr ""
 
-msgid "  -c config-file          Load alternate configuration file."
-msgstr ""
-
-msgid "  -c copies               Set number of copies."
-msgstr ""
-
 msgid "  -c cupsd.conf           Set cupsd.conf file to use."
 msgstr ""
 
@@ -910,15 +878,9 @@ msgstr ""
 msgid "  -f filename             Set default request filename."
 msgstr ""
 
-msgid "  -f filename             Set file to be converted (otherwise stdin)."
-msgstr ""
-
 msgid "  -h                      Show this usage message."
 msgstr ""
 
-msgid "  -h cups-server          Use the named CUPS server."
-msgstr ""
-
 msgid "  -h server[:port]        Specify server address."
 msgstr ""
 
@@ -934,10 +896,6 @@ msgid ""
 "file 1)."
 msgstr ""
 
-msgid ""
-"  -j mime/type            Set output MIME type (otherwise application/pdf)."
-msgstr ""
-
 msgid "  -l                      Run cupsd from launchd(8)."
 msgstr ""
 
@@ -958,9 +916,6 @@ msgid ""
 "  -n count                Repeat the last file the given number of times."
 msgstr ""
 
-msgid "  -o filename             Set file to be generated (otherwise stdout)."
-msgstr ""
-
 msgid ""
 "  -o filename.drv         Set driver information file (otherwise ppdi.drv)."
 msgstr ""
@@ -974,9 +929,6 @@ msgstr ""
 msgid "  -p filename.ppd         Set PPD file."
 msgstr ""
 
-msgid "  -q                      Be quiet - no output except errors."
-msgstr ""
-
 msgid "  -q                      Run silently."
 msgstr ""
 
@@ -998,16 +950,7 @@ msgstr ""
 msgid "  -u                      Remove the PPD file when finished."
 msgstr ""
 
-msgid "  -v                      Be slightly verbose."
-msgstr ""
-
-msgid "  -v                      Be verbose (more v's for more verbosity)."
-msgstr ""
-
-msgid "  -v                      Be verbose (show commands)."
-msgstr ""
-
-msgid "  -v                      Show all attributes sent and received."
+msgid "  -v                      Be verbose."
 msgstr ""
 
 msgid "  -vv                     Be very verbose."
@@ -1031,22 +974,6 @@ msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes"
 msgstr ""
 
 #, c-format
-msgid "%.0f x %.0f millimeters"
-msgstr "%.0f x %.0f мм"
-
-#, c-format
-msgid "%.0f x %.0f to %.0f x %.0f millimeters"
-msgstr "%.0f x %.0f — %.0f x %.0f мм"
-
-#, c-format
-msgid "%.2f x %.2f inches"
-msgstr "%.2f x %.2f дюймов"
-
-#, c-format
-msgid "%.2f x %.2f to %.2f x %.2f inches"
-msgstr "%.2f x %.2f-%.2f x %.2f дюймов"
-
-#, c-format
 msgid "%s accepting requests since %s"
 msgstr ""
 
@@ -1113,6 +1040,10 @@ msgid ""
 msgstr ""
 
 #, c-format
+msgid "%s: Error - add '/version=1.1' to server name."
+msgstr ""
+
+#, c-format
 msgid "%s: Error - bad job ID."
 msgstr ""
 
@@ -1734,9 +1665,6 @@ msgstr ""
 msgid "3.5\" Disk"
 msgstr "Диск 3.5\""
 
-msgid "3.5\" Disk - 2 1/8 x 2 3/4\""
-msgstr "Диск 3.5\" - 2 1/8 x 2 3/4\""
-
 msgid "3.50x1.00\""
 msgstr "3,50x1,00\""
 
@@ -1945,10 +1873,10 @@ msgid "?Invalid help command unknown."
 msgstr ""
 
 msgid "A Samba password is required to export printer drivers"
-msgstr ""
+msgstr "Для экспорта драйверов принтера требуется пароль Samba"
 
 msgid "A Samba username is required to export printer drivers"
-msgstr ""
+msgstr "Для экспорта драйверов принтера требуется имя пользователя Samba"
 
 #, c-format
 msgid "A class named \"%s\" already exists."
@@ -2078,9 +2006,6 @@ msgstr "Добавить подписку на RSS"
 msgid "Address"
 msgstr "Адрес"
 
-msgid "Address - 1 1/8 x 3 1/2\""
-msgstr "Адрес - 1 1/8 x 3 1/2\""
-
 msgid "Administration"
 msgstr "Администрация"
 
@@ -2137,6 +2062,10 @@ msgstr "B8"
 msgid "B9"
 msgstr "B9"
 
+#, c-format
+msgid "Bad 'document-format' value \"%s\"."
+msgstr ""
+
 msgid "Bad NULL dests pointer"
 msgstr "Неверный указатель NULL dests"
 
@@ -2162,25 +2091,9 @@ msgid "Bad UIConstraints"
 msgstr "Неверное значение UIConstraints"
 
 #, c-format
-msgid "Bad charset file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad charset type: %s"
-msgstr ""
-
-#, c-format
-msgid "Bad columns value %d."
-msgstr ""
-
-#, c-format
 msgid "Bad copies value %d."
 msgstr "Неверное значение количества копий %d."
 
-#, c-format
-msgid "Bad cpi value %f."
-msgstr ""
-
 msgid "Bad custom parameter"
 msgstr "Неверный индивидуальный параметр"
 
@@ -2201,14 +2114,15 @@ msgid "Bad document-format-default \"%s\"."
 msgstr ""
 
 msgid "Bad filename buffer"
+msgstr "Ошибка в буфере filename"
+
+msgid "Bad job-name value: Bad UTF-8 sequence."
 msgstr ""
 
-#, c-format
-msgid "Bad font description line \"%s\"."
+msgid "Bad job-name value: Name too long."
 msgstr ""
 
-#, c-format
-msgid "Bad font description line: %s"
+msgid "Bad job-name value: Wrong type or count."
 msgstr ""
 
 msgid "Bad job-priority value."
@@ -2229,10 +2143,6 @@ msgid "Bad job-uri \"%s\"."
 msgstr ""
 
 #, c-format
-msgid "Bad lpi value %f."
-msgstr ""
-
-#, c-format
 msgid "Bad notify-pull-method \"%s\"."
 msgstr ""
 
@@ -2256,6 +2166,9 @@ msgstr "Неверные значения page-ranges %d-%d."
 msgid "Bad port-monitor \"%s\"."
 msgstr ""
 
+msgid "Bad printer URI."
+msgstr ""
+
 #, c-format
 msgid "Bad printer-state value %d."
 msgstr ""
@@ -2269,33 +2182,14 @@ msgid "Bad request version number %d.%d."
 msgstr ""
 
 msgid "Bad subscription ID"
-msgstr ""
-
-#, c-format
-msgid "Bad text direction \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad text direction: %s"
-msgstr ""
-
-#, c-format
-msgid "Bad text width \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad text width: %s"
-msgstr ""
+msgstr "Неверный ID подписки"
 
 msgid "Bad value string"
-msgstr ""
+msgstr "Неверная строка значений"
 
 msgid "Banners"
 msgstr "Баннеры"
 
-msgid "Billing Information: "
-msgstr "Реквизиты для выставления счета: "
-
 msgid "Bond Paper"
 msgstr "Документная бумага"
 
@@ -2376,9 +2270,6 @@ msgstr ""
 msgid "Created"
 msgstr "Создано"
 
-msgid "Created On: "
-msgstr "Дата создания: "
-
 msgid "Custom"
 msgstr "Индивидуальный"
 
@@ -2409,9 +2300,6 @@ msgstr "Удалить класс"
 msgid "Delete Printer"
 msgstr "Удалить принтер"
 
-msgid "Description: "
-msgstr "Описание: "
-
 msgid "DeskJet Series"
 msgstr "Серия DeskJet"
 
@@ -2459,12 +2347,6 @@ msgstr "Отключено"
 msgid "Document #%d does not exist in job #%d."
 msgstr ""
 
-msgid "Driver Name: "
-msgstr "Имя драйвера: "
-
-msgid "Driver Version: "
-msgstr "Версия драйвера: "
-
 msgid "Duplexer"
 msgstr "Дуплексер"
 
@@ -2750,16 +2632,13 @@ msgstr ""
 msgid "File \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
 msgstr ""
 
-msgid "File Folder"
-msgstr "Каталог файла"
-
-msgid "File Folder - 9/16 x 3 7/16\""
-msgstr "Каталог файла - 9 16/8 x 3 7/16\""
+msgid "File Folder "
+msgstr ""
 
 #, c-format
 msgid ""
 "File device URIs have been disabled. To enable, see the FileDevice directive "
-"in \"%s/cupsd.conf\"."
+"in \"%s/cups-files.conf\"."
 msgstr ""
 
 #, c-format
@@ -2772,10 +2651,6 @@ msgstr "Фолио"
 msgid "Forbidden"
 msgstr "Запрещено"
 
-#, c-format
-msgid "Formatting page %d."
-msgstr ""
-
 msgid "General"
 msgstr "Основные"
 
@@ -2800,8 +2675,8 @@ msgstr "HP"
 msgid "Hanging Folder"
 msgstr "Папка подвесного хранения"
 
-msgid "Hanging Folder - 9/16 x 2\""
-msgstr "Папка подвесного хранения - 9/16 x 2\""
+msgid "Help file not in index."
+msgstr ""
 
 msgid "IPP 1setOf attribute with incompatible value tags."
 msgstr ""
@@ -2809,6 +2684,9 @@ msgstr ""
 msgid "IPP attribute has no name."
 msgstr ""
 
+msgid "IPP attribute is not a member of the message."
+msgstr ""
+
 msgid "IPP begCollection value not 0 bytes."
 msgstr ""
 
@@ -2824,6 +2702,9 @@ msgstr ""
 msgid "IPP enum value not 4 bytes."
 msgstr ""
 
+msgid "IPP extension tag larger than 0x7FFFFFFF."
+msgstr ""
+
 msgid "IPP integer value not 4 bytes."
 msgstr ""
 
@@ -2833,6 +2714,12 @@ msgstr ""
 msgid "IPP member name is not empty."
 msgstr ""
 
+msgid "IPP memberName value is empty."
+msgstr ""
+
+msgid "IPP memberName with no attribute."
+msgstr ""
+
 msgid "IPP name larger than 32767 bytes."
 msgstr ""
 
@@ -2885,7 +2772,7 @@ msgid "Intellitech"
 msgstr "Intellitech"
 
 msgid "Internal Server Error"
-msgstr ""
+msgstr "Внутренняя Ошибка сервера"
 
 msgid "Internal error"
 msgstr "Внутренняя ошибка"
@@ -2893,18 +2780,15 @@ msgstr "Внутренняя ошибка"
 msgid "Internet Postage 2-Part"
 msgstr "Наклейки Internet Postage 2-Part"
 
-msgid "Internet Postage 2-Part - 2 1/4 x 7 1/2\""
-msgstr "Наклейки Internet Postage 2-Part - 2 1/4 x 7 1/2\""
-
 msgid "Internet Postage 3-Part"
 msgstr "Наклейки Internet Postage 3-Part"
 
-msgid "Internet Postage 3-Part - 2 1/4 x 7\""
-msgstr "Наклейки Internet Postage 3-Part - 2 1/4 x 7\""
-
 msgid "Internet Printing Protocol"
 msgstr "Протокол интернет-печати"
 
+msgid "Invalid media size."
+msgstr ""
+
 #, c-format
 msgid "Invalid printer command \"%s\"."
 msgstr ""
@@ -2996,23 +2880,17 @@ msgstr "Задание завершено"
 msgid "Job Created"
 msgstr "Задание создано"
 
-msgid "Job ID: "
-msgstr "ID задания: "
-
 msgid "Job Options Changed"
 msgstr "Параметры задания изменены"
 
 msgid "Job Stopped"
 msgstr "Задание остановлено"
 
-msgid "Job UUID: "
-msgstr "UUID задания: "
-
 msgid "Job is completed and cannot be changed."
 msgstr "Задание завершено и не может быть изменено."
 
-msgid "Job operation failed:"
-msgstr "Сбой операции задания:"
+msgid "Job operation failed"
+msgstr ""
 
 msgid "Job state cannot be changed."
 msgstr "Состояние задания не может быть изменено."
@@ -3039,9 +2917,6 @@ msgstr ""
 msgid "Large Address"
 msgstr "Полный адрес"
 
-msgid "Large Address - 1 4/10 x 3 1/2\""
-msgstr "Полный адрес - 1 4/10 x 3 1/2\""
-
 msgid "LaserJet Series PCL 4/5"
 msgstr "Серия LaserJet, PCL 4/5"
 
@@ -3060,33 +2935,15 @@ msgstr "Строка длиннее разрешенного предела (255
 msgid "List Available Printers"
 msgstr "Список доступных принтеров"
 
-msgid "Loading print file."
-msgstr ""
-
-msgid "Location: "
-msgstr "Местоположение: "
-
 msgid "Long-Edge (Portrait)"
 msgstr "По длинной стороне (книжная)"
 
 msgid "Looking for printer."
 msgstr ""
 
-msgid "Make and Model: "
-msgstr "Марка и модель: "
-
 msgid "Manual Feed"
 msgstr "Ручная подача"
 
-msgid "Media Dimensions: "
-msgstr "Размеры бумаги: "
-
-msgid "Media Limits: "
-msgstr "Ограничения бумаги: "
-
-msgid "Media Name: "
-msgstr "Название бумаги: "
-
 msgid "Media Size"
 msgstr "Размер бумаги"
 
@@ -3122,7 +2979,7 @@ msgid "Missing double quote on line %d."
 msgstr ""
 
 msgid "Missing form variable"
-msgstr ""
+msgstr "Отсутствует переменная формы"
 
 msgid "Missing last-document attribute in request."
 msgstr ""
@@ -3137,7 +2994,7 @@ msgid "Missing notify-subscription-ids attribute."
 msgstr ""
 
 msgid "Missing option keyword"
-msgstr ""
+msgstr "Отсутствует ключевое слово параметра"
 
 msgid "Missing requesting-user-name attribute."
 msgstr ""
@@ -3146,10 +3003,6 @@ msgid "Missing required attributes."
 msgstr ""
 
 #, c-format
-msgid "Missing value on line %d of banner file."
-msgstr ""
-
-#, c-format
 msgid "Missing value on line %d."
 msgstr ""
 
@@ -3210,7 +3063,7 @@ msgid "No Content"
 msgstr "Нет контента"
 
 msgid "No PPD name"
-msgstr ""
+msgstr "Нет имени PPD"
 
 msgid "No VarBind SEQUENCE"
 msgstr "Нет последовательности VarBind"
@@ -3252,11 +3105,8 @@ msgstr "Нет значения error-status"
 msgid "No file in print request."
 msgstr ""
 
-msgid "No fonts in charset file."
-msgstr ""
-
 msgid "No modification time"
-msgstr ""
+msgstr "Не указано время изменения"
 
 msgid "No name OID"
 msgstr "Нет имени OID"
@@ -3265,13 +3115,13 @@ msgid "No pages were found."
 msgstr ""
 
 msgid "No printer name"
-msgstr ""
+msgstr "Нет имени принтера"
 
 msgid "No printer-uri found"
-msgstr ""
+msgstr "Не указан адрес printer-uri"
 
 msgid "No printer-uri found for class"
-msgstr ""
+msgstr "Не указан адрес printer-uri для класса"
 
 msgid "No printer-uri in request."
 msgstr ""
@@ -3361,9 +3211,6 @@ msgstr "Параметры установлены"
 msgid "Options:"
 msgstr ""
 
-msgid "Options: "
-msgstr "Параметры: "
-
 msgid "Out of date PPD cache file."
 msgstr ""
 
@@ -3512,17 +3359,11 @@ msgstr ""
 msgid "Print file was not accepted."
 msgstr ""
 
-msgid "Print job too large."
+msgid "Print job canceled at printer."
 msgstr ""
 
-msgid "Printed For: "
-msgstr "Напечатано для: "
-
-msgid "Printed From: "
-msgstr "Напечатано из: "
-
-msgid "Printed On: "
-msgstr "Дата печати: "
+msgid "Print job too large."
+msgstr ""
 
 msgid "Printer Added"
 msgstr "Принтер добавлен"
@@ -3536,47 +3377,13 @@ msgstr "Принтер удален"
 msgid "Printer Modified"
 msgstr "Принтер изменен"
 
-msgid "Printer Name: "
-msgstr "Имя принтера: "
-
 msgid "Printer Paused"
 msgstr "Принтер приостановлен"
 
 msgid "Printer Settings"
 msgstr "Параметры принтера"
 
-msgid "Printer busy, will retry in 10 seconds."
-msgstr ""
-
-msgid "Printer busy; will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer did not respond."
-msgstr ""
-
-#, c-format
-msgid "Printer does not support IPP/%d.%d, trying IPP/%s."
-msgstr ""
-
-msgid "Printer is busy, will retry in 5 seconds."
-msgstr ""
-
-msgid "Printer is not currently connected."
-msgstr ""
-
-msgid "Printer is now connected."
-msgstr ""
-
-msgid "Printer is now online."
-msgstr ""
-
-msgid "Printer is offline."
-msgstr ""
-
-msgid "Printer not connected, will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer not connected; will retry in 30 seconds."
+msgid "Printer cannot print supplied content."
 msgstr ""
 
 msgid "Printer:"
@@ -3589,10 +3396,6 @@ msgstr "Принтеры"
 msgid "Printing page %d, %d%% complete."
 msgstr ""
 
-#, c-format
-msgid "Printing page %d."
-msgstr ""
-
 msgid "Purge Jobs"
 msgstr "Удалить задания"
 
@@ -3610,9 +3413,6 @@ msgid ""
 "Rank   Owner      Pri  Job        Files                       Total Size"
 msgstr ""
 
-msgid "Ready to print."
-msgstr ""
-
 msgid "Reject Jobs"
 msgstr "Отклонить задания"
 
@@ -3642,9 +3442,6 @@ msgstr "Возобновить работу принтера"
 msgid "Return Address"
 msgstr "Обратный адрес"
 
-msgid "Return Address - 3/4 x 2\""
-msgstr "Обратный адрес - 3/4 x 2\""
-
 msgid "Rewind"
 msgstr "Вернуться в начало"
 
@@ -3664,10 +3461,6 @@ msgstr "Посмотреть другие"
 msgid "Sending data to printer."
 msgstr ""
 
-#, c-format
-msgid "Serial Port #%d"
-msgstr "Последовательный порт #%d"
-
 msgid "Server Restarted"
 msgstr "Сервер перезагружен"
 
@@ -3701,9 +3494,6 @@ msgstr "Настроить публикацию"
 msgid "Shipping Address"
 msgstr "Адрес доставки"
 
-msgid "Shipping Address - 2 5/16 x 4\""
-msgstr "Адрес доставки - 2 5/16 x 4\""
-
 msgid "Short-Edge (Landscape)"
 msgstr "По короткой стороне (альбомная)"
 
@@ -3773,6 +3563,17 @@ msgid "The %s attribute cannot be provided with job-ids."
 msgstr ""
 
 #, c-format
+msgid ""
+"The '%s' Job Description attribute cannot be supplied in a job creation "
+"request."
+msgstr ""
+
+#, c-format
+msgid ""
+"The '%s' operation attribute cannot be supplied in a Create-Job request."
+msgstr ""
+
+#, c-format
 msgid "The PPD file \"%s\" could not be found."
 msgstr "Не удается найти PPD-файл «%s»."
 
@@ -3791,16 +3592,16 @@ msgstr ""
 "содержать пробелы, дроби (/) или знак «решетки» (#)."
 
 msgid "The developer unit needs to be replaced."
-msgstr ""
+msgstr "Блок разработки должен быть перемещен"
 
 msgid "The developer unit will need to be replaced soon."
-msgstr ""
+msgstr "Необходимо переместить блок разработки"
 
 msgid "The fuser's temperature is high."
-msgstr ""
+msgstr "Высокая температура термофиксатора!"
 
 msgid "The fuser's temperature is low."
-msgstr ""
+msgstr "Низкая температура термофиксатора!"
 
 msgid ""
 "The notify-lease-duration attribute cannot be used with job subscriptions."
@@ -3813,42 +3614,43 @@ msgid "The notify-user-data value is too large (%d > 63 octets)."
 msgstr ""
 
 msgid "The optical photoconductor needs to be replaced."
-msgstr ""
+msgstr "Оптический фоторегистратор должен быть перемещен."
 
 msgid "The optical photoconductor will need to be replaced soon."
-msgstr ""
+msgstr "Необходимо переместить оптический фоторегистратор."
 
 msgid "The output bin is almost full."
-msgstr ""
+msgstr "Лоток вывода почти заполнен."
 
 msgid "The output bin is full."
-msgstr ""
+msgstr "Лоток вывода заполнен."
 
 msgid "The output bin is missing."
-msgstr ""
-
-msgid "The page setup information was not valid."
-msgstr ""
+msgstr "Отсутствует лоток вывода."
 
 msgid "The paper tray is almost empty."
-msgstr ""
+msgstr "Лоток с бумагой почти пуст."
 
 msgid "The paper tray is empty."
-msgstr ""
+msgstr "Лоток с бумагой пуст."
 
 msgid "The paper tray is missing."
-msgstr ""
+msgstr "Лоток с бумагой отсутствует."
 
 msgid "The paper tray needs to be filled."
+msgstr "Необходимо наполнить лоток с бумагой."
+
+msgid "The printer URI is incorrect or no longer exists."
 msgstr ""
 
-msgid "The print file could not be opened."
+msgid "The printer did not respond."
 msgstr ""
 
-msgid "The printer URI is incorrect or no longer exists."
+#, c-format
+msgid "The printer does not support IPP/%d.%d, trying IPP/%s."
 msgstr ""
 
-msgid "The printer is busy."
+msgid "The printer is in use."
 msgstr ""
 
 msgid "The printer is not connected."
@@ -3857,9 +3659,15 @@ msgstr ""
 msgid "The printer is not responding."
 msgstr ""
 
-msgid "The printer is out of ink."
+msgid "The printer is now connected."
+msgstr ""
+
+msgid "The printer is now online."
 msgstr ""
 
+msgid "The printer is offline."
+msgstr "Принтер выключен."
+
 msgid "The printer is running low on ink."
 msgstr ""
 
@@ -3869,6 +3677,9 @@ msgstr ""
 msgid "The printer is unreachable at this time."
 msgstr ""
 
+msgid "The printer may be out of ink."
+msgstr ""
+
 msgid "The printer may be out of toner."
 msgstr ""
 
@@ -3889,19 +3700,19 @@ msgid "The printer or class is not shared."
 msgstr ""
 
 msgid "The printer's cover is open."
-msgstr ""
+msgstr "Крышка принтера открыта."
 
 msgid "The printer's door is open."
-msgstr ""
+msgstr "Дверца принтера открыта."
 
 msgid "The printer's interlock is open."
-msgstr ""
+msgstr "Открыт замок."
 
 msgid "The printer's waste bin is almost full."
-msgstr ""
+msgstr "Отсек для мусора почти заполнен."
 
 msgid "The printer's waste bin is full."
-msgstr ""
+msgstr "Отсек для мусора заполнен."
 
 #, c-format
 msgid "The printer-uri \"%s\" contains invalid characters."
@@ -3938,7 +3749,7 @@ msgid "There are too many subscriptions."
 msgstr "Слишком много подписок."
 
 msgid "There is a paper jam."
-msgstr ""
+msgstr "Зажевало бумагу."
 
 msgid "There was an unrecoverable USB error."
 msgstr ""
@@ -3946,9 +3757,6 @@ msgstr ""
 msgid "Thermal Transfer Media"
 msgstr "Носитель для печати методом термопереноса"
 
-msgid "Title: "
-msgstr "Заголовок: "
-
 msgid "Too many active jobs."
 msgstr "Слишком много активных заданий."
 
@@ -4005,18 +3813,17 @@ msgstr ""
 msgid "US Letter Small"
 msgstr ""
 
-#, c-format
-msgid "USB Serial Port #%d"
-msgstr "Последовательный порт USB #%d"
+msgid "Unable to access cupsd.conf file"
+msgstr ""
 
-msgid "Unable to access cupsd.conf file:"
-msgstr "Не удается получить доступ к файлу «cupsd.conf»:"
+msgid "Unable to access help file."
+msgstr ""
 
-msgid "Unable to add RSS subscription:"
-msgstr "Не удается добавить подписку RSS:"
+msgid "Unable to add RSS subscription"
+msgstr ""
 
-msgid "Unable to add class:"
-msgstr "Не удается добавить класс:"
+msgid "Unable to add class"
+msgstr ""
 
 msgid "Unable to add document to print job."
 msgstr ""
@@ -4025,8 +3832,8 @@ msgstr ""
 msgid "Unable to add job for destination \"%s\"."
 msgstr ""
 
-msgid "Unable to add printer:"
-msgstr "Не удается добавить принтер:"
+msgid "Unable to add printer"
+msgstr ""
 
 msgid "Unable to allocate memory for file types."
 msgstr ""
@@ -4037,20 +3844,20 @@ msgstr ""
 msgid "Unable to allocate memory for pages array"
 msgstr ""
 
-msgid "Unable to cancel RSS subscription:"
-msgstr "Не удается отменить подписку RSS:"
+msgid "Unable to cancel RSS subscription"
+msgstr ""
 
 msgid "Unable to cancel print job."
 msgstr ""
 
-msgid "Unable to change printer-is-shared attribute:"
-msgstr "Не удается изменить атрибут printer-is-shared:"
+msgid "Unable to change printer"
+msgstr ""
 
-msgid "Unable to change printer:"
-msgstr "Не удается изменить принтер:"
+msgid "Unable to change printer-is-shared attribute"
+msgstr ""
 
-msgid "Unable to change server settings:"
-msgstr "Не удается изменить настройки сервера:"
+msgid "Unable to change server settings"
+msgstr ""
 
 msgid "Unable to configure printer options."
 msgstr ""
@@ -4075,7 +3882,7 @@ msgstr ""
 
 #, c-format
 msgid "Unable to copy PPD file - %s"
-msgstr ""
+msgstr "Не удается копировать PPD-файл - %s"
 
 msgid "Unable to copy PPD file."
 msgstr ""
@@ -4090,37 +3897,28 @@ msgstr ""
 
 #, c-format
 msgid "Unable to copy interface script - %s"
-msgstr ""
-
-msgid "Unable to copy print file"
-msgstr ""
+msgstr "Не удается копировать скрипт интерфейса - %s"
 
 msgid "Unable to create compressed print file"
 msgstr ""
 
-msgid "Unable to create pipes for filters"
-msgstr ""
-
 msgid "Unable to create printer-uri"
-msgstr ""
+msgstr "Не удается создать printer-uri"
 
 msgid "Unable to create temporary file"
 msgstr ""
 
-msgid "Unable to create temporary file:"
-msgstr "Не удается создать временный файл:"
-
-msgid "Unable to delete class:"
-msgstr "Не удается удалить класс:"
+msgid "Unable to delete class"
+msgstr ""
 
-msgid "Unable to delete printer:"
-msgstr "Не удается удалить принтер:"
+msgid "Unable to delete printer"
+msgstr ""
 
-msgid "Unable to do maintenance command:"
-msgstr "Не удается выполнить команду обслуживания:"
+msgid "Unable to do maintenance command"
+msgstr ""
 
 msgid "Unable to edit cupsd.conf files larger than 1MB"
-msgstr ""
+msgstr "Невозможно редактировать файлы cupsd.conf больше 1 МБ"
 
 msgid ""
 "Unable to establish a secure connection to host (certificate chain invalid)."
@@ -4153,41 +3951,38 @@ msgid "Unable to establish a secure connection to host."
 msgstr ""
 
 msgid "Unable to find destination for job"
-msgstr ""
+msgstr "Не удается найти назначение для задания"
 
 msgid "Unable to find printer."
 msgstr ""
 
-msgid "Unable to fork filter"
-msgstr ""
-
 msgid "Unable to generate compressed print file"
 msgstr ""
 
 msgid "Unable to get backend exit status."
 msgstr ""
 
-msgid "Unable to get class list:"
-msgstr "Не удается получить список класса:"
+msgid "Unable to get class list"
+msgstr ""
+
+msgid "Unable to get class status"
+msgstr ""
 
-msgid "Unable to get class status:"
-msgstr "Не удается получить статус класса:"
+msgid "Unable to get list of printer drivers"
+msgstr ""
 
-msgid "Unable to get list of printer drivers:"
-msgstr "Не удается получить список драйверов принтера:"
+msgid "Unable to get printer attributes"
+msgstr ""
 
-msgid "Unable to get printer attributes:"
-msgstr "Не удается получить атрибуты принтера:"
+msgid "Unable to get printer list"
+msgstr ""
 
-msgid "Unable to get printer list:"
-msgstr "Не удается получить список принтеров:"
+msgid "Unable to get printer status"
+msgstr ""
 
 msgid "Unable to get printer status."
 msgstr ""
 
-msgid "Unable to get printer status:"
-msgstr "Не удается получить статус принтера:"
-
 #, c-format
 msgid "Unable to install Windows 2000 printer driver files (%d)."
 msgstr ""
@@ -4196,6 +3991,9 @@ msgstr ""
 msgid "Unable to install Windows 9x printer driver files (%d)."
 msgstr ""
 
+msgid "Unable to load help index."
+msgstr ""
+
 #, c-format
 msgid "Unable to locate printer \"%s\"."
 msgstr ""
@@ -4203,11 +4001,11 @@ msgstr ""
 msgid "Unable to locate printer."
 msgstr ""
 
-msgid "Unable to modify class:"
-msgstr "Не удается изменить класс:"
+msgid "Unable to modify class"
+msgstr ""
 
-msgid "Unable to modify printer:"
-msgstr "Не удается изменить принтер:"
+msgid "Unable to modify printer"
+msgstr ""
 
 msgid "Unable to move job"
 msgstr "Не удается переместить задание"
@@ -4218,12 +4016,6 @@ msgstr "Не удается переместить задания"
 msgid "Unable to open PPD file"
 msgstr "Не удается открыть PPD-файл"
 
-msgid "Unable to open PPD file:"
-msgstr "Не удается открыть PPD-файл:"
-
-msgid "Unable to open charset file"
-msgstr ""
-
 msgid "Unable to open compressed print file"
 msgstr ""
 
@@ -4237,30 +4029,22 @@ msgstr ""
 msgid "Unable to open document #%d in job #%d."
 msgstr ""
 
-msgid "Unable to open print file"
+msgid "Unable to open help file."
 msgstr ""
 
-msgid "Unable to open psglyphs"
+msgid "Unable to open print file"
 msgstr ""
 
 msgid "Unable to open raster file"
 msgstr ""
 
-#, c-format
-msgid "Unable to print %d text columns."
-msgstr ""
-
-#, c-format
-msgid "Unable to print %dx%d text page."
+msgid "Unable to print test page"
 msgstr ""
 
-msgid "Unable to print test page:"
-msgstr "Не удается напечатать пробную страницу:"
-
-msgid "Unable to read print data"
+msgid "Unable to read print data."
 msgstr ""
 
-msgid "Unable to read print data."
+msgid "Unable to resolve printer URI."
 msgstr ""
 
 #, c-format
@@ -4271,29 +4055,26 @@ msgid "Unable to see in file"
 msgstr ""
 
 msgid "Unable to send command to printer driver"
-msgstr ""
+msgstr "Не удается отправить команду драйверу принтера"
 
 msgid "Unable to send data to printer."
 msgstr ""
 
-msgid "Unable to send raster data to the driver."
-msgstr ""
-
 #, c-format
 msgid "Unable to set Windows printer driver (%d)."
 msgstr ""
 
-msgid "Unable to set options:"
-msgstr "Не удается настроить параметры:"
+msgid "Unable to set options"
+msgstr ""
 
-msgid "Unable to set server default:"
-msgstr "Не удается назначить сервер используемым по умолчанию:"
+msgid "Unable to set server default"
+msgstr ""
 
 msgid "Unable to start backend process."
 msgstr ""
 
-msgid "Unable to upload cupsd.conf file:"
-msgstr "Не удается загрузить файл «cupsd.conf»:"
+msgid "Unable to upload cupsd.conf file"
+msgstr ""
 
 msgid "Unable to use legacy USB class driver."
 msgstr ""
@@ -4330,6 +4111,9 @@ msgstr ""
 msgid "Unknown format character: \"%c\"."
 msgstr ""
 
+msgid "Unknown media size name."
+msgstr ""
+
 #, c-format
 msgid "Unknown option \"%s\" with value \"%s\"."
 msgstr ""
@@ -4350,16 +4134,22 @@ msgstr "Неизвестная политика printer-error-policy «%s»."
 msgid "Unknown printer-op-policy \"%s\"."
 msgstr "Неизвестная политика printer-op-policy «%s»."
 
+msgid "Unknown service name."
+msgstr ""
+
 #, c-format
 msgid "Unknown version option value: \"%s\"."
 msgstr ""
 
 #, c-format
-msgid "Unsupported baud rate: %s"
+msgid "Unsupported 'compression' value \"%s\"."
 msgstr ""
 
 #, c-format
-msgid "Unsupported brightness value %s, using brightness=100."
+msgid "Unsupported 'document-format' value \"%s\"."
+msgstr ""
+
+msgid "Unsupported 'job-name' value."
 msgstr ""
 
 #, c-format
@@ -4382,10 +4172,6 @@ msgstr ""
 msgid "Unsupported format \"%s\"."
 msgstr ""
 
-#, c-format
-msgid "Unsupported gamma value %s, using gamma=1000."
-msgstr ""
-
 msgid "Unsupported margins."
 msgstr ""
 
@@ -4425,20 +4211,9 @@ msgid ""
 msgstr ""
 
 #, c-format
-msgid "Usage: %s job user title copies options [filename]"
-msgstr ""
-
-#, c-format
 msgid "Usage: %s job-id user title copies options [file]"
 msgstr ""
 
-#, c-format
-msgid "Usage: %s job-id user title copies options file"
-msgstr ""
-
-msgid "Usage: convert [ options ]"
-msgstr ""
-
 msgid "Usage: cupsaddsmb [options] printer1 ... printerN"
 msgstr ""
 
@@ -4532,11 +4307,11 @@ msgstr "Да"
 
 #, c-format
 msgid ""
-"You must access this page using the URL <A HREF=\"https://%s:%d%s\">https://%"
-"s:%d%s</A>."
+"You must access this page using the URL <A HREF=\"https://%s:%d%s\">https://"
+"%s:%d%s</A>."
 msgstr ""
-"Вы должны получить доступ к этой странице с помощью URL <A HREF=«https://%s:%d"
-"%s»>https://%s:%d%s</A>."
+"Вы должны получить доступ к этой странице с помощью URL <A HREF=«https://%s:"
+"%d%s»>https://%s:%d%s</A>."
 
 msgid ""
 "Your password must be at least 6 characters long, cannot contain your "
@@ -4558,9 +4333,6 @@ msgstr "отменено"
 msgid "completed"
 msgstr "завершено"
 
-msgid "convert: Use the -f option to specify a file to convert."
-msgstr ""
-
 msgid "cups-deviced failed to execute."
 msgstr "Не удалось выполнить cups-deviced."
 
@@ -4589,9 +4361,18 @@ msgstr ""
 msgid "cupsd: Expected config filename after \"-c\" option."
 msgstr ""
 
+msgid "cupsd: Expected cups-files.conf filename after \"-s\" option."
+msgstr ""
+
+msgid "cupsd: Relative cups-files.conf filename not allowed."
+msgstr ""
+
 msgid "cupsd: Unable to get current directory."
 msgstr ""
 
+msgid "cupsd: Unable to get path to cups-files.conf file."
+msgstr ""
+
 #, c-format
 msgid "cupsd: Unknown argument \"%s\" - aborting."
 msgstr ""
@@ -4650,12 +4431,6 @@ msgstr "свободен"
 msgid "ipptool: \"-i\" and \"-n\" are incompatible with -X\"."
 msgstr ""
 
-msgid "ipptool: \"-i\" is incompatible with \"-X\"."
-msgstr ""
-
-msgid "ipptool: \"-n\" is incompatible with \"-X\"."
-msgstr ""
-
 #, c-format
 msgid "ipptool: Bad URI - %s."
 msgstr ""
@@ -5593,8 +5368,8 @@ msgstr "Для variable-bindings длина не установлена"
 #~ "        WARN    «%s %s» конфликтует с «%s %s»\n"
 #~ "                (constraint=«%s %s %s %s»)\n"
 
-#~ msgid "        WARN    %s has no corresponding options!\n"
-#~ msgstr "        WARN    %s не содержит соответствующих параметров!\n"
+#~ msgid "        WARN    %s has no corresponding options\n"
+#~ msgstr "\tWARN\t%s не имеет соответствующих параметров\n"
 
 #~ msgid ""
 #~ "        WARN    %s shares a common prefix with %s\n"
@@ -5603,23 +5378,21 @@ msgstr "Для variable-bindings длина не установлена"
 #~ "        WARN    %s использует общий префикс совместно с %s\n"
 #~ "                REF: Стр. 15, раздел 3.2.\n"
 
-#~ msgid "        WARN    Default choices conflicting!\n"
-#~ msgstr "        WARN    Значения, используемые по умолчанию, конфликтуют!\n"
+#~ msgid "        WARN    Default choices conflicting\n"
+#~ msgstr "\tWARN\tЗначения, используемые по умолчанию, конфликтуют\n"
 
 #~ msgid ""
 #~ "        WARN    Duplex option keyword %s may not work as expected and "
-#~ "should be named Duplex!\n"
+#~ "should be named Duplex\n"
 #~ "                REF: Page 122, section 5.17\n"
 #~ msgstr ""
-#~ "        WARN    Ключевое слово параметра дуплекса %s может привести к "
-#~ "некорректным результатам. Используйте имя «Duplex»!\n"
-#~ "                REF: Стр. 122, раздел 5.17\n"
+#~ "\tWARN\tКлючевое слово параметра дуплекса %s может привести к "
+#~ "некорректным результатам. Используйте имя 'Duplex'\n"
+#~ "\t\tREF: Стр. 122, раздел 5.17\n"
 
 #~ msgid ""
-#~ "        WARN    File contains a mix of CR, LF, and CR LF line endings!\n"
-#~ msgstr ""
-#~ "        WARN    Файл содержит комбинацию окончаний строки CR, LF и CR "
-#~ "LF!\n"
+#~ "        WARN    File contains a mix of CR, LF, and CR LF line endings\n"
+#~ msgstr "\tWARN\tФайл содержит комбинацию окончаний строки CR, LF, CR LF \n"
 
 #~ msgid ""
 #~ "        WARN    LanguageEncoding required by PPD 4.3 spec.\n"
@@ -5628,35 +5401,29 @@ msgstr "Для variable-bindings длина не установлена"
 #~ "        WARN    LanguageEncoding требуется спецификацией PPD 4.3.\n"
 #~ "                REF: Стр. 56-57, раздел 5.3.\n"
 
-#~ msgid "        WARN    Line %d only contains whitespace!\n"
-#~ msgstr "        WARN    Строка %d содержит только пробелы!\n"
+#~ msgid "        WARN    Line %d only contains whitespace\n"
+#~ msgstr "\tWARN\tСтрока %d содержит только пробелы\n"
 
 #~ msgid ""
 #~ "        WARN    Manufacturer required by PPD 4.3 spec.\n"
 #~ "                REF: Pages 58-59, section 5.3.\n"
 #~ msgstr ""
-#~ "        WARN    LanguageEncoding требуется спецификацией PPD 4.3.\n"
+#~ "        WARN    Manufacturer требуется спецификацией PPD 4.3.\n"
 #~ "                REF: Стр. 58-59, раздел 5.3.\n"
 
-#~ msgid "        WARN    Missing APDialogExtension file \"%s\"\n"
-#~ msgstr "        WARN    Файл APDialogExtension отсутствует «%s»\n"
-
-#~ msgid "        WARN    Missing APPrinterIconPath file \"%s\"\n"
-#~ msgstr "        WARN    Файл APPrinterIconPath отсутствует «%s»\n"
-
 #~ msgid ""
 #~ "        WARN    Non-Windows PPD files should use lines ending with only "
-#~ "LF, not CR LF!\n"
+#~ "LF, not CR LF\n"
 #~ msgstr ""
-#~ "        WARN    PPD-файлы не из Windows должны использовать строки только "
-#~ "с окончанием LF, а не с CR LF!\n"
+#~ "\tWARN\tPPD-файлы не из Windows должны использовать строки только с "
+#~ "окончанием LF, а не с CR LF\n"
 
 #~ msgid ""
-#~ "        WARN    Obsolete PPD version %.1f!\n"
+#~ "        WARN    Obsolete PPD version %.1f\n"
 #~ "                REF: Page 42, section 5.2.\n"
 #~ msgstr ""
-#~ "        WARN    Устаревшая версия PPD %.1f!\n"
-#~ "                REF: Стр. 42, раздел 5.2.\n"
+#~ "\tWARN\tУстаревшая версия PPD %.1f\n"
+#~ "\t\tREF: Стр. 42, раздел 5.2. \n"
 
 #~ msgid ""
 #~ "        WARN    PCFileName longer than 8.3 in violation of PPD spec.\n"
@@ -5666,6 +5433,13 @@ msgstr "Для variable-bindings длина не установлена"
 #~ "                REF: Стр. 61-62, раздел 5.3.\n"
 
 #~ msgid ""
+#~ "        WARN    PCFileName should contain a unique filename.\n"
+#~ "                REF: Pages 61-62, section 5.3.\n"
+#~ msgstr ""
+#~ "\tWARN\tPCFilename должен содержать уникальное название\n"
+#~ "\t\tREF: Стр. 61-62, раздел 5.3. \n"
+
+#~ msgid ""
 #~ "        WARN    Protocols contains PJL but JCL attributes are not set.\n"
 #~ "                REF: Pages 78-79, section 5.7.\n"
 #~ msgstr ""
@@ -5673,108 +5447,194 @@ msgstr "Для variable-bindings длина не установлена"
 #~ "                REF: Стр. 78-79, раздел 5.7.\n"
 
 #~ msgid ""
+#~ "        WARN    Protocols contains both PJL and BCP; expected TBCP.\n"
+#~ "                REF: Pages 78-79, section 5.7.\n"
+#~ msgstr ""
+#~ "\tWARN\tProtocols содержит PJL и BCP;\n"
+#~ "\t\tREF: Стр. 78-79, раздел 5.7.\n"
+
+#~ msgid ""
 #~ "        WARN    ShortNickName required by PPD 4.3 spec.\n"
 #~ "                REF: Pages 64-65, section 5.3.\n"
 #~ msgstr ""
 #~ "        WARN    ShortNickName требуется спецификацией PPD 4.3.\n"
 #~ "                REF: Стр. 64-65, раздел 5.3.\n"
 
-#~ msgid "      %s  %s %s does not exist!\n"
-#~ msgstr "      %s  %s %s не существует!\n"
+#~ msgid "      %s  %s %s does not exist\n"
+#~ msgstr "\t%s %s %s не существует\n"
+
+#~ msgid "      %s  %s file \"%s\" has the wrong capitalization\n"
+#~ msgstr "      %s  %s файл \"%s\" имеет неверный регистр\n"
 
 #~ msgid ""
-#~ "      %s  Bad %s choice %s!\n"
+#~ "      %s  Bad %s choice %s\n"
 #~ "                REF: Page 122, section 5.17\n"
 #~ msgstr ""
 #~ "      %s  Неверный %s выбор %s!\n"
 #~ "                REF: Стр. 122, раздел 5.17\n"
 
-#~ msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s!\n"
-#~ msgstr "      %s  Неверный перевод UTF-8 «%s» для параметра %s!\n"
+#~ msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s\n"
+#~ msgstr "\t%s Неверный перевод UTF-8 \"%s\" для параметра %s\n"
 
 #~ msgid ""
-#~ "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s!\n"
-#~ msgstr "      %s  Неверный перевод UTF-8 «%s» для параметра %s, выбора %s!\n"
+#~ "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s\n"
+#~ msgstr "\t%s Неверный перевод UTF-8 \"%s\" для параметра %s, выбора %s\n"
+
+#~ msgid "      %s  Bad cupsFilter value \"%s\"\n"
+#~ msgstr "\t%s Неверное значение cupsFilter \"%s\"\n"
+
+#~ msgid "      %s  Bad cupsICCProfile %s\n"
+#~ msgstr "\t%s Неверный cupsICCProfile %s\n"
+
+#~ msgid "      %s  Bad cupsPreFilter value \"%s\"\n"
+#~ msgstr "\t%s Неверное значение cupsPreFilter \"%s\"\n"
+
+#~ msgid "      %s  Bad cupsUIConstraints %s: \"%s\"\n"
+#~ msgstr "\t%s Неверное значение cupsUIConstraints %s: \"%s\"\n"
+
+#~ msgid "      %s  Bad language \"%s\"\n"
+#~ msgstr "\t%s Неверный язык \"%s\"\n"
+
+#~ msgid "      %s  Bad permissions on APDialogExtension file \"%s\"\n"
+#~ msgstr "      %s Неверные права для файла APDialogExtension \"%s\"\n"
+
+#~ msgid "      %s  Bad permissions on APPrinterIconPath file \"%s\"\n"
+#~ msgstr "      %s Неверные права для файла APPrinterIconPath \"%s\"\n"
 
-#~ msgid "      %s  Bad cupsFilter value \"%s\"!\n"
-#~ msgstr "      %s  Неверное значение cupsFilter «%s»!\n"
+#~ msgid "      %s  Bad permissions on APPrinterLowInkTool file \"%s\"\n"
+#~ msgstr "      %s Неверные права для файла APPrinterLowInkTool \"%s\"\n"
 
-#~ msgid "      %s  Bad cupsICCProfile %s!\n"
-#~ msgstr "      %s  Неверный cupsICCProfile %s!\n"
+#~ msgid "      %s  Bad permissions on APPrinterUtilityPath file \"%s\"\n"
+#~ msgstr "      %s Неверные права для файла APPrinterUtilityPath \"%s\"\n"
 
-#~ msgid "      %s  Bad cupsPreFilter value \"%s\"!\n"
-#~ msgstr "      %s  Неверное значение cupsPreFilter «%s»!\n"
+#~ msgid "      %s  Bad permissions on APScanAppPath file \"%s\"\n"
+#~ msgstr "      %s Неверные права для файла APScanAppPath \"%s\"\n"
 
-#~ msgid "      %s  Bad cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr "      %s  Неверный cupsUIConstraints %s: \"%s\"!\n"
+#~ msgid "      %s  Bad permissions on cupsFilter file \"%s\"\n"
+#~ msgstr "      %s Неверные права для файла cupsFilter \"%s\"\n"
 
-#~ msgid "      %s  Bad language \"%s\"!\n"
-#~ msgstr "      %s  Неверный язык «%s»!\n"
+#~ msgid "      %s  Bad permissions on cupsICCProfile file \"%s\"\n"
+#~ msgstr "      %s Неверные права для файла cupsICCProfile \"%s\"\n"
 
-#~ msgid "      %s  Empty cupsUIConstraints %s!\n"
-#~ msgstr "      %s  Пустой cupsUIConstraints %s!\n"
+#~ msgid "      %s  Bad permissions on cupsPreFilter file \"%s\"\n"
+#~ msgstr "      %s Неверные права для файла cupsPreFilter \"%s\"\n"
 
-#~ msgid "      %s  Missing \"%s\" translation string for option %s!\n"
-#~ msgstr "      %s  Перевод «%s» отсутствует для параметра %s!\n"
+#~ msgid "      %s  Bad spelling of %s - should be %s\n"
+#~ msgstr "      %s Ошибки в %s - должно быть %s.\n"
+
+#~ msgid "      %s  Cannot provide both APScanAppPath and APScanAppBundleID\n"
+#~ msgstr ""
+#~ "      %s Невозможно предоставить APScanAppPath и APScanAppBundleID "
+#~ "вместе.\n"
+
+#~ msgid "      %s  Empty cupsUIConstraints %s\n"
+#~ msgstr "      %s Пустой cupsUIConstraints %s\n"
+
+#~ msgid "      %s  Missing \"%s\" translation string for option %s\n"
+#~ msgstr "\t%s Перевод \"%s\" отсутствует для параметра %s\n"
 
 #~ msgid ""
-#~ "      %s  Missing \"%s\" translation string for option %s, choice %s!\n"
-#~ msgstr "      %s  Перевод «%s» отсутствует для параметра %s, выбора %s!\n"
+#~ "      %s  Missing \"%s\" translation string for option %s, choice %s\n"
+#~ msgstr "\t%s Перевод \"%s\" отсутствует для параметра %s, выбора %s\n"
+
+#~ msgid "      %s  Missing APDialogExtension file \"%s\"\n"
+#~ msgstr "\t%s Файл APDialogExtention отсутствует \"%s\"\n"
+
+#~ msgid "      %s  Missing APPrinterIconPath file \"%s\"\n"
+#~ msgstr "\t%s Файл APPrinterIconPath отсутствует \"%s\"\n"
+
+#~ msgid "      %s  Missing APPrinterLowInkTool file \"%s\"\n"
+#~ msgstr "\t%s Файл APPrinterLowInkTool отсутствует \"%s\"\n"
+
+#~ msgid "      %s  Missing APPrinterUtilityPath file \"%s\"\n"
+#~ msgstr "\t%s Файл APPrinterUtilityPath отсутствует \"%s\"\n"
+
+#~ msgid "      %s  Missing APScanAppPath file \"%s\"\n"
+#~ msgstr "\t%s Файл APScanAppPath отсутствует \"%s\"\n"
+
+#~ msgid ""
+#~ "      %s  Missing REQUIRED PageRegion option\n"
+#~ "                REF: Page 100, section 5.14.\n"
+#~ msgstr ""
+#~ "\t%s Обязательный параметр PageRegion отсутствует.\n"
+#~ "\t\t REF: Стр. 100, раздел 5.14.\n"
 
 #~ msgid ""
-#~ "      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"!\n"
+#~ "      %s  Missing REQUIRED PageSize option\n"
+#~ "                REF: Page 99, section 5.14.\n"
 #~ msgstr ""
-#~ "      %s  Выбор *%s %s отсутствует в UIConstraints «*%s %s *%s %s»!\n"
+#~ "\t%s Обязательный параметр PageSize отсутствует.\n"
+#~ "\t\t REF: Стр. 99, раздел 5.14.\n"
 
-#~ msgid "      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\"!\n"
+#~ msgid "      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"\n"
 #~ msgstr ""
-#~ "      %s  Выбор *%s %s отсутствует в cupsUIConstraints %s: \"%s\"!\n"
+#~ "      %s Выбор *%s %s отсутствует в UIConstraints \"*%s %s *%s %s\"\n"
+
+#~ msgid "      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\"\n"
+#~ msgstr "      %s Выбор *%s %s отсутствует в cupsUIConstraints %s: \"%s\"\n"
 
 #~ msgid "      %s  Missing cupsFilter file \"%s\"\n"
 #~ msgstr "      %s  Файл cupsFilter отсутствует «%s»\n"
 
-#~ msgid "      %s  Missing cupsICCProfile file \"%s\"!\n"
-#~ msgstr "      %s  Файл cupsICCProfile отсутствует «%s»!\n"
+#~ msgid "      %s  Missing cupsICCProfile file \"%s\"\n"
+#~ msgstr "\t%s Файл cupsICCProfile отсутствует \"%s\"\n"
 
 #~ msgid "      %s  Missing cupsPreFilter file \"%s\"\n"
 #~ msgstr "      %s  Файл cupsFilter «%s» отсутствует\n"
 
-#~ msgid "      %s  Missing cupsUIResolver %s!\n"
-#~ msgstr "      %s  Отсутствует cupsUIResolver %s!\n"
+#~ msgid "      %s  Missing cupsUIResolver %s\n"
+#~ msgstr "\t%s cupsUIResolver отсутствует %s\n"
+
+#~ msgid "      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\"\n"
+#~ msgstr "\t%s Отсутствует параметр %s у UIConstraints \"*%s %s *%s %s\"\n"
 
-#~ msgid "      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\"!\n"
-#~ msgstr "      %s  Параметр %s отсутствует в UIConstraints «*%s %s *%s %s»!\n"
+#~ msgid "      %s  Missing option %s in cupsUIConstraints %s: \"%s\"\n"
+#~ msgstr "\t%s Отсутствует параметр %s у cupsUIConstraints %s: \"%s\"\n"
 
-#~ msgid "      %s  Missing option %s in cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr "      %s  Параметр %s отсутствует в cupsUIConstraints %s: \"%s\"!\n"
+#~ msgid "      %s  No base translation \"%s\" is included in file\n"
+#~ msgstr "\t%s Основной перевод \"%s\" не включен в файл\n"
 
-#~ msgid "      %s  No base translation \"%s\" is included in file!\n"
-#~ msgstr "      %s  Основной перевод «%s» не включен в файл!\n"
+#~ msgid ""
+#~ "      %s  Non-standard size name \"%s\"\n"
+#~ "                REF: Page 187, section B.2.\n"
+#~ msgstr ""
+#~ "\t%s Не стандартный размер названия \"%s\"\n"
+#~ "\t\tREF: Стр. 187, раздел B.2.\n"
 
 #~ msgid ""
-#~ "      %s  REQUIRED %s does not define choice None!\n"
+#~ "      %s  REQUIRED %s does not define choice None\n"
 #~ "                REF: Page 122, section 5.17\n"
 #~ msgstr ""
-#~ "      ТРЕБУЕТСЯ %s: %s не определяет выбор «Нет»!\n"
-#~ "                REF: Стр. 122, раздел 5.17\n"
+#~ "\t ТРЕБУЕТСЯ %s: %s не определяет выбор \"Нет\"\n"
+#~ "\t\tREF: Стр. 122, раздел 5.17\n"
+
+#~ msgid "      %s  Size \"%s\" defined for %s but not for %s\n"
+#~ msgstr "\t%s Размер \"%s\" определен для %s, но не определен для %s\n"
 
-#~ msgid "      %s  cupsICCProfile %s hash value collides with %s!\n"
-#~ msgstr "      Хеш-значение %s  cupsICCProfile %s конфликтует с %s!\n"
+#~ msgid "      %s  Size \"%s\" has unexpected dimensions (%gx%g)\n"
+#~ msgstr "\t%s  Размер \"%s\"  имеет неверное значение (%gx%g)\n"
 
-#~ msgid "      %s  cupsUIResolver %s causes a loop!\n"
-#~ msgstr "      %s  cupsUIResolver %s создает цикл!\n"
+#~ msgid "      %s  cupsICCProfile %s hash value collides with %s\n"
+#~ msgstr "\tХеш-значение %s cupsICCProfile %s конфликтует с %s\n"
 
-#~ msgid "      **FAIL**  %s choice names %s and %s differ only by case!\n"
+#~ msgid "      %s  cupsUIResolver %s causes a loop\n"
+#~ msgstr "\t%s cupsUIResolver %s создает цикл\n"
+
+#~ msgid ""
+#~ "      %s  cupsUIResolver %s does not list at least two different options\n"
+#~ msgstr "\t%s В cupsUIResolver %s не перечислено как минимум два параметра\n"
+
+#~ msgid "      **FAIL**  %s choice names %s and %s differ only by case\n"
 #~ msgstr ""
-#~ "      **FAIL**  Для выбора %s имена %s и %s различаются только регистром "
-#~ "символов!\n"
+#~ "\t**FAIL** Для выбора %s имена %s и %s различаются только регистром "
+#~ "символов\n"
 
 #~ msgid ""
-#~ "      **FAIL**  %s must be 1284DeviceID!\n"
+#~ "      **FAIL**  %s must be 1284DeviceID\n"
 #~ "                REF: Page 72, section 5.5\n"
 #~ msgstr ""
-#~ "      **FAIL**  %s должно соответствовать 1284DeviceID!\n"
-#~ "                REF: Стр. 72, раздел 5.5\n"
+#~ "\t**FAIL** %s должно соответствовать 1284DeviceID\n"
+#~ "\t\tREF: Стр. 72, раздел 5.5\n"
 
 #~ msgid ""
 #~ "      **FAIL**  BAD Default%s %s\n"
@@ -5784,18 +5644,18 @@ msgstr "Для variable-bindings длина не установлена"
 #~ "                REF: Стр. 40, раздел 4.5.\n"
 
 #~ msgid ""
-#~ "      **FAIL**  BAD DefaultImageableArea %s!\n"
+#~ "      **FAIL**  BAD DefaultImageableArea %s\n"
 #~ "                REF: Page 102, section 5.15.\n"
 #~ msgstr ""
-#~ "      **FAIL**  НЕВЕРНЫЙ DefaultImageableArea %s!\n"
-#~ "                REF: Стр. 102, раздел 5.15.\n"
+#~ "\t**FAIL** Неверный DefaultImageableArea %s\n"
+#~ "\t\tREF: Стр. 102, раздел 5.15.\n"
 
 #~ msgid ""
-#~ "      **FAIL**  BAD DefaultPaperDimension %s!\n"
+#~ "      **FAIL**  BAD DefaultPaperDimension %s\n"
 #~ "                REF: Page 103, section 5.15.\n"
 #~ msgstr ""
-#~ "      **FAIL**  НЕВЕРНЫЙ DefaultPaperDimension %s!\n"
-#~ "                REF: Стр. 103, раздел 5.15.\n"
+#~ "\t**FAIL** Неверный DefaultPaperDimension %s\n"
+#~ "\t\tREF: Стр. 103, раздел 5.15.\n"
 
 #~ msgid ""
 #~ "      **FAIL**  BAD JobPatchFile attribute in file\n"
@@ -5847,11 +5707,11 @@ msgstr "Для variable-bindings длина не установлена"
 #~ "                REF: Стр. 64-65, раздел 5.3.\n"
 
 #~ msgid ""
-#~ "      **FAIL**  Bad %s choice %s!\n"
+#~ "      **FAIL**  Bad %s choice %s\n"
 #~ "                REF: Page 84, section 5.9\n"
 #~ msgstr ""
-#~ "      **FAIL**  Неверный %s выбор %s!\n"
-#~ "                REF: Стр. 84, раздел 5,9\n"
+#~ "\t**FAIL** Неверный %s выбор %s\n"
+#~ "\t\t REF: Стр. 84, раздел 5.9\n"
 
 #~ msgid ""
 #~ "      **FAIL**  Bad FileVersion \"%s\"\n"
@@ -5867,45 +5727,42 @@ msgstr "Для variable-bindings длина не установлена"
 #~ "      **FAIL**  Неверная FormatVersion \"%s\"\n"
 #~ "                REF: Стр. 56, раздел 5.3.\n"
 
-#~ msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1!\n"
-#~ msgstr ""
-#~ "      **FAIL**  Неверный LanguageEncoding %s – должно быть ISOLatin1!\n"
+#~ msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1\n"
+#~ msgstr "\t**FAIL**  Неверный LanguageEncoding %s - должен быть ISOLatin1\n"
 
-#~ msgid "      **FAIL**  Bad LanguageVersion %s - must be English!\n"
-#~ msgstr ""
-#~ "      **FAIL**  Неверный LanguageVersion %s – должен быть английский!\n"
+#~ msgid "      **FAIL**  Bad LanguageVersion %s - must be English\n"
+#~ msgstr "\t**FAIL** Неверный LanguageVersion %s - должен быть английский\n"
 
 #~ msgid "      **FAIL**  Default option code cannot be interpreted: %s\n"
 #~ msgstr ""
-#~ "      **FAIL**  Не удается интерпретировать код параметра по умолчанию: %"
-#~ "s\n"
+#~ "      **FAIL**  Не удается интерпретировать код параметра по умолчанию: "
+#~ "%s\n"
 
 #~ msgid ""
 #~ "      **FAIL**  Default translation string for option %s choice %s "
-#~ "contains 8-bit characters!\n"
+#~ "contains 8-bit characters\n"
 #~ msgstr ""
-#~ "      **FAIL**  Стандартный перевод для параметра %s выбора %s содержит 8-"
-#~ "битовые символы!\n"
+#~ "\t**FAIL** Стандартный перевод для параметра %s выбора %s содержит 8-"
+#~ "битовые символы\n"
 
 #~ msgid ""
 #~ "      **FAIL**  Default translation string for option %s contains 8-bit "
-#~ "characters!\n"
+#~ "characters\n"
 #~ msgstr ""
-#~ "      **FAIL**  Стандартный перевод для параметра %s содержит 8-битовые "
-#~ "символы!\n"
+#~ "\t**FAIL** Стандартный перевод для параметра %s содержит 8-"
+#~ "битовыесимволы\n"
 
-#~ msgid "      **FAIL**  Group names %s and %s differ only by case!\n"
+#~ msgid "      **FAIL**  Group names %s and %s differ only by case\n"
 #~ msgstr ""
-#~ "      **FAIL**  Имена групп %s и %s различаются только регистром "
-#~ "символов!\n"
+#~ "\t**FAIL** Имена групп %s и %s отличаются только регистром символов\n"
 
-#~ msgid "      **FAIL**  Multiple occurrences of %s choice name %s!\n"
-#~ msgstr "      **FAIL**  Для выбора %s имя %s встречается несколько раз!\n"
+#~ msgid "      **FAIL**  Multiple occurrences of %s choice name %s\n"
+#~ msgstr "\t**FAIL** Для выбора %s имя %s  встречается несколько раз\n"
 
-#~ msgid "      **FAIL**  Option names %s and %s differ only by case!\n"
+#~ msgid "      **FAIL**  Option names %s and %s differ only by case\n"
 #~ msgstr ""
-#~ "      **FAIL**  Имена параметров %s и %s различаются только регистром "
-#~ "символов!\n"
+#~ "\t**FAIL** Названия параметров %s и %s отличаются лишь регистром "
+#~ "символов\n"
 
 #~ msgid ""
 #~ "      **FAIL**  REQUIRED Default%s\n"
@@ -6050,88 +5907,88 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgstr "    ОБНАРУЖЕНО ОШИБОК: %d\n"
 
 #~ msgid ""
-#~ "    Bad %%%%BoundingBox: on line %d!\n"
+#~ "    Bad %%%%BoundingBox: on line %d\n"
 #~ "        REF: Page 39, %%%%BoundingBox:\n"
 #~ msgstr ""
-#~ "    Неверный %%%%BoundingBox: в строке %d!\n"
-#~ "        REF: Стр. 39, %%%%BoundingBox:\n"
+#~ "    Неверный %%%%BoundingBox: в строке %d\n"
+#~ "\t REF: Стр. 39, %%%%BoundingBox:\n"
 
 #~ msgid ""
-#~ "    Bad %%%%Page: on line %d!\n"
+#~ "    Bad %%%%Page: on line %d\n"
 #~ "        REF: Page 53, %%%%Page:\n"
 #~ msgstr ""
-#~ "    Неверная %%%%Page: в строке %d!\n"
-#~ "        REF: Стр. 53, %%%%Page:\n"
+#~ "    Неверная %%%%Page: в строке %d\n"
+#~ "\t REF: Стр. 53, %%%%Page:\n"
 
 #~ msgid ""
-#~ "    Bad %%%%Pages: on line %d!\n"
+#~ "    Bad %%%%Pages: on line %d\n"
 #~ "        REF: Page 43, %%%%Pages:\n"
 #~ msgstr ""
-#~ "    Неверные %%%%Pages: в строке %d!\n"
-#~ "        REF: Стр. 43, %%%%Pages:\n"
+#~ "    Неверные %%%%Pages: в строке %d\n"
+#~ "\t REF: Стр. 43, %%%%Pages:\n"
 
 #~ msgid ""
-#~ "    Line %d is longer than 255 characters (%d)!\n"
+#~ "    Line %d is longer than 255 characters (%d)\n"
 #~ "        REF: Page 25, Line Length\n"
 #~ msgstr ""
-#~ "    Строка %d длиннее 255 символов (%d)!\n"
-#~ "        REF: Стр. 25, Длина строки\n"
+#~ "\tДлина строки %d больше 255 символов (%d)\n"
+#~ "\t REF: Стр. 25, Длина строки \n"
 
 #~ msgid ""
-#~ "    Missing %!PS-Adobe-3.0 on first line!\n"
+#~ "    Missing %!PS-Adobe-3.0 on first line\n"
 #~ "        REF: Page 17, 3.1 Conforming Documents\n"
 #~ msgstr ""
-#~ "    %!PS-Adobe-3.0 отсутствует в первой строке!\n"
-#~ "        REF: Стр. 17, 3.1 Соответствующие документы\n"
+#~ "    %!PS-Adobe-3.0 отсутствует в первой строке\n"
+#~ "\t REF: Стр. 17, 3.1 Соответствующие документы\n"
 
 #~ msgid ""
-#~ "    Missing %%EndComments comment!\n"
+#~ "    Missing %%EndComments comment\n"
 #~ "        REF: Page 41, %%EndComments\n"
 #~ msgstr ""
-#~ "    Комментарий %%EndComments отсутствует!\n"
-#~ "        REF: Стр. 41, %%EndComments\n"
+#~ "    Комментарий %%EndComments отсутствует\n"
+#~ "\t REF: Стр. 41, %%EndComments\n"
 
 #~ msgid ""
-#~ "    Missing or bad %%BoundingBox: comment!\n"
+#~ "    Missing or bad %%BoundingBox: comment\n"
 #~ "        REF: Page 39, %%BoundingBox:\n"
 #~ msgstr ""
-#~ "    Отсутствующий или неверный %%BoundingBox: комментарий!\n"
-#~ "        REF: Стр. 39, %%BoundingBox:\n"
+#~ "    Отсутствует или неверный %%BoundingBox: комментарий\n"
+#~ "\t REF: Стр. 39, %%BoundingBox:\n"
 
 #~ msgid ""
-#~ "    Missing or bad %%Page: comments!\n"
+#~ "    Missing or bad %%Page: comments\n"
 #~ "        REF: Page 53, %%Page:\n"
 #~ msgstr ""
-#~ "    Отсутствующая или неверная %%Page: комментарий!\n"
-#~ "        REF: Стр. 53, %%Page:\n"
+#~ "    Отсутствует или неверная %%Page: комментарий\n"
+#~ "\t REF: Стр. 53, %%Page:\n"
 
 #~ msgid ""
-#~ "    Missing or bad %%Pages: comment!\n"
+#~ "    Missing or bad %%Pages: comment\n"
 #~ "        REF: Page 43, %%Pages:\n"
 #~ msgstr ""
-#~ "    Ð\9eÑ\82Ñ\81Ñ\83Ñ\82Ñ\81Ñ\82вÑ\83Ñ\8eÑ\89ие Ð¸Ð»Ð¸ Ð½ÐµÐ²ÐµÑ\80нÑ\8bе %%Pages: ÐºÐ¾Ð¼Ð¼ÐµÐ½Ñ\82аÑ\80ий!\n"
-#~ "        REF: Стр. 43, %%Pages:\n"
+#~ "    Ð\9eÑ\82Ñ\81Ñ\83Ñ\82Ñ\81Ñ\82вÑ\83Ñ\8eÑ\82 Ð¸Ð»Ð¸ Ð½ÐµÐ²ÐµÑ\80нÑ\8bе %%Pages:  ÐºÐ¾Ð¼Ð¼ÐµÐ½Ñ\82аÑ\80ий\n"
+#~ "\t REF: Стр. 43, %%Pages:\n"
 
 #~ msgid "    NO ERRORS FOUND\n"
 #~ msgstr "    ОШИБОК НЕ ОБНАРУЖЕНО\n"
 
-#~ msgid "    Saw %d lines that exceeded 255 characters!\n"
-#~ msgstr "    Обнаружено строк длиннее 255 символов: %d!\n"
+#~ msgid "    Saw %d lines that exceeded 255 characters\n"
+#~ msgstr "\tНайдено %d строк, длина которых превышает 255 символов\n"
 
-#~ msgid "    Too many %%BeginDocument comments!\n"
-#~ msgstr "    Слишком много комментариев %%BeginDocument!\n"
+#~ msgid "    Too many %%BeginDocument comments\n"
+#~ msgstr "   Слишком много комментариев %%BeginDocument\n"
 
-#~ msgid "    Too many %%EndDocument comments!\n"
-#~ msgstr "    Слишком много комментариев %%EndDocument!\n"
+#~ msgid "    Too many %%EndDocument comments\n"
+#~ msgstr "   Слишком много комментариев %%EndDocument\n"
 
-#~ msgid "    Warning: file contains binary data!\n"
-#~ msgstr "    WARNING: файл содержит бинарные данные!\n"
+#~ msgid "    Warning: file contains binary data\n"
+#~ msgstr "    WARNING: файл содержит бинарные данные\n"
 
-#~ msgid "    Warning: no %%EndComments comment in file!\n"
-#~ msgstr "    WARNING: нет комментария %%EndComments в файле!\n"
+#~ msgid "    Warning: no %%EndComments comment in file\n"
+#~ msgstr "    WARNING: нет комментария %%EndComments в файле\n"
 
-#~ msgid "    Warning: obsolete DSC version %.1f in file!\n"
-#~ msgstr "    WARNING: устаревшая версия DSC %.1f в файле!\n"
+#~ msgid "    Warning: obsolete DSC version %.1f in file\n"
+#~ msgstr "    WARNING: устаревшая версия DSC %.1f в файле\n"
 
 #~ msgid " FAIL\n"
 #~ msgstr " FAIL\n"
@@ -6174,6 +6031,18 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes\n"
 #~ msgstr "%-7s %-7.7s %-7d %-31.31s %.0f байт\n"
 
+#~ msgid "%.0f x %.0f millimeters"
+#~ msgstr "%.0f x %.0f мм"
+
+#~ msgid "%.0f x %.0f to %.0f x %.0f millimeters"
+#~ msgstr "%.0f x %.0f — %.0f x %.0f мм"
+
+#~ msgid "%.2f x %.2f inches"
+#~ msgstr "%.2f x %.2f дюймов"
+
+#~ msgid "%.2f x %.2f to %.2f x %.2f inches"
+#~ msgstr "%.2f x %.2f-%.2f x %.2f дюймов"
+
 #~ msgid "%s accepting requests since %s\n"
 #~ msgstr "%s принимает запросы с момента %s\n"
 
@@ -6196,8 +6065,8 @@ msgstr "Для variable-bindings длина не установлена"
 #~ "%s не принимает запросы с момента %s -\n"
 #~ "\t%s\n"
 
-#~ msgid "%s not supported!"
-#~ msgstr "%s не поддерживается!"
+#~ msgid "%s not supported"
+#~ msgstr "%s не поддерживается"
 
 #~ msgid "%s/%s accepting requests since %s\n"
 #~ msgstr "%s/%s принимает запросы с момента %s\n"
@@ -6215,103 +6084,108 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "%s: %s failed: %s\n"
 #~ msgstr "%s: ошибка %s: %s\n"
 
-#~ msgid "%s: Don't know what to do!\n"
-#~ msgstr "%s: Дальнейшие действия неизвестны!\n"
+#~ msgid "%s: Don't know what to do\n"
+#~ msgstr "%s: Дальнейшие действия неизвестны\n"
 
 #~ msgid ""
 #~ "%s: Error - %s environment variable names non-existent destination \"%s"
-#~ "\"!\n"
+#~ "\"\n"
 #~ msgstr ""
-#~ "%s: Ошибка – %s переменная окружения указывает несуществующее назначение «%"
-#~ "s»!\n"
+#~ "%s: Ошибка - %s переменная окружения указывает на несуществующее "
+#~ "назначение \"%s\"\n"
 
-#~ msgid "%s: Error - bad job ID!\n"
-#~ msgstr "%s: Ошибка – неверный ID задания!\n"
+#~ msgid "%s: Error - bad job ID\n"
+#~ msgstr "%s: Ошибка - неверный ID задания\n"
 
-#~ msgid "%s: Error - cannot print files and alter jobs simultaneously!\n"
+#~ msgid "%s: Error - cannot print files and alter jobs simultaneously\n"
 #~ msgstr ""
-#~ "%s: Ошибка – невозможно одновременно печатать файлы и изменять задания!\n"
+#~ "%s: Ошибка - невозможно печатать файлы и редактировать задания "
+#~ "одновременно\n"
 
 #~ msgid ""
-#~ "%s: Error - cannot print from stdin if files or a job ID are provided!\n"
+#~ "%s: Error - cannot print from stdin if files or a job ID are provided\n"
 #~ msgstr ""
-#~ "%s: Ошибка – не удается печатать из stdin, если предоставлены файлы или "
-#~ "ID задания!\n"
+#~ "%s: Ошибка - не удается печать из stdin, если предоставлены файлы или ID "
+#~ "задания\n"
 
-#~ msgid "%s: Error - expected character set after '-S' option!\n"
-#~ msgstr "%s: Ошибка – после параметра «-S» должен идти набор символов!\n"
+#~ msgid "%s: Error - expected character set after '-S' option\n"
+#~ msgstr "%s: Ошибка - после параметра '-S' должен идти набор символов\n"
 
-#~ msgid "%s: Error - expected content type after '-T' option!\n"
-#~ msgstr "%s: Ошибка – после параметра «-T» должен быть указан тип контента!\n"
+#~ msgid "%s: Error - expected content type after '-T' option\n"
+#~ msgstr "%s: Ошибка - после параметра '-T' должен быть указан тип контента\n"
 
-#~ msgid "%s: Error - expected copies after '-n' option!\n"
+#~ msgid "%s: Error - expected copies after '-n' option\n"
 #~ msgstr ""
-#~ "%s: Ошибка – после параметра «-n» должно быть указано количество копий!\n"
+#~ "%s: Ошибка - после параметра '-n' должно быть указано количество копий\n"
 
-#~ msgid "%s: Error - expected copy count after '-#' option!\n"
-#~ msgstr "%s: Ошибка – после параметра «-#» должен быть указан номер копии!\n"
+#~ msgid "%s: Error - expected copy count after '-#' option\n"
+#~ msgstr "%s: Ошибка - после параметра '-#' должен быть указан номер копии\n"
 
-#~ msgid "%s: Error - expected destination after '-P' option!\n"
-#~ msgstr "%s: Ошибка – после параметра «-P» должно быть указано назначение!\n"
+#~ msgid "%s: Error - expected destination after '-P' option\n"
+#~ msgstr "%s: Ошибка - после параметра '-P' должно быть указано назначение\n"
 
-#~ msgid "%s: Error - expected destination after '-b' option!\n"
-#~ msgstr "%s: Ошибка – после параметра «-b» должно быть указано назначение!\n"
+#~ msgid "%s: Error - expected destination after '-b' option\n"
+#~ msgstr "%s: Ошибка - после параметра '-b' должно быть указано назначение\n"
 
-#~ msgid "%s: Error - expected destination after '-d' option!\n"
-#~ msgstr "%s: Ошибка – после параметра «-d» должно быть указано назначение!\n"
+#~ msgid "%s: Error - expected destination after '-d' option\n"
+#~ msgstr "%s: Ошибка - после параметра '-d' должно быть указано назначение\n"
 
-#~ msgid "%s: Error - expected form after '-f' option!\n"
-#~ msgstr "%s: Ошибка – после параметра «-f» должна быть указана форма!\n"
+#~ msgid "%s: Error - expected form after '-f' option\n"
+#~ msgstr "%s: Ошибка - после параметра '-f' должна быть указана форма\n"
 
-#~ msgid "%s: Error - expected hold name after '-H' option!\n"
-#~ msgstr "%s: Ошибка – после параметра «-H» должно быть указано имя хоста!\n"
+#~ msgid "%s: Error - expected hold name after '-H' option\n"
+#~ msgstr "%s: Ошибка - после параметра '-H' должно быть указано имя хоста\n"
 
-#~ msgid "%s: Error - expected hostname after '-H' option!\n"
-#~ msgstr "%s: Ошибка – после параметра «-H» должно быть указано имя хоста!\n"
+#~ msgid "%s: Error - expected hostname after '-H' option\n"
+#~ msgstr "%s: Ошибка - после параметра '-H' должно быть указано имя хоста\n"
 
-#~ msgid "%s: Error - expected hostname after '-h' option!\n"
-#~ msgstr "%s: Ошибка – после параметра «-h» должно быть указано имя хоста!\n"
+#~ msgid "%s: Error - expected hostname after '-h' option\n"
+#~ msgstr "%s: Ошибка - после параметра '-h' должно быть указано имя хоста\n"
 
-#~ msgid "%s: Error - expected mode list after '-y' option!\n"
+#~ msgid "%s: Error - expected mode list after '-y' option\n"
 #~ msgstr ""
-#~ "%s: Ошибка – после параметра «-y» должен быть указан список режимов!\n"
+#~ "%s: Ошибка - после параметра '-y' должен быть указан список режимов\n"
 
-#~ msgid "%s: Error - expected name after '-%c' option!\n"
-#~ msgstr "%s: Ошибка – после параметра «-%c» должно быть указано имя!\n"
+#~ msgid "%s: Error - expected name after '-%c' option\n"
+#~ msgstr "%s: Ошибка - после параметра '-%c' должно быть указано имя\n"
 
-#~ msgid "%s: Error - expected option string after '-o' option!\n"
+#~ msgid "%s: Error - expected option string after '-o' option\n"
 #~ msgstr ""
-#~ "%s: Ошибка – после параметра «-o» должна быть указана строка параметра!\n"
+#~ "%s: Ошибка - после параметра '-o' должна быть указана строка параметра\n"
 
-#~ msgid "%s: Error - expected page list after '-P' option!\n"
-#~ msgstr "%s: Ошибка – после параметра «-P» должен идти список страниц!\n"
+#~ msgid "%s: Error - expected page list after '-P' option\n"
+#~ msgstr "%s: Ошибка - после параметра '-H' должно быть указано имя хоста\n"
 
-#~ msgid "%s: Error - expected priority after '-%c' option!\n"
-#~ msgstr "%s: Ошибка – после параметра «-%c» должен быть указан приоритет!\n"
+#~ msgid "%s: Error - expected priority after '-%c' option\n"
+#~ msgstr "%s: Ошибка - после параметра '-%c' должен быть указан приоритет\n"
 
-#~ msgid "%s: Error - expected reason text after '-r' option!\n"
-#~ msgstr "%s: Ошибка – после параметра «-r» должен идти текст причины!\n"
+#~ msgid "%s: Error - expected reason text after '-r' option\n"
+#~ msgstr "%s: Ошибка - после параметра '-r' должен идти текст причины\n"
 
-#~ msgid "%s: Error - expected title after '-t' option!\n"
-#~ msgstr "%s: Ошибка – после параметра «-t» должен быть указан заголовок!\n"
+#~ msgid "%s: Error - expected title after '-t' option\n"
+#~ msgstr "%s: Ошибка - после параметра '-t' должен быть указан заголовок\n"
+
+#~ msgid "%s: Error - expected username after '-U' option\n"
+#~ msgstr ""
+#~ "%s: Ошибка - после параметра '-U'должно быть указано имя пользователя\n"
 
-#~ msgid "%s: Error - expected username after '-U' option!\n"
+#~ msgid "%s: Error - expected username after '-U' option!n"
 #~ msgstr ""
-#~ "%s: Ошибка – после параметра «-U» должно быть указано имя пользователя!\n"
+#~ "%s: Ошибка - после параметра '-U'должно быть указано имя пользователя\n"
 
-#~ msgid "%s: Error - expected username after '-u' option!\n"
+#~ msgid "%s: Error - expected username after '-u' option\n"
 #~ msgstr ""
-#~ "%s: Ошибка – после параметра «-u» должно быть указано имя пользователя!\n"
+#~ "%s: Ошибка - после параметра '-u'должно быть указано имя пользователя\n"
 
-#~ msgid "%s: Error - expected value after '-%c' option!\n"
-#~ msgstr "%s: Ошибка – после параметра «-%c» должно быть указано значение!\n"
+#~ msgid "%s: Error - expected value after '-%c' option\n"
+#~ msgstr "%s: Ошибка - после параметра '-%c'должно быть указано значение\n"
 
 #~ msgid ""
 #~ "%s: Error - need \"completed\", \"not-completed\", or \"all\" after '-W' "
-#~ "option!\n"
+#~ "option\n"
 #~ msgstr ""
-#~ "%s: Ошибка – требуется «завершено», «не завершено» или «все» после параметра "
-#~ "«-W»!\n"
+#~ "%s: Ошибка - требуется \"завершено\",\"не завершено\" или \"все\" после "
+#~ "параметра '-W'\n"
 
 #~ msgid "%s: Error - no default destination available.\n"
 #~ msgstr "%s: Ошибка – нет доступного назначения по умолчанию.\n"
@@ -6319,8 +6193,8 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "%s: Error - priority must be between 1 and 100.\n"
 #~ msgstr "%s: Ошибка – приоритет должен быть от 1 до 100.\n"
 
-#~ msgid "%s: Error - scheduler not responding!\n"
-#~ msgstr "%s: Ошибка – планировщик не отвечает!\n"
+#~ msgid "%s: Error - scheduler not responding\n"
+#~ msgstr "%s: Ошибка - планировщик не отвечает\n"
 
 #~ msgid "%s: Error - too many files - \"%s\"\n"
 #~ msgstr "%s: Ошибка – слишком много файлов – «%s»\n"
@@ -6331,56 +6205,51 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "%s: Error - unable to queue from stdin - %s\n"
 #~ msgstr "%s: Ошибка – не удается поставить в очередь из stdin - %s\n"
 
-#~ msgid "%s: Error - unknown destination \"%s\"!\n"
-#~ msgstr "%s: Ошибка – неизвестное назначение «%s»!\n"
+#~ msgid "%s: Error - unknown destination \"%s\"\n"
+#~ msgstr "%s: Ошибка - неизвестное назначение \"%s\"\n"
 
-#~ msgid "%s: Error - unknown destination \"%s/%s\"!\n"
-#~ msgstr "%s: Ð\9eÑ\88ибка â\80\93 Ð½ÐµÐ¸Ð·Ð²ÐµÑ\81Ñ\82ное Ð½Ð°Ð·Ð½Ð°Ñ\87ение Â«%s/%s»!\n"
+#~ msgid "%s: Error - unknown destination \"%s/%s\"\n"
+#~ msgstr "%s: Ð¾Ñ\88ибка - Ð½ÐµÐ¸Ð·Ð²ÐµÑ\81Ñ\82ное Ð½Ð°Ð·Ð½Ð°Ñ\87ение \"%s/%s\"\n"
 
-#~ msgid "%s: Error - unknown option '%c'!\n"
-#~ msgstr "%s: Ошибка – неизвестный параметр «%c»!\n"
+#~ msgid "%s: Error - unknown option '%c'\n"
+#~ msgstr "%s: Ошибка - неизвестный параметр '%c'\n"
 
-#~ msgid "%s: Error - unknown option '%s'!\n"
-#~ msgstr "%s: Ошибка – неизвестный параметр «%s»!\n"
+#~ msgid "%s: Error - unknown option '%s'\n"
+#~ msgstr "%s: Ошибка - неизвестный параметр '%s'\n"
 
-#~ msgid "%s: Expected job ID after '-i' option!\n"
-#~ msgstr "%s: Ð\9fоÑ\81ле Ð¿Ð°Ñ\80амеÑ\82Ñ\80а Â«-i» Ð´Ð¾Ð»Ð¶ÐµÐ½ Ð±Ñ\8bÑ\82Ñ\8c Ñ\83казан ID Ð·Ð°Ð´Ð°Ð½Ð¸Ñ\8f!\n"
+#~ msgid "%s: Expected job ID after '-i' option\n"
+#~ msgstr "%s: Ð\9eжидаеÑ\82Ñ\81Ñ\8f ID Ð·Ð°Ð´Ð°Ð½Ð¸Ñ\8f Ð¿Ð¾Ñ\81ле Ð¿Ð°Ñ\80амеÑ\82Ñ\80а '-i'\n"
 
 #~ msgid "%s: Filter \"%s\" not available: %s\n"
 #~ msgstr "%s: Фильтр «%s» недоступен: %s\n"
 
-#~ msgid "%s: Invalid destination name in list \"%s\"!\n"
-#~ msgstr "%s: Ð\9dевеÑ\80ное Ð¸Ð¼Ñ\8f Ð½Ð°Ð·Ð½Ð°Ñ\87ениÑ\8f Ð² Ñ\81пиÑ\81ке Â«%s»!\n"
+#~ msgid "%s: Invalid destination name in list \"%s\"\n"
+#~ msgstr "%s: Ð\9dедопÑ\83Ñ\81Ñ\82имое Ð¸Ð¼Ñ\8f Ð½Ð°Ð·Ð½Ð°Ñ\87ениÑ\8f Ð² Ñ\81пиÑ\81ке \"%s\"\n"
 
 #~ msgid "%s: Invalid filter string \"%s\"\n"
 #~ msgstr "%s: Неверная строка фильтра «%s»\n"
 
-#~ msgid "%s: Need job ID ('-i jobid') before '-H restart'!\n"
-#~ msgstr "%s: Ð¢Ñ\80ебÑ\83еÑ\82Ñ\81Ñ\8f ID Ð·Ð°Ð´Ð°Ð½Ð¸Ñ\8f («-i jobid») Ð¿ÐµÑ\80ед Â«-H restart»!\n"
+#~ msgid "%s: Need job ID ('-i jobid') before '-H restart'\n"
+#~ msgstr "%s: Ð\9dеобÑ\85одимо Ñ\83казаÑ\82Ñ\8c ID Ð·Ð°Ð´Ð°Ð½Ð¸Ñ\8f ('-i jobid') Ð¿ÐµÑ\80ед '-H restart'\n"
 
-#~ msgid "%s: No filter to convert from %s/%s to %s/%s!\n"
-#~ msgstr "%s: Нет фильтра для преобразования из %s/%s в %s/%s!\n"
+#~ msgid "%s: No filter to convert from %s/%s to %s/%s\n"
+#~ msgstr ""
+#~ "%s: Отсутствует фильтр, необходимый для преобразования из %s/%s в %s/%s\n"
 
 #~ msgid "%s: Operation failed: %s\n"
 #~ msgstr "%s: Операция не удалась: %s\n"
 
-#~ msgid "%s: Sorry, no encryption support compiled in!\n"
-#~ msgstr "%s: Нет скомпилированной поддержки шифрования!\n"
+#~ msgid "%s: Sorry, no encryption support compiled in\n"
+#~ msgstr "%s:  Нет скомпилированной поддержки шифрования\n"
 
 #~ msgid "%s: Unable to connect to server\n"
 #~ msgstr "%s: Не удается подключиться к серверу\n"
 
-#~ msgid "%s: Unable to contact server!\n"
-#~ msgstr "%s: Не удается установить связь с сервером!\n"
-
-#~ msgid "%s: Unable to determine MIME type of \"%s\"!\n"
-#~ msgstr "%s: Не удается определить тип MIME «%s»!\n"
+#~ msgid "%s: Unable to contact server\n"
+#~ msgstr "%s: Не удается установить связь с сервером\n"
 
-#~ msgid "%s: Unable to open %s - %s\n"
-#~ msgstr "%s: Не удается открыть %s – %s\n"
-
-#~ msgid "%s: Unable to open %s - %s on line %d.\n"
-#~ msgstr "%s: Не удается открыть %s – %s в строке %d.\n"
+#~ msgid "%s: Unable to determine MIME type of \"%s\"\n"
+#~ msgstr "%s: Не удается определить тип MIME \"%s\"\n"
 
 #~ msgid "%s: Unable to open %s: %s\n"
 #~ msgstr "%s: Не удается открыть %s: %s\n"
@@ -6388,50 +6257,53 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "%s: Unable to open PPD file: %s on line %d\n"
 #~ msgstr "%s: Не удается открыть PPD-файл: %s в строке %d.\n"
 
-#~ msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"!\n"
-#~ msgstr "%s: Не удается прочитать базу данных MIME в «%s» или «%s»!\n"
+#~ msgid "%s: Unable to open PPD file: %s on line %d.\n"
+#~ msgstr "%s: Не удается открыть PPD файл: %s в строке %d.\n"
+
+#~ msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"\n"
+#~ msgstr "%s: Не удается прочитать базу данных MIME из \"%s\" или \"%s\"\n"
 
-#~ msgid "%s: Unknown destination \"%s\"!\n"
-#~ msgstr "%s: Неизвестное назначение «%s»!\n"
+#~ msgid "%s: Unknown destination \"%s\"\n"
+#~ msgstr "%s: Неизвестное назначение \"%s\"\n"
 
-#~ msgid "%s: Unknown destination MIME type %s/%s!\n"
-#~ msgstr "%s: Неизвестный MIME-тип назначения %s/%s!\n"
+#~ msgid "%s: Unknown destination MIME type %s/%s\n"
+#~ msgstr "%s: Неизвестный MIME-тип назначения %s/%s\n"
 
-#~ msgid "%s: Unknown option '%c'!\n"
-#~ msgstr "%s: Неизвестный параметр «%c»!\n"
+#~ msgid "%s: Unknown option '%c'\n"
+#~ msgstr "%s: Неизвестный параметр '%c'\n"
 
-#~ msgid "%s: Unknown source MIME type %s/%s!\n"
-#~ msgstr "%s: Неизвестный MIME-тип источника %s/%s!\n"
+#~ msgid "%s: Unknown source MIME type %s/%s\n"
+#~ msgstr "%s: Неизвестный MIME-тип источника %s/%s\n"
 
 #~ msgid ""
 #~ "%s: Warning - '%c' format modifier not supported - output may not be "
-#~ "correct!\n"
+#~ "correct\n"
 #~ msgstr ""
-#~ "%s: Внимание – модификатор формата «%c» не поддерживается – вывод может "
-#~ "быть неправильным!\n"
+#~ "%s: Внимание - модификатор формата '%c' не поддерживается - вывод может "
+#~ "быть неправильным\n"
 
-#~ msgid "%s: Warning - character set option ignored!\n"
-#~ msgstr "%s: Внимание – параметр набора символов пропущен!\n"
+#~ msgid "%s: Warning - character set option ignored\n"
+#~ msgstr "%s: Внимание - параметр набора символов пропущен\n"
 
-#~ msgid "%s: Warning - content type option ignored!\n"
-#~ msgstr "%s: Внимание – параметр типа контента пропущен!\n"
+#~ msgid "%s: Warning - content type option ignored\n"
+#~ msgstr "%s: Внимание - параметр типа контента пропущен\n"
 
-#~ msgid "%s: Warning - form option ignored!\n"
-#~ msgstr "%s: Внимание – параметр формы пропущен!\n"
+#~ msgid "%s: Warning - form option ignored\n"
+#~ msgstr "%s: Внимание - параметр формы пропущен\n"
 
-#~ msgid "%s: Warning - mode option ignored!\n"
-#~ msgstr "%s: Внимание – параметр режима пропущен!\n"
+#~ msgid "%s: Warning - mode option ignored\n"
+#~ msgstr "%s: Внимание - параметр режима пропущен\n"
 
 #~ msgid ""
 #~ "%s: error - %s environment variable names non-existent destination \"%s"
-#~ "\"!\n"
+#~ "\"\n"
 #~ msgstr ""
-#~ "%s: ошибка – переменная окружения %s указывает несуществующее назначение «%"
-#~ "s»!\n"
+#~ "%s: ошибка - переменная окружения %s указывает на несуществующее значение "
+#~ "\"%s\"\n"
 
-#~ msgid "%s: error - expected option=value after '-o' option!\n"
+#~ msgid "%s: error - expected option=value after '-o' option\n"
 #~ msgstr ""
-#~ "%s: ошибка – после параметра «-o» должна идти запись вида option=value!\n"
+#~ "%s: ошибка - после параметра '-o' должна идти запись вида option=value\n"
 
 #~ msgid "%s: error - no default destination available.\n"
 #~ msgstr "%s: ошибка – нет доступного назначения по умолчанию.\n"
@@ -6451,8 +6323,8 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "15 x 11\""
 #~ msgstr "15 x 11\""
 
-#~ msgid "600 DPI Grayscale"
-#~ msgstr "600dpi, оттенки серого"
+#~ msgid "3.5\" Disk - 2 1/8 x 2 3/4\""
+#~ msgstr "Диск 3.5\" - 2 1/8 x 2 3/4\""
 
 #~ msgid "60x720dpi"
 #~ msgstr "60x720dpi"
@@ -6472,17 +6344,11 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "?Invalid help command unknown\n"
 #~ msgstr "?Неверная команда справки неизвестна\n"
 
-#~ msgid "A Samba password is required to export printer drivers!"
-#~ msgstr "Ð\94лÑ\8f Ñ\8dкÑ\81поÑ\80Ñ\82а Ð´Ñ\80айвеÑ\80ов Ð¿Ñ\80инÑ\82еÑ\80а Ñ\82Ñ\80ебÑ\83еÑ\82Ñ\81Ñ\8f Ð¿Ð°Ñ\80олÑ\8c Samba!"
+#~ msgid "A class named \"%s\" already exists"
+#~ msgstr "Ð\9aлаÑ\81Ñ\81 Ñ\81 Ð¸Ð¼ÐµÐ½ÐµÐ¼ \"%s\" Ñ\83же Ñ\81Ñ\83Ñ\89еÑ\81Ñ\82вÑ\83еÑ\82"
 
-#~ msgid "A Samba username is required to export printer drivers!"
-#~ msgstr "Для экспорта драйверов принтера требуется имя пользователя Samba!"
-
-#~ msgid "A class named \"%s\" already exists!"
-#~ msgstr "Класс с именем «%s» уже существует!"
-
-#~ msgid "A printer named \"%s\" already exists!"
-#~ msgstr "Принтер с именем «%s» уже существует!"
+#~ msgid "A printer named \"%s\" already exists"
+#~ msgstr "Принтер с именем \"%s\" уже существует"
 
 #~ msgid "A3 (Oversize)"
 #~ msgstr "A3 (расширенный)"
@@ -6502,65 +6368,68 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "ARCH B"
 #~ msgstr "ARCH B"
 
-#~ msgid "Attempt to set %s printer-state to bad value %d!"
-#~ msgstr "Ð\9fопÑ\8bÑ\82ка Ñ\83Ñ\81Ñ\82ановиÑ\82Ñ\8c %s printer-state Ð½Ð° Ð½ÐµÐ²ÐµÑ\80ное Ð·Ð½Ð°Ñ\87ение %d!"
+#~ msgid "Address - 1 1/8 x 3 1/2\""
+#~ msgstr "Ð\90дÑ\80еÑ\81 - 1 1/8 x 3 1/2\""
 
-#~ msgid "Attribute groups are out of order (%x < %x)!"
-#~ msgstr "Ð\93Ñ\80Ñ\83ппÑ\8b Ð°Ñ\82Ñ\80ибÑ\83Ñ\82ов Ð½Ðµ Ð´ÐµÐ¹Ñ\81Ñ\82вÑ\83Ñ\8eÑ\82 (%x < %x)!"
+#~ msgid "Attempt to set %s printer-state to bad value %d"
+#~ msgstr "Ð\9fопÑ\8bÑ\82ка Ñ\83Ñ\81Ñ\82ановиÑ\82Ñ\8c %s printer-state Ð½Ð° Ð½ÐµÐ²ÐµÑ\80ное Ð·Ð½Ð°Ñ\87ение %d"
 
-#~ msgid "Bad device URI \"%s\"!\n"
-#~ msgstr "Ð\9dевеÑ\80нÑ\8bй URI Ñ\83Ñ\81Ñ\82Ñ\80ойÑ\81Ñ\82ва Â«%s»!\n"
+#~ msgid "Attribute groups are out of order (%x < %x)"
+#~ msgstr "Ð\93Ñ\80Ñ\83ппÑ\8b Ð°Ñ\82Ñ\80ибÑ\83Ñ\82ов Ð½Ðµ Ð´ÐµÐ¹Ñ\81Ñ\82вÑ\83Ñ\8eÑ\82 (%x < %x)"
 
-#~ msgid "Bad device-uri \"%s\"!"
-#~ msgstr "Неверное значение device-uri «%s»!"
+#~ msgid "Bad device URI \"%s\"\n"
+#~ msgstr "Неверный URI устройства \"%s\"\n"
 
-#~ msgid "Bad device-uri scheme \"%s\"!"
-#~ msgstr "Ð\9dевеÑ\80наÑ\8f Ñ\81Ñ\85ема device-uri Â«%s»!"
+#~ msgid "Bad device-uri \"%s\""
+#~ msgstr "Ð\9dевеÑ\80ное Ð·Ð½Ð°Ñ\87ение device-uri \"%s\""
 
-#~ msgid "Bad document-format \"%s\"!"
-#~ msgstr "Ð\9dевеÑ\80ное Ð·Ð½Ð°Ñ\87ение document-format Â«%s»!"
+#~ msgid "Bad device-uri scheme \"%s\""
+#~ msgstr "Ð\9dевеÑ\80наÑ\8f Ñ\81Ñ\85ема device-uri \"%s\""
 
-#~ msgid "Bad filename buffer!"
-#~ msgstr "Ð\9eÑ\88ибка Ð² Ð±Ñ\83Ñ\84еÑ\80е filename!"
+#~ msgid "Bad document-format \"%s\""
+#~ msgstr "Ð\9dевеÑ\80ное Ð·Ð½Ð°Ñ\87ение document-format \"%s\""
 
 #~ msgid "Bad font attribute: %s\n"
 #~ msgstr "Неверный атрибут шрифта: %s\n"
 
-#~ msgid "Bad job-priority value!"
-#~ msgstr "Неверное значение job-priority!"
+#~ msgid "Bad job-priority value"
+#~ msgstr "Неверное значение job-priority"
 
-#~ msgid "Bad job-sheets value \"%s\"!"
-#~ msgstr "Неверное значение job-sheets «%s»!"
+#~ msgid "Bad job-sheets value \"%s\""
+#~ msgstr "Неверное значение job-sheets \"%s\""
 
-#~ msgid "Bad job-sheets value type!"
-#~ msgstr "Неверный тип значения job-sheets!"
+#~ msgid "Bad job-sheets value type"
+#~ msgstr "Неверный тип значения job-sheets"
 
-#~ msgid "Bad job-state value!"
-#~ msgstr "Неверное значение job-state!"
+#~ msgid "Bad job-state value"
+#~ msgstr "Неверное значение job-state"
 
-#~ msgid "Bad job-uri attribute \"%s\"!"
-#~ msgstr "Неверный атрибут job-uri «%s»!"
+#~ msgid "Bad job-uri attribute \"%s\""
+#~ msgstr "Неверный атрибут job-uri \"%s\""
 
-#~ msgid "Bad notify-pull-method \"%s\"!"
-#~ msgstr "Неверное значение notify-pull-method «%s»!"
+#~ msgid "Bad notify-pull-method \"%s\""
+#~ msgstr "Неверное значение notify-pull-method \"%s\""
 
-#~ msgid "Bad notify-recipient-uri URI \"%s\"!"
-#~ msgstr "Неверный URI notify-recipient-uri «%s»!"
+#~ msgid "Bad notify-recipient-uri URI \"%s\""
+#~ msgstr "Неверный URI notify-recipient-uri \"%s\""
 
-#~ msgid "Bad option + choice on line %d!"
-#~ msgstr "Неверный параметр + выбор в строке %d!"
+#~ msgid "Bad option + choice on line %d"
+#~ msgstr "Неверный параметр + выбор в строке %d"
 
-#~ msgid "Bad port-monitor \"%s\"!"
-#~ msgstr "Неверное значение port-monitor «%s»!"
+#~ msgid "Bad port-monitor \"%s\""
+#~ msgstr "Неверное значение port-monitor \"%s\""
 
-#~ msgid "Bad printer-state value %d!"
-#~ msgstr "Неверное значение printer-state %d!"
+#~ msgid "Bad printer-state value %d"
+#~ msgstr "Неверное значение printer-state %d"
 
-#~ msgid "Bad request version number %d.%d!"
-#~ msgstr "Неверный номер версии запроса %d.%d!"
+#~ msgid "Bad request ID %d"
+#~ msgstr "Неверный ID запроса %d"
 
-#~ msgid "Bad subscription ID!"
-#~ msgstr "Неверный ID подписки!"
+#~ msgid "Bad request version number %d.%d"
+#~ msgstr "Неверный номер версии запроса %d.%d"
+
+#~ msgid "Billing Information: "
+#~ msgstr "Реквизиты для выставления счета: "
 
 #~ msgid "C0 Envelope"
 #~ msgstr "Конверт C0"
@@ -6598,8 +6467,8 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "C7 Envelope"
 #~ msgstr "Конверт C7"
 
-#~ msgid "Character set \"%s\" not supported!"
-#~ msgstr "Набор символов «%s» не поддерживается!"
+#~ msgid "Character set \"%s\" not supported"
+#~ msgstr "Набор символов \"%s\" не поддерживается"
 
 #~ msgid "Chou3 Envelope"
 #~ msgstr "Конверт Chou3"
@@ -6616,11 +6485,11 @@ msgstr "Для variable-bindings длина не установлена"
 #~ "\n"
 #~ "exit    help    quit    status  ?\n"
 
-#~ msgid "Could not scan type \"%s\"!"
-#~ msgstr "Не удалось сканировать тип «%s»!"
+#~ msgid "Could not scan type \"%s\""
+#~ msgstr "Не удалось сканировать тип \"%s\""
 
-#~ msgid "Cover open."
-#~ msgstr "Ð\9aÑ\80Ñ\8bÑ\88ка Ð¾Ñ\82кÑ\80Ñ\8bÑ\82а."
+#~ msgid "Created On: "
+#~ msgstr "Ð\94аÑ\82а Ñ\81озданиÑ\8f"
 
 #~ msgid "DL"
 #~ msgstr "DL"
@@ -6628,11 +6497,8 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "DL Envelope"
 #~ msgstr "Конверт DL"
 
-#~ msgid "Developer almost empty."
-#~ msgstr "Проявитель почти закончился."
-
-#~ msgid "Developer empty!"
-#~ msgstr "Проявитель закончился!"
+#~ msgid "Description: "
+#~ msgstr "Описание: "
 
 #~ msgid ""
 #~ "Device: uri = %s\n"
@@ -6652,32 +6518,35 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "Document %d not found in job %d."
 #~ msgstr "Документ %d в задании %d не найден."
 
-#~ msgid "Door open."
-#~ msgstr "Дверца открыта."
-
 #~ msgid "Double Postcard"
 #~ msgstr "Двойная открытка"
 
+#~ msgid "Driver Name: "
+#~ msgstr "Имя драйвера: "
+
+#~ msgid "Driver Version: "
+#~ msgstr "Версия драйвера: "
+
 #~ msgid "EMERG: Unable to allocate memory for page info: %s\n"
 #~ msgstr "EMERG: Не удается выделить память для информации страницы: %s\n"
 
 #~ msgid "EMERG: Unable to allocate memory for pages array: %s\n"
 #~ msgstr "EMERG: Не удается выделить память для массива страниц: %s\n"
 
-#~ msgid "ERROR: Bad %%BoundingBox: comment seen!\n"
-#~ msgstr "ERROR: Неверный %%BoundingBox: комментарий просмотрен!\n"
+#~ msgid "ERROR: %s job-id user title copies options [file]\n"
+#~ msgstr "ERROR: %s задание пользователь название копий параметры [файл]\n"
 
-#~ msgid "ERROR: Bad %%IncludeFeature: comment!\n"
-#~ msgstr "ERROR: Неверный %%IncludeFeature: комментарий!\n"
+#~ msgid "ERROR: Bad %%BoundingBox: comment seen\n"
+#~ msgstr "ERROR: Неверный %%BoundingBox: комментарий просмотрен\n"
 
-#~ msgid "ERROR: Bad %%Page: comment in file!\n"
-#~ msgstr "ERROR: Неверная %%Page: комментарий в файле!\n"
+#~ msgid "ERROR: Bad %%IncludeFeature: comment\n"
+#~ msgstr "ERROR: Неверный %%IncludeFeature: комментарий\n"
 
-#~ msgid "ERROR: Bad %%PageBoundingBox: comment in file!\n"
-#~ msgstr "ERROR: Неверный %%PageBoundingBox: комментарий в файле!\n"
+#~ msgid "ERROR: Bad %%Page: comment in file\n"
+#~ msgstr "ERROR: Неверный %%Page: комментарий в файле\n"
 
-#~ msgid "ERROR: Bad SCSI device file \"%s\"!\n"
-#~ msgstr "ERROR: Неверный файл устройства SCSI «%s»!\n"
+#~ msgid "ERROR: Bad %%PageBoundingBox: comment in file\n"
+#~ msgstr "ERROR: Неверный %%PageBoundingBox: комментарий в файле\n"
 
 #~ msgid "ERROR: Bad charset file %s\n"
 #~ msgstr "ERROR: Неверный файл набора символов %s\n"
@@ -6685,20 +6554,20 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "ERROR: Bad charset type %s\n"
 #~ msgstr "ERROR: Неверный тип набора символов %s\n"
 
-#~ msgid "ERROR: Bad columns value %d!\n"
-#~ msgstr "ERROR: Неверное значение количества столбцов %d!\n"
+#~ msgid "ERROR: Bad columns value %d\n"
+#~ msgstr "ERROR: Неверное значение количества столбцов %d\n"
 
-#~ msgid "ERROR: Bad cpi value %f!\n"
-#~ msgstr "ERROR: Неверное значение cpi %f!\n"
+#~ msgid "ERROR: Bad cpi value %f\n"
+#~ msgstr "ERROR: Неверное значение cpi %f\n"
 
 #~ msgid "ERROR: Bad font description line: %s\n"
 #~ msgstr "ERROR: Неверная строка описания шрифта: %s\n"
 
-#~ msgid "ERROR: Bad lpi value %f!\n"
-#~ msgstr "ERROR: Неверное значение lpi %f!\n"
+#~ msgid "ERROR: Bad lpi value %f\n"
+#~ msgstr "ERROR: Неверное значение lpi %f\n"
 
-#~ msgid "ERROR: Bad page setup!\n"
-#~ msgstr "ERROR: Неверные параметры страницы!\n"
+#~ msgid "ERROR: Bad page setup\n"
+#~ msgstr "ERROR: Неверные параметры страницы\n"
 
 #~ msgid "ERROR: Bad text direction %s\n"
 #~ msgstr "ERROR: Неверное направление текста %s\n"
@@ -6706,87 +6575,72 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "ERROR: Bad text width %s\n"
 #~ msgstr "ERROR: Неверная ширина текста %s\n"
 
-#~ msgid "ERROR: Destination printer does not exist!\n"
-#~ msgstr "ERROR: Целевой принтер не существует!\n"
+#~ msgid "ERROR: Destination printer does not exist\n"
+#~ msgstr "ERROR: Целевой принтер не существует\n"
 
-#~ msgid "ERROR: Duplicate %%BoundingBox: comment seen!\n"
-#~ msgstr "ERROR: Дубликат %%BoundingBox: комментарий просмотрен!\n"
+#~ msgid "ERROR: Duplicate %%BoundingBox: comment seen\n"
+#~ msgstr "ERROR: Дубликат %%BoundingBox: комментарий просмотрен\n"
 
-#~ msgid "ERROR: Duplicate %%Pages: comment seen!\n"
-#~ msgstr "ERROR: Дубликат %%Pages: комментарий просмотрен!\n"
+#~ msgid "ERROR: Duplicate %%Pages: comment seen\n"
+#~ msgstr "ERROR: Дубликат %%Pages: комментарий просмотрен\n"
 
-#~ msgid "ERROR: Empty print file!\n"
-#~ msgstr "ERROR: Пустой файл печати!\n"
+#~ msgid "ERROR: Empty print file\n"
+#~ msgstr "ERROR: Пустой файл печати\n"
 
 #~ msgid "ERROR: Error %d sending PAPSendData request: %s\n"
 #~ msgstr "ERROR: Ошибка %d при отправке запроса PAPSendData: %s\n"
 
-#~ msgid "ERROR: Expected quoted string on line %d of %s!\n"
-#~ msgstr "ERROR: В строке %d из %s должна быть строка в кавычках!\n"
-
-#~ msgid "ERROR: Fatal USB error!\n"
-#~ msgstr "ERROR: Критический сбой USB!\n"
+#~ msgid "ERROR: Expected quoted string on line %d of %s\n"
+#~ msgstr "ERROR: В строке %d из %s должна быть запись в ковычках\n"
 
-#~ msgid "ERROR: Invalid HP-GL/2 command seen, unable to print file!\n"
-#~ msgstr ""
-#~ "ERROR: Обнаружена неверная команда HP-GL/2, не удается напечатать файл!\n"
-
-#~ msgid "ERROR: Missing %%EndProlog!\n"
-#~ msgstr "ERROR: Отсутствует %%EndProlog!\n"
+#~ msgid "ERROR: Fatal USB error\n"
+#~ msgstr "ERROR: Критический сбой USB\n"
 
-#~ msgid "ERROR: Missing %%EndSetup!\n"
-#~ msgstr "ERROR: Отсутствует %%EndSetup!\n"
+#~ msgid "ERROR: Missing %%EndProlog\n"
+#~ msgstr "ERROR: Отсутствует %%endProlog\n"
 
-#~ msgid ""
-#~ "ERROR: Missing device URI on command-line and no DEVICE_URI environment "
-#~ "variable!\n"
-#~ msgstr ""
-#~ "ERROR: Отсутствует идентификатор URI устройства в командной строке и "
-#~ "переменная окружения DEVICE_URI!\n"
+#~ msgid "ERROR: Missing %%EndSetup\n"
+#~ msgstr "ERROR: Отсутствует %%EndSetup\n"
 
-#~ msgid "ERROR: Missing value on line %d of banner file!\n"
-#~ msgstr "ERROR: Отсутствует значение в строке %d в файле баннера!\n"
+#~ msgid "ERROR: Missing value on line %d of banner file\n"
+#~ msgstr "ERROR: Отсутствует значение в строке %d в файле баннера.\n"
 
 #~ msgid ""
-#~ "ERROR: Need a msgid line before any translation strings on line %d of %"
-#~ "s!\n"
+#~ "ERROR: Need a msgid line before any translation strings on line %d of %s\n"
 #~ msgstr ""
-#~ "ERROR: Требуется строка msgid перед строкой перевода в строке %d из %s!\n"
+#~ "ERROR: Требуется строка msgid перед строкой перевода в строке %d из %s\n"
 
-#~ msgid "ERROR: No %%BoundingBox: comment in header!\n"
-#~ msgstr "ERROR: Нет %%BoundingBox: комментарий в заголовке!\n"
+#~ msgid "ERROR: No %%BoundingBox: comment in header\n"
+#~ msgstr "ERROR: Нет %%BoundingBox: комментарий в заголовке\n"
 
-#~ msgid "ERROR: No %%Pages: comment in header!\n"
-#~ msgstr "ERROR: Нет %%Pages: комментарий в заголовке!\n"
+#~ msgid "ERROR: No %%Pages: comment in header\n"
+#~ msgstr "ERROR: Нет %%Pages: комментарий в заголовке\n"
 
 #~ msgid ""
 #~ "ERROR: No device URI found in argv[0] or in DEVICE_URI environment "
-#~ "variable!\n"
+#~ "variable\n"
 #~ msgstr ""
 #~ "ERROR: Не обнаружено URI устройства в argv[0] или переменной окружения "
-#~ "DEVICE_URI!\n"
+#~ "DEVICE_URI\n"
 
 #~ msgid "ERROR: No fonts in charset file %s\n"
 #~ msgstr "ERROR: Отсутствуют шрифты в файле набора символов %s\n"
 
-#~ msgid "ERROR: No pages found!\n"
-#~ msgstr "ERROR: Страницы не найдены!\n"
+#~ msgid "ERROR: No pages found\n"
+#~ msgstr "ERROR: Страницы не найдены\n"
 
-#~ msgid "ERROR: Out of paper!\n"
-#~ msgstr "ERROR: Нет бумаги!\n"
+#~ msgid "ERROR: Out of paper\n"
+#~ msgstr "ERROR: Не хватает бумаги\n"
 
-#~ msgid "ERROR: PRINTER environment variable not defined!\n"
-#~ msgstr "ERROR: Переменная окружения PRINTER не указана!\n"
+#~ msgid "ERROR: PRINTER environment variable not defined\n"
+#~ msgstr "ERROR: Переменная окружения PRINTER не указана\n"
 
-#~ msgid "ERROR: Print file was not accepted (%s)!\n"
-#~ msgstr "ERROR: Ð¤Ð°Ð¹Ð» Ð¿ÐµÑ\87аÑ\82и Ð½Ðµ Ð¿Ñ\80инÑ\8fÑ\82 (%s)!\n"
+#~ msgid "ERROR: Print file was not accepted (%s)\n"
+#~ msgstr "ERROR: Ð¤Ð°Ð¹Ð» Ð¿ÐµÑ\87аÑ\82и Ð½Ðµ Ð±Ñ\8bл Ð¿Ñ\80инÑ\8fÑ\82 (%s)\n"
 
 #~ msgid "ERROR: Printer not responding\n"
 #~ msgstr "ERROR: Принтер не отвечает\n"
 
-#~ msgid "ERROR: Printer not responding!\n"
-#~ msgstr "ERROR: Принтер не отвечает!\n"
-
 #~ msgid "ERROR: Printer sent unexpected EOF\n"
 #~ msgstr "ERROR: Принтер преждевременно передал индикатор EOF\n"
 
@@ -6807,9 +6661,17 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "ERROR: Unable to cancel job %d: %s\n"
 #~ msgstr "ERROR: Не удается отменить задание %d: %s\n"
 
+#~ msgid "ERROR: Unable to connect to printer; will retry in 30 seconds...\n"
+#~ msgstr ""
+#~ "ERROR: Не удается подключиться к принтеру; повторная попытка через 30 "
+#~ "секунд...\n"
+
 #~ msgid "ERROR: Unable to copy PDF file"
 #~ msgstr "ERROR: Не удается копировать файл PDF"
 
+#~ msgid "ERROR: Unable to create pipe"
+#~ msgstr "ERROR: Не удается создать конвейер"
+
 #~ msgid "ERROR: Unable to create socket"
 #~ msgstr "ERROR: Не удается создать сокет"
 
@@ -6819,12 +6681,6 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "ERROR: Unable to create temporary file"
 #~ msgstr "ERROR: Не удается создать временный файл"
 
-#~ msgid "ERROR: Unable to create temporary file - %s.\n"
-#~ msgstr "ERROR: Не удается создать временный файл – %s.\n"
-
-#~ msgid "ERROR: Unable to create temporary file: %s\n"
-#~ msgstr "ERROR: Не удается создать временный файл: %s\n"
-
 #~ msgid "ERROR: Unable to exec pictwpstops: %s\n"
 #~ msgstr "ERROR: Не удается выполнить pictwpstops: %s\n"
 
@@ -6834,6 +6690,9 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "ERROR: Unable to execute pdftops program"
 #~ msgstr "ERROR: Не удается запустить программу pdftops"
 
+#~ msgid "ERROR: Unable to execute pstops program"
+#~ msgstr "ERROR: Не удается выполнить pstops"
+
 #~ msgid "ERROR: Unable to fork pictwpstops: %s\n"
 #~ msgstr "ERROR: Не удается разветвить pictwpstops: %s\n"
 
@@ -6849,14 +6708,14 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "ERROR: Unable to get default AppleTalk zone"
 #~ msgstr "ERROR: Не удается определить стандартную зону AppleTalk"
 
-#~ msgid "ERROR: Unable to get job %d attributes (%s)!\n"
-#~ msgstr "ERROR: Не удается получить атрибуты задания %d (%s)!\n"
+#~ msgid "ERROR: Unable to get job %d attributes (%s)\n"
+#~ msgstr "ERROR: Не удается получить список параметров (%s) задания %d \n"
 
-#~ msgid "ERROR: Unable to get printer status (%s)!\n"
-#~ msgstr "ERROR: Не удается получить статус принтера (%s)!\n"
+#~ msgid "ERROR: Unable to get printer status (%s)\n"
+#~ msgstr "ERROR: Не удается получить статус (%s) принтера\n"
 
-#~ msgid "ERROR: Unable to locate printer '%s'!\n"
-#~ msgstr "ERROR: Ð\9dе Ñ\83даеÑ\82Ñ\81Ñ\8f Ð¾Ð±Ð½Ð°Ñ\80Ñ\83жиÑ\82Ñ\8c Ð¿Ñ\80инÑ\82еÑ\80 Â«%s»!\n"
+#~ msgid "ERROR: Unable to locate printer '%s'\n"
+#~ msgstr "ERROR: Ð\9fÑ\80инÑ\82еÑ\80 '%s' Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½\n"
 
 #~ msgid "ERROR: Unable to look for PAP response"
 #~ msgstr "ERROR: Не удается провести поиск ответа PAP"
@@ -6873,6 +6732,9 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "ERROR: Unable to open %s: %s\n"
 #~ msgstr "ERROR: Не удается открыть %s: %s\n"
 
+#~ msgid "ERROR: Unable to open PPD file\n"
+#~ msgstr "ERROR: Не удается открыть PPD файл\n"
+
 #~ msgid "ERROR: Unable to open banner file \"%s\" - %s\n"
 #~ msgstr "ERROR: Не удается открыть файл баннера «%s» – %s\n"
 
@@ -6885,8 +6747,8 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "ERROR: Unable to open file \"%s\": %s\n"
 #~ msgstr "ERROR: Не удается открыть файл «%s»: %s\n"
 
-#~ msgid "ERROR: Unable to open image file for printing!\n"
-#~ msgstr "ERROR: Не удается открыть файл изображения для печати!\n"
+#~ msgid "ERROR: Unable to open image file for printing\n"
+#~ msgstr "ERROR: Не удается открыть изображение для печати\n"
 
 #~ msgid "ERROR: Unable to open print file \"%s\": %s\n"
 #~ msgstr "ERROR: Не удается открыть файл печати «%s»: %s\n"
@@ -6897,23 +6759,23 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "ERROR: Unable to open print file %s: %s\n"
 #~ msgstr "ERROR: Не удается открыть файл печати %s: %s\n"
 
+#~ msgid "ERROR: Unable to open raster file - %s\n"
+#~ msgstr "ERROR: Не удается открыть растровый файл - %s\n"
+
 #~ msgid "ERROR: Unable to open temporary compressed print file: %s\n"
 #~ msgstr "ERROR: Не удается открыть временный сжатый файл печати: %s\n"
 
-#~ msgid "ERROR: Unable to open temporary file"
-#~ msgstr "ERROR: Не удается открыть временный файл"
-
-#~ msgid "ERROR: Unable to print %d text columns!\n"
-#~ msgstr "ERROR: Не удается напечатать столбцы с текстом (%d)!\n"
+#~ msgid "ERROR: Unable to print %d text columns\n"
+#~ msgstr "ERROR: Не удается напечатать столбцы с текстом %d\n"
 
-#~ msgid "ERROR: Unable to print %dx%d text page!\n"
-#~ msgstr "ERROR: Не удается напечатать страницу с текстом %dx%d!\n"
+#~ msgid "ERROR: Unable to print %dx%d text page\n"
+#~ msgstr "ERROR: Не удается напечатать страницу с текстом %dx%d\n"
 
 #~ msgid "ERROR: Unable to read print data"
 #~ msgstr "ERROR: Не удается считать данные печати"
 
-#~ msgid "ERROR: Unable to read print data!\n"
-#~ msgstr "ERROR: Не удается считать данные печати!\n"
+#~ msgid "ERROR: Unable to read print data\n"
+#~ msgstr "ERROR: Не удается прочитать данные для печати\n"
 
 #~ msgid "ERROR: Unable to reserve port"
 #~ msgstr "ERROR: Не удается зарезервировать порт"
@@ -6933,11 +6795,8 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "ERROR: Unable to send initial PAP send data request"
 #~ msgstr "ERROR: Не удается отправить исходный запрос PAP на отправку данных"
 
-#~ msgid "ERROR: Unable to send print data (%d)\n"
-#~ msgstr "ERROR: Не удается отправить данные печати (%d)\n"
-
-#~ msgid "ERROR: Unable to send print data!\n"
-#~ msgstr "ERROR: Не удается отправить данные печати!\n"
+#~ msgid "ERROR: Unable to send print data\n"
+#~ msgstr "ERROR: Не удается отправить данные для печати\n"
 
 #~ msgid "ERROR: Unable to send print file to printer"
 #~ msgstr "ERROR: Не удается отправить файл печати на принтер"
@@ -6951,8 +6810,8 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "ERROR: Unable to write %d bytes to \"%s\": %s\n"
 #~ msgstr "ERROR: Не удается записать %d байт на «%s»: %s\n"
 
-#~ msgid "ERROR: Unable to write %d bytes to printer!\n"
-#~ msgstr "ERROR: Не удается записать %d байт на принтер!\n"
+#~ msgid "ERROR: Unable to write %d bytes to printer\n"
+#~ msgstr "ERROR: Не удается записать %d байт на принтер\n"
 
 #~ msgid "ERROR: Unable to write control file"
 #~ msgstr "ERROR: Не удается записать контрольный файл"
@@ -6963,20 +6822,17 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "ERROR: Unable to write print data: %s\n"
 #~ msgstr "ERROR: Не удается записать данные печати: %s\n"
 
-#~ msgid "ERROR: Unable to write raster data to driver!\n"
-#~ msgstr "ERROR: Не удается записать растровые данные на драйвер!\n"
-
-#~ msgid "ERROR: Unable to write to temporary file"
-#~ msgstr "ERROR: Не удается записать данные во временный файл"
+#~ msgid "ERROR: Unable to write raster data to driver\n"
+#~ msgstr "Не удается записать растровые данные на принтер\n"
 
 #~ msgid "ERROR: Unable to write uncompressed document data: %s\n"
 #~ msgstr "ERROR: Не удается записать несжатые данные документа: %s\n"
 
-#~ msgid "ERROR: Unexpected text on line %d of %s!\n"
-#~ msgstr "ERROR: Ð\9dепÑ\80едвиденнÑ\8bй Ñ\82екÑ\81Ñ\82 Ð² Ñ\81Ñ\82Ñ\80оке %d Ð¸Ð· %s!\n"
+#~ msgid "ERROR: Unexpected text on line %d of %s\n"
+#~ msgstr "ERROR: Ð\9dеизвеÑ\81Ñ\82нÑ\8bй Ñ\82екÑ\81Ñ\82 Ð² %s Ñ\81Ñ\82Ñ\80оки %d\n"
 
-#~ msgid "ERROR: Unknown encryption option value \"%s\"!\n"
-#~ msgstr "ERROR: Неизвестное значение параметра шифрования «%s»!\n"
+#~ msgid "ERROR: Unknown encryption option value \"%s\"\n"
+#~ msgstr "ERROR: Неизвестное значение \"%s\" параметра шифрования\n"
 
 #~ msgid "ERROR: Unknown file order \"%s\"\n"
 #~ msgstr "ERROR: Неизвестный порядок файлов «%s»\n"
@@ -6984,64 +6840,53 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "ERROR: Unknown format character \"%c\"\n"
 #~ msgstr "ERROR: Символ неизвестного формата «%c»\n"
 
-#~ msgid "ERROR: Unknown message catalog format for \"%s\"!\n"
-#~ msgstr "ERROR: Неизвестный формат каталога сообщений для «%s»!\n"
+#~ msgid "ERROR: Unknown message catalog format for \"%s\"\n"
+#~ msgstr "ERROR: Неизвестный формат каталога сообщений для \"%s\"\n"
 
-#~ msgid "ERROR: Unknown option \"%s\" with value \"%s\"!\n"
-#~ msgstr "ERROR: Неизвестный параметр «%s» со значением «%s»!\n"
+#~ msgid "ERROR: Unknown option \"%s\" with value \"%s\"\n"
+#~ msgstr "ERROR: Неизвестный параметр \"%s\" со значением \"%s\"\n"
 
 #~ msgid "ERROR: Unknown print mode \"%s\"\n"
 #~ msgstr "ERROR: Неизвестный режим печати «%s»\n"
 
-#~ msgid "ERROR: Unknown version option value \"%s\"!\n"
-#~ msgstr "ERROR: Неизвестное значение параметра версии «%s»!\n"
+#~ msgid "ERROR: Unknown version option value \"%s\"\n"
+#~ msgstr "ERROR: Неизвестное значение параметра версии \"%s\"\n"
 
-#~ msgid "ERROR: Unsupported brightness value %s, using brightness=100!\n"
+#~ msgid "ERROR: Unsupported brightness value %s, using brightness=100\n"
 #~ msgstr ""
-#~ "ERROR: Неподдерживаемое значение яркости %s, используется "
-#~ "brightness=100!\n"
+#~ "ERROR: Неподдерживаемое значение яркости %s, используется значение "
+#~ "brightness=100\n"
 
-#~ msgid "ERROR: Unsupported gamma value %s, using gamma=1000!\n"
+#~ msgid "ERROR: Unsupported gamma value %s, using gamma=1000\n"
 #~ msgstr ""
-#~ "ERROR: Неподдерживаемое значение гаммы %s, используется gamma=1000!\n"
+#~ "ERROR: Неподдерживаемое значение гаммы %s, используется значение "
+#~ "gamma=1000\n"
 
-#~ msgid "ERROR: Unsupported number-up value %d, using number-up=1!\n"
+#~ msgid "ERROR: Unsupported number-up value %d, using number-up=1\n"
 #~ msgstr ""
-#~ "ERROR: Неподдерживаемое значение number-up %d, используется number-up=1!\n"
+#~ "ERROR: Неподдерживаемое значение number-up %d, используется значение "
+#~ "number-up=1\n"
 
 #~ msgid ""
 #~ "ERROR: Unsupported number-up-layout value %s, using number-up-"
-#~ "layout=lrtb!\n"
+#~ "layout=lrtb\n"
 #~ msgstr ""
-#~ "ERROR: Неподдерживаемое значение number-up-layout %s, используется number-"
-#~ "up-layout=lrtb!\n"
+#~ "ERROR: Неподдерживаемое значение number-up-layout %s, используется "
+#~ "значение number-up-layout=lrtb\n"
 
-#~ msgid "ERROR: Unsupported page-border value %s, using page-border=none!\n"
+#~ msgid "ERROR: Unsupported page-border value %s, using page-border=none\n"
 #~ msgstr ""
-#~ "ERROR: Неподдерживаемое значение page-border %s, используется page-"
-#~ "border=none!\n"
-
-#~ msgid "ERROR: doc_printf overflow (%d bytes) detected, aborting!\n"
-#~ msgstr "ERROR: Обнаружено переполнение doc_printf (%d байт), отменяю!\n"
+#~ "ERROR: Неподдерживаемое значение page-border %s, используется значение "
+#~ "page-border=none\n"
 
-#~ msgid "ERROR: pdftops filter crashed on signal %d!\n"
-#~ msgstr "ERROR: Ð¡Ð±Ð¾Ð¹ Ñ\84илÑ\8cÑ\82Ñ\80а pdftops Ð¿Ñ\80и Ñ\81игнале %d!\n"
+#~ msgid "ERROR: doc_printf overflow (%d bytes) detected, aborting\n"
+#~ msgstr "ERROR: Ð\9eбнаÑ\80Ñ\83жено Ð¿ÐµÑ\80еполнение doc_printf (%d Ð±Ð°Ð¹Ñ\82). Ð\9fÑ\80еÑ\80ваÑ\82Ñ\8c.\n"
 
-#~ msgid "ERROR: pdftops filter exited with status %d!\n"
-#~ msgstr "ERROR: Фильтр pictwpstops закрыт со статусом %d!\n"
+#~ msgid "ERROR: pictwpstops exited on signal %d\n"
+#~ msgstr "ERROR: pictwpstops завершился по сигналу %d\n"
 
-#~ msgid "ERROR: pictwpstops exited on signal %d!\n"
-#~ msgstr "ERROR: Фильтр pictwpstops закрыт по сигналу %d!\n"
-
-#~ msgid "ERROR: pictwpstops exited with status %d!\n"
-#~ msgstr "ERROR: Фильтр pictwpstops закрыт со статусом %d!\n"
-
-#~ msgid ""
-#~ "ERROR: recoverable: Unable to connect to printer; will retry in 30 "
-#~ "seconds...\n"
-#~ msgstr ""
-#~ "ERROR: Восстанавливаемо: не удается подключиться к принтеру; попытка "
-#~ "будет повторена через 30 секунд…\n"
+#~ msgid "ERROR: pictwpstops exited with status %d\n"
+#~ msgstr "ERROR: pitwpstops завершился со статусом %d\n"
 
 #~ msgid "ERROR: select() failed"
 #~ msgstr "ERROR: Сбой оператора select()"
@@ -7049,15 +6894,21 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "ERROR: unable to stat print file"
 #~ msgstr "ERROR: Не удается установить файл печати"
 
-#~ msgid "Empty PPD file!"
-#~ msgstr "Пустой PPD-файл!"
+#~ msgid "Empty PPD file"
+#~ msgstr "Пустой PPD файл"
 
-#~ msgid "Error: need hostname after '-h' option!\n"
-#~ msgstr "ERROR: Требуется имя хоста после параметра «-h»!\n"
+#~ msgid "Error: need hostname after '-h' option\n"
+#~ msgstr "ERROR: Требуется имя хоста после параметра '-h'\n"
 
 #~ msgid "FAIL\n"
 #~ msgstr "FAIL\n"
 
+#~ msgid "File Folder"
+#~ msgstr "Каталог файла"
+
+#~ msgid "File Folder - 9/16 x 3 7/16\""
+#~ msgstr "Каталог файла - 9 16/8 x 3 7/16\""
+
 #~ msgid ""
 #~ "File device URIs have been disabled! To enable, see the FileDevice "
 #~ "directive in \"%s/cupsd.conf\"."
@@ -7065,20 +6916,17 @@ msgstr "Для variable-bindings длина не установлена"
 #~ "URI-адреса файлового устройства отключены! Чтобы включить их, используйте "
 #~ "директиву FileDevice в «%s/cupsd.conf»."
 
-#~ msgid "Fuser temperature high!"
-#~ msgstr "Высокая температура термофиксатора!"
-
-#~ msgid "Fuser temperature low!"
-#~ msgstr "Низкая температура термофиксатора!"
-
 #~ msgid "German FanFold"
 #~ msgstr "German FanFold"
 
 #~ msgid "German FanFold Legal"
 #~ msgstr "German FanFold Legal"
 
-#~ msgid "Got a printer-uri attribute but no job-id!"
-#~ msgstr "Получен атрибут printer-uri, но не job-id!"
+#~ msgid "Got a printer-uri attribute but no job-id"
+#~ msgstr "Получен атрибут printer-uri, но не job-id"
+
+#~ msgid "Hanging Folder - 9/16 x 2\""
+#~ msgstr "Папка подвесного хранения - 9/16 x 2\""
 
 #~ msgid "INFO: AppleTalk disabled in System Preferences\n"
 #~ msgstr "INFO: AppleTalk отключен в Системных настройках\n"
@@ -7098,9 +6946,15 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "INFO: Control file sent successfully\n"
 #~ msgstr "INFO: Контрольный файл успешно отправлен\n"
 
+#~ msgid "INFO: Copying print data...\n"
+#~ msgstr "INFO: Копирование данных печати...\n"
+
 #~ msgid "INFO: Data file sent successfully\n"
 #~ msgstr "INFO: Файл данных успешно отправлен\n"
 
+#~ msgid "INFO: Finished page %d...\n"
+#~ msgstr "INFO: Последняя страница %d...\n"
+
 #~ msgid "INFO: Formatting page %d...\n"
 #~ msgstr "INFO: Форматирование страницы %d…\n"
 
@@ -7184,6 +7038,9 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "INFO: Spooling LPR job, %.0f%% complete...\n"
 #~ msgstr "INFO: Спулинг задания LPR, %.0f%% выполнено…\n"
 
+#~ msgid "INFO: Starting page %d...\n"
+#~ msgstr "INFO: Главная страница %d...\n"
+
 #~ msgid ""
 #~ "INFO: Unable to contact printer, queuing on next printer in class...\n"
 #~ msgstr ""
@@ -7244,20 +7101,11 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "ISO B9"
 #~ msgstr "ISO B9"
 
-#~ msgid "Ink/toner almost empty."
-#~ msgstr "ЧеÑ\80нила/Ñ\82онеÑ\80 Ð·Ð°ÐºÐ°Ð½Ñ\87иваÑ\8eÑ\82Ñ\81Ñ\8f."
+#~ msgid "Internet Postage 2-Part - 2 1/4 x 7 1/2\""
+#~ msgstr "Ð\9dаклейки Internet Postage 2-Part - 2 1/4 x 7 1/2\""
 
-#~ msgid "Ink/toner empty!"
-#~ msgstr "Чернила/тонер закончились!"
-
-#~ msgid "Ink/toner waste bin almost full."
-#~ msgstr "Корзина чернил/тонера почти полный."
-
-#~ msgid "Ink/toner waste bin full!"
-#~ msgstr "Корзина чернил/тонера полная!"
-
-#~ msgid "Interlock open."
-#~ msgstr "Открыт замок."
+#~ msgid "Internet Postage 3-Part - 2 1/4 x 7\""
+#~ msgstr "Наклейки Internet Postage 3-Part - 2 1/4 x 7\""
 
 #~ msgid "Invite Envelope"
 #~ msgstr "Конверт Invite Envelope"
@@ -7265,32 +7113,41 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "Italian Envelope"
 #~ msgstr "Конверт Italian Envelope"
 
-#~ msgid "Job #%d cannot be restarted - no files!"
-#~ msgstr "Задание #%d не может быть перезапущено – нет файлов!"
+#~ msgid "Job #%d cannot be restarted - no files"
+#~ msgstr "Задание #%d не может быть перезапущено - отсутствуют файлы"
+
+#~ msgid "Job #%d does not exist"
+#~ msgstr "Задание #%d не существует"
 
-#~ msgid "Job #%d does not exist!"
-#~ msgstr "Ð\97адание #%d Ð½Ðµ Ñ\81Ñ\83Ñ\89еÑ\81Ñ\82вÑ\83еÑ\82!"
+#~ msgid "Job #%d is finished and cannot be altered"
+#~ msgstr "Ð\97адание #%d Ð·Ð°Ð²ÐµÑ\80Ñ\88ено Ð¸ Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ\82 Ð±Ñ\8bÑ\82Ñ\8c Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¾"
 
-#~ msgid "Job #%d is finished and cannot be altered!"
-#~ msgstr "Ð\97адание #%d Ð·Ð°Ð²ÐµÑ\80Ñ\88ено Ð¸ Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ\82 Ð±Ñ\8bÑ\82Ñ\8c Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¾!"
+#~ msgid "Job #%d is not complete"
+#~ msgstr "Ð\97адание #%d Ð½Ðµ Ð·Ð°Ð²ÐµÑ\80Ñ\88ено"
 
-#~ msgid "Job #%d is not complete!"
-#~ msgstr "Ð\97адание #%d Ð½Ðµ Ð·Ð°Ð²ÐµÑ\80Ñ\88ено!"
+#~ msgid "Job #%d is not held"
+#~ msgstr "Ð\97адание #%d Ð½Ðµ Ð·Ð°Ð´ÐµÑ\80жано"
 
-#~ msgid "Job #%d is not held for authentication!"
-#~ msgstr "Задание #%d не задержано для идентификации!"
+#~ msgid "Job #%d is not held for authentication"
+#~ msgstr "Задание #%d не задержано для идентификации"
 
-#~ msgid "Job #%d is not held!"
-#~ msgstr "Задание #%d не задержано!"
+#~ msgid "Job #%s does not exist"
+#~ msgstr "Задание #%d не существует"
 
-#~ msgid "Job #%s does not exist!"
-#~ msgstr "Задание #%s не существует!"
+#~ msgid "Job %d not found"
+#~ msgstr "Задание %d не найдено"
 
-#~ msgid "Job %d not found!"
-#~ msgstr "Задание #%d не найдено!"
+#~ msgid "Job ID: "
+#~ msgstr "ID задания: "
 
-#~ msgid "Job subscriptions cannot be renewed!"
-#~ msgstr "Подписки на задание не могут быть обновлены!"
+#~ msgid "Job UUID: "
+#~ msgstr "UUID задания: "
+
+#~ msgid "Job operation failed:"
+#~ msgstr "Сбой операции задания:"
+
+#~ msgid "Job subscriptions cannot be renewed"
+#~ msgstr "Подписки на задание не могут быть обновлены"
 
 #~ msgid "Kaku2 Envelope"
 #~ msgstr "Конверт Kaku2"
@@ -7298,44 +7155,44 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "Kaku3 Envelope"
 #~ msgstr "Конверт Kaku3"
 
-#~ msgid "Language \"%s\" not supported!"
-#~ msgstr "Язык «%s» не поддерживается!"
+#~ msgid "Language \"%s\" not supported"
+#~ msgstr "Язык \"%s\" не поддерживается"
 
-#~ msgid "Media jam!"
-#~ msgstr "Ð\97аÑ\82оÑ\80 Ð±Ñ\83маги!"
+#~ msgid "Large Address - 1 4/10 x 3 1/2\""
+#~ msgstr "Ð\9fолнÑ\8bй Ð°Ð´Ñ\80еÑ\81 - 1 4/10 x 3 1/2\""
 
-#~ msgid "Media tray almost empty."
-#~ msgstr "Ð\9bоÑ\82ок Ñ\81 Ð±Ñ\83магой Ð¿Ð¾Ñ\87Ñ\82и Ð¿Ñ\83Ñ\81Ñ\82."
+#~ msgid "Location: "
+#~ msgstr "Ð\9cеÑ\81Ñ\82оположение: "
 
-#~ msgid "Media tray empty!"
-#~ msgstr "Ð\9bоÑ\82ок Ñ\81 Ð±Ñ\83магой Ð¿Ñ\83Ñ\81Ñ\82!"
+#~ msgid "Make and Model: "
+#~ msgstr "Ð\9cаÑ\80ка Ð¸ Ð¼Ð¾Ð´ÐµÐ»Ñ\8c"
 
-#~ msgid "Media tray missing!"
-#~ msgstr "Ð\9bоÑ\82ок Ñ\81 Ð±Ñ\83магой Ð¾Ñ\82Ñ\81Ñ\83Ñ\82Ñ\81Ñ\82вÑ\83еÑ\82!"
+#~ msgid "Media Dimensions: "
+#~ msgstr "РазмеÑ\80Ñ\8b Ð±Ñ\83маги: "
 
-#~ msgid "Media tray needs to be filled."
-#~ msgstr "Ð\9dеобÑ\85одимо Ð²Ñ\81Ñ\82авиÑ\82Ñ\8c Ð±Ñ\83магÑ\83 Ð² Ð»Ð¾Ñ\82ок."
+#~ msgid "Media Limits: "
+#~ msgstr "Ð\9eгÑ\80аниÑ\87ениÑ\8f Ð±Ñ\83маги: "
 
-#~ msgid "Missing document-number attribute!"
-#~ msgstr "Ð\9eÑ\82Ñ\81Ñ\83Ñ\82Ñ\81Ñ\82вÑ\83еÑ\82 Ð°Ñ\82Ñ\80ибÑ\83Ñ\82 document-number!"
+#~ msgid "Media Name: "
+#~ msgstr "Ð\9dазвание Ð±Ñ\83маги: "
 
-#~ msgid "Missing double quote on line %d!"
-#~ msgstr "Отсутствуют двойные кавычки в строке %d!"
+#~ msgid "Missing document-number attribute"
+#~ msgstr "Отсутствует атрибут document-number"
 
-#~ msgid "Missing form variable!"
-#~ msgstr "Ð\9eÑ\82Ñ\81Ñ\83Ñ\82Ñ\81Ñ\82вÑ\83еÑ\82 Ð¿ÐµÑ\80еменнаÑ\8f Ñ\84оÑ\80мÑ\8b!"
+#~ msgid "Missing double quote on line %d"
+#~ msgstr "Ð\9eÑ\82Ñ\81Ñ\83Ñ\82Ñ\81Ñ\82вÑ\83еÑ\82 Ð´Ð²Ð¾Ð¹Ð½Ð°Ñ\8f ÐºÐ°Ð²Ñ\8bÑ\87ка Ð² Ñ\81Ñ\82Ñ\80оке %d"
 
-#~ msgid "Missing notify-subscription-ids attribute!"
-#~ msgstr "Отсутствует атрибут notify-subscription-ids!"
+#~ msgid "Missing notify-subscription-ids attribute"
+#~ msgstr "Отсутствует атрибут notify-subscription-ids"
 
-#~ msgid "Missing requesting-user-name attribute!"
-#~ msgstr "Отсутствует атрибут requesting-user-name!"
+#~ msgid "Missing requesting-user-name attribute"
+#~ msgstr "Отсутствует атрибут requesting-user-name"
 
-#~ msgid "Missing required attributes!"
-#~ msgstr "Отсутствуют обязательные атрибуты!"
+#~ msgid "Missing required attributes"
+#~ msgstr "Отсутствуют обязательные атрибуты"
 
-#~ msgid "Missing value on line %d!"
-#~ msgstr "Отсутствует значение в строке %d!"
+#~ msgid "Missing value on line %d"
+#~ msgstr "Отсутствует значение в строке %d"
 
 #~ msgid ""
 #~ "Model:  name = %s\n"
@@ -7360,59 +7217,35 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "NOTICE: Print file accepted - job ID unknown.\n"
 #~ msgstr "NOTICE: Файл печати принят – ID задания неизвестен.\n"
 
-#~ msgid "No PPD name!"
-#~ msgstr "Ð\9dеÑ\82 Ð¸Ð¼ÐµÐ½Ð¸ PPD!"
+#~ msgid "Nested classes are not allowed"
+#~ msgstr "Ð\92ложеннÑ\8bе Ð³Ñ\80Ñ\83ппÑ\8b Ð½Ðµ Ð´Ð¾Ð¿Ñ\83Ñ\81каÑ\8eÑ\82Ñ\81Ñ\8f"
 
-#~ msgid "No Windows printer drivers are installed!"
-#~ msgstr "Нет установленных драйверов принтера Windows!"
+#~ msgid "No Windows printer drivers are installed"
+#~ msgstr "Нет установленных драйверов принтера Windows"
 
-#~ msgid "No active jobs on %s!"
-#~ msgstr "Нет активных заданий на %s!"
+#~ msgid "No active jobs on %s"
+#~ msgstr "Нет активных заданий на %s"
 
-#~ msgid "No attributes in request!"
-#~ msgstr "Нет атрибутов в запросе!"
+#~ msgid "No attributes in request"
+#~ msgstr "Нет атрибутов в запросе"
 
-#~ msgid "No authentication information provided!"
-#~ msgstr "Нет информации для проверки подлинности!"
+#~ msgid "No authentication information provided"
+#~ msgstr "Нет информации для проверки подлинности"
 
 #~ msgid "No default printer"
 #~ msgstr "Нет принтера по умолчанию"
 
-#~ msgid "No file!?!"
-#~ msgstr "Нет файла!?!"
-
-#~ msgid "No modification time!"
-#~ msgstr "Не указано время изменения!"
-
-#~ msgid "No printer name!"
-#~ msgstr "Нет имени принтера!"
+#~ msgid "No file!?"
+#~ msgstr "Нет файла!?"
 
-#~ msgid "No printer-uri found for class!"
-#~ msgstr "Не указан адрес printer-uri для класса!"
+#~ msgid "No printer-uri in request"
+#~ msgstr "Нет адреса printer-uri в запросе"
 
-#~ msgid "No printer-uri found!"
-#~ msgstr "Не указан адрес printer-uri!"
+#~ msgid "No subscription attributes in request"
+#~ msgstr "Нет атрибутов подписки в запросе"
 
-#~ msgid "No printer-uri in request!"
-#~ msgstr "Нет адреса printer-uri в запросе!"
-
-#~ msgid "No subscription attributes in request!"
-#~ msgstr "Нет атрибутов подписки в запросе!"
-
-#~ msgid "OPC almost at end-of-life."
-#~ msgstr "OPC почти в end-of-life."
-
-#~ msgid "OPC at end-of-life!"
-#~ msgstr "OPC в end-of-life!"
-
-#~ msgid "Out of toner!"
-#~ msgstr "Недостаточно тонера!"
-
-#~ msgid "Output bin almost full."
-#~ msgstr "Выходной лоток почти заполнен."
-
-#~ msgid "Output bin full!"
-#~ msgstr "Выходной лоток заполнен!"
+#~ msgid "Options: "
+#~ msgstr "Параметры: "
 
 #~ msgid "Output for printer %s is sent to %s\n"
 #~ msgstr "Вывод для принтера %s отправлен на %s\n"
@@ -7426,9 +7259,6 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "Output for printer %s/%s is sent to remote printer %s on %s\n"
 #~ msgstr "Вывод для принтера %s/%s отправлен на удаленный принтер %s на %s\n"
 
-#~ msgid "Output tray missing!"
-#~ msgstr "Выходной лоток отсутствует!"
-
 #~ msgid "PASS\n"
 #~ msgstr "PASS\n"
 
@@ -7468,8 +7298,17 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "Personal Envelope"
 #~ msgstr "Индивидуальный конверт"
 
-#~ msgid "Printer offline."
-#~ msgstr "Принтер в режиме не подключен к сети."
+#~ msgid "Printed For: "
+#~ msgstr "Напечатано для: "
+
+#~ msgid "Printed From: "
+#~ msgstr "Напечатано из: "
+
+#~ msgid "Printed On: "
+#~ msgstr "Дата печати: "
+
+#~ msgid "Printer Name: "
+#~ msgstr "Имя принтера: "
 
 #~ msgid "Rank    Owner   Job     File(s)                         Total Size\n"
 #~ msgstr ""
@@ -7482,35 +7321,53 @@ msgstr "Для variable-bindings длина не установлена"
 #~ "Ранг    Владелец   Задание печати     Файл(ы)                         "
 #~ "Общий размер\n"
 
+#~ msgid "Return Address - 3/4 x 2\""
+#~ msgstr "Обратный адрес - 3/4 x 2\""
+
 #~ msgid "Running command: %s %s -N -A %s -c '%s'\n"
 #~ msgstr "Запущенная команда: %s %s -N -A %s -c «%s»\n"
 
-#~ msgid "SCSI Printer"
-#~ msgstr "Принтер SCSI"
+#~ msgid "Serial Port #%d"
+#~ msgstr "Последовательный порт #%d"
+
+#~ msgid "Shipping Address - 2 5/16 x 4\""
+#~ msgstr "Адрес доставки - 2 5/16 x 4\""
 
 #~ msgid "Tabloid (Oversize)"
 #~ msgstr "Tabloid (расширенный)"
 
-#~ msgid "The notify-user-data value is too large (%d > 63 octets)!"
-#~ msgstr "Значение notify-user-data слишком длинное (%d > 63 октетов)!"
+#~ msgid "The notify-user-data value is too large (%d > 63 octets)"
+#~ msgstr "Значение notify-user-data слишком большое(%d > 63 октета)"
+
+#~ msgid "The printer is almost out of ink."
+#~ msgstr "Заканчиваются чернила."
 
-#~ msgid "The printer or class is not shared!"
-#~ msgstr "Нет общего доступа к принтеру или классу!"
+#~ msgid "The printer is low on toner."
+#~ msgstr "Заканчивается тонер."
+
+#~ msgid "The printer is out of ink."
+#~ msgstr "Чернила закончились."
+
+#~ msgid "The printer is out of toner."
+#~ msgstr "Тонер закончился."
+
+#~ msgid "The printer or class is not shared"
+#~ msgstr "Нет общего доступа к принтеру или классу."
 
 #~ msgid "The printer or class was not found."
 #~ msgstr "Принтер или класс не найден."
 
-#~ msgid "The printer-uri attribute is required!"
-#~ msgstr "Требуется атрибут printer-uri!"
+#~ msgid "The printer-uri attribute is required"
+#~ msgstr "Требуется атрибут printer-uri"
 
-#~ msgid "Toner low."
-#~ msgstr "ТонеÑ\80 Ð·Ð°ÐºÐ°Ð½Ñ\87иваеÑ\82Ñ\81Ñ\8f."
+#~ msgid "Title: "
+#~ msgstr "Ð\97аголовок: "
 
-#~ msgid "Too many job-sheets values (%d > 2)!"
-#~ msgstr "Слишком много значений job-sheets (%d > 2)!"
+#~ msgid "Too many job-sheets values (%d > 2)"
+#~ msgstr "Слишком много значений job-sheets (%d>2)"
 
-#~ msgid "Too many printer-state-reasons values (%d > %d)!"
-#~ msgstr "Слишком много значений printer-state-reasons (%d > %d)!"
+#~ msgid "Too many printer-state-reasons values (%d > %d)"
+#~ msgstr "Слишком много значений printer-state-reasons (%d > %d)"
 
 #~ msgid "US Executive"
 #~ msgstr "US Executive"
@@ -7527,90 +7384,147 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "US Letter (Small)"
 #~ msgstr "US Letter (уменьшенный)"
 
-#~ msgid "Unable to add job for destination \"%s\"!"
-#~ msgstr "Не удается добавить задание для назначения «%s»!"
+#~ msgid "USB Serial Port #%d"
+#~ msgstr "Последовательный порт USB #%d"
+
+#~ msgid "Unable to access cupsd.conf file:"
+#~ msgstr "Не удается получить доступ к файлу «cupsd.conf»:"
+
+#~ msgid "Unable to add RSS subscription:"
+#~ msgstr "Не удается добавить подписку RSS:"
+
+#~ msgid "Unable to add class:"
+#~ msgstr "Не удается добавить класс:"
+
+#~ msgid "Unable to add job for destination \"%s\""
+#~ msgstr "Не удается добавить задание для назначения \"%s\""
+
+#~ msgid "Unable to add printer:"
+#~ msgstr "Не удается добавить принтер:"
+
+#~ msgid "Unable to allocate memory for file types"
+#~ msgstr "Не удается выделить память для типов файлов"
+
+#~ msgid "Unable to cancel RSS subscription:"
+#~ msgstr "Не удается отменить подписку RSS:"
+
+#~ msgid "Unable to change printer-is-shared attribute:"
+#~ msgstr "Не удается изменить атрибут printer-is-shared:"
+
+#~ msgid "Unable to change printer:"
+#~ msgstr "Не удается изменить принтер:"
 
-#~ msgid "Unable to allocate memory for file types!"
-#~ msgstr "Ð\9dе Ñ\83даеÑ\82Ñ\81Ñ\8f Ð²Ñ\8bделиÑ\82Ñ\8c Ð¿Ð°Ð¼Ñ\8fÑ\82Ñ\8c Ð´Ð»Ñ\8f Ñ\82ипов Ñ\84айлов!"
+#~ msgid "Unable to change server settings:"
+#~ msgstr "Ð\9dе Ñ\83даеÑ\82Ñ\81Ñ\8f Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ\82Ñ\8c Ð½Ð°Ñ\81Ñ\82Ñ\80ойки Ñ\81еÑ\80веÑ\80а:"
 
-#~ msgid "Unable to copy 64-bit CUPS printer driver files (%d)!"
-#~ msgstr "Не удается копировать 64-битовые файлы драйвера принтера CUPS (%d)!"
+#~ msgid "Unable to copy 64-bit CUPS printer driver files (%d)"
+#~ msgstr "Не удается копировать 64-битовые файлы драйвера принтера CUPS (%d)"
 
-#~ msgid "Unable to copy 64-bit Windows printer driver files (%d)!"
+#~ msgid "Unable to copy 64-bit Windows printer driver files (%d)"
 #~ msgstr ""
-#~ "Не удается копировать 64-битовые файлы драйвера принтера для Windows (%d)!"
+#~ "Не удается копировать 64-битовые файлы драйвера принтера для Windows (%d)"
 
-#~ msgid "Unable to copy CUPS printer driver files (%d)!"
-#~ msgstr "Не удается копировать файлы драйвера принтера CUPS (%d)!"
+#~ msgid "Unable to copy CUPS printer driver files (%d)"
+#~ msgstr "Не удается копировать файлы драйвера принтера CUPS (%d)"
 
-#~ msgid "Unable to copy PPD file - %s!"
-#~ msgstr "Не удается копировать PPD-файл – %s!"
+#~ msgid "Unable to copy PPD file"
+#~ msgstr "Не удается копировать PPD-файл"
 
-#~ msgid "Unable to copy PPD file!"
-#~ msgstr "Не удается копировать PPD-файл!"
+#~ msgid "Unable to copy Windows 2000 printer driver files (%d)"
+#~ msgstr "Не удается копировать файлы драйвера принтера Windows 2000 (%d)"
 
-#~ msgid "Unable to copy Windows 2000 printer driver files (%d)!"
-#~ msgstr "Не удается копировать файлы драйвера принтера Windows 2000 (%d)!"
+#~ msgid "Unable to copy Windows 9x printer driver files (%d)"
+#~ msgstr "Не удается копировать файлы драйвера принтера Windows 9x (%d)"
 
-#~ msgid "Unable to copy Windows 9x printer driver files (%d)!"
-#~ msgstr "Не удается копировать файлы драйвера принтера Windows 9x (%d)!"
+#~ msgid "Unable to create temporary file:"
+#~ msgstr "Не удается создать временный файл:"
 
-#~ msgid "Unable to copy interface script - %s!"
-#~ msgstr "Не удается копировать скрипт интерфейса – %s!"
+#~ msgid "Unable to delete class:"
+#~ msgstr "Не удается удалить класс:"
 
-#~ msgid "Unable to create printer-uri!"
-#~ msgstr "Ð\9dе Ñ\83даеÑ\82Ñ\81Ñ\8f Ñ\81оздаÑ\82Ñ\8c printer-uri!"
+#~ msgid "Unable to delete printer:"
+#~ msgstr "Ð\9dе Ñ\83даеÑ\82Ñ\81Ñ\8f Ñ\83далиÑ\82Ñ\8c Ð¿Ñ\80инÑ\82еÑ\80:"
 
-#~ msgid "Unable to edit cupsd.conf files larger than 1MB!"
-#~ msgstr "Невозможно редактировать файлы «cupsd.conf» больше 1 МБ!"
+#~ msgid "Unable to do maintenance command:"
+#~ msgstr "Не удается выполнить команду обслуживания:"
 
-#~ msgid "Unable to find destination for job!"
-#~ msgstr "Ð\9dе Ñ\83даеÑ\82Ñ\81Ñ\8f Ð½Ð°Ð¹Ñ\82и Ð½Ð°Ð·Ð½Ð°Ñ\87ение Ð´Ð»Ñ\8f Ð·Ð°Ð´Ð°Ð½Ð¸Ñ\8f!"
+#~ msgid "Unable to find printer\n"
+#~ msgstr "Ð\9dе Ñ\83даеÑ\82Ñ\81Ñ\8f Ð½Ð°Ð¹Ñ\82и Ð¿Ñ\80инÑ\82еÑ\80\n"
 
-#~ msgid "Unable to find printer!\n"
-#~ msgstr "Ð\9dе Ñ\83даеÑ\82Ñ\81Ñ\8f Ð½Ð°Ð¹Ñ\82и Ð¿Ñ\80инÑ\82еÑ\80!\n"
+#~ msgid "Unable to get class list:"
+#~ msgstr "Ð\9dе Ñ\83даеÑ\82Ñ\81Ñ\8f Ð¿Ð¾Ð»Ñ\83Ñ\87иÑ\82Ñ\8c Ñ\81пиÑ\81ок ÐºÐ»Ð°Ñ\81Ñ\81а:"
 
-#~ msgid "Unable to install Windows 2000 printer driver files (%d)!"
-#~ msgstr "Не удается установить файлы драйвера принтера Windows 2000 (%d)!"
+#~ msgid "Unable to get class status:"
+#~ msgstr "Не удается получить статус класса:"
 
-#~ msgid "Unable to install Windows 9x printer driver files (%d)!"
-#~ msgstr "Не удается установить файлы драйвера принтера Windows 9x (%d)!"
+#~ msgid "Unable to get list of printer drivers:"
+#~ msgstr "Не удается получить список драйверов принтера:"
 
-#~ msgid "Unable to open document %d in job %d!"
-#~ msgstr "Не удается открыть документ %d в задании %d!"
+#~ msgid "Unable to get printer attributes:"
+#~ msgstr "Не удается получить атрибуты принтера:"
+
+#~ msgid "Unable to get printer list:"
+#~ msgstr "Не удается получить список принтеров:"
+
+#~ msgid "Unable to get printer status:"
+#~ msgstr "Не удается получить статус принтера:"
+
+#~ msgid "Unable to install Windows 2000 printer driver files (%d)"
+#~ msgstr "Не удается установить файлы драйвера принтера Windows 2000 (%d)"
+
+#~ msgid "Unable to install Windows 9x printer driver files (%d)"
+#~ msgstr "Не удается установить файлы драйвера принтера Windows 9x (%d)"
+
+#~ msgid "Unable to modify class:"
+#~ msgstr "Не удается изменить класс:"
+
+#~ msgid "Unable to modify printer:"
+#~ msgstr "Не удается изменить принтер:"
+
+#~ msgid "Unable to open PPD file:"
+#~ msgstr "Не удается открыть PPD-файл:"
+
+#~ msgid "Unable to open document %d in job %d"
+#~ msgstr "Не удается открыть документ %d в задании %d"
+
+#~ msgid "Unable to print test page:"
+#~ msgstr "Не удается напечатать пробную страницу:"
 
 #~ msgid "Unable to run \"%s\": %s\n"
 #~ msgstr "Не удается запустить «%s»: %s\n"
 
-#~ msgid "Unable to send command to printer driver!"
-#~ msgstr "Не удается отправить команду драйверу принтера!"
+#~ msgid "Unable to set Windows printer driver (%d)"
+#~ msgstr "Не удается настроить драйвер принтера Windows (%d)"
+
+#~ msgid "Unable to set options:"
+#~ msgstr "Не удается настроить параметры:"
 
-#~ msgid "Unable to set Windows printer driver (%d)!"
-#~ msgstr "Не удается настроить драйвер принтера Windows (%d)!"
+#~ msgid "Unable to set server default:"
+#~ msgstr "Не удается назначить сервер используемым по умолчанию:"
 
-#~ msgid "Unable to use legacy USB class driver!\n"
-#~ msgstr "Ð\9dе Ñ\83даеÑ\82Ñ\81Ñ\8f Ð¸Ñ\81полÑ\8cзоваÑ\82Ñ\8c Ñ\83Ñ\81Ñ\82аÑ\80евÑ\88ий Ð´Ñ\80айвеÑ\80 ÐºÐ»Ð°Ñ\81Ñ\81а USB!\n"
+#~ msgid "Unable to upload cupsd.conf file:"
+#~ msgstr "Ð\9dе Ñ\83даеÑ\82Ñ\81Ñ\8f Ð·Ð°Ð³Ñ\80Ñ\83зиÑ\82Ñ\8c Ñ\84айл Â«cupsd.conf»:"
 
-#~ msgid "Unknown printer error (%s)!"
-#~ msgstr "Неизвестная ошибка принтера (%s)!"
+#~ msgid "Unable to use legacy USB class driver\n"
+#~ msgstr "Не удается использовать устаревший драйвер класса USB \n"
 
-#~ msgid "Unsupported character set \"%s\"!"
-#~ msgstr "Неподдерживаемый набор символов «%s»!"
+#~ msgid "Unsupported character set \"%s\""
+#~ msgstr "Неподдерживаемый набор символов \"%s\""
 
-#~ msgid "Unsupported compression \"%s\"!"
-#~ msgstr "Неподдерживаемое сжатие «%s»!"
+#~ msgid "Unsupported compression \"%s\""
+#~ msgstr "Неподдерживаемое сжатие \"%s\""
 
-#~ msgid "Unsupported compression attribute %s!"
-#~ msgstr "Неподдерживаемый атрибут сжатия %s!"
+#~ msgid "Unsupported compression attribute %s"
+#~ msgstr "Неподдерживаемый атрибут сжатия %s"
 
-#~ msgid "Unsupported format \"%s\"!"
-#~ msgstr "Неподдерживаемый формат «%s»!"
+#~ msgid "Unsupported format \"%s\""
+#~ msgstr "Неподдерживаемый формат \"%s\""
 
-#~ msgid "Unsupported format '%s'!"
-#~ msgstr "Неподдерживаемый формат «%s»!"
+#~ msgid "Unsupported format '%s'"
+#~ msgstr "Неподдерживаемый формат '%s'"
 
-#~ msgid "Unsupported format '%s/%s'!"
-#~ msgstr "Неподдерживаемый формат «%s/%s»!"
+#~ msgid "Unsupported format '%s/%s'"
+#~ msgstr "Неподдерживаемый формат '%s/%s'"
 
 #~ msgid ""
 #~ "Usage:\n"
@@ -7649,6 +7563,7 @@ msgstr "Для variable-bindings длина не установлена"
 #~ "\n"
 #~ "Options:\n"
 #~ "\n"
+#~ "  -e                   Use every filter from the PPD file\n"
 #~ "  -f filename          Set file to be converted (otherwise stdin)\n"
 #~ "  -o filename          Set file to be generated (otherwise stdout)\n"
 #~ "  -i mime/type         Set input MIME type (otherwise auto-typed)\n"
@@ -7694,7 +7609,7 @@ msgstr "Для variable-bindings длина не установлена"
 #~ "  -h cups-server   Use the named CUPS server\n"
 #~ "  -v               Be verbose (show commands)\n"
 #~ msgstr ""
-#~ "Синтаксис: cupsaddsmb [options] принтер1 ... принтерN\n"
+#~ "Синтаксис: cupsaddsmb [options] printer1 ... printerN\n"
 #~ "       cupsaddsmb [options] -a\n"
 #~ "\n"
 #~ "Параметры:\n"
@@ -7764,6 +7679,7 @@ msgstr "Для variable-bindings длина не установлена"
 #~ "Options:\n"
 #~ "\n"
 #~ "  -c cupsd.conf    Set cupsd.conf file to use\n"
+#~ "  -e               Use every filter from the PPD file\n"
 #~ "  -j job-id[,N]    Filter file N from the specified job (default is file "
 #~ "1)\n"
 #~ "  -n copies        Set number of copies\n"
@@ -7810,8 +7726,11 @@ msgstr "Для variable-bindings длина не установлена"
 #~ "\n"
 #~ "Options:\n"
 #~ "\n"
+#~ "    -I {filename,filters,none,profiles}\n"
+#~ "                         Ignore specific warnings\n"
 #~ "    -R root-directory    Set alternate root\n"
-#~ "    -W {all,none,constraints,defaults,duplex,filters,translations}\n"
+#~ "    -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,"
+#~ "translations}\n"
 #~ "                         Issue warnings instead of errors\n"
 #~ "    -q                   Run silently\n"
 #~ "    -r                   Use 'relaxed' open mode\n"
@@ -7832,6 +7751,35 @@ msgstr "Для variable-bindings длина не установлена"
 #~ "    -v                   Режим более подробного отображения\n"
 #~ "    -vv                  Режим максимально подробного отображения\n"
 
+#~ msgid ""
+#~ "Usage: ipptest [options] URI filename.test [ ... filenameN.test ]\n"
+#~ "\n"
+#~ "Options:\n"
+#~ "\n"
+#~ "-E             Test with encryption.\n"
+#~ "-V version     Set default IPP version.\n"
+#~ "-X             Produce XML instead of plain text.\n"
+#~ "-c             Send requests using chunking (default)\n"
+#~ "-d name=value  Define variable.\n"
+#~ "-f filename    Set default test file.\n"
+#~ "-i seconds     Repeat the last test file with the given interval.\n"
+#~ "-l             Send requests using content-length\n"
+#~ "-v             Show all attributes sent and received.\n"
+#~ msgstr ""
+#~ "Синтаксис: ipptest [options] URI filename.test [ ... filenameN.test ]\n"
+#~ "\n"
+#~ "Параметры:\n"
+#~ "\n"
+#~ "-E\t\tТест с шифрованием.\n"
+#~ "-V version\tЗадается стандартная версия IPP.\n"
+#~ "-X\t\tСоздание XML вместо обычного текста.\n"
+#~ "-c\t\tПередача запроса с использованием chunking (по умолчанию)-d "
+#~ "name=value\tОпределение переменной.\n"
+#~ "-f filename\tСоздание стандартного тест-файла.\n"
+#~ "-i seconds\tПовторение последнего тест-файла с заданным интервалом.\n"
+#~ "-l\t\tПередача запроса с использованием content-length.\n"
+#~ "-v\t\tПоказать все атрибуты отправленных и полученных.\n"
+
 #~ msgid "Usage: lpmove job/src dest\n"
 #~ msgstr "Синтаксис: lpmove job/src dest\n"
 
@@ -7953,11 +7901,13 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "WARNING: Boolean expected for waiteof option \"%s\"\n"
 #~ msgstr "WARNING: Параметр waiteof «%s» должен иметь булево значение\n"
 
-#~ msgid "WARNING: Failed to read side-channel request!\n"
-#~ msgstr "WARNING: Не удалось прочитать запрос бокового канала!\n"
+#~ msgid "WARNING: Network host '%s' is busy; will retry in %d seconds...\n"
+#~ msgstr ""
+#~ "WARNING: Сетевой узел '%s' занят; повторить попытку через %d секунд...\n"
 
-#~ msgid "WARNING: Option \"%s\" cannot be included via IncludeFeature!\n"
-#~ msgstr "WARNING: Параметр «%s» не может быть включен через IncludeFeature!\n"
+#~ msgid "WARNING: Option \"%s\" cannot be included via IncludeFeature\n"
+#~ msgstr ""
+#~ "WARNING: Параметр \"%s\" не может быть добавлен через IncludeFeature\n"
 
 #~ msgid "WARNING: Printer not responding\n"
 #~ msgstr "WARNING: Принтер не отвечает\n"
@@ -7967,33 +7917,30 @@ msgstr "Для variable-bindings длина не установлена"
 
 #~ msgid ""
 #~ "WARNING: Remote host did not respond with command status byte after %d "
-#~ "seconds!\n"
+#~ "seconds\n"
 #~ msgstr ""
-#~ "WARNING: Удаленный хост не ответил байтом command-статуса после %d "
-#~ "секунд!\n"
+#~ "WARNING: Удаленный хост не отвечает на команду в течение %d секунд\n"
 
 #~ msgid ""
 #~ "WARNING: Remote host did not respond with control status byte after %d "
-#~ "seconds!\n"
+#~ "seconds\n"
 #~ msgstr ""
-#~ "WARNING: Ð£Ð´Ð°Ð»ÐµÐ½Ð½Ñ\8bй Ñ\85оÑ\81Ñ\82 Ð½Ðµ Ð¾Ñ\82веÑ\82ил Ð±Ð°Ð¹Ñ\82ом control-Ñ\81Ñ\82аÑ\82Ñ\83Ñ\81а Ð¿Ð¾Ñ\81ле %d "
-#~ "Ñ\81екÑ\83нд!\n"
+#~ "WARNING: Ð£Ð´Ð°Ð»ÐµÐ½Ð½Ñ\8bй Ñ\85оÑ\81Ñ\82 Ð½Ðµ Ð¾Ñ\82веÑ\87аеÑ\82 Ð½Ð° Ñ\83пÑ\80авлÑ\8fÑ\8eÑ\89Ñ\83Ñ\8e Ð¿Ð¾Ñ\81ледоваÑ\82елÑ\8cноÑ\81Ñ\82Ñ\8c Ð² "
+#~ "Ñ\82еÑ\87ение %d Ñ\81екÑ\83нд\n"
 
 #~ msgid ""
 #~ "WARNING: Remote host did not respond with data status byte after %d "
-#~ "seconds!\n"
+#~ "seconds\n"
 #~ msgstr ""
-#~ "WARNING: Удаленный хост не ответил байтом data-статуса после %d секунд!\n"
-
-#~ msgid "WARNING: SCSI command timed out (%d); retrying...\n"
-#~ msgstr "WARNING: Время команды SCSI истекло (%d). Повтор попытки…\n"
+#~ "WARNING: Удаленный хост не отвечает при передачи данных в течение %d "
+#~ "секунд\n"
 
 #~ msgid ""
 #~ "WARNING: This document does not conform to the Adobe Document Structuring "
-#~ "Conventions and may not print correctly!\n"
+#~ "Conventions and may not print correctly\n"
 #~ msgstr ""
 #~ "WARNING: Этот документ не соответствует Adobe Document Structuring "
-#~ "Conventions и может быть напечатан неправильно!\n"
+#~ "Conventions и может быть напечатан неправильно\n"
 
 #~ msgid "WARNING: Unable to open \"%s:%s\": %s\n"
 #~ msgstr "WARNING: Не удается открыть «%s:%s»: %s\n"
@@ -8007,27 +7954,20 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "WARNING: Unknown PAP packet of type %d\n"
 #~ msgstr "WARNING: Неизвестный PAP-пакет типа %d\n"
 
-#~ msgid "WARNING: Unknown choice \"%s\" for option \"%s\"!\n"
-#~ msgstr "WARNING: Неизвестный выбор «%s» для параметра «%s»!\n"
+#~ msgid "WARNING: Unknown choice \"%s\" for option \"%s\"\n"
+#~ msgstr "WARNING: Неизвестный выбор \"%s\" для параметра \"%s\"\n"
 
-#~ msgid "WARNING: Unknown option \"%s\"!\n"
-#~ msgstr "WARNING: Неизвестный параметр «%s»!\n"
+#~ msgid "WARNING: Unknown option \"%s\"\n"
+#~ msgstr "WARNING: Неизвестный параметр \"%s\"\n"
 
-#~ msgid "WARNING: Unsupported baud rate %s!\n"
-#~ msgstr "WARNING: Неподдерживаемая скорость передачи данных в бодах %s!\n"
+#~ msgid "WARNING: Unsupported baud rate %s\n"
+#~ msgstr "WARNING: Неподдерживаемая скорость передачи данных в бодах %s\n"
 
 #~ msgid "WARNING: number expected for status option \"%s\"\n"
 #~ msgstr "WARNING: Параметр статуса «%s» должен иметь числовое значение\n"
 
-#~ msgid ""
-#~ "WARNING: recoverable: Network host '%s' is busy; will retry in %d "
-#~ "seconds...\n"
-#~ msgstr ""
-#~ "WARNING: Восстанавливаемо. Хост сети «%s» занят. Попытка будет повторена "
-#~ "через %d сек…\n"
-
-#~ msgid "Warning, no Windows 2000 printer drivers are installed!"
-#~ msgstr "Внимание! Нет установленных драйверов принтера Windows 2000!"
+#~ msgid "Warning, no Windows 2000 printer drivers are installed"
+#~ msgstr "WARNING: Драйверы принтера Windows 2000 не установлены"
 
 #~ msgid "You4 Envelope"
 #~ msgstr "Конверт You4"
@@ -8042,40 +7982,37 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "cupsctl: Unable to connect to server: %s\n"
 #~ msgstr "cupsctl: Не удается подключиться к серверу: %s\n"
 
-#~ msgid "cupsctl: Unknown option \"%s\"!\n"
-#~ msgstr "cupsctl: Неизвестный параметр «%s»!\n"
+#~ msgid "cupsctl: Unknown option \"%s\"\n"
+#~ msgstr "cupsctl: Неизвестный параметр \"%s\"\n"
 
-#~ msgid "cupsctl: Unknown option \"-%c\"!\n"
-#~ msgstr "cupsctl: Неизвестный параметр «-%c»!\n"
+#~ msgid "cupsctl: Unknown option \"-%c\"\n"
+#~ msgstr "cupsctl: Неизвестный параметр \"-%c\"\n"
 
-#~ msgid "cupsd: Expected config filename after \"-c\" option!\n"
-#~ msgstr "cupsd: Ожидаемое имя файла конфигурации после параметра «-c»!\n"
+#~ msgid "cupsd: Expected config filename after \"-c\" option\n"
+#~ msgstr "cupsd: Ожидаемое имя файла конфигурации после параметра \"-с\"\n"
 
-#~ msgid "cupsd: Unable to get current directory!\n"
-#~ msgstr "cupsd: Не удается определить текущий каталог!\n"
+#~ msgid "cupsd: Unable to get current directory\n"
+#~ msgstr "cupsd: Не удается определить текущий каталог\n"
 
-#~ msgid "cupsd: Unknown argument \"%s\" - aborting!\n"
-#~ msgstr "cupsd: Неизвестный аргумент «%s» – отмена!\n"
+#~ msgid "cupsd: Unknown argument \"%s\" - aborting\n"
+#~ msgstr "cupsd: Неизвестный аргумент \"%s\" - отмена\n"
 
-#~ msgid "cupsd: Unknown option \"%c\" - aborting!\n"
-#~ msgstr "cupsd: Неизвестный параметр «%c» – отмена!\n"
+#~ msgid "cupsd: Unknown option \"%c\" - aborting\n"
+#~ msgstr "cupsd: Неизвестный параметр \"%c\" - отмена\n"
 
 #~ msgid "cupsd: launchd(8) support not compiled in, running in normal mode.\n"
 #~ msgstr ""
 #~ "cupsd: Поддержка launchd(8) не скомпилирована, работа в нормальном "
 #~ "режиме.\n"
 
-#~ msgid "cupsfilter: Invalid document number %d!\n"
-#~ msgstr "cupsfilter: Недопустимый номер документа %d!\n"
+#~ msgid "cupsfilter: Invalid document number %d\n"
+#~ msgstr "cupsfilter: Недопустимый номер документа %d\n"
 
-#~ msgid "cupsfilter: Invalid job ID %d!\n"
-#~ msgstr "cupsfilter: Недопустимый ID задания %d!\n"
+#~ msgid "cupsfilter: Invalid job ID %d\n"
+#~ msgstr "cupsfilter: Недопустимый ID задания %d\n"
 
-#~ msgid "cupsfilter: Only one filename can be specified!\n"
-#~ msgstr "cupsfilter: Только одно имя файла может быть указано!\n"
-
-#~ msgid "cupsfilter: Unable to create temporary file: %s\n"
-#~ msgstr "cupsfilter: Не удается создать временный файл: %s\n"
+#~ msgid "cupsfilter: Only one filename can be specified\n"
+#~ msgstr "cupsfilter: Может быть указано только одно имя файла\n"
 
 #~ msgid "cupsfilter: Unable to get job file - %s\n"
 #~ msgstr "cupsfilter: Не удается получить файл задания - %s\n"
@@ -8095,63 +8032,96 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "help\t\tget help on commands\n"
 #~ msgstr "справка\t\tполучить справку о командах\n"
 
-#~ msgid "job-printer-uri attribute missing!"
-#~ msgstr "Атрибут job-printer-uri отсутствует!"
+#~ msgid "ipptest: \"-i\" is incompatible with \"-x\".\n"
+#~ msgstr "ipptest: \"-i\" несовместимо с \"-x\".\n"
 
-#~ msgid "lpadmin: Class name can only contain printable characters!\n"
-#~ msgstr "lpadmin: Имя класса может содержать только печатные символы!\n"
+#~ msgid "ipptest: Bad URI - %s.\n"
+#~ msgstr "ipptest: Неверный URI - %s.\n"
 
-#~ msgid "lpadmin: Expected PPD after '-P' option!\n"
-#~ msgstr "lpadmin: После параметра «-P» должен быть указан PPD!\n"
+#~ msgid "ipptest: Bad version %s for \"-V\".\n"
+#~ msgstr "ipptest: Неверная версия %s для \"-V\".\n"
 
-#~ msgid "lpadmin: Expected allow/deny:userlist after '-u' option!\n"
-#~ msgstr ""
-#~ "lpadmin: После параметра «-u» должен быть указан allow/deny:userlist!\n"
+#~ msgid "ipptest: May only specify a single URI.\n"
+#~ msgstr "ipptest: Может быть определен лишь один URI.\n"
 
-#~ msgid "lpadmin: Expected class after '-r' option!\n"
-#~ msgstr "lpadmin: После параметра «-r» должен быть указан класс!\n"
+#~ msgid "ipptest: Missing filename for \"-f\".\n"
+#~ msgstr "ipptest: Не определено имя файла для \"-f\".\n"
 
-#~ msgid "lpadmin: Expected class name after '-c' option!\n"
-#~ msgstr "lpadmin: После параметра «-c» должно быть указано имя класса!\n"
+#~ msgid "ipptest: Missing name=value for \"-d\".\n"
+#~ msgstr "ipptest: Не определено name=value для \"-d\".\n"
 
-#~ msgid "lpadmin: Expected description after '-D' option!\n"
-#~ msgstr "lpadmin: После параметра «-D» должно идти описание!\n"
+#~ msgid "ipptest: Missing seconds for \"-i\".\n"
+#~ msgstr "ipptest: Не указаны секунды для \"-i\".\n"
 
-#~ msgid "lpadmin: Expected device URI after '-v' option!\n"
-#~ msgstr "lpadmin: После параметра «-v» должен быть указан URI устройства!\n"
+#~ msgid "ipptest: Missing version for \"-V\".\n"
+#~ msgstr "ipptest: Не определена версия для \"-V\".\n"
 
-#~ msgid "lpadmin: Expected file type(s) after '-I' option!\n"
-#~ msgstr "lpadmin: После параметра «-I» должны быть указаны типы файлов!\n"
+#~ msgid "ipptest: Only http, https, and ipp URIs are supported."
+#~ msgstr "ipptest: Поддерживаются только http, https и ipp URI."
 
-#~ msgid "lpadmin: Expected hostname after '-h' option!\n"
-#~ msgstr "lpadmin: После параметра «-h» должно быть указано имя хоста!\n"
+#~ msgid "ipptest: URI required before test file."
+#~ msgstr "ipptest: Необходим URI перед указанием тест-файла."
 
-#~ msgid "lpadmin: Expected interface after '-i' option!\n"
-#~ msgstr "lpadmin: После параметра «-i» должен быть указан интерфейс!\n"
+#~ msgid "ipptest: Unknown option \"-%c\".\n"
+#~ msgstr "ipptest: Неизвестный параметр \"-%c\".\n"
 
-#~ msgid "lpadmin: Expected location after '-L' option!\n"
-#~ msgstr "lpadmin: После параметра «-L» должно быть указано местоположение!\n"
+#~ msgid "job-printer-uri attribute missing"
+#~ msgstr "Атрибут job-printer-uri отсутствует."
 
-#~ msgid "lpadmin: Expected model after '-m' option!\n"
-#~ msgstr "lpadmin: Ð\9fоÑ\81ле Ð¿Ð°Ñ\80амеÑ\82Ñ\80а Â«-m» Ð´Ð¾Ð»Ð¶Ð½Ð° Ð±Ñ\8bÑ\82Ñ\8c Ñ\83казана Ð¼Ð¾Ð´ÐµÐ»Ñ\8c!\n"
+#~ msgid "lpadmin: Class name can only contain printable characters\n"
+#~ msgstr "lpadmin: Ð\98мÑ\8f ÐºÐ»Ð°Ñ\81Ñ\81а Ð¼Ð¾Ð¶ÐµÑ\82 Ñ\81одеÑ\80жаÑ\82Ñ\8c Ñ\82олÑ\8cко Ð¿ÐµÑ\87аÑ\82нÑ\8bе Ñ\81имволÑ\8b\n"
 
-#~ msgid "lpadmin: Expected name=value after '-o' option!\n"
+#~ msgid "lpadmin: Expected PPD after '-P' option\n"
+#~ msgstr "lpadmin: После параметра '-P' должен быть указан PPD\n"
+
+#~ msgid "lpadmin: Expected allow/deny:userlist after '-u' option\n"
 #~ msgstr ""
-#~ "lpadmin: После параметра «-o» должно быть указано значение вида "
-#~ "name=value!\n"
+#~ "lpadmin: После параметра '-u' должен быть указан allow/deny:userlist.\n"
+
+#~ msgid "lpadmin: Expected class after '-r' option\n"
+#~ msgstr "lpadmin: После параметра '-r' должно быть указано имя класса\n"
 
-#~ msgid "lpadmin: Expected printer after '-p' option!\n"
-#~ msgstr "lpadmin: После параметра «-p» должен быть указан принтер!\n"
+#~ msgid "lpadmin: Expected class name after '-c' option\n"
+#~ msgstr "lpadmin: После параметра '-c' должно быть указано имя группы\n"
 
-#~ msgid "lpadmin: Expected printer name after '-d' option!\n"
-#~ msgstr "lpadmin: После параметра «-d» должно быть указано имя принтера!\n"
+#~ msgid "lpadmin: Expected description after '-D' option\n"
+#~ msgstr "lpadmin: После параметра '-D' должно быть указано описание\n"
 
-#~ msgid "lpadmin: Expected printer or class after '-x' option!\n"
+#~ msgid "lpadmin: Expected device URI after '-v' option\n"
+#~ msgstr "lpadmin: После параметра '-v' должно быть указано URI\n"
+
+#~ msgid "lpadmin: Expected file type(s) after '-I' option\n"
 #~ msgstr ""
-#~ "lpadmin: После параметра «-x» должен быть указан принтер или класс!\n"
+#~ "lpadmin: После параметра '-I' должен(-ны) быть указан(-ы) тип(-ы) файла(-"
+#~ "ов)\n"
+
+#~ msgid "lpadmin: Expected hostname after '-h' option\n"
+#~ msgstr "lpadmin: После параметра '-h' должно быть указано имя хоста\n"
+
+#~ msgid "lpadmin: Expected interface after '-i' option\n"
+#~ msgstr "lpadmin: После параметра '-i' должен быть указан интерфейс.\n"
+
+#~ msgid "lpadmin: Expected location after '-L' option\n"
+#~ msgstr "lpadmin: После параметра '-L' должно быть указано местоположение\n"
 
-#~ msgid "lpadmin: No member names were seen!\n"
-#~ msgstr "lpadmin: Имена участников не обнаружены!\n"
+#~ msgid "lpadmin: Expected model after '-m' option\n"
+#~ msgstr "lpadmin: После параметра '-m'должна быть указана модель\n"
+
+#~ msgid "lpadmin: Expected name=value after '-o' option\n"
+#~ msgstr "lpadmin: После параметра '-o' должно быть указано name=value\n"
+
+#~ msgid "lpadmin: Expected printer after '-p' option\n"
+#~ msgstr "lpadmin: После параметра '-p' должен быть указан принтер\n"
+
+#~ msgid "lpadmin: Expected printer name after '-d' option\n"
+#~ msgstr "lpadmin: После параметра '-d' должно быть указано имя принтера\n"
+
+#~ msgid "lpadmin: Expected printer or class after '-x' option\n"
+#~ msgstr ""
+#~ "lpadmin: После параметра '-x' должен быть указан принтер или класс\n"
+
+#~ msgid "lpadmin: No member names were seen\n"
+#~ msgstr "lpadmin: Имена пользователей не были найдены\n"
 
 #~ msgid "lpadmin: Printer %s is already a member of class %s.\n"
 #~ msgstr "lpadmin: Принтер %s уже является членом класса %s.\n"
@@ -8159,25 +8129,19 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "lpadmin: Printer %s is not a member of class %s.\n"
 #~ msgstr "lpadmin: Принтер %s не является членом класса %s.\n"
 
-#~ msgid "lpadmin: Printer name can only contain printable characters!\n"
-#~ msgstr "lpadmin: Имя принтера может содержать только печатные символы!\n"
+#~ msgid "lpadmin: Printer name can only contain printable characters\n"
+#~ msgstr "lpadmin: Имя принтера может содержать только печатные принтеры\n"
 
 #~ msgid ""
 #~ "lpadmin: Unable to add a printer to the class:\n"
-#~ "         You must specify a printer name first!\n"
+#~ "         You must specify a printer name first\n"
 #~ msgstr ""
-#~ "lpadmin: Ð\9dе Ñ\83даеÑ\82Ñ\81Ñ\8f Ð´Ð¾Ð±Ð°Ð²Ð¸Ñ\82Ñ\8c Ð¿Ñ\80инÑ\82еÑ\80 Ðº ÐºÐ»Ð°Ñ\81Ñ\81Ñ\83:\n"
-#~ "         Необходимо сначала указать имя принтера!\n"
+#~ "lpadmin: Ð\9dе Ñ\83даеÑ\82Ñ\81Ñ\8f Ð´Ð¾Ð±Ð°Ð²Ð¸Ñ\82Ñ\8c Ð¿Ñ\80инÑ\82еÑ\80 Ð² ÐºÐ»Ð°Ñ\81Ñ\81:\n"
+#~ "\t  Необходимо сначала указать имя принтера\n"
 
 #~ msgid "lpadmin: Unable to connect to server: %s\n"
 #~ msgstr "lpadmin: Не удается подключиться к серверу: %s\n"
 
-#~ msgid "lpadmin: Unable to create temporary file - %s\n"
-#~ msgstr "lpadmin: Не удается создать временный файл – %s\n"
-
-#~ msgid "lpadmin: Unable to create temporary file: %s\n"
-#~ msgstr "lpadmin: Не удается создать временный файл: %s\n"
-
 #~ msgid "lpadmin: Unable to open PPD file \"%s\" - %s\n"
 #~ msgstr "lpadmin: Не удается открыть PPD-файл «%s» – %s\n"
 
@@ -8186,140 +8150,139 @@ msgstr "Для variable-bindings длина не установлена"
 
 #~ msgid ""
 #~ "lpadmin: Unable to remove a printer from the class:\n"
-#~ "         You must specify a printer name first!\n"
+#~ "         You must specify a printer name first\n"
 #~ msgstr ""
 #~ "lpadmin: Не удается удалить принтер из класса:\n"
-#~ "         Необходимо сначала указать имя принтера!\n"
+#~ "\t  Необходимо сначала указать имя принтера\n"
 
 #~ msgid ""
 #~ "lpadmin: Unable to set the PPD file:\n"
-#~ "         You must specify a printer name first!\n"
+#~ "         You must specify a printer name first\n"
 #~ msgstr ""
 #~ "lpadmin: Не удается настроить PPD-файл:\n"
-#~ "         Необходимо сначала указать имя принтера!\n"
+#~ "\t  Необходимо сначала указать имя принтера\n"
 
 #~ msgid ""
 #~ "lpadmin: Unable to set the device URI:\n"
-#~ "         You must specify a printer name first!\n"
+#~ "         You must specify a printer name first\n"
 #~ msgstr ""
-#~ "lpadmin: Ð\9dе удается настроить URI устройства:\n"
-#~ "         Необходимо сначала указать имя принтера!\n"
+#~ "lpadmin: Ð½е удается настроить URI устройства:\n"
+#~ "\t  Необходимо сначала указать имя принтера\n"
 
 #~ msgid ""
 #~ "lpadmin: Unable to set the interface script or PPD file:\n"
-#~ "         You must specify a printer name first!\n"
+#~ "         You must specify a printer name first\n"
 #~ msgstr ""
 #~ "lpadmin: Не удается настроить скрипт интерфейса или PPD-файл:\n"
-#~ "         Необходимо сначала указать имя принтера!\n"
+#~ "\t  Необходимо сначала указать имя принтера\n"
 
 #~ msgid ""
 #~ "lpadmin: Unable to set the interface script:\n"
-#~ "         You must specify a printer name first!\n"
+#~ "         You must specify a printer name first\n"
 #~ msgstr ""
-#~ "lpadmin: Ð\9dе удается настроить скрипт интерфейса:\n"
-#~ "         Необходимо сначала указать имя принтера!\n"
+#~ "lpadmin: Ð½е удается настроить скрипт интерфейса:\n"
+#~ "\t  Необходимо сначала указать имя принтера\n"
 
 #~ msgid ""
 #~ "lpadmin: Unable to set the printer description:\n"
-#~ "         You must specify a printer name first!\n"
+#~ "         You must specify a printer name first\n"
 #~ msgstr ""
 #~ "lpadmin: Не удается настроить описание принтера:\n"
-#~ "         Необходимо сначала указать имя принтера!\n"
+#~ "\t  Необходимо сначала указать имя принтера\n"
 
 #~ msgid ""
 #~ "lpadmin: Unable to set the printer location:\n"
-#~ "         You must specify a printer name first!\n"
+#~ "         You must specify a printer name first\n"
 #~ msgstr ""
 #~ "lpadmin: Не удается настроить размещение принтера:\n"
-#~ "         Необходимо сначала указать имя принтера!\n"
+#~ "\t  Необходимо сначала указать имя принтера\n"
 
 #~ msgid ""
 #~ "lpadmin: Unable to set the printer options:\n"
-#~ "         You must specify a printer name first!\n"
+#~ "         You must specify a printer name first\n"
 #~ msgstr ""
 #~ "lpadmin: Не удается настроить параметры принтера:\n"
-#~ "         Необходимо сначала указать имя принтера!\n"
+#~ "\t  Необходимо сначала указать имя принтера\n"
 
-#~ msgid "lpadmin: Unknown allow/deny option \"%s\"!\n"
-#~ msgstr "lpadmin: Неизвестный параметр allow/deny «%s»!\n"
+#~ msgid "lpadmin: Unknown allow/deny option \"%s\"\n"
+#~ msgstr "lpadmin: Неизвестный параметр allow/deny \"%s\"\n"
 
-#~ msgid "lpadmin: Unknown argument '%s'!\n"
-#~ msgstr "lpadmin: Неизвестный аргумент «%s»!\n"
+#~ msgid "lpadmin: Unknown argument '%s'\n"
+#~ msgstr "lpadmin: Неизвестный аргумент '%s'\n"
 
-#~ msgid "lpadmin: Unknown option '%c'!\n"
-#~ msgstr "lpadmin: Неизвестный параметр «%c»!\n"
+#~ msgid "lpadmin: Unknown option '%c'\n"
+#~ msgstr "lpadmin: Неизвестный параметр '%c'\n"
 
-#~ msgid "lpadmin: Warning - content type list ignored!\n"
-#~ msgstr "lpadmin: Внимание – список типов контента пропущен!\n"
+#~ msgid "lpadmin: Warning - content type list ignored\n"
+#~ msgstr "lpadmin: Warning - список типов контента пропущен\n"
 
-#~ msgid "lpinfo: Expected 1284 device ID string after --device-id!\n"
-#~ msgstr "lpinfo: После --device-id должна идти строка ID устройства 1284!\n"
+#~ msgid "lpinfo: Expected 1284 device ID string after --device-id\n"
+#~ msgstr "lpinfo: После --device-id должна идти строка ID устройства 1284\n"
 
-#~ msgid "lpinfo: Expected language after --language!\n"
-#~ msgstr "lpinfo: После –language должен быть указан язык!\n"
+#~ msgid "lpinfo: Expected language after --language\n"
+#~ msgstr "lpinfo: После --language необходимо указать язык\n"
 
-#~ msgid "lpinfo: Expected make and model after --make-and-model!\n"
-#~ msgstr ""
-#~ "lpinfo: После --make-and-model должна быть указана марка и модель!\n"
+#~ msgid "lpinfo: Expected make and model after --make-and-model\n"
+#~ msgstr "lpinfo: После --make-and-model должна быть указана марка и модель\n"
 
-#~ msgid "lpinfo: Expected product string after --product!\n"
-#~ msgstr "lpinfo: После –product должна идти строка продукта!\n"
+#~ msgid "lpinfo: Expected product string after --product\n"
+#~ msgstr "lpinfo: После --product должна идти строка продукта\n"
 
-#~ msgid "lpinfo: Expected scheme list after --exclude-schemes!\n"
-#~ msgstr "lpinfo: После --exclude-schemes должен идти список схем!\n"
+#~ msgid "lpinfo: Expected scheme list after --exclude-schemes\n"
+#~ msgstr "lpinfo: После --exclude-schemes должен идти список схем\n"
 
-#~ msgid "lpinfo: Expected scheme list after --include-schemes!\n"
-#~ msgstr "lpinfo: После --ixclude-schemes должен идти список схем!\n"
+#~ msgid "lpinfo: Expected scheme list after --include-schemes\n"
+#~ msgstr "lpinfo: После --include-schemes должен идти список схем\n"
 
-#~ msgid "lpinfo: Expected timeout after --timeout!\n"
-#~ msgstr "lpinfo: После –timeout должно быть указано время ожидания!\n"
+#~ msgid "lpinfo: Expected timeout after --timeout\n"
+#~ msgstr "lpinfo: После --timeout должно быть указано время ожидания\n"
 
-#~ msgid "lpinfo: Unknown argument '%s'!\n"
-#~ msgstr "lpinfo: Неизвестный аргумент «%s»!\n"
+#~ msgid "lpinfo: Unknown argument '%s'\n"
+#~ msgstr "lpinfo: Неизвестный аргумент '%s'\n"
 
-#~ msgid "lpinfo: Unknown option '%c'!\n"
-#~ msgstr "lpinfo: Неизвестный параметр «%c»!\n"
+#~ msgid "lpinfo: Unknown option '%c'\n"
+#~ msgstr "lpinfo: Неизвестный параметр '%c'\n"
 
-#~ msgid "lpinfo: Unknown option '%s'!\n"
-#~ msgstr "lpinfo: Неизвестный параметр «%s»!\n"
+#~ msgid "lpinfo: Unknown option '%s'\n"
+#~ msgstr "lpinfo: Неизвестный параметр '%s'\n"
 
 #~ msgid "lpmove: Unable to connect to server: %s\n"
 #~ msgstr "lpmove: Не удается подключиться к серверу: %s\n"
 
-#~ msgid "lpmove: Unknown argument '%s'!\n"
-#~ msgstr "lpmove: Неизвестный аргумент «%s»!\n"
+#~ msgid "lpmove: Unknown argument '%s'\n"
+#~ msgstr "lpmove: Неизвестный аргумент '%s'\n"
 
-#~ msgid "lpmove: Unknown option '%c'!\n"
-#~ msgstr "lpmove: Неизвестный параметр «%c»!\n"
+#~ msgid "lpmove: Unknown option '%c'\n"
+#~ msgstr "lpmove: Неизвестный параметр '%c'\n"
 
-#~ msgid "lpoptions: No printers!?!\n"
-#~ msgstr "lpoptions: Нет принтеров!?!\n"
+#~ msgid "lpoptions: No printers\n"
+#~ msgstr "lpoptions: Нет принтеров?!\n"
 
 #~ msgid "lpoptions: Unable to add printer or instance: %s\n"
 #~ msgstr ""
-#~ "lpoptions: Ð\9dе Ñ\83даеÑ\82Ñ\81Ñ\8f Ð´Ð¾Ð±Ð°Ð²Ð¸Ñ\82Ñ\8c Ð¿Ñ\80инÑ\82еÑ\80 Ð¸Ð»Ð¸ Ð¿Ñ\80едÑ\81Ñ\82авиÑ\82елÑ\8c класса: %s\n"
+#~ "lpoptions: Ð\9dе Ñ\83даеÑ\82Ñ\81Ñ\8f Ð´Ð¾Ð±Ð°Ð²Ð¸Ñ\82Ñ\8c Ð¿Ñ\80инÑ\82еÑ\80 Ð¸Ð»Ð¸ Ð¿Ñ\80едÑ\81Ñ\82авиÑ\82елÑ\8f класса: %s\n"
 
 #~ msgid "lpoptions: Unable to get PPD file for %s: %s\n"
 #~ msgstr "lpoptions: Не удается получить PPD-файл для %s: %s\n"
 
-#~ msgid "lpoptions: Unable to open PPD file for %s!\n"
-#~ msgstr "lpoptions: Не удается открыть PPD-файл для %s!\n"
+#~ msgid "lpoptions: Unable to open PPD file for %s\n"
+#~ msgstr "lpoptions: Не удается открыть PPD файл для %s\n"
 
-#~ msgid "lpoptions: Unknown printer or class!\n"
-#~ msgstr "lpoptions: Неизвестный принтер или класс!\n"
+#~ msgid "lpoptions: Unknown printer or class\n"
+#~ msgstr "lpoptions: Неизвестный принтер или класс\n"
 
-#~ msgid "lppasswd: Only root can add or delete passwords!\n"
+#~ msgid "lppasswd: Only root can add or delete passwords\n"
 #~ msgstr ""
-#~ "lppasswd: Только пользователь root может добавлять или удалять пароли!\n"
+#~ "lppasswd: Только пользователь root может добавлять или удалять пароли\n"
 
-#~ msgid "lppasswd: Password file busy!\n"
-#~ msgstr "lppasswd: Файл пароля занят!\n"
+#~ msgid "lppasswd: Password file busy\n"
+#~ msgstr "lppasswd: Файл пароля занят\n"
 
-#~ msgid "lppasswd: Password file not updated!\n"
-#~ msgstr "lppasswd: Файл пароля не обновлен!\n"
+#~ msgid "lppasswd: Password file not updated\n"
+#~ msgstr "lppasswd: Файл пароля не обновлен"
 
-#~ msgid "lppasswd: Sorry, password doesn't match!\n"
-#~ msgstr "lppasswd: Ð\9fаÑ\80олÑ\8c Ð½Ðµ Ð¿Ð¾Ð´Ñ\85одиÑ\82!\n"
+#~ msgid "lppasswd: Sorry, password doesn't match\n"
+#~ msgstr "lppasswd: Ð\9fаÑ\80олÑ\8c Ð½Ðµ Ð²Ñ\81Ñ\82Ñ\80еÑ\82илÑ\81Ñ\8f\n"
 
 #~ msgid ""
 #~ "lppasswd: Sorry, password rejected.\n"
@@ -8331,8 +8294,8 @@ msgstr "Для variable-bindings длина не установлена"
 #~ "Ваше имя пользователя и должен содержать по крайней мере одну букву и "
 #~ "цифру.\n"
 
-#~ msgid "lppasswd: Sorry, passwords don't match!\n"
-#~ msgstr "lppasswd: Ð\9fаÑ\80олÑ\8c Ð½Ðµ Ð¿Ð¾Ð´Ñ\85одиÑ\82!\n"
+#~ msgid "lppasswd: Sorry, passwords don't match\n"
+#~ msgstr "lppasswd: Ð\9fаÑ\80олÑ\8c Ð½Ðµ Ð²Ñ\81Ñ\82Ñ\80еÑ\82илÑ\81Ñ\8f\n"
 
 #~ msgid "lppasswd: Unable to copy password string: %s\n"
 #~ msgstr "lppasswd: Не удается копировать строку пароля: %s\n"
@@ -8353,11 +8316,11 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgstr "lppasswd: Пользователь «%s» и группа «%s» не существуют.\n"
 
 #~ msgid ""
-#~ "lpstat: error - %s environment variable names non-existent destination \"%"
-#~ "s\"!\n"
+#~ "lpstat: error - %s environment variable names non-existent destination "
+#~ "\"%s\"\n"
 #~ msgstr ""
-#~ "lpstat: Ð\9eÑ\88ибка â\80\93 %s переменная окружения указывает несуществующее "
-#~ "назначение «%s»!\n"
+#~ "lpstat: Ð¾Ñ\88ибка - %s переменная окружения указывает несуществующее "
+#~ "назначение \"%s\"\n"
 
 #~ msgid "members of class %s:\n"
 #~ msgstr "члены класса %s:\n"
@@ -8368,17 +8331,17 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "no system default destination\n"
 #~ msgstr "нет назначения системы по умолчанию\n"
 
-#~ msgid "notify-events not specified!"
-#~ msgstr "notify-events не указаны!"
+#~ msgid "notify-events not specified"
+#~ msgstr "notify-events не указаны"
 
-#~ msgid "notify-recipient-uri URI \"%s\" is already used!"
-#~ msgstr "URI-адрес notify-recipient-uri «%s» уже используется!"
+#~ msgid "notify-recipient-uri URI \"%s\" is already used"
+#~ msgstr "notify-recipient-uri URI \"%s\" уже используется"
 
-#~ msgid "notify-recipient-uri URI \"%s\" uses unknown scheme!"
-#~ msgstr "URI-адрес notify-recipient-uri «%s» использует неизвестную схему!"
+#~ msgid "notify-recipient-uri URI \"%s\" uses unknown scheme"
+#~ msgstr "notify-recipient-uri URI \"%s\" использует неизвестную схему"
 
-#~ msgid "notify-subscription-id %d no good!"
-#~ msgstr "notify-subscription-id %d неверный!"
+#~ msgid "notify-subscription-id %d no good"
+#~ msgstr "Неверный notify-subscription-id %d"
 
 #~ msgid "ppdc: Adding include directory \"%s\"...\n"
 #~ msgstr "ppdc: Добавляю каталог «%s»...\n"
@@ -8389,34 +8352,34 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "ppdc: Bad boolean value (%s) on line %d of %s.\n"
 #~ msgstr "ppdc: Недопустимое булево значение (%s) в строке %d из %s.\n"
 
-#~ msgid "ppdc: Bad resolution name \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Недопустимое имя разрешения «%s» в строке %d из %s.\n"
+#~ msgid "ppdc: Bad resolution name \"%s\" on line %d of %s\n"
+#~ msgstr "ppdc: Недопустимое имя разрешения \"%s\" в строке %d bp %s.\n"
 
-#~ msgid "ppdc: Bad status keyword %s on line %d of %s!\n"
+#~ msgid "ppdc: Bad status keyword %s on line %d of %s\n"
 #~ msgstr "ppdc: Недопустимое ключевое слово статуса %s в строке %d из %s.\n"
 
 #~ msgid "ppdc: Bad variable substitution ($%c) on line %d of %s.\n"
 #~ msgstr "ppdc: Недопустимая замена переменной ($%c) в строке %d из %s.\n"
 
-#~ msgid "ppdc: Choice found on line %d of %s with no Option!\n"
+#~ msgid "ppdc: Choice found on line %d of %s with no Option\n"
 #~ msgstr ""
-#~ "ppdc: В строке %d из %s обнаружено значение, не привязанное к параметру!\n"
+#~ "ppdc: В строке %d из %s обнаружено значение, не привязанное к параметру\n"
 
-#~ msgid "ppdc: Duplicate #po for locale %s on line %d of %s!\n"
-#~ msgstr "ppdc: Дубликат #po для региона %s в строке %d из %s!\n"
+#~ msgid "ppdc: Duplicate #po for locale %s on line %d of %s\n"
+#~ msgstr "ppdc: Дубликат #po для региона %s в строке %d из %s\n"
 
-#~ msgid "ppdc: Expected a filter definition on line %d of %s!\n"
-#~ msgstr "ppdc: В строке %d из %s должно быть определение фильтра!\n"
+#~ msgid "ppdc: Expected a filter definition on line %d of %s\n"
+#~ msgstr "ppdc: В строке %d из %s должно быть определение фильтра\n"
 
-#~ msgid "ppdc: Expected a program name on line %d of %s!\n"
-#~ msgstr "ppdc: В строке %d из %s должно быть имя программы!\n"
+#~ msgid "ppdc: Expected a program name on line %d of %s\n"
+#~ msgstr "ppdc: В строке %d из %s должно быть имя программы\n"
 
 #~ msgid "ppdc: Expected boolean value on line %d of %s.\n"
 #~ msgstr "ppdc: В строке %d из %s должно быть булево значение.\n"
 
-#~ msgid "ppdc: Expected charset after Font on line %d of %s!\n"
+#~ msgid "ppdc: Expected charset after Font on line %d of %s\n"
 #~ msgstr ""
-#~ "ppdc: После Font в строке %d из %s должен быть указан набор символов!\n"
+#~ "ppdc: После Font в строке %d из %s должен быть указан набор символов.\n"
 
 #~ msgid "ppdc: Expected choice code on line %d of %s.\n"
 #~ msgstr "ppdc: В строке %d из %s должен быть код выбора.\n"
@@ -8424,160 +8387,163 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "ppdc: Expected choice name/text on line %d of %s.\n"
 #~ msgstr "ppdc: В строке %d из %s должно быть имя/текст выбора.\n"
 
-#~ msgid "ppdc: Expected color order for ColorModel on line %d of %s!\n"
+#~ msgid "ppdc: Expected color order for ColorModel on line %d of %s\n"
 #~ msgstr ""
 #~ "ppdc: После ColorModel в строке %d из %s должна быть указана цветовая "
-#~ "схема!\n"
+#~ "схема\n"
 
-#~ msgid "ppdc: Expected colorspace for ColorModel on line %d of %s!\n"
+#~ msgid "ppdc: Expected colorspace for ColorModel on line %d of %s\n"
 #~ msgstr ""
 #~ "ppdc: Для ColorModel в строке %d из %s должно быть указано пространство "
-#~ "цветов!\n"
+#~ "цветов.\n"
 
-#~ msgid "ppdc: Expected compression for ColorModel on line %d of %s!\n"
+#~ msgid "ppdc: Expected compression for ColorModel on line %d of %s\n"
 #~ msgstr ""
-#~ "ppdc: Для ColorModel в строке %d из %s должно быть указано сжатие!\n"
+#~ "ppdc: Для ColorModel в строке %d из %s должно быть указано сжатие.\n"
 
 #~ msgid ""
-#~ "ppdc: Expected constraints string for UIConstraints on line %d of %s!\n"
+#~ "ppdc: Expected constraints string for UIConstraints on line %d of %s\n"
 #~ msgstr ""
 #~ "ppdc: Для UIConstraints в строке %d из %s должна быть указана строка "
-#~ "ограничений!\n"
+#~ "ограничений\n"
 
 #~ msgid ""
-#~ "ppdc: Expected driver type keyword following DriverType on line %d of %"
-#~ "s!\n"
+#~ "ppdc: Expected driver type keyword following DriverType on line %d of %s\n"
 #~ msgstr ""
 #~ "ppdc: После DriverType в строке %d из %s должно быть указано ключевое "
-#~ "слово типа драйвера!\n"
+#~ "слово типа драйвера.\n"
 
-#~ msgid "ppdc: Expected duplex type after Duplex on line %d of %s!\n"
+#~ msgid "ppdc: Expected duplex type after Duplex on line %d of %s\n"
 #~ msgstr ""
-#~ "ppdc: После Duplex в строке %d из %s должен быть указан тип дуплекса!\n"
+#~ "ppdc: После Duplex в строке %d из %s должен быть указан тип дуплекса.\n"
 
-#~ msgid "ppdc: Expected encoding after Font on line %d of %s!\n"
-#~ msgstr "ppdc: После Font в строке %d из %s должна быть указана кодировка!\n"
+#~ msgid "ppdc: Expected encoding after Font on line %d of %s\n"
+#~ msgstr "ppdc: После Font в строке %d из %s должна быть указана кодировка.\n"
 
-#~ msgid "ppdc: Expected filename after #po %s on line %d of %s!\n"
+#~ msgid "ppdc: Expected filename after #po %s on line %d of %s\n"
 #~ msgstr ""
-#~ "ppdc: После #po %s в строке %d из %s должно быть указано имя файла!\n"
+#~ "ppdc: После #po %s в строке %d из %s должно быть указано имя файла.\n"
 
-#~ msgid "ppdc: Expected group name/text on line %d of %s!\n"
-#~ msgstr "ppdc: Ð\92 Ñ\81Ñ\82Ñ\80оке %d Ð¸Ð· %s Ð´Ð¾Ð»Ð¶Ð½Ð¾ Ð±Ñ\8bÑ\82Ñ\8c Ñ\83казано Ð¸Ð¼Ñ\8f Ð³Ñ\80Ñ\83ппÑ\8b\82екÑ\81Ñ\82!\n"
+#~ msgid "ppdc: Expected group name/text on line %d of %s\n"
+#~ msgstr "ppdc: Ð\92 Ñ\81Ñ\82Ñ\80оке %d Ð¸Ð· %s Ð´Ð¾Ð»Ð¶Ð½Ð¾ Ð±Ñ\8bÑ\82Ñ\8c Ñ\83казанно Ð¸Ð¼Ñ\8f Ð³Ñ\80Ñ\83ппÑ\8b\82екÑ\81Ñ\82.\n"
 
-#~ msgid "ppdc: Expected include filename on line %d of %s!\n"
-#~ msgstr "ppdc: В строке %d из %s должно быть указано имя файла!\n"
+#~ msgid "ppdc: Expected include filename on line %d of %s\n"
+#~ msgstr "ppdc: В строке %d из %s должно быть указано имя файла.\n"
 
-#~ msgid "ppdc: Expected integer on line %d of %s!\n"
-#~ msgstr "ppdc: В строке %d из %s должно быть целое число!\n"
+#~ msgid "ppdc: Expected integer on line %d of %s\n"
+#~ msgstr "ppdc: В строке %d из %s должно быть целое число.\n"
 
-#~ msgid "ppdc: Expected locale after #po on line %d of %s!\n"
-#~ msgstr "ppdc: После #po в строке %d из %s должен быть указан регион!\n"
+#~ msgid "ppdc: Expected locale after #po on line %d of %s\n"
+#~ msgstr "ppdc: После #po в строке %d из %s должен быть указан регион.\n"
 
-#~ msgid "ppdc: Expected name after %s on line %d of %s!\n"
-#~ msgstr "ppdc: После %s в строке %d из %s должно быть имя!\n"
+#~ msgid "ppdc: Expected name after %s on line %d of %s\n"
+#~ msgstr "ppdc: После %s в строке %d из %s должно быть указано имя.\n"
 
-#~ msgid "ppdc: Expected name after FileName on line %d of %s!\n"
-#~ msgstr "ppdc: После FileName в строке %d из %s должно быть имя!\n"
+#~ msgid "ppdc: Expected name after FileName on line %d of %s\n"
+#~ msgstr "ppdc: После FileName в строке %d из %s должно быть указано имя.\n"
 
-#~ msgid "ppdc: Expected name after Font on line %d of %s!\n"
-#~ msgstr "ppdc: После Font в строке %d из %s должно быть имя!\n"
+#~ msgid "ppdc: Expected name after Font on line %d of %s\n"
+#~ msgstr "ppdc: После Font в строке %d из %s должно быть указано имя.\n"
 
-#~ msgid "ppdc: Expected name after Manufacturer on line %d of %s!\n"
-#~ msgstr "ppdc: После Manufacturer в строке %d из %s должно быть имя!\n"
+#~ msgid "ppdc: Expected name after Manufacturer on line %d of %s\n"
+#~ msgstr ""
+#~ "ppdc: После Manufacturer в строке %d из %s должно быть указано имя.\n"
 
-#~ msgid "ppdc: Expected name after MediaSize on line %d of %s!\n"
-#~ msgstr "ppdc: После MediaSize в строке %d из %s должно быть имя!\n"
+#~ msgid "ppdc: Expected name after MediaSize on line %d of %s\n"
+#~ msgstr "ppdc: После MediaSize в строке %d из %s должно быть указано имя.\n"
 
-#~ msgid "ppdc: Expected name after ModelName on line %d of %s!\n"
-#~ msgstr "ppdc: После ModelName в строке %d из %s должно быть имя!\n"
+#~ msgid "ppdc: Expected name after ModelName on line %d of %s\n"
+#~ msgstr "ppdc: После ModelName в строке %d из %s должно быть указано имя.\n"
 
-#~ msgid "ppdc: Expected name after PCFileName on line %d of %s!\n"
-#~ msgstr "ppdc: После PCFileName в строке %d из %s должно быть имя!\n"
+#~ msgid "ppdc: Expected name after PCFileName on line %d of %s\n"
+#~ msgstr "ppdc: После PCFileName в строке %d из %s должно быть указано имя.\n"
 
-#~ msgid "ppdc: Expected name/text after %s on line %d of %s!\n"
-#~ msgstr "ppdc: После %s в строке %d из %s должно быть имя/текст!\n"
+#~ msgid "ppdc: Expected name/text after %s on line %d of %s\n"
+#~ msgstr "ppdc: После %s в строке %d из %s должно быть указано имя/текст.\n"
 
-#~ msgid "ppdc: Expected name/text after Installable on line %d of %s!\n"
-#~ msgstr "ppdc: После Installable в строке %d из %s должно быть имя/текст!\n"
+#~ msgid "ppdc: Expected name/text after Installable on line %d of %s\n"
+#~ msgstr ""
+#~ "ppdc: После Installable в строке %d из %s должно быть указано имя/текст.\n"
 
-#~ msgid "ppdc: Expected name/text after Resolution on line %d of %s!\n"
-#~ msgstr "ppdc: После Resolution в строке %d из %s должно быть имя/текст!\n"
+#~ msgid "ppdc: Expected name/text after Resolution on line %d of %s\n"
+#~ msgstr ""
+#~ "ppdc: После Resolution в строке %d из %s должно быть указано имя/текст.\n"
 
 #~ msgid ""
-#~ "ppdc: Expected name/text combination for ColorModel on line %d of %s!\n"
-#~ msgstr "ppdc: После ColorModel в строке %d из %s должно быть имя/текст!\n"
+#~ "ppdc: Expected name/text combination for ColorModel on line %d of %s\n"
+#~ msgstr ""
+#~ "ppdc: После ColorModel в строке %d из %s должно быть указано имя/текст.\n"
 
-#~ msgid "ppdc: Expected option name/text on line %d of %s!\n"
-#~ msgstr "ppdc: В строке %d из %s должно быть указано имя параметра/текст!\n"
+#~ msgid "ppdc: Expected option name/text on line %d of %s\n"
+#~ msgstr "ppdc: В строке %d из %s должно быть указано имя параметра/текст.\n"
 
-#~ msgid "ppdc: Expected option section on line %d of %s!\n"
-#~ msgstr "ppdc: Ð\92 Ñ\81Ñ\82Ñ\80оке %d Ð¸Ð· %s Ð´Ð¾Ð»Ð¶ÐµÐ½ Ð±Ñ\8bÑ\82Ñ\8c Ñ\80аздел Ð¿Ð°Ñ\80амеÑ\82Ñ\80ов!\n"
+#~ msgid "ppdc: Expected option section on line %d of %s\n"
+#~ msgstr "ppdc: Ð\92 Ñ\81Ñ\82Ñ\80оке %d Ð¸Ð· %s Ð´Ð¾Ð»Ð¶ÐµÐ½ Ð±Ñ\8bÑ\82Ñ\8c Ñ\83казан Ñ\80аздел Ð¿Ð°Ñ\80амеÑ\82Ñ\80ов.\n"
 
-#~ msgid "ppdc: Expected option type on line %d of %s!\n"
-#~ msgstr "ppdc: В строке %d из %s должен быть указан тип параметра!\n"
+#~ msgid "ppdc: Expected option type on line %d of %s\n"
+#~ msgstr "ppdc: В строке %d из %s должен быть указан тип параметра.\n"
 
-#~ msgid "ppdc: Expected override field after Resolution on line %d of %s!\n"
+#~ msgid "ppdc: Expected override field after Resolution on line %d of %s\n"
 #~ msgstr ""
 #~ "ppdc: После Resolution в строке %d из %s должно быть поле "
-#~ "переопределения!\n"
+#~ "переопределения.\n"
 
-#~ msgid "ppdc: Expected real number on line %d of %s!\n"
-#~ msgstr "ppdc: В строке %d из %s должно быть действительное число!\n"
+#~ msgid "ppdc: Expected real number on line %d of %s\n"
+#~ msgstr "ppdc: В строке %d из %s должно быть действительное число.\n"
 
 #~ msgid ""
-#~ "ppdc: Expected resolution/mediatype following ColorProfile on line %d of %"
-#~ "s!\n"
+#~ "ppdc: Expected resolution/mediatype following ColorProfile on line %d of "
+#~ "%s\n"
 #~ msgstr ""
 #~ "ppdc: После ColorProfile в строке %d из %s должно быть указано разрешение/"
-#~ "тип носителя!\n"
+#~ "тип носителя.\n"
 
 #~ msgid ""
-#~ "ppdc: Expected resolution/mediatype following SimpleColorProfile on line %"
-#~ "d of %s!\n"
+#~ "ppdc: Expected resolution/mediatype following SimpleColorProfile on line "
+#~ "%d of %s\n"
 #~ msgstr ""
 #~ "ppdc: После SimpleColorProfile в строке %d из %s должно быть указано "
-#~ "разрешение/тип носителя!\n"
+#~ "разрешение/тип носителя.\n"
 
-#~ msgid "ppdc: Expected selector after %s on line %d of %s!\n"
-#~ msgstr "ppdc: После %s в строке %d из %s должен быть селектор!\n"
+#~ msgid "ppdc: Expected selector after %s on line %d of %s\n"
+#~ msgstr "ppdc: После %s в строке %d из %s должен быть селектор.\n"
 
-#~ msgid "ppdc: Expected status after Font on line %d of %s!\n"
-#~ msgstr "ppdc: После Font в строке %d из %s должен быть указан статус!\n"
+#~ msgid "ppdc: Expected status after Font on line %d of %s\n"
+#~ msgstr "ppdc: После Font в строке %d из %s должен быть указан статус.\n"
 
-#~ msgid "ppdc: Expected string after Copyright on line %d of %s!\n"
-#~ msgstr "ppdc: Ð\9fоÑ\81ле Copyright Ð² Ñ\81Ñ\82Ñ\80оке %d Ð¸Ð· %s Ð´Ð¾Ð»Ð¶Ð½Ð° Ð±Ñ\8bÑ\82Ñ\8c Ñ\81Ñ\82Ñ\80ока!\n"
+#~ msgid "ppdc: Expected string after Copyright on line %d of %s\n"
+#~ msgstr "ppdc: Ð\92 Ñ\81Ñ\82Ñ\80оке %d Ð¸Ð· %s Ð¿Ñ\80опÑ\83Ñ\89ено Ð·Ð½Ð°Ñ\87ение Ð¿Ð°Ñ\80амеÑ\82Ñ\80а Copyright.\n"
 
-#~ msgid "ppdc: Expected string after Version on line %d of %s!\n"
-#~ msgstr "ppdc: Ð\9fоÑ\81ле Version Ð² Ñ\81Ñ\82Ñ\80оке %d Ð¸Ð· %s Ð´Ð¾Ð»Ð¶Ð½Ð° Ð±Ñ\8bÑ\82Ñ\8c Ñ\81Ñ\82Ñ\80ока!\n"
+#~ msgid "ppdc: Expected string after Version on line %d of %s\n"
+#~ msgstr "ppdc: Ð\92 Ñ\81Ñ\82Ñ\80оке %d Ð¸Ð· %s Ð¿Ñ\80опÑ\83Ñ\89ено Ð·Ð½Ð°Ñ\87ение Ð¿Ð°Ñ\80амеÑ\82Ñ\80а Version.\n"
 
-#~ msgid "ppdc: Expected two option names on line %d of %s!\n"
-#~ msgstr "ppdc: В строке %d из %s должны быть два имени параметра!\n"
+#~ msgid "ppdc: Expected two option names on line %d of %s\n"
+#~ msgstr "ppdc: В строке %d из %s должны быть два имени параметра.\n"
 
-#~ msgid "ppdc: Expected value after %s on line %d of %s!\n"
-#~ msgstr "ppdc: После %s в строке %d из %s должно быть значение!\n"
+#~ msgid "ppdc: Expected value after %s on line %d of %s\n"
+#~ msgstr "ppdc: После %s в строке %d из %s должно быть значение.\n"
 
-#~ msgid "ppdc: Expected version after Font on line %d of %s!\n"
-#~ msgstr "ppdc: Ð\9fоÑ\81ле Font Ð² Ñ\81Ñ\82Ñ\80оке %d Ð¸Ð· %s Ð´Ð¾Ð»Ð¶Ð½Ð° Ð±Ñ\8bÑ\82Ñ\8c Ñ\83казана Ð²ÐµÑ\80Ñ\81иÑ\8f!\n"
+#~ msgid "ppdc: Expected version after Font on line %d of %s\n"
+#~ msgstr "ppdc: Ð¿Ð¾Ñ\81ле Font Ð² Ñ\81Ñ\82Ñ\80оке %d Ð¸Ð· %s Ð´Ð¾Ð»Ð¶Ð½Ð° Ð±Ñ\8bÑ\82Ñ\8c Ñ\83казана Ð²ÐµÑ\80Ñ\81иÑ\8f.\n"
 
-#~ msgid "ppdc: Invalid #include/#po filename \"%s\"!\n"
-#~ msgstr "ppdc: Неверное имя файла #include/#po «%s»!\n"
+#~ msgid "ppdc: Invalid #include/#po filename \"%s\"\n"
+#~ msgstr "ppdc: Неверное имя файла #include/#po \"%s\"\n"
 
-#~ msgid "ppdc: Invalid cost for filter on line %d of %s!\n"
-#~ msgstr "ppdc: Затраты на фильтр в строке %d из %s указаны неверно!\n"
+#~ msgid "ppdc: Invalid cost for filter on line %d of %s\n"
+#~ msgstr "ppdc: Затраты на фильтр в строке %d из %s указаны неверно.\n"
 
-#~ msgid "ppdc: Invalid empty MIME type for filter on line %d of %s!\n"
-#~ msgstr "ppdc: Недопустимый пустой MIME-тип для фильтра в строке %d из %s!\n"
+#~ msgid "ppdc: Invalid empty MIME type for filter on line %d of %s\n"
+#~ msgstr "ppdc: Недопустимый пустой MIME-тип для фильтра в строке %d из %s.\n"
 
-#~ msgid "ppdc: Invalid empty program name for filter on line %d of %s!\n"
+#~ msgid "ppdc: Invalid empty program name for filter on line %d of %s\n"
 #~ msgstr ""
-#~ "ppdc: Недопустимое пустое имя программы для фильтра в строке %d из %s!\n"
+#~ "ppdc: Недопустимое пустое имя программы для фильтра в строке %d из %s.\n"
 
-#~ msgid "ppdc: Invalid option section \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Неверный раздел параметров «%s» в строке %d из %s!\n"
+#~ msgid "ppdc: Invalid option section \"%s\" on line %d of %s\n"
+#~ msgstr "ppdc: Неверный раздел параметров \"%s\" в строке %d из %s.\n"
 
-#~ msgid "ppdc: Invalid option type \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Неверный тип параметра «%s» в строке %d из %s!\n"
+#~ msgid "ppdc: Invalid option type \"%s\" on line %d of %s\n"
+#~ msgstr "ppdc: Неверный тип параметра \"%s\" в строке %d из %s.\n"
 
 #~ msgid "ppdc: Loading driver information file \"%s\"...\n"
 #~ msgstr "ppdc: Загружаю файл с информацией о драйвере «%s»...\n"
@@ -8588,25 +8554,29 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "ppdc: Loading messages from \"%s\"...\n"
 #~ msgstr "ppdc: Загружаю сообщения из «%s»...\n"
 
-#~ msgid "ppdc: Missing #endif at end of \"%s\"!\n"
-#~ msgstr "ppdc: Отсутствует #endif в конце «%s»!\n"
+#~ msgid "ppdc: Missing #endif at end of \"%s\"\n"
+#~ msgstr "ppdc: Отсутствует #endif в конце \"%s\".\n"
+
+#~ msgid "ppdc: Missing #if on line %d of %s\n"
+#~ msgstr "ppdc: Отсутствует #if в строке %d из %s.\n"
 
-#~ msgid "ppdc: Missing #if on line %d of %s!\n"
-#~ msgstr "ppdc: Ð\9eÑ\82Ñ\81Ñ\83Ñ\82Ñ\81Ñ\82вÑ\83еÑ\82 #if Ð² Ñ\81Ñ\82Ñ\80оке %d Ð¸Ð· %s!\n"
+#~ msgid "ppdc: No message catalog provided for locale %s\n"
+#~ msgstr "ppdc: Ð\9dе Ñ\83казан ÐºÐ°Ñ\82алог Ñ\81ообÑ\89ений Ð´Ð»Ñ\8f Ñ\80егиона %s.\n"
 
-#~ msgid "ppdc: No message catalog provided for locale %s!\n"
-#~ msgstr "ppdc: Не указан каталог сообщений для региона %s!\n"
+#~ msgid "ppdc: Option %s defined in two different groups on line %d of %s\n"
+#~ msgstr ""
+#~ "ppdc: Параметр %s определен в двух разных группах в строке %d из %s.\n"
 
-#~ msgid "ppdc: Option %s redefined with a different type on line %d of %s!\n"
-#~ msgstr "ppdc: Для параметра %s определен другой тип в строке %d из %s!\n"
+#~ msgid "ppdc: Option %s redefined with a different type on line %d of %s\n"
+#~ msgstr "ppdc: Для параметра %s определен другой тип в строке %d из %s.\n"
 
-#~ msgid "ppdc: Option constraint must *name on line %d of %s!\n"
+#~ msgid "ppdc: Option constraint must *name on line %d of %s\n"
 #~ msgstr ""
-#~ "ppdc: Для ограничения параметра должно быть указано *name в строке %d из %"
-#~ "s!\n"
+#~ "ppdc: Для ограничения параметра должно быть указано *name в строке %d из "
+#~ "%s.\n"
 
-#~ msgid "ppdc: Too many nested #if's on line %d of %s!\n"
-#~ msgstr "ppdc: Слишком много вложенных операторов #if в строке %d из %s!\n"
+#~ msgid "ppdc: Too many nested #if's on line %d of %s\n"
+#~ msgstr "ppdc: Слишком много вложенных операторов #if в строке %d из %s.\n"
 
 #~ msgid "ppdc: Unable to create PPD file \"%s\" - %s.\n"
 #~ msgstr "lpadmin: Не удается создать PPD-файл «%s» – %s\n"
@@ -8620,11 +8590,11 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "ppdc: Unable to execute cupstestppd: %s\n"
 #~ msgstr "ppdc: Не удается выполнить cupstestppd: %s\n"
 
-#~ msgid "ppdc: Unable to find #po file %s on line %d of %s!\n"
-#~ msgstr "ppdc: Не удается найти файл #po %s в строке %d из %s!\n"
+#~ msgid "ppdc: Unable to find #po file %s on line %d of %s\n"
+#~ msgstr "ppdc: Не удается найти файл #po %s в строке %d из %s.\n"
 
-#~ msgid "ppdc: Unable to find include file \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Не удается найти файл «%s» в строке %d из %s!\n"
+#~ msgid "ppdc: Unable to find include file \"%s\" on line %d of %s\n"
+#~ msgstr "ppdc: Не удается найти файл \"%s\" в строке %d из %s.\n"
 
 #~ msgid "ppdc: Unable to find localization for \"%s\" - %s\n"
 #~ msgstr "ppdc: Не удается найти локализацию для «%s» - %s\n"
@@ -8635,27 +8605,29 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "ppdc: Undefined variable (%s) on line %d of %s.\n"
 #~ msgstr "ppdc: Не определена переменная (%s) в строке %d из %s.\n"
 
-#~ msgid "ppdc: Unknown driver type %s on line %d of %s!\n"
-#~ msgstr "ppdc: Неизвестный тип драйвера %s в строке %d из %s!\n"
+#~ msgid "ppdc: Unknown driver type %s on line %d of %s\n"
+#~ msgstr "ppdc: Неизвестный тип драйвера %s в строке %d из %s.\n"
 
-#~ msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Неизвестный тип дуплекса «%s» в строке %d из %s!\n"
+#~ msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s\n"
+#~ msgstr "ppdc: Неизвестный тип дуплекса \"%s\" в строке %d из %s.\n"
 
-#~ msgid "ppdc: Unknown media size \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Неизвестный размер носителя «%s» в строке %d из %s!\n"
+#~ msgid "ppdc: Unknown media size \"%s\" on line %d of %s\n"
+#~ msgstr "ppdc: Неизвестный размер носителя \"%s\" в строке %d из %s.\n"
 
-#~ msgid "ppdc: Unknown token \"%s\" seen on line %d of %s!\n"
-#~ msgstr "ppdc: Неизвестный маркер «%s» в строке %d из %s!\n"
+#~ msgid "ppdc: Unknown token \"%s\" seen on line %d of %s\n"
+#~ msgstr "ppdc: Неизвестный маркер  \"%s\" в строке %d из %s.\n"
 
 #~ msgid ""
-#~ "ppdc: Unknown trailing characters in real number \"%s\" on line %d of %"
-#~ "s!\n"
+#~ "ppdc: Unknown trailing characters in real number \"%s\" on line %d of %s\n"
 #~ msgstr ""
-#~ "ppdc: Неизвестные конечные символы в вещественном числе «%s» в строке %d "
-#~ "из %s!\n"
+#~ "ppdc: Неизвестные конечные символы в вещественном числе \"%s\" в строке "
+#~ "%d из %s.\n"
+
+#~ msgid "ppdc: Unterminated string starting with %c on line %d of %s\n"
+#~ msgstr "ppdc: Не завершена строка, начинающаяся с %c в строке %d из %s.\n"
 
-#~ msgid "ppdc: Unterminated string starting with %c on line %d of %s!\n"
-#~ msgstr "ppdc: Ð\9dе Ð·Ð°Ð²ÐµÑ\80Ñ\88ена Ñ\81Ñ\82Ñ\80ока, Ð½Ð°Ñ\87инаÑ\8eÑ\89аÑ\8fÑ\81Ñ\8f Ñ\81 %c Ð² Ñ\81Ñ\82Ñ\80оке %d Ð¸Ð· %s!\n"
+#~ msgid "ppdc: Warning - overlapping filename \"%s\".\n"
+#~ msgstr "ppdc: Ð\92нимание - Ð´Ñ\83блиÑ\80Ñ\83Ñ\8eÑ\89ееÑ\81Ñ\8f Ð¸Ð¼Ñ\8f \"%s\".\n"
 
 #~ msgid "ppdc: Writing %s...\n"
 #~ msgstr "ppdc: Записываю %s...\n"
@@ -8663,14 +8635,14 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "ppdc: Writing PPD files to directory \"%s\"...\n"
 #~ msgstr "ppdc: Записываю PPD-файлы в каталог «%s»...\n"
 
-#~ msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s!\n"
-#~ msgstr "ppdmerge: Неверное значение LanguageVersion «%s» в %s!\n"
+#~ msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s\n"
+#~ msgstr "ppdmerge: Неверное значение LanguageVersion \"%s\" в %s\n"
 
 #~ msgid "ppdmerge: Ignoring PPD file %s...\n"
 #~ msgstr "ppdmerge: Пропускаю PPD-файл %s...\n"
 
 #~ msgid "ppdmerge: Unable to backup %s to %s- %s\n"
-#~ msgstr "ppdmerge: Невозможно создать резервную копию %s на %s- %s\n"
+#~ msgstr "ppdmerge: Не удается создать резервную копию %s на %s- %s\n"
 
 #~ msgid "printer %s disabled since %s -\n"
 #~ msgstr "принтер %s отключен с момента %s -\n"
diff --git a/locale/cups_sv.po b/locale/cups_sv.po
deleted file mode 100644 (file)
index 8c83cbb..0000000
+++ /dev/null
@@ -1,8673 +0,0 @@
-msgid ""
-msgstr ""
-"Project-Id-Version: CUPS 1.4\n"
-"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2012-03-07 13:38-0800\n"
-"PO-Revision-Date: 2009-02-16 12:00-0800\n"
-"Last-Translator: Apple Inc.\n"
-"Language-Team: Apple Inc.\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: \n"
-
-msgid "\t\t(all)"
-msgstr ""
-
-msgid "\t\t(none)"
-msgstr ""
-
-#, c-format
-msgid "\t%d entries"
-msgstr ""
-
-#, c-format
-msgid "\t%s"
-msgstr ""
-
-msgid "\tAfter fault: continue"
-msgstr ""
-
-#, c-format
-msgid "\tAlerts: %s"
-msgstr ""
-
-msgid "\tBanner required"
-msgstr ""
-
-msgid "\tCharset sets:"
-msgstr ""
-
-msgid "\tConnection: direct"
-msgstr ""
-
-msgid "\tConnection: remote"
-msgstr ""
-
-msgid "\tContent types: any"
-msgstr ""
-
-msgid "\tDefault page size:"
-msgstr ""
-
-msgid "\tDefault pitch:"
-msgstr ""
-
-msgid "\tDefault port settings:"
-msgstr ""
-
-#, c-format
-msgid "\tDescription: %s"
-msgstr ""
-
-msgid "\tForm mounted:"
-msgstr ""
-
-msgid "\tForms allowed:"
-msgstr ""
-
-#, c-format
-msgid "\tInterface: %s.ppd"
-msgstr ""
-
-#, c-format
-msgid "\tInterface: %s/interfaces/%s"
-msgstr ""
-
-#, c-format
-msgid "\tInterface: %s/ppd/%s.ppd"
-msgstr ""
-
-#, c-format
-msgid "\tLocation: %s"
-msgstr ""
-
-msgid "\tOn fault: no alert"
-msgstr ""
-
-msgid "\tPrinter types: unknown"
-msgstr ""
-
-#, c-format
-msgid "\tStatus: %s"
-msgstr ""
-
-msgid "\tUsers allowed:"
-msgstr ""
-
-msgid "\tUsers denied:"
-msgstr ""
-
-msgid "\tdaemon present"
-msgstr ""
-
-msgid "\tno entries"
-msgstr ""
-
-#, c-format
-msgid "\tprinter is on device '%s' speed -1"
-msgstr ""
-
-msgid "\tprinting is disabled"
-msgstr ""
-
-msgid "\tprinting is enabled"
-msgstr ""
-
-#, c-format
-msgid "\tqueued for %s"
-msgstr ""
-
-msgid "\tqueuing is disabled"
-msgstr ""
-
-msgid "\tqueuing is enabled"
-msgstr ""
-
-msgid "\treason unknown"
-msgstr ""
-
-msgid ""
-"\n"
-"    DETAILED CONFORMANCE TEST RESULTS"
-msgstr ""
-
-msgid "                          Ignore specific warnings."
-msgstr ""
-
-msgid "                          Issue warnings instead of errors."
-msgstr ""
-
-msgid "                REF: Page 15, section 3.1."
-msgstr ""
-
-msgid "                REF: Page 15, section 3.2."
-msgstr ""
-
-msgid "                REF: Page 19, section 3.3."
-msgstr ""
-
-msgid "                REF: Page 20, section 3.4."
-msgstr ""
-
-msgid "                REF: Page 27, section 3.5."
-msgstr ""
-
-msgid "                REF: Page 42, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 16-17, section 3.2."
-msgstr ""
-
-msgid "                REF: Pages 42-45, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 45-46, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 48-49, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 52-54, section 5.2."
-msgstr ""
-
-#, c-format
-msgid "        %-39.39s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "        PASS    Default%s"
-msgstr ""
-
-msgid "        PASS    DefaultImageableArea"
-msgstr ""
-
-msgid "        PASS    DefaultPaperDimension"
-msgstr ""
-
-msgid "        PASS    FileVersion"
-msgstr ""
-
-msgid "        PASS    FormatVersion"
-msgstr ""
-
-msgid "        PASS    LanguageEncoding"
-msgstr ""
-
-msgid "        PASS    LanguageVersion"
-msgstr ""
-
-msgid "        PASS    Manufacturer"
-msgstr ""
-
-msgid "        PASS    ModelName"
-msgstr ""
-
-msgid "        PASS    NickName"
-msgstr ""
-
-msgid "        PASS    PCFileName"
-msgstr ""
-
-msgid "        PASS    PSVersion"
-msgstr ""
-
-msgid "        PASS    PageRegion"
-msgstr ""
-
-msgid "        PASS    PageSize"
-msgstr ""
-
-msgid "        PASS    Product"
-msgstr ""
-
-msgid "        PASS    ShortNickName"
-msgstr ""
-
-#, c-format
-msgid "        WARN    %s has no corresponding options."
-msgstr ""
-
-#, c-format
-msgid ""
-"        WARN    %s shares a common prefix with %s\n"
-"                REF: Page 15, section 3.2."
-msgstr ""
-
-#, c-format
-msgid ""
-"        WARN    Duplex option keyword %s may not work as expected and should "
-"be named Duplex.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-
-msgid "        WARN    File contains a mix of CR, LF, and CR LF line endings."
-msgstr ""
-
-msgid ""
-"        WARN    LanguageEncoding required by PPD 4.3 spec.\n"
-"                REF: Pages 56-57, section 5.3."
-msgstr ""
-
-#, c-format
-msgid "        WARN    Line %d only contains whitespace."
-msgstr ""
-
-msgid ""
-"        WARN    Manufacturer required by PPD 4.3 spec.\n"
-"                REF: Pages 58-59, section 5.3."
-msgstr ""
-
-msgid ""
-"        WARN    Non-Windows PPD files should use lines ending with only LF, "
-"not CR LF."
-msgstr ""
-
-#, c-format
-msgid ""
-"        WARN    Obsolete PPD version %.1f.\n"
-"                REF: Page 42, section 5.2."
-msgstr ""
-
-msgid ""
-"        WARN    PCFileName longer than 8.3 in violation of PPD spec.\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-
-msgid ""
-"        WARN    PCFileName should contain a unique filename.\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-
-msgid ""
-"        WARN    Protocols contains PJL but JCL attributes are not set.\n"
-"                REF: Pages 78-79, section 5.7."
-msgstr ""
-
-msgid ""
-"        WARN    Protocols contains both PJL and BCP; expected TBCP.\n"
-"                REF: Pages 78-79, section 5.7."
-msgstr ""
-
-msgid ""
-"        WARN    ShortNickName required by PPD 4.3 spec.\n"
-"                REF: Pages 64-65, section 5.3."
-msgstr ""
-
-msgid "       cupsaddsmb [options] -a"
-msgstr ""
-
-msgid "       cupstestdsc [options] -"
-msgstr ""
-
-msgid "       program | cupstestppd [options] -"
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  \"%s %s\" conflicts with \"%s %s\"\n"
-"                (constraint=\"%s %s %s %s\")."
-msgstr ""
-
-#, c-format
-msgid "      %s  %s %s does not exist."
-msgstr ""
-
-#, c-format
-msgid "      %s  %s file \"%s\" has the wrong capitalization."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  Bad %s choice %s.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsFilter value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsFilter2 value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsICCProfile %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsPreFilter value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsUIConstraints %s: \"%s\""
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad language \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad permissions on %s file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad spelling of %s - should be %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Cannot provide both APScanAppPath and APScanAppBundleID."
-msgstr ""
-
-#, c-format
-msgid "      %s  Default choices conflicting."
-msgstr ""
-
-#, c-format
-msgid "      %s  Empty cupsUIConstraints %s"
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing \"%s\" translation string for option %s, choice %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing \"%s\" translation string for option %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing %s file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  Missing REQUIRED PageRegion option.\n"
-"                REF: Page 100, section 5.14."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  Missing REQUIRED PageSize option.\n"
-"                REF: Page 99, section 5.14."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\""
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing cupsUIResolver %s"
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing option %s in cupsUIConstraints %s: \"%s\""
-msgstr ""
-
-#, c-format
-msgid "      %s  No base translation \"%s\" is included in file."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  REQUIRED %s does not define choice None.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" defined for %s but not for %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" has unexpected dimensions (%gx%g)."
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" should be \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" should be the Adobe standard name \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  cupsICCProfile %s hash value collides with %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  cupsUIResolver %s causes a loop."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  cupsUIResolver %s does not list at least two different options."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  %s choice names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  %s must be 1284DeviceID\n"
-"                REF: Page 72, section 5.5"
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD Default%s %s\n"
-"                REF: Page 40, section 4.5."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD DefaultImageableArea %s\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD DefaultPaperDimension %s\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD JobPatchFile attribute in file\n"
-"                REF: Page 24, section 3.4."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD Manufacturer (should be \"HP\")\n"
-"                REF: Page 211, table D.1."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD Manufacturer (should be \"Oki\")\n"
-"                REF: Page 211, table D.1."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n"
-"                REF: Pages 59-60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD PSVersion - not \"(string) int\".\n"
-"                REF: Pages 62-64, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD Product - not \"(string)\".\n"
-"                REF: Page 62, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD ShortNickName - longer than 31 chars.\n"
-"                REF: Pages 64-65, section 5.3."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad %s choice %s\n"
-"                REF: Page 84, section 5.9"
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad FileVersion \"%s\"\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad FormatVersion \"%s\"\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Bad LanguageVersion %s - must be English."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Default option code cannot be interpreted: %s"
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Default translation string for option %s choice %s contains "
-"8-bit characters."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Default translation string for option %s contains 8-bit "
-"characters."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Group names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Multiple occurrences of %s choice name %s."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Option names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED Default%s\n"
-"                REF: Page 40, section 4.5."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED DefaultImageableArea\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED DefaultPaperDimension\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED FileVersion\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED FormatVersion\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED ImageableArea for PageSize %s\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED LanguageEncoding\n"
-"                REF: Pages 56-57, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED LanguageVersion\n"
-"                REF: Pages 57-58, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED Manufacturer\n"
-"                REF: Pages 58-59, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED ModelName\n"
-"                REF: Pages 59-60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED NickName\n"
-"                REF: Page 60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PCFileName\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PSVersion\n"
-"                REF: Pages 62-64, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PageRegion\n"
-"                REF: Page 100, section 5.14."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PageSize\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 99, section 5.14."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PageSize\n"
-"                REF: Pages 99-100, section 5.14."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED PaperDimension for PageSize %s\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED Product\n"
-"                REF: Page 62, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED ShortNickName\n"
-"                REF: Page 64-65, section 5.3."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Unable to open PPD file - %s"
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Unable to open PPD file - %s on line %d."
-msgstr ""
-
-#, c-format
-msgid "    %d ERRORS FOUND"
-msgstr ""
-
-msgid "    -h       Show program usage"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Bad %%%%BoundingBox: on line %d.\n"
-"        REF: Page 39, %%%%BoundingBox:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Bad %%%%Page: on line %d.\n"
-"        REF: Page 53, %%%%Page:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Bad %%%%Pages: on line %d.\n"
-"        REF: Page 43, %%%%Pages:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Line %d is longer than 255 characters (%d).\n"
-"        REF: Page 25, Line Length"
-msgstr ""
-
-msgid ""
-"    Missing %!PS-Adobe-3.0 on first line.\n"
-"        REF: Page 17, 3.1 Conforming Documents"
-msgstr ""
-
-#, c-format
-msgid "    Missing %%EndComments comment.        REF: Page 41, %%EndComments"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Missing or bad %%BoundingBox: comment.\n"
-"        REF: Page 39, %%BoundingBox:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Missing or bad %%Page: comments.\n"
-"        REF: Page 53, %%Page:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Missing or bad %%Pages: comment.\n"
-"        REF: Page 43, %%Pages:"
-msgstr ""
-
-msgid "    NO ERRORS FOUND"
-msgstr ""
-
-#, c-format
-msgid "    Saw %d lines that exceeded 255 characters."
-msgstr ""
-
-#, c-format
-msgid "    Too many %%BeginDocument comments."
-msgstr ""
-
-#, c-format
-msgid "    Too many %%EndDocument comments."
-msgstr ""
-
-msgid "    Warning: file contains binary data."
-msgstr ""
-
-#, c-format
-msgid "    Warning: no %%EndComments comment in file."
-msgstr ""
-
-#, c-format
-msgid "    Warning: obsolete DSC version %.1f in file."
-msgstr ""
-
-msgid "  --[no-]debug-logging    Turn debug logging on/off."
-msgstr ""
-
-msgid "  --[no-]remote-admin     Turn remote administration on/off."
-msgstr ""
-
-msgid "  --[no-]remote-any       Allow/prevent access from the Internet."
-msgstr ""
-
-msgid "  --[no-]remote-printers  Show/hide remote printers."
-msgstr ""
-
-msgid "  --[no-]share-printers   Turn printer sharing on/off."
-msgstr ""
-
-msgid "  --[no-]user-cancel-any  Allow/prevent users to cancel any job."
-msgstr ""
-
-msgid "  --cr                    End lines with CR (Mac OS 9)."
-msgstr ""
-
-msgid "  --crlf                  End lines with CR + LF (Windows)."
-msgstr ""
-
-msgid "  --lf                    End lines with LF (UNIX/Linux/Mac OS X)."
-msgstr ""
-
-msgid "  -4                      Connect using IPv4."
-msgstr ""
-
-msgid "  -6                      Connect using IPv6."
-msgstr ""
-
-msgid "  -C                      Send requests using chunking (default)."
-msgstr ""
-
-msgid "  -D                      Remove the input file when finished."
-msgstr ""
-
-msgid "  -D name=value           Set named variable to value."
-msgstr ""
-
-msgid "  -E                      Enable encryption."
-msgstr ""
-
-msgid "  -E                      Encrypt the connection to the server."
-msgstr ""
-
-msgid "  -E                      Test with TLS encryption."
-msgstr ""
-
-msgid ""
-"  -F                      Run in the foreground but detach from console."
-msgstr ""
-
-msgid "  -H samba-server         Use the named SAMBA server."
-msgstr ""
-
-msgid "  -I                      Ignore errors."
-msgstr ""
-
-msgid "  -I include-dir          Add include directory to search path."
-msgstr ""
-
-msgid "  -I {filename,filters,none,profiles}"
-msgstr ""
-
-msgid "  -J title                Set title."
-msgstr ""
-
-msgid "  -L                      Send requests using content-length."
-msgstr ""
-
-msgid "  -P filename.ppd         Set PPD file."
-msgstr ""
-
-msgid "  -R root-directory       Set alternate root."
-msgstr ""
-
-msgid "  -S                      Test with SSL encryption."
-msgstr ""
-
-msgid "  -T                      Set the receive/send timeout in seconds."
-msgstr ""
-
-msgid "  -U samba-user           Authenticate using the named SAMBA user."
-msgstr ""
-
-msgid "  -U username             Set username for job."
-msgstr ""
-
-msgid "  -U username             Specify username."
-msgstr ""
-
-msgid "  -V version              Set default IPP version."
-msgstr ""
-
-msgid ""
-"  -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,"
-"translations}"
-msgstr ""
-
-msgid "  -X                      Produce XML plist instead of plain text."
-msgstr ""
-
-msgid "  -a                      Export all printers."
-msgstr ""
-
-msgid "  -a 'name=value ...'     Set option(s)."
-msgstr ""
-
-msgid "  -c catalog.po           Load the specified message catalog."
-msgstr ""
-
-msgid "  -c config-file          Load alternate configuration file."
-msgstr ""
-
-msgid "  -c copies               Set number of copies."
-msgstr ""
-
-msgid "  -c cupsd.conf           Set cupsd.conf file to use."
-msgstr ""
-
-msgid "  -d name=value           Set named variable to value."
-msgstr ""
-
-msgid "  -d output-dir           Specify the output directory."
-msgstr ""
-
-msgid "  -d printer              Use the named printer."
-msgstr ""
-
-msgid "  -e                      Use every filter from the PPD file."
-msgstr ""
-
-msgid "  -f                      Run in the foreground."
-msgstr ""
-
-msgid "  -f filename             Set default request filename."
-msgstr ""
-
-msgid "  -f filename             Set file to be converted (otherwise stdin)."
-msgstr ""
-
-msgid "  -h                      Show this usage message."
-msgstr ""
-
-msgid "  -h cups-server          Use the named CUPS server."
-msgstr ""
-
-msgid "  -h server[:port]        Specify server address."
-msgstr ""
-
-msgid "  -i mime/type            Set input MIME type (otherwise auto-typed)."
-msgstr ""
-
-msgid ""
-"  -i seconds              Repeat the last file with the given time interval."
-msgstr ""
-
-msgid ""
-"  -j job-id[,N]           Filter file N from the specified job (default is "
-"file 1)."
-msgstr ""
-
-msgid ""
-"  -j mime/type            Set output MIME type (otherwise application/pdf)."
-msgstr ""
-
-msgid "  -l                      Run cupsd from launchd(8)."
-msgstr ""
-
-msgid "  -l lang[,lang,...]      Specify the output language(s) (locale)."
-msgstr ""
-
-msgid "  -m                      Use the ModelName value as the filename."
-msgstr ""
-
-msgid ""
-"  -m mime/type            Set output MIME type (otherwise application/pdf)."
-msgstr ""
-
-msgid "  -n copies               Set number of copies."
-msgstr ""
-
-msgid ""
-"  -n count                Repeat the last file the given number of times."
-msgstr ""
-
-msgid "  -o filename             Set file to be generated (otherwise stdout)."
-msgstr ""
-
-msgid ""
-"  -o filename.drv         Set driver information file (otherwise ppdi.drv)."
-msgstr ""
-
-msgid "  -o filename.ppd[.gz]    Set output file (otherwise stdout)."
-msgstr ""
-
-msgid "  -o name=value           Set option(s)."
-msgstr ""
-
-msgid "  -p filename.ppd         Set PPD file."
-msgstr ""
-
-msgid "  -q                      Be quiet - no output except errors."
-msgstr ""
-
-msgid "  -q                      Run silently."
-msgstr ""
-
-msgid "  -r                      Use 'relaxed' open mode."
-msgstr ""
-
-msgid "  -t                      Produce a test report."
-msgstr ""
-
-msgid "  -t                      Test PPDs instead of generating them."
-msgstr ""
-
-msgid "  -t                      Test the configuration file."
-msgstr ""
-
-msgid "  -t title                Set title."
-msgstr ""
-
-msgid "  -u                      Remove the PPD file when finished."
-msgstr ""
-
-msgid "  -v                      Be slightly verbose."
-msgstr ""
-
-msgid "  -v                      Be verbose (more v's for more verbosity)."
-msgstr ""
-
-msgid "  -v                      Be verbose (show commands)."
-msgstr ""
-
-msgid "  -v                      Show all attributes sent and received."
-msgstr ""
-
-msgid "  -vv                     Be very verbose."
-msgstr ""
-
-msgid "  -z                      Compress PPD files using GNU zip."
-msgstr ""
-
-msgid " FAIL"
-msgstr ""
-
-msgid " PASS"
-msgstr ""
-
-#, c-format
-msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "%.0f x %.0f millimeters"
-msgstr "%.0f x %.0f millimeter"
-
-#, c-format
-msgid "%.0f x %.0f to %.0f x %.0f millimeters"
-msgstr "%.0f x %.0f to %.0f x %.0f millimeter"
-
-#, c-format
-msgid "%.2f x %.2f inches"
-msgstr "%.2f x %.2f tum"
-
-#, c-format
-msgid "%.2f x %.2f to %.2f x %.2f inches"
-msgstr "%.2f x %.2f to %.2f x %.2f tum"
-
-#, c-format
-msgid "%s accepting requests since %s"
-msgstr ""
-
-#, c-format
-msgid "%s cannot be changed."
-msgstr "%s kan inte ändras."
-
-#, c-format
-msgid "%s is not implemented by the CUPS version of lpc."
-msgstr ""
-
-#, c-format
-msgid "%s is not ready"
-msgstr ""
-
-#, c-format
-msgid "%s is ready"
-msgstr ""
-
-#, c-format
-msgid "%s is ready and printing"
-msgstr ""
-
-#, c-format
-msgid "%s job-id user title copies options [file]"
-msgstr ""
-
-#, c-format
-msgid "%s not accepting requests since %s -"
-msgstr ""
-
-#, c-format
-msgid "%s not supported."
-msgstr ""
-
-#, c-format
-msgid "%s/%s accepting requests since %s"
-msgstr ""
-
-#, c-format
-msgid "%s/%s not accepting requests since %s -"
-msgstr ""
-
-#, c-format
-msgid "%s: %-33.33s [job %d localhost]"
-msgstr ""
-
-#. TRANSLATORS: Message is "subject: error"
-#, c-format
-msgid "%s: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: %s failed: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Don't know what to do."
-msgstr ""
-
-#, c-format
-msgid ""
-"%s: Error - %s environment variable names non-existent destination \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - bad job ID."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - cannot print files and alter jobs simultaneously."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - cannot print from stdin if files or a job ID are provided."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected character set after \"-S\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected content type after \"-T\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected copies after \"-#\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected copies after \"-n\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected destination after \"-P\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected destination after \"-b\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected destination after \"-d\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected form after \"-f\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected hold name after \"-H\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected hostname after \"-H\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected hostname after \"-h\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected mode list after \"-y\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected name after \"-%c\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected option=value after \"-o\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected page list after \"-P\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected priority after \"-%c\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected reason text after \"-r\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected title after \"-t\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected username after \"-U\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected username after \"-u\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected value after \"-%c\" option."
-msgstr ""
-
-#, c-format
-msgid ""
-"%s: Error - need \"completed\", \"not-completed\", or \"all\" after \"-W\" "
-"option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - no default destination available."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - priority must be between 1 and 100."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - scheduler not responding."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - too many files - \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unable to access \"%s\" - %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unable to queue from stdin - %s."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown destination \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown destination \"%s/%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown option \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Expected job ID after \"-i\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Invalid destination name in list \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Invalid filter string \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Need job ID (\"-i jobid\") before \"-H restart\"."
-msgstr ""
-
-#, c-format
-msgid "%s: No filter to convert from %s/%s to %s/%s."
-msgstr ""
-
-#, c-format
-msgid "%s: Operation failed: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Sorry, no encryption support."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to connect to server."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to contact server."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to determine MIME type of \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to open %s: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to open PPD file: %s on line %d."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown destination \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown destination MIME type %s/%s."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown option \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown source MIME type %s/%s."
-msgstr ""
-
-#, c-format
-msgid ""
-"%s: Warning - \"%c\" format modifier not supported - output may not be "
-"correct."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - character set option ignored."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - content type option ignored."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - form option ignored."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - mode option ignored."
-msgstr ""
-
-msgid "-1"
-msgstr "-1"
-
-msgid "-10"
-msgstr "-10"
-
-msgid "-100"
-msgstr "-100"
-
-msgid "-105"
-msgstr "-105"
-
-msgid "-11"
-msgstr "-11"
-
-msgid "-110"
-msgstr "-110"
-
-msgid "-115"
-msgstr "-115"
-
-msgid "-12"
-msgstr "-12"
-
-msgid "-120"
-msgstr "-120"
-
-msgid "-13"
-msgstr "-13"
-
-msgid "-14"
-msgstr "-14"
-
-msgid "-15"
-msgstr "-15"
-
-msgid "-2"
-msgstr "-2"
-
-msgid "-20"
-msgstr "-20"
-
-msgid "-25"
-msgstr "-25"
-
-msgid "-3"
-msgstr "-3"
-
-msgid "-30"
-msgstr "-30"
-
-msgid "-35"
-msgstr "-35"
-
-msgid "-4"
-msgstr "-4"
-
-msgid "-40"
-msgstr "-40"
-
-msgid "-45"
-msgstr "-45"
-
-msgid "-5"
-msgstr "-5"
-
-msgid "-50"
-msgstr "-50"
-
-msgid "-55"
-msgstr "-55"
-
-msgid "-6"
-msgstr "-6"
-
-msgid "-60"
-msgstr "-60"
-
-msgid "-65"
-msgstr "-65"
-
-msgid "-7"
-msgstr "-7"
-
-msgid "-70"
-msgstr "-70"
-
-msgid "-75"
-msgstr "-75"
-
-msgid "-8"
-msgstr "-8"
-
-msgid "-80"
-msgstr "-80"
-
-msgid "-85"
-msgstr "-85"
-
-msgid "-9"
-msgstr "-9"
-
-msgid "-90"
-msgstr "-90"
-
-msgid "-95"
-msgstr "-95"
-
-msgid "0"
-msgstr "0"
-
-msgid "1"
-msgstr "1"
-
-msgid "1 inch/sec."
-msgstr "1 tum/sek."
-
-msgid "1.25x0.25\""
-msgstr "1,25 x 0,25"
-
-msgid "1.25x2.25\""
-msgstr "1,25 x 2,25\""
-
-msgid "1.5 inch/sec."
-msgstr "1,5 tum/sek."
-
-msgid "1.50x0.25\""
-msgstr "1,50 x 0,25\""
-
-msgid "1.50x0.50\""
-msgstr "1,50 x 0,50"
-
-msgid "1.50x1.00\""
-msgstr "1,50 x 1,00\""
-
-msgid "1.50x2.00\""
-msgstr "1,50 x 2,00\""
-
-msgid "10"
-msgstr "10"
-
-msgid "10 inches/sec."
-msgstr "10 tum/sek."
-
-msgid "10 x 11"
-msgstr ""
-
-msgid "10 x 13"
-msgstr ""
-
-msgid "10 x 14"
-msgstr ""
-
-msgid "100"
-msgstr "100"
-
-msgid "100 mm/sec."
-msgstr "100 mm/sek."
-
-msgid "105"
-msgstr "105"
-
-msgid "11"
-msgstr "11"
-
-msgid "11 inches/sec."
-msgstr "11 tum/sek."
-
-msgid "110"
-msgstr "110"
-
-msgid "115"
-msgstr "115"
-
-msgid "12"
-msgstr "12"
-
-msgid "12 inches/sec."
-msgstr "12 tum/sek."
-
-msgid "12 x 11"
-msgstr ""
-
-msgid "120"
-msgstr "120"
-
-msgid "120 mm/sec."
-msgstr "120 mm/sek."
-
-msgid "120x60dpi"
-msgstr "120 x 60 dpi"
-
-msgid "120x72dpi"
-msgstr "120 x 72 dpi"
-
-msgid "13"
-msgstr "13"
-
-msgid "136dpi"
-msgstr "136 dpi"
-
-msgid "14"
-msgstr "14"
-
-msgid "15"
-msgstr "15"
-
-msgid "15 mm/sec."
-msgstr "15 mm/sek."
-
-msgid "15 x 11"
-msgstr ""
-
-msgid "150 mm/sec."
-msgstr "150 mm/sek."
-
-msgid "150dpi"
-msgstr "150 dpi"
-
-msgid "16"
-msgstr "16"
-
-msgid "17"
-msgstr "17"
-
-msgid "18"
-msgstr "18"
-
-msgid "180dpi"
-msgstr "180 dpi"
-
-msgid "19"
-msgstr "19"
-
-msgid "2"
-msgstr "2"
-
-msgid "2 inches/sec."
-msgstr "2 tum/sek."
-
-msgid "2-Sided Printing"
-msgstr "Dubbelsidig utskrift"
-
-msgid "2.00x0.37\""
-msgstr "2,00 x 0,37\""
-
-msgid "2.00x0.50\""
-msgstr "2,00 x 0,50\""
-
-msgid "2.00x1.00\""
-msgstr "2,00 x 1,00\""
-
-msgid "2.00x1.25\""
-msgstr "2,00 x 1,25\""
-
-msgid "2.00x2.00\""
-msgstr "2,00 x 2,00\""
-
-msgid "2.00x3.00\""
-msgstr "2,00 x 3,00\""
-
-msgid "2.00x4.00\""
-msgstr "2,00 x 4,00\""
-
-msgid "2.00x5.50\""
-msgstr "2,00 x 5,50\""
-
-msgid "2.25x0.50\""
-msgstr "2,25 x 0,50\""
-
-msgid "2.25x1.25\""
-msgstr "2,25 x 1,25\""
-
-msgid "2.25x4.00\""
-msgstr "2,25 x 4,00\""
-
-msgid "2.25x5.50\""
-msgstr "2,25 x 5,50\""
-
-msgid "2.38x5.50\""
-msgstr "2,38 x 5,50\""
-
-msgid "2.5 inches/sec."
-msgstr "2.5 tum/sek."
-
-msgid "2.50x1.00\""
-msgstr "2,50 x 1,00\""
-
-msgid "2.50x2.00\""
-msgstr "2,50 x 2,00\""
-
-msgid "2.75x1.25\""
-msgstr "2,75 x 1,25\""
-
-msgid "2.9 x 1\""
-msgstr "2,9 x 1\""
-
-msgid "20"
-msgstr "20"
-
-msgid "20 mm/sec."
-msgstr "20 mm/sek."
-
-msgid "200 mm/sec."
-msgstr "200 mm/sek."
-
-msgid "203dpi"
-msgstr "203 dpi"
-
-msgid "21"
-msgstr "21"
-
-msgid "22"
-msgstr "22"
-
-msgid "23"
-msgstr "23"
-
-msgid "24"
-msgstr "24"
-
-msgid "24-Pin Series"
-msgstr "Serier med 24 pin"
-
-msgid "240x72dpi"
-msgstr "240 x 72 dpi"
-
-msgid "25"
-msgstr "25"
-
-msgid "250 mm/sec."
-msgstr "250 mm/sek."
-
-msgid "26"
-msgstr "26"
-
-msgid "27"
-msgstr "27"
-
-msgid "28"
-msgstr "28"
-
-msgid "29"
-msgstr "29"
-
-msgid "3"
-msgstr "3"
-
-msgid "3 inches/sec."
-msgstr "3 tum/sek."
-
-msgid "3 x 5"
-msgstr ""
-
-msgid "3.00x1.00\""
-msgstr "3,00 x 1,00\""
-
-msgid "3.00x1.25\""
-msgstr "3,00 x 1,25\""
-
-msgid "3.00x2.00\""
-msgstr "3,00 x 2,00\""
-
-msgid "3.00x3.00\""
-msgstr "3,00 x 3,00\""
-
-msgid "3.00x5.00\""
-msgstr "3,00 x 5,00\""
-
-msgid "3.25x2.00\""
-msgstr "3,25 x 2,00\""
-
-msgid "3.25x5.00\""
-msgstr "3,25 x 5,00\""
-
-msgid "3.25x5.50\""
-msgstr "3,25 x 5,50\""
-
-msgid "3.25x5.83\""
-msgstr "3,25 x 5,83\""
-
-msgid "3.25x7.83\""
-msgstr "3,25 x 7,83\""
-
-msgid "3.5 x 5"
-msgstr ""
-
-msgid "3.5\" Disk"
-msgstr "3.5\" Disk"
-
-msgid "3.5\" Disk - 2 1/8 x 2 3/4\""
-msgstr "3,5\" Disk - 2 1/8 x 2 3/4\""
-
-msgid "3.50x1.00\""
-msgstr "3,50 x 1,00\""
-
-msgid "30"
-msgstr "30"
-
-msgid "30 mm/sec."
-msgstr "30 mm/sek."
-
-msgid "300 mm/sec."
-msgstr "300 mm/sek."
-
-msgid "300dpi"
-msgstr "300 dpi"
-
-msgid "35"
-msgstr "35"
-
-msgid "360dpi"
-msgstr "360 dpi"
-
-msgid "360x180dpi"
-msgstr "360 x 180 dpi"
-
-msgid "4"
-msgstr "4"
-
-msgid "4 inches/sec."
-msgstr "4 tum/sek."
-
-msgid "4.00x1.00\""
-msgstr "4,00 x 1,00\""
-
-msgid "4.00x13.00\""
-msgstr "4,00 x 13,00\""
-
-msgid "4.00x2.00\""
-msgstr "4,00 x 2,00\""
-
-msgid "4.00x2.50\""
-msgstr "4,00 x 2,50\""
-
-msgid "4.00x3.00\""
-msgstr "4,00 x 3,00\""
-
-msgid "4.00x4.00\""
-msgstr "4,00 x 4,00\""
-
-msgid "4.00x5.00\""
-msgstr "4,00 x 5,00\""
-
-msgid "4.00x6.00\""
-msgstr "4,00 x 6,00\""
-
-msgid "4.00x6.50\""
-msgstr "4,00 x 6,50\""
-
-msgid "40"
-msgstr "40"
-
-msgid "40 mm/sec."
-msgstr "40 mm/sek."
-
-msgid "45"
-msgstr "45"
-
-msgid "5"
-msgstr "5"
-
-msgid "5 inches/sec."
-msgstr "5 tum/sek."
-
-msgid "5 x 7"
-msgstr ""
-
-msgid "50"
-msgstr "50"
-
-msgid "55"
-msgstr "55"
-
-msgid "6"
-msgstr "6"
-
-msgid "6 inches/sec."
-msgstr "6 tum/sek."
-
-msgid "6.00x1.00\""
-msgstr "6,00 x 1,00\""
-
-msgid "6.00x2.00\""
-msgstr "6,00 x 2,00\""
-
-msgid "6.00x3.00\""
-msgstr "6,00 x 3,00\""
-
-msgid "6.00x4.00\""
-msgstr "6,00 x 4,00\""
-
-msgid "6.00x5.00\""
-msgstr "6,00 x 5,00\""
-
-msgid "6.00x6.00\""
-msgstr "6,00 x 6,00\""
-
-msgid "6.00x6.50\""
-msgstr "6,00 x 6,50\""
-
-msgid "60"
-msgstr "60"
-
-msgid "60 mm/sec."
-msgstr "60 mm/sek."
-
-msgid "600dpi"
-msgstr "600 dpi"
-
-msgid "60dpi"
-msgstr "60 dpi"
-
-msgid "60x72dpi"
-msgstr ""
-
-msgid "65"
-msgstr "65"
-
-msgid "7"
-msgstr "7"
-
-msgid "7 inches/sec."
-msgstr "7 tum/sek."
-
-msgid "7 x 9"
-msgstr ""
-
-msgid "70"
-msgstr "70"
-
-msgid "720dpi"
-msgstr "720 dpi"
-
-msgid "75"
-msgstr "75"
-
-msgid "8"
-msgstr "8"
-
-msgid "8 inches/sec."
-msgstr "8 tum/sek."
-
-msgid "8 x 10"
-msgstr ""
-
-msgid "8.00x1.00\""
-msgstr "8,00 x 1,00\""
-
-msgid "8.00x2.00\""
-msgstr "8,00 x 2,00\""
-
-msgid "8.00x3.00\""
-msgstr "8,00 x 3,00\""
-
-msgid "8.00x4.00\""
-msgstr "8,00 x 4,00\""
-
-msgid "8.00x5.00\""
-msgstr "8,00 x 5,00\""
-
-msgid "8.00x6.00\""
-msgstr "8,00 x 6,00\""
-
-msgid "8.00x6.50\""
-msgstr "8,00 x 6,50\""
-
-msgid "80"
-msgstr "80"
-
-msgid "80 mm/sec."
-msgstr "80 mm/sek."
-
-msgid "85"
-msgstr "85"
-
-msgid "9"
-msgstr "9"
-
-msgid "9 inches/sec."
-msgstr "9 tum/sek."
-
-msgid "9 x 11"
-msgstr ""
-
-msgid "9 x 12"
-msgstr ""
-
-msgid "9-Pin Series"
-msgstr "Serier med 9 pin"
-
-msgid "90"
-msgstr "90"
-
-msgid "95"
-msgstr "95"
-
-msgid "?Invalid help command unknown."
-msgstr ""
-
-msgid "A Samba password is required to export printer drivers"
-msgstr ""
-
-msgid "A Samba username is required to export printer drivers"
-msgstr ""
-
-#, c-format
-msgid "A class named \"%s\" already exists."
-msgstr ""
-
-#, c-format
-msgid "A printer named \"%s\" already exists."
-msgstr ""
-
-msgid "A0"
-msgstr "A0"
-
-msgid "A0 Long Edge"
-msgstr ""
-
-msgid "A1"
-msgstr "A1"
-
-msgid "A1 Long Edge"
-msgstr ""
-
-msgid "A10"
-msgstr "A10"
-
-msgid "A2"
-msgstr "A2"
-
-msgid "A2 Long Edge"
-msgstr ""
-
-msgid "A3"
-msgstr "A3"
-
-msgid "A3 Long Edge"
-msgstr ""
-
-msgid "A3 Oversize"
-msgstr ""
-
-msgid "A3 Oversize Long Edge"
-msgstr ""
-
-msgid "A4"
-msgstr "A4"
-
-msgid "A4 Long Edge"
-msgstr ""
-
-msgid "A4 Oversize"
-msgstr ""
-
-msgid "A4 Small"
-msgstr ""
-
-msgid "A5"
-msgstr "A5"
-
-msgid "A5 Long Edge"
-msgstr ""
-
-msgid "A5 Oversize"
-msgstr ""
-
-msgid "A6"
-msgstr "A6"
-
-msgid "A6 Long Edge"
-msgstr ""
-
-msgid "A7"
-msgstr "A7"
-
-msgid "A8"
-msgstr "A8"
-
-msgid "A9"
-msgstr "A9"
-
-msgid "ANSI A"
-msgstr "ANSI A"
-
-msgid "ANSI B"
-msgstr "ANSI B"
-
-msgid "ANSI C"
-msgstr "ANSI C"
-
-msgid "ANSI D"
-msgstr "ANSI D"
-
-msgid "ANSI E"
-msgstr "ANSI E"
-
-msgid "ARCH C"
-msgstr "ARCH C"
-
-msgid "ARCH C Long Edge"
-msgstr ""
-
-msgid "ARCH D"
-msgstr "ARCH D"
-
-msgid "ARCH D Long Edge"
-msgstr ""
-
-msgid "ARCH E"
-msgstr "ARCH E"
-
-msgid "ARCH E Long Edge"
-msgstr ""
-
-msgid "Accept Jobs"
-msgstr "Acceptera utskrifter"
-
-msgid "Accepted"
-msgstr "Accepterade"
-
-msgid "Add Class"
-msgstr "Lägg till klass"
-
-msgid "Add Printer"
-msgstr "Lägg till skrivare"
-
-msgid "Add RSS Subscription"
-msgstr "Lägg till RSS-prenumeration"
-
-msgid "Address"
-msgstr "Adress"
-
-msgid "Address - 1 1/8 x 3 1/2\""
-msgstr "Adress - 1 1/8 x 3 1/2\""
-
-msgid "Administration"
-msgstr "Administration"
-
-msgid "Always"
-msgstr "Alltid"
-
-msgid "AppSocket/HP JetDirect"
-msgstr "AppSocket/HP JetDirect"
-
-msgid "Applicator"
-msgstr "Applikator"
-
-#, c-format
-msgid "Attempt to set %s printer-state to bad value %d."
-msgstr ""
-
-#, c-format
-msgid "Attribute groups are out of order (%x < %x)."
-msgstr ""
-
-msgid "B0"
-msgstr "B0"
-
-msgid "B1"
-msgstr "B1"
-
-msgid "B10"
-msgstr "B10"
-
-msgid "B2"
-msgstr "B2"
-
-msgid "B3"
-msgstr "B3"
-
-msgid "B4"
-msgstr "B4"
-
-msgid "B5"
-msgstr "B5"
-
-msgid "B5 Oversize"
-msgstr ""
-
-msgid "B6"
-msgstr "B6"
-
-msgid "B7"
-msgstr "B7"
-
-msgid "B8"
-msgstr "B8"
-
-msgid "B9"
-msgstr "B9"
-
-msgid "Bad NULL dests pointer"
-msgstr "Felaktig NULL- destinationspekare"
-
-msgid "Bad OpenGroup"
-msgstr "Felaktig OpenGroup"
-
-msgid "Bad OpenUI/JCLOpenUI"
-msgstr "Felaktig OpenUI/JCLOpenUI"
-
-msgid "Bad OrderDependency"
-msgstr "Felaktig OrderDependency"
-
-msgid "Bad PPD cache file."
-msgstr ""
-
-msgid "Bad Request"
-msgstr "Felaktig begäran"
-
-msgid "Bad SNMP version number"
-msgstr "Felaktigt SNMP-versionsnummer"
-
-msgid "Bad UIConstraints"
-msgstr "Felaktig UIConstraints"
-
-#, c-format
-msgid "Bad charset file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad charset type: %s"
-msgstr ""
-
-#, c-format
-msgid "Bad columns value %d."
-msgstr ""
-
-#, c-format
-msgid "Bad copies value %d."
-msgstr "Felaktigt värde för exemplar %d."
-
-#, c-format
-msgid "Bad cpi value %f."
-msgstr ""
-
-msgid "Bad custom parameter"
-msgstr "Felaktig anpassad parameter"
-
-#, c-format
-msgid "Bad device-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad device-uri scheme \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad document-format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad document-format-default \"%s\"."
-msgstr ""
-
-msgid "Bad filename buffer"
-msgstr ""
-
-#, c-format
-msgid "Bad font description line \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad font description line: %s"
-msgstr ""
-
-msgid "Bad job-priority value."
-msgstr ""
-
-#, c-format
-msgid "Bad job-sheets value \"%s\"."
-msgstr ""
-
-msgid "Bad job-sheets value type."
-msgstr ""
-
-msgid "Bad job-state value."
-msgstr ""
-
-#, c-format
-msgid "Bad job-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad lpi value %f."
-msgstr ""
-
-#, c-format
-msgid "Bad notify-pull-method \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad notify-recipient-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad number-up value %d."
-msgstr "Felaktigt värde för exemplar %d."
-
-#, c-format
-msgid "Bad option + choice on line %d."
-msgstr ""
-
-#, c-format
-msgid "Bad page-ranges values %d-%d."
-msgstr "Felaktiga värden för sidintervall %d-%d."
-
-#, c-format
-msgid "Bad port-monitor \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad printer-state value %d."
-msgstr ""
-
-#, c-format
-msgid "Bad request ID %d."
-msgstr ""
-
-#, c-format
-msgid "Bad request version number %d.%d."
-msgstr ""
-
-msgid "Bad subscription ID"
-msgstr ""
-
-#, c-format
-msgid "Bad text direction \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad text direction: %s"
-msgstr ""
-
-#, c-format
-msgid "Bad text width \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad text width: %s"
-msgstr ""
-
-msgid "Bad value string"
-msgstr ""
-
-msgid "Banners"
-msgstr "Banners"
-
-msgid "Billing Information: "
-msgstr "Faktureringsinformation: "
-
-msgid "Bond Paper"
-msgstr "Fint papperr"
-
-#, c-format
-msgid "Boolean expected for waiteof option \"%s\"."
-msgstr ""
-
-msgid "Buffer overflow detected, aborting."
-msgstr ""
-
-msgid "CMYK"
-msgstr "CMYK"
-
-msgid "CPCL Label Printer"
-msgstr "Etikettskrivare CPCL"
-
-msgid "Cancel RSS Subscription"
-msgstr "Avbryt RSS-prenumeration"
-
-msgid "Canceling print job."
-msgstr ""
-
-msgid "Cannot share a remote Kerberized printer."
-msgstr ""
-
-msgid "Cassette"
-msgstr ""
-
-msgid "Change Settings"
-msgstr "Ändra inställningar"
-
-#, c-format
-msgid "Character set \"%s\" not supported."
-msgstr ""
-
-msgid "Classes"
-msgstr "Klasser"
-
-msgid "Clean Print Heads"
-msgstr "Rengör skrivarhuvuden"
-
-msgid "Close-Job doesn't support the job-uri attribute."
-msgstr ""
-
-msgid "Color"
-msgstr "Färg"
-
-msgid "Color Mode"
-msgstr "Färgläge"
-
-msgid ""
-"Commands may be abbreviated.  Commands are:\n"
-"\n"
-"exit    help    quit    status  ?"
-msgstr ""
-
-msgid "Community name uses indefinite length"
-msgstr "Gruppnamn använder obegränsad längd"
-
-msgid "Connected to printer."
-msgstr ""
-
-msgid "Connecting to printer."
-msgstr ""
-
-msgid "Continue"
-msgstr "Fortsätt"
-
-msgid "Continuous"
-msgstr "Kontinuerlig"
-
-msgid "Control file sent successfully."
-msgstr ""
-
-msgid "Copying print data."
-msgstr ""
-
-msgid "Created"
-msgstr "Skapad"
-
-msgid "Created On: "
-msgstr "Skapad den: "
-
-msgid "Custom"
-msgstr "Anpassad"
-
-msgid "CustominCutInterval"
-msgstr "CustominCutInterval"
-
-msgid "CustominTearInterval"
-msgstr "CustominTearInterval"
-
-msgid "Cut"
-msgstr "Beskär"
-
-msgid "Cutter"
-msgstr "Beskärare"
-
-msgid "Dark"
-msgstr "Mörk"
-
-msgid "Darkness"
-msgstr "Mörkhet"
-
-msgid "Data file sent successfully."
-msgstr ""
-
-msgid "Delete Class"
-msgstr "Ta bort klass"
-
-msgid "Delete Printer"
-msgstr "Ta bort skrivare"
-
-msgid "Description: "
-msgstr "Beskrivning: "
-
-msgid "DeskJet Series"
-msgstr "DeskJet-serier"
-
-#, c-format
-msgid "Destination \"%s\" is not accepting jobs."
-msgstr "Mål \"%s\" tar inte emot utskrifter."
-
-#, c-format
-msgid ""
-"Device: uri = %s\n"
-"        class = %s\n"
-"        info = %s\n"
-"        make-and-model = %s\n"
-"        device-id = %s\n"
-"        location = %s"
-msgstr ""
-
-msgid "Direct Thermal Media"
-msgstr "Termiska direktmedia"
-
-#, c-format
-msgid "Directory \"%s\" contains a relative path."
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" is a file."
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" not available: %s"
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-msgid "Disabled"
-msgstr "Avaktiverad"
-
-#, c-format
-msgid "Document #%d does not exist in job #%d."
-msgstr ""
-
-msgid "Driver Name: "
-msgstr "Drivrutinnamn: "
-
-msgid "Driver Version: "
-msgstr "Drivrutinversion: "
-
-msgid "Duplexer"
-msgstr "Duplexr"
-
-msgid "Dymo"
-msgstr "Dymo"
-
-msgid "EPL1 Label Printer"
-msgstr "Etikettskrivare EPL1"
-
-msgid "EPL2 Label Printer"
-msgstr "Etikettskrivare EPL2"
-
-msgid "Edit Configuration File"
-msgstr "Redigera konfigurationsfil"
-
-msgid "Empty PPD file."
-msgstr ""
-
-#. TRANSLATORS: Banner/cover sheet after the print job.
-msgid "Ending Banner"
-msgstr "Slutbanner"
-
-msgid "English"
-msgstr "Swedish"
-
-msgid "Enter old password:"
-msgstr "Ange gammalt lösenord:"
-
-msgid "Enter password again:"
-msgstr "Ange lösenord igen:"
-
-msgid "Enter password:"
-msgstr "Ange lösenord:"
-
-msgid ""
-"Enter your username and password or the root username and password to access "
-"this page. If you are using Kerberos authentication, make sure you have a "
-"valid Kerberos ticket."
-msgstr ""
-"Ange ditt användarnamn och lösenord eller root-användarnamnet och lösenord "
-"för att komma åt denna sida. Om du använder Kerberos-autentisering, "
-"kontrollera att du har en giltig Kerberos-biljett."
-
-msgid "Envelope #10 "
-msgstr ""
-
-msgid "Envelope #11"
-msgstr ""
-
-msgid "Envelope #12"
-msgstr ""
-
-msgid "Envelope #14"
-msgstr ""
-
-msgid "Envelope #9"
-msgstr ""
-
-msgid "Envelope B4"
-msgstr ""
-
-msgid "Envelope B5"
-msgstr ""
-
-msgid "Envelope B6"
-msgstr ""
-
-msgid "Envelope C0"
-msgstr ""
-
-msgid "Envelope C1"
-msgstr ""
-
-msgid "Envelope C2"
-msgstr ""
-
-msgid "Envelope C3"
-msgstr ""
-
-msgid "Envelope C4"
-msgstr ""
-
-msgid "Envelope C5"
-msgstr ""
-
-msgid "Envelope C6"
-msgstr ""
-
-msgid "Envelope C65"
-msgstr ""
-
-msgid "Envelope C7"
-msgstr ""
-
-msgid "Envelope Choukei 3"
-msgstr ""
-
-msgid "Envelope Choukei 3 Long Edge"
-msgstr ""
-
-msgid "Envelope Choukei 4"
-msgstr ""
-
-msgid "Envelope Choukei 4 Long Edge"
-msgstr ""
-
-msgid "Envelope DL"
-msgstr ""
-
-msgid "Envelope Feed"
-msgstr "Kuvertmatare"
-
-msgid "Envelope Invite"
-msgstr ""
-
-msgid "Envelope Italian"
-msgstr ""
-
-msgid "Envelope Kaku2"
-msgstr ""
-
-msgid "Envelope Kaku2 Long Edge"
-msgstr ""
-
-msgid "Envelope Kaku3"
-msgstr ""
-
-msgid "Envelope Kaku3 Long Edge"
-msgstr ""
-
-msgid "Envelope Monarch"
-msgstr ""
-
-msgid "Envelope PRC1 "
-msgstr ""
-
-msgid "Envelope PRC1 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC10"
-msgstr ""
-
-msgid "Envelope PRC10 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC2"
-msgstr ""
-
-msgid "Envelope PRC2 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC3"
-msgstr ""
-
-msgid "Envelope PRC3 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC4"
-msgstr ""
-
-msgid "Envelope PRC4 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC5 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC5PRC5"
-msgstr ""
-
-msgid "Envelope PRC6"
-msgstr ""
-
-msgid "Envelope PRC6 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC7"
-msgstr ""
-
-msgid "Envelope PRC7 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC8"
-msgstr ""
-
-msgid "Envelope PRC8 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC9"
-msgstr ""
-
-msgid "Envelope PRC9 Long Edge"
-msgstr ""
-
-msgid "Envelope Personal"
-msgstr ""
-
-msgid "Envelope You4"
-msgstr ""
-
-msgid "Envelope You4 Long Edge"
-msgstr ""
-
-msgid "Epson"
-msgstr "Epson"
-
-msgid "Error Policy"
-msgstr "Felpolicy"
-
-msgid "Error sending raster data."
-msgstr ""
-
-msgid "Error: need hostname after \"-h\" option."
-msgstr ""
-
-msgid "Every 10 Labels"
-msgstr "Var tionde etikett"
-
-msgid "Every 2 Labels"
-msgstr "Varannan etikett"
-
-msgid "Every 3 Labels"
-msgstr "Var tredje etikett"
-
-msgid "Every 4 Labels"
-msgstr "Var fjärde etikett"
-
-msgid "Every 5 Labels"
-msgstr "Var femte etikett"
-
-msgid "Every 6 Labels"
-msgstr "Var sjätte etikett"
-
-msgid "Every 7 Labels"
-msgstr "Var sjunde etikett"
-
-msgid "Every 8 Labels"
-msgstr "Var åttonde etikett"
-
-msgid "Every 9 Labels"
-msgstr "Var nionde etikett"
-
-msgid "Every Label"
-msgstr "Alla etiketter"
-
-msgid "Executive"
-msgstr ""
-
-msgid "Expectation Failed"
-msgstr "Ej förväntad respons"
-
-msgid "Export Printers to Samba"
-msgstr "Exportera skrivare till Samba"
-
-msgid "FAIL"
-msgstr ""
-
-msgid "FanFold German"
-msgstr ""
-
-msgid "FanFold Legal German"
-msgstr ""
-
-msgid "Fanfold US"
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" contains a relative path."
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" is a directory."
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" not available: %s"
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-msgid "File Folder"
-msgstr "Filmapp"
-
-msgid "File Folder - 9/16 x 3 7/16\""
-msgstr "Filmapp - 9/16 x 3 7/16\""
-
-#, c-format
-msgid ""
-"File device URIs have been disabled. To enable, see the FileDevice directive "
-"in \"%s/cupsd.conf\"."
-msgstr ""
-
-#, c-format
-msgid "Finished page %d."
-msgstr ""
-
-msgid "Folio"
-msgstr "Folio"
-
-msgid "Forbidden"
-msgstr "Förbjudet"
-
-#, c-format
-msgid "Formatting page %d."
-msgstr ""
-
-msgid "General"
-msgstr "Allmänt"
-
-msgid "Generic"
-msgstr "Generisk"
-
-msgid "Get-Response-PDU uses indefinite length"
-msgstr "Get-Response-PDU använder obegränsad längd"
-
-msgid "Glossy Paper"
-msgstr "Blankt papper"
-
-msgid "Got a printer-uri attribute but no job-id."
-msgstr ""
-
-msgid "Grayscale"
-msgstr "Gråskala"
-
-msgid "HP"
-msgstr "HP"
-
-msgid "Hanging Folder"
-msgstr "Hängmapp"
-
-msgid "Hanging Folder - 9/16 x 2\""
-msgstr "Hängmapp- 9/16 x 2\""
-
-msgid "IPP 1setOf attribute with incompatible value tags."
-msgstr ""
-
-msgid "IPP attribute has no name."
-msgstr ""
-
-msgid "IPP begCollection value not 0 bytes."
-msgstr ""
-
-msgid "IPP boolean value not 1 byte."
-msgstr ""
-
-msgid "IPP date value not 11 bytes."
-msgstr ""
-
-msgid "IPP endCollection value not 0 bytes."
-msgstr ""
-
-msgid "IPP enum value not 4 bytes."
-msgstr ""
-
-msgid "IPP integer value not 4 bytes."
-msgstr ""
-
-msgid "IPP language length overflows value."
-msgstr ""
-
-msgid "IPP member name is not empty."
-msgstr ""
-
-msgid "IPP name larger than 32767 bytes."
-msgstr ""
-
-msgid "IPP nameWithLanguage value less than minimum 4 bytes."
-msgstr ""
-
-msgid "IPP rangeOfInteger value not 8 bytes."
-msgstr ""
-
-msgid "IPP resolution value not 9 bytes."
-msgstr ""
-
-msgid "IPP string length overflows value."
-msgstr ""
-
-msgid "IPP textWithLanguage value less than minimum 4 bytes."
-msgstr ""
-
-msgid "IPP value larger than 32767 bytes."
-msgstr ""
-
-msgid "ISOLatin1"
-msgstr "UTF-8"
-
-msgid "Illegal control character"
-msgstr "Otillåtet styrtecken"
-
-msgid "Illegal main keyword string"
-msgstr "Otillåten huvudnyckelordssträng"
-
-msgid "Illegal option keyword string"
-msgstr "Otillåten alternativnyckelordssträng"
-
-msgid "Illegal translation string"
-msgstr "Otillåten översättningssträng"
-
-msgid "Illegal whitespace character"
-msgstr "Otillåtet blanktecken"
-
-msgid "Installable Options"
-msgstr "Installerbara alternativ"
-
-msgid "Installed"
-msgstr "Installerad"
-
-msgid "IntelliBar Label Printer"
-msgstr "Eikettskrivare från IntelliBar"
-
-msgid "Intellitech"
-msgstr "Intellitech"
-
-msgid "Internal Server Error"
-msgstr ""
-
-msgid "Internal error"
-msgstr "Internt fel"
-
-msgid "Internet Postage 2-Part"
-msgstr "Internet Postage 2-Part"
-
-msgid "Internet Postage 2-Part - 2 1/4 x 7 1/2\""
-msgstr "Internet Postage 2-Part - 2 1/4 x 7 1/2\""
-
-msgid "Internet Postage 3-Part"
-msgstr "Internet Postage 3-Part"
-
-msgid "Internet Postage 3-Part - 2 1/4 x 7\""
-msgstr "Internet Postage 3-Part - 2 1/4 x 7\""
-
-msgid "Internet Printing Protocol"
-msgstr "Internet Printing Protocol"
-
-#, c-format
-msgid "Invalid printer command \"%s\"."
-msgstr ""
-
-msgid "JCL"
-msgstr "JCL"
-
-msgid "JIS B0"
-msgstr ""
-
-msgid "JIS B1"
-msgstr ""
-
-msgid "JIS B10"
-msgstr ""
-
-msgid "JIS B2"
-msgstr ""
-
-msgid "JIS B3"
-msgstr ""
-
-msgid "JIS B4"
-msgstr ""
-
-msgid "JIS B4 Long Edge"
-msgstr ""
-
-msgid "JIS B5"
-msgstr ""
-
-msgid "JIS B5 Long Edge"
-msgstr ""
-
-msgid "JIS B6"
-msgstr ""
-
-msgid "JIS B6 Long Edge"
-msgstr ""
-
-msgid "JIS B7"
-msgstr ""
-
-msgid "JIS B8"
-msgstr ""
-
-msgid "JIS B9"
-msgstr ""
-
-#, c-format
-msgid "Job #%d cannot be restarted - no files."
-msgstr ""
-
-#, c-format
-msgid "Job #%d does not exist."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is already aborted - can't cancel."
-msgstr "Utskrift #%d är redan avbruten - kan inte avbryta."
-
-#, c-format
-msgid "Job #%d is already canceled - can't cancel."
-msgstr "Utskrift #%d är redan avbruten - kan inte avbryta."
-
-#, c-format
-msgid "Job #%d is already completed - can't cancel."
-msgstr "Utskrift #%d är redan klar - kan inte avbryta."
-
-#, c-format
-msgid "Job #%d is finished and cannot be altered."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is not complete."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is not held for authentication."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is not held."
-msgstr ""
-
-msgid "Job Completed"
-msgstr "Utskriften är klar"
-
-msgid "Job Created"
-msgstr "Utskrift skapad"
-
-msgid "Job ID: "
-msgstr "Uskrifts-ID: "
-
-msgid "Job Options Changed"
-msgstr "Utskriftsalternativ ändrades"
-
-msgid "Job Stopped"
-msgstr "Utskriften har stoppats"
-
-msgid "Job UUID: "
-msgstr "Utskriftens UUID: "
-
-msgid "Job is completed and cannot be changed."
-msgstr "Utskriften är klar och kan inte ändras."
-
-msgid "Job operation failed:"
-msgstr "Utskriftsåtgärd misslyckades:"
-
-msgid "Job state cannot be changed."
-msgstr "Utskriftsstatus kan inte ändras."
-
-msgid "Job subscriptions cannot be renewed."
-msgstr ""
-
-msgid "Jobs"
-msgstr "Utskrifter"
-
-msgid "LPD/LPR Host or Printer"
-msgstr "LPD/LPR-värd eller skrivare"
-
-msgid "Label Printer"
-msgstr "Etikettskrivare"
-
-msgid "Label Top"
-msgstr "Etikettens överdel"
-
-#, c-format
-msgid "Language \"%s\" not supported."
-msgstr ""
-
-msgid "Large Address"
-msgstr "Large Address"
-
-msgid "Large Address - 1 4/10 x 3 1/2\""
-msgstr "Large Address - 1 4/10 x 3 1/2\""
-
-msgid "LaserJet Series PCL 4/5"
-msgstr "LaserJet Series PCL 4/5"
-
-msgid "Letter Oversize"
-msgstr ""
-
-msgid "Letter Oversize Long Edge"
-msgstr ""
-
-msgid "Light"
-msgstr "Lätt"
-
-msgid "Line longer than the maximum allowed (255 characters)"
-msgstr "Rad överskrider maxlängd (255 tecken)"
-
-msgid "List Available Printers"
-msgstr "Senast tillgängliga skrivare"
-
-msgid "Loading print file."
-msgstr ""
-
-msgid "Location: "
-msgstr "Plats: "
-
-msgid "Long-Edge (Portrait)"
-msgstr "Långsida (porträtt)"
-
-msgid "Looking for printer."
-msgstr ""
-
-msgid "Make and Model: "
-msgstr "Tillverkning och modell: "
-
-msgid "Manual Feed"
-msgstr "Manuell matning"
-
-msgid "Media Dimensions: "
-msgstr "Mediemått: "
-
-msgid "Media Limits: "
-msgstr "Mediegränser: "
-
-msgid "Media Name: "
-msgstr "Medienamn: "
-
-msgid "Media Size"
-msgstr "Mediestorlek"
-
-msgid "Media Source"
-msgstr "Mediekälla"
-
-msgid "Media Tracking"
-msgstr "Mediespårning"
-
-msgid "Media Type"
-msgstr "Medietyp"
-
-msgid "Medium"
-msgstr "Medium"
-
-msgid "Memory allocation error"
-msgstr "Minnestilldelningsfel"
-
-msgid "Missing CloseGroup"
-msgstr ""
-
-msgid "Missing PPD-Adobe-4.x header"
-msgstr "Saknar PPD-Adobe-4.x-huvud"
-
-msgid "Missing asterisk in column 1"
-msgstr "Saknar asterisk i kolumn 1"
-
-msgid "Missing document-number attribute."
-msgstr ""
-
-#, c-format
-msgid "Missing double quote on line %d."
-msgstr ""
-
-msgid "Missing form variable"
-msgstr ""
-
-msgid "Missing last-document attribute in request."
-msgstr ""
-
-msgid "Missing media or media-col."
-msgstr ""
-
-msgid "Missing media-size in media-col."
-msgstr ""
-
-msgid "Missing notify-subscription-ids attribute."
-msgstr ""
-
-msgid "Missing option keyword"
-msgstr ""
-
-msgid "Missing requesting-user-name attribute."
-msgstr ""
-
-msgid "Missing required attributes."
-msgstr ""
-
-#, c-format
-msgid "Missing value on line %d of banner file."
-msgstr ""
-
-#, c-format
-msgid "Missing value on line %d."
-msgstr ""
-
-msgid "Missing value string"
-msgstr "Saknar värdesträng"
-
-msgid "Missing x-dimension in media-size."
-msgstr ""
-
-msgid "Missing y-dimension in media-size."
-msgstr ""
-
-#, c-format
-msgid ""
-"Model:  name = %s\n"
-"        natural_language = %s\n"
-"        make-and-model = %s\n"
-"        device-id = %s"
-msgstr ""
-
-msgid "Modify Class"
-msgstr "Ändra klass"
-
-msgid "Modify Printer"
-msgstr "Ändra skrivare"
-
-msgid "Move All Jobs"
-msgstr "Flytta alla utskrifter"
-
-msgid "Move Job"
-msgstr "Flytta utskrift"
-
-msgid "Moved Permanently"
-msgstr "Flyttad permanent"
-
-msgid "NULL PPD file pointer"
-msgstr "NULL PPD-filspekare"
-
-msgid "Name OID uses indefinite length"
-msgstr "OID-namn använder obegränsad längd"
-
-msgid "Nested classes are not allowed."
-msgstr ""
-
-msgid "Never"
-msgstr "Aldrig"
-
-msgid "New Stylus Color Series"
-msgstr "Nya Stylus Color-serier"
-
-msgid "New Stylus Photo Series"
-msgstr "Nya Stylus Photo-serier"
-
-msgid "No"
-msgstr "Nej"
-
-msgid "No Content"
-msgstr "Inget innehåll"
-
-msgid "No PPD name"
-msgstr ""
-
-msgid "No VarBind SEQUENCE"
-msgstr "Ingen VarBind SEQUENCE"
-
-msgid "No Windows printer drivers are installed."
-msgstr ""
-
-msgid "No active connection"
-msgstr "Ingen aktiv anslutning"
-
-#, c-format
-msgid "No active jobs on %s."
-msgstr ""
-
-msgid "No attributes in request."
-msgstr ""
-
-msgid "No authentication information provided."
-msgstr ""
-
-msgid "No community name"
-msgstr "Inget gruppnamn"
-
-msgid "No default printer."
-msgstr ""
-
-msgid "No destinations added."
-msgstr "Inga mål tillagda."
-
-msgid "No device URI found in argv[0] or in DEVICE_URI environment variable."
-msgstr ""
-
-msgid "No error-index"
-msgstr "Inget felindex"
-
-msgid "No error-status"
-msgstr "Ingen felstatus"
-
-msgid "No file in print request."
-msgstr ""
-
-msgid "No fonts in charset file."
-msgstr ""
-
-msgid "No modification time"
-msgstr ""
-
-msgid "No name OID"
-msgstr "Inget OID-namn"
-
-msgid "No pages were found."
-msgstr ""
-
-msgid "No printer name"
-msgstr ""
-
-msgid "No printer-uri found"
-msgstr ""
-
-msgid "No printer-uri found for class"
-msgstr ""
-
-msgid "No printer-uri in request."
-msgstr ""
-
-msgid "No request-id"
-msgstr "Inget order-ID"
-
-msgid "No subscription attributes in request."
-msgstr ""
-
-msgid "No subscriptions found."
-msgstr "Inga prenumerationer hittades."
-
-msgid "No variable-bindings SEQUENCE"
-msgstr "Ingen variable-bindings SEQUENCE"
-
-msgid "No version number"
-msgstr "Inget versionsnummer"
-
-msgid "Non-continuous (Mark sensing)"
-msgstr "Non-continuous (Mark sensing)"
-
-msgid "Non-continuous (Web sensing)"
-msgstr "Non-continuous (Web sensing)"
-
-msgid "Normal"
-msgstr "Normal"
-
-msgid "Not Found"
-msgstr "Hittades inte"
-
-msgid "Not Implemented"
-msgstr "Inte implementerad"
-
-msgid "Not Installed"
-msgstr "Inte installerad"
-
-msgid "Not Modified"
-msgstr "Inte ändrad"
-
-msgid "Not Supported"
-msgstr "Stöds inte"
-
-msgid "Not allowed to print."
-msgstr "Ingen förvald skrivare."
-
-msgid "Note"
-msgstr "Anm"
-
-msgid ""
-"Note: this program only validates the DSC comments, not the PostScript "
-"itself."
-msgstr ""
-
-msgid "OK"
-msgstr "OK"
-
-msgid "Off (1-Sided)"
-msgstr "Av (1-sidig)"
-
-msgid "Oki"
-msgstr "Oki"
-
-msgid "Online Help"
-msgstr "Hjälp på webben"
-
-#, c-format
-msgid "Open of %s failed: %s"
-msgstr "Kunde inte öppna %s: %s"
-
-msgid "OpenGroup without a CloseGroup first"
-msgstr "OpenGroup utan en CloseGroup först"
-
-msgid "OpenUI/JCLOpenUI without a CloseUI/JCLCloseUI first"
-msgstr "OpenUI/JCLOpenUI utan en CloseUI/JCLCloseUI först"
-
-msgid "Operation Policy"
-msgstr "Åtgärdspolicy"
-
-#, c-format
-msgid "Option \"%s\" cannot be included via %%%%IncludeFeature."
-msgstr ""
-
-msgid "Options Installed"
-msgstr "Alternativ installerade"
-
-msgid "Options:"
-msgstr ""
-
-msgid "Options: "
-msgstr "Alternativ: "
-
-msgid "Out of date PPD cache file."
-msgstr ""
-
-msgid "Out of memory."
-msgstr ""
-
-msgid "Output Mode"
-msgstr "Utmatningsläge"
-
-#, c-format
-msgid "Output for printer %s is sent to %s"
-msgstr ""
-
-#, c-format
-msgid "Output for printer %s is sent to remote printer %s on %s"
-msgstr ""
-
-#, c-format
-msgid "Output for printer %s/%s is sent to %s"
-msgstr ""
-
-#, c-format
-msgid "Output for printer %s/%s is sent to remote printer %s on %s"
-msgstr ""
-
-msgid "PASS"
-msgstr ""
-
-msgid "PCL Laser Printer"
-msgstr "Laserskrivare PCL"
-
-msgid "PRC16K"
-msgstr "PRC16K"
-
-msgid "PRC16K Long Edge"
-msgstr ""
-
-msgid "PRC32K"
-msgstr "PRC32K"
-
-msgid "PRC32K Long Edge"
-msgstr ""
-
-msgid "PRC32K Oversize"
-msgstr ""
-
-msgid "PRC32K Oversize Long Edge"
-msgstr ""
-
-msgid "Packet does not contain a Get-Response-PDU"
-msgstr "Paket innehåller inte Get-Response-PDU"
-
-msgid "Packet does not start with SEQUENCE"
-msgstr "Paket börjar inte med SEQUENCE"
-
-msgid "ParamCustominCutInterval"
-msgstr "ParamCustominCutInterval"
-
-msgid "ParamCustominTearInterval"
-msgstr "ParamCustominTearInterval"
-
-#, c-format
-msgid "Password for %s on %s? "
-msgstr "Lösenord för %s på %s? "
-
-#, c-format
-msgid "Password for %s required to access %s via SAMBA: "
-msgstr "Lösenord för %s krävs för att nå %s via SAMBA: "
-
-msgid "Pause Class"
-msgstr "Pausa klass"
-
-msgid "Pause Printer"
-msgstr "Pausa skrivare"
-
-msgid "Peel-Off"
-msgstr "Peel-Off"
-
-msgid "Photo"
-msgstr "Foto"
-
-msgid "Photo Labels"
-msgstr "Fotoetiketter"
-
-msgid "Plain Paper"
-msgstr "Vanligt papper"
-
-msgid "Policies"
-msgstr "Policier"
-
-msgid "Port Monitor"
-msgstr "Portövervakare"
-
-msgid "PostScript Printer"
-msgstr "PostScript-skrivare"
-
-msgid "Postcard"
-msgstr "Vykort"
-
-msgid "Postcard Double "
-msgstr ""
-
-msgid "Postcard Double Long Edge"
-msgstr ""
-
-msgid "Postcard Long Edge"
-msgstr ""
-
-msgid "Print Density"
-msgstr "Svärta"
-
-msgid "Print Job:"
-msgstr "Utskrift:"
-
-msgid "Print Mode"
-msgstr "Utskriftsläge"
-
-msgid "Print Rate"
-msgstr "Utskriftshastighet"
-
-msgid "Print Self-Test Page"
-msgstr "Skriv ut självtestsida"
-
-msgid "Print Speed"
-msgstr "Utskriftshastighet"
-
-msgid "Print Test Page"
-msgstr "Skriv ut testsida"
-
-msgid "Print and Cut"
-msgstr "Skriv ut och beskär"
-
-msgid "Print and Tear"
-msgstr "Skriv ut riv"
-
-#, c-format
-msgid "Print file accepted - job ID %d."
-msgstr ""
-
-msgid "Print file accepted - job ID unknown."
-msgstr ""
-
-msgid "Print file sent."
-msgstr ""
-
-msgid "Print file was not accepted."
-msgstr ""
-
-msgid "Print job too large."
-msgstr ""
-
-msgid "Printed For: "
-msgstr "Utskriven för: "
-
-msgid "Printed From: "
-msgstr "Utskriven från: "
-
-msgid "Printed On: "
-msgstr "Utskriven den: "
-
-msgid "Printer Added"
-msgstr "Skrivare tillagd"
-
-msgid "Printer Default"
-msgstr "Skrivarstandard"
-
-msgid "Printer Deleted"
-msgstr "Skrivare borttagen"
-
-msgid "Printer Modified"
-msgstr "Skrivare ändrad"
-
-msgid "Printer Name: "
-msgstr "Skrivarnamn: "
-
-msgid "Printer Paused"
-msgstr "Utskrift pausad"
-
-msgid "Printer Settings"
-msgstr "Skrivarinställningar"
-
-msgid "Printer busy, will retry in 10 seconds."
-msgstr ""
-
-msgid "Printer busy; will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer did not respond."
-msgstr ""
-
-#, c-format
-msgid "Printer does not support IPP/%d.%d, trying IPP/%s."
-msgstr ""
-
-msgid "Printer is busy, will retry in 5 seconds."
-msgstr ""
-
-msgid "Printer is not currently connected."
-msgstr ""
-
-msgid "Printer is now connected."
-msgstr ""
-
-msgid "Printer is now online."
-msgstr ""
-
-msgid "Printer is offline."
-msgstr ""
-
-msgid "Printer not connected, will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer not connected; will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer:"
-msgstr "Skrivare:"
-
-msgid "Printers"
-msgstr "Skrivare"
-
-#, c-format
-msgid "Printing page %d, %d%% complete."
-msgstr ""
-
-#, c-format
-msgid "Printing page %d."
-msgstr ""
-
-msgid "Purge Jobs"
-msgstr "Rensa utskrifter"
-
-msgid "Quarto"
-msgstr "Kvartsark"
-
-msgid "Quota limit reached."
-msgstr "Kvotgräns nådd."
-
-msgid "Rank    Owner   Job     File(s)                         Total Size"
-msgstr ""
-
-#. TRANSLATORS: Pri is job priority.
-msgid ""
-"Rank   Owner      Pri  Job        Files                       Total Size"
-msgstr ""
-
-msgid "Ready to print."
-msgstr ""
-
-msgid "Reject Jobs"
-msgstr "Neka utskrifter"
-
-#, c-format
-msgid "Remote host did not accept control file (%d)."
-msgstr ""
-
-#, c-format
-msgid "Remote host did not accept data file (%d)."
-msgstr ""
-
-msgid "Reprint After Error"
-msgstr "Skriv ut igen efter fel"
-
-msgid "Request Entity Too Large"
-msgstr "Enheten är för stor"
-
-msgid "Resolution"
-msgstr "Upplösning"
-
-msgid "Resume Class"
-msgstr "Återuppta klass"
-
-msgid "Resume Printer"
-msgstr "Återuppta skrivare"
-
-msgid "Return Address"
-msgstr "Returadress"
-
-msgid "Return Address - 3/4 x 2\""
-msgstr "Returadress- 3/4 x 2\""
-
-msgid "Rewind"
-msgstr "Bakåt"
-
-#, c-format
-msgid "Running command: %s %s -N -A %s -c '%s'"
-msgstr ""
-
-msgid "SEQUENCE uses indefinite length"
-msgstr "SEQUENCE använder obegränsad längd"
-
-msgid "SSL/TLS Negotiation Error"
-msgstr ""
-
-msgid "See Other"
-msgstr "Visa andra"
-
-msgid "Sending data to printer."
-msgstr ""
-
-#, c-format
-msgid "Serial Port #%d"
-msgstr "Serieport #%d"
-
-msgid "Server Restarted"
-msgstr "Servern har startats om"
-
-msgid "Server Security Auditing"
-msgstr "Säkerhetskontroll av servern"
-
-msgid "Server Started"
-msgstr "Servern har startat"
-
-msgid "Server Stopped"
-msgstr "Servern har stoppats"
-
-msgid "Service Unavailable"
-msgstr "Tjänst otillgänglig"
-
-msgid "Set Allowed Users"
-msgstr "Ställ in tillåtna användare"
-
-msgid "Set As Server Default"
-msgstr "Ställ in som serverförval"
-
-msgid "Set Class Options"
-msgstr "Ställ in klassalternativ"
-
-msgid "Set Printer Options"
-msgstr "Ställ in skrivaralternativ"
-
-msgid "Set Publishing"
-msgstr "Ställ in publicering"
-
-msgid "Shipping Address"
-msgstr "Leveransadress"
-
-msgid "Shipping Address - 2 5/16 x 4\""
-msgstr "Leveransadress - 2 5/16 x 4\""
-
-msgid "Short-Edge (Landscape)"
-msgstr "Kortsida (landskap)"
-
-msgid "Special Paper"
-msgstr "Specialpapper"
-
-#, c-format
-msgid "Spooling job, %.0f%% complete."
-msgstr ""
-
-msgid "Standard"
-msgstr "Standard"
-
-#. TRANSLATORS: Banner/cover sheet before the print job.
-msgid "Starting Banner"
-msgstr "Startbanner"
-
-#, c-format
-msgid "Starting page %d."
-msgstr ""
-
-msgid "Statement"
-msgstr "Utsaga"
-
-msgid "Stylus Color Series"
-msgstr "Stylus Color-serier"
-
-msgid "Stylus Photo Series"
-msgstr "Stylus Photo-serier"
-
-#, c-format
-msgid "Subscription #%d does not exist."
-msgstr ""
-
-msgid "Super A"
-msgstr "Super A"
-
-msgid "Super B"
-msgstr "Super B"
-
-msgid "Super B/A3"
-msgstr "Super B/A3"
-
-msgid "Switching Protocols"
-msgstr "Byter protokoll"
-
-msgid "Tabloid"
-msgstr "Tabloid"
-
-msgid "Tabloid Oversize"
-msgstr ""
-
-msgid "Tabloid Oversize Long Edge"
-msgstr ""
-
-msgid "Tear"
-msgstr "Riv"
-
-msgid "Tear-Off"
-msgstr "Riv-av"
-
-msgid "Tear-Off Adjust Position"
-msgstr "Justeringsposition för avrivning"
-
-#, c-format
-msgid "The %s attribute cannot be provided with job-ids."
-msgstr ""
-
-#, c-format
-msgid "The PPD file \"%s\" could not be found."
-msgstr "PPD-filen \"%s\" hittades inte."
-
-#, c-format
-msgid "The PPD file \"%s\" could not be opened: %s"
-msgstr "PPD-filen \"%s\" kunde inte öppnas: %s"
-
-msgid "The PPD file could not be opened."
-msgstr ""
-
-msgid ""
-"The class name may only contain up to 127 printable characters and may not "
-"contain spaces, slashes (/), or the pound sign (#)."
-msgstr ""
-"Klassnamnet får endast innehålla upp till 127 skrivbara tecken och får inte "
-"innehålla blanksteg, snedstreck (/) eller fyrkantstecknet (#)."
-
-msgid "The developer unit needs to be replaced."
-msgstr ""
-
-msgid "The developer unit will need to be replaced soon."
-msgstr ""
-
-msgid "The fuser's temperature is high."
-msgstr ""
-
-msgid "The fuser's temperature is low."
-msgstr ""
-
-msgid ""
-"The notify-lease-duration attribute cannot be used with job subscriptions."
-msgstr ""
-"Attributet notify-lease-duration kan inte användas med "
-"utskriftsprenumerationer."
-
-#, c-format
-msgid "The notify-user-data value is too large (%d > 63 octets)."
-msgstr ""
-
-msgid "The optical photoconductor needs to be replaced."
-msgstr ""
-
-msgid "The optical photoconductor will need to be replaced soon."
-msgstr ""
-
-msgid "The output bin is almost full."
-msgstr ""
-
-msgid "The output bin is full."
-msgstr ""
-
-msgid "The output bin is missing."
-msgstr ""
-
-msgid "The page setup information was not valid."
-msgstr ""
-
-msgid "The paper tray is almost empty."
-msgstr ""
-
-msgid "The paper tray is empty."
-msgstr ""
-
-msgid "The paper tray is missing."
-msgstr ""
-
-msgid "The paper tray needs to be filled."
-msgstr ""
-
-msgid "The print file could not be opened."
-msgstr ""
-
-msgid "The printer URI is incorrect or no longer exists."
-msgstr ""
-
-msgid "The printer is busy."
-msgstr ""
-
-msgid "The printer is not connected."
-msgstr ""
-
-msgid "The printer is not responding."
-msgstr ""
-
-msgid "The printer is out of ink."
-msgstr ""
-
-msgid "The printer is running low on ink."
-msgstr ""
-
-msgid "The printer is running low on toner."
-msgstr ""
-
-msgid "The printer is unreachable at this time."
-msgstr ""
-
-msgid "The printer may be out of toner."
-msgstr ""
-
-msgid "The printer may not exist or is unavailable at this time."
-msgstr ""
-
-msgid ""
-"The printer name may only contain up to 127 printable characters and may not "
-"contain spaces, slashes (/), or the pound sign (#)."
-msgstr ""
-"Skrivarnamnet får endast innehålla upp till 127 skrivbara tecken och får "
-"inte innehålla blanksteg, snedstreck (/) eller fyrkantstecknet (#)."
-
-msgid "The printer or class does not exist."
-msgstr ""
-
-msgid "The printer or class is not shared."
-msgstr ""
-
-msgid "The printer's cover is open."
-msgstr ""
-
-msgid "The printer's door is open."
-msgstr ""
-
-msgid "The printer's interlock is open."
-msgstr ""
-
-msgid "The printer's waste bin is almost full."
-msgstr ""
-
-msgid "The printer's waste bin is full."
-msgstr ""
-
-#, c-format
-msgid "The printer-uri \"%s\" contains invalid characters."
-msgstr "Printer-uri \"%s\" innehåller ogiltiga tecken."
-
-msgid "The printer-uri attribute is required."
-msgstr ""
-
-msgid ""
-"The printer-uri must be of the form \"ipp://HOSTNAME/classes/CLASSNAME\"."
-msgstr ""
-"Printer-uri måste vara i formatet \"ipp://VÄRDNAMN/classes/KLASSNAMN\"."
-
-msgid ""
-"The printer-uri must be of the form \"ipp://HOSTNAME/printers/PRINTERNAME\"."
-msgstr ""
-"Printer-uri måste vara i formatet \"ipp://VÄRDNAMN/printers/SKRIVARNAMN\"."
-
-msgid ""
-"The subscription name may not contain spaces, slashes (/), question marks "
-"(?), or the pound sign (#)."
-msgstr ""
-"&quot;Klassnamnet får endast innehålla upp till 127 skrivbara tecken och får "
-"inte innehålla blanksteg, snedstreck (/), frågetecken (?) eller "
-"fyrkantstecknet (#)."
-
-msgid ""
-"The web interface is currently disabled. Run \"cupsctl WebInterface=yes\" to "
-"enable it."
-msgstr ""
-
-#, c-format
-msgid "The which-jobs value \"%s\" is not supported."
-msgstr ""
-
-msgid "There are too many subscriptions."
-msgstr "Det finns för många prenumerationer."
-
-msgid "There is a paper jam."
-msgstr ""
-
-msgid "There was an unrecoverable USB error."
-msgstr ""
-
-msgid "Thermal Transfer Media"
-msgstr "Termiska överföringsmedia"
-
-msgid "Title: "
-msgstr "Titel: "
-
-msgid "Too many active jobs."
-msgstr "För många aktiva utskrifter."
-
-#, c-format
-msgid "Too many job-sheets values (%d > 2)."
-msgstr ""
-
-#, c-format
-msgid "Too many printer-state-reasons values (%d > %d)."
-msgstr ""
-
-msgid "Transparency"
-msgstr "Genomskinlighet"
-
-msgid "Tray"
-msgstr "Fack"
-
-msgid "Tray 1"
-msgstr "Fack 1"
-
-msgid "Tray 2"
-msgstr "Fack 2"
-
-msgid "Tray 3"
-msgstr "Fack 3"
-
-msgid "Tray 4"
-msgstr "Fack 4"
-
-msgid "URI Too Long"
-msgstr "För lång URI"
-
-msgid "US Ledger"
-msgstr "US Ledger"
-
-msgid "US Legal"
-msgstr "US Legal"
-
-msgid "US Legal Oversize"
-msgstr ""
-
-msgid "US Letter"
-msgstr "US Letter"
-
-msgid "US Letter Long Edge"
-msgstr ""
-
-msgid "US Letter Oversize"
-msgstr ""
-
-msgid "US Letter Oversize Long Edge"
-msgstr ""
-
-msgid "US Letter Small"
-msgstr ""
-
-#, c-format
-msgid "USB Serial Port #%d"
-msgstr "USB-serieport #%d"
-
-msgid "Unable to access cupsd.conf file:"
-msgstr "Kunde inte nå filen cupsd.conf:"
-
-msgid "Unable to add RSS subscription:"
-msgstr "Kunde inte lägga till RSS-prenumeration:"
-
-msgid "Unable to add class:"
-msgstr "Kunde inte lägga till klass:"
-
-msgid "Unable to add document to print job."
-msgstr ""
-
-#, c-format
-msgid "Unable to add job for destination \"%s\"."
-msgstr ""
-
-msgid "Unable to add printer:"
-msgstr "Kunde inte lägga till skrivare:"
-
-msgid "Unable to allocate memory for file types."
-msgstr ""
-
-msgid "Unable to allocate memory for page info"
-msgstr ""
-
-msgid "Unable to allocate memory for pages array"
-msgstr ""
-
-msgid "Unable to cancel RSS subscription:"
-msgstr "Kunde inte avbryta RSS-prenumeration:"
-
-msgid "Unable to cancel print job."
-msgstr ""
-
-msgid "Unable to change printer-is-shared attribute:"
-msgstr "Kunde inte ändra attributet printer-is-shared:"
-
-msgid "Unable to change printer:"
-msgstr "Kunde inte ändra skrivare:"
-
-msgid "Unable to change server settings:"
-msgstr "Kunde inte ändra serverinställningar:"
-
-msgid "Unable to configure printer options."
-msgstr ""
-
-msgid "Unable to connect to host."
-msgstr "Kunde inte ansluta till värd."
-
-msgid "Unable to contact printer, queuing on next printer in class."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy 64-bit CUPS printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy 64-bit Windows printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy CUPS printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy PPD file - %s"
-msgstr ""
-
-msgid "Unable to copy PPD file."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy Windows 2000 printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy Windows 9x printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy interface script - %s"
-msgstr ""
-
-msgid "Unable to copy print file"
-msgstr ""
-
-msgid "Unable to create compressed print file"
-msgstr ""
-
-msgid "Unable to create pipes for filters"
-msgstr ""
-
-msgid "Unable to create printer-uri"
-msgstr ""
-
-msgid "Unable to create temporary file"
-msgstr ""
-
-msgid "Unable to create temporary file:"
-msgstr "Kunde inte skapa temporär fil:"
-
-msgid "Unable to delete class:"
-msgstr "Kunde inte ta bort klass:"
-
-msgid "Unable to delete printer:"
-msgstr "Kunde inte ta bort skrivare:"
-
-msgid "Unable to do maintenance command:"
-msgstr "Kunde inte utföra underhållskommando:"
-
-msgid "Unable to edit cupsd.conf files larger than 1MB"
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (certificate chain invalid)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (certificate not yet valid)."
-msgstr ""
-
-msgid "Unable to establish a secure connection to host (expired certificate)."
-msgstr ""
-
-msgid "Unable to establish a secure connection to host (host name mismatch)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (peer dropped connection "
-"before responding)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (self-signed certificate)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (untrusted certificate)."
-msgstr ""
-
-msgid "Unable to establish a secure connection to host."
-msgstr ""
-
-msgid "Unable to find destination for job"
-msgstr ""
-
-msgid "Unable to find printer."
-msgstr ""
-
-msgid "Unable to fork filter"
-msgstr ""
-
-msgid "Unable to generate compressed print file"
-msgstr ""
-
-msgid "Unable to get backend exit status."
-msgstr ""
-
-msgid "Unable to get class list:"
-msgstr "Kunde inte hämta klasslista:"
-
-msgid "Unable to get class status:"
-msgstr "Kunde inte hämta klasstatus:"
-
-msgid "Unable to get list of printer drivers:"
-msgstr "Kunde inte hämta listan med skrivardrivrutiner:"
-
-msgid "Unable to get printer attributes:"
-msgstr "Kunde inte hämta skrivarattribut:"
-
-msgid "Unable to get printer list:"
-msgstr "Kunde inte hämta skrivarlista:"
-
-msgid "Unable to get printer status."
-msgstr ""
-
-msgid "Unable to get printer status:"
-msgstr "Kunde inte hämta skrivarstatus:"
-
-#, c-format
-msgid "Unable to install Windows 2000 printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to install Windows 9x printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to locate printer \"%s\"."
-msgstr ""
-
-msgid "Unable to locate printer."
-msgstr ""
-
-msgid "Unable to modify class:"
-msgstr "Kunde inte ändra klass:"
-
-msgid "Unable to modify printer:"
-msgstr "Kunde inte ändra skrivare:"
-
-msgid "Unable to move job"
-msgstr "Kunde inte flytta utskrift"
-
-msgid "Unable to move jobs"
-msgstr "Kunde inte flytta utskrifter"
-
-msgid "Unable to open PPD file"
-msgstr "Kunde inte öppna PPD-fil"
-
-msgid "Unable to open PPD file:"
-msgstr "Kunde inte öppna PPD-fil:"
-
-msgid "Unable to open charset file"
-msgstr ""
-
-msgid "Unable to open compressed print file"
-msgstr ""
-
-msgid "Unable to open cupsd.conf file:"
-msgstr "Kunde inte öppna filen cupsd.conf:"
-
-msgid "Unable to open device file"
-msgstr ""
-
-#, c-format
-msgid "Unable to open document #%d in job #%d."
-msgstr ""
-
-msgid "Unable to open print file"
-msgstr ""
-
-msgid "Unable to open psglyphs"
-msgstr ""
-
-msgid "Unable to open raster file"
-msgstr ""
-
-#, c-format
-msgid "Unable to print %d text columns."
-msgstr ""
-
-#, c-format
-msgid "Unable to print %dx%d text page."
-msgstr ""
-
-msgid "Unable to print test page:"
-msgstr "Kunde inte skriva ut testsida:"
-
-msgid "Unable to read print data"
-msgstr ""
-
-msgid "Unable to read print data."
-msgstr ""
-
-#, c-format
-msgid "Unable to run \"%s\": %s"
-msgstr ""
-
-msgid "Unable to see in file"
-msgstr ""
-
-msgid "Unable to send command to printer driver"
-msgstr ""
-
-msgid "Unable to send data to printer."
-msgstr ""
-
-msgid "Unable to send raster data to the driver."
-msgstr ""
-
-#, c-format
-msgid "Unable to set Windows printer driver (%d)."
-msgstr ""
-
-msgid "Unable to set options:"
-msgstr "Kunde inte ställa in alternativ:"
-
-msgid "Unable to set server default:"
-msgstr "Kunde inte ställa in serverstandard:"
-
-msgid "Unable to start backend process."
-msgstr ""
-
-msgid "Unable to upload cupsd.conf file:"
-msgstr "Kunde inte skicka upp filen cupsd.conf:"
-
-msgid "Unable to use legacy USB class driver."
-msgstr ""
-
-msgid "Unable to write print data"
-msgstr ""
-
-#, c-format
-msgid "Unable to write uncompressed print data: %s"
-msgstr ""
-
-msgid "Unauthorized"
-msgstr "Ej auktoriserad"
-
-msgid "Units"
-msgstr "Enheter"
-
-msgid "Unknown"
-msgstr "Okänd"
-
-#, c-format
-msgid "Unknown choice \"%s\" for option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown encryption option value: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown file order: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown format character: \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown option \"%s\" with value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown print mode: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown printer-error-policy \"%s\"."
-msgstr "Okänd printer-error-policy \"%s\"."
-
-#, c-format
-msgid "Unknown printer-op-policy \"%s\"."
-msgstr "Okänd printer-op-policy \"%s\"."
-
-#, c-format
-msgid "Unknown version option value: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported baud rate: %s"
-msgstr ""
-
-#, c-format
-msgid "Unsupported brightness value %s, using brightness=100."
-msgstr ""
-
-#, c-format
-msgid "Unsupported character set \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported compression \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported document-format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported document-format \"%s/%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported gamma value %s, using gamma=1000."
-msgstr ""
-
-msgid "Unsupported margins."
-msgstr ""
-
-msgid "Unsupported media value."
-msgstr ""
-
-#, c-format
-msgid "Unsupported number-up value %d, using number-up=1."
-msgstr ""
-
-#, c-format
-msgid "Unsupported number-up-layout value %s, using number-up-layout=lrtb."
-msgstr ""
-
-#, c-format
-msgid "Unsupported page-border value %s, using page-border=none."
-msgstr ""
-
-msgid "Unsupported raster data."
-msgstr ""
-
-msgid "Unsupported value type"
-msgstr "Ogiltig värdetyp"
-
-msgid "Upgrade Required"
-msgstr "Uppgradering krävs"
-
-msgid ""
-"Usage:\n"
-"\n"
-"    lpadmin [-h server] -d destination\n"
-"    lpadmin [-h server] -x destination\n"
-"    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m model]\n"
-"                       [-r remove-class] [-v device] [-D description]\n"
-"                       [-P ppd-file] [-o name=value]\n"
-"                       [-u allow:user,user] [-u deny:user,user]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job user title copies options [filename]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job-id user title copies options [file]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job-id user title copies options file"
-msgstr ""
-
-msgid "Usage: convert [ options ]"
-msgstr ""
-
-msgid "Usage: cupsaddsmb [options] printer1 ... printerN"
-msgstr ""
-
-msgid "Usage: cupsctl [options] [param=value ... paramN=valueN]"
-msgstr ""
-
-msgid "Usage: cupsd [options]"
-msgstr ""
-
-msgid "Usage: cupsfilter [ options ] filename"
-msgstr ""
-
-msgid "Usage: cupstestdsc [options] filename.ps [... filename.ps]"
-msgstr ""
-
-msgid ""
-"Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]"
-msgstr ""
-
-msgid "Usage: ipptool [options] URI filename [ ... filenameN ]"
-msgstr ""
-
-msgid "Usage: lpmove job/src dest"
-msgstr ""
-
-msgid ""
-"Usage: lpoptions [-h server] [-E] -d printer\n"
-"       lpoptions [-h server] [-E] [-p printer] -l\n"
-"       lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
-"       lpoptions [-h server] [-E] -x printer"
-msgstr ""
-
-msgid "Usage: lppasswd [-g groupname]"
-msgstr ""
-
-msgid ""
-"Usage: lppasswd [-g groupname] [username]\n"
-"       lppasswd [-g groupname] -a [username]\n"
-"       lppasswd [-g groupname] -x [username]"
-msgstr ""
-
-msgid ""
-"Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]"
-msgstr ""
-
-msgid "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]"
-msgstr ""
-
-msgid "Usage: ppdhtml [options] filename.drv >filename.html"
-msgstr ""
-
-msgid "Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]"
-msgstr ""
-
-msgid "Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]"
-msgstr ""
-
-msgid ""
-"Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]"
-msgstr ""
-
-msgid "Usage: snmp [host-or-ip-address]"
-msgstr ""
-
-msgid "Value uses indefinite length"
-msgstr "Värde använder obegränsad längd"
-
-msgid "VarBind uses indefinite length"
-msgstr "VarBind använder obegränsad längd"
-
-msgid "Version uses indefinite length"
-msgstr "Version använder obegränsad längd"
-
-msgid "Waiting for job to complete."
-msgstr ""
-
-msgid "Waiting for printer to become available."
-msgstr ""
-
-msgid "Waiting for printer to finish."
-msgstr ""
-
-msgid "Warning, no Windows 2000 printer drivers are installed."
-msgstr ""
-
-msgid "Web Interface is Disabled"
-msgstr ""
-
-msgid "Yes"
-msgstr "Ja"
-
-#, c-format
-msgid ""
-"You must access this page using the URL <A HREF=\"https://%s:%d%s\">https://%"
-"s:%d%s</A>."
-msgstr ""
-"Du måste öppna sidan med url:en <A HREF=\"https://%s:%d%s\">https://%s:%d%s</"
-"A>."
-
-msgid ""
-"Your password must be at least 6 characters long, cannot contain your "
-"username, and must contain at least one letter and number."
-msgstr ""
-
-msgid "ZPL Label Printer"
-msgstr "Etikettskrivare ZPL"
-
-msgid "Zebra"
-msgstr "Zebra"
-
-msgid "aborted"
-msgstr "stoppad"
-
-msgid "canceled"
-msgstr "stoppad"
-
-msgid "completed"
-msgstr "klar"
-
-msgid "convert: Use the -f option to specify a file to convert."
-msgstr ""
-
-msgid "cups-deviced failed to execute."
-msgstr "cups-deviced misslyckades med att starta."
-
-msgid "cups-driverd failed to execute."
-msgstr "cups-driverd misslyckades med att starta."
-
-#, c-format
-msgid "cupsaddsmb: No PPD file for printer \"%s\" - %s"
-msgstr ""
-
-msgid "cupsctl: Cannot set Listen or Port directly."
-msgstr ""
-
-#, c-format
-msgid "cupsctl: Unable to connect to server: %s"
-msgstr ""
-
-#, c-format
-msgid "cupsctl: Unknown option \"%s\""
-msgstr ""
-
-#, c-format
-msgid "cupsctl: Unknown option \"-%c\""
-msgstr ""
-
-msgid "cupsd: Expected config filename after \"-c\" option."
-msgstr ""
-
-msgid "cupsd: Unable to get current directory."
-msgstr ""
-
-#, c-format
-msgid "cupsd: Unknown argument \"%s\" - aborting."
-msgstr ""
-
-#, c-format
-msgid "cupsd: Unknown option \"%c\" - aborting."
-msgstr ""
-
-msgid "cupsd: launchd(8) support not compiled in, running in normal mode."
-msgstr ""
-
-#, c-format
-msgid "cupsfilter: Invalid document number %d."
-msgstr ""
-
-#, c-format
-msgid "cupsfilter: Invalid job ID %d."
-msgstr ""
-
-msgid "cupsfilter: Only one filename can be specified."
-msgstr ""
-
-#, c-format
-msgid "cupsfilter: Unable to get job file - %s"
-msgstr ""
-
-msgid "cupstestppd: The -q option is incompatible with the -v option."
-msgstr ""
-
-msgid "cupstestppd: The -v option is incompatible with the -q option."
-msgstr ""
-
-#, c-format
-msgid "device for %s/%s: %s"
-msgstr ""
-
-#, c-format
-msgid "device for %s: %s"
-msgstr ""
-
-msgid "error-index uses indefinite length"
-msgstr "felindex använder obegränsad längd"
-
-msgid "error-status uses indefinite length"
-msgstr "felstatus använder obegränsad längd"
-
-msgid "held"
-msgstr "hålls kvar"
-
-msgid "help\t\tGet help on commands."
-msgstr ""
-
-msgid "idle"
-msgstr "overksam"
-
-msgid "ipptool: \"-i\" and \"-n\" are incompatible with -X\"."
-msgstr ""
-
-msgid "ipptool: \"-i\" is incompatible with \"-X\"."
-msgstr ""
-
-msgid "ipptool: \"-n\" is incompatible with \"-X\"."
-msgstr ""
-
-#, c-format
-msgid "ipptool: Bad URI - %s."
-msgstr ""
-
-#, c-format
-msgid "ipptool: Bad version %s for \"-V\"."
-msgstr ""
-
-msgid "ipptool: Invalid seconds for \"-i\"."
-msgstr ""
-
-msgid "ipptool: May only specify a single URI."
-msgstr ""
-
-msgid "ipptool: Missing count for \"-n\"."
-msgstr ""
-
-msgid "ipptool: Missing filename for \"-f\"."
-msgstr ""
-
-msgid "ipptool: Missing name=value for \"-d\"."
-msgstr ""
-
-msgid "ipptool: Missing seconds for \"-i\"."
-msgstr ""
-
-msgid "ipptool: Missing timeout for \"-T\"."
-msgstr ""
-
-msgid "ipptool: Missing version for \"-V\"."
-msgstr ""
-
-msgid "ipptool: URI required before test file."
-msgstr ""
-
-#, c-format
-msgid "ipptool: Unknown option \"-%c\"."
-msgstr ""
-
-msgid "job-printer-uri attribute missing."
-msgstr ""
-
-msgid "lpadmin: Class name can only contain printable characters."
-msgstr ""
-
-msgid "lpadmin: Expected PPD after \"-P\" option."
-msgstr ""
-
-msgid "lpadmin: Expected allow/deny:userlist after \"-u\" option."
-msgstr ""
-
-msgid "lpadmin: Expected class after \"-r\" option."
-msgstr ""
-
-msgid "lpadmin: Expected class name after \"-c\" option."
-msgstr ""
-
-msgid "lpadmin: Expected description after \"-D\" option."
-msgstr ""
-
-msgid "lpadmin: Expected device URI after \"-v\" option."
-msgstr ""
-
-msgid "lpadmin: Expected file type(s) after \"-I\" option."
-msgstr ""
-
-msgid "lpadmin: Expected hostname after \"-h\" option."
-msgstr ""
-
-msgid "lpadmin: Expected interface after \"-i\" option."
-msgstr ""
-
-msgid "lpadmin: Expected location after \"-L\" option."
-msgstr ""
-
-msgid "lpadmin: Expected model after \"-m\" option."
-msgstr ""
-
-msgid "lpadmin: Expected name after \"-R\" option."
-msgstr ""
-
-msgid "lpadmin: Expected name=value after \"-o\" option."
-msgstr ""
-
-msgid "lpadmin: Expected printer after \"-p\" option."
-msgstr ""
-
-msgid "lpadmin: Expected printer name after \"-d\" option."
-msgstr ""
-
-msgid "lpadmin: Expected printer or class after \"-x\" option."
-msgstr ""
-
-msgid "lpadmin: No member names were seen."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Printer %s is already a member of class %s."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Printer %s is not a member of class %s."
-msgstr ""
-
-msgid "lpadmin: Printer name can only contain printable characters."
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to add a printer to the class:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unable to connect to server: %s"
-msgstr ""
-
-msgid "lpadmin: Unable to create temporary file"
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to delete option:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unable to open PPD file \"%s\" - %s"
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to remove a printer from the class:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to set the printer options:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unknown allow/deny option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unknown argument \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unknown option \"%c\"."
-msgstr ""
-
-msgid "lpadmin: Warning - content type list ignored."
-msgstr ""
-
-msgid "lpc> "
-msgstr "lpc> "
-
-msgid "lpinfo: Expected 1284 device ID string after \"--device-id\"."
-msgstr ""
-
-msgid "lpinfo: Expected language after \"--language\"."
-msgstr ""
-
-msgid "lpinfo: Expected make and model after \"--make-and-model\"."
-msgstr ""
-
-msgid "lpinfo: Expected product string after \"--product\"."
-msgstr ""
-
-msgid "lpinfo: Expected scheme list after \"--exclude-schemes\"."
-msgstr ""
-
-msgid "lpinfo: Expected scheme list after \"--include-schemes\"."
-msgstr ""
-
-msgid "lpinfo: Expected timeout after \"--timeout\"."
-msgstr ""
-
-#, c-format
-msgid "lpinfo: Unknown argument \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpinfo: Unknown option \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "lpinfo: Unknown option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpmove: Unable to connect to server: %s"
-msgstr ""
-
-#, c-format
-msgid "lpmove: Unknown argument \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpmove: Unknown option \"%c\"."
-msgstr ""
-
-msgid "lpoptions: No printers."
-msgstr ""
-
-#, c-format
-msgid "lpoptions: Unable to add printer or instance: %s"
-msgstr ""
-
-#, c-format
-msgid "lpoptions: Unable to get PPD file for %s: %s"
-msgstr ""
-
-#, c-format
-msgid "lpoptions: Unable to open PPD file for %s."
-msgstr ""
-
-msgid "lpoptions: Unknown printer or class."
-msgstr ""
-
-msgid "lppasswd: Only root can add or delete passwords."
-msgstr ""
-
-msgid "lppasswd: Password file busy."
-msgstr ""
-
-msgid "lppasswd: Password file not updated."
-msgstr ""
-
-msgid "lppasswd: Sorry, password doesn't match."
-msgstr ""
-
-msgid "lppasswd: Sorry, password rejected."
-msgstr ""
-
-msgid "lppasswd: Sorry, passwords don't match."
-msgstr ""
-
-#, c-format
-msgid "lppasswd: Unable to copy password string: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: Unable to open password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: Unable to write to password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: failed to backup old password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: failed to rename password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: user \"%s\" and group \"%s\" do not exist."
-msgstr ""
-
-#, c-format
-msgid ""
-"lpstat: error - %s environment variable names non-existent destination \"%s"
-"\"."
-msgstr ""
-
-#, c-format
-msgid "members of class %s:"
-msgstr ""
-
-msgid "no entries"
-msgstr ""
-
-msgid "no system default destination"
-msgstr ""
-
-msgid "notify-events not specified."
-msgstr ""
-
-#, c-format
-msgid "notify-recipient-uri URI \"%s\" is already used."
-msgstr ""
-
-#, c-format
-msgid "notify-recipient-uri URI \"%s\" uses unknown scheme."
-msgstr ""
-
-msgid "pending"
-msgstr "väntar"
-
-#, c-format
-msgid "ppdc: Adding include directory \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Adding/updating UI text from %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad boolean value (%s) on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad font attribute: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad resolution name \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad status keyword %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad variable substitution ($%c) on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Choice found on line %d of %s with no Option."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Duplicate #po for locale %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected a filter definition on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected a program name on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected boolean value on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected charset after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected choice code on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected choice name/text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected color order for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected colorspace for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected compression for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected constraints string for UIConstraints on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Expected driver type keyword following DriverType on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected duplex type after Duplex on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected encoding after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected filename after #po %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected group name/text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected include filename on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected integer on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected locale after #po on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after FileName on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after Manufacturer on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after MediaSize on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after ModelName on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after PCFileName on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text after Installable on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text after Resolution on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text combination for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected option name/text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected option section on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected option type on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected override field after Resolution on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected quoted string on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected real number on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Expected resolution/mediatype following ColorProfile on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Expected resolution/mediatype following SimpleColorProfile on line %d "
-"of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected selector after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected status after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected string after Copyright on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected string after Version on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected two option names on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected value after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected version after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid #include/#po filename \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid cost for filter on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid empty MIME type for filter on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid empty program name for filter on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid option section \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid option type \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Loading driver information file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Loading messages for locale \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Loading messages from \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Missing #endif at end of \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Missing #if on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Need a msgid line before any translation strings on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: No message catalog provided for locale %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Option %s defined in two different groups on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Option %s redefined with a different type on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Option constraint must *name on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Too many nested #if's on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to create PPD file \"%s\" - %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to create output directory %s: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to create output pipes: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to execute cupstestppd: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to find #po file %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to find include file \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to find localization for \"%s\" - %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to load localization file \"%s\" - %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to open %s: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Undefined variable (%s) on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unexpected text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown driver type %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown media size \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown message catalog format for \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown token \"%s\" seen on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Unknown trailing characters in real number \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unterminated string starting with %c on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Warning - overlapping filename \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Writing %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Writing PPD files to directory \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s."
-msgstr ""
-
-#, c-format
-msgid "ppdmerge: Ignoring PPD file %s."
-msgstr ""
-
-#, c-format
-msgid "ppdmerge: Unable to backup %s to %s - %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s disabled since %s -"
-msgstr ""
-
-#, c-format
-msgid "printer %s is idle.  enabled since %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s now printing %s-%d.  enabled since %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s/%s disabled since %s -"
-msgstr ""
-
-#, c-format
-msgid "printer %s/%s is idle.  enabled since %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s/%s now printing %s-%d.  enabled since %s"
-msgstr ""
-
-msgid "processing"
-msgstr "bearbetar"
-
-#, c-format
-msgid "request id is %s-%d (%d file(s))"
-msgstr ""
-
-msgid "request-id uses indefinite length"
-msgstr "order-ID använder obegränsad längd"
-
-msgid "scheduler is not running"
-msgstr ""
-
-msgid "scheduler is running"
-msgstr ""
-
-#, c-format
-msgid "stat of %s failed: %s"
-msgstr "status för %s misslyckades: %s"
-
-msgid "status\t\tShow status of daemon and queue."
-msgstr ""
-
-msgid "stopped"
-msgstr "stoppad"
-
-#, c-format
-msgid "system default destination: %s"
-msgstr ""
-
-#, c-format
-msgid "system default destination: %s/%s"
-msgstr ""
-
-msgid "unknown"
-msgstr "okänd"
-
-msgid "untitled"
-msgstr "namnlös"
-
-msgid "variable-bindings uses indefinite length"
-msgstr "variabelbindningar använder obegränsad längd"
-
-#~ msgid "\t\t(all)\n"
-#~ msgstr "\t\t(alla)\n"
-
-#~ msgid "\t\t(none)\n"
-#~ msgstr "\t\t(ingen)\n"
-
-#~ msgid "\t%d entries\n"
-#~ msgstr "\t%d poster\n"
-
-#~ msgid "\tAfter fault: continue\n"
-#~ msgstr "\tEfter fel: fortsätt\n"
-
-#~ msgid "\tAlerts:"
-#~ msgstr "\tVarningar:"
-
-#~ msgid "\tBanner required\n"
-#~ msgstr "\tBanner krävs\n"
-
-#~ msgid "\tCharset sets:\n"
-#~ msgstr "\tTeckenkodningar:\n"
-
-#~ msgid "\tConnection: direct\n"
-#~ msgstr "\tAnslutning: direkt\n"
-
-#~ msgid "\tConnection: remote\n"
-#~ msgstr "\tAnslutning: fjärr\n"
-
-#~ msgid "\tDefault page size:\n"
-#~ msgstr "\tFörvalt pappersformat:\n"
-
-#~ msgid "\tDefault pitch:\n"
-#~ msgstr "\tStandardavstånd mellan bildpunkter:\n"
-
-#~ msgid "\tDefault port settings:\n"
-#~ msgstr "\tStandardportinställningar:\n"
-
-#~ msgid "\tDescription: %s\n"
-#~ msgstr "\tBeskrivning: %s\n"
-
-#~ msgid ""
-#~ "\tForm mounted:\n"
-#~ "\tContent types: any\n"
-#~ "\tPrinter types: unknown\n"
-#~ msgstr ""
-#~ "\tAktiv skrivarmall:\n"
-#~ "\tInnehållstyper: alla\n"
-#~ "\tSkrivartyper: okänt\n"
-
-#~ msgid "\tForms allowed:\n"
-#~ msgstr "\tTillåtna format:\n"
-
-#~ msgid "\tInterface: %s.ppd\n"
-#~ msgstr "\tGränssnitt: %s.ppd\n"
-
-#~ msgid "\tInterface: %s/interfaces/%s\n"
-#~ msgstr "\tGränssnitt: %s/interfaces/%s\n"
-
-#~ msgid "\tInterface: %s/ppd/%s.ppd\n"
-#~ msgstr "\tGränssnitt: %s/ppd/%s.ppd\n"
-
-#~ msgid "\tLocation: %s\n"
-#~ msgstr "\tPlats: %s\n"
-
-#~ msgid "\tOn fault: no alert\n"
-#~ msgstr "\tVid fel: ingen varning\n"
-
-#~ msgid "\tUsers allowed:\n"
-#~ msgstr "\tTillåtna användare:\n"
-
-#~ msgid "\tUsers denied:\n"
-#~ msgstr "\tNekade användare:\n"
-
-#~ msgid "\tdaemon present\n"
-#~ msgstr "\tdemon närvarande\n"
-
-#~ msgid "\tno entries\n"
-#~ msgstr "\tinga poster\n"
-
-#~ msgid "\tprinter is on device '%s' speed -1\n"
-#~ msgstr "\tskrivare finns på enheten ”%s” hastighet -1\n"
-
-#~ msgid "\tprinting is disabled\n"
-#~ msgstr "\tutskrifter är avaktiverade\n"
-
-#~ msgid "\tprinting is enabled\n"
-#~ msgstr "\tutskrifter är aktiverade\n"
-
-#~ msgid "\tqueued for %s\n"
-#~ msgstr "\tköad för %s\n"
-
-#~ msgid "\tqueuing is disabled\n"
-#~ msgstr "\tköläggning är avaktiverad\n"
-
-#~ msgid "\tqueuing is enabled\n"
-#~ msgstr "\tköläggning är aktiverad\n"
-
-#~ msgid "\treason unknown\n"
-#~ msgstr "\tokänd anledning\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "    DETAILED CONFORMANCE TEST RESULTS\n"
-#~ msgstr ""
-#~ "\n"
-#~ "    DETALJERADE TESTRESULTAT\n"
-
-#~ msgid "                REF: Page 15, section 3.1.\n"
-#~ msgstr "                REF: Sida 15, sektion 3.1.\n"
-
-#~ msgid "                REF: Page 15, section 3.2.\n"
-#~ msgstr "                REF: Sida 15, sektion 3.2.\n"
-
-#~ msgid "                REF: Page 19, section 3.3.\n"
-#~ msgstr "                REF: Sida 19, sektion 3.3.\n"
-
-#~ msgid "                REF: Page 20, section 3.4.\n"
-#~ msgstr "                REF: Sida 20, sektion 3.4.\n"
-
-#~ msgid "                REF: Page 27, section 3.5.\n"
-#~ msgstr "                REF: Sida 27, sektion 3.5.\n"
-
-#~ msgid "                REF: Page 42, section 5.2.\n"
-#~ msgstr "                REF: Sida 42, sektion 5.2.\n"
-
-#~ msgid "                REF: Pages 16-17, section 3.2.\n"
-#~ msgstr "                REF: Sidorna 16-17, sektion 3.2.\n"
-
-#~ msgid "                REF: Pages 42-45, section 5.2.\n"
-#~ msgstr "                REF: Sidorna 42-45, sektion 5.2.\n"
-
-#~ msgid "                REF: Pages 45-46, section 5.2.\n"
-#~ msgstr "                REF: Sidorna 45-46, sektion 5.2.\n"
-
-#~ msgid "                REF: Pages 48-49, section 5.2.\n"
-#~ msgstr "                REF: Sidorna 48-49, sektion 5.2.\n"
-
-#~ msgid "                REF: Pages 52-54, section 5.2.\n"
-#~ msgstr "                REF: Sidorna 52-54, sektion 5.2.\n"
-
-#~ msgid "        %-39.39s %.0f bytes\n"
-#~ msgstr "        %-39.39s %.0f byte\n"
-
-#~ msgid "        PASS    Default%s\n"
-#~ msgstr "        OK    Standard%s\n"
-
-#~ msgid "        PASS    DefaultImageableArea\n"
-#~ msgstr "        OK    DefaultImageableArea\n"
-
-#~ msgid "        PASS    DefaultPaperDimension\n"
-#~ msgstr "        OK    DefaultPaperDimension\n"
-
-#~ msgid "        PASS    FileVersion\n"
-#~ msgstr "        OK    FileVersion\n"
-
-#~ msgid "        PASS    FormatVersion\n"
-#~ msgstr "        OK    FormatVersion\n"
-
-#~ msgid "        PASS    LanguageEncoding\n"
-#~ msgstr "        OK    LanguageEncoding\n"
-
-#~ msgid "        PASS    LanguageVersion\n"
-#~ msgstr "        OK    LanguageVersion\n"
-
-#~ msgid "        PASS    Manufacturer\n"
-#~ msgstr "        OK    Manufacturer\n"
-
-#~ msgid "        PASS    ModelName\n"
-#~ msgstr "        OK    ModelName\n"
-
-#~ msgid "        PASS    NickName\n"
-#~ msgstr "        OK    NickName\n"
-
-#~ msgid "        PASS    PCFileName\n"
-#~ msgstr "        OK    PCFileName\n"
-
-#~ msgid "        PASS    PSVersion\n"
-#~ msgstr "        OK    PSVersion\n"
-
-#~ msgid "        PASS    PageRegion\n"
-#~ msgstr "        OK    PageRegion\n"
-
-#~ msgid "        PASS    PageSize\n"
-#~ msgstr "        OK    PageSize\n"
-
-#~ msgid "        PASS    Product\n"
-#~ msgstr "        OK    Product\n"
-
-#~ msgid "        PASS    ShortNickName\n"
-#~ msgstr "        OK    ShortNickName\n"
-
-#~ msgid ""
-#~ "        WARN    \"%s %s\" conflicts with \"%s %s\"\n"
-#~ "                (constraint=\"%s %s %s %s\")\n"
-#~ msgstr ""
-#~ "        VARN    \"%s %s\" är i konflikt med \"%s %s\"\n"
-#~ "                (begränsare=\"%s %s %s %s\")\n"
-
-#~ msgid "        WARN    %s has no corresponding options!\n"
-#~ msgstr "        VARN    %s har inga motsvarande alternativ!\n"
-
-#~ msgid ""
-#~ "        WARN    %s shares a common prefix with %s\n"
-#~ "                REF: Page 15, section 3.2.\n"
-#~ msgstr ""
-#~ "        VARN    %s delar ett vanligt prefix med %s\n"
-#~ "                REF: Sida 15, sektion 3.2.\n"
-
-#~ msgid "        WARN    Default choices conflicting!\n"
-#~ msgstr "        VARN    Standardval är i konflikt!\n"
-
-#~ msgid ""
-#~ "        WARN    Duplex option keyword %s may not work as expected and "
-#~ "should be named Duplex!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "        VARN    Nyckelordet %s för duplexalternativet  kanske inte "
-#~ "fungerar som det ska och bör vara Duplex!\n"
-#~ "                REF: Sida 122, sektion 5.17\n"
-
-#~ msgid ""
-#~ "        WARN    File contains a mix of CR, LF, and CR LF line endings!\n"
-#~ msgstr ""
-#~ "        VARN    Filen innehåller en blandning av radslut med CR, LF och "
-#~ "CR LF!\n"
-
-#~ msgid ""
-#~ "        WARN    LanguageEncoding required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 56-57, section 5.3.\n"
-#~ msgstr ""
-#~ "        VARN    LanguageEncoding krävs av PPD 4.3-spec.\n"
-#~ "                REF: Sidorna 56-57, sektion 5.3.\n"
-
-#~ msgid "        WARN    Line %d only contains whitespace!\n"
-#~ msgstr "        VARN    Rad %d innehåller endast mellanslag!\n"
-
-#~ msgid ""
-#~ "        WARN    Manufacturer required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 58-59, section 5.3.\n"
-#~ msgstr ""
-#~ "        VARN    Manufacturer krävs av PPD 4.3-spec.\n"
-#~ "                REF: Sidorna 58-59, sektion 5.3.\n"
-
-#~ msgid "        WARN    Missing APDialogExtension file \"%s\"\n"
-#~ msgstr "        VARN    Saknad APDialogExtension-fil ”%s”\n"
-
-#~ msgid "        WARN    Missing APPrinterIconPath file \"%s\"\n"
-#~ msgstr "        VARN    Saknad APPrinterIconPath-fil ”%s”\n"
-
-#~ msgid ""
-#~ "        WARN    Non-Windows PPD files should use lines ending with only "
-#~ "LF, not CR LF!\n"
-#~ msgstr ""
-#~ "        VARN    Icke-Windows PPD-filer bör använda radslut med endast LF, "
-#~ "inte CR LF!\n"
-
-#~ msgid ""
-#~ "        WARN    Obsolete PPD version %.1f!\n"
-#~ "                REF: Page 42, section 5.2.\n"
-#~ msgstr ""
-#~ "        VARN    Föråldrad PPD-version %.1f!\n"
-#~ "                REF: Sida 42, sektion 5.2.\n"
-
-#~ msgid ""
-#~ "        WARN    PCFileName longer than 8.3 in violation of PPD spec.\n"
-#~ "                REF: Pages 61-62, section 5.3.\n"
-#~ msgstr ""
-#~ "        VARN    PCFileName längre än 8.3 i strid med PPD-spec.\n"
-#~ "                REF: Sidorna 61-62, sektion 5.3.\n"
-
-#~ msgid ""
-#~ "        WARN    Protocols contains PJL but JCL attributes are not set.\n"
-#~ "                REF: Pages 78-79, section 5.7.\n"
-#~ msgstr ""
-#~ "        VARN    Protokollen innehåller PJL men JCL-attributen är inte "
-#~ "inställda.\n"
-#~ "                REF: Sidorna 78-79, sektion 5.7.\n"
-
-#~ msgid ""
-#~ "        WARN    Protocols contains both PJL and BCP; expected TBCP.\n"
-#~ "                REF: Pages 78-79, section 5.7.\n"
-#~ msgstr ""
-#~ "        VARN    Protokollen innehåller både PJL och BCP, förväntade "
-#~ "TBCP.\n"
-#~ "                REF: Sidorna 78-79, sektion 5.7.\n"
-
-#~ msgid ""
-#~ "        WARN    ShortNickName required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "        VARN    ShortNickName krävs av PPD 4.3-spec.\n"
-#~ "                REF: Sidorna 64-65, sektion 5.3.\n"
-
-#~ msgid "      %s  %s %s does not exist!\n"
-#~ msgstr "      %s  %s %s finns inte!\n"
-
-#~ msgid ""
-#~ "      %s  Bad %s choice %s!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "      %s  Felaktigt %s val %s!\n"
-#~ "                REF: Sida 122, sektion 5.17\n"
-
-#~ msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s!\n"
-#~ msgstr ""
-#~ "      %s  Felaktig UTF-8-översättningssträng ”%s” för alternativet %s!\n"
-
-#~ msgid ""
-#~ "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s!\n"
-#~ msgstr ""
-#~ "      %s  Felaktig UTF-8-översättningssträng ”%s” för alternativet %s, "
-#~ "valet %s!\n"
-
-#~ msgid "      %s  Bad cupsFilter value \"%s\"!\n"
-#~ msgstr "      %s  Felaktigt cupsFilter-värde \"%s\"!\n"
-
-#~ msgid "      %s  Bad cupsICCProfile %s!\n"
-#~ msgstr "      %s  Felaktig cupsICCProfile %s!\n"
-
-#~ msgid "      %s  Bad cupsPreFilter value \"%s\"!\n"
-#~ msgstr "      %s  Felaktigt cupsFilter-värde \"%s\"!\n"
-
-#~ msgid "      %s  Bad cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr "      %s  Felaktig cupsUIConstraints %s: \"%s\"!\n"
-
-#~ msgid "      %s  Bad language \"%s\"!\n"
-#~ msgstr "      %s  Felaktigt språk \"%s\"!\n"
-
-#~ msgid "      %s  Empty cupsUIConstraints %s!\n"
-#~ msgstr "      %s  Tom cupsUIConstraints %s!\n"
-
-#~ msgid "      %s  Missing \"%s\" translation string for option %s!\n"
-#~ msgstr "      %s  Saknad översättningssträng ”%s” för alternativet %s!\n"
-
-#~ msgid ""
-#~ "      %s  Missing \"%s\" translation string for option %s, choice %s!\n"
-#~ msgstr ""
-#~ "      %s  Saknad översättningssträng ”%s” för alternativet %s, valet %s!\n"
-
-#~ msgid ""
-#~ "      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"!\n"
-#~ msgstr "      %s  Valet *%s %s saknas i UIConstraints \"*%s %s *%s %s”!\n"
-
-#~ msgid "      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr "      %s  Valet *%s %s saknas i cupsUIConstraints %s: \"%s”!\n"
-
-#~ msgid "      %s  Missing cupsFilter file \"%s\"\n"
-#~ msgstr "      %s  Felaktigt cupsFilter-värde \"%s\"\n"
-
-#~ msgid "      %s  Missing cupsICCProfile file \"%s\"!\n"
-#~ msgstr "      %s  Saknad cupsICCProfile-fil \"%s\"!\n"
-
-#~ msgid "      %s  Missing cupsPreFilter file \"%s\"\n"
-#~ msgstr "      %s  Saknad cupsPreFilter-fil \"%s\"\n"
-
-#~ msgid "      %s  Missing cupsUIResolver %s!\n"
-#~ msgstr "      %s  Saknad cupsUIResolver %s!\n"
-
-#~ msgid "      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\"!\n"
-#~ msgstr ""
-#~ "      %s  Alternativet %s saknas i UIConstraints \"*%s %s *%s %s\"!\n"
-
-#~ msgid "      %s  Missing option %s in cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr "      %s  Alternativet %s saknas i cupsUIConstraints %s: \"%s\"!\n"
-
-#~ msgid "      %s  No base translation \"%s\" is included in file!\n"
-#~ msgstr "      %s  Ingen grundöversättning \"%s\" finns i filen!\n"
-
-#~ msgid ""
-#~ "      %s  REQUIRED %s does not define choice None!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "      %s  KRÄVER %s definierar inte valet None!\n"
-#~ "                REF: Sida 122, sektion 5.17\n"
-
-#~ msgid "      %s  cupsICCProfile %s hash value collides with %s!\n"
-#~ msgstr "      %s  cupsICCProfile %s hashvärde står i konflikt med %s!\n"
-
-#~ msgid "      %s  cupsUIResolver %s causes a loop!\n"
-#~ msgstr "      %s  cupsUIResolver %s orsakade en loop!\n"
-
-#~ msgid "      **FAIL**  %s choice names %s and %s differ only by case!\n"
-#~ msgstr ""
-#~ "      **FEL**  %s namnen %s och %s skiljer sig endast i fråga om stor "
-#~ "eller liten bokstav!\n"
-
-#~ msgid ""
-#~ "      **FAIL**  %s must be 1284DeviceID!\n"
-#~ "                REF: Page 72, section 5.5\n"
-#~ msgstr ""
-#~ "      **FEL**   %s måste vara 1284DeviceID!\n"
-#~ "                REF: Sida 72, sektion 5.5\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Default%s %s\n"
-#~ "                REF: Page 40, section 4.5.\n"
-#~ msgstr ""
-#~ "      **FEL**  FELAKTIG standard%s %s\n"
-#~ "                REF: Sida 40, sektion 4.5.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD DefaultImageableArea %s!\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FEL**  FELAKTIG DefaultImageableArea %s!\n"
-#~ "                REF: Sida 102, sektion 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD DefaultPaperDimension %s!\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FEL**  FELAKTIG DefaultPaperDimension %s!\n"
-#~ "                REF: Sida 103, sektion 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD JobPatchFile attribute in file\n"
-#~ "                REF: Page 24, section 3.4.\n"
-#~ msgstr ""
-#~ "      **FEL**  FELAKTIGT JobPatchFile-attribut i fil\n"
-#~ "                REF: Sida 24, sektion 3.4.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Manufacturer (should be \"HP\")\n"
-#~ "                REF: Page 211, table D.1.\n"
-#~ msgstr ""
-#~ "      **FEL**  FELAKTIG Manufacturer (ska vara \"HP\")\n"
-#~ "                REF: Sida 211, tabell D.1.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Manufacturer (should be \"Oki\")\n"
-#~ "                REF: Page 211, table D.1.\n"
-#~ msgstr ""
-#~ "      **FEL**  FELAKTIG Manufacturer (ska vara \"Oki\")\n"
-#~ "                REF: Sida 211, tabell D.1.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n"
-#~ "                REF: Pages 59-60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEL**  FELAKTIG ModelName- \"%c\" tillåts inte i sträng.\n"
-#~ "                REF: Sidorna 59-60, sektion 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD PSVersion - not \"(string) int\".\n"
-#~ "                REF: Pages 62-64, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEL**  FELAKTIG PSVersion - inte \"(string) int\".\n"
-#~ "                REF: Sidorna 62-64, sektion 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Product - not \"(string)\".\n"
-#~ "                REF: Page 62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEL**  FELAKTIG Product - inte \"(string)\".\n"
-#~ "                REF: Sida 62, sektion 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD ShortNickName - longer than 31 chars.\n"
-#~ "                REF: Pages 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEL**  FELAKTIG ShortNickName - längre än 31 tecken.\n"
-#~ "                REF: Sidorna 64-65, sektion 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad %s choice %s!\n"
-#~ "                REF: Page 84, section 5.9\n"
-#~ msgstr ""
-#~ "      **FEL**  Felaktigt %s-val %s!\n"
-#~ "                REF: Sida 84, sektion 5.9\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad FileVersion \"%s\"\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEL**  Felaktig FileVersion \"%s\"\n"
-#~ "                REF: Sida 56, sektion 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad FormatVersion \"%s\"\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEL**  Felaktig FormatVersion \"%s\"\n"
-#~ "                REF: Sida 56, sektion 5.3.\n"
-
-#~ msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1!\n"
-#~ msgstr "      **FEL**  Felaktig språkkodning %s - måste vara ISOLatin1!\n"
-
-#~ msgid "      **FAIL**  Bad LanguageVersion %s - must be English!\n"
-#~ msgstr "      **FEL**  Felaktigt språk %s - måste vara engelska!\n"
-
-#~ msgid "      **FAIL**  Default option code cannot be interpreted: %s\n"
-#~ msgstr "      **FEL**  Förvald alternativkod kan inte tolkas: %s\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Default translation string for option %s choice %s "
-#~ "contains 8-bit characters!\n"
-#~ msgstr ""
-#~ "      **FEL**  Standardöversättningssträng för alternativet %s val %s "
-#~ "innehåller 8-bitars tecken!\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Default translation string for option %s contains 8-bit "
-#~ "characters!\n"
-#~ msgstr ""
-#~ "      **FEL**  Standardöversättningssträng för alternativet %s innehåller "
-#~ "8-bitars tecken!\n"
-
-#~ msgid "      **FAIL**  Group names %s and %s differ only by case!\n"
-#~ msgstr ""
-#~ "      **FEL**  Gruppnamnen %s och %s skiljer sig endast i fråga om stor "
-#~ "eller liten bokstav!\n"
-
-#~ msgid "      **FAIL**  Multiple occurrences of %s choice name %s!\n"
-#~ msgstr "      **FEL**   Flera förekomster av %s namn %s!\n"
-
-#~ msgid "      **FAIL**  Option names %s and %s differ only by case!\n"
-#~ msgstr ""
-#~ "      **FEL**  Alternativnamnen %s och %s skiljer sig endast i fråga om "
-#~ "stor eller liten bokstav!\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Default%s\n"
-#~ "                REF: Page 40, section 4.5.\n"
-#~ msgstr ""
-#~ "      **FEL**  Standard%s KRÄVS\n"
-#~ "                REF: Sida 40, sektion 4.5.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED DefaultImageableArea\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FEL**  KRÄVER DefaultImageableArea\n"
-#~ "                REF: Sida 102, sektion 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED DefaultPaperDimension\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FEL**  KRÄVER DefaultPaperDimension\n"
-#~ "                REF: Sida 103, sektion 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED FileVersion\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEL**  KRÄVER FileVersion\n"
-#~ "                REF: Sida 56, sektion 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED FormatVersion\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEL**  KRÄVER FormatVersion\n"
-#~ "                REF: Sida 56, sektion 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ImageableArea for PageSize %s\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FEL**  KRÄVER ImageableArea för PageSize %s\n"
-#~ "                REF: Sida 41, sektion 5.\n"
-#~ "                REF: Sida 102, sektion 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED LanguageEncoding\n"
-#~ "                REF: Pages 56-57, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEL**  KRÄVER LanguageEncoding\n"
-#~ "                REF: Sidorna 56-57, sektion 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED LanguageVersion\n"
-#~ "                REF: Pages 57-58, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEL**  KRÄVER LanguageVersion\n"
-#~ "                REF: Sidorna 57-58, sektion 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Manufacturer\n"
-#~ "                REF: Pages 58-59, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEL**  KRÄVER Manufacturer\n"
-#~ "                REF: Sidorna 58-59, sektion 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ModelName\n"
-#~ "                REF: Pages 59-60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEL**  KRÄVER ModelName\n"
-#~ "                REF: Sidorna 59-60, sektion 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED NickName\n"
-#~ "                REF: Page 60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEL**  KRÄVER NickName\n"
-#~ "                REF: Sida 60, sektion 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PCFileName\n"
-#~ "                REF: Pages 61-62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEL**  KRÄVER PCFileName\n"
-#~ "                REF: Sidorna 61-62, sektion 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PSVersion\n"
-#~ "                REF: Pages 62-64, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEL**  KRÄVER PSVersion\n"
-#~ "                REF: Sidorna 62-64, sektion 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageRegion\n"
-#~ "                REF: Page 100, section 5.14.\n"
-#~ msgstr ""
-#~ "      **FEL**  KRÄVER PageRegion\n"
-#~ "                REF: Sida 100, sektion 5.14.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageSize\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 99, section 5.14.\n"
-#~ msgstr ""
-#~ "      **FEL**  KRÄVER PageSize\n"
-#~ "                REF: Sida 41, sektion 5.\n"
-#~ "                REF: Sida 99, sektion 5.14.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageSize\n"
-#~ "                REF: Pages 99-100, section 5.14.\n"
-#~ msgstr ""
-#~ "      **FEL**  KRÄVER PageSize\n"
-#~ "                REF: Sidorna 99-100, sektion 5.14.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PaperDimension for PageSize %s\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **FEL**  KRÄVER PaperDimension för PageSize %s\n"
-#~ "                REF: Sida 41, sektion 5.\n"
-#~ "                REF: Sida 103, sektion 5.15.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Product\n"
-#~ "                REF: Page 62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEL**  KRÄVER Product\n"
-#~ "                REF: Sida 62, sektion 5.3.\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ShortNickName\n"
-#~ "                REF: Page 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "      **FEL**  KRÄVER ShortNickName\n"
-#~ "                REF: Sidorna 64-65, sektion 5.3.\n"
-
-#~ msgid "    %d ERRORS FOUND\n"
-#~ msgstr "    %d FEL HITTADES\n"
-
-#~ msgid ""
-#~ "    Bad %%%%BoundingBox: on line %d!\n"
-#~ "        REF: Page 39, %%%%BoundingBox:\n"
-#~ msgstr ""
-#~ "    Felaktig %%%%BoundingBox: på rad %d!\n"
-#~ "        REF: Sida 39, %%%%BoundingBox:\n"
-
-#~ msgid ""
-#~ "    Bad %%%%Page: on line %d!\n"
-#~ "        REF: Page 53, %%%%Page:\n"
-#~ msgstr ""
-#~ "    Felaktig %%%%Page: på rad %d!\n"
-#~ "        REF: Sida 53, %%%%Page:\n"
-
-#~ msgid ""
-#~ "    Bad %%%%Pages: on line %d!\n"
-#~ "        REF: Page 43, %%%%Pages:\n"
-#~ msgstr ""
-#~ "    Felaktiga %%%%Pages: på rad %d!\n"
-#~ "        REF: Sida 43, %%%%Pages:\n"
-
-#~ msgid ""
-#~ "    Line %d is longer than 255 characters (%d)!\n"
-#~ "        REF: Page 25, Line Length\n"
-#~ msgstr ""
-#~ "    Rad %d är längre än 255 tecken (%d)!\n"
-#~ "        REF: Sida 25, Line Length\n"
-
-#~ msgid ""
-#~ "    Missing %!PS-Adobe-3.0 on first line!\n"
-#~ "        REF: Page 17, 3.1 Conforming Documents\n"
-#~ msgstr ""
-#~ "    Saknar %!PS-Adobe-3.0 på första raden!\n"
-#~ "        REF: Sida 17, 3.1 Conforming Documents\n"
-
-#~ msgid ""
-#~ "    Missing %%EndComments comment!\n"
-#~ "        REF: Page 41, %%EndComments\n"
-#~ msgstr ""
-#~ "    Saknar %%EndComments-kommentar!\n"
-#~ "        REF: Sida 41, %%EndComments\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%BoundingBox: comment!\n"
-#~ "        REF: Page 39, %%BoundingBox:\n"
-#~ msgstr ""
-#~ "    Saknad eller felaktig %%BoundingBox: kommentar!\n"
-#~ "        REF: Sida 39, %%BoundingBox:\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%Page: comments!\n"
-#~ "        REF: Page 53, %%Page:\n"
-#~ msgstr ""
-#~ "    Saknad eller felaktig %%Page: kommentar!\n"
-#~ "        REF: Sida 53, %%Page:\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%Pages: comment!\n"
-#~ "        REF: Page 43, %%Pages:\n"
-#~ msgstr ""
-#~ "    Saknad eller felaktig %%Pages: kommentar!\n"
-#~ "        REF: Sida 43, %%Pages:\n"
-
-#~ msgid "    NO ERRORS FOUND\n"
-#~ msgstr "    INGA FEL HITTADES\n"
-
-#~ msgid "    Saw %d lines that exceeded 255 characters!\n"
-#~ msgstr "    Såg %d rader som översteg 255 tecken!\n"
-
-#~ msgid "    Too many %%BeginDocument comments!\n"
-#~ msgstr "    För många %%BeginDocument-kommentarer!\n"
-
-#~ msgid "    Too many %%EndDocument comments!\n"
-#~ msgstr "    För många %%EndDocument-kommentarer!\n"
-
-#~ msgid "    Warning: file contains binary data!\n"
-#~ msgstr "    Varning: filen innehåller binärdata!\n"
-
-#~ msgid "    Warning: no %%EndComments comment in file!\n"
-#~ msgstr "    Varning: ingen %%EndComments-kommentar i fil!\n"
-
-#~ msgid "    Warning: obsolete DSC version %.1f in file!\n"
-#~ msgstr "    Varning: föråldrad DSC-version %.1f i fil!\n"
-
-#~ msgid " FAIL\n"
-#~ msgstr " FEL\n"
-
-#~ msgid ""
-#~ " FAIL\n"
-#~ "      **FAIL**  Unable to open PPD file - %s\n"
-#~ msgstr ""
-#~ " FEL\n"
-#~ "      **FEL**  Kunde inte öppna PPD-fil - %s\n"
-
-#~ msgid ""
-#~ " FAIL\n"
-#~ "      **FAIL**  Unable to open PPD file - %s on line %d.\n"
-#~ msgstr ""
-#~ " FEL\n"
-#~ "      **FEL**  Kunde inte öppna PPD-fil - %s på rad %d.\n"
-
-#~ msgid " PASS\n"
-#~ msgstr " OK\n"
-
-#~ msgid "#10 Envelope"
-#~ msgstr "#10 Envelope"
-
-#~ msgid "#11 Envelope"
-#~ msgstr "#11 Envelope"
-
-#~ msgid "#12 Envelope"
-#~ msgstr "#12 Envelope"
-
-#~ msgid "#14 Envelope"
-#~ msgstr "#14 Envelope"
-
-#~ msgid "#9 Envelope"
-#~ msgstr "#9 Envelope"
-
-#~ msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes\n"
-#~ msgstr "%-6s %-10.10s %-4d %-10d %-27.27s %.0f byte\n"
-
-#~ msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes\n"
-#~ msgstr "%-7s %-7.7s %-7d %-31.31s %.0f byte\n"
-
-#~ msgid "%s accepting requests since %s\n"
-#~ msgstr "%s accepterar begäran sedan %s\n"
-
-#~ msgid "%s is not implemented by the CUPS version of lpc.\n"
-#~ msgstr "%s är inte införd i CUPS-versionen av lpc.\n"
-
-#~ msgid "%s is not ready\n"
-#~ msgstr "%s är inte klar\n"
-
-#~ msgid "%s is ready\n"
-#~ msgstr "%s är klar\n"
-
-#~ msgid "%s is ready and printing\n"
-#~ msgstr "%s är klar och skriver ut\n"
-
-#~ msgid ""
-#~ "%s not accepting requests since %s -\n"
-#~ "\t%s\n"
-#~ msgstr ""
-#~ "%s accepterar inte begäran sedan %s -\n"
-#~ "\t%s\n"
-
-#~ msgid "%s not supported!"
-#~ msgstr "%s stöds inte!"
-
-#~ msgid "%s/%s accepting requests since %s\n"
-#~ msgstr "%s/%s accepterar begäran sedan %s\n"
-
-#~ msgid ""
-#~ "%s/%s not accepting requests since %s -\n"
-#~ "\t%s\n"
-#~ msgstr ""
-#~ "%s/%s accepterar inte begäran sedan %s -\n"
-#~ "\t%s\n"
-
-#~ msgid "%s: %-33.33s [job %d localhost]\n"
-#~ msgstr "%s: %-33.33s [utskrift %d localhost]\n"
-
-#~ msgid "%s: %s failed: %s\n"
-#~ msgstr "%s: %s misslyckades: %s\n"
-
-#~ msgid "%s: Don't know what to do!\n"
-#~ msgstr "%s: Vet inte vad som ska göras!\n"
-
-#~ msgid ""
-#~ "%s: Error - %s environment variable names non-existent destination \"%s"
-#~ "\"!\n"
-#~ msgstr "%s: Fel - miljövariabeln %s namnger icke-existerande mål \"%s\"!\n"
-
-#~ msgid "%s: Error - bad job ID!\n"
-#~ msgstr "%s: Fel - felaktigt utskrifts-ID!\n"
-
-#~ msgid "%s: Error - cannot print files and alter jobs simultaneously!\n"
-#~ msgstr ""
-#~ "%s: Fel - kan inte skriva ut filer och ändra utskrifter samtidigt!\n"
-
-#~ msgid ""
-#~ "%s: Error - cannot print from stdin if files or a job ID are provided!\n"
-#~ msgstr ""
-#~ "%s: Fel - kan inte skriva ut från standard in om filer eller ett "
-#~ "utskrifts-ID anges!\n"
-
-#~ msgid "%s: Error - expected character set after '-S' option!\n"
-#~ msgstr "%s: Fel - förväntade teckenkodning efter alternativet ”-S”!\n"
-
-#~ msgid "%s: Error - expected content type after '-T' option!\n"
-#~ msgstr "%s: Fel - förväntade innehållstyp efter alternativet ”-T”!\n"
-
-#~ msgid "%s: Error - expected copies after '-n' option!\n"
-#~ msgstr "%s: Fel - förväntade exemplar efter alternativet ”-n”!\n"
-
-#~ msgid "%s: Error - expected copy count after '-#' option!\n"
-#~ msgstr "%s: Fel - förväntade antal exemplar efter alternativet ”-#”!\n"
-
-#~ msgid "%s: Error - expected destination after '-P' option!\n"
-#~ msgstr "%s: Fel - förväntade mål efter alternativet ”-P”!\n"
-
-#~ msgid "%s: Error - expected destination after '-b' option!\n"
-#~ msgstr "%s: Fel - förväntade mål efter alternativet ”-b”!\n"
-
-#~ msgid "%s: Error - expected destination after '-d' option!\n"
-#~ msgstr "%s: Fel - förväntade mål efter alternativet ”-d”!\n"
-
-#~ msgid "%s: Error - expected form after '-f' option!\n"
-#~ msgstr "%s: Fel - förväntade format efter alternativet ”-f”!\n"
-
-#~ msgid "%s: Error - expected hold name after '-H' option!\n"
-#~ msgstr "%s: Fel - förväntade kvarhållningsnamn efter alternativet ”-H”!\n"
-
-#~ msgid "%s: Error - expected hostname after '-H' option!\n"
-#~ msgstr "%s: Fel - förväntade värdnamn efter alternativet ”-H”!\n"
-
-#~ msgid "%s: Error - expected hostname after '-h' option!\n"
-#~ msgstr "%s: Fel - förväntade värdnamn efter alternativet ”-h”!\n"
-
-#~ msgid "%s: Error - expected mode list after '-y' option!\n"
-#~ msgstr "%s: Fel - förväntade lägeslista efter alternativet ”-y”!\n"
-
-#~ msgid "%s: Error - expected name after '-%c' option!\n"
-#~ msgstr "%s: Fel - förväntade namn efter alternativet ”-%c”!\n"
-
-#~ msgid "%s: Error - expected option string after '-o' option!\n"
-#~ msgstr "%s: Fel - förväntade alternativsträng efter alternativet ”-o”!\n"
-
-#~ msgid "%s: Error - expected page list after '-P' option!\n"
-#~ msgstr "%s: Fel - förväntade sidlista efter alternativet ”-P”!\n"
-
-#~ msgid "%s: Error - expected priority after '-%c' option!\n"
-#~ msgstr "%s: Fel - förväntade prioritet efter alternativet ”-%c”!\n"
-
-#~ msgid "%s: Error - expected reason text after '-r' option!\n"
-#~ msgstr "%s: Fel - förväntade anledningstext efter alternativet ”-r”!\n"
-
-#~ msgid "%s: Error - expected title after '-t' option!\n"
-#~ msgstr "%s: Fel - förväntade titel efter alternativet ”-t”!\n"
-
-#~ msgid "%s: Error - expected username after '-U' option!\n"
-#~ msgstr "%s: Fel - förväntade användarnamn efter alternativet ”-U”!\n"
-
-#~ msgid "%s: Error - expected username after '-u' option!\n"
-#~ msgstr "%s: Fel - förväntade användarnamn efter alternativet ”-U”!\n"
-
-#~ msgid "%s: Error - expected value after '-%c' option!\n"
-#~ msgstr "%s: Fel - förväntade värde efter alternativet ”-%c”!\n"
-
-#~ msgid ""
-#~ "%s: Error - need \"completed\", \"not-completed\", or \"all\" after '-W' "
-#~ "option!\n"
-#~ msgstr ""
-#~ "%s: Fel - behöver ”completed”, ”not-completed” eller ”all” efter "
-#~ "alternativet ”-W”!\n"
-
-#~ msgid "%s: Error - no default destination available.\n"
-#~ msgstr "%s: Fel - inget standardmål tillgängligt.\n"
-
-#~ msgid "%s: Error - priority must be between 1 and 100.\n"
-#~ msgstr "%s: Fel - prioritet måste vara mellan 1 och 100.\n"
-
-#~ msgid "%s: Error - scheduler not responding!\n"
-#~ msgstr "%s: Fel - schemaläggare svarar inte!\n"
-
-#~ msgid "%s: Error - too many files - \"%s\"\n"
-#~ msgstr "%s: Fel - för många filer - \"%s\"\n"
-
-#~ msgid "%s: Error - unable to access \"%s\" - %s\n"
-#~ msgstr "%s: Fel - kunde inte komma åt \"%s\" - %s\n"
-
-#~ msgid "%s: Error - unable to queue from stdin - %s\n"
-#~ msgstr "%s: Fel - kunde inte köa från standard in - %s\n"
-
-#~ msgid "%s: Error - unknown destination \"%s\"!\n"
-#~ msgstr "%s: Fel - okänt mål \"%s\"!\n"
-
-#~ msgid "%s: Error - unknown destination \"%s/%s\"!\n"
-#~ msgstr "%s: Fel - okänt mål \"%s/%s\"!\n"
-
-#~ msgid "%s: Error - unknown option '%c'!\n"
-#~ msgstr "%s: Fel - okänt alternativ ”%c”!\n"
-
-#~ msgid "%s: Error - unknown option '%s'!\n"
-#~ msgstr "%s: Fel - okänt alternativ ”%s”!\n"
-
-#~ msgid "%s: Expected job ID after '-i' option!\n"
-#~ msgstr "%s: Förväntade utskrifts-ID efter alternativet ”-i”!\n"
-
-#~ msgid "%s: Filter \"%s\" not available: %s\n"
-#~ msgstr "%s: Filter \"%s\" inte tillgängligt: %s\n"
-
-#~ msgid "%s: Invalid destination name in list \"%s\"!\n"
-#~ msgstr "%s: Ogiltigt målnamn i listan \"%s\"!\n"
-
-#~ msgid "%s: Invalid filter string \"%s\"\n"
-#~ msgstr "%s: Ogiltig filtersträng \"%s\"\n"
-
-#~ msgid "%s: Need job ID ('-i jobid') before '-H restart'!\n"
-#~ msgstr "%s: Behöver utskrifts-ID (”-i jobid”) före ”-H restart”!\n"
-
-#~ msgid "%s: No filter to convert from %s/%s to %s/%s!\n"
-#~ msgstr "%s: Filter saknas för konvertering från %s/%s till %s/%s!\n"
-
-#~ msgid "%s: Operation failed: %s\n"
-#~ msgstr "%s: Åtgärd misslyckades: %s\n"
-
-#~ msgid "%s: Sorry, no encryption support compiled in!\n"
-#~ msgstr "%s: Tyvärr, inget stöd för kryptering har byggts in!\n"
-
-#~ msgid "%s: Unable to connect to server\n"
-#~ msgstr "%s: Kunde inte ansluta till server\n"
-
-#~ msgid "%s: Unable to contact server!\n"
-#~ msgstr "%s: Kunde inte kontakta server!\n"
-
-#~ msgid "%s: Unable to determine MIME type of \"%s\"!\n"
-#~ msgstr "%s: Kan inte avgöra MIME-typ hos \"%s\"!\n"
-
-#~ msgid "%s: Unable to open %s - %s\n"
-#~ msgstr "%s: Kan inte öppna %s - %s\n"
-
-#~ msgid "%s: Unable to open %s - %s on line %d.\n"
-#~ msgstr "%s: Kan inte öppna %s - %s på rad %d.\n"
-
-#~ msgid "%s: Unable to open %s: %s\n"
-#~ msgstr "%s: Kan inte öppna %s: %s\n"
-
-#~ msgid "%s: Unable to open PPD file: %s on line %d\n"
-#~ msgstr "%s: Kan inte öppna PPD-fil: %s på rad %d\n"
-
-#~ msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"!\n"
-#~ msgstr "%s: Kan inte läsa MIME-databas från \"%s\" eller \"%s\"!\n"
-
-#~ msgid "%s: Unknown destination \"%s\"!\n"
-#~ msgstr "%s: Okänt mål \"%s\"!\n"
-
-#~ msgid "%s: Unknown destination MIME type %s/%s!\n"
-#~ msgstr "%s: Okänd mål-MIME-typ %s/%s!\n"
-
-#~ msgid "%s: Unknown option '%c'!\n"
-#~ msgstr "%s: Okänt alternativ ”%c”!\n"
-
-#~ msgid "%s: Unknown source MIME type %s/%s!\n"
-#~ msgstr "%s: Okänd käll-MIME-typ %s/%s!\n"
-
-#~ msgid ""
-#~ "%s: Warning - '%c' format modifier not supported - output may not be "
-#~ "correct!\n"
-#~ msgstr ""
-#~ "%s: Varning - ”%c” formatmodifieraren stöds inte - utmatning kanske inte "
-#~ "blir korrekt!\n"
-
-#~ msgid "%s: Warning - character set option ignored!\n"
-#~ msgstr "%s: Varning - alternativet för teckenkodning ignorerades!\n"
-
-#~ msgid "%s: Warning - content type option ignored!\n"
-#~ msgstr "%s: Varning - alternativet för innehållstyp ignorerades!"
-
-#~ msgid "%s: Warning - form option ignored!\n"
-#~ msgstr "%s: Varning - formuläralternativ ignorerades!\n"
-
-#~ msgid "%s: Warning - mode option ignored!\n"
-#~ msgstr "%s: Varning - lägesalternativ ignorerades!\n"
-
-#~ msgid ""
-#~ "%s: error - %s environment variable names non-existent destination \"%s"
-#~ "\"!\n"
-#~ msgstr "%s: fel - miljövariabeln %s namnger icke-existerande mål \"%s\"!\n"
-
-#~ msgid "%s: error - expected option=value after '-o' option!\n"
-#~ msgstr "%s: förväntade option=value efter alternativet ”-o”!\n"
-
-#~ msgid "%s: error - no default destination available.\n"
-#~ msgstr "%s: Fel - inget standardmål tillgängligt.\n"
-
-#~ msgid "10 x 11\""
-#~ msgstr "10 x 11\""
-
-#~ msgid "10 x 13\""
-#~ msgstr "10 x 13\""
-
-#~ msgid "10 x 14\""
-#~ msgstr "10 x 14\""
-
-#~ msgid "12 x 11\""
-#~ msgstr "12 x 11\""
-
-#~ msgid "15 x 11\""
-#~ msgstr "15 x 11\""
-
-#~ msgid "600 DPI Grayscale"
-#~ msgstr "600 DPI gråskala"
-
-#~ msgid "60x720dpi"
-#~ msgstr "60 x 720 dpi"
-
-#~ msgid "7 x 9\""
-#~ msgstr "7 x 9\""
-
-#~ msgid "8 x 10\""
-#~ msgstr "8 x 10\""
-
-#~ msgid "9 x 11\""
-#~ msgstr "9 x 11\""
-
-#~ msgid "9 x 12\""
-#~ msgstr "9 x 12\""
-
-#~ msgid "?Invalid help command unknown\n"
-#~ msgstr "?Ogiltigt hjälpkommando okänt\n"
-
-#~ msgid "A Samba password is required to export printer drivers!"
-#~ msgstr "Ett Samba-lösenord krävs för att exportera skrivardrivrutiner"
-
-#~ msgid "A Samba username is required to export printer drivers!"
-#~ msgstr "Ett Samba-användarnamn krävs för att exportera skrivardrivrutiner!"
-
-#~ msgid "A class named \"%s\" already exists!"
-#~ msgstr "En klass med namnet \"%s\" finns redan!"
-
-#~ msgid "A printer named \"%s\" already exists!"
-#~ msgstr "En skrivare med namnet \"%s\" finns redan!"
-
-#~ msgid "A3 (Oversize)"
-#~ msgstr "A3 (större)"
-
-#~ msgid "A4 (Oversize)"
-#~ msgstr "A4 (större)"
-
-#~ msgid "A4 (Small)"
-#~ msgstr "A4 (mindre)"
-
-#~ msgid "A5 (Oversize)"
-#~ msgstr "A5 (större)"
-
-#~ msgid "ARCH A"
-#~ msgstr "ARCH A"
-
-#~ msgid "ARCH B"
-#~ msgstr "ARCH B"
-
-#~ msgid "Attempt to set %s printer-state to bad value %d!"
-#~ msgstr "Försök att ställa in %s printer-state till felaktigt värde %d!"
-
-#~ msgid "Attribute groups are out of order (%x < %x)!"
-#~ msgstr "Attributgrupper har fel ordning (%x < %x)!"
-
-#~ msgid "Bad device URI \"%s\"!\n"
-#~ msgstr "Felaktig device URI \"%s\"!\n"
-
-#~ msgid "Bad device-uri \"%s\"!"
-#~ msgstr "Felaktig device-uri \"%s\"!"
-
-#~ msgid "Bad device-uri scheme \"%s\"!"
-#~ msgstr "Felaktigt device-uri-system\"%s\"!"
-
-#~ msgid "Bad document-format \"%s\"!"
-#~ msgstr "Felaktigt document-format \"%s\"!"
-
-#~ msgid "Bad filename buffer!"
-#~ msgstr "Felaktig buffring av filnamn!"
-
-#~ msgid "Bad font attribute: %s\n"
-#~ msgstr "Felaktigt teckensnittsattribut: %s\n"
-
-#~ msgid "Bad job-priority value!"
-#~ msgstr "Felaktigt värde för utskriftsprioritet!"
-
-#~ msgid "Bad job-sheets value \"%s\"!"
-#~ msgstr "Felaktigt värde för utskriftsark \"%s\"!"
-
-#~ msgid "Bad job-sheets value type!"
-#~ msgstr "Felaktigt värde för typ av utskriftsark!"
-
-#~ msgid "Bad job-state value!"
-#~ msgstr "Felaktigt värde för utskriftsstatus!"
-
-#~ msgid "Bad job-uri attribute \"%s\"!"
-#~ msgstr "Felaktigt attribut för job-uri \"%s\"!"
-
-#~ msgid "Bad notify-pull-method \"%s\"!"
-#~ msgstr "Felaktig notify-pull-method \"%s\"!"
-
-#~ msgid "Bad notify-recipient-uri URI \"%s\"!"
-#~ msgstr "Felaktig URI för notify-recipient \"%s\"!"
-
-#~ msgid "Bad option + choice on line %d!"
-#~ msgstr "Felaktigt alternativ + val på rad %d!"
-
-#~ msgid "Bad port-monitor \"%s\"!"
-#~ msgstr "Felaktig portövervakare \"%s\"!"
-
-#~ msgid "Bad printer-state value %d!"
-#~ msgstr "Felaktigt värde för skrivarstatus %d!"
-
-#~ msgid "Bad request version number %d.%d!"
-#~ msgstr "Felaktigt versionsnummer %d.%d för begäran!"
-
-#~ msgid "Bad subscription ID!"
-#~ msgstr "Felaktigt prenumerations-ID!"
-
-#~ msgid "C0 Envelope"
-#~ msgstr "Kuvert C0"
-
-#~ msgid "C1 Envelope"
-#~ msgstr "Kuvert C1"
-
-#~ msgid "C2 Envelope"
-#~ msgstr "Kuvert C2"
-
-#~ msgid "C3 Envelope"
-#~ msgstr "Kuvert C3"
-
-#~ msgid "C4"
-#~ msgstr "C4"
-
-#~ msgid "C4 Envelope"
-#~ msgstr "Kuvert C4"
-
-#~ msgid "C5"
-#~ msgstr "C5"
-
-#~ msgid "C5 Envelope"
-#~ msgstr "Kuvert C5"
-
-#~ msgid "C6"
-#~ msgstr "C6"
-
-#~ msgid "C6 Envelope"
-#~ msgstr "Kuvert C6"
-
-#~ msgid "C65 Envelope"
-#~ msgstr "Kuvert C65"
-
-#~ msgid "C7 Envelope"
-#~ msgstr "Kuvert C7"
-
-#~ msgid "Character set \"%s\" not supported!"
-#~ msgstr "Teckenkodningen \"%s\" stöds inte!"
-
-#~ msgid "Chou3 Envelope"
-#~ msgstr "Chou3-kuvert"
-
-#~ msgid "Chou4 Envelope"
-#~ msgstr "Chou4-kuvert"
-
-#~ msgid ""
-#~ "Commands may be abbreviated.  Commands are:\n"
-#~ "\n"
-#~ "exit    help    quit    status  ?\n"
-#~ msgstr ""
-#~ "Kommandon kan förkortas.  Kommandon är:\n"
-#~ "\n"
-#~ "exit    help    quit    status  ?\n"
-
-#~ msgid "Could not scan type \"%s\"!"
-#~ msgstr "Kunde inte skanna typen \"%s\"!"
-
-#~ msgid "Cover open."
-#~ msgstr "Lock öppet."
-
-#~ msgid "DL"
-#~ msgstr "DL"
-
-#~ msgid "DL Envelope"
-#~ msgstr "DL-kuvert"
-
-#~ msgid "Developer almost empty."
-#~ msgstr "Tonern nästan slut."
-
-#~ msgid "Developer empty!"
-#~ msgstr "Tonern är slut!"
-
-#~ msgid ""
-#~ "Device: uri = %s\n"
-#~ "        class = %s\n"
-#~ "        info = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ "        location = %s\n"
-#~ msgstr ""
-#~ "Enhet: uri = %s\n"
-#~ "        klass = %s\n"
-#~ "        info = %s\n"
-#~ "        tillverkning-och-modell = %s\n"
-#~ "        enhets-id = %s\n"
-#~ "        plats = %s\n"
-
-#~ msgid "Document %d not found in job %d."
-#~ msgstr "Dokument %d hittades inte i utskrift %d."
-
-#~ msgid "Door open."
-#~ msgstr "Lucka öppen."
-
-#~ msgid "Double Postcard"
-#~ msgstr "Dubbelt vykort"
-
-#~ msgid "EMERG: Unable to allocate memory for page info: %s\n"
-#~ msgstr "EMERG: Kunde inte tilldela minne för sidinfo: %s\n"
-
-#~ msgid "EMERG: Unable to allocate memory for pages array: %s\n"
-#~ msgstr "EMERG: Kunde inte tilldela minne för sidordning: %s\n"
-
-#~ msgid "ERROR: Bad %%BoundingBox: comment seen!\n"
-#~ msgstr "ERROR: Felaktig %%BoundingBox: kommentar sedd!\n"
-
-#~ msgid "ERROR: Bad %%IncludeFeature: comment!\n"
-#~ msgstr "ERROR: Felaktig %%IncludeFeature: kommentar!\n"
-
-#~ msgid "ERROR: Bad %%Page: comment in file!\n"
-#~ msgstr "ERROR: Felaktig %%Page: kommentar i fil!\n"
-
-#~ msgid "ERROR: Bad %%PageBoundingBox: comment in file!\n"
-#~ msgstr "ERROR: Felaktig %%PageBoundingBox: kommentar i fil!\n"
-
-#~ msgid "ERROR: Bad SCSI device file \"%s\"!\n"
-#~ msgstr "ERROR: Felaktig SCSI-enhetsfil \"%s\"!\n"
-
-#~ msgid "ERROR: Bad charset file %s\n"
-#~ msgstr "ERROR: Felaktig teckenkodningsfil %s\n"
-
-#~ msgid "ERROR: Bad charset type %s\n"
-#~ msgstr "ERROR: Felaktig teckenkodningstyp %s\n"
-
-#~ msgid "ERROR: Bad columns value %d!\n"
-#~ msgstr "ERROR: Felaktigt kolumnvärde %d!\n"
-
-#~ msgid "ERROR: Bad cpi value %f!\n"
-#~ msgstr "ERROR: Felaktigt cpi-värde %f!\n"
-
-#~ msgid "ERROR: Bad font description line: %s\n"
-#~ msgstr "ERROR: Felaktig typsnittsbeskrivning rad: %s\n"
-
-#~ msgid "ERROR: Bad lpi value %f!\n"
-#~ msgstr "ERROR: Felaktigt lpi-värde %f!\n"
-
-#~ msgid "ERROR: Bad page setup!\n"
-#~ msgstr "ERROR: Felaktigt utskriftsformat!\n"
-
-#~ msgid "ERROR: Bad text direction %s\n"
-#~ msgstr "ERROR: Felaktig textriktning %s\n"
-
-#~ msgid "ERROR: Bad text width %s\n"
-#~ msgstr "ERROR: Felaktig textbredd %s\n"
-
-#~ msgid "ERROR: Destination printer does not exist!\n"
-#~ msgstr "ERROR: Målskrivaren finns inte!\n"
-
-#~ msgid "ERROR: Duplicate %%BoundingBox: comment seen!\n"
-#~ msgstr "ERROR: Duplikat av %%BoundingBox: kommentar sedd!\n"
-
-#~ msgid "ERROR: Duplicate %%Pages: comment seen!\n"
-#~ msgstr "ERROR: Duplikat av %%Pages: kommentar sedd!\n"
-
-#~ msgid "ERROR: Empty print file!\n"
-#~ msgstr "ERROR: Tom utskriftsfil!\n"
-
-#~ msgid "ERROR: Error %d sending PAPSendData request: %s\n"
-#~ msgstr "ERROR: Fel %d vid sändning av PAPSendData- begäran: %s\n"
-
-#~ msgid "ERROR: Expected quoted string on line %d of %s!\n"
-#~ msgstr "ERROR: Förväntad sträng inom citationstecken på rad %d av %s!\n"
-
-#~ msgid "ERROR: Fatal USB error!\n"
-#~ msgstr "ERROR: Allvarligt USB-fel!\n"
-
-#~ msgid "ERROR: Invalid HP-GL/2 command seen, unable to print file!\n"
-#~ msgstr "ERROR: Ogiltigt HP-GL/2-kommando sett, kan inte skriva ut filen!\n"
-
-#~ msgid "ERROR: Missing %%EndProlog!\n"
-#~ msgstr "ERROR: Saknad %%EndProlog!\n"
-
-#~ msgid "ERROR: Missing %%EndSetup!\n"
-#~ msgstr "ERROR: Saknad %%EndSetup!\n"
-
-#~ msgid ""
-#~ "ERROR: Missing device URI on command-line and no DEVICE_URI environment "
-#~ "variable!\n"
-#~ msgstr ""
-#~ "ERROR: Saknad enhets-URI i kommandoraden och ingen miljövariabel för "
-#~ "DEVICE_URI!\n"
-
-#~ msgid "ERROR: Missing value on line %d of banner file!\n"
-#~ msgstr "ERROR: Saknar värde på rad %d i bannerfil!\n"
-
-#~ msgid ""
-#~ "ERROR: Need a msgid line before any translation strings on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ERROR: Need a msgid line before any translation strings on line %d of %"
-#~ "s!\n"
-
-#~ msgid "ERROR: No %%BoundingBox: comment in header!\n"
-#~ msgstr "ERROR: Ingen %%BoundingBox: kommentar i sidhuvud!\n"
-
-#~ msgid "ERROR: No %%Pages: comment in header!\n"
-#~ msgstr "ERROR: Inga %%Pages: kommentar i sidhuvud!\n"
-
-#~ msgid ""
-#~ "ERROR: No device URI found in argv[0] or in DEVICE_URI environment "
-#~ "variable!\n"
-#~ msgstr ""
-#~ "ERROR: Ingen enhets-URI hittades i argv[0] eller i miljövariabeln "
-#~ "DEVICE_URI!\n"
-
-#~ msgid "ERROR: No fonts in charset file %s\n"
-#~ msgstr "ERROR: Inga typsnitt i teckenkodningsfil %s\n"
-
-#~ msgid "ERROR: No pages found!\n"
-#~ msgstr "ERROR: Inga sidor hittades!\n"
-
-#~ msgid "ERROR: Out of paper!\n"
-#~ msgstr "ERROR: Slut på papper!\n"
-
-#~ msgid "ERROR: PRINTER environment variable not defined!\n"
-#~ msgstr "ERROR: PRINTER-miljövariabeln är inte definierad!\n"
-
-#~ msgid "ERROR: Print file was not accepted (%s)!\n"
-#~ msgstr "ERROR: Utskriftsfilen accepterades inte (%s)!\n"
-
-#~ msgid "ERROR: Printer not responding\n"
-#~ msgstr "ERROR: Skrivaren svarar inte\n"
-
-#~ msgid "ERROR: Printer not responding!\n"
-#~ msgstr "ERROR: Skrivaren svarar inte\n"
-
-#~ msgid "ERROR: Printer sent unexpected EOF\n"
-#~ msgstr "ERROR: Skrivare skickade oväntat EOF\n"
-
-#~ msgid "ERROR: Remote host did not accept control file (%d)\n"
-#~ msgstr "ERROR: Fjärrvärden accepterade inte styrfilen (%d)\n"
-
-#~ msgid "ERROR: Remote host did not accept data file (%d)\n"
-#~ msgstr "ERROR: Fjärrvärden accepterade inte datafilen (%d)\n"
-
-#~ msgid "ERROR: There was a timeout error while sending data to the printer\n"
-#~ msgstr ""
-#~ "ERROR: Ett tidsgränsfel uppstod vid sändning av data till skrivare\n"
-
-#~ msgid "ERROR: Unable to add file %d to job: %s\n"
-#~ msgstr "ERROR: Kunde inte lägga till filen %d i utskriften: %s\n"
-
-#~ msgid "ERROR: Unable to cancel job %d: %s\n"
-#~ msgstr "ERROR: Kunde inte avbryta utskriften %d: %s\n"
-
-#~ msgid "ERROR: Unable to copy PDF file"
-#~ msgstr "ERROR: Kunde inte kopiera PDF-fil"
-
-#~ msgid "ERROR: Unable to create socket"
-#~ msgstr "ERROR: Kunde inte skapa sockel"
-
-#~ msgid "ERROR: Unable to create temporary compressed print file: %s\n"
-#~ msgstr "ERROR: Kunde inte skapa en temporär komprimerad utskriftsfil: %s\n"
-
-#~ msgid "ERROR: Unable to create temporary file"
-#~ msgstr "ERROR: Kunde inte skapa temporär fil"
-
-#~ msgid "ERROR: Unable to create temporary file - %s.\n"
-#~ msgstr "ERROR: Kunde inte skapa temporär fil - %s.\n"
-
-#~ msgid "ERROR: Unable to create temporary file: %s\n"
-#~ msgstr "ERROR: Kunde inte skapa temporär fil: %s\n"
-
-#~ msgid "ERROR: Unable to exec pictwpstops: %s\n"
-#~ msgstr "ERROR: Kunde inte utföra pictwpstops: %s\n"
-
-#~ msgid "ERROR: Unable to execute gs program"
-#~ msgstr "ERROR: Kunde inte exekvera gs-program"
-
-#~ msgid "ERROR: Unable to execute pdftops program"
-#~ msgstr "ERROR: Kunde inte exekvera pdftops-program"
-
-#~ msgid "ERROR: Unable to fork pictwpstops: %s\n"
-#~ msgstr "ERROR: Kunde inte grena process: %s\n"
-
-#~ msgid "ERROR: Unable to get PAP request"
-#~ msgstr "ERROR: Kunde inte hämta PAP-förfrågan"
-
-#~ msgid "ERROR: Unable to get PAP response"
-#~ msgstr "ERROR: Kunde inte hämta PAP-svar"
-
-#~ msgid "ERROR: Unable to get PPD file for printer \"%s\" - %s.\n"
-#~ msgstr "ERROR: Ingen PPD-fil för skrivaren \"%s\" - %s.\n"
-
-#~ msgid "ERROR: Unable to get default AppleTalk zone"
-#~ msgstr "ERROR: Kunde inte hämta förvald AppleTalk-zon"
-
-#~ msgid "ERROR: Unable to get job %d attributes (%s)!\n"
-#~ msgstr "ERROR: Kunde inte hämta utskriftsattribut %d (%s)!\n"
-
-#~ msgid "ERROR: Unable to get printer status (%s)!\n"
-#~ msgstr "ERROR: Kunde inte hämta skrivarstatus (%s)!\n"
-
-#~ msgid "ERROR: Unable to locate printer '%s'!\n"
-#~ msgstr "ERROR: Kunde inte hitta skrivaren ”%s”!\n"
-
-#~ msgid "ERROR: Unable to look for PAP response"
-#~ msgstr "ERROR: Kunde inte söka PAP-svar"
-
-#~ msgid "ERROR: Unable to lookup AppleTalk printers"
-#~ msgstr "ERROR: Kunde inte söka AppleTalk-skrivare"
-
-#~ msgid "ERROR: Unable to make AppleTalk address"
-#~ msgstr "ERROR: Kunde inte göra AppleTalk-adress"
-
-#~ msgid "ERROR: Unable to open \"%s\" - %s\n"
-#~ msgstr "ERROR: Kunde inte öppna \"%s\" - %s\n"
-
-#~ msgid "ERROR: Unable to open %s: %s\n"
-#~ msgstr "ERROR: Kunde inte öppna %s: %s\n"
-
-#~ msgid "ERROR: Unable to open banner file \"%s\" - %s\n"
-#~ msgstr "ERROR: Kunde inte öppna bannerfil \"%s\" - %s\n"
-
-#~ msgid "ERROR: Unable to open device file \"%s\": %s\n"
-#~ msgstr "ERROR: Kunde inte öppna enhetsfil \"%s\": %s\n"
-
-#~ msgid "ERROR: Unable to open file \"%s\" - %s\n"
-#~ msgstr "ERROR: Kunde inte öppna fil \"%s\" - %s\n"
-
-#~ msgid "ERROR: Unable to open file \"%s\": %s\n"
-#~ msgstr "ERROR: Kunde inte öppna fil \"%s\": %s\n"
-
-#~ msgid "ERROR: Unable to open image file for printing!\n"
-#~ msgstr "ERROR: Kunde inte öppna bildfilen för utskrift!\n"
-
-#~ msgid "ERROR: Unable to open print file \"%s\": %s\n"
-#~ msgstr "ERROR: Kunde inte öppna utskriftsfilen \"%s\": %s\n"
-
-#~ msgid "ERROR: Unable to open print file %s - %s\n"
-#~ msgstr "ERROR: Kunde inte öppna utskriftsfilen %s - %s\n"
-
-#~ msgid "ERROR: Unable to open print file %s: %s\n"
-#~ msgstr "ERROR: Kunde inte öppna utskriftsfilen %s: %s\n"
-
-#~ msgid "ERROR: Unable to open temporary compressed print file: %s\n"
-#~ msgstr "ERROR: Kunde inte öppna temporär komprimerad utskriftsfil: %s\n"
-
-#~ msgid "ERROR: Unable to open temporary file"
-#~ msgstr "ERROR: Kunde inte öppna temporär fil"
-
-#~ msgid "ERROR: Unable to print %d text columns!\n"
-#~ msgstr "ERROR: Kunde inte skriva ut %d textkolumner!\n"
-
-#~ msgid "ERROR: Unable to print %dx%d text page!\n"
-#~ msgstr "ERROR: Kunde inte skriva ut %dx%d textsida!\n"
-
-#~ msgid "ERROR: Unable to read print data"
-#~ msgstr "ERROR: Kunde inte läsa utskriftsdata"
-
-#~ msgid "ERROR: Unable to read print data!\n"
-#~ msgstr "ERROR: Kunde inte läsa utskriftsdata!"
-
-#~ msgid "ERROR: Unable to reserve port"
-#~ msgstr "ERROR: Kunde inte reservera porten"
-
-#~ msgid "ERROR: Unable to seek to offset %ld in file - %s\n"
-#~ msgstr "ERROR: Kunde inte skapa offset %ld i fil - %s\n"
-
-#~ msgid "ERROR: Unable to seek to offset %lld in file - %s\n"
-#~ msgstr "ERROR: Kunde inte skapa offset %lld i fil - %s\n"
-
-#~ msgid "ERROR: Unable to send LPD command"
-#~ msgstr "ERROR: Kunde inte skicka LPD-kommando"
-
-#~ msgid "ERROR: Unable to send PAP tickle request"
-#~ msgstr "ERROR: Kunde inte skicka PAP-tickle-förfrågan"
-
-#~ msgid "ERROR: Unable to send initial PAP send data request"
-#~ msgstr "ERROR: Kunde inte skicka första PAP-send-data-förfrågan"
-
-#~ msgid "ERROR: Unable to send print data (%d)\n"
-#~ msgstr "ERROR: Kunde inte skicka utskriftsdata (%d)\n"
-
-#~ msgid "ERROR: Unable to send print data!\n"
-#~ msgstr "ERROR: Kunde inte skicka utskriftsdata!"
-
-#~ msgid "ERROR: Unable to send print file to printer"
-#~ msgstr "ERROR: Kunde inte skicka utskriftsfil till skrivare"
-
-#~ msgid "ERROR: Unable to send trailing nul to printer"
-#~ msgstr "ERROR: Kunde inte skicka avslutande nullvärden till skrivare"
-
-#~ msgid "ERROR: Unable to wait for pictwpstops: %s\n"
-#~ msgstr "ERROR: Kunde inte vänta på pictwpstops: %s\n"
-
-#~ msgid "ERROR: Unable to write %d bytes to \"%s\": %s\n"
-#~ msgstr "ERROR: Kunde inte skriva %d byte till \"%s\": %s\n"
-
-#~ msgid "ERROR: Unable to write %d bytes to printer!\n"
-#~ msgstr "ERROR: Kunde inte skriva %d byte till skrivare!\n"
-
-#~ msgid "ERROR: Unable to write control file"
-#~ msgstr "ERROR: Kunde inte skriva styrfil"
-
-#~ msgid "ERROR: Unable to write print data"
-#~ msgstr "ERROR: Kunde inte skriva utskriftsdata"
-
-#~ msgid "ERROR: Unable to write print data: %s\n"
-#~ msgstr "ERROR: Kunde inte skriva utskriftsdata: %s\n"
-
-#~ msgid "ERROR: Unable to write raster data to driver!\n"
-#~ msgstr "ERROR: Kunde skriva rasterdata till skrivaren!\n"
-
-#~ msgid "ERROR: Unable to write to temporary file"
-#~ msgstr "ERROR: Kunde inte skriva till temporär fil"
-
-#~ msgid "ERROR: Unable to write uncompressed document data: %s\n"
-#~ msgstr "ERROR: Kunde inte skriva okomprimerade dokumentdata: %s\n"
-
-#~ msgid "ERROR: Unexpected text on line %d of %s!\n"
-#~ msgstr "ERROR: Oväntad text på rad %d av %s!\n"
-
-#~ msgid "ERROR: Unknown encryption option value \"%s\"!\n"
-#~ msgstr "ERROR: Okänt krypteringsalternativvärde \"%s\"!\n"
-
-#~ msgid "ERROR: Unknown file order \"%s\"\n"
-#~ msgstr "ERROR: Okänd filordning \"%s\"\n"
-
-#~ msgid "ERROR: Unknown format character \"%c\"\n"
-#~ msgstr "ERROR: Okänt formattecken \"%c\"\n"
-
-#~ msgid "ERROR: Unknown message catalog format for \"%s\"!\n"
-#~ msgstr "ERROR: Okänt meddelandekatalogformat för \"%s\"!\n"
-
-#~ msgid "ERROR: Unknown option \"%s\" with value \"%s\"!\n"
-#~ msgstr "ERROR: Okänt alternativ \"%s\" med värde \"%s\"!\n"
-
-#~ msgid "ERROR: Unknown print mode \"%s\"\n"
-#~ msgstr "ERROR: Okänt utskriftsläge \"%s\"\n"
-
-#~ msgid "ERROR: Unknown version option value \"%s\"!\n"
-#~ msgstr "ERROR: Okänt versionsalternativvärde \"%s\"!\n"
-
-#~ msgid "ERROR: Unsupported brightness value %s, using brightness=100!\n"
-#~ msgstr ""
-#~ "ERROR: Värdet %s för ljusstyrka stöds inte, använder ljusstyrka=100!\n"
-
-#~ msgid "ERROR: Unsupported gamma value %s, using gamma=1000!\n"
-#~ msgstr "ERROR: Värdet %s för gamma stöds inte, använder gamma=1000!\n"
-
-#~ msgid "ERROR: Unsupported number-up value %d, using number-up=1!\n"
-#~ msgstr "ERROR: Värdet %d för number-up stöds inte, använder number-up=1!\n"
-
-#~ msgid ""
-#~ "ERROR: Unsupported number-up-layout value %s, using number-up-"
-#~ "layout=lrtb!\n"
-#~ msgstr ""
-#~ "ERROR: Värdet %s för number-up-layout stöds inte, använder number-up-"
-#~ "layout=lrtb!\n"
-
-#~ msgid "ERROR: Unsupported page-border value %s, using page-border=none!\n"
-#~ msgstr ""
-#~ "ERROR: Värdet %s för sidmarginal stöds inte, använder page-border=none!\n"
-
-#~ msgid "ERROR: doc_printf overflow (%d bytes) detected, aborting!\n"
-#~ msgstr "ERROR: doc_printf overflow (%d byte) upptäckt, stoppar!\n"
-
-#~ msgid "ERROR: pdftops filter crashed on signal %d!\n"
-#~ msgstr "ERROR: pdftops-filter kraschade på signal %d!\n"
-
-#~ msgid "ERROR: pdftops filter exited with status %d!\n"
-#~ msgstr "ERROR: pdftops-filter avslutades med status %d!\n"
-
-#~ msgid "ERROR: pictwpstops exited on signal %d!\n"
-#~ msgstr "ERROR: pictwpstops avslutade med signalen %d!\n"
-
-#~ msgid "ERROR: pictwpstops exited with status %d!\n"
-#~ msgstr "ERROR: pictwpstops avslutades med status %d!\n"
-
-#~ msgid ""
-#~ "ERROR: recoverable: Unable to connect to printer; will retry in 30 "
-#~ "seconds...\n"
-#~ msgstr ""
-#~ "ERROR: kan återställas: Kan inte ansluta till skrivaren, försöker igen om "
-#~ "30 sekunder...\n"
-
-#~ msgid "ERROR: select() failed"
-#~ msgstr "ERROR: select() kunde inte utföras"
-
-#~ msgid "ERROR: unable to stat print file"
-#~ msgstr "ERROR: kan inte få status för utskriftsfilen"
-
-#~ msgid "Empty PPD file!"
-#~ msgstr "Tom PPD-fil!"
-
-#~ msgid "Error: need hostname after '-h' option!\n"
-#~ msgstr "Fel: behöver värdnamn efter alternativet ”-h”!\n"
-
-#~ msgid "FAIL\n"
-#~ msgstr "FEL\n"
-
-#~ msgid ""
-#~ "File device URIs have been disabled! To enable, see the FileDevice "
-#~ "directive in \"%s/cupsd.conf\"."
-#~ msgstr ""
-#~ "Filenhets URI:er har blivit avaktiverade! För att aktivera, se direktivet "
-#~ "FileDevice i \"%s/cupsd.conf\"."
-
-#~ msgid "Fuser temperature high!"
-#~ msgstr "Hög fixeringstemperatur!"
-
-#~ msgid "Fuser temperature low!"
-#~ msgstr "Låg fixeringstemperatur!"
-
-#~ msgid "German FanFold"
-#~ msgstr "German FanFold"
-
-#~ msgid "German FanFold Legal"
-#~ msgstr "German FanFold Legal"
-
-#~ msgid "Got a printer-uri attribute but no job-id!"
-#~ msgstr "Attribut för printer-uri finns, men inget utskrifts-ID!"
-
-#~ msgid "INFO: AppleTalk disabled in System Preferences\n"
-#~ msgstr "INFO: AppleTalk avaktiverat i Systeminställningar\n"
-
-#~ msgid "INFO: AppleTalk disabled in System Preferences.\n"
-#~ msgstr "INFO: AppleTalk avaktiverat i Systeminställningar.\n"
-
-#~ msgid "INFO: Canceling print job...\n"
-#~ msgstr "INFO: Avbryter utskrift...\n"
-
-#~ msgid "INFO: Connected to printer...\n"
-#~ msgstr "INFO: Ansluten till skrivare...\n"
-
-#~ msgid "INFO: Connecting to printer...\n"
-#~ msgstr "INFO: Ansluter till skrivare...\n"
-
-#~ msgid "INFO: Control file sent successfully\n"
-#~ msgstr "INFO: Styrfil har skickats\n"
-
-#~ msgid "INFO: Data file sent successfully\n"
-#~ msgstr "INFO: Datafil har skickats\n"
-
-#~ msgid "INFO: Formatting page %d...\n"
-#~ msgstr "INFO: Formaterar sidan %d...\n"
-
-#~ msgid "INFO: Loading image file...\n"
-#~ msgstr "INFO: Läser in bildfil...\n"
-
-#~ msgid "INFO: Looking for printer...\n"
-#~ msgstr "INFO: Söker skrivare...\n"
-
-#~ msgid "INFO: Opening connection\n"
-#~ msgstr "INFO: Öppnar anslutning\n"
-
-#~ msgid "INFO: Print file sent, waiting for printer to finish...\n"
-#~ msgstr "INFO: Utskriftsfil skickad, väntar på skrivaren...\n"
-
-#~ msgid "INFO: Printer busy; will retry in 10 seconds...\n"
-#~ msgstr "INFO: Skrivaren är upptagen, försöker igen om 10 sekunder...\n"
-
-#~ msgid "INFO: Printer busy; will retry in 30 seconds...\n"
-#~ msgstr "INFO: Skrivaren är upptagen, försöker igen om 30 sekunder...\n"
-
-#~ msgid "INFO: Printer busy; will retry in 5 seconds...\n"
-#~ msgstr "INFO: Skrivaren är upptagen, försöker igen om 5 sekunder...\n"
-
-#~ msgid "INFO: Printer does not support IPP/%d.%d, trying IPP/1.0...\n"
-#~ msgstr "INFO: Skrivaren stöder inte IPP/%d.%d, försöker med IPP/1.0...\n"
-
-#~ msgid "INFO: Printer is busy; will retry in 5 seconds...\n"
-#~ msgstr "INFO: Skrivaren är upptagen, försöker igen om 5 sekunder...\n"
-
-#~ msgid "INFO: Printer is currently off-line.\n"
-#~ msgstr "INFO: Skrivaren är frånkopplad just nu.\n"
-
-#~ msgid "INFO: Printer is currently offline.\n"
-#~ msgstr "INFO: Skrivaren är frånkopplad just nu.\n"
-
-#~ msgid "INFO: Printer is now online.\n"
-#~ msgstr "INFO: Skrivaren är online nu.\n"
-
-#~ msgid "INFO: Printer is offline.\n"
-#~ msgstr "INFO: Skrivaren är frånkopplad.\n"
-
-#~ msgid "INFO: Printer not connected; will retry in 30 seconds...\n"
-#~ msgstr "INFO: Skrivaren är inte ansluten, försöker igen om 30 sekunder...\n"
-
-#~ msgid "INFO: Printing page %d, %d%% complete...\n"
-#~ msgstr "INFO: Skriver ut sidan %d, %d %% klart...\n"
-
-#~ msgid "INFO: Printing page %d...\n"
-#~ msgstr "INFO: Skriver ut sidan %d...\n"
-
-#~ msgid "INFO: Ready to print.\n"
-#~ msgstr "INFO: Klar för utskrifter.\n"
-
-#~ msgid "INFO: Sending control file (%lu bytes)\n"
-#~ msgstr "INFO: Skickar styrfil (%lu byte)\n"
-
-#~ msgid "INFO: Sending control file (%u bytes)\n"
-#~ msgstr "INFO: Skickar styrfil (%u byte)\n"
-
-#~ msgid "INFO: Sending data\n"
-#~ msgstr "INFO: Skickar data\n"
-
-#~ msgid "INFO: Sending data file (%ld bytes)\n"
-#~ msgstr "INFO: Skickar datafil (%ld byte)\n"
-
-#~ msgid "INFO: Sending data file (%lld bytes)\n"
-#~ msgstr "INFO: Skickar datafil (%lld byte)\n"
-
-#~ msgid "INFO: Sending print data...\n"
-#~ msgstr "INFO: Skickar utskriftsdata...\n"
-
-#~ msgid "INFO: Sent print file, %ld bytes...\n"
-#~ msgstr "INFO: Skickar utskriftsfil, %ld byte...\n"
-
-#~ msgid "INFO: Sent print file, %lld bytes...\n"
-#~ msgstr "INFO: Skickar utskriftsfil, %lld byte...\n"
-
-#~ msgid "INFO: Spooling LPR job, %.0f%% complete...\n"
-#~ msgstr "INFO: Buffrar LPR-utskrift, %.0f %% klart...\n"
-
-#~ msgid ""
-#~ "INFO: Unable to contact printer, queuing on next printer in class...\n"
-#~ msgstr ""
-#~ "INFO: Kan inte kontakta skrivaren, köar för nästa skrivare i klassen...\n"
-
-#~ msgid "INFO: Using default AppleTalk zone \"%s\"\n"
-#~ msgstr "INFO: Använder förvald AppleTalk-zon \"%s\"\n"
-
-#~ msgid "INFO: Waiting for job to complete...\n"
-#~ msgstr "INFO: Väntar på att utskrift ska bli klar...\n"
-
-#~ msgid "INFO: Waiting for printer to become available...\n"
-#~ msgstr "INFO: Väntar på att skrivaren ska bli tillgänglig...\n"
-
-#~ msgid "ISO B0"
-#~ msgstr "ISO B0"
-
-#~ msgid "ISO B1"
-#~ msgstr "ISO B1"
-
-#~ msgid "ISO B10"
-#~ msgstr "ISO B10"
-
-#~ msgid "ISO B2"
-#~ msgstr "ISO B2"
-
-#~ msgid "ISO B3"
-#~ msgstr "ISO B3"
-
-#~ msgid "ISO B4"
-#~ msgstr "ISO B4"
-
-#~ msgid "ISO B4 Envelope"
-#~ msgstr "Kuvert ISO B4"
-
-#~ msgid "ISO B5"
-#~ msgstr "ISO B5"
-
-#~ msgid "ISO B5 (Oversize)"
-#~ msgstr "ISO B5 (större)"
-
-#~ msgid "ISO B5 Envelope"
-#~ msgstr "Kuvert ISO B5"
-
-#~ msgid "ISO B6"
-#~ msgstr "ISO B6"
-
-#~ msgid "ISO B6 Envelope"
-#~ msgstr "Kuvert ISO B6"
-
-#~ msgid "ISO B7"
-#~ msgstr "ISO B7"
-
-#~ msgid "ISO B8"
-#~ msgstr "ISO B8"
-
-#~ msgid "ISO B9"
-#~ msgstr "ISO B9"
-
-#~ msgid "Ink/toner almost empty."
-#~ msgstr "Bläck/toner är nästan slut."
-
-#~ msgid "Ink/toner empty!"
-#~ msgstr "Bläck/toner är slut!"
-
-#~ msgid "Ink/toner waste bin almost full."
-#~ msgstr "Avfallsbehållaren för bläck/toner nästan full."
-
-#~ msgid "Ink/toner waste bin full!"
-#~ msgstr "Avfallsbehållaren för bläck/toner är full!"
-
-#~ msgid "Interlock open."
-#~ msgstr "Spärrmekanism öppen."
-
-#~ msgid "Invite Envelope"
-#~ msgstr "Invite-kuvert"
-
-#~ msgid "Italian Envelope"
-#~ msgstr "Italienskt kuvert"
-
-#~ msgid "Job #%d cannot be restarted - no files!"
-#~ msgstr "Utskrift #%d kan inte startas om - inga filer!"
-
-#~ msgid "Job #%d does not exist!"
-#~ msgstr "Utskrift #%d finns inte!"
-
-#~ msgid "Job #%d is finished and cannot be altered!"
-#~ msgstr "Utskrift #%d är klar och kan inte ändras!"
-
-#~ msgid "Job #%d is not complete!"
-#~ msgstr "Utskrift #%d är inte klar!"
-
-#~ msgid "Job #%d is not held for authentication!"
-#~ msgstr "Utskrift #%d hålls inte kvar för autentisering!"
-
-#~ msgid "Job #%d is not held!"
-#~ msgstr "Utskrift #%d hålls inte kvar"
-
-#~ msgid "Job #%s does not exist!"
-#~ msgstr "Utskrift #%s finns inte!"
-
-#~ msgid "Job %d not found!"
-#~ msgstr "Utskrift %d hittades inte!"
-
-#~ msgid "Job subscriptions cannot be renewed!"
-#~ msgstr "Utskriftsprenumerationer kan inte förnyas!"
-
-#~ msgid "Kaku2 Envelope"
-#~ msgstr "Kaku2-kuvert"
-
-#~ msgid "Kaku3 Envelope"
-#~ msgstr "Kaku3-kuvert"
-
-#~ msgid "Language \"%s\" not supported!"
-#~ msgstr "Språket \"%s\" stöds inte!"
-
-#~ msgid "Media jam!"
-#~ msgstr "Medietrassel!"
-
-#~ msgid "Media tray almost empty."
-#~ msgstr "Mediefack nästan tomt."
-
-#~ msgid "Media tray empty!"
-#~ msgstr "Mediefack tomt!"
-
-#~ msgid "Media tray missing!"
-#~ msgstr "Mediefack saknas!"
-
-#~ msgid "Media tray needs to be filled."
-#~ msgstr "Mediefacket måste fyllas på."
-
-#~ msgid "Missing document-number attribute!"
-#~ msgstr "Saknar attribut för dokumentnummer!"
-
-#~ msgid "Missing double quote on line %d!"
-#~ msgstr "Saknar dubbla citationstecken på rad %d!"
-
-#~ msgid "Missing form variable!"
-#~ msgstr "Saknar formatvariabel!"
-
-#~ msgid "Missing notify-subscription-ids attribute!"
-#~ msgstr "Saknar attributet notify-subscription-ids!"
-
-#~ msgid "Missing requesting-user-name attribute!"
-#~ msgstr "Saknar attributet requesting-user-name!"
-
-#~ msgid "Missing required attributes!"
-#~ msgstr "Saknar nödvändiga attribut!"
-
-#~ msgid "Missing value on line %d!"
-#~ msgstr "Saknar värde på rad %d!"
-
-#~ msgid ""
-#~ "Model:  name = %s\n"
-#~ "        natural_language = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ msgstr ""
-#~ "Modell:  namn = %s\n"
-#~ "        natural_language = %s\n"
-#~ "        tillverkare-och-modell = %s\n"
-#~ "        device-id = %s\n"
-
-#~ msgid "Monarch"
-#~ msgstr "Monarch"
-
-#~ msgid "Monarch Envelope"
-#~ msgstr "Monarch-kuvert"
-
-#~ msgid "NOTICE: Print file accepted - job ID %d.\n"
-#~ msgstr "NOTICE: Utskriftsfil accepterad - utskrifts-ID %d.\n"
-
-#~ msgid "NOTICE: Print file accepted - job ID unknown.\n"
-#~ msgstr "NOTICE: Utskriftsfil accepterad - utskrifts-ID okänt.\n"
-
-#~ msgid "No PPD name!"
-#~ msgstr "Inget PPD-namn!"
-
-#~ msgid "No Windows printer drivers are installed!"
-#~ msgstr "Inga skrivardrivrutiner för Windows är installerade!"
-
-#~ msgid "No active jobs on %s!"
-#~ msgstr "Inga aktiva utskrifter på %s!"
-
-#~ msgid "No attributes in request!"
-#~ msgstr "Inga attribut i begäran!"
-
-#~ msgid "No authentication information provided!"
-#~ msgstr "Ingen autentiseringsinformation angiven!"
-
-#~ msgid "No default printer"
-#~ msgstr "Ingen förvald skrivare"
-
-#~ msgid "No file!?!"
-#~ msgstr "Ingen fil!?!"
-
-#~ msgid "No modification time!"
-#~ msgstr "Ingen ändringstid!"
-
-#~ msgid "No printer name!"
-#~ msgstr "Inget skrivarnamn!"
-
-#~ msgid "No printer-uri found for class!"
-#~ msgstr "Ingen printer-uri hittades för klass!"
-
-#~ msgid "No printer-uri found!"
-#~ msgstr "Inget printer-uri hittades!"
-
-#~ msgid "No printer-uri in request!"
-#~ msgstr "Inga printer-uri i begäran!"
-
-#~ msgid "No subscription attributes in request!"
-#~ msgstr "Inga prenumerationsattribut i begäran!"
-
-#~ msgid "OPC almost at end-of-life."
-#~ msgstr "OPC nästan vid slutpunkten."
-
-#~ msgid "OPC at end-of-life!"
-#~ msgstr "OPC vid slutpunkten!"
-
-#~ msgid "Out of toner!"
-#~ msgstr "Slut på toner!"
-
-#~ msgid "Output bin almost full."
-#~ msgstr "Utmatningsfack nästan fullt."
-
-#~ msgid "Output bin full!"
-#~ msgstr "Utmatningsfack fullt!"
-
-#~ msgid "Output for printer %s is sent to %s\n"
-#~ msgstr "Utmatning för skrivaren %s skickas till %s\n"
-
-#~ msgid "Output for printer %s is sent to remote printer %s on %s\n"
-#~ msgstr "Utmatning för skrivaren %s skickas till fjärrskrivaren %s på %s\n"
-
-#~ msgid "Output for printer %s/%s is sent to %s\n"
-#~ msgstr "Utmatning för skrivaren %s/%s skickas till %s\n"
-
-#~ msgid "Output for printer %s/%s is sent to remote printer %s on %s\n"
-#~ msgstr ""
-#~ "Utmatning för skrivaren %s/%s skickas till fjärrskrivaren %s på %s\n"
-
-#~ msgid "Output tray missing!"
-#~ msgstr "Utmatningsfack saknas!"
-
-#~ msgid "PASS\n"
-#~ msgstr "OK\n"
-
-#~ msgid "PRC1 Envelope"
-#~ msgstr "Kuvert PRC1"
-
-#~ msgid "PRC10 Envelope"
-#~ msgstr "Kuvert PRC10"
-
-#~ msgid "PRC2 Envelope"
-#~ msgstr "Kuvert PRC2"
-
-#~ msgid "PRC3 Envelope"
-#~ msgstr "Kuvert PRC3"
-
-#~ msgid "PRC32K (Oversize)"
-#~ msgstr "PRC32K (större)"
-
-#~ msgid "PRC4 Envelope"
-#~ msgstr "Kuvert PRC4"
-
-#~ msgid "PRC5 Envelope"
-#~ msgstr "Kuvert PRC5"
-
-#~ msgid "PRC6 Envelope"
-#~ msgstr "Kuvert PRC6"
-
-#~ msgid "PRC7 Envelope"
-#~ msgstr "Kuvert PRC7"
-
-#~ msgid "PRC8 Envelope"
-#~ msgstr "Kuvert PRC8"
-
-#~ msgid "PRC9 Envelope"
-#~ msgstr "Kuvert PRC9"
-
-#~ msgid "Personal Envelope"
-#~ msgstr "Personligt kuvert"
-
-#~ msgid "Printer offline."
-#~ msgstr "Skrivare frånkopplad."
-
-#~ msgid "Rank    Owner   Job     File(s)                         Total Size\n"
-#~ msgstr ""
-#~ "Prioritet    Ägare   Utskrift    Fil(er)                         Total "
-#~ "storlek\n"
-
-#~ msgid ""
-#~ "Rank   Owner      Pri  Job        Files                       Total Size\n"
-#~ msgstr ""
-#~ "Prioritet   Ägare      Utskrift       Filer                       Total "
-#~ "storlek\n"
-
-#~ msgid "Running command: %s %s -N -A %s -c '%s'\n"
-#~ msgstr "Kör kommando: %s %s -N -A %s -c ”%s”\n"
-
-#~ msgid "SCSI Printer"
-#~ msgstr "Skrivare SCSI"
-
-#~ msgid "Tabloid (Oversize)"
-#~ msgstr "Tabloid (större)"
-
-#~ msgid "The notify-user-data value is too large (%d > 63 octets)!"
-#~ msgstr "Värdet för notify-user-data är för stort (%d &gt; 63 oktetter)!"
-
-#~ msgid "The printer or class is not shared!"
-#~ msgstr "Skrivaren eller klassen är inte delad!"
-
-#~ msgid "The printer or class was not found."
-#~ msgstr "Skrivaren eller klassen hittades inte."
-
-#~ msgid "The printer-uri attribute is required!"
-#~ msgstr "Attributet printer-uri krävs!"
-
-#~ msgid "Toner low."
-#~ msgstr "Toner låg."
-
-#~ msgid "Too many job-sheets values (%d > 2)!"
-#~ msgstr "För många värden för utskriftsark (%d > 2)!"
-
-#~ msgid "Too many printer-state-reasons values (%d > %d)!"
-#~ msgstr "För många värden för skrivarstatus (%d > %d)!"
-
-#~ msgid "US Executive"
-#~ msgstr "US Executive"
-
-#~ msgid "US Fanfold"
-#~ msgstr "US Fanfold"
-
-#~ msgid "US Legal (Oversize)"
-#~ msgstr "US Legal (större)"
-
-#~ msgid "US Letter (Oversize)"
-#~ msgstr "US Letter (större)"
-
-#~ msgid "US Letter (Small)"
-#~ msgstr "US Letter (mindre)"
-
-#~ msgid "Unable to add job for destination \"%s\"!"
-#~ msgstr "Kunde inte lägga till utskrift för målet \"%s\"!"
-
-#~ msgid "Unable to allocate memory for file types!"
-#~ msgstr "Kunde inte tilldela minne för filtyper!"
-
-#~ msgid "Unable to copy 64-bit CUPS printer driver files (%d)!"
-#~ msgstr "Kunde inte kopiera filer för 64-bitars CUPS-skrivardrivrutin (%d)!"
-
-#~ msgid "Unable to copy 64-bit Windows printer driver files (%d)!"
-#~ msgstr ""
-#~ "Kunde inte kopiera filer för 64-bitars Windows-skrivardrivrutin (%d)!"
-
-#~ msgid "Unable to copy CUPS printer driver files (%d)!"
-#~ msgstr "Kunde inte kopiera filer för CUPS-skrivardrivrutin (%d)!"
-
-#~ msgid "Unable to copy PPD file - %s!"
-#~ msgstr "Kunde inte kopiera PPD-fil - %s!"
-
-#~ msgid "Unable to copy PPD file!"
-#~ msgstr "Kunde inte kopiera PPD-fil!"
-
-#~ msgid "Unable to copy Windows 2000 printer driver files (%d)!"
-#~ msgstr ""
-#~ "Kunde inte kopiera filer för skrivardrivrutiner till 2000 Windows (%d)!"
-
-#~ msgid "Unable to copy Windows 9x printer driver files (%d)!"
-#~ msgstr "Kunde inte kopiera filer för Windows 9x-skrivardrivrutin (%d)!"
-
-#~ msgid "Unable to copy interface script - %s!"
-#~ msgstr "Kunde inte kopiera gränssnittsskript - %s!"
-
-#~ msgid "Unable to create printer-uri!"
-#~ msgstr "Kunde inte skapa printer-uri!"
-
-#~ msgid "Unable to edit cupsd.conf files larger than 1MB!"
-#~ msgstr "Kunde inte redigera cupsd.conf-filer större än 1 MB!"
-
-#~ msgid "Unable to find destination for job!"
-#~ msgstr "Kunde inte hitta mål för utskrift!"
-
-#~ msgid "Unable to find printer!\n"
-#~ msgstr "Kunde inte hitta skrivare!\n"
-
-#~ msgid "Unable to install Windows 2000 printer driver files (%d)!"
-#~ msgstr ""
-#~ "Kunde inte installera filer för skrivardrivrutiner till 2000 Windows (%d)!"
-
-#~ msgid "Unable to install Windows 9x printer driver files (%d)!"
-#~ msgstr "Kunde inte installera filer för Windows 9x-skrivardrivrutin (%d)!"
-
-#~ msgid "Unable to open document %d in job %d!"
-#~ msgstr "Kunde inte öppna dokument %d i utskrift %d!"
-
-#~ msgid "Unable to run \"%s\": %s\n"
-#~ msgstr "Kunde inte köra \"%s\": %s\n"
-
-#~ msgid "Unable to send command to printer driver!"
-#~ msgstr "Kunde inte skicka kommando till skrivardrivrutin!"
-
-#~ msgid "Unable to set Windows printer driver (%d)!"
-#~ msgstr "Kunde inte ställa in Windows-skrivardrivrutin (%d)!"
-
-#~ msgid "Unable to use legacy USB class driver!\n"
-#~ msgstr "Kunde inte använda tidigare USB-klassdrivrutin!\n"
-
-#~ msgid "Unknown printer error (%s)!"
-#~ msgstr "Okänt skrivarfel (%s)!"
-
-#~ msgid "Unsupported character set \"%s\"!"
-#~ msgstr "Ogiltig teckenuppsättning \"%s\"!"
-
-#~ msgid "Unsupported compression \"%s\"!"
-#~ msgstr "Ogiltig komprimering \"%s\"!"
-
-#~ msgid "Unsupported compression attribute %s!"
-#~ msgstr "Ogiltigt komprimeringsattribut %s!"
-
-#~ msgid "Unsupported format \"%s\"!"
-#~ msgstr "Formatet \"%s\" stöds inte!"
-
-#~ msgid "Unsupported format '%s'!"
-#~ msgstr " Formatet ”%s” stöds inte!"
-
-#~ msgid "Unsupported format '%s/%s'!"
-#~ msgstr "Formatet ”%s/%s” stöds inte!"
-
-#~ msgid ""
-#~ "Usage:\n"
-#~ "\n"
-#~ "    lpadmin [-h server] -d destination\n"
-#~ "    lpadmin [-h server] -x destination\n"
-#~ "    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m "
-#~ "model]\n"
-#~ "                       [-r remove-class] [-v device] [-D description]\n"
-#~ "                       [-P ppd-file] [-o name=value]\n"
-#~ "                       [-u allow:user,user] [-u deny:user,user]\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Användning:\n"
-#~ "\n"
-#~ "    lpadmin [-h server] -d mål\n"
-#~ "    lpadmin [-h server] -x mål\n"
-#~ "    lpadmin [-h server] -p skrivare [-c lägg-till-klass] [-i gränssnitt] "
-#~ "[-m modell]\n"
-#~ "                       [-r radera-klass] [-v enhet] [-D beskrivning]\n"
-#~ "                       [-P ppd-fil] [-o name=value]\n"
-#~ "                       [-u tillåt:användare,användare] [-u neka:användare,"
-#~ "användare]\n"
-#~ "\n"
-
-#~ msgid "Usage: %s job user title copies options [filename]\n"
-#~ msgstr "Användning: %s job user title copies options [filename]\n"
-
-#~ msgid "Usage: %s job-id user title copies options [file]\n"
-#~ msgstr "Användning: %s job-id user title copies options [file]\n"
-
-#~ msgid "Usage: %s job-id user title copies options file\n"
-#~ msgstr "Användning: %s job-id user title copies options file\n"
-
-#~ msgid ""
-#~ "Usage: convert [ options ]\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "  -f filename          Set file to be converted (otherwise stdin)\n"
-#~ "  -o filename          Set file to be generated (otherwise stdout)\n"
-#~ "  -i mime/type         Set input MIME type (otherwise auto-typed)\n"
-#~ "  -j mime/type         Set output MIME type (otherwise application/pdf)\n"
-#~ "  -P filename.ppd      Set PPD file\n"
-#~ "  -a 'name=value ...'  Set option(s)\n"
-#~ "  -U username          Set username for job\n"
-#~ "  -J title             Set title\n"
-#~ "  -c copies            Set number of copies\n"
-#~ "  -u                   Remove the PPD file when finished\n"
-#~ "  -D                   Remove the input file when finished\n"
-#~ msgstr ""
-#~ "Användning: konvertera [ alternativ ]\n"
-#~ "\n"
-#~ "Alternativ:\n"
-#~ "\n"
-#~ "  -f filnamn          Ange fil att konvertera (annars standard in)\n"
-#~ "  -o filnamn          Ange fil att generera (annars standard ut)\n"
-#~ "  -i MIME/typ         Ange MIME-typ för indata (annars automatiskt)\n"
-#~ "  -j MIME/typ         Ange MIME-typ för utdata (annars program/pdf)\n"
-#~ "  -P filnamn.ppd      Ange PPD-fil\n"
-#~ "  -a ”name=value ...”  Ange alternativ\n"
-#~ "  -U användarnamn          Ange användarnamn för utskrift\n"
-#~ "  -J titel             Ange titel\n"
-#~ "  -c kopior            Ange antal kopior\n"
-#~ "  -u                   Radera PPD-filen när det är klart\n"
-#~ "  -D                   Radera indatafilen när det är klart\n"
-
-#~ msgid ""
-#~ "Usage: cupsaddsmb [options] printer1 ... printerN\n"
-#~ "       cupsaddsmb [options] -a\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "  -E               Encrypt the connection to the server\n"
-#~ "  -H samba-server  Use the named SAMBA server\n"
-#~ "  -U samba-user    Authenticate using the named SAMBA user\n"
-#~ "  -a               Export all printers\n"
-#~ "  -h cups-server   Use the named CUPS server\n"
-#~ "  -v               Be verbose (show commands)\n"
-#~ msgstr ""
-#~ "Användning: cupsaddsmb [alternativ] printer1 ... printerN\n"
-#~ "       cupsaddsmb [alternativ] -a\n"
-#~ "\n"
-#~ "Alternativ:\n"
-#~ "  -E               Kryptera anslutningen till servernr\n"
-#~ "  -H samba-server  Använd den som heter SAMBA server\n"
-#~ "  -U samba-användare    Autentisera med den som heter SAMBA användare \n"
-#~ "  -a               Exportera alla skrivare\n"
-#~ "  -h cups-server   Använd den som heter CUPS server\n"
-#~ "  -v               Visa utförligt (visa kommandon)\n"
-
-#~ msgid ""
-#~ "Usage: cupsctl [options] [param=value ... paramN=valueN]\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -E                      Enable encryption\n"
-#~ "    -U username             Specify username\n"
-#~ "    -h server[:port]        Specify server address\n"
-#~ "\n"
-#~ "    --[no-]debug-logging    Turn debug logging on/off\n"
-#~ "    --[no-]remote-admin     Turn remote administration on/off\n"
-#~ "    --[no-]remote-any       Allow/prevent access from the Internet\n"
-#~ "    --[no-]remote-printers  Show/hide remote printers\n"
-#~ "    --[no-]share-printers   Turn printer sharing on/off\n"
-#~ "    --[no-]user-cancel-any  Allow/prevent users to cancel any job\n"
-#~ msgstr ""
-#~ "Användning: cupsctl [options] [param=value ... paramN=valueN]\n"
-#~ "\n"
-#~ "Alternativ:\n"
-#~ "\n"
-#~ "    -E                      Aktivera kryptering\n"
-#~ "    -U username             Ange användarnamn\n"
-#~ "    -h server[:port]        Ange serveradress\n"
-#~ "\n"
-#~ "    --[no-]debug-logging    Slå av/på loggning vid felsökning\n"
-#~ "    --[no-]remote-admin     Slå av/på fjärradministrering\n"
-#~ "    --[no-]remote-any       Tillåt/förhindra åtkomst från Internet\n"
-#~ "    --[no-]remote-printers  Visa/göm fjärrskrivare\n"
-#~ "    --[no-]share-printers   Slå av/på skrivardelning\n"
-#~ "    --[no-]user-cancel-any  Tillåt/förhindra att användare kan avbryta "
-#~ "utskrifter\n"
-
-#~ msgid ""
-#~ "Usage: cupsd [-c config-file] [-f] [-F] [-h] [-l]\n"
-#~ "\n"
-#~ "-c config-file      Load alternate configuration file\n"
-#~ "-f                  Run in the foreground\n"
-#~ "-F                  Run in the foreground but detach\n"
-#~ "-h                  Show this usage message\n"
-#~ "-l                  Run cupsd from launchd(8)\n"
-#~ msgstr ""
-#~ "Användning: cupsd [-c config-file] [-f] [-F] [-h] [-l]\n"
-#~ "\n"
-#~ "-c config-file      Läs upp alternativ konfigurationsfil\n"
-#~ "-f                  Kör i förgrunden\n"
-#~ "-F                  Kör i förgrunden men koppla bort\n"
-#~ "-h                  Visa det här användningsmeddelandet\n"
-#~ "-l                  Kör cupsd från launchd(8)\n"
-
-#~ msgid ""
-#~ "Usage: cupsfilter -m mime/type [ options ] filename\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "  -c cupsd.conf    Set cupsd.conf file to use\n"
-#~ "  -j job-id[,N]    Filter file N from the specified job (default is file "
-#~ "1)\n"
-#~ "  -n copies        Set number of copies\n"
-#~ "  -o name=value    Set option(s)\n"
-#~ "  -p filename.ppd  Set PPD file\n"
-#~ "  -t title         Set title\n"
-#~ msgstr ""
-#~ "Användning: cupsfilter -m MIME/typ [ alternativ ] filnamn\n"
-#~ "\n"
-#~ "Alternativ:\n"
-#~ "\n"
-#~ "  -c cupsd.conf    Ange cupsd.conf-fil för användning\n"
-#~ "  -j utskrifts-ID[,N]    Filtrera fil N från angiven utskrift (fil 1 är "
-#~ "förvald)\n"
-#~ "  -n kopior        Ange antal kopior\n"
-#~ "  -o name=value    Ange alternativ)\n"
-#~ "  -p filnamn.ppd  Ange PPD-fil\n"
-#~ "  -t titel         Ange titel\n"
-
-#~ msgid ""
-#~ "Usage: cupstestdsc [options] filename.ps [... filename.ps]\n"
-#~ "       cupstestdsc [options] -\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -h       Show program usage\n"
-#~ "\n"
-#~ "    Note: this program only validates the DSC comments, not the "
-#~ "PostScript itself.\n"
-#~ msgstr ""
-#~ "Användning: cupstestdsc [alternativ] filnamn.ps [... filnamn.ps]\n"
-#~ "       cupstestdsc [alternativ] -\n"
-#~ "\n"
-#~ "Alternativ:\n"
-#~ "\n"
-#~ "    -h       Visa programanvändning\n"
-#~ "\n"
-#~ "    Obs: det här programmet verifierar DSC-kommentarer, men inte "
-#~ "PostScript.\n"
-
-#~ msgid ""
-#~ "Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]\n"
-#~ "       program | cupstestppd [options] -\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -R root-directory    Set alternate root\n"
-#~ "    -W {all,none,constraints,defaults,duplex,filters,translations}\n"
-#~ "                         Issue warnings instead of errors\n"
-#~ "    -q                   Run silently\n"
-#~ "    -r                   Use 'relaxed' open mode\n"
-#~ "    -v                   Be slightly verbose\n"
-#~ "    -vv                  Be very verbose\n"
-#~ msgstr ""
-#~ "Användning: cupstestppd [alternativ] filnamn1.ppd[.gz] [... filnamnN.ppd[."
-#~ "gz]]\n"
-#~ "       program | cupstestppd [alternativ] -\n"
-#~ "\n"
-#~ "Alternativ:\n"
-#~ "\n"
-#~ "    -R root-directory    Ange alternativ rot\n"
-#~ "    -W {alla,ingen,regler,standard,duplex,filter,översättningar}\n"
-#~ "                         Skicka varningar istället för fel\n"
-#~ "    -q                   Kör ljudlöst\n"
-#~ "    -r                   Använd öppet läge\n"
-#~ "    -v                   Visa mindre utförligt\n"
-#~ "    -vv                  Visa mycket utförligt\n"
-
-#~ msgid "Usage: lpmove job/src dest\n"
-#~ msgstr "Användning: lpmove job/src dest\n"
-
-#~ msgid ""
-#~ "Usage: lpoptions [-h server] [-E] -d printer\n"
-#~ "       lpoptions [-h server] [-E] [-p printer] -l\n"
-#~ "       lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
-#~ "       lpoptions [-h server] [-E] -x printer\n"
-#~ msgstr ""
-#~ "Användning: lpoptions [-h server] [-E] -d skrivare\n"
-#~ "       lpoptions [-h server] [-E] [-p skrivare] -l\n"
-#~ "       lpoptions [-h server] [-E] -p skrivare -o alternativ[=value] ...\n"
-#~ "       lpoptions [-h server] [-E] -x skrivare\n"
-
-#~ msgid "Usage: lppasswd [-g groupname]\n"
-#~ msgstr "Användning: lppasswd [-g gruppnamn]\n"
-
-#~ msgid ""
-#~ "Usage: lppasswd [-g groupname] [username]\n"
-#~ "       lppasswd [-g groupname] -a [username]\n"
-#~ "       lppasswd [-g groupname] -x [username]\n"
-#~ msgstr ""
-#~ "Användning: lppasswd [-g gruppnamn] [användarnamn]\n"
-#~ "       lppasswd [-g gruppnamn] -a [användarnamn]\n"
-#~ "       lppasswd [-g gruppnamn] -x [användarnamn]\n"
-
-#~ msgid ""
-#~ "Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]\n"
-#~ msgstr ""
-#~ "Användning: lpq [-P dest] [-U användarnamn] [-h värdnamn[:port]] [-l] "
-#~ "[+interval]\n"
-
-#~ msgid ""
-#~ "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]\n"
-#~ "Options:\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "  -I include-dir       Add include directory to search path.\n"
-#~ "  -c catalog.po        Load the specified message catalog.\n"
-#~ "  -d output-dir        Specify the output directory.\n"
-#~ "  -l lang[,lang,...]   Specify the output language(s) (locale).\n"
-#~ "  -m                   Use the ModelName value as the filename.\n"
-#~ "  -t                   Test PPDs instead of generating them.\n"
-#~ "  -v                   Be verbose (more v's for more verbosity).\n"
-#~ "  -z                   Compress PPD files using GNU zip.\n"
-#~ "  --cr                 End lines with CR (Mac OS 9).\n"
-#~ "  --crlf               End lines with CR + LF (Windows).\n"
-#~ "  --lf                 End lines with LF (UNIX/Linux/Mac OS X).\n"
-#~ msgstr ""
-#~ "Användning: ppdc [alternativ] filnamn.drv [ ... filnamnN.drv ]\n"
-#~ "Alternativ:\n"
-#~ "  -D name=value        Ange namngiven variabel till värde.\n"
-#~ "  -I include-dir       Lägg till inkluderingsfiler till sökväg.\n"
-#~ "  -c catalog.po        Läs upp angiven meddelandekatalog.\n"
-#~ "  -d output-dir        Ange utdatakatalog.\n"
-#~ "  -l lang[,lang,...] Ange språk för utdata (språkversion).\n"
-#~ "  -m                   Använd värdet för modellnamn som filnamn.\n"
-#~ "  -t                   Testa PPD-filer istället för att skapa fler.\n"
-#~ "  -v                   Visa utförligt (ju fler v:n desto mer "
-#~ "detaljerat).\n"
-#~ "  -z                   Komprimera PPD-filer med GNU zip.\n"
-#~ "  --cr                 Avsluta rader med CR (Mac OS 9).\n"
-#~ "  --crlf               Avsluta rader med CR + LF (Windows).\n"
-#~ "  --lf                 Avsluta rader med LF (UNIX/Linux/Mac OS X).\n"
-
-#~ msgid ""
-#~ "Usage: ppdhtml [options] filename.drv >filename.html\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "Options:\n"
-#~ "  -I include-dir    Add include directory to search path.\n"
-#~ msgstr ""
-#~ "Användning: ppdhtml [alternativ] filnamn.drv >filnamn.html\n"
-#~ "  -D name=value        Ange namngiven variabel till värde.\n"
-#~ "Alternativ:\n"
-#~ "  -I include-dir    Lägg till inkluderingsfiler till sökväg.\n"
-
-#~ msgid ""
-#~ "Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Options:\n"
-#~ "  -I include-dir\n"
-#~ "  -o filename.drv\n"
-#~ msgstr ""
-#~ "Användning: ppdi [alternativ] filnamn.ppd [ ... filnamnN.ppd ]\n"
-#~ "Alternativ:\n"
-#~ "  -I include-dir\n"
-#~ "  -o filnamn.drv\n"
-
-#~ msgid ""
-#~ "Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Options:\n"
-#~ "  -o filename.ppd[.gz]\n"
-#~ msgstr ""
-#~ "Användning: ppdmerge [alternativ] filnamn.ppd [ ... filnamnN.ppd ]\n"
-#~ "Alternativ:\n"
-#~ "  -o filnamn.ppd[.gz]\n"
-
-#~ msgid ""
-#~ "Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]\n"
-#~ "Options:\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "  -I include-dir    Add include directory to search path.\n"
-#~ "  -v                Be verbose (more v's for more verbosity).\n"
-#~ msgstr ""
-#~ "Användning: ppdpo [alternativ] -o filnamn.po filnamn.drv [ ... filnamnN."
-#~ "drv ]\n"
-#~ "Alternativ:\n"
-#~ "  -D name=value        Ange namngiven variabel till värde.\n"
-#~ "  -I include-dir    Lägg till inkluderingsfiler till sökväg.\n"
-#~ "  -v                Visa utförligt (ju fler v:n desto mer detaljerat).\n"
-
-#~ msgid "Usage: snmp [host-or-ip-address]\n"
-#~ msgstr "Användning: snmp [host-or-ip-address]\n"
-
-#~ msgid "WARNING: Adding only the first %d printers found"
-#~ msgstr "WARNING: Lägger endast till de första %d som hittas"
-
-#~ msgid "WARNING: Boolean expected for waiteof option \"%s\"\n"
-#~ msgstr "WARNING: Boolesk förväntat för alternativet waiteof \"%s\"\n"
-
-#~ msgid "WARNING: Failed to read side-channel request!\n"
-#~ msgstr "WARNING: Kunde inte läsa sidkanalsbegäran!\n"
-
-#~ msgid "WARNING: Option \"%s\" cannot be included via IncludeFeature!\n"
-#~ msgstr ""
-#~ "WARNING: Alternativet \"%s\" kan inte inkluderas via IncludeFeature!\n"
-
-#~ msgid "WARNING: Printer not responding\n"
-#~ msgstr "WARNING: Skrivaren svarar inte\n"
-
-#~ msgid "WARNING: Printer sent unexpected EOF\n"
-#~ msgstr "WARNING: Skrivare skickade oväntat EOF\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with command status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: Fjärrvärden svarade inte med kommandostatusbyte efter %d "
-#~ "sekunder!\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with control status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: Fjärrvärden svarade inte med kontrollstatusbyte efter %d "
-#~ "sekunder!\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with data status byte after %d "
-#~ "seconds!\n"
-#~ msgstr ""
-#~ "WARNING: Fjärrvärden svarade inte med datastatusbyte efter %d sekunder!\n"
-
-#~ msgid "WARNING: SCSI command timed out (%d); retrying...\n"
-#~ msgstr ""
-#~ "WARNING: SCSI-kommando nådde en maxtidsgräns (%d), försöker igen...\n"
-
-#~ msgid ""
-#~ "WARNING: This document does not conform to the Adobe Document Structuring "
-#~ "Conventions and may not print correctly!\n"
-#~ msgstr ""
-#~ "WARNING: Det här dokumentet följer inte Adobes dokumentspecifikationer "
-#~ "och kanske inte skrivs ut på rätt sätt!\n"
-
-#~ msgid "WARNING: Unable to open \"%s:%s\": %s\n"
-#~ msgstr "WARNING: Kunde inte öppna \"%s:%s\": %s\n"
-
-#~ msgid "WARNING: Unable to send PAP status request"
-#~ msgstr "WARNING: Kunde inte skicka begäran för PAP-status"
-
-#~ msgid "WARNING: Unexpected PAP packet of type %d\n"
-#~ msgstr "WARNING: Oväntat PAP-paket av typen %d\n"
-
-#~ msgid "WARNING: Unknown PAP packet of type %d\n"
-#~ msgstr "WARNING: Okänt PAP-paket av typen %d\n"
-
-#~ msgid "WARNING: Unknown choice \"%s\" for option \"%s\"!\n"
-#~ msgstr "WARNING: Okänt val \"%s\" för alternativet \"%s\"!\n"
-
-#~ msgid "WARNING: Unknown option \"%s\"!\n"
-#~ msgstr "WARNING: Okänt alternativ \"%s\"!\n"
-
-#~ msgid "WARNING: Unsupported baud rate %s!\n"
-#~ msgstr "WARNING: Formatet %s stöds inte!\n"
-
-#~ msgid "WARNING: number expected for status option \"%s\"\n"
-#~ msgstr "WARNING: siffra förväntad för statusalternativ \"%s\"\n"
-
-#~ msgid ""
-#~ "WARNING: recoverable: Network host '%s' is busy; will retry in %d "
-#~ "seconds...\n"
-#~ msgstr ""
-#~ "WARNING: kan återställas: Nätverksvärden ”%s” är upptagen, försöker igen "
-#~ "om %d sekunder...\n"
-
-#~ msgid "Warning, no Windows 2000 printer drivers are installed!"
-#~ msgstr "Varning, inga skrivardrivrutiner för Windows 2000 är installerade!"
-
-#~ msgid "You4 Envelope"
-#~ msgstr "You4-kuvert"
-
-#~ msgid "convert: Use the -f option to specify a file to convert.\n"
-#~ msgstr ""
-#~ "konvertera: Använd alternativet -f till att ange den fil som ska "
-#~ "konverteras.\n"
-
-#~ msgid "cupsaddsmb: No PPD file for printer \"%s\" - %s\n"
-#~ msgstr "cupsaddsmb: Ingen PPD-fil för skrivaren \"%s\" - %s\n"
-
-#~ msgid "cupsctl: Unable to connect to server: %s\n"
-#~ msgstr "cupsctl: Kunde inte ansluta till server: %s\n"
-
-#~ msgid "cupsctl: Unknown option \"%s\"!\n"
-#~ msgstr "cupsctl: Okänt alternativ \"%s\"!\n"
-
-#~ msgid "cupsctl: Unknown option \"-%c\"!\n"
-#~ msgstr "cupsctl: Okänt alternativ \"-%c\"!\n"
-
-#~ msgid "cupsd: Expected config filename after \"-c\" option!\n"
-#~ msgstr "cupsd: Förväntat konfigurationsfilnamn efter alternativet \"-c\"!\n"
-
-#~ msgid "cupsd: Unable to get current directory!\n"
-#~ msgstr "cupsd: Kunde inte hämta aktuell katalog!\n"
-
-#~ msgid "cupsd: Unknown argument \"%s\" - aborting!\n"
-#~ msgstr "cupsd: Okänt argument \"%s\" - stoppar!\n"
-
-#~ msgid "cupsd: Unknown option \"%c\" - aborting!\n"
-#~ msgstr "cupsd: Okänt alternativ \"%c\" - stoppar!\n"
-
-#~ msgid "cupsd: launchd(8) support not compiled in, running in normal mode.\n"
-#~ msgstr "cupsd: Stöd för launchd(8) inte inbyggt, kör i normalt läge.\n"
-
-#~ msgid "cupsfilter: Invalid document number %d!\n"
-#~ msgstr "cupsfilter: Ogiltigt dokumentnummer %d!\n"
-
-#~ msgid "cupsfilter: Invalid job ID %d!\n"
-#~ msgstr "cupsfilter: Ogiltigt utskrifts-ID %d!\n"
-
-#~ msgid "cupsfilter: Only one filename can be specified!\n"
-#~ msgstr "cupsfilter: Bara ett filnamn kan anges!\n"
-
-#~ msgid "cupsfilter: Unable to create temporary file: %s\n"
-#~ msgstr "cupsfilter: Kunde inte skapa temporär fil: %s\n"
-
-#~ msgid "cupsfilter: Unable to get job file - %s\n"
-#~ msgstr "cupsfilter: Kunde inte hämta utskriftsfil - %s\n"
-
-#~ msgid "cupstestppd: The -q option is incompatible with the -v option.\n"
-#~ msgstr ""
-#~ "cupstestppd: Alternativet -q är inte kompatibelt med alternativet -v.\n"
-
-#~ msgid "cupstestppd: The -v option is incompatible with the -q option.\n"
-#~ msgstr ""
-#~ "cupstestppd: Alternativet -v är inte kompatibelt med alternativet -q.\n"
-
-#~ msgid "device for %s/%s: %s\n"
-#~ msgstr "enhet för %s/%s: %s\n"
-
-#~ msgid "device for %s: %s\n"
-#~ msgstr "enhet för %s: %s\n"
-
-#~ msgid "help\t\tget help on commands\n"
-#~ msgstr "help\t\tfå hjälp om kommandon\n"
-
-#~ msgid "job-printer-uri attribute missing!"
-#~ msgstr "Attributet job-printer-uri saknas!"
-
-#~ msgid "lpadmin: Class name can only contain printable characters!\n"
-#~ msgstr "lpadmin: Klassnamn kan endast innehålla skrivbara tecken!\n"
-
-#~ msgid "lpadmin: Expected PPD after '-P' option!\n"
-#~ msgstr "lpadmin: Förväntat PPD efter alternativet ”-P”!\n"
-
-#~ msgid "lpadmin: Expected allow/deny:userlist after '-u' option!\n"
-#~ msgstr "lpadmin: Förväntad allow/deny:userlist efter alternativet ”-u”!\n"
-
-#~ msgid "lpadmin: Expected class after '-r' option!\n"
-#~ msgstr "lpadmin: Förväntad klass efter alternativet ”-r”!\n"
-
-#~ msgid "lpadmin: Expected class name after '-c' option!\n"
-#~ msgstr "lpadmin: Förväntat klassnamn efter alternativet ”-c”!\n"
-
-#~ msgid "lpadmin: Expected description after '-D' option!\n"
-#~ msgstr "lpadmin: Förväntad beskrivning efter alternativet ”-D”!\n"
-
-#~ msgid "lpadmin: Expected device URI after '-v' option!\n"
-#~ msgstr "lpadmin: Förväntad enhets-URI efter alternativet ”-v”!\n"
-
-#~ msgid "lpadmin: Expected file type(s) after '-I' option!\n"
-#~ msgstr "lpadmin: Förväntade filtyp(er) efter alternativet ”-I”!\n"
-
-#~ msgid "lpadmin: Expected hostname after '-h' option!\n"
-#~ msgstr "lpadmin: Förväntat värdnamn efter alternativet ”-h”!\n"
-
-#~ msgid "lpadmin: Expected interface after '-i' option!\n"
-#~ msgstr "lpadmin: Förväntat gränssnitt efter alternativet ”-i”!\n"
-
-#~ msgid "lpadmin: Expected location after '-L' option!\n"
-#~ msgstr "lpadmin: Förväntad plats efter alternativet ”-L”!\n"
-
-#~ msgid "lpadmin: Expected model after '-m' option!\n"
-#~ msgstr "lpadmin: Förväntad modell efter alternativet ”-m”!\n"
-
-#~ msgid "lpadmin: Expected name=value after '-o' option!\n"
-#~ msgstr "lpadmin: Förväntad name=value efter alternativet ”-o”!\n"
-
-#~ msgid "lpadmin: Expected printer after '-p' option!\n"
-#~ msgstr "lpadmin: Förväntad skrivare efter alternativet ”-p”!\n"
-
-#~ msgid "lpadmin: Expected printer name after '-d' option!\n"
-#~ msgstr "lpadmin: Förväntat skrivarnamn efter alternativet ”-d”!\n"
-
-#~ msgid "lpadmin: Expected printer or class after '-x' option!\n"
-#~ msgstr "lpadmin: Förväntad skrivare eller klass efter alternativet ”-x”!\n"
-
-#~ msgid "lpadmin: No member names were seen!\n"
-#~ msgstr "lpadmin: Inga medlemsnamn sågs!\n"
-
-#~ msgid "lpadmin: Printer %s is already a member of class %s.\n"
-#~ msgstr "lpadmin: Skrivaren %s är redan medlem av klassen %s.\n"
-
-#~ msgid "lpadmin: Printer %s is not a member of class %s.\n"
-#~ msgstr "lpadmin: Skrivaren %s är inte en medlem av klassen %s.\n"
-
-#~ msgid "lpadmin: Printer name can only contain printable characters!\n"
-#~ msgstr "lpadmin: Skrivarnamn kan endast innehålla skrivbara tecken!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to add a printer to the class:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Kunde inte lägga till en skrivare till klassen:\n"
-#~ "         Du måste ange ett skrivarnamn först!\n"
-
-#~ msgid "lpadmin: Unable to connect to server: %s\n"
-#~ msgstr "lpadmin: Kunde inte ansluta till server: %s\n"
-
-#~ msgid "lpadmin: Unable to create temporary file - %s\n"
-#~ msgstr "lpadmin: Kunde inte skapa tempfil - %s\n"
-
-#~ msgid "lpadmin: Unable to create temporary file: %s\n"
-#~ msgstr "lpadmin: Kunde inte skapa tempfil: %s\n"
-
-#~ msgid "lpadmin: Unable to open PPD file \"%s\" - %s\n"
-#~ msgstr "lpadmin: Kunde inte öppna PPD-fil \"%s\" - %s\n"
-
-#~ msgid "lpadmin: Unable to open file \"%s\": %s\n"
-#~ msgstr "lpadmin: Kunde inte öppna filen \"%s\": %s\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to remove a printer from the class:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Kunde inte ta bort en skrivare från klassen:\n"
-#~ "         Du måste ange ett skrivarnamn först!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the PPD file:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Kunde inte ställa in PPD-filen:\n"
-#~ "         Du måste ange ett skrivarnamn först!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the device URI:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Kunde inte ställa in enhets-URI:\n"
-#~ "         Du måste ange ett skrivarnamn först!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the interface script or PPD file:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Kunde inte ställa in gränssnittsskriptet eller PPD-fil:\n"
-#~ "         Du måste ange ett skrivarnamn först!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the interface script:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Kunde inte ställa in gränssnittsskriptet:\n"
-#~ "         Du måste ange ett skrivarnamn först!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer description:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Kunde inte ställa in skrivarbeskrivningen:\n"
-#~ "         Du måste ange ett skrivarnamn först!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer location:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Kunde inte ställa in skrivarens plats:\n"
-#~ "         Du måste ange ett skrivarnamn först!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer options:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: Kunde inte ställa in skrivaralternativen:\n"
-#~ "         Du måste ange ett skrivarnamn först!\n"
-
-#~ msgid "lpadmin: Unknown allow/deny option \"%s\"!\n"
-#~ msgstr "lpadmin: : Okänt tillåta/neka-alternativ \"%s\"!\n"
-
-#~ msgid "lpadmin: Unknown argument '%s'!\n"
-#~ msgstr "lpadmin: Okänt argument ”%s”!\n"
-
-#~ msgid "lpadmin: Unknown option '%c'!\n"
-#~ msgstr "lpadmin: Okänt alternativ ”%c”!\n"
-
-#~ msgid "lpadmin: Warning - content type list ignored!\n"
-#~ msgstr "lpadmin: Varning - innehållstyplista ignorerades!\n"
-
-#~ msgid "lpinfo: Expected 1284 device ID string after --device-id!\n"
-#~ msgstr "lpinfo: Förväntad 1284 device ID string efter--device-id!\n"
-
-#~ msgid "lpinfo: Expected language after --language!\n"
-#~ msgstr "lpinfo: Förväntat språk efter --language!\n"
-
-#~ msgid "lpinfo: Expected make and model after --make-and-model!\n"
-#~ msgstr "lpinfo: Förväntad tillverkning och modell efter --make-and-model!\n"
-
-#~ msgid "lpinfo: Expected product string after --product!\n"
-#~ msgstr "lpinfo: Förväntad produktsträng efter --product!\n"
-
-#~ msgid "lpinfo: Expected scheme list after --exclude-schemes!\n"
-#~ msgstr "lpinfo: Förväntad schemalista efter --exclude-schemes!\n"
-
-#~ msgid "lpinfo: Expected scheme list after --include-schemes!\n"
-#~ msgstr "lpinfo: Förväntad schemalista efter --include-schemes!\n"
-
-#~ msgid "lpinfo: Expected timeout after --timeout!\n"
-#~ msgstr "lpinfo: Förväntat tidsgränsfel efter --timeout!\n"
-
-#~ msgid "lpinfo: Unknown argument '%s'!\n"
-#~ msgstr "lpinfo: Okänt argument ”%s”!\n"
-
-#~ msgid "lpinfo: Unknown option '%c'!\n"
-#~ msgstr "lpinfo: Okänt alternativ ”%c”!\n"
-
-#~ msgid "lpinfo: Unknown option '%s'!\n"
-#~ msgstr "lpinfo: Okänt alternativ ”%s”!\n"
-
-#~ msgid "lpmove: Unable to connect to server: %s\n"
-#~ msgstr "lpmove: Kunde inte ansluta till server: %s\n"
-
-#~ msgid "lpmove: Unknown argument '%s'!\n"
-#~ msgstr "lpmove: Okänt argument ”%s”!\n"
-
-#~ msgid "lpmove: Unknown option '%c'!\n"
-#~ msgstr "lpmove: Okänt alternativ ”%c”!\n"
-
-#~ msgid "lpoptions: No printers!?!\n"
-#~ msgstr "lpoptions: Inga skrivare!?!\n"
-
-#~ msgid "lpoptions: Unable to add printer or instance: %s\n"
-#~ msgstr "lpoptions: Kunde inte lägga till skrivare eller instans: %s\n"
-
-#~ msgid "lpoptions: Unable to get PPD file for %s: %s\n"
-#~ msgstr "lpoptions: Kunde inte hämta PPD-fil för %s: %s\n"
-
-#~ msgid "lpoptions: Unable to open PPD file for %s!\n"
-#~ msgstr "lpoptions: Kunde inte öppna PPD-fil för %s!\n"
-
-#~ msgid "lpoptions: Unknown printer or class!\n"
-#~ msgstr "lpoptions: Okänd skrivare eller klass!\n"
-
-#~ msgid "lppasswd: Only root can add or delete passwords!\n"
-#~ msgstr "lppasswd: Endast rot kan lägga till eller ta bort lösenord!\n"
-
-#~ msgid "lppasswd: Password file busy!\n"
-#~ msgstr "lppasswd: Lösenordsfil upptagen!\n"
-
-#~ msgid "lppasswd: Password file not updated!\n"
-#~ msgstr "lppasswd: Lösenordsfil inte uppdaterad!\n"
-
-#~ msgid "lppasswd: Sorry, password doesn't match!\n"
-#~ msgstr "lppasswd: Tyvärr, lösenord stämmer inte!\n"
-
-#~ msgid ""
-#~ "lppasswd: Sorry, password rejected.\n"
-#~ "Your password must be at least 6 characters long, cannot contain\n"
-#~ "your username, and must contain at least one letter and number.\n"
-#~ msgstr ""
-#~ "lppasswd: Tyvärr, lösenord stämmer inte.\n"
-#~ "Lösenordet måste vara minst 6 tecken långt, får inte innehålla\n"
-#~ "ditt användarnamn, och måste innehålla åtminstone en bokstav och siffra.\n"
-
-#~ msgid "lppasswd: Sorry, passwords don't match!\n"
-#~ msgstr "lppasswd: Tyvärr, lösenorden stämmer inte överens!\n"
-
-#~ msgid "lppasswd: Unable to copy password string: %s\n"
-#~ msgstr "lppasswd: Kunde inte kopiera lösenordssträng: %s\n"
-
-#~ msgid "lppasswd: Unable to open password file: %s\n"
-#~ msgstr "lppasswd: Kunde inte öppna lösenordsfil: %s\n"
-
-#~ msgid "lppasswd: Unable to write to password file: %s\n"
-#~ msgstr "lppasswd: Kunde inte skriva till lösenordsfil: %s\n"
-
-#~ msgid "lppasswd: failed to backup old password file: %s\n"
-#~ msgstr ""
-#~ "lppasswd: misslyckades med att säkerhetskopiera gamla lösenordsfilen: %s\n"
-
-#~ msgid "lppasswd: failed to rename password file: %s\n"
-#~ msgstr "lppasswd: misslyckades med att byta namn på lösenordsfilen: %s\n"
-
-#~ msgid "lppasswd: user \"%s\" and group \"%s\" do not exist.\n"
-#~ msgstr "lppasswd: användare \"%s\" och grupp \"%s\" finns inte.\n"
-
-#~ msgid ""
-#~ "lpstat: error - %s environment variable names non-existent destination \"%"
-#~ "s\"!\n"
-#~ msgstr ""
-#~ "lpstat: fel - miljövariabeln %s namnger icke-existerande mål \"%s\"!\n"
-
-#~ msgid "members of class %s:\n"
-#~ msgstr "medlemmar av klassen %s:\n"
-
-#~ msgid "no entries\n"
-#~ msgstr "inga objekt\n"
-
-#~ msgid "no system default destination\n"
-#~ msgstr "inget systemstandardmål\n"
-
-#~ msgid "notify-events not specified!"
-#~ msgstr "notify-events inte angivet!"
-
-#~ msgid "notify-recipient-uri URI \"%s\" is already used!"
-#~ msgstr "URI för notify-recipient-uri \"%s\" används redan!"
-
-#~ msgid "notify-recipient-uri URI \"%s\" uses unknown scheme!"
-#~ msgstr "URI för notify-recipient-uri \"%s\" använder okänt schema!"
-
-#~ msgid "notify-subscription-id %d no good!"
-#~ msgstr "notify-subscription-id %d inte bra!"
-
-#~ msgid "ppdc: Adding include directory \"%s\"...\n"
-#~ msgstr "ppdc: Lägger till inkluderingskatalog \"%s\"...\n"
-
-#~ msgid "ppdc: Adding/updating UI text from %s...\n"
-#~ msgstr "ppdc: Lägger till/uppdaterar UI-text från %s...\n"
-
-#~ msgid "ppdc: Bad boolean value (%s) on line %d of %s.\n"
-#~ msgstr "ppdc: Felaktigt booleskt värde (%s) på rad %d av %s.\n"
-
-#~ msgid "ppdc: Bad resolution name \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Felaktigt upplösningsnamn \"%s\" på rad %d av %s!\n"
-
-#~ msgid "ppdc: Bad status keyword %s on line %d of %s!\n"
-#~ msgstr "ppdc: Felaktigt statuslösenord %s på rad %d av %s!\n"
-
-#~ msgid "ppdc: Bad variable substitution ($%c) on line %d of %s.\n"
-#~ msgstr "ppdc: Felaktig variabelersättning ($%c) på rad %d av %s.\n"
-
-#~ msgid "ppdc: Choice found on line %d of %s with no Option!\n"
-#~ msgstr "ppdc: Val hittades på rad %d of %s utan alternativ!\n"
-
-#~ msgid "ppdc: Duplicate #po for locale %s on line %d of %s!\n"
-#~ msgstr "ppdc: Dublicera #po för språk %s på rad %d av %s!\n"
-
-#~ msgid "ppdc: Expected a filter definition on line %d of %s!\n"
-#~ msgstr "ppdc: Förväntad filterdefinition på rad %d av %s!\n"
-
-#~ msgid "ppdc: Expected a program name on line %d of %s!\n"
-#~ msgstr "ppdc: Förväntat programnamn på rad %d av %s!\n"
-
-#~ msgid "ppdc: Expected boolean value on line %d of %s.\n"
-#~ msgstr "ppdc: Förväntat booleskt värde på rad %d av %s.\n"
-
-#~ msgid "ppdc: Expected charset after Font on line %d of %s!\n"
-#~ msgstr "ppdc: Förväntad teckenkodning efter typsnitt på rad %d av %s!\n"
-
-#~ msgid "ppdc: Expected choice code on line %d of %s.\n"
-#~ msgstr "ppdc: Förväntad valkod på rad %d av %s.\n"
-
-#~ msgid "ppdc: Expected choice name/text on line %d of %s.\n"
-#~ msgstr "ppdc: Förväntad namn-/textkod på rad %d av %s.\n"
-
-#~ msgid "ppdc: Expected color order for ColorModel on line %d of %s!\n"
-#~ msgstr "ppdc: Förväntad färgordning för ColorModel på rad %d av %s!\n"
-
-#~ msgid "ppdc: Expected colorspace for ColorModel on line %d of %s!\n"
-#~ msgstr "ppdc: Förväntad färgrymd för ColorModel på rad %d av %s!\n"
-
-#~ msgid "ppdc: Expected compression for ColorModel on line %d of %s!\n"
-#~ msgstr "ppdc: Förväntad komprimering för ColorModel på rad %d av %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected constraints string for UIConstraints on line %d of %s!\n"
-#~ msgstr "ppdc: Förväntad regelsträng för UIConstraints på rad %d av %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected driver type keyword following DriverType on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc: Förväntat lösenord för drivrutinstyp efter DriverType på rad %d av %"
-#~ "s!\n"
-
-#~ msgid "ppdc: Expected duplex type after Duplex on line %d of %s!\n"
-#~ msgstr "ppdc: Förväntad duplextyp efter Duplex på rad %d av %s!\n"
-
-#~ msgid "ppdc: Expected encoding after Font on line %d of %s!\n"
-#~ msgstr "ppdc: Förväntad kodning efter typsnitt på rad %d av %s!\n"
-
-#~ msgid "ppdc: Expected filename after #po %s on line %d of %s!\n"
-#~ msgstr "ppdc: Förväntat filnamn efter #po %s på rad %d av %s!\n"
-
-#~ msgid "ppdc: Expected group name/text on line %d of %s!\n"
-#~ msgstr "ppdc: Förväntat gruppnamn/-text på rad %d av %s.\n"
-
-#~ msgid "ppdc: Expected include filename on line %d of %s!\n"
-#~ msgstr "ppdc: Förväntat inkluderingsfilnamn på rad %d av %s!\n"
-
-#~ msgid "ppdc: Expected integer on line %d of %s!\n"
-#~ msgstr "ppdc: Förväntat heltal på rad %d av %s!\n"
-
-#~ msgid "ppdc: Expected locale after #po on line %d of %s!\n"
-#~ msgstr "ppdc: Förväntad språkversion #po på rad %d av %s!\n"
-
-#~ msgid "ppdc: Expected name after %s on line %d of %s!\n"
-#~ msgstr "ppdc: Förväntat namn efter %s på rad %d av %s!\n"
-
-#~ msgid "ppdc: Expected name after FileName on line %d of %s!\n"
-#~ msgstr "ppdc: Förväntat namn efter filnamn på rad %d av %s!\n"
-
-#~ msgid "ppdc: Expected name after Font on line %d of %s!\n"
-#~ msgstr "ppdc: Förväntat namn efter typsnitt på rad %d av %s!\n"
-
-#~ msgid "ppdc: Expected name after Manufacturer on line %d of %s!\n"
-#~ msgstr "ppdc: Förväntat namn efter tillverkare på rad %d av %s!\n"
-
-#~ msgid "ppdc: Expected name after MediaSize on line %d of %s!\n"
-#~ msgstr "ppdc: Förväntat namn efter mediestorlek på rad %d av %s!\n"
-
-#~ msgid "ppdc: Expected name after ModelName on line %d of %s!\n"
-#~ msgstr "ppdc: Förväntat namn efter modellnamn på rad %d av %s!\n"
-
-#~ msgid "ppdc: Expected name after PCFileName on line %d of %s!\n"
-#~ msgstr "ppdc: Förväntat namn efter PC-filnamn på rad %d av %s!\n"
-
-#~ msgid "ppdc: Expected name/text after %s on line %d of %s!\n"
-#~ msgstr "ppdc: Förväntat namn/text efter %s på rad %d av %s!\n"
-
-#~ msgid "ppdc: Expected name/text after Installable on line %d of %s!\n"
-#~ msgstr "ppdc: Förväntat namn/text efter installerbart på rad %d av %s!\n"
-
-#~ msgid "ppdc: Expected name/text after Resolution on line %d of %s!\n"
-#~ msgstr "ppdc: Förväntat namn/text efter upplösning på rad %d av %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected name/text combination for ColorModel on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Förväntat namn-/textkombination för ColorModel på rad %d av %s!\n"
-
-#~ msgid "ppdc: Expected option name/text on line %d of %s!\n"
-#~ msgstr "ppdc: Förväntat alternativnamn/-text på rad %d av %s.\n"
-
-#~ msgid "ppdc: Expected option section on line %d of %s!\n"
-#~ msgstr "ppdc: Förväntat alternativavsnitt på rad %d av %s!\n"
-
-#~ msgid "ppdc: Expected option type on line %d of %s!\n"
-#~ msgstr "ppdc: Förväntad alternativtyp på rad %d av %s!\n"
-
-#~ msgid "ppdc: Expected override field after Resolution on line %d of %s!\n"
-#~ msgstr "ppdc: Förväntat ersättningsfält efter upplösning på rad %d av %s!\n"
-
-#~ msgid "ppdc: Expected real number on line %d of %s!\n"
-#~ msgstr "ppdc: Förväntat reellt tal på rad %d av %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected resolution/mediatype following ColorProfile on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc: Förväntad upplösning/medietyp efter ColorProfile på rad %d av %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected resolution/mediatype following SimpleColorProfile on line %"
-#~ "d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Förväntad upplösning/medietyp efter SimpleColorProfile på rad %d av "
-#~ "%s!\n"
-
-#~ msgid "ppdc: Expected selector after %s on line %d of %s!\n"
-#~ msgstr "ppdc: Förväntad väljare efter %s på rad %d av %s!\n"
-
-#~ msgid "ppdc: Expected status after Font on line %d of %s!\n"
-#~ msgstr "ppdc: Förväntad status efter typsnitt på rad %d av %s!\n"
-
-#~ msgid "ppdc: Expected string after Copyright on line %d of %s!\n"
-#~ msgstr "ppdc: Förväntad sträng efter upphovsrätt på rad %d av %s!\n"
-
-#~ msgid "ppdc: Expected string after Version on line %d of %s!\n"
-#~ msgstr "ppdc: Förväntad sträng efter version på rad %d av %s!\n"
-
-#~ msgid "ppdc: Expected two option names on line %d of %s!\n"
-#~ msgstr "ppdc: Förväntade två alternativnamn på rad %d av %s!\n"
-
-#~ msgid "ppdc: Expected value after %s on line %d of %s!\n"
-#~ msgstr "ppdc: Förväntat värde efter %s på rad %d av %s!\n"
-
-#~ msgid "ppdc: Expected version after Font on line %d of %s!\n"
-#~ msgstr "ppdc: Förväntad version efter typsnitt på rad %d av %s!\n"
-
-#~ msgid "ppdc: Invalid #include/#po filename \"%s\"!\n"
-#~ msgstr "ppdc: Ogiltigt #include/#po filnamn \"%s\"!\n"
-
-#~ msgid "ppdc: Invalid cost for filter on line %d of %s!\n"
-#~ msgstr "ppdc: Ogiltig kostnad för filter på rad %d av %s!\n"
-
-#~ msgid "ppdc: Invalid empty MIME type for filter on line %d of %s!\n"
-#~ msgstr "ppdc: Ogiltig tom MIME-typ för filter på rad %d av %s!\n"
-
-#~ msgid "ppdc: Invalid empty program name for filter on line %d of %s!\n"
-#~ msgstr "ppdc: Ogiltigt tomt programnamn för filter på rad %d av %s!\n"
-
-#~ msgid "ppdc: Invalid option section \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Ogiltigt alternativavsnitt \"%s\" på rad %d av %s!\n"
-
-#~ msgid "ppdc: Invalid option type \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Ogiltig alternativtyp \"%s\" på rad %d av %s!\n"
-
-#~ msgid "ppdc: Loading driver information file \"%s\"...\n"
-#~ msgstr "ppdc: Läser in fil med drivrutinsinformation \"%s\"...\n"
-
-#~ msgid "ppdc: Loading messages for locale \"%s\"...\n"
-#~ msgstr "ppdc: Läser in meddelanden för språk \"%s\"...\n"
-
-#~ msgid "ppdc: Loading messages from \"%s\"...\n"
-#~ msgstr "ppdc: Läser in meddelanden från \"%s\"...\n"
-
-#~ msgid "ppdc: Missing #endif at end of \"%s\"!\n"
-#~ msgstr "ppdc: Saknad #endif i slutet av \"%s\"!\n"
-
-#~ msgid "ppdc: Missing #if on line %d of %s!\n"
-#~ msgstr "ppdc: Saknad #if på rad %d av %s!\n"
-
-#~ msgid "ppdc: No message catalog provided for locale %s!\n"
-#~ msgstr "ppdc: Ingen meddelandekatalog angiven för språkversionen %s!\n"
-
-#~ msgid "ppdc: Option %s redefined with a different type on line %d of %s!\n"
-#~ msgstr ""
-#~ "ppdc: Alternativ %s definieras om med en annan typ på rad %d av %s!\n"
-
-#~ msgid "ppdc: Option constraint must *name on line %d of %s!\n"
-#~ msgstr "ppdc: Alternativregel måste *name på rad %d av %s!\n"
-
-#~ msgid "ppdc: Too many nested #if's on line %d of %s!\n"
-#~ msgstr "ppdc: För många nästlade #if”s på rad %d av %s!\n"
-
-#~ msgid "ppdc: Unable to create PPD file \"%s\" - %s.\n"
-#~ msgstr "ppdc: Kunde inte skapa PPD-fil \"%s\" - %s.\n"
-
-#~ msgid "ppdc: Unable to create output directory %s: %s\n"
-#~ msgstr "ppdc: Kunde inte skapa utdatakatalog %s: %s\n"
-
-#~ msgid "ppdc: Unable to create output pipes: %s\n"
-#~ msgstr "ppdc: Kunde inte skapa utdatarör: %s\n"
-
-#~ msgid "ppdc: Unable to execute cupstestppd: %s\n"
-#~ msgstr "ppdc: Kunde inte köra cupstestppd: %s\n"
-
-#~ msgid "ppdc: Unable to find #po file %s on line %d of %s!\n"
-#~ msgstr "ppdc: Kunde inte hitta #po fil %s på rad %d av %s!\n"
-
-#~ msgid "ppdc: Unable to find include file \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Kunde inte hitta inkluderingsfil \"%s\" på rad %d av %s!\n"
-
-#~ msgid "ppdc: Unable to find localization for \"%s\" - %s\n"
-#~ msgstr "ppdc: Kunde inte hitta lokalisering för \"%s\" - %s\n"
-
-#~ msgid "ppdc: Unable to load localization file \"%s\" - %s\n"
-#~ msgstr "ppdc: Kunde inte läsa in lokaliseringsfil för \"%s\" - %s\n"
-
-#~ msgid "ppdc: Undefined variable (%s) on line %d of %s.\n"
-#~ msgstr "ppdc: Odefinierad variabel (%s) på rad %d av %s.\n"
-
-#~ msgid "ppdc: Unknown driver type %s on line %d of %s!\n"
-#~ msgstr "ppdc: Okänd drivrutinstyp %s på rad %d av %s!\n"
-
-#~ msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Okänd duplextyp \"%s\" på rad %d av %s!\n"
-
-#~ msgid "ppdc: Unknown media size \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc: Okänd mediestorlek \"%s\" på rad %d of %s!\n"
-
-#~ msgid "ppdc: Unknown token \"%s\" seen on line %d of %s!\n"
-#~ msgstr "ppdc: Okänd symbol \"%s\" sågs på rad %d av %s!\n"
-
-#~ msgid ""
-#~ "ppdc: Unknown trailing characters in real number \"%s\" on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc: Okända avslutande tecken i reellt tal \"%s\" på rad %d av %s!\n"
-
-#~ msgid "ppdc: Unterminated string starting with %c on line %d of %s!\n"
-#~ msgstr "ppdc: Oavslutad sträng börjar med %c på rad %d av %s!\n"
-
-#~ msgid "ppdc: Writing %s...\n"
-#~ msgstr "ppdc: Skriver %s...\n"
-
-#~ msgid "ppdc: Writing PPD files to directory \"%s\"...\n"
-#~ msgstr "ppdc: Skriver PPD-filer till katalogen \"%s\"...\n"
-
-#~ msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s!\n"
-#~ msgstr "ppdmerge: Felaktig LanguageVersion \"%s\" i %s!\n"
-
-#~ msgid "ppdmerge: Ignoring PPD file %s...\n"
-#~ msgstr "ppdmerge: Ignorerar PPD-fil %s...\n"
-
-#~ msgid "ppdmerge: Unable to backup %s to %s- %s\n"
-#~ msgstr "ppdmerge: Kan inte säkerhetskopiera %s till %s- %s\n"
-
-#~ msgid "printer %s disabled since %s -\n"
-#~ msgstr "skrivare %s avaktiverad sedan %s -\n"
-
-#~ msgid "printer %s is idle.  enabled since %s\n"
-#~ msgstr "skrivare %s är overksam.  aktiverad sedan %s\n"
-
-#~ msgid "printer %s now printing %s-%d.  enabled since %s\n"
-#~ msgstr "skrivare %s skriver ut %s-%d.  avaktiverad sedan %s\n"
-
-#~ msgid "printer %s/%s disabled since %s -\n"
-#~ msgstr "skrivare %s/%s avaktiverad sedan %s -\n"
-
-#~ msgid "printer %s/%s is idle.  enabled since %s\n"
-#~ msgstr "skrivare %s/%s är overksam.  aktiverad sedan %s\n"
-
-#~ msgid "printer %s/%s now printing %s-%d.  enabled since %s\n"
-#~ msgstr "skrivare %s/%s skriver ut %s-%d.  aktiverad sedan %s\n"
-
-#~ msgid "request id is %s-%d (%d file(s))\n"
-#~ msgstr "ID för begäran är %s-%d (%d fil(er))\n"
-
-#~ msgid "scheduler is not running\n"
-#~ msgstr "schemaläggare körs inte\n"
-
-#~ msgid "scheduler is running\n"
-#~ msgstr "schemaläggare körs\n"
-
-#~ msgid "status\t\tshow status of daemon and queue\n"
-#~ msgstr "status\t\tvisa status för demon och kö\n"
-
-#~ msgid "system default destination: %s\n"
-#~ msgstr "systemstandardmål: %s\n"
-
-#~ msgid "system default destination: %s/%s\n"
-#~ msgstr "systemstandardmål: %s/%s\n"
diff --git a/locale/cups_zh.po b/locale/cups_zh.po
deleted file mode 100644 (file)
index 4ba6b5a..0000000
+++ /dev/null
@@ -1,8592 +0,0 @@
-msgid ""
-msgstr ""
-"Project-Id-Version: CUPS 1.4\n"
-"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2012-03-07 13:38-0800\n"
-"PO-Revision-Date: 2009-02-16 12:00-0800\n"
-"Last-Translator: Apple Inc.\n"
-"Language-Team: Apple Inc.\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: \n"
-
-msgid "\t\t(all)"
-msgstr ""
-
-msgid "\t\t(none)"
-msgstr ""
-
-#, c-format
-msgid "\t%d entries"
-msgstr ""
-
-#, c-format
-msgid "\t%s"
-msgstr ""
-
-msgid "\tAfter fault: continue"
-msgstr ""
-
-#, c-format
-msgid "\tAlerts: %s"
-msgstr ""
-
-msgid "\tBanner required"
-msgstr ""
-
-msgid "\tCharset sets:"
-msgstr ""
-
-msgid "\tConnection: direct"
-msgstr ""
-
-msgid "\tConnection: remote"
-msgstr ""
-
-msgid "\tContent types: any"
-msgstr ""
-
-msgid "\tDefault page size:"
-msgstr ""
-
-msgid "\tDefault pitch:"
-msgstr ""
-
-msgid "\tDefault port settings:"
-msgstr ""
-
-#, c-format
-msgid "\tDescription: %s"
-msgstr ""
-
-msgid "\tForm mounted:"
-msgstr ""
-
-msgid "\tForms allowed:"
-msgstr ""
-
-#, c-format
-msgid "\tInterface: %s.ppd"
-msgstr ""
-
-#, c-format
-msgid "\tInterface: %s/interfaces/%s"
-msgstr ""
-
-#, c-format
-msgid "\tInterface: %s/ppd/%s.ppd"
-msgstr ""
-
-#, c-format
-msgid "\tLocation: %s"
-msgstr ""
-
-msgid "\tOn fault: no alert"
-msgstr ""
-
-msgid "\tPrinter types: unknown"
-msgstr ""
-
-#, c-format
-msgid "\tStatus: %s"
-msgstr ""
-
-msgid "\tUsers allowed:"
-msgstr ""
-
-msgid "\tUsers denied:"
-msgstr ""
-
-msgid "\tdaemon present"
-msgstr ""
-
-msgid "\tno entries"
-msgstr ""
-
-#, c-format
-msgid "\tprinter is on device '%s' speed -1"
-msgstr ""
-
-msgid "\tprinting is disabled"
-msgstr ""
-
-msgid "\tprinting is enabled"
-msgstr ""
-
-#, c-format
-msgid "\tqueued for %s"
-msgstr ""
-
-msgid "\tqueuing is disabled"
-msgstr ""
-
-msgid "\tqueuing is enabled"
-msgstr ""
-
-msgid "\treason unknown"
-msgstr ""
-
-msgid ""
-"\n"
-"    DETAILED CONFORMANCE TEST RESULTS"
-msgstr ""
-
-msgid "                          Ignore specific warnings."
-msgstr ""
-
-msgid "                          Issue warnings instead of errors."
-msgstr ""
-
-msgid "                REF: Page 15, section 3.1."
-msgstr ""
-
-msgid "                REF: Page 15, section 3.2."
-msgstr ""
-
-msgid "                REF: Page 19, section 3.3."
-msgstr ""
-
-msgid "                REF: Page 20, section 3.4."
-msgstr ""
-
-msgid "                REF: Page 27, section 3.5."
-msgstr ""
-
-msgid "                REF: Page 42, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 16-17, section 3.2."
-msgstr ""
-
-msgid "                REF: Pages 42-45, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 45-46, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 48-49, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 52-54, section 5.2."
-msgstr ""
-
-#, c-format
-msgid "        %-39.39s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "        PASS    Default%s"
-msgstr ""
-
-msgid "        PASS    DefaultImageableArea"
-msgstr ""
-
-msgid "        PASS    DefaultPaperDimension"
-msgstr ""
-
-msgid "        PASS    FileVersion"
-msgstr ""
-
-msgid "        PASS    FormatVersion"
-msgstr ""
-
-msgid "        PASS    LanguageEncoding"
-msgstr ""
-
-msgid "        PASS    LanguageVersion"
-msgstr ""
-
-msgid "        PASS    Manufacturer"
-msgstr ""
-
-msgid "        PASS    ModelName"
-msgstr ""
-
-msgid "        PASS    NickName"
-msgstr ""
-
-msgid "        PASS    PCFileName"
-msgstr ""
-
-msgid "        PASS    PSVersion"
-msgstr ""
-
-msgid "        PASS    PageRegion"
-msgstr ""
-
-msgid "        PASS    PageSize"
-msgstr ""
-
-msgid "        PASS    Product"
-msgstr ""
-
-msgid "        PASS    ShortNickName"
-msgstr ""
-
-#, c-format
-msgid "        WARN    %s has no corresponding options."
-msgstr ""
-
-#, c-format
-msgid ""
-"        WARN    %s shares a common prefix with %s\n"
-"                REF: Page 15, section 3.2."
-msgstr ""
-
-#, c-format
-msgid ""
-"        WARN    Duplex option keyword %s may not work as expected and should "
-"be named Duplex.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-
-msgid "        WARN    File contains a mix of CR, LF, and CR LF line endings."
-msgstr ""
-
-msgid ""
-"        WARN    LanguageEncoding required by PPD 4.3 spec.\n"
-"                REF: Pages 56-57, section 5.3."
-msgstr ""
-
-#, c-format
-msgid "        WARN    Line %d only contains whitespace."
-msgstr ""
-
-msgid ""
-"        WARN    Manufacturer required by PPD 4.3 spec.\n"
-"                REF: Pages 58-59, section 5.3."
-msgstr ""
-
-msgid ""
-"        WARN    Non-Windows PPD files should use lines ending with only LF, "
-"not CR LF."
-msgstr ""
-
-#, c-format
-msgid ""
-"        WARN    Obsolete PPD version %.1f.\n"
-"                REF: Page 42, section 5.2."
-msgstr ""
-
-msgid ""
-"        WARN    PCFileName longer than 8.3 in violation of PPD spec.\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-
-msgid ""
-"        WARN    PCFileName should contain a unique filename.\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-
-msgid ""
-"        WARN    Protocols contains PJL but JCL attributes are not set.\n"
-"                REF: Pages 78-79, section 5.7."
-msgstr ""
-
-msgid ""
-"        WARN    Protocols contains both PJL and BCP; expected TBCP.\n"
-"                REF: Pages 78-79, section 5.7."
-msgstr ""
-
-msgid ""
-"        WARN    ShortNickName required by PPD 4.3 spec.\n"
-"                REF: Pages 64-65, section 5.3."
-msgstr ""
-
-msgid "       cupsaddsmb [options] -a"
-msgstr ""
-
-msgid "       cupstestdsc [options] -"
-msgstr ""
-
-msgid "       program | cupstestppd [options] -"
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  \"%s %s\" conflicts with \"%s %s\"\n"
-"                (constraint=\"%s %s %s %s\")."
-msgstr ""
-
-#, c-format
-msgid "      %s  %s %s does not exist."
-msgstr ""
-
-#, c-format
-msgid "      %s  %s file \"%s\" has the wrong capitalization."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  Bad %s choice %s.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsFilter value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsFilter2 value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsICCProfile %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsPreFilter value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsUIConstraints %s: \"%s\""
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad language \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad permissions on %s file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad spelling of %s - should be %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Cannot provide both APScanAppPath and APScanAppBundleID."
-msgstr ""
-
-#, c-format
-msgid "      %s  Default choices conflicting."
-msgstr ""
-
-#, c-format
-msgid "      %s  Empty cupsUIConstraints %s"
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing \"%s\" translation string for option %s, choice %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing \"%s\" translation string for option %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing %s file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  Missing REQUIRED PageRegion option.\n"
-"                REF: Page 100, section 5.14."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  Missing REQUIRED PageSize option.\n"
-"                REF: Page 99, section 5.14."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\""
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing cupsUIResolver %s"
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing option %s in cupsUIConstraints %s: \"%s\""
-msgstr ""
-
-#, c-format
-msgid "      %s  No base translation \"%s\" is included in file."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  REQUIRED %s does not define choice None.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" defined for %s but not for %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" has unexpected dimensions (%gx%g)."
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" should be \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" should be the Adobe standard name \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  cupsICCProfile %s hash value collides with %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  cupsUIResolver %s causes a loop."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  cupsUIResolver %s does not list at least two different options."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  %s choice names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  %s must be 1284DeviceID\n"
-"                REF: Page 72, section 5.5"
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD Default%s %s\n"
-"                REF: Page 40, section 4.5."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD DefaultImageableArea %s\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD DefaultPaperDimension %s\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD JobPatchFile attribute in file\n"
-"                REF: Page 24, section 3.4."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD Manufacturer (should be \"HP\")\n"
-"                REF: Page 211, table D.1."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD Manufacturer (should be \"Oki\")\n"
-"                REF: Page 211, table D.1."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n"
-"                REF: Pages 59-60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD PSVersion - not \"(string) int\".\n"
-"                REF: Pages 62-64, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD Product - not \"(string)\".\n"
-"                REF: Page 62, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD ShortNickName - longer than 31 chars.\n"
-"                REF: Pages 64-65, section 5.3."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad %s choice %s\n"
-"                REF: Page 84, section 5.9"
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad FileVersion \"%s\"\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad FormatVersion \"%s\"\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Bad LanguageVersion %s - must be English."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Default option code cannot be interpreted: %s"
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Default translation string for option %s choice %s contains "
-"8-bit characters."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Default translation string for option %s contains 8-bit "
-"characters."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Group names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Multiple occurrences of %s choice name %s."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Option names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED Default%s\n"
-"                REF: Page 40, section 4.5."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED DefaultImageableArea\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED DefaultPaperDimension\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED FileVersion\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED FormatVersion\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED ImageableArea for PageSize %s\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED LanguageEncoding\n"
-"                REF: Pages 56-57, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED LanguageVersion\n"
-"                REF: Pages 57-58, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED Manufacturer\n"
-"                REF: Pages 58-59, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED ModelName\n"
-"                REF: Pages 59-60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED NickName\n"
-"                REF: Page 60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PCFileName\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PSVersion\n"
-"                REF: Pages 62-64, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PageRegion\n"
-"                REF: Page 100, section 5.14."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PageSize\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 99, section 5.14."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PageSize\n"
-"                REF: Pages 99-100, section 5.14."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED PaperDimension for PageSize %s\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED Product\n"
-"                REF: Page 62, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED ShortNickName\n"
-"                REF: Page 64-65, section 5.3."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Unable to open PPD file - %s"
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Unable to open PPD file - %s on line %d."
-msgstr ""
-
-#, c-format
-msgid "    %d ERRORS FOUND"
-msgstr ""
-
-msgid "    -h       Show program usage"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Bad %%%%BoundingBox: on line %d.\n"
-"        REF: Page 39, %%%%BoundingBox:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Bad %%%%Page: on line %d.\n"
-"        REF: Page 53, %%%%Page:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Bad %%%%Pages: on line %d.\n"
-"        REF: Page 43, %%%%Pages:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Line %d is longer than 255 characters (%d).\n"
-"        REF: Page 25, Line Length"
-msgstr ""
-
-msgid ""
-"    Missing %!PS-Adobe-3.0 on first line.\n"
-"        REF: Page 17, 3.1 Conforming Documents"
-msgstr ""
-
-#, c-format
-msgid "    Missing %%EndComments comment.        REF: Page 41, %%EndComments"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Missing or bad %%BoundingBox: comment.\n"
-"        REF: Page 39, %%BoundingBox:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Missing or bad %%Page: comments.\n"
-"        REF: Page 53, %%Page:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Missing or bad %%Pages: comment.\n"
-"        REF: Page 43, %%Pages:"
-msgstr ""
-
-msgid "    NO ERRORS FOUND"
-msgstr ""
-
-#, c-format
-msgid "    Saw %d lines that exceeded 255 characters."
-msgstr ""
-
-#, c-format
-msgid "    Too many %%BeginDocument comments."
-msgstr ""
-
-#, c-format
-msgid "    Too many %%EndDocument comments."
-msgstr ""
-
-msgid "    Warning: file contains binary data."
-msgstr ""
-
-#, c-format
-msgid "    Warning: no %%EndComments comment in file."
-msgstr ""
-
-#, c-format
-msgid "    Warning: obsolete DSC version %.1f in file."
-msgstr ""
-
-msgid "  --[no-]debug-logging    Turn debug logging on/off."
-msgstr ""
-
-msgid "  --[no-]remote-admin     Turn remote administration on/off."
-msgstr ""
-
-msgid "  --[no-]remote-any       Allow/prevent access from the Internet."
-msgstr ""
-
-msgid "  --[no-]remote-printers  Show/hide remote printers."
-msgstr ""
-
-msgid "  --[no-]share-printers   Turn printer sharing on/off."
-msgstr ""
-
-msgid "  --[no-]user-cancel-any  Allow/prevent users to cancel any job."
-msgstr ""
-
-msgid "  --cr                    End lines with CR (Mac OS 9)."
-msgstr ""
-
-msgid "  --crlf                  End lines with CR + LF (Windows)."
-msgstr ""
-
-msgid "  --lf                    End lines with LF (UNIX/Linux/Mac OS X)."
-msgstr ""
-
-msgid "  -4                      Connect using IPv4."
-msgstr ""
-
-msgid "  -6                      Connect using IPv6."
-msgstr ""
-
-msgid "  -C                      Send requests using chunking (default)."
-msgstr ""
-
-msgid "  -D                      Remove the input file when finished."
-msgstr ""
-
-msgid "  -D name=value           Set named variable to value."
-msgstr ""
-
-msgid "  -E                      Enable encryption."
-msgstr ""
-
-msgid "  -E                      Encrypt the connection to the server."
-msgstr ""
-
-msgid "  -E                      Test with TLS encryption."
-msgstr ""
-
-msgid ""
-"  -F                      Run in the foreground but detach from console."
-msgstr ""
-
-msgid "  -H samba-server         Use the named SAMBA server."
-msgstr ""
-
-msgid "  -I                      Ignore errors."
-msgstr ""
-
-msgid "  -I include-dir          Add include directory to search path."
-msgstr ""
-
-msgid "  -I {filename,filters,none,profiles}"
-msgstr ""
-
-msgid "  -J title                Set title."
-msgstr ""
-
-msgid "  -L                      Send requests using content-length."
-msgstr ""
-
-msgid "  -P filename.ppd         Set PPD file."
-msgstr ""
-
-msgid "  -R root-directory       Set alternate root."
-msgstr ""
-
-msgid "  -S                      Test with SSL encryption."
-msgstr ""
-
-msgid "  -T                      Set the receive/send timeout in seconds."
-msgstr ""
-
-msgid "  -U samba-user           Authenticate using the named SAMBA user."
-msgstr ""
-
-msgid "  -U username             Set username for job."
-msgstr ""
-
-msgid "  -U username             Specify username."
-msgstr ""
-
-msgid "  -V version              Set default IPP version."
-msgstr ""
-
-msgid ""
-"  -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,"
-"translations}"
-msgstr ""
-
-msgid "  -X                      Produce XML plist instead of plain text."
-msgstr ""
-
-msgid "  -a                      Export all printers."
-msgstr ""
-
-msgid "  -a 'name=value ...'     Set option(s)."
-msgstr ""
-
-msgid "  -c catalog.po           Load the specified message catalog."
-msgstr ""
-
-msgid "  -c config-file          Load alternate configuration file."
-msgstr ""
-
-msgid "  -c copies               Set number of copies."
-msgstr ""
-
-msgid "  -c cupsd.conf           Set cupsd.conf file to use."
-msgstr ""
-
-msgid "  -d name=value           Set named variable to value."
-msgstr ""
-
-msgid "  -d output-dir           Specify the output directory."
-msgstr ""
-
-msgid "  -d printer              Use the named printer."
-msgstr ""
-
-msgid "  -e                      Use every filter from the PPD file."
-msgstr ""
-
-msgid "  -f                      Run in the foreground."
-msgstr ""
-
-msgid "  -f filename             Set default request filename."
-msgstr ""
-
-msgid "  -f filename             Set file to be converted (otherwise stdin)."
-msgstr ""
-
-msgid "  -h                      Show this usage message."
-msgstr ""
-
-msgid "  -h cups-server          Use the named CUPS server."
-msgstr ""
-
-msgid "  -h server[:port]        Specify server address."
-msgstr ""
-
-msgid "  -i mime/type            Set input MIME type (otherwise auto-typed)."
-msgstr ""
-
-msgid ""
-"  -i seconds              Repeat the last file with the given time interval."
-msgstr ""
-
-msgid ""
-"  -j job-id[,N]           Filter file N from the specified job (default is "
-"file 1)."
-msgstr ""
-
-msgid ""
-"  -j mime/type            Set output MIME type (otherwise application/pdf)."
-msgstr ""
-
-msgid "  -l                      Run cupsd from launchd(8)."
-msgstr ""
-
-msgid "  -l lang[,lang,...]      Specify the output language(s) (locale)."
-msgstr ""
-
-msgid "  -m                      Use the ModelName value as the filename."
-msgstr ""
-
-msgid ""
-"  -m mime/type            Set output MIME type (otherwise application/pdf)."
-msgstr ""
-
-msgid "  -n copies               Set number of copies."
-msgstr ""
-
-msgid ""
-"  -n count                Repeat the last file the given number of times."
-msgstr ""
-
-msgid "  -o filename             Set file to be generated (otherwise stdout)."
-msgstr ""
-
-msgid ""
-"  -o filename.drv         Set driver information file (otherwise ppdi.drv)."
-msgstr ""
-
-msgid "  -o filename.ppd[.gz]    Set output file (otherwise stdout)."
-msgstr ""
-
-msgid "  -o name=value           Set option(s)."
-msgstr ""
-
-msgid "  -p filename.ppd         Set PPD file."
-msgstr ""
-
-msgid "  -q                      Be quiet - no output except errors."
-msgstr ""
-
-msgid "  -q                      Run silently."
-msgstr ""
-
-msgid "  -r                      Use 'relaxed' open mode."
-msgstr ""
-
-msgid "  -t                      Produce a test report."
-msgstr ""
-
-msgid "  -t                      Test PPDs instead of generating them."
-msgstr ""
-
-msgid "  -t                      Test the configuration file."
-msgstr ""
-
-msgid "  -t title                Set title."
-msgstr ""
-
-msgid "  -u                      Remove the PPD file when finished."
-msgstr ""
-
-msgid "  -v                      Be slightly verbose."
-msgstr ""
-
-msgid "  -v                      Be verbose (more v's for more verbosity)."
-msgstr ""
-
-msgid "  -v                      Be verbose (show commands)."
-msgstr ""
-
-msgid "  -v                      Show all attributes sent and received."
-msgstr ""
-
-msgid "  -vv                     Be very verbose."
-msgstr ""
-
-msgid "  -z                      Compress PPD files using GNU zip."
-msgstr ""
-
-msgid " FAIL"
-msgstr ""
-
-msgid " PASS"
-msgstr ""
-
-#, c-format
-msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "%.0f x %.0f millimeters"
-msgstr "%.0f x %.0f 亳米"
-
-#, c-format
-msgid "%.0f x %.0f to %.0f x %.0f millimeters"
-msgstr "%.0f x %.0f 至 %.0f x %.0f 亳米"
-
-#, c-format
-msgid "%.2f x %.2f inches"
-msgstr "%.2f x %.2f 英寸"
-
-#, c-format
-msgid "%.2f x %.2f to %.2f x %.2f inches"
-msgstr "%.2f x %.2f 至 %.2f x %.2f 英寸"
-
-#, c-format
-msgid "%s accepting requests since %s"
-msgstr ""
-
-#, c-format
-msgid "%s cannot be changed."
-msgstr "%s 不能更改。"
-
-#, c-format
-msgid "%s is not implemented by the CUPS version of lpc."
-msgstr ""
-
-#, c-format
-msgid "%s is not ready"
-msgstr ""
-
-#, c-format
-msgid "%s is ready"
-msgstr ""
-
-#, c-format
-msgid "%s is ready and printing"
-msgstr ""
-
-#, c-format
-msgid "%s job-id user title copies options [file]"
-msgstr ""
-
-#, c-format
-msgid "%s not accepting requests since %s -"
-msgstr ""
-
-#, c-format
-msgid "%s not supported."
-msgstr ""
-
-#, c-format
-msgid "%s/%s accepting requests since %s"
-msgstr ""
-
-#, c-format
-msgid "%s/%s not accepting requests since %s -"
-msgstr ""
-
-#, c-format
-msgid "%s: %-33.33s [job %d localhost]"
-msgstr ""
-
-#. TRANSLATORS: Message is "subject: error"
-#, c-format
-msgid "%s: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: %s failed: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Don't know what to do."
-msgstr ""
-
-#, c-format
-msgid ""
-"%s: Error - %s environment variable names non-existent destination \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - bad job ID."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - cannot print files and alter jobs simultaneously."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - cannot print from stdin if files or a job ID are provided."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected character set after \"-S\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected content type after \"-T\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected copies after \"-#\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected copies after \"-n\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected destination after \"-P\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected destination after \"-b\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected destination after \"-d\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected form after \"-f\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected hold name after \"-H\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected hostname after \"-H\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected hostname after \"-h\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected mode list after \"-y\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected name after \"-%c\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected option=value after \"-o\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected page list after \"-P\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected priority after \"-%c\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected reason text after \"-r\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected title after \"-t\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected username after \"-U\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected username after \"-u\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected value after \"-%c\" option."
-msgstr ""
-
-#, c-format
-msgid ""
-"%s: Error - need \"completed\", \"not-completed\", or \"all\" after \"-W\" "
-"option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - no default destination available."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - priority must be between 1 and 100."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - scheduler not responding."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - too many files - \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unable to access \"%s\" - %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unable to queue from stdin - %s."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown destination \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown destination \"%s/%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown option \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Expected job ID after \"-i\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Invalid destination name in list \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Invalid filter string \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Need job ID (\"-i jobid\") before \"-H restart\"."
-msgstr ""
-
-#, c-format
-msgid "%s: No filter to convert from %s/%s to %s/%s."
-msgstr ""
-
-#, c-format
-msgid "%s: Operation failed: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Sorry, no encryption support."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to connect to server."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to contact server."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to determine MIME type of \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to open %s: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to open PPD file: %s on line %d."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown destination \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown destination MIME type %s/%s."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown option \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown source MIME type %s/%s."
-msgstr ""
-
-#, c-format
-msgid ""
-"%s: Warning - \"%c\" format modifier not supported - output may not be "
-"correct."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - character set option ignored."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - content type option ignored."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - form option ignored."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - mode option ignored."
-msgstr ""
-
-msgid "-1"
-msgstr "-1"
-
-msgid "-10"
-msgstr "-10"
-
-msgid "-100"
-msgstr "-100"
-
-msgid "-105"
-msgstr "-105"
-
-msgid "-11"
-msgstr "-11"
-
-msgid "-110"
-msgstr "-110"
-
-msgid "-115"
-msgstr "-115"
-
-msgid "-12"
-msgstr "-12"
-
-msgid "-120"
-msgstr "-120"
-
-msgid "-13"
-msgstr "-13"
-
-msgid "-14"
-msgstr "-14"
-
-msgid "-15"
-msgstr "-15"
-
-msgid "-2"
-msgstr "-2"
-
-msgid "-20"
-msgstr "-20"
-
-msgid "-25"
-msgstr "-25"
-
-msgid "-3"
-msgstr "-3"
-
-msgid "-30"
-msgstr "-30"
-
-msgid "-35"
-msgstr "-35"
-
-msgid "-4"
-msgstr "-4"
-
-msgid "-40"
-msgstr "-40"
-
-msgid "-45"
-msgstr "-45"
-
-msgid "-5"
-msgstr "-5"
-
-msgid "-50"
-msgstr "-50"
-
-msgid "-55"
-msgstr "-55"
-
-msgid "-6"
-msgstr "-6"
-
-msgid "-60"
-msgstr "-60"
-
-msgid "-65"
-msgstr "-65"
-
-msgid "-7"
-msgstr "-7"
-
-msgid "-70"
-msgstr "-70"
-
-msgid "-75"
-msgstr "-75"
-
-msgid "-8"
-msgstr "-8"
-
-msgid "-80"
-msgstr "-80"
-
-msgid "-85"
-msgstr "-85"
-
-msgid "-9"
-msgstr "-9"
-
-msgid "-90"
-msgstr "-90"
-
-msgid "-95"
-msgstr "-95"
-
-msgid "0"
-msgstr "0"
-
-msgid "1"
-msgstr "1"
-
-msgid "1 inch/sec."
-msgstr "1 英寸/秒"
-
-msgid "1.25x0.25\""
-msgstr "1.25x0.25 英寸"
-
-msgid "1.25x2.25\""
-msgstr "1.25x2.25 英寸"
-
-msgid "1.5 inch/sec."
-msgstr "1.5 英寸/秒"
-
-msgid "1.50x0.25\""
-msgstr "1.50x0.25 英寸"
-
-msgid "1.50x0.50\""
-msgstr "1.50x0.50 英寸"
-
-msgid "1.50x1.00\""
-msgstr "1.50x1.00 英寸"
-
-msgid "1.50x2.00\""
-msgstr "1.50x2.00 英寸"
-
-msgid "10"
-msgstr "10"
-
-msgid "10 inches/sec."
-msgstr "10 英寸/秒"
-
-msgid "10 x 11"
-msgstr ""
-
-msgid "10 x 13"
-msgstr ""
-
-msgid "10 x 14"
-msgstr ""
-
-msgid "100"
-msgstr "100"
-
-msgid "100 mm/sec."
-msgstr "100 毫米/秒"
-
-msgid "105"
-msgstr "105"
-
-msgid "11"
-msgstr "11"
-
-msgid "11 inches/sec."
-msgstr "11 英寸/秒"
-
-msgid "110"
-msgstr "110"
-
-msgid "115"
-msgstr "115"
-
-msgid "12"
-msgstr "12"
-
-msgid "12 inches/sec."
-msgstr "12 英寸/秒"
-
-msgid "12 x 11"
-msgstr ""
-
-msgid "120"
-msgstr "120"
-
-msgid "120 mm/sec."
-msgstr "120 毫米/秒"
-
-msgid "120x60dpi"
-msgstr "120x60dpi"
-
-msgid "120x72dpi"
-msgstr "120x72dpi"
-
-msgid "13"
-msgstr "13"
-
-msgid "136dpi"
-msgstr "136dpi"
-
-msgid "14"
-msgstr "14"
-
-msgid "15"
-msgstr "15"
-
-msgid "15 mm/sec."
-msgstr "15 毫米/秒"
-
-msgid "15 x 11"
-msgstr ""
-
-msgid "150 mm/sec."
-msgstr "150 毫米/秒"
-
-msgid "150dpi"
-msgstr "150dpi"
-
-msgid "16"
-msgstr "16"
-
-msgid "17"
-msgstr "17"
-
-msgid "18"
-msgstr "18"
-
-msgid "180dpi"
-msgstr "180dpi"
-
-msgid "19"
-msgstr "19"
-
-msgid "2"
-msgstr "2"
-
-msgid "2 inches/sec."
-msgstr "2 英寸/秒"
-
-msgid "2-Sided Printing"
-msgstr "双面打印"
-
-msgid "2.00x0.37\""
-msgstr "2.00x0.37 英寸"
-
-msgid "2.00x0.50\""
-msgstr "2.00x0.50 英寸"
-
-msgid "2.00x1.00\""
-msgstr "2.00x1.00 英寸"
-
-msgid "2.00x1.25\""
-msgstr "2.00x1.25 英寸"
-
-msgid "2.00x2.00\""
-msgstr "2.00x2.00 英寸"
-
-msgid "2.00x3.00\""
-msgstr "2.00x3.00 英寸"
-
-msgid "2.00x4.00\""
-msgstr "2.00x4.00 英寸"
-
-msgid "2.00x5.50\""
-msgstr "2.00x5.50 英寸"
-
-msgid "2.25x0.50\""
-msgstr "2.25x0.50 英寸"
-
-msgid "2.25x1.25\""
-msgstr "2.25x1.25 英寸"
-
-msgid "2.25x4.00\""
-msgstr "2.25x4.00 英寸"
-
-msgid "2.25x5.50\""
-msgstr "2.25x5.50 英寸"
-
-msgid "2.38x5.50\""
-msgstr "2.38x5.50 英寸"
-
-msgid "2.5 inches/sec."
-msgstr "2.5 英寸/秒"
-
-msgid "2.50x1.00\""
-msgstr "2.50x1.00 英寸"
-
-msgid "2.50x2.00\""
-msgstr "2.50x2.00 英寸"
-
-msgid "2.75x1.25\""
-msgstr "2.75x1.25 英寸"
-
-msgid "2.9 x 1\""
-msgstr "2.9 x 1 英寸"
-
-msgid "20"
-msgstr "20"
-
-msgid "20 mm/sec."
-msgstr "20 毫米/秒"
-
-msgid "200 mm/sec."
-msgstr "200 毫米/秒"
-
-msgid "203dpi"
-msgstr "203dpi"
-
-msgid "21"
-msgstr "21"
-
-msgid "22"
-msgstr "22"
-
-msgid "23"
-msgstr "23"
-
-msgid "24"
-msgstr "24"
-
-msgid "24-Pin Series"
-msgstr "24 针系列"
-
-msgid "240x72dpi"
-msgstr "240x72dpi"
-
-msgid "25"
-msgstr "25"
-
-msgid "250 mm/sec."
-msgstr "250 毫米/秒"
-
-msgid "26"
-msgstr "26"
-
-msgid "27"
-msgstr "27"
-
-msgid "28"
-msgstr "28"
-
-msgid "29"
-msgstr "29"
-
-msgid "3"
-msgstr "3"
-
-msgid "3 inches/sec."
-msgstr "3 英寸/秒"
-
-msgid "3 x 5"
-msgstr ""
-
-msgid "3.00x1.00\""
-msgstr "3.00x1.00 英寸"
-
-msgid "3.00x1.25\""
-msgstr "3.00x1.25 英寸"
-
-msgid "3.00x2.00\""
-msgstr "3.00x2.00 英寸"
-
-msgid "3.00x3.00\""
-msgstr "3.00x3.00 英寸"
-
-msgid "3.00x5.00\""
-msgstr "3.00x5.00 英寸"
-
-msgid "3.25x2.00\""
-msgstr "3.25x2.00 英寸"
-
-msgid "3.25x5.00\""
-msgstr "3.25x5.00 英寸"
-
-msgid "3.25x5.50\""
-msgstr "3.25x5.50 英寸"
-
-msgid "3.25x5.83\""
-msgstr "3.25x5.83 英寸"
-
-msgid "3.25x7.83\""
-msgstr "3.25x7.83 英寸"
-
-msgid "3.5 x 5"
-msgstr ""
-
-msgid "3.5\" Disk"
-msgstr "3.5 英寸磁盘"
-
-msgid "3.5\" Disk - 2 1/8 x 2 3/4\""
-msgstr "3.5 英寸磁盘 - 2 1/8 x 2 3/4 英寸"
-
-msgid "3.50x1.00\""
-msgstr "3.50x1.00 英寸"
-
-msgid "30"
-msgstr "30"
-
-msgid "30 mm/sec."
-msgstr "30 毫米/秒"
-
-msgid "300 mm/sec."
-msgstr "300 毫米/秒"
-
-msgid "300dpi"
-msgstr "300dpi"
-
-msgid "35"
-msgstr "35"
-
-msgid "360dpi"
-msgstr "360dpi"
-
-msgid "360x180dpi"
-msgstr "360x180dpi"
-
-msgid "4"
-msgstr "4"
-
-msgid "4 inches/sec."
-msgstr "4 英寸/秒"
-
-msgid "4.00x1.00\""
-msgstr "4.00x1.00 英寸"
-
-msgid "4.00x13.00\""
-msgstr "4.00x13.00 英寸"
-
-msgid "4.00x2.00\""
-msgstr "4.00x2.00 英寸"
-
-msgid "4.00x2.50\""
-msgstr "4.00x2.50 英寸"
-
-msgid "4.00x3.00\""
-msgstr "4.00x3.00 英寸"
-
-msgid "4.00x4.00\""
-msgstr "4.00x4.00 英寸"
-
-msgid "4.00x5.00\""
-msgstr "4.00x5.00 英寸"
-
-msgid "4.00x6.00\""
-msgstr "4.00x6.00 英寸"
-
-msgid "4.00x6.50\""
-msgstr "4.00x6.50 英寸"
-
-msgid "40"
-msgstr "40"
-
-msgid "40 mm/sec."
-msgstr "40 毫米/秒"
-
-msgid "45"
-msgstr "45"
-
-msgid "5"
-msgstr "5"
-
-msgid "5 inches/sec."
-msgstr "5 英寸/秒"
-
-msgid "5 x 7"
-msgstr ""
-
-msgid "50"
-msgstr "50"
-
-msgid "55"
-msgstr "55"
-
-msgid "6"
-msgstr "6"
-
-msgid "6 inches/sec."
-msgstr "6 英寸/秒"
-
-msgid "6.00x1.00\""
-msgstr "6.00x1.00 英寸"
-
-msgid "6.00x2.00\""
-msgstr "6.00x2.00 英寸"
-
-msgid "6.00x3.00\""
-msgstr "6.00x3.00 英寸"
-
-msgid "6.00x4.00\""
-msgstr "6.00x4.00 英寸"
-
-msgid "6.00x5.00\""
-msgstr "6.00x5.00 英寸"
-
-msgid "6.00x6.00\""
-msgstr "6.00x6.00 英寸"
-
-msgid "6.00x6.50\""
-msgstr "6.00x6.50 英寸"
-
-msgid "60"
-msgstr "60"
-
-msgid "60 mm/sec."
-msgstr "60 毫米/秒"
-
-msgid "600dpi"
-msgstr "600dpi"
-
-msgid "60dpi"
-msgstr "60dpi"
-
-msgid "60x72dpi"
-msgstr ""
-
-msgid "65"
-msgstr "65"
-
-msgid "7"
-msgstr "7"
-
-msgid "7 inches/sec."
-msgstr "7 英寸/秒"
-
-msgid "7 x 9"
-msgstr ""
-
-msgid "70"
-msgstr "70"
-
-msgid "720dpi"
-msgstr "720dpi"
-
-msgid "75"
-msgstr "75"
-
-msgid "8"
-msgstr "8"
-
-msgid "8 inches/sec."
-msgstr "8 英寸/秒"
-
-msgid "8 x 10"
-msgstr ""
-
-msgid "8.00x1.00\""
-msgstr "8.00x1.00 英寸"
-
-msgid "8.00x2.00\""
-msgstr "8.00x2.00 英寸"
-
-msgid "8.00x3.00\""
-msgstr "8.00x3.00 英寸"
-
-msgid "8.00x4.00\""
-msgstr "8.00x4.00 英寸"
-
-msgid "8.00x5.00\""
-msgstr "8.00x5.00 英寸"
-
-msgid "8.00x6.00\""
-msgstr "8.00x6.00 英寸"
-
-msgid "8.00x6.50\""
-msgstr "8.00x6.50 英寸"
-
-msgid "80"
-msgstr "80"
-
-msgid "80 mm/sec."
-msgstr "80 毫米/秒"
-
-msgid "85"
-msgstr "85"
-
-msgid "9"
-msgstr "9"
-
-msgid "9 inches/sec."
-msgstr "9 英寸/秒"
-
-msgid "9 x 11"
-msgstr ""
-
-msgid "9 x 12"
-msgstr ""
-
-msgid "9-Pin Series"
-msgstr "9 针系列"
-
-msgid "90"
-msgstr "90"
-
-msgid "95"
-msgstr "95"
-
-msgid "?Invalid help command unknown."
-msgstr ""
-
-msgid "A Samba password is required to export printer drivers"
-msgstr ""
-
-msgid "A Samba username is required to export printer drivers"
-msgstr ""
-
-#, c-format
-msgid "A class named \"%s\" already exists."
-msgstr ""
-
-#, c-format
-msgid "A printer named \"%s\" already exists."
-msgstr ""
-
-msgid "A0"
-msgstr "A0"
-
-msgid "A0 Long Edge"
-msgstr ""
-
-msgid "A1"
-msgstr "A1"
-
-msgid "A1 Long Edge"
-msgstr ""
-
-msgid "A10"
-msgstr "A10"
-
-msgid "A2"
-msgstr "A2"
-
-msgid "A2 Long Edge"
-msgstr ""
-
-msgid "A3"
-msgstr "A3"
-
-msgid "A3 Long Edge"
-msgstr ""
-
-msgid "A3 Oversize"
-msgstr ""
-
-msgid "A3 Oversize Long Edge"
-msgstr ""
-
-msgid "A4"
-msgstr "A4"
-
-msgid "A4 Long Edge"
-msgstr ""
-
-msgid "A4 Oversize"
-msgstr ""
-
-msgid "A4 Small"
-msgstr ""
-
-msgid "A5"
-msgstr "A5"
-
-msgid "A5 Long Edge"
-msgstr ""
-
-msgid "A5 Oversize"
-msgstr ""
-
-msgid "A6"
-msgstr "A6"
-
-msgid "A6 Long Edge"
-msgstr ""
-
-msgid "A7"
-msgstr "A7"
-
-msgid "A8"
-msgstr "A8"
-
-msgid "A9"
-msgstr "A9"
-
-msgid "ANSI A"
-msgstr "ANSI A"
-
-msgid "ANSI B"
-msgstr "ANSI B"
-
-msgid "ANSI C"
-msgstr "ANSI C"
-
-msgid "ANSI D"
-msgstr "ANSI D"
-
-msgid "ANSI E"
-msgstr "ANSI E"
-
-msgid "ARCH C"
-msgstr "ARCH C"
-
-msgid "ARCH C Long Edge"
-msgstr ""
-
-msgid "ARCH D"
-msgstr "ARCH D"
-
-msgid "ARCH D Long Edge"
-msgstr ""
-
-msgid "ARCH E"
-msgstr "ARCH E"
-
-msgid "ARCH E Long Edge"
-msgstr ""
-
-msgid "Accept Jobs"
-msgstr "接受作业"
-
-msgid "Accepted"
-msgstr "已接受"
-
-msgid "Add Class"
-msgstr "添加类"
-
-msgid "Add Printer"
-msgstr "添加打印机"
-
-msgid "Add RSS Subscription"
-msgstr "添加 RSS 订阅"
-
-msgid "Address"
-msgstr "地址"
-
-msgid "Address - 1 1/8 x 3 1/2\""
-msgstr "地址 - 1 1/8 x 3 1/2 英寸"
-
-msgid "Administration"
-msgstr "管理"
-
-msgid "Always"
-msgstr "始终"
-
-msgid "AppSocket/HP JetDirect"
-msgstr "AppSocket/HP JetDirect"
-
-msgid "Applicator"
-msgstr "涂敷器"
-
-#, c-format
-msgid "Attempt to set %s printer-state to bad value %d."
-msgstr ""
-
-#, c-format
-msgid "Attribute groups are out of order (%x < %x)."
-msgstr ""
-
-msgid "B0"
-msgstr "B0"
-
-msgid "B1"
-msgstr "B1"
-
-msgid "B10"
-msgstr "B10"
-
-msgid "B2"
-msgstr "B2"
-
-msgid "B3"
-msgstr "B3"
-
-msgid "B4"
-msgstr "B4"
-
-msgid "B5"
-msgstr "B5"
-
-msgid "B5 Oversize"
-msgstr ""
-
-msgid "B6"
-msgstr "B6"
-
-msgid "B7"
-msgstr "B7"
-
-msgid "B8"
-msgstr "B8"
-
-msgid "B9"
-msgstr "B9"
-
-msgid "Bad NULL dests pointer"
-msgstr "错误的 NULL dests 指针"
-
-msgid "Bad OpenGroup"
-msgstr "错误的 OpenGroup"
-
-msgid "Bad OpenUI/JCLOpenUI"
-msgstr "错误的 OpenUI/JCLOpenUI"
-
-msgid "Bad OrderDependency"
-msgstr "错误的 OrderDependency"
-
-msgid "Bad PPD cache file."
-msgstr ""
-
-msgid "Bad Request"
-msgstr "错误的请求"
-
-msgid "Bad SNMP version number"
-msgstr "错误的 SNMP 版本号"
-
-msgid "Bad UIConstraints"
-msgstr "错误的 UIConstraints"
-
-#, c-format
-msgid "Bad charset file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad charset type: %s"
-msgstr ""
-
-#, c-format
-msgid "Bad columns value %d."
-msgstr ""
-
-#, c-format
-msgid "Bad copies value %d."
-msgstr "错误的份数值 %d。"
-
-#, c-format
-msgid "Bad cpi value %f."
-msgstr ""
-
-msgid "Bad custom parameter"
-msgstr "错误的自定参数"
-
-#, c-format
-msgid "Bad device-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad device-uri scheme \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad document-format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad document-format-default \"%s\"."
-msgstr ""
-
-msgid "Bad filename buffer"
-msgstr ""
-
-#, c-format
-msgid "Bad font description line \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad font description line: %s"
-msgstr ""
-
-msgid "Bad job-priority value."
-msgstr ""
-
-#, c-format
-msgid "Bad job-sheets value \"%s\"."
-msgstr ""
-
-msgid "Bad job-sheets value type."
-msgstr ""
-
-msgid "Bad job-state value."
-msgstr ""
-
-#, c-format
-msgid "Bad job-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad lpi value %f."
-msgstr ""
-
-#, c-format
-msgid "Bad notify-pull-method \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad notify-recipient-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad number-up value %d."
-msgstr "错误的 number-up 值 %d。"
-
-#, c-format
-msgid "Bad option + choice on line %d."
-msgstr ""
-
-#, c-format
-msgid "Bad page-ranges values %d-%d."
-msgstr "错误的 page-ranges 值 %d-%d。"
-
-#, c-format
-msgid "Bad port-monitor \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad printer-state value %d."
-msgstr ""
-
-#, c-format
-msgid "Bad request ID %d."
-msgstr ""
-
-#, c-format
-msgid "Bad request version number %d.%d."
-msgstr ""
-
-msgid "Bad subscription ID"
-msgstr ""
-
-#, c-format
-msgid "Bad text direction \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad text direction: %s"
-msgstr ""
-
-#, c-format
-msgid "Bad text width \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad text width: %s"
-msgstr ""
-
-msgid "Bad value string"
-msgstr ""
-
-msgid "Banners"
-msgstr "标题"
-
-msgid "Billing Information: "
-msgstr "帐单信息:"
-
-msgid "Bond Paper"
-msgstr "半透明纸"
-
-#, c-format
-msgid "Boolean expected for waiteof option \"%s\"."
-msgstr ""
-
-msgid "Buffer overflow detected, aborting."
-msgstr ""
-
-msgid "CMYK"
-msgstr "CMYK"
-
-msgid "CPCL Label Printer"
-msgstr "CPCL 标签打印机"
-
-msgid "Cancel RSS Subscription"
-msgstr "取消 RSS 订阅"
-
-msgid "Canceling print job."
-msgstr ""
-
-msgid "Cannot share a remote Kerberized printer."
-msgstr ""
-
-msgid "Cassette"
-msgstr ""
-
-msgid "Change Settings"
-msgstr "更改设置"
-
-#, c-format
-msgid "Character set \"%s\" not supported."
-msgstr ""
-
-msgid "Classes"
-msgstr "类"
-
-msgid "Clean Print Heads"
-msgstr "清洁打印头"
-
-msgid "Close-Job doesn't support the job-uri attribute."
-msgstr ""
-
-msgid "Color"
-msgstr "彩色"
-
-msgid "Color Mode"
-msgstr "彩色模式"
-
-msgid ""
-"Commands may be abbreviated.  Commands are:\n"
-"\n"
-"exit    help    quit    status  ?"
-msgstr ""
-
-msgid "Community name uses indefinite length"
-msgstr "团体名称使用不定长度"
-
-msgid "Connected to printer."
-msgstr ""
-
-msgid "Connecting to printer."
-msgstr ""
-
-msgid "Continue"
-msgstr "继续"
-
-msgid "Continuous"
-msgstr "连续"
-
-msgid "Control file sent successfully."
-msgstr ""
-
-msgid "Copying print data."
-msgstr ""
-
-msgid "Created"
-msgstr "创建"
-
-msgid "Created On: "
-msgstr "创建于:"
-
-msgid "Custom"
-msgstr "自定"
-
-msgid "CustominCutInterval"
-msgstr "CustominCutInterval"
-
-msgid "CustominTearInterval"
-msgstr "CustominTearInterval"
-
-msgid "Cut"
-msgstr "切纸"
-
-msgid "Cutter"
-msgstr "切纸器"
-
-msgid "Dark"
-msgstr "暗"
-
-msgid "Darkness"
-msgstr "暗"
-
-msgid "Data file sent successfully."
-msgstr ""
-
-msgid "Delete Class"
-msgstr "删除类"
-
-msgid "Delete Printer"
-msgstr "删除打印机"
-
-msgid "Description: "
-msgstr "描述:"
-
-msgid "DeskJet Series"
-msgstr "DeskJet 系列"
-
-#, c-format
-msgid "Destination \"%s\" is not accepting jobs."
-msgstr "目的位置“%s”没有接受作业。"
-
-#, c-format
-msgid ""
-"Device: uri = %s\n"
-"        class = %s\n"
-"        info = %s\n"
-"        make-and-model = %s\n"
-"        device-id = %s\n"
-"        location = %s"
-msgstr ""
-
-msgid "Direct Thermal Media"
-msgstr "热敏介质"
-
-#, c-format
-msgid "Directory \"%s\" contains a relative path."
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" is a file."
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" not available: %s"
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-msgid "Disabled"
-msgstr "停用"
-
-#, c-format
-msgid "Document #%d does not exist in job #%d."
-msgstr ""
-
-msgid "Driver Name: "
-msgstr "驱动程序名称:"
-
-msgid "Driver Version: "
-msgstr "驱动程序版本:"
-
-msgid "Duplexer"
-msgstr "双面打印器"
-
-msgid "Dymo"
-msgstr "Dymo"
-
-msgid "EPL1 Label Printer"
-msgstr "EPL1 标签打印机"
-
-msgid "EPL2 Label Printer"
-msgstr "EPL2 标签打印机"
-
-msgid "Edit Configuration File"
-msgstr "编辑配置文件"
-
-msgid "Empty PPD file."
-msgstr ""
-
-#. TRANSLATORS: Banner/cover sheet after the print job.
-msgid "Ending Banner"
-msgstr "结束标题"
-
-msgid "English"
-msgstr "Chinese"
-
-msgid "Enter old password:"
-msgstr "输入旧密码:"
-
-msgid "Enter password again:"
-msgstr "再次输入密码:"
-
-msgid "Enter password:"
-msgstr "输入密码:"
-
-msgid ""
-"Enter your username and password or the root username and password to access "
-"this page. If you are using Kerberos authentication, make sure you have a "
-"valid Kerberos ticket."
-msgstr ""
-"请输入您的用户名称和密码或者 root 用户的用户名称和密码来访问此页面。如果您正"
-"在使用 Kerberos 鉴定,请确定您拥有的 Kerberos 票据是有效的。"
-
-msgid "Envelope #10 "
-msgstr ""
-
-msgid "Envelope #11"
-msgstr ""
-
-msgid "Envelope #12"
-msgstr ""
-
-msgid "Envelope #14"
-msgstr ""
-
-msgid "Envelope #9"
-msgstr ""
-
-msgid "Envelope B4"
-msgstr ""
-
-msgid "Envelope B5"
-msgstr ""
-
-msgid "Envelope B6"
-msgstr ""
-
-msgid "Envelope C0"
-msgstr ""
-
-msgid "Envelope C1"
-msgstr ""
-
-msgid "Envelope C2"
-msgstr ""
-
-msgid "Envelope C3"
-msgstr ""
-
-msgid "Envelope C4"
-msgstr ""
-
-msgid "Envelope C5"
-msgstr ""
-
-msgid "Envelope C6"
-msgstr ""
-
-msgid "Envelope C65"
-msgstr ""
-
-msgid "Envelope C7"
-msgstr ""
-
-msgid "Envelope Choukei 3"
-msgstr ""
-
-msgid "Envelope Choukei 3 Long Edge"
-msgstr ""
-
-msgid "Envelope Choukei 4"
-msgstr ""
-
-msgid "Envelope Choukei 4 Long Edge"
-msgstr ""
-
-msgid "Envelope DL"
-msgstr ""
-
-msgid "Envelope Feed"
-msgstr "信封送纸"
-
-msgid "Envelope Invite"
-msgstr ""
-
-msgid "Envelope Italian"
-msgstr ""
-
-msgid "Envelope Kaku2"
-msgstr ""
-
-msgid "Envelope Kaku2 Long Edge"
-msgstr ""
-
-msgid "Envelope Kaku3"
-msgstr ""
-
-msgid "Envelope Kaku3 Long Edge"
-msgstr ""
-
-msgid "Envelope Monarch"
-msgstr ""
-
-msgid "Envelope PRC1 "
-msgstr ""
-
-msgid "Envelope PRC1 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC10"
-msgstr ""
-
-msgid "Envelope PRC10 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC2"
-msgstr ""
-
-msgid "Envelope PRC2 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC3"
-msgstr ""
-
-msgid "Envelope PRC3 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC4"
-msgstr ""
-
-msgid "Envelope PRC4 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC5 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC5PRC5"
-msgstr ""
-
-msgid "Envelope PRC6"
-msgstr ""
-
-msgid "Envelope PRC6 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC7"
-msgstr ""
-
-msgid "Envelope PRC7 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC8"
-msgstr ""
-
-msgid "Envelope PRC8 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC9"
-msgstr ""
-
-msgid "Envelope PRC9 Long Edge"
-msgstr ""
-
-msgid "Envelope Personal"
-msgstr ""
-
-msgid "Envelope You4"
-msgstr ""
-
-msgid "Envelope You4 Long Edge"
-msgstr ""
-
-msgid "Epson"
-msgstr "Epson"
-
-msgid "Error Policy"
-msgstr "错误策略"
-
-msgid "Error sending raster data."
-msgstr ""
-
-msgid "Error: need hostname after \"-h\" option."
-msgstr ""
-
-msgid "Every 10 Labels"
-msgstr "每 10 个标签"
-
-msgid "Every 2 Labels"
-msgstr "每 2 个标签"
-
-msgid "Every 3 Labels"
-msgstr "每 3 个标签"
-
-msgid "Every 4 Labels"
-msgstr "每 4 个标签"
-
-msgid "Every 5 Labels"
-msgstr "每 5 个标签"
-
-msgid "Every 6 Labels"
-msgstr "每 6 个标签"
-
-msgid "Every 7 Labels"
-msgstr "每 7 个标签"
-
-msgid "Every 8 Labels"
-msgstr "每 8 个标签"
-
-msgid "Every 9 Labels"
-msgstr "每 9 个标签"
-
-msgid "Every Label"
-msgstr "每个标签"
-
-msgid "Executive"
-msgstr ""
-
-msgid "Expectation Failed"
-msgstr "预期失败"
-
-msgid "Export Printers to Samba"
-msgstr "将打印机导出为 Samba"
-
-msgid "FAIL"
-msgstr ""
-
-msgid "FanFold German"
-msgstr ""
-
-msgid "FanFold Legal German"
-msgstr ""
-
-msgid "Fanfold US"
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" contains a relative path."
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" is a directory."
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" not available: %s"
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-msgid "File Folder"
-msgstr "文件夹"
-
-msgid "File Folder - 9/16 x 3 7/16\""
-msgstr "文件夹 - 9/16 x 3 7/16 英寸"
-
-#, c-format
-msgid ""
-"File device URIs have been disabled. To enable, see the FileDevice directive "
-"in \"%s/cupsd.conf\"."
-msgstr ""
-
-#, c-format
-msgid "Finished page %d."
-msgstr ""
-
-msgid "Folio"
-msgstr "对开本"
-
-msgid "Forbidden"
-msgstr "禁止"
-
-#, c-format
-msgid "Formatting page %d."
-msgstr ""
-
-msgid "General"
-msgstr "通用"
-
-msgid "Generic"
-msgstr "通用"
-
-msgid "Get-Response-PDU uses indefinite length"
-msgstr "Get-Response-PDU 使用不定长度"
-
-msgid "Glossy Paper"
-msgstr "光面纸"
-
-msgid "Got a printer-uri attribute but no job-id."
-msgstr ""
-
-msgid "Grayscale"
-msgstr "灰度"
-
-msgid "HP"
-msgstr "HP"
-
-msgid "Hanging Folder"
-msgstr "吊夹"
-
-msgid "Hanging Folder - 9/16 x 2\""
-msgstr "吊夹 - 9/16 x 2 英寸"
-
-msgid "IPP 1setOf attribute with incompatible value tags."
-msgstr ""
-
-msgid "IPP attribute has no name."
-msgstr ""
-
-msgid "IPP begCollection value not 0 bytes."
-msgstr ""
-
-msgid "IPP boolean value not 1 byte."
-msgstr ""
-
-msgid "IPP date value not 11 bytes."
-msgstr ""
-
-msgid "IPP endCollection value not 0 bytes."
-msgstr ""
-
-msgid "IPP enum value not 4 bytes."
-msgstr ""
-
-msgid "IPP integer value not 4 bytes."
-msgstr ""
-
-msgid "IPP language length overflows value."
-msgstr ""
-
-msgid "IPP member name is not empty."
-msgstr ""
-
-msgid "IPP name larger than 32767 bytes."
-msgstr ""
-
-msgid "IPP nameWithLanguage value less than minimum 4 bytes."
-msgstr ""
-
-msgid "IPP rangeOfInteger value not 8 bytes."
-msgstr ""
-
-msgid "IPP resolution value not 9 bytes."
-msgstr ""
-
-msgid "IPP string length overflows value."
-msgstr ""
-
-msgid "IPP textWithLanguage value less than minimum 4 bytes."
-msgstr ""
-
-msgid "IPP value larger than 32767 bytes."
-msgstr ""
-
-msgid "ISOLatin1"
-msgstr "UTF-8"
-
-msgid "Illegal control character"
-msgstr "非法控制字符"
-
-msgid "Illegal main keyword string"
-msgstr "非法主关键词字符串"
-
-msgid "Illegal option keyword string"
-msgstr "非法选项关键词字符串"
-
-msgid "Illegal translation string"
-msgstr "非法转换字符串"
-
-msgid "Illegal whitespace character"
-msgstr "非法空白字符"
-
-msgid "Installable Options"
-msgstr "可安装的选项"
-
-msgid "Installed"
-msgstr "已安装"
-
-msgid "IntelliBar Label Printer"
-msgstr "IntelliBar 标签打印机"
-
-msgid "Intellitech"
-msgstr "Intellitech"
-
-msgid "Internal Server Error"
-msgstr ""
-
-msgid "Internal error"
-msgstr "内部错误"
-
-msgid "Internet Postage 2-Part"
-msgstr "Internet 邮寄 2 部分"
-
-msgid "Internet Postage 2-Part - 2 1/4 x 7 1/2\""
-msgstr "Internet 邮寄 2 部分 - 2 1/4 x 7 1/2 英寸"
-
-msgid "Internet Postage 3-Part"
-msgstr "Internet 邮寄 3 部分"
-
-msgid "Internet Postage 3-Part - 2 1/4 x 7\""
-msgstr "Internet 邮寄 3 部分 - 2 1/4 x 7 英寸"
-
-msgid "Internet Printing Protocol"
-msgstr "Internet 打印协议"
-
-#, c-format
-msgid "Invalid printer command \"%s\"."
-msgstr ""
-
-msgid "JCL"
-msgstr "JCL"
-
-msgid "JIS B0"
-msgstr ""
-
-msgid "JIS B1"
-msgstr ""
-
-msgid "JIS B10"
-msgstr ""
-
-msgid "JIS B2"
-msgstr ""
-
-msgid "JIS B3"
-msgstr ""
-
-msgid "JIS B4"
-msgstr ""
-
-msgid "JIS B4 Long Edge"
-msgstr ""
-
-msgid "JIS B5"
-msgstr ""
-
-msgid "JIS B5 Long Edge"
-msgstr ""
-
-msgid "JIS B6"
-msgstr ""
-
-msgid "JIS B6 Long Edge"
-msgstr ""
-
-msgid "JIS B7"
-msgstr ""
-
-msgid "JIS B8"
-msgstr ""
-
-msgid "JIS B9"
-msgstr ""
-
-#, c-format
-msgid "Job #%d cannot be restarted - no files."
-msgstr ""
-
-#, c-format
-msgid "Job #%d does not exist."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is already aborted - can't cancel."
-msgstr "作业 #%d 已经中止 - 不能取消。"
-
-#, c-format
-msgid "Job #%d is already canceled - can't cancel."
-msgstr "作业 #%d 已经取消 - 不能取消。"
-
-#, c-format
-msgid "Job #%d is already completed - can't cancel."
-msgstr "作业 #%d 已经完成 - 不能取消。"
-
-#, c-format
-msgid "Job #%d is finished and cannot be altered."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is not complete."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is not held for authentication."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is not held."
-msgstr ""
-
-msgid "Job Completed"
-msgstr "作业已完成"
-
-msgid "Job Created"
-msgstr "作业已创建"
-
-msgid "Job ID: "
-msgstr "作业 ID:"
-
-msgid "Job Options Changed"
-msgstr "作业选项已更改"
-
-msgid "Job Stopped"
-msgstr "作业已停止"
-
-msgid "Job UUID: "
-msgstr "作业 UUID:"
-
-msgid "Job is completed and cannot be changed."
-msgstr "作业已完成,不能更改。"
-
-msgid "Job operation failed:"
-msgstr "作业操作失败:"
-
-msgid "Job state cannot be changed."
-msgstr "作业状态不能更改。"
-
-msgid "Job subscriptions cannot be renewed."
-msgstr ""
-
-msgid "Jobs"
-msgstr "作业"
-
-msgid "LPD/LPR Host or Printer"
-msgstr "LPD/LPR 主机或打印机"
-
-msgid "Label Printer"
-msgstr "标签打印机"
-
-msgid "Label Top"
-msgstr "标签顶部"
-
-#, c-format
-msgid "Language \"%s\" not supported."
-msgstr ""
-
-msgid "Large Address"
-msgstr "长地址"
-
-msgid "Large Address - 1 4/10 x 3 1/2\""
-msgstr "长地址 - 1 4/10 x 3 1/2 英寸"
-
-msgid "LaserJet Series PCL 4/5"
-msgstr "LaserJet 系列 PCL 4/5"
-
-msgid "Letter Oversize"
-msgstr ""
-
-msgid "Letter Oversize Long Edge"
-msgstr ""
-
-msgid "Light"
-msgstr "指示灯"
-
-msgid "Line longer than the maximum allowed (255 characters)"
-msgstr "行多于所允许的最大字符数(255 个字符)"
-
-msgid "List Available Printers"
-msgstr "列出可用的打印机"
-
-msgid "Loading print file."
-msgstr ""
-
-msgid "Location: "
-msgstr "位置:"
-
-msgid "Long-Edge (Portrait)"
-msgstr "长边(纵向)"
-
-msgid "Looking for printer."
-msgstr ""
-
-msgid "Make and Model: "
-msgstr "制造和型号:"
-
-msgid "Manual Feed"
-msgstr "手动送纸"
-
-msgid "Media Dimensions: "
-msgstr "介质尺寸:"
-
-msgid "Media Limits: "
-msgstr "介质限制:"
-
-msgid "Media Name: "
-msgstr "介质名称:"
-
-msgid "Media Size"
-msgstr "介质大小"
-
-msgid "Media Source"
-msgstr "介质来源"
-
-msgid "Media Tracking"
-msgstr "介质跟踪"
-
-msgid "Media Type"
-msgstr "介质类型"
-
-msgid "Medium"
-msgstr "中等"
-
-msgid "Memory allocation error"
-msgstr "内存分配错误"
-
-msgid "Missing CloseGroup"
-msgstr ""
-
-msgid "Missing PPD-Adobe-4.x header"
-msgstr "缺少 PPD-Adobe-4.x 标头"
-
-msgid "Missing asterisk in column 1"
-msgstr "栏 1 缺少星号"
-
-msgid "Missing document-number attribute."
-msgstr ""
-
-#, c-format
-msgid "Missing double quote on line %d."
-msgstr ""
-
-msgid "Missing form variable"
-msgstr ""
-
-msgid "Missing last-document attribute in request."
-msgstr ""
-
-msgid "Missing media or media-col."
-msgstr ""
-
-msgid "Missing media-size in media-col."
-msgstr ""
-
-msgid "Missing notify-subscription-ids attribute."
-msgstr ""
-
-msgid "Missing option keyword"
-msgstr ""
-
-msgid "Missing requesting-user-name attribute."
-msgstr ""
-
-msgid "Missing required attributes."
-msgstr ""
-
-#, c-format
-msgid "Missing value on line %d of banner file."
-msgstr ""
-
-#, c-format
-msgid "Missing value on line %d."
-msgstr ""
-
-msgid "Missing value string"
-msgstr "缺少值字符串"
-
-msgid "Missing x-dimension in media-size."
-msgstr ""
-
-msgid "Missing y-dimension in media-size."
-msgstr ""
-
-#, c-format
-msgid ""
-"Model:  name = %s\n"
-"        natural_language = %s\n"
-"        make-and-model = %s\n"
-"        device-id = %s"
-msgstr ""
-
-msgid "Modify Class"
-msgstr "修改类"
-
-msgid "Modify Printer"
-msgstr "修改打印机"
-
-msgid "Move All Jobs"
-msgstr "移动所有作业"
-
-msgid "Move Job"
-msgstr "移动作业"
-
-msgid "Moved Permanently"
-msgstr "永久移动"
-
-msgid "NULL PPD file pointer"
-msgstr "空 PPD 文件指针"
-
-msgid "Name OID uses indefinite length"
-msgstr "名称 OID 使用不定长度"
-
-msgid "Nested classes are not allowed."
-msgstr ""
-
-msgid "Never"
-msgstr "永不"
-
-msgid "New Stylus Color Series"
-msgstr "新 Stylus Color 系列"
-
-msgid "New Stylus Photo Series"
-msgstr "新 Stylus Photo 系列"
-
-msgid "No"
-msgstr "否"
-
-msgid "No Content"
-msgstr "无内容"
-
-msgid "No PPD name"
-msgstr ""
-
-msgid "No VarBind SEQUENCE"
-msgstr "无 VarBind SEQUENCE"
-
-msgid "No Windows printer drivers are installed."
-msgstr ""
-
-msgid "No active connection"
-msgstr "无活跃连接"
-
-#, c-format
-msgid "No active jobs on %s."
-msgstr ""
-
-msgid "No attributes in request."
-msgstr ""
-
-msgid "No authentication information provided."
-msgstr ""
-
-msgid "No community name"
-msgstr "无团体名称"
-
-msgid "No default printer."
-msgstr ""
-
-msgid "No destinations added."
-msgstr "未添加目的位置。"
-
-msgid "No device URI found in argv[0] or in DEVICE_URI environment variable."
-msgstr ""
-
-msgid "No error-index"
-msgstr "无错误索引"
-
-msgid "No error-status"
-msgstr "无错误状态"
-
-msgid "No file in print request."
-msgstr ""
-
-msgid "No fonts in charset file."
-msgstr ""
-
-msgid "No modification time"
-msgstr ""
-
-msgid "No name OID"
-msgstr "无名称 OID"
-
-msgid "No pages were found."
-msgstr ""
-
-msgid "No printer name"
-msgstr ""
-
-msgid "No printer-uri found"
-msgstr ""
-
-msgid "No printer-uri found for class"
-msgstr ""
-
-msgid "No printer-uri in request."
-msgstr ""
-
-msgid "No request-id"
-msgstr "无 request-id"
-
-msgid "No subscription attributes in request."
-msgstr ""
-
-msgid "No subscriptions found."
-msgstr "找不到订阅。"
-
-msgid "No variable-bindings SEQUENCE"
-msgstr "无 variable-bindings SEQUENCE"
-
-msgid "No version number"
-msgstr "无版本号"
-
-msgid "Non-continuous (Mark sensing)"
-msgstr "非连续(标记感应)"
-
-msgid "Non-continuous (Web sensing)"
-msgstr "非连续(Web 感应)"
-
-msgid "Normal"
-msgstr "正常"
-
-msgid "Not Found"
-msgstr "找不到"
-
-msgid "Not Implemented"
-msgstr "未完成"
-
-msgid "Not Installed"
-msgstr "未安装"
-
-msgid "Not Modified"
-msgstr "未修改"
-
-msgid "Not Supported"
-msgstr "不支持"
-
-msgid "Not allowed to print."
-msgstr "不允许打印。"
-
-msgid "Note"
-msgstr "注释"
-
-msgid ""
-"Note: this program only validates the DSC comments, not the PostScript "
-"itself."
-msgstr ""
-
-msgid "OK"
-msgstr "好"
-
-msgid "Off (1-Sided)"
-msgstr "关闭(单面)"
-
-msgid "Oki"
-msgstr "Oki"
-
-msgid "Online Help"
-msgstr "网上帮助"
-
-#, c-format
-msgid "Open of %s failed: %s"
-msgstr "打开 %s 失败:%s"
-
-msgid "OpenGroup without a CloseGroup first"
-msgstr "OpenGroup 没有 CloseGroup 优先"
-
-msgid "OpenUI/JCLOpenUI without a CloseUI/JCLCloseUI first"
-msgstr "OpenUI/JCLOpenUI 没有 CloseUI/JCLCloseUI 优先"
-
-msgid "Operation Policy"
-msgstr "操作策略"
-
-#, c-format
-msgid "Option \"%s\" cannot be included via %%%%IncludeFeature."
-msgstr ""
-
-msgid "Options Installed"
-msgstr "选项已安装"
-
-msgid "Options:"
-msgstr ""
-
-msgid "Options: "
-msgstr "Options: "
-
-msgid "Out of date PPD cache file."
-msgstr ""
-
-msgid "Out of memory."
-msgstr ""
-
-msgid "Output Mode"
-msgstr "输出模式"
-
-#, c-format
-msgid "Output for printer %s is sent to %s"
-msgstr ""
-
-#, c-format
-msgid "Output for printer %s is sent to remote printer %s on %s"
-msgstr ""
-
-#, c-format
-msgid "Output for printer %s/%s is sent to %s"
-msgstr ""
-
-#, c-format
-msgid "Output for printer %s/%s is sent to remote printer %s on %s"
-msgstr ""
-
-msgid "PASS"
-msgstr ""
-
-msgid "PCL Laser Printer"
-msgstr "PCL 激光打印机"
-
-msgid "PRC16K"
-msgstr "PRC16K"
-
-msgid "PRC16K Long Edge"
-msgstr ""
-
-msgid "PRC32K"
-msgstr "PRC32K"
-
-msgid "PRC32K Long Edge"
-msgstr ""
-
-msgid "PRC32K Oversize"
-msgstr ""
-
-msgid "PRC32K Oversize Long Edge"
-msgstr ""
-
-msgid "Packet does not contain a Get-Response-PDU"
-msgstr "包不包含 Get-Response-PDU"
-
-msgid "Packet does not start with SEQUENCE"
-msgstr "包不以 SEQUENCE 开始"
-
-msgid "ParamCustominCutInterval"
-msgstr "ParamCustominCutInterval"
-
-msgid "ParamCustominTearInterval"
-msgstr "ParamCustominTearInterval"
-
-#, c-format
-msgid "Password for %s on %s? "
-msgstr "%s(在 %s 上)的密码?"
-
-#, c-format
-msgid "Password for %s required to access %s via SAMBA: "
-msgstr "需要 %s 的密码才能通过 SAMBA 访问 %s:"
-
-msgid "Pause Class"
-msgstr "暂停类"
-
-msgid "Pause Printer"
-msgstr "打印机暂停打印"
-
-msgid "Peel-Off"
-msgstr "剥离"
-
-msgid "Photo"
-msgstr "照片"
-
-msgid "Photo Labels"
-msgstr "照片标签"
-
-msgid "Plain Paper"
-msgstr "普通纸张"
-
-msgid "Policies"
-msgstr "策略"
-
-msgid "Port Monitor"
-msgstr "端口监视器"
-
-msgid "PostScript Printer"
-msgstr "PostScript 打印机"
-
-msgid "Postcard"
-msgstr "明信片"
-
-msgid "Postcard Double "
-msgstr ""
-
-msgid "Postcard Double Long Edge"
-msgstr ""
-
-msgid "Postcard Long Edge"
-msgstr ""
-
-msgid "Print Density"
-msgstr "打印密度"
-
-msgid "Print Job:"
-msgstr "打印作业:"
-
-msgid "Print Mode"
-msgstr "打印模式"
-
-msgid "Print Rate"
-msgstr "打印速率"
-
-msgid "Print Self-Test Page"
-msgstr "打印自测试页面"
-
-msgid "Print Speed"
-msgstr "打印速度"
-
-msgid "Print Test Page"
-msgstr "打印测试页"
-
-msgid "Print and Cut"
-msgstr "打印和切纸"
-
-msgid "Print and Tear"
-msgstr "打印和撕纸"
-
-#, c-format
-msgid "Print file accepted - job ID %d."
-msgstr ""
-
-msgid "Print file accepted - job ID unknown."
-msgstr ""
-
-msgid "Print file sent."
-msgstr ""
-
-msgid "Print file was not accepted."
-msgstr ""
-
-msgid "Print job too large."
-msgstr ""
-
-msgid "Printed For: "
-msgstr "打印人:"
-
-msgid "Printed From: "
-msgstr "打印自:"
-
-msgid "Printed On: "
-msgstr "打印于:"
-
-msgid "Printer Added"
-msgstr "打印机已添加"
-
-msgid "Printer Default"
-msgstr "打印机默认"
-
-msgid "Printer Deleted"
-msgstr "打印机已删除"
-
-msgid "Printer Modified"
-msgstr "打印机已修改"
-
-msgid "Printer Name: "
-msgstr "打印机名称:"
-
-msgid "Printer Paused"
-msgstr "打印机已暂停"
-
-msgid "Printer Settings"
-msgstr "打印机设置"
-
-msgid "Printer busy, will retry in 10 seconds."
-msgstr ""
-
-msgid "Printer busy; will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer did not respond."
-msgstr ""
-
-#, c-format
-msgid "Printer does not support IPP/%d.%d, trying IPP/%s."
-msgstr ""
-
-msgid "Printer is busy, will retry in 5 seconds."
-msgstr ""
-
-msgid "Printer is not currently connected."
-msgstr ""
-
-msgid "Printer is now connected."
-msgstr ""
-
-msgid "Printer is now online."
-msgstr ""
-
-msgid "Printer is offline."
-msgstr ""
-
-msgid "Printer not connected, will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer not connected; will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer:"
-msgstr "打印机:"
-
-msgid "Printers"
-msgstr "打印机"
-
-#, c-format
-msgid "Printing page %d, %d%% complete."
-msgstr ""
-
-#, c-format
-msgid "Printing page %d."
-msgstr ""
-
-msgid "Purge Jobs"
-msgstr "消除作业"
-
-msgid "Quarto"
-msgstr "四开"
-
-msgid "Quota limit reached."
-msgstr "已达到配额限制。"
-
-msgid "Rank    Owner   Job     File(s)                         Total Size"
-msgstr ""
-
-#. TRANSLATORS: Pri is job priority.
-msgid ""
-"Rank   Owner      Pri  Job        Files                       Total Size"
-msgstr ""
-
-msgid "Ready to print."
-msgstr ""
-
-msgid "Reject Jobs"
-msgstr "拒绝作业"
-
-#, c-format
-msgid "Remote host did not accept control file (%d)."
-msgstr ""
-
-#, c-format
-msgid "Remote host did not accept data file (%d)."
-msgstr ""
-
-msgid "Reprint After Error"
-msgstr "出错后重新打印"
-
-msgid "Request Entity Too Large"
-msgstr "请求实体太大"
-
-msgid "Resolution"
-msgstr "分辨率"
-
-msgid "Resume Class"
-msgstr "继续类"
-
-msgid "Resume Printer"
-msgstr "打印机继续打印"
-
-msgid "Return Address"
-msgstr "寄信人地址"
-
-msgid "Return Address - 3/4 x 2\""
-msgstr "寄信人地址 - 3/4 x 2 英寸"
-
-msgid "Rewind"
-msgstr "倒回"
-
-#, c-format
-msgid "Running command: %s %s -N -A %s -c '%s'"
-msgstr ""
-
-msgid "SEQUENCE uses indefinite length"
-msgstr "SEQUENCE 使用不定长度"
-
-msgid "SSL/TLS Negotiation Error"
-msgstr ""
-
-msgid "See Other"
-msgstr "请参阅其他"
-
-msgid "Sending data to printer."
-msgstr ""
-
-#, c-format
-msgid "Serial Port #%d"
-msgstr "串口 #%d"
-
-msgid "Server Restarted"
-msgstr "服务器已重新启动"
-
-msgid "Server Security Auditing"
-msgstr "服务器安全性审核"
-
-msgid "Server Started"
-msgstr "服务器已启动"
-
-msgid "Server Stopped"
-msgstr "服务器已停止"
-
-msgid "Service Unavailable"
-msgstr "服务不可用"
-
-msgid "Set Allowed Users"
-msgstr "设定允许的用户"
-
-msgid "Set As Server Default"
-msgstr "设定为服务器默认"
-
-msgid "Set Class Options"
-msgstr "设定类选项"
-
-msgid "Set Printer Options"
-msgstr "设定打印机选项"
-
-msgid "Set Publishing"
-msgstr "设定出版"
-
-msgid "Shipping Address"
-msgstr "送货地址"
-
-msgid "Shipping Address - 2 5/16 x 4\""
-msgstr "送货地址 - 2 5/16 x 4 英寸"
-
-msgid "Short-Edge (Landscape)"
-msgstr "短边(横向)"
-
-msgid "Special Paper"
-msgstr "专用纸张"
-
-#, c-format
-msgid "Spooling job, %.0f%% complete."
-msgstr ""
-
-msgid "Standard"
-msgstr "标准"
-
-#. TRANSLATORS: Banner/cover sheet before the print job.
-msgid "Starting Banner"
-msgstr "启动标题"
-
-#, c-format
-msgid "Starting page %d."
-msgstr ""
-
-msgid "Statement"
-msgstr "报表"
-
-msgid "Stylus Color Series"
-msgstr "Stylus Color 系列"
-
-msgid "Stylus Photo Series"
-msgstr "Stylus Photo 系列"
-
-#, c-format
-msgid "Subscription #%d does not exist."
-msgstr ""
-
-msgid "Super A"
-msgstr "Super A"
-
-msgid "Super B"
-msgstr "Super B"
-
-msgid "Super B/A3"
-msgstr "Super B/A3"
-
-msgid "Switching Protocols"
-msgstr "交换协议"
-
-msgid "Tabloid"
-msgstr "小报用纸"
-
-msgid "Tabloid Oversize"
-msgstr ""
-
-msgid "Tabloid Oversize Long Edge"
-msgstr ""
-
-msgid "Tear"
-msgstr "撕纸"
-
-msgid "Tear-Off"
-msgstr "撕纸"
-
-msgid "Tear-Off Adjust Position"
-msgstr "撕纸调整位置"
-
-#, c-format
-msgid "The %s attribute cannot be provided with job-ids."
-msgstr ""
-
-#, c-format
-msgid "The PPD file \"%s\" could not be found."
-msgstr "PPD 文件“%s”未能找到。"
-
-#, c-format
-msgid "The PPD file \"%s\" could not be opened: %s"
-msgstr "PPD 文件“%s”未能打开。%s"
-
-msgid "The PPD file could not be opened."
-msgstr ""
-
-msgid ""
-"The class name may only contain up to 127 printable characters and may not "
-"contain spaces, slashes (/), or the pound sign (#)."
-msgstr ""
-"类名称可能最多包含 127 个可打印的字符,且不能包含空格、斜线 (/) 或磅符号 "
-"(#)。"
-
-msgid "The developer unit needs to be replaced."
-msgstr ""
-
-msgid "The developer unit will need to be replaced soon."
-msgstr ""
-
-msgid "The fuser's temperature is high."
-msgstr ""
-
-msgid "The fuser's temperature is low."
-msgstr ""
-
-msgid ""
-"The notify-lease-duration attribute cannot be used with job subscriptions."
-msgstr "notify-lease-duration 属性不能配合作业订阅使用。"
-
-#, c-format
-msgid "The notify-user-data value is too large (%d > 63 octets)."
-msgstr ""
-
-msgid "The optical photoconductor needs to be replaced."
-msgstr ""
-
-msgid "The optical photoconductor will need to be replaced soon."
-msgstr ""
-
-msgid "The output bin is almost full."
-msgstr ""
-
-msgid "The output bin is full."
-msgstr ""
-
-msgid "The output bin is missing."
-msgstr ""
-
-msgid "The page setup information was not valid."
-msgstr ""
-
-msgid "The paper tray is almost empty."
-msgstr ""
-
-msgid "The paper tray is empty."
-msgstr ""
-
-msgid "The paper tray is missing."
-msgstr ""
-
-msgid "The paper tray needs to be filled."
-msgstr ""
-
-msgid "The print file could not be opened."
-msgstr ""
-
-msgid "The printer URI is incorrect or no longer exists."
-msgstr ""
-
-msgid "The printer is busy."
-msgstr ""
-
-msgid "The printer is not connected."
-msgstr ""
-
-msgid "The printer is not responding."
-msgstr ""
-
-msgid "The printer is out of ink."
-msgstr ""
-
-msgid "The printer is running low on ink."
-msgstr ""
-
-msgid "The printer is running low on toner."
-msgstr ""
-
-msgid "The printer is unreachable at this time."
-msgstr ""
-
-msgid "The printer may be out of toner."
-msgstr ""
-
-msgid "The printer may not exist or is unavailable at this time."
-msgstr ""
-
-msgid ""
-"The printer name may only contain up to 127 printable characters and may not "
-"contain spaces, slashes (/), or the pound sign (#)."
-msgstr ""
-"打印机名称可能最多包含 127 个可打印的字符,且不能包含空格、斜线 (/) 或磅符号 "
-"(#)。"
-
-msgid "The printer or class does not exist."
-msgstr ""
-
-msgid "The printer or class is not shared."
-msgstr ""
-
-msgid "The printer's cover is open."
-msgstr ""
-
-msgid "The printer's door is open."
-msgstr ""
-
-msgid "The printer's interlock is open."
-msgstr ""
-
-msgid "The printer's waste bin is almost full."
-msgstr ""
-
-msgid "The printer's waste bin is full."
-msgstr ""
-
-#, c-format
-msgid "The printer-uri \"%s\" contains invalid characters."
-msgstr "printer-uri“%s”含有无效字符。"
-
-msgid "The printer-uri attribute is required."
-msgstr ""
-
-msgid ""
-"The printer-uri must be of the form \"ipp://HOSTNAME/classes/CLASSNAME\"."
-msgstr "printer-uri 必须是“ipp://HOSTNAME/classes/CLASSNAME”形式。"
-
-msgid ""
-"The printer-uri must be of the form \"ipp://HOSTNAME/printers/PRINTERNAME\"."
-msgstr "printer-uri 必须是“ipp://HOSTNAME/classes/PRINTERNAME”形式。"
-
-msgid ""
-"The subscription name may not contain spaces, slashes (/), question marks "
-"(?), or the pound sign (#)."
-msgstr "订阅名称可能不包含空格、斜线 (/)、问号 (?) 或磅符号 (#)。"
-
-msgid ""
-"The web interface is currently disabled. Run \"cupsctl WebInterface=yes\" to "
-"enable it."
-msgstr ""
-
-#, c-format
-msgid "The which-jobs value \"%s\" is not supported."
-msgstr ""
-
-msgid "There are too many subscriptions."
-msgstr "有太多订阅。"
-
-msgid "There is a paper jam."
-msgstr ""
-
-msgid "There was an unrecoverable USB error."
-msgstr ""
-
-msgid "Thermal Transfer Media"
-msgstr "热转印介质"
-
-msgid "Title: "
-msgstr "标题:"
-
-msgid "Too many active jobs."
-msgstr "太多活跃的作业。"
-
-#, c-format
-msgid "Too many job-sheets values (%d > 2)."
-msgstr ""
-
-#, c-format
-msgid "Too many printer-state-reasons values (%d > %d)."
-msgstr ""
-
-msgid "Transparency"
-msgstr "透明度"
-
-msgid "Tray"
-msgstr "纸盒"
-
-msgid "Tray 1"
-msgstr "纸盒 1"
-
-msgid "Tray 2"
-msgstr "纸盒 2"
-
-msgid "Tray 3"
-msgstr "纸盒 3"
-
-msgid "Tray 4"
-msgstr "纸盒 4"
-
-msgid "URI Too Long"
-msgstr "URI 太长"
-
-msgid "US Ledger"
-msgstr "美国总帐用纸"
-
-msgid "US Legal"
-msgstr "美国法定用纸"
-
-msgid "US Legal Oversize"
-msgstr ""
-
-msgid "US Letter"
-msgstr "美国信纸"
-
-msgid "US Letter Long Edge"
-msgstr ""
-
-msgid "US Letter Oversize"
-msgstr ""
-
-msgid "US Letter Oversize Long Edge"
-msgstr ""
-
-msgid "US Letter Small"
-msgstr ""
-
-#, c-format
-msgid "USB Serial Port #%d"
-msgstr "USB 串口 #%d"
-
-msgid "Unable to access cupsd.conf file:"
-msgstr "无法访问 cupsd.conf 文件:"
-
-msgid "Unable to add RSS subscription:"
-msgstr "无法添加 RSS 订阅:"
-
-msgid "Unable to add class:"
-msgstr "无法添加类:"
-
-msgid "Unable to add document to print job."
-msgstr ""
-
-#, c-format
-msgid "Unable to add job for destination \"%s\"."
-msgstr ""
-
-msgid "Unable to add printer:"
-msgstr "无法添加打印机:"
-
-msgid "Unable to allocate memory for file types."
-msgstr ""
-
-msgid "Unable to allocate memory for page info"
-msgstr ""
-
-msgid "Unable to allocate memory for pages array"
-msgstr ""
-
-msgid "Unable to cancel RSS subscription:"
-msgstr "无法取消 RSS 订阅:"
-
-msgid "Unable to cancel print job."
-msgstr ""
-
-msgid "Unable to change printer-is-shared attribute:"
-msgstr "无法更改 printer-is-shared 属性:"
-
-msgid "Unable to change printer:"
-msgstr "无法更改打印机:"
-
-msgid "Unable to change server settings:"
-msgstr "无法更改服务器设置:"
-
-msgid "Unable to configure printer options."
-msgstr ""
-
-msgid "Unable to connect to host."
-msgstr "无法连接到主机。"
-
-msgid "Unable to contact printer, queuing on next printer in class."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy 64-bit CUPS printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy 64-bit Windows printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy CUPS printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy PPD file - %s"
-msgstr ""
-
-msgid "Unable to copy PPD file."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy Windows 2000 printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy Windows 9x printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy interface script - %s"
-msgstr ""
-
-msgid "Unable to copy print file"
-msgstr ""
-
-msgid "Unable to create compressed print file"
-msgstr ""
-
-msgid "Unable to create pipes for filters"
-msgstr ""
-
-msgid "Unable to create printer-uri"
-msgstr ""
-
-msgid "Unable to create temporary file"
-msgstr ""
-
-msgid "Unable to create temporary file:"
-msgstr "无法创建临时文件:"
-
-msgid "Unable to delete class:"
-msgstr "无法删除类:"
-
-msgid "Unable to delete printer:"
-msgstr "无法删除打印机:"
-
-msgid "Unable to do maintenance command:"
-msgstr "无法执行维护命令:"
-
-msgid "Unable to edit cupsd.conf files larger than 1MB"
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (certificate chain invalid)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (certificate not yet valid)."
-msgstr ""
-
-msgid "Unable to establish a secure connection to host (expired certificate)."
-msgstr ""
-
-msgid "Unable to establish a secure connection to host (host name mismatch)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (peer dropped connection "
-"before responding)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (self-signed certificate)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (untrusted certificate)."
-msgstr ""
-
-msgid "Unable to establish a secure connection to host."
-msgstr ""
-
-msgid "Unable to find destination for job"
-msgstr ""
-
-msgid "Unable to find printer."
-msgstr ""
-
-msgid "Unable to fork filter"
-msgstr ""
-
-msgid "Unable to generate compressed print file"
-msgstr ""
-
-msgid "Unable to get backend exit status."
-msgstr ""
-
-msgid "Unable to get class list:"
-msgstr "无法获得类列表:"
-
-msgid "Unable to get class status:"
-msgstr "无法获得类状态:"
-
-msgid "Unable to get list of printer drivers:"
-msgstr "无法获得打印机驱动程序的列表:"
-
-msgid "Unable to get printer attributes:"
-msgstr "无法获得打印机属性:"
-
-msgid "Unable to get printer list:"
-msgstr "无法获得打印机列表:"
-
-msgid "Unable to get printer status."
-msgstr ""
-
-msgid "Unable to get printer status:"
-msgstr "无法获得打印机状态:"
-
-#, c-format
-msgid "Unable to install Windows 2000 printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to install Windows 9x printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to locate printer \"%s\"."
-msgstr ""
-
-msgid "Unable to locate printer."
-msgstr ""
-
-msgid "Unable to modify class:"
-msgstr "无法修改类:"
-
-msgid "Unable to modify printer:"
-msgstr "无法修改打印机:"
-
-msgid "Unable to move job"
-msgstr "无法移动作业"
-
-msgid "Unable to move jobs"
-msgstr "无法移动作业"
-
-msgid "Unable to open PPD file"
-msgstr "无法打开 PPD 文件"
-
-msgid "Unable to open PPD file:"
-msgstr "无法打开 PPD 文件:"
-
-msgid "Unable to open charset file"
-msgstr ""
-
-msgid "Unable to open compressed print file"
-msgstr ""
-
-msgid "Unable to open cupsd.conf file:"
-msgstr "无法打开 cupsd.conf 文件:"
-
-msgid "Unable to open device file"
-msgstr ""
-
-#, c-format
-msgid "Unable to open document #%d in job #%d."
-msgstr ""
-
-msgid "Unable to open print file"
-msgstr ""
-
-msgid "Unable to open psglyphs"
-msgstr ""
-
-msgid "Unable to open raster file"
-msgstr ""
-
-#, c-format
-msgid "Unable to print %d text columns."
-msgstr ""
-
-#, c-format
-msgid "Unable to print %dx%d text page."
-msgstr ""
-
-msgid "Unable to print test page:"
-msgstr "无法打印测试页:"
-
-msgid "Unable to read print data"
-msgstr ""
-
-msgid "Unable to read print data."
-msgstr ""
-
-#, c-format
-msgid "Unable to run \"%s\": %s"
-msgstr ""
-
-msgid "Unable to see in file"
-msgstr ""
-
-msgid "Unable to send command to printer driver"
-msgstr ""
-
-msgid "Unable to send data to printer."
-msgstr ""
-
-msgid "Unable to send raster data to the driver."
-msgstr ""
-
-#, c-format
-msgid "Unable to set Windows printer driver (%d)."
-msgstr ""
-
-msgid "Unable to set options:"
-msgstr "无法设定选项:"
-
-msgid "Unable to set server default:"
-msgstr "无法设定服务器默认值:"
-
-msgid "Unable to start backend process."
-msgstr ""
-
-msgid "Unable to upload cupsd.conf file:"
-msgstr "无法上传 cupsd.conf 文件:"
-
-msgid "Unable to use legacy USB class driver."
-msgstr ""
-
-msgid "Unable to write print data"
-msgstr ""
-
-#, c-format
-msgid "Unable to write uncompressed print data: %s"
-msgstr ""
-
-msgid "Unauthorized"
-msgstr "未授权"
-
-msgid "Units"
-msgstr "单位"
-
-msgid "Unknown"
-msgstr "未知"
-
-#, c-format
-msgid "Unknown choice \"%s\" for option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown encryption option value: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown file order: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown format character: \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown option \"%s\" with value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown print mode: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown printer-error-policy \"%s\"."
-msgstr "未知 printer-error-policy“%s”。"
-
-#, c-format
-msgid "Unknown printer-op-policy \"%s\"."
-msgstr "未知 printer-op-policy“%s”。"
-
-#, c-format
-msgid "Unknown version option value: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported baud rate: %s"
-msgstr ""
-
-#, c-format
-msgid "Unsupported brightness value %s, using brightness=100."
-msgstr ""
-
-#, c-format
-msgid "Unsupported character set \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported compression \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported document-format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported document-format \"%s/%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported gamma value %s, using gamma=1000."
-msgstr ""
-
-msgid "Unsupported margins."
-msgstr ""
-
-msgid "Unsupported media value."
-msgstr ""
-
-#, c-format
-msgid "Unsupported number-up value %d, using number-up=1."
-msgstr ""
-
-#, c-format
-msgid "Unsupported number-up-layout value %s, using number-up-layout=lrtb."
-msgstr ""
-
-#, c-format
-msgid "Unsupported page-border value %s, using page-border=none."
-msgstr ""
-
-msgid "Unsupported raster data."
-msgstr ""
-
-msgid "Unsupported value type"
-msgstr "不支持的值类型"
-
-msgid "Upgrade Required"
-msgstr "要求升级"
-
-msgid ""
-"Usage:\n"
-"\n"
-"    lpadmin [-h server] -d destination\n"
-"    lpadmin [-h server] -x destination\n"
-"    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m model]\n"
-"                       [-r remove-class] [-v device] [-D description]\n"
-"                       [-P ppd-file] [-o name=value]\n"
-"                       [-u allow:user,user] [-u deny:user,user]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job user title copies options [filename]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job-id user title copies options [file]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job-id user title copies options file"
-msgstr ""
-
-msgid "Usage: convert [ options ]"
-msgstr ""
-
-msgid "Usage: cupsaddsmb [options] printer1 ... printerN"
-msgstr ""
-
-msgid "Usage: cupsctl [options] [param=value ... paramN=valueN]"
-msgstr ""
-
-msgid "Usage: cupsd [options]"
-msgstr ""
-
-msgid "Usage: cupsfilter [ options ] filename"
-msgstr ""
-
-msgid "Usage: cupstestdsc [options] filename.ps [... filename.ps]"
-msgstr ""
-
-msgid ""
-"Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]"
-msgstr ""
-
-msgid "Usage: ipptool [options] URI filename [ ... filenameN ]"
-msgstr ""
-
-msgid "Usage: lpmove job/src dest"
-msgstr ""
-
-msgid ""
-"Usage: lpoptions [-h server] [-E] -d printer\n"
-"       lpoptions [-h server] [-E] [-p printer] -l\n"
-"       lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
-"       lpoptions [-h server] [-E] -x printer"
-msgstr ""
-
-msgid "Usage: lppasswd [-g groupname]"
-msgstr ""
-
-msgid ""
-"Usage: lppasswd [-g groupname] [username]\n"
-"       lppasswd [-g groupname] -a [username]\n"
-"       lppasswd [-g groupname] -x [username]"
-msgstr ""
-
-msgid ""
-"Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]"
-msgstr ""
-
-msgid "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]"
-msgstr ""
-
-msgid "Usage: ppdhtml [options] filename.drv >filename.html"
-msgstr ""
-
-msgid "Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]"
-msgstr ""
-
-msgid "Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]"
-msgstr ""
-
-msgid ""
-"Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]"
-msgstr ""
-
-msgid "Usage: snmp [host-or-ip-address]"
-msgstr ""
-
-msgid "Value uses indefinite length"
-msgstr "Value 使用不定长度"
-
-msgid "VarBind uses indefinite length"
-msgstr "VarBind 使用不定长度"
-
-msgid "Version uses indefinite length"
-msgstr "Version 使用不定长度"
-
-msgid "Waiting for job to complete."
-msgstr ""
-
-msgid "Waiting for printer to become available."
-msgstr ""
-
-msgid "Waiting for printer to finish."
-msgstr ""
-
-msgid "Warning, no Windows 2000 printer drivers are installed."
-msgstr ""
-
-msgid "Web Interface is Disabled"
-msgstr ""
-
-msgid "Yes"
-msgstr "是"
-
-#, c-format
-msgid ""
-"You must access this page using the URL <A HREF=\"https://%s:%d%s\">https://%"
-"s:%d%s</A>."
-msgstr ""
-"您必须使用 URL <A HREF=\"https://%s:%d%s\">https://%s:%d%s</A> 访问此页面。"
-
-msgid ""
-"Your password must be at least 6 characters long, cannot contain your "
-"username, and must contain at least one letter and number."
-msgstr ""
-
-msgid "ZPL Label Printer"
-msgstr "ZPL 标签打印机"
-
-msgid "Zebra"
-msgstr "Zebra"
-
-msgid "aborted"
-msgstr "已中止"
-
-msgid "canceled"
-msgstr "已取消"
-
-msgid "completed"
-msgstr "已完成"
-
-msgid "convert: Use the -f option to specify a file to convert."
-msgstr ""
-
-msgid "cups-deviced failed to execute."
-msgstr "cups-deviced 执行失败。"
-
-msgid "cups-driverd failed to execute."
-msgstr "cups-driverd 执行失败。"
-
-#, c-format
-msgid "cupsaddsmb: No PPD file for printer \"%s\" - %s"
-msgstr ""
-
-msgid "cupsctl: Cannot set Listen or Port directly."
-msgstr ""
-
-#, c-format
-msgid "cupsctl: Unable to connect to server: %s"
-msgstr ""
-
-#, c-format
-msgid "cupsctl: Unknown option \"%s\""
-msgstr ""
-
-#, c-format
-msgid "cupsctl: Unknown option \"-%c\""
-msgstr ""
-
-msgid "cupsd: Expected config filename after \"-c\" option."
-msgstr ""
-
-msgid "cupsd: Unable to get current directory."
-msgstr ""
-
-#, c-format
-msgid "cupsd: Unknown argument \"%s\" - aborting."
-msgstr ""
-
-#, c-format
-msgid "cupsd: Unknown option \"%c\" - aborting."
-msgstr ""
-
-msgid "cupsd: launchd(8) support not compiled in, running in normal mode."
-msgstr ""
-
-#, c-format
-msgid "cupsfilter: Invalid document number %d."
-msgstr ""
-
-#, c-format
-msgid "cupsfilter: Invalid job ID %d."
-msgstr ""
-
-msgid "cupsfilter: Only one filename can be specified."
-msgstr ""
-
-#, c-format
-msgid "cupsfilter: Unable to get job file - %s"
-msgstr ""
-
-msgid "cupstestppd: The -q option is incompatible with the -v option."
-msgstr ""
-
-msgid "cupstestppd: The -v option is incompatible with the -q option."
-msgstr ""
-
-#, c-format
-msgid "device for %s/%s: %s"
-msgstr ""
-
-#, c-format
-msgid "device for %s: %s"
-msgstr ""
-
-msgid "error-index uses indefinite length"
-msgstr "error-index 使用不定长度"
-
-msgid "error-status uses indefinite length"
-msgstr "error-status 使用不定长度"
-
-msgid "held"
-msgstr "保留"
-
-msgid "help\t\tGet help on commands."
-msgstr ""
-
-msgid "idle"
-msgstr "闲置"
-
-msgid "ipptool: \"-i\" and \"-n\" are incompatible with -X\"."
-msgstr ""
-
-msgid "ipptool: \"-i\" is incompatible with \"-X\"."
-msgstr ""
-
-msgid "ipptool: \"-n\" is incompatible with \"-X\"."
-msgstr ""
-
-#, c-format
-msgid "ipptool: Bad URI - %s."
-msgstr ""
-
-#, c-format
-msgid "ipptool: Bad version %s for \"-V\"."
-msgstr ""
-
-msgid "ipptool: Invalid seconds for \"-i\"."
-msgstr ""
-
-msgid "ipptool: May only specify a single URI."
-msgstr ""
-
-msgid "ipptool: Missing count for \"-n\"."
-msgstr ""
-
-msgid "ipptool: Missing filename for \"-f\"."
-msgstr ""
-
-msgid "ipptool: Missing name=value for \"-d\"."
-msgstr ""
-
-msgid "ipptool: Missing seconds for \"-i\"."
-msgstr ""
-
-msgid "ipptool: Missing timeout for \"-T\"."
-msgstr ""
-
-msgid "ipptool: Missing version for \"-V\"."
-msgstr ""
-
-msgid "ipptool: URI required before test file."
-msgstr ""
-
-#, c-format
-msgid "ipptool: Unknown option \"-%c\"."
-msgstr ""
-
-msgid "job-printer-uri attribute missing."
-msgstr ""
-
-msgid "lpadmin: Class name can only contain printable characters."
-msgstr ""
-
-msgid "lpadmin: Expected PPD after \"-P\" option."
-msgstr ""
-
-msgid "lpadmin: Expected allow/deny:userlist after \"-u\" option."
-msgstr ""
-
-msgid "lpadmin: Expected class after \"-r\" option."
-msgstr ""
-
-msgid "lpadmin: Expected class name after \"-c\" option."
-msgstr ""
-
-msgid "lpadmin: Expected description after \"-D\" option."
-msgstr ""
-
-msgid "lpadmin: Expected device URI after \"-v\" option."
-msgstr ""
-
-msgid "lpadmin: Expected file type(s) after \"-I\" option."
-msgstr ""
-
-msgid "lpadmin: Expected hostname after \"-h\" option."
-msgstr ""
-
-msgid "lpadmin: Expected interface after \"-i\" option."
-msgstr ""
-
-msgid "lpadmin: Expected location after \"-L\" option."
-msgstr ""
-
-msgid "lpadmin: Expected model after \"-m\" option."
-msgstr ""
-
-msgid "lpadmin: Expected name after \"-R\" option."
-msgstr ""
-
-msgid "lpadmin: Expected name=value after \"-o\" option."
-msgstr ""
-
-msgid "lpadmin: Expected printer after \"-p\" option."
-msgstr ""
-
-msgid "lpadmin: Expected printer name after \"-d\" option."
-msgstr ""
-
-msgid "lpadmin: Expected printer or class after \"-x\" option."
-msgstr ""
-
-msgid "lpadmin: No member names were seen."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Printer %s is already a member of class %s."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Printer %s is not a member of class %s."
-msgstr ""
-
-msgid "lpadmin: Printer name can only contain printable characters."
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to add a printer to the class:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unable to connect to server: %s"
-msgstr ""
-
-msgid "lpadmin: Unable to create temporary file"
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to delete option:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unable to open PPD file \"%s\" - %s"
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to remove a printer from the class:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to set the printer options:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unknown allow/deny option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unknown argument \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unknown option \"%c\"."
-msgstr ""
-
-msgid "lpadmin: Warning - content type list ignored."
-msgstr ""
-
-msgid "lpc> "
-msgstr "lpc&gt; "
-
-msgid "lpinfo: Expected 1284 device ID string after \"--device-id\"."
-msgstr ""
-
-msgid "lpinfo: Expected language after \"--language\"."
-msgstr ""
-
-msgid "lpinfo: Expected make and model after \"--make-and-model\"."
-msgstr ""
-
-msgid "lpinfo: Expected product string after \"--product\"."
-msgstr ""
-
-msgid "lpinfo: Expected scheme list after \"--exclude-schemes\"."
-msgstr ""
-
-msgid "lpinfo: Expected scheme list after \"--include-schemes\"."
-msgstr ""
-
-msgid "lpinfo: Expected timeout after \"--timeout\"."
-msgstr ""
-
-#, c-format
-msgid "lpinfo: Unknown argument \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpinfo: Unknown option \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "lpinfo: Unknown option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpmove: Unable to connect to server: %s"
-msgstr ""
-
-#, c-format
-msgid "lpmove: Unknown argument \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpmove: Unknown option \"%c\"."
-msgstr ""
-
-msgid "lpoptions: No printers."
-msgstr ""
-
-#, c-format
-msgid "lpoptions: Unable to add printer or instance: %s"
-msgstr ""
-
-#, c-format
-msgid "lpoptions: Unable to get PPD file for %s: %s"
-msgstr ""
-
-#, c-format
-msgid "lpoptions: Unable to open PPD file for %s."
-msgstr ""
-
-msgid "lpoptions: Unknown printer or class."
-msgstr ""
-
-msgid "lppasswd: Only root can add or delete passwords."
-msgstr ""
-
-msgid "lppasswd: Password file busy."
-msgstr ""
-
-msgid "lppasswd: Password file not updated."
-msgstr ""
-
-msgid "lppasswd: Sorry, password doesn't match."
-msgstr ""
-
-msgid "lppasswd: Sorry, password rejected."
-msgstr ""
-
-msgid "lppasswd: Sorry, passwords don't match."
-msgstr ""
-
-#, c-format
-msgid "lppasswd: Unable to copy password string: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: Unable to open password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: Unable to write to password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: failed to backup old password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: failed to rename password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: user \"%s\" and group \"%s\" do not exist."
-msgstr ""
-
-#, c-format
-msgid ""
-"lpstat: error - %s environment variable names non-existent destination \"%s"
-"\"."
-msgstr ""
-
-#, c-format
-msgid "members of class %s:"
-msgstr ""
-
-msgid "no entries"
-msgstr ""
-
-msgid "no system default destination"
-msgstr ""
-
-msgid "notify-events not specified."
-msgstr ""
-
-#, c-format
-msgid "notify-recipient-uri URI \"%s\" is already used."
-msgstr ""
-
-#, c-format
-msgid "notify-recipient-uri URI \"%s\" uses unknown scheme."
-msgstr ""
-
-msgid "pending"
-msgstr "挂起"
-
-#, c-format
-msgid "ppdc: Adding include directory \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Adding/updating UI text from %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad boolean value (%s) on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad font attribute: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad resolution name \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad status keyword %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad variable substitution ($%c) on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Choice found on line %d of %s with no Option."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Duplicate #po for locale %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected a filter definition on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected a program name on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected boolean value on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected charset after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected choice code on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected choice name/text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected color order for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected colorspace for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected compression for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected constraints string for UIConstraints on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Expected driver type keyword following DriverType on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected duplex type after Duplex on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected encoding after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected filename after #po %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected group name/text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected include filename on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected integer on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected locale after #po on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after FileName on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after Manufacturer on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after MediaSize on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after ModelName on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after PCFileName on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text after Installable on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text after Resolution on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text combination for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected option name/text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected option section on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected option type on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected override field after Resolution on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected quoted string on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected real number on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Expected resolution/mediatype following ColorProfile on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Expected resolution/mediatype following SimpleColorProfile on line %d "
-"of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected selector after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected status after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected string after Copyright on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected string after Version on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected two option names on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected value after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected version after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid #include/#po filename \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid cost for filter on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid empty MIME type for filter on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid empty program name for filter on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid option section \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid option type \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Loading driver information file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Loading messages for locale \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Loading messages from \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Missing #endif at end of \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Missing #if on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Need a msgid line before any translation strings on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: No message catalog provided for locale %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Option %s defined in two different groups on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Option %s redefined with a different type on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Option constraint must *name on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Too many nested #if's on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to create PPD file \"%s\" - %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to create output directory %s: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to create output pipes: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to execute cupstestppd: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to find #po file %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to find include file \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to find localization for \"%s\" - %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to load localization file \"%s\" - %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to open %s: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Undefined variable (%s) on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unexpected text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown driver type %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown media size \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown message catalog format for \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown token \"%s\" seen on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Unknown trailing characters in real number \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unterminated string starting with %c on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Warning - overlapping filename \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Writing %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Writing PPD files to directory \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s."
-msgstr ""
-
-#, c-format
-msgid "ppdmerge: Ignoring PPD file %s."
-msgstr ""
-
-#, c-format
-msgid "ppdmerge: Unable to backup %s to %s - %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s disabled since %s -"
-msgstr ""
-
-#, c-format
-msgid "printer %s is idle.  enabled since %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s now printing %s-%d.  enabled since %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s/%s disabled since %s -"
-msgstr ""
-
-#, c-format
-msgid "printer %s/%s is idle.  enabled since %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s/%s now printing %s-%d.  enabled since %s"
-msgstr ""
-
-msgid "processing"
-msgstr "正在处理"
-
-#, c-format
-msgid "request id is %s-%d (%d file(s))"
-msgstr ""
-
-msgid "request-id uses indefinite length"
-msgstr "request-id 使用不定长度"
-
-msgid "scheduler is not running"
-msgstr ""
-
-msgid "scheduler is running"
-msgstr ""
-
-#, c-format
-msgid "stat of %s failed: %s"
-msgstr "获得 %s 的状态失败:%s"
-
-msgid "status\t\tShow status of daemon and queue."
-msgstr ""
-
-msgid "stopped"
-msgstr "已停止"
-
-#, c-format
-msgid "system default destination: %s"
-msgstr ""
-
-#, c-format
-msgid "system default destination: %s/%s"
-msgstr ""
-
-msgid "unknown"
-msgstr "未知"
-
-msgid "untitled"
-msgstr "未命名"
-
-msgid "variable-bindings uses indefinite length"
-msgstr "variable-bindings 使用不定长度"
-
-#~ msgid "\t\t(all)\n"
-#~ msgstr "\t\t(全部)\n"
-
-#~ msgid "\t\t(none)\n"
-#~ msgstr "\t\t(无)\n"
-
-#~ msgid "\t%d entries\n"
-#~ msgstr "\t%d 个条目\n"
-
-#~ msgid "\tAfter fault: continue\n"
-#~ msgstr "\t发生故障后:继续\n"
-
-#~ msgid "\tAlerts:"
-#~ msgstr "\t警报:"
-
-#~ msgid "\tBanner required\n"
-#~ msgstr "\t需要标题\n"
-
-#~ msgid "\tCharset sets:\n"
-#~ msgstr "\t字符集集合:\n"
-
-#~ msgid "\tConnection: direct\n"
-#~ msgstr "\t连接:直接\n"
-
-#~ msgid "\tConnection: remote\n"
-#~ msgstr "\t连接:远程\n"
-
-#~ msgid "\tDefault page size:\n"
-#~ msgstr "\t默认页面大小:\n"
-
-#~ msgid "\tDefault pitch:\n"
-#~ msgstr "\t默认间距:\n"
-
-#~ msgid "\tDefault port settings:\n"
-#~ msgstr "\t默认端口设置:\n"
-
-#~ msgid "\tDescription: %s\n"
-#~ msgstr "\t描述:%s\n"
-
-#~ msgid ""
-#~ "\tForm mounted:\n"
-#~ "\tContent types: any\n"
-#~ "\tPrinter types: unknown\n"
-#~ msgstr ""
-#~ "\t已装载的表格:\n"
-#~ "\t内容类型:任何\n"
-#~ "\t打印机类型:未知\n"
-
-#~ msgid "\tForms allowed:\n"
-#~ msgstr "\t允许的形式:\n"
-
-#~ msgid "\tInterface: %s.ppd\n"
-#~ msgstr "\t接口:%s.ppd\n"
-
-#~ msgid "\tInterface: %s/interfaces/%s\n"
-#~ msgstr "\t接口:%s/interfaces/%s\n"
-
-#~ msgid "\tInterface: %s/ppd/%s.ppd\n"
-#~ msgstr "\t接口:%s/ppd/%s.ppd\n"
-
-#~ msgid "\tLocation: %s\n"
-#~ msgstr "\t位置:%s\n"
-
-#~ msgid "\tOn fault: no alert\n"
-#~ msgstr "\t发生故障时:无警报\n"
-
-#~ msgid "\tUsers allowed:\n"
-#~ msgstr "\t允许的用户:\n"
-
-#~ msgid "\tUsers denied:\n"
-#~ msgstr "\t拒绝的用户:\n"
-
-#~ msgid "\tdaemon present\n"
-#~ msgstr "\t监控程序已存在\n"
-
-#~ msgid "\tno entries\n"
-#~ msgstr "\t无条目\n"
-
-#~ msgid "\tprinter is on device '%s' speed -1\n"
-#~ msgstr "\t打印机在设备 &apos;%s&apos; 上,速度 -1\n"
-
-#~ msgid "\tprinting is disabled\n"
-#~ msgstr "\t打印已停用\n"
-
-#~ msgid "\tprinting is enabled\n"
-#~ msgstr "\t打印已启用\n"
-
-#~ msgid "\tqueued for %s\n"
-#~ msgstr "\t已排队进行%s\n"
-
-#~ msgid "\tqueuing is disabled\n"
-#~ msgstr "\t队列已停用\n"
-
-#~ msgid "\tqueuing is enabled\n"
-#~ msgstr "\t队列已启用\n"
-
-#~ msgid "\treason unknown\n"
-#~ msgstr "\t原因未知\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "    DETAILED CONFORMANCE TEST RESULTS\n"
-#~ msgstr ""
-#~ "\n"
-#~ "    详细的一致性测试结果\n"
-
-#~ msgid "                REF: Page 15, section 3.1.\n"
-#~ msgstr "                REF: 页 15,节 3.1。\n"
-
-#~ msgid "                REF: Page 15, section 3.2.\n"
-#~ msgstr "                REF: 页 15,节 3.2。\n"
-
-#~ msgid "                REF: Page 19, section 3.3.\n"
-#~ msgstr "                REF: 页 19,节 3.3。\n"
-
-#~ msgid "                REF: Page 20, section 3.4.\n"
-#~ msgstr "                REF: 页 20,节 3.4。\n"
-
-#~ msgid "                REF: Page 27, section 3.5.\n"
-#~ msgstr "                REF: 页 27,节 3.5。\n"
-
-#~ msgid "                REF: Page 42, section 5.2.\n"
-#~ msgstr "                REF: 页 42,节 5.2。\n"
-
-#~ msgid "                REF: Pages 16-17, section 3.2.\n"
-#~ msgstr "                REF: 页 16-17,节 3.2。\n"
-
-#~ msgid "                REF: Pages 42-45, section 5.2.\n"
-#~ msgstr "                REF: 页 42-45,节 5.2。\n"
-
-#~ msgid "                REF: Pages 45-46, section 5.2.\n"
-#~ msgstr "                REF: 页 45-46,节 5.2。\n"
-
-#~ msgid "                REF: Pages 48-49, section 5.2.\n"
-#~ msgstr "                REF: 页 48-49,节 5.2。\n"
-
-#~ msgid "                REF: Pages 52-54, section 5.2.\n"
-#~ msgstr "                REF: 页 52-54,节 5.2。\n"
-
-#~ msgid "        %-39.39s %.0f bytes\n"
-#~ msgstr "        %-39.39s %.0f 字节\n"
-
-#~ msgid "        PASS    Default%s\n"
-#~ msgstr "        通过    Default%s\n"
-
-#~ msgid "        PASS    DefaultImageableArea\n"
-#~ msgstr "        通过    DefaultImageableArea\n"
-
-#~ msgid "        PASS    DefaultPaperDimension\n"
-#~ msgstr "        通过    DefaultPaperDimension\n"
-
-#~ msgid "        PASS    FileVersion\n"
-#~ msgstr "        通过    FileVersion\n"
-
-#~ msgid "        PASS    FormatVersion\n"
-#~ msgstr "        通过    FormatVersion\n"
-
-#~ msgid "        PASS    LanguageEncoding\n"
-#~ msgstr "        通过    LanguageEncoding\n"
-
-#~ msgid "        PASS    LanguageVersion\n"
-#~ msgstr "        通过    LanguageVersion\n"
-
-#~ msgid "        PASS    Manufacturer\n"
-#~ msgstr "        通过    Manufacturer\n"
-
-#~ msgid "        PASS    ModelName\n"
-#~ msgstr "        通过    ModelName\n"
-
-#~ msgid "        PASS    NickName\n"
-#~ msgstr "        通过    NickName\n"
-
-#~ msgid "        PASS    PCFileName\n"
-#~ msgstr "        通过    PCFileName\n"
-
-#~ msgid "        PASS    PSVersion\n"
-#~ msgstr "        通过    PSVersion\n"
-
-#~ msgid "        PASS    PageRegion\n"
-#~ msgstr "        通过    PageRegion\n"
-
-#~ msgid "        PASS    PageSize\n"
-#~ msgstr "        通过    PageSize\n"
-
-#~ msgid "        PASS    Product\n"
-#~ msgstr "        通过    Product\n"
-
-#~ msgid "        PASS    ShortNickName\n"
-#~ msgstr "        通过    ShortNickName\n"
-
-#~ msgid ""
-#~ "        WARN    \"%s %s\" conflicts with \"%s %s\"\n"
-#~ "                (constraint=\"%s %s %s %s\")\n"
-#~ msgstr ""
-#~ "        WARN    “%s %s”与“%s %s”有冲突\n"
-#~ "                (constraint=\"%s %s %s %s\")\n"
-
-#~ msgid "        WARN    %s has no corresponding options!\n"
-#~ msgstr "        WARN    %s 没有相应的选项!\n"
-
-#~ msgid ""
-#~ "        WARN    %s shares a common prefix with %s\n"
-#~ "                REF: Page 15, section 3.2.\n"
-#~ msgstr ""
-#~ "        WARN    %s 与 %s 共享一个公共前缀\n"
-#~ "                REF: 第 15 页,第 3.2 节。\n"
-
-#~ msgid "        WARN    Default choices conflicting!\n"
-#~ msgstr "        WARN    默认选择有冲突!\n"
-
-#~ msgid ""
-#~ "        WARN    Duplex option keyword %s may not work as expected and "
-#~ "should be named Duplex!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "        WARN    Duplex 选项关键词 %s 可能无法像期望那样工作,且应当命名为 "
-#~ "Duplex!\n"
-#~ "                REF: 页 122,节 5.17。\n"
-
-#~ msgid ""
-#~ "        WARN    File contains a mix of CR, LF, and CR LF line endings!\n"
-#~ msgstr "        WARN    文件混有 CR、LF 和 CR LF 行尾!\n"
-
-#~ msgid ""
-#~ "        WARN    LanguageEncoding required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 56-57, section 5.3.\n"
-#~ msgstr ""
-#~ "        WARN    PPD 4.3 规范要求 LanguageEncoding。\n"
-#~ "                REF: 页 56-57,节 5.3。\n"
-
-#~ msgid "        WARN    Line %d only contains whitespace!\n"
-#~ msgstr "        WARN    行 %d 仅包含空白!\n"
-
-#~ msgid ""
-#~ "        WARN    Manufacturer required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 58-59, section 5.3.\n"
-#~ msgstr ""
-#~ "        WARN    PPD 4.3 规范要求 Manufacturer。\n"
-#~ "                REF: 第 58-59 页,第 5.3 节。\n"
-
-#~ msgid "        WARN    Missing APDialogExtension file \"%s\"\n"
-#~ msgstr "        WARN    缺少 APDialogExtension 文件“%s”\n"
-
-#~ msgid "        WARN    Missing APPrinterIconPath file \"%s\"\n"
-#~ msgstr "        WARN    缺少 APPrinterIconPath 文件“%s”\n"
-
-#~ msgid ""
-#~ "        WARN    Non-Windows PPD files should use lines ending with only "
-#~ "LF, not CR LF!\n"
-#~ msgstr ""
-#~ "        WARN    非 Windows PPD 文件应当仅使用以 LF 结尾的行,而不是以 CR "
-#~ "LF 结尾的行!\n"
-
-#~ msgid ""
-#~ "        WARN    Obsolete PPD version %.1f!\n"
-#~ "                REF: Page 42, section 5.2.\n"
-#~ msgstr ""
-#~ "        WARN    过时的 PPD 版本 %.1f!\n"
-#~ "                REF: 页 42,节 5.2。\n"
-
-#~ msgid ""
-#~ "        WARN    PCFileName longer than 8.3 in violation of PPD spec.\n"
-#~ "                REF: Pages 61-62, section 5.3.\n"
-#~ msgstr ""
-#~ "        WARN    PCFileName 长于 8.3,不符合 PPD 规范。\n"
-#~ "                REF: 页 61-62,节 5.3。\n"
-
-#~ msgid ""
-#~ "        WARN    Protocols contains PJL but JCL attributes are not set.\n"
-#~ "                REF: Pages 78-79, section 5.7.\n"
-#~ msgstr ""
-#~ "        WARN    协议含有 PJL,但 JCL 属性未设定。\n"
-#~ "                REF: 页 78-79,节 5.7。\n"
-
-#~ msgid ""
-#~ "        WARN    Protocols contains both PJL and BCP; expected TBCP.\n"
-#~ "                REF: Pages 78-79, section 5.7.\n"
-#~ msgstr ""
-#~ "        WARN    协议含有 PJL 和 BCP;还期待 TBCP。\n"
-#~ "                REF: 页 78-79,节 5.7。\n"
-
-#~ msgid ""
-#~ "        WARN    ShortNickName required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "        WARN    PPD 4.3 规范要求 ShortNickName。\n"
-#~ "                REF: 页 64-65,节 5.3。\n"
-
-#~ msgid "      %s  %s %s does not exist!\n"
-#~ msgstr "      %s  %s %s 不存在!\n"
-
-#~ msgid ""
-#~ "      %s  Bad %s choice %s!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "      %s  错误的 %s 选择 %s!\n"
-#~ "                REF: 第 122 页,第 5.17 节。\n"
-
-#~ msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s!\n"
-#~ msgstr "      %s  错误的 UTF-8“%s”转换字符串(用于选项“%s”)!\n"
-
-#~ msgid ""
-#~ "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s!\n"
-#~ msgstr "      %s  错误的 UTF-8“%s”转换字符串(用于选项“%s”),选择“%s”!\n"
-
-#~ msgid "      %s  Bad cupsFilter value \"%s\"!\n"
-#~ msgstr "      %s  错误的 cupsFilter 值“%s”!\n"
-
-#~ msgid "      %s  Bad cupsICCProfile %s!\n"
-#~ msgstr "      %s  错误的 cupsICCProfile %s!\n"
-
-#~ msgid "      %s  Bad cupsPreFilter value \"%s\"!\n"
-#~ msgstr "      %s  错误的 cupsPreFilter 值“%s”!\n"
-
-#~ msgid "      %s  Bad cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr "      %s  错误的 cupsUIConstraints %s:“%s”!\n"
-
-#~ msgid "      %s  Bad language \"%s\"!\n"
-#~ msgstr "      %s  错误的语言“%s”!\n"
-
-#~ msgid "      %s  Empty cupsUIConstraints %s!\n"
-#~ msgstr "      %s  空的 cupsUIConstraints %s!\n"
-
-#~ msgid "      %s  Missing \"%s\" translation string for option %s!\n"
-#~ msgstr "      %s  缺少“%s”转换字符串(用于选项“%s”)!\n"
-
-#~ msgid ""
-#~ "      %s  Missing \"%s\" translation string for option %s, choice %s!\n"
-#~ msgstr "      %s  缺少“%s”转换字符串(用于选项“%s”),选择“%s”!\n"
-
-#~ msgid ""
-#~ "      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"!\n"
-#~ msgstr "      %s  缺少选择 *%s %s(在 UIConstraints“*%s %s *%s %s”中)!\n"
-
-#~ msgid "      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr "      %s  缺少选择 *%s %s(在 cupsUIConstraints“%s”中):“%s”!\n"
-
-#~ msgid "      %s  Missing cupsFilter file \"%s\"\n"
-#~ msgstr "      %s  缺少 cupsFilter 文件“%s”\n"
-
-#~ msgid "      %s  Missing cupsICCProfile file \"%s\"!\n"
-#~ msgstr "      %s  缺少 cupsICCProfile 文件“%s”!\n"
-
-#~ msgid "      %s  Missing cupsPreFilter file \"%s\"\n"
-#~ msgstr "      %s  缺少 cupsPreFilter 文件“%s”\n"
-
-#~ msgid "      %s  Missing cupsUIResolver %s!\n"
-#~ msgstr "      %s  缺少 cupsUIResolver %s!\n"
-
-#~ msgid "      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\"!\n"
-#~ msgstr "      %s  缺少选项 %s(在 UIConstraints“*%s %s *%s %s”中)!\n"
-
-#~ msgid "      %s  Missing option %s in cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr "      %s  缺少选项 %s(在 cupsUIConstraints“%s”中):“%s”!\n"
-
-#~ msgid "      %s  No base translation \"%s\" is included in file!\n"
-#~ msgstr "      %s  文件中不包括基本转换“%s”!\n"
-
-#~ msgid ""
-#~ "      %s  REQUIRED %s does not define choice None!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "      %s  所请求的 %s 没有定义选择 None!\n"
-#~ "                REF: 第 122 页,第 5.17 节。\n"
-
-#~ msgid "      %s  cupsICCProfile %s hash value collides with %s!\n"
-#~ msgstr "      %s  cupsICCProfile %s 散列值与 %s 冲突!\n"
-
-#~ msgid "      %s  cupsUIResolver %s causes a loop!\n"
-#~ msgstr "      %s  cupsUIResolver %s 导致了一个循环!\n"
-
-#~ msgid "      **FAIL**  %s choice names %s and %s differ only by case!\n"
-#~ msgstr "      **失败**  %s 选择名称 %s 和 %s 只会根据情况而不同!\n"
-
-#~ msgid ""
-#~ "      **FAIL**  %s must be 1284DeviceID!\n"
-#~ "                REF: Page 72, section 5.5\n"
-#~ msgstr ""
-#~ "      **失败**  %s 必须是 1284DeviceID!\n"
-#~ "                REF: 页 72,节 5.5。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Default%s %s\n"
-#~ "                REF: Page 40, section 4.5.\n"
-#~ msgstr ""
-#~ "      **失败**  错误的 Default%s %s\n"
-#~ "                REF: 第 40 页,第 4.5 节。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD DefaultImageableArea %s!\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **失败**  错误的 DefaultImageableArea %s!\n"
-#~ "                REF: 页 102,节 5.15。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD DefaultPaperDimension %s!\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **失败**  错误的 DefaultPaperDimension %s!\n"
-#~ "                REF: 页 103,节 5.15。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD JobPatchFile attribute in file\n"
-#~ "                REF: Page 24, section 3.4.\n"
-#~ msgstr ""
-#~ "      **失败**  文件中错误的 JobPatchFile 属性\n"
-#~ "                REF: 第 24 页,第 3.4 节。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Manufacturer (should be \"HP\")\n"
-#~ "                REF: Page 211, table D.1.\n"
-#~ msgstr ""
-#~ "      **失败**  错误的 Manufacturer(应该是“HP”)\n"
-#~ "                REF: 第 211 页,表 D.1。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Manufacturer (should be \"Oki\")\n"
-#~ "                REF: Page 211, table D.1.\n"
-#~ msgstr ""
-#~ "      **失败**  错误的 Manufacturer(应该是“Oki”)\n"
-#~ "                REF: 第 211 页,表 D.1。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n"
-#~ "                REF: Pages 59-60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失败**  错误的 ModelName -“%c”,字符串中不允许。\n"
-#~ "                REF: 页 59-60,节 5.3。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD PSVersion - not \"(string) int\".\n"
-#~ "                REF: Pages 62-64, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失败**  错误的 PSVersion - 不是“(string) int”。\n"
-#~ "                REF: 页 62-64,节 5.3。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Product - not \"(string)\".\n"
-#~ "                REF: Page 62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失败**  错误的 Product - 不是“(string) int”。\n"
-#~ "                REF: 页 62,节 5.3。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD ShortNickName - longer than 31 chars.\n"
-#~ "                REF: Pages 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失败**  错误的 ShortNickName - 多于 31 个字符。\n"
-#~ "                REF: 页 64-65,节 5.3。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad %s choice %s!\n"
-#~ "                REF: Page 84, section 5.9\n"
-#~ msgstr ""
-#~ "      **失败**  错误的 %s 选择 %s!\n"
-#~ "                REF: 第 84 页,第 5.9 节。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad FileVersion \"%s\"\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失败**  错误的 FileVersion“%s”\n"
-#~ "                REF: 第 56 页,第 5.3 节。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad FormatVersion \"%s\"\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失败**  错误的 FormatVersion“%s”\n"
-#~ "                REF: 第 56 页,第 5.3 节。\n"
-
-#~ msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1!\n"
-#~ msgstr "      **失败**  错误的 LanguageEncoding %s - 必须是 ISOLatin1!\n"
-
-#~ msgid "      **FAIL**  Bad LanguageVersion %s - must be English!\n"
-#~ msgstr "      **失败**  错误的 LanguageVersion %s - 必须是 English!\n"
-
-#~ msgid "      **FAIL**  Default option code cannot be interpreted: %s\n"
-#~ msgstr "      **失败**  不能解释默认选项编码:%s\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Default translation string for option %s choice %s "
-#~ "contains 8-bit characters!\n"
-#~ msgstr "      **失败**  选项 %s 选择 %s 的默认转换字符串含有 8 位字符!\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Default translation string for option %s contains 8-bit "
-#~ "characters!\n"
-#~ msgstr "      **失败**  选项 %s 的默认转换字符串含有 8 位字符!\n"
-
-#~ msgid "      **FAIL**  Group names %s and %s differ only by case!\n"
-#~ msgstr "      **失败**  组别名称 %s 和 %s 只会根据情况而不同!\n"
-
-#~ msgid "      **FAIL**  Multiple occurrences of %s choice name %s!\n"
-#~ msgstr "      **失败**  多次出现 %s 选择名称 %s!\n"
-
-#~ msgid "      **FAIL**  Option names %s and %s differ only by case!\n"
-#~ msgstr "      **失败**  选项名称 %s 和 %s 只会根据情况而不同!\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Default%s\n"
-#~ "                REF: Page 40, section 4.5.\n"
-#~ msgstr ""
-#~ "      **失败**  要求 Default%s\n"
-#~ "                REF: 页 40,节 4.5。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED DefaultImageableArea\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **失败**  要求 DefaultImageableArea\n"
-#~ "                REF: 页 102,节 5.15。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED DefaultPaperDimension\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **失败**  要求 DefaultPaperDimension\n"
-#~ "                REF: 页 103,节 5.15。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED FileVersion\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失败**  要求 FileVersion\n"
-#~ "                REF: 页 56,节 5.3。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED FormatVersion\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失败**  要求 FormatVersion\n"
-#~ "                REF: 页 56,节 5.3。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ImageableArea for PageSize %s\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **失败**  要求 PageSize %s 的 ImageableArea\n"
-#~ "                REF: 第 41 页,第 5 节。\n"
-#~ "                REF: 页 102,节 5.15。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED LanguageEncoding\n"
-#~ "                REF: Pages 56-57, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失败**  要求 LanguageEncoding\n"
-#~ "                REF: 页 56-57,节 5.3。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED LanguageVersion\n"
-#~ "                REF: Pages 57-58, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失败**  要求 LanguageVersion\n"
-#~ "                REF: 页 57-58,节 5.3。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Manufacturer\n"
-#~ "                REF: Pages 58-59, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失败**  要求 Manufacturer\n"
-#~ "                REF: 页 58-59,节 5.3。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ModelName\n"
-#~ "                REF: Pages 59-60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失败**  要求 ModelName\n"
-#~ "                REF: 页 59-60,节 5.3。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED NickName\n"
-#~ "                REF: Page 60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失败**  要求 NickName\n"
-#~ "                REF: 页 60,节 5.3。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PCFileName\n"
-#~ "                REF: Pages 61-62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失败**  要求 PCFileName\n"
-#~ "                REF: 页 61-62,节 5.3。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PSVersion\n"
-#~ "                REF: Pages 62-64, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失败**  要求 PSVersion\n"
-#~ "                REF: 页 62-64,节 5.3。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageRegion\n"
-#~ "                REF: Page 100, section 5.14.\n"
-#~ msgstr ""
-#~ "      **失败**  要求 PageRegion\n"
-#~ "                REF: 页 100,节 5.14。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageSize\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 99, section 5.14.\n"
-#~ msgstr ""
-#~ "      **失败**  要求 PageSize\n"
-#~ "                REF: 第 41 页,第 5 节。\n"
-#~ "                REF: 页 99,节 5.14。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageSize\n"
-#~ "                REF: Pages 99-100, section 5.14.\n"
-#~ msgstr ""
-#~ "      **失败**  要求 PageSize\n"
-#~ "                REF: 页 99-100,节 5.14。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PaperDimension for PageSize %s\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **失败**  要求 PageSize %s 的 PaperDimension\n"
-#~ "                REF: 第 41 页,第 5 节。\n"
-#~ "                REF: 页 103,节 5.15。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Product\n"
-#~ "                REF: Page 62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失败**  要求 Product\n"
-#~ "                REF: 页 62,节 5.3。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ShortNickName\n"
-#~ "                REF: Page 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失败**  要求 ShortNickName\n"
-#~ "                REF: 页 64-65,节 5.3。\n"
-
-#~ msgid "    %d ERRORS FOUND\n"
-#~ msgstr "    发现 %d 个错误\n"
-
-#~ msgid ""
-#~ "    Bad %%%%BoundingBox: on line %d!\n"
-#~ "        REF: Page 39, %%%%BoundingBox:\n"
-#~ msgstr ""
-#~ "    错误的 %%%%BoundingBox:在行 %d!\n"
-#~ "        REF: 页 39,%%%%BoundingBox:\n"
-
-#~ msgid ""
-#~ "    Bad %%%%Page: on line %d!\n"
-#~ "        REF: Page 53, %%%%Page:\n"
-#~ msgstr ""
-#~ "    错误的 %%%%Page:在行 %d!\n"
-#~ "        REF: 页 53,%%%%Page:\n"
-
-#~ msgid ""
-#~ "    Bad %%%%Pages: on line %d!\n"
-#~ "        REF: Page 43, %%%%Pages:\n"
-#~ msgstr ""
-#~ "    错误的 %%%%Pages:在行 %d!\n"
-#~ "        REF: 页 43,%%%%Pages:\n"
-
-#~ msgid ""
-#~ "    Line %d is longer than 255 characters (%d)!\n"
-#~ "        REF: Page 25, Line Length\n"
-#~ msgstr ""
-#~ "    行 %d 多于 255 个字符 (%d)!\n"
-#~ "        REF: 页 25,行长度\n"
-
-#~ msgid ""
-#~ "    Missing %!PS-Adobe-3.0 on first line!\n"
-#~ "        REF: Page 17, 3.1 Conforming Documents\n"
-#~ msgstr ""
-#~ "    首行缺少 %!PS-Adobe-3.0!\n"
-#~ "        REF: 页 17,3.1 符合文稿\n"
-
-#~ msgid ""
-#~ "    Missing %%EndComments comment!\n"
-#~ "        REF: Page 41, %%EndComments\n"
-#~ msgstr ""
-#~ "    缺少 %%EndComments 批注!\n"
-#~ "        REF: 页 41,%%EndComments\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%BoundingBox: comment!\n"
-#~ "        REF: Page 39, %%BoundingBox:\n"
-#~ msgstr ""
-#~ "    缺少或错误的 %%%%BoundingBox:批注!\n"
-#~ "        REF: 页 39,%%BoundingBox:\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%Page: comments!\n"
-#~ "        REF: Page 53, %%Page:\n"
-#~ msgstr ""
-#~ "    缺少或错误的 %%Page:批注!\n"
-#~ "        REF: 页 53,%%Page:\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%Pages: comment!\n"
-#~ "        REF: Page 43, %%Pages:\n"
-#~ msgstr ""
-#~ "    缺少或错误的 %%Pages:批注!\n"
-#~ "        REF: 页 43,%%Pages:\n"
-
-#~ msgid "    NO ERRORS FOUND\n"
-#~ msgstr "    未发现错误\n"
-
-#~ msgid "    Saw %d lines that exceeded 255 characters!\n"
-#~ msgstr "    发现 %d 行超过 255 个字符!\n"
-
-#~ msgid "    Too many %%BeginDocument comments!\n"
-#~ msgstr "    太多 %%BeginDocument 批注!\n"
-
-#~ msgid "    Too many %%EndDocument comments!\n"
-#~ msgstr "    太多 %%EndDocument 批注!\n"
-
-#~ msgid "    Warning: file contains binary data!\n"
-#~ msgstr "    WARNING: 文件含有二进制数据!\n"
-
-#~ msgid "    Warning: no %%EndComments comment in file!\n"
-#~ msgstr "    WARNING: 文件中没有 %%EndComments 批注!\n"
-
-#~ msgid "    Warning: obsolete DSC version %.1f in file!\n"
-#~ msgstr "    WARNING: 文件中的 DSC 版本 %.1f 过时!\n"
-
-#~ msgid " FAIL\n"
-#~ msgstr " 失败\n"
-
-#~ msgid ""
-#~ " FAIL\n"
-#~ "      **FAIL**  Unable to open PPD file - %s\n"
-#~ msgstr ""
-#~ " 失败\n"
-#~ "      **失败**  无法打开 PPD 文件 - %s\n"
-
-#~ msgid ""
-#~ " FAIL\n"
-#~ "      **FAIL**  Unable to open PPD file - %s on line %d.\n"
-#~ msgstr ""
-#~ " 失败\n"
-#~ "      **失败**  无法打开 PPD 文件 - %s 在第 %d 行。\n"
-
-#~ msgid " PASS\n"
-#~ msgstr " 通过\n"
-
-#~ msgid "#10 Envelope"
-#~ msgstr "10 号信封"
-
-#~ msgid "#11 Envelope"
-#~ msgstr "11 号信封"
-
-#~ msgid "#12 Envelope"
-#~ msgstr "12 号信封"
-
-#~ msgid "#14 Envelope"
-#~ msgstr "14 号信封"
-
-#~ msgid "#9 Envelope"
-#~ msgstr "9 号信封"
-
-#~ msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes\n"
-#~ msgstr "%-6s %-10.10s %-4d %-10d %-27.27s %.0f 字节\n"
-
-#~ msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes\n"
-#~ msgstr "%-7s %-7.7s %-7d %-31.31s %.0f 字节\n"
-
-#~ msgid "%s accepting requests since %s\n"
-#~ msgstr "%s 正在接受请求,时间从 %s\n"
-
-#~ msgid "%s is not implemented by the CUPS version of lpc.\n"
-#~ msgstr "%s 未被 lpc 的 CUPS 版本实施。\n"
-
-#~ msgid "%s is not ready\n"
-#~ msgstr "%s 未准备就绪\n"
-
-#~ msgid "%s is ready\n"
-#~ msgstr "%s 准备就绪\n"
-
-#~ msgid "%s is ready and printing\n"
-#~ msgstr "%s 已准备就绪,正在打印\n"
-
-#~ msgid ""
-#~ "%s not accepting requests since %s -\n"
-#~ "\t%s\n"
-#~ msgstr ""
-#~ "%s 没有在接受请求,时间从 %s -\n"
-#~ "\t%s\n"
-
-#~ msgid "%s not supported!"
-#~ msgstr "%s 不被支持!"
-
-#~ msgid "%s/%s accepting requests since %s\n"
-#~ msgstr "%s/%s 正在接受请求,时间从 %s\n"
-
-#~ msgid ""
-#~ "%s/%s not accepting requests since %s -\n"
-#~ "\t%s\n"
-#~ msgstr ""
-#~ "%s/%s 没有在接受请求,时间从 %s -\n"
-#~ "\t%s\n"
-
-#~ msgid "%s: %-33.33s [job %d localhost]\n"
-#~ msgstr "%s:%-33.33s [作业 %d 本地主机]\n"
-
-#~ msgid "%s: %s failed: %s\n"
-#~ msgstr "%s:%s 失败:%s\n"
-
-#~ msgid "%s: Don't know what to do!\n"
-#~ msgstr "%s:不知道要做什么!\n"
-
-#~ msgid ""
-#~ "%s: Error - %s environment variable names non-existent destination \"%s"
-#~ "\"!\n"
-#~ msgstr "%s:错误 - %s 个环境变量名称不存在目的位置“%s”!\n"
-
-#~ msgid "%s: Error - bad job ID!\n"
-#~ msgstr "%s:错误 - 错误的作业 ID!\n"
-
-#~ msgid "%s: Error - cannot print files and alter jobs simultaneously!\n"
-#~ msgstr "%s:错误 - 不能同时打印文件和更改作业!\n"
-
-#~ msgid ""
-#~ "%s: Error - cannot print from stdin if files or a job ID are provided!\n"
-#~ msgstr "%s:错误 - 如果文件或作业 ID 已提供,则不能从 stdin 打印!\n"
-
-#~ msgid "%s: Error - expected character set after '-S' option!\n"
-#~ msgstr "%s:错误 - &apos;-S&apos; 选项后期望字符集!\n"
-
-#~ msgid "%s: Error - expected content type after '-T' option!\n"
-#~ msgstr "%s:错误 - &apos;-T&apos; 选项后期望内容类型!\n"
-
-#~ msgid "%s: Error - expected copies after '-n' option!\n"
-#~ msgstr "%s:错误 - &apos;-n&apos; 选项后期望份数!\n"
-
-#~ msgid "%s: Error - expected copy count after '-#' option!\n"
-#~ msgstr "%s:错误 - &apos;-#&apos; 选项后期望份数!\n"
-
-#~ msgid "%s: Error - expected destination after '-P' option!\n"
-#~ msgstr "%s:错误 - &apos;-P&apos; 选项后期望目的位置!\n"
-
-#~ msgid "%s: Error - expected destination after '-b' option!\n"
-#~ msgstr "%s:错误 - &apos;-b&apos; 选项后期望目的位置!\n"
-
-#~ msgid "%s: Error - expected destination after '-d' option!\n"
-#~ msgstr "%s:错误 - &apos;-d&apos; 选项后期望目的位置!\n"
-
-#~ msgid "%s: Error - expected form after '-f' option!\n"
-#~ msgstr "%s:错误 - &apos;-f&apos; 选项后期望形式!\n"
-
-#~ msgid "%s: Error - expected hold name after '-H' option!\n"
-#~ msgstr "%s:错误 - &apos;-H&apos; 选项后期望保留名称!\n"
-
-#~ msgid "%s: Error - expected hostname after '-H' option!\n"
-#~ msgstr "%s:错误 - &apos;-H&apos; 选项后期望主机名称!\n"
-
-#~ msgid "%s: Error - expected hostname after '-h' option!\n"
-#~ msgstr "%s:错误 - &apos;-H&apos; 选项后期望主机名称!\n"
-
-#~ msgid "%s: Error - expected mode list after '-y' option!\n"
-#~ msgstr "%s:错误 - &apos;-y&apos; 选项后期望模式列表!\n"
-
-#~ msgid "%s: Error - expected name after '-%c' option!\n"
-#~ msgstr "%s:错误 - &apos;-%c&apos; 选项后期望名称!\n"
-
-#~ msgid "%s: Error - expected option string after '-o' option!\n"
-#~ msgstr "%s:错误 - &apos;-o&apos; 选项后期望选项字符串!\n"
-
-#~ msgid "%s: Error - expected page list after '-P' option!\n"
-#~ msgstr "%s:错误 - &apos;-P&apos; 选项后期望页面列表!\n"
-
-#~ msgid "%s: Error - expected priority after '-%c' option!\n"
-#~ msgstr "%s:错误 - &apos;-%c&apos; 选项后期望优先级!\n"
-
-#~ msgid "%s: Error - expected reason text after '-r' option!\n"
-#~ msgstr "%s:错误 - &apos;-r&apos; 选项后期望原因文本!\n"
-
-#~ msgid "%s: Error - expected title after '-t' option!\n"
-#~ msgstr "%s:错误 - &apos;-t&apos; 选项后期望标题!\n"
-
-#~ msgid "%s: Error - expected username after '-U' option!\n"
-#~ msgstr "%s:错误 - &apos;-U&apos; 选项后期望用户名称!\n"
-
-#~ msgid "%s: Error - expected username after '-u' option!\n"
-#~ msgstr "%s:错误 - &apos;-U&apos; 选项后期望用户名称!\n"
-
-#~ msgid "%s: Error - expected value after '-%c' option!\n"
-#~ msgstr "%s:错误 - &apos;-%c&apos; 选项后期望值!\n"
-
-#~ msgid ""
-#~ "%s: Error - need \"completed\", \"not-completed\", or \"all\" after '-W' "
-#~ "option!\n"
-#~ msgstr "%s:错误 -“-W”选项后需要“completed”、“not-completed”或“all”\n"
-
-#~ msgid "%s: Error - no default destination available.\n"
-#~ msgstr "%s:错误 - 没有默认目的位置。\n"
-
-#~ msgid "%s: Error - priority must be between 1 and 100.\n"
-#~ msgstr "%s:错误 - 优先级必须在 1 到 100 之间。\n"
-
-#~ msgid "%s: Error - scheduler not responding!\n"
-#~ msgstr "%s:错误 - 调度程序无响应!\n"
-
-#~ msgid "%s: Error - too many files - \"%s\"\n"
-#~ msgstr "%s:错误 - 太多文件 -“%s”\n"
-
-#~ msgid "%s: Error - unable to access \"%s\" - %s\n"
-#~ msgstr "%s:错误 - 无法访问“%s”- %s\n"
-
-#~ msgid "%s: Error - unable to queue from stdin - %s\n"
-#~ msgstr "%s:错误 - 无法从 stdin 排队 - %s\n"
-
-#~ msgid "%s: Error - unknown destination \"%s\"!\n"
-#~ msgstr "%s:错误 - 未知目的位置“%s”!\n"
-
-#~ msgid "%s: Error - unknown destination \"%s/%s\"!\n"
-#~ msgstr "%s:错误 - 未知目的位置“%s/%s”!\n"
-
-#~ msgid "%s: Error - unknown option '%c'!\n"
-#~ msgstr "%s:错误 - 未知选项 &apos;%c&apos;!\n"
-
-#~ msgid "%s: Error - unknown option '%s'!\n"
-#~ msgstr "%s:错误 - 未知选项“%s”!\n"
-
-#~ msgid "%s: Expected job ID after '-i' option!\n"
-#~ msgstr "%s:&apos;-i&apos; 选项后期望作业 ID!\n"
-
-#~ msgid "%s: Filter \"%s\" not available: %s\n"
-#~ msgstr "%s:滤镜“%s”不可用:%s\n"
-
-#~ msgid "%s: Invalid destination name in list \"%s\"!\n"
-#~ msgstr "%s:列表“%s”中的目的位置名称无效!\n"
-
-#~ msgid "%s: Invalid filter string \"%s\"\n"
-#~ msgstr "%s:无效的滤镜字符串“%s”\n"
-
-#~ msgid "%s: Need job ID ('-i jobid') before '-H restart'!\n"
-#~ msgstr ""
-#~ "%s:&apos;-H restart&apos; 之前需要作业 ID (&apos;-i jobid&apos;)!\n"
-
-#~ msgid "%s: No filter to convert from %s/%s to %s/%s!\n"
-#~ msgstr "%s:无滤镜可从 %s/%s 转换成 %s/%s!\n"
-
-#~ msgid "%s: Operation failed: %s\n"
-#~ msgstr "%s:操作失败:%s\n"
-
-#~ msgid "%s: Sorry, no encryption support compiled in!\n"
-#~ msgstr "%s:对不起,未编译加密支持!\n"
-
-#~ msgid "%s: Unable to connect to server\n"
-#~ msgstr "%s:无法连接到服务器\n"
-
-#~ msgid "%s: Unable to contact server!\n"
-#~ msgstr "%s:无法联系服务器!\n"
-
-#~ msgid "%s: Unable to determine MIME type of \"%s\"!\n"
-#~ msgstr "%s:无法确定“%s”的 MIME 类型!\n"
-
-#~ msgid "%s: Unable to open %s - %s\n"
-#~ msgstr "%s:无法打开 %s - %s\n"
-
-#~ msgid "%s: Unable to open %s - %s on line %d.\n"
-#~ msgstr "%s:无法打开 %s - %s(在第 %d 行)。\n"
-
-#~ msgid "%s: Unable to open %s: %s\n"
-#~ msgstr "%s:无法打开 %s:%s\n"
-
-#~ msgid "%s: Unable to open PPD file: %s on line %d\n"
-#~ msgstr "%s:无法打开 PPD 文件:%s 在第 %d 行\n"
-
-#~ msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"!\n"
-#~ msgstr "%s:无法从“%s”或“%s”读取 MIME 数据库!\n"
-
-#~ msgid "%s: Unknown destination \"%s\"!\n"
-#~ msgstr "%s:未知目的位置“%s”!\n"
-
-#~ msgid "%s: Unknown destination MIME type %s/%s!\n"
-#~ msgstr "%s:未知目的 MIME 类型 %s/%s!\n"
-
-#~ msgid "%s: Unknown option '%c'!\n"
-#~ msgstr "%s:未知选项 &apos;%c&apos;!\n"
-
-#~ msgid "%s: Unknown source MIME type %s/%s!\n"
-#~ msgstr "%s:未知的源 MIME 类型 %s/%s!\n"
-
-#~ msgid ""
-#~ "%s: Warning - '%c' format modifier not supported - output may not be "
-#~ "correct!\n"
-#~ msgstr "%s:警告 - “%c”格式修饰符不支持 - 输出可能不正确!\n"
-
-#~ msgid "%s: Warning - character set option ignored!\n"
-#~ msgstr "%s:警告 - 字符集选项被忽略!\n"
-
-#~ msgid "%s: Warning - content type option ignored!\n"
-#~ msgstr "%s:警告 - 内容类型选项被忽略!\n"
-
-#~ msgid "%s: Warning - form option ignored!\n"
-#~ msgstr "%s:警告 - 形式选项被忽略!\n"
-
-#~ msgid "%s: Warning - mode option ignored!\n"
-#~ msgstr "%s:警告 - 模式选项被忽略!\n"
-
-#~ msgid ""
-#~ "%s: error - %s environment variable names non-existent destination \"%s"
-#~ "\"!\n"
-#~ msgstr "%s:错误 - %s 个环境变量名称不存在目的位置“%s”!\n"
-
-#~ msgid "%s: error - expected option=value after '-o' option!\n"
-#~ msgstr "%s:错误 - &apos;-o&apos; 选项后期望 option=value!\n"
-
-#~ msgid "%s: error - no default destination available.\n"
-#~ msgstr "%s:错误 - 没有默认目的位置。\n"
-
-#~ msgid "10 x 11\""
-#~ msgstr "10 x 11 英寸"
-
-#~ msgid "10 x 13\""
-#~ msgstr "10 x 13 英寸"
-
-#~ msgid "10 x 14\""
-#~ msgstr "10 x 14 英寸"
-
-#~ msgid "12 x 11\""
-#~ msgstr "12 x 11 英寸"
-
-#~ msgid "15 x 11\""
-#~ msgstr "15 x 11 英寸"
-
-#~ msgid "600 DPI Grayscale"
-#~ msgstr "600 DPI 灰度"
-
-#~ msgid "60x720dpi"
-#~ msgstr "60x720dpi"
-
-#~ msgid "7 x 9\""
-#~ msgstr "7 x 9 英寸"
-
-#~ msgid "8 x 10\""
-#~ msgstr "8 x 10 英寸"
-
-#~ msgid "9 x 11\""
-#~ msgstr "9 x 11 英寸"
-
-#~ msgid "9 x 12\""
-#~ msgstr "9 x 12 英寸"
-
-#~ msgid "?Invalid help command unknown\n"
-#~ msgstr "?未知的无效帮助命令\n"
-
-#~ msgid "A Samba password is required to export printer drivers!"
-#~ msgstr "导出打印机驱动程序需要 Samba 密码!"
-
-#~ msgid "A Samba username is required to export printer drivers!"
-#~ msgstr "导出打印机驱动程序需要 Samba 用户名称!"
-
-#~ msgid "A class named \"%s\" already exists!"
-#~ msgstr "名称为“%s”的类已经存在!"
-
-#~ msgid "A printer named \"%s\" already exists!"
-#~ msgstr "名称为“%s”的打印机已经存在!"
-
-#~ msgid "A3 (Oversize)"
-#~ msgstr "A3(大号)"
-
-#~ msgid "A4 (Oversize)"
-#~ msgstr "A4(大号)"
-
-#~ msgid "A4 (Small)"
-#~ msgstr "A4(小号)"
-
-#~ msgid "A5 (Oversize)"
-#~ msgstr "A5(大号)"
-
-#~ msgid "ARCH A"
-#~ msgstr "ARCH A"
-
-#~ msgid "ARCH B"
-#~ msgstr "ARCH B"
-
-#~ msgid "Attempt to set %s printer-state to bad value %d!"
-#~ msgstr "尝试将 %s 打印机状态设定为错误值 %d!"
-
-#~ msgid "Attribute groups are out of order (%x < %x)!"
-#~ msgstr "属性组顺序混乱 (%x &lt; %x)!"
-
-#~ msgid "Bad device URI \"%s\"!\n"
-#~ msgstr "错误的设备 URI“%s”!\n"
-
-#~ msgid "Bad device-uri \"%s\"!"
-#~ msgstr "错误的 device-uri“%s”!"
-
-#~ msgid "Bad device-uri scheme \"%s\"!"
-#~ msgstr "错误的 device-uri 方案“%s”!"
-
-#~ msgid "Bad document-format \"%s\"!"
-#~ msgstr "错误的 document-format“%s”!"
-
-#~ msgid "Bad filename buffer!"
-#~ msgstr "错误的文件名称缓冲区!"
-
-#~ msgid "Bad font attribute: %s\n"
-#~ msgstr "错误的字体属性:%s\n"
-
-#~ msgid "Bad job-priority value!"
-#~ msgstr "错误的 job-priority 值!"
-
-#~ msgid "Bad job-sheets value \"%s\"!"
-#~ msgstr "错误的 job-sheets 值“%s”!"
-
-#~ msgid "Bad job-sheets value type!"
-#~ msgstr "错误的 job-sheets 值类型!"
-
-#~ msgid "Bad job-state value!"
-#~ msgstr "错误的 job-state 值!"
-
-#~ msgid "Bad job-uri attribute \"%s\"!"
-#~ msgstr "错误的 job-uri 属性“%s”!"
-
-#~ msgid "Bad notify-pull-method \"%s\"!"
-#~ msgstr "错误的 notify-pull-method“%s”!"
-
-#~ msgid "Bad notify-recipient-uri URI \"%s\"!"
-#~ msgstr "错误的 notify-recipient-uri URI“%s”!"
-
-#~ msgid "Bad option + choice on line %d!"
-#~ msgstr "行 %d 中错误的 option + choice!"
-
-#~ msgid "Bad port-monitor \"%s\"!"
-#~ msgstr "错误的 port-monitor“%s”!"
-
-#~ msgid "Bad printer-state value %d!"
-#~ msgstr "错误的 printer-state 值 %d!"
-
-#~ msgid "Bad request version number %d.%d!"
-#~ msgstr "错误的请求版本号 %d.%d!"
-
-#~ msgid "Bad subscription ID!"
-#~ msgstr "错误的订阅 ID!"
-
-#~ msgid "C0 Envelope"
-#~ msgstr "C0 信封"
-
-#~ msgid "C1 Envelope"
-#~ msgstr "C1 信封"
-
-#~ msgid "C2 Envelope"
-#~ msgstr "C2 信封"
-
-#~ msgid "C3 Envelope"
-#~ msgstr "C3 信封"
-
-#~ msgid "C4"
-#~ msgstr "C4"
-
-#~ msgid "C4 Envelope"
-#~ msgstr "C4 信封"
-
-#~ msgid "C5"
-#~ msgstr "C5"
-
-#~ msgid "C5 Envelope"
-#~ msgstr "C5 信封"
-
-#~ msgid "C6"
-#~ msgstr "C6"
-
-#~ msgid "C6 Envelope"
-#~ msgstr "C6 信封"
-
-#~ msgid "C65 Envelope"
-#~ msgstr "C65 信封"
-
-#~ msgid "C7 Envelope"
-#~ msgstr "C7 信封"
-
-#~ msgid "Character set \"%s\" not supported!"
-#~ msgstr "字符集“%s”不被支持!"
-
-#~ msgid "Chou3 Envelope"
-#~ msgstr "Chou3 信封"
-
-#~ msgid "Chou4 Envelope"
-#~ msgstr "Chou4 信封"
-
-#~ msgid ""
-#~ "Commands may be abbreviated.  Commands are:\n"
-#~ "\n"
-#~ "exit    help    quit    status  ?\n"
-#~ msgstr ""
-#~ "命令可能是缩写。命令是:\n"
-#~ "\n"
-#~ "exit    help    quit    status  ?\n"
-
-#~ msgid "Could not scan type \"%s\"!"
-#~ msgstr "未能扫描类型“%s”!"
-
-#~ msgid "Cover open."
-#~ msgstr "机盖打开。"
-
-#~ msgid "DL"
-#~ msgstr "DL"
-
-#~ msgid "DL Envelope"
-#~ msgstr "DL 信封"
-
-#~ msgid "Developer almost empty."
-#~ msgstr "显影剂差不多快要空了。"
-
-#~ msgid "Developer empty!"
-#~ msgstr "显影剂已空!"
-
-#~ msgid ""
-#~ "Device: uri = %s\n"
-#~ "        class = %s\n"
-#~ "        info = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ "        location = %s\n"
-#~ msgstr ""
-#~ "设备:uri = %s\n"
-#~ "        class = %s\n"
-#~ "        info = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ "        location = %s\n"
-
-#~ msgid "Document %d not found in job %d."
-#~ msgstr "找不到文稿 %d(在作业 %d 中)。"
-
-#~ msgid "Door open."
-#~ msgstr "打印机门打开。"
-
-#~ msgid "Double Postcard"
-#~ msgstr "双面明信片"
-
-#~ msgid "EMERG: Unable to allocate memory for page info: %s\n"
-#~ msgstr "EMERG: 无法为页面信息分配内存:%s\n"
-
-#~ msgid "EMERG: Unable to allocate memory for pages array: %s\n"
-#~ msgstr "EMERG: 无法为页面序列分配内存:%s\n"
-
-#~ msgid "ERROR: Bad %%BoundingBox: comment seen!\n"
-#~ msgstr "ERROR: 错误的 %%BoundingBox:发现批注!\n"
-
-#~ msgid "ERROR: Bad %%IncludeFeature: comment!\n"
-#~ msgstr "ERROR: 错误的 %%IncludeFeature:批注!\n"
-
-#~ msgid "ERROR: Bad %%Page: comment in file!\n"
-#~ msgstr "ERROR: 错误的 %%Page:文件中的批注!\n"
-
-#~ msgid "ERROR: Bad %%PageBoundingBox: comment in file!\n"
-#~ msgstr "ERROR: 错误的 %%PageBoundingBox:文件中的批注!\n"
-
-#~ msgid "ERROR: Bad SCSI device file \"%s\"!\n"
-#~ msgstr "ERROR: 错误的 SCSI 设备文件“%s”!\n"
-
-#~ msgid "ERROR: Bad charset file %s\n"
-#~ msgstr "ERROR: 错误的字符集文件 %s\n"
-
-#~ msgid "ERROR: Bad charset type %s\n"
-#~ msgstr "ERROR: 错误的字符集类型 %s\n"
-
-#~ msgid "ERROR: Bad columns value %d!\n"
-#~ msgstr "ERROR: 错误的列值 %d!\n"
-
-#~ msgid "ERROR: Bad cpi value %f!\n"
-#~ msgstr "ERROR: 错误的 cpi 值 %f!\n"
-
-#~ msgid "ERROR: Bad font description line: %s\n"
-#~ msgstr "ERROR: 错误的字体描述行:%s\n"
-
-#~ msgid "ERROR: Bad lpi value %f!\n"
-#~ msgstr "ERROR: 错误的 lpi 值 %f!\n"
-
-#~ msgid "ERROR: Bad page setup!\n"
-#~ msgstr "ERROR: 错误的页面设置!\n"
-
-#~ msgid "ERROR: Bad text direction %s\n"
-#~ msgstr "ERROR: 错误的文本方向 %s\n"
-
-#~ msgid "ERROR: Bad text width %s\n"
-#~ msgstr "ERROR: 错误的文本宽度 %s\n"
-
-#~ msgid "ERROR: Destination printer does not exist!\n"
-#~ msgstr "ERROR: 目的位置打印机不存在!\n"
-
-#~ msgid "ERROR: Duplicate %%BoundingBox: comment seen!\n"
-#~ msgstr "ERROR: 重复的 %%BoundingBox:发现批注!\n"
-
-#~ msgid "ERROR: Duplicate %%Pages: comment seen!\n"
-#~ msgstr "ERROR: 重复的 %%Pages!发现批注!\n"
-
-#~ msgid "ERROR: Empty print file!\n"
-#~ msgstr "ERROR: 空打印文件!\n"
-
-#~ msgid "ERROR: Error %d sending PAPSendData request: %s\n"
-#~ msgstr "ERROR: 发送 PAPSendData 请求时发生错误 %d:%s\n"
-
-#~ msgid "ERROR: Expected quoted string on line %d of %s!\n"
-#~ msgstr "ERROR: %2$s 的第 %1$d 行期望引号字符串!\n"
-
-#~ msgid "ERROR: Fatal USB error!\n"
-#~ msgstr "ERROR: 致命的 USB 错误!\n"
-
-#~ msgid "ERROR: Invalid HP-GL/2 command seen, unable to print file!\n"
-#~ msgstr "ERROR: 发现无效的 HP-GL/2 命令,无法打印文件!\n"
-
-#~ msgid "ERROR: Missing %%EndProlog!\n"
-#~ msgstr "ERROR: 缺少 %%EndProlog!\n"
-
-#~ msgid "ERROR: Missing %%EndSetup!\n"
-#~ msgstr "ERROR: 缺少 %%EndSetup!\n"
-
-#~ msgid ""
-#~ "ERROR: Missing device URI on command-line and no DEVICE_URI environment "
-#~ "variable!\n"
-#~ msgstr "ERROR: 命令行上缺少设备 URI,且无 DEVICE_URI 环境变量!\n"
-
-#~ msgid "ERROR: Missing value on line %d of banner file!\n"
-#~ msgstr "ERROR: 标题文件的第 %d 行缺少值!\n"
-
-#~ msgid ""
-#~ "ERROR: Need a msgid line before any translation strings on line %d of %"
-#~ "s!\n"
-#~ msgstr "ERROR: %2$s 的第 %1$d 行上的任何转换字符串前面均需要有 msgid 行!\n"
-
-#~ msgid "ERROR: No %%BoundingBox: comment in header!\n"
-#~ msgstr "ERROR: 无 %%BoundingBox:标头中的批注!\n"
-
-#~ msgid "ERROR: No %%Pages: comment in header!\n"
-#~ msgstr "ERROR: 无 %%Pages:标头中的批注!\n"
-
-#~ msgid ""
-#~ "ERROR: No device URI found in argv[0] or in DEVICE_URI environment "
-#~ "variable!\n"
-#~ msgstr "ERROR: 在 argv[0] 或 DEVICE_URI 环境变量中找不到设备 URI!\n"
-
-#~ msgid "ERROR: No fonts in charset file %s\n"
-#~ msgstr "ERROR: 字符集文件 %s 中没有字体\n"
-
-#~ msgid "ERROR: No pages found!\n"
-#~ msgstr "ERROR: 找不到页面!\n"
-
-#~ msgid "ERROR: Out of paper!\n"
-#~ msgstr "ERROR: 缺纸!\n"
-
-#~ msgid "ERROR: PRINTER environment variable not defined!\n"
-#~ msgstr "ERROR: PRINTER 环境变量未定义!\n"
-
-#~ msgid "ERROR: Print file was not accepted (%s)!\n"
-#~ msgstr "ERROR: 打印文件不被接受 (%s)!\n"
-
-#~ msgid "ERROR: Printer not responding\n"
-#~ msgstr "ERROR: 打印机没有响应\n"
-
-#~ msgid "ERROR: Printer not responding!\n"
-#~ msgstr "ERROR: 打印机没有响应!\n"
-
-#~ msgid "ERROR: Printer sent unexpected EOF\n"
-#~ msgstr "ERROR: 打印机发送了意外的 EOF\n"
-
-#~ msgid "ERROR: Remote host did not accept control file (%d)\n"
-#~ msgstr "ERROR: 远程主机不接受控制文件 (%d)\n"
-
-#~ msgid "ERROR: Remote host did not accept data file (%d)\n"
-#~ msgstr "ERROR: 远程主机不接受数据文件 (%d)\n"
-
-#~ msgid "ERROR: There was a timeout error while sending data to the printer\n"
-#~ msgstr "ERROR: 将数据发送到打印机时发生了超时错误\n"
-
-#~ msgid "ERROR: Unable to add file %d to job: %s\n"
-#~ msgstr "ERROR: 无法将文件 %d 添加到作业:%s\n"
-
-#~ msgid "ERROR: Unable to cancel job %d: %s\n"
-#~ msgstr "ERROR: 无法取消作业 %d:%s\n"
-
-#~ msgid "ERROR: Unable to copy PDF file"
-#~ msgstr "ERROR: 无法拷贝 PDF 文件"
-
-#~ msgid "ERROR: Unable to create socket"
-#~ msgstr "ERROR: 无法创建套接字"
-
-#~ msgid "ERROR: Unable to create temporary compressed print file: %s\n"
-#~ msgstr "ERROR: 无法创建临时的压缩打印文件:%s\n"
-
-#~ msgid "ERROR: Unable to create temporary file"
-#~ msgstr "ERROR: 无法创建临时文件"
-
-#~ msgid "ERROR: Unable to create temporary file - %s.\n"
-#~ msgstr "ERROR: 无法创建临时文件 - %s。\n"
-
-#~ msgid "ERROR: Unable to create temporary file: %s\n"
-#~ msgstr "ERROR: 无法创建临时文件:%s\n"
-
-#~ msgid "ERROR: Unable to exec pictwpstops: %s\n"
-#~ msgstr "ERROR: 无法执行 pictwpstops:%s\n"
-
-#~ msgid "ERROR: Unable to execute gs program"
-#~ msgstr "ERROR: 无法执行 gs 程序"
-
-#~ msgid "ERROR: Unable to execute pdftops program"
-#~ msgstr "ERROR: 无法执行 pdftops 程序"
-
-#~ msgid "ERROR: Unable to fork pictwpstops: %s\n"
-#~ msgstr "ERROR: 无法 fork pictwpstops:%s\n"
-
-#~ msgid "ERROR: Unable to get PAP request"
-#~ msgstr "ERROR: 无法获得 PAP 请求"
-
-#~ msgid "ERROR: Unable to get PAP response"
-#~ msgstr "ERROR: 无法获得 PAP 响应"
-
-#~ msgid "ERROR: Unable to get PPD file for printer \"%s\" - %s.\n"
-#~ msgstr "ERROR: 无法获得用于打印机“%s”的 PPD 文件 - %s。\n"
-
-#~ msgid "ERROR: Unable to get default AppleTalk zone"
-#~ msgstr "ERROR: 无法获得默认的 AppleTalk 区域"
-
-#~ msgid "ERROR: Unable to get job %d attributes (%s)!\n"
-#~ msgstr "ERROR: 无法获得作业 %d 属性 (%s)!\n"
-
-#~ msgid "ERROR: Unable to get printer status (%s)!\n"
-#~ msgstr "ERROR: 无法获得打印机状态 (%s)!\n"
-
-#~ msgid "ERROR: Unable to locate printer '%s'!\n"
-#~ msgstr "ERROR: 找不到打印机 &apos;%s&apos; 的位置!\n"
-
-#~ msgid "ERROR: Unable to look for PAP response"
-#~ msgstr "ERROR: 无法查找 PAP 响应"
-
-#~ msgid "ERROR: Unable to lookup AppleTalk printers"
-#~ msgstr "ERROR: 无法查找 AppleTalk 打印机"
-
-#~ msgid "ERROR: Unable to make AppleTalk address"
-#~ msgstr "ERROR: 无法确定 AppleTalk 地址"
-
-#~ msgid "ERROR: Unable to open \"%s\" - %s\n"
-#~ msgstr "ERROR: 无法打开“%s”- %s\n"
-
-#~ msgid "ERROR: Unable to open %s: %s\n"
-#~ msgstr "ERROR: 无法打开 %s:%s\n"
-
-#~ msgid "ERROR: Unable to open banner file \"%s\" - %s\n"
-#~ msgstr "ERROR: 无法打开标题文件“%s” - %s\n"
-
-#~ msgid "ERROR: Unable to open device file \"%s\": %s\n"
-#~ msgstr "ERROR: 无法打开设备文件“%s”:%s\n"
-
-#~ msgid "ERROR: Unable to open file \"%s\" - %s\n"
-#~ msgstr "ERROR: 无法打开文件“%s”- %s\n"
-
-#~ msgid "ERROR: Unable to open file \"%s\": %s\n"
-#~ msgstr "ERROR: 无法打开文件“%s”:%s\n"
-
-#~ msgid "ERROR: Unable to open image file for printing!\n"
-#~ msgstr "ERROR: 无法打开图像文件进行打印!\n"
-
-#~ msgid "ERROR: Unable to open print file \"%s\": %s\n"
-#~ msgstr "ERROR: 无法打开打印文件“%s”:%s\n"
-
-#~ msgid "ERROR: Unable to open print file %s - %s\n"
-#~ msgstr "ERROR: 无法打开打印文件 %s - %s\n"
-
-#~ msgid "ERROR: Unable to open print file %s: %s\n"
-#~ msgstr "ERROR: 无法打开打印文件 %s:%s\n"
-
-#~ msgid "ERROR: Unable to open temporary compressed print file: %s\n"
-#~ msgstr "ERROR: 无法打开临时的压缩打印文件:%s\n"
-
-#~ msgid "ERROR: Unable to open temporary file"
-#~ msgstr "ERROR: 无法打开临时文件"
-
-#~ msgid "ERROR: Unable to print %d text columns!\n"
-#~ msgstr "ERROR: 无法打印 %d 个文本栏!\n"
-
-#~ msgid "ERROR: Unable to print %dx%d text page!\n"
-#~ msgstr "ERROR: 无法打印 %dx%d 页文本页面!\n"
-
-#~ msgid "ERROR: Unable to read print data"
-#~ msgstr "ERROR: 无法读取打印数据"
-
-#~ msgid "ERROR: Unable to read print data!\n"
-#~ msgstr "ERROR: 无法读取打印数据!\n"
-
-#~ msgid "ERROR: Unable to reserve port"
-#~ msgstr "ERROR: 无法保留端口"
-
-#~ msgid "ERROR: Unable to seek to offset %ld in file - %s\n"
-#~ msgstr "ERROR: 无法搜寻到文件中的偏移 %ld - %s\n"
-
-#~ msgid "ERROR: Unable to seek to offset %lld in file - %s\n"
-#~ msgstr "ERROR: 无法搜寻到文件中的偏移 %lld - %s\n"
-
-#~ msgid "ERROR: Unable to send LPD command"
-#~ msgstr "ERROR: 无法发送 LPD 命令"
-
-#~ msgid "ERROR: Unable to send PAP tickle request"
-#~ msgstr "ERROR: 无法发送 PAP 反馈请求"
-
-#~ msgid "ERROR: Unable to send initial PAP send data request"
-#~ msgstr "ERROR: 无法发送初始 PAP 发送数据请求"
-
-#~ msgid "ERROR: Unable to send print data (%d)\n"
-#~ msgstr "ERROR: 无法发送打印数据 (%d)\n"
-
-#~ msgid "ERROR: Unable to send print data!\n"
-#~ msgstr "ERROR: 无法发送打印数据!\n"
-
-#~ msgid "ERROR: Unable to send print file to printer"
-#~ msgstr "ERROR: 无法将打印文件发送到打印机"
-
-#~ msgid "ERROR: Unable to send trailing nul to printer"
-#~ msgstr "ERROR: 无法将尾空发送到打印机"
-
-#~ msgid "ERROR: Unable to wait for pictwpstops: %s\n"
-#~ msgstr "ERROR: 无法等待 pictwpstops:%s\n"
-
-#~ msgid "ERROR: Unable to write %d bytes to \"%s\": %s\n"
-#~ msgstr "ERROR: 无法将 %d 字节写入“%s”:%s\n"
-
-#~ msgid "ERROR: Unable to write %d bytes to printer!\n"
-#~ msgstr "ERROR: 无法将 %d 字节写入打印机!\n"
-
-#~ msgid "ERROR: Unable to write control file"
-#~ msgstr "ERROR: 无法写入控制文件"
-
-#~ msgid "ERROR: Unable to write print data"
-#~ msgstr "ERROR: 无法写入打印数据"
-
-#~ msgid "ERROR: Unable to write print data: %s\n"
-#~ msgstr "ERROR: 无法写入打印数据:%s\n"
-
-#~ msgid "ERROR: Unable to write raster data to driver!\n"
-#~ msgstr "ERROR: 无法将光栅数据写入驱动程序!\n"
-
-#~ msgid "ERROR: Unable to write to temporary file"
-#~ msgstr "ERROR: 无法写入到临时文件"
-
-#~ msgid "ERROR: Unable to write uncompressed document data: %s\n"
-#~ msgstr "ERROR: 无法写入未压缩的文稿数据:%s\n"
-
-#~ msgid "ERROR: Unexpected text on line %d of %s!\n"
-#~ msgstr "ERROR: %2$s 的第 %1$d 行有意外的文本!\n"
-
-#~ msgid "ERROR: Unknown encryption option value \"%s\"!\n"
-#~ msgstr "ERROR: 未知的加密选项值“%s”!\n"
-
-#~ msgid "ERROR: Unknown file order \"%s\"\n"
-#~ msgstr "ERROR: 未知的文件顺序“%s”\n"
-
-#~ msgid "ERROR: Unknown format character \"%c\"\n"
-#~ msgstr "ERROR: 未知的格式字符“%c”\n"
-
-#~ msgid "ERROR: Unknown message catalog format for \"%s\"!\n"
-#~ msgstr "ERROR: “%s”的信息目录格式未知!\n"
-
-#~ msgid "ERROR: Unknown option \"%s\" with value \"%s\"!\n"
-#~ msgstr "ERROR: 未知选项“%s”,其值为“%s”!\n"
-
-#~ msgid "ERROR: Unknown print mode \"%s\"\n"
-#~ msgstr "ERROR: 未知打印模式“%s”\n"
-
-#~ msgid "ERROR: Unknown version option value \"%s\"!\n"
-#~ msgstr "ERROR: 未知的版本选项值“%s”!\n"
-
-#~ msgid "ERROR: Unsupported brightness value %s, using brightness=100!\n"
-#~ msgstr "ERROR: 不被支持的亮度值 %s,使用 brightness=100!\n"
-
-#~ msgid "ERROR: Unsupported gamma value %s, using gamma=1000!\n"
-#~ msgstr "ERROR: 不被支持的灰度系数值 %s,使用 gamma=1000!\n"
-
-#~ msgid "ERROR: Unsupported number-up value %d, using number-up=1!\n"
-#~ msgstr "ERROR: 不被支持的 number-up 值 %d,使用 number-up=1!\n"
-
-#~ msgid ""
-#~ "ERROR: Unsupported number-up-layout value %s, using number-up-"
-#~ "layout=lrtb!\n"
-#~ msgstr ""
-#~ "ERROR: 不被支持的 number-up-layout 值 %s,使用 number-up-layout=lrtb!\n"
-
-#~ msgid "ERROR: Unsupported page-border value %s, using page-border=none!\n"
-#~ msgstr "ERROR: 不被支持的 page-border 值 %s,使用 page-border=none!\n"
-
-#~ msgid "ERROR: doc_printf overflow (%d bytes) detected, aborting!\n"
-#~ msgstr "ERROR: 检测到 doc_printf 溢出(%d 字节),正在中止!\n"
-
-#~ msgid "ERROR: pdftops filter crashed on signal %d!\n"
-#~ msgstr "ERROR: pdftops 滤镜在信号 %d 处崩溃!\n"
-
-#~ msgid "ERROR: pdftops filter exited with status %d!\n"
-#~ msgstr "ERROR: pdftops 滤镜退出,状态为 %d!\n"
-
-#~ msgid "ERROR: pictwpstops exited on signal %d!\n"
-#~ msgstr "ERROR: pictwpstops 因信号 %d 退出!\n"
-
-#~ msgid "ERROR: pictwpstops exited with status %d!\n"
-#~ msgstr "ERROR: pictwpstops 因状态 %d 退出!\n"
-
-#~ msgid ""
-#~ "ERROR: recoverable: Unable to connect to printer; will retry in 30 "
-#~ "seconds...\n"
-#~ msgstr "ERROR: 可恢复:无法连接到打印机;将在 30 秒钟后重试…\n"
-
-#~ msgid "ERROR: select() failed"
-#~ msgstr "ERROR: select() 失败"
-
-#~ msgid "ERROR: unable to stat print file"
-#~ msgstr "ERROR: 无法获得打印文件的状态"
-
-#~ msgid "Empty PPD file!"
-#~ msgstr "空 PPD 文件!"
-
-#~ msgid "Error: need hostname after '-h' option!\n"
-#~ msgstr "ERROR: &apos;-h&apos; 选项后需要主机名称!\n"
-
-#~ msgid "FAIL\n"
-#~ msgstr "失败\n"
-
-#~ msgid ""
-#~ "File device URIs have been disabled! To enable, see the FileDevice "
-#~ "directive in \"%s/cupsd.conf\"."
-#~ msgstr ""
-#~ "文件设备 URI 已被停用!要启用,请参阅“%s/cupsd.conf”中的 FileDevice 指令。"
-
-#~ msgid "Fuser temperature high!"
-#~ msgstr "加热鼓温度过高!"
-
-#~ msgid "Fuser temperature low!"
-#~ msgstr "加热鼓温度过低!"
-
-#~ msgid "German FanFold"
-#~ msgstr "德国 FanFold"
-
-#~ msgid "German FanFold Legal"
-#~ msgstr "德国 FanFold 法定用纸"
-
-#~ msgid "Got a printer-uri attribute but no job-id!"
-#~ msgstr "获得 printer-uri 属性而不是 job-id!"
-
-#~ msgid "INFO: AppleTalk disabled in System Preferences\n"
-#~ msgstr "INFO: AppleTalk 已在“系统偏好设置”中停用\n"
-
-#~ msgid "INFO: AppleTalk disabled in System Preferences.\n"
-#~ msgstr "INFO: AppleTalk 已在“系统偏好设置”中停用。\n"
-
-#~ msgid "INFO: Canceling print job...\n"
-#~ msgstr "INFO: 正在取消打印作业…\n"
-
-#~ msgid "INFO: Connected to printer...\n"
-#~ msgstr "INFO: 已连接到打印机…\n"
-
-#~ msgid "INFO: Connecting to printer...\n"
-#~ msgstr "INFO: 正在连接到打印机…\n"
-
-#~ msgid "INFO: Control file sent successfully\n"
-#~ msgstr "INFO: 控制文件已成功发送\n"
-
-#~ msgid "INFO: Data file sent successfully\n"
-#~ msgstr "INFO: 数据文件已成功发送\n"
-
-#~ msgid "INFO: Formatting page %d...\n"
-#~ msgstr "INFO: 正在格式化页面 %d…\n"
-
-#~ msgid "INFO: Loading image file...\n"
-#~ msgstr "INFO: 正在载入图像文件…\n"
-
-#~ msgid "INFO: Looking for printer...\n"
-#~ msgstr "INFO: 正在查找打印机…\n"
-
-#~ msgid "INFO: Opening connection\n"
-#~ msgstr "INFO: 正在打开连接\n"
-
-#~ msgid "INFO: Print file sent, waiting for printer to finish...\n"
-#~ msgstr "INFO: 打印文件已发送,正在等侍打印机结束打印…\n"
-
-#~ msgid "INFO: Printer busy; will retry in 10 seconds...\n"
-#~ msgstr "INFO: 打印机正忙;将在 10 秒钟后重试…\n"
-
-#~ msgid "INFO: Printer busy; will retry in 30 seconds...\n"
-#~ msgstr "INFO: 打印机正忙;将在 30 秒钟后重试…\n"
-
-#~ msgid "INFO: Printer busy; will retry in 5 seconds...\n"
-#~ msgstr "INFO: 打印机正忙;将在 5 秒钟后重试…\n"
-
-#~ msgid "INFO: Printer does not support IPP/%d.%d, trying IPP/1.0...\n"
-#~ msgstr "INFO: 打印机不支持 IPP/%d.%d,正在尝试 IPP/1.0…\n"
-
-#~ msgid "INFO: Printer is busy; will retry in 5 seconds...\n"
-#~ msgstr "INFO: 打印机正忙;将在 5 秒钟后重试…\n"
-
-#~ msgid "INFO: Printer is currently off-line.\n"
-#~ msgstr "INFO: 打印机当前已脱机。\n"
-
-#~ msgid "INFO: Printer is currently offline.\n"
-#~ msgstr "INFO: 打印机当前已脱机。\n"
-
-#~ msgid "INFO: Printer is now online.\n"
-#~ msgstr "INFO: 打印机现在联机。\n"
-
-#~ msgid "INFO: Printer is offline.\n"
-#~ msgstr "INFO: 打印机已脱机。\n"
-
-#~ msgid "INFO: Printer not connected; will retry in 30 seconds...\n"
-#~ msgstr "INFO: 打印机未连接;将在 30 秒钟后重试…\n"
-
-#~ msgid "INFO: Printing page %d, %d%% complete...\n"
-#~ msgstr "INFO: 正在打印第 %d 页,已完成 %d%%…\n"
-
-#~ msgid "INFO: Printing page %d...\n"
-#~ msgstr "INFO: 正在打印第 %d 页…\n"
-
-#~ msgid "INFO: Ready to print.\n"
-#~ msgstr "INFO: 准备打印。\n"
-
-#~ msgid "INFO: Sending control file (%lu bytes)\n"
-#~ msgstr "INFO: 正在发送控制文件(%lu 字节)\n"
-
-#~ msgid "INFO: Sending control file (%u bytes)\n"
-#~ msgstr "INFO: 正在发送控制文件(%u 字节)\n"
-
-#~ msgid "INFO: Sending data\n"
-#~ msgstr "INFO: 正在发送数据\n"
-
-#~ msgid "INFO: Sending data file (%ld bytes)\n"
-#~ msgstr "INFO: 正在发送数据文件(%ld 字节)\n"
-
-#~ msgid "INFO: Sending data file (%lld bytes)\n"
-#~ msgstr "INFO: 正在发送数据文件(%lld 字节)\n"
-
-#~ msgid "INFO: Sending print data...\n"
-#~ msgstr "INFO: 正在发送打印数据…\n"
-
-#~ msgid "INFO: Sent print file, %ld bytes...\n"
-#~ msgstr "INFO: 已发送打印文件,%ld 字节…\n"
-
-#~ msgid "INFO: Sent print file, %lld bytes...\n"
-#~ msgstr "INFO: 已发送打印文件,%lld 字节…\n"
-
-#~ msgid "INFO: Spooling LPR job, %.0f%% complete...\n"
-#~ msgstr "INFO: 正在缓冲 LPR 作业,已完成 %.0f%%…\n"
-
-#~ msgid ""
-#~ "INFO: Unable to contact printer, queuing on next printer in class...\n"
-#~ msgstr "INFO: 无法联系打印机,正在排队等待类中的下一个打印机…\n"
-
-#~ msgid "INFO: Using default AppleTalk zone \"%s\"\n"
-#~ msgstr "INFO: 正在使用默认的 AppleTalk 区域“%s”\n"
-
-#~ msgid "INFO: Waiting for job to complete...\n"
-#~ msgstr "INFO: 正在等待作业完成…\n"
-
-#~ msgid "INFO: Waiting for printer to become available...\n"
-#~ msgstr "INFO: 正在等待打印机可用…\n"
-
-#~ msgid "ISO B0"
-#~ msgstr "ISO B0"
-
-#~ msgid "ISO B1"
-#~ msgstr "ISO B1"
-
-#~ msgid "ISO B10"
-#~ msgstr "ISO B10"
-
-#~ msgid "ISO B2"
-#~ msgstr "ISO B2"
-
-#~ msgid "ISO B3"
-#~ msgstr "ISO B3"
-
-#~ msgid "ISO B4"
-#~ msgstr "ISO B4"
-
-#~ msgid "ISO B4 Envelope"
-#~ msgstr "ISO B4 信封"
-
-#~ msgid "ISO B5"
-#~ msgstr "ISO B5"
-
-#~ msgid "ISO B5 (Oversize)"
-#~ msgstr "ISO B5(大号)"
-
-#~ msgid "ISO B5 Envelope"
-#~ msgstr "ISO B5 信封"
-
-#~ msgid "ISO B6"
-#~ msgstr "ISO B6"
-
-#~ msgid "ISO B6 Envelope"
-#~ msgstr "ISO B6 信封"
-
-#~ msgid "ISO B7"
-#~ msgstr "ISO B7"
-
-#~ msgid "ISO B8"
-#~ msgstr "ISO B8"
-
-#~ msgid "ISO B9"
-#~ msgstr "ISO B9"
-
-#~ msgid "Ink/toner almost empty."
-#~ msgstr "墨水/碳粉差不多快要空了。"
-
-#~ msgid "Ink/toner empty!"
-#~ msgstr "墨水/碳粉已空!"
-
-#~ msgid "Ink/toner waste bin almost full."
-#~ msgstr "墨水/碳粉废物箱差不多快要满了。"
-
-#~ msgid "Ink/toner waste bin full!"
-#~ msgstr "墨水/碳粉废物箱已满!"
-
-#~ msgid "Interlock open."
-#~ msgstr "互锁打开。"
-
-#~ msgid "Invite Envelope"
-#~ msgstr "邀请信封"
-
-#~ msgid "Italian Envelope"
-#~ msgstr "意大利信封"
-
-#~ msgid "Job #%d cannot be restarted - no files!"
-#~ msgstr "作业 #%d 不能重新开始 - 无文件!"
-
-#~ msgid "Job #%d does not exist!"
-#~ msgstr "作业 #%d 不存在!"
-
-#~ msgid "Job #%d is finished and cannot be altered!"
-#~ msgstr "作业 #%d 已结束,不能更改!"
-
-#~ msgid "Job #%d is not complete!"
-#~ msgstr "作业 #%d 没有完成!"
-
-#~ msgid "Job #%d is not held for authentication!"
-#~ msgstr "作业 #%d 没有等待进行签定!"
-
-#~ msgid "Job #%d is not held!"
-#~ msgstr "作业 #%d 没有等待!"
-
-#~ msgid "Job #%s does not exist!"
-#~ msgstr "作业 #%s 不存在!"
-
-#~ msgid "Job %d not found!"
-#~ msgstr "作业 %d 找不到!"
-
-#~ msgid "Job subscriptions cannot be renewed!"
-#~ msgstr "作业订阅不能续订!"
-
-#~ msgid "Kaku2 Envelope"
-#~ msgstr "Kaku2 信封"
-
-#~ msgid "Kaku3 Envelope"
-#~ msgstr "Kaku3 信封"
-
-#~ msgid "Language \"%s\" not supported!"
-#~ msgstr "语言“%s”不被支持!"
-
-#~ msgid "Media jam!"
-#~ msgstr "卡纸!"
-
-#~ msgid "Media tray almost empty."
-#~ msgstr "介质盒差不多快要空了。"
-
-#~ msgid "Media tray empty!"
-#~ msgstr "介质盒已空!"
-
-#~ msgid "Media tray missing!"
-#~ msgstr "缺少介质盒!"
-
-#~ msgid "Media tray needs to be filled."
-#~ msgstr "介质盒需要装纸。"
-
-#~ msgid "Missing document-number attribute!"
-#~ msgstr "缺少 document-number 属性!"
-
-#~ msgid "Missing double quote on line %d!"
-#~ msgstr "行 %d 缺少双引号!"
-
-#~ msgid "Missing form variable!"
-#~ msgstr "缺少形式变量!"
-
-#~ msgid "Missing notify-subscription-ids attribute!"
-#~ msgstr "缺少 notify-subscription-ids 属性!"
-
-#~ msgid "Missing requesting-user-name attribute!"
-#~ msgstr "缺少 requesting-user-name 属性!"
-
-#~ msgid "Missing required attributes!"
-#~ msgstr "缺少要求的属性!"
-
-#~ msgid "Missing value on line %d!"
-#~ msgstr "行 %d 缺少值!"
-
-#~ msgid ""
-#~ "Model:  name = %s\n"
-#~ "        natural_language = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ msgstr ""
-#~ "型号:name = %s\n"
-#~ "        natural_language = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-
-#~ msgid "Monarch"
-#~ msgstr "皇家用纸"
-
-#~ msgid "Monarch Envelope"
-#~ msgstr "皇家信封"
-
-#~ msgid "NOTICE: Print file accepted - job ID %d.\n"
-#~ msgstr "NOTICE: 打印文件已接受 - 作业 ID %d。\n"
-
-#~ msgid "NOTICE: Print file accepted - job ID unknown.\n"
-#~ msgstr "NOTICE: 打印文件已接受 - 作业 ID 未知。\n"
-
-#~ msgid "No PPD name!"
-#~ msgstr "无 PPD 名称!"
-
-#~ msgid "No Windows printer drivers are installed!"
-#~ msgstr "未安装 Windows 打印机驱动程序!"
-
-#~ msgid "No active jobs on %s!"
-#~ msgstr "%s 上没有活跃的作业!"
-
-#~ msgid "No attributes in request!"
-#~ msgstr "请求中没有属性!"
-
-#~ msgid "No authentication information provided!"
-#~ msgstr "未提供鉴定信息!"
-
-#~ msgid "No default printer"
-#~ msgstr "无默认打印机"
-
-#~ msgid "No file!?!"
-#~ msgstr "无文件!?!"
-
-#~ msgid "No modification time!"
-#~ msgstr "无修改时间!"
-
-#~ msgid "No printer name!"
-#~ msgstr "无打印机名称!"
-
-#~ msgid "No printer-uri found for class!"
-#~ msgstr "找不到类的 printer-uri!"
-
-#~ msgid "No printer-uri found!"
-#~ msgstr "找不到 printer-uri!"
-
-#~ msgid "No printer-uri in request!"
-#~ msgstr "请求中没有 printer-uri!"
-
-#~ msgid "No subscription attributes in request!"
-#~ msgstr "请求中没有订阅属性!"
-
-#~ msgid "OPC almost at end-of-life."
-#~ msgstr "OPC 的使用寿命差不多快要到了。"
-
-#~ msgid "OPC at end-of-life!"
-#~ msgstr "OPC 的使用寿命已到!"
-
-#~ msgid "Out of toner!"
-#~ msgstr "碳粉不足!"
-
-#~ msgid "Output bin almost full."
-#~ msgstr "出纸箱差不多快要满了。"
-
-#~ msgid "Output bin full!"
-#~ msgstr "出纸箱已满!"
-
-#~ msgid "Output for printer %s is sent to %s\n"
-#~ msgstr "打印机 %s 的输出已发送到 %s\n"
-
-#~ msgid "Output for printer %s is sent to remote printer %s on %s\n"
-#~ msgstr "打印机 %s 的输出已发送到远程打印机 %s(在 %s 上)\n"
-
-#~ msgid "Output for printer %s/%s is sent to %s\n"
-#~ msgstr "打印机 %s 的输出已发送到 %s/%s\n"
-
-#~ msgid "Output for printer %s/%s is sent to remote printer %s on %s\n"
-#~ msgstr "打印机 %s/%s 的输出已发送到远程打印机 %s(在 %s 上)\n"
-
-#~ msgid "Output tray missing!"
-#~ msgstr "缺少输出盒!"
-
-#~ msgid "PASS\n"
-#~ msgstr "通过\n"
-
-#~ msgid "PRC1 Envelope"
-#~ msgstr "PRC1 信封"
-
-#~ msgid "PRC10 Envelope"
-#~ msgstr "PRC10 信封"
-
-#~ msgid "PRC2 Envelope"
-#~ msgstr "PRC2 信封"
-
-#~ msgid "PRC3 Envelope"
-#~ msgstr "PRC3 信封"
-
-#~ msgid "PRC32K (Oversize)"
-#~ msgstr "PRC32K(大号)"
-
-#~ msgid "PRC4 Envelope"
-#~ msgstr "PRC4 信封"
-
-#~ msgid "PRC5 Envelope"
-#~ msgstr "PRC5 信封"
-
-#~ msgid "PRC6 Envelope"
-#~ msgstr "PRC6 信封"
-
-#~ msgid "PRC7 Envelope"
-#~ msgstr "PRC7 信封"
-
-#~ msgid "PRC8 Envelope"
-#~ msgstr "PRC8 信封"
-
-#~ msgid "PRC9 Envelope"
-#~ msgstr "PRC9 信封"
-
-#~ msgid "Personal Envelope"
-#~ msgstr "个人信封"
-
-#~ msgid "Printer offline."
-#~ msgstr "打印机已脱机。"
-
-#~ msgid "Rank    Owner   Job     File(s)                         Total Size\n"
-#~ msgstr "顺序    所有者   作业     文件                         总大小\n"
-
-#~ msgid ""
-#~ "Rank   Owner      Pri  Job        Files                       Total Size\n"
-#~ msgstr ""
-#~ "顺序   所有者      优先级  作业        文件                       总大小\n"
-
-#~ msgid "Running command: %s %s -N -A %s -c '%s'\n"
-#~ msgstr "运行命令:%s %s -N -A %s -c &apos;%s&apos;\n"
-
-#~ msgid "SCSI Printer"
-#~ msgstr "SCSI 打印机"
-
-#~ msgid "Tabloid (Oversize)"
-#~ msgstr "小报用纸(大号)"
-
-#~ msgid "The notify-user-data value is too large (%d > 63 octets)!"
-#~ msgstr "notify-user-data 值太大(%d &gt; 63 个八位字节)!"
-
-#~ msgid "The printer or class is not shared!"
-#~ msgstr "打印机或类没有共享!"
-
-#~ msgid "The printer or class was not found."
-#~ msgstr "打印机或类找不到。"
-
-#~ msgid "The printer-uri attribute is required!"
-#~ msgstr "需要 printer-uri 属性。"
-
-#~ msgid "Toner low."
-#~ msgstr "碳粉不足。"
-
-#~ msgid "Too many job-sheets values (%d > 2)!"
-#~ msgstr "太多 job-sheets 值 (%d > 2)!"
-
-#~ msgid "Too many printer-state-reasons values (%d > %d)!"
-#~ msgstr "太多 printer-state-reasons 值 (%d > %d)!"
-
-#~ msgid "US Executive"
-#~ msgstr "美国行政用纸"
-
-#~ msgid "US Fanfold"
-#~ msgstr "美国 Fanfold"
-
-#~ msgid "US Legal (Oversize)"
-#~ msgstr "美国法定用纸(大号)"
-
-#~ msgid "US Letter (Oversize)"
-#~ msgstr "美国信纸(大号)"
-
-#~ msgid "US Letter (Small)"
-#~ msgstr "美国信纸(小号)"
-
-#~ msgid "Unable to add job for destination \"%s\"!"
-#~ msgstr "无法为目的位置“%s”添加作业!"
-
-#~ msgid "Unable to allocate memory for file types!"
-#~ msgstr "无法为文件类型分配内存!"
-
-#~ msgid "Unable to copy 64-bit CUPS printer driver files (%d)!"
-#~ msgstr "无法拷贝 64 位 CUPS 打印机驱动程序文件 (%d)!"
-
-#~ msgid "Unable to copy 64-bit Windows printer driver files (%d)!"
-#~ msgstr "无法拷贝 64 位 Windows 打印机驱动程序文件 (%d)!"
-
-#~ msgid "Unable to copy CUPS printer driver files (%d)!"
-#~ msgstr "无法拷贝 CUPS 打印机驱动程序文件 (%d)!"
-
-#~ msgid "Unable to copy PPD file - %s!"
-#~ msgstr "无法拷贝 PPD 文件 - %s!"
-
-#~ msgid "Unable to copy PPD file!"
-#~ msgstr "无法拷贝 PPD 文件!"
-
-#~ msgid "Unable to copy Windows 2000 printer driver files (%d)!"
-#~ msgstr "无法拷贝 Windows 2000 打印机驱动程序文件 (%d)!"
-
-#~ msgid "Unable to copy Windows 9x printer driver files (%d)!"
-#~ msgstr "无法拷贝 Windows 9x 打印机驱动程序文件 (%d)!"
-
-#~ msgid "Unable to copy interface script - %s!"
-#~ msgstr "无法拷贝接口脚本 - %s!"
-
-#~ msgid "Unable to create printer-uri!"
-#~ msgstr "无法创建 printer-uri!"
-
-#~ msgid "Unable to edit cupsd.conf files larger than 1MB!"
-#~ msgstr "无法编辑大于 1MB 的 cupsd.conf 文件!"
-
-#~ msgid "Unable to find destination for job!"
-#~ msgstr "找不到作业的目的位置!"
-
-#~ msgid "Unable to find printer!\n"
-#~ msgstr "找不到打印机\n"
-
-#~ msgid "Unable to install Windows 2000 printer driver files (%d)!"
-#~ msgstr "无法安装 Windows 2000 打印机驱动程序文件 (%d)!"
-
-#~ msgid "Unable to install Windows 9x printer driver files (%d)!"
-#~ msgstr "无法安装 Windows 9x 打印机驱动程序文件 (%d)!"
-
-#~ msgid "Unable to open document %d in job %d!"
-#~ msgstr "无法打开文稿 %d(在作业 %d 中)!"
-
-#~ msgid "Unable to run \"%s\": %s\n"
-#~ msgstr "无法运行“%s”:%s\n"
-
-#~ msgid "Unable to send command to printer driver!"
-#~ msgstr "无法将命令发送到打印机驱动程序!"
-
-#~ msgid "Unable to set Windows printer driver (%d)!"
-#~ msgstr "无法获得 Windows 打印机驱动程序 (%d)!"
-
-#~ msgid "Unable to use legacy USB class driver!\n"
-#~ msgstr "无法使用传统 USB 类驱动程序!\n"
-
-#~ msgid "Unknown printer error (%s)!"
-#~ msgstr "未知打印机错误 (%s)!"
-
-#~ msgid "Unsupported character set \"%s\"!"
-#~ msgstr "不支持的字符集“%s”!"
-
-#~ msgid "Unsupported compression \"%s\"!"
-#~ msgstr "不被支持的压缩“%s”!"
-
-#~ msgid "Unsupported compression attribute %s!"
-#~ msgstr "不被支持的压缩属性 %s!"
-
-#~ msgid "Unsupported format \"%s\"!"
-#~ msgstr "不被支持的格式“%s”!"
-
-#~ msgid "Unsupported format '%s'!"
-#~ msgstr "不被支持的格式 &apos;%s&apos;!"
-
-#~ msgid "Unsupported format '%s/%s'!"
-#~ msgstr "不被支持的格式 &apos;%s/%s&apos;!"
-
-#~ msgid ""
-#~ "Usage:\n"
-#~ "\n"
-#~ "    lpadmin [-h server] -d destination\n"
-#~ "    lpadmin [-h server] -x destination\n"
-#~ "    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m "
-#~ "model]\n"
-#~ "                       [-r remove-class] [-v device] [-D description]\n"
-#~ "                       [-P ppd-file] [-o name=value]\n"
-#~ "                       [-u allow:user,user] [-u deny:user,user]\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Usage:\n"
-#~ "\n"
-#~ "    lpadmin [-h server] -d destination\n"
-#~ "    lpadmin [-h server] -x destination\n"
-#~ "    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m "
-#~ "model]\n"
-#~ "                       [-r remove-class] [-v device] [-D description]\n"
-#~ "                       [-P ppd-file] [-o name=value]\n"
-#~ "                       [-u allow:user,user] [-u deny:user,user]\n"
-#~ "\n"
-
-#~ msgid "Usage: %s job user title copies options [filename]\n"
-#~ msgstr "Usage: %s job user title copies options [filename]\n"
-
-#~ msgid "Usage: %s job-id user title copies options [file]\n"
-#~ msgstr "Usage: %s job-id user title copies options [file]\n"
-
-#~ msgid "Usage: %s job-id user title copies options file\n"
-#~ msgstr "Usage: %s job-id user title copies options file\n"
-
-#~ msgid ""
-#~ "Usage: convert [ options ]\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "  -f filename          Set file to be converted (otherwise stdin)\n"
-#~ "  -o filename          Set file to be generated (otherwise stdout)\n"
-#~ "  -i mime/type         Set input MIME type (otherwise auto-typed)\n"
-#~ "  -j mime/type         Set output MIME type (otherwise application/pdf)\n"
-#~ "  -P filename.ppd      Set PPD file\n"
-#~ "  -a 'name=value ...'  Set option(s)\n"
-#~ "  -U username          Set username for job\n"
-#~ "  -J title             Set title\n"
-#~ "  -c copies            Set number of copies\n"
-#~ "  -u                   Remove the PPD file when finished\n"
-#~ "  -D                   Remove the input file when finished\n"
-#~ msgstr ""
-#~ "Usage: convert [ options ]\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "  -f filename          Set file to be converted (otherwise stdin)\n"
-#~ "  -o filename          Set file to be generated (otherwise stdout)\n"
-#~ "  -i mime/type         Set input MIME type (otherwise auto-typed)\n"
-#~ "  -j mime/type         Set output MIME type (otherwise application/pdf)\n"
-#~ "  -P filename.ppd      Set PPD file\n"
-#~ "  -a 'name=value ...'  Set option(s)\n"
-#~ "  -U username          Set username for job\n"
-#~ "  -J title             Set title\n"
-#~ "  -c copies            Set number of copies\n"
-#~ "  -u                   Remove the PPD file when finished\n"
-#~ "  -D                   Remove the input file when finished\n"
-
-#~ msgid ""
-#~ "Usage: cupsaddsmb [options] printer1 ... printerN\n"
-#~ "       cupsaddsmb [options] -a\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "  -E               Encrypt the connection to the server\n"
-#~ "  -H samba-server  Use the named SAMBA server\n"
-#~ "  -U samba-user    Authenticate using the named SAMBA user\n"
-#~ "  -a               Export all printers\n"
-#~ "  -h cups-server   Use the named CUPS server\n"
-#~ "  -v               Be verbose (show commands)\n"
-#~ msgstr ""
-#~ "Usage: cupsaddsmb [options] printer1 ... printerN\n"
-#~ "       cupsaddsmb [options] -a\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "  -E               Encrypt the connection to the server\n"
-#~ "  -H samba-server  Use the named SAMBA server\n"
-#~ "  -U samba-user    Authenticate using the named SAMBA user\n"
-#~ "  -a               Export all printers\n"
-#~ "  -h cups-server   Use the named CUPS server\n"
-#~ "  -v               Be verbose (show commands)\n"
-
-#~ msgid ""
-#~ "Usage: cupsctl [options] [param=value ... paramN=valueN]\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -E                      Enable encryption\n"
-#~ "    -U username             Specify username\n"
-#~ "    -h server[:port]        Specify server address\n"
-#~ "\n"
-#~ "    --[no-]debug-logging    Turn debug logging on/off\n"
-#~ "    --[no-]remote-admin     Turn remote administration on/off\n"
-#~ "    --[no-]remote-any       Allow/prevent access from the Internet\n"
-#~ "    --[no-]remote-printers  Show/hide remote printers\n"
-#~ "    --[no-]share-printers   Turn printer sharing on/off\n"
-#~ "    --[no-]user-cancel-any  Allow/prevent users to cancel any job\n"
-#~ msgstr ""
-#~ "Usage: cupsctl [options] [param=value ... paramN=valueN]\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -E                      Enable encryption\n"
-#~ "    -U username             Specify username\n"
-#~ "    -h server[:port]        Specify server address\n"
-#~ "\n"
-#~ "    --[no-]debug-logging    Turn debug logging on/off\n"
-#~ "    --[no-]remote-admin     Turn remote administration on/off\n"
-#~ "    --[no-]remote-any       Allow/prevent access from the Internet\n"
-#~ "    --[no-]remote-printers  Show/hide remote printers\n"
-#~ "    --[no-]share-printers   Turn printer sharing on/off\n"
-#~ "    --[no-]user-cancel-any  Allow/prevent users to cancel any job\n"
-
-#~ msgid ""
-#~ "Usage: cupsd [-c config-file] [-f] [-F] [-h] [-l]\n"
-#~ "\n"
-#~ "-c config-file      Load alternate configuration file\n"
-#~ "-f                  Run in the foreground\n"
-#~ "-F                  Run in the foreground but detach\n"
-#~ "-h                  Show this usage message\n"
-#~ "-l                  Run cupsd from launchd(8)\n"
-#~ msgstr ""
-#~ "Usage: cupsd [-c config-file] [-f] [-F] [-h] [-l]\n"
-#~ "\n"
-#~ "-c config-file      Load alternate configuration file\n"
-#~ "-f                  Run in the foreground\n"
-#~ "-F                  Run in the foreground but detach\n"
-#~ "-h                  Show this usage message\n"
-#~ "-l                  Run cupsd from launchd(8)\n"
-
-#~ msgid ""
-#~ "Usage: cupsfilter -m mime/type [ options ] filename\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "  -c cupsd.conf    Set cupsd.conf file to use\n"
-#~ "  -j job-id[,N]    Filter file N from the specified job (default is file "
-#~ "1)\n"
-#~ "  -n copies        Set number of copies\n"
-#~ "  -o name=value    Set option(s)\n"
-#~ "  -p filename.ppd  Set PPD file\n"
-#~ "  -t title         Set title\n"
-#~ msgstr ""
-#~ "Usage: cupsfilter -m mime/type [ options ] filename\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "  -c cupsd.conf    Set cupsd.conf file to use\n"
-#~ "  -j job-id[,N]    Filter file N from the specified job (default is file "
-#~ "1)\n"
-#~ "  -n copies        Set number of copies\n"
-#~ "  -o name=value    Set option(s)\n"
-#~ "  -p filename.ppd  Set PPD file\n"
-#~ "  -t title         Set title\n"
-
-#~ msgid ""
-#~ "Usage: cupstestdsc [options] filename.ps [... filename.ps]\n"
-#~ "       cupstestdsc [options] -\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -h       Show program usage\n"
-#~ "\n"
-#~ "    Note: this program only validates the DSC comments, not the "
-#~ "PostScript itself.\n"
-#~ msgstr ""
-#~ "Usage: cupstestdsc [options] filename.ps [... filename.ps]\n"
-#~ "       cupstestdsc [options] -\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -h       Show program usage\n"
-#~ "\n"
-#~ "    Note: this program only validates the DSC comments, not the "
-#~ "PostScript itself.\n"
-
-#~ msgid ""
-#~ "Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]\n"
-#~ "       program | cupstestppd [options] -\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -R root-directory    Set alternate root\n"
-#~ "    -W {all,none,constraints,defaults,duplex,filters,translations}\n"
-#~ "                         Issue warnings instead of errors\n"
-#~ "    -q                   Run silently\n"
-#~ "    -r                   Use 'relaxed' open mode\n"
-#~ "    -v                   Be slightly verbose\n"
-#~ "    -vv                  Be very verbose\n"
-#~ msgstr ""
-#~ "Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]\n"
-#~ "       program | cupstestppd [options] -\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -R root-directory    Set alternate root\n"
-#~ "    -W {all,none,constraints,defaults,duplex,filters,translations}\n"
-#~ "                         Issue warnings instead of errors\n"
-#~ "    -q                   Run silently\n"
-#~ "    -r                   Use 'relaxed' open mode\n"
-#~ "    -v                   Be slightly verbose\n"
-#~ "    -vv                  Be very verbose\n"
-
-#~ msgid "Usage: lpmove job/src dest\n"
-#~ msgstr "Usage: lpmove job/src dest\n"
-
-#~ msgid ""
-#~ "Usage: lpoptions [-h server] [-E] -d printer\n"
-#~ "       lpoptions [-h server] [-E] [-p printer] -l\n"
-#~ "       lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
-#~ "       lpoptions [-h server] [-E] -x printer\n"
-#~ msgstr ""
-#~ "Usage: lpoptions [-h server] [-E] -d printer\n"
-#~ "       lpoptions [-h server] [-E] [-p printer] -l\n"
-#~ "       lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
-#~ "       lpoptions [-h server] [-E] -x printer\n"
-
-#~ msgid "Usage: lppasswd [-g groupname]\n"
-#~ msgstr "Usage: lppasswd [-g groupname]\n"
-
-#~ msgid ""
-#~ "Usage: lppasswd [-g groupname] [username]\n"
-#~ "       lppasswd [-g groupname] -a [username]\n"
-#~ "       lppasswd [-g groupname] -x [username]\n"
-#~ msgstr ""
-#~ "Usage: lppasswd [-g groupname] [username]\n"
-#~ "       lppasswd [-g groupname] -a [username]\n"
-#~ "       lppasswd [-g groupname] -x [username]\n"
-
-#~ msgid ""
-#~ "Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]\n"
-#~ msgstr ""
-#~ "Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]\n"
-
-#~ msgid ""
-#~ "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]\n"
-#~ "Options:\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "  -I include-dir       Add include directory to search path.\n"
-#~ "  -c catalog.po        Load the specified message catalog.\n"
-#~ "  -d output-dir        Specify the output directory.\n"
-#~ "  -l lang[,lang,...]   Specify the output language(s) (locale).\n"
-#~ "  -m                   Use the ModelName value as the filename.\n"
-#~ "  -t                   Test PPDs instead of generating them.\n"
-#~ "  -v                   Be verbose (more v's for more verbosity).\n"
-#~ "  -z                   Compress PPD files using GNU zip.\n"
-#~ "  --cr                 End lines with CR (Mac OS 9).\n"
-#~ "  --crlf               End lines with CR + LF (Windows).\n"
-#~ "  --lf                 End lines with LF (UNIX/Linux/Mac OS X).\n"
-#~ msgstr ""
-#~ "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]\n"
-#~ "Options:\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "  -I include-dir       Add include directory to search path.\n"
-#~ "  -c catalog.po        Load the specified message catalog.\n"
-#~ "  -d output-dir        Specify the output directory.\n"
-#~ "  -l lang[,lang,...]   Specify the output language(s) (locale).\n"
-#~ "  -m                   Use the ModelName value as the filename.\n"
-#~ "  -t                   Test PPDs instead of generating them.\n"
-#~ "  -v                   Be verbose (more v's for more verbosity).\n"
-#~ "  -z                   Compress PPD files using GNU zip.\n"
-#~ "  --cr                 End lines with CR (Mac OS 9).\n"
-#~ "  --crlf               End lines with CR + LF (Windows).\n"
-#~ "  --lf                 End lines with LF (UNIX/Linux/Mac OS X).\n"
-
-#~ msgid ""
-#~ "Usage: ppdhtml [options] filename.drv >filename.html\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "Options:\n"
-#~ "  -I include-dir    Add include directory to search path.\n"
-#~ msgstr ""
-#~ "Usage: ppdhtml [options] filename.drv >filename.html\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "Options:\n"
-#~ "  -I include-dir    Add include directory to search path.\n"
-
-#~ msgid ""
-#~ "Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Options:\n"
-#~ "  -I include-dir\n"
-#~ "  -o filename.drv\n"
-#~ msgstr ""
-#~ "Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Options:\n"
-#~ "  -I include-dir\n"
-#~ "  -o filename.drv\n"
-
-#~ msgid ""
-#~ "Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Options:\n"
-#~ "  -o filename.ppd[.gz]\n"
-#~ msgstr ""
-#~ "Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Options:\n"
-#~ "  -o filename.ppd[.gz]\n"
-
-#~ msgid ""
-#~ "Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]\n"
-#~ "Options:\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "  -I include-dir    Add include directory to search path.\n"
-#~ "  -v                Be verbose (more v's for more verbosity).\n"
-#~ msgstr ""
-#~ "Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]\n"
-#~ "Options:\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "  -I include-dir    Add include directory to search path.\n"
-#~ "  -v                Be verbose (more v's for more verbosity).\n"
-
-#~ msgid "Usage: snmp [host-or-ip-address]\n"
-#~ msgstr "Usage: snmp [host-or-ip-address]\n"
-
-#~ msgid "WARNING: Adding only the first %d printers found"
-#~ msgstr "WARNING: 仅添加找到的前 %d 台打印机"
-
-#~ msgid "WARNING: Boolean expected for waiteof option \"%s\"\n"
-#~ msgstr "WARNING: Boolean 期望 waiteof 选项“%s”\n"
-
-#~ msgid "WARNING: Failed to read side-channel request!\n"
-#~ msgstr "WARNING: 读取面通道请求失败!\n"
-
-#~ msgid "WARNING: Option \"%s\" cannot be included via IncludeFeature!\n"
-#~ msgstr "WARNING: 不能通过 IncludeFeature 包括选项“%s”!\n"
-
-#~ msgid "WARNING: Printer not responding\n"
-#~ msgstr "WARNING: 打印机没有响应\n"
-
-#~ msgid "WARNING: Printer sent unexpected EOF\n"
-#~ msgstr "WARNING: 打印机发送了意外的 EOF\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with command status byte after %d "
-#~ "seconds!\n"
-#~ msgstr "WARNING: %d 秒钟后,远程主机没有响应命令状态字节!\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with control status byte after %d "
-#~ "seconds!\n"
-#~ msgstr "WARNING: %d 秒钟后,远程主机没有响应控制状态字节!\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with data status byte after %d "
-#~ "seconds!\n"
-#~ msgstr "WARNING: %d 秒钟后,远程主机没有响应数据状态字节!\n"
-
-#~ msgid "WARNING: SCSI command timed out (%d); retrying...\n"
-#~ msgstr "WARNING: SCSI 命令超时 (%d);正在重试…\n"
-
-#~ msgid ""
-#~ "WARNING: This document does not conform to the Adobe Document Structuring "
-#~ "Conventions and may not print correctly!\n"
-#~ msgstr ""
-#~ "WARNING: 此文稿不符合 Adobe Document Structuring Conventions 的要求,可能"
-#~ "无法正确打印!\n"
-
-#~ msgid "WARNING: Unable to open \"%s:%s\": %s\n"
-#~ msgstr "WARNING: 无法打开“%s:%s”:%s\n"
-
-#~ msgid "WARNING: Unable to send PAP status request"
-#~ msgstr "WARNING: 无法发送 PAP 状态请求"
-
-#~ msgid "WARNING: Unexpected PAP packet of type %d\n"
-#~ msgstr "WARNING: 意外的 PAP 包(类型 %d)\n"
-
-#~ msgid "WARNING: Unknown PAP packet of type %d\n"
-#~ msgstr "WARNING: 未知的 PAP 包(类型 %d)\n"
-
-#~ msgid "WARNING: Unknown choice \"%s\" for option \"%s\"!\n"
-#~ msgstr "WARNING: 未知选择“%s”(用于选项“%s”)!\n"
-
-#~ msgid "WARNING: Unknown option \"%s\"!\n"
-#~ msgstr "WARNING: 未知选项“%s”!\n"
-
-#~ msgid "WARNING: Unsupported baud rate %s!\n"
-#~ msgstr "WARNING: 不被支持的波特率 %s!\n"
-
-#~ msgid "WARNING: number expected for status option \"%s\"\n"
-#~ msgstr "WARNING: 状态选项“%s”期望数字\n"
-
-#~ msgid ""
-#~ "WARNING: recoverable: Network host '%s' is busy; will retry in %d "
-#~ "seconds...\n"
-#~ msgstr "WARNING: 可恢复:网络主机“%s”正忙;将在 %d 秒钟后重试…\n"
-
-#~ msgid "Warning, no Windows 2000 printer drivers are installed!"
-#~ msgstr "警告,未安装 Windows 2000 打印机驱动程序!"
-
-#~ msgid "You4 Envelope"
-#~ msgstr "You4 信封"
-
-#~ msgid "convert: Use the -f option to specify a file to convert.\n"
-#~ msgstr "转换:使用 -f 选项来指定要转换的文件。\n"
-
-#~ msgid "cupsaddsmb: No PPD file for printer \"%s\" - %s\n"
-#~ msgstr "cupsaddsmb:无 PPD 文件可用于打印机“%s”- %s\n"
-
-#~ msgid "cupsctl: Unable to connect to server: %s\n"
-#~ msgstr "cupsctl:无法连接到服务器:%s\n"
-
-#~ msgid "cupsctl: Unknown option \"%s\"!\n"
-#~ msgstr "cupsctl:未知选项“%s”!\n"
-
-#~ msgid "cupsctl: Unknown option \"-%c\"!\n"
-#~ msgstr "cupsctl:未知选项“-%c”!\n"
-
-#~ msgid "cupsd: Expected config filename after \"-c\" option!\n"
-#~ msgstr "cupsd:“-c”选项后期望配置文件名称!\n"
-
-#~ msgid "cupsd: Unable to get current directory!\n"
-#~ msgstr "cupsd:无法获得当前目录!\n"
-
-#~ msgid "cupsd: Unknown argument \"%s\" - aborting!\n"
-#~ msgstr "cupsd:未知自变量“%s”- 正在中止!\n"
-
-#~ msgid "cupsd: Unknown option \"%c\" - aborting!\n"
-#~ msgstr "cupsd:未知选项“%c”- 正在中止!\n"
-
-#~ msgid "cupsd: launchd(8) support not compiled in, running in normal mode.\n"
-#~ msgstr "cupsd:launchd(8) 支持未编译,正在以正常模式运行。\n"
-
-#~ msgid "cupsfilter: Invalid document number %d!\n"
-#~ msgstr "cupsfilter:无效的文稿编号 %d!\n"
-
-#~ msgid "cupsfilter: Invalid job ID %d!\n"
-#~ msgstr "cupsfilter:无效的作业 ID %d!\n"
-
-#~ msgid "cupsfilter: Only one filename can be specified!\n"
-#~ msgstr "cupsfilter:只能指定一个文件名称!\n"
-
-#~ msgid "cupsfilter: Unable to create temporary file: %s\n"
-#~ msgstr "cupsfilter:无法创建临时文件:%s\n"
-
-#~ msgid "cupsfilter: Unable to get job file - %s\n"
-#~ msgstr "cupsfilter:无法获得作业文件 - %s\n"
-
-#~ msgid "cupstestppd: The -q option is incompatible with the -v option.\n"
-#~ msgstr "cupstestppd:-q 选项与 -v 选项不兼容。\n"
-
-#~ msgid "cupstestppd: The -v option is incompatible with the -q option.\n"
-#~ msgstr "cupstestppd:-v 选项与 -q 选项不兼容。\n"
-
-#~ msgid "device for %s/%s: %s\n"
-#~ msgstr "用于 %s/%s 设备:%s\n"
-
-#~ msgid "device for %s: %s\n"
-#~ msgstr "用于 %s 的设备:%s\n"
-
-#~ msgid "help\t\tget help on commands\n"
-#~ msgstr "帮助\t\t获得命令帮助\n"
-
-#~ msgid "job-printer-uri attribute missing!"
-#~ msgstr "job-printer-uri 属性丢失!"
-
-#~ msgid "lpadmin: Class name can only contain printable characters!\n"
-#~ msgstr "lpadmin: 类名称只能含有可打印字符!\n"
-
-#~ msgid "lpadmin: Expected PPD after '-P' option!\n"
-#~ msgstr "lpadmin: &apos;-P&apos; 选项后期望 PPD!\n"
-
-#~ msgid "lpadmin: Expected allow/deny:userlist after '-u' option!\n"
-#~ msgstr "lpadmin: &apos;-u&apos; 选项后期望 allow/deny:userlist!\n"
-
-#~ msgid "lpadmin: Expected class after '-r' option!\n"
-#~ msgstr "lpadmin: &apos;-r&apos; 选项后期望类。\n"
-
-#~ msgid "lpadmin: Expected class name after '-c' option!\n"
-#~ msgstr "lpadmin: &apos;-c&apos; 选项后期望类名称!\n"
-
-#~ msgid "lpadmin: Expected description after '-D' option!\n"
-#~ msgstr "lpadmin: &apos;-D&apos; 选项后期望描述!\n"
-
-#~ msgid "lpadmin: Expected device URI after '-v' option!\n"
-#~ msgstr "lpadmin: &apos;-v&apos; 选项后期望设备 URI!\n"
-
-#~ msgid "lpadmin: Expected file type(s) after '-I' option!\n"
-#~ msgstr "lpadmin: &apos;-I&apos; 选项后期望文件类型!\n"
-
-#~ msgid "lpadmin: Expected hostname after '-h' option!\n"
-#~ msgstr "lpadmin: &apos;-h&apos; 选项后期望主机名称!\n"
-
-#~ msgid "lpadmin: Expected interface after '-i' option!\n"
-#~ msgstr "lpadmin: &apos;-i&apos; 选项后期望接口!\n"
-
-#~ msgid "lpadmin: Expected location after '-L' option!\n"
-#~ msgstr "lpadmin: &apos;-L&apos; 选项后期望位置!\n"
-
-#~ msgid "lpadmin: Expected model after '-m' option!\n"
-#~ msgstr "lpadmin: &apos;-m&apos; 选项后期望型号!\n"
-
-#~ msgid "lpadmin: Expected name=value after '-o' option!\n"
-#~ msgstr "lpadmin: &apos;-o&apos; 选项后期望 name=value!\n"
-
-#~ msgid "lpadmin: Expected printer after '-p' option!\n"
-#~ msgstr "lpadmin: &apos;-p&apos; 选项后期望打印机!\n"
-
-#~ msgid "lpadmin: Expected printer name after '-d' option!\n"
-#~ msgstr "lpadmin: &apos;-d&apos; 选项后期望打印机名称!\n"
-
-#~ msgid "lpadmin: Expected printer or class after '-x' option!\n"
-#~ msgstr "lpadmin: &apos;-x&apos; 选项后期望打印机或类!\n"
-
-#~ msgid "lpadmin: No member names were seen!\n"
-#~ msgstr "lpadmin: 会发现成员名称!\n"
-
-#~ msgid "lpadmin: Printer %s is already a member of class %s.\n"
-#~ msgstr "lpadmin: 打印机 %s 已经是类 %s 的成员。\n"
-
-#~ msgid "lpadmin: Printer %s is not a member of class %s.\n"
-#~ msgstr "lpadmin: 打印机 %s 不是类 %s 的成员。\n"
-
-#~ msgid "lpadmin: Printer name can only contain printable characters!\n"
-#~ msgstr "lpadmin: 打印机名称只能含有可打印字符!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to add a printer to the class:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: 无法将打印机添加到类:\n"
-#~ "         您必须先指定一个打印机名称!\n"
-
-#~ msgid "lpadmin: Unable to connect to server: %s\n"
-#~ msgstr "lpadmin: 无法连接到服务器:%s\n"
-
-#~ msgid "lpadmin: Unable to create temporary file - %s\n"
-#~ msgstr "lpadmin: 无法创建临时文件 - %s\n"
-
-#~ msgid "lpadmin: Unable to create temporary file: %s\n"
-#~ msgstr "lpadmin: 无法创建临时文件:%s\n"
-
-#~ msgid "lpadmin: Unable to open PPD file \"%s\" - %s\n"
-#~ msgstr "lpadmin: 无法打开 PPD 文件“%s”- %s\n"
-
-#~ msgid "lpadmin: Unable to open file \"%s\": %s\n"
-#~ msgstr "lpadmin: 无法打开文件“%s”:%s\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to remove a printer from the class:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: 无法从类中去掉打印机:\n"
-#~ "         您必须先指定一个打印机名称!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the PPD file:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: 无法设定 PPD 文件:\n"
-#~ "         您必须先指定一个打印机名称!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the device URI:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: 无法设定设备 URI:\n"
-#~ "         您必须先指定一个打印机名称!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the interface script or PPD file:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: 无法设定接口脚本或 PPD 文件:\n"
-#~ "         您必须先指定一个打印机名称!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the interface script:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: 无法设定接口脚本:\n"
-#~ "         您必须先指定一个打印机名称!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer description:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: 无法设定打印机描述:\n"
-#~ "         您必须先指定一个打印机名称!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer location:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: 无法设定打印机位置:\n"
-#~ "         您必须先指定一个打印机名称!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer options:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin: 无法设定打印机选项:\n"
-#~ "         您必须先指定一个打印机名称!\n"
-
-#~ msgid "lpadmin: Unknown allow/deny option \"%s\"!\n"
-#~ msgstr "lpadmin: 未知的允许/拒绝选项“%s”!\n"
-
-#~ msgid "lpadmin: Unknown argument '%s'!\n"
-#~ msgstr "lpadmin: 未知自变量 &apos;%s&apos;!\n"
-
-#~ msgid "lpadmin: Unknown option '%c'!\n"
-#~ msgstr "lpadmin: 未知选项 &apos;%c&apos;!\n"
-
-#~ msgid "lpadmin: Warning - content type list ignored!\n"
-#~ msgstr "lpadmin: 警告 - 内容类型列表被忽略!\n"
-
-#~ msgid "lpinfo: Expected 1284 device ID string after --device-id!\n"
-#~ msgstr "lpinfo:--device-id 后期望的 1284 设备 ID 字符串!\n"
-
-#~ msgid "lpinfo: Expected language after --language!\n"
-#~ msgstr "lpinfo:--language 后期望的语言!\n"
-
-#~ msgid "lpinfo: Expected make and model after --make-and-model!\n"
-#~ msgstr "lpinfo:--make-and-model 后期望的制造和型号!\n"
-
-#~ msgid "lpinfo: Expected product string after --product!\n"
-#~ msgstr "lpinfo:--product 后期望的产品字符串!\n"
-
-#~ msgid "lpinfo: Expected scheme list after --exclude-schemes!\n"
-#~ msgstr "lpinfo:--exclude-schemes 后期望的方案列表!\n"
-
-#~ msgid "lpinfo: Expected scheme list after --include-schemes!\n"
-#~ msgstr "lpinfo:--include-schemes 后期望的方案列表!\n"
-
-#~ msgid "lpinfo: Expected timeout after --timeout!\n"
-#~ msgstr "lpinfo:--timeout 后期望的超时!\n"
-
-#~ msgid "lpinfo: Unknown argument '%s'!\n"
-#~ msgstr "lpinfo:未知自变量 &apos;%s&apos;!\n"
-
-#~ msgid "lpinfo: Unknown option '%c'!\n"
-#~ msgstr "lpinfo:未知选项 &apos;%c&apos;!\n"
-
-#~ msgid "lpinfo: Unknown option '%s'!\n"
-#~ msgstr "lpinfo:未知选项“%s”!\n"
-
-#~ msgid "lpmove: Unable to connect to server: %s\n"
-#~ msgstr "lpmove:无法连接到服务器:%s\n"
-
-#~ msgid "lpmove: Unknown argument '%s'!\n"
-#~ msgstr "lpmove:未知自变量 &apos;%s&apos;!\n"
-
-#~ msgid "lpmove: Unknown option '%c'!\n"
-#~ msgstr "lpmove:未知选项 &apos;%c&apos;!\n"
-
-#~ msgid "lpoptions: No printers!?!\n"
-#~ msgstr "lpoptions:无打印机!?!\n"
-
-#~ msgid "lpoptions: Unable to add printer or instance: %s\n"
-#~ msgstr "lpoptions:无法添加打印机或实例:%s\n"
-
-#~ msgid "lpoptions: Unable to get PPD file for %s: %s\n"
-#~ msgstr "lpoptions:无法获得 %s 的 PPD 文件:%s\n"
-
-#~ msgid "lpoptions: Unable to open PPD file for %s!\n"
-#~ msgstr "lpoptions:无法打开 %s 的 PPD 文件!\n"
-
-#~ msgid "lpoptions: Unknown printer or class!\n"
-#~ msgstr "lpoptions:未知打印机或类!\n"
-
-#~ msgid "lppasswd: Only root can add or delete passwords!\n"
-#~ msgstr "lppasswd: 仅根用户才可以添加或删除密码!\n"
-
-#~ msgid "lppasswd: Password file busy!\n"
-#~ msgstr "lppasswd: 密码文件正忙!\n"
-
-#~ msgid "lppasswd: Password file not updated!\n"
-#~ msgstr "lppasswd: 密码文件未更新!\n"
-
-#~ msgid "lppasswd: Sorry, password doesn't match!\n"
-#~ msgstr "lppasswd: 对不起,密码不匹配!\n"
-
-#~ msgid ""
-#~ "lppasswd: Sorry, password rejected.\n"
-#~ "Your password must be at least 6 characters long, cannot contain\n"
-#~ "your username, and must contain at least one letter and number.\n"
-#~ msgstr ""
-#~ "lppasswd: 对不起,密码被拒绝。\n"
-#~ "您的密码必须至少有 6 个字符长,不能包含\n"
-#~ "您的用户名称,并且必须至少包含 1 个字母和 1 个数字。\n"
-
-#~ msgid "lppasswd: Sorry, passwords don't match!\n"
-#~ msgstr "lppasswd: 对不起,密码不匹配!\n"
-
-#~ msgid "lppasswd: Unable to copy password string: %s\n"
-#~ msgstr "lppasswd: 无法拷贝密码字符串:%s\n"
-
-#~ msgid "lppasswd: Unable to open password file: %s\n"
-#~ msgstr "lppasswd: 无法打开密码文件:%s\n"
-
-#~ msgid "lppasswd: Unable to write to password file: %s\n"
-#~ msgstr "lppasswd: 无法写入密码文件:%s\n"
-
-#~ msgid "lppasswd: failed to backup old password file: %s\n"
-#~ msgstr "lppasswd: 备份旧密码文件失败:%s\n"
-
-#~ msgid "lppasswd: failed to rename password file: %s\n"
-#~ msgstr "lppasswd: 给密码文件重新命名失败:%s\n"
-
-#~ msgid "lppasswd: user \"%s\" and group \"%s\" do not exist.\n"
-#~ msgstr "lppasswd: 用户“%s”和组“%s”不存在。\n"
-
-#~ msgid ""
-#~ "lpstat: error - %s environment variable names non-existent destination \"%"
-#~ "s\"!\n"
-#~ msgstr "lpstat: 错误 - %s 个环境变量名称不存在目的位置“%s”!\n"
-
-#~ msgid "members of class %s:\n"
-#~ msgstr "类 %s 的成员:\n"
-
-#~ msgid "no entries\n"
-#~ msgstr "无条目\n"
-
-#~ msgid "no system default destination\n"
-#~ msgstr "无系统默认目的位置\n"
-
-#~ msgid "notify-events not specified!"
-#~ msgstr "notify-events 未指定!"
-
-#~ msgid "notify-recipient-uri URI \"%s\" is already used!"
-#~ msgstr "notify-recipient-uri URI“%s”已经在使用!"
-
-#~ msgid "notify-recipient-uri URI \"%s\" uses unknown scheme!"
-#~ msgstr "notify-recipient-uri URI“%s”使用未知方案!"
-
-#~ msgid "notify-subscription-id %d no good!"
-#~ msgstr "notify-subscription-id %d 不好!"
-
-#~ msgid "ppdc: Adding include directory \"%s\"...\n"
-#~ msgstr "ppdc:正在添加包括目录“%s”…\n"
-
-#~ msgid "ppdc: Adding/updating UI text from %s...\n"
-#~ msgstr "ppdc:正在从 %s 添加/更新 UI 文本…\n"
-
-#~ msgid "ppdc: Bad boolean value (%s) on line %d of %s.\n"
-#~ msgstr "ppdc:错误的布尔值 (%1$s),在 %3$s 的第 %2$d 行。\n"
-
-#~ msgid "ppdc: Bad resolution name \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc:错误的分辨率名称“%1$s”,在 %3$s 的第 %2$d 行。\n"
-
-#~ msgid "ppdc: Bad status keyword %s on line %d of %s!\n"
-#~ msgstr "ppdc:错误的关键词 %1$s,在 %3$s 的第 %2$d 行。\n"
-
-#~ msgid "ppdc: Bad variable substitution ($%c) on line %d of %s.\n"
-#~ msgstr "ppdc:错误的变量替换 ($%1$c),在 %3$s 的第 %2$d 行。\n"
-
-#~ msgid "ppdc: Choice found on line %d of %s with no Option!\n"
-#~ msgstr "ppdc:在 %2$s 的第 %1$d 行找到选择,但没有选项!\n"
-
-#~ msgid "ppdc: Duplicate #po for locale %s on line %d of %s!\n"
-#~ msgstr "ppdc:地点 %1$s 的 #po 重复(在 %3$s 的第 %2$d 行)!\n"
-
-#~ msgid "ppdc: Expected a filter definition on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行期望滤镜定义!\n"
-
-#~ msgid "ppdc: Expected a program name on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行期望程序名称!\n"
-
-#~ msgid "ppdc: Expected boolean value on line %d of %s.\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行期望布尔值。\n"
-
-#~ msgid "ppdc: Expected charset after Font on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上的 Font 后面期望字符集!\n"
-
-#~ msgid "ppdc: Expected choice code on line %d of %s.\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行期望选择代码。\n"
-
-#~ msgid "ppdc: Expected choice name/text on line %d of %s.\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行期望选择名称/文本。\n"
-
-#~ msgid "ppdc: Expected color order for ColorModel on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行期望 ColorModel 的颜色顺序!\n"
-
-#~ msgid "ppdc: Expected colorspace for ColorModel on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行期望 ColorModel 的颜色空间!\n"
-
-#~ msgid "ppdc: Expected compression for ColorModel on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行期望 ColorModel 的压缩!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected constraints string for UIConstraints on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行期望 UIConstraints 的约束字符串!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected driver type keyword following DriverType on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc:%2$s 的第 %1$d 行上的 DriverType 后面期望驱动程序类型关键词!\n"
-
-#~ msgid "ppdc: Expected duplex type after Duplex on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上的 Duplex 后面期望双面类型!\n"
-
-#~ msgid "ppdc: Expected encoding after Font on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上的 Font 后面期望编码!\n"
-
-#~ msgid "ppdc: Expected filename after #po %s on line %d of %s!\n"
-#~ msgstr "ppdc:#po %1$s 后面期望文件名称(在 %3$s 的第 %2$d 行)!\n"
-
-#~ msgid "ppdc: Expected group name/text on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行期望组别名称/文本。\n"
-
-#~ msgid "ppdc: Expected include filename on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行期望包括文件名称!\n"
-
-#~ msgid "ppdc: Expected integer on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行期望整数!\n"
-
-#~ msgid "ppdc: Expected locale after #po on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上的 #po 后面期望地点!\n"
-
-#~ msgid "ppdc: Expected name after %s on line %d of %s!\n"
-#~ msgstr "ppdc:%1$s 后面期望名称(在 %3$s 的第 %2$d 行)!\n"
-
-#~ msgid "ppdc: Expected name after FileName on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上的 FileName 后面期望名称!\n"
-
-#~ msgid "ppdc: Expected name after Font on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上的 Font 后面期望名称!\n"
-
-#~ msgid "ppdc: Expected name after Manufacturer on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上的 Manufacturer 后面期望名称!\n"
-
-#~ msgid "ppdc: Expected name after MediaSize on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上的 MediaSize 后面期望名称!\n"
-
-#~ msgid "ppdc: Expected name after ModelName on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上的 ModelName 后面期望名称!\n"
-
-#~ msgid "ppdc: Expected name after PCFileName on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上的 PCFileName 后面期望名称!\n"
-
-#~ msgid "ppdc: Expected name/text after %s on line %d of %s!\n"
-#~ msgstr "ppdc:%1$s 后面期望名称/文本(在 %3$s 的第 %2$d 行)!\n"
-
-#~ msgid "ppdc: Expected name/text after Installable on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上的 Installable 后面期望名称/文本!\n"
-
-#~ msgid "ppdc: Expected name/text after Resolution on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上的 Resolution 后面期望名称/文本!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected name/text combination for ColorModel on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行期望 ColorModel 的名称/文本组合!\n"
-
-#~ msgid "ppdc: Expected option name/text on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行期望选项名称/文本!\n"
-
-#~ msgid "ppdc: Expected option section on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行期望选项区!\n"
-
-#~ msgid "ppdc: Expected option type on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行期望选项类型!\n"
-
-#~ msgid "ppdc: Expected override field after Resolution on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上的 Resolution 后面期望覆盖字段!\n"
-
-#~ msgid "ppdc: Expected real number on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行期望实数!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected resolution/mediatype following ColorProfile on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc:%2$s 的第 %1$d 行上的 ColorProfile 后面期望分辨率/介质类型!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected resolution/mediatype following SimpleColorProfile on line %"
-#~ "d of %s!\n"
-#~ msgstr ""
-#~ "ppdc:%2$s 的第 %1$d 行上的 SimpleColorProfile 后面期望分辨率/介质类型!\n"
-
-#~ msgid "ppdc: Expected selector after %s on line %d of %s!\n"
-#~ msgstr "ppdc:%1$s 后面期望选择器(在 %3$s 的第 %2$d 行)!\n"
-
-#~ msgid "ppdc: Expected status after Font on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上的 Font 后面期望状态!\n"
-
-#~ msgid "ppdc: Expected string after Copyright on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上的 Copyright 后面期望字符串!\n"
-
-#~ msgid "ppdc: Expected string after Version on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上的 Version 后面期望字符串!\n"
-
-#~ msgid "ppdc: Expected two option names on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行期望两个选项名称!\n"
-
-#~ msgid "ppdc: Expected value after %s on line %d of %s!\n"
-#~ msgstr "ppdc:%1$s 后面期望值(在 %3$s 的第 %2$d 行)!\n"
-
-#~ msgid "ppdc: Expected version after Font on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上的 Font 后面期望版本!\n"
-
-#~ msgid "ppdc: Invalid #include/#po filename \"%s\"!\n"
-#~ msgstr "ppdc:无效的 #include/#po 文件名称“%s”!\n"
-
-#~ msgid "ppdc: Invalid cost for filter on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行有无效的滤镜成本!\n"
-
-#~ msgid "ppdc: Invalid empty MIME type for filter on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行有无效的滤镜空 MIME 类型!\n"
-
-#~ msgid "ppdc: Invalid empty program name for filter on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行有无效的滤镜空程序名称!\n"
-
-#~ msgid "ppdc: Invalid option section \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc:无效的选项区“%1$s”,在 %3$s 的第 %2$d 行!\n"
-
-#~ msgid "ppdc: Invalid option type \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc:无效的选项类型“%1$s”,在 %3$s 的第 %2$d 行!\n"
-
-#~ msgid "ppdc: Loading driver information file \"%s\"...\n"
-#~ msgstr "ppdc:正在载入驱动程序信息文件“%s”…\n"
-
-#~ msgid "ppdc: Loading messages for locale \"%s\"...\n"
-#~ msgstr "ppdc:正在载入地点“%s”的信息…\n"
-
-#~ msgid "ppdc: Loading messages from \"%s\"...\n"
-#~ msgstr "ppdc:正在从“%s”载入信息…\n"
-
-#~ msgid "ppdc: Missing #endif at end of \"%s\"!\n"
-#~ msgstr "ppdc:“%s”的末尾丢失 #endif!\n"
-
-#~ msgid "ppdc: Missing #if on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行丢失 #if!\n"
-
-#~ msgid "ppdc: No message catalog provided for locale %s!\n"
-#~ msgstr "ppdc:没有为地点 %s 提供信息目录!\n"
-
-#~ msgid "ppdc: Option %s redefined with a different type on line %d of %s!\n"
-#~ msgstr "ppdc:选项 %1$s 被重新定义为不同的类型(在 %3$s 的第 %2$d 行)!\n"
-
-#~ msgid "ppdc: Option constraint must *name on line %d of %s!\n"
-#~ msgstr "ppdc:选项约束必须在 %2$s 的第 %1$d 行上指定的 *name 中!\n"
-
-#~ msgid "ppdc: Too many nested #if's on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行嵌套的 #if 太多!\n"
-
-#~ msgid "ppdc: Unable to create PPD file \"%s\" - %s.\n"
-#~ msgstr "ppdc:无法创建 PPD 文件“%s” - %s。\n"
-
-#~ msgid "ppdc: Unable to create output directory %s: %s\n"
-#~ msgstr "ppdc:无法创建输出目录 %s:%s\n"
-
-#~ msgid "ppdc: Unable to create output pipes: %s\n"
-#~ msgstr "ppdc:无法创建输出管道:%s\n"
-
-#~ msgid "ppdc: Unable to execute cupstestppd: %s\n"
-#~ msgstr "ppdc:无法执行 cupstestppd:%s\n"
-
-#~ msgid "ppdc: Unable to find #po file %s on line %d of %s!\n"
-#~ msgstr "ppdc:找不到 #po 文件 %1$s(在 %3$s 的第 %2$d 行)!\n"
-
-#~ msgid "ppdc: Unable to find include file \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc:找不到包括文件“%1$s”(在 %3$s 的第 %2$d 行)!\n"
-
-#~ msgid "ppdc: Unable to find localization for \"%s\" - %s\n"
-#~ msgstr "ppdc:找不到“%s”的本地化文件 - %s\n"
-
-#~ msgid "ppdc: Unable to load localization file \"%s\" - %s\n"
-#~ msgstr "ppdc:无法载入本地化文件“%s” - %s\n"
-
-#~ msgid "ppdc: Undefined variable (%s) on line %d of %s.\n"
-#~ msgstr "ppdc:未定义的变量 (%1$s),在 %3$s 的第 %2$d 行。\n"
-
-#~ msgid "ppdc: Unknown driver type %s on line %d of %s!\n"
-#~ msgstr "ppdc:未知的驱动程序类型 %1$s,在 %3$s 的第 %2$d 行!\n"
-
-#~ msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc:未知的双面类型“%1$s”,在 %3$s 的第 %2$d 行!\n"
-
-#~ msgid "ppdc: Unknown media size \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc:未知的介质大小“%1$s”,在 %3$s 的第 %2$d 行!\n"
-
-#~ msgid "ppdc: Unknown token \"%s\" seen on line %d of %s!\n"
-#~ msgstr "ppdc:未知的令牌“%1$s”,出现在 %3$s 的第 %2$d 行!\n"
-
-#~ msgid ""
-#~ "ppdc: Unknown trailing characters in real number \"%s\" on line %d of %"
-#~ "s!\n"
-#~ msgstr "ppdc:实数“%1$s”中有未知的末尾字符(在 %3$s 的第 %2$d 行)!\n"
-
-#~ msgid "ppdc: Unterminated string starting with %c on line %d of %s!\n"
-#~ msgstr "ppdc:未结束的字符串以 %1$c 开头(在 %3$s 的第 %2$d 行)!\n"
-
-#~ msgid "ppdc: Writing %s...\n"
-#~ msgstr "ppdc:正在写入 %s…\n"
-
-#~ msgid "ppdc: Writing PPD files to directory \"%s\"...\n"
-#~ msgstr "ppdc:正在将 PPD 文件写入目录“%s”…\n"
-
-#~ msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s!\n"
-#~ msgstr "ppdmerge:错误的 LanguageVersion“%s”(在 %s 中)!\n"
-
-#~ msgid "ppdmerge: Ignoring PPD file %s...\n"
-#~ msgstr "ppdmerge:正在忽略 PPD 文件 %s…\n"
-
-#~ msgid "ppdmerge: Unable to backup %s to %s- %s\n"
-#~ msgstr "ppdmerge:无法将 %s 备份到 %s- %s\n"
-
-#~ msgid "printer %s disabled since %s -\n"
-#~ msgstr "打印机 %s 已停用,时间从 %s -\n"
-
-#~ msgid "printer %s is idle.  enabled since %s\n"
-#~ msgstr "打印机 %s 闲置,启用时间从 %s\n"
-
-#~ msgid "printer %s now printing %s-%d.  enabled since %s\n"
-#~ msgstr "打印机 %s 现在正在打印 %s-%d,启用时间从 %s\n"
-
-#~ msgid "printer %s/%s disabled since %s -\n"
-#~ msgstr "打印机 %s/%s 已停用,时间从 %s -\n"
-
-#~ msgid "printer %s/%s is idle.  enabled since %s\n"
-#~ msgstr "打印机 %s/%s 闲置,启用时间从 %s\n"
-
-#~ msgid "printer %s/%s now printing %s-%d.  enabled since %s\n"
-#~ msgstr "打印机 %s/%s 现在正在打印 %s-%d,启用时间从 %s\n"
-
-#~ msgid "request id is %s-%d (%d file(s))\n"
-#~ msgstr "请求 id 是 %s-%d(%d 个文件)\n"
-
-#~ msgid "scheduler is not running\n"
-#~ msgstr "调度程序没有运行\n"
-
-#~ msgid "scheduler is running\n"
-#~ msgstr "调度程序正在运行\n"
-
-#~ msgid "status\t\tshow status of daemon and queue\n"
-#~ msgstr "状态\t\t显示监控程序和队列的状态\n"
-
-#~ msgid "system default destination: %s\n"
-#~ msgstr "系统默认目的位置:%s\n"
-
-#~ msgid "system default destination: %s/%s\n"
-#~ msgstr "系统默认目的位置:%s/%s\n"
diff --git a/locale/cups_zh_TW.po b/locale/cups_zh_TW.po
deleted file mode 100644 (file)
index 556ab6a..0000000
+++ /dev/null
@@ -1,8590 +0,0 @@
-msgid ""
-msgstr ""
-"Project-Id-Version: CUPS 1.4\n"
-"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2012-03-07 13:38-0800\n"
-"PO-Revision-Date: 2009-02-16 12:00-0800\n"
-"Last-Translator: Apple Inc.\n"
-"Language-Team: Apple Inc.\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: \n"
-
-msgid "\t\t(all)"
-msgstr ""
-
-msgid "\t\t(none)"
-msgstr ""
-
-#, c-format
-msgid "\t%d entries"
-msgstr ""
-
-#, c-format
-msgid "\t%s"
-msgstr ""
-
-msgid "\tAfter fault: continue"
-msgstr ""
-
-#, c-format
-msgid "\tAlerts: %s"
-msgstr ""
-
-msgid "\tBanner required"
-msgstr ""
-
-msgid "\tCharset sets:"
-msgstr ""
-
-msgid "\tConnection: direct"
-msgstr ""
-
-msgid "\tConnection: remote"
-msgstr ""
-
-msgid "\tContent types: any"
-msgstr ""
-
-msgid "\tDefault page size:"
-msgstr ""
-
-msgid "\tDefault pitch:"
-msgstr ""
-
-msgid "\tDefault port settings:"
-msgstr ""
-
-#, c-format
-msgid "\tDescription: %s"
-msgstr ""
-
-msgid "\tForm mounted:"
-msgstr ""
-
-msgid "\tForms allowed:"
-msgstr ""
-
-#, c-format
-msgid "\tInterface: %s.ppd"
-msgstr ""
-
-#, c-format
-msgid "\tInterface: %s/interfaces/%s"
-msgstr ""
-
-#, c-format
-msgid "\tInterface: %s/ppd/%s.ppd"
-msgstr ""
-
-#, c-format
-msgid "\tLocation: %s"
-msgstr ""
-
-msgid "\tOn fault: no alert"
-msgstr ""
-
-msgid "\tPrinter types: unknown"
-msgstr ""
-
-#, c-format
-msgid "\tStatus: %s"
-msgstr ""
-
-msgid "\tUsers allowed:"
-msgstr ""
-
-msgid "\tUsers denied:"
-msgstr ""
-
-msgid "\tdaemon present"
-msgstr ""
-
-msgid "\tno entries"
-msgstr ""
-
-#, c-format
-msgid "\tprinter is on device '%s' speed -1"
-msgstr ""
-
-msgid "\tprinting is disabled"
-msgstr ""
-
-msgid "\tprinting is enabled"
-msgstr ""
-
-#, c-format
-msgid "\tqueued for %s"
-msgstr ""
-
-msgid "\tqueuing is disabled"
-msgstr ""
-
-msgid "\tqueuing is enabled"
-msgstr ""
-
-msgid "\treason unknown"
-msgstr ""
-
-msgid ""
-"\n"
-"    DETAILED CONFORMANCE TEST RESULTS"
-msgstr ""
-
-msgid "                          Ignore specific warnings."
-msgstr ""
-
-msgid "                          Issue warnings instead of errors."
-msgstr ""
-
-msgid "                REF: Page 15, section 3.1."
-msgstr ""
-
-msgid "                REF: Page 15, section 3.2."
-msgstr ""
-
-msgid "                REF: Page 19, section 3.3."
-msgstr ""
-
-msgid "                REF: Page 20, section 3.4."
-msgstr ""
-
-msgid "                REF: Page 27, section 3.5."
-msgstr ""
-
-msgid "                REF: Page 42, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 16-17, section 3.2."
-msgstr ""
-
-msgid "                REF: Pages 42-45, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 45-46, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 48-49, section 5.2."
-msgstr ""
-
-msgid "                REF: Pages 52-54, section 5.2."
-msgstr ""
-
-#, c-format
-msgid "        %-39.39s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "        PASS    Default%s"
-msgstr ""
-
-msgid "        PASS    DefaultImageableArea"
-msgstr ""
-
-msgid "        PASS    DefaultPaperDimension"
-msgstr ""
-
-msgid "        PASS    FileVersion"
-msgstr ""
-
-msgid "        PASS    FormatVersion"
-msgstr ""
-
-msgid "        PASS    LanguageEncoding"
-msgstr ""
-
-msgid "        PASS    LanguageVersion"
-msgstr ""
-
-msgid "        PASS    Manufacturer"
-msgstr ""
-
-msgid "        PASS    ModelName"
-msgstr ""
-
-msgid "        PASS    NickName"
-msgstr ""
-
-msgid "        PASS    PCFileName"
-msgstr ""
-
-msgid "        PASS    PSVersion"
-msgstr ""
-
-msgid "        PASS    PageRegion"
-msgstr ""
-
-msgid "        PASS    PageSize"
-msgstr ""
-
-msgid "        PASS    Product"
-msgstr ""
-
-msgid "        PASS    ShortNickName"
-msgstr ""
-
-#, c-format
-msgid "        WARN    %s has no corresponding options."
-msgstr ""
-
-#, c-format
-msgid ""
-"        WARN    %s shares a common prefix with %s\n"
-"                REF: Page 15, section 3.2."
-msgstr ""
-
-#, c-format
-msgid ""
-"        WARN    Duplex option keyword %s may not work as expected and should "
-"be named Duplex.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-
-msgid "        WARN    File contains a mix of CR, LF, and CR LF line endings."
-msgstr ""
-
-msgid ""
-"        WARN    LanguageEncoding required by PPD 4.3 spec.\n"
-"                REF: Pages 56-57, section 5.3."
-msgstr ""
-
-#, c-format
-msgid "        WARN    Line %d only contains whitespace."
-msgstr ""
-
-msgid ""
-"        WARN    Manufacturer required by PPD 4.3 spec.\n"
-"                REF: Pages 58-59, section 5.3."
-msgstr ""
-
-msgid ""
-"        WARN    Non-Windows PPD files should use lines ending with only LF, "
-"not CR LF."
-msgstr ""
-
-#, c-format
-msgid ""
-"        WARN    Obsolete PPD version %.1f.\n"
-"                REF: Page 42, section 5.2."
-msgstr ""
-
-msgid ""
-"        WARN    PCFileName longer than 8.3 in violation of PPD spec.\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-
-msgid ""
-"        WARN    PCFileName should contain a unique filename.\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-
-msgid ""
-"        WARN    Protocols contains PJL but JCL attributes are not set.\n"
-"                REF: Pages 78-79, section 5.7."
-msgstr ""
-
-msgid ""
-"        WARN    Protocols contains both PJL and BCP; expected TBCP.\n"
-"                REF: Pages 78-79, section 5.7."
-msgstr ""
-
-msgid ""
-"        WARN    ShortNickName required by PPD 4.3 spec.\n"
-"                REF: Pages 64-65, section 5.3."
-msgstr ""
-
-msgid "       cupsaddsmb [options] -a"
-msgstr ""
-
-msgid "       cupstestdsc [options] -"
-msgstr ""
-
-msgid "       program | cupstestppd [options] -"
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  \"%s %s\" conflicts with \"%s %s\"\n"
-"                (constraint=\"%s %s %s %s\")."
-msgstr ""
-
-#, c-format
-msgid "      %s  %s %s does not exist."
-msgstr ""
-
-#, c-format
-msgid "      %s  %s file \"%s\" has the wrong capitalization."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  Bad %s choice %s.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsFilter value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsFilter2 value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsICCProfile %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsPreFilter value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad cupsUIConstraints %s: \"%s\""
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad language \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad permissions on %s file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Bad spelling of %s - should be %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Cannot provide both APScanAppPath and APScanAppBundleID."
-msgstr ""
-
-#, c-format
-msgid "      %s  Default choices conflicting."
-msgstr ""
-
-#, c-format
-msgid "      %s  Empty cupsUIConstraints %s"
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing \"%s\" translation string for option %s, choice %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing \"%s\" translation string for option %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing %s file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  Missing REQUIRED PageRegion option.\n"
-"                REF: Page 100, section 5.14."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  Missing REQUIRED PageSize option.\n"
-"                REF: Page 99, section 5.14."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\""
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing cupsUIResolver %s"
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Missing option %s in cupsUIConstraints %s: \"%s\""
-msgstr ""
-
-#, c-format
-msgid "      %s  No base translation \"%s\" is included in file."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  REQUIRED %s does not define choice None.\n"
-"                REF: Page 122, section 5.17"
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" defined for %s but not for %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" has unexpected dimensions (%gx%g)."
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" should be \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  Size \"%s\" should be the Adobe standard name \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "      %s  cupsICCProfile %s hash value collides with %s."
-msgstr ""
-
-#, c-format
-msgid "      %s  cupsUIResolver %s causes a loop."
-msgstr ""
-
-#, c-format
-msgid ""
-"      %s  cupsUIResolver %s does not list at least two different options."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  %s choice names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  %s must be 1284DeviceID\n"
-"                REF: Page 72, section 5.5"
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD Default%s %s\n"
-"                REF: Page 40, section 4.5."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD DefaultImageableArea %s\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD DefaultPaperDimension %s\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD JobPatchFile attribute in file\n"
-"                REF: Page 24, section 3.4."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD Manufacturer (should be \"HP\")\n"
-"                REF: Page 211, table D.1."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD Manufacturer (should be \"Oki\")\n"
-"                REF: Page 211, table D.1."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n"
-"                REF: Pages 59-60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD PSVersion - not \"(string) int\".\n"
-"                REF: Pages 62-64, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD Product - not \"(string)\".\n"
-"                REF: Page 62, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  BAD ShortNickName - longer than 31 chars.\n"
-"                REF: Pages 64-65, section 5.3."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad %s choice %s\n"
-"                REF: Page 84, section 5.9"
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad FileVersion \"%s\"\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Bad FormatVersion \"%s\"\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Bad LanguageVersion %s - must be English."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Default option code cannot be interpreted: %s"
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Default translation string for option %s choice %s contains "
-"8-bit characters."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  Default translation string for option %s contains 8-bit "
-"characters."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Group names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Multiple occurrences of %s choice name %s."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Option names %s and %s differ only by case."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED Default%s\n"
-"                REF: Page 40, section 4.5."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED DefaultImageableArea\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED DefaultPaperDimension\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED FileVersion\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED FormatVersion\n"
-"                REF: Page 56, section 5.3."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED ImageableArea for PageSize %s\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 102, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED LanguageEncoding\n"
-"                REF: Pages 56-57, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED LanguageVersion\n"
-"                REF: Pages 57-58, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED Manufacturer\n"
-"                REF: Pages 58-59, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED ModelName\n"
-"                REF: Pages 59-60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED NickName\n"
-"                REF: Page 60, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PCFileName\n"
-"                REF: Pages 61-62, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PSVersion\n"
-"                REF: Pages 62-64, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PageRegion\n"
-"                REF: Page 100, section 5.14."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PageSize\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 99, section 5.14."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED PageSize\n"
-"                REF: Pages 99-100, section 5.14."
-msgstr ""
-
-#, c-format
-msgid ""
-"      **FAIL**  REQUIRED PaperDimension for PageSize %s\n"
-"                REF: Page 41, section 5.\n"
-"                REF: Page 103, section 5.15."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED Product\n"
-"                REF: Page 62, section 5.3."
-msgstr ""
-
-msgid ""
-"      **FAIL**  REQUIRED ShortNickName\n"
-"                REF: Page 64-65, section 5.3."
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Unable to open PPD file - %s"
-msgstr ""
-
-#, c-format
-msgid "      **FAIL**  Unable to open PPD file - %s on line %d."
-msgstr ""
-
-#, c-format
-msgid "    %d ERRORS FOUND"
-msgstr ""
-
-msgid "    -h       Show program usage"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Bad %%%%BoundingBox: on line %d.\n"
-"        REF: Page 39, %%%%BoundingBox:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Bad %%%%Page: on line %d.\n"
-"        REF: Page 53, %%%%Page:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Bad %%%%Pages: on line %d.\n"
-"        REF: Page 43, %%%%Pages:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Line %d is longer than 255 characters (%d).\n"
-"        REF: Page 25, Line Length"
-msgstr ""
-
-msgid ""
-"    Missing %!PS-Adobe-3.0 on first line.\n"
-"        REF: Page 17, 3.1 Conforming Documents"
-msgstr ""
-
-#, c-format
-msgid "    Missing %%EndComments comment.        REF: Page 41, %%EndComments"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Missing or bad %%BoundingBox: comment.\n"
-"        REF: Page 39, %%BoundingBox:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Missing or bad %%Page: comments.\n"
-"        REF: Page 53, %%Page:"
-msgstr ""
-
-#, c-format
-msgid ""
-"    Missing or bad %%Pages: comment.\n"
-"        REF: Page 43, %%Pages:"
-msgstr ""
-
-msgid "    NO ERRORS FOUND"
-msgstr ""
-
-#, c-format
-msgid "    Saw %d lines that exceeded 255 characters."
-msgstr ""
-
-#, c-format
-msgid "    Too many %%BeginDocument comments."
-msgstr ""
-
-#, c-format
-msgid "    Too many %%EndDocument comments."
-msgstr ""
-
-msgid "    Warning: file contains binary data."
-msgstr ""
-
-#, c-format
-msgid "    Warning: no %%EndComments comment in file."
-msgstr ""
-
-#, c-format
-msgid "    Warning: obsolete DSC version %.1f in file."
-msgstr ""
-
-msgid "  --[no-]debug-logging    Turn debug logging on/off."
-msgstr ""
-
-msgid "  --[no-]remote-admin     Turn remote administration on/off."
-msgstr ""
-
-msgid "  --[no-]remote-any       Allow/prevent access from the Internet."
-msgstr ""
-
-msgid "  --[no-]remote-printers  Show/hide remote printers."
-msgstr ""
-
-msgid "  --[no-]share-printers   Turn printer sharing on/off."
-msgstr ""
-
-msgid "  --[no-]user-cancel-any  Allow/prevent users to cancel any job."
-msgstr ""
-
-msgid "  --cr                    End lines with CR (Mac OS 9)."
-msgstr ""
-
-msgid "  --crlf                  End lines with CR + LF (Windows)."
-msgstr ""
-
-msgid "  --lf                    End lines with LF (UNIX/Linux/Mac OS X)."
-msgstr ""
-
-msgid "  -4                      Connect using IPv4."
-msgstr ""
-
-msgid "  -6                      Connect using IPv6."
-msgstr ""
-
-msgid "  -C                      Send requests using chunking (default)."
-msgstr ""
-
-msgid "  -D                      Remove the input file when finished."
-msgstr ""
-
-msgid "  -D name=value           Set named variable to value."
-msgstr ""
-
-msgid "  -E                      Enable encryption."
-msgstr ""
-
-msgid "  -E                      Encrypt the connection to the server."
-msgstr ""
-
-msgid "  -E                      Test with TLS encryption."
-msgstr ""
-
-msgid ""
-"  -F                      Run in the foreground but detach from console."
-msgstr ""
-
-msgid "  -H samba-server         Use the named SAMBA server."
-msgstr ""
-
-msgid "  -I                      Ignore errors."
-msgstr ""
-
-msgid "  -I include-dir          Add include directory to search path."
-msgstr ""
-
-msgid "  -I {filename,filters,none,profiles}"
-msgstr ""
-
-msgid "  -J title                Set title."
-msgstr ""
-
-msgid "  -L                      Send requests using content-length."
-msgstr ""
-
-msgid "  -P filename.ppd         Set PPD file."
-msgstr ""
-
-msgid "  -R root-directory       Set alternate root."
-msgstr ""
-
-msgid "  -S                      Test with SSL encryption."
-msgstr ""
-
-msgid "  -T                      Set the receive/send timeout in seconds."
-msgstr ""
-
-msgid "  -U samba-user           Authenticate using the named SAMBA user."
-msgstr ""
-
-msgid "  -U username             Set username for job."
-msgstr ""
-
-msgid "  -U username             Specify username."
-msgstr ""
-
-msgid "  -V version              Set default IPP version."
-msgstr ""
-
-msgid ""
-"  -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,"
-"translations}"
-msgstr ""
-
-msgid "  -X                      Produce XML plist instead of plain text."
-msgstr ""
-
-msgid "  -a                      Export all printers."
-msgstr ""
-
-msgid "  -a 'name=value ...'     Set option(s)."
-msgstr ""
-
-msgid "  -c catalog.po           Load the specified message catalog."
-msgstr ""
-
-msgid "  -c config-file          Load alternate configuration file."
-msgstr ""
-
-msgid "  -c copies               Set number of copies."
-msgstr ""
-
-msgid "  -c cupsd.conf           Set cupsd.conf file to use."
-msgstr ""
-
-msgid "  -d name=value           Set named variable to value."
-msgstr ""
-
-msgid "  -d output-dir           Specify the output directory."
-msgstr ""
-
-msgid "  -d printer              Use the named printer."
-msgstr ""
-
-msgid "  -e                      Use every filter from the PPD file."
-msgstr ""
-
-msgid "  -f                      Run in the foreground."
-msgstr ""
-
-msgid "  -f filename             Set default request filename."
-msgstr ""
-
-msgid "  -f filename             Set file to be converted (otherwise stdin)."
-msgstr ""
-
-msgid "  -h                      Show this usage message."
-msgstr ""
-
-msgid "  -h cups-server          Use the named CUPS server."
-msgstr ""
-
-msgid "  -h server[:port]        Specify server address."
-msgstr ""
-
-msgid "  -i mime/type            Set input MIME type (otherwise auto-typed)."
-msgstr ""
-
-msgid ""
-"  -i seconds              Repeat the last file with the given time interval."
-msgstr ""
-
-msgid ""
-"  -j job-id[,N]           Filter file N from the specified job (default is "
-"file 1)."
-msgstr ""
-
-msgid ""
-"  -j mime/type            Set output MIME type (otherwise application/pdf)."
-msgstr ""
-
-msgid "  -l                      Run cupsd from launchd(8)."
-msgstr ""
-
-msgid "  -l lang[,lang,...]      Specify the output language(s) (locale)."
-msgstr ""
-
-msgid "  -m                      Use the ModelName value as the filename."
-msgstr ""
-
-msgid ""
-"  -m mime/type            Set output MIME type (otherwise application/pdf)."
-msgstr ""
-
-msgid "  -n copies               Set number of copies."
-msgstr ""
-
-msgid ""
-"  -n count                Repeat the last file the given number of times."
-msgstr ""
-
-msgid "  -o filename             Set file to be generated (otherwise stdout)."
-msgstr ""
-
-msgid ""
-"  -o filename.drv         Set driver information file (otherwise ppdi.drv)."
-msgstr ""
-
-msgid "  -o filename.ppd[.gz]    Set output file (otherwise stdout)."
-msgstr ""
-
-msgid "  -o name=value           Set option(s)."
-msgstr ""
-
-msgid "  -p filename.ppd         Set PPD file."
-msgstr ""
-
-msgid "  -q                      Be quiet - no output except errors."
-msgstr ""
-
-msgid "  -q                      Run silently."
-msgstr ""
-
-msgid "  -r                      Use 'relaxed' open mode."
-msgstr ""
-
-msgid "  -t                      Produce a test report."
-msgstr ""
-
-msgid "  -t                      Test PPDs instead of generating them."
-msgstr ""
-
-msgid "  -t                      Test the configuration file."
-msgstr ""
-
-msgid "  -t title                Set title."
-msgstr ""
-
-msgid "  -u                      Remove the PPD file when finished."
-msgstr ""
-
-msgid "  -v                      Be slightly verbose."
-msgstr ""
-
-msgid "  -v                      Be verbose (more v's for more verbosity)."
-msgstr ""
-
-msgid "  -v                      Be verbose (show commands)."
-msgstr ""
-
-msgid "  -v                      Show all attributes sent and received."
-msgstr ""
-
-msgid "  -vv                     Be very verbose."
-msgstr ""
-
-msgid "  -z                      Compress PPD files using GNU zip."
-msgstr ""
-
-msgid " FAIL"
-msgstr ""
-
-msgid " PASS"
-msgstr ""
-
-#, c-format
-msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes"
-msgstr ""
-
-#, c-format
-msgid "%.0f x %.0f millimeters"
-msgstr "%.0f x %.0f 公釐"
-
-#, c-format
-msgid "%.0f x %.0f to %.0f x %.0f millimeters"
-msgstr "%.0f x %.0f to %.0f x %.0f 公釐"
-
-#, c-format
-msgid "%.2f x %.2f inches"
-msgstr "%.2f x %.2f 英吋"
-
-#, c-format
-msgid "%.2f x %.2f to %.2f x %.2f inches"
-msgstr "%.2f x %.2f to %.2f x %.2f 英吋"
-
-#, c-format
-msgid "%s accepting requests since %s"
-msgstr ""
-
-#, c-format
-msgid "%s cannot be changed."
-msgstr "無法更改 %s。"
-
-#, c-format
-msgid "%s is not implemented by the CUPS version of lpc."
-msgstr ""
-
-#, c-format
-msgid "%s is not ready"
-msgstr ""
-
-#, c-format
-msgid "%s is ready"
-msgstr ""
-
-#, c-format
-msgid "%s is ready and printing"
-msgstr ""
-
-#, c-format
-msgid "%s job-id user title copies options [file]"
-msgstr ""
-
-#, c-format
-msgid "%s not accepting requests since %s -"
-msgstr ""
-
-#, c-format
-msgid "%s not supported."
-msgstr ""
-
-#, c-format
-msgid "%s/%s accepting requests since %s"
-msgstr ""
-
-#, c-format
-msgid "%s/%s not accepting requests since %s -"
-msgstr ""
-
-#, c-format
-msgid "%s: %-33.33s [job %d localhost]"
-msgstr ""
-
-#. TRANSLATORS: Message is "subject: error"
-#, c-format
-msgid "%s: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: %s failed: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Don't know what to do."
-msgstr ""
-
-#, c-format
-msgid ""
-"%s: Error - %s environment variable names non-existent destination \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - bad job ID."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - cannot print files and alter jobs simultaneously."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - cannot print from stdin if files or a job ID are provided."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected character set after \"-S\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected content type after \"-T\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected copies after \"-#\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected copies after \"-n\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected destination after \"-P\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected destination after \"-b\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected destination after \"-d\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected form after \"-f\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected hold name after \"-H\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected hostname after \"-H\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected hostname after \"-h\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected mode list after \"-y\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected name after \"-%c\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected option=value after \"-o\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected page list after \"-P\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected priority after \"-%c\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected reason text after \"-r\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected title after \"-t\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected username after \"-U\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected username after \"-u\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - expected value after \"-%c\" option."
-msgstr ""
-
-#, c-format
-msgid ""
-"%s: Error - need \"completed\", \"not-completed\", or \"all\" after \"-W\" "
-"option."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - no default destination available."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - priority must be between 1 and 100."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - scheduler not responding."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - too many files - \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unable to access \"%s\" - %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unable to queue from stdin - %s."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown destination \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown destination \"%s/%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown option \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Error - unknown option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Expected job ID after \"-i\" option."
-msgstr ""
-
-#, c-format
-msgid "%s: Invalid destination name in list \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Invalid filter string \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Need job ID (\"-i jobid\") before \"-H restart\"."
-msgstr ""
-
-#, c-format
-msgid "%s: No filter to convert from %s/%s to %s/%s."
-msgstr ""
-
-#, c-format
-msgid "%s: Operation failed: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Sorry, no encryption support."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to connect to server."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to contact server."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to determine MIME type of \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to open %s: %s"
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to open PPD file: %s on line %d."
-msgstr ""
-
-#, c-format
-msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown destination \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown destination MIME type %s/%s."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown option \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "%s: Unknown source MIME type %s/%s."
-msgstr ""
-
-#, c-format
-msgid ""
-"%s: Warning - \"%c\" format modifier not supported - output may not be "
-"correct."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - character set option ignored."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - content type option ignored."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - form option ignored."
-msgstr ""
-
-#, c-format
-msgid "%s: Warning - mode option ignored."
-msgstr ""
-
-msgid "-1"
-msgstr "-1"
-
-msgid "-10"
-msgstr "-10"
-
-msgid "-100"
-msgstr "-100"
-
-msgid "-105"
-msgstr "-105"
-
-msgid "-11"
-msgstr "-11"
-
-msgid "-110"
-msgstr "-110"
-
-msgid "-115"
-msgstr "-115"
-
-msgid "-12"
-msgstr "-12"
-
-msgid "-120"
-msgstr "-120"
-
-msgid "-13"
-msgstr "-13"
-
-msgid "-14"
-msgstr "-14"
-
-msgid "-15"
-msgstr "-15"
-
-msgid "-2"
-msgstr "-2"
-
-msgid "-20"
-msgstr "-20"
-
-msgid "-25"
-msgstr "-25"
-
-msgid "-3"
-msgstr "-3"
-
-msgid "-30"
-msgstr "-30"
-
-msgid "-35"
-msgstr "-35"
-
-msgid "-4"
-msgstr "-4"
-
-msgid "-40"
-msgstr "-40"
-
-msgid "-45"
-msgstr "-45"
-
-msgid "-5"
-msgstr "-5"
-
-msgid "-50"
-msgstr "-50"
-
-msgid "-55"
-msgstr "-55"
-
-msgid "-6"
-msgstr "-6"
-
-msgid "-60"
-msgstr "-60"
-
-msgid "-65"
-msgstr "-65"
-
-msgid "-7"
-msgstr "-7"
-
-msgid "-70"
-msgstr "-70"
-
-msgid "-75"
-msgstr "-75"
-
-msgid "-8"
-msgstr "-8"
-
-msgid "-80"
-msgstr "-80"
-
-msgid "-85"
-msgstr "-85"
-
-msgid "-9"
-msgstr "-9"
-
-msgid "-90"
-msgstr "-90"
-
-msgid "-95"
-msgstr "-95"
-
-msgid "0"
-msgstr "0"
-
-msgid "1"
-msgstr "1"
-
-msgid "1 inch/sec."
-msgstr "1 英吋∕秒"
-
-msgid "1.25x0.25\""
-msgstr "1.25x0.25\""
-
-msgid "1.25x2.25\""
-msgstr "1.25x2.25\""
-
-msgid "1.5 inch/sec."
-msgstr "1.5 英吋∕秒"
-
-msgid "1.50x0.25\""
-msgstr "1.50x0.25\""
-
-msgid "1.50x0.50\""
-msgstr "1.50x0.50\""
-
-msgid "1.50x1.00\""
-msgstr "1.50x1.00\""
-
-msgid "1.50x2.00\""
-msgstr "1.50x2.00\""
-
-msgid "10"
-msgstr "10"
-
-msgid "10 inches/sec."
-msgstr "10 英吋∕秒"
-
-msgid "10 x 11"
-msgstr ""
-
-msgid "10 x 13"
-msgstr ""
-
-msgid "10 x 14"
-msgstr ""
-
-msgid "100"
-msgstr "100"
-
-msgid "100 mm/sec."
-msgstr "100 公釐∕秒"
-
-msgid "105"
-msgstr "105"
-
-msgid "11"
-msgstr "11"
-
-msgid "11 inches/sec."
-msgstr "11 英吋∕秒"
-
-msgid "110"
-msgstr "110"
-
-msgid "115"
-msgstr "115"
-
-msgid "12"
-msgstr "12"
-
-msgid "12 inches/sec."
-msgstr "12 英吋∕秒"
-
-msgid "12 x 11"
-msgstr ""
-
-msgid "120"
-msgstr "120"
-
-msgid "120 mm/sec."
-msgstr "120 公釐∕秒"
-
-msgid "120x60dpi"
-msgstr "120x60dpi"
-
-msgid "120x72dpi"
-msgstr "120x72dpi"
-
-msgid "13"
-msgstr "13"
-
-msgid "136dpi"
-msgstr "136dpi"
-
-msgid "14"
-msgstr "14"
-
-msgid "15"
-msgstr "15"
-
-msgid "15 mm/sec."
-msgstr "15 公釐∕秒"
-
-msgid "15 x 11"
-msgstr ""
-
-msgid "150 mm/sec."
-msgstr "150 公釐∕秒"
-
-msgid "150dpi"
-msgstr "150dpi"
-
-msgid "16"
-msgstr "16"
-
-msgid "17"
-msgstr "17"
-
-msgid "18"
-msgstr "18"
-
-msgid "180dpi"
-msgstr "180dpi"
-
-msgid "19"
-msgstr "19"
-
-msgid "2"
-msgstr "2"
-
-msgid "2 inches/sec."
-msgstr "2 英吋∕秒"
-
-msgid "2-Sided Printing"
-msgstr "雙面列印"
-
-msgid "2.00x0.37\""
-msgstr "2.00x0.37\""
-
-msgid "2.00x0.50\""
-msgstr "2.00x0.50\""
-
-msgid "2.00x1.00\""
-msgstr "2.00x1.00\""
-
-msgid "2.00x1.25\""
-msgstr "2.00x1.25\""
-
-msgid "2.00x2.00\""
-msgstr "2.00x2.00\""
-
-msgid "2.00x3.00\""
-msgstr "2.00x3.00\""
-
-msgid "2.00x4.00\""
-msgstr "2.00x4.00\""
-
-msgid "2.00x5.50\""
-msgstr "2.00x5.50\""
-
-msgid "2.25x0.50\""
-msgstr "2.25x0.50\""
-
-msgid "2.25x1.25\""
-msgstr "2.25x1.25\""
-
-msgid "2.25x4.00\""
-msgstr "2.25x4.00\""
-
-msgid "2.25x5.50\""
-msgstr "2.25x5.50\""
-
-msgid "2.38x5.50\""
-msgstr "2.38x5.50\""
-
-msgid "2.5 inches/sec."
-msgstr "2.5 英吋∕秒"
-
-msgid "2.50x1.00\""
-msgstr "2.50x1.00\""
-
-msgid "2.50x2.00\""
-msgstr "2.50x2.00\""
-
-msgid "2.75x1.25\""
-msgstr "2.75x1.25\""
-
-msgid "2.9 x 1\""
-msgstr "2.9 x 1\""
-
-msgid "20"
-msgstr "20"
-
-msgid "20 mm/sec."
-msgstr "20 公釐∕秒"
-
-msgid "200 mm/sec."
-msgstr "200 公釐∕秒"
-
-msgid "203dpi"
-msgstr "203dpi"
-
-msgid "21"
-msgstr "21"
-
-msgid "22"
-msgstr "22"
-
-msgid "23"
-msgstr "23"
-
-msgid "24"
-msgstr "24"
-
-msgid "24-Pin Series"
-msgstr "24-Pin 系列"
-
-msgid "240x72dpi"
-msgstr "240x72dpi"
-
-msgid "25"
-msgstr "25"
-
-msgid "250 mm/sec."
-msgstr "250 公釐∕秒"
-
-msgid "26"
-msgstr "26"
-
-msgid "27"
-msgstr "27"
-
-msgid "28"
-msgstr "28"
-
-msgid "29"
-msgstr "29"
-
-msgid "3"
-msgstr "3"
-
-msgid "3 inches/sec."
-msgstr "3 英吋∕秒"
-
-msgid "3 x 5"
-msgstr ""
-
-msgid "3.00x1.00\""
-msgstr "3.00x1.00\""
-
-msgid "3.00x1.25\""
-msgstr "3.00x1.25\""
-
-msgid "3.00x2.00\""
-msgstr "3.00x2.00\""
-
-msgid "3.00x3.00\""
-msgstr "3.00x3.00\""
-
-msgid "3.00x5.00\""
-msgstr "3.00x5.00\""
-
-msgid "3.25x2.00\""
-msgstr "3.25x2.00\""
-
-msgid "3.25x5.00\""
-msgstr "3.25x5.00\""
-
-msgid "3.25x5.50\""
-msgstr "3.25x5.50\""
-
-msgid "3.25x5.83\""
-msgstr "3.25x5.83\""
-
-msgid "3.25x7.83\""
-msgstr "3.25x7.83\""
-
-msgid "3.5 x 5"
-msgstr ""
-
-msgid "3.5\" Disk"
-msgstr "3.5 吋磁碟"
-
-msgid "3.5\" Disk - 2 1/8 x 2 3/4\""
-msgstr "3.5 吋磁碟 - 2 1/8 x 2 3/4\""
-
-msgid "3.50x1.00\""
-msgstr "3.50x1.00\""
-
-msgid "30"
-msgstr "30"
-
-msgid "30 mm/sec."
-msgstr "30 公釐∕秒"
-
-msgid "300 mm/sec."
-msgstr "300 公釐∕秒"
-
-msgid "300dpi"
-msgstr "300dpi"
-
-msgid "35"
-msgstr "35"
-
-msgid "360dpi"
-msgstr "360dpi"
-
-msgid "360x180dpi"
-msgstr "360x180dpi"
-
-msgid "4"
-msgstr "4"
-
-msgid "4 inches/sec."
-msgstr "4 英吋∕秒"
-
-msgid "4.00x1.00\""
-msgstr "4.00x1.00\""
-
-msgid "4.00x13.00\""
-msgstr "4.00x13.00\""
-
-msgid "4.00x2.00\""
-msgstr "4.00x2.00\""
-
-msgid "4.00x2.50\""
-msgstr "4.00x2.50\""
-
-msgid "4.00x3.00\""
-msgstr "4.00x3.00\""
-
-msgid "4.00x4.00\""
-msgstr "4.00x4.00\""
-
-msgid "4.00x5.00\""
-msgstr "4.00x5.00\""
-
-msgid "4.00x6.00\""
-msgstr "4.00x6.00\""
-
-msgid "4.00x6.50\""
-msgstr "4.00x6.50\""
-
-msgid "40"
-msgstr "40"
-
-msgid "40 mm/sec."
-msgstr "40 公釐∕秒"
-
-msgid "45"
-msgstr "45"
-
-msgid "5"
-msgstr "5"
-
-msgid "5 inches/sec."
-msgstr "5 英吋∕秒"
-
-msgid "5 x 7"
-msgstr ""
-
-msgid "50"
-msgstr "50"
-
-msgid "55"
-msgstr "55"
-
-msgid "6"
-msgstr "6"
-
-msgid "6 inches/sec."
-msgstr "6 英吋∕秒"
-
-msgid "6.00x1.00\""
-msgstr "6.00x1.00\""
-
-msgid "6.00x2.00\""
-msgstr "6.00x2.00\""
-
-msgid "6.00x3.00\""
-msgstr "6.00x3.00\""
-
-msgid "6.00x4.00\""
-msgstr "6.00x4.00\""
-
-msgid "6.00x5.00\""
-msgstr "6.00x5.00\""
-
-msgid "6.00x6.00\""
-msgstr "6.00x6.00\""
-
-msgid "6.00x6.50\""
-msgstr "6.00x6.50\""
-
-msgid "60"
-msgstr "60"
-
-msgid "60 mm/sec."
-msgstr "60 公釐∕秒"
-
-msgid "600dpi"
-msgstr "600dpi"
-
-msgid "60dpi"
-msgstr "60dpi"
-
-msgid "60x72dpi"
-msgstr ""
-
-msgid "65"
-msgstr "65"
-
-msgid "7"
-msgstr "7"
-
-msgid "7 inches/sec."
-msgstr "7 英吋∕秒"
-
-msgid "7 x 9"
-msgstr ""
-
-msgid "70"
-msgstr "70"
-
-msgid "720dpi"
-msgstr "720dpi"
-
-msgid "75"
-msgstr "75"
-
-msgid "8"
-msgstr "8"
-
-msgid "8 inches/sec."
-msgstr "8 英吋∕秒"
-
-msgid "8 x 10"
-msgstr ""
-
-msgid "8.00x1.00\""
-msgstr "8.00x1.00\""
-
-msgid "8.00x2.00\""
-msgstr "8.00x2.00\""
-
-msgid "8.00x3.00\""
-msgstr "8.00x3.00\""
-
-msgid "8.00x4.00\""
-msgstr "8.00x4.00\""
-
-msgid "8.00x5.00\""
-msgstr "8.00x5.00\""
-
-msgid "8.00x6.00\""
-msgstr "8.00x6.00\""
-
-msgid "8.00x6.50\""
-msgstr "8.00x6.50\""
-
-msgid "80"
-msgstr "80"
-
-msgid "80 mm/sec."
-msgstr "80 公釐∕秒"
-
-msgid "85"
-msgstr "85"
-
-msgid "9"
-msgstr "9"
-
-msgid "9 inches/sec."
-msgstr "9 英吋∕秒"
-
-msgid "9 x 11"
-msgstr ""
-
-msgid "9 x 12"
-msgstr ""
-
-msgid "9-Pin Series"
-msgstr "9-Pin 系列"
-
-msgid "90"
-msgstr "90"
-
-msgid "95"
-msgstr "95"
-
-msgid "?Invalid help command unknown."
-msgstr ""
-
-msgid "A Samba password is required to export printer drivers"
-msgstr ""
-
-msgid "A Samba username is required to export printer drivers"
-msgstr ""
-
-#, c-format
-msgid "A class named \"%s\" already exists."
-msgstr ""
-
-#, c-format
-msgid "A printer named \"%s\" already exists."
-msgstr ""
-
-msgid "A0"
-msgstr "A0"
-
-msgid "A0 Long Edge"
-msgstr ""
-
-msgid "A1"
-msgstr "A1"
-
-msgid "A1 Long Edge"
-msgstr ""
-
-msgid "A10"
-msgstr "A10"
-
-msgid "A2"
-msgstr "A2"
-
-msgid "A2 Long Edge"
-msgstr ""
-
-msgid "A3"
-msgstr "A3"
-
-msgid "A3 Long Edge"
-msgstr ""
-
-msgid "A3 Oversize"
-msgstr ""
-
-msgid "A3 Oversize Long Edge"
-msgstr ""
-
-msgid "A4"
-msgstr "A4"
-
-msgid "A4 Long Edge"
-msgstr ""
-
-msgid "A4 Oversize"
-msgstr ""
-
-msgid "A4 Small"
-msgstr ""
-
-msgid "A5"
-msgstr "A5"
-
-msgid "A5 Long Edge"
-msgstr ""
-
-msgid "A5 Oversize"
-msgstr ""
-
-msgid "A6"
-msgstr "A6"
-
-msgid "A6 Long Edge"
-msgstr ""
-
-msgid "A7"
-msgstr "A7"
-
-msgid "A8"
-msgstr "A8"
-
-msgid "A9"
-msgstr "A9"
-
-msgid "ANSI A"
-msgstr "ANSI A"
-
-msgid "ANSI B"
-msgstr "ANSI B"
-
-msgid "ANSI C"
-msgstr "ANSI C"
-
-msgid "ANSI D"
-msgstr "ANSI D"
-
-msgid "ANSI E"
-msgstr "ANSI E"
-
-msgid "ARCH C"
-msgstr "ARCH C"
-
-msgid "ARCH C Long Edge"
-msgstr ""
-
-msgid "ARCH D"
-msgstr "ARCH D"
-
-msgid "ARCH D Long Edge"
-msgstr ""
-
-msgid "ARCH E"
-msgstr "ARCH E"
-
-msgid "ARCH E Long Edge"
-msgstr ""
-
-msgid "Accept Jobs"
-msgstr "接受作業"
-
-msgid "Accepted"
-msgstr "已接受"
-
-msgid "Add Class"
-msgstr "加入類別"
-
-msgid "Add Printer"
-msgstr "新增印表機"
-
-msgid "Add RSS Subscription"
-msgstr "新增 RSS 訂閱"
-
-msgid "Address"
-msgstr "地址"
-
-msgid "Address - 1 1/8 x 3 1/2\""
-msgstr "地址 - 1 1/8 x 3 1/2\""
-
-msgid "Administration"
-msgstr "管理"
-
-msgid "Always"
-msgstr "總是"
-
-msgid "AppSocket/HP JetDirect"
-msgstr "AppSocket/HP JetDirect"
-
-msgid "Applicator"
-msgstr "噴頭"
-
-#, c-format
-msgid "Attempt to set %s printer-state to bad value %d."
-msgstr ""
-
-#, c-format
-msgid "Attribute groups are out of order (%x < %x)."
-msgstr ""
-
-msgid "B0"
-msgstr "B0"
-
-msgid "B1"
-msgstr "B1"
-
-msgid "B10"
-msgstr "B10"
-
-msgid "B2"
-msgstr "B2"
-
-msgid "B3"
-msgstr "B3"
-
-msgid "B4"
-msgstr "B4"
-
-msgid "B5"
-msgstr "B5"
-
-msgid "B5 Oversize"
-msgstr ""
-
-msgid "B6"
-msgstr "B6"
-
-msgid "B7"
-msgstr "B7"
-
-msgid "B8"
-msgstr "B8"
-
-msgid "B9"
-msgstr "B9"
-
-msgid "Bad NULL dests pointer"
-msgstr "NULL dests 指標錯誤"
-
-msgid "Bad OpenGroup"
-msgstr "OpenGroup 錯誤"
-
-msgid "Bad OpenUI/JCLOpenUI"
-msgstr "OpenUI/JCLOpenUI 錯誤"
-
-msgid "Bad OrderDependency"
-msgstr "OrderDependency 錯誤"
-
-msgid "Bad PPD cache file."
-msgstr ""
-
-msgid "Bad Request"
-msgstr "請求錯誤"
-
-msgid "Bad SNMP version number"
-msgstr "SNMP 版本號碼錯誤"
-
-msgid "Bad UIConstraints"
-msgstr "UIConstraints 錯誤"
-
-#, c-format
-msgid "Bad charset file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad charset type: %s"
-msgstr ""
-
-#, c-format
-msgid "Bad columns value %d."
-msgstr ""
-
-#, c-format
-msgid "Bad copies value %d."
-msgstr "列印份數值 %d 錯誤。"
-
-#, c-format
-msgid "Bad cpi value %f."
-msgstr ""
-
-msgid "Bad custom parameter"
-msgstr "自定參數錯誤"
-
-#, c-format
-msgid "Bad device-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad device-uri scheme \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad document-format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad document-format-default \"%s\"."
-msgstr ""
-
-msgid "Bad filename buffer"
-msgstr ""
-
-#, c-format
-msgid "Bad font description line \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad font description line: %s"
-msgstr ""
-
-msgid "Bad job-priority value."
-msgstr ""
-
-#, c-format
-msgid "Bad job-sheets value \"%s\"."
-msgstr ""
-
-msgid "Bad job-sheets value type."
-msgstr ""
-
-msgid "Bad job-state value."
-msgstr ""
-
-#, c-format
-msgid "Bad job-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad lpi value %f."
-msgstr ""
-
-#, c-format
-msgid "Bad notify-pull-method \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad notify-recipient-uri \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad number-up value %d."
-msgstr "number-up 值 %d 錯誤。"
-
-#, c-format
-msgid "Bad option + choice on line %d."
-msgstr ""
-
-#, c-format
-msgid "Bad page-ranges values %d-%d."
-msgstr "page-ranges 值 %d-%d 錯誤。"
-
-#, c-format
-msgid "Bad port-monitor \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad printer-state value %d."
-msgstr ""
-
-#, c-format
-msgid "Bad request ID %d."
-msgstr ""
-
-#, c-format
-msgid "Bad request version number %d.%d."
-msgstr ""
-
-msgid "Bad subscription ID"
-msgstr ""
-
-#, c-format
-msgid "Bad text direction \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad text direction: %s"
-msgstr ""
-
-#, c-format
-msgid "Bad text width \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Bad text width: %s"
-msgstr ""
-
-msgid "Bad value string"
-msgstr ""
-
-msgid "Banners"
-msgstr "標語"
-
-msgid "Billing Information: "
-msgstr "帳單資訊:"
-
-msgid "Bond Paper"
-msgstr "證券紙"
-
-#, c-format
-msgid "Boolean expected for waiteof option \"%s\"."
-msgstr ""
-
-msgid "Buffer overflow detected, aborting."
-msgstr ""
-
-msgid "CMYK"
-msgstr "CMYK"
-
-msgid "CPCL Label Printer"
-msgstr "CPCL 標籤印表機"
-
-msgid "Cancel RSS Subscription"
-msgstr "取消 RSS 訂閱"
-
-msgid "Canceling print job."
-msgstr ""
-
-msgid "Cannot share a remote Kerberized printer."
-msgstr ""
-
-msgid "Cassette"
-msgstr ""
-
-msgid "Change Settings"
-msgstr "更改設定"
-
-#, c-format
-msgid "Character set \"%s\" not supported."
-msgstr ""
-
-msgid "Classes"
-msgstr "類別"
-
-msgid "Clean Print Heads"
-msgstr "乾淨的列印頭"
-
-msgid "Close-Job doesn't support the job-uri attribute."
-msgstr ""
-
-msgid "Color"
-msgstr "顏色"
-
-msgid "Color Mode"
-msgstr "顏色模式"
-
-msgid ""
-"Commands may be abbreviated.  Commands are:\n"
-"\n"
-"exit    help    quit    status  ?"
-msgstr ""
-
-msgid "Community name uses indefinite length"
-msgstr "社群名稱使用的長度不確定"
-
-msgid "Connected to printer."
-msgstr ""
-
-msgid "Connecting to printer."
-msgstr ""
-
-msgid "Continue"
-msgstr "繼續"
-
-msgid "Continuous"
-msgstr "連續"
-
-msgid "Control file sent successfully."
-msgstr ""
-
-msgid "Copying print data."
-msgstr ""
-
-msgid "Created"
-msgstr "已製作"
-
-msgid "Created On: "
-msgstr "製作日期:"
-
-msgid "Custom"
-msgstr "自定"
-
-msgid "CustominCutInterval"
-msgstr "CustominCutInterval"
-
-msgid "CustominTearInterval"
-msgstr "CustominTearInterval"
-
-msgid "Cut"
-msgstr "剪下"
-
-msgid "Cutter"
-msgstr "剪下程式"
-
-msgid "Dark"
-msgstr "暗"
-
-msgid "Darkness"
-msgstr "暗"
-
-msgid "Data file sent successfully."
-msgstr ""
-
-msgid "Delete Class"
-msgstr "刪除類別"
-
-msgid "Delete Printer"
-msgstr "刪除印表機"
-
-msgid "Description: "
-msgstr "描述:"
-
-msgid "DeskJet Series"
-msgstr "DeskJet 系列"
-
-#, c-format
-msgid "Destination \"%s\" is not accepting jobs."
-msgstr "目的地“%s”不接受作業。"
-
-#, c-format
-msgid ""
-"Device: uri = %s\n"
-"        class = %s\n"
-"        info = %s\n"
-"        make-and-model = %s\n"
-"        device-id = %s\n"
-"        location = %s"
-msgstr ""
-
-msgid "Direct Thermal Media"
-msgstr "直接熱感媒體"
-
-#, c-format
-msgid "Directory \"%s\" contains a relative path."
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" is a file."
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" not available: %s"
-msgstr ""
-
-#, c-format
-msgid "Directory \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-msgid "Disabled"
-msgstr "已停用"
-
-#, c-format
-msgid "Document #%d does not exist in job #%d."
-msgstr ""
-
-msgid "Driver Name: "
-msgstr "驅動程式名稱:"
-
-msgid "Driver Version: "
-msgstr "驅動程式版本:"
-
-msgid "Duplexer"
-msgstr "Duplexer"
-
-msgid "Dymo"
-msgstr "Dymo"
-
-msgid "EPL1 Label Printer"
-msgstr "EPL1 標籤印表機"
-
-msgid "EPL2 Label Printer"
-msgstr "EPL2 標籤印表機"
-
-msgid "Edit Configuration File"
-msgstr "編輯配置檔案"
-
-msgid "Empty PPD file."
-msgstr ""
-
-#. TRANSLATORS: Banner/cover sheet after the print job.
-msgid "Ending Banner"
-msgstr "結束標語"
-
-msgid "English"
-msgstr ""
-
-msgid "Enter old password:"
-msgstr "輸入新密碼:"
-
-msgid "Enter password again:"
-msgstr "請再輸入密碼:"
-
-msgid "Enter password:"
-msgstr "輸入密碼:"
-
-msgid ""
-"Enter your username and password or the root username and password to access "
-"this page. If you are using Kerberos authentication, make sure you have a "
-"valid Kerberos ticket."
-msgstr ""
-"請輸入您的使用者名稱和密碼或 root 使用者名稱和密碼來存取此頁面。如果您是使用 "
-"Kerberos 認證,請確定具備有效的 Kerberos 票券。"
-
-msgid "Envelope #10 "
-msgstr ""
-
-msgid "Envelope #11"
-msgstr ""
-
-msgid "Envelope #12"
-msgstr ""
-
-msgid "Envelope #14"
-msgstr ""
-
-msgid "Envelope #9"
-msgstr ""
-
-msgid "Envelope B4"
-msgstr ""
-
-msgid "Envelope B5"
-msgstr ""
-
-msgid "Envelope B6"
-msgstr ""
-
-msgid "Envelope C0"
-msgstr ""
-
-msgid "Envelope C1"
-msgstr ""
-
-msgid "Envelope C2"
-msgstr ""
-
-msgid "Envelope C3"
-msgstr ""
-
-msgid "Envelope C4"
-msgstr ""
-
-msgid "Envelope C5"
-msgstr ""
-
-msgid "Envelope C6"
-msgstr ""
-
-msgid "Envelope C65"
-msgstr ""
-
-msgid "Envelope C7"
-msgstr ""
-
-msgid "Envelope Choukei 3"
-msgstr ""
-
-msgid "Envelope Choukei 3 Long Edge"
-msgstr ""
-
-msgid "Envelope Choukei 4"
-msgstr ""
-
-msgid "Envelope Choukei 4 Long Edge"
-msgstr ""
-
-msgid "Envelope DL"
-msgstr ""
-
-msgid "Envelope Feed"
-msgstr "信封送紙器"
-
-msgid "Envelope Invite"
-msgstr ""
-
-msgid "Envelope Italian"
-msgstr ""
-
-msgid "Envelope Kaku2"
-msgstr ""
-
-msgid "Envelope Kaku2 Long Edge"
-msgstr ""
-
-msgid "Envelope Kaku3"
-msgstr ""
-
-msgid "Envelope Kaku3 Long Edge"
-msgstr ""
-
-msgid "Envelope Monarch"
-msgstr ""
-
-msgid "Envelope PRC1 "
-msgstr ""
-
-msgid "Envelope PRC1 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC10"
-msgstr ""
-
-msgid "Envelope PRC10 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC2"
-msgstr ""
-
-msgid "Envelope PRC2 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC3"
-msgstr ""
-
-msgid "Envelope PRC3 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC4"
-msgstr ""
-
-msgid "Envelope PRC4 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC5 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC5PRC5"
-msgstr ""
-
-msgid "Envelope PRC6"
-msgstr ""
-
-msgid "Envelope PRC6 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC7"
-msgstr ""
-
-msgid "Envelope PRC7 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC8"
-msgstr ""
-
-msgid "Envelope PRC8 Long Edge"
-msgstr ""
-
-msgid "Envelope PRC9"
-msgstr ""
-
-msgid "Envelope PRC9 Long Edge"
-msgstr ""
-
-msgid "Envelope Personal"
-msgstr ""
-
-msgid "Envelope You4"
-msgstr ""
-
-msgid "Envelope You4 Long Edge"
-msgstr ""
-
-msgid "Epson"
-msgstr "Epson"
-
-msgid "Error Policy"
-msgstr "錯誤的原則"
-
-msgid "Error sending raster data."
-msgstr ""
-
-msgid "Error: need hostname after \"-h\" option."
-msgstr ""
-
-msgid "Every 10 Labels"
-msgstr "每 10 個標籤"
-
-msgid "Every 2 Labels"
-msgstr "每 2 個標籤"
-
-msgid "Every 3 Labels"
-msgstr "每 3 個標籤"
-
-msgid "Every 4 Labels"
-msgstr "每 4 個標籤"
-
-msgid "Every 5 Labels"
-msgstr "每 5 個標籤"
-
-msgid "Every 6 Labels"
-msgstr "每 6 個標籤"
-
-msgid "Every 7 Labels"
-msgstr "每 7 個標籤"
-
-msgid "Every 8 Labels"
-msgstr "每 8 個標籤"
-
-msgid "Every 9 Labels"
-msgstr "每 9 個標籤"
-
-msgid "Every Label"
-msgstr "每一個標籤"
-
-msgid "Executive"
-msgstr ""
-
-msgid "Expectation Failed"
-msgstr "與預期不符"
-
-msgid "Export Printers to Samba"
-msgstr "將印表機輸出至 Samba"
-
-msgid "FAIL"
-msgstr ""
-
-msgid "FanFold German"
-msgstr ""
-
-msgid "FanFold Legal German"
-msgstr ""
-
-msgid "Fanfold US"
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" contains a relative path."
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" is a directory."
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" not available: %s"
-msgstr ""
-
-#, c-format
-msgid "File \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
-msgstr ""
-
-msgid "File Folder"
-msgstr "檔案夾"
-
-msgid "File Folder - 9/16 x 3 7/16\""
-msgstr "檔案夾 - 9/16 x 3 7/16\""
-
-#, c-format
-msgid ""
-"File device URIs have been disabled. To enable, see the FileDevice directive "
-"in \"%s/cupsd.conf\"."
-msgstr ""
-
-#, c-format
-msgid "Finished page %d."
-msgstr ""
-
-msgid "Folio"
-msgstr "對開紙"
-
-msgid "Forbidden"
-msgstr "已禁止"
-
-#, c-format
-msgid "Formatting page %d."
-msgstr ""
-
-msgid "General"
-msgstr "一般"
-
-msgid "Generic"
-msgstr "通用"
-
-msgid "Get-Response-PDU uses indefinite length"
-msgstr "Get-Response-PDU 使用的長度不確定"
-
-msgid "Glossy Paper"
-msgstr "鏡面紙"
-
-msgid "Got a printer-uri attribute but no job-id."
-msgstr ""
-
-msgid "Grayscale"
-msgstr "灰階"
-
-msgid "HP"
-msgstr "HP"
-
-msgid "Hanging Folder"
-msgstr "懸掛的檔案夾"
-
-msgid "Hanging Folder - 9/16 x 2\""
-msgstr "懸掛的檔案夾 - 9/16 x 2\""
-
-msgid "IPP 1setOf attribute with incompatible value tags."
-msgstr ""
-
-msgid "IPP attribute has no name."
-msgstr ""
-
-msgid "IPP begCollection value not 0 bytes."
-msgstr ""
-
-msgid "IPP boolean value not 1 byte."
-msgstr ""
-
-msgid "IPP date value not 11 bytes."
-msgstr ""
-
-msgid "IPP endCollection value not 0 bytes."
-msgstr ""
-
-msgid "IPP enum value not 4 bytes."
-msgstr ""
-
-msgid "IPP integer value not 4 bytes."
-msgstr ""
-
-msgid "IPP language length overflows value."
-msgstr ""
-
-msgid "IPP member name is not empty."
-msgstr ""
-
-msgid "IPP name larger than 32767 bytes."
-msgstr ""
-
-msgid "IPP nameWithLanguage value less than minimum 4 bytes."
-msgstr ""
-
-msgid "IPP rangeOfInteger value not 8 bytes."
-msgstr ""
-
-msgid "IPP resolution value not 9 bytes."
-msgstr ""
-
-msgid "IPP string length overflows value."
-msgstr ""
-
-msgid "IPP textWithLanguage value less than minimum 4 bytes."
-msgstr ""
-
-msgid "IPP value larger than 32767 bytes."
-msgstr ""
-
-msgid "ISOLatin1"
-msgstr "UTF-8"
-
-msgid "Illegal control character"
-msgstr "不合法的控制字元"
-
-msgid "Illegal main keyword string"
-msgstr "不合法的主要關鍵字串"
-
-msgid "Illegal option keyword string"
-msgstr "不合法的選項關鍵字串"
-
-msgid "Illegal translation string"
-msgstr "不合法的轉換字串"
-
-msgid "Illegal whitespace character"
-msgstr "不合法的空白字元"
-
-msgid "Installable Options"
-msgstr "可安裝的選項"
-
-msgid "Installed"
-msgstr "已安裝"
-
-msgid "IntelliBar Label Printer"
-msgstr "IntelliBar 標籤印表機"
-
-msgid "Intellitech"
-msgstr "Intellitech"
-
-msgid "Internal Server Error"
-msgstr ""
-
-msgid "Internal error"
-msgstr "內部錯誤"
-
-msgid "Internet Postage 2-Part"
-msgstr "Internet Postage 2-Part"
-
-msgid "Internet Postage 2-Part - 2 1/4 x 7 1/2\""
-msgstr "Internet Postage 2-Part - 2 1/4 x 7 1/2\""
-
-msgid "Internet Postage 3-Part"
-msgstr "Internet Postage 3-Part"
-
-msgid "Internet Postage 3-Part - 2 1/4 x 7\""
-msgstr "Internet Postage 3-Part - 2 1/4 x 7\""
-
-msgid "Internet Printing Protocol"
-msgstr "Internet 列印通訊協定"
-
-#, c-format
-msgid "Invalid printer command \"%s\"."
-msgstr ""
-
-msgid "JCL"
-msgstr "JCL"
-
-msgid "JIS B0"
-msgstr ""
-
-msgid "JIS B1"
-msgstr ""
-
-msgid "JIS B10"
-msgstr ""
-
-msgid "JIS B2"
-msgstr ""
-
-msgid "JIS B3"
-msgstr ""
-
-msgid "JIS B4"
-msgstr ""
-
-msgid "JIS B4 Long Edge"
-msgstr ""
-
-msgid "JIS B5"
-msgstr ""
-
-msgid "JIS B5 Long Edge"
-msgstr ""
-
-msgid "JIS B6"
-msgstr ""
-
-msgid "JIS B6 Long Edge"
-msgstr ""
-
-msgid "JIS B7"
-msgstr ""
-
-msgid "JIS B8"
-msgstr ""
-
-msgid "JIS B9"
-msgstr ""
-
-#, c-format
-msgid "Job #%d cannot be restarted - no files."
-msgstr ""
-
-#, c-format
-msgid "Job #%d does not exist."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is already aborted - can't cancel."
-msgstr "已中止作業 #%d - 無法取消。"
-
-#, c-format
-msgid "Job #%d is already canceled - can't cancel."
-msgstr "已取消作業 #%d - 無法取消。"
-
-#, c-format
-msgid "Job #%d is already completed - can't cancel."
-msgstr "已完成作業 #%d - 無法取消。"
-
-#, c-format
-msgid "Job #%d is finished and cannot be altered."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is not complete."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is not held for authentication."
-msgstr ""
-
-#, c-format
-msgid "Job #%d is not held."
-msgstr ""
-
-msgid "Job Completed"
-msgstr "已完成作業"
-
-msgid "Job Created"
-msgstr "已建立作業"
-
-msgid "Job ID: "
-msgstr "作業 ID:"
-
-msgid "Job Options Changed"
-msgstr "已更改作業選項"
-
-msgid "Job Stopped"
-msgstr "已停止作業"
-
-msgid "Job UUID: "
-msgstr "作業 UUID:"
-
-msgid "Job is completed and cannot be changed."
-msgstr "作業已完成且無法更改。"
-
-msgid "Job operation failed:"
-msgstr "作業操作失敗:"
-
-msgid "Job state cannot be changed."
-msgstr "無法更改作業狀態。"
-
-msgid "Job subscriptions cannot be renewed."
-msgstr ""
-
-msgid "Jobs"
-msgstr "作業"
-
-msgid "LPD/LPR Host or Printer"
-msgstr "LPD/LPR 主機或印表機"
-
-msgid "Label Printer"
-msgstr "標籤印表機"
-
-msgid "Label Top"
-msgstr "標籤頂端"
-
-#, c-format
-msgid "Language \"%s\" not supported."
-msgstr ""
-
-msgid "Large Address"
-msgstr "大型地址"
-
-msgid "Large Address - 1 4/10 x 3 1/2\""
-msgstr "大型地址 - 1 4/10 x 3 1/2\""
-
-msgid "LaserJet Series PCL 4/5"
-msgstr "LaserJet 系列 PCL 4/5"
-
-msgid "Letter Oversize"
-msgstr ""
-
-msgid "Letter Oversize Long Edge"
-msgstr ""
-
-msgid "Light"
-msgstr "不明顯"
-
-msgid "Line longer than the maximum allowed (255 characters)"
-msgstr "允許行長度大於最大值(255 個字元)"
-
-msgid "List Available Printers"
-msgstr "列出可用印表機"
-
-msgid "Loading print file."
-msgstr ""
-
-msgid "Location: "
-msgstr "位置:"
-
-msgid "Long-Edge (Portrait)"
-msgstr "沿長邊(直式)"
-
-msgid "Looking for printer."
-msgstr ""
-
-msgid "Make and Model: "
-msgstr "製造和型號:"
-
-msgid "Manual Feed"
-msgstr "手動送紙"
-
-msgid "Media Dimensions: "
-msgstr "媒體尺寸:"
-
-msgid "Media Limits: "
-msgstr "媒體限制:"
-
-msgid "Media Name: "
-msgstr "媒體名稱:"
-
-msgid "Media Size"
-msgstr "媒體大小"
-
-msgid "Media Source"
-msgstr "媒體來源"
-
-msgid "Media Tracking"
-msgstr "媒體軌跡"
-
-msgid "Media Type"
-msgstr "媒體類型"
-
-msgid "Medium"
-msgstr "中"
-
-msgid "Memory allocation error"
-msgstr "記憶體分配錯誤"
-
-msgid "Missing CloseGroup"
-msgstr ""
-
-msgid "Missing PPD-Adobe-4.x header"
-msgstr "遺失 PPD-Adobe-4.x 標題"
-
-msgid "Missing asterisk in column 1"
-msgstr "直欄 1 中遺失星號"
-
-msgid "Missing document-number attribute."
-msgstr ""
-
-#, c-format
-msgid "Missing double quote on line %d."
-msgstr ""
-
-msgid "Missing form variable"
-msgstr ""
-
-msgid "Missing last-document attribute in request."
-msgstr ""
-
-msgid "Missing media or media-col."
-msgstr ""
-
-msgid "Missing media-size in media-col."
-msgstr ""
-
-msgid "Missing notify-subscription-ids attribute."
-msgstr ""
-
-msgid "Missing option keyword"
-msgstr ""
-
-msgid "Missing requesting-user-name attribute."
-msgstr ""
-
-msgid "Missing required attributes."
-msgstr ""
-
-#, c-format
-msgid "Missing value on line %d of banner file."
-msgstr ""
-
-#, c-format
-msgid "Missing value on line %d."
-msgstr ""
-
-msgid "Missing value string"
-msgstr "遺失值字串"
-
-msgid "Missing x-dimension in media-size."
-msgstr ""
-
-msgid "Missing y-dimension in media-size."
-msgstr ""
-
-#, c-format
-msgid ""
-"Model:  name = %s\n"
-"        natural_language = %s\n"
-"        make-and-model = %s\n"
-"        device-id = %s"
-msgstr ""
-
-msgid "Modify Class"
-msgstr "修改類別"
-
-msgid "Modify Printer"
-msgstr "修改印表機"
-
-msgid "Move All Jobs"
-msgstr "移動所有作業"
-
-msgid "Move Job"
-msgstr "移動作業"
-
-msgid "Moved Permanently"
-msgstr "永久地移動"
-
-msgid "NULL PPD file pointer"
-msgstr "NULL PPD 檔案指標"
-
-msgid "Name OID uses indefinite length"
-msgstr "名稱 OID 使用的長度不確定"
-
-msgid "Nested classes are not allowed."
-msgstr ""
-
-msgid "Never"
-msgstr "永不"
-
-msgid "New Stylus Color Series"
-msgstr "新 Stylus Color 系列"
-
-msgid "New Stylus Photo Series"
-msgstr "新 Stylus Photo 系列"
-
-msgid "No"
-msgstr "否"
-
-msgid "No Content"
-msgstr "無內容"
-
-msgid "No PPD name"
-msgstr ""
-
-msgid "No VarBind SEQUENCE"
-msgstr "沒有 VarBind SEQUENCE"
-
-msgid "No Windows printer drivers are installed."
-msgstr ""
-
-msgid "No active connection"
-msgstr "沒有已啟用的連線"
-
-#, c-format
-msgid "No active jobs on %s."
-msgstr ""
-
-msgid "No attributes in request."
-msgstr ""
-
-msgid "No authentication information provided."
-msgstr ""
-
-msgid "No community name"
-msgstr "沒有社群名稱"
-
-msgid "No default printer."
-msgstr ""
-
-msgid "No destinations added."
-msgstr "未加入目的地。"
-
-msgid "No device URI found in argv[0] or in DEVICE_URI environment variable."
-msgstr ""
-
-msgid "No error-index"
-msgstr "沒有錯誤索引"
-
-msgid "No error-status"
-msgstr "沒有錯誤狀態"
-
-msgid "No file in print request."
-msgstr ""
-
-msgid "No fonts in charset file."
-msgstr ""
-
-msgid "No modification time"
-msgstr ""
-
-msgid "No name OID"
-msgstr "沒有名稱 OID"
-
-msgid "No pages were found."
-msgstr ""
-
-msgid "No printer name"
-msgstr ""
-
-msgid "No printer-uri found"
-msgstr ""
-
-msgid "No printer-uri found for class"
-msgstr ""
-
-msgid "No printer-uri in request."
-msgstr ""
-
-msgid "No request-id"
-msgstr "沒有 request-id"
-
-msgid "No subscription attributes in request."
-msgstr ""
-
-msgid "No subscriptions found."
-msgstr "找不到訂閱。"
-
-msgid "No variable-bindings SEQUENCE"
-msgstr "沒有 variable-bindings SEQUENCE"
-
-msgid "No version number"
-msgstr "沒有版本號碼"
-
-msgid "Non-continuous (Mark sensing)"
-msgstr "不連續(標示感應)"
-
-msgid "Non-continuous (Web sensing)"
-msgstr "不連續(Web 感應)"
-
-msgid "Normal"
-msgstr "正常"
-
-msgid "Not Found"
-msgstr "找不到"
-
-msgid "Not Implemented"
-msgstr "尚未完成"
-
-msgid "Not Installed"
-msgstr "尚未安裝"
-
-msgid "Not Modified"
-msgstr "尚未修改"
-
-msgid "Not Supported"
-msgstr "不受支援"
-
-msgid "Not allowed to print."
-msgstr "不允許列印。"
-
-msgid "Note"
-msgstr "注意"
-
-msgid ""
-"Note: this program only validates the DSC comments, not the PostScript "
-"itself."
-msgstr ""
-
-msgid "OK"
-msgstr "確定"
-
-msgid "Off (1-Sided)"
-msgstr "關(單面)"
-
-msgid "Oki"
-msgstr "Oki"
-
-msgid "Online Help"
-msgstr "線上輔助說明"
-
-#, c-format
-msgid "Open of %s failed: %s"
-msgstr "打開 %s 失敗:%s"
-
-msgid "OpenGroup without a CloseGroup first"
-msgstr "OpenGroup 之前沒有先 CloseGroup"
-
-msgid "OpenUI/JCLOpenUI without a CloseUI/JCLCloseUI first"
-msgstr "OpenUI/JCLOpenUI 之前沒有先 CloseUI/JCLCloseUI"
-
-msgid "Operation Policy"
-msgstr "操作政策"
-
-#, c-format
-msgid "Option \"%s\" cannot be included via %%%%IncludeFeature."
-msgstr ""
-
-msgid "Options Installed"
-msgstr "已安裝的選項"
-
-msgid "Options:"
-msgstr ""
-
-msgid "Options: "
-msgstr "選項:"
-
-msgid "Out of date PPD cache file."
-msgstr ""
-
-msgid "Out of memory."
-msgstr ""
-
-msgid "Output Mode"
-msgstr "輸出模式"
-
-#, c-format
-msgid "Output for printer %s is sent to %s"
-msgstr ""
-
-#, c-format
-msgid "Output for printer %s is sent to remote printer %s on %s"
-msgstr ""
-
-#, c-format
-msgid "Output for printer %s/%s is sent to %s"
-msgstr ""
-
-#, c-format
-msgid "Output for printer %s/%s is sent to remote printer %s on %s"
-msgstr ""
-
-msgid "PASS"
-msgstr ""
-
-msgid "PCL Laser Printer"
-msgstr "PCL 雷射印表機"
-
-msgid "PRC16K"
-msgstr "PRC16K"
-
-msgid "PRC16K Long Edge"
-msgstr ""
-
-msgid "PRC32K"
-msgstr "PRC32K"
-
-msgid "PRC32K Long Edge"
-msgstr ""
-
-msgid "PRC32K Oversize"
-msgstr ""
-
-msgid "PRC32K Oversize Long Edge"
-msgstr ""
-
-msgid "Packet does not contain a Get-Response-PDU"
-msgstr "封包不包含 Get-Response-PDU"
-
-msgid "Packet does not start with SEQUENCE"
-msgstr "封包不是以 SEQUENCE 開頭"
-
-msgid "ParamCustominCutInterval"
-msgstr "ParamCustominCutInterval"
-
-msgid "ParamCustominTearInterval"
-msgstr "ParamCustominTearInterval"
-
-#, c-format
-msgid "Password for %s on %s? "
-msgstr "需要 %s(位於 %s 上)的密碼?"
-
-#, c-format
-msgid "Password for %s required to access %s via SAMBA: "
-msgstr "需要 %s 的密碼才能透過 SAMBA 存取 %s:"
-
-msgid "Pause Class"
-msgstr "暫停類別"
-
-msgid "Pause Printer"
-msgstr "暫停印表機"
-
-msgid "Peel-Off"
-msgstr "去皮"
-
-msgid "Photo"
-msgstr "照片"
-
-msgid "Photo Labels"
-msgstr "照片標籤"
-
-msgid "Plain Paper"
-msgstr "一般紙張"
-
-msgid "Policies"
-msgstr "政策"
-
-msgid "Port Monitor"
-msgstr "連接埠監視器"
-
-msgid "PostScript Printer"
-msgstr "PostScript 印表機"
-
-msgid "Postcard"
-msgstr "明信片"
-
-msgid "Postcard Double "
-msgstr ""
-
-msgid "Postcard Double Long Edge"
-msgstr ""
-
-msgid "Postcard Long Edge"
-msgstr ""
-
-msgid "Print Density"
-msgstr "列印密度"
-
-msgid "Print Job:"
-msgstr "列印作業:"
-
-msgid "Print Mode"
-msgstr "列印模式"
-
-msgid "Print Rate"
-msgstr "列印速率"
-
-msgid "Print Self-Test Page"
-msgstr "列印自我測試頁面"
-
-msgid "Print Speed"
-msgstr "列印速度"
-
-msgid "Print Test Page"
-msgstr "列印測試頁面"
-
-msgid "Print and Cut"
-msgstr "列印並剪下"
-
-msgid "Print and Tear"
-msgstr "列印並撕開"
-
-#, c-format
-msgid "Print file accepted - job ID %d."
-msgstr ""
-
-msgid "Print file accepted - job ID unknown."
-msgstr ""
-
-msgid "Print file sent."
-msgstr ""
-
-msgid "Print file was not accepted."
-msgstr ""
-
-msgid "Print job too large."
-msgstr ""
-
-msgid "Printed For: "
-msgstr "列印對象:"
-
-msgid "Printed From: "
-msgstr "列印自:"
-
-msgid "Printed On: "
-msgstr "列印日期:"
-
-msgid "Printer Added"
-msgstr "已加入印表機"
-
-msgid "Printer Default"
-msgstr "預設印表機"
-
-msgid "Printer Deleted"
-msgstr "已刪除印表機"
-
-msgid "Printer Modified"
-msgstr "已修改印表機"
-
-msgid "Printer Name: "
-msgstr "印表機名稱:"
-
-msgid "Printer Paused"
-msgstr "印表機已暫停"
-
-msgid "Printer Settings"
-msgstr "印表機設定"
-
-msgid "Printer busy, will retry in 10 seconds."
-msgstr ""
-
-msgid "Printer busy; will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer did not respond."
-msgstr ""
-
-#, c-format
-msgid "Printer does not support IPP/%d.%d, trying IPP/%s."
-msgstr ""
-
-msgid "Printer is busy, will retry in 5 seconds."
-msgstr ""
-
-msgid "Printer is not currently connected."
-msgstr ""
-
-msgid "Printer is now connected."
-msgstr ""
-
-msgid "Printer is now online."
-msgstr ""
-
-msgid "Printer is offline."
-msgstr ""
-
-msgid "Printer not connected, will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer not connected; will retry in 30 seconds."
-msgstr ""
-
-msgid "Printer:"
-msgstr "印表機:"
-
-msgid "Printers"
-msgstr "印表機"
-
-#, c-format
-msgid "Printing page %d, %d%% complete."
-msgstr ""
-
-#, c-format
-msgid "Printing page %d."
-msgstr ""
-
-msgid "Purge Jobs"
-msgstr "清除作業"
-
-msgid "Quarto"
-msgstr "四開紙"
-
-msgid "Quota limit reached."
-msgstr "已達到四開紙限制。"
-
-msgid "Rank    Owner   Job     File(s)                         Total Size"
-msgstr ""
-
-#. TRANSLATORS: Pri is job priority.
-msgid ""
-"Rank   Owner      Pri  Job        Files                       Total Size"
-msgstr ""
-
-msgid "Ready to print."
-msgstr ""
-
-msgid "Reject Jobs"
-msgstr "退出作業"
-
-#, c-format
-msgid "Remote host did not accept control file (%d)."
-msgstr ""
-
-#, c-format
-msgid "Remote host did not accept data file (%d)."
-msgstr ""
-
-msgid "Reprint After Error"
-msgstr "發生錯誤後重新列印"
-
-msgid "Request Entity Too Large"
-msgstr "請求的實體過大"
-
-msgid "Resolution"
-msgstr "解析度"
-
-msgid "Resume Class"
-msgstr "繼續類別"
-
-msgid "Resume Printer"
-msgstr "繼續印表機"
-
-msgid "Return Address"
-msgstr "寄件人地址"
-
-msgid "Return Address - 3/4 x 2\""
-msgstr "寄件人地址 - 3/4 x 2\""
-
-msgid "Rewind"
-msgstr "倒轉"
-
-#, c-format
-msgid "Running command: %s %s -N -A %s -c '%s'"
-msgstr ""
-
-msgid "SEQUENCE uses indefinite length"
-msgstr "SEQUENCE 使用的長度不確定"
-
-msgid "SSL/TLS Negotiation Error"
-msgstr ""
-
-msgid "See Other"
-msgstr "參閱其他"
-
-msgid "Sending data to printer."
-msgstr ""
-
-#, c-format
-msgid "Serial Port #%d"
-msgstr "序列埠 #%d"
-
-msgid "Server Restarted"
-msgstr "重新啟動伺服器"
-
-msgid "Server Security Auditing"
-msgstr "伺服器安全性審定"
-
-msgid "Server Started"
-msgstr "已啟動伺服器"
-
-msgid "Server Stopped"
-msgstr "已停止伺服器"
-
-msgid "Service Unavailable"
-msgstr "服務無法使用"
-
-msgid "Set Allowed Users"
-msgstr "設定允許的使用者"
-
-msgid "Set As Server Default"
-msgstr "設為伺服器預設值"
-
-msgid "Set Class Options"
-msgstr "設定類別選項"
-
-msgid "Set Printer Options"
-msgstr "設定印表機選項"
-
-msgid "Set Publishing"
-msgstr "設定發佈"
-
-msgid "Shipping Address"
-msgstr "運送地址"
-
-msgid "Shipping Address - 2 5/16 x 4\""
-msgstr "運送地址 - 2 5/16 x 4\""
-
-msgid "Short-Edge (Landscape)"
-msgstr "沿短邊(橫式)"
-
-msgid "Special Paper"
-msgstr "特殊紙張"
-
-#, c-format
-msgid "Spooling job, %.0f%% complete."
-msgstr ""
-
-msgid "Standard"
-msgstr "標準"
-
-#. TRANSLATORS: Banner/cover sheet before the print job.
-msgid "Starting Banner"
-msgstr "起始標語"
-
-#, c-format
-msgid "Starting page %d."
-msgstr ""
-
-msgid "Statement"
-msgstr "敘述"
-
-msgid "Stylus Color Series"
-msgstr "Stylus Color 系列"
-
-msgid "Stylus Photo Series"
-msgstr "Stylus Photo 系列"
-
-#, c-format
-msgid "Subscription #%d does not exist."
-msgstr ""
-
-msgid "Super A"
-msgstr "Super A"
-
-msgid "Super B"
-msgstr "Super B"
-
-msgid "Super B/A3"
-msgstr "Super B/A3"
-
-msgid "Switching Protocols"
-msgstr "切換通訊協定"
-
-msgid "Tabloid"
-msgstr "小報用紙(Tabloid)"
-
-msgid "Tabloid Oversize"
-msgstr ""
-
-msgid "Tabloid Oversize Long Edge"
-msgstr ""
-
-msgid "Tear"
-msgstr "撕開"
-
-msgid "Tear-Off"
-msgstr "撕下"
-
-msgid "Tear-Off Adjust Position"
-msgstr "撕下調整位置"
-
-#, c-format
-msgid "The %s attribute cannot be provided with job-ids."
-msgstr ""
-
-#, c-format
-msgid "The PPD file \"%s\" could not be found."
-msgstr "找不到 PPD 檔案“%s”。"
-
-#, c-format
-msgid "The PPD file \"%s\" could not be opened: %s"
-msgstr "無法打開 PPD 檔案“%s”:%s"
-
-msgid "The PPD file could not be opened."
-msgstr ""
-
-msgid ""
-"The class name may only contain up to 127 printable characters and may not "
-"contain spaces, slashes (/), or the pound sign (#)."
-msgstr ""
-"類別名稱只能包含最多 127 個可列印字元,而且不能包含空格、斜線(/)或井字號"
-"(#)。"
-
-msgid "The developer unit needs to be replaced."
-msgstr ""
-
-msgid "The developer unit will need to be replaced soon."
-msgstr ""
-
-msgid "The fuser's temperature is high."
-msgstr ""
-
-msgid "The fuser's temperature is low."
-msgstr ""
-
-msgid ""
-"The notify-lease-duration attribute cannot be used with job subscriptions."
-msgstr "notify-lease-duration 屬性不能與作業訂閱搭配使用。"
-
-#, c-format
-msgid "The notify-user-data value is too large (%d > 63 octets)."
-msgstr ""
-
-msgid "The optical photoconductor needs to be replaced."
-msgstr ""
-
-msgid "The optical photoconductor will need to be replaced soon."
-msgstr ""
-
-msgid "The output bin is almost full."
-msgstr ""
-
-msgid "The output bin is full."
-msgstr ""
-
-msgid "The output bin is missing."
-msgstr ""
-
-msgid "The page setup information was not valid."
-msgstr ""
-
-msgid "The paper tray is almost empty."
-msgstr ""
-
-msgid "The paper tray is empty."
-msgstr ""
-
-msgid "The paper tray is missing."
-msgstr ""
-
-msgid "The paper tray needs to be filled."
-msgstr ""
-
-msgid "The print file could not be opened."
-msgstr ""
-
-msgid "The printer URI is incorrect or no longer exists."
-msgstr ""
-
-msgid "The printer is busy."
-msgstr ""
-
-msgid "The printer is not connected."
-msgstr ""
-
-msgid "The printer is not responding."
-msgstr ""
-
-msgid "The printer is out of ink."
-msgstr ""
-
-msgid "The printer is running low on ink."
-msgstr ""
-
-msgid "The printer is running low on toner."
-msgstr ""
-
-msgid "The printer is unreachable at this time."
-msgstr ""
-
-msgid "The printer may be out of toner."
-msgstr ""
-
-msgid "The printer may not exist or is unavailable at this time."
-msgstr ""
-
-msgid ""
-"The printer name may only contain up to 127 printable characters and may not "
-"contain spaces, slashes (/), or the pound sign (#)."
-msgstr ""
-"印表機名稱只能包含最多 127 個可列印的字元,而且不能包含空格、斜線(/)或井字"
-"號(#)。"
-
-msgid "The printer or class does not exist."
-msgstr ""
-
-msgid "The printer or class is not shared."
-msgstr ""
-
-msgid "The printer's cover is open."
-msgstr ""
-
-msgid "The printer's door is open."
-msgstr ""
-
-msgid "The printer's interlock is open."
-msgstr ""
-
-msgid "The printer's waste bin is almost full."
-msgstr ""
-
-msgid "The printer's waste bin is full."
-msgstr ""
-
-#, c-format
-msgid "The printer-uri \"%s\" contains invalid characters."
-msgstr "printer-uri“%s”包含無效的字元。"
-
-msgid "The printer-uri attribute is required."
-msgstr ""
-
-msgid ""
-"The printer-uri must be of the form \"ipp://HOSTNAME/classes/CLASSNAME\"."
-msgstr "printer-uri 格式必須為“ipp://HOSTNAME/classes/CLASSNAME”。"
-
-msgid ""
-"The printer-uri must be of the form \"ipp://HOSTNAME/printers/PRINTERNAME\"."
-msgstr "printer-uri 格式必須為“ipp://HOSTNAME/printers/PRINTERNAME”。"
-
-msgid ""
-"The subscription name may not contain spaces, slashes (/), question marks "
-"(?), or the pound sign (#)."
-msgstr "訂閱名稱不能包含空格、斜線(/)、問號(?)或井字號(#)。"
-
-msgid ""
-"The web interface is currently disabled. Run \"cupsctl WebInterface=yes\" to "
-"enable it."
-msgstr ""
-
-#, c-format
-msgid "The which-jobs value \"%s\" is not supported."
-msgstr ""
-
-msgid "There are too many subscriptions."
-msgstr "訂閱數量太多。"
-
-msgid "There is a paper jam."
-msgstr ""
-
-msgid "There was an unrecoverable USB error."
-msgstr ""
-
-msgid "Thermal Transfer Media"
-msgstr "熱感傳送媒體"
-
-msgid "Title: "
-msgstr "標題:"
-
-msgid "Too many active jobs."
-msgstr "已啟用的作業太多。"
-
-#, c-format
-msgid "Too many job-sheets values (%d > 2)."
-msgstr ""
-
-#, c-format
-msgid "Too many printer-state-reasons values (%d > %d)."
-msgstr ""
-
-msgid "Transparency"
-msgstr "透明度"
-
-msgid "Tray"
-msgstr "裝紙匣"
-
-msgid "Tray 1"
-msgstr "裝紙匣 1"
-
-msgid "Tray 2"
-msgstr "裝紙匣 2"
-
-msgid "Tray 3"
-msgstr "裝紙匣 3"
-
-msgid "Tray 4"
-msgstr "裝紙匣 4"
-
-msgid "URI Too Long"
-msgstr "URI 太長"
-
-msgid "US Ledger"
-msgstr "美式帳目報表紙(US Ledger)"
-
-msgid "US Legal"
-msgstr "美式法定紙(US Legal)"
-
-msgid "US Legal Oversize"
-msgstr ""
-
-msgid "US Letter"
-msgstr "美式信紙(US Letter)"
-
-msgid "US Letter Long Edge"
-msgstr ""
-
-msgid "US Letter Oversize"
-msgstr ""
-
-msgid "US Letter Oversize Long Edge"
-msgstr ""
-
-msgid "US Letter Small"
-msgstr ""
-
-#, c-format
-msgid "USB Serial Port #%d"
-msgstr "USB 序列埠 #%d"
-
-msgid "Unable to access cupsd.conf file:"
-msgstr "無法存取 cupsd.conf 檔案:"
-
-msgid "Unable to add RSS subscription:"
-msgstr "無法加入 RSS 訂閱:"
-
-msgid "Unable to add class:"
-msgstr "無法加入類別:"
-
-msgid "Unable to add document to print job."
-msgstr ""
-
-#, c-format
-msgid "Unable to add job for destination \"%s\"."
-msgstr ""
-
-msgid "Unable to add printer:"
-msgstr "無法新增印表機:"
-
-msgid "Unable to allocate memory for file types."
-msgstr ""
-
-msgid "Unable to allocate memory for page info"
-msgstr ""
-
-msgid "Unable to allocate memory for pages array"
-msgstr ""
-
-msgid "Unable to cancel RSS subscription:"
-msgstr "無法取消 RSS 訂閱:"
-
-msgid "Unable to cancel print job."
-msgstr ""
-
-msgid "Unable to change printer-is-shared attribute:"
-msgstr "無法更改 printer-is-shared 屬性:"
-
-msgid "Unable to change printer:"
-msgstr "無法更改印表機:"
-
-msgid "Unable to change server settings:"
-msgstr "無法更改伺服器設定:"
-
-msgid "Unable to configure printer options."
-msgstr ""
-
-msgid "Unable to connect to host."
-msgstr "無法連接主機。"
-
-msgid "Unable to contact printer, queuing on next printer in class."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy 64-bit CUPS printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy 64-bit Windows printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy CUPS printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy PPD file - %s"
-msgstr ""
-
-msgid "Unable to copy PPD file."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy Windows 2000 printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy Windows 9x printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to copy interface script - %s"
-msgstr ""
-
-msgid "Unable to copy print file"
-msgstr ""
-
-msgid "Unable to create compressed print file"
-msgstr ""
-
-msgid "Unable to create pipes for filters"
-msgstr ""
-
-msgid "Unable to create printer-uri"
-msgstr ""
-
-msgid "Unable to create temporary file"
-msgstr ""
-
-msgid "Unable to create temporary file:"
-msgstr "無法製作暫存檔:"
-
-msgid "Unable to delete class:"
-msgstr "無法刪除類別:"
-
-msgid "Unable to delete printer:"
-msgstr "無法刪除印表機:"
-
-msgid "Unable to do maintenance command:"
-msgstr "無法執行維護指令:"
-
-msgid "Unable to edit cupsd.conf files larger than 1MB"
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (certificate chain invalid)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (certificate not yet valid)."
-msgstr ""
-
-msgid "Unable to establish a secure connection to host (expired certificate)."
-msgstr ""
-
-msgid "Unable to establish a secure connection to host (host name mismatch)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (peer dropped connection "
-"before responding)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (self-signed certificate)."
-msgstr ""
-
-msgid ""
-"Unable to establish a secure connection to host (untrusted certificate)."
-msgstr ""
-
-msgid "Unable to establish a secure connection to host."
-msgstr ""
-
-msgid "Unable to find destination for job"
-msgstr ""
-
-msgid "Unable to find printer."
-msgstr ""
-
-msgid "Unable to fork filter"
-msgstr ""
-
-msgid "Unable to generate compressed print file"
-msgstr ""
-
-msgid "Unable to get backend exit status."
-msgstr ""
-
-msgid "Unable to get class list:"
-msgstr "無法取得類別列表:"
-
-msgid "Unable to get class status:"
-msgstr "無法取得類別狀態:"
-
-msgid "Unable to get list of printer drivers:"
-msgstr "無法取得印表機驅動程式的列表:"
-
-msgid "Unable to get printer attributes:"
-msgstr "無法取得印表機屬性:"
-
-msgid "Unable to get printer list:"
-msgstr "無法取得印表機列表:"
-
-msgid "Unable to get printer status."
-msgstr ""
-
-msgid "Unable to get printer status:"
-msgstr "無法取得印表機狀態:"
-
-#, c-format
-msgid "Unable to install Windows 2000 printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to install Windows 9x printer driver files (%d)."
-msgstr ""
-
-#, c-format
-msgid "Unable to locate printer \"%s\"."
-msgstr ""
-
-msgid "Unable to locate printer."
-msgstr ""
-
-msgid "Unable to modify class:"
-msgstr "無法修改類別:"
-
-msgid "Unable to modify printer:"
-msgstr "無法修改印表機:"
-
-msgid "Unable to move job"
-msgstr "無法移動作業"
-
-msgid "Unable to move jobs"
-msgstr "無法移動作業"
-
-msgid "Unable to open PPD file"
-msgstr "無法打開 PPD 檔案"
-
-msgid "Unable to open PPD file:"
-msgstr "無法打開 PPD 檔案:"
-
-msgid "Unable to open charset file"
-msgstr ""
-
-msgid "Unable to open compressed print file"
-msgstr ""
-
-msgid "Unable to open cupsd.conf file:"
-msgstr "無法打開 cupsd.conf 檔案:"
-
-msgid "Unable to open device file"
-msgstr ""
-
-#, c-format
-msgid "Unable to open document #%d in job #%d."
-msgstr ""
-
-msgid "Unable to open print file"
-msgstr ""
-
-msgid "Unable to open psglyphs"
-msgstr ""
-
-msgid "Unable to open raster file"
-msgstr ""
-
-#, c-format
-msgid "Unable to print %d text columns."
-msgstr ""
-
-#, c-format
-msgid "Unable to print %dx%d text page."
-msgstr ""
-
-msgid "Unable to print test page:"
-msgstr "無法列印測試頁面:"
-
-msgid "Unable to read print data"
-msgstr ""
-
-msgid "Unable to read print data."
-msgstr ""
-
-#, c-format
-msgid "Unable to run \"%s\": %s"
-msgstr ""
-
-msgid "Unable to see in file"
-msgstr ""
-
-msgid "Unable to send command to printer driver"
-msgstr ""
-
-msgid "Unable to send data to printer."
-msgstr ""
-
-msgid "Unable to send raster data to the driver."
-msgstr ""
-
-#, c-format
-msgid "Unable to set Windows printer driver (%d)."
-msgstr ""
-
-msgid "Unable to set options:"
-msgstr "無法設定選項:"
-
-msgid "Unable to set server default:"
-msgstr "無法設定伺服器預設值:"
-
-msgid "Unable to start backend process."
-msgstr ""
-
-msgid "Unable to upload cupsd.conf file:"
-msgstr "無法上傳 cupsd.conf 檔案:"
-
-msgid "Unable to use legacy USB class driver."
-msgstr ""
-
-msgid "Unable to write print data"
-msgstr ""
-
-#, c-format
-msgid "Unable to write uncompressed print data: %s"
-msgstr ""
-
-msgid "Unauthorized"
-msgstr "未授權"
-
-msgid "Units"
-msgstr "單位"
-
-msgid "Unknown"
-msgstr "未知"
-
-#, c-format
-msgid "Unknown choice \"%s\" for option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown encryption option value: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown file order: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown format character: \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown option \"%s\" with value \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown print mode: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unknown printer-error-policy \"%s\"."
-msgstr "未知的 printer-error-policy“%s”。"
-
-#, c-format
-msgid "Unknown printer-op-policy \"%s\"."
-msgstr "未知的 printer-op-policy“%s”。"
-
-#, c-format
-msgid "Unknown version option value: \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported baud rate: %s"
-msgstr ""
-
-#, c-format
-msgid "Unsupported brightness value %s, using brightness=100."
-msgstr ""
-
-#, c-format
-msgid "Unsupported character set \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported compression \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported document-format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported document-format \"%s/%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported format \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "Unsupported gamma value %s, using gamma=1000."
-msgstr ""
-
-msgid "Unsupported margins."
-msgstr ""
-
-msgid "Unsupported media value."
-msgstr ""
-
-#, c-format
-msgid "Unsupported number-up value %d, using number-up=1."
-msgstr ""
-
-#, c-format
-msgid "Unsupported number-up-layout value %s, using number-up-layout=lrtb."
-msgstr ""
-
-#, c-format
-msgid "Unsupported page-border value %s, using page-border=none."
-msgstr ""
-
-msgid "Unsupported raster data."
-msgstr ""
-
-msgid "Unsupported value type"
-msgstr "不受支援的值類型"
-
-msgid "Upgrade Required"
-msgstr "需要升級"
-
-msgid ""
-"Usage:\n"
-"\n"
-"    lpadmin [-h server] -d destination\n"
-"    lpadmin [-h server] -x destination\n"
-"    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m model]\n"
-"                       [-r remove-class] [-v device] [-D description]\n"
-"                       [-P ppd-file] [-o name=value]\n"
-"                       [-u allow:user,user] [-u deny:user,user]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job user title copies options [filename]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job-id user title copies options [file]"
-msgstr ""
-
-#, c-format
-msgid "Usage: %s job-id user title copies options file"
-msgstr ""
-
-msgid "Usage: convert [ options ]"
-msgstr ""
-
-msgid "Usage: cupsaddsmb [options] printer1 ... printerN"
-msgstr ""
-
-msgid "Usage: cupsctl [options] [param=value ... paramN=valueN]"
-msgstr ""
-
-msgid "Usage: cupsd [options]"
-msgstr ""
-
-msgid "Usage: cupsfilter [ options ] filename"
-msgstr ""
-
-msgid "Usage: cupstestdsc [options] filename.ps [... filename.ps]"
-msgstr ""
-
-msgid ""
-"Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]"
-msgstr ""
-
-msgid "Usage: ipptool [options] URI filename [ ... filenameN ]"
-msgstr ""
-
-msgid "Usage: lpmove job/src dest"
-msgstr ""
-
-msgid ""
-"Usage: lpoptions [-h server] [-E] -d printer\n"
-"       lpoptions [-h server] [-E] [-p printer] -l\n"
-"       lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
-"       lpoptions [-h server] [-E] -x printer"
-msgstr ""
-
-msgid "Usage: lppasswd [-g groupname]"
-msgstr ""
-
-msgid ""
-"Usage: lppasswd [-g groupname] [username]\n"
-"       lppasswd [-g groupname] -a [username]\n"
-"       lppasswd [-g groupname] -x [username]"
-msgstr ""
-
-msgid ""
-"Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]"
-msgstr ""
-
-msgid "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]"
-msgstr ""
-
-msgid "Usage: ppdhtml [options] filename.drv >filename.html"
-msgstr ""
-
-msgid "Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]"
-msgstr ""
-
-msgid "Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]"
-msgstr ""
-
-msgid ""
-"Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]"
-msgstr ""
-
-msgid "Usage: snmp [host-or-ip-address]"
-msgstr ""
-
-msgid "Value uses indefinite length"
-msgstr "值使用的長度不確定"
-
-msgid "VarBind uses indefinite length"
-msgstr "VarBind 使用的長度不確定"
-
-msgid "Version uses indefinite length"
-msgstr "版本使用的長度不確定"
-
-msgid "Waiting for job to complete."
-msgstr ""
-
-msgid "Waiting for printer to become available."
-msgstr ""
-
-msgid "Waiting for printer to finish."
-msgstr ""
-
-msgid "Warning, no Windows 2000 printer drivers are installed."
-msgstr ""
-
-msgid "Web Interface is Disabled"
-msgstr ""
-
-msgid "Yes"
-msgstr "是"
-
-#, c-format
-msgid ""
-"You must access this page using the URL <A HREF=\"https://%s:%d%s\">https://%"
-"s:%d%s</A>."
-msgstr ""
-"您必須使用 URL <A HREF=\"https://%s:%d%s\">https://%s:%d%s</A> 存取此頁面。"
-
-msgid ""
-"Your password must be at least 6 characters long, cannot contain your "
-"username, and must contain at least one letter and number."
-msgstr ""
-
-msgid "ZPL Label Printer"
-msgstr "ZPL 標籤印表機"
-
-msgid "Zebra"
-msgstr "Zebra"
-
-msgid "aborted"
-msgstr "已中止"
-
-msgid "canceled"
-msgstr "已取消"
-
-msgid "completed"
-msgstr "已完成"
-
-msgid "convert: Use the -f option to specify a file to convert."
-msgstr ""
-
-msgid "cups-deviced failed to execute."
-msgstr "無法執行 cups-deviced。"
-
-msgid "cups-driverd failed to execute."
-msgstr "無法執行 cups-driverd。"
-
-#, c-format
-msgid "cupsaddsmb: No PPD file for printer \"%s\" - %s"
-msgstr ""
-
-msgid "cupsctl: Cannot set Listen or Port directly."
-msgstr ""
-
-#, c-format
-msgid "cupsctl: Unable to connect to server: %s"
-msgstr ""
-
-#, c-format
-msgid "cupsctl: Unknown option \"%s\""
-msgstr ""
-
-#, c-format
-msgid "cupsctl: Unknown option \"-%c\""
-msgstr ""
-
-msgid "cupsd: Expected config filename after \"-c\" option."
-msgstr ""
-
-msgid "cupsd: Unable to get current directory."
-msgstr ""
-
-#, c-format
-msgid "cupsd: Unknown argument \"%s\" - aborting."
-msgstr ""
-
-#, c-format
-msgid "cupsd: Unknown option \"%c\" - aborting."
-msgstr ""
-
-msgid "cupsd: launchd(8) support not compiled in, running in normal mode."
-msgstr ""
-
-#, c-format
-msgid "cupsfilter: Invalid document number %d."
-msgstr ""
-
-#, c-format
-msgid "cupsfilter: Invalid job ID %d."
-msgstr ""
-
-msgid "cupsfilter: Only one filename can be specified."
-msgstr ""
-
-#, c-format
-msgid "cupsfilter: Unable to get job file - %s"
-msgstr ""
-
-msgid "cupstestppd: The -q option is incompatible with the -v option."
-msgstr ""
-
-msgid "cupstestppd: The -v option is incompatible with the -q option."
-msgstr ""
-
-#, c-format
-msgid "device for %s/%s: %s"
-msgstr ""
-
-#, c-format
-msgid "device for %s: %s"
-msgstr ""
-
-msgid "error-index uses indefinite length"
-msgstr "error-index 使用的長度不確定"
-
-msgid "error-status uses indefinite length"
-msgstr "error-status 使用的長度不確定"
-
-msgid "held"
-msgstr "暫停"
-
-msgid "help\t\tGet help on commands."
-msgstr ""
-
-msgid "idle"
-msgstr "閒置"
-
-msgid "ipptool: \"-i\" and \"-n\" are incompatible with -X\"."
-msgstr ""
-
-msgid "ipptool: \"-i\" is incompatible with \"-X\"."
-msgstr ""
-
-msgid "ipptool: \"-n\" is incompatible with \"-X\"."
-msgstr ""
-
-#, c-format
-msgid "ipptool: Bad URI - %s."
-msgstr ""
-
-#, c-format
-msgid "ipptool: Bad version %s for \"-V\"."
-msgstr ""
-
-msgid "ipptool: Invalid seconds for \"-i\"."
-msgstr ""
-
-msgid "ipptool: May only specify a single URI."
-msgstr ""
-
-msgid "ipptool: Missing count for \"-n\"."
-msgstr ""
-
-msgid "ipptool: Missing filename for \"-f\"."
-msgstr ""
-
-msgid "ipptool: Missing name=value for \"-d\"."
-msgstr ""
-
-msgid "ipptool: Missing seconds for \"-i\"."
-msgstr ""
-
-msgid "ipptool: Missing timeout for \"-T\"."
-msgstr ""
-
-msgid "ipptool: Missing version for \"-V\"."
-msgstr ""
-
-msgid "ipptool: URI required before test file."
-msgstr ""
-
-#, c-format
-msgid "ipptool: Unknown option \"-%c\"."
-msgstr ""
-
-msgid "job-printer-uri attribute missing."
-msgstr ""
-
-msgid "lpadmin: Class name can only contain printable characters."
-msgstr ""
-
-msgid "lpadmin: Expected PPD after \"-P\" option."
-msgstr ""
-
-msgid "lpadmin: Expected allow/deny:userlist after \"-u\" option."
-msgstr ""
-
-msgid "lpadmin: Expected class after \"-r\" option."
-msgstr ""
-
-msgid "lpadmin: Expected class name after \"-c\" option."
-msgstr ""
-
-msgid "lpadmin: Expected description after \"-D\" option."
-msgstr ""
-
-msgid "lpadmin: Expected device URI after \"-v\" option."
-msgstr ""
-
-msgid "lpadmin: Expected file type(s) after \"-I\" option."
-msgstr ""
-
-msgid "lpadmin: Expected hostname after \"-h\" option."
-msgstr ""
-
-msgid "lpadmin: Expected interface after \"-i\" option."
-msgstr ""
-
-msgid "lpadmin: Expected location after \"-L\" option."
-msgstr ""
-
-msgid "lpadmin: Expected model after \"-m\" option."
-msgstr ""
-
-msgid "lpadmin: Expected name after \"-R\" option."
-msgstr ""
-
-msgid "lpadmin: Expected name=value after \"-o\" option."
-msgstr ""
-
-msgid "lpadmin: Expected printer after \"-p\" option."
-msgstr ""
-
-msgid "lpadmin: Expected printer name after \"-d\" option."
-msgstr ""
-
-msgid "lpadmin: Expected printer or class after \"-x\" option."
-msgstr ""
-
-msgid "lpadmin: No member names were seen."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Printer %s is already a member of class %s."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Printer %s is not a member of class %s."
-msgstr ""
-
-msgid "lpadmin: Printer name can only contain printable characters."
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to add a printer to the class:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unable to connect to server: %s"
-msgstr ""
-
-msgid "lpadmin: Unable to create temporary file"
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to delete option:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unable to open PPD file \"%s\" - %s"
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to remove a printer from the class:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-msgid ""
-"lpadmin: Unable to set the printer options:\n"
-"         You must specify a printer name first."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unknown allow/deny option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unknown argument \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpadmin: Unknown option \"%c\"."
-msgstr ""
-
-msgid "lpadmin: Warning - content type list ignored."
-msgstr ""
-
-msgid "lpc> "
-msgstr "lpc> "
-
-msgid "lpinfo: Expected 1284 device ID string after \"--device-id\"."
-msgstr ""
-
-msgid "lpinfo: Expected language after \"--language\"."
-msgstr ""
-
-msgid "lpinfo: Expected make and model after \"--make-and-model\"."
-msgstr ""
-
-msgid "lpinfo: Expected product string after \"--product\"."
-msgstr ""
-
-msgid "lpinfo: Expected scheme list after \"--exclude-schemes\"."
-msgstr ""
-
-msgid "lpinfo: Expected scheme list after \"--include-schemes\"."
-msgstr ""
-
-msgid "lpinfo: Expected timeout after \"--timeout\"."
-msgstr ""
-
-#, c-format
-msgid "lpinfo: Unknown argument \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpinfo: Unknown option \"%c\"."
-msgstr ""
-
-#, c-format
-msgid "lpinfo: Unknown option \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpmove: Unable to connect to server: %s"
-msgstr ""
-
-#, c-format
-msgid "lpmove: Unknown argument \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "lpmove: Unknown option \"%c\"."
-msgstr ""
-
-msgid "lpoptions: No printers."
-msgstr ""
-
-#, c-format
-msgid "lpoptions: Unable to add printer or instance: %s"
-msgstr ""
-
-#, c-format
-msgid "lpoptions: Unable to get PPD file for %s: %s"
-msgstr ""
-
-#, c-format
-msgid "lpoptions: Unable to open PPD file for %s."
-msgstr ""
-
-msgid "lpoptions: Unknown printer or class."
-msgstr ""
-
-msgid "lppasswd: Only root can add or delete passwords."
-msgstr ""
-
-msgid "lppasswd: Password file busy."
-msgstr ""
-
-msgid "lppasswd: Password file not updated."
-msgstr ""
-
-msgid "lppasswd: Sorry, password doesn't match."
-msgstr ""
-
-msgid "lppasswd: Sorry, password rejected."
-msgstr ""
-
-msgid "lppasswd: Sorry, passwords don't match."
-msgstr ""
-
-#, c-format
-msgid "lppasswd: Unable to copy password string: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: Unable to open password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: Unable to write to password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: failed to backup old password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: failed to rename password file: %s"
-msgstr ""
-
-#, c-format
-msgid "lppasswd: user \"%s\" and group \"%s\" do not exist."
-msgstr ""
-
-#, c-format
-msgid ""
-"lpstat: error - %s environment variable names non-existent destination \"%s"
-"\"."
-msgstr ""
-
-#, c-format
-msgid "members of class %s:"
-msgstr ""
-
-msgid "no entries"
-msgstr ""
-
-msgid "no system default destination"
-msgstr ""
-
-msgid "notify-events not specified."
-msgstr ""
-
-#, c-format
-msgid "notify-recipient-uri URI \"%s\" is already used."
-msgstr ""
-
-#, c-format
-msgid "notify-recipient-uri URI \"%s\" uses unknown scheme."
-msgstr ""
-
-msgid "pending"
-msgstr "等待中"
-
-#, c-format
-msgid "ppdc: Adding include directory \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Adding/updating UI text from %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad boolean value (%s) on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad font attribute: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad resolution name \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad status keyword %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Bad variable substitution ($%c) on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Choice found on line %d of %s with no Option."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Duplicate #po for locale %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected a filter definition on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected a program name on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected boolean value on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected charset after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected choice code on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected choice name/text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected color order for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected colorspace for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected compression for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected constraints string for UIConstraints on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Expected driver type keyword following DriverType on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected duplex type after Duplex on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected encoding after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected filename after #po %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected group name/text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected include filename on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected integer on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected locale after #po on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after FileName on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after Manufacturer on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after MediaSize on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after ModelName on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name after PCFileName on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text after Installable on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text after Resolution on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected name/text combination for ColorModel on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected option name/text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected option section on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected option type on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected override field after Resolution on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected quoted string on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected real number on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Expected resolution/mediatype following ColorProfile on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Expected resolution/mediatype following SimpleColorProfile on line %d "
-"of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected selector after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected status after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected string after Copyright on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected string after Version on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected two option names on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected value after %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Expected version after Font on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid #include/#po filename \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid cost for filter on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid empty MIME type for filter on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid empty program name for filter on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid option section \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Invalid option type \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Loading driver information file \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Loading messages for locale \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Loading messages from \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Missing #endif at end of \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Missing #if on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Need a msgid line before any translation strings on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: No message catalog provided for locale %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Option %s defined in two different groups on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Option %s redefined with a different type on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Option constraint must *name on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Too many nested #if's on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to create PPD file \"%s\" - %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to create output directory %s: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to create output pipes: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to execute cupstestppd: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to find #po file %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to find include file \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to find localization for \"%s\" - %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to load localization file \"%s\" - %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unable to open %s: %s"
-msgstr ""
-
-#, c-format
-msgid "ppdc: Undefined variable (%s) on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unexpected text on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown driver type %s on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown media size \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown message catalog format for \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unknown token \"%s\" seen on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid ""
-"ppdc: Unknown trailing characters in real number \"%s\" on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Unterminated string starting with %c on line %d of %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Warning - overlapping filename \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Writing %s."
-msgstr ""
-
-#, c-format
-msgid "ppdc: Writing PPD files to directory \"%s\"."
-msgstr ""
-
-#, c-format
-msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s."
-msgstr ""
-
-#, c-format
-msgid "ppdmerge: Ignoring PPD file %s."
-msgstr ""
-
-#, c-format
-msgid "ppdmerge: Unable to backup %s to %s - %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s disabled since %s -"
-msgstr ""
-
-#, c-format
-msgid "printer %s is idle.  enabled since %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s now printing %s-%d.  enabled since %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s/%s disabled since %s -"
-msgstr ""
-
-#, c-format
-msgid "printer %s/%s is idle.  enabled since %s"
-msgstr ""
-
-#, c-format
-msgid "printer %s/%s now printing %s-%d.  enabled since %s"
-msgstr ""
-
-msgid "processing"
-msgstr "正在處理"
-
-#, c-format
-msgid "request id is %s-%d (%d file(s))"
-msgstr ""
-
-msgid "request-id uses indefinite length"
-msgstr "request-id 使用的長度不確定"
-
-msgid "scheduler is not running"
-msgstr ""
-
-msgid "scheduler is running"
-msgstr ""
-
-#, c-format
-msgid "stat of %s failed: %s"
-msgstr "啟動 %s 失敗:%s"
-
-msgid "status\t\tShow status of daemon and queue."
-msgstr ""
-
-msgid "stopped"
-msgstr "已停止"
-
-#, c-format
-msgid "system default destination: %s"
-msgstr ""
-
-#, c-format
-msgid "system default destination: %s/%s"
-msgstr ""
-
-msgid "unknown"
-msgstr "未知"
-
-msgid "untitled"
-msgstr "未命名"
-
-msgid "variable-bindings uses indefinite length"
-msgstr "variable-bindings 使用的長度不確定"
-
-#~ msgid "\t\t(all)\n"
-#~ msgstr "\t\t(全部)\n"
-
-#~ msgid "\t\t(none)\n"
-#~ msgstr "\t\t(無)\n"
-
-#~ msgid "\t%d entries\n"
-#~ msgstr "\t%d 個項目\n"
-
-#~ msgid "\tAfter fault: continue\n"
-#~ msgstr "\t出錯後:繼續\n"
-
-#~ msgid "\tAlerts:"
-#~ msgstr "\tWARNING: "
-
-#~ msgid "\tBanner required\n"
-#~ msgstr "\t需要標語:\n"
-
-#~ msgid "\tCharset sets:\n"
-#~ msgstr "\t字元集:\n"
-
-#~ msgid "\tConnection: direct\n"
-#~ msgstr "\t連線:直接\n"
-
-#~ msgid "\tConnection: remote\n"
-#~ msgstr "\t連線:遠端\n"
-
-#~ msgid "\tDefault page size:\n"
-#~ msgstr "\t預設頁面大小:\n"
-
-#~ msgid "\tDefault pitch:\n"
-#~ msgstr "\t預設音高:\n"
-
-#~ msgid "\tDefault port settings:\n"
-#~ msgstr "\t預設連接埠設定:\n"
-
-#~ msgid "\tDescription: %s\n"
-#~ msgstr "\t描述:%s\n"
-
-#~ msgid ""
-#~ "\tForm mounted:\n"
-#~ "\tContent types: any\n"
-#~ "\tPrinter types: unknown\n"
-#~ msgstr ""
-#~ "\t已裝載的表單:\n"
-#~ "\t內容類型:任意\n"
-#~ "\t印表機類型:未知\n"
-
-#~ msgid "\tForms allowed:\n"
-#~ msgstr "\t允許的表單:\n"
-
-#~ msgid "\tInterface: %s.ppd\n"
-#~ msgstr "\t介面:%s.ppd\n"
-
-#~ msgid "\tInterface: %s/interfaces/%s\n"
-#~ msgstr "\t介面:%s/interfaces/%s\n"
-
-#~ msgid "\tInterface: %s/ppd/%s.ppd\n"
-#~ msgstr "\t介面:%s/ppd/%s.ppd\n"
-
-#~ msgid "\tLocation: %s\n"
-#~ msgstr "\t位置:%s\n"
-
-#~ msgid "\tOn fault: no alert\n"
-#~ msgstr "\t出錯時:無提示\n"
-
-#~ msgid "\tUsers allowed:\n"
-#~ msgstr "\t允許的使用者:\n"
-
-#~ msgid "\tUsers denied:\n"
-#~ msgstr "\t拒絕的使用者:\n"
-
-#~ msgid "\tdaemon present\n"
-#~ msgstr "\t現有的服務程式\n"
-
-#~ msgid "\tno entries\n"
-#~ msgstr "\t無項目\n"
-
-#~ msgid "\tprinter is on device '%s' speed -1\n"
-#~ msgstr "\t印表機為設備 '%s' 的速度 -1\n"
-
-#~ msgid "\tprinting is disabled\n"
-#~ msgstr "\t已停用列印\n"
-
-#~ msgid "\tprinting is enabled\n"
-#~ msgstr "\t已啟用列印\n"
-
-#~ msgid "\tqueued for %s\n"
-#~ msgstr "\t%s 已佇列\n"
-
-#~ msgid "\tqueuing is disabled\n"
-#~ msgstr "\t已停用佇列\n"
-
-#~ msgid "\tqueuing is enabled\n"
-#~ msgstr "\t已啟用佇列\n"
-
-#~ msgid "\treason unknown\n"
-#~ msgstr "\t原因未知\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "    DETAILED CONFORMANCE TEST RESULTS\n"
-#~ msgstr ""
-#~ "\n"
-#~ "    詳細的相似度測試結果\n"
-
-#~ msgid "                REF: Page 15, section 3.1.\n"
-#~ msgstr "                參考:第 15 頁,章節 3.1。\n"
-
-#~ msgid "                REF: Page 15, section 3.2.\n"
-#~ msgstr "                參考:第 15 頁,章節 3.2。\n"
-
-#~ msgid "                REF: Page 19, section 3.3.\n"
-#~ msgstr "                參考:第 19 頁,章節 3.3。\n"
-
-#~ msgid "                REF: Page 20, section 3.4.\n"
-#~ msgstr "                參考:第 20 頁,章節 3.4。\n"
-
-#~ msgid "                REF: Page 27, section 3.5.\n"
-#~ msgstr "                參考:第 27 頁,章節 3.5。\n"
-
-#~ msgid "                REF: Page 42, section 5.2.\n"
-#~ msgstr "                參考:第 42 頁,章節 5.2。\n"
-
-#~ msgid "                REF: Pages 16-17, section 3.2.\n"
-#~ msgstr "                參考:第 16-17 頁,章節 3.2。\n"
-
-#~ msgid "                REF: Pages 42-45, section 5.2.\n"
-#~ msgstr "                參考:第 42-45 頁,章節 5.2。\n"
-
-#~ msgid "                REF: Pages 45-46, section 5.2.\n"
-#~ msgstr "                參考:第 45-46 頁,章節 5.2。\n"
-
-#~ msgid "                REF: Pages 48-49, section 5.2.\n"
-#~ msgstr "                參考:第 48-49 頁,章節 5.2。\n"
-
-#~ msgid "                REF: Pages 52-54, section 5.2.\n"
-#~ msgstr "                參考:第 52-54 頁,章節 5.2。\n"
-
-#~ msgid "        %-39.39s %.0f bytes\n"
-#~ msgstr "        %-39.39s %.0f byte\n"
-
-#~ msgid "        PASS    Default%s\n"
-#~ msgstr "        通過    Default%s\n"
-
-#~ msgid "        PASS    DefaultImageableArea\n"
-#~ msgstr "        通過    DefaultImageableArea\n"
-
-#~ msgid "        PASS    DefaultPaperDimension\n"
-#~ msgstr "        通過    DefaultPaperDimension\n"
-
-#~ msgid "        PASS    FileVersion\n"
-#~ msgstr "        通過    FileVersion\n"
-
-#~ msgid "        PASS    FormatVersion\n"
-#~ msgstr "        通過    FormatVersion\n"
-
-#~ msgid "        PASS    LanguageEncoding\n"
-#~ msgstr "        通過    LanguageEncoding\n"
-
-#~ msgid "        PASS    LanguageVersion\n"
-#~ msgstr "        通過    LanguageVersion\n"
-
-#~ msgid "        PASS    Manufacturer\n"
-#~ msgstr "        通過    Manufacturer\n"
-
-#~ msgid "        PASS    ModelName\n"
-#~ msgstr "        通過    ModelName\n"
-
-#~ msgid "        PASS    NickName\n"
-#~ msgstr "        通過    NickName\n"
-
-#~ msgid "        PASS    PCFileName\n"
-#~ msgstr "        通過    PCFileName\n"
-
-#~ msgid "        PASS    PSVersion\n"
-#~ msgstr "       通過    PSVersion\n"
-
-#~ msgid "        PASS    PageRegion\n"
-#~ msgstr "        通過    PageRegion\n"
-
-#~ msgid "        PASS    PageSize\n"
-#~ msgstr "        通過    PageSize\n"
-
-#~ msgid "        PASS    Product\n"
-#~ msgstr "        通過    Product\n"
-
-#~ msgid "        PASS    ShortNickName\n"
-#~ msgstr "        通過    ShortNickName\n"
-
-#~ msgid ""
-#~ "        WARN    \"%s %s\" conflicts with \"%s %s\"\n"
-#~ "                (constraint=\"%s %s %s %s\")\n"
-#~ msgstr ""
-#~ "        警告    “%s %s”與“%s %s”衝突\n"
-#~ "                (限制=“%s %s %s %s”)\n"
-
-#~ msgid "        WARN    %s has no corresponding options!\n"
-#~ msgstr "        警告    %s 沒有對應的選項!\n"
-
-#~ msgid ""
-#~ "        WARN    %s shares a common prefix with %s\n"
-#~ "                REF: Page 15, section 3.2.\n"
-#~ msgstr ""
-#~ "        警告    %s 與 %s 共用一般的前置碼\n"
-#~ "                參考:第 15 頁,章節 3.2。\n"
-
-#~ msgid "        WARN    Default choices conflicting!\n"
-#~ msgstr "        警告    預設的選項衝突!\n"
-
-#~ msgid ""
-#~ "        WARN    Duplex option keyword %s may not work as expected and "
-#~ "should be named Duplex!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "        警告    兩用裝紙匣選項的關鍵字 %s 不能如預期運作,而應該命名為 "
-#~ "Duplex!\n"
-#~ "                參考:第 122 頁,章節 5.17\n"
-
-#~ msgid ""
-#~ "        WARN    File contains a mix of CR, LF, and CR LF line endings!\n"
-#~ msgstr "        警告    檔案包含 CR、LF 和 CR LF 的行結尾!\n"
-
-#~ msgid ""
-#~ "        WARN    LanguageEncoding required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 56-57, section 5.3.\n"
-#~ msgstr ""
-#~ "        警告    PPD 4.3 規格要求有 LanguageEncoding\n"
-#~ "                參考:第 56-57 頁,章節 5.3。\n"
-
-#~ msgid "        WARN    Line %d only contains whitespace!\n"
-#~ msgstr "        警告    第 %d 行只包含空白!\n"
-
-#~ msgid ""
-#~ "        WARN    Manufacturer required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 58-59, section 5.3.\n"
-#~ msgstr ""
-#~ "        警告    PD 4.3 規格要求有 Manufacturer\n"
-#~ "                參考:第 58-59 頁,章節 5.3。\n"
-
-#~ msgid "        WARN    Missing APDialogExtension file \"%s\"\n"
-#~ msgstr "        警告    遺失 APDialogExtension 檔案“%s”\n"
-
-#~ msgid "        WARN    Missing APPrinterIconPath file \"%s\"\n"
-#~ msgstr "        警告    遺失 APPrinterIconPath 檔案“%s”\n"
-
-#~ msgid ""
-#~ "        WARN    Non-Windows PPD files should use lines ending with only "
-#~ "LF, not CR LF!\n"
-#~ msgstr ""
-#~ "        警告    非 Windows PPD 檔案應該使用僅含有 LF 的行結尾,而不是 CR "
-#~ "LF!\n"
-
-#~ msgid ""
-#~ "        WARN    Obsolete PPD version %.1f!\n"
-#~ "                REF: Page 42, section 5.2.\n"
-#~ msgstr ""
-#~ "        警告    PPD 版本 %.1f 已過時!\n"
-#~ "                參考:第 42 頁,章節 5.2。\n"
-
-#~ msgid ""
-#~ "        WARN    PCFileName longer than 8.3 in violation of PPD spec.\n"
-#~ "                REF: Pages 61-62, section 5.3.\n"
-#~ msgstr ""
-#~ "        警告    PCFileName 長度大於 8.3,這違反了 PPD 規格。\n"
-#~ "                參考:第 61-62 頁,章節 5.3。\n"
-
-#~ msgid ""
-#~ "        WARN    Protocols contains PJL but JCL attributes are not set.\n"
-#~ "                REF: Pages 78-79, section 5.7.\n"
-#~ msgstr ""
-#~ "        警告    通訊協定包含 PJL,但未設定 JCL 屬性。\n"
-#~ "                參考:第 78-79 頁,章節 5.7。\n"
-
-#~ msgid ""
-#~ "        WARN    Protocols contains both PJL and BCP; expected TBCP.\n"
-#~ "                REF: Pages 78-79, section 5.7.\n"
-#~ msgstr ""
-#~ "        警告    通訊協定同時包含 PJL 和 BCP;應該為 TBCP。\n"
-#~ "                參考:第 78-79 頁,章節 5.7。\n"
-
-#~ msgid ""
-#~ "        WARN    ShortNickName required by PPD 4.3 spec.\n"
-#~ "                REF: Pages 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "        警告    PPD 4.3 規格要求有 ShortNickName\n"
-#~ "                參考:第 64-65 頁,章節 5.3。\n"
-
-#~ msgid "      %s  %s %s does not exist!\n"
-#~ msgstr "      %s  %s %s 不存在!\n"
-
-#~ msgid ""
-#~ "      %s  Bad %s choice %s!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "      %s  %s 選項 %s 錯誤!\n"
-#~ "                參考:第 122 頁,章節 5.17\n"
-
-#~ msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s!\n"
-#~ msgstr "      %s  下列項目的 UTF-8“%s”轉換字串ERROR: 選項 %s!\n"
-
-#~ msgid ""
-#~ "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s!\n"
-#~ msgstr "      %s  下列項目的 UTF-8“%s”轉換字串ERROR: 選項 %s,選項 %s!\n"
-
-#~ msgid "      %s  Bad cupsFilter value \"%s\"!\n"
-#~ msgstr "      %s  cupsFilter 值“%s”錯誤!\n"
-
-#~ msgid "      %s  Bad cupsICCProfile %s!\n"
-#~ msgstr "      %s  cupsICCProfile %s 錯誤!\n"
-
-#~ msgid "      %s  Bad cupsPreFilter value \"%s\"!\n"
-#~ msgstr "      %s  cupsPreFilter 值“%s”錯誤!\n"
-
-#~ msgid "      %s  Bad cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr "      %s  cupsUIConstraints %s:“%s”錯誤!\n"
-
-#~ msgid "      %s  Bad language \"%s\"!\n"
-#~ msgstr "      %s  語言“%s”錯誤!\n"
-
-#~ msgid "      %s  Empty cupsUIConstraints %s!\n"
-#~ msgstr "      %s  cupsUIConstraints %s 為空白!\n"
-
-#~ msgid "      %s  Missing \"%s\" translation string for option %s!\n"
-#~ msgstr "      %s  下列項目的“%s”轉換字串遺失:選項 %s!\n"
-
-#~ msgid ""
-#~ "      %s  Missing \"%s\" translation string for option %s, choice %s!\n"
-#~ msgstr "      %s  下列項目的“%s”轉換字串遺失:選項 %s,選項 %s!\n"
-
-#~ msgid ""
-#~ "      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"!\n"
-#~ msgstr ""
-#~ "      %s  下列項目中遺失選項 *%s %s:UIConstraints“*%s %s *%s %s”!\n"
-
-#~ msgid "      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr "      %s  下列項目中遺失選項 *%s %s:cupsUIConstraints %s:“%s”!\n"
-
-#~ msgid "      %s  Missing cupsFilter file \"%s\"\n"
-#~ msgstr "      %s  遺失 cupsFilter 檔案“%s”\n"
-
-#~ msgid "      %s  Missing cupsICCProfile file \"%s\"!\n"
-#~ msgstr "      %s  遺失 cupsICCProfile 檔案“%s”!\n"
-
-#~ msgid "      %s  Missing cupsPreFilter file \"%s\"\n"
-#~ msgstr "      %s  遺失 cupsPreFilter 檔案“%s”\n"
-
-#~ msgid "      %s  Missing cupsUIResolver %s!\n"
-#~ msgstr "      %s  遺失 cupsUIResolver %s!\n"
-
-#~ msgid "      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\"!\n"
-#~ msgstr "      %s  下列項目中遺失選項 %s:UIConstraints“*%s %s *%s %s”!\n"
-
-#~ msgid "      %s  Missing option %s in cupsUIConstraints %s: \"%s\"!\n"
-#~ msgstr "      %s  下列項目中遺失選項 %s:cupsUIConstraints %s:“%s”!\n"
-
-#~ msgid "      %s  No base translation \"%s\" is included in file!\n"
-#~ msgstr "      %s  檔案中不包括基礎轉換“%s”!\n"
-
-#~ msgid ""
-#~ "      %s  REQUIRED %s does not define choice None!\n"
-#~ "                REF: Page 122, section 5.17\n"
-#~ msgstr ""
-#~ "      %s  REQUIRED %s 未定義選項 None!\n"
-#~ "                參考:第 122 頁,章節 5.17\n"
-
-#~ msgid "      %s  cupsICCProfile %s hash value collides with %s!\n"
-#~ msgstr "      %s  cupsICCProfile %s 雜湊值與 %s 衝突!\n"
-
-#~ msgid "      %s  cupsUIResolver %s causes a loop!\n"
-#~ msgstr "      %s  cupsUIResolver %s 造成迴圈!\n"
-
-#~ msgid "      **FAIL**  %s choice names %s and %s differ only by case!\n"
-#~ msgstr "      **失敗**  %s 選項名稱 %s 和 %s 僅在某些情況下不同!\n"
-
-#~ msgid ""
-#~ "      **FAIL**  %s must be 1284DeviceID!\n"
-#~ "                REF: Page 72, section 5.5\n"
-#~ msgstr ""
-#~ "      **失敗**  %s 必須為 1284DeviceID!\n"
-#~ "                參考:第 72 頁,章節 5.5\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Default%s %s\n"
-#~ "                REF: Page 40, section 4.5.\n"
-#~ msgstr ""
-#~ "      **失敗**  Default%s %s 錯誤\n"
-#~ "                參考:第 40 頁,章節 4.5。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD DefaultImageableArea %s!\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **失敗**  DefaultImageableArea %s 錯誤!\n"
-#~ "                參考:第 102 頁,章節 5.15。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD DefaultPaperDimension %s!\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **失敗**  DefaultPaperDimension %s 錯誤!\n"
-#~ "                參考:第 103 頁,章節 5.15。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD JobPatchFile attribute in file\n"
-#~ "                REF: Page 24, section 3.4.\n"
-#~ msgstr ""
-#~ "      **失敗**  檔案中的 JobPatchFile 屬性錯誤\n"
-#~ "                參考:第 24 頁,章節 3.4。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Manufacturer (should be \"HP\")\n"
-#~ "                REF: Page 211, table D.1.\n"
-#~ msgstr ""
-#~ "      **失敗**  Manufacturer 錯誤(應該為“HP”)\n"
-#~ "                參考:第 211 頁,表格 D.1。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Manufacturer (should be \"Oki\")\n"
-#~ "                REF: Page 211, table D.1.\n"
-#~ msgstr ""
-#~ "      **失敗**  Manufacturer 錯誤(應該為“Oki”)\n"
-#~ "                參考:第 211 頁,表格 D.1。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n"
-#~ "                REF: Pages 59-60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失敗**  ModelName 錯誤 - 字串中不允許“%c”。\n"
-#~ "                參考:第 59-60 頁,章節 5.3。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD PSVersion - not \"(string) int\".\n"
-#~ "                REF: Pages 62-64, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失敗**  PSVersion 錯誤 - 不是“(string) int”。\n"
-#~ "                參考:第 62-64 頁,章節 5.3。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD Product - not \"(string)\".\n"
-#~ "                REF: Page 62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失敗**  Product 錯誤 - 不是“(string)”。\n"
-#~ "                參考:第 62 頁,章節 5.3。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  BAD ShortNickName - longer than 31 chars.\n"
-#~ "                REF: Pages 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失敗**  ShortNickName 錯誤 - 長度大於 31 個字元。\n"
-#~ "                參考:第 64-65 頁,章節 5.3。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad %s choice %s!\n"
-#~ "                REF: Page 84, section 5.9\n"
-#~ msgstr ""
-#~ "      **失敗**  %s 選項 %s 錯誤!\n"
-#~ "                參考:第 84 頁,章節 5.9\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad FileVersion \"%s\"\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失敗**  FileVersion“%s”錯誤\n"
-#~ "                參考:第 56 頁,章節 5.3。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Bad FormatVersion \"%s\"\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失敗**  FormatVersion“%s”錯誤\n"
-#~ "                參考:第 56 頁,章節 5.3。\n"
-
-#~ msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1!\n"
-#~ msgstr "      **失敗**  LanguageEncoding %s 錯誤 - 必須為 ISOLatin1!\n"
-
-#~ msgid "      **FAIL**  Bad LanguageVersion %s - must be English!\n"
-#~ msgstr "      **失敗**  LanguageVersion %s 錯誤 - 必須為英語!\n"
-
-#~ msgid "      **FAIL**  Default option code cannot be interpreted: %s\n"
-#~ msgstr "      **失敗**  無法解譯預設選項代碼:%s\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Default translation string for option %s choice %s "
-#~ "contains 8-bit characters!\n"
-#~ msgstr "      **失敗**  選項 %s 選項 %s 的預設轉換字串包含 8 位元字元!\n"
-
-#~ msgid ""
-#~ "      **FAIL**  Default translation string for option %s contains 8-bit "
-#~ "characters!\n"
-#~ msgstr "      **失敗**  選項 %s 的預設轉換字串包含 8 位元字元!\n"
-
-#~ msgid "      **FAIL**  Group names %s and %s differ only by case!\n"
-#~ msgstr "      **失敗**  群組名稱 %s 和 %s 僅在某些情況下不同!\n"
-
-#~ msgid "      **FAIL**  Multiple occurrences of %s choice name %s!\n"
-#~ msgstr "      **失敗**  出現了多個 %s 選項名稱 %s!\n"
-
-#~ msgid "      **FAIL**  Option names %s and %s differ only by case!\n"
-#~ msgstr "      **失敗**  選項名稱 %s 和 %s 僅在某些情況下不同!\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Default%s\n"
-#~ "                REF: Page 40, section 4.5.\n"
-#~ msgstr ""
-#~ "      **失敗**  需要 Default%s\n"
-#~ "                參考:第 40 頁,章節 4.5。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED DefaultImageableArea\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **失敗**  需要 DefaultImageableArea\n"
-#~ "                參考:第 102 頁,章節 5.15。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED DefaultPaperDimension\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **失敗**  需要 DefaultPaperDimension\n"
-#~ "                參考:第 103 頁,章節 5.15。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED FileVersion\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失敗**  需要 FileVersion\n"
-#~ "                參考:第 56 頁,章節 5.3。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED FormatVersion\n"
-#~ "                REF: Page 56, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失敗**  需要 FormatVersion\n"
-#~ "                參考:第 56 頁,章節 5.3。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ImageableArea for PageSize %s\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 102, section 5.15.\n"
-#~ msgstr ""
-#~ "      **失敗**  PageSize %s 需要 ImageableArea\n"
-#~ "                參考:第 41 頁,章節 5。\n"
-#~ "                參考:第 102 頁,章節 5.15。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED LanguageEncoding\n"
-#~ "                REF: Pages 56-57, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失敗**  需要 LanguageEncoding\n"
-#~ "                參考:第 56-57 頁,章節 5.3。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED LanguageVersion\n"
-#~ "                REF: Pages 57-58, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失敗**  需要 LanguageVersion\n"
-#~ "                參考:第 57-58 頁,章節 5.3。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Manufacturer\n"
-#~ "                REF: Pages 58-59, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失敗**  需要 Manufacturer\n"
-#~ "                參考:第 58-59 頁,章節 5.3。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ModelName\n"
-#~ "                REF: Pages 59-60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失敗**  需要 ModelName\n"
-#~ "                參考:第 59-60 頁,章節 5.3。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED NickName\n"
-#~ "                REF: Page 60, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失敗**  需要 NickName\n"
-#~ "                參考:第 60 頁,章節 5.3。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PCFileName\n"
-#~ "                REF: Pages 61-62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失敗**  需要 PCFileName\n"
-#~ "                參考:第 61-62 頁,章節 5.3。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PSVersion\n"
-#~ "                REF: Pages 62-64, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失敗**  需要 PSVersion\n"
-#~ "                參考:第 62-64 頁,章節 5.3。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageRegion\n"
-#~ "                REF: Page 100, section 5.14.\n"
-#~ msgstr ""
-#~ "      **失敗**  需要 PageRegion\n"
-#~ "                參考:第 100 頁,章節 5.14。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageSize\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 99, section 5.14.\n"
-#~ msgstr ""
-#~ "      **失敗**  需要 PageSize\n"
-#~ "                參考:第 41 頁,章節 5。\n"
-#~ "                參考:第 99 頁,章節 5.14。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PageSize\n"
-#~ "                REF: Pages 99-100, section 5.14.\n"
-#~ msgstr ""
-#~ "      **失敗**  需要 PageSize\n"
-#~ "                參考:第 99-100 頁,章節 5.14。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED PaperDimension for PageSize %s\n"
-#~ "                REF: Page 41, section 5.\n"
-#~ "                REF: Page 103, section 5.15.\n"
-#~ msgstr ""
-#~ "      **失敗** PageSize %s 需要 PaperDimension\n"
-#~ "                參考:第 41 頁,章節 5。\n"
-#~ "                參考:第 103 頁,章節 5.15。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED Product\n"
-#~ "                REF: Page 62, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失敗**  需要 Product\n"
-#~ "                參考:第 62 頁,章節 5.3。\n"
-
-#~ msgid ""
-#~ "      **FAIL**  REQUIRED ShortNickName\n"
-#~ "                REF: Page 64-65, section 5.3.\n"
-#~ msgstr ""
-#~ "      **失敗**  需要 ShortNickName\n"
-#~ "                參考:第 64-65 頁,章節 5.3。\n"
-
-#~ msgid "    %d ERRORS FOUND\n"
-#~ msgstr "    發現 %d 個錯誤\n"
-
-#~ msgid ""
-#~ "    Bad %%%%BoundingBox: on line %d!\n"
-#~ "        REF: Page 39, %%%%BoundingBox:\n"
-#~ msgstr ""
-#~ "    第 %d 行的 %%%%BoundingBox: 錯誤!\n"
-#~ "        參考:第 39 頁,%%%%BoundingBox:\n"
-
-#~ msgid ""
-#~ "    Bad %%%%Page: on line %d!\n"
-#~ "        REF: Page 53, %%%%Page:\n"
-#~ msgstr ""
-#~ "    第 %d 行的 %%%%Page: 錯誤!\n"
-#~ "        參考:第 53 頁,%%%%Page:\n"
-
-#~ msgid ""
-#~ "    Bad %%%%Pages: on line %d!\n"
-#~ "        REF: Page 43, %%%%Pages:\n"
-#~ msgstr ""
-#~ "    第 %d 行的 %%%%Pages: 錯誤!\n"
-#~ "        參考:第 43 頁,%%%%Pages:\n"
-
-#~ msgid ""
-#~ "    Line %d is longer than 255 characters (%d)!\n"
-#~ "        REF: Page 25, Line Length\n"
-#~ msgstr ""
-#~ "    第 %d 行長度大於 255 個字元(%d)!\n"
-#~ "        參考:第 25 頁,行長度\n"
-
-#~ msgid ""
-#~ "    Missing %!PS-Adobe-3.0 on first line!\n"
-#~ "        REF: Page 17, 3.1 Conforming Documents\n"
-#~ msgstr ""
-#~ "    第一行遺失 %!PS-Adobe-3.0!\n"
-#~ "        參考:第 17 頁,3.1 確認文件\n"
-
-#~ msgid ""
-#~ "    Missing %%EndComments comment!\n"
-#~ "        REF: Page 41, %%EndComments\n"
-#~ msgstr ""
-#~ "    遺失 %%EndComments 註解!\n"
-#~ "        參考:第 41 頁,%%EndComments\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%BoundingBox: comment!\n"
-#~ "        REF: Page 39, %%BoundingBox:\n"
-#~ msgstr ""
-#~ "    %%BoundingBox﹕ 註解遺失或錯誤!\n"
-#~ "        參考:第 39 頁,%%BoundingBox:\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%Page: comments!\n"
-#~ "        REF: Page 53, %%Page:\n"
-#~ msgstr ""
-#~ "    %%Page: 註解遺失或錯誤!\n"
-#~ "        參考:第 53 頁,%%Page:\n"
-
-#~ msgid ""
-#~ "    Missing or bad %%Pages: comment!\n"
-#~ "        REF: Page 43, %%Pages:\n"
-#~ msgstr ""
-#~ "    %%Pages: 註解遺失或錯誤!\n"
-#~ "        參考:第 43 頁,%%Pages:\n"
-
-#~ msgid "    NO ERRORS FOUND\n"
-#~ msgstr "    未發現錯誤\n"
-
-#~ msgid "    Saw %d lines that exceeded 255 characters!\n"
-#~ msgstr "    發現 %d 行超出 255 個字元!\n"
-
-#~ msgid "    Too many %%BeginDocument comments!\n"
-#~ msgstr "    %%BeginDocument 註解太多!\n"
-
-#~ msgid "    Too many %%EndDocument comments!\n"
-#~ msgstr "    %%EndDocument 註解太多!\n"
-
-#~ msgid "    Warning: file contains binary data!\n"
-#~ msgstr "    WARNING: 檔案包含二進位資料!\n"
-
-#~ msgid "    Warning: no %%EndComments comment in file!\n"
-#~ msgstr "    WARNING: 檔案中沒有 %%EndComments 註解!\n"
-
-#~ msgid "    Warning: obsolete DSC version %.1f in file!\n"
-#~ msgstr "    WARNING: 檔案中的 DSC 版本 %.1f 已過時!\n"
-
-#~ msgid " FAIL\n"
-#~ msgstr " 失敗\n"
-
-#~ msgid ""
-#~ " FAIL\n"
-#~ "      **FAIL**  Unable to open PPD file - %s\n"
-#~ msgstr ""
-#~ " 失敗\n"
-#~ "      **失敗**  無法打開 PPD 檔案 - %s\n"
-
-#~ msgid ""
-#~ " FAIL\n"
-#~ "      **FAIL**  Unable to open PPD file - %s on line %d.\n"
-#~ msgstr ""
-#~ " 失敗\n"
-#~ "      **失敗**  無法打開 PPD 檔案 - 第 %2$d 行的 %1$s。\n"
-
-#~ msgid " PASS\n"
-#~ msgstr " 通過\n"
-
-#~ msgid "#10 Envelope"
-#~ msgstr "#10 信封"
-
-#~ msgid "#11 Envelope"
-#~ msgstr "#11 信封"
-
-#~ msgid "#12 Envelope"
-#~ msgstr "#12 信封"
-
-#~ msgid "#14 Envelope"
-#~ msgstr "#14 信封"
-
-#~ msgid "#9 Envelope"
-#~ msgstr "#9 信封"
-
-#~ msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes\n"
-#~ msgstr "%-6s %-10.10s %-4d %-10d %-27.27s %.0f byte\n"
-
-#~ msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes\n"
-#~ msgstr "%-7s %-7.7s %-7d %-31.31s %.0f byte\n"
-
-#~ msgid "%s accepting requests since %s\n"
-#~ msgstr "%s 自 %s 後接受請求\n"
-
-#~ msgid "%s is not implemented by the CUPS version of lpc.\n"
-#~ msgstr "%s 未由 CUPS 版本 lpc 執行。\n"
-
-#~ msgid "%s is not ready\n"
-#~ msgstr "%s 尚未備妥\n"
-
-#~ msgid "%s is ready\n"
-#~ msgstr "%s 已備妥\n"
-
-#~ msgid "%s is ready and printing\n"
-#~ msgstr "%s 已備妥列印\n"
-
-#~ msgid ""
-#~ "%s not accepting requests since %s -\n"
-#~ "\t%s\n"
-#~ msgstr ""
-#~ "%s 自 %s 後不接受請求 -\n"
-#~ "\t%s\n"
-
-#~ msgid "%s not supported!"
-#~ msgstr "不支援 %s!"
-
-#~ msgid "%s/%s accepting requests since %s\n"
-#~ msgstr "%s/%s 自 %s 後接受請求\n"
-
-#~ msgid ""
-#~ "%s/%s not accepting requests since %s -\n"
-#~ "\t%s\n"
-#~ msgstr ""
-#~ "%s/%s 自 %s 後不接受請求 -\n"
-#~ "\t%s\n"
-
-#~ msgid "%s: %-33.33s [job %d localhost]\n"
-#~ msgstr "%s:%-33.33s [作業 %d localhost]\n"
-
-#~ msgid "%s: %s failed: %s\n"
-#~ msgstr "%s:%s 失敗:%s\n"
-
-#~ msgid "%s: Don't know what to do!\n"
-#~ msgstr "%s:不知道要執行的動作!\n"
-
-#~ msgid ""
-#~ "%s: Error - %s environment variable names non-existent destination \"%s"
-#~ "\"!\n"
-#~ msgstr "%s:錯誤 - %s 環境變數名稱中有不存在的目的地“%s”!\n"
-
-#~ msgid "%s: Error - bad job ID!\n"
-#~ msgstr "%s:錯誤 - 作業 ID 錯誤!\n"
-
-#~ msgid "%s: Error - cannot print files and alter jobs simultaneously!\n"
-#~ msgstr "%s:錯誤 - 無法列印檔案並同時更改作業!\n"
-
-#~ msgid ""
-#~ "%s: Error - cannot print from stdin if files or a job ID are provided!\n"
-#~ msgstr "%s:錯誤 - 在提供檔案或作業 ID 的情況下無法從 stdin 進行列印!\n"
-
-#~ msgid "%s: Error - expected character set after '-S' option!\n"
-#~ msgstr "%s:錯誤 - '-S' 選項後面預期為字元集!\n"
-
-#~ msgid "%s: Error - expected content type after '-T' option!\n"
-#~ msgstr "%s:錯誤 - '-T' 選項後面預期為內容類型!\n"
-
-#~ msgid "%s: Error - expected copies after '-n' option!\n"
-#~ msgstr "%s:錯誤 - '-n' 選項後面預期為份數!\n"
-
-#~ msgid "%s: Error - expected copy count after '-#' option!\n"
-#~ msgstr "%s:錯誤 - '-#' 選項後面預期為複本計數!\n"
-
-#~ msgid "%s: Error - expected destination after '-P' option!\n"
-#~ msgstr "%s:錯誤 - '-P' 選項後面預期為目的地!\n"
-
-#~ msgid "%s: Error - expected destination after '-b' option!\n"
-#~ msgstr "%s:錯誤 - '-b' 選項後面預期為目的地!\n"
-
-#~ msgid "%s: Error - expected destination after '-d' option!\n"
-#~ msgstr "%s:錯誤 - '-d' 選項後面預期為目的地!\n"
-
-#~ msgid "%s: Error - expected form after '-f' option!\n"
-#~ msgstr "%s:錯誤 - '-f' 選項後面預期為表單!\n"
-
-#~ msgid "%s: Error - expected hold name after '-H' option!\n"
-#~ msgstr "%s:錯誤 - '-H' 選項後面預期為保留名稱!\n"
-
-#~ msgid "%s: Error - expected hostname after '-H' option!\n"
-#~ msgstr "%s:錯誤 - '-H' 選項後面預期為主機名稱!\n"
-
-#~ msgid "%s: Error - expected hostname after '-h' option!\n"
-#~ msgstr "%s:錯誤 - '-h' 選項後面預期為主機名稱!\n"
-
-#~ msgid "%s: Error - expected mode list after '-y' option!\n"
-#~ msgstr "%s:錯誤 - '-y' 選項後面預期為模式列表!\n"
-
-#~ msgid "%s: Error - expected name after '-%c' option!\n"
-#~ msgstr "%s:錯誤 - '-%c' 選項後面預期為名稱!\n"
-
-#~ msgid "%s: Error - expected option string after '-o' option!\n"
-#~ msgstr "%s:錯誤 - '-o' 選項後面預期為選項字串!\n"
-
-#~ msgid "%s: Error - expected page list after '-P' option!\n"
-#~ msgstr "%s:錯誤 - '-P' 選項後面預期為頁面列表!\n"
-
-#~ msgid "%s: Error - expected priority after '-%c' option!\n"
-#~ msgstr "%s:錯誤 - '-%c' 選項後面預期為優先順序!\n"
-
-#~ msgid "%s: Error - expected reason text after '-r' option!\n"
-#~ msgstr "%s:錯誤 - '-r' 選項後面預期為原因文字!\n"
-
-#~ msgid "%s: Error - expected title after '-t' option!\n"
-#~ msgstr "%s:錯誤 - '-t' 選項後面預期為標題!\n"
-
-#~ msgid "%s: Error - expected username after '-U' option!\n"
-#~ msgstr "%s:錯誤 - '-U' 選項後面預期為使用者名稱!\n"
-
-#~ msgid "%s: Error - expected username after '-u' option!\n"
-#~ msgstr "%s:錯誤 - '-u' 選項後面預期為使用者名稱!\n"
-
-#~ msgid "%s: Error - expected value after '-%c' option!\n"
-#~ msgstr "%s:錯誤 - '-%c' 選項後面預期為值!\n"
-
-#~ msgid ""
-#~ "%s: Error - need \"completed\", \"not-completed\", or \"all\" after '-W' "
-#~ "option!\n"
-#~ msgstr ""
-#~ "%s:錯誤 - &aops;-W&aops; 選項後面需要“completed”、“not-"
-#~ "completed”或“all”!\n"
-
-#~ msgid "%s: Error - no default destination available.\n"
-#~ msgstr "%s:錯誤 - 無可用的預設目的地。\n"
-
-#~ msgid "%s: Error - priority must be between 1 and 100.\n"
-#~ msgstr "%s:錯誤 - 優先順序必須介於 1 和 100 之間。\n"
-
-#~ msgid "%s: Error - scheduler not responding!\n"
-#~ msgstr "%s:錯誤 - 排程器沒有回應!\n"
-
-#~ msgid "%s: Error - too many files - \"%s\"\n"
-#~ msgstr "%s:錯誤 - 檔案太多 -“%s”\n"
-
-#~ msgid "%s: Error - unable to access \"%s\" - %s\n"
-#~ msgstr "%s:錯誤 - 無法存取“%s”- %s\n"
-
-#~ msgid "%s: Error - unable to queue from stdin - %s\n"
-#~ msgstr "%s:錯誤 - 無法從 stdin 佇列 - %s\n"
-
-#~ msgid "%s: Error - unknown destination \"%s\"!\n"
-#~ msgstr "%s:錯誤 - 未知的目的地“%s”!\n"
-
-#~ msgid "%s: Error - unknown destination \"%s/%s\"!\n"
-#~ msgstr "%s:錯誤 - 未知的目的地“%s/%s”!\n"
-
-#~ msgid "%s: Error - unknown option '%c'!\n"
-#~ msgstr "%s:錯誤 - 未知的選項 '%c'!\n"
-
-#~ msgid "%s: Error - unknown option '%s'!\n"
-#~ msgstr "%s:錯誤 - 未知的選項 '%s'!\n"
-
-#~ msgid "%s: Expected job ID after '-i' option!\n"
-#~ msgstr "%s:'-i' 選項後面預期為作業 ID!\n"
-
-#~ msgid "%s: Filter \"%s\" not available: %s\n"
-#~ msgstr "%s:無法使用濾鏡“%s”:%s\n"
-
-#~ msgid "%s: Invalid destination name in list \"%s\"!\n"
-#~ msgstr "%s:列表“%s”中的目的地名稱無效!\n"
-
-#~ msgid "%s: Invalid filter string \"%s\"\n"
-#~ msgstr "%s:過濾字串“%s”無效\n"
-
-#~ msgid "%s: Need job ID ('-i jobid') before '-H restart'!\n"
-#~ msgstr "%s:&aops;-H restart&aops; 前面需要作業 ID('-i jobid')!\n"
-
-#~ msgid "%s: No filter to convert from %s/%s to %s/%s!\n"
-#~ msgstr "%s:沒有濾鏡要從 %s/%s 轉換為 %s/%s!\n"
-
-#~ msgid "%s: Operation failed: %s\n"
-#~ msgstr "%s:作業失敗:%s\n"
-
-#~ msgid "%s: Sorry, no encryption support compiled in!\n"
-#~ msgstr "%s:抱歉,未編譯入加密支援!\n"
-
-#~ msgid "%s: Unable to connect to server\n"
-#~ msgstr "%s:無法連接伺服器\n"
-
-#~ msgid "%s: Unable to contact server!\n"
-#~ msgstr "%s:無法聯絡伺服器!\n"
-
-#~ msgid "%s: Unable to determine MIME type of \"%s\"!\n"
-#~ msgstr "%s:無法確定“%s”的 MIME 類型!\n"
-
-#~ msgid "%s: Unable to open %s - %s\n"
-#~ msgstr "%s:無法打開 %s - %s\n"
-
-#~ msgid "%s: Unable to open %s - %s on line %d.\n"
-#~ msgstr "%s:無法打開 %s - %s 在第 %d 行。\n"
-
-#~ msgid "%s: Unable to open %s: %s\n"
-#~ msgstr "%s:無法打開 %s:%s\n"
-
-#~ msgid "%s: Unable to open PPD file: %s on line %d\n"
-#~ msgstr "%s:無法打開 PPD 檔案:%s 在第 %d 行\n"
-
-#~ msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"!\n"
-#~ msgstr "%s:無法從“%s”或“%s”讀取 MIME 資料庫!\n"
-
-#~ msgid "%s: Unknown destination \"%s\"!\n"
-#~ msgstr "%s:未知的目的地“%s”!\n"
-
-#~ msgid "%s: Unknown destination MIME type %s/%s!\n"
-#~ msgstr "%s:未知的目的地 MIME 類型 %s/%s!\n"
-
-#~ msgid "%s: Unknown option '%c'!\n"
-#~ msgstr "%s:未知的選項 '%c'!\n"
-
-#~ msgid "%s: Unknown source MIME type %s/%s!\n"
-#~ msgstr "%s:未知的來源 MIME 類型 %s/%s!\n"
-
-#~ msgid ""
-#~ "%s: Warning - '%c' format modifier not supported - output may not be "
-#~ "correct!\n"
-#~ msgstr "%s:警告 - 不支援 '%c' 格式修飾符 - 輸出可能不正確!\n"
-
-#~ msgid "%s: Warning - character set option ignored!\n"
-#~ msgstr "%s:警告 - 已忽略字元集選項!\n"
-
-#~ msgid "%s: Warning - content type option ignored!\n"
-#~ msgstr "%s:警告 - 已忽略內容類型選項!\n"
-
-#~ msgid "%s: Warning - form option ignored!\n"
-#~ msgstr "%s:警告 - 已忽略表單選項!\n"
-
-#~ msgid "%s: Warning - mode option ignored!\n"
-#~ msgstr "%s:警告 - 已忽略模式選項!\n"
-
-#~ msgid ""
-#~ "%s: error - %s environment variable names non-existent destination \"%s"
-#~ "\"!\n"
-#~ msgstr "%s:錯誤 - %s 環境變數名稱中有不存在的目的地“%s”!\n"
-
-#~ msgid "%s: error - expected option=value after '-o' option!\n"
-#~ msgstr "%s:錯誤 - &aops;-o&aops; 選項後面預期為 option=value!\n"
-
-#~ msgid "%s: error - no default destination available.\n"
-#~ msgstr "%s:錯誤 - 沒有可用的預設目的地。\n"
-
-#~ msgid "10 x 11\""
-#~ msgstr "10 x 11\""
-
-#~ msgid "10 x 13\""
-#~ msgstr "10 x 13\""
-
-#~ msgid "10 x 14\""
-#~ msgstr "10 x 14\""
-
-#~ msgid "12 x 11\""
-#~ msgstr "12 x 11\""
-
-#~ msgid "15 x 11\""
-#~ msgstr "15 x 11\""
-
-#~ msgid "600 DPI Grayscale"
-#~ msgstr "600 DPI 灰階"
-
-#~ msgid "60x720dpi"
-#~ msgstr "60x720dpi"
-
-#~ msgid "7 x 9\""
-#~ msgstr "7 x 9\""
-
-#~ msgid "8 x 10\""
-#~ msgstr "8 x 10\""
-
-#~ msgid "9 x 11\""
-#~ msgstr "9 x 11\""
-
-#~ msgid "9 x 12\""
-#~ msgstr "9 x 12\""
-
-#~ msgid "?Invalid help command unknown\n"
-#~ msgstr "?無效的輔助說明指令未知\n"
-
-#~ msgid "A Samba password is required to export printer drivers!"
-#~ msgstr "需要 Samba 密碼,才能輸出印表機驅動程式!"
-
-#~ msgid "A Samba username is required to export printer drivers!"
-#~ msgstr "需要 Samba 使用者名稱,才能輸出印表機驅動程式!"
-
-#~ msgid "A class named \"%s\" already exists!"
-#~ msgstr "名為“%s”的類別已存在!"
-
-#~ msgid "A printer named \"%s\" already exists!"
-#~ msgstr "名為“%s”的印表機已存在!"
-
-#~ msgid "A3 (Oversize)"
-#~ msgstr "A3(超大型)"
-
-#~ msgid "A4 (Oversize)"
-#~ msgstr "A4(超大型)"
-
-#~ msgid "A4 (Small)"
-#~ msgstr "A4(小型)"
-
-#~ msgid "A5 (Oversize)"
-#~ msgstr "A5(超大型)"
-
-#~ msgid "ARCH A"
-#~ msgstr "ARCH A"
-
-#~ msgid "ARCH B"
-#~ msgstr "ARCH B"
-
-#~ msgid "Attempt to set %s printer-state to bad value %d!"
-#~ msgstr "嘗試將 %s 印表機狀態設為錯誤的值 %d!"
-
-#~ msgid "Attribute groups are out of order (%x < %x)!"
-#~ msgstr "屬性群組有問題(%x < %x)!"
-
-#~ msgid "Bad device URI \"%s\"!\n"
-#~ msgstr "設備 URI“%s”錯誤!\n"
-
-#~ msgid "Bad device-uri \"%s\"!"
-#~ msgstr "device-uri“%s”錯誤!"
-
-#~ msgid "Bad device-uri scheme \"%s\"!"
-#~ msgstr "device-uri 架構“%s”錯誤!"
-
-#~ msgid "Bad document-format \"%s\"!"
-#~ msgstr "document-format“%s”錯誤!"
-
-#~ msgid "Bad filename buffer!"
-#~ msgstr "檔名緩衝區錯誤!"
-
-#~ msgid "Bad font attribute: %s\n"
-#~ msgstr "字體屬性ERROR: %s\n"
-
-#~ msgid "Bad job-priority value!"
-#~ msgstr "job-priority 值錯誤!"
-
-#~ msgid "Bad job-sheets value \"%s\"!"
-#~ msgstr "job-sheets 值“%s”錯誤!"
-
-#~ msgid "Bad job-sheets value type!"
-#~ msgstr "job-sheets 值類型錯誤!"
-
-#~ msgid "Bad job-state value!"
-#~ msgstr "job-state 值錯誤!"
-
-#~ msgid "Bad job-uri attribute \"%s\"!"
-#~ msgstr "job-uri 屬性“%s”錯誤!"
-
-#~ msgid "Bad notify-pull-method \"%s\"!"
-#~ msgstr "notify-pull-method“%s”錯誤!"
-
-#~ msgid "Bad notify-recipient-uri URI \"%s\"!"
-#~ msgstr "notify-recipient-uri URI“%s”錯誤!"
-
-#~ msgid "Bad option + choice on line %d!"
-#~ msgstr "第 %d 行的 option + choice 錯誤!"
-
-#~ msgid "Bad port-monitor \"%s\"!"
-#~ msgstr "port-monitor“%s”錯誤!"
-
-#~ msgid "Bad printer-state value %d!"
-#~ msgstr "printer-state 值 %d 錯誤!"
-
-#~ msgid "Bad request version number %d.%d!"
-#~ msgstr "請求版本號碼 %d.%d 錯誤!"
-
-#~ msgid "Bad subscription ID!"
-#~ msgstr "訂閱 ID 錯誤!"
-
-#~ msgid "C0 Envelope"
-#~ msgstr "C0 信封"
-
-#~ msgid "C1 Envelope"
-#~ msgstr "C1 信封"
-
-#~ msgid "C2 Envelope"
-#~ msgstr "C2 信封"
-
-#~ msgid "C3 Envelope"
-#~ msgstr "C3 信封"
-
-#~ msgid "C4"
-#~ msgstr "C4"
-
-#~ msgid "C4 Envelope"
-#~ msgstr "C4 信封"
-
-#~ msgid "C5"
-#~ msgstr "C5"
-
-#~ msgid "C5 Envelope"
-#~ msgstr "C5 信封"
-
-#~ msgid "C6"
-#~ msgstr "C6"
-
-#~ msgid "C6 Envelope"
-#~ msgstr "C6 信封"
-
-#~ msgid "C65 Envelope"
-#~ msgstr "C65 信封"
-
-#~ msgid "C7 Envelope"
-#~ msgstr "C7 信封"
-
-#~ msgid "Character set \"%s\" not supported!"
-#~ msgstr "不支援字元集“%s”!"
-
-#~ msgid "Chou3 Envelope"
-#~ msgstr "Chou3 信封"
-
-#~ msgid "Chou4 Envelope"
-#~ msgstr "Chou4 信封"
-
-#~ msgid ""
-#~ "Commands may be abbreviated.  Commands are:\n"
-#~ "\n"
-#~ "exit    help    quit    status  ?\n"
-#~ msgstr ""
-#~ "指令可以簡寫。指令為:\n"
-#~ "\n"
-#~ "exit    help    quit    status  ?\n"
-
-#~ msgid "Could not scan type \"%s\"!"
-#~ msgstr "無法掃描類型“%s”!"
-
-#~ msgid "Cover open."
-#~ msgstr "機蓋已打開。"
-
-#~ msgid "DL"
-#~ msgstr "DL"
-
-#~ msgid "DL Envelope"
-#~ msgstr "DL 信封"
-
-#~ msgid "Developer almost empty."
-#~ msgstr "顯像劑即將耗盡。"
-
-#~ msgid "Developer empty!"
-#~ msgstr "顯像劑已耗盡!"
-
-#~ msgid ""
-#~ "Device: uri = %s\n"
-#~ "        class = %s\n"
-#~ "        info = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ "        location = %s\n"
-#~ msgstr ""
-#~ "設備:uri = %s\n"
-#~ "        類別 = %s\n"
-#~ "        資訊 = %s\n"
-#~ "        製造和型號 = %s\n"
-#~ "        設備 ID = %s\n"
-#~ "        位置 = %s\n"
-
-#~ msgid "Document %d not found in job %d."
-#~ msgstr "文件 %d 在作業 %d 中找不到。"
-
-#~ msgid "Door open."
-#~ msgstr "機門已打開。"
-
-#~ msgid "Double Postcard"
-#~ msgstr "雙明信片"
-
-#~ msgid "EMERG: Unable to allocate memory for page info: %s\n"
-#~ msgstr "EMERG: 無法為頁面資訊分配記憶體:%s\n"
-
-#~ msgid "EMERG: Unable to allocate memory for pages array: %s\n"
-#~ msgstr "EMERG: 無法為頁面陣列分配記憶體:%s\n"
-
-#~ msgid "ERROR: Bad %%BoundingBox: comment seen!\n"
-#~ msgstr "ERROR: %%BoundingBox ERROR: 發現有註解!\n"
-
-#~ msgid "ERROR: Bad %%IncludeFeature: comment!\n"
-#~ msgstr "ERROR: %%IncludeFeature ERROR: 註解!\n"
-
-#~ msgid "ERROR: Bad %%Page: comment in file!\n"
-#~ msgstr "ERROR: %%Page ERROR: 檔案中的註解!\n"
-
-#~ msgid "ERROR: Bad %%PageBoundingBox: comment in file!\n"
-#~ msgstr "ERROR: %%PageBoundingBox ERROR: 檔案中的註解!\n"
-
-#~ msgid "ERROR: Bad SCSI device file \"%s\"!\n"
-#~ msgstr "ERROR: SCSI 設備檔案“%s”錯誤!\n"
-
-#~ msgid "ERROR: Bad charset file %s\n"
-#~ msgstr "ERROR: 字元集檔案 %s 錯誤\n"
-
-#~ msgid "ERROR: Bad charset type %s\n"
-#~ msgstr "ERROR: 字元集類型 %s 錯誤\n"
-
-#~ msgid "ERROR: Bad columns value %d!\n"
-#~ msgstr "ERROR: 直欄值 %d 錯誤!\n"
-
-#~ msgid "ERROR: Bad cpi value %f!\n"
-#~ msgstr "ERROR: cpi 值 %f 錯誤!\n"
-
-#~ msgid "ERROR: Bad font description line: %s\n"
-#~ msgstr "ERROR: 字體描述行ERROR: %s\n"
-
-#~ msgid "ERROR: Bad lpi value %f!\n"
-#~ msgstr "ERROR: lpi 值 %f 錯誤!\n"
-
-#~ msgid "ERROR: Bad page setup!\n"
-#~ msgstr "ERROR: 頁面設定錯誤!\n"
-
-#~ msgid "ERROR: Bad text direction %s\n"
-#~ msgstr "ERROR: 文字方向 %s 錯誤\n"
-
-#~ msgid "ERROR: Bad text width %s\n"
-#~ msgstr "ERROR: 文字寬度 %s 錯誤\n"
-
-#~ msgid "ERROR: Destination printer does not exist!\n"
-#~ msgstr "ERROR: 目的印表機不存在!\n"
-
-#~ msgid "ERROR: Duplicate %%BoundingBox: comment seen!\n"
-#~ msgstr "ERROR: 重複的 %%BoundingBox:發現有註解!\n"
-
-#~ msgid "ERROR: Duplicate %%Pages: comment seen!\n"
-#~ msgstr "ERROR: 重複的 %%Pages:發現有註解!\n"
-
-#~ msgid "ERROR: Empty print file!\n"
-#~ msgstr "ERROR: 列印檔案為空!\n"
-
-#~ msgid "ERROR: Error %d sending PAPSendData request: %s\n"
-#~ msgstr "ERROR: %d 傳送 PAPSendData 請求時發生ERROR: %s\n"
-
-#~ msgid "ERROR: Expected quoted string on line %d of %s!\n"
-#~ msgstr "ERROR: %2$s 的第 %1$d 行預期為引言字串!\n"
-
-#~ msgid "ERROR: Fatal USB error!\n"
-#~ msgstr "ERROR: 嚴重的 USB 錯誤!\n"
-
-#~ msgid "ERROR: Invalid HP-GL/2 command seen, unable to print file!\n"
-#~ msgstr "ERROR: 發現無效的 HP-GL/2 指令,無法列印檔案!\n"
-
-#~ msgid "ERROR: Missing %%EndProlog!\n"
-#~ msgstr "ERROR: 遺失 %%EndProlog!\n"
-
-#~ msgid "ERROR: Missing %%EndSetup!\n"
-#~ msgstr "ERROR: 遺失 %%EndSetup!\n"
-
-#~ msgid ""
-#~ "ERROR: Missing device URI on command-line and no DEVICE_URI environment "
-#~ "variable!\n"
-#~ msgstr "ERROR: 指令行遺失設備 URI 且沒有 DEVICE_URI 環境變數!\n"
-
-#~ msgid "ERROR: Missing value on line %d of banner file!\n"
-#~ msgstr "ERROR: 標語檔案的第 %d 行遺失值!\n"
-
-#~ msgid ""
-#~ "ERROR: Need a msgid line before any translation strings on line %d of %"
-#~ "s!\n"
-#~ msgstr "ERROR: 在 %2$s 第 %1$d 行的任何轉換字串前面都需要 msgid 行!\n"
-
-#~ msgid "ERROR: No %%BoundingBox: comment in header!\n"
-#~ msgstr "ERROR: 沒有 %%BoundingBox:標題中的註解!\n"
-
-#~ msgid "ERROR: No %%Pages: comment in header!\n"
-#~ msgstr "ERROR: 沒有 %%Pages:標題中的註解!\n"
-
-#~ msgid ""
-#~ "ERROR: No device URI found in argv[0] or in DEVICE_URI environment "
-#~ "variable!\n"
-#~ msgstr "ERROR: 在 argv[0] 或 DEVICE_URI 環境變數中找不到設備 URI!\n"
-
-#~ msgid "ERROR: No fonts in charset file %s\n"
-#~ msgstr "ERROR: 字元集檔案 %s 中沒有字體\n"
-
-#~ msgid "ERROR: No pages found!\n"
-#~ msgstr "ERROR: 找不到頁面!\n"
-
-#~ msgid "ERROR: Out of paper!\n"
-#~ msgstr "ERROR: 缺紙!\n"
-
-#~ msgid "ERROR: PRINTER environment variable not defined!\n"
-#~ msgstr "ERROR: 未定義 PRINTER 環境變數!\n"
-
-#~ msgid "ERROR: Print file was not accepted (%s)!\n"
-#~ msgstr "ERROR: 不接受列印檔案(%s)!\n"
-
-#~ msgid "ERROR: Printer not responding\n"
-#~ msgstr "ERROR: 印表機未回應\n"
-
-#~ msgid "ERROR: Printer not responding!\n"
-#~ msgstr "ERROR: 印表機未回應!\n"
-
-#~ msgid "ERROR: Printer sent unexpected EOF\n"
-#~ msgstr "ERROR: 印表機傳送了非預期的 EOF\n"
-
-#~ msgid "ERROR: Remote host did not accept control file (%d)\n"
-#~ msgstr "ERROR: 遠端主機未接受控制檔案(%d)\n"
-
-#~ msgid "ERROR: Remote host did not accept data file (%d)\n"
-#~ msgstr "ERROR: 遠端主機未接受資料檔(%d)\n"
-
-#~ msgid "ERROR: There was a timeout error while sending data to the printer\n"
-#~ msgstr "ERROR: 將資料傳送到印表機時發生逾時錯誤\n"
-
-#~ msgid "ERROR: Unable to add file %d to job: %s\n"
-#~ msgstr "ERROR: 無法將檔案 %d 加入作業:%s\n"
-
-#~ msgid "ERROR: Unable to cancel job %d: %s\n"
-#~ msgstr "ERROR: 無法取消作業 %d:%s\n"
-
-#~ msgid "ERROR: Unable to copy PDF file"
-#~ msgstr "ERROR: 無法拷貝 PDF 檔案"
-
-#~ msgid "ERROR: Unable to create socket"
-#~ msgstr "ERROR: 無法製作 socket"
-
-#~ msgid "ERROR: Unable to create temporary compressed print file: %s\n"
-#~ msgstr "ERROR: 無法製作暫時的壓縮列印檔案:%s\n"
-
-#~ msgid "ERROR: Unable to create temporary file"
-#~ msgstr "ERROR: 無法製作暫存檔"
-
-#~ msgid "ERROR: Unable to create temporary file - %s.\n"
-#~ msgstr "ERROR: 無法製作暫存檔 - %s。\n"
-
-#~ msgid "ERROR: Unable to create temporary file: %s\n"
-#~ msgstr "ERROR: 無法製作暫存檔:%s\n"
-
-#~ msgid "ERROR: Unable to exec pictwpstops: %s\n"
-#~ msgstr "ERROR: 無法執行 pictwpstops:%s\n"
-
-#~ msgid "ERROR: Unable to execute gs program"
-#~ msgstr "ERROR: 無法執行 gs 程式"
-
-#~ msgid "ERROR: Unable to execute pdftops program"
-#~ msgstr "ERROR: 無法執行 pdftops 程式"
-
-#~ msgid "ERROR: Unable to fork pictwpstops: %s\n"
-#~ msgstr "ERROR: 無法分開 pictwpstops:%s\n"
-
-#~ msgid "ERROR: Unable to get PAP request"
-#~ msgstr "ERROR: 無法取得 PAP 請求"
-
-#~ msgid "ERROR: Unable to get PAP response"
-#~ msgstr "ERROR: 無法取得 PAP 回應"
-
-#~ msgid "ERROR: Unable to get PPD file for printer \"%s\" - %s.\n"
-#~ msgstr "ERROR: 無法取得印表機“%s”的 PPD 檔案 - %s。\n"
-
-#~ msgid "ERROR: Unable to get default AppleTalk zone"
-#~ msgstr "ERROR: 無法取得預設的 AppleTalk 區域"
-
-#~ msgid "ERROR: Unable to get job %d attributes (%s)!\n"
-#~ msgstr "ERROR: 無法取得作業 %d 屬性(%s)!\n"
-
-#~ msgid "ERROR: Unable to get printer status (%s)!\n"
-#~ msgstr "ERROR: 無法取得印表機狀態(%s)!\n"
-
-#~ msgid "ERROR: Unable to locate printer '%s'!\n"
-#~ msgstr "ERROR: 找不到印表機 '%s'!\n"
-
-#~ msgid "ERROR: Unable to look for PAP response"
-#~ msgstr "ERROR: 無法尋找 PAP 回應"
-
-#~ msgid "ERROR: Unable to lookup AppleTalk printers"
-#~ msgstr "ERROR: 無法尋找 AppleTalk 印表機"
-
-#~ msgid "ERROR: Unable to make AppleTalk address"
-#~ msgstr "ERROR: 無法設定 AppleTalk 地址"
-
-#~ msgid "ERROR: Unable to open \"%s\" - %s\n"
-#~ msgstr "ERROR: 無法打開“%s”- %s\n"
-
-#~ msgid "ERROR: Unable to open %s: %s\n"
-#~ msgstr "ERROR: 無法打開 %s:%s\n"
-
-#~ msgid "ERROR: Unable to open banner file \"%s\" - %s\n"
-#~ msgstr "ERROR: 無法打開標語檔案“%s”- %s\n"
-
-#~ msgid "ERROR: Unable to open device file \"%s\": %s\n"
-#~ msgstr "ERROR: 無法打開設備檔案“%s”:%s\n"
-
-#~ msgid "ERROR: Unable to open file \"%s\" - %s\n"
-#~ msgstr "ERROR: 無法打開檔案“%s”- %s\n"
-
-#~ msgid "ERROR: Unable to open file \"%s\": %s\n"
-#~ msgstr "ERROR: 無法打開檔案“%s”:%s\n"
-
-#~ msgid "ERROR: Unable to open image file for printing!\n"
-#~ msgstr "ERROR: 無法打開要列印的影像檔!\n"
-
-#~ msgid "ERROR: Unable to open print file \"%s\": %s\n"
-#~ msgstr "ERROR: 無法打開列印檔案“%s”:%s\n"
-
-#~ msgid "ERROR: Unable to open print file %s - %s\n"
-#~ msgstr "ERROR: 無法打開列印檔案 %s - %s\n"
-
-#~ msgid "ERROR: Unable to open print file %s: %s\n"
-#~ msgstr "ERROR: 無法打開列印檔案 %s:%s\n"
-
-#~ msgid "ERROR: Unable to open temporary compressed print file: %s\n"
-#~ msgstr "ERROR: 無法打開暫時的壓縮列印檔案:%s\n"
-
-#~ msgid "ERROR: Unable to open temporary file"
-#~ msgstr "ERROR: 無法打開暫存檔"
-
-#~ msgid "ERROR: Unable to print %d text columns!\n"
-#~ msgstr "ERROR: 無法列印 %d 文字直欄!\n"
-
-#~ msgid "ERROR: Unable to print %dx%d text page!\n"
-#~ msgstr "ERROR: 無法列印 %dx%d 文字頁面!\n"
-
-#~ msgid "ERROR: Unable to read print data"
-#~ msgstr "ERROR: 無法讀取列印資料"
-
-#~ msgid "ERROR: Unable to read print data!\n"
-#~ msgstr "ERROR: 無法讀取列印資料!\n"
-
-#~ msgid "ERROR: Unable to reserve port"
-#~ msgstr "ERROR: 無法保留連接埠"
-
-#~ msgid "ERROR: Unable to seek to offset %ld in file - %s\n"
-#~ msgstr "ERROR: 無法在檔案中尋找偏移 %ld - %s\n"
-
-#~ msgid "ERROR: Unable to seek to offset %lld in file - %s\n"
-#~ msgstr "ERROR: 無法在檔案中尋找偏移 %lld - %s\n"
-
-#~ msgid "ERROR: Unable to send LPD command"
-#~ msgstr "ERROR: 無法傳送 LPD 指令"
-
-#~ msgid "ERROR: Unable to send PAP tickle request"
-#~ msgstr "ERROR: 無法傳送 PAP tickle 請求"
-
-#~ msgid "ERROR: Unable to send initial PAP send data request"
-#~ msgstr "ERROR: 無法傳送初始 PAP 傳送資料請求"
-
-#~ msgid "ERROR: Unable to send print data (%d)\n"
-#~ msgstr "ERROR: 無法傳送列印資料(%d)\n"
-
-#~ msgid "ERROR: Unable to send print data!\n"
-#~ msgstr "ERROR: 無法傳送列印資料!\n"
-
-#~ msgid "ERROR: Unable to send print file to printer"
-#~ msgstr "ERROR: 無法將列印檔案傳送至印表機"
-
-#~ msgid "ERROR: Unable to send trailing nul to printer"
-#~ msgstr "ERROR: 無法將 trailing nul 傳送至印表機"
-
-#~ msgid "ERROR: Unable to wait for pictwpstops: %s\n"
-#~ msgstr "ERROR: 無法等待 pictwpstops:%s\n"
-
-#~ msgid "ERROR: Unable to write %d bytes to \"%s\": %s\n"
-#~ msgstr "ERROR: 無法將 %d 位元組寫入至“%s”:%s\n"
-
-#~ msgid "ERROR: Unable to write %d bytes to printer!\n"
-#~ msgstr "ERROR: 無法將 %d 位元組寫入至印表機!\n"
-
-#~ msgid "ERROR: Unable to write control file"
-#~ msgstr "ERROR: 無法寫入控制檔案"
-
-#~ msgid "ERROR: Unable to write print data"
-#~ msgstr "ERROR: 無法寫入列印資料"
-
-#~ msgid "ERROR: Unable to write print data: %s\n"
-#~ msgstr "ERROR: 無法寫入列印資料:%s\n"
-
-#~ msgid "ERROR: Unable to write raster data to driver!\n"
-#~ msgstr "ERROR: 無法將水平掃瞄線資料寫入驅動程式!\n"
-
-#~ msgid "ERROR: Unable to write to temporary file"
-#~ msgstr "ERROR: 無法寫入暫存檔"
-
-#~ msgid "ERROR: Unable to write uncompressed document data: %s\n"
-#~ msgstr "ERROR: 無法寫入未壓縮的文件資料:%s\n"
-
-#~ msgid "ERROR: Unexpected text on line %d of %s!\n"
-#~ msgstr "ERROR: %2$s 的第 %1$d 行有非預期的文字!\n"
-
-#~ msgid "ERROR: Unknown encryption option value \"%s\"!\n"
-#~ msgstr "ERROR: 未知的加密選項值“%s”!\n"
-
-#~ msgid "ERROR: Unknown file order \"%s\"\n"
-#~ msgstr "ERROR: 未知的檔案順序“%s”\n"
-
-#~ msgid "ERROR: Unknown format character \"%c\"\n"
-#~ msgstr "ERROR: 未知的格式字元“%c”\n"
-
-#~ msgid "ERROR: Unknown message catalog format for \"%s\"!\n"
-#~ msgstr "ERROR: “%s”的訊息目錄格式未知!\n"
-
-#~ msgid "ERROR: Unknown option \"%s\" with value \"%s\"!\n"
-#~ msgstr "ERROR: 未知的選項“%s”,值為“%s”!\n"
-
-#~ msgid "ERROR: Unknown print mode \"%s\"\n"
-#~ msgstr "ERROR: 未知的列印模式“%s”\n"
-
-#~ msgid "ERROR: Unknown version option value \"%s\"!\n"
-#~ msgstr "ERROR: 未知的版本選項值“%s”!\n"
-
-#~ msgid "ERROR: Unsupported brightness value %s, using brightness=100!\n"
-#~ msgstr "ERROR: 不受支援的亮度值 %s,使用 brightness=100!\n"
-
-#~ msgid "ERROR: Unsupported gamma value %s, using gamma=1000!\n"
-#~ msgstr "ERROR: 不受支援的 gamma 值 %s,使用 gamma=1000!\n"
-
-#~ msgid "ERROR: Unsupported number-up value %d, using number-up=1!\n"
-#~ msgstr "ERROR: 不受支援的 number-up 值 %d,使用 number-up=1!\n"
-
-#~ msgid ""
-#~ "ERROR: Unsupported number-up-layout value %s, using number-up-"
-#~ "layout=lrtb!\n"
-#~ msgstr ""
-#~ "ERROR: 不受支援的 number-up-layout 值 %s,使用 number-up-layout=lrtb!\n"
-
-#~ msgid "ERROR: Unsupported page-border value %s, using page-border=none!\n"
-#~ msgstr "ERROR: 不受支援的 page-border 值 %s,使用 page-border=none!\n"
-
-#~ msgid "ERROR: doc_printf overflow (%d bytes) detected, aborting!\n"
-#~ msgstr "ERROR: 偵測到 doc_printf 溢位(%d 位元組),正在中斷!\n"
-
-#~ msgid "ERROR: pdftops filter crashed on signal %d!\n"
-#~ msgstr "ERROR: pdftops 濾鏡在遇到訊號 %d 時當機!\n"
-
-#~ msgid "ERROR: pdftops filter exited with status %d!\n"
-#~ msgstr "ERROR: pdftops 濾鏡以狀態 %d 結束!\n"
-
-#~ msgid "ERROR: pictwpstops exited on signal %d!\n"
-#~ msgstr "ERROR: pictwpstops 在遇到訊號 %d 時結束!\n"
-
-#~ msgid "ERROR: pictwpstops exited with status %d!\n"
-#~ msgstr "ERROR: pictwpstops 以狀態 %d 結束!\n"
-
-#~ msgid ""
-#~ "ERROR: recoverable: Unable to connect to printer; will retry in 30 "
-#~ "seconds...\n"
-#~ msgstr "ERROR: 可回復:無法連接印表機;30 秒內將重試⋯\n"
-
-#~ msgid "ERROR: select() failed"
-#~ msgstr "ERROR: select() 失敗"
-
-#~ msgid "ERROR: unable to stat print file"
-#~ msgstr "ERROR: 無法開始列印檔案"
-
-#~ msgid "Empty PPD file!"
-#~ msgstr "PPD 檔案為空!"
-
-#~ msgid "Error: need hostname after '-h' option!\n"
-#~ msgstr "ERROR: '-h' 選項後面需要主機名稱!\n"
-
-#~ msgid "FAIL\n"
-#~ msgstr "失敗\n"
-
-#~ msgid ""
-#~ "File device URIs have been disabled! To enable, see the FileDevice "
-#~ "directive in \"%s/cupsd.conf\"."
-#~ msgstr ""
-#~ "已停用檔案設備 URI!若要啟用,請參閱“%s/cupsd.conf”中的 FileDevice 指示。"
-
-#~ msgid "Fuser temperature high!"
-#~ msgstr "加熱器溫度高!"
-
-#~ msgid "Fuser temperature low!"
-#~ msgstr "加熱器溫度低!"
-
-#~ msgid "German FanFold"
-#~ msgstr "德式折疊式報表紙(German FanFold)"
-
-#~ msgid "German FanFold Legal"
-#~ msgstr "德式折疊式法定報表紙(German FanFold Legal)"
-
-#~ msgid "Got a printer-uri attribute but no job-id!"
-#~ msgstr "已取得 printer-uri 屬性,但沒有 job-id!"
-
-#~ msgid "INFO: AppleTalk disabled in System Preferences\n"
-#~ msgstr "INFO: 已在“系統偏好設定”中停用 AppleTalk\n"
-
-#~ msgid "INFO: AppleTalk disabled in System Preferences.\n"
-#~ msgstr "INFO: 已在“系統偏好設定”中停用 AppleTalk。\n"
-
-#~ msgid "INFO: Canceling print job...\n"
-#~ msgstr "INFO: 正在取消列印作業⋯\n"
-
-#~ msgid "INFO: Connected to printer...\n"
-#~ msgstr "INFO: 已連接印表機⋯\n"
-
-#~ msgid "INFO: Connecting to printer...\n"
-#~ msgstr "INFO: 正在連接印表機⋯\n"
-
-#~ msgid "INFO: Control file sent successfully\n"
-#~ msgstr "INFO: 已成功傳送控制檔案\n"
-
-#~ msgid "INFO: Data file sent successfully\n"
-#~ msgstr "INFO: 已成功傳送資料檔\n"
-
-#~ msgid "INFO: Formatting page %d...\n"
-#~ msgstr "INFO: 正在格式化頁面 %d⋯\n"
-
-#~ msgid "INFO: Loading image file...\n"
-#~ msgstr "INFO: 正在載入影像檔⋯\n"
-
-#~ msgid "INFO: Looking for printer...\n"
-#~ msgstr "INFO: 正在尋找印表機⋯\n"
-
-#~ msgid "INFO: Opening connection\n"
-#~ msgstr "INFO: 正在打開連線\n"
-
-#~ msgid "INFO: Print file sent, waiting for printer to finish...\n"
-#~ msgstr "INFO: 已傳送列印檔案,正在等待印表機完成工作⋯\n"
-
-#~ msgid "INFO: Printer busy; will retry in 10 seconds...\n"
-#~ msgstr "INFO: 印表機忙碌中;10 秒內將重試⋯\n"
-
-#~ msgid "INFO: Printer busy; will retry in 30 seconds...\n"
-#~ msgstr "INFO: 印表機忙碌中;30 秒內將重試⋯\n"
-
-#~ msgid "INFO: Printer busy; will retry in 5 seconds...\n"
-#~ msgstr "INFO: 印表機忙碌中;5 秒內將重試⋯\n"
-
-#~ msgid "INFO: Printer does not support IPP/%d.%d, trying IPP/1.0...\n"
-#~ msgstr "INFO: 印表機不支援 IPP/%d.%d,正在嘗試 IPP/1.0⋯\n"
-
-#~ msgid "INFO: Printer is busy; will retry in 5 seconds...\n"
-#~ msgstr "INFO: 印表機忙碌中;5 秒內將重試⋯\n"
-
-#~ msgid "INFO: Printer is currently off-line.\n"
-#~ msgstr "INFO: 印表機目前已離線。\n"
-
-#~ msgid "INFO: Printer is currently offline.\n"
-#~ msgstr "INFO: 印表機目前已離線。\n"
-
-#~ msgid "INFO: Printer is now online.\n"
-#~ msgstr "INFO: 印表機已回到線上。\n"
-
-#~ msgid "INFO: Printer is offline.\n"
-#~ msgstr "INFO: 印表機已離線。\n"
-
-#~ msgid "INFO: Printer not connected; will retry in 30 seconds...\n"
-#~ msgstr "INFO: 未連接印表機;30 秒內將重試⋯\n"
-
-#~ msgid "INFO: Printing page %d, %d%% complete...\n"
-#~ msgstr "INFO: 正在列印頁面 %d,%d%% 已完成⋯\n"
-
-#~ msgid "INFO: Printing page %d...\n"
-#~ msgstr "INFO: 正在列印頁面 %d⋯\n"
-
-#~ msgid "INFO: Ready to print.\n"
-#~ msgstr "INFO: 準備好進行列印。\n"
-
-#~ msgid "INFO: Sending control file (%lu bytes)\n"
-#~ msgstr "INFO: 正在傳送控制檔案(%lu 位元組)\n"
-
-#~ msgid "INFO: Sending control file (%u bytes)\n"
-#~ msgstr "INFO: 正在傳送控制檔案(%u 位元組)\n"
-
-#~ msgid "INFO: Sending data\n"
-#~ msgstr "INFO: 正在傳送資料\n"
-
-#~ msgid "INFO: Sending data file (%ld bytes)\n"
-#~ msgstr "INFO: 正在傳送資料檔(%ld 位元組)\n"
-
-#~ msgid "INFO: Sending data file (%lld bytes)\n"
-#~ msgstr "INFO: 正在傳送資料檔(%lld 位元組)\n"
-
-#~ msgid "INFO: Sending print data...\n"
-#~ msgstr "INFO: 正在傳送列印資料⋯\n"
-
-#~ msgid "INFO: Sent print file, %ld bytes...\n"
-#~ msgstr "INFO: 已傳送列印檔案,%ld 位元組⋯\n"
-
-#~ msgid "INFO: Sent print file, %lld bytes...\n"
-#~ msgstr "INFO: 已傳送列印檔案,%lld 位元組⋯\n"
-
-#~ msgid "INFO: Spooling LPR job, %.0f%% complete...\n"
-#~ msgstr "INFO: 正在緩衝列印作業,%.0f%% 已完成⋯\n"
-
-#~ msgid ""
-#~ "INFO: Unable to contact printer, queuing on next printer in class...\n"
-#~ msgstr "INFO: 無法聯絡印表機,正在佇列等待類別中的下一個印表機⋯\n"
-
-#~ msgid "INFO: Using default AppleTalk zone \"%s\"\n"
-#~ msgstr "INFO: 使用預設的 AppleTalk 區域“%s”\n"
-
-#~ msgid "INFO: Waiting for job to complete...\n"
-#~ msgstr "INFO: 正在等待作業完成⋯\n"
-
-#~ msgid "INFO: Waiting for printer to become available...\n"
-#~ msgstr "INFO: 正在等待印表機成為可用狀態⋯\n"
-
-#~ msgid "ISO B0"
-#~ msgstr "ISO B0"
-
-#~ msgid "ISO B1"
-#~ msgstr "ISO B1"
-
-#~ msgid "ISO B10"
-#~ msgstr "ISO B10"
-
-#~ msgid "ISO B2"
-#~ msgstr "ISO B2"
-
-#~ msgid "ISO B3"
-#~ msgstr "ISO B3"
-
-#~ msgid "ISO B4"
-#~ msgstr "ISO B4"
-
-#~ msgid "ISO B4 Envelope"
-#~ msgstr "ISO B4 信封"
-
-#~ msgid "ISO B5"
-#~ msgstr "ISO B5"
-
-#~ msgid "ISO B5 (Oversize)"
-#~ msgstr "ISO B5(超大型)"
-
-#~ msgid "ISO B5 Envelope"
-#~ msgstr "ISO B5 信封"
-
-#~ msgid "ISO B6"
-#~ msgstr "ISO B6"
-
-#~ msgid "ISO B6 Envelope"
-#~ msgstr "ISO B6 信封"
-
-#~ msgid "ISO B7"
-#~ msgstr "ISO B7"
-
-#~ msgid "ISO B8"
-#~ msgstr "ISO B8"
-
-#~ msgid "ISO B9"
-#~ msgstr "ISO B9"
-
-#~ msgid "Ink/toner almost empty."
-#~ msgstr "墨水或碳粉即將耗盡。"
-
-#~ msgid "Ink/toner empty!"
-#~ msgstr "墨水或碳粉已耗盡!"
-
-#~ msgid "Ink/toner waste bin almost full."
-#~ msgstr "墨水或碳粉廢料槽將滿。"
-
-#~ msgid "Ink/toner waste bin full!"
-#~ msgstr "墨水或碳粉廢料槽已滿!"
-
-#~ msgid "Interlock open."
-#~ msgstr "Interlock 已打開。"
-
-#~ msgid "Invite Envelope"
-#~ msgstr "邀請信封"
-
-#~ msgid "Italian Envelope"
-#~ msgstr "義大利信封"
-
-#~ msgid "Job #%d cannot be restarted - no files!"
-#~ msgstr "無法重新啟動作業 #%d - 沒有檔案!"
-
-#~ msgid "Job #%d does not exist!"
-#~ msgstr "作業 #%d 不存在!"
-
-#~ msgid "Job #%d is finished and cannot be altered!"
-#~ msgstr "已完成作業 #%d 且無法更改!"
-
-#~ msgid "Job #%d is not complete!"
-#~ msgstr "未完成作業 #%d!"
-
-#~ msgid "Job #%d is not held for authentication!"
-#~ msgstr "未暫停作業 #%d 進行認證!"
-
-#~ msgid "Job #%d is not held!"
-#~ msgstr "未暫停作業 #%d!"
-
-#~ msgid "Job #%s does not exist!"
-#~ msgstr "作業 #%s 不存在!"
-
-#~ msgid "Job %d not found!"
-#~ msgstr "找不到作業 %d!"
-
-#~ msgid "Job subscriptions cannot be renewed!"
-#~ msgstr "無法更新作業訂閱!"
-
-#~ msgid "Kaku2 Envelope"
-#~ msgstr "Kaku2 信封"
-
-#~ msgid "Kaku3 Envelope"
-#~ msgstr "Kaku3 信封"
-
-#~ msgid "Language \"%s\" not supported!"
-#~ msgstr "不支援語言“%s”!"
-
-#~ msgid "Media jam!"
-#~ msgstr "媒體卡紙!"
-
-#~ msgid "Media tray almost empty."
-#~ msgstr "媒體送紙匣即將用完。"
-
-#~ msgid "Media tray empty!"
-#~ msgstr "媒體送紙匣為空!"
-
-#~ msgid "Media tray missing!"
-#~ msgstr "找不到媒體送紙匣!"
-
-#~ msgid "Media tray needs to be filled."
-#~ msgstr "媒體送紙匣需要添加紙張。"
-
-#~ msgid "Missing document-number attribute!"
-#~ msgstr "遺失 document-number 屬性!"
-
-#~ msgid "Missing double quote on line %d!"
-#~ msgstr "第 %d 行遺失雙引號!!"
-
-#~ msgid "Missing form variable!"
-#~ msgstr "遺失表單變數!"
-
-#~ msgid "Missing notify-subscription-ids attribute!"
-#~ msgstr "遺失 notify-subscription-ids 屬性!"
-
-#~ msgid "Missing requesting-user-name attribute!"
-#~ msgstr "遺失 requesting-user-name 屬性!"
-
-#~ msgid "Missing required attributes!"
-#~ msgstr "遺失必要的屬性!"
-
-#~ msgid "Missing value on line %d!"
-#~ msgstr "第 %d 行遺失值!"
-
-#~ msgid ""
-#~ "Model:  name = %s\n"
-#~ "        natural_language = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-#~ msgstr ""
-#~ "型號:name = %s\n"
-#~ "        natural_language = %s\n"
-#~ "        make-and-model = %s\n"
-#~ "        device-id = %s\n"
-
-#~ msgid "Monarch"
-#~ msgstr "Monarch"
-
-#~ msgid "Monarch Envelope"
-#~ msgstr "Monarch 信封"
-
-#~ msgid "NOTICE: Print file accepted - job ID %d.\n"
-#~ msgstr "NOTICE: 已接受列印檔案 - 作業 ID %d。\n"
-
-#~ msgid "NOTICE: Print file accepted - job ID unknown.\n"
-#~ msgstr "NOTICE: 已接受列印檔案 - 作業 ID 未知。\n"
-
-#~ msgid "No PPD name!"
-#~ msgstr "沒有 PPD 名稱!"
-
-#~ msgid "No Windows printer drivers are installed!"
-#~ msgstr "未安裝 Windows 印表機驅動程式!"
-
-#~ msgid "No active jobs on %s!"
-#~ msgstr "%s 上沒有已啟用的作業!"
-
-#~ msgid "No attributes in request!"
-#~ msgstr "請求中沒有屬性!"
-
-#~ msgid "No authentication information provided!"
-#~ msgstr "未提供認證資訊!"
-
-#~ msgid "No default printer"
-#~ msgstr "沒有預設印表機"
-
-#~ msgid "No file!?!"
-#~ msgstr "沒有檔案!?!"
-
-#~ msgid "No modification time!"
-#~ msgstr "沒有修改時間!"
-
-#~ msgid "No printer name!"
-#~ msgstr "沒有印表機名稱!"
-
-#~ msgid "No printer-uri found for class!"
-#~ msgstr "找不到類別的 printer-uri!"
-
-#~ msgid "No printer-uri found!"
-#~ msgstr "找不到 printer-uri!"
-
-#~ msgid "No printer-uri in request!"
-#~ msgstr "請求中沒有 printer-uri!"
-
-#~ msgid "No subscription attributes in request!"
-#~ msgstr "請求中沒有訂閱屬性!"
-
-#~ msgid "OPC almost at end-of-life."
-#~ msgstr "OPC 壽命即將耗盡。"
-
-#~ msgid "OPC at end-of-life!"
-#~ msgstr "OPC 壽命耗盡。"
-
-#~ msgid "Out of toner!"
-#~ msgstr "碳粉已耗盡!"
-
-#~ msgid "Output bin almost full."
-#~ msgstr "輸出槽將滿。"
-
-#~ msgid "Output bin full!"
-#~ msgstr "輸出槽已滿!"
-
-#~ msgid "Output for printer %s is sent to %s\n"
-#~ msgstr "已將印表機 %s 的輸出傳送至 %s\n"
-
-#~ msgid "Output for printer %s is sent to remote printer %s on %s\n"
-#~ msgstr "已將印表機 %s 的輸出傳送至遠端印表機 %s(位於 %s 上)\n"
-
-#~ msgid "Output for printer %s/%s is sent to %s\n"
-#~ msgstr "已將印表機 %s/%s 的輸出傳送至 %s\n"
-
-#~ msgid "Output for printer %s/%s is sent to remote printer %s on %s\n"
-#~ msgstr "已將印表機 %s/%s 的輸出傳送至遠端印表機 %s(位於 %s 上)\n"
-
-#~ msgid "Output tray missing!"
-#~ msgstr "找不到輸出紙匣!"
-
-#~ msgid "PASS\n"
-#~ msgstr "通過\n"
-
-#~ msgid "PRC1 Envelope"
-#~ msgstr "PRC1 信封"
-
-#~ msgid "PRC10 Envelope"
-#~ msgstr "PRC10 信封"
-
-#~ msgid "PRC2 Envelope"
-#~ msgstr "PRC2 信封"
-
-#~ msgid "PRC3 Envelope"
-#~ msgstr "PRC3 信封"
-
-#~ msgid "PRC32K (Oversize)"
-#~ msgstr "PRC32K(超大型)"
-
-#~ msgid "PRC4 Envelope"
-#~ msgstr "PRC4 信封"
-
-#~ msgid "PRC5 Envelope"
-#~ msgstr "PRC5 信封"
-
-#~ msgid "PRC6 Envelope"
-#~ msgstr "PRC6 信封"
-
-#~ msgid "PRC7 Envelope"
-#~ msgstr "PRC7 信封"
-
-#~ msgid "PRC8 Envelope"
-#~ msgstr "PRC8 信封"
-
-#~ msgid "PRC9 Envelope"
-#~ msgstr "PRC9 信封"
-
-#~ msgid "Personal Envelope"
-#~ msgstr "個人信封"
-
-#~ msgid "Printer offline."
-#~ msgstr "印表機已離線。"
-
-#~ msgid "Rank    Owner   Job     File(s)                         Total Size\n"
-#~ msgstr "等級    持有人   作業     檔案                         大小總計\n"
-
-#~ msgid ""
-#~ "Rank   Owner      Pri  Job        Files                       Total Size\n"
-#~ msgstr ""
-#~ "等級   持有人      優先作業        檔案                       大小總計\n"
-
-#~ msgid "Running command: %s %s -N -A %s -c '%s'\n"
-#~ msgstr "執行指令:%s %s -N -A %s -c '%s'\n"
-
-#~ msgid "SCSI Printer"
-#~ msgstr "SCSI 印表機"
-
-#~ msgid "Tabloid (Oversize)"
-#~ msgstr "小報用紙-超大型(Tabloid-Oversize)"
-
-#~ msgid "The notify-user-data value is too large (%d > 63 octets)!"
-#~ msgstr "notify-user-data 值太大(%d > 63 八位元組)!"
-
-#~ msgid "The printer or class is not shared!"
-#~ msgstr "未共享印表機或類別!"
-
-#~ msgid "The printer or class was not found."
-#~ msgstr "找不到印表機或類別。"
-
-#~ msgid "The printer-uri attribute is required!"
-#~ msgstr "需要 printer-uri 屬性!"
-
-#~ msgid "Toner low."
-#~ msgstr "碳粉過少。"
-
-#~ msgid "Too many job-sheets values (%d > 2)!"
-#~ msgstr "太多 job-sheets 值(%d > 2)!"
-
-#~ msgid "Too many printer-state-reasons values (%d > %d)!"
-#~ msgstr "太多 printer-state-reasons 值(%d > %d)!"
-
-#~ msgid "US Executive"
-#~ msgstr "美式行政用紙(US Executive)"
-
-#~ msgid "US Fanfold"
-#~ msgstr "美式折疊式報表紙(US Fanfold)"
-
-#~ msgid "US Legal (Oversize)"
-#~ msgstr "美式法定紙-超大型(US Legal-Oversize)"
-
-#~ msgid "US Letter (Oversize)"
-#~ msgstr "美式信紙-超大型(US Letter-Oversize)"
-
-#~ msgid "US Letter (Small)"
-#~ msgstr "美式信紙-小型(US Letter-Small)"
-
-#~ msgid "Unable to add job for destination \"%s\"!"
-#~ msgstr "無法為目的地“%s”加入作業!"
-
-#~ msgid "Unable to allocate memory for file types!"
-#~ msgstr "無法為檔案類型分配記憶體!"
-
-#~ msgid "Unable to copy 64-bit CUPS printer driver files (%d)!"
-#~ msgstr "無法拷貝 64 位元 CUPS 印表機驅動程式檔案(%d)!"
-
-#~ msgid "Unable to copy 64-bit Windows printer driver files (%d)!"
-#~ msgstr "無法拷貝 64 位元 Windows 印表機驅動程式檔案(%d)!"
-
-#~ msgid "Unable to copy CUPS printer driver files (%d)!"
-#~ msgstr "無法拷貝 CUPS 印表機驅動程式檔案(%d)!"
-
-#~ msgid "Unable to copy PPD file - %s!"
-#~ msgstr "無法拷貝 PPD 檔案 - %s!"
-
-#~ msgid "Unable to copy PPD file!"
-#~ msgstr "無法拷貝 PPD 檔案!"
-
-#~ msgid "Unable to copy Windows 2000 printer driver files (%d)!"
-#~ msgstr "無法拷貝 Windows 2000 印表機驅動程式檔案(%d)!"
-
-#~ msgid "Unable to copy Windows 9x printer driver files (%d)!"
-#~ msgstr "無法拷貝 Windows 9x 印表機驅動程式檔案(%d)!"
-
-#~ msgid "Unable to copy interface script - %s!"
-#~ msgstr "無法拷貝介面工序指令 - %s!"
-
-#~ msgid "Unable to create printer-uri!"
-#~ msgstr "無法製作 printer-uri!"
-
-#~ msgid "Unable to edit cupsd.conf files larger than 1MB!"
-#~ msgstr "無法編輯大小超過 1MB 的 cupsd.conf 檔案!"
-
-#~ msgid "Unable to find destination for job!"
-#~ msgstr "找不到作業的目的地!"
-
-#~ msgid "Unable to find printer!\n"
-#~ msgstr "找不到印表機!\n"
-
-#~ msgid "Unable to install Windows 2000 printer driver files (%d)!"
-#~ msgstr "無法安裝 Windows 2000 印表機驅動程式檔案(%d)!"
-
-#~ msgid "Unable to install Windows 9x printer driver files (%d)!"
-#~ msgstr "無法安裝 Windows 9x 印表機驅動程式檔案(%d)!"
-
-#~ msgid "Unable to open document %d in job %d!"
-#~ msgstr "無法打開文件 %d(在作業 %d 中)!"
-
-#~ msgid "Unable to run \"%s\": %s\n"
-#~ msgstr "無法執行“%s”:%s\n"
-
-#~ msgid "Unable to send command to printer driver!"
-#~ msgstr "無法將指令傳送至印表機驅動程式!"
-
-#~ msgid "Unable to set Windows printer driver (%d)!"
-#~ msgstr "無法設定 Windows 印表機驅動程式(%d)!"
-
-#~ msgid "Unable to use legacy USB class driver!\n"
-#~ msgstr "無法使用繼承的 USB 類別驅動程式!\n"
-
-#~ msgid "Unknown printer error (%s)!"
-#~ msgstr "未知的印表機錯誤(%s)!"
-
-#~ msgid "Unsupported character set \"%s\"!"
-#~ msgstr "不受支援的字元集“%s”!"
-
-#~ msgid "Unsupported compression \"%s\"!"
-#~ msgstr "不受支援的壓縮“%s”!"
-
-#~ msgid "Unsupported compression attribute %s!"
-#~ msgstr "不受支援的壓縮屬性 %s!"
-
-#~ msgid "Unsupported format \"%s\"!"
-#~ msgstr "不受支援的格式“%s”!"
-
-#~ msgid "Unsupported format '%s'!"
-#~ msgstr "不受支援的格式 '%s'!"
-
-#~ msgid "Unsupported format '%s/%s'!"
-#~ msgstr "不受支援的格式 '%s/%s'!"
-
-#~ msgid ""
-#~ "Usage:\n"
-#~ "\n"
-#~ "    lpadmin [-h server] -d destination\n"
-#~ "    lpadmin [-h server] -x destination\n"
-#~ "    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m "
-#~ "model]\n"
-#~ "                       [-r remove-class] [-v device] [-D description]\n"
-#~ "                       [-P ppd-file] [-o name=value]\n"
-#~ "                       [-u allow:user,user] [-u deny:user,user]\n"
-#~ "\n"
-#~ msgstr ""
-#~ "使用:\n"
-#~ "\n"
-#~ "    lpadmin [-h server] -d destination\n"
-#~ "    lpadmin [-h server] -x destination\n"
-#~ "    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m "
-#~ "model]\n"
-#~ "                       [-r remove-class] [-v device] [-D description]\n"
-#~ "                       [-P ppd-file] [-o name=value]\n"
-#~ "                       [-u allow:user,user] [-u deny:user,user]\n"
-#~ "\n"
-
-#~ msgid "Usage: %s job user title copies options [filename]\n"
-#~ msgstr "使用:%s 作業使用者標題拷貝選項 [檔名]\n"
-
-#~ msgid "Usage: %s job-id user title copies options [file]\n"
-#~ msgstr "使用:%s job-id 使用者標題拷貝選項 [檔案]\n"
-
-#~ msgid "Usage: %s job-id user title copies options file\n"
-#~ msgstr "使用:%s job-id 使用者標題拷貝選項檔案\n"
-
-#~ msgid ""
-#~ "Usage: convert [ options ]\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "  -f filename          Set file to be converted (otherwise stdin)\n"
-#~ "  -o filename          Set file to be generated (otherwise stdout)\n"
-#~ "  -i mime/type         Set input MIME type (otherwise auto-typed)\n"
-#~ "  -j mime/type         Set output MIME type (otherwise application/pdf)\n"
-#~ "  -P filename.ppd      Set PPD file\n"
-#~ "  -a 'name=value ...'  Set option(s)\n"
-#~ "  -U username          Set username for job\n"
-#~ "  -J title             Set title\n"
-#~ "  -c copies            Set number of copies\n"
-#~ "  -u                   Remove the PPD file when finished\n"
-#~ "  -D                   Remove the input file when finished\n"
-#~ msgstr ""
-#~ "使用:convert [ options ]\n"
-#~ "\n"
-#~ "選項:\n"
-#~ "\n"
-#~ "  -f filename          設定要轉換的檔案(否則為 stdin)\n"
-#~ "  -o filename          設定要產生的檔案(否則為 stdout)\n"
-#~ "  -i mime/type         設定輸入 MIME 類型(否則為 auto-typed)\n"
-#~ "  -j mime/type         設定輸出 MIME 類型(否則為 application/pdf)\n"
-#~ "  -P filename.ppd      設定 PPD 檔案\n"
-#~ "  -a 'name=value ...'  設定選項\n"
-#~ "  -U username          設定作業的使用者名稱\n"
-#~ "  -J title             設定標題\n"
-#~ "  -c copies            設定份數\n"
-#~ "  -u                   完成時移除 PPD 檔案\n"
-#~ "  -D                   完成時移除輸入檔案\n"
-
-#~ msgid ""
-#~ "Usage: cupsaddsmb [options] printer1 ... printerN\n"
-#~ "       cupsaddsmb [options] -a\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "  -E               Encrypt the connection to the server\n"
-#~ "  -H samba-server  Use the named SAMBA server\n"
-#~ "  -U samba-user    Authenticate using the named SAMBA user\n"
-#~ "  -a               Export all printers\n"
-#~ "  -h cups-server   Use the named CUPS server\n"
-#~ "  -v               Be verbose (show commands)\n"
-#~ msgstr ""
-#~ "使用:cupsaddsmb [options] printer1 ... printerN\n"
-#~ "       cupsaddsmb [options] -a\n"
-#~ "\n"
-#~ "選項:\n"
-#~ "  -E               加密與伺服器的連線\n"
-#~ "  -H samba-server  使用已命名的 SAMBA 伺服器\n"
-#~ "  -U samba-user    使用已命名的 SAMBA 使用者進行認證\n"
-#~ "  -a               輸出所有印表機\n"
-#~ "  -h cups-server   使用已命名的 CUPS 伺服器\n"
-#~ "  -v               列出明細(顯示指令)\n"
-
-#~ msgid ""
-#~ "Usage: cupsctl [options] [param=value ... paramN=valueN]\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -E                      Enable encryption\n"
-#~ "    -U username             Specify username\n"
-#~ "    -h server[:port]        Specify server address\n"
-#~ "\n"
-#~ "    --[no-]debug-logging    Turn debug logging on/off\n"
-#~ "    --[no-]remote-admin     Turn remote administration on/off\n"
-#~ "    --[no-]remote-any       Allow/prevent access from the Internet\n"
-#~ "    --[no-]remote-printers  Show/hide remote printers\n"
-#~ "    --[no-]share-printers   Turn printer sharing on/off\n"
-#~ "    --[no-]user-cancel-any  Allow/prevent users to cancel any job\n"
-#~ msgstr ""
-#~ "使用:cupsctl [options] [param=value ... paramN=valueN]\n"
-#~ "\n"
-#~ "選項:\n"
-#~ "\n"
-#~ "    -E                      啟用加密\n"
-#~ "    -U username             指定使用者名稱\n"
-#~ "    -h server[:port]        指定伺服器位址\n"
-#~ "\n"
-#~ "    --[no-]debug-logging    開啟/關閉除錯記錄\n"
-#~ "    --[no-]remote-admin     開啟/關閉遠端管理\n"
-#~ "    --[no-]remote-any       允許∕不允許從 Internet 存取\n"
-#~ "    --[no-]remote-printers  顯示∕隱藏遠端印表機\n"
-#~ "    --[no-]share-printers   開啟/關閉印表機共享\n"
-#~ "    --[no-]user-cancel-any  允許∕不允許使用者取消任何作業\n"
-
-#~ msgid ""
-#~ "Usage: cupsd [-c config-file] [-f] [-F] [-h] [-l]\n"
-#~ "\n"
-#~ "-c config-file      Load alternate configuration file\n"
-#~ "-f                  Run in the foreground\n"
-#~ "-F                  Run in the foreground but detach\n"
-#~ "-h                  Show this usage message\n"
-#~ "-l                  Run cupsd from launchd(8)\n"
-#~ msgstr ""
-#~ "使用:cupsd [-c config-file] [-f] [-F] [-h] [-l]\n"
-#~ "\n"
-#~ "-c config-file      載入替用配置檔案\n"
-#~ "-f                  在前景執行\n"
-#~ "-F                  在前景執行但與之分離\n"
-#~ "-h                  顯示本用法訊息\n"
-#~ "-l                  從 launchd(8) 執行 cupsd\n"
-
-#~ msgid ""
-#~ "Usage: cupsfilter -m mime/type [ options ] filename\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "  -c cupsd.conf    Set cupsd.conf file to use\n"
-#~ "  -j job-id[,N]    Filter file N from the specified job (default is file "
-#~ "1)\n"
-#~ "  -n copies        Set number of copies\n"
-#~ "  -o name=value    Set option(s)\n"
-#~ "  -p filename.ppd  Set PPD file\n"
-#~ "  -t title         Set title\n"
-#~ msgstr ""
-#~ "使用:cupsfilter -m mime/type [ options ] filename\n"
-#~ "\n"
-#~ "選項:\n"
-#~ "\n"
-#~ "  -c cupsd.conf    設定要使用的 cupsd.conf 檔案\n"
-#~ "  -j job-id[,N]    從指定的作業過濾檔案 N(預設為檔案 1)\n"
-#~ "  -n copies        設定份數\n"
-#~ "  -o name=value    設定選項\n"
-#~ "  -p filename.ppd  設定 PPD 檔案\n"
-#~ "  -t title         設定標題\n"
-
-#~ msgid ""
-#~ "Usage: cupstestdsc [options] filename.ps [... filename.ps]\n"
-#~ "       cupstestdsc [options] -\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -h       Show program usage\n"
-#~ "\n"
-#~ "    Note: this program only validates the DSC comments, not the "
-#~ "PostScript itself.\n"
-#~ msgstr ""
-#~ "使用:cupstestdsc [options] filename.ps [... filename.ps]\n"
-#~ "       cupstestdsc [options] -\n"
-#~ "\n"
-#~ "選項:\n"
-#~ "\n"
-#~ "    -h       顯示程式用法\n"
-#~ "\n"
-#~ "    NOTICE: 此程式僅驗證 DSC 註解,而不是 PostScript 本身。\n"
-
-#~ msgid ""
-#~ "Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]\n"
-#~ "       program | cupstestppd [options] -\n"
-#~ "\n"
-#~ "Options:\n"
-#~ "\n"
-#~ "    -R root-directory    Set alternate root\n"
-#~ "    -W {all,none,constraints,defaults,duplex,filters,translations}\n"
-#~ "                         Issue warnings instead of errors\n"
-#~ "    -q                   Run silently\n"
-#~ "    -r                   Use 'relaxed' open mode\n"
-#~ "    -v                   Be slightly verbose\n"
-#~ "    -vv                  Be very verbose\n"
-#~ msgstr ""
-#~ "使用:cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]\n"
-#~ "       program | cupstestppd [options] -\n"
-#~ "\n"
-#~ "選項:\n"
-#~ "\n"
-#~ "    -R root-directory    設定替用 root\n"
-#~ "    -W {all,none,constraints,defaults,duplex,filters,translations}\n"
-#~ "                         發出警告而不是錯誤\n"
-#~ "    -q                   靜音執行\n"
-#~ "    -r                   使用 'relaxed' 打開模式\n"
-#~ "    -v                   列出明細\n"
-#~ "    -vv                  列出詳盡明細\n"
-
-#~ msgid "Usage: lpmove job/src dest\n"
-#~ msgstr "使用:lpmove job/src dest\n"
-
-#~ msgid ""
-#~ "Usage: lpoptions [-h server] [-E] -d printer\n"
-#~ "       lpoptions [-h server] [-E] [-p printer] -l\n"
-#~ "       lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
-#~ "       lpoptions [-h server] [-E] -x printer\n"
-#~ msgstr ""
-#~ "使用:lpoptions [-h server] [-E] -d printer\n"
-#~ "       lpoptions [-h server] [-E] [-p printer] -l\n"
-#~ "       lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
-#~ "       lpoptions [-h server] [-E] -x printer\n"
-
-#~ msgid "Usage: lppasswd [-g groupname]\n"
-#~ msgstr "使用:lppasswd [-g groupname]\n"
-
-#~ msgid ""
-#~ "Usage: lppasswd [-g groupname] [username]\n"
-#~ "       lppasswd [-g groupname] -a [username]\n"
-#~ "       lppasswd [-g groupname] -x [username]\n"
-#~ msgstr ""
-#~ "使用:lppasswd [-g groupname] [username]\n"
-#~ "       lppasswd [-g groupname] -a [username]\n"
-#~ "       lppasswd [-g groupname] -x [username]\n"
-
-#~ msgid ""
-#~ "Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]\n"
-#~ msgstr ""
-#~ "使用:lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]\n"
-
-#~ msgid ""
-#~ "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]\n"
-#~ "Options:\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "  -I include-dir       Add include directory to search path.\n"
-#~ "  -c catalog.po        Load the specified message catalog.\n"
-#~ "  -d output-dir        Specify the output directory.\n"
-#~ "  -l lang[,lang,...]   Specify the output language(s) (locale).\n"
-#~ "  -m                   Use the ModelName value as the filename.\n"
-#~ "  -t                   Test PPDs instead of generating them.\n"
-#~ "  -v                   Be verbose (more v's for more verbosity).\n"
-#~ "  -z                   Compress PPD files using GNU zip.\n"
-#~ "  --cr                 End lines with CR (Mac OS 9).\n"
-#~ "  --crlf               End lines with CR + LF (Windows).\n"
-#~ "  --lf                 End lines with LF (UNIX/Linux/Mac OS X).\n"
-#~ msgstr ""
-#~ "使用:ppdc [options] filename.drv [ ... filenameN.drv ]\n"
-#~ "選項:\n"
-#~ "  -D name=value        為已命名的變數設定值。\n"
-#~ "  -I include-dir       將包含的目錄加入搜尋路徑。\n"
-#~ "  -c catalog.po        載入指定的訊息目錄。\n"
-#~ "  -d output-dir        指定輸出目錄。\n"
-#~ "  -l lang[,lang,...]   指定輸出語言(區域環境設定)。\n"
-#~ "  -m                   使用 ModelName 值作為檔名。\n"
-#~ "  -t                   測試而不是產生 PPD。\n"
-#~ "  -v                   列出明細(v 越多就越詳盡)。\n"
-#~ "  -z                   使用 GNU zip 壓縮 PPD 檔案。\n"
-#~ "  --cr                 以 CR 作為行結尾(Mac OS 9)。\n"
-#~ "  --crlf               以 CR + LF 作為行結尾(Windows)。\n"
-#~ "  --lf                 以 LF 作為行結尾(UNIX/Linux/Mac OS X)。\n"
-
-#~ msgid ""
-#~ "Usage: ppdhtml [options] filename.drv >filename.html\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "Options:\n"
-#~ "  -I include-dir    Add include directory to search path.\n"
-#~ msgstr ""
-#~ "使用:ppdhtml [options] filename.drv >filename.html\n"
-#~ "  -D name=value        為已命名的變數設定值。\n"
-#~ "選項:\n"
-#~ "  -I include-dir    將包含的目錄加入搜尋路徑。\n"
-
-#~ msgid ""
-#~ "Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Options:\n"
-#~ "  -I include-dir\n"
-#~ "  -o filename.drv\n"
-#~ msgstr ""
-#~ "使用:ppdi [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "選項:\n"
-#~ "  -I include-dir\n"
-#~ "  -o filename.drv\n"
-
-#~ msgid ""
-#~ "Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "Options:\n"
-#~ "  -o filename.ppd[.gz]\n"
-#~ msgstr ""
-#~ "使用:ppdmerge [options] filename.ppd [ ... filenameN.ppd ]\n"
-#~ "選項:\n"
-#~ "  -o filename.ppd[.gz]\n"
-
-#~ msgid ""
-#~ "Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]\n"
-#~ "Options:\n"
-#~ "  -D name=value        Set named variable to value.\n"
-#~ "  -I include-dir    Add include directory to search path.\n"
-#~ "  -v                Be verbose (more v's for more verbosity).\n"
-#~ msgstr ""
-#~ "使用:ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]\n"
-#~ "選項:\n"
-#~ "  -D name=value        為已命名的變數設定值。\n"
-#~ "  -I include-dir    將包含的目錄加入搜尋路徑。\n"
-#~ "  -v                列出明細(v 越多就越詳盡)。\n"
-
-#~ msgid "Usage: snmp [host-or-ip-address]\n"
-#~ msgstr "使用:snmp [host-or-ip-address]\n"
-
-#~ msgid "WARNING: Adding only the first %d printers found"
-#~ msgstr "WARNING: 僅加入找到的前 %d 個印表機"
-
-#~ msgid "WARNING: Boolean expected for waiteof option \"%s\"\n"
-#~ msgstr "WARNING: waiteof 選項“%s”預期為布林類型\n"
-
-#~ msgid "WARNING: Failed to read side-channel request!\n"
-#~ msgstr "WARNING: 無法讀取 side-channel 請求!\n"
-
-#~ msgid "WARNING: Option \"%s\" cannot be included via IncludeFeature!\n"
-#~ msgstr "WARNING: 無法透過 IncludeFeature 併入選項“%s”!\n"
-
-#~ msgid "WARNING: Printer not responding\n"
-#~ msgstr "WARNING: 印表機未回應!"
-
-#~ msgid "WARNING: Printer sent unexpected EOF\n"
-#~ msgstr "WARNING: 印表機傳送了非預期的 EOF\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with command status byte after %d "
-#~ "seconds!\n"
-#~ msgstr "WARNING: 遠端主機未在 %d 秒後對指令狀態位元組產生回應!\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with control status byte after %d "
-#~ "seconds!\n"
-#~ msgstr "WARNING: 遠端主機未在 %d 秒後對控制狀態位元組產生回應!\n"
-
-#~ msgid ""
-#~ "WARNING: Remote host did not respond with data status byte after %d "
-#~ "seconds!\n"
-#~ msgstr "WARNING: 遠端主機未在 %d 秒後對資料狀態位元組產生回應!\n"
-
-#~ msgid "WARNING: SCSI command timed out (%d); retrying...\n"
-#~ msgstr "WARNING: SCSI 指令逾時(%d);正在重試⋯\n"
-
-#~ msgid ""
-#~ "WARNING: This document does not conform to the Adobe Document Structuring "
-#~ "Conventions and may not print correctly!\n"
-#~ msgstr "WARNING: 此文件未遵循“Adobe 文件結構慣例”,而且不能正確地列印!\n"
-
-#~ msgid "WARNING: Unable to open \"%s:%s\": %s\n"
-#~ msgstr "WARNING: 無法打開“%s:%s”:%s\n"
-
-#~ msgid "WARNING: Unable to send PAP status request"
-#~ msgstr "WARNING: 無法傳送 PAP 狀態請求!"
-
-#~ msgid "WARNING: Unexpected PAP packet of type %d\n"
-#~ msgstr "WARNING: 類型 %d 的非預期 PAP 封包\n"
-
-#~ msgid "WARNING: Unknown PAP packet of type %d\n"
-#~ msgstr "WARNING: 類型 %d 的未知 PAP 封包\n"
-
-#~ msgid "WARNING: Unknown choice \"%s\" for option \"%s\"!\n"
-#~ msgstr "WARNING: 未知的選項“%s”(針對選項“%s”)!\n"
-
-#~ msgid "WARNING: Unknown option \"%s\"!\n"
-#~ msgstr "WARNING: 未知的選項“%s”!\n"
-
-#~ msgid "WARNING: Unsupported baud rate %s!\n"
-#~ msgstr "WARNING: 不受支援的傳輸速率 %s!\n"
-
-#~ msgid "WARNING: number expected for status option \"%s\"\n"
-#~ msgstr "WARNING: 狀態選項“%s”預期為數字\n"
-
-#~ msgid ""
-#~ "WARNING: recoverable: Network host '%s' is busy; will retry in %d "
-#~ "seconds...\n"
-#~ msgstr "WARNING: 可回復:網路主機 '%s' 忙碌中;%d 內將重試⋯\n"
-
-#~ msgid "Warning, no Windows 2000 printer drivers are installed!"
-#~ msgstr "警告,未安裝 Windows 2000 印表機驅動程式!"
-
-#~ msgid "You4 Envelope"
-#~ msgstr "You4 信封"
-
-#~ msgid "convert: Use the -f option to specify a file to convert.\n"
-#~ msgstr "convert:使用 -f 選項來指定要轉換的檔案。\n"
-
-#~ msgid "cupsaddsmb: No PPD file for printer \"%s\" - %s\n"
-#~ msgstr "cupsaddsmb:沒有適用於印表機“%s”的 PPD 檔案 - %s\n"
-
-#~ msgid "cupsctl: Unable to connect to server: %s\n"
-#~ msgstr "cupsctl:無法連接伺服器:%s\n"
-
-#~ msgid "cupsctl: Unknown option \"%s\"!\n"
-#~ msgstr "cupsctl:未知的選項“%s”!\n"
-
-#~ msgid "cupsctl: Unknown option \"-%c\"!\n"
-#~ msgstr "cupsctl:未知的選項“-%c”!\n"
-
-#~ msgid "cupsd: Expected config filename after \"-c\" option!\n"
-#~ msgstr "cupsd:“-c”選項後面預期為配置檔案名稱!\n"
-
-#~ msgid "cupsd: Unable to get current directory!\n"
-#~ msgstr "cupsd:無法取得目前的目錄!\n"
-
-#~ msgid "cupsd: Unknown argument \"%s\" - aborting!\n"
-#~ msgstr "cupsd:未知的參數“%s”- 正在中止!\n"
-
-#~ msgid "cupsd: Unknown option \"%c\" - aborting!\n"
-#~ msgstr "cupsd:未知的選項“%c”- 正在中止!\n"
-
-#~ msgid "cupsd: launchd(8) support not compiled in, running in normal mode.\n"
-#~ msgstr "cupsd:未編譯入 launchd(8) 支援,在正常模式下執行。\n"
-
-#~ msgid "cupsfilter: Invalid document number %d!\n"
-#~ msgstr "cupsfilter:無效的文件編號 %d!\n"
-
-#~ msgid "cupsfilter: Invalid job ID %d!\n"
-#~ msgstr "cupsfilter:無效的作業 ID %d!\n"
-
-#~ msgid "cupsfilter: Only one filename can be specified!\n"
-#~ msgstr "cupsfilter:只能指定一個檔名!\n"
-
-#~ msgid "cupsfilter: Unable to create temporary file: %s\n"
-#~ msgstr "cupsfilter:無法製作暫存檔:%s\n"
-
-#~ msgid "cupsfilter: Unable to get job file - %s\n"
-#~ msgstr "cupsfilter:無法取得作業檔案 - %s\n"
-
-#~ msgid "cupstestppd: The -q option is incompatible with the -v option.\n"
-#~ msgstr "cupstestppd:-q 選項與 -v 選項不相容。\n"
-
-#~ msgid "cupstestppd: The -v option is incompatible with the -q option.\n"
-#~ msgstr "cupstestppd:-v 選項與 -q 選項不相容。\n"
-
-#~ msgid "device for %s/%s: %s\n"
-#~ msgstr "%s/%s 的設備:%s\n"
-
-#~ msgid "device for %s: %s\n"
-#~ msgstr "%s 的設備:%s\n"
-
-#~ msgid "help\t\tget help on commands\n"
-#~ msgstr "輔助說明\t\t取得指令的輔助說明\n"
-
-#~ msgid "job-printer-uri attribute missing!"
-#~ msgstr "job-printer-uri 屬性遺失!"
-
-#~ msgid "lpadmin: Class name can only contain printable characters!\n"
-#~ msgstr "lpadmin:類別名稱只能包含可列印的字元!\n"
-
-#~ msgid "lpadmin: Expected PPD after '-P' option!\n"
-#~ msgstr "lpadmin:'-P' 選項後面預期為 PPD!\n"
-
-#~ msgid "lpadmin: Expected allow/deny:userlist after '-u' option!\n"
-#~ msgstr "lpadmin:&aops;-u&aops; 選項後面預期為 allow/deny:userlist!\n"
-
-#~ msgid "lpadmin: Expected class after '-r' option!\n"
-#~ msgstr "lpadmin:&aops;-r&aops; 選項後面預期為類別!\n"
-
-#~ msgid "lpadmin: Expected class name after '-c' option!\n"
-#~ msgstr "lpadmin:&aops;-c&aops; 選項後面預期為類別名稱!\n"
-
-#~ msgid "lpadmin: Expected description after '-D' option!\n"
-#~ msgstr "lpadmin:&aops;-D&aops; 選項後面預期為描述!\n"
-
-#~ msgid "lpadmin: Expected device URI after '-v' option!\n"
-#~ msgstr "lpadmin:&aops;-v&aops; 選項後面預期為設備 URI!\n"
-
-#~ msgid "lpadmin: Expected file type(s) after '-I' option!\n"
-#~ msgstr "lpadmin:&aops;-I&aops; 選項後面預期為檔案類型!\n"
-
-#~ msgid "lpadmin: Expected hostname after '-h' option!\n"
-#~ msgstr "lpadmin:&aops;-h&aops; 選項後面預期為主機名稱!\n"
-
-#~ msgid "lpadmin: Expected interface after '-i' option!\n"
-#~ msgstr "lpadmin:&aops;-i&aops; 選項後面預期為介面!\n"
-
-#~ msgid "lpadmin: Expected location after '-L' option!\n"
-#~ msgstr "lpadmin:'-L' 選項後面預期為位置!\n"
-
-#~ msgid "lpadmin: Expected model after '-m' option!\n"
-#~ msgstr "lpadmin:'-m' 選項後面預期為型號!\n"
-
-#~ msgid "lpadmin: Expected name=value after '-o' option!\n"
-#~ msgstr "lpadmin:&aops;-o&aops; 選項後面預期為 name=value!\n"
-
-#~ msgid "lpadmin: Expected printer after '-p' option!\n"
-#~ msgstr "lpadmin:'-p' 選項後面預期為印表機!\n"
-
-#~ msgid "lpadmin: Expected printer name after '-d' option!\n"
-#~ msgstr "lpadmin:'-d' 選項後面預期為印表機名稱!\n"
-
-#~ msgid "lpadmin: Expected printer or class after '-x' option!\n"
-#~ msgstr "lpadmin:'-x' 選項後面預期為印表機或類別!\n"
-
-#~ msgid "lpadmin: No member names were seen!\n"
-#~ msgstr "lpadmin:未發現會員名稱!\n"
-
-#~ msgid "lpadmin: Printer %s is already a member of class %s.\n"
-#~ msgstr "lpadmin:印表機 %s 已經是類別 %s 的成員。\n"
-
-#~ msgid "lpadmin: Printer %s is not a member of class %s.\n"
-#~ msgstr "lpadmin:印表機 %s 不是類別 %s 的成員。\n"
-
-#~ msgid "lpadmin: Printer name can only contain printable characters!\n"
-#~ msgstr "lpadmin:印表機名稱只能包含可列印的字元!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to add a printer to the class:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin:無法將印表機加入到類別:\n"
-#~ "         您必須現指定印表機名稱!\n"
-
-#~ msgid "lpadmin: Unable to connect to server: %s\n"
-#~ msgstr "lpadmin:無法連接伺服器:%s\n"
-
-#~ msgid "lpadmin: Unable to create temporary file - %s\n"
-#~ msgstr "lpadmin:無法製作暫存檔 - %s\n"
-
-#~ msgid "lpadmin: Unable to create temporary file: %s\n"
-#~ msgstr "lpadmin:無法製作暫存檔:%s\n"
-
-#~ msgid "lpadmin: Unable to open PPD file \"%s\" - %s\n"
-#~ msgstr "lpadmin:無法打開 PPD 檔案“%s”- %s\n"
-
-#~ msgid "lpadmin: Unable to open file \"%s\": %s\n"
-#~ msgstr "lpadmin:無法打開檔案“%s”:%s\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to remove a printer from the class:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin:無法從類別中移除印表機:\n"
-#~ "         您必須先指定印表機名稱!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the PPD file:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin:無法設定 PPD 檔案:\n"
-#~ "         您必須先指定印表機名稱!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the device URI:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin:無法設定設備 URI:\n"
-#~ "         您必須先指定印表機名稱!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the interface script or PPD file:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin:無法設定 PPD 檔案的介面工序指令:\n"
-#~ "         您必須先指定印表機名稱!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the interface script:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin:無法設定介面工序指令:\n"
-#~ "         您必須先指定印表機名稱!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer description:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin:無法設定印表機描述:\n"
-#~ "         您必須先指定印表機名稱!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer location:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin:無法設定印表機位置:\n"
-#~ "         您必須先指定印表機名稱!\n"
-
-#~ msgid ""
-#~ "lpadmin: Unable to set the printer options:\n"
-#~ "         You must specify a printer name first!\n"
-#~ msgstr ""
-#~ "lpadmin:無法設定印表機選項:\n"
-#~ "         您必須先指定印表機名稱!\n"
-
-#~ msgid "lpadmin: Unknown allow/deny option \"%s\"!\n"
-#~ msgstr "lpadmin:未知的 allow/deny 選項“%s”!\n"
-
-#~ msgid "lpadmin: Unknown argument '%s'!\n"
-#~ msgstr "lpadmin:未知的參數 '%s'!\n"
-
-#~ msgid "lpadmin: Unknown option '%c'!\n"
-#~ msgstr "lpadmin:未知的選項 '%c'!\n"
-
-#~ msgid "lpadmin: Warning - content type list ignored!\n"
-#~ msgstr "lpadmin:警告 - 已忽略內容類型列表!\n"
-
-#~ msgid "lpinfo: Expected 1284 device ID string after --device-id!\n"
-#~ msgstr "lpinfo:--device-id 後面預期為 1284 設備 ID 字串!\n"
-
-#~ msgid "lpinfo: Expected language after --language!\n"
-#~ msgstr "lpinfo:--language 後面預期為語言!\n"
-
-#~ msgid "lpinfo: Expected make and model after --make-and-model!\n"
-#~ msgstr "lpinfo:--make-and-model 後面預期為製造和型號!\n"
-
-#~ msgid "lpinfo: Expected product string after --product!\n"
-#~ msgstr "lpinfo:--product 後面預期為產品字串!\n"
-
-#~ msgid "lpinfo: Expected scheme list after --exclude-schemes!\n"
-#~ msgstr "lpinfo:--exclude-schemes 後面預期為架構列表!\n"
-
-#~ msgid "lpinfo: Expected scheme list after --include-schemes!\n"
-#~ msgstr "lpinfo:--include-schemes 後面預期為架構列表!\n"
-
-#~ msgid "lpinfo: Expected timeout after --timeout!\n"
-#~ msgstr "lpinfo:--timeout 後面預期為逾時!\n"
-
-#~ msgid "lpinfo: Unknown argument '%s'!\n"
-#~ msgstr "lpinfo:未知的參數 '%s'!\n"
-
-#~ msgid "lpinfo: Unknown option '%c'!\n"
-#~ msgstr "lpinfo:未知的選項 '%c'!\n"
-
-#~ msgid "lpinfo: Unknown option '%s'!\n"
-#~ msgstr "lpinfo:未知的選項 '%s'!\n"
-
-#~ msgid "lpmove: Unable to connect to server: %s\n"
-#~ msgstr "lpmove:無法連接伺服器:%s\n"
-
-#~ msgid "lpmove: Unknown argument '%s'!\n"
-#~ msgstr "lpmove:未知的參數 '%s'!\n"
-
-#~ msgid "lpmove: Unknown option '%c'!\n"
-#~ msgstr "lpmove:未知的選項 '%c'!\n"
-
-#~ msgid "lpoptions: No printers!?!\n"
-#~ msgstr "lpoptions:沒有印表機!?!\n"
-
-#~ msgid "lpoptions: Unable to add printer or instance: %s\n"
-#~ msgstr "lpoptions:無法新增印表機或實例:%s\n"
-
-#~ msgid "lpoptions: Unable to get PPD file for %s: %s\n"
-#~ msgstr "lpoptions:無法取得 %s 的 PPD 檔案:%s\n"
-
-#~ msgid "lpoptions: Unable to open PPD file for %s!\n"
-#~ msgstr "lpoptions:無法打開 %s 的 PPD 檔案!\n"
-
-#~ msgid "lpoptions: Unknown printer or class!\n"
-#~ msgstr "lpoptions:未知的印表機或類別!\n"
-
-#~ msgid "lppasswd: Only root can add or delete passwords!\n"
-#~ msgstr "lppasswd:只有 root 使用者才能加入或刪除密碼!\n"
-
-#~ msgid "lppasswd: Password file busy!\n"
-#~ msgstr "lppasswd:密碼檔案忙碌中!\n"
-
-#~ msgid "lppasswd: Password file not updated!\n"
-#~ msgstr "lppasswd:未更新密碼檔案!\n"
-
-#~ msgid "lppasswd: Sorry, password doesn't match!\n"
-#~ msgstr "lppasswd:抱歉,密碼不相符!\n"
-
-#~ msgid ""
-#~ "lppasswd: Sorry, password rejected.\n"
-#~ "Your password must be at least 6 characters long, cannot contain\n"
-#~ "your username, and must contain at least one letter and number.\n"
-#~ msgstr ""
-#~ "lppasswd:抱歉,密碼遭到拒絕。\n"
-#~ "您的密碼長度至少必須為 6 個字元,不能包含\n"
-#~ "使用者名稱,而且至少必須包含一個字母和數字。\n"
-
-#~ msgid "lppasswd: Sorry, passwords don't match!\n"
-#~ msgstr "lppasswd:抱歉,密碼不相符!\n"
-
-#~ msgid "lppasswd: Unable to copy password string: %s\n"
-#~ msgstr "lppasswd:無法拷貝密碼字串:%s\n"
-
-#~ msgid "lppasswd: Unable to open password file: %s\n"
-#~ msgstr "lppasswd:無法打開密碼檔案:%s\n"
-
-#~ msgid "lppasswd: Unable to write to password file: %s\n"
-#~ msgstr "lppasswd:無法寫入密碼檔案:%s\n"
-
-#~ msgid "lppasswd: failed to backup old password file: %s\n"
-#~ msgstr "lppasswd:無法備份舊的密碼檔案:%s\n"
-
-#~ msgid "lppasswd: failed to rename password file: %s\n"
-#~ msgstr "lppasswd:無法重新命名密碼檔案:%s\n"
-
-#~ msgid "lppasswd: user \"%s\" and group \"%s\" do not exist.\n"
-#~ msgstr "lppasswd:使用者“%s”和群組“%s”不存在。\n"
-
-#~ msgid ""
-#~ "lpstat: error - %s environment variable names non-existent destination \"%"
-#~ "s\"!\n"
-#~ msgstr "lpstat:錯誤 - %s 環境變數名稱中有不存在的目的地“%s”!\n"
-
-#~ msgid "members of class %s:\n"
-#~ msgstr "類別 %s 的成員:\n"
-
-#~ msgid "no entries\n"
-#~ msgstr "沒有項目\n"
-
-#~ msgid "no system default destination\n"
-#~ msgstr "沒有系統預設目的地\n"
-
-#~ msgid "notify-events not specified!"
-#~ msgstr "未指定 notify-events!"
-
-#~ msgid "notify-recipient-uri URI \"%s\" is already used!"
-#~ msgstr "notify-recipient-uri URI“%s”已被使用!"
-
-#~ msgid "notify-recipient-uri URI \"%s\" uses unknown scheme!"
-#~ msgstr "notify-recipient-uri URI“%s”使用的是未知的架構!"
-
-#~ msgid "notify-subscription-id %d no good!"
-#~ msgstr "notify-subscription-id %d 不合適!"
-
-#~ msgid "ppdc: Adding include directory \"%s\"...\n"
-#~ msgstr "ppdc:正在加入包含的目錄“%s”⋯\n"
-
-#~ msgid "ppdc: Adding/updating UI text from %s...\n"
-#~ msgstr "ppdc:正在從 %s 加入/更新 UI 文字⋯\n"
-
-#~ msgid "ppdc: Bad boolean value (%s) on line %d of %s.\n"
-#~ msgstr "ppdc:錯誤的布林值(%1$s),在 %3$s 的第 %2$d 行。\n"
-
-#~ msgid "ppdc: Bad resolution name \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc:錯誤的解析度名稱“%1$s”,在 %3$s 的第 %2$d 行!\n"
-
-#~ msgid "ppdc: Bad status keyword %s on line %d of %s!\n"
-#~ msgstr "ppdc:錯誤的狀態關鍵字 %1$s,在 %3$s 的第 %2$d 行!\n"
-
-#~ msgid "ppdc: Bad variable substitution ($%c) on line %d of %s.\n"
-#~ msgstr "ppdc:錯誤的變數替代($%1$c),在 %3$s 的第 %2$d 行。\n"
-
-#~ msgid "ppdc: Choice found on line %d of %s with no Option!\n"
-#~ msgstr "ppdc:在 %2$s 的第 %1$d 行發現沒有“選項”的選擇!\n"
-
-#~ msgid "ppdc: Duplicate #po for locale %s on line %d of %s!\n"
-#~ msgstr "ppdc:環境變數 %1$s 的 #po 重複,在 %3$s 的第 %2$d 行!\n"
-
-#~ msgid "ppdc: Expected a filter definition on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上預期有過濾定義!\n"
-
-#~ msgid "ppdc: Expected a program name on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上預期有程式名稱!\n"
-
-#~ msgid "ppdc: Expected boolean value on line %d of %s.\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上預期有布林值。\n"
-
-#~ msgid "ppdc: Expected charset after Font on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上 Font 後面預期為字元集!\n"
-
-#~ msgid "ppdc: Expected choice code on line %d of %s.\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上預期有選項代碼。\n"
-
-#~ msgid "ppdc: Expected choice name/text on line %d of %s.\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上預期有選項名稱/文字。\n"
-
-#~ msgid "ppdc: Expected color order for ColorModel on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上預期有 ColorModel 的顏色體系!\n"
-
-#~ msgid "ppdc: Expected colorspace for ColorModel on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上預期有 ColorModel 的色彩空間!\n"
-
-#~ msgid "ppdc: Expected compression for ColorModel on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上預期有 ColorModel 的壓縮度!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected constraints string for UIConstraints on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上預期有 UIConstraints 的限制字串!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected driver type keyword following DriverType on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc:%2$s 的第 %1$d 行上 DriverType 後面預期有驅動程式類型關鍵字!\n"
-
-#~ msgid "ppdc: Expected duplex type after Duplex on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上 Duplex 後面預期有兩用裝紙匣類型!\n"
-
-#~ msgid "ppdc: Expected encoding after Font on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上 Font 後面預期為編碼!\n"
-
-#~ msgid "ppdc: Expected filename after #po %s on line %d of %s!\n"
-#~ msgstr "ppdc:#po %1$s 後面預期為檔名,在 %3$s 的第 %2$d 行上!\n"
-
-#~ msgid "ppdc: Expected group name/text on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上預期有群組名稱/文字!\n"
-
-#~ msgid "ppdc: Expected include filename on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上預期有包含的檔名!\n"
-
-#~ msgid "ppdc: Expected integer on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上預期有整數!\n"
-
-#~ msgid "ppdc: Expected locale after #po on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上 #po 後面預期有環境變數!\n"
-
-#~ msgid "ppdc: Expected name after %s on line %d of %s!\n"
-#~ msgstr "ppdc:%1$s 後面預期有名稱,在 %3$s 的第 %2$d 行上!\n"
-
-#~ msgid "ppdc: Expected name after FileName on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上 FileName 後面預期為名稱!\n"
-
-#~ msgid "ppdc: Expected name after Font on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上 Font 後面預期為名稱!\n"
-
-#~ msgid "ppdc: Expected name after Manufacturer on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上 Manufacturer 後面預期為名稱!\n"
-
-#~ msgid "ppdc: Expected name after MediaSize on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上 MediaSize 後面預期為名稱!\n"
-
-#~ msgid "ppdc: Expected name after ModelName on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上 ModelName 後面預期為名稱!\n"
-
-#~ msgid "ppdc: Expected name after PCFileName on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上 PCFileName 後面預期為名稱!\n"
-
-#~ msgid "ppdc: Expected name/text after %s on line %d of %s!\n"
-#~ msgstr "ppdc:%1$s 後面預期為名稱/文字,在 %3$s 的第 %2$d 行上。\n"
-
-#~ msgid "ppdc: Expected name/text after Installable on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上 Installable 後面預期為名稱/文字!\n"
-
-#~ msgid "ppdc: Expected name/text after Resolution on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上 Resolution 後面預期為名稱/文字!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected name/text combination for ColorModel on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上預期有 ColorModel 的名稱/文字組合!\n"
-
-#~ msgid "ppdc: Expected option name/text on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上預期有選項名稱/文字!\n"
-
-#~ msgid "ppdc: Expected option section on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上預期有選項部分!\n"
-
-#~ msgid "ppdc: Expected option type on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上預期有選項類型!\n"
-
-#~ msgid "ppdc: Expected override field after Resolution on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上 Resolution 後面預期有覆蓋欄位!\n"
-
-#~ msgid "ppdc: Expected real number on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上預期有實數!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected resolution/mediatype following ColorProfile on line %d of %"
-#~ "s!\n"
-#~ msgstr ""
-#~ "ppdc:%2$s 的第 %1$d 行上 ColorProfile 後面預期有解析度∕媒體類型!\n"
-
-#~ msgid ""
-#~ "ppdc: Expected resolution/mediatype following SimpleColorProfile on line %"
-#~ "d of %s!\n"
-#~ msgstr ""
-#~ "ppdc:%2$s 的第 %1$d 行上 SimpleColorProfile 後面預期有解析度∕媒體類型!\n"
-
-#~ msgid "ppdc: Expected selector after %s on line %d of %s!\n"
-#~ msgstr "ppdc:%1$s 後面預期有選擇器,在 %3$s 的第 %2$d 行上!\n"
-
-#~ msgid "ppdc: Expected status after Font on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上 Font 後面預期為狀態!\n"
-
-#~ msgid "ppdc: Expected string after Copyright on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上 Copyright 後面預期有字串!\n"
-
-#~ msgid "ppdc: Expected string after Version on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上 Version 後面預期有字串!\n"
-
-#~ msgid "ppdc: Expected two option names on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上預期有兩個選項名稱!\n"
-
-#~ msgid "ppdc: Expected value after %s on line %d of %s!\n"
-#~ msgstr "ppdc:%1$s 後面預期有值,在 %3$s 的第 %2$d 行上!\n"
-
-#~ msgid "ppdc: Expected version after Font on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上 Font 後面預期有版本!\n"
-
-#~ msgid "ppdc: Invalid #include/#po filename \"%s\"!\n"
-#~ msgstr "ppdc:無效的 #include/#po 檔名“%s”!\n"
-
-#~ msgid "ppdc: Invalid cost for filter on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 第 %1$d 行上的過濾成本無效!\n"
-
-#~ msgid "ppdc: Invalid empty MIME type for filter on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上用於過濾的空 MIME 類型無效!\n"
-
-#~ msgid "ppdc: Invalid empty program name for filter on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行上用於過濾的空程式名稱無效!\n"
-
-#~ msgid "ppdc: Invalid option section \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc:無效的選項部分“%1$s”,在 %3$s 的第 %2$d 行上!\n"
-
-#~ msgid "ppdc: Invalid option type \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc:無效的選項類型“%1$s”,在 %3$s 的第 %2$d 行上!\n"
-
-#~ msgid "ppdc: Loading driver information file \"%s\"...\n"
-#~ msgstr "ppdc:正在載入驅動程式資訊檔案“%s”⋯\n"
-
-#~ msgid "ppdc: Loading messages for locale \"%s\"...\n"
-#~ msgstr "ppdc:正在為環境變數“%s”載入訊息⋯\n"
-
-#~ msgid "ppdc: Loading messages from \"%s\"...\n"
-#~ msgstr "ppdc:正在從“%s”載入訊息⋯\n"
-
-#~ msgid "ppdc: Missing #endif at end of \"%s\"!\n"
-#~ msgstr "ppdc:“%s”末端遺失 #endif!\n"
-
-#~ msgid "ppdc: Missing #if on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 的第 %1$d 行中遺失 #if!\n"
-
-#~ msgid "ppdc: No message catalog provided for locale %s!\n"
-#~ msgstr "ppdc:沒有針對環境變數 %s 提供的訊息目錄!\n"
-
-#~ msgid "ppdc: Option %s redefined with a different type on line %d of %s!\n"
-#~ msgstr "ppdc:在 %3$s 的第 %2$d:  行上,以不同的類型重複定義了選項 %1$s!\n"
-
-#~ msgid "ppdc: Option constraint must *name on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 第 %1$d 行上的選項限制形式必須為 *name!\n"
-
-#~ msgid "ppdc: Too many nested #if's on line %d of %s!\n"
-#~ msgstr "ppdc:%2$s 第 %1$d 行上的巢狀 #if 太多!\n"
-
-#~ msgid "ppdc: Unable to create PPD file \"%s\" - %s.\n"
-#~ msgstr "ppdc:無法製作 PPD 檔案“%s”- %s。\n"
-
-#~ msgid "ppdc: Unable to create output directory %s: %s\n"
-#~ msgstr "ppdc:無法製作輸出目錄 %s:%s\n"
-
-#~ msgid "ppdc: Unable to create output pipes: %s\n"
-#~ msgstr "ppdc:無法製作輸出路徑:%s\n"
-
-#~ msgid "ppdc: Unable to execute cupstestppd: %s\n"
-#~ msgstr "ppdc:無法執行 cupstestppd:%s\n"
-
-#~ msgid "ppdc: Unable to find #po file %s on line %d of %s!\n"
-#~ msgstr "ppdc:在下列行中找不到 #po 檔案 %1$s:%3$s 的第 %2$d 行!\n"
-
-#~ msgid "ppdc: Unable to find include file \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc:在下列行中找不到包含檔案“%1$s”:%3$s 的第 %2$d 行!\n"
-
-#~ msgid "ppdc: Unable to find localization for \"%s\" - %s\n"
-#~ msgstr "ppdc:找不到本地化的“%s”- %s\n"
-
-#~ msgid "ppdc: Unable to load localization file \"%s\" - %s\n"
-#~ msgstr "ppdc:無法載入本地化檔案“%s”- %s\n"
-
-#~ msgid "ppdc: Undefined variable (%s) on line %d of %s.\n"
-#~ msgstr "ppdc:未定義的變數(%1$s),在 %3$s 的第 %2$d 行上。\n"
-
-#~ msgid "ppdc: Unknown driver type %s on line %d of %s!\n"
-#~ msgstr "ppdc:未知的驅動程式類型 %1$s,在 %3$s 的第 %2$d 行上!\n"
-
-#~ msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc:未知的兩用類型“%1$s”,在 %3$s 的第 %2$d 行上!\n"
-
-#~ msgid "ppdc: Unknown media size \"%s\" on line %d of %s!\n"
-#~ msgstr "ppdc:未知的媒體大小“%1$s”,在 %3$s 的第 %2$d 行上!\n"
-
-#~ msgid "ppdc: Unknown token \"%s\" seen on line %d of %s!\n"
-#~ msgstr "ppdc:發現未知的代號“%1$s”,在 %3$s 的第 %2$d 行上!\n"
-
-#~ msgid ""
-#~ "ppdc: Unknown trailing characters in real number \"%s\" on line %d of %"
-#~ "s!\n"
-#~ msgstr "ppdc:實數“%1$s”中有未知的尾字元,在 %3$s 的第 %2$d 行上!\n"
-
-#~ msgid "ppdc: Unterminated string starting with %c on line %d of %s!\n"
-#~ msgstr "ppdc:%3$s 的第 %2$d 行上有以 %1$c 開頭的未終止字串!\n"
-
-#~ msgid "ppdc: Writing %s...\n"
-#~ msgstr "ppdc:正在寫入 %s⋯\n"
-
-#~ msgid "ppdc: Writing PPD files to directory \"%s\"...\n"
-#~ msgstr "ppdc:正在將 PPD 檔案寫入目錄“%s”⋯\n"
-
-#~ msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s!\n"
-#~ msgstr "ppdmerge:錯誤的 LanguageVersion“%s”,在 %s 中!\n"
-
-#~ msgid "ppdmerge: Ignoring PPD file %s...\n"
-#~ msgstr "ppdmerge:正在忽略 PPD 檔案 %s⋯\n"
-
-#~ msgid "ppdmerge: Unable to backup %s to %s- %s\n"
-#~ msgstr "ppdmerge:無法將 %s 備份到 %s- %s\n"
-
-#~ msgid "printer %s disabled since %s -\n"
-#~ msgstr "印表機 %s 已停用,自 %s 後 -\n"
-
-#~ msgid "printer %s is idle.  enabled since %s\n"
-#~ msgstr "印表機 %s 處於閒置狀態,自 %s 後啟用\n"
-
-#~ msgid "printer %s now printing %s-%d.  enabled since %s\n"
-#~ msgstr "印表機 %s 正在列印 %s-%d。自 %s 後啟用\n"
-
-#~ msgid "printer %s/%s disabled since %s -\n"
-#~ msgstr "印表機 %s/%s 自 %s 後停用 -\n"
-
-#~ msgid "printer %s/%s is idle.  enabled since %s\n"
-#~ msgstr "印表機 %s/%s 處於閑置狀態。自 %s 後啟用\n"
-
-#~ msgid "printer %s/%s now printing %s-%d.  enabled since %s\n"
-#~ msgstr "印表機 %s/%s 正在列印 %s-%d。自 %s 後啟用\n"
-
-#~ msgid "request id is %s-%d (%d file(s))\n"
-#~ msgstr "請求 ID 為 %s-%d(%d 個檔案)\n"
-
-#~ msgid "scheduler is not running\n"
-#~ msgstr "排程器並沒有執行\n"
-
-#~ msgid "scheduler is running\n"
-#~ msgstr "排程器正在執行中\n"
-
-#~ msgid "status\t\tshow status of daemon and queue\n"
-#~ msgstr "狀態\t\t顯示服務程式和佇列的狀態\n"
-
-#~ msgid "system default destination: %s\n"
-#~ msgstr "系統預設目的地:%s\n"
-
-#~ msgid "system default destination: %s/%s\n"
-#~ msgstr "系統預設目的地:%s/%s\n"
index 70b7fd0..22dd494 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: po2strings.c 10379 2012-03-23 22:16:22Z mike $"
+ * "$Id: po2strings.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Convert a GNU gettext .po file to an Apple .strings file.
  *
@@ -290,5 +290,5 @@ main(int  argc,                             /* I - Number of command-line args */
 
 
 /*
- * End of "$Id: po2strings.c 10379 2012-03-23 22:16:22Z mike $".
+ * End of "$Id: po2strings.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 52eeeef..fb20804 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: strings2po.c 7720 2008-07-11 22:46:21Z mike $"
+ * "$Id: strings2po.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  * Convert Apple .strings file (UTF-16 BE text file) to GNU gettext .po files.
  *
@@ -171,5 +171,5 @@ write_po(FILE       *po,            /* I - .po file */
 
 
 /*
- * End of "$Id: strings2po.c 7720 2008-07-11 22:46:21Z mike $".
+ * End of "$Id: strings2po.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 2352ebe..8004825 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: translate.c 9048 2010-03-24 08:07:15Z mike $"
+ * "$Id: translate.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   HTTP-based translation program for CUPS.
  *
@@ -435,5 +435,5 @@ write_string(cups_file_t *fp,               /* I - File to write to */
 
 
 /*
- * End of "$Id: translate.c 9048 2010-03-24 08:07:15Z mike $".
+ * End of "$Id: translate.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 0e02143..c5d68a5 100644 (file)
@@ -1,9 +1,9 @@
 #
-# "$Id: Makefile 9177 2010-06-22 21:21:37Z mike $"
+# "$Id: Makefile 11173 2013-07-23 12:31:34Z msweet $"
 #
 #   Man page makefile for CUPS.
 #
-#   Copyright 2007-2010 by Apple Inc.
+#   Copyright 2007-2012 by Apple Inc.
 #   Copyright 1993-2006 by Easy Software Products.
 #
 #   These coded instructions, statements, and computer programs are the
@@ -39,6 +39,7 @@ MAN1  =       cancel.$(MAN1EXT) \
                ppdpo.$(MAN1EXT)
 MAN5   =       classes.conf.$(MAN5EXT) \
                client.conf.$(MAN5EXT) \
+               cups-files.conf.$(MAN5EXT) \
                cups-snmp.conf.$(MAN5EXT) \
                cupsd.conf.$(MAN5EXT) \
                ipptoolfile.$(MAN5EXT) \
@@ -58,7 +59,7 @@ MAN8  =       cupsaccept.$(MAN8EXT) \
                cups-deviced.$(MAN8EXT) \
                cups-driverd.$(MAN8EXT) \
                cups-lpd.$(MAN8EXT) \
-               cups-polld.$(MAN8EXT) \
+               cups-snmp.$(MAN8EXT) \
                cupsd.$(MAN8EXT) \
                cupsenable.$(MAN8EXT) \
                lpadmin.$(MAN8EXT) \
@@ -96,10 +97,14 @@ clean:
        $(RM) mantohtml mantohtml.o
        $(RM) $(MAN1) $(MAN5) $(MAN7) $(MAN8)
        for file in $(MAN1); do \
-               $(RM) ../doc/help/man-`basename $$file .$(MAN1EXT)`.html; \
+               if test $$file != ipptool.$(MAN1EXT); then \
+                       $(RM) ../doc/help/man-`basename $$file .$(MAN1EXT)`.html; \
+               fi \
        done
        for file in $(MAN5); do \
-               $(RM) ../doc/help/man-`basename $$file .$(MAN5EXT)`.html; \
+               if test $$file != ipptoolfile.$(MAN5EXT); then \
+                       $(RM) ../doc/help/man-`basename $$file .$(MAN5EXT)`.html; \
+               fi \
        done
        for file in $(MAN7); do \
                $(RM) ../doc/help/man-`basename $$file .$(MAN7EXT)`.html; \
@@ -232,5 +237,5 @@ mantohtml:  mantohtml.o
 
 
 #
-# End of "$Id: Makefile 9177 2010-06-22 21:21:37Z mike $".
+# End of "$Id: Makefile 11173 2013-07-23 12:31:34Z msweet $".
 #
index 644d85d..b97ab4a 100644 (file)
@@ -1,9 +1,9 @@
 .\"
-.\" "$Id: backend.man 9693 2011-04-16 02:51:22Z mike $"
+.\" "$Id: backend.man 7810 2008-07-29 01:11:15Z mike $"
 .\"
 .\"   Backend man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2013 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
 .\"   which should have been included with this file.  If this file is
 .\"   file is missing or damaged, see the license at "http://www.cups.org/".
 .\"
-.TH backend 7 "CUPS" "15 April 2011" "Apple Inc."
+.TH backend 7 "CUPS" "23 April 2012" "Apple Inc."
 
 .SH NAME
 backend \- cups backend transmission interfaces
-
 .SH SYNOPSIS
 .B backend
 .br
@@ -24,34 +23,42 @@ backend \- cups backend transmission interfaces
 job user title num-copies options [
 .I filename
 ]
-
 .SH DESCRIPTION
-Backends are a special type of \fIfilter(7)\fR which is used to
-send print data to and discover different devices on the system.
-
+Backends are a special type of \fIfilter(7)\fR which is used to send print data
+to and discover different devices on the system.
 .LP
-Like filters, backends must be capable of reading from a filename
-on the command-line or from the standard input, copying the
-standard input to a temporary file as required by the physical
-interface.
-
+Like filters, backends must be capable of reading from a filename on the
+command-line or from the standard input, copying the standard input to a
+temporary file as required by the physical interface.
 .LP
 The command name (argv[0]) is set to the device URI of the destination printer.
 Starting with CUPS 1.1.22, any authentication information in argv[0] is removed,
 so backend developers are urged to use the DEVICE_URI environment variable
 whenever authentication information is required. The CUPS API includes a
 \fIcupsBackendDeviceURI\fR function for retrieving the correct device URI.
-
 .LP
 Back-channel data from the device should be relayed to the job
 filters by writing to file descriptor 3. The CUPS API includes
 the \fIcupsBackChannelWrite\fR function for this purpose.
-
+.SH WARNING
+CUPS backends are not generally design to be run directly by the user. Aside
+from the device URI issue (argv[0] and DEVICE_URI environment variable contain
+the device URI), CUPS backends also expect specific environment variables and
+file descriptors, and typically run in a user session that (on OS X) has
+additional restrictions that affect how it runs. Backends can also be installed
+with restricted permissions (0500 or 0700) that tell the scheduler to run them
+as the "root" user instead of an unprivileged user (typically "lp") on the
+system.
+.LP
+Unless you are a developer and know what you are doing, please do not run
+backends directly. Instead, use the \fIlp(1)\fR or \fIlpr(1)\fR programs to send
+a print job or \fIlpinfo(8)\fR program to query for available printers using the
+backend. The one exception is the SNMP backend - see \fIsnmpbackend(8)\fR for
+more information.
 .SH DEVICE DISCOVERY
-When run with no arguments, the backend should list the devices
-and schemes it supports or is advertising to stdout. The output
-consists of zero or more lines consisting of any of the following
-forms:
+When run with no arguments, the backend should list the devices and schemes it
+supports or is advertising to stdout. The output consists of zero or more lines
+consisting of any of the following forms:
 
 .nf
     device-class scheme "Unknown" "device-info"
@@ -59,138 +66,107 @@ forms:
     device-class device-uri "device-make-and-model" "device-info" "device-id"
     device-class device-uri "device-make-and-model" "device-info" "device-id" "device-location"
 .fi
-
 .LP
 The \fIdevice-class\fR field is one of the following values:
-
 .TP 5
 direct
 .br
-The device-uri refers to a specific direct-access device with no
-options, such as a parallel, USB, or SCSI device.
-
+The device-uri refers to a specific direct-access device with no options, such
+as a parallel, USB, or SCSI device.
 .TP 5
 file
 .br
 The device-uri refers to a file on disk.
-
 .TP 5
 network
 .br
-The device-uri refers to a networked device and conforms to the
-general form for network URIs.
-
+The device-uri refers to a networked device and conforms to the general form for
+network URIs.
 .TP 5
 serial
 .br
-The device-uri refers to a serial device with configurable baud
-rate and other options. If the device-uri contains a baud value,
-it represents the maximum baud rate supported by the device.
-
+The device-uri refers to a serial device with configurable baud rate and other
+options. If the device-uri contains a baud value, it represents the maximum baud
+rate supported by the device.
 .LP
-The \fIscheme\fR field provides the URI scheme that is supported
-by the backend. Backends should use this form only when the
-backend supports any URI using that scheme. The \fIdevice-uri\fR
-field specifies the full URI to use when communicating with the
-device.
-
+The \fIscheme\fR field provides the URI scheme that is supported by the backend.
+Backends should use this form only when the backend supports any URI using that
+scheme. The \fIdevice-uri\fR field specifies the full URI to use when
+communicating with the device.
 .LP
-The \fIdevice-make-and-model\fR field specifies the make and
-model of the device, e.g. "Acme Foojet 2000". If the make and
-model is not known, you must report "Unknown".
-
+The \fIdevice-make-and-model\fR field specifies the make and model of the
+device, e.g. "Example Foojet 2000". If the make and model is not known, you must
+report "Unknown".
 .LP
-The \fIdevice-info\fR field specifies additional information
-about the device. Typically this includes the make and model
-along with the port number or network address, e.g. "Acme Foojet
-2000 USB #1".
-
+The \fIdevice-info\fR field specifies additional information about the device.
+Typically this includes the make and model along with the port number or network
+address, e.g. "Example Foojet 2000 USB #1".
 .LP
-The optional \fIdevice-id\fR field specifies the IEEE-1284 device
-ID string for the device, which is used to select a matching
-driver.
-
+The optional \fIdevice-id\fR field specifies the IEEE-1284 device ID string for
+the device, which is used to select a matching driver.
 .LP
 The optional \fIdevice-location\fR field specifies the physical location of
 the device, which is often used to pre-populate the printer-location attribute
 when adding a printer.
-
 .SH PERMISSIONS
-Backends without world execute permissions are run as the root
-user. Otherwise, the backend is run using the unprivileged user
-account, typically "lp".
-
+Backends without world execute permissions are run as the root user. Otherwise,
+the backend is run using an unprivileged user account, typically "lp".
 .SH EXIT CODES
-The following exit codes are defined for backends; C API
-constants defined in the <cups/backend.h> header file are defined
-in parenthesis:
-
+The following exit codes are defined for backends; C API constants defined in
+the <cups/backend.h> header file are defined in parenthesis:
 .TP 5
 0 (CUPS_BACKEND_OK)
 .br
-The print file was successfully transmitted to the device or
-remote server.
-
+The print file was successfully transmitted to the device or remote server.
 .TP 5
 1 (CUPS_BACKEND_FAILED)
 .br
-The print file was not successfully transmitted to the device or
-remote server. The scheduler will respond to this by canceling
-the job, retrying the job, or stopping the queue depending on the
-state of the error-policy attribute.
-
+The print file was not successfully transmitted to the device or remote server.
+The scheduler will respond to this by canceling the job, retrying the job, or
+stopping the queue depending on the state of the error-policy attribute.
 .TP 5
 2 (CUPS_BACKEND_AUTH_REQUIRED)
 .br
-The print file was not successfully transmitted because valid
-authentication information is required. The scheduler will
-respond to this by holding the job and adding the
-authentication-required job-reasons keyword.
-
+The print file was not successfully transmitted because valid authentication
+information is required. The scheduler will respond to this by holding the job
+and adding the "cups-held-for-authentication" keyword to the "job-reasons"
+attribute.
 .TP 5
 3 (CUPS_BACKEND_HOLD)
 .br
-The print file was not successfully transmitted because it cannot
-be printed at this time. The scheduler will respond to this by
-holding the job.
-
+The print file was not successfully transmitted because it cannot be printed at
+this time. The scheduler will respond to this by holding the job.
 .TP 5
 4 (CUPS_BACKEND_STOP)
 .br
-The print file was not successfully transmitted because it cannot
-be printed at this time. The scheduler will respond to this by
-stopping the queue.
-
+The print file was not successfully transmitted because it cannot be printed at
+this time. The scheduler will respond to this by stopping the queue.
 .TP 5
 5 (CUPS_BACKEND_CANCEL)
 .br
-The print file was not successfully transmitted because one or
-more attributes are not supported. The scheduler will respond to
-this by canceling the job.
-
+The print file was not successfully transmitted because one or more attributes
+are not supported or the job was canceled at the printer. The scheduler will
+respond to this by canceling the job.
 .TP 5
 6 (CUPS_BACKEND_RETRY)
 .br
 The print file was not successfully transmitted because of a temporary issue.
 The scheduler will retry the job at a future time - other jobs may print before
 this one.
-
 .TP 5
 7 (CUPS_BACKEND_RETRY_CURRENT)
 .br
 The print file was not successfully transmitted because of a temporary issue.
 The scheduler will retry the job immediately without allowing intervening jobs.
-
 .PP
 All other exit code values are reserved.
-
 .SH SEE ALSO
-\fIcupsd(8)\fR, \fIcupsd.conf(5)\fR, \fIfilter(7)\fR,
+\fIcups-snmp(8)\fR, \fIcupsd(8)\fR, \fIcupsd.conf(5)\fR, \fIfilter(7)\fR,
+\fIlpinfo(8)\fR,
 .br
 http://localhost:631/help
-
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2013 by Apple Inc.
 .\"
-.\" End of "$Id: backend.man 9693 2011-04-16 02:51:22Z mike $".
+.\" End of "$Id: backend.man 7810 2008-07-29 01:11:15Z mike $".
 .\"
index eda61eb..5134d1f 100644 (file)
@@ -1,9 +1,9 @@
 .\"
-.\" "$Id: cancel.man 9771 2011-05-12 05:21:56Z mike $"
+.\" "$Id: cancel.man 7600 2008-05-20 21:06:23Z mike $"
 .\"
 .\"   cancel man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2013 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -69,7 +69,7 @@ Cancel-Jobs operations in \fIcupsd.conf(5)\fR.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2013 by Apple Inc.
 .\"
-.\" End of "$Id: cancel.man 9771 2011-05-12 05:21:56Z mike $".
+.\" End of "$Id: cancel.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index 0664442..8149d15 100644 (file)
@@ -1,9 +1,9 @@
 .\"
-.\" "$Id: classes.conf.man 9771 2011-05-12 05:21:56Z mike $"
+.\" "$Id: classes.conf.man 7600 2008-05-20 21:06:23Z mike $"
 .\"
 .\"   classes.conf man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2013 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -104,7 +104,7 @@ Specifies the date/time associated with the state.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2013 by Apple Inc.
 .\"
-.\" End of "$Id: classes.conf.man 9771 2011-05-12 05:21:56Z mike $".
+.\" End of "$Id: classes.conf.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index 6e606b1..36b70d5 100644 (file)
@@ -1,9 +1,9 @@
 .\"
-.\" "$Id: client.conf.man.in 9960 2011-09-02 22:37:14Z mike $"
+.\" "$Id: client.conf.man.in 11173 2013-07-23 12:31:34Z msweet $"
 .\"
 .\"   client.conf man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2013 by Apple Inc.
 .\"   Copyright 2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -12,7 +12,7 @@
 .\"   which should have been included with this file.  If this file is
 .\"   file is missing or damaged, see the license at "http://www.cups.org/".
 .\"
-.TH client.conf 5 "CUPS" "2 September 2011" "Apple Inc."
+.TH client.conf 5 "CUPS" "25 June 2013" "Apple Inc."
 .SH NAME
 client.conf \- client configuration file for cups
 .SH DESCRIPTION
@@ -45,11 +45,21 @@ ServerName hostname-or-ip-address[:port]
 ServerName /domain/socket
 .br
 Specifies the address and optionally the port to use when connecting to the
-server. \fBNote: Not supported on Mac OS X 10.7 or later.\fR
+server. \fBNote: Not supported on OS X 10.7 or later.\fR
+.TP 5
+ServerName hostname-or-ip-address[:port]/version=1.1
+.br
+Specifies the address and optionally the port to use when connecting to a
+server running CUPS 1.3.12 and earlier. \fBNote: Not supported on OS X 10.7 or
+later.\fR
+.TP 5
+User name
+.br
+Specifies the default user name to use for requests.
 .SH SEE ALSO
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2013 by Apple Inc.
 .\"
-.\" End of "$Id: client.conf.man.in 9960 2011-09-02 22:37:14Z mike $".
+.\" End of "$Id: client.conf.man.in 11173 2013-07-23 12:31:34Z msweet $".
 .\"
index 577dd44..c13e935 100644 (file)
@@ -1,9 +1,9 @@
 .\"
-.\" "$Id: cups-config.man 9771 2011-05-12 05:21:56Z mike $"
+.\" "$Id: cups-config.man 7646 2008-06-16 17:26:20Z mike $"
 .\"
 .\"   cups-config man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2013 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -111,7 +111,7 @@ Displays the full version number of the CUPS installation
 .SH SEE ALSO
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2013 by Apple Inc.
 .\"
-.\" End of "$Id: cups-config.man 9771 2011-05-12 05:21:56Z mike $".
+.\" End of "$Id: cups-config.man 7646 2008-06-16 17:26:20Z mike $".
 .\"
index 19fec7d..8961882 100644 (file)
@@ -1,9 +1,9 @@
 .\"
-.\" "$Id: cups-deviced.man.in 9771 2011-05-12 05:21:56Z mike $"
+.\" "$Id: cups-deviced.man.in 11173 2013-07-23 12:31:34Z msweet $"
 .\"
 .\"   cups-deviced man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2013 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -38,7 +38,7 @@ backend(7), cupsd(8), cupsd.conf(5),
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2013 by Apple Inc.
 .\"
-.\" End of "$Id: cups-deviced.man.in 9771 2011-05-12 05:21:56Z mike $".
+.\" End of "$Id: cups-deviced.man.in 11173 2013-07-23 12:31:34Z msweet $".
 .\"
index e93ffa9..d40fa54 100644 (file)
@@ -1,9 +1,9 @@
 .\"
-.\" "$Id: cups-driverd.man.in 9419 2011-01-06 18:49:38Z mike $"
+.\" "$Id: cups-driverd.man.in 11173 2013-07-23 12:31:34Z msweet $"
 .\"
 .\"   cups-driverd man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2013 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -116,7 +116,7 @@ cupsd(8), cupsd.conf(5), cupstestppd(1), lpinfo(8),
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2013 by Apple Inc.
 .\"
-.\" End of "$Id: cups-driverd.man.in 9419 2011-01-06 18:49:38Z mike $".
+.\" End of "$Id: cups-driverd.man.in 11173 2013-07-23 12:31:34Z msweet $".
 .\"
diff --git a/man/cups-files.conf.man.in b/man/cups-files.conf.man.in
new file mode 100644 (file)
index 0000000..559ea45
--- /dev/null
@@ -0,0 +1,152 @@
+.\"
+.\" "$Id: cups-files.conf.man.in 11221 2013-08-06 16:16:01Z msweet $"
+.\"
+.\"   cupsd.conf man page for CUPS.
+.\"
+.\"   Copyright 2007-2013 by Apple Inc.
+.\"   Copyright 1997-2006 by Easy Software Products.
+.\"
+.\"   These coded instructions, statements, and computer programs are the
+.\"   property of Apple Inc. and are protected by Federal copyright
+.\"   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
+.\"   which should have been included with this file.  If this file is
+.\"   file is missing or damaged, see the license at "http://www.cups.org/".
+.\"
+.TH cups-files.conf 5 "CUPS" "26 July 2013" "Apple Inc."
+.SH NAME
+cups-files.conf \- file and directory configuration file for cups
+.SH DESCRIPTION
+The \fIcups-files.conf\fR file configures the files and directories used by the
+CUPS scheduler, \fIcupsd(8)\fR.  It is normally located in the
+\fI@CUPS_SERVERROOT@\fR directory.
+.LP
+Each line in the file can be a configuration directive, a blank line,
+or a comment. Comment lines start with the # character.
+.SH DIRECTIVES
+The following directives are understood by \fIcupsd(8)\fR. Consult the
+on-line help for detailed descriptions:
+.TP 5
+AccessLog filename
+.TP 5
+AccessLog syslog
+.br
+Defines the access log filename.
+.TP 5
+ConfigFilePerm mode
+.br
+Specifies the permissions for all configuration files that the scheduler
+writes.
+.TP 5
+DataDir path
+.br
+Specified the directory where data files can be found.
+.TP 5
+DocumentRoot directory
+.br
+Specifies the root directory for the internal web server documents.
+.TP 5
+ErrorLog filename
+.TP 5
+ErrorLog syslog
+.br
+Specifies the error log filename.
+.TP 5
+FatalErrors none
+.TP 5
+FatalErrors all -kind [... -kind]
+.TP 5
+FatalErrors kind [... kind]
+.br
+Specifies which errors are fatal, causing the scheduler to exit. "Kind" is
+"browse", "config", "listen", "log", or "permissions".
+.TP 5
+FileDevice Yes
+.TP 5
+FileDevice No
+.br
+Specifies whether the file pseudo-device can be used for new
+printer queues.
+.TP 5
+FontPath directory[:directory:...]
+.br
+Specifies the search path for fonts.
+.TP 5
+Group group-name-or-number
+.br
+Specifies the group name or ID that will be used when executing
+external programs.
+.TP 5
+LogFilePerm mode
+.br
+Specifies the permissions for all log files that the scheduler writes.
+.TP 5
+PageLog filename
+.TP 5
+PageLog syslog
+.br
+Specifies the page log filename.
+.TP 5
+Printcap
+.TP 5
+Printcap filename
+.br
+Specifies the filename for a printcap file that is updated
+automatically with a list of available printers (needed for
+legacy applications); specifying Printcap with no filename
+disables printcap generation.
+.TP 5
+RemoteRoot user-name
+.br
+Specifies the username that is associated with unauthenticated root
+accesses.
+.TP 5
+RequestRoot directory
+.br
+Specifies the directory to store print jobs and other HTTP request
+data.
+.TP 5
+ServerBin directory
+.br
+Specifies the directory where backends, CGIs, daemons, and filters may
+be found.
+.TP 5
+ServerCertificate filename
+.br
+Specifies the encryption certificate to use.
+.TP 5
+ServerKey filename
+.br
+Specifies the encryption key to use.
+.TP 5
+ServerRoot directory
+.br
+Specifies the directory where the server configuration files can be found.
+.TP 5
+SyncOnClose Yes
+.TP 5
+SyncOnClose No
+Specifies whether the scheduler calls \fIfsync(2)\fR after writing configuration
+or state files. The default is No.
+.TP 5
+SystemGroup group-name [group-name ...]
+.br
+Specifies the group(s) to use for System class authentication.
+.TP 5
+TempDir directory
+.br
+Specifies the directory where temporary files are stored.
+.TP 5
+User user-name
+.br
+Specifies the user name or ID that is used when running external programs.
+.SH SEE ALSO
+\fIclasses.conf(5)\fR, \fIcupsd(8)\fR, \fIcupsd.conf(5)\fR, \fImime.convs(5)\fR,
+\fImime.types(5)\fR, \fIprinters.conf(5)\fR,
+\fIsubscriptions.conf(5)\fR,
+.br
+http://localhost:631/help
+.SH COPYRIGHT
+Copyright 2007-2013 by Apple Inc.
+.\"
+.\" End of "$Id: cups-files.conf.man.in 11221 2013-08-06 16:16:01Z msweet $".
+.\"
index 2959c0a..e030b61 100644 (file)
@@ -1,9 +1,9 @@
 .\"
-.\" "$Id: cups-lpd.man.in 9771 2011-05-12 05:21:56Z mike $"
+.\" "$Id: cups-lpd.man.in 11173 2013-07-23 12:31:34Z msweet $"
 .\"
 .\"   cups-lpd man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2013 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -118,7 +118,7 @@ clients may be unreliable.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2013 by Apple Inc.
 .\"
-.\" End of "$Id: cups-lpd.man.in 9771 2011-05-12 05:21:56Z mike $".
+.\" End of "$Id: cups-lpd.man.in 11173 2013-07-23 12:31:34Z msweet $".
 .\"
diff --git a/man/cups-polld.man b/man/cups-polld.man
deleted file mode 100644 (file)
index aee7068..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-.\"
-.\" "$Id: cups-polld.man 9771 2011-05-12 05:21:56Z mike $"
-.\"
-.\"   cups-polld man page for CUPS.
-.\"
-.\"   Copyright 2007-2011 by Apple Inc.
-.\"   Copyright 1997-2006 by Easy Software Products.
-.\"
-.\"   These coded instructions, statements, and computer programs are the
-.\"   property of Apple Inc. and are protected by Federal copyright
-.\"   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
-.\"   which should have been included with this file.  If this file is
-.\"   file is missing or damaged, see the license at "http://www.cups.org/".
-.\"
-.TH cups-polld 8 "CUPS" "12 February 2006" "Apple Inc."
-.SH NAME
-cups-polld \- cups printer polling daemon
-.SH SYNOPSIS
-.B cups-polld
-.I address ipp-port interval browse-port
-.SH DESCRIPTION
-\fIcups-polld\fR polls remote servers for a list of available
-printers and printer classes every \fIinterval\fR seconds.
-Printer and class information is then broadcast to the localhost
-interface (127.0.0.1) on the specified browse port for reception
-by \fIcupsd(8)\fR.
-.PP
-This program is started automatically by \fIcupsd\fR for every
-\fIBrowsePoll\fR directive found in the \fIcupsd.conf(5)\fR file.
-.SH SEE ALSO
-\fIcupsd(8)\fR, \fIcupsd.conf(5)\fR,
-.br
-http://localhost:631/help
-.SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
-.\"
-.\" End of "$Id: cups-polld.man 9771 2011-05-12 05:21:56Z mike $".
-.\"
index 1c778bc..608a2b5 100644 (file)
@@ -1,9 +1,9 @@
 .\"
-.\" "$Id: cups-snmp.conf.man 9771 2011-05-12 05:21:56Z mike $"
+.\" "$Id: cups-snmp.conf.man 7600 2008-05-20 21:06:23Z mike $"
 .\"
 .\"   snmp.conf man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2013 by Apple Inc.
 .\"   Copyright 2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
 .\"   which should have been included with this file.  If this file is
 .\"   file is missing or damaged, see the license at "http://www.cups.org/".
 .\"
-.TH snmp.conf 5 "CUPS" "31 July 2006" "Apple Inc."
+.TH snmp.conf 5 "CUPS" "23 April 2012" "Apple Inc."
+
 .SH NAME
 snmp.conf \- snmp configuration file for cups
 .SH DESCRIPTION
-The \fIsnmp.conf\fR file configures the CUPS SNMP printer
-discovery backend and is  normally located in the \fI/etc/cups\fR
-directory. Each line in the file can be a configuration
-directive, a blank line, or a comment. Comment lines start with
-the # character.
+The \fIsnmp.conf\fR file configures how the standard CUPS network backends
+(http, https, ipp, ipps, lpd, snmp, and socket) access printer information using
+SNMPv1 and is normally located in the \fI/etc/cups\fR directory. Each line in
+the file can be a configuration directive, a blank line, or a comment. Comment
+lines start with the # character.
 .LP
-The SNMP backend uses the SNMPv1 protocol to discover network
-printers, collecting information from the Host MIB along with
-intelligent port probes to determine the correct device URI and
-make and model for each printer. Future versions of CUPS will
-likely support the new Port Monitor MIB as well.
+The Community and DebugLevel directives are used by all backends. The remainder
+apply only to the SNMP backend (\fIcups-snmp(8)\fR).
 .SH DIRECTIVES
-The following directives are understood by the SNMP backend.
-Consult the on-line help for detailed descriptions:
+The following directives are understood by the CUPS network backends. Consult
+the on-line help for detailed descriptions:
 .TP 5
 Address @IF(\fIname\fR)
 .TP 5
@@ -37,37 +35,44 @@ Address @LOCAL
 .TP 5
 Address \fIaddress\fR
 .br
-Sends SNMP broadcast queries to the specified address(es). The
-default address is "@LOCAL" which broadcasts to all LAN
-interfaces.
+Sends SNMP broadcast queries to the specified address(es). There is no default
+for the broadcast address.
 .TP 5
 Community \fIname\fR
 .br
-Specifies a SNMP community to query. The default community is
-"public".
+Specifies the community name to use. Only a single community name may be
+specified. The default community name is "public".
 .TP 5
-DebugLevel \fIN\fR
+DebugLevel number
 .br
-Sets the debug logging level to \fIN\fR; 0 disables debug
-logging, 1 enables basic logging, 2 displays SNMP values, and 3
-displays raw hex data.
+Specifies the logging level from 0 (none) to 3 (everything). Typically only used
+for debugging (thus the name). The default debug level is 0.
+.TP 5
+DeviceURI "regular expression" device-uri [... device-uri]
+.br
+Specifies one or more device URIs that should be used for a given make and model
+string. The regular expression is used to match the detected make and model, and
+the device URI strings must be of the form "scheme://%s[:port]/[path]", where
+"%s" represents the detected address or hostname. There are no default device
+URI matching rules.
 .TP 5
 HostNameLookups on
 .TP 5
 HostNameLookups off
 .br
-Specifies whether the addresses of printers should be converted
-to hostnames or left as numeric IP addresses. The default is
-"off".
+Specifies whether the addresses of printers should be converted to hostnames or
+left as numeric IP addresses. The default is "off".
 .TP 5
 MaxRunTime \fIseconds\fR
 .br
-Specifies the maximum number of seconds that the SNMP backend
-will scan the network for printers.
+Specifies the maximum number of seconds that the SNMP backend will scan the
+network for printers. The default is 120 seconds (2 minutes).
 .SH SEE ALSO
+cups-snmp(8),
+.br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2013 by Apple Inc.
 .\"
-.\" End of "$Id: cups-snmp.conf.man 9771 2011-05-12 05:21:56Z mike $".
+.\" End of "$Id: cups-snmp.conf.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
diff --git a/man/cups-snmp.man.in b/man/cups-snmp.man.in
new file mode 100644 (file)
index 0000000..797a038
--- /dev/null
@@ -0,0 +1,59 @@
+.\"
+.\" "$Id: cups-snmp.man.in 11173 2013-07-23 12:31:34Z msweet $"
+.\"
+.\"   SNMP backend man page for CUPS.
+.\"
+.\"   Copyright 2012-2013 by Apple Inc.
+.\"
+.\"   These coded instructions, statements, and computer programs are the
+.\"   property of Apple Inc. and are protected by Federal copyright
+.\"   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
+.\"   which should have been included with this file.  If this file is
+.\"   file is missing or damaged, see the license at "http://www.cups.org/".
+.\"
+.TH cups-snmp 8 "CUPS" "23 April 2012" "Apple Inc."
+.SH NAME
+snmp \- cups snmp backend
+.SH SYNOPSIS
+.B @CUPS_SERVERBIN@/backend/snmp
+.I ip-address-or-hostname
+.br
+.B lpinfo -v --include-schemes snmp
+.SH DESCRIPTION
+The CUPS SNMP backend provides legacy discovery and identification of network
+printers using SNMPv1. When used for discovery through the scheduler, the
+backend will list all printers that respond to a broadcast SNMPv1 query with the
+"public" community name. Additional queries are then sent to printers that
+respond in order to determine the correct device URI, make and model, and other
+information needed for printing.
+.LP
+In the first form, the SNMP backend is run directly by the user to look up the
+device URI and other information when you have an IP address or hostname. This
+can be used for programs that need to configure print queues where the user has
+supplied an address but nothing else.
+.LP
+In the second form, the SNMP backend is run indirectly using the \fIlpinfo(8)\fR
+command. The output provides all printers detected via SNMP on the configured
+broadcast addresses. \fBNote\fR: no broadcast addresses are configured by
+default.
+.SH MIBS
+The CUPS SNMP backend uses the information from the Host, Printer, and Port
+Monitor MIBs along with some vendor private MIBs and intelligent port probes to
+determine the correct device URI and make and model for each printer.
+.SH CONFIGURATION
+The SNMP backend reads the @CUPS_SERVERROOT@/snmp.conf configuration file, if
+present, to set the default broadcast address, community name, and logging
+level. The configuration file is documented in \fIcups-snmp.conf(5)\fR. The
+DebugLevel value can be overridden using the CUPS_DEBUG_LEVEL environment
+variable and the MaxRunTime value can be overridden using the CUPS_MAX_RUN_TIME
+environment variable.
+.SH SEE ALSO
+\fIbackend(7)\fR, \fIcups-snmp.conf(5)\fR, \fIcupsd(8)\fR, \fIcupsd.conf(5)\fR,
+\fIfilter(7)\fR, \fIlpinfo(8)\fR,
+.br
+http://localhost:631/help
+.SH COPYRIGHT
+Copyright 2007-2013 by Apple Inc.
+.\"
+.\" End of "$Id: cups-snmp.man.in 11173 2013-07-23 12:31:34Z msweet $".
+.\"
index 7c53d86..0c8ba03 100644 (file)
@@ -1,9 +1,9 @@
 .\"
-.\" "$Id: cupsaccept.man 9771 2011-05-12 05:21:56Z mike $"
+.\" "$Id: cupsaccept.man 7930 2008-09-10 22:25:54Z mike $"
 .\"
 .\"   accept/reject man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2013 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -73,7 +73,7 @@ require the root user to execute these commands.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2013 by Apple Inc.
 .\"
-.\" End of "$Id: cupsaccept.man 9771 2011-05-12 05:21:56Z mike $".
+.\" End of "$Id: cupsaccept.man 7930 2008-09-10 22:25:54Z mike $".
 .\"
index 98fce09..335cf68 100644 (file)
@@ -1,9 +1,9 @@
 .\"
-.\" "$Id: cupsaddsmb.man.in 9771 2011-05-12 05:21:56Z mike $"
+.\" "$Id: cupsaddsmb.man.in 11173 2013-07-23 12:31:34Z msweet $"
 .\"
 .\"   cupsaddsmb man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2013 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -12,7 +12,7 @@
 .\"   which should have been included with this file.  If this file is
 .\"   file is missing or damaged, see the license at "http://www.cups.org/".
 .\"
-.TH cupsaddsmb 8 "CUPS" "25 July 2007" "Apple Inc."
+.TH cupsaddsmb 8 "CUPS" "8 July 2013" "Apple Inc."
 .SH NAME
 cupsaddsmb \- export printers to samba for windows clients
 
@@ -115,17 +115,14 @@ drivers and
 %WINDIR%\\SYSTEM32\\SPOOL\\DRIVERS\\X64\\3 folder for 64-bit
 drivers.
 .LP
-The CUPS printer driver is preferred over the Microsoft driver
-since it supports the page-label, job-billing, and
-job-hold-until options fully on all printers. However, currently
-only Windows 2000 and higher is supported by the Microsoft
+However, currently only Windows 2000 and higher is supported by the Microsoft
 driver, so you will also need to get the Adobe driver to support
 Windows 95, 98, and Me clients. The Adobe and Microsoft drivers
 for Windows 2000 are identical.
 .LP
 Once you have extracted the driver files, copy the 32-bit drivers
-to the \fI@CUPS_DATADIR@/drivers\fR directory and the 64-bit
-drivers to the \fI@CUPS_DATADIR@/drivers/x64\fR directory exactly
+to the \fI/usr/share/cups/drivers\fR directory and the 64-bit
+drivers to the \fI/usr/share/cups/drivers/x64\fR directory exactly
 as named below:
 .nf
 
@@ -140,39 +137,6 @@ as named below:
 you use the lowercase filenames shown above, otherwise
 \fIcupsaddsmb\fR will fail to export the drivers.
 
-.SH CUPS POSTSCRIPT DRIVERS FOR WINDOWS
-\fIcupsaddsmb\fR can use the CUPS v6 PostScript printer driver
-for Windows, which is available for download from the CUPS web
-site.
-.LP
-The CUPS printer driver is preferred over the Adobe and
-Microsoft drivers since it supports the page-label, job-billing,
-and job-hold-until options fully on all printers. However,
-currently only Windows 2000 and higher is supported by the CUPS
-driver, so you will also need to get the Adobe driver to support
-Windows 95, 98, and Me clients.
-.LP
-Once you have extracted the driver files, copy the 32-bit drivers
-to the \fI@CUPS_DATADIR@/drivers\fR directory and the 64-bit
-drivers to the \fI@CUPS_DATADIR@/drivers/x64\fR directory exactly
-as named below:
-.nf
-
-    [Windows 2000 and higher]
-    cups6.inf (from www.cups.org)
-    cups6.ini (from www.cups.org)
-    cupsps6.dll (from www.cups.org)
-    cupsui6.dll (from www.cups.org)
-    ps5ui.dll (from your Windows system)
-    pscript.hlp (from your Windows system)
-    pscript.ntf (from your Windows system)
-    pscript5.dll (from your Windows system)
-.fi
-.LP
-\fBNote:\fR Unlike Windows, case is significant - make sure that
-you use the lowercase filenames shown above, otherwise
-\fIcupsaddsmb\fR will fail to export the drivers.
-
 .SH ADOBE POSTSCRIPT DRIVERS FOR WINDOWS 95, 98, AND ME
 \fIcupsaddsmb\fR can use the Adobe PostScript printer driver for
 Windows 95, 98, and ME, which are available for download from the
@@ -204,11 +168,9 @@ Getting the full set of Windows driver files should be easier.
 .SH SEE ALSO
 \fIsmbd(8)\fR, \fIsmb.conf(5)\fR,
 http://localhost:631/help
-.br
-http://www.cups.org/windows/
 
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2013 by Apple Inc.
 .\"
-.\" End of "$Id: cupsaddsmb.man.in 9771 2011-05-12 05:21:56Z mike $".
+.\" End of "$Id: cupsaddsmb.man.in 11173 2013-07-23 12:31:34Z msweet $".
 .\"
index 411ada8..8dc01b0 100644 (file)
@@ -1,9 +1,9 @@
 .\"
-.\" "$Id: cupsctl.man 9457 2011-01-11 03:04:04Z mike $"
+.\" "$Id: cupsctl.man 7600 2008-05-20 21:06:23Z mike $"
 .\"
 .\"   cupsctl man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2013 by Apple Inc.
 .\"   Copyright 2007 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -12,7 +12,7 @@
 .\"   which should have been included with this file.  If this file is
 .\"   file is missing or damaged, see the license at "http://www.cups.org/".
 .\"
-.TH cupsctl 8 "CUPS" "10 January 2011" "Apple Inc."
+.TH cupsctl 8 "CUPS" "11 January 2013" "Apple Inc."
 .SH NAME
 cupsctl \- configure cupsd.conf options
 .SH SYNOPSIS
@@ -22,7 +22,7 @@ cupsctl \- configure cupsd.conf options
 ] [ -h
 .I server[:port]
 ] [ --[no-]debug-logging ] [ --[no-]remote-admin ] [ --[no-]remote-any ]
-[ --[no-]remote-printers ] [ --[no-]share-printers ] [ --[no-]user-cancel-any ]
+[ --[no-]share-printers ] [ --[no-]user-cancel-any ]
 [
 .I name=value
 ]
@@ -57,11 +57,6 @@ Enables or disables remote administration.
 .br
 Enables or disables printing from any address, e.g. the Internet.
 .TP 5
---[no-]remote-printers
-.br
-Enables or disables the display of remote printers shared via the CUPS, LDAP,
-or SLP protocols.
-.TP 5
 --[no-]share-printers
 .br
 Enables or disables sharing of local printers with other computers.
@@ -87,12 +82,7 @@ Get the current debug logging state:
 .LP
 Disable printer sharing:
 .nf
-    cupsctl --no-shared-printers
-.fi
-.LP
-Enable printing using the file: pseudo-device:
-.nf
-    cupsctl FileDevice=Yes
+    cupsctl --no-share-printers
 .fi
 .SH KNOWN ISSUES
 You cannot set the Listen or Port directives using \fIcupsctl\fR.
@@ -101,7 +91,7 @@ You cannot set the Listen or Port directives using \fIcupsctl\fR.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2013 by Apple Inc.
 .\"
-.\" End of "$Id: cupsctl.man 9457 2011-01-11 03:04:04Z mike $".
+.\" End of "$Id: cupsctl.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index c517f0b..c362d09 100644 (file)
@@ -1,9 +1,9 @@
 .\"
-.\" "$Id: cupsd.conf.man.in 9784 2011-05-18 21:33:35Z mike $"
+.\" "$Id: cupsd.conf.man.in 11173 2013-07-23 12:31:34Z msweet $"
 .\"
 .\"   cupsd.conf man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2013 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
 .\"   which should have been included with this file.  If this file is
 .\"   file is missing or damaged, see the license at "http://www.cups.org/".
 .\"
-.TH cupsd.conf 5 "CUPS" "18 May 2011" "Apple Inc."
+.TH cupsd.conf 5 "CUPS" "19 November 2012" "Apple Inc."
 .SH NAME
 cupsd.conf \- server configuration file for cups
 .SH DESCRIPTION
 The \fIcupsd.conf\fR file configures the CUPS scheduler, \fIcupsd(8)\fR.  It
-is normally located in the \fI@CUPS_SERVERROOT@\fR directory.
+is normally located in the \fI@CUPS_SERVERROOT@\fR directory. \fBNote:\fR
+File, directory, and user configuration directives that used to be allowed in
+the \fIcupsd.conf\fR file are now stored in the \fIcups-files.conf(5)\fR instead
+in order to prevent certain types of privilege escalation attacks.
 .LP
 Each line in the file can be a configuration directive, a blank line,
 or a comment. Comment lines start with the # character. The
@@ -27,12 +30,6 @@ popular Apache web server software and are described below.
 The following directives are understood by \fIcupsd(8)\fR. Consult the
 on-line help for detailed descriptions:
 .TP 5
-AccessLog filename
-.TP 5
-AccessLog syslog
-.br
-Defines the access log filename.
-.TP 5
 AccessLogLevel config
 .TP 5
 AccessLogLevel actions
@@ -61,20 +58,6 @@ Allow @LOCAL
 .br
 Allows access from the named hosts or addresses.
 .TP 5
-AuthClass User
-.TP 5
-AuthClass Group
-.TP 5
-AuthClass System
-.br
-Specifies the authentication class (User, Group, System) -
-\fBthis directive is deprecated\fR.
-.TP 5
-AuthGroupName group-name
-.br
-Specifies the authentication group - \fBthis directive is
-deprecated\fR.
-.TP 5
 AuthType None
 .TP 5
 AuthType Basic
@@ -94,121 +77,9 @@ AutoPurgeJobs No
 Specifies whether to purge job history data automatically when
 it is no longer required for quotas.
 .TP 5
-BrowseAddress ip-address
-.TP 5
-BrowseAddress @IF(name)
-.TP 5
-BrowseAddress @LOCAL
-.br
-Specifies a broadcast address for outgoing printer information packets.
-.TP 5
-BrowseAllow all
-.TP 5
-BrowseAllow none
-.TP 5
-BrowseAllow host.domain.com
-.TP 5
-BrowseAllow *.domain.com
-.TP 5
-BrowseAllow ip-address
-.TP 5
-BrowseAllow ip-address/netmask
-.TP 5
-BrowseAllow ip-address/mm
-.TP 5
-BrowseAllow @IF(name)
-.TP 5
-BrowseAllow @LOCAL
-.br
-Allows incoming printer information packets from the named host or address.
-.TP 5
-BrowseDeny all
-.TP 5
-BrowseDeny none
-.TP 5
-BrowseDeny host.domain.com
-.TP 5
-BrowseDeny *.domain.com
-.TP 5
-BrowseDeny ip-address
-.TP 5
-BrowseDeny ip-address/netmask
-.TP 5
-BrowseDeny ip-address/mm
-.TP 5
-BrowseDeny @IF(name)
-.TP 5
-BrowseDeny @LOCAL
-.br
-Denies incoming printer information packets from the named host or address.
-.TP 5
-BrowseInterval seconds
-.br
-Specifies the maximum interval between printer information broadcasts.
-.TP 5
-BrowseLDAPBindDN
-.br
-Specifies the LDAP domain name to use when registering printers.
-.TP 5
-BrowseLDAPCACertFile
-.br
-Specifies the SSL certificate authority file to use.
-.TP 5
-BrowseLDAPDN
-.br
-Specifies the LDAP domain name to use when discovering printers.
-.TP 5
-BrowseLDAPPassword
-.br
-Specifies the password to use when accessing the LDAP server.
-.TP 5
-BrowseLDAPServer
-.br
-Specifies the LDAP server to use.
-.TP 5
-BrowseOrder allow,deny
-.TP 5
-BrowseOrder deny,allow
-.br
-Specifies the order of printer information access control (allow,deny or deny,allow)
-.TP 5
-BrowsePoll host-or-ip-address
-.br
-Specifies a server to poll for printer information.
-.TP 5
-BrowsePort port
-.br
-Specifies the port to listen to for printer information packets.
-.TP 5
-BrowseProtocols [All] [CUPS] [DNSSD] [LDAP] [SLP]
-.br
-Specifies the protocols to use for printer browsing.
-.TP 5
-BrowseLocalProtocols [All] [CUPS] [DNSSD] [LDAP] [SLP]
-.br
-Specifies the protocols to use for local printer browsing.
-.TP 5
-BrowseRemoteProtocols [All] [CUPS] [DNSSD] [LDAP] [SLP]
-.br
-Specifies the protocols to use for remote printer browsing.
-.TP 5
-BrowseRelay from-address to-address
-.br
-Specifies that printer information packets should be relayed from one host or
-network to another.
-.TP 5
-BrowseShortNames Yes
-.TP 5
-BrowseShortNames No
-.br
-Specifies whether remote printers will use short names ("printer") or not
-("printer@server"). This option is ignored if more than one remote printer
-exists with the same name.
-.TP 5
-BrowseTimeout seconds
+BrowseLocalProtocols [All] [DNSSD]
 .br
-Specifies the maximum interval between printer information updates before
-remote printers will be removed from the list of available printers.
+Specifies the protocols to use for local printer sharing.
 .TP 5
 BrowseWebIF Yes
 .TP 5
@@ -220,7 +91,7 @@ Browsing Yes
 .TP 5
 Browsing No
 .br
-Specifies whether or not remote printer browsing should be enabled.
+Specifies whether or not shared printers should be advertised.
 .TP 5
 Classification banner
 .br
@@ -233,15 +104,6 @@ ClassifyOverride No
 Specifies whether to allow users to override the classification
 of individual print jobs.
 .TP 5
-ConfigFilePerm mode
-.br
-Specifies the permissions for all configuration files that the scheduler
-writes.
-.TP 5
-DataDir path
-.br
-Specified the directory where data files can be found.
-.TP 5
 DefaultAuthType Basic
 .TP 5
 DefaultAuthType BasicDigest
@@ -309,10 +171,6 @@ Specifies the delay for updating of configuration and state files. A value of 0
 causes the update to happen as soon as possible, typically within a few
 milliseconds.
 .TP 5
-DocumentRoot directory
-.br
-Specifies the root directory for the internal web server documents.
-.TP 5
 Encryption IfRequested
 .TP 5
 Encryption Never
@@ -322,28 +180,6 @@ Encryption Required
 Specifies the level of encryption that is required for a particular
 location.
 .TP 5
-ErrorLog filename
-.TP 5
-ErrorLog syslog
-.br
-Specifies the error log filename.
-.TP 5
-FatalErrors none
-.TP 5
-FatalErrors all -kind [... -kind]
-.TP 5
-FatalErrors kind [... kind]
-.br
-Specifies which errors are fatal, causing the scheduler to exit. "Kind" is
-"browse", "config", "listen", "log", or "permissions".
-.TP 5
-FileDevice Yes
-.TP 5
-FileDevice No
-.br
-Specifies whether the file pseudo-device can be used for new
-printer queues.
-.TP 5
 FilterLimit limit
 .br
 Specifies the maximum cost of filters that are run concurrently.
@@ -353,20 +189,10 @@ FilterNice nice-value
 Specifies the scheduling priority ("nice" value) of filters that
 are run to print a job.
 .TP 5
-FontPath directory[:directory:...]
+GSSServiceName name
 .br
-Specifies the search path for fonts.
-.TP 5
-Group group-name-or-number
-.br
-Specifies the group name or ID that will be used when executing
-external programs.
-.TP 5
-HideImplicitMembers Yes
-.TP 5
-HideImplicitMembers No
-.br
-Specifies whether to hide members of implicit classes.
+Specifies the service name when using Kerberos authentication. The default
+service name is "@CUPS_DEFAULT_GSSSERVICENAME@".
 .TP 5
 HostNameLookups On
 .TP 5
@@ -376,21 +202,6 @@ HostNameLookups Double
 .br
 Specifies whether or not to do reverse lookups on client addresses.
 .TP 5
-ImplicitAnyClasses Yes
-.TP 5
-ImplicitAnyClasses No
-.br
-Specifies whether or not to create implicit classes for local and
-remote printers, e.g. "AnyPrinter" from "Printer", "Printer@server1",
-and "Printer@server2".
-.TP 5
-ImplicitClasses Yes
-.TP 5
-ImplicitClasses No
-.br
-Specifies whether or not to create implicit classes from identical
-remote printers.
-.TP 5
 Include filename
 .br
 Includes the named file.
@@ -469,10 +280,6 @@ LogDebugHistory #-messages
 Specifies the number of debugging messages that are logged when an error
 occurs in a print job.
 .TP 5
-LogFilePerm mode
-.br
-Specifies the permissions for all log files that the scheduler writes.
-.TP 5
 LogLevel alert
 .TP 5
 LogLevel crit
@@ -514,6 +321,11 @@ MaxCopies number
 .br
 Specifies the maximum number of copies that a user can print of each job.
 .TP 5
+MaxHoldTime seconds
+.br
+Specifies the maximum time a job may remain in the "indefinite" hold state
+before it is canceled. Set to 0 to disable cancellation of held jobs.
+.TP 5
 MaxJobs number
 .br
 Specifies the maximum number of simultaneous jobs to support.
@@ -526,6 +338,12 @@ MaxJobsPerUser number
 .br
 Specifies the maximum number of simultaneous jobs per user to support.
 .TP 5
+MaxJobTime seconds
+.br
+Specifies the maximum time a job may take to print before it is canceled. The
+default is 10800 seconds (3 hours). Set to 0 to disable cancellation of "stuck"
+jobs.
+.TP 5
 MaxLogSize number-bytes
 .br
 Specifies the maximum size of the log files before they are
@@ -546,12 +364,6 @@ Order deny,allow
 .br
 Specifies the order of HTTP access control (allow,deny or deny,allow)
 .TP 5
-PageLog filename
-.TP 5
-PageLog syslog
-.br
-Specifies the page log filename.
-.TP 5
 PageLogFormat format string
 .br
 Specifies the format of page log lines.
@@ -581,15 +393,6 @@ PreserveJobHistory No
 Specifies whether or not to preserve the job history after they are
 printed.
 .TP 5
-Printcap
-.TP 5
-Printcap filename
-.br
-Specifies the filename for a printcap file that is updated
-automatically with a list of available printers (needed for
-legacy applications); specifying Printcap with no filename
-disables printcap generation.
-.TP 5
 PrintcapFormat bsd
 .TP 5
 PrintcapFormat plist
@@ -598,29 +401,11 @@ PrintcapFormat solaris
 .br
 Specifies the format of the printcap file.
 .TP 5
-PrintcapGUI
-.TP 5
-PrintcapGUI gui-program-filename
-.br
-Specifies whether to generate option panel definition files on
-some operating systems. When provided with no program filename,
-disables option panel definition files.
-.TP 5
 ReloadTimeout seconds
 .br
 Specifies the amount of time to wait for job completion before
 restarting the scheduler.
 .TP 5
-RemoteRoot user-name
-.br
-Specifies the username that is associated with unauthenticated root
-accesses.
-.TP 5
-RequestRoot directory
-.br
-Specifies the directory to store print jobs and other HTTP request
-data.
-.TP 5
 Require group group-name-list
 .TP 5
 Require user user-name-list
@@ -652,27 +437,10 @@ ServerAlias *
 Specifies an alternate name that the server is known by. The special name "*"
 allows any name to be used.
 .TP 5
-ServerBin directory
-.br
-Specifies the directory where backends, CGIs, daemons, and filters may
-be found.
-.TP 5
-ServerCertificate filename
-.br
-Specifies the encryption certificate to use.
-.TP 5
-ServerKey filename
-.br
-Specifies the encryption key to use.
-.TP 5
 ServerName hostname-or-ip-address
 .br
 Specifies the fully-qualified hostname of the server.
 .TP 5
-ServerRoot directory
-.br
-Specifies the directory where the server configuration files can be found.
-.TP 5
 ServerTokens Full
 .TP 5
 ServerTokens Major
@@ -708,6 +476,13 @@ SSLPort
 .br
 Listens on the specified port for encrypted connections.
 .TP 5
+StrictConformance Yes
+.TP 5
+StrictConformance No
+.br
+Specifies whether the scheduler requires clients to strictly adhere to the IPP
+specifications. The default is No.
+.TP 5
 SubscriptionPrivateAccess all
 .TP 5
 SubscriptionPrivateAccess default
@@ -729,34 +504,22 @@ Specifies the list of job values to make private. The "default" values are
 "notify-events", "notify-pull-method", "notify-recipient-uri",
 "notify-subscriber-user-name", and "notify-user-data".
 .TP 5
-SystemGroup group-name [group-name ...]
-.br
-Specifies the group(s) to use for System class authentication.
-.TP 5
-TempDir directory
-.br
-Specifies the directory where temporary files are stored.
-.TP 5
 Timeout seconds
 .br
 Specifies the HTTP request timeout in seconds.
 .TP 5
-User user-name
-.br
-Specifies the user name or ID that is used when running external programs.
-.TP 5
 WebInterface yes
 .TP 5
 WebInterface no
 Specifies whether the web interface is enabled.
 .SH SEE ALSO
-\fIclasses.conf(5)\fR, \fIcupsd(8)\fR, \fImime.convs(5)\fR,
-\fImime.types(5)\fR, \fIprinters.conf(5)\fR,
+\fIclasses.conf(5)\fR, \fIcups-files.conf(5)\fR, \fIcupsd(8)\fR,
+\fImime.convs(5)\fR, \fImime.types(5)\fR, \fIprinters.conf(5)\fR,
 \fIsubscriptions.conf(5)\fR,
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2013 by Apple Inc.
 .\"
-.\" End of "$Id: cupsd.conf.man.in 9784 2011-05-18 21:33:35Z mike $".
+.\" End of "$Id: cupsd.conf.man.in 11173 2013-07-23 12:31:34Z msweet $".
 .\"
index 820afd8..69bdc23 100644 (file)
@@ -1,9 +1,9 @@
 .\"
-.\" "$Id: cupsd.man.in 9771 2011-05-12 05:21:56Z mike $"
+.\" "$Id: cupsd.man.in 11173 2013-07-23 12:31:34Z msweet $"
 .\"
 .\"   cupsd man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2013 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -66,7 +66,7 @@ operations.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2013 by Apple Inc.
 .\"
-.\" End of "$Id: cupsd.man.in 9771 2011-05-12 05:21:56Z mike $".
+.\" End of "$Id: cupsd.man.in 11173 2013-07-23 12:31:34Z msweet $".
 .\"
index 0552f42..482a1e3 100644 (file)
@@ -1,9 +1,9 @@
 .\"
-.\" "$Id: cupsenable.man 9771 2011-05-12 05:21:56Z mike $"
+.\" "$Id: cupsenable.man 7600 2008-05-20 21:06:23Z mike $"
 .\"
 .\"   cupsenable/cupsdisable man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2013 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -86,8 +86,8 @@ require the root user to execute these commands.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2013 by Apple Inc.
 
 .\"
-.\" End of "$Id: cupsenable.man 9771 2011-05-12 05:21:56Z mike $".
+.\" End of "$Id: cupsenable.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index 7aa9c83..5a67e4d 100644 (file)
@@ -1,9 +1,9 @@
 .\"
-.\" "$Id: cupsfilter.man 9030 2010-03-05 03:55:56Z mike $"
+.\" "$Id: cupsfilter.man 7936 2008-09-11 03:12:59Z mike $"
 .\"
 .\"   cupsfilter man page for CUPS.
 .\"
-.\"   Copyright 2007-2010 by Apple Inc.
+.\"   Copyright 2007-2013 by Apple Inc.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
 .\"   property of Apple Inc. and are protected by Federal copyright
 .\"   which should have been included with this file.  If this file is
 .\"   file is missing or damaged, see the license at "http://www.cups.org/".
 .\"
-.TH cupsfilter 8 "CUPS" "4 March 2010" "Apple Inc."
+.TH cupsfilter 8 "CUPS" "20 June 2012" "Apple Inc."
 .SH NAME
 cupsfilter \- convert a file to another format using cups filters
 .SH SYNOPSIS
 .B cupsfilter
-[ -c
+[ -D ] [ -U
+.I user
+] [ -c
 .I config-file
-] [ -d 
+] [ -d
 .I printer
-] [ -e ] -j
+] [ -e ] [ -i
+.I mime/type
+] [ -j
 .I job-id[,N]
-[ -m
+[ -m
 .I mime/type
 ] [ -n
 .I copies
@@ -32,7 +36,7 @@ cupsfilter \- convert a file to another format using cups filters
 .I filename.ppd
 ] [ -t
 .I title
-]
+] [ -u ]
 .I filename
 .SH DESCRIPTION
 \fIcupsfilter\fR is a front-end to the CUPS filter subsystem which allows you
@@ -40,6 +44,14 @@ to convert a file to a specific format, just as if you had printed the file
 through CUPS. By default, \fIcupsfilter\fR generates a PDF file.
 .SH OPTIONS
 .TP 5
+-D
+.br
+Delete the input file after conversion.
+.TP 5
+-U user
+.br
+Specifies the username passed to the filters. The default is the name of the current user.
+.TP 5
 -c config-file
 .br
 Uses the named cupsd.conf configuration file.
@@ -51,6 +63,11 @@ Uses information from the named printer.
 .br
 Use every filter from the PPD file.
 .TP 5
+-i mime/type
+.br
+Specifies the source file type. The default file type is guessed using the
+filename and contents of the file.
+.TP 5
 -j job-id[,N]
 .br
 Converts document N from the specified job. If N is omitted, document 1 is
@@ -77,15 +94,16 @@ Specifies the PPD file to use.
 -t title
 .br
 Specifies the document title.
-.SH KNOWN ISSUES
-\fIcupsfilter\fR currently does not use the filters defined in the PPD file.
-This will be addressed in a future CUPS release.
+.TP 5
+-u
+.br
+Delete the PPD file after conversion.
 .SH SEE ALSO
 \fIcupsd.conf(5)\fR
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2010 by Apple Inc.
+Copyright 2007-2013 by Apple Inc.
 .\"
-.\" End of "$Id: cupsfilter.man 9030 2010-03-05 03:55:56Z mike $".
+.\" End of "$Id: cupsfilter.man 7936 2008-09-11 03:12:59Z mike $".
 .\"
index 781c5ef..ec08797 100644 (file)
@@ -1,9 +1,9 @@
 .\"
-.\" "$Id: cupstestdsc.man 9771 2011-05-12 05:21:56Z mike $"
+.\" "$Id: cupstestdsc.man 7600 2008-05-20 21:06:23Z mike $"
 .\"
 .\"   cupstestdsc man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2013 by Apple Inc.
 .\"   Copyright 2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -44,7 +44,7 @@ http://localhost:631/help
 Adobe PostScript Language Document Structuring Conventions
 Specification, Version 3.0.
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2013 by Apple Inc.
 .\"
-.\" End of "$Id: cupstestdsc.man 9771 2011-05-12 05:21:56Z mike $".
+.\" End of "$Id: cupstestdsc.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index 042f4c2..2d66116 100644 (file)
@@ -1,9 +1,9 @@
 .\"
-.\" "$Id: cupstestppd.man 9771 2011-05-12 05:21:56Z mike $"
+.\" "$Id: cupstestppd.man 7600 2008-05-20 21:06:23Z mike $"
 .\"
 .\"   cupstestppd man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2013 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -159,7 +159,7 @@ http://localhost:631/help
 .br
 Adobe PostScript Printer Description File Format Specification, Version 4.3.
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2013 by Apple Inc.
 .\"
-.\" End of "$Id: cupstestppd.man 9771 2011-05-12 05:21:56Z mike $".
+.\" End of "$Id: cupstestppd.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index eef66ba..9a79dbd 100644 (file)
@@ -1,9 +1,9 @@
 .\"
-.\" "$Id: filter.man 9771 2011-05-12 05:21:56Z mike $"
+.\" "$Id: filter.man 7600 2008-05-20 21:06:23Z mike $"
 .\"
 .\"   filter man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2013 by Apple Inc.
 .\"   Copyright 1997-2007 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -12,7 +12,7 @@
 .\"   which should have been included with this file.  If this file is
 .\"   file is missing or damaged, see the license at "http://www.cups.org/".
 .\"
-.TH filter 7 "CUPS" "13 May 2009" "Apple Inc."
+.TH filter 7 "CUPS" "18 May 2012" "Apple Inc."
 .SH NAME
 filter \- cups file conversion filter interface
 .SH SYNOPSIS
@@ -33,7 +33,14 @@ standard output.
 .LP
 The command name (argv[0]) is set to the name of the destination printer but is
 also available in the PRINTER environment variable.
-
+.SH WARNING
+CUPS filters are not meant to be run directly by the user. Aside from the legacy
+System V interface issues (argv[0] is the printer name), CUPS filters also
+expect specific environment variables and file descriptors, and typically run in
+a user session that (on OS X) has additional restrictions that affect how it
+runs. Unless you are a developer and know what you are doing, please do not run
+filters directly. Instead, use the \fIcupsfilter(8)\fR program to use the
+appropriate filters to do the conversions you need.
 .SH OPTIONS
 Options passed on the command-line typically do not include the default choices
 the printer's PPD file. In addition, some options may be specified in multiple
@@ -48,67 +55,59 @@ Raster filters should use option choices set through the raster page header, as
 those reflect the options in effect for a given page. Options specified on the
 command-line determine the default values for the entire job, which can be
 overridden on a per-page basis.
-
 .SH LOG MESSAGES
 Messages sent to stderr are generally logged to
 printer-state-message attribute and the current \fIErrorLog\fR.
 Each line begins with a standard prefix:
-
 .TP 5
 ALERT: message
 .br
 Sets the printer-state-message attribute and adds the specified
 message to the current \fIErrorLog\fR using the "alert" log level.
-
 .TP 5
 ATTR: attribute=value [attribute=value]
 .br
-Sets the named job attribute(s). Typically this will be used to
-set the job-remote-id attribute.
-
+Sets the named job or printer attribute(s). The following job attributes can be
+set: "job-media-progress". The following printer attributes can be set:
+"auth-info-required", "marker-colors", "marker-high-levels", "marker-levels",
+"marker-low-levels", "marker-message", "marker-names", "marker-types",
+"printer-alert", and "printer-alert-description".
 .TP 5
 CRIT: message
 .br
 Sets the printer-state-message attribute and adds the specified
 message to the current \fIErrorLog\fR using the "critical" log level.
-
 .TP 5
 DEBUG: message
 .br
 Sets the printer-state-message attribute and adds the specified
 message to the current \fIErrorLog\fR using the "debug" log level.
-
 .TP 5
 DEBUG2: message
 .br
 Sets the printer-state-message attribute and adds the specified
 message to the current \fIErrorLog\fR using the "debug2" log level.
-
 .TP 5
 EMERG: message
 .br
 Sets the printer-state-message attribute and adds the specified
 message to the current \fIErrorLog\fR using the "emergency" log level.
-
 .TP 5
 ERROR: message
 .br
 Sets the printer-state-message attribute and adds the specified
 message to the current \fIErrorLog\fR using the "error" log level.
-
 .TP 5
 INFO: message
 .br
 Sets the printer-state-message attribute. If the current \fILogLevel\fR
 is set to "debug2", also adds the specified message to the
 current \fIErrorLog\fR using the "info" log level.
-
 .TP 5
 NOTICE: message
 .br
 Sets the printer-state-message attribute and adds the specified
 message to the current \fIErrorLog\fR using the "notice" log level.
-
 .TP 5
 PAGE: page-number #-copies
 .TP 5
@@ -117,14 +116,12 @@ PAGE: total #-pages
 Adds an entry to the current \fIPageLog\fR. The first form adds
 #-copies to the job-media-sheets-completed attribute. The second
 form sets the job-media-sheets-completed attribute to #-pages.
-
 .TP 5
 PPD: Keyword=Value ... KeywordN=Value
 .br
 Sets the named keywords in the printer's PPD file. This is typically
 used to update default option keywords such as DefaultPageSize and
 the various installable options in the PPD file.
-
 .TP 5
 STATE: printer-state-reason [printer-state-reason ...]
 .TP 5
@@ -135,122 +132,107 @@ STATE: - printer-state-reason [printer-state-reason ...]
 Sets, adds, or removes printer-state-reason keywords to the
 current queue. Typically this is used to indicate media, ink, and
 toner conditions on a printer.
-
 .TP 5
 WARNING: message
 .br
 Sets the printer-state-message attribute and adds the specified
 message to the current \fIErrorLog\fR using the "warning" log level.
-
 .SH ENVIRONMENT VARIABLES
 The following environment variables are defined by the CUPS
 server when executing the filter:
-
 .TP 5
 CHARSET
 .br
 The default text character set, typically utf-8.
-
 .TP 5
 CLASS
 .br
 When a job is submitted to a printer class, contains the name of
 the destination printer class. Otherwise this environment
 variable will not be set.
-
 .TP 5
 CONTENT_TYPE
 .br
 The MIME type associated with the file (e.g.
 application/postscript).
-
 .TP 5
 CUPS_CACHEDIR
 .br
 The directory for semi-persistent cache files can be found.
-
 .TP 5
 CUPS_DATADIR
 .br
 The directory where data files can be found.
-
 .TP 5
 CUPS_FILETYPE
 .br
 The type of file being printed: "job-sheet" for a banner page and "document"
 for a regular print file.
-
+.TP 5
+CUPS_MAX_MESSAGE
+.br
+The maximum size of a message sent to stderr, including any leading prefix and
+the trailing newline.
 .TP 5
 CUPS_SERVERROOT
 .br
 The root directory of the server.
-
 .TP 5
 DEVICE_URI
 .br
 The device-uri associated with the printer.
-
 .TP 5
 FINAL_CONTENT_TYPE
 .br
 The MIME type associated with the printer (e.g.
 application/vnd.cups-postscript).
-
 .TP 5
 LANG
 .br
 The default language locale (typically C or en).
-
 .TP 5
 PATH
 .br
 The standard execution path for external programs that may be run by
 the filter.
-
 .TP 5
 PPD
 .br
 The full pathname of the PostScript Printer Description (PPD)
 file for this printer.
-
 .TP 5
 PRINTER
 .br
 The name of the printer.
-
 .TP 5
 RIP_CACHE
 .br
 The recommended amount of memory to use for Raster Image
 Processors (RIPs).
-
 .TP 5
 SOFTWARE
 .br
 The name and version number of the server (typically CUPS/1.2).
-
 .TP 5
 TZ
 .br
 The timezone of the server.
-
 .TP 5
 USER
 .br
 The user executing the filter, typically "lp" or "root"; consult the
 \fIcupsd.conf(5)\fR file for the current setting.
-
 .SH COMPATIBILITY
 While the filter interface is compatible with System V interface
 scripts, it will only work with the System V interface script as the
 only filter.  Typically the interface script will be provided via the
 \fIlpadmin(8)\fR command using the \fI-i\fR option.
 .SH SEE ALSO
-\fIbackend(7)\fR, \fIcupsd(8)\fR,
+\fIbackend(7)\fR, \fIcupsd(8)\fR, \fIcupsfilter(8)\fR,
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2013 by Apple Inc.
 .\"
-.\" End of "$Id: filter.man 9771 2011-05-12 05:21:56Z mike $".
+.\" End of "$Id: filter.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index 6cf8450..16b1276 100644 (file)
@@ -1,9 +1,9 @@
 .\"
-.\" "$Id: ipptool.man 9354 2010-11-10 06:48:19Z mike $"
+.\" "$Id$"
 .\"
 .\"   ipptool man page for CUPS.
 .\"
-.\"   Copyright 2010 by Apple Inc.
+.\"   Copyright 2010-2013 by Apple Inc.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
 .\"   property of Apple Inc. and are protected by Federal copyright
@@ -108,12 +108,25 @@ Send email notifications to "user@example.com" when "myprinter" changes:
 .SH STANDARD FILES
 The following standard files are available:
 .nf
+    color.jpg
     create-printer-subscription.test
+    document-a4.pdf
+    document-a4.ps
+    document-letter.pdf
+    document-letter.ps
     get-completed-jobs.test
     get-jobs.test
+    get-printer-attributes.test
+    gray.jpg
     ipp-1.1.test
     ipp-2.0.test
     ipp-2.1.test
+    ipp-2.2.test
+    onepage-a4.pdf
+    onepage-a4.ps
+    onepage-letter.pdf
+    onepage-letter.ps
+    print-job.test
     testfile.jpg
     testfile.pdf
     testfile.ps
@@ -124,7 +137,7 @@ The following standard files are available:
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2010 by Apple Inc.
+Copyright 2007-2013 by Apple Inc.
 .\"
-.\" End of "$Id: ipptool.man 9354 2010-11-10 06:48:19Z mike $".
+.\" End of "$Id$".
 .\"
index 8a5d58e..a82e739 100644 (file)
@@ -1,9 +1,9 @@
 .\"
-.\" "$Id: ipptoolfile.man 10023 2011-09-28 16:21:15Z mike $"
+.\" "$Id$"
 .\"
 .\"   ipptoolfile man page for CUPS.
 .\"
-.\"   Copyright 2010-2011 by Apple Inc.
+.\"   Copyright 2010-2013 by Apple Inc.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
 .\"   property of Apple Inc. and are protected by Federal copyright
 .\"   which should have been included with this file.  If this file is
 .\"   file is missing or damaged, see the license at "http://www.cups.org/".
 .\"
-.TH ipptoolfile 5 "CUPS" "28 September 2011" "Apple Inc."
+.TH ipptoolfile 5 "CUPS" "10 January 2013" "Apple Inc."
 .SH NAME
 ipptoolfile \- ipptool file format
 
 .SH DESCRIPTION
-The \fIipptool(1)\fR program accepts free-form plain text files that describe one or more IPP requests. Comments start with the "#" character and continue to the end of the line. Each request is enclosed by curley braces, for example:
+The \fIipptool(1)\fR program accepts free-form plain text files that describe one or more IPP requests. Comments start with the "#" character and continue to the end of the line. Each request is enclosed by curly braces, for example:
 .nf
 
     # This is a comment
@@ -266,6 +266,10 @@ Requires the EXPECT attribute to be in the specified group tag.
 OF-TYPE tag[,tag,...]
 Requires the EXPECT attribute to use the specified value tag(s).
 .TP 5
+REPEAT-LIMIT number
+.br
+Specifies the maximum number of times to repeat. The default value is 1000.
+.TP 5
 REPEAT-MATCH
 .TP 5
 REPEAT-NO-MATCH
@@ -276,24 +280,65 @@ SAME-COUNT-AS attribute-name
 Requires the EXPECT attribute to have the same number of values as the specified
 parallel attribute.
 .TP 5
+WITH-ALL-VALUES "literal string"
+Requires that all values of the EXPECT attribute match the literal string. Comparisons are case-sensitive.
+.TP 5
+WITH-ALL-VALUES <number
+.TP 5
+WITH-ALL-VALUES =number
+.TP 5
+WITH-ALL-VALUES >number
+.TP 5
+WITH-ALL-VALUES number[,number,...]
+Requires that all values of the EXPECT attribute match the number(s) or numeric comparison. When comparing rangeOfInteger values, the "<" and ">" operators only check the upper bound of the range.
+.TP 5
+WITH-ALL-VALUES "false"
+.TP 5
+WITH-ALL-VALUES "true"
+Requires that all values of the EXPECT attribute match the boolean value given.
+.TP 5
+WITH-ALL-VALUES "/regular expression/"
+Requires that all values of the EXPECT attribute match the regular expression, which must conform to the POSIX regular expression syntax. Comparisons are case-sensitive.
+.TP 5
 WITH-VALUE "literal string"
-Requires at least one value of the EXPECT attribute to match the literal string.
-Comparisons are case-sensitive.
+Requires that at least one value of the EXPECT attribute matches the literal string. Comparisons are case-sensitive.
+.TP 5
+WITH-VALUE <number
+.TP 5
+WITH-VALUE =number
+.TP 5
+WITH-VALUE >number
+.TP 5
+WITH-VALUE number[,number,...]
+Requires that at least one value of the EXPECT attribute matches the number(s) or numeric comparison. When comparing rangeOfInteger values, the "<" and ">" operators only check the upper bound of the range.
+.TP 5
+WITH-VALUE "false"
+.TP 5
+WITH-VALUE "true"
+Requires that at least one value of the EXPECT attribute matches the boolean value given.
 .TP 5
 WITH-VALUE "/regular expression/"
-Requires that all values of the EXPECT attribute match the regular expression,
-which must conform to the POSIX regular expression syntax.
-Comparisons are case-sensitive.
+Requires that at least one value of the EXPECT attribute matches the regular expression, which must conform to the POSIX regular expression syntax. Comparisons are case-sensitive.
 
 .SH STATUS PREDICATES
 The following predicates are understood following the STATUS test directive:
 .TP 5
+DEFINE-MATCH variable-name
+Defines the variable to "1" when the STATUS matches. A side-effect of this predicate is that this STATUS will never fail a test.
+.TP 5
+DEFINE-NO-MATCH variable-name
+Defines the variable to "1" when the STATUS does not match. A side-effect of this predicate is that this STATUS will never fail a test.
+.TP 5
 IF-DEFINED variable-name
 Makes the STATUS apply only if the specified variable is defined.
 .TP 5
 IF-NOT-DEFINED variable-name
 Makes the STATUS apply only if the specified variable is not defined.
 .TP 5
+REPEAT-LIMIT number
+.br
+Specifies the maximum number of times to repeat. The default value is 1000.
+.TP 5
 REPEAT-MATCH
 .TP 5
 REPEAT-NO-MATCH
@@ -343,6 +388,7 @@ RFC 2911 and other IPP extension specifications. Here is a complete list:
     Get-Subscriptions
     Hold-Job
     Hold-New-Jobs
+    Identify-Printer
     Pause-Printer
     Pause-Printer-After-Current-Job
     Print-Job
@@ -367,6 +413,7 @@ RFC 2911 and other IPP extension specifications. Here is a complete list:
     Shutdown-Printer
     Startup-Printer
     Suspend-Current-Job
+    Validate-Document
     Validate-Job
 .fi
 
@@ -384,6 +431,10 @@ Status codes correspond to the hexadecimal numbers (0xHHHH) and names from RFC
     client-error-document-access-error
     client-error-document-format-error
     client-error-document-format-not-supported
+    client-error-document-password-error
+    client-error-document-permission-error
+    client-error-document-security-error
+    client-error-document-unprintable-error
     client-error-forbidden
     client-error-gone
     client-error-ignored-all-notifications
@@ -493,7 +544,7 @@ $scheme
 Inserts the scheme from the URI provided to \fIipptool\fR.
 .TP 5
 $notify-subscription-id
-Inserts the last notify-subscription-id value returnd in a test response or 0 if
+Inserts the last notify-subscription-id value returned in a test response or 0 if
 no notify-subscription-id has been seen.
 .TP 5
 $port
@@ -517,7 +568,7 @@ Inserts the username from the URI provided to \fIipptool\fR, if any.
 http://localhost:631/help
 
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2013 by Apple Inc.
 .\"
-.\" End of "$Id: ipptoolfile.man 10023 2011-09-28 16:21:15Z mike $".
+.\" End of "$Id$".
 .\"
index b4ebea9..9846624 100644 (file)
@@ -1,9 +1,9 @@
 .\"
-.\" "$Id: lp.man 10042 2011-10-03 17:32:43Z mike $"
+.\" "$Id: lp.man 7889 2008-08-29 22:03:35Z mike $"
 .\"
 .\"   lp man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2013 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -12,7 +12,7 @@
 .\"   which should have been included with this file.  If this file is
 .\"   file is missing or damaged, see the license at "http://www.cups.org/".
 .\"
-.TH lp 1 "CUPS" "3 October 2011" "Apple Inc."
+.TH lp 1 "CUPS" "16 July 2012" "Apple Inc."
 .SH NAME
 lp - print files
 .SH SYNOPSIS
@@ -179,7 +179,7 @@ Prints on one or two sides of the paper. The value
 (unrotated) pages, while "two-sided-short-edge" is used for
 landscape pages.
 .TP 5
--o fitplot
+-o fit-to-page
 .br
 Scales the print file to fit on the page.
 .TP 5
@@ -195,12 +195,6 @@ Scales the print file to fit on the page.
 .br
 Prints multiple document pages on each output page.
 .TP 5
--o scaling=number
-.br
-Scales image files to use up to \fInumber\fR percent of the page.
-Values greater than 100 cause the image file to be printed across
-multiple pages.
-.TP 5
 -o cpi=N
 .br
 Sets the number of characters per inch to use when printing a
@@ -252,7 +246,7 @@ is highest priority).
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2013 by Apple Inc.
 .\"
-.\" End of "$Id: lp.man 10042 2011-10-03 17:32:43Z mike $".
+.\" End of "$Id: lp.man 7889 2008-08-29 22:03:35Z mike $".
 .\"
index c388f03..0ec81b0 100644 (file)
@@ -1,9 +1,9 @@
 .\"
-.\" "$Id: lpadmin.man 9762 2011-05-11 05:30:50Z mike $"
+.\" "$Id: lpadmin.man 7600 2008-05-20 21:06:23Z mike $"
 .\"
 .\"   lpadmin man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2013 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -12,7 +12,7 @@
 .\"   which should have been included with this file.  If this file is
 .\"   file is missing or damaged, see the license at "http://www.cups.org/".
 .\"
-.TH lpadmin 8 "CUPS" "10 May 2011" "Apple Inc."
+.TH lpadmin 8 "CUPS" "16 July 2012" "Apple Inc."
 .SH NAME
 lpadmin \- configure cups printers and classes
 .SH SYNOPSIS
@@ -182,10 +182,9 @@ user-level access control off.
 .TP 5
 -v "device-uri"
 .br
-Sets the \fIdevice-uri\fR attribute of the printer queue.  If
-\fIdevice-uri\fR is a filename it is automatically converted to
-the form \fIfile:///file/name\fR. Use the \fI-v\fR option with the
-\fIlpinfo(8)\fR command to get a list of supported device URIs and schemes.
+Sets the \fIdevice-uri\fR attribute of the printer queue. Use the \fI-v\fR
+option with the \fIlpinfo(8)\fR command to get a list of supported device URIs
+and schemes.
 .TP 5
 -D "info"
 .br
@@ -222,7 +221,7 @@ System V or Solaris printing system configuration options.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2013 by Apple Inc.
 .\"
-.\" End of "$Id: lpadmin.man 9762 2011-05-11 05:30:50Z mike $".
+.\" End of "$Id: lpadmin.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index 8e5c710..8d5245c 100644 (file)
@@ -1,9 +1,9 @@
 .\"
-.\" "$Id: lpc.man 9771 2011-05-12 05:21:56Z mike $"
+.\" "$Id: lpc.man 7600 2008-05-20 21:06:23Z mike $"
 .\"
 .\"   lpc man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2013 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -65,7 +65,7 @@ standard Berkeley or LPRng commands.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2013 by Apple Inc.
 .\"
-.\" End of "$Id: lpc.man 9771 2011-05-12 05:21:56Z mike $".
+.\" End of "$Id: lpc.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index 42bda48..e45a7f3 100644 (file)
@@ -1,9 +1,9 @@
 .\"
-.\" "$Id: lpinfo.man 9771 2011-05-12 05:21:56Z mike $"
+.\" "$Id: lpinfo.man 7600 2008-05-20 21:06:23Z mike $"
 .\"
 .\"   lpinfo man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2013 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -109,7 +109,7 @@ The \fIlpinfo\fR command is unique to CUPS.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2013 by Apple Inc.
 .\"
-.\" End of "$Id: lpinfo.man 9771 2011-05-12 05:21:56Z mike $".
+.\" End of "$Id: lpinfo.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index b5688f4..23ea098 100644 (file)
@@ -1,9 +1,9 @@
 .\"
-.\" "$Id: lpmove.man 9771 2011-05-12 05:21:56Z mike $"
+.\" "$Id: lpmove.man 7600 2008-05-20 21:06:23Z mike $"
 .\"
 .\"   lpmove man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2013 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -60,7 +60,7 @@ Specifies an alternate server.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2013 by Apple Inc.
 .\"
-.\" End of "$Id: lpmove.man 9771 2011-05-12 05:21:56Z mike $".
+.\" End of "$Id: lpmove.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index 7e5f07e..343d20d 100644 (file)
@@ -1,9 +1,9 @@
 .\"
-.\" "$Id: lpoptions.man.in 9771 2011-05-12 05:21:56Z mike $"
+.\" "$Id: lpoptions.man.in 11173 2013-07-23 12:31:34Z msweet $"
 .\"
 .\"   lpoptions man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2013 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -129,7 +129,7 @@ created by the root user.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2013 by Apple Inc.
 .\"
-.\" End of "$Id: lpoptions.man.in 9771 2011-05-12 05:21:56Z mike $".
+.\" End of "$Id: lpoptions.man.in 11173 2013-07-23 12:31:34Z msweet $".
 .\"
index 87ade67..1edb0d8 100644 (file)
@@ -1,9 +1,9 @@
 .\"
-.\" "$Id: lppasswd.man 9771 2011-05-12 05:21:56Z mike $"
+.\" "$Id: lppasswd.man 7600 2008-05-20 21:06:23Z mike $"
 .\"
 .\"   lpadmin man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2013 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -62,7 +62,7 @@ accounts managed by PAM instead.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2013 by Apple Inc.
 .\"
-.\" End of "$Id: lppasswd.man 9771 2011-05-12 05:21:56Z mike $".
+.\" End of "$Id: lppasswd.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index 502d45a..97630e9 100644 (file)
@@ -1,9 +1,9 @@
 .\"
-.\" "$Id: lpq.man 9771 2011-05-12 05:21:56Z mike $"
+.\" "$Id: lpq.man 7646 2008-06-16 17:26:20Z mike $"
 .\"
 .\"   lpq man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2013 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -66,7 +66,7 @@ Requests a more verbose (long) reporting format.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2013 by Apple Inc.
 .\"
-.\" End of "$Id: lpq.man 9771 2011-05-12 05:21:56Z mike $".
+.\" End of "$Id: lpq.man 7646 2008-06-16 17:26:20Z mike $".
 .\"
index b60a265..c6392c7 100644 (file)
@@ -1,9 +1,9 @@
 .\"
-.\" "$Id: lpr.man 9771 2011-05-12 05:21:56Z mike $"
+.\" "$Id: lpr.man 7889 2008-08-29 22:03:35Z mike $"
 .\"
 .\"   lpr man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2013 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -116,7 +116,7 @@ are not supported by CUPS and produce a warning message if used.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2013 by Apple Inc.
 .\"
-.\" End of "$Id: lpr.man 9771 2011-05-12 05:21:56Z mike $".
+.\" End of "$Id: lpr.man 7889 2008-08-29 22:03:35Z mike $".
 .\"
index d64ac03..3d3f30f 100644 (file)
@@ -1,9 +1,9 @@
 .\"
-.\" "$Id: lprm.man 9771 2011-05-12 05:21:56Z mike $"
+.\" "$Id: lprm.man 7600 2008-05-20 21:06:23Z mike $"
 .\"
 .\"   lprm man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2013 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -59,7 +59,7 @@ Berkeley \fIlprm\fR command.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2013 by Apple Inc.
 .\"
-.\" End of "$Id: lprm.man 9771 2011-05-12 05:21:56Z mike $".
+.\" End of "$Id: lprm.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index c51c44a..37c39d7 100644 (file)
@@ -1,9 +1,9 @@
 .\"
-.\" "$Id: lpstat.man 9771 2011-05-12 05:21:56Z mike $"
+.\" "$Id: lpstat.man 7921 2008-09-10 15:42:24Z mike $"
 .\"
 .\"   lpstat man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2013 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -137,7 +137,7 @@ The Solaris "-f", "-P", and "-S" options are silently ignored.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2013 by Apple Inc.
 .\"
-.\" End of "$Id: lpstat.man 9771 2011-05-12 05:21:56Z mike $".
+.\" End of "$Id: lpstat.man 7921 2008-09-10 15:42:24Z mike $".
 .\"
index 7f9e30d..aa60386 100644 (file)
@@ -1,9 +1,9 @@
 .\"
-.\" "$Id: mailto.conf.man 9771 2011-05-12 05:21:56Z mike $"
+.\" "$Id: mailto.conf.man 7600 2008-05-20 21:06:23Z mike $"
 .\"
 .\"   mailto.conf man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2013 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -54,7 +54,7 @@ Specifies a prefix string for the subject line of an email notification.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2013 by Apple Inc.
 .\"
-.\" End of "$Id: mailto.conf.man 9771 2011-05-12 05:21:56Z mike $".
+.\" End of "$Id: mailto.conf.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index d9b0acb..8974d20 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: mantohtml.c 9226 2010-08-06 12:15:50Z mike $"
+ * "$Id: mantohtml.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Man page to HTML conversion program.
  *
@@ -716,5 +716,5 @@ strmove(char       *d,                      /* I - Destination */
 
 
 /*
- * End of "$Id: mantohtml.c 9226 2010-08-06 12:15:50Z mike $".
+ * End of "$Id: mantohtml.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index d55cad4..311353a 100644 (file)
@@ -1,9 +1,9 @@
 .\"
-.\" "$Id: mime.convs.man 9771 2011-05-12 05:21:56Z mike $"
+.\" "$Id: mime.convs.man 7600 2008-05-20 21:06:23Z mike $"
 .\"
 .\"   mime.convs man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2013 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -40,7 +40,7 @@ application/postscript application/vnd.cups-raster 50 pstoraster
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2013 by Apple Inc.
 .\"
-.\" End of "$Id: mime.convs.man 9771 2011-05-12 05:21:56Z mike $".
+.\" End of "$Id: mime.convs.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index 9c69566..bf1dd9b 100644 (file)
@@ -1,9 +1,9 @@
 .\"
-.\" "$Id: mime.types.man 9771 2011-05-12 05:21:56Z mike $"
+.\" "$Id: mime.types.man 7670 2008-06-17 22:42:08Z mike $"
 .\"
 .\"   mime.types man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2013 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -109,7 +109,7 @@ higher priority than "text/bar", "text/foo" will be chosen instead.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2013 by Apple Inc.
 .\"
-.\" End of "$Id: mime.types.man 9771 2011-05-12 05:21:56Z mike $".
+.\" End of "$Id: mime.types.man 7670 2008-06-17 22:42:08Z mike $".
 .\"
index 498dfd5..4112878 100644 (file)
@@ -1,9 +1,9 @@
 .\"
-.\" "$Id: notifier.man 8999 2010-02-24 01:01:04Z mike $"
+.\" "$Id$"
 .\"
 .\"   notifier man page for CUPS.
 .\"
-.\"   Copyright 2007-2009 by Apple Inc.
+.\"   Copyright 2007-2013 by Apple Inc.
 .\"   Copyright 1997-2007 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -151,7 +151,7 @@ file for the current setting.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2009 by Apple Inc.
+Copyright 2007-2013 by Apple Inc.
 .\"
-.\" End of "$Id: notifier.man 8999 2010-02-24 01:01:04Z mike $".
+.\" End of "$Id$".
 .\"
index b613d42..933e7d1 100644 (file)
@@ -1,9 +1,9 @@
 .\"
-.\" "$Id: ppdc.man 9771 2011-05-12 05:21:56Z mike $"
+.\" "$Id: ppdc.man 7600 2008-05-20 21:06:23Z mike $"
 .\"
 .\"   ppdc man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2013 by Apple Inc.
 .\"   Copyright 1997-2007 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -12,7 +12,7 @@
 .\"   which should have been included with this file.  If this file is
 .\"   file is missing or damaged, see the license at "http://www.cups.org/".
 .\"
-.TH ppdc 1 "CUPS" "10 October 2008" "Apple Inc."
+.TH ppdc 1 "CUPS" "15 February 2012" "Apple Inc."
 .SH NAME
 ppdc \- cups ppd compiler
 .SH SYNOPSIS
@@ -31,7 +31,8 @@ ppdc \- cups ppd compiler
 .I source-file
 .SH DESCRIPTION
 \fIppdc\fR compiles PPDC source files into one or more PPD
-files.
+files. \fBThis program is deprecated and will be removed in a future release of
+CUPS.\fR
 .PP
 The \fI-D\fR option sets the named variable for use in the
 source file. It is equivalent to using the #define directive
@@ -74,7 +75,7 @@ ppdhtml(1), ppdi(1), ppdmerge(1), ppdpo(1), ppdcfile(5)
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2013 by Apple Inc.
 .\"
-.\" End of "$Id: ppdc.man 9771 2011-05-12 05:21:56Z mike $".
+.\" End of "$Id: ppdc.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index fbd6358..a7a56a8 100644 (file)
@@ -1,9 +1,9 @@
 .\"
-.\" "$Id: ppdcfile.man 9771 2011-05-12 05:21:56Z mike $"
+.\" "$Id: ppdcfile.man 7607 2008-05-21 01:06:23Z mike $"
 .\"
 .\"   ppdcfile man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2013 by Apple Inc.
 .\"   Copyright 1997-2007 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
 .\"   which should have been included with this file.  If this file is
 .\"   file is missing or damaged, see the license at "http://www.cups.org/".
 .\"
-.TH ppdcfile 5 "CUPS" "20 May 2008" "Apple Inc."
+.TH ppdcfile 5 "CUPS" "3 December 2012" "Apple Inc."
 .SH NAME
 ppdcfile \- cups ppd compiler source file format
 .SH DESCRIPTION
 The CUPS PPD compiler reads meta files that contain descriptions
 of one or more PPD files to be generated by \fIppdc\fR. This man
 page provides a quick reference to the supported keywords and
-should be used in conjuction with the Common UNIX Printing System
-Developers Manual.
+should be used in conjunction with the online help for CUPS.
 .PP
 The source file format is plain ASCII text that can be edited
 using your favorite text editor. Comments are supported using
 the C (/* ... */) and C++ (// ...) comment mechanisms.
 .PP
 Printer driver information can be grouped and shared using
-curley braces ({ ... }); PPD files are written when a close
+curly braces ({ ... }); PPD files are written when a close
 brace or end-of-file is seen and a PCFileName directive has been
 defined.
 .PP
@@ -165,7 +164,7 @@ ppdc(1), ppdhtml(1), ppdi(1), ppdmerge(1), ppdpo(1)
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2013 by Apple Inc.
 .\"
-.\" End of "$Id: ppdcfile.man 9771 2011-05-12 05:21:56Z mike $".
+.\" End of "$Id: ppdcfile.man 7607 2008-05-21 01:06:23Z mike $".
 .\"
index bebf4e1..78df7d3 100644 (file)
@@ -1,9 +1,9 @@
 .\"
-.\" "$Id: ppdhtml.man 9771 2011-05-12 05:21:56Z mike $"
+.\" "$Id: ppdhtml.man 7600 2008-05-20 21:06:23Z mike $"
 .\"
 .\"   ppdhtml man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2013 by Apple Inc.
 .\"   Copyright 1997-2007 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -40,7 +40,7 @@ ppdc(1), ppdcfile(5), ppdi(1), ppdmerge(1), ppdpo(1)
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2013 by Apple Inc.
 .\"
-.\" End of "$Id: ppdhtml.man 9771 2011-05-12 05:21:56Z mike $".
+.\" End of "$Id: ppdhtml.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index 610d91c..38658e0 100644 (file)
@@ -1,9 +1,9 @@
 .\"
-.\" "$Id: ppdi.man 9771 2011-05-12 05:21:56Z mike $"
+.\" "$Id: ppdi.man 7600 2008-05-20 21:06:23Z mike $"
 .\"
 .\"   ppdi man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2013 by Apple Inc.
 .\"   Copyright 1997-2007 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -40,7 +40,7 @@ ppdc(1), ppdhtml(1), ppdmerge(1), ppdpo(1), ppdcfile(5)
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2013 by Apple Inc.
 .\"
-.\" End of "$Id: ppdi.man 9771 2011-05-12 05:21:56Z mike $".
+.\" End of "$Id: ppdi.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index 90fee82..397314e 100644 (file)
@@ -1,9 +1,9 @@
 .\"
-.\" "$Id: ppdmerge.man 9771 2011-05-12 05:21:56Z mike $"
+.\" "$Id: ppdmerge.man 7600 2008-05-20 21:06:23Z mike $"
 .\"
 .\"   ppdmerge man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2013 by Apple Inc.
 .\"   Copyright 1997-2007 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -41,7 +41,7 @@ cupsprofile(1), ppdc(1), ppdhtml(1), ppdi(1), ppdpo(1), ppdcfile(5)
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2013 by Apple Inc.
 .\"
-.\" End of "$Id: ppdmerge.man 9771 2011-05-12 05:21:56Z mike $".
+.\" End of "$Id: ppdmerge.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index a3f9ac9..c6378bc 100644 (file)
@@ -1,9 +1,9 @@
 .\"
-.\" "$Id: ppdpo.man 9771 2011-05-12 05:21:56Z mike $"
+.\" "$Id: ppdpo.man 7600 2008-05-20 21:06:23Z mike $"
 .\"
 .\"   ppdpo man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2013 by Apple Inc.
 .\"   Copyright 1997-2007 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -12,7 +12,7 @@
 .\"   which should have been included with this file.  If this file is
 .\"   file is missing or damaged, see the license at "http://www.cups.org/".
 .\"
-.TH ppdpo 1 "CUPS" "10 October 2008" "Apple Inc."
+.TH ppdpo 1 "CUPS" "23 April 2012" "Apple Inc."
 .SH NAME
 ppdpo \- ppd message catalog generator
 .SH SYNOPSIS
@@ -27,7 +27,7 @@ ppdpo \- ppd message catalog generator
 .I source-file
 .SH DESCRIPTION
 \fIppdpo\fR extracts UI strings from PPDC source files and updates either
-a GNU gettext or Mac OS X strings format message catalog source file for
+a GNU gettext or OS X strings format message catalog source file for
 translation.
 .PP
 The \fI-D\fR option sets the named variable for use in the
@@ -40,13 +40,13 @@ directories.
 .PP
 The \fI-o\fR option specifies the output file. The supported extensions are
 ".po" or ".po.gz" for GNU gettext format message catalogs and ".strings" for
-Mac OS X strings files.
+OS X strings files.
 .SH SEE ALSO
 ppdc(1), ppdhtml(1), ppdi(1), ppdmerge(1), ppdcfile(5)
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2013 by Apple Inc.
 .\"
-.\" End of "$Id: ppdpo.man 9771 2011-05-12 05:21:56Z mike $".
+.\" End of "$Id: ppdpo.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index abda49b..6d8609f 100644 (file)
@@ -1,9 +1,9 @@
 .\"
-.\" "$Id: printers.conf.man 9771 2011-05-12 05:21:56Z mike $"
+.\" "$Id: printers.conf.man 7600 2008-05-20 21:06:23Z mike $"
 .\"
 .\"   printers.conf man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2013 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -118,7 +118,7 @@ Specifies the date/time associated with the state.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2013 by Apple Inc.
 .\"
-.\" End of "$Id: printers.conf.man 9771 2011-05-12 05:21:56Z mike $".
+.\" End of "$Id: printers.conf.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index 4ff851c..5531c6a 100644 (file)
@@ -1,9 +1,9 @@
 .\"
-.\" "$Id: subscriptions.conf.man 9771 2011-05-12 05:21:56Z mike $"
+.\" "$Id: subscriptions.conf.man 7600 2008-05-20 21:06:23Z mike $"
 .\"
 .\"   subscriptions.conf man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2013 by Apple Inc.
 .\"   Copyright 2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -83,7 +83,7 @@ is typically the "from" address in mailto: notifications.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2013 by Apple Inc.
 .\"
-.\" End of "$Id: subscriptions.conf.man 9771 2011-05-12 05:21:56Z mike $".
+.\" End of "$Id: subscriptions.conf.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index 451a95a..54d05e7 100644 (file)
@@ -1,18 +1,13 @@
-# DO NOT DELETE THIS LINE -- make depend depends on it.
-
-bcp.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-bcp.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-bcp.o: ../cups/language.h ../cups/string-private.h ../config.h
-bcp.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
-bcp.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-bcp.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-bcp.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-bcp.o: ../cups/transcode.h ../cups/thread-private.h
-tbcp.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-tbcp.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-tbcp.o: ../cups/language.h ../cups/string-private.h ../config.h
-tbcp.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
-tbcp.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-tbcp.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-tbcp.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-tbcp.o: ../cups/transcode.h ../cups/thread-private.h
+bcp.o: bcp.c ../cups/cups-private.h ../cups/string-private.h ../config.h \
+  ../cups/debug-private.h ../cups/versioning.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+tbcp.o: tbcp.c ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
index dcb1ed0..c512db0 100644 (file)
@@ -1,9 +1,9 @@
 #
-# "$Id: Makefile 9771 2011-05-12 05:21:56Z mike $"
+# "$Id: Makefile 11173 2013-07-23 12:31:34Z msweet $"
 #
 #   Port monitor makefile for CUPS.
 #
-#   Copyright 2007-2011 by Apple Inc.
+#   Copyright 2007-2012 by Apple Inc.
 #   Copyright 2006 by Easy Software Products.
 #
 #   These coded instructions, statements, and computer programs are the
@@ -56,7 +56,7 @@ clean:
 #
 
 depend:
-       makedepend -Y -I.. -fDependencies $(OBJS:.o=.c) >/dev/null 2>&1
+       $(CC) -MM $(ALL_CFLAGS) $(OBJS:.o=.c) >Dependencies
 
 
 #
@@ -142,5 +142,5 @@ include Dependencies
 
 
 #
-# End of "$Id: Makefile 9771 2011-05-12 05:21:56Z mike $".
+# End of "$Id: Makefile 11173 2013-07-23 12:31:34Z msweet $".
 #
index e3b59d5..103c92e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: bcp.c 9901 2011-08-17 21:01:53Z mike $"
+ * "$Id: bcp.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   TBCP port monitor for CUPS.
  *
@@ -288,5 +288,5 @@ pswrite(const char *buf,            /* I - Buffer to write */
 
 
 /*
- * End of "$Id: bcp.c 9901 2011-08-17 21:01:53Z mike $".
+ * End of "$Id: bcp.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 481121d..a65aaec 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: tbcp.c 9384 2010-11-22 07:06:39Z mike $"
+ * "$Id: tbcp.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   TBCP port monitor for CUPS.
  *
@@ -281,5 +281,5 @@ pswrite(const char *buf,            /* I - Buffer to write */
 
 
 /*
- * End of "$Id: tbcp.c 9384 2010-11-22 07:06:39Z mike $".
+ * End of "$Id: tbcp.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 9e72321..f5a26a4 100644 (file)
@@ -1,25 +1,20 @@
-# DO NOT DELETE THIS LINE -- make depend depends on it.
-
-dbus.o: ../cups/cups.h ../cups/file.h ../cups/versioning.h ../cups/ipp.h
-dbus.o: ../cups/http.h ../cups/array.h ../cups/language.h
-dbus.o: ../cups/string-private.h ../config.h
-mailto.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-mailto.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-mailto.o: ../cups/language.h ../cups/string-private.h ../config.h
-mailto.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
-mailto.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-mailto.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-mailto.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-mailto.o: ../cups/transcode.h ../cups/thread-private.h
-rss.o: ../cups/cups.h ../cups/file.h ../cups/versioning.h ../cups/ipp.h
-rss.o: ../cups/http.h ../cups/array.h ../cups/language.h ../cups/language.h
-rss.o: ../cups/string-private.h ../config.h ../cups/array.h
-testnotify.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-testnotify.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-testnotify.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
-testnotify.o: ../config.h ../cups/debug-private.h ../cups/versioning.h
-testnotify.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-testnotify.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-testnotify.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-testnotify.o: ../cups/language-private.h ../cups/transcode.h
-testnotify.o: ../cups/thread-private.h
+dbus.o: dbus.c ../cups/cups.h ../cups/file.h ../cups/versioning.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h \
+  ../cups/string-private.h ../config.h
+mailto.o: mailto.c ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+rss.o: rss.c ../cups/cups.h ../cups/file.h ../cups/versioning.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h \
+  ../cups/string-private.h ../config.h ../cups/ipp-private.h
+testnotify.o: testnotify.c ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
index 5fcd1e4..df7a188 100644 (file)
@@ -1,9 +1,9 @@
 #
-# "$Id: Makefile 9771 2011-05-12 05:21:56Z mike $"
+# "$Id: Makefile 11173 2013-07-23 12:31:34Z msweet $"
 #
 #   Notifier makefile for CUPS.
 #
-#   Copyright 2007-2011 by Apple Inc.
+#   Copyright 2007-2012 by Apple Inc.
 #   Copyright 1997-2007 by Easy Software Products, all rights reserved.
 #
 #   These coded instructions, statements, and computer programs are the
@@ -113,7 +113,7 @@ uninstall:
 #
 
 depend:
-       makedepend -Y -I.. -fDependencies $(OBJS:.o=.c) >/dev/null 2>&1
+       $(CC) -MM $(ALL_CFLAGS) $(OBJS:.o=.c) >Dependencies
 
 
 #
@@ -158,5 +158,5 @@ include Dependencies
 
 
 #
-# End of "$Id: Makefile 9771 2011-05-12 05:21:56Z mike $".
+# End of "$Id: Makefile 11173 2013-07-23 12:31:34Z msweet $".
 #
index 13e3840..08449d3 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: dbus.c 10178 2012-01-13 23:00:22Z mike $"
+ * "$Id: dbus.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   D-Bus notifier for CUPS.
  *
 #include <sys/types.h>
 #include <unistd.h>
 
-#include <dbus/dbus.h>
-#ifdef HAVE_DBUS_MESSAGE_ITER_INIT_APPEND
-#  define dbus_message_append_iter_init dbus_message_iter_init_append
-#  define dbus_message_iter_append_string(i,v) dbus_message_iter_append_basic(i, DBUS_TYPE_STRING, v)
-#  define dbus_message_iter_append_uint32(i,v) dbus_message_iter_append_basic(i, DBUS_TYPE_UINT32, v)
-#  define dbus_message_iter_append_boolean(i,v) dbus_message_iter_append_basic(i, DBUS_TYPE_BOOLEAN, v)
-#endif /* HAVE_DBUS_MESSAGE_ITER_INIT_APPEND */
+#ifdef HAVE_DBUS
+#  include <dbus/dbus.h>
+#  ifdef HAVE_DBUS_MESSAGE_ITER_INIT_APPEND
+#    define dbus_message_append_iter_init dbus_message_iter_init_append
+#    define dbus_message_iter_append_string(i,v) dbus_message_iter_append_basic(i, DBUS_TYPE_STRING, v)
+#    define dbus_message_iter_append_uint32(i,v) dbus_message_iter_append_basic(i, DBUS_TYPE_UINT32, v)
+#    define dbus_message_iter_append_boolean(i,v) dbus_message_iter_append_basic(i, DBUS_TYPE_BOOLEAN, v)
+#  endif /* HAVE_DBUS_MESSAGE_ITER_INIT_APPEND */
 
 
 /*
@@ -283,11 +284,11 @@ main(int  argc,                           /* I - Number of command-line args */
       continue;
 
     attr = ippFindAttribute(msg, "notify-subscribed-event",
-                            IPP_TAG_KEYWORD);
+                           IPP_TAG_KEYWORD);
     if (!attr)
       continue;
 
-    event = attr->values[0].string.text;
+    event = ippGetString(attr, 0, NULL);
     if (!strncmp(event, "server-", 7))
     {
       const char *word2 = event + 7;   /* Second word */
@@ -363,9 +364,13 @@ main(int  argc,                            /* I - Number of command-line args */
 
     dbus_message_append_iter_init(message, &iter);
     attr = ippFindAttribute(msg, "notify-text", IPP_TAG_TEXT);
-    if (!attr)
-      goto bail;
-    if (!dbus_message_iter_append_string(&iter, &(attr->values[0].string.text)))
+    if (attr)
+    {
+      const char *val = ippGetString(attr, 0, NULL);
+      if (!dbus_message_iter_append_string(&iter, &val))
+        goto bail;
+    }
+    else
       goto bail;
 
     if (params >= PARAMS_PRINTER)
@@ -379,9 +384,9 @@ main(int  argc,                             /* I - Number of command-line args */
       attr = ippFindAttribute(msg, "notify-printer-uri", IPP_TAG_URI);
       if (attr)
       {
-       if (!dbus_message_iter_append_string(&iter,
-                                            &(attr->values[0].string.text)))
-          goto bail;
+        const char *val = ippGetString(attr, 0, NULL);
+        if (!dbus_message_iter_append_string(&iter, &val))
+         goto bail;
       }
       else
       {
@@ -393,14 +398,14 @@ main(int  argc,                           /* I - Number of command-line args */
       if (have_printer_params)
       {
        attr = ippFindAttribute(msg, "printer-name", IPP_TAG_NAME);
-       if (attr)
-       {
-         if (!dbus_message_iter_append_string(&iter,
-                                              &(attr->values[0].string.text)))
-           goto bail;
-       }
-       else
-         goto bail;
+        if (attr)
+        {
+          const char *val = ippGetString(attr, 0, NULL);
+          if (!dbus_message_iter_append_string(&iter, &val))
+            goto bail;
+        }
+        else
+          goto bail;
       }
       else
        dbus_message_iter_append_string(&iter, &nul);
@@ -410,7 +415,10 @@ main(int  argc,                            /* I - Number of command-line args */
       {
        attr = ippFindAttribute(msg, "printer-state", IPP_TAG_ENUM);
        if (attr)
-         dbus_message_iter_append_uint32(&iter, &(attr->values[0].integer));
+       {
+         dbus_uint32_t val = ippGetInteger(attr, 0);
+         dbus_message_iter_append_uint32(&iter, &val);
+       }
        else
          goto bail;
       }
@@ -424,19 +432,20 @@ main(int  argc,                           /* I - Number of command-line args */
                                IPP_TAG_KEYWORD);
        if (attr)
        {
-         for (reasons_length = 0, i = 0; i < attr->num_values; i++)
+         int num_values = ippGetCount(attr);
+         for (reasons_length = 0, i = 0; i < num_values; i++)
            /* All need commas except the last, which needs a nul byte. */
-           reasons_length += 1 + strlen(attr->values[i].string.text);
+           reasons_length += 1 + strlen(ippGetString(attr, i, NULL));
          printer_reasons = malloc(reasons_length);
          if (!printer_reasons)
            goto bail;
          p = printer_reasons;
-         for (i = 0; i < attr->num_values; i++)
+         for (i = 0; i < num_values; i++)
          {
            if (i)
              *p++ = ',';
 
-           strcpy(p, attr->values[i].string.text);
+           strcpy(p, ippGetString(attr, i, NULL));
            p += strlen(p);
          }
          if (!dbus_message_iter_append_string(&iter, &printer_reasons))
@@ -454,7 +463,10 @@ main(int  argc,                            /* I - Number of command-line args */
        attr = ippFindAttribute(msg, "printer-is-accepting-jobs",
                                IPP_TAG_BOOLEAN);
        if (attr)
-         dbus_message_iter_append_boolean(&iter, &(attr->values[0].boolean));
+       {
+         dbus_bool_t val = ippGetBoolean(attr, 0);
+         dbus_message_iter_append_boolean(&iter, &val);
+       }
        else
          goto bail;
       }
@@ -470,33 +482,42 @@ main(int  argc,                           /* I - Number of command-line args */
 
       /* UINT32 job-id */
       attr = ippFindAttribute(msg, "notify-job-id", IPP_TAG_INTEGER);
-      if (!attr)
+      if (attr)
+      {
+        dbus_uint32_t val = ippGetInteger(attr, 0);
+        dbus_message_iter_append_uint32(&iter, &val);
+      }
+      else
        goto bail;
-      dbus_message_iter_append_uint32(&iter, &(attr->values[0].integer));
 
       /* UINT32 job-state */
       attr = ippFindAttribute(msg, "job-state", IPP_TAG_ENUM);
-      if (!attr)
+      if (attr)
+      {
+        dbus_uint32_t val = ippGetInteger(attr, 0);
+        dbus_message_iter_append_uint32(&iter, &val);
+      }
+      else
        goto bail;
-      dbus_message_iter_append_uint32(&iter, &(attr->values[0].integer));
 
       /* STRING job-state-reasons */
       attr = ippFindAttribute(msg, "job-state-reasons", IPP_TAG_KEYWORD);
       if (attr)
       {
-       for (reasons_length = 0, i = 0; i < attr->num_values; i++)
+       int num_values = ippGetCount(attr);
+       for (reasons_length = 0, i = 0; i < num_values; i++)
          /* All need commas except the last, which needs a nul byte. */
-         reasons_length += 1 + strlen(attr->values[i].string.text);
+         reasons_length += 1 + strlen(ippGetString(attr, i, NULL));
        job_reasons = malloc(reasons_length);
        if (!job_reasons)
          goto bail;
        p = job_reasons;
-       for (i = 0; i < attr->num_values; i++)
+       for (i = 0; i < num_values; i++)
        {
          if (i)
            *p++ = ',';
 
-         strcpy(p, attr->values[i].string.text);
+         strcpy(p, ippGetString(attr, i, NULL));
          p += strlen(p);
        }
        if (!dbus_message_iter_append_string(&iter, &job_reasons))
@@ -509,8 +530,8 @@ main(int  argc,                             /* I - Number of command-line args */
       attr = ippFindAttribute(msg, "job-name", IPP_TAG_NAME);
       if (attr)
       {
-        if (!dbus_message_iter_append_string(&iter,
-                                             &(attr->values[0].string.text)))
+        const char *val = ippGetString(attr, 0, NULL);
+        if (!dbus_message_iter_append_string(&iter, &val))
           goto bail;
       }
       else
@@ -519,9 +540,13 @@ main(int  argc,                            /* I - Number of command-line args */
       /* UINT32 job-impressions-completed */
       attr = ippFindAttribute(msg, "job-impressions-completed",
                              IPP_TAG_INTEGER);
-      if (!attr)
+      if (attr)
+      {
+        dbus_uint32_t val = ippGetInteger(attr, 0);
+        dbus_message_iter_append_uint32(&iter, &val);
+      }
+      else
        goto bail;
-      dbus_message_iter_append_uint32(&iter, &(attr->values[0].integer));
     }
 
     dbus_connection_send(con, message, NULL);
@@ -588,8 +613,15 @@ acquire_lock(int    *fd,           /* O - Lock file descriptor */
   else
     return (0);
 }
+#else /* !HAVE_DBUS */
+int
+main(void)
+{
+  return (1);
+}
+#endif /* HAVE_DBUS */
 
 
 /*
- * End of "$Id: dbus.c 10178 2012-01-13 23:00:22Z mike $".
+ * End of "$Id: dbus.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index cebcfbb..fce6aec 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: mailto.c 9793 2011-05-20 03:49:49Z mike $"
+ * "$Id: mailto.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   "mailto" notifier for CUPS.
  *
@@ -632,7 +632,7 @@ print_attributes(ipp_t *ipp,                /* I - IPP request */
       fprintf(stderr, "DEBUG: %*s%s:\n\n", indent - 4, "", ippTagString(group));
     }
 
-    _ippAttrString(attr, buffer, sizeof(buffer));
+    ippAttributeString(attr, buffer, sizeof(buffer));
 
     fprintf(stderr, "DEBUG: %*s%s (%s%s) %s", indent, "", attr->name,
             attr->num_values > 1 ? "1setOf " : "",
@@ -642,5 +642,5 @@ print_attributes(ipp_t *ipp,                /* I - IPP request */
 
 
 /*
- * End of "$Id: mailto.c 9793 2011-05-20 03:49:49Z mike $".
+ * End of "$Id: mailto.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 1897e62..1489847 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: rss.c 10379 2012-03-23 22:16:22Z mike $"
+ * "$Id: rss.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   RSS notifier for CUPS.
  *
- *   Copyright 2007-2010 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -33,6 +33,7 @@
 #include <cups/string-private.h>
 #include <cups/array.h>
 #include <sys/select.h>
+#include <cups/ipp-private.h>  /* TODO: Update so we don't need this */
 
 
 /*
@@ -736,5 +737,5 @@ xml_escape(const char *s)           /* I - String to escape */
 
 
 /*
- * End of "$Id: rss.c 10379 2012-03-23 22:16:22Z mike $".
+ * End of "$Id: rss.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index e8bb8f5..3186b6f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: testnotify.c 9499 2011-01-19 21:38:13Z mike $"
+ * "$Id: testnotify.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Test notifier for CUPS.
  *
@@ -113,7 +113,7 @@ print_attributes(ipp_t *ipp,                /* I - IPP request */
       fprintf(stderr, "DEBUG: %*s%s:\n\n", indent - 4, "", ippTagString(group));
     }
 
-    _ippAttrString(attr, buffer, sizeof(buffer));
+    ippAttributeString(attr, buffer, sizeof(buffer));
 
     fprintf(stderr, "DEBUG: %*s%s (%s%s) %s", indent, "", attr->name,
             attr->num_values > 1 ? "1setOf " : "",
@@ -123,5 +123,5 @@ print_attributes(ipp_t *ipp,                /* I - IPP request */
 
 
 /*
- * End of "$Id: testnotify.c 9499 2011-01-19 21:38:13Z mike $".
+ * End of "$Id: testnotify.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 4e3405c..3458cbb 100755 (executable)
@@ -1,11 +1,11 @@
 #!/bin/sh
 case `uname -r` in
-       # Mac OS X 10.4.x
-       8.*) exit 0;;
+       # OS X 10.7.x
+       11.*) exit 0;;
 
-       # Mac OS X 10.5.x
-       9.*) exit 0;;
+       # OS X 10.8.x
+       12.*) exit 0;;
 
-       # Older Mac OS X...
+       # Older OS X...
        *) exit 97;;
 esac
index e796759..3eb7f41 100644 (file)
@@ -1,5 +1,5 @@
 #
-# "$Id: cups.list.in 10439 2012-04-23 23:49:19Z mike $"
+# "$Id: cups.list.in 11173 2013-07-23 12:31:34Z msweet $"
 #
 #   ESP Package Manager (EPM) file list for CUPS.
 #
@@ -225,9 +225,7 @@ $XINETD=@XINETD@
 $LIB32DIR=@LIB32DIR@
 $LIB64DIR=@LIB64DIR@
 
-$IMGFILTERS=@IMGFILTERS@
 $MDNS=@MDNS@
-$PDFTOPS=@PDFTOPS@
 
 $CUPS_USER=@CUPS_USER@
 $CUPS_GROUP=@CUPS_GROUP@
@@ -243,6 +241,7 @@ $MAN7EXT=@MAN7EXT@
 $MAN8EXT=@MAN8EXT@
 $MAN8DIR=@MAN8DIR@
 
+$LIBZ=@LIBZ@
 $DSOLIBS=@DSOLIBS@
 
 # Make sure the MD5 password file is now owned by CUPS_USER...
@@ -278,12 +277,10 @@ l 0700 root sys $SERVERBIN/backend/ipps ipp
 f 0500 root sys $SERVERBIN/backend/lpd backend/lpd
 %if DNSSD_BACKEND
 f 0500 root sys $SERVERBIN/backend/dnssd backend/dnssd
+%system darwin
 l 0700 root sys $SERVERBIN/backend/mdns dnssd
-%endif
-%system !darwin
-f 0555 root sys $SERVERBIN/backend/parallel backend/parallel
 %system all
-f 0555 root sys $SERVERBIN/backend/serial backend/serial
+%endif
 f 0555 root sys $SERVERBIN/backend/snmp backend/snmp
 f 0555 root sys $SERVERBIN/backend/socket backend/socket
 f 0555 root sys $SERVERBIN/backend/usb backend/usb
@@ -296,30 +293,16 @@ f 0555 root sys $SERVERBIN/cgi-bin/printers.cgi cgi-bin/printers.cgi
 d 0755 root sys $SERVERBIN/daemon -
 f 0555 root sys $SERVERBIN/daemon/cups-deviced scheduler/cups-deviced
 f 0555 root sys $SERVERBIN/daemon/cups-driverd scheduler/cups-driverd
-f 0555 root sys $SERVERBIN/daemon/cups-polld scheduler/cups-polld
 d 0755 root sys $SERVERBIN/driver -
 d 0755 root sys $SERVERBIN/filter -
-f 0555 root sys $SERVERBIN/filter/bannertops filter/bannertops
-f 0555 root sys $SERVERBIN/filter/commandtoespcx driver/commandtoescpx
-f 0555 root sys $SERVERBIN/filter/commandtopclx driver/commandtopclx
 f 0555 root sys $SERVERBIN/filter/commandtops filter/commandtops
 f 0555 root sys $SERVERBIN/filter/gziptoany filter/gziptoany
-%if IMGFILTERS
-f 0555 root sys $SERVERBIN/filter/imagetops filter/imagetops
-f 0555 root sys $SERVERBIN/filter/imagetoraster filter/imagetoraster
-%endif
-%if PDFTOPS
-f 0555 root sys $SERVERBIN/filter/pdftops filter/pdftops
-%endif
 f 0555 root sys $SERVERBIN/filter/pstops filter/pstops
-f 0555 root sys $SERVERBIN/filter/rastertoespcx driver/rastertoescpx
 f 0555 root sys $SERVERBIN/filter/rastertolabel filter/rastertolabel
 l 0755 root sys $SERVERBIN/filter/rastertodymo rastertolabel
 f 0555 root sys $SERVERBIN/filter/rastertoepson filter/rastertoepson
 f 0555 root sys $SERVERBIN/filter/rastertohp filter/rastertohp
-f 0555 root sys $SERVERBIN/filter/rastertopclx driver/rastertopclx
 f 0555 root sys $SERVERBIN/filter/rastertopwg filter/rastertopwg
-f 0555 root sys $SERVERBIN/filter/texttops filter/texttops
 d 0755 root sys $SERVERBIN/notifier -
 f 0555 root sys $SERVERBIN/notifier/mailto notifier/mailto
 
@@ -382,8 +365,6 @@ f 0555 root sys $LIBDIR/libcups.sl.2 cups/libcups.sl.2 nostrip()
 l 0755 root sys $LIBDIR/libcups.sl libcups.sl.2
 f 0555 root sys $LIBDIR/libcupscgi.sl.1 cgi-bin/libcupscgi.sl.1 nostrip()
 l 0755 root sys $LIBDIR/libcupscgi.sl libcupscgi.sl.1
-f 0555 root sys $LIBDIR/libcupsdriver.sl.1 driver/libcupsdriver.sl.1 nostrip()
-l 0755 root sys $LIBDIR/libcupsdriver.sl libcupsdriver.sl.1
 f 0555 root sys $LIBDIR/libcupsimage.sl.2 filter/libcupsimage.sl.2 nostrip()
 l 0755 root sys $LIBDIR/libcupsimage.sl libcupsimage.sl.2
 f 0555 root sys $LIBDIR/libcupsmime.sl.1 scheduler/libcupsmime.sl.1 nostrip()
@@ -393,7 +374,6 @@ l 0755 root sys $LIBDIR/libcupsppdc.sl libcupsppdc.sl.1
 %system aix
 f 0555 root sys $LIBDIR/libcups_s.a cups/libcups_s.a nostrip()
 f 0555 root sys $LIBDIR/libcupscgi_s.a cgi-bin/libcupscgi_s.a nostrip()
-f 0555 root sys $LIBDIR/libcupsdriver_s.a driver/libcupsdriver_s.a nostrip()
 f 0555 root sys $LIBDIR/libcupsimage_s.a filter/libcupsimage_s.a nostrip()
 f 0555 root sys $LIBDIR/libcupsmime_s.a scheduler/libcupsmime_s.a nostrip()
 f 0555 root sys $LIBDIR/libcupsppdc_s.a ppdc/libcupsppdc_s.a nostrip()
@@ -402,8 +382,6 @@ f 0555 root sys $LIBDIR/libcups.2.dylib cups/libcups.2.dylib nostrip()
 l 0755 root sys $LIBDIR/libcups.dylib libcups.2.dylib
 f 0555 root sys $LIBDIR/libcupscgi.1.dylib cgi-bin/libcupscgi.1.dylib nostrip()
 l 0755 root sys $LIBDIR/libcupscgi.dylib libcupscgi.1.dylib
-f 0555 root sys $LIBDIR/libcupsdriver.1.dylib driver/libcupsdriver.1.dylib nostrip()
-l 0755 root sys $LIBDIR/libcupsdriver.dylib libcupsdriver.1.dylib
 f 0555 root sys $LIBDIR/libcupsimage.2.dylib filter/libcupsimage.2.dylib nostrip()
 l 0755 root sys $LIBDIR/libcupsimage.dylib libcupsimage.2.dylib
 f 0555 root sys $LIBDIR/libcupsmime.1.dylib scheduler/libcupsmime.1.dylib nostrip()
@@ -415,8 +393,6 @@ f 0555 root sys $LIBDIR/libcups.so.2 cups/libcups.so.2 nostrip()
 l 0755 root sys $LIBDIR/libcups.so libcups.so.2
 f 0555 root sys $LIBDIR/libcupscgi.so.1 cgi-bin/libcupscgi.so.1 nostrip()
 l 0755 root sys $LIBDIR/libcupscgi.so libcupscgi.so.1
-f 0555 root sys $LIBDIR/libcupsdriver.so.1 driver/libcupsdriver.so.1 nostrip()
-l 0755 root sys $LIBDIR/libcupsdriver.so libcupsdriver.so.1
 f 0555 root sys $LIBDIR/libcupsimage.so.2 filter/libcupsimage.so.2 nostrip()
 l 0755 root sys $LIBDIR/libcupsimage.so libcupsimage.so.2
 f 0555 root sys $LIBDIR/libcupsmime.so.1 scheduler/libcupsmime.so.1 nostrip()
@@ -427,42 +403,6 @@ l 0755 root sys $LIBDIR/libcupsppdc.so libcupsppdc.so.1
 %subpackage
 %endif
 
-%if LIB32DIR
-%subpackage libs
-f 0555 root sys $LIB32DIR/libcups.so.2 cups/libcups.32.so.2 nostrip()
-l 0755 root sys $LIB32DIR/libcups.so libcups.so.2
-f 0555 root sys $LIB32DIR/libcupscgi.so.1 cgi-bin/libcupscgi.32.so.1 nostrip()
-l 0755 root sys $LIB32DIR/libcupscgi.so libcupscgi.so.1
-f 0555 root sys $LIB32DIR/libcupsdriver.so.1 driver/libcupsdriver.32.so.1 nostrip()
-l 0755 root sys $LIB32DIR/libcupsdriver.so libcupsdriver.so.1
-f 0555 root sys $LIB32DIR/libcupsimage.so.2 filter/libcupsimage.32.so.2 nostrip()
-l 0755 root sys $LIB32DIR/libcupsimage.so libcupsimage.so.2
-f 0555 root sys $LIB32DIR/libcupsmime.so.1 scheduler/libcupsmime.32.so.1 nostrip()
-l 0755 root sys $LIB32DIR/libcupsmime.so libcupsmime.so.1
-f 0555 root sys $LIB32DIR/libcupsppdc.so.1 ppdc/libcupsppdc.32.so.1 nostrip()
-l 0755 root sys $LIB32DIR/libcupsppdc.so libcupsppdc.so.1
-%system all
-%subpackage
-%endif
-
-%if LIB64DIR
-%subpackage libs
-f 0555 root sys $LIB64DIR/libcups.so.2 cups/libcups.64.so.2 nostrip()
-l 0755 root sys $LIB64DIR/libcups.so libcups.so.2
-f 0555 root sys $LIB64DIR/libcupscgi.so.1 cgi-bin/libcupscgi.64.so.1 nostrip()
-l 0755 root sys $LIB64DIR/libcupscgi.so libcupscgi.so.1
-f 0555 root sys $LIB64DIR/libcupsdriver.so.1 driver/libcupsdriver.64.so.1 nostrip()
-l 0755 root sys $LIB64DIR/libcupsdriver.so libcupsdriver.so.1
-f 0555 root sys $LIB64DIR/libcupsimage.so.2 filter/libcupsimage.64.so.2 nostrip()
-l 0755 root sys $LIB64DIR/libcupsimage.so libcupsimage.so.2
-f 0555 root sys $LIB64DIR/libcupsmime.so.1 scheduler/libcupsmime.64.so.1 nostrip()
-l 0755 root sys $LIB64DIR/libcupsmime.so libcupsmime.so.1
-f 0555 root sys $LIB64DIR/libcupsppdc.so.1 ppdc/libcupsppdc.64.so.1 nostrip()
-l 0755 root sys $LIB64DIR/libcupsppdc.so libcupsppdc.so.1
-%system all
-%subpackage
-%endif
-
 # Directories
 d 0755 root sys $LOGDIR -
 d 0710 root $CUPS_GROUP $REQUESTS -
@@ -470,31 +410,33 @@ d 1770 root $CUPS_GROUP $REQUESTS/tmp -
 d 0775 root $CUPS_GROUP $CACHEDIR -
 d 0775 root $CUPS_GROUP $CACHEDIR/rss -
 #d 0755 root $CUPS_GROUP $CACHEDIR/ppd -
+%system !darwin
 d 0755 root $CUPS_GROUP $STATEDIR -
+%system all
 d 0511 root $CUPS_PRIMARY_SYSTEM_GROUP $STATEDIR/certs -
 
 # Data files
-f 0444 root sys $LOCALEDIR/da/cups_da.po locale/cups_da.po
-f 0444 root sys $LOCALEDIR/de/cups_de.po locale/cups_de.po
-f 0444 root sys $LOCALEDIR/es/cups_es.po locale/cups_es.po
+#f 0444 root sys $LOCALEDIR/da/cups_da.po locale/cups_da.po
+#f 0444 root sys $LOCALEDIR/de/cups_de.po locale/cups_de.po
+#f 0444 root sys $LOCALEDIR/es/cups_es.po locale/cups_es.po
 #f 0444 root sys $LOCALEDIR/et/cups_et.po locale/cups_et.po
-f 0444 root sys $LOCALEDIR/eu/cups_eu.po locale/cups_eu.po
-f 0444 root sys $LOCALEDIR/fi/cups_fi.po locale/cups_fi.po
-f 0444 root sys $LOCALEDIR/fr/cups_fr.po locale/cups_fr.po
+#f 0444 root sys $LOCALEDIR/eu/cups_eu.po locale/cups_eu.po
+#f 0444 root sys $LOCALEDIR/fi/cups_fi.po locale/cups_fi.po
+#f 0444 root sys $LOCALEDIR/fr/cups_fr.po locale/cups_fr.po
 #f 0444 root sys $LOCALEDIR/he/cups_he.po locale/cups_he.po
-f 0444 root sys $LOCALEDIR/id/cups_id.po locale/cups_id.po
-f 0444 root sys $LOCALEDIR/it/cups_it.po locale/cups_it.po
-f 0444 root sys $LOCALEDIR/ja/cups_ja.po locale/cups_ja.po
-f 0444 root sys $LOCALEDIR/ko/cups_ko.po locale/cups_ko.po
-f 0444 root sys $LOCALEDIR/nl/cups_nl.po locale/cups_nl.po
-f 0444 root sys $LOCALEDIR/no/cups_no.po locale/cups_no.po
-f 0444 root sys $LOCALEDIR/pl/cups_pl.po locale/cups_pl.po
-f 0444 root sys $LOCALEDIR/pt/cups_pt.po locale/cups_pt.po
-f 0444 root sys $LOCALEDIR/pt_BR/cups_pt_BR.po locale/cups_pt_BR.po
-f 0444 root sys $LOCALEDIR/ru/cups_ru.po locale/cups_ru.po
-f 0444 root sys $LOCALEDIR/sv/cups_sv.po locale/cups_sv.po
-f 0444 root sys $LOCALEDIR/zh/cups_zh.po locale/cups_zh.po
-f 0444 root sys $LOCALEDIR/zh_TW/cups_zh_TW.po locale/cups_zh_TW.po
+#f 0444 root sys $LOCALEDIR/id/cups_id.po locale/cups_id.po
+#f 0444 root sys $LOCALEDIR/it/cups_it.po locale/cups_it.po
+#f 0444 root sys $LOCALEDIR/ja/cups_ja.po locale/cups_ja.po
+#f 0444 root sys $LOCALEDIR/ko/cups_ko.po locale/cups_ko.po
+#f 0444 root sys $LOCALEDIR/nl/cups_nl.po locale/cups_nl.po
+#f 0444 root sys $LOCALEDIR/no/cups_no.po locale/cups_no.po
+#f 0444 root sys $LOCALEDIR/pl/cups_pl.po locale/cups_pl.po
+#f 0444 root sys $LOCALEDIR/pt/cups_pt.po locale/cups_pt.po
+#f 0444 root sys $LOCALEDIR/pt_BR/cups_pt_BR.po locale/cups_pt_BR.po
+#f 0444 root sys $LOCALEDIR/ru/cups_ru.po locale/cups_ru.po
+#f 0444 root sys $LOCALEDIR/sv/cups_sv.po locale/cups_sv.po
+#f 0444 root sys $LOCALEDIR/zh/cups_zh.po locale/cups_zh.po
+#f 0444 root sys $LOCALEDIR/zh_TW/cups_zh_TW.po locale/cups_zh_TW.po
 
 d 0755 root sys $DATADIR -
 
@@ -506,11 +448,7 @@ f 0444 root sys $DATADIR/banners/standard data/standard
 f 0444 root sys $DATADIR/banners/topsecret data/topsecret
 f 0444 root sys $DATADIR/banners/unclassified data/unclassified
 
-d 0755 root sys $DATADIR/charsets -
-f 0444 root sys $DATADIR/charsets/utf-8 data/utf-8
-
 d 0755 root sys $DATADIR/data -
-f 0444 root sys $DATADIR/data/psglyphs data/psglyphs
 f 0444 root sys $DATADIR/data/testprint data/testprint
 
 d 0755 root sys $DATADIR/drv -
@@ -519,15 +457,18 @@ f 0444 root sys $DATADIR/drv/sample.drv ppdc/sample.drv
 d 0755 root sys $DATADIR/examples -
 f 0444 root sys $DATADIR/examples examples/*.drv
 
-d 0755 root sys $DATADIR/fonts -
-f 0444 root sys $DATADIR/fonts fonts/Monospace*
-
 d 0755 root sys $DATADIR/ipptool -
 f 0444 root sys $DATADIR/ipptool/create-printer-subscription.test test/create-printer-subscription.test
 f 0444 root sys $DATADIR/ipptool/get-completed-jobs.test test/get-completed-jobs.test
 f 0444 root sys $DATADIR/ipptool/get-jobs.test test/get-jobs.test
+f 0444 root sys $DATADIR/ipptool/get-printer-attributes.test test/get-printer-attributes.test
+f 0444 root sys $DATADIR/ipptool/print-job.test test/print-job.test
+f 0444 root sys $DATADIR/ipptool test/document-*.p*
 f 0444 root sys $DATADIR/ipptool test/ipp-*.test
+f 0444 root sys $DATADIR/ipptool test/onepage-*.p*
 f 0444 root sys $DATADIR/ipptool test/testfile.*
+f 0444 root sys $DATADIR/ipptool/color.jpg test/color.jpg
+f 0444 root sys $DATADIR/ipptool/gray.jpg test/gray.jpg
 
 d 0755 root sys $DATADIR/mime -
 f 0444 root sys $DATADIR/mime/mime.convs conf/mime.convs
@@ -543,17 +484,17 @@ d 0755 root sys $DATADIR/templates -
 f 0444 root sys $DATADIR/templates templates/*.tmpl
 
 ## Template files
-d 0755 root sys $DATADIR/templates/de
-f 0444 root sys $DATADIR/templates/de templates/de/*.tmpl
+#d 0755 root sys $DATADIR/templates/de
+#f 0444 root sys $DATADIR/templates/de templates/de/*.tmpl
 
-d 0755 root sys $DATADIR/templates/es
-f 0444 root sys $DATADIR/templates/es templates/es/*.tmpl
+#d 0755 root sys $DATADIR/templates/es
+#f 0444 root sys $DATADIR/templates/es templates/es/*.tmpl
 
 #d 0755 root sys $DATADIR/templates/et
 #f 0444 root sys $DATADIR/templates/et templates/et/*.tmpl
 
-d 0755 root sys $DATADIR/templates/eu
-f 0444 root sys $DATADIR/templates/eu templates/eu/*.tmpl
+#d 0755 root sys $DATADIR/templates/eu
+#f 0444 root sys $DATADIR/templates/eu templates/eu/*.tmpl
 
 #d 0755 root sys $DATADIR/templates/fr
 #f 0444 root sys $DATADIR/templates/fr templates/fr/*.tmpl
@@ -561,20 +502,20 @@ f 0444 root sys $DATADIR/templates/eu templates/eu/*.tmpl
 #d 0755 root sys $DATADIR/templates/he
 #f 0444 root sys $DATADIR/templates/he templates/he/*.tmpl
 
-d 0755 root sys $DATADIR/templates/id
-f 0444 root sys $DATADIR/templates/id templates/id/*.tmpl
+#d 0755 root sys $DATADIR/templates/id
+#f 0444 root sys $DATADIR/templates/id templates/id/*.tmpl
 
-d 0755 root sys $DATADIR/templates/it
-f 0444 root sys $DATADIR/templates/it templates/it/*.tmpl
+#d 0755 root sys $DATADIR/templates/it
+#f 0444 root sys $DATADIR/templates/it templates/it/*.tmpl
 
-d 0755 root sys $DATADIR/templates/ja
-f 0444 root sys $DATADIR/templates/ja templates/ja/*.tmpl
+#d 0755 root sys $DATADIR/templates/ja
+#f 0444 root sys $DATADIR/templates/ja templates/ja/*.tmpl
 
-d 0755 root sys $DATADIR/templates/pl
-f 0444 root sys $DATADIR/templates/pl templates/pl/*.tmpl
+#d 0755 root sys $DATADIR/templates/pl
+#f 0444 root sys $DATADIR/templates/pl templates/pl/*.tmpl
 
-d 0755 root sys $DATADIR/templates/ru
-f 0444 root sys $DATADIR/templates/ru templates/ru/*.tmpl
+#d 0755 root sys $DATADIR/templates/ru
+#f 0444 root sys $DATADIR/templates/ru templates/ru/*.tmpl
 
 #d 0755 root sys $DATADIR/templates/sv
 #f 0444 root sys $DATADIR/templates/sv templates/sv/*.tmpl
@@ -583,12 +524,15 @@ f 0444 root sys $DATADIR/templates/ru templates/ru/*.tmpl
 #f 0444 root sys $DATADIR/templates/zh_TW templates/zh_TW/*.tmpl
 
 # Config files
-d 0755 root sys $SERVERROOT -
+d 0755 root $CUPS_GROUP $SERVERROOT -
 d 0755 root $CUPS_GROUP $SERVERROOT/interfaces -
 d 0755 root $CUPS_GROUP $SERVERROOT/ppd -
 d 0700 root $CUPS_GROUP $SERVERROOT/ssl -
-c $CUPS_PERM root $CUPS_GROUP $SERVERROOT/ conf/*.conf
+c $CUPS_PERM root $CUPS_GROUP $SERVERROOT/cups-files.conf conf/cups-files.conf
+f $CUPS_PERM root $CUPS_GROUP $SERVERROOT/cups-files.conf.default conf/cups-files.conf
+c $CUPS_PERM root $CUPS_GROUP $SERVERROOT/cupsd.conf conf/cupsd.conf
 f $CUPS_PERM root $CUPS_GROUP $SERVERROOT/cupsd.conf.default conf/cupsd.conf
+c $CUPS_PERM root $CUPS_GROUP $SERVERROOT/snmp.conf conf/snmp.conf
 
 %if PAMDIR
 d 0755 root sys $PAMDIR -
@@ -604,24 +548,19 @@ f 0444 root sys $INCLUDEDIR/cups/array.h cups/array.h
 f 0444 root sys $INCLUDEDIR/cups/backend.h cups/backend.h
 f 0444 root sys $INCLUDEDIR/cups/cups.h cups/cups.h
 f 0444 root sys $INCLUDEDIR/cups/dir.h cups/dir.h
-f 0444 root sys $INCLUDEDIR/cups/driver.h driver/driver.h
 f 0444 root sys $INCLUDEDIR/cups/file.h cups/file.h
 f 0444 root sys $INCLUDEDIR/cups/http.h cups/http.h
-f 0444 root sys $INCLUDEDIR/cups/image.h filter/image.h
 f 0444 root sys $INCLUDEDIR/cups/ipp.h cups/ipp.h
-f 0444 root sys $INCLUDEDIR/cups/mime.h scheduler/mime.h
 f 0444 root sys $INCLUDEDIR/cups/language.h cups/language.h
 f 0444 root sys $INCLUDEDIR/cups/ppd.h cups/ppd.h
 f 0444 root sys $INCLUDEDIR/cups/raster.h cups/raster.h
+f 0444 root sys $INCLUDEDIR/cups/sidechannel.h cups/sidechannel.h
 f 0444 root sys $INCLUDEDIR/cups/transcode.h cups/transcode.h
+f 0444 root sys $INCLUDEDIR/cups/versioning.h cups/versioning.h
 
 %if INSTALLSTATIC
 f 0444 root sys $LIBDIR/libcups.a cups/libcups.a
-f 0444 root sys $LIBDIR/libcupscgi.a cgi-bin/libcupscgi.a
-f 0444 root sys $LIBDIR/libcupsdriver.a driver/libcupsdriver.a
 f 0444 root sys $LIBDIR/libcupsimage.a filter/libcupsimage.a
-f 0444 root sys $LIBDIR/libcupsmime.a scheduler/libcupsmime.a
-f 0444 root sys $LIBDIR/libcupsppdc.a ppdc/libcupsppdc.a
 %endif
 
 d 0755 root sys $DOCDIR/help -
@@ -660,17 +599,17 @@ f 0444 root sys $DOCDIR/images doc/images/*.png
 f 0444 root sys $DOCDIR/robots.txt doc/robots.txt
 
 # Localized documentation files
-d 0755 root sys $DOCDIR/de
-f 0444 root sys $DOCDIR/de doc/de/*.html
+#d 0755 root sys $DOCDIR/de
+#f 0444 root sys $DOCDIR/de doc/de/*.html
 
-d 0755 root sys $DOCDIR/es
-f 0444 root sys $DOCDIR/es doc/es/*.html
+#d 0755 root sys $DOCDIR/es
+#f 0444 root sys $DOCDIR/es doc/es/*.html
 
 #d 0755 root sys $DOCDIR/et
 #f 0444 root sys $DOCDIR/et doc/et/*.html
 
-d 0755 root sys $DOCDIR/eu
-f 0444 root sys $DOCDIR/eu doc/eu/*.html
+#d 0755 root sys $DOCDIR/eu
+#f 0444 root sys $DOCDIR/eu doc/eu/*.html
 
 #d 0755 root sys $DOCDIR/fr
 #f 0444 root sys $DOCDIR/fr doc/fr/*.html
@@ -679,20 +618,20 @@ f 0444 root sys $DOCDIR/eu doc/eu/*.html
 #f 0444 root sys $DOCDIR/he doc/he/*.html
 #f 0444 root sys $DOCDIR/he/cups.css doc/he/cups.css
 
-d 0755 root sys $DOCDIR/id
-f 0444 root sys $DOCDIR/id doc/id/*.html
+#d 0755 root sys $DOCDIR/id
+#f 0444 root sys $DOCDIR/id doc/id/*.html
 
-d 0755 root sys $DOCDIR/it
-f 0444 root sys $DOCDIR/it doc/it/*.html
+#d 0755 root sys $DOCDIR/it
+#f 0444 root sys $DOCDIR/it doc/it/*.html
 
-d 0755 root sys $DOCDIR/ja
-f 0444 root sys $DOCDIR/ja doc/ja/*.html
+#d 0755 root sys $DOCDIR/ja
+#f 0444 root sys $DOCDIR/ja doc/ja/*.html
 
-d 0755 root sys $DOCDIR/pl
-f 0444 root sys $DOCDIR/pl doc/pl/*.html
+#d 0755 root sys $DOCDIR/pl
+#f 0444 root sys $DOCDIR/pl doc/pl/*.html
 
-d 0755 root sys $DOCDIR/ru
-f 0444 root sys $DOCDIR/ru doc/ru/*.html
+#d 0755 root sys $DOCDIR/ru
+#f 0444 root sys $DOCDIR/ru doc/ru/*.html
 
 #d 0755 root sys $DOCDIR/sv
 #f 0444 root sys $DOCDIR/sv doc/sv/*.html
@@ -721,6 +660,7 @@ f 0444 root sys $MANDIR/man1/lpstat.$MAN1EXT man/lpstat.$MAN1EXT
 f 0444 root sys $MANDIR/man1/lp.$MAN1EXT man/lp.$MAN1EXT
 
 f 0444 root sys $MANDIR/man5/classes.conf.$MAN5EXT man/classes.conf.$MAN5EXT
+f 0444 root sys $MANDIR/man5/cups-snmp.conf.$MAN5EXT man/cups-snmp.conf.$MAN5EXT
 f 0444 root sys $MANDIR/man5/cupsd.conf.$MAN5EXT man/cupsd.conf.$MAN5EXT
 f 0444 root sys $MANDIR/man5/ipptoolfile.$MAN5EXT man/ipptoolfile.$MAN5EXT
 f 0444 root sys $MANDIR/man5/mailto.conf.$MAN5EXT man/mailto.conf.$MAN5EXT
@@ -734,7 +674,7 @@ l 0644 root sys $AMANDIR/man$MAN8DIR/cupsreject.$MAN8EXT cupsaccept.$MAN8EXT
 f 0444 root sys $AMANDIR/man$MAN8DIR/cupsaddsmb.$MAN8EXT man/cupsaddsmb.$MAN8EXT
 f 0444 root sys $AMANDIR/man$MAN8DIR/cupsctl.$MAN8EXT man/cupsctl.$MAN8EXT
 f 0444 root sys $AMANDIR/man$MAN8DIR/cupsfilter.$MAN8EXT man/cupsfilter.$MAN8EXT
-f 0444 root sys $AMANDIR/man$MAN8DIR/cups-polld.$MAN8EXT man/cups-polld.$MAN8EXT
+f 0444 root sys $AMANDIR/man$MAN8DIR/cups-snmp.$MAN8EXT man/cups-snmp.$MAN8EXT
 f 0444 root sys $AMANDIR/man$MAN8DIR/cupsd.$MAN8EXT man/cupsd.$MAN8EXT
 f 0444 root sys $AMANDIR/man$MAN8DIR/cupsenable.$MAN8EXT man/cupsenable.$MAN8EXT
 l 0644 root sys $AMANDIR/man$MAN8DIR/cupsdisable.$MAN8EXT cupsenable.$MAN8EXT
@@ -796,5 +736,5 @@ f 0444 root sys $XINETD/cups-lpd scheduler/cups-lpd.xinetd
 %subpackage
 
 #
-# End of "$Id: cups.list.in 10439 2012-04-23 23:49:19Z mike $".
+# End of "$Id: cups.list.in 11173 2013-07-23 12:31:34Z msweet $".
 #
index c889a74..93a1e1d 100644 (file)
@@ -1,11 +1,11 @@
 #
-# "$Id: cups.spec.in 10428 2012-04-23 17:46:53Z mike $"
+# "$Id: cups.spec.in 11173 2013-07-23 12:31:34Z msweet $"
 #
 #   RPM "spec" file for CUPS.
 #
 #   Original version by Jason McMullan <jmcc@ontv.com>.
 #
-#   Copyright 2007-2012 by Apple Inc.
+#   Copyright 2007-2013 by Apple Inc.
 #   Copyright 1999-2007 by Easy Software Products, all rights reserved.
 #
 #   These coded instructions, statements, and computer programs are the
@@ -18,8 +18,7 @@
 # Conditional build options (--with name/--without name):
 #
 #   dbus     - Enable/disable DBUS support (default = enable)
-#   dnssd    - Enable/disable DNS-SD support (default = disable)
-#   php      - Enable/disable PHP support (default = enable)
+#   dnssd    - Enable/disable DNS-SD support (default = enable)
 #   static   - Enable/disable static libraries (default = enable)
 
 %{!?_with_dbus: %{!?_without_dbus: %define _with_dbus --with-dbus}}
 %{?_with_dnssd: %define _dnssd --enable-dnssd}
 %{!?_with_dnssd: %define _dnssd --disable-dnssd}
 
-%{!?_with_php: %{!?_without_php: %define _with_php --with-php}}
-%{?_with_php: %define _php --with-php}
-%{!?_with_php: %define _php --without-php}
-
 %{!?_with_static: %{!?_without_static: %define _without_static --without-static}}
 %{?_with_static: %define _static --enable-static}
 %{!?_with_static: %define _static --disable-static}
 
 Summary: CUPS
 Name: cups
-Version: 1.5.3
+Version: 1.6.4
 Release: 1
 Epoch: 1
 License: GPL
 Group: System Environment/Daemons
-Source: http://ftp.easysw.com/pub/cups/1.5.3/cups-1.5.3-source.tar.bz2
+Source: http://www.cups.org/software/1.6.4/cups-1.6.4-source.tar.bz2
 Url: http://www.cups.org
 Packager: Anonymous <anonymous@foo.com>
 Vendor: Apple Inc.
@@ -76,13 +71,6 @@ Summary: CUPS - LPD support
 Group: System Environment/Daemons
 Requires: %{name} = %{epoch}:%{version} xinetd
 
-%if %{?_with_php:1}%{!?_with_php:0}
-%package php
-Summary: CUPS - PHP support
-Group: Development/Languages
-Requires: %{name}-libs = %{epoch}:%{version}
-%endif
-
 %description
 CUPS is the standards-based, open source printing system developed by
 Apple Inc. for OS X and other UNIX®-like operating systems.
@@ -96,17 +84,12 @@ This package provides the CUPS shared libraries.
 %description lpd
 This package provides LPD client support.
 
-%if %{?_with_php:1}%{!?_with_php:0}
-%description php
-This package provides PHP support for CUPS.
-%endif
-
 %prep
 %setup
 
 %build
 CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" LDFLAGS="$RPM_OPT_FLAGS" \
-    ./configure %{_dbus} %{_dnssd} %{_php} %{_static}
+    ./configure %{_dbus} %{_dnssd} %{_static}
 # If we got this far, all prerequisite libraries must be here.
 make
 
@@ -196,6 +179,7 @@ rm -rf $RPM_BUILD_ROOT
 %dir /usr/lib/cups
 %dir /usr/lib/cups/backend
 %if %{?_with_dnssd:1}%{!?_with_dnssd:0}
+# DNS-SD
 /usr/lib/cups/backend/dnssd
 %endif
 /usr/lib/cups/backend/http
@@ -203,8 +187,6 @@ rm -rf $RPM_BUILD_ROOT
 %attr(0700,root,root) /usr/lib/cups/backend/ipp
 /usr/lib/cups/backend/ipps
 %attr(0700,root,root) /usr/lib/cups/backend/lpd
-/usr/lib/cups/backend/parallel
-/usr/lib/cups/backend/serial
 /usr/lib/cups/backend/snmp
 /usr/lib/cups/backend/socket
 /usr/lib/cups/backend/usb
@@ -214,7 +196,6 @@ rm -rf $RPM_BUILD_ROOT
 /usr/lib/cups/daemon/cups-deviced
 /usr/lib/cups/daemon/cups-driverd
 /usr/lib/cups/daemon/cups-exec
-/usr/lib/cups/daemon/cups-polld
 %dir /usr/lib/cups/driver
 %dir /usr/lib/cups/filter
 /usr/lib/cups/filter/*
@@ -227,14 +208,10 @@ rm -rf $RPM_BUILD_ROOT
 %dir /usr/share/cups
 %dir /usr/share/cups/banners
 /usr/share/cups/banners/*
-%dir /usr/share/cups/charsets
-/usr/share/cups/charsets/*
 %dir /usr/share/cups/data
 /usr/share/cups/data/*
 %dir /usr/share/cups/drv
 /usr/share/cups/drv/*
-%dir /usr/share/cups/fonts
-/usr/share/cups/fonts/*
 %dir /usr/share/cups/ipptool
 /usr/share/cups/ipptool/*
 %dir /usr/share/cups/mime
@@ -244,28 +221,11 @@ rm -rf $RPM_BUILD_ROOT
 /usr/share/cups/ppdc/*
 %dir /usr/share/cups/templates
 /usr/share/cups/templates/*
+%dir /usr/share/cups/usb
+/usr/share/cups/usb/*
+
 %dir /usr/share/doc/cups
 /usr/share/doc/cups/*.*
-%dir /usr/share/doc/cups/de
-/usr/share/doc/cups/de/*
-%dir /usr/share/doc/cups/es
-/usr/share/doc/cups/es/*
-%dir /usr/share/doc/cups/eu
-/usr/share/doc/cups/eu/*
-%dir /usr/share/doc/cups/fr
-/usr/share/doc/cups/fr/*
-%dir /usr/share/doc/cups/hu
-/usr/share/doc/cups/hu/*
-%dir /usr/share/doc/cups/id
-/usr/share/doc/cups/id/*
-%dir /usr/share/doc/cups/it
-/usr/share/doc/cups/it/*
-%dir /usr/share/doc/cups/ja
-/usr/share/doc/cups/ja/*
-%dir /usr/share/doc/cups/pl
-/usr/share/doc/cups/pl/*
-%dir /usr/share/doc/cups/ru
-/usr/share/doc/cups/ru/*
 %dir /usr/share/doc/cups/help
 /usr/share/doc/cups/help/accounting.html
 /usr/share/doc/cups/help/cgi.html
@@ -285,7 +245,32 @@ rm -rf $RPM_BUILD_ROOT
 /usr/share/doc/cups/help/whatsnew.html
 %dir /usr/share/doc/cups/images
 /usr/share/doc/cups/images/*
-/usr/share/locale/*
+
+%dir /usr/share/doc/cups/ca
+/usr/share/doc/cups/ca/*
+%dir /usr/share/doc/cups/cs
+/usr/share/doc/cups/cs/*
+%dir /usr/share/doc/cups/es
+/usr/share/doc/cups/es/*
+%dir /usr/share/doc/cups/fr
+/usr/share/doc/cups/fr/*
+%dir /usr/share/doc/cups/ja
+/usr/share/doc/cups/ja/*
+%dir /usr/share/doc/cups/ru
+/usr/share/doc/cups/ru/*
+
+%dir /usr/share/locale/ca
+/usr/share/locale/ca/cups_ca.po
+%dir /usr/share/locale/cs
+/usr/share/locale/cs/cups_cs.po
+%dir /usr/share/locale/es
+/usr/share/locale/es/cups_es.po
+%dir /usr/share/locale/fr
+/usr/share/locale/fr/cups_fr.po
+%dir /usr/share/locale/ja
+/usr/share/locale/ja/cups_ja.po
+%dir /usr/share/locale/ru
+/usr/share/locale/ru/cups_ru.po
 
 %dir /usr/share/man/man1
 /usr/share/man/man1/cancel.1.gz
@@ -315,7 +300,7 @@ rm -rf $RPM_BUILD_ROOT
 /usr/share/man/man8/cupsreject.8.gz
 /usr/share/man/man8/cups-deviced.8.gz
 /usr/share/man/man8/cups-driverd.8.gz
-/usr/share/man/man8/cups-polld.8.gz
+/usr/share/man/man8/cups-snmp.8.gz
 /usr/share/man/man8/lpadmin.8.gz
 /usr/share/man/man8/lpc.8.gz
 /usr/share/man/man8/lpinfo.8.gz
@@ -377,13 +362,7 @@ rm -rf $RPM_BUILD_ROOT
 %dir /usr/share/man/man8
 /usr/share/man/man8/cups-lpd.8.gz
 
-%if %{?_with_php:1}%{!?_with_php:0}
-%files php
-# PHP
-/usr/lib*/php*
-%endif
-
 
 #
-# End of "$Id: cups.spec.in 10428 2012-04-23 17:46:53Z mike $".
+# End of "$Id: cups.spec.in 11173 2013-07-23 12:31:34Z msweet $".
 #
index 004258a..fd50b9d 100644 (file)
@@ -1,11 +1,11 @@
 #
-# "$Id: cups.spec.in 10428 2012-04-23 17:46:53Z mike $"
+# "$Id: cups.spec.in 11173 2013-07-23 12:31:34Z msweet $"
 #
 #   RPM "spec" file for CUPS.
 #
 #   Original version by Jason McMullan <jmcc@ontv.com>.
 #
-#   Copyright 2007-2012 by Apple Inc.
+#   Copyright 2007-2013 by Apple Inc.
 #   Copyright 1999-2007 by Easy Software Products, all rights reserved.
 #
 #   These coded instructions, statements, and computer programs are the
@@ -18,8 +18,7 @@
 # Conditional build options (--with name/--without name):
 #
 #   dbus     - Enable/disable DBUS support (default = enable)
-#   dnssd    - Enable/disable DNS-SD support (default = disable)
-#   php      - Enable/disable PHP support (default = enable)
+#   dnssd    - Enable/disable DNS-SD support (default = enable)
 #   static   - Enable/disable static libraries (default = enable)
 
 %{!?_with_dbus: %{!?_without_dbus: %define _with_dbus --with-dbus}}
 %{?_with_dnssd: %define _dnssd --enable-dnssd}
 %{!?_with_dnssd: %define _dnssd --disable-dnssd}
 
-%{!?_with_php: %{!?_without_php: %define _with_php --with-php}}
-%{?_with_php: %define _php --with-php}
-%{!?_with_php: %define _php --without-php}
-
 %{!?_with_static: %{!?_without_static: %define _without_static --without-static}}
 %{?_with_static: %define _static --enable-static}
 %{!?_with_static: %define _static --disable-static}
@@ -76,13 +71,6 @@ Summary: CUPS - LPD support
 Group: System Environment/Daemons
 Requires: %{name} = %{epoch}:%{version} xinetd
 
-%if %{?_with_php:1}%{!?_with_php:0}
-%package php
-Summary: CUPS - PHP support
-Group: Development/Languages
-Requires: %{name}-libs = %{epoch}:%{version}
-%endif
-
 %description
 CUPS is the standards-based, open source printing system developed by
 Apple Inc. for OS X and other UNIX®-like operating systems.
@@ -96,17 +84,12 @@ This package provides the CUPS shared libraries.
 %description lpd
 This package provides LPD client support.
 
-%if %{?_with_php:1}%{!?_with_php:0}
-%description php
-This package provides PHP support for CUPS.
-%endif
-
 %prep
 %setup
 
 %build
 CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" LDFLAGS="$RPM_OPT_FLAGS" \
-    ./configure %{_dbus} %{_dnssd} %{_php} %{_static}
+    ./configure %{_dbus} %{_dnssd} %{_static}
 # If we got this far, all prerequisite libraries must be here.
 make
 
@@ -196,6 +179,7 @@ rm -rf $RPM_BUILD_ROOT
 %dir /usr/lib/cups
 %dir /usr/lib/cups/backend
 %if %{?_with_dnssd:1}%{!?_with_dnssd:0}
+# DNS-SD
 /usr/lib/cups/backend/dnssd
 %endif
 /usr/lib/cups/backend/http
@@ -203,8 +187,6 @@ rm -rf $RPM_BUILD_ROOT
 %attr(0700,root,root) /usr/lib/cups/backend/ipp
 /usr/lib/cups/backend/ipps
 %attr(0700,root,root) /usr/lib/cups/backend/lpd
-/usr/lib/cups/backend/parallel
-/usr/lib/cups/backend/serial
 /usr/lib/cups/backend/snmp
 /usr/lib/cups/backend/socket
 /usr/lib/cups/backend/usb
@@ -214,7 +196,6 @@ rm -rf $RPM_BUILD_ROOT
 /usr/lib/cups/daemon/cups-deviced
 /usr/lib/cups/daemon/cups-driverd
 /usr/lib/cups/daemon/cups-exec
-/usr/lib/cups/daemon/cups-polld
 %dir /usr/lib/cups/driver
 %dir /usr/lib/cups/filter
 /usr/lib/cups/filter/*
@@ -227,14 +208,10 @@ rm -rf $RPM_BUILD_ROOT
 %dir /usr/share/cups
 %dir /usr/share/cups/banners
 /usr/share/cups/banners/*
-%dir /usr/share/cups/charsets
-/usr/share/cups/charsets/*
 %dir /usr/share/cups/data
 /usr/share/cups/data/*
 %dir /usr/share/cups/drv
 /usr/share/cups/drv/*
-%dir /usr/share/cups/fonts
-/usr/share/cups/fonts/*
 %dir /usr/share/cups/ipptool
 /usr/share/cups/ipptool/*
 %dir /usr/share/cups/mime
@@ -244,28 +221,11 @@ rm -rf $RPM_BUILD_ROOT
 /usr/share/cups/ppdc/*
 %dir /usr/share/cups/templates
 /usr/share/cups/templates/*
+%dir /usr/share/cups/usb
+/usr/share/cups/usb/*
+
 %dir /usr/share/doc/cups
 /usr/share/doc/cups/*.*
-%dir /usr/share/doc/cups/de
-/usr/share/doc/cups/de/*
-%dir /usr/share/doc/cups/es
-/usr/share/doc/cups/es/*
-%dir /usr/share/doc/cups/eu
-/usr/share/doc/cups/eu/*
-%dir /usr/share/doc/cups/fr
-/usr/share/doc/cups/fr/*
-%dir /usr/share/doc/cups/hu
-/usr/share/doc/cups/hu/*
-%dir /usr/share/doc/cups/id
-/usr/share/doc/cups/id/*
-%dir /usr/share/doc/cups/it
-/usr/share/doc/cups/it/*
-%dir /usr/share/doc/cups/ja
-/usr/share/doc/cups/ja/*
-%dir /usr/share/doc/cups/pl
-/usr/share/doc/cups/pl/*
-%dir /usr/share/doc/cups/ru
-/usr/share/doc/cups/ru/*
 %dir /usr/share/doc/cups/help
 /usr/share/doc/cups/help/accounting.html
 /usr/share/doc/cups/help/cgi.html
@@ -285,7 +245,32 @@ rm -rf $RPM_BUILD_ROOT
 /usr/share/doc/cups/help/whatsnew.html
 %dir /usr/share/doc/cups/images
 /usr/share/doc/cups/images/*
-/usr/share/locale/*
+
+%dir /usr/share/doc/cups/ca
+/usr/share/doc/cups/ca/*
+%dir /usr/share/doc/cups/cs
+/usr/share/doc/cups/cs/*
+%dir /usr/share/doc/cups/es
+/usr/share/doc/cups/es/*
+%dir /usr/share/doc/cups/fr
+/usr/share/doc/cups/fr/*
+%dir /usr/share/doc/cups/ja
+/usr/share/doc/cups/ja/*
+%dir /usr/share/doc/cups/ru
+/usr/share/doc/cups/ru/*
+
+%dir /usr/share/locale/ca
+/usr/share/locale/ca/cups_ca.po
+%dir /usr/share/locale/cs
+/usr/share/locale/cs/cups_cs.po
+%dir /usr/share/locale/es
+/usr/share/locale/es/cups_es.po
+%dir /usr/share/locale/fr
+/usr/share/locale/fr/cups_fr.po
+%dir /usr/share/locale/ja
+/usr/share/locale/ja/cups_ja.po
+%dir /usr/share/locale/ru
+/usr/share/locale/ru/cups_ru.po
 
 %dir /usr/share/man/man1
 /usr/share/man/man1/cancel.1.gz
@@ -315,7 +300,7 @@ rm -rf $RPM_BUILD_ROOT
 /usr/share/man/man8/cupsreject.8.gz
 /usr/share/man/man8/cups-deviced.8.gz
 /usr/share/man/man8/cups-driverd.8.gz
-/usr/share/man/man8/cups-polld.8.gz
+/usr/share/man/man8/cups-snmp.8.gz
 /usr/share/man/man8/lpadmin.8.gz
 /usr/share/man/man8/lpc.8.gz
 /usr/share/man/man8/lpinfo.8.gz
@@ -377,13 +362,7 @@ rm -rf $RPM_BUILD_ROOT
 %dir /usr/share/man/man8
 /usr/share/man/man8/cups-lpd.8.gz
 
-%if %{?_with_php:1}%{!?_with_php:0}
-%files php
-# PHP
-/usr/lib*/php*
-%endif
-
 
 #
-# End of "$Id: cups.spec.in 10428 2012-04-23 17:46:53Z mike $".
+# End of "$Id: cups.spec.in 11173 2013-07-23 12:31:34Z msweet $".
 #
index 72feab0..bcabc31 100644 (file)
-# DO NOT DELETE
-
-ppdc-array.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdc-array.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-ppdc-array.o: ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
-ppdc-array.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
-ppdc-array.o: ../cups/versioning.h ../cups/ppd-private.h ../cups/ppd.h
-ppdc-array.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-ppdc-array.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-ppdc-array.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-ppdc-array.o: ../cups/thread-private.h
-ppdc-attr.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdc-attr.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-ppdc-attr.o: ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
-ppdc-attr.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
-ppdc-attr.o: ../cups/versioning.h ../cups/ppd-private.h ../cups/ppd.h
-ppdc-attr.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-ppdc-attr.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-ppdc-attr.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-ppdc-attr.o: ../cups/thread-private.h
-ppdc-catalog.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdc-catalog.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-ppdc-catalog.o: ../cups/ipp.h ../cups/http.h ../cups/array.h
-ppdc-catalog.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-catalog.o: ../cups/debug-private.h ../cups/versioning.h
-ppdc-catalog.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-ppdc-catalog.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-ppdc-catalog.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-ppdc-catalog.o: ../cups/language-private.h ../cups/transcode.h
-ppdc-catalog.o: ../cups/thread-private.h
-ppdc-choice.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdc-choice.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-ppdc-choice.o: ../cups/ipp.h ../cups/http.h ../cups/array.h
-ppdc-choice.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-choice.o: ../cups/debug-private.h ../cups/versioning.h
-ppdc-choice.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-ppdc-choice.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-ppdc-choice.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-ppdc-choice.o: ../cups/language-private.h ../cups/transcode.h
-ppdc-choice.o: ../cups/thread-private.h
-ppdc-constraint.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdc-constraint.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-ppdc-constraint.o: ../cups/ipp.h ../cups/http.h ../cups/array.h
-ppdc-constraint.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-constraint.o: ../cups/debug-private.h ../cups/versioning.h
-ppdc-constraint.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-ppdc-constraint.o: ../cups/pwg-private.h ../cups/http-private.h
-ppdc-constraint.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-ppdc-constraint.o: ../cups/ipp.h ../cups/language-private.h
-ppdc-constraint.o: ../cups/transcode.h ../cups/thread-private.h
-ppdc-driver.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdc-driver.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-ppdc-driver.o: ../cups/ipp.h ../cups/http.h ../cups/array.h
-ppdc-driver.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-driver.o: ../cups/debug-private.h ../cups/versioning.h
-ppdc-driver.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-ppdc-driver.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-ppdc-driver.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-ppdc-driver.o: ../cups/language-private.h ../cups/transcode.h
-ppdc-driver.o: ../cups/thread-private.h
-ppdc-file.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdc-file.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-ppdc-file.o: ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
-ppdc-file.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
-ppdc-file.o: ../cups/versioning.h ../cups/ppd-private.h ../cups/ppd.h
-ppdc-file.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-ppdc-file.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-ppdc-file.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-ppdc-file.o: ../cups/thread-private.h
-ppdc-filter.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdc-filter.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-ppdc-filter.o: ../cups/ipp.h ../cups/http.h ../cups/array.h
-ppdc-filter.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-filter.o: ../cups/debug-private.h ../cups/versioning.h
-ppdc-filter.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-ppdc-filter.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-ppdc-filter.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-ppdc-filter.o: ../cups/language-private.h ../cups/transcode.h
-ppdc-filter.o: ../cups/thread-private.h
-ppdc-font.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdc-font.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-ppdc-font.o: ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
-ppdc-font.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
-ppdc-font.o: ../cups/versioning.h ../cups/ppd-private.h ../cups/ppd.h
-ppdc-font.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-ppdc-font.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-ppdc-font.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-ppdc-font.o: ../cups/thread-private.h
-ppdc-group.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdc-group.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-ppdc-group.o: ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
-ppdc-group.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
-ppdc-group.o: ../cups/versioning.h ../cups/ppd-private.h ../cups/ppd.h
-ppdc-group.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-ppdc-group.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-ppdc-group.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-ppdc-group.o: ../cups/thread-private.h
-ppdc-import.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdc-import.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-ppdc-import.o: ../cups/ipp.h ../cups/http.h ../cups/array.h
-ppdc-import.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-import.o: ../cups/debug-private.h ../cups/versioning.h
-ppdc-import.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-ppdc-import.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-ppdc-import.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-ppdc-import.o: ../cups/language-private.h ../cups/transcode.h
-ppdc-import.o: ../cups/thread-private.h
-ppdc-mediasize.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdc-mediasize.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-ppdc-mediasize.o: ../cups/ipp.h ../cups/http.h ../cups/array.h
-ppdc-mediasize.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-mediasize.o: ../cups/debug-private.h ../cups/versioning.h
-ppdc-mediasize.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-ppdc-mediasize.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-ppdc-mediasize.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-ppdc-mediasize.o: ../cups/language-private.h ../cups/transcode.h
-ppdc-mediasize.o: ../cups/thread-private.h
-ppdc-message.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdc-message.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-ppdc-message.o: ../cups/ipp.h ../cups/http.h ../cups/array.h
-ppdc-message.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-message.o: ../cups/debug-private.h ../cups/versioning.h
-ppdc-message.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-ppdc-message.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-ppdc-message.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-ppdc-message.o: ../cups/language-private.h ../cups/transcode.h
-ppdc-message.o: ../cups/thread-private.h
-ppdc-option.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdc-option.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-ppdc-option.o: ../cups/ipp.h ../cups/http.h ../cups/array.h
-ppdc-option.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-option.o: ../cups/debug-private.h ../cups/versioning.h
-ppdc-option.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-ppdc-option.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-ppdc-option.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-ppdc-option.o: ../cups/language-private.h ../cups/transcode.h
-ppdc-option.o: ../cups/thread-private.h
-ppdc-profile.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdc-profile.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-ppdc-profile.o: ../cups/ipp.h ../cups/http.h ../cups/array.h
-ppdc-profile.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-profile.o: ../cups/debug-private.h ../cups/versioning.h
-ppdc-profile.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-ppdc-profile.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-ppdc-profile.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-ppdc-profile.o: ../cups/language-private.h ../cups/transcode.h
-ppdc-profile.o: ../cups/thread-private.h
-ppdc-shared.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdc-shared.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-ppdc-shared.o: ../cups/ipp.h ../cups/http.h ../cups/array.h
-ppdc-shared.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-shared.o: ../cups/debug-private.h ../cups/versioning.h
-ppdc-shared.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-ppdc-shared.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-ppdc-shared.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-ppdc-shared.o: ../cups/language-private.h ../cups/transcode.h
-ppdc-shared.o: ../cups/thread-private.h
-ppdc-source.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdc-source.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-ppdc-source.o: ../cups/ipp.h ../cups/http.h ../cups/array.h
-ppdc-source.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-source.o: ../cups/debug-private.h ../cups/versioning.h
-ppdc-source.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-ppdc-source.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-ppdc-source.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-ppdc-source.o: ../cups/language-private.h ../cups/transcode.h
-ppdc-source.o: ../cups/thread-private.h ../cups/raster.h ../cups/ppd.h
-ppdc-source.o: ../data/epson.h ../data/escp.h ../data/hp.h ../data/label.h
-ppdc-source.o: ../data/pcl.h
-ppdc-string.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdc-string.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-ppdc-string.o: ../cups/ipp.h ../cups/http.h ../cups/array.h
-ppdc-string.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-string.o: ../cups/debug-private.h ../cups/versioning.h
-ppdc-string.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-ppdc-string.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-ppdc-string.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-ppdc-string.o: ../cups/language-private.h ../cups/transcode.h
-ppdc-string.o: ../cups/thread-private.h
-ppdc-variable.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdc-variable.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-ppdc-variable.o: ../cups/ipp.h ../cups/http.h ../cups/array.h
-ppdc-variable.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-variable.o: ../cups/debug-private.h ../cups/versioning.h
-ppdc-variable.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-ppdc-variable.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-ppdc-variable.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-ppdc-variable.o: ../cups/language-private.h ../cups/transcode.h
-ppdc-variable.o: ../cups/thread-private.h
-genstrings.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-genstrings.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-genstrings.o: ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
-genstrings.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
-genstrings.o: ../cups/versioning.h ../cups/ppd-private.h ../cups/ppd.h
-genstrings.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-genstrings.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-genstrings.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-genstrings.o: ../cups/thread-private.h
-ppdc.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdc.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h ../cups/ipp.h
-ppdc.o: ../cups/http.h ../cups/array.h ../cups/language.h
-ppdc.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
-ppdc.o: ../cups/versioning.h ../cups/ppd-private.h ../cups/ppd.h
-ppdc.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-ppdc.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-ppdc.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-ppdc.o: ../cups/thread-private.h
-ppdhtml.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdhtml.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h ../cups/ipp.h
-ppdhtml.o: ../cups/http.h ../cups/array.h ../cups/language.h
-ppdhtml.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
-ppdhtml.o: ../cups/versioning.h ../cups/ppd-private.h ../cups/ppd.h
-ppdhtml.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-ppdhtml.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-ppdhtml.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-ppdhtml.o: ../cups/thread-private.h
-ppdi.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdi.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h ../cups/ipp.h
-ppdi.o: ../cups/http.h ../cups/array.h ../cups/language.h
-ppdi.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
-ppdi.o: ../cups/versioning.h ../cups/ppd-private.h ../cups/ppd.h
-ppdi.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-ppdi.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-ppdi.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-ppdi.o: ../cups/thread-private.h
-ppdmerge.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-ppdmerge.o: ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/array.h
-ppdmerge.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdmerge.o: ../cups/debug-private.h ../cups/versioning.h
-ppdmerge.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-ppdmerge.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-ppdmerge.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-ppdmerge.o: ../cups/language-private.h ../cups/transcode.h
-ppdmerge.o: ../cups/thread-private.h ../cups/ppd-private.h ../cups/array.h
-ppdpo.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdpo.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h ../cups/ipp.h
-ppdpo.o: ../cups/http.h ../cups/array.h ../cups/language.h
-ppdpo.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
-ppdpo.o: ../cups/versioning.h ../cups/ppd-private.h ../cups/ppd.h
-ppdpo.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-ppdpo.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-ppdpo.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-ppdpo.o: ../cups/thread-private.h
-testcatalog.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-testcatalog.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-testcatalog.o: ../cups/ipp.h ../cups/http.h ../cups/array.h
-testcatalog.o: ../cups/language.h ../cups/string-private.h ../config.h
-testcatalog.o: ../cups/debug-private.h ../cups/versioning.h
-testcatalog.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-testcatalog.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-testcatalog.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-testcatalog.o: ../cups/language-private.h ../cups/transcode.h
-testcatalog.o: ../cups/thread-private.h
+ppdc-array.o: ppdc-array.cxx ppdc-private.h ppdc.h ../cups/file.h \
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+ppdc-attr.o: ppdc-attr.cxx ppdc-private.h ppdc.h ../cups/file.h \
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+ppdc-catalog.o: ppdc-catalog.cxx ppdc-private.h ppdc.h ../cups/file.h \
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+ppdc-choice.o: ppdc-choice.cxx ppdc-private.h ppdc.h ../cups/file.h \
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+ppdc-constraint.o: ppdc-constraint.cxx ppdc-private.h ppdc.h \
+  ../cups/file.h ../cups/versioning.h ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/ppd-private.h \
+  ../cups/ppd.h ../cups/thread-private.h
+ppdc-driver.o: ppdc-driver.cxx ppdc-private.h ppdc.h ../cups/file.h \
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+ppdc-file.o: ppdc-file.cxx ppdc-private.h ppdc.h ../cups/file.h \
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+ppdc-filter.o: ppdc-filter.cxx ppdc-private.h ppdc.h ../cups/file.h \
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+ppdc-font.o: ppdc-font.cxx ppdc-private.h ppdc.h ../cups/file.h \
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+ppdc-group.o: ppdc-group.cxx ppdc-private.h ppdc.h ../cups/file.h \
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+ppdc-import.o: ppdc-import.cxx ppdc-private.h ppdc.h ../cups/file.h \
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+ppdc-mediasize.o: ppdc-mediasize.cxx ppdc-private.h ppdc.h ../cups/file.h \
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+ppdc-message.o: ppdc-message.cxx ppdc-private.h ppdc.h ../cups/file.h \
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+ppdc-option.o: ppdc-option.cxx ppdc-private.h ppdc.h ../cups/file.h \
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+ppdc-profile.o: ppdc-profile.cxx ppdc-private.h ppdc.h ../cups/file.h \
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+ppdc-shared.o: ppdc-shared.cxx ppdc-private.h ppdc.h ../cups/file.h \
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+ppdc-source.o: ppdc-source.cxx ppdc-private.h ppdc.h ../cups/file.h \
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/raster.h ../data/epson.h ../data/hp.h ../data/label.h
+ppdc-string.o: ppdc-string.cxx ppdc-private.h ppdc.h ../cups/file.h \
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+ppdc-variable.o: ppdc-variable.cxx ppdc-private.h ppdc.h ../cups/file.h \
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+genstrings.o: genstrings.cxx ppdc-private.h ppdc.h ../cups/file.h \
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+ppdc.o: ppdc.cxx ppdc-private.h ppdc.h ../cups/file.h \
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+ppdhtml.o: ppdhtml.cxx ppdc-private.h ppdc.h ../cups/file.h \
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+ppdi.o: ppdi.cxx ppdc-private.h ppdc.h ../cups/file.h \
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+ppdmerge.o: ppdmerge.cxx ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+ppdpo.o: ppdpo.cxx ppdc-private.h ppdc.h ../cups/file.h \
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+testcatalog.o: testcatalog.cxx ppdc-private.h ppdc.h ../cups/file.h \
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
index 91c05c3..c523144 100644 (file)
@@ -1,9 +1,9 @@
 #
-# "$Id: Makefile 9422 2011-01-06 22:20:15Z mike $"
+# "$Id: Makefile 11173 2013-07-23 12:31:34Z msweet $"
 #
 #   Makefile for the CUPS PPD Compiler.
 #
-#   Copyright 2007-2011 by Apple Inc.
+#   Copyright 2007-2012 by Apple Inc.
 #   Copyright 2002-2006 by Easy Software Products.
 #
 #   These coded instructions, statements, and computer programs are the
@@ -112,7 +112,7 @@ clean:
 #
 
 depend:
-       makedepend -Y -I.. -fDependencies $(OBJS:.o=.cxx) >/dev/null 2>&1
+       $(CXX) -MM $(ALL_CXXFLAGS) $(OBJS:.o=.cxx) >Dependencies
 
 
 #
@@ -400,5 +400,5 @@ include Dependencies
 
 
 #
-# End of "$Id: Makefile 9422 2011-01-06 22:20:15Z mike $".
+# End of "$Id: Makefile 11173 2013-07-23 12:31:34Z msweet $".
 #
index 8eb3b12..3659905 100644 (file)
@@ -1,5 +1,5 @@
 //
-// "$Id: foo.drv 361 2007-10-01 20:03:46Z mike $"
+// "$Id: foo.drv 3247 2011-05-12 06:22:31Z msweet $"
 //
 //   PPD file compiler test data file for CUPS.
 //
@@ -543,5 +543,5 @@ Attribute cupsIPPReason "com.foo-serious-error/A Serious Error" "http://foo.com/
 
 
 //
-// End of "$Id: foo.drv 361 2007-10-01 20:03:46Z mike $".
+// End of "$Id: foo.drv 3247 2011-05-12 06:22:31Z msweet $".
 //
index 616e3b1..f3496c7 100644 (file)
@@ -1,5 +1,5 @@
 //
-// "$Id: genstrings.cxx 9793 2011-05-20 03:49:49Z mike $"
+// "$Id: genstrings.cxx 11173 2013-07-23 12:31:34Z msweet $"
 //
 //   GNU gettext message generator for the CUPS PPD Compiler.
 //
@@ -211,5 +211,5 @@ write_cstring(const char *s)                /* I - String to write */
 
 
 //
-// End of "$Id: genstrings.cxx 9793 2011-05-20 03:49:49Z mike $".
+// End of "$Id: genstrings.cxx 11173 2013-07-23 12:31:34Z msweet $".
 //
index b5060c0..603ceb6 100644 (file)
@@ -1,5 +1,5 @@
 //
-// "$Id: ppdc-array.cxx 8484 2009-04-03 17:35:17Z mike $"
+// "$Id: ppdc-array.cxx 11173 2013-07-23 12:31:34Z msweet $"
 //
 //   Array class for the CUPS PPD Compiler.
 //
@@ -164,5 +164,5 @@ ppdcArray::remove(ppdcShared *d)            // I - Data element
 
 
 //
-// End of "$Id: ppdc-array.cxx 8484 2009-04-03 17:35:17Z mike $".
+// End of "$Id: ppdc-array.cxx 11173 2013-07-23 12:31:34Z msweet $".
 //
index 64b2a59..01286e7 100644 (file)
@@ -1,5 +1,5 @@
 //
-// "$Id: ppdc-attr.cxx 8484 2009-04-03 17:35:17Z mike $"
+// "$Id: ppdc-attr.cxx 11173 2013-07-23 12:31:34Z msweet $"
 //
 //   Attribute class for the CUPS PPD Compiler.
 //
@@ -62,5 +62,5 @@ ppdcAttr::~ppdcAttr()
 
 
 //
-// End of "$Id: ppdc-attr.cxx 8484 2009-04-03 17:35:17Z mike $".
+// End of "$Id: ppdc-attr.cxx 11173 2013-07-23 12:31:34Z msweet $".
 //
index bbadc5d..ab23717 100644 (file)
@@ -1,9 +1,9 @@
 //
-// "$Id: ppdc-catalog.cxx 9384 2010-11-22 07:06:39Z mike $"
+// "$Id: ppdc-catalog.cxx 11173 2013-07-23 12:31:34Z msweet $"
 //
 //   Shared message catalog class for the CUPS PPD Compiler.
 //
-//   Copyright 2007-2010 by Apple Inc.
+//   Copyright 2007-2012 by Apple Inc.
 //   Copyright 2002-2006 by Easy Software Products.
 //
 //   These coded instructions, statements, and computer programs are the
@@ -206,8 +206,8 @@ ppdcCatalog::load_messages(
   else if (!strcmp(ptr, ".strings"))
   {
    /*
-    * Read messages in Mac OS X ".strings" format, which are UTF-16 text
-    * files of the format:
+    * Read messages in OS X ".strings" format, which are UTF-16 text files of
+    * the format:
     *
     *     "id" = "str";
     *
@@ -318,7 +318,7 @@ ppdcCatalog::load_messages(
     int        which,                          // In msgid?
        haveid,                         // Did we get a msgid string?
        havestr;                        // Did we get a msgstr string?
-               
+
     linenum = 0;
     id[0]   = '\0';
     str[0]  = '\0';
@@ -893,5 +893,5 @@ put_utf16(cups_file_t *fp,          // I - File to write to
 
 
 //
-// End of "$Id: ppdc-catalog.cxx 9384 2010-11-22 07:06:39Z mike $".
+// End of "$Id: ppdc-catalog.cxx 11173 2013-07-23 12:31:34Z msweet $".
 //
index e3d0dff..90872cb 100644 (file)
@@ -1,5 +1,5 @@
 //
-// "$Id: ppdc-choice.cxx 8484 2009-04-03 17:35:17Z mike $"
+// "$Id: ppdc-choice.cxx 11173 2013-07-23 12:31:34Z msweet $"
 //
 //   Option choice class for the CUPS PPD Compiler.
 //
@@ -57,5 +57,5 @@ ppdcChoice::~ppdcChoice()
 
 
 //
-// End of "$Id: ppdc-choice.cxx 8484 2009-04-03 17:35:17Z mike $".
+// End of "$Id: ppdc-choice.cxx 11173 2013-07-23 12:31:34Z msweet $".
 //
index aecd5f0..948c329 100644 (file)
@@ -1,5 +1,5 @@
 //
-// "$Id: ppdc-constraint.cxx 8484 2009-04-03 17:35:17Z mike $"
+// "$Id: ppdc-constraint.cxx 11173 2013-07-23 12:31:34Z msweet $"
 //
 //   Contraint class for the CUPS PPD Compiler.
 //
@@ -60,5 +60,5 @@ ppdcConstraint::~ppdcConstraint()
 
 
 //
-// End of "$Id: ppdc-constraint.cxx 8484 2009-04-03 17:35:17Z mike $".
+// End of "$Id: ppdc-constraint.cxx 11173 2013-07-23 12:31:34Z msweet $".
 //
index 5235f44..61b2d24 100644 (file)
@@ -1,5 +1,5 @@
 //
-// "$Id: ppdc-driver.cxx 9793 2011-05-20 03:49:49Z mike $"
+// "$Id: ppdc-driver.cxx 11173 2013-07-23 12:31:34Z msweet $"
 //
 //   PPD file compiler definitions for the CUPS PPD Compiler.
 //
@@ -1025,7 +1025,16 @@ ppdcDriver::write_ppd_file(
       if (!o->choices->count)
         continue;
 
-      if (!o->text->value)
+      if (o->section == PPDC_SECTION_JCL)
+      {
+       if (!o->text->value)
+         cupsFilePrintf(fp, "*JCLOpenUI *%s/%s: ", o->name->value,
+                        catalog->find_message(o->name->value));
+       else
+         cupsFilePrintf(fp, "*JCLOpenUI *%s/%s: ", o->name->value,
+                        catalog->find_message(o->text->value));
+      }
+      else if (!o->text->value)
        cupsFilePrintf(fp, "*OpenUI *%s/%s: ", o->name->value,
                       catalog->find_message(o->name->value));
       else
@@ -1335,5 +1344,5 @@ ppdcDriver::write_ppd_file(
 
 
 //
-// End of "$Id: ppdc-driver.cxx 9793 2011-05-20 03:49:49Z mike $".
+// End of "$Id: ppdc-driver.cxx 11173 2013-07-23 12:31:34Z msweet $".
 //
index 0e373f9..3c243f3 100644 (file)
@@ -1,5 +1,5 @@
 //
-// "$Id: ppdc-file.cxx 10338 2012-03-07 06:05:39Z mike $"
+// "$Id: ppdc-file.cxx 11173 2013-07-23 12:31:34Z msweet $"
 //
 //   File class for the CUPS PPD Compiler.
 //
@@ -106,5 +106,5 @@ ppdcFile::peek()
 
 
 //
-// End of "$Id: ppdc-file.cxx 10338 2012-03-07 06:05:39Z mike $".
+// End of "$Id: ppdc-file.cxx 11173 2013-07-23 12:31:34Z msweet $".
 //
index 06a164c..0b0bf4b 100644 (file)
@@ -1,5 +1,5 @@
 //
-// "$Id: ppdc-filter.cxx 8484 2009-04-03 17:35:17Z mike $"
+// "$Id: ppdc-filter.cxx 11173 2013-07-23 12:31:34Z msweet $"
 //
 //   Filter class for the CUPS PPD Compiler.
 //
@@ -56,5 +56,5 @@ ppdcFilter::~ppdcFilter()
 
 
 //
-// End of "$Id: ppdc-filter.cxx 8484 2009-04-03 17:35:17Z mike $".
+// End of "$Id: ppdc-filter.cxx 11173 2013-07-23 12:31:34Z msweet $".
 //
index 909b83c..d7b5f26 100644 (file)
@@ -1,5 +1,5 @@
 //
-// "$Id: ppdc-font.cxx 8484 2009-04-03 17:35:17Z mike $"
+// "$Id: ppdc-font.cxx 11173 2013-07-23 12:31:34Z msweet $"
 //
 //   Shared font class for the CUPS PPD Compiler.
 //
@@ -62,5 +62,5 @@ ppdcFont::~ppdcFont()
 
 
 //
-// End of "$Id: ppdc-font.cxx 8484 2009-04-03 17:35:17Z mike $".
+// End of "$Id: ppdc-font.cxx 11173 2013-07-23 12:31:34Z msweet $".
 //
index 5db59c8..56c847b 100644 (file)
@@ -1,5 +1,5 @@
 //
-// "$Id: ppdc-group.cxx 9793 2011-05-20 03:49:49Z mike $"
+// "$Id: ppdc-group.cxx 11173 2013-07-23 12:31:34Z msweet $"
 //
 //   Group class for the CUPS PPD Compiler.
 //
@@ -99,5 +99,5 @@ ppdcGroup::find_option(const char *n) // I - Name of option
 
 
 //
-// End of "$Id: ppdc-group.cxx 9793 2011-05-20 03:49:49Z mike $".
+// End of "$Id: ppdc-group.cxx 11173 2013-07-23 12:31:34Z msweet $".
 //
index 1bf9b03..1c2a1c8 100644 (file)
@@ -1,5 +1,5 @@
 //
-// "$Id: ppdc-import.cxx 9793 2011-05-20 03:49:49Z mike $"
+// "$Id: ppdc-import.cxx 11173 2013-07-23 12:31:34Z msweet $"
 //
 //   PPD file import methods for the CUPS PPD Compiler.
 //
@@ -339,5 +339,5 @@ ppdcSource::import_ppd(const char *f)       // I - Filename
 
 
 //
-// End of "$Id: ppdc-import.cxx 9793 2011-05-20 03:49:49Z mike $".
+// End of "$Id: ppdc-import.cxx 11173 2013-07-23 12:31:34Z msweet $".
 //
index 90831da..43bcf79 100644 (file)
@@ -1,5 +1,5 @@
 //
-// "$Id: ppdc-mediasize.cxx 8484 2009-04-03 17:35:17Z mike $"
+// "$Id: ppdc-mediasize.cxx 11173 2013-07-23 12:31:34Z msweet $"
 //
 //   Shared media size class for the CUPS PPD Compiler.
 //
@@ -81,5 +81,5 @@ ppdcMediaSize::~ppdcMediaSize()
 
 
 //
-// End of "$Id: ppdc-mediasize.cxx 8484 2009-04-03 17:35:17Z mike $".
+// End of "$Id: ppdc-mediasize.cxx 11173 2013-07-23 12:31:34Z msweet $".
 //
index a0c9ad6..614c237 100644 (file)
@@ -1,5 +1,5 @@
 //
-// "$Id: ppdc-message.cxx 8484 2009-04-03 17:35:17Z mike $"
+// "$Id: ppdc-message.cxx 11173 2013-07-23 12:31:34Z msweet $"
 //
 //   Shared message class for the CUPS PPD Compiler.
 //
@@ -54,5 +54,5 @@ ppdcMessage::~ppdcMessage()
 
 
 //
-// End of "$Id: ppdc-message.cxx 8484 2009-04-03 17:35:17Z mike $".
+// End of "$Id: ppdc-message.cxx 11173 2013-07-23 12:31:34Z msweet $".
 //
index 12897fe..6bbe1db 100644 (file)
@@ -1,5 +1,5 @@
 //
-// "$Id: ppdc-option.cxx 9793 2011-05-20 03:49:49Z mike $"
+// "$Id: ppdc-option.cxx 11173 2013-07-23 12:31:34Z msweet $"
 //
 //   Option class for the CUPS PPD Compiler.
 //
@@ -125,5 +125,5 @@ ppdcOption::set_defchoice(ppdcChoice *c)    // I - Choice
 
 
 //
-// End of "$Id: ppdc-option.cxx 9793 2011-05-20 03:49:49Z mike $".
+// End of "$Id: ppdc-option.cxx 11173 2013-07-23 12:31:34Z msweet $".
 //
index b862c58..2fea438 100644 (file)
@@ -1,5 +1,5 @@
 //
-// "$Id: ppdc-private.h 9042 2010-03-24 00:45:34Z mike $"
+// "$Id: ppdc-private.h 1992 2010-03-24 14:32:08Z msweet $"
 //
 //   Private definitions for the CUPS PPD Compiler.
 //
@@ -36,5 +36,5 @@
 #endif // !_PPDC_PRIVATE_H_
 
 //
-// End of "$Id: ppdc-private.h 9042 2010-03-24 00:45:34Z mike $".
+// End of "$Id: ppdc-private.h 1992 2010-03-24 14:32:08Z msweet $".
 //
index 2cbe7eb..0a63666 100644 (file)
@@ -1,5 +1,5 @@
 //
-// "$Id: ppdc-profile.cxx 8484 2009-04-03 17:35:17Z mike $"
+// "$Id: ppdc-profile.cxx 11173 2013-07-23 12:31:34Z msweet $"
 //
 //   Color profile class for the CUPS PPD Compiler.
 //
@@ -61,5 +61,5 @@ ppdcProfile::~ppdcProfile()
 
 
 //
-// End of "$Id: ppdc-profile.cxx 8484 2009-04-03 17:35:17Z mike $".
+// End of "$Id: ppdc-profile.cxx 11173 2013-07-23 12:31:34Z msweet $".
 //
index 64a4cc7..bd2983b 100644 (file)
@@ -1,5 +1,5 @@
 //
-// "$Id: ppdc-shared.cxx 8694 2009-06-05 16:47:19Z mike $"
+// "$Id: ppdc-shared.cxx 11173 2013-07-23 12:31:34Z msweet $"
 //
 //   Shared data class for the CUPS PPD Compiler.
 //
@@ -84,5 +84,5 @@ ppdcShared::retain()
 
 
 //
-// End of "$Id: ppdc-shared.cxx 8694 2009-06-05 16:47:19Z mike $".
+// End of "$Id: ppdc-shared.cxx 11173 2013-07-23 12:31:34Z msweet $".
 //
index 17aadab..46c1bdd 100644 (file)
@@ -1,5 +1,5 @@
 //
-// "$Id: ppdc-source.cxx 10379 2012-03-23 22:16:22Z mike $"
+// "$Id: ppdc-source.cxx 11173 2013-07-23 12:31:34Z msweet $"
 //
 //   Source class for the CUPS PPD Compiler.
 //
 #include <unistd.h>
 #include <cups/raster.h>
 #include "data/epson.h"
-#include "data/escp.h"
 #include "data/hp.h"
 #include "data/label.h"
-#include "data/pcl.h"
 #ifndef WIN32
 #  include <sys/utsname.h>
 #endif // !WIN32
@@ -3552,64 +3550,6 @@ ppdcSource::write_file(const char *f)    // I - File to write
     {
       switch (d->type)
       {
-        case PPDC_DRIVER_ESCP :
-           cupsFilePuts(fp, "  ModelNumber (");
-
-           if (d->model_number & ESCP_DOTMATRIX)
-             cupsFilePuts(fp, " $ESCP_DOTMATRIX");
-           if (d->model_number & ESCP_MICROWEAVE)
-             cupsFilePuts(fp, " $ESCP_MICROWEAVE");
-           if (d->model_number & ESCP_STAGGER)
-             cupsFilePuts(fp, " $ESCP_STAGGER");
-           if (d->model_number & ESCP_ESCK)
-             cupsFilePuts(fp, " $ESCP_ESCK");
-           if (d->model_number & ESCP_EXT_UNITS)
-             cupsFilePuts(fp, " $ESCP_EXT_UNITS");
-           if (d->model_number & ESCP_EXT_MARGINS)
-             cupsFilePuts(fp, " $ESCP_EXT_MARGINS");
-           if (d->model_number & ESCP_USB)
-             cupsFilePuts(fp, " $ESCP_USB");
-           if (d->model_number & ESCP_PAGE_SIZE)
-             cupsFilePuts(fp, " $ESCP_PAGE_SIZE");
-           if (d->model_number & ESCP_RASTER_ESCI)
-             cupsFilePuts(fp, " $ESCP_RASTER_ESCI");
-           if (d->model_number & ESCP_REMOTE)
-             cupsFilePuts(fp, " $ESCP_REMOTE");
-
-           cupsFilePuts(fp, ")\n");
-           break;
-
-       case PPDC_DRIVER_PCL :
-           cupsFilePuts(fp, "  ModelNumber (");
-
-           if (d->model_number & PCL_PAPER_SIZE)
-             cupsFilePuts(fp, " $PCL_PAPER_SIZE");
-           if (d->model_number & PCL_INKJET)
-             cupsFilePuts(fp, " $PCL_INKJET");
-           if (d->model_number & PCL_RASTER_END_COLOR)
-             cupsFilePuts(fp, " $PCL_RASTER_END_COLOR");
-           if (d->model_number & PCL_RASTER_CID)
-             cupsFilePuts(fp, " $PCL_RASTER_CID");
-           if (d->model_number & PCL_RASTER_CRD)
-             cupsFilePuts(fp, " $PCL_RASTER_CRD");
-           if (d->model_number & PCL_RASTER_SIMPLE)
-             cupsFilePuts(fp, " $PCL_RASTER_SIMPLE");
-           if (d->model_number & PCL_RASTER_RGB24)
-             cupsFilePuts(fp, " $PCL_RASTER_RGB24");
-           if (d->model_number & PCL_PJL)
-             cupsFilePuts(fp, " $PCL_PJL");
-           if (d->model_number & PCL_PJL_PAPERWIDTH)
-             cupsFilePuts(fp, " $PCL_PJL_PAPERWIDTH");
-           if (d->model_number & PCL_PJL_HPGL2)
-             cupsFilePuts(fp, " $PCL_PJL_HPGL2");
-           if (d->model_number & PCL_PJL_PCL3GUI)
-             cupsFilePuts(fp, " $PCL_PJL_PCL3GUI");
-           if (d->model_number & PCL_PJL_RESOLUTION)
-             cupsFilePuts(fp, " $PCL_PJL_RESOLUTION");
-
-           cupsFilePuts(fp, ")\n");
-           break;
-
        case PPDC_DRIVER_LABEL :
            cupsFilePuts(fp, "  ModelNumber ");
 
@@ -3907,5 +3847,5 @@ ppdcSource::write_file(const char *f)     // I - File to write
 
 
 //
-// End of "$Id: ppdc-source.cxx 10379 2012-03-23 22:16:22Z mike $".
+// End of "$Id: ppdc-source.cxx 11173 2013-07-23 12:31:34Z msweet $".
 //
index 6f8ef1f..f9dfb9e 100644 (file)
@@ -1,5 +1,5 @@
 //
-// "$Id: ppdc-string.cxx 8698 2009-06-05 20:49:06Z mike $"
+// "$Id: ppdc-string.cxx 11173 2013-07-23 12:31:34Z msweet $"
 //
 //   Shared string class for the CUPS PPD Compiler.
 //
@@ -58,5 +58,5 @@ ppdcString::~ppdcString()
 
 
 //
-// End of "$Id: ppdc-string.cxx 8698 2009-06-05 20:49:06Z mike $".
+// End of "$Id: ppdc-string.cxx 11173 2013-07-23 12:31:34Z msweet $".
 //
index c8ecd3b..22b926c 100644 (file)
@@ -1,5 +1,5 @@
 //
-// "$Id: ppdc-variable.cxx 8484 2009-04-03 17:35:17Z mike $"
+// "$Id: ppdc-variable.cxx 11173 2013-07-23 12:31:34Z msweet $"
 //
 //   Variable class for the CUPS PPD Compiler.
 //
@@ -67,5 +67,5 @@ ppdcVariable::set_value(const char *v)
 
 
 //
-// End of "$Id: ppdc-variable.cxx 8484 2009-04-03 17:35:17Z mike $".
+// End of "$Id: ppdc-variable.cxx 11173 2013-07-23 12:31:34Z msweet $".
 //
index da643f8..55990c4 100644 (file)
@@ -1,9 +1,9 @@
 //
-// "$Id: ppdc.cxx 9793 2011-05-20 03:49:49Z mike $"
+// "$Id: ppdc.cxx 11173 2013-07-23 12:31:34Z msweet $"
 //
 //   PPD file compiler main entry for the CUPS PPD Compiler.
 //
-//   Copyright 2007-2011 by Apple Inc.
+//   Copyright 2007-2012 by Apple Inc.
 //   Copyright 2002-2007 by Easy Software Products.
 //
 //   These coded instructions, statements, and computer programs are the
@@ -449,8 +449,7 @@ usage(void)
                           "as the filename."));
   _cupsLangPuts(stdout, _("  -t                      Test PPDs instead of "
                           "generating them."));
-  _cupsLangPuts(stdout, _("  -v                      Be verbose (more v's for "
-                          "more verbosity)."));
+  _cupsLangPuts(stdout, _("  -v                      Be verbose."));
   _cupsLangPuts(stdout, _("  -z                      Compress PPD files using "
                           "GNU zip."));
   _cupsLangPuts(stdout, _("  --cr                    End lines with CR (Mac "
@@ -458,12 +457,12 @@ usage(void)
   _cupsLangPuts(stdout, _("  --crlf                  End lines with CR + LF "
                           "(Windows)."));
   _cupsLangPuts(stdout, _("  --lf                    End lines with LF "
-                          "(UNIX/Linux/Mac OS X)."));
+                          "(UNIX/Linux/OS X)."));
 
   exit(1);
 }
 
 
 //
-// End of "$Id: ppdc.cxx 9793 2011-05-20 03:49:49Z mike $".
+// End of "$Id: ppdc.cxx 11173 2013-07-23 12:31:34Z msweet $".
 //
index 121274a..0aad125 100644 (file)
@@ -1,5 +1,5 @@
 //
-// "$Id: ppdc.h 10338 2012-03-07 06:05:39Z mike $"
+// "$Id: ppdc.h 3755 2012-03-30 05:59:14Z msweet $"
 //
 //   Definitions for the CUPS PPD Compiler.
 //
@@ -529,5 +529,5 @@ class ppdcSource                    //// Source File
 #endif // !_PPDC_H_
 
 //
-// End of "$Id: ppdc.h 10338 2012-03-07 06:05:39Z mike $".
+// End of "$Id: ppdc.h 3755 2012-03-30 05:59:14Z msweet $".
 //
index 05ddc41..89d7393 100644 (file)
@@ -1,5 +1,5 @@
 //
-// "$Id: ppdhtml.cxx 9636 2011-03-21 22:02:00Z mike $"
+// "$Id: ppdhtml.cxx 11173 2013-07-23 12:31:34Z msweet $"
 //
 //   PPD to HTML utility for the CUPS PPD Compiler.
 //
@@ -182,5 +182,5 @@ usage(void)
 
 
 //
-// End of "$Id: ppdhtml.cxx 9636 2011-03-21 22:02:00Z mike $".
+// End of "$Id: ppdhtml.cxx 11173 2013-07-23 12:31:34Z msweet $".
 //
index 7ca202d..2ebe410 100644 (file)
@@ -1,5 +1,5 @@
 //
-// "$Id: ppdi.cxx 9636 2011-03-21 22:02:00Z mike $"
+// "$Id: ppdi.cxx 11173 2013-07-23 12:31:34Z msweet $"
 //
 //   PPD file import utility for the CUPS PPD Compiler.
 //
@@ -138,5 +138,5 @@ usage(void)
 
 
 //
-// End of "$Id: ppdi.cxx 9636 2011-03-21 22:02:00Z mike $".
+// End of "$Id: ppdi.cxx 11173 2013-07-23 12:31:34Z msweet $".
 //
index c2126a5..2564905 100644 (file)
@@ -1,5 +1,5 @@
 //
-// "$Id: ppdmerge.cxx 9793 2011-05-20 03:49:49Z mike $"
+// "$Id: ppdmerge.cxx 11173 2013-07-23 12:31:34Z msweet $"
 //
 //   PPD file merge utility for the CUPS PPD Compiler.
 //
@@ -375,5 +375,5 @@ usage(void)
 
 
 //
-// End of "$Id: ppdmerge.cxx 9793 2011-05-20 03:49:49Z mike $".
+// End of "$Id: ppdmerge.cxx 11173 2013-07-23 12:31:34Z msweet $".
 //
index 9c92252..14e96d0 100644 (file)
@@ -1,9 +1,9 @@
 //
-// "$Id: ppdpo.cxx 9793 2011-05-20 03:49:49Z mike $"
+// "$Id: ppdpo.cxx 11173 2013-07-23 12:31:34Z msweet $"
 //
 //   PPD file message catalog program for the CUPS PPD Compiler.
 //
-//   Copyright 2007-2011 by Apple Inc.
+//   Copyright 2007-2012 by Apple Inc.
 //   Copyright 2002-2005 by Easy Software Products.
 //
 //   These coded instructions, statements, and computer programs are the
@@ -256,13 +256,12 @@ usage(void)
                           "value."));
   _cupsLangPuts(stdout, _("  -I include-dir          Add include directory to "
                           "search path."));
-  _cupsLangPuts(stdout, _("  -v                      Be verbose (more v's for "
-                          "more verbosity)."));
+  _cupsLangPuts(stdout, _("  -v                      Be verbose."));
 
   exit(1);
 }
 
 
 //
-// End of "$Id: ppdpo.cxx 9793 2011-05-20 03:49:49Z mike $".
+// End of "$Id: ppdpo.cxx 11173 2013-07-23 12:31:34Z msweet $".
 //
index 010ccb2..ec808d2 100644 (file)
@@ -1,5 +1,5 @@
 //
-// "$Id: sample.drv 9588 2011-03-07 16:53:16Z mike $"
+// "$Id: sample.drv 3794 2012-04-23 22:44:16Z msweet $"
 //
 //   Driver info file for CUPS-supplied PPDs.
 //
 //#po zh_TW ""
 
 // MediaSize sizes used by label drivers...
-#media "w81h252/Address - 1 1/8 x 3 1/2\"" 81 252
-#media "w101h252/Large Address - 1 4/10 x 3 1/2\"" 101 252
-#media "w54h144/Return Address - 3/4 x 2\"" 54 144
-#media "w167h288/Shipping Address - 2 5/16 x 4\"" 167 288
-#media "w162h540/Internet Postage 2-Part - 2 1/4 x 7 1/2\"" 162 540
-#media "w162h504/Internet Postage 3-Part - 2 1/4 x 7\"" 162 504
-#media "w41h248/File Folder - 9/16 x 3 7/16\"" 41 248
-#media "w41h144/Hanging Folder - 9/16 x 2\"" 41 144
-#media "w153h198/3.5\" Disk - 2 1/8 x 2 3/4\"" 153 198
 #media "w90h18/1.25x0.25\"" 90 18
 #media "w90h162/1.25x2.25\"" 90 162
 #media "w108h18/1.50x0.25\"" 108 18
 #media "w576h468/8.00x6.50\"" 576 468
 
 // Common stuff for all drivers...
-Attribute "cupsVersion" "" "1.5"
+Attribute "cupsVersion" "" "1.6"
 Attribute "FileSystem" "" "False"
 Attribute "LandscapeOrientation" "" "Plus90"
 Attribute "TTRasterizer" "" "Type42"
 
-Copyright "Copyright 2007-2011 by Apple Inc."
+Copyright "Copyright 2007-2012 by Apple Inc."
 Copyright "Copyright 1997-2007 by Easy Software Products."
 Copyright ""
 Copyright "These coded instructions, statements, and computer programs are the"
@@ -1250,5 +1241,5 @@ Version "1.5"
 }
 
 //
-// End of "$Id: sample.drv 9588 2011-03-07 16:53:16Z mike $".
+// End of "$Id: sample.drv 3794 2012-04-23 22:44:16Z msweet $".
 //
index da64b8e..1e8ecaa 100644 (file)
@@ -1,5 +1,5 @@
 //
-// "$Id: testcatalog.cxx 8487 2009-04-03 23:58:57Z mike $"
+// "$Id: testcatalog.cxx 11173 2013-07-23 12:31:34Z msweet $"
 //
 //   Test program for message catalog class.
 //
@@ -59,5 +59,5 @@ main(int  argc,                               // I - Number of command-line arguments
 
 
 //
-// End of "$Id: testcatalog.cxx 8487 2009-04-03 23:58:57Z mike $".
+// End of "$Id: testcatalog.cxx 11173 2013-07-23 12:31:34Z msweet $".
 //
index 5be01ff..2035646 100644 (file)
-# DO NOT DELETE
-
-auth.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-auth.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-auth.o: ../cups/language.h ../cups/string-private.h ../config.h
-auth.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
-auth.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-auth.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-auth.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-auth.o: ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h
-auth.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h sysman.h
-auth.o: statbuf.h cert.h auth.h client.h policy.h printers.h
-auth.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
-auth.o: network.h subscriptions.h
-banners.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-banners.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-banners.o: ../cups/language.h ../cups/string-private.h ../config.h
-banners.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
-banners.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-banners.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-banners.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-banners.o: ../cups/transcode.h ../cups/thread-private.h
-banners.o: ../cups/file-private.h ../cups/cups-private.h mime.h
-banners.o: ../cups/array.h ../cups/file.h sysman.h statbuf.h cert.h auth.h
-banners.o: client.h policy.h printers.h ../cups/pwg-private.h classes.h job.h
-banners.o: conf.h banners.h dirsvc.h network.h subscriptions.h ../cups/dir.h
-cert.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-cert.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-cert.o: ../cups/language.h ../cups/string-private.h ../config.h
-cert.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
-cert.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-cert.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-cert.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-cert.o: ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h
-cert.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h sysman.h
-cert.o: statbuf.h cert.h auth.h client.h policy.h printers.h
-cert.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
-cert.o: network.h subscriptions.h
-classes.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-classes.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-classes.o: ../cups/language.h ../cups/string-private.h ../config.h
-classes.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
-classes.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-classes.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-classes.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-classes.o: ../cups/transcode.h ../cups/thread-private.h
-classes.o: ../cups/file-private.h ../cups/cups-private.h mime.h
-classes.o: ../cups/array.h ../cups/file.h sysman.h statbuf.h cert.h auth.h
-classes.o: client.h policy.h printers.h ../cups/pwg-private.h classes.h job.h
-classes.o: conf.h banners.h dirsvc.h network.h subscriptions.h
-client.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-client.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-client.o: ../cups/language.h ../cups/string-private.h ../config.h
-client.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
-client.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-client.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-client.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-client.o: ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h
-client.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h
-client.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
-client.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
-client.o: network.h subscriptions.h
-conf.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-conf.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-conf.o: ../cups/language.h ../cups/string-private.h ../config.h
-conf.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
-conf.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-conf.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-conf.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-conf.o: ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h
-conf.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h sysman.h
-conf.o: statbuf.h cert.h auth.h client.h policy.h printers.h
-conf.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
-conf.o: network.h subscriptions.h
-dirsvc.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-dirsvc.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-dirsvc.o: ../cups/language.h ../cups/string-private.h ../config.h
-dirsvc.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
-dirsvc.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-dirsvc.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-dirsvc.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-dirsvc.o: ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h
-dirsvc.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h
-dirsvc.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
-dirsvc.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
-dirsvc.o: network.h subscriptions.h
-env.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-env.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-env.o: ../cups/language.h ../cups/string-private.h ../config.h
-env.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
-env.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-env.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-env.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-env.o: ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h
-env.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h sysman.h
-env.o: statbuf.h cert.h auth.h client.h policy.h printers.h
-env.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
-env.o: network.h subscriptions.h
-file.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-file.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-file.o: ../cups/language.h ../cups/string-private.h ../config.h
-file.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
-file.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-file.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-file.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-file.o: ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h
-file.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h sysman.h
-file.o: statbuf.h cert.h auth.h client.h policy.h printers.h
-file.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
-file.o: network.h subscriptions.h ../cups/dir.h
-main.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-main.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-main.o: ../cups/language.h ../cups/string-private.h ../config.h
-main.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
-main.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-main.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-main.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-main.o: ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h
-main.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h sysman.h
-main.o: statbuf.h cert.h auth.h client.h policy.h printers.h
-main.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
-main.o: network.h subscriptions.h
-ipp.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-ipp.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-ipp.o: ../cups/language.h ../cups/string-private.h ../config.h
-ipp.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
-ipp.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-ipp.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-ipp.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-ipp.o: ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h
-ipp.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h sysman.h
-ipp.o: statbuf.h cert.h auth.h client.h policy.h printers.h
-ipp.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
-ipp.o: network.h subscriptions.h ../cups/ppd-private.h
-listen.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-listen.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-listen.o: ../cups/language.h ../cups/string-private.h ../config.h
-listen.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
-listen.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-listen.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-listen.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-listen.o: ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h
-listen.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h
-listen.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
-listen.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
-listen.o: network.h subscriptions.h
-job.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-job.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-job.o: ../cups/language.h ../cups/string-private.h ../config.h
-job.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
-job.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-job.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-job.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-job.o: ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h
-job.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h sysman.h
-job.o: statbuf.h cert.h auth.h client.h policy.h printers.h
-job.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
-job.o: network.h subscriptions.h ../cups/backend.h ../cups/dir.h
-log.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-log.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-log.o: ../cups/language.h ../cups/string-private.h ../config.h
-log.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
-log.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-log.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-log.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-log.o: ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h
-log.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h sysman.h
-log.o: statbuf.h cert.h auth.h client.h policy.h printers.h
-log.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
-log.o: network.h subscriptions.h
-network.o: ../cups/http-private.h ../config.h ../cups/http.h
-network.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h cupsd.h
-network.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-network.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-network.o: ../cups/language.h ../cups/string-private.h
-network.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
-network.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-network.o: ../cups/http-private.h ../cups/language-private.h
-network.o: ../cups/transcode.h ../cups/thread-private.h
-network.o: ../cups/file-private.h ../cups/cups-private.h mime.h
-network.o: ../cups/array.h ../cups/file.h sysman.h statbuf.h cert.h auth.h
-network.o: client.h policy.h printers.h ../cups/pwg-private.h classes.h job.h
-network.o: conf.h banners.h dirsvc.h network.h subscriptions.h
-policy.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-policy.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-policy.o: ../cups/language.h ../cups/string-private.h ../config.h
-policy.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
-policy.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-policy.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-policy.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-policy.o: ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h
-policy.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h
-policy.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
-policy.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
-policy.o: network.h subscriptions.h
-printers.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-printers.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-printers.o: ../cups/language.h ../cups/string-private.h ../config.h
-printers.o: ../cups/debug-private.h ../cups/versioning.h
-printers.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-printers.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-printers.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-printers.o: ../cups/language-private.h ../cups/transcode.h
-printers.o: ../cups/thread-private.h ../cups/file-private.h
-printers.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h
-printers.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
-printers.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
-printers.o: network.h subscriptions.h ../cups/dir.h
-process.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-process.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-process.o: ../cups/language.h ../cups/string-private.h ../config.h
-process.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
-process.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-process.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-process.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-process.o: ../cups/transcode.h ../cups/thread-private.h
-process.o: ../cups/file-private.h ../cups/cups-private.h mime.h
-process.o: ../cups/array.h ../cups/file.h sysman.h statbuf.h cert.h auth.h
-process.o: client.h policy.h printers.h ../cups/pwg-private.h classes.h job.h
-process.o: conf.h banners.h dirsvc.h network.h subscriptions.h
-quotas.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-quotas.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-quotas.o: ../cups/language.h ../cups/string-private.h ../config.h
-quotas.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
-quotas.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-quotas.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-quotas.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-quotas.o: ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h
-quotas.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h
-quotas.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
-quotas.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
-quotas.o: network.h subscriptions.h
-select.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-select.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-select.o: ../cups/language.h ../cups/string-private.h ../config.h
-select.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
-select.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-select.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-select.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-select.o: ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h
-select.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h
-select.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
-select.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
-select.o: network.h subscriptions.h
-server.o: ../cups/http-private.h ../config.h ../cups/http.h
-server.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h cupsd.h
-server.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-server.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-server.o: ../cups/language.h ../cups/string-private.h ../cups/debug-private.h
-server.o: ../cups/versioning.h ../cups/ppd-private.h ../cups/ppd.h
-server.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-server.o: ../cups/language-private.h ../cups/transcode.h
-server.o: ../cups/thread-private.h ../cups/file-private.h
-server.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h
-server.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
-server.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
-server.o: network.h subscriptions.h
-statbuf.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-statbuf.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-statbuf.o: ../cups/language.h ../cups/string-private.h ../config.h
-statbuf.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
-statbuf.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-statbuf.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-statbuf.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-statbuf.o: ../cups/transcode.h ../cups/thread-private.h
-statbuf.o: ../cups/file-private.h ../cups/cups-private.h mime.h
-statbuf.o: ../cups/array.h ../cups/file.h sysman.h statbuf.h cert.h auth.h
-statbuf.o: client.h policy.h printers.h ../cups/pwg-private.h classes.h job.h
-statbuf.o: conf.h banners.h dirsvc.h network.h subscriptions.h
-subscriptions.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-subscriptions.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-subscriptions.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
-subscriptions.o: ../config.h ../cups/debug-private.h ../cups/versioning.h
-subscriptions.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-subscriptions.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-subscriptions.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-subscriptions.o: ../cups/language-private.h ../cups/transcode.h
-subscriptions.o: ../cups/thread-private.h ../cups/file-private.h
-subscriptions.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h
-subscriptions.o: sysman.h statbuf.h cert.h auth.h client.h policy.h
-subscriptions.o: printers.h ../cups/pwg-private.h classes.h job.h conf.h
-subscriptions.o: banners.h dirsvc.h network.h subscriptions.h
-sysman.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-sysman.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-sysman.o: ../cups/language.h ../cups/string-private.h ../config.h
-sysman.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
-sysman.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-sysman.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-sysman.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-sysman.o: ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h
-sysman.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h
-sysman.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
-sysman.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
-sysman.o: network.h subscriptions.h
-filter.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
-filter.o: ../cups/versioning.h mime.h ../cups/array.h ../cups/ipp.h
-filter.o: ../cups/file.h
-mime.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
-mime.o: ../cups/versioning.h ../cups/dir.h ../cups/versioning.h
-mime.o: mime-private.h mime.h ../cups/array.h ../cups/ipp.h ../cups/file.h
-type.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
-type.o: ../cups/versioning.h mime.h ../cups/array.h ../cups/ipp.h
-type.o: ../cups/file.h
-cupsfilter.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-cupsfilter.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-cupsfilter.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
-cupsfilter.o: ../config.h ../cups/debug-private.h ../cups/versioning.h
-cupsfilter.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-cupsfilter.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-cupsfilter.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-cupsfilter.o: ../cups/language-private.h ../cups/transcode.h
-cupsfilter.o: ../cups/thread-private.h ../cups/file-private.h
-cupsfilter.o: ../cups/cups-private.h ../cups/ppd-private.h mime.h
-cupsfilter.o: ../cups/array.h ../cups/file.h
-cups-deviced.o: util.h ../cups/array-private.h ../cups/array.h
-cups-deviced.o: ../cups/file-private.h ../cups/cups-private.h ../cups/dir.h
-cups-deviced.o: ../cups/versioning.h
-cups-exec.o: ../cups/string-private.h ../config.h
-cups-lpd.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-cups-lpd.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-cups-lpd.o: ../cups/language.h ../cups/string-private.h ../config.h
-cups-lpd.o: ../cups/debug-private.h ../cups/versioning.h
-cups-lpd.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-cups-lpd.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-cups-lpd.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-cups-lpd.o: ../cups/language-private.h ../cups/transcode.h
-cups-lpd.o: ../cups/thread-private.h
-cups-polld.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-cups-polld.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-cups-polld.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
-cups-polld.o: ../config.h ../cups/debug-private.h ../cups/versioning.h
-cups-polld.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-cups-polld.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-cups-polld.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-cups-polld.o: ../cups/language-private.h ../cups/transcode.h
-cups-polld.o: ../cups/thread-private.h
-testdirsvc.o: ../cups/cups.h ../cups/file.h ../cups/versioning.h
-testdirsvc.o: ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
-testdirsvc.o: ../cups/string-private.h ../config.h
-testlpd.o: ../cups/cups.h ../cups/file.h ../cups/versioning.h ../cups/ipp.h
-testlpd.o: ../cups/http.h ../cups/array.h ../cups/language.h
-testlpd.o: ../cups/string-private.h ../config.h
-testmime.o: ../cups/string-private.h ../config.h ../cups/dir.h
-testmime.o: ../cups/versioning.h ../cups/debug-private.h ../cups/versioning.h
-testmime.o: ../cups/ppd-private.h mime.h ../cups/array.h ../cups/ipp.h
-testmime.o: ../cups/file.h
-testspeed.o: ../cups/string-private.h ../config.h ../cups/cups.h
-testspeed.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-testspeed.o: ../cups/array.h ../cups/language.h ../cups/language.h
-testspeed.o: ../cups/debug-private.h ../cups/versioning.h
-testsub.o: ../cups/cups.h ../cups/file.h ../cups/versioning.h ../cups/ipp.h
-testsub.o: ../cups/http.h ../cups/array.h ../cups/language.h
-testsub.o: ../cups/debug-private.h ../cups/versioning.h
-testsub.o: ../cups/string-private.h ../config.h
-util.o: util.h ../cups/array-private.h ../cups/array.h ../cups/file-private.h
-util.o: ../cups/cups-private.h
-cups-driverd.o: util.h ../cups/array-private.h ../cups/array.h
-cups-driverd.o: ../cups/file-private.h ../cups/cups-private.h ../cups/dir.h
-cups-driverd.o: ../cups/versioning.h ../cups/transcode.h ../cups/language.h
-cups-driverd.o: ../cups/array.h ../cups/ppd-private.h ../ppdc/ppdc.h
-cups-driverd.o: ../cups/file.h
+auth.o: auth.c cupsd.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h
+avahi.o: avahi.c ../config.h
+banners.o: banners.c cupsd.h ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h ../cups/dir.h
+cert.o: cert.c cupsd.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h
+classes.o: classes.c cupsd.h ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h
+client.o: client.c cupsd.h ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h
+conf.o: conf.c cupsd.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h
+dirsvc.o: dirsvc.c cupsd.h ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h
+env.o: env.c cupsd.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h
+file.o: file.c cupsd.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h ../cups/dir.h
+main.o: main.c cupsd.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h
+ipp.o: ipp.c cupsd.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h
+listen.o: listen.c cupsd.h ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h
+job.o: job.c cupsd.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h ../cups/backend.h ../cups/dir.h
+log.o: log.c cupsd.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h
+network.o: network.c ../cups/http-private.h ../config.h ../cups/http.h \
+  ../cups/versioning.h ../cups/array.h ../cups/md5-private.h \
+  ../cups/ipp-private.h ../cups/ipp.h cupsd.h ../cups/cups-private.h \
+  ../cups/string-private.h ../cups/debug-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h
+policy.o: policy.c cupsd.h ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h
+printers.o: printers.c cupsd.h ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h ../cups/dir.h
+process.o: process.c cupsd.h ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h
+quotas.o: quotas.c cupsd.h ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h
+select.o: select.c cupsd.h ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h
+server.o: server.c ../cups/http-private.h ../config.h ../cups/http.h \
+  ../cups/versioning.h ../cups/array.h ../cups/md5-private.h \
+  ../cups/ipp-private.h ../cups/ipp.h cupsd.h ../cups/cups-private.h \
+  ../cups/string-private.h ../cups/debug-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h
+statbuf.o: statbuf.c cupsd.h ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h
+subscriptions.o: subscriptions.c cupsd.h ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h
+sysman.o: sysman.c cupsd.h ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h
+timeout.o: timeout.c cupsd.h ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h
+tls.o: tls.c cupsd.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h tls-darwin.c
+filter.o: filter.c ../cups/string-private.h ../config.h \
+  ../cups/debug-private.h ../cups/versioning.h mime.h ../cups/array.h \
+  ../cups/ipp.h ../cups/http.h ../cups/file.h
+mime.o: mime.c ../cups/string-private.h ../config.h \
+  ../cups/debug-private.h ../cups/versioning.h ../cups/dir.h \
+  mime-private.h mime.h ../cups/array.h ../cups/ipp.h ../cups/http.h \
+  ../cups/file.h
+type.o: type.c ../cups/string-private.h ../config.h \
+  ../cups/debug-private.h ../cups/versioning.h mime.h ../cups/array.h \
+  ../cups/ipp.h ../cups/http.h ../cups/file.h
+cupsfilter.o: cupsfilter.c ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h
+cups-deviced.o: cups-deviced.c util.h ../cups/array-private.h \
+  ../cups/array.h ../cups/versioning.h ../cups/file-private.h \
+  ../cups/cups-private.h ../cups/string-private.h ../config.h \
+  ../cups/debug-private.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/dir.h
+cups-exec.o: cups-exec.c ../cups/string-private.h ../config.h
+cups-lpd.o: cups-lpd.c ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+testlpd.o: testlpd.c ../cups/cups.h ../cups/file.h ../cups/versioning.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h \
+  ../cups/string-private.h ../config.h
+testmime.o: testmime.c ../cups/string-private.h ../config.h ../cups/dir.h \
+  ../cups/versioning.h ../cups/debug-private.h ../cups/ppd-private.h \
+  ../cups/cups.h ../cups/file.h ../cups/ipp.h ../cups/http.h \
+  ../cups/array.h ../cups/language.h ../cups/ppd.h ../cups/pwg-private.h \
+  mime.h
+testspeed.o: testspeed.c ../cups/string-private.h ../config.h \
+  ../cups/cups.h ../cups/file.h ../cups/versioning.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/language.h \
+  ../cups/debug-private.h
+testsub.o: testsub.c ../cups/cups.h ../cups/file.h ../cups/versioning.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h \
+  ../cups/debug-private.h ../cups/string-private.h ../config.h \
+  ../cups/ipp-private.h
+util.o: util.c util.h ../cups/array-private.h ../cups/array.h \
+  ../cups/versioning.h ../cups/file-private.h ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+cups-driverd.o: cups-driverd.cxx util.h ../cups/array-private.h \
+  ../cups/array.h ../cups/versioning.h ../cups/file-private.h \
+  ../cups/cups-private.h ../cups/string-private.h ../config.h \
+  ../cups/debug-private.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/dir.h ../ppdc/ppdc.h
index 18dc80c..2790569 100644 (file)
@@ -1,9 +1,9 @@
 #
-# "$Id: Makefile 9766 2011-05-11 22:17:34Z mike $"
+# "$Id: Makefile 11173 2013-07-23 12:31:34Z msweet $"
 #
 #   Scheduler Makefile for CUPS.
 #
-#   Copyright 2007-2011 by Apple Inc.
+#   Copyright 2007-2012 by Apple Inc.
 #   Copyright 1997-2007 by Easy Software Products, all rights reserved.
 #
 #   These coded instructions, statements, and computer programs are the
@@ -21,6 +21,7 @@ CUPSDOBJS =   \
                cert.o \
                classes.o \
                client.o \
+               colorman.o \
                conf.o \
                dirsvc.o \
                env.o \
@@ -39,7 +40,8 @@ CUPSDOBJS =   \
                server.o \
                statbuf.o \
                subscriptions.o \
-               sysman.o
+               sysman.o \
+               tls.o
 LIBOBJS =      \
                filter.o \
                mime.o \
@@ -51,8 +53,6 @@ COBJS =       \
                cups-deviced.o \
                cups-exec.o \
                cups-lpd.o \
-               cups-polld.o \
-               testdirsvc.o \
                testlpd.o \
                testmime.o \
                testspeed.o \
@@ -68,7 +68,6 @@ LIBTARGETS =  \
                libcupsmime.a
 
 UNITTARGETS =  \
-               testdirsvc \
                testlpd \
                testmime \
                testspeed \
@@ -80,8 +79,7 @@ PROGRAMS =    \
                cups-deviced \
                cups-driverd \
                cups-exec \
-               cups-lpd \
-               cups-polld
+               cups-lpd
 
 TARGETS        =       \
                $(LIBTARGETS) \
@@ -124,8 +122,16 @@ clean:
 #
 
 depend:
-       makedepend -Y -I.. -fDependencies $(COBJS:.o=.c) \
-               $(CXXOBJS:.o=.cxx) >/dev/null 2>&1
+       $(CC) -MM $(ALL_CFLAGS) $(COBJS:.o=.c) >Dependencies
+       $(CXX) -MM $(ALL_CXXFLAGS) $(CXXOBJS:.o=.cxx) >>Dependencies
+
+
+#
+# Run oclint to check code coverage...
+#
+
+oclint:
+       oclint -o=oclint.html -html $(CUPSDOBJS:.o=.c) $(LIBOBJS:.o=.c) -- $(ALL_CFLAGS)
 
 
 #
@@ -213,12 +219,8 @@ install-data:
 install-exec:
        echo Installing programs in $(SBINDIR)...
        $(INSTALL_DIR) -m 755 $(SBINDIR)
-       $(INSTALL_BIN) -m 500 cupsd $(SBINDIR)
+       $(INSTALL_BIN) -m $(CUPS_CUPSD_FILE_PERM) cupsd $(SBINDIR)
        $(INSTALL_BIN) cupsfilter $(SBINDIR)
-       -if test "x`uname`" = xDarwin; then \
-               $(INSTALL_DIR) $(BUILDROOT)/System/Library/Printers/Libraries; \
-               $(LN) $(sbindir)/cupsfilter $(BUILDROOT)/System/Library/Printers/Libraries/convert; \
-       fi
        echo Installing programs in $(SERVERBIN)/daemon...
        $(INSTALL_DIR) -m 755 $(SERVERBIN)
        $(INSTALL_DIR) -m 755 $(SERVERBIN)/daemon
@@ -226,7 +228,6 @@ install-exec:
        $(INSTALL_BIN) cups-driverd $(SERVERBIN)/daemon
        $(INSTALL_BIN) cups-exec $(SERVERBIN)/daemon
        $(INSTALL_BIN) cups-lpd $(SERVERBIN)/daemon
-       $(INSTALL_BIN) cups-polld $(SERVERBIN)/daemon
        if test "x$(SYMROOT)" != "x"; then \
                $(INSTALL_DIR) $(SYMROOT); \
                for file in $(PROGRAMS); do \
@@ -284,7 +285,6 @@ uninstall:
        $(RM) $(SERVERBIN)/daemon/cups-driverd
        $(RM) $(SERVERBIN)/daemon/cups-exec
        $(RM) $(SERVERBIN)/daemon/cups-lpd
-       $(RM) $(SERVERBIN)/daemon/cups-polld
        $(RM) $(BUILDROOT)/System/Library/Printers/Libraries/convert
        -$(RMDIR) $(STATEDIR)/certs
        -$(RMDIR) $(STATEDIR)
@@ -389,6 +389,8 @@ cupsd-static:       $(CUPSDOBJS) libcupsmime.a ../cups/$(LIBCUPSSTATIC)
                $(LIBMALLOC) $(SERVERLIBS) $(DNSSDLIBS) $(LIBGSSAPI) \
                $(LIBWRAP)
 
+tls.o: tls-darwin.c tls-gnutls.c tls-openssl.c
+
 
 #
 # Make the cupsfilter utility.
@@ -439,15 +441,6 @@ cups-lpd:  cups-lpd.o ../cups/$(LIBCUPS)
 
 
 #
-# Make the polling daemon, "cups-polld".
-#
-
-cups-polld:    cups-polld.o ../cups/$(LIBCUPS)
-       echo Linking $@...
-       $(CC) $(LDFLAGS) -o cups-polld cups-polld.o $(LIBS)
-
-
-#
 # libcupsmime.so.1, libcupsmime.sl.1
 #
 
@@ -507,15 +500,6 @@ libcupsmime.a:     $(LIBOBJS)
 
 
 #
-# Make the test program, "testdirsvc".
-#
-
-testdirsvc:    testdirsvc.o
-       echo Linking $@...
-       $(CC) $(LDFLAGS) -o testdirsvc testdirsvc.o $(COMMONLIBS) $(NETLIBS)
-
-
-#
 # Make the test program, "testlpd".
 #
 
@@ -564,7 +548,7 @@ testsub:    testsub.o ../cups/$(LIBCUPSSTATIC)
 
 sloc:
        echo "cupsd: \c"
-       sloccount $(CUPSDOBJS:.o=.c) $(LIBOBJS:.o=.c) cups-driverd.cxx cups-polld.c cups-lpd.c 2>/dev/null | grep "Total Physical" | awk '{print $$9}'
+       sloccount $(CUPSDOBJS:.o=.c) $(LIBOBJS:.o=.c) cups-driverd.cxx cups-lpd.c 2>/dev/null | grep "Total Physical" | awk '{print $$9}'
 
 
 #
@@ -575,5 +559,5 @@ include Dependencies
 
 
 #
-# End of "$Id: Makefile 9766 2011-05-11 22:17:34Z mike $".
+# End of "$Id: Makefile 11173 2013-07-23 12:31:34Z msweet $".
 #
index d2aeb40..1169adf 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: auth.c 9949 2011-08-31 04:58:33Z mike $"
+ * "$Id: auth.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Authorization routines for the CUPS scheduler.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   This file contains Kerberos support code, copyright 2006 by
@@ -89,14 +89,13 @@ extern const char *cssmErrorString(int error);
 typedef struct xucred cupsd_ucred_t;
 #  define CUPSD_UCRED_UID(c) (c).cr_uid
 #else
+#  ifndef __OpenBSD__
 typedef struct ucred cupsd_ucred_t;
+#  else
+typedef struct sockpeercred cupsd_ucred_t;
+#  endif
 #  define CUPSD_UCRED_UID(c) (c).uid
 #endif /* HAVE_SYS_UCRED_H */
-#ifdef HAVE_KRB5_IPC_CLIENT_SET_TARGET_UID
-/* Not in public headers... */
-extern void    krb5_ipc_client_set_target_uid(uid_t);
-extern void    krb5_ipc_client_clear_target(void);
-#endif /* HAVE_KRB5_IPC_CLIENT_SET_TARGET_UID */
 
 
 /*
@@ -130,8 +129,8 @@ static void         to64(char *s, unsigned long v, int n);
 #if HAVE_LIBPAM
 typedef struct cupsd_authdata_s                /**** Authentication data ****/
 {
-  char username[33],                   /* Username string */
-       password[33];                   /* Password string */
+  char username[HTTP_MAX_VALUE],       /* Username string */
+       password[HTTP_MAX_VALUE];       /* Password string */
 } cupsd_authdata_t;
 #endif /* HAVE_LIBPAM */
 
@@ -322,8 +321,10 @@ cupsdAuthorize(cupsd_client_t *con)        /* I - Client connection */
   int          type;                   /* Authentication type */
   const char   *authorization;         /* Pointer into Authorization string */
   char         *ptr,                   /* Pointer into string */
-               username[256],          /* Username string */
-               password[33];           /* Password string */
+               username[HTTP_MAX_VALUE],
+                                       /* Username string */
+               password[HTTP_MAX_VALUE];
+                                       /* Password string */
   cupsd_cert_t *localuser;             /* Certificate username */
   char         nonce[HTTP_MAX_VALUE],  /* Nonce value from client */
                md5[33],                /* MD5 password */
@@ -356,18 +357,19 @@ cupsdAuthorize(cupsd_client_t *con)       /* I - Client connection */
   con->type = CUPSD_AUTH_NONE;
 
   cupsdLogMessage(CUPSD_LOG_DEBUG2,
-                  "cupsdAuthorize: con->uri=\"%s\", con->best=%p(%s)",
-                  con->uri, con->best, con->best ? con->best->location : "");
+                  "[Client %d] con->uri=\"%s\", con->best=%p(%s)",
+                  con->http.fd, con->uri, con->best,
+                  con->best ? con->best->location : "");
 
   if (con->best && con->best->type != CUPSD_AUTH_NONE)
   {
     if (con->best->type == CUPSD_AUTH_DEFAULT)
-      type = DefaultAuthType;
+      type = cupsdDefaultAuthType();
     else
       type = con->best->type;
   }
   else
-    type = DefaultAuthType;
+    type = cupsdDefaultAuthType();
 
  /*
   * Decode the Authorization string...
@@ -375,8 +377,8 @@ cupsdAuthorize(cupsd_client_t *con) /* I - Client connection */
 
   authorization = httpGetField(&con->http, HTTP_FIELD_AUTHORIZATION);
 
-  cupsdLogMessage(CUPSD_LOG_DEBUG2, "cupsdAuthorize: Authorization=\"%s\"",
-                  authorization);
+  cupsdLogMessage(CUPSD_LOG_DEBUG2, "[Client %d] Authorization=\"%s\"",
+                  con->http.fd, authorization);
 
   username[0] = '\0';
   password[0] = '\0';
@@ -400,7 +402,8 @@ cupsdAuthorize(cupsd_client_t *con) /* I - Client connection */
     */
 
     cupsdLogMessage(CUPSD_LOG_DEBUG,
-                    "cupsdAuthorize: No authentication data provided.");
+                    "[Client %d] No authentication data provided.",
+                    con->http.fd);
     return;
   }
 #ifdef HAVE_AUTHORIZATION_H
@@ -425,7 +428,8 @@ cupsdAuthorize(cupsd_client_t *con) /* I - Client connection */
     if (authlen != kAuthorizationExternalFormLength)
     {
       cupsdLogMessage(CUPSD_LOG_ERROR,
-                     "External Authorization reference size is incorrect!");
+                     "[Client %d] External Authorization reference size is "
+                     "incorrect.", con->http.fd);
       return;
     }
 
@@ -433,8 +437,9 @@ cupsdAuthorize(cupsd_client_t *con) /* I - Client connection */
                      (AuthorizationExternalForm *)nonce, &con->authref)) != 0)
     {
       cupsdLogMessage(CUPSD_LOG_ERROR,
-                     "AuthorizationCreateFromExternalForm returned %d (%s)",
-                     (int)status, cssmErrorString(status));
+                     "[Client %d] AuthorizationCreateFromExternalForm "
+                     "returned %d (%s)", con->http.fd, (int)status,
+                     cssmErrorString(status));
       return;
     }
 
@@ -449,8 +454,8 @@ cupsdAuthorize(cupsd_client_t *con) /* I - Client connection */
         strlcpy(username, authinfo->items[0].value, sizeof(username));
 
         cupsdLogMessage(CUPSD_LOG_DEBUG,
-                       "cupsdAuthorize: Authorized as \"%s\" using AuthRef",
-                       username);
+                       "[Client %d] Authorized as \"%s\" using AuthRef",
+                       con->http.fd, username);
       }
 
       AuthorizationFreeItemSet(authinfo);
@@ -470,15 +475,17 @@ cupsdAuthorize(cupsd_client_t *con)       /* I - Client connection */
 
       if (getsockopt(con->http.fd, 0, LOCAL_PEERCRED, &peercred, &peersize))
       {
-        cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to get peer credentials - %s",
-                        strerror(errno));
+        cupsdLogMessage(CUPSD_LOG_ERROR,
+                        "[Client %d] Unable to get peer credentials - %s",
+                        con->http.fd, strerror(errno));
         return;
       }
 
       if ((pwd = getpwuid(CUPSD_UCRED_UID(peercred))) == NULL)
       {
         cupsdLogMessage(CUPSD_LOG_ERROR,
-                        "Unable to find UID %d for peer credentials.",
+                        "[Client %d] Unable to find UID %d for peer "
+                        "credentials.", con->http.fd,
                         (int)CUPSD_UCRED_UID(peercred));
         return;
       }
@@ -486,8 +493,8 @@ cupsdAuthorize(cupsd_client_t *con) /* I - Client connection */
       strlcpy(username, pwd->pw_name, sizeof(username));
 
       cupsdLogMessage(CUPSD_LOG_DEBUG,
-                     "cupsdAuthorize: Authorized as \"%s\" using "
-                     "AuthRef + PeerCred", username);
+                     "[Client %d] Authorized as \"%s\" using "
+                     "AuthRef + PeerCred", con->http.fd, username);
     }
 
     con->type = CUPSD_AUTH_BASIC;
@@ -506,21 +513,43 @@ cupsdAuthorize(cupsd_client_t *con)       /* I - Client connection */
     socklen_t          peersize;       /* Size of peer credentials */
 #ifdef HAVE_AUTHORIZATION_H
     const char         *name;          /* Authorizing name */
+    int                        no_peer = 0;    /* Don't allow peer credentials? */
+
+   /*
+    * See if we should allow peer credentials...
+    */
 
     for (name = (char *)cupsArrayFirst(con->best->names);
          name;
          name = (char *)cupsArrayNext(con->best->names))
-      if (!_cups_strncasecmp(name, "@AUTHKEY(", 9) || !_cups_strcasecmp(name, "@SYSTEM"))
+    {
+      if (!_cups_strncasecmp(name, "@AUTHKEY(", 9) ||
+          !_cups_strcasecmp(name, "@SYSTEM"))
       {
-       cupsdLogMessage(CUPSD_LOG_ERROR,
-                       "PeerCred authentication not allowed for resource.");
-       return;
+       /* Normally don't want peer credentials if we need an auth key... */
+       no_peer = 1;
       }
+      else if (!_cups_strcasecmp(name, "@OWNER"))
+      {
+       /* but if @OWNER is present then we allow it... */
+        no_peer = 0;
+        break;
+      }
+    }
+
+    if (no_peer)
+    {
+      cupsdLogMessage(CUPSD_LOG_ERROR,
+                     "[Client %d] PeerCred authentication not allowed for "
+                     "resource per AUTHKEY policy.", con->http.fd);
+      return;
+    }
 #endif /* HAVE_AUTHORIZATION_H */
 
     if ((pwd = getpwnam(authorization + 9)) == NULL)
     {
-      cupsdLogMessage(CUPSD_LOG_ERROR, "User \"%s\" does not exist.",
+      cupsdLogMessage(CUPSD_LOG_ERROR,
+                      "[Client %d] User \"%s\" does not exist.", con->http.fd,
                       authorization + 9);
       return;
     }
@@ -533,26 +562,27 @@ cupsdAuthorize(cupsd_client_t *con)       /* I - Client connection */
     if (getsockopt(con->http.fd, SOL_SOCKET, SO_PEERCRED, &peercred, &peersize))
 #  endif /* __APPLE__ */
     {
-      cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to get peer credentials - %s",
-                      strerror(errno));
+      cupsdLogMessage(CUPSD_LOG_ERROR,
+                      "[Client %d] Unable to get peer credentials - %s",
+                      con->http.fd, strerror(errno));
       return;
     }
 
     if (pwd->pw_uid != CUPSD_UCRED_UID(peercred))
     {
       cupsdLogMessage(CUPSD_LOG_ERROR,
-                      "Invalid peer credentials for \"%s\" - got %d, "
-                     "expected %d!", authorization + 9,
+                      "[Client %d] Invalid peer credentials for \"%s\" - got "
+                      "%d, expected %d!", con->http.fd, authorization + 9,
                      CUPSD_UCRED_UID(peercred), pwd->pw_uid);
 #  ifdef HAVE_SYS_UCRED_H
-      cupsdLogMessage(CUPSD_LOG_DEBUG, "cupsdAuthorize: cr_version=%d",
-                      peercred.cr_version);
-      cupsdLogMessage(CUPSD_LOG_DEBUG, "cupsdAuthorize: cr_uid=%d",
-                      peercred.cr_uid);
-      cupsdLogMessage(CUPSD_LOG_DEBUG, "cupsdAuthorize: cr_ngroups=%d",
-                      peercred.cr_ngroups);
-      cupsdLogMessage(CUPSD_LOG_DEBUG, "cupsdAuthorize: cr_groups[0]=%d",
-                      peercred.cr_groups[0]);
+      cupsdLogMessage(CUPSD_LOG_DEBUG, "[Client %d] cr_version=%d",
+                      con->http.fd, peercred.cr_version);
+      cupsdLogMessage(CUPSD_LOG_DEBUG, "[Client %d] cr_uid=%d",
+                      con->http.fd, peercred.cr_uid);
+      cupsdLogMessage(CUPSD_LOG_DEBUG, "[Client %d] cr_ngroups=%d",
+                      con->http.fd, peercred.cr_ngroups);
+      cupsdLogMessage(CUPSD_LOG_DEBUG, "[Client %d] cr_groups[0]=%d",
+                      con->http.fd, peercred.cr_groups[0]);
 #  endif /* HAVE_SYS_UCRED_H */
       return;
     }
@@ -564,7 +594,7 @@ cupsdAuthorize(cupsd_client_t *con) /* I - Client connection */
 #  endif /* HAVE_GSSAPI */
 
     cupsdLogMessage(CUPSD_LOG_DEBUG,
-                    "cupsdAuthorize: Authorized as %s using PeerCred",
+                    "[Client %d] Authorized as %s using PeerCred", con->http.fd,
                    username);
 
     con->type = CUPSD_AUTH_BASIC;
@@ -581,28 +611,20 @@ cupsdAuthorize(cupsd_client_t *con)       /* I - Client connection */
     while (isspace(*authorization & 255))
       authorization ++;
 
-    if ((localuser = cupsdFindCert(authorization)) != NULL)
-    {
-      strlcpy(username, localuser->username, sizeof(username));
-
-      cupsdLogMessage(CUPSD_LOG_DEBUG,
-                     "cupsdAuthorize: Authorized as %s using Local",
-                     username);
-    }
-    else
+    if ((localuser = cupsdFindCert(authorization)) == NULL)
     {
       cupsdLogMessage(CUPSD_LOG_ERROR,
-                      "cupsdAuthorize: Local authentication certificate not "
-                     "found!");
+                      "[Client %d] Local authentication certificate not found.",
+                      con->http.fd);
       return;
     }
 
-#ifdef HAVE_GSSAPI
-    if (localuser->ccache)
-      con->type = CUPSD_AUTH_NEGOTIATE;
-    else
-#endif /* HAVE_GSSAPI */
-      con->type = CUPSD_AUTH_BASIC;
+    strlcpy(username, localuser->username, sizeof(username));
+    con->type = localuser->type;
+
+    cupsdLogMessage(CUPSD_LOG_DEBUG,
+                   "[Client %d] Authorized as %s using Local", con->http.fd,
+                   username);
   }
   else if (!strncmp(authorization, "Basic", 5))
   {
@@ -626,8 +648,8 @@ cupsdAuthorize(cupsd_client_t *con) /* I - Client connection */
 
     if ((ptr = strchr(username, ':')) == NULL)
     {
-      cupsdLogMessage(CUPSD_LOG_ERROR,
-                      "cupsdAuthorize: Missing Basic password!");
+      cupsdLogMessage(CUPSD_LOG_ERROR, "[Client %d] Missing Basic password.",
+                      con->http.fd);
       return;
     }
 
@@ -639,8 +661,8 @@ cupsdAuthorize(cupsd_client_t *con) /* I - Client connection */
       * Username must not be empty...
       */
 
-      cupsdLogMessage(CUPSD_LOG_ERROR,
-                      "cupsdAuthorize: Empty Basic username!");
+      cupsdLogMessage(CUPSD_LOG_ERROR, "[Client %d] Empty Basic username.",
+                      con->http.fd);
       return;
     }
 
@@ -650,8 +672,8 @@ cupsdAuthorize(cupsd_client_t *con) /* I - Client connection */
       * Password must not be empty...
       */
 
-      cupsdLogMessage(CUPSD_LOG_ERROR,
-                      "cupsdAuthorize: Empty Basic password!");
+      cupsdLogMessage(CUPSD_LOG_ERROR, "[Client %d] Empty Basic password.",
+                      con->http.fd);
       return;
     }
 
@@ -703,8 +725,8 @@ cupsdAuthorize(cupsd_client_t *con) /* I - Client connection */
            if (pamerr != PAM_SUCCESS)
            {
              cupsdLogMessage(CUPSD_LOG_ERROR,
-                             "cupsdAuthorize: pam_start() returned %d (%s)!",
-                             pamerr, pam_strerror(pamh, pamerr));
+                             "[Client %d] pam_start() returned %d (%s)",
+                             con->http.fd, pamerr, pam_strerror(pamh, pamerr));
              return;
            }
 
@@ -713,8 +735,8 @@ cupsdAuthorize(cupsd_client_t *con) /* I - Client connection */
            pamerr = pam_set_item(pamh, PAM_RHOST, con->http.hostname);
            if (pamerr != PAM_SUCCESS)
              cupsdLogMessage(CUPSD_LOG_WARN,
-                             "cupsdAuthorize: pam_set_item(PAM_RHOST) "
-                             "returned %d (%s)!", pamerr,
+                             "[Client %d] pam_set_item(PAM_RHOST) "
+                             "returned %d (%s)", con->http.fd, pamerr,
                              pam_strerror(pamh, pamerr));
 #    endif /* PAM_RHOST */
 
@@ -722,8 +744,8 @@ cupsdAuthorize(cupsd_client_t *con) /* I - Client connection */
            pamerr = pam_set_item(pamh, PAM_TTY, "cups");
            if (pamerr != PAM_SUCCESS)
              cupsdLogMessage(CUPSD_LOG_WARN,
-                             "cupsdAuthorize: pam_set_item(PAM_TTY) "
-                             "returned %d (%s)!", pamerr,
+                             "[Client %d] pam_set_item(PAM_TTY) "
+                             "returned %d (%s)!", con->http.fd, pamerr,
                              pam_strerror(pamh, pamerr));
 #    endif /* PAM_TTY */
 #  endif /* HAVE_PAM_SET_ITEM */
@@ -732,9 +754,8 @@ cupsdAuthorize(cupsd_client_t *con) /* I - Client connection */
            if (pamerr != PAM_SUCCESS)
            {
              cupsdLogMessage(CUPSD_LOG_ERROR,
-                             "cupsdAuthorize: pam_authenticate() returned %d "
-                             "(%s)!",
-                             pamerr, pam_strerror(pamh, pamerr));
+                             "[Client %d] pam_authenticate() returned %d (%s)",
+                             con->http.fd, pamerr, pam_strerror(pamh, pamerr));
              pam_end(pamh, 0);
              return;
            }
@@ -743,8 +764,8 @@ cupsdAuthorize(cupsd_client_t *con) /* I - Client connection */
             pamerr = pam_setcred(pamh, PAM_ESTABLISH_CRED | PAM_SILENT);
            if (pamerr != PAM_SUCCESS)
              cupsdLogMessage(CUPSD_LOG_WARN,
-                             "cupsdAuthorize: pam_setcred() "
-                             "returned %d (%s)!", pamerr,
+                             "[Client %d] pam_setcred() returned %d (%s)",
+                             con->http.fd, pamerr,
                              pam_strerror(pamh, pamerr));
 #  endif /* HAVE_PAM_SETCRED */
 
@@ -752,9 +773,8 @@ cupsdAuthorize(cupsd_client_t *con) /* I - Client connection */
            if (pamerr != PAM_SUCCESS)
            {
              cupsdLogMessage(CUPSD_LOG_ERROR,
-                             "cupsdAuthorize: pam_acct_mgmt() returned %d "
-                             "(%s)!",
-                             pamerr, pam_strerror(pamh, pamerr));
+                             "[Client %d] pam_acct_mgmt() returned %d (%s)",
+                             con->http.fd, pamerr, pam_strerror(pamh, pamerr));
              pam_end(pamh, 0);
              return;
            }
@@ -771,16 +791,16 @@ cupsdAuthorize(cupsd_client_t *con)       /* I - Client connection */
 
 
            cupsdLogMessage(CUPSD_LOG_DEBUG,
-                           "cupsdAuthorize: AIX authenticate of username "
-                           "\"%s\"", username);
+                           "[Client %d] AIX authenticate of username \"%s\"",
+                           con->http.fd, username);
 
            reenter = 1;
            if (authenticate(username, password, &reenter, &authmsg) != 0)
            {
              cupsdLogMessage(CUPSD_LOG_DEBUG,
-                             "cupsdAuthorize: Unable to authenticate username "
-                             "\"%s\": %s",
-                             username, strerror(errno));
+                             "[Client %d] Unable to authenticate username "
+                             "\"%s\": %s", con->http.fd, username,
+                             strerror(errno));
              return;
            }
 
@@ -806,8 +826,8 @@ cupsdAuthorize(cupsd_client_t *con) /* I - Client connection */
              */
 
              cupsdLogMessage(CUPSD_LOG_ERROR,
-                             "cupsdAuthorize: Unknown username \"%s\"!",
-                             username);
+                             "[Client %d] Unknown username \"%s\".",
+                             con->http.fd, username);
              return;
            }
 
@@ -822,8 +842,8 @@ cupsdAuthorize(cupsd_client_t *con) /* I - Client connection */
              */
 
              cupsdLogMessage(CUPSD_LOG_ERROR,
-                             "cupsdAuthorize: Username \"%s\" has no shadow "
-                             "password!", username);
+                             "[Client %d] Username \"%s\" has no shadow "
+                             "password.", con->http.fd, username);
              return;
            }
 
@@ -837,8 +857,8 @@ cupsdAuthorize(cupsd_client_t *con) /* I - Client connection */
              */
 
              cupsdLogMessage(CUPSD_LOG_ERROR,
-                             "cupsdAuthorize: Username \"%s\" has no password!",
-                             username);
+                             "[Client %d] Username \"%s\" has no password.",
+                             con->http.fd, username);
              return;
            }
 
@@ -850,8 +870,8 @@ cupsdAuthorize(cupsd_client_t *con) /* I - Client connection */
            pass = cups_crypt(password, pw->pw_passwd);
 
            cupsdLogMessage(CUPSD_LOG_DEBUG2,
-                           "cupsdAuthorize: pw_passwd=\"%s\", crypt=\"%s\"",
-                           pw->pw_passwd, pass);
+                           "[Client %d] pw_passwd=\"%s\", crypt=\"%s\"",
+                           con->http.fd, pw->pw_passwd, pass);
 
            if (!pass || strcmp(pw->pw_passwd, pass))
            {
@@ -861,15 +881,14 @@ cupsdAuthorize(cupsd_client_t *con)       /* I - Client connection */
                pass = cups_crypt(password, spw->sp_pwdp);
 
                cupsdLogMessage(CUPSD_LOG_DEBUG2,
-                               "cupsdAuthorize: sp_pwdp=\"%s\", crypt=\"%s\"",
-                               spw->sp_pwdp, pass);
+                               "[Client %d] sp_pwdp=\"%s\", crypt=\"%s\"",
+                               con->http.fd, spw->sp_pwdp, pass);
 
                if (pass == NULL || strcmp(spw->sp_pwdp, pass))
                {
                  cupsdLogMessage(CUPSD_LOG_ERROR,
-                                 "cupsdAuthorize: Authentication failed for "
-                                 "user \"%s\"!",
-                                 username);
+                                 "[Client %d] Authentication failed for user "
+                                 "\"%s\".", con->http.fd, username);
                  return;
                }
              }
@@ -877,9 +896,8 @@ cupsdAuthorize(cupsd_client_t *con) /* I - Client connection */
 #  endif /* HAVE_SHADOW_H */
              {
                cupsdLogMessage(CUPSD_LOG_ERROR,
-                               "cupsdAuthorize: Authentication failed for "
-                               "user \"%s\"!",
-                               username);
+                               "[Client %d] Authentication failed for user "
+                               "\"%s\".", con->http.fd, username);
                return;
               }
            }
@@ -887,8 +905,8 @@ cupsdAuthorize(cupsd_client_t *con) /* I - Client connection */
           }
 
          cupsdLogMessage(CUPSD_LOG_DEBUG,
-                         "cupsdAuthorize: Authorized as %s using Basic",
-                         username);
+                         "[Client %d] Authorized as %s using Basic",
+                         con->http.fd, username);
           break;
 
       case CUPSD_AUTH_BASICDIGEST :
@@ -899,8 +917,8 @@ cupsdAuthorize(cupsd_client_t *con) /* I - Client connection */
          if (!get_md5_password(username, NULL, md5))
          {
             cupsdLogMessage(CUPSD_LOG_ERROR,
-                           "cupsdAuthorize: Unknown MD5 username \"%s\"!",
-                           username);
+                           "[Client %d] Unknown MD5 username \"%s\".",
+                           con->http.fd, username);
             return;
          }
 
@@ -909,14 +927,14 @@ cupsdAuthorize(cupsd_client_t *con)       /* I - Client connection */
          if (strcmp(md5, basicmd5))
          {
             cupsdLogMessage(CUPSD_LOG_ERROR,
-                           "cupsdAuthorize: Authentication failed for \"%s\"!",
-                           username);
+                           "[Client %d] Authentication failed for \"%s\".",
+                           con->http.fd, username);
             return;
          }
 
          cupsdLogMessage(CUPSD_LOG_DEBUG,
-                         "cupsdAuthorize: Authorized as %s using BasicDigest",
-                         username);
+                         "[Client %d] Authorized as %s using BasicDigest",
+                         con->http.fd, username);
          break;
     }
 
@@ -936,7 +954,8 @@ cupsdAuthorize(cupsd_client_t *con) /* I - Client connection */
       */
 
       cupsdLogMessage(CUPSD_LOG_ERROR,
-                      "cupsdAuthorize: Empty or missing Digest username!");
+                      "[Client %d] Empty or missing Digest username.",
+                      con->http.fd);
       return;
     }
 
@@ -948,7 +967,8 @@ cupsdAuthorize(cupsd_client_t *con) /* I - Client connection */
       */
 
       cupsdLogMessage(CUPSD_LOG_ERROR,
-                      "cupsdAuthorize: Empty or missing Digest password!");
+                      "[Client %d] Empty or missing Digest password.",
+                      con->http.fd);
       return;
     }
 
@@ -956,16 +976,16 @@ cupsdAuthorize(cupsd_client_t *con)       /* I - Client connection */
                          nonce))
     {
       cupsdLogMessage(CUPSD_LOG_ERROR,
-                     "cupsdAuthorize: No nonce value for Digest "
-                     "authentication!");
+                     "[Client %d] No nonce value for Digest authentication.",
+                     con->http.fd);
       return;
     }
 
     if (strcmp(con->http.hostname, nonce))
     {
       cupsdLogMessage(CUPSD_LOG_ERROR,
-                     "cupsdAuthorize: Bad nonce value, expected \"%s\", "
-                     "got \"%s\"!", con->http.hostname, nonce);
+                     "[Client %d] Bad nonce value, expected \"%s\", "
+                     "got \"%s\".", con->http.fd, con->http.hostname, nonce);
       return;
     }
 
@@ -976,8 +996,8 @@ cupsdAuthorize(cupsd_client_t *con) /* I - Client connection */
     if (!get_md5_password(username, NULL, md5))
     {
       cupsdLogMessage(CUPSD_LOG_ERROR,
-                     "cupsdAuthorize: Unknown MD5 username \"%s\"!",
-                     username);
+                     "[Client %d] Unknown MD5 username \"%s\".",
+                     con->http.fd, username);
       return;
     }
 
@@ -986,13 +1006,13 @@ cupsdAuthorize(cupsd_client_t *con)      /* I - Client connection */
     if (strcmp(md5, password))
     {
       cupsdLogMessage(CUPSD_LOG_ERROR,
-                     "cupsdAuthorize: Authentication failed for \"%s\"!",
-                     username);
+                     "[Client %d] Authentication failed for \"%s\".",
+                     con->http.fd, username);
       return;
     }
 
     cupsdLogMessage(CUPSD_LOG_DEBUG,
-                    "cupsdAuthorize: Authorized as %s using Digest",
+                    "[Client %d] Authorized as %s using Digest", con->http.fd,
                    username);
 
     con->type = CUPSD_AUTH_DIGEST;
@@ -1020,8 +1040,9 @@ cupsdAuthorize(cupsd_client_t *con)       /* I - Client connection */
     if (gss_init_sec_context == NULL)
     {
       cupsdLogMessage(CUPSD_LOG_WARN,
-                      "GSSAPI/Kerberos authentication failed because the "
-                     "Kerberos framework is not present.");
+                      "[Client %d] GSSAPI/Kerberos authentication failed "
+                      "because the Kerberos framework is not present.",
+                      con->http.fd);
       return;
     }
 #  endif /* __APPLE__ */
@@ -1037,7 +1058,8 @@ cupsdAuthorize(cupsd_client_t *con)       /* I - Client connection */
     if (!*authorization)
     {
       cupsdLogMessage(CUPSD_LOG_DEBUG2,
-                     "cupsdAuthorize: No authentication data specified.");
+                     "[Client %d] No authentication data specified.",
+                     con->http.fd);
       return;
     }
 
@@ -1059,7 +1081,7 @@ cupsdAuthorize(cupsd_client_t *con)       /* I - Client connection */
     client_name  = GSS_C_NO_NAME;
     major_status = gss_accept_sec_context(&minor_status,
                                          &context,
-                                         GSS_C_NO_CREDENTIAL,
+                                         ServerCreds,
                                          &input_token,
                                          GSS_C_NO_CHANNEL_BINDINGS,
                                          &client_name,
@@ -1075,8 +1097,8 @@ cupsdAuthorize(cupsd_client_t *con)       /* I - Client connection */
     if (GSS_ERROR(major_status))
     {
       cupsdLogGSSMessage(CUPSD_LOG_DEBUG, major_status, minor_status,
-                        "cupsdAuthorize: Error accepting GSSAPI security "
-                        "context");
+                        "[Client %d] Error accepting GSSAPI security context",
+                        con->http.fd);
 
       if (context != GSS_C_NO_CONTEXT)
        gss_delete_sec_context(&minor_status, &context, GSS_C_NO_BUFFER);
@@ -1091,7 +1113,7 @@ cupsdAuthorize(cupsd_client_t *con)       /* I - Client connection */
 
     if (major_status == GSS_S_CONTINUE_NEEDED)
       cupsdLogGSSMessage(CUPSD_LOG_DEBUG, major_status, minor_status,
-                        "cupsdAuthorize: Credentials not complete");
+                        "[Client %d] Credentials not complete", con->http.fd);
     else if (major_status == GSS_S_COMPLETE)
     {
       major_status = gss_display_name(&minor_status, client_name,
@@ -1100,7 +1122,7 @@ cupsdAuthorize(cupsd_client_t *con)       /* I - Client connection */
       if (GSS_ERROR(major_status))
       {
        cupsdLogGSSMessage(CUPSD_LOG_DEBUG, major_status, minor_status,
-                          "cupsdAuthorize: Error getting username");
+                          "[Client %d] Error getting username", con->http.fd);
        gss_release_name(&minor_status, &client_name);
        gss_delete_sec_context(&minor_status, &context, GSS_C_NO_BUFFER);
        return;
@@ -1109,8 +1131,8 @@ cupsdAuthorize(cupsd_client_t *con)       /* I - Client connection */
       strlcpy(username, output_token.value, sizeof(username));
 
       cupsdLogMessage(CUPSD_LOG_DEBUG,
-                     "cupsdAuthorize: Authorized as %s using Negotiate",
-                     username);
+                     "[Client %d] Authorized as %s using Negotiate",
+                     con->http.fd, username);
 
       gss_release_name(&minor_status, &client_name);
       gss_release_buffer(&minor_status, &output_token);
@@ -1140,14 +1162,15 @@ cupsdAuthorize(cupsd_client_t *con)     /* I - Client connection */
                      &peersize))
 #    endif /* __APPLE__ */
       {
-       cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to get peer credentials - %s",
-                       strerror(errno));
+       cupsdLogMessage(CUPSD_LOG_ERROR,
+                       "[Client %d] Unable to get peer credentials - %s",
+                       con->http.fd, strerror(errno));
       }
       else
       {
        cupsdLogMessage(CUPSD_LOG_DEBUG,
-                       "cupsdAuthorize: Using credentials for UID %d...",
-                       CUPSD_UCRED_UID(peercred));
+                       "[Client %d] Using credentials for UID %d.",
+                       con->http.fd, CUPSD_UCRED_UID(peercred));
         con->gss_uid = CUPSD_UCRED_UID(peercred);
       }
     }
@@ -1162,8 +1185,9 @@ cupsdAuthorize(cupsd_client_t *con)       /* I - Client connection */
     if (sscanf(authorization, "%255s", scheme) != 1)
       strcpy(scheme, "UNKNOWN");
 
-    cupsdLogMessage(CUPSD_LOG_ERROR, "Bad authentication data \"%s ...\"",
-                    scheme);
+    cupsdLogMessage(CUPSD_LOG_ERROR,
+                    "[Client %d] Bad authentication data \"%s ...\"",
+                    con->http.fd, scheme);
     return;
   }
 
@@ -1843,7 +1867,7 @@ cupsdIsAuthorized(cupsd_client_t *con,    /* I - Connection */
   best = con->best;
 
   if ((type = best->type) == CUPSD_AUTH_DEFAULT)
-    type = DefaultAuthType;
+    type = cupsdDefaultAuthType();
 
   cupsdLogMessage(CUPSD_LOG_DEBUG2,
                   "cupsdIsAuthorized: level=CUPSD_AUTH_%s, type=%s, "
@@ -1907,7 +1931,8 @@ cupsdIsAuthorized(cupsd_client_t *con,    /* I - Connection */
       _cups_strcasecmp(con->http.hostname, "localhost") &&
       best->satisfy == CUPSD_AUTH_SATISFY_ALL) &&
       !(type == CUPSD_AUTH_NEGOTIATE ||
-        (type == CUPSD_AUTH_NONE && DefaultAuthType == CUPSD_AUTH_NEGOTIATE)))
+        (type == CUPSD_AUTH_NONE &&
+         cupsdDefaultAuthType() == CUPSD_AUTH_NEGOTIATE)))
   {
     cupsdLogMessage(CUPSD_LOG_DEBUG,
                     "cupsdIsAuthorized: Need upgrade to TLS...");
@@ -2582,5 +2607,5 @@ to64(char          *s,                    /* O - Output string */
 
 
 /*
- * End of "$Id: auth.c 9949 2011-08-31 04:58:33Z mike $".
+ * End of "$Id: auth.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index f15a6f9..8979023 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: auth.h 9652 2011-03-25 21:25:38Z mike $"
+ * "$Id: auth.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Authorization definitions for the CUPS scheduler.
  *
@@ -30,6 +30,7 @@
 #define CUPSD_AUTH_DIGEST      2       /* Digest authentication */
 #define CUPSD_AUTH_BASICDIGEST 3       /* Basic authentication w/passwd.md5 */
 #define CUPSD_AUTH_NEGOTIATE   4       /* Kerberos authentication */
+#define CUPSD_AUTH_AUTO                5       /* Kerberos or Basic, depending on configuration of server */
 
 #define CUPSD_AUTH_ANON                0       /* Anonymous access */
 #define CUPSD_AUTH_USER                1       /* Must have a valid username/password */
@@ -112,8 +113,6 @@ typedef struct cupsd_client_s cupsd_client_t;
 
 VAR cups_array_t       *Locations      VALUE(NULL);
                                        /* Authorization locations */
-VAR int                        DefaultAuthType VALUE(CUPSD_AUTH_BASIC);
-                                       /* Default AuthType, if not specified */
 #ifdef HAVE_SSL
 VAR http_encryption_t  DefaultEncryption VALUE(HTTP_ENCRYPT_REQUIRED);
                                        /* Default encryption for authentication */
@@ -148,5 +147,5 @@ extern cupsd_location_t     *cupsdNewLocation(const char *location);
 
 
 /*
- * End of "$Id: auth.h 9652 2011-03-25 21:25:38Z mike $".
+ * End of "$Id: auth.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index 7a4987f..87a1a68 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: banners.c 9793 2011-05-20 03:49:49Z mike $"
+ * "$Id: banners.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Banner routines for the CUPS scheduler.
  *
@@ -220,5 +220,5 @@ free_banners(void)
 
 
 /*
- * End of "$Id: banners.c 9793 2011-05-20 03:49:49Z mike $".
+ * End of "$Id: banners.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 2578cdd..4a91e8a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: banners.h 9350 2010-11-04 23:23:25Z mike $"
+ * "$Id: banners.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Banner definitions for the CUPS scheduler.
  *
@@ -41,5 +41,5 @@ extern void           cupsdLoadBanners(const char *d);
 
 
 /*
- * End of "$Id: banners.h 9350 2010-11-04 23:23:25Z mike $".
+ * End of "$Id: banners.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index 2e83a8b..cd47228 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: cert.c 10262 2012-02-12 05:48:09Z mike $"
+ * "$Id: cert.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Authentication certificate routines for the CUPS scheduler.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -42,7 +42,7 @@
 void
 cupsdAddCert(int        pid,           /* I - Process ID */
              const char *username,     /* I - Username */
-             void       *ccache)       /* I - Kerberos credentials or NULL */
+             int        type)          /* I - AuthType for username */
 {
   int          i;                      /* Looping var */
   cupsd_cert_t *cert;                  /* Current certificate */
@@ -66,7 +66,8 @@ cupsdAddCert(int        pid,          /* I - Process ID */
   * Fill in the certificate information...
   */
 
-  cert->pid = pid;
+  cert->pid  = pid;
+  cert->type = type;
   strlcpy(cert->username, username, sizeof(cert->username));
 
   for (i = 0; i < 32; i ++)
@@ -260,16 +261,6 @@ cupsdAddCert(int        pid,               /* I - Process ID */
   close(fd);
 
  /*
-  * Add Kerberos credentials as needed...
-  */
-
-#ifdef HAVE_GSSAPI
-  cert->ccache = (krb5_ccache)ccache;
-#else
-  (void)ccache;
-#endif /* HAVE_GSSAPI */
-
- /*
   * Insert the certificate at the front of the list...
   */
 
@@ -308,15 +299,6 @@ cupsdDeleteCert(int pid)           /* I - Process ID */
       else
         prev->next = cert->next;
 
-#ifdef HAVE_GSSAPI
-     /*
-      * Release Kerberos credentials as needed...
-      */
-
-      if (cert->ccache)
-       krb5_cc_destroy(KerberosContext, cert->ccache);
-#endif /* HAVE_GSSAPI */
-
       free(cert);
 
      /*
@@ -449,10 +431,10 @@ cupsdInitCerts(void)
   */
 
   if (!RunUser)
-    cupsdAddCert(0, "root", NULL);
+    cupsdAddCert(0, "root", cupsdDefaultAuthType());
 }
 
 
 /*
- * End of "$Id: cert.c 10262 2012-02-12 05:48:09Z mike $".
+ * End of "$Id: cert.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index e456a1a..26eaa9f 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: cert.h 9350 2010-11-04 23:23:25Z mike $"
+ * "$Id: cert.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Authentication certificate definitions for the CUPS scheduler.
  *
- *   Copyright 2007-2010 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2005 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -23,9 +23,7 @@ typedef struct cupsd_cert_s
   int          pid;                    /* Process ID (0 for root certificate) */
   char         certificate[33];        /* 32 hex characters, or 128 bits */
   char         username[33];           /* Authenticated username */
-#ifdef HAVE_GSSAPI
-  krb5_ccache  ccache;                 /* Kerberos credential cache */
-#endif /* HAVE_GSSAPI */
+  int          type;                   /* AuthType for username */
 } cupsd_cert_t;
 
 
@@ -43,8 +41,7 @@ VAR time_t            RootCertTime    /* Root certificate update time */
  * Prototypes...
  */
 
-extern void            cupsdAddCert(int pid, const char *username,
-                                    void *ccache);
+extern void            cupsdAddCert(int pid, const char *username, int type);
 extern void            cupsdDeleteCert(int pid);
 extern void            cupsdDeleteAllCerts(void);
 extern cupsd_cert_t    *cupsdFindCert(const char *certificate);
@@ -52,5 +49,5 @@ extern void           cupsdInitCerts(void);
 
 
 /*
- * End of "$Id: cert.h 9350 2010-11-04 23:23:25Z mike $".
+ * End of "$Id: cert.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index c001bc4..1aed92c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: classes.c 9793 2011-05-20 03:49:49Z mike $"
+ * "$Id: classes.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Printer class routines for the CUPS scheduler.
  *
@@ -22,8 +22,6 @@
  *   cupsdFindClass()                - Find the named class.
  *   cupsdLoadAllClasses()           - Load classes from the classes.conf file.
  *   cupsdSaveAllClasses()           - Save classes to the classes.conf file.
- *   cupsdUpdateImplicitClasses()    - Update the accepting state of implicit
- *                                     classes.
  */
 
 /*
@@ -184,24 +182,9 @@ cupsdDeletePrinterFromClasses(
   for (c = (cupsd_printer_t *)cupsArrayFirst(Printers);
        c;
        c = (cupsd_printer_t *)cupsArrayNext(Printers))
-    if (c->type & (CUPS_PRINTER_CLASS | CUPS_PRINTER_IMPLICIT))
+    if (c->type & CUPS_PRINTER_CLASS)
       changed |= cupsdDeletePrinterFromClass(c, p);
 
- /*
-  * Then clean out any empty implicit classes...
-  */
-
-  for (c = (cupsd_printer_t *)cupsArrayFirst(ImplicitPrinters);
-       c;
-       c = (cupsd_printer_t *)cupsArrayNext(ImplicitPrinters))
-    if (c->num_printers == 0)
-    {
-      cupsdLogMessage(CUPSD_LOG_DEBUG, "Deleting implicit class \"%s\"...",
-                      c->name);
-      cupsdDeletePrinter(c, 0);
-      changed = 1;
-    }
-
   return (changed);
 }
 
@@ -279,8 +262,7 @@ cupsdFindClass(const char *name)    /* I - Name of class */
   cupsd_printer_t      *c;             /* Current class/printer */
 
 
-  if ((c = cupsdFindDest(name)) != NULL &&
-      (c->type & (CUPS_PRINTER_CLASS | CUPS_PRINTER_IMPLICIT)))
+  if ((c = cupsdFindDest(name)) != NULL && (c->type & CUPS_PRINTER_CLASS))
     return (c);
   else
     return (NULL);
@@ -443,9 +425,8 @@ cupsdLoadAllClasses(void)
        {
          cupsdSetString(&temp->make_model, "Remote Printer on unknown");
 
-          temp->state       = IPP_PRINTER_STOPPED;
-         temp->type        |= CUPS_PRINTER_REMOTE;
-         temp->browse_time = 2147483647;
+          temp->state = IPP_PRINTER_STOPPED;
+         temp->type  |= CUPS_PRINTER_REMOTE;
 
          cupsdSetString(&temp->location, "Location Unknown");
          cupsdSetString(&temp->info, "No Information Available");
@@ -733,7 +714,6 @@ cupsdSaveAllClasses(void)
     */
 
     if ((pclass->type & CUPS_PRINTER_REMOTE) ||
-        (pclass->type & CUPS_PRINTER_IMPLICIT) ||
         !(pclass->type & CUPS_PRINTER_CLASS))
       continue;
 
@@ -834,35 +814,5 @@ cupsdSaveAllClasses(void)
 
 
 /*
- * 'cupsdUpdateImplicitClasses()' - Update the accepting state of implicit
- *                                  classes.
- */
-
-void
-cupsdUpdateImplicitClasses(void)
-{
-  int                  i;              /* Looping var */
-  cupsd_printer_t      *pclass;        /* Current class */
-  int                  accepting;      /* printer-is-accepting-jobs value */
-
-
-  for (pclass = (cupsd_printer_t *)cupsArrayFirst(ImplicitPrinters);
-       pclass;
-       pclass = (cupsd_printer_t *)cupsArrayNext(ImplicitPrinters))
-  {
-   /*
-    * Loop through the printers to come up with a composite state...
-    */
-
-    for (i = 0, accepting = 0; i < pclass->num_printers; i ++)
-      if ((accepting = pclass->printers[i]->accepting) != 0)
-       break;
-
-    pclass->accepting = accepting;
-  }
-}
-
-
-/*
- * End of "$Id: classes.c 9793 2011-05-20 03:49:49Z mike $".
+ * End of "$Id: classes.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 05c0878..6d94de2 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: classes.h 9350 2010-11-04 23:23:25Z mike $"
+ * "$Id: classes.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Printer class definitions for the CUPS scheduler.
  *
- *   Copyright 2007-2010 by Apple Inc.
+ *   Copyright 2007-2011 by Apple Inc.
  *   Copyright 1997-2005 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -28,9 +28,8 @@ extern cupsd_printer_t        *cupsdFindAvailablePrinter(const char *name);
 extern cupsd_printer_t *cupsdFindClass(const char *name);
 extern void            cupsdLoadAllClasses(void);
 extern void            cupsdSaveAllClasses(void);
-extern void            cupsdUpdateImplicitClasses(void);
 
 
 /*
- * End of "$Id: classes.h 9350 2010-11-04 23:23:25Z mike $".
+ * End of "$Id: classes.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index e40ed27..b341e9d 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: client.c 10338 2012-03-07 06:05:39Z mike $"
+ * "$Id: client.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Client routines for the CUPS scheduler.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   This file contains Kerberos support code, copyright 2006 by
  *
  * Contents:
  *
- *   cupsdAcceptClient()     - Accept a new client.
- *   cupsdCloseAllClients()  - Close all remote clients immediately.
- *   cupsdCloseClient()      - Close a remote client.
- *   cupsdFlushHeader()      - Flush the header fields to the client.
- *   cupsdReadClient()       - Read data from a client.
- *   cupsdSendCommand()      - Send output from a command via HTTP.
- *   cupsdSendError()        - Send an error message via HTTP.
- *   cupsdSendHeader()       - Send an HTTP request.
- *   cupsdUpdateCGI()        - Read status messages from CGI scripts and
- *                             programs.
- *   cupsdWriteClient()      - Write data to a client as needed.
- *   check_if_modified()     - Decode an "If-Modified-Since" line.
- *   compare_clients()       - Compare two client connections.
- *   copy_cdsa_certificate() - Copy a SSL/TLS certificate from the System
- *                             keychain.
- *   data_ready()            - Check whether data is available from a client.
- *   encrypt_client()        - Enable encryption for the client...
- *   get_file()              - Get a filename and state info.
- *   install_conf_file()     - Install a configuration file.
- *   is_cgi()                - Is the resource a CGI script/program?
- *   is_path_absolute()      - Is a path absolute and free of relative elements
- *                             (i.e. "..").
- *   make_certificate()      - Make a self-signed SSL/TLS certificate.
- *   pipe_command()          - Pipe the output of a command to the remote
- *                             client.
- *   valid_host()            - Is the Host: field valid?
- *   write_file()            - Send a file via HTTP.
- *   write_pipe()            - Flag that data is available on the CGI pipe.
+ *   cupsdAcceptClient()    - Accept a new client.
+ *   cupsdCloseAllClients() - Close all remote clients immediately.
+ *   cupsdCloseClient()     - Close a remote client.
+ *   cupsdFlushHeader()     - Flush the header fields to the client.
+ *   cupsdReadClient()     - Read data from a client.
+ *   cupsdSendCommand()     - Send output from a command via HTTP.
+ *   cupsdSendError()      - Send an error message via HTTP.
+ *   cupsdSendHeader()     - Send an HTTP request.
+ *   cupsdUpdateCGI()      - Read status messages from CGI scripts and
+ *                           programs.
+ *   cupsdWriteClient()     - Write data to a client as needed.
+ *   check_if_modified()    - Decode an "If-Modified-Since" line.
+ *   compare_clients()     - Compare two client connections.
+ *   data_ready()          - Check whether data is available from a client.
+ *   get_file()            - Get a filename and state info.
+ *   install_cupsd_conf()    - Install a configuration file.
+ *   is_cgi()              - Is the resource a CGI script/program?
+ *   is_path_absolute()     - Is a path absolute and free of relative elements
+ *                           (i.e. "..").
+ *   pipe_command()        - Pipe the output of a command to the remote
+ *                           client.
+ *   valid_host()          - Is the Host: field valid?
+ *   write_file()          - Send a file via HTTP.
+ *   write_pipe()          - Flag that data is available on the CGI pipe.
  */
 
 /*
 
 
 /*
+ * Local globals...
+ */
+
+static const char      * const http_states[] =
+                       {               /* HTTP state strings */
+                         "HTTP_WAITING",
+                         "HTTP_OPTIONS",
+                         "HTTP_GET",
+                         "HTTP_GET_SEND",
+                         "HTTP_HEAD",
+                         "HTTP_POST",
+                         "HTTP_POST_RECV",
+                         "HTTP_POST_SEND",
+                         "HTTP_PUT",
+                         "HTTP_PUT_RECV",
+                         "HTTP_DELETE",
+                         "HTTP_TRACE",
+                         "HTTP_CLOSE",
+                         "HTTP_STATUS"
+                       };
+static const char      * const ipp_states[] =
+                       {               /* IPP state strings */
+                         "IPP_IDLE",
+                         "IPP_HEADER",
+                         "IPP_ATTRIBUTE",
+                         "IPP_DATA"
+                       };
+
+
+/*
  * Local functions...
  */
 
@@ -66,22 +92,13 @@ static int          check_if_modified(cupsd_client_t *con,
                                          struct stat *filestats);
 static int             compare_clients(cupsd_client_t *a, cupsd_client_t *b,
                                        void *data);
-#ifdef HAVE_CDSASSL
-static CFArrayRef      copy_cdsa_certificate(cupsd_client_t *con);
-#endif /* HAVE_CDSASSL */
 static int             data_ready(cupsd_client_t *con);
-#ifdef HAVE_SSL
-static int             encrypt_client(cupsd_client_t *con);
-#endif /* HAVE_SSL */
 static char            *get_file(cupsd_client_t *con, struct stat *filestats,
                                  char *filename, int len);
-static http_status_t   install_conf_file(cupsd_client_t *con);
+static http_status_t   install_cupsd_conf(cupsd_client_t *con);
 static int             is_cgi(cupsd_client_t *con, const char *filename,
                               struct stat *filestats, mime_type_t *type);
 static int             is_path_absolute(const char *path);
-#ifdef HAVE_SSL
-static int             make_certificate(cupsd_client_t *con);
-#endif /* HAVE_SSL */
 static int             pipe_command(cupsd_client_t *con, int infile, int *outfile,
                                     char *command, char *options, int root);
 static int             valid_host(cupsd_client_t *con);
@@ -157,8 +174,8 @@ cupsdAcceptClient(cupsd_listener_t *lis)/* I - Listener socket */
     return;
   }
 
-  con->http.activity   = time(NULL);
   con->file            = -1;
+  con->http.activity   = time(NULL);
   con->http.hostaddr   = &(con->clientaddr);
   con->http.wait_value = 10000;
 
@@ -356,11 +373,11 @@ cupsdAcceptClient(cupsd_listener_t *lis)/* I - Listener socket */
 
 #ifdef AF_LOCAL
   if (con->http.hostaddr->addr.sa_family == AF_LOCAL)
-    cupsdLogMessage(CUPSD_LOG_DEBUG, "cupsdAcceptClient: %d from %s (Domain)",
+    cupsdLogMessage(CUPSD_LOG_DEBUG, "[Client %d] Accepted from %s (Domain)",
                     con->http.fd, con->http.hostname);
   else
 #endif /* AF_LOCAL */
-  cupsdLogMessage(CUPSD_LOG_DEBUG, "cupsdAcceptClient: %d from %s:%d (IPv%d)",
+  cupsdLogMessage(CUPSD_LOG_DEBUG, "[Client %d] Accepted from %s:%d (IPv%d)",
                   con->http.fd, con->http.hostname,
                  _httpAddrPort(con->http.hostaddr),
                  _httpAddrFamily(con->http.hostaddr) == AF_INET ? 4 : 6);
@@ -389,7 +406,7 @@ cupsdAcceptClient(cupsd_listener_t *lis)/* I - Listener socket */
   {
     if (httpAddrLocalhost(&temp))
       strlcpy(con->servername, "localhost", sizeof(con->servername));
-    else if (HostNameLookups || RemotePort)
+    else if (HostNameLookups)
       httpAddrLookup(&temp, con->servername, sizeof(con->servername));
     else
       httpAddrString(&temp, con->servername, sizeof(con->servername));
@@ -397,6 +414,10 @@ cupsdAcceptClient(cupsd_listener_t *lis)/* I - Listener socket */
     con->serverport = _httpAddrPort(&(lis->address));
   }
 
+ /*
+  * Add the connection to the array of active clients...
+  */
+
   cupsArrayAdd(Clients, con);
 
  /*
@@ -440,7 +461,7 @@ cupsdAcceptClient(cupsd_listener_t *lis)/* I - Listener socket */
 
     con->http.encryption = HTTP_ENCRYPT_ALWAYS;
 
-    if (!encrypt_client(con))
+    if (!cupsdStartTLS(con))
       cupsdCloseClient(con);
   }
   else
@@ -479,17 +500,13 @@ cupsdCloseClient(cupsd_client_t *con)     /* I - Client to close */
 {
   int          partial;                /* Do partial close for SSL? */
 #ifdef HAVE_LIBSSL
-  SSL_CTX      *context;               /* Context for encryption */
-  unsigned long        error;                  /* Error code */
 #elif defined(HAVE_GNUTLS)
-  int          error;                  /* Error code */
-  gnutls_certificate_server_credentials *credentials;
-                                       /* TLS credentials */
 #  elif defined(HAVE_CDSASSL)
 #endif /* HAVE_LIBSSL */
 
 
-  cupsdLogMessage(CUPSD_LOG_DEBUG, "cupsdCloseClient: %d", con->http.fd);
+  cupsdLogMessage(CUPSD_LOG_DEBUG, "[Client %d] Closing connection.",
+                  con->http.fd);
 
  /*
   * Flush pending writes before closing...
@@ -508,60 +525,7 @@ cupsdCloseClient(cupsd_client_t *con)      /* I - Client to close */
   {
     partial = 1;
 
-#  ifdef HAVE_LIBSSL
-    context = SSL_get_SSL_CTX(con->http.tls);
-
-    switch (SSL_shutdown(con->http.tls))
-    {
-      case 1 :
-          cupsdLogMessage(CUPSD_LOG_DEBUG,
-                         "SSL shutdown successful!");
-         break;
-      case -1 :
-          cupsdLogMessage(CUPSD_LOG_ERROR,
-                         "Fatal error during SSL shutdown!");
-      default :
-         while ((error = ERR_get_error()) != 0)
-           cupsdLogMessage(CUPSD_LOG_ERROR, "SSL shutdown failed: %s",
-                           ERR_error_string(error, NULL));
-          break;
-    }
-
-    SSL_CTX_free(context);
-    SSL_free(con->http.tls);
-
-#  elif defined(HAVE_GNUTLS)
-    credentials = (gnutls_certificate_server_credentials *)(con->http.tls_credentials);
-
-    error = gnutls_bye(con->http.tls, GNUTLS_SHUT_WR);
-    switch (error)
-    {
-      case GNUTLS_E_SUCCESS:
-       cupsdLogMessage(CUPSD_LOG_DEBUG,
-                       "SSL shutdown successful!");
-       break;
-      default:
-       cupsdLogMessage(CUPSD_LOG_ERROR,
-                       "SSL shutdown failed: %s", gnutls_strerror(error));
-       break;
-    }
-
-    gnutls_deinit(con->http.tls);
-    gnutls_certificate_free_credentials(*credentials);
-    free(credentials);
-
-#  elif defined(HAVE_CDSASSL)
-    while (SSLClose(con->http.tls) == errSSLWouldBlock)
-      usleep(1000);
-
-    SSLDisposeContext(con->http.tls);
-
-    if (con->http.tls_credentials)
-      CFRelease(con->http.tls_credentials);
-
-#  endif /* HAVE_LIBSSL */
-
-    con->http.tls = NULL;
+    cupsdEndTLS(con);
   }
 #endif /* HAVE_SSL */
 
@@ -719,18 +683,22 @@ cupsdReadClient(cupsd_client_t *con)      /* I - Client to read from */
   status = HTTP_CONTINUE;
 
   cupsdLogMessage(CUPSD_LOG_DEBUG2,
-                 "cupsdReadClient(con=%p(%d)) "
-                 "con->http.error=%d "
-                 "con->http.used=%d, "
-                 "con->http.state=%d "
-                 "con->data_encoding=HTTP_ENCODE_%s, "
-                 "con->data_remaining=" CUPS_LLFMT ", "
-                 "con->file=%d",
-                 con, con->http.fd, con->http.error, con->http.used,
-                 con->http.state,
+                 "[Client %d] cupsdReadClient "
+                 "error=%d, "
+                 "used=%d, "
+                 "state=%s, "
+                 "data_encoding=HTTP_ENCODE_%s, "
+                 "data_remaining=" CUPS_LLFMT ", "
+                 "request=%p(%s), "
+                 "file=%d",
+                 con->http.fd, con->http.error, con->http.used,
+                 http_states[con->http.state],
                  con->http.data_encoding == HTTP_ENCODE_CHUNKED ?
                      "CHUNKED" : "LENGTH",
-                 CUPS_LLCAST con->http.data_remaining, con->file);
+                 CUPS_LLCAST con->http.data_remaining,
+                 con->request,
+                 con->request ? ipp_states[con->request->state] : "",
+                 con->file);
 
 #ifdef HAVE_SSL
   if (con->auto_ssl)
@@ -749,10 +717,10 @@ cupsdReadClient(cupsd_client_t *con)      /* I - Client to read from */
       */
 
       cupsdLogMessage(CUPSD_LOG_DEBUG2,
-                      "cupsdReadClient: Saw first byte %02X, auto-negotiating "
-                     "SSL/TLS session...", buf[0] & 255);
+                      "[Client %d] Saw first byte %02X, auto-negotiating "
+                     "SSL/TLS session.", con->http.fd, buf[0] & 255);
 
-      if (!encrypt_client(con))
+      if (!cupsdStartTLS(con))
         cupsdCloseClient(con);
 
       return;
@@ -771,12 +739,12 @@ cupsdReadClient(cupsd_client_t *con)      /* I - Client to read from */
        {
          if (con->http.error && con->http.error != EPIPE)
            cupsdLogMessage(CUPSD_LOG_DEBUG,
-                           "cupsdReadClient: %d WAITING Closing for error %d "
+                           "[Client %d] HTTP_WAITING Closing for error %d "
                            "(%s)", con->http.fd, con->http.error,
                            strerror(con->http.error));
          else
            cupsdLogMessage(CUPSD_LOG_DEBUG,
-                           "cupsdReadClient: %d WAITING Closing on EOF",
+                           "[Client %d] HTTP_WAITING Closing on EOF",
                            con->http.fd);
 
          cupsdCloseClient(con);
@@ -848,7 +816,8 @@ cupsdReadClient(cupsd_client_t *con)        /* I - Client to read from */
              if (line[0])
              {
                cupsdLogMessage(CUPSD_LOG_ERROR,
-                               "Bad request line \"%s\" from %s!",
+                               "[Client %d] Bad request line \"%s\" from %s.",
+                               con->http.fd,
                                _httpEncodeURI(buf, line, sizeof(buf)),
                                con->http.hostname);
                cupsdSendError(con, HTTP_BAD_REQUEST, CUPSD_AUTH_NONE);
@@ -862,7 +831,8 @@ cupsdReadClient(cupsd_client_t *con)        /* I - Client to read from */
              if (sscanf(version, "HTTP/%d.%d", &major, &minor) != 2)
              {
                cupsdLogMessage(CUPSD_LOG_ERROR,
-                               "Bad request line \"%s\" from %s!",
+                               "[Client %d] Bad request line \"%s\" from %s.",
+                               con->http.fd,
                                _httpEncodeURI(buf, line, sizeof(buf)),
                                con->http.hostname);
                cupsdSendError(con, HTTP_BAD_REQUEST, CUPSD_AUTH_NONE);
@@ -881,7 +851,8 @@ cupsdReadClient(cupsd_client_t *con)        /* I - Client to read from */
              else
              {
                cupsdLogMessage(CUPSD_LOG_ERROR,
-                               "Unsupported request line \"%s\" from %s!",
+                               "[Client %d] Unsupported request line \"%s\" "
+                               "from %s.", con->http.fd,
                                _httpEncodeURI(buf, line, sizeof(buf)),
                                con->http.hostname);
                cupsdSendError(con, HTTP_NOT_SUPPORTED, CUPSD_AUTH_NONE);
@@ -928,8 +899,9 @@ cupsdReadClient(cupsd_client_t *con)        /* I - Client to read from */
            * Nope, we don't do proxies...
            */
 
-           cupsdLogMessage(CUPSD_LOG_ERROR, "Bad URI \"%s\" in request!",
-                           con->uri);
+           cupsdLogMessage(CUPSD_LOG_ERROR,
+                           "[Client %d] Bad URI \"%s\" in request.",
+                           con->http.fd, con->uri);
            cupsdSendError(con, HTTP_METHOD_NOT_ALLOWED, CUPSD_AUTH_NONE);
            cupsdCloseClient(con);
            return;
@@ -963,7 +935,9 @@ cupsdReadClient(cupsd_client_t *con)        /* I - Client to read from */
          con->http.state = HTTP_HEAD;
        else
        {
-         cupsdLogMessage(CUPSD_LOG_ERROR, "Bad operation \"%s\"!", operation);
+         cupsdLogMessage(CUPSD_LOG_ERROR,
+                         "[Client %d] Bad operation \"%s\".", con->http.fd,
+                         operation);
          cupsdSendError(con, HTTP_BAD_REQUEST, CUPSD_AUTH_NONE);
          cupsdCloseClient(con);
          return;
@@ -972,7 +946,7 @@ cupsdReadClient(cupsd_client_t *con)        /* I - Client to read from */
         gettimeofday(&(con->start), NULL);
         con->operation = con->http.state;
 
-        cupsdLogMessage(CUPSD_LOG_DEBUG, "cupsdReadClient: %d %s %s HTTP/%d.%d",
+        cupsdLogMessage(CUPSD_LOG_DEBUG, "[Client %d] %s %s HTTP/%d.%d",
                        con->http.fd, operation, con->uri,
                        con->http.version / 100, con->http.version % 100);
 
@@ -1003,13 +977,14 @@ cupsdReadClient(cupsd_client_t *con)     /* I - Client to read from */
        {
          if (con->http.error && con->http.error != EPIPE)
            cupsdLogMessage(CUPSD_LOG_DEBUG,
-                           "cupsdReadClient: %d FIELDS Closing for error %d "
-                           "(%s)", con->http.fd, con->http.error,
+                           "[Client %d] Closing for error %d (%s) while "
+                           "reading headers.",
+                           con->http.fd, con->http.error,
                            strerror(con->http.error));
          else
            cupsdLogMessage(CUPSD_LOG_DEBUG,
-                           "cupsdReadClient: %d FIELDS Closing on EOF",
-                           con->http.fd);
+                           "[Client %d] Closing on EOF while reading headers.",
+                           con->http.fd);
 
          cupsdSendError(con, HTTP_BAD_REQUEST, CUPSD_AUTH_NONE);
          cupsdCloseClient(con);
@@ -1025,7 +1000,7 @@ cupsdReadClient(cupsd_client_t *con)      /* I - Client to read from */
          */
 
          cupsdLogMessage(CUPSD_LOG_DEBUG,
-                         "cupsdReadClient: %d Closing on EOF", con->http.fd);
+                         "[Client %d] Closing on EOF", con->http.fd);
           cupsdCloseClient(con);
          return;
        }
@@ -1078,10 +1053,11 @@ cupsdReadClient(cupsd_client_t *con)    /* I - Client to read from */
 
     cupsdAuthorize(con);
 
-    if (!_cups_strncasecmp(con->http.fields[HTTP_FIELD_CONNECTION], "Keep-Alive",
-                    10) && KeepAlive)
+    if (!_cups_strncasecmp(con->http.fields[HTTP_FIELD_CONNECTION],
+                           "Keep-Alive", 10) && KeepAlive)
       con->http.keep_alive = HTTP_KEEPALIVE_ON;
-    else if (!_cups_strncasecmp(con->http.fields[HTTP_FIELD_CONNECTION], "close", 5))
+    else if (!_cups_strncasecmp(con->http.fields[HTTP_FIELD_CONNECTION],
+                                "close", 5))
       con->http.keep_alive = HTTP_KEEPALIVE_OFF;
 
     if (!con->http.fields[HTTP_FIELD_HOST][0] &&
@@ -1093,7 +1069,9 @@ cupsdReadClient(cupsd_client_t *con)      /* I - Client to read from */
 
       if (!cupsdSendError(con, HTTP_BAD_REQUEST, CUPSD_AUTH_NONE))
       {
-        cupsdLogMessage(CUPSD_LOG_ERROR, "Missing Host: field in request!");
+        cupsdLogMessage(CUPSD_LOG_ERROR,
+                        "[Client %d] Missing Host: field in request.",
+                        con->http.fd);
        cupsdCloseClient(con);
        return;
       }
@@ -1106,8 +1084,9 @@ cupsdReadClient(cupsd_client_t *con)      /* I - Client to read from */
       */
 
       cupsdLogMessage(CUPSD_LOG_ERROR,
-                      "Request from \"%s\" using invalid Host: field \"%s\"",
-                     con->http.hostname, con->http.fields[HTTP_FIELD_HOST]);
+                      "[Client %d] Request from \"%s\" using invalid Host: "
+                      "field \"%s\"", con->http.fd, con->http.hostname,
+                      con->http.fields[HTTP_FIELD_HOST]);
 
       if (!cupsdSendError(con, HTTP_BAD_REQUEST, CUPSD_AUTH_NONE))
       {
@@ -1155,7 +1134,7 @@ cupsdReadClient(cupsd_client_t *con)      /* I - Client to read from */
          return;
        }
 
-        if (!encrypt_client(con))
+        if (!cupsdStartTLS(con))
         {
          cupsdCloseClient(con);
          return;
@@ -1192,7 +1171,8 @@ cupsdReadClient(cupsd_client_t *con)      /* I - Client to read from */
       */
 
       cupsdLogMessage(CUPSD_LOG_ERROR,
-                      "Request for non-absolute resource \"%s\"!", con->uri);
+                      "[Client %d] Request for non-absolute resource \"%s\".",
+                      con->http.fd, con->uri);
 
       if (!cupsdSendError(con, HTTP_FORBIDDEN, CUPSD_AUTH_NONE))
       {
@@ -1202,15 +1182,16 @@ cupsdReadClient(cupsd_client_t *con)    /* I - Client to read from */
     }
     else
     {
-      if (!_cups_strcasecmp(con->http.fields[HTTP_FIELD_CONNECTION], "Upgrade") &&
-         con->http.tls == NULL)
+      if (!_cups_strcasecmp(con->http.fields[HTTP_FIELD_CONNECTION],
+                            "Upgrade") && con->http.tls == NULL)
       {
 #ifdef HAVE_SSL
        /*
         * Do encryption stuff...
        */
 
-       if (!cupsdSendHeader(con, HTTP_SWITCHING_PROTOCOLS, NULL, CUPSD_AUTH_NONE))
+       if (!cupsdSendHeader(con, HTTP_SWITCHING_PROTOCOLS, NULL,
+                            CUPSD_AUTH_NONE))
        {
          cupsdCloseClient(con);
          return;
@@ -1227,7 +1208,7 @@ cupsdReadClient(cupsd_client_t *con)      /* I - Client to read from */
          return;
        }
 
-        if (!encrypt_client(con))
+        if (!cupsdStartTLS(con))
         {
          cupsdCloseClient(con);
          return;
@@ -1290,7 +1271,8 @@ cupsdReadClient(cupsd_client_t *con)      /* I - Client to read from */
       switch (con->http.state)
       {
        case HTTP_GET_SEND :
-            if (!strncmp(con->uri, "/printers/", 10) &&
+            if ((!strncmp(con->uri, "/ppd/", 5) ||
+                !strncmp(con->uri, "/printers/", 10)) &&
                !strcmp(con->uri + strlen(con->uri) - 4, ".ppd"))
            {
             /*
@@ -1300,8 +1282,15 @@ cupsdReadClient(cupsd_client_t *con)     /* I - Client to read from */
 
               con->uri[strlen(con->uri) - 4] = '\0';   /* Drop ".ppd" */
 
-              if ((p = cupsdFindPrinter(con->uri + 10)) != NULL)
+             if (!strncmp(con->uri, "/ppd/", 5))
+               p = cupsdFindPrinter(con->uri + 5);
+             else
+               p = cupsdFindPrinter(con->uri + 10);
+
+             if (p)
+             {
                snprintf(con->uri, sizeof(con->uri), "/ppd/%s.ppd", p->name);
+             }
              else
              {
                if (!cupsdSendError(con, HTTP_NOT_FOUND, CUPSD_AUTH_NONE))
@@ -1313,7 +1302,8 @@ cupsdReadClient(cupsd_client_t *con)      /* I - Client to read from */
                break;
              }
            }
-            else if ((!strncmp(con->uri, "/printers/", 10) ||
+            else if ((!strncmp(con->uri, "/icons/", 7) ||
+                     !strncmp(con->uri, "/printers/", 10) ||
                      !strncmp(con->uri, "/classes/", 9)) &&
                     !strcmp(con->uri + strlen(con->uri) - 4, ".png"))
            {
@@ -1324,7 +1314,9 @@ cupsdReadClient(cupsd_client_t *con)      /* I - Client to read from */
 
              con->uri[strlen(con->uri) - 4] = '\0';    /* Drop ".png" */
 
-              if (!strncmp(con->uri, "/printers/", 10))
+              if (!strncmp(con->uri, "/icons/", 7))
+                p = cupsdFindPrinter(con->uri + 7);
+              else if (!strncmp(con->uri, "/printers/", 10))
                 p = cupsdFindPrinter(con->uri + 10);
               else
                 p = cupsdFindClass(con->uri + 9);
@@ -1685,17 +1677,15 @@ cupsdReadClient(cupsd_client_t *con)    /* I - Client to read from */
            * Validate the resource name...
            */
 
-            if (strncmp(con->uri, "/admin/conf/", 12) ||
-               strchr(con->uri + 12, '/') ||
-               strlen(con->uri) == 12)
+            if (strcmp(con->uri, "/admin/conf/cupsd.conf"))
            {
             /*
-             * PUT can only be done to configuration files under
-             * /admin/conf...
+             * PUT can only be done to the cupsd.conf file...
              */
 
              cupsdLogMessage(CUPSD_LOG_ERROR,
-                             "Request for subdirectory \"%s\"!", con->uri);
+                             "[Client %d] Disallowed PUT request for \"%s\".",
+                             con->http.fd, con->uri);
 
              if (!cupsdSendError(con, HTTP_FORBIDDEN, CUPSD_AUTH_NONE))
              {
@@ -1753,8 +1743,9 @@ cupsdReadClient(cupsd_client_t *con)      /* I - Client to read from */
            if (con->file < 0)
            {
              cupsdLogMessage(CUPSD_LOG_ERROR,
-                             "Unable to create request file %s: %s",
-                             con->filename, strerror(errno));
+                             "[Client %d] Unable to create request file "
+                             "\"%s\": %s", con->http.fd, con->filename,
+                             strerror(errno));
 
              if (!cupsdSendError(con, HTTP_REQUEST_TOO_LARGE, CUPSD_AUTH_NONE))
              {
@@ -1890,7 +1881,8 @@ cupsdReadClient(cupsd_client_t *con)      /* I - Client to read from */
              */
 
              cupsdLogMessage(CUPSD_LOG_ERROR,
-                             "Request for subdirectory \"%s\"!", con->uri);
+                             "[Client %d] Request for subdirectory \"%s\".",
+                             con->http.fd, con->uri);
 
              if (!cupsdSendError(con, HTTP_FORBIDDEN, CUPSD_AUTH_NONE))
              {
@@ -1991,12 +1983,12 @@ cupsdReadClient(cupsd_client_t *con)    /* I - Client to read from */
          {
            if (con->http.error && con->http.error != EPIPE)
              cupsdLogMessage(CUPSD_LOG_DEBUG,
-                             "cupsdReadClient: %d PUT_RECV Closing for error "
+                             "[Client %d] HTTP_PUT_RECV Closing for error "
                              "%d (%s)", con->http.fd, con->http.error,
                              strerror(con->http.error));
            else
              cupsdLogMessage(CUPSD_LOG_DEBUG,
-                             "cupsdReadClient: %d PUT_RECV Closing on EOF",
+                             "[Client %d] HTTP_PUT_RECV Closing on EOF",
                              con->http.fd);
 
            cupsdCloseClient(con);
@@ -2009,8 +2001,9 @@ cupsdReadClient(cupsd_client_t *con)      /* I - Client to read from */
             if (write(con->file, line, bytes) < bytes)
            {
               cupsdLogMessage(CUPSD_LOG_ERROR,
-                             "cupsdReadClient: Unable to write %d bytes to %s: %s",
-                             bytes, con->filename, strerror(errno));
+                             "[Client %d] Unable to write %d bytes to "
+                             "\"%s\": %s", con->http.fd, bytes, con->filename,
+                             strerror(errno));
 
              close(con->file);
              con->file = -1;
@@ -2059,7 +2052,7 @@ cupsdReadClient(cupsd_client_t *con)      /* I - Client to read from */
          * Install the configuration file...
          */
 
-          status = install_conf_file(con);
+          status = install_cupsd_conf(con);
 
          /*
          * Return the status to the client...
@@ -2085,8 +2078,8 @@ cupsdReadClient(cupsd_client_t *con)      /* I - Client to read from */
            if ((ipp_state = ippRead(&(con->http), con->request)) == IPP_ERROR)
            {
               cupsdLogMessage(CUPSD_LOG_ERROR,
-                             "cupsdReadClient: %d IPP Read Error!",
-                             con->http.fd);
+                              "[Client %d] IPP read error: %s", con->http.fd,
+                              cupsLastErrorString());
 
              cupsdSendError(con, HTTP_BAD_REQUEST, CUPSD_AUTH_NONE);
              cupsdCloseClient(con);
@@ -2105,7 +2098,7 @@ cupsdReadClient(cupsd_client_t *con)      /* I - Client to read from */
             }
            else
            {
-             cupsdLogMessage(CUPSD_LOG_DEBUG, "cupsdReadClient: %d %d.%d %s %d",
+             cupsdLogMessage(CUPSD_LOG_DEBUG, "[Client %d] %d.%d %s %d",
                              con->http.fd, con->request->request.op.version[0],
                              con->request->request.op.version[1],
                              ippOpString(con->request->request.op.operation_id),
@@ -2127,8 +2120,9 @@ cupsdReadClient(cupsd_client_t *con)      /* I - Client to read from */
            if (con->file < 0)
            {
              cupsdLogMessage(CUPSD_LOG_ERROR,
-                             "Unable to create request file %s: %s",
-                             con->filename, strerror(errno));
+                             "[Client %d] Unable to create request file "
+                             "\"%s\": %s", con->http.fd, con->filename,
+                             strerror(errno));
 
              if (!cupsdSendError(con, HTTP_REQUEST_TOO_LARGE, CUPSD_AUTH_NONE))
              {
@@ -2148,12 +2142,12 @@ cupsdReadClient(cupsd_client_t *con)    /* I - Client to read from */
            {
              if (con->http.error && con->http.error != EPIPE)
                cupsdLogMessage(CUPSD_LOG_DEBUG,
-                               "cupsdReadClient: %d POST_SEND Closing for "
+                               "[Client %d] HTTP_POST_SEND Closing for "
                                "error %d (%s)", con->http.fd, con->http.error,
                                strerror(con->http.error));
              else
                cupsdLogMessage(CUPSD_LOG_DEBUG,
-                               "cupsdReadClient: %d POST_SEND Closing on EOF",
+                               "[Client %d] HTTP_POST_SEND Closing on EOF",
                                con->http.fd);
 
              cupsdCloseClient(con);
@@ -2166,9 +2160,9 @@ cupsdReadClient(cupsd_client_t *con)      /* I - Client to read from */
               if (write(con->file, line, bytes) < bytes)
              {
                cupsdLogMessage(CUPSD_LOG_ERROR,
-                               "cupsdReadClient: Unable to write %d bytes to "
-                               "%s: %s", bytes, con->filename,
-                               strerror(errno));
+                               "[Client %d] Unable to write %d bytes to "
+                               "\"%s\": %s", con->http.fd, bytes,
+                               con->filename, strerror(errno));
 
                close(con->file);
                con->file = -1;
@@ -2188,8 +2182,8 @@ cupsdReadClient(cupsd_client_t *con)      /* I - Client to read from */
            else if (con->http.state != HTTP_POST_SEND)
            {
              cupsdLogMessage(CUPSD_LOG_DEBUG,
-                             "cupsdReadClient: %d Closing on unknown HTTP "
-                             "state %d", con->http.fd, con->http.state);
+                             "[Client %d] Closing on unexpected state %s.",
+                             con->http.fd, http_states[con->http.state]);
              cupsdCloseClient(con);
              return;
            }
@@ -2281,7 +2275,7 @@ cupsdReadClient(cupsd_client_t *con)      /* I - Client to read from */
     if (!con->http.keep_alive)
     {
       cupsdLogMessage(CUPSD_LOG_DEBUG,
-                     "cupsdReadClient: %d Closing because Keep-Alive disabled",
+                     "[Client %d] Closing because Keep-Alive disabled",
                      con->http.fd);
       cupsdCloseClient(con);
     }
@@ -2315,7 +2309,7 @@ cupsdSendCommand(
     if (fd < 0)
     {
       cupsdLogMessage(CUPSD_LOG_ERROR,
-                      "cupsdSendCommand: %d Unable to open \"%s\" for reading: %s",
+                      "[Client %d] Unable to open \"%s\" for reading: %s",
                       con->http.fd, con->filename ? con->filename : "/dev/null",
                      strerror(errno));
       return (0);
@@ -2331,11 +2325,11 @@ cupsdSendCommand(
   if (fd >= 0)
     close(fd);
 
-  cupsdLogMessage(CUPSD_LOG_INFO, "Started \"%s\" (pid=%d)", command,
-                  con->pipe_pid);
+  cupsdLogMessage(CUPSD_LOG_INFO, "[Client %d] Started \"%s\" (pid=%d)",
+                  con->http.fd, command, con->pipe_pid);
 
-  cupsdLogMessage(CUPSD_LOG_DEBUG, "cupsdSendCommand: %d file=%d",
-                  con->http.fd, con->file);
+  cupsdLogMessage(CUPSD_LOG_DEBUG, "[Client %d] file=%d", con->http.fd,
+                  con->file);
 
   if (con->pipe_pid == 0)
     return (0);
@@ -2363,7 +2357,7 @@ cupsdSendError(cupsd_client_t *con,       /* I - Connection */
               int            auth_type)/* I - Authentication type */
 {
   cupsdLogMessage(CUPSD_LOG_DEBUG2,
-                  "cupsdSendError(con=%p(%d), code=%d, auth_type=%d", con,
+                  "[Client %d] cupsdSendError code=%d, auth_type=%d",
                  con->http.fd, code, auth_type);
 
 #ifdef HAVE_SSL
@@ -2519,10 +2513,6 @@ cupsdSendHeader(
     int            auth_type)          /* I - Type of authentication */
 {
   char         auth_str[1024];         /* Authorization string */
-#if 0 /* def HAVE_GSSAPI */
-  static char  *gss_buf = NULL;        /* Kerberos auth data buffer */
-  static int   gss_bufsize = 0;        /* Size of Kerberos auth data buffer */
-#endif /* HAVE_GSSAPI */
 
 
  /*
@@ -2577,7 +2567,7 @@ cupsdSendHeader(
     if (auth_type == CUPSD_AUTH_NONE)
     {
       if (!con->best || con->best->type <= CUPSD_AUTH_NONE)
-       auth_type = DefaultAuthType;
+       auth_type = cupsdDefaultAuthType();
       else
        auth_type = con->best->type;
     }
@@ -2609,7 +2599,7 @@ cupsdSendHeader(
       * requests when the request requires system group membership - then the
       * client knows the root certificate can/should be used.
       *
-      * Also, for Mac OS X we also look for @AUTHKEY and add an "authkey"
+      * Also, for OS X we also look for @AUTHKEY and add an "authkey"
       * parameter as needed...
       */
 
@@ -2652,7 +2642,7 @@ cupsdSendHeader(
     if (auth_str[0])
     {
       cupsdLogMessage(CUPSD_LOG_DEBUG,
-                      "cupsdSendHeader: %d WWW-Authenticate: %s", con->http.fd,
+                      "[Client %d] WWW-Authenticate: %s", con->http.fd,
                       auth_str);
 
       if (httpPrintf(HTTP(con), "WWW-Authenticate: %s\r\n", auth_str) < 0)
@@ -2733,11 +2723,23 @@ cupsdWriteClient(cupsd_client_t *con)   /* I - Client connection */
 
 
   cupsdLogMessage(CUPSD_LOG_DEBUG2,
-                  "cupsdWriteClient(con=%p(%d)) response=%p(%d), file=%d "
-                 "pipe_pid=%d state=%d",
-                  con, con->http.fd, con->response,
-                 con->response ? con->response->state : -1,
-                 con->file, con->pipe_pid, con->http.state);
+                 "[Client %d] cupsdWriteClient "
+                 "error=%d, "
+                 "used=%d, "
+                 "state=%s, "
+                 "data_encoding=HTTP_ENCODE_%s, "
+                 "data_remaining=" CUPS_LLFMT ", "
+                 "response=%p(%s), "
+                 "pipe_pid=%d, "
+                 "file=%d",
+                 con->http.fd, con->http.error, con->http.used,
+                 http_states[con->http.state],
+                 con->http.data_encoding == HTTP_ENCODE_CHUNKED ?
+                     "CHUNKED" : "LENGTH",
+                 CUPS_LLCAST con->http.data_remaining,
+                 con->response,
+                 con->response ? ipp_states[con->response->state] : "",
+                 con->pipe_pid, con->file);
 
   if (con->http.state != HTTP_GET_SEND &&
       con->http.state != HTTP_POST_SEND)
@@ -2748,8 +2750,8 @@ cupsdWriteClient(cupsd_client_t *con)     /* I - Client connection */
     */
 
     cupsdLogMessage(CUPSD_LOG_DEBUG,
-                   "cupsdWriteClient: %d Closing on unknown HTTP state %d",
-                   con->http.fd, con->http.state);
+                   "[Client %d] Closing on unexpected HTTP state %s.",
+                   con->http.fd, http_states[con->http.state]);
     cupsdCloseClient(con);
     return;
   }
@@ -2902,7 +2904,7 @@ cupsdWriteClient(cupsd_client_t *con)     /* I - Client connection */
       if (httpWrite2(HTTP(con), con->header, con->header_used) < 0)
       {
        cupsdLogMessage(CUPSD_LOG_DEBUG,
-                       "cupsdWriteClient: %d Closing for error %d (%s)",
+                       "[Client %d] Closing for error %d (%s)",
                        con->http.fd, con->http.error,
                        strerror(con->http.error));
        cupsdCloseClient(con);
@@ -2939,7 +2941,7 @@ cupsdWriteClient(cupsd_client_t *con)     /* I - Client connection */
        if (httpWrite2(HTTP(con), "", 0) < 0)
        {
          cupsdLogMessage(CUPSD_LOG_DEBUG,
-                         "cupsdWriteClient: %d Closing for error %d (%s)",
+                         "[Client %d] Closing for error %d (%s)",
                          con->http.fd, con->http.error,
                          strerror(con->http.error));
          cupsdCloseClient(con);
@@ -2989,7 +2991,7 @@ cupsdWriteClient(cupsd_client_t *con)     /* I - Client connection */
     if (!con->http.keep_alive)
     {
       cupsdLogMessage(CUPSD_LOG_DEBUG,
-                     "cupsdWriteClient: %d Closing because Keep-Alive disabled",
+                     "[Client %d] Closing because Keep-Alive disabled.",
                      con->http.fd);
       cupsdCloseClient(con);
       return;
@@ -3027,9 +3029,9 @@ check_if_modified(
     return (1);
 
   cupsdLogMessage(CUPSD_LOG_DEBUG2,
-                  "check_if_modified(con=%p(%d), "
+                  "[Client %d] check_if_modified "
                  "filestats=%p(" CUPS_LLFMT ", %d)) If-Modified-Since=\"%s\"",
-                  con, con->http.fd, filestats, CUPS_LLCAST filestats->st_size,
+                  con->http.fd, filestats, CUPS_LLCAST filestats->st_size,
                  (int)filestats->st_mtime, ptr);
 
   while (*ptr != '\0')
@@ -3081,274 +3083,6 @@ compare_clients(cupsd_client_t *a,      /* I - First client */
 }
 
 
-#ifdef HAVE_CDSASSL
-/*
- * 'copy_cdsa_certificate()' - Copy a SSL/TLS certificate from the System
- *                             keychain.
- */
-
-static CFArrayRef                              /* O - Array of certificates */
-copy_cdsa_certificate(
-    cupsd_client_t *con)                       /* I - Client connection */
-{
-  OSStatus             err;            /* Error info */
-  SecKeychainRef       keychain = NULL;/* Keychain reference */
-  SecIdentitySearchRef search = NULL;  /* Search reference */
-  SecIdentityRef       identity = NULL;/* Identity */
-  CFArrayRef           certificates = NULL;
-                                       /* Certificate array */
-#  if HAVE_SECPOLICYCREATESSL
-  SecPolicyRef         policy = NULL;  /* Policy ref */
-  CFStringRef          servername = NULL;
-                                       /* Server name */
-  CFMutableDictionaryRef query = NULL; /* Query qualifiers */
-  char                 localname[1024];/* Local hostname */
-#  elif defined(HAVE_SECIDENTITYSEARCHCREATEWITHPOLICY)
-  SecPolicyRef         policy = NULL;  /* Policy ref */
-  SecPolicySearchRef   policy_search = NULL;
-                                       /* Policy search ref */
-  CSSM_DATA            options;        /* Policy options */
-  CSSM_APPLE_TP_SSL_OPTIONS
-                       ssl_options;    /* SSL Option for hostname */
-  char                 localname[1024];/* Local hostname */
-#  endif /* HAVE_SECPOLICYCREATESSL */
-
-
-  cupsdLogMessage(CUPSD_LOG_DEBUG,
-                  "copy_cdsa_certificate: Looking for certs for \"%s\"...",
-                 con->servername);
-
-  if ((err = SecKeychainOpen(ServerCertificate, &keychain)))
-  {
-    cupsdLogMessage(CUPSD_LOG_ERROR, "Cannot open keychain \"%s\" - %s (%d)",
-                   ServerCertificate, cssmErrorString(err), (int)err);
-    goto cleanup;
-  }
-
-#  if HAVE_SECPOLICYCREATESSL
-  servername = CFStringCreateWithCString(kCFAllocatorDefault, con->servername,
-                                        kCFStringEncodingUTF8);
-
-  policy = SecPolicyCreateSSL(1, servername);
-
-  if (servername)
-    CFRelease(servername);
-
-  if (!policy)
-  {
-    cupsdLogMessage(CUPSD_LOG_ERROR, "Cannot create ssl policy reference");
-    goto cleanup;
-  }
-
-  if (!(query = CFDictionaryCreateMutable(kCFAllocatorDefault, 0,
-                                         &kCFTypeDictionaryKeyCallBacks,
-                                         &kCFTypeDictionaryValueCallBacks)))
-  {
-    cupsdLogMessage(CUPSD_LOG_ERROR, "Cannot create query dictionary");
-    goto cleanup;
-  }
-
-  CFDictionaryAddValue(query, kSecClass, kSecClassIdentity);
-  CFDictionaryAddValue(query, kSecMatchPolicy, policy);
-  CFDictionaryAddValue(query, kSecReturnRef, kCFBooleanTrue);
-  CFDictionaryAddValue(query, kSecMatchLimit, kSecMatchLimitOne);
-
-  err = SecItemCopyMatching(query, (CFTypeRef *)&identity);
-
-  if (err && DNSSDHostName)
-  {
-   /*
-    * Search for the connection server name failed; try the DNS-SD .local
-    * hostname instead...
-    */
-
-    snprintf(localname, sizeof(localname), "%s.local", DNSSDHostName);
-
-    cupsdLogMessage(CUPSD_LOG_DEBUG,
-                   "copy_cdsa_certificate: Looking for certs for \"%s\"...",
-                   localname);
-
-    servername = CFStringCreateWithCString(kCFAllocatorDefault, localname,
-                                          kCFStringEncodingUTF8);
-
-    CFRelease(policy);
-
-    policy = SecPolicyCreateSSL(1, servername);
-
-    if (servername)
-      CFRelease(servername);
-
-    if (!policy)
-    {
-      cupsdLogMessage(CUPSD_LOG_ERROR, "Cannot create ssl policy reference");
-      goto cleanup;
-    }
-
-    CFDictionarySetValue(query, kSecMatchPolicy, policy);
-
-    err = SecItemCopyMatching(query, (CFTypeRef *)&identity);
-  }
-
-  if (err)
-  {
-    cupsdLogMessage(CUPSD_LOG_DEBUG,
-                   "Cannot find signing key in keychain \"%s\": %s (%d)",
-                   ServerCertificate, cssmErrorString(err), (int)err);
-    goto cleanup;
-  }
-
-#  elif defined(HAVE_SECIDENTITYSEARCHCREATEWITHPOLICY)
- /*
-  * Use a policy to search for valid certificates whose common name matches the
-  * servername...
-  */
-
-  if (SecPolicySearchCreate(CSSM_CERT_X_509v3, &CSSMOID_APPLE_TP_SSL,
-                           NULL, &policy_search))
-  {
-    cupsdLogMessage(CUPSD_LOG_ERROR, "Cannot create a policy search reference");
-    goto cleanup;
-  }
-
-  if (SecPolicySearchCopyNext(policy_search, &policy))
-  {
-    cupsdLogMessage(CUPSD_LOG_ERROR,
-                   "Cannot find a policy to use for searching");
-    goto cleanup;
-  }
-
-  memset(&ssl_options, 0, sizeof(ssl_options));
-  ssl_options.Version = CSSM_APPLE_TP_SSL_OPTS_VERSION;
-  ssl_options.ServerName = con->servername;
-  ssl_options.ServerNameLen = strlen(con->servername);
-
-  options.Data = (uint8 *)&ssl_options;
-  options.Length = sizeof(ssl_options);
-
-  if (SecPolicySetValue(policy, &options))
-  {
-    cupsdLogMessage(CUPSD_LOG_ERROR,
-                   "Cannot set policy value to use for searching");
-    goto cleanup;
-  }
-
-  if ((err = SecIdentitySearchCreateWithPolicy(policy, NULL, CSSM_KEYUSE_SIGN,
-                                              keychain, FALSE, &search)))
-  {
-    cupsdLogMessage(CUPSD_LOG_ERROR,
-                   "Cannot create identity search reference: %s (%d)",
-                   cssmErrorString(err), (int)err);
-    goto cleanup;
-  }
-
-  err = SecIdentitySearchCopyNext(search, &identity);
-
-  if (err && DNSSDHostName)
-  {
-   /*
-    * Search for the connection server name failed; try the DNS-SD .local
-    * hostname instead...
-    */
-
-    snprintf(localname, sizeof(localname), "%s.local", DNSSDHostName);
-
-    ssl_options.ServerName    = localname;
-    ssl_options.ServerNameLen = strlen(localname);
-
-    cupsdLogMessage(CUPSD_LOG_DEBUG,
-                   "copy_cdsa_certificate: Looking for certs for \"%s\"...",
-                   localname);
-
-    if (SecPolicySetValue(policy, &options))
-    {
-      cupsdLogMessage(CUPSD_LOG_ERROR,
-                     "Cannot set policy value to use for searching");
-      goto cleanup;
-    }
-
-    CFRelease(search);
-    search = NULL;
-    if ((err = SecIdentitySearchCreateWithPolicy(policy, NULL, CSSM_KEYUSE_SIGN,
-                                              keychain, FALSE, &search)))
-    {
-      cupsdLogMessage(CUPSD_LOG_ERROR,
-                     "Cannot create identity search reference: %s (%d)",
-                     cssmErrorString(err), (int)err);
-      goto cleanup;
-    }
-
-    err = SecIdentitySearchCopyNext(search, &identity);
-
-  }
-
-  if (err)
-  {
-    cupsdLogMessage(CUPSD_LOG_DEBUG,
-                   "Cannot find signing key in keychain \"%s\": %s (%d)",
-                   ServerCertificate, cssmErrorString(err), (int)err);
-    goto cleanup;
-  }
-
-#  else
- /*
-  * Assume there is exactly one SecIdentity in the keychain...
-  */
-
-  if ((err = SecIdentitySearchCreate(keychain, CSSM_KEYUSE_SIGN, &search)))
-  {
-    cupsdLogMessage(CUPSD_LOG_DEBUG,
-                   "Cannot create identity search reference (%d)", (int)err);
-    goto cleanup;
-  }
-
-  if ((err = SecIdentitySearchCopyNext(search, &identity)))
-  {
-    cupsdLogMessage(CUPSD_LOG_DEBUG,
-                   "Cannot find signing key in keychain \"%s\": %s (%d)",
-                   ServerCertificate, cssmErrorString(err), (int)err);
-    goto cleanup;
-  }
-#  endif /* HAVE_SECPOLICYCREATESSL */
-
-  if (CFGetTypeID(identity) != SecIdentityGetTypeID())
-  {
-    cupsdLogMessage(CUPSD_LOG_ERROR, "SecIdentity CFTypeID failure!");
-    goto cleanup;
-  }
-
-  if ((certificates = CFArrayCreate(NULL, (const void **)&identity,
-                                 1, &kCFTypeArrayCallBacks)) == NULL)
-  {
-    cupsdLogMessage(CUPSD_LOG_ERROR, "Cannot create certificate array");
-    goto cleanup;
-  }
-
-  cleanup :
-
-  if (keychain)
-    CFRelease(keychain);
-  if (search)
-    CFRelease(search);
-  if (identity)
-    CFRelease(identity);
-
-#  if HAVE_SECPOLICYCREATESSL
-  if (policy)
-    CFRelease(policy);
-  if (query)
-    CFRelease(query);
-#  elif defined(HAVE_SECIDENTITYSEARCHCREATEWITHPOLICY)
-  if (policy)
-    CFRelease(policy);
-  if (policy_search)
-    CFRelease(policy_search);
-#  endif /* HAVE_SECPOLICYCREATESSL */
-
-  return (certificates);
-}
-#endif /* HAVE_CDSASSL */
-
-
 /*
  * 'data_ready()' - Check whether data is available from a client.
  */
@@ -3380,245 +3114,6 @@ data_ready(cupsd_client_t *con)         /* I - Client */
 }
 
 
-#ifdef HAVE_SSL
-/*
- * 'encrypt_client()' - Enable encryption for the client...
- */
-
-static int                             /* O - 1 on success, 0 on error */
-encrypt_client(cupsd_client_t *con)    /* I - Client to encrypt */
-{
-#  ifdef HAVE_LIBSSL
-  SSL_CTX      *context;               /* Context for encryption */
-  BIO          *bio;                   /* BIO data */
-  unsigned long        error;                  /* Error code */
-
-
-  cupsdLogMessage(CUPSD_LOG_DEBUG2, "encrypt_client(con=%p(%d))", con,
-                  con->http.fd);
-
- /*
-  * Verify that we have a certificate...
-  */
-
-  if (access(ServerKey, 0) || access(ServerCertificate, 0))
-  {
-   /*
-    * Nope, make a self-signed certificate...
-    */
-
-    if (!make_certificate(con))
-      return (0);
-  }
-
- /*
-  * Create the SSL context and accept the connection...
-  */
-
-  context = SSL_CTX_new(SSLv23_server_method());
-
-  SSL_CTX_set_options(context, SSL_OP_NO_SSLv2); /* Only use SSLv3 or TLS */
-  if (SSLOptions & CUPSD_SSL_NOEMPTY)
-    SSL_CTX_set_options(context, SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS);
-  SSL_CTX_use_PrivateKey_file(context, ServerKey, SSL_FILETYPE_PEM);
-  SSL_CTX_use_certificate_chain_file(context, ServerCertificate);
-
-  bio = BIO_new(_httpBIOMethods());
-  BIO_ctrl(bio, BIO_C_SET_FILE_PTR, 0, (char *)HTTP(con));
-
-  con->http.tls = SSL_new(context);
-  SSL_set_bio(con->http.tls, bio, bio);
-
-  if (SSL_accept(con->http.tls) != 1)
-  {
-    cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to encrypt connection from %s.",
-                    con->http.hostname);
-
-    while ((error = ERR_get_error()) != 0)
-      cupsdLogMessage(CUPSD_LOG_ERROR, "%s", ERR_error_string(error, NULL));
-
-    SSL_CTX_free(context);
-    SSL_free(con->http.tls);
-    con->http.tls = NULL;
-    return (0);
-  }
-
-  cupsdLogMessage(CUPSD_LOG_DEBUG, "Connection from %s now encrypted.",
-                  con->http.hostname);
-
-  return (1);
-
-#  elif defined(HAVE_GNUTLS)
-  int          status;                 /* Error code */
-  gnutls_certificate_server_credentials *credentials;
-                                       /* TLS credentials */
-
-
-  cupsdLogMessage(CUPSD_LOG_DEBUG2, "encrypt_client(con=%p(%d))", con,
-                  con->http.fd);
-
- /*
-  * Verify that we have a certificate...
-  */
-
-  if (access(ServerKey, 0) || access(ServerCertificate, 0))
-  {
-   /*
-    * Nope, make a self-signed certificate...
-    */
-
-    if (!make_certificate(con))
-      return (0);
-  }
-
- /*
-  * Create the SSL object and perform the SSL handshake...
-  */
-
-  credentials = (gnutls_certificate_server_credentials *)
-                    malloc(sizeof(gnutls_certificate_server_credentials));
-  if (credentials == NULL)
-  {
-    cupsdLogMessage(CUPSD_LOG_ERROR,
-                    "Unable to encrypt connection from %s - %s",
-                    con->http.hostname, strerror(errno));
-
-    return (0);
-  }
-
-  gnutls_certificate_allocate_credentials(credentials);
-  gnutls_certificate_set_x509_key_file(*credentials, ServerCertificate,
-                                      ServerKey, GNUTLS_X509_FMT_PEM);
-
-  gnutls_init(&con->http.tls, GNUTLS_SERVER);
-  gnutls_set_default_priority(con->http.tls);
-
-  gnutls_credentials_set(con->http.tls, GNUTLS_CRD_CERTIFICATE, *credentials);
-  gnutls_transport_set_ptr(con->http.tls, (gnutls_transport_ptr)HTTP(con));
-  gnutls_transport_set_pull_function(con->http.tls, _httpReadGNUTLS);
-  gnutls_transport_set_push_function(con->http.tls, _httpWriteGNUTLS);
-
-  while ((status = gnutls_handshake(con->http.tls)) != GNUTLS_E_SUCCESS)
-  {
-    if (gnutls_error_is_fatal(status))
-    {
-      cupsdLogMessage(CUPSD_LOG_ERROR,
-                      "Unable to encrypt connection from %s - %s",
-                      con->http.hostname, gnutls_strerror(status));
-
-      gnutls_deinit(con->http.tls);
-      gnutls_certificate_free_credentials(*credentials);
-      con->http.tls = NULL;
-      free(credentials);
-      return (0);
-    }
-  }
-
-  cupsdLogMessage(CUPSD_LOG_DEBUG, "Connection from %s now encrypted.",
-                  con->http.hostname);
-
-  con->http.tls_credentials = credentials;
-  return (1);
-
-#  elif defined(HAVE_CDSASSL)
-  OSStatus     error = 0;              /* Error code */
-  CFArrayRef   peerCerts;              /* Peer certificates */
-
-
-  cupsdLogMessage(CUPSD_LOG_DEBUG2, "encrypt_client(con=%p(%d))", con,
-                  con->http.fd);
-
-  con->http.tls_credentials = copy_cdsa_certificate(con);
-
-  if (!con->http.tls_credentials)
-  {
-   /*
-    * No keychain (yet), make a self-signed certificate...
-    */
-
-    if (make_certificate(con))
-      con->http.tls_credentials = copy_cdsa_certificate(con);
-  }
-
-  if (!con->http.tls_credentials)
-  {
-    cupsdLogMessage(CUPSD_LOG_ERROR,
-                   "Could not find signing key in keychain \"%s\"",
-                   ServerCertificate);
-    error = errSSLBadCert; /* errSSLBadConfiguration is a better choice, but not available on 10.2.x */
-  }
-
-  if (!error)
-    error = SSLNewContext(true, &con->http.tls);
-
-  if (!error)
-    error = SSLSetIOFuncs(con->http.tls, _httpReadCDSA, _httpWriteCDSA);
-
-  if (!error)
-    error = SSLSetConnection(con->http.tls, HTTP(con));
-
-  if (!error)
-    error = SSLSetAllowsExpiredCerts(con->http.tls, true);
-
-  if (!error)
-    error = SSLSetAllowsAnyRoot(con->http.tls, true);
-
-  if (!error)
-    error = SSLSetCertificate(con->http.tls, con->http.tls_credentials);
-
-  if (!error)
-  {
-   /*
-    * Perform SSL/TLS handshake
-    */
-
-    while ((error = SSLHandshake(con->http.tls)) == errSSLWouldBlock)
-      usleep(1000);
-  }
-
-  if (error)
-  {
-    cupsdLogMessage(CUPSD_LOG_ERROR,
-                    "Unable to encrypt connection from %s - %s (%d)",
-                    con->http.hostname, cssmErrorString(error), (int)error);
-
-    con->http.error  = error;
-    con->http.status = HTTP_ERROR;
-
-    if (con->http.tls)
-    {
-      SSLDisposeContext(con->http.tls);
-      con->http.tls = NULL;
-    }
-
-    if (con->http.tls_credentials)
-    {
-      CFRelease(con->http.tls_credentials);
-      con->http.tls_credentials = NULL;
-    }
-
-    return (0);
-  }
-
-  cupsdLogMessage(CUPSD_LOG_DEBUG, "Connection from %s now encrypted.",
-                  con->http.hostname);
-
-  if (!SSLCopyPeerCertificates(con->http.tls, &peerCerts) && peerCerts)
-  {
-    cupsdLogMessage(CUPSD_LOG_DEBUG, "Received %d peer certificates!",
-                   (int)CFArrayGetCount(peerCerts));
-    CFRelease(peerCerts);
-  }
-  else
-    cupsdLogMessage(CUPSD_LOG_DEBUG, "Received NO peer certificates!");
-
-  return (1);
-
-#  endif /* HAVE_LIBSSL */
-}
-#endif /* HAVE_SSL */
-
-
 /*
  * 'get_file()' - Get a filename and state info.
  */
@@ -3802,8 +3297,8 @@ get_file(cupsd_client_t *con,             /* I  - Client connection */
   }
 
   cupsdLogMessage(CUPSD_LOG_DEBUG2,
-                  "get_file(con=%p(%d), filestats=%p, filename=%p, len=%d) = "
-                 "%s", con, con->http.fd, filestats, filename, len,
+                  "[Client %d] get_file filestats=%p, filename=%p, len=%d, "
+                 "returning \"%s\".", con->http.fd, filestats, filename, len,
                  status ? "(null)" : filename);
 
   if (status)
@@ -3814,14 +3309,13 @@ get_file(cupsd_client_t *con,           /* I  - Client connection */
 
 
 /*
- * 'install_conf_file()' - Install a configuration file.
+ * 'install_cupsd_conf()' - Install a configuration file.
  */
 
 static http_status_t                   /* O - Status */
-install_conf_file(cupsd_client_t *con) /* I - Connection */
+install_cupsd_conf(cupsd_client_t *con)        /* I - Connection */
 {
   char         filename[1024];         /* Configuration filename */
-  mode_t       mode;                   /* Permissions */
   cups_file_t  *in,                    /* Input file */
                *out;                   /* Output file */
   char         buffer[16384];          /* Copy buffer */
@@ -3843,19 +3337,14 @@ install_conf_file(cupsd_client_t *con)  /* I - Connection */
   * Open the new config file...
   */
 
-  snprintf(filename, sizeof(filename), "%s%s", ServerRoot, con->uri + 11);
-  if (!strcmp(con->uri, "/admin/conf/printers.conf"))
-    mode = ConfigFilePerm & 0600;
-  else
-    mode = ConfigFilePerm;
-
-  if ((out = cupsdCreateConfFile(filename, mode)) == NULL)
+  if ((out = cupsdCreateConfFile(ConfigurationFile, ConfigFilePerm)) == NULL)
   {
     cupsFileClose(in);
     return (HTTP_SERVER_ERROR);
   }
 
-  cupsdLogMessage(CUPSD_LOG_INFO, "Installing config file \"%s\"...", filename);
+  cupsdLogMessage(CUPSD_LOG_INFO, "Installing config file \"%s\"...",
+                  ConfigurationFile);
 
  /*
   * Copy from the request to the new config file...
@@ -3866,12 +3355,12 @@ install_conf_file(cupsd_client_t *con)  /* I - Connection */
     {
       cupsdLogMessage(CUPSD_LOG_ERROR,
                       "Unable to copy to config file \"%s\": %s",
-                     filename, strerror(errno));
+                     ConfigurationFile, strerror(errno));
 
       cupsFileClose(in);
       cupsFileClose(out);
 
-      snprintf(filename, sizeof(filename), "%s%s.N", ServerRoot, con->uri + 11);
+      snprintf(filename, sizeof(filename), "%s.N", ConfigurationFile);
       cupsdRemoveFile(filename);
 
       return (HTTP_SERVER_ERROR);
@@ -3883,7 +3372,7 @@ install_conf_file(cupsd_client_t *con)    /* I - Connection */
 
   cupsFileClose(in);
 
-  if (cupsdCloseCreatedConfFile(out, filename))
+  if (cupsdCloseCreatedConfFile(out, ConfigurationFile))
     return (HTTP_SERVER_ERROR);
 
  /*
@@ -3894,14 +3383,10 @@ install_conf_file(cupsd_client_t *con)  /* I - Connection */
   cupsdClearString(&con->filename);
 
  /*
-  * If the cupsd.conf file was updated, set the NeedReload flag...
+  * Set the NeedReload flag...
   */
 
-  if (!strcmp(con->uri, "/admin/conf/cupsd.conf"))
-    NeedReload = RELOAD_CUPSD;
-  else
-    NeedReload = RELOAD_ALL;
-
+  NeedReload = RELOAD_CUPSD;
   ReloadTime = time(NULL);
 
  /*
@@ -3942,9 +3427,9 @@ is_cgi(cupsd_client_t *con,               /* I - Client connection */
   if (!type || _cups_strcasecmp(type->super, "application"))
   {
     cupsdLogMessage(CUPSD_LOG_DEBUG2,
-                   "is_cgi(con=%p(%d), filename=\"%s\", filestats=%p, "
-                   "type=%s/%s) = 0", con, con->http.fd, filename, filestats,
-                   type ? type->super : "unknown",
+                   "[Client %d] is_cgi filename=\"%s\", filestats=%p, "
+                   "type=%s/%s, returning 0", con->http.fd, filename,
+                   filestats, type ? type->super : "unknown",
                    type ? type->type : "unknown");
     return (0);
   }
@@ -3962,9 +3447,9 @@ is_cgi(cupsd_client_t *con,               /* I - Client connection */
       cupsdSetStringf(&con->options, " %s", options);
 
     cupsdLogMessage(CUPSD_LOG_DEBUG2,
-                   "is_cgi(con=%p(%d), filename=\"%s\", filestats=%p, "
-                   "type=%s/%s) = 1", con, con->http.fd, filename, filestats,
-                   type->super, type->type);
+                   "[Client %d] is_cgi filename=\"%s\", filestats=%p, "
+                   "type=%s/%s, returning 1", con->http.fd, filename,
+                   filestats, type->super, type->type);
     return (1);
   }
 #ifdef HAVE_JAVA
@@ -3982,9 +3467,9 @@ is_cgi(cupsd_client_t *con,               /* I - Client connection */
       cupsdSetStringf(&con->options, " %s", filename);
 
     cupsdLogMessage(CUPSD_LOG_DEBUG2,
-                   "is_cgi(con=%p(%d), filename=\"%s\", filestats=%p, "
-                   "type=%s/%s) = 1", con, con->http.fd, filename, filestats,
-                   type->super, type->type);
+                   "[Client %d] is_cgi filename=\"%s\", filestats=%p, "
+                   "type=%s/%s, returning 1", con->http.fd, filename,
+                   filestats, type->super, type->type);
     return (1);
   }
 #endif /* HAVE_JAVA */
@@ -4003,9 +3488,9 @@ is_cgi(cupsd_client_t *con,               /* I - Client connection */
       cupsdSetStringf(&con->options, " %s", filename);
 
     cupsdLogMessage(CUPSD_LOG_DEBUG2,
-                   "is_cgi(con=%p(%d), filename=\"%s\", filestats=%p, "
-                   "type=%s/%s) = 1", con, con->http.fd, filename, filestats,
-                   type->super, type->type);
+                   "[Client %d] is_cgi filename=\"%s\", filestats=%p, "
+                   "type=%s/%s, returning 1", con->http.fd, filename,
+                   filestats, type->super, type->type);
     return (1);
   }
 #endif /* HAVE_PERL */
@@ -4024,9 +3509,9 @@ is_cgi(cupsd_client_t *con,               /* I - Client connection */
       cupsdSetStringf(&con->options, " %s", filename);
 
     cupsdLogMessage(CUPSD_LOG_DEBUG2,
-                   "is_cgi(con=%p(%d), filename=\"%s\", filestats=%p, "
-                   "type=%s/%s) = 1", con, con->http.fd, filename, filestats,
-                   type->super, type->type);
+                   "[Client %d] is_cgi filename=\"%s\", filestats=%p, "
+                   "type=%s/%s, returning 1", con->http.fd, filename,
+                   filestats, type->super, type->type);
     return (1);
   }
 #endif /* HAVE_PHP */
@@ -4045,17 +3530,17 @@ is_cgi(cupsd_client_t *con,             /* I - Client connection */
       cupsdSetStringf(&con->options, " %s", filename);
 
     cupsdLogMessage(CUPSD_LOG_DEBUG2,
-                   "is_cgi(con=%p(%d), filename=\"%s\", filestats=%p, "
-                   "type=%s/%s) = 1", con, con->http.fd, filename, filestats,
-                   type->super, type->type);
+                   "[Client %d] is_cgi filename=\"%s\", filestats=%p, "
+                   "type=%s/%s, returning 1", con->http.fd, filename,
+                   filestats, type->super, type->type);
     return (1);
   }
 #endif /* HAVE_PYTHON */
 
   cupsdLogMessage(CUPSD_LOG_DEBUG2,
-                 "is_cgi(con=%p(%d), filename=\"%s\", filestats=%p, "
-                 "type=%s/%s) = 0", con, con->http.fd, filename, filestats,
-                 type->super, type->type);
+                 "[Client %d] is_cgi filename=\"%s\", filestats=%p, "
+                 "type=%s/%s, returning 0", con->http.fd, filename,
+                 filestats, type->super, type->type);
   return (0);
 }
 
@@ -4095,475 +3580,6 @@ is_path_absolute(const char *path)      /* I - Input path */
 }
 
 
-#ifdef HAVE_SSL
-/*
- * 'make_certificate()' - Make a self-signed SSL/TLS certificate.
- */
-
-static int                             /* O - 1 on success, 0 on failure */
-make_certificate(cupsd_client_t *con)  /* I - Client connection */
-{
-#if defined(HAVE_LIBSSL) && defined(HAVE_WAITPID)
-  int          pid,                    /* Process ID of command */
-               status;                 /* Status of command */
-  char         command[1024],          /* Command */
-               *argv[12],              /* Command-line arguments */
-               *envp[MAX_ENV + 1],     /* Environment variables */
-               infofile[1024],         /* Type-in information for cert */
-               seedfile[1024];         /* Random number seed file */
-  int          envc,                   /* Number of environment variables */
-               bytes;                  /* Bytes written */
-  cups_file_t  *fp;                    /* Seed/info file */
-  int          infofd;                 /* Info file descriptor */
-
-
- /*
-  * Run the "openssl" command to seed the random number generator and
-  * generate a self-signed certificate that is good for 10 years:
-  *
-  *     openssl rand -rand seedfile 1
-  *
-  *     openssl req -new -x509 -keyout ServerKey \
-  *             -out ServerCertificate -days 3650 -nodes
-  *
-  * The seeding step is crucial in ensuring that the openssl command
-  * does not block on systems without sufficient entropy...
-  */
-
-  if (!cupsFileFind("openssl", getenv("PATH"), 1, command, sizeof(command)))
-  {
-    cupsdLogMessage(CUPSD_LOG_ERROR,
-                    "No SSL certificate and openssl command not found!");
-    return (0);
-  }
-
-  if (access("/dev/urandom", 0))
-  {
-   /*
-    * If the system doesn't provide /dev/urandom, then any random source
-    * will probably be blocking-style, so generate some random data to
-    * use as a seed for the certificate.  Note that we have already
-    * seeded the random number generator in cupsdInitCerts()...
-    */
-
-    cupsdLogMessage(CUPSD_LOG_INFO,
-                    "Seeding the random number generator...");
-
-   /*
-    * Write the seed file...
-    */
-
-    if ((fp = cupsTempFile2(seedfile, sizeof(seedfile))) == NULL)
-    {
-      cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to create seed file %s - %s",
-                      seedfile, strerror(errno));
-      return (0);
-    }
-
-    for (bytes = 0; bytes < 262144; bytes ++)
-      cupsFilePutChar(fp, random());
-
-    cupsFileClose(fp);
-
-   /*
-    * Run the openssl command to seed its random number generator...
-    */
-
-    argv[0] = "openssl";
-    argv[1] = "rand";
-    argv[2] = "-rand";
-    argv[3] = seedfile;
-    argv[4] = "1";
-    argv[5] = NULL;
-
-    envc = cupsdLoadEnv(envp, MAX_ENV);
-    envp[envc] = NULL;
-
-    if (!cupsdStartProcess(command, argv, envp, -1, -1, -1, -1, -1, 1, NULL,
-                           NULL, &pid))
-    {
-      unlink(seedfile);
-      return (0);
-    }
-
-    while (waitpid(pid, &status, 0) < 0)
-      if (errno != EINTR)
-      {
-       status = 1;
-       break;
-      }
-
-    cupsdFinishProcess(pid, command, sizeof(command), NULL);
-
-   /*
-    * Remove the seed file, as it is no longer needed...
-    */
-
-    unlink(seedfile);
-
-    if (status)
-    {
-      if (WIFEXITED(status))
-       cupsdLogMessage(CUPSD_LOG_ERROR,
-                       "Unable to seed random number generator - "
-                       "the openssl command stopped with status %d!",
-                       WEXITSTATUS(status));
-      else
-       cupsdLogMessage(CUPSD_LOG_ERROR,
-                       "Unable to seed random number generator - "
-                       "the openssl command crashed on signal %d!",
-                       WTERMSIG(status));
-
-      return (0);
-    }
-  }
-
- /*
-  * Create a file with the certificate information fields...
-  *
-  * Note: This assumes that the default questions are asked by the openssl
-  * command...
-  */
-
-  if ((fp = cupsTempFile2(infofile, sizeof(infofile))) == NULL)
-  {
-    cupsdLogMessage(CUPSD_LOG_ERROR,
-                    "Unable to create certificate information file %s - %s",
-                    infofile, strerror(errno));
-    return (0);
-  }
-
-  cupsFilePrintf(fp, ".\n.\n.\n%s\n.\n%s\n%s\n",
-                 ServerName, ServerName, ServerAdmin);
-  cupsFileClose(fp);
-
-  cupsdLogMessage(CUPSD_LOG_INFO,
-                  "Generating SSL server key and certificate...");
-
-  argv[0]  = "openssl";
-  argv[1]  = "req";
-  argv[2]  = "-new";
-  argv[3]  = "-x509";
-  argv[4]  = "-keyout";
-  argv[5]  = ServerKey;
-  argv[6]  = "-out";
-  argv[7]  = ServerCertificate;
-  argv[8]  = "-days";
-  argv[9]  = "3650";
-  argv[10] = "-nodes";
-  argv[11] = NULL;
-
-  cupsdLoadEnv(envp, MAX_ENV);
-
-  infofd = open(infofile, O_RDONLY);
-
-  if (!cupsdStartProcess(command, argv, envp, infofd, -1, -1, -1, -1, 1, NULL,
-                         NULL, &pid))
-  {
-    close(infofd);
-    unlink(infofile);
-    return (0);
-  }
-
-  close(infofd);
-  unlink(infofile);
-
-  while (waitpid(pid, &status, 0) < 0)
-    if (errno != EINTR)
-    {
-      status = 1;
-      break;
-    }
-
-  cupsdFinishProcess(pid, command, sizeof(command), NULL);
-
-  if (status)
-  {
-    if (WIFEXITED(status))
-      cupsdLogMessage(CUPSD_LOG_ERROR,
-                      "Unable to create SSL server key and certificate - "
-                     "the openssl command stopped with status %d!",
-                     WEXITSTATUS(status));
-    else
-      cupsdLogMessage(CUPSD_LOG_ERROR,
-                      "Unable to create SSL server key and certificate - "
-                     "the openssl command crashed on signal %d!",
-                     WTERMSIG(status));
-  }
-  else
-  {
-    cupsdLogMessage(CUPSD_LOG_INFO, "Created SSL server key file \"%s\"...",
-                   ServerKey);
-    cupsdLogMessage(CUPSD_LOG_INFO,
-                    "Created SSL server certificate file \"%s\"...",
-                   ServerCertificate);
-  }
-
-  return (!status);
-
-#elif defined(HAVE_GNUTLS)
-  gnutls_x509_crt      crt;            /* Self-signed certificate */
-  gnutls_x509_privkey  key;            /* Encryption key */
-  cups_lang_t          *language;      /* Default language info */
-  cups_file_t          *fp;            /* Key/cert file */
-  unsigned char                buffer[8192];   /* Buffer for x509 data */
-  size_t               bytes;          /* Number of bytes of data */
-  unsigned char                serial[4];      /* Serial number buffer */
-  time_t               curtime;        /* Current time */
-  int                  result;         /* Result of GNU TLS calls */
-
-
- /*
-  * Create the encryption key...
-  */
-
-  cupsdLogMessage(CUPSD_LOG_INFO, "Generating SSL server key...");
-
-  gnutls_x509_privkey_init(&key);
-  gnutls_x509_privkey_generate(key, GNUTLS_PK_RSA, 2048, 0);
-
- /*
-  * Save it...
-  */
-
-  bytes = sizeof(buffer);
-
-  if ((result = gnutls_x509_privkey_export(key, GNUTLS_X509_FMT_PEM,
-                                           buffer, &bytes)) < 0)
-  {
-    cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to export SSL server key - %s",
-                    gnutls_strerror(result));
-    gnutls_x509_privkey_deinit(key);
-    return (0);
-  }
-  else if ((fp = cupsFileOpen(ServerKey, "w")) != NULL)
-  {
-    cupsFileWrite(fp, (char *)buffer, bytes);
-    cupsFileClose(fp);
-
-    cupsdLogMessage(CUPSD_LOG_INFO, "Created SSL server key file \"%s\"...",
-                   ServerKey);
-  }
-  else
-  {
-    cupsdLogMessage(CUPSD_LOG_ERROR,
-                    "Unable to create SSL server key file \"%s\" - %s",
-                   ServerKey, strerror(errno));
-    gnutls_x509_privkey_deinit(key);
-    return (0);
-  }
-
- /*
-  * Create the self-signed certificate...
-  */
-
-  cupsdLogMessage(CUPSD_LOG_INFO, "Generating self-signed SSL certificate...");
-
-  language  = cupsLangDefault();
-  curtime   = time(NULL);
-  serial[0] = curtime >> 24;
-  serial[1] = curtime >> 16;
-  serial[2] = curtime >> 8;
-  serial[3] = curtime;
-
-  gnutls_x509_crt_init(&crt);
-  if (strlen(language->language) == 5)
-    gnutls_x509_crt_set_dn_by_oid(crt, GNUTLS_OID_X520_COUNTRY_NAME, 0,
-                                  language->language + 3, 2);
-  else
-    gnutls_x509_crt_set_dn_by_oid(crt, GNUTLS_OID_X520_COUNTRY_NAME, 0,
-                                  "US", 2);
-  gnutls_x509_crt_set_dn_by_oid(crt, GNUTLS_OID_X520_COMMON_NAME, 0,
-                                ServerName, strlen(ServerName));
-  gnutls_x509_crt_set_dn_by_oid(crt, GNUTLS_OID_X520_ORGANIZATION_NAME, 0,
-                                ServerName, strlen(ServerName));
-  gnutls_x509_crt_set_dn_by_oid(crt, GNUTLS_OID_X520_ORGANIZATIONAL_UNIT_NAME,
-                                0, "Unknown", 7);
-  gnutls_x509_crt_set_dn_by_oid(crt, GNUTLS_OID_X520_STATE_OR_PROVINCE_NAME, 0,
-                                "Unknown", 7);
-  gnutls_x509_crt_set_dn_by_oid(crt, GNUTLS_OID_X520_LOCALITY_NAME, 0,
-                                "Unknown", 7);
-  gnutls_x509_crt_set_dn_by_oid(crt, GNUTLS_OID_PKCS9_EMAIL, 0,
-                                ServerAdmin, strlen(ServerAdmin));
-  gnutls_x509_crt_set_key(crt, key);
-  gnutls_x509_crt_set_serial(crt, serial, sizeof(serial));
-  gnutls_x509_crt_set_activation_time(crt, curtime);
-  gnutls_x509_crt_set_expiration_time(crt, curtime + 10 * 365 * 86400);
-  gnutls_x509_crt_set_ca_status(crt, 0);
-  gnutls_x509_crt_set_subject_alternative_name(crt, GNUTLS_SAN_DNSNAME,
-                                               ServerName);
-  gnutls_x509_crt_set_key_purpose_oid(crt, GNUTLS_KP_TLS_WWW_SERVER, 0);
-  gnutls_x509_crt_set_key_usage(crt, GNUTLS_KEY_KEY_ENCIPHERMENT);
-  gnutls_x509_crt_set_version(crt, 3);
-
-  bytes = sizeof(buffer);
-  if (gnutls_x509_crt_get_key_id(crt, 0, buffer, &bytes) >= 0)
-    gnutls_x509_crt_set_subject_key_id(crt, buffer, bytes);
-
-  gnutls_x509_crt_sign(crt, crt, key);
-
- /*
-  * Save it...
-  */
-
-  bytes = sizeof(buffer);
-  if ((result = gnutls_x509_crt_export(crt, GNUTLS_X509_FMT_PEM,
-                                       buffer, &bytes)) < 0)
-    cupsdLogMessage(CUPSD_LOG_ERROR,
-                    "Unable to export SSL server certificate - %s",
-                   gnutls_strerror(result));
-  else if ((fp = cupsFileOpen(ServerCertificate, "w")) != NULL)
-  {
-    cupsFileWrite(fp, (char *)buffer, bytes);
-    cupsFileClose(fp);
-
-    cupsdLogMessage(CUPSD_LOG_INFO,
-                    "Created SSL server certificate file \"%s\"...",
-                   ServerCertificate);
-  }
-  else
-    cupsdLogMessage(CUPSD_LOG_ERROR,
-                    "Unable to create SSL server certificate file \"%s\" - %s",
-                   ServerCertificate, strerror(errno));
-
- /*
-  * Cleanup...
-  */
-
-  gnutls_x509_crt_deinit(crt);
-  gnutls_x509_privkey_deinit(key);
-
-  return (1);
-
-#elif defined(HAVE_CDSASSL) && defined(HAVE_WAITPID)
-  int          pid,                    /* Process ID of command */
-               status;                 /* Status of command */
-  char         command[1024],          /* Command */
-               *argv[4],               /* Command-line arguments */
-               *envp[MAX_ENV + 1],     /* Environment variables */
-               keychain[1024],         /* Keychain argument */
-               infofile[1024],         /* Type-in information for cert */
-               localname[1024],        /* Local hostname */
-               *servername;            /* Name of server in cert */
-  cups_file_t  *fp;                    /* Seed/info file */
-  int          infofd;                 /* Info file descriptor */
-
-
-  if (con->servername && isdigit(con->servername[0] & 255) && DNSSDHostName)
-  {
-    snprintf(localname, sizeof(localname), "%s.local", DNSSDHostName);
-    servername = localname;
-  }
-  else
-    servername = con->servername;
-
- /*
-  * Run the "certtool" command to generate a self-signed certificate...
-  */
-
-  if (!cupsFileFind("certtool", getenv("PATH"), 1, command, sizeof(command)))
-  {
-    cupsdLogMessage(CUPSD_LOG_ERROR,
-                    "No SSL certificate and certtool command not found!");
-    return (0);
-  }
-
- /*
-  * Create a file with the certificate information fields...
-  *
-  * Note: This assumes that the default questions are asked by the certtool
-  * command...
-  */
-
-  if ((fp = cupsTempFile2(infofile, sizeof(infofile))) == NULL)
-  {
-    cupsdLogMessage(CUPSD_LOG_ERROR,
-                    "Unable to create certificate information file %s - %s",
-                    infofile, strerror(errno));
-    return (0);
-  }
-
-  cupsFilePrintf(fp,
-                 "%s\n"                        /* Enter key and certificate label */
-                 "r\n"                 /* Generate RSA key pair */
-                 "2048\n"              /* Key size in bits */
-                 "y\n"                 /* OK (y = yes) */
-                 "b\n"                 /* Usage (b=signing/encryption) */
-                 "s\n"                 /* Sign with SHA1 */
-                 "y\n"                 /* OK (y = yes) */
-                 "%s\n"                        /* Common name */
-                 "\n"                  /* Country (default) */
-                 "\n"                  /* Organization (default) */
-                 "\n"                  /* Organizational unit (default) */
-                 "\n"                  /* State/Province (default) */
-                 "%s\n"                        /* Email address */
-                 "y\n",                        /* OK (y = yes) */
-                servername, servername, ServerAdmin);
-  cupsFileClose(fp);
-
-  cupsdLogMessage(CUPSD_LOG_INFO,
-                  "Generating SSL server key and certificate...");
-
-  snprintf(keychain, sizeof(keychain), "k=%s", ServerCertificate);
-
-  argv[0] = "certtool";
-  argv[1] = "c";
-  argv[2] = keychain;
-  argv[3] = NULL;
-
-  cupsdLoadEnv(envp, MAX_ENV);
-
-  infofd = open(infofile, O_RDONLY);
-
-  if (!cupsdStartProcess(command, argv, envp, infofd, -1, -1, -1, -1, 1, NULL,
-                         NULL, &pid))
-  {
-    close(infofd);
-    unlink(infofile);
-    return (0);
-  }
-
-  close(infofd);
-  unlink(infofile);
-
-  while (waitpid(pid, &status, 0) < 0)
-    if (errno != EINTR)
-    {
-      status = 1;
-      break;
-    }
-
-  cupsdFinishProcess(pid, command, sizeof(command), NULL);
-
-  if (status)
-  {
-    if (WIFEXITED(status))
-      cupsdLogMessage(CUPSD_LOG_ERROR,
-                      "Unable to create SSL server key and certificate - "
-                     "the certtool command stopped with status %d!",
-                     WEXITSTATUS(status));
-    else
-      cupsdLogMessage(CUPSD_LOG_ERROR,
-                      "Unable to create SSL server key and certificate - "
-                     "the certtool command crashed on signal %d!",
-                     WTERMSIG(status));
-  }
-  else
-  {
-    cupsdLogMessage(CUPSD_LOG_INFO,
-                    "Created SSL server certificate file \"%s\"...",
-                   ServerCertificate);
-  }
-
-  return (!status);
-
-#else
-  return (0);
-#endif /* HAVE_LIBSSL && HAVE_WAITPID */
-}
-#endif /* HAVE_SSL */
-
-
 /*
  * 'pipe_command()' - Pipe the output of a command to the remote client.
  */
@@ -4603,7 +3619,6 @@ pipe_command(cupsd_client_t *con, /* I - Client connection */
                server_name[1024],      /* SERVER_NAME environment variable */
                server_port[1024];      /* SERVER_PORT environment variable */
   ipp_attribute_t *attr;               /* attributes-natural-language attribute */
-  void         *ccache = NULL;         /* Kerberos credentials */
 
 
  /*
@@ -4625,9 +3640,9 @@ pipe_command(cupsd_client_t *con, /* I - Client connection */
   */
 
   cupsdLogMessage(CUPSD_LOG_DEBUG2,
-                  "pipe_command(con=%p(%d), infile=%d, outfile=%p, "
-                 "command=\"%s\", options=\"%s\", root=%d)",
-                  con, con->http.fd, infile, outfile, command,
+                  "[Client %d] pipe_command infile=%d, outfile=%p, "
+                 "command=\"%s\", options=\"%s\", root=%d",
+                  con->http.fd, infile, outfile, command,
                  options ? options : "(null)", root);
 
   argv[0] = command;
@@ -4955,7 +3970,7 @@ pipe_command(cupsd_client_t *con, /* I - Client connection */
     */
 
     if (con->username[0])
-      cupsdAddCert(pid, con->username, ccache);
+      cupsdAddCert(pid, con->username, con->type);
 
     cupsdLogMessage(CUPSD_LOG_DEBUG, "[CGI] Started %s (PID %d)", command, pid);
 
@@ -5003,16 +4018,26 @@ valid_host(cupsd_client_t *con)         /* I - Client connection */
            !strncmp(host, "[::1]:", 6));
   }
 
-#ifdef HAVE_DNSSD
+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
  /*
   * Check if the hostname is something.local (Bonjour); if so, allow it.
   */
 
-  if ((end = strrchr(host, '.')) != NULL &&
-      (!_cups_strcasecmp(end, ".local") || !_cups_strncasecmp(end, ".local:", 7) ||
-       !_cups_strcasecmp(end, ".local.") || !_cups_strncasecmp(end, ".local.:", 8)))
+  if ((end = strrchr(host, '.')) != NULL && end > host &&
+      (!end[1] || end[1] == ':'))
+  {
+   /*
+    * "." on end, work back to second-to-last "."...
+    */
+    for (end --; end > host && *end != '.'; end --);
+  }
+
+  if (end && (!_cups_strcasecmp(end, ".local") ||
+             !_cups_strncasecmp(end, ".local:", 7) ||
+             !_cups_strcasecmp(end, ".local.") ||
+             !_cups_strncasecmp(end, ".local.:", 8)))
     return (1);
-#endif /* HAVE_DNSSD */
+#endif /* HAVE_DNSSD || HAVE_AVAHI */
 
  /*
   * Check if the hostname is an IP address...
@@ -5073,7 +4098,7 @@ valid_host(cupsd_client_t *con)           /* I - Client connection */
     }
   }
 
-#ifdef HAVE_DNSSD
+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
   for (a = (cupsd_alias_t *)cupsArrayFirst(DNSSDAlias);
        a;
        a = (cupsd_alias_t *)cupsArrayNext(DNSSDAlias))
@@ -5098,7 +4123,7 @@ valid_host(cupsd_client_t *con)           /* I - Client connection */
         return (1);
     }
   }
-#endif /* HAVE_DNSSD */
+#endif /* HAVE_DNSSD || HAVE_AVAHI */
 
  /*
   * Check for interface hostname matches...
@@ -5140,8 +4165,8 @@ write_file(cupsd_client_t *con,           /* I - Client connection */
   con->file = open(filename, O_RDONLY);
 
   cupsdLogMessage(CUPSD_LOG_DEBUG2,
-                  "write_file(con=%p(%d), code=%d, filename=\"%s\" (%d), "
-                 "type=\"%s\", filestats=%p)", con, con->http.fd,
+                  "[Client %d] write_file code=%d, filename=\"%s\" (%d), "
+                 "type=\"%s\", filestats=%p", con->http.fd,
                  code, filename, con->file, type ? type : "(null)", filestats);
 
   if (con->file < 0)
@@ -5189,8 +4214,8 @@ static void
 write_pipe(cupsd_client_t *con)                /* I - Client connection */
 {
   cupsdLogMessage(CUPSD_LOG_DEBUG2,
-                  "write_pipe(con=%p(%d)) CGI output on fd %d",
-                  con, con->http.fd, con->file);
+                  "[Client %d] write_pipe CGI output on fd %d",
+                  con->http.fd, con->file);
 
   con->file_ready = 1;
 
@@ -5200,5 +4225,5 @@ write_pipe(cupsd_client_t *con)           /* I - Client connection */
 
 
 /*
- * End of "$Id: client.c 10338 2012-03-07 06:05:39Z mike $".
+ * End of "$Id: client.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 7beb4aa..106e43e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: client.h 9652 2011-03-25 21:25:38Z mike $"
+ * "$Id: client.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Client definitions for the CUPS scheduler.
  *
@@ -32,8 +32,10 @@ struct cupsd_client_s
   http_state_t         operation;      /* Request operation */
   off_t                        bytes;          /* Bytes transferred for this request */
   int                  type;           /* AuthType for username */
-  char                 username[256],  /* Username from Authorization: line */
-                       password[33],   /* Password from Authorization: line */
+  char                 username[HTTP_MAX_VALUE],
+                                       /* Username from Authorization: line */
+                       password[HTTP_MAX_VALUE],
+                                       /* Password from Authorization: line */
                        uri[HTTP_MAX_URI],
                                        /* Localized URL/URI for GET/PUT */
                        *filename,      /* Filename of output file */
@@ -131,7 +133,12 @@ extern void        cupsdStopListening(void);
 extern void    cupsdUpdateCGI(void);
 extern void    cupsdWriteClient(cupsd_client_t *con);
 
+#ifdef HAVE_SSL
+extern int     cupsdEndTLS(cupsd_client_t *con);
+extern int     cupsdStartTLS(cupsd_client_t *con);
+#endif /* HAVE_SSL */
+
 
 /*
- * End of "$Id: client.h 9652 2011-03-25 21:25:38Z mike $".
+ * End of "$Id: client.h 11173 2013-07-23 12:31:34Z msweet $".
  */
diff --git a/scheduler/colorman.c b/scheduler/colorman.c
new file mode 100644 (file)
index 0000000..be064b6
--- /dev/null
@@ -0,0 +1,1542 @@
+/*
+ * "$Id: colorman.c 11173 2013-07-23 12:31:34Z msweet $"
+ *
+ *   Color management routines for the CUPS scheduler.
+ *
+ *   Copyright 2007-2013 by Apple Inc.
+ *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
+ *
+ *   These coded instructions, statements, and computer programs are the
+ *   property of Apple Inc. and are protected by Federal copyright
+ *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
+ *   which should have been included with this file.  If this file is
+ *   file is missing or damaged, see the license at "http://www.cups.org/".
+ *
+ *   Original DBUS/colord code is Copyright 2011 Red Hat, Inc.
+ *
+ *   Redistribution and use in source and binary forms, with or without
+ *   modification, are permitted provided that the following conditions
+ *   are met:
+ *
+ *   Redistributions of source code must retain the above copyright
+ *   notice, this list of conditions and the following disclaimer.
+ *
+ *   Redistributions in binary form must reproduce the above copyright
+ *   notice, this list of conditions and the following disclaimer in the
+ *   documentation and/or other materials provided with the distribution.
+ *
+ *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ *   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ *   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ *   FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ *   COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ *   INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ *   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ *   SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ *   HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ *   STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ *   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ *   OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Contents:
+ *
+ *   cupsdRegisterColor()         - Register vendor color profiles in a PPD
+ *                                  file.
+ *   cupsdStartColor()            - Initialize color management.
+ *   cupsdStopColor()             - Shutdown color management.
+ *   cupsdUnregisterColor()       - Unregister vendor color profiles in a PPD
+ *                                  file.
+ *   apple_init_profile()         - Initialize a color profile.
+ *   apple_register_profiles()    - Register color profiles for a printer.
+ *   apple_unregister_profiles()   - Remove color profiles for the specified
+ *                                  printer.
+ *   colord_create_device()       - Create a device and register profiles.
+ *   colord_create_profile()      - Create a color profile for a printer.
+ *   colord_delete_device()       - Delete a device
+ *   colord_device_add_profile()   - Assign a profile to a device.
+ *   colord_dict_add_strings()    - Add two strings to a dictionary.
+ *   colord_find_device()         - Finds a device
+ *   colord_get_qualifier_format() - Get the qualifier format.
+ *   colord_register_printer()    - Register profiles for a printer.
+ *   colord_unregister_printer()   - Unregister profiles for a printer.
+ */
+
+/*
+ * Include necessary headers...
+ */
+
+#include "cupsd.h"
+#include <cups/ppd-private.h>
+
+#ifdef __APPLE__
+#  include <ApplicationServices/ApplicationServices.h>
+extern CFUUIDRef ColorSyncCreateUUIDFromUInt32(unsigned id);
+#  include <CoreFoundation/CoreFoundation.h>
+#elif defined(HAVE_DBUS)
+#  include <dbus/dbus.h>
+
+/*
+ * Defines used by colord. See the reference docs for further details:
+ *
+ *   http://colord.hughsie.com/api/ref-dbus.html
+ */
+
+#  define COLORD_SCOPE_NORMAL  "normal"
+                                       /* System scope */
+#  define COLORD_SCOPE_TEMP    "temp"  /* Process scope */
+#  define COLORD_SCOPE_DISK    "disk"  /* Lives forever, as stored in DB */
+
+#  define COLORD_RELATION_SOFT "soft"  /* Mapping is not default */
+#  define COLORD_RELATION_HARD "hard"  /* Explicitly mapped profile */
+
+#  define COLORD_SPACE_RGB     "rgb"   /* RGB colorspace */
+#  define COLORD_SPACE_CMYK    "cmyk"  /* CMYK colorspace */
+#  define COLORD_SPACE_GRAY    "gray"  /* Gray colorspace */
+#  define COLORD_SPACE_UNKNOWN "unknown"
+                                       /* Unknown colorspace */
+
+#  define COLORD_MODE_PHYSICAL "physical"
+                                       /* Actual device */
+#  define COLORD_MODE_VIRTUAL  "virtual"
+                                       /* Virtual device with no hardware */
+
+#  define COLORD_KIND_PRINTER  "printer"
+                                       /* printing output device */
+
+#  define COLORD_DBUS_SERVICE          "org.freedesktop.ColorManager"
+#  define COLORD_DBUS_INTERFACE        "org.freedesktop.ColorManager"
+#  define COLORD_DBUS_INTERFACE_DEVICE "org.freedesktop.ColorManager.Device"
+#  define COLORD_DBUS_PATH             "/org/freedesktop/ColorManager"
+                                       /* Path for color management system */
+#  define COLORD_DBUS_TIMEOUT  5000    /* Timeout for connecting to colord in ms */
+#endif /* __APPLE__ */
+
+
+/*
+ * Local globals...
+ */
+
+#if !defined(__APPLE__) && defined(HAVE_DBUS)
+static DBusConnection *colord_con = NULL;
+                                       /* DBUS connection for colord */
+#endif /* !__APPLE__ && HAVE_DBUS */
+
+
+/*
+ * Local functions...
+ */
+
+#ifdef __APPLE__
+static void    apple_init_profile(ppd_file_t *ppd, cups_array_t *languages,
+                                   CFMutableDictionaryRef profile,
+                                  unsigned id, const char *name,
+                                  const char *text, const char *iccfile);
+static void    apple_register_profiles(cupsd_printer_t *p);
+static void    apple_unregister_profiles(cupsd_printer_t *p);
+
+#elif defined(HAVE_DBUS)
+static void    colord_create_device(cupsd_printer_t *p, ppd_file_t *ppd,
+                                    cups_array_t *profiles,
+                                    const char *colorspace, char **format,
+                                    const char *relation, const char *scope);
+static void    colord_create_profile(cups_array_t *profiles,
+                                     const char *printer_name,
+                                     const char *qualifier,
+                                     const char *colorspace,
+                                     char **format, const char *iccfile,
+                                     const char *scope);
+static void    colord_delete_device(const char *device_id);
+static void    colord_device_add_profile(const char *device_path,
+                                         const char *profile_path,
+                                         const char *relation);
+static void    colord_dict_add_strings(DBusMessageIter *dict,
+                                       const char *key, const char *value);
+static char    *colord_find_device(const char *device_id);
+static void    colord_get_qualifier_format(ppd_file_t *ppd, char *format[3]);
+static void    colord_register_printer(cupsd_printer_t *p);
+static void    colord_unregister_printer(cupsd_printer_t *p);
+#endif /* __APPLE__ */
+
+
+/*
+ * 'cupsdRegisterColor()' - Register vendor color profiles in a PPD file.
+ */
+
+void
+cupsdRegisterColor(cupsd_printer_t *p) /* I - Printer */
+{
+#ifdef __APPLE__
+  if (!RunUser)
+  {
+    apple_unregister_profiles(p);
+    apple_register_profiles(p);
+  }
+
+#elif defined(HAVE_DBUS)
+  colord_unregister_printer(p);
+  colord_register_printer(p);
+#endif /* __APPLE__ */
+}
+
+
+/*
+ * 'cupsdStartColor()' - Initialize color management.
+ */
+
+void
+cupsdStartColor(void)
+{
+#if !defined(__APPLE__) && defined(HAVE_DBUS)
+  cupsd_printer_t      *p;             /* Current printer */
+
+
+  colord_con = dbus_bus_get(DBUS_BUS_SYSTEM, NULL);
+
+  for (p = (cupsd_printer_t *)cupsArrayFirst(Printers);
+       p;
+       p = (cupsd_printer_t *)cupsArrayNext(Printers))
+    cupsdRegisterColor(p);
+#endif /* !__APPLE__ && HAVE_DBUS */
+}
+
+
+/*
+ * 'cupsdStopColor()' - Shutdown color management.
+ */
+
+void
+cupsdStopColor(void)
+{
+#if !defined(__APPLE__) && defined(HAVE_DBUS)
+  dbus_connection_unref(colord_con);
+  colord_con = NULL;
+#endif /* !__APPLE__ && HAVE_DBUS */
+}
+
+
+/*
+ * 'cupsdUnregisterColor()' - Unregister vendor color profiles in a PPD file.
+ */
+
+void
+cupsdUnregisterColor(cupsd_printer_t *p)/* I - Printer */
+{
+#ifdef __APPLE__
+  if (!RunUser)
+    apple_unregister_profiles(p);
+
+#elif defined(HAVE_DBUS)
+  colord_unregister_printer(p);
+#endif /* __APPLE__ */
+}
+
+
+#ifdef __APPLE__
+/*
+ * 'apple_init_profile()' - Initialize a color profile.
+ */
+
+static void
+apple_init_profile(
+    ppd_file_t             *ppd,       /* I - PPD file */
+    cups_array_t          *languages,  /* I - Languages in the PPD file */
+    CFMutableDictionaryRef profile,    /* I - Profile dictionary */
+    unsigned               id,         /* I - Profile ID */
+    const char             *name,      /* I - Profile name */
+    const char             *text,      /* I - Profile UI text */
+    const char             *iccfile)   /* I - ICC filename */
+{
+  CFURLRef             url;            /* URL for profile filename */
+  CFMutableDictionaryRef dict;         /* Dictionary for name */
+  char                 *language;      /* Current language */
+  ppd_attr_t           *attr;          /* Profile attribute */
+  CFStringRef          cflang,         /* Language string */
+                       cftext;         /* Localized text */
+
+
+  (void)id;
+
+ /*
+  * Build the profile name dictionary...
+  */
+
+  dict = CFDictionaryCreateMutable(kCFAllocatorDefault, 0,
+                                  &kCFTypeDictionaryKeyCallBacks,
+                                  &kCFTypeDictionaryValueCallBacks);
+  if (!dict)
+  {
+    cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to initialize profile \"%s\".",
+                    iccfile);
+    return;
+  }
+
+  cftext = CFStringCreateWithCString(kCFAllocatorDefault, text,
+                                    kCFStringEncodingUTF8);
+
+  if (cftext)
+  {
+    CFDictionarySetValue(dict, CFSTR("en_US"), cftext);
+    CFRelease(cftext);
+  }
+
+  if (languages)
+  {
+   /*
+    * Find localized names for the color profiles...
+    */
+
+    cupsArraySave(ppd->sorted_attrs);
+
+    for (language = (char *)cupsArrayFirst(languages);
+        language;
+        language = (char *)cupsArrayNext(languages))
+    {
+      if (iccfile)
+      {
+        if ((attr = _ppdLocalizedAttr(ppd, "cupsICCProfile", name,
+                                     language)) == NULL)
+         attr = _ppdLocalizedAttr(ppd, "APTiogaProfile", name, language);
+      }
+      else
+        attr = _ppdLocalizedAttr(ppd, "ColorModel", name, language);
+
+      if (attr && attr->text[0])
+      {
+       cflang = CFStringCreateWithCString(kCFAllocatorDefault, language,
+                                          kCFStringEncodingUTF8);
+       cftext = CFStringCreateWithCString(kCFAllocatorDefault, attr->text,
+                                          kCFStringEncodingUTF8);
+
+        if (cflang && cftext)
+         CFDictionarySetValue(dict, cflang, cftext);
+
+        if (cflang)
+         CFRelease(cflang);
+
+        if (cftext)
+         CFRelease(cftext);
+      }
+    }
+
+    cupsArrayRestore(ppd->sorted_attrs);
+  }
+
+ /*
+  * Fill in the profile data...
+  */
+
+ if (iccfile && *iccfile)
+ {
+    url = CFURLCreateFromFileSystemRepresentation(kCFAllocatorDefault,
+                                                 (const UInt8 *)iccfile,
+                                                  strlen(iccfile), false);
+
+    if (url)
+    {
+      CFDictionarySetValue(profile, kColorSyncDeviceProfileURL, url);
+      CFRelease(url);
+    }
+  }
+
+  CFDictionarySetValue(profile, kColorSyncDeviceModeDescriptions, dict);
+  CFRelease(dict);
+}
+
+
+/*
+ * 'apple_register_profiles()' - Register color profiles for a printer.
+ */
+
+static void
+apple_register_profiles(
+    cupsd_printer_t *p)                        /* I - Printer */
+{
+  int                  i;              /* Looping var */
+  char                 ppdfile[1024],  /* PPD filename */
+                       iccfile[1024],  /* ICC filename */
+                       selector[PPD_MAX_NAME];
+                                       /* Profile selection string */
+  ppd_file_t           *ppd;           /* PPD file */
+  ppd_attr_t           *attr,          /* Profile attributes */
+                       *profileid_attr,/* cupsProfileID attribute */
+                       *q1_attr,       /* ColorModel (or other) qualifier */
+                       *q2_attr,       /* MediaType (or other) qualifier */
+                       *q3_attr;       /* Resolution (or other) qualifier */
+  char                 q_keyword[PPD_MAX_NAME];
+                                       /* Qualifier keyword */
+  const char           *q1_choice,     /* ColorModel (or other) choice */
+                       *q2_choice,     /* MediaType (or other) choice */
+                       *q3_choice;     /* Resolution (or other) choice */
+  ppd_option_t         *cm_option;     /* Color model option */
+  ppd_choice_t         *cm_choice;     /* Color model choice */
+  int                  num_profiles;   /* Number of profiles */
+  OSStatus             error = 0;      /* Last error */
+  unsigned             device_id,      /* Printer device ID */
+                       profile_id = 0, /* Profile ID */
+                       default_profile_id = 0;
+                                       /* Default profile ID */
+  CFMutableDictionaryRef device_name;  /* Printer device name dictionary */
+  CFStringRef          printer_name;   /* Printer name string */
+  cups_array_t         *languages;     /* Languages array */
+  CFMutableDictionaryRef profiles,     /* Dictionary of profiles */
+                       profile;        /* Current profile info dictionary */
+  CFStringRef          dict_key;       /* Key in factory profile dictionary */
+
+
+ /*
+  * Make sure ColorSync is available...
+  */
+
+  if (ColorSyncRegisterDevice == NULL)
+    return;
+
+ /*
+  * Try opening the PPD file for this printer...
+  */
+
+  snprintf(ppdfile, sizeof(ppdfile), "%s/ppd/%s.ppd", ServerRoot, p->name);
+  if ((ppd = _ppdOpenFile(ppdfile, _PPD_LOCALIZATION_ICC_PROFILES)) == NULL)
+    return;
+
+ /*
+  * See if we have any profiles...
+  */
+
+  for (num_profiles = 0, attr = ppdFindAttr(ppd, "cupsICCProfile", NULL);
+       attr;
+       attr = ppdFindNextAttr(ppd, "cupsICCProfile", NULL))
+    if (attr->spec[0] && attr->value && attr->value[0])
+    {
+      if (attr->value[0] != '/')
+       snprintf(iccfile, sizeof(iccfile), "%s/profiles/%s", DataDir,
+                attr->value);
+      else
+       strlcpy(iccfile, attr->value, sizeof(iccfile));
+
+      if (access(iccfile, 0))
+      {
+        cupsdLogMessage(CUPSD_LOG_ERROR,
+                        "%s: ICC Profile \"%s\" does not exist.", p->name,
+                        iccfile);
+        cupsdSetPrinterReasons(p, "+cups-missing-filter-warning");
+       continue;
+      }
+
+      num_profiles ++;
+    }
+
+ /*
+  * Create a dictionary for the factory profiles...
+  */
+
+  profiles = CFDictionaryCreateMutable(kCFAllocatorDefault, 0,
+                                      &kCFTypeDictionaryKeyCallBacks,
+                                      &kCFTypeDictionaryValueCallBacks);
+  if (!profiles)
+  {
+    cupsdLogMessage(CUPSD_LOG_ERROR,
+                   "Unable to allocate memory for factory profiles.");
+    ppdClose(ppd);
+    return;
+  }
+
+ /*
+  * If we have profiles, add them...
+  */
+
+  if (num_profiles > 0)
+  {
+   /*
+    * For CUPS PPDs, figure out the default profile selector values...
+    */
+
+    if ((attr = ppdFindAttr(ppd, "cupsICCQualifier1", NULL)) != NULL &&
+       attr->value && attr->value[0])
+    {
+      snprintf(q_keyword, sizeof(q_keyword), "Default%s", attr->value);
+      q1_attr = ppdFindAttr(ppd, q_keyword, NULL);
+    }
+    else if ((q1_attr = ppdFindAttr(ppd, "DefaultColorModel", NULL)) == NULL)
+      q1_attr = ppdFindAttr(ppd, "DefaultColorSpace", NULL);
+
+    if (q1_attr && q1_attr->value && q1_attr->value[0])
+      q1_choice = q1_attr->value;
+    else
+      q1_choice = "";
+
+    if ((attr = ppdFindAttr(ppd, "cupsICCQualifier2", NULL)) != NULL &&
+       attr->value && attr->value[0])
+    {
+      snprintf(q_keyword, sizeof(q_keyword), "Default%s", attr->value);
+      q2_attr = ppdFindAttr(ppd, q_keyword, NULL);
+    }
+    else
+      q2_attr = ppdFindAttr(ppd, "DefaultMediaType", NULL);
+
+    if (q2_attr && q2_attr->value && q2_attr->value[0])
+      q2_choice = q2_attr->value;
+    else
+      q2_choice = NULL;
+
+    if ((attr = ppdFindAttr(ppd, "cupsICCQualifier3", NULL)) != NULL &&
+       attr->value && attr->value[0])
+    {
+      snprintf(q_keyword, sizeof(q_keyword), "Default%s", attr->value);
+      q3_attr = ppdFindAttr(ppd, q_keyword, NULL);
+    }
+    else
+      q3_attr = ppdFindAttr(ppd, "DefaultResolution", NULL);
+
+    if (q3_attr && q3_attr->value && q3_attr->value[0])
+      q3_choice = q3_attr->value;
+    else
+      q3_choice = NULL;
+
+   /*
+    * Loop through the profiles listed in the PPD...
+    */
+
+    languages = _ppdGetLanguages(ppd);
+
+    for (attr = ppdFindAttr(ppd, "cupsICCProfile", NULL);
+        attr;
+        attr = ppdFindNextAttr(ppd, "cupsICCProfile", NULL))
+      if (attr->spec[0] && attr->value && attr->value[0])
+      {
+       /*
+        * Add this profile...
+       */
+
+        if (attr->value[0] != '/')
+         snprintf(iccfile, sizeof(iccfile), "%s/profiles/%s", DataDir,
+                  attr->value);
+        else
+         strlcpy(iccfile, attr->value, sizeof(iccfile));
+
+        if (_cupsFileCheck(iccfile, _CUPS_FILE_CHECK_FILE, !RunUser,
+                          cupsdLogFCMessage, p))
+         iccfile[0] = '\0';
+
+       cupsArraySave(ppd->sorted_attrs);
+
+       if ((profileid_attr = ppdFindAttr(ppd, "cupsProfileID",
+                                         attr->spec)) != NULL &&
+           profileid_attr->value && isdigit(profileid_attr->value[0] & 255))
+         profile_id = (unsigned)strtoul(profileid_attr->value, NULL, 10);
+       else
+         profile_id = _ppdHashName(attr->spec);
+
+       cupsArrayRestore(ppd->sorted_attrs);
+
+       profile = CFDictionaryCreateMutable(kCFAllocatorDefault, 0,
+                                           &kCFTypeDictionaryKeyCallBacks,
+                                           &kCFTypeDictionaryValueCallBacks);
+       if (!profile)
+       {
+         cupsdLogMessage(CUPSD_LOG_ERROR,
+                         "Unable to allocate memory for color profile.");
+         CFRelease(profiles);
+         ppdClose(ppd);
+         return;
+       }
+
+       apple_init_profile(ppd, languages, profile, profile_id, attr->spec,
+                          attr->text[0] ? attr->text : attr->spec, iccfile);
+
+       dict_key = CFStringCreateWithFormat(kCFAllocatorDefault, NULL,
+                                           CFSTR("%u"), profile_id);
+       if (dict_key)
+       {
+         CFDictionarySetValue(profiles, dict_key, profile);
+         CFRelease(dict_key);
+       }
+
+       CFRelease(profile);
+
+       /*
+        * See if this is the default profile...
+       */
+
+        if (!default_profile_id && q1_choice && q2_choice && q3_choice)
+       {
+         snprintf(selector, sizeof(selector), "%s.%s.%s", q1_choice, q2_choice,
+                  q3_choice);
+         if (!strcmp(selector, attr->spec))
+           default_profile_id = profile_id;
+       }
+
+        if (!default_profile_id && q1_choice && q2_choice)
+       {
+         snprintf(selector, sizeof(selector), "%s.%s.", q1_choice, q2_choice);
+         if (!strcmp(selector, attr->spec))
+           default_profile_id = profile_id;
+       }
+
+        if (!default_profile_id && q1_choice && q3_choice)
+       {
+         snprintf(selector, sizeof(selector), "%s..%s", q1_choice, q3_choice);
+         if (!strcmp(selector, attr->spec))
+           default_profile_id = profile_id;
+       }
+
+        if (!default_profile_id && q1_choice)
+       {
+         snprintf(selector, sizeof(selector), "%s..", q1_choice);
+         if (!strcmp(selector, attr->spec))
+           default_profile_id = profile_id;
+       }
+
+        if (!default_profile_id && q2_choice && q3_choice)
+       {
+         snprintf(selector, sizeof(selector), ".%s.%s", q2_choice, q3_choice);
+         if (!strcmp(selector, attr->spec))
+           default_profile_id = profile_id;
+       }
+
+        if (!default_profile_id && q2_choice)
+       {
+         snprintf(selector, sizeof(selector), ".%s.", q2_choice);
+         if (!strcmp(selector, attr->spec))
+           default_profile_id = profile_id;
+       }
+
+        if (!default_profile_id && q3_choice)
+       {
+         snprintf(selector, sizeof(selector), "..%s", q3_choice);
+         if (!strcmp(selector, attr->spec))
+           default_profile_id = profile_id;
+       }
+      }
+
+    _ppdFreeLanguages(languages);
+  }
+  else if ((cm_option = ppdFindOption(ppd, "ColorModel")) != NULL)
+  {
+   /*
+    * Extract profiles from ColorModel option...
+    */
+
+    const char *profile_name;          /* Name of generic profile */
+
+
+    num_profiles = cm_option->num_choices;
+
+    for (i = cm_option->num_choices, cm_choice = cm_option->choices;
+         i > 0;
+        i --, cm_choice ++)
+    {
+      if (!strcmp(cm_choice->choice, "Gray") ||
+          !strcmp(cm_choice->choice, "Black"))
+        profile_name = "Gray";
+      else if (!strcmp(cm_choice->choice, "RGB") ||
+               !strcmp(cm_choice->choice, "CMY"))
+        profile_name = "RGB";
+      else if (!strcmp(cm_choice->choice, "CMYK") ||
+               !strcmp(cm_choice->choice, "KCMY"))
+        profile_name = "CMYK";
+      else
+        profile_name = "DeviceN";
+
+      snprintf(selector, sizeof(selector), "%s..", profile_name);
+      profile_id = _ppdHashName(selector);
+
+      profile = CFDictionaryCreateMutable(kCFAllocatorDefault, 0,
+                                         &kCFTypeDictionaryKeyCallBacks,
+                                         &kCFTypeDictionaryValueCallBacks);
+      if (!profile)
+      {
+       cupsdLogMessage(CUPSD_LOG_ERROR,
+                       "Unable to allocate memory for color profile.");
+       CFRelease(profiles);
+       ppdClose(ppd);
+       return;
+      }
+
+      apple_init_profile(ppd, NULL, profile, profile_id, cm_choice->choice,
+                         cm_choice->text, NULL);
+
+      dict_key = CFStringCreateWithFormat(kCFAllocatorDefault, NULL,
+                                          CFSTR("%u"), profile_id);
+      if (dict_key)
+      {
+       CFDictionarySetValue(profiles, dict_key, profile);
+       CFRelease(dict_key);
+      }
+
+      CFRelease(profile);
+
+      if (cm_choice->marked)
+        default_profile_id = profile_id;
+    }
+  }
+  else
+  {
+   /*
+    * Use the default colorspace...
+    */
+
+    attr = ppdFindAttr(ppd, "DefaultColorSpace", NULL);
+
+    num_profiles = (attr && ppd->colorspace == PPD_CS_GRAY) ? 1 : 2;
+
+   /*
+    * Add the grayscale profile first.  We always have a grayscale profile.
+    */
+
+    profile = CFDictionaryCreateMutable(kCFAllocatorDefault, 0,
+                                       &kCFTypeDictionaryKeyCallBacks,
+                                       &kCFTypeDictionaryValueCallBacks);
+
+    if (!profile)
+    {
+      cupsdLogMessage(CUPSD_LOG_ERROR,
+                      "Unable to allocate memory for color profile.");
+      CFRelease(profiles);
+      ppdClose(ppd);
+      return;
+    }
+
+    profile_id = _ppdHashName("Gray..");
+    apple_init_profile(ppd, NULL, profile, profile_id, "Gray", "Gray", NULL);
+
+    dict_key = CFStringCreateWithFormat(kCFAllocatorDefault, NULL, CFSTR("%u"),
+                                        profile_id);
+    if (dict_key)
+    {
+      CFDictionarySetValue(profiles, dict_key, profile);
+      CFRelease(dict_key);
+    }
+
+    CFRelease(profile);
+
+   /*
+    * Then add the RGB/CMYK/DeviceN color profile...
+    */
+
+    profile = CFDictionaryCreateMutable(kCFAllocatorDefault, 0,
+                                       &kCFTypeDictionaryKeyCallBacks,
+                                       &kCFTypeDictionaryValueCallBacks);
+
+    if (!profile)
+    {
+      cupsdLogMessage(CUPSD_LOG_ERROR,
+                      "Unable to allocate memory for color profile.");
+      CFRelease(profiles);
+      ppdClose(ppd);
+      return;
+    }
+
+    switch (ppd->colorspace)
+    {
+      default :
+      case PPD_CS_RGB :
+      case PPD_CS_CMY :
+          profile_id = _ppdHashName("RGB..");
+          apple_init_profile(ppd, NULL, profile, profile_id, "RGB", "RGB",
+                            NULL);
+          break;
+
+      case PPD_CS_RGBK :
+      case PPD_CS_CMYK :
+          profile_id = _ppdHashName("CMYK..");
+          apple_init_profile(ppd, NULL, profile, profile_id, "CMYK", "CMYK",
+                            NULL);
+          break;
+
+      case PPD_CS_GRAY :
+          if (attr)
+            break;
+
+      case PPD_CS_N :
+          profile_id = _ppdHashName("DeviceN..");
+          apple_init_profile(ppd, NULL, profile, profile_id, "DeviceN",
+                            "DeviceN", NULL);
+          break;
+    }
+
+    if (CFDictionaryGetCount(profile) > 0)
+    {
+      dict_key = CFStringCreateWithFormat(kCFAllocatorDefault, NULL,
+                                          CFSTR("%u"), profile_id);
+      if (dict_key)
+      {
+        CFDictionarySetValue(profiles, dict_key, profile);
+        CFRelease(dict_key);
+      }
+    }
+
+    CFRelease(profile);
+  }
+
+  if (num_profiles > 0)
+  {
+   /*
+    * Make sure we have a default profile ID...
+    */
+
+    if (!default_profile_id)
+      default_profile_id = profile_id; /* Last profile */
+
+    dict_key = CFStringCreateWithFormat(kCFAllocatorDefault, NULL, CFSTR("%u"),
+                                        default_profile_id);
+    if (dict_key)
+    {
+      CFDictionarySetValue(profiles, kColorSyncDeviceDefaultProfileID,
+                           dict_key);
+      CFRelease(dict_key);
+    }
+
+   /*
+    * Get the device ID hash and pathelogical name dictionary.
+    */
+
+    cupsdLogMessage(CUPSD_LOG_INFO, "Registering ICC color profiles for \"%s\"",
+                   p->name);
+
+    device_id    = _ppdHashName(p->name);
+    device_name  = CFDictionaryCreateMutable(kCFAllocatorDefault, 0,
+                                            &kCFTypeDictionaryKeyCallBacks,
+                                            &kCFTypeDictionaryValueCallBacks);
+    printer_name = CFStringCreateWithCString(kCFAllocatorDefault,
+                                             p->name, kCFStringEncodingUTF8);
+
+    if (device_name && printer_name)
+    {
+     /*
+      * Register the device with ColorSync...
+      */
+
+      CFTypeRef                deviceDictKeys[] =
+      {                                        /* Device keys */
+        kColorSyncDeviceDescriptions,
+       kColorSyncFactoryProfiles,
+       kColorSyncDeviceUserScope,
+       kColorSyncDeviceHostScope
+      };
+      CFTypeRef        deviceDictVals[] =
+      {                                        /* Device values */
+        device_name,
+       profiles,
+       kCFPreferencesAnyUser,
+       kCFPreferencesCurrentHost
+      };
+      CFDictionaryRef  deviceDict;     /* Device dictionary */
+      CFUUIDRef                deviceUUID;     /* Device UUID */
+
+      CFDictionarySetValue(device_name, CFSTR("en_US"), printer_name);
+
+      deviceDict = CFDictionaryCreate(kCFAllocatorDefault,
+                                     (const void **)deviceDictKeys,
+                                     (const void **)deviceDictVals,
+                                     sizeof(deviceDictKeys) /
+                                         sizeof(deviceDictKeys[0]),
+                                     &kCFTypeDictionaryKeyCallBacks,
+                                     &kCFTypeDictionaryValueCallBacks);
+      deviceUUID = ColorSyncCreateUUIDFromUInt32(device_id);
+
+      if (!deviceDict || !deviceUUID ||
+         !ColorSyncRegisterDevice(kColorSyncPrinterDeviceClass, deviceUUID,
+                                  deviceDict))
+       error = 1001;
+
+      if (deviceUUID)
+        CFRelease(deviceUUID);
+
+      if (deviceDict)
+        CFRelease(deviceDict);
+    }
+    else
+      error = 1000;
+
+   /*
+    * Clean up...
+    */
+
+    if (error != noErr)
+      cupsdLogMessage(CUPSD_LOG_ERROR,
+                     "Unable to register ICC color profiles for \"%s\": %d",
+                     p->name, (int)error);
+
+    if (printer_name)
+      CFRelease(printer_name);
+
+    if (device_name)
+      CFRelease(device_name);
+  }
+
+ /*
+  * Free any memory we used...
+  */
+
+  CFRelease(profiles);
+
+  ppdClose(ppd);
+}
+
+
+/*
+ * 'apple_unregister_profiles()' - Remove color profiles for the specified
+ *                                 printer.
+ */
+
+static void
+apple_unregister_profiles(
+    cupsd_printer_t *p)                        /* I - Printer */
+{
+ /*
+  * Make sure ColorSync is available...
+  */
+
+  if (ColorSyncUnregisterDevice != NULL)
+  {
+    CFUUIDRef deviceUUID;              /* Device UUID */
+
+    deviceUUID = ColorSyncCreateUUIDFromUInt32(_ppdHashName(p->name));
+    if (deviceUUID)
+    {
+      ColorSyncUnregisterDevice(kColorSyncPrinterDeviceClass, deviceUUID);
+      CFRelease(deviceUUID);
+    }
+  }
+}
+
+
+#elif defined(HAVE_DBUS)
+/*
+ * 'colord_create_device()' - Create a device and register profiles.
+ */
+
+static void
+colord_create_device(
+    cupsd_printer_t *p,                        /* I - Printer */
+    ppd_file_t      *ppd,              /* I - PPD file */
+    cups_array_t    *profiles,         /* I - Profiles array */
+    const char      *colorspace,       /* I - Device colorspace, e.g. 'rgb' */
+    char            **format,          /* I - Device qualifier format */
+    const char      *relation,         /* I - Profile relation, either 'soft'
+                                              or 'hard' */
+    const char      *scope)            /* I - The scope of the device, e.g.
+                                              'normal', 'temp' or 'disk' */
+{
+  DBusMessage  *message = NULL;        /* D-Bus request */
+  DBusMessage  *reply = NULL;          /* D-Bus reply */
+  DBusMessageIter args;                        /* D-Bus method arguments */
+  DBusMessageIter dict;                        /* D-Bus method arguments */
+  DBusError    error;                  /* D-Bus error */
+  const char   *device_path;           /* Device object path */
+  const char   *profile_path;          /* Profile path */
+  char         *default_profile_path = NULL;
+                                       /* Default profile path */
+  char         device_id[1024];        /* Device ID as understood by colord */
+  char         format_str[1024];       /* Qualifier format as a string */
+
+
+ /*
+  * Create the device...
+  */
+
+  snprintf(device_id, sizeof(device_id), "cups-%s", p->name);
+  device_path = device_id;
+
+  message = dbus_message_new_method_call(COLORD_DBUS_SERVICE,
+                                         COLORD_DBUS_PATH,
+                                         COLORD_DBUS_INTERFACE,
+                                         "CreateDevice");
+
+  dbus_message_iter_init_append(message, &args);
+  dbus_message_iter_append_basic(&args, DBUS_TYPE_STRING, &device_path);
+  dbus_message_iter_append_basic(&args, DBUS_TYPE_STRING, &scope);
+
+  snprintf(format_str, sizeof(format_str), "%s.%s.%s", format[0], format[1],
+           format[2]);
+
+  dbus_message_iter_open_container(&args, DBUS_TYPE_ARRAY, "{ss}", &dict);
+  colord_dict_add_strings(&dict, "Colorspace", colorspace);
+  colord_dict_add_strings(&dict, "Mode", COLORD_MODE_PHYSICAL);
+  if (ppd->manufacturer)
+    colord_dict_add_strings(&dict, "Vendor", ppd->manufacturer);
+  if (ppd->modelname)
+    colord_dict_add_strings(&dict, "Model", ppd->modelname);
+  if (p->sanitized_device_uri)
+    colord_dict_add_strings(&dict, "Serial", p->sanitized_device_uri);
+  colord_dict_add_strings(&dict, "Format", format_str);
+  colord_dict_add_strings(&dict, "Kind", COLORD_KIND_PRINTER);
+  dbus_message_iter_close_container(&args, &dict);
+
+ /*
+  * Send the CreateDevice request synchronously...
+  */
+
+  dbus_error_init(&error);
+  cupsdLogMessage(CUPSD_LOG_DEBUG, "Calling CreateDevice(%s,%s)", device_id,
+                  scope);
+  reply = dbus_connection_send_with_reply_and_block(colord_con, message,
+                                                    COLORD_DBUS_TIMEOUT,
+                                                    &error);
+  if (!reply)
+  {
+    cupsdLogMessage(CUPSD_LOG_WARN, "CreateDevice failed: %s:%s", error.name,
+                    error.message);
+    dbus_error_free(&error);
+    goto out;
+  }
+
+ /*
+  * Get reply data...
+  */
+
+  dbus_message_iter_init(reply, &args);
+  if (dbus_message_iter_get_arg_type(&args) != DBUS_TYPE_OBJECT_PATH)
+  {
+    cupsdLogMessage(CUPSD_LOG_WARN,
+                    "CreateDevice failed: Incorrect reply type.");
+    goto out;
+  }
+
+  dbus_message_iter_get_basic(&args, &device_path);
+  cupsdLogMessage(CUPSD_LOG_DEBUG, "Created device \"%s\".", device_path);
+
+ /*
+  * Add profiles...
+  */
+
+  for (profile_path = cupsArrayFirst(profiles);
+       profile_path;
+       profile_path = cupsArrayNext(profiles))
+  {
+    colord_device_add_profile(device_path, profile_path, relation);
+  }
+
+out:
+
+  if (default_profile_path)
+    free(default_profile_path);
+
+  if (message)
+    dbus_message_unref(message);
+
+  if (reply)
+    dbus_message_unref(reply);
+}
+
+
+/*
+ * 'colord_create_profile()' - Create a color profile for a printer.
+ */
+
+static void
+colord_create_profile(
+    cups_array_t *profiles,            /* I - Profiles array */
+    const char   *printer_name,                /* I - Printer name */
+    const char   *qualifier,           /* I - Profile qualifier */
+    const char   *colorspace,          /* I - Profile colorspace */
+    char         **format,             /* I - Profile qualifier format */
+    const char   *iccfile,             /* I - ICC filename */
+    const char   *scope)               /* I - The scope of the profile, e.g.
+                                              'normal', 'temp' or 'disk' */
+{
+  DBusMessage  *message = NULL;        /* D-Bus request */
+  DBusMessage  *reply = NULL;          /* D-Bus reply */
+  DBusMessageIter args;                        /* D-Bus method arguments */
+  DBusMessageIter dict;                        /* D-Bus method arguments */
+  DBusError    error;                  /* D-Bus error */
+  char         *idstr;                 /* Profile ID string */
+  size_t       idstrlen;               /* Profile ID allocated length */
+  const char   *profile_path;          /* Device object path */
+  char         format_str[1024];       /* Qualifier format as a string */
+
+
+ /*
+  * Create the profile...
+  */
+
+  message = dbus_message_new_method_call(COLORD_DBUS_SERVICE,
+                                         COLORD_DBUS_PATH,
+                                         COLORD_DBUS_INTERFACE,
+                                         "CreateProfile");
+
+  idstrlen = strlen(printer_name) + 1 + strlen(qualifier) + 1;
+  if ((idstr = malloc(idstrlen)) == NULL)
+    goto out;
+  snprintf(idstr, idstrlen, "%s-%s", printer_name, qualifier);
+  cupsdLogMessage(CUPSD_LOG_DEBUG, "Using profile ID \"%s\".", idstr);
+
+  dbus_message_iter_init_append(message, &args);
+  dbus_message_iter_append_basic(&args, DBUS_TYPE_STRING, &idstr);
+  dbus_message_iter_append_basic(&args, DBUS_TYPE_STRING, &scope);
+
+  snprintf(format_str, sizeof(format_str), "%s.%s.%s", format[0], format[1],
+           format[2]);
+
+  dbus_message_iter_open_container(&args, DBUS_TYPE_ARRAY, "{ss}", &dict);
+  colord_dict_add_strings(&dict, "Qualifier", qualifier);
+  colord_dict_add_strings(&dict, "Format", format_str);
+  colord_dict_add_strings(&dict, "Colorspace", colorspace);
+  if (iccfile)
+    colord_dict_add_strings(&dict, "Filename", iccfile);
+  dbus_message_iter_close_container(&args, &dict);
+
+ /*
+  * Send the CreateProfile request synchronously...
+  */
+
+  dbus_error_init(&error);
+  cupsdLogMessage(CUPSD_LOG_DEBUG, "Calling CreateProfile(%s,%s)", idstr,
+                  scope);
+  reply = dbus_connection_send_with_reply_and_block(colord_con, message,
+                                                    COLORD_DBUS_TIMEOUT,
+                                                    &error);
+  if (!reply)
+  {
+    cupsdLogMessage(CUPSD_LOG_WARN, "CreateProfile failed: %s:%s", error.name,
+                    error.message);
+    dbus_error_free(&error);
+    goto out;
+  }
+
+ /*
+  * Get reply data...
+  */
+
+  dbus_message_iter_init(reply, &args);
+  if (dbus_message_iter_get_arg_type(&args) != DBUS_TYPE_OBJECT_PATH)
+  {
+    cupsdLogMessage(CUPSD_LOG_WARN,
+                    "CreateProfile failed: Incorrect reply type.");
+    goto out;
+  }
+
+  dbus_message_iter_get_basic(&args, &profile_path);
+  cupsdLogMessage(CUPSD_LOG_DEBUG, "Created profile \"%s\".", profile_path);
+  cupsArrayAdd(profiles, strdup(profile_path));
+
+out:
+
+  if (message)
+    dbus_message_unref(message);
+
+  if (reply)
+    dbus_message_unref(reply);
+
+  if (idstr)
+    free(idstr);
+}
+
+
+/*
+ * 'colord_delete_device()' - Delete a device
+ */
+
+static void
+colord_delete_device(
+    const char *device_id)             /* I - Device ID string */
+{
+  DBusMessage  *message = NULL;        /* D-Bus request */
+  DBusMessage  *reply = NULL;          /* D-Bus reply */
+  DBusMessageIter args;                        /* D-Bus method arguments */
+  DBusError    error;                  /* D-Bus error */
+  char         *device_path;           /* Device object path */
+
+
+ /*
+  * Find the device...
+  */
+
+  if ((device_path = colord_find_device(device_id)) == NULL)
+    goto out;
+
+ /*
+  * Delete the device...
+  */
+
+  message = dbus_message_new_method_call(COLORD_DBUS_SERVICE,
+                                         COLORD_DBUS_PATH,
+                                         COLORD_DBUS_INTERFACE,
+                                         "DeleteDevice");
+
+  dbus_message_iter_init_append(message, &args);
+  dbus_message_iter_append_basic(&args, DBUS_TYPE_OBJECT_PATH, &device_path);
+
+ /*
+  * Send the DeleteDevice request synchronously...
+  */
+
+  dbus_error_init(&error);
+  cupsdLogMessage(CUPSD_LOG_DEBUG, "Calling DeleteDevice(%s)", device_path);
+  reply = dbus_connection_send_with_reply_and_block(colord_con, message,
+                                                    COLORD_DBUS_TIMEOUT,
+                                                    &error);
+  if (!reply)
+  {
+    cupsdLogMessage(CUPSD_LOG_DEBUG, "DeleteDevice failed: %s:%s", error.name,
+                    error.message);
+    dbus_error_free(&error);
+    goto out;
+  }
+
+out:
+
+  if (device_path)
+    free(device_path);
+
+  if (message)
+    dbus_message_unref(message);
+
+  if (reply)
+    dbus_message_unref(reply);
+}
+
+
+/*
+ * 'colord_device_add_profile()' - Assign a profile to a device.
+ */
+
+static void
+colord_device_add_profile(
+    const char *device_path,           /* I - Device object path */
+    const char *profile_path,          /* I - Profile object path */
+    const char *relation)              /* I - Device relation, either
+                                              'soft' or 'hard' */
+{
+  DBusMessage  *message = NULL;        /* D-Bus request */
+  DBusMessage  *reply = NULL;          /* D-Bus reply */
+  DBusMessageIter args;                        /* D-Bus method arguments */
+  DBusError    error;                  /* D-Bus error */
+
+
+  message = dbus_message_new_method_call(COLORD_DBUS_SERVICE,
+                                         device_path,
+                                         COLORD_DBUS_INTERFACE_DEVICE,
+                                         "AddProfile");
+
+  dbus_message_iter_init_append(message, &args);
+  dbus_message_iter_append_basic(&args, DBUS_TYPE_STRING, &relation);
+  dbus_message_iter_append_basic(&args, DBUS_TYPE_OBJECT_PATH, &profile_path);
+  cupsdLogMessage(CUPSD_LOG_DEBUG, "Calling %s:AddProfile(%s) [%s]",
+                  device_path, profile_path, relation);
+
+ /*
+  * Send the AddProfile request synchronously...
+  */
+
+  dbus_error_init(&error);
+  reply = dbus_connection_send_with_reply_and_block(colord_con, message,
+                                                    COLORD_DBUS_TIMEOUT,
+                                                    &error);
+  if (!reply)
+  {
+    cupsdLogMessage(CUPSD_LOG_WARN, "AddProfile failed: %s:%s", error.name,
+                    error.message);
+    dbus_error_free(&error);
+    goto out;
+  }
+
+out:
+
+  if (message)
+    dbus_message_unref(message);
+
+  if (reply)
+    dbus_message_unref(reply);
+}
+
+
+/*
+ * 'colord_dict_add_strings()' - Add two strings to a dictionary.
+ */
+
+static void
+colord_dict_add_strings(
+    DBusMessageIter *dict,             /* I - Dictionary */
+    const char      *key,              /* I - Key string */
+    const char      *value)            /* I - Value string */
+{
+  DBusMessageIter      entry;          /* Entry to add */
+
+
+  dbus_message_iter_open_container(dict, DBUS_TYPE_DICT_ENTRY, NULL, &entry);
+  dbus_message_iter_append_basic(&entry, DBUS_TYPE_STRING, &key);
+  dbus_message_iter_append_basic(&entry, DBUS_TYPE_STRING, &value);
+  dbus_message_iter_close_container(dict, &entry);
+}
+
+
+/*
+ * 'colord_find_device()' - Finds a device
+ */
+
+static char *                          /* O - Device path or NULL */
+colord_find_device(
+    const char *device_id)             /* I - Device ID string */
+{
+  DBusMessage  *message = NULL;        /* D-Bus request */
+  DBusMessage  *reply = NULL;          /* D-Bus reply */
+  DBusMessageIter args;                        /* D-Bus method arguments */
+  DBusError    error;                  /* D-Bus error */
+  const char   *device_path_tmp;       /* Device object path */
+  char         *device_path = NULL;    /* Device object path */
+
+
+  message = dbus_message_new_method_call(COLORD_DBUS_SERVICE,
+                                         COLORD_DBUS_PATH,
+                                         COLORD_DBUS_INTERFACE,
+                                         "FindDeviceById");
+
+  dbus_message_iter_init_append(message, &args);
+  dbus_message_iter_append_basic(&args, DBUS_TYPE_STRING, &device_id);
+
+ /*
+  * Send the FindDeviceById request synchronously...
+  */
+
+  dbus_error_init(&error);
+  cupsdLogMessage(CUPSD_LOG_DEBUG, "Calling FindDeviceById(%s)", device_id);
+  reply = dbus_connection_send_with_reply_and_block(colord_con, message,
+                                                    COLORD_DBUS_TIMEOUT,
+                                                    &error);
+  if (!reply)
+  {
+    cupsdLogMessage(CUPSD_LOG_DEBUG, "FindDeviceById failed: %s:%s",
+                   error.name, error.message);
+    dbus_error_free(&error);
+    goto out;
+  }
+
+ /*
+  * Get reply data...
+  */
+
+  dbus_message_iter_init(reply, &args);
+  if (dbus_message_iter_get_arg_type(&args) != DBUS_TYPE_OBJECT_PATH)
+  {
+    cupsdLogMessage(CUPSD_LOG_WARN,
+                    "FindDeviceById failed: Incorrect reply type.");
+    goto out;
+  }
+
+  dbus_message_iter_get_basic(&args, &device_path_tmp);
+  if (device_path_tmp)
+    device_path = strdup(device_path_tmp);
+
+out:
+
+  if (message)
+    dbus_message_unref(message);
+
+  if (reply)
+    dbus_message_unref(reply);
+
+  return (device_path);
+}
+
+
+/*
+ * 'colord_get_qualifier_format()' - Get the qualifier format.
+ *
+ * Note: Returns a value of "ColorSpace.MediaType.Resolution" by default.
+ */
+
+static void
+colord_get_qualifier_format(
+    ppd_file_t *ppd,                   /* I - PPD file data */
+    char       *format[3])             /* I - Format tuple */
+{
+  const char   *tmp;                   /* Temporary string */
+  ppd_attr_t   *attr;                  /* Profile attributes */
+
+
+ /*
+  * Get 1st section...
+  */
+
+  if ((attr = ppdFindAttr(ppd, "cupsICCQualifier1", NULL)) != NULL)
+    tmp = attr->value;
+  else if (ppdFindAttr(ppd, "DefaultColorModel", NULL))
+    tmp = "ColorModel";
+  else if (ppdFindAttr(ppd, "DefaultColorSpace", NULL))
+    tmp = "ColorSpace";
+  else
+    tmp = "";
+
+  format[0] = strdup(tmp);
+
+ /*
+  * Get 2nd section...
+  */
+
+  if ((attr = ppdFindAttr(ppd, "cupsICCQualifier2", NULL)) != NULL)
+    tmp = attr->value;
+  else
+    tmp = "MediaType";
+
+  format[1] = strdup(tmp);
+
+ /*
+  * Get 3rd section...
+  */
+
+  if ((attr = ppdFindAttr(ppd, "cupsICCQualifier3", NULL)) != NULL)
+    tmp = attr->value;
+  else
+    tmp = "Resolution";
+
+  format[2] = strdup(tmp);
+}
+
+
+/*
+ * 'colord_register_printer()' - Register profiles for a printer.
+ */
+
+static void
+colord_register_printer(
+    cupsd_printer_t *p)                        /* I - printer */
+{
+  char         ppdfile[1024],          /* PPD filename */
+               iccfile[1024];          /* ICC filename */
+  ppd_file_t   *ppd;                   /* PPD file */
+  cups_array_t *profiles;              /* Profile paths array */
+  ppd_attr_t   *attr;                  /* Profile attributes */
+  const char   *device_colorspace;     /* Device colorspace */
+  char         *format[3];             /* Qualifier format tuple */
+
+
+ /*
+  * Ensure we have a D-Bus connection...
+  */
+
+  if (!colord_con)
+    return;
+
+ /*
+  * Try opening the PPD file for this printer...
+  */
+
+  snprintf(ppdfile, sizeof(ppdfile), "%s/ppd/%s.ppd", ServerRoot, p->name);
+  if ((ppd = _ppdOpenFile(ppdfile, _PPD_LOCALIZATION_ICC_PROFILES)) == NULL)
+    return;
+
+ /*
+  * Find out the qualifier format
+  */
+
+  colord_get_qualifier_format(ppd, format);
+
+ /*
+  * See if we have any embedded profiles...
+  */
+
+  profiles = cupsArrayNew3(NULL, NULL, NULL, 0, (cups_acopy_func_t)strdup,
+                          (cups_afree_func_t)free);
+  for (attr = ppdFindAttr(ppd, "cupsICCProfile", NULL);
+       attr;
+       attr = ppdFindNextAttr(ppd, "cupsICCProfile", NULL))
+    if (attr->spec[0] && attr->value && attr->value[0])
+    {
+      if (attr->value[0] != '/')
+        snprintf(iccfile, sizeof(iccfile), "%s/profiles/%s", DataDir,
+                 attr->value);
+      else
+        strlcpy(iccfile, attr->value, sizeof(iccfile));
+
+      if (_cupsFileCheck(iccfile, _CUPS_FILE_CHECK_FILE, !RunUser,
+                        cupsdLogFCMessage, p))
+       continue;
+
+      colord_create_profile(profiles, p->name, attr->spec, COLORD_SPACE_UNKNOWN,
+                           format, iccfile, COLORD_SCOPE_TEMP);
+    }
+
+ /*
+  * Add the grayscale profile first.  We always have a grayscale profile.
+  */
+
+  colord_create_profile(profiles, p->name, "Gray..", COLORD_SPACE_GRAY,
+                        format, NULL, COLORD_SCOPE_TEMP);
+
+ /*
+  * Then add the RGB/CMYK/DeviceN color profile...
+  */
+
+  device_colorspace = "unknown";
+  switch (ppd->colorspace)
+  {
+    case PPD_CS_RGB :
+    case PPD_CS_CMY :
+        device_colorspace = COLORD_SPACE_RGB;
+        colord_create_profile(profiles, p->name, "RGB..", COLORD_SPACE_RGB,
+                             format, NULL, COLORD_SCOPE_TEMP);
+        break;
+
+    case PPD_CS_RGBK :
+    case PPD_CS_CMYK :
+        device_colorspace = COLORD_SPACE_CMYK;
+        colord_create_profile(profiles, p->name, "CMYK..", COLORD_SPACE_CMYK,
+                              format, NULL, COLORD_SCOPE_TEMP);
+        break;
+
+    case PPD_CS_GRAY :
+        device_colorspace = COLORD_SPACE_GRAY;
+        break;
+
+    case PPD_CS_N :
+        colord_create_profile(profiles, p->name, "DeviceN..",
+                              COLORD_SPACE_UNKNOWN, format, NULL,
+                             COLORD_SCOPE_TEMP);
+        break;
+  }
+
+ /*
+  * Register the device with colord.
+  */
+
+  cupsdLogMessage(CUPSD_LOG_INFO, "Registering ICC color profiles for \"%s\".",
+                  p->name);
+  colord_create_device(p, ppd, profiles, device_colorspace, format,
+                      COLORD_RELATION_SOFT, COLORD_SCOPE_TEMP);
+
+ /*
+  * Free any memory we used...
+  */
+
+  cupsArrayDelete(profiles);
+
+  free(format[0]);
+  free(format[1]);
+  free(format[2]);
+
+  ppdClose(ppd);
+}
+
+
+/*
+ * 'colord_unregister_printer()' - Unregister profiles for a printer.
+ */
+
+static void
+colord_unregister_printer(
+    cupsd_printer_t *p)                        /* I - printer */
+{
+  char device_id[1024];                /* Device ID as understood by colord */
+
+
+ /*
+  * Ensure we have a D-Bus connection...
+  */
+
+  if (!colord_con)
+    return;
+
+ /*
+  * Just delete the device itself, and leave the profiles registered
+  */
+
+  snprintf(device_id, sizeof(device_id), "cups-%s", p->name);
+  colord_delete_device(device_id);
+}
+#endif /* __APPLE__ */
+
+
+/*
+ * End of "$Id: colorman.c 11173 2013-07-23 12:31:34Z msweet $".
+ */
diff --git a/scheduler/colorman.h b/scheduler/colorman.h
new file mode 100644 (file)
index 0000000..a95adcf
--- /dev/null
@@ -0,0 +1,28 @@
+/*
+ * "$Id: colorman.h 11173 2013-07-23 12:31:34Z msweet $"
+ *
+ *   Color management definitions for the CUPS scheduler.
+ *
+ *   Copyright 2007-2012 by Apple Inc.
+ *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
+ *
+ *   These coded instructions, statements, and computer programs are the
+ *   property of Apple Inc. and are protected by Federal copyright
+ *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
+ *   which should have been included with this file.  If this file is
+ *   file is missing or damaged, see the license at "http://www.cups.org/".
+ */
+
+/*
+ * Prototypes...
+ */
+
+extern void    cupsdRegisterColor(cupsd_printer_t *p);
+extern void    cupsdStartColor(void);
+extern void    cupsdStopColor(void);
+extern void    cupsdUnregisterColor(cupsd_printer_t *p);
+
+
+/*
+ * End of "$Id: colorman.h 11173 2013-07-23 12:31:34Z msweet $".
+ */
index 3ddcdcd..7ae8fed 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: conf.c 10121 2011-11-16 15:28:11Z mike $"
+ * "$Id: conf.c 11221 2013-08-06 16:16:01Z msweet $"
  *
  *   Configuration routines for the CUPS scheduler.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2013 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
  *
  * Contents:
  *
- *   cupsdAddAlias()          - Add a host alias.
+ *   cupsdAddAlias()         - Add a host alias.
  *   cupsdCheckPermissions()  - Fix the mode and ownership of a file or
- *                              directory.
+ *                             directory.
+ *   cupsdDefaultAuthType()   - Get the default AuthType.
  *   cupsdFreeAliases()       - Free all of the alias entries.
  *   cupsdReadConfiguration() - Read the cupsd.conf file.
- *   get_address()            - Get an address + port number from a line.
+ *   get_address()           - Get an address + port number from a line.
  *   get_addr_and_mask()      - Get an IP address and netmask.
- *   mime_error_cb()          - Log a MIME error.
- *   parse_aaa()              - Parse authentication, authorization, and access
- *                              control lines.
+ *   mime_error_cb()         - Log a MIME error.
+ *   parse_aaa()             - Parse authentication, authorization, and access
+ *                             control lines.
  *   parse_fatal_errors()     - Parse FatalErrors values in a string.
- *   parse_groups()           - Parse system group names in a string.
- *   parse_protocols()        - Parse browse protocols in a string.
- *   read_configuration()     - Read a configuration file.
- *   read_location()          - Read a <Location path> definition.
- *   read_policy()            - Read a <Policy name> definition.
+ *   parse_groups()          - Parse system group names in a string.
+ *   parse_protocols()       - Parse browse protocols in a string.
+ *   parse_variable()        - Parse a variable line.
+ *   read_cupsd_conf()       - Read the cupsd.conf configuration file.
+ *   read_cups_files_conf()   - Read the cups-files.conf configuration file.
+ *   read_location()         - Read a <Location path> definition.
+ *   read_policy()           - Read a <Policy name> definition.
  *   set_policy_defaults()    - Set default policy values as needed.
  */
 
@@ -64,6 +67,7 @@
 typedef enum
 {
   CUPSD_VARTYPE_INTEGER,               /* Integer option */
+  CUPSD_VARTYPE_TIME,                  /* Time interval option */
   CUPSD_VARTYPE_STRING,                        /* String option */
   CUPSD_VARTYPE_BOOLEAN,               /* Boolean option */
   CUPSD_VARTYPE_PATHNAME               /* File/directory name option */
@@ -71,7 +75,7 @@ typedef enum
 
 typedef struct
 {
-  char                 *name;          /* Name of variable */
+  const char           *name;          /* Name of variable */
   void                 *ptr;           /* Pointer to variable */
   cupsd_vartype_t      type;           /* Type (int, string, address) */
 } cupsd_var_t;
@@ -81,92 +85,85 @@ typedef struct
  * Local globals...
  */
 
-static const cupsd_var_t       variables[] =
+static const cupsd_var_t       cupsd_vars[] =
 {
-  { "AccessLog",               &AccessLog,             CUPSD_VARTYPE_STRING },
   { "AutoPurgeJobs",           &JobAutoPurge,          CUPSD_VARTYPE_BOOLEAN },
-#ifdef HAVE_DNSSD
-  { "BrowseDNSSDRegType",      &DNSSDRegType,          CUPSD_VARTYPE_STRING },
-#endif /* HAVE_DNSSD */
-  { "BrowseInterval",          &BrowseInterval,        CUPSD_VARTYPE_INTEGER },
-#ifdef HAVE_LDAP
-  { "BrowseLDAPBindDN",                &BrowseLDAPBindDN,      CUPSD_VARTYPE_STRING },
-#  ifdef HAVE_LDAP_SSL
-  { "BrowseLDAPCACertFile",    &BrowseLDAPCACertFile,  CUPSD_VARTYPE_PATHNAME },
-#  endif /* HAVE_LDAP_SSL */
-  { "BrowseLDAPDN",            &BrowseLDAPDN,          CUPSD_VARTYPE_STRING },
-  { "BrowseLDAPPassword",      &BrowseLDAPPassword,    CUPSD_VARTYPE_STRING },
-  { "BrowseLDAPServer",                &BrowseLDAPServer,      CUPSD_VARTYPE_STRING },
-#endif /* HAVE_LDAP */
-  { "BrowseLocalOptions",      &BrowseLocalOptions,    CUPSD_VARTYPE_STRING },
-  { "BrowsePort",              &BrowsePort,            CUPSD_VARTYPE_INTEGER },
-  { "BrowseRemoteOptions",     &BrowseRemoteOptions,   CUPSD_VARTYPE_STRING },
-  { "BrowseShortNames",                &BrowseShortNames,      CUPSD_VARTYPE_BOOLEAN },
-  { "BrowseTimeout",           &BrowseTimeout,         CUPSD_VARTYPE_INTEGER },
+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
+  { "BrowseDNSSDSubTypes",     &DNSSDSubTypes,         CUPSD_VARTYPE_STRING },
+#endif /* HAVE_DNSSD || HAVE_AVAHI */
   { "BrowseWebIF",             &BrowseWebIF,           CUPSD_VARTYPE_BOOLEAN },
   { "Browsing",                        &Browsing,              CUPSD_VARTYPE_BOOLEAN },
-  { "CacheDir",                        &CacheDir,              CUPSD_VARTYPE_STRING },
   { "Classification",          &Classification,        CUPSD_VARTYPE_STRING },
   { "ClassifyOverride",                &ClassifyOverride,      CUPSD_VARTYPE_BOOLEAN },
-  { "ConfigFilePerm",          &ConfigFilePerm,        CUPSD_VARTYPE_INTEGER },
-  { "DataDir",                 &DataDir,               CUPSD_VARTYPE_STRING },
   { "DefaultLanguage",         &DefaultLanguage,       CUPSD_VARTYPE_STRING },
-  { "DefaultLeaseDuration",    &DefaultLeaseDuration,  CUPSD_VARTYPE_INTEGER },
+  { "DefaultLeaseDuration",    &DefaultLeaseDuration,  CUPSD_VARTYPE_TIME },
   { "DefaultPaperSize",                &DefaultPaperSize,      CUPSD_VARTYPE_STRING },
   { "DefaultPolicy",           &DefaultPolicy,         CUPSD_VARTYPE_STRING },
   { "DefaultShared",           &DefaultShared,         CUPSD_VARTYPE_BOOLEAN },
-  { "DirtyCleanInterval",      &DirtyCleanInterval,    CUPSD_VARTYPE_INTEGER },
-  { "DocumentRoot",            &DocumentRoot,          CUPSD_VARTYPE_STRING },
-  { "ErrorLog",                        &ErrorLog,              CUPSD_VARTYPE_STRING },
+  { "DirtyCleanInterval",      &DirtyCleanInterval,    CUPSD_VARTYPE_TIME },
   { "ErrorPolicy",             &ErrorPolicy,           CUPSD_VARTYPE_STRING },
-  { "FileDevice",              &FileDevice,            CUPSD_VARTYPE_BOOLEAN },
   { "FilterLimit",             &FilterLimit,           CUPSD_VARTYPE_INTEGER },
   { "FilterNice",              &FilterNice,            CUPSD_VARTYPE_INTEGER },
-  { "FontPath",                        &FontPath,              CUPSD_VARTYPE_STRING },
-  { "HideImplicitMembers",     &HideImplicitMembers,   CUPSD_VARTYPE_BOOLEAN },
-  { "ImplicitClasses",         &ImplicitClasses,       CUPSD_VARTYPE_BOOLEAN },
-  { "ImplicitAnyClasses",      &ImplicitAnyClasses,    CUPSD_VARTYPE_BOOLEAN },
-  { "JobKillDelay",            &JobKillDelay,          CUPSD_VARTYPE_INTEGER },
+#ifdef HAVE_GSSAPI
+  { "GSSServiceName",          &GSSServiceName,        CUPSD_VARTYPE_STRING },
+#endif /* HAVE_GSSAPI */
+  { "JobKillDelay",            &JobKillDelay,          CUPSD_VARTYPE_TIME },
   { "JobRetryLimit",           &JobRetryLimit,         CUPSD_VARTYPE_INTEGER },
-  { "JobRetryInterval",                &JobRetryInterval,      CUPSD_VARTYPE_INTEGER },
-  { "KeepAliveTimeout",                &KeepAliveTimeout,      CUPSD_VARTYPE_INTEGER },
+  { "JobRetryInterval",                &JobRetryInterval,      CUPSD_VARTYPE_TIME },
+  { "KeepAliveTimeout",                &KeepAliveTimeout,      CUPSD_VARTYPE_TIME },
   { "KeepAlive",               &KeepAlive,             CUPSD_VARTYPE_BOOLEAN },
 #ifdef HAVE_LAUNCHD
-  { "LaunchdTimeout",          &LaunchdTimeout,        CUPSD_VARTYPE_INTEGER },
+  { "LaunchdTimeout",          &LaunchdTimeout,        CUPSD_VARTYPE_TIME },
 #endif /* HAVE_LAUNCHD */
   { "LimitRequestBody",                &MaxRequestSize,        CUPSD_VARTYPE_INTEGER },
   { "ListenBackLog",           &ListenBackLog,         CUPSD_VARTYPE_INTEGER },
   { "LogDebugHistory",         &LogDebugHistory,       CUPSD_VARTYPE_INTEGER },
-  { "LogFilePerm",             &LogFilePerm,           CUPSD_VARTYPE_INTEGER },
-  { "LPDConfigFile",           &LPDConfigFile,         CUPSD_VARTYPE_STRING },
   { "MaxActiveJobs",           &MaxActiveJobs,         CUPSD_VARTYPE_INTEGER },
   { "MaxClients",              &MaxClients,            CUPSD_VARTYPE_INTEGER },
   { "MaxClientsPerHost",       &MaxClientsPerHost,     CUPSD_VARTYPE_INTEGER },
   { "MaxCopies",               &MaxCopies,             CUPSD_VARTYPE_INTEGER },
   { "MaxEvents",               &MaxEvents,             CUPSD_VARTYPE_INTEGER },
+  { "MaxHoldTime",             &MaxHoldTime,           CUPSD_VARTYPE_TIME },
   { "MaxJobs",                 &MaxJobs,               CUPSD_VARTYPE_INTEGER },
   { "MaxJobsPerPrinter",       &MaxJobsPerPrinter,     CUPSD_VARTYPE_INTEGER },
   { "MaxJobsPerUser",          &MaxJobsPerUser,        CUPSD_VARTYPE_INTEGER },
-  { "MaxLeaseDuration",                &MaxLeaseDuration,      CUPSD_VARTYPE_INTEGER },
+  { "MaxJobTime",              &MaxJobTime,            CUPSD_VARTYPE_INTEGER },
+  { "MaxLeaseDuration",                &MaxLeaseDuration,      CUPSD_VARTYPE_TIME },
   { "MaxLogSize",              &MaxLogSize,            CUPSD_VARTYPE_INTEGER },
   { "MaxRequestSize",          &MaxRequestSize,        CUPSD_VARTYPE_INTEGER },
   { "MaxSubscriptions",                &MaxSubscriptions,      CUPSD_VARTYPE_INTEGER },
   { "MaxSubscriptionsPerJob",  &MaxSubscriptionsPerJob,        CUPSD_VARTYPE_INTEGER },
   { "MaxSubscriptionsPerPrinter",&MaxSubscriptionsPerPrinter,  CUPSD_VARTYPE_INTEGER },
   { "MaxSubscriptionsPerUser", &MaxSubscriptionsPerUser,       CUPSD_VARTYPE_INTEGER },
-  { "MultipleOperationTimeout",        &MultipleOperationTimeout,      CUPSD_VARTYPE_INTEGER },
-  { "PageLog",                 &PageLog,               CUPSD_VARTYPE_STRING },
+  { "MultipleOperationTimeout",        &MultipleOperationTimeout,      CUPSD_VARTYPE_TIME },
   { "PageLogFormat",           &PageLogFormat,         CUPSD_VARTYPE_STRING },
-  { "PreserveJobFiles",                &JobFiles,              CUPSD_VARTYPE_BOOLEAN },
-  { "PreserveJobHistory",      &JobHistory,            CUPSD_VARTYPE_BOOLEAN },
+  { "PreserveJobFiles",                &JobFiles,              CUPSD_VARTYPE_TIME },
+  { "PreserveJobHistory",      &JobHistory,            CUPSD_VARTYPE_TIME },
+  { "ReloadTimeout",           &ReloadTimeout,         CUPSD_VARTYPE_TIME },
+  { "RIPCache",                        &RIPCache,              CUPSD_VARTYPE_STRING },
+  { "RootCertDuration",                &RootCertDuration,      CUPSD_VARTYPE_TIME },
+  { "ServerAdmin",             &ServerAdmin,           CUPSD_VARTYPE_STRING },
+  { "ServerName",              &ServerName,            CUPSD_VARTYPE_STRING },
+  { "StrictConformance",       &StrictConformance,     CUPSD_VARTYPE_BOOLEAN },
+  { "Timeout",                 &Timeout,               CUPSD_VARTYPE_TIME },
+  { "WebInterface",            &WebInterface,          CUPSD_VARTYPE_BOOLEAN }
+};
+static const cupsd_var_t       cupsfiles_vars[] =
+{
+  { "AccessLog",               &AccessLog,             CUPSD_VARTYPE_STRING },
+  { "CacheDir",                        &CacheDir,              CUPSD_VARTYPE_STRING },
+  { "ConfigFilePerm",          &ConfigFilePerm,        CUPSD_VARTYPE_INTEGER },
+  { "DataDir",                 &DataDir,               CUPSD_VARTYPE_STRING },
+  { "DocumentRoot",            &DocumentRoot,          CUPSD_VARTYPE_STRING },
+  { "ErrorLog",                        &ErrorLog,              CUPSD_VARTYPE_STRING },
+  { "FileDevice",              &FileDevice,            CUPSD_VARTYPE_BOOLEAN },
+  { "FontPath",                        &FontPath,              CUPSD_VARTYPE_STRING },
+  { "LogFilePerm",             &LogFilePerm,           CUPSD_VARTYPE_INTEGER },
+  { "LPDConfigFile",           &LPDConfigFile,         CUPSD_VARTYPE_STRING },
+  { "PageLog",                 &PageLog,               CUPSD_VARTYPE_STRING },
   { "Printcap",                        &Printcap,              CUPSD_VARTYPE_STRING },
-  { "PrintcapGUI",             &PrintcapGUI,           CUPSD_VARTYPE_STRING },
-  { "ReloadTimeout",           &ReloadTimeout,         CUPSD_VARTYPE_INTEGER },
   { "RemoteRoot",              &RemoteRoot,            CUPSD_VARTYPE_STRING },
   { "RequestRoot",             &RequestRoot,           CUPSD_VARTYPE_STRING },
-  { "RIPCache",                        &RIPCache,              CUPSD_VARTYPE_STRING },
-  { "RootCertDuration",                &RootCertDuration,      CUPSD_VARTYPE_INTEGER },
-  { "ServerAdmin",             &ServerAdmin,           CUPSD_VARTYPE_STRING },
   { "ServerBin",               &ServerBin,             CUPSD_VARTYPE_PATHNAME },
 #ifdef HAVE_SSL
   { "ServerCertificate",       &ServerCertificate,     CUPSD_VARTYPE_PATHNAME },
@@ -174,20 +171,18 @@ static const cupsd_var_t  variables[] =
   { "ServerKey",               &ServerKey,             CUPSD_VARTYPE_PATHNAME },
 #  endif /* HAVE_LIBSSL || HAVE_GNUTLS */
 #endif /* HAVE_SSL */
-  { "ServerName",              &ServerName,            CUPSD_VARTYPE_STRING },
   { "ServerRoot",              &ServerRoot,            CUPSD_VARTYPE_PATHNAME },
   { "SMBConfigFile",           &SMBConfigFile,         CUPSD_VARTYPE_STRING },
   { "StateDir",                        &StateDir,              CUPSD_VARTYPE_STRING },
+  { "SyncOnClose",             &SyncOnClose,           CUPSD_VARTYPE_BOOLEAN },
 #ifdef HAVE_AUTHORIZATION_H
   { "SystemGroupAuthKey",      &SystemGroupAuthKey,    CUPSD_VARTYPE_STRING },
 #endif /* HAVE_AUTHORIZATION_H */
-  { "TempDir",                 &TempDir,               CUPSD_VARTYPE_PATHNAME },
-  { "Timeout",                 &Timeout,               CUPSD_VARTYPE_INTEGER },
-  { "UseNetworkDefault",       &UseNetworkDefault,     CUPSD_VARTYPE_BOOLEAN },
-  { "WebInterface",            &WebInterface,          CUPSD_VARTYPE_BOOLEAN }
+  { "TempDir",                 &TempDir,               CUPSD_VARTYPE_PATHNAME }
 };
-#define NUM_VARS       (sizeof(variables) / sizeof(variables[0]))
 
+static int             default_auth_type = CUPSD_AUTH_AUTO;
+                                       /* Default AuthType, if not specified */
 
 static const unsigned  ones[4] =
                        {
@@ -212,7 +207,12 @@ static int         parse_aaa(cupsd_location_t *loc, char *line,
 static int             parse_fatal_errors(const char *s);
 static int             parse_groups(const char *s);
 static int             parse_protocols(const char *s);
-static int             read_configuration(cups_file_t *fp);
+static int             parse_variable(const char *filename, int linenum,
+                                      const char *line, const char *value,
+                                      size_t num_vars,
+                                      const cupsd_var_t *vars);
+static int             read_cupsd_conf(cups_file_t *fp);
+static int             read_cups_files_conf(cups_file_t *fp);
 static int             read_location(cups_file_t *fp, char *name, int linenum);
 static int             read_policy(cups_file_t *fp, char *name, int linenum);
 static void            set_policy_defaults(cupsd_policy_t *pol);
@@ -394,6 +394,118 @@ cupsdCheckPermissions(
 
 
 /*
+ * 'cupsdDefaultAuthType()' - Get the default AuthType.
+ *
+ * When the default_auth_type is "auto", this function tries to get the GSS
+ * credentials for the server.  If that succeeds we use Kerberos authentication,
+ * otherwise we do a fallback to Basic authentication against the local user
+ * accounts.
+ */
+
+int                                    /* O - Default AuthType value */
+cupsdDefaultAuthType(void)
+{
+#ifdef HAVE_GSSAPI
+  OM_uint32    major_status,           /* Major status code */
+               minor_status;           /* Minor status code */
+  gss_name_t   server_name;            /* Server name */
+  gss_buffer_desc token = GSS_C_EMPTY_BUFFER;
+                                       /* Service name token */
+  char         buf[1024];              /* Service name buffer */
+#endif /* HAVE_GSSAPI */
+
+
+ /*
+  * If we have already determined the correct default AuthType, use it...
+  */
+
+  if (default_auth_type != CUPSD_AUTH_AUTO)
+    return (default_auth_type);
+
+#ifdef HAVE_GSSAPI
+#  ifdef __APPLE__
+ /*
+  * If the weak-linked GSSAPI/Kerberos library is not present, don't try
+  * to use it...
+  */
+
+  if (gss_init_sec_context == NULL)
+    return (default_auth_type = CUPSD_AUTH_BASIC);
+#  endif /* __APPLE__ */
+
+ /*
+  * Try to obtain the server's GSS credentials (GSSServiceName@servername).  If
+  * that fails we must use Basic...
+  */
+
+  snprintf(buf, sizeof(buf), "%s@%s", GSSServiceName, ServerName);
+
+  token.value  = buf;
+  token.length = strlen(buf);
+  server_name  = GSS_C_NO_NAME;
+  major_status = gss_import_name(&minor_status, &token,
+                                GSS_C_NT_HOSTBASED_SERVICE,
+                                &server_name);
+
+  memset(&token, 0, sizeof(token));
+
+  if (GSS_ERROR(major_status))
+  {
+    cupsdLogGSSMessage(CUPSD_LOG_DEBUG, major_status, minor_status,
+                      "cupsdDefaultAuthType: gss_import_name(%s) failed", buf);
+    return (default_auth_type = CUPSD_AUTH_BASIC);
+  }
+
+  major_status = gss_display_name(&minor_status, server_name, &token, NULL);
+
+  if (GSS_ERROR(major_status))
+  {
+    cupsdLogGSSMessage(CUPSD_LOG_DEBUG, major_status, minor_status,
+                       "cupsdDefaultAuthType: gss_display_name(%s) failed",
+                       buf);
+    return (default_auth_type = CUPSD_AUTH_BASIC);
+  }
+
+  cupsdLogMessage(CUPSD_LOG_DEBUG,
+                  "cupsdDefaultAuthType: Attempting to acquire Kerberos "
+                  "credentials for %s...", (char *)token.value);
+
+  ServerCreds  = GSS_C_NO_CREDENTIAL;
+  major_status = gss_acquire_cred(&minor_status, server_name, GSS_C_INDEFINITE,
+                                 GSS_C_NO_OID_SET, GSS_C_ACCEPT,
+                                 &ServerCreds, NULL, NULL);
+  if (GSS_ERROR(major_status))
+  {
+    cupsdLogGSSMessage(CUPSD_LOG_DEBUG, major_status, minor_status,
+                       "cupsdDefaultAuthType: gss_acquire_cred(%s) failed",
+                       (char *)token.value);
+    gss_release_name(&minor_status, &server_name);
+    gss_release_buffer(&minor_status, &token);
+    return (default_auth_type = CUPSD_AUTH_BASIC);
+  }
+
+  cupsdLogMessage(CUPSD_LOG_DEBUG,
+                  "cupsdDefaultAuthType: Kerberos credentials acquired "
+                  "successfully for %s.", (char *)token.value);
+
+  gss_release_name(&minor_status, &server_name);
+  gss_release_buffer(&minor_status, &token);
+
+  HaveServerCreds = 1;
+
+  return (default_auth_type = CUPSD_AUTH_NEGOTIATE);
+
+#else
+ /*
+  * No Kerberos support compiled in so just use Basic all the time...
+  */
+
+  return (default_auth_type = CUPSD_AUTH_BASIC);
+#endif /* HAVE_GSSAPI */
+}
+
+
+/*
  * 'cupsdFreeAliases()' - Free all of the alias entries.
  */
 
@@ -451,31 +563,6 @@ cupsdReadConfiguration(void)
 
   cupsdDeleteAllLocations();
 
-  if (NumBrowsers > 0)
-  {
-    free(Browsers);
-    Browsers = NULL;
-
-    NumBrowsers = 0;
-  }
-
-  if (NumPolled > 0)
-  {
-    free(Polled);
-
-    NumPolled = 0;
-  }
-
-  if (NumRelays > 0)
-  {
-    for (i = 0; i < NumRelays; i ++)
-      cupsArrayDelete(Relays[i].from);
-
-    free(Relays);
-
-    NumRelays = 0;
-  }
-
   cupsdDeleteAllListeners();
 
   old_remote_port = RemotePort;
@@ -505,7 +592,7 @@ cupsdReadConfiguration(void)
   cupsdSetString(&PrintcapGUI, "/usr/bin/glpoptions");
   cupsdSetString(&FontPath, CUPS_FONTPATH);
   cupsdSetString(&RemoteRoot, "remroot");
-  cupsdSetStringf(&ServerHeader, "CUPS/%d.%d", CUPS_VERSION_MAJOR,
+  cupsdSetStringf(&ServerHeader, "CUPS/%d.%d IPP/2.1", CUPS_VERSION_MAJOR,
                   CUPS_VERSION_MINOR);
   cupsdSetString(&StateDir, CUPS_STATEDIR);
 
@@ -548,6 +635,21 @@ cupsdReadConfiguration(void)
 
   cupsdSetString(&TempDir, NULL);
 
+#ifdef HAVE_GSSAPI
+  cupsdSetString(&GSSServiceName, CUPS_DEFAULT_GSSSERVICENAME);
+
+  if (HaveServerCreds)
+  {
+    OM_uint32  minor_status;           /* Minor status code */
+
+    gss_release_cred(&minor_status, &ServerCreds);
+
+    HaveServerCreds = 0;
+  }
+
+  ServerCreds = GSS_C_NO_CREDENTIAL;
+#endif /* HAVE_GSSAPI */
+
  /*
   * Find the default user...
   */
@@ -604,7 +706,7 @@ cupsdReadConfiguration(void)
   AccessLogLevel           = CUPSD_ACCESSLOG_ACTIONS;
   ConfigFilePerm           = CUPS_DEFAULT_CONFIG_FILE_PERM;
   FatalErrors              = parse_fatal_errors(CUPS_DEFAULT_FATAL_ERRORS);
-  DefaultAuthType          = CUPSD_AUTH_BASIC;
+  default_auth_type        = CUPSD_AUTH_BASIC;
 #ifdef HAVE_SSL
   DefaultEncryption        = HTTP_ENCRYPT_REQUIRED;
   SSLOptions               = CUPSD_SSL_NONE;
@@ -618,9 +720,6 @@ cupsdReadConfiguration(void)
   FilterLimit              = 0;
   FilterNice               = 0;
   HostNameLookups          = FALSE;
-  ImplicitClasses          = CUPS_DEFAULT_IMPLICIT_CLASSES;
-  ImplicitAnyClasses       = FALSE;
-  HideImplicitMembers      = TRUE;
   KeepAlive                = TRUE;
   KeepAliveTimeout         = DEFAULT_KEEPALIVE;
   ListenBackLog            = SOMAXCONN;
@@ -633,58 +732,44 @@ cupsdReadConfiguration(void)
   MaxLogSize               = 1024 * 1024;
   MaxRequestSize           = 0;
   MultipleOperationTimeout = DEFAULT_TIMEOUT;
+  NumSystemGroups          = 0;
   ReloadTimeout                   = DEFAULT_KEEPALIVE;
   RootCertDuration         = 300;
+  StrictConformance        = FALSE;
+  SyncOnClose              = FALSE;
   Timeout                  = DEFAULT_TIMEOUT;
-  NumSystemGroups          = 0;
   WebInterface             = CUPS_DEFAULT_WEBIF;
 
-  BrowseInterval           = DEFAULT_INTERVAL;
-  BrowsePort               = ippPort();
   BrowseLocalProtocols     = parse_protocols(CUPS_DEFAULT_BROWSE_LOCAL_PROTOCOLS);
-  BrowseRemoteProtocols    = parse_protocols(CUPS_DEFAULT_BROWSE_REMOTE_PROTOCOLS);
-  BrowseShortNames         = CUPS_DEFAULT_BROWSE_SHORT_NAMES;
-  BrowseTimeout            = DEFAULT_TIMEOUT;
   BrowseWebIF              = FALSE;
   Browsing                 = CUPS_DEFAULT_BROWSING;
   DefaultShared            = CUPS_DEFAULT_DEFAULT_SHARED;
 
-#ifdef HAVE_DNSSD
-  cupsdSetString(&DNSSDRegType, "_ipp._tcp,_cups");
-#endif /* HAVE_DNSSD */
+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
+  cupsdSetString(&DNSSDSubTypes, "_cups,_print");
+#endif /* HAVE_DNSSD || HAVE_AVAHI */
 
   cupsdSetString(&LPDConfigFile, CUPS_DEFAULT_LPD_CONFIG_FILE);
   cupsdSetString(&SMBConfigFile, CUPS_DEFAULT_SMB_CONFIG_FILE);
 
-  cupsdClearString(&BrowseLocalOptions);
-  cupsdClearString(&BrowseRemoteOptions);
-
   cupsdSetString(&ErrorPolicy, "stop-printer");
 
-#ifdef HAVE_LDAP
-  cupsdClearString(&BrowseLDAPBindDN);
-  cupsdClearString(&BrowseLDAPDN);
-  cupsdClearString(&BrowseLDAPPassword);
-  cupsdClearString(&BrowseLDAPServer);
-#  ifdef HAVE_LDAP_SSL
-  cupsdClearString(&BrowseLDAPCACertFile);
-#  endif /* HAVE_LDAP_SSL */
-#endif /* HAVE_LDAP */
-
   JobHistory          = DEFAULT_HISTORY;
   JobFiles            = DEFAULT_FILES;
   JobAutoPurge        = 0;
+  MaxHoldTime         = 0;
   MaxJobs             = 500;
   MaxActiveJobs       = 0;
   MaxJobsPerUser      = 0;
   MaxJobsPerPrinter   = 0;
+  MaxJobTime          = 3 * 60 * 60;   /* 3 hours */
   MaxCopies           = CUPS_DEFAULT_MAX_COPIES;
 
   cupsdDeleteAllPolicies();
   cupsdClearString(&DefaultPolicy);
 
 #ifdef HAVE_AUTHORIZATION_H
-  cupsdClearString(&SystemGroupAuthKey);
+  cupsdSetString(&SystemGroupAuthKey, CUPS_DEFAULT_SYSTEM_AUTHKEY);
 #endif /* HAVE_AUTHORIZATION_H */
 
   MaxSubscriptions           = 100;
@@ -695,7 +780,7 @@ cupsdReadConfiguration(void)
   MaxLeaseDuration           = 0;
 
 #ifdef HAVE_LAUNCHD
-  LaunchdTimeout = DEFAULT_TIMEOUT + 10;
+  LaunchdTimeout = 10;
 #endif /* HAVE_LAUNCHD */
 
  /*
@@ -705,21 +790,63 @@ cupsdReadConfiguration(void)
   cupsdInitEnv();
 
  /*
-  * Read the configuration file...
+  * Read the cups-files.conf file...
+  */
+
+  if ((fp = cupsFileOpen(CupsFilesFile, "r")) != NULL)
+  {
+    status = read_cups_files_conf(fp);
+
+    cupsFileClose(fp);
+
+    if (!status)
+    {
+      if (TestConfigFile)
+        printf("\"%s\" contains errors.\n", CupsFilesFile);
+      else
+        syslog(LOG_LPR, "Unable to read \"%s\" due to errors.",
+               CupsFilesFile);
+
+      return (0);
+    }
+  }
+  else if (errno == ENOENT)
+    cupsdLogMessage(CUPSD_LOG_INFO, "No %s, using defaults.", CupsFilesFile);
+  else
+  {
+    syslog(LOG_LPR, "Unable to open \"%s\": %s", CupsFilesFile,
+          strerror(errno));
+    return (0);
+  }
+
+  if (!ErrorLog)
+    cupsdSetString(&ErrorLog, CUPS_LOGDIR "/error_log");
+
+ /*
+  * Read the cupsd.conf file...
   */
 
   if ((fp = cupsFileOpen(ConfigurationFile, "r")) == NULL)
+  {
+    syslog(LOG_LPR, "Unable to open \"%s\": %s", ConfigurationFile,
+          strerror(errno));
     return (0);
+  }
 
-  status = read_configuration(fp);
+  status = read_cupsd_conf(fp);
 
   cupsFileClose(fp);
 
   if (!status)
-    return (0);
+  {
+    if (TestConfigFile)
+      printf("\"%s\" contains errors.\n", ConfigurationFile);
+    else
+      syslog(LOG_LPR, "Unable to read \"%s\" due to errors.",
+            ConfigurationFile);
 
-  if (!ErrorLog)
-    cupsdSetString(&ErrorLog, CUPS_LOGDIR "/error_log");
+    return (0);
+  }
 
   RunUser = getuid();
 
@@ -833,10 +960,11 @@ cupsdReadConfiguration(void)
   }
 
  /*
-  * Get the access control list for browsing...
+  * Make sure ConfigFilePerm and LogFilePerm have sane values...
   */
 
-  BrowseACL = cupsdFindLocation("CUPS_INTERNAL_BROWSE_ACL");
+  ConfigFilePerm &= 0664;
+  LogFilePerm    &= 0664;
 
  /*
   * Open the system log for cupsd if necessary...
@@ -999,7 +1127,9 @@ cupsdReadConfiguration(void)
                             Group, 1, 1) < 0 ||
        cupsdCheckPermissions(ServerRoot, "ssl", 0700, RunUser,
                             Group, 1, 0) < 0 ||
-       cupsdCheckPermissions(ServerRoot, "cupsd.conf", ConfigFilePerm, RunUser,
+       cupsdCheckPermissions(ConfigurationFile, NULL, ConfigFilePerm, RunUser,
+                            Group, 0, 0) < 0 ||
+       cupsdCheckPermissions(CupsFilesFile, NULL, ConfigFilePerm, RunUser,
                             Group, 0, 0) < 0 ||
        cupsdCheckPermissions(ServerRoot, "classes.conf", 0600, RunUser,
                             Group, 0, 0) < 0 ||
@@ -1014,11 +1144,20 @@ cupsdReadConfiguration(void)
   * Update TempDir to the default if it hasn't been set already...
   */
 
+#ifdef __APPLE__
+  if (TempDir && !RunUser &&
+      (!strncmp(TempDir, "/private/tmp", 12) || !strncmp(TempDir, "/tmp", 4)))
+  {
+    cupsdLogMessage(CUPSD_LOG_ERROR, "Cannot use %s for TempDir.", TempDir);
+    cupsdClearString(&TempDir);
+  }
+#endif /* __APPLE__ */
+
   if (!TempDir)
   {
 #ifdef __APPLE__
     if ((tmpdir = getenv("TMPDIR")) != NULL &&
-        strncmp(tmpdir, "/private/tmp", 12))
+        strncmp(tmpdir, "/private/tmp", 12) && strncmp(tmpdir, "/tmp", 4))
 #else
     if ((tmpdir = getenv("TMPDIR")) != NULL)
 #endif /* __APPLE__ */
@@ -1041,13 +1180,13 @@ cupsdReadConfiguration(void)
       else
         cupsdSetString(&TempDir, tmpdir);
     }
+  }
 
-    if (!TempDir)
-    {
-      cupsdLogMessage(CUPSD_LOG_INFO, "Using default TempDir of %s/tmp...",
-                     RequestRoot);
-      cupsdSetStringf(&TempDir, "%s/tmp", RequestRoot);
-    }
+  if (!TempDir)
+  {
+    cupsdLogMessage(CUPSD_LOG_INFO, "Using default TempDir of %s/tmp...",
+                   RequestRoot);
+    cupsdSetStringf(&TempDir, "%s/tmp", RequestRoot);
   }
 
  /*
@@ -1156,24 +1295,6 @@ cupsdReadConfiguration(void)
                   MaxClientsPerHost);
 
  /*
-  * Make sure that BrowseTimeout is at least twice the interval...
-  */
-
-  if (BrowseTimeout < (2 * BrowseInterval) || BrowseTimeout <= 0)
-  {
-    cupsdLogMessage(CUPSD_LOG_ALERT, "Invalid BrowseTimeout value %d.",
-                    BrowseTimeout);
-
-    if (BrowseInterval)
-      BrowseTimeout = BrowseInterval * 2;
-    else
-      BrowseTimeout = DEFAULT_TIMEOUT;
-
-    cupsdLogMessage(CUPSD_LOG_ALERT, "Reset BrowseTimeout to %d.",
-                    BrowseTimeout);
-  }
-
- /*
   * Update the default policy, as needed...
   */
 
@@ -1477,7 +1598,6 @@ cupsdReadConfiguration(void)
 
     cupsdLoadAllPrinters();
     cupsdLoadAllClasses();
-    cupsdLoadRemoteCache();
 
     cupsdCreateCommonData();
 
@@ -1511,6 +1631,12 @@ cupsdReadConfiguration(void)
     cupsdCreateCommonData();
 
    /*
+    * Update all jobs as needed...
+    */
+
+    cupsdUpdateJobs();
+
+   /*
     * Update all printers as needed...
     */
 
@@ -2474,20 +2600,10 @@ parse_protocols(const char *s)          /* I - Space-delimited protocols */
     * Add the protocol to the bitmask...
     */
 
-    if (!_cups_strcasecmp(valstart, "cups"))
-      protocols |= BROWSE_CUPS;
-    else if (!_cups_strcasecmp(valstart, "slp"))
-      protocols |= BROWSE_SLP;
-    else if (!_cups_strcasecmp(valstart, "ldap"))
-      protocols |= BROWSE_LDAP;
-    else if (!_cups_strcasecmp(valstart, "dnssd") ||
-             !_cups_strcasecmp(valstart, "dns-sd") ||
-             !_cups_strcasecmp(valstart, "bonjour"))
+    if (!_cups_strcasecmp(valstart, "dnssd") ||
+       !_cups_strcasecmp(valstart, "dns-sd") ||
+       !_cups_strcasecmp(valstart, "bonjour"))
       protocols |= BROWSE_DNSSD;
-    else if (!_cups_strcasecmp(valstart, "lpd"))
-      protocols |= BROWSE_LPD;
-    else if (!_cups_strcasecmp(valstart, "smb"))
-      protocols |= BROWSE_SMB;
     else if (!_cups_strcasecmp(valstart, "all"))
       protocols |= BROWSE_ALL;
     else if (_cups_strcasecmp(valstart, "none"))
@@ -2504,697 +2620,453 @@ parse_protocols(const char *s)                /* I - Space-delimited protocols */
 
 
 /*
- * 'read_configuration()' - Read a configuration file.
+ * 'parse_variable()' - Parse a variable line.
  */
 
 static int                             /* O - 1 on success, 0 on failure */
-read_configuration(cups_file_t *fp)    /* I - File to read from */
+parse_variable(
+    const char        *filename,       /* I - Name of configuration file */
+    int               linenum,         /* I - Line in configuration file */
+    const char        *line,           /* I - Line from configuration file */
+    const char        *value,          /* I - Value from configuration file */
+    size_t            num_vars,                /* I - Number of variables */
+    const cupsd_var_t *vars)           /* I - Variables */
 {
-  int                  i;              /* Looping var */
-  int                  linenum;        /* Current line number */
-  char                 line[HTTP_MAX_BUFFER],
-                                       /* Line from file */
-                       temp[HTTP_MAX_BUFFER],
-                                       /* Temporary buffer for value */
-                       *ptr,           /* Pointer into line/temp */
-                       *value,         /* Pointer to value */
-                       *valueptr;      /* Pointer into value */
-  int                  valuelen;       /* Length of value */
-  cupsd_var_t const    *var;           /* Current variable */
-  http_addrlist_t      *addrlist,      /* Address list */
-                       *addr;          /* Current address */
-  unsigned             ip[4],          /* Address value */
-                       mask[4];        /* Netmask value */
-  cupsd_dirsvc_relay_t *relay;         /* Relay data */
-  cupsd_dirsvc_poll_t  *pollp;         /* Polling data */
-  cupsd_location_t     *location;      /* Browse location */
-  cups_file_t          *incfile;       /* Include file */
-  char                 incname[1024];  /* Include filename */
-  struct group         *group;         /* Group */
-
+  size_t               i;              /* Looping var */
+  const cupsd_var_t    *var;           /* Variables */
+  char                 temp[1024];     /* Temporary string */
 
- /*
-  * Loop through each line in the file...
-  */
 
-  linenum = 0;
+  for (i = num_vars, var = vars; i > 0; i --, var ++)
+    if (!_cups_strcasecmp(line, var->name))
+      break;
 
-  while (cupsFileGetConf(fp, line, sizeof(line), &value, &linenum))
+  if (i == 0)
   {
    /*
-    * Decode the directive...
+    * Unknown directive!  Output an error message and continue...
     */
 
-    if (!_cups_strcasecmp(line, "Include") && value)
-    {
-     /*
-      * Include filename
-      */
-
-      if (value[0] == '/')
-        strlcpy(incname, value, sizeof(incname));
-      else
-        snprintf(incname, sizeof(incname), "%s/%s", ServerRoot, value);
-
-      if ((incfile = cupsFileOpen(incname, "rb")) == NULL)
-        cupsdLogMessage(CUPSD_LOG_ERROR,
-                       "Unable to include config file \"%s\" - %s",
-                       incname, strerror(errno));
-      else
-      {
-        read_configuration(incfile);
-       cupsFileClose(incfile);
-      }
-    }
-    else if (!_cups_strcasecmp(line, "<Location") && value)
-    {
-     /*
-      * <Location path>
-      */
-
-      linenum = read_location(fp, value, linenum);
-      if (linenum == 0)
-       return (0);
-    }
-    else if (!_cups_strcasecmp(line, "<Policy") && value)
-    {
-     /*
-      * <Policy name>
-      */
+    if (!value)
+      cupsdLogMessage(CUPSD_LOG_ERROR, "Missing value for %s on line %d of %s.",
+                     line, linenum, filename);
+    else
+      cupsdLogMessage(CUPSD_LOG_ERROR, "Unknown directive %s on line %d of %s.",
+                     line, linenum, filename);
 
-      linenum = read_policy(fp, value, linenum);
-      if (linenum == 0)
-       return (0);
-    }
-    else if (!_cups_strcasecmp(line, "FatalErrors"))
-      FatalErrors = parse_fatal_errors(value);
-    else if (!_cups_strcasecmp(line, "FaxRetryInterval") && value)
-    {
-      JobRetryInterval = atoi(value);
-      cupsdLogMessage(CUPSD_LOG_WARN,
-                     "FaxRetryInterval is deprecated; use "
-                     "JobRetryInterval on line %d.", linenum);
-    }
-    else if (!_cups_strcasecmp(line, "FaxRetryLimit") && value)
-    {
-      JobRetryLimit = atoi(value);
-      cupsdLogMessage(CUPSD_LOG_WARN,
-                     "FaxRetryLimit is deprecated; use "
-                     "JobRetryLimit on line %d.", linenum);
-    }
-    else if ((!_cups_strcasecmp(line, "Port") || !_cups_strcasecmp(line, "Listen")
-#ifdef HAVE_SSL
-             || !_cups_strcasecmp(line, "SSLPort") || !_cups_strcasecmp(line, "SSLListen")
-#endif /* HAVE_SSL */
-            ) && value)
-    {
-     /*
-      * Add listening address(es) to the list...
-      */
+    return (0);
+  }
 
-      cupsd_listener_t *lis;           /* New listeners array */
+  switch (var->type)
+  {
+    case CUPSD_VARTYPE_INTEGER :
+       if (!value)
+       {
+         cupsdLogMessage(CUPSD_LOG_ERROR,
+                         "Missing integer value for %s on line %d of %s.",
+                         line, linenum, filename);
+          return (0);
+       }
+       else if (!isdigit(*value & 255))
+       {
+         cupsdLogMessage(CUPSD_LOG_ERROR,
+                         "Bad integer value for %s on line %d of %s.",
+                         line, linenum, filename);
+          return (0);
+       }
+       else
+       {
+         int   n;              /* Number */
+         char  *units;         /* Units */
 
+         n = strtol(value, &units, 0);
 
-     /*
-      * Get the address list...
-      */
+         if (units && *units)
+         {
+           if (tolower(units[0] & 255) == 'g')
+             n *= 1024 * 1024 * 1024;
+           else if (tolower(units[0] & 255) == 'm')
+             n *= 1024 * 1024;
+           else if (tolower(units[0] & 255) == 'k')
+             n *= 1024;
+           else if (tolower(units[0] & 255) == 't')
+             n *= 262144;
+           else
+           {
+             cupsdLogMessage(CUPSD_LOG_ERROR,
+                             "Unknown integer value for %s on line %d of %s.",
+                             line, linenum, filename);
+             return (0);
+           }
+         }
 
-      addrlist = get_address(value, IPP_PORT);
+         if (n < 0)
+         {
+           cupsdLogMessage(CUPSD_LOG_ERROR,
+                           "Bad negative integer value for %s on line %d of "
+                           "%s.", line, linenum, filename);
+           return (0);
+         }
+         else
+         {
+           *((int *)var->ptr) = n;
+         }
+       }
+       break;
 
-      if (!addrlist)
-      {
-        cupsdLogMessage(CUPSD_LOG_ERROR, "Bad %s address %s at line %d.", line,
-                       value, linenum);
-        continue;
-      }
+    case CUPSD_VARTYPE_TIME :
+       if (!value)
+       {
+         cupsdLogMessage(CUPSD_LOG_ERROR,
+                         "Missing time interval value for %s on line %d of "
+                         "%s.", line, linenum, filename);
+         return (0);
+       }
+       else if (!_cups_strncasecmp(line, "PreserveJob", 11) &&
+                (!_cups_strcasecmp(value, "true") ||
+                 !_cups_strcasecmp(value, "on") ||
+                 !_cups_strcasecmp(value, "enabled") ||
+                 !_cups_strcasecmp(value, "yes")))
+       {
+         *((int *)var->ptr) = INT_MAX;
+       }
+       else if (!_cups_strcasecmp(value, "false") ||
+                !_cups_strcasecmp(value, "off") ||
+                !_cups_strcasecmp(value, "disabled") ||
+                !_cups_strcasecmp(value, "no"))
+       {
+         *((int *)var->ptr) = 0;
+       }
+       else if (!isdigit(*value & 255))
+       {
+         cupsdLogMessage(CUPSD_LOG_ERROR,
+                         "Unknown time interval value for %s on line %d of "
+                         "%s.", line, linenum, filename);
+          return (0);
+       }
+       else
+       {
+         double        n;              /* Number */
+         char          *units;         /* Units */
 
-     /*
-      * Add each address...
-      */
+         n = strtod(value, &units);
 
-      for (addr = addrlist; addr; addr = addr->next)
-      {
-       /*
-        * See if this address is already present...
-       */
+         if (units && *units)
+         {
+           if (tolower(units[0] & 255) == 'w')
+             n *= 7 * 24 * 60 * 60;
+           else if (tolower(units[0] & 255) == 'd')
+             n *= 24 * 60 * 60;
+           else if (tolower(units[0] & 255) == 'h')
+             n *= 60 * 60;
+           else if (tolower(units[0] & 255) == 'm')
+             n *= 60;
+           else
+           {
+             cupsdLogMessage(CUPSD_LOG_ERROR,
+                             "Unknown time interval value for %s on line "
+                             "%d of %s.", line, linenum, filename);
+             return (0);
+           }
+         }
 
-        for (lis = (cupsd_listener_t *)cupsArrayFirst(Listeners);
-            lis;
-            lis = (cupsd_listener_t *)cupsArrayNext(Listeners))
-          if (httpAddrEqual(&(addr->addr), &(lis->address)) &&
-             _httpAddrPort(&(addr->addr)) == _httpAddrPort(&(lis->address)))
-           break;
+         if (n < 0.0 || n > INT_MAX)
+         {
+           cupsdLogMessage(CUPSD_LOG_ERROR,
+                           "Bad time value for %s on line %d of %s.",
+                           line, linenum, filename);
+           return (0);
+         }
+         else
+         {
+           *((int *)var->ptr) = (int)n;
+         }
+       }
+       break;
 
-        if (lis)
+    case CUPSD_VARTYPE_BOOLEAN :
+       if (!value)
        {
-         httpAddrString(&lis->address, temp, sizeof(temp));
-         cupsdLogMessage(CUPSD_LOG_WARN,
-                         "Duplicate listen address \"%s\" ignored.", temp);
-          continue;
+         cupsdLogMessage(CUPSD_LOG_ERROR,
+                         "Missing boolean value for %s on line %d of %s.",
+                         line, linenum, filename);
+         return (0);
        }
+       else if (!_cups_strcasecmp(value, "true") ||
+                !_cups_strcasecmp(value, "on") ||
+                !_cups_strcasecmp(value, "enabled") ||
+                !_cups_strcasecmp(value, "yes") ||
+                atoi(value) != 0)
+       {
+         *((int *)var->ptr) = TRUE;
+       }
+       else if (!_cups_strcasecmp(value, "false") ||
+                !_cups_strcasecmp(value, "off") ||
+                !_cups_strcasecmp(value, "disabled") ||
+                !_cups_strcasecmp(value, "no") ||
+                !_cups_strcasecmp(value, "0"))
+       {
+         *((int *)var->ptr) = FALSE;
+       }
+       else
+       {
+         cupsdLogMessage(CUPSD_LOG_ERROR,
+                         "Unknown boolean value %s on line %d of %s.",
+                         value, linenum, filename);
+         return (0);
+       }
+       break;
 
-       /*
-        * Allocate another listener...
-       */
-
-        if (!Listeners)
-         Listeners = cupsArrayNew(NULL, NULL);
-
-       if (!Listeners)
+    case CUPSD_VARTYPE_PATHNAME :
+       if (!value)
        {
-          cupsdLogMessage(CUPSD_LOG_ERROR,
-                         "Unable to allocate %s at line %d - %s.",
-                         line, linenum, strerror(errno));
-          break;
+         cupsdLogMessage(CUPSD_LOG_ERROR,
+                         "Missing pathname value for %s on line %d of %s.",
+                         line, linenum, filename);
+         return (0);
        }
 
-        if ((lis = calloc(1, sizeof(cupsd_listener_t))) == NULL)
+       if (value[0] == '/')
+         strlcpy(temp, value, sizeof(temp));
+       else
+         snprintf(temp, sizeof(temp), "%s/%s", ServerRoot, value);
+
+       if (access(temp, 0))
        {
-          cupsdLogMessage(CUPSD_LOG_ERROR,
-                         "Unable to allocate %s at line %d - %s.",
-                         line, linenum, strerror(errno));
-          break;
+         cupsdLogMessage(CUPSD_LOG_ERROR,
+                         "File or directory for \"%s %s\" on line %d of %s "
+                         "does not exist.", line, value, linenum, filename);
+         return (0);
        }
 
-        cupsArrayAdd(Listeners, lis);
+       cupsdSetString((char **)var->ptr, temp);
+       break;
 
-       /*
-        * Copy the current address and log it...
-       */
+    case CUPSD_VARTYPE_STRING :
+       cupsdSetString((char **)var->ptr, value);
+       break;
+  }
 
-       memcpy(&(lis->address), &(addr->addr), sizeof(lis->address));
-       lis->fd = -1;
+  return (1);
+}
 
-#ifdef HAVE_SSL
-        if (!_cups_strcasecmp(line, "SSLPort") || !_cups_strcasecmp(line, "SSLListen"))
-          lis->encryption = HTTP_ENCRYPT_ALWAYS;
-#endif /* HAVE_SSL */
 
-       httpAddrString(&lis->address, temp, sizeof(temp));
+/*
+ * 'read_cupsd_conf()' - Read the cupsd.conf configuration file.
+ */
 
-#ifdef AF_LOCAL
-        if (lis->address.addr.sa_family == AF_LOCAL)
-          cupsdLogMessage(CUPSD_LOG_INFO, "Listening to %s (Domain)", temp);
-       else
-#endif /* AF_LOCAL */
-       cupsdLogMessage(CUPSD_LOG_INFO, "Listening to %s:%d (IPv%d)", temp,
-                        _httpAddrPort(&(lis->address)),
-                       _httpAddrFamily(&(lis->address)) == AF_INET ? 4 : 6);
+static int                             /* O - 1 on success, 0 on failure */
+read_cupsd_conf(cups_file_t *fp)       /* I - File to read from */
+{
+  int                  linenum;        /* Current line number */
+  char                 line[HTTP_MAX_BUFFER],
+                                       /* Line from file */
+                       temp[HTTP_MAX_BUFFER],
+                                       /* Temporary buffer for value */
+                       *value,         /* Pointer to value */
+                       *valueptr;      /* Pointer into value */
+  int                  valuelen;       /* Length of value */
+  http_addrlist_t      *addrlist,      /* Address list */
+                       *addr;          /* Current address */
+  cups_file_t          *incfile;       /* Include file */
+  char                 incname[1024];  /* Include filename */
 
-        if (!httpAddrLocalhost(&(lis->address)))
-         RemotePort = _httpAddrPort(&(lis->address));
-      }
 
    /*
-      * Free the list...
-      */
+ /*
+  * Loop through each line in the file...
+  */
 
-      httpAddrFreeList(addrlist);
-    }
-    else if (!_cups_strcasecmp(line, "BrowseAddress") && value)
+  linenum = 0;
+
+  while (cupsFileGetConf(fp, line, sizeof(line), &value, &linenum))
+  {
+   /*
+    * Decode the directive...
+    */
+
+    if (!_cups_strcasecmp(line, "Include") && value)
     {
      /*
-      * Add a browse address to the list...
+      * Include filename
       */
 
-      cupsd_dirsvc_addr_t      *dira;  /* New browse address array */
-
-
-      if (NumBrowsers == 0)
-        dira = malloc(sizeof(cupsd_dirsvc_addr_t));
+      if (value[0] == '/')
+        strlcpy(incname, value, sizeof(incname));
       else
-        dira = realloc(Browsers, (NumBrowsers + 1) * sizeof(cupsd_dirsvc_addr_t));
+        snprintf(incname, sizeof(incname), "%s/%s", ServerRoot, value);
 
-      if (!dira)
-      {
+      if ((incfile = cupsFileOpen(incname, "rb")) == NULL)
         cupsdLogMessage(CUPSD_LOG_ERROR,
-                       "Unable to allocate BrowseAddress at line %d - %s.",
-                       linenum, strerror(errno));
-        continue;
-      }
-
-      Browsers = dira;
-      dira     += NumBrowsers;
-
-      memset(dira, 0, sizeof(cupsd_dirsvc_addr_t));
-
-      if (!_cups_strcasecmp(value, "@LOCAL"))
-      {
-       /*
-       * Send browse data to all local interfaces...
-       */
-
-       strcpy(dira->iface, "*");
-       NumBrowsers ++;
-      }
-      else if (!_cups_strncasecmp(value, "@IF(", 4))
-      {
-       /*
-       * Send browse data to the named interface...
-       */
-
-       strlcpy(dira->iface, value + 4, sizeof(Browsers[0].iface));
-
-        ptr = dira->iface + strlen(dira->iface) - 1;
-        if (*ptr == ')')
-         *ptr = '\0';
-
-       NumBrowsers ++;
-      }
-      else if ((addrlist = get_address(value, BrowsePort)) != NULL)
+                       "Unable to include config file \"%s\" - %s",
+                       incname, strerror(errno));
+      else
       {
-       /*
-        * Only IPv4 addresses are supported...
-        */
-
-       for (addr = addrlist; addr; addr = addr->next)
-         if (_httpAddrFamily(&(addr->addr)) == AF_INET)
-           break;
-
-       if (addr)
-       {
-         memcpy(&(dira->to), &(addrlist->addr), sizeof(dira->to));
-         httpAddrString(&(dira->to), temp, sizeof(temp));
-
-         cupsdLogMessage(CUPSD_LOG_INFO,
-                         "Sending browsing info to %s:%d (IPv4)",
-                         temp, _httpAddrPort(&(dira->to)));
-
-         NumBrowsers ++;
-       }
-       else
-         cupsdLogMessage(CUPSD_LOG_ERROR, "Bad BrowseAddress %s at line %d.",
-                         value, linenum);
-
-       httpAddrFreeList(addrlist);
+        read_cupsd_conf(incfile);
+       cupsFileClose(incfile);
       }
-      else
-        cupsdLogMessage(CUPSD_LOG_ERROR, "Bad BrowseAddress %s at line %d.",
-                       value, linenum);
     }
-    else if (!_cups_strcasecmp(line, "BrowseOrder") && value)
+    else if (!_cups_strcasecmp(line, "<Location") && value)
     {
      /*
-      * "BrowseOrder Deny,Allow" or "BrowseOrder Allow,Deny"...
+      * <Location path>
       */
 
-      if ((location = cupsdFindLocation("CUPS_INTERNAL_BROWSE_ACL")) == NULL)
-        if ((location = cupsdNewLocation("CUPS_INTERNAL_BROWSE_ACL")) != NULL)
-         cupsdAddLocation(location);
-
-      if (location == NULL)
-        cupsdLogMessage(CUPSD_LOG_ERROR,
-                       "Unable to initialize browse access control list.");
-      else if (!_cups_strncasecmp(value, "deny", 4))
-        location->order_type = CUPSD_AUTH_ALLOW;
-      else if (!_cups_strncasecmp(value, "allow", 5))
-        location->order_type = CUPSD_AUTH_DENY;
-      else
-        cupsdLogMessage(CUPSD_LOG_ERROR,
-                       "Unknown BrowseOrder value %s on line %d.",
-                       value, linenum);
+      linenum = read_location(fp, value, linenum);
+      if (linenum == 0)
+       return (0);
     }
-    else if (!_cups_strcasecmp(line, "BrowseProtocols") ||
-             !_cups_strcasecmp(line, "BrowseLocalProtocols") ||
-             !_cups_strcasecmp(line, "BrowseRemoteProtocols"))
+    else if (!_cups_strcasecmp(line, "<Policy") && value)
     {
      /*
-      * "BrowseProtocols name [... name]"
-      * "BrowseLocalProtocols name [... name]"
-      * "BrowseRemoteProtocols name [... name]"
+      * <Policy name>
       */
 
-      int protocols = parse_protocols(value);
-
-      if (protocols < 0)
-      {
-       cupsdLogMessage(CUPSD_LOG_ERROR,
-                       "Unknown browse protocol \"%s\" on line %d.",
-                       value, linenum);
-        break;
-      }
-
-      if (_cups_strcasecmp(line, "BrowseLocalProtocols"))
-        BrowseRemoteProtocols = protocols;
-      if (_cups_strcasecmp(line, "BrowseRemoteProtocols"))
-        BrowseLocalProtocols = protocols;
+      linenum = read_policy(fp, value, linenum);
+      if (linenum == 0)
+       return (0);
     }
-    else if ((!_cups_strcasecmp(line, "BrowseAllow") ||
-              !_cups_strcasecmp(line, "BrowseDeny")) && value)
+    else if (!_cups_strcasecmp(line, "FaxRetryInterval") && value)
+    {
+      JobRetryInterval = atoi(value);
+      cupsdLogMessage(CUPSD_LOG_WARN,
+                     "FaxRetryInterval is deprecated; use "
+                     "JobRetryInterval on line %d.", linenum);
+    }
+    else if (!_cups_strcasecmp(line, "FaxRetryLimit") && value)
+    {
+      JobRetryLimit = atoi(value);
+      cupsdLogMessage(CUPSD_LOG_WARN,
+                     "FaxRetryLimit is deprecated; use "
+                     "JobRetryLimit on line %d.", linenum);
+    }
+    else if ((!_cups_strcasecmp(line, "Port") || !_cups_strcasecmp(line, "Listen")
+#ifdef HAVE_SSL
+             || !_cups_strcasecmp(line, "SSLPort") || !_cups_strcasecmp(line, "SSLListen")
+#endif /* HAVE_SSL */
+            ) && value)
     {
      /*
-      * BrowseAllow [From] host/ip...
-      * BrowseDeny [From] host/ip...
+      * Add listening address(es) to the list...
       */
 
-      if ((location = cupsdFindLocation("CUPS_INTERNAL_BROWSE_ACL")) == NULL)
-        if ((location = cupsdNewLocation("CUPS_INTERNAL_BROWSE_ACL")) != NULL)
-         cupsdAddLocation(location);
-
-
-      if (location == NULL)
-        cupsdLogMessage(CUPSD_LOG_ERROR,
-                       "Unable to initialize browse access control list.");
-      else
-      {
-       if (!_cups_strncasecmp(value, "from", 4))
-       {
-        /*
-         * Skip leading "from"...
-         */
-
-         value += 4;
-       }
-
-       while (*value)
-       {
-        /*
-         * Skip leading whitespace...
-         */
-
-         while (_cups_isspace(*value))
-           value ++;
-
-         if (!*value)
-           break;
-
-        /*
-         * Find the end of the value...
-         */
-
-         for (valueptr = value;
-              *valueptr && !_cups_isspace(*valueptr);
-              valueptr ++);
-
-         while (_cups_isspace(*valueptr))
-           *valueptr++ = '\0';
-
-        /*
-         * Figure out what form the allow/deny address takes:
-         *
-         *    All
-         *    None
-         *    *.domain.com
-         *    .domain.com
-         *    host.domain.com
-         *    nnn.*
-         *    nnn.nnn.*
-         *    nnn.nnn.nnn.*
-         *    nnn.nnn.nnn.nnn
-         *    nnn.nnn.nnn.nnn/mm
-         *    nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm
-         */
-
-         if (!_cups_strcasecmp(value, "all"))
-         {
-          /*
-           * All hosts...
-           */
-
-           if (!_cups_strcasecmp(line, "BrowseAllow"))
-             cupsdAddIPMask(&(location->allow), zeros, zeros);
-           else
-             cupsdAddIPMask(&(location->deny), zeros, zeros);
-         }
-         else if (!_cups_strcasecmp(value, "none"))
-         {
-          /*
-           * No hosts...
-           */
-
-           if (!_cups_strcasecmp(line, "BrowseAllow"))
-             cupsdAddIPMask(&(location->allow), ones, zeros);
-           else
-             cupsdAddIPMask(&(location->deny), ones, zeros);
-         }
-#ifdef AF_INET6
-         else if (value[0] == '*' || value[0] == '.' ||
-                  (!isdigit(value[0] & 255) && value[0] != '['))
-#else
-         else if (value[0] == '*' || value[0] == '.' ||
-                  !isdigit(value[0] & 255))
-#endif /* AF_INET6 */
-         {
-          /*
-           * Host or domain name...
-           */
-
-           if (!_cups_strcasecmp(line, "BrowseAllow"))
-             cupsdAddNameMask(&(location->allow), value);
-           else
-             cupsdAddNameMask(&(location->deny), value);
-         }
-         else
-         {
-          /*
-           * One of many IP address forms...
-           */
-
-           if (!get_addr_and_mask(value, ip, mask))
-           {
-             cupsdLogMessage(CUPSD_LOG_ERROR, "Bad netmask value %s on line %d.",
-                             value, linenum);
-             break;
-           }
+      cupsd_listener_t *lis;           /* New listeners array */
 
-           if (!_cups_strcasecmp(line, "BrowseAllow"))
-             cupsdAddIPMask(&(location->allow), ip, mask);
-           else
-             cupsdAddIPMask(&(location->deny), ip, mask);
-         }
 
-        /*
-         * Advance to next value...
-         */
-
-         value = valueptr;
-       }
-      }
-    }
-    else if (!_cups_strcasecmp(line, "BrowseRelay") && value)
-    {
      /*
-      * BrowseRelay [from] source [to] destination
+      * Get the address list...
       */
 
-      if (NumRelays == 0)
-        relay = malloc(sizeof(cupsd_dirsvc_relay_t));
-      else
-        relay = realloc(Relays, (NumRelays + 1) * sizeof(cupsd_dirsvc_relay_t));
+      addrlist = get_address(value, IPP_PORT);
 
-      if (!relay)
+      if (!addrlist)
       {
-        cupsdLogMessage(CUPSD_LOG_ERROR,
-                       "Unable to allocate BrowseRelay at line %d - %s.",
-                       linenum, strerror(errno));
+        cupsdLogMessage(CUPSD_LOG_ERROR, "Bad %s address %s at line %d.", line,
+                       value, linenum);
         continue;
       }
 
-      Relays = relay;
-      relay  += NumRelays;
-
-      memset(relay, 0, sizeof(cupsd_dirsvc_relay_t));
-
-      if (!_cups_strncasecmp(value, "from ", 5))
-      {
-       /*
-       * Skip leading "from"...
-       */
-
-       value += 5;
-
-       /*
-        * Skip leading whitespace...
-       */
-
-       while (_cups_isspace(*value))
-         value ++;
-      }
-
      /*
-      * Find the end of the from value...
-      */
-
-      for (valueptr = value;
-          *valueptr && !_cups_isspace(*valueptr);
-          valueptr ++);
-
-      while (_cups_isspace(*valueptr))
-       *valueptr++ = '\0';
-
-     /*
-      * Figure out what form the from address takes:
-      *
-      *    *.domain.com
-      *    .domain.com
-      *    host.domain.com
-      *    nnn.*
-      *    nnn.nnn.*
-      *    nnn.nnn.nnn.*
-      *    nnn.nnn.nnn.nnn
-      *    nnn.nnn.nnn.nnn/mm
-      *    nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm
+      * Add each address...
       */
 
-#ifdef AF_INET6
-      if (value[0] == '*' || value[0] == '.' ||
-          (!isdigit(value[0] & 255) && value[0] != '['))
-#else
-      if (value[0] == '*' || value[0] == '.' || !isdigit(value[0] & 255))
-#endif /* AF_INET6 */
-      {
-       /*
-        * Host or domain name...
-       */
-
-        if (!cupsdAddNameMask(&(relay->from), value))
-       {
-         cupsdLogMessage(CUPSD_LOG_ERROR,
-                         "Unable to allocate BrowseRelay name at line %d - %s.",
-                         linenum, strerror(errno));
-         continue;
-       }
-      }
-      else
+      for (addr = addrlist; addr; addr = addr->next)
       {
        /*
-        * One of many IP address forms...
+        * See if this address is already present...
        */
 
-        if (!get_addr_and_mask(value, ip, mask))
-       {
-          cupsdLogMessage(CUPSD_LOG_ERROR, "Bad netmask value %s on line %d.",
-                         value, linenum);
-         break;
-       }
+        for (lis = (cupsd_listener_t *)cupsArrayFirst(Listeners);
+            lis;
+            lis = (cupsd_listener_t *)cupsArrayNext(Listeners))
+          if (httpAddrEqual(&(addr->addr), &(lis->address)) &&
+             _httpAddrPort(&(addr->addr)) == _httpAddrPort(&(lis->address)))
+           break;
 
-        if (!cupsdAddIPMask(&(relay->from), ip, mask))
+        if (lis)
        {
-         cupsdLogMessage(CUPSD_LOG_ERROR,
-                         "Unable to allocate BrowseRelay IP at line %d - %s.",
-                         linenum, strerror(errno));
-         continue;
+         httpAddrString(&lis->address, temp, sizeof(temp));
+         cupsdLogMessage(CUPSD_LOG_WARN,
+                         "Duplicate listen address \"%s\" ignored.", temp);
+          continue;
        }
-      }
 
-     /*
-      * Get "to" address and port...
-      */
-
-      if (!_cups_strncasecmp(valueptr, "to ", 3))
-      {
        /*
-        * Strip leading "to"...
+        * Allocate another listener...
        */
 
-       valueptr += 3;
-
-       while (_cups_isspace(*valueptr))
-         valueptr ++;
-      }
-
-      if ((addrlist = get_address(valueptr, BrowsePort)) != NULL)
-      {
-       /*
-        * Only IPv4 addresses are supported...
-        */
-
-       for (addr = addrlist; addr; addr = addr->next)
-         if (addr->addr.addr.sa_family == AF_INET)
-           break;
+        if (!Listeners)
+         Listeners = cupsArrayNew(NULL, NULL);
 
-       if (addr)
+       if (!Listeners)
        {
-         memcpy(&(relay->to), &(addrlist->addr), sizeof(relay->to));
-
-         httpAddrString(&(relay->to), temp, sizeof(temp));
-
-         cupsdLogMessage(CUPSD_LOG_INFO, "Relaying from %s to %s:%d (IPv4)",
-                         value, temp, _httpAddrPort(&(relay->to)));
-
-         NumRelays ++;
+          cupsdLogMessage(CUPSD_LOG_ERROR,
+                         "Unable to allocate %s at line %d - %s.",
+                         line, linenum, strerror(errno));
+          break;
        }
-       else
-       {
-         cupsArrayDelete(relay->from);
-         relay->from = NULL;
 
-         cupsdLogMessage(CUPSD_LOG_ERROR, "Bad relay address %s at line %d.",
-                         valueptr, linenum);
+        if ((lis = calloc(1, sizeof(cupsd_listener_t))) == NULL)
+       {
+          cupsdLogMessage(CUPSD_LOG_ERROR,
+                         "Unable to allocate %s at line %d - %s.",
+                         line, linenum, strerror(errno));
+          break;
        }
 
-       httpAddrFreeList(addrlist);
-      }
-      else
-      {
-       cupsArrayDelete(relay->from);
-       relay->from = NULL;
-
-        cupsdLogMessage(CUPSD_LOG_ERROR, "Bad relay address %s at line %d.",
-                       valueptr, linenum);
-      }
-    }
-    else if (!_cups_strcasecmp(line, "BrowsePoll") && value)
-    {
-     /*
-      * BrowsePoll address[:port]
-      */
+        cupsArrayAdd(Listeners, lis);
 
-      char             *portname;      /* Port name */
-      int              portnum;        /* Port number */
-      struct servent   *service;       /* Service */
+       /*
+        * Copy the current address and log it...
+       */
 
+       memcpy(&(lis->address), &(addr->addr), sizeof(lis->address));
+       lis->fd = -1;
 
-     /*
-      * Extract the port name from the address...
-      */
+#ifdef HAVE_SSL
+        if (!_cups_strcasecmp(line, "SSLPort") || !_cups_strcasecmp(line, "SSLListen"))
+          lis->encryption = HTTP_ENCRYPT_ALWAYS;
+#endif /* HAVE_SSL */
 
-      if ((portname = strrchr(value, ':')) != NULL && !strchr(portname, ']'))
-      {
-        *portname++ = '\0';
+       httpAddrString(&lis->address, temp, sizeof(temp));
 
-        if (isdigit(*portname & 255))
-         portnum = atoi(portname);
-       else if ((service = getservbyname(portname, NULL)) != NULL)
-         portnum = ntohs(service->s_port);
+#ifdef AF_LOCAL
+        if (lis->address.addr.sa_family == AF_LOCAL)
+          cupsdLogMessage(CUPSD_LOG_INFO, "Listening to %s (Domain)", temp);
        else
-       {
-         cupsdLogMessage(CUPSD_LOG_ERROR, "Lookup of service \"%s\" failed.",
-                         portname);
-          continue;
-       }
+#endif /* AF_LOCAL */
+       cupsdLogMessage(CUPSD_LOG_INFO, "Listening to %s:%d (IPv%d)", temp,
+                        _httpAddrPort(&(lis->address)),
+                       _httpAddrFamily(&(lis->address)) == AF_INET ? 4 : 6);
+
+        if (!httpAddrLocalhost(&(lis->address)))
+         RemotePort = _httpAddrPort(&(lis->address));
       }
-      else
-        portnum = ippPort();
 
      /*
-      * Add the poll entry...
+      * Free the list...
       */
 
-      if (NumPolled == 0)
-        pollp = malloc(sizeof(cupsd_dirsvc_poll_t));
-      else
-        pollp = realloc(Polled, (NumPolled + 1) * sizeof(cupsd_dirsvc_poll_t));
+      httpAddrFreeList(addrlist);
+    }
+    else if (!_cups_strcasecmp(line, "BrowseProtocols") ||
+             !_cups_strcasecmp(line, "BrowseLocalProtocols"))
+    {
+     /*
+      * "BrowseProtocols name [... name]"
+      * "BrowseLocalProtocols name [... name]"
+      */
+
+      int protocols = parse_protocols(value);
 
-      if (!pollp)
+      if (protocols < 0)
       {
-        cupsdLogMessage(CUPSD_LOG_ERROR,
-                       "Unable to allocate BrowsePoll at line %d - %s.",
-                       linenum, strerror(errno));
-        continue;
+       cupsdLogMessage(CUPSD_LOG_ERROR,
+                       "Unknown browse protocol \"%s\" on line %d.",
+                       value, linenum);
+        break;
       }
 
-      Polled = pollp;
-      pollp   += NumPolled;
-
-      NumPolled ++;
-      memset(pollp, 0, sizeof(cupsd_dirsvc_poll_t));
-
-      strlcpy(pollp->hostname, value, sizeof(pollp->hostname));
-      pollp->port = portnum;
-
-      cupsdLogMessage(CUPSD_LOG_INFO, "Polling %s:%d", pollp->hostname,
-                     pollp->port);
+      BrowseLocalProtocols = protocols;
     }
     else if (!_cups_strcasecmp(line, "DefaultAuthType") && value)
     {
@@ -3203,17 +3075,19 @@ read_configuration(cups_file_t *fp)     /* I - File to read from */
       */
 
       if (!_cups_strcasecmp(value, "none"))
-       DefaultAuthType = CUPSD_AUTH_NONE;
+       default_auth_type = CUPSD_AUTH_NONE;
       else if (!_cups_strcasecmp(value, "basic"))
-       DefaultAuthType = CUPSD_AUTH_BASIC;
+       default_auth_type = CUPSD_AUTH_BASIC;
       else if (!_cups_strcasecmp(value, "digest"))
-       DefaultAuthType = CUPSD_AUTH_DIGEST;
+       default_auth_type = CUPSD_AUTH_DIGEST;
       else if (!_cups_strcasecmp(value, "basicdigest"))
-       DefaultAuthType = CUPSD_AUTH_BASICDIGEST;
+       default_auth_type = CUPSD_AUTH_BASICDIGEST;
 #ifdef HAVE_GSSAPI
       else if (!_cups_strcasecmp(value, "negotiate"))
-        DefaultAuthType = CUPSD_AUTH_NEGOTIATE;
+        default_auth_type = CUPSD_AUTH_NEGOTIATE;
 #endif /* HAVE_GSSAPI */
+      else if (!_cups_strcasecmp(value, "auto"))
+        default_auth_type = CUPSD_AUTH_AUTO;
       else
       {
        cupsdLogMessage(CUPSD_LOG_WARN,
@@ -3246,81 +3120,6 @@ read_configuration(cups_file_t *fp)      /* I - File to read from */
       }
     }
 #endif /* HAVE_SSL */
-    else if (!_cups_strcasecmp(line, "User") && value)
-    {
-     /*
-      * User ID to run as...
-      */
-
-      if (isdigit(value[0] & 255))
-      {
-        int uid = atoi(value);
-
-       if (!uid)
-         cupsdLogMessage(CUPSD_LOG_ERROR,
-                         "Will not use User 0 as specified on line %d "
-                         "for security reasons.  You must use a non-"
-                         "privileged account instead.",
-                         linenum);
-        else
-         User = atoi(value);
-      }
-      else
-      {
-        struct passwd *p;      /* Password information */
-
-        endpwent();
-       p = getpwnam(value);
-
-       if (p)
-       {
-         if (!p->pw_uid)
-           cupsdLogMessage(CUPSD_LOG_ERROR,
-                           "Will not use User %s (UID=0) as specified on line "
-                           "%d for security reasons.  You must use a non-"
-                           "privileged account instead.",
-                           value, linenum);
-         else
-           User = p->pw_uid;
-       }
-       else
-         cupsdLogMessage(CUPSD_LOG_ERROR,
-                         "Unknown User \"%s\" on line %d, ignoring.",
-                         value, linenum);
-      }
-    }
-    else if (!_cups_strcasecmp(line, "Group") && value)
-    {
-     /*
-      * Group ID to run as...
-      */
-
-      if (isdigit(value[0]))
-        Group = atoi(value);
-      else
-      {
-        endgrent();
-       group = getgrnam(value);
-
-       if (group != NULL)
-         Group = group->gr_gid;
-       else
-         cupsdLogMessage(CUPSD_LOG_ERROR,
-                         "Unknown Group \"%s\" on line %d, ignoring.",
-                         value, linenum);
-      }
-    }
-    else if (!_cups_strcasecmp(line, "SystemGroup") && value)
-    {
-     /*
-      * SystemGroup (admin) group(s)...
-      */
-
-      if (!parse_groups(value))
-       cupsdLogMessage(CUPSD_LOG_ERROR,
-                       "Unknown SystemGroup \"%s\" on line %d, ignoring.",
-                       value, linenum);
-    }
     else if (!_cups_strcasecmp(line, "HostNameLookups") && value)
     {
      /*
@@ -3399,22 +3198,6 @@ read_configuration(cups_file_t *fp)      /* I - File to read from */
         cupsdLogMessage(CUPSD_LOG_WARN, "Unknown LogTimeFormat %s on line %d.",
                        value, linenum);
     }
-    else if (!_cups_strcasecmp(line, "PrintcapFormat") && value)
-    {
-     /*
-      * Format of printcap file?
-      */
-
-      if (!_cups_strcasecmp(value, "bsd"))
-        PrintcapFormat = PRINTCAP_BSD;
-      else if (!_cups_strcasecmp(value, "plist"))
-        PrintcapFormat = PRINTCAP_PLIST;
-      else if (!_cups_strcasecmp(value, "solaris"))
-        PrintcapFormat = PRINTCAP_SOLARIS;
-      else
-       cupsdLogMessage(CUPSD_LOG_WARN, "Unknown PrintcapFormat %s on line %d.",
-                       value, linenum);
-    }
     else if (!_cups_strcasecmp(line, "ServerTokens") && value)
     {
      /*
@@ -3427,19 +3210,20 @@ read_configuration(cups_file_t *fp)     /* I - File to read from */
       uname(&plat);
 
       if (!_cups_strcasecmp(value, "ProductOnly"))
-       cupsdSetString(&ServerHeader, "CUPS");
+       cupsdSetString(&ServerHeader, "CUPS IPP");
       else if (!_cups_strcasecmp(value, "Major"))
-       cupsdSetStringf(&ServerHeader, "CUPS/%d", CUPS_VERSION_MAJOR);
+       cupsdSetStringf(&ServerHeader, "CUPS/%d IPP/2", CUPS_VERSION_MAJOR);
       else if (!_cups_strcasecmp(value, "Minor"))
-       cupsdSetStringf(&ServerHeader, "CUPS/%d.%d", CUPS_VERSION_MAJOR,
+       cupsdSetStringf(&ServerHeader, "CUPS/%d.%d IPP/2.1", CUPS_VERSION_MAJOR,
                        CUPS_VERSION_MINOR);
       else if (!_cups_strcasecmp(value, "Minimal"))
-       cupsdSetString(&ServerHeader, CUPS_MINIMAL);
+       cupsdSetString(&ServerHeader, CUPS_MINIMAL " IPP/2.1");
       else if (!_cups_strcasecmp(value, "OS"))
-       cupsdSetStringf(&ServerHeader, CUPS_MINIMAL " (%s)", plat.sysname);
+       cupsdSetStringf(&ServerHeader, CUPS_MINIMAL " (%s %s) IPP/2.1",
+                       plat.sysname, plat.release);
       else if (!_cups_strcasecmp(value, "Full"))
-       cupsdSetStringf(&ServerHeader, CUPS_MINIMAL " (%s) IPP/2.1",
-                       plat.sysname);
+       cupsdSetStringf(&ServerHeader, CUPS_MINIMAL " (%s %s; %s) IPP/2.1",
+                       plat.sysname, plat.release, plat.machine);
       else if (!_cups_strcasecmp(value, "None"))
        cupsdClearString(&ServerHeader);
       else
@@ -3540,117 +3324,193 @@ read_configuration(cups_file_t *fp)   /* I - File to read from */
                        "line %d.", value, linenum);
     }
 #endif /* HAVE_SSL */
+    else if (!_cups_strcasecmp(line, "AccessLog") ||
+             !_cups_strcasecmp(line, "CacheDir") ||
+             !_cups_strcasecmp(line, "ConfigFilePerm") ||
+             !_cups_strcasecmp(line, "DataDir") ||
+             !_cups_strcasecmp(line, "DocumentRoot") ||
+             !_cups_strcasecmp(line, "ErrorLog") ||
+             !_cups_strcasecmp(line, "FatalErrors") ||
+             !_cups_strcasecmp(line, "FileDevice") ||
+             !_cups_strcasecmp(line, "FontPath") ||
+             !_cups_strcasecmp(line, "Group") ||
+             !_cups_strcasecmp(line, "LogFilePerm") ||
+             !_cups_strcasecmp(line, "LPDConfigFile") ||
+             !_cups_strcasecmp(line, "PageLog") ||
+             !_cups_strcasecmp(line, "Printcap") ||
+             !_cups_strcasecmp(line, "PrintcapFormat") ||
+             !_cups_strcasecmp(line, "RemoteRoot") ||
+             !_cups_strcasecmp(line, "RequestRoot") ||
+             !_cups_strcasecmp(line, "ServerBin") ||
+             !_cups_strcasecmp(line, "ServerCertificate") ||
+             !_cups_strcasecmp(line, "ServerKey") ||
+             !_cups_strcasecmp(line, "ServerRoot") ||
+             !_cups_strcasecmp(line, "SMBConfigFile") ||
+             !_cups_strcasecmp(line, "StateDir") ||
+             !_cups_strcasecmp(line, "SystemGroup") ||
+             !_cups_strcasecmp(line, "SystemGroupAuthKey") ||
+             !_cups_strcasecmp(line, "TempDir") ||
+            !_cups_strcasecmp(line, "User"))
+    {
+      cupsdLogMessage(CUPSD_LOG_INFO,
+                     "Please move \"%s%s%s\" on line %d of %s to the %s file; "
+                     "this will become an error in a future release.",
+                     line, value ? " " : "", value ? value : "", linenum,
+                     ConfigurationFile, CupsFilesFile);
+    }
     else
+      parse_variable(ConfigurationFile, linenum, line, value,
+                     sizeof(cupsd_vars) / sizeof(cupsd_vars[0]), cupsd_vars);
+  }
+
+  return (1);
+}
+
+
+/*
+ * 'read_cups_files_conf()' - Read the cups-files.conf configuration file.
+ */
+
+static int                             /* O - 1 on success, 0 on failure */
+read_cups_files_conf(cups_file_t *fp)  /* I - File to read from */
+{
+  int          linenum;                /* Current line number */
+  char         line[HTTP_MAX_BUFFER],  /* Line from file */
+               *value;                 /* Value from line */
+  struct group *group;                 /* Group */
+
+
+ /*
+  * Loop through each line in the file...
+  */
+
+  linenum = 0;
+
+  while (cupsFileGetConf(fp, line, sizeof(line), &value, &linenum))
+  {
+    if (!_cups_strcasecmp(line, "FatalErrors"))
+      FatalErrors = parse_fatal_errors(value);
+    else if (!_cups_strcasecmp(line, "Group") && value)
     {
      /*
-      * Find a simple variable in the list...
+      * Group ID to run as...
       */
 
-      for (i = NUM_VARS, var = variables; i > 0; i --, var ++)
-        if (!_cups_strcasecmp(line, var->name))
-         break;
-
-      if (i == 0)
+      if (isdigit(value[0]))
+        Group = atoi(value);
+      else
       {
-       /*
-        * Unknown directive!  Output an error message and continue...
-       */
+        endgrent();
+       group = getgrnam(value);
 
-        if (!value)
-         cupsdLogMessage(CUPSD_LOG_ERROR, "Missing value for %s on line %d.",
-                         line, linenum);
+       if (group != NULL)
+         Group = group->gr_gid;
        else
-         cupsdLogMessage(CUPSD_LOG_ERROR, "Unknown directive %s on line %d.",
-                         line, linenum);
-        continue;
+       {
+         cupsdLogMessage(CUPSD_LOG_ERROR,
+                         "Unknown Group \"%s\" on line %d of %s.", value,
+                         linenum, CupsFilesFile);
+         if (FatalErrors & CUPSD_FATAL_CONFIG)
+           return (0);
+       }
       }
+    }
+    else if (!_cups_strcasecmp(line, "PrintcapFormat") && value)
+    {
+     /*
+      * Format of printcap file?
+      */
 
-      switch (var->type)
+      if (!_cups_strcasecmp(value, "bsd"))
+        PrintcapFormat = PRINTCAP_BSD;
+      else if (!_cups_strcasecmp(value, "plist"))
+        PrintcapFormat = PRINTCAP_PLIST;
+      else if (!_cups_strcasecmp(value, "solaris"))
+        PrintcapFormat = PRINTCAP_SOLARIS;
+      else
       {
-        case CUPSD_VARTYPE_INTEGER :
-           if (!value)
-             cupsdLogMessage(CUPSD_LOG_ERROR,
-                             "Missing integer value for %s on line %d.",
-                             line, linenum);
-           else
-           {
-             int       n;              /* Number */
-             char      *units;         /* Units */
-
-
-              n = strtol(value, &units, 0);
-
-             if (units && *units)
-             {
-               if (tolower(units[0] & 255) == 'g')
-                 n *= 1024 * 1024 * 1024;
-               else if (tolower(units[0] & 255) == 'm')
-                 n *= 1024 * 1024;
-               else if (tolower(units[0] & 255) == 'k')
-                 n *= 1024;
-               else if (tolower(units[0] & 255) == 't')
-                 n *= 262144;
-             }
-
-              if (n < 0)
-               cupsdLogMessage(CUPSD_LOG_ERROR,
-                               "Bad negative integer value for %s on line %d.",
-                               line, linenum);
-             else
-               *((int *)var->ptr) = n;
-           }
-           break;
+       cupsdLogMessage(CUPSD_LOG_ERROR,
+                       "Unknown PrintcapFormat \"%s\" on line %d of %s.",
+                       value, linenum, CupsFilesFile);
+        if (FatalErrors & CUPSD_FATAL_CONFIG)
+          return (0);
+      }
+    }
+    else if (!_cups_strcasecmp(line, "SystemGroup") && value)
+    {
+     /*
+      * SystemGroup (admin) group(s)...
+      */
 
-       case CUPSD_VARTYPE_BOOLEAN :
-           if (!value)
-             cupsdLogMessage(CUPSD_LOG_ERROR,
-                             "Missing boolean value for %s on line %d.",
-                             line, linenum);
-            else if (!_cups_strcasecmp(value, "true") ||
-                    !_cups_strcasecmp(value, "on") ||
-                    !_cups_strcasecmp(value, "enabled") ||
-                    !_cups_strcasecmp(value, "yes") ||
-                    atoi(value) != 0)
-              *((int *)var->ptr) = TRUE;
-           else if (!_cups_strcasecmp(value, "false") ||
-                    !_cups_strcasecmp(value, "off") ||
-                    !_cups_strcasecmp(value, "disabled") ||
-                    !_cups_strcasecmp(value, "no") ||
-                    !_cups_strcasecmp(value, "0"))
-              *((int *)var->ptr) = FALSE;
-           else
-              cupsdLogMessage(CUPSD_LOG_ERROR,
-                             "Unknown boolean value %s on line %d.",
-                             value, linenum);
-           break;
+      if (!parse_groups(value))
+      {
+       cupsdLogMessage(CUPSD_LOG_ERROR,
+                       "Unknown SystemGroup \"%s\" on line %d of %s.", value,
+                       linenum, CupsFilesFile);
+        if (FatalErrors & CUPSD_FATAL_CONFIG)
+          return (0);
+      }
+    }
+    else if (!_cups_strcasecmp(line, "User") && value)
+    {
+     /*
+      * User ID to run as...
+      */
 
-       case CUPSD_VARTYPE_PATHNAME :
-            if (!value)
-           {
-             cupsdLogMessage(CUPSD_LOG_ERROR,
-                             "Missing pathname value for %s on line %d.",
-                             line, linenum);
-              break;
-           }
+      if (isdigit(value[0] & 255))
+      {
+        int uid = atoi(value);
 
-           if (value[0] == '/')
-             strlcpy(temp, value, sizeof(temp));
-           else
-             snprintf(temp, sizeof(temp), "%s/%s", ServerRoot, value);
+       if (!uid)
+       {
+         cupsdLogMessage(CUPSD_LOG_ERROR,
+                         "Will not use User 0 as specified on line %d of %s "
+                         "for security reasons.  You must use a non-"
+                         "privileged account instead.",
+                         linenum, CupsFilesFile);
+          if (FatalErrors & CUPSD_FATAL_CONFIG)
+            return (0);
+        }
+        else
+         User = atoi(value);
+      }
+      else
+      {
+        struct passwd *p;      /* Password information */
 
-            if (access(temp, 0))
-           {
-             cupsdLogMessage(CUPSD_LOG_ERROR,
-                             "File or directory for \"%s %s\" on line %d "
-                             "does not exist.", line, value, linenum);
-              break;
-           }
+        endpwent();
+       p = getpwnam(value);
 
-       case CUPSD_VARTYPE_STRING :
-           cupsdSetString((char **)var->ptr, value);
-           break;
+       if (p)
+       {
+         if (!p->pw_uid)
+         {
+           cupsdLogMessage(CUPSD_LOG_ERROR,
+                           "Will not use User %s (UID=0) as specified on line "
+                           "%d of %s for security reasons.  You must use a "
+                           "non-privileged account instead.",
+                           value, linenum, CupsFilesFile);
+           if (FatalErrors & CUPSD_FATAL_CONFIG)
+             return (0);
+         }
+         else
+           User = p->pw_uid;
+       }
+       else
+       {
+         cupsdLogMessage(CUPSD_LOG_ERROR,
+                         "Unknown User \"%s\" on line %d of %s.",
+                         value, linenum, CupsFilesFile);
+          if (FatalErrors & CUPSD_FATAL_CONFIG)
+            return (0);
+        }
       }
     }
+    else if (!parse_variable(CupsFilesFile, linenum, line, value,
+                            sizeof(cupsfiles_vars) / sizeof(cupsfiles_vars[0]),
+                            cupsfiles_vars) &&
+            (FatalErrors & CUPSD_FATAL_CONFIG))
+      return (0);
   }
 
   return (1);
@@ -3970,6 +3830,7 @@ read_policy(cups_file_t *fp,              /* I - Configuration file */
              cupsdAddString(&(pol->job_attrs), "job-name");
              cupsdAddString(&(pol->job_attrs), "job-originating-host-name");
              cupsdAddString(&(pol->job_attrs), "job-originating-user-name");
+             cupsdAddString(&(pol->job_attrs), "phone");
            }
            else
              cupsdAddString(&(pol->job_attrs), value);
@@ -4194,6 +4055,7 @@ set_policy_defaults(cupsd_policy_t *pol)/* I - Policy */
     cupsdAddString(&(pol->job_attrs), "job-name");
     cupsdAddString(&(pol->job_attrs), "job-originating-host-name");
     cupsdAddString(&(pol->job_attrs), "job-originating-user-name");
+    cupsdAddString(&(pol->job_attrs), "phone");
   }
 
   if (!pol->sub_access)
@@ -4220,5 +4082,5 @@ set_policy_defaults(cupsd_policy_t *pol)/* I - Policy */
 
 
 /*
- * End of "$Id: conf.c 10121 2011-11-16 15:28:11Z mike $".
+ * End of "$Id: conf.c 11221 2013-08-06 16:16:01Z msweet $".
  */
index 0c05ced..8bf0749 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: conf.h 9710 2011-04-22 17:47:03Z mike $"
+ * "$Id: conf.h 11221 2013-08-06 16:16:01Z msweet $"
  *
  *   Configuration file definitions for the CUPS scheduler.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2013 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -69,7 +69,7 @@ typedef enum
 
 #define PRINTCAP_BSD           0       /* Berkeley LPD format */
 #define PRINTCAP_SOLARIS       1       /* Solaris lpsched format */
-#define PRINTCAP_PLIST         2       /* Mac OS X plist format */
+#define PRINTCAP_PLIST         2       /* OS X plist format */
 
 
 /*
@@ -96,7 +96,9 @@ typedef struct
  */
 
 VAR char               *ConfigurationFile      VALUE(NULL),
-                                       /* Configuration file to use */
+                                       /* cupsd.conf file to use */
+                       *CupsFilesFile          VALUE(NULL),
+                                       /* cups-files.conf file to use */
                        *ServerName             VALUE(NULL),
                                        /* FQDN for server */
                        *ServerAdmin            VALUE(NULL),
@@ -169,6 +171,10 @@ VAR int                    ClassifyOverride        VALUE(0),
                                        /* Amount of automatic debug history */
                        FatalErrors             VALUE(CUPSD_FATAL_CONFIG),
                                        /* Which errors are fatal? */
+                       StrictConformance       VALUE(FALSE),
+                                       /* Require strict IPP conformance? */
+                       SyncOnClose             VALUE(FALSE),
+                                       /* Call fsync() when closing files? */
                        LogFilePerm             VALUE(0644);
                                        /* Permissions for log files */
 VAR cupsd_loglevel_t   LogLevel                VALUE(CUPSD_LOG_WARN);
@@ -193,12 +199,6 @@ VAR int                    MaxClients              VALUE(100),
                                        /* Support the Keep-Alive option? */
                        KeepAliveTimeout        VALUE(DEFAULT_KEEPALIVE),
                                        /* Timeout between requests */
-                       ImplicitClasses         VALUE(TRUE),
-                                       /* Are classes implicitly created? */
-                       ImplicitAnyClasses      VALUE(FALSE),
-                                       /* Create AnyPrinter classes? */
-                       HideImplicitMembers     VALUE(TRUE),
-                                       /* Hide implicit class members? */
                        FileDevice              VALUE(FALSE),
                                        /* Allow file: devices? */
                        FilterLimit             VALUE(0),
@@ -248,7 +248,7 @@ VAR int                     SSLOptions              VALUE(CUPSD_SSL_NONE);
 #endif /* HAVE_SSL */
 
 #ifdef HAVE_LAUNCHD
-VAR int                        LaunchdTimeout          VALUE(DEFAULT_KEEPALIVE);
+VAR int                        LaunchdTimeout          VALUE(10);
                                        /* Time after which an idle cupsd will exit */
 #endif /* HAVE_LAUNCHD */
 
@@ -257,6 +257,14 @@ VAR char           *SystemGroupAuthKey     VALUE(NULL);
                                        /* System group auth key */
 #endif /* HAVE_AUTHORIZATION_H */
 
+#ifdef HAVE_GSSAPI
+VAR char               *GSSServiceName         VALUE(NULL);
+                                       /* GSS service name */
+int                    HaveServerCreds         VALUE(0);
+                                       /* Do we have server credentials? */
+gss_cred_id_t          ServerCreds;    /* Server's GSS credentials */
+#endif /* HAVE_GSSAPI */
+
 
 /*
  * Prototypes...
@@ -269,6 +277,7 @@ extern int  cupsdCheckPermissions(const char *filename,
                                      int user, int group, int is_dir,
                                      int create_dir);
 extern int     cupsdCheckProgram(const char *filename, cupsd_printer_t *p);
+extern int     cupsdDefaultAuthType(void);
 extern void    cupsdFreeAliases(cups_array_t *aliases);
 extern char    *cupsdGetDateTime(struct timeval *t, cupsd_time_t format);
 extern void    cupsdLogFCMessage(void *context, _cups_fc_result_t result,
@@ -278,16 +287,10 @@ extern int        cupsdLogGSSMessage(int level, int major_status,
                                   int minor_status,
                                   const char *message, ...);
 #endif /* HAVE_GSSAPI */
-extern int     cupsdLogJob(cupsd_job_t *job, int level, const char *message, ...)
-#ifdef __GNUC__
-__attribute__ ((__format__ (__printf__, 3, 4)))
-#endif /* __GNUC__ */
-;
+extern int     cupsdLogJob(cupsd_job_t *job, int level, const char *message,
+                           ...) __attribute__((__format__(__printf__, 3, 4)));
 extern int     cupsdLogMessage(int level, const char *message, ...)
-#ifdef __GNUC__
-__attribute__ ((__format__ (__printf__, 2, 3)))
-#endif /* __GNUC__ */
-;
+               __attribute__ ((__format__ (__printf__, 2, 3)));
 extern int     cupsdLogPage(cupsd_job_t *job, const char *page);
 extern int     cupsdLogRequest(cupsd_client_t *con, http_status_t code);
 extern int     cupsdReadConfiguration(void);
@@ -295,5 +298,5 @@ extern int  cupsdWriteErrorLog(int level, const char *message);
 
 
 /*
- * End of "$Id: conf.h 9710 2011-04-22 17:47:03Z mike $".
+ * End of "$Id: conf.h 11221 2013-08-06 16:16:01Z msweet $".
  */
index aa06ed3..7a5929f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: cups-deviced.c 9793 2011-05-20 03:49:49Z mike $"
+ * "$Id: cups-deviced.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Device scanning mini-daemon for CUPS.
  *
@@ -806,5 +806,5 @@ start_backend(const char *name,             /* I - Backend to run */
 
 
 /*
- * End of "$Id: cups-deviced.c 9793 2011-05-20 03:49:49Z mike $".
+ * End of "$Id: cups-deviced.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 8500031..4a3d34f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: cups-driverd.cxx 10276 2012-02-13 22:48:22Z mike $"
+ * "$Id: cups-driverd.cxx 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   PPD/driver support for CUPS.
  *
  *
  * Contents:
  *
- *   main()            - Scan for drivers and return an IPP response.
- *   add_ppd()         - Add a PPD file.
- *   cat_drv()         - Generate a PPD from a driver info file.
- *   cat_ppd()         - Copy a PPD file to stdout.
+ *   main()        - Scan for drivers and return an IPP response.
+ *   add_ppd()        - Add a PPD file.
+ *   cat_drv()        - Generate a PPD from a driver info file.
+ *   cat_ppd()        - Copy a PPD file to stdout.
  *   copy_static()     - Copy a static PPD file to stdout.
+ *   cat_tar()        - Copy an archived PPD file to stdout.
  *   compare_inodes()  - Compare two inodes.
  *   compare_matches() - Compare PPD match scores for sorting.
  *   compare_names()   - Compare PPD filenames for sorting.
  *   compare_ppds()    - Compare PPD file make and model names for sorting.
  *   dump_ppds_dat()   - Dump the contents of the ppds.dat file.
  *   free_array()      - Free an array of strings.
+ *   get_file()        - Get the filename associated with a request.
  *   list_ppds()       - List PPD files.
  *   load_drv()        - Load the PPDs from a driver information file.
  *   load_drivers()    - Load driver-generated PPD files.
+ *   load_ppd()        - Load a PPD file.
  *   load_ppds()       - Load PPD files recursively.
  *   load_ppds_dat()   - Load the ppds.dat file.
+ *   load_tar()        - Load archived PPD files.
+ *   read_tar()        - Read a file header from an archive.
  *   regex_device_id() - Compile a regular expression based on the 1284 device
- *                       ID.
+ *                      ID.
  *   regex_string()    - Construct a regular expression to compare a simple
- *                       string.
+ *                      string.
  */
 
 /*
 #define PPD_TYPE_FAX           3       /* Facsimile/MFD PPD */
 #define PPD_TYPE_UNKNOWN       4       /* Other/hybrid PPD */
 #define PPD_TYPE_DRV           5       /* Driver info file */
+#define PPD_TYPE_ARCHIVE       6       /* Archive file */
 
-static const char * const ppd_types[] =        /* ppd-type values */
-{
-  "postscript",
-  "pdf",
-  "raster",
-  "fax",
-  "unknown",
-  "drv"
-};
+#define TAR_BLOCK      512             /* Number of bytes in a block */
+#define TAR_BLOCKS     10              /* Blocking factor */
+
+#define TAR_MAGIC      "ustar"         /* 5 chars and a null */
+#define TAR_VERSION    "00"            /* POSIX tar version */
+
+#define TAR_OLDNORMAL  '\0'            /* Normal disk file, Unix compat */
+#define TAR_NORMAL     '0'             /* Normal disk file */
+#define TAR_LINK       '1'             /* Link to previously dumped file */
+#define TAR_SYMLINK    '2'             /* Symbolic link */
+#define TAR_CHR                '3'             /* Character special file */
+#define TAR_BLK                '4'             /* Block special file */
+#define TAR_DIR                '5'             /* Directory */
+#define TAR_FIFO       '6'             /* FIFO special file */
+#define TAR_CONTIG     '7'             /* Contiguous file */
 
 
 /*
@@ -110,15 +122,51 @@ typedef struct                            /**** In-memory record ****/
   ppd_rec_t    record;                 /* PPDs.dat record */
 } ppd_info_t;
 
+typedef union                          /**** TAR record format ****/
+{
+  unsigned char        all[TAR_BLOCK];         /* Raw data block */
+  struct
+  {
+    char       pathname[100],          /* Destination path */
+               mode[8],                /* Octal file permissions */
+               uid[8],                 /* Octal user ID */
+               gid[8],                 /* Octal group ID */
+               size[12],               /* Octal size in bytes */
+               mtime[12],              /* Octal modification time */
+               chksum[8],              /* Octal checksum value */
+               linkflag,               /* File type */
+               linkname[100],          /* Source path for link */
+               magic[6],               /* Magic string */
+               version[2],             /* Format version */
+               uname[32],              /* User name */
+               gname[32],              /* Group name */
+               devmajor[8],            /* Octal device major number */
+               devminor[8],            /* Octal device minor number */
+               prefix[155];            /* Prefix for long filenames */
+  }    header;
+} tar_rec_t;
+
 
 /*
  * Globals...
  */
 
-cups_array_t   *Inodes = NULL,         /* Inodes of directories we've visited */
-               *PPDsByName = NULL,     /* PPD files sorted by filename and name */
-               *PPDsByMakeModel = NULL;/* PPD files sorted by make and model */
-int            ChangedPPD;             /* Did we change the PPD database? */
+static cups_array_t    *Inodes = NULL, /* Inodes of directories we've visited */
+                       *PPDsByName = NULL,
+                                       /* PPD files sorted by filename and name */
+                       *PPDsByMakeModel = NULL;
+                                       /* PPD files sorted by make and model */
+static int             ChangedPPD;     /* Did we change the PPD database? */
+static const char * const PPDTypes[] = /* ppd-type values */
+                       {
+                         "postscript",
+                         "pdf",
+                         "raster",
+                         "fax",
+                         "unknown",
+                         "drv",
+                         "archive"
+                       };
 
 
 /*
@@ -135,6 +183,7 @@ static ppd_info_t   *add_ppd(const char *filename, const char *name,
 static int             cat_drv(const char *name, int request_id);
 static int             cat_ppd(const char *name, int request_id);
 static int             cat_static(const char *name, int request_id);
+static int             cat_tar(const char *name, int request_id);
 static int             compare_inodes(struct stat *a, struct stat *b);
 static int             compare_matches(const ppd_info_t *p0,
                                        const ppd_info_t *p1);
@@ -142,16 +191,26 @@ static int                compare_names(const ppd_info_t *p0,
                                      const ppd_info_t *p1);
 static int             compare_ppds(const ppd_info_t *p0,
                                     const ppd_info_t *p1);
-static int             dump_ppds_dat(void);
+static int             dump_ppds_dat(const char *filename);
 static void            free_array(cups_array_t *a);
+static cups_file_t     *get_file(const char *name, int request_id,
+                                 const char *subdir, char *buffer,
+                                 size_t bufsize, char **subfile);
 static int             list_ppds(int request_id, int limit, const char *opt);
 static int             load_drivers(cups_array_t *include,
                                     cups_array_t *exclude);
 static int             load_drv(const char *filename, const char *name,
                                 cups_file_t *fp, time_t mtime, off_t size);
+static void            load_ppd(const char *filename, const char *name,
+                                const char *scheme, struct stat *fileinfo,
+                                ppd_info_t *ppd, cups_file_t *fp, off_t end);
 static int             load_ppds(const char *d, const char *p, int descend);
 static void            load_ppds_dat(char *filename, size_t filesize,
                                      int verbose);
+static int             load_tar(const char *filename, const char *name,
+                                cups_file_t *fp, time_t mtime, off_t size);
+static int             read_tar(cups_file_t *fp, char *name, size_t namesize,
+                                struct stat *info);
 static regex_t         *regex_device_id(const char *device_id);
 static regex_t         *regex_string(const char *s);
 
@@ -174,8 +233,8 @@ main(int  argc,                             /* I - Number of command-line args */
 
   if (argc == 3 && !strcmp(argv[1], "cat"))
     return (cat_ppd(argv[2], 0));
-  else if (argc == 2 && !strcmp(argv[1], "dump"))
-    return (dump_ppds_dat());
+  else if ((argc == 2 || argc == 3) && !strcmp(argv[1], "dump"))
+    return (dump_ppds_dat(argv[2]));
   else if (argc == 4 && !strcmp(argv[1], "get"))
     return (cat_ppd(argv[3], atoi(argv[2])));
   else if (argc == 5 && !strcmp(argv[1], "list"))
@@ -281,7 +340,7 @@ static int                          /* O - Exit code */
 cat_drv(const char *name,              /* I - PPD name */
         int        request_id)         /* I - Request ID for response? */
 {
-  const char   *datadir;               // CUPS_DATADIR env var
+  cups_file_t  *fp;                    // File pointer
   ppdcSource   *src;                   // PPD source file data
   ppdcDriver   *d;                     // Current driver
   cups_file_t  *out;                   // Stdout via CUPS file API
@@ -295,23 +354,16 @@ cat_drv(const char *name,         /* I - PPD name */
   int          port;                   // Port number (unused)
 
 
-  // Determine where CUPS has installed the data files...
-  if ((datadir = getenv("CUPS_DATADIR")) == NULL)
-    datadir = CUPS_DATADIR;
-
   // Pull out the path to the .drv file...
   if (httpSeparateURI(HTTP_URI_CODING_ALL, name, scheme, sizeof(scheme),
                       userpass, sizeof(userpass), host, sizeof(host), &port,
-                     resource, sizeof(resource)) < HTTP_URI_OK ||
-      strstr(resource, "../") ||
-      (pc_file_name = strrchr(resource, '/')) == NULL ||
-      pc_file_name == resource)
+                     resource, sizeof(resource)) < HTTP_URI_OK)
   {
-    fprintf(stderr, "ERROR: Bad PPD name \"%s\"!\n", name);
+    fprintf(stderr, "ERROR: Bad PPD name \"%s\".\n", name);
 
     if (request_id)
     {
-      snprintf(message, sizeof(message), "Bad PPD name \"%s\"!", name);
+      snprintf(message, sizeof(message), "Bad PPD name \"%s\".", name);
 
       cupsdSendIPPHeader(IPP_NOT_FOUND, request_id);
       cupsdSendIPPGroup(IPP_TAG_OPERATION);
@@ -325,21 +377,11 @@ cat_drv(const char *name,         /* I - PPD name */
     return (1);
   }
 
-  *pc_file_name++ = '\0';
-
-#ifdef __APPLE__
-  if (!strncmp(resource, "/Library/Printers/PPDs/Contents/Resources/", 42) ||
-      !strncmp(resource, "/System/Library/Printers/PPDs/Contents/Resources/", 49))
-    strlcpy(filename, resource, sizeof(filename));
-  else
-#endif // __APPLE__
-  {
-    snprintf(filename, sizeof(filename), "%s/drv%s", datadir, resource);
-    if (access(filename, 0))
-      snprintf(filename, sizeof(filename), "%s/model%s", datadir, resource);
-  }
+  if ((fp = get_file(resource, request_id, "drv", filename, sizeof(filename),
+                     &pc_file_name)) == NULL)
+    return (1);
 
-  src = new ppdcSource(filename);
+  src = new ppdcSource(filename, fp);
 
   for (d = (ppdcDriver *)src->drivers->first();
        d;
@@ -387,11 +429,11 @@ cat_drv(const char *name,         /* I - PPD name */
   }
   else
   {
-    fprintf(stderr, "ERROR: PPD \"%s\" not found!\n", name);
+    fprintf(stderr, "ERROR: PPD \"%s\" not found.\n", name);
 
     if (request_id)
     {
-      snprintf(message, sizeof(message), "PPD \"%s\" not found!", name);
+      snprintf(message, sizeof(message), "PPD \"%s\" not found.", name);
 
       cupsdSendIPPHeader(IPP_NOT_FOUND, request_id);
       cupsdSendIPPGroup(IPP_TAG_OPERATION);
@@ -404,6 +446,7 @@ cat_drv(const char *name,           /* I - PPD name */
   }
 
   src->release();
+  cupsFileClose(fp);
 
   return (!d);
 }
@@ -439,7 +482,12 @@ cat_ppd(const char *name,          /* I - PPD name */
       */
 
       name += 5;
-      scheme[0] = '\0';
+
+      while (*name == '/')
+        name ++;
+
+      if (!strstr(name, ".tar/") && !strstr(name, ".tar.gz/"))
+       scheme[0] = '\0';
     }
   }
   else
@@ -452,6 +500,8 @@ cat_ppd(const char *name,           /* I - PPD name */
     return (cat_static(name, request_id));
   else if (!strcmp(scheme, "drv"))
     return (cat_drv(name, request_id));
+  else if (!strcmp(scheme, "file"))
+    return (cat_tar(name, request_id));
   else
   {
    /*
@@ -540,144 +590,132 @@ cat_static(const char *name,            /* I - PPD name */
            int        request_id)      /* I - Request ID for response? */
 {
   cups_file_t  *fp;                    /* PPD file */
-  const char   *datadir;               /* CUPS_DATADIR env var */
-  char         line[1024],             /* Line/filename */
-               message[2048];          /* status-message */
-#ifdef __APPLE__
-  const char   *printerDriver,         /* Pointer to .printerDriver extension */
-               *slash;                 /* Pointer to next slash */
-#endif /* __APPLE__ */
-
-
-  if (name[0] == '/' || strstr(name, "../") || strstr(name, "/.."))
-  {
-   /*
-    * Bad name...
-    */
-
-    fprintf(stderr, "ERROR: [cups-driverd] Bad PPD name \"%s\"!\n", name);
+  char         filename[1024],         /* PPD filename */
+               line[1024];             /* Line buffer */
 
-    if (request_id)
-    {
-      snprintf(message, sizeof(message), "Bad PPD name \"%s\"!", name);
-
-      cupsdSendIPPHeader(IPP_NOT_FOUND, request_id);
-      cupsdSendIPPGroup(IPP_TAG_OPERATION);
-      cupsdSendIPPString(IPP_TAG_CHARSET, "attributes-charset", "utf-8");
-      cupsdSendIPPString(IPP_TAG_LANGUAGE, "attributes-natural-language",
-                        "en-US");
-      cupsdSendIPPString(IPP_TAG_TEXT, "status-message", message);
-      cupsdSendIPPTrailer();
-    }
 
+  if ((fp = get_file(name, request_id, "model", filename, sizeof(filename),
+                     NULL)) == NULL)
     return (1);
+
+  if (request_id)
+  {
+    cupsdSendIPPHeader(IPP_OK, request_id);
+    cupsdSendIPPGroup(IPP_TAG_OPERATION);
+    cupsdSendIPPString(IPP_TAG_CHARSET, "attributes-charset", "utf-8");
+    cupsdSendIPPString(IPP_TAG_LANGUAGE, "attributes-natural-language",
+                      "en-US");
+    cupsdSendIPPTrailer();
   }
 
  /*
-  * Try opening the file...
+  * Now copy the file to stdout...
   */
 
-#ifdef __APPLE__
-  if (!strncmp(name, "System/Library/Printers/PPDs/Contents/Resources/", 48) ||
-      !strncmp(name, "Library/Printers/PPDs/Contents/Resources/", 41) ||
-      (!strncmp(name, "System/Library/Printers/", 24) &&
-       (printerDriver =
-           strstr(name + 24,
-                  ".printerDriver/Contents/Resources/PPDs")) != NULL &&
-       (slash = strchr(name + 24, '/')) != NULL &&
-       slash > printerDriver) ||
-      (!strncmp(name, "Library/Printers/", 17) &&
-       (printerDriver =
-           strstr(name + 17,
-                  ".printerDriver/Contents/Resources/PPDs")) != NULL &&
-       (slash = strchr(name + 17, '/')) != NULL &&
-       slash > printerDriver))
-  {
-   /*
-    * Map ppd-name to Mac OS X standard locations...
-    */
+  while (cupsFileGets(fp, line, sizeof(line)))
+    puts(line);
 
-    snprintf(line, sizeof(line), "/%s", name);
-  }
-  else
+  cupsFileClose(fp);
 
-#elif defined(__linux)
-  if (!strncmp(name, "lsb/usr/", 8))
-  {
-   /*
-    * Map ppd-name to LSB standard /usr/share/ppd location...
-    */
+  return (0);
+}
 
-    snprintf(line, sizeof(line), "/usr/share/ppd/%s", name + 8);
-  }
-  else if (!strncmp(name, "lsb/opt/", 8))
-  {
-   /*
-    * Map ppd-name to LSB standard /opt/share/ppd location...
-    */
 
-    snprintf(line, sizeof(line), "/opt/share/ppd/%s", name + 8);
-  }
-  else if (!strncmp(name, "lsb/local/", 10))
-  {
-   /*
-    * Map ppd-name to LSB standard /usr/local/share/ppd location...
-    */
+/*
+ * 'cat_tar()' - Copy an archived PPD file to stdout.
+ */
 
-    snprintf(line, sizeof(line), "/usr/local/share/ppd/%s", name + 10);
-  }
-  else
+static int                             /* O - Exit code */
+cat_tar(const char *name,              /* I - PPD name */
+        int        request_id)         /* I - Request ID */
+{
+  cups_file_t  *fp;                    /* Archive file pointer */
+  char         filename[1024],         /* Archive filename */
+               *ppdname,               /* PPD filename in archive */
+               curname[256],           /* Current name in archive */
+               buffer[8192];           /* Copy buffer */
+  struct stat  curinfo;                /* Current file info in archive */
+  off_t                total,                  /* Total bytes copied */
+               next;                   /* Offset for next record in archive */
+  ssize_t      bytes;                  /* Bytes read */
 
-#endif /* __APPLE__ */
-  {
-    if ((datadir = getenv("CUPS_DATADIR")) == NULL)
-      datadir = CUPS_DATADIR;
 
-    snprintf(line, sizeof(line), "%s/model/%s", datadir, name);
-  }
+ /*
+  * Open the archive file...
+  */
+
+  if ((fp = get_file(name, request_id, "model", filename, sizeof(filename),
+                     &ppdname)) == NULL)
+    return (1);
 
-  if ((fp = cupsFileOpen(line, "r")) == NULL)
+ /*
+  * Scan the archive for the PPD...
+  */
+
+  while (read_tar(fp, curname, sizeof(curname), &curinfo))
   {
-    fprintf(stderr, "ERROR: [cups-driverd] Unable to open \"%s\" - %s\n",
-           line, strerror(errno));
+    next = cupsFileTell(fp) + ((curinfo.st_size + TAR_BLOCK - 1) &
+                               ~(TAR_BLOCK - 1));
 
-    if (request_id)
+    if (!strcmp(ppdname, curname))
     {
-      snprintf(message, sizeof(message), "Unable to open \"%s\" - %s",
-              line, strerror(errno));
+      if (request_id)
+      {
+       cupsdSendIPPHeader(IPP_OK, request_id);
+       cupsdSendIPPGroup(IPP_TAG_OPERATION);
+       cupsdSendIPPString(IPP_TAG_CHARSET, "attributes-charset", "utf-8");
+       cupsdSendIPPString(IPP_TAG_LANGUAGE, "attributes-natural-language",
+                          "en-US");
+       cupsdSendIPPTrailer();
+      }
 
-      cupsdSendIPPHeader(IPP_NOT_FOUND, request_id);
-      cupsdSendIPPGroup(IPP_TAG_OPERATION);
-      cupsdSendIPPString(IPP_TAG_CHARSET, "attributes-charset", "utf-8");
-      cupsdSendIPPString(IPP_TAG_LANGUAGE, "attributes-natural-language",
-                        "en-US");
-      cupsdSendIPPString(IPP_TAG_TEXT, "status-message", message);
-      cupsdSendIPPTrailer();
+      for (total = 0; total < curinfo.st_size; total += bytes)
+      {
+        if ((size_t)(bytes = (curinfo.st_size - total)) > sizeof(buffer))
+          bytes = sizeof(buffer);
+
+        if ((bytes = cupsFileRead(fp, buffer, bytes)) < 0)
+        {
+          if (errno == EINTR || errno == EAGAIN)
+          {
+            bytes = 0;
+          }
+          else
+          {
+            perror("ERROR: [cups-driverd] Read error");
+            break;
+          }
+        }
+        else if (bytes > 0 && fwrite(buffer, bytes, 1, stdout) != 1)
+          break;
+      }
+
+      cupsFileClose(fp);
+      return (0);
     }
 
-    return (1);
+    if (cupsFileTell(fp) != next)
+      cupsFileSeek(fp, next);
   }
 
+  cupsFileClose(fp);
+
+  fprintf(stderr, "ERROR: PPD \"%s\" not found.\n", name);
+
   if (request_id)
   {
-    cupsdSendIPPHeader(IPP_OK, request_id);
+    snprintf(buffer, sizeof(buffer), "PPD \"%s\" not found.", name);
+
+    cupsdSendIPPHeader(IPP_NOT_FOUND, request_id);
     cupsdSendIPPGroup(IPP_TAG_OPERATION);
     cupsdSendIPPString(IPP_TAG_CHARSET, "attributes-charset", "utf-8");
     cupsdSendIPPString(IPP_TAG_LANGUAGE, "attributes-natural-language",
                       "en-US");
+    cupsdSendIPPString(IPP_TAG_TEXT, "status-message", buffer);
     cupsdSendIPPTrailer();
   }
 
- /*
-  * Now copy the file to stdout...
-  */
-
-  while (cupsFileGets(fp, line, sizeof(line)))
-    puts(line);
-
-  cupsFileClose(fp);
-
-  return (0);
+  return (1);
 }
 
 
@@ -763,9 +801,9 @@ compare_ppds(const ppd_info_t *p0,  /* I - First PPD file */
  */
 
 static int                             /* O - Exit status */
-dump_ppds_dat(void)
+dump_ppds_dat(const char *filename)    /* I - Filename */
 {
-  char         filename[1024];         /* ppds.dat filename */
+  char         temp[1024];             /* ppds.dat filename */
   ppd_info_t   *ppd;                   /* Current PPD */
 
 
@@ -773,7 +811,12 @@ dump_ppds_dat(void)
   * See if we a PPD database file...
   */
 
-  load_ppds_dat(filename, sizeof(filename), 0);
+  if (filename)
+    strlcpy(temp, filename, sizeof(temp));
+  else
+    temp[0] = '\0';
+
+  load_ppds_dat(temp, sizeof(temp), 0);
 
   puts("mtime,size,model_number,type,filename,name,languages0,products0,"
        "psversions0,make,make_and_model,device_id,scheme");
@@ -813,96 +856,264 @@ free_array(cups_array_t *a)              /* I - Array to free */
 
 
 /*
- * 'list_ppds()' - List PPD files.
+ * 'get_file()' - Get the filename associated with a request.
  */
 
-static int                             /* O - Exit code */
-list_ppds(int        request_id,       /* I - Request ID */
-          int        limit,            /* I - Limit */
-         const char *opt)              /* I - Option argument */
+static cups_file_t *                   /* O - File pointer or NULL */
+get_file(const char *name,             /* I - Name */
+        int        request_id,         /* I - Request ID */
+        const char *subdir,            /* I - Subdirectory for file */
+        char       *buffer,            /* I - Filename buffer */
+        size_t     bufsize,            /* I - Size of filename buffer */
+        char       **subfile)          /* O - Sub-filename */
 {
-  int          i;                      /* Looping vars */
-  int          count;                  /* Number of PPDs to send */
-  ppd_info_t   *ppd;                   /* Current PPD file */
-  cups_file_t  *fp;                    /* ppds.dat file */
-  char         filename[1024],         /* ppds.dat filename */
-               model[1024];            /* Model directory */
-  const char   *cups_datadir;          /* CUPS_DATADIR environment variable */
-  int          num_options;            /* Number of options */
-  cups_option_t        *options;               /* Options */
-  cups_array_t *requested,             /* requested-attributes values */
-               *include,               /* PPD schemes to include */
-               *exclude;               /* PPD schemes to exclude */
-  const char   *device_id,             /* ppd-device-id option */
-               *language,              /* ppd-natural-language option */
-               *make,                  /* ppd-make option */
-               *make_and_model,        /* ppd-make-and-model option */
-               *model_number_str,      /* ppd-model-number option */
-               *product,               /* ppd-product option */
-               *psversion,             /* ppd-psversion option */
-               *type_str;              /* ppd-type option */
-  int          model_number,           /* ppd-model-number value */
-               type,                   /* ppd-type value */
-               make_and_model_len,     /* Length of ppd-make-and-model */
-               product_len,            /* Length of ppd-product */
-               send_device_id,         /* Send ppd-device-id? */
-               send_make,              /* Send ppd-make? */
-               send_make_and_model,    /* Send ppd-make-and-model? */
-               send_model_number,      /* Send ppd-model-number? */
-               send_name,              /* Send ppd-name? */
-               send_natural_language,  /* Send ppd-natural-language? */
-               send_product,           /* Send ppd-product? */
-               send_psversion,         /* Send ppd-psversion? */
-               send_type,              /* Send ppd-type? */
-               sent_header;            /* Sent the IPP header? */
-  regex_t      *device_id_re,          /* Regular expression for matching device ID */
-               *make_and_model_re;     /* Regular expression for matching make and model */
-  regmatch_t   re_matches[6];          /* Regular expression matches */
-  cups_array_t *matches;               /* Matching PPDs */
-
+  cups_file_t  *fp;                    /* File pointer */
+  const char   *datadir;               /* CUPS_DATADIR env var */
+  char         *bufptr,                /* Pointer into filename buffer */
+               message[2048];          /* status-message */
+#ifdef __APPLE__
+  const char   *printerDriver,         /* Pointer to .printerDriver extension */
+               *slash;                 /* Pointer to next slash */
+#endif /* __APPLE__ */
 
-  fprintf(stderr,
-          "DEBUG2: [cups-driverd] list_ppds(request_id=%d, limit=%d, "
-          "opt=\"%s\"\n", request_id, limit, opt);
 
- /*
-  * See if we a PPD database file...
-  */
+  if (subfile)
+    *subfile = NULL;
 
-  load_ppds_dat(filename, sizeof(filename), 1);
+  while (*name == '/')
+    name ++;
 
- /*
-  * Load all PPDs in the specified directory and below...
-  */
+  if (strstr(name, "../") || strstr(name, "/.."))
+  {
+   /*
+    * Bad name...
+    */
 
-  if ((cups_datadir = getenv("CUPS_DATADIR")) == NULL)
-    cups_datadir = CUPS_DATADIR;
+    fprintf(stderr, "ERROR: [cups-driverd] Bad PPD name \"%s\".\n", name);
 
-  Inodes = cupsArrayNew((cups_array_func_t)compare_inodes, NULL);
+    if (request_id)
+    {
+      snprintf(message, sizeof(message), "Bad PPD name \"%s\".", name);
 
-  snprintf(model, sizeof(model), "%s/model", cups_datadir);
-  load_ppds(model, "", 1);
+      cupsdSendIPPHeader(IPP_NOT_FOUND, request_id);
+      cupsdSendIPPGroup(IPP_TAG_OPERATION);
+      cupsdSendIPPString(IPP_TAG_CHARSET, "attributes-charset", "utf-8");
+      cupsdSendIPPString(IPP_TAG_LANGUAGE, "attributes-natural-language",
+                        "en-US");
+      cupsdSendIPPString(IPP_TAG_TEXT, "status-message", message);
+      cupsdSendIPPTrailer();
+    }
 
-  snprintf(model, sizeof(model), "%s/drv", cups_datadir);
-  load_ppds(model, "", 1);
+    return (NULL);
+  }
 
-#ifdef __APPLE__
  /*
-  * Load PPDs from standard Mac OS X locations...
+  * Try opening the file...
   */
 
-  load_ppds("/Library/Printers",
-            "Library/Printers", 0);
-  load_ppds("/Library/Printers/PPDs/Contents/Resources",
-            "Library/Printers/PPDs/Contents/Resources", 0);
-  load_ppds("/Library/Printers/PPDs/Contents/Resources/en.lproj",
-            "Library/Printers/PPDs/Contents/Resources/en.lproj", 0);
-  load_ppds("/System/Library/Printers",
-            "System/Library/Printers", 0);
-  load_ppds("/System/Library/Printers/PPDs/Contents/Resources",
-            "System/Library/Printers/PPDs/Contents/Resources", 0);
-  load_ppds("/System/Library/Printers/PPDs/Contents/Resources/en.lproj",
-            "System/Library/Printers/PPDs/Contents/Resources/en.lproj", 0);
+#ifdef __APPLE__
+  if (!strncmp(name, "System/Library/Printers/PPDs/Contents/Resources/", 48) ||
+      !strncmp(name, "Library/Printers/PPDs/Contents/Resources/", 41) ||
+      (!strncmp(name, "System/Library/Printers/", 24) &&
+       (printerDriver =
+           strstr(name + 24,
+                  ".printerDriver/Contents/Resources/PPDs")) != NULL &&
+       (slash = strchr(name + 24, '/')) != NULL &&
+       slash > printerDriver) ||
+      (!strncmp(name, "Library/Printers/", 17) &&
+       (printerDriver =
+           strstr(name + 17,
+                  ".printerDriver/Contents/Resources/PPDs")) != NULL &&
+       (slash = strchr(name + 17, '/')) != NULL &&
+       slash > printerDriver))
+  {
+   /*
+    * Map ppd-name to OS X standard locations...
+    */
+
+    snprintf(buffer, bufsize, "/%s", name);
+  }
+  else
+
+#elif defined(__linux)
+  if (!strncmp(name, "lsb/usr/", 8))
+  {
+   /*
+    * Map ppd-name to LSB standard /usr/share/ppd location...
+    */
+
+    snprintf(buffer, bufsize, "/usr/share/ppd/%s", name + 8);
+  }
+  else if (!strncmp(name, "lsb/opt/", 8))
+  {
+   /*
+    * Map ppd-name to LSB standard /opt/share/ppd location...
+    */
+
+    snprintf(buffer, bufsize, "/opt/share/ppd/%s", name + 8);
+  }
+  else if (!strncmp(name, "lsb/local/", 10))
+  {
+   /*
+    * Map ppd-name to LSB standard /usr/local/share/ppd location...
+    */
+
+    snprintf(buffer, bufsize, "/usr/local/share/ppd/%s", name + 10);
+  }
+  else
+
+#endif /* __APPLE__ */
+  {
+    if ((datadir = getenv("CUPS_DATADIR")) == NULL)
+      datadir = CUPS_DATADIR;
+
+    snprintf(buffer, bufsize, "%s/%s/%s", datadir, subdir, name);
+  }
+
+ /*
+  * Strip anything after ".drv/", ".drv.gz/", ".tar/",  or ".tar.gz/"...
+  */
+
+  if (subfile)
+  {
+    if ((bufptr = strstr(buffer, ".drv/")) != NULL)
+      bufptr += 4;
+    else if ((bufptr = strstr(buffer, ".drv.gz/")) != NULL)
+      bufptr += 7;
+    else if ((bufptr = strstr(buffer, ".tar/")) != NULL)
+      bufptr += 4;
+    else if ((bufptr = strstr(buffer, ".tar.gz/")) != NULL)
+      bufptr += 7;
+
+    if (bufptr)
+    {
+      *bufptr++ = '\0';
+      *subfile  = bufptr;
+    }
+  }
+
+ /*
+  * Try opening the file...
+  */
+
+  if ((fp = cupsFileOpen(buffer, "r")) == NULL)
+  {
+    fprintf(stderr, "ERROR: [cups-driverd] Unable to open \"%s\" - %s\n",
+           buffer, strerror(errno));
+
+    if (request_id)
+    {
+      snprintf(message, sizeof(message), "Unable to open \"%s\" - %s",
+              buffer, strerror(errno));
+
+      cupsdSendIPPHeader(IPP_NOT_FOUND, request_id);
+      cupsdSendIPPGroup(IPP_TAG_OPERATION);
+      cupsdSendIPPString(IPP_TAG_CHARSET, "attributes-charset", "utf-8");
+      cupsdSendIPPString(IPP_TAG_LANGUAGE, "attributes-natural-language",
+                        "en-US");
+      cupsdSendIPPString(IPP_TAG_TEXT, "status-message", message);
+      cupsdSendIPPTrailer();
+    }
+
+    return (NULL);
+  }
+
+  return (fp);
+}
+
+
+/*
+ * 'list_ppds()' - List PPD files.
+ */
+
+static int                             /* O - Exit code */
+list_ppds(int        request_id,       /* I - Request ID */
+          int        limit,            /* I - Limit */
+         const char *opt)              /* I - Option argument */
+{
+  int          i;                      /* Looping vars */
+  int          count;                  /* Number of PPDs to send */
+  ppd_info_t   *ppd;                   /* Current PPD file */
+  cups_file_t  *fp;                    /* ppds.dat file */
+  char         filename[1024],         /* ppds.dat filename */
+               model[1024];            /* Model directory */
+  const char   *cups_datadir;          /* CUPS_DATADIR environment variable */
+  int          num_options;            /* Number of options */
+  cups_option_t        *options;               /* Options */
+  cups_array_t *requested,             /* requested-attributes values */
+               *include,               /* PPD schemes to include */
+               *exclude;               /* PPD schemes to exclude */
+  const char   *device_id,             /* ppd-device-id option */
+               *language,              /* ppd-natural-language option */
+               *make,                  /* ppd-make option */
+               *make_and_model,        /* ppd-make-and-model option */
+               *model_number_str,      /* ppd-model-number option */
+               *product,               /* ppd-product option */
+               *psversion,             /* ppd-psversion option */
+               *type_str;              /* ppd-type option */
+  int          model_number,           /* ppd-model-number value */
+               type,                   /* ppd-type value */
+               make_and_model_len,     /* Length of ppd-make-and-model */
+               product_len,            /* Length of ppd-product */
+               send_device_id,         /* Send ppd-device-id? */
+               send_make,              /* Send ppd-make? */
+               send_make_and_model,    /* Send ppd-make-and-model? */
+               send_model_number,      /* Send ppd-model-number? */
+               send_name,              /* Send ppd-name? */
+               send_natural_language,  /* Send ppd-natural-language? */
+               send_product,           /* Send ppd-product? */
+               send_psversion,         /* Send ppd-psversion? */
+               send_type,              /* Send ppd-type? */
+               sent_header;            /* Sent the IPP header? */
+  regex_t      *device_id_re,          /* Regular expression for matching device ID */
+               *make_and_model_re;     /* Regular expression for matching make and model */
+  regmatch_t   re_matches[6];          /* Regular expression matches */
+  cups_array_t *matches;               /* Matching PPDs */
+
+
+  fprintf(stderr,
+          "DEBUG2: [cups-driverd] list_ppds(request_id=%d, limit=%d, "
+          "opt=\"%s\"\n", request_id, limit, opt);
+
+ /*
+  * See if we a PPD database file...
+  */
+
+  filename[0] = '\0';
+  load_ppds_dat(filename, sizeof(filename), 1);
+
+ /*
+  * Load all PPDs in the specified directory and below...
+  */
+
+  if ((cups_datadir = getenv("CUPS_DATADIR")) == NULL)
+    cups_datadir = CUPS_DATADIR;
+
+  Inodes = cupsArrayNew((cups_array_func_t)compare_inodes, NULL);
+
+  snprintf(model, sizeof(model), "%s/model", cups_datadir);
+  load_ppds(model, "", 1);
+
+  snprintf(model, sizeof(model), "%s/drv", cups_datadir);
+  load_ppds(model, "", 1);
+
+#ifdef __APPLE__
+ /*
+  * Load PPDs from standard OS X locations...
+  */
+
+  load_ppds("/Library/Printers",
+            "Library/Printers", 0);
+  load_ppds("/Library/Printers/PPDs/Contents/Resources",
+            "Library/Printers/PPDs/Contents/Resources", 0);
+  load_ppds("/Library/Printers/PPDs/Contents/Resources/en.lproj",
+            "Library/Printers/PPDs/Contents/Resources/en.lproj", 0);
+  load_ppds("/System/Library/Printers",
+            "System/Library/Printers", 0);
+  load_ppds("/System/Library/Printers/PPDs/Contents/Resources",
+            "System/Library/Printers/PPDs/Contents/Resources", 0);
+  load_ppds("/System/Library/Printers/PPDs/Contents/Resources/en.lproj",
+            "System/Library/Printers/PPDs/Contents/Resources/en.lproj", 0);
 
 #elif defined(__linux)
  /*
@@ -1029,12 +1240,12 @@ list_ppds(int        request_id,        /* I - Request ID */
   if (type_str)
   {
     for (type = 0;
-         type < (int)(sizeof(ppd_types) / sizeof(ppd_types[0]));
+         type < (int)(sizeof(PPDTypes) / sizeof(PPDTypes[0]));
         type ++)
-      if (!strcmp(type_str, ppd_types[type]))
+      if (!strcmp(type_str, PPDTypes[type]))
         break;
 
-    if (type >= (int)(sizeof(ppd_types) / sizeof(ppd_types[0])))
+    if (type >= (int)(sizeof(PPDTypes) / sizeof(PPDTypes[0])))
     {
       fprintf(stderr, "ERROR: [cups-driverd] Bad ppd-type=\"%s\" ignored!\n",
               type_str);
@@ -1273,11 +1484,14 @@ list_ppds(int        request_id,        /* I - Request ID */
     {
       sent_header = 1;
 
-      cupsdSendIPPHeader(IPP_OK, request_id);
-      cupsdSendIPPGroup(IPP_TAG_OPERATION);
-      cupsdSendIPPString(IPP_TAG_CHARSET, "attributes-charset", "utf-8");
-      cupsdSendIPPString(IPP_TAG_LANGUAGE, "attributes-natural-language",
-                         "en-US");
+      if (request_id)
+      {
+       cupsdSendIPPHeader(IPP_OK, request_id);
+       cupsdSendIPPGroup(IPP_TAG_OPERATION);
+       cupsdSendIPPString(IPP_TAG_CHARSET, "attributes-charset", "utf-8");
+       cupsdSendIPPString(IPP_TAG_LANGUAGE, "attributes-natural-language",
+                          "en-US");
+      }
     }
 
     fprintf(stderr, "DEBUG2: [cups-driverd] Sending %s (%s)...\n",
@@ -1285,56 +1499,61 @@ list_ppds(int        request_id,        /* I - Request ID */
 
     count --;
 
-    cupsdSendIPPGroup(IPP_TAG_PRINTER);
+    if (request_id)
+    {
+      cupsdSendIPPGroup(IPP_TAG_PRINTER);
 
-    if (send_name)
-      cupsdSendIPPString(IPP_TAG_NAME, "ppd-name", ppd->record.name);
+      if (send_name)
+       cupsdSendIPPString(IPP_TAG_NAME, "ppd-name", ppd->record.name);
 
-    if (send_natural_language)
-    {
-      cupsdSendIPPString(IPP_TAG_LANGUAGE, "ppd-natural-language",
-                        ppd->record.languages[0]);
+      if (send_natural_language)
+      {
+       cupsdSendIPPString(IPP_TAG_LANGUAGE, "ppd-natural-language",
+                          ppd->record.languages[0]);
 
-      for (i = 1; i < PPD_MAX_LANG && ppd->record.languages[i][0]; i ++)
-       cupsdSendIPPString(IPP_TAG_LANGUAGE, "", ppd->record.languages[i]);
-    }
+       for (i = 1; i < PPD_MAX_LANG && ppd->record.languages[i][0]; i ++)
+         cupsdSendIPPString(IPP_TAG_LANGUAGE, "", ppd->record.languages[i]);
+      }
 
-    if (send_make)
-      cupsdSendIPPString(IPP_TAG_TEXT, "ppd-make", ppd->record.make);
+      if (send_make)
+       cupsdSendIPPString(IPP_TAG_TEXT, "ppd-make", ppd->record.make);
 
-    if (send_make_and_model)
-      cupsdSendIPPString(IPP_TAG_TEXT, "ppd-make-and-model",
-                        ppd->record.make_and_model);
+      if (send_make_and_model)
+       cupsdSendIPPString(IPP_TAG_TEXT, "ppd-make-and-model",
+                          ppd->record.make_and_model);
 
-    if (send_device_id)
-      cupsdSendIPPString(IPP_TAG_TEXT, "ppd-device-id",
-                        ppd->record.device_id);
+      if (send_device_id)
+       cupsdSendIPPString(IPP_TAG_TEXT, "ppd-device-id",
+                          ppd->record.device_id);
 
-    if (send_product)
-    {
-      cupsdSendIPPString(IPP_TAG_TEXT, "ppd-product",
-                        ppd->record.products[0]);
+      if (send_product)
+      {
+       cupsdSendIPPString(IPP_TAG_TEXT, "ppd-product",
+                          ppd->record.products[0]);
 
-      for (i = 1; i < PPD_MAX_PROD && ppd->record.products[i][0]; i ++)
-       cupsdSendIPPString(IPP_TAG_TEXT, "", ppd->record.products[i]);
-    }
+       for (i = 1; i < PPD_MAX_PROD && ppd->record.products[i][0]; i ++)
+         cupsdSendIPPString(IPP_TAG_TEXT, "", ppd->record.products[i]);
+      }
 
-    if (send_psversion)
-    {
-      cupsdSendIPPString(IPP_TAG_TEXT, "ppd-psversion",
-                        ppd->record.psversions[0]);
+      if (send_psversion)
+      {
+       cupsdSendIPPString(IPP_TAG_TEXT, "ppd-psversion",
+                          ppd->record.psversions[0]);
 
-      for (i = 1; i < PPD_MAX_VERS && ppd->record.psversions[i][0]; i ++)
-       cupsdSendIPPString(IPP_TAG_TEXT, "", ppd->record.psversions[i]);
-    }
+       for (i = 1; i < PPD_MAX_VERS && ppd->record.psversions[i][0]; i ++)
+         cupsdSendIPPString(IPP_TAG_TEXT, "", ppd->record.psversions[i]);
+      }
 
-    if (send_type)
-      cupsdSendIPPString(IPP_TAG_KEYWORD, "ppd-type",
-                        ppd_types[ppd->record.type]);
+      if (send_type)
+       cupsdSendIPPString(IPP_TAG_KEYWORD, "ppd-type",
+                          PPDTypes[ppd->record.type]);
 
-    if (send_model_number)
-      cupsdSendIPPInteger(IPP_TAG_INTEGER, "ppd-model-number",
-                         ppd->record.model_number);
+      if (send_model_number)
+       cupsdSendIPPInteger(IPP_TAG_INTEGER, "ppd-model-number",
+                           ppd->record.model_number);
+    }
+    else
+      printf("%s (%s)\n", ppd->record.name, ppd->record.make_and_model);
 
    /*
     * If we have only requested the ppd-make attribute, then skip
@@ -1358,7 +1577,7 @@ list_ppds(int        request_id,  /* I - Request ID */
     }
   }
 
-  if (!sent_header)
+  if (!sent_header && request_id)
   {
     cupsdSendIPPHeader(IPP_NOT_FOUND, request_id);
     cupsdSendIPPGroup(IPP_TAG_OPERATION);
@@ -1366,7 +1585,8 @@ list_ppds(int        request_id,  /* I - Request ID */
     cupsdSendIPPString(IPP_TAG_LANGUAGE, "attributes-natural-language", "en-US");
   }
 
-  cupsdSendIPPTrailer();
+  if (request_id)
+    cupsdSendIPPTrailer();
 
   return (0);
 }
@@ -1687,12 +1907,12 @@ load_drivers(cups_array_t *include,     /* I - Drivers to include */
            *start++ = '\0';
 
          for (type = 0;
-               type < (int)(sizeof(ppd_types) / sizeof(ppd_types[0]));
+               type < (int)(sizeof(PPDTypes) / sizeof(PPDTypes[0]));
               type ++)
-           if (!strcmp(type_str, ppd_types[type]))
+           if (!strcmp(type_str, PPDTypes[type]))
               break;
 
-         if (type >= (int)(sizeof(ppd_types) / sizeof(ppd_types[0])))
+         if (type >= (int)(sizeof(PPDTypes) / sizeof(PPDTypes[0])))
          {
            fprintf(stderr,
                    "ERROR: [cups-driverd] Bad ppd-type \"%s\" ignored!\n",
@@ -1745,24 +1965,21 @@ load_drivers(cups_array_t *include,     /* I - Drivers to include */
 
 
 /*
- * 'load_ppds()' - Load PPD files recursively.
+ * 'load_ppd()' - Load a PPD file.
  */
 
-static int                             /* O - 1 on success, 0 on failure */
-load_ppds(const char *d,               /* I - Actual directory */
-          const char *p,               /* I - Virtual path in name */
-         int        descend)           /* I - Descend into directories? */
+static void
+load_ppd(const char  *filename,                /* I - Real filename */
+         const char  *name,            /* I - Virtual filename */
+         const char  *scheme,          /* I - PPD scheme */
+         struct stat *fileinfo,                /* I - File information */
+         ppd_info_t  *ppd,             /* I - Existing PPD file or NULL */
+         cups_file_t *fp,              /* I - File to read from */
+         off_t       end)              /* I - End of file position or 0 */
 {
-  struct stat  dinfo,                  /* Directory information */
-               *dinfoptr;              /* Pointer to match */
   int          i;                      /* Looping var */
-  cups_file_t  *fp;                    /* Pointer to file */
-  cups_dir_t   *dir;                   /* Directory pointer */
-  cups_dentry_t        *dent;                  /* Directory entry */
-  char         filename[1024],         /* Name of PPD or directory */
-               line[256],              /* Line from backend */
-               *ptr,                   /* Pointer into name */
-               name[128],              /* Name of PPD file */
+  char         line[256],              /* Line from file */
+               *ptr,                   /* Pointer into line */
                lang_version[64],       /* PPD LanguageVersion */
                lang_encoding[64],      /* PPD LanguageEncoding */
                country[64],            /* Country code */
@@ -1780,8 +1997,6 @@ load_ppds(const char *d,          /* I - Actual directory */
   cups_array_t *products,              /* Product array */
                *psversions,            /* PSVersion array */
                *cups_languages;        /* cupsLanguages array */
-  ppd_info_t   *ppd,                   /* New PPD file */
-               key;                    /* Search key */
   int          new_ppd;                /* Is this a new PPD? */
   struct                               /* LanguageVersion translation table */
   {
@@ -1816,34 +2031,407 @@ load_ppds(const char *d,               /* I - Actual directory */
 
 
  /*
-  * See if we've loaded this directory before...
+  * Now read until we get the required fields...
   */
 
-  if (stat(d, &dinfo))
+  cups_languages = cupsArrayNew(NULL, NULL);
+  products       = cupsArrayNew(NULL, NULL);
+  psversions     = cupsArrayNew(NULL, NULL);
+
+  model_name[0]    = '\0';
+  nick_name[0]     = '\0';
+  manufacturer[0]  = '\0';
+  device_id[0]     = '\0';
+  lang_encoding[0] = '\0';
+  strcpy(lang_version, "en");
+  model_number     = 0;
+  install_group    = 0;
+  type             = PPD_TYPE_POSTSCRIPT;
+
+  while ((end == 0 || cupsFileTell(fp) < end) &&
+        cupsFileGets(fp, line, sizeof(line)))
   {
-    if (errno != ENOENT)
-      fprintf(stderr, "ERROR: [cups-driverd] Unable to stat \"%s\": %s\n", d,
-             strerror(errno));
+    if (!strncmp(line, "*Manufacturer:", 14))
+      sscanf(line, "%*[^\"]\"%255[^\"]", manufacturer);
+    else if (!strncmp(line, "*ModelName:", 11))
+      sscanf(line, "%*[^\"]\"%127[^\"]", model_name);
+    else if (!strncmp(line, "*LanguageEncoding:", 18))
+      sscanf(line, "%*[^:]:%63s", lang_encoding);
+    else if (!strncmp(line, "*LanguageVersion:", 17))
+      sscanf(line, "%*[^:]:%63s", lang_version);
+    else if (!strncmp(line, "*NickName:", 10))
+      sscanf(line, "%*[^\"]\"%255[^\"]", nick_name);
+    else if (!_cups_strncasecmp(line, "*1284DeviceID:", 14))
+    {
+      sscanf(line, "%*[^\"]\"%255[^\"]", device_id);
 
-    return (0);
-  }
-  else if (cupsArrayFind(Inodes, &dinfo))
-  {
-    fprintf(stderr, "ERROR: [cups-driverd] Skipping \"%s\": loop detected!\n",
-            d);
-    return (0);
-  }
+      // Make sure device ID ends with a semicolon...
+      if (device_id[0] && device_id[strlen(device_id) - 1] != ';')
+       strlcat(device_id, ";", sizeof(device_id));
+    }
+    else if (!strncmp(line, "*Product:", 9))
+    {
+      if (sscanf(line, "%*[^\"]\"(%255[^\"]", product) == 1)
+      {
+       /*
+       * Make sure the value ends with a right parenthesis - can't stop at
+       * the first right paren since the product name may contain escaped
+       * parenthesis...
+       */
 
- /*
-  * Nope, add it to the Inodes array and continue...
-  */
+       ptr = product + strlen(product) - 1;
+       if (ptr > product && *ptr == ')')
+       {
+        /*
+         * Yes, ends with a parenthesis, so remove it from the end and
+         * add the product to the list...
+         */
 
-  dinfoptr = (struct stat *)malloc(sizeof(struct stat));
-  memcpy(dinfoptr, &dinfo, sizeof(struct stat));
-  cupsArrayAdd(Inodes, dinfoptr);
+         *ptr = '\0';
+         cupsArrayAdd(products, strdup(product));
+       }
+      }
+    }
+    else if (!strncmp(line, "*PSVersion:", 11))
+    {
+      sscanf(line, "%*[^\"]\"%255[^\"]", psversion);
+      cupsArrayAdd(psversions, strdup(psversion));
+    }
+    else if (!strncmp(line, "*cupsLanguages:", 15))
+    {
+      char     *start;                 /* Start of language */
 
- /*
-  * Check permissions...
+
+      for (start = line + 15; *start && isspace(*start & 255); start ++);
+
+      if (*start++ == '\"')
+      {
+       while (*start)
+       {
+         for (ptr = start + 1;
+              *ptr && *ptr != '\"' && !isspace(*ptr & 255);
+              ptr ++);
+
+         if (*ptr)
+         {
+           *ptr++ = '\0';
+
+           while (isspace(*ptr & 255))
+             *ptr++ = '\0';
+         }
+
+         cupsArrayAdd(cups_languages, strdup(start));
+         start = ptr;
+       }
+      }
+    }
+    else if (!strncmp(line, "*cupsFax:", 9))
+    {
+      for (ptr = line + 9; isspace(*ptr & 255); ptr ++);
+
+      if (!_cups_strncasecmp(ptr, "true", 4))
+       type = PPD_TYPE_FAX;
+    }
+    else if (!strncmp(line, "*cupsFilter:", 12) && type == PPD_TYPE_POSTSCRIPT)
+    {
+      if (strstr(line + 12, "application/vnd.cups-raster"))
+       type = PPD_TYPE_RASTER;
+      else if (strstr(line + 12, "application/vnd.cups-pdf"))
+       type = PPD_TYPE_PDF;
+    }
+    else if (!strncmp(line, "*cupsModelNumber:", 17))
+      sscanf(line, "*cupsModelNumber:%d", &model_number);
+    else if (!strncmp(line, "*OpenGroup: Installable", 23))
+      install_group = 1;
+    else if (!strncmp(line, "*CloseGroup:", 12))
+      install_group = 0;
+    else if (!strncmp(line, "*OpenUI", 7))
+    {
+     /*
+      * Stop early if we have a NickName or ModelName attributes
+      * before the first non-installable OpenUI...
+      */
+
+      if (!install_group && (model_name[0] || nick_name[0]) &&
+         cupsArrayCount(products) > 0 && cupsArrayCount(psversions) > 0)
+       break;
+    }
+  }
+
+ /*
+  * See if we got all of the required info...
+  */
+
+  if (nick_name[0])
+    cupsCharsetToUTF8((cups_utf8_t *)make_model, nick_name,
+                     sizeof(make_model), _ppdGetEncoding(lang_encoding));
+  else
+    strcpy(make_model, model_name);
+
+  while (isspace(make_model[0] & 255))
+    _cups_strcpy(make_model, make_model + 1);
+
+  if (!make_model[0] || cupsArrayCount(products) == 0 ||
+      cupsArrayCount(psversions) == 0)
+  {
+   /*
+    * We don't have all the info needed, so skip this file...
+    */
+
+    if (!make_model[0])
+      fprintf(stderr, "WARNING: Missing NickName and ModelName in %s!\n",
+             filename);
+
+    if (cupsArrayCount(products) == 0)
+      fprintf(stderr, "WARNING: Missing Product in %s!\n", filename);
+
+    if (cupsArrayCount(psversions) == 0)
+      fprintf(stderr, "WARNING: Missing PSVersion in %s!\n", filename);
+
+    free_array(products);
+    free_array(psversions);
+    free_array(cups_languages);
+
+    return;
+  }
+
+  if (model_name[0])
+    cupsArrayAdd(products, strdup(model_name));
+
+ /*
+  * Normalize the make and model string...
+  */
+
+  while (isspace(manufacturer[0] & 255))
+    _cups_strcpy(manufacturer, manufacturer + 1);
+
+  if (!_cups_strncasecmp(make_model, manufacturer, strlen(manufacturer)))
+    strlcpy(temp, make_model, sizeof(temp));
+  else
+    snprintf(temp, sizeof(temp), "%s %s", manufacturer, make_model);
+
+  _ppdNormalizeMakeAndModel(temp, make_model, sizeof(make_model));
+
+ /*
+  * See if we got a manufacturer...
+  */
+
+  if (!manufacturer[0] || !strcmp(manufacturer, "ESP"))
+  {
+   /*
+    * Nope, copy the first part of the make and model then...
+    */
+
+    strlcpy(manufacturer, make_model, sizeof(manufacturer));
+
+   /*
+    * Truncate at the first space, dash, or slash, or make the
+    * manufacturer "Other"...
+    */
+
+    for (ptr = manufacturer; *ptr; ptr ++)
+      if (*ptr == ' ' || *ptr == '-' || *ptr == '/')
+       break;
+
+    if (*ptr && ptr > manufacturer)
+      *ptr = '\0';
+    else
+      strcpy(manufacturer, "Other");
+  }
+  else if (!_cups_strncasecmp(manufacturer, "LHAG", 4) ||
+          !_cups_strncasecmp(manufacturer, "linotype", 8))
+    strcpy(manufacturer, "LHAG");
+  else if (!_cups_strncasecmp(manufacturer, "Hewlett", 7))
+    strcpy(manufacturer, "HP");
+
+ /*
+  * Fix the lang_version as needed...
+  */
+
+  if ((ptr = strchr(lang_version, '-')) != NULL)
+    *ptr++ = '\0';
+  else if ((ptr = strchr(lang_version, '_')) != NULL)
+    *ptr++ = '\0';
+
+  if (ptr)
+  {
+   /*
+    * Setup the country suffix...
+    */
+
+    country[0] = '_';
+    _cups_strcpy(country + 1, ptr);
+  }
+  else
+  {
+   /*
+    * No country suffix...
+    */
+
+    country[0] = '\0';
+  }
+
+  for (i = 0; i < (int)(sizeof(languages) / sizeof(languages[0])); i ++)
+    if (!_cups_strcasecmp(languages[i].version, lang_version))
+      break;
+
+  if (i < (int)(sizeof(languages) / sizeof(languages[0])))
+  {
+   /*
+    * Found a known language...
+    */
+
+    snprintf(lang_version, sizeof(lang_version), "%s%s",
+            languages[i].language, country);
+  }
+  else
+  {
+   /*
+    * Unknown language; use "xx"...
+    */
+
+    strcpy(lang_version, "xx");
+  }
+
+ /*
+  * Record the PPD file...
+  */
+
+  new_ppd = !ppd;
+
+  if (new_ppd)
+  {
+   /*
+    * Add new PPD file...
+    */
+
+    fprintf(stderr, "DEBUG2: [cups-driverd] Adding ppd \"%s\"...\n", name);
+
+    ppd = add_ppd(name, name, lang_version, manufacturer, make_model,
+                 device_id, (char *)cupsArrayFirst(products),
+                 (char *)cupsArrayFirst(psversions),
+                 fileinfo->st_mtime, fileinfo->st_size,
+                 model_number, type, scheme);
+
+    if (!ppd)
+      return;
+  }
+  else
+  {
+   /*
+    * Update existing record...
+    */
+
+    fprintf(stderr, "DEBUG2: [cups-driverd] Updating ppd \"%s\"...\n", name);
+
+    memset(ppd, 0, sizeof(ppd_info_t));
+
+    ppd->found               = 1;
+    ppd->record.mtime        = fileinfo->st_mtime;
+    ppd->record.size         = fileinfo->st_size;
+    ppd->record.model_number = model_number;
+    ppd->record.type         = type;
+
+    strlcpy(ppd->record.filename, name, sizeof(ppd->record.filename));
+    strlcpy(ppd->record.name, name, sizeof(ppd->record.name));
+    strlcpy(ppd->record.languages[0], lang_version,
+           sizeof(ppd->record.languages[0]));
+    strlcpy(ppd->record.products[0], (char *)cupsArrayFirst(products),
+           sizeof(ppd->record.products[0]));
+    strlcpy(ppd->record.psversions[0], (char *)cupsArrayFirst(psversions),
+           sizeof(ppd->record.psversions[0]));
+    strlcpy(ppd->record.make, manufacturer, sizeof(ppd->record.make));
+    strlcpy(ppd->record.make_and_model, make_model,
+           sizeof(ppd->record.make_and_model));
+    strlcpy(ppd->record.device_id, device_id, sizeof(ppd->record.device_id));
+    strlcpy(ppd->record.scheme, scheme, sizeof(ppd->record.scheme));
+  }
+
+ /*
+  * Add remaining products, versions, and languages...
+  */
+
+  for (i = 1;
+       i < PPD_MAX_PROD && (ptr = (char *)cupsArrayNext(products)) != NULL;
+       i ++)
+    strlcpy(ppd->record.products[i], ptr,
+           sizeof(ppd->record.products[0]));
+
+  for (i = 1;
+       i < PPD_MAX_VERS && (ptr = (char *)cupsArrayNext(psversions)) != NULL;
+       i ++)
+    strlcpy(ppd->record.psversions[i], ptr,
+           sizeof(ppd->record.psversions[0]));
+
+  for (i = 1, ptr = (char *)cupsArrayFirst(cups_languages);
+       i < PPD_MAX_LANG && ptr;
+       i ++, ptr = (char *)cupsArrayNext(cups_languages))
+    strlcpy(ppd->record.languages[i], ptr,
+           sizeof(ppd->record.languages[0]));
+
+ /*
+  * Free products, versions, and languages...
+  */
+
+  free_array(cups_languages);
+  free_array(products);
+  free_array(psversions);
+
+  ChangedPPD = 1;
+}
+
+
+/*
+ * 'load_ppds()' - Load PPD files recursively.
+ */
+
+static int                             /* O - 1 on success, 0 on failure */
+load_ppds(const char *d,               /* I - Actual directory */
+          const char *p,               /* I - Virtual path in name */
+         int        descend)           /* I - Descend into directories? */
+{
+  struct stat  dinfo,                  /* Directory information */
+               *dinfoptr;              /* Pointer to match */
+  cups_file_t  *fp;                    /* Pointer to file */
+  cups_dir_t   *dir;                   /* Directory pointer */
+  cups_dentry_t        *dent;                  /* Directory entry */
+  char         filename[1024],         /* Name of PPD or directory */
+               line[256],              /* Line from file */
+               *ptr,                   /* Pointer into name */
+               name[128];              /* Name of PPD file */
+  ppd_info_t   *ppd,                   /* New PPD file */
+               key;                    /* Search key */
+
+
+ /*
+  * See if we've loaded this directory before...
+  */
+
+  if (stat(d, &dinfo))
+  {
+    if (errno != ENOENT)
+      fprintf(stderr, "ERROR: [cups-driverd] Unable to stat \"%s\": %s\n", d,
+             strerror(errno));
+
+    return (0);
+  }
+  else if (cupsArrayFind(Inodes, &dinfo))
+  {
+    fprintf(stderr, "ERROR: [cups-driverd] Skipping \"%s\": loop detected!\n",
+            d);
+    return (0);
+  }
+
+ /*
+  * Nope, add it to the Inodes array and continue...
+  */
+
+  dinfoptr = (struct stat *)malloc(sizeof(struct stat));
+  memcpy(dinfoptr, &dinfo, sizeof(struct stat));
+  cupsArrayAdd(Inodes, dinfoptr);
+
+ /*
+  * Check permissions...
   */
 
   if (_cupsFileCheck(d, _CUPS_FILE_CHECK_DIRECTORY, !geteuid(),
@@ -1915,8 +2503,7 @@ load_ppds(const char *d,          /* I - Actual directory */
 
       continue;
     }
-    else if ((ptr = filename + strlen(filename) - 6) > filename &&
-             !strcmp(ptr, ".plist"))
+    else if (strstr(filename, ".plist"))
     {
      /*
       * Skip plist files in the PPDs directory...
@@ -1973,373 +2560,36 @@ load_ppds(const char *d,               /* I - Actual directory */
     line[0] = '\0';
     cupsFileGets(fp, line, sizeof(line));
 
-    if (strncmp(line, "*PPD-Adobe:", 11))
-    {
-     /*
-      * Nope, treat it as a driver information file...
-      */
-
-      load_drv(filename, name, fp, dent->fileinfo.st_mtime,
-               dent->fileinfo.st_size);
-      continue;
-    }
-
-   /*
-    * Now read until we get the NickName field...
-    */
-
-    cups_languages = cupsArrayNew(NULL, NULL);
-    products       = cupsArrayNew(NULL, NULL);
-    psversions     = cupsArrayNew(NULL, NULL);
-
-    model_name[0]    = '\0';
-    nick_name[0]     = '\0';
-    manufacturer[0]  = '\0';
-    device_id[0]     = '\0';
-    lang_encoding[0] = '\0';
-    strcpy(lang_version, "en");
-    model_number     = 0;
-    install_group    = 0;
-    type             = PPD_TYPE_POSTSCRIPT;
-
-    while (cupsFileGets(fp, line, sizeof(line)) != NULL)
-    {
-      if (!strncmp(line, "*Manufacturer:", 14))
-       sscanf(line, "%*[^\"]\"%255[^\"]", manufacturer);
-      else if (!strncmp(line, "*ModelName:", 11))
-       sscanf(line, "%*[^\"]\"%127[^\"]", model_name);
-      else if (!strncmp(line, "*LanguageEncoding:", 18))
-       sscanf(line, "%*[^:]:%63s", lang_encoding);
-      else if (!strncmp(line, "*LanguageVersion:", 17))
-       sscanf(line, "%*[^:]:%63s", lang_version);
-      else if (!strncmp(line, "*NickName:", 10))
-       sscanf(line, "%*[^\"]\"%255[^\"]", nick_name);
-      else if (!_cups_strncasecmp(line, "*1284DeviceID:", 14))
-      {
-       sscanf(line, "%*[^\"]\"%255[^\"]", device_id);
-
-        // Make sure device ID ends with a semicolon...
-       if (device_id[0] && device_id[strlen(device_id) - 1] != ';')
-         strlcat(device_id, ";", sizeof(device_id));
-      }
-      else if (!strncmp(line, "*Product:", 9))
-      {
-       if (sscanf(line, "%*[^\"]\"(%255[^\"]", product) == 1)
-       {
-        /*
-         * Make sure the value ends with a right parenthesis - can't stop at
-         * the first right paren since the product name may contain escaped
-         * parenthesis...
-         */
-
-         ptr = product + strlen(product) - 1;
-         if (ptr > product && *ptr == ')')
-         {
-          /*
-           * Yes, ends with a parenthesis, so remove it from the end and
-           * add the product to the list...
-           */
-
-           *ptr = '\0';
-           cupsArrayAdd(products, strdup(product));
-         }
-       }
-      }
-      else if (!strncmp(line, "*PSVersion:", 11))
-      {
-       sscanf(line, "%*[^\"]\"%255[^\"]", psversion);
-       cupsArrayAdd(psversions, strdup(psversion));
-      }
-      else if (!strncmp(line, "*cupsLanguages:", 15))
-      {
-        char   *start;                 /* Start of language */
-
-
-        for (start = line + 15; *start && isspace(*start & 255); start ++);
-
-       if (*start++ == '\"')
-       {
-         while (*start)
-         {
-           for (ptr = start + 1;
-                *ptr && *ptr != '\"' && !isspace(*ptr & 255);
-                ptr ++);
-
-            if (*ptr)
-           {
-             *ptr++ = '\0';
-
-             while (isspace(*ptr & 255))
-               *ptr++ = '\0';
-            }
-
-            cupsArrayAdd(cups_languages, strdup(start));
-           start = ptr;
-         }
-       }
-      }
-      else if (!strncmp(line, "*cupsFax:", 9))
-      {
-        for (ptr = line + 9; isspace(*ptr & 255); ptr ++);
-
-       if (!_cups_strncasecmp(ptr, "true", 4))
-          type = PPD_TYPE_FAX;
-      }
-      else if (!strncmp(line, "*cupsFilter:", 12) && type == PPD_TYPE_POSTSCRIPT)
-      {
-        if (strstr(line + 12, "application/vnd.cups-raster"))
-         type = PPD_TYPE_RASTER;
-        else if (strstr(line + 12, "application/vnd.cups-pdf"))
-         type = PPD_TYPE_PDF;
-      }
-      else if (!strncmp(line, "*cupsModelNumber:", 17))
-        sscanf(line, "*cupsModelNumber:%d", &model_number);
-      else if (!strncmp(line, "*OpenGroup: Installable", 23))
-        install_group = 1;
-      else if (!strncmp(line, "*CloseGroup:", 12))
-        install_group = 0;
-      else if (!strncmp(line, "*OpenUI", 7))
-      {
-       /*
-        * Stop early if we have a NickName or ModelName attributes
-       * before the first non-installable OpenUI...
-       */
-
-        if (!install_group && (model_name[0] || nick_name[0]) &&
-            cupsArrayCount(products) > 0 && cupsArrayCount(psversions) > 0)
-         break;
-      }
-    }
-
-   /*
-    * Close the file...
-    */
-
-    cupsFileClose(fp);
-
-   /*
-    * See if we got all of the required info...
-    */
-
-    if (nick_name[0])
-      cupsCharsetToUTF8((cups_utf8_t *)make_model, nick_name,
-                        sizeof(make_model), _ppdGetEncoding(lang_encoding));
-    else
-      strcpy(make_model, model_name);
-
-    while (isspace(make_model[0] & 255))
-      _cups_strcpy(make_model, make_model + 1);
-
-    if (!make_model[0] || cupsArrayCount(products) == 0 ||
-        cupsArrayCount(psversions) == 0)
+    if (!strncmp(line, "*PPD-Adobe:", 11))
     {
      /*
-      * We don't have all the info needed, so skip this file...
+      * Yes, load it...
       */
 
-      if (!make_model[0])
-        fprintf(stderr, "WARNING: Missing NickName and ModelName in %s!\n",
-               filename);
-
-      if (cupsArrayCount(products) == 0)
-        fprintf(stderr, "WARNING: Missing Product in %s!\n", filename);
-
-      if (cupsArrayCount(psversions) == 0)
-        fprintf(stderr, "WARNING: Missing PSVersion in %s!\n", filename);
-
-      free_array(products);
-      free_array(psversions);
-      free_array(cups_languages);
-
-      continue;
+      load_ppd(filename, name, "file", &dent->fileinfo, ppd, fp, 0);
     }
-
-    if (model_name[0])
-      cupsArrayAdd(products, strdup(model_name));
-
-   /*
-    * Normalize the make and model string...
-    */
-
-    while (isspace(manufacturer[0] & 255))
-      _cups_strcpy(manufacturer, manufacturer + 1);
-
-    if (!_cups_strncasecmp(make_model, manufacturer, strlen(manufacturer)))
-      strlcpy(temp, make_model, sizeof(temp));
     else
-      snprintf(temp, sizeof(temp), "%s %s", manufacturer, make_model);
-
-    _ppdNormalizeMakeAndModel(temp, make_model, sizeof(make_model));
-
-   /*
-    * See if we got a manufacturer...
-    */
-
-    if (!manufacturer[0] || !strcmp(manufacturer, "ESP"))
     {
      /*
-      * Nope, copy the first part of the make and model then...
+      * Nope, treat it as a driver information file or archive...
       */
 
-      strlcpy(manufacturer, make_model, sizeof(manufacturer));
+      cupsFileRewind(fp);
 
-     /*
-      * Truncate at the first space, dash, or slash, or make the
-      * manufacturer "Other"...
-      */
-
-      for (ptr = manufacturer; *ptr; ptr ++)
-       if (*ptr == ' ' || *ptr == '-' || *ptr == '/')
-         break;
-
-      if (*ptr && ptr > manufacturer)
-       *ptr = '\0';
+      if ((ptr = strstr(filename, ".tar")) != NULL &&
+          (!strcmp(ptr, ".tar") || !strcmp(ptr, ".tar.gz")))
+        load_tar(filename, name, fp, dent->fileinfo.st_mtime,
+                 dent->fileinfo.st_size);
       else
-       strcpy(manufacturer, "Other");
-    }
-    else if (!_cups_strncasecmp(manufacturer, "LHAG", 4) ||
-             !_cups_strncasecmp(manufacturer, "linotype", 8))
-      strcpy(manufacturer, "LHAG");
-    else if (!_cups_strncasecmp(manufacturer, "Hewlett", 7))
-      strcpy(manufacturer, "HP");
-
-   /*
-    * Fix the lang_version as needed...
-    */
-
-    if ((ptr = strchr(lang_version, '-')) != NULL)
-      *ptr++ = '\0';
-    else if ((ptr = strchr(lang_version, '_')) != NULL)
-      *ptr++ = '\0';
-
-    if (ptr)
-    {
-     /*
-      * Setup the country suffix...
-      */
-
-      country[0] = '_';
-      _cups_strcpy(country + 1, ptr);
-    }
-    else
-    {
-     /*
-      * No country suffix...
-      */
-
-      country[0] = '\0';
-    }
-
-    for (i = 0; i < (int)(sizeof(languages) / sizeof(languages[0])); i ++)
-      if (!_cups_strcasecmp(languages[i].version, lang_version))
-        break;
-
-    if (i < (int)(sizeof(languages) / sizeof(languages[0])))
-    {
-     /*
-      * Found a known language...
-      */
-
-      snprintf(lang_version, sizeof(lang_version), "%s%s",
-               languages[i].language, country);
-    }
-    else
-    {
-     /*
-      * Unknown language; use "xx"...
-      */
-
-      strcpy(lang_version, "xx");
+       load_drv(filename, name, fp, dent->fileinfo.st_mtime,
+                dent->fileinfo.st_size);
     }
 
    /*
-    * Record the PPD file...
-    */
-
-    new_ppd = !ppd;
-
-    if (new_ppd)
-    {
-     /*
-      * Add new PPD file...
-      */
-
-      fprintf(stderr, "DEBUG2: [cups-driverd] Adding ppd \"%s\"...\n", name);
-
-      ppd = add_ppd(name, name, lang_version, manufacturer, make_model,
-                    device_id, (char *)cupsArrayFirst(products),
-                    (char *)cupsArrayFirst(psversions),
-                    dent->fileinfo.st_mtime, dent->fileinfo.st_size,
-                   model_number, type, "file");
-
-      if (!ppd)
-      {
-        cupsDirClose(dir);
-       return (0);
-      }
-    }
-    else
-    {
-     /*
-      * Update existing record...
-      */
-
-      fprintf(stderr, "DEBUG2: [cups-driverd] Updating ppd \"%s\"...\n", name);
-
-      memset(ppd, 0, sizeof(ppd_info_t));
-
-      ppd->found               = 1;
-      ppd->record.mtime        = dent->fileinfo.st_mtime;
-      ppd->record.size         = dent->fileinfo.st_size;
-      ppd->record.model_number = model_number;
-      ppd->record.type         = type;
-
-      strlcpy(ppd->record.filename, name, sizeof(ppd->record.filename));
-      strlcpy(ppd->record.name, name, sizeof(ppd->record.name));
-      strlcpy(ppd->record.languages[0], lang_version,
-              sizeof(ppd->record.languages[0]));
-      strlcpy(ppd->record.products[0], (char *)cupsArrayFirst(products),
-              sizeof(ppd->record.products[0]));
-      strlcpy(ppd->record.psversions[0], (char *)cupsArrayFirst(psversions),
-              sizeof(ppd->record.psversions[0]));
-      strlcpy(ppd->record.make, manufacturer, sizeof(ppd->record.make));
-      strlcpy(ppd->record.make_and_model, make_model,
-              sizeof(ppd->record.make_and_model));
-      strlcpy(ppd->record.device_id, device_id, sizeof(ppd->record.device_id));
-      strlcpy(ppd->record.scheme, "file", sizeof(ppd->record.scheme));
-    }
-
-   /*
-    * Add remaining products, versions, and languages...
-    */
-
-    for (i = 1;
-         i < PPD_MAX_PROD && (ptr = (char *)cupsArrayNext(products)) != NULL;
-        i ++)
-      strlcpy(ppd->record.products[i], ptr,
-              sizeof(ppd->record.products[0]));
-
-    for (i = 1;
-         i < PPD_MAX_VERS && (ptr = (char *)cupsArrayNext(psversions)) != NULL;
-        i ++)
-      strlcpy(ppd->record.psversions[i], ptr,
-              sizeof(ppd->record.psversions[0]));
-
-    for (i = 1, ptr = (char *)cupsArrayFirst(cups_languages);
-         i < PPD_MAX_LANG && ptr;
-        i ++, ptr = (char *)cupsArrayNext(cups_languages))
-      strlcpy(ppd->record.languages[i], ptr,
-              sizeof(ppd->record.languages[0]));
-
-   /*
-    * Free products, versions, and languages...
+    * Close the file...
     */
 
-    free_array(cups_languages);
-    free_array(products);
-    free_array(psversions);
-
-    ChangedPPD = 1;
+    cupsFileClose(fp);
   }
 
   cupsDirClose(dir);
@@ -2367,10 +2617,14 @@ load_ppds_dat(char   *filename,         /* I - Filename buffer */
   PPDsByMakeModel = cupsArrayNew((cups_array_func_t)compare_ppds, NULL);
   ChangedPPD      = 0;
 
-  if ((cups_cachedir = getenv("CUPS_CACHEDIR")) == NULL)
-    cups_cachedir = CUPS_CACHEDIR;
+  if (!filename[0])
+  {
+    if ((cups_cachedir = getenv("CUPS_CACHEDIR")) == NULL)
+      cups_cachedir = CUPS_CACHEDIR;
+
+    snprintf(filename, filesize, "%s/ppds.dat", cups_cachedir);
+  }
 
-  snprintf(filename, filesize, "%s/ppds.dat", cups_cachedir);
   if ((fp = cupsFileOpen(filename, "r")) != NULL)
   {
    /*
@@ -2425,6 +2679,117 @@ load_ppds_dat(char   *filename,         /* I - Filename buffer */
 
 
 /*
+ * 'load_tar()' - Load archived PPD files.
+ */
+
+static int                             /* O - 1 on success, 0 on failure */
+load_tar(const char  *filename,                /* I - Actual filename */
+         const char  *name,            /* I - Name to the rest of the world */
+         cups_file_t *fp,              /* I - File to read from */
+        time_t      mtime,             /* I - Mod time of driver info file */
+        off_t       size)              /* I - Size of driver info file */
+{
+  char         curname[256],           /* Current archive file name */
+               uri[1024];              /* Virtual file URI */
+  const char   *curext;                /* Extension on file */
+  struct stat  curinfo;                /* Current archive file information */
+  off_t                next;                   /* Position for next header */
+
+
+ /*
+  * Add a dummy entry for the file...
+  */
+
+  (void)filename;
+
+  add_ppd(name, name, "", "", "", "", "", "", mtime, size, 0,
+          PPD_TYPE_ARCHIVE, "file");
+  ChangedPPD = 1;
+
+ /*
+  * Scan for PPDs in the archive...
+  */
+
+  while (read_tar(fp, curname, sizeof(curname), &curinfo))
+  {
+    next = cupsFileTell(fp) + ((curinfo.st_size + TAR_BLOCK - 1) &
+                               ~(TAR_BLOCK - 1));
+
+    if ((curext = strrchr(curname, '.')) != NULL &&
+        !_cups_strcasecmp(curext, ".ppd"))
+    {
+      httpAssembleURIf(HTTP_URI_CODING_ALL, uri, sizeof(uri), "file", "", "",
+                       0, "/%s/%s", name, curname);
+      load_ppd(name, uri, "file", &curinfo, NULL, fp, next);
+    }
+
+    if (cupsFileTell(fp) != next)
+      cupsFileSeek(fp, next);
+  }
+
+  return (1);
+}
+
+
+/*
+ * 'read_tar()' - Read a file header from an archive.
+ *
+ * This function skips all directories and special files.
+ */
+
+static int                             /* O - 1 if found, 0 on EOF */
+read_tar(cups_file_t *fp,              /* I - Archive to read */
+         char        *name,            /* I - Filename buffer */
+         size_t      namesize,         /* I - Size of filename buffer */
+         struct stat *info)            /* O - File information */
+{
+  tar_rec_t    record;                 /* Record from file */
+
+
+  while (cupsFileRead(fp, (char *)&record, sizeof(record)) == sizeof(record))
+  {
+   /*
+    * Check for a valid tar header...
+    */
+
+    if (memcmp(record.header.magic, TAR_MAGIC, 6) ||
+        memcmp(record.header.version, TAR_VERSION, 2))
+    {
+      if (record.header.magic[0] ||
+          memcmp(record.header.magic, record.header.magic + 1, 5))
+       fputs("ERROR: [cups-driverd] Bad tar magic/version.\n", stderr);
+      break;
+    }
+
+   /*
+    * Ignore non-files...
+    */
+
+    if (record.header.linkflag != TAR_OLDNORMAL &&
+        record.header.linkflag != TAR_NORMAL)
+      continue;
+
+   /*
+    * Grab size and name from tar header and return...
+    */
+
+    if (record.header.prefix[0])
+      snprintf(name, namesize, "%s/%s", record.header.prefix,
+               record.header.pathname);
+    else
+      strlcpy(name, record.header.pathname, namesize);
+
+    info->st_mtime = strtol(record.header.mtime, NULL, 8);
+    info->st_size  = strtoll(record.header.size, NULL, 8);
+
+    return (1);
+  }
+
+  return (0);
+}
+
+
+/*
  * 'regex_device_id()' - Compile a regular expression based on the 1284 device
  *                       ID.
  */
@@ -2582,5 +2947,5 @@ regex_string(const char *s)               /* I - String to compare */
 
 
 /*
- * End of "$Id: cups-driverd.cxx 10276 2012-02-13 22:48:22Z mike $".
+ * End of "$Id: cups-driverd.cxx 11173 2013-07-23 12:31:34Z msweet $".
  */
index 6918c7f..6d0d3d8 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: cups-exec.c 9931 2011-08-29 20:12:39Z mike $"
+ * "$Id: cups-exec.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Sandbox helper for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *
  *   These coded instructions, statements, and computer programs are the
  *   property of Apple Inc. and are protected by Federal copyright
@@ -31,6 +31,7 @@
 #  ifndef SANDBOX_NAMED_EXTERNAL
 #    define SANDBOX_NAMED_EXTERNAL  0x0003
 #  endif /* !SANDBOX_NAMED_EXTERNAL */
+#  pragma GCC diagnostic ignored "-Wdeprecated-declarations"
 #endif /* HAVE_SANDBOX_H */
 
 
@@ -104,5 +105,5 @@ main(int  argc,                             /* I - Number of command-line args */
 
 
 /*
- * End of "$Id: cups-exec.c 9931 2011-08-29 20:12:39Z mike $".
+ * End of "$Id: cups-exec.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 7846ecf..bd6757b 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: cups-lpd.c 10379 2012-03-23 22:16:22Z mike $"
+ * "$Id: cups-lpd.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Line Printer Daemon interface for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -744,8 +744,7 @@ print_file(http_t     *http,                /* I - HTTP connection */
     ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_MIMETYPE,
                  "document-format", NULL, format);
 
-  if (last)
-    ippAddBoolean(request, IPP_TAG_OPERATION, "last-document", 1);
+  ippAddBoolean(request, IPP_TAG_OPERATION, "last-document", last);
 
  /*
   * Do the request...
@@ -1623,5 +1622,5 @@ smart_gets(char *s,                       /* I - Pointer to line buffer */
 
 
 /*
- * End of "$Id: cups-lpd.c 10379 2012-03-23 22:16:22Z mike $".
+ * End of "$Id: cups-lpd.c 11173 2013-07-23 12:31:34Z msweet $".
  */
diff --git a/scheduler/cups-polld.c b/scheduler/cups-polld.c
deleted file mode 100644 (file)
index 65b2e68..0000000
+++ /dev/null
@@ -1,470 +0,0 @@
-/*
- * "$Id: cups-polld.c 10321 2012-03-02 18:26:30Z mike $"
- *
- *   Polling daemon for CUPS.
- *
- *   Copyright 2007-2012 by Apple Inc.
- *   Copyright 1997-2006 by Easy Software Products, all rights reserved.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- * Contents:
- *
- *   main()           - Open sockets and poll until we are killed...
- *   dequote()        - Remote quotes from a string.
- *   poll_server()    - Poll the server for the given set of printers or
- *                      classes.
- *   sighup_handler() - Handle 'hangup' signals to restart polling.
- */
-
-/*
- * Include necessary headers...
- */
-
-#include <cups/cups-private.h>
-#include <signal.h>
-
-
-/*
- * Local globals...
- */
-
-static int     restart_polling = 1;
-
-
-/*
- * Local functions...
- */
-
-static char    *dequote(char *d, const char *s, int dlen);
-static int     poll_server(http_t *http, int sock, int port, int interval,
-                           const char *prefix);
-static void    sighup_handler(int sig);
-
-
-/*
- * 'main()' - Open sockets and poll until we are killed...
- */
-
-int                                    /* O - Exit status */
-main(int  argc,                                /* I - Number of command-line args */
-     char *argv[])                     /* I - Command-line arguments */
-{
-  http_t       *http;                  /* HTTP connection */
-  int          interval;               /* Polling interval */
-  int          sock;                   /* Browser sock */
-  int          port;                   /* Browser port */
-  int          val;                    /* Socket option value */
-  int          seconds,                /* Seconds left from poll */
-               remain;                 /* Total remaining time to sleep */
-  char         prefix[1024];           /* Prefix for log messages */
-#if defined(HAVE_SIGACTION) && !defined(HAVE_SIGSET)
-  struct sigaction action;             /* Actions for POSIX signals */
-#endif /* HAVE_SIGACTION && !HAVE_SIGSET */
-
-
- /*
-  * Catch hangup signals for when the network changes...
-  */
-
-#ifdef HAVE_SIGSET /* Use System V signals over POSIX to avoid bugs */
-  sigset(SIGHUP, sighup_handler);
-#elif defined(HAVE_SIGACTION)
-  memset(&action, 0, sizeof(action));
-
-  sigemptyset(&action.sa_mask);
-  sigaddset(&action.sa_mask, SIGHUP);
-  action.sa_handler = sighup_handler;
-  sigaction(SIGHUP, &action, NULL);
-#else
-  signal(SIGHUP, sighup_handler);
-#endif /* HAVE_SIGSET */
-
- /*
-  * Don't buffer log messages...
-  */
-
-  setbuf(stderr, NULL);
-
- /*
-  * The command-line must contain the following:
-  *
-  *    cups-polld server server-port interval port
-  */
-
-  if (argc != 5)
-  {
-    fputs("Usage: cups-polld server server-port interval port\n", stderr);
-    return (1);
-  }
-
-  interval = atoi(argv[3]);
-  port     = atoi(argv[4]);
-
-  if (interval < 2)
-    interval = 2;
-
-  snprintf(prefix, sizeof(prefix), "[cups-polld %s:%d]", argv[1], atoi(argv[2]));
-
- /*
-  * Open a broadcast socket...
-  */
-
-  if ((sock = socket(AF_INET, SOCK_DGRAM, 0)) < 0)
-  {
-    fprintf(stderr, "ERROR: %s Unable to open broadcast socket: %s\n", prefix,
-            strerror(errno));
-    return (1);
-  }
-
- /*
-  * Set the "broadcast" flag...
-  */
-
-  val = 1;
-  if (setsockopt(sock, SOL_SOCKET, SO_BROADCAST, &val, sizeof(val)))
-  {
-    fprintf(stderr, "ERROR: %s Unable to put socket in broadcast mode: %s\n",
-            prefix, strerror(errno));
-
-    close(sock);
-    return (1);
-  }
-
- /*
-  * Loop forever, asking for available printers and classes...
-  */
-
-  for (http = NULL; !ferror(stderr);)
-  {
-   /*
-    * Open a connection to the server...
-    */
-
-    if (restart_polling || !http)
-    {
-      restart_polling = 0;
-      httpClose(http);
-
-      if ((http = httpConnectEncrypt(argv[1], atoi(argv[2]),
-                                     cupsEncryption())) == NULL)
-      {
-       fprintf(stderr, "ERROR: %s Unable to connect to %s on port %s.\n",
-               prefix, argv[1], argv[2]);
-      }
-    }
-
-   /*
-    * Get the printers and classes...
-    */
-
-    remain = interval;
-
-    if (http && (seconds = poll_server(http, sock, port, interval, prefix)) > 0)
-      remain -= seconds;
-
-   /*
-    * Sleep for any remaining time...
-    */
-
-    if (remain > 0 && !restart_polling)
-      sleep(remain);
-  }
-
-  return (1);
-}
-
-
-/*
- * 'dequote()' - Remote quotes from a string.
- */
-
-static char *                          /* O - Dequoted string */
-dequote(char       *d,                 /* I - Destination string */
-        const char *s,                 /* I - Source string */
-       int        dlen)                /* I - Destination length */
-{
-  char *dptr;                          /* Pointer into destination */
-
-
-  if (s)
-  {
-    for (dptr = d, dlen --; *s && dlen > 0; s ++)
-      if (*s != '\"')
-      {
-       *dptr++ = *s;
-       dlen --;
-      }
-
-    *dptr = '\0';
-  }
-  else
-    *d = '\0';
-
-  return (d);
-}
-
-
-/*
- * 'poll_server()' - Poll the server for the given set of printers or classes.
- */
-
-static int                             /* O - Number of seconds or -1 on error */
-poll_server(http_t      *http,         /* I - HTTP connection */
-           int         sock,           /* I - Broadcast sock */
-           int         port,           /* I - Broadcast port */
-           int         interval,       /* I - Polling interval */
-           const char  *prefix)        /* I - Prefix for log messages */
-{
-  int                  seconds;        /* Number of seconds */
-  int                  count,          /* Current number of printers/classes */
-                       max_count;      /* Maximum printers/classes per second */
-  ipp_t                        *request,       /* Request data */
-                       *response;      /* Response data */
-  ipp_attribute_t      *attr;          /* Current attribute */
-  const char           *uri;           /* printer-uri */
-  char                 info[1024],     /* printer-info */
-                       job_sheets[1024],/* job-sheets-default */
-                       location[1024], /* printer-location */
-                       make_model[1024];
-                                       /* printer-make-and-model */
-  cups_ptype_t         type;           /* printer-type */
-  ipp_pstate_t         state;          /* printer-state */
-  int                  accepting;      /* printer-is-accepting-jobs */
-  struct sockaddr_in   addr;           /* Broadcast address */
-  char                 packet[1540];   /* Data packet */
-  static const char * const attrs[] =  /* Requested attributes */
-                       {
-                         "job-sheets-default",
-                         "printer-info",
-                         "printer-is-accepting-jobs",
-                         "printer-location",
-                         "printer-make-and-model",
-                         "printer-name",
-                         "printer-state",
-                         "printer-type",
-                         "printer-uri-supported"
-                       };
-
-
- /*
-  * Broadcast to 127.0.0.1 (localhost)
-  */
-
-  memset(&addr, 0, sizeof(addr));
-  addr.sin_addr.s_addr = htonl(0x7f000001);
-  addr.sin_family      = AF_INET;
-  addr.sin_port        = htons(port);
-
- /*
-  * Build a CUPS_GET_PRINTERS request and pass along a list of the
-  * attributes we are interested in along with the types of printers
-  * (and classes) we want.
-  */
-
-  request = ippNewRequest(CUPS_GET_PRINTERS);
-
-  ippAddStrings(request, IPP_TAG_OPERATION, IPP_TAG_KEYWORD,
-               "requested-attributes", sizeof(attrs) / sizeof(attrs[0]),
-              NULL, attrs);
-
-  ippAddInteger(request, IPP_TAG_OPERATION, IPP_TAG_ENUM,
-                "printer-type", 0);
-  ippAddInteger(request, IPP_TAG_OPERATION, IPP_TAG_ENUM,
-                "printer-type-mask",
-               CUPS_PRINTER_REMOTE | CUPS_PRINTER_IMPLICIT |
-               CUPS_PRINTER_NOT_SHARED);
-
- /*
-  * Do the request and get back a response...
-  */
-
-  seconds  = time(NULL);
-  response = cupsDoRequest(http, request, "/");
-
-  if (cupsLastError() > IPP_OK_CONFLICT)
-  {
-    fprintf(stderr, "ERROR: %s CUPS-Get-Printers failed: %s\n", prefix,
-            cupsLastErrorString());
-    ippDelete(response);
-    restart_polling = 1;
-    return (-1);
-  }
-
-  if (response)
-  {
-   /*
-    * Figure out how many printers/classes we have...
-    */
-
-    for (attr = ippFindAttribute(response, "printer-name", IPP_TAG_NAME),
-             max_count = 0;
-        attr != NULL;
-        attr = ippFindNextAttribute(response, "printer-name", IPP_TAG_NAME),
-            max_count ++);
-
-    fprintf(stderr, "DEBUG: %s Found %d printers.\n", prefix, max_count);
-
-    count     = 0;
-    max_count = 2 * max_count / interval + 1;
-
-   /*
-    * Loop through the printers or classes returned in the list...
-    */
-
-    for (attr = response->attrs; attr; attr = attr->next)
-    {
-     /*
-      * Skip leading attributes until we hit a printer...
-      */
-
-      while (attr && attr->group_tag != IPP_TAG_PRINTER)
-        attr = attr->next;
-
-      if (!attr)
-        break;
-
-     /*
-      * Pull the needed attributes from this printer...
-      */
-
-      uri           = NULL;
-      info[0]       = '\0';
-      job_sheets[0] = '\0';
-      location[0]   = '\0';
-      make_model[0] = '\0';
-      type          = CUPS_PRINTER_REMOTE;
-      accepting     = 1;
-      state         = IPP_PRINTER_IDLE;
-
-      while (attr != NULL && attr->group_tag == IPP_TAG_PRINTER)
-      {
-        if (!strcmp(attr->name, "job-sheets-default") &&
-           (attr->value_tag == IPP_TAG_NAME ||
-            attr->value_tag == IPP_TAG_KEYWORD))
-       {
-         if (attr->num_values == 1)
-           snprintf(job_sheets, sizeof(job_sheets), " job-sheets=%s",
-                    attr->values[0].string.text);
-          else
-           snprintf(job_sheets, sizeof(job_sheets), " job-sheets=%s,%s",
-                    attr->values[0].string.text,
-                    attr->values[1].string.text);
-       }
-        else if (!strcmp(attr->name, "printer-uri-supported") &&
-                attr->value_tag == IPP_TAG_URI)
-         uri = attr->values[0].string.text;
-        else if (!strcmp(attr->name, "printer-info") &&
-                attr->value_tag == IPP_TAG_TEXT)
-         dequote(info, attr->values[0].string.text, sizeof(info));
-        else if (!strcmp(attr->name, "printer-is-accepting-jobs") &&
-                attr->value_tag == IPP_TAG_BOOLEAN)
-         accepting = attr->values[0].boolean;
-        else if (!strcmp(attr->name, "printer-location") &&
-                attr->value_tag == IPP_TAG_TEXT)
-         dequote(location, attr->values[0].string.text, sizeof(location));
-        else if (!strcmp(attr->name, "printer-make-and-model") &&
-                attr->value_tag == IPP_TAG_TEXT)
-         dequote(make_model, attr->values[0].string.text, sizeof(location));
-        else if (!strcmp(attr->name, "printer-state") &&
-                attr->value_tag == IPP_TAG_ENUM)
-         state = (ipp_pstate_t)attr->values[0].integer;
-        else if (!strcmp(attr->name, "printer-type") &&
-                attr->value_tag == IPP_TAG_ENUM)
-         type = (cups_ptype_t)attr->values[0].integer;
-
-        attr = attr->next;
-      }
-
-     /*
-      * See if we have everything needed...
-      */
-
-      if (uri == NULL)
-      {
-        if (attr == NULL)
-         break;
-       else
-          continue;
-      }
-
-     /*
-      * Send the printer information...
-      */
-
-      type |= CUPS_PRINTER_REMOTE;
-
-      if (!accepting)
-       type |= CUPS_PRINTER_REJECTING;
-
-      snprintf(packet, sizeof(packet),
-               "%x %x %s \"%s\" \"%s\" \"%s\" lease-duration=%d%s\n",
-               type, state, uri, location, info, make_model, interval * 2,
-              job_sheets);
-
-      fprintf(stderr, "DEBUG2: %s Sending %s", prefix, packet);
-
-      if (sendto(sock, packet, strlen(packet), 0,
-                (struct sockaddr *)&addr, sizeof(addr)) <= 0)
-      {
-       ippDelete(response);
-       perror("cups-polld");
-       return (-1);
-      }
-
-     /*
-      * Throttle the local broadcasts as needed so that we don't
-      * overwhelm the local server...
-      */
-
-      count ++;
-      if (count >= max_count)
-      {
-       /*
-       * Sleep for a second...
-       */
-
-       count = 0;
-
-       sleep(1);
-      }
-
-      if (!attr || restart_polling)
-        break;
-    }
-
-    ippDelete(response);
-  }
-
- /*
-  * Return the number of seconds we used...
-  */
-
-  return (time(NULL) - seconds);
-}
-
-
-/*
- * 'sighup_handler()' - Handle 'hangup' signals to restart polling.
- */
-
-static void
-sighup_handler(int sig)                        /* I - Signal number */
-{
-  (void)sig;
-
-  restart_polling = 1;
-
-#if !defined(HAVE_SIGSET) && !defined(HAVE_SIGACTION)
-  signal(SIGHUP, sighup_handler);
-#endif /* !HAVE_SIGSET && !HAVE_SIGACTION */
-}
-
-
-/*
- * End of "$Id: cups-polld.c 10321 2012-03-02 18:26:30Z mike $".
- */
index 133bca6..ff72c1c 100644 (file)
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# "$Id: cups.sh.in 9949 2011-08-31 04:58:33Z mike $"
+# "$Id: cups.sh.in 11173 2013-07-23 12:31:34Z msweet $"
 #
 #   Startup/shutdown script for CUPS.
 #
@@ -233,5 +233,5 @@ exit 0
 
 
 #
-# End of "$Id: cups.sh.in 9949 2011-08-31 04:58:33Z mike $".
+# End of "$Id: cups.sh.in 11173 2013-07-23 12:31:34Z msweet $".
 #
index ba614ce..b76ad02 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0"?>
 <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
 <!--
-    $Id: cups.xml.in 9197 2010-07-08 17:23:08Z mike $
+    $Id: cups.xml.in 11173 2013-07-23 12:31:34Z msweet $
 
     Service manifest for CUPS.
 
index 55d5ccb..48ea1d7 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: cupsd.h 9766 2011-05-11 22:17:34Z mike $"
+ * "$Id: cupsd.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Main header file for the CUPS scheduler.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -82,12 +82,10 @@ extern const char *cups_hstrerror(int);
  * Defaults...
  */
 
-#define DEFAULT_HISTORY                1       /* Preserve job history? */
-#define DEFAULT_FILES          0       /* Preserve job files? */
+#define DEFAULT_HISTORY                INT_MAX /* Preserve job history? */
+#define DEFAULT_FILES          86400   /* Preserve job files? */
 #define DEFAULT_TIMEOUT                300     /* Timeout during requests/updates */
 #define DEFAULT_KEEPALIVE      30      /* Timeout between requests */
-#define DEFAULT_INTERVAL       30      /* Interval between browse updates */
-#define DEFAULT_CHARSET                "utf-8" /* Default charset */
 
 
 /*
@@ -118,6 +116,7 @@ extern const char *cups_hstrerror(int);
 #include "printers.h"
 #include "classes.h"
 #include "job.h"
+#include "colorman.h"
 #include "conf.h"
 #include "banners.h"
 #include "dirsvc.h"
@@ -161,13 +160,6 @@ VAR int                    NeedReload      VALUE(RELOAD_ALL),
 VAR void               *DefaultProfile VALUE(0);
                                        /* Default security profile */
 
-#ifdef HAVE_GSSAPI
-VAR int                        KerberosInitialized     VALUE(0);
-                                       /* Has Kerberos been initialized? */
-VAR krb5_context       KerberosContext VALUE(NULL);
-                                       /* Kerberos context for credentials */
-#endif /* HAVE_GSSAPI */
-
 #ifdef HAVE_LAUNCH_H
 VAR int                        Launchd         VALUE(0);
                                        /* Running from launchd */
@@ -183,10 +175,7 @@ extern void                cupsdInitEnv(void);
 extern int             cupsdLoadEnv(char *envp[], int envmax);
 extern void            cupsdSetEnv(const char *name, const char *value);
 extern void            cupsdSetEnvf(const char *name, const char *value, ...)
-#ifdef __GNUC__
-__attribute__ ((__format__ (__printf__, 2, 3)))
-#endif /* __GNUC__ */
-;
+                       __attribute__ ((__format__ (__printf__, 2, 3)));
 extern void            cupsdUpdateEnv(void);
 
 /* file.c */
@@ -210,10 +199,7 @@ extern char                *cupsdMakeUUID(const char *name, int number,
 extern void            cupsdReleaseSignals(void);
 extern void            cupsdSetString(char **s, const char *v);
 extern void            cupsdSetStringf(char **s, const char *f, ...)
-#ifdef __GNUC__
-__attribute__ ((__format__ (__printf__, 2, 3)))
-#endif /* __GNUC__ */
-;
+                       __attribute__ ((__format__ (__printf__, 2, 3)));
 
 /* process.c */
 extern void            *cupsdCreateProfile(int job_id);
@@ -244,5 +230,5 @@ extern void         cupsdStopServer(void);
 
 
 /*
- * End of "$Id: cupsd.h 9766 2011-05-11 22:17:34Z mike $".
+ * End of "$Id: cupsd.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index 9f21a52..4b471d5 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: cupsfilter.c 9862 2011-08-03 02:44:09Z mike $"
+ * "$Id: cupsfilter.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Filtering program for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2013 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -102,7 +102,7 @@ static int          open_pipe(int *fds);
 static int             read_cupsd_conf(const char *filename);
 static void            set_string(char **s, const char *val);
 static void            sighandler(int sig);
-static void            usage(const char *command, const char *opt);
+static void            usage(const char *opt) __attribute__((noreturn));
 
 
 /*
@@ -192,7 +192,7 @@ main(int  argc,                             /* I - Number of command-line args */
              if (i < argc && !infile)
                infile = argv[i];
              else
-               usage(command, opt);
+               usage(opt);
              break;
 
           case 'a' : /* Specify option... */
@@ -200,7 +200,7 @@ main(int  argc,                             /* I - Number of command-line args */
              if (i < argc)
                num_options = cupsParseOptions(argv[i], num_options, &options);
              else
-               usage(command, opt);
+               usage(opt);
              break;
 
           case 'c' : /* Specify cupsd.conf file location... */
@@ -214,7 +214,7 @@ main(int  argc,                             /* I - Number of command-line args */
                  strlcpy(cupsdconf, argv[i], sizeof(cupsdconf));
              }
              else
-               usage(command, opt);
+               usage(opt);
              break;
 
           case 'd' : /* Specify the real printer name */
@@ -222,7 +222,7 @@ main(int  argc,                             /* I - Number of command-line args */
              if (i < argc)
                printer = argv[i];
              else
-               usage(command, opt);
+               usage(opt);
              break;
 
          case 'D' : /* Delete input file after conversion */
@@ -238,7 +238,7 @@ main(int  argc,                             /* I - Number of command-line args */
              if (i < argc && !infile)
                infile = argv[i];
              else
-               usage(command, opt);
+               usage(opt);
              break;
 
           case 'i' : /* Specify source MIME type... */
@@ -246,12 +246,12 @@ main(int  argc,                           /* I - Number of command-line args */
              if (i < argc)
              {
                if (sscanf(argv[i], "%15[^/]/%255s", super, type) != 2)
-                 usage(command, opt);
+                 usage(opt);
 
                 srctype = argv[i];
              }
              else
-               usage(command, opt);
+               usage(opt);
              break;
 
           case 'j' : /* Get job file or specify destination MIME type... */
@@ -264,7 +264,7 @@ main(int  argc,                             /* I - Number of command-line args */
                  infile = TempFile;
                }
                else
-                 usage(command, opt);
+                 usage(opt);
 
                 break;
              }
@@ -274,12 +274,12 @@ main(int  argc,                           /* I - Number of command-line args */
              if (i < argc)
              {
                if (sscanf(argv[i], "%15[^/]/%255s", super, type) != 2)
-                 usage(command, opt);
+                 usage(opt);
 
                 dsttype = argv[i];
              }
              else
-               usage(command, opt);
+               usage(opt);
              break;
 
           case 'n' : /* Specify number of copies... */
@@ -288,7 +288,7 @@ main(int  argc,                             /* I - Number of command-line args */
                num_options = cupsAddOption("copies", argv[i], num_options,
                                            &options);
              else
-               usage(command, opt);
+               usage(opt);
              break;
 
           case 'o' : /* Specify option(s) or output filename */
@@ -298,7 +298,7 @@ main(int  argc,                             /* I - Number of command-line args */
                if (!strcmp(command, "convert"))
                {
                  if (outfile)
-                   usage(command, NULL);
+                   usage(NULL);
                  else
                    outfile = argv[i];
                }
@@ -307,7 +307,7 @@ main(int  argc,                             /* I - Number of command-line args */
                                                 &options);
              }
              else
-               usage(command, opt);
+               usage(opt);
              break;
 
           case 'p' : /* Specify PPD file... */
@@ -316,7 +316,7 @@ main(int  argc,                             /* I - Number of command-line args */
              if (i < argc)
                ppdfile = argv[i];
              else
-               usage(command, opt);
+               usage(opt);
              break;
 
           case 't' : /* Specify title... */
@@ -325,7 +325,7 @@ main(int  argc,                             /* I - Number of command-line args */
              if (i < argc)
                title = argv[i];
              else
-               usage(command, opt);
+               usage(opt);
              break;
 
          case 'u' : /* Delete PPD file after conversion */
@@ -337,11 +337,11 @@ main(int  argc,                           /* I - Number of command-line args */
              if (i < argc)
                user = argv[i];
              else
-               usage(command, opt);
+               usage(opt);
              break;
 
          default : /* Something we don't understand... */
-             usage(command, opt);
+             usage(opt);
              break;
        }
     }
@@ -350,22 +350,17 @@ main(int  argc,                           /* I - Number of command-line args */
       if (strcmp(command, "convert"))
        infile = argv[i];
       else
-      {
-       _cupsLangPuts(stderr,
-                     _("convert: Use the -f option to specify a file to "
-                       "convert."));
-       usage(command, NULL);
-      }
+       usage(NULL);
     }
     else
     {
       _cupsLangPuts(stderr,
                     _("cupsfilter: Only one filename can be specified."));
-      usage(command, NULL);
+      usage(NULL);
     }
 
   if (!infile && !srctype)
-    usage(command, NULL);
+    usage(NULL);
 
   if (!title)
   {
@@ -414,6 +409,7 @@ main(int  argc,                             /* I - Number of command-line args */
 
   if (srctype)
   {
+   /* sscanf return value already checked above */
     sscanf(srctype, "%15[^/]/%255s", super, type);
     if ((src = mimeType(mime, super, type)) == NULL)
     {
@@ -431,6 +427,7 @@ main(int  argc,                             /* I - Number of command-line args */
     return (1);
   }
 
+ /* sscanf return value already checked above */
   sscanf(dsttype, "%15[^/]/%255s", super, type);
   if (!_cups_strcasecmp(super, "printer"))
     dst = printer_type;
@@ -658,7 +655,7 @@ add_printer_filters(
   mime_type_t  *printer_type;          /* Printer filter type */
 
 
-  if ((ppd = ppdOpenFile(ppdfile)) == NULL)
+  if ((ppd = _ppdOpenFile(ppdfile, _PPD_LOCALIZATION_NONE)) == NULL)
   {
     ppd_status_t       status;         /* PPD load status */
     int                        linenum;        /* Line number */
@@ -920,7 +917,7 @@ exec_filters(mime_type_t   *srctype,        /* I - Source type */
 {
   int          i;                      /* Looping var */
   const char   *argv[8],               /* Command-line arguments */
-               *envp[15],              /* Environment variables */
+               *envp[16],              /* Environment variables */
                *temp;                  /* Temporary string */
   char         *optstr,                /* Filter options */
                content_type[1024],     /* CONTENT_TYPE */
@@ -1043,7 +1040,8 @@ exec_filters(mime_type_t   *srctype,      /* I - Source type */
   envp[11] = printer_name;
   envp[12] = rip_max_cache;
   envp[13] = userenv;
-  envp[14] = NULL;
+  envp[14] = "CHARSET=utf-8";
+  envp[15] = NULL;
 
   for (i = 0; argv[i]; i ++)
     fprintf(stderr, "DEBUG: argv[%d]=\"%s\"\n", i, argv[i]);
@@ -1425,70 +1423,41 @@ sighandler(int s)                       /* I - Signal number */
  */
 
 static void
-usage(const char *command,             /* I - Command name */
-      const char *opt)                 /* I - Incorrect option, if any */
+usage(const char *opt)                 /* I - Incorrect option, if any */
 {
   if (opt)
-    _cupsLangPrintf(stderr, _("%s: Unknown option \"%c\"."), command, *opt);
-
-  if (!strcmp(command, "cupsfilter"))
-  {
-    _cupsLangPuts(stdout, _("Usage: cupsfilter [ options ] filename"));
-    _cupsLangPuts(stdout, _("Options:"));
-    _cupsLangPuts(stdout, _("  -D                      Remove the input file "
-                            "when finished."));
-    _cupsLangPuts(stdout, _("  -P filename.ppd         Set PPD file."));
-    _cupsLangPuts(stdout, _("  -U username             Set username for job."));
-    _cupsLangPuts(stdout, _("  -c cupsd.conf           Set cupsd.conf file to "
-                            "use."));
-    _cupsLangPuts(stdout, _("  -d printer              Use the named "
-                            "printer."));
-    _cupsLangPuts(stdout, _("  -e                      Use every filter from "
-                            "the PPD file."));
-    _cupsLangPuts(stdout, _("  -i mime/type            Set input MIME type "
-                            "(otherwise auto-typed)."));
-    _cupsLangPuts(stdout, _("  -j job-id[,N]           Filter file N from the "
-                            "specified job (default is file 1)."));
-    _cupsLangPuts(stdout, _("  -m mime/type            Set output MIME type "
-                           "(otherwise application/pdf)."));
-    _cupsLangPuts(stdout, _("  -n copies               Set number of copies."));
-    _cupsLangPuts(stdout, _("  -o name=value           Set option(s)."));
-    _cupsLangPuts(stdout, _("  -p filename.ppd         Set PPD file."));
-    _cupsLangPuts(stdout, _("  -t title                Set title."));
-    _cupsLangPuts(stdout, _("  -u                      Remove the PPD file "
-                            "when finished."));
-  }
-  else
-  {
-    _cupsLangPuts(stdout, _("Usage: convert [ options ]"));
-    _cupsLangPuts(stdout, _("Options:"));
-    _cupsLangPuts(stdout, _("  -D                      Remove the input file "
-                            "when finished."));
-    _cupsLangPuts(stdout, _("  -J title                Set title."));
-    _cupsLangPuts(stdout, _("  -P filename.ppd         Set PPD file."));
-    _cupsLangPuts(stdout, _("  -U username             Set username for job."));
-    _cupsLangPuts(stdout, _("  -a 'name=value ...'     Set option(s)."));
-    _cupsLangPuts(stdout, _("  -c copies               Set number of copies."));
-    _cupsLangPuts(stdout, _("  -d printer              Use the named "
-                            "printer."));
-    _cupsLangPuts(stdout, _("  -e                      Use every filter from "
-                            "the PPD file."));
-    _cupsLangPuts(stdout, _("  -f filename             Set file to be "
-                            "converted (otherwise stdin)."));
-    _cupsLangPuts(stdout, _("  -i mime/type            Set input MIME type "
-                            "(otherwise auto-typed)."));
-    _cupsLangPuts(stdout, _("  -j mime/type            Set output MIME type "
-                           "(otherwise application/pdf)."));
-    _cupsLangPuts(stdout, _("  -o filename             Set file to be "
-                            "generated (otherwise stdout)."));
-    _cupsLangPuts(stdout, _("  -u                      Remove the PPD file "
-                            "when finished."));
-  }
+    _cupsLangPrintf(stderr, _("%s: Unknown option \"%c\"."), "cupsfilter",
+                    *opt);
+
+  _cupsLangPuts(stdout, _("Usage: cupsfilter [ options ] filename"));
+  _cupsLangPuts(stdout, _("Options:"));
+  _cupsLangPuts(stdout, _("  -D                      Remove the input file "
+                         "when finished."));
+  _cupsLangPuts(stdout, _("  -P filename.ppd         Set PPD file."));
+  _cupsLangPuts(stdout, _("  -U username             Specify username."));
+  _cupsLangPuts(stdout, _("  -c cupsd.conf           Set cupsd.conf file to "
+                         "use."));
+  _cupsLangPuts(stdout, _("  -d printer              Use the named "
+                         "printer."));
+  _cupsLangPuts(stdout, _("  -e                      Use every filter from "
+                         "the PPD file."));
+  _cupsLangPuts(stdout, _("  -i mime/type            Set input MIME type "
+                         "(otherwise auto-typed)."));
+  _cupsLangPuts(stdout, _("  -j job-id[,N]           Filter file N from the "
+                         "specified job (default is file 1)."));
+  _cupsLangPuts(stdout, _("  -m mime/type            Set output MIME type "
+                         "(otherwise application/pdf)."));
+  _cupsLangPuts(stdout, _("  -n copies               Set number of copies."));
+  _cupsLangPuts(stdout, _("  -o name=value           Set option(s)."));
+  _cupsLangPuts(stdout, _("  -p filename.ppd         Set PPD file."));
+  _cupsLangPuts(stdout, _("  -t title                Set title."));
+  _cupsLangPuts(stdout, _("  -u                      Remove the PPD file "
+                         "when finished."));
 
   exit(1);
 }
 
 
 /*
- * End of "$Id: cupsfilter.c 9862 2011-08-03 02:44:09Z mike $".
+ * End of "$Id: cupsfilter.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 00e8807..bce0d64 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: dirsvc.c 10243 2012-02-11 02:05:21Z mike $"
+ * "$Id: dirsvc.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Directory services routines for the CUPS scheduler.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
  *
  * Contents:
  *
- *   cupsdDeregisterPrinter()   - Stop sending broadcast information for a local
- *                                printer and remove any pending references to
- *                                remote printers.
- *   cupsdLoadRemoteCache()     - Load the remote printer cache.
- *   cupsdRegisterPrinter()     - Start sending broadcast information for a
- *                                printer or update the broadcast contents.
- *   cupsdRestartPolling()      - Restart polling servers as needed.
- *   cupsdSaveRemoteCache()     - Save the remote printer cache.
- *   cupsdSendBrowseList()      - Send new browsing information as necessary.
- *   ldap_rebind_proc()         - Callback function for LDAP rebind
- *   ldap_connect()             - Start new LDAP connection
- *   ldap_reconnect()           - Reconnect to LDAP Server
- *   ldap_disconnect()          - Disconnect from LDAP Server
- *   cupsdStartBrowsing()       - Start sending and receiving broadcast
- *                                information.
- *   cupsdStartPolling()        - Start polling servers as needed.
- *   cupsdStopBrowsing()        - Stop sending and receiving broadcast
- *                                information.
- *   cupsdStopPolling()         - Stop polling servers as needed.
- *   cupsdUpdateDNSSDName()     - Update the computer name we use for
- *                                browsing...
- *   cupsdUpdateLDAPBrowse()    - Scan for new printers via LDAP...
- *   cupsdUpdateSLPBrowse()     - Get browsing information via SLP.
- *   dequote()                  - Remote quotes from a string.
- *   dnssdAddAlias()            - Add a DNS-SD alias name.
- *   dnssdBuildTxtRecord()      - Build a TXT record from printer info.
- *   dnssdComparePrinters()     - Compare the registered names of two printers.
- *   dnssdDeregisterPrinter()   - Stop sending broadcast information for a
- *                                printer.
- *   dnssdPackTxtRecord()       - Pack an array of key/value pairs into the TXT
- *                                record format.
- *   dnssdRegisterCallback()    - DNSServiceRegister callback.
- *   dnssdRegisterPrinter()     - Start sending broadcast information for a
- *                                printer or update the broadcast contents.
- *   dnssdStop()                - Stop all DNS-SD registrations.
- *   dnssdUpdate()              - Handle DNS-SD queries.
- *   get_auth_info_required()   - Get the auth-info-required value to advertise.
- *   get_hostconfig()           - Get an /etc/hostconfig service setting.
- *   is_local_queue()           - Determine whether the URI points at a local
- *                                queue.
- *   process_browse_data()      - Process new browse data.
- *   process_implicit_classes() - Create/update implicit classes as needed.
- *   send_cups_browse()         - Send new browsing information using the CUPS
- *                                protocol.
- *   ldap_search_rec()          - LDAP Search with reconnect
- *   ldap_freeres()             - Free LDAPMessage
- *   ldap_getval_char()         - Get first LDAP value and convert to string
- *   send_ldap_ou()             - Send LDAP ou registrations.
- *   send_ldap_browse()         - Send LDAP printer registrations.
- *   ldap_dereg_printer()       - Delete printer from directory
- *   ldap_dereg_ou()            - Remove the organizational unit.
- *   send_slp_browse()          - Register the specified printer with SLP.
- *   slp_attr_callback()        - SLP attribute callback
- *   slp_dereg_printer()        - SLPDereg() the specified printer
- *   slp_get_attr()             - Get an attribute from an SLP registration.
- *   slp_reg_callback()         - Empty SLPRegReport.
- *   slp_url_callback()         - SLP service url callback
- *   update_cups_browse()       - Update the browse lists using the CUPS
- *                                protocol.
- *   update_lpd()               - Update the LPD configuration as needed.
- *   update_polling()           - Read status messages from the poll daemons.
- *   update_smb()               - Update the SMB configuration as needed.
+ *   cupsdDeregisterPrinter()  - Stop sending broadcast information for a local
+ *                              printer and remove any pending references to
+ *                              remote printers.
+ *   cupsdRegisterPrinter()    - Start sending broadcast information for a
+ *                              printer or update the broadcast contents.
+ *   cupsdStartBrowsing()      - Start sending and receiving broadcast
+ *                              information.
+ *   cupsdStopBrowsing()       - Stop sending and receiving broadcast
+ *                              information.
+ *   cupsdUpdateDNSSDName()    - Update the computer name we use for
+ *                              browsing...
+ *   dnssdAddAlias()          - Add a DNS-SD alias name.
+ *   dnssdBuildTxtRecord()     - Build a TXT record from printer info.
+ *   dnssdDeregisterInstance() - Deregister a DNS-SD service instance.
+ *   dnssdDeregisterPrinter()  - Deregister all services for a printer.
+ *   dnssdErrorString()        - Return an error string for an error code.
+ *   dnssdRegisterCallback()   - Free a TXT record.
+ *   dnssdRegisterCallback()   - DNSServiceRegister callback.
+ *   dnssdRegisterInstance()   - Register an instance of a printer service.
+ *   dnssdRegisterPrinter()    - Start sending broadcast information for a
+ *                              printer or update the broadcast contents.
+ *   dnssdStop()              - Stop all DNS-SD registrations.
+ *   dnssdUpdate()            - Handle DNS-SD queries.
+ *   get_auth_info_required()  - Get the auth-info-required value to advertise.
+ *   get_hostconfig()         - Get an /etc/hostconfig service setting.
+ *   update_lpd()             - Update the LPD configuration as needed.
+ *   update_smb()             - Update the SMB configuration as needed.
  */
 
 /*
 #include "cupsd.h"
 #include <grp.h>
 
-#ifdef HAVE_DNSSD
-#  include <dns_sd.h>
-#  ifdef __APPLE__
-#    include <nameser.h>
-#    ifdef HAVE_COREFOUNDATION
-#      include <CoreFoundation/CoreFoundation.h>
-#    endif /* HAVE_COREFOUNDATION */
-#    ifdef HAVE_SYSTEMCONFIGURATION
-#      include <SystemConfiguration/SystemConfiguration.h>
-#    endif /* HAVE_SYSTEMCONFIGURATION */
-#  endif /* __APPLE__ */
-#endif /* HAVE_DNSSD */
+#if defined(HAVE_DNSSD) && defined(__APPLE__)
+#  include <nameser.h>
+#  include <CoreFoundation/CoreFoundation.h>
+#  include <SystemConfiguration/SystemConfiguration.h>
+#endif /* HAVE_DNSSD && __APPLE__ */
 
 
 /*
  * Local functions...
  */
 
-static char    *dequote(char *d, const char *s, int dlen);
-static char    *get_auth_info_required(cupsd_printer_t *p, char *buffer,
-                                       size_t bufsize);
+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
+static char            *get_auth_info_required(cupsd_printer_t *p,
+                                               char *buffer, size_t bufsize);
+#endif /* HAVE_DNSSD || HAVE_AVAHI */
 #ifdef __APPLE__
-static int     get_hostconfig(const char *name);
+static int             get_hostconfig(const char *name);
 #endif /* __APPLE__ */
-static int     is_local_queue(const char *uri, char *host, int hostlen,
-                              char *resource, int resourcelen);
-static void    process_browse_data(const char *uri, const char *host,
-                                   const char *resource, cups_ptype_t type,
-                                   ipp_pstate_t state, const char *location,
-                                   const char *info, const char *make_model,
-                                   int num_attrs, cups_option_t *attrs);
-static void    process_implicit_classes(void);
-static void    send_cups_browse(cupsd_printer_t *p);
-#ifdef HAVE_LDAP
-static LDAP    *ldap_connect(void);
-static LDAP    *ldap_reconnect(void);
-static void    ldap_disconnect(LDAP *ld);
-static int     ldap_search_rec(LDAP *ld, char *base, int scope,
-                                char *filter, char *attrs[],
-                                int attrsonly, LDAPMessage **res);
-static int     ldap_getval_firststring(LDAP *ld, LDAPMessage *entry,
-                                        char *attr, char *retval,
-                                        unsigned long maxsize);
-static void    ldap_freeres(LDAPMessage *entry);
-static void    send_ldap_ou(char *ou, char *basedn, char *descstring);
-static void    send_ldap_browse(cupsd_printer_t *p);
-static void    ldap_dereg_printer(cupsd_printer_t *p);
-static void    ldap_dereg_ou(char *ou, char *basedn);
-#  ifdef HAVE_LDAP_REBIND_PROC
-#    if defined(LDAP_API_FEATURE_X_OPENLDAP) && (LDAP_API_VERSION > 2000)
-static int     ldap_rebind_proc(LDAP *RebindLDAPHandle,
-                                 LDAP_CONST char *refsp,
-                                 ber_tag_t request,
-                                 ber_int_t msgid,
-                                 void *params);
-#    else
-static int     ldap_rebind_proc(LDAP *RebindLDAPHandle,
-                                 char **dnp,
-                                 char **passwdp,
-                                 int *authmethodp,
-                                 int freeit,
-                                 void *arg);
-#    endif /* defined(LDAP_API_FEATURE_X_OPENLDAP) && (LDAP_API_VERSION > 2000) */
-#  endif /* HAVE_LDAP_REBIND_PROC */
-#endif /* HAVE_LDAP */
-#ifdef HAVE_LIBSLP
-static void    send_slp_browse(cupsd_printer_t *p);
-#endif /* HAVE_LIBSLP */
-static void    update_cups_browse(void);
-static void    update_lpd(int onoff);
-static void    update_polling(void);
-static void    update_smb(int onoff);
-
-
-#ifdef HAVE_DNSSD
-#  ifdef HAVE_COREFOUNDATION
-static void    dnssdAddAlias(const void *key, const void *value,
-                             void *context);
-#  endif /* HAVE_COREFOUNDATION */
-static char    *dnssdBuildTxtRecord(int *txt_len, cupsd_printer_t *p,
-                                    int for_lpd);
-static int     dnssdComparePrinters(cupsd_printer_t *a, cupsd_printer_t *b);
-static void    dnssdDeregisterPrinter(cupsd_printer_t *p);
-static char    *dnssdPackTxtRecord(int *txt_len, char *keyvalue[][2],
-                                   int count);
-static void    dnssdRegisterCallback(DNSServiceRef sdRef,
-                                     DNSServiceFlags flags,
-                                     DNSServiceErrorType errorCode,
-                                     const char *name, const char *regtype,
-                                     const char *domain, void *context);
-static void    dnssdRegisterPrinter(cupsd_printer_t *p);
-static void    dnssdStop(void);
-static void    dnssdUpdate(void);
-#endif /* HAVE_DNSSD */
-
-#ifdef HAVE_LDAP
-static const char * const ldap_attrs[] =/* CUPS LDAP attributes */
-               {
-                 "printerDescription",
-                 "printerLocation",
-                 "printerMakeAndModel",
-                 "printerType",
-                 "printerURI",
-                 NULL
-               };
-#endif /* HAVE_LDAP */
-
-#ifdef HAVE_LIBSLP
-/*
- * SLP definitions...
- */
-
-/*
- * SLP service name for CUPS...
- */
-
-#  define SLP_CUPS_SRVTYPE     "service:printer"
-#  define SLP_CUPS_SRVLEN      15
+static void            update_lpd(int onoff);
+static void            update_smb(int onoff);
 
 
-/*
- * Printer service URL structure
- */
-
-typedef struct _slpsrvurl_s            /**** SLP URL list ****/
-{
-  struct _slpsrvurl_s  *next;          /* Next URL in list */
-  char                 url[HTTP_MAX_URI];
-                                       /* URL */
-} slpsrvurl_t;
-
-
-/*
- * Local functions...
- */
-
-static SLPBoolean      slp_attr_callback(SLPHandle hslp, const char *attrlist,
-                                         SLPError errcode, void *cookie);
-static void            slp_dereg_printer(cupsd_printer_t *p);
-static int             slp_get_attr(const char *attrlist, const char *tag,
-                                    char **valbuf);
-static void            slp_reg_callback(SLPHandle hslp, SLPError errcode,
-                                        void *cookie);
-static SLPBoolean      slp_url_callback(SLPHandle hslp, const char *srvurl,
-                                        unsigned short lifetime,
-                                        SLPError errcode, void *cookie);
-#endif /* HAVE_LIBSLP */
+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
+#  ifdef __APPLE__
+static void            dnssdAddAlias(const void *key, const void *value,
+                                     void *context);
+#  endif /* __APPLE__ */
+static cupsd_txt_t     dnssdBuildTxtRecord(cupsd_printer_t *p, int for_lpd);
+static void            dnssdDeregisterInstance(cupsd_srv_t *srv);
+static void            dnssdDeregisterPrinter(cupsd_printer_t *p,
+                                              int clear_name);
+static const char      *dnssdErrorString(int error);
+static void            dnssdFreeTxtRecord(cupsd_txt_t *txt);
+#  ifdef HAVE_DNSSD
+static void            dnssdRegisterCallback(DNSServiceRef sdRef,
+                                             DNSServiceFlags flags,
+                                             DNSServiceErrorType errorCode,
+                                             const char *name,
+                                             const char *regtype,
+                                             const char *domain,
+                                             void *context);
+#  else
+static void            dnssdRegisterCallback(AvahiEntryGroup *p,
+                                             AvahiEntryGroupState state,
+                                             void *context);
+#  endif /* HAVE_DNSSD */
+static int             dnssdRegisterInstance(cupsd_srv_t *srv,
+                                             cupsd_printer_t *p,
+                                             char *name, const char *type,
+                                             const char *subtypes, int port,
+                                             cupsd_txt_t *txt, int commit);
+static void            dnssdRegisterPrinter(cupsd_printer_t *p);
+static void            dnssdStop(void);
+#  ifdef HAVE_DNSSD
+static void            dnssdUpdate(void);
+#  endif /* HAVE_DNSSD */
+#endif /* HAVE_DNSSD || HAVE_AVAHI */
 
 
 /*
@@ -254,5130 +129,1376 @@ cupsdDeregisterPrinter(
                  removeit);
 
   if (!Browsing || !p->shared ||
-      (p->type & (CUPS_PRINTER_REMOTE | CUPS_PRINTER_IMPLICIT |
-                  CUPS_PRINTER_SCANNER)))
+      (p->type & (CUPS_PRINTER_REMOTE | CUPS_PRINTER_SCANNER)))
     return;
 
  /*
   * Announce the deletion...
   */
 
-  if ((BrowseLocalProtocols & BROWSE_CUPS) && BrowseSocket >= 0)
-  {
-    cups_ptype_t savedtype = p->type;  /* Saved printer type */
-
-    p->type |= CUPS_PRINTER_DELETE;
+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
+  if (removeit && (BrowseLocalProtocols & BROWSE_DNSSD) && DNSSDMaster)
+    dnssdDeregisterPrinter(p, 1);
+#endif /* HAVE_DNSSD || HAVE_AVAHI */
+}
 
-    send_cups_browse(p);
 
-    p->type = savedtype;
-  }
+/*
+ * 'cupsdRegisterPrinter()' - Start sending broadcast information for a
+ *                            printer or update the broadcast contents.
+ */
 
-#ifdef HAVE_LIBSLP
-  if (BrowseLocalProtocols & BROWSE_SLP)
-    slp_dereg_printer(p);
-#endif /* HAVE_LIBSLP */
+void
+cupsdRegisterPrinter(cupsd_printer_t *p)/* I - Printer */
+{
+  cupsdLogMessage(CUPSD_LOG_DEBUG, "cupsdRegisterPrinter(p=%p(%s))", p,
+                  p->name);
 
-#ifdef HAVE_LDAP
-  if (BrowseLocalProtocols & BROWSE_LDAP)
-    ldap_dereg_printer(p);
-#endif /* HAVE_LDAP */
+  if (!Browsing || !BrowseLocalProtocols ||
+      (p->type & (CUPS_PRINTER_REMOTE | CUPS_PRINTER_SCANNER)))
+    return;
 
-#ifdef HAVE_DNSSD
-  if (removeit && (BrowseLocalProtocols & BROWSE_DNSSD) && DNSSDRef)
-    dnssdDeregisterPrinter(p);
-#endif /* HAVE_DNSSD */
+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
+  if ((BrowseLocalProtocols & BROWSE_DNSSD) && DNSSDMaster)
+    dnssdRegisterPrinter(p);
+#endif /* HAVE_DNSSD || HAVE_AVAHI */
 }
 
 
 /*
- * 'cupsdLoadRemoteCache()' - Load the remote printer cache.
+ * 'cupsdStartBrowsing()' - Start sending and receiving broadcast information.
  */
 
 void
-cupsdLoadRemoteCache(void)
+cupsdStartBrowsing(void)
 {
-  int                  i;              /* Looping var */
-  cups_file_t          *fp;            /* remote.cache file */
-  int                  linenum;        /* Current line number */
-  char                 line[4096],     /* Line from file */
-                       *value,         /* Pointer to value */
-                       *valueptr,      /* Pointer into value */
-                       scheme[32],     /* Scheme portion of URI */
-                       username[64],   /* Username portion of URI */
-                       host[HTTP_MAX_HOST],
-                                       /* Hostname portion of URI */
-                       resource[HTTP_MAX_URI];
-                                       /* Resource portion of URI */
-  int                  port;           /* Port number */
   cupsd_printer_t      *p;             /* Current printer */
-  time_t               now;            /* Current time */
-
 
- /*
-  * Don't load the cache if the remote protocols are disabled...
-  */
-
-  if (!Browsing)
-  {
-    cupsdLogMessage(CUPSD_LOG_DEBUG,
-                    "cupsdLoadRemoteCache: Not loading remote cache.");
-    return;
-  }
-
- /*
-  * Open the remote.cache file...
-  */
 
-  snprintf(line, sizeof(line), "%s/remote.cache", CacheDir);
-  if ((fp = cupsdOpenConfFile(line)) == NULL)
+  if (!Browsing || !BrowseLocalProtocols)
     return;
 
- /*
-  * Read printer configurations until we hit EOF...
-  */
-
-  linenum = 0;
-  p       = NULL;
-  now     = time(NULL);
-
-  while (cupsFileGetConf(fp, line, sizeof(line), &value, &linenum))
+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
+  if (BrowseLocalProtocols & BROWSE_DNSSD)
   {
+    cupsd_listener_t   *lis;           /* Current listening socket */
+#  ifdef HAVE_DNSSD
+    DNSServiceErrorType error;         /* Error from service creation */
+
    /*
-    * Decode the directive...
+    * First create a "master" connection for all registrations...
     */
 
-    if (!_cups_strcasecmp(line, "<Printer") ||
-        !_cups_strcasecmp(line, "<DefaultPrinter"))
+    if ((error = DNSServiceCreateConnection(&DNSSDMaster))
+           != kDNSServiceErr_NoError)
     {
-     /*
-      * <Printer name> or <DefaultPrinter name>
-      */
-
-      if (p == NULL && value)
-      {
-       /*
-        * Add the printer and a base file type...
-       */
-
-        cupsdLogMessage(CUPSD_LOG_DEBUG,
-                       "cupsdLoadRemoteCache: Loading printer %s...", value);
-
-        if ((p = cupsdFindDest(value)) != NULL)
-       {
-         if (p->type & CUPS_PRINTER_CLASS)
-         {
-           cupsdLogMessage(CUPSD_LOG_WARN,
-                           "Cached remote printer \"%s\" conflicts with "
-                           "existing class!",
-                           value);
-           p = NULL;
-           continue;
-         }
-       }
-       else
-          p = cupsdAddPrinter(value);
-
-       p->accepting     = 1;
-       p->state         = IPP_PRINTER_IDLE;
-       p->type          |= CUPS_PRINTER_REMOTE | CUPS_PRINTER_DISCOVERED;
-       p->browse_time   = now;
-       p->browse_expire = now + BrowseTimeout;
-
-       /*
-        * Set the default printer as needed...
-       */
+      cupsdLogMessage(CUPSD_LOG_ERROR,
+                     "Unable to create master DNS-SD reference: %d", error);
 
-        if (!_cups_strcasecmp(line, "<DefaultPrinter"))
-         DefaultPrinter = p;
-      }
-      else
-      {
-        cupsdLogMessage(CUPSD_LOG_ERROR,
-                       "Syntax error on line %d of remote.cache.", linenum);
-        break;
-      }
+      if (FatalErrors & CUPSD_FATAL_BROWSE)
+       cupsdEndProcess(getpid(), 0);
     }
-    else if (!_cups_strcasecmp(line, "<Class") ||
-             !_cups_strcasecmp(line, "<DefaultClass"))
+    else
     {
      /*
-      * <Class name> or <DefaultClass name>
+      * Add the master connection to the select list...
       */
 
-      if (p == NULL && value)
-      {
-       /*
-        * Add the printer and a base file type...
-       */
-
-        cupsdLogMessage(CUPSD_LOG_DEBUG,
-                       "cupsdLoadRemoteCache: Loading class %s...", value);
-
-        if ((p = cupsdFindDest(value)) != NULL)
-         p->type = CUPS_PRINTER_CLASS;
-       else
-          p = cupsdAddClass(value);
-
-       p->accepting     = 1;
-       p->state         = IPP_PRINTER_IDLE;
-       p->type          |= CUPS_PRINTER_REMOTE | CUPS_PRINTER_DISCOVERED;
-       p->browse_time   = now;
-       p->browse_expire = now + BrowseTimeout;
+      int fd = DNSServiceRefSockFD(DNSSDMaster);
 
-       /*
-        * Set the default printer as needed...
-       */
+      fcntl(fd, F_SETFD, fcntl(fd, F_GETFD) | FD_CLOEXEC);
 
-        if (!_cups_strcasecmp(line, "<DefaultClass"))
-         DefaultPrinter = p;
-      }
-      else
-      {
-        cupsdLogMessage(CUPSD_LOG_ERROR,
-                       "Syntax error on line %d of remote.cache.", linenum);
-        break;
-      }
+      cupsdAddSelect(fd, (cupsd_selfunc_t)dnssdUpdate, NULL, NULL);
     }
-    else if (!_cups_strcasecmp(line, "</Printer>") ||
-             !_cups_strcasecmp(line, "</Class>"))
-    {
-      if (p != NULL)
-      {
-       /*
-        * Close out the current printer...
-       */
 
-        cupsdSetPrinterAttrs(p);
-
-        p = NULL;
-      }
-      else
-        cupsdLogMessage(CUPSD_LOG_ERROR,
-                       "Syntax error on line %d of remote.cache.", linenum);
-    }
-    else if (!p)
-    {
-      cupsdLogMessage(CUPSD_LOG_ERROR,
-                      "Syntax error on line %d of remote.cache.", linenum);
-    }
-    else if (!_cups_strcasecmp(line, "UUID"))
-    {
-      if (value && !strncmp(value, "urn:uuid:", 9))
-        cupsdSetString(&(p->uuid), value);
-      else
-        cupsdLogMessage(CUPSD_LOG_ERROR,
-                       "Bad UUID on line %d of remote.cache.", linenum);
-    }
-    else if (!_cups_strcasecmp(line, "Info"))
-    {
-      if (value)
-       cupsdSetString(&p->info, value);
-    }
-    else if (!_cups_strcasecmp(line, "MakeModel"))
-    {
-      if (value)
-       cupsdSetString(&p->make_model, value);
-    }
-    else if (!_cups_strcasecmp(line, "Location"))
-    {
-      if (value)
-       cupsdSetString(&p->location, value);
-    }
-    else if (!_cups_strcasecmp(line, "DeviceURI"))
+#  else /* HAVE_AVAHI */
+    if ((DNSSDMaster = avahi_threaded_poll_new()) == NULL)
     {
-      if (value)
-      {
-       httpSeparateURI(HTTP_URI_CODING_ALL, value, scheme, sizeof(scheme),
-                       username, sizeof(username), host, sizeof(host), &port,
-                       resource, sizeof(resource));
+      cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to create DNS-SD thread.");
 
-       cupsdSetString(&p->hostname, host);
-       cupsdSetString(&p->uri, value);
-       cupsdSetDeviceURI(p, value);
-      }
-      else
-       cupsdLogMessage(CUPSD_LOG_ERROR,
-                       "Syntax error on line %d of remote.cache.", linenum);
+      if (FatalErrors & CUPSD_FATAL_BROWSE)
+       cupsdEndProcess(getpid(), 0);
     }
-    else if (!_cups_strcasecmp(line, "Option") && value)
+    else
     {
-     /*
-      * Option name value
-      */
+      int error;                       /* Error code, if any */
 
-      for (valueptr = value; *valueptr && !isspace(*valueptr & 255); valueptr ++);
+      DNSSDClient = avahi_client_new(avahi_threaded_poll_get(DNSSDMaster), 0,
+                                     NULL, NULL, &error);
 
-      if (!*valueptr)
-        cupsdLogMessage(CUPSD_LOG_ERROR,
-                       "Syntax error on line %d of remote.cache.", linenum);
-      else
+      if (DNSSDClient == NULL)
       {
-        for (; *valueptr && isspace(*valueptr & 255); *valueptr++ = '\0');
+        cupsdLogMessage(CUPSD_LOG_ERROR,
+                        "Unable to communicate with avahi-daemon: %s",
+                        dnssdErrorString(error));
 
-        p->num_options = cupsAddOption(value, valueptr, p->num_options,
-                                      &(p->options));
-      }
-    }
-    else if (!_cups_strcasecmp(line, "Reason"))
-    {
-      if (value)
-      {
-        for (i = 0 ; i < p->num_reasons; i ++)
-         if (!strcmp(value, p->reasons[i]))
-           break;
-
-        if (i >= p->num_reasons &&
-           p->num_reasons < (int)(sizeof(p->reasons) / sizeof(p->reasons[0])))
-       {
-         p->reasons[p->num_reasons] = _cupsStrAlloc(value);
-         p->num_reasons ++;
-       }
-      }
-      else
-       cupsdLogMessage(CUPSD_LOG_ERROR,
-                       "Syntax error on line %d of remote.cache.", linenum);
-    }
-    else if (!_cups_strcasecmp(line, "State"))
-    {
-     /*
-      * Set the initial queue state...
-      */
+        if (FatalErrors & CUPSD_FATAL_BROWSE)
+         cupsdEndProcess(getpid(), 0);
 
-      if (value && !_cups_strcasecmp(value, "idle"))
-        p->state = IPP_PRINTER_IDLE;
-      else if (value && !_cups_strcasecmp(value, "stopped"))
-      {
-        p->state = IPP_PRINTER_STOPPED;
-       cupsdSetPrinterReasons(p, "+paused");
+        avahi_threaded_poll_free(DNSSDMaster);
+        DNSSDMaster = NULL;
       }
       else
-       cupsdLogMessage(CUPSD_LOG_ERROR,
-                       "Syntax error on line %d of remote.cache.", linenum);
+       avahi_threaded_poll_start(DNSSDMaster);
     }
-    else if (!_cups_strcasecmp(line, "StateMessage"))
-    {
-     /*
-      * Set the initial queue state message...
-      */
+#  endif /* HAVE_DNSSD */
 
-      if (value)
-       strlcpy(p->state_message, value, sizeof(p->state_message));
-    }
-    else if (!_cups_strcasecmp(line, "Accepting"))
-    {
-     /*
-      * Set the initial accepting state...
-      */
+   /*
+    * Then get the port we use for registrations.  If we are not listening
+    * on any non-local ports, there is no sense sharing local printers via
+    * Bonjour...
+    */
 
-      if (value &&
-          (!_cups_strcasecmp(value, "yes") ||
-           !_cups_strcasecmp(value, "on") ||
-           !_cups_strcasecmp(value, "true")))
-        p->accepting = 1;
-      else if (value &&
-               (!_cups_strcasecmp(value, "no") ||
-               !_cups_strcasecmp(value, "off") ||
-               !_cups_strcasecmp(value, "false")))
-        p->accepting = 0;
-      else
-       cupsdLogMessage(CUPSD_LOG_ERROR,
-                       "Syntax error on line %d of remote.cache.", linenum);
-    }
-    else if (!_cups_strcasecmp(line, "Type"))
-    {
-      if (value)
-        p->type = atoi(value);
-      else
-       cupsdLogMessage(CUPSD_LOG_ERROR,
-                       "Syntax error on line %d of remote.cache.", linenum);
-    }
-    else if (!_cups_strcasecmp(line, "BrowseTime"))
-    {
-      if (value)
-      {
-        time_t t = atoi(value);
+    DNSSDPort = 0;
 
-       if (t > p->browse_expire)
-          p->browse_expire = t;
-      }
-      else
-       cupsdLogMessage(CUPSD_LOG_ERROR,
-                       "Syntax error on line %d of remote.cache.", linenum);
-    }
-    else if (!_cups_strcasecmp(line, "JobSheets"))
+    for (lis = (cupsd_listener_t *)cupsArrayFirst(Listeners);
+        lis;
+        lis = (cupsd_listener_t *)cupsArrayNext(Listeners))
     {
-     /*
-      * Set the initial job sheets...
-      */
-
-      if (value)
-      {
-       for (valueptr = value; *valueptr && !isspace(*valueptr & 255); valueptr ++);
-
-       if (*valueptr)
-          *valueptr++ = '\0';
-
-       cupsdSetString(&p->job_sheets[0], value);
+      if (httpAddrLocalhost(&(lis->address)))
+       continue;
 
-       while (isspace(*valueptr & 255))
-          valueptr ++;
+      DNSSDPort = _httpAddrPort(&(lis->address));
+      break;
+    }
 
-       if (*valueptr)
-       {
-          for (value = valueptr; *valueptr && !isspace(*valueptr & 255); valueptr ++);
+   /*
+    * Set the computer name and register the web interface...
+    */
 
-         if (*valueptr)
-            *valueptr = '\0';
+    cupsdUpdateDNSSDName();
+  }
+#endif /* HAVE_DNSSD || HAVE_AVAHI */
 
-         cupsdSetString(&p->job_sheets[1], value);
-       }
-      }
-      else
-       cupsdLogMessage(CUPSD_LOG_ERROR,
-                       "Syntax error on line %d of remote.cache.", linenum);
-    }
-    else if (!_cups_strcasecmp(line, "AllowUser"))
-    {
-      if (value)
-      {
-        p->deny_users = 0;
-        cupsdAddString(&(p->users), value);
-      }
-      else
-       cupsdLogMessage(CUPSD_LOG_ERROR,
-                       "Syntax error on line %d of remote.cache.", linenum);
-    }
-    else if (!_cups_strcasecmp(line, "DenyUser"))
-    {
-      if (value)
-      {
-        p->deny_users = 1;
-        cupsdAddString(&(p->users), value);
-      }
-      else
-       cupsdLogMessage(CUPSD_LOG_ERROR,
-                       "Syntax error on line %d of remote.cache.", linenum);
-    }
-    else
-    {
-     /*
-      * Something else we don't understand...
-      */
+ /*
+  * Enable LPD and SMB printer sharing as needed through external programs...
+  */
 
-      cupsdLogMessage(CUPSD_LOG_ERROR,
-                      "Unknown configuration directive %s on line %d of remote.cache.",
-                     line, linenum);
-    }
-  }
+  if (BrowseLocalProtocols & BROWSE_LPD)
+    update_lpd(1);
 
-  cupsFileClose(fp);
+  if (BrowseLocalProtocols & BROWSE_SMB)
+    update_smb(1);
 
  /*
-  * Do auto-classing if needed...
+  * Register the individual printers
   */
 
-  process_implicit_classes();
+  for (p = (cupsd_printer_t *)cupsArrayFirst(Printers);
+       p;
+       p = (cupsd_printer_t *)cupsArrayNext(Printers))
+    if (!(p->type & (CUPS_PRINTER_REMOTE | CUPS_PRINTER_SCANNER)))
+      cupsdRegisterPrinter(p);
 }
 
 
 /*
- * 'cupsdRegisterPrinter()' - Start sending broadcast information for a
- *                            printer or update the broadcast contents.
+ * 'cupsdStopBrowsing()' - Stop sending and receiving broadcast information.
  */
 
 void
-cupsdRegisterPrinter(cupsd_printer_t *p)/* I - Printer */
+cupsdStopBrowsing(void)
 {
-  cupsdLogMessage(CUPSD_LOG_DEBUG, "cupsdRegisterPrinter(p=%p(%s))", p,
-                  p->name);
+  cupsd_printer_t      *p;             /* Current printer */
 
-  if (!Browsing || !BrowseLocalProtocols ||
-      (p->type & (CUPS_PRINTER_REMOTE | CUPS_PRINTER_IMPLICIT |
-                  CUPS_PRINTER_SCANNER)))
+
+  if (!Browsing || !BrowseLocalProtocols)
     return;
 
-#ifdef HAVE_LIBSLP
-/*  if (BrowseLocalProtocols & BROWSE_SLP)
-    slpRegisterPrinter(p); */
-#endif /* HAVE_LIBSLP */
+ /*
+  * De-register the individual printers
+  */
 
-#ifdef HAVE_DNSSD
-  if ((BrowseLocalProtocols & BROWSE_DNSSD) && DNSSDRef)
-    dnssdRegisterPrinter(p);
-#endif /* HAVE_DNSSD */
-}
+  for (p = (cupsd_printer_t *)cupsArrayFirst(Printers);
+       p;
+       p = (cupsd_printer_t *)cupsArrayNext(Printers))
+    if (!(p->type & (CUPS_PRINTER_REMOTE | CUPS_PRINTER_SCANNER)))
+      cupsdDeregisterPrinter(p, 1);
 
+ /*
+  * Shut down browsing sockets...
+  */
 
-/*
- * 'cupsdRestartPolling()' - Restart polling servers as needed.
- */
+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
+  if ((BrowseLocalProtocols & BROWSE_DNSSD) && DNSSDMaster)
+    dnssdStop();
+#endif /* HAVE_DNSSD || HAVE_AVAHI */
 
-void
-cupsdRestartPolling(void)
-{
-  int                  i;              /* Looping var */
-  cupsd_dirsvc_poll_t  *pollp;         /* Current polling server */
+ /*
+  * Disable LPD and SMB printer sharing as needed through external programs...
+  */
 
+  if (BrowseLocalProtocols & BROWSE_LPD)
+    update_lpd(0);
 
-  for (i = 0, pollp = Polled; i < NumPolled; i ++, pollp ++)
-    if (pollp->pid)
-      kill(pollp->pid, SIGHUP);
+  if (BrowseLocalProtocols & BROWSE_SMB)
+    update_smb(0);
 }
 
 
+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
 /*
- * 'cupsdSaveRemoteCache()' - Save the remote printer cache.
+ * 'cupsdUpdateDNSSDName()' - Update the computer name we use for browsing...
  */
 
 void
-cupsdSaveRemoteCache(void)
+cupsdUpdateDNSSDName(void)
 {
-  int                  i;              /* Looping var */
-  cups_file_t          *fp;            /* remote.cache file */
-  char                 filename[1024], /* remote.cache filename */
-                       temp[1024],     /* Temporary string */
-                       value[2048],    /* Value string */
-                       *name;          /* Current user name */
-  cupsd_printer_t      *printer;       /* Current printer class */
-  time_t               curtime;        /* Current time */
-  struct tm            *curdate;       /* Current date */
-  cups_option_t                *option;        /* Current option */
+  char         webif[1024];            /* Web interface share name */
+#  ifdef __APPLE__
+  SCDynamicStoreRef sc;                        /* Context for dynamic store */
+  CFDictionaryRef btmm;                        /* Back-to-My-Mac domains */
+  CFStringEncoding nameEncoding;       /* Encoding of computer name */
+  CFStringRef  nameRef;                /* Host name CFString */
+  char         nameBuffer[1024];       /* C-string buffer */
+#  endif /* __APPLE__ */
 
 
  /*
-  * Create the remote.cache file...
+  * Only share the web interface and printers when non-local listening is
+  * enabled...
   */
 
-  snprintf(filename, sizeof(filename), "%s/remote.cache", CacheDir);
-
-  if ((fp = cupsdCreateConfFile(filename, ConfigFilePerm)) == NULL)
+  if (!DNSSDPort)
     return;
 
-  cupsdLogMessage(CUPSD_LOG_DEBUG, "Saving remote.cache...");
-
  /*
-  * Write a small header to the file...
+  * Get the computer name as a c-string...
   */
 
-  curtime = time(NULL);
-  curdate = localtime(&curtime);
-  strftime(temp, sizeof(temp) - 1, "%Y-%m-%d %H:%M", curdate);
-
-  cupsFilePuts(fp, "# Remote cache file for " CUPS_SVERSION "\n");
-  cupsFilePrintf(fp, "# Written by cupsd on %s\n", temp);
-
- /*
-  * Write each local printer known to the system...
-  */
-
-  for (printer = (cupsd_printer_t *)cupsArrayFirst(Printers);
-       printer;
-       printer = (cupsd_printer_t *)cupsArrayNext(Printers))
-  {
-   /*
-    * Skip local destinations...
-    */
-
-    if (!(printer->type & CUPS_PRINTER_DISCOVERED))
-      continue;
-
-   /*
-    * Write printers as needed...
-    */
-
-    if (printer == DefaultPrinter)
-      cupsFilePuts(fp, "<Default");
-    else
-      cupsFilePutChar(fp, '<');
-
-    if (printer->type & CUPS_PRINTER_CLASS)
-      cupsFilePrintf(fp, "Class %s>\n", printer->name);
-    else
-      cupsFilePrintf(fp, "Printer %s>\n", printer->name);
-
-    cupsFilePrintf(fp, "BrowseTime %d\n", (int)printer->browse_expire);
-
-    cupsFilePrintf(fp, "UUID %s\n", printer->uuid);
-
-    if (printer->info)
-      cupsFilePutConf(fp, "Info", printer->info);
-
-    if (printer->location)
-      cupsFilePutConf(fp, "Location", printer->location);
-
-    if (printer->make_model)
-      cupsFilePutConf(fp, "MakeModel", printer->make_model);
-
-    cupsFilePutConf(fp, "DeviceURI", printer->device_uri);
-
-    if (printer->state == IPP_PRINTER_STOPPED)
-      cupsFilePuts(fp, "State Stopped\n");
-    else
-      cupsFilePuts(fp, "State Idle\n");
-
-    for (i = 0; i < printer->num_reasons; i ++)
-      cupsFilePutConf(fp, "Reason", printer->reasons[i]);
-
-    cupsFilePrintf(fp, "Type %d\n", printer->type);
-
-    if (printer->accepting)
-      cupsFilePuts(fp, "Accepting Yes\n");
-    else
-      cupsFilePuts(fp, "Accepting No\n");
-
-    snprintf(value, sizeof(value), "%s %s", printer->job_sheets[0],
-             printer->job_sheets[1]);
-    cupsFilePutConf(fp, "JobSheets", value);
-
-    for (name = (char *)cupsArrayFirst(printer->users);
-        name;
-        name = (char *)cupsArrayNext(printer->users))
-      cupsFilePutConf(fp, printer->deny_users ? "DenyUser" : "AllowUser", name);
-
-    for (i = printer->num_options, option = printer->options;
-         i > 0;
-        i --, option ++)
-    {
-      snprintf(value, sizeof(value), "%s %s", option->name, option->value);
-      cupsFilePutConf(fp, "Option", value);
-    }
-
-    if (printer->type & CUPS_PRINTER_CLASS)
-      cupsFilePuts(fp, "</Class>\n");
-    else
-      cupsFilePuts(fp, "</Printer>\n");
-  }
-
-  cupsdCloseCreatedConfFile(fp, filename);
-}
-
-
-/*
- * 'cupsdSendBrowseList()' - Send new browsing information as necessary.
- */
-
-void
-cupsdSendBrowseList(void)
-{
-  int                  count;          /* Number of dests to update */
-  cupsd_printer_t      *p;             /* Current printer */
-  time_t               ut,             /* Minimum update time */
-                       to;             /* Timeout time */
-
-
-  if (!Browsing || !Printers)
-    return;
-
- /*
-  * Compute the update and timeout times...
-  */
-
-  to = time(NULL);
-  ut = to - BrowseInterval;
-
- /*
-  * Figure out how many printers need an update...
-  */
-
-  if (BrowseInterval > 0 && BrowseLocalProtocols)
-  {
-    int        max_count;                      /* Maximum number to update */
-
-
-   /*
-    * Throttle the number of printers we'll be updating this time
-    * around based on the number of queues that need updating and
-    * the maximum number of queues to update each second...
-    */
-
-    max_count = 2 * cupsArrayCount(Printers) / BrowseInterval + 1;
-
-    for (count = 0, p = (cupsd_printer_t *)cupsArrayFirst(Printers);
-         count < max_count && p != NULL;
-        p = (cupsd_printer_t *)cupsArrayNext(Printers))
-      if (!(p->type & (CUPS_PRINTER_REMOTE | CUPS_PRINTER_IMPLICIT |
-                       CUPS_PRINTER_SCANNER)) &&
-          p->shared && p->browse_time < ut)
-        count ++;
-
-   /*
-    * Loop through all of the printers and send local updates as needed...
-    */
-
-    if (BrowseNext)
-      p = (cupsd_printer_t *)cupsArrayFind(Printers, BrowseNext);
-    else
-      p = (cupsd_printer_t *)cupsArrayFirst(Printers);
-
-    for (;
-         count > 0;
-        p = (cupsd_printer_t *)cupsArrayNext(Printers))
-    {
-     /*
-      * Check for wraparound...
-      */
-
-      if (!p)
-        p = (cupsd_printer_t *)cupsArrayFirst(Printers);
-
-      if (!p)
-        break;
-      else if ((p->type & (CUPS_PRINTER_REMOTE | CUPS_PRINTER_IMPLICIT |
-                           CUPS_PRINTER_SCANNER)) ||
-               !p->shared)
-        continue;
-      else if (p->browse_time < ut)
-      {
-       /*
-       * Need to send an update...
-       */
-
-       count --;
-
-       p->browse_time = time(NULL);
-
-       if ((BrowseLocalProtocols & BROWSE_CUPS) && BrowseSocket >= 0)
-          send_cups_browse(p);
-
-#ifdef HAVE_LIBSLP
-       if (BrowseLocalProtocols & BROWSE_SLP)
-          send_slp_browse(p);
-#endif /* HAVE_LIBSLP */
-
-#ifdef HAVE_LDAP
-       if (BrowseLocalProtocols & BROWSE_LDAP)
-          send_ldap_browse(p);
-#endif /* HAVE_LDAP */
-      }
-    }
-
-   /*
-    * Save where we left off so that all printers get updated...
-    */
-
-    BrowseNext = p;
-  }
-
- /*
-  * Loop through all of the printers and timeout old printers as needed...
-  */
-
-  for (p = (cupsd_printer_t *)cupsArrayFirst(Printers);
-       p;
-       p = (cupsd_printer_t *)cupsArrayNext(Printers))
-  {
-   /*
-    * If this is a remote queue, see if it needs to be timed out...
-    */
-
-    if ((p->type & CUPS_PRINTER_DISCOVERED) &&
-        !(p->type & CUPS_PRINTER_IMPLICIT) &&
-       p->browse_expire < to)
-    {
-      cupsdAddEvent(CUPSD_EVENT_PRINTER_DELETED, p, NULL,
-                   "%s \'%s\' deleted by directory services (timeout).",
-                   (p->type & CUPS_PRINTER_CLASS) ? "Class" : "Printer",
-                   p->name);
-
-      cupsdLogMessage(CUPSD_LOG_DEBUG,
-                     "Remote destination \"%s\" has timed out; "
-                     "deleting it...",
-                     p->name);
-
-      cupsArraySave(Printers);
-      cupsdDeletePrinter(p, 1);
-      cupsArrayRestore(Printers);
-      cupsdMarkDirty(CUPSD_DIRTY_PRINTCAP | CUPSD_DIRTY_REMOTE);
-    }
-  }
-}
-
-
-#ifdef HAVE_LDAP_REBIND_PROC
-#  if defined(LDAP_API_FEATURE_X_OPENLDAP) && (LDAP_API_VERSION > 2000)
-/*
- * 'ldap_rebind_proc()' - Callback function for LDAP rebind
- */
-
-static int                             /* O - Result code */
-ldap_rebind_proc(
-    LDAP            *RebindLDAPHandle, /* I - LDAP handle */
-    LDAP_CONST char *refsp,            /* I - ??? */
-    ber_tag_t       request,           /* I - ??? */
-    ber_int_t       msgid,             /* I - ??? */
-    void            *params)           /* I - ??? */
-{
-  int          rc;                     /* Result code */
-#    if LDAP_API_VERSION > 3000
-  struct berval        bval;                   /* Bind value */
-#    endif /* LDAP_API_VERSION > 3000 */
-
-
-  (void)request;
-  (void)msgid;
-  (void)params;
-
- /*
-  * Bind to new LDAP server...
-  */
-
-  cupsdLogMessage(CUPSD_LOG_DEBUG2, "ldap_rebind_proc: Rebind to %s", refsp);
-
-#    if LDAP_API_VERSION > 3000
-  bval.bv_val = BrowseLDAPPassword;
-  bval.bv_len = (BrowseLDAPPassword == NULL) ? 0 : strlen(BrowseLDAPPassword);
-
-  rc = ldap_sasl_bind_s(RebindLDAPHandle, BrowseLDAPBindDN, LDAP_SASL_SIMPLE,
-                        &bval, NULL, NULL, NULL);
-#    else
-  rc = ldap_bind_s(RebindLDAPHandle, BrowseLDAPBindDN, BrowseLDAPPassword,
-                   LDAP_AUTH_SIMPLE);
-#    endif /* LDAP_API_VERSION > 3000 */
-
-  return (rc);
-}
-
-
-#  else /* defined(LDAP_API_FEATURE_X_OPENLDAP) && (LDAP_API_VERSION > 2000) */
-/*
- * 'ldap_rebind_proc()' - Callback function for LDAP rebind
- */
-
-static int                             /* O - Result code */
-ldap_rebind_proc(
-    LDAP *RebindLDAPHandle,            /* I - LDAP handle */
-    char **dnp,                                /* I - ??? */
-    char **passwdp,                    /* I - ??? */
-    int  *authmethodp,                 /* I - ??? */
-    int  freeit,                       /* I - ??? */
-    void *arg)                         /* I - ??? */
-{
-  switch (freeit)
-  {
-    case 1:
-       /*
-        * Free current values...
-        */
-
-        cupsdLogMessage(CUPSD_LOG_DEBUG2, "ldap_rebind_proc: Free values...");
-
-        if (dnp && *dnp)
-          free(*dnp);
-
-        if (passwdp && *passwdp)
-          free(*passwdp);
-        break;
-
-    case 0:
-       /*
-        * Return credentials for LDAP referal...
-        */
-
-        cupsdLogMessage(CUPSD_LOG_DEBUG2,
-                        "ldap_rebind_proc: Return necessary values...");
-
-        *dnp         = strdup(BrowseLDAPBindDN);
-        *passwdp     = strdup(BrowseLDAPPassword);
-        *authmethodp = LDAP_AUTH_SIMPLE;
-        break;
-
-    default:
-       /*
-        * Should never happen...
-        */
-
-        cupsdLogMessage(CUPSD_LOG_ERROR,
-                        "LDAP rebind has been called with wrong freeit value!");
-        break;
-  }
-
-  return (LDAP_SUCCESS);
-}
-#  endif /* defined(LDAP_API_FEATURE_X_OPENLDAP) && (LDAP_API_VERSION > 2000) */
-#endif /* HAVE_LDAP_REBIND_PROC */
-
-
-#ifdef HAVE_LDAP
-/*
- * 'ldap_connect()' - Start new LDAP connection
- */
-
-static LDAP *                          /* O - LDAP handle */
-ldap_connect(void)
-{
-  int          rc;                     /* LDAP API status */
-  int          version = 3;            /* LDAP version */
-  struct berval        bv = {0, ""};           /* SASL bind value */
-  LDAP         *TempBrowseLDAPHandle=NULL;
-                                       /* Temporary LDAP Handle */
-#  if defined(HAVE_LDAP_SSL) && defined (HAVE_MOZILLA_LDAP)
-  int          ldap_ssl = 0;           /* LDAP SSL indicator */
-  int          ssl_err = 0;            /* LDAP SSL error value */
-#  endif /* defined(HAVE_LDAP_SSL) && defined (HAVE_MOZILLA_LDAP) */
-
-
-#  ifdef HAVE_OPENLDAP
-#    ifdef HAVE_LDAP_SSL
- /*
-  * Set the certificate file to use for encrypted LDAP sessions...
-  */
-
-  if (BrowseLDAPCACertFile)
-  {
-    cupsdLogMessage(CUPSD_LOG_DEBUG,
-                   "ldap_connect: Setting CA certificate file \"%s\"",
-                    BrowseLDAPCACertFile);
-
-    if ((rc = ldap_set_option(NULL, LDAP_OPT_X_TLS_CACERTFILE,
-                             (void *)BrowseLDAPCACertFile)) != LDAP_SUCCESS)
-      cupsdLogMessage(CUPSD_LOG_ERROR,
-                      "Unable to set CA certificate file for LDAP "
-                      "connections: %d - %s", rc, ldap_err2string(rc));
-  }
-#    endif /* HAVE_LDAP_SSL */
-
- /*
-  * Initialize OPENLDAP connection...
-  * LDAP stuff currently only supports ldapi EXTERNAL SASL binds...
-  */
-
-  if (!BrowseLDAPServer || !_cups_strcasecmp(BrowseLDAPServer, "localhost"))
-    rc = ldap_initialize(&TempBrowseLDAPHandle, "ldapi:///");
-  else
-    rc = ldap_initialize(&TempBrowseLDAPHandle, BrowseLDAPServer);
-
-#  else /* HAVE_OPENLDAP */
-
-  int          ldap_port = 0;                  /* LDAP port */
-  char         ldap_protocol[11],              /* LDAP protocol */
-               ldap_host[255];                 /* LDAP host */
-
- /*
-  * Split LDAP URI into its components...
-  */
-
-  if (!BrowseLDAPServer)
-  {
-    cupsdLogMessage(CUPSD_LOG_ERROR, "BrowseLDAPServer not configured!");
-    cupsdLogMessage(CUPSD_LOG_ERROR, "Disabling LDAP browsing!");
-    BrowseLocalProtocols  &= ~BROWSE_LDAP;
-    BrowseRemoteProtocols &= ~BROWSE_LDAP;
-    return (NULL);
-  }
-
-  sscanf(BrowseLDAPServer, "%10[^:]://%254[^:/]:%d", ldap_protocol, ldap_host,
-         &ldap_port);
-
-  if (!strcmp(ldap_protocol, "ldap"))
-    ldap_ssl = 0;
-  else if (!strcmp(ldap_protocol, "ldaps"))
-    ldap_ssl = 1;
-  else
-  {
-    cupsdLogMessage(CUPSD_LOG_ERROR, "Unrecognized LDAP protocol (%s)!",
-                    ldap_protocol);
-    cupsdLogMessage(CUPSD_LOG_ERROR, "Disabling LDAP browsing!");
-    BrowseLocalProtocols &= ~BROWSE_LDAP;
-    BrowseRemoteProtocols &= ~BROWSE_LDAP;
-    return (NULL);
-  }
-
-  if (ldap_port == 0)
-  {
-    if (ldap_ssl)
-      ldap_port = LDAPS_PORT;
-    else
-      ldap_port = LDAP_PORT;
-  }
-
-  cupsdLogMessage(CUPSD_LOG_DEBUG, "ldap_connect: PROT:%s HOST:%s PORT:%d",
-                  ldap_protocol, ldap_host, ldap_port);
-
- /*
-  * Initialize LDAP connection...
-  */
-
-  if (!ldap_ssl)
-  {
-    if ((TempBrowseLDAPHandle = ldap_init(ldap_host, ldap_port)) == NULL)
-      rc = LDAP_OPERATIONS_ERROR;
-    else
-      rc = LDAP_SUCCESS;
-
-#    ifdef HAVE_LDAP_SSL
-  }
-  else
-  {
-   /*
-    * Initialize SSL LDAP connection...
-    */
-
-    if (BrowseLDAPCACertFile)
-    {
-      rc = ldapssl_client_init(BrowseLDAPCACertFile, (void *)NULL);
-      if (rc != LDAP_SUCCESS)
-      {
-        cupsdLogMessage(CUPSD_LOG_ERROR,
-                        "Failed to initialize LDAP SSL client!");
-        rc = LDAP_OPERATIONS_ERROR;
-      }
-      else
-      {
-        if ((TempBrowseLDAPHandle = ldapssl_init(ldap_host, ldap_port,
-                                                 1)) == NULL)
-          rc = LDAP_OPERATIONS_ERROR;
-        else
-          rc = LDAP_SUCCESS;
-      }
-    }
-    else
-    {
-      cupsdLogMessage(CUPSD_LOG_ERROR,
-                      "LDAP SSL certificate file/database not configured!");
-      rc = LDAP_OPERATIONS_ERROR;
-    }
-
-#    else /* HAVE_LDAP_SSL */
-
-   /*
-    * Return error, because client libraries doesn't support SSL
-    */
-
-    cupsdLogMessage(CUPSD_LOG_ERROR,
-                    "LDAP client libraries do not support SSL");
-    rc = LDAP_OPERATIONS_ERROR;
-
-#    endif /* HAVE_LDAP_SSL */
-  }
-#  endif /* HAVE_OPENLDAP */
-
- /*
-  * Check return code from LDAP initialize...
-  */
-
-  if (rc != LDAP_SUCCESS)
-  {
-    cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to initialize LDAP!");
-
-    if (rc == LDAP_SERVER_DOWN || rc == LDAP_CONNECT_ERROR)
-      cupsdLogMessage(CUPSD_LOG_ERROR, "Temporarily disabling LDAP browsing...");
-    else
-    {
-      cupsdLogMessage(CUPSD_LOG_ERROR, "Disabling LDAP browsing!");
-
-      BrowseLocalProtocols  &= ~BROWSE_LDAP;
-      BrowseRemoteProtocols &= ~BROWSE_LDAP;
-    }
-
-    ldap_disconnect(TempBrowseLDAPHandle);
-
-    return (NULL);
-  }
-
- /*
-  * Upgrade LDAP version...
-  */
-
-  if (ldap_set_option(TempBrowseLDAPHandle, LDAP_OPT_PROTOCOL_VERSION,
-                           (const void *)&version) != LDAP_SUCCESS)
-  {
-    cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to set LDAP protocol version %d!",
-                   version);
-    cupsdLogMessage(CUPSD_LOG_ERROR, "Disabling LDAP browsing!");
-
-    BrowseLocalProtocols  &= ~BROWSE_LDAP;
-    BrowseRemoteProtocols &= ~BROWSE_LDAP;
-    ldap_disconnect(TempBrowseLDAPHandle);
-
-    return (NULL);
-  }
-
- /*
-  * Register LDAP rebind procedure...
-  */
-
-#  ifdef HAVE_LDAP_REBIND_PROC
-#    if defined(LDAP_API_FEATURE_X_OPENLDAP) && (LDAP_API_VERSION > 2000)
-
-  rc = ldap_set_rebind_proc(TempBrowseLDAPHandle, &ldap_rebind_proc,
-                            (void *)NULL);
-  if (rc != LDAP_SUCCESS)
-    cupsdLogMessage(CUPSD_LOG_ERROR,
-                    "Setting LDAP rebind function failed with status %d: %s",
-                    rc, ldap_err2string(rc));
-
-#    else
-
-  ldap_set_rebind_proc(TempBrowseLDAPHandle, &ldap_rebind_proc, (void *)NULL);
-
-#    endif /* defined(LDAP_API_FEATURE_X_OPENLDAP) && (LDAP_API_VERSION > 2000) */
-#  endif /* HAVE_LDAP_REBIND_PROC */
-
- /*
-  * Start LDAP bind...
-  */
-
-#  if LDAP_API_VERSION > 3000
-  struct berval bval;
-  bval.bv_val = BrowseLDAPPassword;
-  bval.bv_len = (BrowseLDAPPassword == NULL) ? 0 : strlen(BrowseLDAPPassword);
-
-  if (!BrowseLDAPServer || !_cups_strcasecmp(BrowseLDAPServer, "localhost"))
-    rc = ldap_sasl_bind_s(TempBrowseLDAPHandle, NULL, "EXTERNAL", &bv, NULL,
-                          NULL, NULL);
-  else
-    rc = ldap_sasl_bind_s(TempBrowseLDAPHandle, BrowseLDAPBindDN, LDAP_SASL_SIMPLE, &bval, NULL, NULL, NULL);
-
-#  else
-    rc = ldap_bind_s(TempBrowseLDAPHandle, BrowseLDAPBindDN,
-                     BrowseLDAPPassword, LDAP_AUTH_SIMPLE);
-#  endif /* LDAP_API_VERSION > 3000 */
-
-  if (rc != LDAP_SUCCESS)
-  {
-    cupsdLogMessage(CUPSD_LOG_ERROR, "LDAP bind failed with error %d: %s",
-                    rc, ldap_err2string(rc));
-
-#  if defined(HAVE_LDAP_SSL) && defined (HAVE_MOZILLA_LDAP)
-    if (ldap_ssl && (rc == LDAP_SERVER_DOWN || rc == LDAP_CONNECT_ERROR))
-    {
-      ssl_err = PORT_GetError();
-      if (ssl_err != 0)
-        cupsdLogMessage(CUPSD_LOG_ERROR, "LDAP SSL error %d: %s", ssl_err,
-                        ldapssl_err2string(ssl_err));
-    }
-#  endif /* defined(HAVE_LDAP_SSL) && defined (HAVE_MOZILLA_LDAP) */
-
-    ldap_disconnect(TempBrowseLDAPHandle);
-
-    return (NULL);
-  }
-
-  cupsdLogMessage(CUPSD_LOG_INFO, "LDAP connection established");
-
-  return (TempBrowseLDAPHandle);
-}
-
-
-/*
- * 'ldap_reconnect()' - Reconnect to LDAP Server
- */
-
-static LDAP *                          /* O - New LDAP handle */
-ldap_reconnect(void)
-{
-  LDAP *TempBrowseLDAPHandle = NULL;   /* Temp Handle to LDAP server */
-
-
- /*
-  * Get a new LDAP Handle and replace the global Handle
-  * if the new connection was successful.
-  */
-
-  cupsdLogMessage(CUPSD_LOG_INFO, "Try LDAP reconnect...");
-
-  TempBrowseLDAPHandle = ldap_connect();
-
-  if (TempBrowseLDAPHandle != NULL)
-  {
-    if (BrowseLDAPHandle != NULL)
-      ldap_disconnect(BrowseLDAPHandle);
-
-    BrowseLDAPHandle = TempBrowseLDAPHandle;
-  }
-
-  return (BrowseLDAPHandle);
-}
-
-
-/*
- * 'ldap_disconnect()' - Disconnect from LDAP Server
- */
-
-static void
-ldap_disconnect(LDAP *ld)              /* I - LDAP handle */
-{
-  int  rc;                             /* Return code */
-
-
- /*
-  * Close LDAP handle...
-  */
-
-#  if defined(HAVE_OPENLDAP) && LDAP_API_VERSION > 3000
-  rc = ldap_unbind_ext_s(ld, NULL, NULL);
-#  else
-  rc = ldap_unbind_s(ld);
-#  endif /* defined(HAVE_OPENLDAP) && LDAP_API_VERSION > 3000 */
-
-  if (rc != LDAP_SUCCESS)
-    cupsdLogMessage(CUPSD_LOG_ERROR,
-                    "Unbind from LDAP server failed with status %d: %s",
-                    rc, ldap_err2string(rc));
-}
-#endif /* HAVE_LDAP */
-
-
-/*
- * 'cupsdStartBrowsing()' - Start sending and receiving broadcast information.
- */
-
-void
-cupsdStartBrowsing(void)
-{
-  int                  val;            /* Socket option value */
-  struct sockaddr_in   addr;           /* Broadcast address */
-  cupsd_printer_t      *p;             /* Current printer */
-
-
-  BrowseNext = NULL;
-
-  if (!Browsing || !(BrowseLocalProtocols | BrowseRemoteProtocols))
-    return;
-
-  if ((BrowseLocalProtocols | BrowseRemoteProtocols) & BROWSE_CUPS)
-  {
-    if (BrowseSocket < 0)
-    {
-     /*
-      * Create the broadcast socket...
-      */
-
-      if ((BrowseSocket = socket(AF_INET, SOCK_DGRAM, 0)) < 0)
-      {
-       cupsdLogMessage(CUPSD_LOG_ERROR,
-                       "Unable to create broadcast socket - %s.",
-                       strerror(errno));
-       BrowseLocalProtocols &= ~BROWSE_CUPS;
-       BrowseRemoteProtocols &= ~BROWSE_CUPS;
-
-       if (FatalErrors & CUPSD_FATAL_BROWSE)
-         cupsdEndProcess(getpid(), 0);
-      }
-    }
-
-    if (BrowseSocket >= 0)
-    {
-     /*
-      * Bind the socket to browse port...
-      */
-
-      memset(&addr, 0, sizeof(addr));
-      addr.sin_addr.s_addr = htonl(INADDR_ANY);
-      addr.sin_family      = AF_INET;
-      addr.sin_port        = htons(BrowsePort);
-
-      if (bind(BrowseSocket, (struct sockaddr *)&addr, sizeof(addr)))
-      {
-       cupsdLogMessage(CUPSD_LOG_ERROR,
-                       "Unable to bind broadcast socket - %s.",
-                       strerror(errno));
-
-#ifdef WIN32
-       closesocket(BrowseSocket);
-#else
-       close(BrowseSocket);
-#endif /* WIN32 */
-
-       BrowseSocket = -1;
-       BrowseLocalProtocols &= ~BROWSE_CUPS;
-       BrowseRemoteProtocols &= ~BROWSE_CUPS;
-
-       if (FatalErrors & CUPSD_FATAL_BROWSE)
-         cupsdEndProcess(getpid(), 0);
-      }
-    }
-
-    if (BrowseSocket >= 0)
-    {
-     /*
-      * Set the "broadcast" flag...
-      */
-
-      val = 1;
-      if (setsockopt(BrowseSocket, SOL_SOCKET, SO_BROADCAST, &val, sizeof(val)))
-      {
-       cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to set broadcast mode - %s.",
-                       strerror(errno));
-
-#ifdef WIN32
-       closesocket(BrowseSocket);
-#else
-       close(BrowseSocket);
-#endif /* WIN32 */
-
-       BrowseSocket = -1;
-       BrowseLocalProtocols &= ~BROWSE_CUPS;
-       BrowseRemoteProtocols &= ~BROWSE_CUPS;
-
-       if (FatalErrors & CUPSD_FATAL_BROWSE)
-         cupsdEndProcess(getpid(), 0);
-      }
-    }
-
-    if (BrowseSocket >= 0)
-    {
-     /*
-      * Close the socket on exec...
-      */
-
-      fcntl(BrowseSocket, F_SETFD, fcntl(BrowseSocket, F_GETFD) | FD_CLOEXEC);
-
-     /*
-      * Finally, add the socket to the input selection set as needed...
-      */
-
-      if (BrowseRemoteProtocols & BROWSE_CUPS)
-      {
-       /*
-       * We only listen if we want remote printers...
-       */
-
-       cupsdAddSelect(BrowseSocket, (cupsd_selfunc_t)update_cups_browse,
-                      NULL, NULL);
-      }
-    }
-  }
-  else
-    BrowseSocket = -1;
-
-#ifdef HAVE_DNSSD
-  if ((BrowseLocalProtocols | BrowseRemoteProtocols) & BROWSE_DNSSD)
-  {
-    DNSServiceErrorType error;         /* Error from service creation */
-    cupsd_listener_t   *lis;           /* Current listening socket */
-
-
-   /*
-    * First create a "master" connection for all registrations...
-    */
-
-    if ((error = DNSServiceCreateConnection(&DNSSDRef))
-           != kDNSServiceErr_NoError)
-    {
-      cupsdLogMessage(CUPSD_LOG_ERROR,
-                     "Unable to create master DNS-SD reference: %d", error);
-
-      if (FatalErrors & CUPSD_FATAL_BROWSE)
-       cupsdEndProcess(getpid(), 0);
-    }
-    else
-    {
-     /*
-      * Add the master connection to the select list...
-      */
-
-      int fd = DNSServiceRefSockFD(DNSSDRef);
-
-      fcntl(fd, F_SETFD, fcntl(fd, F_GETFD) | FD_CLOEXEC);
-
-      cupsdAddSelect(fd, (cupsd_selfunc_t)dnssdUpdate, NULL, NULL);
-
-     /*
-      * Then get the port we use for registrations.  If we are not listening
-      * on any non-local ports, there is no sense sharing local printers via
-      * Bonjour...
-      */
-
-      DNSSDPort = 0;
-
-      for (lis = (cupsd_listener_t *)cupsArrayFirst(Listeners);
-          lis;
-          lis = (cupsd_listener_t *)cupsArrayNext(Listeners))
-      {
-       if (httpAddrLocalhost(&(lis->address)))
-         continue;
-
-        DNSSDPort = _httpAddrPort(&(lis->address));
-       break;
-      }
-
-     /*
-      * Create an array to track the printers we share...
-      */
-
-      if (BrowseRemoteProtocols & BROWSE_DNSSD)
-        DNSSDPrinters = cupsArrayNew((cups_array_func_t)dnssdComparePrinters,
-                                    NULL);
-
-     /*
-      * Set the computer name and register the web interface...
-      */
-
-      cupsdUpdateDNSSDName();
-    }
-  }
-#endif /* HAVE_DNSSD */
-
-#ifdef HAVE_LIBSLP
-  if ((BrowseLocalProtocols | BrowseRemoteProtocols) & BROWSE_SLP)
-  {
-   /*
-    * Open SLP handle...
-    */
-
-    if (SLPOpen("en", SLP_FALSE, &BrowseSLPHandle) != SLP_OK)
-    {
-      cupsdLogMessage(CUPSD_LOG_ERROR,
-                      "Unable to open an SLP handle; disabling SLP browsing!");
-      BrowseLocalProtocols &= ~BROWSE_SLP;
-      BrowseRemoteProtocols &= ~BROWSE_SLP;
-      BrowseSLPHandle = NULL;
-
-      if (FatalErrors & CUPSD_FATAL_BROWSE)
-       cupsdEndProcess(getpid(), 0);
-    }
-
-    BrowseSLPRefresh = 0;
-  }
-  else
-    BrowseSLPHandle = NULL;
-#endif /* HAVE_LIBSLP */
-
-#ifdef HAVE_LDAP
-  if ((BrowseLocalProtocols | BrowseRemoteProtocols) & BROWSE_LDAP)
-  {
-    if (!BrowseLDAPDN)
-    {
-      cupsdLogMessage(CUPSD_LOG_ERROR,
-                      "Need to set BrowseLDAPDN to use LDAP browsing!");
-      BrowseLocalProtocols &= ~BROWSE_LDAP;
-      BrowseRemoteProtocols &= ~BROWSE_LDAP;
-
-      if (FatalErrors & CUPSD_FATAL_BROWSE)
-       cupsdEndProcess(getpid(), 0);
-    }
-    else
-    {
-     /*
-      * Open LDAP handle...
-      */
-
-      if ((BrowseLDAPHandle = ldap_connect()) == NULL &&
-          (FatalErrors & CUPSD_FATAL_BROWSE))
-       cupsdEndProcess(getpid(), 0);
-    }
-
-    BrowseLDAPRefresh = 0;
-  }
-#endif /* HAVE_LDAP */
-
- /*
-  * Enable LPD and SMB printer sharing as needed through external programs...
-  */
-
-  if (BrowseLocalProtocols & BROWSE_LPD)
-    update_lpd(1);
-
-  if (BrowseLocalProtocols & BROWSE_SMB)
-    update_smb(1);
-
- /*
-  * Register the individual printers
-  */
-
-  for (p = (cupsd_printer_t *)cupsArrayFirst(Printers);
-       p;
-       p = (cupsd_printer_t *)cupsArrayNext(Printers))
-    if (!(p->type & (CUPS_PRINTER_REMOTE | CUPS_PRINTER_IMPLICIT |
-                     CUPS_PRINTER_SCANNER)))
-      cupsdRegisterPrinter(p);
-}
-
-
-/*
- * 'cupsdStartPolling()' - Start polling servers as needed.
- */
-
-void
-cupsdStartPolling(void)
-{
-  int                  i;              /* Looping var */
-  cupsd_dirsvc_poll_t  *pollp;         /* Current polling server */
-  char                 polld[1024];    /* Poll daemon path */
-  char                 sport[255];     /* Server port */
-  char                 bport[255];     /* Browser port */
-  char                 interval[255];  /* Poll interval */
-  int                  statusfds[2];   /* Status pipe */
-  char                 *argv[6];       /* Arguments */
-  char                 *envp[100];     /* Environment */
-
-
- /*
-  * Don't do anything if we aren't polling...
-  */
-
-  if (NumPolled == 0 || BrowseSocket < 0)
-  {
-    PollPipe         = -1;
-    PollStatusBuffer = NULL;
-    return;
-  }
-
- /*
-  * Setup string arguments for polld, port and interval options.
-  */
-
-  snprintf(polld, sizeof(polld), "%s/daemon/cups-polld", ServerBin);
-
-  sprintf(bport, "%d", BrowsePort);
-
-  if (BrowseInterval)
-    sprintf(interval, "%d", BrowseInterval);
-  else
-    strcpy(interval, "30");
-
-  argv[0] = "cups-polld";
-  argv[2] = sport;
-  argv[3] = interval;
-  argv[4] = bport;
-  argv[5] = NULL;
-
-  cupsdLoadEnv(envp, (int)(sizeof(envp) / sizeof(envp[0])));
-
- /*
-  * Create a pipe that receives the status messages from each
-  * polling daemon...
-  */
-
-  if (cupsdOpenPipe(statusfds))
-  {
-    cupsdLogMessage(CUPSD_LOG_ERROR,
-                    "Unable to create polling status pipes - %s.",
-                   strerror(errno));
-    PollPipe         = -1;
-    PollStatusBuffer = NULL;
-    return;
-  }
-
-  PollPipe         = statusfds[0];
-  PollStatusBuffer = cupsdStatBufNew(PollPipe, "[Poll]");
-
- /*
-  * Run each polling daemon, redirecting stderr to the polling pipe...
-  */
-
-  for (i = 0, pollp = Polled; i < NumPolled; i ++, pollp ++)
-  {
-    sprintf(sport, "%d", pollp->port);
-
-    argv[1] = pollp->hostname;
-
-    if (cupsdStartProcess(polld, argv, envp, -1, -1, statusfds[1], -1, -1,
-                          0, DefaultProfile, NULL, &(pollp->pid)) < 0)
-    {
-      cupsdLogMessage(CUPSD_LOG_ERROR,
-                      "cupsdStartPolling: Unable to fork polling daemon - %s",
-                      strerror(errno));
-      pollp->pid = 0;
-      break;
-    }
-    else
-      cupsdLogMessage(CUPSD_LOG_DEBUG,
-                      "cupsdStartPolling: Started polling daemon for %s:%d, pid = %d",
-                      pollp->hostname, pollp->port, pollp->pid);
-  }
-
-  close(statusfds[1]);
-
- /*
-  * Finally, add the pipe to the input selection set...
-  */
-
-  cupsdAddSelect(PollPipe, (cupsd_selfunc_t)update_polling, NULL, NULL);
-}
-
-
-/*
- * 'cupsdStopBrowsing()' - Stop sending and receiving broadcast information.
- */
-
-void
-cupsdStopBrowsing(void)
-{
-  cupsd_printer_t      *p;             /* Current printer */
-
-
-  if (!Browsing || !(BrowseLocalProtocols | BrowseRemoteProtocols))
-    return;
-
- /*
-  * De-register the individual printers
-  */
-
-  for (p = (cupsd_printer_t *)cupsArrayFirst(Printers);
-       p;
-       p = (cupsd_printer_t *)cupsArrayNext(Printers))
-    if (!(p->type & (CUPS_PRINTER_REMOTE | CUPS_PRINTER_IMPLICIT |
-                     CUPS_PRINTER_SCANNER)))
-      cupsdDeregisterPrinter(p, 1);
-
- /*
-  * Shut down browsing sockets...
-  */
-
-  if (((BrowseLocalProtocols | BrowseRemoteProtocols) & BROWSE_CUPS) &&
-      BrowseSocket >= 0)
-  {
-   /*
-    * Close the socket and remove it from the input selection set.
-    */
-
-#ifdef WIN32
-    closesocket(BrowseSocket);
-#else
-    close(BrowseSocket);
-#endif /* WIN32 */
-
-    cupsdRemoveSelect(BrowseSocket);
-    BrowseSocket = -1;
-  }
-
-#ifdef HAVE_DNSSD
-  if ((BrowseLocalProtocols & BROWSE_DNSSD) && DNSSDRef)
-    dnssdStop();
-#endif /* HAVE_DNSSD */
-
-#ifdef HAVE_LIBSLP
-  if (((BrowseLocalProtocols | BrowseRemoteProtocols) & BROWSE_SLP) &&
-      BrowseSLPHandle)
-  {
-   /*
-    * Close SLP handle...
-    */
-
-    SLPClose(BrowseSLPHandle);
-    BrowseSLPHandle = NULL;
-  }
-#endif /* HAVE_LIBSLP */
-
-#ifdef HAVE_LDAP
-  if (((BrowseLocalProtocols | BrowseRemoteProtocols) & BROWSE_LDAP) &&
-      BrowseLDAPHandle)
-  {
-    ldap_dereg_ou(ServerName, BrowseLDAPDN);
-    ldap_disconnect(BrowseLDAPHandle);
-    BrowseLDAPHandle = NULL;
-  }
-#endif /* HAVE_OPENLDAP */
-
- /*
-  * Disable LPD and SMB printer sharing as needed through external programs...
-  */
-
-  if (BrowseLocalProtocols & BROWSE_LPD)
-    update_lpd(0);
-
-  if (BrowseLocalProtocols & BROWSE_SMB)
-    update_smb(0);
-}
-
-
-/*
- * 'cupsdStopPolling()' - Stop polling servers as needed.
- */
-
-void
-cupsdStopPolling(void)
-{
-  int                  i;              /* Looping var */
-  cupsd_dirsvc_poll_t  *pollp;         /* Current polling server */
-
-
-  if (PollPipe >= 0)
-  {
-    cupsdStatBufDelete(PollStatusBuffer);
-    close(PollPipe);
-
-    cupsdRemoveSelect(PollPipe);
-
-    PollPipe         = -1;
-    PollStatusBuffer = NULL;
-  }
-
-  for (i = 0, pollp = Polled; i < NumPolled; i ++, pollp ++)
-    if (pollp->pid)
-      cupsdEndProcess(pollp->pid, 0);
-}
-
-
-#ifdef HAVE_DNSSD
-/*
- * 'cupsdUpdateDNSSDName()' - Update the computer name we use for browsing...
- */
-
-void
-cupsdUpdateDNSSDName(void)
-{
-  DNSServiceErrorType error;           /* Error from service creation */
-  char         webif[1024];            /* Web interface share name */
-#  ifdef HAVE_SYSTEMCONFIGURATION
-  SCDynamicStoreRef sc;                        /* Context for dynamic store */
-  CFDictionaryRef btmm;                        /* Back-to-My-Mac domains */
-  CFStringEncoding nameEncoding;       /* Encoding of computer name */
-  CFStringRef  nameRef;                /* Host name CFString */
-  char         nameBuffer[1024];       /* C-string buffer */
-#  endif /* HAVE_SYSTEMCONFIGURATION */
-
-
- /*
-  * Only share the web interface and printers when non-local listening is
-  * enabled...
-  */
-
-
-  if (!DNSSDPort)
-    return;
-
- /*
-  * Get the computer name as a c-string...
-  */
-
-#  ifdef HAVE_SYSTEMCONFIGURATION
-  sc = SCDynamicStoreCreate(kCFAllocatorDefault, CFSTR("cupsd"), NULL, NULL);
-
-  if (sc)
-  {
-   /*
-    * Get the computer name from the dynamic store...
-    */
-
-    cupsdClearString(&DNSSDComputerName);
-
-    if ((nameRef = SCDynamicStoreCopyComputerName(sc, &nameEncoding)) != NULL)
-    {
-      if (CFStringGetCString(nameRef, nameBuffer, sizeof(nameBuffer),
-                            kCFStringEncodingUTF8))
-      {
-        cupsdLogMessage(CUPSD_LOG_DEBUG,
-                       "Dynamic store computer name is \"%s\".", nameBuffer);
-       cupsdSetString(&DNSSDComputerName, nameBuffer);
-      }
-
-      CFRelease(nameRef);
-    }
-
-    if (!DNSSDComputerName)
-    {
-     /*
-      * Use the ServerName instead...
-      */
-
-      cupsdLogMessage(CUPSD_LOG_DEBUG,
-                      "Using ServerName \"%s\" as computer name.", ServerName);
-      cupsdSetString(&DNSSDComputerName, ServerName);
-    }
-
-   /*
-    * Get the local hostname from the dynamic store...
-    */
-
-    cupsdClearString(&DNSSDHostName);
-
-    if ((nameRef = SCDynamicStoreCopyLocalHostName(sc)) != NULL)
-    {
-      if (CFStringGetCString(nameRef, nameBuffer, sizeof(nameBuffer),
-                            kCFStringEncodingUTF8))
-      {
-        cupsdLogMessage(CUPSD_LOG_DEBUG,
-                       "Dynamic store host name is \"%s\".", nameBuffer);
-       cupsdSetString(&DNSSDHostName, nameBuffer);
-      }
-
-      CFRelease(nameRef);
-    }
-
-    if (!DNSSDHostName)
-    {
-     /*
-      * Use the ServerName instead...
-      */
-
-      cupsdLogMessage(CUPSD_LOG_DEBUG,
-                      "Using ServerName \"%s\" as host name.", ServerName);
-      cupsdSetString(&DNSSDHostName, ServerName);
-    }
-
-   /*
-    * Get any Back-to-My-Mac domains and add them as aliases...
-    */
-
-    cupsdFreeAliases(DNSSDAlias);
-    DNSSDAlias = NULL;
-
-    btmm = SCDynamicStoreCopyValue(sc, CFSTR("Setup:/Network/BackToMyMac"));
-    if (btmm && CFGetTypeID(btmm) == CFDictionaryGetTypeID())
-    {
-      cupsdLogMessage(CUPSD_LOG_DEBUG, "%d Back to My Mac aliases to add.",
-                     (int)CFDictionaryGetCount(btmm));
-      CFDictionaryApplyFunction(btmm, dnssdAddAlias, NULL);
-    }
-    else if (btmm)
-      cupsdLogMessage(CUPSD_LOG_ERROR,
-                     "Bad Back to My Mac data in dynamic store!");
-    else
-      cupsdLogMessage(CUPSD_LOG_DEBUG, "No Back to My Mac aliases to add.");
-
-    if (btmm)
-      CFRelease(btmm);
-
-    CFRelease(sc);
-  }
-  else
-#  endif /* HAVE_SYSTEMCONFIGURATION */
-  {
-    cupsdSetString(&DNSSDComputerName, ServerName);
-    cupsdSetString(&DNSSDHostName, ServerName);
-  }
-
- /*
-  * Then (re)register the web interface if enabled...
-  */
-
-  if (BrowseWebIF)
-  {
-    if (DNSSDComputerName)
-      snprintf(webif, sizeof(webif), "CUPS @ %s", DNSSDComputerName);
-    else
-      strlcpy(webif, "CUPS Web Interface", sizeof(webif));
-
-    if (WebIFRef)
-      DNSServiceRefDeallocate(WebIFRef);
-
-    WebIFRef = DNSSDRef;
-    if ((error = DNSServiceRegister(&WebIFRef,
-                                   kDNSServiceFlagsShareConnection,
-                                   0, webif, "_http._tcp", NULL,
-                                   NULL, htons(DNSSDPort), 7,
-                                   "\006path=/", dnssdRegisterCallback,
-                                   NULL)) != kDNSServiceErr_NoError)
-      cupsdLogMessage(CUPSD_LOG_ERROR,
-                     "DNS-SD web interface registration failed: %d", error);
-  }
-}
-#endif /* HAVE_DNSSD */
-
-
-#ifdef HAVE_LDAP
-/*
- * 'cupsdUpdateLDAPBrowse()' - Scan for new printers via LDAP...
- */
-
-void
-cupsdUpdateLDAPBrowse(void)
-{
-  char         uri[HTTP_MAX_URI],      /* Printer URI */
-               host[HTTP_MAX_URI],     /* Hostname */
-               resource[HTTP_MAX_URI], /* Resource path */
-               location[1024],         /* Printer location */
-               info[1024],             /* Printer information */
-               make_model[1024],       /* Printer make and model */
-               type_num[30];           /* Printer type number */
-  int          type;                   /* Printer type */
-  int          rc;                     /* LDAP status */
-  int          limit;                  /* Size limit */
-  LDAPMessage  *res,                   /* LDAP search results */
-                 *e;                   /* Current entry from search */
-
-  cupsdLogMessage(CUPSD_LOG_DEBUG2, "UpdateLDAPBrowse: %s", ServerName);
-
-  BrowseLDAPRefresh = time(NULL) + BrowseInterval;
-
- /*
-  * Reconnect if LDAP Handle is invalid...
-  */
-
-  if (! BrowseLDAPHandle)
-  {
-    ldap_reconnect();
-    return;
-  }
-
- /*
-  * Search for cups printers in LDAP directory...
-  */
-
-  rc = ldap_search_rec(BrowseLDAPHandle, BrowseLDAPDN, LDAP_SCOPE_SUBTREE,
-                       "(objectclass=cupsPrinter)", (char **)ldap_attrs, 0, &res);
-
- /*
-  * If ldap search was successfull then exit function
-  * and temporary disable LDAP updates...
-  */
-
-  if (rc != LDAP_SUCCESS)
-  {
-    if (BrowseLDAPUpdate && ((rc == LDAP_SERVER_DOWN) || (rc == LDAP_CONNECT_ERROR)))
-    {
-      BrowseLDAPUpdate = FALSE;
-      cupsdLogMessage(CUPSD_LOG_INFO,
-                      "LDAP update temporary disabled");
-    }
-    return;
-  }
-
- /*
-  * If LDAP updates were disabled, we will reenable them...
-  */
-
-  if (! BrowseLDAPUpdate)
-  {
-    BrowseLDAPUpdate = TRUE;
-    cupsdLogMessage(CUPSD_LOG_INFO,
-                    "LDAP update enabled");
-  }
-
- /*
-  * Count LDAP entries and return if no entry exist...
-  */
-
-  limit = ldap_count_entries(BrowseLDAPHandle, res);
-  cupsdLogMessage(CUPSD_LOG_DEBUG2, "LDAP search returned %d entries", limit);
-  if (limit < 1)
-  {
-    ldap_freeres(res);
-    return;
-  }
-
- /*
-  * Loop through the available printers...
-  */
-
-  for (e = ldap_first_entry(BrowseLDAPHandle, res);
-       e;
-       e = ldap_next_entry(BrowseLDAPHandle, e))
-  {
-   /*
-    * Get the required values from this entry...
-    */
-
-    if (ldap_getval_firststring(BrowseLDAPHandle, e,
-                                "printerDescription", info, sizeof(info)) == -1)
-      continue;
-
-    if (ldap_getval_firststring(BrowseLDAPHandle, e,
-                                "printerLocation", location, sizeof(location)) == -1)
-      continue;
-
-    if (ldap_getval_firststring(BrowseLDAPHandle, e,
-                                "printerMakeAndModel", make_model, sizeof(make_model)) == -1)
-      continue;
-
-    if (ldap_getval_firststring(BrowseLDAPHandle, e,
-                                "printerType", type_num, sizeof(type_num)) == -1)
-      continue;
-
-    type = atoi(type_num);
-
-    if (ldap_getval_firststring(BrowseLDAPHandle, e,
-                                "printerURI", uri, sizeof(uri)) == -1)
-      continue;
-
-   /*
-    * Process the entry as browse data...
-    */
-
-    if (!is_local_queue(uri, host, sizeof(host), resource, sizeof(resource)))
-      process_browse_data(uri, host, resource, type, IPP_PRINTER_IDLE,
-                          location, info, make_model, 0, NULL);
-
-  }
-
-  ldap_freeres(res);
-}
-#endif /* HAVE_LDAP */
-
-
-#ifdef HAVE_LIBSLP
-/*
- * 'cupsdUpdateSLPBrowse()' - Get browsing information via SLP.
- */
-
-void
-cupsdUpdateSLPBrowse(void)
-{
-  slpsrvurl_t  *s,                     /* Temporary list of service URLs */
-               *next;                  /* Next service in list */
-  cupsd_printer_t p;                   /* Printer information */
-  const char   *uri;                   /* Pointer to printer URI */
-  char         host[HTTP_MAX_URI],     /* Host portion of URI */
-               resource[HTTP_MAX_URI]; /* Resource portion of URI */
-
-
- /*
-  * Reset the refresh time...
-  */
-
-  BrowseSLPRefresh = time(NULL) + BrowseInterval;
-
- /*
-  * Poll for remote printers using SLP...
-  */
-
-  s = NULL;
-
-  SLPFindSrvs(BrowseSLPHandle, SLP_CUPS_SRVTYPE, "", "",
-             slp_url_callback, &s);
-
- /*
-  * Loop through the list of available printers...
-  */
-
-  for (; s; s = next)
-  {
-   /*
-    * Save the "next" pointer...
-    */
-
-    next = s->next;
-
-   /*
-    * Load a cupsd_printer_t structure with the SLP service attributes...
-    */
-
-    SLPFindAttrs(BrowseSLPHandle, s->url, "", "", slp_attr_callback, &p);
-
-   /*
-    * Process this printer entry...
-    */
-
-    uri = s->url + SLP_CUPS_SRVLEN + 1;
-
-    if (!strncmp(uri, "http://", 7) || !strncmp(uri, "ipp://", 6))
-    {
-     /*
-      * Pull the URI apart to see if this is a local or remote printer...
-      */
-
-      if (!is_local_queue(uri, host, sizeof(host), resource, sizeof(resource)))
-        process_browse_data(uri, host, resource, p.type, IPP_PRINTER_IDLE,
-                           p.location,  p.info, p.make_model, 0, NULL);
-    }
-
-   /*
-    * Free this listing...
-    */
-
-    cupsdClearString(&p.info);
-    cupsdClearString(&p.location);
-    cupsdClearString(&p.make_model);
-
-    free(s);
-  }
-}
-#endif /* HAVE_LIBSLP */
-
-
-/*
- * 'dequote()' - Remote quotes from a string.
- */
-
-static char *                          /* O - Dequoted string */
-dequote(char       *d,                 /* I - Destination string */
-        const char *s,                 /* I - Source string */
-       int        dlen)                /* I - Destination length */
-{
-  char *dptr;                          /* Pointer into destination */
-
-
-  if (s)
-  {
-    for (dptr = d, dlen --; *s && dlen > 0; s ++)
-      if (*s != '\"')
-      {
-       *dptr++ = *s;
-       dlen --;
-      }
-
-    *dptr = '\0';
-  }
-  else
-    *d = '\0';
-
-  return (d);
-}
-
-
-#ifdef HAVE_DNSSD
-#  ifdef HAVE_COREFOUNDATION
-/*
- * 'dnssdAddAlias()' - Add a DNS-SD alias name.
- */
-
-static void
-dnssdAddAlias(const void *key,         /* I - Key */
-              const void *value,       /* I - Value (domain) */
-             void       *context)      /* I - Unused */
-{
-  char valueStr[1024],                 /* Domain string */
-       hostname[1024],                 /* Complete hostname */
-       *hostptr;                       /* Pointer into hostname */
-
-
-  (void)key;
-  (void)context;
-
-  if (CFGetTypeID((CFStringRef)value) == CFStringGetTypeID() &&
-      CFStringGetCString((CFStringRef)value, valueStr, sizeof(valueStr),
-                         kCFStringEncodingUTF8))
-  {
-    snprintf(hostname, sizeof(hostname), "%s.%s", DNSSDHostName, valueStr);
-    hostptr = hostname + strlen(hostname) - 1;
-    if (*hostptr == '.')
-      *hostptr = '\0';                 /* Strip trailing dot */
-
-    if (!DNSSDAlias)
-      DNSSDAlias = cupsArrayNew(NULL, NULL);
-
-    cupsdAddAlias(DNSSDAlias, hostname);
-    cupsdLogMessage(CUPSD_LOG_DEBUG, "Added Back to My Mac ServerAlias %s",
-                   hostname);
-  }
-  else
-    cupsdLogMessage(CUPSD_LOG_ERROR,
-                    "Bad Back to My Mac domain in dynamic store!");
-}
-#  endif /* HAVE_COREFOUNDATION */
-
-
-/*
- * 'dnssdBuildTxtRecord()' - Build a TXT record from printer info.
- */
-
-static char *                          /* O - TXT record */
-dnssdBuildTxtRecord(
-    int             *txt_len,          /* O - TXT record length */
-    cupsd_printer_t *p,                        /* I - Printer information */
-    int             for_lpd)           /* I - 1 = LPD, 0 = IPP */
-{
-  int          i;                      /* Looping var */
-  char         admin_hostname[256],    /* .local hostname for admin page */
-               adminurl_str[256],      /* URL for the admin page */
-               type_str[32],           /* Type to string buffer */
-               state_str[32],          /* State to string buffer */
-               rp_str[1024],           /* Queue name string buffer */
-               air_str[1024],          /* auth-info-required string buffer */
-               *keyvalue[32][2];       /* Table of key/value pairs */
-
-
- /*
-  * Load up the key value pairs...
-  */
-
-  i = 0;
-
-  keyvalue[i  ][0] = "txtvers";
-  keyvalue[i++][1] = "1";
-
-  keyvalue[i  ][0] = "qtotal";
-  keyvalue[i++][1] = "1";
-
-  keyvalue[i  ][0] = "rp";
-  keyvalue[i++][1] = rp_str;
-  if (for_lpd)
-    strlcpy(rp_str, p->name, sizeof(rp_str));
-  else
-    snprintf(rp_str, sizeof(rp_str), "%s/%s",
-            (p->type & CUPS_PRINTER_CLASS) ? "classes" : "printers", p->name);
-
-  keyvalue[i  ][0] = "ty";
-  keyvalue[i++][1] = p->make_model ? p->make_model : "Unknown";
-
-  snprintf(admin_hostname, sizeof(admin_hostname), "%s.local.", DNSSDHostName);
-  httpAssembleURIf(HTTP_URI_CODING_ALL, adminurl_str, sizeof(adminurl_str),
-                   "http", NULL, admin_hostname, DNSSDPort, "/%s/%s",
-                  (p->type & CUPS_PRINTER_CLASS) ? "classes" : "printers",
-                  p->name);
-  keyvalue[i  ][0] = "adminurl";
-  keyvalue[i++][1] = adminurl_str;
-
-  keyvalue[i  ][0] = "note";
-  keyvalue[i++][1] = p->location ? p->location : "";
-
-  keyvalue[i  ][0] = "priority";
-  keyvalue[i++][1] = for_lpd ? "100" : "0";
-
-  keyvalue[i  ][0] = "product";
-  keyvalue[i++][1] = p->pc && p->pc->product ? p->pc->product : "Unknown";
-
-  keyvalue[i  ][0] = "pdl";
-  keyvalue[i++][1] = p->pdl ? p->pdl : "application/postscript";
-
-  if (get_auth_info_required(p, air_str, sizeof(air_str)))
-  {
-    keyvalue[i  ][0] = "air";
-    keyvalue[i++][1] = air_str;
-  }
-
-  keyvalue[i  ][0] = "UUID";
-  keyvalue[i++][1] = p->uuid + 9;
-
-#ifdef HAVE_SSL
-  keyvalue[i  ][0] = "TLS";
-  keyvalue[i++][1] = "1.2";
-#endif /* HAVE_SSL */
-
-  keyvalue[i  ][0] = "Transparent";
-  keyvalue[i++][1] = "F";
-
-  keyvalue[i  ][0] = "Binary";
-  keyvalue[i++][1] = "F";
-
-  keyvalue[i  ][0] = "Fax";
-  keyvalue[i++][1] = (p->type & CUPS_PRINTER_FAX) ? "T" : "F";
-
-  keyvalue[i  ][0] = "Color";
-  keyvalue[i++][1] = (p->type & CUPS_PRINTER_COLOR) ? "T" : "F";
-
-  keyvalue[i  ][0] = "Duplex";
-  keyvalue[i++][1] = (p->type & CUPS_PRINTER_DUPLEX) ? "T" : "F";
-
-  keyvalue[i  ][0] = "Staple";
-  keyvalue[i++][1] = (p->type & CUPS_PRINTER_STAPLE) ? "T" : "F";
-
-  keyvalue[i  ][0] = "Copies";
-  keyvalue[i++][1] = (p->type & CUPS_PRINTER_COPIES) ? "T" : "F";
-
-  keyvalue[i  ][0] = "Collate";
-  keyvalue[i++][1] = (p->type & CUPS_PRINTER_COLLATE) ? "T" : "F";
-
-  keyvalue[i  ][0] = "Punch";
-  keyvalue[i++][1] = (p->type & CUPS_PRINTER_PUNCH) ? "T" : "F";
-
-  keyvalue[i  ][0] = "Bind";
-  keyvalue[i++][1] = (p->type & CUPS_PRINTER_BIND) ? "T" : "F";
-
-  keyvalue[i  ][0] = "Sort";
-  keyvalue[i++][1] = (p->type & CUPS_PRINTER_SORT) ? "T" : "F";
-
-  keyvalue[i  ][0] = "Scan";
-  keyvalue[i++][1] = (p->type & CUPS_PRINTER_MFP) ? "T" : "F";
-
-  snprintf(type_str, sizeof(type_str), "0x%X", p->type | CUPS_PRINTER_REMOTE);
-  snprintf(state_str, sizeof(state_str), "%d", p->state);
-
-  keyvalue[i  ][0] = "printer-state";
-  keyvalue[i++][1] = state_str;
-
-  keyvalue[i  ][0] = "printer-type";
-  keyvalue[i++][1] = type_str;
-
- /*
-  * Then pack them into a proper txt record...
-  */
-
-  return (dnssdPackTxtRecord(txt_len, keyvalue, i));
-}
-
-
-/*
- * 'dnssdComparePrinters()' - Compare the registered names of two printers.
- */
-
-static int                             /* O - Result of comparison */
-dnssdComparePrinters(cupsd_printer_t *a,/* I - First printer */
-                     cupsd_printer_t *b)/* I - Second printer */
-{
-  return (_cups_strcasecmp(a->reg_name, b->reg_name));
-}
-
-
-/*
- * 'dnssdDeregisterPrinter()' - Stop sending broadcast information for a
- *                              printer.
- */
-
-static void
-dnssdDeregisterPrinter(
-    cupsd_printer_t *p)                        /* I - Printer */
-{
-  cupsdLogMessage(CUPSD_LOG_DEBUG2, "dnssdDeregisterPrinter(%s)", p->name);
-
- /*
-  * Closing the socket deregisters the service
-  */
-
-  if (p->ipp_ref)
-  {
-    DNSServiceRefDeallocate(p->ipp_ref);
-    p->ipp_ref = NULL;
-  }
-
-  if (p->ipp_txt)
-  {
-   /*
-    * p->ipp_txt is malloc'd, not _cupsStrAlloc'd...
-    */
-
-    free(p->ipp_txt);
-    p->ipp_txt = NULL;
-  }
-
-  if (p->printer_ref)
-  {
-    DNSServiceRefDeallocate(p->printer_ref);
-    p->printer_ref = NULL;
-  }
-
-  if (p->printer_txt)
-  {
-   /*
-    * p->printer_txt is malloc'd, not _cupsStrAlloc'd...
-    */
-
-    free(p->printer_txt);
-    p->printer_txt = NULL;
-  }
-
- /*
-  * Remove the printer from the array of DNS-SD printers, then clear the
-  * registered name...
-  */
-
-  cupsArrayRemove(DNSSDPrinters, p);
-  cupsdClearString(&p->reg_name);
-}
-
-
-/*
- * 'dnssdPackTxtRecord()' - Pack an array of key/value pairs into the
- *                          TXT record format.
- */
-
-static char *                          /* O - TXT record */
-dnssdPackTxtRecord(int  *txt_len,      /* O - TXT record length */
-                  char *keyvalue[][2], /* I - Table of key value pairs */
-                  int  count)          /* I - Items in table */
-{
-  int  i;                              /* Looping var */
-  int  length;                         /* Length of TXT record */
-  int  length2;                                /* Length of value */
-  char *txtRecord;                     /* TXT record buffer */
-  char *cursor;                                /* Looping pointer */
-
-
- /*
-  * Calculate the buffer size
-  */
-
-  if (count <= 0)
-    return (NULL);
-
-  for (length = i = 0; i < count; i++)
-    length += 1 + strlen(keyvalue[i][0]) +
-             (keyvalue[i][1] ? 1 + strlen(keyvalue[i][1]) : 0);
-
- /*
-  * Allocate and fill it
-  */
-
-  txtRecord = malloc(length);
-  if (txtRecord)
-  {
-    *txt_len = length;
-
-    for (cursor = txtRecord, i = 0; i < count; i++)
-    {
-     /*
-      * Drop in the p-string style length byte followed by the data
-      */
-
-      length  = strlen(keyvalue[i][0]);
-      length2 = keyvalue[i][1] ? 1 + strlen(keyvalue[i][1]) : 0;
-
-      *cursor++ = (unsigned char)(length + length2);
-
-      memcpy(cursor, keyvalue[i][0], length);
-      cursor += length;
-
-      if (length2)
-      {
-        length2 --;
-       *cursor++ = '=';
-       memcpy(cursor, keyvalue[i][1], length2);
-       cursor += length2;
-      }
-    }
-  }
-
-  return (txtRecord);
-}
-
-
-/*
- * 'dnssdRegisterCallback()' - DNSServiceRegister callback.
- */
-
-static void
-dnssdRegisterCallback(
-    DNSServiceRef      sdRef,          /* I - DNS Service reference */
-    DNSServiceFlags    flags,          /* I - Reserved for future use */
-    DNSServiceErrorType        errorCode,      /* I - Error code */
-    const char         *name,          /* I - Service name */
-    const char         *regtype,       /* I - Service type */
-    const char         *domain,        /* I - Domain. ".local" for now */
-    void               *context)       /* I - User-defined context */
-{
-  cupsd_printer_t *p = (cupsd_printer_t *)context;
-                                       /* Current printer */
-
-
-  (void)sdRef;
-  (void)flags;
-  (void)domain;
-
-  cupsdLogMessage(CUPSD_LOG_DEBUG2, "dnssdRegisterCallback(%s, %s) for %s (%s)",
-                  name, regtype, p ? p->name : "Web Interface",
-                 p ? (p->reg_name ? p->reg_name : "(null)") : "NA");
-
-  if (errorCode)
-  {
-    cupsdLogMessage(CUPSD_LOG_ERROR,
-                   "DNSServiceRegister failed with error %d", (int)errorCode);
-    return;
-  }
-  else if (p && (!p->reg_name || _cups_strcasecmp(name, p->reg_name)))
-  {
-    cupsdLogMessage(CUPSD_LOG_INFO, "Using service name \"%s\" for \"%s\"",
-                    name, p->name);
-
-    cupsArrayRemove(DNSSDPrinters, p);
-    cupsdSetString(&p->reg_name, name);
-    cupsArrayAdd(DNSSDPrinters, p);
-
-    LastEvent |= CUPSD_EVENT_PRINTER_MODIFIED;
-  }
-}
-
-
-/*
- * 'dnssdRegisterPrinter()' - Start sending broadcast information for a printer
- *                           or update the broadcast contents.
- */
-
-static void
-dnssdRegisterPrinter(cupsd_printer_t *p)/* I - Printer */
-{
-  DNSServiceErrorType  se;             /* dnssd errors */
-  char                 *ipp_txt,       /* IPP TXT record buffer */
-                       *printer_txt,   /* LPD TXT record buffer */
-                       name[1024],     /* Service name */
-                       *nameptr;       /* Pointer into name */
-  int                  ipp_len,        /* IPP TXT record length */
-                       printer_len,    /* LPD TXT record length */
-                       printer_port;   /* LPD port number */
-  const char           *regtype;       /* Registration type */
-
-
-  cupsdLogMessage(CUPSD_LOG_DEBUG2, "dnssdRegisterPrinter(%s) %s", p->name,
-                  !p->ipp_ref ? "new" : "update");
-
- /*
-  * If per-printer sharing was just disabled make sure we're not
-  * registered before returning.
-  */
-
-  if (!p->shared)
-  {
-    dnssdDeregisterPrinter(p);
-    return;
-  }
-
- /*
-  * The registered name takes the form of "<printer-info> @ <computer name>"...
-  */
-
-  if (p->info && strlen(p->info) > 0)
-  {
-    if (DNSSDComputerName)
-      snprintf(name, sizeof(name), "%s @ %s", p->info, DNSSDComputerName);
-    else
-      strlcpy(name, p->info, sizeof(name));
-  }
-  else if (DNSSDComputerName)
-    snprintf(name, sizeof(name), "%s @ %s", p->name, DNSSDComputerName);
-  else
-    strlcpy(name, p->name, sizeof(name));
-
- /*
-  * If an existing printer was renamed, unregister it and start over...
-  */
-
-  if (p->reg_name && strcmp(p->reg_name, name))
-    dnssdDeregisterPrinter(p);
-
-  if (!p->reg_name)
-  {
-    cupsdSetString(&p->reg_name, name);
-    cupsArrayAdd(DNSSDPrinters, p);
-  }
-
- /*
-  * Register IPP and (optionally) LPD...
-  */
-
-  ipp_len = 0;                         /* anti-compiler-warning-code */
-  ipp_txt = dnssdBuildTxtRecord(&ipp_len, p, 0);
-
-  if (p->ipp_ref &&
-      (ipp_len != p->ipp_len || memcmp(ipp_txt, p->ipp_txt, ipp_len)))
-  {
-   /*
-    * Update the existing registration...
-    */
-
-    /* A TTL of 0 means use record's original value (Radar 3176248) */
-    if ((se = DNSServiceUpdateRecord(p->ipp_ref, NULL, 0, ipp_len, ipp_txt,
-                                    0)) == kDNSServiceErr_NoError)
-    {
-      if (p->ipp_txt)
-       free(p->ipp_txt);
-
-      p->ipp_txt = ipp_txt;
-      p->ipp_len = ipp_len;
-      ipp_txt    = NULL;
-    }
-    else
-    {
-     /*
-      * Failed to update record, lets close this reference and move on...
-      */
-
-      cupsdLogMessage(CUPSD_LOG_ERROR,
-                     "Unable to update IPP DNS-SD record for %s - %d", p->name,
-                     se);
-
-      DNSServiceRefDeallocate(p->ipp_ref);
-      p->ipp_ref = NULL;
-    }
-  }
-
-  if (!p->ipp_ref)
-  {
-   /*
-    * Initial registration.  Use the _fax-ipp regtype for fax queues...
-    */
-
-    regtype = (p->type & CUPS_PRINTER_FAX) ? "_fax-ipp._tcp" : DNSSDRegType;
-
-    cupsdLogMessage(CUPSD_LOG_DEBUG,
-                   "Registering DNS-SD printer %s with name \"%s\" and "
-                   "type \"%s\"", p->name, name, regtype);
-
-   /*
-    * Register the queue, dropping characters as needed until we succeed...
-    */
-
-    nameptr = name + strlen(name);
-
-    do
-    {
-      p->ipp_ref = DNSSDRef;
-      if ((se = DNSServiceRegister(&p->ipp_ref, kDNSServiceFlagsShareConnection,
-                                   0, name, regtype, NULL, NULL,
-                                  htons(DNSSDPort), ipp_len, ipp_txt,
-                                  dnssdRegisterCallback,
-                                  p)) == kDNSServiceErr_BadParam)
-      {
-       /*
-        * Name is too long, drop trailing characters, taking into account
-       * UTF-8 encoding...
-       */
-
-        nameptr --;
-
-        while (nameptr > name && (*nameptr & 0xc0) == 0x80)
-         nameptr --;
-
-        if (nameptr > name)
-          *nameptr = '\0';
-      }
-    }
-    while (se == kDNSServiceErr_BadParam && nameptr > name);
-
-    if (se == kDNSServiceErr_NoError)
-    {
-      p->ipp_txt = ipp_txt;
-      p->ipp_len = ipp_len;
-      ipp_txt    = NULL;
-    }
-    else
-      cupsdLogMessage(CUPSD_LOG_WARN,
-                      "DNS-SD IPP registration of \"%s\" failed: %d",
-                     p->name, se);
-  }
-
-  if (ipp_txt)
-    free(ipp_txt);
-
-  if (BrowseLocalProtocols & BROWSE_LPD)
-  {
-    printer_len  = 0;                  /* anti-compiler-warning-code */
-    printer_port = 515;
-    printer_txt  = dnssdBuildTxtRecord(&printer_len, p, 1);
-  }
-  else
-  {
-    printer_len  = 0;
-    printer_port = 0;
-    printer_txt  = NULL;
-  }
-
-  if (p->printer_ref &&
-      (printer_len != p->printer_len ||
-       memcmp(printer_txt, p->printer_txt, printer_len)))
-  {
-   /*
-    * Update the existing registration...
-    */
-
-    /* A TTL of 0 means use record's original value (Radar 3176248) */
-    if ((se = DNSServiceUpdateRecord(p->printer_ref, NULL, 0, printer_len,
-                                    printer_txt,
-                                    0)) == kDNSServiceErr_NoError)
-    {
-      if (p->printer_txt)
-       free(p->printer_txt);
-
-      p->printer_txt = printer_txt;
-      p->printer_len = printer_len;
-      printer_txt    = NULL;
-    }
-    else
-    {
-     /*
-      * Failed to update record, lets close this reference and move on...
-      */
-
-      cupsdLogMessage(CUPSD_LOG_ERROR,
-                     "Unable to update LPD DNS-SD record for %s - %d",
-                     p->name, se);
-
-      DNSServiceRefDeallocate(p->printer_ref);
-      p->printer_ref = NULL;
-    }
-  }
-
-  if (!p->printer_ref)
-  {
-   /*
-    * Initial registration...
-    */
-
-    cupsdLogMessage(CUPSD_LOG_DEBUG,
-                   "Registering DNS-SD printer %s with name \"%s\" and "
-                   "type \"_printer._tcp\"", p->name, name);
-
-    p->printer_ref = DNSSDRef;
-    if ((se = DNSServiceRegister(&p->printer_ref,
-                                kDNSServiceFlagsShareConnection,
-                                0, name, "_printer._tcp", NULL, NULL,
-                                htons(printer_port), printer_len, printer_txt,
-                                dnssdRegisterCallback,
-                                p)) == kDNSServiceErr_NoError)
-    {
-      p->printer_txt = printer_txt;
-      p->printer_len = printer_len;
-      printer_txt    = NULL;
-    }
-    else
-      cupsdLogMessage(CUPSD_LOG_WARN,
-                     "DNS-SD LPD registration of \"%s\" failed: %d",
-                     p->name, se);
-  }
-
-  if (printer_txt)
-    free(printer_txt);
-}
-
-
-/*
- * 'dnssdStop()' - Stop all DNS-SD registrations.
- */
-
-static void
-dnssdStop(void)
-{
-  cupsd_printer_t      *p;             /* Current printer */
-
-
- /*
-  * De-register the individual printers
-  */
-
-  for (p = (cupsd_printer_t *)cupsArrayFirst(Printers);
-       p;
-       p = (cupsd_printer_t *)cupsArrayNext(Printers))
-    dnssdDeregisterPrinter(p);
-
- /*
-  * Shutdown the rest of the service refs...
-  */
-
-  if (WebIFRef)
-  {
-    DNSServiceRefDeallocate(WebIFRef);
-    WebIFRef = NULL;
-  }
-
-  if (RemoteRef)
-  {
-    DNSServiceRefDeallocate(RemoteRef);
-    RemoteRef = NULL;
-  }
-
-  cupsdRemoveSelect(DNSServiceRefSockFD(DNSSDRef));
-
-  DNSServiceRefDeallocate(DNSSDRef);
-  DNSSDRef = NULL;
-
-  cupsArrayDelete(DNSSDPrinters);
-  DNSSDPrinters = NULL;
-
-  DNSSDPort = 0;
-}
-
-
-/*
- * 'dnssdUpdate()' - Handle DNS-SD queries.
- */
-
-static void
-dnssdUpdate(void)
-{
-  DNSServiceErrorType  sdErr;          /* Service discovery error */
-
-
-  if ((sdErr = DNSServiceProcessResult(DNSSDRef)) != kDNSServiceErr_NoError)
-  {
-    cupsdLogMessage(CUPSD_LOG_ERROR,
-                    "DNS Service Discovery registration error %d!",
-                   sdErr);
-    dnssdStop();
-  }
-}
-#endif /* HAVE_DNSSD */
-
-
-/*
- * 'get_auth_info_required()' - Get the auth-info-required value to advertise.
- */
-
-static char *                          /* O - String or NULL if none */
-get_auth_info_required(
-    cupsd_printer_t *p,                        /* I - Printer */
-    char            *buffer,           /* I - Value buffer */
-    size_t          bufsize)           /* I - Size of value buffer */
-{
-  cupsd_location_t *auth;              /* Pointer to authentication element */
-  char         resource[1024];         /* Printer/class resource path */
-
-
- /*
-  * If auth-info-required is set for this printer, return that...
-  */
-
-  if (p->num_auth_info_required > 0 && strcmp(p->auth_info_required[0], "none"))
-  {
-    int                i;                      /* Looping var */
-    char       *bufptr;                /* Pointer into buffer */
-
-    for (i = 0, bufptr = buffer; i < p->num_auth_info_required; i ++)
-    {
-      if (bufptr >= (buffer + bufsize - 2))
-       break;
-
-      if (i)
-       *bufptr++ = ',';
-
-      strlcpy(bufptr, p->auth_info_required[i], bufsize - (bufptr - buffer));
-      bufptr += strlen(bufptr);
-    }
-
-    return (buffer);
-  }
-
- /*
-  * Figure out the authentication data requirements to advertise...
-  */
-
-  if (p->type & CUPS_PRINTER_CLASS)
-    snprintf(resource, sizeof(resource), "/classes/%s", p->name);
-  else
-    snprintf(resource, sizeof(resource), "/printers/%s", p->name);
-
-  if ((auth = cupsdFindBest(resource, HTTP_POST)) == NULL ||
-      auth->type == CUPSD_AUTH_NONE)
-    auth = cupsdFindPolicyOp(p->op_policy_ptr, IPP_PRINT_JOB);
-
-  if (auth)
-  {
-    int        auth_type;                      /* Authentication type */
-
-    if ((auth_type = auth->type) == CUPSD_AUTH_DEFAULT)
-      auth_type = DefaultAuthType;
-
-    switch (auth_type)
-    {
-      case CUPSD_AUTH_NONE :
-          return (NULL);
-
-      case CUPSD_AUTH_NEGOTIATE :
-         strlcpy(buffer, "negotiate", bufsize);
-         break;
-
-      default :
-         strlcpy(buffer, "username,password", bufsize);
-         break;
-    }
-
-    return (buffer);
-  }
-
-  return ("none");
-}
-
-
-#ifdef __APPLE__
-/*
- * 'get_hostconfig()' - Get an /etc/hostconfig service setting.
- */
-
-static int                             /* O - 1 for YES or AUTOMATIC, 0 for NO */
-get_hostconfig(const char *name)       /* I - Name of service */
-{
-  cups_file_t  *fp;                    /* Hostconfig file */
-  char         line[1024],             /* Line from file */
-               *ptr;                   /* Pointer to value */
-  int          state = 1;              /* State of service */
-
-
- /*
-  * Try opening the /etc/hostconfig file; if we can't open it, assume that
-  * the service is enabled/auto.
-  */
-
-  if ((fp = cupsFileOpen("/etc/hostconfig", "r")) != NULL)
-  {
-   /*
-    * Read lines from the file until we find the service...
-    */
-
-    while (cupsFileGets(fp, line, sizeof(line)))
-    {
-      if (line[0] == '#' || (ptr = strchr(line, '=')) == NULL)
-        continue;
-
-      *ptr++ = '\0';
-
-      if (!_cups_strcasecmp(line, name))
-      {
-       /*
-        * Found the service, see if it is set to "-NO-"...
-       */
-
-       if (!_cups_strncasecmp(ptr, "-NO-", 4))
-         state = 0;
-        break;
-      }
-    }
-
-    cupsFileClose(fp);
-  }
-
-  return (state);
-}
-#endif /* __APPLE__ */
-
-
-/*
- * 'is_local_queue()' - Determine whether the URI points at a local queue.
- */
-
-static int                             /* O - 1 = local, 0 = remote, -1 = bad URI */
-is_local_queue(const char *uri,                /* I - Printer URI */
-               char       *host,       /* O - Host string */
-              int        hostlen,      /* I - Length of host buffer */
-               char       *resource,   /* O - Resource string */
-              int        resourcelen)  /* I - Length of resource buffer */
-{
-  char         scheme[32],             /* Scheme portion of URI */
-               username[HTTP_MAX_URI]; /* Username portion of URI */
-  int          port;                   /* Port portion of URI */
-  cupsd_netif_t        *iface;                 /* Network interface */
-
-
- /*
-  * Pull the URI apart to see if this is a local or remote printer...
-  */
-
-  if (httpSeparateURI(HTTP_URI_CODING_ALL, uri, scheme, sizeof(scheme),
-                      username, sizeof(username), host, hostlen, &port,
-                     resource, resourcelen) < HTTP_URI_OK)
-    return (-1);
-
-  DEBUG_printf(("host=\"%s\", ServerName=\"%s\"\n", host, ServerName));
-
- /*
-  * Check for local server addresses...
-  */
-
-  if (!_cups_strcasecmp(host, ServerName) && port == LocalPort)
-    return (1);
-
-  cupsdNetIFUpdate();
-
-  for (iface = (cupsd_netif_t *)cupsArrayFirst(NetIFList);
-       iface;
-       iface = (cupsd_netif_t *)cupsArrayNext(NetIFList))
-    if (!_cups_strcasecmp(host, iface->hostname) && port == iface->port)
-      return (1);
-
- /*
-  * If we get here, the printer is remote...
-  */
-
-  return (0);
-}
-
-
-/*
- * 'process_browse_data()' - Process new browse data.
- */
-
-static void
-process_browse_data(
-    const char    *uri,                        /* I - URI of printer/class */
-    const char    *host,               /* I - Hostname */
-    const char    *resource,           /* I - Resource path */
-    cups_ptype_t  type,                        /* I - Printer type */
-    ipp_pstate_t  state,               /* I - Printer state */
-    const char    *location,           /* I - Printer location */
-    const char    *info,               /* I - Printer information */
-    const char    *make_model,         /* I - Printer make and model */
-    int                  num_attrs,            /* I - Number of attributes */
-    cups_option_t *attrs)              /* I - Attributes */
-{
-  int          i;                      /* Looping var */
-  int          update;                 /* Update printer attributes? */
-  char         finaluri[HTTP_MAX_URI], /* Final URI for printer */
-               name[IPP_MAX_NAME],     /* Name of printer */
-               newname[IPP_MAX_NAME],  /* New name of printer */
-               *hptr,                  /* Pointer into hostname */
-               *sptr;                  /* Pointer into ServerName */
-  const char   *shortname;             /* Short queue name (queue) */
-  char         local_make_model[IPP_MAX_NAME];
-                                       /* Local make and model */
-  cupsd_printer_t *p;                  /* Printer information */
-  const char   *ipp_options,           /* ipp-options value */
-               *lease_duration,        /* lease-duration value */
-               *uuid;                  /* uuid value */
-  int          is_class;               /* Is this queue a class? */
-
-
-  cupsdLogMessage(CUPSD_LOG_DEBUG2,
-                  "process_browse_data(uri=\"%s\", host=\"%s\", "
-                 "resource=\"%s\", type=%x, state=%d, location=\"%s\", "
-                 "info=\"%s\", make_model=\"%s\", num_attrs=%d, attrs=%p)",
-                 uri, host, resource, type, state,
-                 location ? location : "(nil)", info ? info : "(nil)",
-                 make_model ? make_model : "(nil)", num_attrs, attrs);
-
- /*
-  * Determine if the URI contains any illegal characters in it...
-  */
-
-  if (strncmp(uri, "ipp://", 6) || !host[0] ||
-      (strncmp(resource, "/printers/", 10) &&
-       strncmp(resource, "/classes/", 9)))
-  {
-    cupsdLogMessage(CUPSD_LOG_ERROR, "Bad printer URI in browse data: %s", uri);
-    return;
-  }
-
-  if (strchr(resource, '?') ||
-      (!strncmp(resource, "/printers/", 10) && strchr(resource + 10, '/')) ||
-      (!strncmp(resource, "/classes/", 9) && strchr(resource + 9, '/')))
-  {
-    cupsdLogMessage(CUPSD_LOG_ERROR, "Bad resource in browse data: %s",
-                    resource);
-    return;
-  }
-
- /*
-  * OK, this isn't a local printer; add any remote options...
-  */
-
-  ipp_options = cupsGetOption("ipp-options", num_attrs, attrs);
-
-  if (BrowseRemoteOptions)
-  {
-    if (BrowseRemoteOptions[0] == '?')
-    {
-     /*
-      * Override server-supplied options...
-      */
-
-      snprintf(finaluri, sizeof(finaluri), "%s%s", uri, BrowseRemoteOptions);
-    }
-    else if (ipp_options)
-    {
-     /*
-      * Combine the server and local options...
-      */
-
-      snprintf(finaluri, sizeof(finaluri), "%s?%s+%s", uri, ipp_options,
-               BrowseRemoteOptions);
-    }
-    else
-    {
-     /*
-      * Just use the local options...
-      */
-
-      snprintf(finaluri, sizeof(finaluri), "%s?%s", uri, BrowseRemoteOptions);
-    }
-
-    uri = finaluri;
-  }
-  else if (ipp_options)
-  {
-   /*
-    * Just use the server-supplied options...
-    */
-
-    snprintf(finaluri, sizeof(finaluri), "%s?%s", uri, ipp_options);
-    uri = finaluri;
-  }
-
- /*
-  * See if we already have it listed in the Printers list, and add it if not...
-  */
-
-  type     |= CUPS_PRINTER_REMOTE | CUPS_PRINTER_DISCOVERED;
-  type     &= ~CUPS_PRINTER_IMPLICIT;
-  update   = 0;
-  hptr     = strchr(host, '.');
-  sptr     = strchr(ServerName, '.');
-  is_class = type & CUPS_PRINTER_CLASS;
-  uuid     = cupsGetOption("uuid", num_attrs, attrs);
-
-  if (!ServerNameIsIP && sptr != NULL && hptr != NULL)
-  {
-   /*
-    * Strip the common domain name components...
-    */
-
-    while (hptr != NULL)
-    {
-      if (!_cups_strcasecmp(hptr, sptr))
-      {
-        *hptr = '\0';
-       break;
-      }
-      else
-        hptr = strchr(hptr + 1, '.');
-    }
-  }
-
-  if (is_class)
-  {
-   /*
-    * Remote destination is a class...
-    */
-
-    if (!strncmp(resource, "/classes/", 9))
-      snprintf(name, sizeof(name), "%s@%s", resource + 9, host);
-    else
-      return;
-
-    shortname = resource + 9;
-  }
-  else
-  {
-   /*
-    * Remote destination is a printer...
-    */
-
-    if (!strncmp(resource, "/printers/", 10))
-      snprintf(name, sizeof(name), "%s@%s", resource + 10, host);
-    else
-      return;
-
-    shortname = resource + 10;
-  }
-
-  if (hptr && !*hptr)
-    *hptr = '.';                       /* Resource FQDN */
-
-  if ((p = cupsdFindDest(name)) == NULL && BrowseShortNames)
-  {
-   /*
-    * Long name doesn't exist, try short name...
-    */
-
-    cupsdLogMessage(CUPSD_LOG_DEBUG, "process_browse_data: %s not found...",
-                    name);
-
-    if ((p = cupsdFindDest(shortname)) == NULL)
-    {
-     /*
-      * Short name doesn't exist, use it for this shared queue.
-      */
-
-      cupsdLogMessage(CUPSD_LOG_DEBUG2, "process_browse_data: %s not found...",
-                     shortname);
-      strlcpy(name, shortname, sizeof(name));
-    }
-    else
-    {
-     /*
-      * Short name exists...
-      */
-
-      cupsdLogMessage(CUPSD_LOG_DEBUG2,
-                      "process_browse_data: %s found, type=%x, hostname=%s...",
-                     shortname, p->type, p->hostname ? p->hostname : "(nil)");
-
-      if (p->type & CUPS_PRINTER_IMPLICIT)
-        p = NULL;                      /* Don't replace implicit classes */
-      else if (p->hostname && _cups_strcasecmp(p->hostname, host))
-      {
-       /*
-       * Short name exists but is for a different host.  If this is a remote
-       * queue, rename it and use the long name...
-       */
-
-       if (p->type & CUPS_PRINTER_REMOTE)
-       {
-         cupsdLogMessage(CUPSD_LOG_DEBUG,
-                         "Renamed remote %s \"%s\" to \"%s@%s\"...",
-                         is_class ? "class" : "printer", p->name, p->name,
-                         p->hostname);
-         cupsdAddEvent(CUPSD_EVENT_PRINTER_DELETED, p, NULL,
-                       "%s \'%s\' deleted by directory services.",
-                       is_class ? "Class" : "Printer", p->name);
-
-         snprintf(newname, sizeof(newname), "%s@%s", p->name, p->hostname);
-         cupsdRenamePrinter(p, newname);
-
-         cupsdAddEvent(CUPSD_EVENT_PRINTER_ADDED, p, NULL,
-                       "%s \'%s\' added by directory services.",
-                       is_class ? "Class" : "Printer", p->name);
-       }
-
-       /*
-        * Force creation with long name...
-       */
-
-       p = NULL;
-      }
-    }
-  }
-  else if (p)
-    cupsdLogMessage(CUPSD_LOG_DEBUG2,
-                   "process_browse_data: %s found, type=%x, hostname=%s...",
-                   name, p->type, p->hostname ? p->hostname : "(nil)");
-
-  if (!p)
-  {
-   /*
-    * Queue doesn't exist; add it...
-    */
-
-    if (is_class)
-      p = cupsdAddClass(name);
-    else
-      p = cupsdAddPrinter(name);
-
-    if (!p)
-      return;
-
-    cupsdClearString(&(p->hostname));
-
-    cupsdLogMessage(CUPSD_LOG_DEBUG, "Added remote %s \"%s\"...",
-                    is_class ? "class" : "printer", name);
-
-    cupsdAddEvent(CUPSD_EVENT_PRINTER_ADDED, p, NULL,
-                 "%s \'%s\' added by directory services.",
-                 is_class ? "Class" : "Printer", name);
-
-   /*
-    * Force the URI to point to the real server...
-    */
-
-    p->type      = type & ~CUPS_PRINTER_REJECTING;
-    p->accepting = 1;
-
-    cupsdMarkDirty(CUPSD_DIRTY_PRINTCAP);
-  }
-
-  if (!p->hostname)
-  {
-   /*
-    * Hostname not set, so this must be a cached remote printer
-    * that was created for a pending print job...
-    */
-
-    cupsdSetString(&p->hostname, host);
-    cupsdSetString(&p->uri, uri);
-    cupsdSetString(&p->device_uri, uri);
-    update = 1;
-
-    cupsdMarkDirty(CUPSD_DIRTY_REMOTE);
-  }
-
- /*
-  * Update the state...
-  */
-
-  p->state       = state;
-  p->browse_time = time(NULL);
-
-  if ((lease_duration = cupsGetOption("lease-duration", num_attrs,
-                                      attrs)) != NULL)
-  {
-   /*
-    * Grab the lease-duration for the browse data; anything less then 1
-    * second or more than 1 week gets the default BrowseTimeout...
-    */
-
-    i = atoi(lease_duration);
-    if (i < 1 || i > 604800)
-      i = BrowseTimeout;
-
-    p->browse_expire = p->browse_time + i;
-  }
-  else
-    p->browse_expire = p->browse_time + BrowseTimeout;
-
-  if (type & CUPS_PRINTER_REJECTING)
-  {
-    type &= ~CUPS_PRINTER_REJECTING;
-
-    if (p->accepting)
-    {
-      update       = 1;
-      p->accepting = 0;
-    }
-  }
-  else if (!p->accepting)
-  {
-    update       = 1;
-    p->accepting = 1;
-  }
-
-  if (p->type != type)
-  {
-    p->type = type;
-    update  = 1;
-  }
-
-  if (uuid && strcmp(p->uuid, uuid))
-  {
-    cupsdSetString(&p->uuid, uuid);
-    update = 1;
-  }
-
-  if (location && (!p->location || strcmp(p->location, location)))
-  {
-    cupsdSetString(&p->location, location);
-    update = 1;
-  }
-
-  if (info && (!p->info || strcmp(p->info, info)))
-  {
-    cupsdSetString(&p->info, info);
-    update = 1;
-
-    cupsdMarkDirty(CUPSD_DIRTY_PRINTCAP | CUPSD_DIRTY_REMOTE);
-  }
-
-  if (!make_model || !make_model[0])
-  {
-    if (is_class)
-      snprintf(local_make_model, sizeof(local_make_model),
-               "Remote Class on %s", host);
-    else
-      snprintf(local_make_model, sizeof(local_make_model),
-               "Remote Printer on %s", host);
-  }
-  else
-    snprintf(local_make_model, sizeof(local_make_model),
-             "%s on %s", make_model, host);
-
-  if (!p->make_model || strcmp(p->make_model, local_make_model))
-  {
-    cupsdSetString(&p->make_model, local_make_model);
-    update = 1;
-  }
-
-  if (p->num_options)
-  {
-    if (!update && !(type & CUPS_PRINTER_DELETE))
-    {
-     /*
-      * See if we need to update the attributes...
-      */
-
-      if (p->num_options != num_attrs)
-       update = 1;
-      else
-      {
-       for (i = 0; i < num_attrs; i ++)
-          if (strcmp(attrs[i].name, p->options[i].name) ||
-             (!attrs[i].value != !p->options[i].value) ||
-             (attrs[i].value && strcmp(attrs[i].value, p->options[i].value)))
-          {
-           update = 1;
-           break;
-          }
-      }
-    }
-
-   /*
-    * Free the old options...
-    */
-
-    cupsFreeOptions(p->num_options, p->options);
-  }
-
-  p->num_options = num_attrs;
-  p->options     = attrs;
-
-  if (type & CUPS_PRINTER_DELETE)
-  {
-    cupsdAddEvent(CUPSD_EVENT_PRINTER_DELETED, p, NULL,
-                  "%s \'%s\' deleted by directory services.",
-                 is_class ? "Class" : "Printer", p->name);
-
-    cupsdExpireSubscriptions(p, NULL);
-
-    cupsdDeletePrinter(p, 1);
-    cupsdUpdateImplicitClasses();
-    cupsdMarkDirty(CUPSD_DIRTY_PRINTCAP | CUPSD_DIRTY_REMOTE);
-  }
-  else if (update)
-  {
-    cupsdSetPrinterAttrs(p);
-    cupsdUpdateImplicitClasses();
-  }
-
- /*
-  * See if we have a default printer...  If not, make the first network
-  * default printer the default.
-  */
-
-  if (DefaultPrinter == NULL && Printers != NULL && UseNetworkDefault)
-  {
-   /*
-    * Find the first network default printer and use it...
-    */
-
-    for (p = (cupsd_printer_t *)cupsArrayFirst(Printers);
-         p;
-        p = (cupsd_printer_t *)cupsArrayNext(Printers))
-      if (p->type & CUPS_PRINTER_DEFAULT)
-      {
-        DefaultPrinter = p;
-        cupsdMarkDirty(CUPSD_DIRTY_PRINTCAP | CUPSD_DIRTY_REMOTE);
-       break;
-      }
-  }
-
- /*
-  * Do auto-classing if needed...
-  */
-
-  process_implicit_classes();
-}
-
-
-/*
- * 'process_implicit_classes()' - Create/update implicit classes as needed.
- */
-
-static void
-process_implicit_classes(void)
-{
-  int          i;                      /* Looping var */
-  int          update;                 /* Update printer attributes? */
-  char         name[IPP_MAX_NAME],     /* Name of printer */
-               *hptr;                  /* Pointer into hostname */
-  cupsd_printer_t *p,                  /* Printer information */
-               *pclass,                /* Printer class */
-               *first;                 /* First printer in class */
-  int          offset,                 /* Offset of name */
-               len;                    /* Length of name */
-
-
-  if (!ImplicitClasses || !Printers)
-    return;
-
- /*
-  * Loop through all available printers and create classes as needed...
-  */
-
-  for (p = (cupsd_printer_t *)cupsArrayFirst(Printers), len = 0, offset = 0,
-           update = 0, pclass = NULL, first = NULL;
-       p != NULL;
-       p = (cupsd_printer_t *)cupsArrayNext(Printers))
-  {
-   /*
-    * Skip implicit classes...
-    */
-
-    if (p->type & CUPS_PRINTER_IMPLICIT)
-    {
-      len = 0;
-      continue;
-    }
-
-   /*
-    * If len == 0, get the length of this printer name up to the "@"
-    * sign (if any).
-    */
-
-    cupsArraySave(Printers);
-
-    if (len > 0 &&
-       !_cups_strncasecmp(p->name, name + offset, len) &&
-       (p->name[len] == '\0' || p->name[len] == '@'))
-    {
-     /*
-      * We have more than one printer with the same name; see if
-      * we have a class, and if this printer is a member...
-      */
-
-      if (pclass && _cups_strcasecmp(pclass->name, name))
-      {
-       if (update)
-         cupsdSetPrinterAttrs(pclass);
-
-       update = 0;
-       pclass = NULL;
-      }
-
-      if (!pclass && (pclass = cupsdFindDest(name)) == NULL)
-      {
-       /*
-       * Need to add the class...
-       */
-
-       pclass = cupsdAddPrinter(name);
-       cupsArrayAdd(ImplicitPrinters, pclass);
-
-       pclass->type      |= CUPS_PRINTER_IMPLICIT;
-       pclass->accepting = 1;
-       pclass->state     = IPP_PRINTER_IDLE;
-
-        cupsdSetString(&pclass->location, p->location);
-        cupsdSetString(&pclass->info, p->info);
-
-        cupsdSetString(&pclass->job_sheets[0], p->job_sheets[0]);
-        cupsdSetString(&pclass->job_sheets[1], p->job_sheets[1]);
-
-        update = 1;
-
-       cupsdMarkDirty(CUPSD_DIRTY_PRINTCAP | CUPSD_DIRTY_REMOTE);
-
-        cupsdLogMessage(CUPSD_LOG_DEBUG, "Added implicit class \"%s\"...",
-                       name);
-       cupsdAddEvent(CUPSD_EVENT_PRINTER_ADDED, p, NULL,
-                      "Implicit class \'%s\' added by directory services.",
-                     name);
-      }
-
-      if (first != NULL)
-      {
-        for (i = 0; i < pclass->num_printers; i ++)
-         if (pclass->printers[i] == first)
-           break;
-
-        if (i >= pclass->num_printers)
-       {
-         first->in_implicit_class = 1;
-         cupsdAddPrinterToClass(pclass, first);
-        }
-
-       first = NULL;
-      }
-
-      for (i = 0; i < pclass->num_printers; i ++)
-       if (pclass->printers[i] == p)
-         break;
-
-      if (i >= pclass->num_printers)
-      {
-       p->in_implicit_class = 1;
-       cupsdAddPrinterToClass(pclass, p);
-       update = 1;
-      }
-    }
-    else
-    {
-     /*
-      * First time around; just get name length and mark it as first
-      * in the list...
-      */
-
-      if ((hptr = strchr(p->name, '@')) != NULL)
-       len = hptr - p->name;
-      else
-       len = strlen(p->name);
-
-      if (len >= sizeof(name))
-      {
-       /*
-       * If the printer name length somehow is greater than we normally allow,
-       * skip this printer...
-       */
-
-       len = 0;
-       cupsArrayRestore(Printers);
-       continue;
-      }
-
-      strncpy(name, p->name, len);
-      name[len] = '\0';
-      offset    = 0;
-
-      if ((first = (hptr ? cupsdFindDest(name) : p)) != NULL &&
-         !(first->type & CUPS_PRINTER_IMPLICIT))
-      {
-       /*
-       * Can't use same name as a local printer; add "Any" to the
-       * front of the name, unless we have explicitly disabled
-       * the "ImplicitAnyClasses"...
-       */
-
-        if (ImplicitAnyClasses && len < (sizeof(name) - 4))
-       {
-        /*
-         * Add "Any" to the class name...
-         */
-
-          strcpy(name, "Any");
-          strncpy(name + 3, p->name, len);
-         name[len + 3] = '\0';
-         offset        = 3;
-       }
-       else
-       {
-        /*
-         * Don't create an implicit class if we have a local printer
-         * with the same name...
-         */
-
-         len = 0;
-          cupsArrayRestore(Printers);
-         continue;
-       }
-      }
-
-      first = p;
-    }
-
-    cupsArrayRestore(Printers);
-  }
-
- /*
-  * Update the last printer class as needed...
-  */
-
-  if (pclass && update)
-    cupsdSetPrinterAttrs(pclass);
-}
-
-
-/*
- * 'send_cups_browse()' - Send new browsing information using the CUPS
- *                        protocol.
- */
-
-static void
-send_cups_browse(cupsd_printer_t *p)   /* I - Printer to send */
-{
-  int                  i;              /* Looping var */
-  cups_ptype_t         type;           /* Printer type */
-  cupsd_dirsvc_addr_t  *b;             /* Browse address */
-  int                  bytes;          /* Length of packet */
-  char                 packet[1453],   /* Browse data packet */
-                       uri[1024],      /* Printer URI */
-                       location[1024], /* printer-location */
-                       info[1024],     /* printer-info */
-                       make_model[1024],
-                                       /* printer-make-and-model */
-                       air[1024];      /* auth-info-required */
-  cupsd_netif_t                *iface;         /* Network interface */
-
-
- /*
-  * Figure out the printer type value...
-  */
-
-  type = p->type | CUPS_PRINTER_REMOTE;
-
-  if (!p->accepting)
-    type |= CUPS_PRINTER_REJECTING;
-
-  if (p == DefaultPrinter)
-    type |= CUPS_PRINTER_DEFAULT;
-
- /*
-  * Remove quotes from printer-info, printer-location, and
-  * printer-make-and-model attributes...
-  */
-
-  dequote(location, p->location, sizeof(location));
-  dequote(info, p->info, sizeof(info));
+#  ifdef __APPLE__
+  sc = SCDynamicStoreCreate(kCFAllocatorDefault, CFSTR("cupsd"), NULL, NULL);
 
-  if (p->make_model)
-    dequote(make_model, p->make_model, sizeof(make_model));
-  else if (p->type & CUPS_PRINTER_CLASS)
+  if (sc)
   {
-    if (p->num_printers > 0 && p->printers[0]->make_model)
-      strlcpy(make_model, p->printers[0]->make_model, sizeof(make_model));
-    else
-      strlcpy(make_model, "Local Printer Class", sizeof(make_model));
-  }
-  else if (p->raw)
-    strlcpy(make_model, "Local Raw Printer", sizeof(make_model));
-  else
-    strlcpy(make_model, "Local System V Printer", sizeof(make_model));
-
-  if (get_auth_info_required(p, packet, sizeof(packet)))
-    snprintf(air, sizeof(air), " auth-info-required=%s", packet);
-  else
-    air[0] = '\0';
+   /*
+    * Get the computer name from the dynamic store...
+    */
 
- /*
-  * Send a packet to each browse address...
-  */
+    cupsdClearString(&DNSSDComputerName);
 
-  for (i = NumBrowsers, b = Browsers; i > 0; i --, b ++)
-    if (b->iface[0])
+    if ((nameRef = SCDynamicStoreCopyComputerName(sc, &nameEncoding)) != NULL)
     {
-     /*
-      * Send the browse packet to one or more interfaces...
-      */
-
-      if (!strcmp(b->iface, "*"))
+      if (CFStringGetCString(nameRef, nameBuffer, sizeof(nameBuffer),
+                            kCFStringEncodingUTF8))
       {
-       /*
-        * Send to all local interfaces...
-       */
-
-        cupsdNetIFUpdate();
-
-       for (iface = (cupsd_netif_t *)cupsArrayFirst(NetIFList);
-            iface;
-            iface = (cupsd_netif_t *)cupsArrayNext(NetIFList))
-       {
-        /*
-         * Only send to local, IPv4 interfaces...
-         */
-
-         if (!iface->is_local || !iface->port ||
-             iface->address.addr.sa_family != AF_INET)
-           continue;
-
-         httpAssembleURIf(HTTP_URI_CODING_ALL, uri, sizeof(uri), "ipp", NULL,
-                          iface->hostname, iface->port,
-                          (p->type & CUPS_PRINTER_CLASS) ? "/classes/%s" :
-                                                           "/printers/%s",
-                          p->name);
-         snprintf(packet, sizeof(packet),
-                  "%x %x %s \"%s\" \"%s\" \"%s\" %s%s uuid=%s\n",
-                  type, p->state, uri, location, info, make_model,
-                  p->browse_attrs ? p->browse_attrs : "", air, p->uuid);
-
-         bytes = strlen(packet);
-
-         cupsdLogMessage(CUPSD_LOG_DEBUG2,
-                         "cupsdSendBrowseList: (%d bytes to \"%s\") %s", bytes,
-                         iface->name, packet);
-
-          iface->broadcast.ipv4.sin_port = htons(BrowsePort);
-
-         sendto(BrowseSocket, packet, bytes, 0,
-                (struct sockaddr *)&(iface->broadcast),
-                httpAddrLength(&(iface->broadcast)));
-        }
+        cupsdLogMessage(CUPSD_LOG_DEBUG,
+                       "Dynamic store computer name is \"%s\".", nameBuffer);
+       cupsdSetString(&DNSSDComputerName, nameBuffer);
       }
-      else if ((iface = cupsdNetIFFind(b->iface)) != NULL)
-      {
-       /*
-        * Send to the named interface using the IPv4 address...
-       */
 
-        while (iface)
-         if (strcmp(b->iface, iface->name))
-         {
-           iface = NULL;
-           break;
-         }
-         else if (iface->address.addr.sa_family == AF_INET && iface->port)
-           break;
-         else
-            iface = (cupsd_netif_t *)cupsArrayNext(NetIFList);
-
-        if (iface)
-       {
-         httpAssembleURIf(HTTP_URI_CODING_ALL, uri, sizeof(uri), "ipp", NULL,
-                          iface->hostname, iface->port,
-                          (p->type & CUPS_PRINTER_CLASS) ? "/classes/%s" :
-                                                           "/printers/%s",
-                          p->name);
-         snprintf(packet, sizeof(packet),
-                  "%x %x %s \"%s\" \"%s\" \"%s\" %s%s uuid=%s\n",
-                  type, p->state, uri, location, info, make_model,
-                  p->browse_attrs ? p->browse_attrs : "", air, p->uuid);
-
-         bytes = strlen(packet);
-
-         cupsdLogMessage(CUPSD_LOG_DEBUG2,
-                         "cupsdSendBrowseList: (%d bytes to \"%s\") %s", bytes,
-                         iface->name, packet);
-
-          iface->broadcast.ipv4.sin_port = htons(BrowsePort);
-
-         sendto(BrowseSocket, packet, bytes, 0,
-                (struct sockaddr *)&(iface->broadcast),
-                httpAddrLength(&(iface->broadcast)));
-        }
-      }
+      CFRelease(nameRef);
     }
-    else
+
+    if (!DNSSDComputerName)
     {
      /*
-      * Send the browse packet to the indicated address using
-      * the default server name...
+      * Use the ServerName instead...
       */
 
-      snprintf(packet, sizeof(packet),
-               "%x %x %s \"%s\" \"%s\" \"%s\" %s%s uuid=%s\n",
-                      type, p->state, p->uri, location, info, make_model,
-              p->browse_attrs ? p->browse_attrs : "", air, p->uuid);
-
-      bytes = strlen(packet);
-      cupsdLogMessage(CUPSD_LOG_DEBUG2,
-                      "cupsdSendBrowseList: (%d bytes) %s", bytes, packet);
-
-      if (sendto(BrowseSocket, packet, bytes, 0,
-                (struct sockaddr *)&(b->to),
-                httpAddrLength(&(b->to))) <= 0)
-      {
-       /*
-        * Unable to send browse packet, so remove this address from the
-       * list...
-       */
+      cupsdLogMessage(CUPSD_LOG_DEBUG,
+                      "Using ServerName \"%s\" as computer name.", ServerName);
+      cupsdSetString(&DNSSDComputerName, ServerName);
+    }
 
-       cupsdLogMessage(CUPSD_LOG_ERROR,
-                       "cupsdSendBrowseList: sendto failed for browser "
-                       "%d - %s.",
-                       (int)(b - Browsers + 1), strerror(errno));
+   /*
+    * Get the local hostname from the dynamic store...
+    */
 
-        if (i > 1)
-         memmove(b, b + 1, (i - 1) * sizeof(cupsd_dirsvc_addr_t));
+    cupsdClearString(&DNSSDHostName);
 
-       b --;
-       NumBrowsers --;
+    if ((nameRef = SCDynamicStoreCopyLocalHostName(sc)) != NULL)
+    {
+      if (CFStringGetCString(nameRef, nameBuffer, sizeof(nameBuffer),
+                            kCFStringEncodingUTF8))
+      {
+        cupsdLogMessage(CUPSD_LOG_DEBUG,
+                       "Dynamic store host name is \"%s\".", nameBuffer);
+       cupsdSetString(&DNSSDHostName, nameBuffer);
       }
+
+      CFRelease(nameRef);
     }
-}
 
+    if (!DNSSDHostName)
+    {
+     /*
+      * Use the ServerName instead...
+      */
 
-#ifdef HAVE_LDAP
-/*
- * 'ldap_search_rec()' - LDAP Search with reconnect
- */
+      cupsdLogMessage(CUPSD_LOG_DEBUG,
+                      "Using ServerName \"%s\" as host name.", ServerName);
+      cupsdSetString(&DNSSDHostName, ServerName);
+    }
 
-static int                             /* O - Return code */
-ldap_search_rec(LDAP        *ld,       /* I - LDAP handler */
-                char        *base,     /* I - Base dn */
-                int         scope,     /* I - LDAP search scope */
-                char        *filter,   /* I - Filter string */
-                char        *attrs[],  /* I - Requested attributes */
-                int         attrsonly, /* I - Return only attributes? */
-                LDAPMessage **res)     /* I - LDAP handler */
-{
-  int  rc;                             /* Return code */
-  LDAP  *ldr;                          /* LDAP handler after reconnect */
+   /*
+    * Get any Back-to-My-Mac domains and add them as aliases...
+    */
 
+    cupsdFreeAliases(DNSSDAlias);
+    DNSSDAlias = NULL;
 
-#  if defined(HAVE_OPENLDAP) && LDAP_API_VERSION > 3000
-  rc = ldap_search_ext_s(ld, base, scope, filter, attrs, attrsonly, NULL, NULL,
-                         NULL, LDAP_NO_LIMIT, res);
-#  else
-  rc = ldap_search_s(ld, base, scope, filter, attrs, attrsonly, res);
-#  endif /* defined(HAVE_OPENLDAP) && LDAP_API_VERSION > 3000 */
+    btmm = SCDynamicStoreCopyValue(sc, CFSTR("Setup:/Network/BackToMyMac"));
+    if (btmm && CFGetTypeID(btmm) == CFDictionaryGetTypeID())
+    {
+      cupsdLogMessage(CUPSD_LOG_DEBUG, "%d Back to My Mac aliases to add.",
+                     (int)CFDictionaryGetCount(btmm));
+      CFDictionaryApplyFunction(btmm, dnssdAddAlias, NULL);
+    }
+    else if (btmm)
+      cupsdLogMessage(CUPSD_LOG_ERROR,
+                     "Bad Back to My Mac data in dynamic store!");
+    else
+      cupsdLogMessage(CUPSD_LOG_DEBUG, "No Back to My Mac aliases to add.");
 
- /*
-  * If we have a connection problem try again...
-  */
+    if (btmm)
+      CFRelease(btmm);
 
-  if (rc == LDAP_SERVER_DOWN || rc == LDAP_CONNECT_ERROR)
-  {
-    cupsdLogMessage(CUPSD_LOG_ERROR,
-                    "LDAP search failed with status %d: %s",
-                     rc, ldap_err2string(rc));
-    cupsdLogMessage(CUPSD_LOG_INFO,
-                    "We try the LDAP search once again after reconnecting to "
-                   "the server");
-    ldap_freeres(*res);
-    ldr = ldap_reconnect();
-
-#  if defined(HAVE_OPENLDAP) && LDAP_API_VERSION > 3000
-    rc = ldap_search_ext_s(ldr, base, scope, filter, attrs, attrsonly, NULL,
-                           NULL, NULL, LDAP_NO_LIMIT, res);
-#  else
-    rc = ldap_search_s(ldr, base, scope, filter, attrs, attrsonly, res);
-#  endif /* defined(HAVE_OPENLDAP) && LDAP_API_VERSION > 3000 */
+    CFRelease(sc);
   }
+  else
+#  endif /* __APPLE__ */
+#  ifdef HAVE_AVAHI
+  if (DNSSDClient)
+  {
+    const char *host_name = avahi_client_get_host_name(DNSSDClient);
+    const char *host_fqdn = avahi_client_get_host_name_fqdn(DNSSDClient);
 
-  if (rc == LDAP_NO_SUCH_OBJECT)
-    cupsdLogMessage(CUPSD_LOG_DEBUG,
-                    "ldap_search_rec: LDAP entry/object not found");
-  else if (rc != LDAP_SUCCESS)
-    cupsdLogMessage(CUPSD_LOG_ERROR,
-                    "ldap_search_rec: LDAP search failed with status %d: %s",
-                     rc, ldap_err2string(rc));
-
-  if (rc != LDAP_SUCCESS)
-    ldap_freeres(*res);
-
-  return (rc);
-}
-
-
-/*
- * 'ldap_freeres()' - Free LDAPMessage
- */
-
-static void
-ldap_freeres(LDAPMessage *entry)       /* I - LDAP handler */
-{
-  int  rc;                             /* Return value */
-
-
-  rc = ldap_msgfree(entry);
-  if (rc == -1)
-    cupsdLogMessage(CUPSD_LOG_WARN, "Can't free LDAPMessage!");
-  else if (rc == 0)
-    cupsdLogMessage(CUPSD_LOG_DEBUG2, "Freeing LDAPMessage was unnecessary");
-}
-
-
-/*
- * 'ldap_getval_char()' - Get first LDAP value and convert to string
- */
-
-static int                             /* O - Return code */
-ldap_getval_firststring(
-    LDAP          *ld,                 /* I - LDAP handler */
-    LDAPMessage   *entry,              /* I - LDAP message or search result */
-    char          *attr,               /* I - the wanted attribute  */
-    char          *retval,             /* O - String to return */
-    unsigned long maxsize)             /* I - Max string size */
-{
-  char                 *dn;            /* LDAP DN */
-  int                  rc = 0;         /* Return code */
-#  if defined(HAVE_OPENLDAP) && LDAP_API_VERSION > 3000
-  struct berval                **bval;         /* LDAP value array */
-  unsigned long                size;           /* String size */
-
-
- /*
-  * Get value from LDAPMessage...
-  */
+    cupsdSetString(&DNSSDComputerName, host_name ? host_name : ServerName);
 
-  if ((bval = ldap_get_values_len(ld, entry, attr)) == NULL)
-  {
-    rc = -1;
-    dn = ldap_get_dn(ld, entry);
-    cupsdLogMessage(CUPSD_LOG_WARN,
-                    "Failed to get LDAP value %s for %s!",
-                    attr, dn);
-    ldap_memfree(dn);
+    if (host_fqdn)
+      cupsdSetString(&DNSSDHostName, host_fqdn);
+    else if (strchr(ServerName, '.'))
+      cupsdSetString(&DNSSDHostName, ServerName);
+    else
+      cupsdSetStringf(&DNSSDHostName, "%s.local", ServerName);
   }
   else
+#  endif /* HAVE_AVAHI */
   {
-   /*
-    * Check size and copy value into our string...
-    */
+    cupsdSetString(&DNSSDComputerName, ServerName);
 
-    size = maxsize;
-    if (size < (bval[0]->bv_len + 1))
-    {
-      rc = -1;
-      dn = ldap_get_dn(ld, entry);
-      cupsdLogMessage(CUPSD_LOG_WARN,
-                      "Attribute %s is too big! (dn: %s)",
-                      attr, dn);
-      ldap_memfree(dn);
-    }
+    if (strchr(ServerName, '.'))
+      cupsdSetString(&DNSSDHostName, ServerName);
     else
-      size = bval[0]->bv_len + 1;
-
-    strlcpy(retval, bval[0]->bv_val, size);
-    ldap_value_free_len(bval);
+      cupsdSetStringf(&DNSSDHostName, "%s.local", ServerName);
   }
-#  else
-  char **value;                        /* LDAP value */
 
  /*
-  * Get value from LDAPMessage...
+  * Then (re)register the web interface if enabled...
   */
 
-  if ((value = (char **)ldap_get_values(ld, entry, attr)) == NULL)
-  {
-    rc = -1;
-    dn = ldap_get_dn(ld, entry);
-    cupsdLogMessage(CUPSD_LOG_WARN, "Failed to get LDAP value %s for %s!",
-                    attr, dn);
-    ldap_memfree(dn);
-  }
-  else
+  if (BrowseWebIF)
   {
-    strlcpy(retval, *value, maxsize);
-    ldap_value_free(value);
-  }
-#  endif /* defined(HAVE_OPENLDAP) && LDAP_API_VERSION > 3000 */
+    if (DNSSDComputerName)
+      snprintf(webif, sizeof(webif), "CUPS @ %s", DNSSDComputerName);
+    else
+      strlcpy(webif, "CUPS", sizeof(webif));
 
-  return (rc);
+    dnssdDeregisterInstance(&WebIFSrv);
+    dnssdRegisterInstance(&WebIFSrv, NULL, webif, "_http._tcp", "_printer",
+                          DNSSDPort, NULL, 1);
+  }
 }
 
 
+#  ifdef __APPLE__
 /*
- * 'send_ldap_ou()' - Send LDAP ou registrations.
+ * 'dnssdAddAlias()' - Add a DNS-SD alias name.
  */
 
 static void
-send_ldap_ou(char *ou,                 /* I - Servername/ou to register */
-             char *basedn,             /* I - Our base dn */
-             char *descstring)         /* I - Description for ou */
+dnssdAddAlias(const void *key,         /* I - Key */
+              const void *value,       /* I - Value (domain) */
+             void       *context)      /* I - Unused */
 {
-  int           i;                      /* Looping var... */
-  LDAPMod       mods[3];                /* The 3 attributes we will be adding */
-  LDAPMod       *pmods[4];              /* Pointers to the 3 attributes + NULL */
-  LDAPMessage   *res,                   /* Search result token */
-               *e;                     /* Current entry from search */
-  int           rc;                     /* LDAP status */
-  int           rcmod;                  /* LDAP status for modifications */
-  char          dn[1024],               /* DN of the organizational unit we are adding */
-                *desc[2],               /* Change records */
-                *ou_value[2];
-  char         old_desc[1024];         /* Old description */
-  static const char * const objectClass_values[] =
-               {                       /* The 2 objectClass's we use in */
-                 "top",                /* our LDAP entries              */
-                 "organizationalUnit",
-                 NULL
-               };
-  static const char * const ou_attrs[] =/* CUPS LDAP attributes */
-               {
-                 "description",
-                 NULL
-               };
-
-
-  cupsdLogMessage(CUPSD_LOG_DEBUG2, "send_ldap_ou: %s", ou);
-
- /*
-  * Reconnect if LDAP Handle is invalid...
-  */
-
-  if (!BrowseLDAPHandle)
-  {
-    cupsdLogMessage(CUPSD_LOG_DEBUG2,
-                    "send_ldap_ou: LDAP Handle is invalid. Try reconnecting...");
-    ldap_reconnect();
-    return;
-  }
-
- /*
-  * Prepare ldap search...
-  */
-
-  snprintf(dn, sizeof(dn), "ou=%s, %s", ou, basedn);
-  cupsdLogMessage(CUPSD_LOG_DEBUG2, "send_ldap_ou: dn=\"%s\"", dn);
-
-  ou_value[0] = ou;
-  ou_value[1] = NULL;
-  desc[0]     = descstring;
-  desc[1]     = NULL;
-
-  mods[0].mod_type   = "ou";
-  mods[0].mod_values = ou_value;
-  mods[1].mod_type   = "description";
-  mods[1].mod_values = desc;
-  mods[2].mod_type   = "objectClass";
-  mods[2].mod_values = (char **)objectClass_values;
-
-  rc = ldap_search_rec(BrowseLDAPHandle, dn, LDAP_SCOPE_BASE, NULL,
-                       (char **)ou_attrs, 0, &res);
-
- /*
-  * If ldap search was not successfull then exit function...
-  */
+  char valueStr[1024],                 /* Domain string */
+       hostname[1024],                 /* Complete hostname */
+       *hostptr;                       /* Pointer into hostname */
 
-  if (rc != LDAP_SUCCESS && rc != LDAP_NO_SUCH_OBJECT)
-    return;
 
- /*
-  * Check if we need to insert or update the LDAP entry...
-  */
+  (void)key;
+  (void)context;
 
-  if (ldap_count_entries(BrowseLDAPHandle, res) > 0 &&
-      rc != LDAP_NO_SUCH_OBJECT)
+  if (CFGetTypeID((CFStringRef)value) == CFStringGetTypeID() &&
+      CFStringGetCString((CFStringRef)value, valueStr, sizeof(valueStr),
+                         kCFStringEncodingUTF8))
   {
-   /*
-    * Printserver has already been registered, check if
-    * modification is required...
-    */
-
-    e = ldap_first_entry(BrowseLDAPHandle, res);
-
-   /*
-    * Get the required values from this entry...
-    */
-
-    if (ldap_getval_firststring(BrowseLDAPHandle, e, "description", old_desc,
-                                sizeof(old_desc)) == -1)
-      old_desc[0] = '\0';
-
-   /*
-    * Check if modification is required...
-    */
-
-    if ( strcmp(desc[0], old_desc) == 0 )
-    {
-     /*
-      * LDAP entry for the printer exists.
-      * Printer has already been registered,
-      * no modifications required...
-      */
-      cupsdLogMessage(CUPSD_LOG_DEBUG2,
-                      "send_ldap_ou: No updates required for %s", ou);
-    }
-    else
-    {
-
-      cupsdLogMessage(CUPSD_LOG_DEBUG2,
-                      "send_ldap_ou: Replace entry for %s", ou);
+    snprintf(hostname, sizeof(hostname), "%s.%s", DNSSDHostName, valueStr);
+    hostptr = hostname + strlen(hostname) - 1;
+    if (*hostptr == '.')
+      *hostptr = '\0';                 /* Strip trailing dot */
 
-      for (i = 0; i < 3; i ++)
-      {
-        pmods[i]         = mods + i;
-        pmods[i]->mod_op = LDAP_MOD_REPLACE;
-      }
-      pmods[i] = NULL;
+    if (!DNSSDAlias)
+      DNSSDAlias = cupsArrayNew(NULL, NULL);
 
-#  if defined(HAVE_OPENLDAP) && LDAP_API_VERSION > 3000
-      if ((rcmod = ldap_modify_ext_s(BrowseLDAPHandle, dn, pmods, NULL,
-                                     NULL)) != LDAP_SUCCESS)
-#  else
-      if ((rcmod = ldap_modify_s(BrowseLDAPHandle, dn, pmods)) != LDAP_SUCCESS)
-#  endif /* defined(HAVE_OPENLDAP) && LDAP_API_VERSION > 3000 */
-      {
-        cupsdLogMessage(CUPSD_LOG_ERROR,
-                        "LDAP modify for %s failed with status %d: %s",
-                        ou, rcmod, ldap_err2string(rcmod));
-        if (rcmod == LDAP_SERVER_DOWN)
-          ldap_reconnect();
-      }
-    }
+    cupsdAddAlias(DNSSDAlias, hostname);
+    cupsdLogMessage(CUPSD_LOG_DEBUG, "Added Back to My Mac ServerAlias %s",
+                   hostname);
   }
   else
-  {
-   /*
-    * Printserver has never been registered,
-    * add registration...
-    */
-
-    cupsdLogMessage(CUPSD_LOG_DEBUG2,
-                    "send_ldap_ou: Add entry for %s", ou);
-
-    for (i = 0; i < 3; i ++)
-    {
-      pmods[i]         = mods + i;
-      pmods[i]->mod_op = LDAP_MOD_ADD;
-    }
-    pmods[i] = NULL;
-
-#  if defined(HAVE_OPENLDAP) && LDAP_API_VERSION > 3000
-    if ((rcmod = ldap_add_ext_s(BrowseLDAPHandle, dn, pmods, NULL,
-                                NULL)) != LDAP_SUCCESS)
-#  else
-    if ((rcmod = ldap_add_s(BrowseLDAPHandle, dn, pmods)) != LDAP_SUCCESS)
-#  endif /* defined(HAVE_OPENLDAP) && LDAP_API_VERSION > 3000 */
-    {
-      cupsdLogMessage(CUPSD_LOG_ERROR,
-                      "LDAP add for %s failed with status %d: %s",
-                      ou, rcmod, ldap_err2string(rcmod));
-      if (rcmod == LDAP_SERVER_DOWN)
-        ldap_reconnect();
-    }
-  }
-
-  if (rc == LDAP_SUCCESS)
-    ldap_freeres(res);
+    cupsdLogMessage(CUPSD_LOG_ERROR,
+                    "Bad Back to My Mac domain in dynamic store!");
 }
+#  endif /* __APPLE__ */
 
 
 /*
- * 'send_ldap_browse()' - Send LDAP printer registrations.
+ * 'dnssdBuildTxtRecord()' - Build a TXT record from printer info.
  */
 
-static void
-send_ldap_browse(cupsd_printer_t *p)   /* I - Printer to register */
-{
-  int          i;                      /* Looping var... */
-  LDAPMod      mods[7];                /* The 7 attributes we will be adding */
-  LDAPMod      *pmods[8];              /* Pointers to the 7 attributes + NULL */
-  LDAPMessage  *res,                   /* Search result token */
-               *e;                     /* Current entry from search */
-  char         *cn_value[2],           /* Change records */
-               *uri[2],
-               *info[2],
-               *location[2],
-               *make_model[2],
-               *type[2],
-               typestring[255],        /* String to hold printer-type */
-               dn[1024];               /* DN of the printer we are adding */
-  int          rc;                     /* LDAP status */
-  int          rcmod;                  /* LDAP status for modifications */
-  char         old_uri[HTTP_MAX_URI],  /* Printer URI */
-               old_location[1024],     /* Printer location */
-               old_info[1024],         /* Printer information */
-               old_make_model[1024],   /* Printer make and model */
-               old_type_string[30];    /* Temporary type number */
-  int          old_type;               /* Printer type */
-  static const char * const objectClass_values[] =
-               {                       /* The 3 objectClass's we use in */
-                 "top",                /* our LDAP entries              */
-                 "device",
-                 "cupsPrinter",
-                 NULL
-               };
-
-
-  cupsdLogMessage(CUPSD_LOG_DEBUG2, "send_ldap_browse: %s", p->name);
+static cupsd_txt_t                     /* O - TXT record */
+dnssdBuildTxtRecord(
+    cupsd_printer_t *p,                        /* I - Printer information */
+    int             for_lpd)           /* I - 1 = LPD, 0 = IPP */
+{
+  int          i,                      /* Looping var */
+               count;                  /* Count of key/value pairs */
+  char         admin_hostname[256],    /* .local hostname for admin page */
+               adminurl_str[256],      /* URL for the admin page */
+               type_str[32],           /* Type to string buffer */
+               state_str[32],          /* State to string buffer */
+               rp_str[1024],           /* Queue name string buffer */
+               air_str[1024],          /* auth-info-required string buffer */
+               *keyvalue[32][2];       /* Table of key/value pairs */
+  cupsd_txt_t  txt;                    /* TXT record */
+
 
  /*
-  * Exit function if LDAP updates has been disabled...
+  * Load up the key value pairs...
   */
 
-  if (!BrowseLDAPUpdate)
-  {
-    cupsdLogMessage(CUPSD_LOG_DEBUG2,
-                    "send_ldap_browse: Updates temporary disabled; "
-                   "skipping...");
-    return;
-  }
-
- /*
-  * Reconnect if LDAP Handle is invalid...
-  */
+  count = 0;
 
-  if (!BrowseLDAPHandle)
+  if (!for_lpd || (BrowseLocalProtocols & BROWSE_LPD))
   {
-    cupsdLogMessage(CUPSD_LOG_DEBUG2,
-                    "send_ldap_browse: LDAP Handle is invalid. Try "
-                   "reconnecting...");
-    ldap_reconnect();
-    return;
-  }
-
- /*
-  * Everything in ldap is ** so we fudge around it...
-  */
-
-  sprintf(typestring, "%u", p->type);
-
-  cn_value[0]   = p->name;
-  cn_value[1]   = NULL;
-  info[0]       = p->info ? p->info : "Unknown";
-  info[1]       = NULL;
-  location[0]   = p->location ? p->location : "Unknown";
-  location[1]   = NULL;
-  make_model[0] = p->make_model ? p->make_model : "Unknown";
-  make_model[1] = NULL;
-  type[0]       = typestring;
-  type[1]       = NULL;
-  uri[0]        = p->uri;
-  uri[1]        = NULL;
+    keyvalue[count  ][0] = "txtvers";
+    keyvalue[count++][1] = "1";
 
- /*
-  * Get ldap entry for printer ...
-  */
+    keyvalue[count  ][0] = "qtotal";
+    keyvalue[count++][1] = "1";
 
-  snprintf(dn, sizeof(dn), "cn=%s, ou=%s, %s", p->name, ServerName,
-           BrowseLDAPDN);
-  cupsdLogMessage(CUPSD_LOG_DEBUG2, "send_ldap_browse: dn=\"%s\"", dn);
+    keyvalue[count  ][0] = "rp";
+    keyvalue[count++][1] = rp_str;
+    if (for_lpd)
+      strlcpy(rp_str, p->name, sizeof(rp_str));
+    else
+      snprintf(rp_str, sizeof(rp_str), "%s/%s",
+              (p->type & CUPS_PRINTER_CLASS) ? "classes" : "printers",
+              p->name);
 
-  rc = ldap_search_rec(BrowseLDAPHandle, dn, LDAP_SCOPE_BASE, NULL,
-                       (char **)ldap_attrs, 0, &res);
+    keyvalue[count  ][0] = "ty";
+    keyvalue[count++][1] = p->make_model ? p->make_model : "Unknown";
 
- /*
-  * If ldap search was not successfull then exit function
-  * and temporary disable LDAP updates...
-  */
+    if (strstr(DNSSDHostName, ".local"))
+      strlcpy(admin_hostname, DNSSDHostName, sizeof(admin_hostname));
+    else
+      snprintf(admin_hostname, sizeof(admin_hostname), "%s.local.",
+               DNSSDHostName);
+    httpAssembleURIf(HTTP_URI_CODING_ALL, adminurl_str, sizeof(adminurl_str),
+#  ifdef HAVE_SSL
+                    "https",
+#  else
+                    "http",
+#  endif /* HAVE_SSL */
+                    NULL, admin_hostname, DNSSDPort, "/%s/%s",
+                    (p->type & CUPS_PRINTER_CLASS) ? "classes" : "printers",
+                    p->name);
+    keyvalue[count  ][0] = "adminurl";
+    keyvalue[count++][1] = adminurl_str;
 
-  if (rc != LDAP_SUCCESS && rc != LDAP_NO_SUCH_OBJECT)
-  {
-    if (BrowseLDAPUpdate &&
-        (rc == LDAP_SERVER_DOWN || rc == LDAP_CONNECT_ERROR))
+    if (p->location)
     {
-      BrowseLDAPUpdate = FALSE;
-      cupsdLogMessage(CUPSD_LOG_INFO,
-                      "LDAP update temporary disabled");
+      keyvalue[count  ][0] = "note";
+      keyvalue[count++][1] = p->location;
     }
 
-    return;
-  }
-
- /*
-  * Fill modification array...
-  */
+    keyvalue[count  ][0] = "priority";
+    keyvalue[count++][1] = for_lpd ? "100" : "0";
 
-  mods[0].mod_type   = "cn";
-  mods[0].mod_values = cn_value;
-  mods[1].mod_type   = "printerDescription";
-  mods[1].mod_values = info;
-  mods[2].mod_type   = "printerURI";
-  mods[2].mod_values = uri;
-  mods[3].mod_type   = "printerLocation";
-  mods[3].mod_values = location;
-  mods[4].mod_type   = "printerMakeAndModel";
-  mods[4].mod_values = make_model;
-  mods[5].mod_type   = "printerType";
-  mods[5].mod_values = type;
-  mods[6].mod_type   = "objectClass";
-  mods[6].mod_values = (char **)objectClass_values;
+    keyvalue[count  ][0] = "product";
+    keyvalue[count++][1] = p->pc && p->pc->product ? p->pc->product : "Unknown";
 
- /*
-  * Check if we need to insert or update the LDAP entry...
-  */
+    keyvalue[count  ][0] = "pdl";
+    keyvalue[count++][1] = p->pdl ? p->pdl : "application/postscript";
 
-  if (ldap_count_entries(BrowseLDAPHandle, res) > 0 &&
-      rc != LDAP_NO_SUCH_OBJECT)
-  {
-   /*
-    * Printer has already been registered, check if
-    * modification is required...
-    */
+    if (get_auth_info_required(p, air_str, sizeof(air_str)))
+    {
+      keyvalue[count  ][0] = "air";
+      keyvalue[count++][1] = air_str;
+    }
 
-    e = ldap_first_entry(BrowseLDAPHandle, res);
+    keyvalue[count  ][0] = "UUID";
+    keyvalue[count++][1] = p->uuid + 9;
 
-   /*
-    * Get the required values from this entry...
-    */
+  #ifdef HAVE_SSL
+    keyvalue[count  ][0] = "TLS";
+    keyvalue[count++][1] = "1.2";
+  #endif /* HAVE_SSL */
 
-    if (ldap_getval_firststring(BrowseLDAPHandle, e, "printerDescription",
-                                old_info, sizeof(old_info)) == -1)
-      old_info[0] = '\0';
+    if (p->type & CUPS_PRINTER_FAX)
+    {
+      keyvalue[count  ][0] = "Fax";
+      keyvalue[count++][1] = (p->type & CUPS_PRINTER_FAX) ? "T" : "F";
+    }
 
-    if (ldap_getval_firststring(BrowseLDAPHandle, e, "printerLocation",
-                                old_location, sizeof(old_location)) == -1)
-      old_info[0] = '\0';
+    if (p->type & CUPS_PRINTER_COLOR)
+    {
+      keyvalue[count  ][0] = "Color";
+      keyvalue[count++][1] = (p->type & CUPS_PRINTER_COLOR) ? "T" : "F";
+    }
 
-    if (ldap_getval_firststring(BrowseLDAPHandle, e, "printerMakeAndModel",
-                                old_make_model, sizeof(old_make_model)) == -1)
-      old_info[0] = '\0';
+    if (p->type & CUPS_PRINTER_DUPLEX)
+    {
+      keyvalue[count  ][0] = "Duplex";
+      keyvalue[count++][1] = (p->type & CUPS_PRINTER_DUPLEX) ? "T" : "F";
+    }
 
-    if (ldap_getval_firststring(BrowseLDAPHandle, e, "printerType",
-                                old_type_string, sizeof(old_type_string)) == -1)
-      old_info[0] = '\0';
+    if (p->type & CUPS_PRINTER_STAPLE)
+    {
+      keyvalue[count  ][0] = "Staple";
+      keyvalue[count++][1] = (p->type & CUPS_PRINTER_STAPLE) ? "T" : "F";
+    }
 
-    old_type = atoi(old_type_string);
+    if (p->type & CUPS_PRINTER_COPIES)
+    {
+      keyvalue[count  ][0] = "Copies";
+      keyvalue[count++][1] = (p->type & CUPS_PRINTER_COPIES) ? "T" : "F";
+    }
 
-    if (ldap_getval_firststring(BrowseLDAPHandle, e, "printerURI", old_uri,
-                                sizeof(old_uri)) == -1)
-      old_info[0] = '\0';
+    if (p->type & CUPS_PRINTER_COLLATE)
+    {
+      keyvalue[count  ][0] = "Collate";
+      keyvalue[count++][1] = (p->type & CUPS_PRINTER_COLLATE) ? "T" : "F";
+    }
 
-   /*
-    * Check if modification is required...
-    */
+    if (p->type & CUPS_PRINTER_PUNCH)
+    {
+      keyvalue[count  ][0] = "Punch";
+      keyvalue[count++][1] = (p->type & CUPS_PRINTER_PUNCH) ? "T" : "F";
+    }
 
-    if (!strcmp(info[0], old_info) && !strcmp(uri[0], old_uri) &&
-        !strcmp(location[0], old_location) &&
-       !strcmp(make_model[0], old_make_model) && p->type == old_type)
+    if (p->type & CUPS_PRINTER_BIND)
     {
-     /*
-      * LDAP entry for the printer exists. Printer has already been registered,
-      * no modifications required...
-      */
+      keyvalue[count  ][0] = "Bind";
+      keyvalue[count++][1] = (p->type & CUPS_PRINTER_BIND) ? "T" : "F";
+    }
 
-      cupsdLogMessage(CUPSD_LOG_DEBUG2,
-                       "send_ldap_browse: No updates required for %s", p->name);
+    if (p->type & CUPS_PRINTER_SORT)
+    {
+      keyvalue[count  ][0] = "Sort";
+      keyvalue[count++][1] = (p->type & CUPS_PRINTER_SORT) ? "T" : "F";
     }
-    else
+
+    if (p->type & CUPS_PRINTER_MFP)
     {
-     /*
-      * LDAP entry for the printer exists.  Printer has already been registered,
-      * modify the current registration...
-      */
+      keyvalue[count  ][0] = "Scan";
+      keyvalue[count++][1] = (p->type & CUPS_PRINTER_MFP) ? "T" : "F";
+    }
 
-      cupsdLogMessage(CUPSD_LOG_DEBUG2,
-                      "send_ldap_browse: Replace entry for %s", p->name);
+    snprintf(type_str, sizeof(type_str), "0x%X", p->type | CUPS_PRINTER_REMOTE);
+    snprintf(state_str, sizeof(state_str), "%d", p->state);
 
-      for (i = 0; i < 7; i ++)
-      {
-        pmods[i]         = mods + i;
-        pmods[i]->mod_op = LDAP_MOD_REPLACE;
-      }
-      pmods[i] = NULL;
+    keyvalue[count  ][0] = "printer-state";
+    keyvalue[count++][1] = state_str;
 
-#  if defined(HAVE_OPENLDAP) && LDAP_API_VERSION > 3000
-      if ((rcmod = ldap_modify_ext_s(BrowseLDAPHandle, dn, pmods, NULL,
-                                     NULL)) != LDAP_SUCCESS)
-#  else
-      if ((rcmod = ldap_modify_s(BrowseLDAPHandle, dn, pmods)) != LDAP_SUCCESS)
-#  endif /* defined(HAVE_OPENLDAP) && LDAP_API_VERSION > 3000 */
-      {
-        cupsdLogMessage(CUPSD_LOG_ERROR,
-                        "LDAP modify for %s failed with status %d: %s",
-                        p->name, rcmod, ldap_err2string(rcmod));
-        if (rcmod == LDAP_SERVER_DOWN)
-          ldap_reconnect();
-      }
-    }
+    keyvalue[count  ][0] = "printer-type";
+    keyvalue[count++][1] = type_str;
   }
-  else
-  {
-   /*
-    * No LDAP entry exists for the printer.  Printer has never been registered,
-    * add the current registration...
-    */
 
-    send_ldap_ou(ServerName, BrowseLDAPDN, "CUPS Server");
+ /*
+  * Then pack them into a proper txt record...
+  */
 
-    cupsdLogMessage(CUPSD_LOG_DEBUG2,
-                    "send_ldap_browse: Add entry for %s", p->name);
+#  ifdef HAVE_DNSSD
+  TXTRecordCreate(&txt, 0, NULL);
 
-    for (i = 0; i < 7; i ++)
-    {
-      pmods[i]         = mods + i;
-      pmods[i]->mod_op = LDAP_MOD_ADD;
-    }
-    pmods[i] = NULL;
+  for (i = 0; i < count; i ++)
+  {
+    size_t len = strlen(keyvalue[i][1]);
 
-#  if defined(HAVE_OPENLDAP) && LDAP_API_VERSION > 3000
-    if ((rcmod = ldap_add_ext_s(BrowseLDAPHandle, dn, pmods, NULL,
-                                NULL)) != LDAP_SUCCESS)
-#  else
-    if ((rcmod = ldap_add_s(BrowseLDAPHandle, dn, pmods)) != LDAP_SUCCESS)
-#  endif /* defined(HAVE_OPENLDAP) && LDAP_API_VERSION > 3000 */
-    {
-      cupsdLogMessage(CUPSD_LOG_ERROR,
-                      "LDAP add for %s failed with status %d: %s",
-                      p->name, rcmod, ldap_err2string(rcmod));
-      if (rcmod == LDAP_SERVER_DOWN)
-        ldap_reconnect();
-    }
+    if (len < 256)
+      TXTRecordSetValue(&txt, keyvalue[i][0], (uint8_t)len, keyvalue[i][1]);
   }
 
-  if (rc == LDAP_SUCCESS)
-    ldap_freeres(res);
+#  else
+  for (i = 0, txt = NULL; i < count; i ++)
+    txt = avahi_string_list_add_printf(txt, "%s=%s", keyvalue[i][0],
+                                       keyvalue[i][1]);
+#  endif /* HAVE_DNSSD */
+
+  return (txt);
 }
 
 
 /*
- * 'ldap_dereg_printer()' - Delete printer from directory
+ * 'dnssdDeregisterInstance()' - Deregister a DNS-SD service instance.
  */
 
 static void
-ldap_dereg_printer(cupsd_printer_t *p) /* I - Printer to deregister */
+dnssdDeregisterInstance(
+    cupsd_srv_t     *srv)              /* I - Service */
 {
-  char         dn[1024];               /* DN of the printer */
-  int          rc;                     /* LDAP status */
-
-
-  cupsdLogMessage(CUPSD_LOG_DEBUG2, "ldap_dereg_printer: Remove entry for %s",
-                  p->name);
-
- /*
-  * Reconnect if LDAP Handle is invalid...
-  */
-
-  if (!BrowseLDAPHandle)
-  {
-    ldap_reconnect();
+  if (!srv || !*srv)
     return;
-  }
-
- /*
-  * Get dn for printer and delete LDAP entry...
-  */
-
-  snprintf(dn, sizeof(dn), "cn=%s, ou=%s, %s", p->name, ServerName,
-           BrowseLDAPDN);
-  cupsdLogMessage(CUPSD_LOG_DEBUG2, "ldap_dereg_printer: dn=\"%s\"", dn);
-
-#  if defined(HAVE_OPENLDAP) && LDAP_API_VERSION > 3000
-  if ((rc = ldap_delete_ext_s(BrowseLDAPHandle, dn, NULL,
-                              NULL)) != LDAP_SUCCESS)
-#  else
-  if ((rc = ldap_delete_s(BrowseLDAPHandle, dn)) != LDAP_SUCCESS)
-#  endif /* defined(HAVE_OPENLDAP) && LDAP_API_VERSION > 3000 */
-  {
-    cupsdLogMessage(CUPSD_LOG_WARN,
-                    "LDAP delete for %s failed with status %d: %s",
-                    p->name, rc, ldap_err2string(rc));
 
-   /*
-    * If we had a connection problem (connection timed out, etc.)
-    * we should reconnect and try again to delete the entry...
-    */
+#  ifdef HAVE_DNSSD
+  DNSServiceRefDeallocate(*srv);
 
-    if (rc == LDAP_SERVER_DOWN || rc == LDAP_CONNECT_ERROR)
-    {
-      cupsdLogMessage(CUPSD_LOG_INFO,
-                      "Retry deleting LDAP entry for %s after a reconnect...", p->name);
-      ldap_reconnect();
+#  else /* HAVE_AVAHI */
+  avahi_threaded_poll_lock(DNSSDMaster);
+  avahi_entry_group_free(*srv);
+  avahi_threaded_poll_unlock(DNSSDMaster);
+#  endif /* HAVE_DNSSD */
 
-#  if defined(HAVE_OPENLDAP) && LDAP_API_VERSION > 3000
-      if ((rc = ldap_delete_ext_s(BrowseLDAPHandle, dn, NULL,
-                                  NULL)) != LDAP_SUCCESS)
-#  else
-      if ((rc = ldap_delete_s(BrowseLDAPHandle, dn)) != LDAP_SUCCESS)
-#  endif /* defined(HAVE_OPENLDAP) && LDAP_API_VERSION > 3000 */
-        cupsdLogMessage(CUPSD_LOG_WARN,
-                        "LDAP delete for %s failed with status %d: %s",
-                        p->name, rc, ldap_err2string(rc));
-    }
-  }
+  *srv = NULL;
 }
 
 
 /*
- * 'ldap_dereg_ou()' - Remove the organizational unit.
+ * 'dnssdDeregisterPrinter()' - Deregister all services for a printer.
  */
 
 static void
-ldap_dereg_ou(char *ou,                        /* I - Organizational unit (servername) */
-              char *basedn)            /* I - Dase dn */
+dnssdDeregisterPrinter(
+    cupsd_printer_t *p,                        /* I - Printer */
+    int             clear_name)                /* I - Clear the name? */
+
 {
-  char         dn[1024];               /* DN of the printer */
-  int          rc;                     /* LDAP status */
+  cupsdLogMessage(CUPSD_LOG_DEBUG2,
+                  "dnssdDeregisterPrinter(p=%p(%s), clear_name=%d)", p, p->name,
+                  clear_name);
 
+  if (p->ipp_srv)
+  {
+    dnssdDeregisterInstance(&p->ipp_srv);
 
-  cupsdLogMessage(CUPSD_LOG_DEBUG2, "ldap_dereg_ou: Remove entry for %s", ou);
+#  ifdef HAVE_DNSSD
+#    ifdef HAVE_SSL
+    dnssdDeregisterInstance(&p->ipps_srv);
+#    endif /* HAVE_SSL */
+    dnssdDeregisterInstance(&p->printer_srv);
+#  endif /* HAVE_DNSSD */
+  }
 
  /*
-  * Reconnect if LDAP Handle is invalid...
+  * Remove the printer from the array of DNS-SD printers but keep the
+  * registered name...
   */
 
-  if (!BrowseLDAPHandle)
-  {
-    ldap_reconnect();
-    return;
-  }
+  cupsArrayRemove(DNSSDPrinters, p);
 
  /*
-  * Get dn for printer and delete LDAP entry...
+  * Optionally clear the service name...
   */
 
-  snprintf(dn, sizeof(dn), "ou=%s, %s", ou, basedn);
-  cupsdLogMessage(CUPSD_LOG_DEBUG2, "ldap_dereg_ou: dn=\"%s\"", dn);
-
-#  if defined(HAVE_OPENLDAP) && LDAP_API_VERSION > 3000
-  if ((rc = ldap_delete_ext_s(BrowseLDAPHandle, dn, NULL,
-                              NULL)) != LDAP_SUCCESS)
-#  else
-  if ((rc = ldap_delete_s(BrowseLDAPHandle, dn)) != LDAP_SUCCESS)
-#  endif /* defined(HAVE_OPENLDAP) && LDAP_API_VERSION > 3000 */
-  {
-    cupsdLogMessage(CUPSD_LOG_WARN,
-                    "LDAP delete for %s failed with status %d: %s",
-                    ou, rc, ldap_err2string(rc));
-
-   /*
-    * If we had a connection problem (connection timed out, etc.)
-    * we should reconnect and try again to delete the entry...
-    */
-
-    if (rc == LDAP_SERVER_DOWN || rc == LDAP_CONNECT_ERROR)
-    {
-      cupsdLogMessage(CUPSD_LOG_INFO,
-                      "Retry deleting LDAP entry for %s after a reconnect...", ou);
-      ldap_reconnect();
-#  if defined(HAVE_OPENLDAP) && LDAP_API_VERSION > 3000
-      if ((rc = ldap_delete_ext_s(BrowseLDAPHandle, dn, NULL,
-                                  NULL)) != LDAP_SUCCESS)
-#  else
-      if ((rc = ldap_delete_s(BrowseLDAPHandle, dn)) != LDAP_SUCCESS)
-#  endif /* defined(HAVE_OPENLDAP) && LDAP_API_VERSION > 3000 */
-        cupsdLogMessage(CUPSD_LOG_WARN,
-                        "LDAP delete for %s failed with status %d: %s",
-                        ou, rc, ldap_err2string(rc));
-    }
-  }
+  if (clear_name)
+    cupsdClearString(&p->reg_name);
 }
-#endif /* HAVE_LDAP */
 
 
-#ifdef HAVE_LIBSLP
 /*
- * 'send_slp_browse()' - Register the specified printer with SLP.
+ * 'dnssdErrorString()' - Return an error string for an error code.
  */
 
-static void
-send_slp_browse(cupsd_printer_t *p)    /* I - Printer to register */
+static const char *                    /* O - Error message */
+dnssdErrorString(int error)            /* I - Error number */
 {
-  char         srvurl[HTTP_MAX_URI],   /* Printer service URI */
-               attrs[8192],            /* Printer attributes */
-               finishings[1024],       /* Finishings to support */
-               make_model[IPP_MAX_NAME * 2],
-                                       /* Make and model, quoted */
-               location[IPP_MAX_NAME * 2],
-                                       /* Location, quoted */
-               info[IPP_MAX_NAME * 2], /* Info, quoted */
-               *src,                   /* Pointer to original string */
-               *dst;                   /* Pointer to destination string */
-  ipp_attribute_t *authentication;     /* uri-authentication-supported value */
-  SLPError     error;                  /* SLP error, if any */
-
-
-  cupsdLogMessage(CUPSD_LOG_DEBUG, "send_slp_browse(%p = \"%s\")", p,
-                  p->name);
+#  ifdef HAVE_DNSSD
+  switch (error)
+  {
+    case kDNSServiceErr_NoError :
+        return ("OK.");
 
- /*
-  * Make the SLP service URL that conforms to the IANA
-  * 'printer:' template.
-  */
+    default :
+    case kDNSServiceErr_Unknown :
+        return ("Unknown error.");
 
-  snprintf(srvurl, sizeof(srvurl), SLP_CUPS_SRVTYPE ":%s", p->uri);
+    case kDNSServiceErr_NoSuchName :
+        return ("Service not found.");
 
-  cupsdLogMessage(CUPSD_LOG_DEBUG2, "Service URL = \"%s\"", srvurl);
+    case kDNSServiceErr_NoMemory :
+        return ("Out of memory.");
 
- /*
-  * Figure out the finishings string...
-  */
+    case kDNSServiceErr_BadParam :
+        return ("Bad parameter.");
 
-  if (p->type & CUPS_PRINTER_STAPLE)
-    strcpy(finishings, "staple");
-  else
-    finishings[0] = '\0';
+    case kDNSServiceErr_BadReference :
+        return ("Bad service reference.");
 
-  if (p->type & CUPS_PRINTER_BIND)
-  {
-    if (finishings[0])
-      strlcat(finishings, ",bind", sizeof(finishings));
-    else
-      strcpy(finishings, "bind");
-  }
+    case kDNSServiceErr_BadState :
+        return ("Bad state.");
 
-  if (p->type & CUPS_PRINTER_PUNCH)
-  {
-    if (finishings[0])
-      strlcat(finishings, ",punch", sizeof(finishings));
-    else
-      strcpy(finishings, "punch");
-  }
+    case kDNSServiceErr_BadFlags :
+        return ("Bad flags.");
 
-  if (p->type & CUPS_PRINTER_COVER)
-  {
-    if (finishings[0])
-      strlcat(finishings, ",cover", sizeof(finishings));
-    else
-      strcpy(finishings, "cover");
-  }
+    case kDNSServiceErr_Unsupported :
+        return ("Unsupported.");
 
-  if (p->type & CUPS_PRINTER_SORT)
-  {
-    if (finishings[0])
-      strlcat(finishings, ",sort", sizeof(finishings));
-    else
-      strcpy(finishings, "sort");
-  }
+    case kDNSServiceErr_NotInitialized :
+        return ("Not initialized.");
 
-  if (!finishings[0])
-    strcpy(finishings, "none");
+    case kDNSServiceErr_AlreadyRegistered :
+        return ("Already registered.");
 
- /*
-  * Quote any commas in the make and model, location, and info strings...
-  */
+    case kDNSServiceErr_NameConflict :
+        return ("Name conflict.");
 
-  for (src = p->make_model, dst = make_model;
-       src && *src && dst < (make_model + sizeof(make_model) - 2);)
-  {
-    if (*src == ',' || *src == '\\' || *src == ')')
-      *dst++ = '\\';
+    case kDNSServiceErr_Invalid :
+        return ("Invalid name.");
 
-    *dst++ = *src++;
-  }
+    case kDNSServiceErr_Firewall :
+        return ("Firewall prevents registration.");
 
-  *dst = '\0';
+    case kDNSServiceErr_Incompatible :
+        return ("Client library incompatible.");
 
-  if (!make_model[0])
-    strcpy(make_model, "Unknown");
+    case kDNSServiceErr_BadInterfaceIndex :
+        return ("Bad interface index.");
 
-  for (src = p->location, dst = location;
-       src && *src && dst < (location + sizeof(location) - 2);)
-  {
-    if (*src == ',' || *src == '\\' || *src == ')')
-      *dst++ = '\\';
+    case kDNSServiceErr_Refused :
+        return ("Server prevents registration.");
 
-    *dst++ = *src++;
-  }
+    case kDNSServiceErr_NoSuchRecord :
+        return ("Record not found.");
 
-  *dst = '\0';
+    case kDNSServiceErr_NoAuth :
+        return ("Authentication required.");
 
-  if (!location[0])
-    strcpy(location, "Unknown");
+    case kDNSServiceErr_NoSuchKey :
+        return ("Encryption key not found.");
 
-  for (src = p->info, dst = info;
-       src && *src && dst < (info + sizeof(info) - 2);)
-  {
-    if (*src == ',' || *src == '\\' || *src == ')')
-      *dst++ = '\\';
+    case kDNSServiceErr_NATTraversal :
+        return ("Unable to traverse NAT boundary.");
 
-    *dst++ = *src++;
-  }
+    case kDNSServiceErr_DoubleNAT :
+        return ("Unable to traverse double-NAT boundary.");
 
-  *dst = '\0';
+    case kDNSServiceErr_BadTime :
+        return ("Bad system time.");
 
-  if (!info[0])
-    strcpy(info, "Unknown");
+    case kDNSServiceErr_BadSig :
+        return ("Bad signature.");
 
- /*
-  * Get the authentication value...
-  */
+    case kDNSServiceErr_BadKey :
+        return ("Bad encryption key.");
 
-  authentication = ippFindAttribute(p->attrs, "uri-authentication-supported",
-                                    IPP_TAG_KEYWORD);
+    case kDNSServiceErr_Transient :
+        return ("Transient error occurred - please try again.");
 
- /*
-  * Make the SLP attribute string list that conforms to
-  * the IANA 'printer:' template.
-  */
+    case kDNSServiceErr_ServiceNotRunning :
+        return ("Server not running.");
 
-  snprintf(attrs, sizeof(attrs),
-           "(printer-uri-supported=%s),"
-           "(uri-authentication-supported=%s>),"
-#ifdef HAVE_SSL
-           "(uri-security-supported=tls>),"
-#else
-           "(uri-security-supported=none>),"
-#endif /* HAVE_SSL */
-           "(printer-name=%s),"
-           "(printer-location=%s),"
-           "(printer-info=%s),"
-           "(printer-more-info=%s),"
-           "(printer-make-and-model=%s),"
-          "(printer-type=%d),"
-          "(charset-supported=utf-8),"
-          "(natural-language-configured=%s),"
-          "(natural-language-supported=de,en,es,fr,it),"
-           "(color-supported=%s),"
-           "(finishings-supported=%s),"
-           "(sides-supported=one-sided%s),"
-          "(multiple-document-jobs-supported=true)"
-          "(ipp-versions-supported=1.0,1.1)",
-          p->uri, authentication->values[0].string.text, p->name, location,
-          info, p->uri, make_model, p->type, DefaultLanguage,
-           p->type & CUPS_PRINTER_COLOR ? "true" : "false",
-           finishings,
-           p->type & CUPS_PRINTER_DUPLEX ?
-              ",two-sided-long-edge,two-sided-short-edge" : "");
-
-  cupsdLogMessage(CUPSD_LOG_DEBUG2, "Attributes = \"%s\"", attrs);
+    case kDNSServiceErr_NATPortMappingUnsupported :
+        return ("NAT doesn't support NAT-PMP or UPnP.");
 
- /*
-  * Register the printer with the SLP server...
-  */
+    case kDNSServiceErr_NATPortMappingDisabled :
+        return ("NAT supports NAT-PNP or UPnP but it is disabled.");
+
+    case kDNSServiceErr_NoRouter :
+        return ("No Internet/default router configured.");
+
+    case kDNSServiceErr_PollingMode :
+        return ("Service polling mode error.");
+
+    case kDNSServiceErr_Timeout :
+        return ("Service timeout.");
+  }
 
-  error = SLPReg(BrowseSLPHandle, srvurl, BrowseTimeout,
-                SLP_CUPS_SRVTYPE, attrs, SLP_TRUE, slp_reg_callback, 0);
+#  else /* HAVE_AVAHI */
+  return (avahi_strerror(error));
+#  endif /* HAVE_DNSSD */
+}
+
+
+/*
+ * 'dnssdRegisterCallback()' - Free a TXT record.
+ */
+
+static void
+dnssdFreeTxtRecord(cupsd_txt_t *txt)   /* I - TXT record */
+{
+#  ifdef HAVE_DNSSD
+  TXTRecordDeallocate(txt);
 
-  if (error != SLP_OK)
-    cupsdLogMessage(CUPSD_LOG_ERROR, "SLPReg of \"%s\" failed with status %d!", p->name,
-                    error);
+#  else /* HAVE_AVAHI */
+  avahi_string_list_free(*txt);
+  *txt = NULL;
+#  endif /* HAVE_DNSSD */
 }
 
 
 /*
- * 'slp_attr_callback()' - SLP attribute callback
+ * 'dnssdRegisterCallback()' - DNSServiceRegister callback.
  */
 
-static SLPBoolean                      /* O - SLP_TRUE for success */
-slp_attr_callback(
-    SLPHandle  hslp,                   /* I - SLP handle */
-    const char *attrlist,              /* I - Attribute list */
-    SLPError   errcode,                        /* I - Parsing status for this attr */
-    void       *cookie)                        /* I - Current printer */
+#  ifdef HAVE_DNSSD
+static void
+dnssdRegisterCallback(
+    DNSServiceRef      sdRef,          /* I - DNS Service reference */
+    DNSServiceFlags    flags,          /* I - Reserved for future use */
+    DNSServiceErrorType        errorCode,      /* I - Error code */
+    const char         *name,          /* I - Service name */
+    const char         *regtype,       /* I - Service type */
+    const char         *domain,        /* I - Domain. ".local" for now */
+    void               *context)       /* I - Printer */
 {
-  char                 *tmp = 0;       /* Temporary string */
-  cupsd_printer_t      *p = (cupsd_printer_t*)cookie;
+  cupsd_printer_t *p = (cupsd_printer_t *)context;
                                        /* Current printer */
 
 
-  (void)hslp;                          /* anti-compiler-warning-code */
+  (void)sdRef;
+  (void)flags;
+  (void)domain;
 
- /*
-  * Bail if there was an error
-  */
+  cupsdLogMessage(CUPSD_LOG_DEBUG2, "dnssdRegisterCallback(%s, %s) for %s (%s)",
+                  name, regtype, p ? p->name : "Web Interface",
+                 p ? (p->reg_name ? p->reg_name : "(null)") : "NA");
 
-  if (errcode != SLP_OK)
-    return (SLP_TRUE);
+  if (errorCode)
+  {
+    cupsdLogMessage(CUPSD_LOG_ERROR,
+                   "DNSServiceRegister failed with error %d", (int)errorCode);
+    return;
+  }
+  else if (p && (!p->reg_name || _cups_strcasecmp(name, p->reg_name)))
+  {
+    cupsdLogMessage(CUPSD_LOG_INFO, "Using service name \"%s\" for \"%s\"",
+                    name, p->name);
 
- /*
-  * Parse the attrlist to obtain things needed to build CUPS browse packet
-  */
+    cupsArrayRemove(DNSSDPrinters, p);
+    cupsdSetString(&p->reg_name, name);
+    cupsArrayAdd(DNSSDPrinters, p);
 
-  memset(p, 0, sizeof(cupsd_printer_t));
+    LastEvent |= CUPSD_EVENT_PRINTER_MODIFIED;
+  }
+}
 
-  if (slp_get_attr(attrlist, "(printer-location=", &(p->location)))
-    return (SLP_FALSE);
-  if (slp_get_attr(attrlist, "(printer-info=", &(p->info)))
-    return (SLP_FALSE);
-  if (slp_get_attr(attrlist, "(printer-make-and-model=", &(p->make_model)))
-    return (SLP_FALSE);
-  if (!slp_get_attr(attrlist, "(printer-type=", &tmp))
-    p->type = atoi(tmp);
-  else
-    p->type = CUPS_PRINTER_REMOTE;
+#  else /* HAVE_AVAHI */
+static void
+dnssdRegisterCallback(
+    AvahiEntryGroup      *srv,         /* I - Service */
+    AvahiEntryGroupState state,                /* I - Registration state */
+    void                 *context)     /* I - Printer */
+{
+  cupsd_printer_t *p = (cupsd_printer_t *)context;
+                                       /* Current printer */
 
-  cupsdClearString(&tmp);
+  cupsdLogMessage(CUPSD_LOG_DEBUG2,
+                  "dnssdRegisterCallback(srv=%p, state=%d, context=%p) "
+                  "for %s (%s)", srv, state, context,
+                  p ? p->name : "Web Interface",
+                 p ? (p->reg_name ? p->reg_name : "(null)") : "NA");
 
-  return (SLP_TRUE);
+  /* TODO: Handle collisions with avahi_alternate_service_name(p->reg_name)? */
 }
+#  endif /* HAVE_DNSSD */
 
 
 /*
- * 'slp_dereg_printer()' - SLPDereg() the specified printer
+ * 'dnssdRegisterInstance()' - Register an instance of a printer service.
  */
 
-static void
-slp_dereg_printer(cupsd_printer_t *p)  /* I - Printer */
+static int                             /* O - 1 on success, 0 on failure */
+dnssdRegisterInstance(
+    cupsd_srv_t     *srv,              /* O - Service */
+    cupsd_printer_t *p,                        /* I - Printer */
+    char            *name,             /* I - DNS-SD service name */
+    const char      *type,             /* I - DNS-SD service type */
+    const char      *subtypes,         /* I - Subtypes to register or NULL */
+    int             port,              /* I - Port number or 0 */
+    cupsd_txt_t     *txt,              /* I - TXT record */
+    int             commit)            /* I - Commit registration? */
 {
-  char srvurl[HTTP_MAX_URI];           /* Printer service URI */
+  char temp[256],                      /* Temporary string */
+       *ptr;                           /* Pointer into string */
+  int  error;                          /* Any error */
 
 
-  cupsdLogMessage(CUPSD_LOG_DEBUG, "slp_dereg_printer: printer=\"%s\"", p->name);
+  cupsdLogMessage(CUPSD_LOG_DEBUG,
+                 "Registering \"%s\" with DNS-SD type \"%s\".", name, type);
 
-  if (!(p->type & CUPS_PRINTER_REMOTE))
+  if (p && !srv)
   {
    /*
-    * Make the SLP service URL that conforms to the IANA
-    * 'printer:' template.
+    * Assign the correct pointer for "srv"...
     */
 
-    snprintf(srvurl, sizeof(srvurl), SLP_CUPS_SRVTYPE ":%s", p->uri);
+#  ifdef HAVE_DNSSD
+    if (!strcmp(type, "_printer._tcp"))
+      srv = &p->printer_srv;           /* Target LPD service */
+#    ifdef HAVE_SSL
+    else if (!strcmp(type, "_ipps._tcp"))
+      srv = &p->ipps_srv;              /* Target IPPS service */
+#    endif /* HAVE_SSL */
+    else
+      srv = &p->ipp_srv;               /* Target IPP service */
+
+#  else /* HAVE_AVAHI */
+    srv = &p->ipp_srv;                 /* Target service group */
+#  endif /* HAVE_DNSSD */
+  }
 
-   /*
-    * Deregister the printer...
-    */
+#  ifdef HAVE_DNSSD
+  (void)commit;
 
-    SLPDereg(BrowseSLPHandle, srvurl, slp_reg_callback, 0);
+#  else /* HAVE_AVAHI */
+  avahi_threaded_poll_lock(DNSSDMaster);
+
+  if (!*srv)
+    *srv = avahi_entry_group_new(DNSSDClient, dnssdRegisterCallback, NULL);
+  if (!*srv)
+  {
+    avahi_threaded_poll_unlock(DNSSDMaster);
+
+    cupsdLogMessage(CUPSD_LOG_WARN, "DNS-SD registration of \"%s\" failed: %s",
+                    name, dnssdErrorString(avahi_client_errno(DNSSDClient)));
+    return (0);
   }
-}
+#  endif /* HAVE_DNSSD */
 
+ /*
+  * Make sure the name is <= 63 octets, and when we truncate be sure to
+  * properly truncate any UTF-8 characters...
+  */
 
-/*
- * 'slp_get_attr()' - Get an attribute from an SLP registration.
- */
+  ptr = name + strlen(name);
+  while ((ptr - name) > 63)
+  {
+    do
+    {
+      ptr --;
+    }
+    while (ptr > name && (*ptr & 0xc0) == 0x80);
 
-static int                             /* O - 0 on success */
-slp_get_attr(const char *attrlist,     /* I - Attribute list string */
-             const char *tag,          /* I - Name of attribute */
-             char       **valbuf)      /* O - Value */
-{
-  char *ptr1,                          /* Pointer into string */
-       *ptr2;                          /* ... */
+    if (ptr > name)
+      *ptr = '\0';
+  }
+
+ /*
+  * Register the service...
+  */
+
+#  ifdef HAVE_DNSSD
+  if (subtypes)
+    snprintf(temp, sizeof(temp), "%s,%s", type, subtypes);
+  else
+    strlcpy(temp, type, sizeof(temp));
+
+  *srv  = DNSSDMaster;
+  error = DNSServiceRegister(srv, kDNSServiceFlagsShareConnection,
+                            0, name, temp, NULL, NULL, htons(port),
+                            txt ? TXTRecordGetLength(txt) : 0,
+                            txt ? TXTRecordGetBytesPtr(txt) : NULL,
+                            dnssdRegisterCallback, p);
 
+#  else /* HAVE_AVAHI */
+  if (txt)
+  {
+    AvahiStringList *temptxt;
+    for (temptxt = *txt; temptxt; temptxt = temptxt->next)
+      cupsdLogMessage(CUPSD_LOG_DEBUG, "DNS_SD \"%s\" %s", name, temptxt->text);
+  }
+
+  error = avahi_entry_group_add_service_strlst(*srv, AVAHI_IF_UNSPEC,
+                                               AVAHI_PROTO_UNSPEC, 0, name,
+                                               type, NULL, NULL, port,
+                                               txt ? *txt : NULL);
+  if (error)
+    cupsdLogMessage(CUPSD_LOG_DEBUG, "DNS-SD service add for \"%s\" failed.",
+                    name);
+
+  if (!error && subtypes)
+  {
+   /*
+    * Register all of the subtypes...
+    */
 
-  cupsdClearString(valbuf);
+    char       *start,                 /* Start of subtype */
+               subtype[256];           /* Subtype string */
 
-  if ((ptr1 = strstr(attrlist, tag)) != NULL)
-  {
-    ptr1 += strlen(tag);
+    strlcpy(temp, subtypes, sizeof(temp));
 
-    if ((ptr2 = strchr(ptr1,')')) != NULL)
+    for (start = temp; *start; start = ptr)
     {
      /*
-      * Copy the value...
+      * Skip leading whitespace...
+      */
+
+      while (*start && isspace(*start & 255))
+        start ++;
+
+     /*
+      * Grab everything up to the next comma or the end of the string...
       */
 
-      *valbuf = calloc(ptr2 - ptr1 + 1, 1);
-      strncpy(*valbuf, ptr1, ptr2 - ptr1);
+      for (ptr = start; *ptr && *ptr != ','; ptr ++);
+
+      if (*ptr)
+        *ptr++ = '\0';
+
+      if (!*start)
+        break;
 
      /*
-      * Dequote the value...
+      * Register the subtype...
       */
 
-      for (ptr1 = *valbuf; *ptr1; ptr1 ++)
-       if (*ptr1 == '\\' && ptr1[1])
-         _cups_strcpy(ptr1, ptr1 + 1);
+      snprintf(subtype, sizeof(subtype), "%s._sub.%s", start, type);
 
-      return (0);
+      error = avahi_entry_group_add_service_subtype(*srv, AVAHI_IF_UNSPEC,
+                                                    AVAHI_PROTO_UNSPEC, 0,
+                                                    name, type, NULL, subtype);
+      if (error)
+      {
+        cupsdLogMessage(CUPSD_LOG_DEBUG,
+                        "DNS-SD subtype %s registration for \"%s\" failed." ,
+                        subtype, name);
+        break;
+      }
     }
   }
 
-  return (-1);
-}
-
+  if (!error && commit)
+  {
+    if ((error = avahi_entry_group_commit(*srv)) != 0)
+      cupsdLogMessage(CUPSD_LOG_DEBUG, "DNS-SD commit of \"%s\" failed.",
+                      name);
+  }
 
-/*
- * 'slp_reg_callback()' - Empty SLPRegReport.
- */
+  avahi_threaded_poll_unlock(DNSSDMaster);
+#  endif /* HAVE_DNSSD */
 
-static void
-slp_reg_callback(SLPHandle hslp,       /* I - SLP handle */
-                 SLPError  errcode,    /* I - Error code, if any */
-                void      *cookie)     /* I - App data */
-{
-  (void)hslp;
-  (void)errcode;
-  (void)cookie;
+  if (error)
+  {
+    cupsdLogMessage(CUPSD_LOG_WARN, "DNS-SD registration of \"%s\" failed: %s",
+                    name, dnssdErrorString(error));
+    cupsdLogMessage(CUPSD_LOG_DEBUG, "DNS-SD type: %s", type);
+    if (subtypes)
+      cupsdLogMessage(CUPSD_LOG_DEBUG, "DNS-SD sub-types: %s", subtypes);
+  }
 
-  return;
+  return (!error);
 }
 
 
 /*
- * 'slp_url_callback()' - SLP service url callback
+ * 'dnssdRegisterPrinter()' - Start sending broadcast information for a printer
+ *                           or update the broadcast contents.
  */
 
-static SLPBoolean                      /* O - TRUE = OK, FALSE = error */
-slp_url_callback(
-    SLPHandle      hslp,               /* I - SLP handle */
-    const char     *srvurl,            /* I - URL of service */
-    unsigned short lifetime,           /* I - Life of service */
-    SLPError       errcode,            /* I - Existing error code */
-    void           *cookie)            /* I - Pointer to service list */
+static void
+dnssdRegisterPrinter(cupsd_printer_t *p)/* I - Printer */
 {
-  slpsrvurl_t  *s,                     /* New service entry */
-               **head;                 /* Pointer to head of entry */
+  char         name[256];              /* Service name */
+  int          printer_port;           /* LPD port number */
+  int          status;                 /* Registration status */
+  cupsd_txt_t  ipp_txt,                /* IPP(S) TXT record */
+               printer_txt;            /* LPD TXT record */
 
+  cupsdLogMessage(CUPSD_LOG_DEBUG2, "dnssdRegisterPrinter(%s) %s", p->name,
+                  !p->ipp_srv ? "new" : "update");
 
  /*
-  * Let the compiler know we won't be using these vars...
+  * Remove the current registrations if we have them and then return if
+  * per-printer sharing was just disabled...
   */
 
-  (void)hslp;
-  (void)lifetime;
+  dnssdDeregisterPrinter(p, 0);
+
+  if (!p->shared)
+    return;
 
  /*
-  * Bail if there was an error
+  * Set the registered name as needed; the registered name takes the form of
+  * "<printer-info> @ <computer name>"...
   */
 
-  if (errcode != SLP_OK)
-    return (SLP_TRUE);
+  if (!p->reg_name)
+  {
+    if (p->info && strlen(p->info) > 0)
+    {
+      if (DNSSDComputerName)
+       snprintf(name, sizeof(name), "%s @ %s", p->info, DNSSDComputerName);
+      else
+       strlcpy(name, p->info, sizeof(name));
+    }
+    else if (DNSSDComputerName)
+      snprintf(name, sizeof(name), "%s @ %s", p->name, DNSSDComputerName);
+    else
+      strlcpy(name, p->name, sizeof(name));
+  }
+  else
+    strlcpy(name, p->reg_name, sizeof(name));
 
  /*
-  * Grab the head of the list...
+  * Register IPP and LPD...
+  *
+  * We always must register the "_printer" service type in order to reserve
+  * our name, but use port number 0 if we haven't actually configured cups-lpd
+  * to share via LPD...
   */
 
-  head = (slpsrvurl_t**)cookie;
+  ipp_txt     = dnssdBuildTxtRecord(p, 0);
+  printer_txt = dnssdBuildTxtRecord(p, 1);
 
- /*
-  * Allocate a *temporary* slpsrvurl_t to hold this entry.
-  */
+  if (BrowseLocalProtocols & BROWSE_LPD)
+    printer_port = 515;
+  else
+    printer_port = 0;
 
-  if ((s = (slpsrvurl_t *)calloc(1, sizeof(slpsrvurl_t))) == NULL)
-    return (SLP_FALSE);
+  status = dnssdRegisterInstance(NULL, p, name, "_printer._tcp", NULL,
+                                 printer_port, &printer_txt, 0);
 
- /*
-  * Copy the SLP service URL...
-  */
+#  ifdef HAVE_SSL
+  if (status)
+    dnssdRegisterInstance(NULL, p, name, "_ipps._tcp", DNSSDSubTypes,
+                         DNSSDPort, &ipp_txt, 0);
+#  endif /* HAVE_SSL */
+
+  if (status)
+  {
+   /*
+    * Use the "_fax-ipp" service type for fax queues, otherwise use "_ipp"...
+    */
+
+    if (p->type & CUPS_PRINTER_FAX)
+      status = dnssdRegisterInstance(NULL, p, name, "_fax-ipp._tcp",
+                                     DNSSDSubTypes, DNSSDPort, &ipp_txt, 1);
+    else
+      status = dnssdRegisterInstance(NULL, p, name, "_ipp._tcp", DNSSDSubTypes,
+                                     DNSSDPort, &ipp_txt, 1);
+  }
 
-  strlcpy(s->url, srvurl, sizeof(s->url));
+  dnssdFreeTxtRecord(&ipp_txt);
+  dnssdFreeTxtRecord(&printer_txt);
 
- /*
-  * Link the SLP service URL into the head of the list
-  */
+  if (status)
+  {
+   /*
+    * Save the registered name and add the printer to the array of DNS-SD
+    * printers...
+    */
 
-  if (*head)
-    s->next = *head;
+    cupsdSetString(&p->reg_name, name);
+    cupsArrayAdd(DNSSDPrinters, p);
+  }
+  else
+  {
+   /*
+    * Registration failed for this printer...
+    */
 
-  *head = s;
+    dnssdDeregisterInstance(&p->ipp_srv);
 
-  return (SLP_TRUE);
+#  ifdef HAVE_DNSSD
+#    ifdef HAVE_SSL
+    dnssdDeregisterInstance(&p->ipps_srv);
+#    endif /* HAVE_SSL */
+    dnssdDeregisterInstance(&p->printer_srv);
+#  endif /* HAVE_DNSSD */
+  }
 }
-#endif /* HAVE_LIBSLP */
 
 
 /*
- * 'update_cups_browse()' - Update the browse lists using the CUPS protocol.
+ * 'dnssdStop()' - Stop all DNS-SD registrations.
  */
 
 static void
-update_cups_browse(void)
+dnssdStop(void)
 {
-  int          i;                      /* Looping var */
-  int          auth;                   /* Authorization status */
-  int          len;                    /* Length of name string */
-  int          bytes;                  /* Number of bytes left */
-  char         packet[1541],           /* Broadcast packet */
-               *pptr;                  /* Pointer into packet */
-  socklen_t    srclen;                 /* Length of source address */
-  http_addr_t  srcaddr;                /* Source address */
-  char         srcname[1024];          /* Source hostname */
-  unsigned     address[4];             /* Source address */
-  unsigned     type;                   /* Printer type */
-  unsigned     state;                  /* Printer state */
-  char         uri[HTTP_MAX_URI],      /* Printer URI */
-               host[HTTP_MAX_URI],     /* Host portion of URI */
-               resource[HTTP_MAX_URI], /* Resource portion of URI */
-               info[IPP_MAX_NAME],     /* Information string */
-               location[IPP_MAX_NAME], /* Location string */
-               make_model[IPP_MAX_NAME];/* Make and model string */
-  int          num_attrs;              /* Number of attributes */
-  cups_option_t        *attrs;                 /* Attributes */
+  cupsd_printer_t      *p;             /* Current printer */
 
 
  /*
-  * Read a packet from the browse socket...
+  * De-register the individual printers
   */
 
-  srclen = sizeof(srcaddr);
-  if ((bytes = recvfrom(BrowseSocket, packet, sizeof(packet) - 1, 0,
-                        (struct sockaddr *)&srcaddr, &srclen)) < 0)
-  {
-   /*
-    * "Connection refused" is returned under Linux if the destination port
-    * or address is unreachable from a previous sendto(); check for the
-    * error here and ignore it for now...
-    */
+  for (p = (cupsd_printer_t *)cupsArrayFirst(Printers);
+       p;
+       p = (cupsd_printer_t *)cupsArrayNext(Printers))
+    dnssdDeregisterPrinter(p, 1);
 
-    if (errno != ECONNREFUSED && errno != EAGAIN)
-    {
-      cupsdLogMessage(CUPSD_LOG_ERROR, "Browse recv failed - %s.",
-                      strerror(errno));
-      cupsdLogMessage(CUPSD_LOG_ERROR, "CUPS browsing turned off.");
+ /*
+  * Shutdown the rest of the service refs...
+  */
 
-#ifdef WIN32
-      closesocket(BrowseSocket);
-#else
-      close(BrowseSocket);
-#endif /* WIN32 */
+  dnssdDeregisterInstance(&WebIFSrv);
 
-      cupsdRemoveSelect(BrowseSocket);
-      BrowseSocket = -1;
+#  ifdef HAVE_DNSSD
+  cupsdRemoveSelect(DNSServiceRefSockFD(DNSSDMaster));
 
-      BrowseLocalProtocols  &= ~BROWSE_CUPS;
-      BrowseRemoteProtocols &= ~BROWSE_CUPS;
-    }
+  DNSServiceRefDeallocate(DNSSDMaster);
+  DNSSDMaster = NULL;
 
-    return;
-  }
+#  else /* HAVE_AVAHI */
+  avahi_client_free(DNSSDClient);
+  DNSSDClient = NULL;
 
-  packet[bytes] = '\0';
+  avahi_threaded_poll_free(DNSSDMaster);
+  DNSSDMaster = NULL;
+#  endif /* HAVE_DNSSD */
 
- /*
-  * If we're about to sleep, ignore incoming browse packets.
-  */
+  cupsArrayDelete(DNSSDPrinters);
+  DNSSDPrinters = NULL;
 
-  if (Sleeping)
-    return;
+  DNSSDPort = 0;
+}
 
- /*
-  * Figure out where it came from...
-  */
 
-#ifdef AF_INET6
-  if (srcaddr.addr.sa_family == AF_INET6)
-  {
-    address[0] = ntohl(srcaddr.ipv6.sin6_addr.s6_addr32[0]);
-    address[1] = ntohl(srcaddr.ipv6.sin6_addr.s6_addr32[1]);
-    address[2] = ntohl(srcaddr.ipv6.sin6_addr.s6_addr32[2]);
-    address[3] = ntohl(srcaddr.ipv6.sin6_addr.s6_addr32[3]);
-  }
-  else
-#endif /* AF_INET6 */
+#  ifdef HAVE_DNSSD
+/*
+ * 'dnssdUpdate()' - Handle DNS-SD queries.
+ */
+
+static void
+dnssdUpdate(void)
+{
+  DNSServiceErrorType  sdErr;          /* Service discovery error */
+
+
+  if ((sdErr = DNSServiceProcessResult(DNSSDMaster)) != kDNSServiceErr_NoError)
   {
-    address[0] = 0;
-    address[1] = 0;
-    address[2] = 0;
-    address[3] = ntohl(srcaddr.ipv4.sin_addr.s_addr);
+    cupsdLogMessage(CUPSD_LOG_ERROR,
+                    "DNS Service Discovery registration error %d!",
+                   sdErr);
+    dnssdStop();
   }
+}
+#  endif /* HAVE_DNSSD */
 
-  if (HostNameLookups)
-    httpAddrLookup(&srcaddr, srcname, sizeof(srcname));
-  else
-    httpAddrString(&srcaddr, srcname, sizeof(srcname));
 
-  len = strlen(srcname);
+/*
+ * 'get_auth_info_required()' - Get the auth-info-required value to advertise.
+ */
+
+static char *                          /* O - String or NULL if none */
+get_auth_info_required(
+    cupsd_printer_t *p,                        /* I - Printer */
+    char            *buffer,           /* I - Value buffer */
+    size_t          bufsize)           /* I - Size of value buffer */
+{
+  cupsd_location_t *auth;              /* Pointer to authentication element */
+  char         resource[1024];         /* Printer/class resource path */
+
 
  /*
-  * Do ACL stuff...
+  * If auth-info-required is set for this printer, return that...
   */
 
-  if (BrowseACL)
+  if (p->num_auth_info_required > 0 && strcmp(p->auth_info_required[0], "none"))
   {
-    if (httpAddrLocalhost(&srcaddr) || !_cups_strcasecmp(srcname, "localhost"))
-    {
-     /*
-      * Access from localhost (127.0.0.1) is always allowed...
-      */
+    int                i;                      /* Looping var */
+    char       *bufptr;                /* Pointer into buffer */
 
-      auth = CUPSD_AUTH_ALLOW;
-    }
-    else
+    for (i = 0, bufptr = buffer; i < p->num_auth_info_required; i ++)
     {
-     /*
-      * Do authorization checks on the domain/address...
-      */
-
-      switch (BrowseACL->order_type)
-      {
-        default :
-           auth = CUPSD_AUTH_DENY;     /* anti-compiler-warning-code */
-           break;
-
-       case CUPSD_AUTH_ALLOW : /* Order Deny,Allow */
-            auth = CUPSD_AUTH_ALLOW;
-
-            if (cupsdCheckAuth(address, srcname, len, BrowseACL->deny))
-             auth = CUPSD_AUTH_DENY;
-
-            if (cupsdCheckAuth(address, srcname, len, BrowseACL->allow))
-             auth = CUPSD_AUTH_ALLOW;
-           break;
-
-       case CUPSD_AUTH_DENY : /* Order Allow,Deny */
-            auth = CUPSD_AUTH_DENY;
+      if (bufptr >= (buffer + bufsize - 2))
+       break;
 
-            if (cupsdCheckAuth(address, srcname, len, BrowseACL->allow))
-             auth = CUPSD_AUTH_ALLOW;
+      if (i)
+       *bufptr++ = ',';
 
-            if (cupsdCheckAuth(address, srcname, len, BrowseACL->deny))
-             auth = CUPSD_AUTH_DENY;
-           break;
-      }
+      strlcpy(bufptr, p->auth_info_required[i], bufsize - (bufptr - buffer));
+      bufptr += strlen(bufptr);
     }
-  }
-  else
-    auth = CUPSD_AUTH_ALLOW;
 
-  if (auth == CUPSD_AUTH_DENY)
-  {
-    cupsdLogMessage(CUPSD_LOG_DEBUG,
-                    "update_cups_browse: Refused %d bytes from %s", bytes,
-                    srcname);
-    return;
+    return (buffer);
   }
 
-  cupsdLogMessage(CUPSD_LOG_DEBUG2,
-                  "update_cups_browse: (%d bytes from %s) %s", bytes,
-                 srcname, packet);
-
  /*
-  * Parse packet...
+  * Figure out the authentication data requirements to advertise...
   */
 
-  if (sscanf(packet, "%x%x%1023s", &type, &state, uri) < 3)
-  {
-    cupsdLogMessage(CUPSD_LOG_WARN,
-                    "update_cups_browse: Garbled browse packet - %s", packet);
-    return;
-  }
+  if (p->type & CUPS_PRINTER_CLASS)
+    snprintf(resource, sizeof(resource), "/classes/%s", p->name);
+  else
+    snprintf(resource, sizeof(resource), "/printers/%s", p->name);
 
-  strcpy(location, "Location Unknown");
-  strcpy(info, "No Information Available");
-  make_model[0] = '\0';
-  num_attrs     = 0;
-  attrs         = NULL;
+  if ((auth = cupsdFindBest(resource, HTTP_POST)) == NULL ||
+      auth->type == CUPSD_AUTH_NONE)
+    auth = cupsdFindPolicyOp(p->op_policy_ptr, IPP_PRINT_JOB);
 
-  if ((pptr = strchr(packet, '\"')) != NULL)
+  if (auth)
   {
-   /*
-    * Have extended information; can't use sscanf for it because not all
-    * sscanf's allow empty strings with %[^\"]...
-    */
-
-    for (i = 0, pptr ++;
-         i < (sizeof(location) - 1) && *pptr && *pptr != '\"';
-         i ++, pptr ++)
-      location[i] = *pptr;
-
-    if (i)
-      location[i] = '\0';
-
-    if (*pptr == '\"')
-      pptr ++;
+    int        auth_type;                      /* Authentication type */
 
-    while (*pptr && isspace(*pptr & 255))
-      pptr ++;
+    if ((auth_type = auth->type) == CUPSD_AUTH_DEFAULT)
+      auth_type = cupsdDefaultAuthType();
 
-    if (*pptr == '\"')
+    switch (auth_type)
     {
-      for (i = 0, pptr ++;
-           i < (sizeof(info) - 1) && *pptr && *pptr != '\"';
-           i ++, pptr ++)
-       info[i] = *pptr;
+      case CUPSD_AUTH_NONE :
+          return (NULL);
 
-      info[i] = '\0';
+      case CUPSD_AUTH_NEGOTIATE :
+         strlcpy(buffer, "negotiate", bufsize);
+         break;
 
-      if (*pptr == '\"')
-       pptr ++;
+      default :
+         strlcpy(buffer, "username,password", bufsize);
+         break;
+    }
 
-      while (*pptr && isspace(*pptr & 255))
-       pptr ++;
+    return (buffer);
+  }
 
-      if (*pptr == '\"')
-      {
-       for (i = 0, pptr ++;
-             i < (sizeof(make_model) - 1) && *pptr && *pptr != '\"';
-             i ++, pptr ++)
-         make_model[i] = *pptr;
+  return ("none");
+}
+#endif /* HAVE_DNSSD || HAVE_AVAHI */
 
-       if (*pptr == '\"')
-         pptr ++;
 
-       make_model[i] = '\0';
+#ifdef __APPLE__
+/*
+ * 'get_hostconfig()' - Get an /etc/hostconfig service setting.
+ */
 
-        if (*pptr)
-         num_attrs = cupsParseOptions(pptr, num_attrs, &attrs);
-      }
-    }
-  }
+static int                             /* O - 1 for YES or AUTOMATIC, 0 for NO */
+get_hostconfig(const char *name)       /* I - Name of service */
+{
+  cups_file_t  *fp;                    /* Hostconfig file */
+  char         line[1024],             /* Line from file */
+               *ptr;                   /* Pointer to value */
+  int          state = 1;              /* State of service */
 
-  DEBUG_puts(packet);
-  DEBUG_printf(("type=%x, state=%x, uri=\"%s\"\n"
-                "location=\"%s\", info=\"%s\", make_model=\"%s\"\n",
-               type, state, uri, location, info, make_model));
 
  /*
-  * Pull the URI apart to see if this is a local or remote printer...
+  * Try opening the /etc/hostconfig file; if we can't open it, assume that
+  * the service is enabled/auto.
   */
 
-  if (is_local_queue(uri, host, sizeof(host), resource, sizeof(resource)))
+  if ((fp = cupsFileOpen("/etc/hostconfig", "r")) != NULL)
   {
-    cupsFreeOptions(num_attrs, attrs);
-    return;
-  }
+   /*
+    * Read lines from the file until we find the service...
+    */
 
- /*
-  * Do relaying...
-  */
+    while (cupsFileGets(fp, line, sizeof(line)))
+    {
+      if (line[0] == '#' || (ptr = strchr(line, '=')) == NULL)
+        continue;
+
+      *ptr++ = '\0';
 
-  for (i = 0; i < NumRelays; i ++)
-    if (cupsdCheckAuth(address, srcname, len, Relays[i].from))
-      if (sendto(BrowseSocket, packet, bytes, 0,
-                 (struct sockaddr *)&(Relays[i].to),
-                httpAddrLength(&(Relays[i].to))) <= 0)
+      if (!_cups_strcasecmp(line, name))
       {
-       cupsdLogMessage(CUPSD_LOG_ERROR,
-                       "update_cups_browse: sendto failed for relay %d - %s.",
-                       i + 1, strerror(errno));
-       cupsFreeOptions(num_attrs, attrs);
-       return;
+       /*
+        * Found the service, see if it is set to "-NO-"...
+       */
+
+       if (!_cups_strncasecmp(ptr, "-NO-", 4))
+         state = 0;
+        break;
       }
+    }
 
- /*
-  * Process the browse data...
-  */
+    cupsFileClose(fp);
+  }
 
-  process_browse_data(uri, host, resource, (cups_ptype_t)type,
-                      (ipp_pstate_t)state, location, info, make_model,
-                     num_attrs, attrs);
+  return (state);
 }
+#endif /* __APPLE__ */
 
 
 /*
@@ -5478,41 +1599,6 @@ update_lpd(int onoff)                    /* - 1 = turn on, 0 = turn off */
 
 
 /*
- * 'update_polling()' - Read status messages from the poll daemons.
- */
-
-static void
-update_polling(void)
-{
-  char         *ptr,                   /* Pointer to end of line in buffer */
-               message[1024];          /* Pointer to message text */
-  int          loglevel;               /* Log level for message */
-
-
-  while ((ptr = cupsdStatBufUpdate(PollStatusBuffer, &loglevel,
-                                   message, sizeof(message))) != NULL)
-  {
-    if (loglevel == CUPSD_LOG_INFO)
-      cupsdLogMessage(CUPSD_LOG_INFO, "%s", message);
-
-    if (!strchr(PollStatusBuffer->buffer, '\n'))
-      break;
-  }
-
-  if (ptr == NULL && !PollStatusBuffer->bufused)
-  {
-   /*
-    * All polling processes have died; stop polling...
-    */
-
-    cupsdLogMessage(CUPSD_LOG_ERROR,
-                    "update_polling: all polling processes have exited!");
-    cupsdStopPolling();
-  }
-}
-
-
-/*
  * 'update_smb()' - Update the SMB configuration as needed.
  */
 
@@ -5580,5 +1666,5 @@ update_smb(int onoff)                     /* I - 1 = turn on, 0 = turn off */
 
 
 /*
- * End of "$Id: dirsvc.c 10243 2012-02-11 02:05:21Z mike $".
+ * End of "$Id: dirsvc.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index be8774b..edc5ad3 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: dirsvc.h 9632 2011-03-21 02:12:14Z mike $"
+ * "$Id: dirsvc.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Directory services definitions for the CUPS scheduler.
  *
- *   Copyright 2007-2010 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
  */
 
 /*
- * Include necessary headers...
- */
-
-#ifdef HAVE_LIBSLP
-#  include <slp.h>
-#endif /* HAVE_LIBSLP */
-
-#ifdef HAVE_LDAP
-#  ifdef __sun
-#    include <lber.h>
-#  endif /* __sun */
-#  include <ldap.h>
-#  ifdef HAVE_LDAP_SSL_H
-#    include <ldap_ssl.h>
-#  endif /* HAVE_LDAP_SSL_H */
-#endif /* HAVE_LDAP */
-
-/*
  * Browse protocols...
  */
 
-#define BROWSE_CUPS    1               /* CUPS */
-#define        BROWSE_SLP      2               /* SLPv2 */
-#define BROWSE_LDAP    4               /* LDAP */
-#define BROWSE_DNSSD   8               /* DNS Service Discovery (aka Bonjour) */
-#define BROWSE_SMB     16              /* SMB/Samba */
-#define BROWSE_LPD     32              /* LPD via xinetd or launchd */
-#define BROWSE_ALL     63              /* All protocols */
-
-
-/*
- * Browse address...
- */
-
-typedef struct
-{
-  char                 iface[32];      /* Destination interface */
-  http_addr_t          to;             /* Destination address */
-} cupsd_dirsvc_addr_t;
-
-
-/*
- * Relay structure...
- */
-
-typedef struct
-{
-  cups_array_t         *from;          /* Source address/name mask(s) */
-  http_addr_t          to;             /* Destination address */
-} cupsd_dirsvc_relay_t;
-
-
-/*
- * Polling structure...
- */
-
-typedef struct
-{
-  char                 hostname[64];   /* Hostname (actually, IP address) */
-  int                  port;           /* Port number */
-  int                  pid;            /* Current poll server PID */
-} cupsd_dirsvc_poll_t;
+#define BROWSE_DNSSD   1               /* DNS Service Discovery (aka Bonjour) */
+#define BROWSE_SMB     2               /* SMB/Samba */
+#define BROWSE_LPD     4               /* LPD via xinetd or launchd */
+#define BROWSE_ALL     7               /* All protocols */
 
 
 /*
@@ -87,98 +32,34 @@ VAR int                     Browsing        VALUE(TRUE),
                        BrowseWebIF     VALUE(FALSE),
                                        /* Whether the web interface is advertised */
                        BrowseLocalProtocols
-                                       VALUE(BROWSE_ALL),
+                                       VALUE(BROWSE_ALL);
                                        /* Protocols to support for local printers */
-                       BrowseRemoteProtocols
-                                       VALUE(BROWSE_ALL),
-                                       /* Protocols to support for remote printers */
-                       BrowseShortNames VALUE(TRUE),
-                                       /* Short names for remote printers? */
-                       BrowseSocket    VALUE(-1),
-                                       /* Socket for browsing */
-                       BrowsePort      VALUE(IPP_PORT),
-                                       /* Port number for broadcasts */
-                       BrowseInterval  VALUE(DEFAULT_INTERVAL),
-                                       /* Broadcast interval in seconds */
-                       BrowseTimeout   VALUE(DEFAULT_TIMEOUT),
-                                       /* Time out for printers in seconds */
-                       UseNetworkDefault VALUE(CUPS_DEFAULT_USE_NETWORK_DEFAULT),
-                                       /* Use the network default printer? */
-                       NumBrowsers     VALUE(0);
-                                       /* Number of broadcast addresses */
-VAR char               *BrowseLocalOptions
-                                       VALUE(NULL),
-                                       /* Options to add to local printer URIs */
-                       *BrowseRemoteOptions
-                                       VALUE(NULL);
-                                       /* Options to add to remote printer URIs */
-VAR cupsd_dirsvc_addr_t        *Browsers       VALUE(NULL);
-                                       /* Broadcast addresses */
-VAR cupsd_location_t   *BrowseACL      VALUE(NULL);
-                                       /* Browser access control list */
-VAR cupsd_printer_t    *BrowseNext     VALUE(NULL);
-                                       /* Next class/printer to broadcast */
-VAR int                        NumRelays       VALUE(0);
-                                       /* Number of broadcast relays */
-VAR cupsd_dirsvc_relay_t *Relays       VALUE(NULL);
-                                       /* Broadcast relays */
-VAR int                        NumPolled       VALUE(0);
-                                       /* Number of polled servers */
-VAR cupsd_dirsvc_poll_t        *Polled         VALUE(NULL);
-                                       /* Polled servers */
-VAR int                        PollPipe        VALUE(0);
-                                       /* Status pipe for pollers */
-VAR cupsd_statbuf_t    *PollStatusBuffer VALUE(NULL);
-                                       /* Status buffer for pollers */
-
-#ifdef HAVE_DNSSD
+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
 VAR char               *DNSSDComputerName VALUE(NULL),
                                        /* Computer/server name */
                        *DNSSDHostName  VALUE(NULL),
                                        /* Hostname */
-                       *DNSSDRegType VALUE(NULL);
-                                       /* Bonjour registration type */
+                       *DNSSDSubTypes VALUE(NULL);
+                                       /* Bonjour registration subtypes */
 VAR cups_array_t       *DNSSDAlias     VALUE(NULL);
                                        /* List of dynamic ServerAlias's */
 VAR int                        DNSSDPort       VALUE(0);
                                        /* Port number to register */
 VAR cups_array_t       *DNSSDPrinters  VALUE(NULL);
                                        /* Printers we have registered */
-VAR DNSServiceRef      DNSSDRef        VALUE(NULL),
+#  ifdef HAVE_DNSSD
+VAR DNSServiceRef      DNSSDMaster     VALUE(NULL);
                                        /* Master DNS-SD service reference */
-                       WebIFRef        VALUE(NULL),
+#  else /* HAVE_AVAHI */
+VAR AvahiThreadedPoll  *DNSSDMaster    VALUE(NULL);
+                                       /* Master polling interface for Avahi */
+VAR AvahiClient                *DNSSDClient    VALUE(NULL);
+                                       /* Client information */
+#  endif /* HAVE_DNSSD */
+VAR cupsd_srv_t                WebIFSrv        VALUE(NULL);
                                        /* Service reference for the web interface */
-                       RemoteRef       VALUE(NULL);
-                                       /* Remote printer browse reference */
-#endif /* HAVE_DNSSD */
-
-#ifdef HAVE_LIBSLP
-VAR SLPHandle          BrowseSLPHandle VALUE(NULL);
-                                       /* SLP API handle */
-VAR time_t             BrowseSLPRefresh VALUE(0);
-                                       /* Next SLP refresh time */
-#endif /* HAVE_LIBSLP */
+#endif /* HAVE_DNSSD || HAVE_AVAHI */
 
-#ifdef HAVE_LDAP
-VAR LDAP               *BrowseLDAPHandle VALUE(NULL);
-                                       /* Handle to LDAP server */
-VAR time_t             BrowseLDAPRefresh VALUE(0);
-                                       /* Next LDAP refresh time */
-VAR char               *BrowseLDAPBindDN VALUE(NULL),
-                                       /* LDAP login DN */
-                       *BrowseLDAPDN   VALUE(NULL),
-                                       /* LDAP search DN */
-                       *BrowseLDAPPassword VALUE(NULL),
-                                       /* LDAP login password */
-                       *BrowseLDAPServer VALUE(NULL);
-                                       /* LDAP server to use */
-VAR int                        BrowseLDAPUpdate VALUE(TRUE);
-                                       /* enables LDAP updates */
-#  ifdef HAVE_LDAP_SSL
-VAR char               *BrowseLDAPCACertFile VALUE(NULL);
-                                       /* LDAP CA CERT file to use */
-#  endif /* HAVE_LDAP_SSL */
-#endif /* HAVE_LDAP */
 VAR char               *LPDConfigFile  VALUE(NULL),
                                        /* LPD configuration file */
                        *SMBConfigFile  VALUE(NULL);
@@ -190,24 +71,14 @@ VAR char           *LPDConfigFile  VALUE(NULL),
  */
 
 extern void    cupsdDeregisterPrinter(cupsd_printer_t *p, int removeit);
-extern void    cupsdLoadRemoteCache(void);
 extern void    cupsdRegisterPrinter(cupsd_printer_t *p);
-extern void    cupsdRestartPolling(void);
-extern void    cupsdSaveRemoteCache(void);
-extern void    cupsdSendBrowseList(void);
 extern void    cupsdStartBrowsing(void);
-extern void    cupsdStartPolling(void);
 extern void    cupsdStopBrowsing(void);
-extern void    cupsdStopPolling(void);
-#ifdef HAVE_DNSSD
+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
 extern void    cupsdUpdateDNSSDName(void);
-#endif /* HAVE_DNSSD */
-#ifdef HAVE_LDAP
-extern void    cupsdUpdateLDAPBrowse(void);
-#endif /* HAVE_LDAP */
-extern void    cupsdUpdateSLPBrowse(void);
+#endif /* HAVE_DNSSD || HAVE_AVAHI */
 
 
 /*
- * End of "$Id: dirsvc.h 9632 2011-03-21 02:12:14Z mike $".
+ * End of "$Id: dirsvc.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index ec12d15..ba11aad 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: env.c 9459 2011-01-11 03:48:42Z mike $"
+ * "$Id: env.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Environment management routines for the CUPS scheduler.
  *
@@ -62,7 +62,7 @@ cupsdInitEnv(void)
 
 #if defined(__APPLE__)
  /*
-  * Add special voodoo magic for MacOS X - this allows MacOS X 
+  * Add special voodoo magic for MacOS X - this allows MacOS X
   * programs to access their bundle resources properly...
   *
   * This string is replaced in cupsdStartProcess()...
@@ -227,6 +227,8 @@ cupsdUpdateEnv(void)
   set_if_undefined("TZ", NULL);
   set_if_undefined("USER", "root");
   set_if_undefined("VG_ARGS", NULL);
+
+  cupsdSetEnvf("CUPS_MAX_MESSAGE", "%d", CUPSD_SB_BUFFER_SIZE - 1);
 }
 
 
@@ -267,5 +269,5 @@ find_env(const char *name)          /* I - Variable name */
 
 
 /*
- * End of "$Id: env.c 9459 2011-01-11 03:48:42Z mike $".
+ * End of "$Id: env.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 4dcf54d..84ceef1 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: file.c 9766 2011-05-11 22:17:34Z mike $"
+ * "$Id: file.c 11221 2013-08-06 16:16:01Z msweet $"
  *
  *   File functions for the CUPS scheduler.
  *
@@ -109,6 +109,29 @@ cupsdCloseCreatedConfFile(
 
 
  /*
+  * Synchronize changes to disk if SyncOnClose is enabled.
+  */
+
+  if (SyncOnClose)
+  {
+    if (cupsFileFlush(fp))
+    {
+      cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to write changes to \"%s\": %s",
+                     filename, strerror(errno));
+      cupsFileClose(fp);
+      return (-1);
+    }
+
+    if (fsync(cupsFileNumber(fp)))
+    {
+      cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to sync changes to \"%s\": %s",
+                     filename, strerror(errno));
+      cupsFileClose(fp);
+      return (-1);
+    }
+  }
+
+ /*
   * First close the file...
   */
 
@@ -446,5 +469,5 @@ overwrite_data(int        fd,               /* I - File descriptor */
 
 
 /*
- * End of "$Id: file.c 9766 2011-05-11 22:17:34Z mike $".
+ * End of "$Id: file.c 11221 2013-08-06 16:16:01Z msweet $".
  */
index 5cde777..6979b5c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: filter.c 9705 2011-04-22 04:38:28Z mike $"
+ * "$Id: filter.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   File type conversion routines for CUPS.
  *
@@ -500,5 +500,5 @@ mime_find_filters(
 
 
 /*
- * End of "$Id: filter.c 9705 2011-04-22 04:38:28Z mike $".
+ * End of "$Id: filter.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index fa3d96e..6968cd5 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: ipp.c 10274 2012-02-13 20:42:51Z mike $"
+ * "$Id: ipp.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   IPP routines for the CUPS scheduler.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2013 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   This file contains Kerberos support code, copyright 2006 by
@@ -23,8 +23,6 @@
  *   add_class()                 - Add a class to the system.
  *   add_file()                  - Add a file to a job.
  *   add_job()                   - Add a job to a print queue.
- *   add_job_state_reasons()     - Add the "job-state-reasons" attribute based
- *                                 upon the job and printer state...
  *   add_job_subscriptions()     - Add any subscriptions for a job.
  *   add_job_uuid()              - Add job-uuid attribute to a job.
  *   add_printer()               - Add a printer to the system.
  *                                 based upon the printer state...
  *   add_queued_job_count()      - Add the "queued-job-count" attribute for the
  *                                 specified printer or class.
- *   apple_init_profile()        - Initialize a color profile.
- *   apple_register_profiles()   - Register color profiles for a printer.
- *   apple_unregister_profiles() - Remove color profiles for the specified
- *                                 printer.
  *   apply_printer_defaults()    - Apply printer default options to a job.
  *   authenticate_job()          - Set job authentication info.
  *   cancel_all_jobs()           - Cancel all or selected print jobs.
@@ -45,7 +39,6 @@
  *                                 feed URI.
  *   check_quotas()              - Check quotas for a printer and user.
  *   close_job()                 - Close a multi-file job.
- *   copy_attribute()            - Copy a single attribute.
  *   copy_attrs()                - Copy attributes from one request to another.
  *   copy_banner()               - Copy a banner file to the requests directory
  *                                 for the specified job.
 #include <cups/ppd-private.h>
 
 #ifdef __APPLE__
-#  include <ApplicationServices/ApplicationServices.h>
-#  ifdef HAVE_COLORSYNCREGISTERDEVICE
+/*#  include <ApplicationServices/ApplicationServices.h>
 extern CFUUIDRef ColorSyncCreateUUIDFromUInt32(unsigned id);
-#  endif /* HAVE_COLORSYNCREGISTERDEVICE */
-#  include <CoreFoundation/CoreFoundation.h>
+#  include <CoreFoundation/CoreFoundation.h>*/
 #  ifdef HAVE_MEMBERSHIP_H
 #    include <membership.h>
 #  endif /* HAVE_MEMBERSHIP_H */
@@ -142,25 +133,12 @@ static int        add_file(cupsd_client_t *con, cupsd_job_t *job,
                         mime_type_t *filetype, int compression);
 static cupsd_job_t *add_job(cupsd_client_t *con, cupsd_printer_t *printer,
                            mime_type_t *filetype);
-static void    add_job_state_reasons(cupsd_client_t *con, cupsd_job_t *job);
 static void    add_job_subscriptions(cupsd_client_t *con, cupsd_job_t *job);
 static void    add_job_uuid(cupsd_job_t *job);
 static void    add_printer(cupsd_client_t *con, ipp_attribute_t *uri);
 static void    add_printer_state_reasons(cupsd_client_t *con,
                                          cupsd_printer_t *p);
 static void    add_queued_job_count(cupsd_client_t *con, cupsd_printer_t *p);
-#ifdef __APPLE__
-static void    apple_init_profile(ppd_file_t *ppd, cups_array_t *languages,
-#  ifdef HAVE_COLORSYNCREGISTERDEVICE
-                                   CFMutableDictionaryRef profile,
-#  else
-                                  CMDeviceProfileInfo *profile,
-#  endif /* HAVE_COLORSYNCREGISTERDEVICE */
-                                  unsigned id, const char *name,
-                                  const char *text, const char *iccfile);
-static void    apple_register_profiles(cupsd_printer_t *p);
-static void    apple_unregister_profiles(cupsd_printer_t *p);
-#endif /* __APPLE__ */
 static void    apply_printer_defaults(cupsd_printer_t *printer,
                                       cupsd_job_t *job);
 static void    authenticate_job(cupsd_client_t *con, ipp_attribute_t *uri);
@@ -169,8 +147,6 @@ static void cancel_job(cupsd_client_t *con, ipp_attribute_t *uri);
 static void    cancel_subscription(cupsd_client_t *con, int id);
 static int     check_rss_recipient(const char *recipient);
 static int     check_quotas(cupsd_client_t *con, cupsd_printer_t *p);
-static ipp_attribute_t *copy_attribute(ipp_t *to, ipp_attribute_t *attr,
-                                       int quickcopy);
 static void    close_job(cupsd_client_t *con, ipp_attribute_t *uri);
 static void    copy_attrs(ipp_t *to, ipp_t *from, cups_array_t *ra,
                           ipp_tag_t group, int quickcopy,
@@ -228,10 +204,7 @@ static void        send_http_error(cupsd_client_t *con, http_status_t status,
                                cupsd_printer_t *printer);
 static void    send_ipp_status(cupsd_client_t *con, ipp_status_t status,
                                const char *message, ...)
-#    ifdef __GNUC__
-__attribute__ ((__format__ (__printf__, 3, 4)))
-#    endif /* __GNUC__ */
-;
+               __attribute__((__format__(__printf__, 3, 4)));
 static void    set_default(cupsd_client_t *con, ipp_attribute_t *uri);
 static void    set_job_attrs(cupsd_client_t *con, ipp_attribute_t *uri);
 static void    set_printer_attrs(cupsd_client_t *con, ipp_attribute_t *uri);
@@ -853,8 +826,7 @@ cupsdTimeoutJob(cupsd_job_t *job)   /* I - Job to timeout */
   printer = cupsdFindDest(job->dest);
   attr    = ippFindAttribute(job->attrs, "job-sheets", IPP_TAG_NAME);
 
-  if (printer &&
-      !(printer->type & (CUPS_PRINTER_REMOTE | CUPS_PRINTER_IMPLICIT)) &&
+  if (printer && !(printer->type & CUPS_PRINTER_REMOTE) &&
       attr && attr->num_values > 1)
   {
    /*
@@ -969,7 +941,6 @@ add_class(cupsd_client_t  *con,             /* I - Client connection */
   cups_ptype_t dtype;                  /* Destination type */
   ipp_attribute_t *attr;               /* Printer attribute */
   int          modify;                 /* Non-zero if we just modified */
-  char         newname[IPP_MAX_NAME];  /* New class name */
   int          need_restart_job;       /* Need to restart job? */
 
 
@@ -1023,8 +994,7 @@ add_class(cupsd_client_t  *con,            /* I - Client connection */
     * Class doesn't exist; see if we have a printer of the same name...
     */
 
-    if ((pclass = cupsdFindPrinter(resource + 9)) != NULL &&
-        !(pclass->type & CUPS_PRINTER_DISCOVERED))
+    if ((pclass = cupsdFindPrinter(resource + 9)) != NULL)
     {
      /*
       * Yes, return an error...
@@ -1049,56 +1019,6 @@ add_class(cupsd_client_t  *con,          /* I - Client connection */
     pclass = cupsdAddClass(resource + 9);
     modify = 0;
   }
-  else if (pclass->type & CUPS_PRINTER_IMPLICIT)
-  {
-   /*
-    * Check the default policy, then rename the implicit class to "AnyClass"
-    * or remove it...
-    */
-
-    if ((status = cupsdCheckPolicy(DefaultPolicyPtr, con, NULL)) != HTTP_OK)
-    {
-      send_http_error(con, status, NULL);
-      return;
-    }
-
-    if (ImplicitAnyClasses)
-    {
-      snprintf(newname, sizeof(newname), "Any%s", resource + 9);
-      cupsdRenamePrinter(pclass, newname);
-    }
-    else
-      cupsdDeletePrinter(pclass, 1);
-
-   /*
-    * Add the class as a new local class...
-    */
-
-    pclass = cupsdAddClass(resource + 9);
-    modify = 0;
-  }
-  else if (pclass->type & CUPS_PRINTER_DISCOVERED)
-  {
-   /*
-    * Check the default policy, then rename the remote class to "Class"...
-    */
-
-    if ((status = cupsdCheckPolicy(DefaultPolicyPtr, con, NULL)) != HTTP_OK)
-    {
-      send_http_error(con, status, NULL);
-      return;
-    }
-
-    snprintf(newname, sizeof(newname), "%s@%s", resource + 9, pclass->hostname);
-    cupsdRenamePrinter(pclass, newname);
-
-   /*
-    * Add the class as a new local class...
-    */
-
-    pclass = cupsdAddClass(resource + 9);
-    modify = 0;
-  }
   else if ((status = cupsdCheckPolicy(pclass->op_policy_ptr, con,
                                       NULL)) != HTTP_OK)
   {
@@ -1365,6 +1285,21 @@ add_job(cupsd_client_t  *con,            /* I - Client connection */
   ipp_attribute_t *media_col,          /* media-col attribute */
                *media_margin;          /* media-*-margin attribute */
   ipp_t                *unsup_col;             /* media-col in unsupported response */
+  static const char * const readonly[] =/* List of read-only attributes */
+  {
+    "job-id",
+    "job-k-octets",
+    /*"job-impressions",*/             /* For now we allow this since cupsd can't count */
+    "job-impressions-completed",
+    "job-media-sheets",
+    "job-media-sheets-completed",
+    "job-state",
+    "job-state-message",
+    "job-state-reasons",
+    "time-at-completed",
+    "time-at-creation",
+    "time-at-processing"
+  };
 
 
   cupsdLogMessage(CUPSD_LOG_DEBUG2, "add_job(%p[%d], %p(%s), %p(%s/%s))",
@@ -1433,6 +1368,27 @@ add_job(cupsd_client_t  *con,            /* I - Client connection */
   * copies, number-up, and page-ranges...
   */
 
+  for (i = 0; i < (int)(sizeof(readonly) / sizeof(readonly[0])); i ++)
+  {
+    if ((attr = ippFindAttribute(con->request, readonly[i],
+                                 IPP_TAG_ZERO)) != NULL)
+    {
+      ippDeleteAttribute(con->request, attr);
+
+      if (StrictConformance)
+      {
+       send_ipp_status(con, IPP_BAD_REQUEST,
+                       _("The '%s' Job Description attribute cannot be "
+                         "supplied in a job creation request."), readonly[i]);
+       return (NULL);
+      }
+
+      cupsdLogMessage(CUPSD_LOG_WARN,
+                      "Unexpected '%s' Job Description attribute in a job "
+                      "creation request.", readonly[i]);
+    }
+  }
+
   if (filetype && printer->filetypes &&
       !cupsArrayFind(printer->filetypes, filetype))
   {
@@ -1618,9 +1574,71 @@ add_job(cupsd_client_t  *con,            /* I - Client connection */
                   priority);
   }
 
-  if (!ippFindAttribute(con->request, "job-name", IPP_TAG_NAME))
+  if ((attr = ippFindAttribute(con->request, "job-name", IPP_TAG_ZERO)) == NULL)
     ippAddString(con->request, IPP_TAG_JOB, IPP_TAG_NAME, "job-name", NULL,
                  "Untitled");
+  else if ((attr->value_tag != IPP_TAG_NAME &&
+            attr->value_tag != IPP_TAG_NAMELANG) ||
+           attr->num_values != 1)
+  {
+    send_ipp_status(con, IPP_ATTRIBUTES,
+                    _("Bad job-name value: Wrong type or count."));
+    if ((attr = ippCopyAttribute(con->response, attr, 0)) != NULL)
+      attr->group_tag = IPP_TAG_UNSUPPORTED_GROUP;
+    return (NULL);
+  }
+  else
+  {
+    const char *ptr;                   /* Pointer into string */
+
+    for (ptr = attr->values[0].string.text; *ptr; ptr ++)
+    {
+      if ((*ptr & 0xe0) == 0xc0)
+      {
+       ptr ++;
+       if ((*ptr & 0xc0) != 0x80)
+         break;
+      }
+      else if ((*ptr & 0xf0) == 0xe0)
+      {
+       ptr ++;
+       if ((*ptr & 0xc0) != 0x80)
+         break;
+       ptr ++;
+       if ((*ptr & 0xc0) != 0x80)
+         break;
+      }
+      else if ((*ptr & 0xf8) == 0xf0)
+      {
+       ptr ++;
+       if ((*ptr & 0xc0) != 0x80)
+         break;
+       ptr ++;
+       if ((*ptr & 0xc0) != 0x80)
+         break;
+       ptr ++;
+       if ((*ptr & 0xc0) != 0x80)
+         break;
+      }
+      else if (*ptr & 0x80)
+       break;
+    }
+
+    if (*ptr || (ptr - attr->values[0].string.text) > (IPP_MAX_NAME - 1))
+    {
+      if (*ptr)
+       send_ipp_status(con, IPP_ATTRIBUTES,
+                       _("Bad job-name value: Bad UTF-8 sequence."));
+      else
+       send_ipp_status(con, IPP_ATTRIBUTES,
+                       _("Bad job-name value: Name too long."));
+
+      if ((attr = ippCopyAttribute(con->response, attr, 0)) != NULL)
+       attr->group_tag = IPP_TAG_UNSUPPORTED_GROUP;
+
+      return (NULL);
+    }
+  }
 
   if ((job = cupsdAddJob(priority, printer->name)) == NULL)
   {
@@ -1630,8 +1648,7 @@ add_job(cupsd_client_t  *con,             /* I - Client connection */
     return (NULL);
   }
 
-  job->dtype   = printer->type & (CUPS_PRINTER_CLASS | CUPS_PRINTER_IMPLICIT |
-                                  CUPS_PRINTER_REMOTE);
+  job->dtype   = printer->type & (CUPS_PRINTER_CLASS | CUPS_PRINTER_REMOTE);
   job->attrs   = con->request;
   job->dirty   = 1;
   con->request = ippNewRequest(job->attrs->request.op.operation_id);
@@ -1720,10 +1737,10 @@ add_job(cupsd_client_t  *con,           /* I - Client connection */
            {
              _cupsStrFree(attr->values[i].string.text);
              attr->values[i].string.text = NULL;
-             if (attr->values[i].string.charset)
+             if (attr->values[i].string.language)
              {
-               _cupsStrFree(attr->values[i].string.charset);
-               attr->values[i].string.charset = NULL;
+               _cupsStrFree(attr->values[i].string.language);
+               attr->values[i].string.language = NULL;
              }
             }
 
@@ -1770,6 +1787,8 @@ add_job(cupsd_client_t  *con,             /* I - Client connection */
   job->state = ippAddInteger(job->attrs, IPP_TAG_JOB, IPP_TAG_ENUM,
                              "job-state", IPP_JOB_STOPPED);
   job->state_value = (ipp_jstate_t)job->state->values[0].integer;
+  job->reasons = ippAddString(job->attrs, IPP_TAG_JOB, IPP_TAG_KEYWORD,
+                              "job-state-reasons", NULL, "job-incoming");
   job->sheets = ippAddInteger(job->attrs, IPP_TAG_JOB, IPP_TAG_INTEGER,
                               "job-media-sheets-completed", 0);
   ippAddString(job->attrs, IPP_TAG_JOB, IPP_TAG_URI, "job-printer-uri", NULL,
@@ -1803,6 +1822,8 @@ add_job(cupsd_client_t  *con,             /* I - Client connection */
 
     job->state->values[0].integer = IPP_JOB_HELD;
     job->state_value              = IPP_JOB_HELD;
+
+    ippSetString(job->attrs, &job->reasons, 0, "job-hold-until-specified");
   }
   else if (job->attrs->request.op.operation_id == IPP_CREATE_JOB)
   {
@@ -1814,10 +1835,11 @@ add_job(cupsd_client_t  *con,           /* I - Client connection */
   {
     job->state->values[0].integer = IPP_JOB_PENDING;
     job->state_value              = IPP_JOB_PENDING;
+
+    ippSetString(job->attrs, &job->reasons, 0, "none");
   }
 
-  if (!(printer->type & (CUPS_PRINTER_REMOTE | CUPS_PRINTER_IMPLICIT)) ||
-      Classification)
+  if (!(printer->type & CUPS_PRINTER_REMOTE) || Classification)
   {
    /*
     * Add job sheets options...
@@ -1950,7 +1972,7 @@ add_job(cupsd_client_t  *con,             /* I - Client connection */
     * See if we need to add the starting sheet...
     */
 
-    if (!(printer->type & (CUPS_PRINTER_REMOTE | CUPS_PRINTER_IMPLICIT)))
+    if (!(printer->type & CUPS_PRINTER_REMOTE))
     {
       cupsdLogJob(job, CUPSD_LOG_INFO, "Adding start banner page \"%s\".",
                  attr->values[0].string.text);
@@ -1983,7 +2005,8 @@ add_job(cupsd_client_t  *con,             /* I - Client connection */
 
   ippAddInteger(con->response, IPP_TAG_JOB, IPP_TAG_ENUM, "job-state",
                 job->state_value);
-  add_job_state_reasons(con, job);
+  ippAddString(con->response, IPP_TAG_JOB, IPP_TAG_KEYWORD, "job-state-reasons",
+               NULL, job->reasons->values[0].string.text);
 
   con->response->request.status.status_code = IPP_OK;
 
@@ -2015,76 +2038,6 @@ add_job(cupsd_client_t  *con,            /* I - Client connection */
 
 
 /*
- * 'add_job_state_reasons()' - Add the "job-state-reasons" attribute based
- *                             upon the job and printer state...
- */
-
-static void
-add_job_state_reasons(
-    cupsd_client_t *con,               /* I - Client connection */
-    cupsd_job_t    *job)               /* I - Job info */
-{
-  cupsd_printer_t      *dest;          /* Destination printer */
-  ipp_attribute_t      *attr;          /* job-hold attribute */
-
-  cupsdLogMessage(CUPSD_LOG_DEBUG2, "add_job_state_reasons(%p[%d], %d)",
-                  con, con->http.fd, job ? job->id : 0);
-
-  switch (job ? job->state_value : IPP_JOB_CANCELED)
-  {
-    case IPP_JOB_PENDING :
-       dest = cupsdFindDest(job->dest);
-
-        if (dest && dest->state == IPP_PRINTER_STOPPED)
-          ippAddString(con->response, IPP_TAG_JOB, IPP_TAG_KEYWORD,
-                      "job-state-reasons", NULL, "printer-stopped");
-        else
-          ippAddString(con->response, IPP_TAG_JOB, IPP_TAG_KEYWORD,
-                      "job-state-reasons", NULL, "none");
-        break;
-
-    case IPP_JOB_HELD :
-        if ((attr = ippFindAttribute(job->attrs, "job-hold-until",
-                                    IPP_TAG_KEYWORD)) == NULL)
-         attr = ippFindAttribute(job->attrs, "job-hold-until", IPP_TAG_NAME);
-
-       if (!attr || strcmp(attr->values[0].string.text, "no-hold"))
-          ippAddString(con->response, IPP_TAG_JOB, IPP_TAG_KEYWORD,
-                      "job-state-reasons", NULL, "job-hold-until-specified");
-        else
-          ippAddString(con->response, IPP_TAG_JOB, IPP_TAG_KEYWORD,
-                      "job-state-reasons", NULL, "job-incoming");
-        break;
-
-    case IPP_JOB_PROCESSING :
-        ippAddString(con->response, IPP_TAG_JOB, IPP_TAG_KEYWORD,
-                    "job-state-reasons", NULL, "job-printing");
-        break;
-
-    case IPP_JOB_STOPPED :
-        ippAddString(con->response, IPP_TAG_JOB, IPP_TAG_KEYWORD,
-                    "job-state-reasons", NULL, "job-stopped");
-        break;
-
-    case IPP_JOB_CANCELED :
-        ippAddString(con->response, IPP_TAG_JOB, IPP_TAG_KEYWORD,
-                    "job-state-reasons", NULL, "job-canceled-by-user");
-        break;
-
-    case IPP_JOB_ABORTED :
-        ippAddString(con->response, IPP_TAG_JOB, IPP_TAG_KEYWORD,
-                    "job-state-reasons", NULL, "aborted-by-system");
-        break;
-
-    case IPP_JOB_COMPLETED :
-        ippAddString(con->response, IPP_TAG_JOB, IPP_TAG_KEYWORD,
-                    "job-state-reasons", NULL, "job-completed-successfully");
-        break;
-  }
-}
-
-
-/*
  * 'add_job_subscriptions()' - Add any subscriptions for a job.
  */
 
@@ -2302,7 +2255,7 @@ add_job_subscriptions(
       * Free and remove this attribute...
       */
 
-      _ippFreeAttr(attr);
+      ippDeleteAttribute(NULL, attr);
 
       if (prev)
         prev->next = next;
@@ -2363,7 +2316,6 @@ add_printer(cupsd_client_t  *con, /* I - Client connection */
   char         srcfile[1024],          /* Source Script/PPD file */
                dstfile[1024];          /* Destination Script/PPD file */
   int          modify;                 /* Non-zero if we are modifying */
-  char         newname[IPP_MAX_NAME];  /* New printer name */
   int          changed_driver,         /* Changed the PPD/interface script? */
                need_restart_job,       /* Need to restart job? */
                set_device_uri,         /* Did we set the device URI? */
@@ -2419,8 +2371,7 @@ add_printer(cupsd_client_t  *con, /* I - Client connection */
     * Printer doesn't exist; see if we have a class of the same name...
     */
 
-    if ((printer = cupsdFindClass(resource + 10)) != NULL &&
-        !(printer->type & CUPS_PRINTER_DISCOVERED))
+    if ((printer = cupsdFindClass(resource + 10)) != NULL)
     {
      /*
       * Yes, return an error...
@@ -2445,58 +2396,6 @@ add_printer(cupsd_client_t  *con,        /* I - Client connection */
     printer = cupsdAddPrinter(resource + 10);
     modify  = 0;
   }
-  else if (printer->type & CUPS_PRINTER_IMPLICIT)
-  {
-   /*
-    * Check the default policy, then rename the implicit printer to
-    * "AnyPrinter" or delete it...
-    */
-
-    if ((status = cupsdCheckPolicy(DefaultPolicyPtr, con, NULL)) != HTTP_OK)
-    {
-      send_http_error(con, status, NULL);
-      return;
-    }
-
-    if (ImplicitAnyClasses)
-    {
-      snprintf(newname, sizeof(newname), "Any%s", resource + 10);
-      cupsdRenamePrinter(printer, newname);
-    }
-    else
-      cupsdDeletePrinter(printer, 1);
-
-   /*
-    * Add the printer as a new local printer...
-    */
-
-    printer = cupsdAddPrinter(resource + 10);
-    modify  = 0;
-  }
-  else if (printer->type & CUPS_PRINTER_DISCOVERED)
-  {
-   /*
-    * Check the default policy, then rename the remote printer to
-    * "Printer@server"...
-    */
-
-    if ((status = cupsdCheckPolicy(DefaultPolicyPtr, con, NULL)) != HTTP_OK)
-    {
-      send_http_error(con, status, NULL);
-      return;
-    }
-
-    snprintf(newname, sizeof(newname), "%s@%s", resource + 10,
-             printer->hostname);
-    cupsdRenamePrinter(printer, newname);
-
-   /*
-    * Add the printer as a new local printer...
-    */
-
-    printer = cupsdAddPrinter(resource + 10);
-    modify  = 0;
-  }
   else if ((status = cupsdCheckPolicy(printer->op_policy_ptr, con,
                                       NULL)) != HTTP_OK)
   {
@@ -2533,6 +2432,21 @@ add_printer(cupsd_client_t  *con,        /* I - Client connection */
     http_uri_status_t  uri_status;     /* URI separation status */
     char               old_device_uri[1024];
                                        /* Old device URI */
+    static const char * const uri_status_strings[] =
+    {
+      "URI too large.",
+      "Bad arguments to function.",
+      "Bad resource path.",
+      "Bad port number.",
+      "Bad hostname/address.",
+      "Bad username/password.",
+      "Bad URI scheme.",
+      "Bad URI.",
+      "OK",
+      "Missing URI scheme.",
+      "Unknown URI scheme",
+      "Missing resource path."
+    };
 
 
     need_restart_job = 1;
@@ -2544,12 +2458,14 @@ add_printer(cupsd_client_t  *con,       /* I - Client connection */
                                 host, sizeof(host), &port,
                                 resource, sizeof(resource));
 
+    cupsdLogMessage(CUPSD_LOG_DEBUG,
+                   "%s device-uri: %s", printer->name,
+                   uri_status_strings[uri_status - HTTP_URI_OVERFLOW]);
+
     if (uri_status < HTTP_URI_OK)
     {
       send_ipp_status(con, IPP_NOT_POSSIBLE, _("Bad device-uri \"%s\"."),
                      attr->values[0].string.text);
-      cupsdLogMessage(CUPSD_LOG_DEBUG,
-                      "add_printer: httpSeparateURI returned %d", uri_status);
       return;
     }
 
@@ -2568,7 +2484,7 @@ add_printer(cupsd_client_t  *con, /* I - Client connection */
        send_ipp_status(con, IPP_NOT_POSSIBLE,
                        _("File device URIs have been disabled. "
                          "To enable, see the FileDevice directive in "
-                         "\"%s/cupsd.conf\"."),
+                         "\"%s/cups-files.conf\"."),
                        ServerRoot);
        return;
       }
@@ -2925,17 +2841,11 @@ add_printer(cupsd_client_t  *con,       /* I - Client connection */
 
     cupsdSetPrinterReasons(printer, "none");
 
-#ifdef __APPLE__
    /*
     * (Re)register color profiles...
     */
 
-    if (!RunUser)
-    {
-      apple_unregister_profiles(printer);
-      apple_register_profiles(printer);
-    }
-#endif /* __APPLE__ */
+    cupsdRegisterColor(printer);
   }
 
  /*
@@ -2955,7 +2865,7 @@ add_printer(cupsd_client_t  *con, /* I - Client connection */
 
     snprintf(srcfile, sizeof(srcfile), "%s/ppd/%s.ppd", ServerRoot,
             printer->name);
-    if ((ppd = ppdOpenFile(srcfile)) != NULL)
+    if ((ppd = _ppdOpenFile(srcfile, _PPD_LOCALIZATION_NONE)) != NULL)
     {
       for (ppdattr = ppdFindAttr(ppd, "cupsPortMonitor", NULL);
           ppdattr;
@@ -3005,950 +2915,68 @@ add_printer(cupsd_client_t  *con,      /* I - Client connection */
                   printer, NULL, "Printer \"%s\" modified by \"%s\".",
                  printer->name, get_username(con));
 
-    cupsdLogMessage(CUPSD_LOG_INFO, "Printer \"%s\" modified by \"%s\".",
-                    printer->name, get_username(con));
-  }
-  else
-  {
-    cupsdAddEvent(CUPSD_EVENT_PRINTER_ADDED,
-                  printer, NULL, "New printer \"%s\" added by \"%s\".",
-                 printer->name, get_username(con));
-
-    cupsdLogMessage(CUPSD_LOG_INFO, "New printer \"%s\" added by \"%s\".",
-                    printer->name, get_username(con));
-  }
-
-  con->response->request.status.status_code = IPP_OK;
-}
-
-
-/*
- * 'add_printer_state_reasons()' - Add the "printer-state-reasons" attribute
- *                                 based upon the printer state...
- */
-
-static void
-add_printer_state_reasons(
-    cupsd_client_t  *con,              /* I - Client connection */
-    cupsd_printer_t *p)                        /* I - Printer info */
-{
-  cupsdLogMessage(CUPSD_LOG_DEBUG2,
-                  "add_printer_state_reasons(%p[%d], %p[%s])",
-                  con, con->http.fd, p, p->name);
-
-  if (p->num_reasons == 0)
-    ippAddString(con->response, IPP_TAG_PRINTER, IPP_TAG_KEYWORD,
-                 "printer-state-reasons", NULL, "none");
-  else
-    ippAddStrings(con->response, IPP_TAG_PRINTER, IPP_TAG_KEYWORD,
-                  "printer-state-reasons", p->num_reasons, NULL,
-                 (const char * const *)p->reasons);
-}
-
-
-/*
- * 'add_queued_job_count()' - Add the "queued-job-count" attribute for
- *                            the specified printer or class.
- */
-
-static void
-add_queued_job_count(
-    cupsd_client_t  *con,              /* I - Client connection */
-    cupsd_printer_t *p)                        /* I - Printer or class */
-{
-  int          count;                  /* Number of jobs on destination */
-
-
-  cupsdLogMessage(CUPSD_LOG_DEBUG2, "add_queued_job_count(%p[%d], %p[%s])",
-                  con, con->http.fd, p, p->name);
-
-  count = cupsdGetPrinterJobCount(p->name);
-
-  ippAddInteger(con->response, IPP_TAG_PRINTER, IPP_TAG_INTEGER,
-                "queued-job-count", count);
-}
-
-
-#ifdef __APPLE__
-/*
- * 'apple_init_profile()' - Initialize a color profile.
- */
-
-static void
-apple_init_profile(
-    ppd_file_t             *ppd,       /* I - PPD file */
-    cups_array_t          *languages,  /* I - Languages in the PPD file */
-#  ifdef HAVE_COLORSYNCREGISTERDEVICE
-    CFMutableDictionaryRef profile,    /* I - Profile dictionary */
-#  else
-    CMDeviceProfileInfo    *profile,   /* I - Profile record */
-#  endif /* HAVE_COLORSYNCREGISTERDEVICE */
-    unsigned               id,         /* I - Profile ID */
-    const char             *name,      /* I - Profile name */
-    const char             *text,      /* I - Profile UI text */
-    const char             *iccfile)   /* I - ICC filename */
-{
-#  ifdef HAVE_COLORSYNCREGISTERDEVICE
-  CFURLRef             url;            /* URL for profile filename */
-#  endif /* HAVE_COLORSYNCREGISTERDEVICE */
-  CFMutableDictionaryRef dict;         /* Dictionary for name */
-  char                 *language;      /* Current language */
-  ppd_attr_t           *attr;          /* Profile attribute */
-  CFStringRef          cflang,         /* Language string */
-                       cftext;         /* Localized text */
-
-
-  (void)id;
-
- /*
-  * Build the profile name dictionary...
-  */
-
-  dict = CFDictionaryCreateMutable(kCFAllocatorDefault, 0,
-                                  &kCFTypeDictionaryKeyCallBacks,
-                                  &kCFTypeDictionaryValueCallBacks);
-  if (!dict)
-  {
-    cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to initialize profile \"%s\".",
-                    iccfile);
-    return;
-  }
-
-  cftext = CFStringCreateWithCString(kCFAllocatorDefault, text,
-                                    kCFStringEncodingUTF8);
-
-  if (cftext)
-  {
-    CFDictionarySetValue(dict, CFSTR("en_US"), cftext);
-    CFRelease(cftext);
-  }
-
-  if (languages)
-  {
-   /*
-    * Find localized names for the color profiles...
-    */
-
-    cupsArraySave(ppd->sorted_attrs);
-
-    for (language = (char *)cupsArrayFirst(languages);
-        language;
-        language = (char *)cupsArrayNext(languages))
-    {
-      if (iccfile)
-      {
-        if ((attr = _ppdLocalizedAttr(ppd, "cupsICCProfile", name,
-                                     language)) == NULL)
-         attr = _ppdLocalizedAttr(ppd, "APTiogaProfile", name, language);
-      }
-      else
-        attr = _ppdLocalizedAttr(ppd, "ColorModel", name, language);
-
-      if (attr && attr->text[0])
-      {
-       cflang = CFStringCreateWithCString(kCFAllocatorDefault, language,
-                                          kCFStringEncodingUTF8);
-       cftext = CFStringCreateWithCString(kCFAllocatorDefault, attr->text,
-                                          kCFStringEncodingUTF8);
-
-        if (cflang && cftext)
-         CFDictionarySetValue(dict, cflang, cftext);
-
-        if (cflang)
-         CFRelease(cflang);
-
-        if (cftext)
-         CFRelease(cftext);
-      }
-    }
-
-    cupsArrayRestore(ppd->sorted_attrs);
-  }
-
- /*
-  * Fill in the profile data...
-  */
-
-#  ifdef HAVE_COLORSYNCREGISTERDEVICE
- if (iccfile)
- {
-    url = CFURLCreateFromFileSystemRepresentation(kCFAllocatorDefault,
-                                                 (const UInt8 *)iccfile,
-                                                  strlen(iccfile), false);
-
-    if (url)
-    {
-      CFDictionarySetValue(profile, kColorSyncDeviceProfileURL, url);
-      CFRelease(url);
-    }
-  }
-
-  CFDictionarySetValue(profile, kColorSyncDeviceModeDescriptions, dict);
-  CFRelease(dict);
-
-#  else
-  profile->dataVersion        = cmDeviceProfileInfoVersion1;
-  profile->profileID          = id;
-  profile->profileLoc.locType = iccfile ? cmPathBasedProfile : cmNoProfileBase;
-  profile->profileName        = dict;
-
-  if (iccfile)
-    strlcpy(profile->profileLoc.u.pathLoc.path, iccfile,
-           sizeof(profile->profileLoc.u.pathLoc.path));
-#  endif /* HAVE_COLORSYNCREGISTERDEVICE */
-}
-
-
-/*
- * 'apple_register_profiles()' - Register color profiles for a printer.
- */
-
-static void
-apple_register_profiles(
-    cupsd_printer_t *p)                        /* I - Printer */
-{
-  int                  i;              /* Looping var */
-  char                 ppdfile[1024],  /* PPD filename */
-                       iccfile[1024],  /* ICC filename */
-                       selector[PPD_MAX_NAME];
-                                       /* Profile selection string */
-  ppd_file_t           *ppd;           /* PPD file */
-  ppd_attr_t           *attr,          /* Profile attributes */
-                       *profileid_attr,/* cupsProfileID attribute */
-                       *q1_attr,       /* ColorModel (or other) qualifier */
-                       *q2_attr,       /* MediaType (or other) qualifier */
-                       *q3_attr;       /* Resolution (or other) qualifier */
-  char                 q_keyword[PPD_MAX_NAME];
-                                       /* Qualifier keyword */
-  const char           *q1_choice,     /* ColorModel (or other) choice */
-                       *q2_choice,     /* MediaType (or other) choice */
-                       *q3_choice;     /* Resolution (or other) choice */
-  const char           *profile_key;   /* Profile keyword */
-  ppd_option_t         *cm_option;     /* Color model option */
-  ppd_choice_t         *cm_choice;     /* Color model choice */
-  int                  num_profiles;   /* Number of profiles */
-  OSStatus             error = 0;      /* Last error */
-  unsigned             device_id,      /* Printer device ID */
-                       profile_id = 0, /* Profile ID */
-                       default_profile_id = 0;
-                                       /* Default profile ID */
-  CFMutableDictionaryRef device_name;  /* Printer device name dictionary */
-  CFStringRef          printer_name;   /* Printer name string */
-  cups_array_t         *languages;     /* Languages array */
-#  ifdef HAVE_COLORSYNCREGISTERDEVICE
-  CFMutableDictionaryRef profiles,     /* Dictionary of profiles */
-                       profile;        /* Current profile info dictionary */
-  CFStringRef          dict_key;       /* Key in factory profile dictionary */
-#  else
-  CMDeviceScope                scope =         /* Scope of the registration */
-                       {
-                         kCFPreferencesAnyUser,
-                         kCFPreferencesCurrentHost
-                       };
-  CMDeviceProfileArrayPtr profiles;    /* Profiles */
-  CMDeviceProfileInfo  *profile;       /* Current profile */
-#  endif /* HAVE_COLORSYNCREGISTERDEVICE */
-
-
- /*
-  * Make sure ColorSync is available...
-  */
-
-#  ifdef HAVE_COLORSYNCREGISTERDEVICE
-  if (ColorSyncRegisterDevice == NULL)
-    return;
-
-#  else
-  if (CMRegisterColorDevice == NULL)
-    return;
-#  endif /* HAVE_COLORSYNCREGISTERDEVICE */
-
- /*
-  * Try opening the PPD file for this printer...
-  */
-
-  snprintf(ppdfile, sizeof(ppdfile), "%s/ppd/%s.ppd", ServerRoot, p->name);
-  if ((ppd = ppdOpenFile(ppdfile)) == NULL)
-    return;
-
- /*
-  * See if we have any profiles...
-  */
-
-  if ((attr = ppdFindAttr(ppd, "APTiogaProfile", NULL)) != NULL)
-    profile_key = "APTiogaProfile";
-  else
-  {
-    attr = ppdFindAttr(ppd, "cupsICCProfile", NULL);
-    profile_key = "cupsICCProfile";
-  }
-
-  for (num_profiles = 0; attr; attr = ppdFindNextAttr(ppd, profile_key, NULL))
-    if (attr->spec[0] && attr->value && attr->value[0])
-    {
-      if (attr->value[0] != '/')
-       snprintf(iccfile, sizeof(iccfile), "%s/profiles/%s", DataDir,
-                attr->value);
-      else
-       strlcpy(iccfile, attr->value, sizeof(iccfile));
-
-      if (access(iccfile, 0))
-      {
-        cupsdLogMessage(CUPSD_LOG_ERROR,
-                        "%s: ICC Profile \"%s\" does not exist.", p->name,
-                        iccfile);
-       continue;
-      }
-
-      num_profiles ++;
-    }
-
-#  ifdef HAVE_COLORSYNCREGISTERDEVICE
- /*
-  * Create a dictionary for the factory profiles...
-  */
-
-  profiles = CFDictionaryCreateMutable(kCFAllocatorDefault, 0,
-                                      &kCFTypeDictionaryKeyCallBacks,
-                                      &kCFTypeDictionaryValueCallBacks);
-  if (!profiles)
-  {
-    cupsdLogMessage(CUPSD_LOG_ERROR,
-                   "Unable to allocate memory for factory profiles.");
-    ppdClose(ppd);
-    return;
-  }
-#  endif /* HAVE_COLORSYNCREGISTERDEVICE */
-
- /*
-  * If we have profiles, add them...
-  */
-
-  if (num_profiles > 0)
-  {
-    if (profile_key[0] == 'A')
-    {
-     /*
-      * For Tioga PPDs, get the default profile using the DefaultAPTiogaProfile
-      * attribute...
-      */
-
-      if ((attr = ppdFindAttr(ppd, "DefaultAPTiogaProfile", NULL)) != NULL &&
-         attr->value)
-        default_profile_id = atoi(attr->value);
-
-      q1_choice = q2_choice = q3_choice = NULL;
-    }
-    else
-    {
-     /*
-      * For CUPS PPDs, figure out the default profile selector values...
-      */
-
-      if ((attr = ppdFindAttr(ppd, "cupsICCQualifier1", NULL)) != NULL &&
-         attr->value && attr->value[0])
-      {
-       snprintf(q_keyword, sizeof(q_keyword), "Default%s", attr->value);
-       q1_attr = ppdFindAttr(ppd, q_keyword, NULL);
-      }
-      else if ((q1_attr = ppdFindAttr(ppd, "DefaultColorModel", NULL)) == NULL)
-       q1_attr = ppdFindAttr(ppd, "DefaultColorSpace", NULL);
-
-      if (q1_attr && q1_attr->value && q1_attr->value[0])
-       q1_choice = q1_attr->value;
-      else
-       q1_choice = "";
-
-      if ((attr = ppdFindAttr(ppd, "cupsICCQualifier2", NULL)) != NULL &&
-         attr->value && attr->value[0])
-      {
-       snprintf(q_keyword, sizeof(q_keyword), "Default%s", attr->value);
-       q2_attr = ppdFindAttr(ppd, q_keyword, NULL);
-      }
-      else
-       q2_attr = ppdFindAttr(ppd, "DefaultMediaType", NULL);
-
-      if (q2_attr && q2_attr->value && q2_attr->value[0])
-       q2_choice = q2_attr->value;
-      else
-       q2_choice = NULL;
-
-      if ((attr = ppdFindAttr(ppd, "cupsICCQualifier3", NULL)) != NULL &&
-         attr->value && attr->value[0])
-      {
-       snprintf(q_keyword, sizeof(q_keyword), "Default%s", attr->value);
-       q3_attr = ppdFindAttr(ppd, q_keyword, NULL);
-      }
-      else
-       q3_attr = ppdFindAttr(ppd, "DefaultResolution", NULL);
-
-      if (q3_attr && q3_attr->value && q3_attr->value[0])
-       q3_choice = q3_attr->value;
-      else
-       q3_choice = NULL;
-    }
-
-#  ifndef HAVE_COLORSYNCREGISTERDEVICE
-   /*
-    * Build the array of profiles...
-    *
-    * Note: This calloc actually requests slightly more memory than needed.
-    */
-
-    if ((profiles = calloc(num_profiles, sizeof(CMDeviceProfileArray))) == NULL)
-    {
-      cupsdLogMessage(CUPSD_LOG_ERROR,
-                      "Unable to allocate memory for factory profiles.");
-      ppdClose(ppd);
-      return;
-    }
-
-    profiles->profileCount = num_profiles;
-    profile = profiles->profiles;
-#  endif /* !HAVE_COLORSYNCREGISTERDEVICE */
-
-   /*
-    * Loop through the profiles listed in the PPD...
-    */
-
-    languages = _ppdGetLanguages(ppd);
-
-    for (attr = ppdFindAttr(ppd, profile_key, NULL);
-        attr;
-        attr = ppdFindNextAttr(ppd, profile_key, NULL))
-      if (attr->spec[0] && attr->value && attr->value[0])
-      {
-       /*
-        * Add this profile...
-       */
-
-        if (attr->value[0] != '/')
-         snprintf(iccfile, sizeof(iccfile), "%s/profiles/%s", DataDir,
-                  attr->value);
-        else
-         strlcpy(iccfile, attr->value, sizeof(iccfile));
-
-        if (_cupsFileCheck(iccfile, _CUPS_FILE_CHECK_FILE, !RunUser,
-                          cupsdLogFCMessage, p))
-         continue;
-
-        if (profile_key[0] == 'c')
-       {
-         cupsArraySave(ppd->sorted_attrs);
-
-         if ((profileid_attr = ppdFindAttr(ppd, "cupsProfileID",
-                                           attr->spec)) != NULL &&
-             profileid_attr->value && isdigit(profileid_attr->value[0] & 255))
-           profile_id = (unsigned)strtoul(profileid_attr->value, NULL, 10);
-         else
-           profile_id = _ppdHashName(attr->spec);
-
-         cupsArrayRestore(ppd->sorted_attrs);
-        }
-       else
-         profile_id = atoi(attr->spec);
-
-#  ifdef HAVE_COLORSYNCREGISTERDEVICE
-       profile = CFDictionaryCreateMutable(kCFAllocatorDefault, 0,
-                                           &kCFTypeDictionaryKeyCallBacks,
-                                           &kCFTypeDictionaryValueCallBacks);
-       if (!profile)
-       {
-         cupsdLogMessage(CUPSD_LOG_ERROR,
-                         "Unable to allocate memory for color profile.");
-         CFRelease(profiles);
-         ppdClose(ppd);
-         return;
-       }
-
-       apple_init_profile(ppd, languages, profile, profile_id, attr->spec,
-                          attr->text[0] ? attr->text : attr->spec, iccfile);
-
-       dict_key = CFStringCreateWithFormat(kCFAllocatorDefault, NULL,
-                                           CFSTR("%u"), profile_id);
-       if (dict_key)
-       {
-         CFDictionarySetValue(profiles, dict_key, profile);
-         CFRelease(dict_key);
-       }
-
-       CFRelease(profile);
-
-#  else
-        apple_init_profile(ppd, languages, profile, profile_id, attr->spec,
-                          attr->text[0] ? attr->text : attr->spec, iccfile);
-
-       profile ++;
-#  endif /* HAVE_COLORSYNCREGISTERDEVICE */
-
-       /*
-        * See if this is the default profile...
-       */
-
-        if (!default_profile_id && q1_choice && q2_choice && q3_choice)
-       {
-         snprintf(selector, sizeof(selector), "%s.%s.%s", q1_choice, q2_choice,
-                  q3_choice);
-         if (!strcmp(selector, attr->spec))
-           default_profile_id = profile_id;
-       }
-
-        if (!default_profile_id && q1_choice && q2_choice)
-       {
-         snprintf(selector, sizeof(selector), "%s.%s.", q1_choice, q2_choice);
-         if (!strcmp(selector, attr->spec))
-           default_profile_id = profile_id;
-       }
-
-        if (!default_profile_id && q1_choice && q3_choice)
-       {
-         snprintf(selector, sizeof(selector), "%s..%s", q1_choice, q3_choice);
-         if (!strcmp(selector, attr->spec))
-           default_profile_id = profile_id;
-       }
-
-        if (!default_profile_id && q1_choice)
-       {
-         snprintf(selector, sizeof(selector), "%s..", q1_choice);
-         if (!strcmp(selector, attr->spec))
-           default_profile_id = profile_id;
-       }
-
-        if (!default_profile_id && q2_choice && q3_choice)
-       {
-         snprintf(selector, sizeof(selector), ".%s.%s", q2_choice, q3_choice);
-         if (!strcmp(selector, attr->spec))
-           default_profile_id = profile_id;
-       }
-
-        if (!default_profile_id && q2_choice)
-       {
-         snprintf(selector, sizeof(selector), ".%s.", q2_choice);
-         if (!strcmp(selector, attr->spec))
-           default_profile_id = profile_id;
-       }
-
-        if (!default_profile_id && q3_choice)
-       {
-         snprintf(selector, sizeof(selector), "..%s", q3_choice);
-         if (!strcmp(selector, attr->spec))
-           default_profile_id = profile_id;
-       }
-      }
-
-    _ppdFreeLanguages(languages);
-  }
-  else if ((cm_option = ppdFindOption(ppd, "ColorModel")) != NULL)
-  {
-   /*
-    * Extract profiles from ColorModel option...
-    */
-
-    const char *profile_name;          /* Name of generic profile */
-
-
-    num_profiles = cm_option->num_choices;
-
-#  ifndef HAVE_COLORSYNCREGISTERDEVICE
-   /*
-    * Create an array for the factory profiles...
-    */
-
-    if ((profiles = calloc(num_profiles, sizeof(CMDeviceProfileArray))) == NULL)
-    {
-      cupsdLogMessage(CUPSD_LOG_ERROR,
-                      "Unable to allocate memory for factory profiles.");
-      ppdClose(ppd);
-      return;
-    }
-
-    profiles->profileCount = num_profiles;
-    profile = profiles->profiles;
-#  endif /* HAVE_COLORSYNCREGISTERDEVICE */
-
-    for (i = cm_option->num_choices, cm_choice = cm_option->choices;
-         i > 0;
-        i --, cm_choice ++)
-    {
-      if (!strcmp(cm_choice->choice, "Gray") ||
-          !strcmp(cm_choice->choice, "Black"))
-        profile_name = "Gray";
-      else if (!strcmp(cm_choice->choice, "RGB") ||
-               !strcmp(cm_choice->choice, "CMY"))
-        profile_name = "RGB";
-      else if (!strcmp(cm_choice->choice, "CMYK") ||
-               !strcmp(cm_choice->choice, "KCMY"))
-        profile_name = "CMYK";
-      else
-        profile_name = "DeviceN";
-
-      snprintf(selector, sizeof(selector), "%s..", profile_name);
-      profile_id = _ppdHashName(selector);
-
-#  ifdef HAVE_COLORSYNCREGISTERDEVICE
-      profile = CFDictionaryCreateMutable(kCFAllocatorDefault, 0,
-                                         &kCFTypeDictionaryKeyCallBacks,
-                                         &kCFTypeDictionaryValueCallBacks);
-      if (!profile)
-      {
-       cupsdLogMessage(CUPSD_LOG_ERROR,
-                       "Unable to allocate memory for color profile.");
-       CFRelease(profiles);
-       ppdClose(ppd);
-       return;
-      }
-
-      apple_init_profile(ppd, NULL, profile, profile_id, cm_choice->choice,
-                         cm_choice->text, NULL);
-
-      dict_key = CFStringCreateWithFormat(kCFAllocatorDefault, NULL,
-                                          CFSTR("%u"), profile_id);
-      if (dict_key)
-      {
-       CFDictionarySetValue(profiles, dict_key, profile);
-       CFRelease(dict_key);
-      }
-
-      CFRelease(profile);
-
-#  else
-      apple_init_profile(ppd, NULL, profile, profile_id, cm_choice->choice,
-                         cm_choice->text, NULL);
-      profile ++;
-#  endif /* HAVE_COLORSYNCREGISTERDEVICE */
-
-      if (cm_choice->marked)
-        default_profile_id = profile_id;
-    }
-  }
-  else
-  {
-   /*
-    * Use the default colorspace...
-    */
-
-    attr = ppdFindAttr(ppd, "DefaultColorSpace", NULL);
-
-    num_profiles = (attr && ppd->colorspace == PPD_CS_GRAY) ? 1 : 2;
-
-#  ifdef HAVE_COLORSYNCREGISTERDEVICE
-   /*
-    * Add the grayscale profile first.  We always have a grayscale profile.
-    */
-
-    profile = CFDictionaryCreateMutable(kCFAllocatorDefault, 0,
-                                       &kCFTypeDictionaryKeyCallBacks,
-                                       &kCFTypeDictionaryValueCallBacks);
-
-    if (!profile)
-    {
-      cupsdLogMessage(CUPSD_LOG_ERROR,
-                      "Unable to allocate memory for color profile.");
-      CFRelease(profiles);
-      ppdClose(ppd);
-      return;
-    }
-
-    profile_id = _ppdHashName("Gray..");
-    apple_init_profile(ppd, NULL, profile, profile_id, "Gray", "Gray", NULL);
-
-    dict_key = CFStringCreateWithFormat(kCFAllocatorDefault, NULL, CFSTR("%u"),
-                                        profile_id);
-    if (dict_key)
-    {
-      CFDictionarySetValue(profiles, dict_key, profile);
-      CFRelease(dict_key);
-    }
-
-    CFRelease(profile);
-
-   /*
-    * Then add the RGB/CMYK/DeviceN color profile...
-    */
-
-    profile = CFDictionaryCreateMutable(kCFAllocatorDefault, 0,
-                                       &kCFTypeDictionaryKeyCallBacks,
-                                       &kCFTypeDictionaryValueCallBacks);
-
-    if (!profile)
-    {
-      cupsdLogMessage(CUPSD_LOG_ERROR,
-                      "Unable to allocate memory for color profile.");
-      CFRelease(profiles);
-      ppdClose(ppd);
-      return;
-    }
-
-    switch (ppd->colorspace)
-    {
-      default :
-      case PPD_CS_RGB :
-      case PPD_CS_CMY :
-          profile_id = _ppdHashName("RGB..");
-          apple_init_profile(ppd, NULL, profile, profile_id, "RGB", "RGB",
-                            NULL);
-          break;
-
-      case PPD_CS_RGBK :
-      case PPD_CS_CMYK :
-          profile_id = _ppdHashName("CMYK..");
-          apple_init_profile(ppd, NULL, profile, profile_id, "CMYK", "CMYK",
-                            NULL);
-          break;
-
-      case PPD_CS_GRAY :
-          if (attr)
-            break;
-
-      case PPD_CS_N :
-          profile_id = _ppdHashName("DeviceN..");
-          apple_init_profile(ppd, NULL, profile, profile_id, "DeviceN",
-                            "DeviceN", NULL);
-          break;
-    }
-
-    if (CFDictionaryGetCount(profile) > 0)
-    {
-      dict_key = CFStringCreateWithFormat(kCFAllocatorDefault, NULL,
-                                          CFSTR("%u"), profile_id);
-      if (dict_key)
-      {
-        CFDictionarySetValue(profiles, dict_key, profile);
-        CFRelease(dict_key);
-      }
-    }
-
-    CFRelease(profile);
-
-#  else
-   /*
-    * Create an array for the factory profiles...
-    */
-
-    if ((profiles = calloc(num_profiles, sizeof(CMDeviceProfileArray))) == NULL)
-    {
-      cupsdLogMessage(CUPSD_LOG_ERROR,
-                      "Unable to allocate memory for factory profiles.");
-      ppdClose(ppd);
-      return;
-    }
-
-    profiles->profileCount = num_profiles;
-
-   /*
-    * Add the grayscale profile first.  We always have a grayscale profile.
-    */
-
-    profile_id = _ppdHashName("Gray..");
-    apple_init_profile(ppd, NULL, profiles->profiles, profile_id, "Gray",
-                       "Gray", NULL);
-
-   /*
-    * Then add the RGB/CMYK/DeviceN color profile...
-    */
-
-    switch (ppd->colorspace)
-    {
-      default :
-      case PPD_CS_RGB :
-      case PPD_CS_CMY :
-          profile_id = _ppdHashName("RGB..");
-          apple_init_profile(ppd, NULL, profiles->profiles + 1, profile_id,
-                            "RGB", "RGB", NULL);
-          break;
-      case PPD_CS_RGBK :
-      case PPD_CS_CMYK :
-          profile_id = _ppdHashName("CMYK..");
-          apple_init_profile(ppd, NULL, profiles->profiles + 1, profile_id,
-                            "CMYK", "CMYK", NULL);
-          break;
-
-      case PPD_CS_GRAY :
-          if (attr)
-           break;
-
-      case PPD_CS_N :
-          profile_id = _ppdHashName("DeviceN..");
-          apple_init_profile(ppd, NULL, profiles->profiles + 1, profile_id,
-                            "DeviceN", "DeviceN", NULL);
-          break;
-    }
-#  endif /* HAVE_COLORSYNCREGISTERDEVICE */
-  }
-
-  if (num_profiles > 0)
-  {
-   /*
-    * Make sure we have a default profile ID...
-    */
-
-    if (!default_profile_id)
-      default_profile_id = profile_id; /* Last profile */
-
-#  ifdef HAVE_COLORSYNCREGISTERDEVICE
-    dict_key = CFStringCreateWithFormat(kCFAllocatorDefault, NULL, CFSTR("%u"),
-                                        default_profile_id);
-    if (dict_key)
-    {
-      CFDictionarySetValue(profiles, kColorSyncDeviceDefaultProfileID,
-                           dict_key);
-      CFRelease(dict_key);
-    }
-#  endif /* HAVE_COLORSYNCREGISTERDEVICE */
-
-   /*
-    * Get the device ID hash and pathelogical name dictionary.
-    */
-
-    cupsdLogMessage(CUPSD_LOG_INFO, "Registering ICC color profiles for \"%s\"",
-                   p->name);
-
-    device_id    = _ppdHashName(p->name);
-    device_name  = CFDictionaryCreateMutable(kCFAllocatorDefault, 0,
-                                            &kCFTypeDictionaryKeyCallBacks,
-                                            &kCFTypeDictionaryValueCallBacks);
-    printer_name = CFStringCreateWithCString(kCFAllocatorDefault,
-                                             p->name, kCFStringEncodingUTF8);
-
-    if (device_name && printer_name)
-    {
-      CFDictionarySetValue(device_name, CFSTR("en_US"), printer_name);
-
-     /*
-      * Register the device with ColorSync...
-      */
-
-#  ifdef HAVE_COLORSYNCREGISTERDEVICE
-      CFTypeRef                deviceDictKeys[] =
-      {                                        /* Device keys */
-        kColorSyncDeviceDescriptions,
-       kColorSyncFactoryProfiles,
-       kColorSyncDeviceUserScope,
-       kColorSyncDeviceHostScope
-      };
-      CFTypeRef        deviceDictVals[] =
-      {                                        /* Device values */
-        device_name,
-       profiles,
-       kCFPreferencesAnyUser,
-       kCFPreferencesCurrentHost
-      };
-      CFDictionaryRef  deviceDict;     /* Device dictionary */
-      CFUUIDRef                deviceUUID;     /* Device UUID */
-
-      deviceDict = CFDictionaryCreate(kCFAllocatorDefault,
-                                     (const void **)deviceDictKeys,
-                                     (const void **)deviceDictVals,
-                                     sizeof(deviceDictKeys) /
-                                         sizeof(deviceDictKeys[0]),
-                                     &kCFTypeDictionaryKeyCallBacks,
-                                     &kCFTypeDictionaryValueCallBacks);
-      deviceUUID = ColorSyncCreateUUIDFromUInt32(device_id);
-
-      if (!deviceDict || !deviceUUID ||
-         !ColorSyncRegisterDevice(kColorSyncPrinterDeviceClass, deviceUUID,
-                                  deviceDict))
-       error = 1001;
-
-      if (deviceUUID)
-        CFRelease(deviceUUID);
-
-      if (deviceDict)
-        CFRelease(deviceDict);
-
-#  else
-      error = CMRegisterColorDevice(cmPrinterDeviceClass, device_id,
-                                    device_name, &scope);
-
-     /*
-      * Register the profiles...
-      */
-
-      if (error == noErr)
-       error = CMSetDeviceFactoryProfiles(cmPrinterDeviceClass, device_id,
-                                          default_profile_id, profiles);
-#  endif /* HAVE_COLORSYNCREGISTERDEVICE */
-    }
-    else
-      error = 1000;
-
-   /*
-    * Clean up...
-    */
-
-    if (error != noErr)
-      cupsdLogMessage(CUPSD_LOG_ERROR,
-                     "Unable to register ICC color profiles for \"%s\": %d",
-                     p->name, (int)error);
-
-    if (printer_name)
-      CFRelease(printer_name);
+    cupsdLogMessage(CUPSD_LOG_INFO, "Printer \"%s\" modified by \"%s\".",
+                    printer->name, get_username(con));
+  }
+  else
+  {
+    cupsdAddEvent(CUPSD_EVENT_PRINTER_ADDED,
+                  printer, NULL, "New printer \"%s\" added by \"%s\".",
+                 printer->name, get_username(con));
 
-    if (device_name)
-      CFRelease(device_name);
+    cupsdLogMessage(CUPSD_LOG_INFO, "New printer \"%s\" added by \"%s\".",
+                    printer->name, get_username(con));
   }
 
- /*
-  * Free any memory we used...
-  */
+  con->response->request.status.status_code = IPP_OK;
+}
 
-#  ifdef HAVE_COLORSYNCREGISTERDEVICE
-  CFRelease(profiles);
 
-#  else
-  if (num_profiles > 0)
-  {
-    for (profile = profiles->profiles;
-        num_profiles > 0;
-        profile ++, num_profiles --)
-      CFRelease(profile->profileName);
+/*
+ * 'add_printer_state_reasons()' - Add the "printer-state-reasons" attribute
+ *                                 based upon the printer state...
+ */
 
-    free(profiles);
-  }
-#  endif /* HAVE_COLORSYNCREGISTERDEVICE */
+static void
+add_printer_state_reasons(
+    cupsd_client_t  *con,              /* I - Client connection */
+    cupsd_printer_t *p)                        /* I - Printer info */
+{
+  cupsdLogMessage(CUPSD_LOG_DEBUG2,
+                  "add_printer_state_reasons(%p[%d], %p[%s])",
+                  con, con->http.fd, p, p->name);
 
-  ppdClose(ppd);
+  if (p->num_reasons == 0)
+    ippAddString(con->response, IPP_TAG_PRINTER, IPP_TAG_KEYWORD,
+                 "printer-state-reasons", NULL, "none");
+  else
+    ippAddStrings(con->response, IPP_TAG_PRINTER, IPP_TAG_KEYWORD,
+                  "printer-state-reasons", p->num_reasons, NULL,
+                 (const char * const *)p->reasons);
 }
 
 
 /*
- * 'apple_unregister_profiles()' - Remove color profiles for the specified
- *                                 printer.
+ * 'add_queued_job_count()' - Add the "queued-job-count" attribute for
+ *                            the specified printer or class.
  */
 
 static void
-apple_unregister_profiles(
-    cupsd_printer_t *p)                        /* I - Printer */
+add_queued_job_count(
+    cupsd_client_t  *con,              /* I - Client connection */
+    cupsd_printer_t *p)                        /* I - Printer or class */
 {
- /*
-  * Make sure ColorSync is available...
-  */
+  int          count;                  /* Number of jobs on destination */
 
-#  ifdef HAVE_COLORSYNCREGISTERDEVICE
-  if (ColorSyncUnregisterDevice != NULL)
-  {
-   /*
-    * Because we may have registered the printer profiles using a prior device
-    * ID-based UUID, remove both the old style UUID and current UUID for the
-    * printer.
-    */
 
-    CFUUIDRef deviceUUID;              /* Device UUID */
+  cupsdLogMessage(CUPSD_LOG_DEBUG2, "add_queued_job_count(%p[%d], %p[%s])",
+                  con, con->http.fd, p, p->name);
 
-    deviceUUID = ColorSyncCreateUUIDFromUInt32(_ppdHashName(p->name));
-    if (deviceUUID)
-    {
-      ColorSyncUnregisterDevice(kColorSyncPrinterDeviceClass, deviceUUID);
-      CFRelease(deviceUUID);
-    }
-  }
+  count = cupsdGetPrinterJobCount(p->name);
 
-#  else
-  if (CMUnregisterColorDevice != NULL)
-    CMUnregisterColorDevice(cmPrinterDeviceClass, _ppdHashName(p->name));
-#  endif /* HAVE_COLORSYNCREGISTERDEVICE */
+  ippAddInteger(con->response, IPP_TAG_PRINTER, IPP_TAG_INTEGER,
+                "queued-job-count", count);
 }
-#endif /* __APPLE__ */
 
 
 /*
@@ -5042,8 +4070,6 @@ close_job(cupsd_client_t  *con,           /* I - Client connection */
   ippAddInteger(con->response, IPP_TAG_JOB, IPP_TAG_ENUM, "job-state",
                 job->state_value);
 
-  add_job_state_reasons(con, job);
-
   con->response->request.status.status_code = IPP_OK;
 
  /*
@@ -5055,192 +4081,6 @@ close_job(cupsd_client_t  *con,         /* I - Client connection */
 
 
 /*
- * 'copy_attribute()' - Copy a single attribute.
- */
-
-static ipp_attribute_t *               /* O - New attribute */
-copy_attribute(
-    ipp_t           *to,               /* O - Destination request/response */
-    ipp_attribute_t *attr,             /* I - Attribute to copy */
-    int             quickcopy)         /* I - Do a quick copy? */
-{
-  int                  i;              /* Looping var */
-  ipp_attribute_t      *toattr;        /* Destination attribute */
-
-
-  cupsdLogMessage(CUPSD_LOG_DEBUG2,
-                  "copy_attribute(%p, %p[%s,%x,%x])", to, attr,
-                 attr->name ? attr->name : "(null)", attr->group_tag,
-                 attr->value_tag);
-
-  switch (attr->value_tag & ~IPP_TAG_COPY)
-  {
-    case IPP_TAG_ZERO :
-        toattr = ippAddSeparator(to);
-       break;
-
-    case IPP_TAG_INTEGER :
-    case IPP_TAG_ENUM :
-        toattr = ippAddIntegers(to, attr->group_tag, attr->value_tag,
-                               attr->name, attr->num_values, NULL);
-
-        for (i = 0; i < attr->num_values; i ++)
-         toattr->values[i].integer = attr->values[i].integer;
-        break;
-
-    case IPP_TAG_BOOLEAN :
-        toattr = ippAddBooleans(to, attr->group_tag, attr->name,
-                               attr->num_values, NULL);
-
-        for (i = 0; i < attr->num_values; i ++)
-         toattr->values[i].boolean = attr->values[i].boolean;
-        break;
-
-    case IPP_TAG_STRING :
-    case IPP_TAG_TEXT :
-    case IPP_TAG_NAME :
-    case IPP_TAG_KEYWORD :
-    case IPP_TAG_URI :
-    case IPP_TAG_URISCHEME :
-    case IPP_TAG_CHARSET :
-    case IPP_TAG_LANGUAGE :
-    case IPP_TAG_MIMETYPE :
-        toattr = ippAddStrings(to, attr->group_tag,
-                              (ipp_tag_t)(attr->value_tag | quickcopy),
-                              attr->name, attr->num_values, NULL, NULL);
-
-        if (quickcopy)
-       {
-          for (i = 0; i < attr->num_values; i ++)
-           toattr->values[i].string.text = attr->values[i].string.text;
-        }
-       else if (attr->value_tag & IPP_TAG_COPY)
-       {
-          for (i = 0; i < attr->num_values; i ++)
-           toattr->values[i].string.text =
-               _cupsStrAlloc(attr->values[i].string.text);
-       }
-       else
-       {
-          for (i = 0; i < attr->num_values; i ++)
-           toattr->values[i].string.text =
-               _cupsStrRetain(attr->values[i].string.text);
-       }
-        break;
-
-    case IPP_TAG_DATE :
-        toattr = ippAddDate(to, attr->group_tag, attr->name,
-                           attr->values[0].date);
-        break;
-
-    case IPP_TAG_RESOLUTION :
-        toattr = ippAddResolutions(to, attr->group_tag, attr->name,
-                                  attr->num_values, IPP_RES_PER_INCH,
-                                  NULL, NULL);
-
-        for (i = 0; i < attr->num_values; i ++)
-       {
-         toattr->values[i].resolution.xres  = attr->values[i].resolution.xres;
-         toattr->values[i].resolution.yres  = attr->values[i].resolution.yres;
-         toattr->values[i].resolution.units = attr->values[i].resolution.units;
-       }
-        break;
-
-    case IPP_TAG_RANGE :
-        toattr = ippAddRanges(to, attr->group_tag, attr->name,
-                             attr->num_values, NULL, NULL);
-
-        for (i = 0; i < attr->num_values; i ++)
-       {
-         toattr->values[i].range.lower = attr->values[i].range.lower;
-         toattr->values[i].range.upper = attr->values[i].range.upper;
-       }
-        break;
-
-    case IPP_TAG_TEXTLANG :
-    case IPP_TAG_NAMELANG :
-        toattr = ippAddStrings(to, attr->group_tag,
-                              (ipp_tag_t)(attr->value_tag | quickcopy),
-                              attr->name, attr->num_values, NULL, NULL);
-
-        if (quickcopy)
-       {
-          for (i = 0; i < attr->num_values; i ++)
-         {
-            toattr->values[i].string.charset = attr->values[i].string.charset;
-           toattr->values[i].string.text    = attr->values[i].string.text;
-          }
-        }
-       else if (attr->value_tag & IPP_TAG_COPY)
-       {
-          for (i = 0; i < attr->num_values; i ++)
-         {
-           if (!i)
-              toattr->values[i].string.charset =
-                 _cupsStrAlloc(attr->values[i].string.charset);
-           else
-              toattr->values[i].string.charset =
-                 toattr->values[0].string.charset;
-
-           toattr->values[i].string.text =
-               _cupsStrAlloc(attr->values[i].string.text);
-          }
-        }
-       else
-       {
-          for (i = 0; i < attr->num_values; i ++)
-         {
-           if (!i)
-              toattr->values[i].string.charset =
-                 _cupsStrRetain(attr->values[i].string.charset);
-           else
-              toattr->values[i].string.charset =
-                 toattr->values[0].string.charset;
-
-           toattr->values[i].string.text =
-               _cupsStrRetain(attr->values[i].string.text);
-          }
-        }
-        break;
-
-    case IPP_TAG_BEGIN_COLLECTION :
-        toattr = ippAddCollections(to, attr->group_tag, attr->name,
-                                  attr->num_values, NULL);
-
-        for (i = 0; i < attr->num_values; i ++)
-       {
-         toattr->values[i].collection = attr->values[i].collection;
-         attr->values[i].collection->use ++;
-       }
-        break;
-
-    default :
-        toattr = ippAddIntegers(to, attr->group_tag, attr->value_tag,
-                               attr->name, attr->num_values, NULL);
-
-        for (i = 0; i < attr->num_values; i ++)
-       {
-         toattr->values[i].unknown.length = attr->values[i].unknown.length;
-
-         if (toattr->values[i].unknown.length > 0)
-         {
-           if ((toattr->values[i].unknown.data =
-                    malloc(toattr->values[i].unknown.length)) == NULL)
-             toattr->values[i].unknown.length = 0;
-           else
-             memcpy(toattr->values[i].unknown.data,
-                    attr->values[i].unknown.data,
-                    toattr->values[i].unknown.length);
-         }
-       }
-        break; /* anti-compiler-warning-code */
-  }
-
-  return (toattr);
-}
-
-
-/*
  * 'copy_attrs()' - Copy attributes from one request to another.
  */
 
@@ -5307,7 +4147,7 @@ copy_attrs(ipp_t        *to,              /* I - Destination request */
           !strcmp(fromattr->name, "media-col-database")))
        continue;
 
-      copy_attribute(to, fromattr, quickcopy);
+      ippCopyAttribute(to, fromattr, quickcopy);
     }
   }
 }
@@ -5528,7 +4368,7 @@ copy_banner(cupsd_client_t *con,  /* I - Client connection */
              cupsFilePrintf(out, "%dx%d%s", attr->values[i].resolution.xres,
                      attr->values[i].resolution.yres,
                      attr->values[i].resolution.units == IPP_RES_PER_INCH ?
-                         "dpi" : "dpc");
+                         "dpi" : "dpcm");
              break;
 
          case IPP_TAG_URI :
@@ -5791,11 +4631,22 @@ copy_model(cupsd_client_t *con,         /* I - Client connection */
   }
 
  /*
+  * Open the source file for a copy...
+  */
+
+  if ((src = cupsFileOpen(tempfile, "rb")) == NULL)
+  {
+    unlink(tempfile);
+    return (-1);
+  }
+
+ /*
   * Read the source file and see what page sizes are supported...
   */
 
-  if ((ppd = ppdOpenFile(tempfile)) == NULL)
+  if ((ppd = _ppdOpen(src, _PPD_LOCALIZATION_NONE)) == NULL)
   {
+    cupsFileClose(src);
     unlink(tempfile);
     return (-1);
   }
@@ -5863,17 +4714,6 @@ copy_model(cupsd_client_t *con,          /* I - Client connection */
   ppdClose(ppd);
 
  /*
-  * Open the source file for a copy...
-  */
-
-  if ((src = cupsFileOpen(tempfile, "rb")) == NULL)
-  {
-    cupsFreeOptions(num_defaults, defaults);
-    unlink(tempfile);
-    return (-1);
-  }
-
- /*
   * Open the destination file for a copy...
   */
 
@@ -5889,6 +4729,8 @@ copy_model(cupsd_client_t *con,           /* I - Client connection */
   * Copy the source file to the destination...
   */
 
+  cupsFileRewind(src);
+
   while (cupsFileGets(src, buffer, sizeof(buffer)))
   {
     if (!strncmp(buffer, "*Default", 8))
@@ -5953,10 +4795,10 @@ copy_job_attrs(cupsd_client_t *con,     /* I - Client connection */
 
   if (!cupsArrayFind(exclude, "all"))
   {
-    if ((!exclude || !cupsArrayFind(exclude, "document-count")) &&
-        (!ra || cupsArrayFind(ra, "document-count")))
+    if ((!exclude || !cupsArrayFind(exclude, "number-of-documents")) &&
+        (!ra || cupsArrayFind(ra, "number-of-documents")))
       ippAddInteger(con->response, IPP_TAG_JOB, IPP_TAG_INTEGER,
-                   "document-count", job->num_files);
+                   "number-of-documents", job->num_files);
 
     if ((!exclude || !cupsArrayFind(exclude, "job-media-progress")) &&
         (!ra || cupsArrayFind(ra, "job-media-progress")))
@@ -5989,16 +4831,13 @@ copy_job_attrs(cupsd_client_t *con,     /* I - Client connection */
   {
     httpAssembleURIf(HTTP_URI_CODING_ALL, job_uri, sizeof(job_uri), "ipp", NULL,
                     con->servername, con->serverport,
-                    job->dtype & (CUPS_PRINTER_IMPLICIT | CUPS_PRINTER_CLASS) ?
-                        "/classes/%s" : "/printers/%s",
+                    (job->dtype & CUPS_PRINTER_CLASS) ? "/classes/%s" :
+                                                        "/printers/%s",
                     job->dest);
     ippAddString(con->response, IPP_TAG_JOB, IPP_TAG_URI,
                 "job-printer-uri", NULL, job_uri);
   }
 
-  if (!ra || cupsArrayFind(ra, "job-state-reasons"))
-    add_job_state_reasons(con, job);
-
   if (!ra || cupsArrayFind(ra, "job-uri"))
   {
     httpAssembleURIf(HTTP_URI_CODING_ALL, job_uri, sizeof(job_uri), "ipp", NULL,
@@ -6089,7 +4928,7 @@ copy_printer_attrs(
     ippAddDate(con->response, IPP_TAG_PRINTER, "printer-current-time",
                ippTimeToDate(curtime));
 
-#ifdef HAVE_DNSSD
+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
   if (!ra || cupsArrayFind(ra, "printer-dns-sd-name"))
   {
     if (printer->reg_name)
@@ -6099,7 +4938,7 @@ copy_printer_attrs(
       ippAddInteger(con->response, IPP_TAG_PRINTER, IPP_TAG_NOVALUE,
                    "printer-dns-sd-name", 0);
   }
-#endif /* HAVE_DNSSD */
+#endif /* HAVE_DNSSD || HAVE_AVAHI */
 
   if (!ra || cupsArrayFind(ra, "printer-error-policy"))
     ippAddString(con->response, IPP_TAG_PRINTER, IPP_TAG_NAME,
@@ -6115,7 +4954,7 @@ copy_printer_attrs(
                    "stop-printer"
                  };
 
-    if (printer->type & (CUPS_PRINTER_IMPLICIT | CUPS_PRINTER_CLASS))
+    if (printer->type & CUPS_PRINTER_CLASS)
       ippAddString(con->response, IPP_TAG_PRINTER, IPP_TAG_NAME | IPP_TAG_COPY,
                    "printer-error-policy-supported", NULL, "retry-current-job");
     else
@@ -6142,8 +4981,7 @@ copy_printer_attrs(
     ippAddBoolean(con->response, IPP_TAG_PRINTER, "printer-is-shared",
                   printer->shared);
 
-  if ((!ra || cupsArrayFind(ra, "printer-more-info")) &&
-      !(printer->type & CUPS_PRINTER_DISCOVERED))
+  if (!ra || cupsArrayFind(ra, "printer-more-info"))
   {
     httpAssembleURIf(HTTP_URI_CODING_ALL, printer_uri, sizeof(printer_uri),
                      "http", NULL, con->servername, con->serverport,
@@ -6199,8 +5037,7 @@ copy_printer_attrs(
     ippAddInteger(con->response, IPP_TAG_PRINTER, IPP_TAG_INTEGER,
                   "printer-up-time", curtime);
 
-  if ((!ra || cupsArrayFind(ra, "printer-uri-supported")) &&
-      !(printer->type & CUPS_PRINTER_DISCOVERED))
+  if (!ra || cupsArrayFind(ra, "printer-uri-supported"))
   {
     httpAssembleURIf(HTTP_URI_CODING_ALL, printer_uri, sizeof(printer_uri),
                      "ipp", NULL, con->servername, con->serverport,
@@ -6350,8 +5187,16 @@ static void
 create_job(cupsd_client_t  *con,       /* I - Client connection */
           ipp_attribute_t *uri)        /* I - Printer URI */
 {
+  int                  i;              /* Looping var */
   cupsd_printer_t      *printer;       /* Printer */
   cupsd_job_t          *job;           /* New job */
+  static const char * const forbidden_attrs[] =
+  {                                    /* List of forbidden attributes */
+    "compression",
+    "document-format",
+    "document-name",
+    "document-natural-language"
+  };
 
 
   cupsdLogMessage(CUPSD_LOG_DEBUG2, "create_job(%p[%d], %s)", con,
@@ -6373,6 +5218,29 @@ create_job(cupsd_client_t  *con, /* I - Client connection */
   }
 
  /*
+  * Check for invalid Create-Job attributes and log a warning or error depending
+  * on whether cupsd is running in "strict conformance" mode...
+  */
+
+  for (i = 0;
+       i < (int)(sizeof(forbidden_attrs) / sizeof(forbidden_attrs[0]));
+       i ++)
+    if (ippFindAttribute(con->request, forbidden_attrs[i], IPP_TAG_ZERO))
+    {
+      if (StrictConformance)
+      {
+       send_ipp_status(con, IPP_BAD_REQUEST,
+                       _("The '%s' operation attribute cannot be supplied in a "
+                         "Create-Job request."), forbidden_attrs[i]);
+       return;
+      }
+
+      cupsdLogMessage(CUPSD_LOG_WARN,
+                      "Unexpected '%s' operation attribute in a Create-Job "
+                      "request.", forbidden_attrs[i]);
+    }
+
+ /*
   * Create the job object...
   */
 
@@ -6432,6 +5300,7 @@ create_requested_array(ipp_t *request)    /* I - IPP request */
 
     if (!strcmp(value, "job-template"))
     {
+      /* Only includes the set of Job Template attributes supported by CUPS */
       cupsArrayAdd(ra, "copies");
       cupsArrayAdd(ra, "copies-default");
       cupsArrayAdd(ra, "copies-supported");
@@ -6448,6 +5317,8 @@ create_requested_array(ipp_t *request)    /* I - IPP request */
       cupsArrayAdd(ra, "job-sheets-default");
       cupsArrayAdd(ra, "job-sheets-supported");
       cupsArrayAdd(ra, "media");
+      cupsArrayAdd(ra, "media-col");
+      cupsArrayAdd(ra, "media-col-default");
       cupsArrayAdd(ra, "media-default");
       cupsArrayAdd(ra, "media-supported");
       cupsArrayAdd(ra, "multiple-document-handling");
@@ -6455,24 +5326,49 @@ create_requested_array(ipp_t *request)  /* I - IPP request */
       cupsArrayAdd(ra, "multiple-document-handling-supported");
       cupsArrayAdd(ra, "number-up");
       cupsArrayAdd(ra, "number-up-default");
+      cupsArrayAdd(ra, "number-up-layout");
+      cupsArrayAdd(ra, "number-up-layout-default");
+      cupsArrayAdd(ra, "number-up-layout-supported");
       cupsArrayAdd(ra, "number-up-supported");
       cupsArrayAdd(ra, "orientation-requested");
       cupsArrayAdd(ra, "orientation-requested-default");
       cupsArrayAdd(ra, "orientation-requested-supported");
+      cupsArrayAdd(ra, "output-bin");
+      cupsArrayAdd(ra, "output-bin-default");
+      cupsArrayAdd(ra, "output-bin-supported");
+      cupsArrayAdd(ra, "page-delivery");
+      cupsArrayAdd(ra, "page-delivery-default");
+      cupsArrayAdd(ra, "page-delivery-supported");
+      cupsArrayAdd(ra, "page-order-received");
+      cupsArrayAdd(ra, "page-order-received-default");
+      cupsArrayAdd(ra, "page-order-received-supported");
       cupsArrayAdd(ra, "page-ranges");
       cupsArrayAdd(ra, "page-ranges-supported");
-      cupsArrayAdd(ra, "printer-resolution");
-      cupsArrayAdd(ra, "printer-resolution-default");
-      cupsArrayAdd(ra, "printer-resolution-supported");
+      cupsArrayAdd(ra, "presentation-direction-number-up");
+      cupsArrayAdd(ra, "presentation-direction-number-up-default");
+      cupsArrayAdd(ra, "presentation-direction-number-up-supported");
+      cupsArrayAdd(ra, "print-color-mode");
+      cupsArrayAdd(ra, "print-color-mode-default");
+      cupsArrayAdd(ra, "print-color-mode-supported");
+      cupsArrayAdd(ra, "print-content-optimize");
+      cupsArrayAdd(ra, "print-content-optimize-default");
+      cupsArrayAdd(ra, "print-content-optimize-supported");
       cupsArrayAdd(ra, "print-quality");
       cupsArrayAdd(ra, "print-quality-default");
       cupsArrayAdd(ra, "print-quality-supported");
+      cupsArrayAdd(ra, "printer-resolution");
+      cupsArrayAdd(ra, "printer-resolution-default");
+      cupsArrayAdd(ra, "printer-resolution-supported");
+      cupsArrayAdd(ra, "sheet-collate");
+      cupsArrayAdd(ra, "sheet-collate-default");
+      cupsArrayAdd(ra, "sheet-collate-supported");
       cupsArrayAdd(ra, "sides");
       cupsArrayAdd(ra, "sides-default");
       cupsArrayAdd(ra, "sides-supported");
     }
     else if (!strcmp(value, "job-description"))
     {
+      /* Only includes the set of Job Description attributes supported by CUPS */
       cupsArrayAdd(ra, "date-time-at-completed");
       cupsArrayAdd(ra, "date-time-at-creation");
       cupsArrayAdd(ra, "date-time-at-processing");
@@ -6483,6 +5379,7 @@ create_requested_array(ipp_t *request)    /* I - IPP request */
       cupsArrayAdd(ra, "job-impressions-completed");
       cupsArrayAdd(ra, "job-k-octets");
       cupsArrayAdd(ra, "job-k-octets-processed");
+      cupsArrayAdd(ra, "job-mandatory-attributes");
       cupsArrayAdd(ra, "job-media-progress");
       cupsArrayAdd(ra, "job-media-sheets");
       cupsArrayAdd(ra, "job-media-sheets-completed");
@@ -6505,6 +5402,7 @@ create_requested_array(ipp_t *request)    /* I - IPP request */
     }
     else if (!strcmp(value, "printer-description"))
     {
+      /* Only includes the set of Printer Description attributes supported by CUPS */
       cupsArrayAdd(ra, "charset-configured");
       cupsArrayAdd(ra, "charset-supported");
       cupsArrayAdd(ra, "color-supported");
@@ -6513,43 +5411,54 @@ create_requested_array(ipp_t *request)  /* I - IPP request */
       cupsArrayAdd(ra, "document-format-supported");
       cupsArrayAdd(ra, "generated-natural-language-supported");
       cupsArrayAdd(ra, "ipp-versions-supported");
+      cupsArrayAdd(ra, "job-creation-attributes-supported");
+      cupsArrayAdd(ra, "job-ids-supported");
       cupsArrayAdd(ra, "job-impressions-supported");
       cupsArrayAdd(ra, "job-k-octets-supported");
       cupsArrayAdd(ra, "job-media-sheets-supported");
       cupsArrayAdd(ra, "job-settable-attributes-supported");
+      cupsArrayAdd(ra, "jpeg-k-octets-supported");
+      cupsArrayAdd(ra, "jpeg-x-dimension-supported");
+      cupsArrayAdd(ra, "jpeg-y-dimension-supported");
+      cupsArrayAdd(ra, "media-bottom-margin-supported");
+      cupsArrayAdd(ra, "media-col-supported");
+      cupsArrayAdd(ra, "media-key-supported");
+      cupsArrayAdd(ra, "media-left-margin-supported");
+      cupsArrayAdd(ra, "media-right-margin-supported");
+      cupsArrayAdd(ra, "media-size-supported");
+      cupsArrayAdd(ra, "media-source-supported");
+      cupsArrayAdd(ra, "media-top-margin-supported");
+      cupsArrayAdd(ra, "media-type-supported");
       cupsArrayAdd(ra, "multiple-document-jobs-supported");
       cupsArrayAdd(ra, "multiple-operation-time-out");
       cupsArrayAdd(ra, "natural-language-configured");
-      cupsArrayAdd(ra, "notify-attributes-supported");
-      cupsArrayAdd(ra, "notify-lease-duration-default");
-      cupsArrayAdd(ra, "notify-lease-duration-supported");
       cupsArrayAdd(ra, "notify-max-events-supported");
-      cupsArrayAdd(ra, "notify-events-default");
-      cupsArrayAdd(ra, "notify-events-supported");
-      cupsArrayAdd(ra, "notify-pull-method-supported");
       cupsArrayAdd(ra, "notify-schemes-supported");
       cupsArrayAdd(ra, "operations-supported");
       cupsArrayAdd(ra, "pages-per-minute");
       cupsArrayAdd(ra, "pages-per-minute-color");
+      cupsArrayAdd(ra, "pdf-k-octets-supported");
       cupsArrayAdd(ra, "pdl-override-supported");
       cupsArrayAdd(ra, "printer-alert");
       cupsArrayAdd(ra, "printer-alert-description");
       cupsArrayAdd(ra, "printer-commands");
       cupsArrayAdd(ra, "printer-current-time");
-      cupsArrayAdd(ra, "printer-driver-installer");
       cupsArrayAdd(ra, "printer-dns-sd-name");
       cupsArrayAdd(ra, "printer-info");
       cupsArrayAdd(ra, "printer-is-accepting-jobs");
+      cupsArrayAdd(ra, "printer-is-shared");
       cupsArrayAdd(ra, "printer-location");
       cupsArrayAdd(ra, "printer-make-and-model");
       cupsArrayAdd(ra, "printer-message-from-operator");
       cupsArrayAdd(ra, "printer-more-info");
       cupsArrayAdd(ra, "printer-more-info-manufacturer");
       cupsArrayAdd(ra, "printer-name");
+      cupsArrayAdd(ra, "printer-settable-attributes-supported");
       cupsArrayAdd(ra, "printer-state");
+      cupsArrayAdd(ra, "printer-state-change-date-time");
+      cupsArrayAdd(ra, "printer-state-change-time");
       cupsArrayAdd(ra, "printer-state-message");
       cupsArrayAdd(ra, "printer-state-reasons");
-      cupsArrayAdd(ra, "printer-settable-attributes-supported");
       cupsArrayAdd(ra, "printer-type");
       cupsArrayAdd(ra, "printer-up-time");
       cupsArrayAdd(ra, "printer-uri-supported");
@@ -6557,6 +5466,7 @@ create_requested_array(ipp_t *request)    /* I - IPP request */
       cupsArrayAdd(ra, "reference-uri-schemes-supported");
       cupsArrayAdd(ra, "uri-authentication-supported");
       cupsArrayAdd(ra, "uri-security-supported");
+      cupsArrayAdd(ra, "which-jobs-supported");
     }
     else if (!strcmp(value, "printer-defaults"))
     {
@@ -6568,14 +5478,32 @@ create_requested_array(ipp_t *request)  /* I - IPP request */
           name = (char *)cupsArrayNext(CommonDefaults))
         cupsArrayAdd(ra, name);
     }
+    else if (!strcmp(value, "subscription-description"))
+    {
+      /* Only includes the set of Subscription Description attributes supported by CUPS */
+      cupsArrayAdd(ra, "notify-job-id");
+      cupsArrayAdd(ra, "notify-lease-expiration-time");
+      cupsArrayAdd(ra, "notify-printer-up-time");
+      cupsArrayAdd(ra, "notify-printer-uri");
+      cupsArrayAdd(ra, "notify-sequence-number");
+      cupsArrayAdd(ra, "notify-subscriber-user-name");
+      cupsArrayAdd(ra, "notify-subscription-id");
+    }
     else if (!strcmp(value, "subscription-template"))
     {
+      /* Only includes the set of Subscription Template attributes supported by CUPS */
       cupsArrayAdd(ra, "notify-attributes");
+      cupsArrayAdd(ra, "notify-attributes-supported");
       cupsArrayAdd(ra, "notify-charset");
       cupsArrayAdd(ra, "notify-events");
+      cupsArrayAdd(ra, "notify-events-default");
+      cupsArrayAdd(ra, "notify-events-supported");
       cupsArrayAdd(ra, "notify-lease-duration");
+      cupsArrayAdd(ra, "notify-lease-duration-default");
+      cupsArrayAdd(ra, "notify-lease-duration-supported");
       cupsArrayAdd(ra, "notify-natural-language");
       cupsArrayAdd(ra, "notify-pull-method");
+      cupsArrayAdd(ra, "notify-pull-method-supported");
       cupsArrayAdd(ra, "notify-recipient-uri");
       cupsArrayAdd(ra, "notify-time-interval");
       cupsArrayAdd(ra, "notify-user-data");
@@ -7034,13 +5962,11 @@ delete_printer(cupsd_client_t  *con,    /* I - Client connection */
   snprintf(filename, sizeof(filename), "%s/%s.data", CacheDir, printer->name);
   unlink(filename);
 
-#ifdef __APPLE__
  /*
   * Unregister color profiles...
   */
 
-  apple_unregister_profiles(printer);
-#endif /* __APPLE__ */
+  cupsdUnregisterColor(printer);
 
   if (dtype & CUPS_PRINTER_CLASS)
   {
@@ -8062,11 +6988,10 @@ get_ppd(cupsd_client_t  *con,           /* I - Client connection */
                    "printer-uri", NULL, dest->uri);
       return;
     }
-    else if (dtype & (CUPS_PRINTER_CLASS | CUPS_PRINTER_IMPLICIT))
+    else if (dtype & CUPS_PRINTER_CLASS)
     {
       for (i = 0; i < dest->num_printers; i ++)
-        if (!(dest->printers[i]->type &
-             (CUPS_PRINTER_CLASS | CUPS_PRINTER_IMPLICIT)))
+        if (!(dest->printers[i]->type & CUPS_PRINTER_CLASS))
        {
          snprintf(filename, sizeof(filename), "%s/ppd/%s.ppd", ServerRoot,
                   dest->printers[i]->name);
@@ -8514,15 +7439,6 @@ get_printers(cupsd_client_t *con,        /* I - Client connection */
         (printer->location && !_cups_strcasecmp(printer->location, location))))
     {
      /*
-      * If HideImplicitMembers is enabled, see if this printer or class
-      * is a member of an implicit class...
-      */
-
-      if (ImplicitClasses && HideImplicitMembers &&
-          printer->in_implicit_class)
-        continue;
-
-     /*
       * If a username is specified, see if it is allowed or denied
       * access...
       */
@@ -9416,7 +8332,7 @@ print_job(cupsd_client_t  *con,           /* I - Client connection */
     * Grab format from client...
     */
 
-    if (sscanf(format->values[0].string.text, "%15[^/]/%31[^;]", super,
+    if (sscanf(format->values[0].string.text, "%15[^/]/%255[^;]", super,
                type) != 2)
     {
       send_ipp_status(con, IPP_BAD_REQUEST,
@@ -9433,7 +8349,7 @@ print_job(cupsd_client_t  *con,           /* I - Client connection */
     * Use default document format...
     */
 
-    if (sscanf(default_format, "%15[^/]/%31[^;]", super, type) != 2)
+    if (sscanf(default_format, "%15[^/]/%255[^;]", super, type) != 2)
     {
       send_ipp_status(con, IPP_BAD_REQUEST,
                       _("Bad document-format \"%s\"."),
@@ -9747,14 +8663,14 @@ read_job_ticket(cupsd_client_t *con)    /* I - Client connection */
       if (con->request->last == attr2)
         con->request->last = prev2;
 
-      _ippFreeAttr(attr2);
+      ippDeleteAttribute(NULL, attr2);
     }
 
    /*
     * Add new option by copying it...
     */
 
-    copy_attribute(con->request, attr, 0);
+    ippCopyAttribute(con->request, attr, 0);
   }
 
  /*
@@ -10035,6 +8951,7 @@ release_job(cupsd_client_t  *con,        /* I - Client connection */
 
     cupsdAddEvent(CUPSD_EVENT_JOB_CONFIG_CHANGED, cupsdFindDest(job->dest), job,
                   "Job job-hold-until value changed by user.");
+    ippSetString(job->attrs, &job->reasons, 0, "none");
   }
 
  /*
@@ -10362,7 +9279,7 @@ save_auth_info(
   fchown(cupsFileNumber(fp), 0, 0);
   fchmod(cupsFileNumber(fp), 0400);
 
-  cupsFilePuts(fp, "CUPSD-AUTH-V2\n");
+  cupsFilePuts(fp, "CUPSD-AUTH-V3\n");
 
   for (i = 0;
        i < (int)(sizeof(job->auth_env) / sizeof(job->auth_env[0]));
@@ -10380,9 +9297,15 @@ save_auth_info(
             i < (int)(sizeof(job->auth_env) / sizeof(job->auth_env[0]));
         i ++)
     {
-      httpEncode64_2(line, sizeof(line), auth_info->values[i].string.text,
-                     strlen(auth_info->values[i].string.text));
-      cupsFilePutConf(fp, dest->auth_info_required[i], line);
+      if (strcmp(dest->auth_info_required[i], "negotiate"))
+      {
+       httpEncode64_2(line, sizeof(line), auth_info->values[i].string.text,
+                      strlen(auth_info->values[i].string.text));
+       cupsFilePutConf(fp, dest->auth_info_required[i], line);
+      }
+      else
+       cupsFilePutConf(fp, dest->auth_info_required[i],
+                       auth_info->values[i].string.text);
 
       if (!strcmp(dest->auth_info_required[i], "username"))
         cupsdSetStringf(job->auth_env + i, "AUTH_USERNAME=%s",
@@ -10646,7 +9569,7 @@ send_document(cupsd_client_t  *con,      /* I - Client connection */
     * Grab format from client...
     */
 
-    if (sscanf(format->values[0].string.text, "%15[^/]/%31[^;]",
+    if (sscanf(format->values[0].string.text, "%15[^/]/%255[^;]",
                super, type) != 2)
     {
       send_ipp_status(con, IPP_BAD_REQUEST, _("Bad document-format \"%s\"."),
@@ -10662,7 +9585,7 @@ send_document(cupsd_client_t  *con,      /* I - Client connection */
     * Use default document format...
     */
 
-    if (sscanf(default_format, "%15[^/]/%31[^;]", super, type) != 2)
+    if (sscanf(default_format, "%15[^/]/%255[^;]", super, type) != 2)
     {
       send_ipp_status(con, IPP_BAD_REQUEST,
                       _("Bad document-format-default \"%s\"."), default_format);
@@ -10804,6 +9727,8 @@ send_document(cupsd_client_t  *con,      /* I - Client connection */
     {
       job->state->values[0].integer = IPP_JOB_PENDING;
       job->state_value              = IPP_JOB_PENDING;
+
+      ippSetString(job->attrs, &job->reasons, 0, "none");
     }
     else if (job->state_value == IPP_JOB_HELD)
     {
@@ -10815,7 +9740,11 @@ send_document(cupsd_client_t  *con,     /* I - Client connection */
       {
        job->state->values[0].integer = IPP_JOB_PENDING;
        job->state_value              = IPP_JOB_PENDING;
+
+       ippSetString(job->attrs, &job->reasons, 0, "none");
       }
+      else
+       ippSetString(job->attrs, &job->reasons, 0, "job-hold-until-specified");
     }
 
     job->dirty = 1;
@@ -10834,8 +9763,10 @@ send_document(cupsd_client_t  *con,     /* I - Client connection */
       job->state->values[0].integer = IPP_JOB_HELD;
       job->state_value              = IPP_JOB_HELD;
       job->hold_until               = time(NULL) + MultipleOperationTimeout;
-      job->dirty                    = 1;
 
+      ippSetString(job->attrs, &job->reasons, 0, "job-incoming");
+
+      job->dirty = 1;
       cupsdMarkDirty(CUPSD_DIRTY_JOBS);
     }
 
@@ -10855,7 +9786,8 @@ send_document(cupsd_client_t  *con,      /* I - Client connection */
 
   ippAddInteger(con->response, IPP_TAG_JOB, IPP_TAG_ENUM, "job-state",
                 job->state_value);
-  add_job_state_reasons(con, job);
+  ippAddString(con->response, IPP_TAG_JOB, IPP_TAG_KEYWORD, "job-state-reasons",
+               NULL, job->reasons->values[0].string.text);
 
   con->response->request.status.status_code = IPP_OK;
 
@@ -10940,7 +9872,7 @@ send_http_error(
       if (auth)
       {
         if (auth->type == CUPSD_AUTH_DEFAULT)
-         auth_type = DefaultAuthType;
+         auth_type = cupsdDefaultAuthType();
        else
          auth_type = auth->type;
       }
@@ -11055,7 +9987,7 @@ set_default(cupsd_client_t  *con,        /* I - Client connection */
                "%s is now the default printer.", printer->name);
 
   cupsdMarkDirty(CUPSD_DIRTY_PRINTERS | CUPSD_DIRTY_CLASSES |
-                 CUPSD_DIRTY_REMOTE | CUPSD_DIRTY_PRINTCAP);
+                 CUPSD_DIRTY_PRINTCAP);
 
   cupsdLogMessage(CUPSD_LOG_INFO,
                   "Default destination set to \"%s\" by \"%s\".",
@@ -11233,9 +10165,8 @@ set_job_attrs(cupsd_client_t  *con,     /* I - Client connection */
       send_ipp_status(con, IPP_ATTRIBUTES_NOT_SETTABLE,
                       _("%s cannot be changed."), attr->name);
 
-      if ((attr2 = copy_attribute(con->response, attr, 0)) != NULL)
-        attr2->group_tag = IPP_TAG_UNSUPPORTED_GROUP;
-
+      attr2 = ippCopyAttribute(con->response, attr, 0);
+      ippSetGroupTag(con->response, &attr2, IPP_TAG_UNSUPPORTED_GROUP);
       continue;
     }
 
@@ -11249,8 +10180,8 @@ set_job_attrs(cupsd_client_t  *con,     /* I - Client connection */
       {
        send_ipp_status(con, IPP_REQUEST_VALUE, _("Bad job-priority value."));
 
-       if ((attr2 = copy_attribute(con->response, attr, 0)) != NULL)
-          attr2->group_tag = IPP_TAG_UNSUPPORTED_GROUP;
+       attr2 = ippCopyAttribute(con->response, attr, 0);
+       ippSetGroupTag(con->response, &attr2, IPP_TAG_UNSUPPORTED_GROUP);
       }
       else if (job->state_value >= IPP_JOB_PROCESSING)
       {
@@ -11279,8 +10210,8 @@ set_job_attrs(cupsd_client_t  *con,     /* I - Client connection */
       {
        send_ipp_status(con, IPP_REQUEST_VALUE, _("Bad job-state value."));
 
-       if ((attr2 = copy_attribute(con->response, attr, 0)) != NULL)
-          attr2->group_tag = IPP_TAG_UNSUPPORTED_GROUP;
+       attr2 = ippCopyAttribute(con->response, attr, 0);
+       ippSetGroupTag(con->response, &attr2, IPP_TAG_UNSUPPORTED_GROUP);
       }
       else
       {
@@ -11354,13 +10285,13 @@ set_job_attrs(cupsd_client_t  *con,   /* I - Client connection */
       if (job->attrs->last == attr2)
         job->attrs->last = job->attrs->prev;
 
-      _ippFreeAttr(attr2);
+      ippDeleteAttribute(NULL, attr2);
 
      /*
       * Then copy the attribute...
       */
 
-      copy_attribute(job->attrs, attr, 0);
+      ippCopyAttribute(job->attrs, attr, 0);
 
      /*
       * See if the job-name or job-hold-until is being changed.
@@ -11401,7 +10332,7 @@ set_job_attrs(cupsd_client_t  *con,     /* I - Client connection */
         if (attr2 == job->attrs->last)
          job->attrs->last = job->attrs->prev;
 
-        _ippFreeAttr(attr2);
+        ippDeleteAttribute(NULL, attr2);
 
         event |= CUPSD_EVENT_JOB_CONFIG_CHANGED;
       }
@@ -11412,7 +10343,7 @@ set_job_attrs(cupsd_client_t  *con,     /* I - Client connection */
       * Add new option by copying it...
       */
 
-      copy_attribute(job->attrs, attr, 0);
+      ippCopyAttribute(job->attrs, attr, 0);
 
       event |= CUPSD_EVENT_JOB_CONFIG_CHANGED;
     }
@@ -11677,7 +10608,7 @@ set_printer_defaults(
         continue;
 
       if (strcmp(attr->values[0].string.text, "retry-current-job") &&
-          ((printer->type & (CUPS_PRINTER_IMPLICIT | CUPS_PRINTER_CLASS)) ||
+          ((printer->type & CUPS_PRINTER_CLASS) ||
           (strcmp(attr->values[0].string.text, "abort-job") &&
            strcmp(attr->values[0].string.text, "retry-job") &&
            strcmp(attr->values[0].string.text, "stop-printer"))))
@@ -11767,7 +10698,7 @@ set_printer_defaults(
           sprintf(value, "%dx%d%s", attr->values[0].resolution.xres,
                  attr->values[0].resolution.yres,
                  attr->values[0].resolution.units == IPP_RES_PER_INCH ?
-                     "dpi" : "dpc");
+                     "dpi" : "dpcm");
           printer->num_options = cupsAddOption(name, value,
                                               printer->num_options,
                                               &(printer->options));
@@ -12110,7 +11041,8 @@ validate_job(cupsd_client_t  *con,      /* I - Client connection */
   http_status_t                status;         /* Policy status */
   ipp_attribute_t      *attr,          /* Current attribute */
                        *auth_info;     /* auth-info attribute */
-  ipp_attribute_t      *format;        /* Document-format attribute */
+  ipp_attribute_t      *format,        /* Document-format attribute */
+                       *name;          /* Job-name attribute */
   cups_ptype_t         dtype;          /* Destination type (printer/class) */
   char                 super[MIME_MAX_SUPER],
                                        /* Supertype of file */
@@ -12137,7 +11069,7 @@ validate_job(cupsd_client_t  *con,      /* I - Client connection */
       )
     {
       send_ipp_status(con, IPP_ATTRIBUTES,
-                      _("Unsupported compression \"%s\"."),
+                      _("Unsupported 'compression' value \"%s\"."),
                      attr->values[0].string.text);
       ippAddString(con->response, IPP_TAG_UNSUPPORTED_GROUP, IPP_TAG_KEYWORD,
                   "compression", NULL, attr->values[0].string.text);
@@ -12152,10 +11084,11 @@ validate_job(cupsd_client_t  *con,    /* I - Client connection */
   if ((format = ippFindAttribute(con->request, "document-format",
                                  IPP_TAG_MIMETYPE)) != NULL)
   {
-    if (sscanf(format->values[0].string.text, "%15[^/]/%31[^;]",
+    if (sscanf(format->values[0].string.text, "%15[^/]/%255[^;]",
                super, type) != 2)
     {
-      send_ipp_status(con, IPP_BAD_REQUEST, _("Bad document-format \"%s\"."),
+      send_ipp_status(con, IPP_BAD_REQUEST,
+                      _("Bad 'document-format' value \"%s\"."),
                      format->values[0].string.text);
       return;
     }
@@ -12166,7 +11099,7 @@ validate_job(cupsd_client_t  *con,      /* I - Client connection */
       cupsdLogMessage(CUPSD_LOG_INFO,
                       "Hint: Do you have the raw file printing rules enabled?");
       send_ipp_status(con, IPP_DOCUMENT_FORMAT,
-                      _("Unsupported document-format \"%s\"."),
+                      _("Unsupported 'document-format' value \"%s\"."),
                      format->values[0].string.text);
       ippAddString(con->response, IPP_TAG_UNSUPPORTED_GROUP, IPP_TAG_MIMETYPE,
                    "document-format", NULL, format->values[0].string.text);
@@ -12175,6 +11108,86 @@ validate_job(cupsd_client_t  *con,     /* I - Client connection */
   }
 
  /*
+  * Is the job-name valid?
+  */
+
+  if ((name = ippFindAttribute(con->request, "job-name", IPP_TAG_ZERO)) != NULL)
+  {
+    int bad_name = 0;                  /* Is the job-name value bad? */
+
+    if ((name->value_tag != IPP_TAG_NAME && name->value_tag != IPP_TAG_NAMELANG) ||
+        name->num_values != 1)
+    {
+      bad_name = 1;
+    }
+    else
+    {
+     /*
+      * Validate that job-name conforms to RFC 5198 (Network Unicode) and
+      * IPP Everywhere requirements for "name" values...
+      */
+
+      const unsigned char *nameptr;    /* Pointer into "job-name" attribute */
+
+      for (nameptr = (unsigned char *)name->values[0].string.text;
+           *nameptr;
+           nameptr ++)
+      {
+        if (*nameptr < ' ' && *nameptr != '\t')
+          break;
+        else if (*nameptr == 0x7f)
+          break;
+        else if ((*nameptr & 0xe0) == 0xc0)
+        {
+          if ((nameptr[1] & 0xc0) != 0x80)
+            break;
+
+          nameptr ++;
+        }
+        else if ((*nameptr & 0xf0) == 0xe0)
+        {
+          if ((nameptr[1] & 0xc0) != 0x80 ||
+              (nameptr[2] & 0xc0) != 0x80)
+           break;
+
+         nameptr += 2;
+       }
+        else if ((*nameptr & 0xf8) == 0xf0)
+        {
+          if ((nameptr[1] & 0xc0) != 0x80 ||
+             (nameptr[2] & 0xc0) != 0x80 ||
+             (nameptr[3] & 0xc0) != 0x80)
+           break;
+
+         nameptr += 3;
+       }
+        else if (*nameptr & 0x80)
+          break;
+      }
+
+      if (*nameptr)
+        bad_name = 1;
+    }
+
+    if (bad_name)
+    {
+      if (StrictConformance)
+      {
+       send_ipp_status(con, IPP_ATTRIBUTES,
+                       _("Unsupported 'job-name' value."));
+       ippCopyAttribute(con->response, name, 0);
+       return;
+      }
+      else
+      {
+        cupsdLogMessage(CUPSD_LOG_WARN,
+                        "Unsupported 'job-name' value, deleting from request.");
+        ippDeleteAttribute(con->request, name);
+      }
+    }
+  }
+
+ /*
   * Is the destination valid?
   */
 
@@ -12299,5 +11312,5 @@ validate_user(cupsd_job_t    *job,      /* I - Job */
 
 
 /*
- * End of "$Id: ipp.c 10274 2012-02-13 20:42:51Z mike $".
+ * End of "$Id: ipp.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 92e1955..d8f56b5 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: job.c 10420 2012-04-20 03:01:06Z mike $"
+ * "$Id: job.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Job management routines for the CUPS scheduler.
  *
  *
  * Contents:
  *
- *   cupsdAddJob()              - Add a new job to the job queue.
- *   cupsdCancelJobs()          - Cancel all jobs for the given
- *                                destination/user.
- *   cupsdCheckJobs()           - Check the pending jobs and start any if the
- *                                destination is available.
- *   cupsdCleanJobs()           - Clean out old jobs.
- *   cupsdContinueJob()         - Continue printing with the next file in a job.
- *   cupsdDeleteJob()           - Free all memory used by a job.
- *   cupsdFreeAllJobs()         - Free all jobs from memory.
- *   cupsdFindJob()             - Find the specified job.
- *   cupsdGetPrinterJobCount()  - Get the number of pending, processing, or held
- *                                jobs in a printer or class.
- *   cupsdGetUserJobCount()     - Get the number of pending, processing, or held
- *                                jobs for a user.
- *   cupsdLoadAllJobs()         - Load all jobs from disk.
- *   cupsdLoadJob()             - Load a single job.
- *   cupsdMoveJob()             - Move the specified job to a different
- *                                destination.
- *   cupsdReleaseJob()          - Release the specified job.
- *   cupsdRestartJob()          - Restart the specified job.
- *   cupsdSaveAllJobs()         - Save a summary of all jobs to disk.
- *   cupsdSaveJob()             - Save a job to disk.
- *   cupsdSetJobHoldUntil()     - Set the hold time for a job.
- *   cupsdSetJobPriority()      - Set the priority of a job, moving it up/down
- *                                in the list as needed.
- *   cupsdSetJobState()         - Set the state of the specified print job.
- *   cupsdStopAllJobs()         - Stop all print jobs.
+ *   cupsdAddJob()             - Add a new job to the job queue.
+ *   cupsdCancelJobs()         - Cancel all jobs for the given
+ *                               destination/user.
+ *   cupsdCheckJobs()          - Check the pending jobs and start any if the
+ *                               destination is available.
+ *   cupsdCleanJobs()          - Clean out old jobs.
+ *   cupsdContinueJob()        - Continue printing with the next file in a
+ *                               job.
+ *   cupsdDeleteJob()          - Free all memory used by a job.
+ *   cupsdFreeAllJobs()        - Free all jobs from memory.
+ *   cupsdFindJob()            - Find the specified job.
+ *   cupsdGetPrinterJobCount() - Get the number of pending, processing, or
+ *                               held jobs in a printer or class.
+ *   cupsdGetUserJobCount()    - Get the number of pending, processing, or
+ *                               held jobs for a user.
+ *   cupsdLoadAllJobs()        - Load all jobs from disk.
+ *   cupsdLoadJob()            - Load a single job.
+ *   cupsdMoveJob()            - Move the specified job to a different
+ *                               destination.
+ *   cupsdReleaseJob()         - Release the specified job.
+ *   cupsdRestartJob()         - Restart the specified job.
+ *   cupsdSaveAllJobs()        - Save a summary of all jobs to disk.
+ *   cupsdSaveJob()            - Save a job to disk.
+ *   cupsdSetJobHoldUntil()    - Set the hold time for a job.
+ *   cupsdSetJobPriority()     - Set the priority of a job, moving it up/down
+ *                               in the list as needed.
+ *   cupsdSetJobState()        - Set the state of the specified print job.
+ *   cupsdStopAllJobs()        - Stop all print jobs.
  *   cupsdUnloadCompletedJobs() - Flush completed job history from memory.
- *   compare_active_jobs()      - Compare the job IDs and priorities of two
- *                                jobs.
- *   compare_jobs()             - Compare the job IDs of two jobs.
- *   dump_job_history()         - Dump any debug messages for a job.
- *   free_job_history()         - Free any log history.
- *   finalize_job()             - Cleanup after job filter processes and support
- *                                data.
- *   get_options()              - Get a string containing the job options.
- *   ipp_length()               - Compute the size of the buffer needed to hold
- *                                the textual IPP attributes.
- *   load_job_cache()           - Load jobs from the job.cache file.
- *   load_next_job_id()         - Load the NextJobId value from the job.cache
- *                                file.
- *   load_request_root()        - Load jobs from the RequestRoot directory.
- *   set_time()                 - Set one of the "time-at-xyz" attributes.
- *   start_job()                - Start a print job.
- *   stop_job()                 - Stop a print job.
- *   unload_job()               - Unload a job from memory.
- *   update_job()               - Read a status update from a job's filters.
- *   update_job_attrs()         - Update the job-printer-* attributes.
+ *   cupsdUpdateJobs()          - Update the history/file files for all jobs.
+ *   compare_active_jobs()     - Compare the job IDs and priorities of two
+ *                               jobs.
+ *   compare_jobs()            - Compare the job IDs of two jobs.
+ *   dump_job_history()        - Dump any debug messages for a job.
+ *   free_job_history()        - Free any log history.
+ *   finalize_job()            - Cleanup after job filter processes and
+ *                               support data.
+ *   get_options()             - Get a string containing the job options.
+ *   ipp_length()              - Compute the size of the buffer needed to hold
+ *                               the textual IPP attributes.
+ *   load_job_cache()          - Load jobs from the job.cache file.
+ *   load_next_job_id()        - Load the NextJobId value from the job.cache
+ *                               file.
+ *   load_request_root()       - Load jobs from the RequestRoot directory.
+ *   remove_job_files()        - Remove the document files for a job.
+ *   remove_job_history()      - Remove the control file for a job.
+ *   set_time()                - Set one of the "time-at-xyz" attributes.
+ *   start_job()               - Start a print job.
+ *   stop_job()                - Stop a print job.
+ *   unload_job()              - Unload a job from memory.
+ *   update_job()              - Read a status update from a job's filters.
+ *   update_job_attrs()        - Update the job-printer-* attributes.
  */
 
 /*
@@ -181,6 +185,8 @@ static size_t       ipp_length(ipp_t *ipp);
 static void    load_job_cache(const char *filename);
 static void    load_next_job_id(const char *filename);
 static void    load_request_root(void);
+static void    remove_job_files(cupsd_job_t *job);
+static void    remove_job_history(cupsd_job_t *job);
 static void    set_time(cupsd_job_t *job, const char *name);
 static void    start_job(cupsd_job_t *job, cupsd_printer_t *printer);
 static void    stop_job(cupsd_job_t *job, cupsd_jobaction_t action);
@@ -281,23 +287,32 @@ cupsdCheckJobs(void)
   time_t               curtime;        /* Current time */
 
 
-  cupsdLogMessage(CUPSD_LOG_DEBUG2,
-                  "cupsdCheckJobs: %d active jobs, sleeping=%d, reload=%d",
-                  cupsArrayCount(ActiveJobs), Sleeping, NeedReload);
-
   curtime = time(NULL);
 
+  cupsdLogMessage(CUPSD_LOG_DEBUG2,
+                  "cupsdCheckJobs: %d active jobs, sleeping=%d, reload=%d, "
+                  "curtime=%ld", cupsArrayCount(ActiveJobs), Sleeping,
+                  NeedReload, (long)curtime);
+
   for (job = (cupsd_job_t *)cupsArrayFirst(ActiveJobs);
        job;
        job = (cupsd_job_t *)cupsArrayNext(ActiveJobs))
   {
+    cupsdLogMessage(CUPSD_LOG_DEBUG2,
+                    "cupsdCheckJobs: Job %d - dest=\"%s\", printer=%p, "
+                    "state=%d, cancel_time=%ld, hold_until=%ld, kill_time=%ld, "
+                    "pending_cost=%d, pending_timeout=%ld", job->id, job->dest,
+                    job->printer, job->state_value, (long)job->cancel_time,
+                    (long)job->hold_until, (long)job->kill_time,
+                    job->pending_cost, (long)job->pending_timeout);
+
    /*
     * Kill jobs if they are unresponsive...
     */
 
     if (job->kill_time && job->kill_time <= curtime)
     {
-      cupsdLogMessage(CUPSD_LOG_ERROR, "[Job %d] Stopping unresponsive job!",
+      cupsdLogMessage(CUPSD_LOG_ERROR, "[Job %d] Stopping unresponsive job.",
                      job->id);
 
       stop_job(job, CUPSD_JOB_FORCE);
@@ -305,6 +320,17 @@ cupsdCheckJobs(void)
     }
 
    /*
+    * Cancel stuck jobs...
+    */
+
+    if (job->cancel_time && job->cancel_time <= curtime)
+    {
+      cupsdSetJobState(job, IPP_JOB_CANCELED, CUPSD_JOB_DEFAULT,
+                       "Canceling stuck job after %d seconds.", MaxJobTime);
+      continue;
+    }
+
+   /*
     * Start held jobs if they are ready...
     */
 
@@ -322,7 +348,6 @@ cupsdCheckJobs(void)
 
         cupsd_client_t *con;           /* Current client connection */
 
-
        for (con = (cupsd_client_t *)cupsArrayFirst(Clients);
             con;
             con = (cupsd_client_t *)cupsArrayNext(Clients))
@@ -362,8 +387,7 @@ cupsdCheckJobs(void)
       printer = cupsdFindDest(job->dest);
       pclass  = NULL;
 
-      while (printer &&
-             (printer->type & (CUPS_PRINTER_IMPLICIT | CUPS_PRINTER_CLASS)))
+      while (printer && (printer->type & CUPS_PRINTER_CLASS))
       {
        /*
         * If the class is remote, just pass it to the remote server...
@@ -415,10 +439,7 @@ cupsdCheckJobs(void)
           cupsdMarkDirty(CUPSD_DIRTY_JOBS);
        }
 
-        if ((!(printer->type & CUPS_PRINTER_DISCOVERED) && /* Printer is local */
-            printer->state == IPP_PRINTER_IDLE) ||     /* and idle, OR */
-           ((printer->type & CUPS_PRINTER_DISCOVERED) && /* Printer is remote */
-            !printer->job))                            /* and not printing */
+        if (!printer->job && printer->state == IPP_PRINTER_IDLE)
         {
         /*
          * Start the job...
@@ -440,16 +461,56 @@ void
 cupsdCleanJobs(void)
 {
   cupsd_job_t  *job;                   /* Current job */
+  time_t       curtime;                /* Current time */
 
 
-  if (MaxJobs <= 0 && JobHistory)
+  cupsdLogMessage(CUPSD_LOG_DEBUG2,
+                  "cupsdCleanJobs: MaxJobs=%d, JobHistory=%d, JobFiles=%d",
+                  MaxJobs, JobHistory, JobFiles);
+
+  if (MaxJobs <= 0 && JobHistory == INT_MAX && JobFiles == INT_MAX)
     return;
 
+  curtime          = time(NULL);
+  JobHistoryUpdate = 0;
+
   for (job = (cupsd_job_t *)cupsArrayFirst(Jobs);
-       job && (cupsArrayCount(Jobs) >= MaxJobs || !JobHistory);
+       job;
        job = (cupsd_job_t *)cupsArrayNext(Jobs))
+  {
     if (job->state_value >= IPP_JOB_CANCELED && !job->printer)
-      cupsdDeleteJob(job, CUPSD_JOB_PURGE);
+    {
+     /*
+      * Expire old jobs (or job files)...
+      */
+
+      if ((MaxJobs > 0 && cupsArrayCount(Jobs) >= MaxJobs) ||
+          (job->history_time && job->history_time <= curtime))
+      {
+        cupsdLogJob(job, CUPSD_LOG_DEBUG, "Removing from history.");
+       cupsdDeleteJob(job, CUPSD_JOB_PURGE);
+      }
+      else if (job->file_time && job->file_time <= curtime)
+      {
+        cupsdLogJob(job, CUPSD_LOG_DEBUG, "Removing document files.");
+        remove_job_files(job);
+
+        if (job->history_time < JobHistoryUpdate || !JobHistoryUpdate)
+         JobHistoryUpdate = job->history_time;
+      }
+      else
+      {
+        if (job->history_time < JobHistoryUpdate || !JobHistoryUpdate)
+         JobHistoryUpdate = job->history_time;
+
+       if (job->file_time < JobHistoryUpdate || !JobHistoryUpdate)
+         JobHistoryUpdate = job->file_time;
+      }
+    }
+  }
+
+  cupsdLogMessage(CUPSD_LOG_DEBUG2, "cupsdCleanJobs: JobHistoryUpdate=%ld",
+                  (long)JobHistoryUpdate);
 }
 
 
@@ -499,7 +560,7 @@ cupsdContinueJob(cupsd_job_t *job)  /* I - Job */
                                        /* CONTENT_TYPE env variable */
                        device_uri[1024],
                                        /* DEVICE_URI env variable */
-                       final_content_type[1024],
+                       final_content_type[1024] = "",
                                        /* FINAL_CONTENT_TYPE env variable */
                        lang[255],      /* LANG env variable */
 #ifdef __APPLE__
@@ -565,16 +626,55 @@ cupsdContinueJob(cupsd_job_t *job)        /* I - Job */
     if (!filters)
     {
       cupsdLogJob(job, CUPSD_LOG_ERROR,
-                 "Unable to convert file %d to printable format!",
+                 "Unable to convert file %d to printable format.",
                  job->current_file);
 
       abort_message = "Aborting job because it cannot be printed.";
       abort_state   = IPP_JOB_ABORTED;
 
+      ippSetString(job->attrs, &job->reasons, 0, "document-unprintable-error");
       goto abort_job;
     }
 
    /*
+    * Figure out the final content type...
+    */
+
+    cupsdLogJob(job, CUPSD_LOG_DEBUG, "%d filters for job:",
+                cupsArrayCount(filters));
+    for (filter = (mime_filter_t *)cupsArrayFirst(filters);
+         filter;
+         filter = (mime_filter_t *)cupsArrayNext(filters))
+      cupsdLogJob(job, CUPSD_LOG_DEBUG, "%s (%s/%s to %s/%s, cost %d)",
+                 filter->filter,
+                 filter->src ? filter->src->super : "???",
+                 filter->src ? filter->src->type : "???",
+                 filter->dst ? filter->dst->super : "???",
+                 filter->dst ? filter->dst->type : "???",
+                 filter->cost);
+
+    if (!job->printer->remote)
+    {
+      for (filter = (mime_filter_t *)cupsArrayLast(filters);
+           filter && filter->dst;
+           filter = (mime_filter_t *)cupsArrayPrev(filters))
+        if (strcmp(filter->dst->super, "printer") ||
+            strcmp(filter->dst->type, job->printer->name))
+          break;
+
+      if (filter && filter->dst)
+      {
+       if ((ptr = strchr(filter->dst->type, '/')) != NULL)
+         snprintf(final_content_type, sizeof(final_content_type),
+                  "FINAL_CONTENT_TYPE=%s", ptr + 1);
+       else
+         snprintf(final_content_type, sizeof(final_content_type),
+                  "FINAL_CONTENT_TYPE=%s/%s", filter->dst->super,
+                  filter->dst->type);
+      }
+    }
+
+   /*
     * Remove NULL ("-") filters...
     */
 
@@ -719,12 +819,14 @@ cupsdContinueJob(cupsd_job_t *job)        /* I - Job */
   if (cupsArrayCount(filters) > MAX_FILTERS)
   {
     cupsdLogJob(job, CUPSD_LOG_DEBUG,
-               "Too many filters (%d > %d), unable to print!",
+               "Too many filters (%d > %d), unable to print.",
                cupsArrayCount(filters), MAX_FILTERS);
 
     abort_message = "Aborting job because it needs too many filters to print.";
     abort_state   = IPP_JOB_ABORTED;
 
+    ippSetString(job->attrs, &job->reasons, 0, "document-unprintable-error");
+
     goto abort_job;
   }
 
@@ -738,7 +840,7 @@ cupsdContinueJob(cupsd_job_t *job)  /* I - Job */
     if ((job->job_sheets =
          ippFindAttribute(job->attrs, "job-sheets", IPP_TAG_ZERO)) != NULL)
       cupsdLogJob(job, CUPSD_LOG_DEBUG,
-                 "... but someone added one without setting job_sheets!");
+                 "... but someone added one without setting job_sheets.");
   }
   else if (job->job_sheets->num_values == 1)
     cupsdLogJob(job, CUPSD_LOG_DEBUG, "job-sheets=%s",
@@ -748,7 +850,7 @@ cupsdContinueJob(cupsd_job_t *job)  /* I - Job */
                 job->job_sheets->values[0].string.text,
                 job->job_sheets->values[1].string.text);
 
-  if (job->printer->type & (CUPS_PRINTER_REMOTE | CUPS_PRINTER_IMPLICIT))
+  if (job->printer->type & CUPS_PRINTER_REMOTE)
     banner_page = 0;
   else if (job->job_sheets == NULL)
     banner_page = 0;
@@ -969,25 +1071,8 @@ cupsdContinueJob(cupsd_job_t *job)        /* I - Job */
   envp[envc ++] = banner_page ? "CUPS_FILETYPE=job-sheet" :
                                 "CUPS_FILETYPE=document";
 
-  if (!job->printer->remote && !job->printer->raw)
-  {
-    filter = (mime_filter_t *)cupsArrayLast(filters);
-
-    if (job->printer->port_monitor)
-      filter = (mime_filter_t *)cupsArrayPrev(filters);
-
-    if (filter && filter->dst)
-    {
-      if ((ptr = strchr(filter->dst->type, '/')) != NULL)
-       snprintf(final_content_type, sizeof(final_content_type),
-                "FINAL_CONTENT_TYPE=%s", ptr + 1);
-      else
-       snprintf(final_content_type, sizeof(final_content_type),
-                "FINAL_CONTENT_TYPE=%s/%s", filter->dst->super,
-                filter->dst->type);
-      envp[envc ++] = final_content_type;
-    }
-  }
+  if (final_content_type[0])
+    envp[envc ++] = final_content_type;
 
   if (Classification && !banner_page)
   {
@@ -1006,7 +1091,7 @@ cupsdContinueJob(cupsd_job_t *job)        /* I - Job */
     envp[envc ++] = classification;
   }
 
-  if (job->dtype & (CUPS_PRINTER_CLASS | CUPS_PRINTER_IMPLICIT))
+  if (job->dtype & CUPS_PRINTER_CLASS)
   {
     snprintf(class_name, sizeof(class_name), "CLASS=%s", job->dest);
     envp[envc ++] = class_name;
@@ -1317,25 +1402,13 @@ cupsdDeleteJob(cupsd_job_t       *job,  /* I - Job */
                cupsd_jobaction_t action)/* I - Action */
 {
   int  i;                              /* Looping var */
-  char filename[1024];                 /* Job filename */
 
 
   if (job->printer)
     finalize_job(job, 1);
 
   if (action == CUPSD_JOB_PURGE)
-  {
-   /*
-    * Remove the job info file...
-    */
-
-    snprintf(filename, sizeof(filename), "%s/c%05d", RequestRoot,
-            job->id);
-    if (Classification)
-      cupsdRemoveFile(filename);
-    else
-      unlink(filename);
-  }
+    remove_job_history(job);
 
   cupsdClearString(&job->username);
   cupsdClearString(&job->dest);
@@ -1345,27 +1418,14 @@ cupsdDeleteJob(cupsd_job_t       *job,  /* I - Job */
     cupsdClearString(job->auth_env + i);
   cupsdClearString(&job->auth_uid);
 
-  if (job->num_files > 0)
+  if (action == CUPSD_JOB_PURGE)
+    remove_job_files(job);
+  else if (job->num_files > 0)
   {
     free(job->compressions);
     free(job->filetypes);
 
-    if (action == CUPSD_JOB_PURGE)
-    {
-      while (job->num_files > 0)
-      {
-       snprintf(filename, sizeof(filename), "%s/d%05d-%03d", RequestRoot,
-                job->id, job->num_files);
-       if (Classification)
-         cupsdRemoveFile(filename);
-       else
-         unlink(filename);
-
-       job->num_files --;
-      }
-    }
-    else
-      job->num_files = 0;
+    job->num_files = 0;
   }
 
   if (job->history)
@@ -1572,7 +1632,7 @@ cupsdLoadJob(cupsd_job_t *job)            /* I - Job */
 
   if ((job->attrs = ippNew()) == NULL)
   {
-    cupsdLogJob(job, CUPSD_LOG_ERROR, "Ran out of memory for job attributes!");
+    cupsdLogJob(job, CUPSD_LOG_ERROR, "Ran out of memory for job attributes.");
     return (0);
   }
 
@@ -1583,22 +1643,8 @@ cupsdLoadJob(cupsd_job_t *job)           /* I - Job */
   cupsdLogMessage(CUPSD_LOG_DEBUG, "[Job %d] Loading attributes...", job->id);
 
   snprintf(jobfile, sizeof(jobfile), "%s/c%05d", RequestRoot, job->id);
-  if ((fp = cupsFileOpen(jobfile, "r")) == NULL)
-  {
-    char newfile[1024];                        /* New job filename */
-
-    snprintf(newfile, sizeof(newfile), "%s/c%05d.N", RequestRoot, job->id);
-    if ((fp = cupsFileOpen(newfile, "r")) == NULL)
-    {
-      cupsdLogMessage(CUPSD_LOG_ERROR,
-                     "[Job %d] Unable to open job control file \"%s\": %s",
-                     job->id, jobfile, strerror(errno));
-      goto error;
-    }
-
-    unlink(jobfile);
-    rename(newfile, jobfile);
-  }
+  if ((fp = cupsdOpenConfFile(jobfile)) == NULL)
+    goto error;
 
   if (ippReadIO(fp, (ipp_iocb_t)cupsFileRead, 1, NULL, job->attrs) != IPP_DATA)
   {
@@ -1619,7 +1665,7 @@ cupsdLoadJob(cupsd_job_t *job)            /* I - Job */
   {
     cupsdLogMessage(CUPSD_LOG_ERROR,
                    "[Job %d] Missing or bad time-at-creation attribute in "
-                   "control file!", job->id);
+                   "control file.", job->id);
     goto error;
   }
 
@@ -1628,11 +1674,40 @@ cupsdLoadJob(cupsd_job_t *job)          /* I - Job */
   {
     cupsdLogMessage(CUPSD_LOG_ERROR,
                    "[Job %d] Missing or bad job-state attribute in control "
-                   "file!", job->id);
+                   "file.", job->id);
     goto error;
   }
 
-  job->state_value = (ipp_jstate_t)job->state->values[0].integer;
+  job->state_value  = (ipp_jstate_t)job->state->values[0].integer;
+  job->file_time    = 0;
+  job->history_time = 0;
+
+  if (job->state_value >= IPP_JOB_CANCELED &&
+      (attr = ippFindAttribute(job->attrs, "time-at-completed",
+                              IPP_TAG_INTEGER)) != NULL)
+  {
+    if (JobHistory < INT_MAX)
+      job->history_time = attr->values[0].integer + JobHistory;
+    else
+      job->history_time = INT_MAX;
+
+    if (job->history_time < time(NULL))
+      goto error;                      /* Expired, remove from history */
+
+    if (job->history_time < JobHistoryUpdate || !JobHistoryUpdate)
+      JobHistoryUpdate = job->history_time;
+
+    if (JobFiles < INT_MAX)
+      job->file_time = attr->values[0].integer + JobFiles;
+    else
+      job->file_time = INT_MAX;
+
+    if (job->file_time < JobHistoryUpdate || !JobHistoryUpdate)
+      JobHistoryUpdate = job->file_time;
+
+    cupsdLogMessage(CUPSD_LOG_DEBUG2, "cupsdLoadJob: JobHistoryUpdate=%ld",
+                   (long)JobHistoryUpdate);
+  }
 
   if (!job->dest)
   {
@@ -1640,7 +1715,7 @@ cupsdLoadJob(cupsd_job_t *job)            /* I - Job */
                                  IPP_TAG_URI)) == NULL)
     {
       cupsdLogMessage(CUPSD_LOG_ERROR,
-                     "[Job %d] No job-printer-uri attribute in control file!",
+                     "[Job %d] No job-printer-uri attribute in control file.",
                      job->id);
       goto error;
     }
@@ -1649,7 +1724,7 @@ cupsdLoadJob(cupsd_job_t *job)            /* I - Job */
                                   &destptr)) == NULL)
     {
       cupsdLogMessage(CUPSD_LOG_ERROR,
-                     "[Job %d] Unable to queue job for destination \"%s\"!",
+                     "[Job %d] Unable to queue job for destination \"%s\".",
                      job->id, attr->values[0].string.text);
       goto error;
     }
@@ -1659,11 +1734,74 @@ cupsdLoadJob(cupsd_job_t *job)          /* I - Job */
   else if ((destptr = cupsdFindDest(job->dest)) == NULL)
   {
     cupsdLogMessage(CUPSD_LOG_ERROR,
-                   "[Job %d] Unable to queue job for destination \"%s\"!",
+                   "[Job %d] Unable to queue job for destination \"%s\".",
                    job->id, job->dest);
     goto error;
   }
 
+  if ((job->reasons = ippFindAttribute(job->attrs, "job-state-reasons",
+                                       IPP_TAG_KEYWORD)) == NULL)
+  {
+    const char *reason;                /* job-state-reason keyword */
+
+    cupsdLogMessage(CUPSD_LOG_DEBUG,
+                   "[Job %d] Adding missing job-state-reasons attribute to "
+                   " control file.", job->id);
+
+    switch (job->state_value)
+    {
+      default :
+      case IPP_JOB_PENDING :
+          if (destptr->state == IPP_PRINTER_STOPPED)
+            reason = "printer-stopped";
+          else
+            reason = "none";
+          break;
+
+      case IPP_JOB_HELD :
+          if ((attr = ippFindAttribute(job->attrs, "job-hold-until",
+                                       IPP_TAG_ZERO)) != NULL &&
+              (attr->value_tag == IPP_TAG_NAME ||
+              attr->value_tag == IPP_TAG_NAMELANG ||
+              attr->value_tag == IPP_TAG_KEYWORD) &&
+             strcmp(attr->values[0].string.text, "no-hold"))
+           reason = "job-hold-until-specified";
+         else
+           reason = "job-incoming";
+          break;
+
+      case IPP_JOB_PROCESSING :
+          reason = "job-printing";
+          break;
+
+      case IPP_JOB_STOPPED :
+          reason = "job-stopped";
+          break;
+
+      case IPP_JOB_CANCELED :
+          reason = "job-canceled-by-user";
+          break;
+
+      case IPP_JOB_ABORTED :
+          reason = "aborted-by-system";
+          break;
+
+      case IPP_JOB_COMPLETED :
+          reason = "job-completed-successfully";
+          break;
+    }
+
+    job->reasons = ippAddString(job->attrs, IPP_TAG_JOB, IPP_TAG_KEYWORD,
+                                "job-state-reasons", NULL, reason);
+  }
+  else if (job->state_value == IPP_JOB_PENDING)
+  {
+    if (destptr->state == IPP_PRINTER_STOPPED)
+      ippSetString(job->attrs, &job->reasons, 0, "printer-stopped");
+    else
+      ippSetString(job->attrs, &job->reasons, 0, "none");
+  }
+
   job->sheets     = ippFindAttribute(job->attrs, "job-media-sheets-completed",
                                      IPP_TAG_INTEGER);
   job->job_sheets = ippFindAttribute(job->attrs, "job-sheets", IPP_TAG_NAME);
@@ -1675,7 +1813,7 @@ cupsdLoadJob(cupsd_job_t *job)            /* I - Job */
     {
       cupsdLogMessage(CUPSD_LOG_ERROR,
                      "[Job %d] Missing or bad job-priority attribute in "
-                     "control file!", job->id);
+                     "control file.", job->id);
       goto error;
     }
 
@@ -1689,7 +1827,7 @@ cupsdLoadJob(cupsd_job_t *job)            /* I - Job */
     {
       cupsdLogMessage(CUPSD_LOG_ERROR,
                      "[Job %d] Missing or bad job-originating-user-name "
-                     "attribute in control file!", job->id);
+                     "attribute in control file.", job->id);
       goto error;
     }
 
@@ -1757,7 +1895,7 @@ cupsdLoadJob(cupsd_job_t *job)            /* I - Job */
         if (!compressions || !filetypes)
        {
           cupsdLogMessage(CUPSD_LOG_ERROR,
-                         "[Job %d] Ran out of memory for job file types!",
+                         "[Job %d] Ran out of memory for job file types.",
                          job->id);
 
          ippDelete(job->attrs);
@@ -1823,7 +1961,7 @@ cupsdLoadJob(cupsd_job_t *job)            /* I - Job */
 
 
       if (cupsFileGets(fp, line, sizeof(line)) &&
-          !strcmp(line, "CUPSD-AUTH-V2"))
+          !strcmp(line, "CUPSD-AUTH-V3"))
       {
         i = 0;
         while (cupsFileGetConf(fp, line, sizeof(line), &value, &linenum))
@@ -1832,8 +1970,11 @@ cupsdLoadJob(cupsd_job_t *job)           /* I - Job */
           * Decode value...
           */
 
-         bytes = sizeof(data);
-         httpDecode64_2(data, &bytes, value);
+          if (strcmp(line, "negotiate") && strcmp(line, "uid"))
+          {
+           bytes = sizeof(data);
+           httpDecode64_2(data, &bytes, value);
+         }
 
          /*
           * Assign environment variables...
@@ -1846,7 +1987,7 @@ cupsdLoadJob(cupsd_job_t *job)            /* I - Job */
           }
           else if (i >= (int)(sizeof(job->auth_env) / sizeof(job->auth_env[0])))
             break;
-          
+
          if (!strcmp(line, "username"))
            cupsdSetStringf(job->auth_env + i, "AUTH_USERNAME=%s", data);
          else if (!strcmp(line, "domain"))
@@ -1854,7 +1995,7 @@ cupsdLoadJob(cupsd_job_t *job)            /* I - Job */
          else if (!strcmp(line, "password"))
            cupsdSetStringf(job->auth_env + i, "AUTH_PASSWORD=%s", data);
          else if (!strcmp(line, "negotiate"))
-           cupsdSetStringf(job->auth_env + i, "AUTH_NEGOTIATE=%s", data);
+           cupsdSetStringf(job->auth_env + i, "AUTH_NEGOTIATE=%s", value);
          else
            continue;
 
@@ -1878,24 +2019,8 @@ cupsdLoadJob(cupsd_job_t *job)           /* I - Job */
   ippDelete(job->attrs);
   job->attrs = NULL;
 
-  if (job->compressions)
-  {
-    free(job->compressions);
-    job->compressions = NULL;
-  }
-
-  if (job->filetypes)
-  {
-    free(job->filetypes);
-    job->filetypes = NULL;
-  }
-
-  job->num_files = 0;
-
-  if (Classification)
-    cupsdRemoveFile(jobfile);
-  else
-    unlink(jobfile);
+  remove_job_history(job);
+  remove_job_files(job);
 
   return (0);
 }
@@ -1945,8 +2070,7 @@ cupsdMoveJob(cupsd_job_t     *job,        /* I - Job */
                p->name);
 
   cupsdSetString(&job->dest, p->name);
-  job->dtype = p->type & (CUPS_PRINTER_CLASS | CUPS_PRINTER_REMOTE |
-                          CUPS_PRINTER_IMPLICIT);
+  job->dtype = p->type & (CUPS_PRINTER_CLASS | CUPS_PRINTER_REMOTE);
 
   if ((attr = ippFindAttribute(job->attrs, "job-printer-uri",
                                IPP_TAG_URI)) != NULL)
@@ -2069,8 +2193,7 @@ cupsdSaveAllJobs(void)
 void
 cupsdSaveJob(cupsd_job_t *job)         /* I - Job */
 {
-  char         filename[1024],         /* Job control filename */
-               newfile[1024];          /* New job control filename */
+  char         filename[1024];         /* Job control filename */
   cups_file_t  *fp;                    /* Job file */
 
 
@@ -2078,17 +2201,10 @@ cupsdSaveJob(cupsd_job_t *job)          /* I - Job */
                   job, job->id, job->attrs);
 
   snprintf(filename, sizeof(filename), "%s/c%05d", RequestRoot, job->id);
-  snprintf(newfile, sizeof(newfile), "%s/c%05d.N", RequestRoot, job->id);
 
-  if ((fp = cupsFileOpen(newfile, "w")) == NULL)
-  {
-    cupsdLogMessage(CUPSD_LOG_ERROR,
-                   "[Job %d] Unable to create job control file \"%s\": %s",
-                   job->id, newfile, strerror(errno));
+  if ((fp = cupsdCreateConfFile(filename, ConfigFilePerm & 0600)) == NULL)
     return;
-  }
 
-  fchmod(cupsFileNumber(fp), 0600);
   fchown(cupsFileNumber(fp), RunUser, Group);
 
   job->attrs->state = IPP_IDLE;
@@ -2099,23 +2215,19 @@ cupsdSaveJob(cupsd_job_t *job)          /* I - Job */
     cupsdLogMessage(CUPSD_LOG_ERROR,
                     "[Job %d] Unable to write job control file.", job->id);
     cupsFileClose(fp);
-    unlink(newfile);
     return;
   }
 
-  if (cupsFileClose(fp))
-    cupsdLogMessage(CUPSD_LOG_ERROR,
-                   "[Job %d] Unable to close job control file: %s",
-                   job->id, strerror(errno));
-  else
+  if (!cupsdCloseCreatedConfFile(fp, filename))
   {
+   /*
+    * Remove backup file and mark this job as clean...
+    */
+
+    strlcat(filename, ".O", sizeof(filename));
     unlink(filename);
-    if (rename(newfile, filename))
-      cupsdLogMessage(CUPSD_LOG_ERROR,
-                      "[Job %d] Unable to finalize job control file: %s",
-                     job->id, strerror(errno));
-    else
-      job->dirty = 0;
+
+    job->dirty = 0;
   }
 }
 
@@ -2168,12 +2280,16 @@ cupsdSetJobHoldUntil(cupsd_job_t *job,  /* I - Job */
       job->dirty = 1;
       cupsdMarkDirty(CUPSD_DIRTY_JOBS);
     }
+
+    ippSetString(job->attrs, &job->reasons, 0, "job-hold-until-specified");
   }
 
  /*
   * Update the hold time...
   */
 
+  job->cancel_time = 0;
+
   if (!strcmp(when, "indefinite") || !strcmp(when, "auth-info-required"))
   {
    /*
@@ -2181,6 +2297,9 @@ cupsdSetJobHoldUntil(cupsd_job_t *job,    /* I - Job */
     */
 
     job->hold_until = 0;
+
+    if (MaxHoldTime > 0)
+      job->cancel_time = time(NULL) + MaxHoldTime;
   }
   else if (!strcmp(when, "day-time"))
   {
@@ -2382,8 +2501,10 @@ cupsdSetJobState(
   * Set the new job state...
   */
 
-  job->state->values[0].integer = newstate;
-  job->state_value              = newstate;
+  job->state_value = newstate;
+
+  if (job->state)
+    job->state->values[0].integer = newstate;
 
   switch (newstate)
   {
@@ -2409,6 +2530,7 @@ cupsdSetJobState(
     case IPP_JOB_CANCELED :
     case IPP_JOB_COMPLETED :
        set_time(job, "time-at-completed");
+       ippSetString(job->attrs, &job->reasons, 0, "processing-to-stop-point");
         break;
   }
 
@@ -2537,27 +2659,7 @@ cupsdSetJobState(
        */
 
        if (!JobHistory || !JobFiles || action == CUPSD_JOB_PURGE)
-       {
-         for (i = 1; i <= job->num_files; i ++)
-         {
-           snprintf(filename, sizeof(filename), "%s/d%05d-%03d", RequestRoot,
-                    job->id, i);
-           if (Classification)
-             cupsdRemoveFile(filename);
-           else
-             unlink(filename);
-         }
-
-         if (job->num_files > 0)
-         {
-           free(job->filetypes);
-           free(job->compressions);
-
-           job->num_files    = 0;
-           job->filetypes    = NULL;
-           job->compressions = NULL;
-         }
-       }
+         remove_job_files(job);
 
        if (JobHistory && action != CUPSD_JOB_PURGE)
        {
@@ -2649,6 +2751,62 @@ cupsdUnloadCompletedJobs(void)
 
 
 /*
+ * 'cupsdUpdateJobs()' - Update the history/file files for all jobs.
+ */
+
+void
+cupsdUpdateJobs(void)
+{
+  cupsd_job_t          *job;           /* Current job */
+  time_t               curtime;        /* Current time */
+  ipp_attribute_t      *attr;          /* time-at-completed attribute */
+
+
+  curtime          = time(NULL);
+  JobHistoryUpdate = 0;
+
+  for (job = (cupsd_job_t *)cupsArrayFirst(Jobs);
+       job;
+       job = (cupsd_job_t *)cupsArrayNext(Jobs))
+  {
+    if (job->state_value >= IPP_JOB_CANCELED &&
+        (attr = ippFindAttribute(job->attrs, "time-at-completed",
+                                 IPP_TAG_INTEGER)) != NULL)
+    {
+     /*
+      * Update history/file expiration times...
+      */
+
+      if (JobHistory < INT_MAX)
+       job->history_time = attr->values[0].integer + JobHistory;
+      else
+       job->history_time = INT_MAX;
+
+      if (job->history_time < curtime)
+      {
+        cupsdDeleteJob(job, CUPSD_JOB_PURGE);
+        continue;
+      }
+
+      if (job->history_time < JobHistoryUpdate || !JobHistoryUpdate)
+       JobHistoryUpdate = job->history_time;
+
+      if (JobFiles < INT_MAX)
+       job->file_time = attr->values[0].integer + JobFiles;
+      else
+       job->file_time = INT_MAX;
+
+      if (job->file_time < JobHistoryUpdate || !JobHistoryUpdate)
+       JobHistoryUpdate = job->file_time;
+    }
+  }
+
+  cupsdLogMessage(CUPSD_LOG_DEBUG2, "cupsdUpdateAllJobs: JobHistoryUpdate=%ld",
+                  (long)JobHistoryUpdate);
+}
+
+
+/*
  * 'compare_active_jobs()' - Compare the job IDs and priorities of two jobs.
  */
 
@@ -2854,7 +3012,8 @@ finalize_job(cupsd_job_t *job,            /* I - Job */
   * rarely have current information for network devices...
   */
 
-  if (strncmp(job->printer->device_uri, "usb:", 4))
+  if (strncmp(job->printer->device_uri, "usb:", 4) &&
+      strncmp(job->printer->device_uri, "ippusb:", 7))
     cupsdSetPrinterReasons(job->printer, "-offline-report");
 
  /*
@@ -2865,10 +3024,11 @@ finalize_job(cupsd_job_t *job,          /* I - Job */
   job->profile = NULL;
 
  /*
-  * Clear the unresponsive job watchdog timer...
+  * Clear the unresponsive job watchdog timers...
   */
 
-  job->kill_time = 0;
+  job->cancel_time = 0;
+  job->kill_time   = 0;
 
  /*
   * Close pipes and status buffer...
@@ -2907,14 +3067,21 @@ finalize_job(cupsd_job_t *job,          /* I - Job */
     case IPP_JOB_COMPLETED :
        job_state = IPP_JOB_COMPLETED;
        message   = "Job completed.";
+
+       ippSetString(job->attrs, &job->reasons, 0,
+                    "job-completed-successfully");
         break;
 
     case IPP_JOB_STOPPED :
         message = "Job stopped.";
+
+       ippSetString(job->attrs, &job->reasons, 0, "job-stopped");
        break;
 
     case IPP_JOB_CANCELED :
         message = "Job canceled.";
+
+       ippSetString(job->attrs, &job->reasons, 0, "job-canceled-by-user");
        break;
 
     case IPP_JOB_ABORTED :
@@ -2940,7 +3107,10 @@ finalize_job(cupsd_job_t *job,           /* I - Job */
     if (WIFEXITED(exit_code))
       exit_code = WEXITSTATUS(exit_code);
     else
+    {
+      ippSetString(job->attrs, &job->reasons, 0, "cups-backend-crashed");
       exit_code = job->status;
+    }
 
     cupsdLogJob(job, CUPSD_LOG_INFO, "Backend returned status %d (%s)",
                exit_code,
@@ -2950,6 +3120,8 @@ finalize_job(cupsd_job_t *job,            /* I - Job */
                    exit_code == CUPS_BACKEND_HOLD ? "hold job" :
                    exit_code == CUPS_BACKEND_STOP ? "stop printer" :
                    exit_code == CUPS_BACKEND_CANCEL ? "cancel job" :
+                   exit_code == CUPS_BACKEND_RETRY ? "retry job later" :
+                   exit_code == CUPS_BACKEND_RETRY_CURRENT ? "retry job immediately" :
                    exit_code < 0 ? "crashed" : "unknown");
 
    /*
@@ -2965,7 +3137,7 @@ finalize_job(cupsd_job_t *job,            /* I - Job */
          * act...
          */
 
-          if (job->dtype & (CUPS_PRINTER_CLASS | CUPS_PRINTER_IMPLICIT))
+          if (job->dtype & CUPS_PRINTER_CLASS)
          {
           /*
            * Queued on a class - mark the job as pending and we'll retry on
@@ -2976,6 +3148,9 @@ finalize_job(cupsd_job_t *job,            /* I - Job */
            {
              job_state = IPP_JOB_PENDING;
              message   = "Retrying job on another printer.";
+
+             ippSetString(job->attrs, &job->reasons, 0,
+                          "resources-are-not-ready");
            }
           }
          else if (!strcmp(job->printer->error_policy, "retry-current-job"))
@@ -2989,6 +3164,8 @@ finalize_job(cupsd_job_t *job,            /* I - Job */
            {
              job_state = IPP_JOB_PENDING;
              message   = "Retrying job on same printer.";
+
+             ippSetString(job->attrs, &job->reasons, 0, "none");
            }
           }
          else if ((job->printer->type & CUPS_PRINTER_FAX) ||
@@ -3015,6 +3192,8 @@ finalize_job(cupsd_job_t *job,            /* I - Job */
                         JobRetryLimit);
                job_state = IPP_JOB_ABORTED;
                message   = buffer;
+
+               ippSetString(job->attrs, &job->reasons, 0, "aborted-by-system");
              }
              else
              {
@@ -3029,6 +3208,9 @@ finalize_job(cupsd_job_t *job,            /* I - Job */
                job->hold_until = time(NULL) + JobRetryInterval;
                job_state       = IPP_JOB_HELD;
                message         = buffer;
+
+               ippSetString(job->attrs, &job->reasons, 0,
+                            "resources-are-not-ready");
              }
             }
          }
@@ -3038,6 +3220,8 @@ finalize_job(cupsd_job_t *job,            /* I - Job */
            job_state = IPP_JOB_ABORTED;
            message   = "Job aborted due to backend errors; please consult "
                        "the error_log file for details.";
+
+           ippSetString(job->attrs, &job->reasons, 0, "aborted-by-system");
          }
          else if (job->state_value == IPP_JOB_PROCESSING)
           {
@@ -3045,19 +3229,22 @@ finalize_job(cupsd_job_t *job,          /* I - Job */
            printer_state = IPP_PRINTER_STOPPED;
            message       = "Printer stopped due to backend errors; please "
                            "consult the error_log file for details.";
+
+           ippSetString(job->attrs, &job->reasons, 0, "none");
          }
           break;
 
       case CUPS_BACKEND_CANCEL :
          /*
-         * Abort the job...
+         * Cancel the job...
          */
 
          if (job_state == IPP_JOB_COMPLETED)
          {
-           job_state = IPP_JOB_ABORTED;
-           message   = "Job aborted due to backend errors; please consult "
-                       "the error_log file for details.";
+           job_state = IPP_JOB_CANCELED;
+           message   = "Job canceled at printer.";
+
+           ippSetString(job->attrs, &job->reasons, 0, "canceled-at-device");
          }
           break;
 
@@ -3069,6 +3256,8 @@ finalize_job(cupsd_job_t *job,            /* I - Job */
            */
 
            cupsdSetJobHoldUntil(job, "indefinite", 1);
+           ippSetString(job->attrs, &job->reasons, 0,
+                        "job-hold-until-specified");
 
            job_state = IPP_JOB_HELD;
            message   = "Job held indefinitely due to backend errors; please "
@@ -3086,7 +3275,12 @@ finalize_job(cupsd_job_t *job,           /* I - Job */
                          "consult the error_log file for details.";
 
          if (job_state == IPP_JOB_COMPLETED)
+         {
            job_state = IPP_JOB_PENDING;
+
+           ippSetString(job->attrs, &job->reasons, 0,
+                        "resources-are-not-ready");
+         }
           break;
 
       case CUPS_BACKEND_AUTH_REQUIRED :
@@ -3100,6 +3294,9 @@ finalize_job(cupsd_job_t *job,            /* I - Job */
 
            job_state = IPP_JOB_HELD;
            message   = "Job held for authentication.";
+
+           ippSetString(job->attrs, &job->reasons, 0,
+                        "cups-held-for-authentication");
           }
           break;
 
@@ -3124,6 +3321,8 @@ finalize_job(cupsd_job_t *job,            /* I - Job */
                       JobRetryLimit);
              job_state = IPP_JOB_ABORTED;
              message   = buffer;
+
+             ippSetString(job->attrs, &job->reasons, 0, "aborted-by-system");
            }
            else
            {
@@ -3138,6 +3337,9 @@ finalize_job(cupsd_job_t *job,            /* I - Job */
              job->hold_until = time(NULL) + JobRetryInterval;
              job_state       = IPP_JOB_HELD;
              message         = buffer;
+
+             ippSetString(job->attrs, &job->reasons, 0,
+                          "resources-are-not-ready");
            }
          }
           break;
@@ -3151,6 +3353,8 @@ finalize_job(cupsd_job_t *job,            /* I - Job */
          {
            job_state = IPP_JOB_PENDING;
            message   = "Retrying job on same printer.";
+
+           ippSetString(job->attrs, &job->reasons, 0, "none");
          }
           break;
     }
@@ -3166,6 +3370,11 @@ finalize_job(cupsd_job_t *job,           /* I - Job */
       job_state = IPP_JOB_STOPPED;
       message   = "Job stopped due to filter errors; please consult the "
                  "error_log file for details.";
+
+      if (WIFSIGNALED(job->status))
+       ippSetString(job->attrs, &job->reasons, 0, "cups-filter-crashed");
+      else
+       ippSetString(job->attrs, &job->reasons, 0, "job-completed-with-errors");
     }
   }
 
@@ -3193,6 +3402,21 @@ finalize_job(cupsd_job_t *job,           /* I - Job */
   cupsArrayRemove(PrintingJobs, job);
 
  /*
+  * Apply any PPD updates...
+  */
+
+  if (job->num_keywords)
+  {
+    if (cupsdUpdatePrinterPPD(job->printer, job->num_keywords, job->keywords))
+      cupsdSetPrinterAttrs(job->printer);
+
+    cupsFreeOptions(job->num_keywords, job->keywords);
+
+    job->num_keywords = 0;
+    job->keywords     = NULL;
+  }
+
+ /*
   * Clear the printer <-> job association...
   */
 
@@ -3409,7 +3633,7 @@ get_options(cupsd_job_t *job,             /* I - Job */
     if (!optptr)
     {
       cupsdLogJob(job, CUPSD_LOG_CRIT,
-                 "Unable to allocate " CUPS_LLFMT " bytes for option buffer!",
+                 "Unable to allocate " CUPS_LLFMT " bytes for option buffer.",
                  CUPS_LLCAST newlength);
       return (NULL);
     }
@@ -3460,7 +3684,13 @@ get_options(cupsd_job_t *job,            /* I - Job */
          attr->value_tag == IPP_TAG_BEGIN_COLLECTION) /* Not yet supported */
        continue;
 
-      if (!strcmp(attr->name, "job-hold-until"))
+      if (!strcmp(attr->name, "job-hold-until") ||
+          !strcmp(attr->name, "job-id") ||
+          !strcmp(attr->name, "job-k-octets") ||
+          !strcmp(attr->name, "job-media-sheets") ||
+          !strcmp(attr->name, "job-media-sheets-completed") ||
+          !strcmp(attr->name, "job-state") ||
+          !strcmp(attr->name, "job-state-reasons"))
        continue;
 
       if (!strncmp(attr->name, "job-", 4) &&
@@ -3537,7 +3767,7 @@ get_options(cupsd_job_t *job,             /* I - Job */
                       "%dx%d%s", attr->values[i].resolution.xres,
                       attr->values[i].resolution.yres,
                       attr->values[i].resolution.units == IPP_RES_PER_INCH ?
-                          "dpi" : "dpc");
+                          "dpi" : "dpcm");
              break;
 
           case IPP_TAG_STRING :
@@ -3758,14 +3988,14 @@ load_job_cache(const char *filename)    /* I - job.cache filename */
     {
       if (job)
       {
-        cupsdLogMessage(CUPSD_LOG_ERROR, "Missing </Job> directive on line %d!",
+        cupsdLogMessage(CUPSD_LOG_ERROR, "Missing </Job> directive on line %d.",
                        linenum);
         continue;
       }
 
       if (!value)
       {
-        cupsdLogMessage(CUPSD_LOG_ERROR, "Missing job ID on line %d!", linenum);
+        cupsdLogMessage(CUPSD_LOG_ERROR, "Missing job ID on line %d.", linenum);
        continue;
       }
 
@@ -3773,7 +4003,7 @@ load_job_cache(const char *filename)      /* I - job.cache filename */
 
       if (jobid < 1)
       {
-        cupsdLogMessage(CUPSD_LOG_ERROR, "Bad job ID %d on line %d!", jobid,
+        cupsdLogMessage(CUPSD_LOG_ERROR, "Bad job ID %d on line %d.", jobid,
                        linenum);
         continue;
       }
@@ -3784,7 +4014,7 @@ load_job_cache(const char *filename)      /* I - job.cache filename */
        snprintf(jobfile, sizeof(jobfile), "%s/c%05d.N", RequestRoot, jobid);
        if (access(jobfile, 0))
        {
-         cupsdLogMessage(CUPSD_LOG_ERROR, "[Job %d] Files have gone away!",
+         cupsdLogMessage(CUPSD_LOG_ERROR, "[Job %d] Files have gone away.",
                          jobid);
          continue;
        }
@@ -3794,7 +4024,7 @@ load_job_cache(const char *filename)      /* I - job.cache filename */
       if (!job)
       {
         cupsdLogMessage(CUPSD_LOG_EMERG,
-                       "[Job %d] Unable to allocate memory for job!", jobid);
+                       "[Job %d] Unable to allocate memory for job.", jobid);
         break;
       }
 
@@ -3814,7 +4044,7 @@ load_job_cache(const char *filename)      /* I - job.cache filename */
     else if (!job)
     {
       cupsdLogMessage(CUPSD_LOG_ERROR,
-                     "Missing <Job #> directive on line %d!", linenum);
+                     "Missing <Job #> directive on line %d.", linenum);
       continue;
     }
     else if (!_cups_strcasecmp(line, "</Job>"))
@@ -3828,7 +4058,7 @@ load_job_cache(const char *filename)      /* I - job.cache filename */
     }
     else if (!value)
     {
-      cupsdLogMessage(CUPSD_LOG_ERROR, "Missing value on line %d!", linenum);
+      cupsdLogMessage(CUPSD_LOG_ERROR, "Missing value on line %d.", linenum);
       continue;
     }
     else if (!_cups_strcasecmp(line, "State"))
@@ -3866,7 +4096,7 @@ load_job_cache(const char *filename)      /* I - job.cache filename */
 
       if (job->num_files < 0)
       {
-       cupsdLogMessage(CUPSD_LOG_ERROR, "Bad NumFiles value %d on line %d!",
+       cupsdLogMessage(CUPSD_LOG_ERROR, "Bad NumFiles value %d on line %d.",
                        job->num_files, linenum);
         job->num_files = 0;
        continue;
@@ -3878,7 +4108,7 @@ load_job_cache(const char *filename)      /* I - job.cache filename */
                 job->id);
         if (access(jobfile, 0))
        {
-         cupsdLogMessage(CUPSD_LOG_INFO, "[Job %d] Data files have gone away!",
+         cupsdLogMessage(CUPSD_LOG_INFO, "[Job %d] Data files have gone away.",
                          job->id);
           job->num_files = 0;
          continue;
@@ -3890,7 +4120,7 @@ load_job_cache(const char *filename)      /* I - job.cache filename */
         if (!job->filetypes || !job->compressions)
        {
          cupsdLogMessage(CUPSD_LOG_EMERG,
-                         "[Job %d] Unable to allocate memory for %d files!",
+                         "[Job %d] Unable to allocate memory for %d files.",
                          job->id, job->num_files);
           break;
        }
@@ -3907,13 +4137,13 @@ load_job_cache(const char *filename)    /* I - job.cache filename */
       if (sscanf(value, "%d%*[ \t]%15[^/]/%255s%d", &number, super, type,
                  &compression) != 4)
       {
-        cupsdLogMessage(CUPSD_LOG_ERROR, "Bad File on line %d!", linenum);
+        cupsdLogMessage(CUPSD_LOG_ERROR, "Bad File on line %d.", linenum);
        continue;
       }
 
       if (number < 1 || number > job->num_files)
       {
-        cupsdLogMessage(CUPSD_LOG_ERROR, "Bad File number %d on line %d!",
+        cupsdLogMessage(CUPSD_LOG_ERROR, "Bad File number %d on line %d.",
                        number, linenum);
         continue;
       }
@@ -3930,7 +4160,7 @@ load_job_cache(const char *filename)      /* I - job.cache filename */
        */
 
         cupsdLogMessage(CUPSD_LOG_ERROR,
-                       "[Job %d] Unknown MIME type %s/%s for file %d!",
+                       "[Job %d] Unknown MIME type %s/%s for file %d.",
                        job->id, super, type, number + 1);
 
         snprintf(jobfile, sizeof(jobfile), "%s/d%05d-%03d", RequestRoot,
@@ -3948,7 +4178,7 @@ load_job_cache(const char *filename)      /* I - job.cache filename */
       }
     }
     else
-      cupsdLogMessage(CUPSD_LOG_ERROR, "Unknown %s directive on line %d!",
+      cupsdLogMessage(CUPSD_LOG_ERROR, "Unknown %s directive on line %d.",
                       line, linenum);
   }
 
@@ -4048,7 +4278,7 @@ load_request_root(void)
 
       if ((job = calloc(sizeof(cupsd_job_t), 1)) == NULL)
       {
-        cupsdLogMessage(CUPSD_LOG_ERROR, "Ran out of memory for jobs!");
+        cupsdLogMessage(CUPSD_LOG_ERROR, "Ran out of memory for jobs.");
        cupsDirClose(dir);
        return;
       }
@@ -4087,6 +4317,8 @@ load_request_root(void)
        else
          unload_job(job);
       }
+      else
+        free(job);
     }
 
   cupsDirClose(dir);
@@ -4094,6 +4326,67 @@ load_request_root(void)
 
 
 /*
+ * 'remove_job_files()' - Remove the document files for a job.
+ */
+
+static void
+remove_job_files(cupsd_job_t *job)     /* I - Job */
+{
+  int  i;                              /* Looping var */
+  char filename[1024];                 /* Document filename */
+
+
+  if (job->num_files <= 0)
+    return;
+
+  for (i = 1; i <= job->num_files; i ++)
+  {
+    snprintf(filename, sizeof(filename), "%s/d%05d-%03d", RequestRoot,
+            job->id, i);
+    if (Classification)
+      cupsdRemoveFile(filename);
+    else
+      unlink(filename);
+  }
+
+  free(job->filetypes);
+  free(job->compressions);
+
+  job->file_time    = 0;
+  job->num_files    = 0;
+  job->filetypes    = NULL;
+  job->compressions = NULL;
+
+  LastEvent |= CUPSD_EVENT_PRINTER_STATE_CHANGED;
+}
+
+
+/*
+ * 'remove_job_history()' - Remove the control file for a job.
+ */
+
+static void
+remove_job_history(cupsd_job_t *job)   /* I - Job */
+{
+  char filename[1024];                 /* Control filename */
+
+
+ /*
+  * Remove the job info file...
+  */
+
+  snprintf(filename, sizeof(filename), "%s/c%05d", RequestRoot,
+          job->id);
+  if (Classification)
+    cupsdRemoveFile(filename);
+  else
+    unlink(filename);
+
+  LastEvent |= CUPSD_EVENT_PRINTER_STATE_CHANGED;
+}
+
+
+/*
  * 'set_time()' - Set one of the "time-at-xyz" attributes.
  */
 
@@ -4102,12 +4395,39 @@ set_time(cupsd_job_t *job,              /* I - Job to update */
          const char  *name)            /* I - Name of attribute */
 {
   ipp_attribute_t      *attr;          /* Time attribute */
+  time_t               curtime;        /* Current time */
 
 
+  curtime = time(NULL);
+
+  cupsdLogJob(job, CUPSD_LOG_DEBUG, "%s=%ld", name, (long)curtime);
+
   if ((attr = ippFindAttribute(job->attrs, name, IPP_TAG_ZERO)) != NULL)
   {
     attr->value_tag         = IPP_TAG_INTEGER;
-    attr->values[0].integer = time(NULL);
+    attr->values[0].integer = curtime;
+  }
+
+  if (!strcmp(name, "time-at-completed"))
+  {
+    if (JobHistory < INT_MAX && attr)
+      job->history_time = attr->values[0].integer + JobHistory;
+    else
+      job->history_time = INT_MAX;
+
+    if (job->history_time < JobHistoryUpdate || !JobHistoryUpdate)
+      JobHistoryUpdate = job->history_time;
+
+    if (JobFiles < INT_MAX && attr)
+      job->file_time = attr->values[0].integer + JobFiles;
+    else
+      job->file_time = INT_MAX;
+
+    if (job->file_time < JobHistoryUpdate || !JobHistoryUpdate)
+      JobHistoryUpdate = job->file_time;
+
+    cupsdLogMessage(CUPSD_LOG_DEBUG2, "set_time: JobHistoryUpdate=%ld",
+                   (long)JobHistoryUpdate);
   }
 }
 
@@ -4129,6 +4449,7 @@ start_job(cupsd_job_t     *job,           /* I - Job ID */
 
   if (job->num_files == 0)
   {
+    ippSetString(job->attrs, &job->reasons, 0, "aborted-by-system");
     cupsdSetJobState(job, IPP_JOB_ABORTED, CUPSD_JOB_DEFAULT,
                      "Aborting job because it has no files.");
     return;
@@ -4148,6 +4469,7 @@ start_job(cupsd_job_t     *job,           /* I - Job ID */
   if (job->printer_message)
     cupsdSetString(&(job->printer_message->values[0].string.text), "");
 
+  ippSetString(job->attrs, &job->reasons, 0, "job-printing");
   cupsdSetJobState(job, IPP_JOB_PROCESSING, CUPSD_JOB_DEFAULT, NULL);
   cupsdSetPrinterState(printer, IPP_PRINTER_PROCESSING, 0);
   cupsdSetPrinterReasons(printer, "-cups-remote-pending,"
@@ -4160,10 +4482,17 @@ start_job(cupsd_job_t     *job,         /* I - Job ID */
 
   job->cost         = 0;
   job->current_file = 0;
+  job->file_time    = 0;
+  job->history_time = 0;
   job->progress     = 0;
   job->printer      = printer;
   printer->job      = job;
 
+  if (MaxJobTime > 0)
+    job->cancel_time = time(NULL) + MaxJobTime;
+  else
+    job->cancel_time = 0;
+
  /*
   * Setup the last exit status and security profiles...
   */
@@ -4327,6 +4656,7 @@ unload_job(cupsd_job_t *job)              /* I - Job */
 
   job->attrs           = NULL;
   job->state           = NULL;
+  job->reasons         = NULL;
   job->sheets          = NULL;
   job->job_sheets      = NULL;
   job->printer_message = NULL;
@@ -4420,9 +4750,25 @@ update_job(cupsd_job_t *job)             /* I - Job to check */
         cupsdStopPrinter(job->printer, 1);
        return;
       }
-      else if (cupsdSetPrinterReasons(job->printer, message))
+      else if (message[0] && cupsdSetPrinterReasons(job->printer, message))
+      {
        event |= CUPSD_EVENT_PRINTER_STATE;
 
+        if (MaxJobTime > 0 && strstr(message, "connecting-to-device") != NULL)
+        {
+         /*
+          * Reset cancel time after connecting to the device...
+          */
+
+          for (i = 0; i < job->printer->num_reasons; i ++)
+            if (!strcmp(job->printer->reasons[i], "connecting-to-device"))
+              break;
+
+          if (i >= job->printer->num_reasons)
+           job->cancel_time = time(NULL) + MaxJobTime;
+        }
+      }
+
       update_job_attrs(job, 0);
     }
     else if (loglevel == CUPSD_LOG_ATTR)
@@ -4446,10 +4792,7 @@ update_job(cupsd_job_t *job)             /* I - Job to check */
         cupsdSetAuthInfoRequired(job->printer, attr, NULL);
        cupsdSetPrinterAttrs(job->printer);
 
-       if (job->printer->type & CUPS_PRINTER_DISCOVERED)
-         cupsdMarkDirty(CUPSD_DIRTY_REMOTE);
-       else
-         cupsdMarkDirty(CUPSD_DIRTY_PRINTERS);
+       cupsdMarkDirty(CUPSD_DIRTY_PRINTERS);
       }
 
       if ((attr = cupsGetOption("job-media-progress", num_attrs,
@@ -4546,18 +4889,10 @@ update_job(cupsd_job_t *job)            /* I - Job to check */
       * Set attribute(s)...
       */
 
-      int              num_keywords;   /* Number of keywords */
-      cups_option_t    *keywords;      /* Keywords */
-
-
       cupsdLogJob(job, CUPSD_LOG_DEBUG, "PPD: %s", message);
 
-      num_keywords = cupsParseOptions(message, 0, &keywords);
-
-      if (cupsdUpdatePrinterPPD(job->printer, num_keywords, keywords))
-        cupsdSetPrinterAttrs(job->printer);
-
-      cupsFreeOptions(num_keywords, keywords);
+      job->num_keywords = cupsParseOptions(message, job->num_keywords,
+                                           &job->keywords);
     }
     else
     {
@@ -4580,7 +4915,8 @@ update_job(cupsd_job_t *job)              /* I - Job to check */
       else
         ptr = message;
 
-      cupsdLogJob(job, loglevel, "%s", ptr);
+      if (*ptr)
+        cupsdLogJob(job, loglevel, "%s", ptr);
 
       if (loglevel < CUPSD_LOG_DEBUG &&
           strcmp(job->printer->state_message, ptr))
@@ -4708,11 +5044,21 @@ update_job_attrs(cupsd_job_t *job,      /* I - Job to update */
 
   if (job->state_value != IPP_JOB_PROCESSING &&
       job->status_level == CUPSD_LOG_INFO)
+  {
     cupsdSetString(&(job->printer_message->values[0].string.text), "");
+
+    job->dirty = 1;
+    cupsdMarkDirty(CUPSD_DIRTY_JOBS);
+  }
   else if (job->printer->state_message[0] && do_message)
+  {
     cupsdSetString(&(job->printer_message->values[0].string.text),
                   job->printer->state_message);
 
+    job->dirty = 1;
+    cupsdMarkDirty(CUPSD_DIRTY_JOBS);
+  }
+
  /*
   * ... and the printer-state-reasons value...
   */
@@ -4768,9 +5114,12 @@ update_job_attrs(cupsd_job_t *job,       /* I - Job to update */
 
   for (i = 0; i < num_reasons; i ++)
     job->printer_reasons->values[i].string.text = _cupsStrAlloc(reasons[i]);
+
+  job->dirty = 1;
+  cupsdMarkDirty(CUPSD_DIRTY_JOBS);
 }
 
 
 /*
- * End of "$Id: job.c 10420 2012-04-20 03:01:06Z mike $".
+ * End of "$Id: job.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 130326f..6fb5ab8 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: job.h 9778 2011-05-18 02:27:11Z mike $"
+ * "$Id: job.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Print job definitions for the CUPS scheduler.
  *
@@ -46,9 +46,13 @@ struct cupsd_job_s                   /**** Job request ****/
   int                  *compressions;  /* Compression status of each file */
   ipp_attribute_t      *sheets;        /* job-media-sheets-completed */
   time_t               access_time,    /* Last access time */
-                       kill_time,      /* When to send SIGKILL */
-                       hold_until;     /* Hold expiration date/time */
+                       cancel_time,    /* When to cancel/send SIGTERM */
+                       file_time,      /* Job file retain time */
+                       history_time,   /* Job history retain time */
+                       hold_until,     /* Hold expiration date/time */
+                       kill_time;      /* When to send SIGKILL */
   ipp_attribute_t      *state;         /* Job state */
+  ipp_attribute_t      *reasons;       /* Job state reasons */
   ipp_attribute_t      *job_sheets;    /* Job sheets (NULL if none) */
   ipp_attribute_t      *printer_message,
                                        /* job-printer-state-message */
@@ -76,6 +80,8 @@ struct cupsd_job_s                    /**** Job request ****/
   void                 *profile;       /* Security profile */
   cups_array_t         *history;       /* Debug log history */
   int                  progress;       /* Printing progress */
+  int                  num_keywords;   /* Number of PPD keywords */
+  cups_option_t                *keywords;      /* PPD keywords */
 };
 
 typedef struct cupsd_joblog_s          /**** Job log message ****/
@@ -89,18 +95,24 @@ typedef struct cupsd_joblog_s               /**** Job log message ****/
  * Globals...
  */
 
-VAR int                        JobHistory      VALUE(1);
+VAR int                        JobHistory      VALUE(INT_MAX);
                                        /* Preserve job history? */
-VAR int                        JobFiles        VALUE(0);
+VAR int                        JobFiles        VALUE(86400);
                                        /* Preserve job files? */
+VAR time_t             JobHistoryUpdate VALUE(0);
+                                       /* Time for next job history update */
 VAR int                        MaxJobs         VALUE(0),
                                        /* Max number of jobs */
                        MaxActiveJobs   VALUE(0),
                                        /* Max number of active jobs */
+                       MaxHoldTime     VALUE(0),
+                                       /* Max time for indefinite hold */
                        MaxJobsPerUser  VALUE(0),
                                        /* Max jobs per user */
-                       MaxJobsPerPrinter VALUE(0);
+                       MaxJobsPerPrinter VALUE(0),
                                        /* Max jobs per printer */
+                       MaxJobTime      VALUE(3 * 60 * 60);
+                                       /* Max time for a job */
 VAR int                        JobAutoPurge    VALUE(0);
                                        /* Automatically purge jobs */
 VAR cups_array_t       *Jobs           VALUE(NULL),
@@ -149,16 +161,15 @@ extern void               cupsdSetJobState(cupsd_job_t *job,
                                         ipp_jstate_t newstate,
                                         cupsd_jobaction_t action,
                                         const char *message, ...)
-#ifdef __GNUC__
-__attribute__ ((__format__ (__printf__, 4, 5)))
-#endif /* __GNUC__ */
-;
+                                       __attribute__((__format__(__printf__,
+                                                                 4, 5)));
 extern void            cupsdStopAllJobs(cupsd_jobaction_t action,
                                         int kill_delay);
 extern int             cupsdTimeoutJob(cupsd_job_t *job);
 extern void            cupsdUnloadCompletedJobs(void);
+extern void            cupsdUpdateJobs(void);
 
 
 /*
- * End of "$Id: job.h 9778 2011-05-18 02:27:11Z mike $".
+ * End of "$Id: job.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index ce7a26d..a4c19c0 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: listen.c 9691 2011-04-15 23:38:13Z mike $"
+ * "$Id: listen.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Server listening routines for the CUPS scheduler.
  *
@@ -427,5 +427,5 @@ cupsdStopListening(void)
 
 
 /*
- * End of "$Id: listen.c 9691 2011-04-15 23:38:13Z mike $".
+ * End of "$Id: listen.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 11d180e..d739b58 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: log.c 9949 2011-08-31 04:58:33Z mike $"
+ * "$Id: log.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Log file routines for the CUPS scheduler.
  *
 static int     log_linesize = 0;       /* Size of line for output file */
 static char    *log_line = NULL;       /* Line for output file */
 
+#ifdef HAVE_VSYSLOG
+static const int syslevels[] =         /* SYSLOG levels... */
+               {
+                 0,
+                 LOG_EMERG,
+                 LOG_ALERT,
+                 LOG_CRIT,
+                 LOG_ERR,
+                 LOG_WARNING,
+                 LOG_NOTICE,
+                 LOG_INFO,
+                 LOG_DEBUG,
+                 LOG_DEBUG
+               };
+#endif /* HAVE_VSYSLOG */
+
 
 /*
  * Local functions...
@@ -379,7 +395,23 @@ cupsdLogGSSMessage(
                minor_status_string = GSS_C_EMPTY_BUFFER;
                                        /* Minor status message */
   int          ret;                    /* Return value */
+  char         buffer[8192];           /* Buffer for vsnprintf */
+
+
+  if (strchr(message, '%'))
+  {
+   /*
+    * Format the message string...
+    */
 
+    va_list    ap;                     /* Pointer to arguments */
+
+    va_start(ap, message);
+    vsnprintf(buffer, sizeof(buffer), message, ap);
+    va_end(ap);
+
+    message = buffer;
+  }
 
   msg_ctx             = 0;
   err_major_status    = gss_display_status(&err_minor_status,
@@ -414,7 +446,7 @@ cupsdLogJob(cupsd_job_t *job,               /* I - Job */
            const char  *message,       /* I - Printf-style message string */
            ...)                        /* I - Additional arguments as needed */
 {
-  va_list              ap;             /* Argument pointer */
+  va_list              ap, ap2;        /* Argument pointers */
   char                 jobmsg[1024];   /* Format string for job message */
   int                  status;         /* Formatting status */
 
@@ -435,19 +467,27 @@ cupsdLogJob(cupsd_job_t *job,             /* I - Job */
   * Format and write the log message...
   */
 
-  snprintf(jobmsg, sizeof(jobmsg), "[Job %d] %s", job->id, message);
+  if (job)
+    snprintf(jobmsg, sizeof(jobmsg), "[Job %d] %s", job->id, message);
+  else
+    strlcpy(jobmsg, message, sizeof(jobmsg));
+
+  va_start(ap, message);
 
   do
   {
-    va_start(ap, message);
-    status = format_log_line(jobmsg, ap);
-    va_end(ap);
+    va_copy(ap2, ap);
+    status = format_log_line(jobmsg, ap2);
+    va_end(ap2);
   }
   while (status == 0);
 
+  va_end(ap);
+
   if (status > 0)
   {
-    if ((level > LogLevel ||
+    if (job &&
+        (level > LogLevel ||
          (level == CUPSD_LOG_INFO && LogLevel < CUPSD_LOG_DEBUG)) &&
        LogDebugHistory > 0)
     {
@@ -508,7 +548,7 @@ cupsdLogMessage(int        level,   /* I - Log level */
                 const char *message,   /* I - printf-style message string */
                ...)                    /* I - Additional args as needed */
 {
-  va_list              ap;             /* Argument pointer */
+  va_list              ap, ap2;        /* Argument pointers */
   int                  status;         /* Formatting status */
 
 
@@ -519,8 +559,12 @@ cupsdLogMessage(int        level,  /* I - Log level */
   if ((TestConfigFile || !ErrorLog) && level <= CUPSD_LOG_WARN)
   {
     va_start(ap, message);
+#ifdef HAVE_VSYSLOG
+    vsyslog(LOG_LPR | syslevels[level], message, ap);
+#else
     vfprintf(stderr, message, ap);
     putc('\n', stderr);
+#endif /* HAVE_VSYSLOG */
     va_end(ap);
 
     return (1);
@@ -533,14 +577,18 @@ cupsdLogMessage(int        level, /* I - Log level */
   * Format and write the log message...
   */
 
+  va_start(ap, message);
+
   do
   {
-    va_start(ap, message);
-    status = format_log_line(message, ap);
-    va_end(ap);
+    va_copy(ap2, ap);
+    status = format_log_line(message, ap2);
+    va_end(ap2);
   }
   while (status == 0);
 
+  va_end(ap);
+
   if (status > 0)
     return (cupsdWriteErrorLog(level, log_line));
   else
@@ -956,21 +1004,6 @@ cupsdWriteErrorLog(int        level,      /* I - Log level */
                  'D',
                  'd'
                };
-#ifdef HAVE_VSYSLOG
-  static const int     syslevels[] =   /* SYSLOG levels... */
-               {
-                 0,
-                 LOG_EMERG,
-                 LOG_ALERT,
-                 LOG_CRIT,
-                 LOG_ERR,
-                 LOG_WARNING,
-                 LOG_NOTICE,
-                 LOG_INFO,
-                 LOG_DEBUG,
-                 LOG_DEBUG
-               };
-#endif /* HAVE_VSYSLOG */
 
 
 #ifdef HAVE_VSYSLOG
@@ -1070,5 +1103,5 @@ format_log_line(const char *message,      /* I - Printf-style format string */
 
 
 /*
- * End of "$Id: log.c 9949 2011-08-31 04:58:33Z mike $".
+ * End of "$Id: log.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index c50ce9d..11eae52 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: main.c 9783 2011-05-18 20:44:16Z mike $"
+ * "$Id: main.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Main loop for the CUPS scheduler.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
 #if defined(HAVE_MALLOC_H) && defined(HAVE_MALLINFO)
 #  include <malloc.h>
 #endif /* HAVE_MALLOC_H && HAVE_MALLINFO */
+
 #ifdef HAVE_NOTIFY_H
 #  include <notify.h>
 #endif /* HAVE_NOTIFY_H */
 
+#ifdef HAVE_SYS_PARAM_H
+#  include <sys/param.h>
+#endif /* HAVE_SYS_PARAM_H */
+
 
 /*
  * Local functions...
@@ -84,7 +89,7 @@ static void           sigchld_handler(int sig);
 static void            sighup_handler(int sig);
 static void            sigterm_handler(int sig);
 static long            select_timeout(int fds);
-static void            usage(int status);
+static void            usage(int status) __attribute__((noreturn));
 
 
 /*
@@ -120,7 +125,6 @@ main(int  argc,                             /* I - Number of command-line args */
   cupsd_listener_t     *lis;           /* Current listener */
   time_t               current_time,   /* Current time */
                        activity,       /* Client activity timer */
-                       browse_time,    /* Next browse send time */
                        senddoc_time,   /* Send-Document time */
                        expire_time,    /* Subscription expire time */
                        report_time,    /* Malloc/client/job report time */
@@ -208,7 +212,6 @@ main(int  argc,                             /* I - Number of command-line args */
 
                 char *current;         /* Current directory */
 
-
               /*
                * Allocate a buffer for the current working directory to
                * reduce run-time stack usage; this approximates the
@@ -272,6 +275,29 @@ main(int  argc,                            /* I - Number of command-line args */
              UseProfiles = 0;
              break;
 
+          case 's' : /* Set cups-files.conf location */
+              i ++;
+             if (i >= argc)
+             {
+               _cupsLangPuts(stderr, _("cupsd: Expected cups-files.conf "
+                                       "filename after \"-s\" option."));
+               usage(1);
+             }
+
+              if (argv[i][0] != '/')
+             {
+              /*
+               * Relative filename not allowed...
+               */
+
+               _cupsLangPuts(stderr, _("cupsd: Relative cups-files.conf "
+                                       "filename not allowed."));
+               usage(1);
+              }
+
+             cupsdSetString(&CupsFilesFile, argv[i]);
+             break;
+
 #ifdef __APPLE__
           case 'S' : /* Disable system management functions */
               fputs("cupsd: -S (disable system management) for internal "
@@ -299,7 +325,39 @@ main(int  argc,                            /* I - Number of command-line args */
     }
 
   if (!ConfigurationFile)
+  {
     cupsdSetString(&ConfigurationFile, CUPS_SERVERROOT "/cupsd.conf");
+    cupsdSetString(&CupsFilesFile, CUPS_SERVERROOT "/cups-files.conf");
+  }
+
+  if (!CupsFilesFile)
+  {
+    char       *filename,              /* Copy of cupsd.conf filename */
+               *slash;                 /* Final slash in cupsd.conf filename */
+    size_t     len;                    /* Size of buffer */
+
+    len = strlen(ConfigurationFile) + 15;
+    if ((filename = malloc(len)) == NULL)
+    {
+      _cupsLangPrintf(stderr,
+                     _("cupsd: Unable to get path to "
+                       "cups-files.conf file."));
+      return (1);
+    }
+
+    strlcpy(filename, ConfigurationFile, len);
+    if ((slash = strrchr(filename, '/')) == NULL)
+    {
+      _cupsLangPrintf(stderr,
+                     _("cupsd: Unable to get path to "
+                       "cups-files.conf file."));
+      return (1);
+    }
+
+    strlcpy(slash, "/cups-files.conf", len - (slash - filename));
+    cupsdSetString(&CupsFilesFile, filename);
+    free(filename);
+  }
 
  /*
   * If the user hasn't specified "-f", run in the background...
@@ -366,15 +424,15 @@ main(int  argc,                           /* I - Number of command-line args */
       }
     }
 
-#ifdef __OpenBSD__
+#if defined(__OpenBSD__) && OpenBSD < 201211
    /*
     * Call _thread_sys_closefrom() so the child process doesn't reset the
     * parent's file descriptors to be blocking.  This is a workaround for a
-    * limitation of userland libpthread on OpenBSD.
+    * limitation of userland libpthread on older versions of OpenBSD.
     */
 
     _thread_sys_closefrom(0);
-#endif /* __OpenBSD__ */
+#endif /* __OpenBSD__ && OpenBSD < 201211 */
 
    /*
     * Since CoreFoundation and DBUS both create fork-unsafe data on execution of
@@ -484,17 +542,11 @@ main(int  argc,                           /* I - Number of command-line args */
   */
 
   if (!cupsdReadConfiguration())
-  {
-    if (TestConfigFile)
-      printf("%s contains errors\n", ConfigurationFile);
-    else
-      syslog(LOG_LPR, "Unable to read configuration file \'%s\' - exiting!",
-            ConfigurationFile);
     return (1);
-  }
   else if (TestConfigFile)
   {
-    printf("%s is OK\n", ConfigurationFile);
+    printf("\"%s\" is OK.\n", CupsFilesFile);
+    printf("\"%s\" is OK.\n", ConfigurationFile);
     return (0);
   }
 
@@ -650,7 +702,6 @@ main(int  argc,                             /* I - Number of command-line args */
   */
 
   current_time  = time(NULL);
-  browse_time   = current_time;
   event_time    = current_time;
   expire_time   = current_time;
   fds           = 1;
@@ -766,11 +817,9 @@ main(int  argc,                            /* I - Number of command-line args */
     * inactivity...
     */
 
-    if (timeout == 86400 && Launchd && LaunchdTimeout && !NumPolled &&
+    if (timeout == 86400 && Launchd && LaunchdTimeout &&
         !cupsArrayCount(ActiveJobs) &&
-       (!Browsing ||
-        (!BrowseRemoteProtocols &&
-         (!BrowseLocalProtocols || !cupsArrayCount(Printers)))))
+       (!Browsing || !BrowseLocalProtocols || !cupsArrayCount(Printers)))
     {
       timeout          = LaunchdTimeout;
       launchd_idle_exit = 1;
@@ -785,9 +834,9 @@ main(int  argc,                             /* I - Number of command-line args */
       * Got an error from select!
       */
 
-#ifdef HAVE_DNSSD
+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
       cupsd_printer_t  *p;             /* Current printer */
-#endif /* HAVE_DNSSD */
+#endif /* HAVE_DNSSD || HAVE_AVAHI */
 
 
       if (errno == EINTR)              /* Just interrupted by a signal */
@@ -812,8 +861,6 @@ main(int  argc,                             /* I - Number of command-line args */
           i ++, lis = (cupsd_listener_t *)cupsArrayNext(Listeners))
         cupsdLogMessage(CUPSD_LOG_EMERG, "Listeners[%d] = %d", i, lis->fd);
 
-      cupsdLogMessage(CUPSD_LOG_EMERG, "BrowseSocket = %d", BrowseSocket);
-
       cupsdLogMessage(CUPSD_LOG_EMERG, "CGIPipes[0] = %d", CGIPipes[0]);
 
 #ifdef __APPLE__
@@ -830,13 +877,13 @@ main(int  argc,                           /* I - Number of command-line args */
                        job->print_pipes[0], job->print_pipes[1],
                        job->back_pipes[0], job->back_pipes[1]);
 
-#ifdef HAVE_DNSSD
+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
       for (p = (cupsd_printer_t *)cupsArrayFirst(Printers);
           p;
           p = (cupsd_printer_t *)cupsArrayNext(Printers))
         cupsdLogMessage(CUPSD_LOG_EMERG, "printer[%s] reg_name=\"%s\"", p->name,
                        p->reg_name ? p->reg_name : "(null)");
-#endif /* HAVE_DNSSD */
+#endif /* HAVE_DNSSD || HAVE_AVAHI */
 
       break;
     }
@@ -914,31 +961,6 @@ main(int  argc,                            /* I - Number of command-line args */
       expire_time = current_time;
     }
 
-   /*
-    * Update the browse list as needed...
-    */
-
-    if (Browsing)
-    {
-#ifdef HAVE_LIBSLP
-      if ((BrowseRemoteProtocols & BROWSE_SLP) &&
-          BrowseSLPRefresh <= current_time)
-        cupsdUpdateSLPBrowse();
-#endif /* HAVE_LIBSLP */
-
-#ifdef HAVE_LDAP
-      if ((BrowseRemoteProtocols & BROWSE_LDAP) &&
-          BrowseLDAPRefresh <= current_time)
-        cupsdUpdateLDAPBrowse();
-#endif /* HAVE_LDAP */
-    }
-
-    if (Browsing && current_time > browse_time)
-    {
-      cupsdSendBrowseList();
-      browse_time = current_time;
-    }
-
 #ifndef HAVE_AUTHORIZATION_H
    /*
     * Update the root certificate once every 5 minutes if we have client
@@ -953,7 +975,7 @@ main(int  argc,                             /* I - Number of command-line args */
       */
 
       cupsdDeleteCert(0);
-      cupsdAddCert(0, "root", NULL);
+      cupsdAddCert(0, "root", cupsdDefaultAuthType());
     }
 #endif /* !HAVE_AUTHORIZATION_H */
 
@@ -998,11 +1020,17 @@ main(int  argc,                          /* I - Number of command-line args */
     if ((current_time - senddoc_time) >= 10)
     {
       cupsdCheckJobs();
-      cupsdCleanJobs();
       senddoc_time = current_time;
     }
 
    /*
+    * Clean job history...
+    */
+
+    if (JobHistoryUpdate && current_time >= JobHistoryUpdate)
+      cupsdCleanJobs();
+
+   /*
     * Log statistics at most once a minute when in debug mode...
     */
 
@@ -1031,8 +1059,6 @@ main(int  argc,                           /* I - Number of command-line args */
                       cupsArrayCount(ActiveJobs));
       cupsdLogMessage(CUPSD_LOG_DEBUG, "Report: printers=%d",
                       cupsArrayCount(Printers));
-      cupsdLogMessage(CUPSD_LOG_DEBUG, "Report: printers-implicit=%d",
-                      cupsArrayCount(ImplicitPrinters));
 
       string_count = _cupsStrStatistics(&alloc_bytes, &total_bytes);
       cupsdLogMessage(CUPSD_LOG_DEBUG,
@@ -1141,23 +1167,6 @@ main(int  argc,                          /* I - Number of command-line args */
     cupsdStopSystemMonitor();
 #endif /* __APPLE__ */
 
-#ifdef HAVE_GSSAPI
- /*
-  * Free the scheduler's Kerberos context...
-  */
-
-#  ifdef __APPLE__
- /*
-  * If the weak-linked GSSAPI/Kerberos library is not present, don't try
-  * to use it...
-  */
-
-  if (krb5_init_context != NULL)
-#  endif /* __APPLE__ */
-  if (KerberosContext)
-    krb5_free_context(KerberosContext);
-#endif /* HAVE_GSSAPI */
-
 #ifdef __sgi
  /*
   * Remove the fake IRIX lpsched lock file, but only if the existing
@@ -1317,7 +1326,7 @@ cupsdSetStringf(char       **s,           /* O - New string */
                 const char *f,         /* I - Printf-style format string */
                ...)                    /* I - Additional args as needed */
 {
-  char         v[4096];                /* Formatting string value */
+  char         v[65536 + 64];          /* Formatting string value */
   va_list      ap;                     /* Argument pointer */
   char         *olds;                  /* Old string */
 
@@ -1512,10 +1521,8 @@ launchd_checkout(void)
   * shared printers to advertise...
   */
 
-  if (cupsArrayCount(ActiveJobs) || NumPolled ||
-      (Browsing &&
-       (BrowseRemoteProtocols || 
-        (BrowseLocalProtocols && cupsArrayCount(Printers)))))
+  if (cupsArrayCount(ActiveJobs) ||
+      (Browsing && BrowseLocalProtocols && cupsArrayCount(Printers)))
   {
     cupsdLogMessage(CUPSD_LOG_DEBUG,
                     "Creating launchd keepalive file \"" CUPS_KEEPALIVE
@@ -1564,6 +1571,7 @@ process_children(void)
   cupsd_job_t  *job;                   /* Current job */
   int          i;                      /* Looping var */
   char         name[1024];             /* Process name */
+  const char   *type;                  /* Type of program */
 
 
   cupsdLogMessage(CUPSD_LOG_DEBUG2, "process_children()");
@@ -1603,7 +1611,12 @@ process_children(void)
     * Handle completed job filters...
     */
 
-    if (job_id > 0 && (job = cupsdFindJob(job_id)) != NULL)
+    if (job_id > 0)
+      job = cupsdFindJob(job_id);
+    else
+      job  = NULL;
+
+    if (job)
     {
       for (i = 0; job->filters[i]; i ++)
        if (job->filters[i] == pid)
@@ -1616,12 +1629,18 @@ process_children(void)
        */
 
        if (job->filters[i])
+       {
          job->filters[i] = -pid;
+         type            = "Filter";
+       }
        else
+       {
          job->backend = -pid;
+         type         = "Backend";
+       }
 
        if (status && status != SIGTERM && status != SIGKILL &&
-           status != SIGPIPE && job->status >= 0)
+           status != SIGPIPE)
        {
         /*
          * An error occurred; save the exit status so we know to stop
@@ -1629,22 +1648,35 @@ process_children(void)
          *
          * A negative status indicates that the backend failed and the
          * printer needs to be stopped.
+         *
+         * In order to preserve the most serious status, we always log
+         * when a process dies due to a signal (e.g. SIGABRT, SIGSEGV,
+         * and SIGBUS) and prefer to log the backend exit status over a
+         * filter's.
          */
 
-         if (job->filters[i])
-           job->status = status;       /* Filter failed */
-         else
-           job->status = -status;      /* Backend failed */
+         int old_status = abs(job->status);
+
+          if (WIFSIGNALED(status) ||   /* This process crashed, or */
+              !job->status ||          /* No process had a status, or */
+              (!job->filters[i] && WIFEXITED(old_status)))
+          {                            /* Backend and filter didn't crash */
+           if (job->filters[i])
+             job->status = status;     /* Filter failed */
+           else
+             job->status = -status;    /* Backend failed */
+          }
 
          if (job->state_value == IPP_JOB_PROCESSING &&
-             job->status_level > CUPSD_LOG_ERROR)
+             job->status_level > CUPSD_LOG_ERROR &&
+             (job->filters[i] || !WIFEXITED(status)))
          {
            char        message[1024];  /* New printer-state-message */
 
 
            job->status_level = CUPSD_LOG_ERROR;
 
-           snprintf(message, sizeof(message), "%s failed", name);
+           snprintf(message, sizeof(message), "%s failed", type);
 
             if (job->printer)
            {
@@ -1714,15 +1746,15 @@ process_children(void)
 
     if (status == SIGTERM || status == SIGKILL)
     {
-      cupsdLogMessage(CUPSD_LOG_DEBUG,
-                      "PID %d (%s) was terminated normally with signal %d.",
-                      pid, name, status);
+      cupsdLogJob(job, CUPSD_LOG_DEBUG,
+                 "PID %d (%s) was terminated normally with signal %d.", pid,
+                 name, status);
     }
     else if (status == SIGPIPE)
     {
-      cupsdLogMessage(CUPSD_LOG_DEBUG,
-                      "PID %d (%s) did not catch or ignore signal %d.",
-                      pid, name, status);
+      cupsdLogJob(job, CUPSD_LOG_DEBUG,
+                 "PID %d (%s) did not catch or ignore signal %d.", pid, name,
+                 status);
     }
     else if (status)
     {
@@ -1731,26 +1763,25 @@ process_children(void)
         int code = WEXITSTATUS(status);        /* Exit code */
 
         if (code > 100)
-         cupsdLogMessage(CUPSD_LOG_DEBUG,
-                         "PID %d (%s) stopped with status %d (%s)", pid, name,
-                         code, strerror(code - 100));
+         cupsdLogJob(job, CUPSD_LOG_DEBUG,
+                     "PID %d (%s) stopped with status %d (%s)", pid, name,
+                     code, strerror(code - 100));
        else
-         cupsdLogMessage(CUPSD_LOG_DEBUG,
-                         "PID %d (%s) stopped with status %d.", pid, name,
-                         code);
+         cupsdLogJob(job, CUPSD_LOG_DEBUG,
+                     "PID %d (%s) stopped with status %d.", pid, name, code);
       }
       else
-       cupsdLogMessage(CUPSD_LOG_ERROR, "PID %d (%s) crashed on signal %d.",
-                       pid, name, WTERMSIG(status));
+       cupsdLogJob(job, CUPSD_LOG_DEBUG, "PID %d (%s) crashed on signal %d.",
+                   pid, name, WTERMSIG(status));
 
       if (LogLevel < CUPSD_LOG_DEBUG)
-        cupsdLogMessage(CUPSD_LOG_INFO,
-                       "Hint: Try setting the LogLevel to \"debug\" to find "
-                       "out more.");
+        cupsdLogJob(job, CUPSD_LOG_INFO,
+                   "Hint: Try setting the LogLevel to \"debug\" to find out "
+                   "more.");
     }
     else
-      cupsdLogMessage(CUPSD_LOG_DEBUG, "PID %d (%s) exited with no errors.",
-                      pid, name);
+      cupsdLogJob(job, CUPSD_LOG_DEBUG, "PID %d (%s) exited with no errors.",
+                 pid, name);
   }
 
  /*
@@ -1773,12 +1804,14 @@ select_timeout(int fds)                 /* I - Number of descriptors returned */
   long                 timeout;        /* Timeout for select */
   time_t               now;            /* Current time */
   cupsd_client_t       *con;           /* Client information */
-  cupsd_printer_t      *p;             /* Printer information */
   cupsd_job_t          *job;           /* Job information */
   cupsd_subscription_t *sub;           /* Subscription information */
   const char           *why;           /* Debugging aid */
 
 
+  cupsdLogMessage(CUPSD_LOG_DEBUG2, "select_timeout: JobHistoryUpdate=%ld",
+                 (long)JobHistoryUpdate);
+
  /*
   * Check to see if any of the clients have pending data to be
   * processed; if so, the timeout should be 0...
@@ -1848,54 +1881,6 @@ select_timeout(int fds)                  /* I - Number of descriptors returned */
     }
 
  /*
-  * Update the browse list as needed...
-  */
-
-  if (Browsing && BrowseLocalProtocols)
-  {
-#ifdef HAVE_LIBSLP
-    if ((BrowseLocalProtocols & BROWSE_SLP) && (BrowseSLPRefresh < timeout))
-    {
-      timeout = BrowseSLPRefresh;
-      why     = "update SLP browsing";
-    }
-#endif /* HAVE_LIBSLP */
-
-#ifdef HAVE_LDAP
-    if ((BrowseLocalProtocols & BROWSE_LDAP) && (BrowseLDAPRefresh < timeout))
-    {
-      timeout = BrowseLDAPRefresh;
-      why     = "update LDAP browsing";
-    }
-#endif /* HAVE_LDAP */
-
-    if ((BrowseLocalProtocols & BROWSE_CUPS) && NumBrowsers)
-    {
-      for (p = (cupsd_printer_t *)cupsArrayFirst(Printers);
-           p;
-          p = (cupsd_printer_t *)cupsArrayNext(Printers))
-      {
-       if (p->type & CUPS_PRINTER_REMOTE)
-       {
-         if ((p->browse_time + BrowseTimeout) < timeout)
-         {
-           timeout = p->browse_time + BrowseTimeout;
-           why     = "browse timeout a printer";
-         }
-       }
-       else if (p->shared && !(p->type & CUPS_PRINTER_IMPLICIT))
-       {
-         if (BrowseInterval && (p->browse_time + BrowseInterval) < timeout)
-         {
-           timeout = p->browse_time + BrowseInterval;
-           why     = "send browse update";
-         }
-       }
-      }
-    }
-  }
-
- /*
   * Write out changes to configuration and state files...
   */
 
@@ -1906,13 +1891,25 @@ select_timeout(int fds)                 /* I - Number of descriptors returned */
   }
 
  /*
-  * Check for any active jobs...
+  * Check for any job activity...
   */
 
+  if (JobHistoryUpdate && timeout > JobHistoryUpdate)
+  {
+    timeout = JobHistoryUpdate;
+    why     = "update job history";
+  }
+
   for (job = (cupsd_job_t *)cupsArrayFirst(ActiveJobs);
        job;
        job = (cupsd_job_t *)cupsArrayNext(ActiveJobs))
   {
+    if (job->cancel_time && job->cancel_time < timeout)
+    {
+      timeout = job->cancel_time;
+      why     = "cancel stuck jobs";
+    }
+
     if (job->kill_time && job->kill_time < timeout)
     {
       timeout = job->kill_time;
@@ -1924,7 +1921,8 @@ select_timeout(int fds)                   /* I - Number of descriptors returned */
       timeout = job->hold_until;
       why     = "release held jobs";
     }
-    else if (job->state_value == IPP_JOB_PENDING && timeout > (now + 10))
+
+    if (job->state_value == IPP_JOB_PENDING && timeout > (now + 10))
     {
       timeout = now + 10;
       why     = "start pending jobs";
@@ -1958,11 +1956,9 @@ select_timeout(int fds)                  /* I - Number of descriptors returned */
     }
 
  /*
-  * Adjust from absolute to relative time.  If p->browse_time above
-  * was 0 then we can end up with a negative value here, so check.
-  * We add 1 second to the timeout since events occur after the
-  * timeout expires, and limit the timeout to 86400 seconds (1 day)
-  * to avoid select() timeout limits present on some operating
+  * Adjust from absolute to relative time.  We add 1 second to the timeout since
+  * events occur after the timeout expires, and limit the timeout to 86400
+  * seconds (1 day) to avoid select() timeout limits present on some operating
   * systems...
   */
 
@@ -2056,8 +2052,7 @@ usage(int status)                 /* O - Exit status */
 
   _cupsLangPuts(fp, _("Usage: cupsd [options]"));
   _cupsLangPuts(fp, _("Options:"));
-  _cupsLangPuts(fp, _("  -c config-file          Load alternate configuration "
-                      "file."));
+  _cupsLangPuts(fp, _("  -c cupsd.conf           Set cupsd.conf file to use."));
   _cupsLangPuts(fp, _("  -f                      Run in the foreground."));
   _cupsLangPuts(fp, _("  -F                      Run in the foreground but "
                       "detach from console."));
@@ -2071,5 +2066,5 @@ usage(int status)                 /* O - Exit status */
 
 
 /*
- * End of "$Id: main.c 9783 2011-05-18 20:44:16Z mike $".
+ * End of "$Id: main.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 5891253..f984548 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: mime-private.h 9750 2011-05-06 22:53:53Z mike $"
+ * "$Id: mime-private.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Private MIME type/conversion database definitions for CUPS.
  *
@@ -32,10 +32,7 @@ extern "C" {
  */
 
 extern void    _mimeError(mime_t *mime, const char *format, ...)
-#ifdef __GNUC__
-__attribute__ ((__format__ (__printf__, 2, 3)))
-#endif /* __GNUC__ */
-;
+               __attribute__ ((__format__ (__printf__, 2, 3)));
 
 
 #  ifdef __cplusplus
@@ -44,5 +41,5 @@ __attribute__ ((__format__ (__printf__, 2, 3)))
 #endif /* !_CUPS_MIME_PRIVATE_H_ */
 
 /*
- * End of "$Id: mime-private.h 9750 2011-05-06 22:53:53Z mike $".
+ * End of "$Id: mime-private.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index fd7c12a..412c9e0 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: mime.c 9750 2011-05-06 22:53:53Z mike $"
+ * "$Id: mime.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   MIME database file routines for CUPS.
  *
@@ -956,5 +956,5 @@ mime_load_types(mime_t     *mime,   /* I - MIME database */
 
 
 /*
- * End of "$Id: mime.c 9750 2011-05-06 22:53:53Z mike $".
+ * End of "$Id: mime.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index c9e2147..51d7a29 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: mime.h 9750 2011-05-06 22:53:53Z mike $"
+ * "$Id: mime.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   MIME type/conversion database definitions for CUPS.
  *
@@ -158,5 +158,5 @@ extern void         mimeSetErrorCallback(mime_t *mime, mime_error_cb_t cb,
 #endif /* !_CUPS_MIME_H_ */
 
 /*
- * End of "$Id: mime.h 9750 2011-05-06 22:53:53Z mike $".
+ * End of "$Id: mime.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index 921ed17..07b5265 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: network.c 10379 2012-03-23 22:16:22Z mike $"
+ * "$Id: network.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Network interface functions for the CUPS scheduler.
  *
@@ -296,5 +296,5 @@ compare_netif(cupsd_netif_t *a,             /* I - First network interface */
 
 
 /*
- * End of "$Id: network.c 10379 2012-03-23 22:16:22Z mike $".
+ * End of "$Id: network.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index f16a06b..0570975 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: network.h 9350 2010-11-04 23:23:25Z mike $"
+ * "$Id: network.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Network interface definitions for the CUPS scheduler.
  *
@@ -48,5 +48,5 @@ extern void           cupsdNetIFUpdate(void);
 
 
 /*
- * End of "$Id: network.h 9350 2010-11-04 23:23:25Z mike $".
+ * End of "$Id: network.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index fb29ce0..75b5983 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: policy.c 9793 2011-05-20 03:49:49Z mike $"
+ * "$Id: policy.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Policy routines for the CUPS scheduler.
  *
@@ -513,5 +513,5 @@ hash_op(cupsd_location_t *op)               /* I - Operation */
 
 
 /*
- * End of "$Id: policy.c 9793 2011-05-20 03:49:49Z mike $".
+ * End of "$Id: policy.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index f718777..df17a11 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: policy.h 9352 2010-11-06 04:55:26Z mike $"
+ * "$Id: policy.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Policy definitions for the CUPS scheduler.
  *
@@ -59,5 +59,5 @@ extern cups_array_t   *cupsdGetPrivateAttrs(cupsd_policy_t *p,
 
 
 /*
- * End of "$Id: policy.h 9352 2010-11-06 04:55:26Z mike $".
+ * End of "$Id: policy.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index 1220db6..48c4a82 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: printers.c 10295 2012-02-15 23:21:06Z mike $"
+ * "$Id: printers.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Printer routines for the CUPS scheduler.
  *
@@ -168,9 +168,6 @@ cupsdAddPrinter(const char *name)   /* I - Name of printer */
                   "cupsdAddPrinter: Adding %s to Printers", p->name);
   cupsArrayAdd(Printers, p);
 
-  if (!ImplicitPrinters)
-    ImplicitPrinters = cupsArrayNew(compare_printers, NULL);
-
  /*
   * Return the new printer...
   */
@@ -643,8 +640,7 @@ cupsdCreateCommonData(void)
 
   /* operations-supported */
   ippAddIntegers(CommonData, IPP_TAG_PRINTER, IPP_TAG_ENUM,
-                 "operations-supported",
-                 sizeof(ops) / sizeof(ops[0]) + JobFiles - 1, ops);
+                 "operations-supported", sizeof(ops) / sizeof(ops[0]), ops);
 
   /* orientation-requested-supported */
   ippAddIntegers(CommonData, IPP_TAG_PRINTER, IPP_TAG_ENUM,
@@ -752,16 +748,6 @@ cupsdDeletePrinter(
                              "Job stopped.");
 
  /*
-  * If this printer is the next for browsing, point to the next one...
-  */
-
-  if (p == BrowseNext)
-  {
-    cupsArrayFind(Printers, p);
-    BrowseNext = (cupsd_printer_t *)cupsArrayNext(Printers);
-  }
-
- /*
   * Remove the printer from the list...
   */
 
@@ -769,14 +755,6 @@ cupsdDeletePrinter(
                   "cupsdDeletePrinter: Removing %s from Printers", p->name);
   cupsArrayRemove(Printers, p);
 
-  if (p->type & CUPS_PRINTER_IMPLICIT)
-  {
-    cupsdLogMessage(CUPSD_LOG_DEBUG2,
-                   "cupsdDeletePrinter: Removing %s from ImplicitPrinters",
-                   p->name);
-    cupsArrayRemove(ImplicitPrinters, p);
-  }
-
  /*
   * Remove the dummy interface/icon/option files under IRIX...
   */
@@ -807,43 +785,19 @@ cupsdDeletePrinter(
   */
 
   if (p == DefaultPrinter)
-  {
     DefaultPrinter = NULL;
 
-    if (UseNetworkDefault)
-    {
-     /*
-      * Find the first network default printer and use it...
-      */
-
-      cupsd_printer_t  *dp;            /* New default printer */
-
-
-      for (dp = (cupsd_printer_t *)cupsArrayFirst(Printers);
-          dp;
-          dp = (cupsd_printer_t *)cupsArrayNext(Printers))
-       if (dp != p && (dp->type & CUPS_PRINTER_DEFAULT))
-       {
-         DefaultPrinter = dp;
-         break;
-       }
-    }
-  }
-
  /*
   * Remove this printer from any classes...
   */
 
-  if (!(p->type & CUPS_PRINTER_IMPLICIT))
-  {
-    changed = cupsdDeletePrinterFromClasses(p);
+  changed = cupsdDeletePrinterFromClasses(p);
 
  /*
-    * Deregister from any browse protocols...
-    */
+ /*
+  * Deregister from any browse protocols...
+  */
 
-    cupsdDeregisterPrinter(p, 1);
-  }
+  cupsdDeregisterPrinter(p, 1);
 
  /*
   * Free all memory used by the printer...
@@ -883,15 +837,13 @@ cupsdDeletePrinter(
   cupsdClearString(&p->alert);
   cupsdClearString(&p->alert_description);
 
-#ifdef HAVE_DNSSD
+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
   cupsdClearString(&p->pdl);
-#endif /* HAVE_DNSSD */
+  cupsdClearString(&p->reg_name);
+#endif /* HAVE_DNSSD || HAVE_AVAHI */
 
   cupsArrayDelete(p->filetypes);
 
-  if (p->browse_attrs)
-    free(p->browse_attrs);
-
   cupsFreeOptions(p->num_options, p->options);
 
   free(p);
@@ -1396,14 +1348,6 @@ cupsdRenamePrinter(
                   "cupsdRenamePrinter: Removing %s from Printers", p->name);
   cupsArrayRemove(Printers, p);
 
-  if (p->type & CUPS_PRINTER_IMPLICIT)
-  {
-    cupsdLogMessage(CUPSD_LOG_DEBUG2,
-                   "cupsdRenamePrinter: Removing %s from ImplicitPrinters",
-                   p->name);
-    cupsArrayRemove(ImplicitPrinters, p);
-  }
-
  /*
   * Rename the printer type...
   */
@@ -1436,14 +1380,6 @@ cupsdRenamePrinter(
   cupsdLogMessage(CUPSD_LOG_DEBUG2,
                   "cupsdRenamePrinter: Adding %s to Printers", p->name);
   cupsArrayAdd(Printers, p);
-
-  if (p->type & CUPS_PRINTER_IMPLICIT)
-  {
-    cupsdLogMessage(CUPSD_LOG_DEBUG2,
-                   "cupsdRenamePrinter: Adding %s to ImplicitPrinters",
-                   p->name);
-    cupsArrayAdd(ImplicitPrinters, p);
-  }
 }
 
 
@@ -1501,12 +1437,10 @@ cupsdSaveAllPrinters(void)
        printer = (cupsd_printer_t *)cupsArrayNext(Printers))
   {
    /*
-    * Skip remote destinations and printer classes...
+    * Skip printer classes...
     */
 
-    if ((printer->type & CUPS_PRINTER_DISCOVERED) ||
-        (printer->type & CUPS_PRINTER_CLASS) ||
-       (printer->type & CUPS_PRINTER_IMPLICIT))
+    if (printer->type & CUPS_PRINTER_CLASS)
       continue;
 
    /*
@@ -2138,27 +2072,14 @@ cupsdSetPrinterAttr(
 void
 cupsdSetPrinterAttrs(cupsd_printer_t *p)/* I - Printer to setup */
 {
-  int          i,                      /* Looping var */
-               length;                 /* Length of browse attributes */
+  int          i;                      /* Looping var */
   char         resource[HTTP_MAX_URI]; /* Resource portion of URI */
-  int          num_air;                /* Number of auth-info-required values */
-  const char   * const *air;           /* auth-info-required values */
   cupsd_location_t *auth;              /* Pointer to authentication element */
   const char   *auth_supported;        /* Authentication supported */
   ipp_t                *oldattrs;              /* Old printer attributes */
   ipp_attribute_t *attr;               /* Attribute data */
-  cups_option_t        *option;                /* Current printer option */
   char         *name,                  /* Current user/group name */
                *filter;                /* Current filter */
-  static const char * const air_none[] =
-               {                       /* No authentication */
-                 "none"
-               };
-  static const char * const air_userpass[] =
-               {                       /* Basic/Digest authentication */
-                 "username",
-                 "password"
-               };
 
 
   DEBUG_printf(("cupsdSetPrinterAttrs: entering name = %s, type = %x\n", p->name,
@@ -2182,20 +2103,6 @@ cupsdSetPrinterAttrs(cupsd_printer_t *p)/* I - Printer to setup */
   */
 
   auth_supported = "requesting-user-name";
-  num_air        = 1;
-  air            = air_none;
-
-  if (p->num_auth_info_required > 0 && strcmp(p->auth_info_required[0], "none"))
-  {
-    num_air = p->num_auth_info_required;
-    air     = p->auth_info_required;
-  }
-  else if ((p->type & CUPS_PRINTER_AUTHENTICATED) &&
-           (p->type & CUPS_PRINTER_DISCOVERED))
-  {
-    num_air = 2;
-    air     = air_userpass;
-  }
 
   if (p->type & CUPS_PRINTER_CLASS)
     snprintf(resource, sizeof(resource), "/classes/%s", p->name);
@@ -2212,7 +2119,7 @@ cupsdSetPrinterAttrs(cupsd_printer_t *p)/* I - Printer to setup */
 
 
     if ((auth_type = auth->type) == CUPSD_AUTH_DEFAULT)
-      auth_type = DefaultAuthType;
+      auth_type = cupsdDefaultAuthType();
 
     if (auth_type == CUPSD_AUTH_BASIC || auth_type == CUPSD_AUTH_BASICDIGEST)
       auth_supported = "basic";
@@ -2223,15 +2130,12 @@ cupsdSetPrinterAttrs(cupsd_printer_t *p)/* I - Printer to setup */
       auth_supported = "negotiate";
 #endif /* HAVE_GSSAPI */
 
-    if (!(p->type & CUPS_PRINTER_DISCOVERED))
-    {
-      if (auth_type != CUPSD_AUTH_NONE)
-       p->type |= CUPS_PRINTER_AUTHENTICATED;
-      else
-       p->type &= ~CUPS_PRINTER_AUTHENTICATED;
-    }
+    if (auth_type != CUPSD_AUTH_NONE)
+      p->type |= CUPS_PRINTER_AUTHENTICATED;
+    else
+      p->type &= ~CUPS_PRINTER_AUTHENTICATED;
   }
-  else if (!(p->type & CUPS_PRINTER_DISCOVERED))
+  else
     p->type &= ~CUPS_PRINTER_AUTHENTICATED;
 
  /*
@@ -2277,10 +2181,12 @@ cupsdSetPrinterAttrs(cupsd_printer_t *p)/* I - Printer to setup */
                 "job-k-limit", p->k_limit);
   ippAddInteger(p->attrs, IPP_TAG_PRINTER, IPP_TAG_INTEGER,
                 "job-page-limit", p->page_limit);
-  ippAddStrings(p->attrs, IPP_TAG_PRINTER, IPP_TAG_KEYWORD,
-               "auth-info-required", num_air, NULL, air);
+  if (p->num_auth_info_required > 0 && strcmp(p->auth_info_required[0], "none"))
+    ippAddStrings(p->attrs, IPP_TAG_PRINTER, IPP_TAG_KEYWORD,
+                 "auth-info-required", p->num_auth_info_required, NULL,
+                 p->auth_info_required);
 
-  if (cupsArrayCount(Banners) > 0 && !(p->type & CUPS_PRINTER_DISCOVERED))
+  if (cupsArrayCount(Banners) > 0)
   {
    /*
     * Setup the job-sheets-default attribute...
@@ -2301,164 +2207,117 @@ cupsdSetPrinterAttrs(cupsd_printer_t *p)/* I - Printer to setup */
   p->raw    = 0;
   p->remote = 0;
 
-  if (p->type & CUPS_PRINTER_DISCOVERED)
+ /*
+  * Assign additional attributes depending on whether this is a printer
+  * or class...
+  */
+
+  if (p->type & CUPS_PRINTER_CLASS)
   {
+    p->raw = 1;
+    p->type &= ~CUPS_PRINTER_OPTIONS;
+
    /*
-    * Tell the client this is a remote printer of some type...
+    * Add class-specific attributes...
     */
 
-    if (strchr(p->uri, '?'))
+    ippAddString(p->attrs, IPP_TAG_PRINTER, IPP_TAG_TEXT,
+                "printer-make-and-model", NULL, "Local Printer Class");
+    ippAddString(p->attrs, IPP_TAG_PRINTER, IPP_TAG_URI, "device-uri", NULL,
+                "file:///dev/null");
+
+    if (p->num_printers > 0)
     {
      /*
-      * Strip trailing "?options" from URI...
+      * Add a list of member names; URIs are added in copy_printer_attrs...
       */
 
-      char *ptr;                       /* Pointer into URI */
+      attr    = ippAddStrings(p->attrs, IPP_TAG_PRINTER, IPP_TAG_NAME,
+                             "member-names", p->num_printers, NULL, NULL);
+      p->type |= CUPS_PRINTER_OPTIONS;
 
-      strlcpy(resource, p->uri, sizeof(resource));
-      if ((ptr = strchr(resource, '?')) != NULL)
-        *ptr = '\0';
+      for (i = 0; i < p->num_printers; i ++)
+      {
+       if (attr != NULL)
+         attr->values[i].string.text = _cupsStrRetain(p->printers[i]->name);
 
-      ippAddString(p->attrs, IPP_TAG_PRINTER, IPP_TAG_URI,
-                  "printer-uri-supported", NULL, resource);
+       p->type &= ~CUPS_PRINTER_OPTIONS | p->printers[i]->type;
+      }
     }
-    else
-      ippAddString(p->attrs, IPP_TAG_PRINTER, IPP_TAG_URI,
-                  "printer-uri-supported", NULL, p->uri);
-
-    ippAddString(p->attrs, IPP_TAG_PRINTER, IPP_TAG_URI, "printer-more-info",
-                NULL, p->uri);
-
-    if (p->make_model)
-      ippAddString(p->attrs, IPP_TAG_PRINTER, IPP_TAG_TEXT,
-                   "printer-make-and-model", NULL, p->make_model);
-
-    ippAddString(p->attrs, IPP_TAG_PRINTER, IPP_TAG_URI, "device-uri", NULL,
-                p->uri);
-
-    p->raw    = 1;
-    p->remote = 1;
   }
   else
   {
    /*
-    * Assign additional attributes depending on whether this is a printer
-    * or class...
+    * Add printer-specific attributes...
     */
 
-    if (p->type & (CUPS_PRINTER_CLASS | CUPS_PRINTER_IMPLICIT))
-    {
-      p->raw = 1;
-      p->type &= ~CUPS_PRINTER_OPTIONS;
-
-     /*
-      * Add class-specific attributes...
-      */
-
-      if ((p->type & CUPS_PRINTER_IMPLICIT) && p->num_printers > 0 &&
-          p->printers[0]->make_model)
-       ippAddString(p->attrs, IPP_TAG_PRINTER, IPP_TAG_TEXT,
-                     "printer-make-and-model", NULL, p->printers[0]->make_model);
-      else
-       ippAddString(p->attrs, IPP_TAG_PRINTER, IPP_TAG_TEXT,
-                     "printer-make-and-model", NULL, "Local Printer Class");
+    ippAddString(p->attrs, IPP_TAG_PRINTER, IPP_TAG_URI, "device-uri", NULL,
+                p->sanitized_device_uri);
 
-      ippAddString(p->attrs, IPP_TAG_PRINTER, IPP_TAG_URI, "device-uri", NULL,
-                  "file:///dev/null");
+   /*
+    * Assign additional attributes from the PPD file (if any)...
+    */
 
-      if (p->num_printers > 0)
-      {
-       /*
-       * Add a list of member names; URIs are added in copy_printer_attrs...
-       */
+    load_ppd(p);
 
-       attr    = ippAddStrings(p->attrs, IPP_TAG_PRINTER, IPP_TAG_NAME,
-                                "member-names", p->num_printers, NULL, NULL);
-        p->type |= CUPS_PRINTER_OPTIONS;
+   /*
+    * Add filters for printer...
+    */
 
-       for (i = 0; i < p->num_printers; i ++)
-       {
-          if (attr != NULL)
-            attr->values[i].string.text = _cupsStrRetain(p->printers[i]->name);
+    cupsdSetPrinterReasons(p, "-cups-missing-filter-warning,"
+                             "cups-insecure-filter-warning");
 
-         p->type &= ~CUPS_PRINTER_OPTIONS | p->printers[i]->type;
-        }
-      }
+    if (p->pc && p->pc->filters)
+    {
+      for (filter = (char *)cupsArrayFirst(p->pc->filters);
+          filter;
+          filter = (char *)cupsArrayNext(p->pc->filters))
+       add_printer_filter(p, p->filetype, filter);
     }
-    else
+    else if (!(p->type & CUPS_PRINTER_REMOTE))
     {
-     /*
-      * Add printer-specific attributes...
-      */
+      char     interface[1024];        /* Interface script */
 
-      ippAddString(p->attrs, IPP_TAG_PRINTER, IPP_TAG_URI, "device-uri", NULL,
-                  p->sanitized_device_uri);
 
-     /*
-      * Assign additional attributes from the PPD file (if any)...
-      */
-
-      load_ppd(p);
-
-     /*
-      * Add filters for printer...
-      */
-
-      cupsdSetPrinterReasons(p, "-cups-missing-filter-warning,"
-                                "cups-insecure-filter-warning");
-
-      if (p->pc && p->pc->filters)
+      snprintf(interface, sizeof(interface), "%s/interfaces/%s", ServerRoot,
+              p->name);
+      if (!access(interface, X_OK))
       {
-       for (filter = (char *)cupsArrayFirst(p->pc->filters);
-            filter;
-            filter = (char *)cupsArrayNext(p->pc->filters))
-         add_printer_filter(p, p->filetype, filter);
+       /*
+       * Yes, we have a System V style interface script; use it!
+       */
+
+       snprintf(interface, sizeof(interface), "*/* 0 %s/interfaces/%s",
+                ServerRoot, p->name);
+       add_printer_filter(p, p->filetype, interface);
       }
-      else if (!(p->type & CUPS_PRINTER_REMOTE))
+      else
       {
-       char    interface[1024];        /* Interface script */
-
-
-       snprintf(interface, sizeof(interface), "%s/interfaces/%s", ServerRoot,
-                p->name);
-       if (!access(interface, X_OK))
-       {
-        /*
-         * Yes, we have a System V style interface script; use it!
-         */
-
-         snprintf(interface, sizeof(interface), "*/* 0 %s/interfaces/%s",
-                  ServerRoot, p->name);
-         add_printer_filter(p, p->filetype, interface);
-       }
-       else
-       {
-        /*
-         * Add a filter from application/vnd.cups-raw to printer/name to
-         * handle "raw" printing by users.
-         */
+       /*
+       * Add a filter from application/vnd.cups-raw to printer/name to
+       * handle "raw" printing by users.
+       */
 
-         add_printer_filter(p, p->filetype, "application/vnd.cups-raw 0 -");
+       add_printer_filter(p, p->filetype, "application/vnd.cups-raw 0 -");
 
-        /*
-         * Add a PostScript filter, since this is still possibly PS printer.
-         */
+       /*
+       * Add a PostScript filter, since this is still possibly PS printer.
+       */
 
-         add_printer_filter(p, p->filetype,
-                            "application/vnd.cups-postscript 0 -");
-       }
+       add_printer_filter(p, p->filetype,
+                          "application/vnd.cups-postscript 0 -");
       }
+    }
 
-      if (p->pc && p->pc->prefilters)
-      {
-        if (!p->prefiltertype)
-          p->prefiltertype = mimeAddType(MimeDatabase, "prefilter", p->name);
+    if (p->pc && p->pc->prefilters)
+    {
+      if (!p->prefiltertype)
+       p->prefiltertype = mimeAddType(MimeDatabase, "prefilter", p->name);
 
-        for (filter = (char *)cupsArrayFirst(p->pc->prefilters);
-            filter;
-            filter = (char *)cupsArrayNext(p->pc->prefilters))
-         add_printer_filter(p, p->prefiltertype, filter);
-      }
+      for (filter = (char *)cupsArrayFirst(p->pc->prefilters);
+          filter;
+          filter = (char *)cupsArrayNext(p->pc->prefilters))
+       add_printer_filter(p, p->prefiltertype, filter);
     }
   }
 
@@ -2558,98 +2417,8 @@ cupsdSetPrinterAttrs(cupsd_printer_t *p)/* I - Printer to setup */
   * Force sharing off for remote queues...
   */
 
-  if (p->type & (CUPS_PRINTER_REMOTE | CUPS_PRINTER_IMPLICIT))
+  if (p->type & CUPS_PRINTER_REMOTE)
     p->shared = 0;
-  else
-  {
-   /*
-    * Copy the printer options into a browse attributes string we can re-use.
-    */
-
-    const char *valptr;                /* Pointer into value */
-    char       *attrptr;               /* Pointer into attribute string */
-
-
-   /*
-    * Free the old browse attributes as needed...
-    */
-
-    if (p->browse_attrs)
-      free(p->browse_attrs);
-
-   /*
-    * Compute the length of all attributes + job-sheets, lease-duration,
-    * and BrowseLocalOptions.
-    */
-
-    for (length = 1, i = p->num_options, option = p->options;
-         i > 0;
-        i --, option ++)
-    {
-      length += strlen(option->name) + 2;
-
-      if (option->value)
-      {
-        for (valptr = option->value; *valptr; valptr ++)
-         if (strchr(" \"\'\\", *valptr))
-           length += 2;
-         else
-           length ++;
-      }
-    }
-
-    length += 13 + strlen(p->job_sheets[0]) + strlen(p->job_sheets[1]);
-    length += 32;
-    if (BrowseLocalOptions)
-      length += 12 + strlen(BrowseLocalOptions);
-
-   /*
-    * Allocate the new string...
-    */
-
-    if ((p->browse_attrs = calloc(1, length)) == NULL)
-      cupsdLogMessage(CUPSD_LOG_ERROR,
-                      "Unable to allocate %d bytes for browse data!",
-                     length);
-    else
-    {
-     /*
-      * Got the allocated string, now copy the options and attributes over...
-      */
-
-      sprintf(p->browse_attrs, "job-sheets=%s,%s lease-duration=%d",
-              p->job_sheets[0], p->job_sheets[1], BrowseTimeout);
-      attrptr = p->browse_attrs + strlen(p->browse_attrs);
-
-      if (BrowseLocalOptions)
-      {
-        sprintf(attrptr, " ipp-options=%s", BrowseLocalOptions);
-        attrptr += strlen(attrptr);
-      }
-
-      for (i = p->num_options, option = p->options;
-           i > 0;
-          i --, option ++)
-      {
-        *attrptr++ = ' ';
-       strcpy(attrptr, option->name);
-       attrptr += strlen(attrptr);
-
-       if (option->value)
-       {
-         *attrptr++ = '=';
-
-          for (valptr = option->value; *valptr; valptr ++)
-         {
-           if (strchr(" \"\'\\", *valptr))
-             *attrptr++ = '\\';
-
-           *attrptr++ = *valptr;
-         }
-       }
-      }
-    }
-  }
 
  /*
   * Populate the document-format-supported attribute...
@@ -2832,6 +2601,7 @@ cupsdSetPrinterState(
     ipp_pstate_t    s,                 /* I - New state */
     int             update)            /* I - Update printers.conf? */
 {
+  cupsd_job_t  *job;                   /* Current job */
   ipp_pstate_t old_state;              /* Old printer state */
   static const char * const printer_states[] =
   {                                    /* State strings */
@@ -2842,13 +2612,6 @@ cupsdSetPrinterState(
 
 
  /*
-  * Can't set status of remote printers...
-  */
-
-  if (p->type & CUPS_PRINTER_DISCOVERED)
-    return;
-
- /*
   * Set the new state...
   */
 
@@ -2867,9 +2630,7 @@ cupsdSetPrinterState(
     * Let the browse code know this needs to be updated...
     */
 
-    BrowseNext     = p;
-    p->state_time  = time(NULL);
-    p->browse_time = 0;
+    p->state_time = time(NULL);
 
 #ifdef __sgi
     write_irix_state(p);
@@ -2885,6 +2646,17 @@ cupsdSetPrinterState(
   else
     cupsdSetPrinterReasons(p, "-paused");
 
+  if (old_state != s)
+  {
+    for (job = (cupsd_job_t *)cupsArrayFirst(ActiveJobs);
+        job;
+        job = (cupsd_job_t *)cupsArrayNext(ActiveJobs))
+      if (job->reasons && job->state_value == IPP_JOB_PENDING &&
+         !_cups_strcasecmp(job->dest, p->name))
+       ippSetString(job->attrs, &job->reasons, 0,
+                    s == IPP_PRINTER_STOPPED ? "printer-stopped" : "none");
+  }
+
  /*
   * Clear the message for the queue when going to processing...
   */
@@ -3068,22 +2840,6 @@ cupsdUpdatePrinters(void)
        p = (cupsd_printer_t *)cupsArrayNext(Printers))
   {
    /*
-    * Remove remote printers if we are no longer browsing...
-    */
-
-    if (!Browsing &&
-        (p->type & (CUPS_PRINTER_IMPLICIT | CUPS_PRINTER_DISCOVERED)))
-    {
-      if (p->type & CUPS_PRINTER_IMPLICIT)
-        cupsArrayRemove(ImplicitPrinters, p);
-
-      cupsArraySave(Printers);
-      cupsdDeletePrinter(p, 0);
-      cupsArrayRestore(Printers);
-      continue;
-    }
-
-   /*
     * Update the operation policy pointer...
     */
 
@@ -3091,11 +2847,10 @@ cupsdUpdatePrinters(void)
       p->op_policy_ptr = DefaultPolicyPtr;
 
    /*
-    * Update printer attributes as needed...
+    * Update printer attributes...
     */
 
-    if (!(p->type & CUPS_PRINTER_DISCOVERED))
-      cupsdSetPrinterAttrs(p);
+    cupsdSetPrinterAttrs(p);
   }
 }
 
@@ -3188,8 +2943,7 @@ cupsdValidateDest(
       *printer = p;
 
     if (dtype)
-      *dtype = p->type & (CUPS_PRINTER_CLASS | CUPS_PRINTER_IMPLICIT |
-                          CUPS_PRINTER_REMOTE | CUPS_PRINTER_DISCOVERED);
+      *dtype = p->type & (CUPS_PRINTER_CLASS | CUPS_PRINTER_REMOTE);
 
     return (p->name);
   }
@@ -3247,8 +3001,7 @@ cupsdValidateDest(
         *printer = p;
 
       if (dtype)
-       *dtype = p->type & (CUPS_PRINTER_CLASS | CUPS_PRINTER_IMPLICIT |
-                            CUPS_PRINTER_REMOTE | CUPS_PRINTER_DISCOVERED);
+       *dtype = p->type & (CUPS_PRINTER_CLASS | CUPS_PRINTER_REMOTE);
 
       return (p->name);
     }
@@ -3797,7 +3550,7 @@ add_printer_formats(cupsd_printer_t *p)   /* I - Printer */
     attr->values[i].string.text = _cupsStrAlloc(mimetype);
   }
 
-#ifdef HAVE_DNSSD
+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
   {
     char               pdl[1024];      /* Buffer to build pdl list */
     mime_filter_t      *filter;        /* MIME filter looping var */
@@ -3853,7 +3606,7 @@ add_printer_formats(cupsd_printer_t *p)   /* I - Printer */
 
     cupsdSetString(&p->pdl, pdl);
   }
-#endif /* HAVE_DNSSD */
+#endif /* HAVE_DNSSD || HAVE_AVAHI */
 }
 
 
@@ -3931,9 +3684,7 @@ delete_printer_filters(
 static void
 dirty_printer(cupsd_printer_t *p)      /* I - Printer */
 {
-  if (p->type & CUPS_PRINTER_DISCOVERED)
-    cupsdMarkDirty(CUPSD_DIRTY_REMOTE);
-  else if (p->type & CUPS_PRINTER_CLASS)
+  if (p->type & CUPS_PRINTER_CLASS)
     cupsdMarkDirty(CUPSD_DIRTY_CLASSES);
   else
     cupsdMarkDirty(CUPSD_DIRTY_PRINTERS);
@@ -3973,7 +3724,7 @@ load_ppd(cupsd_printer_t *p)              /* I - Printer */
   _pwg_map_t   *pwgsource,             /* Current PWG source */
                *pwgtype;               /* Current PWG type */
   ipp_attribute_t *attr;               /* Attribute data */
-  ipp_value_t  *val;                   /* Attribute value */
+  _ipp_value_t *val;                   /* Attribute value */
   int          num_finishings,         /* Number of finishings */
                finishings[5];          /* finishings-supported values */
   int          num_qualities,          /* Number of print-quality values */
@@ -4044,7 +3795,7 @@ load_ppd(cupsd_printer_t *p)              /* I - Printer */
 
   p->ppd_attrs = ippNew();
 
-  if ((ppd = ppdOpenFile(ppd_name)) != NULL)
+  if ((ppd = _ppdOpenFile(ppd_name, _PPD_LOCALIZATION_NONE)) != NULL)
   {
    /*
     * Add make/model and other various attributes...
@@ -4233,6 +3984,41 @@ load_ppd(cupsd_printer_t *p)             /* I - Printer */
       }
 
      /*
+      * media-size-supported
+      */
+
+      num_media = p->pc->num_sizes;
+      if (p->pc->custom_min_keyword)
+       num_media ++;
+
+      if ((attr = ippAddCollections(p->ppd_attrs, IPP_TAG_PRINTER,
+                                   "media-size-supported", num_media,
+                                   NULL)) != NULL)
+      {
+       val = attr->values;
+
+        for (i = p->pc->num_sizes, pwgsize = p->pc->sizes;
+            i > 0;
+            i --, pwgsize ++, val ++)
+       {
+         val->collection = ippNew();
+         ippAddInteger(val->collection, IPP_TAG_PRINTER, IPP_TAG_INTEGER,
+                       "x-dimension", pwgsize->width);
+         ippAddInteger(val->collection, IPP_TAG_PRINTER, IPP_TAG_INTEGER,
+                       "y-dimension", pwgsize->length);
+        }
+
+        if (p->pc->custom_min_keyword)
+       {
+         val->collection = ippNew();
+         ippAddRange(val->collection, IPP_TAG_PRINTER, "x-dimension",
+                     p->pc->custom_min_width, p->pc->custom_max_width);
+         ippAddRange(val->collection, IPP_TAG_PRINTER, "y-dimension",
+                     p->pc->custom_min_length, p->pc->custom_max_length);
+        }
+      }
+
+     /*
       * media-source-supported
       */
 
@@ -5021,12 +4807,13 @@ load_ppd(cupsd_printer_t *p)            /* I - Printer */
                   "printer-make-and-model", NULL,
                   "Local System V Printer");
     }
-    else if (!strncmp(p->device_uri, "ipp://", 6) &&
-            (strstr(p->device_uri, "/printers/") != NULL ||
-             strstr(p->device_uri, "/classes/") != NULL ||
-             (strstr(p->device_uri, "._ipp.") != NULL &&
-              !strcmp(p->device_uri + strlen(p->device_uri) - 5,
-                      "/cups"))))
+    else if (((!strncmp(p->device_uri, "ipp://", 6) ||
+               !strncmp(p->device_uri, "ipps://", 7)) &&
+             (strstr(p->device_uri, "/printers/") != NULL ||
+              strstr(p->device_uri, "/classes/") != NULL)) ||
+            ((strstr(p->device_uri, "._ipp.") != NULL ||
+              strstr(p->device_uri, "._ipps.") != NULL) &&
+             !strcmp(p->device_uri + strlen(p->device_uri) - 5, "/cups")))
     {
      /*
       * Tell the client this is really a hard-wired remote printer.
@@ -5145,6 +4932,8 @@ log_ipp_conformance(
     message = "Printer does not support REQUIRED Validate-Job operation.";
   else if (!strcmp(reason, "missing-get-printer-attributes"))
     message = "Printer does not support REQUIRED Get-Printer-Attributes operation.";
+  else if (!strcmp(reason, "missing-send-document"))
+    message = "Printer supports Create-Job but not Send-Document operation.";
   else if (!strcmp(reason, "missing-job-history"))
     message = "Printer does not provide REQUIRED job history.";
   else if (!strcmp(reason, "missing-job-id"))
@@ -5528,5 +5317,5 @@ write_xml_string(cups_file_t *fp, /* I - File to write to */
 
 
 /*
- * End of "$Id: printers.c 10295 2012-02-15 23:21:06Z mike $".
+ * End of "$Id: printers.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 5a551a4..ad89d70 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: printers.h 9621 2011-03-18 18:42:46Z mike $"
+ * "$Id: printers.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Printer definitions for the CUPS scheduler.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
 
 #ifdef HAVE_DNSSD
 #  include <dns_sd.h>
+#elif defined(HAVE_AVAHI)
+#  include <avahi-client/client.h>
+#  include <avahi-client/publish.h>
+#  include <avahi-common/error.h>
+#  include <avahi-common/thread-watch.h>
 #endif /* HAVE_DNSSD */
 #include <cups/pwg-private.h>
 
@@ -33,6 +38,20 @@ typedef struct
 
 
 /*
+ * DNS-SD types to make the code cleaner/clearer...
+ */
+
+#ifdef HAVE_DNSSD
+typedef DNSServiceRef cupsd_srv_t;     /* Service reference */
+typedef TXTRecordRef cupsd_txt_t;      /* TXT record */
+
+#elif defined(HAVE_AVAHI)
+typedef AvahiEntryGroup *cupsd_srv_t;  /* Service reference */
+typedef AvahiStringList *cupsd_txt_t;  /* TXT record */
+#endif /* HAVE_DNSSD */
+
+
+/*
  * Printer/class information structure...
  */
 
@@ -61,9 +80,6 @@ struct cupsd_printer_s
   time_t       state_time;             /* Time at this state */
   char         *job_sheets[2];         /* Banners/job sheets */
   cups_ptype_t type;                   /* Printer type (color, small, etc.) */
-  char         *browse_attrs;          /* Attributes sent with browse data */
-  time_t       browse_expire;          /* Expiration time for printer */
-  time_t       browse_time;            /* Last time update was sent/received */
   char         *device_uri;            /* Device URI */
   char         *sanitized_device_uri;  /* Sanitized device URI */
   char         *port_monitor;          /* Port monitor */
@@ -95,16 +111,17 @@ struct cupsd_printer_s
   time_t       marker_time;            /* Last time marker attributes were updated */
   _ppd_cache_t *pc;                    /* PPD cache and mapping data */
 
-#ifdef HAVE_DNSSD
+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
   char         *reg_name,              /* Name used for service registration */
-               *pdl,                   /* pdl value for TXT record */
-               *ipp_txt,               /* IPP TXT record contents */
-               *printer_txt;           /* LPD TXT record contents */
-  int          ipp_len,                /* IPP TXT record length */
-               printer_len;            /* LPD TXT record length */
-  DNSServiceRef        ipp_ref,                /* Reference for _ipp._tcp,_cups */
-               printer_ref;            /* Reference for _printer._tcp */
-#endif /* HAVE_DNSSD */
+               *pdl;                   /* pdl value for TXT record */
+  cupsd_srv_t  ipp_srv;                /* IPP service(s) */
+#  ifdef HAVE_DNSSD
+#    ifdef HAVE_SSL
+  cupsd_srv_t  ipps_srv;               /* IPPS service(s) */
+#    endif /* HAVE_SSL */
+  cupsd_srv_t  printer_srv;            /* LPD service */
+#  endif /* HAVE_DNSSD */
+#endif /* HAVE_DNSSD || HAVE_AVAHI */
 };
 
 
@@ -116,10 +133,8 @@ VAR ipp_t          *CommonData     VALUE(NULL);
                                        /* Common printer object attrs */
 VAR cups_array_t       *CommonDefaults VALUE(NULL);
                                        /* Common -default option names */
-VAR cups_array_t       *Printers       VALUE(NULL),
+VAR cups_array_t       *Printers       VALUE(NULL);
                                        /* Printer list */
-                       *ImplicitPrinters VALUE(NULL);
-                                       /* Implicit class printers */
 VAR cupsd_printer_t    *DefaultPrinter VALUE(NULL);
                                        /* Default printer */
 VAR char               *DefaultPolicy  VALUE(NULL);
@@ -157,7 +172,8 @@ extern int          cupsdSetPrinterReasons(cupsd_printer_t *p,
                                               const char *s);
 extern void            cupsdSetPrinterState(cupsd_printer_t *p, ipp_pstate_t s,
                                             int update);
-#define                        cupsdStartPrinter(p,u) cupsdSetPrinterState((p), IPP_PRINTER_IDLE, (u))
+#define                        cupsdStartPrinter(p,u) cupsdSetPrinterState((p), \
+                                                  IPP_PRINTER_IDLE, (u))
 extern void            cupsdStopPrinter(cupsd_printer_t *p, int update);
 extern int             cupsdUpdatePrinterPPD(cupsd_printer_t *p,
                                              int num_keywords,
@@ -173,5 +189,5 @@ extern void         cupsdWritePrintcap(void);
 
 
 /*
- * End of "$Id: printers.h 9621 2011-03-18 18:42:46Z mike $".
+ * End of "$Id: printers.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index c1ca526..a706ac2 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: process.c 9790 2011-05-19 22:40:03Z mike $"
+ * "$Id: process.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Process management routines for the CUPS scheduler.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -365,8 +365,8 @@ cupsdStartProcess(
   if (envp)
   {
    /*
-    * Add special voodoo magic for Mac OS X - this allows Mac OS X
-    * programs to access their bundle resources properly...
+    * Add special voodoo magic for OS X - this allows OS X programs to access
+    * their bundle resources properly...
     */
 
     if ((linkbytes = readlink(command, linkpath, sizeof(linkpath) - 1)) > 0)
@@ -577,7 +577,7 @@ cupsdStartProcess(
   {
     if (!process_array)
       process_array = cupsArrayNew((cups_array_func_t)compare_procs, NULL);
+
     if (process_array)
     {
       if ((proc = calloc(1, sizeof(cupsd_proc_t) + strlen(command))) != NULL)
@@ -652,5 +652,5 @@ cupsd_requote(char       *dst,              /* I - Destination buffer */
 
 
 /*
- * End of "$Id: process.c 9790 2011-05-19 22:40:03Z mike $".
+ * End of "$Id: process.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 5051756..3ebfd8d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: quotas.c 9793 2011-05-20 03:49:49Z mike $"
+ * "$Id: quotas.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Quota routines for the CUPS scheduler.
  *
@@ -240,5 +240,5 @@ compare_quotas(const cupsd_quota_t *q1,     /* I - First quota record */
 
 
 /*
- * End of "$Id: quotas.c 9793 2011-05-20 03:49:49Z mike $".
+ * End of "$Id: quotas.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 99a2325..e2f40d8 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: select.c 9350 2010-11-04 23:23:25Z mike $"
+ * "$Id: select.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Select abstraction functions for the CUPS scheduler.
  *
 
 #ifdef HAVE_EPOLL
 #  include <sys/epoll.h>
-#  include <sys/poll.h>
+#  include <poll.h>
 #elif defined(HAVE_KQUEUE)
 #  include <sys/event.h>
 #  include <sys/time.h>
 #elif defined(HAVE_POLL)
-#  include <sys/poll.h>
+#  include <poll.h>
 #elif defined(__hpux)
 #  include <sys/time.h>
 #else
@@ -947,5 +947,5 @@ find_fd(int fd)                             /* I - File descriptor */
 
 
 /*
- * End of "$Id: select.c 9350 2010-11-04 23:23:25Z mike $".
+ * End of "$Id: select.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index ace9cc9..7e511c4 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: server.c 9632 2011-03-21 02:12:14Z mike $"
+ * "$Id: server.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Server start/stop routines for the CUPS scheduler.
  *
- *   Copyright 2007-2010 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -45,6 +45,12 @@ void
 cupsdStartServer(void)
 {
  /*
+  * Start color management (as needed)...
+  */
+
+  cupsdStartColor();
+
+ /*
   * Create the default security profile...
   */
 
@@ -56,7 +62,6 @@ cupsdStartServer(void)
 
   cupsdStartListening();
   cupsdStartBrowsing();
-  cupsdStartPolling();
 
  /*
   * Create a pipe for CGI processes...
@@ -95,12 +100,17 @@ cupsdStopServer(void)
     return;
 
  /*
-  * Close all network clients and stop all jobs...
+  * Stop color management (as needed)...
+  */
+
+  cupsdStopColor();
+
+ /*
+  * Close all network clients...
   */
 
   cupsdCloseAllClients();
   cupsdStopListening();
-  cupsdStopPolling();
   cupsdStopBrowsing();
   cupsdStopAllNotifiers();
   cupsdDeleteAllCerts();
@@ -126,16 +136,6 @@ cupsdStopServer(void)
     CGIPipes[1] = -1;
   }
 
-#ifdef HAVE_NOTIFY_POST
- /*
-  * Send one last notification as the server shuts down.
-  */
-
-  cupsdLogMessage(CUPSD_LOG_DEBUG2,
-                  "notify_post(\"com.apple.printerListChange\") last");
-  notify_post("com.apple.printerListChange");
-#endif /* HAVE_NOTIFY_POST */
-
  /*
   * Close all log files...
   */
@@ -180,5 +180,5 @@ cupsdStopServer(void)
 
 
 /*
- * End of "$Id: server.c 9632 2011-03-21 02:12:14Z mike $".
+ * End of "$Id: server.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index cb75877..7f99149 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: statbuf.c 9350 2010-11-04 23:23:25Z mike $"
+ * "$Id: statbuf.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Status buffer routines for the CUPS scheduler.
  *
@@ -326,5 +326,5 @@ cupsdStatBufUpdate(
 
 
 /*
- * End of "$Id: statbuf.c 9350 2010-11-04 23:23:25Z mike $".
+ * End of "$Id: statbuf.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index acb793d..91564d0 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: statbuf.h 9350 2010-11-04 23:23:25Z mike $"
+ * "$Id: statbuf.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Status buffer definitions for the CUPS scheduler.
  *
@@ -45,5 +45,5 @@ extern char           *cupsdStatBufUpdate(cupsd_statbuf_t *sb, int *loglevel,
 
 
 /*
- * End of "$Id: statbuf.h 9350 2010-11-04 23:23:25Z mike $".
+ * End of "$Id: statbuf.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index e1e8219..0b9c452 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: subscriptions.c 10262 2012-02-12 05:48:09Z mike $"
+ * "$Id: subscriptions.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Subscription routines for the CUPS scheduler.
  *
@@ -1638,5 +1638,5 @@ cupsd_update_notifier(void)
 
 
 /*
- * End of "$Id: subscriptions.c 10262 2012-02-12 05:48:09Z mike $".
+ * End of "$Id: subscriptions.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 20d59b7..1a786ae 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: subscriptions.h 9350 2010-11-04 23:23:25Z mike $"
+ * "$Id: subscriptions.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Subscription definitions for the CUPS scheduler.
  *
@@ -162,5 +162,5 @@ extern void cupsdStopAllNotifiers(void);
 
 
 /*
- * End of "$Id: subscriptions.h 9350 2010-11-04 23:23:25Z mike $".
+ * End of "$Id: subscriptions.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index bd7052b..d5f82c1 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: sysman.c 10273 2012-02-13 20:30:23Z mike $"
+ * "$Id: sysman.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   System management functions for the CUPS scheduler.
  *
- *   Copyright 2007-2012 by Apple Inc.
+ *   Copyright 2007-2011 by Apple Inc.
  *   Copyright 2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -87,9 +87,6 @@ cupsdCleanDirty(void)
   if (DirtyFiles & CUPSD_DIRTY_CLASSES)
     cupsdSaveAllClasses();
 
-  if (DirtyFiles & CUPSD_DIRTY_REMOTE)
-    cupsdSaveRemoteCache();
-
   if (DirtyFiles & CUPSD_DIRTY_PRINTCAP)
     cupsdWritePrintcap();
 
@@ -123,10 +120,9 @@ cupsdCleanDirty(void)
 void
 cupsdMarkDirty(int what)               /* I - What file(s) are dirty? */
 {
-  cupsdLogMessage(CUPSD_LOG_DEBUG, "cupsdMarkDirty(%c%c%c%c%c%c)",
+  cupsdLogMessage(CUPSD_LOG_DEBUG, "cupsdMarkDirty(%c%c%c%c%c)",
                  (what & CUPSD_DIRTY_PRINTERS) ? 'P' : '-',
                  (what & CUPSD_DIRTY_CLASSES) ? 'C' : '-',
-                 (what & CUPSD_DIRTY_REMOTE) ? 'R' : '-',
                  (what & CUPSD_DIRTY_PRINTCAP) ? 'p' : '-',
                  (what & CUPSD_DIRTY_JOBS) ? 'J' : '-',
                  (what & CUPSD_DIRTY_SUBSCRIPTIONS) ? 'S' : '-');
@@ -865,20 +861,9 @@ sysUpdate(void)
            p;
           p = (cupsd_printer_t *)cupsArrayNext(Printers))
       {
-       if (p->type & CUPS_PRINTER_DISCOVERED)
-       {
-         cupsdLogMessage(CUPSD_LOG_DEBUG,
-                         "Deleting remote destination \"%s\"", p->name);
-         cupsArraySave(Printers);
-         cupsdDeletePrinter(p, 0);
-         cupsArrayRestore(Printers);
-       }
-       else
-       {
-         cupsdLogMessage(CUPSD_LOG_DEBUG,
-                         "Deregistering local printer \"%s\"", p->name);
-         cupsdDeregisterPrinter(p, 0);
-       }
+       cupsdLogMessage(CUPSD_LOG_DEBUG,
+                       "Deregistering local printer \"%s\"", p->name);
+       cupsdDeregisterPrinter(p, 0);
       }
 
       cupsdCleanDirty();
@@ -965,23 +950,8 @@ sysUpdate(void)
     if (sysevent.event & SYSEVENT_NETCHANGED)
     {
       if (!Sleeping)
-      {
         cupsdLogMessage(CUPSD_LOG_DEBUG,
                        "System network configuration changed");
-
-       /*
-        * Resetting browse_time before calling cupsdSendBrowseList causes
-       * browse packets to be sent for local shared printers.
-        */
-
-       for (p = (cupsd_printer_t *)cupsArrayFirst(Printers);
-            p;
-            p = (cupsd_printer_t *)cupsArrayNext(Printers))
-         p->browse_time = 0;
-
-        cupsdSendBrowseList();
-       cupsdRestartPolling();
-      }
       else
         cupsdLogMessage(CUPSD_LOG_DEBUG,
                        "System network configuration changed; "
@@ -1004,11 +974,13 @@ sysUpdate(void)
             p = (cupsd_printer_t *)cupsArrayNext(Printers))
          cupsdDeregisterPrinter(p, 1);
 
+#  if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
        /*
         * Update the computer name and BTMM domain list...
        */
 
        cupsdUpdateDNSSDName();
+#  endif /* HAVE_DNSSD || HAVE_AVAHI */
 
        /*
        * Now re-register them...
@@ -1017,10 +989,7 @@ sysUpdate(void)
        for (p = (cupsd_printer_t *)cupsArrayFirst(Printers);
             p;
             p = (cupsd_printer_t *)cupsArrayNext(Printers))
-       {
-         p->browse_time = 0;
          cupsdRegisterPrinter(p);
-       }
       }
       else
         cupsdLogMessage(CUPSD_LOG_DEBUG,
@@ -1033,5 +1002,5 @@ sysUpdate(void)
 
 
 /*
- * End of "$Id: sysman.c 10273 2012-02-13 20:30:23Z mike $".
+ * End of "$Id: sysman.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index b47655f..d603178 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: sysman.h 9350 2010-11-04 23:23:25Z mike $"
+ * "$Id: sysman.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   System management definitions for the CUPS scheduler.
  *
- *   Copyright 2007-2010 by Apple Inc.
+ *   Copyright 2007-2011 by Apple Inc.
  *   Copyright 2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
 #define CUPSD_DIRTY_NONE       0       /* Nothing is dirty */
 #define CUPSD_DIRTY_PRINTERS   1       /* printers.conf is dirty */
 #define CUPSD_DIRTY_CLASSES    2       /* classes.conf is dirty */
-#define CUPSD_DIRTY_REMOTE     4       /* remote.cache is dirty */
-#define CUPSD_DIRTY_PRINTCAP   8       /* printcap is dirty */
-#define CUPSD_DIRTY_JOBS       16      /* jobs.cache or "c" file(s) are dirty */
-#define CUPSD_DIRTY_SUBSCRIPTIONS 32   /* subscriptions.conf is dirty */
+#define CUPSD_DIRTY_PRINTCAP   4       /* printcap is dirty */
+#define CUPSD_DIRTY_JOBS       8       /* jobs.cache or "c" file(s) are dirty */
+#define CUPSD_DIRTY_SUBSCRIPTIONS 16   /* subscriptions.conf is dirty */
+
 
 /*
  * Globals...
@@ -60,5 +60,5 @@ extern void   cupsdStopSystemMonitor(void);
 
 
 /*
- * End of "$Id: sysman.h 9350 2010-11-04 23:23:25Z mike $".
+ * End of "$Id: sysman.h 11173 2013-07-23 12:31:34Z msweet $".
  */
diff --git a/scheduler/testdirsvc.c b/scheduler/testdirsvc.c
deleted file mode 100644 (file)
index 3ffaf3b..0000000
+++ /dev/null
@@ -1,324 +0,0 @@
-/*
- * "$Id: testdirsvc.c 9691 2011-04-15 23:38:13Z mike $"
- *
- *   Browsing test program for CUPS.
- *
- *   Copyright 2007-2011 by Apple Inc.
- *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- * Contents:
- *
- *   main()  - Simulate one or more remote printers.
- *   usage() - Show program usage...
- */
-
-/*
- * Include necessary headers...
- */
-
-#include <cups/cups.h>
-#include <cups/string-private.h>
-
-
-/*
- * Local functions...
- */
-
-static void    usage(void);
-
-
-/*
- * 'main()' - Simulate one or more remote printers.
- */
-
-int                                    /* O - Exit status */
-main(int  argc,                                /* I - Number of command-line arguments */
-     char *argv[])                     /* I - Command-line arguments */
-{
-  int          i,                      /* Looping var */
-               printer,                /* Current printer */
-               num_printers,           /* Number of printers */
-               pclass,                 /* Current printer class */
-               num_pclasses,           /* Number of printer classes */
-               server,                 /* Current server */
-               num_servers,            /* Number of servers */
-               count,                  /* Number of printers sent this cycle */
-               interval,               /* Browse Interval */
-               lease,                  /* Browse lease-duration */
-               continuous,             /* Run continuously? */
-               port,                   /* Browse port */
-               sock,                   /* Browse socket */
-               val,                    /* Socket option value */
-               seconds,                /* Seconds until next cycle */
-               verbose;                /* Verbose output? */
-  const char   *options;               /* Options for URIs */
-  time_t       curtime;                /* Current UNIX time */
-  struct tm    *curdate;               /* Current date and time */
-  struct sockaddr_in addr;             /* Broadcast address */
-  char         packet[1540];           /* Data packet */
-  static const char * const names[26] =        /* Printer names */
-               {
-                 "alpha",
-                 "bravo",
-                 "charlie",
-                 "delta",
-                 "echo",
-                 "foxtrot",
-                 "golf",
-                 "hotel",
-                 "india",
-                 "juliet",
-                 "kilo",
-                 "lima",
-                 "mike",
-                 "november",
-                 "oscar",
-                 "papa",
-                 "quebec",
-                 "romeo",
-                 "sierra",
-                 "tango",
-                 "uniform",
-                 "victor",
-                 "wiskey",
-                 "x-ray",
-                 "yankee",
-                 "zulu"
-               };
-
-
- /*
-  * Process command-line arguments...
-  */
-
-  num_printers = 10;
-  num_pclasses = 5;
-  num_servers  = 1;
-  interval     = 30;
-  lease        = 60;
-  port         = 0;
-  verbose      = 0;
-  continuous   = 0;
-  options      = NULL;
-
-  for (i = 1; i < argc; i ++)
-  {
-    if (!strcmp(argv[i], "-c"))
-      continuous = 1;
-    else if (!strcmp(argv[i], "-i"))
-    {
-      i ++;
-      if (i < argc)
-        interval = atoi(argv[i]);
-      else
-        usage();
-
-      continuous = 1;
-    }
-    else if (!strcmp(argv[i], "-l"))
-    {
-      i ++;
-      if (i < argc)
-        lease = atoi(argv[i]);
-      else
-        usage();
-    }
-    else if (!strcmp(argv[i], "-o"))
-    {
-      i ++;
-      if (i < argc)
-        options = argv[i];
-      else
-        usage();
-    }
-    else if (!strcmp(argv[i], "-C"))
-    {
-      i ++;
-      if (i < argc)
-        num_pclasses = atoi(argv[i]);
-      else
-        usage();
-    }
-    else if (!strcmp(argv[i], "-p"))
-    {
-      i ++;
-      if (i < argc)
-        num_printers = atoi(argv[i]);
-      else
-        usage();
-    }
-    else if (!strcmp(argv[i], "-s"))
-    {
-      i ++;
-      if (i < argc)
-        num_servers = atoi(argv[i]);
-      else
-        usage();
-    }
-    else if (!strcmp(argv[i], "-v"))
-      verbose = 1;
-    else if (isdigit(argv[i][0] & 255))
-    {
-      port = atoi(argv[i]);
-    }
-    else
-      usage();
-  }
-
-  if ((num_printers <= 0 && num_pclasses <= 0) || num_servers <= 0 ||
-      interval <= 0 || lease < 1 || port <= 0)
-    usage();
-
- /*
-  * Open a broadcast socket...
-  */
-
-  if ((sock = socket(AF_INET, SOCK_DGRAM, 0)) < 0)
-  {
-    perror("Unable to open broadcast socket");
-    return (1);
-  }
-
- /*
-  * Set the "broadcast" flag...
-  */
-
-  val = 1;
-  if (setsockopt(sock, SOL_SOCKET, SO_BROADCAST, &val, sizeof(val)))
-  {
-    perror("Unable to put socket in broadcast mode");
-
-    close(sock);
-    return (1);
-  }
-
- /*
-  * Broadcast to 127.0.0.1 (localhost)
-  */
-
-  memset(&addr, 0, sizeof(addr));
-  addr.sin_addr.s_addr = htonl(0x7f000001);
-  addr.sin_family      = AF_INET;
-  addr.sin_port        = htons(port);
-
- /*
-  * Send virtual printers continuously until we are stopped.
-  */
-
-  for (;;)
-  {
-   /*
-    * Start a new cycle of N printers...
-    */
-
-    printf("Sending %d printers from %d servers...\n", num_printers,
-           num_servers);
-
-    count   = num_servers * (num_printers + num_pclasses) / interval + 1;
-    curtime = time(NULL);
-    curdate = localtime(&curtime);
-    seconds = interval;
-
-    for (i = 0, printer = 0; printer < num_printers; printer ++)
-    {
-      for (server = 0; server < num_servers; server ++, i ++)
-      {
-        if (i == count)
-       {
-         seconds --;
-         i = 0;
-         sleep(1);
-         curtime = time(NULL);
-         curdate = localtime(&curtime);
-       }
-
-        snprintf(packet, sizeof(packet),
-                "%x %x ipp://testserver-%d/printers/%s-%d \"Server Room %d\" "
-                "\"Test Printer %d\" \"Acme Blazer 2000\"%s%s "
-                "lease-duration=%d\n",
-                 CUPS_PRINTER_REMOTE, IPP_PRINTER_IDLE, server + 1,
-                names[printer % 26], printer / 26 + 1, server + 1,
-                printer + 1, options ? " ipp-options=" : "",
-                options ? options : "", lease);
-
-        if (verbose)
-         printf("[%02d:%02d:%02d] %s", curdate->tm_hour, curdate->tm_min,
-                curdate->tm_sec, packet);
-
-        if (sendto(sock, packet, strlen(packet), 0,
-                  (struct sockaddr *)&addr, sizeof(addr)) < 0)
-         perror("Unabled to send packet");
-      }
-    }
-
-
-    for (i = 0, pclass = 0; pclass < num_pclasses; pclass ++)
-    {
-      for (server = 0; server < num_servers; server ++, i ++)
-      {
-        if (i == count)
-       {
-         seconds --;
-         i = 0;
-         sleep(1);
-         curtime = time(NULL);
-         curdate = localtime(&curtime);
-       }
-
-        snprintf(packet, sizeof(packet),
-                "%x %x ipp://testserver-%d/classes/class-%s-%d \"Server Room %d\" "
-                "\"Test Class %d\" \"Acme Blazer 2000\"%s%s "
-                "lease-duration=%d\n",
-                 CUPS_PRINTER_REMOTE | CUPS_PRINTER_CLASS, IPP_PRINTER_IDLE,
-                server + 1, names[pclass % 26], pclass / 26 + 1, server + 1,
-                pclass + 1, options ? " ipp-options=" : "",
-                options ? options : "", lease);
-
-        if (verbose)
-         printf("[%02d:%02d:%02d] %s", curdate->tm_hour, curdate->tm_min,
-                curdate->tm_sec, packet);
-
-        if (sendto(sock, packet, strlen(packet), 0,
-                  (struct sockaddr *)&addr, sizeof(addr)) < 0)
-         perror("Unabled to send packet");
-      }
-    }
-
-    if (!continuous)
-      break;
-
-   /*
-    * Sleep for any remaining time...
-    */
-
-    if (seconds > 0)
-      sleep(seconds);
-  }
-
-  return (0);
-}
-
-
-/*
- * 'usage()' - Show program usage...
- */
-
-static void
-usage(void)
-{
-  puts("Usage: testdirsvc [-c] [-i interval] [-l lease-duration] "
-       "[-o ipp-options] [-p printers] "
-       "[-C classes] [-s servers] [-v] port");
-  exit(0);
-}
-
-
-/*
- * End of "$Id: testdirsvc.c 9691 2011-04-15 23:38:13Z mike $".
- */
index a7302ca..3ff483e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: testlpd.c 9042 2010-03-24 00:45:34Z mike $"
+ * "$Id: testlpd.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   cups-lpd test program for CUPS.
  *
@@ -47,7 +47,7 @@ static int    print_waiting(int outfd, int infd, char *dest);
 static int     remove_job(int outfd, int infd, char *dest, char **args);
 static int     status_long(int outfd, int infd, char *dest, char **args);
 static int     status_short(int outfd, int infd, char *dest, char **args);
-static void    usage(void);
+static void    usage(void) __attribute__((noreturn));
 
 
 /*
@@ -546,5 +546,5 @@ usage(void)
 
 
 /*
- * End of "$Id: testlpd.c 9042 2010-03-24 00:45:34Z mike $".
+ * End of "$Id: testlpd.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index de49544..5a71ea9 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: testmime.c 9862 2011-08-03 02:44:09Z mike $"
+ * "$Id: testmime.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   MIME test program for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2013 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -132,7 +132,7 @@ main(int  argc,                             /* I - Number of command-line args */
     }
     else
     {
-      sscanf(argv[i], "%15[^/]/%31s", super, type);
+      sscanf(argv[i], "%15[^/]/%255s", super, type);
       dst = mimeType(mime, super, type);
 
       filters = mimeFilter2(mime, src, srcinfo.st_size, dst, &cost);
@@ -527,5 +527,5 @@ type_dir(mime_t     *mime,          /* I - MIME database */
 
 
 /*
- * End of "$Id: testmime.c 9862 2011-08-03 02:44:09Z mike $".
+ * End of "$Id: testmime.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 1fe0a33..425f471 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: testspeed.c 9042 2010-03-24 00:45:34Z mike $"
+ * "$Id: testspeed.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Scheduler speed test for CUPS.
  *
@@ -40,7 +40,7 @@
 static int     do_test(const char *server, int port,
                        http_encryption_t encryption, int requests,
                        int verbose);
-static void    usage(void);
+static void    usage(void) __attribute__((noreturn));
 
 
 /*
@@ -361,5 +361,5 @@ usage(void)
 
 
 /*
- * End of "$Id: testspeed.c 9042 2010-03-24 00:45:34Z mike $".
+ * End of "$Id: testspeed.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index bff8e8b..66801af 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: testsub.c 9042 2010-03-24 00:45:34Z mike $"
+ * "$Id: testsub.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Scheduler notification tester for CUPS.
  *
- *   Copyright 2007-2010 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 2006-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -28,6 +28,7 @@
 #include <cups/debug-private.h>
 #include <cups/string-private.h>
 #include <signal.h>
+#include <cups/ipp-private.h>  /* TODO: Update so we don't need this */
 
 
 /*
@@ -43,7 +44,7 @@ static int    terminate = 0;
 
 static void    print_attributes(ipp_t *ipp, int indent);
 static void    sigterm_handler(int sig);
-static void    usage(void);
+static void    usage(void) __attribute__((noreturn));
 
 
 /*
@@ -302,7 +303,7 @@ print_attributes(ipp_t *ipp,                /* I - IPP request */
   int                  i;              /* Looping var */
   ipp_tag_t            group;          /* Current group */
   ipp_attribute_t      *attr;          /* Current attribute */
-  ipp_value_t          *val;           /* Current value */
+  _ipp_value_t         *val;           /* Current value */
   static const char * const tags[] =   /* Value/group tag strings */
                        {
                          "reserved-00",
@@ -452,7 +453,7 @@ print_attributes(ipp_t *ipp,                /* I - IPP request */
       case IPP_TAG_RESOLUTION :
           for (i = 0, val = attr->values; i < attr->num_values; i ++, val ++)
            printf(" %dx%d%s", val->resolution.xres, val->resolution.yres,
-                  val->resolution.units == IPP_RES_PER_INCH ? "dpi" : "dpc");
+                  val->resolution.units == IPP_RES_PER_INCH ? "dpi" : "dpcm");
           putchar('\n');
           break;
 
@@ -518,5 +519,5 @@ usage(void)
 
 
 /*
- * End of "$Id: testsub.c 9042 2010-03-24 00:45:34Z mike $".
+ * End of "$Id: testsub.c 11173 2013-07-23 12:31:34Z msweet $".
  */
diff --git a/scheduler/tls-darwin.c b/scheduler/tls-darwin.c
new file mode 100644 (file)
index 0000000..bb6998b
--- /dev/null
@@ -0,0 +1,570 @@
+/*
+ * "$Id: tls-darwin.c 11173 2013-07-23 12:31:34Z msweet $"
+ *
+ *   TLS support code for the CUPS scheduler on OS X.
+ *
+ *   Copyright 2007-2012 by Apple Inc.
+ *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
+ *
+ *   These coded instructions, statements, and computer programs are the
+ *   property of Apple Inc. and are protected by Federal copyright
+ *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
+ *   which should have been included with this file.  If this file is
+ *   file is missing or damaged, see the license at "http://www.cups.org/".
+ *
+ * Contents:
+ *
+ *   cupsdEndTLS()          - Shutdown a secure session with the client.
+ *   cupsdStartTLS()        - Start a secure session with the client.
+ *   copy_cdsa_certificate() - Copy a SSL/TLS certificate from the System
+ *                            keychain.
+ *   make_certificate()      - Make a self-signed SSL/TLS certificate.
+ */
+
+
+/*
+ * Local functions...
+ */
+
+static CFArrayRef      copy_cdsa_certificate(cupsd_client_t *con);
+static int             make_certificate(cupsd_client_t *con);
+
+
+/*
+ * 'cupsdEndTLS()' - Shutdown a secure session with the client.
+ */
+
+int                                    /* O - 1 on success, 0 on error */
+cupsdEndTLS(cupsd_client_t *con)       /* I - Client connection */
+{
+  while (SSLClose(con->http.tls) == errSSLWouldBlock)
+    usleep(1000);
+
+  SSLDisposeContext(con->http.tls);
+  con->http.tls = NULL;
+
+  if (con->http.tls_credentials)
+    CFRelease(con->http.tls_credentials);
+
+  return (1);
+}
+
+
+/*
+ * 'cupsdStartTLS()' - Start a secure session with the client.
+ */
+
+int                                    /* O - 1 on success, 0 on error */
+cupsdStartTLS(cupsd_client_t *con)     /* I - Client connection */
+{
+  OSStatus     error = 0;              /* Error code */
+  CFArrayRef   peerCerts;              /* Peer certificates */
+
+
+  cupsdLogMessage(CUPSD_LOG_DEBUG, "[Client %d] Encrypting connection.",
+                  con->http.fd);
+
+  con->http.tls_credentials = copy_cdsa_certificate(con);
+
+  if (!con->http.tls_credentials)
+  {
+   /*
+    * No keychain (yet), make a self-signed certificate...
+    */
+
+    if (make_certificate(con))
+      con->http.tls_credentials = copy_cdsa_certificate(con);
+  }
+
+  if (!con->http.tls_credentials)
+  {
+    cupsdLogMessage(CUPSD_LOG_ERROR,
+                   "Could not find signing key in keychain \"%s\"",
+                   ServerCertificate);
+    error = errSSLBadConfiguration;
+  }
+
+  if (!error)
+    error = SSLNewContext(true, &con->http.tls);
+
+  if (!error)
+    error = SSLSetIOFuncs(con->http.tls, _httpReadCDSA, _httpWriteCDSA);
+
+  if (!error)
+    error = SSLSetConnection(con->http.tls, HTTP(con));
+
+  if (!error)
+    error = SSLSetAllowsExpiredCerts(con->http.tls, true);
+
+  if (!error)
+    error = SSLSetAllowsAnyRoot(con->http.tls, true);
+
+  if (!error)
+    error = SSLSetCertificate(con->http.tls, con->http.tls_credentials);
+
+  if (!error)
+  {
+   /*
+    * Perform SSL/TLS handshake
+    */
+
+    while ((error = SSLHandshake(con->http.tls)) == errSSLWouldBlock)
+      usleep(1000);
+  }
+
+  if (error)
+  {
+    cupsdLogMessage(CUPSD_LOG_ERROR,
+                    "Unable to encrypt connection from %s - %s (%d)",
+                    con->http.hostname, cssmErrorString(error), (int)error);
+
+    con->http.error  = error;
+    con->http.status = HTTP_ERROR;
+
+    if (con->http.tls)
+    {
+      SSLDisposeContext(con->http.tls);
+      con->http.tls = NULL;
+    }
+
+    if (con->http.tls_credentials)
+    {
+      CFRelease(con->http.tls_credentials);
+      con->http.tls_credentials = NULL;
+    }
+
+    return (0);
+  }
+
+  cupsdLogMessage(CUPSD_LOG_DEBUG, "Connection from %s now encrypted.",
+                  con->http.hostname);
+
+  if (!SSLCopyPeerCertificates(con->http.tls, &peerCerts) && peerCerts)
+  {
+    cupsdLogMessage(CUPSD_LOG_DEBUG, "Received %d peer certificates!",
+                   (int)CFArrayGetCount(peerCerts));
+    CFRelease(peerCerts);
+  }
+  else
+    cupsdLogMessage(CUPSD_LOG_DEBUG, "Received NO peer certificates!");
+
+  return (1);
+}
+
+
+/*
+ * 'copy_cdsa_certificate()' - Copy a SSL/TLS certificate from the System
+ *                             keychain.
+ */
+
+static CFArrayRef                              /* O - Array of certificates */
+copy_cdsa_certificate(
+    cupsd_client_t *con)                       /* I - Client connection */
+{
+  OSStatus             err;            /* Error info */
+  SecKeychainRef       keychain = NULL;/* Keychain reference */
+  SecIdentitySearchRef search = NULL;  /* Search reference */
+  SecIdentityRef       identity = NULL;/* Identity */
+  CFArrayRef           certificates = NULL;
+                                       /* Certificate array */
+#  if HAVE_SECPOLICYCREATESSL
+  SecPolicyRef         policy = NULL;  /* Policy ref */
+  CFStringRef          servername = NULL;
+                                       /* Server name */
+  CFMutableDictionaryRef query = NULL; /* Query qualifiers */
+  CFArrayRef           list = NULL;    /* Keychain list */
+#    if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
+  char                 localname[1024];/* Local hostname */
+#    endif /* HAVE_DNSSD || HAVE_AVAHI */
+#  elif defined(HAVE_SECIDENTITYSEARCHCREATEWITHPOLICY)
+  SecPolicyRef         policy = NULL;  /* Policy ref */
+  SecPolicySearchRef   policy_search = NULL;
+                                       /* Policy search ref */
+  CSSM_DATA            options;        /* Policy options */
+  CSSM_APPLE_TP_SSL_OPTIONS
+                       ssl_options;    /* SSL Option for hostname */
+  char                 localname[1024];/* Local hostname */
+#  endif /* HAVE_SECPOLICYCREATESSL */
+
+
+  cupsdLogMessage(CUPSD_LOG_DEBUG,
+                  "copy_cdsa_certificate: Looking for certs for \"%s\"...",
+                 con->servername);
+
+  if ((err = SecKeychainOpen(ServerCertificate, &keychain)))
+  {
+    cupsdLogMessage(CUPSD_LOG_ERROR, "Cannot open keychain \"%s\" - %s (%d)",
+                   ServerCertificate, cssmErrorString(err), (int)err);
+    goto cleanup;
+  }
+
+#  if HAVE_SECPOLICYCREATESSL
+  servername = CFStringCreateWithCString(kCFAllocatorDefault, con->servername,
+                                        kCFStringEncodingUTF8);
+
+  policy = SecPolicyCreateSSL(1, servername);
+
+  if (servername)
+    CFRelease(servername);
+
+  if (!policy)
+  {
+    cupsdLogMessage(CUPSD_LOG_ERROR, "Cannot create ssl policy reference");
+    goto cleanup;
+  }
+
+  if (!(query = CFDictionaryCreateMutable(kCFAllocatorDefault, 0,
+                                         &kCFTypeDictionaryKeyCallBacks,
+                                         &kCFTypeDictionaryValueCallBacks)))
+  {
+    cupsdLogMessage(CUPSD_LOG_ERROR, "Cannot create query dictionary");
+    goto cleanup;
+  }
+
+  list = CFArrayCreate(kCFAllocatorDefault, (const void **)&keychain, 1,
+                       &kCFTypeArrayCallBacks);
+
+  CFDictionaryAddValue(query, kSecClass, kSecClassIdentity);
+  CFDictionaryAddValue(query, kSecMatchPolicy, policy);
+  CFDictionaryAddValue(query, kSecReturnRef, kCFBooleanTrue);
+  CFDictionaryAddValue(query, kSecMatchLimit, kSecMatchLimitOne);
+  CFDictionaryAddValue(query, kSecMatchSearchList, list);
+
+  CFRelease(list);
+
+  err = SecItemCopyMatching(query, (CFTypeRef *)&identity);
+
+#    if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
+  if (err && DNSSDHostName)
+  {
+   /*
+    * Search for the connection server name failed; try the DNS-SD .local
+    * hostname instead...
+    */
+
+    snprintf(localname, sizeof(localname), "%s.local", DNSSDHostName);
+
+    cupsdLogMessage(CUPSD_LOG_DEBUG,
+                   "copy_cdsa_certificate: Looking for certs for \"%s\"...",
+                   localname);
+
+    servername = CFStringCreateWithCString(kCFAllocatorDefault, localname,
+                                          kCFStringEncodingUTF8);
+
+    CFRelease(policy);
+
+    policy = SecPolicyCreateSSL(1, servername);
+
+    if (servername)
+      CFRelease(servername);
+
+    if (!policy)
+    {
+      cupsdLogMessage(CUPSD_LOG_ERROR, "Cannot create ssl policy reference");
+      goto cleanup;
+    }
+
+    CFDictionarySetValue(query, kSecMatchPolicy, policy);
+
+    err = SecItemCopyMatching(query, (CFTypeRef *)&identity);
+  }
+#    endif /* HAVE_DNSSD || HAVE_AVAHI */
+
+  if (err)
+  {
+    cupsdLogMessage(CUPSD_LOG_DEBUG,
+                   "Cannot find signing key in keychain \"%s\": %s (%d)",
+                   ServerCertificate, cssmErrorString(err), (int)err);
+    goto cleanup;
+  }
+
+#  elif defined(HAVE_SECIDENTITYSEARCHCREATEWITHPOLICY)
+ /*
+  * Use a policy to search for valid certificates whose common name matches the
+  * servername...
+  */
+
+  if (SecPolicySearchCreate(CSSM_CERT_X_509v3, &CSSMOID_APPLE_TP_SSL,
+                           NULL, &policy_search))
+  {
+    cupsdLogMessage(CUPSD_LOG_ERROR, "Cannot create a policy search reference");
+    goto cleanup;
+  }
+
+  if (SecPolicySearchCopyNext(policy_search, &policy))
+  {
+    cupsdLogMessage(CUPSD_LOG_ERROR,
+                   "Cannot find a policy to use for searching");
+    goto cleanup;
+  }
+
+  memset(&ssl_options, 0, sizeof(ssl_options));
+  ssl_options.Version = CSSM_APPLE_TP_SSL_OPTS_VERSION;
+  ssl_options.ServerName = con->servername;
+  ssl_options.ServerNameLen = strlen(con->servername);
+
+  options.Data = (uint8 *)&ssl_options;
+  options.Length = sizeof(ssl_options);
+
+  if (SecPolicySetValue(policy, &options))
+  {
+    cupsdLogMessage(CUPSD_LOG_ERROR,
+                   "Cannot set policy value to use for searching");
+    goto cleanup;
+  }
+
+  if ((err = SecIdentitySearchCreateWithPolicy(policy, NULL, CSSM_KEYUSE_SIGN,
+                                              keychain, FALSE, &search)))
+  {
+    cupsdLogMessage(CUPSD_LOG_ERROR,
+                   "Cannot create identity search reference: %s (%d)",
+                   cssmErrorString(err), (int)err);
+    goto cleanup;
+  }
+
+  err = SecIdentitySearchCopyNext(search, &identity);
+
+#    if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
+  if (err && DNSSDHostName)
+  {
+   /*
+    * Search for the connection server name failed; try the DNS-SD .local
+    * hostname instead...
+    */
+
+    snprintf(localname, sizeof(localname), "%s.local", DNSSDHostName);
+
+    ssl_options.ServerName    = localname;
+    ssl_options.ServerNameLen = strlen(localname);
+
+    cupsdLogMessage(CUPSD_LOG_DEBUG,
+                   "copy_cdsa_certificate: Looking for certs for \"%s\"...",
+                   localname);
+
+    if (SecPolicySetValue(policy, &options))
+    {
+      cupsdLogMessage(CUPSD_LOG_ERROR,
+                     "Cannot set policy value to use for searching");
+      goto cleanup;
+    }
+
+    CFRelease(search);
+    search = NULL;
+    if ((err = SecIdentitySearchCreateWithPolicy(policy, NULL, CSSM_KEYUSE_SIGN,
+                                              keychain, FALSE, &search)))
+    {
+      cupsdLogMessage(CUPSD_LOG_ERROR,
+                     "Cannot create identity search reference: %s (%d)",
+                     cssmErrorString(err), (int)err);
+      goto cleanup;
+    }
+
+    err = SecIdentitySearchCopyNext(search, &identity);
+
+  }
+#    endif /* HAVE_DNSSD || HAVE_AVAHI */
+
+  if (err)
+  {
+    cupsdLogMessage(CUPSD_LOG_DEBUG,
+                   "Cannot find signing key in keychain \"%s\": %s (%d)",
+                   ServerCertificate, cssmErrorString(err), (int)err);
+    goto cleanup;
+  }
+
+#  else
+ /*
+  * Assume there is exactly one SecIdentity in the keychain...
+  */
+
+  if ((err = SecIdentitySearchCreate(keychain, CSSM_KEYUSE_SIGN, &search)))
+  {
+    cupsdLogMessage(CUPSD_LOG_DEBUG,
+                   "Cannot create identity search reference (%d)", (int)err);
+    goto cleanup;
+  }
+
+  if ((err = SecIdentitySearchCopyNext(search, &identity)))
+  {
+    cupsdLogMessage(CUPSD_LOG_DEBUG,
+                   "Cannot find signing key in keychain \"%s\": %s (%d)",
+                   ServerCertificate, cssmErrorString(err), (int)err);
+    goto cleanup;
+  }
+#  endif /* HAVE_SECPOLICYCREATESSL */
+
+  if (CFGetTypeID(identity) != SecIdentityGetTypeID())
+  {
+    cupsdLogMessage(CUPSD_LOG_ERROR, "SecIdentity CFTypeID failure!");
+    goto cleanup;
+  }
+
+  if ((certificates = CFArrayCreate(NULL, (const void **)&identity,
+                                 1, &kCFTypeArrayCallBacks)) == NULL)
+  {
+    cupsdLogMessage(CUPSD_LOG_ERROR, "Cannot create certificate array");
+    goto cleanup;
+  }
+
+  cleanup :
+
+  if (keychain)
+    CFRelease(keychain);
+  if (search)
+    CFRelease(search);
+  if (identity)
+    CFRelease(identity);
+
+#  if HAVE_SECPOLICYCREATESSL
+  if (policy)
+    CFRelease(policy);
+  if (query)
+    CFRelease(query);
+#  elif defined(HAVE_SECIDENTITYSEARCHCREATEWITHPOLICY)
+  if (policy)
+    CFRelease(policy);
+  if (policy_search)
+    CFRelease(policy_search);
+#  endif /* HAVE_SECPOLICYCREATESSL */
+
+  return (certificates);
+}
+
+
+/*
+ * 'make_certificate()' - Make a self-signed SSL/TLS certificate.
+ */
+
+static int                             /* O - 1 on success, 0 on failure */
+make_certificate(cupsd_client_t *con)  /* I - Client connection */
+{
+  int          pid,                    /* Process ID of command */
+               status;                 /* Status of command */
+  char         command[1024],          /* Command */
+               *argv[4],               /* Command-line arguments */
+               *envp[MAX_ENV + 1],     /* Environment variables */
+               keychain[1024],         /* Keychain argument */
+               infofile[1024],         /* Type-in information for cert */
+#  if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
+               localname[1024],        /* Local hostname */
+#  endif /* HAVE_DNSSD || HAVE_AVAHI */
+               *servername;            /* Name of server in cert */
+  cups_file_t  *fp;                    /* Seed/info file */
+  int          infofd;                 /* Info file descriptor */
+
+
+#  if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
+  if (con->servername && isdigit(con->servername[0] & 255) && DNSSDHostName)
+  {
+    snprintf(localname, sizeof(localname), "%s.local", DNSSDHostName);
+    servername = localname;
+  }
+  else
+#  endif /* HAVE_DNSSD || HAVE_AVAHI */
+    servername = con->servername;
+
+ /*
+  * Run the "certtool" command to generate a self-signed certificate...
+  */
+
+  if (!cupsFileFind("certtool", getenv("PATH"), 1, command, sizeof(command)))
+  {
+    cupsdLogMessage(CUPSD_LOG_ERROR,
+                    "No SSL certificate and certtool command not found!");
+    return (0);
+  }
+
+ /*
+  * Create a file with the certificate information fields...
+  *
+  * Note: This assumes that the default questions are asked by the certtool
+  * command...
+  */
+
+  if ((fp = cupsTempFile2(infofile, sizeof(infofile))) == NULL)
+  {
+    cupsdLogMessage(CUPSD_LOG_ERROR,
+                    "Unable to create certificate information file %s - %s",
+                    infofile, strerror(errno));
+    return (0);
+  }
+
+  cupsFilePrintf(fp,
+                 "%s\n"                        /* Enter key and certificate label */
+                 "r\n"                 /* Generate RSA key pair */
+                 "2048\n"              /* Key size in bits */
+                 "y\n"                 /* OK (y = yes) */
+                 "b\n"                 /* Usage (b=signing/encryption) */
+                 "s\n"                 /* Sign with SHA1 */
+                 "y\n"                 /* OK (y = yes) */
+                 "%s\n"                        /* Common name */
+                 "\n"                  /* Country (default) */
+                 "\n"                  /* Organization (default) */
+                 "\n"                  /* Organizational unit (default) */
+                 "\n"                  /* State/Province (default) */
+                 "%s\n"                        /* Email address */
+                 "y\n",                        /* OK (y = yes) */
+                servername, servername, ServerAdmin);
+  cupsFileClose(fp);
+
+  cupsdLogMessage(CUPSD_LOG_INFO,
+                  "Generating SSL server key and certificate...");
+
+  snprintf(keychain, sizeof(keychain), "k=%s", ServerCertificate);
+
+  argv[0] = "certtool";
+  argv[1] = "c";
+  argv[2] = keychain;
+  argv[3] = NULL;
+
+  cupsdLoadEnv(envp, MAX_ENV);
+
+  infofd = open(infofile, O_RDONLY);
+
+  if (!cupsdStartProcess(command, argv, envp, infofd, -1, -1, -1, -1, 1, NULL,
+                         NULL, &pid))
+  {
+    close(infofd);
+    unlink(infofile);
+    return (0);
+  }
+
+  close(infofd);
+  unlink(infofile);
+
+  while (waitpid(pid, &status, 0) < 0)
+    if (errno != EINTR)
+    {
+      status = 1;
+      break;
+    }
+
+  cupsdFinishProcess(pid, command, sizeof(command), NULL);
+
+  if (status)
+  {
+    if (WIFEXITED(status))
+      cupsdLogMessage(CUPSD_LOG_ERROR,
+                      "Unable to create SSL server key and certificate - "
+                     "the certtool command stopped with status %d!",
+                     WEXITSTATUS(status));
+    else
+      cupsdLogMessage(CUPSD_LOG_ERROR,
+                      "Unable to create SSL server key and certificate - "
+                     "the certtool command crashed on signal %d!",
+                     WTERMSIG(status));
+  }
+  else
+  {
+    cupsdLogMessage(CUPSD_LOG_INFO,
+                    "Created SSL server certificate file \"%s\"...",
+                   ServerCertificate);
+  }
+
+  return (!status);
+}
+
+
+/*
+ * End of "$Id: tls-darwin.c 11173 2013-07-23 12:31:34Z msweet $".
+ */
diff --git a/scheduler/tls-gnutls.c b/scheduler/tls-gnutls.c
new file mode 100644 (file)
index 0000000..c2d7032
--- /dev/null
@@ -0,0 +1,292 @@
+/*
+ * "$Id: tls-gnutls.c 11173 2013-07-23 12:31:34Z msweet $"
+ *
+ *   TLS support code for the CUPS scheduler using GNU TLS.
+ *
+ *   Copyright 2007-2012 by Apple Inc.
+ *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
+ *
+ *   These coded instructions, statements, and computer programs are the
+ *   property of Apple Inc. and are protected by Federal copyright
+ *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
+ *   which should have been included with this file.  If this file is
+ *   file is missing or damaged, see the license at "http://www.cups.org/".
+ *
+ * Contents:
+ *
+ *   cupsdEndTLS()     - Shutdown a secure session with the client.
+ *   cupsdStartTLS()   - Start a secure session with the client.
+ *   make_certificate() - Make a self-signed SSL/TLS certificate.
+ */
+
+
+/*
+ * Local functions...
+ */
+
+static int             make_certificate(cupsd_client_t *con);
+
+
+/*
+ * 'cupsdEndTLS()' - Shutdown a secure session with the client.
+ */
+
+int                                    /* O - 1 on success, 0 on error */
+cupsdEndTLS(cupsd_client_t *con)       /* I - Client connection */
+{
+  int          error;                  /* Error code */
+  gnutls_certificate_server_credentials *credentials;
+                                       /* TLS credentials */
+
+
+  credentials = (gnutls_certificate_server_credentials *)
+                    (con->http.tls_credentials);
+
+  error = gnutls_bye(con->http.tls, GNUTLS_SHUT_WR);
+  switch (error)
+  {
+    case GNUTLS_E_SUCCESS:
+      cupsdLogMessage(CUPSD_LOG_DEBUG,
+                     "SSL shutdown successful!");
+      break;
+    default:
+      cupsdLogMessage(CUPSD_LOG_ERROR,
+                     "SSL shutdown failed: %s", gnutls_strerror(error));
+      break;
+  }
+
+  gnutls_deinit(con->http.tls);
+  con->http.tls = NULL;
+
+  gnutls_certificate_free_credentials(*credentials);
+  free(credentials);
+
+  return (1);
+}
+
+
+/*
+ * 'cupsdStartTLS()' - Start a secure session with the client.
+ */
+
+int                                    /* O - 1 on success, 0 on error */
+cupsdStartTLS(cupsd_client_t *con)     /* I - Client connection */
+{
+  int          status;                 /* Error code */
+  gnutls_certificate_server_credentials *credentials;
+                                       /* TLS credentials */
+
+
+  cupsdLogMessage(CUPSD_LOG_DEBUG, "[Client %d] Encrypting connection.",
+                  con->http.fd);
+
+ /*
+  * Verify that we have a certificate...
+  */
+
+  if (access(ServerKey, 0) || access(ServerCertificate, 0))
+  {
+   /*
+    * Nope, make a self-signed certificate...
+    */
+
+    if (!make_certificate(con))
+      return (0);
+  }
+
+ /*
+  * Create the SSL object and perform the SSL handshake...
+  */
+
+  credentials = (gnutls_certificate_server_credentials *)
+                    malloc(sizeof(gnutls_certificate_server_credentials));
+  if (credentials == NULL)
+  {
+    cupsdLogMessage(CUPSD_LOG_ERROR,
+                    "Unable to encrypt connection from %s - %s",
+                    con->http.hostname, strerror(errno));
+
+    return (0);
+  }
+
+  gnutls_certificate_allocate_credentials(credentials);
+  gnutls_certificate_set_x509_key_file(*credentials, ServerCertificate,
+                                      ServerKey, GNUTLS_X509_FMT_PEM);
+
+  gnutls_init(&con->http.tls, GNUTLS_SERVER);
+  gnutls_set_default_priority(con->http.tls);
+
+  gnutls_credentials_set(con->http.tls, GNUTLS_CRD_CERTIFICATE, *credentials);
+  gnutls_transport_set_ptr(con->http.tls, (gnutls_transport_ptr)HTTP(con));
+  gnutls_transport_set_pull_function(con->http.tls, _httpReadGNUTLS);
+  gnutls_transport_set_push_function(con->http.tls, _httpWriteGNUTLS);
+
+  while ((status = gnutls_handshake(con->http.tls)) != GNUTLS_E_SUCCESS)
+  {
+    if (gnutls_error_is_fatal(status))
+    {
+      cupsdLogMessage(CUPSD_LOG_ERROR,
+                      "Unable to encrypt connection from %s - %s",
+                      con->http.hostname, gnutls_strerror(status));
+
+      gnutls_deinit(con->http.tls);
+      gnutls_certificate_free_credentials(*credentials);
+      con->http.tls = NULL;
+      free(credentials);
+      return (0);
+    }
+  }
+
+  cupsdLogMessage(CUPSD_LOG_DEBUG, "Connection from %s now encrypted.",
+                  con->http.hostname);
+
+  con->http.tls_credentials = credentials;
+  return (1);
+}
+
+
+/*
+ * 'make_certificate()' - Make a self-signed SSL/TLS certificate.
+ */
+
+static int                             /* O - 1 on success, 0 on failure */
+make_certificate(cupsd_client_t *con)  /* I - Client connection */
+{
+  gnutls_x509_crt      crt;            /* Self-signed certificate */
+  gnutls_x509_privkey  key;            /* Encryption key */
+  cups_lang_t          *language;      /* Default language info */
+  cups_file_t          *fp;            /* Key/cert file */
+  unsigned char                buffer[8192];   /* Buffer for x509 data */
+  size_t               bytes;          /* Number of bytes of data */
+  unsigned char                serial[4];      /* Serial number buffer */
+  time_t               curtime;        /* Current time */
+  int                  result;         /* Result of GNU TLS calls */
+
+
+ /*
+  * Create the encryption key...
+  */
+
+  cupsdLogMessage(CUPSD_LOG_INFO, "Generating SSL server key...");
+
+  gnutls_x509_privkey_init(&key);
+  gnutls_x509_privkey_generate(key, GNUTLS_PK_RSA, 2048, 0);
+
+ /*
+  * Save it...
+  */
+
+  bytes = sizeof(buffer);
+
+  if ((result = gnutls_x509_privkey_export(key, GNUTLS_X509_FMT_PEM,
+                                           buffer, &bytes)) < 0)
+  {
+    cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to export SSL server key - %s",
+                    gnutls_strerror(result));
+    gnutls_x509_privkey_deinit(key);
+    return (0);
+  }
+  else if ((fp = cupsFileOpen(ServerKey, "w")) != NULL)
+  {
+    cupsFileWrite(fp, (char *)buffer, bytes);
+    cupsFileClose(fp);
+
+    cupsdLogMessage(CUPSD_LOG_INFO, "Created SSL server key file \"%s\"...",
+                   ServerKey);
+  }
+  else
+  {
+    cupsdLogMessage(CUPSD_LOG_ERROR,
+                    "Unable to create SSL server key file \"%s\" - %s",
+                   ServerKey, strerror(errno));
+    gnutls_x509_privkey_deinit(key);
+    return (0);
+  }
+
+ /*
+  * Create the self-signed certificate...
+  */
+
+  cupsdLogMessage(CUPSD_LOG_INFO, "Generating self-signed SSL certificate...");
+
+  language  = cupsLangDefault();
+  curtime   = time(NULL);
+  serial[0] = curtime >> 24;
+  serial[1] = curtime >> 16;
+  serial[2] = curtime >> 8;
+  serial[3] = curtime;
+
+  gnutls_x509_crt_init(&crt);
+  if (strlen(language->language) == 5)
+    gnutls_x509_crt_set_dn_by_oid(crt, GNUTLS_OID_X520_COUNTRY_NAME, 0,
+                                  language->language + 3, 2);
+  else
+    gnutls_x509_crt_set_dn_by_oid(crt, GNUTLS_OID_X520_COUNTRY_NAME, 0,
+                                  "US", 2);
+  gnutls_x509_crt_set_dn_by_oid(crt, GNUTLS_OID_X520_COMMON_NAME, 0,
+                                ServerName, strlen(ServerName));
+  gnutls_x509_crt_set_dn_by_oid(crt, GNUTLS_OID_X520_ORGANIZATION_NAME, 0,
+                                ServerName, strlen(ServerName));
+  gnutls_x509_crt_set_dn_by_oid(crt, GNUTLS_OID_X520_ORGANIZATIONAL_UNIT_NAME,
+                                0, "Unknown", 7);
+  gnutls_x509_crt_set_dn_by_oid(crt, GNUTLS_OID_X520_STATE_OR_PROVINCE_NAME, 0,
+                                "Unknown", 7);
+  gnutls_x509_crt_set_dn_by_oid(crt, GNUTLS_OID_X520_LOCALITY_NAME, 0,
+                                "Unknown", 7);
+  gnutls_x509_crt_set_dn_by_oid(crt, GNUTLS_OID_PKCS9_EMAIL, 0,
+                                ServerAdmin, strlen(ServerAdmin));
+  gnutls_x509_crt_set_key(crt, key);
+  gnutls_x509_crt_set_serial(crt, serial, sizeof(serial));
+  gnutls_x509_crt_set_activation_time(crt, curtime);
+  gnutls_x509_crt_set_expiration_time(crt, curtime + 10 * 365 * 86400);
+  gnutls_x509_crt_set_ca_status(crt, 0);
+  gnutls_x509_crt_set_subject_alternative_name(crt, GNUTLS_SAN_DNSNAME,
+                                               ServerName);
+  gnutls_x509_crt_set_key_purpose_oid(crt, GNUTLS_KP_TLS_WWW_SERVER, 0);
+  gnutls_x509_crt_set_key_usage(crt, GNUTLS_KEY_KEY_ENCIPHERMENT);
+  gnutls_x509_crt_set_version(crt, 3);
+
+  bytes = sizeof(buffer);
+  if (gnutls_x509_crt_get_key_id(crt, 0, buffer, &bytes) >= 0)
+    gnutls_x509_crt_set_subject_key_id(crt, buffer, bytes);
+
+  gnutls_x509_crt_sign(crt, crt, key);
+
+ /*
+  * Save it...
+  */
+
+  bytes = sizeof(buffer);
+  if ((result = gnutls_x509_crt_export(crt, GNUTLS_X509_FMT_PEM,
+                                       buffer, &bytes)) < 0)
+    cupsdLogMessage(CUPSD_LOG_ERROR,
+                    "Unable to export SSL server certificate - %s",
+                   gnutls_strerror(result));
+  else if ((fp = cupsFileOpen(ServerCertificate, "w")) != NULL)
+  {
+    cupsFileWrite(fp, (char *)buffer, bytes);
+    cupsFileClose(fp);
+
+    cupsdLogMessage(CUPSD_LOG_INFO,
+                    "Created SSL server certificate file \"%s\"...",
+                   ServerCertificate);
+  }
+  else
+    cupsdLogMessage(CUPSD_LOG_ERROR,
+                    "Unable to create SSL server certificate file \"%s\" - %s",
+                   ServerCertificate, strerror(errno));
+
+ /*
+  * Cleanup...
+  */
+
+  gnutls_x509_crt_deinit(crt);
+  gnutls_x509_privkey_deinit(key);
+
+  return (1);
+}
+
+
+/*
+ * End of "$Id: tls-gnutls.c 11173 2013-07-23 12:31:34Z msweet $".
+ */
diff --git a/scheduler/tls-openssl.c b/scheduler/tls-openssl.c
new file mode 100644 (file)
index 0000000..f123d28
--- /dev/null
@@ -0,0 +1,353 @@
+/*
+ * "$Id: tls-openssl.c 11173 2013-07-23 12:31:34Z msweet $"
+ *
+ *   TLS support code for the CUPS scheduler using OpenSSL.
+ *
+ *   Copyright 2007-2012 by Apple Inc.
+ *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
+ *
+ *   These coded instructions, statements, and computer programs are the
+ *   property of Apple Inc. and are protected by Federal copyright
+ *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
+ *   which should have been included with this file.  If this file is
+ *   file is missing or damaged, see the license at "http://www.cups.org/".
+ *
+ * Contents:
+ *
+ *   cupsdEndTLS()     - Shutdown a secure session with the client.
+ *   cupsdStartTLS()   - Start a secure session with the client.
+ *   make_certificate() - Make a self-signed SSL/TLS certificate.
+ */
+
+
+/*
+ * Local functions...
+ */
+
+static int             make_certificate(cupsd_client_t *con);
+
+
+/*
+ * 'cupsdEndTLS()' - Shutdown a secure session with the client.
+ */
+
+int                                    /* O - 1 on success, 0 on error */
+cupsdEndTLS(cupsd_client_t *con)       /* I - Client connection */
+{
+  SSL_CTX      *context;               /* Context for encryption */
+  unsigned long        error;                  /* Error code */
+  int          status;                 /* Return status */
+
+
+  context = SSL_get_SSL_CTX(con->http.tls);
+
+  switch (SSL_shutdown(con->http.tls))
+  {
+    case 1 :
+       cupsdLogMessage(CUPSD_LOG_DEBUG,
+                       "SSL shutdown successful!");
+       status = 1;
+       break;
+
+    case -1 :
+       cupsdLogMessage(CUPSD_LOG_ERROR,
+                       "Fatal error during SSL shutdown!");
+
+    default :
+       while ((error = ERR_get_error()) != 0)
+         cupsdLogMessage(CUPSD_LOG_ERROR, "SSL shutdown failed: %s",
+                         ERR_error_string(error, NULL));
+       status = 0;
+       break;
+  }
+
+  SSL_CTX_free(context);
+  SSL_free(con->http.tls);
+  con->http.tls = NULL;
+
+  return (status);
+}
+
+
+/*
+ * 'cupsdStartTLS()' - Start a secure session with the client.
+ */
+
+int                                    /* O - 1 on success, 0 on error */
+cupsdStartTLS(cupsd_client_t *con)     /* I - Client connection */
+{
+  SSL_CTX      *context;               /* Context for encryption */
+  BIO          *bio;                   /* BIO data */
+  unsigned long        error;                  /* Error code */
+
+
+  cupsdLogMessage(CUPSD_LOG_DEBUG, "[Client %d] Encrypting connection.",
+                  con->http.fd);
+
+ /*
+  * Verify that we have a certificate...
+  */
+
+  if (access(ServerKey, 0) || access(ServerCertificate, 0))
+  {
+   /*
+    * Nope, make a self-signed certificate...
+    */
+
+    if (!make_certificate(con))
+      return (0);
+  }
+
+ /*
+  * Create the SSL context and accept the connection...
+  */
+
+  context = SSL_CTX_new(SSLv23_server_method());
+
+  SSL_CTX_set_options(context, SSL_OP_NO_SSLv2); /* Only use SSLv3 or TLS */
+  if (SSLOptions & CUPSD_SSL_NOEMPTY)
+    SSL_CTX_set_options(context, SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS);
+  SSL_CTX_use_PrivateKey_file(context, ServerKey, SSL_FILETYPE_PEM);
+  SSL_CTX_use_certificate_chain_file(context, ServerCertificate);
+
+  bio = BIO_new(_httpBIOMethods());
+  BIO_ctrl(bio, BIO_C_SET_FILE_PTR, 0, (char *)HTTP(con));
+
+  con->http.tls = SSL_new(context);
+  SSL_set_bio(con->http.tls, bio, bio);
+
+  if (SSL_accept(con->http.tls) != 1)
+  {
+    cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to encrypt connection from %s.",
+                    con->http.hostname);
+
+    while ((error = ERR_get_error()) != 0)
+      cupsdLogMessage(CUPSD_LOG_ERROR, "%s", ERR_error_string(error, NULL));
+
+    SSL_CTX_free(context);
+    SSL_free(con->http.tls);
+    con->http.tls = NULL;
+    return (0);
+  }
+
+  cupsdLogMessage(CUPSD_LOG_DEBUG, "Connection from %s now encrypted.",
+                  con->http.hostname);
+
+  return (1);
+}
+
+
+/*
+ * 'make_certificate()' - Make a self-signed SSL/TLS certificate.
+ */
+
+static int                             /* O - 1 on success, 0 on failure */
+make_certificate(cupsd_client_t *con)  /* I - Client connection */
+{
+#ifdef HAVE_WAITPID
+  int          pid,                    /* Process ID of command */
+               status;                 /* Status of command */
+  char         command[1024],          /* Command */
+               *argv[12],              /* Command-line arguments */
+               *envp[MAX_ENV + 1],     /* Environment variables */
+               infofile[1024],         /* Type-in information for cert */
+               seedfile[1024];         /* Random number seed file */
+  int          envc,                   /* Number of environment variables */
+               bytes;                  /* Bytes written */
+  cups_file_t  *fp;                    /* Seed/info file */
+  int          infofd;                 /* Info file descriptor */
+
+
+ /*
+  * Run the "openssl" command to seed the random number generator and
+  * generate a self-signed certificate that is good for 10 years:
+  *
+  *     openssl rand -rand seedfile 1
+  *
+  *     openssl req -new -x509 -keyout ServerKey \
+  *             -out ServerCertificate -days 3650 -nodes
+  *
+  * The seeding step is crucial in ensuring that the openssl command
+  * does not block on systems without sufficient entropy...
+  */
+
+  if (!cupsFileFind("openssl", getenv("PATH"), 1, command, sizeof(command)))
+  {
+    cupsdLogMessage(CUPSD_LOG_ERROR,
+                    "No SSL certificate and openssl command not found!");
+    return (0);
+  }
+
+  if (access("/dev/urandom", 0))
+  {
+   /*
+    * If the system doesn't provide /dev/urandom, then any random source
+    * will probably be blocking-style, so generate some random data to
+    * use as a seed for the certificate.  Note that we have already
+    * seeded the random number generator in cupsdInitCerts()...
+    */
+
+    cupsdLogMessage(CUPSD_LOG_INFO,
+                    "Seeding the random number generator...");
+
+   /*
+    * Write the seed file...
+    */
+
+    if ((fp = cupsTempFile2(seedfile, sizeof(seedfile))) == NULL)
+    {
+      cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to create seed file %s - %s",
+                      seedfile, strerror(errno));
+      return (0);
+    }
+
+    for (bytes = 0; bytes < 262144; bytes ++)
+      cupsFilePutChar(fp, CUPS_RAND());
+
+    cupsFileClose(fp);
+
+   /*
+    * Run the openssl command to seed its random number generator...
+    */
+
+    argv[0] = "openssl";
+    argv[1] = "rand";
+    argv[2] = "-rand";
+    argv[3] = seedfile;
+    argv[4] = "1";
+    argv[5] = NULL;
+
+    envc = cupsdLoadEnv(envp, MAX_ENV);
+    envp[envc] = NULL;
+
+    if (!cupsdStartProcess(command, argv, envp, -1, -1, -1, -1, -1, 1, NULL,
+                           NULL, &pid))
+    {
+      unlink(seedfile);
+      return (0);
+    }
+
+    while (waitpid(pid, &status, 0) < 0)
+      if (errno != EINTR)
+      {
+       status = 1;
+       break;
+      }
+
+    cupsdFinishProcess(pid, command, sizeof(command), NULL);
+
+   /*
+    * Remove the seed file, as it is no longer needed...
+    */
+
+    unlink(seedfile);
+
+    if (status)
+    {
+      if (WIFEXITED(status))
+       cupsdLogMessage(CUPSD_LOG_ERROR,
+                       "Unable to seed random number generator - "
+                       "the openssl command stopped with status %d!",
+                       WEXITSTATUS(status));
+      else
+       cupsdLogMessage(CUPSD_LOG_ERROR,
+                       "Unable to seed random number generator - "
+                       "the openssl command crashed on signal %d!",
+                       WTERMSIG(status));
+
+      return (0);
+    }
+  }
+
+ /*
+  * Create a file with the certificate information fields...
+  *
+  * Note: This assumes that the default questions are asked by the openssl
+  * command...
+  */
+
+  if ((fp = cupsTempFile2(infofile, sizeof(infofile))) == NULL)
+  {
+    cupsdLogMessage(CUPSD_LOG_ERROR,
+                    "Unable to create certificate information file %s - %s",
+                    infofile, strerror(errno));
+    return (0);
+  }
+
+  cupsFilePrintf(fp, ".\n.\n.\n%s\n.\n%s\n%s\n",
+                 ServerName, ServerName, ServerAdmin);
+  cupsFileClose(fp);
+
+  cupsdLogMessage(CUPSD_LOG_INFO,
+                  "Generating SSL server key and certificate...");
+
+  argv[0]  = "openssl";
+  argv[1]  = "req";
+  argv[2]  = "-new";
+  argv[3]  = "-x509";
+  argv[4]  = "-keyout";
+  argv[5]  = ServerKey;
+  argv[6]  = "-out";
+  argv[7]  = ServerCertificate;
+  argv[8]  = "-days";
+  argv[9]  = "3650";
+  argv[10] = "-nodes";
+  argv[11] = NULL;
+
+  cupsdLoadEnv(envp, MAX_ENV);
+
+  infofd = open(infofile, O_RDONLY);
+
+  if (!cupsdStartProcess(command, argv, envp, infofd, -1, -1, -1, -1, 1, NULL,
+                         NULL, &pid))
+  {
+    close(infofd);
+    unlink(infofile);
+    return (0);
+  }
+
+  close(infofd);
+  unlink(infofile);
+
+  while (waitpid(pid, &status, 0) < 0)
+    if (errno != EINTR)
+    {
+      status = 1;
+      break;
+    }
+
+  cupsdFinishProcess(pid, command, sizeof(command), NULL);
+
+  if (status)
+  {
+    if (WIFEXITED(status))
+      cupsdLogMessage(CUPSD_LOG_ERROR,
+                      "Unable to create SSL server key and certificate - "
+                     "the openssl command stopped with status %d!",
+                     WEXITSTATUS(status));
+    else
+      cupsdLogMessage(CUPSD_LOG_ERROR,
+                      "Unable to create SSL server key and certificate - "
+                     "the openssl command crashed on signal %d!",
+                     WTERMSIG(status));
+  }
+  else
+  {
+    cupsdLogMessage(CUPSD_LOG_INFO, "Created SSL server key file \"%s\"...",
+                   ServerKey);
+    cupsdLogMessage(CUPSD_LOG_INFO,
+                    "Created SSL server certificate file \"%s\"...",
+                   ServerCertificate);
+  }
+
+  return (!status);
+
+#else
+  return (0);
+#endif /* HAVE_WAITPID */
+}
+
+
+/*
+ * End of "$Id: tls-openssl.c 11173 2013-07-23 12:31:34Z msweet $".
+ */
diff --git a/scheduler/tls.c b/scheduler/tls.c
new file mode 100644 (file)
index 0000000..bd18263
--- /dev/null
@@ -0,0 +1,30 @@
+/*
+ * "$Id: tls.c 11173 2013-07-23 12:31:34Z msweet $"
+ *
+ *   TLS support code for the CUPS scheduler.
+ *
+ *   Copyright 2012 by Apple Inc.
+ *
+ *   These coded instructions, statements, and computer programs are the
+ *   property of Apple Inc. and are protected by Federal copyright
+ *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
+ *   which should have been included with this file.  If this file is
+ *   file is missing or damaged, see the license at "http://www.cups.org/".
+ */
+
+#include "cupsd.h"
+
+#ifdef HAVE_SSL
+#  ifdef HAVE_CDSASSL
+#    include "tls-darwin.c"
+#  elif defined(HAVE_GNUTLS)
+#    include "tls-gnutls.c"
+#  elif defined(HAVE_LIBSSL)
+#    include "tls-openssl.c"
+#  endif /* HAVE_CDSASSL */
+#endif /* HAVE_SSL */
+
+
+/*
+ * End of "$Id: tls.c 11173 2013-07-23 12:31:34Z msweet $".
+ */
index d2e32b2..bf014be 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: type.c 9793 2011-05-20 03:49:49Z mike $"
+ * "$Id: type.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   MIME typing routines for CUPS.
  *
@@ -1212,5 +1212,5 @@ mime_patmatch(const char *s,              /* I - String to match against */
 
 
 /*
- * End of "$Id: type.c 9793 2011-05-20 03:49:49Z mike $".
+ * End of "$Id: type.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 9bc8077..74dd9ff 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: util.c 9793 2011-05-20 03:49:49Z mike $"
+ * "$Id: util.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Mini-daemon utility functions for CUPS.
  *
@@ -170,7 +170,7 @@ cupsdCreateStringsArray(const char *s)      /* I - Comma-delimited strings */
 /*
  * 'cupsdExec()' - Run a program with the correct environment.
  *
- * On Mac OS X, we need to update the CFProcessPath environment variable that
+ * On OS X, we need to update the CFProcessPath environment variable that
  * is passed in the environment so the child can access its bundled resources.
  */
 
@@ -187,7 +187,7 @@ cupsdExec(const char *command,              /* I - Full path to program */
 
 
  /*
-  * Some Mac OS X programs are bundled and need the CFProcessPath environment
+  * Some OS X programs are bundled and need the CFProcessPath environment
   * variable defined.  If the command is a symlink, resolve the link and point
   * to the resolved location, otherwise, use the command path itself.
   */
@@ -467,5 +467,5 @@ cupsdSendIPPTrailer(void)
 
 
 /*
- * End of "$Id: util.c 9793 2011-05-20 03:49:49Z mike $".
+ * End of "$Id: util.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 0080914..cf5ae0d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: util.h 9755 2011-05-09 22:53:31Z mike $"
+ * "$Id: util.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Mini-daemon utility definitions for CUPS.
  *
@@ -67,5 +67,5 @@ extern void           cupsdSendIPPTrailer(void);
 #endif /* !_CUPSD_UTIL_H_ */
 
 /*
- * End of "$Id: util.h 9755 2011-05-09 22:53:31Z mike $".
+ * End of "$Id: util.h 11173 2013-07-23 12:31:34Z msweet $".
  */
diff --git a/scripting/perl/CUPS.pm b/scripting/perl/CUPS.pm
deleted file mode 100644 (file)
index 5f2ed5f..0000000
+++ /dev/null
@@ -1,144 +0,0 @@
-package CUPS;
-
-use 5.006;
-use strict;
-use warnings;
-use Carp;
-
-require Exporter;
-require DynaLoader;
-use AutoLoader;
-
-our @ISA = qw(Exporter DynaLoader);
-
-# Items to export into callers namespace by default. Note: do not export
-# names by default without a very good reason. Use EXPORT_OK instead.
-# Do not simply export all your public functions/methods/constants.
-
-# This allows declaration      use CUPS ':all';
-# If you do not need this, moving things directly into @EXPORT or @EXPORT_OK
-# will save memory.
-our %EXPORT_TAGS = ( 'all' => [ qw(
-       CUPS_DATE_ANY
-       CUPS_VERSION
-       HTTP_MAX_BUFFER
-       HTTP_MAX_HOST
-       HTTP_MAX_URI
-       HTTP_MAX_VALUE
-       IPP_MAX_NAME
-       IPP_MAX_VALUES
-       IPP_PORT
-       PPD_MAX_LINE
-       PPD_MAX_NAME
-       PPD_MAX_TEXT
-       PPD_VERSION
-) ] );
-
-our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
-
-our @EXPORT = qw(
-       CUPS_DATE_ANY
-       CUPS_VERSION
-       HTTP_MAX_BUFFER
-       HTTP_MAX_HOST
-       HTTP_MAX_URI
-       HTTP_MAX_VALUE
-       IPP_MAX_NAME
-       IPP_MAX_VALUES
-       IPP_PORT
-       PPD_MAX_LINE
-       PPD_MAX_NAME
-       PPD_MAX_TEXT
-       PPD_VERSION
-);
-our $VERSION = '1.2';
-
-sub AUTOLOAD {
-    # This AUTOLOAD is used to 'autoload' constants from the constant()
-    # XS function.  If a constant is not found then control is passed
-    # to the AUTOLOAD in AutoLoader.
-
-    my $constname;
-    our $AUTOLOAD;
-    ($constname = $AUTOLOAD) =~ s/.*:://;
-    croak "& not defined" if $constname eq 'constant';
-    my $val = constant($constname, @_ ? $_[0] : 0);
-    if ($! != 0) {
-       if ($! =~ /Invalid/ || $!{EINVAL}) {
-           $AutoLoader::AUTOLOAD = $AUTOLOAD;
-           goto &AutoLoader::AUTOLOAD;
-       }
-       else {
-           croak "Your vendor has not defined CUPS macro $constname";
-       }
-    }
-    {
-       no strict 'refs';
-       # Fixed between 5.005_53 and 5.005_61
-       if ($] >= 5.00561) {
-           *$AUTOLOAD = sub () { $val };
-       }
-       else {
-           *$AUTOLOAD = sub { $val };
-       }
-    }
-    goto &$AUTOLOAD;
-}
-
-bootstrap CUPS $VERSION;
-
-# Preloaded methods go here.
-
-# Autoload methods go after =cut, and are processed by the autosplit program.
-
-1;
-__END__
-# Below is stub documentation for your module. You better edit it!
-
-=head1 NAME
-
-CUPS - Perl extension for blah blah blah
-
-=head1 SYNOPSIS
-
-  use CUPS;
-  blah blah blah
-
-=head1 DESCRIPTION
-
-Stub documentation for CUPS, created by h2xs. It looks like the
-author of the extension was negligent enough to leave the stub
-unedited.
-
-Blah blah blah.
-
-=head2 EXPORT
-
-None by default.
-
-=head2 Exportable constants
-
-  CUPS_DATE_ANY
-  CUPS_VERSION
-  HTTP_MAX_BUFFER
-  HTTP_MAX_HOST
-  HTTP_MAX_URI
-  HTTP_MAX_VALUE
-  IPP_MAX_NAME
-  IPP_MAX_VALUES
-  IPP_PORT
-  PPD_MAX_LINE
-  PPD_MAX_NAME
-  PPD_MAX_TEXT
-  PPD_VERSION
-
-
-=head1 AUTHOR
-
-A. U. Thor, E<lt>a.u.thor@a.galaxy.far.far.awayE<gt>
-
-=head1 SEE ALSO
-
-L<perl>.
-
-=cut
diff --git a/scripting/perl/CUPS.xs b/scripting/perl/CUPS.xs
deleted file mode 100644 (file)
index efaf6dc..0000000
+++ /dev/null
@@ -1,270 +0,0 @@
-#include "EXTERN.h"
-#include "perl.h"
-#include "XSUB.h"
-
-#include <cups/cups.h>
-#include <cups/http.h>
-#include <cups/ipp.h>
-#include <cups/language.h>
-#include <cups/ppd.h>
-
-static int
-not_here(char *s)
-{
-    croak("%s not implemented on this architecture", s);
-    return -1;
-}
-
-static double
-constant_PPD_M(char *name, int len, int arg)
-{
-    if (5 + 3 >= len ) {
-       errno = EINVAL;
-       return 0;
-    }
-    switch (name[5 + 3]) {
-    case 'L':
-       if (strEQ(name + 5, "AX_LINE")) {       /* PPD_M removed */
-#ifdef PPD_MAX_LINE
-           return PPD_MAX_LINE;
-#else
-           goto not_there;
-#endif
-       }
-    case 'N':
-       if (strEQ(name + 5, "AX_NAME")) {       /* PPD_M removed */
-#ifdef PPD_MAX_NAME
-           return PPD_MAX_NAME;
-#else
-           goto not_there;
-#endif
-       }
-    case 'T':
-       if (strEQ(name + 5, "AX_TEXT")) {       /* PPD_M removed */
-#ifdef PPD_MAX_TEXT
-           return PPD_MAX_TEXT;
-#else
-           goto not_there;
-#endif
-       }
-    }
-    errno = EINVAL;
-    return 0;
-
-not_there:
-    errno = ENOENT;
-    return 0;
-}
-
-static double
-constant_P(char *name, int len, int arg)
-{
-    if (1 + 3 >= len ) {
-       errno = EINVAL;
-       return 0;
-    }
-    switch (name[1 + 3]) {
-    case 'M':
-       if (!strnEQ(name + 1,"PD_", 3))
-           break;
-       return constant_PPD_M(name, len, arg);
-    case 'V':
-       if (strEQ(name + 1, "PD_VERSION")) {    /* P removed */
-#ifdef PPD_VERSION
-           return PPD_VERSION;
-#else
-           goto not_there;
-#endif
-       }
-    }
-    errno = EINVAL;
-    return 0;
-
-not_there:
-    errno = ENOENT;
-    return 0;
-}
-
-static double
-constant_H(char *name, int len, int arg)
-{
-    if (1 + 8 >= len ) {
-       errno = EINVAL;
-       return 0;
-    }
-    switch (name[1 + 8]) {
-    case 'B':
-       if (strEQ(name + 1, "TTP_MAX_BUFFER")) {        /* H removed */
-#ifdef HTTP_MAX_BUFFER
-           return HTTP_MAX_BUFFER;
-#else
-           goto not_there;
-#endif
-       }
-    case 'H':
-       if (strEQ(name + 1, "TTP_MAX_HOST")) {  /* H removed */
-#ifdef HTTP_MAX_HOST
-           return HTTP_MAX_HOST;
-#else
-           goto not_there;
-#endif
-       }
-    case 'U':
-       if (strEQ(name + 1, "TTP_MAX_URI")) {   /* H removed */
-#ifdef HTTP_MAX_URI
-           return HTTP_MAX_URI;
-#else
-           goto not_there;
-#endif
-       }
-    case 'V':
-       if (strEQ(name + 1, "TTP_MAX_VALUE")) { /* H removed */
-#ifdef HTTP_MAX_VALUE
-           return HTTP_MAX_VALUE;
-#else
-           goto not_there;
-#endif
-       }
-    }
-    errno = EINVAL;
-    return 0;
-
-not_there:
-    errno = ENOENT;
-    return 0;
-}
-
-static double
-constant_IPP_M(char *name, int len, int arg)
-{
-    if (5 + 3 >= len ) {
-       errno = EINVAL;
-       return 0;
-    }
-    switch (name[5 + 3]) {
-    case 'N':
-       if (strEQ(name + 5, "AX_NAME")) {       /* IPP_M removed */
-#ifdef IPP_MAX_NAME
-           return IPP_MAX_NAME;
-#else
-           goto not_there;
-#endif
-       }
-    case 'V':
-       if (strEQ(name + 5, "AX_VALUES")) {     /* IPP_M removed */
-#ifdef IPP_MAX_VALUES
-           return IPP_MAX_VALUES;
-#else
-           goto not_there;
-#endif
-       }
-    }
-    errno = EINVAL;
-    return 0;
-
-not_there:
-    errno = ENOENT;
-    return 0;
-}
-
-static double
-constant_I(char *name, int len, int arg)
-{
-    if (1 + 3 >= len ) {
-       errno = EINVAL;
-       return 0;
-    }
-    switch (name[1 + 3]) {
-    case 'M':
-       if (!strnEQ(name + 1,"PP_", 3))
-           break;
-       return constant_IPP_M(name, len, arg);
-    case 'P':
-       if (strEQ(name + 1, "PP_PORT")) {       /* I removed */
-#ifdef IPP_PORT
-           return IPP_PORT;
-#else
-           goto not_there;
-#endif
-       }
-    }
-    errno = EINVAL;
-    return 0;
-
-not_there:
-    errno = ENOENT;
-    return 0;
-}
-
-static double
-constant_C(char *name, int len, int arg)
-{
-    if (1 + 4 >= len ) {
-       errno = EINVAL;
-       return 0;
-    }
-    switch (name[1 + 4]) {
-    case 'D':
-       if (strEQ(name + 1, "UPS_DATE_ANY")) {  /* C removed */
-#ifdef CUPS_DATE_ANY
-           return CUPS_DATE_ANY;
-#else
-           goto not_there;
-#endif
-       }
-    case 'V':
-       if (strEQ(name + 1, "UPS_VERSION")) {   /* C removed */
-#ifdef CUPS_VERSION
-           return CUPS_VERSION;
-#else
-           goto not_there;
-#endif
-       }
-    }
-    errno = EINVAL;
-    return 0;
-
-not_there:
-    errno = ENOENT;
-    return 0;
-}
-
-static double
-constant(char *name, int len, int arg)
-{
-    errno = 0;
-    switch (name[0 + 0]) {
-    case 'C':
-       return constant_C(name, len, arg);
-    case 'H':
-       return constant_H(name, len, arg);
-    case 'I':
-       return constant_I(name, len, arg);
-    case 'P':
-       return constant_P(name, len, arg);
-    }
-    errno = EINVAL;
-    return 0;
-
-not_there:
-    errno = ENOENT;
-    return 0;
-}
-
-
-MODULE = CUPS          PACKAGE = CUPS          
-
-
-double
-constant(sv,arg)
-    PREINIT:
-       STRLEN          len;
-    INPUT:
-       SV *            sv
-       char *          s = SvPV(sv, len);
-       int             arg
-    CODE:
-       RETVAL = constant(s,len,arg);
-    OUTPUT:
-       RETVAL
-
diff --git a/scripting/perl/Makefile.PL b/scripting/perl/Makefile.PL
deleted file mode 100644 (file)
index f5e4bdd..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-use ExtUtils::MakeMaker;
-# See lib/ExtUtils/MakeMaker.pm for details of how to influence
-# the contents of the Makefile that is written.
-WriteMakefile(
-    'NAME'             => 'CUPS',
-    'VERSION_FROM'     => 'CUPS.pm', # finds $VERSION
-    'PREREQ_PM'                => {}, # e.g., Module::Name => 1.1
-    ($] >= 5.005 ?    ## Add these new keywords supported since 5.005
-      (ABSTRACT_FROM => 'CUPS.pm', # retrieve abstract from module
-       AUTHOR     => 'A. U. Thor <a.u.thor@a.galaxy.far.far.away>') : ()),
-    'LIBS'             => ['-lcups '], # e.g., '-lm'
-    'DEFINE'           => '', # e.g., '-DHAVE_SOMETHING'
-       # Insert -I. if you add *.h files later:
-    'INC'              => '', # e.g., '-I/usr/include/other'
-       # Un-comment this if you add C files to link with later:
-    # 'OBJECT'         => '$(O_FILES)', # link all the C files too
-);
diff --git a/scripting/perl/README b/scripting/perl/README
deleted file mode 100644 (file)
index 1605c77..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-CUPS version 1.2
-================
-
-The README is used to introduce the module and provide instructions on
-how to install the module, any machine dependencies it may have (for
-example C compilers and installed libraries) and any other information
-that should be provided before the module is installed.
-
-A README file is required for CPAN modules since CPAN extracts the
-README file from a module distribution so that people browsing the
-archive can use it get an idea of the modules uses. It is usually a
-good idea to provide version information here so that people can
-decide whether fixes for the module are worth downloading.
-
-INSTALLATION
-
-To install this module type the following:
-
-   perl Makefile.PL
-   make
-   make test
-   make install
-
-DEPENDENCIES
-
-This module requires these other modules and libraries:
-
-  blah blah blah
-
-COPYRIGHT AND LICENCE
-
-Put the correct copyright and licence information here.
-
-Copyright (C) 2002 A. U. Thor blah blah blah
-
diff --git a/scripting/perl/test.pl b/scripting/perl/test.pl
deleted file mode 100644 (file)
index acf3191..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-# Before `make install' is performed this script should be runnable with
-# `make test'. After `make install' it should work as `perl test.pl'
-
-#########################
-
-# change 'tests => 1' to 'tests => last_test_to_print';
-
-use Test;
-BEGIN { plan tests => 1 };
-use CUPS;
-ok(1); # If we made it this far, we're ok.
-
-#########################
-
-# Insert your test code below, the Test module is use()ed here so read
-# its man page ( perldoc Test ) for help writing this test script.
-
diff --git a/scripting/php/Dependencies b/scripting/php/Dependencies
deleted file mode 100644 (file)
index d48a560..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-# DO NOT DELETE THIS LINE -- make depend depends on it.
-
-phpcups.o: ../../cups/string-private.h ../../config.h phpcups.h
-phpcups.o: ../../cups/cups.h ../../cups/file.h ../../cups/versioning.h
-phpcups.o: ../../cups/ipp.h ../../cups/http.h ../../cups/array.h
-phpcups.o: ../../cups/language.h ../../cups/language.h
-phpcups.o: ../../cups/debug-private.h ../../cups/versioning.h
diff --git a/scripting/php/Makefile b/scripting/php/Makefile
deleted file mode 100644 (file)
index a10f4f4..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-#
-# "$Id: Makefile 3572 2003-04-08 19:56:25Z mike $"
-#
-#   PHP Makefile for CUPS.
-#
-#   Copyright 2007-2011 by Apple Inc.
-#   Copyright 1997-2007 by Easy Software Products, all rights reserved.
-#
-#   These coded instructions, statements, and computer programs are the
-#   property of Apple Inc. and are protected by Federal copyright
-#   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
-#   which should have been included with this file.  If this file is
-#   file is missing or damaged, see the license at "http://www.cups.org/".
-#
-
-include ../../Makedefs
-
-
-#
-# Where to install and how to compile the PHP module...
-#
-
-PHPDIR =       $(BUILDROOT)`$(PHPCONFIG) --extension-dir`
-OPTIONS        =       $(PHPOPTIONS)
-
-
-#
-# Object files...
-#
-
-OBJS   =       phpcups.o
-
-
-#
-# Targets in this directory...
-#
-
-PHPCUPS        =       phpcups.so
-
-
-#
-# Make all targets...
-#
-
-all:   $(PHPCUPS)
-
-
-#
-# Make library targets...
-#
-
-libs:
-
-
-#
-# Make unit tests...
-#
-
-unittests:
-
-
-#
-# Remove object and target files...
-#
-
-clean:
-       $(RM) $(OBJS) $(PHPCUPS)
-
-
-#
-# Update dependencies (without system header dependencies...)
-#
-
-depend:
-       makedepend -Y -I../.. -fDependencies $(OBJS:.o=.c) >/dev/null 2>&1
-
-
-#
-# Install all targets...
-#
-
-install:       all install-data install-headers install-libs install-exec
-
-
-#
-# Install data files...
-#
-
-install-data:
-
-
-#
-# Install programs...
-#
-
-install-exec:
-       echo Installing $(PHPCUPS) in $(PHPDIR)
-       $(INSTALL_DIR) $(PHPDIR)
-       $(INSTALL_LIB) $(PHPCUPS) $(PHPDIR)
-       if test "x$(SYMROOT)" != x; then \
-               $(INSTALL_DIR) $(SYMROOT); \
-               cp $(PHPCUPS) $(SYMROOT); \
-       fi
-
-
-#
-# Install headers...
-#
-
-install-headers:
-
-
-#
-# Install libraries...
-#
-
-install-libs:
-
-
-#
-# Uninstall object and target files...
-#
-
-uninstall:
-       $(RM) $(PHPDIR)/$(PHPCUPS)
-       -$(RMDIR) $(PHPDIR)
-
-
-#
-# phpcups.so
-#
-
-phpcups.so:    $(OBJS) ../../Makedefs
-       echo Linking $@...
-       if test `uname` = Darwin; then \
-               DSOFLAGS="-bundle -flat_namespace -undefined suppress $(RC_CFLAGS)"; \
-       else \
-               DSOFLAGS="$(DSOFLAGS)"; \
-       fi; \
-       echo $(DSO) $$DSOFLAGS $(ARCHFLAGS) -o $@ $(OBJS) -L../../cups $(LIBS); \
-       $(DSO) $$DSOFLAGS $(ARCHFLAGS) -o $@ $(OBJS) -L../../cups $(LIBS)
-
-
-#
-# Dependencies...
-#
-
-include Dependencies
-
-
-#
-# End of "$Id: Makefile 3572 2003-04-08 19:56:25Z mike $".
-#
diff --git a/scripting/php/README b/scripting/php/README
deleted file mode 100644 (file)
index e4ab27d..0000000
+++ /dev/null
@@ -1,157 +0,0 @@
-README - 02/25/2006
--------------------
-
-INTRODUCTION
-
-    This directory contains a dynamically loadable CUPS extension
-    module for PHP 4 and 5.  The CUPS 1.2 module has been
-    substantially updated to provide an API more consistent with
-    the C API and is NOT compatible with the CUPS 1.1 module.
-
-
-COMPILING AND INSTALLING
-
-    Run "make" to compile the PHP CUPS extension:
-
-       make
-
-    To install it, type:
-
-       make install
-
-
-RESOURCES AND SUPPORT
-
-    Questions should be reported to the CUPS newsgroups/mailing
-    lists at:
-
-       http://www.cups.org/newsgroups.php
-
-    Bug reports and enhancement requests can be submitted via the
-    form at:
-
-       http://www.cups.org/str.php
-
-
-QUICK REFERENCE DOCUMENTATION
-
-    In lieu of actual documentation, the following definitions
-    can be used as a quick reference to the supported functions:
-
-
-    CUPS_CANCEL_JOB
-
-    Cancels a job on the named destination:
-
-        bool cups_cancel_job(string dest, int id)
-
-    The return value is TRUE on success and FALSE on failure.
-
-    Example:
-
-        if (!cups_cancel_job("myprinter", 123))
-         print("Unable to cancel job: " . cups_last_error_string() . "\n");
-
-
-    CUPS_GET_DESTS
-
-    Gets a list of available destinations:
-
-        array cups_get_dests()
-
-    The return value is an array of objects with the following
-    properties:
-
-        name        The name of the printer or class
-       instance    The instance of the printer or class
-       is_default  TRUE if the printer or class is the default destination
-       options     Associative array of options and their values
-
-    Example:
-
-        $dest = cups_get_dests();
-
-
-    CUPS_GET_JOBS
-
-    Gets a list of jobs:
-
-        array cups_get_jobs(string dest, bool myjobs, int completed)
-
-    The "dest" string can be blank for jobs on all destinations.
-    Pass TRUE for "myjobs" to only get jobs for the current user.
-    The "completed" argument can be 0 for pending jobs, 1 for
-    completed jobs, and -1 for all jobs.
-
-    The return value is an array of objects with the following
-    properties:
-
-        id                The job ID
-        dest              Printer or class name
-        title             Title/job name
-        user              User the submitted the job
-        format            Document format
-        state             Job state
-        size              Size in kilobytes
-        priority          Priority (1-100)
-        completed_time    Time the job was completed
-        creation_time     Time the job was created
-        processing_time   Time the job was processed
-
-    Example:
-
-        $jobs = cups_get_jobs("", FALSE, -1);
-
-
-    CUPS_LAST_ERROR
-    
-    Returns the IPP status code for the most recent request:
-
-        int cups_last_error()
-
-    Example:
-
-        $error = cups_last_error();
-
-
-    CUPS_LAST_ERROR_STRING
-    
-    Returns the IPP status-message string for the most recent request:
-
-        string cups_last_error_string()
-
-    Example:
-
-        $message = cups_last_error_string();
-
-
-    CUPS_PRINT_FILE
-
-    Prints a single file to a printer or class:
-
-        int cups_print_file(string dest, string filename, string title,
-                           array options)
-
-    The return value is the job ID or 0 if there was an error.
-
-    Example:
-
-        $options = array("name" => "value", "name2" => "value2");
-       $id      = cups_print_file("dest", "filename", "title", $options);
-
-
-    CUPS_PRINT_FILES
-
-    Prints one or more files to a printer or class:
-
-        int cups_print_files(string dest, array files, string title,
-                            array options);
-
-    The return value is the job ID or 0 if there was an error.
-
-    Example:
-
-        $files   = array("file1", "file2", "file3");
-        $options = array("name" => "value", "name2" => "value2");
-       $id      = cups_print_file("dest", $files, "title", $options);
-
diff --git a/scripting/php/phpcups.c b/scripting/php/phpcups.c
deleted file mode 100644 (file)
index dbd1f26..0000000
+++ /dev/null
@@ -1,487 +0,0 @@
-/*
- * "$Id: phpcups.c 10197 2012-01-27 16:34:04Z mike $"
- *
- *   Printing utilities for CUPS.
- *
- *   Copyright 2007-2012 by Apple Inc.
- *   Copyright 1997-2007 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- * Contents:
- *
- *   cups_convert_options()        - Convert a PHP options array to a CUPS options array.
- *   zm_startup_phpcups()          - Initialize the CUPS module.
- *   zif_cups_cancel_job()         - Cancel a job.
- *   zif_cups_get_dests()          - Get a list of printers and classes.
- *   zif_cups_get_jobs()           - Get a list of jobs.
- *   zif_cups_last_error()         - Return the last IPP status code.
- *   zif_cups_last_error_string()  - Return the last IPP status
- *   zif_cups_print_file()         - Print a single file.
- *   zif_cups_print_files()        - Print multiple files.
- */
-
-/*
- * Include necessary headers...
- */
-
-#include <cups/string-private.h>
-#include "php.h"
-#include "php_ini.h"
-#include "ext/standard/info.h"
-#include "phpcups.h"
-
-
-/*
- * PHP function list...
- */
-
-zend_function_entry phpcups_functions[] =
-{
-  PHP_FE(cups_cancel_job, NULL)
-  PHP_FE(cups_get_dests, NULL)
-  PHP_FE(cups_get_jobs, NULL)
-  PHP_FE(cups_last_error, NULL)
-  PHP_FE(cups_last_error_string, NULL)
-  PHP_FE(cups_print_file, NULL)
-  PHP_FE(cups_print_files, NULL)
-  {NULL, NULL, NULL}
-};
-
-
-/*
- * PHP module info...
- */
-
-zend_module_entry phpcups_module_entry =
-{
-  STANDARD_MODULE_HEADER,
-  "phpcups",
-  phpcups_functions,
-  PHP_MINIT(phpcups),
-  NULL,
-  NULL,
-  NULL,
-  NULL,
-  CUPS_SVERSION,
-  STANDARD_MODULE_PROPERTIES
-};
-
-
-ZEND_GET_MODULE(phpcups)
-
-
-/*
- * 'cups_convert_options()' - Convert a PHP options array to a CUPS options array.
- */
-
-static int                             /* O - Number of options */
-cups_convert_options(
-    zval          *optionsobj,         /* I - Options array object */
-    cups_option_t **options)           /* O - Options */
-{
-  int          num_options;            /* Number of options */
-  HashTable    *ht;                    /* Option array hash table */
-  Bucket       *current;               /* Current element in array */
-  zval         *value;                 /* Current value in array */
-  char         temp[255];              /* String value for numbers */
-
-
-  ht          = Z_ARRVAL_P(optionsobj);
-  num_options = 0;
-
-  for (current = ht->pListHead; current; current = current->pListNext)
-  {
-    value = (zval *)current->pDataPtr;
-
-    switch (Z_TYPE_P(value))
-    {
-      case IS_LONG :
-          sprintf(temp, "%ld", Z_LVAL_P(value));
-          num_options = cupsAddOption(current->arKey, temp, num_options,
-                                     options);
-          break;
-
-      case IS_DOUBLE :
-          sprintf(temp, "%g", Z_DVAL_P(value));
-          num_options = cupsAddOption(current->arKey, temp, num_options,
-                                     options);
-          break;
-
-      case IS_BOOL :
-          num_options = cupsAddOption(current->arKey,
-                                     Z_BVAL_P(value) ? "true" : "false",
-                                     num_options, options);
-          break;
-
-      case IS_STRING :
-          num_options = cupsAddOption(current->arKey, Z_STRVAL_P(value),
-                                     num_options, options);
-          break;
-    }
-  }
-
-  return (num_options);
-}
-
-
-/*
- * 'zm_startup_phpcups()' - Initialize the CUPS module.
- */
-
-PHP_MINIT_FUNCTION(phpcups)
-{
-  REGISTER_LONG_CONSTANT("CUPS_PRINTER_LOCAL", CUPS_PRINTER_LOCAL, CONST_CS);
-  REGISTER_LONG_CONSTANT("CUPS_PRINTER_CLASS", CUPS_PRINTER_CLASS, CONST_CS);
-  REGISTER_LONG_CONSTANT("CUPS_PRINTER_REMOTE", CUPS_PRINTER_REMOTE, CONST_CS);
-  REGISTER_LONG_CONSTANT("CUPS_PRINTER_BW", CUPS_PRINTER_BW, CONST_CS);
-  REGISTER_LONG_CONSTANT("CUPS_PRINTER_COLOR", CUPS_PRINTER_COLOR, CONST_CS);
-  REGISTER_LONG_CONSTANT("CUPS_PRINTER_DUPLEX", CUPS_PRINTER_DUPLEX, CONST_CS);
-  REGISTER_LONG_CONSTANT("CUPS_PRINTER_STAPLE", CUPS_PRINTER_STAPLE, CONST_CS);
-  REGISTER_LONG_CONSTANT("CUPS_PRINTER_COPIES", CUPS_PRINTER_COPIES, CONST_CS);
-  REGISTER_LONG_CONSTANT("CUPS_PRINTER_COLLATE", CUPS_PRINTER_COLLATE, CONST_CS);
-  REGISTER_LONG_CONSTANT("CUPS_PRINTER_PUNCH", CUPS_PRINTER_PUNCH, CONST_CS);
-  REGISTER_LONG_CONSTANT("CUPS_PRINTER_COVER", CUPS_PRINTER_COVER, CONST_CS);
-  REGISTER_LONG_CONSTANT("CUPS_PRINTER_BIND", CUPS_PRINTER_BIND, CONST_CS);
-  REGISTER_LONG_CONSTANT("CUPS_PRINTER_SORT", CUPS_PRINTER_SORT, CONST_CS);
-  REGISTER_LONG_CONSTANT("CUPS_PRINTER_SMALL", CUPS_PRINTER_SMALL, CONST_CS);
-  REGISTER_LONG_CONSTANT("CUPS_PRINTER_MEDIUM", CUPS_PRINTER_MEDIUM, CONST_CS);
-  REGISTER_LONG_CONSTANT("CUPS_PRINTER_LARGE", CUPS_PRINTER_LARGE, CONST_CS);
-  REGISTER_LONG_CONSTANT("CUPS_PRINTER_VARIABLE", CUPS_PRINTER_VARIABLE, CONST_CS);
-  REGISTER_LONG_CONSTANT("CUPS_PRINTER_IMPLICIT", CUPS_PRINTER_IMPLICIT, CONST_CS);
-  REGISTER_LONG_CONSTANT("CUPS_PRINTER_DEFAULT", CUPS_PRINTER_DEFAULT, CONST_CS);
-  REGISTER_LONG_CONSTANT("CUPS_PRINTER_FAX", CUPS_PRINTER_FAX, CONST_CS);
-  REGISTER_LONG_CONSTANT("CUPS_PRINTER_REJECTING", CUPS_PRINTER_REJECTING, CONST_CS);
-  REGISTER_LONG_CONSTANT("CUPS_PRINTER_DELETE", CUPS_PRINTER_DELETE, CONST_CS);
-  REGISTER_LONG_CONSTANT("CUPS_PRINTER_NOT_SHARED", CUPS_PRINTER_NOT_SHARED, CONST_CS);
-  REGISTER_LONG_CONSTANT("CUPS_PRINTER_AUTHENTICATED", CUPS_PRINTER_AUTHENTICATED, CONST_CS);
-  REGISTER_LONG_CONSTANT("CUPS_PRINTER_COMMANDS", CUPS_PRINTER_COMMANDS, CONST_CS);
-  REGISTER_LONG_CONSTANT("CUPS_PRINTER_DISCOVERED", CUPS_PRINTER_DISCOVERED, CONST_CS);
-  REGISTER_LONG_CONSTANT("CUPS_PRINTER_OPTIONS", CUPS_PRINTER_OPTIONS, CONST_CS);
-
-  REGISTER_LONG_CONSTANT("IPP_OK", IPP_OK, CONST_CS);
-  REGISTER_LONG_CONSTANT("IPP_OK_SUBST", IPP_OK_SUBST, CONST_CS);
-  REGISTER_LONG_CONSTANT("IPP_OK_CONFLICT", IPP_OK_CONFLICT, CONST_CS);
-  REGISTER_LONG_CONSTANT("IPP_OK_IGNORED_SUBSCRIPTIONS", IPP_OK_IGNORED_SUBSCRIPTIONS, CONST_CS);
-  REGISTER_LONG_CONSTANT("IPP_OK_IGNORED_NOTIFICATIONS", IPP_OK_IGNORED_NOTIFICATIONS, CONST_CS);
-  REGISTER_LONG_CONSTANT("IPP_OK_TOO_MANY_EVENTS", IPP_OK_TOO_MANY_EVENTS, CONST_CS);
-  REGISTER_LONG_CONSTANT("IPP_OK_BUT_CANCEL_SUBSCRIPTION", IPP_OK_BUT_CANCEL_SUBSCRIPTION, CONST_CS);
-  REGISTER_LONG_CONSTANT("IPP_OK_EVENTS_COMPLETE", IPP_OK_EVENTS_COMPLETE, CONST_CS);
-  REGISTER_LONG_CONSTANT("IPP_REDIRECTION_OTHER_SITE", IPP_REDIRECTION_OTHER_SITE, CONST_CS);
-  REGISTER_LONG_CONSTANT("IPP_BAD_REQUEST", IPP_BAD_REQUEST, CONST_CS);
-  REGISTER_LONG_CONSTANT("IPP_FORBIDDEN", IPP_FORBIDDEN, CONST_CS);
-  REGISTER_LONG_CONSTANT("IPP_NOT_AUTHENTICATED", IPP_NOT_AUTHENTICATED, CONST_CS);
-  REGISTER_LONG_CONSTANT("IPP_NOT_AUTHORIZED", IPP_NOT_AUTHORIZED, CONST_CS);
-  REGISTER_LONG_CONSTANT("IPP_NOT_POSSIBLE", IPP_NOT_POSSIBLE, CONST_CS);
-  REGISTER_LONG_CONSTANT("IPP_TIMEOUT", IPP_TIMEOUT, CONST_CS);
-  REGISTER_LONG_CONSTANT("IPP_NOT_FOUND", IPP_NOT_FOUND, CONST_CS);
-  REGISTER_LONG_CONSTANT("IPP_GONE", IPP_GONE, CONST_CS);
-  REGISTER_LONG_CONSTANT("IPP_REQUEST_ENTITY", IPP_REQUEST_ENTITY, CONST_CS);
-  REGISTER_LONG_CONSTANT("IPP_REQUEST_VALUE", IPP_REQUEST_VALUE, CONST_CS);
-  REGISTER_LONG_CONSTANT("IPP_DOCUMENT_FORMAT", IPP_DOCUMENT_FORMAT, CONST_CS);
-  REGISTER_LONG_CONSTANT("IPP_ATTRIBUTES", IPP_ATTRIBUTES, CONST_CS);
-  REGISTER_LONG_CONSTANT("IPP_URI_SCHEME", IPP_URI_SCHEME, CONST_CS);
-  REGISTER_LONG_CONSTANT("IPP_CHARSET", IPP_CHARSET, CONST_CS);
-  REGISTER_LONG_CONSTANT("IPP_CONFLICT", IPP_CONFLICT, CONST_CS);
-  REGISTER_LONG_CONSTANT("IPP_COMPRESSION_NOT_SUPPORTED", IPP_COMPRESSION_NOT_SUPPORTED, CONST_CS);
-  REGISTER_LONG_CONSTANT("IPP_COMPRESSION_ERROR", IPP_COMPRESSION_ERROR, CONST_CS);
-  REGISTER_LONG_CONSTANT("IPP_DOCUMENT_FORMAT_ERROR", IPP_DOCUMENT_FORMAT_ERROR, CONST_CS);
-  REGISTER_LONG_CONSTANT("IPP_DOCUMENT_ACCESS_ERROR", IPP_DOCUMENT_ACCESS_ERROR, CONST_CS);
-  REGISTER_LONG_CONSTANT("IPP_ATTRIBUTES_NOT_SETTABLE", IPP_ATTRIBUTES_NOT_SETTABLE, CONST_CS);
-  REGISTER_LONG_CONSTANT("IPP_IGNORED_ALL_SUBSCRIPTIONS", IPP_IGNORED_ALL_SUBSCRIPTIONS, CONST_CS);
-  REGISTER_LONG_CONSTANT("IPP_TOO_MANY_SUBSCRIPTIONS", IPP_TOO_MANY_SUBSCRIPTIONS, CONST_CS);
-  REGISTER_LONG_CONSTANT("IPP_IGNORED_ALL_NOTIFICATIONS", IPP_IGNORED_ALL_NOTIFICATIONS, CONST_CS);
-  REGISTER_LONG_CONSTANT("IPP_PRINT_SUPPORT_FILE_NOT_FOUND", IPP_PRINT_SUPPORT_FILE_NOT_FOUND, CONST_CS);
-  REGISTER_LONG_CONSTANT("IPP_INTERNAL_ERROR", IPP_INTERNAL_ERROR, CONST_CS);
-  REGISTER_LONG_CONSTANT("IPP_OPERATION_NOT_SUPPORTED", IPP_OPERATION_NOT_SUPPORTED, CONST_CS);
-  REGISTER_LONG_CONSTANT("IPP_SERVICE_UNAVAILABLE", IPP_SERVICE_UNAVAILABLE, CONST_CS);
-  REGISTER_LONG_CONSTANT("IPP_VERSION_NOT_SUPPORTED", IPP_VERSION_NOT_SUPPORTED, CONST_CS);
-  REGISTER_LONG_CONSTANT("IPP_DEVICE_ERROR", IPP_DEVICE_ERROR, CONST_CS);
-  REGISTER_LONG_CONSTANT("IPP_TEMPORARY_ERROR", IPP_TEMPORARY_ERROR, CONST_CS);
-  REGISTER_LONG_CONSTANT("IPP_NOT_ACCEPTING", IPP_NOT_ACCEPTING, CONST_CS);
-  REGISTER_LONG_CONSTANT("IPP_PRINTER_BUSY", IPP_PRINTER_BUSY, CONST_CS);
-  REGISTER_LONG_CONSTANT("IPP_ERROR_JOB_CANCELLED", IPP_ERROR_JOB_CANCELLED, CONST_CS);
-  REGISTER_LONG_CONSTANT("IPP_MULTIPLE_JOBS_NOT_SUPPORTED", IPP_MULTIPLE_JOBS_NOT_SUPPORTED, CONST_CS);
-  REGISTER_LONG_CONSTANT("IPP_PRINTER_IS_DEACTIVATED", IPP_PRINTER_IS_DEACTIVATED, CONST_CS);
-
-  return (SUCCESS);
-}
-
-/*
- * 'zif_cups_cancel_job()' - Cancel a job.
- */
-
-PHP_FUNCTION(cups_cancel_job)
-{
-  char *dest;                          /* Destination */
-  int  dest_len,                       /* Length of destination */
-       id;                             /* Job ID */
-
-
-  if (ZEND_NUM_ARGS() != 2 ||
-      zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sl", &dest, &dest_len, &id))
-  {
-    WRONG_PARAM_COUNT;
-  }
-
-  RETURN_LONG(cupsCancelJob(dest, id));
-}
-
-
-/*
- * 'zif_cups_get_dests()' - Get a list of printers and classes.
- */
-
-PHP_FUNCTION(cups_get_dests)
-{
-  int          i, j,                   /* Looping vars */
-               num_dests;              /* Number of destinations */
-  cups_dest_t  *dests,                 /* Destinations */
-               *dest;                  /* Current destination */
-  cups_option_t        *option;                /* Current option */
-  zval         *destobj,               /* Destination object */
-               *optionsobj;            /* Options object */
-
-
-  if (ZEND_NUM_ARGS() != 0)
-  {
-    WRONG_PARAM_COUNT;
-  }
-
-  if ((num_dests = cupsGetDests(&dests)) <= 0)
-  {
-    RETURN_NULL();
-  }
-
-  if (array_init(return_value) == SUCCESS)
-  {
-    for (i = 0, dest = dests; i < num_dests; i ++, dest ++)
-    {
-      MAKE_STD_ZVAL(destobj);
-
-      if (object_init(destobj) == SUCCESS)
-      {
-       /*
-        * Add properties to the destination for each of the cups_dest_t
-       * members...
-       */
-
-        add_property_string(destobj, "name", dest->name, 1);
-        add_property_string(destobj, "instance",
-                           dest->instance ? dest->instance : "", 1);
-        add_property_long(destobj, "is_default", dest->is_default);
-
-       /*
-        * Create an associative array for the options...
-       */
-
-        MAKE_STD_ZVAL(optionsobj);
-
-       if (array_init(optionsobj) == SUCCESS)
-       {
-         for (j = 0, option = dest->options;
-              j < dest->num_options;
-              j ++, option ++)
-           add_assoc_string(optionsobj, option->name, option->value, 1);
-
-         add_property_zval(destobj, "options", optionsobj);
-       }
-
-        add_index_zval(return_value, i, destobj);
-      }
-    }
-  }
-
-  cupsFreeDests(num_dests, dests);
-}
-
-
-/*
- * 'zif_cups_get_jobs()' - Get a list of jobs.
- */
-
-PHP_FUNCTION(cups_get_jobs)
-{
-  char         *dest;                  /* Destination */
-  int          dest_len,               /* Length of destination */
-               myjobs,                 /* Only show my jobs? */
-               completed;              /* Show completed jobs? */
-  int          i,                      /* Looping var */
-               num_jobs;               /* Number of jobs */
-  cups_job_t   *jobs,                  /* Jobs */
-               *job;                   /* Current job */
-  zval         *jobobj;                /* Job object */
-
-
-
-
-  if (ZEND_NUM_ARGS() != 3 ||
-      zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sll", &dest, &dest_len, &myjobs, &completed))
-  {
-    WRONG_PARAM_COUNT;
-  }
-
-  if (!*dest)
-    dest = NULL;
-
-  if ((num_jobs = cupsGetJobs(&jobs, dest, myjobs, completed)) <= 0)
-  {
-    RETURN_NULL();
-  }
-
-  if (array_init(return_value) == SUCCESS)
-  {
-    for (i = 0, job = jobs; i < num_jobs; i ++, job ++)
-    {
-      MAKE_STD_ZVAL(jobobj);
-
-      if (object_init(jobobj) == SUCCESS)
-      {
-       /*
-        * Add properties to the job for each of the cups_job_t
-       * members...
-       */
-
-        add_property_long(jobobj, "id", job->id);
-        add_property_string(jobobj, "dest", job->dest, 1);
-        add_property_string(jobobj, "title", job->title, 1);
-        add_property_string(jobobj, "user", job->user, 1);
-        add_property_string(jobobj, "format", job->format, 1);
-        add_property_long(jobobj, "state", job->state);
-        add_property_long(jobobj, "size", job->size);
-        add_property_long(jobobj, "priority", job->priority);
-        add_property_long(jobobj, "completed_time", job->completed_time);
-        add_property_long(jobobj, "creation_time", job->creation_time);
-        add_property_long(jobobj, "processing_time", job->processing_time);
-
-        add_index_zval(return_value, i, jobobj);
-      }
-    }
-  }
-
-  cupsFreeJobs(num_jobs, jobs);
-}
-
-
-/*
- * 'zif_cups_last_error()' - Return the last IPP status code.
- */
-
-PHP_FUNCTION(cups_last_error)
-{
-  if (ZEND_NUM_ARGS() != 0)
-  {
-    WRONG_PARAM_COUNT;
-  }
-
-  RETURN_LONG(cupsLastError());
-}
-
-
-/*
- * 'zif_cups_last_error_string()' - Return the last IPP status-message.
- */
-
-PHP_FUNCTION(cups_last_error_string)
-{
-  if (ZEND_NUM_ARGS() != 0)
-  {
-    WRONG_PARAM_COUNT;
-  }
-
-  RETURN_STRING((char *)cupsLastErrorString(), 1);
-}
-
-
-/*
- * 'zif_cups_print_file()' - Print a single file.
- */
-
-PHP_FUNCTION(cups_print_file)
-{
-  char         *dest;                  /* Destination */
-  int          dest_len;               /* Length of destination */
-  char         *filename;              /* Filename */
-  int          filename_len;           /* Length of filename */
-  char         *title;                 /* Title */
-  int          title_len;              /* Length of title */
-  zval         *optionsobj;            /* Array of options */
-  int          num_options;            /* Number of options */
-  cups_option_t        *options;               /* Options */
-  int          id;                     /* Job ID */
-
-
-  if (ZEND_NUM_ARGS() != 4 ||
-      zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sssa", &dest, &dest_len,
-                            &filename, &filename_len,
-                           &title, &title_len, &optionsobj))
-  {
-    WRONG_PARAM_COUNT;
-  }
-
-  num_options = cups_convert_options(optionsobj, &options);
-
-  id = cupsPrintFile(dest, filename, title, num_options, options);
-
-  cupsFreeOptions(num_options, options);
-
-  RETURN_LONG(id);
-}
-
-
-/*
- * 'zif_cups_print_files()' - Print multiple files.
- */
-
-PHP_FUNCTION(cups_print_files)
-{
-  char         *dest;                  /* Destination */
-  int          dest_len;               /* Length of destination */
-  zval         *filesobj;              /* Files array */
-  int          num_files;              /* Number of files */
-  const char   *files[1000];           /* Files */
-  char         *title;                 /* Title */
-  int          title_len;              /* Length of title */
-  zval         *optionsobj;            /* Array of options */
-  int          num_options;            /* Number of options */
-  cups_option_t        *options;               /* Options */
-  HashTable    *ht2;                   /* Option array hash table */
-  Bucket       *current;               /* Current element in array */
-  int          id;                     /* Job ID */
-
-
-  if (ZEND_NUM_ARGS() != 4 ||
-      zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sasa", &dest, &dest_len, &filesobj,
-                           &title, &title_len, &optionsobj))
-  {
-    WRONG_PARAM_COUNT;
-  }
-
-  ht2       = Z_ARRVAL_P(filesobj);
-  num_files = 0;
-
-  for (current = ht2->pListHead; current; current = current->pListNext)
-  {
-    files[num_files ++] = Z_STRVAL_P(((zval *)current->pDataPtr));
-
-    if (num_files >= (int)(sizeof(files) / sizeof(files[0])))
-      break;
-  }
-
-  num_options = cups_convert_options(optionsobj, &options);
-
-  id = cupsPrintFiles(dest, num_files, files, title, num_options, options);
-
-  cupsFreeOptions(num_options, options);
-
-  RETURN_LONG(id);
-}
-
-
-/*
- * End of "$Id: phpcups.c 10197 2012-01-27 16:34:04Z mike $".
- */
diff --git a/scripting/php/phpcups.h b/scripting/php/phpcups.h
deleted file mode 100644 (file)
index 9cd9f88..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * "$Id: phpcups.h 9771 2011-05-12 05:21:56Z mike $"
- *
- *   PHP module include file for CUPS.
- *
- *   Copyright 2007-2011 by Apple Inc.
- *   Copyright 1997-2006 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- */
-
-#ifndef PHPCUPS_H
-#  define PHPCUPS_H
-
-/*
- * Include necessary headers...
- */
-
-#  include <cups/cups.h>
-#  include <cups/language.h>
-#  include <cups/debug-private.h>
-#  include <fcntl.h>
-#  include <sys/stat.h>
-#  if defined(WIN32) || defined(__EMX__)
-#    include <io.h>
-#  else
-#    include <unistd.h>
-#  endif /* WIN32 || __EMX__ */
-
-
-/*
- * Zend definitions...
- */
-
-extern zend_module_entry       phpcups_module_entry;
-#  define phpext_phpcups_ptr   &phpcups_module_entry
-
-#  ifdef PHP_WIN32
-#    define PHP_PHPCUPS_API    __declspec(dllexport)
-#  else
-#    define PHP_PHPCUPS_API
-#  endif
-
-#  ifdef ZTS
-#    include "TSRM.h"
-#  endif
-
-PHP_MINIT_FUNCTION(phpcups);
-
-PHP_FUNCTION(cups_cancel_job);
-PHP_FUNCTION(cups_get_dests);
-PHP_FUNCTION(cups_get_jobs);
-PHP_FUNCTION(cups_last_error);
-PHP_FUNCTION(cups_last_error_string);
-PHP_FUNCTION(cups_print_file);
-PHP_FUNCTION(cups_print_files);
-
-#endif /* !PHPCUPS_H */
-
-
-/*
- * End of "$Id: phpcups.h 9771 2011-05-12 05:21:56Z mike $".
- */
diff --git a/scripting/php/phpcups.php b/scripting/php/phpcups.php
deleted file mode 100755 (executable)
index 0fe5719..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-#!/usr/bin/php -f
-<?
-//
-// "$Id: phpcups.php 3603 2003-04-11 18:42:52Z mike $"
-//
-//   PHP test script for CUPS.
-//
-//   Copyright 2007-2011 by Apple Inc.
-//   Copyright 1997-2006 by Easy Software Products, all rights reserved.
-//
-//   These coded instructions, statements, and computer programs are the
-//   property of Apple Inc. and are protected by Federal copyright
-//   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
-//   which should have been included with this file.  If this file is
-//   file is missing or damaged, see the license at "http://www.cups.org/".
-//
-
-// Make sure the module is loaded...
-if(!extension_loaded("phpcups"))
-{
-  dl("phpcups.so");
-}
-
-// Get the list of functions in the module...
-$module    = "phpcups";
-$functions = get_extension_funcs($module);
-
-print("Functions available in the $module extension:\n");
-
-foreach ($functions as $func)
-{
-  print("$func\n");
-}
-
-print("\n");
-
-print("cups_get_dests:\n");
-print_r(cups_get_dests());
-
-print("cups_get_jobs(\"\", 0, -1):\n");
-print_r(cups_get_jobs("", 0, -1));
-
-print("cups_print_file(\"test\", \"../../test/testfile.jpg\", "
-     ."\"testfile.jpg\", ...):\n");
-print_r(cups_print_file("test", "../../test/testfile.jpg", "testfile.jpg",
-                        array("scaling" => "100",
-                             "page-label" => "testfile.jpg")));
-
-print("cups_print_files(\"test\", array(\"../../test/testfile.jpg\", "
-     ."\"../../test/testfile.ps\"), \"testfiles\", ...):\n");
-print_r(cups_print_files("test", array("../../test/testfile.jpg",
-                                       "../../test/testfile.ps"),
-                         "testfiles",
-                         array("scaling" => "100",
-                              "page-label" => "testfile.jpg")));
-
-//
-// End of "$Id: phpcups.php 3603 2003-04-11 18:42:52Z mike $".
-//
-?>
index f40f77b..84fc07b 100644 (file)
-# DO NOT DELETE THIS LINE -- make depend depends on it.
-
-cancel.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-cancel.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-cancel.o: ../cups/language.h ../cups/string-private.h ../config.h
-cancel.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
-cancel.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-cancel.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-cancel.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-cancel.o: ../cups/transcode.h ../cups/thread-private.h
-cupsaccept.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-cupsaccept.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-cupsaccept.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
-cupsaccept.o: ../config.h ../cups/debug-private.h ../cups/versioning.h
-cupsaccept.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-cupsaccept.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-cupsaccept.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-cupsaccept.o: ../cups/language-private.h ../cups/transcode.h
-cupsaccept.o: ../cups/thread-private.h
-cupsaddsmb.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-cupsaddsmb.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-cupsaddsmb.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
-cupsaddsmb.o: ../config.h ../cups/debug-private.h ../cups/versioning.h
-cupsaddsmb.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-cupsaddsmb.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-cupsaddsmb.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-cupsaddsmb.o: ../cups/language-private.h ../cups/transcode.h
-cupsaddsmb.o: ../cups/thread-private.h ../cups/adminutil.h
-cupsctl.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-cupsctl.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-cupsctl.o: ../cups/language.h ../cups/string-private.h ../config.h
-cupsctl.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
-cupsctl.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-cupsctl.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-cupsctl.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-cupsctl.o: ../cups/transcode.h ../cups/thread-private.h ../cups/adminutil.h
-cupstestdsc.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-cupstestdsc.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-cupstestdsc.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
-cupstestdsc.o: ../config.h ../cups/debug-private.h ../cups/versioning.h
-cupstestdsc.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-cupstestdsc.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-cupstestdsc.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-cupstestdsc.o: ../cups/language-private.h ../cups/transcode.h
-cupstestdsc.o: ../cups/thread-private.h
-cupstestppd.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-cupstestppd.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-cupstestppd.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
-cupstestppd.o: ../config.h ../cups/debug-private.h ../cups/versioning.h
-cupstestppd.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-cupstestppd.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-cupstestppd.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-cupstestppd.o: ../cups/language-private.h ../cups/transcode.h
-cupstestppd.o: ../cups/thread-private.h ../cups/dir.h ../cups/ppd-private.h
-cupstestppd.o: ../cups/raster.h ../cups/ppd.h
-lp.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-lp.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-lp.o: ../cups/language.h ../cups/string-private.h ../config.h
-lp.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
-lp.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-lp.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-lp.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-lp.o: ../cups/transcode.h ../cups/thread-private.h
-lpadmin.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-lpadmin.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-lpadmin.o: ../cups/language.h ../cups/string-private.h ../config.h
-lpadmin.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
-lpadmin.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-lpadmin.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-lpadmin.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-lpadmin.o: ../cups/transcode.h ../cups/thread-private.h
-lpinfo.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-lpinfo.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-lpinfo.o: ../cups/language.h ../cups/string-private.h ../config.h
-lpinfo.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
-lpinfo.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-lpinfo.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-lpinfo.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-lpinfo.o: ../cups/transcode.h ../cups/thread-private.h
-lpmove.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-lpmove.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-lpmove.o: ../cups/language.h ../cups/string-private.h ../config.h
-lpmove.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
-lpmove.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-lpmove.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-lpmove.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-lpmove.o: ../cups/transcode.h ../cups/thread-private.h
-lpoptions.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-lpoptions.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-lpoptions.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
-lpoptions.o: ../config.h ../cups/debug-private.h ../cups/versioning.h
-lpoptions.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-lpoptions.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-lpoptions.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-lpoptions.o: ../cups/language-private.h ../cups/transcode.h
-lpoptions.o: ../cups/thread-private.h
-lppasswd.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-lppasswd.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-lppasswd.o: ../cups/language.h ../cups/string-private.h ../config.h
-lppasswd.o: ../cups/debug-private.h ../cups/versioning.h
-lppasswd.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-lppasswd.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-lppasswd.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-lppasswd.o: ../cups/language-private.h ../cups/transcode.h
-lppasswd.o: ../cups/thread-private.h ../cups/md5-private.h
-lpstat.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-lpstat.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-lpstat.o: ../cups/language.h ../cups/string-private.h ../config.h
-lpstat.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
-lpstat.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-lpstat.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-lpstat.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-lpstat.o: ../cups/transcode.h ../cups/thread-private.h
+cancel.o: cancel.c ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+cupsaccept.o: cupsaccept.c ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+cupsaddsmb.o: cupsaddsmb.c ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/adminutil.h
+cupsctl.o: cupsctl.c ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/adminutil.h
+cupstestdsc.o: cupstestdsc.c ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+cupstestppd.o: cupstestppd.c ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/dir.h ../cups/raster.h
+lp.o: lp.c ../cups/cups-private.h ../cups/string-private.h ../config.h \
+  ../cups/debug-private.h ../cups/versioning.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+lpadmin.o: lpadmin.c ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+lpinfo.o: lpinfo.c ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+lpmove.o: lpmove.c ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+lpoptions.o: lpoptions.c ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+lppasswd.o: lppasswd.c ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+lpstat.o: lpstat.c ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
index f218d03..c034255 100644 (file)
@@ -1,9 +1,9 @@
 #
-# "$Id: Makefile 8983 2010-02-13 02:20:23Z mike $"
+# "$Id: Makefile 11173 2013-07-23 12:31:34Z msweet $"
 #
 #   System V commands makefile for CUPS.
 #
-#   Copyright 2007-2010 by Apple Inc.
+#   Copyright 2007-2012 by Apple Inc.
 #   Copyright 1997-2006 by Easy Software Products, all rights reserved.
 #
 #   These coded instructions, statements, and computer programs are the
@@ -57,7 +57,7 @@ clean:
 #
 
 depend:
-       makedepend -Y -I.. -fDependencies $(OBJS:.o=.c) >/dev/null 2>&1
+       $(CC) -MM $(ALL_CFLAGS) $(OBJS:.o=.c) >Dependencies
 
 
 #
@@ -289,5 +289,5 @@ include Dependencies
 
 
 #
-# End of "$Id: Makefile 8983 2010-02-13 02:20:23Z mike $".
+# End of "$Id: Makefile 11173 2013-07-23 12:31:34Z msweet $".
 #
index cbebf11..678903f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: cancel.c 9793 2011-05-20 03:49:49Z mike $"
+ * "$Id: cancel.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   "cancel" command for CUPS.
  *
@@ -372,5 +372,5 @@ main(int  argc,                             /* I - Number of command-line arguments */
 
 
 /*
- * End of "$Id: cancel.c 9793 2011-05-20 03:49:49Z mike $".
+ * End of "$Id: cancel.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 8423b11..0ba756c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: cupsaccept.c 9384 2010-11-22 07:06:39Z mike $"
+ * "$Id: cupsaccept.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   "cupsaccept", "cupsdisable", "cupsenable", and "cupsreject" commands for
  *   CUPS.
@@ -235,5 +235,5 @@ main(int  argc,                             /* I - Number of command-line arguments */
 
 
 /*
- * End of "$Id: cupsaccept.c 9384 2010-11-22 07:06:39Z mike $".
+ * End of "$Id: cupsaccept.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 959e8ac..e1a82f7 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: cupsaddsmb.c 9636 2011-03-21 22:02:00Z mike $"
+ * "$Id: cupsaddsmb.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   "cupsaddsmb" command for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 2001-2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -45,7 +45,7 @@ const char    *SAMBAUser,
  */
 
 int    export_dest(http_t *http, const char *dest);
-void   usage(void);
+void   usage(void) __attribute__((noreturn));
 
 
 /*
@@ -282,22 +282,18 @@ usage(void)
   _cupsLangPuts(stdout, _("       cupsaddsmb [options] -a"));
   _cupsLangPuts(stdout, "");
   _cupsLangPuts(stdout, _("Options:"));
-  _cupsLangPuts(stdout, _("  -E                      Encrypt the connection to "
-                          "the server."));
+  _cupsLangPuts(stdout, _("  -E                      Encrypt the connection."));
   _cupsLangPuts(stdout, _("  -H samba-server         Use the named SAMBA "
                           "server."));
-  _cupsLangPuts(stdout, _("  -U samba-user           Authenticate using the "
-                          "named SAMBA user."));
+  _cupsLangPuts(stdout, _("  -U username             Specify username."));
   _cupsLangPuts(stdout, _("  -a                      Export all printers."));
-  _cupsLangPuts(stdout, _("  -h cups-server          Use the named CUPS "
-                          "server."));
-  _cupsLangPuts(stdout, _("  -v                      Be verbose (show "
-                          "commands)."));
+  _cupsLangPuts(stdout, _("  -h server[:port]        Specify server address."));
+  _cupsLangPuts(stdout, _("  -v                      Be verbose."));
 
   exit(1);
 }
 
 
 /*
- * End of "$Id: cupsaddsmb.c 9636 2011-03-21 22:02:00Z mike $".
+ * End of "$Id: cupsaddsmb.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 2f28bc4..4c5a9f1 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: cupsctl.c 9636 2011-03-21 22:02:00Z mike $"
+ * "$Id: cupsctl.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Scheduler control program for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 2006-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -32,7 +32,7 @@
  * Local functions...
  */
 
-static void    usage(const char *opt);
+static void    usage(const char *opt) __attribute__((noreturn));
 
 
 /*
@@ -83,12 +83,6 @@ main(int  argc,                              /* I - Number of command-line args */
         else if (!strcmp(argv[i], "--no-remote-any"))
          num_settings = cupsAddOption(CUPS_SERVER_REMOTE_ANY, "0",
                                       num_settings, &settings);
-        else if (!strcmp(argv[i], "--remote-printers"))
-         num_settings = cupsAddOption(CUPS_SERVER_REMOTE_PRINTERS, "1",
-                                      num_settings, &settings);
-        else if (!strcmp(argv[i], "--no-remote-printers"))
-         num_settings = cupsAddOption(CUPS_SERVER_REMOTE_PRINTERS, "0",
-                                      num_settings, &settings);
         else if (!strcmp(argv[i], "--share-printers"))
          num_settings = cupsAddOption(CUPS_SERVER_SHARE_PRINTERS, "1",
                                       num_settings, &settings);
@@ -208,7 +202,7 @@ usage(const char *opt)                      /* I - Option character/string */
   _cupsLangPuts(stdout, "");
   _cupsLangPuts(stdout, _("Options:"));
   _cupsLangPuts(stdout, "");
-  _cupsLangPuts(stdout, _("  -E                      Enable encryption."));
+  _cupsLangPuts(stdout, _("  -E                      Encrypt the connection."));
   _cupsLangPuts(stdout, _("  -U username             Specify username."));
   _cupsLangPuts(stdout, _("  -h server[:port]        Specify server "
                           "address."));
@@ -219,8 +213,6 @@ usage(const char *opt)                      /* I - Option character/string */
                           "administration on/off."));
   _cupsLangPuts(stdout, _("  --[no-]remote-any       Allow/prevent access "
                           "from the Internet."));
-  _cupsLangPuts(stdout, _("  --[no-]remote-printers  Show/hide remote "
-                          "printers."));
   _cupsLangPuts(stdout, _("  --[no-]share-printers   Turn printer sharing "
                           "on/off."));
   _cupsLangPuts(stdout, _("  --[no-]user-cancel-any  Allow/prevent users to "
@@ -231,5 +223,5 @@ usage(const char *opt)                      /* I - Option character/string */
 
 
 /*
- * End of "$Id: cupsctl.c 9636 2011-03-21 22:02:00Z mike $".
+ * End of "$Id: cupsctl.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index f773f1f..96ff9a3 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: cupstestdsc.c 9384 2010-11-22 07:06:39Z mike $"
+ * "$Id: cupstestdsc.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   DSC test program for CUPS.
  *
@@ -35,7 +35,7 @@
  */
 
 static int     check_file(const char *filename);
-static void    usage(void);
+static void    usage(void) __attribute__((noreturn));
 
 
 /*
@@ -438,5 +438,5 @@ usage(void)
 
 
 /*
- * End of "$Id: cupstestdsc.c 9384 2010-11-22 07:06:39Z mike $".
+ * End of "$Id: cupstestdsc.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 10555c8..dfa5300 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: cupstestppd.c 10362 2012-03-19 15:31:53Z mike $"
+ * "$Id: cupstestppd.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   PPD test program for CUPS.
  *
@@ -129,7 +129,7 @@ static int  check_translations(ppd_file_t *ppd, int errors, int verbose,
                                   int warn);
 static void    show_conflicts(ppd_file_t *ppd, const char *prefix);
 static int     test_raster(ppd_file_t *ppd, int verbose);
-static void    usage(void);
+static void    usage(void) __attribute__((noreturn));
 static int     valid_path(const char *keyword, const char *path, int errors,
                           int verbose, int warn);
 static int     valid_utf8(const char *s);
@@ -147,6 +147,7 @@ main(int  argc,                             /* I - Number of command-line args */
   int          len;                    /* Length of option name */
   char         *opt;                   /* Option character */
   const char   *ptr;                   /* Pointer into string */
+  cups_file_t  *fp;                    /* PPD file */
   int          files;                  /* Number of files */
   int          verbose;                /* Want verbose output? */
   int          warn;                   /* Which errors to just warn about */
@@ -303,7 +304,7 @@ main(int  argc,                             /* I - Number of command-line args */
         * Read from stdin...
        */
 
-        ppd = ppdOpen(stdin);
+        ppd = _ppdOpen(cupsFileStdin(), _PPD_LOCALIZATION_ALL);
 
         if (verbose >= 0)
           printf("%s:", (ppd && ppd->pcfilename) ? ppd->pcfilename : "(stdin)");
@@ -317,7 +318,24 @@ main(int  argc,                            /* I - Number of command-line args */
         if (verbose >= 0)
           printf("%s:", argv[i]);
 
-        ppd = ppdOpenFile(argv[i]);
+        if ((fp = cupsFileOpen(argv[i], "r")) != NULL)
+        {
+          ppd = _ppdOpen(fp, _PPD_LOCALIZATION_ALL);
+          cupsFileClose(fp);
+        }
+        else
+        {
+         status = ERROR_FILE_OPEN;
+
+         if (verbose >= 0)
+          {
+            _cupsLangPuts(stdout, _(" FAIL"));
+            _cupsLangPrintf(stdout,
+                           _("      **FAIL**  Unable to open PPD file - %s on "
+                             "line %d."), strerror(errno), 0);
+           continue;
+          }
+        }
       }
 
       if (ppd == NULL)
@@ -332,8 +350,8 @@ main(int  argc,                             /* I - Number of command-line args */
           {
             _cupsLangPuts(stdout, _(" FAIL"));
             _cupsLangPrintf(stdout,
-                           _("      **FAIL**  Unable to open PPD file - %s"),
-                           strerror(errno));
+                           _("      **FAIL**  Unable to open PPD file - %s on "
+                             "line %d."), strerror(errno), 0);
           }
        }
        else
@@ -493,7 +511,7 @@ main(int  argc,                             /* I - Number of command-line args */
            _cupsLangPuts(stdout, _(" FAIL"));
 
          _cupsLangPrintf(stdout,
-                         _("      **FAIL**  BAD DefaultImageableArea %s\n"
+                         _("      **FAIL**  Bad DefaultImageableArea %s\n"
                            "                REF: Page 102, section 5.15."),
                          attr->value);
        }
@@ -529,7 +547,7 @@ main(int  argc,                             /* I - Number of command-line args */
            _cupsLangPuts(stdout, _(" FAIL"));
 
          _cupsLangPrintf(stdout,
-                         _("      **FAIL**  BAD DefaultPaperDimension %s\n"
+                         _("      **FAIL**  Bad DefaultPaperDimension %s\n"
                            "                REF: Page 103, section 5.15."),
                          attr->value);
        }
@@ -559,7 +577,7 @@ main(int  argc,                             /* I - Number of command-line args */
                  _cupsLangPuts(stdout, _(" FAIL"));
 
                _cupsLangPrintf(stdout,
-                               _("      **FAIL**  BAD Default%s %s\n"
+                               _("      **FAIL**  Bad Default%s %s\n"
                                  "                REF: Page 40, section 4.5."),
                                option->keyword, option->defchoice);
              }
@@ -721,10 +739,11 @@ main(int  argc,                           /* I - Number of command-line args */
            if (!errors && !verbose)
              _cupsLangPuts(stdout, _(" FAIL"));
 
-           _cupsLangPuts(stdout,
-                         _("      **FAIL**  BAD Manufacturer (should be "
-                           "\"HP\")\n"
-                           "                REF: Page 211, table D.1."));
+           _cupsLangPrintf(stdout,
+                           _("      **FAIL**  Bad Manufacturer (should be "
+                             "\"%s\")\n"
+                             "                REF: Page 211, table D.1."),
+                           "HP");
           }
 
          errors ++;
@@ -737,10 +756,11 @@ main(int  argc,                           /* I - Number of command-line args */
            if (!errors && !verbose)
              _cupsLangPuts(stdout, _(" FAIL"));
 
-           _cupsLangPuts(stdout,
-                         _("      **FAIL**  BAD Manufacturer (should be "
-                           "\"Oki\")\n"
-                           "                REF: Page 211, table D.1."));
+           _cupsLangPrintf(stdout,
+                           _("      **FAIL**  Bad Manufacturer (should be "
+                             "\"%s\")\n"
+                             "                REF: Page 211, table D.1."),
+                           "Oki");
           }
 
          errors ++;
@@ -777,7 +797,7 @@ main(int  argc,                             /* I - Number of command-line args */
              _cupsLangPuts(stdout, _(" FAIL"));
 
            _cupsLangPrintf(stdout,
-                           _("      **FAIL**  BAD ModelName - \"%c\" not "
+                           _("      **FAIL**  Bad ModelName - \"%c\" not "
                              "allowed in string.\n"
                              "                REF: Pages 59-60, section 5.3."),
                            *ptr);
@@ -894,7 +914,7 @@ main(int  argc,                             /* I - Number of command-line args */
              _cupsLangPuts(stdout, _(" FAIL"));
 
            _cupsLangPuts(stdout,
-                         _("      **FAIL**  BAD Product - not \"(string)\".\n"
+                         _("      **FAIL**  Bad Product - not \"(string)\".\n"
                            "                REF: Page 62, section 5.3."));
           }
 
@@ -933,7 +953,7 @@ main(int  argc,                             /* I - Number of command-line args */
              _cupsLangPuts(stdout, _(" FAIL"));
 
            _cupsLangPuts(stdout,
-                         _("      **FAIL**  BAD PSVersion - not \"(string) "
+                         _("      **FAIL**  Bad PSVersion - not \"(string) "
                            "int\".\n"
                            "                REF: Pages 62-64, section 5.3."));
           }
@@ -968,7 +988,7 @@ main(int  argc,                             /* I - Number of command-line args */
              _cupsLangPuts(stdout, _(" FAIL"));
 
            _cupsLangPuts(stdout,
-                         _("      **FAIL**  BAD ShortNickName - longer "
+                         _("      **FAIL**  Bad ShortNickName - longer "
                            "than 31 chars.\n"
                            "                REF: Pages 64-65, section 5.3."));
           }
@@ -1002,7 +1022,7 @@ main(int  argc,                           /* I - Number of command-line args */
            _cupsLangPuts(stdout, _(" FAIL"));
 
          _cupsLangPuts(stdout,
-                       _("      **FAIL**  BAD JobPatchFile attribute in file\n"
+                       _("      **FAIL**  Bad JobPatchFile attribute in file\n"
                          "                REF: Page 24, section 3.4."));
         }
 
@@ -1126,7 +1146,7 @@ main(int  argc,                           /* I - Number of command-line args */
                _cupsLangPuts(stdout, _(" FAIL"));
 
              _cupsLangPrintf(stdout,
-                             _("      **FAIL**  Bad %s choice %s\n"
+                             _("      **FAIL**  Bad option %s choice %s\n"
                                "                REF: Page 84, section 5.9"),
                              option->keyword, choice->choice);
             }
@@ -2123,8 +2143,8 @@ check_case(ppd_file_t *ppd,               /* I - PPD file */
 
          if (verbose >= 0)
            _cupsLangPrintf(stdout,
-                           _("      **FAIL**  Multiple occurrences of %s "
-                             "choice name %s."),
+                           _("      **FAIL**  Multiple occurrences of "
+                             "option %s choice name %s."),
                            optiona->keyword, choicea->choice);
 
          errors ++;
@@ -2140,8 +2160,8 @@ check_case(ppd_file_t *ppd,               /* I - PPD file */
 
          if (verbose >= 0)
            _cupsLangPrintf(stdout,
-                           _("      **FAIL**  %s choice names %s and %s "
-                             "differ only by case."),
+                           _("      **FAIL**  Option %s choice names %s and "
+                             "%s differ only by case."),
                            optiona->keyword, choicea->choice, choiceb->choice);
 
          errors ++;
@@ -3197,17 +3217,27 @@ check_sizes(ppd_file_t *ppd,            /* I - PPD file */
                           _PWG_FROMPTS(size->width);
       pwg_media      = _pwgMediaForSize(width_2540ths, length_2540ths);
 
-      if (pwg_media && pwg_media->ppd)
+      if (pwg_media && pwg_media->ppd && (pwg_media->ppd[0] < 'a' || pwg_media->ppd[0] > 'z'))
       {
         size_t ppdlen = strlen(pwg_media->ppd);
                                        /* Length of standard PPD name */
 
         strlcpy(buf, pwg_media->ppd, sizeof(buf));
 
+        if (strcmp(size->name, buf) && size->width > size->length)
+        {
+          if (!strcmp(pwg_media->ppd, "DoublePostcardRotated"))
+            strlcpy(buf, "DoublePostcard", sizeof(buf));
+          else if (strstr(size->name, ".Transverse"))
+            snprintf(buf, sizeof(buf), "%s.Transverse", pwg_media->ppd);
+          else
+            snprintf(buf, sizeof(buf), "%sRotated", pwg_media->ppd);
+        }
+
         if (size->left == 0 && size->bottom == 0 &&
            size->right == size->width && size->top == size->length)
         {
-          snprintf(buf, sizeof(buf), "%s.Fullbleed", pwg_media->ppd);
+          strlcat(buf, ".Fullbleed", sizeof(buf) - strlen(buf));
          if (_cups_strcasecmp(size->name, buf))
          {
           /*
@@ -3221,20 +3251,6 @@ check_sizes(ppd_file_t *ppd,             /* I - PPD file */
              is_ok = 0;
          }
         }
-        else if (strcmp(size->name, buf) && size->width > size->length)
-        {
-          if (!strcmp(pwg_media->ppd, "DoublePostcardRotated"))
-            strlcpy(buf, "DoublePostcard", sizeof(buf));
-          else
-           snprintf(buf, sizeof(buf), "%sRotated", pwg_media->ppd);
-
-         if (strcmp(size->name, buf))
-         {
-           snprintf(buf, sizeof(buf), "%s.Transverse", pwg_media->ppd);
-           if (strcmp(size->name, buf))
-             is_ok = 0;
-         }
-        }
        else if (!strncmp(size->name, pwg_media->ppd, ppdlen))
        {
         /*
@@ -3263,7 +3279,8 @@ check_sizes(ppd_file_t *ppd,              /* I - PPD file */
          * Check for EnvSizeName as well...
          */
 
-          if (strncmp(pwg_media->ppd, "Env", 3))
+         if (strncmp(pwg_media->ppd, "Env", 3) &&
+             !strncmp(size->name, "Env", 3))
             snprintf(buf, sizeof(buf), "Env%s", pwg_media->ppd);
 
          if (strcmp(size->name, buf))
@@ -3309,7 +3326,8 @@ check_sizes(ppd_file_t *ppd,              /* I - PPD file */
           size_t buflen = strlen(buf); /* Length of proposed name */
 
           if (_cups_strncasecmp(size->name, buf, buflen) ||
-              strcmp(size->name + buflen, "in"))
+              (strcmp(size->name + buflen, "in") &&
+               size->name[buflen] != '.'))
            _cupsLangPrintf(stdout,
                            _("      %s  Size \"%s\" should be \"%s\"."),
                            prefix, size->name, buf);
@@ -3787,7 +3805,7 @@ usage(void)
                           "errors."));
   _cupsLangPuts(stdout, _("  -q                      Run silently."));
   _cupsLangPuts(stdout, _("  -r                      Use 'relaxed' open mode."));
-  _cupsLangPuts(stdout, _("  -v                      Be slightly verbose."));
+  _cupsLangPuts(stdout, _("  -v                      Be verbose."));
   _cupsLangPuts(stdout, _("  -vv                     Be very verbose."));
 
   exit(ERROR_USAGE);
@@ -3954,5 +3972,5 @@ valid_utf8(const char *s)         /* I - String to check */
 
 
 /*
- * End of "$Id: cupstestppd.c 10362 2012-03-19 15:31:53Z mike $".
+ * End of "$Id: cupstestppd.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index af47132..830ff04 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: lp.c 9636 2011-03-21 22:02:00Z mike $"
+ * "$Id: lp.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   "lp" command for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2013 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -46,7 +46,7 @@ main(int  argc,                               /* I - Number of command-line arguments */
   int          i, j;                   /* Looping vars */
   int          job_id;                 /* Job ID */
   char         *printer,               /* Printer name */
-               *instance,              /* Instance name */ 
+               *instance,              /* Instance name */
                *val,                   /* Option value */
                *title;                 /* Job title */
   int          priority;               /* Job priority (1-100) */
@@ -121,7 +121,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
               cupsSetUser(argv[i]);
            }
            break;
-           
+
         case 'c' : /* Copy to spool dir (always enabled) */
            break;
 
@@ -146,7 +146,8 @@ main(int  argc,                             /* I - Number of command-line arguments */
             if ((instance = strrchr(printer, '/')) != NULL)
              *instance++ = '\0';
 
-            if ((dest = cupsGetNamedDest(NULL, printer, instance)) != NULL)
+            if ((dest = cupsGetNamedDest(CUPS_HTTP_DEFAULT, printer,
+                                         instance)) != NULL)
            {
              for (j = 0; j < dest->num_options; j ++)
                if (cupsGetOption(dest->options[j].name, num_options,
@@ -155,6 +156,14 @@ main(int  argc,                            /* I - Number of command-line arguments */
                                              dest->options[j].value,
                                              num_options, &options);
            }
+           else if (cupsLastError() == IPP_BAD_REQUEST ||
+                    cupsLastError() == IPP_VERSION_NOT_SUPPORTED)
+           {
+             _cupsLangPrintf(stderr,
+                             _("%s: Error - add '/version=1.1' to server "
+                               "name."), argv[0]);
+             return (1);
+           }
            break;
 
         case 'f' : /* Form */
@@ -489,6 +498,13 @@ main(int  argc,                            /* I - Number of command-line arguments */
            break;
 
         case '-' : /* Stop processing options */
+            if (argv[i][2])
+            {
+             _cupsLangPrintf(stderr, _("%s: Error - unknown option \"%s\"."),
+                             argv[0], argv[i]);
+             return (1);
+           }
+
            end_options = 1;
            break;
 
@@ -560,6 +576,14 @@ main(int  argc,                            /* I - Number of command-line arguments */
                                      dest->options[j].value,
                                      num_options, &options);
     }
+    else if (cupsLastError() == IPP_BAD_REQUEST ||
+            cupsLastError() == IPP_VERSION_NOT_SUPPORTED)
+    {
+      _cupsLangPrintf(stderr,
+                     _("%s: Error - add '/version=1.1' to server "
+                       "name."), argv[0]);
+      return (1);
+    }
   }
 
   if (printer == NULL)
@@ -605,7 +629,6 @@ main(int  argc,                             /* I - Number of command-line arguments */
     const char         *format;        /* Document format */
     ssize_t            bytes;          /* Bytes read */
 
-
     if (cupsGetOption("raw", num_options, options))
       format = CUPS_FORMAT_RAW;
     else if ((format = cupsGetOption("document-format", num_options,
@@ -623,11 +646,17 @@ main(int  argc,                           /* I - Number of command-line arguments */
     {
       _cupsLangPrintf(stderr, _("%s: Error - unable to queue from stdin - %s."),
                      argv[0], httpStatus(status));
+      cupsFinishDocument(CUPS_HTTP_DEFAULT, printer);
+      cupsCancelJob2(CUPS_HTTP_DEFAULT, printer, job_id, 0);
       return (1);
     }
 
     if (cupsFinishDocument(CUPS_HTTP_DEFAULT, printer) != IPP_OK)
-      job_id = 0;
+    {
+      _cupsLangPrintf(stderr, "%s: %s", argv[0], cupsLastErrorString());
+      cupsCancelJob2(CUPS_HTTP_DEFAULT, printer, job_id, 0);
+      return (1);
+    }
   }
 
   if (job_id < 1)
@@ -667,7 +696,15 @@ restart_job(const char *command,   /* I - Command name */
 
   ippDelete(cupsDoRequest(CUPS_HTTP_DEFAULT, request, "/jobs"));
 
-  if (cupsLastError() > IPP_OK_CONFLICT)
+  if (cupsLastError() == IPP_BAD_REQUEST ||
+      cupsLastError() == IPP_VERSION_NOT_SUPPORTED)
+  {
+    _cupsLangPrintf(stderr,
+                   _("%s: Error - add '/version=1.1' to server "
+                     "name."), command);
+    return (1);
+  }
+  else if (cupsLastError() > IPP_OK_CONFLICT)
   {
     _cupsLangPrintf(stderr, "%s: %s", command, cupsLastErrorString());
     return (1);
@@ -708,7 +745,15 @@ set_job_attrs(const char    *command,      /* I - Command name */
 
   ippDelete(cupsDoRequest(CUPS_HTTP_DEFAULT, request, "/jobs"));
 
-  if (cupsLastError() > IPP_OK_CONFLICT)
+  if (cupsLastError() == IPP_BAD_REQUEST ||
+      cupsLastError() == IPP_VERSION_NOT_SUPPORTED)
+  {
+    _cupsLangPrintf(stderr,
+                   _("%s: Error - add '/version=1.1' to server "
+                     "name."), command);
+    return (1);
+  }
+  else if (cupsLastError() > IPP_OK_CONFLICT)
   {
     _cupsLangPrintf(stderr, "%s: %s", command, cupsLastErrorString());
     return (1);
@@ -719,5 +764,5 @@ set_job_attrs(const char    *command,       /* I - Command name */
 
 
 /*
- * End of "$Id: lp.c 9636 2011-03-21 22:02:00Z mike $".
+ * End of "$Id: lp.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index f51ec1e..25ec642 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: lpadmin.c 9793 2011-05-20 03:49:49Z mike $"
+ * "$Id: lpadmin.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   "lpadmin" command for CUPS.
  *
@@ -1090,8 +1090,7 @@ delete_printer_option(http_t *http,       /* I - Server connection */
   *    option with deleteAttr tag
   */
 
-  if (get_printer_type(http, printer, uri, sizeof(uri)) &
-          (CUPS_PRINTER_CLASS | CUPS_PRINTER_IMPLICIT))
+  if (get_printer_type(http, printer, uri, sizeof(uri)) & CUPS_PRINTER_CLASS)
     request = ippNewRequest(CUPS_ADD_MODIFY_CLASS);
   else
     request = ippNewRequest(CUPS_ADD_MODIFY_PRINTER);
@@ -1145,8 +1144,7 @@ enable_printer(http_t *http,              /* I - Server connection */
   *    printer-is-accepting-jobs
   */
 
-  if (get_printer_type(http, printer, uri, sizeof(uri)) &
-          (CUPS_PRINTER_CLASS | CUPS_PRINTER_IMPLICIT))
+  if (get_printer_type(http, printer, uri, sizeof(uri)) & CUPS_PRINTER_CLASS)
     request = ippNewRequest(CUPS_ADD_MODIFY_CLASS);
   else
     request = ippNewRequest(CUPS_ADD_MODIFY_PRINTER);
@@ -1224,7 +1222,7 @@ get_printer_type(http_t *http,            /* I - Server connection */
   {
     type = (cups_ptype_t)attr->values[0].integer;
 
-    if (type & (CUPS_PRINTER_CLASS | CUPS_PRINTER_IMPLICIT))
+    if (type & CUPS_PRINTER_CLASS)
       httpAssembleURIf(HTTP_URI_CODING_ALL, uri, urisize, "ipp", NULL,
                       "localhost", ippPort(), "/classes/%s", printer);
   }
@@ -1283,8 +1281,7 @@ set_printer_options(
   *    other options
   */
 
-  if (get_printer_type(http, printer, uri, sizeof(uri)) &
-          (CUPS_PRINTER_CLASS | CUPS_PRINTER_IMPLICIT))
+  if (get_printer_type(http, printer, uri, sizeof(uri)) & CUPS_PRINTER_CLASS)
     request = ippNewRequest(CUPS_ADD_MODIFY_CLASS);
   else
     request = ippNewRequest(CUPS_ADD_MODIFY_PRINTER);
@@ -1517,5 +1514,5 @@ validate_name(const char *name)           /* I - Name to check */
 
 
 /*
- * End of "$Id: lpadmin.c 9793 2011-05-20 03:49:49Z mike $".
+ * End of "$Id: lpadmin.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 5bda1c8..1043548 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: lpinfo.c 9384 2010-11-22 07:06:39Z mike $"
+ * "$Id: lpinfo.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   "lpinfo" command for CUPS.
  *
@@ -494,5 +494,5 @@ show_models(
 
 
 /*
- * End of "$Id: lpinfo.c 9384 2010-11-22 07:06:39Z mike $".
+ * End of "$Id: lpinfo.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 516ef76..d9adfd8 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: lpmove.c 9384 2010-11-22 07:06:39Z mike $"
+ * "$Id: lpmove.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   "lpmove" command for CUPS.
  *
@@ -209,5 +209,5 @@ move_job(http_t     *http,          /* I - HTTP connection to server */
 
 
 /*
- * End of "$Id: lpmove.c 9384 2010-11-22 07:06:39Z mike $".
+ * End of "$Id: lpmove.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 438fcf2..31a367c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: lpoptions.c 9793 2011-05-20 03:49:49Z mike $"
+ * "$Id: lpoptions.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Printer option program for CUPS.
  *
@@ -33,7 +33,7 @@
 
 static void    list_group(ppd_file_t *ppd, ppd_group_t *group);
 static void    list_options(cups_dest_t *dest);
-static void    usage(void);
+static void    usage(void) __attribute__((noreturn));
 
 
 /*
@@ -561,5 +561,5 @@ usage(void)
 
 
 /*
- * End of "$Id: lpoptions.c 9793 2011-05-20 03:49:49Z mike $".
+ * End of "$Id: lpoptions.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 32dc950..9e559b4 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: lppasswd.c 9384 2010-11-22 07:06:39Z mike $"
+ * "$Id: lppasswd.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   MD5 password program for CUPS.
  *
- *   Copyright 2007-2010 by Apple Inc.
+ *   Copyright 2007-2011 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -48,7 +48,7 @@
  * Local functions...
  */
 
-static void    usage(FILE *fp);
+static void    usage(FILE *fp) __attribute__((noreturn));
 
 
 /*
@@ -429,7 +429,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
   if (error)
   {
     _cupsLangPuts(stderr, _("lppasswd: Password file not updated."));
-    
+
     unlink(passwdnew);
 
     return (1);
@@ -475,7 +475,7 @@ usage(FILE *fp)             /* I - File to send usage to */
   if (getuid())
     _cupsLangPuts(fp, _("Usage: lppasswd [-g groupname]"));
   else
-    _cupsLangPuts(fp, 
+    _cupsLangPuts(fp,
                   _("Usage: lppasswd [-g groupname] [username]\n"
                    "       lppasswd [-g groupname] -a [username]\n"
                    "       lppasswd [-g groupname] -x [username]"));
@@ -485,5 +485,5 @@ usage(FILE *fp)             /* I - File to send usage to */
 
 
 /*
- * End of "$Id: lppasswd.c 9384 2010-11-22 07:06:39Z mike $".
+ * End of "$Id: lppasswd.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 534be06..acb88b6 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: lpstat.c 10064 2011-10-07 21:41:07Z mike $"
+ * "$Id: lpstat.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   "lpstat" command for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2013 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -199,6 +199,16 @@ main(int  argc,                            /* I - Number of command-line arguments */
              {
                cupsFreeDests(num_dests, dests);
                num_dests = cupsGetDests(&dests);
+
+               if (num_dests == 0 &&
+                   (cupsLastError() == IPP_BAD_REQUEST ||
+                    cupsLastError() == IPP_VERSION_NOT_SUPPORTED))
+               {
+                 _cupsLangPrintf(stderr,
+                                 _("%s: Error - add '/version=1.1' to server "
+                                   "name."), argv[0]);
+                 return (1);
+               }
              }
 
              status |= show_accepting(NULL, num_dests, dests);
@@ -267,6 +277,16 @@ main(int  argc,                            /* I - Number of command-line arguments */
 
              dests     = cupsGetNamedDest(CUPS_HTTP_DEFAULT, NULL, NULL);
              num_dests = dests ? 1 : 0;
+
+             if (num_dests == 0 &&
+                 (cupsLastError() == IPP_BAD_REQUEST ||
+                  cupsLastError() == IPP_VERSION_NOT_SUPPORTED))
+             {
+               _cupsLangPrintf(stderr,
+                               _("%s: Error - add '/version=1.1' to server "
+                                 "name."), argv[0]);
+               return (1);
+             }
            }
 
             show_default(dests);
@@ -359,6 +379,16 @@ main(int  argc,                            /* I - Number of command-line arguments */
              {
                cupsFreeDests(num_dests, dests);
                num_dests = cupsGetDests(&dests);
+
+               if (num_dests == 0 &&
+                   (cupsLastError() == IPP_BAD_REQUEST ||
+                    cupsLastError() == IPP_VERSION_NOT_SUPPORTED))
+               {
+                 _cupsLangPrintf(stderr,
+                                 _("%s: Error - add '/version=1.1' to server "
+                                   "name."), argv[0]);
+                 return (1);
+               }
              }
 
              status |= show_printers(NULL, num_dests, dests, long_status);
@@ -378,6 +408,16 @@ main(int  argc,                            /* I - Number of command-line arguments */
            {
              cupsFreeDests(num_dests, dests);
              num_dests = cupsGetDests(&dests);
+
+             if (num_dests == 0 &&
+                 (cupsLastError() == IPP_BAD_REQUEST ||
+                  cupsLastError() == IPP_VERSION_NOT_SUPPORTED))
+             {
+               _cupsLangPrintf(stderr,
+                               _("%s: Error - add '/version=1.1' to server "
+                                 "name."), argv[0]);
+               return (1);
+             }
            }
 
            show_default(cupsGetDest(NULL, NULL, num_dests, dests));
@@ -392,6 +432,16 @@ main(int  argc,                            /* I - Number of command-line arguments */
            {
              cupsFreeDests(num_dests, dests);
              num_dests = cupsGetDests(&dests);
+
+             if (num_dests == 0 &&
+                 (cupsLastError() == IPP_BAD_REQUEST ||
+                  cupsLastError() == IPP_VERSION_NOT_SUPPORTED))
+             {
+               _cupsLangPrintf(stderr,
+                               _("%s: Error - add '/version=1.1' to server "
+                                 "name."), argv[0]);
+               return (1);
+             }
            }
 
            show_scheduler();
@@ -441,6 +491,16 @@ main(int  argc,                            /* I - Number of command-line arguments */
              {
                cupsFreeDests(num_dests, dests);
                num_dests = cupsGetDests(&dests);
+
+               if (num_dests == 0 &&
+                   (cupsLastError() == IPP_BAD_REQUEST ||
+                    cupsLastError() == IPP_VERSION_NOT_SUPPORTED))
+               {
+                 _cupsLangPrintf(stderr,
+                                 _("%s: Error - add '/version=1.1' to server "
+                                   "name."), argv[0]);
+                 return (1);
+               }
              }
 
              status |= show_devices(NULL, num_dests, dests);
@@ -500,9 +560,16 @@ check_dest(const char  *command,   /* I  - Command name */
 
       if ((*dests = cupsGetNamedDest(CUPS_HTTP_DEFAULT, printer, pptr)) == NULL)
       {
-        _cupsLangPrintf(stderr,
-                       _("%s: Invalid destination name in list \"%s\"."),
-                       command, name);
+       if (cupsLastError() == IPP_BAD_REQUEST ||
+           cupsLastError() == IPP_VERSION_NOT_SUPPORTED)
+         _cupsLangPrintf(stderr,
+                         _("%s: Error - add '/version=1.1' to server name."),
+                         command);
+       else
+         _cupsLangPrintf(stderr,
+                         _("%s: Invalid destination name in list \"%s\"."),
+                         command, name);
+
         exit(1);
       }
       else
@@ -554,8 +621,15 @@ check_dest(const char  *command,   /* I  - Command name */
 
     if (!cupsGetDest(printer, NULL, *num_dests, *dests))
     {
-      _cupsLangPrintf(stderr,
-                      _("%s: Unknown destination \"%s\"."), command, printer);
+      if (cupsLastError() == IPP_BAD_REQUEST ||
+          cupsLastError() == IPP_VERSION_NOT_SUPPORTED)
+       _cupsLangPrintf(stderr,
+                       _("%s: Error - add '/version=1.1' to server name."),
+                       command);
+      else
+       _cupsLangPrintf(stderr,
+                       _("%s: Unknown destination \"%s\"."), command, printer);
+
       exit(1);
     }
   }
@@ -670,16 +744,27 @@ show_accepting(const char  *printers,     /* I - Destinations */
   * Do the request and get back a response...
   */
 
-  if ((response = cupsDoRequest(CUPS_HTTP_DEFAULT, request, "/")) != NULL)
+  response = cupsDoRequest(CUPS_HTTP_DEFAULT, request, "/");
+
+  if (cupsLastError() == IPP_BAD_REQUEST ||
+      cupsLastError() == IPP_VERSION_NOT_SUPPORTED)
   {
-    DEBUG_puts("show_accepting: request succeeded...");
+    _cupsLangPrintf(stderr,
+                   _("%s: Error - add '/version=1.1' to server name."),
+                   "lpstat");
+    ippDelete(response);
+    return (1);
+  }
+  else if (cupsLastError() > IPP_OK_CONFLICT)
+  {
+    _cupsLangPrintf(stderr, "lpstat: %s", cupsLastErrorString());
+    ippDelete(response);
+    return (1);
+  }
 
-    if (response->request.status.status_code > IPP_OK_CONFLICT)
-    {
-      _cupsLangPrintf(stderr, "lpstat: %s", cupsLastErrorString());
-      ippDelete(response);
-      return (1);
-    }
+  if (response)
+  {
+    DEBUG_puts("show_accepting: request succeeded...");
 
    /*
     * Loop through the printers returned in the list and display
@@ -782,11 +867,6 @@ show_accepting(const char  *printers,      /* I - Destinations */
 
     ippDelete(response);
   }
-  else
-  {
-    _cupsLangPrintf(stderr, "lpstat: %s", cupsLastErrorString());
-    return (1);
-  }
 
   return (0);
 }
@@ -849,7 +929,25 @@ show_classes(const char *dests)            /* I - Destinations */
   * Do the request and get back a response...
   */
 
-  if ((response = cupsDoRequest(CUPS_HTTP_DEFAULT, request, "/")) != NULL)
+  response = cupsDoRequest(CUPS_HTTP_DEFAULT, request, "/");
+
+  if (cupsLastError() == IPP_BAD_REQUEST ||
+      cupsLastError() == IPP_VERSION_NOT_SUPPORTED)
+  {
+    _cupsLangPrintf(stderr,
+                   _("%s: Error - add '/version=1.1' to server name."),
+                   "lpstat");
+    ippDelete(response);
+    return (1);
+  }
+  else if (cupsLastError() > IPP_OK_CONFLICT)
+  {
+    _cupsLangPrintf(stderr, "lpstat: %s", cupsLastErrorString());
+    ippDelete(response);
+    return (1);
+  }
+
+  if (response)
   {
     DEBUG_puts("show_classes: request succeeded...");
 
@@ -987,11 +1085,6 @@ show_classes(const char *dests)           /* I - Destinations */
 
     ippDelete(response);
   }
-  else
-  {
-    _cupsLangPrintf(stderr, "lpstat: %s", cupsLastErrorString());
-    return (1);
-  }
 
   return (0);
 }
@@ -1097,16 +1190,27 @@ show_devices(const char  *printers,     /* I - Destinations */
   * Do the request and get back a response...
   */
 
-  if ((response = cupsDoRequest(CUPS_HTTP_DEFAULT, request, "/")) != NULL)
+  response = cupsDoRequest(CUPS_HTTP_DEFAULT, request, "/");
+
+  if (cupsLastError() == IPP_BAD_REQUEST ||
+      cupsLastError() == IPP_VERSION_NOT_SUPPORTED)
   {
-    DEBUG_puts("show_devices: request succeeded...");
+    _cupsLangPrintf(stderr,
+                   _("%s: Error - add '/version=1.1' to server name."),
+                   "lpstat");
+    ippDelete(response);
+    return (1);
+  }
+  else if (cupsLastError() > IPP_OK_CONFLICT)
+  {
+    _cupsLangPrintf(stderr, "lpstat: %s", cupsLastErrorString());
+    ippDelete(response);
+    return (1);
+  }
 
-    if (response->request.status.status_code > IPP_OK_CONFLICT)
-    {
-      _cupsLangPrintf(stderr, "lpstat: %s", cupsLastErrorString());
-      ippDelete(response);
-      return (1);
-    }
+  if (response)
+  {
+    DEBUG_puts("show_devices: request succeeded...");
 
    /*
     * Loop through the printers returned in the list and display
@@ -1246,11 +1350,6 @@ show_devices(const char  *printers,      /* I - Destinations */
 
     ippDelete(response);
   }
-  else
-  {
-    _cupsLangPrintf(stderr, "lpstat: %s", cupsLastErrorString());
-    return (1);
-  }
 
   return (0);
 }
@@ -1334,19 +1433,30 @@ show_jobs(const char *dests,            /* I - Destinations */
   * Do the request and get back a response...
   */
 
-  if ((response = cupsDoRequest(CUPS_HTTP_DEFAULT, request, "/")) != NULL)
+  response = cupsDoRequest(CUPS_HTTP_DEFAULT, request, "/");
+
+  if (cupsLastError() == IPP_BAD_REQUEST ||
+      cupsLastError() == IPP_VERSION_NOT_SUPPORTED)
+  {
+    _cupsLangPrintf(stderr,
+                   _("%s: Error - add '/version=1.1' to server name."),
+                   "lpstat");
+    ippDelete(response);
+    return (1);
+  }
+  else if (cupsLastError() > IPP_OK_CONFLICT)
+  {
+    _cupsLangPrintf(stderr, "lpstat: %s", cupsLastErrorString());
+    ippDelete(response);
+    return (1);
+  }
+
+  if (response)
   {
    /*
     * Loop through the job list and display them...
     */
 
-    if (response->request.status.status_code > IPP_OK_CONFLICT)
-    {
-      _cupsLangPrintf(stderr, "lpstat: %s", cupsLastErrorString());
-      ippDelete(response);
-      return (1);
-    }
-
     rank = -1;
 
     for (attr = response->attrs; attr != NULL; attr = attr->next)
@@ -1492,11 +1602,6 @@ show_jobs(const char *dests,             /* I - Destinations */
 
     ippDelete(response);
   }
-  else
-  {
-    _cupsLangPrintf(stderr, "lpstat: %s", cupsLastErrorString());
-    return (1);
-  }
 
   return (0);
 }
@@ -1587,16 +1692,27 @@ show_printers(const char  *printers,    /* I - Destinations */
   * Do the request and get back a response...
   */
 
-  if ((response = cupsDoRequest(CUPS_HTTP_DEFAULT, request, "/")) != NULL)
+  response = cupsDoRequest(CUPS_HTTP_DEFAULT, request, "/");
+
+  if (cupsLastError() == IPP_BAD_REQUEST ||
+      cupsLastError() == IPP_VERSION_NOT_SUPPORTED)
   {
-    DEBUG_puts("show_printers: request succeeded...");
+    _cupsLangPrintf(stderr,
+                   _("%s: Error - add '/version=1.1' to server name."),
+                   "lpstat");
+    ippDelete(response);
+    return (1);
+  }
+  else if (cupsLastError() > IPP_OK_CONFLICT)
+  {
+    _cupsLangPrintf(stderr, "lpstat: %s", cupsLastErrorString());
+    ippDelete(response);
+    return (1);
+  }
 
-    if (response->request.status.status_code > IPP_OK_CONFLICT)
-    {
-      _cupsLangPrintf(stderr, "lpstat: %s", cupsLastErrorString());
-      ippDelete(response);
-      return (1);
-    }
+  if (response)
+  {
+    DEBUG_puts("show_printers: request succeeded...");
 
    /*
     * Loop through the printers returned in the list and display
@@ -2018,11 +2134,6 @@ show_printers(const char  *printers,     /* I - Destinations */
 
     ippDelete(response);
   }
-  else
-  {
-    _cupsLangPrintf(stderr, "lpstat: %s", cupsLastErrorString());
-    return (1);
-  }
 
   return (0);
 }
@@ -2050,5 +2161,5 @@ show_scheduler(void)
 
 
 /*
- * End of "$Id: lpstat.c 10064 2011-10-07 21:41:07Z mike $".
+ * End of "$Id: lpstat.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index fe2d982..678bddd 100644 (file)
@@ -1,5 +1,5 @@
 #
-# "$Id: Makefile 9771 2011-05-12 05:21:56Z mike $"
+# "$Id: Makefile 11173 2013-07-23 12:31:34Z msweet $"
 #
 #   Template makefile for CUPS.
 #
@@ -200,5 +200,5 @@ uninstall-langbundle:
 
 
 #
-# End of "$Id: Makefile 9771 2011-05-12 05:21:56Z mike $".
+# End of "$Id: Makefile 11173 2013-07-23 12:31:34Z msweet $".
 #
index 477da13..ee6b5af 100644 (file)
 <P><A HREF="/admin/">Advanced <SMALL>&#x25bc;</SMALL></A><BR>
 <INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server">
 <INPUT TYPE="HIDDEN" NAME="ADVANCEDSETTINGS" VALUE="YES">
-<INPUT TYPE="CHECKBOX" NAME="REMOTE_PRINTERS" {?remote_printers}> Show printers shared by other systems<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Protocols\:
-<INPUT TYPE="CHECKBOX" NAME="BROWSE_REMOTE_CUPS" {?browse_remote_cups}> CUPS
-{HAVE_LDAP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_REMOTE_LDAP" {?browse_remote_ldap}> LDAP:}
-{HAVE_LIBSLP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_REMOTE_SLP" {?browse_remote_slp}> SLP:}<BR>
 <INPUT TYPE="CHECKBOX" NAME="SHARE_PRINTERS" {?share_printers}> Share printers connected to this system<BR>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Max clients\:
 <INPUT TYPE="TEXT" NAME="MAX_CLIENTS" VALUE="{?max_clients}" SIZE="6"><BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Protocols\:
-<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_CUPS" {?browse_local_cups}> CUPS
-{HAVE_DNSSD?<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_DNSSD" {?browse_local_dnssd}> DNS-SD:}
-{HAVE_LDAP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_LDAP" {?browse_local_ldap}> LDAP:}
-{HAVE_LIBSLP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_SLP" {?browse_local_slp}> SLP:}<BR>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="REMOTE_ANY" {?remote_any}> Allow printing from the Internet<BR>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="BROWSE_WEB_IF" {?browse_web_if}> Advertise web interface<BR>
 <INPUT TYPE="CHECKBOX" NAME="REMOTE_ADMIN" {?remote_admin}> Allow remote administration<BR>
 {have_gssapi?<INPUT TYPE="CHECKBOX" NAME="KERBEROS" {?kerberos}> Use Kerberos authentication (<A HREF="/help/kerberos.html?TOPIC=Getting+Started">FAQ</A>)<BR>:}
 <INPUT TYPE="CHECKBOX" NAME="USER_CANCEL_ANY" {?user_cancel_any}> Allow users to cancel any job (not just their own)<BR>
-<INPUT TYPE="CHECKBOX" NAME="PRESERVE_JOB_HISTORY" {?preserve_job_history}> Preserve job history<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Number of jobs\:
+<INPUT TYPE="CHECKBOX" NAME="PRESERVE_JOBS" {?preserve_jobs}> Preserve job history<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Maximum jobs (0 for no limit)\:
 <INPUT TYPE="TEXT" NAME="MAX_JOBS" VALUE="{?max_jobs}" SIZE="6"><BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="PRESERVE_JOB_FILES" {?preserve_job_files}> Preserve job print files<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retain Metadata\:
+<INPUT TYPE="TEXT" NAME="PRESERVE_JOB_HISTORY" VALUE="{?preserve_job_history}" SIZE="6"><BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retain Documents\:
+<INPUT TYPE="TEXT" NAME="PRESERVE_JOB_FILES" VALUE="{?preserve_job_files}" SIZE="6"><BR>
 <INPUT TYPE="CHECKBOX" NAME="DEBUG_LOGGING" {?debug_logging}> Save debugging information for troubleshooting<BR>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Max log file size\:
 <INPUT TYPE="TEXT" NAME="MAX_LOG_SIZE" VALUE="{?max_log_size}" SIZE="6"></P>
@@ -75,7 +68,6 @@
 
 <P><A HREF="/admin/?ADVANCEDSETTINGS=YES">Advanced <SMALL>&#x25b6;</SMALL></A><BR>
 <INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server">
-<INPUT TYPE="CHECKBOX" NAME="REMOTE_PRINTERS" {?remote_printers}> Show printers shared by other systems<BR>
 <INPUT TYPE="CHECKBOX" NAME="SHARE_PRINTERS" {?share_printers}> Share printers connected to this system<BR>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="REMOTE_ANY" {?remote_any}> Allow printing from the Internet<BR>
 <INPUT TYPE="CHECKBOX" NAME="REMOTE_ADMIN" {?remote_admin}> Allow remote administration<BR>
similarity index 55%
rename from templates/it/add-class.tmpl
rename to templates/ca/add-class.tmpl
index cff0d45..8af7a7d 100644 (file)
@@ -1,6 +1,6 @@
 <DIV CLASS="indent">
 
-<H2 CLASS="title">Aggiungi classe</H2>
+<H2 CLASS="title">Afegeix una classe</H2>
 
 <FORM METHOD="POST" ACTION="/admin">
 <INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
@@ -8,22 +8,22 @@
 
 <TABLE>
 <TR>
-<TH CLASS="label">Nome:</TH>
+<TH CLASS="label">Nom:</TH>
 <TD><INPUT TYPE="TEXT" NAME="PRINTER_NAME" SIZE="40" MAXLENGTH="127"><BR>
-<SMALL>(Può contenere qualsiasi carattere stampabile eccetto "/", "#", e spazio)</SMALL></TD>
+<SMALL>(Pot contenir qualsevol car&agrave;cter excepte &laquo;/&raquo;, &laquo;#&raquo;, i espai)</SMALL></TD>
 </TR>
 <TR>
-<TH CLASS="label">Descrizione:</TH>
+<TH CLASS="label">Descripci&oacute;:</TH>
 <TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" SIZE="40" MAXLENGTH="127"><BR>
-<SMALL>(Descrizione esplicativa del tipo "HP LaserJet con Duplexer")</SMALL></TD>
+<SMALL>(Una descripci&oacute; com ara &laquo;HP LaserJet de doble cara&raquo;)</SMALL></TD>
 </TR>
 <TR>
-<TH CLASS="label">Posizione:</TH>
+<TH CLASS="label">Ubicaci&oacute;:</TH>
 <TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" SIZE="40" MAXLENGTH="127"><BR>
-<SMALL>(Posizione esplicativa del tipo "Laboratorio 1")</SMALL></TD>
+<SMALL>(Una ubicaci&oacute; com ara  &laquo;Laboratori 1&raquo;)</SMALL></TD>
 </TR>
 <TR>
-<TH CLASS="label">Membri:</TH>
+<TH CLASS="label">Membres:</TH>
 <TD>
 <SELECT NAME="MEMBER_URIS" SIZE="10" MULTIPLE>
 {[member_uris]<OPTION VALUE="{member_uris}" {?member_selected}>{member_names}}
@@ -32,7 +32,7 @@
 </TR>
 <TR>
 <TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Aggiungi classe"></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Afegeix"></TD>
 </TR>
 </TABLE>
 
similarity index 66%
rename from templates/eu/add-printer.tmpl
rename to templates/ca/add-printer.tmpl
index d4bf8b2..f266a0b 100644 (file)
@@ -1,6 +1,6 @@
 <DIV CLASS="indent">
 
-<H2 CLASS="title">Gehitu inprimagailua</H2>
+<H2 CLASS="title">Afegir una impressora</H2>
 
 <FORM METHOD="POST" ACTION="/admin">
 <INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
 
 <TABLE>
 <TR>
-<TH CLASS="label">Izena:</TH>
+<TH CLASS="label">Nom:</TH>
 <TD><INPUT TYPE="TEXT" NAME="PRINTER_NAME" SIZE="40" MAXLENGTH="127" VALUE="{?template_name}"><BR>
-<SMALL>(Inprimatu daitekeen edozein karaktere eduki dezake, "/", "#" eta zuriunea izan ezik)</SMALL></TD>
+<SMALL>(Pot contenir qualsevol car&agrave;cter excepte &laquo;/&raquo;, &laquo;#&raquo;, i espai)</SMALL></TD>
 </TR>
 <TR>
-<TH CLASS="label">Deskripzioa:</TH>
+<TH CLASS="label">Descripci&oacute;:</TH>
 <TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" SIZE="40" MAXLENGTH="127" VALUE="{?PRINTER_INFO}"><BR>
-<SMALL>(izakiek irakurtzeko deskripzioa, adibidez "HP LaserJet Duplexatzailearekin")</SMALL></TD>
+<SMALL>(Una descripci&oacute; com ara &laquo;HP LaserJet de doble cara&raquo;)</SMALL></TD>
 </TR>
 <TR>
-<TH CLASS="label">Kokalekua:</TH>
+<TH CLASS="label">Ubicaci&oacute;:</TH>
 <TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" SIZE="40" MAXLENGTH="127" VALUE="{?PRINTER_LOCATION}"><BR>
-<SMALL>(izakiek irakurtzeko kokalekua, adibidez "Lab 1")</SMALL></TD>
+<SMALL>(Una ubicaci&oacute; com ara  &laquo;Laboratori 1&raquo;)</SMALL></TD>
 </TR>
 <TR>
-<TH CLASS="label">Konexioa:</TH>
+<TH CLASS="label">Connexi&oacute;:</TH>
 <TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
 </TR>
 <TR>
-<TH CLASS="label">Partekatzea:</TH>
+<TH CLASS="label">Compartir:</TH>
 <TD><INPUT TYPE="CHECKBOX" NAME="PRINTER_IS_SHARED" {PRINTER_IS_SHARED=1?CHECKED:}>
-Partekatu inprimagailu hau</TD>
+Comparteix aquesta impressora</TD>
 </TR>
 <TR>
 <TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Jarraitu"></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Continua"></TD>
 </TR>
 </TABLE>
 
similarity index 55%
rename from templates/it/add-rss-subscription.tmpl
rename to templates/ca/add-rss-subscription.tmpl
index c85e45f..b195ac6 100644 (file)
@@ -2,42 +2,42 @@
 <INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
 <INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-rss-subscription">
 
-<H2 CLASS="title">Aggiungi iscrizione RSS</H2>
+<H2 CLASS="title">Afegir una subscripci&oacute; RSS</H2>
 
-<TABLE SUMMARY="Aggiungi modulo d'iscrizione RSS">
+<TABLE SUMMARY="Add RSS Subscription form">
 <TR>
-<TH CLASS="label">Nome:</TH>
+<TH CLASS="label">Nom:</TH>
 <TD COLSPAN="5"><INPUT TYPE="TEXT" NAME="SUBSCRIPTION_NAME" SIZE="40" MAXLENGTH="127" VALUE="{?SUBSCRIPTION_NAME}"><BR>
-<SMALL>(Può contenere qualsiasi carattere eccetto spazio, "/", "?", e "#")</SMALL></TD>
+<SMALL>(Pot contenir qualsevol car&agrave;cter excepte espai &laquo;/&raquo;, &laquo;?&raquo; i &laquo;#&raquo;)</SMALL></TD>
 </TR>
 <TR>
-<TH CLASS="label">Coda:</TH>
-<TD COLSPAN="5"><SELECT NAME="PRINTER_URI" SIZE="10"><OPTION VALUE="#ALL#"{?PRINTER_URI=#ALL#? SELECTED:}>Tutte le code</OPTION>{[printer_name]<OPTION VALUE="{printer_uri_supported}"{?PRINTER_URI={printer_uri_supported}? SELECTED:}>{printer_name}</OPTION>}</SELECT></TD>
+<TH CLASS="label">Cua:</TH>
+<TD COLSPAN="5"><SELECT NAME="PRINTER_URI" SIZE="10"><OPTION VALUE="#ALL#"{?PRINTER_URI=#ALL#? SELECTED:}>Totes</OPTION>{[printer_name]<OPTION VALUE="{printer_uri_supported}"{?PRINTER_URI={printer_uri_supported}? SELECTED:}>{printer_name}</OPTION>}</SELECT></TD>
 </TR>
 <TR VALIGN="TOP">
-<TH CLASS="label">Eventi:</TH>
-<TD><INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_CREATED" {?EVENT_JOB_CREATED}>Stampa creata<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_COMPLETED" {?EVENT_JOB_COMPLETED}>Stampa completata<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_STOPPED" {?EVENT_JOB_STOPPED}>Stampa fermata<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_CONFIG_CHANGED" {?EVENT_JOB_CONFIG_CHANGED}>Opzioni di stampa modificate</TD>
+<TH CLASS="label">Esdeveniments:</TH>
+<TD><INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_CREATED" {?EVENT_JOB_CREATED}>Creaci&oacute; de tasca<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_COMPLETED" {?EVENT_JOB_COMPLETED}>Tasca completada<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_STOPPED" {?EVENT_JOB_STOPPED}>Tasca aturada<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_CONFIG_CHANGED" {?EVENT_JOB_CONFIG_CHANGED}>Modificaci&oacute; de les opcions de la tasca</TD>
 <TD>&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-<TD><INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_STOPPED" {?EVENT_PRINTER_STOPPED}>Coda fermata<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_ADDED" {?EVENT_PRINTER_ADDED}>Coda aggiunta<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_MODIFIED" {?EVENT_PRINTER_MODIFIED}>Coda modificata<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_DELETED" {?EVENT_PRINTER_DELETED}>Coda eliminata</TD>
+<TD><INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_STOPPED" {?EVENT_PRINTER_STOPPED}>Cua aturada<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_ADDED" {?EVENT_PRINTER_ADDED}>Cua afegida<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_MODIFIED" {?EVENT_PRINTER_MODIFIED}>Modificaci&oacute; de la cua<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_DELETED" {?EVENT_PRINTER_DELETED}>Eliminaci&oacute; de la cua</TD>
 <TD>&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-<TD><INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_STARTED" {?EVENT_SERVER_STARTED}>Server avviato<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_STOPPED" {?EVENT_SERVER_STOPPED}>Server fermato<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_RESTARTED" {?EVENT_SERVER_RESTARTED}>Server riavviato<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_AUDIT" {?EVENT_SERVER_AUDIT}>Controllo di sicurezza del server</TD>
+<TD><INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_STARTED" {?EVENT_SERVER_STARTED}>Inicialitzaci&oacute; del servidor<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_STOPPED" {?EVENT_SERVER_STOPPED}>Aturada del servidor<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_RESTARTED" {?EVENT_SERVER_RESTARTED}>Servidor iniciat de nou<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_AUDIT" {?EVENT_SERVER_AUDIT}>Auditoria de seguretat del servidor</TD>
 </TR>
 <TR>
-<TH CLASS="label">N. massimo di eventi nella fonte:</TH>
+<TH CLASS="label">Nombre m&agrave;xims d'esdeveniments al canal:</TH>
 <TD COLSPAN="5"><INPUT TYPE="NUMBER" NAME="MAX_EVENTS" SIZE="4" MAXLENGTH="4" VALUE="{MAX_EVENTS?{MAX_EVENTS}:20}"></TD>
 </TR>
 <TR>
 <TD></TD>
-<TD COLSPAN="5"><INPUT TYPE="SUBMIT" VALUE="Aggiungi iscrizione RSS"></TD>
+<TD COLSPAN="5"><INPUT TYPE="SUBMIT" VALUE="Afegeix"></TD>
 </TR>
 </TABLE>
 
diff --git a/templates/ca/admin.tmpl b/templates/ca/admin.tmpl
new file mode 100644 (file)
index 0000000..ea3fc1e
--- /dev/null
@@ -0,0 +1,102 @@
+<TABLE CLASS="indent" SUMMARY="Administration Tasks">
+<TR><TD VALIGN="TOP">
+
+<H2 CLASS="title">Impressores</H2>
+
+<P>
+<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-printer"><INPUT TYPE="SUBMIT" VALUE="Afegeix una impressora"></FORM>
+<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="find-new-printers"><INPUT TYPE="SUBMIT" VALUE="Busca m&eacute;s impressores"></FORM>
+<FORM ACTION="/printers/" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Gestiona les impressores"></FORM>
+{have_samba?<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="export-samba"><INPUT TYPE="SUBMIT" VALUE="Exporta les impressores al Samba"></FORM>:}
+</P>
+
+<H2 CLASS="title">Classes</H2>
+
+<P>
+<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-class"><INPUT TYPE="SUBMIT" VALUE="Afegeix una classe"></FORM>
+<FORM ACTION="/classes/" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Gestiona les classes"></FORM>
+</P>
+
+<H2 CLASS="title">Tasques</H2>
+
+<P>
+<FORM ACTION="/jobs/" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Gestiona les tasques"></FORM>
+</P>
+
+</TD><TD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD><TD VALIGN="TOP">
+
+<H2 CLASS="title">Servidor</H2>
+
+<P>
+<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server"><INPUT TYPE="SUBMIT" VALUE="Edita el fitxer de configuraci&oacute;"></FORM>
+<FORM ACTION="/admin/log/access_log" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Mostra el registre d'acc&eacute;s"></FORM>
+<FORM ACTION="/admin/log/error_log" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Mostra el registre d'errors"></FORM>
+<FORM ACTION="/admin/log/page_log" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Mostra la p&agrave;gina de registres"></FORM>
+</P>
+
+{SETTINGS_ERROR?<P>{SETTINGS_MESSAGE}</P>
+<BLOCKQUOTE>{SETTINGS_ERROR}</BLOCKQUOTE>:
+
+<FORM METHOD="POST" ACTION="/admin">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+
+{ADVANCEDSETTINGS?<P><B>Configuraci&oacute; del servidor\:</B></P>
+
+<P><A HREF="/admin/">Avan&ccedil;at <SMALL>&#x25bc;</SMALL></A><BR>
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server">
+<INPUT TYPE="HIDDEN" NAME="ADVANCEDSETTINGS" VALUE="YES">
+<INPUT TYPE="CHECKBOX" NAME="SHARE_PRINTERS" {?share_printers}> Comparteix les impressores connectades a aquest sistema<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Nombre m&agrave;xim de clients\:
+<INPUT TYPE="TEXT" NAME="MAX_CLIENTS" VALUE="{?max_clients}" SIZE="6"><BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="REMOTE_ANY" {?remote_any}> Permet imprimir des d'Internet<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="BROWSE_WEB_IF" {?browse_web_if}> Anuncia la interf&iacute;cie web<BR>
+<INPUT TYPE="CHECKBOX" NAME="REMOTE_ADMIN" {?remote_admin}> Permet l'administraci&oacute; remota<BR>
+{have_gssapi?<INPUT TYPE="CHECKBOX" NAME="KERBEROS" {?kerberos}> Fes servir l'autenticaci&oacute; Kerberos (<A HREF="/help/kerberos.html?TOPIC=Getting+Started">PMF</A>)<BR>:}
+<INPUT TYPE="CHECKBOX" NAME="USER_CANCEL_ANY" {?user_cancel_any}> Permet als usuaris cancel&middot;lar qualsevol tasca (no nom&eacute;s les pr&ograve;pies)<BR>
+<INPUT TYPE="CHECKBOX" NAME="PRESERVE_JOBS" {?preserve_jobs}> Conserva l'historial de tasques<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Nombre màxim de tasques (0 per ilimitat)\:
+<INPUT TYPE="TEXT" NAME="MAX_JOBS" VALUE="{?max_jobs}" SIZE="6"><BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Conserva les metadades\:
+<INPUT TYPE="TEXT" NAME="PRESERVE_JOB_HISTORY" VALUE="{?preserve_job_history}" SIZE="6"><BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Conserva els documents\:
+<INPUT TYPE="TEXT" NAME="PRESERVE_JOB_FILES" VALUE="{?preserve_job_files}" SIZE="6"><BR>
+<INPUT TYPE="CHECKBOX" NAME="DEBUG_LOGGING" {?debug_logging}> Desa la informaci&oacute; de depuraci&oacute; per la resoluci&oacute; de problemes<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Mida m&agrave;xima de fitxer de registre\:
+<INPUT TYPE="TEXT" NAME="MAX_LOG_SIZE" VALUE="{?max_log_size}" SIZE="6"></P>
+
+:<P><B>Configuraci&oacute; del servidor:</B></P>
+
+<P><A HREF="/admin/?ADVANCEDSETTINGS=YES">Avan&ccedil;at <SMALL>&#x25b6;</SMALL></A><BR>
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server">
+<INPUT TYPE="CHECKBOX" NAME="SHARE_PRINTERS" {?share_printers}> Comparteix les impressores connectades a aquest sistema<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="REMOTE_ANY" {?remote_any}> Permet imprimir des d'Internet<BR>
+<INPUT TYPE="CHECKBOX" NAME="REMOTE_ADMIN" {?remote_admin}> Permet l'administraci&oacute; remota<BR>
+{have_gssapi?<INPUT TYPE="CHECKBOX" NAME="KERBEROS" {?kerberos}> Fes servir l'autenticaci&oacute; Kerberos (<A HREF="/help/kerberos.html?TOPIC=Getting+Started">PMF</A>)<BR>:}
+<INPUT TYPE="CHECKBOX" NAME="USER_CANCEL_ANY" {?user_cancel_any}> Permet als usuaris cancel&middot;lar qualsevol tasca (no nom&eacute;s les pr&ograve;pies)<BR>
+<INPUT TYPE="CHECKBOX" NAME="DEBUG_LOGGING" {?debug_logging}> Desa la informaci&oacute; de depuraci&oacute; per la resoluci&oacute; de problemes<BR>
+
+}
+<P><INPUT TYPE="SUBMIT" NAME="CHANGESETTINGS" VALUE="Envia els canvis"></P>
+
+</FORM>}
+
+</TD></TR>
+</TABLE>
+
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Subscripcions RSS</H2>
+
+<P>
+<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-rss-subscription"><INPUT TYPE="SUBMIT" VALUE="Afegeix una subscripci&oacute; RSS"></FORM>
+</P>
+
+</DIV>
+
+{notify_subscription_id?<TABLE CLASS="list" SUMMARY="RSS Subscriptions">
+<THEAD><TR><TH>Nom</TH><TH>Esdeveniments</TH><TH>Nom de la cua</TH></TR></THEAD>
+<TBODY>{[notify_subscription_id]
+<TR><TD><A HREF="{notify_recipient_uri}">{notify_recipient_name}</A><BR>
+<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="cancel-subscription"><INPUT TYPE="HIDDEN" NAME="notify_subscription_id" VALUE="{notify_subscription_id}"><INPUT TYPE="SUBMIT" VALUE="Cancel&middot;la la subscripci&oacute; RSS"></FORM>&nbsp;</TD><TD>{notify_events}</TD><TD NOWRAP>&nbsp;{notify_printer_name?{notify_printer_name}:All Queues}</TD></TR>}
+</TBODY>
+</TABLE>:}
similarity index 77%
rename from templates/hu/choose-device.tmpl
rename to templates/ca/choose-device.tmpl
index 2491e04..a28cc92 100644 (file)
@@ -1,7 +1,6 @@
 <DIV CLASS="indent">
 
-<H2 CLASS="title">{op=modify-printer?{printer_name} módosítása:Nyomtató
-hozzáadása}</H2>
+<H2 CLASS="title">{op=modify-printer?Modifica {printer_name}:Add Printer}</H2>
 
 {CUPS_GET_DEVICES_DONE?<FORM METHOD="POST" ACTION="/admin">
 <INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
@@ -10,12 +9,12 @@ hozzáadása}</H2>
 
 <TABLE>
 {op=add-printer?:<TR>
-<TH CLASS="label">Jelenlegi kapcsolat\:</TH>
+<TH CLASS="label">Connexi&oacute; actual\:</TH>
 <TD><INPUT TYPE="RADIO" NAME="DEVICE_URI" VALUE="{current_device_uri}" CHECKED>
 {current_device_uri}</TD>
 </TR>}
 <TR>
-<TH CLASS="label">Helyi nyomtatók\:</TH>
+<TH CLASS="label">Impressores locals\:</TH>
 <TD>
 {[device_uri]{device_class!network?<INPUT TYPE="RADIO" NAME="DEVICE_URI"
 VALUE="{device_uri}{?device_make_and_model!Unknown?|{device_make_and_model}:}">
@@ -24,7 +23,7 @@ VALUE="{device_uri}{?device_make_and_model!Unknown?|{device_make_and_model}:}">
 </TD>
 </TR>
 <TR>
-<TH CLASS="label">Feltérképezett hálózati nyomtatók\:</TH>
+<TH CLASS="label">Impressores de xarxa descobertes\:</TH>
 <TD>
 {[device_uri]{device_class=network?{device_uri~[a-z]+://?<INPUT TYPE="RADIO" NAME="DEVICE_URI"
 VALUE="{device_uri}{?device_make_and_model!Unknown?|{device_make_and_model}:}">
@@ -34,7 +33,7 @@ VALUE="{device_uri}{?device_make_and_model!Unknown?|{device_make_and_model}:}">
 </TR>
 <TR>
 <TR>
-<TH CLASS="label">Egyéb hálózati nyomtatók\:</TH>
+<TH CLASS="label">Altres impressores de xarxa\:</TH>
 <TD>
 {[device_uri]{device_class=network?{device_uri~[a-z]+://?:<INPUT TYPE="RADIO" NAME="DEVICE_URI"
 VALUE="{device_uri}{?device_make_and_model!Unknown?|{device_make_and_model}:}">
@@ -44,11 +43,11 @@ VALUE="{device_uri}{?device_make_and_model!Unknown?|{device_make_and_model}:}">
 </TR>
 <TR>
 <TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Folytatás"></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Continua"></TD>
 </TR>
 </TABLE>
 
 </FORM>:<P><IMG SRC="/images/wait.gif" WIDTH="16" HEIGHT="16" ALIGN="ABSMIDDLE"
-ALT="Elfoglalt"> Nyomtatók keresése...</P>}
+ALT="Busy Indicator"> Buscant impressores...</P>}
 
 </DIV>
similarity index 76%
rename from templates/it/choose-make.tmpl
rename to templates/ca/choose-make.tmpl
index 3bb4c78..01bc654 100644 (file)
@@ -1,6 +1,6 @@
 <DIV CLASS="indent">
 
-<H2 CLASS="title">{op=modify-printer?Modify {printer_name}:Aggiungi stampante}</H2>
+<H2 CLASS="title">{op=modify-printer?Modifica {printer_name}:Add Printer}</H2>
 
 <FORM METHOD="POST" ACTION="/admin" ENCTYPE="multipart/form-data">
 <INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
 
 <TABLE>
 {op=modify-printer?:<TR>
-<TH CLASS="label">Nome:</TH>
+<TH CLASS="label">Nom:</TH>
 <TD><INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">{printer_name}</TD>
 </TR>}
 <TR>
-<TH CLASS="label">Descrizione:</TH>
+<TH CLASS="label">Descripci&oacute;:</TH>
 <TD><INPUT TYPE="HIDDEN" NAME="PRINTER_INFO" VALUE="{printer_info}">{printer_info}</TD>
 </TR>
 <TR>
-<TH CLASS="label">Posizione:</TH>
+<TH CLASS="label">Ubicaci&oacute;:</TH>
 <TD><INPUT TYPE="HIDDEN" NAME="PRINTER_LOCATION" VALUE="{printer_location}">{printer_location}</TD>
 </TR>
 <TR>
-<TH CLASS="label">Connessione:</TH>
+<TH CLASS="label">Connecci&oacute;:</TH>
 <TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
 </TR>
 <TR>
-<TH CLASS="label">Condivisione:</TH>
+<TH CLASS="label">Compartida:</TH>
 <TD><INPUT TYPE="HIDDEN" NAME="PRINTER_IS_SHARED" VALUE="{?printer_is_shared}">
-{?printer_is_shared=?Do Not:{?printer_is_shared=0?Do Not:}} Condividi questa stampante</TD>
+{?printer_is_shared=?Do Not:{?printer_is_shared=0?Do Not:}} Comparteix aquesta impressora</TD>
 </TR>
 <TR>
-<TH CLASS="label">Crea:</TH>
+<TH CLASS="label">Fabricant:</TH>
 <TD>
 <SELECT NAME="PPD_MAKE" SIZE="10">
 {[ppd_make]<OPTION VALUE="{ppd_make}" {?current_make={ppd_make}?SELECTED:}>{ppd_make}}
 <TD>&nbsp;</TD>
 </TR>
 <TR>
-<TH CLASS="label">Or Provide a PPD File:</TH>
+<TH CLASS="label">O indica un fitxer PPD:</TH>
 <TD><INPUT TYPE="HIDDEN" NAME="MAX_FILE_SIZE" VALUE="262144"><INPUT
 TYPE="FILE" NAME="PPD_FILE"></TD>
 </TR>
 <TR>
 <TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="{op=add-printer?Add Printer:Modify Printer}"></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="{op=add-printer?Add Printer:Modifica la impressora}"></TD>
 </TR>
 </TABLE>
 
similarity index 70%
rename from templates/it/choose-model.tmpl
rename to templates/ca/choose-model.tmpl
index d7e9357..d2adeb8 100644 (file)
@@ -1,6 +1,6 @@
 <DIV CLASS="indent">
 
-<H2 CLASS="title">{op=modify-printer?Modify {printer_name}:Aggiungi stampante}</H2>
+<H2 CLASS="title">{op=modify-printer?Modifica {printer_name}:Add Printer}</H2>
 
 <FORM METHOD="POST" ACTION="/admin" ENCTYPE="multipart/form-data">
 <INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
 <INPUT TYPE="HIDDEN" NAME="FLOW" VALUE="{?flow}">
 <TABLE>
 {op=modify-printer?:<TR>
-<TH CLASS="label">Nome:</TH>
+<TH CLASS="label">Nom:</TH>
 <TD><INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">{printer_name}</TD>
 </TR>}
 <TR>
-<TH CLASS="label">Descrizione:</TH>
+<TH CLASS="label">Descripci&oacute;:</TH>
 <TD><INPUT TYPE="HIDDEN" NAME="PRINTER_INFO" VALUE="{printer_info}">{printer_info}</TD>
 </TR>
 <TR>
-<TH CLASS="label">Posizione:</TH>
+<TH CLASS="label">Ubicaci&oacute;:</TH>
 <TD><INPUT TYPE="HIDDEN" NAME="PRINTER_LOCATION" VALUE="{printer_location}">{printer_location}</TD>
 </TR>
 <TR>
-<TH CLASS="label">Connessione:</TH>
+<TH CLASS="label">Connecci&oacute;:</TH>
 <TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
 </TR>
 <TR>
-<TH CLASS="label">Condivisione:</TH>
+<TH CLASS="label">Compartida:</TH>
 <TD><INPUT TYPE="HIDDEN" NAME="PRINTER_IS_SHARED" VALUE="{?printer_is_shared}">
-{?printer_is_shared=?Do Not:{?printer_is_shared=0?Do Not:}} Condividi stampante</TD>
+{?printer_is_shared=?Do Not:{?printer_is_shared=0?Do Not:}} Comparteix aquesta impressora</TD>
 </TR>
 <TR>
-<TH CLASS="label">Crea:</TH>
-<TD>{PPD_MAKE} <INPUT TYPE="SUBMIT" NAME="SELECT_MAKE" VALUE="Select Another Make/Manufacturer"></TD>
+<TH CLASS="label">Fabricant:</TH>
+<TD>{PPD_MAKE} <INPUT TYPE="SUBMIT" NAME="SELECT_MAKE" VALUE="Seleccioneu un altre fabricant"></TD>
 </TR>
 <TR>
-<TH CLASS="label">Modello:</TH>
+<TH CLASS="label">Model:</TH>
 <TD>
 <SELECT NAME="PPD_NAME" SIZE="10">
-{op=add-printer?:<OPTION VALUE="__no_change__" SELECTED>Driver corrente - {current_make_and_model}</OPTION>:}
+{op=add-printer?:<OPTION VALUE="__no_change__" SELECTED>Current Driver - {current_make_and_model}</OPTION>:}
 {[ppd_name]<OPTION VALUE="{ppd_name}" {op=modify-printer?:{?current_make_and_model={ppd_make_and_model}?SELECTED:}}>{ppd_make_and_model} ({ppd_natural_language})
 }</SELECT>
 </TD>
 </TR>
 <TR>
-<TH CLASS="label">O fornisci un file PPD:</TH>
+<TH CLASS="label">O indica un fitxer PPD:</TH>
 <TD><INPUT TYPE="HIDDEN" NAME="MAX_FILE_SIZE" VALUE="262144"><INPUT
 TYPE="FILE" NAME="PPD_FILE"></TD>
 </TR>
 <TR>
 <TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="{op=add-printer?Add Printer:Modifica stampante}"></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="{op=add-printer?Add Printer:Modifica la impressora}"></TD>
 </TR>
 </TABLE>
 
similarity index 50%
rename from templates/it/choose-serial.tmpl
rename to templates/ca/choose-serial.tmpl
index 106393a..e86f5a8 100644 (file)
@@ -1,6 +1,6 @@
 <DIV CLASS="indent">
 
-<H2 CLASS="title">{op=modify-printer?Modifica {printer_name}:Aggiungi stampante}</H2>
+<H2 CLASS="title">{op=modify-printer?Modifica {printer_name}:Add Printer}</H2>
 
 <FORM METHOD="POST" ACTION="/admin">
 <INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
@@ -9,42 +9,42 @@
 
 <TABLE>
 <TR>
-<TH CLASS="label">Connessione:</TH>
+<TH CLASS="label">Connexi&oacute;:</TH>
 <TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
 </TR>
 <TR>
-<TH CLASS="label">Velocit&agrave;:</TH>
+<TH CLASS="label">Velocitat:</TH>
 <TD><SELECT NAME="BAUDRATE">
 {[baudrates]<OPTION {?baudrate={baudrates}?SELECTED:}>{baudrates}}
 </SELECT></TD>
 </TR>
 <TR>
-<TH CLASS="label">Parit&agrave;:</TH>
+<TH CLASS="label">Paritat:</TH>
 <TD><SELECT NAME="PARITY">
-<OPTION VALUE="none" {?parity=none?SELECTED:}>Ne
-<OPTION VALUE="even" {?parity=even?SELECTED:}>Even
-<OPTION VALUE="odd" {?parity=odd?SELECTED:}>Odd
+<OPTION VALUE="none" {?parity=none?SELECTED:}>Cap
+<OPTION VALUE="even" {?parity=even?SELECTED:}>Parell
+<OPTION VALUE="odd" {?parity=odd?SELECTED:}>Senar
 </SELECT></TD>
 </TR>
 <TR>
-<TH CLASS="label">Data Bits:</TH>
+<TH CLASS="label">Bits de dades:</TH>
 <TD><SELECT NAME="BITS">
 <OPTION {?bits=8?SELECTED:}>8
 <OPTION {?bits=7?SELECTED:}>7
 </SELECT></TD>
 </TR>
 <TR>
-<TH CLASS="label">Flow Control:</TH>
+<TH CLASS="label">Control de flux:</TH>
 <TD><SELECT NAME="FLOW">
-<OPTION VALUE="none" {?flow=none?SELECTED:}>None
-<OPTION VALUE="soft" {?flow=soft?SELECTED:}>XON/XOFF (Software)
-<OPTION VALUE="hard" {?flow=hard?SELECTED:}>RTS/CTS (Hardware)
-<OPTION VALUE="dtrdsr" {?flow=dtrdsr?SELECTED:}>DTR/DSR (Hardware)
+<OPTION VALUE="none" {?flow=none?SELECTED:}>Cap
+<OPTION VALUE="soft" {?flow=soft?SELECTED:}>XON/XOFF (Programari)
+<OPTION VALUE="hard" {?flow=hard?SELECTED:}>RTS/CTS (Maquinari)
+<OPTION VALUE="dtrdsr" {?flow=dtrdsr?SELECTED:}>DTR/DSR (Maquinari)
 </SELECT></TD>
 </TR>
 <TR>
 <TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Continue"></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Continua"></TD>
 </TR>
 </TABLE>
 
similarity index 74%
rename from templates/it/choose-uri.tmpl
rename to templates/ca/choose-uri.tmpl
index 81b153a..630b1d3 100644 (file)
@@ -1,6 +1,6 @@
 <DIV CLASS="indent">
 
-<H2 CLASS="title">{op=modify-printer?Modifica {printer_name}:Aggiungi stampante}</H2>
+<H2 CLASS="title">{op=modify-printer?Modifica {printer_name}:Add Printer}</H2>
 
 <FORM METHOD="POST" ACTION="/admin">
 <INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
 
 <TABLE>
 <TR>
-<TH CLASS="label">Connection:</TH>
+<TH CLASS="label">Connexi&oacute;:</TH>
 <TD><INPUT TYPE="URL" SIZE="60" MAXLENGTH="1023" NAME="DEVICE_URI" VALUE="{current_device_uri?{current_device_uri}:{device_uri}}"></TD>
 </TR>
 <TR>
 <TD></TD>
-<TD>Esempi:
+<TD>Exemples:
 <PRE>
     http://hostname:631/ipp/
     http://hostname:631/ipp/port1
@@ -29,8 +29,7 @@
     socket://hostname:9100
 </PRE>
 
-<P>Vedere <A HREF="/help/network.html" TARGET="_blank">"Stampanti di 
-rete"</A> per l'URI corretto da utilizzare la stampante.</P>
+<P>Llegiu <A HREF="/help/network.html" TARGET="_blank">"Impressores de xarxa"</A> per saber quin URI heu de fer servir amb la vostre impressora.</P>
 
 </TD>
 </TR>
diff --git a/templates/ca/class-added.tmpl b/templates/ca/class-added.tmpl
new file mode 100644 (file)
index 0000000..8e8347c
--- /dev/null
@@ -0,0 +1,7 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Afegeix una classe</H2>
+
+<P>La classe <A HREF="/classes/{printer_name}">{printer_name}</A> s'ha afegit correctament.
+
+</DIV>
similarity index 63%
rename from templates/it/class-confirm.tmpl
rename to templates/ca/class-confirm.tmpl
index 4e99f45..905ac6f 100644 (file)
@@ -1,10 +1,10 @@
 <DIV CLASS="indent">
 
-<H2 CLASS="title">Elimina classe {printer_name}</H2>
+<H2 CLASS="title">Esborra la classe {printer_name}</H2>
 
-<P><B>Warning:</B> Sei sicuro di voler eliminare la classe
+<P><B>Av&iacute;s:</B> Esteu segur que voleu esborrar la classe
 {printer_name}?</P>
 
-<P ALIGN="CENTER"><FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="op" VALUE="delete-class"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}"><INPUT TYPE="SUBMIT" NAME="confirm" VALUE="Elimina classe"></FORM></P>
+<P ALIGN="CENTER"><FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="op" VALUE="delete-class"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}"><INPUT TYPE="SUBMIT" NAME="confirm" VALUE="Esborra la classe"></FORM></P>
 
 </DIV>
diff --git a/templates/ca/class-deleted.tmpl b/templates/ca/class-deleted.tmpl
new file mode 100644 (file)
index 0000000..3f0035f
--- /dev/null
@@ -0,0 +1,7 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Esborra la classe {printer_name}</H2>
+
+<P>La classe {printer_name} s'ha esborrat correctament.
+
+</DIV>
diff --git a/templates/ca/class-jobs-header.tmpl b/templates/ca/class-jobs-header.tmpl
new file mode 100644 (file)
index 0000000..90e640e
--- /dev/null
@@ -0,0 +1,3 @@
+<DIV CLASS="indent">
+<H3 CLASS="title">Tasques</H3>
+</DIV>
similarity index 51%
rename from templates/it/class-modified.tmpl
rename to templates/ca/class-modified.tmpl
index 04d4c84..6152ffa 100644 (file)
@@ -1,8 +1,7 @@
 <DIV CLASS="indent">
 
-<H2 CLASS="title">Modifica classe {printer_name}</H2>
+<H2 CLASS="title">Modifica la classe {printer_name}</H2>
 
-<P>La classe <A HREF="/classes/{printer_name}">{printer_name}</A> è stata
-modificata correttamente.
+<P>La classe <A HREF="/classes/{printer_name}">{printer_name}</A> s'ha modificat correctament.
 
 </DIV>
diff --git a/templates/ca/class.tmpl b/templates/ca/class.tmpl
new file mode 100644 (file)
index 0000000..6b39168
--- /dev/null
@@ -0,0 +1,44 @@
+<DIV CLASS="indent">
+<H2 CLASS="title"><A HREF="{printer_uri_supported}">{printer_name}</A>
+({printer_state=3?Inactiva:{printer_state=4?Processing:Paused}},
+{printer_is_accepting_jobs=0?No accepta tasques:Accepta tasques},
+{server_is_sharing_printers=0?No:{printer_is_shared=0?Not:}} Compartida{default_name={printer_name}?, Servidor per defecte:})</H2>
+
+<FORM METHOD="POST" ACTION="{printer_uri_supported}" NAME="maintenance">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<SELECT NAME="OP" ONCHANGE="document.maintenance.submit();">
+<OPTION VALUE="">Manteniment</OPTION>
+<OPTION VALUE="print-test-page">Imprimeix una p&agrave;gina de prova</OPTION>
+{printer_state=5?<OPTION VALUE="start-class">Resume Class</OPTION>:<OPTION VALUE="stop-class">Pausa la classe</OPTION>}
+{printer_is_accepting_jobs=0?<OPTION VALUE="accept-jobs">Accepta Tasques</OPTION>:<OPTION VALUE="reject-jobs">No acceptis tasques</OPTION>}
+<OPTION VALUE="move-jobs">Mou totes les tasques</OPTION>
+<OPTION VALUE="purge-jobs">Cancel&middot;a totes les tasques</OPTION>
+</SELECT>
+<INPUT TYPE="SUBMIT" VALUE="Go" STYLE="display: none;">
+</FORM>
+
+<FORM METHOD="POST" ACTION="{admin_uri}" NAME="administration">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">
+<INPUT TYPE="HIDDEN" NAME="IS_CLASS" VALUE="1">
+<SELECT NAME="OP" ONCHANGE="document.administration.submit();">
+<OPTION VALUE="">Administraci&oacute;</OPTION>
+<OPTION VALUE="modify-class">Modifica la classe</OPTION>
+<OPTION VALUE="delete-class">Esborra la classe</OPTION>
+<OPTION VALUE="set-class-options">Aplica les opcions per defecte</OPTION>
+<OPTION VALUE="set-as-default">Configura com a servidor per defecte</OPTION>
+<OPTION VALUE="set-allowed-users">Gestiona els permisos dels usuaris</OPTION>
+</SELECT>
+<INPUT TYPE="SUBMIT" VALUE="Go" STYLE="display: none;">
+</FORM>
+
+<TABLE SUMMARY="{printer_name}">
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Descripci&oacute;:</TH><TD>{printer_info}</TD></TR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Ubicaci&oacute:</TH><TD>{printer_location}</TD></TR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Membres:</TH><TD>{?member_uris=?None:{member_uris}}</TD></TR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Per defecte:</TH><TD>plantilles={job_sheets_default}
+mitj&agrave;={media_default?{media_default}:unknown}
+{sides_default?laterals={sides_default}:}</TD></TR>
+</TABLE>
+
+</DIV>
diff --git a/templates/ca/classes-header.tmpl b/templates/ca/classes-header.tmpl
new file mode 100644 (file)
index 0000000..47ad5ce
--- /dev/null
@@ -0,0 +1 @@
+<P ALIGN="CENTER">{total=0?No hi ha cap classe:Es mostr{total=1?a:en} {#printer_name} classe{total=1?:s} de {total}}.</P>
similarity index 50%
rename from templates/de/classes.tmpl
rename to templates/ca/classes.tmpl
index 1a919a8..bb5acf5 100644 (file)
@@ -1,11 +1,11 @@
 {#printer_name=0?:
 <TABLE CLASS="list" SUMMARY="Class List">
 <THEAD>
-<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&amp;WHICH_JOBS={?WHICH_JOBS}&amp;FIRST={FIRST}&amp;ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>&#x25b2;</SMALL> Wartweschlange <SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL> Warteschlange <SMALL>&#x25bc;</SMALL>}</A></TH><TH>Beschreibung</TH><TH>Ort</TH><TH>Mitglieder</TH><TH>Status</TH></TR>
+<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&amp;WHICH_JOBS={?WHICH_JOBS}&amp;FIRST={FIRST}&amp;ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>&#x25b2;</SMALL> Nom de la cua <SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL> Nom de la cua <SMALL>&#x25bc;</SMALL>}</A></TH><TH>Descripci&oacute;</TH><TH>Ubicaci&oacute;</TH><TH>Membres</TH><TH>Estat</TH></TR>
 </THEAD>
 <TBODY>
 {[printer_name]
-<TR><TD><A HREF="{printer_uri_supported}">{printer_name}</A></TD><TD>{printer_info}</TD><TD>{printer_location}</TD><TD>{?member_uris=?Keine:{member_uris}}</TD><TD>{printer_state=3?Frei:{printer_state=4?Besch&auml;ftigt:Angehalten}}{printer_state_message? - "{printer_state_message}":}</TD></TR>
+<TR><TD><A HREF="{printer_uri_supported}">{printer_name}</A></TD><TD>{printer_info}</TD><TD>{printer_location}</TD><TD>{?member_uris=?None:{member_uris}}</TD><TD>{printer_state=3?Idle:{printer_state=4?Processing:Paused}}{printer_state_message? - "{printer_state_message}":}</TD></TR>
 }
 </TBODY>
 </TABLE></DIV>}
diff --git a/templates/ca/command.tmpl b/templates/ca/command.tmpl
new file mode 100644 (file)
index 0000000..5cfd89f
--- /dev/null
@@ -0,0 +1,12 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">{title} a {printer_name}</H2>
+
+<P>{job_state>5?:<IMG SRC="/images/wait.gif" WIDTH="16" HEIGHT="16"
+ALIGN="ABSMIDDLE" ALT="Busy Indicator"> }Comanda de tasca de la impressora
+{job_state=3?pendent:{job_state=4?pausat:
+{job_state=5?processant:{job_state=6?aturat:
+{job_state=7?cancel·lat:{job_state=8?abortat:completat}}}}}}{job_state=9?:{job_printer_state_message?,
+<EM>"{job_printer_state_message}"</EM>:}}</P>
+
+</DIV>
similarity index 67%
rename from templates/de/edit-config.tmpl
rename to templates/ca/edit-config.tmpl
index f291313..e6e08f1 100644 (file)
@@ -7,7 +7,7 @@ function reset_config()
 
 <DIV CLASS="indent">
 
-<H2 CLASS="title">Konfigurationsdatei &auml;ndern</H2>
+<H2 CLASS="title">Edita el fitxer de configuraci&oacute;</H2>
 
 <FORM NAME="cups" METHOD="POST" ACTION="/admin/">
 <INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
@@ -15,8 +15,8 @@ function reset_config()
 
 <TEXTAREA NAME="CUPSDCONF" COLS="80" ROWS="25">{CUPSDCONF}</TEXTAREA>
 
-<P><INPUT TYPE="SUBMIT" NAME="SAVECHANGES" VALUE="&Auml;nderungen speichern">
-<INPUT TYPE="BUTTON" VALUE="Standard Konfigurationsdatei verwenden"
+<P><INPUT TYPE="SUBMIT" NAME="SAVECHANGES" VALUE="Desa els canvis">
+<INPUT TYPE="BUTTON" VALUE="Fes servir el fitxer de configuaci&oacute; per defecte"
 onClick="reset_config();"></P>
 
 </FORM>
similarity index 53%
rename from templates/de/error-op.tmpl
rename to templates/ca/error-op.tmpl
index d47e730..064e8b4 100644 (file)
@@ -2,8 +2,8 @@
 
 <H2 CLASS="title">{?title} {?printer_name} Error</H2>
 
-<P>Fehler:</P>
+<P>Error:</P>
 
-<BLOCKQUOTE>Unbekannte Operation "{op}"!</BLOCKQUOTE>
+<BLOCKQUOTE>Operaci&oacute; desconeguda "{op}"!</BLOCKQUOTE>
 
 </DIV>
similarity index 76%
rename from templates/de/error.tmpl
rename to templates/ca/error.tmpl
index 1a7f650..f04f03a 100644 (file)
@@ -2,7 +2,7 @@
 
 <H2 CLASS="title">{?title} {?printer_name} Error</H2>
 
-<P>{?message?{message}:Fehler:}</P>
+<P>{?message?{message}:Error}</P>
 
 <BLOCKQUOTE>{error}</BLOCKQUOTE>
 
similarity index 80%
rename from templates/id/header.tmpl.in
rename to templates/ca/header.tmpl.in
index b45d870..988d6bf 100644 (file)
 <TR HEIGHT="36">
 <TD><A HREF="http://www.cups.org/" TARGET="_blank"><IMG
 SRC="/images/left.gif" WIDTH="64" HEIGHT="36" BORDER="0" ALT=""></A></TD>
-<TD CLASS="unsel"><A HREF="/">&nbsp;&nbsp;Home&nbsp;&nbsp;</A></TD>
-<TD CLASS="{SECTION=admin?:un}sel"><A HREF="/admin">&nbsp;&nbsp;Administrasi&nbsp;&nbsp;</A></TD>
-<TD CLASS="{SECTION=classes?:un}sel"><A HREF="/classes/">&nbsp;&nbsp;Kelas&nbsp;&nbsp;</A></TD>
-<TD CLASS="{SECTION=help?:un}sel"><A HREF="/help/">&nbsp;&nbsp;Bantuan&nbsp;Langsung&nbsp;&nbsp;</A></TD>
-<TD CLASS="{SECTION=jobs?:un}sel"><A HREF="/jobs/">&nbsp;&nbsp;Tugas&nbsp;&nbsp;</A></TD>
-<TD CLASS="{SECTION=printers?:un}sel"><A HREF="/printers/">&nbsp;&nbsp;Pencetak&nbsp;&nbsp;</A></TD>
+<TD CLASS="unsel"><A HREF="/">&nbsp;&nbsp;Inici&nbsp;&nbsp;</A></TD>
+<TD CLASS="{SECTION=admin?:un}sel"><A HREF="/admin">&nbsp;&nbsp;Administraci&oacute;&nbsp;&nbsp;</A></TD>
+<TD CLASS="{SECTION=classes?:un}sel"><A HREF="/classes/">&nbsp;&nbsp;Classes&nbsp;&nbsp;</A></TD>
+<TD CLASS="{SECTION=help?:un}sel"><A HREF="/help/">&nbsp;&nbsp;Ajuda&nbsp;en&nbsp;l&iacute;nia&nbsp;&nbsp;</A></TD>
+<TD CLASS="{SECTION=jobs?:un}sel"><A HREF="/jobs/">&nbsp;&nbsp;Tasques&nbsp;&nbsp;</A></TD>
+<TD CLASS="{SECTION=printers?:un}sel"><A HREF="/printers/">&nbsp;&nbsp;Impressores&nbsp;&nbsp;</A></TD>
 <TD CLASS="unsel" WIDTH="100%"><FORM ACTION="/help/" METHOD="GET"><INPUT
 TYPE="SEARCH" NAME="QUERY" SIZE="20" PLACEHOLDER="Search Help"
 VALUE="{SECTION=help?{?QUERY}:}" AUTOSAVE="org.cups.help" RESULTS="20"></FORM></TD>
diff --git a/templates/ca/help-header.tmpl b/templates/ca/help-header.tmpl
new file mode 100644 (file)
index 0000000..54f2d22
--- /dev/null
@@ -0,0 +1,52 @@
+<DIV CLASS="indent">
+<FORM ACTION="/help/{?HELPFILE}" METHOD="GET">
+{TOPIC?<INPUT TYPE="HIDDEN" NAME="TOPIC" VALUE="{TOPIC}">:}
+
+<P ALIGN="CENTER"><B>Cerca a
+{HELPTITLE?{HELPTITLE}:{TOPIC?{TOPIC}:tots els documents}}:</B> <INPUT
+TYPE="SEARCH" NAME="QUERY" VALUE="{?QUERY}" SIZE="40" PLACEHOLDER=""
+AUTOSAVE="org.cups.help" RESULTS="20">
+<INPUT TYPE="SUBMIT" NAME="SEARCH" VALUE="Cerca">
+<INPUT TYPE="SUBMIT" NAME="CLEAR" VALUE="Esborra"></P>
+
+</FORM>
+
+<!-- Bookmarks -->
+<DIV CLASS="sidebar"><TABLE CLASS="inset" SUMMARY="Contents">
+<TR><TD>
+
+<H3 CLASS="title">Documents d'ajuda en l&iacute;nia</H3>
+
+<P CLASS="l0"><A HREF="/help/{QUERY??QUERY={QUERY}:}">Tots els documents</A></P>
+<HR>
+
+{[BMTEXT]<P CLASS="l{BMINDENT}"><A HREF="{BMLINK}">{BMTEXT}</A></P>
+}
+</TD></TR>
+</TABLE></DIV>
+
+{QUERY?<P>Resultats de la cerca a {HELPFILE?{HELPTITLE}:{TOPIC?{TOPIC}:tots els documents}}\:</P>
+{QTEXT?<UL>
+{[QTEXT]<LI><A HREF="{QLINK}">{QTEXT}</A>{QPTEXT? (in <I><A HREF="{QPLINK}">{QPTEXT}</A></I>):}</LI>}
+{QTEXT?</UL>:}
+:<P>No s'ha trobat cap coincid&egrave;ncia.</P>}
+<HR NOSHADE>:}
+{HELPTITLE?<H1>{HELPTITLE}</H1>
+<FORM ACTION="/help/{?HELPFILE}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="PRINTABLE" VALUE="YES"><INPUT TYPE="SUBMIT" VALUE="Mostra una versi&oacute; per imprimir"></FORM>:
+
+<H1>Ajuda en l&iacute;nia</H1>
+
+<P>Aquesta &eacute;s la interf&iacute;cie d'ajuda en l&iacute;nia de CUPS. 
+Introdu&iuml;u les paraules que vulgueu cercar aqu&iacute; dalt o feu clic als 
+enlla&ccedil;os de la documentaci&oacute; per mostrar la informaci&oacute; de
+l'ajuda en l&iacute;nia.</P>
+
+<P>Si sou nou a CUPS, llegiu la p&agrave;gina &laquo;<a
+href="/help/overview.html">Descripci&oacute; general de CUPS</a>&raquo;. Els 
+usuaris veterans haurien de llegir la p&agrave;gina &laquo;<a 
+href="/help/whatsnew.html">Que hi ha de nou a CUPS 1.6</a>&raquo;.</P>
+
+<P>La <A HREF="http://www.cups.org/">p&agrave;gina web de CUPS</A> tamb&eacute;
+dona cont&eacute; molts recursos que inclouen f&ograve;rums, respostes a les preguntes m&eacute;s
+freq&uuml;ents, i un formulari per enviar informes d'errors i demanar noves 
+caracter&iacute;stiques.</P>}
diff --git a/templates/ca/job-cancel.tmpl b/templates/ca/job-cancel.tmpl
new file mode 100644 (file)
index 0000000..a53ca2f
--- /dev/null
@@ -0,0 +1,7 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Cancel&middot;la la tasca {job_id}</H2>
+
+<P><A HREF="{job_printer_uri}">La tasca {job_id}</A> s'ha cancel&middot;lat.
+
+</DIV>
diff --git a/templates/ca/job-hold.tmpl b/templates/ca/job-hold.tmpl
new file mode 100644 (file)
index 0000000..e89b97f
--- /dev/null
@@ -0,0 +1,7 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Pausa la tasca {job_id}</H2>
+
+<P><A HREF="{job_printer_uri}">La tasca {job_id}</A> s'ha posat en pausa.
+
+</DIV>
similarity index 69%
rename from templates/it/job-move.tmpl
rename to templates/ca/job-move.tmpl
index 0a52ba2..1bca282 100644 (file)
@@ -5,11 +5,11 @@
 <INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
 {job_id?<INPUT TYPE="HIDDEN" NAME="JOB_ID" VALUE="{job_id}">:}
 
-<H2 CLASS="title">{job_id?Sposta la stampa {job_id}:Sposta tutte le stampe}</H2>
+<H2 CLASS="title">{job_id?Mou la tasca {job_id}:Mou totes les tasques}</H2>
 
 <TABLE>
 <TR>
-<TH CLASS="label">Nuova destinazione:</TH>
+<TH CLASS="label">Nova destinaci&oacute;:</TH>
 <TD>
 <SELECT NAME="JOB_PRINTER_URI" SIZE="10">
 {[job_printer_uri]<OPTION VALUE="{job_printer_uri}">{job_printer_name}}
@@ -18,7 +18,7 @@
 </TR>
 <TR>
 <TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="{job_id?Sposta stampa:Sposta stampe}"></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="{job_id?Mou la tasca:Mou les tasques}"></TD>
 </TR>
 </TABLE>
 
diff --git a/templates/ca/job-moved.tmpl b/templates/ca/job-moved.tmpl
new file mode 100644 (file)
index 0000000..1e538f9
--- /dev/null
@@ -0,0 +1,8 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">{job_id?Mou la tasca {job_id}:Mou totes les tasques}</H2>
+
+<P>{job_id?<A HREF="/jobs/{job_id}">La tasca s'ha {job_id}</A>:Totes les tasques s'han} mogut a
+<A HREF="/{is_class?classes:printers}/{job_printer_name}">{job_printer_name}</A>.</P>
+
+</DIV>
diff --git a/templates/ca/job-release.tmpl b/templates/ca/job-release.tmpl
new file mode 100644 (file)
index 0000000..db13e1d
--- /dev/null
@@ -0,0 +1,7 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Allibera la tasca {job_id}</H2>
+
+<P><A HREF="{job_printer_uri}">La tasca {job_id}</A> s'ha alliberat.
+
+</DIV>
diff --git a/templates/ca/job-restart.tmpl b/templates/ca/job-restart.tmpl
new file mode 100644 (file)
index 0000000..d40c1c2
--- /dev/null
@@ -0,0 +1,7 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Torna a imprimir la tasca {job_id}</H2>
+
+<P><A HREF="{job_printer_uri}">La tasca {job_id}</A> s'ha tornat a imprimir.
+
+</DIV>
similarity index 50%
rename from templates/it/jobs-header.tmpl
rename to templates/ca/jobs-header.tmpl
index 38538d1..3f785d5 100644 (file)
@@ -1,5 +1,5 @@
-<DIV CLASS="indent">{?which_jobs=?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Mostra stampe attive"></FORM>}
-{?which_jobs=completed?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="which_jobs" VALUE="completed"><INPUT TYPE="SUBMIT" VALUE="Mostra stampe completate"></FORM>}
-{?which_jobs=all?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="which_jobs" VALUE="all"><INPUT TYPE="SUBMIT" VALUE="Mostra tutte le stampe"></FORM>}</DIV>
+<DIV CLASS="indent">{?which_jobs=?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Mostra les tasques actives"></FORM>}
+{?which_jobs=completed?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="which_jobs" VALUE="completed"><INPUT TYPE="SUBMIT" VALUE="Mostra les tasques completades"></FORM>}
+{?which_jobs=all?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="which_jobs" VALUE="all"><INPUT TYPE="SUBMIT" VALUE="Mostra totes les tasques"></FORM>}</DIV>
 
-<P ALIGN="CENTER">{total=0?Nessuna stampa:Mostrat{total=1?a:e} {#job_id} di {total} stamp{total=1?a:e} {?which_jobs=?attiva:{which_jobs=all?:completata}} }.</P>
+<P ALIGN="CENTER">{total=0?No hi ha cap tasca:Es mostren {#job_id} tas{total=1?ca:ques} de {total} {?which_jobs=?active:{which_jobs=all?:completed}}}.</P>
similarity index 63%
rename from templates/id/jobs.tmpl
rename to templates/ca/jobs.tmpl
index 1cd13a0..2ec88e1 100644 (file)
@@ -1,33 +1,33 @@
 {#job_id=0?:
 <TABLE CLASS="list" SUMMARY="Job List">
 <THEAD>
-<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&amp;WHICH_JOBS={?WHICH_JOBS}&amp;FIRST={FIRST}&amp;ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>&#x25b2;</SMALL> ID <SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL> ID <SMALL>&#x25bc;</SMALL>}</A></TH><TH>Nama</TH><TH>Pengguna</TH><TH>Ukuran</TH><TH>Halaman</TH><TH>Status</TH><TH>Kontrol</TH></TR>
+<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&amp;WHICH_JOBS={?WHICH_JOBS}&amp;FIRST={FIRST}&amp;ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>&#x25b2;</SMALL> ID <SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL> ID <SMALL>&#x25bc;</SMALL>}</A></TH><TH>Nom</TH><TH>Usuari</TH><TH>Mida</TH><TH>P&agrave;gines</TH><TH>Estat</TH><TH>Control</TH></TR>
 </THEAD>
 <TBODY>
 {[job_id]
 <TR VALIGN="TOP">
-<TD><A HREF="{job_printer_uri}">{job_printer_name}</A>-{job_id}&nbsp;</TD>
-<TD>{?job_name=?Tak Dikenal:{job_name}}&nbsp;</TD>
-<TD>{job_originating_user_name}&nbsp;</TD>
+<TD><A HREF="{job_printer_uri}">{job_printer_name}</A>-{job_id}{?phone? ({phone}):}&nbsp;</TD>
+<TD>{?job_name=?Desconegut:{job_name}}&nbsp;</TD>
+<TD>{?job_originating_user_name=?Withheld:{job_originating_user_name}}&nbsp;</TD>
 <TD>{job_k_octets}k&nbsp;</TD>
-<TD>{job_media_sheets_completed=0?Tak Dikenal:{?job_media_sheets_completed}}&nbsp;</TD>
-<TD>{job_state=3?ditunda sejak<BR>{time_at_creation}:{job_state=4?ditahan sejak<BR>{time_at_creation}:
-{job_state=5?diproses sejak<BR>{time_at_processing}:{job_state=6?dihentikan:
-{job_state=7?dibatalkan pada<BR>{time_at_completed}:{job_state=8?dibatalkan:diselesaikan pada<BR>{time_at_completed}}}}}}}&nbsp;{job_printer_state_message?<BR>
+<TD>{job_media_sheets_completed=0?Desconegudes:{?job_media_sheets_completed}}&nbsp;</TD>
+<TD>{job_state=3?pendent des de<BR>{time_at_creation}:{job_state=4?pausada des de<BR>{time_at_creation}:
+{job_state=5?processant des de<BR>{time_at_processing}:{job_state=6?aturada:
+{job_state=7?cancel&middot;lada el<BR>{time_at_completed}:{job_state=8?avortada:completada el<BR>{time_at_completed}}}}}}}&nbsp;{job_printer_state_message?<BR>
 <EM>"{job_printer_state_message}"</EM>:}</TD>
 <TD>
 {job_preserved>0?{job_state>5?
-<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="restart-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}"><INPUT TYPE="SUBMIT" VALUE="Reprint Job"></FORM>:}:}
+<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="restart-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}"><INPUT TYPE="SUBMIT" VALUE="Torna a imprimir"></FORM>:}:}
 {job_state=4?
 <FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="release-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}">
-<INPUT TYPE="SUBMIT" VALUE="Release Job"></FORM>:}
+<INPUT TYPE="SUBMIT" VALUE="Allibera"></FORM>:}
 {job_state=3?
 <FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="hold-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}">
-<INPUT TYPE="SUBMIT" VALUE="Hold Job"></FORM>:}
+<INPUT TYPE="SUBMIT" VALUE="Pausa"></FORM>:}
 {job_state<7?
 <FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="cancel-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}">
-<INPUT TYPE="SUBMIT" VALUE="Cancel Job"></FORM>
-<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="move-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="SUBMIT" VALUE="Move Job"></FORM>:}
+<INPUT TYPE="SUBMIT" VALUE="Cancel&middot;la"></FORM>
+<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="move-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="SUBMIT" VALUE="Mou"></FORM>:}
 &nbsp;</TD>
 </TR>
 }
similarity index 79%
rename from templates/de/list-available-printers.tmpl
rename to templates/ca/list-available-printers.tmpl
index 08a0452..b771b5b 100644 (file)
@@ -1,10 +1,10 @@
 <DIV CLASS="indent">
 
-<H2 CLASS="title">Verf&uuml;gbare Drucker</H2>
+<H2 CLASS="title">Impressores disponibles</H2>
 
-{#device_uri=0?<P>Keine Drucker gefunden.</P>
+{#device_uri=0?<P>No s'ha trobat cap impressora.</P>
 :<UL>{[device_uri]
-<LI><FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-printer"><INPUT TYPE="HIDDEN" NAME="TEMPLATE_NAME" VALUE="{template_name}"><INPUT TYPE="HIDDEN" NAME="PRINTER_LOCATION" VALUE="Local Printer"><INPUT TYPE="HIDDEN" NAME="PRINTER_INFO" VALUE="{device_make_and_model}"><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}"><INPUT TYPE="SUBMIT" VALUE="Diesen Drucker hinzuf&uuml;gen"></FORM>
+<LI><FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-printer"><INPUT TYPE="HIDDEN" NAME="TEMPLATE_NAME" VALUE="{template_name}"><INPUT TYPE="HIDDEN" NAME="PRINTER_LOCATION" VALUE="Local Printer"><INPUT TYPE="HIDDEN" NAME="PRINTER_INFO" VALUE="{device_make_and_model}"><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}"><INPUT TYPE="SUBMIT" VALUE="Afegeix aquesta impressora"></FORM>
 {device_make_and_model} ({device_info})</LI>
 }</UL>}
 
similarity index 74%
rename from templates/pl/modify-class.tmpl
rename to templates/ca/modify-class.tmpl
index b8a2130..26a6284 100644 (file)
@@ -1,6 +1,6 @@
 <DIV CLASS="indent">
 
-<H2 CLASS="title">Modyfikowanie klasy {printer_name}</H2>
+<H2 CLASS="title">Modifica la classe {printer_name}</H2>
 
 <FORM METHOD="POST" ACTION="/admin">
 <INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
@@ -9,15 +9,15 @@
 
 <TABLE>
 <TR>
-<TH CLASS="label">Opis:</TH>
+<TH CLASS="label">Descripci&oacute;:</TH>
 <TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" VALUE="{?printer_info}" SIZE="40" MAXLENGTH="127"></TD>
 </TR>
 <TR>
-<TH CLASS="label">Położenie:</TH>
+<TH CLASS="label">Ubicaci&oacute;:</TH>
 <TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" VALUE="{?printer_location}" SIZE="40" MAXLENGTH="127"></TD>
 </TR>
 <TR>
-<TH CLASS="label">Członkowie:</TH>
+<TH CLASS="label">Membres:</TH>
 <TD>
 <SELECT NAME="MEMBER_URIS" SIZE="10" MULTIPLE>
 {[member_uris]<OPTION VALUE="{member_uris}" {?member_selected}>{member_names}}
@@ -26,7 +26,7 @@
 </TR>
 <TR>
 <TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Zmodyfikuj klasę"></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Modifica la classe"></TD>
 </TR>
 </TABLE>
 
similarity index 66%
rename from templates/pl/modify-printer.tmpl
rename to templates/ca/modify-printer.tmpl
index a63f478..3843016 100644 (file)
@@ -1,6 +1,6 @@
 <DIV CLASS="indent">
 
-<H2 CLASS="title">Modyfikowanie {printer_name}</H2>
+<H2 CLASS="title">Modifica {printer_name}</H2>
 
 <FORM METHOD="POST" ACTION="/admin">
 <INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
 
 <TABLE>
 <TR>
-<TH CLASS="label">Opis:</TH>
+<TH CLASS="label">Descripci&oacute;:</TH>
 <TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" VALUE="{?printer_info}" SIZE="40" MAXLENGTH="127"><BR>
-<SMALL>(Opis czytelny dla człowieka, taki jak "HP LaserJet z dupleksem")</SMALL></TD>
+<SMALL>(Una descripci&oacute; com ara &laquo;HP LaserJet de doble cara&raquo;)</SMALL></TD>
 </TR>
 <TR>
-<TH CLASS="label">Położenie:</TH>
+<TH CLASS="label">Ubicaci&oacute;:</TH>
 <TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" VALUE="{?printer_location}" SIZE="40" MAXLENGTH="127"><BR>
-<SMALL>(Położenie czytelne dla człowieka, takie jak "Laboratorium 1")</SMALL></TD>
+<SMALL>(Una ubicaci&oacute; com ara  &laquo;Laboratori 1&raquo;)</SMALL></TD>
 </TR>
 <TR>
-<TH CLASS="label">Połączenie:</TH>
+<TH CLASS="label">Connexi&oacute;:</TH>
 <TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
 </TR>
 <TR>
-<TH CLASS="label">Współdzielenie:</TH>
+<TH CLASS="label">Compartir:</TH>
 <TD><INPUT TYPE="CHECKBOX" NAME="PRINTER_IS_SHARED" {PRINTER_IS_SHARED=1?CHECKED:}>
-Share This Printer</TD>
+Comparteix aquesta impressora</TD>
 </TR>
 <TR>
 <TR>
 <TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Kontynuuj"></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Continua"></TD>
 </TR>
 </TABLE>
 
diff --git a/templates/ca/norestart.tmpl b/templates/ca/norestart.tmpl
new file mode 100644 (file)
index 0000000..5cdb7c4
--- /dev/null
@@ -0,0 +1,8 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Canvis en la configuraci&oacute;</H2>
+
+<P>El servidor no s'ha tornat a iniciar per que no hi ha canvis
+a la configuraci&oacute;...</P>
+
+</DIV>
diff --git a/templates/ca/option-conflict.tmpl b/templates/ca/option-conflict.tmpl
new file mode 100644 (file)
index 0000000..59b63e9
--- /dev/null
@@ -0,0 +1,7 @@
+<P><B>Error:</B> Les seg&uuml;ents opcions entren en conflicte:</P>
+
+<UL>
+{[ckeyword]<LI><A HREF="#{ckeyword}">{ckeytext}</A>: {cchoice}</LI>
+}</UL>
+
+<P>Canvieu algunes de les opcions per resoldre els conflictes.</P>
similarity index 59%
rename from templates/eu/option-pickone.tmpl
rename to templates/ca/option-pickone.tmpl
index 0e57a50..1b3c271 100644 (file)
@@ -6,12 +6,12 @@
 {iscustom=1?<TABLE NAME="paramtable" id="{keyword}-params">{[params]
 <TR><TH CLASS="sublabel">{paramtext}:</TH>
 <TD>{params=Units?<SELECT NAME="{keyword-1}.{params}">
-<OPTION VALUE="pt"{paramvalue=pt? SELECTED:}>Puntuak</OPTION>
-<OPTION VALUE="mm"{paramvalue=mm? SELECTED:}>Milimetroak</OPTION>
-<OPTION VALUE="cm"{paramvalue=cm? SELECTED:}>Zentimetroak</OPTION>
-<OPTION VALUE="in"{paramvalue=in? SELECTED:}>Hatzak</OPTION>
-<OPTION VALUE="ft"{paramvalue=ft? SELECTED:}>Oinak</OPTION>
-<OPTION VALUE="m"{paramvalue=m? SELECTED:}>Metroak</OPTION>
+<OPTION VALUE="pt"{paramvalue=pt? SELECTED:}>Punts</OPTION>
+<OPTION VALUE="mm"{paramvalue=mm? SELECTED:}>Mil&middot;l&iacute;metres</OPTION>
+<OPTION VALUE="cm"{paramvalue=cm? SELECTED:}>Cent&iacute;metres</OPTION>
+<OPTION VALUE="in"{paramvalue=in? SELECTED:}>Polzades</OPTION>
+<OPTION VALUE="ft"{paramvalue=ft? SELECTED:}>Peus</OPTION>
+<OPTION VALUE="m"{paramvalue=m? SELECTED:}>Metres</OPTION>
 </SELECT>:<INPUT TYPE="{inputtype}" NAME="{keyword-1}.{params}" VALUE="{paramvalue}">}</TD></TR>
 }</TABLE>
 </TD>:}
diff --git a/templates/ca/option-trailer.tmpl b/templates/ca/option-trailer.tmpl
new file mode 100644 (file)
index 0000000..11c4011
--- /dev/null
@@ -0,0 +1,5 @@
+</TABLE>
+
+<P ALIGN="CENTER"><INPUT TYPE="SUBMIT" VALUE="Configura els par&agrave;metres per defecte"></P>
+
+</DIV>
similarity index 75%
rename from templates/id/pager.tmpl
rename to templates/ca/pager.tmpl
index 00b6340..ab134f1 100644 (file)
@@ -1,6 +1,6 @@
 <TABLE CLASS="inset" SUMMARY="Paging Bar">
 <TR>
-       <TD WIDTH="50%">{PREV?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{?ORDER}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{PREV}"><INPUT TYPE="SUBMIT" VALUE="&#x25c0; Sebelumnya"></FORM>:&nbsp;}</TD>
-       <TD WIDTH="50%" ALIGN="RIGHT">{NEXT?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{?ORDER}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{NEXT}"><INPUT TYPE="SUBMIT" VALUE="Selanjutnya &#x25b6;"></FORM>:&nbsp;}</TD>
+       <TD WIDTH="50%">{PREV?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{?ORDER}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{PREV}"><INPUT TYPE="SUBMIT" VALUE="&#x25c0; Anterior"></FORM>:&nbsp;}</TD>
+       <TD WIDTH="50%" ALIGN="RIGHT">{NEXT?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{?ORDER}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{NEXT}"><INPUT TYPE="SUBMIT" VALUE="Seg&uuml;ent &#x25b6;"></FORM>:&nbsp;}</TD>
 </TR>
 </TABLE>
diff --git a/templates/ca/printer-accept.tmpl b/templates/ca/printer-accept.tmpl
new file mode 100644 (file)
index 0000000..0bd2a57
--- /dev/null
@@ -0,0 +1,9 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Accepta tasques a {is_class?la classe: la impressora} {printer_name}</H2>
+
+<P>{is_class?La classe:La impressora} <A
+HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
+ara accepta tasques.</P>
+
+</DIV>
diff --git a/templates/ca/printer-added.tmpl b/templates/ca/printer-added.tmpl
new file mode 100644 (file)
index 0000000..b5850aa
--- /dev/null
@@ -0,0 +1,8 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Afegeix una impressora</H2>
+
+<P>La impressora <A HREF="/printers/{printer_name}">{printer_name}</A> s'ha afegit
+correctament.
+
+</DIV>
diff --git a/templates/ca/printer-configured.tmpl b/templates/ca/printer-configured.tmpl
new file mode 100644 (file)
index 0000000..20880da
--- /dev/null
@@ -0,0 +1,6 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">S'ha aplicat la configuraci&oacute; per defecte a {printer_name}</H2>
+
+<P>Les opcions per defecte de la {OP=set-class-options?classe <A HREF="/classes/{printer_name}">:impressora <A HREF="/printers/{printer_name}">}{printer_name}</A> s'han establert correctament.
+</DIV>
similarity index 62%
rename from templates/it/printer-confirm.tmpl
rename to templates/ca/printer-confirm.tmpl
index e23071c..916bc30 100644 (file)
@@ -1,10 +1,10 @@
 <DIV CLASS="indent">
 
-<H2 CLASS="title">Elimina stampante {printer_name}</H2>
+<H2 CLASS="title">Elimina la impressora {printer_name}</H2>
 
-<P><B>Avviso:</B> Sei sicuro di voler eliminare la stampante
+<P><B>Av&iacute;s:</B> Esteu segur que voleu eliminar la impressora
 {printer_name}?</P>
 
-<P ALIGN="CENTER"><FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="delete-printer"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}"><INPUT TYPE="SUBMIT" NAME="confirm" VALUE="Elimina stampante"></FORM></P>
+<P ALIGN="CENTER"><FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="delete-printer"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}"><INPUT TYPE="SUBMIT" NAME="confirm" VALUE="Elimina la impressora"></FORM></P>
 
 </DIV>
diff --git a/templates/ca/printer-default.tmpl b/templates/ca/printer-default.tmpl
new file mode 100644 (file)
index 0000000..76f7ddf
--- /dev/null
@@ -0,0 +1,12 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Estableix {is_class?Class:Printer} {printer_name} com a predeterminada</H2>
+
+<P>{is_class?Class:Printer} <A
+HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
+s'ha establert com a impressora predeterminada.</P>
+
+<BLOCKQUOTE><B>Nota:</B> Qualsevol usuari que hagi estat establert mitjan&ccedil;ant 
+la comanda <TT>lpoptions</TT> sobreescriur&agrave; aquesta configuraci&oacute; predeterminada.</BLOCKQUOTE>
+
+</DIV>
diff --git a/templates/ca/printer-deleted.tmpl b/templates/ca/printer-deleted.tmpl
new file mode 100644 (file)
index 0000000..695ab67
--- /dev/null
@@ -0,0 +1,7 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Elimina la impressora {printer_name}</H2>
+
+<P>La impressora {printer_name} s'ha eliminat correctament.
+
+</DIV>
diff --git a/templates/ca/printer-jobs-header.tmpl b/templates/ca/printer-jobs-header.tmpl
new file mode 100644 (file)
index 0000000..90e640e
--- /dev/null
@@ -0,0 +1,3 @@
+<DIV CLASS="indent">
+<H3 CLASS="title">Tasques</H3>
+</DIV>
diff --git a/templates/ca/printer-modified.tmpl b/templates/ca/printer-modified.tmpl
new file mode 100644 (file)
index 0000000..efbbc3b
--- /dev/null
@@ -0,0 +1,8 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Modifica la impressora {printer_name}</H2>
+
+<P>La impressora <A HREF="/printers/{printer_name}">{printer_name}</A> s'ha
+modificat correctament.
+
+</DIV>
diff --git a/templates/ca/printer-purge.tmpl b/templates/ca/printer-purge.tmpl
new file mode 100644 (file)
index 0000000..980d883
--- /dev/null
@@ -0,0 +1,8 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Cancel&middot;la les tasques de {is_class?la classe:la impressora} {printer_name}</H2>
+
+<P>S'han cancel&middot;lat totes les tasques de{is_class?la classe:la impressora} <A
+HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>.</P>
+
+</DIV>
diff --git a/templates/ca/printer-reject.tmpl b/templates/ca/printer-reject.tmpl
new file mode 100644 (file)
index 0000000..6269cf2
--- /dev/null
@@ -0,0 +1,9 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Refusa les tasques a {is_class?la classe:la impressora} {printer_name}</H2>
+
+<P>{is_class?La classe:la impressora} <A
+HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
+no accepta tasques a partir d'ara.</P>
+
+</DIV>
diff --git a/templates/ca/printer-start.tmpl b/templates/ca/printer-start.tmpl
new file mode 100644 (file)
index 0000000..6986fd4
--- /dev/null
@@ -0,0 +1,9 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Repr&egrave;n {is_class?la classe:la impressora} {printer_name}</H2>
+
+<P>{is_class?La classe:La impressora} <A
+HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
+ha repr&egrave;s les tasques.</P>
+
+</DIV>
diff --git a/templates/ca/printer-stop.tmpl b/templates/ca/printer-stop.tmpl
new file mode 100644 (file)
index 0000000..af89331
--- /dev/null
@@ -0,0 +1,9 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Pausa {is_class?la classe:la impressora} {printer_name}</H2>
+
+<P>{is_class?La classe:La impressora} <A
+HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
+s'ha posat en pausa.</P>
+
+</DIV>
diff --git a/templates/ca/printer.tmpl b/templates/ca/printer.tmpl
new file mode 100644 (file)
index 0000000..2500001
--- /dev/null
@@ -0,0 +1,47 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title"><A HREF="{printer_uri_supported}">{printer_name}</A>
+({printer_state=3?Inactiva:{printer_state=4?Processant:En pausa}},
+{printer_is_accepting_jobs=0?Refusa les tasques:Accepta tasques},
+{server_is_sharing_printers=0?No:{printer_is_shared=0?No:}} Compartida{default_name={printer_name}?, Servidor per defecte:})</H2>
+
+<FORM METHOD="POST" ACTION="{printer_uri_supported}" NAME="maintenance">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<SELECT NAME="OP" ONCHANGE="document.maintenance.submit();">
+<OPTION VALUE="">Manteniment</OPTION>
+<OPTION VALUE="print-test-page">Imprimeix una p&agrave;gina de prova</OPTION>
+{printer_commands~.*Clean.*?<OPTION VALUE="clean-print-heads">Neteja els cap&ccedil;als</OPTION>:}
+{printer_commands~.*PrintSelfTestPage.*?<OPTION VALUE="print-self-test-page">Imprimeix la p&agrave;gina de prova pr&ograve;pia</OPTION>:}
+{printer_state=5?<OPTION VALUE="start-printer">Repr&egrave;n la impressora</OPTION>:<OPTION VALUE="stop-printer">Pausa la impressora</OPTION>}
+{printer_is_accepting_jobs=0?<OPTION VALUE="accept-jobs">Accepta tasques</OPTION>:<OPTION VALUE="reject-jobs">Refusa les tasques</OPTION>}
+<OPTION VALUE="move-jobs">Mou totes les tasques</OPTION>
+<OPTION VALUE="purge-jobs">Cancel&middot;la totes les tasques</OPTION>
+</SELECT>
+<INPUT TYPE="SUBMIT" VALUE="Go" STYLE="display: none;">
+</FORM>
+
+<FORM METHOD="POST" ACTION="{admin_uri}" NAME="administration">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">
+<SELECT NAME="OP" ONCHANGE="document.administration.submit();">
+<OPTION VALUE="">Administraci&oacute;</OPTION>
+<OPTION VALUE="modify-printer">Modifica la impressora</OPTION>
+<OPTION VALUE="delete-printer">Elimina la impressora</OPTION>
+<OPTION VALUE="set-printer-options">Torna a les opcions per defecte</OPTION>
+<OPTION VALUE="set-as-default">Configura com a servidor per defecte</OPTION>
+<OPTION VALUE="set-allowed-users">Configura els permisos dels usuaris</OPTION>
+</SELECT>
+<INPUT TYPE="SUBMIT" VALUE="Go" STYLE="display: none;">
+</FORM>
+
+<TABLE SUMMARY="{printer_name}">
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Descripci&oacute;:</TH><TD>{printer_info}</TD></TR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Ubicaci&oacute;:</TH><TD>{printer_location}</TD></TR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Controlador:</TH><TD>{printer_make_and_model} ({color_supported=1?color:escala de grisos}{sides_supported?, impressió a doble cara:})<BR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Connexi&oacute;:</TH><TD>{device_uri}</TD></TR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Configuraci&oacute; per defecte:</TH><TD>Fulls de tasques={job_sheets_default}
+safata={media_default?{media_default}:desconeguda}
+{sides_default?cares={sides_default}:}</TD></TR>
+</TABLE>
+
+</DIV>
diff --git a/templates/ca/printers-header.tmpl b/templates/ca/printers-header.tmpl
new file mode 100644 (file)
index 0000000..52eaa2f
--- /dev/null
@@ -0,0 +1 @@
+<P ALIGN="CENTER">{total=0?Cap impressora:Es mostr{#printer_name=1?a:en} {#printer_name} de {total} impressor{total=1?a:es}}.</P>
similarity index 54%
rename from templates/id/printers.tmpl
rename to templates/ca/printers.tmpl
index 3aa4d0d..d978c17 100644 (file)
@@ -1,11 +1,11 @@
 {#printer_name=0?:
 <TABLE CLASS="list" SUMMARY="Printer List">
 <THEAD>
-<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&amp;WHICH_JOBS={?WHICH_JOBS}&amp;FIRST={FIRST}&amp;ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>&#x25b2;</SMALL> Nama Antrian <SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL> Nama Antrian <SMALL>&#x25bc;</SMALL>}</A></TH><TH>Deskripsi</TH><TH>Lokasi</TH><TH>Pembuat dan Model</TH><TH>Status</TH></TR>
+<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&amp;WHICH_JOBS={?WHICH_JOBS}&amp;FIRST={FIRST}&amp;ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>&#x25b2;</SMALL> Nom <SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL> Nom <SMALL>&#x25bc;</SMALL>}</A></TH><TH>Descripci&oacute;</TH><TH>Ubicaci&oacute</TH><TH>Marca i model</TH><TH>Estat</TH></TR>
 </THEAD>
 <TBODY>
 {[printer_name]
-<TR><TD><A HREF="{printer_uri_supported}">{printer_name}</A></TD><TD>{printer_info}</TD><TD>{printer_location}</TD><TD>{printer_make_and_model}</TD><TD>{printer_state=3?Menganggur:{printer_state=4?Memproses:Berhenti}}{printer_state_message? - "{printer_state_message}":}</TD></TR>
+<TR><TD><A HREF="{printer_uri_supported}">{printer_name}</A></TD><TD>{printer_info}</TD><TD>{printer_location}</TD><TD>{printer_make_and_model}</TD><TD>{printer_state=3?Preparada:{printer_state=4?Processant:En pausa}}{printer_state_message? - "{printer_state_message}":}</TD></TR>
 }
 </TBODY>
 </TABLE></DIV>}
diff --git a/templates/ca/restart.tmpl b/templates/ca/restart.tmpl
new file mode 100644 (file)
index 0000000..4e3983f
--- /dev/null
@@ -0,0 +1,8 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Canvis en la configuraci&oacute;</H2>
+
+<P><IMG SRC="/images/wait.gif" WIDTH="16" HEIGHT="16" ALIGN="ABSMIDDLE"
+ALT="Busy Indicator"> Espereu mentre es torna a iniciar el servidor...</P>
+
+</DIV>
diff --git a/templates/ca/samba-export.tmpl b/templates/ca/samba-export.tmpl
new file mode 100644 (file)
index 0000000..2b16e1e
--- /dev/null
@@ -0,0 +1,55 @@
+<SCRIPT TYPE="text/javascript"><!--
+function select_printers() {
+  var list = document.export_samba.EXPORT_NAME;
+  var sel = document.export_samba.EXPORT_ALL.checked;
+
+  for (i = 0; i < list.length; i ++) {
+    list.options[i].selected = sel;
+  }
+}
+--></SCRIPT>
+
+<FORM METHOD="POST" ACTION="/admin/" NAME="export_samba">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="export-samba">
+
+<H2 CLASS="title">Exporta les impressores al Samba</H2>
+
+{error?<P>No es pot exportar les impressores al Samba\:</P>
+<BLOCKQUOTE>{error}</BLOCKQUOTE>
+<P>Consulteu el fitxer <A HREF="/admin/log/error_log"
+TARGET="_blank">error_log</A> per obtenir m&eacute;s informaci&oacute;.</P>:
+<P>Aquesta p&agrave;gina us permet exportar les impressores al Samba per tal que
+els clients de Windows puguin accedir-hi a trav&eacute;s de les icones <VAR>Xarxa
+ve&iuml;na</VAR> o <VAR>Llocs de la xarxa</VAR> del seu
+escriptori. Abans heu d'instal&middot;lar el controlador d'impressores Windows PostScript
+tal i com s'explica a la p&agrave;gina del manual <A
+HREF="/help/man-cupsaddsmb.html"
+TARGET="_blank">cupsaddsmb(8)</A>.</P>}
+
+<TABLE>
+<TR>
+<TH CLASS="label">Impressores:</TH>
+<TD>
+<SELECT NAME="EXPORT_NAME" SIZE="10" MULTIPLE>
+{[printer_name]<OPTION VALUE="{printer_name}"{export_all? SELECTED:{printer_export? SELECTED:}}>{printer_name}}
+</SELECT><BR>
+<INPUT TYPE="CHECKBOX" NAME="EXPORT_ALL"{export_all? CHECKED:}
+onChange="select_printers()"> Exporta totes les impressores
+</TD>
+</TR>
+<TR>
+<TH CLASS="label">Nom de l'usuari del Samba:</TH>
+<TD><INPUT TYPE="TEXT" NAME="USERNAME" VALUE="{?USERNAME}"> (necessari)</TD>
+</TR>
+<TR>
+<TH CLASS="label">Contrasenya del Samba:</TH>
+<TD><INPUT TYPE="PASSWORD" NAME="PASSWORD" VALUE=""> (necess&agrave;ria)</TD>
+</TR>
+<TR>
+<TD></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Exporta les impressores al Samba"></TD>
+</TR>
+</TABLE>
+
+</FORM>
diff --git a/templates/ca/samba-exported.tmpl b/templates/ca/samba-exported.tmpl
new file mode 100644 (file)
index 0000000..7ea9857
--- /dev/null
@@ -0,0 +1 @@
+<P>Les impressores s'han exportat correctament al Samba.</P>
similarity index 72%
rename from templates/it/search.tmpl
rename to templates/ca/search.tmpl
index c71a9dd..b76afaa 100644 (file)
@@ -2,9 +2,9 @@
 {WHICH_JOBS?<INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{WHICH_JOBS}">:}
 {ORDER?<INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{ORDER}">:}
 
-<P ALIGN="CENTER"><B>Cerca in
-{SEARCH_DEST?{SEARCH_DEST}:{SECTION=classes?Classi:{SECTION=jobs?Stampe:Stampanti}}}:</B>
+<P ALIGN="CENTER"><B>Cerca a les 
+{SEARCH_DEST?{SEARCH_DEST}:{SECTION=classes?classes:{SECTION=jobs?tasques:impressores}}}:</B>
 <INPUT TYPE="SEARCH" NAME="QUERY" VALUE="{?QUERY}" SIZE="40"  PLACEHOLDER="" AUTOSAVE="org.cups.{SECTION}" RESULTS="20"> <INPUT
-TYPE="SUBMIT" VALUE="Cerca"> <INPUT TYPE="SUBMIT" NAME="CLEAR" VALUE="Cancella"></P>
+TYPE="SUBMIT" VALUE="Cerca"> <INPUT TYPE="SUBMIT" NAME="CLEAR" VALUE="Neteja"></P>
 
 </FORM>
similarity index 86%
rename from templates/pl/set-printer-options-header.tmpl
rename to templates/ca/set-printer-options-header.tmpl
index 58e5b85..b4a4a4e 100644 (file)
@@ -1,12 +1,12 @@
 <DIV CLASS="indent">
 
-<H2 CLASS="title">Ustawianie domyślnych opcji dla {printer_name}</H2>
+<H2 CLASS="title">Aplica les opcions per defecte a {printer_name}</H2>
 
 <FORM METHOD="POST" ACTION="/admin">
 <INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
 <INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">
 <INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-{HAVE_AUTOCONFIGURE?<INPUT TYPE="SUBMIT" NAME="AUTOCONFIGURE" VALUE="Pobierz domyślne ustawienia drukarki">:}
+{HAVE_AUTOCONFIGURE?<INPUT TYPE="SUBMIT" NAME="AUTOCONFIGURE" VALUE="Demana a la impressora les opcions per defecte">:}
 
 <SCRIPT TYPE="text/javascript"><!--
 function update_paramtable(option)
diff --git a/templates/ca/subscription-added.tmpl b/templates/ca/subscription-added.tmpl
new file mode 100644 (file)
index 0000000..067132f
--- /dev/null
@@ -0,0 +1,5 @@
+<DIV CLASS="indent">
+
+<P>La subscripci&oacute; {subscription_name} s'ha afegit correctament.</P>
+
+</DIV>
diff --git a/templates/ca/subscription-canceled.tmpl b/templates/ca/subscription-canceled.tmpl
new file mode 100644 (file)
index 0000000..8a93b4c
--- /dev/null
@@ -0,0 +1,5 @@
+<DIV CLASS="indent">
+
+<P>La subscripci&oacute; #{notify_subscription_id} s'ha cancel&middot;lat.</P>
+
+</DIV>
diff --git a/templates/ca/test-page.tmpl b/templates/ca/test-page.tmpl
new file mode 100644 (file)
index 0000000..2a4b776
--- /dev/null
@@ -0,0 +1,8 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Imprimeix una p&agrave;gina de prova a {printer_name}</H2>
+
+<P>S'ha enviat la p&agrave;gina de prova; l'ID de la tasca &eacute;s <A HREF="/{SECTION}/{printer_name}">
+{printer_name}-{job_id}</A>.</P>
+
+</DIV>
diff --git a/templates/ca/trailer.tmpl b/templates/ca/trailer.tmpl
new file mode 100644 (file)
index 0000000..f75af72
--- /dev/null
@@ -0,0 +1,8 @@
+</TD></TR>
+<TR><TD>&nbsp;</TD></TR>
+<TR><TD CLASS="trailer">CUPS i el logotip de CUPS s&oacute;n marques registrades per
+<A HREF="http://www.apple.com">Apple Inc.</A> CUPS t&eacute; copyright 2007-2013 Apple
+Inc. Tots els drets reservats.</TD></TR>
+</TABLE>
+</BODY>
+</HTML>
similarity index 67%
rename from templates/it/users.tmpl
rename to templates/ca/users.tmpl
index 34d8adb..cceeb02 100644 (file)
@@ -6,22 +6,22 @@
 <INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">
 {IS_CLASS?<INPUT TYPE="HIDDEN" NAME="IS_CLASS" VALUE="{IS_CLASS}">:}
 
-<H2 CLASS="title">Utenti autorizzati per {printer_name}</H2>
+<H2 CLASS="title">Usuaris amb permisos per {printer_name}</H2>
 
 <TABLE>
 <TR>
-<TH CLASS="label">Utenti:</TH>
+<TH CLASS="label">Usuaris:</TH>
 <TD>
 <INPUT TYPE='TEXT' NAME='users' SIZE='60' VALUE='{?requesting_user_name_allowed}{?requesting_user_name_denied}'>
 <BR>
-<INPUT TYPE='RADIO' NAME='type' VALUE='requesting-user-name-allowed' {requesting_user_name_allowed?checked:}>Consenti a questi utenti di stampare
-<INPUT TYPE='RADIO' NAME='type' VALUE='requesting-user-name-denied' {requesting_user_name_denied?checked:}>Vieta a questi utenti di stampare
+<INPUT TYPE='RADIO' NAME='type' VALUE='requesting-user-name-allowed' {requesting_user_name_allowed?checked:}>Permet imprimir a aquests usuaris
+<INPUT TYPE='RADIO' NAME='type' VALUE='requesting-user-name-denied' {requesting_user_name_denied?checked:}>No permetis imprimir a aquests usuaris
 </TD>
 </TR>
 <TR>
 <TD></TD>
 <TD>
-<INPUT TYPE="SUBMIT" VALUE="Imposta utenti autorizzati">
+<INPUT TYPE="SUBMIT" VALUE="Aplica els permisos">
 </TD>
 </TR>
 </TABLE>
similarity index 57%
rename from templates/id/add-class.tmpl
rename to templates/cs/add-class.tmpl
index 55f90ad..06bb9ad 100644 (file)
@@ -1,6 +1,6 @@
 <DIV CLASS="indent">
 
-<H2 CLASS="title">Tambah Kelas</H2>
+<H2 CLASS="title">Přidat třídu</H2>
 
 <FORM METHOD="POST" ACTION="/admin">
 <INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
@@ -8,22 +8,22 @@
 
 <TABLE>
 <TR>
-<TH CLASS="label">Nama:</TH>
+<TH CLASS="label">Název:</TH>
 <TD><INPUT TYPE="TEXT" NAME="PRINTER_NAME" SIZE="40" MAXLENGTH="127"><BR>
-<SMALL>(Karakter apa saja yang dapat dicetak, kecuali "/", "#", dan spasi)</SMALL></TD>
+<SMALL>(Může obsahovat libovolné tisknutelné znaky kromě "/", "#" a mezery)</SMALL></TD>
 </TR>
 <TR>
-<TH CLASS="label">Deskripsi:</TH>
+<TH CLASS="label">Popis:</TH>
 <TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" SIZE="40" MAXLENGTH="127"><BR>
-<SMALL>(Deskripsi yang mudah dibaca, seperti "HP LaserJet dengan Duplexer")</SMALL></TD>
+<SMALL>(Srozumitelný popis)</SMALL></TD>
 </TR>
 <TR>
-<TH CLASS="label">Lokasi:</TH>
+<TH CLASS="label">Umístění:</TH>
 <TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" SIZE="40" MAXLENGTH="127"><BR>
-<SMALL>(Lokasi yang mudah dibaca, seperti "Lab 1")</SMALL></TD>
+<SMALL>(Srozumitelný popis umístění)</SMALL></TD>
 </TR>
 <TR>
-<TH CLASS="label">Anggota:</TH>
+<TH CLASS="label">členové:</TH>
 <TD>
 <SELECT NAME="MEMBER_URIS" SIZE="10" MULTIPLE>
 {[member_uris]<OPTION VALUE="{member_uris}" {?member_selected}>{member_names}}
@@ -32,9 +32,9 @@
 </TR>
 <TR>
 <TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Tambah Kelas"></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Přidat třídu"></TD>
 </TR>
 </TABLE>
 
 </FORM>
-</DIV>
+</DIV>
\ No newline at end of file
similarity index 67%
rename from templates/de/add-printer.tmpl
rename to templates/cs/add-printer.tmpl
index 15380b9..1e557d2 100644 (file)
@@ -1,6 +1,6 @@
 <DIV CLASS="indent">
 
-<H2 CLASS="title">Drucker hinzuf&uuml;gen</H2>
+<H2 CLASS="title">Přidat tiskárnu</H2>
 
 <FORM METHOD="POST" ACTION="/admin">
 <INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
 
 <TABLE>
 <TR>
-<TH CLASS="label">Name:</TH>
+<TH CLASS="label">Název:</TH>
 <TD><INPUT TYPE="TEXT" NAME="PRINTER_NAME" SIZE="40" MAXLENGTH="127" VALUE="{?template_name}"><BR>
-<SMALL>(Darf alle druckbaren Zeichen au&szlig;er "/", "#", und Leerzeichen enthalten)</SMALL></TD>
+<SMALL>(Může obsahovat libovolné tisknutelné znaky kromě "/", "#" a mezery)</SMALL></TD>
 </TR>
 <TR>
-<TH CLASS="label">Beschreibung:</TH>
+<TH CLASS="label">Popis:</TH>
 <TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" SIZE="40" MAXLENGTH="127" VALUE="{?PRINTER_INFO}"><BR>
-<SMALL>(F&uuml;r Menschen lesbare Beschreibung wie "HP LaserJet with Duplexer")</SMALL></TD>
+<SMALL>(Srozumitelný popis)</SMALL></TD>
 </TR>
 <TR>
-<TH CLASS="label">Ort:</TH>
+<TH CLASS="label">Umístění:</TH>
 <TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" SIZE="40" MAXLENGTH="127" VALUE="{?PRINTER_LOCATION}"><BR>
-<SMALL>(F&uuml;r Menschen lesbarer Ort wie "Lab 1")</SMALL></TD>
+<SMALL>(Srozumitelný popis umístění)</SMALL></TD>
 </TR>
 <TR>
-<TH CLASS="label">Verbindung:</TH>
+<TH CLASS="label">Připojení:</TH>
 <TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
 </TR>
 <TR>
-<TH CLASS="label">Freigabe:</TH>
+<TH CLASS="label">Sdílení:</TH>
 <TD><INPUT TYPE="CHECKBOX" NAME="PRINTER_IS_SHARED" {PRINTER_IS_SHARED=1?CHECKED:}>
-Diesen Drucker freigeben</TD>
+sdílet tuto tiskárnu</TD>
 </TR>
 <TR>
 <TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Weiter"></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Pokračovat"></TD>
 </TR>
 </TABLE>
 
 </FORM>
-</DIV>
+</DIV>
\ No newline at end of file
similarity index 58%
rename from templates/id/add-rss-subscription.tmpl
rename to templates/cs/add-rss-subscription.tmpl
index bf8f964..d1568f7 100644 (file)
@@ -2,42 +2,42 @@
 <INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
 <INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-rss-subscription">
 
-<H2 CLASS="title">Tambah Subskripsi RSS</H2>
+<H2 CLASS="title">Přidat RSS předplatné</H2>
 
 <TABLE SUMMARY="Add RSS Subscription form">
 <TR>
-<TH CLASS="label">Nama:</TH>
+<TH CLASS="label">Název:</TH>
 <TD COLSPAN="5"><INPUT TYPE="TEXT" NAME="SUBSCRIPTION_NAME" SIZE="40" MAXLENGTH="127" VALUE="{?SUBSCRIPTION_NAME}"><BR>
-<SMALL>(Karakter apa saja yang dapat dicetak, kecuali "/", "#", dan spasi)</SMALL></TD>
+<SMALL>(Může obsahovat libovolné tisknutelné znaky s výjimkou mezery, "/", "?" a "#")</SMALL></TD>
 </TR>
 <TR>
-<TH CLASS="label">Antrian:</TH>
-<TD COLSPAN="5"><SELECT NAME="PRINTER_URI" SIZE="10"><OPTION VALUE="#ALL#"{?PRINTER_URI=#ALL#? SELECTED:}>Semua Antrian</OPTION>{[printer_name]<OPTION VALUE="{printer_uri_supported}"{?PRINTER_URI={printer_uri_supported}? SELECTED:}>{printer_name}</OPTION>}</SELECT></TD>
+<TH CLASS="label">Fronta:</TH>
+<TD COLSPAN="5"><SELECT NAME="PRINTER_URI" SIZE="10"><OPTION VALUE="#ALL#"{?PRINTER_URI=#ALL#? SELECTED:}>Všechny fronty</OPTION>{[printer_name]<OPTION VALUE="{printer_uri_supported}"{?PRINTER_URI={printer_uri_supported}? SELECTED:}>{printer_name}</OPTION>}</SELECT></TD>
 </TR>
 <TR VALIGN="TOP">
-<TH CLASS="label">Kejadian:</TH>
-<TD><INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_CREATED" {?EVENT_JOB_CREATED}>Tugas Dibuat<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_COMPLETED" {?EVENT_JOB_COMPLETED}>Tugas Selesai<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_STOPPED" {?EVENT_JOB_STOPPED}>Tugas Berhenti<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_CONFIG_CHANGED" {?EVENT_JOB_CONFIG_CHANGED}>Opsi Tugas Berubah</TD>
+<TH CLASS="label">Události:</TH>
+<TD><INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_CREATED" {?EVENT_JOB_CREATED}>Vytvoření úlohy<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_COMPLETED" {?EVENT_JOB_COMPLETED}>Dokončení úlohy<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_STOPPED" {?EVENT_JOB_STOPPED}>Zastavení úlohy<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_CONFIG_CHANGED" {?EVENT_JOB_CONFIG_CHANGED}>Změna parametrů úlohy</TD>
 <TD>&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-<TD><INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_STOPPED" {?EVENT_PRINTER_STOPPED}>Antrian Berhenti<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_ADDED" {?EVENT_PRINTER_ADDED}>Antrian Ditambah<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_MODIFIED" {?EVENT_PRINTER_MODIFIED}>Antrian Berubah<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_DELETED" {?EVENT_PRINTER_DELETED}>Antrian Dihapus</TD>
+<TD><INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_STOPPED" {?EVENT_PRINTER_STOPPED}>Zastavení fronty<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_ADDED" {?EVENT_PRINTER_ADDED}>Přidání fronty<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_MODIFIED" {?EVENT_PRINTER_MODIFIED}>Změna fronty<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_DELETED" {?EVENT_PRINTER_DELETED}>Vymazání fronty</TD>
 <TD>&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-<TD><INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_STARTED" {?EVENT_SERVER_STARTED}>Server Dimulai<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_STOPPED" {?EVENT_SERVER_STOPPED}>Server Berhenti<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_RESTARTED" {?EVENT_SERVER_RESTARTED}>Server Dijalankan Ulang<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_AUDIT" {?EVENT_SERVER_AUDIT}>Audit Keamanan Server</TD>
+<TD><INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_STARTED" {?EVENT_SERVER_STARTED}>Start serveru<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_STOPPED" {?EVENT_SERVER_STOPPED}>Zastavení serveru<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_RESTARTED" {?EVENT_SERVER_RESTARTED}>Restart serveru<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_AUDIT" {?EVENT_SERVER_AUDIT}>Audit bezpečnosti serveru</TD>
 </TR>
 <TR>
-<TH CLASS="label">Maksimal Kejadian dalam Berita:</TH>
+<TH CLASS="label">Maximální počet zobrazených událostí:</TH>
 <TD COLSPAN="5"><INPUT TYPE="NUMBER" NAME="MAX_EVENTS" SIZE="4" MAXLENGTH="4" VALUE="{MAX_EVENTS?{MAX_EVENTS}:20}"></TD>
 </TR>
 <TR>
 <TD></TD>
-<TD COLSPAN="5"><INPUT TYPE="SUBMIT" VALUE="Tambah Subskripsi RSS"></TD>
+<TD COLSPAN="5"><INPUT TYPE="SUBMIT" VALUE="Přidat RSS předplatné"></TD>
 </TR>
 </TABLE>
 
diff --git a/templates/cs/admin.tmpl b/templates/cs/admin.tmpl
new file mode 100644 (file)
index 0000000..247a10f
--- /dev/null
@@ -0,0 +1,102 @@
+<TABLE CLASS="indent" SUMMARY="Administration Tasks">
+<TR><TD VALIGN="TOP">
+
+<H2 CLASS="title">Tiskárny</H2>
+
+<P>
+<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-printer"><INPUT TYPE="SUBMIT" VALUE="Přidat tiskárnu"></FORM>
+<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="find-new-printers"><INPUT TYPE="SUBMIT" VALUE="Hledat nové tiskárny"></FORM>
+<FORM ACTION="/printers/" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Správa tiskáren"></FORM>
+{have_samba?<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="export-samba"><INPUT TYPE="SUBMIT" VALUE="Export tiskáren do Samby"></FORM>:}
+</P>
+
+<H2 CLASS="title">Třídy</H2>
+
+<P>
+<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-class"><INPUT TYPE="SUBMIT" VALUE="Přidat třídu"></FORM>
+<FORM ACTION="/classes/" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Správa tříd"></FORM>
+</P>
+
+<H2 CLASS="title">Úlohy</H2>
+
+<P>
+<FORM ACTION="/jobs/" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Správa úloh"></FORM>
+</P>
+
+</TD><TD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD><TD VALIGN="TOP">
+
+<H2 CLASS="title">Server</H2>
+
+<P>
+<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server"><INPUT TYPE="SUBMIT" VALUE="Úprava konfiguračního souboru"></FORM>
+<FORM ACTION="/admin/log/access_log" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Prohlížení Access Log"></FORM>
+<FORM ACTION="/admin/log/error_log" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Prohlížení Error Log"></FORM>
+<FORM ACTION="/admin/log/page_log" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Prohlížení Page Log"></FORM>
+</P>
+
+{SETTINGS_ERROR?<P>{SETTINGS_MESSAGE}</P>
+<BLOCKQUOTE>{SETTINGS_ERROR}</BLOCKQUOTE>:
+
+<FORM METHOD="POST" ACTION="/admin">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+
+{ADVANCEDSETTINGS?<P><B>Nastavení serveru\:</B></P>
+
+<P><A HREF="/admin/">Skrýt rozšířené nastavení <SMALL>&#x25bc;</SMALL></A><BR>
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server">
+<INPUT TYPE="HIDDEN" NAME="ADVANCEDSETTINGS" VALUE="YES">
+<INPUT TYPE="CHECKBOX" NAME="SHARE_PRINTERS" {?share_printers}> Sdílet tiskárny připojené k tomuto systému<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Maximální počet klientů\:
+<INPUT TYPE="TEXT" NAME="MAX_CLIENTS" VALUE="{?max_clients}" SIZE="6"><BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="REMOTE_ANY" {?remote_any}> Povolit tisk z internetu<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="BROWSE_WEB_IF" {?browse_web_if}> Nabízet webové rozhraní<BR>
+<INPUT TYPE="CHECKBOX" NAME="REMOTE_ADMIN" {?remote_admin}> Povolit vzdálenou správu<BR>
+{have_gssapi?<INPUT TYPE="CHECKBOX" NAME="KERBEROS" {?kerberos}> Používat ověřování Kerberos (<A HREF="/help/kerberos.html?TOPIC=Getting+Started">časté dotazy</A>)<BR>:}
+<INPUT TYPE="CHECKBOX" NAME="USER_CANCEL_ANY" {?user_cancel_any}> Povolit uživatelům zrušit jakoukoliv úlohu (nejen vlastní)<BR>
+<INPUT TYPE="CHECKBOX" NAME="PRESERVE_JOBS" {?preserve_jobs}> Zachovat historii úloh<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Maximální počet úloh (0 bez omezení)\:
+<INPUT TYPE="TEXT" NAME="MAX_JOBS" VALUE="{?max_jobs}" SIZE="6"><BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Zachovat metadata\:
+<INPUT TYPE="TEXT" NAME="PRESERVE_JOB_HISTORY" VALUE="{?preserve_job_history}" SIZE="6"><BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Zachovat dokumenty\:
+<INPUT TYPE="TEXT" NAME="PRESERVE_JOB_FILES" VALUE="{?preserve_job_files}" SIZE="6"><BR>
+<INPUT TYPE="CHECKBOX" NAME="DEBUG_LOGGING" {?debug_logging}> Uložit informace o ladění pro řešení problémů<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Maximální velikost log souboru\:
+<INPUT TYPE="TEXT" NAME="MAX_LOG_SIZE" VALUE="{?max_log_size}" SIZE="6"></P>
+
+:<P><B>Nastavení serveru:</B></P>
+
+<P><A HREF="/admin/?ADVANCEDSETTINGS=YES">Zobrazit rozšířené nastavení <SMALL>&#x25b6;</SMALL></A><BR>
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server">
+<INPUT TYPE="CHECKBOX" NAME="SHARE_PRINTERS" {?share_printers}> Sdílet tiskárny připojené k tomuto systému<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="REMOTE_ANY" {?remote_any}> Povolit tisk z internetu<BR>
+<INPUT TYPE="CHECKBOX" NAME="REMOTE_ADMIN" {?remote_admin}> Povolit vzdálenou správu<BR>
+{have_gssapi?<INPUT TYPE="CHECKBOX" NAME="KERBEROS" {?kerberos}> Používat ověřování Kerberos (<A HREF="/help/kerberos.html?TOPIC=Getting+Started">časté dotazy</A>)<BR>:}
+<INPUT TYPE="CHECKBOX" NAME="USER_CANCEL_ANY" {?user_cancel_any}> Povolit uživatelům zrušit jakoukoliv úlohu (nejen vlastní)<BR>
+<INPUT TYPE="CHECKBOX" NAME="DEBUG_LOGGING" {?debug_logging}> Uložit informace o ladění pro řešení problémů</P>
+
+}
+<P><INPUT TYPE="SUBMIT" NAME="CHANGESETTINGS" VALUE="Změnit nastavení"></P>
+
+</FORM>}
+
+</TD></TR>
+</TABLE>
+
+<DIV CLASS="indent">
+
+<H2 CLASS="title">RSS předplatné</H2>
+
+<P>
+<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-rss-subscription"><INPUT TYPE="SUBMIT" VALUE="Přidat RSS předplatné"></FORM>
+</P>
+
+</DIV>
+
+{notify_subscription_id?<TABLE CLASS="list" SUMMARY="RSS Subscriptions">
+<THEAD><TR><TH>Název</TH><TH>Události</TH><TH>Název fronty</TH></TR></THEAD>
+<TBODY>{[notify_subscription_id]
+<TR><TD><A HREF="{notify_recipient_uri}">{notify_recipient_name}</A><BR>
+<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="cancel-subscription"><INPUT TYPE="HIDDEN" NAME="notify_subscription_id" VALUE="{notify_subscription_id}"><INPUT TYPE="SUBMIT" VALUE="Zrušit RSS předplatné"></FORM>&nbsp;</TD><TD>{notify_events}</TD><TD NOWRAP>&nbsp;{notify_printer_name?{notify_printer_name}:Všechny fronty}</TD></TR>}
+</TBODY>
+</TABLE>:}
similarity index 69%
rename from templates/it/choose-device.tmpl
rename to templates/cs/choose-device.tmpl
index 3420fdf..aa8a649 100644 (file)
@@ -1,23 +1,20 @@
 <DIV CLASS="indent">
 
-<H2 CLASS="title">{op=modify-printer?Modifica {printer_name}:Aggiungi stampante}</H2>
+<H2 CLASS="title">{op=modify-printer?Úprava tiskárny {printer_name}:Přidat tiskárnu}</H2>
 
-{CUPS_GET_DEVICES_DONE?:<P><IMG SRC="/images/wait.gif" WIDTH="16" HEIGHT="16" ALIGN="ABSMIDDLE"
-ALT="Busy Indicator"> Ricerca stampanti...</P>}
-
-<FORM METHOD="POST" ACTION="/admin">
+{CUPS_GET_DEVICES_DONE?<FORM METHOD="POST" ACTION="/admin">
 <INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
 <INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
 {printer_name?<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">:}
 
 <TABLE>
 {op=add-printer?:<TR>
-<TH CLASS="label">Connessione attuale:</TH>
+<TH CLASS="label">Aktuální připojení\:</TH>
 <TD><INPUT TYPE="RADIO" NAME="DEVICE_URI" VALUE="{current_device_uri}" CHECKED>
 {current_device_uri}</TD>
 </TR>}
 <TR>
-<TH CLASS="label">Stampanti locali:</TH>
+<TH CLASS="label">Místní tiskárny\:</TH>
 <TD>
 {[device_uri]{device_class!network?<INPUT TYPE="RADIO" NAME="DEVICE_URI"
 VALUE="{device_uri}{?device_make_and_model!Unknown?|{device_make_and_model}:}">
@@ -26,7 +23,7 @@ VALUE="{device_uri}{?device_make_and_model!Unknown?|{device_make_and_model}:}">
 </TD>
 </TR>
 <TR>
-<TH CLASS="label">Stampanti di rete rilevate:</TH>
+<TH CLASS="label">Nalezené síťové tiskárny\:</TH>
 <TD>
 {[device_uri]{device_class=network?{device_uri~[a-z]+://?<INPUT TYPE="RADIO" NAME="DEVICE_URI"
 VALUE="{device_uri}{?device_make_and_model!Unknown?|{device_make_and_model}:}">
@@ -36,7 +33,7 @@ VALUE="{device_uri}{?device_make_and_model!Unknown?|{device_make_and_model}:}">
 </TR>
 <TR>
 <TR>
-<TH CLASS="label">Altre stampante di reti:</TH>
+<TH CLASS="label">Ostatní síťové tiskárny\:</TH>
 <TD>
 {[device_uri]{device_class=network?{device_uri~[a-z]+://?:<INPUT TYPE="RADIO" NAME="DEVICE_URI"
 VALUE="{device_uri}{?device_make_and_model!Unknown?|{device_make_and_model}:}">
@@ -46,9 +43,11 @@ VALUE="{device_uri}{?device_make_and_model!Unknown?|{device_make_and_model}:}">
 </TR>
 <TR>
 <TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Continua"></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Pokračovat"></TD>
 </TR>
 </TABLE>
 
-</FORM>
+</FORM>:<P><IMG SRC="/images/wait.gif" WIDTH="16" HEIGHT="16" ALIGN="ABSMIDDLE"
+ALT="Busy Indicator"> Hledání tiskáren ...</P>}
+
 </DIV>
similarity index 71%
rename from templates/id/choose-make.tmpl
rename to templates/cs/choose-make.tmpl
index d04338f..f018f0e 100644 (file)
@@ -1,6 +1,6 @@
 <DIV CLASS="indent">
 
-<H2 CLASS="title">{op=modify-printer?Ubah {printer_name}:Tambah Pencetak}</H2>
+<H2 CLASS="title">{op=modify-printer?Úprava tiskárny {printer_name}:Přidat tiskárnu}</H2>
 
 <FORM METHOD="POST" ACTION="/admin" ENCTYPE="multipart/form-data">
 <INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
 
 <TABLE>
 {op=modify-printer?:<TR>
-<TH CLASS="label">Nama:</TH>
+<TH CLASS="label">Název:</TH>
 <TD><INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">{printer_name}</TD>
 </TR>}
 <TR>
-<TH CLASS="label">Deskripsi:</TH>
+<TH CLASS="label">Popis:</TH>
 <TD><INPUT TYPE="HIDDEN" NAME="PRINTER_INFO" VALUE="{printer_info}">{printer_info}</TD>
 </TR>
 <TR>
-<TH CLASS="label">Lokasi:</TH>
+<TH CLASS="label">Umístění:</TH>
 <TD><INPUT TYPE="HIDDEN" NAME="PRINTER_LOCATION" VALUE="{printer_location}">{printer_location}</TD>
 </TR>
 <TR>
-<TH CLASS="label">Koneksi:</TH>
+<TH CLASS="label">Připojení:</TH>
 <TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
 </TR>
 <TR>
-<TH CLASS="label">Berbagi:</TH>
+<TH CLASS="label">Sdílení:</TH>
 <TD><INPUT TYPE="HIDDEN" NAME="PRINTER_IS_SHARED" VALUE="{?printer_is_shared}">
-{?printer_is_shared=?Do Not:{?printer_is_shared=0?Do Not:}} Share This Printer</TD>
+{?printer_is_shared=?ne:{?printer_is_shared=0?ne:}}sdílená</TD>
 </TR>
 <TR>
-<TH CLASS="label">Buatan:</TH>
+<TH CLASS="label">Výrobce:</TH>
 <TD>
 <SELECT NAME="PPD_MAKE" SIZE="10">
 {[ppd_make]<OPTION VALUE="{ppd_make}" {?current_make={ppd_make}?SELECTED:}>{ppd_make}}
 </TR>
 <TR>
 <TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Lanjut"></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Pokračovat"></TD>
 </TR>
 <TR>
 <TD></TD>
 <TD>&nbsp;</TD>
 </TR>
 <TR>
-<TH CLASS="label">Atau, Sediakan Berkas PPD:</TH>
+<TH CLASS="label">Nebo vybrat soubor PPD:</TH>
 <TD><INPUT TYPE="HIDDEN" NAME="MAX_FILE_SIZE" VALUE="262144"><INPUT
 TYPE="FILE" NAME="PPD_FILE"></TD>
 </TR>
 <TR>
 <TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="{op=add-printer?Tambah Pencetak:Ubah Pencetak}"></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="{op=add-printer?Přidat tiskárnu:Upravit tiskárnu}"></TD>
 </TR>
 </TABLE>
 
 </FORM>
-</DIV>
+</DIV>
\ No newline at end of file
similarity index 66%
rename from templates/id/choose-model.tmpl
rename to templates/cs/choose-model.tmpl
index c4cfdb9..75fc46f 100644 (file)
@@ -1,6 +1,6 @@
 <DIV CLASS="indent">
 
-<H2 CLASS="title">{op=modify-printer?Modify {printer_name}:Tambah Pencetak}</H2>
+<H2 CLASS="title">{op=modify-printer?Úprava tiskárny {printer_name}:Přidat tiskárnu}</H2>
 
 <FORM METHOD="POST" ACTION="/admin" ENCTYPE="multipart/form-data">
 <INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
 <INPUT TYPE="HIDDEN" NAME="FLOW" VALUE="{?flow}">
 <TABLE>
 {op=modify-printer?:<TR>
-<TH CLASS="label">Nama:</TH>
+<TH CLASS="label">Název:</TH>
 <TD><INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">{printer_name}</TD>
 </TR>}
 <TR>
-<TH CLASS="label">Deskripsi:</TH>
+<TH CLASS="label">Popis:</TH>
 <TD><INPUT TYPE="HIDDEN" NAME="PRINTER_INFO" VALUE="{printer_info}">{printer_info}</TD>
 </TR>
 <TR>
-<TH CLASS="label">Lokasi:</TH>
+<TH CLASS="label">Umístění:</TH>
 <TD><INPUT TYPE="HIDDEN" NAME="PRINTER_LOCATION" VALUE="{printer_location}">{printer_location}</TD>
 </TR>
 <TR>
-<TH CLASS="label">Koneksi:</TH>
+<TH CLASS="label">Připojení:</TH>
 <TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
 </TR>
 <TR>
-<TH CLASS="label">Berbagi:</TH>
+<TH CLASS="label">Sdílení:</TH>
 <TD><INPUT TYPE="HIDDEN" NAME="PRINTER_IS_SHARED" VALUE="{?printer_is_shared}">
-{?printer_is_shared=?Jangan:{?printer_is_shared=0?Jangan:}} Berbagi Pencetak Ini</TD>
+{?printer_is_shared=?ne:{?printer_is_shared=0?ne:}}sdílená</TD>
 </TR>
 <TR>
-<TH CLASS="label">Pembuat:</TH>
-<TD>{PPD_MAKE} <INPUT TYPE="SUBMIT" NAME="SELECT_MAKE" VALUE="Pilih Manufaktur/Pembuat Lainnya"></TD>
+<TH CLASS="label">Výrobce:</TH>
+<TD>{PPD_MAKE} <INPUT TYPE="SUBMIT" NAME="SELECT_MAKE" VALUE="Vybrat jiného výrobce"></TD>
 </TR>
 <TR>
 <TH CLASS="label">Model:</TH>
 <TD>
 <SELECT NAME="PPD_NAME" SIZE="10">
-{op=add-printer?:<OPTION VALUE="__no_change__" SELECTED>Penggerak Saat Ini - {current_make_and_model}</OPTION>:}
+{op=add-printer?:<OPTION VALUE="__no_change__" SELECTED>Aktuální: {current_make_and_model}</OPTION>:}
 {[ppd_name]<OPTION VALUE="{ppd_name}" {op=modify-printer?:{?current_make_and_model={ppd_make_and_model}?SELECTED:}}>{ppd_make_and_model} ({ppd_natural_language})
 }</SELECT>
 </TD>
 </TR>
 <TR>
-<TH CLASS="label">Atau Sediakan Berkas PPD:</TH>
+<TH CLASS="label">Nebo vybrat soubor PPD:</TH>
 <TD><INPUT TYPE="HIDDEN" NAME="MAX_FILE_SIZE" VALUE="262144"><INPUT
 TYPE="FILE" NAME="PPD_FILE"></TD>
 </TR>
 <TR>
 <TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="{op=add-printer?Tambah Pencetak:Ubah Pencetak}"></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="{op=add-printer?Přidat tiskárnu:Upravit tiskárnu}"></TD>
 </TR>
 </TABLE>
 
 </FORM>
-</DIV>
+</DIV>
\ No newline at end of file
similarity index 53%
rename from templates/eu/choose-serial.tmpl
rename to templates/cs/choose-serial.tmpl
index a4dbba2..593bcdd 100644 (file)
@@ -1,6 +1,6 @@
 <DIV CLASS="indent">
 
-<H2 CLASS="title">{op=modify-printer?Aldatu {printer_name}:Gehitu inprimagailua}</H2>
+<H2 CLASS="title">{op=modify-printer?Úprava tiskárny {printer_name}:Přidat tiskárnu}</H2>
 
 <FORM METHOD="POST" ACTION="/admin">
 <INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
@@ -9,44 +9,44 @@
 
 <TABLE>
 <TR>
-<TH CLASS="label">Konexioa:</TH>
+<TH CLASS="label">Připojení:</TH>
 <TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
 </TR>
 <TR>
-<TH CLASS="label">Baudio-emaria:</TH>
+<TH CLASS="label">Přenosová rychlost:</TH>
 <TD><SELECT NAME="BAUDRATE">
 {[baudrates]<OPTION {?baudrate={baudrates}?SELECTED:}>{baudrates}}
 </SELECT></TD>
 </TR>
 <TR>
-<TH CLASS="label">Paritatea:</TH>
+<TH CLASS="label">Parita:</TH>
 <TD><SELECT NAME="PARITY">
-<OPTION VALUE="none" {?parity=none?SELECTED:}>Bat ere ez
-<OPTION VALUE="even" {?parity=even?SELECTED:}>Bikoitia
-<OPTION VALUE="odd" {?parity=odd?SELECTED:}>Bakoitia
+<OPTION VALUE="none" {?parity=none?SELECTED:}>Žádná
+<OPTION VALUE="even" {?parity=even?SELECTED:}>Sudá
+<OPTION VALUE="odd" {?parity=odd?SELECTED:}>Lichá
 </SELECT></TD>
 </TR>
 <TR>
-<TH CLASS="label">Datuen bit-ak:</TH>
+<TH CLASS="label">Datových bitů:</TH>
 <TD><SELECT NAME="BITS">
 <OPTION {?bits=8?SELECTED:}>8
 <OPTION {?bits=7?SELECTED:}>7
 </SELECT></TD>
 </TR>
 <TR>
-<TH CLASS="label">Fluxu-kontrola:</TH>
+<TH CLASS="label">Řízení toku dat:</TH>
 <TD><SELECT NAME="FLOW">
-<OPTION VALUE="none" {?flow=none?SELECTED:}>Bat ere ez
-<OPTION VALUE="soft" {?flow=soft?SELECTED:}>XON/XOFF (Ssftwarea)
-<OPTION VALUE="hard" {?flow=hard?SELECTED:}>RTS/CTS (hardwarea)
-<OPTION VALUE="dtrdsr" {?flow=dtrdsr?SELECTED:}>DTR/DSR (hardwarea)
+<OPTION VALUE="none" {?flow=none?SELECTED:}>Žádné
+<OPTION VALUE="soft" {?flow=soft?SELECTED:}>XON/XOFF (software)
+<OPTION VALUE="hard" {?flow=hard?SELECTED:}>RTS/CTS (hardware)
+<OPTION VALUE="dtrdsr" {?flow=dtrdsr?SELECTED:}>DTR/DSR (hardware)
 </SELECT></TD>
 </TR>
 <TR>
 <TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Jarraitu"></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Pokračovat"></TD>
 </TR>
 </TABLE>
 
 </FORM>
-</DIV>
+</DIV>
\ No newline at end of file
similarity index 70%
rename from templates/id/choose-uri.tmpl
rename to templates/cs/choose-uri.tmpl
index 4391b91..ad919b7 100644 (file)
@@ -1,6 +1,6 @@
 <DIV CLASS="indent">
 
-<H2 CLASS="title">{op=modify-printer?Modify {printer_name}:Tambah Pencetak}</H2>
+<H2 CLASS="title">{op=modify-printer?Úprava tiskárny {printer_name}:Přidat tiskárnu}</H2>
 
 <FORM METHOD="POST" ACTION="/admin">
 <INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
 
 <TABLE>
 <TR>
-<TH CLASS="label">Koneksi:</TH>
+<TH CLASS="label">Připojení:</TH>
 <TD><INPUT TYPE="URL" SIZE="60" MAXLENGTH="1023" NAME="DEVICE_URI" VALUE="{current_device_uri?{current_device_uri}:{device_uri}}"></TD>
 </TR>
 <TR>
 <TD></TD>
-<TD>Contoh:
+<TD>Příklady:
 <PRE>
     http://hostname:631/ipp/
     http://hostname:631/ipp/port1
     socket://hostname:9100
 </PRE>
 
-<P>Lihat <A HREF="/help/network.html" TARGET="_blank">"Pencetak Jaringan"</A> untuk URI yang tepat bagi pencetak Anda.</P>
+<P>Viz. <A HREF="/help/network.html" TARGET="_blank">"Síťové tiskárny"</A> pro zadání správného URI tiskárny.</P>
 
 </TD>
 </TR>
 <TR>
 <TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Lanjut"></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Pokračovat"></TD>
 </TR>
 </TABLE>
 
 </FORM>
 </DIV>
+
diff --git a/templates/cs/class-added.tmpl b/templates/cs/class-added.tmpl
new file mode 100644 (file)
index 0000000..d644303
--- /dev/null
@@ -0,0 +1,7 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Přidat třídu</H2>
+
+<P>Třída <A HREF="/classes/{printer_name}">{printer_name}</A> byla úspěšně přidána.
+
+</DIV>
similarity index 66%
rename from templates/id/class-confirm.tmpl
rename to templates/cs/class-confirm.tmpl
index 3805b91..87c1614 100644 (file)
@@ -1,10 +1,10 @@
 <DIV CLASS="indent">
 
-<H2 CLASS="title">Hapus Kelas {printer_name}</H2>
+<H2 CLASS="title">Výmaz třídy {printer_name}</H2>
 
-<P><B>Peringatan:</B> Anda yakin untuk menghapus kelas
+<P><B>Varování:</B> Opravdu chcete vymazat třídu
 {printer_name}?</P>
 
-<P ALIGN="CENTER"><FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="op" VALUE="delete-class"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}"><INPUT TYPE="SUBMIT" NAME="confirm" VALUE="Hapus Kelas"></FORM></P>
+<P ALIGN="CENTER"><FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="op" VALUE="delete-class"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}"><INPUT TYPE="SUBMIT" NAME="confirm" VALUE="Vymazat třídu"></FORM></P>
 
 </DIV>
diff --git a/templates/cs/class-deleted.tmpl b/templates/cs/class-deleted.tmpl
new file mode 100644 (file)
index 0000000..e2fb7f8
--- /dev/null
@@ -0,0 +1,7 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Výmaz třídy {printer_name}</H2>
+
+<P>Třída {printer_name} byla úspěšně vymazána.
+
+</DIV>
\ No newline at end of file
diff --git a/templates/cs/class-jobs-header.tmpl b/templates/cs/class-jobs-header.tmpl
new file mode 100644 (file)
index 0000000..d8142d1
--- /dev/null
@@ -0,0 +1,3 @@
+<DIV CLASS="indent">
+<H3 CLASS="title">Úlohy</H3>
+</DIV>
diff --git a/templates/cs/class-modified.tmpl b/templates/cs/class-modified.tmpl
new file mode 100644 (file)
index 0000000..131fd08
--- /dev/null
@@ -0,0 +1,7 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Úprava třídy {printer_name}</H2>
+
+<P>Třída <A HREF="/classes/{printer_name}">{printer_name}</A> byla úspěšně upravena.
+
+</DIV>
\ No newline at end of file
diff --git a/templates/cs/class.tmpl b/templates/cs/class.tmpl
new file mode 100644 (file)
index 0000000..39f72bf
--- /dev/null
@@ -0,0 +1,44 @@
+<DIV CLASS="indent">
+<H2 CLASS="title"><A HREF="{printer_uri_supported}">{printer_name}</A>
+({printer_state=3?čeká:{printer_state=4?tiskne:pauza}},
+{printer_is_accepting_jobs=0?ne:}přijímá úlohy,
+{server_is_sharing_printers=0?není:{printer_is_shared=0?není:}} sdílení{default_name={printer_name}?, výchozí server:})</H2>
+
+<FORM METHOD="POST" ACTION="{printer_uri_supported}" NAME="maintenance">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<SELECT NAME="OP" ONCHANGE="document.maintenance.submit();">
+<OPTION VALUE="">Údržba</OPTION>
+<OPTION VALUE="print-test-page">Tisk zkušební stránky</OPTION>
+{printer_state=5?<OPTION VALUE="start-class">Obnovení třídy</OPTION>:<OPTION VALUE="stop-class">Pozastavení třídy</OPTION>}
+{printer_is_accepting_jobs=0?<OPTION VALUE="accept-jobs">Příjem úloh</OPTION>:<OPTION VALUE="reject-jobs">Odmítnutí úloh</OPTION>}
+<OPTION VALUE="move-jobs">Přesun všech úloh</OPTION>
+<OPTION VALUE="purge-jobs">Výmaz všech úloh</OPTION>
+</SELECT>
+<INPUT TYPE="SUBMIT" VALUE="Go" STYLE="display: none;">
+</FORM>
+
+<FORM METHOD="POST" ACTION="{admin_uri}" NAME="administration">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">
+<INPUT TYPE="HIDDEN" NAME="IS_CLASS" VALUE="1">
+<SELECT NAME="OP" ONCHANGE="document.administration.submit();">
+<OPTION VALUE="">Administrace</OPTION>
+<OPTION VALUE="modify-class">Úprava třídy</OPTION>
+<OPTION VALUE="delete-class">Výmaz třídy</OPTION>
+<OPTION VALUE="set-class-options">Nastavení parametrů</OPTION>
+<OPTION VALUE="set-as-default">Nastavení jako výchozí na serveru</OPTION>
+<OPTION VALUE="set-allowed-users">Nastavení přístupu uživatelů</OPTION>
+</SELECT>
+<INPUT TYPE="SUBMIT" VALUE="Go" STYLE="display: none;">
+</FORM>
+
+<TABLE SUMMARY="{printer_name}">
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Popis:</TH><TD>{printer_info}</TD></TR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Umístění:</TH><TD>{printer_location}</TD></TR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Členové:</TH><TD>{?member_uris=?None:{member_uris}}</TD></TR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Nastavení:</TH><TD>job-sheets={job_sheets_default}
+media={media_default?{media_default}:unknown}
+{sides_default?sides={sides_default}:}</TD></TR>
+</TABLE>
+
+</DIV>
diff --git a/templates/cs/classes-header.tmpl b/templates/cs/classes-header.tmpl
new file mode 100644 (file)
index 0000000..5bfeeee
--- /dev/null
@@ -0,0 +1 @@
+<P ALIGN="CENTER">{total=0?Žádné třídy:Zobrazení {#printer_name} z {total} tříd{total=1?y:}}.</P>
diff --git a/templates/cs/classes.tmpl b/templates/cs/classes.tmpl
new file mode 100644 (file)
index 0000000..02d32a6
--- /dev/null
@@ -0,0 +1,12 @@
+{#printer_name=0?:
+<TABLE CLASS="list" SUMMARY="Class List">
+<THEAD>
+<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&amp;WHICH_JOBS={?WHICH_JOBS}&amp;FIRST={FIRST}&amp;ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>&#x25b2;</SMALL> Název fromty <SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL> Název fronty <SMALL>&#x25bc;</SMALL>}</A></TH><TH>Popis</TH><TH>Umístění</TH><TH>Členové</TH><TH>Stav</TH></TR>
+</THEAD>
+<TBODY>
+{[printer_name]
+<TR><TD><A
+HREF="{printer_uri_supported}">{printer_name}</A></TD><TD>{printer_info}</TD><TD>{printer_location}</TD><TD>{?member_uris=?Žádný:{member_uris}}</TD><TD>{printer_state=3?Čeká:{printer_state=4?Tiskne:Pauza}}{printer_state_message? - "{printer_state_message}":}</TD></TR>
+}
+</TBODY>
+</TABLE></DIV>}
diff --git a/templates/cs/command.tmpl b/templates/cs/command.tmpl
new file mode 100644 (file)
index 0000000..b2a4fd4
--- /dev/null
@@ -0,0 +1,12 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">{title} u {printer_name}</H2>
+
+<P>{job_state>5?:<IMG SRC="/images/wait.gif" WIDTH="16" HEIGHT="16"
+ALIGN="ABSMIDDLE" ALT="Busy Indicator"> }Stav úlohy
+{job_state=3?čeká:{job_state=4?pozastaveno:
+{job_state=5?zpracováváno:{job_state=6?zastaveno:
+{job_state=7?zrušeno:{job_state=8?zrušeno:dokončeno}}}}}}{job_state=9?:{job_printer_state_message?,
+<EM>"{job_printer_state_message}"</EM>:}}.</P>
+
+</DIV>
similarity index 69%
rename from templates/pl/edit-config.tmpl
rename to templates/cs/edit-config.tmpl
index 3688ee2..ab3bf65 100644 (file)
@@ -7,7 +7,7 @@ function reset_config()
 
 <DIV CLASS="indent">
 
-<H2 CLASS="title">Modyfikowanie pliku konfiguracji</H2>
+<H2 CLASS="title">Úprava konfiguračního souboru</H2>
 
 <FORM NAME="cups" METHOD="POST" ACTION="/admin/">
 <INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
@@ -15,8 +15,8 @@ function reset_config()
 
 <TEXTAREA NAME="CUPSDCONF" COLS="80" ROWS="25">{CUPSDCONF}</TEXTAREA>
 
-<P><INPUT TYPE="SUBMIT" NAME="SAVECHANGES" VALUE="Zapisz zmiany">
-<INPUT TYPE="BUTTON" VALUE="Użyj domyślnego pliku konfiguracji"
+<P><INPUT TYPE="SUBMIT" NAME="SAVECHANGES" VALUE="Uložit změny">
+<INPUT TYPE="BUTTON" VALUE="Použít výchozí konfigurační soubor"
 onClick="reset_config();"></P>
 
 </FORM>
diff --git a/templates/cs/error-op.tmpl b/templates/cs/error-op.tmpl
new file mode 100644 (file)
index 0000000..636edc2
--- /dev/null
@@ -0,0 +1,9 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Chyba {?title} u {?printer_name}</H2>
+
+<P>Chyba:</P>
+
+<BLOCKQUOTE>Neznámá operace "{op}"!</BLOCKQUOTE>
+
+</DIV>
diff --git a/templates/cs/error.tmpl b/templates/cs/error.tmpl
new file mode 100644 (file)
index 0000000..7ee1926
--- /dev/null
@@ -0,0 +1,9 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Chyba {?title} u {?printer_name}</H2>
+
+<P>{?message?{message}:Chyba}:</P>
+
+<BLOCKQUOTE>{error}</BLOCKQUOTE>
+
+</DIV>
similarity index 69%
rename from templates/de/header.tmpl.in
rename to templates/cs/header.tmpl.in
index 09a4816..739e51d 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//CZ" "http://www.w3.org/TR/html4/loose.dtd">
 <HTML>
 <HEAD>
        <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
 <TR HEIGHT="36">
 <TD><A HREF="http://www.cups.org/" TARGET="_blank"><IMG
 SRC="/images/left.gif" WIDTH="64" HEIGHT="36" BORDER="0" ALT=""></A></TD>
-<TD CLASS="unsel"><A HREF="/">&nbsp;&nbsp;Startseite&nbsp;&nbsp;</A></TD>
-<TD CLASS="{SECTION=admin?:un}sel"><A HREF="/admin">&nbsp;&nbsp;Verwaltung&nbsp;&nbsp;</A></TD>
-<TD CLASS="{SECTION=classes?:un}sel"><A HREF="/classes/">&nbsp;&nbsp;Klassen&nbsp;&nbsp;</A></TD>
-<TD CLASS="{SECTION=help?:un}sel"><A HREF="/help/">&nbsp;&nbsp;Online-Hilfe&nbsp;&nbsp;</A></TD>
-<TD CLASS="{SECTION=jobs?:un}sel"><A HREF="/jobs/">&nbsp;&nbsp;Auftr&auml;ge&nbsp;&nbsp;</A></TD>
-<TD CLASS="{SECTION=printers?:un}sel"><A HREF="/printers/">&nbsp;&nbsp;Drucker&nbsp;&nbsp;</A></TD>
+<TD CLASS="unsel"><A HREF="/">&nbsp;&nbsp;Hlavní strana&nbsp;&nbsp;</A></TD>
+<TD CLASS="{SECTION=admin?:un}sel"><A HREF="/admin">&nbsp;&nbsp;Administrace&nbsp;&nbsp;</A></TD>
+<TD CLASS="{SECTION=classes?:un}sel"><A HREF="/classes/">&nbsp;&nbsp;Třídy tiskáren&nbsp;&nbsp;</A></TD>
+<TD CLASS="{SECTION=help?:un}sel"><A HREF="/help/">&nbsp;&nbsp;Nápověda&nbsp;&nbsp;</A></TD>
+<TD CLASS="{SECTION=jobs?:un}sel"><A HREF="/jobs/">&nbsp;&nbsp;Úlohy&nbsp;&nbsp;</A></TD>
+<TD CLASS="{SECTION=printers?:un}sel"><A HREF="/printers/">&nbsp;&nbsp;Tiskárny&nbsp;&nbsp;</A></TD>
 <TD CLASS="unsel" WIDTH="100%"><FORM ACTION="/help/" METHOD="GET"><INPUT
-TYPE="SEARCH" NAME="QUERY" SIZE="20" PLACEHOLDER="Search Help"
+TYPE="SEARCH" NAME="QUERY" SIZE="20" PLACEHOLDER="Hledat"
 VALUE="{SECTION=help?{?QUERY}:}" AUTOSAVE="org.cups.help" RESULTS="20"></FORM></TD>
 <TD><IMG SRC="/images/right.gif" WIDTH="4" HEIGHT="36" ALT=""></TD>
 </TR>
diff --git a/templates/cs/help-header.tmpl b/templates/cs/help-header.tmpl
new file mode 100644 (file)
index 0000000..fe8dca8
--- /dev/null
@@ -0,0 +1,48 @@
+<DIV CLASS="indent">
+<FORM ACTION="/help/{?HELPFILE}" METHOD="GET">
+{TOPIC?<INPUT TYPE="HIDDEN" NAME="TOPIC" VALUE="{TOPIC}">:}
+
+<P ALIGN="CENTER"><B>Hledat v{HELPTITLE? {HELPTITLE}:{TOPIC? {TOPIC}:e všech dokumentech}}:</B> <INPUT
+TYPE="SEARCH" NAME="QUERY" VALUE="{?QUERY}" SIZE="40" PLACEHOLDER=""
+AUTOSAVE="org.cups.help" RESULTS="20">
+<INPUT TYPE="SUBMIT" NAME="SEARCH" VALUE="Hledat">
+<INPUT TYPE="SUBMIT" NAME="CLEAR" VALUE="Smazat"></P>
+
+</FORM>
+
+<!-- Bookmarks -->
+<DIV CLASS="sidebar"><TABLE CLASS="inset" SUMMARY="Contents">
+<TR><TD>
+
+<H3 CLASS="title">Dokumenty nápovědy</H3>
+
+<P CLASS="l0"><A HREF="/help/{QUERY??QUERY={QUERY}:}">Všechny dokumenty</A></P>
+<HR>
+
+{[BMTEXT]<P CLASS="l{BMINDENT}"><A HREF="{BMLINK}">{BMTEXT}</A></P>
+}
+</TD></TR>
+</TABLE></DIV>
+
+{QUERY?<P>Výsledky hledání v{HELPFILE? {HELPTITLE}:{TOPIC? {TOPIC}:e všech dokumentech}}\:</P>
+{QTEXT?<UL>
+{[QTEXT]<LI><A HREF="{QLINK}">{QTEXT}</A>{QPTEXT? (v <I><A HREF="{QPLINK}">{QPTEXT}</A></I>):}</LI>}
+{QTEXT?</UL>:}
+:<P>Nebyl nalezen záznam.</P>}
+<HR NOSHADE>:}
+{HELPTITLE?<H1>{HELPTITLE}</H1>
+<FORM ACTION="/help/{?HELPFILE}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="PRINTABLE" VALUE="YES"><INPUT TYPE="SUBMIT" VALUE="Zobrazit verzi pro tisk"></FORM>:
+
+<H1>Nápověda</H1>
+
+<P>Toto je rozhraní nápovědy CUPS. Zadejte hledané slovo nebo klikněte na
+některý z odkazů dokumentace k zobrazení nápovědy.</P>
+
+<P>Pokud jste nový uživatel programu CUPS, přečtěte si stránku "<a
+href="/help/overview.html">Popis programu CUPS</a>". Zkušení uživatelé by
+si měli přečíst stránku "<a href="/help/whatsnew.html">Co je nového v CUPS 1.6</a>".</P>
+
+<P><A HREF="http://www.cups.org/">Hlavní strana programu CUPS</A> také
+poskytuje mnoho zdrojů, včetně uživatelského diskuzního fóra, odpovědí
+na často kladené otázky a formuláře pro odesílání zpráv o chybách a
+požadavky na nové funkce.</P>}
similarity index 82%
rename from templates/de/help-printable.tmpl
rename to templates/cs/help-printable.tmpl
index 2463c16..763a98b 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//CS" "http://www.w3.org/TR/html4/loose.dtd">
 <HTML>
 <HEAD>
        <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
diff --git a/templates/cs/job-cancel.tmpl b/templates/cs/job-cancel.tmpl
new file mode 100644 (file)
index 0000000..31f50ea
--- /dev/null
@@ -0,0 +1,7 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Zrušit úlohu {job_id}</H2>
+
+<P><A HREF="{job_printer_uri}">Úloha {job_id}</A> byla zrušena.
+
+</DIV>
diff --git a/templates/cs/job-hold.tmpl b/templates/cs/job-hold.tmpl
new file mode 100644 (file)
index 0000000..f0e7b63
--- /dev/null
@@ -0,0 +1,7 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Pozastavení úlohy {job_id}</H2>
+
+<P><A HREF="{job_printer_uri}">Úloha {job_id}</A> byla pozastavena.
+
+</DIV>
similarity index 70%
rename from templates/id/job-move.tmpl
rename to templates/cs/job-move.tmpl
index 9ec881a..b706ca8 100644 (file)
@@ -5,11 +5,11 @@
 <INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
 {job_id?<INPUT TYPE="HIDDEN" NAME="JOB_ID" VALUE="{job_id}">:}
 
-<H2 CLASS="title">{job_id?Pindahkan Tugas {job_id}:Pindahkan Semua Tugas}</H2>
+<H2 CLASS="title">{job_id?Přesun úlohy {job_id}:Přesun všech úloh}</H2>
 
 <TABLE>
 <TR>
-<TH CLASS="label">Tujuan Baru:</TH>
+<TH CLASS="label">Nová tiskárna:</TH>
 <TD>
 <SELECT NAME="JOB_PRINTER_URI" SIZE="10">
 {[job_printer_uri]<OPTION VALUE="{job_printer_uri}">{job_printer_name}}
@@ -18,7 +18,7 @@
 </TR>
 <TR>
 <TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="{job_id?Pindahkan Tugas:Pindahkan Tugas}"></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Přesunout {job_id?úlohu:úlohy}"></TD>
 </TR>
 </TABLE>
 
diff --git a/templates/cs/job-moved.tmpl b/templates/cs/job-moved.tmpl
new file mode 100644 (file)
index 0000000..40e5eef
--- /dev/null
@@ -0,0 +1,8 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">{job_id?Přesun úlohy {job_id}:Přesun všech úloh}</H2>
+
+<P>{job_id?<A HREF="/jobs/{job_id}">Úloha přesunuta {job_id}</A>:Všechny úlohy přesunuty} na tiskárnu 
+<A HREF="/{is_class?classes:printers}/{job_printer_name}">{job_printer_name}</A>.</P>
+
+</DIV>
diff --git a/templates/cs/job-release.tmpl b/templates/cs/job-release.tmpl
new file mode 100644 (file)
index 0000000..199c798
--- /dev/null
@@ -0,0 +1,7 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Uvolnit úlohu {job_id}</H2>
+
+<P><A HREF="{job_printer_uri}">Úloha {job_id}</A> byla uvolněna k tisku.
+
+</DIV>
diff --git a/templates/cs/job-restart.tmpl b/templates/cs/job-restart.tmpl
new file mode 100644 (file)
index 0000000..56c113a
--- /dev/null
@@ -0,0 +1,7 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Opakovaný tisk úlohy {job_id}</H2>
+
+<P><A HREF="{job_printer_uri}">Úloha {job_id}</A> byla znovu spuštěna.
+
+</DIV>
similarity index 51%
rename from templates/eu/jobs-header.tmpl
rename to templates/cs/jobs-header.tmpl
index 664f0eb..591d4ce 100644 (file)
@@ -1,5 +1,5 @@
-<DIV CLASS="indent">{?which_jobs=?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Erakutsi lan aktiboak"></FORM>}
-{?which_jobs=completed?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="which_jobs" VALUE="completed"><INPUT TYPE="SUBMIT" VALUE="Erakutsi burututako lanak"></FORM>}
-{?which_jobs=all?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="which_jobs" VALUE="all"><INPUT TYPE="SUBMIT" VALUE="Erakutsi lan guztiak"></FORM>}</DIV>
+<DIV CLASS="indent">{?which_jobs=?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Aktivní úlohy"></FORM>}
+{?which_jobs=completed?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="which_jobs" VALUE="completed"><INPUT TYPE="SUBMIT" VALUE="Dokončené úlohy"></FORM>}
+{?which_jobs=all?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="which_jobs" VALUE="all"><INPUT TYPE="SUBMIT" VALUE="Všechny úlohy"></FORM>}</DIV>
 
-<P ALIGN="CENTER">{total=0?Lanik ez: {#job_id}/{total} lan {?which_jobs=?aktiboak:{which_jobs=all?:burututakoak}} erakusten}.</P>
+<P ALIGN="CENTER">{total=0?Žádné úlohy:Zobrazení {#job_id} z {total} {?which_jobs=?aktivních:{which_jobs=all?:dokončených}} {total=1?úloha:úloh}}.</P>
similarity index 60%
rename from templates/eu/jobs.tmpl
rename to templates/cs/jobs.tmpl
index 3071f6d..75b483a 100644 (file)
@@ -1,34 +1,34 @@
 {#job_id=0?:
-<TABLE CLASS="list" SUMMARY="Lanen zerrenda">
+<TABLE CLASS="list" SUMMARY="Job List">
 <THEAD>
-<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&amp;WHICH_JOBS={?WHICH_JOBS}&amp;FIRST={FIRST}&amp;ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>&#x25b2;</SMALL> ID <SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL> ID <SMALL>&#x25bc;</SMALL>}</A></TH><TH>Izena</TH><TH>Erabiltzailea</TH><TH>Tamaina</TH><TH>Orrialdeak</TH><TH>Egoera</TH><TH>Kontrola</TH></TR>
+<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&amp;WHICH_JOBS={?WHICH_JOBS}&amp;FIRST={FIRST}&amp;ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>&#x25b2;</SMALL> ID <SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL> ID <SMALL>&#x25bc;</SMALL>}</A></TH><TH>Jméno</TH><TH>Uživatel</TH><TH>Velikost</TH><TH>Počet stran</TH><TH>Stav</TH><TH>Řízení</TH></TR>
 </THEAD>
 <TBODY>
 {[job_id]
 <TR VALIGN="TOP">
-<TD><A HREF="{job_printer_uri}">{job_printer_name}</A>-{job_id}&nbsp;</TD>
-<TD>{?job_name=?Ezezaguna:{job_name}}&nbsp;</TD>
-<TD>{job_originating_user_name}&nbsp;</TD>
-<TD>{job_k_octets}k&nbsp;</TD>
-<TD>{job_media_sheets_completed=0?Ezezaguna:{?job_media_sheets_completed}}&nbsp;</TD>
-<TD>{job_state=3?noiztik zain<BR>{time_at_creation}:{job_state=4?noiztik eutsita<BR>{time_at_creation}:
-{job_state=5?noiztik prozesatzen<BR>{time_at_processing}:{job_state=6?geldituta:
-{job_state=7?bertan behera utzita<BR>{time_at_completed}:{job_state=8?abortatuta:burututa<BR>{time_at_completed}}}}}}}&nbsp;{job_printer_state_message?<BR>
+<TD><A HREF="{job_printer_uri}">{job_printer_name}</A>-{job_id}{?phone? ({phone}):}&nbsp;</TD>
+<TD>{?job_name=?Neznámý:{job_name}}&nbsp;</TD>
+<TD>{?job_originating_user_name=?Neznámý:{job_originating_user_name}}&nbsp;</TD>
+<TD>{job_k_octets} k&nbsp;</TD>
+<TD>{job_media_sheets_completed=0?Neznámý:{?job_media_sheets_completed}}&nbsp;</TD>
+<TD>{job_state=3?Čeká od<BR>{time_at_creation}:{job_state=4?Pozastaveno od<BR>{time_at_creation}:
+{job_state=5?Zpracováváno od<BR>{time_at_processing}:{job_state=6?Zastaveno:
+{job_state=7?Zrušeno v<BR>{time_at_completed}:{job_state=8?Zrušeno:Dokončeno v<BR>{time_at_completed}}}}}}}&nbsp;{job_printer_state_message?<BR>
 <EM>"{job_printer_state_message}"</EM>:}</TD>
 <TD>
 {job_preserved>0?{job_state>5?
-<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="restart-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}">
-<INPUT TYPE="SUBMIT" VALUE="Inprimatu berriro lana"></FORM>:}:}
+<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="restart-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}"><INPUT TYPE="SUBMIT"
+VALUE="Opakovat tisk"></FORM>:}:}
 {job_state=4?
 <FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="release-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}">
-<INPUT TYPE="SUBMIT" VALUE="Askatu lana"></FORM>:}
+<INPUT TYPE="SUBMIT" VALUE="Uvolnit"></FORM>:}
 {job_state=3?
 <FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="hold-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}">
-<INPUT TYPE="SUBMIT" VALUE="Eutsi lana"></FORM>:}
+<INPUT TYPE="SUBMIT" VALUE="Pozastavit"></FORM>:}
 {job_state<7?
 <FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="cancel-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}">
-<INPUT TYPE="SUBMIT" VALUE="Utzi lana"></FORM>
-<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="move-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="SUBMIT" VALUE="Aldatu lana lekuz"></FORM>:}
+<INPUT TYPE="SUBMIT" VALUE="Zrušit"></FORM>
+<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="move-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="SUBMIT" VALUE="Přesunout"></FORM>:}
 &nbsp;</TD>
 </TR>
 }
similarity index 53%
rename from templates/id/list-available-printers.tmpl
rename to templates/cs/list-available-printers.tmpl
index f3ca39f..8c01b27 100644 (file)
@@ -1,10 +1,10 @@
 <DIV CLASS="indent">
 
-<H2 CLASS="title">Pencetak yang Ada</H2>
+<H2 CLASS="title">Dostupné tiskárny</H2>
 
-{#device_uri=0?<P>Tidak ada pencetak.</P>
+{#device_uri=0?<P>Žádné tiskárny nenalezeny.</P>
 :<UL>{[device_uri]
-<LI><FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-printer"><INPUT TYPE="HIDDEN" NAME="TEMPLATE_NAME" VALUE="{template_name}"><INPUT TYPE="HIDDEN" NAME="PRINTER_LOCATION" VALUE="Local Printer"><INPUT TYPE="HIDDEN" NAME="PRINTER_INFO" VALUE="{device_make_and_model}"><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}"><INPUT TYPE="SUBMIT" VALUE="Tambah Pencetak Ini"></FORM>
+<LI><FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-printer"><INPUT TYPE="HIDDEN" NAME="TEMPLATE_NAME" VALUE="{template_name}"><INPUT TYPE="HIDDEN" NAME="PRINTER_LOCATION" VALUE=""><INPUT TYPE="HIDDEN" NAME="PRINTER_INFO" VALUE="{device_make_and_model}"><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}"><INPUT TYPE="SUBMIT" VALUE="Přidat tiskárnu"></FORM>
 {device_make_and_model} ({device_info})</LI>
 }</UL>}
 
similarity index 75%
rename from templates/eu/modify-class.tmpl
rename to templates/cs/modify-class.tmpl
index bce6503..9e4881a 100644 (file)
@@ -1,6 +1,6 @@
 <DIV CLASS="indent">
 
-<H2 CLASS="title">Aldatu {printer_name} klasea</H2>
+<H2 CLASS="title">Úprava třídy {printer_name}</H2>
 
 <FORM METHOD="POST" ACTION="/admin">
 <INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
@@ -9,15 +9,15 @@
 
 <TABLE>
 <TR>
-<TH CLASS="label">Deskripzioa:</TH>
+<TH CLASS="label">Popis:</TH>
 <TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" VALUE="{?printer_info}" SIZE="40" MAXLENGTH="127"></TD>
 </TR>
 <TR>
-<TH CLASS="label">Kokalekua:</TH>
+<TH CLASS="label">Umístění:</TH>
 <TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" VALUE="{?printer_location}" SIZE="40" MAXLENGTH="127"></TD>
 </TR>
 <TR>
-<TH CLASS="label">Kideak:</TH>
+<TH CLASS="label">Členové:</TH>
 <TD>
 <SELECT NAME="MEMBER_URIS" SIZE="10" MULTIPLE>
 {[member_uris]<OPTION VALUE="{member_uris}" {?member_selected}>{member_names}}
@@ -26,9 +26,9 @@
 </TR>
 <TR>
 <TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Aldatu klasea"></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Upravit třídu"></TD>
 </TR>
 </TABLE>
 
 </FORM>
-</DIV>
+</DIV>
\ No newline at end of file
similarity index 68%
rename from templates/de/modify-printer.tmpl
rename to templates/cs/modify-printer.tmpl
index d128471..8fc48ed 100644 (file)
@@ -1,6 +1,6 @@
 <DIV CLASS="indent">
 
-<H2 CLASS="title">{printer_name} &auml;ndern</H2>
+<H2 CLASS="title">Úprava tiskárny {printer_name}</H2>
 
 <FORM METHOD="POST" ACTION="/admin">
 <INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
 
 <TABLE>
 <TR>
-<TH CLASS="label">Beschreibung:</TH>
+<TH CLASS="label">Popis:</TH>
 <TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" VALUE="{?printer_info}" SIZE="40" MAXLENGTH="127"><BR>
-<SMALL>(F&uuml;r Menschen lesbare Beschreibung wie "HP LaserJet with Duplexer")</SMALL></TD>
+<SMALL>(Srozumitelný popis)</SMALL></TD>
 </TR>
 <TR>
-<TH CLASS="label">Ort:</TH>
+<TH CLASS="label">Location:</TH>
 <TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" VALUE="{?printer_location}" SIZE="40" MAXLENGTH="127"><BR>
-<SMALL>(F&uuml;r Menschen lesbarer Ort wie "Lab 1")</SMALL></TD>
+<SMALL>(Srozumitelný popis umístění)</SMALL></TD>
 </TR>
 <TR>
-<TH CLASS="label">Verbindung:</TH>
+<TH CLASS="label">Připojení:</TH>
 <TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
 </TR>
 <TR>
-<TH CLASS="label">Freigabe:</TH>
+<TH CLASS="label">Sdílení:</TH>
 <TD><INPUT TYPE="CHECKBOX" NAME="PRINTER_IS_SHARED" {PRINTER_IS_SHARED=1?CHECKED:}>
-Diesen Drucker freigeben</TD>
+sdílet tuto tiskárnu</TD>
 </TR>
 <TR>
 <TR>
 <TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Weiter"></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Pokračovat"></TD>
 </TR>
 </TABLE>
 
diff --git a/templates/cs/norestart.tmpl b/templates/cs/norestart.tmpl
new file mode 100644 (file)
index 0000000..4f09e8b
--- /dev/null
@@ -0,0 +1,8 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Změna nastavení</H2>
+
+<P>Server nebyl dosud restartován, protože nebyly provedeny žádné změny v
+konfiguraci ...</P>
+
+</DIV>
diff --git a/templates/cs/option-conflict.tmpl b/templates/cs/option-conflict.tmpl
new file mode 100644 (file)
index 0000000..8c68326
--- /dev/null
@@ -0,0 +1,7 @@
+<P><B>Chyba:</B> Následující parametry jsou v rozporu:</P>
+
+<UL>
+{[ckeyword]<LI><A HREF="#{ckeyword}">{ckeytext}</A>: {cchoice}</LI>
+}</UL>
+
+<P>Prosím změňte jeden nebo více parametrů pro vyřešení problému.</P>
similarity index 73%
rename from templates/pl/option-pickone.tmpl
rename to templates/cs/option-pickone.tmpl
index 598fe10..9c7e2a2 100644 (file)
@@ -6,10 +6,10 @@
 {iscustom=1?<TABLE NAME="paramtable" id="{keyword}-params">{[params]
 <TR><TH CLASS="sublabel">{paramtext}:</TH>
 <TD>{params=Units?<SELECT NAME="{keyword-1}.{params}">
-<OPTION VALUE="pt"{paramvalue=pt? SELECTED:}>Punkty</OPTION>
-<OPTION VALUE="mm"{paramvalue=mm? SELECTED:}>Milimetry</OPTION>
-<OPTION VALUE="cm"{paramvalue=cm? SELECTED:}>Centymetry</OPTION>
-<OPTION VALUE="in"{paramvalue=in? SELECTED:}>Cale</OPTION>
+<OPTION VALUE="pt"{paramvalue=pt? SELECTED:}>Body</OPTION>
+<OPTION VALUE="mm"{paramvalue=mm? SELECTED:}>Millimetry</OPTION>
+<OPTION VALUE="cm"{paramvalue=cm? SELECTED:}>Centimetry</OPTION>
+<OPTION VALUE="in"{paramvalue=in? SELECTED:}>Palce</OPTION>
 <OPTION VALUE="ft"{paramvalue=ft? SELECTED:}>Stopy</OPTION>
 <OPTION VALUE="m"{paramvalue=m? SELECTED:}>Metry</OPTION>
 </SELECT>:<INPUT TYPE="{inputtype}" NAME="{keyword-1}.{params}" VALUE="{paramvalue}">}</TD></TR>
diff --git a/templates/cs/option-trailer.tmpl b/templates/cs/option-trailer.tmpl
new file mode 100644 (file)
index 0000000..916de2f
--- /dev/null
@@ -0,0 +1,5 @@
+</TABLE>
+
+<P ALIGN="CENTER"><INPUT TYPE="SUBMIT" VALUE="Nastavit parametry"></P>
+
+</DIV>
\ No newline at end of file
similarity index 67%
rename from templates/pl/pager.tmpl
rename to templates/cs/pager.tmpl
index ce3515e..35a7a92 100644 (file)
@@ -1,6 +1,6 @@
-<TABLE CLASS="inset" SUMMARY="Pasek stron">
+<TABLE CLASS="inset" SUMMARY="Paging Bar">
 <TR>
-       <TD WIDTH="50%">{PREV?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{?ORDER}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{PREV}"><INPUT TYPE="SUBMIT" VALUE="&#x25c0; Wyświetl poprzednie"></FORM>:&nbsp;}</TD>
-       <TD WIDTH="50%" ALIGN="RIGHT">{NEXT?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{?ORDER}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{NEXT}"><INPUT TYPE="SUBMIT" VALUE="Wyświetl następne &#x25b6;"></FORM>:&nbsp;}</TD>
+       <TD WIDTH="50%">{PREV?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{?ORDER}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{PREV}"><INPUT TYPE="SUBMIT" VALUE="&#x25c0; Předchozí"></FORM>:&nbsp;}</TD>
+       <TD WIDTH="50%" ALIGN="RIGHT">{NEXT?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{?ORDER}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{NEXT}"><INPUT TYPE="SUBMIT" VALUE="Další &#x25b6;"></FORM>:&nbsp;}</TD>
 </TR>
 </TABLE>
diff --git a/templates/cs/printer-accept.tmpl b/templates/cs/printer-accept.tmpl
new file mode 100644 (file)
index 0000000..c81faef
--- /dev/null
@@ -0,0 +1,9 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Příjem úloh u {is_class?třídy:tiskárny} {printer_name}</H2>
+
+<P>{is_class?Třída:Tiskárna} <A
+HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
+nyní přijímá úlohy.</P>
+
+</DIV>
diff --git a/templates/cs/printer-added.tmpl b/templates/cs/printer-added.tmpl
new file mode 100644 (file)
index 0000000..ac59405
--- /dev/null
@@ -0,0 +1,7 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Přidat tiskárnu</H2>
+
+<P>Tiskárna <A HREF="/printers/{printer_name}">{printer_name}</A> byla úspěšně přidána.
+
+</DIV>
diff --git a/templates/cs/printer-configured.tmpl b/templates/cs/printer-configured.tmpl
new file mode 100644 (file)
index 0000000..c002232
--- /dev/null
@@ -0,0 +1,8 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Nastavení parametrů u {printer_name}</H2>
+
+<P>{OP=set-class-options?Class <A HREF="/classes/{printer_name}">:Tiskárna <A HREF="/printers/{printer_name}">}{printer_name}</A>
+byla úspěšně nastavena.
+
+</DIV>
similarity index 64%
rename from templates/pl/printer-confirm.tmpl
rename to templates/cs/printer-confirm.tmpl
index 73f8601..5ace8a6 100644 (file)
@@ -1,10 +1,10 @@
 <DIV CLASS="indent">
 
-<H2 CLASS="title">Usuwanie drukarki {printer_name}</H2>
+<H2 CLASS="title">Výmaz tiskárny {printer_name}</H2>
 
-<P><B>Ostrzeżenie:</B> usunąć drukarkę
+<P><B>Varování:</B> Opravdu chcete vymazat tiskárnu
 {printer_name}?</P>
 
-<P ALIGN="CENTER"><FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="delete-printer"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}"><INPUT TYPE="SUBMIT" NAME="confirm" VALUE="Usuń drukarkę"></FORM></P>
+<P ALIGN="CENTER"><FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="delete-printer"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}"><INPUT TYPE="SUBMIT" NAME="confirm" VALUE="Vymazat tiskárnu"></FORM></P>
 
 </DIV>
diff --git a/templates/cs/printer-default.tmpl b/templates/cs/printer-default.tmpl
new file mode 100644 (file)
index 0000000..d066cc0
--- /dev/null
@@ -0,0 +1,11 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Nastavení {is_class?třídy:tiskárny} {printer_name} jako výchozí</H2>
+
+<P>{is_class?Třída:Tiskárna} <A
+HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
+byla nastavena jako výchozí na serveru.</P>
+
+<BLOCKQUOTE><B>Pozn.</B> libovolný uživatel může pomocí příkazu <TT>lpoptions</TT> přepsat toto nastavení.</BLOCKQUOTE>
+
+</DIV>
diff --git a/templates/cs/printer-deleted.tmpl b/templates/cs/printer-deleted.tmpl
new file mode 100644 (file)
index 0000000..76c8b22
--- /dev/null
@@ -0,0 +1,7 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Výmaz tiskárny {printer_name}</H2>
+
+<P>Tiskárna {printer_name} byla úspěšně vymazána.
+
+</DIV>
diff --git a/templates/cs/printer-jobs-header.tmpl b/templates/cs/printer-jobs-header.tmpl
new file mode 100644 (file)
index 0000000..d8142d1
--- /dev/null
@@ -0,0 +1,3 @@
+<DIV CLASS="indent">
+<H3 CLASS="title">Úlohy</H3>
+</DIV>
diff --git a/templates/cs/printer-modified.tmpl b/templates/cs/printer-modified.tmpl
new file mode 100644 (file)
index 0000000..3dd91d2
--- /dev/null
@@ -0,0 +1,8 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Úprava tiskárny {printer_name}</H2>
+
+<P>Tiskárna <A HREF="/printers/{printer_name}">{printer_name}</A> byla
+úspěšně upravena.
+
+</DIV>
\ No newline at end of file
diff --git a/templates/cs/printer-purge.tmpl b/templates/cs/printer-purge.tmpl
new file mode 100644 (file)
index 0000000..b85195f
--- /dev/null
@@ -0,0 +1,10 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Výmaz úloh u {is_class?třídy:tiskárny} {printer_name}</H2>
+
+<P>U {is_class?třídy:tiskárny} <A
+HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
+byly vymazány všechny úlohy.</P>
+
+</DIV>
+
diff --git a/templates/cs/printer-reject.tmpl b/templates/cs/printer-reject.tmpl
new file mode 100644 (file)
index 0000000..6ce184b
--- /dev/null
@@ -0,0 +1,9 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Odmítnutí úloh u {is_class?třídy:tiskárny} {printer_name}</H2>
+
+<P>{is_class?Třída:Tiskárna} <A
+HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
+už nepřijímá úlohy.</P>
+
+</DIV>
diff --git a/templates/cs/printer-start.tmpl b/templates/cs/printer-start.tmpl
new file mode 100644 (file)
index 0000000..cc9f3eb
--- /dev/null
@@ -0,0 +1,9 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Obnovení {is_class?třídy:tiskárny} {printer_name}</H2>
+
+<P>{is_class?Třída:Tiskárna} <A
+HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
+byla obnovena.</P>
+
+</DIV>
\ No newline at end of file
diff --git a/templates/cs/printer-stop.tmpl b/templates/cs/printer-stop.tmpl
new file mode 100644 (file)
index 0000000..cfecaa0
--- /dev/null
@@ -0,0 +1,9 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Pozastavení {is_class?třídy:tiskárny} {printer_name}</H2>
+
+<P>{is_class?Třída:Tiskárna} <A
+HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
+byla pozastavena.</P>
+
+</DIV>
\ No newline at end of file
diff --git a/templates/cs/printer.tmpl b/templates/cs/printer.tmpl
new file mode 100644 (file)
index 0000000..3cddce2
--- /dev/null
@@ -0,0 +1,48 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title"><A HREF="{printer_uri_supported}">{printer_name}</A>
+({printer_state=3?čeká:{printer_state=4?tiskne:pauza}},
+{printer_is_accepting_jobs=0?ne:}přijímá úlohy,
+{server_is_sharing_printers=0?není:{printer_is_shared=0?není:}} sdílení{default_name={printer_name}?, výchozí server:})</H2>
+
+<FORM METHOD="POST" ACTION="{printer_uri_supported}" NAME="maintenance">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<SELECT NAME="OP" ONCHANGE="document.maintenance.submit();">
+<OPTION VALUE="">Údržba</OPTION>
+<OPTION VALUE="print-test-page">Tisk zkušební stránky</OPTION>
+{printer_commands~.*Clean.*?<OPTION VALUE="clean-print-heads">Vyčištění tiskových hlav</OPTION>:}
+{printer_commands~.*PrintSelfTestPage.*?<OPTION VALUE="print-self-test-page">Tisk self-test stránky</OPTION>:}
+{printer_state=5?<OPTION VALUE="start-printer">Obnovení tiskárny</OPTION>:<OPTION VALUE="stop-printer">Pozastavení tiskárny</OPTION>}
+{printer_is_accepting_jobs=0?<OPTION VALUE="accept-jobs">Příjem úloh</OPTION>:<OPTION VALUE="reject-jobs">Odmítnutí úloh</OPTION>}
+<OPTION VALUE="move-jobs">Přesun všech úloh</OPTION>
+<OPTION VALUE="purge-jobs">Výmaz všech úloh</OPTION>
+</SELECT>
+<INPUT TYPE="SUBMIT" VALUE="Go" STYLE="display: none;">
+</FORM>
+
+<FORM METHOD="POST" ACTION="{admin_uri}" NAME="administration">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">
+<SELECT NAME="OP" ONCHANGE="document.administration.submit();">
+<OPTION VALUE="">Administrace</OPTION>
+<OPTION VALUE="modify-printer">Úprava tiskárny</OPTION>
+<OPTION VALUE="delete-printer">Výmaz tiskárny</OPTION>
+<OPTION VALUE="set-printer-options">Nastavení parametrů</OPTION>
+<OPTION VALUE="set-as-default">Nastavení jako výchozí na serveru</OPTION>
+<OPTION VALUE="set-allowed-users">Nastavení přístupu uživatelů</OPTION>
+</SELECT>
+<INPUT TYPE="SUBMIT" VALUE="Go" STYLE="display: none;">
+</FORM>
+
+<TABLE SUMMARY="{printer_name}">
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Popis:</TH><TD>{printer_info}</TD></TR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Umístění:</TH><TD>{printer_location}</TD></TR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Výrobce a model:</TH><TD>{printer_make_and_model}
+({color_supported=1?barevná:černobílá}{sides_supported?, oboustranný tisk:})<BR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Připojení:</TH><TD>{device_uri}</TD></TR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Nastavení:</TH><TD>job-sheets={job_sheets_default}
+media={media_default?{media_default}:unknown}
+{sides_default?sides={sides_default}:}</TD></TR>
+</TABLE>
+
+</DIV>
\ No newline at end of file
diff --git a/templates/cs/printers-header.tmpl b/templates/cs/printers-header.tmpl
new file mode 100644 (file)
index 0000000..4755aff
--- /dev/null
@@ -0,0 +1 @@
+<P ALIGN="CENTER">{total=0?Žádné tiskárny:Zobrazení {#printer_name} z {total} tiskár{total=1?ny:en}}.</P>
diff --git a/templates/cs/printers.tmpl b/templates/cs/printers.tmpl
new file mode 100644 (file)
index 0000000..3861ac3
--- /dev/null
@@ -0,0 +1,11 @@
+{#printer_name=0?:
+<TABLE CLASS="list" SUMMARY="Printers List">
+<THEAD>
+<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&amp;WHICH_JOBS={?WHICH_JOBS}&amp;FIRST={FIRST}&amp;ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>&#x25b2;</SMALL> Název fronty <SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL> Název fronty <SMALL>&#x25bc;</SMALL>}</A></TH><TH>Popis</TH><TH>Umístění</TH><TH>Výrobce a model</TH><TH>Stav</TH></TR>
+</THEAD>
+<TBODY>
+{[printer_name]
+<TR><TD><A HREF="{printer_uri_supported}">{printer_name}</A></TD><TD>{printer_info}</TD><TD>{printer_location}</TD><TD>{printer_make_and_model}</TD><TD>{printer_state=3?Čeká:{printer_state=4?Tiskne:Pauza}}{printer_state_message? - "{printer_state_message}":}</TD></TR>
+}
+</TBODY>
+</TABLE></DIV>}
diff --git a/templates/cs/restart.tmpl b/templates/cs/restart.tmpl
new file mode 100644 (file)
index 0000000..1c68b05
--- /dev/null
@@ -0,0 +1,8 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Změna nastavení</H2>
+
+<P><IMG SRC="/images/wait.gif" WIDTH="16" HEIGHT="16" ALIGN="ABSMIDDLE"
+ALT="Busy Indicator"> Prosím čekejte, probíhá restart serveru ...</P>
+
+</DIV>
diff --git a/templates/cs/samba-export.tmpl b/templates/cs/samba-export.tmpl
new file mode 100644 (file)
index 0000000..afc0bea
--- /dev/null
@@ -0,0 +1,55 @@
+<SCRIPT TYPE="text/javascript"><!--
+function select_printers() {
+  var list = document.export_samba.EXPORT_NAME;
+  var sel = document.export_samba.EXPORT_ALL.checked;
+
+  for (i = 0; i < list.length; i ++) {
+    list.options[i].selected = sel;
+  }
+}
+--></SCRIPT>
+
+<FORM METHOD="POST" ACTION="/admin/" NAME="export_samba">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="export-samba">
+
+<H2 CLASS="title">Export tiskáren do Samby</H2>
+
+{error?<P>Nelze exportovat tiskárny do Samby\:</P>
+<BLOCKQUOTE>{error}</BLOCKQUOTE>
+<P>Nahlédnout do <A HREF="/admin/log/error_log"
+TARGET="_blank">error_log</A> souboru pro více informací.</P>:
+
+<P>Tato stránka umožňuje export tiskáren do Samby, aby k nim klienti
+systému Windows mohli přistupovat pomocí ikon <VAR>Okolní počítače</VAR>
+nebo <VAR>Místa v síti</VAR> na své pracovní ploše. Musíte předem
+nainstalovat ovladače OS Windows pro postScriptové tiskárny, jak je popsáno v
+ <A HREF="/help/man-cupsaddsmb.html" TARGET="_blank">cupsaddsmb(8)</A> 
+manuálové stránky.</P>}
+
+<TABLE>
+<TR>
+<TH CLASS="label">Tiskárny:</TH>
+<TD>
+<SELECT NAME="EXPORT_NAME" SIZE="10" MULTIPLE>
+{[printer_name]<OPTION VALUE="{printer_name}"{export_all? SELECTED:{printer_export? SELECTED:}}>{printer_name}}
+</SELECT><BR>
+<INPUT TYPE="CHECKBOX" NAME="EXPORT_ALL"{export_all? CHECKED:}
+onChange="select_printers()"> Export všech tiskáren
+</TD>
+</TR>
+<TR>
+<TH CLASS="label">Uživatel Samby:</TH>
+<TD><INPUT TYPE="TEXT" NAME="USERNAME" VALUE="{?USERNAME}"> (povinný údaj)</TD>
+</TR>
+<TR>
+<TH CLASS="label">Heslo uživatele:</TH>
+<TD><INPUT TYPE="PASSWORD" NAME="PASSWORD" VALUE=""> (povinný údaj)</TD>
+</TR>
+<TR>
+<TD></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Export tiskáren"></TD>
+</TR>
+</TABLE>
+
+</FORM>
diff --git a/templates/cs/samba-exported.tmpl b/templates/cs/samba-exported.tmpl
new file mode 100644 (file)
index 0000000..121fe48
--- /dev/null
@@ -0,0 +1 @@
+<P>Export tiskáren do Samby byl úspěšně proveden.</P>
similarity index 60%
rename from templates/eu/search.tmpl
rename to templates/cs/search.tmpl
index 4211735..cad77ca 100644 (file)
@@ -2,9 +2,9 @@
 {WHICH_JOBS?<INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{WHICH_JOBS}">:}
 {ORDER?<INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{ORDER}">:}
 
-<P ALIGN="CENTER"><B>Bilatu 
-{SEARCH_DEST?{SEARCH_DEST}:{SECTION=classes?klasetan:{SECTION=jobs?lanetan:inprimgailuetan}}}:</B>
+<P ALIGN="CENTER"><B>Hledat v
+{SEARCH_DEST?{SEARCH_DEST}:{SECTION=classes?třídách:{SECTION=jobs?úlohách:tiskárnách}}}:</B>
 <INPUT TYPE="SEARCH" NAME="QUERY" VALUE="{?QUERY}" SIZE="40"  PLACEHOLDER="" AUTOSAVE="org.cups.{SECTION}" RESULTS="20"> <INPUT
-TYPE="SUBMIT" VALUE="Bilatu"> <INPUT TYPE="SUBMIT" NAME="CLEAR" VALUE="Garbitu"></P>
+TYPE="SUBMIT" VALUE="Hledat"> <INPUT TYPE="SUBMIT" NAME="CLEAR" VALUE="Smazat"></P>
 
 </FORM>
similarity index 87%
rename from templates/id/set-printer-options-header.tmpl
rename to templates/cs/set-printer-options-header.tmpl
index 017e2c4..160ae6b 100644 (file)
@@ -1,12 +1,12 @@
 <DIV CLASS="indent">
 
-<H2 CLASS="title">Atur Opsi Baku untuk {printer_name}</H2>
+<H2 CLASS="title">Nastavení parametrů u {printer_name}</H2>
 
 <FORM METHOD="POST" ACTION="/admin">
 <INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
 <INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">
 <INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-{HAVE_AUTOCONFIGURE?<INPUT TYPE="SUBMIT" NAME="AUTOCONFIGURE" VALUE="Kuiri Pencetak untuk Opsi Baku">:}
+{HAVE_AUTOCONFIGURE?<INPUT TYPE="SUBMIT" NAME="AUTOCONFIGURE" VALUE="Nastavit výchozí parametry tiskárny">:}
 
 <SCRIPT TYPE="text/javascript"><!--
 function update_paramtable(option)
diff --git a/templates/cs/subscription-added.tmpl b/templates/cs/subscription-added.tmpl
new file mode 100644 (file)
index 0000000..926d796
--- /dev/null
@@ -0,0 +1,5 @@
+<DIV CLASS="indent">
+
+<P>Předplatné {subscription_name} bylo úspěšně přidáno.</P>
+
+</DIV>
diff --git a/templates/cs/subscription-canceled.tmpl b/templates/cs/subscription-canceled.tmpl
new file mode 100644 (file)
index 0000000..0e25268
--- /dev/null
@@ -0,0 +1,5 @@
+<DIV CLASS="indent">
+
+<P>Předplatné #{notify_subscription_id} bylo zrušeno.</P>
+
+</DIV>
diff --git a/templates/cs/test-page.tmpl b/templates/cs/test-page.tmpl
new file mode 100644 (file)
index 0000000..d1a1d9d
--- /dev/null
@@ -0,0 +1,8 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Tisk zkušební stránky na {printer_name}</H2>
+
+<P>Zkušební stránka odeslána; ID úlohy je <A HREF="/{SECTION}/{printer_name}">
+{printer_name}-{job_id}</A>.</P>
+
+</DIV>
diff --git a/templates/cs/trailer.tmpl b/templates/cs/trailer.tmpl
new file mode 100644 (file)
index 0000000..44f358b
--- /dev/null
@@ -0,0 +1,8 @@
+</TD></TR>
+<TR><TD>&nbsp;</TD></TR>
+<TR><TD CLASS="trailer">CUPS a logo CUPS jsou ochranné známky společnosti
+<A HREF="http://www.apple.com">Apple Inc.</A> CUPS je chráněn autorskými
+právy 2007-2013 Apple Inc. Všechna práva vyhrazena.</TD></TR>
+</TABLE>
+</BODY>
+</HTML>
similarity index 66%
rename from templates/de/users.tmpl
rename to templates/cs/users.tmpl
index 0704e87..ff39cc3 100644 (file)
@@ -6,22 +6,22 @@
 <INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">
 {IS_CLASS?<INPUT TYPE="HIDDEN" NAME="IS_CLASS" VALUE="{IS_CLASS}">:}
 
-<H2 CLASS="title">Erlaubte Benutzer f&uuml;r {printer_name}</H2>
+<H2 CLASS="title">Nastavení přístupu uživatelů u {printer_name}</H2>
 
 <TABLE>
 <TR>
-<TH CLASS="label">Benutzer:</TH>
+<TH CLASS="label">Uživatelé:</TH>
 <TD>
 <INPUT TYPE='TEXT' NAME='users' SIZE='60' VALUE='{?requesting_user_name_allowed}{?requesting_user_name_denied}'>
 <BR>
-<INPUT TYPE='RADIO' NAME='type' VALUE='requesting-user-name-allowed' {requesting_user_name_allowed?checked:}>Erlaube diesen Benutzern zu drucken
-<INPUT TYPE='RADIO' NAME='type' VALUE='requesting-user-name-denied' {requesting_user_name_denied?checked:}>Verweigere diesen Benutzern zu drucken
+<INPUT TYPE='RADIO' NAME='type' VALUE='requesting-user-name-allowed' {requesting_user_name_allowed?checked:}>Povolit uživatelům tisknout
+<INPUT TYPE='RADIO' NAME='type' VALUE='requesting-user-name-denied' {requesting_user_name_denied?checked:}>Zakázat uživatelům tisknout
 </TD>
 </TR>
 <TR>
 <TD></TD>
 <TD>
-<INPUT TYPE="SUBMIT" VALUE="Erlaubte Benutzer festlegen">
+<INPUT TYPE="SUBMIT" VALUE="Nastavení přístupů">
 </TD>
 </TR>
 </TABLE>
diff --git a/templates/de/add-class.tmpl b/templates/de/add-class.tmpl
deleted file mode 100644 (file)
index 2753bb9..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Klasse hinzuf&uuml;gen</H2>
-
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-
-<TABLE>
-<TR>
-<TH CLASS="label">Name:</TH>
-<TD><INPUT TYPE="TEXT" NAME="PRINTER_NAME" SIZE="40" MAXLENGTH="127"><BR>
-<SMALL>(Darf alle druckbaren Zeichen au&szlig;er "/", "#", und Leerzeichen enthalten)</SMALL></TD>
-</TR>
-<TR>
-<TH CLASS="label">Beschreibung:</TH>
-<TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" SIZE="40" MAXLENGTH="127"><BR>
-<SMALL>(F&uuml;r Menschen lesbare Beschreibung wie "HP LaserJet with Duplexer")</SMALL></TD>
-</TR>
-<TR>
-<TH CLASS="label">Ort:</TH>
-<TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" SIZE="40" MAXLENGTH="127"><BR>
-<SMALL>(F&uuml;r Menschen lesbarer Ort wie "Lab 1")</SMALL></TD>
-</TR>
-<TR>
-<TH CLASS="label">Mitglieder:</TH>
-<TD>
-<SELECT NAME="MEMBER_URIS" SIZE="10" MULTIPLE>
-{[member_uris]<OPTION VALUE="{member_uris}" {?member_selected}>{member_names}}
-</SELECT>
-</TD>
-</TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Klasse hinzuf&uuml;gen"></TD>
-</TR>
-</TABLE>
-
-</FORM>
-</DIV>
diff --git a/templates/de/add-rss-subscription.tmpl b/templates/de/add-rss-subscription.tmpl
deleted file mode 100644 (file)
index 6b92fac..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-rss-subscription">
-
-<H2 CLASS="title">RSS Subskription hinzuf&uuml;gen</H2>
-
-<TABLE SUMMARY="Forumlar zum Hinzufügen einer RSS Subskription">
-<TR>
-<TH CLASS="label">Name:</TH>
-<TD COLSPAN="5"><INPUT TYPE="TEXT" NAME="SUBSCRIPTION_NAME" SIZE="40" MAXLENGTH="127" VALUE="{?SUBSCRIPTION_NAME}"><BR>
-<SMALL>(Darf alle druckbaren Zeichen au&szlig;er Leerzeichen, "/", "?", und "#" enthalten)</SMALL></TD>
-</TR>
-<TR>
-<TH CLASS="label">Warteschlange:</TH>
-<TD COLSPAN="5"><SELECT NAME="PRINTER_URI" SIZE="10"><OPTION VALUE="#ALL#"{?PRINTER_URI=#ALL#? SELECTED:}>Alle Warteschlangen</OPTION>{[printer_name]<OPTION VALUE="{printer_uri_supported}"{?PRINTER_URI={printer_uri_supported}? SELECTED:}>{printer_name}</OPTION>}</SELECT></TD>
-</TR>
-<TR VALIGN="TOP">
-<TH CLASS="label">Ereignisse:</TH>
-<TD><INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_CREATED" {?EVENT_JOB_CREATED}>Auftrag Erstellt<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_COMPLETED" {?EVENT_JOB_COMPLETED}>Auftrag Abgeschlossen<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_STOPPED" {?EVENT_JOB_STOPPED}>Auftrag Gestoppt<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_CONFIG_CHANGED" {?EVENT_JOB_CONFIG_CHANGED}>Auftrags Parameter Ge&auml;ndert</TD>
-<TD>&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-<TD><INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_STOPPED" {?EVENT_PRINTER_STOPPED}>Warteschlange Gestoppt<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_ADDED" {?EVENT_PRINTER_ADDED}>Warteschlange Hinzugef&uuml;gt<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_MODIFIED" {?EVENT_PRINTER_MODIFIED}>Warteschlange Ge&auml;ndert<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_DELETED" {?EVENT_PRINTER_DELETED}>Warteschlange Gel&ouml;scht</TD>
-<TD>&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-<TD><INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_STARTED" {?EVENT_SERVER_STARTED}>Server Gestartet<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_STOPPED" {?EVENT_SERVER_STOPPED}>Server Gestoppt<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_RESTARTED" {?EVENT_SERVER_RESTARTED}>Server Neu Gestartet<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_AUDIT" {?EVENT_SERVER_AUDIT}>Server Sicherheits Pr&uuml;fung</TD>
-</TR>
-<TR>
-<TH CLASS="label">Maximale Ereignisse in Durchf&uuml;hrung:</TH>
-<TD COLSPAN="5"><INPUT TYPE="NUMBER" NAME="MAX_EVENTS" SIZE="4" MAXLENGTH="4" VALUE="{MAX_EVENTS?{MAX_EVENTS}:20}"></TD>
-</TR>
-<TR>
-<TD></TD>
-<TD COLSPAN="5"><INPUT TYPE="SUBMIT" VALUE="RSS Subskription hinzuf&uuml;gen"></TD>
-</TR>
-</TABLE>
-
-</FORM>
diff --git a/templates/de/admin.tmpl b/templates/de/admin.tmpl
deleted file mode 100644 (file)
index 1ad1326..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-<TABLE CLASS="indent" SUMMARY="Administrative T&auml;tigkeiten">
-<TR><TD VALIGN="TOP">
-
-<H2 CLASS="title">Drucker</H2>
-
-<P>
-<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-printer"><INPUT TYPE="SUBMIT" VALUE="Drucker hinzuf&uuml;gen"></FORM>
-<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="find-new-printers"><INPUT TYPE="SUBMIT" VALUE="Verf&uuml;gbare Drucker auflisten"></FORM>
-<FORM ACTION="/printers/" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Drucker verwalten"></FORM>
-{have_samba?<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="export-samba"><INPUT TYPE="SUBMIT" VALUE="Drucker f&uuml;r Samba freigeben"></FORM>:}
-</P>
-
-<H2 CLASS="title">Klassen</H2>
-
-<P>
-<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-class"><INPUT TYPE="SUBMIT" VALUE="Klasse hinzuf&uuml;gen"></FORM>
-<FORM ACTION="/classes/" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Klassen verwalten"></FORM>
-</P>
-
-<H2 CLASS="title">Druckauftr&auml;ge</H2>
-
-<P>
-<FORM ACTION="/jobs/" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Auftr&auml;ge verwalten"></FORM>
-</P>
-
-</TD><TD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD><TD VALIGN="TOP">
-
-<H2 CLASS="title">Server</H2>
-
-<P>
-<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server"><INPUT TYPE="SUBMIT" VALUE="Konfigurationsdatei bearbeiten"></FORM>
-<FORM ACTION="/admin/log/access_log" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Zugriffsprotokoll betrachten"></FORM>
-<FORM ACTION="/admin/log/error_log" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Fehlerprotokoll betrachten"></FORM>
-<FORM ACTION="/admin/log/page_log" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Seitenprotokoll betrachten"></FORM>
-</P>
-
-{SETTINGS_ERROR?<P>{SETTINGS_MESSAGE}</P>
-<BLOCKQUOTE>{SETTINGS_ERROR}</BLOCKQUOTE>:
-
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-
-{ADVANCEDSETTINGS?<P><B>Erweiterte Servereinstellungen\:</B></P>
-
-<P><A HREF="/admin/">Erweitert <SMALL>&#x25bc;</SMALL></A><BR>
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server">
-<INPUT TYPE="HIDDEN" NAME="ADVANCEDSETTINGS" VALUE="YES">
-<INPUT TYPE="CHECKBOX" NAME="REMOTE_PRINTERS" {?remote_printers}> Zeige freigegebene Drucker von anderen Systemen<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Protokolle\:
-<INPUT TYPE="CHECKBOX" NAME="BROWSE_REMOTE_CUPS" {?browse_remote_cups}> CUPS
-{HAVE_LDAP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_REMOTE_LDAP" {?browse_remote_ldap}> LDAP:}
-{HAVE_LIBSLP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_REMOTE_SLP" {?browse_remote_slp}> SLP:}<BR>
-<INPUT TYPE="CHECKBOX" NAME="SHARE_PRINTERS" {?share_printers}> Freigeben von Druckern welche mit diesem System verbunden sind<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Klienten maximal\:
-<INPUT TYPE="TEXT" NAME="MAX_CLIENTS" VALUE="{?max_clients}" SIZE="6"><BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Protokolle\:
-<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_CUPS" {?browse_local_cups}> CUPS
-{HAVE_DNSSD?<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_DNSSD" {?browse_local_dnssd}> DNS-SD:}
-{HAVE_LDAP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_LDAP" {?browse_local_ldap}> LDAP:}
-{HAVE_LIBSLP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_SLP" {?browse_local_slp}> SLP:}<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="REMOTE_ANY" {?remote_any}> Erlaube Drucken vom Internet aus<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="BROWSE_WEB_IF" {?browse_web_if}> Ver&ouml;ffentliche Webinterface<BR>
-<INPUT TYPE="CHECKBOX" NAME="REMOTE_ADMIN" {?remote_admin}> Erlaube entfernte Verwaltung<BR>
-{have_gssapi?<INPUT TYPE="CHECKBOX" NAME="KERBEROS" {?kerberos}> Benutze Kerberos Authentifizierung (<A HREF="/help/kerberos.html?TOPIC=Getting+Started">FAQ</A>)<BR>:}
-<INPUT TYPE="CHECKBOX" NAME="USER_CANCEL_ANY" {?user_cancel_any}> Erlaube Benutzern jeden Auftrag abzubrechen (nicht nur die Eigenen)<BR>
-<INPUT TYPE="CHECKBOX" NAME="PRESERVE_JOB_HISTORY" {?preserve_job_history}> Auftragsverlauf aufbewahren<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Anzahl der Auftr&auml;ge\:
-<INPUT TYPE="TEXT" NAME="MAX_JOBS" VALUE="{?max_jobs}" SIZE="6"><BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="PRESERVE_JOB_FILES" {?preserve_job_files}> Dateien von Druckauftr&auml;gen aufbewahren<BR>
-<INPUT TYPE="CHECKBOX" NAME="DEBUG_LOGGING" {?debug_logging}> Speichere Fehlerinformationen f&uuml;r Fehlersuche<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Maximale Gr&ouml;&szlig;e der Protokolldatei\:
-<INPUT TYPE="TEXT" NAME="MAX_LOG_SIZE" VALUE="{?max_log_size}" SIZE="6"></P>
-
-:<P><B>Grundlegende Servereinstellungen:</B></P>
-
-<P><A HREF="/admin/?ADVANCEDSETTINGS=YES">Erweitert <SMALL>&#x25b6;</SMALL></A><BR>
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server">
-<INPUT TYPE="CHECKBOX" NAME="REMOTE_PRINTERS" {?remote_printers}> Zeige freigegebene Drucker von anderen Systemen<BR>
-<INPUT TYPE="CHECKBOX" NAME="SHARE_PRINTERS" {?share_printers}> Freigeben von Druckern welche mit diesem System verbunden sind<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="REMOTE_ANY" {?remote_any}> Erlaube Drucken vom Internet aus<BR>
-<INPUT TYPE="CHECKBOX" NAME="REMOTE_ADMIN" {?remote_admin}> Erlaube entfernte Verwaltung<BR>
-{have_gssapi?<INPUT TYPE="CHECKBOX" NAME="KERBEROS" {?kerberos}> Benutze Kerberos Authentifizierung (<A HREF="/help/kerberos.html?TOPIC=Getting+Started">FAQ</A>)<BR>:}
-<INPUT TYPE="CHECKBOX" NAME="USER_CANCEL_ANY" {?user_cancel_any}> Erlaube Benutzern jeden Auftrag abzubrechen (nicht nur die Eigenen)<BR>
-<INPUT TYPE="CHECKBOX" NAME="DEBUG_LOGGING" {?debug_logging}> Speichere Fehlerinformationen f&uuml;r Fehlersuche</P>
-
-}
-<P><INPUT TYPE="SUBMIT" NAME="CHANGESETTINGS" VALUE="Einstellungen &auml;ndern"></P>
-
-</FORM>}
-
-</TD></TR>
-</TABLE>
-
-<DIV CLASS="indent">
-
-<H2 CLASS="title">RSS Subskriptionen</H2>
-
-<P>
-<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-rss-subscription"><INPUT TYPE="SUBMIT" VALUE="RSS Subskription hinzuf&uuml;gen"></FORM>
-</P>
-
-</DIV>
-
-{notify_subscription_id?<TABLE CLASS="list" SUMMARY=">RSS Subskriptionen">
-<THEAD><TR><TH>Name</TH><TH>Ereignis</TH><TH>Warteschlange</TH></TR></THEAD>
-<TBODY>{[notify_subscription_id]
-<TR><TD><A HREF="{notify_recipient_uri}">{notify_recipient_name}</A><BR>
-<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="cancel-subscription"><INPUT TYPE="HIDDEN" NAME="notify_subscription_id" VALUE="{notify_subscription_id}"><INPUT TYPE="SUBMIT" VALUE="RSS Subskription k&uuml;ndigen"></FORM>&nbsp;</TD><TD>{notify_events}</TD><TD NOWRAP>&nbsp;{notify_printer_name?{notify_printer_name}:Alle Warteschlangen}</TD></TR>}
-</TBODY>
-</TABLE>:}
diff --git a/templates/de/choose-device.tmpl b/templates/de/choose-device.tmpl
deleted file mode 100644 (file)
index 3be8a35..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{op=modify-printer?{printer_name} &auml;ndern:Drucker hinzuf&uuml;gen}</H2>
-
-{CUPS_GET_DEVICES_DONE?:<P><IMG SRC="/images/wait.gif" WIDTH="16" HEIGHT="16" ALIGN="ABSMIDDLE"
-ALT="Busy Indicator"> Suche nach Druckern...</P>}
-
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-{printer_name?<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">:}
-
-<TABLE>
-{op=add-printer?:<TR>
-<TH CLASS="label">Aktuelle Verbindung:</TH>
-<TD><INPUT TYPE="RADIO" NAME="DEVICE_URI" VALUE="{current_device_uri}" CHECKED>
-{current_device_uri}</TD>
-</TR>}
-<TR>
-<TH CLASS="label">Lokale Drucker:</TH>
-<TD>
-{[device_uri]{device_class!network?<INPUT TYPE="RADIO" NAME="DEVICE_URI"
-VALUE="{device_uri}{?device_make_and_model!Unbekannt?|{device_make_and_model}:}">
-{device_info} {?device_make_and_model!Unbekannt?({device_make_and_model}):}<BR>
-:}}
-</TD>
-</TR>
-<TR>
-<TH CLASS="label">Entdeckte Netzwerkdrucker:</TH>
-<TD>
-{[device_uri]{device_class=network?{device_uri~[a-z]+://?<INPUT TYPE="RADIO" NAME="DEVICE_URI"
-VALUE="{device_uri}{?device_make_and_model!Unbekannt?|{device_make_and_model}:}">
-{device_info} {?device_make_and_model!Unbekannt?({device_make_and_model}):}<BR>
-:}:}}
-</TD>
-</TR>
-<TR>
-<TR>
-<TH CLASS="label">Andere Netzwerkdrucker:</TH>
-<TD>
-{[device_uri]{device_class=network?{device_uri~[a-z]+://?:<INPUT TYPE="RADIO" NAME="DEVICE_URI"
-VALUE="{device_uri}{?device_make_and_model!Unbekannt?|{device_make_and_model}:}">
-{device_info} {?device_make_and_model!Unbekannt?({device_make_and_model}):}<BR>
-}:}}
-</TD>
-</TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Weiter"></TD>
-</TR>
-</TABLE>
-
-</FORM>
-</DIV>
diff --git a/templates/de/choose-make.tmpl b/templates/de/choose-make.tmpl
deleted file mode 100644 (file)
index 6d572a6..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{op=modify-printer?{printer_name} &auml;ndern:Drucker hinzuf&uuml;gen}</H2>
-
-<FORM METHOD="POST" ACTION="/admin" ENCTYPE="multipart/form-data">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-{printer_name?<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">:}
-<INPUT TYPE="HIDDEN" NAME="BAUDRATE" VALUE="{?baudrate}">
-<INPUT TYPE="HIDDEN" NAME="BITS" VALUE="{?bits}">
-<INPUT TYPE="HIDDEN" NAME="PARITY" VALUE="{?parity}">
-<INPUT TYPE="HIDDEN" NAME="FLOW" VALUE="{?flow}">
-
-<TABLE>
-{op=modify-printer?:<TR>
-<TH CLASS="label">Name:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">{printer_name}</TD>
-</TR>}
-<TR>
-<TH CLASS="label">Beschreibung:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_INFO" VALUE="{printer_info}">{printer_info}</TD>
-</TR>
-<TR>
-<TH CLASS="label">Ort:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_LOCATION" VALUE="{printer_location}">{printer_location}</TD>
-</TR>
-<TR>
-<TH CLASS="label">Verbindung:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
-</TR>
-<TR>
-<TH CLASS="label">Freigabe:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_IS_SHARED" VALUE="{?printer_is_shared}">
-Diesen Drucker {?printer_is_shared=?nicht:{?printer_is_shared=0?nicht:}} freigeben</TD>
-</TR>
-<TR>
-<TH CLASS="label">Marke:</TH>
-<TD>
-<SELECT NAME="PPD_MAKE" SIZE="10">
-{[ppd_make]<OPTION VALUE="{ppd_make}" {?current_make={ppd_make}?SELECTED:}>{ppd_make}}
-</SELECT>
-</TD>
-</TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Weiter"></TD>
-</TR>
-<TR>
-<TD></TD>
-<TD>&nbsp;</TD>
-</TR>
-<TR>
-<TH CLASS="label">Oder stellen Sie eine PPD Datei bereit:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="MAX_FILE_SIZE" VALUE="262144"><INPUT
-TYPE="FILE" NAME="PPD_FILE"></TD>
-</TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="{op=add-printer?Drucker hinzuf&uuml;gen:Drucker &auml;ndern}"></TD>
-</TR>
-</TABLE>
-
-</FORM>
-</DIV>
diff --git a/templates/de/choose-model.tmpl b/templates/de/choose-model.tmpl
deleted file mode 100644 (file)
index 2f5bb18..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{op=modify-printer?{printer_name} &auml;ndern:Drucker hinzuf&uuml;gen}</H2>
-
-<FORM METHOD="POST" ACTION="/admin" ENCTYPE="multipart/form-data">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-{printer_name?<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">:}
-<INPUT TYPE="HIDDEN" NAME="BAUDRATE" VALUE="{?baudrate}">
-<INPUT TYPE="HIDDEN" NAME="BITS" VALUE="{?bits}">
-<INPUT TYPE="HIDDEN" NAME="PARITY" VALUE="{?parity}">
-<INPUT TYPE="HIDDEN" NAME="FLOW" VALUE="{?flow}">
-<TABLE>
-{op=modify-printer?:<TR>
-<TH CLASS="label">Name:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">{printer_name}</TD>
-</TR>}
-<TR>
-<TH CLASS="label">Beschreibung:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_INFO" VALUE="{printer_info}">{printer_info}</TD>
-</TR>
-<TR>
-<TH CLASS="label">Ort:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_LOCATION" VALUE="{printer_location}">{printer_location}</TD>
-</TR>
-<TR>
-<TH CLASS="label">Verbindung:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
-</TR>
-<TR>
-<TH CLASS="label">Freigabe:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_IS_SHARED" VALUE="{?printer_is_shared}">
-Diesen Drucker {?printer_is_shared=?nicht:{?printer_is_shared=0?nicht:}} freigeben</TD>
-</TR>
-<TR>
-<TH CLASS="label">Marke:</TH>
-<TD>{PPD_MAKE} <INPUT TYPE="SUBMIT" NAME="SELECT_MAKE" VALUE="Andere(n) Marke/Hersteller ausw&auml;hlen"></TD>
-</TR>
-<TR>
-<TH CLASS="label">Modell:</TH>
-<TD>
-<SELECT NAME="PPD_NAME" SIZE="10">
-{op=add-printer?:<OPTION VALUE="__no_change__" SELECTED>Aktueller Treiber - {current_make_and_model}</OPTION>:}
-{[ppd_name]<OPTION VALUE="{ppd_name}" {op=modify-printer?:{?current_make_and_model={ppd_make_and_model}?SELECTED:}}>{ppd_make_and_model} ({ppd_natural_language})
-}</SELECT>
-</TD>
-</TR>
-<TR>
-<TH CLASS="label">Oder stellen Sie eine PPD Datei bereit:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="MAX_FILE_SIZE" VALUE="262144"><INPUT
-TYPE="FILE" NAME="PPD_FILE"></TD>
-</TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="{op=add-printer?Drucker hinzuf&uuml;gen:Drucker &auml;ndern}"></TD>
-</TR>
-</TABLE>
-
-</FORM>
-</DIV>
diff --git a/templates/de/choose-serial.tmpl b/templates/de/choose-serial.tmpl
deleted file mode 100644 (file)
index a6f0044..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{op=modify-printer?{printer_name} &auml;ndern:Drucker hinzuf&uuml;gen}</H2>
-
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-{printer_name?<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">:}
-
-<TABLE>
-<TR>
-<TH CLASS="label">Verbindung:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
-</TR>
-<TR>
-<TH CLASS="label">Baud Rate:</TH>
-<TD><SELECT NAME="BAUDRATE">
-{[baudrates]<OPTION {?baudrate={baudrates}?SELECTED:}>{baudrates}}
-</SELECT></TD>
-</TR>
-<TR>
-<TH CLASS="label">Parit&auml;t:</TH>
-<TD><SELECT NAME="PARITY">
-<OPTION VALUE="none" {?parity=none?SELECTED:}>Keine
-<OPTION VALUE="even" {?parity=even?SELECTED:}>Gerade
-<OPTION VALUE="odd" {?parity=odd?SELECTED:}>Ungerade
-</SELECT></TD>
-</TR>
-<TR>
-<TH CLASS="label">Daten Bits:</TH>
-<TD><SELECT NAME="BITS">
-<OPTION {?bits=8?SELECTED:}>8
-<OPTION {?bits=7?SELECTED:}>7
-</SELECT></TD>
-</TR>
-<TR>
-<TH CLASS="label">Flu&szlig;kontrolle:</TH>
-<TD><SELECT NAME="FLOW">
-<OPTION VALUE="none" {?flow=none?SELECTED:}>None
-<OPTION VALUE="soft" {?flow=soft?SELECTED:}>XON/XOFF (Software)
-<OPTION VALUE="hard" {?flow=hard?SELECTED:}>RTS/CTS (Hardware)
-<OPTION VALUE="dtrdsr" {?flow=dtrdsr?SELECTED:}>DTR/DSR (Hardware)
-</SELECT></TD>
-</TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Weiter"></TD>
-</TR>
-</TABLE>
-
-</FORM>
-</DIV>
diff --git a/templates/de/choose-uri.tmpl b/templates/de/choose-uri.tmpl
deleted file mode 100644 (file)
index 0633fd6..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{op=modify-printer?{printer_name} &auml;ndern:Drucker hinzuf&uuml;gen}</H2>
-
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-{printer_name?<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">:}
-<INPUT TYPE="HIDDEN" NAME="CURRENT_MAKE_AND_MODEL" VALUE="{?current_make_and_model}">
-
-<TABLE>
-<TR>
-<TH CLASS="label">Verbindung:</TH>
-<TD><INPUT TYPE="URL" SIZE="60" MAXLENGTH="1024" NAME="DEVICE_URI" VALUE="{current_device_uri?{current_device_uri}:{device_uri}}"></TD>
-</TR>
-<TR>
-<TD></TD>
-<TD>Beispiele:
-<PRE>
-    http://Hostname:631/ipp/
-    http://Hostname:631/ipp/Anschluss1
-
-    ipp://Hostname/ipp/
-    ipp://Hostname/ipp/Anschluss1
-
-    lpd://Hostname/Warteschlange
-
-    socket://Hostname
-    socket://Hostname:9100
-</PRE>
-
-<P>Bitte lesen Sie <A HREF="/help/network.html" TARGET="_blank">"Netzwerk
-Drucker"</A> um die korrekte URI f&uuml;r Ihren Drucker zu benutzen.</P>
-
-</TD>
-</TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Weiter"></TD>
-</TR>
-</TABLE>
-
-</FORM>
-</DIV>
diff --git a/templates/de/class-added.tmpl b/templates/de/class-added.tmpl
deleted file mode 100644 (file)
index 3b05769..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Klasse hinzuf&uuml;gen</H2>
-
-<P>Die Klasse <A HREF="/classes/{printer_name}">{printer_name}</A> wurde erfolgreich 
-hinzugef&uuml;gt.
-
-</DIV>
diff --git a/templates/de/class-confirm.tmpl b/templates/de/class-confirm.tmpl
deleted file mode 100644 (file)
index 5e0223c..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Klasse {printer_name} l&ouml;schen</H2>
-
-<P><B>Warnung:</B> Sind Sie sicher, dass Sie die Klasse
-{printer_name} l&ouml;schen wollen?</P>
-
-<P ALIGN="CENTER"><FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="op" VALUE="delete-class"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}"><INPUT TYPE="SUBMIT" NAME="confirm" VALUE="Klasse l&ouml;schen"></FORM></P>
-
-</DIV>
diff --git a/templates/de/class-deleted.tmpl b/templates/de/class-deleted.tmpl
deleted file mode 100644 (file)
index 9357924..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Klasse {printer_name} l&ouml;schen</H2>
-
-<P>Die Klasse {printer_name} wurde erfolgreich gel&ouml;scht.
-
-</DIV>
diff --git a/templates/de/class-jobs-header.tmpl b/templates/de/class-jobs-header.tmpl
deleted file mode 100644 (file)
index 4f3de93..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<DIV CLASS="indent">
-<H3 CLASS="title">Auftr&auml;ge</H3>
-</DIV>
diff --git a/templates/de/class-modified.tmpl b/templates/de/class-modified.tmpl
deleted file mode 100644 (file)
index b5ad0da..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Klasse {printer_name} &auml;ndern</H2>
-
-<P>Die Klasse <A HREF="/classes/{printer_name}">{printer_name}</A> wurde
-erfolgreich ge&auml;ndert.
-
-</DIV>
diff --git a/templates/de/class.tmpl b/templates/de/class.tmpl
deleted file mode 100644 (file)
index 61a89dc..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-<DIV CLASS="indent">
-<H2 CLASS="title"><A HREF="{printer_uri_supported}">{printer_name}</A>
-({printer_state=3?Frei:{printer_state=4?Besch&auml;ftigt:Angehalten}},
-{printer_is_accepting_jobs=0?Auftr&auml;ge werden ablehnt:Auftr&auml;ge werden akzeptiert},
-{server_is_sharing_printers=0?Nicht:{printer_is_shared=0?Nicht:}} Freigegeben{default_name={printer_name}?, Standarddrucker:})</H2>
-
-<FORM METHOD="POST" ACTION="{printer_uri_supported}" NAME="maintenance">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<SELECT NAME="OP" ONCHANGE="document.maintenance.submit();">
-<OPTION VALUE="">Wartung</OPTION>
-<OPTION VALUE="print-test-page">Drucke Testseite</OPTION>
-{printer_state=5?<OPTION VALUE="start-class">Klasse starten</OPTION>:<OPTION VALUE="stop-class">Klasse stoppen</OPTION>}
-{printer_is_accepting_jobs=0?<OPTION VALUE="accept-jobs">Auftr&auml;ge akzeptieren</OPTION>:<OPTION VALUE="reject-jobs">Auftr&auml;ge ablehnen</OPTION>}
-<OPTION VALUE="move-jobs">Alle Auftr&auml;ge verschieben</OPTION>
-<OPTION VALUE="purge-jobs">Alle Auftr&auml;ge abbrechen</OPTION>
-</SELECT>
-<INPUT TYPE="SUBMIT" VALUE="Go" STYLE="display: none;">
-</FORM>
-
-<FORM METHOD="POST" ACTION="{admin_uri}" NAME="administration">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">
-<INPUT TYPE="HIDDEN" NAME="IS_CLASS" VALUE="1">
-<SELECT NAME="OP" ONCHANGE="document.administration.submit();">
-<OPTION VALUE="">Administration</OPTION>
-<OPTION VALUE="modify-class">Klasse &auml;ndern</OPTION>
-<OPTION VALUE="delete-class">Klasse l&ouml;schen</OPTION>
-<OPTION VALUE="set-class-options">Standardeinstellungen festlegen</OPTION>
-<OPTION VALUE="set-as-default">Als Standard festlegen</OPTION>
-<OPTION VALUE="set-allowed-users">Erlaubte Benutzer festlegen</OPTION>
-</SELECT>
-<INPUT TYPE="SUBMIT" VALUE="Go" STYLE="display: none;">
-</FORM>
-
-<TABLE SUMMARY="{printer_name}">
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Beschreibung:</TH><TD>{printer_info}</TD></TR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Ort:</TH><TD>{printer_location}</TD></TR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Mitglieder:</TH><TD>{?member_uris=?None:{member_uris}}</TD></TR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Standardeinstellungen:</TH><TD>job-sheets={job_sheets_default}
-media={media_default?{media_default}:unbekannt}
-{sides_default?sides={sides_default}:}</TD></TR>
-</TABLE>
-
-</DIV>
diff --git a/templates/de/classes-header.tmpl b/templates/de/classes-header.tmpl
deleted file mode 100644 (file)
index 5fa4d4a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<P ALIGN="CENTER">{total=0?Keine Klassen:Zeige {#printer_name} von {total} Klasse{total=1?:n}}.</P>
diff --git a/templates/de/command.tmpl b/templates/de/command.tmpl
deleted file mode 100644 (file)
index 45e8dce..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{title} auf {printer_name}</H2>
-
-<P>{job_state>5?:<IMG SRC="/images/wait.gif" WIDTH="16" HEIGHT="16"
-ALIGN="ABSMIDDLE" ALT="Busy Indicator"> }Drucker Befehlsauftrag
-{job_state=3?unerledigt:{job_state=4?gehalten:
-{job_state=5?verarbeite:{job_state=6?gestoppt:
-{job_state=7?gel&ouml;scht:{job_state=8?abgebrochen:beendet}}}}}}{job_state=9?:{job_printer_state_message?,
-<EM>"{job_printer_state_message}"</EM>:}}</P>
-
-</DIV>
diff --git a/templates/de/help-header.tmpl b/templates/de/help-header.tmpl
deleted file mode 100644 (file)
index a2d68a5..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-<DIV CLASS="indent">
-<FORM ACTION="/help/{?HELPFILE}" METHOD="GET">
-{TOPIC?<INPUT TYPE="HIDDEN" NAME="TOPIC" VALUE="{TOPIC}">:}
-
-<P ALIGN="CENTER"><B>Suche in
-{HELPTITLE?{HELPTITLE}:{TOPIC?{TOPIC}:allen Dokumenten}}:</B> <INPUT
-TYPE="SEARCH" NAME="QUERY" VALUE="{?QUERY}" SIZE="40" PLACEHOLDER=""
-AUTOSAVE="org.cups.help" RESULTS="20">
-<INPUT TYPE="SUBMIT" NAME="SEARCH" VALUE="Suchen">
-<INPUT TYPE="SUBMIT" NAME="CLEAR" VALUE="Leeren"></P>
-
-</FORM>
-
-<!-- Bookmarks -->
-<DIV CLASS="sidebar"><TABLE CLASS="inset" SUMMARY="Inhalt">
-<TR><TD>
-
-<H3 CLASS="title">Online Hilfe Dokumente</H3>
-
-<P CLASS="l0"><A HREF="/help/{QUERY??QUERY={QUERY}:}">Alle Dokumente</A></P>
-<HR>
-
-{[BMTEXT]<P CLASS="l{BMINDENT}"><A HREF="{BMLINK}">{BMTEXT}</A></P>
-}
-</TD></TR>
-</TABLE></DIV>
-
-{QUERY?<P>Suchergebnisse in {HELPFILE?{HELPTITLE}:{TOPIC?{TOPIC}:allen Dokumenten}}\:</P>
-{QTEXT?<UL>
-{[QTEXT]<LI><A HREF="{QLINK}">{QTEXT}</A>{QPTEXT? (in <I><A HREF="{QPLINK}">{QPTEXT}</A></I>):}</LI>}
-{QTEXT?</UL>:}
-:<P>Keine &Uuml;bereinstimmung gefunden.</P>}
-<HR NOSHADE>:}
-{HELPTITLE?<H1>{HELPTITLE}</H1>
-<FORM ACTION="/help/{?HELPFILE}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="PRINTABLE" VALUE="YES"><INPUT TYPE="SUBMIT" VALUE="Druckversion anzeigen"></FORM>:
-
-<H1>CUPS Hilfeseiten</H1>
-
-<P>Dies ist das CUPS online Hilfesystem. Geben Sie Ihren Suchbegriff
-oben ein oder klicken Sie auf einen der Dokumentationslinks
-um sich die Online Hilfe Informationen anzeigen zu lassen.</P>
-
-<P>Wenn Sie noch unerfahren im Umgang mit CUPS sind, lesen Sie die "<a
-href="/help/overview.html">CUPS &Uuml;bersicht</a>".
-Erfahrene Benutzer sollten "<a href="/help/whatsnew.html">Was ist neu in CUPS
-1.4</a>" lesen.</P>
-
-<P>Die <A HREF="http://www.cups.org/">CUPS Webseite</A> bietet
-ebenfalls viele Angebote inklusive Diskussionsforen f&uuml; Benutzer,
-Antworten auf h&auml;ufig gestellte Fragen, und ein Formular für
-Fehlerberichte und W&uuml;nsche.</P>}
diff --git a/templates/de/help-trailer.tmpl b/templates/de/help-trailer.tmpl
deleted file mode 100644 (file)
index 4c1ebed..0000000
+++ /dev/null
@@ -1 +0,0 @@
-</DIV>
diff --git a/templates/de/job-cancel.tmpl b/templates/de/job-cancel.tmpl
deleted file mode 100644 (file)
index 9bf6f38..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Auftrag {job_id} l&ouml;schen</H2>
-
-<P><A HREF="{job_printer_uri}">Auftrag {job_id}</A> wurde gel&ouml;scht.
-
-</DIV>
diff --git a/templates/de/job-hold.tmpl b/templates/de/job-hold.tmpl
deleted file mode 100644 (file)
index aaddb20..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Auftrag {job_id} anhalten</H2>
-
-<P><A HREF="{job_printer_uri}">Auftrag {job_id}</A> wurde vom Drucken abgehalten.
-
-</DIV>
diff --git a/templates/de/job-move.tmpl b/templates/de/job-move.tmpl
deleted file mode 100644 (file)
index 67c57dd..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<DIV CLASS="indent">
-
-<FORM METHOD="POST" ACTION="/{SECTION}/{job_id?:{printer_name}}">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-{job_id?<INPUT TYPE="HIDDEN" NAME="JOB_ID" VALUE="{job_id}">:}
-
-<H2 CLASS="title">{job_id?Auftrag {job_id} verschieben:Alle Auftr&auml;ge verschieben}</H2>
-
-<TABLE>
-<TR>
-<TH CLASS="label">Neues Ziel:</TH>
-<TD>
-<SELECT NAME="JOB_PRINTER_URI" SIZE="10">
-{[job_printer_uri]<OPTION VALUE="{job_printer_uri}">{job_printer_name}}
-</SELECT>
-</TD>
-</TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="{job_id?Auftrag verschieben:Auftr&auml;ge verschieben}"></TD>
-</TR>
-</TABLE>
-
-</FORM>
-
-</DIV>
diff --git a/templates/de/job-moved.tmpl b/templates/de/job-moved.tmpl
deleted file mode 100644 (file)
index ad9624e..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{job_id?Auftrag {job_id} verschieben:Alle Auftr&auml;ge verschieben}</H2>
-
-<P>{job_id?<A HREF="/jobs/{job_id}">Auftrag {job_id}</A>:Alle Auftr&auml;ge} nach
-<A HREF="{job_printer_uri}">{job_printer_name}</A> verschoben.</P>
-
-</DIV>
diff --git a/templates/de/job-release.tmpl b/templates/de/job-release.tmpl
deleted file mode 100644 (file)
index e1d4227..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Auftrag {job_id} freigeben</H2>
-
-<P><A HREF="{job_printer_uri}">Auftrag {job_id}</A> wurde zum Drucken freigegeben.
-
-</DIV>
diff --git a/templates/de/job-restart.tmpl b/templates/de/job-restart.tmpl
deleted file mode 100644 (file)
index b487697..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Auftrag {job_id} neu starten</H2>
-
-<P><A HREF="{job_printer_uri}">Auftrag {job_id}</A> wurde neu gestartet.
-
-</DIV>
diff --git a/templates/de/jobs-header.tmpl b/templates/de/jobs-header.tmpl
deleted file mode 100644 (file)
index 6565af4..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<DIV CLASS="indent">{?which_jobs=?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Aktive Auftr&auml;ge anzeigen"></FORM>}
-{?which_jobs=completed?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="which_jobs" VALUE="completed"><INPUT TYPE="SUBMIT" VALUE="Fertige Auftr&auml;ge anzeigen"></FORM>}
-{?which_jobs=all?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="which_jobs" VALUE="all"><INPUT TYPE="SUBMIT" VALUE="Alle Auftr&auml;ge anzeigen"></FORM>}</DIV>
-
-<P ALIGN="CENTER">{total=0?Keine Auftr&auml;ge:Zeige {#job_id} von {total} {?which_jobs=?aktiven:{which_jobs=all?:beendeten}} {total=1?Auftrag:Auftr&auml;gen}}.</P>
diff --git a/templates/de/jobs.tmpl b/templates/de/jobs.tmpl
deleted file mode 100644 (file)
index 94a60b0..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-{#job_id=0?:
-<TABLE CLASS="list" SUMMARY="Auftragsliste">
-<THEAD>
-<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&amp;WHICH_JOBS={?WHICH_JOBS}&amp;FIRST={FIRST}&amp;ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>&#x25b2;</SMALL> ID <SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL> ID <SMALL>&#x25bc;</SMALL>}</A></TH><TH>Name</TH><TH>Benutzer</TH><TH>Gr&ouml;&szlig;e</TH><TH>Seiten</TH><TH>Status</TH><TH>Kontrolle</TH></TR>
-</THEAD>
-<TBODY>
-{[job_id]
-<TR VALIGN="TOP">
-<TD><A HREF="{job_printer_uri}">{job_printer_name}</A>-{job_id}&nbsp;</TD>
-<TD>{?job_name=?Unbekannt:{job_name}}&nbsp;</TD>
-<TD>{job_originating_user_name}&nbsp;</TD>
-<TD>{job_k_octets}k&nbsp;</TD>
-<TD>{job_media_sheets_completed=0?Unbekannt:{?job_media_sheets_completed}}&nbsp;</TD>
-<TD>{job_state=3?unerledigt seit<BR>{time_at_creation}:{job_state=4?angehalten seit<BR>{time_at_creation}:
-{job_state=5?verarbeitet seit<BR>{time_at_processing}:{job_state=6?gestoppt:
-{job_state=7?gel&ouml;scht am<BR>{time_at_completed}:{job_state=8?abgebrochen:beendet am<BR>{time_at_completed}}}}}}}&nbsp;{job_printer_state_message?<BR>
-<EM>"{job_printer_state_message}"</EM>:}</TD>
-<TD>
-{job_preserved>0?{job_state>5?
-<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="restart-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}">
-<INPUT TYPE="SUBMIT" VALUE="Auftrag neu drucken"></FORM>:}:}
-{job_state=4?
-<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="release-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}">
-<INPUT TYPE="SUBMIT" VALUE="Auftrag freigeben"></FORM>:}
-{job_state=3?
-<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="hold-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}">
-<INPUT TYPE="SUBMIT" VALUE="Auftrag anhalten"></FORM>:}
-{job_state<7?
-<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="cancel-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}">
-<INPUT TYPE="SUBMIT" VALUE="Auftrag l&ouml;schen"></FORM>
-<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="move-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="SUBMIT" VALUE="Auftrag verschieben"></FORM>:}
-&nbsp;</TD>
-</TR>
-}
-</TBODY>
-</TABLE>
-}
diff --git a/templates/de/modify-class.tmpl b/templates/de/modify-class.tmpl
deleted file mode 100644 (file)
index 2e0bae8..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Klasse {printer_name} &auml;ndern</H2>
-
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-<INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">
-
-<TABLE>
-<TR>
-<TH CLASS="label">Beschreibung:</TH>
-<TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" VALUE="{?printer_info}" SIZE="40" MAXLENGTH="127"></TD>
-</TR>
-<TR>
-<TH CLASS="label">Ort:</TH>
-<TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" VALUE="{?printer_location}" SIZE="40" MAXLENGTH="127"></TD>
-</TR>
-<TR>
-<TH CLASS="label">Mitglieder:</TH>
-<TD>
-<SELECT NAME="MEMBER_URIS" SIZE="10" MULTIPLE>
-{[member_uris]<OPTION VALUE="{member_uris}" {?member_selected}>{member_names}}
-</SELECT>
-</TD>
-</TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Klasse &auml;ndern"></TD>
-</TR>
-</TABLE>
-
-</FORM>
-</DIV>
diff --git a/templates/de/norestart.tmpl b/templates/de/norestart.tmpl
deleted file mode 100644 (file)
index fb22b15..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Change Settings</H2>
-
-<P>Der Server wurde nicht neu gestartet, da die Konfiguration
-nicht ge&auml;ndert wurde...</P>
-
-</DIV>
diff --git a/templates/de/option-boolean.tmpl b/templates/de/option-boolean.tmpl
deleted file mode 100644 (file)
index e832ee1..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<TR>
-<TH {conflicted=1?CLASS="conflict":CLASS="label"} WIDTH="50%"><A NAME="{keyword}">{keytext}</A>:</TH>
-<TD>
-{[choices]<INPUT TYPE="RADIO" NAME="{keyword-1}" {choices={defchoice-1}?CHECKED:} VALUE="{choices}">{text}}
-</TD>
-</TR>
diff --git a/templates/de/option-conflict.tmpl b/templates/de/option-conflict.tmpl
deleted file mode 100644 (file)
index eac3c0d..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<P><B>Error:</B> The following options are conflicting:</P>
-
-<UL>
-{[ckeyword]<LI><A HREF="#{ckeyword}">{ckeytext}</A>: {cchoice}</LI>
-}</UL>
-
-<P>Bitte &auml;ndern sie eine oder mehrere Einstellungen um die Konflikte zu l&ouml;sen.</P>
diff --git a/templates/de/option-header.tmpl b/templates/de/option-header.tmpl
deleted file mode 100644 (file)
index 464726a..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<DIV CLASS="tab" ID="{group_id}">
-
-<H3 ALIGN="CENTER">{group}</H3>
-
-<TABLE WIDTH="100%">
diff --git a/templates/de/option-pickmany.tmpl b/templates/de/option-pickmany.tmpl
deleted file mode 100644 (file)
index 0da75e5..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<TR>
-<TH {conflicted=1?CLASS="conflict":CLASS="label"} WIDTH="50%"><A NAME="{keyword}">{keytext}</A>:</TH>
-<TD><SELECT NAME="{keyword}" MULTIPLE SIZE="10">
-{[choices]<OPTION {choices={defchoice-1}?SELECTED:} VALUE="{choices}">{text}}
-</SELECT></TD>
-</TR>
diff --git a/templates/de/option-pickone.tmpl b/templates/de/option-pickone.tmpl
deleted file mode 100644 (file)
index 111397c..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<TR>
-<TH {conflicted=1?CLASS="conflict":CLASS="label"} WIDTH="50%"><A NAME="{keyword}">{keytext}</A>:</TH>
-<TD><SELECT NAME="{keyword}" ID="select-{keyword}" ONCHANGE="update_paramtable('{keyword}')">
-{[choices]<OPTION {choices={defchoice-1}?SELECTED:} VALUE="{choices}">{text}}
-</SELECT>
-{iscustom=1?<TABLE NAME="paramtable" id="{keyword}-params">{[params]
-<TR><TH CLASS="sublabel">{paramtext}:</TH>
-<TD>{params=Units?<SELECT NAME="{keyword-1}.{params}">
-<OPTION VALUE="pt"{paramvalue=pt? SELECTED:}>Punkte</OPTION>
-<OPTION VALUE="mm"{paramvalue=mm? SELECTED:}>Millimeter</OPTION>
-<OPTION VALUE="cm"{paramvalue=cm? SELECTED:}>Zentimeter</OPTION>
-<OPTION VALUE="in"{paramvalue=in? SELECTED:}>Zoll</OPTION>
-<OPTION VALUE="ft"{paramvalue=ft? SELECTED:}>Fu&szlig;</OPTION>
-<OPTION VALUE="m"{paramvalue=m? SELECTED:}>Meter</OPTION>
-</SELECT>:<INPUT TYPE="{inputtype}" NAME="{keyword-1}.{params}" VALUE="{paramvalue}">}</TD></TR>
-}</TABLE>
-</TD>:}
-</TR>
diff --git a/templates/de/option-trailer.tmpl b/templates/de/option-trailer.tmpl
deleted file mode 100644 (file)
index 87adedb..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-</TABLE>
-
-<P ALIGN="CENTER"><INPUT TYPE="SUBMIT" VALUE="Standardeinstellungen festlegen"></P>
-
-</DIV>
diff --git a/templates/de/pager.tmpl b/templates/de/pager.tmpl
deleted file mode 100644 (file)
index 6bc63d6..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<TABLE CLASS="inset" SUMMARY="Seitenverwaltung">
-<TR>
-       <TD WIDTH="50%">{PREV?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{?ORDER}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{PREV}"><INPUT TYPE="SUBMIT" VALUE="&#x25c0; Vorherige anzeigen"></FORM>:&nbsp;}</TD>
-       <TD WIDTH="50%" ALIGN="RIGHT">{NEXT?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{?ORDER}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{NEXT}"><INPUT TYPE="SUBMIT" VALUE="N&auml;chste anzeigen &#x25b6;"></FORM>:&nbsp;}</TD>
-</TR>
-</TABLE>
diff --git a/templates/de/printer-accept.tmpl b/templates/de/printer-accept.tmpl
deleted file mode 100644 (file)
index 25045fa..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Auftr&auml;ge von {is_class?Klasse:Drucker} {printer_name} akzeptieren</H2>
-
-<P>{is_class?Klasse:Drucker} <A
-HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
-aktzeptiert jetzt Auftr&auml;ge.</P>
-
-</DIV>
diff --git a/templates/de/printer-added.tmpl b/templates/de/printer-added.tmpl
deleted file mode 100644 (file)
index fe712be..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Drucker hinzuf&uuml;gen</H2>
-
-<P>Drucker <A HREF="/printers/{printer_name}">{printer_name}</A> wurde erfolgreich
-hinzuf&uuml;gt.
-
-</DIV>
diff --git a/templates/de/printer-configured.tmpl b/templates/de/printer-configured.tmpl
deleted file mode 100644 (file)
index 60e27c2..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Standardeinstellungen f&uuml;r {printer_name} festlegen</H2>
-
-<P>Standardeinstellungen f&uuml;r {OP=set-class-options?Klasse <A HREF="/classes/{printer_name}">:Drucker <A HREF="/printers/{printer_name}">}{printer_name}</A>
-wurden erfolgreich gesetzt.
-
-</DIV>
diff --git a/templates/de/printer-confirm.tmpl b/templates/de/printer-confirm.tmpl
deleted file mode 100644 (file)
index 030f652..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Drucker {printer_name} l&ouml;schen</H2>
-
-<P><B>Warnung:</B> Sind Sie sicher, dass Sie den Drucker
-{printer_name} l&ouml;schen wollen?</P>
-
-<P ALIGN="CENTER"><FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="delete-printer"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}"><INPUT TYPE="SUBMIT" NAME="confirm" VALUE="Drucker l&ouml;schen"></FORM></P>
-
-</DIV>
diff --git a/templates/de/printer-default.tmpl b/templates/de/printer-default.tmpl
deleted file mode 100644 (file)
index ac2221f..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{is_class?Klasse:Drucker} {printer_name} als Standard festlegen</H2>
-
-<P>{is_class?Klasse:Drucker} <A
-HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
-wurde zum Standarddrucker für diesen Server gemacht.</P>
-
-<BLOCKQUOTE><B>Notiz:</B> Die Einstellungen des Standarddruckers
-welche von Benutzern mittels dem <TT>lpoptions</TT> Befehl gesetzt wurden,
-&uuml;berschreiben diese Einstellung.</BLOCKQUOTE>
-
-</DIV>
diff --git a/templates/de/printer-deleted.tmpl b/templates/de/printer-deleted.tmpl
deleted file mode 100644 (file)
index 6046113..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Drucker {printer_name} l&ouml;schen</H2>
-
-<P>Drucker {printer_name} wurde erfolgreich gel&ouml;scht.
-
-</DIV>
diff --git a/templates/de/printer-jobs-header.tmpl b/templates/de/printer-jobs-header.tmpl
deleted file mode 100644 (file)
index 4f3de93..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<DIV CLASS="indent">
-<H3 CLASS="title">Auftr&auml;ge</H3>
-</DIV>
diff --git a/templates/de/printer-modified.tmpl b/templates/de/printer-modified.tmpl
deleted file mode 100644 (file)
index b6e10bd..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Drucker {printer_name} &auml;ndern</H2>
-
-<P>Drucker <A HREF="/printers/{printer_name}">{printer_name}</A> wurde
-erfolgreich ge&auml;ndert.
-
-</DIV>
diff --git a/templates/de/printer-purge.tmpl b/templates/de/printer-purge.tmpl
deleted file mode 100644 (file)
index 1ff63ac..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Auftr&auml;ge f&uuml;r {is_class?die Klasse:den Drucker} {printer_name} verwerfen</H2>
-
-<P>Auftr&auml;ge f&uuml;r {is_class?die Klasse:den Drucker} <A
-HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
-wurden verworfen.</P>
-
-</DIV>
diff --git a/templates/de/printer-reject.tmpl b/templates/de/printer-reject.tmpl
deleted file mode 100644 (file)
index 1a5de73..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Auftr&auml;ge f&uuml;r {is_class?die Klasse:den Drucker} {printer_name} ablehnen</H2>
-
-<P>{is_class?Die Klasse:Der Drucker} <A
-HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
-akzeptiert keine weiteren Auftr&auml;ge.</P>
-
-</DIV>
diff --git a/templates/de/printer-start.tmpl b/templates/de/printer-start.tmpl
deleted file mode 100644 (file)
index 7a78568..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{is_class?Die Klasse:Den Drucker} {printer_name} fortfahren</H2>
-
-<P>{is_class?Die Klassen:Der Drucker} <A
-HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
-wird fortgesetzt.</P>
-
-</DIV>
diff --git a/templates/de/printer-stop.tmpl b/templates/de/printer-stop.tmpl
deleted file mode 100644 (file)
index b304bd9..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{is_class?Die Klasse:Den Drucker} {printer_name} anhalten</H2>
-
-<P>{is_class?Die Klasse:Der Drucker} <A
-HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
-wurde angehalten.</P>
-
-</DIV>
diff --git a/templates/de/printer.tmpl b/templates/de/printer.tmpl
deleted file mode 100644 (file)
index ffc58e9..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title"><A HREF="{printer_uri_supported}">{printer_name}</A>
-({printer_state=3?Frei:{printer_state=4?Besch&auml;ftigt:Angehalten}},
-{printer_is_accepting_jobs=0?Auftr&auml;ge werden ablehnt:Auftr&auml;ge werden akzeptiert},
-{server_is_sharing_printers=0?Nicht:{printer_is_shared=0?Nicht:}} freigegeben{default_name={printer_name}?, Standarddrucker:})</H2>
-
-<FORM METHOD="POST" ACTION="{printer_uri_supported}" NAME="maintenance">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<SELECT NAME="OP" ONCHANGE="document.maintenance.submit();">
-<OPTION VALUE="">Wartung</OPTION>
-<OPTION VALUE="print-test-page">Testseite drucken</OPTION>
-{printer_commands~.*Clean.*?<OPTION VALUE="clean-print-heads">Druckk&ouml;pfe reinigen</OPTION>:}
-{printer_commands~.*PrintSelfTestPage.*?<OPTION VALUE="print-self-test-page">Selbsttest-Seite drucken</OPTION>:}
-{printer_state=5?<OPTION VALUE="start-printer">Drucker starten</OPTION>:<OPTION VALUE="stop-printer">Drucker stoppen</OPTION>}
-{printer_is_accepting_jobs=0?<OPTION VALUE="accept-jobs">Auftr&auml;ge akzeptieren</OPTION>:<OPTION VALUE="reject-jobs">Auftr&auml;ge ablehnen</OPTION>}
-<OPTION VALUE="move-jobs">Alle Auftr&auml;ge verschieben</OPTION>
-<OPTION VALUE="purge-jobs">Alle Auftr&auml;ge abbrechen</OPTION>
-</SELECT>
-<INPUT TYPE="SUBMIT" VALUE="Go" STYLE="display: none;">
-</FORM>
-
-<FORM METHOD="POST" ACTION="{admin_uri}" NAME="administration">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">
-<SELECT NAME="OP" ONCHANGE="document.administration.submit();">
-<OPTION VALUE="">Administration</OPTION>
-<OPTION VALUE="modify-printer">Drucker &auml;ndern</OPTION>
-<OPTION VALUE="delete-printer">Drucker l&ouml;schen</OPTION>
-<OPTION VALUE="set-printer-options">Standardeinstellungen festlegen</OPTION>
-<OPTION VALUE="set-as-default">Als Standard festlegen</OPTION>
-<OPTION VALUE="set-allowed-users">Erlaubte Benutzer festlegen</OPTION>
-</SELECT>
-<INPUT TYPE="SUBMIT" VALUE="Go" STYLE="display: none;">
-</FORM>
-
-<TABLE SUMMARY="{printer_name}">
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Beschreibung:</TH><TD>{printer_info}</TD></TR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Ort:</TH><TD>{printer_location}</TD></TR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Treiber:</TH><TD>{printer_make_and_model} ({color_supported=1?color:grayscale}{sides_supported?, 2-sided printing:})<BR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Verbindung:</TH><TD>{device_uri}</TD></TR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Einstellungen:</TH><TD>job-sheets={job_sheets_default}
-media={media_default?{media_default}:unknown}
-{sides_default?sides={sides_default}:}</TD></TR>
-</TABLE>
-
-</DIV>
diff --git a/templates/de/printers-header.tmpl b/templates/de/printers-header.tmpl
deleted file mode 100644 (file)
index d07f783..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<P ALIGN="CENTER">{total=0?Keine Drucker:Zeige {#printer_name} von {total} Drucker}.</P>
diff --git a/templates/de/printers.tmpl b/templates/de/printers.tmpl
deleted file mode 100644 (file)
index 2180a08..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-{#printer_name=0?:
-<TABLE CLASS="list" SUMMARY="Druckerliste">
-<THEAD>
-<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&amp;WHICH_JOBS={?WHICH_JOBS}&amp;FIRST={FIRST}&amp;ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>&#x25b2;</SMALL> Queue Name <SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL> Queue Name <SMALL>&#x25bc;</SMALL>}</A></TH><TH>Beschreibung</TH><TH>Ort</TH><TH>Marke und Modell</TH><TH>Status</TH></TR>
-</THEAD>
-<TBODY>
-{[printer_name]
-<TR><TD><A HREF="{printer_uri_supported}">{printer_name}</A></TD><TD>{printer_info}</TD><TD>{printer_location}</TD><TD>{printer_make_and_model}</TD><TD>{printer_state=3?Frei:{printer_state=4?Besch&auml;ftigt:Angehalten}}{printer_state_message? - "{printer_state_message}":}</TD></TR>
-}
-</TBODY>
-</TABLE></DIV>}
diff --git a/templates/de/restart.tmpl b/templates/de/restart.tmpl
deleted file mode 100644 (file)
index 245300f..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Einstellungen &auml;ndern</H2>
-
-<P><IMG SRC="/images/wait.gif" WIDTH="16" HEIGHT="16" ALIGN="ABSMIDDLE"
-ALT="Busy Indicator"> Bitte warten Sie w&auml;hrend der Server neu startet...</P>
-
-</DIV>
diff --git a/templates/de/samba-export.tmpl b/templates/de/samba-export.tmpl
deleted file mode 100644 (file)
index ab2b0c6..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-<SCRIPT TYPE="text/javascript"><!--
-function select_printers() {
-  var list = document.export_samba.EXPORT_NAME;
-  var sel = document.export_samba.EXPORT_ALL.checked;
-
-  for (i = 0; i < list.length; i ++) {
-    list.options[i].selected = sel;
-  }
-}
---></SCRIPT>
-
-<FORM METHOD="POST" ACTION="/admin/" NAME="export_samba">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="export-samba">
-
-<H2 CLASS="title">Drucker f&uuml;r Samba freigeben</H2>
-
-{error?<P>Kann Drucker nicht f&uuml;r Samba freigeben\:</P>
-<BLOCKQUOTE>{error}</BLOCKQUOTE>
-<P>Consult the <A HREF="/admin/log/error_log"
-TARGET="_blank">Fehlerprotokoll</A> Datei um mehr Informationen zu erhalten.</P>:
-<P>Diese Seite erlaubt es Ihnen Drucker f&uuml;r Samba bereitzustellen
-damit auf diese mittels Windows Clients &uuml;ber die Desktopsymbole
-<VAR>Netzwerk Nachbarn</VAR> oder <VAR>Netzwerkumgebung</VAR>
-zugegriffen werden kann. Sie müssen zuerst einen
-Windows PostScript Druckerteiber installieren wie diese in der Hilfe f&uuml;r <A
-HREF="/help/man-cupsaddsmb.html"
-TARGET="_blank">cupsaddsmb(8)</A> beschrieben ist.</P>}
-
-<TABLE>
-<TR>
-<TH CLASS="label">Drucker:</TH>
-<TD>
-<SELECT NAME="EXPORT_NAME" SIZE="10" MULTIPLE>
-{[printer_name]<OPTION VALUE="{printer_name}"{export_all? SELECTED:{printer_export? SELECTED:}}>{printer_name}}
-</SELECT><BR>
-<INPUT TYPE="CHECKBOX" NAME="EXPORT_ALL"{export_all? CHECKED:}
-onChange="select_printers()"> Alle Drucker freigeben
-</TD>
-</TR>
-<TR>
-<TH CLASS="label">Samba Benutzername:</TH>
-<TD><INPUT TYPE="TEXT" NAME="USERNAME" VALUE="{?USERNAME}"> (ben&ouml;tigt)</TD>
-</TR>
-<TR>
-<TH CLASS="label">Samba Passwort:</TH>
-<TD><INPUT TYPE="PASSWORD" NAME="PASSWORD" VALUE=""> (ben&ouml;tigt)</TD>
-</TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Drucker f&uuml;r Samba freigeben"></TD>
-</TR>
-</TABLE>
-
-</FORM>
diff --git a/templates/de/samba-exported.tmpl b/templates/de/samba-exported.tmpl
deleted file mode 100644 (file)
index cf5db88..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<P>Drucker wurden erfolgreich f&uuml;r Samba freigegeben.</P>
diff --git a/templates/de/search.tmpl b/templates/de/search.tmpl
deleted file mode 100644 (file)
index a462ae0..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-<FORM ACTION="/{SECTION}/{?SEARCH_DEST}" METHOD="GET">
-{WHICH_JOBS?<INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{WHICH_JOBS}">:}
-{ORDER?<INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{ORDER}">:}
-
-<P ALIGN="CENTER"><B>Suche in
-{SEARCH_DEST?{SEARCH_DEST}:{SECTION=classes?Klassen:{SECTION=jobs?Auftr&auml;gen:Drucker}}}:</B>
-<INPUT TYPE="SEARCH" NAME="QUERY" VALUE="{?QUERY}" SIZE="40"  PLACEHOLDER="" AUTOSAVE="org.cups.{SECTION}" RESULTS="20"> <INPUT
-TYPE="SUBMIT" VALUE="Suchen"> <INPUT TYPE="SUBMIT" NAME="CLEAR" VALUE="Leeren"></P>
-
-</FORM>
diff --git a/templates/de/set-printer-options-header.tmpl b/templates/de/set-printer-options-header.tmpl
deleted file mode 100644 (file)
index 75f9f4f..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Standardeinstellungen f&uuml;r {printer_name} festlegen</H2>
-
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-{HAVE_AUTOCONFIGURE?<INPUT TYPE="SUBMIT" NAME="AUTOCONFIGURE" VALUE="Drucker nach Standardeinstellungen fragen">:}
-
-<SCRIPT TYPE="text/javascript"><!--
-function update_paramtable(option)
-{
-  var cb = document.getElementById("select-" + option)
-  var paramstable = document.getElementById(option + "-params");
-  if (cb.value == "Custom")
-    paramstable.style.display = "table";
-  else
-    paramstable.style.display = "none";
-}
---></SCRIPT>
-
-<H3 CLASS="title">{[group_id]
-<A HREF="#{group_id}">{group}</A>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</H3>
-
-<DIV CLASS="tabs">
diff --git a/templates/de/set-printer-options-trailer.tmpl b/templates/de/set-printer-options-trailer.tmpl
deleted file mode 100644 (file)
index 11adc70..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-</DIV>
-
-<SCRIPT TYPE="text/javascript"><!--
-// Hide custom options parameters for browsers that understand Javascript
-var paramtables = document.getElementsByName("paramtable");
-for (var i = 0; i < paramtables.length; i++)
-{
-  var opt = paramtables[i].id.substr(0, paramtables[i].id.lastIndexOf("-"));
-  var cb = document.getElementById("select-" + opt);
-  if (cb.value != "Custom")
-    paramtables[i].style.display = "none";
-}
---></SCRIPT>
-</FORM>
-
-</DIV>
diff --git a/templates/de/subscription-added.tmpl b/templates/de/subscription-added.tmpl
deleted file mode 100644 (file)
index fe4f1cd..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<DIV CLASS="indent">
-
-<P>Subskription {subscription_name} wurde erfolgreich hinzugef&uuml;gt.</P>
-
-</DIV>
diff --git a/templates/de/subscription-canceled.tmpl b/templates/de/subscription-canceled.tmpl
deleted file mode 100644 (file)
index 56f7a97..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<DIV CLASS="indent">
-
-<P>Subskription #{notify_subscription_id} wurde gek&uuml;ndigt.</P>
-
-</DIV>
diff --git a/templates/de/test-page.tmpl b/templates/de/test-page.tmpl
deleted file mode 100644 (file)
index 82ce971..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Print Test Page On {printer_name}</H2>
-
-<P>Testseite gesendet; Auftrags ID ist <A HREF="/{SECTION}/{printer_name}">
-{printer_name}-{job_id}</A>.</P>
-
-</DIV>
diff --git a/templates/de/trailer.tmpl b/templates/de/trailer.tmpl
deleted file mode 100644 (file)
index 7a9e847..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-</TD></TR>
-<TR><TD>&nbsp;</TD></TR>
-<TR><TD CLASS="trailer">CUPS und das CUPS Logo sind
-eingetragene Warenzeichen der <A HREF="http://www.apple.com">Apple Inc.</A> CUPS
-ist urheberrechtlich gesch&uuml;tzt 2007-2012 von Apple Inc, alle Rechte vorbehalten.</TD></TR>
-</TABLE>
-</BODY>
-</HTML>
index ff30a4c..8623573 100644 (file)
@@ -2,7 +2,7 @@
 
 <H2 CLASS="title">{?title} {?printer_name} Error</H2>
 
-<P>{?message?{message}:Error:}</P>
+<P>{?message?{message}:Error}:</P>
 
 <BLOCKQUOTE>{error}</BLOCKQUOTE>
 
index f7e79fa..6d61ebe 100644 (file)
@@ -37,4 +37,4 @@
 </TABLE>
 
 </FORM>
-</DIV>
+</DIV>
\ No newline at end of file
index 53e5d34..cce1f14 100644 (file)
 <P><A HREF="/admin/">Avanzada <SMALL>&#x25bc;</SMALL></A><BR>
 <INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server">
 <INPUT TYPE="HIDDEN" NAME="ADVANCEDSETTINGS" VALUE="YES">
-<INPUT TYPE="CHECKBOX" NAME="REMOTE_PRINTERS" {?remote_printers}> Mostrar impresoras compartidas por otros sistemas<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Protocolos\:
-<INPUT TYPE="CHECKBOX" NAME="BROWSE_REMOTE_CUPS" {?browse_remote_cups}> CUPS
-{HAVE_LDAP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_REMOTE_LDAP" {?browse_remote_ldap}> LDAP:}
-{HAVE_LIBSLP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_REMOTE_SLP" {?browse_remote_slp}> SLP:}<BR>
 <INPUT TYPE="CHECKBOX" NAME="SHARE_PRINTERS" {?share_printers}> Compartir impresoras conectadas a este sistema<BR>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;N&uacute;mero m&aacute;ximo de clientes\:
 <INPUT TYPE="TEXT" NAME="MAX_CLIENTS" VALUE="{?max_clients}" SIZE="6"><BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Protocolos\:
-<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_CUPS" {?browse_local_cups}> CUPS
-{HAVE_DNSSD?<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_DNSSD" {?browse_local_dnssd}> DNS-SD:}
-{HAVE_LDAP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_LDAP" {?browse_local_ldap}> LDAP:}
-{HAVE_LIBSLP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_SLP" {?browse_local_slp}> SLP:}<BR>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="REMOTE_ANY" {?remote_any}> Permitir la impresi&oacute;n desde Internet<BR>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="BROWSE_WEB_IF" {?browse_web_if}> Anunciar la interfaz web<BR>
 <INPUT TYPE="CHECKBOX" NAME="REMOTE_ADMIN" {?remote_admin}> Permitir administraci&oacute;n remota<BR>
 {have_gssapi?<INPUT TYPE="CHECKBOX" NAME="KERBEROS" {?kerberos}> Usar autentificaci&oacute;n Kerberos (<A HREF="/help/kerberos.html?TOPIC=Getting+Started">FAQ</A>)<BR>:}
 <INPUT TYPE="CHECKBOX" NAME="USER_CANCEL_ANY" {?user_cancel_any}> Permitir a los usuarios cancelar cualquier trabajo (no s&oacute;lo los suyos propios)<BR>
-<INPUT TYPE="CHECKBOX" NAME="PRESERVE_JOB_HISTORY" {?preserve_job_history}> Preservar el historial de trabajos<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;N&uacute;mero de trabajos\:
+<INPUT TYPE="CHECKBOX" NAME="PRESERVE_JOBS" {?preserve_jobs}> Preservar el historial de trabajos<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;N&uacute;mero m&aacute;ximo de trabajos (0 sin l&iacute;mite)\:
 <INPUT TYPE="TEXT" NAME="MAX_JOBS" VALUE="{?max_jobs}" SIZE="6"><BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="PRESERVE_JOB_FILES" {?preserve_job_files}> Preservar los archivos de impresi&oacute;n de trabajos<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retener metadatos\:
+<INPUT TYPE="TEXT" NAME="PRESERVE_JOB_HISTORY" VALUE="{?preserve_job_history}" SIZE="6"><BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retener documentos\:
+<INPUT TYPE="TEXT" NAME="PRESERVE_JOB_FILES" VALUE="{?preserve_job_files}" SIZE="6"><BR>
 <INPUT TYPE="CHECKBOX" NAME="DEBUG_LOGGING" {?debug_logging}> Guardar informaci&oacute;n de depuraci&oacute;n para b&uacute;squeda de problemas<BR>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tama&ntilde;o m&aacute;ximo del archivo de registro\:
 <INPUT TYPE="TEXT" NAME="MAX_LOG_SIZE" VALUE="{?max_log_size}" SIZE="6"></P>
@@ -75,7 +68,6 @@
 
 <P><A HREF="/admin/?ADVANCEDSETTINGS=YES">Avanzada <SMALL>&#x25b6;</SMALL></A><BR>
 <INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server">
-<INPUT TYPE="CHECKBOX" NAME="REMOTE_PRINTERS" {?remote_printers}> Mostrar impresoras compartidas por otros sistemas<BR>
 <INPUT TYPE="CHECKBOX" NAME="SHARE_PRINTERS" {?share_printers}> Compartir impresoras conectadas a este sistema<BR>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="REMOTE_ANY" {?remote_any}> Permitir la impresi&oacute;n desde Internet<BR>
 <INPUT TYPE="CHECKBOX" NAME="REMOTE_ADMIN" {?remote_admin}> Permitir administraci&oacute;n remota<BR>
index 650bc32..f652ea2 100644 (file)
@@ -2,7 +2,7 @@
 
 <H2 CLASS="title">Error en {?printer_name}: {?title}</H2>
 
-<P>{?message?{message}:Error:}</P>
+<P>{?message?{message}:Error}:</P>
 
 <BLOCKQUOTE>{error}</BLOCKQUOTE>
 
index d513ca3..3e7fef9 100644 (file)
@@ -43,7 +43,7 @@ documentaci&oacute;n para visualizar la informaci&oacute;n de ayuda en l&iacute;
 <P>Si es nuevo en CUPS, lea la p&aacute;gina "<a
 href="/help/overview.html">Informaci&oacute;n general de CUPS</a>". Los usuarios veteranos
 deber&iacute;an leer la p&aacute;gina "<a href="/help/whatsnew.html">Qu&eacute; hay de nuevo en CUPS
-1.4</a>".</P>
+1.6</a>".</P>
 
 <P>La <A HREF="http://www.cups.org/">p&aacute;gina de inicio de CUPS</A> tambi&eacute;n
 proporciona muchos recursos, incluyendo foros de discusi&oacute;n de usuarios, respuestas
index e1bc195..1187513 100644 (file)
@@ -6,7 +6,7 @@
 <TBODY>
 {[job_id]
 <TR VALIGN="TOP">
-<TD><A HREF="{job_printer_uri}">{job_printer_name}</A>-{job_id}&nbsp;</TD>
+<TD><A HREF="{job_printer_uri}">{job_printer_name}</A>-{job_id}{?phone? ({phone}):}&nbsp;</TD>
 <TD>{?job_name=?Desconocido:{job_name}}&nbsp;</TD>
 <TD>{job_originating_user_name}&nbsp;</TD>
 <TD>{job_k_octets}k&nbsp;</TD>
index a199245..017693e 100644 (file)
@@ -2,7 +2,7 @@
 <TR><TD>&nbsp;</TD></TR>
 <TR><TD CLASS="trailer">CUPS y el logo de CUPS son marcas registradas de
 <A HREF="http://www.apple.com">Apple, Inc.</A> Los derechos de copia de CUPS
-2007-2012 son de Apple Inc. Todos los derechos reservados.</TD></TR>
+2007-2013 son de Apple Inc. Todos los derechos reservados.</TD></TR>
 </TABLE>
 </BODY>
 </HTML>
diff --git a/templates/eu/add-class.tmpl b/templates/eu/add-class.tmpl
deleted file mode 100644 (file)
index bd7436a..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Gehitu klasea</H2>
-
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-
-<TABLE>
-<TR>
-<TH CLASS="label">Izena:</TH>
-<TD><INPUT TYPE="TEXT" NAME="PRINTER_NAME" SIZE="40" MAXLENGTH="127"><BR>
-<SMALL>(Inprimatu daitekeen edozein karaktere eduki dezake, "/", "#" eta zuriunea izan ezik)</SMALL></TD>
-</TR>
-<TR>
-<TH CLASS="label">Deskripzioa:</TH>
-<TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" SIZE="40" MAXLENGTH="127"><BR>
-<SMALL>(Gizakiek irakurtzeko deskripzioa, adibidez "HP LaserJet Duplexatzailearekin")</SMALL></TD>
-</TR>
-<TR>
-<TH CLASS="label">Kokalekua:</TH>
-<TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" SIZE="40" MAXLENGTH="127"><BR>
-<SMALL>(Gizakiek irakurtzeko kokalekua, adibidez "Lab 1")</SMALL></TD>
-</TR>
-<TR>
-<TH CLASS="label">Kideak:</TH>
-<TD>
-<SELECT NAME="MEMBER_URIS" SIZE="10" MULTIPLE>
-{[member_uris]<OPTION VALUE="{member_uris}" {?member_selected}>{member_names}}
-</SELECT>
-</TD>
-</TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Gehitu klasea"></TD>
-</TR>
-</TABLE>
-
-</FORM>
-</DIV>
diff --git a/templates/eu/add-rss-subscription.tmpl b/templates/eu/add-rss-subscription.tmpl
deleted file mode 100644 (file)
index 86025a2..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-rss-subscription">
-
-<H2 CLASS="title">Gehitu RSS harpidetza</H2>
-
-<TABLE SUMMARY="RSS harpidetza gehitzeko inprimakia">
-<TR>
-<TH CLASS="label">Izena:</TH>
-<TD COLSPAN="5"><INPUT TYPE="TEXT" NAME="SUBSCRIPTION_NAME" SIZE="40" MAXLENGTH="127" VALUE="{?SUBSCRIPTION_NAME}"><BR>
-<SMALL>(Inprimatu daitekeen edozein karaktere eduki dezake, "/", "#" eta zuriunea izan ezik)</SMALL></TD>
-</TR>
-<TR>
-<TH CLASS="label">Ilara:</TH>
-<TD COLSPAN="5"><SELECT NAME="PRINTER_URI" SIZE="10"><OPTION VALUE="#ALL#"{?PRINTER_URI=#ALL#? SELECTED:}>Ilara guztiak</OPTION>{[printer_name]<OPTION VALUE="{printer_uri_supported}"{?PRINTER_URI={printer_uri_supported}? SELECTED:}>{printer_name}</OPTION>}</SELECT></TD>
-</TR>
-<TR VALIGN="TOP">
-<TH CLASS="label">Gertaerak:</TH>
-<TD><INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_CREATED" {?EVENT_JOB_CREATED}>Lana sortuta<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_COMPLETED" {?EVENT_JOB_COMPLETED}>Lana burututa<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_STOPPED" {?EVENT_JOB_STOPPED}>Lana geldituta<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_CONFIG_CHANGED" {?EVENT_JOB_CONFIG_CHANGED}>Lanaren aukerak aldatuta</TD>
-<TD>&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-<TD><INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_STOPPED" {?EVENT_PRINTER_STOPPED}>Ilara geldituta<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_ADDED" {?EVENT_PRINTER_ADDED}>Ilara gehituta<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_MODIFIED" {?EVENT_PRINTER_MODIFIED}>Ilara aldatuta<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_DELETED" {?EVENT_PRINTER_DELETED}>Ilara ezabatuta</TD>
-<TD>&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-<TD><INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_STARTED" {?EVENT_SERVER_STARTED}>Zerbitzaria abiarazita<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_STOPPED" {?EVENT_SERVER_STOPPED}>Zerbitzaria geldituta<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_RESTARTED" {?EVENT_SERVER_RESTARTED}>Zerbitzaria berrabiarazita<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_AUDIT" {?EVENT_SERVER_AUDIT}>Zerbitzariko segurtasun auditoretza</TD>
-</TR>
-<TR>
-<TH CLASS="label">Gehienezko gertaerak iturrian:</TH>
-<TD COLSPAN="5"><INPUT TYPE="NUMBER" NAME="MAX_EVENTS" SIZE="4" MAXLENGTH="4" VALUE="{MAX_EVENTS?{MAX_EVENTS}:20}"></TD>
-</TR>
-<TR>
-<TD></TD>
-<TD COLSPAN="5"><INPUT TYPE="SUBMIT" VALUE="Gehitu RSS harpidetza"></TD>
-</TR>
-</TABLE>
-
-</FORM>
diff --git a/templates/eu/admin.tmpl b/templates/eu/admin.tmpl
deleted file mode 100644 (file)
index 8b5ecdd..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-<TABLE CLASS="indent" SUMMARY="Administrazioko atazak">
-<TR><TD VALIGN="TOP">
-
-<H2 CLASS="title">Inprimagailuak</H2>
-
-<P>
-<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-printer"><INPUT TYPE="SUBMIT" VALUE="Gehitu inprimagailua"></FORM>
-<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="find-new-printers"><INPUT TYPE="SUBMIT" VALUE="Bilatu inprimagailu berriak"></FORM>
-<FORM ACTION="/printers/" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Kudeatu inprimagailuak"></FORM>
-{have_samba?<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="export-samba"><INPUT TYPE="SUBMIT" VALUE="Esportatu inprimagailuak Samba-ra"></FORM>:}
-</P>
-
-<H2 CLASS="title">Klaseak</H2>
-
-<P>
-<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-class"><INPUT TYPE="SUBMIT" VALUE="Gehitu klasea"></FORM>
-<FORM ACTION="/classes/" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Kudeatu klaseak"></FORM>
-</P>
-
-<H2 CLASS="title">Lanak</H2>
-
-<P>
-<FORM ACTION="/jobs/" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Kudeatu lanak"></FORM>
-</P>
-
-</TD><TD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD><TD VALIGN="TOP">
-
-<H2 CLASS="title">Zerbitzaria</H2>
-
-<P>
-<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server"><INPUT TYPE="SUBMIT" VALUE="Editatu konfigurazioko fitxategia"></FORM>
-<FORM ACTION="/admin/log/access_log" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Ikusi atzipenen egunkaria"></FORM>
-<FORM ACTION="/admin/log/error_log" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Ikusi erroreen egunkaria"></FORM>
-<FORM ACTION="/admin/log/page_log" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Ikusi orrialdeen egunkaria"></FORM>
-</P>
-
-{SETTINGS_ERROR?<P>{SETTINGS_MESSAGE}</P>
-<BLOCKQUOTE>{SETTINGS_ERROR}</BLOCKQUOTE>:
-
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-
-{ADVANCEDSETTINGS?<P><B>Zerbitzariaren ezarpenak\:</B></P>
-
-<P><A HREF="/admin/">Aurreratua <SMALL>&#x25bc;</SMALL></A><BR>
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server">
-<INPUT TYPE="HIDDEN" NAME="ADVANCEDSETTINGS" VALUE="YES">
-<INPUT TYPE="CHECKBOX" NAME="REMOTE_PRINTERS" {?remote_printers}> Erakutsi beste sistemekin partekatutako inprimagailuak<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Protokoloak\:
-<INPUT TYPE="CHECKBOX" NAME="BROWSE_REMOTE_CUPS" {?browse_remote_cups}> CUPS
-{HAVE_LDAP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_REMOTE_LDAP" {?browse_remote_ldap}> LDAP:}
-{HAVE_LIBSLP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_REMOTE_SLP" {?browse_remote_slp}> SLP:}<BR>
-<INPUT TYPE="CHECKBOX" NAME="SHARE_PRINTERS" {?share_printers}> Partekatu sistema honekin konektatutako inprimagailuak<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gehienezko bezeroak\:
-<INPUT TYPE="TEXT" NAME="MAX_CLIENTS" VALUE="{?max_clients}" SIZE="6"><BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Protokoloak\:
-<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_CUPS" {?browse_local_cups}> CUPS
-{HAVE_DNSSD?<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_DNSSD" {?browse_local_dnssd}> DNS-SD:}
-{HAVE_LDAP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_LDAP" {?browse_local_ldap}> LDAP:}
-{HAVE_LIBSLP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_SLP" {?browse_local_slp}> SLP:}<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="REMOTE_ANY" {?remote_any}> Baimendu Internetetik inprimatzea<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="BROWSE_WEB_IF" {?browse_web_if}> Jakinarazi web interfazea<BR>
-<INPUT TYPE="CHECKBOX" NAME="REMOTE_ADMIN" {?remote_admin}> Baimendu urruneko administrazioa<BR>
-{have_gssapi?<INPUT TYPE="CHECKBOX" NAME="KERBEROS" {?kerberos}> Erabili Kerberos autentifikazioa (<A HREF="/help/kerberos.html?TOPIC=Getting+Started">MEG</A>)<BR>:}
-<INPUT TYPE="CHECKBOX" NAME="USER_CANCEL_ANY" {?user_cancel_any}> Baimendu erabiltzaileek edozein lan bertan uztea (beraien lanetaz gain)<BR>
-<INPUT TYPE="CHECKBOX" NAME="PRESERVE_JOB_HISTORY" {?preserve_job_history}> Mantendu lanen historia<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Lan kopurua\:
-<INPUT TYPE="TEXT" NAME="MAX_JOBS" VALUE="{?max_jobs}" SIZE="6"><BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="PRESERVE_JOB_FILES" {?preserve_job_files}> Mantendu lanen inprimatzeko fitxategiak<BR>
-<INPUT TYPE="CHECKBOX" NAME="DEBUG_LOGGING" {?debug_logging}> Gorde arazketako informazioa arazoak konpontzeko<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Egunkari fitxategiaren gehienezko tamaina\:
-<INPUT TYPE="TEXT" NAME="MAX_LOG_SIZE" VALUE="{?max_log_size}" SIZE="6"></P>
-
-:<P><B>Zerbitzariaren ezarpenak:</B></P>
-
-<P><A HREF="/admin/?ADVANCEDSETTINGS=YES">Aurreratua <SMALL>&#x25b6;</SMALL></A><BR>
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server">
-<INPUT TYPE="CHECKBOX" NAME="REMOTE_PRINTERS" {?remote_printers}> Erakutsi beste sistemekin partekatutako inprimagailuak<BR>
-<INPUT TYPE="CHECKBOX" NAME="SHARE_PRINTERS" {?share_printers}> Partekatu sistema honekin konektatutako inprimagailuak<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="REMOTE_ANY" {?remote_any}> Baimendu Internetetik inprimatzea<BR>
-<INPUT TYPE="CHECKBOX" NAME="REMOTE_ADMIN" {?remote_admin}> Baimendu urruneko administrazioa<BR>
-{have_gssapi?<INPUT TYPE="CHECKBOX" NAME="KERBEROS" {?kerberos}> Erabili Kerberos autentifikazioa (<A HREF="/help/kerberos.html?TOPIC=Getting+Started">MEG</A>)<BR>:}
-<INPUT TYPE="CHECKBOX" NAME="USER_CANCEL_ANY" {?user_cancel_any}> Baimendu erabiltzaileek edozein lan bertan uztea (beraien lanetaz gain)<BR>
-<INPUT TYPE="CHECKBOX" NAME="DEBUG_LOGGING" {?debug_logging}> Gorde arazketako informazioa arazoak konpontzeko</P>
-
-}
-<P><INPUT TYPE="SUBMIT" NAME="CHANGESETTINGS" VALUE="Aldatu ezarpenak"></P>
-
-</FORM>}
-
-</TD></TR>
-</TABLE>
-
-<DIV CLASS="indent">
-
-<H2 CLASS="title">RSS harpidetzak</H2>
-
-<P>
-<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-rss-subscription"><INPUT TYPE="SUBMIT" VALUE="Gehitu RSS harpidetza"></FORM>
-</P>
-
-</DIV>
-
-{notify_subscription_id?<TABLE CLASS="list" SUMMARY="RSS harpidetzak">
-<THEAD><TR><TH>Izena</TH><TH>Gertaerak</TH><TH>Ilararen izena</TH></TR></THEAD>
-<TBODY>{[notify_subscription_id]
-<TR><TD><A HREF="{notify_recipient_uri}">{notify_recipient_name}</A><BR>
-<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="cancel-subscription"><INPUT TYPE="HIDDEN" NAME="notify_subscription_id" VALUE="{notify_subscription_id}"><INPUT TYPE="SUBMIT" VALUE="Utzi RSS harpidetza"></FORM>&nbsp;</TD><TD>{notify_events}</TD><TD NOWRAP>&nbsp;{notify_printer_name?{notify_printer_name}:Ilara guztiak}</TD></TR>}
-</TBODY>
-</TABLE>:}
diff --git a/templates/eu/choose-device.tmpl b/templates/eu/choose-device.tmpl
deleted file mode 100644 (file)
index 36b7b86..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{op=modify-printer?Aldatu {printer_name}:Gehitu inprimagailua}</H2>
-
-{CUPS_GET_DEVICES_DONE?:<P><IMG SRC="/images/wait.gif" WIDTH="16" HEIGHT="16" ALIGN="ABSMIDDLE"
-ALT="Busy Indicator"> Inprimagailuak bilatzen...</P>}
-
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-{printer_name?<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">:}
-
-<TABLE>
-{op=add-printer?:<TR>
-<TH CLASS="label">Uneko konexioa:</TH>
-<TD><INPUT TYPE="RADIO" NAME="DEVICE_URI" VALUE="{current_device_uri}" CHECKED>
-{current_device_uri}</TD>
-</TR>}
-<TR>
-<TH CLASS="label">Inprimagailu lokalak:</TH>
-<TD>
-{[device_uri]{device_class!network?<INPUT TYPE="RADIO" NAME="DEVICE_URI"
-VALUE="{device_uri}{?device_make_and_model!Unknown?|{device_make_and_model}:}">
-{device_info} {?device_make_and_model!Unknown?({device_make_and_model}):}<BR>
-:}}
-</TD>
-</TR>
-<TR>
-<TH CLASS="label">Aurkitutako sareko inprimagailuak:</TH>
-<TD>
-{[device_uri]{device_class=network?{device_uri~[a-z]+://?<INPUT TYPE="RADIO" NAME="DEVICE_URI"
-VALUE="{device_uri}{?device_make_and_model!Unknown?|{device_make_and_model}:}">
-{device_info} {?device_make_and_model!Unknown?({device_make_and_model}):}<BR>
-:}:}}
-</TD>
-</TR>
-<TR>
-<TR>
-<TH CLASS="label">Beste sareko inprimagailuak:</TH>
-<TD>
-{[device_uri]{device_class=network?{device_uri~[a-z]+://?:<INPUT TYPE="RADIO" NAME="DEVICE_URI"
-VALUE="{device_uri}{?device_make_and_model!Unknown?|{device_make_and_model}:}">
-{device_info} {?device_make_and_model!Unknown?({device_make_and_model}):}<BR>
-}:}}
-</TD>
-</TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Jarraitu"></TD>
-</TR>
-</TABLE>
-
-</FORM>
-</DIV>
diff --git a/templates/eu/choose-make.tmpl b/templates/eu/choose-make.tmpl
deleted file mode 100644 (file)
index 9fb3897..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{op=modify-printer?Aldatu {printer_name}:Gehitu inprimagailua}</H2>
-
-<FORM METHOD="POST" ACTION="/admin" ENCTYPE="multipart/form-data">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-{printer_name?<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">:}
-<INPUT TYPE="HIDDEN" NAME="BAUDRATE" VALUE="{?baudrate}">
-<INPUT TYPE="HIDDEN" NAME="BITS" VALUE="{?bits}">
-<INPUT TYPE="HIDDEN" NAME="PARITY" VALUE="{?parity}">
-<INPUT TYPE="HIDDEN" NAME="FLOW" VALUE="{?flow}">
-
-<TABLE>
-{op=modify-printer?:<TR>
-<TH CLASS="label">Izena:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">{printer_name}</TD>
-</TR>}
-<TR>
-<TH CLASS="label">Deskripzioa:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_INFO" VALUE="{printer_info}">{printer_info}</TD>
-</TR>
-<TR>
-<TH CLASS="label">Kokalekua:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_LOCATION" VALUE="{printer_location}">{printer_location}</TD>
-</TR>
-<TR>
-<TH CLASS="label">Konexioa:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
-</TR>
-<TR>
-<TH CLASS="label">Partekatzea:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_IS_SHARED" VALUE="{?printer_is_shared}">
-{?printer_is_shared=?Ez:{?printer_is_shared=0?Ez:}} partekatu inprimagailu hau</TD>
-</TR>
-<TR>
-<TH CLASS="label">Marka:</TH>
-<TD>
-<SELECT NAME="PPD_MAKE" SIZE="10">
-{[ppd_make]<OPTION VALUE="{ppd_make}" {?current_make={ppd_make}?SELECTED:}>{ppd_make}}
-</SELECT>
-</TD>
-</TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Jarraitu"></TD>
-</TR>
-<TR>
-<TD></TD>
-<TD>&nbsp;</TD>
-</TR>
-<TR>
-<TH CLASS="label">edo eman PPD fitxategia:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="MAX_FILE_SIZE" VALUE="262144"><INPUT
-TYPE="FILE" NAME="PPD_FILE"></TD>
-</TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="{op=add-printer?Gehitu inprimagailua:Aldatu inprimagailua}"></TD>
-</TR>
-</TABLE>
-
-</FORM>
-</DIV>
diff --git a/templates/eu/choose-model.tmpl b/templates/eu/choose-model.tmpl
deleted file mode 100644 (file)
index 5824932..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{op=modify-printer?Aldatu {printer_name}:Gehitu inprimagailua}</H2>
-
-<FORM METHOD="POST" ACTION="/admin" ENCTYPE="multipart/form-data">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-{printer_name?<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">:}
-<INPUT TYPE="HIDDEN" NAME="BAUDRATE" VALUE="{?baudrate}">
-<INPUT TYPE="HIDDEN" NAME="BITS" VALUE="{?bits}">
-<INPUT TYPE="HIDDEN" NAME="PARITY" VALUE="{?parity}">
-<INPUT TYPE="HIDDEN" NAME="FLOW" VALUE="{?flow}">
-<TABLE>
-{op=modify-printer?:<TR>
-<TH CLASS="label">Izena:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">{printer_name}</TD>
-</TR>}
-<TR>
-<TH CLASS="label">Deskripzioa:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_INFO" VALUE="{printer_info}">{printer_info}</TD>
-</TR>
-<TR>
-<TH CLASS="label">Kokalekua:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_LOCATION" VALUE="{printer_location}">{printer_location}</TD>
-</TR>
-<TR>
-<TH CLASS="label">Konexioa:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
-</TR>
-<TR>
-<TH CLASS="label">Partekatzea:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_IS_SHARED" VALUE="{?printer_is_shared}">
-{?printer_is_shared=?Ez:{?printer_is_shared=0?Ez:}} partekatu inprimagailu hau</TD>
-</TR>
-<TR>
-<TH CLASS="label">Marka:</TH>
-<TD>{PPD_MAKE} <INPUT TYPE="SUBMIT" NAME="SELECT_MAKE" VALUE="Hautatu beste marka/hornitzailea"></TD>
-</TR>
-<TR>
-<TH CLASS="label">Modeloa:</TH>
-<TD>
-<SELECT NAME="PPD_NAME" SIZE="10">
-{op=add-printer?:<OPTION VALUE="__no_change__" SELECTED>Uneko kontrolatzailea - {current_make_and_model}</OPTION>:}
-{[ppd_name]<OPTION VALUE="{ppd_name}" {op=modify-printer?:{?current_make_and_model={ppd_make_and_model}?SELECTED:}}>{ppd_make_and_model} ({ppd_natural_language})
-}</SELECT>
-</TD>
-</TR>
-<TR>
-<TH CLASS="label">edo eman PPD fitxategia:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="MAX_FILE_SIZE" VALUE="262144"><INPUT
-TYPE="FILE" NAME="PPD_FILE"></TD>
-</TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="{op=add-printer?Gehitu inprimagailua:Aldatu inprimagailua}"></TD>
-</TR>
-</TABLE>
-
-</FORM>
-</DIV>
diff --git a/templates/eu/choose-uri.tmpl b/templates/eu/choose-uri.tmpl
deleted file mode 100644 (file)
index 4b1fd67..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{op=modify-printer?Aldatu {printer_name}:Gehitu inprimagailua}</H2>
-
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-{printer_name?<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">:}
-<INPUT TYPE="HIDDEN" NAME="CURRENT_MAKE_AND_MODEL" VALUE="{?current_make_and_model}">
-
-<TABLE>
-<TR>
-<TH CLASS="label">Konexioa:</TH>
-<TD><INPUT TYPE="URL" SIZE="60" MAXLENGTH="1023" NAME="DEVICE_URI" VALUE="{current_device_uri?{current_device_uri}:{device_uri}}"></TD>
-</TR>
-<TR>
-<TD></TD>
-<TD>Adibideak:
-<PRE>
-    http://ostalari_izena:631/ipp/
-    http://ostalari_izena:631/ipp/ataka1
-
-    ipp://ostalari_izena/ipp/
-    ipp://ostalari_izena/ipp/ataka1
-
-    lpd://ostalari_izena/ilara
-
-    socket://ostalari_izena
-    socket://ostalari_izena:9100
-</PRE>
-
-<P>Ikusi <A HREF="/help/network.html" TARGET="_blank">"Sareko inprimagailuak"</A> URI zuzena erabiltzeko inprimagailuarekin.</P>
-
-</TD>
-</TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Jarraitu"></TD>
-</TR>
-</TABLE>
-
-</FORM>
-</DIV>
diff --git a/templates/eu/class-added.tmpl b/templates/eu/class-added.tmpl
deleted file mode 100644 (file)
index e0dfa89..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Gehitu klasea</H2>
-
-<P><A HREF="/classes/{printer_name}">{printer_name}</A> klasea ongi gehitu da.
-
-</DIV>
diff --git a/templates/eu/class-confirm.tmpl b/templates/eu/class-confirm.tmpl
deleted file mode 100644 (file)
index f4a1a6f..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Ezabatu {printer_name} klasea</H2>
-
-<P><B>Abisua:</B> ziur zaude {printer_name} klasea ezabatu nahi duzula?</P>
-
-<P ALIGN="CENTER"><FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="op" VALUE="delete-class"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}"><INPUT TYPE="SUBMIT" NAME="confirm" VALUE="Ezabatu klasea"></FORM></P>
-
-</DIV>
diff --git a/templates/eu/class-deleted.tmpl b/templates/eu/class-deleted.tmpl
deleted file mode 100644 (file)
index 5e39282..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Ezabatu {printer_name} klasea</H2>
-
-<P>{printer_name} klasea ongi ezabatu da.
-
-</DIV>
diff --git a/templates/eu/class-jobs-header.tmpl b/templates/eu/class-jobs-header.tmpl
deleted file mode 100644 (file)
index 8914475..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<DIV CLASS="indent">
-<H3 CLASS="title">Lanak</H3>
-</DIV>
diff --git a/templates/eu/class-modified.tmpl b/templates/eu/class-modified.tmpl
deleted file mode 100644 (file)
index 9397bcc..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Aldatu {printer_name} klasea</H2>
-
-<P><A HREF="/classes/{printer_name}">{printer_name}</A> klasea ongi aldatu da.
-
-</DIV>
diff --git a/templates/eu/class.tmpl b/templates/eu/class.tmpl
deleted file mode 100644 (file)
index b3c68ca..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-<DIV CLASS="indent">
-<H2 CLASS="title"><A HREF="{printer_uri_supported}">{printer_name}</A>
-({printer_state=3?Inaktiboa:{printer_state=4?Prozesatzen:Pausatuta}},
-{printer_is_accepting_jobs=0?Lanak ukatzen:Lanak onartzen},
-{default_name={printer_name}?, zerbitzariaren lehenetsiak:} partekatuta {server_is_sharing_printers=0?ez:{printer_is_shared=0?ez:}} daude)</H2>
-
-<FORM METHOD="POST" ACTION="{printer_uri_supported}" NAME="maintenance">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<SELECT NAME="OP" ONCHANGE="document.maintenance.submit();">
-<OPTION VALUE="">Mantenimendua</OPTION>
-<OPTION VALUE="print-test-page">Inprimatu probako orrialdea</OPTION>
-{printer_state=5?<OPTION VALUE="start-class">Jarraitu klasea</OPTION>:<OPTION VALUE="stop-class">Pausatu klasea</OPTION>}
-{printer_is_accepting_jobs=0?<OPTION VALUE="accept-jobs">Onartu lanak</OPTION>:<OPTION VALUE="reject-jobs">Ukatu lanak</OPTION>}
-<OPTION VALUE="move-jobs">Aldatu lan guztiak lekuz</OPTION>
-<OPTION VALUE="purge-jobs">Bertan behera utzi lan guztiak</OPTION>
-</SELECT>
-<INPUT TYPE="SUBMIT" VALUE="Go" STYLE="display: none;">
-</FORM>
-
-<FORM METHOD="POST" ACTION="{admin_uri}" NAME="administration">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">
-<INPUT TYPE="HIDDEN" NAME="IS_CLASS" VALUE="1">
-<SELECT NAME="OP" ONCHANGE="document.administration.submit();">
-<OPTION VALUE="">Administrazioa</OPTION>
-<OPTION VALUE="modify-class">Aldatu klasea</OPTION>
-<OPTION VALUE="delete-class">Ezabatu klasea</OPTION>
-<OPTION VALUE="set-class-options">Ezarri aukera lehenetsiak</OPTION>
-<OPTION VALUE="set-as-default">Ezarri zerbitzari lehenetsi gisa</OPTION>
-<OPTION VALUE="set-allowed-users">Ezarri baimendutako erabiltzaileak</OPTION>
-</SELECT>
-<INPUT TYPE="SUBMIT" VALUE="Go" STYLE="display: none;">
-</FORM>
-
-<TABLE SUMMARY="{printer_name}">
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Deskripzioa:</TH><TD>{printer_info}</TD></TR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Kokalekua:</TH><TD>{printer_location}</TD></TR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Kideak:</TH><TD>{?member_uris=?Bat ere ez:{member_uris}}</TD></TR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Aukera lehenetsiak:</TH><TD>job-sheets={job_sheets_default}
-papera={media_default?{media_default}:ezezaguna}
-{sides_default?sides={sides_default}:}</TD></TR>
-</TABLE>
-
-</DIV>
diff --git a/templates/eu/classes-header.tmpl b/templates/eu/classes-header.tmpl
deleted file mode 100644 (file)
index a8e24b4..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<P ALIGN="CENTER">{total=0?Klaserik ez:{#printer_name}/{total} klase erakusten}.</P>
diff --git a/templates/eu/classes.tmpl b/templates/eu/classes.tmpl
deleted file mode 100644 (file)
index 4cab599..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-{#printer_name=0?:
-<TABLE CLASS="list" SUMMARY="Klaseen zerrenda">
-<THEAD>
-<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&amp;WHICH_JOBS={?WHICH_JOBS}&amp;FIRST={FIRST}&amp;ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>&#x25b2;</SMALL> Ilararen izena <SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL> Ilararen izena <SMALL>&#x25bc;</SMALL>}</A></TH><TH>Deskripzioa</TH><TH>Kokalekua</TH><TH>Kideak</TH><TH>Egoera</TH></TR>
-</THEAD>
-<TBODY>
-{[printer_name]
-<TR><TD><A HREF="{printer_uri_supported}">{printer_name}</A></TD><TD>{printer_info}</TD><TD>{printer_location}</TD><TD>{?member_uris=?Bat ere ez:{member_uris}}</TD><TD>{printer_state=3?Inaktibo:{printer_state=4?Prozesatzen:Pausatuta}}{printer_state_message? - "{printer_state_message}":}</TD></TR>
-}
-</TBODY>
-</TABLE></DIV>}
diff --git a/templates/eu/command.tmpl b/templates/eu/command.tmpl
deleted file mode 100644 (file)
index 0157b34..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{title} {printer_name} inprimagailuan</H2>
-
-<P>{job_state>5?:<IMG SRC="/images/wait.gif" WIDTH="16" HEIGHT="16"
-ALIGN="ABSMIDDLE" ALT="Lanpetuta egoeraren adierazlea"> }Inprimagailuaren lanaren komandoa
-{job_state=3?zain:{job_state=4?eutsita:
-{job_state=5?processing:{job_state=6?geldituta:
-{job_state=7?bertan behera utzita:{job_state=8?abortatuta:burututa}}}}}}{job_state=9?:{job_printer_state_message?,
-<EM>"{job_printer_state_message}"</EM>:}}</P>
-
-</DIV>
diff --git a/templates/eu/edit-config.tmpl b/templates/eu/edit-config.tmpl
deleted file mode 100644 (file)
index 4b2ba7b..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<SCRIPT TYPE="text/javascript">
-function reset_config()
-{
-  document.cups.CUPSDCONF.value = "{?cupsdconf_default}";
-}
-</SCRIPT>
-
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Editatu konfigurazioko fitxategia</H2>
-
-<FORM NAME="cups" METHOD="POST" ACTION="/admin/">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server">
-
-<TEXTAREA NAME="CUPSDCONF" COLS="80" ROWS="25">{CUPSDCONF}</TEXTAREA>
-
-<P><INPUT TYPE="SUBMIT" NAME="SAVECHANGES" VALUE="Gorde aldaketak">
-<INPUT TYPE="BUTTON" VALUE="Erabili konfigurazioko fitxategi lehenetsia"
-onClick="reset_config();"></P>
-
-</FORM>
-
-</DIV>
diff --git a/templates/eu/error-op.tmpl b/templates/eu/error-op.tmpl
deleted file mode 100644 (file)
index 605cc63..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{?printer_name} errorea: {?title}</H2>
-
-<P>Errorea:</P>
-
-<BLOCKQUOTE>"{op}" eragiketa ezezaguna.</BLOCKQUOTE>
-
-</DIV>
diff --git a/templates/eu/error.tmpl b/templates/eu/error.tmpl
deleted file mode 100644 (file)
index 76dc6a0..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{?printer_name} errorea: {?title}</H2>
-
-<P>{?message?{message}:Errorea:}</P>
-
-<BLOCKQUOTE>{error}</BLOCKQUOTE>
-
-</DIV>
diff --git a/templates/eu/header.tmpl.in b/templates/eu/header.tmpl.in
deleted file mode 100644 (file)
index 19a04e0..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<HTML>
-<HEAD>
-       <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
-       <TITLE>{title} - CUPS @CUPS_VERSION@@CUPS_REVISION@</TITLE>
-       <LINK REL="STYLESHEET" TYPE="text/css" HREF="/cups.css">
-       <LINK REL="SHORTCUT ICON" HREF="/images/cups-icon.png" TYPE="image/png">
-       {refresh_page?<META HTTP-EQUIV="Refresh" CONTENT="{refresh_page}">:}
-</HEAD>
-<BODY>
-<TABLE CLASS="page" SUMMARY="{title}">
-<TR><TD CLASS="body">
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
-<TR HEIGHT="36">
-<TD><A HREF="http://www.cups.org/" TARGET="_blank"><IMG
-SRC="/images/left.gif" WIDTH="64" HEIGHT="36" BORDER="0" ALT=""></A></TD>
-<TD CLASS="unsel"><A HREF="/">&nbsp;&nbsp;Hasiera&nbsp;&nbsp;</A></TD>
-<TD CLASS="{SECTION=admin?:un}sel"><A HREF="/admin">&nbsp;&nbsp;Administrazioa&nbsp;&nbsp;</A></TD>
-<TD CLASS="{SECTION=classes?:un}sel"><A HREF="/classes/">&nbsp;&nbsp;Klaseak&nbsp;&nbsp;</A></TD>
-<TD CLASS="{SECTION=help?:un}sel"><A HREF="/help/">&nbsp;&nbsp;Lineako&nbsp;laguntza&nbsp;&nbsp;</A></TD>
-<TD CLASS="{SECTION=jobs?:un}sel"><A HREF="/jobs/">&nbsp;&nbsp;Lanak&nbsp;&nbsp;</A></TD>
-<TD CLASS="{SECTION=printers?:un}sel"><A HREF="/printers/">&nbsp;&nbsp;Inprimagailuak&nbsp;&nbsp;</A></TD>
-<TD CLASS="unsel" WIDTH="100%"><FORM ACTION="/help/" METHOD="GET"><INPUT
-TYPE="SEARCH" NAME="QUERY" SIZE="20" PLACEHOLDER="Bilatu laguntzan"
-VALUE="{SECTION=help?{?QUERY}:}" AUTOSAVE="org.cups.help" RESULTS="20"></FORM></TD>
-<TD><IMG SRC="/images/right.gif" WIDTH="4" HEIGHT="36" ALT=""></TD>
-</TR>
-<TR><TD COLSPAN="9">&nbsp;</TD></TR>
-</TABLE>
diff --git a/templates/eu/help-header.tmpl b/templates/eu/help-header.tmpl
deleted file mode 100644 (file)
index c87c767..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-<DIV CLASS="indent">
-<FORM ACTION="/help/{?HELPFILE}" METHOD="GET">
-{TOPIC?<INPUT TYPE="HIDDEN" NAME="TOPIC" VALUE="{TOPIC}">:}
-
-<P ALIGN="CENTER"><B>Bilatu 
-{HELPTITLE?{HELPTITLE}:{TOPIC?{TOPIC}:dokumentu guztietan}}:</B> <INPUT
-TYPE="SEARCH" NAME="QUERY" VALUE="{?QUERY}" SIZE="40" PLACEHOLDER=""
-AUTOSAVE="org.cups.help" RESULTS="20">
-<INPUT TYPE="SUBMIT" NAME="SEARCH" VALUE="Bilatu">
-<INPUT TYPE="SUBMIT" NAME="CLEAR" VALUE="Garbitu"></P>
-
-</FORM>
-
-<!-- Bookmarks -->
-<DIV CLASS="sidebar"><TABLE CLASS="inset" SUMMARY="Edukia">
-<TR><TD>
-
-<H3 CLASS="title">Lineako laguntzaren dokumentuak</H3>
-
-<P CLASS="l0"><A HREF="/help/{QUERY??QUERY={QUERY}:}">Dokumentu guztiak</A></P>
-<HR>
-
-{[BMTEXT]<P CLASS="l{BMINDENT}"><A HREF="{BMLINK}">{BMTEXT}</A></P>
-}
-</TD></TR>
-</TABLE></DIV>
-
-{QUERY?<P>Bilaketaren emaitzak {HELPFILE?{HELPTITLE}:{TOPIC?{TOPIC}:dokumentu guztietan}}\:</P>
-{QTEXT?<UL>
-{[QTEXT]<LI><A HREF="{QLINK}">{QTEXT}</A>{QPTEXT? (in <I><A HREF="{QPLINK}">{QPTEXT}</A></I>):}</LI>}
-{QTEXT?</UL>:}
-:<P>Ez da bat datorrenik aurkitu.</P>}
-<HR NOSHADE>:}
-{HELPTITLE?<H1>{HELPTITLE}</H1>
-<FORM ACTION="/help/{?HELPFILE}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="PRINTABLE" VALUE="YES"><INPUT TYPE="SUBMIT" VALUE="Ikusi bertsio inprimagarria"></FORM>:
-
-<H1>Lineako laguntza</H1>
-
-<P>Hau CUPSen lineako laguntzaren interfazea da. Sartu bilatzeko hitzak gainean
-edo klik egin dokumentazioaren edozein esteketan lineako laguntzaren informazioa bistaratzeko.</P>
-
-<P>CUPSekin hasiberria bazara, irakurri "<a
-href="/help/overview.html">CUPSen gainbegiraketa</a>" orrialdea. Erabiltzaile adituek
- "<a href="/help/whatsnew.html">CUPS 1.4 bertsioko berrikuntzak</a>" orrialdea irakurri beharko lukete.</P>
-
-<P><A HREF="http://www.cups.org/">CUPSen webgune nagusia</A>k
-hainbat baliabide eskaintzen ditu: erabiltzaileek eztabaidatzeko foruak, maiz egindako
-galderei (MEG edo FAQ) erantzunak, eta akatsei buruz berri emateko edo eginbideak eskatzeko
-inprimakia.</P>}
diff --git a/templates/eu/help-printable.tmpl b/templates/eu/help-printable.tmpl
deleted file mode 100644 (file)
index 2463c16..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<HTML>
-<HEAD>
-       <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
-       <TITLE>{HELPTITLE}</TITLE>
-       <LINK REL="STYLESHEET" TYPE="text/css" HREF="/cups-printable.css">
-       <LINK REL="SHORTCUT ICON" HREF="/images/cups-icon.png" TYPE="image/png">
-</HEAD>
-<BODY>
diff --git a/templates/eu/help-trailer.tmpl b/templates/eu/help-trailer.tmpl
deleted file mode 100644 (file)
index 4c1ebed..0000000
+++ /dev/null
@@ -1 +0,0 @@
-</DIV>
diff --git a/templates/eu/job-cancel.tmpl b/templates/eu/job-cancel.tmpl
deleted file mode 100644 (file)
index ec432eb..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Utzi {job_id} lana</H2>
-
-<P><A HREF="{job_printer_uri}">{job_id} lana</A> bertan behera utzi da.
-
-</DIV>
diff --git a/templates/eu/job-hold.tmpl b/templates/eu/job-hold.tmpl
deleted file mode 100644 (file)
index 177ac16..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Eutsi {job_id} lana</H2>
-
-<P><A HREF="{job_printer_uri}">{job_id} lana</A> inprimatzetik eutsi da.
-
-</DIV>
diff --git a/templates/eu/job-move.tmpl b/templates/eu/job-move.tmpl
deleted file mode 100644 (file)
index f337353..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<DIV CLASS="indent">
-
-<FORM METHOD="POST" ACTION="/{SECTION}/{job_id?:{printer_name}}">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-{job_id?<INPUT TYPE="HIDDEN" NAME="JOB_ID" VALUE="{job_id}">:}
-
-<H2 CLASS="title">{job_id?Aldatu {job_id} lana lekuz:Aldatu lan guztiak lekuz}</H2>
-
-<TABLE>
-<TR>
-<TH CLASS="label">Helburu berria:</TH>
-<TD>
-<SELECT NAME="JOB_PRINTER_URI" SIZE="10">
-{[job_printer_uri]<OPTION VALUE="{job_printer_uri}">{job_printer_name}}
-</SELECT>
-</TD>
-</TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="{job_id?Aldatu lana lekuz:Aldatu lanak lekuz}"></TD>
-</TR>
-</TABLE>
-
-</FORM>
-
-</DIV>
diff --git a/templates/eu/job-moved.tmpl b/templates/eu/job-moved.tmpl
deleted file mode 100644 (file)
index 47f31ca..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{job_id?Aldatu {job_id} lana lekuz:Aldatu lan guztiak lekuz}</H2>
-
-<P>{job_id?<A HREF="/jobs/{job_id}">{job_id} lana</A> hona eraman da:Lan guztiak hona eraman dira}: 
-<A HREF="/{is_class?classes:printers}/{job_printer_name}">{job_printer_name}</A>.</P>
-
-</DIV>
diff --git a/templates/eu/job-release.tmpl b/templates/eu/job-release.tmpl
deleted file mode 100644 (file)
index 40f7f2b..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Askatu {job_id} lana</H2>
-
-<P><A HREF="{job_printer_uri}">{job_id} lana</A> inprimatzetik askatu egin da.
-
-</DIV>
diff --git a/templates/eu/job-restart.tmpl b/templates/eu/job-restart.tmpl
deleted file mode 100644 (file)
index 5868c50..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Inprimatu berriro {job_id} lana</H2>
-
-<P><A HREF="{job_printer_uri}">{job_id} lana</A> berriro hasi da.
-
-</DIV>
diff --git a/templates/eu/list-available-printers.tmpl b/templates/eu/list-available-printers.tmpl
deleted file mode 100644 (file)
index c8a397f..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Inprimagailu erabilgarriak</H2>
-
-{#device_uri=0?<P>Ez da inprimagailurik aurkitu.</P>
-:<UL>{[device_uri]
-<LI><FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-printer"><INPUT TYPE="HIDDEN" NAME="TEMPLATE_NAME" VALUE="{template_name}"><INPUT TYPE="HIDDEN" NAME="PRINTER_LOCATION" VALUE="Local Printer"><INPUT TYPE="HIDDEN" NAME="PRINTER_INFO" VALUE="{device_make_and_model}"><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}"><INPUT TYPE="SUBMIT" VALUE="Gehitu inprimagailu hau"></FORM>
-{device_make_and_model} ({device_info})</LI>
-}</UL>}
-
-</DIV>
diff --git a/templates/eu/modify-printer.tmpl b/templates/eu/modify-printer.tmpl
deleted file mode 100644 (file)
index 33a350d..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Aldatu {printer_name}</H2>
-
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-<INPUT TYPE="HIDDEN" NAME="BAUDRATE" VALUE="{?baudrate}">
-<INPUT TYPE="HIDDEN" NAME="BITS" VALUE="{?bits}">
-<INPUT TYPE="HIDDEN" NAME="PARITY" VALUE="{?parity}">
-<INPUT TYPE="HIDDEN" NAME="FLOW" VALUE="{?flow}">
-<INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">
-
-<TABLE>
-<TR>
-<TH CLASS="label">Deskripzioa:</TH>
-<TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" VALUE="{?printer_info}" SIZE="40" MAXLENGTH="127"><BR>
-<SMALL>(Gizakiek irakurtzeko deskripzioa, adibidez "HP LaserJet duplexatzailearekin")</SMALL></TD>
-</TR>
-<TR>
-<TH CLASS="label">Kokalekua:</TH>
-<TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" VALUE="{?printer_location}" SIZE="40" MAXLENGTH="127"><BR>
-<SMALL>(Gizakiek irakurtzeko kokalekua, adibidez "Lab 1")</SMALL></TD>
-</TR>
-<TR>
-<TH CLASS="label">Konexioa:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
-</TR>
-<TR>
-<TH CLASS="label">Partekatzea:</TH>
-<TD><INPUT TYPE="CHECKBOX" NAME="PRINTER_IS_SHARED" {PRINTER_IS_SHARED=1?CHECKED:}>
-Partekatu inprimagailu hau</TD>
-</TR>
-<TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Jarraitu"></TD>
-</TR>
-</TABLE>
-
-</FORM>
-</DIV>
diff --git a/templates/eu/norestart.tmpl b/templates/eu/norestart.tmpl
deleted file mode 100644 (file)
index 5ed12b6..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Aldatu ezarpenak</H2>
-
-<P>Zerbitzaria ez da berrabiarazi konfigurazioaren aldaketarik ez delako egin...</P>
-
-</DIV>
diff --git a/templates/eu/option-boolean.tmpl b/templates/eu/option-boolean.tmpl
deleted file mode 100644 (file)
index e832ee1..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<TR>
-<TH {conflicted=1?CLASS="conflict":CLASS="label"} WIDTH="50%"><A NAME="{keyword}">{keytext}</A>:</TH>
-<TD>
-{[choices]<INPUT TYPE="RADIO" NAME="{keyword-1}" {choices={defchoice-1}?CHECKED:} VALUE="{choices}">{text}}
-</TD>
-</TR>
diff --git a/templates/eu/option-conflict.tmpl b/templates/eu/option-conflict.tmpl
deleted file mode 100644 (file)
index 617858c..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<P><B>Errorea:</B> honako aukerak gatazkan daude:</P>
-
-<UL>
-{[ckeyword]<LI><A HREF="#{ckeyword}">{ckeytext}</A>: {cchoice}</LI>
-}</UL>
-
-<P>Aldatu aukera bat edo gehiago gatazkak ebazteko.</P>
diff --git a/templates/eu/option-header.tmpl b/templates/eu/option-header.tmpl
deleted file mode 100644 (file)
index 464726a..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<DIV CLASS="tab" ID="{group_id}">
-
-<H3 ALIGN="CENTER">{group}</H3>
-
-<TABLE WIDTH="100%">
diff --git a/templates/eu/option-pickmany.tmpl b/templates/eu/option-pickmany.tmpl
deleted file mode 100644 (file)
index 0da75e5..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<TR>
-<TH {conflicted=1?CLASS="conflict":CLASS="label"} WIDTH="50%"><A NAME="{keyword}">{keytext}</A>:</TH>
-<TD><SELECT NAME="{keyword}" MULTIPLE SIZE="10">
-{[choices]<OPTION {choices={defchoice-1}?SELECTED:} VALUE="{choices}">{text}}
-</SELECT></TD>
-</TR>
diff --git a/templates/eu/option-trailer.tmpl b/templates/eu/option-trailer.tmpl
deleted file mode 100644 (file)
index d80296a..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-</TABLE>
-
-<P ALIGN="CENTER"><INPUT TYPE="SUBMIT" VALUE="Ezarri aukera lehenetsiak"></P>
-
-</DIV>
diff --git a/templates/eu/pager.tmpl b/templates/eu/pager.tmpl
deleted file mode 100644 (file)
index 901b0ff..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<TABLE CLASS="inset" SUMMARY="Orrikatzeko barra">
-<TR>
-       <TD WIDTH="50%">{PREV?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{?ORDER}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{PREV}"><INPUT TYPE="SUBMIT" VALUE="&#x25c0; Erakutsi aurrekoak"></FORM>:&nbsp;}</TD>
-       <TD WIDTH="50%" ALIGN="RIGHT">{NEXT?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{?ORDER}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{NEXT}"><INPUT TYPE="SUBMIT" VALUE="Erakutsi hurrengoa &#x25b6;"></FORM>:&nbsp;}</TD>
-</TR>
-</TABLE>
diff --git a/templates/eu/printer-accept.tmpl b/templates/eu/printer-accept.tmpl
deleted file mode 100644 (file)
index 5bc9da6..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Onartu lanak {printer_name} {is_class?klasean:inprimagailuan} </H2>
-
-<P><A HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A> {is_class?klasea:inprimagailua}
-lanak onartzen ari da orain.</P>
-
-</DIV>
diff --git a/templates/eu/printer-added.tmpl b/templates/eu/printer-added.tmpl
deleted file mode 100644 (file)
index 17e9c02..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Gehitu inprimagailua</H2>
-
-<P><A HREF="/printers/{printer_name}">{printer_name}</A> inprimagailua ongi gehitu da.
-
-</DIV>
diff --git a/templates/eu/printer-configured.tmpl b/templates/eu/printer-configured.tmpl
deleted file mode 100644 (file)
index 66e6f41..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Ezarri {printer_name}(r)en aukera lehenetsiak</H2>
-
-<P>{OP=set-class-options?<A HREF="/classes/{printer_name}">{printer_name} klasea:<A HREF="/printers/{printer_name}">{printer_name} inprimagailua}</A>ren
-aukera lehenetsiak ongi ezarri dira.
-
-</DIV>
diff --git a/templates/eu/printer-confirm.tmpl b/templates/eu/printer-confirm.tmpl
deleted file mode 100644 (file)
index d72d240..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Ezabatu {printer_name} inprimagailua</H2>
-
-<P><B>Abisua:</B> ziur zaude {printer_name} inprimagailua ezabatzea nahi duzula?</P>
-
-<P ALIGN="CENTER"><FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="delete-printer"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}"><INPUT TYPE="SUBMIT" NAME="confirm" VALUE="Ezabatu inprimagailua"></FORM></P>
-
-</DIV>
diff --git a/templates/eu/printer-default.tmpl b/templates/eu/printer-default.tmpl
deleted file mode 100644 (file)
index 0834a3a..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Ezarri  {printer_name} {is_class?klasea:inprimagailua} lehenetsi gisa</H2>
-
-<P><A HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
-{is_class?klasea:inprimagailua} zerbitzarian inprimagailu lehenetsi gisa ezarri da.</P>
-
-<BLOCKQUOTE><B>Oharra:</B> <TT>lpoptions</TT> komandoaren bidez ezarritako edozein
-erabiltzailek ezarpen lehenetsi hau gainidatz dezake.</BLOCKQUOTE>
-
-</DIV>
diff --git a/templates/eu/printer-deleted.tmpl b/templates/eu/printer-deleted.tmpl
deleted file mode 100644 (file)
index b2b7207..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Ezabatu {printer_name} inprimagailua</H2>
-
-<P>{printer_name} inprimagailua ongi ezabatu da.
-
-</DIV>
diff --git a/templates/eu/printer-jobs-header.tmpl b/templates/eu/printer-jobs-header.tmpl
deleted file mode 100644 (file)
index 8914475..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<DIV CLASS="indent">
-<H3 CLASS="title">Lanak</H3>
-</DIV>
diff --git a/templates/eu/printer-modified.tmpl b/templates/eu/printer-modified.tmpl
deleted file mode 100644 (file)
index 80aa65b..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Aldatu {printer_name} inprimagailua</H2>
-
-<P><A HREF="/printers/{printer_name}">{printer_name}</A> inprimagailua
-ongi aldatu da.
-
-</DIV>
diff --git a/templates/eu/printer-purge.tmpl b/templates/eu/printer-purge.tmpl
deleted file mode 100644 (file)
index 0977c8b..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Kendu lanak {printer_name} {is_class?klasetik:inprimagailutik}</H2>
-
-<P><A HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A> 
-{is_class?klaseko:inprimagailuko} lan guztiak kendu dira.</P>
-
-</DIV>
diff --git a/templates/eu/printer-reject.tmpl b/templates/eu/printer-reject.tmpl
deleted file mode 100644 (file)
index 178ef8b..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Ukatu lanak {printer_name} {is_class?klasean:inprimagailuan} </H2>
-
-<P><A HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
-{is_class?klaseak:inprimagailuak} ez du lan gehiago onartuko.</P>
-
-</DIV>
diff --git a/templates/eu/printer-start.tmpl b/templates/eu/printer-start.tmpl
deleted file mode 100644 (file)
index 4403344..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Jarraitu {printer_name}  {is_class?klasea:inprimagailua}</H2>
-
-<P><A HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A> 
-{is_class?klaseak:inprimagailuak} jarraitu egin du.</P>
-
-</DIV>
diff --git a/templates/eu/printer-stop.tmpl b/templates/eu/printer-stop.tmpl
deleted file mode 100644 (file)
index 2338e87..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Pausatu {printer_name} {is_class?klasea:inprimagailua}</H2>
-
-<P><A HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
-{is_class?klasea:inprimagailua} pausatu egin da.</P>
-
-</DIV>
diff --git a/templates/eu/printer.tmpl b/templates/eu/printer.tmpl
deleted file mode 100644 (file)
index ac984eb..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title"><A HREF="{printer_uri_supported}">{printer_name}</A>
-({printer_state=3?inaktibo:{printer_state=4?prozesatzen:pausatuta}},
-{printer_is_accepting_jobs=0?lanak ukatzen:lanak onartzen},
-{default_name={printer_name}?, Zerbitzariaren lehenetsia:} partekatuta {server_is_sharing_printers=0?ez:{printer_is_shared=0?ez:}} dago)</H2>
-
-<FORM METHOD="POST" ACTION="{printer_uri_supported}" NAME="maintenance">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<SELECT NAME="OP" ONCHANGE="document.maintenance.submit();">
-<OPTION VALUE="">Mantenimendua</OPTION>
-<OPTION VALUE="print-test-page">Inprimatu probako orrialdea</OPTION>
-{printer_commands~.*Clean.*?<OPTION VALUE="clean-print-heads">Garbitu inprimagailuaren buruak</OPTION>:}
-{printer_commands~.*PrintSelfTestPage.*?<OPTION VALUE="print-self-test-page">Inprimatu auto-probako orrialdea</OPTION>:}
-{printer_state=5?<OPTION VALUE="start-printer">Jarraitu inprimagailua</OPTION>:<OPTION VALUE="stop-printer">Pausatu inprimagailua</OPTION>}
-{printer_is_accepting_jobs=0?<OPTION VALUE="accept-jobs">Onartu lanak</OPTION>:<OPTION VALUE="reject-jobs">Ukatu lanak</OPTION>}
-<OPTION VALUE="move-jobs">Aldatu lan guztiak lekuz</OPTION>
-<OPTION VALUE="purge-jobs">Utzi lan guztiak</OPTION>
-</SELECT>
-<INPUT TYPE="SUBMIT" VALUE="Go" STYLE="display: none;">
-</FORM>
-
-<FORM METHOD="POST" ACTION="{admin_uri}" NAME="administration">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">
-<SELECT NAME="OP" ONCHANGE="document.administration.submit();">
-<OPTION VALUE="">Administrazioa</OPTION>
-<OPTION VALUE="modify-printer">Aldatu inprimagailua</OPTION>
-<OPTION VALUE="delete-printer">Ezabatu inprimagailua</OPTION>
-<OPTION VALUE="set-printer-options">Ezarri aukera lehenetsiak</OPTION>
-<OPTION VALUE="set-as-default">Ezarri zerbitzari lehenetsi gisa</OPTION>
-<OPTION VALUE="set-allowed-users">Ezarri baimendutako erabiltzaileak</OPTION>
-</SELECT>
-<INPUT TYPE="SUBMIT" VALUE="Go" STYLE="display: none;">
-</FORM>
-
-<TABLE SUMMARY="{printer_name}">
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Deskripzioa:</TH><TD>{printer_info}</TD></TR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Kokalekua:</TH><TD>{printer_location}</TD></TR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Kontrolatzailea:</TH><TD>{printer_make_and_model} ({color_supported=1?kolorea:gris-eskala}{sides_supported?, 2 aldeetan inprimatzea:})<BR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Konexioa:</TH><TD>{device_uri}</TD></TR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Lehenetsiak:</TH><TD>lanen orriak={job_sheets_default}
-euskarria={media_default?{media_default}:ezezaguna}
-{sides_default?aldeak={sides_default}:}</TD></TR>
-</TABLE>
-
-</DIV>
diff --git a/templates/eu/printers-header.tmpl b/templates/eu/printers-header.tmpl
deleted file mode 100644 (file)
index ba6d22f..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<P ALIGN="CENTER">{total=0?Inprimagailurik ez:{#printer_name}/{total} inprimagailu erakusten}.</P>
diff --git a/templates/eu/printers.tmpl b/templates/eu/printers.tmpl
deleted file mode 100644 (file)
index 5415891..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-{#printer_name=0?:
-<TABLE CLASS="list" SUMMARY="Inprimagailuen zerrenda">
-<THEAD>
-<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&amp;WHICH_JOBS={?WHICH_JOBS}&amp;FIRST={FIRST}&amp;ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>&#x25b2;</SMALL> Ilararen izena <SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL> Ilararen izena <SMALL>&#x25bc;</SMALL>}</A></TH><TH>Deskripzioa</TH><TH>Kokalekua</TH><TH>Marka eta modeloa</TH><TH>Egoera</TH></TR>
-</THEAD>
-<TBODY>
-{[printer_name]
-<TR><TD><A HREF="{printer_uri_supported}">{printer_name}</A></TD><TD>{printer_info}</TD><TD>{printer_location}</TD><TD>{printer_make_and_model}</TD><TD>{printer_state=3?Inaktibo:{printer_state=4?Prozesatzen:Pausatuta}}{printer_state_message? - "{printer_state_message}":}</TD></TR>
-}
-</TBODY>
-</TABLE></DIV>}
diff --git a/templates/eu/restart.tmpl b/templates/eu/restart.tmpl
deleted file mode 100644 (file)
index d599c22..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Aldatu ezarpenak</H2>
-
-<P><IMG SRC="/images/wait.gif" WIDTH="16" HEIGHT="16" ALIGN="ABSMIDDLE"
-ALT="Lanpetutako egoeraren adierazlea"> Itxaron zerbitzaria berrabiatzen den bitartean...</P>
-
-</DIV>
diff --git a/templates/eu/samba-export.tmpl b/templates/eu/samba-export.tmpl
deleted file mode 100644 (file)
index b6851f8..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-<SCRIPT TYPE="text/javascript"><!--
-function select_printers() {
-  var list = document.export_samba.EXPORT_NAME;
-  var sel = document.export_samba.EXPORT_ALL.checked;
-
-  for (i = 0; i < list.length; i ++) {
-    list.options[i].selected = sel;
-  }
-}
---></SCRIPT>
-
-<FORM METHOD="POST" ACTION="/admin/" NAME="export_samba">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="export-samba">
-
-<H2 CLASS="title">Esportatu inprimagailuak Samba-ra</H2>
-
-{error?<P>Ezin dira inprimagailuak Samba-ra esportatu\:</P>
-<BLOCKQUOTE>{error}</BLOCKQUOTE>
-<P>Begiratu <A HREF="/admin/log/error_log"
-TARGET="_blank">error_log</A> fitxategia informazio gehiagorako.</P>:
-<P>
-Orrialde honek inprimagailuak Samba-ra esportatzea baimentzen du, horrela
-Windows sistemako bezeroek inprimagailu horiek atzi daitezke haien
-mahaigaineko <VAR>Auzoko sareak</VAR> edo <VAR>Sareko lekuak</VAR> ikonoen bidez.
-Aurrenik Windows-eko inprimagailuen PostScript kontrolatzaileak instalatu
-behar dira, <A HREF="/help/man-cupsaddsmb.html" TARGET="_blank">cupsaddsmb(8)</A> eskuliburuko orrialdean
-azaltzen den bezala.</P>}
-<TABLE>
-<TR>
-<TH CLASS="label">Inprimagailuak:</TH>
-<TD>
-<SELECT NAME="EXPORT_NAME" SIZE="10" MULTIPLE>
-{[printer_name]<OPTION VALUE="{printer_name}"{export_all? SELECTED:{printer_export? SELECTED:}}>{printer_name}}
-</SELECT><BR>
-<INPUT TYPE="CHECKBOX" NAME="EXPORT_ALL"{export_all? CHECKED:}
-onChange="select_printers()"> Esportatu inprimagailu guztiak
-</TD>
-</TR>
-<TR>
-<TH CLASS="label">Samba-ko erabiltzaile-izena:</TH>
-<TD><INPUT TYPE="TEXT" NAME="USERNAME" VALUE="{?USERNAME}"> (beharrezkoa)</TD>
-</TR>
-<TR>
-<TH CLASS="label">Samba-ko pasahitza:</TH>
-<TD><INPUT TYPE="PASSWORD" NAME="PASSWORD" VALUE=""> (beharrezkoa)</TD>
-</TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Esportatu inprimagailuak Samba-ra"></TD>
-</TR>
-</TABLE>
-
-</FORM>
diff --git a/templates/eu/samba-exported.tmpl b/templates/eu/samba-exported.tmpl
deleted file mode 100644 (file)
index 3a8f658..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<P>Inprimagailuak ongi esportatu dira Samba-ra.</P>
diff --git a/templates/eu/set-printer-options-header.tmpl b/templates/eu/set-printer-options-header.tmpl
deleted file mode 100644 (file)
index 89b548b..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Ezarri {printer_name}(r)en aukera lehenetsiak</H2>
-
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-{HAVE_AUTOCONFIGURE?<INPUT TYPE="SUBMIT" NAME="AUTOCONFIGURE" VALUE="Kontsultatu inprimagailuaren aukera lehenetsiei buruz">:}
-
-<SCRIPT TYPE="text/javascript"><!--
-function update_paramtable(option)
-{
-  var cb = document.getElementById("select-" + option)
-  var paramstable = document.getElementById(option + "-params");
-  if (cb.value == "Custom")
-    paramstable.style.display = "table";
-  else
-    paramstable.style.display = "none";
-}
---></SCRIPT>
-
-<H3 CLASS="title">{[group_id]
-<A HREF="#{group_id}">{group}</A>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</H3>
-
-<DIV CLASS="tabs">
diff --git a/templates/eu/set-printer-options-trailer.tmpl b/templates/eu/set-printer-options-trailer.tmpl
deleted file mode 100644 (file)
index 11adc70..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-</DIV>
-
-<SCRIPT TYPE="text/javascript"><!--
-// Hide custom options parameters for browsers that understand Javascript
-var paramtables = document.getElementsByName("paramtable");
-for (var i = 0; i < paramtables.length; i++)
-{
-  var opt = paramtables[i].id.substr(0, paramtables[i].id.lastIndexOf("-"));
-  var cb = document.getElementById("select-" + opt);
-  if (cb.value != "Custom")
-    paramtables[i].style.display = "none";
-}
---></SCRIPT>
-</FORM>
-
-</DIV>
diff --git a/templates/eu/subscription-added.tmpl b/templates/eu/subscription-added.tmpl
deleted file mode 100644 (file)
index 43ee5fc..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<DIV CLASS="indent">
-
-<P> {subscription_name} harpidetza ongi landu da.</P>
-
-</DIV>
diff --git a/templates/eu/subscription-canceled.tmpl b/templates/eu/subscription-canceled.tmpl
deleted file mode 100644 (file)
index 71b0dbd..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<DIV CLASS="indent">
-
-<P>{notify_subscription_id}. harpidetza bertan behera utzi da.</P>
-
-</DIV>
diff --git a/templates/eu/test-page.tmpl b/templates/eu/test-page.tmpl
deleted file mode 100644 (file)
index bf5c77a..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Inprimatu probako orrialdea hemen: {printer_name}</H2>
-
-<P>Probako orrialdea bidalita; lanaren IDa <A HREF="/{SECTION}/{printer_name}">{printer_name}-{job_id}</A> da.</P>
-
-</DIV>
diff --git a/templates/eu/trailer.tmpl b/templates/eu/trailer.tmpl
deleted file mode 100644 (file)
index 381e2fe..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-</TD></TR>
-<TR><TD>&nbsp;</TD></TR>
-<TR><TD CLASS="trailer">CUPS eta CUPSen logotipoa  <A HREF="http://www.apple.com">Apple Inc.</A>en
-marka errejistratuak dira. CUPSen copyright-a:  2007-2012 Apple
-Inc. eskubide guztiak gordeta.</TD></TR>
-</TABLE>
-</BODY>
-</HTML>
diff --git a/templates/eu/users.tmpl b/templates/eu/users.tmpl
deleted file mode 100644 (file)
index ba0ee96..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-<DIV CLASS="indent">
-
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{OP}">
-<INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">
-{IS_CLASS?<INPUT TYPE="HIDDEN" NAME="IS_CLASS" VALUE="{IS_CLASS}">:}
-
-<H2 CLASS="title"> {printer_name}(e)n baimendutako erabiltzaile guztiak</H2>
-
-<TABLE>
-<TR>
-<TH CLASS="label">Erabiltzaileak:</TH>
-<TD>
-<INPUT TYPE='TEXT' NAME='users' SIZE='60' VALUE='{?requesting_user_name_allowed}{?requesting_user_name_denied}'>
-<BR>
-<INPUT TYPE='RADIO' NAME='type' VALUE='requesting-user-name-allowed' {requesting_user_name_allowed?checked:}>Baimendu erabiltzaileak inprimatzea
-<INPUT TYPE='RADIO' NAME='type' VALUE='requesting-user-name-denied' {requesting_user_name_denied?checked:}>Saihestu erabiltzaile hauek inprimatzetik
-</TD>
-</TR>
-<TR>
-<TD></TD>
-<TD>
-<INPUT TYPE="SUBMIT" VALUE="Ezarri baimendutako erabiltzaileak">
-</TD>
-</TR>
-</TABLE>
-
-</FORM>
-</DIV>
index 7cde5fb..a4402d4 100644 (file)
@@ -37,4 +37,4 @@
 </TABLE>
 
 </FORM>
-</DIV>
+</DIV>
\ No newline at end of file
index 2dc87be..22dc07b 100644 (file)
@@ -44,4 +44,4 @@ Partager cette imprimante</TD>
 </TABLE>
 
 </FORM>
-</DIV>
+</DIV>
\ No newline at end of file
index 99969b0..e98ee1c 100644 (file)
@@ -33,7 +33,7 @@
 </TR>
 <TR>
 <TH CLASS="label">Nombre maximum d'&eacute;v&eacute;nements:</TH>
-<TD COLSPAN="5"><INPUT TYPE="TEXT" NAME="MAX_EVENTS" SIZE="4" MAXLENGTH="4" VALUE="{MAX_EVENTS?{MAX_EVENTS}:20}"></TD>
+<TD COLSPAN="5"><INPUT TYPE="NUMBER" NAME="MAX_EVENTS" SIZE="4" MAXLENGTH="4" VALUE="{MAX_EVENTS?{MAX_EVENTS}:20}"></TD>
 </TR>
 <TR>
 <TD></TD>
index e681022..304e77b 100644 (file)
@@ -20,7 +20,7 @@
 <H2 CLASS="title">T&acirc;ches</H2>
 
 <P>
-<FORM ACTION="/jobs/" METHDO="GET"><INPUT TYPE="SUBMIT" VALUE="G&eacute;rer les T&acirc;ches"></FORM>
+<FORM ACTION="/jobs/" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="G&eacute;rer les T&acirc;ches"></FORM>
 </P>
 
 </TD><TD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD><TD VALIGN="TOP">
 <P><A HREF="/admin/">Avanc&eacute; <SMALL>&#x25bc;</SMALL></A><BR>
 <INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server">
 <INPUT TYPE="HIDDEN" NAME="ADVANCEDSETTINGS" VALUE="YES">
-<INPUT TYPE="CHECKBOX" NAME="REMOTE_PRINTERS" {?remote_printers}> Afficher les imprimantes partag&eacute;es par d'autres syst&egrave;mes<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Protocoles\:
-<INPUT TYPE="CHECKBOX" NAME="BROWSE_REMOTE_CUPS" {?browse_remote_cups}> CUPS
-{HAVE_LDAP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_REMOTE_LDAP" {?browse_remote_ldap}> LDAP:}
-{HAVE_LIBSLP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_REMOTE_SLP" {?browse_remote_slp}> SLP:}<BR>
 <INPUT TYPE="CHECKBOX" NAME="SHARE_PRINTERS" {?share_printers}> Partager les imprimantes connect&eacute;es &agrave; ce syst&egrave;me<BR>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Nombre maximum de clients\:
 <INPUT TYPE="TEXT" NAME="MAX_CLIENTS" VALUE="{?max_clients}" SIZE="6"><BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Protocoles\:
-<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_CUPS" {?browse_local_cups}> CUPS
-{HAVE_DNSSD?<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_DNSSD" {?browse_local_dnssd}> DNS-SD:}
-{HAVE_LDAP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_LDAP" {?browse_local_ldap}> LDAP:}
-{HAVE_LIBSLP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_SLP" {?browse_local_slp}> SLP:}<BR>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="REMOTE_ANY" {?remote_any}> Autoriser l'impression depuis Internet<BR>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="BROWSE_WEB_IF" {?browse_web_if}> Annoncer l'interface Web<BR>
 <INPUT TYPE="CHECKBOX" NAME="REMOTE_ADMIN" {?remote_admin}> Autoriser l'administration &agrave; distance<BR>
 {have_gssapi?<INPUT TYPE="CHECKBOX" NAME="KERBEROS" {?kerberos}> Utiliser l'authentification Kerberos (<A HREF="/help/kerberos.html?TOPIC=Getting+Started">FAQ</A>)<BR>:}
 <INPUT TYPE="CHECKBOX" NAME="USER_CANCEL_ANY" {?user_cancel_any}> Autoriser les utilisateurs &agrave; annuler n'importe quelle t&acirc;che (Pas seulement les leurs)<BR>
-<INPUT TYPE="CHECKBOX" NAME="PRESERVE_JOB_HISTORY" {?preserve_job_history}> Conserver l'historique des t&acirc;ches<BR>
+<INPUT TYPE="CHECKBOX" NAME="PRESERVE_JOBS" {?preserve_jobs}> Conserver l'historique des t&acirc;ches<BR>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Nombre de t&acirc;ches\:
 <INPUT TYPE="TEXT" NAME="MAX_JOBS" VALUE="{?max_jobs}" SIZE="6"><BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="PRESERVE_JOB_FILES" {?preserve_job_files}> Conserver les fichiers d'impression des t&acirc;ches<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Conserver les meta-donn&eacute;es\:
+<INPUT TYPE="TEXT" NAME="PRESERVE_JOB_HISTORY" VALUE="{?preserve_job_history}" SIZE="6"><BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Conserver les documents\:
+<INPUT TYPE="TEXT" NAME="PRESERVE_JOB_FILES" VALUE="{?preserve_job_files}" SIZE="6"><BR>
 <INPUT TYPE="CHECKBOX" NAME="DEBUG_LOGGING" {?debug_logging}> Enregistrer les informations de debug pour la r&eacute;solution de probl&egrave;mes<BR>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Taille maximum du fichier de log\:
 <INPUT TYPE="TEXT" NAME="MAX_LOG_SIZE" VALUE="{?max_log_size}" SIZE="6"></P>
@@ -75,7 +68,6 @@
 
 <P><A HREF="/admin/?ADVANCEDSETTINGS=YES">Avanc&eacute; <SMALL>&#x25b6;</SMALL></A><BR>
 <INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server">
-<INPUT TYPE="CHECKBOX" NAME="REMOTE_PRINTERS" {?remote_printers}> Afficher les imprimantes partag&eacute;es par d'autres syst&egrave;mes<BR>
 <INPUT TYPE="CHECKBOX" NAME="SHARE_PRINTERS" {?share_printers}> Partager les imprimantes connect&eacute;es &agrave; ce syst&egrave;me<BR>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="REMOTE_ANY" {?remote_any}> Autoriser l'impression depuis Internet<BR>
 <INPUT TYPE="CHECKBOX" NAME="REMOTE_ADMIN" {?remote_admin}> Autoriser l'administration &agrave; distance<BR>
index 5f97938..d48dfc1 100644 (file)
@@ -61,4 +61,4 @@ TYPE="FILE" NAME="PPD_FILE"></TD>
 </TABLE>
 
 </FORM>
-</DIV>
+</DIV>
\ No newline at end of file
index 7a2ce53..5428153 100644 (file)
@@ -57,4 +57,4 @@ TYPE="FILE" NAME="PPD_FILE"></TD>
 </TABLE>
 
 </FORM>
-</DIV>
+</DIV>
\ No newline at end of file
index 8d5d67d..a1c7204 100644 (file)
@@ -49,4 +49,4 @@
 </TABLE>
 
 </FORM>
-</DIV>
+</DIV>
\ No newline at end of file
index 2abe5f4..72b4a5e 100644 (file)
@@ -11,7 +11,7 @@
 <TABLE>
 <TR>
 <TH CLASS="label">Connexion:</TH>
-<TD><INPUT TYPE="TEXT" SIZE="60" MAXLENGTH="1024" NAME="DEVICE_URI" VALUE="{current_device_uri?{current_device_uri}:{device_uri}}"></TD>
+<TD><INPUT TYPE="URL" SIZE="60" MAXLENGTH="1023" NAME="DEVICE_URI" VALUE="{current_device_uri?{current_device_uri}:{device_uri}}"></TD>
 </TR>
 <TR>
 <TD></TD>
@@ -29,7 +29,8 @@
     socket://hostname:9100
 </PRE>
 
-<P>Cf. <A HREF="/help/network.html" TARGET="_blank">"Imprimantes R&eacute;seaux"</A> pour construire l'URI &agrave; employ&eacute;e avec votre imprimante.</P>
+<P>Cf. <A HREF="/help/network.html" TARGET="_blank">"Imprimantes
+R&eacute;seaux"</A> pour construire l'URI &agrave; employ&eacute;e avec votre imprimante.</P>
 
 </TD>
 </TR>
@@ -40,4 +41,4 @@
 </TABLE>
 
 </FORM>
-</DIV>
+</DIV>
\ No newline at end of file
index c961a55..7ed1648 100644 (file)
@@ -2,6 +2,7 @@
 
 <H2 CLASS="title">Ajouter une Classe</H2>
 
-<P>La classe <A HREF="/classes/{printer_name}">{printer_name}</A> a &eacute;t&eacute; ajout&eacute;e avec succ&egrave;s.
+<P>La classe <A HREF="/classes/{printer_name}">{printer_name}</A> a &eacute;t&eacute; ajout&eacute;e
+avec succ&egrave;s.
 
 </DIV>
index 297ecc1..6f8aefa 100644 (file)
@@ -4,4 +4,4 @@
 
 <P>La classe {printer_name} a &eacute;t&eacute; supprim&eacute;e avec succ&egrave;s.
 
-</DIV>
+</DIV>
\ No newline at end of file
index 49ec8d0..e4b8b5a 100644 (file)
@@ -2,6 +2,7 @@
 
 <H2 CLASS="title">Modifier la Classe {printer_name}</H2>
 
-<P>La classe <A HREF="/classes/{printer_name}">{printer_name}</A> a &eacute;t&eacute; modifi&eacute;e avec succ&egrave;s.
+<P>La classe <A HREF="/classes/{printer_name}">{printer_name}</A> a &eacute;t&eacute; 
+modifi&eacute;e avec succ&egrave;s.
 
-</DIV>
+</DIV>
\ No newline at end of file
index ddeb7a5..3c4d1ba 100644 (file)
@@ -1 +1 @@
-<P ALIGN="CENTER">{total=0?Pas de classes:Affichage de {#printer_name} classe{total>1?s:}} sur {total}.</P>
+<P ALIGN="CENTER">{total=0?Pas de classes:Affichage de {#printer_name} classe{total=1?:s}} sur {total}.</P>
index 23e8509..2ce2451 100644 (file)
@@ -2,7 +2,7 @@
 
 <H2 CLASS="title">{?title} {?printer_name} Erreur</H2>
 
-<P>{?message?{message}:Erreur:}</P>
+<P>{?message?{message}:Erreur}:</P>
 
 <BLOCKQUOTE>{error}</BLOCKQUOTE>
 
index 7b12eea..d7f00c1 100644 (file)
@@ -17,7 +17,7 @@ SRC="/images/left.gif" WIDTH="64" HEIGHT="36" BORDER="0" ALT=""></A></TD>
 <TD CLASS="unsel"><A HREF="/">&nbsp;&nbsp;Accueil&nbsp;&nbsp;</A></TD>
 <TD CLASS="{SECTION=admin?:un}sel"><A HREF="/admin">&nbsp;&nbsp;Administration&nbsp;&nbsp;</A></TD>
 <TD CLASS="{SECTION=classes?:un}sel"><A HREF="/classes/">&nbsp;&nbsp;Classes&nbsp;&nbsp;</A></TD>
-<TD CLASS="{SECTION=help?:un}sel"><A HREF="/help/">&nbsp;&nbsp;Aide&nbsp;En&nbsp;Ligne&nbsp;</A></TD>
+<TD CLASS="{SECTION=help?:un}sel"><A HREF="/help/">&nbsp;&nbsp;Aide&nbsp;En&nbsp;Ligne&nbsp;&nbsp;</A></TD>
 <TD CLASS="{SECTION=jobs?:un}sel"><A HREF="/jobs/">&nbsp;&nbsp;T&acirc;ches&nbsp;&nbsp;</A></TD>
 <TD CLASS="{SECTION=printers?:un}sel"><A HREF="/printers/">&nbsp;&nbsp;Imprimantes&nbsp;&nbsp;</A></TD>
 <TD CLASS="unsel" WIDTH="100%"><FORM ACTION="/help/" METHOD="GET"><INPUT
index b86150a..751136d 100644 (file)
@@ -37,13 +37,13 @@ AUTOSAVE="org.cups.help" RESULTS="20">
 <H1>Aide en ligne</H1>
 
 <P>Voici l'interface d'aide en ligne de CUPS. Entrez ci-dessus les mots &agrave; rechercher
-ou cliquez sur un lien ci-contre pour afficher l'aide en ligne du document.</P>
-
+ou cliquez sur un lien ci-contre pour afficher
+l'aide en ligne du document.</P>
 
 <P>Si vous &ecirc;tes un nouvel utilisateur de CUPS, lisez la page "<a
-href="/help/overview.html">Pr&eacute;sentation de CUPS</a>". Il est conseill&eacute; aux utilisateurs
-habitu&eacute;s de lire la page  "<a href="/help/whatsnew.html">Quoi de neuf dans CUPS
-1.5</a>" page.</P>
+href="/help/overview.html">Pr&eacute;sentation de CUPS</a>". Il est conseill&eacute; aux utilisateurs habitu&eacute;s
+de lire la page "<a href="/help/whatsnew.html">Quoi de neuf dans CUPS
+1.6</a>".</P>
 
 <P>La <A HREF="http://www.cups.org/">page d'accueil de CUPS</A> donne aussi
 acc&egrave;s &agrave; de nombreuses ressources, comme des forums de discussion pour les
index 4ac0934..c760d76 100644 (file)
@@ -6,7 +6,7 @@
 <TBODY>
 {[job_id]
 <TR VALIGN="TOP">
-<TD><A HREF="{job_printer_uri}">{job_printer_name}</A>-{job_id}&nbsp;</TD>
+<TD><A HREF="{job_printer_uri}">{job_printer_name}</A>-{job_id}{?phone? ({phone}):}&nbsp;</TD>
 <TD>{?job_name=?Inconnu:{job_name}}&nbsp;</TD>
 <TD>{?job_originating_user_name=?Withheld:{job_originating_user_name}}&nbsp;</TD>
 <TD>{job_k_octets}k&nbsp;</TD>
@@ -17,8 +17,7 @@
 <EM>"{job_printer_state_message}"</EM>:}</TD>
 <TD>
 {job_preserved>0?{job_state>5?
-<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="restart-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}">
-<INPUT TYPE="SUBMIT" VALUE="R&eacute;imprimer la t&acirc;che"></FORM>:}:}
+<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="restart-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}"><INPUT TYPE="SUBMIT" VALUE="R&eacute;imprimer la t&acirc;che"></FORM>:}:}
 {job_state=4?
 <FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="release-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}">
 <INPUT TYPE="SUBMIT" VALUE="Lib&eacute;rer la t&acirc;che"></FORM>:}
index e01b9b4..791c560 100644 (file)
@@ -31,4 +31,4 @@
 </TABLE>
 
 </FORM>
-</DIV>
+</DIV>
\ No newline at end of file
index 74901c3..3e3deeb 100644 (file)
@@ -5,14 +5,14 @@
 </SELECT>
 {iscustom=1?<TABLE NAME="paramtable" id="{keyword}-params">{[params]
 <TR><TH CLASS="sublabel">{paramtext}:</TH>
-<TD>{params=Units?<SELECT NAME="{keyword}.{params}">
+<TD>{params=Units?<SELECT NAME="{keyword-1}.{params}">
 <OPTION VALUE="pt"{paramvalue=pt? SELECTED:}>Points</OPTION>
 <OPTION VALUE="mm"{paramvalue=mm? SELECTED:}>Millim&eagrave;tres</OPTION>
 <OPTION VALUE="cm"{paramvalue=cm? SELECTED:}>Centim&eagrave;tres</OPTION>
 <OPTION VALUE="in"{paramvalue=in? SELECTED:}>Pouces</OPTION>
 <OPTION VALUE="ft"{paramvalue=ft? SELECTED:}>Pieds</OPTION>
 <OPTION VALUE="m"{paramvalue=m? SELECTED:}>M&egrave;tres</OPTION>
-</SELECT>:<INPUT TYPE="{inputtype}" NAME="{keyword}.{params}" VALUE="{paramvalue}">}</TD></TR>
+</SELECT>:<INPUT TYPE="{inputtype}" NAME="{keyword-1}.{params}" VALUE="{paramvalue}">}</TD></TR>
 }</TABLE>
 </TD>:}
 </TR>
index 5dad006..ceff313 100644 (file)
@@ -2,4 +2,4 @@
 
 <P ALIGN="CENTER"><INPUT TYPE="SUBMIT" VALUE="D&eacute;finir les options par d&eacute;faut"></P>
 
-</DIV>
+</DIV>
\ No newline at end of file
index a585368..ce0a3b4 100644 (file)
@@ -2,6 +2,7 @@
 
 <H2 CLASS="title">Ajouter une imprimante</H2>
 
-<P>L'imprimante <A HREF="/printers/{printer_name}">{printer_name}</A> a &eacute;t&eacute; ajout&eacute;e avec succ&egrave;s.
+<P>L'imprimante <A HREF="/printers/{printer_name}">{printer_name}</A> a &eacute;t&eacute; ajout&eacute;e
+avec succ&egrave;s.
 
 </DIV>
index c0c16bb..d7f3703 100644 (file)
@@ -6,6 +6,8 @@
 HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
 a &eacute;t&eacute; d&eacute;finie comme imprimante par d&eacute;faut du serveur.</P>
 
-<BLOCKQUOTE><B>NB:</B> Tout param&egrave;tre utilisateur d&eacute;fini via la commande <TT>lpoptions</TT> sera prioritaire sur le param&egrave;tre d&eacute;fini i&ccedil;i.</BLOCKQUOTE>
+<BLOCKQUOTE><B>Note:</B> Tout param&egrave;tre utilisateur d&eacute;fini via la commande 
+<TT>lpoptions</TT> sera prioritaire sur le param&egrave;tre d&eacute;fini i&ccedil;i.
+</BLOCKQUOTE>
 
 </DIV>
index fd40342..db962dc 100644 (file)
@@ -5,4 +5,4 @@
 <P>L'imprimante <A HREF="/printers/{printer_name}">{printer_name}</A> a &eacute;t&eacute;
 modifi&eacute;e avec succ&egrave;s.
 
-</DIV>
+</DIV>
\ No newline at end of file
index 07b0fcd..ce167b9 100644 (file)
@@ -6,4 +6,4 @@
 HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
 ont &eacute;t&eacute; purg&eacute;es.</P> 
 
-</DIV>
+</DIV>
\ No newline at end of file
index c1cf7b4..f476c62 100644 (file)
@@ -6,4 +6,4 @@
 HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
 a &eacute;t&eacute; d&eacute;marr&eacute;e.</P>
 
-</DIV>
+</DIV>
\ No newline at end of file
index 3226110..eb36fb5 100644 (file)
@@ -6,4 +6,4 @@
 HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
 a &eacute;t&eacute; arr&ecirc;t&eacute;e.</P>
 
-</DIV>
+</DIV>
\ No newline at end of file
index 3ea015d..b5e89f0 100644 (file)
@@ -1,7 +1,7 @@
 <DIV CLASS="indent">
 
-<H2 CLASS="title"><A HREF="{printer_uri_supported}?which_jobs=all">{printer_name}</A>
-({printer_state=3?Innocup&eacute;e:{printer_state=4?En cours d'impression:En pause}},
+<H2 CLASS="title"><A HREF="{printer_uri_supported}">{printer_name}</A>
+({printer_state=3?Inoccup&eacute;e:{printer_state=4?En cours d'impression:En pause}},
 {printer_is_accepting_jobs=0?Rejette les t&acirc;ches:Accepte les t&acirc;ches},
 {server_is_sharing_printers=0?Non:{printer_is_shared=0?Non:}} Partag&eacute;e{default_name={printer_name}?, Imprimante par d&eacute;faut:})</H2>
 
@@ -44,4 +44,4 @@ media={media_default?{media_default}:inconnu}
 {sides_default?sides={sides_default}:}</TD></TR>
 </TABLE>
 
-</DIV>
+</DIV>
\ No newline at end of file
index e10e429..94ff4fd 100644 (file)
@@ -23,7 +23,8 @@ TARGET="_blank">error_log</A> pour plus d'informations.</P>:
 clients Windows puissent y acc&eacute;der via l'ic&oacirc;ne <VAR>Voisinage r&eacute;seau</VAR> ou
 <VAR>Favoris r&eacute;seau</VAR> du bureau. Vous devez au pr&eacute;alable installer les
 pilotes Windows d'imprimante PostScript : cf. la page <i>man</i> <A
-HREF="/help/man-cupsaddsmb.html" TARGET="_blank">cupsaddsmb(8)</A>.</P>}
+HREF="/help/man-cupsaddsmb.html"
+TARGET="_blank">cupsaddsmb(8)</A>.</P>}
 
 <TABLE>
 <TR>
index d453611..54fbcef 100644 (file)
@@ -1,5 +1,5 @@
 <DIV CLASS="indent">
 
-<P>L'abonnement #{notify_subscription_id}au flux RSS a &eacute;t&eacute; annul&eacute;.</P>
+<P>L'abonnement #{notify_subscription_id} au flux RSS a &eacute;t&eacute; annul&eacute;.</P>
 
 </DIV>
index c92c9dc..f3a46c2 100644 (file)
@@ -1,7 +1,7 @@
 </TD></TR>
 <TR><TD>&nbsp;</TD></TR>
 <TR><TD CLASS="trailer">CUPS et le logo CUPS sont des marques d&eacute;pos&eacute;es de
-<A HREF="http://www.apple.com">Apple Inc.</A> CUPS est sous copyright 2007-2012 Apple
+<A HREF="http://www.apple.com">Apple Inc.</A> CUPS est sous copyright 2007-2013 Apple
 Inc. Tous droits r&eacute;serv&eacute;s.</TD></TR>
 </TABLE>
 </BODY>
index 70d8d50..09741b5 100644 (file)
@@ -43,7 +43,7 @@ online help information.</P>
 <P>If you are new to CUPS, read the "<a
 href="/help/overview.html">Overview of CUPS</a>" page. Veteran users
 should read the "<a href="/help/whatsnew.html">What's New in CUPS
-1.5</a>" page.</P>
+1.6</a>" page.</P>
 
 <P>The <A HREF="http://www.cups.org/">CUPS home page</A> also
 provides many resources including user discussion forums, answers
diff --git a/templates/hu/add-class.tmpl b/templates/hu/add-class.tmpl
deleted file mode 100644 (file)
index fcfec00..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Osztály hozzáadása</H2>
-
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-
-<TABLE>
-<TR>
-<TH CLASS="label">Név:</TH>
-<TD><INPUT TYPE="TEXT" NAME="PRINTER_NAME" SIZE="40" MAXLENGTH="127"><BR>
-<SMALL>(Tetszőleges nyomtatható karaktert tartalmazhat, kivéve a „/”, „#” és szóköz karaktereket)</SMALL></TD>
-</TR>
-<TR>
-<TH CLASS="label">Leírás:</TH>
-<TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" SIZE="40" MAXLENGTH="127"><BR>
-<SMALL>(Közérthető leírás, mint például „HP LaserJet duplexerrel”)</SMALL></TD>
-</TR>
-<TR>
-<TH CLASS="label">Hely:</TH>
-<TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" SIZE="40" MAXLENGTH="127"><BR>
-<SMALL>(Közérthető hely, mint például „1-es labor”)</SMALL></TD>
-</TR>
-<TR>
-<TH CLASS="label">Tagok:</TH>
-<TD>
-<SELECT NAME="MEMBER_URIS" SIZE="10" MULTIPLE>
-{[member_uris]<OPTION VALUE="{member_uris}" {?member_selected}>{member_names}}
-</SELECT>
-</TD>
-</TR>
-<TR>
-<TD></TD>
-<TD>
-<INPUT TYPE="SUBMIT" VALUE="Osztály hozzáadása"></TD>
-</TR>
-</TABLE>
-
-</FORM>
-</DIV>
\ No newline at end of file
diff --git a/templates/hu/add-printer.tmpl b/templates/hu/add-printer.tmpl
deleted file mode 100644 (file)
index 6400699..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Nyomtató hozzáadása</H2>
-
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-<INPUT TYPE="HIDDEN" NAME="BAUDRATE" VALUE="{?baudrate}">
-<INPUT TYPE="HIDDEN" NAME="BITS" VALUE="{?bits}">
-<INPUT TYPE="HIDDEN" NAME="PARITY" VALUE="{?parity}">
-<INPUT TYPE="HIDDEN" NAME="FLOW" VALUE="{?flow}">
-{?current_make!?<INPUT TYPE="HIDDEN" NAME="CURRENT_MAKE" VALUE="{current_make}">:}
-{?current_make_and_model!?<INPUT TYPE="HIDDEN" NAME="CURRENT_MAKE_AND_MODEL" VALUE="{current_make_and_model}">:}
-
-<TABLE>
-<TR>
-<TH CLASS="label">Név:</TH>
-<TD><INPUT TYPE="TEXT" NAME="PRINTER_NAME" SIZE="40" MAXLENGTH="127" VALUE="{?template_name}"><BR>
-<SMALL>(Tetszőleges nyomtatható karaktert tartalmazhat, kivéve a „/”, „#” és szóköz karaktereket)</SMALL></TD>
-</TR>
-<TR>
-<TH CLASS="label">Leírás:</TH>
-<TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" SIZE="40" MAXLENGTH="127" VALUE="{?PRINTER_INFO}"><BR>
-<SMALL>(Közérthető leírás, mint például „HP LaserJet duplexerrel”)</SMALL></TD>
-</TR>
-<TR>
-<TH CLASS="label">Hely:</TH>
-<TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" SIZE="40" MAXLENGTH="127" VALUE="{?PRINTER_LOCATION}"><BR>
-<SMALL>(Közérthető hely, mint például „1-es labor”)</SMALL></TD>
-</TR>
-<TR>
-<TH CLASS="label">Kapcsolat:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
-</TR>
-<TR>
-<TH CLASS="label">Megosztás:</TH>
-<TD><INPUT TYPE="CHECKBOX" NAME="PRINTER_IS_SHARED" 
-{PRINTER_IS_SHARED=1?CHECKED:}> Nyomtató megosztása</TD>
-</TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Folytatás"></TD>
-</TR>
-</TABLE>
-
-</FORM>
-</DIV>
\ No newline at end of file
diff --git a/templates/hu/add-rss-subscription.tmpl b/templates/hu/add-rss-subscription.tmpl
deleted file mode 100644 (file)
index 7d66a29..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-rss-subscription">
-
-<H2 CLASS="title">RSS-hírforrás hozzáadása</H2>
-
-<TABLE SUMMARY="RSS-feliratkozás hozzáadása űrlap">
-<TR>
-<TH CLASS="label">Név:</TH>
-<TD COLSPAN="5"><INPUT TYPE="TEXT" NAME="SUBSCRIPTION_NAME" SIZE="40" MAXLENGTH="127" VALUE="{?SUBSCRIPTION_NAME}"><BR>
-<SMALL>(Tetszőleges nyomtatható karaktert tartalmazhat, kivéve a szóközt,
-a „/”, „?”, és „#” karaktereket)</SMALL></TD>
-</TR>
-<TR>
-<TH CLASS="label">Sor:</TH>
-<TD COLSPAN="5"><SELECT NAME="PRINTER_URI" SIZE="10"><OPTION VALUE="#ALL#"{?PRINTER_URI=#ALL#? SELECTED:}>Minden
-sor</OPTION>{[printer_name]<OPTION VALUE="{printer_uri_supported}"{?PRINTER_URI={printer_uri_supported}? SELECTED:}>{printer_name}</OPTION>}</SELECT></TD>
-</TR>
-<TR VALIGN="TOP">
-<TH CLASS="label">Események:</TH>
-<TD><INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_CREATED" 
-{?EVENT_JOB_CREATED}>Feladat létrehozva<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_COMPLETED" 
-{?EVENT_JOB_COMPLETED}>Feladat befejeződött<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_STOPPED" 
-{?EVENT_JOB_STOPPED}>Feladat leállítva<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_CONFIG_CHANGED" 
-{?EVENT_JOB_CONFIG_CHANGED}>Feladat beállításai módosítva</TD>
-<TD>&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-<TD><INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_STOPPED" 
-{?EVENT_PRINTER_STOPPED}>Sor leállítva<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_ADDED" 
-{?EVENT_PRINTER_ADDED}>Sor hozzáadva<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_MODIFIED" 
-{?EVENT_PRINTER_MODIFIED}>Sor módosítva<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_DELETED" 
-{?EVENT_PRINTER_DELETED}>Sor törölve</TD>
-<TD>&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-<TD><INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_STARTED" 
-{?EVENT_SERVER_STARTED}>Kiszolgáló elindítva<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_STOPPED" 
-{?EVENT_SERVER_STOPPED}>Kiszolgáló leállítva<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_RESTARTED" 
-{?EVENT_SERVER_RESTARTED}>Kiszolgáló újraindítva<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_AUDIT" 
-{?EVENT_SERVER_AUDIT}>Kiszolgáló biztonsági megfigyelése</TD>
-</TR>
-<TR>
-<TH CLASS="label">Események maximális száma a hírforrásban:</TH>
-<TD COLSPAN="5"><INPUT TYPE="NUMBER" NAME="MAX_EVENTS" SIZE="4" MAXLENGTH="4" VALUE="{MAX_EVENTS?{MAX_EVENTS}:20}"></TD>
-</TR>
-<TR>
-<TD></TD>
-<TD COLSPAN="5"><INPUT TYPE="SUBMIT" VALUE="RSS-hírforrás hozzáadása"></TD>
-</TR>
-</TABLE>
-
-</FORM>
diff --git a/templates/hu/admin.tmpl b/templates/hu/admin.tmpl
deleted file mode 100644 (file)
index 6e495a0..0000000
+++ /dev/null
@@ -1,134 +0,0 @@
-<TABLE CLASS="indent" SUMMARY="Adminisztrációs feladatok">
-<TR><TD VALIGN="TOP">
-
-<H2 CLASS="title">Nyomtatók</H2>
-
-<P>
-<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-printer">
-<INPUT TYPE="SUBMIT" VALUE="Nyomtató hozzáadása"></FORM>
-<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="find-new-printers">
-<INPUT TYPE="SUBMIT" VALUE="Új nyomtatók keresése"></FORM>
-<FORM ACTION="/printers/" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Nyomtatók kezelése"></FORM>
-{have_samba?<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="export-samba"><INPUT TYPE="SUBMIT" VALUE="Nyomtatók
-exportálása Samba megosztáshoz"></FORM>:}
-</P>
-
-<H2 CLASS="title">Osztályok</H2>
-
-<P>
-<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-class">
-<INPUT TYPE="SUBMIT" VALUE="Osztály hozzáadása"></FORM>
-<FORM ACTION="/classes/" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Osztályok kezelése"></FORM>
-</P>
-
-<H2 CLASS="title">Feladatok</H2>
-
-<P>
-<FORM ACTION="/jobs/" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Feladatok kezelése"></FORM>
-</P>
-
-</TD><TD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD><TD VALIGN="TOP">
-
-<H2 CLASS="title">Kiszolgáló</H2>
-
-<P>
-<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server"><INPUT TYPE="SUBMIT" VALUE="Konfigurációs fájl szerkesztése"></FORM>
-<FORM ACTION="/admin/log/access_log" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Hozzáférési napló megjelenítése"></FORM>
-<FORM ACTION="/admin/log/error_log" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Hibanapló megjelenítése"></FORM>
-<FORM ACTION="/admin/log/page_log" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Oldalnapló megjelenítése"></FORM>
-</P>
-
-{SETTINGS_ERROR?<P>{SETTINGS_MESSAGE}</P>
-<BLOCKQUOTE>{SETTINGS_ERROR}</BLOCKQUOTE>:
-
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-
-{ADVANCEDSETTINGS?<P><B>Kiszolgálóbeállítások\:</B></P>
-
-<P><A HREF="/admin/">Speciális <SMALL>&#x25bc;</SMALL></A><BR>
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server">
-<INPUT TYPE="HIDDEN" NAME="ADVANCEDSETTINGS" VALUE="YES">
-<INPUT TYPE="CHECKBOX" NAME="REMOTE_PRINTERS" {?remote_printers}> Más
-rendszerek által megosztott nyomtatók megjelenítése<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Protokollok\:
-<INPUT TYPE="CHECKBOX" NAME="BROWSE_REMOTE_CUPS" {?browse_remote_cups}> CUPS
-{HAVE_LDAP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_REMOTE_LDAP" {?browse_remote_ldap}> LDAP:}
-{HAVE_LIBSLP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_REMOTE_SLP" {?browse_remote_slp}> SLP:}<BR>
-<INPUT TYPE="CHECKBOX" NAME="SHARE_PRINTERS" {?share_printers}> A
-rendszerhez csatlakozó nyomtatók megosztása<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Kliensek max.\:
-<INPUT TYPE="TEXT" NAME="MAX_CLIENTS" VALUE="{?max_clients}" SIZE="6"><BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Protokollok\:
-<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_CUPS" {?browse_local_cups}> CUPS
-{HAVE_DNSSD?<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_DNSSD" {?browse_local_dnssd}> DNS-SD:}
-{HAVE_LDAP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_LDAP" {?browse_local_ldap}> LDAP:}
-{HAVE_LIBSLP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_SLP" {?browse_local_slp}> SLP:}<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="REMOTE_ANY" 
-{?remote_any}> Nyomtatás engedélyezése az internetről<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="BROWSE_WEB_IF" 
-{?browse_web_if}> Webes felület hirdetése<BR>
-<INPUT TYPE="CHECKBOX" NAME="REMOTE_ADMIN" {?remote_admin}> Távoli
-adminisztráció engedélyezése<BR>
-{have_gssapi?<INPUT TYPE="CHECKBOX" NAME="KERBEROS" {?kerberos}> Kerberos
-hitelesítés használata (<A HREF="/help/kerberos.html?TOPIC=Getting+Started">FAQ</A>)<BR>:}
-<INPUT TYPE="CHECKBOX" NAME="USER_CANCEL_ANY" {?user_cancel_any}> A
-felhasználók bármely feladatot megszakíthatják (nem csak a sajátjukat)<BR>
-<INPUT TYPE="CHECKBOX" NAME="PRESERVE_JOB_HISTORY" 
-{?preserve_job_history}> Feladatelőzmények megőrzése<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Feladatok száma\:
-<INPUT TYPE="TEXT" NAME="MAX_JOBS" VALUE="{?max_jobs}" SIZE="6"><BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="PRESERVE_JOB_FILES" 
-{?preserve_job_files}> Feladatok nyomtatási fájljainak megőrzése<BR>
-<INPUT TYPE="CHECKBOX" NAME="DEBUG_LOGGING" {?debug_logging}> Hibakeresési
-információk mentése hibaelhárításhoz<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Naplófájlméret max.\:
-<INPUT TYPE="TEXT" NAME="MAX_LOG_SIZE" VALUE="{?max_log_size}" SIZE="6"></P>
-
-:<P><B>Kiszolgálóbeállítások:</B></P>
-
-<P><A HREF="/admin/?ADVANCEDSETTINGS=YES">Speciális
-<SMALL>&#x25b6;</SMALL></A><BR>
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server">
-<INPUT TYPE="CHECKBOX" NAME="REMOTE_PRINTERS" {?remote_printers}> Más
-rendszerek által megosztott nyomtatók megjelenítése<BR>
-<INPUT TYPE="CHECKBOX" NAME="SHARE_PRINTERS" {?share_printers}> A
-rendszerhez csatlakozó nyomtatók megosztása<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="REMOTE_ANY" 
-{?remote_any}> Nyomtatás engedélyezése az internetről<BR>
-<INPUT TYPE="CHECKBOX" NAME="REMOTE_ADMIN" {?remote_admin}> Távoli
-adminisztráció engedélyezése<BR>
-{have_gssapi?<INPUT TYPE="CHECKBOX" NAME="KERBEROS" {?kerberos}> Kerberos
-hitelesítés használata (<A
-HREF="/help/kerberos.html?TOPIC=Getting+Started">FAQ</A>)<BR>:}
-<INPUT TYPE="CHECKBOX" NAME="USER_CANCEL_ANY" {?user_cancel_any}> A
-felhasználók bármely feladatot megszakíthatják (nem csak a sajátjukat)<BR>
-<INPUT TYPE="CHECKBOX" NAME="DEBUG_LOGGING" {?debug_logging}> Hibakeresési
-információk mentése hibaelhárításhoz</P>
-
-}
-<P><INPUT TYPE="SUBMIT" NAME="CHANGESETTINGS" VALUE="Beállítások módosítása"></P>
-
-</FORM>}
-
-</TD></TR>
-</TABLE>
-
-<DIV CLASS="indent">
-
-<H2 CLASS="title">RSS-hírforrások</H2>
-
-<P>
-<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-rss-subscription"><INPUT TYPE="SUBMIT" VALUE="RSS-hírforrás hozzáadása"></FORM>
-</P>
-
-</DIV>
-
-{notify_subscription_id?<TABLE CLASS="list" SUMMARY="RSS-feliratkozások">
-<THEAD><TR><TH>Név</TH><TH>Események</TH><TH>Sor neve</TH></TR></THEAD>
-<TBODY>{[notify_subscription_id]
-<TR><TD><A HREF="{notify_recipient_uri}">{notify_recipient_name}</A><BR>
-<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="cancel-subscription"><INPUT TYPE="HIDDEN" NAME="notify_subscription_id" VALUE="{notify_subscription_id}"><INPUT TYPE="SUBMIT" VALUE="RSS-hírforrás törlése"></FORM>&nbsp;</TD><TD>{notify_events}</TD><TD NOWRAP>&nbsp;{notify_printer_name?{notify_printer_name}:Minden
-sor}</TD></TR>}
-</TBODY>
-</TABLE>:}
diff --git a/templates/hu/choose-make.tmpl b/templates/hu/choose-make.tmpl
deleted file mode 100644 (file)
index e554a6d..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{op=modify-printer?{printer_name} módosítása:Nyomtató
-hozzáadása}</H2>
-
-<FORM METHOD="POST" ACTION="/admin" ENCTYPE="multipart/form-data">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-{printer_name?<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">:}
-<INPUT TYPE="HIDDEN" NAME="BAUDRATE" VALUE="{?baudrate}">
-<INPUT TYPE="HIDDEN" NAME="BITS" VALUE="{?bits}">
-<INPUT TYPE="HIDDEN" NAME="PARITY" VALUE="{?parity}">
-<INPUT TYPE="HIDDEN" NAME="FLOW" VALUE="{?flow}">
-
-<TABLE>
-{op=modify-printer?:<TR>
-<TH CLASS="label">Név:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">{printer_name}</TD>
-</TR>}
-<TR>
-<TH CLASS="label">Leírás:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_INFO" VALUE="{printer_info}">{printer_info}</TD>
-</TR>
-<TR>
-<TH CLASS="label">Hely:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_LOCATION" VALUE="{printer_location}">{printer_location}</TD>
-</TR>
-<TR>
-<TH CLASS="label">Kapcsolat:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
-</TR>
-<TR>
-<TH CLASS="label">Megosztás:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_IS_SHARED" VALUE="{?printer_is_shared}">
-{?printer_is_shared=?Nincs megosztva:{?printer_is_shared=0?:Nyomtató megosztása}}</TD>
-</TR>
-<TR>
-<TH CLASS="label">Gyártó:</TH>
-<TD>
-<SELECT NAME="PPD_MAKE" SIZE="10">
-{[ppd_make]<OPTION VALUE="{ppd_make}" {?current_make={ppd_make}?SELECTED:}>{ppd_make}}
-</SELECT>
-</TD>
-</TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Folytatás"></TD>
-</TR>
-<TR>
-<TD></TD>
-<TD>&nbsp;</TD>
-</TR>
-<TR>
-<TH CLASS="label">Vagy adjon meg egy PPD-fájlt:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="MAX_FILE_SIZE" VALUE="262144"><INPUT
-TYPE="FILE" NAME="PPD_FILE"></TD>
-</TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="{op=add-printer?Nyomtató hozzáadása:Nyomtató módosítása}"></TD>
-</TR>
-</TABLE>
-
-</FORM>
-</DIV>
\ No newline at end of file
diff --git a/templates/hu/choose-model.tmpl b/templates/hu/choose-model.tmpl
deleted file mode 100644 (file)
index 34a455d..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{op=modify-printer?{printer_name} módosítása:Nyomtató hozzáadása}</H2>
-
-<FORM METHOD="POST" ACTION="/admin" ENCTYPE="multipart/form-data">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-{printer_name?<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">:}
-<INPUT TYPE="HIDDEN" NAME="BAUDRATE" VALUE="{?baudrate}">
-<INPUT TYPE="HIDDEN" NAME="BITS" VALUE="{?bits}">
-<INPUT TYPE="HIDDEN" NAME="PARITY" VALUE="{?parity}">
-<INPUT TYPE="HIDDEN" NAME="FLOW" VALUE="{?flow}">
-<TABLE>
-{op=modify-printer?:<TR>
-<TH CLASS="label">Név:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">{printer_name}</TD>
-</TR>}
-<TR>
-<TH CLASS="label">Leírás:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_INFO" VALUE="{printer_info}">{printer_info}</TD>
-</TR>
-<TR>
-<TH CLASS="label">Hely:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_LOCATION" VALUE="{printer_location}">{printer_location}</TD>
-</TR>
-<TR>
-<TH CLASS="label">Kapcsolat:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
-</TR>
-<TR>
-<TH CLASS="label">Megosztás:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_IS_SHARED" VALUE="{?printer_is_shared}">
-{?printer_is_shared=?Nincs megosztva:{?printer_is_shared=0?:Nyomtató
-megosztása}}</TD>
-</TR>
-<TR>
-<TH CLASS="label">Gyártó:</TH>
-<TD>{PPD_MAKE} <INPUT TYPE="SUBMIT" NAME="SELECT_MAKE" VALUE="Másik gyártó választása"></TD>
-</TR>
-<TR>
-<TH CLASS="label">Modell:</TH>
-<TD>
-<SELECT NAME="PPD_NAME" SIZE="10">
-{op=add-printer?:<OPTION VALUE="__no_change__" SELECTED>Jelenlegi illesztőprogram - {current_make_and_model}</OPTION>:}
-{[ppd_name]<OPTION VALUE="{ppd_name}" {op=modify-printer?:{?current_make_and_model={ppd_make_and_model}?SELECTED:}}>{ppd_make_and_model} ({ppd_natural_language})
-}</SELECT>
-</TD>
-</TR>
-<TR>
-<TH CLASS="label">Vagy adjon meg egy PPD-fájlt:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="MAX_FILE_SIZE" VALUE="262144"><INPUT
-TYPE="FILE" NAME="PPD_FILE"></TD>
-</TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="{op=add-printer?Nyomtató hozzáadása:Nyomtató módosítása}"></TD>
-</TR>
-</TABLE>
-
-</FORM>
-</DIV>
\ No newline at end of file
diff --git a/templates/hu/choose-serial.tmpl b/templates/hu/choose-serial.tmpl
deleted file mode 100644 (file)
index a661cfd..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{op=modify-printer?{printer_name} módosítása:Nyomtató
-hozzáadása}</H2>
-
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-{printer_name?<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">:}
-
-<TABLE>
-<TR>
-<TH CLASS="label">Kapcsolat:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
-</TR>
-<TR>
-<TH CLASS="label">Adatátviteli sebesség:</TH>
-<TD><SELECT NAME="BAUDRATE">
-{[baudrates]<OPTION {?baudrate={baudrates}?SELECTED:}>{baudrates}}
-</SELECT></TD>
-</TR>
-<TR>
-<TH CLASS="label">Paritás:</TH>
-<TD><SELECT NAME="PARITY">
-<OPTION VALUE="none" {?parity=none?SELECTED:}>Nincs
-<OPTION VALUE="even" {?parity=even?SELECTED:}>Páros
-<OPTION VALUE="odd" {?parity=odd?SELECTED:}>Páratlan
-</SELECT></TD>
-</TR>
-<TR>
-<TH CLASS="label">Adatbitek:</TH>
-<TD><SELECT NAME="BITS">
-<OPTION {?bits=8?SELECTED:}>8
-<OPTION {?bits=7?SELECTED:}>7
-</SELECT></TD>
-</TR>
-<TR>
-<TH CLASS="label">Folyamvezérlés:</TH>
-<TD><SELECT NAME="FLOW">
-<OPTION VALUE="none" {?flow=none?SELECTED:}>Nincs
-<OPTION VALUE="soft" {?flow=soft?SELECTED:}>XON/XOFF (szoftveres)
-<OPTION VALUE="hard" {?flow=hard?SELECTED:}>RTS/CTS (hardveres)
-<OPTION VALUE="dtrdsr" {?flow=dtrdsr?SELECTED:}>DTR/DSR (hardveres)
-</SELECT></TD>
-</TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Folytatás"></TD>
-</TR>
-</TABLE>
-
-</FORM>
-</DIV>
\ No newline at end of file
diff --git a/templates/hu/choose-uri.tmpl b/templates/hu/choose-uri.tmpl
deleted file mode 100644 (file)
index 687c744..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{op=modify-printer?{printer_name} módosítása:Nyomtató
-hozzáadása}</H2>
-
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-{printer_name?<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">:}
-<INPUT TYPE="HIDDEN" NAME="CURRENT_MAKE_AND_MODEL" VALUE="{?current_make_and_model}">
-
-<TABLE>
-<TR>
-<TH CLASS="label">Kapcsolat:</TH>
-<TD><INPUT TYPE="URL" SIZE="60" MAXLENGTH="1023" NAME="DEVICE_URI" VALUE="{current_device_uri?{current_device_uri}:{device_uri}}"></TD>
-</TR>
-<TR>
-<TD></TD>
-<TD>Példák:
-<PRE>
-    http://gépnév:631/ipp/
-    http://gépnév:631/ipp/port1
-
-    ipp://gépnév/ipp/
-    ipp://gépnév/ipp/port1
-
-    lpd://gépnév/nyomtatásisor
-
-    socket://gépnév
-    socket://gépnév:9100
-</PRE>
-
-<P>A nyomtatóval használandó helyes URI-címért nézze meg a „<A HREF="/help/network.html" TARGET="_blank">Hálózati nyomtatók</A>” oldalt.</P>
-
-</TD>
-</TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Folytatás"></TD>
-</TR>
-</TABLE>
-
-</FORM>
-</DIV>
\ No newline at end of file
diff --git a/templates/hu/class-added.tmpl b/templates/hu/class-added.tmpl
deleted file mode 100644 (file)
index a313c42..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Osztály hozzáadása</H2>
-
-<P>A(z) <A HREF="/classes/{printer_name}">{printer_name}</A> osztály
-sikeresen hozzáadva.
-</DIV>
diff --git a/templates/hu/class-confirm.tmpl b/templates/hu/class-confirm.tmpl
deleted file mode 100644 (file)
index 89b5b7c..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{printer_name} osztály törlése</H2>
-
-<P><B>Figyelmeztetés:</B> Biztosan törli a következő osztályt:
-{printer_name}?</P>
-
-<P ALIGN="CENTER"><FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="op" VALUE="delete-class"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}"><INPUT TYPE="SUBMIT" NAME="confirm" VALUE="Osztály törlése"></FORM></P>
-
-</DIV>
diff --git a/templates/hu/class-deleted.tmpl b/templates/hu/class-deleted.tmpl
deleted file mode 100644 (file)
index b6743c7..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{printer_name} osztály törlése</H2>
-
-<P>A(z) {printer_name} osztály sikeresen törölve.
-</DIV>
\ No newline at end of file
diff --git a/templates/hu/class-jobs-header.tmpl b/templates/hu/class-jobs-header.tmpl
deleted file mode 100644 (file)
index 0ed221c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<DIV CLASS="indent">
-<H3 CLASS="title">Feladatok</H3>
-</DIV>
diff --git a/templates/hu/class-modified.tmpl b/templates/hu/class-modified.tmpl
deleted file mode 100644 (file)
index b344c92..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{printer_name} osztály módosítása</H2>
-
-<P>A(z) <A HREF="/classes/{printer_name}">{printer_name}</A> osztály
-sikeresen módosítva.
-</DIV>
\ No newline at end of file
diff --git a/templates/hu/class.tmpl b/templates/hu/class.tmpl
deleted file mode 100644 (file)
index 92f2ac1..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-<DIV CLASS="indent">
-<H2 CLASS="title"><A HREF="{printer_uri_supported}">{printer_name}</A>
-({printer_state=3?Tétlen:{printer_state=4?Feldolgozás:Szüneteltetve}},
-{printer_is_accepting_jobs=0?visszautasítja a feladatokat:elfogad
-feladatokat},
-{server_is_sharing_printers=0?nem:{printer_is_shared=0?nem:}}
-megosztott{default_name={printer_name}?, kiszolgáló alapértelmezettje:})</H2>
-
-<FORM METHOD="POST" ACTION="{printer_uri_supported}" NAME="maintenance">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<SELECT NAME="OP" ONCHANGE="document.maintenance.submit();">
-<OPTION VALUE="">Karbantartás</OPTION>
-<OPTION VALUE="print-test-page">Tesztoldal nyomtatása</OPTION>
-{printer_state=5?<OPTION VALUE="start-class">Osztály folytatása</OPTION>:<OPTION VALUE="stop-class">
-Osztály szüneteltetése</OPTION>}
-{printer_is_accepting_jobs=0?<OPTION VALUE="accept-jobs">Feladatok
-elfogadása</OPTION>:<OPTION VALUE="reject-jobs">Feladatok visszautasítása</OPTION>}
-<OPTION VALUE="move-jobs">Minden feladat mozgatása</OPTION>
-<OPTION VALUE="purge-jobs">Minden feladat megszakítása</OPTION>
-</SELECT>
-<INPUT TYPE="SUBMIT" VALUE="Ugrás" STYLE="display: none;">
-</FORM>
-
-<FORM METHOD="POST" ACTION="{admin_uri}" NAME="administration">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">
-<INPUT TYPE="HIDDEN" NAME="IS_CLASS" VALUE="1">
-<SELECT NAME="OP" ONCHANGE="document.administration.submit();">
-<OPTION VALUE="">Adminisztráció</OPTION>
-<OPTION VALUE="modify-class">Osztály módosítása</OPTION>
-<OPTION VALUE="delete-class">Osztály törlése</OPTION>
-<OPTION VALUE="set-class-options">Alapértelmezett beállítások megadása</OPTION>
-<OPTION VALUE="set-as-default">Beállítás a kiszolgáló alapértelmezettjeként</OPTION>
-<OPTION VALUE="set-allowed-users">Engedélyezett felhasználók megadása</OPTION>
-</SELECT>
-<INPUT TYPE="SUBMIT" VALUE="Ugrás" STYLE="display: none;">
-</FORM>
-
-<TABLE SUMMARY="{printer_name}">
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Leírás:</TH><TD>{printer_info}</TD></TR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Hely:</TH><TD>{printer_location}</TD></TR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Tagok:</TH><TD>{?member_uris=?Nincs:{member_uris}}</TD></TR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Alapértelmezések:</TH><TD>job-sheets={job_sheets_default}
-media={media_default?{media_default}:ismeretlen}
-{sides_default?sides={sides_default}:}</TD></TR>
-</TABLE>
-
-</DIV>
diff --git a/templates/hu/classes-header.tmpl b/templates/hu/classes-header.tmpl
deleted file mode 100644 (file)
index 7ed2742..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<P ALIGN="CENTER">{total=0?Nincsenek osztályok:{total} osztályból {#printer_name} megjelenítve.</P>
diff --git a/templates/hu/classes.tmpl b/templates/hu/classes.tmpl
deleted file mode 100644 (file)
index 86c6fbc..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-{#printer_name=0?:
-<TABLE CLASS="list" SUMMARY="Osztálylista">
-<THEAD>
-<TR><TH><A
-HREF="{THISURL}?QUERY={?QUERY}&amp;WHICH_JOBS={?WHICH_JOBS}&amp;FIRST={FIRST}&amp;ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>&#x25b2;</SMALL>
-Sor neve <SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL> Sor neve
-<SMALL>&#x25bc;</SMALL>}</A></TH><TH>
-Leírás</TH><TH>Hely</TH><TH>Tagok</TH><TH>Állapot</TH></TR>
-</THEAD>
-<TBODY>
-{[printer_name]<TR><TD><A HREF="{printer_uri_supported}">{printer_name}</A></TD><TD>{printer_info}</TD><TD>{printer_location}</TD><TD>{?member_uris=?Nincs:{member_uris}}</TD><TD>{printer_state=3?Tétlen:{printer_state=4?Feldolgozás:Szüneteltetve}}{printer_state_message?
-- "{printer_state_message}":}</TD></TR>
-}
-</TBODY>
-</TABLE></DIV>}
diff --git a/templates/hu/command.tmpl b/templates/hu/command.tmpl
deleted file mode 100644 (file)
index 4d198ba..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{title} ezen: {printer_name}</H2>
-
-<P>{job_state>5?:<IMG SRC="/images/wait.gif" WIDTH="16" HEIGHT="16"
-ALIGN="ABSMIDDLE" ALT="Foglalt jelzés"> }Nyomtató parancs feladat
-{job_state=3?függőben:{job_state=4?felfüggesztve:
-{job_state=5?feldolgozás:{job_state=6?leállítva:
-{job_state=7?megszakítva:{job_state=8?félbeszakítva:befejeződött}}}}}}{job_state=9?:{job_printer_state_message?,
-<EM>"{job_printer_state_message}"</EM>:}}</P>
-
-</DIV>
diff --git a/templates/hu/edit-config.tmpl b/templates/hu/edit-config.tmpl
deleted file mode 100644 (file)
index 430ef34..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<SCRIPT TYPE="text/javascript">
-function reset_config()
-{
-  document.cups.CUPSDCONF.value = "{?cupsdconf_default}";
-}
-</SCRIPT>
-
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Konfigurációs fájl szerkesztése</H2>
-
-<FORM NAME="cups" METHOD="POST" ACTION="/admin/">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server">
-
-<TEXTAREA NAME="CUPSDCONF" COLS="80" ROWS="25">{CUPSDCONF}</TEXTAREA>
-
-<P><INPUT TYPE="SUBMIT" NAME="SAVECHANGES" VALUE="Módosítások mentése">
-<INPUT TYPE="BUTTON" VALUE="Alapértelmezett konfigurációs fájl
-használata" onClick="reset_config();"></P>
-
-</FORM>
-
-</DIV>
diff --git a/templates/hu/error-op.tmpl b/templates/hu/error-op.tmpl
deleted file mode 100644 (file)
index bbd267a..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{?title} {?printer_name} hiba</H2>
-
-<P>Hiba:</P>
-
-<BLOCKQUOTE>Ismeretlen művelet: "{op}"!</BLOCKQUOTE>
-
-</DIV>
diff --git a/templates/hu/error.tmpl b/templates/hu/error.tmpl
deleted file mode 100644 (file)
index 7366c86..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{?title} {?printer_name} hiba</H2>
-
-<P>{?message?{message}:Hiba:}</P>
-
-<BLOCKQUOTE>{error}</BLOCKQUOTE>
-
-</DIV>
diff --git a/templates/hu/header.tmpl.in b/templates/hu/header.tmpl.in
deleted file mode 100644 (file)
index 6d123f3..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<HTML>
-<HEAD>
-       <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
-       <TITLE>{title} - CUPS @CUPS_VERSION@@CUPS_REVISION@</TITLE>
-       <LINK REL="STYLESHEET" TYPE="text/css" HREF="/cups.css">
-       <LINK REL="SHORTCUT ICON" HREF="/images/cups-icon.png" TYPE="image/png">
-       {refresh_page?<META HTTP-EQUIV="Refresh" CONTENT="{refresh_page}">:}
-</HEAD>
-<BODY>
-<TABLE CLASS="page" SUMMARY="{title}">
-<TR><TD CLASS="body">
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
-<TR HEIGHT="36">
-<TD><A HREF="http://www.cups.org/" TARGET="_blank"><IMG
-SRC="/images/left.gif" WIDTH="64" HEIGHT="36" BORDER="0" ALT=""></A></TD>
-<TD CLASS="unsel"><A HREF="/">&nbsp;&nbsp;Kezdőoldal&nbsp;&nbsp;</A></TD>
-<TD CLASS="{SECTION=admin?:un}sel"><A
-HREF="/admin">&nbsp;&nbsp;Adminisztráció&nbsp;&nbsp;</A></TD>
-<TD CLASS="{SECTION=classes?:un}sel"><A
-HREF="/classes/">&nbsp;&nbsp;Osztályok&nbsp;&nbsp;</A></TD>
-<TD CLASS="{SECTION=help?:un}sel"><A
-HREF="/help/">&nbsp;&nbsp;Online&nbsp;súgó&nbsp;&nbsp;</A></TD>
-<TD CLASS="{SECTION=jobs?:un}sel"><A
-HREF="/jobs/">&nbsp;&nbsp;Feladatok&nbsp;&nbsp;</A></TD>
-<TD CLASS="{SECTION=printers?:un}sel"><A
-HREF="/printers/">&nbsp;&nbsp;Nyomtatók&nbsp;&nbsp;</A></TD>
-<TD CLASS="unsel" WIDTH="100%"><FORM ACTION="/help/" METHOD="GET"><INPUT
-TYPE="SEARCH" NAME="QUERY" SIZE="20" PLACEHOLDER="Keresés a súgóban"
-VALUE="{SECTION=help?{?QUERY}:}" AUTOSAVE="org.cups.help" RESULTS="20"></FORM></TD>
-<TD><IMG SRC="/images/right.gif" WIDTH="4" HEIGHT="36" ALT=""></TD>
-</TR>
-<TR><TD COLSPAN="9">&nbsp;</TD></TR>
-</TABLE>
diff --git a/templates/hu/help-header.tmpl b/templates/hu/help-header.tmpl
deleted file mode 100755 (executable)
index 4cd362f..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-<DIV CLASS="indent">
-<FORM ACTION="/help/{?HELPFILE}" METHOD="GET">
-{TOPIC?<INPUT TYPE="HIDDEN" NAME="TOPIC" VALUE="{TOPIC}">:}
-
-<P ALIGN="CENTER"><B>Keresés itt\:
-{HELPTITLE?{HELPTITLE}:{TOPIC?{TOPIC}:minden dokumentáció}}:</B> <INPUT
-TYPE="SEARCH" NAME="QUERY" VALUE="{?QUERY}" SIZE="40" PLACEHOLDER=""
-AUTOSAVE="org.cups.help" RESULTS="20">
-<INPUT TYPE="SUBMIT" NAME="SEARCH" VALUE="Keresés">
-<INPUT TYPE="SUBMIT" NAME="CLEAR" VALUE="Törlés"></P>
-
-</FORM>
-
-<!-- Bookmarks -->
-<DIV CLASS="sidebar"><TABLE CLASS="inset" SUMMARY="Tartalom">
-<TR><TD>
-
-<H3 CLASS="title">Online súgódokumentumok</H3>
-
-<P CLASS="l0"><A HREF="/help/{QUERY??QUERY={QUERY}:}">Minden dokumentáció</A></P>
-<HR>
-
-{[BMTEXT]<P CLASS="l{BMINDENT}"><A HREF="{BMLINK}">{BMTEXT}</A></P>
-}
-</TD></TR>
-</TABLE></DIV>
-
-{QUERY?<P>Találatok itt\: {HELPFILE?{HELPTITLE}:{TOPIC?{TOPIC}:minden
-dokumentáció}}\:</P>
-{QTEXT?<UL>
-{[QTEXT]<LI><A HREF="{QLINK}">{QTEXT}</A>{QPTEXT? (itt\: <I><A
-HREF="{QPLINK}">{QPTEXT}</A></I>):}</LI>}
-{QTEXT?</UL>:}
-:<P>Nincs találat.</P>}
-<HR NOSHADE>:}
-{HELPTITLE?<H1>{HELPTITLE}</H1>
-<FORM ACTION="/help/{?HELPFILE}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="PRINTABLE" VALUE="YES"><INPUT TYPE="SUBMIT" VALUE="Nyomtatható változat megjelenítése"></FORM>:
-
-<H1>Online súgó</H1>
-
-<P>Ez a CUPS online súgófelülete. Adja meg fentebb a keresőkifejezéseket,
-vagy kattintson a dokumentációs linkekre az online súgóinformációk
-megjelenítéséhez.</P>
-
-<P>Ha új CUPS felhasználó, olvassa el a „<a href="/help/overview.html">CUPS bemutatása</a>” oldalt. A tapasztalt
-felhasználóknak „<a href="/help/whatsnew.html">A CUPS 1.5 újdonságai</a>”
-oldal elolvasását ajánljuk.</P>
-
-<P>A <A HREF="http://www.cups.org/">CUPS honlapja</A> is számos (angol
-nyelvű) információforrást biztosít, beleértve a felhasználói fórumokat,
-válaszokat a gyakran feltett kérdésekre és egy űrlapot hibajelentések és
-szolgáltatáskérések beküldéséhez.</P>}
diff --git a/templates/hu/help-printable.tmpl b/templates/hu/help-printable.tmpl
deleted file mode 100644 (file)
index 2463c16..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<HTML>
-<HEAD>
-       <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
-       <TITLE>{HELPTITLE}</TITLE>
-       <LINK REL="STYLESHEET" TYPE="text/css" HREF="/cups-printable.css">
-       <LINK REL="SHORTCUT ICON" HREF="/images/cups-icon.png" TYPE="image/png">
-</HEAD>
-<BODY>
diff --git a/templates/hu/help-trailer.tmpl b/templates/hu/help-trailer.tmpl
deleted file mode 100644 (file)
index 4c1ebed..0000000
+++ /dev/null
@@ -1 +0,0 @@
-</DIV>
diff --git a/templates/hu/job-cancel.tmpl b/templates/hu/job-cancel.tmpl
deleted file mode 100644 (file)
index 4534641..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{job_id}. feladat megszakítása</H2>
-
-<P>A(z) <A HREF="{job_printer_uri}">{job_id}. feladat</A> megszakítva.
-</DIV>
diff --git a/templates/hu/job-hold.tmpl b/templates/hu/job-hold.tmpl
deleted file mode 100644 (file)
index 78e15a1..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{job_id}. feladat felfüggesztése</H2>
-
-<P>A(z) <A HREF="{job_printer_uri}">{job_id}. feladat</A>
-nyomtatása felfüggesztve.
-</DIV>
diff --git a/templates/hu/job-move.tmpl b/templates/hu/job-move.tmpl
deleted file mode 100644 (file)
index 7a822c3..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<DIV CLASS="indent">
-
-<FORM METHOD="POST" ACTION="/{SECTION}/{job_id?:{printer_name}}">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-{job_id?<INPUT TYPE="HIDDEN" NAME="JOB_ID" VALUE="{job_id}">:}
-
-<H2 CLASS="title">{job_id?Feladat mozgatása {job_id}:Minden feladat mozgatása}</H2>
-
-<TABLE>
-<TR>
-<TH CLASS="label">Új cél:</TH>
-<TD>
-<SELECT NAME="JOB_PRINTER_URI" SIZE="10">
-{[job_printer_uri]<OPTION VALUE="{job_printer_uri}">{job_printer_name}}
-</SELECT>
-</TD>
-</TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="{job_id?Feladat mozgatása:Feladatok mozgatása}"></TD>
-</TR>
-</TABLE>
-
-</FORM>
-
-</DIV>
diff --git a/templates/hu/job-moved.tmpl b/templates/hu/job-moved.tmpl
deleted file mode 100644 (file)
index 0d4fc32..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{job_id?Feladat mozgatása {job_id}:Minden feladat
-mozgatása}</H2>
-
-<P>{job_id?<A HREF="/jobs/{job_id}">A(z) {job_id}. feladat</A>:Minden
-feladat} átmozgatva ide: <A
-HREF="/{is_class?classes:printers}/{job_printer_name}">{job_printer_name}</A>.</P>
-
-</DIV>
diff --git a/templates/hu/job-release.tmpl b/templates/hu/job-release.tmpl
deleted file mode 100644 (file)
index 6e788af..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{job_id}. feladat kiadása</H2>
-
-<P>A(z) <A HREF="{job_printer_uri}">{job_id}. feladat</A> nyomtatásra
-kiadva.
-</DIV>
diff --git a/templates/hu/job-restart.tmpl b/templates/hu/job-restart.tmpl
deleted file mode 100644 (file)
index c0fee69..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{job_id}. feladat újranyomtatása</H2>
-
-<P>A(z) <A HREF="{job_printer_uri}">{job_id}. feladat</A> újraindítva.
-</DIV>
diff --git a/templates/hu/jobs-header.tmpl b/templates/hu/jobs-header.tmpl
deleted file mode 100644 (file)
index 21d4647..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">{?which_jobs=?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Aktív feladatok megjelenítése"></FORM>}
-{?which_jobs=completed?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="which_jobs" VALUE="completed"><INPUT TYPE="SUBMIT" VALUE="Befejezett feladatok megjelenítése"></FORM>}
-{?which_jobs=all?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="which_jobs" VALUE="all"><INPUT TYPE="SUBMIT" VALUE="Minden feladat megjelenítése"></FORM>}</DIV>
-
-<P ALIGN="CENTER">{total=0?Nincsenek feladatok:{total}
-{?which_jobs=?aktív:{which_jobs=all?:befejezett}} feladatból {#job_id}
-megjelenítve.</P>
diff --git a/templates/hu/jobs.tmpl b/templates/hu/jobs.tmpl
deleted file mode 100644 (file)
index 4cc60a2..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-{#job_id=0?:
-<TABLE CLASS="list" SUMMARY="Job List">
-<THEAD>
-<TR><TH><A
-HREF="{THISURL}?QUERY={?QUERY}&amp;WHICH_JOBS={?WHICH_JOBS}&amp;FIRST={FIRST}&amp;ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>&#x25b2;</SMALL>
-Azonosító <SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL> Azonosító
-<SMALL>&#x25bc;</SMALL>}</A></TH><TH>
-Név</TH><TH>Felhasználó</TH><TH>Méret</TH><TH>Oldalak</TH><TH>Állapot</TH><TH>Vezérlés</TH></TR>
-</THEAD>
-<TBODY>
-{[job_id]
-<TR VALIGN="TOP">
-<TD><A HREF="{job_printer_uri}">{job_printer_name}</A>-{job_id}&nbsp;</TD>
-<TD>{?job_name=?Ismeretlen:{job_name}}&nbsp;</TD>
-<TD>{?job_originating_user_name=?Visszatartott:{job_originating_user_name}}&nbsp;</TD>
-<TD>{job_k_octets}k&nbsp;</TD>
-<TD>{job_media_sheets_completed=0?Ismeretlen:{?job_media_sheets_completed}}&nbsp;</TD>
-<TD>{job_state=3?függőben ezóta<BR>{time_at_creation}:{job_state=4?felfüggesztve ezóta<BR>{time_at_creation}: {job_state=5?feldolgozás ezóta<BR>{time_at_processing}:{job_state=6?megállítva:
-{job_state=7?megszakítva<BR>{time_at_completed}:{job_state=8?félbeszakítva:befejezve<BR>{time_at_completed}}}}}}}&nbsp;{job_printer_state_message?<BR>
-<EM>"{job_printer_state_message}"</EM>:}</TD>
-<TD>
-{job_preserved>0?{job_state>5?
-<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="restart-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}">
-<INPUT TYPE="SUBMIT" VALUE="Feladat újranyomtatása"></FORM>:}:}
-{job_state=4?
-<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="release-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}">
-<INPUT TYPE="SUBMIT" VALUE="Feladat kiadása"></FORM>:}
-{job_state=3?
-<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="hold-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}">
-<INPUT TYPE="SUBMIT" VALUE="Feladat felfüggesztése"></FORM>:}
-{job_state<7?
-<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="cancel-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}">
-<INPUT TYPE="SUBMIT" VALUE="Feladat megszakítása"></FORM>
-<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="move-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="SUBMIT" VALUE="Feladat áthelyezése"></FORM>:}
-&nbsp;</TD>
-</TR>
-}
-</TBODY>
-</TABLE>
-}
diff --git a/templates/hu/list-available-printers.tmpl b/templates/hu/list-available-printers.tmpl
deleted file mode 100644 (file)
index b7f32a3..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Elérhető nyomtatók</H2>
-
-{#device_uri=0?<P>Nem találhatók nyomtatók.</P>
-:<UL>{[device_uri]
-<LI><FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-printer"><INPUT TYPE="HIDDEN" NAME="TEMPLATE_NAME" VALUE="{template_name}"><INPUT
-TYPE="HIDDEN" NAME="PRINTER_LOCATION" VALUE="Helyi nyomtató"><INPUT TYPE="HIDDEN" NAME="PRINTER_INFO" VALUE="{device_make_and_model}"><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}"><INPUT TYPE="SUBMIT" VALUE="Nyomtató hozzáadása"></FORM>
-{device_make_and_model} ({device_info})</LI>
-}</UL>}
-
-</DIV>
diff --git a/templates/hu/modify-class.tmpl b/templates/hu/modify-class.tmpl
deleted file mode 100644 (file)
index a687f99..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{printer_name} osztály módosítása</H2>
-
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-<INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">
-
-<TABLE>
-<TR>
-<TH CLASS="label">Leírás:</TH>
-<TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" VALUE="{?printer_info}" SIZE="40" MAXLENGTH="127"></TD>
-</TR>
-<TR>
-<TH CLASS="label">Hely:</TH>
-<TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" VALUE="{?printer_location}" SIZE="40" MAXLENGTH="127"></TD>
-</TR>
-<TR>
-<TH CLASS="label">Tagok:</TH>
-<TD>
-<SELECT NAME="MEMBER_URIS" SIZE="10" MULTIPLE>
-{[member_uris]<OPTION VALUE="{member_uris}" {?member_selected}>{member_names}}
-</SELECT>
-</TD>
-</TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Osztály módosítása"></TD>
-</TR>
-</TABLE>
-
-</FORM>
-</DIV>
\ No newline at end of file
diff --git a/templates/hu/modify-printer.tmpl b/templates/hu/modify-printer.tmpl
deleted file mode 100644 (file)
index 76c2b7f..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{printer_name} módosítása</H2>
-
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-<INPUT TYPE="HIDDEN" NAME="BAUDRATE" VALUE="{?baudrate}">
-<INPUT TYPE="HIDDEN" NAME="BITS" VALUE="{?bits}">
-<INPUT TYPE="HIDDEN" NAME="PARITY" VALUE="{?parity}">
-<INPUT TYPE="HIDDEN" NAME="FLOW" VALUE="{?flow}">
-<INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">
-
-<TABLE>
-<TR>
-<TH CLASS="label">Leírás:</TH>
-<TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" VALUE="{?printer_info}" SIZE="40" MAXLENGTH="127"><BR>
-<SMALL>(Közérthető leírás, mint például „HP LaserJet duplexerrel”)</SMALL></TD>
-</TR>
-<TR>
-<TH CLASS="label">Hely:</TH>
-<TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" VALUE="{?printer_location}" SIZE="40" MAXLENGTH="127"><BR>
-<SMALL>(Közérthető hely, mint például „1-es labor”)</SMALL></TD>
-</TR>
-<TR>
-<TH CLASS="label">Kapcsolat:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
-</TR>
-<TR>
-<TH CLASS="label">Megosztás:</TH>
-<TD><INPUT TYPE="CHECKBOX" NAME="PRINTER_IS_SHARED" 
-{PRINTER_IS_SHARED=1?CHECKED:}> Nyomtató megosztása</TD>
-</TR>
-<TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Folytatás"></TD>
-</TR>
-</TABLE>
-
-</FORM>
-</DIV>
diff --git a/templates/hu/norestart.tmpl b/templates/hu/norestart.tmpl
deleted file mode 100644 (file)
index 7f7849d..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Beállítások módosítása</H2>
-
-<P>A kiszolgáló nem lett újraindítva, mivel a beállításokat nem
-módosította...</P>
-
-</DIV>
diff --git a/templates/hu/option-boolean.tmpl b/templates/hu/option-boolean.tmpl
deleted file mode 100644 (file)
index e832ee1..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<TR>
-<TH {conflicted=1?CLASS="conflict":CLASS="label"} WIDTH="50%"><A NAME="{keyword}">{keytext}</A>:</TH>
-<TD>
-{[choices]<INPUT TYPE="RADIO" NAME="{keyword-1}" {choices={defchoice-1}?CHECKED:} VALUE="{choices}">{text}}
-</TD>
-</TR>
diff --git a/templates/hu/option-conflict.tmpl b/templates/hu/option-conflict.tmpl
deleted file mode 100644 (file)
index 4a540ee..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<P><B>Hiba:</B> A következő beállítások ütköznek:</P>
-
-<UL>
-{[ckeyword]<LI><A HREF="#{ckeyword}">{ckeytext}</A>: {cchoice}</LI>
-}</UL>
-
-<P>Az ütközés feloldása érdekében módosítsa legalább az egyik beállítást.</P>
diff --git a/templates/hu/option-header.tmpl b/templates/hu/option-header.tmpl
deleted file mode 100644 (file)
index 464726a..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<DIV CLASS="tab" ID="{group_id}">
-
-<H3 ALIGN="CENTER">{group}</H3>
-
-<TABLE WIDTH="100%">
diff --git a/templates/hu/option-pickmany.tmpl b/templates/hu/option-pickmany.tmpl
deleted file mode 100644 (file)
index 0da75e5..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<TR>
-<TH {conflicted=1?CLASS="conflict":CLASS="label"} WIDTH="50%"><A NAME="{keyword}">{keytext}</A>:</TH>
-<TD><SELECT NAME="{keyword}" MULTIPLE SIZE="10">
-{[choices]<OPTION {choices={defchoice-1}?SELECTED:} VALUE="{choices}">{text}}
-</SELECT></TD>
-</TR>
diff --git a/templates/hu/option-pickone.tmpl b/templates/hu/option-pickone.tmpl
deleted file mode 100644 (file)
index 31f4616..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<TR>
-<TH {conflicted=1?CLASS="conflict":CLASS="label"} WIDTH="50%"><A NAME="{keyword}">{keytext}</A>:</TH>
-<TD><SELECT NAME="{keyword}" ID="select-{keyword}" ONCHANGE="update_paramtable('{keyword}')">
-{[choices]<OPTION {choices={defchoice-1}?SELECTED:} VALUE="{choices}">{text}}
-</SELECT>
-{iscustom=1?<TABLE NAME="paramtable" id="{keyword}-params">{[params]
-<TR><TH CLASS="sublabel">{paramtext}:</TH>
-<TD>{params=Units?<SELECT NAME="{keyword-1}.{params}">
-<OPTION VALUE="pt"{paramvalue=pt? SELECTED:}>Pont</OPTION>
-<OPTION VALUE="mm"{paramvalue=mm? SELECTED:}>Milliméter</OPTION>
-<OPTION VALUE="cm"{paramvalue=cm? SELECTED:}>Centiméter</OPTION>
-<OPTION VALUE="in"{paramvalue=in? SELECTED:}>Hüvelyk</OPTION>
-<OPTION VALUE="ft"{paramvalue=ft? SELECTED:}>Láb</OPTION>
-<OPTION VALUE="m"{paramvalue=m? SELECTED:}>Méter</OPTION>
-</SELECT>:<INPUT TYPE="{inputtype}" NAME="{keyword-1}.{params}" VALUE="{paramvalue}">}</TD></TR>
-}</TABLE>
-</TD>:}
-</TR>
diff --git a/templates/hu/option-trailer.tmpl b/templates/hu/option-trailer.tmpl
deleted file mode 100644 (file)
index f6e3231..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-</TABLE>
-
-<P ALIGN="CENTER"><INPUT TYPE="SUBMIT" VALUE="Alapértelmezett beállítások megadása"></P>
-
-</DIV>
\ No newline at end of file
diff --git a/templates/hu/pager.tmpl b/templates/hu/pager.tmpl
deleted file mode 100644 (file)
index 6f0cca8..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<TABLE CLASS="inset" SUMMARY="Lapozósáv">
-<TR>
-       <TD WIDTH="50%">{PREV?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{?ORDER}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{PREV}"><INPUT TYPE="SUBMIT" VALUE="&#x25c0; Előző megjelenítése"></FORM>:&nbsp;}</TD>
-       <TD WIDTH="50%" ALIGN="RIGHT">{NEXT?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{?ORDER}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{NEXT}"><INPUT TYPE="SUBMIT" VALUE="Következő megjelenítése &#x25b6;"></FORM>:&nbsp;}</TD>
-</TR>
-</TABLE>
diff --git a/templates/hu/printer-accept.tmpl b/templates/hu/printer-accept.tmpl
deleted file mode 100644 (file)
index 5a44e9d..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Feladatok elfogadása a(z) {printer_name}
-{is_class?osztályban:nyomtatón}</H2>
-
-<P>A(z) <A
-HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
-{is_class?osztály:nyomtató} már elfogadja a feladatokat.</P>
-
-</DIV>
diff --git a/templates/hu/printer-added.tmpl b/templates/hu/printer-added.tmpl
deleted file mode 100644 (file)
index 93548eb..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Nyomtató hozzáadása</H2>
-
-<P>A(z) <A HREF="/printers/{printer_name}">{printer_name}</A> nyomtató
-sikeresen hozzáadva.
-</DIV>
diff --git a/templates/hu/printer-configured.tmpl b/templates/hu/printer-configured.tmpl
deleted file mode 100644 (file)
index e7a0b50..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{printer_name} alapértelmezett beállításainak megadása</H2>
-
-<P>{OP=set-class-options?A(z) <A HREF="/classes/{printer_name}">
-osztály:A(z) <A HREF="/printers/{printer_name}">}{printer_name}</A>
-nyomtató alapértelmezett beállításai sikeresen megadva.
-</DIV>
diff --git a/templates/hu/printer-confirm.tmpl b/templates/hu/printer-confirm.tmpl
deleted file mode 100644 (file)
index f8f7992..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{printer_name} törlése</H2>
-
-<P><B>Figyelmeztetés:</B> Biztosan törli a következő nyomtatót: {printer_name}?</P>
-
-<P ALIGN="CENTER"><FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="delete-printer"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}"><INPUT TYPE="SUBMIT" NAME="confirm" VALUE="Nyomtató törlése"></FORM></P>
-
-</DIV>
diff --git a/templates/hu/printer-default.tmpl b/templates/hu/printer-default.tmpl
deleted file mode 100644 (file)
index 95a5fc1..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{printer_name} {is_class?osztály:nyomtató} beállítása alapértelmezettként</H2>
-
-<P>A(z) <A
-HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
-{is_class?osztály:nyomtató} alapértelmezett nyomtatóvá téve a kiszolgálón.</P>
-
-<BLOCKQUOTE><B>Megjegyzés:</B> Az <TT>lpoptions</TT> parancs segítségével
-beállított felhasználói alapértelmezések felülbírálják ezt az
-alapértelmezett beállítást.</BLOCKQUOTE>
-
-</DIV>
diff --git a/templates/hu/printer-deleted.tmpl b/templates/hu/printer-deleted.tmpl
deleted file mode 100644 (file)
index 54419c1..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{printer_name} törlése</H2>
-
-<P>A(z) {printer_name} nyomtató sikeresen törölve.
-</DIV>
diff --git a/templates/hu/printer-jobs-header.tmpl b/templates/hu/printer-jobs-header.tmpl
deleted file mode 100644 (file)
index 0ed221c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<DIV CLASS="indent">
-<H3 CLASS="title">Feladatok</H3>
-</DIV>
diff --git a/templates/hu/printer-modified.tmpl b/templates/hu/printer-modified.tmpl
deleted file mode 100644 (file)
index 7152c0f..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{printer_name} nyomtató módosítása</H2>
-
-<P>A(z) <A HREF="/printers/{printer_name}">{printer_name}</A> nyomtató
-sikeresen módosítva.
-
-</DIV>
\ No newline at end of file
diff --git a/templates/hu/printer-purge.tmpl b/templates/hu/printer-purge.tmpl
deleted file mode 100644 (file)
index c9dd670..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Feladatok eltávolítása a(z) {printer_name} {is_class?osztályból:nyomtatóról}</H2>
-
-<P>A(z) <A
-HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
-{is_class?osztály:nyomtató} összes feladata eltávolítva.</P>
-
-</DIV>
\ No newline at end of file
diff --git a/templates/hu/printer-reject.tmpl b/templates/hu/printer-reject.tmpl
deleted file mode 100644 (file)
index cf5bf1e..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Feladatok visszautasítása a(z) {printer_name} {is_class?osztályban:nyomtatón}</H2>
-
-<P>A(z) <A
-HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
-{is_class?osztály:nyomtató} már nem fogad el feladatokat.</P>
-
-</DIV>
diff --git a/templates/hu/printer-start.tmpl b/templates/hu/printer-start.tmpl
deleted file mode 100644 (file)
index 3a23c6b..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{printer_name} {is_class?osztály:nyomtató} folytatása</H2>
-
-<P>A(z) <A
-HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
-{is_class?osztály:nyomtató} működése folytatódik.</P>
-
-</DIV>
\ No newline at end of file
diff --git a/templates/hu/printer-stop.tmpl b/templates/hu/printer-stop.tmpl
deleted file mode 100644 (file)
index 7f95e72..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{printer_name} {is_class?osztály:nyomtató} szüneteltetése</H2>
-
-<P>A(z) <A
-HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
-{is_class?osztály:nyomtató} működése szünetel.</P>
-
-</DIV>
\ No newline at end of file
diff --git a/templates/hu/printer.tmpl b/templates/hu/printer.tmpl
deleted file mode 100644 (file)
index c4a4dce..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title"><A HREF="{printer_uri_supported}">{printer_name}</A>
-({printer_state=3?Tétlen:{printer_state=4?Feldolgozás:Szüneteltetve}},
-{printer_is_accepting_jobs=0?visszautasítja a feladatokat:elfogad
-feladatokat},
-{server_is_sharing_printers=0?nem:{printer_is_shared=0?nem:}}
-megosztott{default_name={printer_name}?, kiszolgáló alapértelmezettje:})</H2>
-
-<FORM METHOD="POST" ACTION="{printer_uri_supported}" NAME="maintenance">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<SELECT NAME="OP" ONCHANGE="document.maintenance.submit();">
-<OPTION VALUE="">Karbantartás</OPTION>
-<OPTION VALUE="print-test-page">Tesztoldal nyomtatása</OPTION>
-{printer_commands~.*Clean.*?<OPTION VALUE="clean-print-heads">Nyomtatófejek
-tisztítása</OPTION>:}
-{printer_commands~.*PrintSelfTestPage.*?<OPTION VALUE="print-self-test-page">Öntesztoldal nyomtatása</OPTION>:}
-{printer_state=5?<OPTION VALUE="start-printer">Nyomtató folytatása</OPTION>:<OPTION VALUE="stop-printer">Nyomtató
-szüneteltetése</OPTION>}
-{printer_is_accepting_jobs=0?<OPTION VALUE="accept-jobs">Feladatok
-elfogadása</OPTION>:<OPTION VALUE="reject-jobs">Feladatok visszautasítása</OPTION>}
-<OPTION VALUE="move-jobs">Minden feladat mozgatása</OPTION>
-<OPTION VALUE="purge-jobs">Minden feladat megszakítása</OPTION>
-</SELECT>
-<INPUT TYPE="SUBMIT" VALUE="Ugrás" STYLE="display: none;">
-</FORM>
-
-<FORM METHOD="POST" ACTION="{admin_uri}" NAME="administration">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">
-<SELECT NAME="OP" ONCHANGE="document.administration.submit();">
-<OPTION VALUE="">Adminisztráció</OPTION>
-<OPTION VALUE="modify-printer">Nyomtató módosítása</OPTION>
-<OPTION VALUE="delete-printer">Nyomtató törlése</OPTION>
-<OPTION VALUE="set-printer-options">Alapértelmezett beállítások megadása</OPTION>
-<OPTION VALUE="set-as-default">Beállítás a kiszolgáló alapértelmezettjeként</OPTION>
-<OPTION VALUE="set-allowed-users">Engedélyezett felhasználók megadása</OPTION>
-</SELECT>
-<INPUT TYPE="SUBMIT" VALUE="Ugrás" STYLE="display: none;">
-</FORM>
-
-<TABLE SUMMARY="{printer_name}">
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Leírás:</TH><TD>{printer_info}</TD></TR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Hely:</TH><TD>{printer_location}</TD></TR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Illesztőprogram:</TH><TD>{printer_make_and_model} ({color_supported=1?color:grayscale}{sides_supported?, 2-sided printing:})<BR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Kapcsolat:</TH><TD>{device_uri}</TD></TR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Alapértelmezések:</TH><TD>job-sheets={job_sheets_default}
-media={media_default?{media_default}:unknown}
-{sides_default?sides={sides_default}:}</TD></TR>
-</TABLE>
-
-</DIV>
\ No newline at end of file
diff --git a/templates/hu/printers-header.tmpl b/templates/hu/printers-header.tmpl
deleted file mode 100644 (file)
index c6f4bb7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<P ALIGN="CENTER">{total=0?Nincsenek nyomtatók:{total} nyomtatóból {#printer_name} megjelenítve.</P>
diff --git a/templates/hu/printers.tmpl b/templates/hu/printers.tmpl
deleted file mode 100644 (file)
index 9f2b4c4..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-{#printer_name=0?:
-<TABLE CLASS="list" SUMMARY="Nyomtatók listája">
-<THEAD>
-<TR><TH><A
-HREF="{THISURL}?QUERY={?QUERY}&amp;WHICH_JOBS={?WHICH_JOBS}&amp;FIRST={FIRST}&amp;ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>&#x25b2;</SMALL>
-Sor neve <SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL> Sor neve
-<SMALL>&#x25bc;</SMALL>}</A></TH><TH>
-Leírás</TH><TH>Hely</TH><TH>Gyártó és típus</TH><TH>Állapot</TH></TR>
-</THEAD>
-<TBODY>
-{[printer_name]<TR><TD><A HREF="{printer_uri_supported}">{printer_name}</A></TD><TD>{printer_info}</TD><TD>{printer_location}</TD><TD>{printer_make_and_model}</TD><TD>
-{printer_state=3?Tétlen:{printer_state=4?Feldolgozás:Szüneteltetve}}{printer_state_message?
-- "{printer_state_message}":}</TD></TR>
-}
-</TBODY>
-</TABLE></DIV>}
diff --git a/templates/hu/restart.tmpl b/templates/hu/restart.tmpl
deleted file mode 100644 (file)
index ab02d61..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Beállítások módosítása</H2>
-
-<P><IMG SRC="/images/wait.gif" WIDTH="16" HEIGHT="16" ALIGN="ABSMIDDLE"
-ALT="Foglalt jelzés"> Kis türelmet a kiszolgáló újraindulásáig...</P>
-
-</DIV>
diff --git a/templates/hu/samba-export.tmpl b/templates/hu/samba-export.tmpl
deleted file mode 100644 (file)
index c7dd115..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-<SCRIPT TYPE="text/javascript"><!--
-function select_printers() {
-  var list = document.export_samba.EXPORT_NAME;
-  var sel = document.export_samba.EXPORT_ALL.checked;
-
-  for (i = 0; i < list.length; i ++) {
-    list.options[i].selected = sel;
-  }
-}
---></SCRIPT>
-
-<FORM METHOD="POST" ACTION="/admin/" NAME="export_samba">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="export-samba">
-
-<H2 CLASS="title">Nyomtatók exportálása Samba megosztáshoz</H2>
-
-{error?<P>Nem lehet exportálni a nyomtatókat a Samba megosztáshoz\:</P>
-<BLOCKQUOTE>{error}</BLOCKQUOTE>
-<P>További információkért lásd az
-<A HREF="/admin/log/error_log" TARGET="_blank">error_log</A> fájlt.</P>:
-<P>Ezen az oldalon exportálhatja nyomtatóit a Samba rendszerbe, így a
-Windows kliensek elérhetik azokat az asztaluk <VAR>Hálózatok</VAR>
-vagy <VAR>Hálózati helyek</VAR> ikonjai segítségével. Ehhez elsőként
-telepítenie kell a Windows PostScript nyomtató-illesztőprogramokat, a
-<A HREF="/help/man-cupsaddsmb.html" TARGET="_blank">cupsaddsmb(8)</A>
-kézikönyvoldal által leírt módon.</P>}
-
-<TABLE>
-<TR>
-<TH CLASS="label">Nyomtatók:</TH>
-<TD>
-<SELECT NAME="EXPORT_NAME" SIZE="10" MULTIPLE>
-{[printer_name]<OPTION VALUE="{printer_name}"{export_all? SELECTED:{printer_export? SELECTED:}}>{printer_name}}
-</SELECT><BR>
-<INPUT TYPE="CHECKBOX" NAME="EXPORT_ALL"{export_all? CHECKED:}
-onChange="select_printers()"> Minden nyomtató exportálása
-</TD>
-</TR>
-<TR>
-<TH CLASS="label">Samba felhasználónév:</TH>
-<TD><INPUT TYPE="TEXT" NAME="USERNAME" VALUE="{?USERNAME}"> (szükséges)</TD>
-</TR>
-<TR>
-<TH CLASS="label">Samba jelszó:</TH>
-<TD><INPUT TYPE="PASSWORD" NAME="PASSWORD" VALUE=""> (szükséges)</TD>
-</TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Nyomtatók
-exportálása Samba megosztáshoz"></TD>
-</TR>
-</TABLE>
-
-</FORM>
diff --git a/templates/hu/samba-exported.tmpl b/templates/hu/samba-exported.tmpl
deleted file mode 100644 (file)
index a488dec..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<P>A nyomtatók sikeresen exportálva a Samba rendszerbe.</P>
diff --git a/templates/hu/search.tmpl b/templates/hu/search.tmpl
deleted file mode 100644 (file)
index 50d498e..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<FORM ACTION="/{SECTION}/{?SEARCH_DEST}" METHOD="GET">
-{WHICH_JOBS?<INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{WHICH_JOBS}">:}
-{ORDER?<INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{ORDER}">:}
-
-<P ALIGN="CENTER"><B>Keresés
-{SEARCH_DEST?itt\: {SEARCH_DEST}:{SECTION=classes?osztályok
-között:{SECTION=jobs?feladatok között:nyomtatók között}}}:</B>
-<INPUT TYPE="SEARCH" NAME="QUERY" VALUE="{?QUERY}" SIZE="40"  PLACEHOLDER="" AUTOSAVE="org.cups.{SECTION}" RESULTS="20"> <INPUT
-TYPE="SUBMIT" VALUE="Keresés"> <INPUT TYPE="SUBMIT" NAME="CLEAR" VALUE="Törlés"></P>
-
-</FORM>
diff --git a/templates/hu/set-printer-options-header.tmpl b/templates/hu/set-printer-options-header.tmpl
deleted file mode 100644 (file)
index 6964bfc..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{printer_name} alapértelmezett beállításainak megadása</H2>
-
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-{HAVE_AUTOCONFIGURE?<INPUT TYPE="SUBMIT" NAME="AUTOCONFIGURE" VALUE="Nyomtató alapértelmezett beállításainak lekérdezése">:}
-
-<SCRIPT TYPE="text/javascript"><!--
-function update_paramtable(option)
-{
-  var cb = document.getElementById("select-" + option)
-  var paramstable = document.getElementById(option + "-params");
-  if (cb.value == "Custom")
-    paramstable.style.display = "table";
-  else
-    paramstable.style.display = "none";
-}
---></SCRIPT>
-
-<H3 CLASS="title">{[group_id]
-<A HREF="#{group_id}">{group}</A>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</H3>
-
-<DIV CLASS="tabs">
diff --git a/templates/hu/set-printer-options-trailer.tmpl b/templates/hu/set-printer-options-trailer.tmpl
deleted file mode 100644 (file)
index 11adc70..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-</DIV>
-
-<SCRIPT TYPE="text/javascript"><!--
-// Hide custom options parameters for browsers that understand Javascript
-var paramtables = document.getElementsByName("paramtable");
-for (var i = 0; i < paramtables.length; i++)
-{
-  var opt = paramtables[i].id.substr(0, paramtables[i].id.lastIndexOf("-"));
-  var cb = document.getElementById("select-" + opt);
-  if (cb.value != "Custom")
-    paramtables[i].style.display = "none";
-}
---></SCRIPT>
-</FORM>
-
-</DIV>
diff --git a/templates/hu/subscription-added.tmpl b/templates/hu/subscription-added.tmpl
deleted file mode 100644 (file)
index 8bc8891..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<DIV CLASS="indent">
-
-<P>A(z) {subscription_name} hírforrás sikeresen felvéve.</P>
-
-</DIV>
diff --git a/templates/hu/subscription-canceled.tmpl b/templates/hu/subscription-canceled.tmpl
deleted file mode 100644 (file)
index 0e13c9d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<DIV CLASS="indent">
-
-<P>A(z) {notify_subscription_id}. hírforrás törölve.</P>
-
-</DIV>
diff --git a/templates/hu/test-page.tmpl b/templates/hu/test-page.tmpl
deleted file mode 100644 (file)
index 1f440a7..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Tesztoldal nyomtatása a következőn: {printer_name}</H2>
-
-<P>Tesztoldal elküldve; a feladatazonosító: <A
-HREF="/{SECTION}/{printer_name}"> {printer_name}-{job_id}</A>.</P>
-
-</DIV>
diff --git a/templates/hu/trailer.tmpl b/templates/hu/trailer.tmpl
deleted file mode 100644 (file)
index 8ab73c3..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-</TD></TR>
-<TR><TD>&nbsp;</TD></TR>
-<TR><TD CLASS="trailer">A CUPS és a CUPS logó az <A
-HREF="http://www.apple.com">Apple Inc.</A> védjegyei. CUPS copyright
-2007-2012 Apple Inc. Minden jog fenntartva.</TD></TR>
-</TABLE>
-</BODY>
-</HTML>
diff --git a/templates/hu/users.tmpl b/templates/hu/users.tmpl
deleted file mode 100644 (file)
index 846f492..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-<DIV CLASS="indent">
-
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{OP}">
-<INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">
-{IS_CLASS?<INPUT TYPE="HIDDEN" NAME="IS_CLASS" VALUE="{IS_CLASS}">:}
-
-<H2 CLASS="title">Engedélyezett felhasználók ehhez: {printer_name}</H2>
-
-<TABLE>
-<TR>
-<TH CLASS="label">Felhasználók:</TH>
-<TD>
-<INPUT TYPE='TEXT' NAME='users' SIZE='60' VALUE='{?requesting_user_name_allowed}{?requesting_user_name_denied}'>
-<BR>
-<INPUT TYPE='RADIO' NAME='type' VALUE='requesting-user-name-allowed' 
-{requesting_user_name_allowed?checked:}>Nyomtatás engedélyezése ezen
-felhasználóknak
-<INPUT TYPE='RADIO' NAME='type' VALUE='requesting-user-name-denied' 
-{requesting_user_name_denied?checked:}>Nyomtatás megtiltása ezen
-felhasználóknak
-</TD>
-</TR>
-<TR>
-<TD></TD>
-<TD>
-<INPUT TYPE="SUBMIT" VALUE="Engedélyezett felhasználók beállítása">
-</TD>
-</TR>
-</TABLE>
-
-</FORM>
-</DIV>
diff --git a/templates/id/add-printer.tmpl b/templates/id/add-printer.tmpl
deleted file mode 100644 (file)
index 5c7c7cc..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Add Printer</H2>
-
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-{?current_make!?<INPUT TYPE="HIDDEN" NAME="CURRENT_MAKE" VALUE="{current_make}">:}
-{?current_make_and_model!?<INPUT TYPE="HIDDEN" NAME="CURRENT_MAKE_AND_MODEL" VALUE="{current_make_and_model}">:}
-
-<TABLE>
-<TR>
-<TH CLASS="label">Nama:</TH>
-<TD><INPUT TYPE="TEXT" NAME="PRINTER_NAME" SIZE="40" MAXLENGTH="127" VALUE="{?template_name}"><BR>
-<SMALL>(Karakter apa saja yang dapat dicetak, kecuali "/", "#", dan spasi)</SMALL></TD>
-</TR>
-<TR>
-<TH CLASS="label">Deskripsi:</TH>
-<TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" SIZE="40" MAXLENGTH="127" VALUE="{?PRINTER_INFO}"><BR>
-<SMALL>(Deskripsi yang mudah dibaca, seperti "HP LaserJet dengan Duplexer")</SMALL></TD>
-</TR>
-<TR>
-<TH CLASS="label">Location:</TH>
-<TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" SIZE="40" MAXLENGTH="127" VALUE="{?PRINTER_LOCATION}"><BR>
-<SMALL>(Lokasi yang mudah dibaca, seperti "Lab 1")</SMALL></TD>
-</TR>
-<TR>
-<TH CLASS="label">Koneksi:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
-</TR>
-<TR>
-<TH CLASS="label">Berbagi:</TH>
-<TD><INPUT TYPE="CHECKBOX" NAME="PRINTER_IS_SHARED" {PRINTER_IS_SHARED=1?CHECKED:}>
-Berbagi Pencetak Ini</TD>
-</TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Lanjut"></TD>
-</TR>
-</TABLE>
-
-</FORM>
-</DIV>
diff --git a/templates/id/admin.tmpl b/templates/id/admin.tmpl
deleted file mode 100644 (file)
index a19a00a..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-<TABLE CLASS="indent" SUMMARY="Administration Tasks">
-<TR><TD VALIGN="TOP">
-
-<H2 CLASS="title">Pencetak</H2>
-
-<P>
-<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-printer"><INPUT TYPE="SUBMIT" VALUE="Tambah Pencetak"></FORM>
-<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="find-new-printers"><INPUT TYPE="SUBMIT" VALUE="Cari Pencetak Baru"></FORM>
-<FORM ACTION="/printers/" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Atur Pencetak"></FORM>
-{have_samba?<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="export-samba"><INPUT TYPE="SUBMIT" VALUE="Ekspor Pencetak ke Samba"></FORM>:}
-</P>
-
-<H2 CLASS="title">Kelas</H2>
-
-<P>
-<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-class"><INPUT TYPE="SUBMIT" VALUE="Tambah Kelas"></FORM>
-<FORM ACTION="/classes/" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Atur Kelas"></FORM>
-</P>
-
-<H2 CLASS="title">Tugas</H2>
-
-<P>
-<FORM ACTION="/jobs/" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Atur Tugas"></FORM>
-</P>
-
-</TD><TD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD><TD VALIGN="TOP">
-
-<H2 CLASS="title">Server</H2>
-
-<P>
-<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server"><INPUT TYPE="SUBMIT" VALUE="Sunting Berkas Konfigurasi"></FORM>
-<FORM ACTION="/admin/log/access_log" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Lihat Log Akses"></FORM>
-<FORM ACTION="/admin/log/error_log" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Lihat Log Kesalahan"></FORM>
-<FORM ACTION="/admin/log/page_log" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Lihat Log Halaman"></FORM>
-</P>
-
-{SETTINGS_ERROR?<P>{SETTINGS_MESSAGE}</P>
-<BLOCKQUOTE>{SETTINGS_ERROR}</BLOCKQUOTE>:
-
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-
-{ADVANCEDSETTINGS?<P><B>Pengaturan Server\:</B></P>
-
-<P><A HREF="/admin/">Lanjutan <SMALL>&#x25bc;</SMALL></A><BR>
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server">
-<INPUT TYPE="HIDDEN" NAME="ADVANCEDSETTINGS" VALUE="YES">
-<INPUT TYPE="CHECKBOX" NAME="REMOTE_PRINTERS" {?remote_printers}> Lihat pencetak yang dibagikan oleh sistem lain<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Protokol\:
-<INPUT TYPE="CHECKBOX" NAME="BROWSE_REMOTE_CUPS" {?browse_remote_cups}> CUPS
-{HAVE_LDAP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_REMOTE_LDAP" {?browse_remote_ldap}> LDAP:}
-{HAVE_LIBSLP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_REMOTE_SLP" {?browse_remote_slp}> SLP:}<BR>
-<INPUT TYPE="CHECKBOX" NAME="SHARE_PRINTERS" {?share_printers}> Bagikan pencetak yang terhubung ke sistem ini<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Klien maks.\:
-<INPUT TYPE="TEXT" NAME="MAX_CLIENTS" VALUE="{?max_clients}" SIZE="6"><BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Protokol\:
-<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_CUPS" {?browse_local_cups}> CUPS
-{HAVE_DNSSD?<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_DNSSD" {?browse_local_dnssd}> DNS-SD:}
-{HAVE_LDAP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_LDAP" {?browse_local_ldap}> LDAP:}
-{HAVE_LIBSLP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_SLP" {?browse_local_slp}> SLP:}<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="REMOTE_ANY" {?remote_any}> Perbolehkan mencetak dari Internet<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="BROWSE_WEB_IF" {?browse_web_if}> Advertise web interface<BR>
-<INPUT TYPE="CHECKBOX" NAME="REMOTE_ADMIN" {?remote_admin}> Perbolehkan administrasi dari jarak jauh<BR>
-{have_gssapi?<INPUT TYPE="CHECKBOX" NAME="KERBEROS" {?kerberos}> Gunakan otentikasi Kerberos (<A HREF="/help/kerberos.html?TOPIC=Getting+Started">FAQ</A>)<BR>:}
-<INPUT TYPE="CHECKBOX" NAME="USER_CANCEL_ANY" {?user_cancel_any}> Perbolehkan pengguna biasa untuk membatalkan semua tugas (termasuk tugas orang lain)<BR>
-<INPUT TYPE="CHECKBOX" NAME="PRESERVE_JOB_HISTORY" {?preserve_job_history}> Catat histori tugas<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Banyaknya tugas\:
-<INPUT TYPE="TEXT" NAME="MAX_JOBS" VALUE="{?max_jobs}" SIZE="6"><BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="PRESERVE_JOB_FILES" {?preserve_job_files}> Catat berkas tugas cetak<BR>
-<INPUT TYPE="CHECKBOX" NAME="DEBUG_LOGGING" {?debug_logging}> Simpan informasi kesalahan untuk mencari dan memecahkan masalah<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ukuran maks. berkas log\:
-<INPUT TYPE="TEXT" NAME="MAX_LOG_SIZE" VALUE="{?max_log_size}" SIZE="6"></P>
-
-:<P><B>Pengaturan Server:</B></P>
-
-<P><A HREF="/admin/?ADVANCEDSETTINGS=YES">Lanjutan <SMALL>&#x25b6;</SMALL></A><BR>
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server">
-<INPUT TYPE="CHECKBOX" NAME="REMOTE_PRINTERS" {?remote_printers}> Lihat pencetak yang dibagikan oleh sistem lain<BR>
-<INPUT TYPE="CHECKBOX" NAME="SHARE_PRINTERS" {?share_printers}> Bagikan pencetak yang terhubung ke sistem ini<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="REMOTE_ANY" {?remote_any}> Perbolehkan mencetak dari Internet<BR>
-<INPUT TYPE="CHECKBOX" NAME="REMOTE_ADMIN" {?remote_admin}> Perbolehkan administrasi dari jarak jauh<BR>
-{have_gssapi?<INPUT TYPE="CHECKBOX" NAME="KERBEROS" {?kerberos}> Gunakan otentikasi Kerberos (<A HREF="/help/kerberos.html?TOPIC=Getting+Started">FAQ</A>)<BR>:}
-<INPUT TYPE="CHECKBOX" NAME="USER_CANCEL_ANY" {?user_cancel_any}> Perbolehkan pengguna biasa untuk membatalkan semua tugas (termasuk tugas orang lain)<BR>
-<INPUT TYPE="CHECKBOX" NAME="DEBUG_LOGGING" {?debug_logging}> Save debugging information for troubleshooting</P>
-
-}
-<P><INPUT TYPE="SUBMIT" NAME="CHANGESETTINGS" VALUE="Ubah Pengaturan"></P>
-
-</FORM>}
-
-</TD></TR>
-</TABLE>
-
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Subskripsi RSS</H2>
-
-<P>
-<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-rss-subscription"><INPUT TYPE="SUBMIT" VALUE="Tambah Subskripsi RSS"></FORM>
-</P>
-
-</DIV>
-
-{notify_subscription_id?<TABLE CLASS="list" SUMMARY="RSS Subscriptions">
-<THEAD><TR><TH>Nama</TH><TH>Kejadian</TH><TH>Nama Antrian</TH></TR></THEAD>
-<TBODY>{[notify_subscription_id]
-<TR><TD><A HREF="{notify_recipient_uri}">{notify_recipient_name}</A><BR>
-<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="cancel-subscription"><INPUT TYPE="HIDDEN" NAME="notify_subscription_id" VALUE="{notify_subscription_id}"><INPUT TYPE="SUBMIT" VALUE="Cancel RSS Subscription"></FORM>&nbsp;</TD><TD>{notify_events}</TD><TD NOWRAP>&nbsp;{notify_printer_name?{notify_printer_name}:Semua Antrian}</TD></TR>}
-</TBODY>
-</TABLE>:}
diff --git a/templates/id/choose-device.tmpl b/templates/id/choose-device.tmpl
deleted file mode 100644 (file)
index 8f812a5..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{op=modify-printer?Ubah {printer_name}:Tambah Pencetak}</H2>
-
-{CUPS_GET_DEVICES_DONE?:<P><IMG SRC="/images/wait.gif" WIDTH="16" HEIGHT="16" ALIGN="ABSMIDDLE"
-ALT="Busy Indicator"> Mencari pencetak...</P>}
-
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-{printer_name?<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">:}
-
-<TABLE>
-{op=add-printer?:<TR>
-<TH CLASS="label">Koneksi yang Ada:</TH>
-<TD><INPUT TYPE="RADIO" NAME="DEVICE_URI" VALUE="{current_device_uri}" CHECKED>
-{current_device_uri}</TD>
-</TR>}
-<TR>
-<TH CLASS="label">Pencetak Lokal:</TH>
-<TD>
-{[device_uri]{device_class!network?<INPUT TYPE="RADIO" NAME="DEVICE_URI"
-VALUE="{device_uri}{?device_make_and_model!Unknown?|{device_make_and_model}:}">
-{device_info} {?device_make_and_model!Unknown?({device_make_and_model}):}<BR>
-:}}
-</TD>
-</TR>
-<TR>
-<TH CLASS="label">Pencetak Jaringan yang Ditemukan:</TH>
-<TD>
-{[device_uri]{device_class=network?{device_uri~[a-z]+://?<INPUT TYPE="RADIO" NAME="DEVICE_URI"
-VALUE="{device_uri}{?device_make_and_model!Unknown?|{device_make_and_model}:}">
-{device_info} {?device_make_and_model!Unknown?({device_make_and_model}):}<BR>
-:}:}}
-</TD>
-</TR>
-<TR>
-<TR>
-<TH CLASS="label">Pencetak Jaringan Lainnya:</TH>
-<TD>
-{[device_uri]{device_class=network?{device_uri~[a-z]+://?:<INPUT TYPE="RADIO" NAME="DEVICE_URI"
-VALUE="{device_uri}{?device_make_and_model!Unknown?|{device_make_and_model}:}">
-{device_info} {?device_make_and_model!Unknown?({device_make_and_model}):}<BR>
-}:}}
-</TD>
-</TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Lanjut"></TD>
-</TR>
-</TABLE>
-
-</FORM>
-</DIV>
diff --git a/templates/id/choose-serial.tmpl b/templates/id/choose-serial.tmpl
deleted file mode 100644 (file)
index 19de16c..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{op=modify-printer?Modify {printer_name}:Tambah Pencetak}</H2>
-
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-{printer_name?<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">:}
-
-<TABLE>
-<TR>
-<TH CLASS="label">Koneksi:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
-</TR>
-<TR>
-<TH CLASS="label">Kecepatan Data:</TH>
-<TD><SELECT NAME="BAUDRATE">
-{[baudrates]<OPTION {?baudrate={baudrates}?SELECTED:}>{baudrates}}
-</SELECT></TD>
-</TR>
-<TR>
-<TH CLASS="label">Paritas:</TH>
-<TD><SELECT NAME="PARITY">
-<OPTION VALUE="none" {?parity=none?SELECTED:}>Nihil
-<OPTION VALUE="even" {?parity=even?SELECTED:}>Genap
-<OPTION VALUE="odd" {?parity=odd?SELECTED:}>Ganjil
-</SELECT></TD>
-</TR>
-<TR>
-<TH CLASS="label">Bit Data:</TH>
-<TD><SELECT NAME="BITS">
-<OPTION {?bits=8?SELECTED:}>8
-<OPTION {?bits=7?SELECTED:}>7
-</SELECT></TD>
-</TR>
-<TR>
-<TH CLASS="label">Kendali Aliran Data:</TH>
-<TD><SELECT NAME="FLOW">
-<OPTION VALUE="none" {?flow=none?SELECTED:}>Nihil
-<OPTION VALUE="soft" {?flow=soft?SELECTED:}>XON/XOFF (Peranti Lunak)
-<OPTION VALUE="hard" {?flow=hard?SELECTED:}>RTS/CTS (Peranti Keras)
-<OPTION VALUE="dtrdsr" {?flow=dtrdsr?SELECTED:}>DTR/DSR (Peranti Keras)
-</SELECT></TD>
-</TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Lanjut"></TD>
-</TR>
-</TABLE>
-
-</FORM>
-</DIV>
diff --git a/templates/id/class-added.tmpl b/templates/id/class-added.tmpl
deleted file mode 100644 (file)
index 12c408f..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Tambah Kelas</H2>
-
-<P>Kelas <A HREF="/classes/{printer_name}">{printer_name}</A> telah berhasil ditambahkan.
-
-</DIV>
diff --git a/templates/id/class-deleted.tmpl b/templates/id/class-deleted.tmpl
deleted file mode 100644 (file)
index 30320cb..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Hapus Kelas {printer_name}</H2>
-
-<P>Kelas {printer_name} telah berhasil dihapus.
-
-</DIV>
diff --git a/templates/id/class-jobs-header.tmpl b/templates/id/class-jobs-header.tmpl
deleted file mode 100644 (file)
index e6ca447..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<DIV CLASS="indent">
-<H3 CLASS="title">Tugas</H3>
-</DIV>
diff --git a/templates/id/class-modified.tmpl b/templates/id/class-modified.tmpl
deleted file mode 100644 (file)
index d2fdded..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Ubah Kelas {printer_name}</H2>
-
-<P>Kelas <A HREF="/classes/{printer_name}">{printer_name}</A> telah berhasil diubah.
-
-</DIV>
diff --git a/templates/id/class.tmpl b/templates/id/class.tmpl
deleted file mode 100644 (file)
index af21787..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-<DIV CLASS="indent">
-<H2 CLASS="title"><A HREF="{printer_uri_supported}">{printer_name}</A>
-({printer_state=3?Idle:{printer_state=4?Memproses:Ditahan}},
-{printer_is_accepting_jobs=0?Menolak Tugas:Menerima Tugas},
-{server_is_sharing_printers=0?Jangan:{printer_is_shared=0?Jangan:}} Berbagi{default_name={printer_name}?, Server Baku:})</H2>
-
-<FORM METHOD="POST" ACTION="{printer_uri_supported}" NAME="maintenance">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<SELECT NAME="OP" ONCHANGE="document.maintenance.submit();">
-<OPTION VALUE="">Perawatan</OPTION>
-<OPTION VALUE="print-test-page">Halaman Uji Cetak</OPTION>
-{printer_state=5?<OPTION VALUE="start-class">Resume Kelas</OPTION>:<OPTION VALUE="stop-class">Tahan Kelas</OPTION>}
-{printer_is_accepting_jobs=0?<OPTION VALUE="accept-jobs">Terima Tugas</OPTION>:<OPTION VALUE="reject-jobs">Tolak Tugas</OPTION>}
-<OPTION VALUE="move-jobs">Pindahkan Semua Tugas</OPTION>
-<OPTION VALUE="purge-jobs">Batalkan Semua Tugas</OPTION>
-</SELECT>
-<INPUT TYPE="SUBMIT" VALUE="Lakukan!" STYLE="display: none;">
-</FORM>
-
-<FORM METHOD="POST" ACTION="{admin_uri}" NAME="administration">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">
-<INPUT TYPE="HIDDEN" NAME="IS_CLASS" VALUE="1">
-<SELECT NAME="OP" ONCHANGE="document.administration.submit();">
-<OPTION VALUE="">Administrasi</OPTION>
-<OPTION VALUE="modify-class">Ubah Kelas</OPTION>
-<OPTION VALUE="delete-class">Hapus Kelas</OPTION>
-<OPTION VALUE="set-class-options">Atur Opsi Baku</OPTION>
-<OPTION VALUE="set-as-default">Atur Sebagai Server Baku</OPTION>
-<OPTION VALUE="set-allowed-users">Atur Pengguna yang Diperbolehkan</OPTION>
-</SELECT>
-<INPUT TYPE="SUBMIT" VALUE="Lakukan!" STYLE="display: none;">
-</FORM>
-
-<TABLE SUMMARY="{printer_name}">
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Deskripsi:</TH><TD>{printer_info}</TD></TR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Lokasi:</TH><TD>{printer_location}</TD></TR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Anggota:</TH><TD>{?member_uris=?None:{member_uris}}</TD></TR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Baku:</TH><TD>job-sheets={job_sheets_default}
-media={media_default?{media_default}:unknown}
-{sides_default?sides={sides_default}:}</TD></TR>
-</TABLE>
-
-</DIV>
diff --git a/templates/id/classes-header.tmpl b/templates/id/classes-header.tmpl
deleted file mode 100644 (file)
index da891a3..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<P ALIGN="CENTER">{total=0?Tidak ada kelas:Menampilkan {#printer_name} dari {total} kelas{total=1?:}}.</P>
diff --git a/templates/id/classes.tmpl b/templates/id/classes.tmpl
deleted file mode 100644 (file)
index c8e9b5f..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-{#printer_name=0?:
-<TABLE CLASS="list" SUMMARY="Class List">
-<THEAD>
-<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&amp;WHICH_JOBS={?WHICH_JOBS}&amp;FIRST={FIRST}&amp;ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>&#x25b2;</SMALL> Nama Antrian <SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL> Nama Antrian <SMALL>&#x25bc;</SMALL>}</A></TH><TH>Deskripsi</TH><TH>Lokasi</TH><TH>Anggota</TH><TH>Status</TH></TR>
-</THEAD>
-<TBODY>
-{[printer_name]
-<TR><TD><A HREF="{printer_uri_supported}">{printer_name}</A></TD><TD>{printer_info}</TD><TD>{printer_location}</TD><TD>{?member_uris=?Nihil:{member_uris}}</TD><TD>{printer_state=3?Idle:{printer_state=4?Memproses:Ditahan}}{printer_state_message? - "{printer_state_message}":}</TD></TR>
-}
-</TBODY>
-</TABLE></DIV>}
diff --git a/templates/id/command.tmpl b/templates/id/command.tmpl
deleted file mode 100644 (file)
index b38d2c9..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{title} Pada {printer_name}</H2>
-
-<P>{job_state>5?:<IMG SRC="/images/wait.gif" WIDTH="16" HEIGHT="16"
-ALIGN="ABSMIDDLE" ALT="Indikator Kesibukan"> }Perintah tugas pencetak
-{job_state=3?pending:{job_state=4?held:
-{job_state=5?processing:{job_state=6?stopped:
-{job_state=7?canceled:{job_state=8?aborted:completed}}}}}}{job_state=9?:{job_printer_state_message?,
-<EM>"{job_printer_state_message}"</EM>:}}</P>
-
-</DIV>
diff --git a/templates/id/edit-config.tmpl b/templates/id/edit-config.tmpl
deleted file mode 100644 (file)
index 6701f84..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<SCRIPT TYPE="text/javascript">
-function reset_config()
-{
-  document.cups.CUPSDCONF.value = "{?cupsdconf_default}";
-}
-</SCRIPT>
-
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Sunting Berkas Konfigurasi</H2>
-
-<FORM NAME="cups" METHOD="POST" ACTION="/admin/">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server">
-
-<TEXTAREA NAME="CUPSDCONF" COLS="80" ROWS="25">{CUPSDCONF}</TEXTAREA>
-
-<P><INPUT TYPE="SUBMIT" NAME="SAVECHANGES" VALUE="Simpan Perubahan">
-<INPUT TYPE="BUTTON" VALUE="Gunakan Konfigurasi Baku"
-onClick="reset_config();"></P>
-
-</FORM>
-
-</DIV>
diff --git a/templates/id/error-op.tmpl b/templates/id/error-op.tmpl
deleted file mode 100644 (file)
index 2611c5d..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Kesalahan {?title} {?printer_name}</H2>
-
-<P>Kesalahan:</P>
-
-<BLOCKQUOTE>Operasi tak dikenal "{op}"!</BLOCKQUOTE>
-
-</DIV>
diff --git a/templates/id/error.tmpl b/templates/id/error.tmpl
deleted file mode 100644 (file)
index c74bd70..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Kesalahan {?title} {?printer_name}</H2>
-
-<P>{?message?{message}:Kesalahan:}</P>
-
-<BLOCKQUOTE>{error}</BLOCKQUOTE>
-
-</DIV>
diff --git a/templates/id/help-header.tmpl b/templates/id/help-header.tmpl
deleted file mode 100644 (file)
index e28b527..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<DIV CLASS="indent">
-<FORM ACTION="/help/{?HELPFILE}" METHOD="GET">
-{TOPIC?<INPUT TYPE="HIDDEN" NAME="TOPIC" VALUE="{TOPIC}">:}
-
-<P ALIGN="CENTER"><B>Mencari di
-{HELPTITLE?{HELPTITLE}:{TOPIC?{TOPIC}:Semua Dokumen}}:</B> <INPUT
-TYPE="SEARCH" NAME="QUERY" VALUE="{?QUERY}" SIZE="40" PLACEHOLDER=""
-AUTOSAVE="org.cups.help" RESULTS="20">
-<INPUT TYPE="SUBMIT" NAME="SEARCH" VALUE="Cari">
-<INPUT TYPE="SUBMIT" NAME="CLEAR" VALUE="Bersihkan"></P>
-
-</FORM>
-
-<!-- Bookmarks -->
-<DIV CLASS="sidebar"><TABLE CLASS="inset" SUMMARY="Contents">
-<TR><TD>
-
-<H3 CLASS="title">Dokumen Bantuan Langsung</H3>
-
-<P CLASS="l0"><A HREF="/help/{QUERY??QUERY={QUERY}:}">Semua Dokumen</A></P>
-<HR>
-
-{[BMTEXT]<P CLASS="l{BMINDENT}"><A HREF="{BMLINK}">{BMTEXT}</A></P>
-}
-</TD></TR>
-</TABLE></DIV>
-
-{QUERY?<P>Hasil Pencarian di {HELPFILE?{HELPTITLE}:{TOPIC?{TOPIC}:Semua Dokumen}}\:</P>
-{QTEXT?<UL>
-{[QTEXT]<LI><A HREF="{QLINK}">{QTEXT}</A>{QPTEXT? (di <I><A HREF="{QPLINK}">{QPTEXT}</A></I>):}</LI>}
-{QTEXT?</UL>:}
-:<P>Tidak ada yang cocok.</P>}
-<HR NOSHADE>:}
-{HELPTITLE?<H1>{HELPTITLE}</H1>
-<FORM ACTION="/help/{?HELPFILE}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="PRINTABLE" VALUE="YES"><INPUT TYPE="SUBMIT" VALUE="Lihat Versi Cetak"></FORM>:
-
-<H1>Bantuan Langsung</H1>
-
-<P>Ini adalah antarmuka bantuan langsung milik CUPS. Masukkan kata yang hendak dicari pada kotak
-di atas atau klik salah satu taut dokumen untuk melihat informasi bantuan langsung tersebut.</P>
-
-<P>Apabila Anda adalah pengguna baru CUPS, bacalah halaman "<a
-href="/help/overview.html">Ikhtisar CUPS</a>". Bagi yang sudah berpengalaman, dapat
-membaca halaman "<a href="/help/whatsnew.html">Apa yang Baru di CUPS
-1.4</a>".</P>
-
-<P><A HREF="http://www.cups.org/">Laman CUPS</A> juga menyediakan berbagai sumber termasuk forum, jawaban untuk pertanyaan-pertanyaan yang sering diajukan, serta formulir untuk mengirim laporan kode hama dan permintaan fitur baru.</P>}
diff --git a/templates/id/help-printable.tmpl b/templates/id/help-printable.tmpl
deleted file mode 100644 (file)
index 2463c16..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<HTML>
-<HEAD>
-       <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
-       <TITLE>{HELPTITLE}</TITLE>
-       <LINK REL="STYLESHEET" TYPE="text/css" HREF="/cups-printable.css">
-       <LINK REL="SHORTCUT ICON" HREF="/images/cups-icon.png" TYPE="image/png">
-</HEAD>
-<BODY>
diff --git a/templates/id/help-trailer.tmpl b/templates/id/help-trailer.tmpl
deleted file mode 100644 (file)
index 4c1ebed..0000000
+++ /dev/null
@@ -1 +0,0 @@
-</DIV>
diff --git a/templates/id/job-cancel.tmpl b/templates/id/job-cancel.tmpl
deleted file mode 100644 (file)
index d3d6047..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Batalkan Tugas {job_id}</H2>
-
-<P><A HREF="{job_printer_uri}">Tugas {job_id}</A> telah dibatalkan.
-
-</DIV>
diff --git a/templates/id/job-hold.tmpl b/templates/id/job-hold.tmpl
deleted file mode 100644 (file)
index ab2dd59..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Tahan Tugas {job_id}</H2>
-
-<P><A HREF="{job_printer_uri}">Tugas {job_id}</A> telah ditahan untuk dicetak.
-
-</DIV>
diff --git a/templates/id/job-moved.tmpl b/templates/id/job-moved.tmpl
deleted file mode 100644 (file)
index c52c312..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{job_id?Pindahkan Tugas {job_id}:Pindahkan Semua Tugas}</H2>
-
-<P>{job_id?<A HREF="/jobs/{job_id}">Tugas {job_id}</A>:Semua tugas} dipindahkan ke
-<A HREF="/{is_class?classes:printers}/{job_printer_name}">{job_printer_name}</A>.</P>
-
-</DIV>
diff --git a/templates/id/job-release.tmpl b/templates/id/job-release.tmpl
deleted file mode 100644 (file)
index a447ae1..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Lepaskan Tugas {job_id}</H2>
-
-<P><A HREF="{job_printer_uri}">Tugas {job_id}</A> telah dilepas untuk dicetak.
-
-</DIV>
diff --git a/templates/id/job-restart.tmpl b/templates/id/job-restart.tmpl
deleted file mode 100644 (file)
index c54601c..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Cetak Ulang Tugas {job_id}</H2>
-
-<P><A HREF="{job_printer_uri}">Tugas {job_id}</A> telah dilaksanakan ulang.
-
-</DIV>
diff --git a/templates/id/jobs-header.tmpl b/templates/id/jobs-header.tmpl
deleted file mode 100644 (file)
index 3cba80c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<DIV CLASS="indent">{?which_jobs=?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Lihat Tugas yang Aktif"></FORM>}
-{?which_jobs=completed?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="which_jobs" VALUE="completed"><INPUT TYPE="SUBMIT" VALUE="Lihat Tugas yang Diselesaikan"></FORM>}
-{?which_jobs=all?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="which_jobs" VALUE="all"><INPUT TYPE="SUBMIT" VALUE="Lihat Semua Tugas"></FORM>}</DIV>
-
-<P ALIGN="CENTER">{total=0?Tidak ada tugas:Menampilkan {#job_id} dari {total} tugas {?which_jobs=?yang aktif:{which_jobs=all?:yang diselesaikan}} {total=1?:}}.</P>
diff --git a/templates/id/modify-class.tmpl b/templates/id/modify-class.tmpl
deleted file mode 100644 (file)
index db2d65e..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Ubah Kelas {printer_name}</H2>
-
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-<INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">
-
-<TABLE>
-<TR>
-<TH CLASS="label">Deskripsi:</TH>
-<TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" VALUE="{?printer_info}" SIZE="40" MAXLENGTH="127"></TD>
-</TR>
-<TR>
-<TH CLASS="label">Lokasi:</TH>
-<TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" VALUE="{?printer_location}" SIZE="40" MAXLENGTH="127"></TD>
-</TR>
-<TR>
-<TH CLASS="label">Anggota:</TH>
-<TD>
-<SELECT NAME="MEMBER_URIS" SIZE="10" MULTIPLE>
-{[member_uris]<OPTION VALUE="{member_uris}" {?member_selected}>{member_names}}
-</SELECT>
-</TD>
-</TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Ubah Kelas"></TD>
-</TR>
-</TABLE>
-
-</FORM>
-</DIV>
diff --git a/templates/id/modify-printer.tmpl b/templates/id/modify-printer.tmpl
deleted file mode 100644 (file)
index 9bdb0c4..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Ubah {printer_name}</H2>
-
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-<INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">
-
-<TABLE>
-<TR>
-<TH CLASS="label">Deskripsi:</TH>
-<TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" VALUE="{?printer_info}" SIZE="40" MAXLENGTH="127"><BR>
-<SMALL>(Deskripsi yang mudah dibaca, seperti "HP LaserJet dengan Pendupleks")</SMALL></TD>
-</TR>
-<TR>
-<TH CLASS="label">Lokasi:</TH>
-<TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" VALUE="{?printer_location}" SIZE="40" MAXLENGTH="127"><BR>
-<SMALL>(Deskripsi yang mudah dibaca, seperti "Lab 1")</SMALL></TD>
-</TR>
-<TR>
-<TH CLASS="label">Koneksi:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
-</TR>
-<TR>
-<TH CLASS="label">Berbagi:</TH>
-<TD><INPUT TYPE="CHECKBOX" NAME="PRINTER_IS_SHARED" {PRINTER_IS_SHARED=1?CHECKED:}>
-Berbagi Pencetak Ini</TD>
-</TR>
-<TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Lanjut"></TD>
-</TR>
-</TABLE>
-
-</FORM>
-</DIV>
diff --git a/templates/id/norestart.tmpl b/templates/id/norestart.tmpl
deleted file mode 100644 (file)
index f39d9f2..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Ubah Pengaturan</H2>
-
-<P>Server tidak dijalankan ulang karena tidak ada perubahan yang terjadi...</P>
-
-</DIV>
diff --git a/templates/id/option-boolean.tmpl b/templates/id/option-boolean.tmpl
deleted file mode 100644 (file)
index e832ee1..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<TR>
-<TH {conflicted=1?CLASS="conflict":CLASS="label"} WIDTH="50%"><A NAME="{keyword}">{keytext}</A>:</TH>
-<TD>
-{[choices]<INPUT TYPE="RADIO" NAME="{keyword-1}" {choices={defchoice-1}?CHECKED:} VALUE="{choices}">{text}}
-</TD>
-</TR>
diff --git a/templates/id/option-conflict.tmpl b/templates/id/option-conflict.tmpl
deleted file mode 100644 (file)
index 71e2bcc..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<P><B>Kesalahan:</B> Opsi berikut ini konflik:</P>
-
-<UL>
-{[ckeyword]<LI><A HREF="#{ckeyword}">{ckeytext}</A>: {cchoice}</LI>
-}</UL>
-
-<P>Silakan ubah satu atau lebih opsi yang ada untuk memperbaiki masalah ini.</P>
diff --git a/templates/id/option-header.tmpl b/templates/id/option-header.tmpl
deleted file mode 100644 (file)
index 464726a..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<DIV CLASS="tab" ID="{group_id}">
-
-<H3 ALIGN="CENTER">{group}</H3>
-
-<TABLE WIDTH="100%">
diff --git a/templates/id/option-pickmany.tmpl b/templates/id/option-pickmany.tmpl
deleted file mode 100644 (file)
index 0da75e5..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<TR>
-<TH {conflicted=1?CLASS="conflict":CLASS="label"} WIDTH="50%"><A NAME="{keyword}">{keytext}</A>:</TH>
-<TD><SELECT NAME="{keyword}" MULTIPLE SIZE="10">
-{[choices]<OPTION {choices={defchoice-1}?SELECTED:} VALUE="{choices}">{text}}
-</SELECT></TD>
-</TR>
diff --git a/templates/id/option-pickone.tmpl b/templates/id/option-pickone.tmpl
deleted file mode 100644 (file)
index 8ee71b3..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<TR>
-<TH {conflicted=1?CLASS="conflict":CLASS="label"} WIDTH="50%"><A NAME="{keyword}">{keytext}</A>:</TH>
-<TD><SELECT NAME="{keyword}" ID="select-{keyword}" ONCHANGE="update_paramtable('{keyword}')">
-{[choices]<OPTION {choices={defchoice-1}?SELECTED:} VALUE="{choices}">{text}}
-</SELECT>
-{iscustom=1?<TABLE NAME="paramtable" id="{keyword}-params">{[params]
-<TR><TH CLASS="sublabel">{paramtext}:</TH>
-<TD>{params=Units?<SELECT NAME="{keyword-1}.{params}">
-<OPTION VALUE="pt"{paramvalue=pt? SELECTED:}>Poin</OPTION>
-<OPTION VALUE="mm"{paramvalue=mm? SELECTED:}>Milimeter</OPTION>
-<OPTION VALUE="cm"{paramvalue=cm? SELECTED:}>Sentimeter</OPTION>
-<OPTION VALUE="in"{paramvalue=in? SELECTED:}>Inci</OPTION>
-<OPTION VALUE="ft"{paramvalue=ft? SELECTED:}>Kaki</OPTION>
-<OPTION VALUE="m"{paramvalue=m? SELECTED:}>Meter</OPTION>
-</SELECT>:<INPUT TYPE="{inputtype}" NAME="{keyword-1}.{params}" VALUE="{paramvalue}">}</TD></TR>
-}</TABLE>
-</TD>:}
-</TR>
diff --git a/templates/id/option-trailer.tmpl b/templates/id/option-trailer.tmpl
deleted file mode 100644 (file)
index a403a98..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-</TABLE>
-
-<P ALIGN="CENTER"><INPUT TYPE="SUBMIT" VALUE="Atur Opsi Baku"></P>
-
-</DIV>
diff --git a/templates/id/printer-accept.tmpl b/templates/id/printer-accept.tmpl
deleted file mode 100644 (file)
index bba229a..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Terima Tugas dari {is_class?Kelas:Pencetak} {printer_name}</H2>
-
-<P>{is_class?Kelas:Pencetak} <A
-HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
-kini menerima tugas.</P>
-
-</DIV>
diff --git a/templates/id/printer-added.tmpl b/templates/id/printer-added.tmpl
deleted file mode 100644 (file)
index 636496a..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Tambah Pencetak</H2>
-
-<P>Pencetak <A HREF="/printers/{printer_name}">{printer_name}</A> telah berhasil ditambahkan.
-
-</DIV>
diff --git a/templates/id/printer-configured.tmpl b/templates/id/printer-configured.tmpl
deleted file mode 100644 (file)
index c2c8179..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Atur Opsi Baku untuk {printer_name}</H2>
-
-<P>Opsi baku {OP=set-class-options?kelas <A HREF="/classes/{printer_name}">:pencetak <A HREF="/printers/{printer_name}">}{printer_name}</A>
-telah berhasil ditetapkan.
-
-</DIV>
diff --git a/templates/id/printer-confirm.tmpl b/templates/id/printer-confirm.tmpl
deleted file mode 100644 (file)
index e6d89d6..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Hapus Pencetak {printer_name}</H2>
-
-<P><B>Peringatan:</B> Anda yakin untuk menghapus
-{printer_name}?</P>
-
-<P ALIGN="CENTER"><FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="delete-printer"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}"><INPUT TYPE="SUBMIT" NAME="confirm" VALUE="Hapus Pencetak"></FORM></P>
-
-</DIV>
diff --git a/templates/id/printer-default.tmpl b/templates/id/printer-default.tmpl
deleted file mode 100644 (file)
index 2bbedae..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Atur {is_class?Kelas:Pencetak} {printer_name} sebagai Baku</H2>
-
-<P>{is_class?Kelas:Pencetak} <A
-HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
-telah dijadikan pencetak utama pada server.</P>
-
-<BLOCKQUOTE><B>Catatan:</B> Semua pengguna yang diatur melalui perintah <TT>lpoptions</TT> akan ditimpa oleh pengaturan ini.</BLOCKQUOTE>
-
-</DIV>
diff --git a/templates/id/printer-deleted.tmpl b/templates/id/printer-deleted.tmpl
deleted file mode 100644 (file)
index e4492ea..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Hapus Pencetak {printer_name}</H2>
-
-<P>Pencetak {printer_name} telah berhasil dihapus.
-
-</DIV>
diff --git a/templates/id/printer-jobs-header.tmpl b/templates/id/printer-jobs-header.tmpl
deleted file mode 100644 (file)
index e6ca447..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<DIV CLASS="indent">
-<H3 CLASS="title">Tugas</H3>
-</DIV>
diff --git a/templates/id/printer-modified.tmpl b/templates/id/printer-modified.tmpl
deleted file mode 100644 (file)
index 16a7ad3..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Ubah Pencetak {printer_name}</H2>
-
-<P>Pencetak <A HREF="/printers/{printer_name}">{printer_name}</A> telah berhasil diubah.
-
-</DIV>
diff --git a/templates/id/printer-purge.tmpl b/templates/id/printer-purge.tmpl
deleted file mode 100644 (file)
index 5dff3ef..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Bersihkan Tugas untuk {is_class?Kelas:Pencetak} {printer_name}</H2>
-
-<P>{is_class?Kelas:Pencetak} <A
-HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
-telah dibersihkan dari semua tugas.</P>
-
-</DIV>
diff --git a/templates/id/printer-reject.tmpl b/templates/id/printer-reject.tmpl
deleted file mode 100644 (file)
index 616dbf0..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Tolak Tugas untuk {is_class?Kelas:Pencetak} {printer_name}</H2>
-
-<P>{is_class?Kelas:Pencetak} <A
-HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
-tidak lagi menerima tugas.</P>
-
-</DIV>
diff --git a/templates/id/printer-start.tmpl b/templates/id/printer-start.tmpl
deleted file mode 100644 (file)
index ca3d95a..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Menjalankan Ulang {is_class?Kelas:Pencetak} {printer_name}</H2>
-
-<P>{is_class?Kelas:Pencetak} <A
-HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
-telah dijalankan lagi.</P>
-
-</DIV>
diff --git a/templates/id/printer-stop.tmpl b/templates/id/printer-stop.tmpl
deleted file mode 100644 (file)
index ca022e0..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Menghentikan {is_class?Kelas:Pencetak} {printer_name}</H2>
-
-<P>{is_class?Kelas:Pencetak} <A
-HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
-telah dihentikan.</P>
-
-</DIV>
diff --git a/templates/id/printer.tmpl b/templates/id/printer.tmpl
deleted file mode 100644 (file)
index 4c56b67..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title"><A HREF="{printer_uri_supported}">{printer_name}</A>
-({printer_state=3?Menganggur:{printer_state=4?Memproses:Berhenti}},
-{printer_is_accepting_jobs=0?Menolak Tugas:Menerima Tugas},
-{server_is_sharing_printers=0?Tidak:{printer_is_shared=0?Tidak:}} Berbagi{default_name={printer_name}?, Server Baku:})</H2>
-
-<FORM METHOD="POST" ACTION="{printer_uri_supported}" NAME="maintenance">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<SELECT NAME="OP" ONCHANGE="document.maintenance.submit();">
-<OPTION VALUE="">Perawatan</OPTION>
-<OPTION VALUE="print-test-page">Cetak Halaman Uji</OPTION>
-{printer_commands~.*Clean.*?<OPTION VALUE="clean-print-heads">Bersihkan Kepala Pencetak</OPTION>:}
-{printer_commands~.*PrintSelfTestPage.*?<OPTION VALUE="print-self-test-page">Cetak Halaman Uji-Sendiri</OPTION>:}
-{printer_state=5?<OPTION VALUE="start-printer">Resume Pencetak</OPTION>:<OPTION VALUE="stop-printer">Tahan Pencetak</OPTION>}
-{printer_is_accepting_jobs=0?<OPTION VALUE="accept-jobs">Terima Tugas</OPTION>:<OPTION VALUE="reject-jobs">Tolak Tugas</OPTION>}
-<OPTION VALUE="move-jobs">Pindahkan Semua TUgas</OPTION>
-<OPTION VALUE="purge-jobs">Batalkan Semua Tugas</OPTION>
-</SELECT>
-<INPUT TYPE="SUBMIT" VALUE="Lakukan!" STYLE="display: none;">
-</FORM>
-
-<FORM METHOD="POST" ACTION="{admin_uri}" NAME="administration">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">
-<SELECT NAME="OP" ONCHANGE="document.administration.submit();">
-<OPTION VALUE="">Administrasi</OPTION>
-<OPTION VALUE="modify-printer">Ubah Pencetak</OPTION>
-<OPTION VALUE="delete-printer">Hapus Pencetak</OPTION>
-<OPTION VALUE="set-printer-options">Atur Opsi Baku</OPTION>
-<OPTION VALUE="set-as-default">Atus Sebagai Server Baku</OPTION>
-<OPTION VALUE="set-allowed-users">Atur Pengguna yang Diperbolehkan</OPTION>
-</SELECT>
-<INPUT TYPE="SUBMIT" VALUE="Lakukan!" STYLE="display: none;">
-</FORM>
-
-<TABLE SUMMARY="{printer_name}">
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Deskripsi:</TH><TD>{printer_info}</TD></TR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Lokasi:</TH><TD>{printer_location}</TD></TR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Penggerak:</TH><TD>{printer_make_and_model} ({color_supported=1?warna:skala abu-abu}{sides_supported?, cetak 2-sisi:})<BR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Koneksi:</TH><TD>{device_uri}</TD></TR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Baku:</TH><TD>job-sheets={job_sheets_default}
-media={media_default?{media_default}:tak dikenal}
-{sides_default?sides={sides_default}:}</TD></TR>
-</TABLE>
-
-</DIV>
diff --git a/templates/id/printers-header.tmpl b/templates/id/printers-header.tmpl
deleted file mode 100644 (file)
index b1a00fc..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<P ALIGN="CENTER">{total=0?Tidak ada pencetak:Menampilkan {#printer_name} dari {total} pencetak{total=1?:}}.</P>
diff --git a/templates/id/restart.tmpl b/templates/id/restart.tmpl
deleted file mode 100644 (file)
index fde1b06..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Ubah Pengaturan</H2>
-
-<P><IMG SRC="/images/wait.gif" WIDTH="16" HEIGHT="16" ALIGN="ABSMIDDLE"
-ALT="Indikator Kesibukan"> Silakan tunggu selagi server dijalankan ulang...</P>
-
-</DIV>
diff --git a/templates/id/samba-export.tmpl b/templates/id/samba-export.tmpl
deleted file mode 100644 (file)
index 4d9e175..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-<SCRIPT TYPE="text/javascript"><!--
-function select_printers() {
-  var list = document.export_samba.EXPORT_NAME;
-  var sel = document.export_samba.EXPORT_ALL.checked;
-
-  for (i = 0; i < list.length; i ++) {
-    list.options[i].selected = sel;
-  }
-}
---></SCRIPT>
-
-<FORM METHOD="POST" ACTION="/admin/" NAME="export_samba">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="export-samba">
-
-<H2 CLASS="title">Ekspor Pencetak ke Samba</H2>
-
-{error?<P>Tak dapat mengekspor pencetak ke Samba\:</P>
-<BLOCKQUOTE>{error}</BLOCKQUOTE>
-<P>Rujuklah berkas <A HREF="/admin/log/error_log"
-TARGET="_blank">error_log</A> untuk informasi lebih lanjut.</P>:
-<P>Di halaman ini, Anda dapat mengekspor pencetak untuk Samba, sehingga
-klien Windows dapat mengakses pencetak-pencetak tersebut melalui ikon
-<VAR>Network Neighborhood</VAR> atau <VAR>Network Places</VAR> yang ada
-di desktop mereka. Namun, sebelumnya Anda harus memasang penggerak
-pencetak PostScript Windows seperti yang dijelaskan pada halaman
-manual <A HREF="/help/man-cupsaddsmb.html"
-TARGET="_blank">cupsaddsmb(8)</A>.</P>}
-
-<TABLE>
-<TR>
-<TH CLASS="label">Pencetak:</TH>
-<TD>
-<SELECT NAME="EXPORT_NAME" SIZE="10" MULTIPLE>
-{[printer_name]<OPTION VALUE="{printer_name}"{export_all? SELECTED:{printer_export? SELECTED:}}>{printer_name}}
-</SELECT><BR>
-<INPUT TYPE="CHECKBOX" NAME="EXPORT_ALL"{export_all? CHECKED:}
-onChange="select_printers()"> Ekspor Semua Pencetak
-</TD>
-</TR>
-<TR>
-<TH CLASS="label">Nama Pengguna Samba:</TH>
-<TD><INPUT TYPE="TEXT" NAME="USERNAME" VALUE="{?USERNAME}"> (diperlukan)</TD>
-</TR>
-<TR>
-<TH CLASS="label">Sandi Samba:</TH>
-<TD><INPUT TYPE="PASSWORD" NAME="PASSWORD" VALUE=""> (diperlukan)</TD>
-</TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Ekspor Pencetak ke Samba"></TD>
-</TR>
-</TABLE>
-
-</FORM>
diff --git a/templates/id/samba-exported.tmpl b/templates/id/samba-exported.tmpl
deleted file mode 100644 (file)
index 8fa8111..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<P>Pencetak berhasil diekspor ke Samba.</P>
diff --git a/templates/id/search.tmpl b/templates/id/search.tmpl
deleted file mode 100644 (file)
index 9dc2e5d..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-<FORM ACTION="/{SECTION}/{?SEARCH_DEST}" METHOD="GET">
-{WHICH_JOBS?<INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{WHICH_JOBS}">:}
-{ORDER?<INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{ORDER}">:}
-
-<P ALIGN="CENTER"><B>Cari di
-{SEARCH_DEST?{SEARCH_DEST}:{SECTION=classes?Kelas:{SECTION=jobs?Tugas:Pencetak}}}:</B>
-<INPUT TYPE="SEARCH" NAME="QUERY" VALUE="{?QUERY}" SIZE="40"  PLACEHOLDER="" AUTOSAVE="org.cups.{SECTION}" RESULTS="20"> <INPUT
-TYPE="SUBMIT" VALUE="Cari"> <INPUT TYPE="SUBMIT" NAME="CLEAR" VALUE="Bersihkan"></P>
-
-</FORM>
diff --git a/templates/id/subscription-added.tmpl b/templates/id/subscription-added.tmpl
deleted file mode 100644 (file)
index 70abc79..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<DIV CLASS="indent">
-
-<P>Subskripsi {subscription_name} telah berhasil ditambahkan.</P>
-
-</DIV>
diff --git a/templates/id/subscription-canceled.tmpl b/templates/id/subscription-canceled.tmpl
deleted file mode 100644 (file)
index ba7b0e1..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<DIV CLASS="indent">
-
-<P>Subskripsi #{notify_subscription_id} telah dibatalkan.</P>
-
-</DIV>
diff --git a/templates/id/test-page.tmpl b/templates/id/test-page.tmpl
deleted file mode 100644 (file)
index 5b1492e..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Cetak Halaman Uji pada {printer_name}</H2>
-
-<P>Halaman uji telah dikirim; ID tugas adalah <A HREF="/{SECTION}/{printer_name}">
-{printer_name}-{job_id}</A>.</P>
-
-</DIV>
diff --git a/templates/id/trailer.tmpl b/templates/id/trailer.tmpl
deleted file mode 100644 (file)
index c604f34..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-</TD></TR>
-<TR><TD>&nbsp;</TD></TR>
-<TR><TD CLASS="trailer">CUPS dan logo CUPS adalah merek dagang dari
-<A HREF="http://www.apple.com">Apple Inc.</A> Hak Cipta CUPS adalah 2007-2012 Apple
-Inc. Semua hak terpelihara.</TD></TR>
-</TABLE>
-</BODY>
-</HTML>
diff --git a/templates/id/users.tmpl b/templates/id/users.tmpl
deleted file mode 100644 (file)
index fe91070..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-<DIV CLASS="indent">
-
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{OP}">
-<INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">
-{IS_CLASS?<INPUT TYPE="HIDDEN" NAME="IS_CLASS" VALUE="{IS_CLASS}">:}
-
-<H2 CLASS="title">Pengguna yang Diperbolehkan Bagi {printer_name}</H2>
-
-<TABLE>
-<TR>
-<TH CLASS="label">Pengguna:</TH>
-<TD>
-<INPUT TYPE='TEXT' NAME='users' SIZE='60' VALUE='{?requesting_user_name_allowed}{?requesting_user_name_denied}'>
-<BR>
-<INPUT TYPE='RADIO' NAME='type' VALUE='requesting-user-name-allowed' {requesting_user_name_allowed?checked:}>Perbolehkan pengguna ini untuk mencetak
-<INPUT TYPE='RADIO' NAME='type' VALUE='requesting-user-name-denied' {requesting_user_name_denied?checked:}>Larang pengguna ini untuk mencetak
-</TD>
-</TR>
-<TR>
-<TD></TD>
-<TD>
-<INPUT TYPE="SUBMIT" VALUE="Atur Pengguna yang Diperbolehkan">
-</TD>
-</TR>
-</TABLE>
-
-</FORM>
-</DIV>
diff --git a/templates/it/add-printer.tmpl b/templates/it/add-printer.tmpl
deleted file mode 100644 (file)
index 3bf0906..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Aggiungi stampante</H2>
-
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-{?current_make!?<INPUT TYPE="HIDDEN" NAME="CURRENT_MAKE" VALUE="{current_make}">:}
-{?current_make_and_model!?<INPUT TYPE="HIDDEN" NAME="CURRENT_MAKE_AND_MODEL" VALUE="{current_make_and_model}">:}
-
-<TABLE>
-<TR>
-<TH CLASS="label">Nome:</TH>
-<TD><INPUT TYPE="TEXT" NAME="PRINTER_NAME" SIZE="40" MAXLENGTH="127" VALUE="{?template_name}"><BR>
-<SMALL>(Può contenere qualsiasi carattere stampabile eccetto "/", "#", e spazio)</SMALL></TD>
-</TR>
-<TR>
-<TH CLASS="label">Descrizione:</TH>
-<TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" SIZE="40" MAXLENGTH="127" VALUE="{?PRINTER_INFO}"><BR>
-<SMALL>(Descrizione esplicativa del tipo "HP LaserJet con Duplexer")</SMALL></TD>
-</TR>
-<TR>
-<TH CLASS="label">Posizione:</TH>
-<TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" SIZE="40" MAXLENGTH="127" VALUE="{?PRINTER_LOCATION}"><BR>
-<SMALL>(Posizione esplicativa del tipo "Laboratorio 1")</SMALL></TD>
-</TR>
-<TR>
-<TH CLASS="label">Connessione:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
-</TR>
-<TR>
-<TH CLASS="label">Condivisione:</TH>
-<TD><INPUT TYPE="CHECKBOX" NAME="PRINTER_IS_SHARED" {PRINTER_IS_SHARED=1?CHECKED:}>
-Condividi la stampante</TD>
-</TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Continua"></TD>
-</TR>
-</TABLE>
-
-</FORM>
-</DIV>
diff --git a/templates/it/admin.tmpl b/templates/it/admin.tmpl
deleted file mode 100644 (file)
index 7f7e44b..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-<TABLE CLASS="indent" SUMMARY="Operazioni di amministrazione">
-<TR><TD VALIGN="TOP">
-
-<H2 CLASS="title">Stampanti</H2>
-
-<P>
-<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-printer"><INPUT TYPE="SUBMIT" VALUE="Aggiungi stampante"></FORM>
-<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="find-new-printers"><INPUT TYPE="SUBMIT" VALUE="Trova nuove stampanti"></FORM>
-<FORM ACTION="/printers/" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Gestisci stampanti"></FORM>
-{have_samba?<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="export-samba"><INPUT TYPE="SUBMIT" VALUE="Esporta stampanti a Samba"></FORM>:}
-</P>
-
-<H2 CLASS="title">Classi</H2>
-
-<P>
-<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-class"><INPUT TYPE="SUBMIT" VALUE="Aggiungi classe"></FORM>
-<FORM ACTION="/classes/" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Gestisci classi"></FORM>
-</P>
-
-<H2 CLASS="title">Stampe</H2>
-
-<P>
-<FORM ACTION="/jobs/" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Gestisci stampe"></FORM>
-</P>
-
-</TD><TD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD><TD VALIGN="TOP">
-
-<H2 CLASS="title">Server</H2>
-
-<P>
-<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server"><INPUT TYPE="SUBMIT" VALUE="Modifica file di configurazione"></FORM>
-<FORM ACTION="/admin/log/access_log" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Mostra registro degli accessi"></FORM>
-<FORM ACTION="/admin/log/error_log" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Visualizza registro di errore"></FORM>
-<FORM ACTION="/admin/log/page_log" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Visualizza registro delle pagine"></FORM>
-</P>
-
-{SETTINGS_ERROR?<P>{SETTINGS_MESSAGE}</P>
-<BLOCKQUOTE>{SETTINGS_ERROR}</BLOCKQUOTE>:
-
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-
-{ADVANCEDSETTINGS?<P><B>Impostazioni del server\:</B></P>
-
-<P><A HREF="/admin/">Avanzate <SMALL>&#x25bc;</SMALL></A><BR>
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server">
-<INPUT TYPE="HIDDEN" NAME="ADVANCEDSETTINGS" VALUE="YES">
-<INPUT TYPE="CHECKBOX" NAME="REMOTE_PRINTERS" {?remote_printers}> Mostra stampanti condivise da altri sistemi<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Protocolli\:
-<INPUT TYPE="CHECKBOX" NAME="BROWSE_REMOTE_CUPS" {?browse_remote_cups}> CUPS
-{HAVE_LDAP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_REMOTE_LDAP" {?browse_remote_ldap}> LDAP:}
-{HAVE_LIBSLP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_REMOTE_SLP" {?browse_remote_slp}> SLP:}<BR>
-<INPUT TYPE="CHECKBOX" NAME="SHARE_PRINTERS" {?share_printers}> Condividi le stampanti connesse al sistema<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;N. massimo di client\:
-<INPUT TYPE="TEXT" NAME="MAX_CLIENTS" VALUE="{?max_clients}" SIZE="6"><BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Protocolli\:
-<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_CUPS" {?browse_local_cups}> CUPS
-{HAVE_DNSSD?<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_DNSSD" {?browse_local_dnssd}> DNS-SD:}
-{HAVE_LDAP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_LDAP" {?browse_local_ldap}> LDAP:}
-{HAVE_LIBSLP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_SLP" {?browse_local_slp}> SLP:}<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="REMOTE_ANY" {?remote_any}> Consenti stampa da Internet<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="BROWSE_WEB_IF" {?browse_web_if}> Pubblica l'interfaccia web<BR>
-<INPUT TYPE="CHECKBOX" NAME="REMOTE_ADMIN" {?remote_admin}> Consenti amministrazione remota<BR>
-{have_gssapi?<INPUT TYPE="CHECKBOX" NAME="KERBEROS" {?kerberos}> Usa autenticazione Kerberos (<A HREF="/help/kerberos.html?TOPIC=Getting+Started">FAQ</A>)<BR>:}
-<INPUT TYPE="CHECKBOX" NAME="USER_CANCEL_ANY" {?user_cancel_any}> Consenti agli utenti di annullare ogni stampa (non solo le proprie)<BR>
-<INPUT TYPE="CHECKBOX" NAME="PRESERVE_JOB_HISTORY" {?preserve_job_history}> Mantieni lo storico delle stampe<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Numero di stampe\:
-<INPUT TYPE="TEXT" NAME="MAX_JOBS" VALUE="{?max_jobs}" SIZE="6"><BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="PRESERVE_JOB_FILES" {?preserve_job_files}> Conserva i file di stampa<BR>
-<INPUT TYPE="CHECKBOX" NAME="DEBUG_LOGGING" {?debug_logging}> Salva informazioni di debug per la risoluzione di problemi<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dim. massima file di registro\:
-<INPUT TYPE="TEXT" NAME="MAX_LOG_SIZE" VALUE="{?max_log_size}" SIZE="6"></P>
-
-:<P><B>Impostazioni server:</B></P>
-
-<P><A HREF="/admin/?ADVANCEDSETTINGS=YES">Avanzate <SMALL>&#x25b6;</SMALL></A><BR>
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server">
-<INPUT TYPE="CHECKBOX" NAME="REMOTE_PRINTERS" {?remote_printers}> Mostra stampanti condivise da altri sistemi<BR>
-<INPUT TYPE="CHECKBOX" NAME="SHARE_PRINTERS" {?share_printers}> Condividi stampanti connesse al sistema<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="REMOTE_ANY" {?remote_any}> Consenti la stampa da Internet<BR>
-<INPUT TYPE="CHECKBOX" NAME="REMOTE_ADMIN" {?remote_admin}> Consenti amministrazione remota<BR>
-{have_gssapi?<INPUT TYPE="CHECKBOX" NAME="KERBEROS" {?kerberos}> Utilizza autenticazione Kerberos (<A HREF="/help/kerberos.html?TOPIC=Getting+Started">FAQ</A>)<BR>:}
-<INPUT TYPE="CHECKBOX" NAME="USER_CANCEL_ANY" {?user_cancel_any}> Consenti agli utenti di annullare ogni stampa (non solo le proprie)<BR>
-<INPUT TYPE="CHECKBOX" NAME="DEBUG_LOGGING" {?debug_logging}> Salva le informazioni di debug per la risoluzione di problemi</P>
-
-}
-<P><INPUT TYPE="SUBMIT" NAME="CHANGESETTINGS" VALUE="Cambia impostazioni"></P>
-
-</FORM>}
-
-</TD></TR>
-</TABLE>
-
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Iscrizioni RSS</H2>
-
-<P>
-<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-rss-subscription"><INPUT TYPE="SUBMIT" VALUE="Aggiungi iscrizione RSS"></FORM>
-</P>
-
-</DIV>
-
-{notify_subscription_id?<TABLE CLASS="list" SUMMARY="Iscrizioni RSS">
-<THEAD><TR><TH>Nome</TH><TH>Eventi</TH><TH>Nome coda</TH></TR></THEAD>
-<TBODY>{[notify_subscription_id]
-<TR><TD><A HREF="{notify_recipient_uri}">{notify_recipient_name}</A><BR>
-<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="cancel-subscription"><INPUT TYPE="HIDDEN" NAME="notify_subscription_id" VALUE="{notify_subscription_id}"><INPUT TYPE="SUBMIT" VALUE="Annulla iscrizione RSS"></FORM>&nbsp;</TD><TD>{notify_events}</TD><TD NOWRAP>&nbsp;{notify_printer_name?{notify_printer_name}:Tutte le code}</TD></TR>}
-</TBODY>
-</TABLE>:}
diff --git a/templates/it/class-added.tmpl b/templates/it/class-added.tmpl
deleted file mode 100644 (file)
index fcccaa3..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Aggiungi classe</H2>
-
-<P>Class <A HREF="/classes/{printer_name}">{printer_name}</A> è stata aggiunta
-correttamente.
-
-</DIV>
diff --git a/templates/it/class-deleted.tmpl b/templates/it/class-deleted.tmpl
deleted file mode 100644 (file)
index ce23654..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Elimina classe {printer_name}</H2>
-
-<P>La classe {printer_name} è stata eliminata correttamente.
-
-</DIV>
diff --git a/templates/it/class-jobs-header.tmpl b/templates/it/class-jobs-header.tmpl
deleted file mode 100644 (file)
index 12a936e..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<DIV CLASS="indent">
-<H3 CLASS="title">Stampe</H3>
-</DIV>
diff --git a/templates/it/class.tmpl b/templates/it/class.tmpl
deleted file mode 100644 (file)
index 0089c93..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-<DIV CLASS="indent">
-<H2 CLASS="title"><A HREF="{printer_uri_supported}">{printer_name}</A>
-({printer_state=3?Idle:{printer_state=4?Processing:Paused}},
-{printer_is_accepting_jobs=0?Rejecting Jobs:Accepting Jobs},
-{server_is_sharing_printers=0?Not:{printer_is_shared=0?Not:}} Shared{default_name={printer_name}?, Server Default:})</H2>
-
-<FORM METHOD="POST" ACTION="{printer_uri_supported}" NAME="maintenance">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<SELECT NAME="OP" ONCHANGE="document.maintenance.submit();">
-<OPTION VALUE="">Manutenzione</OPTION>
-<OPTION VALUE="print-test-page">Stampa pagina di prova</OPTION>
-{printer_state=5?<OPTION VALUE="start-class">Ripristina classe</OPTION>:<OPTION VALUE="stop-class">Sospendi classe</OPTION>}
-{printer_is_accepting_jobs=0?<OPTION VALUE="accept-jobs">Accetta stampe</OPTION>:<OPTION VALUE="reject-jobs">Rifiuta stampe</OPTION>}
-<OPTION VALUE="move-jobs">Sposta tutte le stampe</OPTION>
-<OPTION VALUE="purge-jobs">Annulla tuttte le stampe</OPTION>
-</SELECT>
-<INPUT TYPE="SUBMIT" VALUE="Vai" STYLE="display: none;">
-</FORM>
-
-<FORM METHOD="POST" ACTION="{admin_uri}" NAME="administration">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">
-<INPUT TYPE="HIDDEN" NAME="IS_CLASS" VALUE="1">
-<SELECT NAME="OP" ONCHANGE="document.administration.submit();">
-<OPTION VALUE="">Amministrazione</OPTION>
-<OPTION VALUE="modify-class">Modifica classe</OPTION>
-<OPTION VALUE="delete-class">Elimina classe</OPTION>
-<OPTION VALUE="set-class-options">Imposta opzioni predefinite</OPTION>
-<OPTION VALUE="set-as-default">Imposta come predefiniti del server</OPTION>
-<OPTION VALUE="set-allowed-users">Imposta utenti autorizzati</OPTION>
-</SELECT>
-<INPUT TYPE="SUBMIT" VALUE="Vai" STYLE="display: none;">
-</FORM>
-
-<TABLE SUMMARY="{printer_name}">
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Descrizione:</TH><TD>{printer_info}</TD></TR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Posizione:</TH><TD>{printer_location}</TD></TR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Membri:</TH><TD>{?member_uris=?None:{member_uris}}</TD></TR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Predefiniti:</TH><TD>job-sheets={job_sheets_default}
-media={media_default?{media_default}:unknown}
-{sides_default?sides={sides_default}:}</TD></TR>
-</TABLE>
-
-</DIV>
diff --git a/templates/it/classes-header.tmpl b/templates/it/classes-header.tmpl
deleted file mode 100644 (file)
index 943537f..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<P ALIGN="CENTER">{total=0?Nessuna classe:Mostrat{total=1?a:e} {#printer_name} di {total} class{total=1?e:i}}.</P>
\ No newline at end of file
diff --git a/templates/it/classes.tmpl b/templates/it/classes.tmpl
deleted file mode 100644 (file)
index bfa5bdf..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-{#printer_name=0?:
-<TABLE CLASS="list" SUMMARY="Elenco classi">
-<THEAD>
-<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&amp;WHICH_JOBS={?WHICH_JOBS}&amp;FIRST={FIRST}&amp;ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>&#x25b2;</SMALL> Nome coda <SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL> Nome coda <SMALL>&#x25bc;</SMALL>}</A></TH><TH>Descrizione</TH><TH>Posizione</TH><TH>Membri</TH><TH>Stato</TH></TR>
-</THEAD>
-<TBODY>
-{[printer_name]
-<TR><TD><A HREF="{printer_uri_supported}">{printer_name}</A></TD><TD>{printer_info}</TD><TD>{printer_location}</TD><TD>{?member_uris=?None:{member_uris}}</TD><TD>{printer_state=3?In attesa:{printer_state=4?Elaborazion in corso:Sospesa}}{printer_state_message? - "{printer_state_message}":}</TD></TR>
-}
-</TBODY>
-</TABLE></DIV>}
diff --git a/templates/it/command.tmpl b/templates/it/command.tmpl
deleted file mode 100644 (file)
index 80d44f6..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{title} su {printer_name}</H2>
-
-<P>{job_state>5?:<IMG SRC="/images/wait.gif" WIDTH="16" HEIGHT="16"
-ALIGN="ABSMIDDLE" ALT="Indicatore di occupato"> }Printer command job
-{job_state=3?pendente:{job_state=4?held:
-{job_state=5?elaborazione in corso:{job_state=6?fermata:
-{job_state=7?annullata:{job_state=8?aborted:completed}}}}}}{job_state=9?:{job_printer_state_message?,
-<EM>"{job_printer_state_message}"</EM>:}}</P>
-
-</DIV>
diff --git a/templates/it/edit-config.tmpl b/templates/it/edit-config.tmpl
deleted file mode 100644 (file)
index c8d8ea8..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<SCRIPT TYPE="text/javascript">
-function reset_config()
-{
-  document.cups.CUPSDCONF.value = "{?cupsdconf_default}";
-}
-</SCRIPT>
-
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Modifica file di configurazione</H2>
-
-<FORM NAME="cups" METHOD="POST" ACTION="/admin/">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server">
-
-<TEXTAREA NAME="CUPSDCONF" COLS="80" ROWS="25">{CUPSDCONF}</TEXTAREA>
-
-<P><INPUT TYPE="SUBMIT" NAME="SAVECHANGES" VALUE="Salva modifiche">
-<INPUT TYPE="BUTTON" VALUE="Utilizza file di configurazione predefinito"
-onClick="reset_config();"></P>
-
-</FORM>
-
-</DIV>
diff --git a/templates/it/error-op.tmpl b/templates/it/error-op.tmpl
deleted file mode 100644 (file)
index c6cdfa8..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{?title} {?printer_name} Errore</H2>
-
-<P>Errore:</P>
-
-<BLOCKQUOTE>Operazione sconosciuta "{op}"!</BLOCKQUOTE>
-
-</DIV>
diff --git a/templates/it/error.tmpl b/templates/it/error.tmpl
deleted file mode 100644 (file)
index b0e7a4b..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{?title} {?printer_name} Errore</H2>
-
-<P>{?message?{message}:Error:}</P>
-
-<BLOCKQUOTE>{error}</BLOCKQUOTE>
-
-</DIV>
diff --git a/templates/it/help-header.tmpl b/templates/it/help-header.tmpl
deleted file mode 100644 (file)
index 39c39e5..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-<DIV CLASS="indent">
-<FORM ACTION="/help/{?HELPFILE}" METHOD="GET">
-{TOPIC?<INPUT TYPE="HIDDEN" NAME="TOPIC" VALUE="{TOPIC}">:}
-
-<P ALIGN="CENTER"><B>Cerca in
-{HELPTITLE?{HELPTITLE}:{TOPIC?{TOPIC}:Tutti i documenti}}:</B> <INPUT
-TYPE="SEARCH" NAME="QUERY" VALUE="{?QUERY}" SIZE="40" PLACEHOLDER=""
-AUTOSAVE="org.cups.help" RESULTS="20">
-<INPUT TYPE="SUBMIT" NAME="SEARCH" VALUE="Cerca">
-<INPUT TYPE="SUBMIT" NAME="CLEAR" VALUE="Cancella"></P>
-
-</FORM>
-
-<!-- Bookmarks -->
-<DIV CLASS="sidebar"><TABLE CLASS="inset" SUMMARY="Contenuti">
-<TR><TD>
-
-<H3 CLASS="title">Documenti di guida in linea</H3>
-
-<P CLASS="l0"><A HREF="/help/{QUERY??QUERY={QUERY}:}">Tutti i documenti</A></P>
-<HR>
-
-{[BMTEXT]<P CLASS="l{BMINDENT}"><A HREF="{BMLINK}">{BMTEXT}</A></P>
-}
-</TD></TR>
-</TABLE></DIV>
-
-{QUERY?<P>Cerca risultati in {HELPFILE?{HELPTITLE}:{TOPIC?{TOPIC}:Tutti i documenti}}\:</P>
-{QTEXT?<UL>
-{[QTEXT]<LI><A HREF="{QLINK}">{QTEXT}</A>{QPTEXT? (in <I><A HREF="{QPLINK}">{QPTEXT}</A></I>):}</LI>}
-{QTEXT?</UL>:}
-:<P>Nessuna corrispondenza trovata.</P>}
-<HR NOSHADE>:}
-{HELPTITLE?<H1>{HELPTITLE}</H1>
-<FORM ACTION="/help/{?HELPFILE}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="PRINTABLE" VALUE="YES"><INPUT TYPE="SUBMIT" VALUE="Visualizza versione stampabile"></FORM>:
-
-<H1>Guida in linea</H1>
-
-<P>Questa è l'interfaccia di guida in linea di CUPS. Inserisci in alto i termini da ricercare
-o fai clic su qualsiasi collegamento della documentazione per visualizzare
-informazioni della guida in linea.</P>
-
-<P>Se sei nuovo di CUPS, leggi la pagina "<a
-href="/help/overview.html">Panoramica di CUPS</a>". Gli utenti esperti
-dovrebbero leggere la pagina "<a href="/help/whatsnew.html">Cosa c'è di nuovo in CUPS
-1.4</a>".</P>
-
-<P>La <A HREF="http://www.cups.org/">pagina principale di CUPS</A> fornisce
-inoltre molte risorse tra le quali forum di discussione per gli utenti, risposte 
-alle domande frequenti, e un modulo per segnalare bug e richiede nuove funzionalità.</P>}
diff --git a/templates/it/help-printable.tmpl b/templates/it/help-printable.tmpl
deleted file mode 100644 (file)
index 2463c16..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<HTML>
-<HEAD>
-       <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
-       <TITLE>{HELPTITLE}</TITLE>
-       <LINK REL="STYLESHEET" TYPE="text/css" HREF="/cups-printable.css">
-       <LINK REL="SHORTCUT ICON" HREF="/images/cups-icon.png" TYPE="image/png">
-</HEAD>
-<BODY>
diff --git a/templates/it/job-cancel.tmpl b/templates/it/job-cancel.tmpl
deleted file mode 100644 (file)
index 766881e..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Annulla la stampa {job_id}</H2>
-
-<P><A HREF="{job_printer_uri}">La stampa {job_id}</A> è stata annullata.
-
-</DIV>
diff --git a/templates/it/job-hold.tmpl b/templates/it/job-hold.tmpl
deleted file mode 100644 (file)
index ac2d819..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Blocca la stampa {job_id}</H2>
-
-<P><A HREF="{job_printer_uri}">La stampa {job_id}</A> è stata bloccata.
-
-</DIV>
diff --git a/templates/it/job-moved.tmpl b/templates/it/job-moved.tmpl
deleted file mode 100644 (file)
index 98be4fe..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{job_id?Sposta stampa {job_id}:Sposta tutte le stampe}</H2>
-
-<P>{job_id?<A HREF="/jobs/{job_id}">La stampa {job_id}</A>:Tutte le stampe} {job_id?è stata:sono state} spostat{job_id?a:e} su
-<A HREF="/{is_class?classes:printers}/{job_printer_name}">{job_printer_name}</A>.</P>
-
-</DIV>
diff --git a/templates/it/job-release.tmpl b/templates/it/job-release.tmpl
deleted file mode 100644 (file)
index c6520fd..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Rilascia la stampa {job_id}</H2>
-
-<P><A HREF="{job_printer_uri}">La stampa {job_id}</A> è stata rilasciata.
-
-</DIV>
diff --git a/templates/it/job-restart.tmpl b/templates/it/job-restart.tmpl
deleted file mode 100644 (file)
index 59d9aa6..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Ripeti la stampa {job_id}</H2>
-
-<P><A HREF="{job_printer_uri}">La stampa {job_id}</A> è stata riavviata.
-
-</DIV>
diff --git a/templates/it/jobs.tmpl b/templates/it/jobs.tmpl
deleted file mode 100644 (file)
index 494c1ee..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-{#job_id=0?:
-<TABLE CLASS="list" SUMMARY="Elenco stampe">
-<THEAD>
-<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&amp;WHICH_JOBS={?WHICH_JOBS}&amp;FIRST={FIRST}&amp;ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>&#x25b2;</SMALL> ID <SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL> ID <SMALL>&#x25bc;</SMALL>}</A></TH><TH>Nome</TH><TH>Utente</TH><TH>Dimensione</TH><TH>Pagine</TH><TH>Stato</TH><TH>Controllo</TH></TR>
-</THEAD>
-<TBODY>
-{[job_id]
-<TR VALIGN="TOP">
-<TD><A HREF="{job_printer_uri}">{job_printer_name}</A>-{job_id}&nbsp;</TD>
-<TD>{?job_name=?Unknown:{job_name}}&nbsp;</TD>
-<TD>{job_originating_user_name}&nbsp;</TD>
-<TD>{job_k_octets}k&nbsp;</TD>
-<TD>{job_media_sheets_completed=0?Unknown:{?job_media_sheets_completed}}&nbsp;</TD>
-<TD>{job_state=3?pending since<BR>{time_at_creation}:{job_state=4?held since<BR>{time_at_creation}:
-{job_state=5?processing since<BR>{time_at_processing}:{job_state=6?stopped:
-{job_state=7?canceled at<BR>{time_at_completed}:{job_state=8?aborted:completed at<BR>{time_at_completed}}}}}}}&nbsp;{job_printer_state_message?<BR>
-<EM>"{job_printer_state_message}"</EM>:}</TD>
-<TD>
-{job_preserved>0?{job_state>5?
-<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="restart-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}">
-<INPUT TYPE="SUBMIT" VALUE="Ripeti stampa"></FORM>:}:}
-{job_state=4?
-<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="release-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}">
-<INPUT TYPE="SUBMIT" VALUE="Release Job"></FORM>:}
-{job_state=3?
-<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="hold-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}">
-<INPUT TYPE="SUBMIT" VALUE="Hold Job"></FORM>:}
-{job_state<7?
-<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="cancel-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}">
-<INPUT TYPE="SUBMIT" VALUE="Annulla stampa"></FORM>
-<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="move-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="SUBMIT" VALUE="Sposta stampa"></FORM>:}
-&nbsp;</TD>
-</TR>
-}
-</TBODY>
-</TABLE>
-}
diff --git a/templates/it/list-available-printers.tmpl b/templates/it/list-available-printers.tmpl
deleted file mode 100644 (file)
index 147d610..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Stampanti disponibili</H2>
-
-{#device_uri=0?<P>Nessuna stampante trovata.</P>
-:<UL>{[device_uri]
-<LI><FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-printer"><INPUT TYPE="HIDDEN" NAME="TEMPLATE_NAME" VALUE="{template_name}"><INPUT TYPE="HIDDEN" NAME="PRINTER_LOCATION" VALUE="Stampante locale"><INPUT TYPE="HIDDEN" NAME="PRINTER_INFO" VALUE="{device_make_and_model}"><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}"><INPUT TYPE="SUBMIT" VALUE="Aggiungi stampante"></FORM>
-{device_make_and_model} ({device_info})</LI>
-}</UL>}
-
-</DIV>
diff --git a/templates/it/modify-class.tmpl b/templates/it/modify-class.tmpl
deleted file mode 100644 (file)
index 065f2b9..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Modifica classe {printer_name}</H2>
-
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-<INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">
-
-<TABLE>
-<TR>
-<TH CLASS="label">Descrizione:</TH>
-<TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" VALUE="{?printer_info}" SIZE="40" MAXLENGTH="127"></TD>
-</TR>
-<TR>
-<TH CLASS="label">Posizione:</TH>
-<TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" VALUE="{?printer_location}" SIZE="40" MAXLENGTH="127"></TD>
-</TR>
-<TR>
-<TH CLASS="label">Membri:</TH>
-<TD>
-<SELECT NAME="MEMBER_URIS" SIZE="10" MULTIPLE>
-{[member_uris]<OPTION VALUE="{member_uris}" {?member_selected}>{member_names}}
-</SELECT>
-</TD>
-</TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Modifica classe"></TD>
-</TR>
-</TABLE>
-
-</FORM>
-</DIV>
\ No newline at end of file
diff --git a/templates/it/modify-printer.tmpl b/templates/it/modify-printer.tmpl
deleted file mode 100644 (file)
index a6303f2..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Modifica {printer_name}</H2>
-
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-<INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">
-
-<TABLE>
-<TR>
-<TH CLASS="label">Descrizione:</TH>
-<TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" VALUE="{?printer_info}" SIZE="40" MAXLENGTH="127"><BR>
-<SMALL>(Descrizione esplicativa del tipo "HP LaserJet con Duplexer")</SMALL></TD>
-</TR>
-<TR>
-<TH CLASS="label">Posizione:</TH>
-<TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" VALUE="{?printer_location}" SIZE="40" MAXLENGTH="127"><BR>
-<SMALL>(Posizione esplicativa del tipo "Laboratorio 1")</SMALL></TD>
-</TR>
-<TR>
-<TH CLASS="label">Connessione:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
-</TR>
-<TR>
-<TH CLASS="label">Condivisione:</TH>
-<TD><INPUT TYPE="CHECKBOX" NAME="PRINTER_IS_SHARED" {PRINTER_IS_SHARED=1?CHECKED:}>
-Condividi stampante</TD>
-</TR>
-<TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Continua"></TD>
-</TR>
-</TABLE>
-
-</FORM>
-</DIV>
diff --git a/templates/it/norestart.tmpl b/templates/it/norestart.tmpl
deleted file mode 100644 (file)
index 924d533..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Cambia impostazioni</H2>
-
-<P>Il server non è stato riavviato poiché nessuna modifica è stata apportata alla configurazione...</P>
-
-</DIV>
diff --git a/templates/it/option-conflict.tmpl b/templates/it/option-conflict.tmpl
deleted file mode 100644 (file)
index 6d3b975..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<P><B>Errore:</B> Le seguenti opzioni sono in conflitto:</P>
-
-<UL>
-{[ckeyword]<LI><A HREF="#{ckeyword}">{ckeytext}</A></LI>
-}</UL>
-
-<P>Cambia una o più opzioni per risolvere i conflitti.</P>
diff --git a/templates/it/option-pickone.tmpl b/templates/it/option-pickone.tmpl
deleted file mode 100644 (file)
index c21fc71..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<TR>
-<TH {conflicted=1?CLASS="conflict":CLASS="label"} WIDTH="50%"><A NAME="{keyword}">{keytext}</A>:</TH>
-<TD><SELECT NAME="{keyword}" ID="select-{keyword}" ONCHANGE="update_paramtable('{keyword}')">
-{[choices]<OPTION {choices={defchoice-1}?SELECTED:} VALUE="{choices}">{text}}
-</SELECT>
-{iscustom=1?<TABLE NAME="paramtable" id="{keyword}-params">{[params]
-<TR><TH CLASS="sublabel">{paramtext}:</TH>
-<TD>{params=Units?<SELECT NAME="{keyword-1}.{params}">
-<OPTION VALUE="pt"{paramvalue=pt? SELECTED:}>Punti</OPTION>
-<OPTION VALUE="mm"{paramvalue=mm? SELECTED:}>Millimetri</OPTION>
-<OPTION VALUE="cm"{paramvalue=cm? SELECTED:}>Centimetri</OPTION>
-<OPTION VALUE="in"{paramvalue=in? SELECTED:}>Pollici</OPTION>
-<OPTION VALUE="ft"{paramvalue=ft? SELECTED:}>Piedi</OPTION>
-<OPTION VALUE="m"{paramvalue=m? SELECTED:}>Metri</OPTION>
-</SELECT>:<INPUT TYPE="{inputtype}" NAME="{keyword-1}.{params}" VALUE="{paramvalue}">}</TD></TR>
-}</TABLE>
-</TD>:}
-</TR>
diff --git a/templates/it/option-trailer.tmpl b/templates/it/option-trailer.tmpl
deleted file mode 100644 (file)
index ddbde0b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-</TABLE>
-
-<P ALIGN="CENTER"><INPUT TYPE="SUBMIT" VALUE="Imposta opzioni predefinite"></P>
-
-</DIV>
\ No newline at end of file
diff --git a/templates/it/pager.tmpl b/templates/it/pager.tmpl
deleted file mode 100644 (file)
index 019646f..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<TABLE CLASS="inset" SUMMARY="Barra di paginazione">
-<TR>
-       <TD WIDTH="50%">{PREV?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{?ORDER}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{PREV}"><INPUT TYPE="SUBMIT" VALUE="&#x25c0; Mostra precedente"></FORM>:&nbsp;}</TD>
-       <TD WIDTH="50%" ALIGN="RIGHT">{NEXT?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{?ORDER}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{NEXT}"><INPUT TYPE="SUBMIT" VALUE="Mostra successiva &#x25b6;"></FORM>:&nbsp;}</TD>
-</TR>
-</TABLE>
diff --git a/templates/it/printer-accept.tmpl b/templates/it/printer-accept.tmpl
deleted file mode 100644 (file)
index bbf718a..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Accetta stampe su {is_class?Class:Printer} {printer_name}</H2>
-
-<P>{is_class?Class:Printer} <A
-HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
-accetta stampe.</P>
-
-</DIV>
diff --git a/templates/it/printer-added.tmpl b/templates/it/printer-added.tmpl
deleted file mode 100644 (file)
index 682dfa7..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Aggiungi stampante</H2>
-
-<P>Printer <A HREF="/printers/{printer_name}">{printer_name}</A> è stata aggiunta correttamente.
-
-</DIV>
diff --git a/templates/it/printer-configured.tmpl b/templates/it/printer-configured.tmpl
deleted file mode 100644 (file)
index cfcbf65..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Imposta le opzioni predefinite per {printer_name}</H2>
-
-<P>{OP=set-class-options?Class <A HREF="/classes/{printer_name}">:Printer <A HREF="/printers/{printer_name}">}{printer_name}</A>
-default options have been set successfully.
-
-</DIV>
diff --git a/templates/it/printer-default.tmpl b/templates/it/printer-default.tmpl
deleted file mode 100644 (file)
index fe44138..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Imposta {is_class?Class:Printer} {printer_name} come predefinita</H2>
-
-<P>{is_class?Class:Printer} <A
-HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
-è la stampante predefinita su questo server.</P>
-
-<BLOCKQUOTE><B>Note:</B> Qualsiasi utente predefinito impostato attraverso
-il comando <TT>lpoptions</TT> scavalcherà questa impostazione predefinita.</BLOCKQUOTE>
-
-</DIV>
diff --git a/templates/it/printer-deleted.tmpl b/templates/it/printer-deleted.tmpl
deleted file mode 100644 (file)
index 4698805..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Elimina la stampante {printer_name}</H2>
-
-<P>La stampante {printer_name} è stata eliminata correttamente.
-
-</DIV>
diff --git a/templates/it/printer-jobs-header.tmpl b/templates/it/printer-jobs-header.tmpl
deleted file mode 100644 (file)
index 12a936e..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<DIV CLASS="indent">
-<H3 CLASS="title">Stampe</H3>
-</DIV>
diff --git a/templates/it/printer-modified.tmpl b/templates/it/printer-modified.tmpl
deleted file mode 100644 (file)
index 2a34e89..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Modifica la stampante {printer_name}</H2>
-
-<P>La stampante <A HREF="/printers/{printer_name}">{printer_name}</A> è stata
-modificata correttamente.
-
-</DIV>
\ No newline at end of file
diff --git a/templates/it/printer-purge.tmpl b/templates/it/printer-purge.tmpl
deleted file mode 100644 (file)
index 8cf7c14..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Purge Jobs On {is_class?Class:Printer} {printer_name}</H2>
-
-<P>{is_class?Class:Printer} <A
-HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
-has been purged of all jobs.</P>
-
-</DIV>
\ No newline at end of file
diff --git a/templates/it/printer-reject.tmpl b/templates/it/printer-reject.tmpl
deleted file mode 100644 (file)
index 02f4ce9..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Rifiuta stampe su {is_class?Class:Printer} {printer_name}</H2>
-
-<P>{is_class?Class:Printer} <A
-HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
-non accetta alcuna stampa.</P>
-
-</DIV>
diff --git a/templates/it/printer-start.tmpl b/templates/it/printer-start.tmpl
deleted file mode 100644 (file)
index b7f2edc..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Ripristina {is_class?Class:Printer} {printer_name}</H2>
-
-<P>{is_class?Class:Printer} <A
-HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
-è stata ripristinata.</P>
-
-</DIV>
\ No newline at end of file
diff --git a/templates/it/printer-stop.tmpl b/templates/it/printer-stop.tmpl
deleted file mode 100644 (file)
index ef09118..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Sospendi {is_class?Class:Printer} {printer_name}</H2>
-
-<P>{is_class?Class:Printer} <A
-HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
-è stata sospesa.</P>
-
-</DIV>
\ No newline at end of file
diff --git a/templates/it/printer.tmpl b/templates/it/printer.tmpl
deleted file mode 100644 (file)
index 78fc08b..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title"><A HREF="{printer_uri_supported}">{printer_name}</A>
-({printer_state=3?Idle:{printer_state=4?Processing:Paused}},
-{printer_is_accepting_jobs=0?Rejecting Jobs:Accepting Jobs},
-{server_is_sharing_printers=0?Not:{printer_is_shared=0?Not:}} Shared{default_name={printer_name}?, Server Default:})</H2>
-
-<FORM METHOD="POST" ACTION="{printer_uri_supported}" NAME="maintenance">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<SELECT NAME="OP" ONCHANGE="document.maintenance.submit();">
-<OPTION VALUE="">Maintenance</OPTION>
-<OPTION VALUE="print-test-page">Print Test Page</OPTION>
-{printer_commands~.*Clean.*?<OPTION VALUE="clean-print-heads">Clean Print Heads</OPTION>:}
-{printer_commands~.*PrintSelfTestPage.*?<OPTION VALUE="print-self-test-page">Print Self Test Page</OPTION>:}
-{printer_state=5?<OPTION VALUE="start-printer">Resume Printer</OPTION>:<OPTION VALUE="stop-printer">Pause Printer</OPTION>}
-{printer_is_accepting_jobs=0?<OPTION VALUE="accept-jobs">Accept Jobs</OPTION>:<OPTION VALUE="reject-jobs">Reject Jobs</OPTION>}
-<OPTION VALUE="move-jobs">Move All Jobs</OPTION>
-<OPTION VALUE="purge-jobs">Cancel All Jobs</OPTION>
-</SELECT>
-<INPUT TYPE="SUBMIT" VALUE="Go" STYLE="display: none;">
-</FORM>
-
-<FORM METHOD="POST" ACTION="{admin_uri}" NAME="administration">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">
-<SELECT NAME="OP" ONCHANGE="document.administration.submit();">
-<OPTION VALUE="">Administration</OPTION>
-<OPTION VALUE="modify-printer">Modify Printer</OPTION>
-<OPTION VALUE="delete-printer">Delete Printer</OPTION>
-<OPTION VALUE="set-printer-options">Set Default Options</OPTION>
-<OPTION VALUE="set-as-default">Set As Server Default</OPTION>
-<OPTION VALUE="set-allowed-users">Set Allowed Users</OPTION>
-</SELECT>
-<INPUT TYPE="SUBMIT" VALUE="Go" STYLE="display: none;">
-</FORM>
-
-<TABLE SUMMARY="{printer_name}">
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Description:</TH><TD>{printer_info}</TD></TR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Location:</TH><TD>{printer_location}</TD></TR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Driver:</TH><TD>{printer_make_and_model} ({color_supported=1?color:grayscale}{sides_supported?, 2-sided printing:})<BR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Connection:</TH><TD>{device_uri}</TD></TR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Defaults:</TH><TD>job-sheets={job_sheets_default}
-media={media_default?{media_default}:unknown}
-{sides_default?sides={sides_default}:}</TD></TR>
-</TABLE>
-
-</DIV>
\ No newline at end of file
diff --git a/templates/it/printers-header.tmpl b/templates/it/printers-header.tmpl
deleted file mode 100644 (file)
index e10112d..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<P ALIGN="CENTER">{total=0?Nessuna stampante:Mostrat{total=1?a:e} {#printer_name} di {total} stampant{total=1?e:i}}.</P>
diff --git a/templates/it/printers.tmpl b/templates/it/printers.tmpl
deleted file mode 100644 (file)
index 87efb6d..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-{#printer_name=0?:
-<TABLE CLASS="list" SUMMARY="Elenco stampanti">
-<THEAD>
-<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&amp;WHICH_JOBS={?WHICH_JOBS}&amp;FIRST={FIRST}&amp;ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>&#x25b2;</SMALL> Nome coda <SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL> Nome coda <SMALL>&#x25bc;</SMALL>}</A></TH><TH>Descrizione</TH><TH>Posizione</TH><TH>Marca e modello</TH><TH>Stato</TH></TR>
-</THEAD>
-<TBODY>
-{[printer_name]
-<TR><TD><A HREF="{printer_uri_supported}">{printer_name}</A></TD><TD>{printer_info}</TD><TD>{printer_location}</TD><TD>{printer_make_and_model}</TD><TD>{printer_state=3?Idle:{printer_state=4?Processing:Paused}}{printer_state_message? - "{printer_state_message}":}</TD></TR>
-}
-</TBODY>
-</TABLE></DIV>}
diff --git a/templates/it/restart.tmpl b/templates/it/restart.tmpl
deleted file mode 100644 (file)
index 3d64248..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Cambia impostazioni</H2>
-
-<P><IMG SRC="/images/wait.gif" WIDTH="16" HEIGHT="16" ALIGN="ABSMIDDLE"
-ALT="Indicatore di occupato"> Attendi il riavvio del server...</P>
-
-</DIV>
diff --git a/templates/it/samba-export.tmpl b/templates/it/samba-export.tmpl
deleted file mode 100644 (file)
index bce7469..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-<SCRIPT TYPE="text/javascript"><!--
-function select_printers() {
-  var list = document.export_samba.EXPORT_NAME;
-  var sel = document.export_samba.EXPORT_ALL.checked;
-
-  for (i = 0; i < list.length; i ++) {
-    list.options[i].selected = sel;
-  }
-}
---></SCRIPT>
-
-<FORM METHOD="POST" ACTION="/admin/" NAME="export_samba">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="export-samba">
-
-<H2 CLASS="title">Esporta stampanti a Samba</H2>
-
-{error?<P>Impossibile esportare stampanti a Samba\:</P>
-<BLOCKQUOTE>{error}</BLOCKQUOTE>
-<P>Consulta il file <A HREF="/admin/log/error_log"
-TARGET="_blank">error_log</A> per ulteriori informazioni.</P>:
-<P>Questa pagina ti consente di esportare stampanti a Samba in modo che
-i client Windows possano accedervi dalle icone <VAR>Risorse di rete</VAR> 
-sui loro desktop. Devi installare preventivamente i driver per stampanti
-Windows PostScript come descritto nella pagina di manuale <A
-HREF="/help/man-cupsaddsmb.html"
-TARGET="_blank">cupsaddsmb(8)</A>.</P>}
-
-<TABLE>
-<TR>
-<TH CLASS="label">Stampanti:</TH>
-<TD>
-<SELECT NAME="EXPORT_NAME" SIZE="10" MULTIPLE>
-{[printer_name]<OPTION VALUE="{printer_name}"{export_all? SELECTED:{printer_export? SELECTED:}}>{printer_name}}
-</SELECT><BR>
-<INPUT TYPE="CHECKBOX" NAME="EXPORT_ALL"{export_all? CHECKED:}
-onChange="select_printers()"> Esporta tutte le stampanti
-</TD>
-</TR>
-<TR>
-<TH CLASS="label">Nome utente Samba:</TH>
-<TD><INPUT TYPE="TEXT" NAME="USERNAME" VALUE="{?USERNAME}"> (richiesto)</TD>
-</TR>
-<TR>
-<TH CLASS="label">Password Samba:</TH>
-<TD><INPUT TYPE="PASSWORD" NAME="PASSWORD" VALUE=""> (richiesto)</TD>
-</TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Esporta stampanti a Samba"></TD>
-</TR>
-</TABLE>
-
-</FORM>
diff --git a/templates/it/samba-exported.tmpl b/templates/it/samba-exported.tmpl
deleted file mode 100644 (file)
index d75f2d8..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<P>Stampanti esportate a samba correttamente.</P>
diff --git a/templates/it/set-printer-options-header.tmpl b/templates/it/set-printer-options-header.tmpl
deleted file mode 100644 (file)
index b0867ce..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Imposta opzioni predefinite per {printer_name}</H2>
-
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-{HAVE_AUTOCONFIGURE?<INPUT TYPE="SUBMIT" NAME="AUTOCONFIGURE" VALUE="Interroga stampante per opzioni predefinite">:}
-
-<SCRIPT TYPE="text/javascript"><!--
-function update_paramtable(option)
-{
-  var cb = document.getElementById("select-" + option)
-  var paramstable = document.getElementById(option + "-params");
-  if (cb.value == "Custom")
-    paramstable.style.display = "table";
-  else
-    paramstable.style.display = "none";
-}
---></SCRIPT>
-
-<H3 CLASS="title">{[group_id]
-<A HREF="#{group_id}">{group}</A>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</H3>
-
-<DIV CLASS="tabs">
diff --git a/templates/it/subscription-added.tmpl b/templates/it/subscription-added.tmpl
deleted file mode 100644 (file)
index baec73d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<DIV CLASS="indent">
-
-<P>L'iscrizione {subscription_name} è stata aggiunta correttamente.</P>
-
-</DIV>
diff --git a/templates/it/subscription-canceled.tmpl b/templates/it/subscription-canceled.tmpl
deleted file mode 100644 (file)
index b8a94aa..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<DIV CLASS="indent">
-
-<P>L'iscrizione #{notify_subscription_id} è stata annullata.</P>
-
-</DIV>
diff --git a/templates/it/test-page.tmpl b/templates/it/test-page.tmpl
deleted file mode 100644 (file)
index 409ebf6..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Stampa pagina di prova su {printer_name}</H2>
-
-<P>Pagina di prova inviata; l'ID della stampa è <A HREF="/{SECTION}/{printer_name}">
-{printer_name}-{job_id}</A>.</P>
-
-</DIV>
diff --git a/templates/it/trailer.tmpl b/templates/it/trailer.tmpl
deleted file mode 100644 (file)
index 100c3a1..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-</TD></TR>
-<TR><TD>&nbsp;</TD></TR>
-<TR><TD CLASS="trailer">CUPS e il logo CUPS sono marchi di
-<A HREF="http://www.apple.com">Apple Inc.</A> CUPS è un copyright 2007-2012 Apple
-Inc. Tutti i diritti sono riservati.</TD></TR>
-</TABLE>
-</BODY>
-</HTML>
index 11108cc..b4e9166 100644 (file)
@@ -10,7 +10,7 @@
 <TR>
 <TH CLASS="label">名前:</TH>
 <TD><INPUT TYPE="TEXT" NAME="PRINTER_NAME" SIZE="40" MAXLENGTH="127"><BR>
-<SMALL>("/"、"#"、スペースを除く文字を含めることができます)</SMALL></TD>
+<SMALL("/"、"#"、スペースを除く表示可能文字を含めることができます)</SMALL></TD>
 </TR>
 <TR>
 <TH CLASS="label">説明:</TH>
@@ -37,4 +37,4 @@
 </TABLE>
 
 </FORM>
-</DIV>
+</DIV>
\ No newline at end of file
index f054254..00fab5c 100644 (file)
@@ -16,7 +16,7 @@
 <TR>
 <TH CLASS="label">名前:</TH>
 <TD><INPUT TYPE="TEXT" NAME="PRINTER_NAME" SIZE="40" MAXLENGTH="127" VALUE="{?template_name}"><BR>
-<SMALL>("/"、"#"、スペースを除く文字を含めることができます)</SMALL></TD>
+<SMALL>("/"、"#"、スペースを除く表示可能文字を含めることができます)</SMALL></TD>
 </TR>
 <TR>
 <TH CLASS="label">説明:</TH>
@@ -44,4 +44,4 @@
 </TABLE>
 
 </FORM>
-</DIV>
+</DIV>
\ No newline at end of file
index e1e0229..53cb2da 100644 (file)
 <P><A HREF="/admin/">詳細 <SMALL>&#x25bc;</SMALL></A><BR>
 <INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server">
 <INPUT TYPE="HIDDEN" NAME="ADVANCEDSETTINGS" VALUE="YES">
-<INPUT TYPE="CHECKBOX" NAME="REMOTE_PRINTERS" {?remote_printers}> ほかのシステムで共有されているプリンターを表示<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;プロトコル\:
-<INPUT TYPE="CHECKBOX" NAME="BROWSE_REMOTE_CUPS" {?browse_remote_cups}> CUPS
-{HAVE_LDAP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_REMOTE_LDAP" {?browse_remote_ldap}> LDAP:}
-{HAVE_LIBSLP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_REMOTE_SLP" {?browse_remote_slp}> SLP:}<BR>
 <INPUT TYPE="CHECKBOX" NAME="SHARE_PRINTERS" {?share_printers}> このシステムに接続されているプリンターを共有<BR>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;最大クライアント数\:
 <INPUT TYPE="TEXT" NAME="MAX_CLIENTS" VALUE="{?max_clients}" SIZE="6"><BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;プロトコル\:
-<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_CUPS" {?browse_local_cups}> CUPS
-{HAVE_DNSSD?<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_DNSSD" {?browse_local_dnssd}> DNS-SD:}
-{HAVE_LDAP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_LDAP" {?browse_local_ldap}> LDAP:}
-{HAVE_LIBSLP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_SLP" {?browse_local_slp}> SLP:}<BR>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="REMOTE_ANY" {?remote_any}> インターネットからの印刷を許可<BR>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="BROWSE_WEB_IF" {?browse_web_if}> ウェブインターフェイスを公開<BR>
 <INPUT TYPE="CHECKBOX" NAME="REMOTE_ADMIN" {?remote_admin}> リモート管理を許可<BR>
 {have_gssapi?<INPUT TYPE="CHECKBOX" NAME="KERBEROS" {?kerberos}> Kerberos 認証を使用 (<A HREF="/help/kerberos.html?TOPIC=Getting+Started">FAQ</A>)<BR>:}
 <INPUT TYPE="CHECKBOX" NAME="USER_CANCEL_ANY" {?user_cancel_any}> 所有者以外のユーザーにもジョブのキャンセルを許可<BR>
-<INPUT TYPE="CHECKBOX" NAME="PRESERVE_JOB_HISTORY" {?preserve_job_history}> ジョブの履歴を保存<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;最大ジョブ数\:
+<INPUT TYPE="CHECKBOX" NAME="PRESERVE_JOBS" {?preserve_jobs}> ジョブの履歴を保存<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;最大ジョブ数 (0 は無制限)\:
 <INPUT TYPE="TEXT" NAME="MAX_JOBS" VALUE="{?max_jobs}" SIZE="6"><BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="PRESERVE_JOB_FILES" {?preserve_job_files}> ジョブの印刷ファイルを保存<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;メタデータを保持\:
+<INPUT TYPE="TEXT" NAME="PRESERVE_JOB_HISTORY" VALUE="{?preserve_job_history}" SIZE="6"><BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ドキュメントを保持\:
+<INPUT TYPE="TEXT" NAME="PRESERVE_JOB_FILES" VALUE="{?preserve_job_files}" SIZE="6"><BR>
 <INPUT TYPE="CHECKBOX" NAME="DEBUG_LOGGING" {?debug_logging}> トラブルシューティングのためにデバッグ情報を保存<BR>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;最大ログファイルサイズ\:
 <INPUT TYPE="TEXT" NAME="MAX_LOG_SIZE" VALUE="{?max_log_size}" SIZE="6"></P>
 
-:<P><B>サーバー設定\:</B></P>
+:<P><B>サーバー設定:</B></P>
 
 <P><A HREF="/admin/?ADVANCEDSETTINGS=YES">詳細 <SMALL>&#x25b6;</SMALL></A><BR>
 <INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server">
-<INPUT TYPE="CHECKBOX" NAME="REMOTE_PRINTERS" {?remote_printers}> ほかのシステムで共有されているプリンターを表示<BR>
 <INPUT TYPE="CHECKBOX" NAME="SHARE_PRINTERS" {?share_printers}> このシステムに接続されているプリンターを共有<BR>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="REMOTE_ANY" {?remote_any}> インターネットからの印刷を許可<BR>
 <INPUT TYPE="CHECKBOX" NAME="REMOTE_ADMIN" {?remote_admin}> リモート管理を許可<BR>
index 05700c3..83b1c6a 100644 (file)
@@ -1,23 +1,20 @@
 <DIV CLASS="indent">
 
-<H2 CLASS="title">{op=modify-printer?{printer_name}の変更:プリンターの追加}</H2>
+<H2 CLASS="title">{op=modify-printer?{printer_name} の変更:プリンターの追加}</H2>
 
-{CUPS_GET_DEVICES_DONE?:<P><IMG SRC="/images/wait.gif" WIDTH="16" HEIGHT="16" ALIGN="ABSMIDDLE"
-ALT="Busy Indicator"> プリンターを探しています...</P>}
-
-<FORM METHOD="POST" ACTION="/admin">
+{CUPS_GET_DEVICES_DONE?<FORM METHOD="POST" ACTION="/admin">
 <INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
 <INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
 {printer_name?<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">:}
 
 <TABLE>
 {op=add-printer?:<TR>
-<TH CLASS="label">現在の接続:</TH>
+<TH CLASS="label">現在の接続\:</TH>
 <TD><INPUT TYPE="RADIO" NAME="DEVICE_URI" VALUE="{current_device_uri}" CHECKED>
 {current_device_uri}</TD>
 </TR>}
 <TR>
-<TH CLASS="label">ローカルプリンター:</TH>
+<TH CLASS="label">ローカルプリンター\:</TH>
 <TD>
 {[device_uri]{device_class!network?<INPUT TYPE="RADIO" NAME="DEVICE_URI"
 VALUE="{device_uri}{?device_make_and_model!Unknown?|{device_make_and_model}:}">
@@ -26,7 +23,7 @@ VALUE="{device_uri}{?device_make_and_model!Unknown?|{device_make_and_model}:}">
 </TD>
 </TR>
 <TR>
-<TH CLASS="label">発見されたネットワークプリンター:</TH>
+<TH CLASS="label">発見されたネットワークプリンター\:</TH>
 <TD>
 {[device_uri]{device_class=network?{device_uri~[a-z]+://?<INPUT TYPE="RADIO" NAME="DEVICE_URI"
 VALUE="{device_uri}{?device_make_and_model!Unknown?|{device_make_and_model}:}">
@@ -36,7 +33,7 @@ VALUE="{device_uri}{?device_make_and_model!Unknown?|{device_make_and_model}:}">
 </TR>
 <TR>
 <TR>
-<TH CLASS="label">その他のネットワークプリンター:</TH>
+<TH CLASS="label">その他のネットワークプリンター\:</TH>
 <TD>
 {[device_uri]{device_class=network?{device_uri~[a-z]+://?:<INPUT TYPE="RADIO" NAME="DEVICE_URI"
 VALUE="{device_uri}{?device_make_and_model!Unknown?|{device_make_and_model}:}">
@@ -50,5 +47,7 @@ VALUE="{device_uri}{?device_make_and_model!Unknown?|{device_make_and_model}:}">
 </TR>
 </TABLE>
 
-</FORM>
-</DIV>
\ No newline at end of file
+</FORM>:<P><IMG SRC="/images/wait.gif" WIDTH="16" HEIGHT="16" ALIGN="ABSMIDDLE"
+ALT="Busy Indicator"> プリンターを探しています...</P>}
+
+</DIV>
index c800d98..7d2d923 100644 (file)
@@ -31,7 +31,7 @@
 <TR>
 <TH CLASS="label">共有:</TH>
 <TD><INPUT TYPE="HIDDEN" NAME="PRINTER_IS_SHARED" VALUE="{?printer_is_shared}">
-このプリンターを共有{?printer_is_shared=?しない:{?printer_is_shared=0?しない:する}} </TD>
+このプリンターを共有{?printer_is_shared=?しない:{?printer_is_shared=0?しない:する}}</TD>
 </TR>
 <TR>
 <TH CLASS="label">メーカー:</TH>
@@ -61,4 +61,4 @@ TYPE="FILE" NAME="PPD_FILE"></TD>
 </TABLE>
 
 </FORM>
-</DIV>
+</DIV>
\ No newline at end of file
index 20011b4..e82cece 100644 (file)
@@ -1,6 +1,6 @@
 <DIV CLASS="indent">
 
-<H2 CLASS="title">{op=modify-printer?{printer_name}の追加:プリンターの追加}</H2>
+<H2 CLASS="title">{op=modify-printer?{printer_name}の変更:プリンターの追加}</H2>
 
 <FORM METHOD="POST" ACTION="/admin" ENCTYPE="multipart/form-data">
 <INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
@@ -30,7 +30,7 @@
 <TR>
 <TH CLASS="label">共有:</TH>
 <TD><INPUT TYPE="HIDDEN" NAME="PRINTER_IS_SHARED" VALUE="{?printer_is_shared}">
-このプリンターを共有{?printer_is_shared=?しない:{?printer_is_shared=0?しない:する}} </TD>
+このプリンターを共有{?printer_is_shared=?しない:{?printer_is_shared=0?しない:する}}</TD>
 </TR>
 <TR>
 <TH CLASS="label">メーカー:</TH>
@@ -57,4 +57,4 @@ TYPE="FILE" NAME="PPD_FILE"></TD>
 </TABLE>
 
 </FORM>
-</DIV>
+</DIV>
\ No newline at end of file
index 48978ed..2c687be 100644 (file)
@@ -11,7 +11,7 @@
 <TABLE>
 <TR>
 <TH CLASS="label">接続:</TH>
-<TD><INPUT TYPE="URL" SIZE="60" MAXLENGTH="1024" NAME="DEVICE_URI" VALUE="{current_device_uri?{current_device_uri}:{device_uri}}"></TD>
+<TD><INPUT TYPE="URL" SIZE="60" MAXLENGTH="1023" NAME="DEVICE_URI" VALUE="{current_device_uri?{current_device_uri}:{device_uri}}"></TD>
 </TR>
 <TR>
 <TD></TD>
index e50b6a9..6ab315d 100644 (file)
@@ -3,7 +3,7 @@
 <H2 CLASS="title">クラス {printer_name} の削除</H2>
 
 <P><B>警告:</B> 本当にクラス 
-{printer_name} を削除してもいですか?</P>
+{printer_name} を削除してもいですか?</P>
 
 <P ALIGN="CENTER"><FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="op" VALUE="delete-class"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}"><INPUT TYPE="SUBMIT" NAME="confirm" VALUE="クラスの削除"></FORM></P>
 
index 4156937..6941321 100644 (file)
@@ -4,4 +4,4 @@
 
 <P>クラス {printer_name} は正しく削除されました。
 
-</DIV>
+</DIV>
\ No newline at end of file
index ef14ee4..be65f13 100644 (file)
@@ -2,6 +2,6 @@
 
 <H2 CLASS="title">クラス {printer_name} の変更</H2>
 
-<P>Class <A HREF="/classes/{printer_name}">{printer_name}</A> は正しく変更されました。
+<P>クラス <A HREF="/classes/{printer_name}">{printer_name}</A> は正しく変更されました。
 
-</DIV>
+</DIV>
\ No newline at end of file
index c284076..b71ea7e 100644 (file)
@@ -2,14 +2,14 @@
 <H2 CLASS="title"><A HREF="{printer_uri_supported}">{printer_name}</A>
 ({printer_state=3?待機中:{printer_state=4?処理中:停止}},
 {printer_is_accepting_jobs=0?ジョブを拒否中:ジョブを受け付け中},
-{server_is_sharing_printers=0?非:{printer_is_shared=0?非:}}共有{default_name={printer_name}?, デフォルトプリンター:})</H2>
+{server_is_sharing_printers=0?非:{printer_is_shared=0?非:}} 共有{default_name={printer_name}?, サーバーのデフォルト:})</H2>
 
 <FORM METHOD="POST" ACTION="{printer_uri_supported}" NAME="maintenance">
 <INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
 <SELECT NAME="OP" ONCHANGE="document.maintenance.submit();">
 <OPTION VALUE="">メンテナンス</OPTION>
 <OPTION VALUE="print-test-page">テストページの印刷</OPTION>
-{printer_state=5?<OPTION VALUE="start-class">クラスのé\96\8bå§\8b</OPTION>:<OPTION VALUE="stop-class">ã\82¯ã\83©ã\82¹ã\81®å\81\9cæ­¢</OPTION>}
+{printer_state=5?<OPTION VALUE="start-class">クラスのå\86\8dé\96\8b</OPTION>:<OPTION VALUE="stop-class">ã\82¯ã\83©ã\82¹ã\81®å\81\9cæ­¢</OPTION>}
 {printer_is_accepting_jobs=0?<OPTION VALUE="accept-jobs">ジョブを受け付け</OPTION>:<OPTION VALUE="reject-jobs">ジョブを拒否</OPTION>}
 <OPTION VALUE="move-jobs">すべてのジョブの移動</OPTION>
 <OPTION VALUE="purge-jobs">すべてのジョブをキャンセル</OPTION>
 <OPTION VALUE="modify-class">クラスの変更</OPTION>
 <OPTION VALUE="delete-class">クラスの削除</OPTION>
 <OPTION VALUE="set-class-options">デフォルトオプションの設定</OPTION>
-<OPTION VALUE="set-as-default">ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\83\97ã\83ªã\83³ã\82¿ã\83¼の設定</OPTION>
+<OPTION VALUE="set-as-default">ã\82µã\83¼ã\83\90ã\83¼ã\81®ã\83\87ã\83\95ã\82©ã\83«ã\83\88の設定</OPTION>
 <OPTION VALUE="set-allowed-users">許可するユーザーの設定</OPTION>
 </SELECT>
-<INPUT TYPE="SUBMIT" VALUE="Go" STYLE="display: none;">
+<INPUT TYPE="SUBMIT" VALUE="進む" STYLE="display: none;">
 </FORM>
 
 <TABLE SUMMARY="{printer_name}">
 <TR><TH ALIGN="RIGHT" VALIGN="TOP">説明:</TH><TD>{printer_info}</TD></TR>
 <TR><TH ALIGN="RIGHT" VALIGN="TOP">場所:</TH><TD>{printer_location}</TD></TR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">メンバー:</TH><TD>{?member_uris=?None:{member_uris}}</TD></TR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">メンバー:</TH><TD>{?member_uris=?なし:{member_uris}}</TD></TR>
 <TR><TH ALIGN="RIGHT" VALIGN="TOP">デフォルト:</TH><TD>job-sheets={job_sheets_default}
 media={media_default?{media_default}:unknown}
 {sides_default?sides={sides_default}:}</TD></TR>
index 82d13d6..823a832 100644 (file)
@@ -1,11 +1,11 @@
 {#printer_name=0?:
-<TABLE CLASS="list" SUMMARY="クラスのリスト">
+<TABLE CLASS="list" SUMMARY="クラスの一覧">
 <THEAD>
 <TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&amp;WHICH_JOBS={?WHICH_JOBS}&amp;FIRST={FIRST}&amp;ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>&#x25b2;</SMALL> キュー名 <SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL> キュー名 <SMALL>&#x25bc;</SMALL>}</A></TH><TH>説明</TH><TH>場所</TH><TH>メンバー</TH><TH>状態</TH></TR>
 </THEAD>
 <TBODY>
 {[printer_name]
-<TR><TD><A HREF="{printer_uri_supported}">{printer_name}</A></TD><TD>{printer_info}</TD><TD>{printer_location}</TD><TD>{?member_uris=?None:{member_uris}}</TD><TD>{printer_state=3?待機中:{printer_state=4?処理中:停止}}{printer_state_message? - "{printer_state_message}":}</TD></TR>
+<TR><TD><A HREF="{printer_uri_supported}">{printer_name}</A></TD><TD>{printer_info}</TD><TD>{printer_location}</TD><TD>{?member_uris=?なし:{member_uris}}</TD><TD>{printer_state=3?待機中:{printer_state=4?処理中:停止}}{printer_state_message? - "{printer_state_message}":}</TD></TR>
 }
 </TBODY>
 </TABLE></DIV>}
index 3b8afbf..f892335 100644 (file)
@@ -3,7 +3,7 @@
 <H2 CLASS="title">{printer_name} の {title}</H2>
 
 <P>{job_state>5?:<IMG SRC="/images/wait.gif" WIDTH="16" HEIGHT="16"
-ALIGN="ABSMIDDLE" ALT="Busy Indicator"> }プリンタージョブ
+ALIGN="ABSMIDDLE" ALT="Busy Indicator"> }ã\83\97ã\83ªã\83³ã\82¿ã\83¼ã\82³ã\83\9eã\83³ã\83\89ã\82¸ã\83§ã\83\96
 {job_state=3?ペンディング中:{job_state=4?ホールド中:
 {job_state=5?処理中:{job_state=6?停止中:
 {job_state=7?キャンセル:{job_state=8?破棄:完了}}}}}}{job_state=9?:{job_printer_state_message?,
index a05a554..dfd7dc9 100644 (file)
@@ -15,7 +15,7 @@ function reset_config()
 
 <TEXTAREA NAME="CUPSDCONF" COLS="80" ROWS="25">{CUPSDCONF}</TEXTAREA>
 
-<P><INPUT TYPE="SUBMIT" NAME="SAVECHANGES" VALUE="設定の保存">
+<P><INPUT TYPE="SUBMIT" NAME="SAVECHANGES" VALUE="変更の保存">
 <INPUT TYPE="BUTTON" VALUE="デフォルトの設定ファイルを使用"
 onClick="reset_config();"></P>
 
index 81c8fbb..89ffbae 100644 (file)
@@ -1,9 +1,9 @@
 <DIV CLASS="indent">
 
-<H2 CLASS="title">{?title} {?printer_name} エラー</H2>
+<H2 CLASS="title">{?title} {?printer_name} ã\81®ã\82¨ã\83©ã\83¼</H2>
 
 <P>エラー:</P>
 
-<BLOCKQUOTE>"{op}" は未知の操作です</BLOCKQUOTE>
+<BLOCKQUOTE>"{op}" は未知の操作です!</BLOCKQUOTE>
 
 </DIV>
index f10c388..d67ce36 100644 (file)
@@ -1,8 +1,8 @@
 <DIV CLASS="indent">
 
-<H2 CLASS="title">{?title} {?printer_name} エラー</H2>
+<H2 CLASS="title">{?title} {?printer_name} ã\81®ã\82¨ã\83©ã\83¼</H2>
 
-<P>{?message?{message}:エラー:}</P>
+<P>{?message?{message}:エラー}:</P>
 
 <BLOCKQUOTE>{error}</BLOCKQUOTE>
 
index ec64a74..71a39f1 100644 (file)
 <TR HEIGHT="36">
 <TD><A HREF="http://www.cups.org/" TARGET="_blank"><IMG
 SRC="/images/left.gif" WIDTH="64" HEIGHT="36" BORDER="0" ALT=""></A></TD>
-<TD CLASS="unsel" NOWRAP><A HREF="/">&nbsp;&nbsp;ホーム&nbsp;&nbsp;</A></TD>
-<TD CLASS="{SECTION=admin?:un}sel" NOWRAP><A HREF="/admin">&nbsp;&nbsp;管理&nbsp;&nbsp;</A></TD>
-<TD CLASS="{SECTION=classes?:un}sel" NOWRAP><A HREF="/classes/">&nbsp;&nbsp;クラス&nbsp;&nbsp;</A></TD>
-<TD CLASS="{SECTION=help?:un}sel" NOWRAP><A HREF="/help/">&nbsp;&nbsp;ヘルプ&nbsp;&nbsp;</A></TD>
-<TD CLASS="{SECTION=jobs?:un}sel" NOWRAP><A HREF="/jobs/">&nbsp;&nbsp;ジョブ&nbsp;&nbsp;</A></TD>
-<TD CLASS="{SECTION=printers?:un}sel" NOWRAP><A HREF="/printers/">&nbsp;プリンター&nbsp;</A></TD>
+<TD CLASS="unsel"><A HREF="/">&nbsp;&nbsp;ホーム&nbsp;&nbsp;</A></TD>
+<TD CLASS="{SECTION=admin?:un}sel"><A HREF="/admin">&nbsp;&nbsp;管理&nbsp;&nbsp;</A></TD>
+<TD CLASS="{SECTION=classes?:un}sel"><A HREF="/classes/">&nbsp;&nbsp;クラス&nbsp;&nbsp;</A></TD>
+<TD CLASS="{SECTION=help?:un}sel"><A HREF="/help/">&nbsp;&nbsp;ヘルプ&nbsp;&nbsp;</A></TD>
+<TD CLASS="{SECTION=jobs?:un}sel"><A HREF="/jobs/">&nbsp;&nbsp;ジョブ&nbsp;&nbsp;</A></TD>
+<TD CLASS="{SECTION=printers?:un}sel"><A HREF="/printers/">&nbsp;&nbsp;プリンター&nbsp;&nbsp;</A></TD>
 <TD CLASS="unsel" WIDTH="100%"><FORM ACTION="/help/" METHOD="GET"><INPUT
 TYPE="SEARCH" NAME="QUERY" SIZE="20" PLACEHOLDER="Search Help"
 VALUE="{SECTION=help?{?QUERY}:}" AUTOSAVE="org.cups.help" RESULTS="20"></FORM></TD>
index ee0e5f0..4a1f0ff 100644 (file)
@@ -3,7 +3,7 @@
 {TOPIC?<INPUT TYPE="HIDDEN" NAME="TOPIC" VALUE="{TOPIC}">:}
 
 <P ALIGN="CENTER"><B>
-{HELPTITLE?{HELPTITLE}:{TOPIC?{TOPIC}:すべてのドキュメント}内を検索:</B> <INPUT
+{HELPTITLE?{HELPTITLE}:{TOPIC?{TOPIC}:すべてのドキュメント}}内を検索:</B> <INPUT
 TYPE="SEARCH" NAME="QUERY" VALUE="{?QUERY}" SIZE="40" PLACEHOLDER=""
 AUTOSAVE="org.cups.help" RESULTS="20">
 <INPUT TYPE="SUBMIT" NAME="SEARCH" VALUE="検索">
@@ -12,7 +12,7 @@ AUTOSAVE="org.cups.help" RESULTS="20">
 </FORM>
 
 <!-- Bookmarks -->
-<DIV CLASS="sidebar"><TABLE CLASS="inset" SUMMARY="Contents">
+<DIV CLASS="sidebar"><TABLE CLASS="inset" SUMMARY="目次">
 <TR><TD>
 
 <H3 CLASS="title">オンラインヘルプドキュメント</H3>
@@ -25,7 +25,7 @@ AUTOSAVE="org.cups.help" RESULTS="20">
 </TD></TR>
 </TABLE></DIV>
 
-{QUERY?<P>{HELPFILE?{HELPTITLE}:{TOPIC?{TOPIC}:すべてのドキュメントの検索結果}}\:</P>
+{QUERY?<P>{HELPFILE?{HELPTITLE}:{TOPIC?{TOPIC}:すべてのドキュメント}}の検索結果\:</P>
 {QTEXT?<UL>
 {[QTEXT]<LI><A HREF="{QLINK}">{QTEXT}</A>{QPTEXT? (in <I><A HREF="{QPLINK}">{QPTEXT}</A></I>):}</LI>}
 {QTEXT?</UL>:}
@@ -41,11 +41,11 @@ AUTOSAVE="org.cups.help" RESULTS="20">
 ドキュメントリンクのいずれかをクリックしてください。</P>
 
 <P>あなたが CUPS について初心者なら、 "<a
-href="/help/overview.html">CUPS の概要</a>" を読んでください。
-上級ユーザーは、 "<a href="/help/whatsnew.html">CUPS 1.4 の新機能</a>"
-を読むべきです。</P>
-
-<P><A HREF="http://www.cups.org/">CUPS ホームページ</A> でも、ユーザー
\83\87ã\82£ã\82¹ã\82«ã\83\83ã\82·ã\83§ã\83³ã\83\95ã\82©ã\83¼ã\83©ã\83 ã\80\81FAQã\80\81ã\83\90ã\82°å ±å\91\8aã\82\84æ©\9fè\83½ã\83ªã\82¯ã\82¨ã\82¹ã\83\88ã\82\92ç\94³è«\8bã\81\99ã\82\8b
\83\95ã\82©ã\83¼ã\83 ã\81¨ã\81\84ã\81£ã\81\9fã\80\81å¤\9aã\81\8fã\81®ã\83ªã\82½ã\83¼ã\82¹ã\82\92æ\8f\90ä¾\9bã\81\97ã\81¦ã\81\84ã\81¾ã\81\99ã\80\82</P>}
-
+href="/help/overview.html">CUPS ã\81®æ¦\82è¦\81</a>" ã\83\9aã\83¼ã\82¸ã\82\92読ã\82\93ã\81§ã\81\8fã\81 ã\81\95ã\81\84ã\80\82
+上級ユーザーは、 "<a href="/help/whatsnew.html">CUPS 1.6 の新機能</a>"
\83\9aã\83¼ã\82¸ã\82\92読ã\82\80ã\81¹ã\81\8dã\81§ã\81\99ã\80\82</P>
+
+<P><A HREF="http://www.cups.org/">CUPS ホームページ</A> でも、
\83¦ã\83¼ã\82¶ã\83¼ã\83\87ã\82£ã\82¹ã\82«ã\83\83ã\82·ã\83§ã\83³ã\83\95ã\82©ã\83¼ã\83©ã\83 ã\80\81FAQã\80\81
\83\90ã\82°å ±å\91\8aã\82\84æ©\9fè\83½ã\83ªã\82¯ã\82¨ã\82¹ã\83\88ã\82\92ç\94³è«\8bã\81\99ã\82\8bã\83\95ã\82©ã\83¼ã\83 ã\81¨ã\81\84ã\81£ã\81\9fã\80\81
+多くのリソースを提供しています。</P>}
index 16e44d8..aa10295 100644 (file)
@@ -1,6 +1,6 @@
 <DIV CLASS="indent">
 
-<H2 CLASS="title">ジョブ {job_id}のキャンセル</H2>
+<H2 CLASS="title">ジョブ {job_id} のキャンセル</H2>
 
 <P><A HREF="{job_printer_uri}">ジョブ {job_id}</A> はキャンセルされました。
 
index 4aec1b2..baae237 100644 (file)
@@ -3,4 +3,5 @@
 <H2 CLASS="title">ジョブ {job_id} の保留</H2>
 
 <P><A HREF="{job_printer_uri}">ジョブ {job_id}</A> は印刷を保留されました。
+
 </DIV>
index d6b3445..c415359 100644 (file)
@@ -3,6 +3,6 @@
 <H2 CLASS="title">{job_id?ジョブ {job_id} の移動:すべてのジョブの移動}</H2>
 
 <P>{job_id?<A HREF="/jobs/{job_id}">ジョブ {job_id}</A>:すべてのジョブ} は
-<A HREF="/{is_class?classes:printers}/{job_printer_name}">{job_printer_name}</A>に移動しました。</P>
+<A HREF="/{is_class?classes:printers}/{job_printer_name}">{job_printer_name}</A> に移動しました。</P>
 
 </DIV>
index 76095b4..8c1c3a5 100644 (file)
@@ -2,4 +2,4 @@
 {?which_jobs=completed?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="which_jobs" VALUE="completed"><INPUT TYPE="SUBMIT" VALUE="完了したジョブを表示"></FORM>}
 {?which_jobs=all?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="which_jobs" VALUE="all"><INPUT TYPE="SUBMIT" VALUE="すべてのジョブを表示"></FORM>}</DIV>
 
-<P ALIGN="CENTER">{total=0?ジョブはありません:{total} 個の{?which_jobs=?アクティブな:{which_jobs=all?:完了した}}ジョブのうち {#job_id} 個を表示中}。</P>
+<P ALIGN="CENTER">{total=0?ジョブはありません:{total} 個の{?which_jobs=?アクティブな:{which_jobs=all?:完了した}}ジョブのうち {#job_id} 個を表示中}}。</P>
index bff543a..220c950 100644 (file)
@@ -1,24 +1,23 @@
 {#job_id=0?:
-<TABLE CLASS="list" SUMMARY="ジョブのリスト">
+<TABLE CLASS="list" SUMMARY="ジョブの一覧">
 <THEAD>
 <TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&amp;WHICH_JOBS={?WHICH_JOBS}&amp;FIRST={FIRST}&amp;ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>&#x25b2;</SMALL> ID <SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL> ID <SMALL>&#x25bc;</SMALL>}</A></TH><TH>名前</TH><TH>ユーザー</TH><TH>サイズ</TH><TH>ページ</TH><TH>状態</TH><TH>制御</TH></TR>
 </THEAD>
 <TBODY>
 {[job_id]
 <TR VALIGN="TOP">
-<TD><A HREF="{job_printer_uri}">{job_printer_name}</A>-{job_id}&nbsp;</TD>
+<TD><A HREF="{job_printer_uri}">{job_printer_name}</A>-{job_id}{?phone? ({phone}):}&nbsp;</TD>
 <TD>{?job_name=?未知:{job_name}}&nbsp;</TD>
-<TD>{job_originating_user_name}&nbsp;</TD>
+<TD>{?job_originating_user_name=?隠匿:{job_originating_user_name}}&nbsp;</TD>
 <TD>{job_k_octets}k&nbsp;</TD>
 <TD>{job_media_sheets_completed=0?不明:{?job_media_sheets_completed}}&nbsp;</TD>
-<TD>{job_state=3?{time_at_creation}<BR>から保留中:{job_state=4?held since<BR>{time_at_creation}:
-{job_state=5?{time_at_processing}<BR>から処理中:{job_state=6?stopped:
-{job_state=7?{time_at_completed}<BR>にキャンセル:{job_state=8?{time_at_completed}に中断:に完了}}}}}}&nbsp;{job_printer_state_message?<BR>
+<TD>{job_state=3?{time_at_creation}<BR>から保留中:{job_state=4?{time_at_creation}<BR>から保留中:
+{job_state=5?{time_at_processing}<BR>から処理中:{job_state=6?に停止:
+{job_state=7?{time_at_completed}<BR>にキャンセル:{job_state=8?に中断:{time_at_completed}<BR>に完了}}}}}}&nbsp;{job_printer_state_message?<BR>
 <EM>"{job_printer_state_message}"</EM>:}</TD>
 <TD>
 {job_preserved>0?{job_state>5?
-<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="restart-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}">
-<INPUT TYPE="SUBMIT" VALUE="ジョブの再印刷"></FORM>:}:}
+<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="restart-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}"><INPUT TYPE="SUBMIT" VALUE="ジョブの再印刷"></FORM>:}:}
 {job_state=4?
 <FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="release-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}">
 <INPUT TYPE="SUBMIT" VALUE="ジョブを解放"></FORM>:}
index d8ef5f0..009af6d 100644 (file)
@@ -1,6 +1,6 @@
 <DIV CLASS="indent">
 
-<H2 CLASS="title">プリンター {printer_name} の変更</H2>
+<H2 CLASS="title">{printer_name} の変更</H2>
 
 <FORM METHOD="POST" ACTION="/admin">
 <INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
index d6b2bf1..1045943 100644 (file)
@@ -2,6 +2,7 @@
 
 <H2 CLASS="title">{printer_name} のデフォルトオプションの設定</H2>
 
-<P>{OP=set-class-options?クラス <A HREF="/classes/{printer_name}">:プリンター <A HREF="/printers/{printer_name}">}{printer_name}</A> のデフォルトオプションは正しく設定されました。
+<P>{OP=set-class-options?クラス <A HREF="/classes/{printer_name}">:プリンター <A HREF="/printers/{printer_name}">}{printer_name}</A>
+のデフォルトオプションは正しく設定されました。
 
 </DIV>
index aa04c2e..fccfc0d 100644 (file)
@@ -6,7 +6,7 @@
 HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
 をサーバーのデフォルトプリンターに設定しました。</P>
 
-<BLOCKQUOTE><B>注意:</B> <TT>lpoptions</TT> コマンドで設定されたユーザーのデフォルトは、このサーバーのデフォルト設定を上書きします。
-</BLOCKQUOTE>
+<BLOCKQUOTE><B>注意:</B> <TT>lpoptions</TT> コマンドで設定されたユーザーのデフォルトは、
+このサーバーのデフォルト設定を上書きします。</BLOCKQUOTE>
 
 </DIV>
index 17cf44c..2f2759b 100644 (file)
@@ -3,4 +3,5 @@
 <H2 CLASS="title">プリンター {printer_name} の削除</H2>
 
 <P>プリンター {printer_name} は正しく削除されました。
+
 </DIV>
index 63997bb..a22e7da 100644 (file)
@@ -2,6 +2,7 @@
 
 <H2 CLASS="title">プリンター {printer_name} の変更</H2>
 
-<P>プリンター <A HREF="/printers/{printer_name}">{printer_name}</A> は正しく変更されました。
+<P>プリンター <A HREF="/printers/{printer_name}">{printer_name}</A>
+は正しく変更されました。
 
-</DIV>
+</DIV>
\ No newline at end of file
index 0546412..4ba6cbc 100644 (file)
@@ -1,9 +1,9 @@
 <DIV CLASS="indent">
 
-<H2 CLASS="title">{is_class?クラス:プリンター} {printer_name} ジョブの全削除</H2>
+<H2 CLASS="title">{is_class?ã\82¯ã\83©ã\82¹:ã\83\97ã\83ªã\83³ã\82¿ã\83¼} {printer_name} ã\81®ã\82¸ã\83§ã\83\96ã\81®å\85¨å\89\8aé\99¤</H2>
 
 <P>{is_class?クラス:プリンター} <A
 HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
\81¯すべてのジョブを削除しました。</P>
\81\8bã\82\89すべてのジョブを削除しました。</P>
 
-</DIV>
+</DIV>
\ No newline at end of file
index 5c0eea1..138829d 100644 (file)
@@ -6,4 +6,4 @@
 HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
 は再開しました。</P>
 
-</DIV>
+</DIV>
\ No newline at end of file
index 8499b2e..cc74c1b 100644 (file)
@@ -5,4 +5,5 @@
 <P>{is_class?クラス:プリンター} <A
 HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
 は停止しました。</P>
-</DIV>
+
+</DIV>
\ No newline at end of file
index fbd9c5a..a95b71e 100644 (file)
@@ -3,18 +3,18 @@
 <H2 CLASS="title"><A HREF="{printer_uri_supported}">{printer_name}</A>
 ({printer_state=3?待機中:{printer_state=4?処理中:一時停止中}},
 {printer_is_accepting_jobs=0?ジョブを拒否中:ジョブを受け付け中},
-{server_is_sharing_printers=0?非:{printer_is_shared=0?非:}}共有{default_name={printer_name}?, デフォルトプリンター:})</H2>
+{server_is_sharing_printers=0?非:{printer_is_shared=0?非:}} 共有{default_name={printer_name}?, サーバーのデフォルト:})</H2>
 
 <FORM METHOD="POST" ACTION="{printer_uri_supported}" NAME="maintenance">
 <INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
 <SELECT NAME="OP" ONCHANGE="document.maintenance.submit();">
 <OPTION VALUE="">メンテナンス</OPTION>
 <OPTION VALUE="print-test-page">テストページの印刷</OPTION>
-{printer_commands~.*Clean.*?<OPTION VALUE="clean-print-heads">ã\83\98ã\83\83ã\83\89クリーニング</OPTION>:}
+{printer_commands~.*Clean.*?<OPTION VALUE="clean-print-heads">ã\83\97ã\83ªã\83³ã\82¿ã\83¼ã\83\98ã\83\83ã\83\89ã\81®クリーニング</OPTION>:}
 {printer_commands~.*PrintSelfTestPage.*?<OPTION VALUE="print-self-test-page">自己テストページの印刷</OPTION>:}
 {printer_state=5?<OPTION VALUE="start-printer">プリンターを開始</OPTION>:<OPTION VALUE="stop-printer">プリンターの停止</OPTION>}
 {printer_is_accepting_jobs=0?<OPTION VALUE="accept-jobs">ジョブを受け付け</OPTION>:<OPTION VALUE="reject-jobs">ジョブを拒否</OPTION>}
-<OPTION VALUE="move-jobs">ã\81\99ã\81¹ã\81¦ã\81®ã\82¸ã\83§ã\83\96ã\82\92移動</OPTION>
+<OPTION VALUE="move-jobs">ã\81\99ã\81¹ã\81¦ã\81®ã\82¸ã\83§ã\83\96ã\81®移動</OPTION>
 <OPTION VALUE="purge-jobs">すべてのジョブをキャンセル</OPTION>
 </SELECT>
 <INPUT TYPE="SUBMIT" VALUE="Go" STYLE="display: none;">
 <OPTION VALUE="">管理</OPTION>
 <OPTION VALUE="modify-printer">プリンターの変更</OPTION>
 <OPTION VALUE="delete-printer">プリンターの削除</OPTION>
-<OPTION VALUE="set-printer-options">ã\83\97ã\83ªã\83³ã\82¿ã\83¼ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81®å¤\89æ\9b´</OPTION>
-<OPTION VALUE="set-as-default">ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\83\97ã\83ªã\83³ã\82¿ã\83¼ã\81«設定</OPTION>
+<OPTION VALUE="set-printer-options">ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81®è¨­å®\9a</OPTION>
+<OPTION VALUE="set-as-default">ã\82µã\83¼ã\83\90ã\83¼ã\81®ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81®設定</OPTION>
 <OPTION VALUE="set-allowed-users">許可するユーザーの設定</OPTION>
 </SELECT>
-<INPUT TYPE="SUBMIT" VALUE="Go" STYLE="display: none;">
+<INPUT TYPE="SUBMIT" VALUE="進む" STYLE="display: none;">
 </FORM>
 
 <TABLE SUMMARY="{printer_name}">
 <TR><TH ALIGN="RIGHT" VALIGN="TOP">説明:</TH><TD>{printer_info}</TD></TR>
 <TR><TH ALIGN="RIGHT" VALIGN="TOP">場所:</TH><TD>{printer_location}</TD></TR>
 <TR><TH ALIGN="RIGHT" VALIGN="TOP">プリンタードライバー:</TH><TD>{printer_make_and_model} ({color_supported=1?カラー:白黒}{sides_supported?, 両面可:})<BR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">接続:</TH><TD>{device_uri}</TD></TR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">接続:</TH><TD>{device_uri}</TD></TR>
 <TR><TH ALIGN="RIGHT" VALIGN="TOP">デフォルト設定:</TH><TD>バナー={job_sheets_default}
 用紙サイズ={media_default?{media_default}:unknown}
 {sides_default?両面指定={sides_default}:}</TD></TR>
 </TABLE>
 
-</DIV>
+</DIV>
\ No newline at end of file
index 3fb9a37..a8caaff 100644 (file)
@@ -1,11 +1,11 @@
 {#printer_name=0?:
-<TABLE CLASS="list" SUMMARY="Printer List">
+<TABLE CLASS="list" SUMMARY="プリンターの一覧">
 <THEAD>
-<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&amp;WHICH_JOBS={?WHICH_JOBS}&amp;FIRST={FIRST}&amp;ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>&#x25b2;</SMALL> キュー名<SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL>キュー名<SMALL>&#x25bc;</SMALL>}</A></TH><TH>説明</TH><TH>場所</TH><TH>メーカーとモデル</TH><TH>状態</TH></TR>
+<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&amp;WHICH_JOBS={?WHICH_JOBS}&amp;FIRST={FIRST}&amp;ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>&#x25b2;</SMALL> キュー名 <SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL> キュー名 <SMALL>&#x25bc;</SMALL>}</A></TH><TH>説明</TH><TH>場所</TH><TH>メーカーとモデル</TH><TH>状態</TH></TR>
 </THEAD>
 <TBODY>
 {[printer_name]
-<TR><TD><A HREF="{printer_uri_supported}">{printer_name}</A></TD><TD>{printer_info}</TD><TD>{printer_location}</TD><TD>{printer_make_and_model}</TD><TD>{printer_state=3?待機:{printer_state=4?Processing:停止中}}{printer_state_message? - "{printer_state_message}":}</TD></TR>
+<TR><TD><A HREF="{printer_uri_supported}">{printer_name}</A></TD><TD>{printer_info}</TD><TD>{printer_location}</TD><TD>{printer_make_and_model}</TD><TD>{printer_state=3?待機中:{printer_state=4?処理中:停止}}{printer_state_message? - "{printer_state_message}":}</TD></TR>
 }
 </TBODY>
 </TABLE></DIV>}
index ec74fac..d8504ef 100644 (file)
@@ -3,6 +3,6 @@
 <H2 CLASS="title">設定の変更</H2>
 
 <P><IMG SRC="/images/wait.gif" WIDTH="16" HEIGHT="16" ALIGN="ABSMIDDLE"
-ALT="Busy Indicator"> サーバーが再起動するあいだ、しばらくお待ちください...</P>
+ALT="Busy Indicator"> サーバーが再起動するしばらくお待ちください...</P>
 
 </DIV>
index 74b7991..b1d5050 100644 (file)
@@ -25,8 +25,7 @@ TARGET="_blank">error_log</A> ファイルを参照してください。</P>:
 へのエクスポートを許可します。<A
 HREF="/help/man-cupsaddsmb.html"
 TARGET="_blank">cupsaddsmb(8)</A> man ページに書かれているように、
-事前に Windows PostScript ドライバーをインストールしておく必要があります。
-</P>}
+事前に Windows PostScript ドライバーをインストールしておく必要があります。</P>}
 
 <TABLE>
 <TR>
@@ -41,11 +40,11 @@ onChange="select_printers()"> すべてのプリンターをエクスポート
 </TR>
 <TR>
 <TH CLASS="label">Samba のユーザー名:</TH>
-<TD><INPUT TYPE="TEXT" NAME="USERNAME" VALUE="{?USERNAME}"> (required)</TD>
+<TD><INPUT TYPE="TEXT" NAME="USERNAME" VALUE="{?USERNAME}"> (必須)</TD>
 </TR>
 <TR>
 <TH CLASS="label">Samba のパスワード:</TH>
-<TD><INPUT TYPE="PASSWORD" NAME="PASSWORD" VALUE=""> (required)</TD>
+<TD><INPUT TYPE="PASSWORD" NAME="PASSWORD" VALUE=""> (必須)</TD>
 </TR>
 <TR>
 <TD></TD>
index b5896f0..cd8df91 100644 (file)
@@ -1,6 +1,6 @@
 <DIV CLASS="indent">
 
-<H2 CLASS="title">{printer_name} のデフォルトオプション変更</H2>
+<H2 CLASS="title">{printer_name} のデフォルトオプション変更</H2>
 
 <FORM METHOD="POST" ACTION="/admin">
 <INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
index 123a197..e804b75 100644 (file)
@@ -1,7 +1,7 @@
 </TD></TR>
 <TR><TD>&nbsp;</TD></TR>
 <TR><TD CLASS="trailer">CUPS and the CUPS logo are trademarks of
-<A HREF="http://www.apple.com">Apple Inc.</A> CUPS is copyright 2007-2012 Apple
+<A HREF="http://www.apple.com">Apple Inc.</A> CUPS is copyright 2007-2013 Apple
 Inc. All rights reserved.</TD></TR>
 </TABLE>
 </BODY>
index 625059f..541e786 100644 (file)
@@ -6,7 +6,7 @@
 <TBODY>
 {[job_id]
 <TR VALIGN="TOP">
-<TD><A HREF="{job_printer_uri}">{job_printer_name}</A>-{job_id}&nbsp;</TD>
+<TD><A HREF="{job_printer_uri}">{job_printer_name}</A>-{job_id}{?phone? ({phone}):}&nbsp;</TD>
 <TD>{?job_name=?Unknown:{job_name}}&nbsp;</TD>
 <TD>{?job_originating_user_name=?Withheld:{job_originating_user_name}}&nbsp;</TD>
 <TD>{job_k_octets}k&nbsp;</TD>
diff --git a/templates/pl/add-class.tmpl b/templates/pl/add-class.tmpl
deleted file mode 100644 (file)
index d1f4b66..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Dodawanie klasy</H2>
-
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-
-<TABLE>
-<TR>
-<TH CLASS="label">Nazwa:</TH>
-<TD><INPUT TYPE="TEXT" NAME="PRINTER_NAME" SIZE="40" MAXLENGTH="127"><BR>
-<SMALL>(Może zawierać wszystkie drukowalne znaki, oprócz "/", "#" i spacji)</SMALL></TD>
-</TR>
-<TR>
-<TH CLASS="label">Opis:</TH>
-<TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" SIZE="40" MAXLENGTH="127"><BR>
-<SMALL>(Opis czytelny dla człowieka, taki jak "HP LaserJet z dupleksem")</SMALL></TD>
-</TR>
-<TR>
-<TH CLASS="label">Położenie:</TH>
-<TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" SIZE="40" MAXLENGTH="127"><BR>
-<SMALL>(Położenie czytelne dla człowieka, takie jak "Laboratorium 1")</SMALL></TD>
-</TR>
-<TR>
-<TH CLASS="label">Członkowie:</TH>
-<TD>
-<SELECT NAME="MEMBER_URIS" SIZE="10" MULTIPLE>
-{[member_uris]<OPTION VALUE="{member_uris}" {?member_selected}>{member_names}}
-</SELECT>
-</TD>
-</TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Dodaj klasę"></TD>
-</TR>
-</TABLE>
-
-</FORM>
-</DIV>
diff --git a/templates/pl/add-printer.tmpl b/templates/pl/add-printer.tmpl
deleted file mode 100644 (file)
index 45b50a0..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Dodawanie drukarki</H2>
-
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-<INPUT TYPE="HIDDEN" NAME="BAUDRATE" VALUE="{?baudrate}">
-<INPUT TYPE="HIDDEN" NAME="BITS" VALUE="{?bits}">
-<INPUT TYPE="HIDDEN" NAME="PARITY" VALUE="{?parity}">
-<INPUT TYPE="HIDDEN" NAME="FLOW" VALUE="{?flow}">
-{?current_make!?<INPUT TYPE="HIDDEN" NAME="CURRENT_MAKE" VALUE="{current_make}">:}
-{?current_make_and_model!?<INPUT TYPE="HIDDEN" NAME="CURRENT_MAKE_AND_MODEL" VALUE="{current_make_and_model}">:}
-
-<TABLE>
-<TR>
-<TH CLASS="label">Nazwa:</TH>
-<TD><INPUT TYPE="TEXT" NAME="PRINTER_NAME" SIZE="40" MAXLENGTH="127" VALUE="{?template_name}"><BR>
-<SMALL>(Może zawierać wszystkie drukowalne znaki, oprócz "/", "#" i spacji)</SMALL></TD>
-</TR>
-<TR>
-<TH CLASS="label">Opis:</TH>
-<TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" SIZE="40" MAXLENGTH="127" VALUE="{?PRINTER_INFO}"><BR>
-<SMALL>(Opis czytelny dla człowieka, taki jak "HP LaserJet z dupleksem")</SMALL></TD>
-</TR>
-<TR>
-<TH CLASS="label">Położenie:</TH>
-<TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" SIZE="40" MAXLENGTH="127" VALUE="{?PRINTER_LOCATION}"><BR>
-<SMALL>(Położenie czytelne dla człowieka, takie jak "Laboratorium 1")</SMALL></TD>
-</TR>
-<TR>
-<TH CLASS="label">Połączenie:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
-</TR>
-<TR>
-<TH CLASS="label">Współdzielenie:</TH>
-<TD><INPUT TYPE="CHECKBOX" NAME="PRINTER_IS_SHARED" {PRINTER_IS_SHARED=1?CHECKED:}>
-Współdzielenie tej drukarki</TD>
-</TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Kontynuuj"></TD>
-</TR>
-</TABLE>
-
-</FORM>
-</DIV>
diff --git a/templates/pl/add-rss-subscription.tmpl b/templates/pl/add-rss-subscription.tmpl
deleted file mode 100644 (file)
index f11ba61..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-rss-subscription">
-
-<H2 CLASS="title">Dodawanie subskrypcji RSS</H2>
-
-<TABLE SUMMARY="Formularz dodawania subskrypcji RSS">
-<TR>
-<TH CLASS="label">Nazwa:</TH>
-<TD COLSPAN="5"><INPUT TYPE="TEXT" NAME="SUBSCRIPTION_NAME" SIZE="40" MAXLENGTH="127" VALUE="{?SUBSCRIPTION_NAME}"><BR>
-<SMALL>(Może zawierać wszystkie drukowalne znaki, oprócz spacji, "/", "?" i "#")</SMALL></TD>
-</TR>
-<TR>
-<TH CLASS="label">Kolejka:</TH>
-<TD COLSPAN="5"><SELECT NAME="PRINTER_URI" SIZE="10"><OPTION VALUE="#ALL#"{?PRINTER_URI=#ALL#? SELECTED:}>Wszystkie kolejki</OPTION>{[printer_name]<OPTION VALUE="{printer_uri_supported}"{?PRINTER_URI={printer_uri_supported}? SELECTED:}>{printer_name}</OPTION>}</SELECT></TD>
-</TR>
-<TR VALIGN="TOP">
-<TH CLASS="label">Zdarzenia:</TH>
-<TD><INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_CREATED" {?EVENT_JOB_CREATED}>Utworzono zadanie<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_COMPLETED" {?EVENT_JOB_COMPLETED}>Ukończono zadanie<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_STOPPED" {?EVENT_JOB_STOPPED}>Zatrzymano zadanie<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_CONFIG_CHANGED" {?EVENT_JOB_CONFIG_CHANGED}>Zmieniono opcje zadania</TD>
-<TD>&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-<TD><INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_STOPPED" {?EVENT_PRINTER_STOPPED}>Zatrzymano kolejkę<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_ADDED" {?EVENT_PRINTER_ADDED}>Dodano kolejkę<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_MODIFIED" {?EVENT_PRINTER_MODIFIED}>Zmodyfikowano kolejkę<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_DELETED" {?EVENT_PRINTER_DELETED}>Usunięto kolejkę</TD>
-<TD>&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-<TD><INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_STARTED" {?EVENT_SERVER_STARTED}>Uruchomiono serwer<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_STOPPED" {?EVENT_SERVER_STOPPED}>Zatrzymano serwer<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_RESTARTED" {?EVENT_SERVER_RESTARTED}>Ponownie uruchomiono serwer<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_AUDIT" {?EVENT_SERVER_AUDIT}>Audytowanie bezpieczeństwa serwera</TD>
-</TR>
-<TR>
-<TH CLASS="label">Maksymalna liczba zdarzeń w kanale:</TH>
-<TD COLSPAN="5"><INPUT TYPE="NUMBER" NAME="MAX_EVENTS" SIZE="4" MAXLENGTH="4" VALUE="{MAX_EVENTS?{MAX_EVENTS}:20}"></TD>
-</TR>
-<TR>
-<TD></TD>
-<TD COLSPAN="5"><INPUT TYPE="SUBMIT" VALUE="Dodaj subskrypcję RSS"></TD>
-</TR>
-</TABLE>
-
-</FORM>
diff --git a/templates/pl/admin.tmpl b/templates/pl/admin.tmpl
deleted file mode 100644 (file)
index b997357..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-<TABLE CLASS="indent" SUMMARY="Zadania administracji">
-<TR><TD VALIGN="TOP">
-
-<H2 CLASS="title">Drukarki</H2>
-
-<P>
-<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-printer"><INPUT TYPE="SUBMIT" VALUE="Dodawanie drukarki"></FORM>
-<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="find-new-printers"><INPUT TYPE="SUBMIT" VALUE="Wyszukiwanie nowych drukarek"></FORM>
-<FORM ACTION="/printers/" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Zarządzanie drukarkami"></FORM>
-{have_samba?<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="export-samba"><INPUT TYPE="SUBMIT" VALUE="Eksportowanie drukarek do Samby"></FORM>:}
-</P>
-
-<H2 CLASS="title">Klasy</H2>
-
-<P>
-<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-class"><INPUT TYPE="SUBMIT" VALUE="Dodawanie klasy"></FORM>
-<FORM ACTION="/classes/" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Zarządzanie klasami"></FORM>
-</P>
-
-<H2 CLASS="title">Zadania</H2>
-
-<P>
-<FORM ACTION="/jobs/" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Zarządzanie zadaniami"></FORM>
-</P>
-
-</TD><TD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD><TD VALIGN="TOP">
-
-<H2 CLASS="title">Serwery</H2>
-
-<P>
-<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server"><INPUT TYPE="SUBMIT" VALUE="Modyfikowanie pliku konfiguracji"></FORM>
-<FORM ACTION="/admin/log/access_log" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Przeglądanie dziennika dostępu"></FORM>
-<FORM ACTION="/admin/log/error_log" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Przeglądanie dziennika błędów"></FORM>
-<FORM ACTION="/admin/log/page_log" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Przeglądanie dziennika stron"></FORM>
-</P>
-
-{SETTINGS_ERROR?<P>{SETTINGS_MESSAGE}</P>
-<BLOCKQUOTE>{SETTINGS_ERROR}</BLOCKQUOTE>:
-
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-
-{ADVANCEDSETTINGS?<P><B>Ustawienia serwera\:</B></P>
-
-<P><A HREF="/admin/">Zaawansowane <SMALL>&#x25bc;</SMALL></A><BR>
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server">
-<INPUT TYPE="HIDDEN" NAME="ADVANCEDSETTINGS" VALUE="YES">
-<INPUT TYPE="CHECKBOX" NAME="REMOTE_PRINTERS" {?remote_printers}> Wyświetlanie drukarek współdzielonych przez inne systemy<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Protokoły\:
-<INPUT TYPE="CHECKBOX" NAME="BROWSE_REMOTE_CUPS" {?browse_remote_cups}> CUPS
-{HAVE_LDAP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_REMOTE_LDAP" {?browse_remote_ldap}> LDAP:}
-{HAVE_LIBSLP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_REMOTE_SLP" {?browse_remote_slp}> SLP:}<BR>
-<INPUT TYPE="CHECKBOX" NAME="SHARE_PRINTERS" {?share_printers}> Współdzielenie drukarek podłączonych do tego systemu<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Maksymalna liczba klientów\:
-<INPUT TYPE="TEXT" NAME="MAX_CLIENTS" VALUE="{?max_clients}" SIZE="6"><BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Protokoły\:
-<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_CUPS" {?browse_local_cups}> CUPS
-{HAVE_DNSSD?<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_DNSSD" {?browse_local_dnssd}> DNS-SD:}
-{HAVE_LDAP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_LDAP" {?browse_local_ldap}> LDAP:}
-{HAVE_LIBSLP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_SLP" {?browse_local_slp}> SLP:}<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="REMOTE_ANY" {?remote_any}> Zezwolenie na drukowanie z Internetu<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="BROWSE_WEB_IF" {?browse_web_if}> Rozgłaszanie interfejsu WWW<BR>
-<INPUT TYPE="CHECKBOX" NAME="REMOTE_ADMIN" {?remote_admin}> Zezwolenie na zdalną administrację<BR>
-{have_gssapi?<INPUT TYPE="CHECKBOX" NAME="KERBEROS" {?kerberos}> Używanie uwierzytelniania Kerberosa (<A HREF="/help/kerberos.html?TOPIC=Getting+Started">FAQ</A>)<BR>:}
-<INPUT TYPE="CHECKBOX" NAME="USER_CANCEL_ANY" {?user_cancel_any}> Zezwolenie użytkownikom na anulowanie każdego zadania (nie tylko ich własnego)<BR>
-<INPUT TYPE="CHECKBOX" NAME="PRESERVE_JOB_HISTORY" {?preserve_job_history}> Przechowywanie plików zadań<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Liczba zadań\:
-<INPUT TYPE="TEXT" NAME="MAX_JOBS" VALUE="{?max_jobs}" SIZE="6"><BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="PRESERVE_JOB_FILES" {?preserve_job_files}> Przechowywanie plików wydruków zadań<BR>
-<INPUT TYPE="CHECKBOX" NAME="DEBUG_LOGGING" {?debug_logging}> Zapisywanie informacji debugowania do naprawiania problemów<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Maksymalny rozmiar pliku dziennika\:
-<INPUT TYPE="TEXT" NAME="MAX_LOG_SIZE" VALUE="{?max_log_size}" SIZE="6"></P>
-
-:<P><B>Ustawienia serwera:</B></P>
-
-<P><A HREF="/admin/?ADVANCEDSETTINGS=YES">Zaawansowane <SMALL>&#x25b6;</SMALL></A><BR>
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server">
-<INPUT TYPE="CHECKBOX" NAME="REMOTE_PRINTERS" {?remote_printers}> Wyświetlanie drukarek współdzielonych przez inne systemy<BR>
-<INPUT TYPE="CHECKBOX" NAME="SHARE_PRINTERS" {?share_printers}> Współdzielenie drukarek połączonych do tego systemu<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="REMOTE_ANY" {?remote_any}> Zezwolenie na drukowanie z Internetu<BR>
-<INPUT TYPE="CHECKBOX" NAME="REMOTE_ADMIN" {?remote_admin}> Zezwolenie na zdalną administrację<BR>
-{have_gssapi?<INPUT TYPE="CHECKBOX" NAME="KERBEROS" {?kerberos}> Używanie uwierzytelniania Kerberosa (<A HREF="/help/kerberos.html?TOPIC=Getting+Started">FAQ</A>)<BR>:}
-<INPUT TYPE="CHECKBOX" NAME="USER_CANCEL_ANY" {?user_cancel_any}> Zezwolenie użytkownikom na anulowanie każdego zadania (nie tylko ich własnego)<BR>
-<INPUT TYPE="CHECKBOX" NAME="DEBUG_LOGGING" {?debug_logging}> Zapisywanie informacji debugowania do naprawiania problemów</P>
-
-}
-<P><INPUT TYPE="SUBMIT" NAME="CHANGESETTINGS" VALUE="Zmień ustawienia"></P>
-
-</FORM>}
-
-</TD></TR>
-</TABLE>
-
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Subskrypcje RSS</H2>
-
-<P>
-<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-rss-subscription"><INPUT TYPE="SUBMIT" VALUE="Dodawanie subskrypcji RSS"></FORM>
-</P>
-
-</DIV>
-
-{notify_subscription_id?<TABLE CLASS="list" SUMMARY="Subskrypcje RSS">
-<THEAD><TR><TH>Name</TH><TH>Zdarzenia</TH><TH>Nazwa kolejki</TH></TR></THEAD>
-<TBODY>{[notify_subscription_id]
-<TR><TD><A HREF="{notify_recipient_uri}">{notify_recipient_name}</A><BR>
-<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="cancel-subscription"><INPUT TYPE="HIDDEN" NAME="notify_subscription_id" VALUE="{notify_subscription_id}"><INPUT TYPE="SUBMIT" VALUE="Anuluj subskrypcję RSS"></FORM>&nbsp;</TD><TD>{notify_events}</TD><TD NOWRAP>&nbsp;{notify_printer_name?{notify_printer_name}:Wszystkie kolejki}</TD></TR>}
-</TBODY>
-</TABLE>:}
diff --git a/templates/pl/choose-device.tmpl b/templates/pl/choose-device.tmpl
deleted file mode 100644 (file)
index 4457456..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{op=modify-printer?Modyfikowanie {printer_name}:Dodawanie drukarki}</H2>
-
-{CUPS_GET_DEVICES_DONE?:<P><IMG SRC="/images/wait.gif" WIDTH="16" HEIGHT="16" ALIGN="ABSMIDDLE"
-ALT="Busy Indicator"> Wyszukiwanie drukarek...</P>}
-
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-{printer_name?<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">:}
-
-<TABLE>
-{op=add-printer?:<TR>
-<TH CLASS="label">Bieżące połączenie:</TH>
-<TD><INPUT TYPE="RADIO" NAME="DEVICE_URI" VALUE="{current_device_uri}" CHECKED>
-{current_device_uri}</TD>
-</TR>}
-<TR>
-<TH CLASS="label">Lokalne drukarki:</TH>
-<TD>
-{[device_uri]{device_class!network?<INPUT TYPE="RADIO" NAME="DEVICE_URI"
-VALUE="{device_uri}{?device_make_and_model!Unknown?|{device_make_and_model}:}">
-{device_info} {?device_make_and_model!Unknown?({device_make_and_model}):}<BR>
-:}}
-</TD>
-</TR>
-<TR>
-<TH CLASS="label">Wykryte drukarki sieciowe:</TH>
-<TD>
-{[device_uri]{device_class=network?{device_uri~[a-z]+://?<INPUT TYPE="RADIO" NAME="DEVICE_URI"
-VALUE="{device_uri}{?device_make_and_model!Unknown?|{device_make_and_model}:}">
-{device_info} {?device_make_and_model!Unknown?({device_make_and_model}):}<BR>
-:}:}}
-</TD>
-</TR>
-<TR>
-<TR>
-<TH CLASS="label">Inne drukarki sieciowe:</TH>
-<TD>
-{[device_uri]{device_class=network?{device_uri~[a-z]+://?:<INPUT TYPE="RADIO" NAME="DEVICE_URI"
-VALUE="{device_uri}{?device_make_and_model!Unknown?|{device_make_and_model}:}">
-{device_info} {?device_make_and_model!Unknown?({device_make_and_model}):}<BR>
-}:}}
-</TD>
-</TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Kontynuuj"></TD>
-</TR>
-</TABLE>
-
-</FORM>
-</DIV>
diff --git a/templates/pl/choose-make.tmpl b/templates/pl/choose-make.tmpl
deleted file mode 100644 (file)
index c0ec622..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{op=modify-printer?Modify {printer_name}:Dodawanie drukarki}</H2>
-
-<FORM METHOD="POST" ACTION="/admin" ENCTYPE="multipart/form-data">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-{printer_name?<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">:}
-<INPUT TYPE="HIDDEN" NAME="BAUDRATE" VALUE="{?baudrate}">
-<INPUT TYPE="HIDDEN" NAME="BITS" VALUE="{?bits}">
-<INPUT TYPE="HIDDEN" NAME="PARITY" VALUE="{?parity}">
-<INPUT TYPE="HIDDEN" NAME="FLOW" VALUE="{?flow}">
-
-<TABLE>
-{op=modify-printer?:<TR>
-<TH CLASS="label">Nazwa:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">{printer_name}</TD>
-</TR>}
-<TR>
-<TH CLASS="label">Opis:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_INFO" VALUE="{printer_info}">{printer_info}</TD>
-</TR>
-<TR>
-<TH CLASS="label">Położenie:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_LOCATION" VALUE="{printer_location}">{printer_location}</TD>
-</TR>
-<TR>
-<TH CLASS="label">Połączenie:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
-</TR>
-<TR>
-<TH CLASS="label">Współdzielenie:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_IS_SHARED" VALUE="{?printer_is_shared}">
-{?printer_is_shared=?Do Not:{?printer_is_shared=0?Do Not:}} Współdzielenie tej drukarki</TD>
-</TR>
-<TR>
-<TH CLASS="label">Producent:</TH>
-<TD>
-<SELECT NAME="PPD_MAKE" SIZE="10">
-{[ppd_make]<OPTION VALUE="{ppd_make}" {?current_make={ppd_make}?SELECTED:}>{ppd_make}}
-</SELECT>
-</TD>
-</TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Kontynuuj"></TD>
-</TR>
-<TR>
-<TD></TD>
-<TD>&nbsp;</TD>
-</TR>
-<TR>
-<TH CLASS="label">Lub podaj plik PPD:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="MAX_FILE_SIZE" VALUE="262144"><INPUT
-TYPE="FILE" NAME="PPD_FILE"></TD>
-</TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="{op=add-printer?Dodaj drukarkę:Zmodyfikuj drukarkę}"></TD>
-</TR>
-</TABLE>
-
-</FORM>
-</DIV>
diff --git a/templates/pl/choose-model.tmpl b/templates/pl/choose-model.tmpl
deleted file mode 100644 (file)
index 9438cee..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{op=modify-printer?Modyfikowanie {printer_name}:Dodawanie drukarki}</H2>
-
-<FORM METHOD="POST" ACTION="/admin" ENCTYPE="multipart/form-data">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-{printer_name?<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">:}
-<INPUT TYPE="HIDDEN" NAME="BAUDRATE" VALUE="{?baudrate}">
-<INPUT TYPE="HIDDEN" NAME="BITS" VALUE="{?bits}">
-<INPUT TYPE="HIDDEN" NAME="PARITY" VALUE="{?parity}">
-<INPUT TYPE="HIDDEN" NAME="FLOW" VALUE="{?flow}">
-<TABLE>
-{op=modify-printer?:<TR>
-<TH CLASS="label">Nazwa:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">{printer_name}</TD>
-</TR>}
-<TR>
-<TH CLASS="label">Opis:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_INFO" VALUE="{printer_info}">{printer_info}</TD>
-</TR>
-<TR>
-<TH CLASS="label">Położenie:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_LOCATION" VALUE="{printer_location}">{printer_location}</TD>
-</TR>
-<TR>
-<TH CLASS="label">Połączenie:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
-</TR>
-<TR>
-<TH CLASS="label">Współdzielenie:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_IS_SHARED" VALUE="{?printer_is_shared}">
-{?printer_is_shared=?Nie:{?printer_is_shared=0?Nie:}} współdziel tej drukarki</TD>
-</TR>
-<TR>
-<TH CLASS="label">Producent:</TH>
-<TD>{PPD_MAKE} <INPUT TYPE="SUBMIT" NAME="SELECT_MAKE" VALUE="Wybierz innego producenta"></TD>
-</TR>
-<TR>
-<TH CLASS="label">Model:</TH>
-<TD>
-<SELECT NAME="PPD_NAME" SIZE="10">
-{op=add-printer?:<OPTION VALUE="__no_change__" SELECTED>Bieżący sterownik - {current_make_and_model}</OPTION>:}
-{[ppd_name]<OPTION VALUE="{ppd_name}" {op=modify-printer?:{?current_make_and_model={ppd_make_and_model}?SELECTED:}}>{ppd_make_and_model} ({ppd_natural_language})
-}</SELECT>
-</TD>
-</TR>
-<TR>
-<TH CLASS="label">Lub podaj plik PPD:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="MAX_FILE_SIZE" VALUE="262144"><INPUT
-TYPE="FILE" NAME="PPD_FILE"></TD>
-</TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="{op=add-printer?Dodaj drukarkę:Zmodyfikuj drukarkę}"></TD>
-</TR>
-</TABLE>
-
-</FORM>
-</DIV>
diff --git a/templates/pl/choose-serial.tmpl b/templates/pl/choose-serial.tmpl
deleted file mode 100644 (file)
index 8bbf8c8..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{op=modify-printer?Modyfikowanie {printer_name}:Dodawanie drukarki}</H2>
-
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-{printer_name?<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">:}
-
-<TABLE>
-<TR>
-<TH CLASS="label">Połączenie:</TH>
-<TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
-</TR>
-<TR>
-<TH CLASS="label">Prędkość w baudach:</TH>
-<TD><SELECT NAME="BAUDRATE">
-{[baudrates]<OPTION {?baudrate={baudrates}?SELECTED:}>{baudrates}}
-</SELECT></TD>
-</TR>
-<TR>
-<TH CLASS="label">Równorzędność:</TH>
-<TD><SELECT NAME="PARITY">
-<OPTION VALUE="none" {?parity=none?SELECTED:}>None
-<OPTION VALUE="even" {?parity=even?SELECTED:}>Even
-<OPTION VALUE="odd" {?parity=odd?SELECTED:}>Odd
-</SELECT></TD>
-</TR>
-<TR>
-<TH CLASS="label">Bity danych:</TH>
-<TD><SELECT NAME="BITS">
-<OPTION {?bits=8?SELECTED:}>8
-<OPTION {?bits=7?SELECTED:}>7
-</SELECT></TD>
-</TR>
-<TR>
-<TH CLASS="label">Kontrola przepływu:</TH>
-<TD><SELECT NAME="FLOW">
-<OPTION VALUE="none" {?flow=none?SELECTED:}>Brak
-<OPTION VALUE="soft" {?flow=soft?SELECTED:}>XON/XOFF (programowa)
-<OPTION VALUE="hard" {?flow=hard?SELECTED:}>RTS/CTS (sprzętowa)
-<OPTION VALUE="dtrdsr" {?flow=dtrdsr?SELECTED:}>DTR/DSR (sprzętowa)
-</SELECT></TD>
-</TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Kontynuuj"></TD>
-</TR>
-</TABLE>
-
-</FORM>
-</DIV>
diff --git a/templates/pl/choose-uri.tmpl b/templates/pl/choose-uri.tmpl
deleted file mode 100644 (file)
index 88201b9..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{op=modify-printer?Modyfikowanie {printer_name}:Dodawanie drukarki}</H2>
-
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-{printer_name?<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">:}
-<INPUT TYPE="HIDDEN" NAME="CURRENT_MAKE_AND_MODEL" VALUE="{?current_make_and_model}">
-
-<TABLE>
-<TR>
-<TH CLASS="label">Połączenie:</TH>
-<TD><INPUT TYPE="URL" SIZE="60" MAXLENGTH="1024" NAME="DEVICE_URI" VALUE="{current_device_uri?{current_device_uri}:{device_uri}}"></TD>
-</TR>
-<TR>
-<TD></TD>
-<TD>Przykłady:
-<PRE>
-    http://nazwakomputera:631/ipp/
-    http://nazwakomputera:631/ipp/port1
-
-    ipp://nazwakomputera/ipp/
-    ipp://nazwakomputera/ipp/port1
-
-    lpd://nazwakomputera/kolejka
-
-    socket://nazwakomputera
-    socket://nazwakomputera:9100
-</PRE>
-
-<P>Proszę zobaczyć <A HREF="/help/network.html" TARGET="_blank">"Drukarki
-sieciowe"</A>, aby uzyskać poprawne URI dla drukarki.</P>
-
-</TD>
-</TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Kontynuuj"></TD>
-</TR>
-</TABLE>
-
-</FORM>
-</DIV>
diff --git a/templates/pl/class-added.tmpl b/templates/pl/class-added.tmpl
deleted file mode 100644 (file)
index 2bee7d8..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Dodawanie klasy</H2>
-
-<P>Klasa <A HREF="/classes/{printer_name}">{printer_name}</A> została pomyślnie
-dodana.
-
-</DIV>
diff --git a/templates/pl/class-confirm.tmpl b/templates/pl/class-confirm.tmpl
deleted file mode 100644 (file)
index 55cb5ed..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Usuwanie klasy {printer_name}</H2>
-
-<P><B>Ostrzeżenie:</B> Usunąć klasę
-{printer_name}?</P>
-
-<P ALIGN="CENTER"><FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="op" VALUE="delete-class"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}"><INPUT TYPE="SUBMIT" NAME="confirm" VALUE="Usuń klasę"></FORM></P>
-
-</DIV>
diff --git a/templates/pl/class-deleted.tmpl b/templates/pl/class-deleted.tmpl
deleted file mode 100644 (file)
index 1a78c90..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Usuwanie klasy {printer_name}</H2>
-
-<P>Klasa {printer_name} została pomyślnie usunięta.
-
-</DIV>
diff --git a/templates/pl/class-jobs-header.tmpl b/templates/pl/class-jobs-header.tmpl
deleted file mode 100644 (file)
index 83dcfbc..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<DIV CLASS="indent">
-<H3 CLASS="title">Zadania</H3>
-</DIV>
diff --git a/templates/pl/class-modified.tmpl b/templates/pl/class-modified.tmpl
deleted file mode 100644 (file)
index be91caa..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Modyfikowanie klasy {printer_name}</H2>
-
-<P>Klasa <A HREF="/classes/{printer_name}">{printer_name}</A> została
-pomyślnie zmodyfikowana.
-
-</DIV>
diff --git a/templates/pl/class.tmpl b/templates/pl/class.tmpl
deleted file mode 100644 (file)
index 5c015ac..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-<DIV CLASS="indent">
-<H2 CLASS="title"><A HREF="{printer_uri_supported}">{printer_name}</A>
-({printer_state=3?Bezczynna:{printer_state=4?Przetwarzanie:Wstrzymane}},
-{printer_is_accepting_jobs=0?Odrzucanie zadań:Akceptowanie zadań},
-{server_is_sharing_printers=0?Nie:{printer_is_shared=0?Nie:}} Współdzielona{default_name={printer_name}?, Domyślne serwera:})</H2>
-
-<FORM METHOD="POST" ACTION="{printer_uri_supported}" NAME="maintenance">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<SELECT NAME="OP" ONCHANGE="document.maintenance.submit();">
-<OPTION VALUE="">Konserwacja</OPTION>
-<OPTION VALUE="print-test-page">Drukowanie strony próbnej</OPTION>
-{printer_state=5?<OPTION VALUE="start-class">Wznów klasę</OPTION>:<OPTION VALUE="stop-class">Wstrzymaj klasę</OPTION>}
-{printer_is_accepting_jobs=0?<OPTION VALUE="accept-jobs">Akceptuj zadania</OPTION>:<OPTION VALUE="reject-jobs">Odrzucaj zadania</OPTION>}
-<OPTION VALUE="move-jobs">Przenieś wszystkie zadania</OPTION>
-<OPTION VALUE="purge-jobs">Anuluj wszystkie zadania</OPTION>
-</SELECT>
-<INPUT TYPE="SUBMIT" VALUE="Przejdź" STYLE="display: none;">
-</FORM>
-
-<FORM METHOD="POST" ACTION="{admin_uri}" NAME="administration">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">
-<INPUT TYPE="HIDDEN" NAME="IS_CLASS" VALUE="1">
-<SELECT NAME="OP" ONCHANGE="document.administration.submit();">
-<OPTION VALUE="">Administracja</OPTION>
-<OPTION VALUE="modify-class">Zmodyfikuj klasę</OPTION>
-<OPTION VALUE="delete-class">Usuń klasę</OPTION>
-<OPTION VALUE="set-class-options">Ustaw domyślne opcje</OPTION>
-<OPTION VALUE="set-as-default">Ustaw jako domyślne serwera</OPTION>
-<OPTION VALUE="set-allowed-users">Ustaw zezwolonych użytkowników</OPTION>
-</SELECT>
-<INPUT TYPE="SUBMIT" VALUE="Przejdź" STYLE="display: none;">
-</FORM>
-
-<TABLE SUMMARY="{printer_name}">
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Opis:</TH><TD>{printer_info}</TD></TR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Położenie:</TH><TD>{printer_location}</TD></TR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Członkowie:</TH><TD>{?member_uris=?None:{member_uris}}</TD></TR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Domyślne:</TH><TD>job-sheets={job_sheets_default}
-media={media_default?{media_default}:unknown}
-{sides_default?sides={sides_default}:}</TD></TR>
-</TABLE>
-
-</DIV>
diff --git a/templates/pl/classes-header.tmpl b/templates/pl/classes-header.tmpl
deleted file mode 100644 (file)
index 8482fd1..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<P ALIGN="CENTER">{total=0?Brak klas:Wyświetlanie {#printer_name} z {total} klas{total=1?:es}}.</P>
diff --git a/templates/pl/classes.tmpl b/templates/pl/classes.tmpl
deleted file mode 100644 (file)
index 1d8c766..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-{#printer_name=0?:
-<TABLE CLASS="list" SUMMARY="Lista klas">
-<THEAD>
-<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&amp;WHICH_JOBS={?WHICH_JOBS}&amp;FIRST={FIRST}&amp;ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>&#x25b2;</SMALL> Nazwa kolejki <SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL> Nazwa kolejki <SMALL>&#x25bc;</SMALL>}</A></TH><TH>Opis</TH><TH>Położenie</TH><TH>Members</TH><TH>Stan</TH></TR>
-</THEAD>
-<TBODY>
-{[printer_name]
-<TR><TD><A HREF="{printer_uri_supported}">{printer_name}</A></TD><TD>{printer_info}</TD><TD>{printer_location}</TD><TD>{?member_uris=?Brak:{member_uris}}</TD><TD>{printer_state=3?Idle:{printer_state=4?Przetwarzanie:Wstrzymane}}{printer_state_message? - "{printer_state_message}":}</TD></TR>
-}
-</TBODY>
-</TABLE></DIV>}
diff --git a/templates/pl/command.tmpl b/templates/pl/command.tmpl
deleted file mode 100644 (file)
index 9a87439..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{title} On {printer_name}</H2>
-
-<P>{job_state>5?:<IMG SRC="/images/wait.gif" WIDTH="16" HEIGHT="16"
-ALIGN="ABSMIDDLE" ALT="Busy Indicator"> }Printer command job
-{job_state=3?pending:{job_state=4?held:
-{job_state=5?processing:{job_state=6?stopped:
-{job_state=7?canceled:{job_state=8?aborted:completed}}}}}}{job_state=9?:{job_printer_state_message?,
-<EM>"{job_printer_state_message}"</EM>:}}</P>
-
-</DIV>
diff --git a/templates/pl/error-op.tmpl b/templates/pl/error-op.tmpl
deleted file mode 100644 (file)
index b9e5f71..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{?title} {?printer_name} Błąd</H2>
-
-<P>Błąd:</P>
-
-<BLOCKQUOTE>Nieznana operacja "{op}"!</BLOCKQUOTE>
-
-</DIV>
diff --git a/templates/pl/error.tmpl b/templates/pl/error.tmpl
deleted file mode 100644 (file)
index f999293..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{?title} {?printer_name} Błąd</H2>
-
-<P>{?message?{message}:Błąd:}</P>
-
-<BLOCKQUOTE>{error}</BLOCKQUOTE>
-
-</DIV>
diff --git a/templates/pl/header.tmpl.in b/templates/pl/header.tmpl.in
deleted file mode 100644 (file)
index ca1774b..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<HTML>
-<HEAD>
-       <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
-       <TITLE>{title} - CUPS @CUPS_VERSION@@CUPS_REVISION@</TITLE>
-       <LINK REL="STYLESHEET" TYPE="text/css" HREF="/cups.css">
-       <LINK REL="SHORTCUT ICON" HREF="/images/cups-icon.png" TYPE="image/png">
-       {refresh_page?<META HTTP-EQUIV="Refresh" CONTENT="{refresh_page}">:}
-</HEAD>
-<BODY>
-<TABLE CLASS="page" SUMMARY="{title}">
-<TR><TD CLASS="body">
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
-<TR HEIGHT="36">
-<TD><A HREF="http://www.cups.org/" TARGET="_blank"><IMG
-SRC="/images/left.gif" WIDTH="64" HEIGHT="36" BORDER="0" ALT=""></A></TD>
-<TD CLASS="unsel"><A HREF="/">&nbsp;&nbsp;Strona domowa&nbsp;&nbsp;</A></TD>
-<TD CLASS="{SECTION=admin?:un}sel"><A HREF="/admin">&nbsp;&nbsp;Administracja&nbsp;&nbsp;</A></TD>
-<TD CLASS="{SECTION=classes?:un}sel"><A HREF="/classes/">&nbsp;&nbsp;Klasy&nbsp;&nbsp;</A></TD>
-<TD CLASS="{SECTION=help?:un}sel"><A HREF="/help/">&nbsp;&nbsp;Pomoc&nbsp;online&nbsp;&nbsp;</A></TD>
-<TD CLASS="{SECTION=jobs?:un}sel"><A HREF="/jobs/">&nbsp;&nbsp;Zadania&nbsp;&nbsp;</A></TD>
-<TD CLASS="{SECTION=printers?:un}sel"><A HREF="/printers/">&nbsp;&nbsp;Drukarki&nbsp;&nbsp;</A></TD>
-<TD CLASS="unsel" WIDTH="100%"><FORM ACTION="/help/" METHOD="GET"><INPUT
-TYPE="SEARCH" NAME="QUERY" SIZE="20" PLACEHOLDER="Search Help"
-VALUE="{SECTION=help?{?QUERY}:}" AUTOSAVE="org.cups.help" RESULTS="20"></FORM></TD>
-<TD><IMG SRC="/images/right.gif" WIDTH="4" HEIGHT="36" ALT=""></TD>
-</TR>
-<TR><TD COLSPAN="9">&nbsp;</TD></TR>
-</TABLE>
diff --git a/templates/pl/help-header.tmpl b/templates/pl/help-header.tmpl
deleted file mode 100644 (file)
index 98b2167..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-<DIV CLASS="indent">
-<FORM ACTION="/help/{?HELPFILE}" METHOD="GET">
-{TOPIC?<INPUT TYPE="HIDDEN" NAME="TOPIC" VALUE="{TOPIC}">:}
-
-<P ALIGN="CENTER"><B>Wyszukaj w
-{HELPTITLE?{HELPTITLE}:{TOPIC?{TOPIC}:Wszystkie dokumenty}}:</B> <INPUT
-TYPE="SEARCH" NAME="QUERY" VALUE="{?QUERY}" SIZE="40" PLACEHOLDER=""
-AUTOSAVE="org.cups.help" RESULTS="20">
-<INPUT TYPE="SUBMIT" NAME="SEARCH" VALUE="Znajdź">
-<INPUT TYPE="SUBMIT" NAME="CLEAR" VALUE="Wyczyść"></P>
-
-</FORM>
-
-<!-- Zakładki -->
-<DIV CLASS="sidebar"><TABLE CLASS="inset" SUMMARY="Zawartość">
-<TR><TD>
-
-<H3 CLASS="title">Dokumenty pomocy online</H3>
-
-<P CLASS="l0"><A HREF="/help/{QUERY??QUERY={QUERY}:}">Wszystkie dokumenty</A></P>
-<HR>
-
-{[BMTEXT]<P CLASS="l{BMINDENT}"><A HREF="{BMLINK}">{BMTEXT}</A></P>
-}
-</TD></TR>
-</TABLE></DIV>
-
-{QUERY?<P>Wyniki wyszukiwania w {HELPFILE?{HELPTITLE}:{TOPIC?{TOPIC}:Wszystkie dokumenty}}\:</P>
-{QTEXT?<UL>
-{[QTEXT]<LI><A HREF="{QLINK}">{QTEXT}</A>{QPTEXT? (in <I><A HREF="{QPLINK}">{QPTEXT}</A></I>):}</LI>}
-{QTEXT?</UL>:}
-:<P>Nie znaleziono.</P>}
-<HR NOSHADE>:}
-{HELPTITLE?<H1>{HELPTITLE}</H1>
-<FORM ACTION="/help/{?HELPFILE}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="PRINTABLE" VALUE="YES"><INPUT TYPE="SUBMIT" VALUE="Wyświetl wersję do druku"></FORM>:
-
-<H1>Pomoc online</H1>
-
-<P>To jest interfejs pomocy online CUPS. Należy podać wyszukiwane słowa
-powyżej lub kliknąć jeden z odnośników do dokumentacji, aby wyświetlić
-informacje o pomocy online.</P>
-
-<P>Nowi użytkownicy CUPS powinni przeczytać stronę "<a
-href="/help/overview.html">Przegląd CUPS</a>". Zaawansowani użytkownicy
-powinni przeczytać stronę "<a href="/help/whatsnew.html">Co nowego w CUPS
-1.4</a>".</P>
-
-<P><A HREF="http://www.cups.org/">Strona domowa CUPS</A> także
-dostarcza wiele zasobów, w tym fora dyskusyjne użytkowników, odpowiedzi
-na najczęściej zadawane pytania oraz formularz do wysyłania raportów
-błędów i próśb o nowe funkcje.</P>}
diff --git a/templates/pl/job-cancel.tmpl b/templates/pl/job-cancel.tmpl
deleted file mode 100644 (file)
index bcfffcf..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Anulowanie zadania {job_id}</H2>
-
-<P><A HREF="{job_printer_uri}">Zadanie {job_id}</A> zostało anulowane.
-
-</DIV>
diff --git a/templates/pl/job-hold.tmpl b/templates/pl/job-hold.tmpl
deleted file mode 100644 (file)
index 8827d9e..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Wstrzymywanie zadania {job_id}</H2>
-
-<P><A HREF="{job_printer_uri}">Drukowanie zadania {job_id}</A> zostało wstrzymane.
-
-</DIV>
diff --git a/templates/pl/job-move.tmpl b/templates/pl/job-move.tmpl
deleted file mode 100644 (file)
index bd77bee..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<DIV CLASS="indent">
-
-<FORM METHOD="POST" ACTION="/{SECTION}/{job_id?:{printer_name}}">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
-{job_id?<INPUT TYPE="HIDDEN" NAME="JOB_ID" VALUE="{job_id}">:}
-
-<H2 CLASS="title">{job_id?Przenoszenie zadanie {job_id}:Przenoszenie wszystkich zadań}</H2>
-
-<TABLE>
-<TR>
-<TH CLASS="label">Nowe miejsce docelowe:</TH>
-<TD>
-<SELECT NAME="JOB_PRINTER_URI" SIZE="10">
-{[job_printer_uri]<OPTION VALUE="{job_printer_uri}">{job_printer_name}}
-</SELECT>
-</TD>
-</TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="{job_id?Przenieś zadanie:Przenieś zadania}"></TD>
-</TR>
-</TABLE>
-
-</FORM>
-
-</DIV>
diff --git a/templates/pl/job-moved.tmpl b/templates/pl/job-moved.tmpl
deleted file mode 100644 (file)
index bd3db76..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">{job_id?Przenoszenie zadania {job_id}:Przenoszenie wszystkich zadań}</H2>
-
-<P>{job_id?<A HREF="/jobs/{job_id}">Zadanie {job_id}</A>:Wszystkie zadania} zostało przeniesione do
-<A HREF="{job_printer_uri}">{job_printer_name}</A>.</P>
-
-</DIV>
diff --git a/templates/pl/job-release.tmpl b/templates/pl/job-release.tmpl
deleted file mode 100644 (file)
index 09bffda..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Zwalnianie zadania {job_id}</H2>
-
-<P><A HREF="{job_printer_uri}">Drukowanie zadania {job_id}</A> zostało zwolnione.
-
-</DIV>
diff --git a/templates/pl/job-restart.tmpl b/templates/pl/job-restart.tmpl
deleted file mode 100644 (file)
index 6edf8b2..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Ponowne drukowanie zadania {job_id}</H2>
-
-<P><A HREF="{job_printer_uri}">Zadanie {job_id}</A> zostało ponownie uruchomione.
-
-</DIV>
diff --git a/templates/pl/jobs-header.tmpl b/templates/pl/jobs-header.tmpl
deleted file mode 100644 (file)
index ea8718d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<DIV CLASS="indent">{?which_jobs=?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Wyświetl aktywne zadania"></FORM>}
-{?which_jobs=completed?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="which_jobs" VALUE="completed"><INPUT TYPE="SUBMIT" VALUE="Wyświetl zakończone zadania"></FORM>}
-{?which_jobs=all?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="which_jobs" VALUE="all"><INPUT TYPE="SUBMIT" VALUE="Wyświetl wszystkie zadania"></FORM>}</DIV>
-
-<P ALIGN="CENTER">{total=0?Brak zadań:Wyświetlanie {#job_id} z {total} {?which_jobs=?aktywnych:{which_jobs=all?:zakończonych}} zadań{total=1?:s}}.</P>
diff --git a/templates/pl/jobs.tmpl b/templates/pl/jobs.tmpl
deleted file mode 100644 (file)
index 665bdff..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-{#job_id=0?:
-<TABLE CLASS="list" SUMMARY="Lista zadań">
-<THEAD>
-<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&amp;WHICH_JOBS={?WHICH_JOBS}&amp;FIRST={FIRST}&amp;ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>&#x25b2;</SMALL> Identyfikator <SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL> Identyfikator <SMALL>&#x25bc;</SMALL>}</A></TH><TH>Nazwa</TH><TH>Użytkownik</TH><TH>Rozmiar</TH><TH>Strony</TH><TH>Stan</TH><TH>Kontrola</TH></TR>
-</THEAD>
-<TBODY>
-{[job_id]
-<TR VALIGN="TOP">
-<TD><A HREF="{job_printer_uri}">{job_printer_name}</A>-{job_id}&nbsp;</TD>
-<TD>{?job_name=?Unknown:{job_name}}&nbsp;</TD>
-<TD>{job_originating_user_name}&nbsp;</TD>
-<TD>{job_k_octets}k&nbsp;</TD>
-<TD>{job_media_sheets_completed=0?Unknown:{?job_media_sheets_completed}}&nbsp;</TD>
-<TD>{job_state=3?oczekiwanie od<BR>{time_at_creation}:{job_state=4?wstrzymane od<BR>{time_at_creation}:
-{job_state=5?przetwarzanie od<BR>{time_at_processing}:{job_state=6?zatrzymano:
-{job_state=7?anulowano o<BR>{time_at_completed}:{job_state=8?przerwano:zakończono o<BR>{time_at_completed}}}}}}}&nbsp;{job_printer_state_message?<BR>
-<EM>"{job_printer_state_message}"</EM>:}</TD>
-<TD>
-{job_preserved>0?{job_state>5?
-<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="restart-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}">
-<INPUT TYPE="SUBMIT" VALUE="Ponownie wydrukuj zadanie"></FORM>:}:}
-{job_state=4?
-<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="release-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}">
-<INPUT TYPE="SUBMIT" VALUE="Zwolnij zadanie"></FORM>:}
-{job_state=3?
-<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="hold-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}">
-<INPUT TYPE="SUBMIT" VALUE="Wstrzymaj zadanie"></FORM>:}
-{job_state<7?
-<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="cancel-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}">
-<INPUT TYPE="SUBMIT" VALUE="Anuluj zadanie"></FORM>
-<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="move-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="SUBMIT" VALUE="Przenieś zadanie"></FORM>:}
-&nbsp;</TD>
-</TR>
-}
-</TBODY>
-</TABLE>
-}
diff --git a/templates/pl/list-available-printers.tmpl b/templates/pl/list-available-printers.tmpl
deleted file mode 100644 (file)
index aad6a49..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Dostępne drukarki</H2>
-
-{#device_uri=0?<P>Nie znaleziono drukarek.</P>
-:<UL>{[device_uri]
-<LI><FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-printer"><INPUT TYPE="HIDDEN" NAME="TEMPLATE_NAME" VALUE="{template_name}"><INPUT TYPE="HIDDEN" NAME="PRINTER_LOCATION" VALUE="Lokalna drukarka"><INPUT TYPE="HIDDEN" NAME="PRINTER_INFO" VALUE="{device_make_and_model}"><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}"><INPUT TYPE="SUBMIT" VALUE="Dodaj tę drukarkę"></FORM>
-{device_make_and_model} ({device_info})</LI>
-}</UL>}
-
-</DIV>
diff --git a/templates/pl/norestart.tmpl b/templates/pl/norestart.tmpl
deleted file mode 100644 (file)
index d29b0f4..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Zmienianie ustawień</H2>
-
-<P>Serwer nie został ponownie uruchomiony, ponieważ nie wprowadzono żadnych zmian do
-konfiguracji...</P>
-
-</DIV>
diff --git a/templates/pl/option-conflict.tmpl b/templates/pl/option-conflict.tmpl
deleted file mode 100644 (file)
index 708ba4c..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<P><B>Błąd:</B> następujące opcje są w konflikcie ze sobą:</P>
-
-<UL>
-{[ckeyword]<LI><A HREF="#{ckeyword}">{ckeytext}</A>: {cchoice}</LI>
-}</UL>
-
-<P>Proszę zmienić jedną lub więcej opcji, aby rozwiązać konflikt.</P>
diff --git a/templates/pl/option-trailer.tmpl b/templates/pl/option-trailer.tmpl
deleted file mode 100644 (file)
index 21eec56..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-</TABLE>
-
-<P ALIGN="CENTER"><INPUT TYPE="SUBMIT" VALUE="Ustaw domyślne opcje"></P>
-
-</DIV>
diff --git a/templates/pl/printer-accept.tmpl b/templates/pl/printer-accept.tmpl
deleted file mode 100644 (file)
index 6589b60..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Akceptowanie zadań na {is_class?klasie:drukarce} {printer_name}</H2>
-
-<P>{is_class?Klasa:Drukarka} <A
-HREF="/{is_class?klasy:drukarki}/{printer_name}">{printer_name}</A>
-akceptują zadania.</P>
-
-</DIV>
diff --git a/templates/pl/printer-added.tmpl b/templates/pl/printer-added.tmpl
deleted file mode 100644 (file)
index e217ee4..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Dodawanie drukarki</H2>
-
-<P>Drukarka <A HREF="/printers/{printer_name}">{printer_name}</A> została
-pomyślnie dodana.
-
-</DIV>
diff --git a/templates/pl/printer-configured.tmpl b/templates/pl/printer-configured.tmpl
deleted file mode 100644 (file)
index 994ed34..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Ustawianie domyślnych opcji dla {printer_name}</H2>
-
-<P>Domyślne opcje {OP=set-class-options?klasy <A HREF="/classes/{printer_name}">:drukarki <A HREF="/printers/{printer_name}">}{printer_name}</A>
-zostały pomyślnie ustawione.
-
-</DIV>
diff --git a/templates/pl/printer-default.tmpl b/templates/pl/printer-default.tmpl
deleted file mode 100644 (file)
index 541de9d..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Ustawianie {is_class?klasy:drukarki} {printer_name} jako domyślnej</H2>
-
-<P>{is_class?Klasa:Drukarka} <A
-HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
-została ustawiona jako domyślna drukarka serwera.</P>
-
-<BLOCKQUOTE><B>Uwaga:</B> każda domyśla opcja użytkownika ustawiona przez
-polecenie <TT>lpoptions</TT> zostanie zastąpiona tym domyślnym
-ustawieniem.</BLOCKQUOTE>
-
-</DIV>
diff --git a/templates/pl/printer-deleted.tmpl b/templates/pl/printer-deleted.tmpl
deleted file mode 100644 (file)
index 26e170b..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Usuwanie drukarki {printer_name}</H2>
-
-<P>Drukarka {printer_name} została pomyślnie usunięta.
-
-</DIV>
diff --git a/templates/pl/printer-jobs-header.tmpl b/templates/pl/printer-jobs-header.tmpl
deleted file mode 100644 (file)
index 83dcfbc..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<DIV CLASS="indent">
-<H3 CLASS="title">Zadania</H3>
-</DIV>
diff --git a/templates/pl/printer-modified.tmpl b/templates/pl/printer-modified.tmpl
deleted file mode 100644 (file)
index 9bf074d..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Modyfikowanie drukarki {printer_name}</H2>
-
-<P>Drukarka <A HREF="/printers/{printer_name}">{printer_name}</A> została
-pomyślnie zmodyfikowana.
-
-</DIV>
diff --git a/templates/pl/printer-purge.tmpl b/templates/pl/printer-purge.tmpl
deleted file mode 100644 (file)
index 0652175..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Czyszczenie zadań na {is_class?klasie:drukarce} {printer_name}</H2>
-
-<P>{is_class?Klasa:Drukarka} <A
-HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
-została wyczyszczona ze wszystkich zadań.</P>
-
-</DIV>
diff --git a/templates/pl/printer-reject.tmpl b/templates/pl/printer-reject.tmpl
deleted file mode 100644 (file)
index 038f8ba..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Odrzucanie zadań na {is_class?klasie:drukarce} {printer_name}</H2>
-
-<P>{is_class?Klasa:Drukarka} <A
-HREF="/{is_class?Klasy:Drukarki}/{printer_name}">{printer_name}</A>
-nie akceptuje zadań.</P>
-
-</DIV>
diff --git a/templates/pl/printer-start.tmpl b/templates/pl/printer-start.tmpl
deleted file mode 100644 (file)
index e291f49..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Wznawianie {is_class?klasy:drukarki} {printer_name}</H2>
-
-<P>{is_class?Klasa:Drukarka} <A
-HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
-została wznowiona.</P>
-
-</DIV>
diff --git a/templates/pl/printer-stop.tmpl b/templates/pl/printer-stop.tmpl
deleted file mode 100644 (file)
index 06f94f6..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Wstrzymywanie {is_class?klasy:drukarki} {printer_name}</H2>
-
-<P>{is_class?Klasa:Drukarka} <A
-HREF="/{is_class?Klasy:Drukarki}/{printer_name}">{printer_name}</A>
-została wstrzymana.</P>
-
-</DIV>
diff --git a/templates/pl/printer.tmpl b/templates/pl/printer.tmpl
deleted file mode 100644 (file)
index c62b857..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title"><A HREF="{printer_uri_supported}">{printer_name}</A>
-({printer_state=3?Bezczynna:{printer_state=4?Przetwarzanie:Wstrzymana}},
-{printer_is_accepting_jobs=0?Odrzucanie zadań:Akceptowanie zadań},
-{server_is_sharing_printers=0?Nie:{printer_is_shared=0?Nie:}} Współdzielona{default_name={printer_name}?, Domyślne serwera:})</H2>
-
-<FORM METHOD="POST" ACTION="{printer_uri_supported}" NAME="maintenance">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<SELECT NAME="OP" ONCHANGE="document.maintenance.submit();">
-<OPTION VALUE="">Konserwacja</OPTION>
-<OPTION VALUE="print-test-page">Wydrukuj stronę próbną</OPTION>
-{printer_commands~.*Clean.*?<OPTION VALUE="clean-print-heads">Wyczyść głowice drukujące</OPTION>:}
-{printer_commands~.*PrintSelfTestPage.*?<OPTION VALUE="print-self-test-page">Wydrukuj własną stronę próbną</OPTION>:}
-{printer_state=5?<OPTION VALUE="start-printer">Wznów drukarkę</OPTION>:<OPTION VALUE="stop-printer">Wstrzymaj drukarkę</OPTION>}
-{printer_is_accepting_jobs=0?<OPTION VALUE="accept-jobs">Akceptuj zadania</OPTION>:<OPTION VALUE="reject-jobs">Odrzucaj zadania</OPTION>}
-<OPTION VALUE="move-jobs">Przenieś wszystkie zadania</OPTION>
-<OPTION VALUE="purge-jobs">Anuluj wszystkie zadania</OPTION>
-</SELECT>
-<INPUT TYPE="SUBMIT" VALUE="Przejdź" STYLE="display: none;">
-</FORM>
-
-<FORM METHOD="POST" ACTION="{admin_uri}" NAME="administration">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">
-<SELECT NAME="OP" ONCHANGE="document.administration.submit();">
-<OPTION VALUE="">Administracja</OPTION>
-<OPTION VALUE="modify-printer">Zmodyfikuj drukarkę</OPTION>
-<OPTION VALUE="delete-printer">Usuń drukarkę</OPTION>
-<OPTION VALUE="set-printer-options">Ustaw domyślne opcje</OPTION>
-<OPTION VALUE="set-as-default">Ustaw jako domyślne serwera</OPTION>
-<OPTION VALUE="set-allowed-users">Ustaw zezwolonych użytkowników</OPTION>
-</SELECT>
-<INPUT TYPE="SUBMIT" VALUE="Przejdź" STYLE="display: none;">
-</FORM>
-
-<TABLE SUMMARY="{printer_name}">
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Opis:</TH><TD>{printer_info}</TD></TR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Położenie:</TH><TD>{printer_location}</TD></TR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Sterownik:</TH><TD>{printer_make_and_model} ({color_supported=1?color:grayscale}{sides_supported?, 2-sided printing:})<BR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Połączenie:</TH><TD>{device_uri}</TD></TR>
-<TR><TH ALIGN="RIGHT" VALIGN="TOP">Domyślne:</TH><TD>job-sheets={job_sheets_default}
-media={media_default?{media_default}:unknown}
-{sides_default?sides={sides_default}:}</TD></TR>
-</TABLE>
-
-</DIV>
diff --git a/templates/pl/printers-header.tmpl b/templates/pl/printers-header.tmpl
deleted file mode 100644 (file)
index 6a06c7f..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<P ALIGN="CENTER">{total=0?Brak drukarek:Wyświetlanie {#printer_name} z {total} drukarek{total=1?:s}}.</P>
diff --git a/templates/pl/printers.tmpl b/templates/pl/printers.tmpl
deleted file mode 100644 (file)
index 810ecb4..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-{#printer_name=0?:
-<TABLE CLASS="list" SUMMARY="Lista drukarek">
-<THEAD>
-<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&amp;WHICH_JOBS={?WHICH_JOBS}&amp;FIRST={FIRST}&amp;ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>&#x25b2;</SMALL> Nazwa kolejki <SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL> Nazwa kolejki <SMALL>&#x25bc;</SMALL>}</A></TH><TH>Opis</TH><TH>Położenie</TH><TH>Producent i model</TH><TH>Stan</TH></TR>
-</THEAD>
-<TBODY>
-{[printer_name]
-<TR><TD><A HREF="{printer_uri_supported}">{printer_name}</A></TD><TD>{printer_info}</TD><TD>{printer_location}</TD><TD>{printer_make_and_model}</TD><TD>{printer_state=3?Bezczynna:{printer_state=4?Przetwarzanie:Wstrzymana}}{printer_state_message? - "{printer_state_message}":}</TD></TR>
-}
-</TBODY>
-</TABLE></DIV>}
diff --git a/templates/pl/restart.tmpl b/templates/pl/restart.tmpl
deleted file mode 100644 (file)
index 6965e6b..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Zmienianie ustawień</H2>
-
-<P><IMG SRC="/images/wait.gif" WIDTH="16" HEIGHT="16" ALIGN="ABSMIDDLE"
-ALT="Wskaźnik zajętości"> Proszę czekać, trwa ponowne uruchamianie serwera...</P>
-
-</DIV>
diff --git a/templates/pl/samba-export.tmpl b/templates/pl/samba-export.tmpl
deleted file mode 100644 (file)
index 691a30b..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-<SCRIPT TYPE="text/javascript"><!--
-function select_printers() {
-  var list = document.export_samba.EXPORT_NAME;
-  var sel = document.export_samba.EXPORT_ALL.checked;
-
-  for (i = 0; i < list.length; i ++) {
-    list.options[i].selected = sel;
-  }
-}
---></SCRIPT>
-
-<FORM METHOD="POST" ACTION="/admin/" NAME="export_samba">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="export-samba">
-
-<H2 CLASS="title">Eksportowanie drukarek do Samby</H2>
-
-{error?<P>Nie można wyeksportować drukarek do Samby\:</P>
-<BLOCKQUOTE>{error}</BLOCKQUOTE>
-<P>Proszę zobaczyć plik <A HREF="/admin/log/error_log"
-TARGET="_blank">error_log</A>, aby uzyskać więcej informacji.</P>:
-<P>Ta strona umożliwia wyeksportowanie drukarek do Samby, aby
-klienci Windows mogli mieć do nich dostęp przez ikonę <VAR>Otoczenie
-sieciowe</VAR> lub <VAR>Miejsca sieciowe</VAR> na pulpitach.
-Należy wcześniej zainstalować sterowniki drukarki Windows PostScript,
-tak jak opisano na stronie podręcznika <A
-HREF="/help/man-cupsaddsmb.html"
-TARGET="_blank">cupsaddsmb(8)</A>.</P>}
-
-<TABLE>
-<TR>
-<TH CLASS="label">Drukarki:</TH>
-<TD>
-<SELECT NAME="EXPORT_NAME" SIZE="10" MULTIPLE>
-{[printer_name]<OPTION VALUE="{printer_name}"{export_all? SELECTED:{printer_export? SELECTED:}}>{printer_name}}
-</SELECT><BR>
-<INPUT TYPE="CHECKBOX" NAME="EXPORT_ALL"{export_all? CHECKED:}
-onChange="select_printers()"> Wyeksportuj wszystkie drukarki
-</TD>
-</TR>
-<TR>
-<TH CLASS="label">Nazwa użytkownika Samby:</TH>
-<TD><INPUT TYPE="TEXT" NAME="USERNAME" VALUE="{?USERNAME}"> (wymagana)</TD>
-</TR>
-<TR>
-<TH CLASS="label">Hasło Samby:</TH>
-<TD><INPUT TYPE="PASSWORD" NAME="PASSWORD" VALUE=""> (wymagane)</TD>
-</TR>
-<TR>
-<TD></TD>
-<TD><INPUT TYPE="SUBMIT" VALUE="Wyeksportuj drukarki do Samby"></TD>
-</TR>
-</TABLE>
-
-</FORM>
diff --git a/templates/pl/samba-exported.tmpl b/templates/pl/samba-exported.tmpl
deleted file mode 100644 (file)
index 55ba028..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<P>Pomyślnie wyeksportowano drukarki do Samby.</P>
diff --git a/templates/pl/search.tmpl b/templates/pl/search.tmpl
deleted file mode 100644 (file)
index 0851d85..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-<FORM ACTION="/{SECTION}/{?SEARCH_DEST}" METHOD="GET">
-{WHICH_JOBS?<INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{WHICH_JOBS}">:}
-{ORDER?<INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{ORDER}">:}
-
-<P ALIGN="CENTER"><B>Znajdź w
-{SEARCH_DEST?{SEARCH_DEST}:{SECTION=classes?klasach:{SECTION=jobs?zadaniach:drukarkach}}}:</B>
-<INPUT TYPE="SEARCH" NAME="QUERY" VALUE="{?QUERY}" SIZE="40"  PLACEHOLDER="" AUTOSAVE="org.cups.{SECTION}" RESULTS="20"> <INPUT
-TYPE="SUBMIT" VALUE="Znajdź"> <INPUT TYPE="SUBMIT" NAME="CLEAR" VALUE="Wyczyść"></P>
-
-</FORM>
diff --git a/templates/pl/set-printer-options-trailer.tmpl b/templates/pl/set-printer-options-trailer.tmpl
deleted file mode 100644 (file)
index c1183e1..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-</DIV>
-
-<SCRIPT TYPE="text/javascript"><!--
-// Ukryj własne parametry opcji dla przeglądarek rozumiejących JavaScript
-var paramtables = document.getElementsByName("paramtable");
-for (var i = 0; i < paramtables.length; i++)
-{
-  var opt = paramtables[i].id.substr(0, paramtables[i].id.lastIndexOf("-"));
-  var cb = document.getElementById("select-" + opt);
-  if (cb.value != "Custom")
-    paramtables[i].style.display = "none";
-}
---></SCRIPT>
-</FORM>
-
-</DIV>
diff --git a/templates/pl/subscription-added.tmpl b/templates/pl/subscription-added.tmpl
deleted file mode 100644 (file)
index af87082..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<DIV CLASS="indent">
-
-<P>Subskrypcja {subscription_name} została pomyślnie dodana.</P>
-
-</DIV>
diff --git a/templates/pl/subscription-canceled.tmpl b/templates/pl/subscription-canceled.tmpl
deleted file mode 100644 (file)
index 58ce44c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<DIV CLASS="indent">
-
-<P>Subskrypcja #{notify_subscription_id} została usunięta.</P>
-
-</DIV>
diff --git a/templates/pl/test-page.tmpl b/templates/pl/test-page.tmpl
deleted file mode 100644 (file)
index 346a6d2..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<DIV CLASS="indent">
-
-<H2 CLASS="title">Drukowanie strony próbnej na {printer_name}</H2>
-
-<P>Wysłano stronę próbną; identyfikator zadania to <A HREF="/{SECTION}/{printer_name}">
-{printer_name}-{job_id}</A>.</P>
-
-</DIV>
diff --git a/templates/pl/trailer.tmpl b/templates/pl/trailer.tmpl
deleted file mode 100644 (file)
index 63c69a7..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-</TD></TR>
-<TR><TD>&nbsp;</TD></TR>
-<TR><TD CLASS="trailer">CUPS i logo CUPS
-są znakami handlowymi <A HREF="http://www.apple.com">Apple Inc.</A> CUPS
-copyright 2007-2012 Apple Inc. Wszystkie prawa zastrzeżone.</TD></TR>
-</TABLE>
-</BODY>
-</HTML>
diff --git a/templates/pl/users.tmpl b/templates/pl/users.tmpl
deleted file mode 100644 (file)
index 5cb7549..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-<DIV CLASS="indent">
-
-<FORM METHOD="POST" ACTION="/admin">
-<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
-<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{OP}">
-<INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">
-{IS_CLASS?<INPUT TYPE="HIDDEN" NAME="IS_CLASS" VALUE="{IS_CLASS}">:}
-
-<H2 CLASS="title">Zezwoleni użytkownicy dla {printer_name}</H2>
-
-<TABLE>
-<TR>
-<TH CLASS="label">Użytkownicy:</TH>
-<TD>
-<INPUT TYPE='TEXT' NAME='users' SIZE='60' VALUE='{?requesting_user_name_allowed}{?requesting_user_name_denied}'>
-<BR>
-<INPUT TYPE='RADIO' NAME='type' VALUE='requesting-user-name-allowed' {requesting_user_name_allowed?checked:}>Pozwól tym użytkownikom drukować
-<INPUT TYPE='RADIO' NAME='type' VALUE='requesting-user-name-denied' {requesting_user_name_denied?checked:}>Nie pozwalaj tym użytkownikom drukować
-</TD>
-</TR>
-<TR>
-<TD></TD>
-<TD>
-<INPUT TYPE="SUBMIT" VALUE="Ustaw zezwolonych użytkowników">
-</TD>
-</TR>
-</TABLE>
-
-</FORM>
-</DIV>
diff --git a/templates/ru/Makefile b/templates/ru/Makefile
deleted file mode 100644 (file)
index 4a80de1..0000000
+++ /dev/null
@@ -1,201 +0,0 @@
-#
-# "$Id: Makefile 9771 2011-05-12 05:21:56Z mike $"
-#
-#   Template makefile for CUPS.
-#
-#   Copyright 2007-2011 by Apple Inc.
-#   Copyright 1993-2007 by Easy Software Products.
-#
-#   These coded instructions, statements, and computer programs are the
-#   property of Apple Inc. and are protected by Federal copyright
-#   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
-#   which should have been included with this file.  If this file is
-#   file is missing or damaged, see the license at "http://www.cups.org/".
-#
-
-include ../Makedefs
-
-#
-# Template files...
-#
-
-FILES  =       \
-               add-class.tmpl \
-               add-printer.tmpl \
-               add-rss-subscription.tmpl \
-               admin.tmpl \
-               choose-device.tmpl \
-               choose-make.tmpl \
-               choose-model.tmpl \
-               choose-serial.tmpl \
-               choose-uri.tmpl \
-               class.tmpl \
-               class-added.tmpl \
-               class-confirm.tmpl \
-               class-deleted.tmpl \
-               class-jobs-header.tmpl \
-               class-modified.tmpl \
-               classes.tmpl \
-               classes-header.tmpl \
-               command.tmpl \
-               edit-config.tmpl \
-               error.tmpl \
-               error-op.tmpl \
-               header.tmpl \
-               help-header.tmpl \
-               help-trailer.tmpl \
-               help-printable.tmpl \
-               job-cancel.tmpl \
-               job-hold.tmpl \
-               job-move.tmpl \
-               job-moved.tmpl \
-               job-release.tmpl \
-               job-restart.tmpl \
-               jobs.tmpl \
-               jobs-header.tmpl \
-               list-available-printers.tmpl \
-               modify-class.tmpl \
-               modify-printer.tmpl \
-               norestart.tmpl \
-               option-boolean.tmpl \
-               option-conflict.tmpl \
-               option-header.tmpl \
-               option-pickmany.tmpl \
-               option-pickone.tmpl \
-               option-trailer.tmpl \
-               pager.tmpl \
-               printer.tmpl \
-               printer-accept.tmpl \
-               printer-added.tmpl \
-               printer-configured.tmpl \
-               printer-confirm.tmpl \
-               printer-default.tmpl \
-               printer-deleted.tmpl \
-               printer-jobs-header.tmpl \
-               printer-modified.tmpl \
-               printer-purge.tmpl \
-               printer-reject.tmpl \
-               printer-start.tmpl \
-               printer-stop.tmpl \
-               printers.tmpl \
-               printers-header.tmpl \
-               restart.tmpl \
-               samba-export.tmpl \
-               samba-exported.tmpl \
-               search.tmpl \
-               set-printer-options-header.tmpl \
-               set-printer-options-trailer.tmpl \
-               subscription-added.tmpl \
-               subscription-canceled.tmpl \
-               test-page.tmpl \
-               trailer.tmpl \
-               users.tmpl
-
-
-#
-# Make everything...
-#
-
-all:
-
-
-#
-# Make library targets...
-#
-
-libs:
-
-
-#
-# Make unit tests...
-#
-
-unittests:
-
-
-#
-# Clean all config and object files...
-#
-
-clean:
-
-
-#
-# Dummy depend...
-#
-
-depend:
-
-
-#
-# Install all targets...
-#
-
-install:       all install-data install-headers install-libs install-exec
-
-
-#
-# Install data files...
-#
-
-install-data: $(INSTALL_LANGUAGES)
-       $(INSTALL_DIR) -m 755 $(DATADIR)/templates
-       for file in $(FILES); do \
-               $(INSTALL_DATA) $$file $(DATADIR)/templates; \
-       done
-
-install-languages:
-       for lang in $(LANGUAGES); do \
-               if test -d $$lang; then \
-                       $(INSTALL_DIR) -m 755 $(DATADIR)/templates/$$lang; \
-                       for file in $(FILES); do \
-                               $(INSTALL_DATA) $$lang/$$file $(DATADIR)/templates/$$lang 2>/dev/null || true; \
-                       done \
-               fi \
-       done
-
-
-
-#
-# Install programs...
-#
-
-install-exec:
-
-
-#
-# Install headers...
-#
-
-install-headers:
-
-
-#
-# Install libraries...
-#
-
-install-libs:
-
-
-#
-# Uninstall files...
-#
-
-uninstall: $(UNINSTALL_LANGUAGES)
-       for file in $(FILES); do \
-               $(RM) $(DATADIR)/templates/$$file; \
-       done
-       -$(RMDIR) $(DATADIR)/templates
-
-uninstall-languages:
-       for lang in $(LANGUAGES); do \
-               for file in $(FILES); do \
-                       $(RM) $(DATADIR)/templates/$$lang/$$file; \
-               done \
-               $(RMDIR) $(DATADIR)/templates/$$lang; \
-       done
-
-
-#
-# End of "$Id: Makefile 9771 2011-05-12 05:21:56Z mike $".
-#
index 41a7f98..a119d86 100644 (file)
 <TR>
 <TH CLASS="label">Название:</TH>
 <TD><INPUT TYPE="TEXT" NAME="PRINTER_NAME" SIZE="40" MAXLENGTH="127"><BR>
-<SMALL>(может содержать любые символы кроме «/», «#» и пробела)</SMALL></TD>
+<SMALL>(может содержать любые символы, кроме "/", "#" и пробела)</SMALL></TD>
 </TR>
 <TR>
 <TH CLASS="label">Описание:</TH>
 <TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" SIZE="40" MAXLENGTH="127"><BR>
-<SMALL>(расширенное описание группы, например, «Дуплексный принтер»)</SMALL></TD>
+<SMALL>(Расширенное описание группы, например, "Дуплексный принтер")</SMALL></TD>
 </TR>
 <TR>
 <TH CLASS="label">Расположение:</TH>
 <TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" SIZE="40" MAXLENGTH="127"><BR>
-<SMALL>(меÑ\81Ñ\82оположение Ð³Ñ\80Ñ\83ппÑ\8b, Ð½Ð°Ð¿Ñ\80имеÑ\80, Â«Ð\9aабинеÑ\82 55»)</SMALL></TD>
+<SMALL>(Ð\9cеÑ\81Ñ\82оÑ\80аÑ\81положение Ð³Ñ\80Ñ\83ппÑ\8b, Ð½Ð°Ð¿Ñ\80имеÑ\80, "Ð\9aабинеÑ\82 55")</SMALL></TD>
 </TR>
 <TR>
 <TH CLASS="label">Состав группы:</TH>
@@ -37,4 +37,4 @@
 </TABLE>
 
 </FORM>
-</DIV>
+</DIV>
\ No newline at end of file
index 2d04018..6690d88 100644 (file)
 <TR>
 <TH CLASS="label">Название:</TH>
 <TD><INPUT TYPE="TEXT" NAME="PRINTER_NAME" SIZE="40" MAXLENGTH="127" VALUE="{?template_name}"><BR>
-<SMALL>(может содержать любые символы кроме «/», «#» и пробела)</SMALL></TD>
+<SMALL>(может содержать любые символы, кроме "/","#" и пробела)</SMALL></TD>
 </TR>
 <TR>
 <TH CLASS="label">Описание:</TH>
-<TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" SIZE="40" MAXLENGTH="127"><BR>
-<SMALL>(расширенное описание принтера, например, «HP LaserJet с дуплексной печатью»)</SMALL></TD>
+<TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" SIZE="40" MAXLENGTH="127" VALUE="{?PRINTER_INFO}"><BR>
+<SMALL>(расширенное описание, например, "HP LaserJet с дуплексной печатью")</SMALL></TD>
 </TR>
 <TR>
 <TH CLASS="label">Расположение:</TH>
-<TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" SIZE="40" MAXLENGTH="127"><BR>
-<SMALL>(местоположение принтера, например, «Кабинет 55»)</SMALL></TD>
+<TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" SIZE="40" MAXLENGTH="127" VALUE="{?PRINTER_LOCATION}"><BR>
+<SMALL>(месторасположение принтера, например, "Кабинет 55")</SMALL></TD>
 </TR>
 <TR>
 <TH CLASS="label">Подключение:</TH>
index 6ff4ff2..4567b92 100644 (file)
@@ -8,7 +8,7 @@
 <TR>
 <TH CLASS="label">Название:</TH>
 <TD COLSPAN="5"><INPUT TYPE="TEXT" NAME="SUBSCRIPTION_NAME" SIZE="40" MAXLENGTH="127" VALUE="{?SUBSCRIPTION_NAME}"><BR>
-<SMALL>(можеÑ\82 Ñ\81одеÑ\80жаÑ\82Ñ\8c Ð»Ñ\8eбÑ\8bе Ñ\81имволÑ\8b ÐºÑ\80оме Â«/», Â«#» и пробела)</SMALL></TD>
+<SMALL>(Ð\9cожеÑ\82 Ñ\81одеÑ\80жаÑ\82Ñ\8c Ð»Ñ\8eбÑ\8bе Ñ\81имволÑ\8b, ÐºÑ\80оме "/", "#", "?" и пробела)</SMALL></TD>
 </TR>
 <TR>
 <TH CLASS="label">Очередь:</TH>
@@ -17,9 +17,9 @@
 <TR VALIGN="TOP">
 <TH CLASS="label">События:</TH>
 <TD><INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_CREATED" {?EVENT_JOB_CREATED}>Новое задание<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_COMPLETED" {?EVENT_JOB_COMPLETED}>Ð\97адание Ð½Ð°Ð¿ÐµÑ\87аÑ\82ано<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_COMPLETED" {?EVENT_JOB_COMPLETED}>Ð\97адание Ð²Ñ\8bполнено<BR>
 <INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_STOPPED" {?EVENT_JOB_STOPPED}>Задание остановлено<BR>
-<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_CONFIG_CHANGED" {?EVENT_JOB_CONFIG_CHANGED}>Изменены параметров задания</TD>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_CONFIG_CHANGED" {?EVENT_JOB_CONFIG_CHANGED}>Изменены параметры задания</TD>
 <TD>&nbsp;&nbsp;&nbsp;&nbsp;</TD>
 <TD><INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_STOPPED" {?EVENT_PRINTER_STOPPED}>Очередь остановлена<BR>
 <INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_ADDED" {?EVENT_PRINTER_ADDED}>Очередь добавлена<BR>
index 22d9de0..ae2aab2 100644 (file)
 
 {ADVANCEDSETTINGS?<P><B>Параметры сервера\:</B></P>
 
-<P><A HREF="/admin/">Дополнительные параметры <SMALL>&#x25bc;</SMALL></A><BR>
+<P><A HREF="/admin/">Дополнительные параметры<SMALL>&#x25bc;</SMALL></A><BR>
 <INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server">
 <INPUT TYPE="HIDDEN" NAME="ADVANCEDSETTINGS" VALUE="YES">
-<INPUT TYPE="CHECKBOX" NAME="REMOTE_PRINTERS" {?remote_printers}> Показать принтеры, использующиеся в других системах<BR>
+<INPUT TYPE="CHECKBOX" NAME="SHARE_PRINTERS" {?share_printers}> Показать принтеры, использующиеся в других системах<BR>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Протоколы\:
-<INPUT TYPE="CHECKBOX" NAME="BROWSE_REMOTE_CUPS" {?browse_remote_cups}> CUPS
-{HAVE_LDAP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_REMOTE_LDAP" {?browse_remote_ldap}> LDAP:}
-{HAVE_LIBSLP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_REMOTE_SLP" {?browse_remote_slp}> SLP:}<BR>
-<INPUT TYPE="CHECKBOX" NAME="SHARE_PRINTERS" {?share_printers}> Разрешить совместный доступ к принтерам, подключенным к этой системе<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Максимальное количество клиентов\:
 <INPUT TYPE="TEXT" NAME="MAX_CLIENTS" VALUE="{?max_clients}" SIZE="6"><BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Протоколы\:
-<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_CUPS" {?browse_local_cups}> CUPS
-{HAVE_DNSSD?<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_DNSSD" {?browse_local_dnssd}> DNS-SD:}
-{HAVE_LDAP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_LDAP" {?browse_local_ldap}> LDAP:}
-{HAVE_LIBSLP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_SLP" {?browse_local_slp}> SLP:}<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="REMOTE_ANY" {?remote_any}> Разрешить печать из Интернета<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="REMOTE_ANY" {?remote_any}> Разрешить печать из интернета<BR>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="BROWSE_WEB_IF" {?browse_web_if}> Анонсировать веб-интерфейс<BR>
 <INPUT TYPE="CHECKBOX" NAME="REMOTE_ADMIN" {?remote_admin}> Разрешить удаленное администрирование<BR>
-{have_gssapi?<INPUT TYPE="CHECKBOX" NAME="KERBEROS" {?kerberos}> Разрешить аунтентификацию Kerberos (<A HREF="/help/kerberos.html?TOPIC=Getting+Started">FAQ</A>)<BR>:}
-<INPUT TYPE="CHECKBOX" NAME="USER_CANCEL_ANY" {?user_cancel_any}> Ð Ð°Ð·Ñ\80еÑ\88иÑ\82Ñ\8c Ð¿Ð¾Ð»Ñ\8cзоваÑ\82елÑ\8fм Ð¾Ñ\82менÑ\8fÑ\82Ñ\8c Ð»Ñ\8eбое Ð·Ð°Ð´Ð°Ð½Ð¸Ðµ (не Ñ\82олÑ\8cко Ð¸Ñ\85 Ñ\81обÑ\81Ñ\82венное)<BR>
-<INPUT TYPE="CHECKBOX" NAME="PRESERVE_JOB_HISTORY" {?preserve_job_history}> Вести журнал заданий<BR>
+{have_gssapi?<INPUT TYPE="CHECKBOX" NAME="KERBEROS" {?kerberos}> Разрешить аутентификацию Kerberos (<A HREF="/help/kerberos.html?TOPIC=Getting+Started">FAQ</A>)<BR>:}
+<INPUT TYPE="CHECKBOX" NAME="USER_CANCEL_ANY" {?user_cancel_any}> Ð Ð°Ð·Ñ\80еÑ\88аÑ\82Ñ\8c Ð¿Ð¾Ð»Ñ\8cзоваÑ\82елÑ\8fм Ð¾Ñ\82менÑ\8fÑ\82Ñ\8c Ð»Ñ\8eбое Ð·Ð°Ð´Ð°Ð½Ð¸Ðµ(не Ñ\82олÑ\8cко Ð¸Ñ\85 Ñ\81обÑ\81Ñ\82веннÑ\8bе)<BR>
+<INPUT TYPE="CHECKBOX" NAME="PRESERVE_JOBS" {?preserve_jobs}> Вести журнал заданий<BR>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Количество заданий\:
 <INPUT TYPE="TEXT" NAME="MAX_JOBS" VALUE="{?max_jobs}" SIZE="6"><BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="PRESERVE_JOB_FILES" {?preserve_job_files}> Сохранять содержимое заданий<BR>
-<INPUT TYPE="CHECKBOX" NAME="DEBUG_LOGGING" {?debug_logging}>Сохранять отладочную информацию в журнале<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Записывать метаданные(Retain Metadata)\:
+<INPUT TYPE="TEXT" NAME="PRESERVE_JOB_HISTORY" VALUE="{?preserve_job_history}" SIZE="6"><BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Существующие документы(Retain Documents)\:
+<INPUT TYPE="TEXT" NAME="PRESERVE_JOB_FILES" VALUE="{?preserve_job_files}" SIZE="6"><BR>
+<INPUT TYPE="CHECKBOX" NAME="DEBUG_LOGGING" {?debug_logging}> Сохранять отладочную информацию в журнале<BR>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Максимальный размер журнала ошибок\:
 <INPUT TYPE="TEXT" NAME="MAX_LOG_SIZE" VALUE="{?max_log_size}" SIZE="6"></P>
 
 
 <P><A HREF="/admin/?ADVANCEDSETTINGS=YES">Дополнительные параметры <SMALL>&#x25b6;</SMALL></A><BR>
 <INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server">
-<INPUT TYPE="CHECKBOX" NAME="REMOTE_PRINTERS" {?remote_printers}> Показать принтеры, использующиеся в других системах<BR>
 <INPUT TYPE="CHECKBOX" NAME="SHARE_PRINTERS" {?share_printers}> Разрешить совместный доступ к принтерам, подключенным к этой системе<BR>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="REMOTE_ANY" {?remote_any}> Разрешить печать из Интернета<BR>
 <INPUT TYPE="CHECKBOX" NAME="REMOTE_ADMIN" {?remote_admin}> Разрешить удаленное администрирование<BR>
-{have_gssapi?<INPUT TYPE="CHECKBOX" NAME="KERBEROS" {?kerberos}> Разрешить аунтентификацию Kerberos (<A HREF="/help/kerberos.html?TOPIC=Getting+Started">FAQ</A>)<BR>:}
-<INPUT TYPE="CHECKBOX" NAME="USER_CANCEL_ANY" {?user_cancel_any}> Разрешить пользователям отменять любое задание (не только их собственное)<BR>
+{have_gssapi?<INPUT TYPE="CHECKBOX" NAME="KERBEROS" {?kerberos}> Разрешить аутентификацию Kerberos (<A HREF="/help/kerberos.html?TOPIC=Getting+Started">FAQ</A>)<BR>:}
+<INPUT TYPE="CHECKBOX" NAME="USER_CANCEL_ANY" {?user_cancel_any}> Разрешить пользователям отменять любое задание(не только их собственные)<BR>
 <INPUT TYPE="CHECKBOX" NAME="DEBUG_LOGGING" {?debug_logging}> Сохранять отладочную информацию в журнале</P>
 
 }
index 3df36db..3472f5f 100644 (file)
@@ -2,22 +2,19 @@
 
 <H2 CLASS="title">{op=modify-printer?Изменение {printer_name}:Добавление принтера}</H2>
 
-{CUPS_GET_DEVICES_DONE?:<P><IMG SRC="/images/wait.gif" WIDTH="16" HEIGHT="16" ALIGN="ABSMIDDLE"
-ALT="Busy Indicator"> Поиск принтеров...</P>}
-
-<FORM METHOD="POST" ACTION="/admin">
+{CUPS_GET_DEVICES_DONE?<FORM METHOD="POST" ACTION="/admin">
 <INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
 <INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
 {printer_name?<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">:}
 
 <TABLE>
 {op=add-printer?:<TR>
-<TH CLASS="label">Текущее подключение:</TH>
+<TH CLASS="label">Текущее подключение\:</TH>
 <TD><INPUT TYPE="RADIO" NAME="DEVICE_URI" VALUE="{current_device_uri}" CHECKED>
 {current_device_uri}</TD>
 </TR>}
 <TR>
-<TH CLASS="label">Локальные принтеры:</TH>
+<TH CLASS="label">Локальные принтеры\:</TH>
 <TD>
 {[device_uri]{device_class!network?<INPUT TYPE="RADIO" NAME="DEVICE_URI"
 VALUE="{device_uri}{?device_make_and_model!Unknown?|{device_make_and_model}:}">
@@ -26,7 +23,7 @@ VALUE="{device_uri}{?device_make_and_model!Unknown?|{device_make_and_model}:}">
 </TD>
 </TR>
 <TR>
-<TH CLASS="label">Обнаруженные сетевые принтеры:</TH>
+<TH CLASS="label">Обнаруженные сетевые принтеры\:</TH>
 <TD>
 {[device_uri]{device_class=network?{device_uri~[a-z]+://?<INPUT TYPE="RADIO" NAME="DEVICE_URI"
 VALUE="{device_uri}{?device_make_and_model!Unknown?|{device_make_and_model}:}">
@@ -36,7 +33,7 @@ VALUE="{device_uri}{?device_make_and_model!Unknown?|{device_make_and_model}:}">
 </TR>
 <TR>
 <TR>
-<TH CLASS="label">Другие сетевые принтеры:</TH>
+<TH CLASS="label">Другие сетевые принтеры\:</TH>
 <TD>
 {[device_uri]{device_class=network?{device_uri~[a-z]+://?:<INPUT TYPE="RADIO" NAME="DEVICE_URI"
 VALUE="{device_uri}{?device_make_and_model!Unknown?|{device_make_and_model}:}">
@@ -50,5 +47,7 @@ VALUE="{device_uri}{?device_make_and_model!Unknown?|{device_make_and_model}:}">
 </TR>
 </TABLE>
 
-</FORM>
-</DIV>
\ No newline at end of file
+</FORM>:<P><IMG SRC="/images/wait.gif" WIDTH="16" HEIGHT="16" ALIGN="ABSMIDDLE"
+ALT="Busy Indicator"> Поиск принтеров...</P>}
+
+</DIV>
index a87d6bf..55b91db 100644 (file)
@@ -31,7 +31,7 @@
 <TR>
 <TH CLASS="label">Совместный доступ:</TH>
 <TD><INPUT TYPE="HIDDEN" NAME="PRINTER_IS_SHARED" VALUE="{?printer_is_shared}">
-{?printer_is_shared=?Ð\9dеÑ\82 Ñ\81овмеÑ\81Ñ\82ного Ð´Ð¾Ñ\81Ñ\82Ñ\83па:{?printer_is_shared=0?Ð\9dеÑ\82 Ñ\81овмеÑ\81Ñ\82ного Ð´Ð¾Ñ\81Ñ\82Ñ\83па:РазÑ\80еÑ\88ен совместный доступ}} к этому принтеру</TD>
+{?printer_is_shared=?Ð\9dеÑ\82 Ñ\81овмеÑ\81Ñ\82ного Ð´Ð¾Ñ\81Ñ\82Ñ\83па:{?printer_is_shared=0?Ð\9dеÑ\82 Ñ\81овмеÑ\81Ñ\82ного Ð´Ð¾Ñ\81Ñ\82Ñ\83па:РазÑ\80еÑ\88иÑ\82Ñ\8c совместный доступ}} к этому принтеру</TD>
 </TR>
 <TR>
 <TH CLASS="label">Создать:</TH>
index 9d434f1..b666329 100644 (file)
 <TR>
 <TH CLASS="label">Совместный доступ:</TH>
 <TD><INPUT TYPE="HIDDEN" NAME="PRINTER_IS_SHARED" VALUE="{?printer_is_shared}">
-{?printer_is_shared=?Нет совместного доступа:{?printer_is_shared=0?Нет совместного доступа:Разрешен совместный доступ}} к этому принтеру</TD></TR>
+{?printer_is_shared=?Нет совместного доступа:{?printer_is_shared=0?Нет совместного доступа:Разрешить совместный доступ}} к этому принтеру</TD>
+</TR>
 <TR>
 <TH CLASS="label">Создать:</TH>
-<TD>{PPD_MAKE} <INPUT TYPE="SUBMIT" NAME="SELECT_MAKE" VALUE="Выбрать модель"></TD>
+<TD>{PPD_MAKE} <INPUT TYPE="SUBMIT" NAME="SELECT_MAKE" VALUE="Ð\92Ñ\8bбÑ\80аÑ\82Ñ\8c Ð´Ñ\80Ñ\83гÑ\83Ñ\8e Ð¼Ð¾Ð´ÐµÐ»Ñ\8c"></TD>
 </TR>
 <TR>
 <TH CLASS="label">Модель:</TH>
 <TD>
 <SELECT NAME="PPD_NAME" SIZE="10">
-{op=add-printer?:<OPTION VALUE="__no_change__" SELECTED>Текущий драйвер  {current_make_and_model}</OPTION>:}
+{op=add-printer?:<OPTION VALUE="__no_change__" SELECTED>Текущий драйвер - {current_make_and_model}</OPTION>:}
 {[ppd_name]<OPTION VALUE="{ppd_name}" {op=modify-printer?:{?current_make_and_model={ppd_make_and_model}?SELECTED:}}>{ppd_make_and_model} ({ppd_natural_language})
 }</SELECT>
 </TD>
index 21e4bf8..5a953a2 100644 (file)
@@ -37,9 +37,9 @@
 <TH CLASS="label">Управление:</TH>
 <TD><SELECT NAME="FLOW">
 <OPTION VALUE="none" {?flow=none?SELECTED:}>Нет
-<OPTION VALUE="soft" {?flow=soft?SELECTED:}>XON/XOFF (программное)
-<OPTION VALUE="hard" {?flow=hard?SELECTED:}>RTS/CTS (аппаратное)
-<OPTION VALUE="dtrdsr" {?flow=dtrdsr?SELECTED:}>DTR/DSR (аппаратное)
+<OPTION VALUE="soft" {?flow=soft?SELECTED:}>XON/XOFF (Ð\9fрограммное)
+<OPTION VALUE="hard" {?flow=hard?SELECTED:}>RTS/CTS (Ð\90ппаратное)
+<OPTION VALUE="dtrdsr" {?flow=dtrdsr?SELECTED:}>DTR/DSR (Ð\90ппаратное)
 </SELECT></TD>
 </TR>
 <TR>
index 17e5e94..3c843f0 100644 (file)
@@ -11,7 +11,7 @@
 <TABLE>
 <TR>
 <TH CLASS="label">Подключение:</TH>
-<TD><INPUT TYPE="URL" SIZE="60" MAXLENGTH="1024" NAME="DEVICE_URI" VALUE="{current_device_uri?{current_device_uri}:{device_uri}}"></TD>
+<TD><INPUT TYPE="URL" SIZE="60" MAXLENGTH="1023" NAME="DEVICE_URI" VALUE="{current_device_uri?{current_device_uri}:{device_uri}}"></TD>
 </TR>
 <TR>
 <TD></TD>
@@ -29,7 +29,7 @@
     socket://hostname:9100
 </PRE>
 
-<P>Смотрите раздел «<A HREF="/help/network.html" TARGET="_blank">Сетевые принтеры</A>» для выяснения правильного адреса вашего принтера.</P>
+<P>Смотрите раздел <A HREF="/help/network.html" TARGET="_blank">"Сетевые принтеры"</A> для выяснения правильного адреса вашего принтера.</P>
 
 </TD>
 </TR>
index 298dfb9..626cfec 100644 (file)
@@ -2,6 +2,6 @@
 
 <H2 CLASS="title">Новая группа</H2>
 
-<P>Группа «<A HREF="/classes/{printer_name}">{printer_name}</A>» успешно добавлена.
+<P>Группа <A HREF="/classes/{printer_name}">{printer_name}</A> успешно добавлена.
 
 </DIV>
index 5bef5bf..0eb87ef 100644 (file)
@@ -2,8 +2,8 @@
 
 <H2 CLASS="title">Удаление группы {printer_name}</H2>
 
-<P><B>Ð\9fÑ\80едÑ\83пÑ\80еждение:</B> Ð²ы действительно хотите удалить группу
-«{printer_name}»?</P>
+<P><B>Ð\9fÑ\80едÑ\83пÑ\80еждение:</B> Ð\92ы действительно хотите удалить группу
+{printer_name}?</P>
 
 <P ALIGN="CENTER"><FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="op" VALUE="delete-class"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}"><INPUT TYPE="SUBMIT" NAME="confirm" VALUE="Удалить группу"></FORM></P>
 
index 0ddd4d5..08f5999 100644 (file)
@@ -2,6 +2,6 @@
 
 <H2 CLASS="title">Удаление группы {printer_name}</H2>
 
-<P>Группа «{printer_name}» успешно удалена.
+<P>Группа {printer_name} успешно удалена.
 
 </DIV>
\ No newline at end of file
index 94df570..986a02b 100644 (file)
@@ -2,6 +2,6 @@
 
 <H2 CLASS="title">Изменение группы {printer_name}</H2>
 
-<P>Группа «<A HREF="/classes/{printer_name}">{printer_name}</A>» успешно изменена.
+<P>Группа <A HREF="/classes/{printer_name}">{printer_name}</A> успешно изменена.
 
 </DIV>
\ No newline at end of file
index 47891ce..643cbae 100644 (file)
@@ -1,8 +1,8 @@
 <DIV CLASS="indent">
 <H2 CLASS="title"><A HREF="{printer_uri_supported}">{printer_name}</A>
-({printer_state=3?в ожидании:{printer_state=4?печать:приостановлен}},
-{printer_is_accepting_jobs=0?не Ð¿Ñ\80инимаеÑ\82 Ð·Ð°Ð´Ð°Ð½Ð¸Ñ\8f:принимает задания},
-{server_is_sharing_printers=0?нет совместного доступа:{printer_is_shared=0?нет совместного доступа:разрешен совместный доступ}})</H2>
+({printer_state=3?Idle:{printer_state=4?печать:приостановлен}},
+{printer_is_accepting_jobs=0?Ð\9dе Ð¿Ñ\80инимаеÑ\82 Ð·Ð°Ð´Ð°Ð½Ð¸Ñ\8f\9fринимает задания},
+{server_is_sharing_printers=0?нет совместного доступа:{printer_is_shared=0?нет совместного доступа:разрешен совместный доступ}} {default_name={printer_name}?, Сервер по умолчанию:})</H2>
 
 <FORM METHOD="POST" ACTION="{printer_uri_supported}" NAME="maintenance">
 <INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
@@ -17,7 +17,7 @@
 <INPUT TYPE="SUBMIT" VALUE="Сохранить" STYLE="display: none;">
 </FORM>
 
-<FORM METHOD="POST" ACTION="{admin_uri}" NAME="administration">
+<FORM METHOD="POST" ACTION="{admin_uri}" NAME="Администрирование">
 <INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
 <INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">
 <INPUT TYPE="HIDDEN" NAME="IS_CLASS" VALUE="1">
index 53b3db3..51012c5 100644 (file)
@@ -1 +1 @@
-<P ALIGN="CENTER">{total=0?Ð\9dеÑ\82 Ð³Ñ\80Ñ\83пп:Ð\93Ñ\80Ñ\83ппа {#printer_name} Ð¸Ð· {total}.</P>
+<P ALIGN="CENTER">{total=0?Ð\9dеÑ\82 Ð³Ñ\80Ñ\83пп:Ð\9fоказаÑ\82Ñ\8c {#printer_name} Ð¸Ð· {total} Ð³Ñ\80Ñ\83ппÑ\8b{total=1?:es}}.</P>
index 151ccad..5038bea 100644 (file)
@@ -5,7 +5,7 @@
 </THEAD>
 <TBODY>
 {[printer_name]
-<TR><TD><A HREF="{printer_uri_supported}">{printer_name}</A></TD><TD>{printer_info}</TD><TD>{printer_location}</TD><TD>{?member_uris=?Нет принтеров:{member_uris}}</TD><TD>{printer_state=3?В ожидании:{printer_state=4?Печатает:Приостановлена}}{printer_state_message?: {printer_state_message}:}</TD></TR>
+<TR><TD><A HREF="{printer_uri_supported}">{printer_name}</A></TD><TD>{printer_info}</TD><TD>{printer_location}</TD><TD>{?member_uris=?Нет принтеров:{member_uris}}</TD><TD>{printer_state=3?В ожидании:{printer_state=4?Печатает:Приостановлен}}{printer_state_message? - "{printer_state_message}":}</TD></TR>
 }
 </TBODY>
 </TABLE></DIV>}
index 29fce86..922976f 100644 (file)
@@ -1,9 +1,9 @@
 <DIV CLASS="indent">
 
-<H2 CLASS="title">{?title} {?printer_name} — ошибка</H2>
+<H2 CLASS="title">{?title} {?printer_name} - ошибка </H2>
 
 <P>Ошибка:</P>
 
-<BLOCKQUOTE>Неизвестная операция «{op}»!</BLOCKQUOTE>
+<BLOCKQUOTE>Неизвестная операция "{op}"!</BLOCKQUOTE>
 
 </DIV>
index 9a780b1..4a35c8f 100644 (file)
@@ -1,8 +1,8 @@
 <DIV CLASS="indent">
 
-<H2 CLASS="title">{?title} {?printer_name}  ошибка</H2>
+<H2 CLASS="title">{?title} {?printer_name} - ошибка</H2>
 
-<P>{?message?{message}:Ошибка:}</P>
+<P>{?message?{message}:Ошибка}:</P>
 
 <BLOCKQUOTE>{error}</BLOCKQUOTE>
 
index 4fbdbe0..6d16855 100644 (file)
@@ -1,8 +1,8 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <HTML>
 <HEAD>
        <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
-       <TITLE>{title}  CUPS @CUPS_VERSION@@CUPS_REVISION@</TITLE>
+       <TITLE>{title} - CUPS @CUPS_VERSION@@CUPS_REVISION@</TITLE>
        <LINK REL="STYLESHEET" TYPE="text/css" HREF="/cups.css">
        <LINK REL="SHORTCUT ICON" HREF="/images/cups-icon.png" TYPE="image/png">
        {refresh_page?<META HTTP-EQUIV="Refresh" CONTENT="{refresh_page}">:}
index 6adbae3..d618a66 100644 (file)
@@ -36,11 +36,10 @@ AUTOSAVE="org.cups.help" RESULTS="20">
 
 <H1>Справка</H1>
 
-<P>Это справка CUPS. Введите выше слова для поиска в справке и нажмите «Поиск», чтобы показать результаты поиска.</P>
+<P>Это справка CUPS. Введите выше слова для поиска в справке и нажмите "Поиск", чтобы показать результаты поиска.</P>
 
-<P>Если вы пока мало знакомы с CUPS, прочтите раздел «<a
-href="/help/overview.html">Введение в CUPS</a>». Опытные пользователи
-могут обратиться к разделу <nobr>«<a href="/help/whatsnew.html">Что нового в CUPS 1.4</a>»</nobr>.</P>
+<P>Если вы пока мало знакомы с CUPS, прочтите раздел "<a
+href="/help/overview.html">Введение в CUPS</a>". Опытные пользователи
+могут обратиться к разделу "<a href="/help/whatsnew.html">Что нового в CUPS 1.6</a>".</P>
 
-<P><A HREF="http://www.cups.org/">Веб-сайт CUPS</A> содержит большое количество ресурсов для пользователей, включая форум, ответы
-на часто задаваемые вопросы и форму для регистрации ошибок и пожеланий.</P>}
+<P><A HREF="http://www.cups.org/">Веб-сайт CUPS</A> так же содержит большое количество ресурсов для пользователей, включая форум, ответы на часто задаваемые вопросы и форму для регистрации ошибок и пожеланий.</P>}
index 1755491..e5bd656 100644 (file)
@@ -2,6 +2,7 @@
 
 <H2 CLASS="title">{job_id?Перемещение задания {job_id}:Перемещение всех заданий}</H2>
 
-<P>{job_id?<A HREF="/jobs/{job_id}">Задание {job_id}</A>:Все задания} перемещены на принтер «<A HREF="{job_printer_uri}">{job_printer_name}</A>».</P>
+<P>{job_id?<A HREF="/jobs/{job_id}">Задание {job_id}</A>:Все задания} перемещены на
+<A HREF="/{is_class?группы:принтеры}/{job_printer_name}">{job_printer_name}</A>.</P>
 
 </DIV>
index 876c85b..1cad15a 100644 (file)
@@ -2,6 +2,6 @@
 
 <H2 CLASS="title">Разблокирование задания {job_id}</H2>
 
-<P><A HREF="{job_printer_uri}">Задания {job_id}</A> разблокировано.
+<P><A HREF="{job_printer_uri}">Задание {job_id}</A> разблокировано.
 
 </DIV>
index d9ee960..7b645b5 100644 (file)
@@ -2,5 +2,4 @@
 {?which_jobs=completed?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="which_jobs" VALUE="completed"><INPUT TYPE="SUBMIT" VALUE="Показать завершенные задания"></FORM>}
 {?which_jobs=all?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="which_jobs" VALUE="all"><INPUT TYPE="SUBMIT" VALUE="Показать все задания"></FORM>}</DIV>
 
-<P ALIGN="CENTER">{total=0?Нет заданий:Задание {#job_id} из {total} {?which_jobs=?активных:{which_jobs=all?:завершенных}}.</P>
-
+<P ALIGN="CENTER">{total=0?Нет заданий:Задание {#job_id} из {total} {?which_jobs=?активных:{which_jobs=all?:завершенных}}}.</P>
index c2226f6..ce80fdb 100644 (file)
@@ -6,9 +6,9 @@
 <TBODY>
 {[job_id]
 <TR VALIGN="TOP">
-<TD><A HREF="{job_printer_uri}">{job_printer_name}</A>-{job_id}&nbsp;</TD>
+<TD><A HREF="{job_printer_uri}">{job_printer_name}</A>-{job_id}{?phone? ({phone}):}&nbsp;</TD>
 <TD>{?job_name=?Неизвестное:{job_name}}&nbsp;</TD>
-<TD>{job_originating_user_name}&nbsp;</TD>
+<TD>{?job_originating_user_name=?Приостановлено пользователем:{job_originating_user_name}}&nbsp;</TD>
 <TD>{job_k_octets}k&nbsp;</TD>
 <TD>{job_media_sheets_completed=0?Неизвестно:{?job_media_sheets_completed}}&nbsp;</TD>
 <TD>{job_state=3?В очереди<BR>{time_at_creation}:{job_state=4?Приостановлено с<BR>{time_at_creation}:
@@ -17,8 +17,7 @@
 <EM>"{job_printer_state_message}"</EM>:}</TD>
 <TD>
 {job_preserved>0?{job_state>5?
-<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="restart-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}">
-<INPUT TYPE="SUBMIT" VALUE="Перезапустить"></FORM>:}:}
+<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="restart-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}"><INPUT TYPE="SUBMIT" VALUE="Перезапустить"></FORM>:}:}
 {job_state=4?
 <FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="release-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}">
 <INPUT TYPE="SUBMIT" VALUE="Продолжить"></FORM>:}
index 1615628..90d3c94 100644 (file)
@@ -4,7 +4,7 @@
 
 {#device_uri=0?<P>Не обнаружено ни одного принтера.</P>
 :<UL>{[device_uri]
-<LI><FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-printer"><INPUT TYPE="HIDDEN" NAME="TEMPLATE_NAME" VALUE="{template_name}"><INPUT TYPE="HIDDEN" NAME="PRINTER_LOCATION" VALUE="СеÑ\82евой принтер"><INPUT TYPE="HIDDEN" NAME="PRINTER_INFO" VALUE="{device_make_and_model}"><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}"><INPUT TYPE="SUBMIT" VALUE="Добавить этот принтер"></FORM>
+<LI><FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-printer"><INPUT TYPE="HIDDEN" NAME="TEMPLATE_NAME" VALUE="{template_name}"><INPUT TYPE="HIDDEN" NAME="PRINTER_LOCATION" VALUE="Ð\9bокалÑ\8cнÑ\8bй принтер"><INPUT TYPE="HIDDEN" NAME="PRINTER_INFO" VALUE="{device_make_and_model}"><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}"><INPUT TYPE="SUBMIT" VALUE="Добавить этот принтер"></FORM>
 {device_make_and_model} ({device_info})</LI>
 }</UL>}
 
index 6277b5d..8ec523f 100644 (file)
 <TR>
 <TH CLASS="label">Описание:</TH>
 <TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" VALUE="{?printer_info}" SIZE="40" MAXLENGTH="127"><BR>
-<SMALL>(расширенное описание принтера, например, «HP LaserJet с дуплексной печатью»)</SMALL></TD>
+<SMALL>(расширенное описание принтера, например,  "HP LaserJet с дуплексной печатью")</SMALL></TD>
 </TR>
 <TR>
 <TH CLASS="label">Расположение:</TH>
 <TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" VALUE="{?printer_location}" SIZE="40" MAXLENGTH="127"><BR>
-<SMALL>(местоположение принтера, например, «Кабинет 55»)</SMALL></TD>
+<SMALL>(местоположение принтера, например, "Кабинет 55")</SMALL></TD>
 </TR>
 <TR>
 <TH CLASS="label">Подключение:</TH>
index 0b74c03..a08a467 100644 (file)
@@ -2,6 +2,6 @@
 
 <H2 CLASS="title">Применение изменений</H2>
 
-<P>Сервер не был перезапущен, поскольку не произошло изменений в конфигурации...</P>
+<P>Сервер не был перезапущен,поскольку не произошло изменений в конфигурации...</P>
 
 </DIV>
index 15a3142..f80e946 100644 (file)
@@ -2,4 +2,4 @@
 
 <P ALIGN="CENTER"><INPUT TYPE="SUBMIT" VALUE="Сохранить параметры по умолчанию"></P>
 
-</DIV>
+</DIV>
\ No newline at end of file
index fb1d2fa..3c5dc62 100644 (file)
@@ -1,6 +1,6 @@
 <TABLE CLASS="inset" SUMMARY="Просмотр по страницам">
 <TR>
-       <TD WIDTH="50%">{PREV?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{?ORDER}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{PREV}"><INPUT TYPE="SUBMIT" VALUE="&#x25c0; Ð\9fÑ\80едворительный просмотр"></FORM>:&nbsp;}</TD>
+       <TD WIDTH="50%">{PREV?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{?ORDER}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{PREV}"><INPUT TYPE="SUBMIT" VALUE="&#x25c0; Ð\9fÑ\80едварительный просмотр"></FORM>:&nbsp;}</TD>
        <TD WIDTH="50%" ALIGN="RIGHT">{NEXT?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{?ORDER}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{NEXT}"><INPUT TYPE="SUBMIT" VALUE="Показать следующую &#x25b6;"></FORM>:&nbsp;}</TD>
 </TR>
 </TABLE>
index eda0748..cc78407 100644 (file)
@@ -1,8 +1,7 @@
 <DIV CLASS="indent">
 
-<H2 CLASS="title">Ð\94обавление Ð¿Ñ\80инÑ\82еÑ\80а</H2>
+<H2 CLASS="title">Ð\94обавиÑ\82Ñ\8c Ð¿Ñ\80инÑ\82еÑ\80</H2>
 
-<P>Принтер «<A HREF="/printers/{printer_name}">{printer_name}</A>» успешно
-добавлен.
+<P>Принтер <A HREF="/printers/{printer_name}">{printer_name}</A> успешно добавлен.
 
 </DIV>
index c57356d..86b6360 100644 (file)
@@ -3,7 +3,7 @@
 <H2 CLASS="title">Удаление принтера {printer_name}</H2>
 
 <P><B>Предупреждение:</B> вы действительно хотите удалить принтер
-«{printer_name}»?</P>
+{printer_name}?</P>
 
 <P ALIGN="CENTER"><FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="delete-printer"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}"><INPUT TYPE="SUBMIT" NAME="confirm" VALUE="Удалить принтер"></FORM></P>
 
index 6297d79..474f4b8 100644 (file)
@@ -6,7 +6,7 @@
 HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
 установлены на сервере по умолчанию для новых заданий.</P>
 
-<BLOCKQUOTE><B>Примечание:</B> вы можете переопределить это поведение с помощью команды
- <TT>lpoptions</TT>.</BLOCKQUOTE>
+<BLOCKQUOTE><B>Примечания:</B> вы можете переопределить это поведение с помощью команды
+the <TT>lpoptions</TT>.</BLOCKQUOTE>
 
 </DIV>
index 97fd8bd..43593c7 100644 (file)
@@ -2,6 +2,6 @@
 
 <H2 CLASS="title">Удаление принтера {printer_name}</H2>
 
-<P>Принтер «{printer_name}» успешно удален.
+<P>Принтер {printer_name} успешно удален.
 
 </DIV>
index be27e5e..21c502f 100644 (file)
@@ -2,7 +2,6 @@
 
 <H2 CLASS="title">Изменение принтера {printer_name}</H2>
 
-<P>Параметры принтера «<A HREF="/printers/{printer_name}">{printer_name}</A>» успешно
-изменены.
+<P>Параметры принтера <A HREF="/printers/{printer_name}">{printer_name}</A> успешно изменены.
 
 </DIV>
\ No newline at end of file
index 44fda0d..c2768c8 100644 (file)
@@ -2,8 +2,8 @@
 
 <H2 CLASS="title">Очистка всех заданий для {is_class?группы:принтера} {printer_name}</H2>
 
-<P>Все задания для {is_class?группы:принтера} «<A
-HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>»
+<P>Все задания для {is_class?группы:принтера} <A
+HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
 очищены.</P>
 
-</DIV>
+</DIV>
\ No newline at end of file
index 488203c..012e161 100644 (file)
@@ -2,8 +2,8 @@
 
 <H2 CLASS="title">Отмена заданий для {is_class?группы:принтера} {printer_name}</H2>
 
-<P>{is_class?Группа:Принтер} «<A
-HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>»
+<P>{is_class?Группа:Принтер} <A
+HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
 больше не принимает задания.</P>
 
 </DIV>
index 69ffa7e..cb02c79 100644 (file)
@@ -2,8 +2,8 @@
 
 <H2 CLASS="title">Возобновить работу {is_class?группы:принтера} {printer_name}</H2>
 
-<P>{is_class?Группа:Принтер} «<A
-HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>»
+<P>{is_class?Группа:Принтер} <A
+HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
 теперь принимают задания.</P>
 
-</DIV>
+</DIV>
\ No newline at end of file
index 3fecd1e..d9fa7fc 100644 (file)
@@ -2,8 +2,8 @@
 
 <H2 CLASS="title">Приостановить {is_class?группу:принтер} {printer_name}</H2>
 
-<P>{is_class?Группа:Принтер} «<A
-HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>»
+<P>{is_class?Группа:Принтер} <A
+HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
 {is_class?была приостановлена:был приостановлен}.</P>
 
-</DIV>
+</DIV>
\ No newline at end of file
index 5128d00..90bc7b3 100644 (file)
@@ -3,7 +3,7 @@
 <H2 CLASS="title"><A HREF="{printer_uri_supported}">{printer_name}</A>
 ({printer_state=3?в ожидании:{printer_state=4?печать:приостановлен}},
 {printer_is_accepting_jobs=0?не принимает задания:принимает задания},
-{server_is_sharing_printers=0?нет совместного доступа:{printer_is_shared=0?нет совместного доступа:разрешен совместный доступ}})</H2>
+{server_is_sharing_printers=0?нет совместного доступа:{printer_is_shared=0?нет совместного доступа:разрешен совместный доступ}} {default_name={printer_name}?, По умолчанию:})</H2>
 
 <FORM METHOD="POST" ACTION="{printer_uri_supported}" NAME="maintenance">
 <INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
@@ -12,7 +12,7 @@
 <OPTION VALUE="print-test-page">Печать пробной страницы</OPTION>
 {printer_commands~.*Clean.*?<OPTION VALUE="clean-print-heads">Очистить головки</OPTION>:}
 {printer_commands~.*PrintSelfTestPage.*?<OPTION VALUE="print-self-test-page">Печать пробной страницы принтера</OPTION>:}
-{printer_state=5?<OPTION VALUE="start-printer">Возобновить печать</OPTION>:<OPTION VALUE="stop-printer">Приостановить принтер</OPTION>}
+{printer_state=5?<OPTION VALUE="start-printer">Восстановить печать</OPTION>:<OPTION VALUE="stop-printer">Приостановить принтер</OPTION>}
 {printer_is_accepting_jobs=0?<OPTION VALUE="accept-jobs">Принимать задания</OPTION>:<OPTION VALUE="reject-jobs">Не принимать задания</OPTION>}
 <OPTION VALUE="move-jobs">Переместить все задания</OPTION>
 <OPTION VALUE="purge-jobs">Закрыть все задания</OPTION>
@@ -44,4 +44,4 @@ media={media_default?{media_default}:неизвестный}
 {sides_default?sides={sides_default}:}</TD></TR>
 </TABLE>
 
-</DIV>
+</DIV>
\ No newline at end of file
index 8662459..6621e06 100644 (file)
@@ -1 +1 @@
-<P ALIGN="CENTER">{total=0?Нет принтеров:Принтер {#printer_name} из {total}.</P>
+<P ALIGN="CENTER">{total=0?Нет принтеров:Принтер {#printer_name} из {total}}.</P>
index 6946586..79feae5 100644 (file)
@@ -5,7 +5,7 @@
 </THEAD>
 <TBODY>
 {[printer_name]
-<TR><TD><A HREF="{printer_uri_supported}">{printer_name}</A></TD><TD>{printer_info}</TD><TD>{printer_location}</TD><TD>{printer_make_and_model}</TD><TD>{printer_state=3?В ожидании:{printer_state=4?Печатает:Приостановлен}}{printer_state_message?: {printer_state_message}:}</TD></TR>
+<TR><TD><A HREF="{printer_uri_supported}">{printer_name}</A></TD><TD>{printer_info}</TD><TD>{printer_location}</TD><TD>{printer_make_and_model}</TD><TD>{printer_state=3?Idle:{printer_state=4?Печатает:Приостановлен}}{printer_state_message? - "{printer_state_message}":}</TD></TR>
 }
 </TBODY>
 </TABLE></DIV>}
index 1b8132d..c32a5ae 100644 (file)
@@ -3,6 +3,6 @@
 <H2 CLASS="title">Применение изменений параметров</H2>
 
 <P><IMG SRC="/images/wait.gif" WIDTH="16" HEIGHT="16" ALIGN="ABSMIDDLE"
-ALT="Ожидание">Дождитесь перезагрузки сервера...</P>
+ALT="Ожидание"> Дождитесь перезагрузки сервера...</P>
 
 </DIV>
index 22a3acb..641ca0b 100644 (file)
@@ -17,11 +17,10 @@ function select_printers() {
 
 {error?<P>Невозможно экспортировать принтеры в Samba\:</P>
 <BLOCKQUOTE>{error}</BLOCKQUOTE>
-<P>Посмотрите файл «<A HREF="/admin/log/error_log"
-TARGET="_blank">error_log</A>».</P>:
+<P>Посмотрите файл <A HREF="/admin/log/error_log"
+TARGET="_blank">error_log</A> для более подробной информации.</P>:
 <P>Эта страница позволяет добавить принтеры в Samba так, чтобы
-клиенты Windows могли получить доступ к ним через значок <VAR>Сетевое окружение</VAR> на их 
-рабочем столе. Вы должны установить на Windows драйвер принтера PostScript
+клиенты Windows могли получить доступ к ним через значок <VAR>Сетевое окружение</VAR> или <VAR>Сетевые подключения</VAR> на их рабочем столе. Вы должны установить на Windows драйвер принтера PostScript
 как описано на странице руководства <A
 HREF="/help/man-cupsaddsmb.html"
 TARGET="_blank">cupsaddsmb(8)</A>.</P>}
index 6426659..f338bc6 100644 (file)
@@ -2,8 +2,8 @@
 {WHICH_JOBS?<INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{WHICH_JOBS}">:}
 {ORDER?<INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{ORDER}">:}
 
-<P ALIGN="CENTER"><B>Поиск 
-{SEARCH_DEST?на {SEARCH_DEST}:{SECTION=classes?группы:{SECTION=jobs?задания:принтера}}}:</B>
+<P ALIGN="CENTER"><B>Поиск
+{SEARCH_DEST?{SEARCH_DEST}:{SECTION=classes?группы:{SECTION=jobs?задания:принтеры}}}:</B>
 <INPUT TYPE="SEARCH" NAME="QUERY" VALUE="{?QUERY}" SIZE="40"  PLACEHOLDER="" AUTOSAVE="org.cups.{SECTION}" RESULTS="20"> <INPUT
 TYPE="SUBMIT" VALUE="Поиск"> <INPUT TYPE="SUBMIT" NAME="CLEAR" VALUE="Очистить"></P>
 
index 6727217..f2b4642 100644 (file)
@@ -1,5 +1,5 @@
 <DIV CLASS="indent">
 
-<P>Подписка «{subscription_name}» была успешно добавлена.</P>
+<P>Подписка {subscription_name} была успешно добавлена.</P>
 
 </DIV>
index 205f993..5daed1f 100644 (file)
@@ -1,5 +1,5 @@
 <DIV CLASS="indent">
 
-<P>Подписка «#{notify_subscription_id}» была отменена.</P>
+<P>Подписка #{notify_subscription_id} была отменена.</P>
 
 </DIV>
index 7330b80..6dc1ba1 100644 (file)
@@ -2,7 +2,7 @@
 
 <H2 CLASS="title">Печать пробной страницы на {printer_name}</H2>
 
-<P>Пробная страница отправлена на печать. Номер задания «<A HREF="/{SECTION}/{printer_name}">
-{printer_name}-{job_id}</A>».</P>
+<P>Пробная страница отправлена на печать;Номер задания <A HREF="/{SECTION}/{printer_name}">
+{printer_name}-{job_id}</A>.</P>
 
 </DIV>
index b8bd468..09de926 100644 (file)
@@ -1,6 +1,7 @@
 </TD></TR>
 <TR><TD>&nbsp;</TD></TR>
-<TR><TD CLASS="trailer">CUPS а также логотип CUPS являются зарегистрированными торговыми марками <A HREF="http://www.apple.com">Apple Inc.</A> Авторские права на CUPS принадлежат (2007-2012) компании Apple Inc. Все права защищены.</TD></TR>
+<TR><TD CLASS="trailer">CUPS, а так же логотип CUPS являются зарегистрированными торговыми марками
+<A HREF="http://www.apple.com">Apple Inc.</A> Авторские права на CUPS принадлежат (2007-2013) компании Apple Inc. Все права защищены.</TD></TR>
 </TABLE>
 </BODY>
 </HTML>
index c5b3575..ee718b2 100644 (file)
@@ -14,8 +14,8 @@
 <TD>
 <INPUT TYPE='TEXT' NAME='users' SIZE='60' VALUE='{?requesting_user_name_allowed}{?requesting_user_name_denied}'>
 <BR>
-<INPUT TYPE='RADIO' NAME='type' VALUE='requesting-user-name-allowed' {requesting_user_name_allowed?checked:}>Разрешить этим пользователям печать
-<INPUT TYPE='RADIO' NAME='type' VALUE='requesting-user-name-denied' {requesting_user_name_denied?checked:}>Запретить этим пользователям печать
+<INPUT TYPE='RADIO' NAME='type' VALUE='requesting-user-name-allowed' {requesting_user_name_allowed?checked:}>Разрешить этим пользователям печатать
+<INPUT TYPE='RADIO' NAME='type' VALUE='requesting-user-name-denied' {requesting_user_name_denied?checked:}>Запретить этим пользователям печатать
 </TD>
 </TR>
 <TR>
index 123a197..c66986a 100644 (file)
@@ -1,7 +1,7 @@
 </TD></TR>
 <TR><TD>&nbsp;</TD></TR>
 <TR><TD CLASS="trailer">CUPS and the CUPS logo are trademarks of
-<A HREF="http://www.apple.com">Apple Inc.</A> CUPS is copyright 2007-2012 Apple
+<A HREF="http://www.apple.com">Apple Inc.</A> Copyright 2007-2013 Apple
 Inc. All rights reserved.</TD></TR>
 </TABLE>
 </BODY>
index e2eb79c..fbd2a97 100644 (file)
@@ -1,5 +1,5 @@
 #
-# "$Id: 4.1-requests.test 9084 2010-04-07 06:54:31Z mike $"
+# "$Id: 4.1-requests.test 8144 2008-11-19 19:23:12Z mike $"
 #
 #   Verify that the server requires the following attributes:
 #
        STATUS server-error-version-not-supported
 }
 #
-# End of "$Id: 4.1-requests.test 9084 2010-04-07 06:54:31Z mike $"
+# End of "$Id: 4.1-requests.test 8144 2008-11-19 19:23:12Z mike $"
 #
index 5fa828e..67c515d 100644 (file)
@@ -1,5 +1,5 @@
 #
-# "$Id: 4.2-cups-printer-ops.test 9084 2010-04-07 06:54:31Z mike $"
+# "$Id: 4.2-cups-printer-ops.test 6379 2007-03-21 14:57:22Z mike $"
 #
 #   Verify that the CUPS printer operations work.
 #
 }
 
 #
-# End of "$Id: 4.2-cups-printer-ops.test 9084 2010-04-07 06:54:31Z mike $"
+# End of "$Id: 4.2-cups-printer-ops.test 6379 2007-03-21 14:57:22Z mike $"
 #
index e82de18..2f2236b 100644 (file)
@@ -1,5 +1,5 @@
 #
-# "$Id: 4.3-job-ops.test 9084 2010-04-07 06:54:31Z mike $"
+# "$Id: 4.3-job-ops.test 7550 2008-05-12 16:40:40Z mike $"
 #
 #   Verify that the IPP job operations work.
 #
 }
 
 #
-# End of "$Id: 4.3-job-ops.test 9084 2010-04-07 06:54:31Z mike $"
+# End of "$Id: 4.3-job-ops.test 7550 2008-05-12 16:40:40Z mike $"
 #
index 720add8..f6cf820 100644 (file)
@@ -1,5 +1,5 @@
 #
-# "$Id: 4.4-subscription-ops.test 9352 2010-11-06 04:55:26Z mike $"
+# "$Id: 4.4-subscription-ops.test 6635 2007-07-09 20:34:48Z mike $"
 #
 #   Verify that the CUPS subscription operations work.
 #
 }
 
 #
-# End of "$Id: 4.4-subscription-ops.test 9352 2010-11-06 04:55:26Z mike $"
+# End of "$Id: 4.4-subscription-ops.test 6635 2007-07-09 20:34:48Z mike $"
 #
index f169961..e4a8ed4 100644 (file)
@@ -1,10 +1,10 @@
 #!/bin/sh
 #
-# "$Id: 5.1-lpadmin.sh 8266 2009-01-19 23:10:15Z mike $"
+# "$Id: 5.1-lpadmin.sh 7494 2008-04-25 18:36:46Z mike $"
 #
 #   Test the lpadmin command.
 #
-#   Copyright 2007-2009 by Apple Inc.
+#   Copyright 2007-2012 by Apple Inc.
 #   Copyright 1997-2005 by Easy Software Products, all rights reserved.
 #
 #   These coded instructions, statements, and computer programs are the
@@ -17,7 +17,7 @@
 echo "Add Printer Test"
 echo ""
 echo "    lpadmin -p Test3 -v file:/dev/null -E -m drv:///sample.drv/deskjet.ppd"
-../systemv/lpadmin -p Test3 -v file:/dev/null -E -m drv:///sample.drv/deskjet.ppd 2>&1
+$VALGRIND ../systemv/lpadmin -p Test3 -v file:/dev/null -E -m drv:///sample.drv/deskjet.ppd 2>&1
 if test $? != 0; then
        echo "    FAILED"
        exit 1
@@ -29,7 +29,7 @@ echo ""
 echo "Modify Printer Test"
 echo ""
 echo "    lpadmin -p Test3 -v file:/tmp/Test3 -o PageSize=A4"
-../systemv/lpadmin -p Test3 -v file:/tmp/Test3 -o PageSize=A4 2>&1
+$VALGRIND ../systemv/lpadmin -p Test3 -v file:/tmp/Test3 -o PageSize=A4 2>&1
 if test $? != 0; then
        echo "    FAILED"
        exit 1
@@ -41,7 +41,19 @@ echo ""
 echo "Delete Printer Test"
 echo ""
 echo "    lpadmin -x Test3"
-../systemv/lpadmin -x Test3 2>&1
+$VALGRIND ../systemv/lpadmin -x Test3 2>&1
+if test $? != 0; then
+       echo "    FAILED"
+       exit 1
+else
+       echo "    PASSED"
+fi
+echo ""
+
+echo "Add Shared Printer Test"
+echo ""
+echo "    lpadmin -p Test3 -E -v ipp://localhost:8631/printers/Test2 -m raw"
+$VALGRIND ../systemv/lpadmin -p Test3 -E -v ipp://localhost:8631/printers/Test2 -m raw 2>&1
 if test $? != 0; then
        echo "    FAILED"
        exit 1
@@ -51,5 +63,5 @@ fi
 echo ""
 
 #
-# End of "$Id: 5.1-lpadmin.sh 8266 2009-01-19 23:10:15Z mike $".
+# End of "$Id: 5.1-lpadmin.sh 7494 2008-04-25 18:36:46Z mike $".
 #
index b690805..ff15a87 100644 (file)
@@ -17,7 +17,7 @@
 echo "LPC Test"
 echo ""
 echo "    lpc status"
-../berkeley/lpc status 2>&1
+$VALGRIND ../berkeley/lpc status 2>&1
 if test $? != 0; then
        echo "    FAILED"
        exit 1
index 05f66a9..633508c 100644 (file)
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# "$Id: 5.3-lpq.sh 8144 2008-11-19 19:23:12Z mike $"
+# "$Id: 5.3-lpq.sh 6649 2007-07-11 21:46:42Z mike $"
 #
 #   Test the lpq command.
 #
@@ -17,7 +17,7 @@
 echo "LPQ Test"
 echo ""
 echo "    lpq -P Test1"
-../berkeley/lpq -P Test1 2>&1
+$VALGRIND ../berkeley/lpq -P Test1 2>&1
 if test $? != 0; then
        echo "    FAILED"
        exit 1
@@ -27,5 +27,5 @@ fi
 echo ""
 
 #
-# End of "$Id: 5.3-lpq.sh 8144 2008-11-19 19:23:12Z mike $".
+# End of "$Id: 5.3-lpq.sh 6649 2007-07-11 21:46:42Z mike $".
 #
index 3181891..b2e38f1 100644 (file)
@@ -1,10 +1,10 @@
 #!/bin/sh
 #
-# "$Id: 5.4-lpstat.sh 8498 2009-04-13 17:03:15Z mike $"
+# "$Id: 5.4-lpstat.sh 6649 2007-07-11 21:46:42Z mike $"
 #
 #   Test the lpstat command.
 #
-#   Copyright 2007-2009 by Apple Inc.
+#   Copyright 2007-2011 by Apple Inc.
 #   Copyright 1997-2005 by Easy Software Products, all rights reserved.
 #
 #   These coded instructions, statements, and computer programs are the
@@ -17,7 +17,7 @@
 echo "LPSTAT Test"
 echo ""
 echo "    lpstat -t"
-../systemv/lpstat -t 2>&1
+$VALGRIND ../systemv/lpstat -t 2>&1
 if test $? != 0; then
        echo "    FAILED"
        exit 1
@@ -29,7 +29,7 @@ echo ""
 echo "LPSTAT Test"
 echo ""
 echo "    lpstat -H"
-server="`../systemv/lpstat -H 2>&1`"
+server="`$VALGRIND ../systemv/lpstat -H 2>&1`"
 if test $? != 0 -o "x$server" != xlocalhost:8631; then
        echo "    FAILED ($server)"
        exit 1
@@ -39,5 +39,5 @@ fi
 echo ""
 
 #
-# End of "$Id: 5.4-lpstat.sh 8498 2009-04-13 17:03:15Z mike $".
+# End of "$Id: 5.4-lpstat.sh 6649 2007-07-11 21:46:42Z mike $".
 #
index 942d11b..aa326a8 100644 (file)
@@ -1,10 +1,10 @@
 #!/bin/sh
 #
-# "$Id: 5.5-lp.sh 10090 2011-10-25 22:39:56Z mike $"
+# "$Id: 5.5-lp.sh 7415 2008-03-31 22:33:20Z mike $"
 #
 #   Test the lp command.
 #
-#   Copyright 2007-2011 by Apple Inc.
+#   Copyright 2007-2012 by Apple Inc.
 #   Copyright 1997-2005 by Easy Software Products, all rights reserved.
 #
 #   These coded instructions, statements, and computer programs are the
@@ -17,7 +17,7 @@
 echo "LP Default Test"
 echo ""
 echo "    lp testfile.pdf"
-../systemv/lp testfile.pdf 2>&1
+$VALGRIND ../systemv/lp testfile.pdf 2>&1
 if test $? != 0; then
        echo "    FAILED"
        exit 1
@@ -28,8 +28,8 @@ echo ""
 
 echo "LP Destination Test"
 echo ""
-echo "    lp -d Test2 testfile.jpg"
-../systemv/lp -d Test2 testfile.jpg 2>&1
+echo "    lp -d Test3 -o fit-to-page testfile.jpg"
+$VALGRIND ../systemv/lp -d Test3 -o fit-to-page testfile.jpg 2>&1
 if test $? != 0; then
        echo "    FAILED"
        exit 1
@@ -41,7 +41,7 @@ echo ""
 echo "LP Options Test"
 echo ""
 echo "    lp -d Test1 -P 1-4 -o job-sheets=classified,classified testfile.pdf"
-../systemv/lp -d Test1 -P 1-4 -o job-sheets=classified,classified testfile.pdf 2>&1
+$VALGRIND ../systemv/lp -d Test1 -P 1-4 -o job-sheets=classified,classified testfile.pdf 2>&1
 if test $? != 0; then
        echo "    FAILED"
        exit 1
@@ -58,12 +58,12 @@ i=0
 while test $i -lt $1; do
        j=1
        while test $j -le $2; do
-               ../systemv/lp -d test-$j testfile.jpg 2>&1
+               $VALGRIND ../systemv/lp -d test-$j testfile.jpg 2>&1
                j=`expr $j + 1`
        done
 
-       ../systemv/lp -d Test1 testfile.jpg 2>&1 &
-       ../systemv/lp -d Test2 testfile.jpg 2>&1 &
+       $VALGRIND ../systemv/lp -d Test1 testfile.jpg 2>&1 &
+       $VALGRIND ../systemv/lp -d Test2 testfile.jpg 2>&1 &
        lppid=$!
 
        i=`expr $i + 1`
@@ -80,5 +80,5 @@ echo ""
 ./waitjobs.sh
 
 #
-# End of "$Id: 5.5-lp.sh 10090 2011-10-25 22:39:56Z mike $".
+# End of "$Id: 5.5-lp.sh 7415 2008-03-31 22:33:20Z mike $".
 #
index b49e5dc..9a26e75 100644 (file)
@@ -1,10 +1,10 @@
 #!/bin/sh
 #
-# "$Id: 5.6-lpr.sh 10090 2011-10-25 22:39:56Z mike $"
+# "$Id: 5.6-lpr.sh 7409 2008-03-29 00:26:03Z mike $"
 #
 #   Test the lpr command.
 #
-#   Copyright 2007-2011 by Apple Inc.
+#   Copyright 2007-2012 by Apple Inc.
 #   Copyright 1997-2005 by Easy Software Products, all rights reserved.
 #
 #   These coded instructions, statements, and computer programs are the
@@ -17,7 +17,7 @@
 echo "LPR Default Test"
 echo ""
 echo "    lpr testfile.pdf"
-../berkeley/lpr testfile.pdf 2>&1
+$VALGRIND ../berkeley/lpr testfile.pdf 2>&1
 if test $? != 0; then
        echo "    FAILED"
        exit 1
@@ -28,8 +28,8 @@ echo ""
 
 echo "LPR Destination Test"
 echo ""
-echo "    lpr -P Test2 testfile.jpg"
-../berkeley/lpr -P Test2 testfile.jpg 2>&1
+echo "    lpr -P Test3 -o fit-to-page testfile.jpg"
+$VALGRIND ../berkeley/lpr -P Test3 -o fit-to-page testfile.jpg 2>&1
 if test $? != 0; then
        echo "    FAILED"
        exit 1
@@ -41,7 +41,7 @@ echo ""
 echo "LPR Options Test"
 echo ""
 echo "    lpr -P Test1 -o number-up=4 -o job-sheets=standard,none testfile.pdf"
-../berkeley/lpr -P Test1 -o number-up=4 -o job-sheets=standard,none testfile.pdf 2>&1
+$VALGRIND ../berkeley/lpr -P Test1 -o number-up=4 -o job-sheets=standard,none testfile.pdf 2>&1
 if test $? != 0; then
        echo "    FAILED"
        exit 1
@@ -58,12 +58,12 @@ i=0
 while test $i -lt $1; do
        j=1
        while test $j -le $2; do
-               ../berkeley/lpr -P test-$j testfile.jpg 2>&1
+               $VALGRIND ../berkeley/lpr -P test-$j testfile.jpg 2>&1
                j=`expr $j + 1`
        done
 
-       ../berkeley/lpr -P Test1 testfile.jpg 2>&1 &
-       ../berkeley/lpr -P Test2 testfile.jpg 2>&1 &
+       $VALGRIND ../berkeley/lpr -P Test1 testfile.jpg 2>&1 &
+       $VALGRIND ../berkeley/lpr -P Test2 testfile.jpg 2>&1 &
        lprpid=$!
 
        i=`expr $i + 1`
@@ -80,5 +80,5 @@ echo ""
 ./waitjobs.sh
 
 #
-# End of "$Id: 5.6-lpr.sh 10090 2011-10-25 22:39:56Z mike $".
+# End of "$Id: 5.6-lpr.sh 7409 2008-03-29 00:26:03Z mike $".
 #
index bcb7211..4b96920 100644 (file)
@@ -4,7 +4,7 @@
 #
 #   Test the lprm command.
 #
-#   Copyright 2007 by Apple Inc.
+#   Copyright 2007-2011 by Apple Inc.
 #   Copyright 1997-2005 by Easy Software Products, all rights reserved.
 #
 #   These coded instructions, statements, and computer programs are the
@@ -17,9 +17,9 @@
 echo "LPRM Current Test"
 echo ""
 echo "    lpr -o job-hold-until=indefinite testfile.jpg"
-../berkeley/lpr -o job-hold-until=indefinite testfile.jpg 2>&1
+$VALGRIND ../berkeley/lpr -o job-hold-until=indefinite testfile.jpg 2>&1
 echo "    lprm"
-../berkeley/lprm 2>&1
+$VALGRIND ../berkeley/lprm 2>&1
 if test $? != 0; then
        echo "    FAILED"
        exit 1
@@ -31,9 +31,9 @@ echo ""
 echo "LPRM Destination Test"
 echo ""
 echo "    lpr -P Test1 -o job-hold-until=indefinite testfile.jpg"
-../berkeley/lpr -P Test1 -o job-hold-until=indefinite testfile.jpg 2>&1
+$VALGRIND ../berkeley/lpr -P Test1 -o job-hold-until=indefinite testfile.jpg 2>&1
 echo "    lprm Test1"
-../berkeley/lprm Test1 2>&1
+$VALGRIND ../berkeley/lprm Test1 2>&1
 if test $? != 0; then
        echo "    FAILED"
        exit 1
index 7cf31b0..88b7dd4 100644 (file)
@@ -4,7 +4,7 @@
 #
 #   Test the cancel command.
 #
-#   Copyright 2007-2008 by Apple Inc.
+#   Copyright 2007-2011 by Apple Inc.
 #   Copyright 1997-2006 by Easy Software Products, all rights reserved.
 #
 #   These coded instructions, statements, and computer programs are the
@@ -17,9 +17,9 @@
 echo "Cancel Destination Test"
 echo ""
 echo "    lp -d Test1 -o job-hold-until=indefinite testfile.jpg"
-../systemv/lp -d Test1 -o job-hold-until=indefinite testfile.jpg 2>&1
+$VALGRIND ../systemv/lp -d Test1 -o job-hold-until=indefinite testfile.jpg 2>&1
 echo "    cancel Test1"
-../systemv/cancel Test1 2>&1
+$VALGRIND ../systemv/cancel Test1 2>&1
 if test $? != 0; then
        echo "    FAILED"
        exit 1
@@ -31,7 +31,7 @@ echo ""
 echo "Cancel All Test"
 echo ""
 echo "    cancel -a"
-../systemv/cancel -a 2>&1
+$VALGRIND ../systemv/cancel -a 2>&1
 if test $? != 0; then
        echo "    FAILED"
        exit 1
index 1902aeb..a6ea364 100644 (file)
@@ -4,7 +4,7 @@
 #
 #   Test the lpinfo command.
 #
-#   Copyright 2007-2008 by Apple Inc.
+#   Copyright 2007-2011 by Apple Inc.
 #   Copyright 1997-2005 by Easy Software Products, all rights reserved.
 #
 #   These coded instructions, statements, and computer programs are the
@@ -17,7 +17,7 @@
 echo "LPINFO Devices Test"
 echo ""
 echo "    lpinfo -v"
-../systemv/lpinfo -v 2>&1
+$VALGRIND ../systemv/lpinfo -v 2>&1
 if test $? != 0; then
        echo "    FAILED"
        exit 1
@@ -29,7 +29,7 @@ echo ""
 echo "LPINFO Drivers Test"
 echo ""
 echo "    lpinfo -m"
-../systemv/lpinfo -m 2>&1
+$VALGRIND ../systemv/lpinfo -m 2>&1
 if test $? != 0; then
        echo "    FAILED"
        exit 1
@@ -41,7 +41,7 @@ echo ""
 echo "LPINFO Drivers Test"
 echo ""
 echo "    lpinfo -m | grep -q sample.drv"
-../systemv/lpinfo -m | grep -q sample.drv 2>&1
+$VALGRIND ../systemv/lpinfo -m | grep -q sample.drv 2>&1
 if test $? != 0; then
        echo "    FAILED"
        exit 1
index 3289144..69b96a6 100644 (file)
@@ -1,20 +1,18 @@
-# DO NOT DELETE THIS LINE -- make depend depends on it.
-
-ippserver.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-ippserver.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-ippserver.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
-ippserver.o: ../config.h ../cups/debug-private.h ../cups/versioning.h
-ippserver.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-ippserver.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-ippserver.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-ippserver.o: ../cups/language-private.h ../cups/transcode.h
-ippserver.o: ../cups/thread-private.h
-ipptool.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-ipptool.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
-ipptool.o: ../cups/language.h ../cups/string-private.h ../config.h
-ipptool.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
-ipptool.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-ipptool.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-ipptool.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-ipptool.o: ../cups/transcode.h ../cups/thread-private.h
-ipptool.o: ../cups/file-private.h ../cups/cups-private.h
+ippserver.o: ippserver.c ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+ipptool.o: ipptool.c ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h
+xmltotest.o: xmltotest.c ../config.h ../cups/cups.h ../cups/file.h \
+  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/language.h
index 0acc0b4..4974b7c 100644 (file)
@@ -1,9 +1,9 @@
 #
-# "$Id: Makefile 10317 2012-03-01 00:05:55Z mike $"
+# "$Id: Makefile 11173 2013-07-23 12:31:34Z msweet $"
 #
 #   IPP test makefile for CUPS.
 #
-#   Copyright 2007-2010 by Apple Inc.
+#   Copyright 2007-2012 by Apple Inc.
 #   Copyright 1997-2006 by Easy Software Products, all rights reserved.
 #
 #   These coded instructions, statements, and computer programs are the
@@ -32,6 +32,7 @@ DATAFILES     =       \
                        onepage-letter.pdf \
                        onepage-letter.ps \
                        testfile.jpg \
+                       testfile.pcl \
                        testfile.pdf \
                        testfile.ps \
                        testfile.txt
@@ -46,7 +47,8 @@ TESTFILES     =       \
                        ipp-2.2.test
 OBJS           =       \
                        ippserver.o \
-                       ipptool.o
+                       ipptool.o \
+                       xmltotest.o
 TARGETS                =       \
                        ippserver \
                        ipptool \
@@ -87,7 +89,7 @@ clean:
 #
 
 depend:
-       makedepend -Y -I.. -fDependencies $(OBJS:.o=.c) >/dev/null 2>&1
+       $(CC) -MM $(ALL_CFLAGS) $(OBJS:.o=.c) >Dependencies
 
 
 #
@@ -194,6 +196,17 @@ ipptool-static:    ipptool.o ../cups/$(LIBCUPSSTATIC)
 
 
 #
+# xmltotest
+#
+
+xmltotest: xmltotest.o ../cups/$(LIBUPSSTATIC)
+       echo Linking $@...
+       $(CC) $(LDFLAGS) -o $@ xmltotest.o  ../cups/$(LIBCUPSSTATIC) \
+               $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ) \
+               $(LIBMXML)
+
+
+#
 # Dependencies...
 #
 
@@ -201,5 +214,5 @@ include Dependencies
 
 
 #
-# End of "$Id: Makefile 10317 2012-03-01 00:05:55Z mike $".
+# End of "$Id: Makefile 11173 2013-07-23 12:31:34Z msweet $".
 #
diff --git a/test/cancel-current-job.test b/test/cancel-current-job.test
new file mode 100644 (file)
index 0000000..cb37f22
--- /dev/null
@@ -0,0 +1,65 @@
+#
+# "$Id: get-jobs.test 9702 2011-04-20 21:16:08Z mike $"
+#
+#   Cancel the currently printing job.
+#
+#   Copyright 2007-2012 by Apple Inc.
+#   Copyright 2001-2006 by Easy Software Products. All rights reserved.
+#
+#   These coded instructions, statements, and computer programs are the
+#   property of Apple Inc. and are protected by Federal copyright
+#   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
+#   which should have been included with this file.  If this file is
+#   file is missing or damaged, see the license at "http://www.cups.org/".
+#
+# Usage:
+#
+#   ./ipptool printer-uri cancel-current-jobs.test
+#
+
+
+{
+       # The name of the test...
+       NAME "Get current job"
+
+       # The operation to use
+       OPERATION Get-Jobs
+
+       # Attributes, starting in the operation group...
+       GROUP operation-attributes-tag
+       ATTR charset attributes-charset utf-8
+       ATTR language attributes-natural-language en
+       ATTR uri printer-uri $uri
+       ATTR integer limit 1
+       ATTR name requesting-user-name $user
+       ATTR keyword requested-attributes job-id,job-state
+
+       # What statuses are OK?
+       STATUS successful-ok
+
+       EXPECT job-id OF-TYPE integer COUNT 1
+
+       # What attributes to display
+       DISPLAY job-id
+       DISPLAY job-state
+}
+
+{
+       SKIP-IF-NOT-DEFINED job-id
+       NAME "Cancel current job"
+       OPERATION Cancel-Job
+       GROUP operation-attributes-tag
+       ATTR charset attributes-charset utf-8
+       ATTR language attributes-natural-language en
+       ATTR uri printer-uri $uri
+       ATTR integer job-id $job-id
+       ATTR name requesting-user-name $user
+
+       # What statuses are OK?
+       STATUS successful-ok
+}
+
+
+#
+# End of "$Id: get-jobs.test 9702 2011-04-20 21:16:08Z mike $".
+#
index 87d94a5..60769a0 100644 (file)
@@ -21,8 +21,8 @@
        ATTR integer copies 1
 
        # What statuses are OK?
-       STATUS ok
-       STATUS ok-subst
+       STATUS successful-ok
+       STATUS successful-ok-ignored-or-substituted-attributes
 
        # What attributes do we expect?
        EXPECT job-id
@@ -51,6 +51,6 @@
        FILE ../data/testprint.ps
 
        # What statuses are OK?
-       STATUS ok
-       STATUS ok-subst
+       STATUS successful-ok
+       STATUS successful-ok-ignored-or-substituted-attributes
 }
index d15bb7d..0886186 100644 (file)
@@ -21,8 +21,8 @@
        ATTR name job-sheets standard
 
        # What statuses are OK?
-       STATUS ok
-       STATUS ok-subst
+       STATUS successful-ok
+       STATUS successful-ok-ignored-or-substituted-attributes
 
        # What attributes do we expect?
        EXPECT job-id
@@ -50,6 +50,6 @@
        FILE ../data/testprint.ps
 
        # What statuses are OK?
-       STATUS ok
-       STATUS ok-subst
+       STATUS successful-ok
+       STATUS successful-ok-ignored-or-substituted-attributes
 }
index 19f5c85..6195917 100644 (file)
@@ -1,5 +1,5 @@
 #
-# "$Id: create-printer-subscription.test 9084 2010-04-07 06:54:31Z mike $"
+# "$Id$"
 #
 #   Create a printer subscription.
 #
@@ -45,5 +45,5 @@
 
 
 #
-# End of "$Id: create-printer-subscription.test 9084 2010-04-07 06:54:31Z mike $"
+# End of "$Id$"
 #
index e3db4b9..a979459 100644 (file)
@@ -1,7 +1,7 @@
 %!PS-Adobe-3.0
 %XpdfVersion: 3.03
 %%Creator: Scribus 1.4.0.rc5
-%%Title:
+%%Title: 
 %%LanguageLevel: 3
 %%DocumentSuppliedResources: (atend)
 %%DocumentMedia: plain 595 842 0 () ()
index 29b1585..7f627f4 100644 (file)
@@ -1,7 +1,7 @@
 %!PS-Adobe-3.0
 %XpdfVersion: 3.03
 %%Creator: Scribus 1.4.0.rc5
-%%Title:
+%%Title: 
 %%LanguageLevel: 3
 %%DocumentSuppliedResources: (atend)
 %%DocumentMedia: plain 612 792 0 () ()
index 7b5696c..eca2279 100644 (file)
@@ -1,9 +1,9 @@
 #
-# "$Id: get-completed-jobs.test 9086 2010-04-07 18:46:04Z mike $"
+# "$Id$"
 #
 #   Get list of completed jobs.
 #
-#   Copyright 2007-2010 by Apple Inc.
+#   Copyright 2007-2012 by Apple Inc.
 #   Copyright 2001-2006 by Easy Software Products. All rights reserved.
 #
 #   These coded instructions, statements, and computer programs are the
@@ -32,7 +32,7 @@
        ATTR uri printer-uri $uri
        ATTR keyword which-jobs completed
        ATTR keyword requested-attributes
-            job-id,job-state,job-name,job-originating-user-name,job-media-sheets-completed
+            job-id,job-state,job-state-reasons,job-name,job-originating-user-name,job-media-sheets-completed
 
        # What statuses are OK?
        STATUS successful-ok
@@ -47,5 +47,5 @@
 
 
 #
-# End of "$Id: get-completed-jobs.test 9086 2010-04-07 18:46:04Z mike $".
+# End of "$Id$".
 #
index 76bb5ec..c31a1b1 100644 (file)
@@ -16,6 +16,6 @@
        ATTR uri printer-uri $uri
 
        # What statuses are OK?
-       STATUS ok
-       STATUS ok-subst
+       STATUS successful-ok
+       STATUS successful-ok-ignored-or-substituted-attributes
 }
index ba62bd7..c40e242 100644 (file)
@@ -18,8 +18,8 @@
 #      ATTR keyword requested-attributes job-media-sheets-completed,job-state
 
        # What statuses are OK?
-       #STATUS ok
-       #STATUS ok-subst
+       #STATUS successful-ok
+       #STATUS successful-ok-ignored-or-substituted-attributes
 
        # What attributes do we expect?
        EXPECT job-uri
index 6a8673f..d0891b5 100644 (file)
@@ -16,8 +16,8 @@
        ATTR uri job-uri $uri
 
        # What statuses are OK?
-       STATUS ok
-       STATUS ok-subst
+       STATUS successful-ok
+       STATUS successful-ok-ignored-or-substituted-attributes
 
        # What attributes do we expect?
        EXPECT job-uri
index c7a07f6..13b9959 100644 (file)
@@ -1,5 +1,5 @@
 #
-# "$Id: get-jobs.test 10233 2012-02-06 18:55:39Z mike $"
+# "$Id: get-jobs.test 9702 2011-04-20 21:16:08Z mike $"
 #
 #   Get list of not-completed jobs.
 #
@@ -31,8 +31,7 @@
        ATTR language attributes-natural-language en
        ATTR uri printer-uri $uri
        ATTR keyword requested-attributes
-            job-id,job-state,job-name,job-originating-user-name,job-media-sheets,job-media-sheets-completed,job-impressions,job-impressions-completed
-       ATTR name requesting-user-name $user
+            job-id,job-state,job-state-reasons,job-name,job-originating-user-name,job-media-sheets,job-media-sheets-completed,job-impressions,job-impressions-completed
 
        # What statuses are OK?
        STATUS successful-ok
@@ -50,5 +49,5 @@
 
 
 #
-# End of "$Id: get-jobs.test 10233 2012-02-06 18:55:39Z mike $".
+# End of "$Id: get-jobs.test 9702 2011-04-20 21:16:08Z mike $".
 #
index ccb1828..e5c6de7 100644 (file)
@@ -17,8 +17,8 @@
        ATTR name include-schemes drv
 
        # What statuses are OK?
-       STATUS ok
-       STATUS ok-subst
+       STATUS successful-ok
+       STATUS successful-ok-ignored-or-substituted-attributes
 
        EXPECT ppd-name
 }
index 90f59eb..a82daf8 100644 (file)
@@ -16,6 +16,6 @@
        ATTR uri printer-uri $uri
 
        # What statuses are OK?
-       STATUS ok
-       STATUS ok-subst
+       STATUS successful-ok
+       STATUS successful-ok-ignored-or-substituted-attributes
 }
index 686059d..09766ff 100644 (file)
@@ -16,6 +16,6 @@
        ATTR uri printer-uri $uri
 
        # What statuses are OK?
-       STATUS ok
-       STATUS ok-subst
+       STATUS successful-ok
+       STATUS successful-ok-ignored-or-substituted-attributes
 }
index c9444a4..4fd0ad7 100644 (file)
@@ -1,9 +1,9 @@
 #
-# "$Id: ipp-1.1.test 10058 2011-10-05 15:03:34Z mike $"
+# "$Id$"
 #
 #   IPP/1.1 test suite.
 #
-#   Copyright 2007-2011 by Apple Inc.
+#   Copyright 2007-2012 by Apple Inc.
 #   Copyright 2001-2006 by Easy Software Products. All rights reserved.
 #
 #   These coded instructions, statements, and computer programs are the
@@ -15,6 +15,9 @@
 # Usage:
 #
 #   ./ipptool -f filename [-d document-uri=SOMEURI] -t printer-uri ipp-1.1.test
+#   ./ipptool -f filename -d NOPRINT=1 -t printer-uri ipp-1.1.test
+#
+# The latter form disables all but the basic file printing.
 #
 
 # Regular expressions for URI schemes:
@@ -95,7 +98,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
        ATTR uri printer-uri $uri
 
        STATUS successful-ok
-       EXPECT printer-uri-supported OF-TYPE uri WITH-VALUE "$IPP_URI_SCHEME"
+       EXPECT printer-uri-supported OF-TYPE uri WITH-ALL-VALUES "$IPP_URI_SCHEME"
 }
 
 
@@ -153,7 +156,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
        STATUS successful-ok
        STATUS client-error-document-format-not-supported
        STATUS server-error-job-canceled
-       STATUS server-error-busy REPEAT-MATCH
+       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 10
 
        EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
        EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
@@ -325,7 +328,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
        EXPECT printer-state OF-TYPE enum IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE 3,4,5
        EXPECT printer-state-reasons OF-TYPE keyword IN-GROUP printer-attributes-tag
        EXPECT printer-up-time OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0
-       EXPECT printer-uri-supported OF-TYPE uri IN-GROUP printer-attributes-tag SAME-COUNT-AS uri-security-supported WITH-VALUE "$IPP_URI_SCHEME"
+       EXPECT printer-uri-supported OF-TYPE uri IN-GROUP printer-attributes-tag SAME-COUNT-AS uri-security-supported WITH-ALL-VALUES "$IPP_URI_SCHEME"
        EXPECT queued-job-count OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1
        EXPECT uri-authentication-supported OF-TYPE keyword IN-GROUP printer-attributes-tag
        EXPECT uri-security-supported OF-TYPE keyword IN-GROUP printer-attributes-tag SAME-COUNT-AS uri-authentication-supported
@@ -348,7 +351,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
        STATUS successful-ok
 
-       EXPECT printer-uri-supported OF-TYPE uri IN-GROUP printer-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
+       EXPECT printer-uri-supported OF-TYPE uri IN-GROUP printer-attributes-tag WITH-ALL-VALUES "$IPP_URI_SCHEME"
        EXPECT !printer-name
 }
 
@@ -668,7 +671,8 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
        ATTR name requesting-user-name $user
 
        STATUS successful-ok
-       EXPECT job-state OF-TYPE unknown|enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >6,<10 REPEAT-NO-MATCH
+       EXPECT job-state OF-TYPE unknown|enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >6 REPEAT-NO-MATCH REPEAT-LIMIT 30
+       DISPLAY job-state
 }
 
 
@@ -829,7 +833,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
        STATUS successful-ok
        STATUS client-error-document-format-not-supported
        STATUS server-error-job-canceled
-       STATUS server-error-busy REPEAT-MATCH
+       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 10
 
        EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
        EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
@@ -941,7 +945,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
        STATUS successful-ok
        STATUS server-error-job-canceled
-       STATUS server-error-busy REPEAT-MATCH
+       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 10
 
        EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
        EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
@@ -1258,7 +1262,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
        STATUS successful-ok
        STATUS client-error-document-format-not-supported
        STATUS server-error-job-canceled
-       STATUS server-error-busy REPEAT-MATCH
+       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 10
 
        EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
        EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
@@ -1274,6 +1278,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
 # Test PDF output
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_PDF
        SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA
 
@@ -1295,7 +1300,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
        STATUS successful-ok
        STATUS server-error-job-canceled
-       STATUS server-error-busy REPEAT-MATCH
+       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 10
 
        EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
        EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
@@ -1309,6 +1314,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 }
 
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_PDF
        SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA
        SKIP-IF-NOT-DEFINED OPTIONAL_DUPLEX
@@ -1332,7 +1338,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
        STATUS successful-ok
        STATUS server-error-job-canceled
-       STATUS server-error-busy REPEAT-MATCH
+       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 10
 
        EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
        EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
@@ -1346,6 +1352,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 }
 
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_PDF
        SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA
 
@@ -1367,7 +1374,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
        STATUS successful-ok
        STATUS server-error-job-canceled
-       STATUS server-error-busy REPEAT-MATCH
+       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 10
 
        EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
        EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
@@ -1381,6 +1388,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 }
 
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_PDF
        SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA
        SKIP-IF-NOT-DEFINED OPTIONAL_DUPLEX
@@ -1404,7 +1412,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
        STATUS successful-ok
        STATUS server-error-job-canceled
-       STATUS server-error-busy REPEAT-MATCH
+       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 10
 
        EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
        EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
@@ -1420,6 +1428,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
 # Test PostScript output
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT
        SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA
 
@@ -1441,7 +1450,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
        STATUS successful-ok
        STATUS server-error-job-canceled
-       STATUS server-error-busy REPEAT-MATCH
+       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 10
 
        EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
        EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
@@ -1455,6 +1464,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 }
 
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT
        SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA
        SKIP-IF-NOT-DEFINED OPTIONAL_DUPLEX
@@ -1478,7 +1488,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
        STATUS successful-ok
        STATUS server-error-job-canceled
-       STATUS server-error-busy REPEAT-MATCH
+       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 10
 
        EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
        EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
@@ -1492,6 +1502,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 }
 
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT
        SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA
 
@@ -1513,7 +1524,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
        STATUS successful-ok
        STATUS server-error-job-canceled
-       STATUS server-error-busy REPEAT-MATCH
+       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 10
 
        EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
        EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
@@ -1527,6 +1538,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 }
 
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT
        SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA
        SKIP-IF-NOT-DEFINED OPTIONAL_DUPLEX
@@ -1550,7 +1562,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
        STATUS successful-ok
        STATUS server-error-job-canceled
-       STATUS server-error-busy REPEAT-MATCH
+       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 10
 
        EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
        EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
@@ -1566,6 +1578,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
 # Test JPEG output
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_JPEG
        SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA
 
@@ -1587,7 +1600,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
        STATUS successful-ok
        STATUS server-error-job-canceled
-       STATUS server-error-busy REPEAT-MATCH
+       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 10
 
        EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
        EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
@@ -1601,6 +1614,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 }
 
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_JPEG
        SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA
 
@@ -1622,7 +1636,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
        STATUS successful-ok
        STATUS server-error-job-canceled
-       STATUS server-error-busy REPEAT-MATCH
+       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 10
 
        EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
        EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
@@ -1636,6 +1650,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 }
 
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_JPEG
        SKIP-IF-NOT-DEFINED OPTIONAL_4X6_MEDIA
 
@@ -1657,7 +1672,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
        STATUS successful-ok
        STATUS server-error-job-canceled
-       STATUS server-error-busy REPEAT-MATCH
+       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 10
 
        EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
        EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
@@ -1671,6 +1686,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 }
 
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_JPEG
        SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA
 
@@ -1692,7 +1708,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
        STATUS successful-ok
        STATUS server-error-job-canceled
-       STATUS server-error-busy REPEAT-MATCH
+       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 10
 
        EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
        EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
@@ -1706,6 +1722,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 }
 
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_JPEG
        SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA
 
@@ -1727,7 +1744,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
        STATUS successful-ok
        STATUS server-error-job-canceled
-       STATUS server-error-busy REPEAT-MATCH
+       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 10
 
        EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
        EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
@@ -1741,6 +1758,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 }
 
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_JPEG
        SKIP-IF-NOT-DEFINED OPTIONAL_4X6_MEDIA
 
@@ -1762,7 +1780,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
        STATUS successful-ok
        STATUS server-error-job-canceled
-       STATUS server-error-busy REPEAT-MATCH
+       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 10
 
        EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
        EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
@@ -1778,6 +1796,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
 # Print-Job with job-sheets
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_PDF
        SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA
        SKIP-IF-NOT-DEFINED OPTIONAL_STANDARD_SHEET
@@ -1801,7 +1820,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
        STATUS successful-ok
        STATUS server-error-job-canceled
-       STATUS server-error-busy REPEAT-MATCH
+       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 10
 
        EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
        EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
@@ -1815,6 +1834,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 }
 
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_PDF
        SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA
        SKIP-IF-NOT-DEFINED OPTIONAL_STANDARD_SHEET
@@ -1838,7 +1858,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
        STATUS successful-ok
        STATUS server-error-job-canceled
-       STATUS server-error-busy REPEAT-MATCH
+       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 10
 
        EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
        EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
@@ -1852,6 +1872,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 }
 
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT
        SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA
        SKIP-IF-NOT-DEFINED OPTIONAL_STANDARD_SHEET
@@ -1875,7 +1896,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
        STATUS successful-ok
        STATUS server-error-job-canceled
-       STATUS server-error-busy REPEAT-MATCH
+       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 10
 
        EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
        EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
@@ -1889,6 +1910,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 }
 
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT
        SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA
        SKIP-IF-NOT-DEFINED OPTIONAL_STANDARD_SHEET
@@ -1912,7 +1934,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
        STATUS successful-ok
        STATUS server-error-job-canceled
-       STATUS server-error-busy REPEAT-MATCH
+       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 10
 
        EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
        EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
@@ -1928,6 +1950,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
 # Test number-up output
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_PDF
        SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA
        SKIP-IF-NOT-DEFINED OPTIONAL_2UP
@@ -1939,7 +1962,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
        ATTR naturalLanguage attributes-natural-language en
        ATTR uri printer-uri $uri
        ATTR name requesting-user-name $user
-       ATTR name job-name "A4 Test Document, 2-Up"
+       ATTR name job-name "A4 Test Document; 2-Up"
        ATTR boolean ipp-attribute-fidelity false
        ATTR name document-name document-a4.pdf
        ATTR keyword compression none
@@ -1951,7 +1974,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
        STATUS successful-ok
        STATUS server-error-job-canceled
-       STATUS server-error-busy REPEAT-MATCH
+       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 10
 
        EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
        EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
@@ -1965,6 +1988,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 }
 
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_PDF
        SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA
        SKIP-IF-NOT-DEFINED OPTIONAL_2UP
@@ -1976,7 +2000,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
        ATTR naturalLanguage attributes-natural-language en
        ATTR uri printer-uri $uri
        ATTR name requesting-user-name $user
-       ATTR name job-name "US Letter Test Document, 2-Up"
+       ATTR name job-name "US Letter Test Document; 2-Up"
        ATTR boolean ipp-attribute-fidelity false
        ATTR name document-name document-letter.pdf
        ATTR keyword compression none
@@ -1988,7 +2012,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
        STATUS successful-ok
        STATUS server-error-job-canceled
-       STATUS server-error-busy REPEAT-MATCH
+       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 10
 
        EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
        EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
@@ -2002,6 +2026,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 }
 
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT
        SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA
        SKIP-IF-NOT-DEFINED OPTIONAL_2UP
@@ -2013,7 +2038,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
        ATTR naturalLanguage attributes-natural-language en
        ATTR uri printer-uri $uri
        ATTR name requesting-user-name $user
-       ATTR name job-name "A4 Test Document, 2-Up"
+       ATTR name job-name "A4 Test Document; 2-Up"
        ATTR boolean ipp-attribute-fidelity false
        ATTR name document-name document-a4.ps
        ATTR keyword compression none
@@ -2025,7 +2050,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
        STATUS successful-ok
        STATUS server-error-job-canceled
-       STATUS server-error-busy REPEAT-MATCH
+       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 10
 
        EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
        EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
@@ -2039,6 +2064,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 }
 
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT
        SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA
        SKIP-IF-NOT-DEFINED OPTIONAL_2UP
@@ -2050,7 +2076,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
        ATTR naturalLanguage attributes-natural-language en
        ATTR uri printer-uri $uri
        ATTR name requesting-user-name $user
-       ATTR name job-name "US Letter Test Document, 2-Up"
+       ATTR name job-name "US Letter Test Document; 2-Up"
        ATTR boolean ipp-attribute-fidelity false
        ATTR name document-name document-letter.ps
        ATTR keyword compression none
@@ -2062,7 +2088,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
        STATUS successful-ok
        STATUS server-error-job-canceled
-       STATUS server-error-busy REPEAT-MATCH
+       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 10
 
        EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
        EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
@@ -2078,6 +2104,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
 # Test output with print-quality...
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_JPEG
        SKIP-IF-NOT-DEFINED OPTIONAL_4X6_MEDIA
        SKIP-IF-NOT-DEFINED OPTIONAL_DRAFT_QUALITY
@@ -2089,7 +2116,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
        ATTR naturalLanguage attributes-natural-language en
        ATTR uri printer-uri $uri
        ATTR name requesting-user-name $user
-       ATTR name job-name "4x6 Color JPEG, Draft Quality"
+       ATTR name job-name "4x6 Color JPEG; Draft Quality"
        ATTR boolean ipp-attribute-fidelity false
        ATTR name document-name color.jpg
        ATTR keyword compression none
@@ -2097,11 +2124,11 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
        GROUP job-attributes-tag
        ATTR keyword media $OPTIONAL_4X6_MEDIA
        ATTR enum print-quality 3
-       FILE color.jpeg
+       FILE color.jpg
 
        STATUS successful-ok
        STATUS server-error-job-canceled
-       STATUS server-error-busy REPEAT-MATCH
+       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 10
 
        EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
        EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
@@ -2115,6 +2142,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 }
 
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_JPEG
        SKIP-IF-NOT-DEFINED OPTIONAL_4X6_MEDIA
        SKIP-IF-NOT-DEFINED OPTIONAL_NORMAL_QUALITY
@@ -2126,7 +2154,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
        ATTR naturalLanguage attributes-natural-language en
        ATTR uri printer-uri $uri
        ATTR name requesting-user-name $user
-       ATTR name job-name "4x6 Color JPEG, Normal Quality"
+       ATTR name job-name "4x6 Color JPEG; Normal Quality"
        ATTR boolean ipp-attribute-fidelity false
        ATTR name document-name color.jpg
        ATTR keyword compression none
@@ -2134,11 +2162,11 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
        GROUP job-attributes-tag
        ATTR keyword media $OPTIONAL_4X6_MEDIA
        ATTR enum print-quality 4
-       FILE color.jpeg
+       FILE color.jpg
 
        STATUS successful-ok
        STATUS server-error-job-canceled
-       STATUS server-error-busy REPEAT-MATCH
+       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 10
 
        EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
        EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
@@ -2152,6 +2180,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 }
 
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_JPEG
        SKIP-IF-NOT-DEFINED OPTIONAL_4X6_MEDIA
        SKIP-IF-NOT-DEFINED OPTIONAL_HIGH_QUALITY
@@ -2163,7 +2192,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
        ATTR naturalLanguage attributes-natural-language en
        ATTR uri printer-uri $uri
        ATTR name requesting-user-name $user
-       ATTR name job-name "4x6 Color JPEG, High Quality"
+       ATTR name job-name "4x6 Color JPEG; High Quality"
        ATTR boolean ipp-attribute-fidelity false
        ATTR name document-name color.jpg
        ATTR keyword compression none
@@ -2171,11 +2200,11 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
        GROUP job-attributes-tag
        ATTR keyword media $OPTIONAL_4X6_MEDIA
        ATTR enum print-quality 5
-       FILE color.jpeg
+       FILE color.jpg
 
        STATUS successful-ok
        STATUS server-error-job-canceled
-       STATUS server-error-busy REPEAT-MATCH
+       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 10
 
        EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
        EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
@@ -2189,6 +2218,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 }
 
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_PDF
        SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA
        SKIP-IF-NOT-DEFINED OPTIONAL_DRAFT_QUALITY
@@ -2200,7 +2230,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
        ATTR naturalLanguage attributes-natural-language en
        ATTR uri printer-uri $uri
        ATTR name requesting-user-name $user
-       ATTR name job-name "A4 Test Document, 2-Up"
+       ATTR name job-name "A4 Test Document; 2-Up"
        ATTR boolean ipp-attribute-fidelity false
        ATTR name document-name document-a4.pdf
        ATTR keyword compression none
@@ -2212,7 +2242,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
        STATUS successful-ok
        STATUS server-error-job-canceled
-       STATUS server-error-busy REPEAT-MATCH
+       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 10
 
        EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
        EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
@@ -2226,6 +2256,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 }
 
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_PDF
        SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA
        SKIP-IF-NOT-DEFINED OPTIONAL_DRAFT_QUALITY
@@ -2237,7 +2268,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
        ATTR naturalLanguage attributes-natural-language en
        ATTR uri printer-uri $uri
        ATTR name requesting-user-name $user
-       ATTR name job-name "US Letter Test Document, 2-Up"
+       ATTR name job-name "US Letter Test Document; 2-Up"
        ATTR boolean ipp-attribute-fidelity false
        ATTR name document-name document-letter.pdf
        ATTR keyword compression none
@@ -2249,7 +2280,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
        STATUS successful-ok
        STATUS server-error-job-canceled
-       STATUS server-error-busy REPEAT-MATCH
+       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 10
 
        EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
        EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
@@ -2284,7 +2315,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
        STATUS successful-ok
        STATUS server-error-job-canceled
-       STATUS server-error-busy REPEAT-MATCH
+       STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 10
 
        EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
        EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
@@ -2315,5 +2346,5 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
 
 #
-# End of "$Id: ipp-1.1.test 10058 2011-10-05 15:03:34Z mike $".
+# End of "$Id$".
 #
index 441796a..0ee0e94 100644 (file)
@@ -1,9 +1,9 @@
 #
-# "$Id: ipp-2.0.test 10046 2011-10-03 21:14:02Z mike $"
+# "$Id$"
 #
 #   IPP/2.0 test suite.
 #
-#   Copyright 2007-2011 by Apple Inc.
+#   Copyright 2007-2012 by Apple Inc.
 #   Copyright 2001-2006 by Easy Software Products. All rights reserved.
 #
 #   These coded instructions, statements, and computer programs are the
@@ -24,7 +24,7 @@ INCLUDE "ipp-1.1.test"
 
 
 # Regular expression for PWG media size names (eek!)
-DEFINE MEDIA_REGEX "/^((custom|na|asme|roc|oe)_[a-z0-9][-a-z0-9]*_([1-9][0-9]*(\.[0-9]*[1-9])?|0\.[0-9]*[1-9])x([1-9][0-9]*(\.[0-9]*[1-9])?|0\.[0-9]*[1-9])in|(custom|iso|jis|jpn|prc|om)_[a-z0-9][-a-z0-9]*_([1-9][0-9]*(\.[0-9]*[1-9])?|0\.[0-9]*[1-9])x([1-9][0-9]*(\.[0-9]*[1-9])?|0\.[0-9]*[1-9])mm)$$/"
+DEFINE MEDIA_REGEX "/^(choice(_((custom|na|asme|roc|oe|roll)_[a-z0-9][-a-z0-9]*_([1-9][0-9]*(\.[0-9]*[1-9])?|0\.[0-9]*[1-9])x([1-9][0-9]*(\.[0-9]*[1-9])?|0\.[0-9]*[1-9])in|(custom|iso|jis|jpn|prc|om|roll)_[a-z0-9][-a-z0-9]*_([1-9][0-9]*(\.[0-9]*[1-9])?|0\.[0-9]*[1-9])x([1-9][0-9]*(\.[0-9]*[1-9])?|0\.[0-9]*[1-9])mm)){2,}|(custom|na|asme|roc|oe|roll)_[a-z0-9][-a-z0-9]*_([1-9][0-9]*(\.[0-9]*[1-9])?|0\.[0-9]*[1-9])x([1-9][0-9]*(\.[0-9]*[1-9])?|0\.[0-9]*[1-9])in|(custom|iso|jis|jpn|prc|om|roll)_[a-z0-9][-a-z0-9]*_([1-9][0-9]*(\.[0-9]*[1-9])?|0\.[0-9]*[1-9])x([1-9][0-9]*(\.[0-9]*[1-9])?|0\.[0-9]*[1-9])mm)$$/"
 
 
 # Test required printer description attribute support.
@@ -50,10 +50,10 @@ DEFINE MEDIA_REGEX "/^((custom|na|asme|roc|oe)_[a-z0-9][-a-z0-9]*_([1-9][0-9]*(\
        EXPECT copies-supported OF-TYPE rangeOfInteger IN-GROUP printer-attributes-tag
        EXPECT finishings-default OF-TYPE enum IN-GROUP printer-attributes-tag
        EXPECT finishings-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 3
-       EXPECT media-default OF-TYPE no-value|keyword|name IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "no-value,$MEDIA_REGEX"
-       EXPECT ?media-ready OF-TYPE keyword|name IN-GROUP printer-attributes-tag WITH-VALUE "$MEDIA_REGEX"
-       EXPECT media-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag WITH-VALUE "$MEDIA_REGEX"
-       EXPECT orientation-requested-default OF-TYPE no-value|enum IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE no-value,3,4,5,6
+       EXPECT media-default OF-TYPE no-value|keyword|name IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "$MEDIA_REGEX"
+       EXPECT ?media-ready OF-TYPE keyword|name IN-GROUP printer-attributes-tag WITH-ALL-VALUES "$MEDIA_REGEX"
+       EXPECT media-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag WITH-ALL-VALUES "$MEDIA_REGEX"
+       EXPECT orientation-requested-default OF-TYPE no-value|enum IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE 3,4,5,6
        EXPECT orientation-requested-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 3,4,5,6
        EXPECT output-bin-default OF-TYPE keyword|name IN-GROUP printer-attributes-tag COUNT 1
        EXPECT output-bin-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag
@@ -61,8 +61,8 @@ DEFINE MEDIA_REGEX "/^((custom|na|asme|roc|oe)_[a-z0-9][-a-z0-9]*_([1-9][0-9]*(\
        EXPECT print-quality-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 3,4,5
        EXPECT printer-resolution-default OF-TYPE resolution IN-GROUP printer-attributes-tag COUNT 1
        EXPECT printer-resolution-supported OF-TYPE resolution IN-GROUP printer-attributes-tag
-       EXPECT sides-default OF-TYPE keyword IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^(one-sided|two-sided-long-edge|two-sided-short-edge)$$/"
-       EXPECT sides-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "/^(one-sided|two-sided-long-edge|two-sided-short-edge)$$/"
+       EXPECT sides-default OF-TYPE keyword IN-GROUP printer-attributes-tag COUNT 1 WITH-ALL-VALUES "/^(one-sided|two-sided-long-edge|two-sided-short-edge)$$/"
+       EXPECT sides-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-ALL-VALUES "/^(one-sided|two-sided-long-edge|two-sided-short-edge)$$/"
 
        # Optional media-col support
        EXPECT ?media-col-default OF-TYPE collection IN-GROUP printer-attributes-tag COUNT 1
@@ -111,5 +111,5 @@ DEFINE MEDIA_REGEX "/^((custom|na|asme|roc|oe)_[a-z0-9][-a-z0-9]*_([1-9][0-9]*(\
 
 
 #
-# End of "$Id: ipp-2.0.test 10046 2011-10-03 21:14:02Z mike $".
+# End of "$Id$".
 #
index 87a86e4..e8ddae4 100644 (file)
@@ -1,5 +1,5 @@
 #
-# "$Id: ipp-2.1.test 10011 2011-09-21 06:01:35Z mike $"
+# "$Id$"
 #
 #   IPP/2.1 test suite.
 #
@@ -92,5 +92,5 @@ INCLUDE "ipp-2.0.test"
 
 
 #
-# End of "$Id: ipp-2.1.test 10011 2011-09-21 06:01:35Z mike $".
+# End of "$Id$".
 #
index 23880a1..32bcf44 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: ippserver.c 10031 2011-09-30 05:24:10Z mike $"
+ * "$Id: ippserver.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Sample IPP/2.0 server for CUPS.
  *
- *   Copyright 2010-2011 by Apple Inc.
+ *   Copyright 2010-2012 by Apple Inc.
  *
  *   These coded instructions, statements, and computer programs are the
  *   property of Apple Inc. and are protected by Federal copyright
@@ -18,7 +18,6 @@
  *   main()                      - Main entry to the sample server.
  *   clean_jobs()                - Clean out old (completed) jobs.
  *   compare_jobs()              - Compare two jobs.
- *   copy_attribute()            - Copy a single attribute.
  *   copy_attributes()           - Copy attributes from one request to
  *                                 another.
  *   copy_job_attrs()            - Copy job attributes to the response.
@@ -81,6 +80,7 @@
 #ifdef HAVE_DNSSD
 #  include <dns_sd.h>
 #endif /* HAVE_DNSSD */
+#include <limits.h>
 #include <sys/stat.h>
 #include <poll.h>
 #ifdef HAVE_SYS_MOUNT_H
@@ -254,8 +254,6 @@ typedef struct _ipp_client_s                /**** Client data ****/
 
 static void            clean_jobs(_ipp_printer_t *printer);
 static int             compare_jobs(_ipp_job_t *a, _ipp_job_t *b);
-static ipp_attribute_t *copy_attribute(ipp_t *to, ipp_attribute_t *attr,
-                                       ipp_tag_t group_tag, int quickcopy);
 static void            copy_attributes(ipp_t *to, ipp_t *from, cups_array_t *ra,
                                        ipp_tag_t group_tag, int quickcopy);
 static void            copy_job_attributes(_ipp_client_t *client,
@@ -577,191 +575,6 @@ compare_jobs(_ipp_job_t *a,               /* I - First job */
 
 
 /*
- * 'copy_attribute()' - Copy a single attribute.
- */
-
-static ipp_attribute_t *               /* O - New attribute */
-copy_attribute(
-    ipp_t           *to,               /* O - Destination request/response */
-    ipp_attribute_t *attr,             /* I - Attribute to copy */
-    ipp_tag_t       group_tag,         /* I - Group to put the copy in */
-    int             quickcopy)         /* I - Do a quick copy? */
-{
-  int                  i;              /* Looping var */
-  ipp_attribute_t      *toattr;        /* Destination attribute */
-
-
-  if (Verbosity && attr->name)
-  {
-    char       buffer[2048];           /* Attribute value */
-
-    _ippAttrString(attr, buffer, sizeof(buffer));
-
-    fprintf(stderr, "Copying %s (%s%s) %s\n", attr->name,
-           attr->num_values > 1 ? "1setOf " : "",
-           ippTagString(attr->value_tag & ~IPP_TAG_COPY), buffer);
-  }
-
-  switch (attr->value_tag & ~IPP_TAG_COPY)
-  {
-    case IPP_TAG_ZERO :
-        toattr = ippAddSeparator(to);
-       break;
-
-    case IPP_TAG_INTEGER :
-    case IPP_TAG_ENUM :
-        toattr = ippAddIntegers(to, group_tag, attr->value_tag,
-                               attr->name, attr->num_values, NULL);
-
-        for (i = 0; i < attr->num_values; i ++)
-         toattr->values[i].integer = attr->values[i].integer;
-        break;
-
-    case IPP_TAG_BOOLEAN :
-        toattr = ippAddBooleans(to, group_tag, attr->name,
-                               attr->num_values, NULL);
-
-        for (i = 0; i < attr->num_values; i ++)
-         toattr->values[i].boolean = attr->values[i].boolean;
-        break;
-
-    case IPP_TAG_TEXT :
-    case IPP_TAG_NAME :
-    case IPP_TAG_KEYWORD :
-    case IPP_TAG_URI :
-    case IPP_TAG_URISCHEME :
-    case IPP_TAG_CHARSET :
-    case IPP_TAG_LANGUAGE :
-    case IPP_TAG_MIMETYPE :
-        toattr = ippAddStrings(to, group_tag,
-                              (ipp_tag_t)(attr->value_tag | quickcopy),
-                              attr->name, attr->num_values, NULL, NULL);
-
-        if (quickcopy)
-       {
-          for (i = 0; i < attr->num_values; i ++)
-           toattr->values[i].string.text = attr->values[i].string.text;
-        }
-       else
-       {
-          for (i = 0; i < attr->num_values; i ++)
-           toattr->values[i].string.text =
-               _cupsStrAlloc(attr->values[i].string.text);
-       }
-        break;
-
-    case IPP_TAG_DATE :
-        toattr = ippAddDate(to, group_tag, attr->name,
-                           attr->values[0].date);
-        break;
-
-    case IPP_TAG_RESOLUTION :
-        toattr = ippAddResolutions(to, group_tag, attr->name,
-                                  attr->num_values, IPP_RES_PER_INCH,
-                                  NULL, NULL);
-
-        for (i = 0; i < attr->num_values; i ++)
-       {
-         toattr->values[i].resolution.xres  = attr->values[i].resolution.xres;
-         toattr->values[i].resolution.yres  = attr->values[i].resolution.yres;
-         toattr->values[i].resolution.units = attr->values[i].resolution.units;
-       }
-        break;
-
-    case IPP_TAG_RANGE :
-        toattr = ippAddRanges(to, group_tag, attr->name,
-                             attr->num_values, NULL, NULL);
-
-        for (i = 0; i < attr->num_values; i ++)
-       {
-         toattr->values[i].range.lower = attr->values[i].range.lower;
-         toattr->values[i].range.upper = attr->values[i].range.upper;
-       }
-        break;
-
-    case IPP_TAG_TEXTLANG :
-    case IPP_TAG_NAMELANG :
-        toattr = ippAddStrings(to, group_tag,
-                              (ipp_tag_t)(attr->value_tag | quickcopy),
-                              attr->name, attr->num_values, NULL, NULL);
-
-        if (quickcopy)
-       {
-          for (i = 0; i < attr->num_values; i ++)
-         {
-            toattr->values[i].string.charset = attr->values[i].string.charset;
-           toattr->values[i].string.text    = attr->values[i].string.text;
-          }
-        }
-       else
-       {
-          for (i = 0; i < attr->num_values; i ++)
-         {
-           if (!i)
-              toattr->values[i].string.charset =
-                 _cupsStrAlloc(attr->values[i].string.charset);
-           else
-              toattr->values[i].string.charset =
-                 toattr->values[0].string.charset;
-
-           toattr->values[i].string.text =
-               _cupsStrAlloc(attr->values[i].string.text);
-          }
-        }
-        break;
-
-    case IPP_TAG_BEGIN_COLLECTION :
-        toattr = ippAddCollections(to, group_tag, attr->name,
-                                  attr->num_values, NULL);
-
-        for (i = 0; i < attr->num_values; i ++)
-       {
-         toattr->values[i].collection = attr->values[i].collection;
-         attr->values[i].collection->use ++;
-       }
-        break;
-
-    case IPP_TAG_STRING :
-        if (quickcopy)
-       {
-         toattr = ippAddOctetString(to, group_tag, attr->name, NULL, 0);
-         toattr->value_tag |= quickcopy;
-         toattr->values[0].unknown.data   = attr->values[0].unknown.data;
-         toattr->values[0].unknown.length = attr->values[0].unknown.length;
-       }
-       else
-         toattr = ippAddOctetString(to, attr->group_tag, attr->name,
-                                    attr->values[0].unknown.data,
-                                    attr->values[0].unknown.length);
-        break;
-
-    default :
-        toattr = ippAddIntegers(to, group_tag, attr->value_tag,
-                               attr->name, attr->num_values, NULL);
-
-        for (i = 0; i < attr->num_values; i ++)
-       {
-         toattr->values[i].unknown.length = attr->values[i].unknown.length;
-
-         if (toattr->values[i].unknown.length > 0)
-         {
-           if ((toattr->values[i].unknown.data =
-                    malloc(toattr->values[i].unknown.length)) == NULL)
-             toattr->values[i].unknown.length = 0;
-           else
-             memcpy(toattr->values[i].unknown.data,
-                    attr->values[i].unknown.data,
-                    toattr->values[i].unknown.length);
-         }
-       }
-        break; /* anti-compiler-warning-code */
-  }
-
-  return (toattr);
-}
-
-
-/*
  * 'copy_attributes()' - Copy attributes from one request to another.
  */
 
@@ -789,7 +602,7 @@ copy_attributes(ipp_t        *to,   /* I - Destination request */
       continue;
 
     if (!ra || cupsArrayFind(ra, fromattr->name))
-      copy_attribute(to, fromattr, fromattr->group_tag, quickcopy);
+      ippCopyAttribute(to, fromattr, quickcopy);
   }
 }
 
@@ -1215,7 +1028,7 @@ create_printer(const char *servername,    /* I - Server hostname (NULL for default)
                                        /* media-size-supported value */
   ipp_t                        *media_col_default;
                                        /* media-col-default value */
-  ipp_value_t          *media_col_value;
+  _ipp_value_t         *media_col_value;
                                        /* Current media-col-database value */
   int                  k_supported;    /* Maximum file size supported */
 #ifdef HAVE_STATVFS
@@ -2084,7 +1897,7 @@ debug_attributes(const char *title,       /* I - Title */
 
     if (attr->name)
     {
-      _ippAttrString(attr, buffer, sizeof(buffer));
+      ippAttributeString(attr, buffer, sizeof(buffer));
       fprintf(stderr, "    %s (%s%s) %s\n", attr->name,
              attr->num_values > 1 ? "1setOf " : "",
              ippTagString(attr->value_tag), buffer);
@@ -3587,7 +3400,7 @@ ipp_send_document(_ipp_client_t *client)/* I - Client */
 
   if (close(job->fd))
   {
-    int error = errno;         /* Write error */
+    int error = errno;                 /* Write error */
 
     job->state = IPP_JOB_ABORTED;
     job->fd    = -1;
@@ -4978,12 +4791,18 @@ respond_unsupported(
     _ipp_client_t   *client,           /* I - Client */
     ipp_attribute_t *attr)             /* I - Atribute */
 {
+  ipp_attribute_t      *temp;          /* Copy of attribute */
+
+
   if (!client->response->attrs)
     respond_ipp(client, IPP_ATTRIBUTES, "Unsupported %s %s%s value.",
                attr->name, attr->num_values > 1 ? "1setOf " : "",
                ippTagString(attr->value_tag));
+  else
+    ippSetStatusCode(client->response, IPP_ATTRIBUTES);
 
-  copy_attribute(client->response, attr, IPP_TAG_UNSUPPORTED_GROUP, 0);
+  temp = ippCopyAttribute(client->response, attr, 0);
+  ippSetGroupTag(client->response, &temp, IPP_TAG_UNSUPPORTED_GROUP);
 }
 
 
@@ -5433,5 +5252,5 @@ valid_job_attributes(
 
 
 /*
- * End of "$Id: ippserver.c 10031 2011-09-30 05:24:10Z mike $".
+ * End of "$Id: ippserver.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index 23270ee..afa60ef 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: ipptool.c 10090 2011-10-25 22:39:56Z mike $"
+ * "$Id: ipptool.c 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   ipptool command for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2013 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -17,6 +17,7 @@
  * Contents:
  *
  *   main()              - Parse options and do tests.
+ *   add_stringf()       - Add a formatted string to an array.
  *   compare_vars()      - Compare two variables.
  *   do_tests()          - Do tests as specified in the test file.
  *   expand_variables()  - Expand variables in a string.
@@ -33,7 +34,6 @@
  *   print_csv()         - Print a line of CSV text.
  *   print_fatal_error() - Print a fatal error message.
  *   print_line()        - Print a line of formatted or CSV text.
- *   print_test_error()  - Print a test error message.
  *   print_xml_header()  - Print a standard XML plist header.
  *   print_xml_string()  - Print an XML string with escaping.
  *   print_xml_trailer() - Print the XML trailer with success/fail value.
@@ -81,6 +81,13 @@ typedef enum _cups_output_e          /**** Output mode ****/
   _CUPS_OUTPUT_CSV                     /* Comma-separated values output */
 } _cups_output_t;
 
+typedef enum _cups_with_e              /**** WITH flags ****/
+{
+  _CUPS_WITH_LITERAL = 0,              /* Match string is a literal value */
+  _CUPS_WITH_ALL = 1,                  /* Must match all values */
+  _CUPS_WITH_REGEX = 2                 /* Match string is a regular expression */
+} _cups_with_t;
+
 typedef struct _cups_expect_s          /**** Expected attribute info ****/
 {
   int          optional,               /* Optional attribute? */
@@ -94,9 +101,10 @@ typedef struct _cups_expect_s               /**** Expected attribute info ****/
                *define_match,          /* Variable to define on match */
                *define_no_match,       /* Variable to define on no-match */
                *define_value;          /* Variable to define with value */
-  int          repeat_match,           /* Repeat test on match */
+  int          repeat_limit,           /* Maximum number of times to repeat */
+               repeat_match,           /* Repeat test on match */
                repeat_no_match,        /* Repeat test on no match */
-               with_regex,             /* WITH-VALUE is a regular expression */
+               with_flags,             /* WITH flags  */
                count;                  /* Expected count if > 0 */
   ipp_tag_t    in_group;               /* IN-GROUP value */
 } _cups_expect_t;
@@ -105,8 +113,12 @@ typedef struct _cups_status_s              /**** Status info ****/
 {
   ipp_status_t status;                 /* Expected status code */
   char         *if_defined,            /* Only if variable is defined */
-               *if_not_defined;        /* Only if variable is not defined */
-  int          repeat_match,           /* Repeat the test when it does not match */
+               *if_not_defined,        /* Only if variable is not defined */
+               *define_match,          /* Variable to define on match */
+               *define_no_match,       /* Variable to define on no-match */
+               *define_value;          /* Variable to define with value */
+  int          repeat_limit,           /* Maximum number of times to repeat */
+               repeat_match,           /* Repeat the test when it does not match */
                repeat_no_match;        /* Repeat the test when it matches */
 } _cups_status_t;
 
@@ -171,14 +183,12 @@ const char * const URIStatusStrings[] =   /* URI status strings */
  * Local functions...
  */
 
+static void    add_stringf(cups_array_t *a, const char *s, ...)
+               __attribute__ ((__format__ (__printf__, 2, 3)));
 static int     compare_vars(_cups_var_t *a, _cups_var_t *b);
 static int     do_tests(_cups_vars_t *vars, const char *testfile);
 static void    expand_variables(_cups_vars_t *vars, char *dst, const char *src,
-                                size_t dstsize)
-#ifdef __GNUC__
-__attribute((nonnull(1,2,3)))
-#endif /* __GNUC__ */
-;
+                                size_t dstsize) __attribute__((nonnull(1,2,3)));
 static int      expect_matches(_cups_expect_t *expect, ipp_tag_t value_tag);
 static ipp_t   *get_collection(_cups_vars_t *vars, FILE *fp, int *linenum);
 static char    *get_filename(const char *testfile, char *dst, const char *src,
@@ -193,17 +203,9 @@ static void        print_col(ipp_t *col);
 static void    print_csv(ipp_attribute_t *attr, int num_displayed,
                          char **displayed, size_t *widths);
 static void    print_fatal_error(const char *s, ...)
-#ifdef __GNUC__
-__attribute__ ((__format__ (__printf__, 1, 2)))
-#endif /* __GNUC__ */
-;
+               __attribute__ ((__format__ (__printf__, 1, 2)));
 static void    print_line(ipp_attribute_t *attr, int num_displayed,
                           char **displayed, size_t *widths);
-static void    print_test_error(const char *s, ...)
-#ifdef __GNUC__
-__attribute__ ((__format__ (__printf__, 1, 2)))
-#endif /* __GNUC__ */
-;
 static void    print_xml_header(void);
 static void    print_xml_string(const char *element, const char *s);
 static void    print_xml_trailer(int success, const char *message);
@@ -213,10 +215,11 @@ static void       set_variable(_cups_vars_t *vars, const char *name,
 static void    sigterm_handler(int sig);
 #endif /* WIN32 */
 static int     timeout_cb(http_t *http, void *user_data);
-static void    usage(void);
-static int     validate_attr(ipp_attribute_t *attr, int print);
-static int      with_value(char *value, int regex, ipp_attribute_t *attr,
-                          int report, char *matchbuf, size_t matchlen);
+static void    usage(void) __attribute__((noreturn));
+static int     validate_attr(cups_array_t *errors, ipp_attribute_t *attr);
+static int      with_value(cups_array_t *errors, char *value, int flags,
+                          ipp_attribute_t *attr, char *matchbuf,
+                          size_t matchlen);
 
 
 /*
@@ -419,7 +422,11 @@ main(int  argc,                            /* I - Number of command-line args */
                 */
 
                snprintf(filename, sizeof(filename), "%s.gz", argv[i]);
-                if (access(filename, 0) && filename[0] != '/')
+                if (access(filename, 0) && filename[0] != '/'
+#ifdef WIN32
+                    && (!isalpha(filename[0] & 255) || filename[1] != ':')
+#endif /* WIN32 */
+                    )
                {
                  snprintf(filename, sizeof(filename), "%s/ipptool/%s",
                           cg->cups_datadir, argv[i]);
@@ -454,6 +461,9 @@ main(int  argc,                             /* I - Number of command-line args */
                   set_variable(&vars, "filetype", "text/html");
                 else if (!_cups_strcasecmp(ext, ".jpg"))
                   set_variable(&vars, "filetype", "image/jpeg");
+                else if (!_cups_strcasecmp(ext, ".pcl") ||
+                         !_cups_strcasecmp(ext, ".pcl.gz"))
+                  set_variable(&vars, "filetype", "application/vnd.hp-PCL");
                 else if (!_cups_strcasecmp(ext, ".pdf"))
                   set_variable(&vars, "filetype", "application/pdf");
                 else if (!_cups_strcasecmp(ext, ".png"))
@@ -505,8 +515,8 @@ main(int  argc,                             /* I - Number of command-line args */
 
               if (Output == _CUPS_OUTPUT_PLIST && interval)
              {
-               _cupsLangPuts(stderr, _("ipptool: \"-i\" is incompatible with "
-                                       "\"-X\"."));
+               _cupsLangPuts(stderr, _("ipptool: \"-i\" and \"-n\" are "
+                                       "incompatible with -X\"."));
                usage();
              }
              break;
@@ -529,8 +539,8 @@ main(int  argc,                             /* I - Number of command-line args */
 
               if (Output == _CUPS_OUTPUT_PLIST && repeat)
              {
-               _cupsLangPuts(stderr, _("ipptool: \"-n\" is incompatible with "
-                                       "\"-X\"."));
+               _cupsLangPuts(stderr, _("ipptool: \"-i\" and \"-n\" are "
+                                       "incompatible with -X\"."));
                usage();
              }
              break;
@@ -618,7 +628,11 @@ main(int  argc,                            /* I - Number of command-line args */
        usage();
       }
 
-      if (access(argv[i], 0) && argv[i][0] != '/')
+      if (access(argv[i], 0) && argv[i][0] != '/'
+#ifdef WIN32
+          && (!isalpha(argv[i][0] & 255) || argv[i][1] != ':')
+#endif /* WIN32 */
+          )
       {
         snprintf(testname, sizeof(testname), "%s/ipptool/%s", cg->cups_datadir,
                  argv[i]);
@@ -681,6 +695,42 @@ main(int  argc,                            /* I - Number of command-line args */
 
 
 /*
+ * 'add_stringf()' - Add a formatted string to an array.
+ */
+
+static void
+add_stringf(cups_array_t *a,           /* I - Array */
+            const char   *s,           /* I - Printf-style format string */
+            ...)                       /* I - Additional args as needed */
+{
+  char         buffer[10240];          /* Format buffer */
+  va_list      ap;                     /* Argument pointer */
+
+
+ /*
+  * Don't bother is the array is NULL...
+  */
+
+  if (!a)
+    return;
+
+ /*
+  * Format the message...
+  */
+
+  va_start(ap, s);
+  vsnprintf(buffer, sizeof(buffer), s, ap);
+  va_end(ap);
+
+ /*
+  * Add it to the array...
+  */
+
+  cupsArrayAdd(a, buffer);
+}
+
+
+/*
  * 'compare_vars()' - Compare two variables.
  */
 
@@ -708,6 +758,9 @@ do_tests(_cups_vars_t *vars,                /* I - Variables */
                show_header = 1,        /* Show the test header? */
                ignore_errors,          /* Ignore test failures? */
                skip_previous = 0,      /* Skip on previous test failure? */
+               repeat_count,           /* Repeat count */
+               repeat_interval,        /* Repeat interval */
+               repeat_prev,            /* Previous repeat interval */
                repeat_test;            /* Repeat a test? */
   http_t       *http = NULL;           /* HTTP connection to server */
   FILE         *fp = NULL;             /* Test file */
@@ -744,7 +797,9 @@ do_tests(_cups_vars_t *vars,                /* I - Variables */
   int          num_displayed = 0;      /* Number of displayed attributes */
   char         *displayed[200];        /* Displayed attributes */
   size_t       widths[200];            /* Width of columns */
-  cups_array_t *a;                     /* Duplicate attribute array */
+  cups_array_t *a,                     /* Duplicate attribute array */
+               *errors = NULL;         /* Errors array */
+  const char   *error;                 /* Current error */
 
 
  /*
@@ -789,6 +844,8 @@ do_tests(_cups_vars_t *vars,                /* I - Variables */
 
   CUPS_SRAND(time(NULL));
 
+  errors     = cupsArrayNew3(NULL, NULL, NULL, 0, (cups_acopy_func_t)strdup,
+                             (cups_afree_func_t)free);
   pass       = 1;
   linenum    = 1;
   request_id = (CUPS_RAND() % 1000) * 137 + 1;
@@ -1122,14 +1179,19 @@ do_tests(_cups_vars_t *vars,            /* I - Variables */
           _cups_strcasecmp(token, "IF-NOT-DEFINED") &&
           _cups_strcasecmp(token, "IN-GROUP") &&
           _cups_strcasecmp(token, "OF-TYPE") &&
+          _cups_strcasecmp(token, "REPEAT-LIMIT") &&
           _cups_strcasecmp(token, "REPEAT-MATCH") &&
           _cups_strcasecmp(token, "REPEAT-NO-MATCH") &&
           _cups_strcasecmp(token, "SAME-COUNT-AS") &&
+          _cups_strcasecmp(token, "WITH-ALL-VALUES") &&
           _cups_strcasecmp(token, "WITH-VALUE"))
         last_expect = NULL;
 
-      if (_cups_strcasecmp(token, "IF-DEFINED") &&
+      if (_cups_strcasecmp(token, "DEFINE-MATCH") &&
+          _cups_strcasecmp(token, "DEFINE-NO-MATCH") &&
+         _cups_strcasecmp(token, "IF-DEFINED") &&
           _cups_strcasecmp(token, "IF-NOT-DEFINED") &&
+          _cups_strcasecmp(token, "REPEAT-LIMIT") &&
           _cups_strcasecmp(token, "REPEAT-MATCH") &&
           _cups_strcasecmp(token, "REPEAT-NO-MATCH"))
         last_status = NULL;
@@ -1156,7 +1218,7 @@ do_tests(_cups_vars_t *vars,              /* I - Variables */
 
          if ((tempcol = realloc(lastcol, sizeof(ipp_attribute_t) +
                                          (lastcol->num_values + 1) *
-                                         sizeof(ipp_value_t))) == NULL)
+                                         sizeof(_ipp_value_t))) == NULL)
          {
            print_fatal_error("Unable to allocate memory on line %d.", linenum);
            pass = 0;
@@ -1402,13 +1464,15 @@ do_tests(_cups_vars_t *vars,            /* I - Variables */
         * Operation...
        */
 
-       if (!get_token(fp, token, sizeof(token), &linenum))
+       if (!get_token(fp, temp, sizeof(temp), &linenum))
        {
          print_fatal_error("Missing OPERATION code on line %d.", linenum);
          pass = 0;
          goto test_exit;
        }
 
+       expand_variables(vars, token, temp, sizeof(token));
+
        if ((op = ippOpValue(token)) == (ipp_op_t)-1 &&
            (op = strtol(token, NULL, 0)) == 0)
        {
@@ -1451,13 +1515,15 @@ do_tests(_cups_vars_t *vars,            /* I - Variables */
 
         double delay;
 
-       if (!get_token(fp, token, sizeof(token), &linenum))
+       if (!get_token(fp, temp, sizeof(temp), &linenum))
        {
          print_fatal_error("Missing DELAY value on line %d.", linenum);
          pass = 0;
          goto test_exit;
        }
 
+       expand_variables(vars, token, temp, sizeof(token));
+
        if ((delay = _cupsStrScand(token, NULL, localeconv())) <= 0.0)
        {
          print_fatal_error("Bad DELAY value \"%s\" on line %d.", token,
@@ -1509,21 +1575,22 @@ do_tests(_cups_vars_t *vars,            /* I - Variables */
        }
 
         expand_variables(vars, token, temp, sizeof(token));
+        attrptr = NULL;
 
         switch (value)
        {
          case IPP_TAG_BOOLEAN :
              if (!_cups_strcasecmp(token, "true"))
-               ippAddBoolean(request, group, attr, 1);
+               attrptr = ippAddBoolean(request, group, attr, 1);
               else
-               ippAddBoolean(request, group, attr, atoi(token));
+               attrptr = ippAddBoolean(request, group, attr, atoi(token));
              break;
 
          case IPP_TAG_INTEGER :
          case IPP_TAG_ENUM :
              if (!strchr(token, ','))
-               ippAddInteger(request, group, value, attr,
-                             strtol(token, &tokenptr, 0));
+               attrptr = ippAddInteger(request, group, value, attr,
+                                       strtol(token, &tokenptr, 0));
              else
              {
                int     values[100],    /* Values */
@@ -1542,7 +1609,7 @@ do_tests(_cups_vars_t *vars,              /* I - Variables */
                  num_values ++;
                }
 
-               ippAddIntegers(request, group, value, attr, num_values, values);
+               attrptr = ippAddIntegers(request, group, value, attr, num_values, values);
              }
 
              if (!tokenptr || *tokenptr)
@@ -1568,7 +1635,9 @@ do_tests(_cups_vars_t *vars,              /* I - Variables */
                }
 
                if (ptr <= token || xres <= 0 || yres <= 0 || !ptr ||
-                   (_cups_strcasecmp(ptr, "dpi") && _cups_strcasecmp(ptr, "dpc") &&
+                   (_cups_strcasecmp(ptr, "dpi") &&
+                    _cups_strcasecmp(ptr, "dpc") &&
+                    _cups_strcasecmp(ptr, "dpcm") &&
                     _cups_strcasecmp(ptr, "other")))
                {
                  print_fatal_error("Bad resolution value \"%s\" on line %d.",
@@ -1578,14 +1647,15 @@ do_tests(_cups_vars_t *vars,            /* I - Variables */
                }
 
                if (!_cups_strcasecmp(ptr, "dpi"))
-                 ippAddResolution(request, group, attr, IPP_RES_PER_INCH,
-                                  xres, yres);
-               else if (!_cups_strcasecmp(ptr, "dpc"))
-                 ippAddResolution(request, group, attr, IPP_RES_PER_CM,
-                                  xres, yres);
+                 attrptr = ippAddResolution(request, group, attr, IPP_RES_PER_INCH,
+                                            xres, yres);
+               else if (!_cups_strcasecmp(ptr, "dpc") ||
+                        !_cups_strcasecmp(ptr, "dpcm"))
+                 attrptr = ippAddResolution(request, group, attr, IPP_RES_PER_CM,
+                                            xres, yres);
                else
-                 ippAddResolution(request, group, attr, (ipp_res_t)0,
-                                  xres, yres);
+                 attrptr = ippAddResolution(request, group, attr, (ipp_res_t)0,
+                                            xres, yres);
              }
              break;
 
@@ -1610,8 +1680,8 @@ do_tests(_cups_vars_t *vars,              /* I - Variables */
                  goto test_exit;
                }
 
-               ippAddRanges(request, group, attr, num_vals / 2, lowers,
-                            uppers);
+               attrptr = ippAddRanges(request, group, attr, num_vals / 2, lowers,
+                                      uppers);
              }
              break;
 
@@ -1623,7 +1693,7 @@ do_tests(_cups_vars_t *vars,              /* I - Variables */
 
                 if (col)
                 {
-                 lastcol = ippAddCollection(request, group, attr, col);
+                 attrptr = lastcol = ippAddCollection(request, group, attr, col);
                  ippDelete(col);
                }
                else
@@ -1641,6 +1711,11 @@ do_tests(_cups_vars_t *vars,             /* I - Variables */
              }
              break;
 
+          case IPP_TAG_STRING :
+              attrptr = ippAddOctetString(request, group, attr, token,
+                                          strlen(token));
+             break;
+
          default :
              print_fatal_error("Unsupported ATTR value tag %s on line %d.",
                                ippTagString(value), linenum);
@@ -1658,7 +1733,7 @@ do_tests(_cups_vars_t *vars,              /* I - Variables */
          case IPP_TAG_LANGUAGE :
          case IPP_TAG_MIMETYPE :
              if (!strchr(token, ','))
-               ippAddString(request, group, value, attr, NULL, token);
+               attrptr = ippAddString(request, group, value, attr, NULL, token);
              else
              {
               /*
@@ -1680,11 +1755,19 @@ do_tests(_cups_vars_t *vars,            /* I - Variables */
                  num_values ++;
                }
 
-               ippAddStrings(request, group, value, attr, num_values,
-                             NULL, (const char **)values);
+               attrptr = ippAddStrings(request, group, value, attr, num_values,
+                                       NULL, (const char **)values);
              }
              break;
        }
+
+       if (!attrptr)
+       {
+         print_fatal_error("Unable to add attribute on line %d: %s", linenum,
+                           cupsLastErrorString());
+         pass = 0;
+         goto test_exit;
+       }
       }
       else if (!_cups_strcasecmp(token, "FILE"))
       {
@@ -1735,8 +1818,11 @@ do_tests(_cups_vars_t *vars,             /* I - Variables */
         last_status = statuses + num_statuses;
        num_statuses ++;
 
+        last_status->define_match    = NULL;
+        last_status->define_no_match = NULL;
        last_status->if_defined      = NULL;
        last_status->if_not_defined  = NULL;
+       last_status->repeat_limit    = 1000;
        last_status->repeat_match    = 0;
        last_status->repeat_no_match = 0;
       }
@@ -1764,6 +1850,7 @@ do_tests(_cups_vars_t *vars,              /* I - Variables */
        num_expects ++;
 
        memset(last_expect, 0, sizeof(_cups_expect_t));
+       last_expect->repeat_limit = 1000;
 
         if (token[0] == '!')
         {
@@ -1816,10 +1903,12 @@ do_tests(_cups_vars_t *vars,            /* I - Variables */
 
        if (last_expect)
          last_expect->define_match = strdup(token);
+       else if (last_status)
+         last_status->define_match = strdup(token);
        else
        {
-         print_fatal_error("DEFINE-MATCH without a preceding EXPECT on line "
-                           "%d.", linenum);
+         print_fatal_error("DEFINE-MATCH without a preceding EXPECT or STATUS "
+                           "on line %d.", linenum);
          pass = 0;
          goto test_exit;
        }
@@ -1836,10 +1925,12 @@ do_tests(_cups_vars_t *vars,            /* I - Variables */
 
        if (last_expect)
          last_expect->define_no_match = strdup(token);
+       else if (last_status)
+         last_status->define_no_match = strdup(token);
        else
        {
-         print_fatal_error("DEFINE-NO-MATCH without a preceding EXPECT on "
-                           "line %d.", linenum);
+         print_fatal_error("DEFINE-NO-MATCH without a preceding EXPECT or "
+                           "STATUS on line %d.", linenum);
          pass = 0;
          goto test_exit;
        }
@@ -1858,8 +1949,8 @@ do_tests(_cups_vars_t *vars,              /* I - Variables */
          last_expect->define_value = strdup(token);
        else
        {
-         print_fatal_error("DEFINE-VALUE without a preceding EXPECT on line "
-                           "%d.", linenum);
+         print_fatal_error("DEFINE-VALUE without a preceding EXPECT on "
+                           "line %d.", linenum);
          pass = 0;
          goto test_exit;
        }
@@ -1909,6 +2000,33 @@ do_tests(_cups_vars_t *vars,             /* I - Variables */
          goto test_exit;
        }
       }
+      else if (!_cups_strcasecmp(token, "REPEAT-LIMIT"))
+      {
+       if (!get_token(fp, token, sizeof(token), &linenum))
+       {
+         print_fatal_error("Missing REPEAT-LIMIT value on line %d.", linenum);
+         pass = 0;
+         goto test_exit;
+       }
+       else if (atoi(token) <= 0)
+       {
+         print_fatal_error("Bad REPEAT-LIMIT value on line %d.", linenum);
+         pass = 0;
+         goto test_exit;
+       }
+
+        if (last_status)
+          last_status->repeat_limit = atoi(token);
+       else if (last_expect)
+         last_expect->repeat_limit = atoi(token);
+       else
+       {
+         print_fatal_error("REPEAT-LIMIT without a preceding EXPECT or STATUS "
+                           "on line %d.", linenum);
+         pass = 0;
+         goto test_exit;
+       }
+      }
       else if (!_cups_strcasecmp(token, "REPEAT-MATCH"))
       {
         if (last_status)
@@ -1998,11 +2116,15 @@ do_tests(_cups_vars_t *vars,            /* I - Variables */
          goto test_exit;
        }
       }
-      else if (!_cups_strcasecmp(token, "WITH-VALUE"))
+      else if (!_cups_strcasecmp(token, "WITH-ALL-VALUES") ||
+               !_cups_strcasecmp(token, "WITH-VALUE"))
       {
+       if (!_cups_strcasecmp(token, "WITH-ALL-VALUES") && last_expect)
+         last_expect->with_flags = _CUPS_WITH_ALL;
+
        if (!get_token(fp, temp, sizeof(temp), &linenum))
        {
-         print_fatal_error("Missing WITH-VALUE value on line %d.", linenum);
+         print_fatal_error("Missing %s value on line %d.", token, linenum);
          pass = 0;
          goto test_exit;
        }
@@ -2024,7 +2146,7 @@ do_tests(_cups_vars_t *vars,              /* I - Variables */
            */
 
            last_expect->with_value = calloc(1, tokenptr - token);
-           last_expect->with_regex = 1;
+           last_expect->with_flags |= _CUPS_WITH_REGEX;
 
            if (last_expect->with_value)
              memcpy(last_expect->with_value, token + 1, tokenptr - token - 1);
@@ -2036,11 +2158,12 @@ do_tests(_cups_vars_t *vars,            /* I - Variables */
            */
 
            last_expect->with_value = strdup(token);
+           last_expect->with_flags |= _CUPS_WITH_LITERAL;
          }
        }
        else
        {
-         print_fatal_error("WITH-VALUE without a preceding EXPECT on line %d.",
+         print_fatal_error("%s without a preceding EXPECT on line %d.", token,
                            linenum);
          pass = 0;
          goto test_exit;
@@ -2101,7 +2224,8 @@ do_tests(_cups_vars_t *vars,              /* I - Variables */
       if (request->attrs)
       {
        puts("<dict>");
-       for (attrptr = request->attrs, group = attrptr->group_tag;
+       for (attrptr = request->attrs,
+                group = attrptr ? attrptr->group_tag : IPP_TAG_ZERO;
             attrptr;
             attrptr = attrptr->next)
          print_attr(attrptr, &group);
@@ -2137,8 +2261,7 @@ do_tests(_cups_vars_t *vars,              /* I - Variables */
        puts("<key>StatusCode</key>");
        print_xml_string("string", "skip");
        puts("<key>ResponseAttributes</key>");
-       puts("<dict>");
-       puts("</dict>");
+       puts("<dict />");
       }
       else if (Output == _CUPS_OUTPUT_TEST)
        puts("SKIP]");
@@ -2146,8 +2269,14 @@ do_tests(_cups_vars_t *vars,             /* I - Variables */
       goto skip_error;
     }
 
+    repeat_count    = 0;
+    repeat_interval = 1;
+    repeat_prev     = 1;
+
     do
     {
+      repeat_count ++;
+
       status = HTTP_OK;
 
       if (transfer == _CUPS_TRANSFER_CHUNKED ||
@@ -2228,7 +2357,7 @@ do_tests(_cups_vars_t *vars,              /* I - Variables */
            status   = httpGetStatus(http);
          }
 
-         if (!Cancel && status == HTTP_ERROR &&
+         if (!Cancel && status == HTTP_ERROR && http->error != EINVAL &&
 #ifdef WIN32
              http->error != WSAETIMEDOUT)
 #else
@@ -2240,35 +2369,65 @@ do_tests(_cups_vars_t *vars,            /* I - Variables */
          }
          else if (status == HTTP_ERROR)
          {
-           if (!Cancel)
-             httpReconnect(http);
-
            prev_pass = 0;
+           break;
+         }
+         else if (status != HTTP_OK)
+         {
+           httpFlush(http);
+           break;
          }
        }
       }
 
+      if (!Cancel && status == HTTP_ERROR && http->error != EINVAL &&
+#ifdef WIN32
+         http->error != WSAETIMEDOUT)
+#else
+         http->error != ETIMEDOUT)
+#endif /* WIN32 */
+      {
+       if (httpReconnect(http))
+         prev_pass = 0;
+      }
+      else if (status == HTTP_ERROR)
+      {
+        if (!Cancel)
+          httpReconnect(http);
+
+       prev_pass = 0;
+      }
+      else if (status != HTTP_OK)
+      {
+        httpFlush(http);
+        prev_pass = 0;
+      }
+
      /*
       * Check results of request...
       */
 
-      if (!response)
-       prev_pass = pass = 0;
-      else
-      {
-       if (http->version != HTTP_1_1)
-         prev_pass = pass = 0;
+      cupsArrayClear(errors);
 
-       if (response->state != IPP_DATA)
-         prev_pass = pass = 0;
+      if (http->version != HTTP_1_1)
+       add_stringf(errors, "Bad HTTP version (%d.%d)", http->version / 100,
+                   http->version % 100);
 
-       if (response->request.status.request_id != request_id)
-         prev_pass = pass = 0;
+      if (!response)
+      {
+       /*
+        * No response, log error...
+        */
 
-       if (version &&
-           (response->request.status.version[0] != (version / 10) ||
-            response->request.status.version[1] != (version % 10)))
-         prev_pass = pass = 0;
+       add_stringf(errors, "IPP request failed with status %s (%s)",
+                   ippErrorString(cupsLastError()),
+                   cupsLastErrorString());
+      }
+      else
+      {
+       /*
+        * Collect common attribute values...
+        */
 
        if ((attrptr = ippFindAttribute(response, "job-id",
                                        IPP_TAG_INTEGER)) != NULL)
@@ -2288,106 +2447,193 @@ do_tests(_cups_vars_t *vars,          /* I - Variables */
          set_variable(vars, "notify-subscription-id", temp);
        }
 
-       attrptr = response->attrs;
-       if (!attrptr || !attrptr->name ||
-           attrptr->value_tag != IPP_TAG_CHARSET ||
-           attrptr->group_tag != IPP_TAG_OPERATION ||
-           attrptr->num_values != 1 ||
-           strcmp(attrptr->name, "attributes-charset"))
-         prev_pass = pass = 0;
+       /*
+        * Check response, validating groups and attributes and logging errors
+        * as needed...
+        */
 
-       if (attrptr)
+       if (response->state != IPP_DATA)
+         add_stringf(errors,
+                     "Missing end-of-attributes-tag in response "
+                     "(RFC 2910 section 3.5.1)");
+
+       if (version &&
+           (response->request.status.version[0] != (version / 10) ||
+            response->request.status.version[1] != (version % 10)))
+          add_stringf(errors,
+                      "Bad version %d.%d in response - expected %d.%d "
+                     "(RFC 2911 section 3.1.8).",
+                     response->request.status.version[0],
+                     response->request.status.version[1],
+                     version / 10, version % 10);
+
+       if (response->request.status.request_id != request_id)
+         add_stringf(errors,
+                     "Bad request ID %d in response - expected %d "
+                     "(RFC 2911 section 3.1.1)",
+                     response->request.status.request_id, request_id);
+
+       attrptr = response->attrs;
+       if (!attrptr)
+         add_stringf(errors,
+                     "Missing first attribute \"attributes-charset "
+                     "(charset)\" in group operation-attributes-tag "
+                     "(RFC 2911 section 3.1.4).");
+       else
        {
-         attrptr = attrptr->next;
-         if (!attrptr || !attrptr->name ||
-             attrptr->value_tag != IPP_TAG_LANGUAGE ||
+         if (!attrptr->name ||
+             attrptr->value_tag != IPP_TAG_CHARSET ||
              attrptr->group_tag != IPP_TAG_OPERATION ||
              attrptr->num_values != 1 ||
-             strcmp(attrptr->name, "attributes-natural-language"))
-           prev_pass = pass = 0;
-       }
+             strcmp(attrptr->name, "attributes-charset"))
+           add_stringf(errors,
+                       "Bad first attribute \"%s (%s%s)\" in group %s, "
+                       "expected \"attributes-charset (charset)\" in "
+                       "group operation-attributes-tag (RFC 2911 section "
+                       "3.1.4).",
+                       attrptr->name ? attrptr->name : "(null)",
+                       attrptr->num_values > 1 ? "1setOf " : "",
+                       ippTagString(attrptr->value_tag),
+                       ippTagString(attrptr->group_tag));
+
+         attrptr = attrptr->next;
+         if (!attrptr)
+           add_stringf(errors,
+                       "Missing second attribute \"attributes-natural-"
+                       "language (naturalLanguage)\" in group "
+                       "operation-attributes-tag (RFC 2911 section "
+                       "3.1.4).");
+         else if (!attrptr->name ||
+                  attrptr->value_tag != IPP_TAG_LANGUAGE ||
+                  attrptr->group_tag != IPP_TAG_OPERATION ||
+                  attrptr->num_values != 1 ||
+                  strcmp(attrptr->name, "attributes-natural-language"))
+           add_stringf(errors,
+                       "Bad first attribute \"%s (%s%s)\" in group %s, "
+                       "expected \"attributes-natural-language "
+                       "(naturalLanguage)\" in group "
+                       "operation-attributes-tag (RFC 2911 section "
+                       "3.1.4).",
+                       attrptr->name ? attrptr->name : "(null)",
+                       attrptr->num_values > 1 ? "1setOf " : "",
+                       ippTagString(attrptr->value_tag),
+                       ippTagString(attrptr->group_tag));
+        }
 
        if ((attrptr = ippFindAttribute(response, "status-message",
-                                       IPP_TAG_ZERO)) != NULL &&
-           (attrptr->value_tag != IPP_TAG_TEXT ||
-            attrptr->group_tag != IPP_TAG_OPERATION ||
-            attrptr->num_values != 1 ||
-            (attrptr->value_tag == IPP_TAG_TEXT &&
-             strlen(attrptr->values[0].string.text) > 255)))
-         prev_pass = pass = 0;
+                                        IPP_TAG_ZERO)) != NULL)
+       {
+         if (attrptr->value_tag != IPP_TAG_TEXT)
+           add_stringf(errors,
+                       "status-message (text(255)) has wrong value tag "
+                       "%s (RFC 2911 section 3.1.6.2).",
+                       ippTagString(attrptr->value_tag));
+         if (attrptr->group_tag != IPP_TAG_OPERATION)
+           add_stringf(errors,
+                       "status-message (text(255)) has wrong group tag "
+                       "%s (RFC 2911 section 3.1.6.2).",
+                       ippTagString(attrptr->group_tag));
+         if (attrptr->num_values != 1)
+           add_stringf(errors,
+                       "status-message (text(255)) has %d values "
+                       "(RFC 2911 section 3.1.6.2).",
+                       attrptr->num_values);
+         if (attrptr->value_tag == IPP_TAG_TEXT &&
+             strlen(attrptr->values[0].string.text) > 255)
+           add_stringf(errors,
+                       "status-message (text(255)) has bad length %d"
+                       " (RFC 2911 section 3.1.6.2).",
+                       (int)strlen(attrptr->values[0].string.text));
+        }
 
        if ((attrptr = ippFindAttribute(response, "detailed-status-message",
-                                       IPP_TAG_ZERO)) != NULL &&
-           (attrptr->value_tag != IPP_TAG_TEXT ||
-            attrptr->group_tag != IPP_TAG_OPERATION ||
-            attrptr->num_values != 1 ||
-            (attrptr->value_tag == IPP_TAG_TEXT &&
-             strlen(attrptr->values[0].string.text) > 1023)))
-         prev_pass = pass = 0;
+                                        IPP_TAG_ZERO)) != NULL)
+       {
+         if (attrptr->value_tag != IPP_TAG_TEXT)
+           add_stringf(errors,
+                       "detailed-status-message (text(MAX)) has wrong "
+                       "value tag %s (RFC 2911 section 3.1.6.3).",
+                       ippTagString(attrptr->value_tag));
+         if (attrptr->group_tag != IPP_TAG_OPERATION)
+           add_stringf(errors,
+                       "detailed-status-message (text(MAX)) has wrong "
+                       "group tag %s (RFC 2911 section 3.1.6.3).",
+                       ippTagString(attrptr->group_tag));
+         if (attrptr->num_values != 1)
+           add_stringf(errors,
+                       "detailed-status-message (text(MAX)) has %d values"
+                       " (RFC 2911 section 3.1.6.3).",
+                       attrptr->num_values);
+         if (attrptr->value_tag == IPP_TAG_TEXT &&
+             strlen(attrptr->values[0].string.text) > 1023)
+           add_stringf(errors,
+                       "detailed-status-message (text(MAX)) has bad "
+                       "length %d (RFC 2911 section 3.1.6.3).",
+                       (int)strlen(attrptr->values[0].string.text));
+        }
 
        a = cupsArrayNew((cups_array_func_t)strcmp, NULL);
 
-       for (attrptr = response->attrs, group = attrptr->group_tag;
+       for (attrptr = response->attrs,
+                group = attrptr ? attrptr->group_tag : IPP_TAG_ZERO;
             attrptr;
             attrptr = attrptr->next)
        {
          if (attrptr->group_tag != group)
          {
+           int out_of_order = 0;       /* Are attribute groups out-of-order? */
            cupsArrayClear(a);
 
+
             switch (attrptr->group_tag)
             {
               case IPP_TAG_ZERO :
                   break;
 
               case IPP_TAG_OPERATION :
-                  prev_pass = pass = 0;
+                  out_of_order = 1;
                   break;
 
               case IPP_TAG_UNSUPPORTED_GROUP :
                   if (group != IPP_TAG_OPERATION)
-                   prev_pass = pass = 0;
+                   out_of_order = 1;
                   break;
 
               case IPP_TAG_JOB :
               case IPP_TAG_PRINTER :
                   if (group != IPP_TAG_OPERATION &&
                       group != IPP_TAG_UNSUPPORTED_GROUP)
-                   prev_pass = pass = 0;
+                   out_of_order = 1;
                   break;
 
               case IPP_TAG_SUBSCRIPTION :
                   if (group > attrptr->group_tag &&
                       group != IPP_TAG_DOCUMENT)
-                   prev_pass = pass = 0;
+                   out_of_order = 1;
                   break;
 
               default :
                   if (group > attrptr->group_tag)
-                   prev_pass = pass = 0;
+                   out_of_order = 1;
                   break;
             }
 
-            if (!pass)
-             break;
+            if (out_of_order)
+             add_stringf(errors, "Attribute groups out of order (%s < %s)",
+                         ippTagString(attrptr->group_tag),
+                         ippTagString(group));
 
            if (attrptr->group_tag != IPP_TAG_ZERO)
              group = attrptr->group_tag;
          }
 
-         if (!validate_attr(attrptr, 0))
-         {
-           prev_pass = pass = 0;
-           break;
-         }
+         validate_attr(errors, attrptr);
 
           if (attrptr->name)
           {
             if (cupsArrayFind(a, attrptr->name))
-            {
-              prev_pass = pass = 0;
-              break;
-            }
+              add_stringf(errors, "Duplicate \"%s\" attribute in %s group",
+                         attrptr->name, ippTagString(group));
 
             cupsArrayAdd(a, attrptr->name);
           }
@@ -2395,6 +2641,11 @@ do_tests(_cups_vars_t *vars,             /* I - Variables */
 
         cupsArrayDelete(a);
 
+       /*
+        * Now check the test-defined expected status-code and attribute
+        * values...
+        */
+
        for (i = 0; i < num_statuses; i ++)
        {
          if (statuses[i].if_defined &&
@@ -2407,17 +2658,52 @@ do_tests(_cups_vars_t *vars,            /* I - Variables */
 
          if (response->request.status.status_code == statuses[i].status)
          {
-           if (statuses[i].repeat_match)
+           if (statuses[i].repeat_match &&
+               repeat_count < statuses[i].repeat_limit)
              repeat_test = 1;
 
-           break;
+            if (statuses[i].define_match)
+              set_variable(vars, statuses[i].define_match, "1");
+
+            break;
          }
-         else if (statuses[i].repeat_no_match)
-           repeat_test = 1;
+         else
+         {
+           if (statuses[i].repeat_no_match &&
+               repeat_count < statuses[i].repeat_limit)
+             repeat_test = 1;
+
+            if (statuses[i].define_no_match)
+            {
+              set_variable(vars, statuses[i].define_no_match, "1");
+              break;
+            }
+          }
        }
 
        if (i == num_statuses && num_statuses > 0)
-         prev_pass = pass = 0;
+       {
+         for (i = 0; i < num_statuses; i ++)
+         {
+           if (statuses[i].if_defined &&
+               !get_variable(vars, statuses[i].if_defined))
+             continue;
+
+           if (statuses[i].if_not_defined &&
+               get_variable(vars, statuses[i].if_not_defined))
+             continue;
+
+            if (!statuses[i].repeat_match)
+             add_stringf(errors, "EXPECTED: STATUS %s (got %s)",
+                         ippErrorString(statuses[i].status),
+                         ippErrorString(cupsLastError()));
+         }
+
+         if ((attrptr = ippFindAttribute(response, "status-message",
+                                         IPP_TAG_TEXT)) != NULL)
+           add_stringf(errors, "status-message=\"%s\"",
+                       attrptr->values[0].string.text);
+        }
 
        for (i = num_expects, expect = expects; i > 0; i --, expect ++)
        {
@@ -2439,27 +2725,63 @@ do_tests(_cups_vars_t *vars,            /* I - Variables */
            if (expect->define_no_match)
              set_variable(vars, expect->define_no_match, "1");
            else if (!expect->define_match && !expect->define_value)
-             prev_pass = pass = 0;
+           {
+             if (found && expect->not_expect)
+               add_stringf(errors, "NOT EXPECTED: %s", expect->name);
+             else if (!found && !(expect->not_expect || expect->optional))
+               add_stringf(errors, "EXPECTED: %s", expect->name);
+             else if (found)
+             {
+               if (!expect_matches(expect, found->value_tag))
+                 add_stringf(errors, "EXPECTED: %s OF-TYPE %s (got %s)",
+                             expect->name, expect->of_type,
+                             ippTagString(found->value_tag));
+
+               if (expect->in_group && found->group_tag != expect->in_group)
+                 add_stringf(errors, "EXPECTED: %s IN-GROUP %s (got %s).",
+                             expect->name, ippTagString(expect->in_group),
+                             ippTagString(found->group_tag));
+              }
+            }
 
-           if (expect->repeat_no_match)
+           if (expect->repeat_no_match &&
+               repeat_count < expect->repeat_limit)
              repeat_test = 1;
 
            continue;
          }
 
          if (found)
-           _ippAttrString(found, buffer, sizeof(buffer));
+           ippAttributeString(found, buffer, sizeof(buffer));
 
          if (found &&
-             !with_value(expect->with_value, expect->with_regex, found, 0,
+             !with_value(NULL, expect->with_value, expect->with_flags, found,
                          buffer, sizeof(buffer)))
          {
            if (expect->define_no_match)
              set_variable(vars, expect->define_no_match, "1");
-           else if (!expect->define_match && !expect->define_value)
-             prev_pass = pass = 0;
+           else if (!expect->define_match && !expect->define_value &&
+                    !expect->repeat_match && !expect->repeat_no_match)
+           {
+             if (expect->with_flags & _CUPS_WITH_REGEX)
+               add_stringf(errors, "EXPECTED: %s %s /%s/",
+                           expect->name,
+                           (expect->with_flags & _CUPS_WITH_ALL) ?
+                               "WITH-ALL-VALUES" : "WITH-VALUE",
+                           expect->with_value);
+             else
+               add_stringf(errors, "EXPECTED: %s %s \"%s\"",
+                           expect->name,
+                           (expect->with_flags & _CUPS_WITH_ALL) ?
+                               "WITH-ALL-VALUES" : "WITH-VALUE",
+                           expect->with_value);
+
+             with_value(errors, expect->with_value, expect->with_flags, found,
+                        buffer, sizeof(buffer));
+           }
 
-           if (expect->repeat_no_match)
+           if (expect->repeat_no_match &&
+               repeat_count < expect->repeat_limit)
              repeat_test = 1;
 
            continue;
@@ -2471,9 +2793,13 @@ do_tests(_cups_vars_t *vars,             /* I - Variables */
            if (expect->define_no_match)
              set_variable(vars, expect->define_no_match, "1");
            else if (!expect->define_match && !expect->define_value)
-             prev_pass = pass = 0;
+           {
+             add_stringf(errors, "EXPECTED: %s COUNT %d (got %d)", expect->name,
+                         expect->count, found->num_values);
+           }
 
-           if (expect->repeat_no_match)
+           if (expect->repeat_no_match &&
+               repeat_count < expect->repeat_limit)
              repeat_test = 1;
 
            continue;
@@ -2489,9 +2815,21 @@ do_tests(_cups_vars_t *vars,             /* I - Variables */
              if (expect->define_no_match)
                set_variable(vars, expect->define_no_match, "1");
              else if (!expect->define_match && !expect->define_value)
-               prev_pass = pass = 0;
+             {
+               if (!attrptr)
+                 add_stringf(errors,
+                             "EXPECTED: %s (%d values) SAME-COUNT-AS %s "
+                             "(not returned)", expect->name,
+                             found->num_values, expect->same_count_as);
+               else if (attrptr->num_values != found->num_values)
+                 add_stringf(errors,
+                             "EXPECTED: %s (%d values) SAME-COUNT-AS %s "
+                             "(%d values)", expect->name, found->num_values,
+                             expect->same_count_as, attrptr->num_values);
+             }
 
-             if (expect->repeat_no_match)
+             if (expect->repeat_no_match &&
+                 repeat_count < expect->repeat_limit)
                repeat_test = 1;
 
              continue;
@@ -2504,7 +2842,8 @@ do_tests(_cups_vars_t *vars,              /* I - Variables */
          if (found && expect->define_value)
            set_variable(vars, expect->define_value, buffer);
 
-         if (found && expect->repeat_match)
+         if (found && expect->repeat_match &&
+             repeat_count < expect->repeat_limit)
            repeat_test = 1;
        }
       }
@@ -2515,7 +2854,22 @@ do_tests(_cups_vars_t *vars,             /* I - Variables */
       */
 
       if (repeat_test)
-        sleep(1);
+      {
+       if (Output == _CUPS_OUTPUT_TEST)
+        {
+          printf("%04d]\n", repeat_count);
+          fflush(stdout);
+        }
+
+        sleep(repeat_interval);
+        repeat_interval = _cupsNextDelay(repeat_interval, &repeat_prev);
+
+       if (Output == _CUPS_OUTPUT_TEST)
+       {
+         printf("    %-68.68s [", name);
+         fflush(stdout);
+       }
+      }
     }
     while (repeat_test);
 
@@ -2523,6 +2877,9 @@ do_tests(_cups_vars_t *vars,              /* I - Variables */
 
     request = NULL;
 
+    if (cupsArrayCount(errors) > 0)
+      prev_pass = pass = 0;
+
     if (prev_pass)
       PassCount ++;
     else
@@ -2582,7 +2939,7 @@ do_tests(_cups_vars_t *vars,              /* I - Variables */
             attrptr = ippFindNextAttribute(response, displayed[i],
                                            IPP_TAG_ZERO))
        {
-         width = _ippAttrString(attrptr, NULL, 0);
+         width = ippAttributeString(attrptr, NULL, 0);
          if (width > widths[i])
            widths[i] = width;
        }
@@ -2618,324 +2975,45 @@ do_tests(_cups_vars_t *vars,           /* I - Variables */
       {
        puts("<key>Errors</key>");
        puts("<array>");
-      }
 
-      if (http->version != HTTP_1_1)
-       print_test_error("Bad HTTP version (%d.%d)", http->version / 100,
-                        http->version % 100);
+       for (error = (char *)cupsArrayFirst(errors);
+            error;
+            error = (char *)cupsArrayNext(errors))
+         print_xml_string("string", error);
 
-      if (!response)
-       print_test_error("IPP request failed with status %s (%s)",
-                        ippErrorString(cupsLastError()),
-                        cupsLastErrorString());
+       puts("</array>");
+      }
       else
       {
-       if (response->state != IPP_DATA)
-         print_test_error("Missing end-of-attributes-tag in response "
-                          "(RFC 2910 section 3.5.1)");
+       for (error = (char *)cupsArrayFirst(errors);
+            error;
+            error = (char *)cupsArrayNext(errors))
+         printf("        %s\n", error);
+      }
+    }
 
-       if (version &&
-           (response->request.status.version[0] != (version / 10) ||
-            response->request.status.version[1] != (version % 10)))
-          print_test_error("Bad version %d.%d in response - expected %d.%d "
-                          "(RFC 2911 section 3.1.8).",
-                          response->request.status.version[0],
-                          response->request.status.version[1],
-                          version / 10, version % 10);
+    if (num_displayed > 0 && !Verbosity && response &&
+        Output == _CUPS_OUTPUT_TEST)
+    {
+      for (attrptr = response->attrs;
+          attrptr != NULL;
+          attrptr = attrptr->next)
+      {
+       if (attrptr->name)
+       {
+         for (i = 0; i < num_displayed; i ++)
+         {
+           if (!strcmp(displayed[i], attrptr->name))
+           {
+             print_attr(attrptr, NULL);
+             break;
+           }
+         }
+       }
+      }
+    }
 
-       if (response->request.status.request_id != request_id)
-         print_test_error("Bad request ID %d in response - expected %d "
-                          "(RFC 2911 section 3.1.1)",
-                          response->request.status.request_id, request_id);
-
-       attrptr = response->attrs;
-       if (!attrptr)
-         print_test_error("Missing first attribute \"attributes-charset "
-                          "(charset)\" in group operation-attributes-tag "
-                          "(RFC 2911 section 3.1.4).");
-       else
-       {
-         if (!attrptr->name ||
-             attrptr->value_tag != IPP_TAG_CHARSET ||
-             attrptr->group_tag != IPP_TAG_OPERATION ||
-             attrptr->num_values != 1 ||
-             strcmp(attrptr->name, "attributes-charset"))
-           print_test_error("Bad first attribute \"%s (%s%s)\" in group %s, "
-                            "expected \"attributes-charset (charset)\" in "
-                            "group operation-attributes-tag (RFC 2911 section "
-                            "3.1.4).",
-                            attrptr->name ? attrptr->name : "(null)",
-                            attrptr->num_values > 1 ? "1setOf " : "",
-                            ippTagString(attrptr->value_tag),
-                            ippTagString(attrptr->group_tag));
-
-         attrptr = attrptr->next;
-         if (!attrptr)
-           print_test_error("Missing second attribute \"attributes-natural-"
-                            "language (naturalLanguage)\" in group "
-                            "operation-attributes-tag (RFC 2911 section "
-                            "3.1.4).");
-         else if (!attrptr->name ||
-                  attrptr->value_tag != IPP_TAG_LANGUAGE ||
-                  attrptr->group_tag != IPP_TAG_OPERATION ||
-                  attrptr->num_values != 1 ||
-                  strcmp(attrptr->name, "attributes-natural-language"))
-           print_test_error("Bad first attribute \"%s (%s%s)\" in group %s, "
-                            "expected \"attributes-natural-language "
-                            "(naturalLanguage)\" in group "
-                            "operation-attributes-tag (RFC 2911 section "
-                            "3.1.4).",
-                            attrptr->name ? attrptr->name : "(null)",
-                            attrptr->num_values > 1 ? "1setOf " : "",
-                            ippTagString(attrptr->value_tag),
-                            ippTagString(attrptr->group_tag));
-        }
-
-       if ((attrptr = ippFindAttribute(response, "status-message",
-                                        IPP_TAG_ZERO)) != NULL)
-       {
-         if (attrptr->value_tag != IPP_TAG_TEXT)
-           print_test_error("status-message (text(255)) has wrong value tag "
-                            "%s (RFC 2911 section 3.1.6.2).",
-                            ippTagString(attrptr->value_tag));
-         if (attrptr->group_tag != IPP_TAG_OPERATION)
-           print_test_error("status-message (text(255)) has wrong group tag "
-                            "%s (RFC 2911 section 3.1.6.2).",
-                            ippTagString(attrptr->group_tag));
-         if (attrptr->num_values != 1)
-           print_test_error("status-message (text(255)) has %d values "
-                            "(RFC 2911 section 3.1.6.2).",
-                            attrptr->num_values);
-         if (attrptr->value_tag == IPP_TAG_TEXT &&
-             strlen(attrptr->values[0].string.text) > 255)
-           print_test_error("status-message (text(255)) has bad length %d"
-                            " (RFC 2911 section 3.1.6.2).",
-                            (int)strlen(attrptr->values[0].string.text));
-        }
-
-       if ((attrptr = ippFindAttribute(response, "detailed-status-message",
-                                        IPP_TAG_ZERO)) != NULL)
-       {
-         if (attrptr->value_tag != IPP_TAG_TEXT)
-           print_test_error("detailed-status-message (text(MAX)) has wrong "
-                            "value tag %s (RFC 2911 section 3.1.6.3).",
-                            ippTagString(attrptr->value_tag));
-         if (attrptr->group_tag != IPP_TAG_OPERATION)
-           print_test_error("detailed-status-message (text(MAX)) has wrong "
-                            "group tag %s (RFC 2911 section 3.1.6.3).",
-                            ippTagString(attrptr->group_tag));
-         if (attrptr->num_values != 1)
-           print_test_error("detailed-status-message (text(MAX)) has %d values"
-                            " (RFC 2911 section 3.1.6.3).",
-                            attrptr->num_values);
-         if (attrptr->value_tag == IPP_TAG_TEXT &&
-             strlen(attrptr->values[0].string.text) > 1023)
-           print_test_error("detailed-status-message (text(MAX)) has bad "
-                            "length %d (RFC 2911 section 3.1.6.3).",
-                            (int)strlen(attrptr->values[0].string.text));
-        }
-
-       a = cupsArrayNew((cups_array_func_t)strcmp, NULL);
-
-       for (attrptr = response->attrs, group = attrptr->group_tag;
-            attrptr;
-            attrptr = attrptr->next)
-       {
-         if (attrptr->group_tag != group)
-         {
-           cupsArrayClear(a);
-
-            switch (attrptr->group_tag)
-            {
-              case IPP_TAG_ZERO :
-                  break;
-
-              case IPP_TAG_OPERATION :
-                  prev_pass = pass = 0;
-                  break;
-
-              case IPP_TAG_UNSUPPORTED_GROUP :
-                  if (group != IPP_TAG_OPERATION)
-                   print_test_error("Attribute groups out of order (%s < %s)",
-                                    ippTagString(attrptr->group_tag),
-                                    ippTagString(group));
-                  break;
-
-              case IPP_TAG_JOB :
-              case IPP_TAG_PRINTER :
-                  if (group != IPP_TAG_OPERATION &&
-                      group != IPP_TAG_UNSUPPORTED_GROUP)
-                   print_test_error("Attribute groups out of order (%s < %s)",
-                                    ippTagString(attrptr->group_tag),
-                                    ippTagString(group));
-                  break;
-
-              case IPP_TAG_SUBSCRIPTION :
-                  if (group > attrptr->group_tag &&
-                      group != IPP_TAG_DOCUMENT)
-                   print_test_error("Attribute groups out of order (%s < %s)",
-                                    ippTagString(attrptr->group_tag),
-                                    ippTagString(group));
-                  break;
-
-              default :
-                  if (group > attrptr->group_tag)
-                   print_test_error("Attribute groups out of order (%s < %s)",
-                                    ippTagString(attrptr->group_tag),
-                                    ippTagString(group));
-                  break;
-            }
-
-           if (attrptr->group_tag != IPP_TAG_ZERO)
-             group = attrptr->group_tag;
-         }
-
-         validate_attr(attrptr, 1);
-
-          if (attrptr->name)
-          {
-            if (cupsArrayFind(a, attrptr->name))
-              print_test_error("Duplicate \"%s\" attribute in %s group",
-                               attrptr->name, ippTagString(group));
-
-            cupsArrayAdd(a, attrptr->name);
-          }
-       }
-
-        cupsArrayDelete(a);
-
-       for (i = 0; i < num_statuses; i ++)
-       {
-         if (statuses[i].if_defined &&
-             !get_variable(vars, statuses[i].if_defined))
-           continue;
-
-         if (statuses[i].if_not_defined &&
-             get_variable(vars, statuses[i].if_not_defined))
-           continue;
-
-         if (response->request.status.status_code == statuses[i].status)
-           break;
-        }
-
-       if (i == num_statuses && num_statuses > 0)
-       {
-         for (i = 0; i < num_statuses; i ++)
-         {
-           if (statuses[i].if_defined &&
-               !get_variable(vars, statuses[i].if_defined))
-             continue;
-
-           if (statuses[i].if_not_defined &&
-               get_variable(vars, statuses[i].if_not_defined))
-             continue;
-
-           print_test_error("EXPECTED: STATUS %s (got %s)",
-                            ippErrorString(statuses[i].status),
-                            ippErrorString(cupsLastError()));
-         }
-
-         if ((attrptr = ippFindAttribute(response, "status-message",
-                                         IPP_TAG_TEXT)) != NULL)
-           print_test_error("status-message=\"%s\"",
-                            attrptr->values[0].string.text);
-        }
-
-       for (i = num_expects, expect = expects; i > 0; i --, expect ++)
-       {
-         if (expect->define_match || expect->define_no_match ||
-             expect->define_value)
-           continue;
-
-         if (expect->if_defined && !get_variable(vars, expect->if_defined))
-           continue;
-
-         if (expect->if_not_defined &&
-             get_variable(vars, expect->if_not_defined))
-           continue;
-
-         found = ippFindAttribute(response, expect->name, IPP_TAG_ZERO);
-
-         if (found && expect->not_expect)
-            print_test_error("NOT EXPECTED: %s", expect->name);
-         else if (!found && !(expect->not_expect || expect->optional))
-           print_test_error("EXPECTED: %s", expect->name);
-         else if (found)
-         {
-           if (!expect_matches(expect, found->value_tag))
-             print_test_error("EXPECTED: %s OF-TYPE %s (got %s)",
-                              expect->name, expect->of_type,
-                              ippTagString(found->value_tag));
-
-           if (expect->in_group && found->group_tag != expect->in_group)
-             print_test_error("EXPECTED: %s IN-GROUP %s (got %s).",
-                              expect->name, ippTagString(expect->in_group),
-                              ippTagString(found->group_tag));
-
-           if (!with_value(expect->with_value, expect->with_regex, found, 0,
-                           buffer, sizeof(buffer)))
-           {
-             if (expect->with_regex)
-               print_test_error("EXPECTED: %s WITH-VALUE /%s/",
-                                expect->name, expect->with_value);
-             else
-               print_test_error("EXPECTED: %s WITH-VALUE \"%s\"",
-                                expect->name, expect->with_value);
-
-             with_value(expect->with_value, expect->with_regex, found, 1,
-                        buffer, sizeof(buffer));
-           }
-
-           if (expect->count > 0 && found->num_values != expect->count)
-           {
-             print_test_error("EXPECTED: %s COUNT %d (got %d)", expect->name,
-                              expect->count, found->num_values);
-           }
-
-           if (expect->same_count_as)
-           {
-             attrptr = ippFindAttribute(response, expect->same_count_as,
-                                        IPP_TAG_ZERO);
-
-             if (!attrptr)
-               print_test_error("EXPECTED: %s (%d values) SAME-COUNT-AS %s "
-                                "(not returned)", expect->name,
-                                found->num_values, expect->same_count_as);
-             else if (attrptr->num_values != found->num_values)
-               print_test_error("EXPECTED: %s (%d values) SAME-COUNT-AS %s "
-                                "(%d values)", expect->name, found->num_values,
-                                expect->same_count_as, attrptr->num_values);
-           }
-         }
-       }
-      }
-
-      if (Output == _CUPS_OUTPUT_PLIST)
-       puts("</array>");
-    }
-
-    if (num_displayed > 0 && !Verbosity &&
-        (Output == _CUPS_OUTPUT_TEST || Output == _CUPS_OUTPUT_PLIST))
-    {
-      for (attrptr = response->attrs;
-          attrptr != NULL;
-          attrptr = attrptr->next)
-      {
-       if (attrptr->name)
-       {
-         for (i = 0; i < num_displayed; i ++)
-         {
-           if (!strcmp(displayed[i], attrptr->name))
-           {
-             print_attr(attrptr, NULL);
-             break;
-           }
-         }
-       }
-      }
-    }
-
-    skip_error:
+    skip_error:
 
     if (Output == _CUPS_OUTPUT_PLIST)
       puts("</dict>");
@@ -2951,6 +3029,10 @@ do_tests(_cups_vars_t *vars,             /* I - Variables */
         free(statuses[i].if_defined);
       if (statuses[i].if_not_defined)
         free(statuses[i].if_not_defined);
+      if (statuses[i].define_match)
+        free(statuses[i].define_match);
+      if (statuses[i].define_no_match)
+        free(statuses[i].define_no_match);
     }
     num_statuses = 0;
 
@@ -2986,6 +3068,8 @@ do_tests(_cups_vars_t *vars,              /* I - Variables */
 
   test_exit:
 
+  cupsArrayDelete(errors);
+
   if (fp)
     fclose(fp);
 
@@ -2999,6 +3083,10 @@ do_tests(_cups_vars_t *vars,             /* I - Variables */
       free(statuses[i].if_defined);
     if (statuses[i].if_not_defined)
       free(statuses[i].if_not_defined);
+      if (statuses[i].define_match)
+        free(statuses[i].define_match);
+      if (statuses[i].define_no_match)
+        free(statuses[i].define_no_match);
   }
 
   for (i = num_expects, expect = expects; i > 0; i --, expect ++)
@@ -3235,7 +3323,7 @@ get_collection(_cups_vars_t *vars,        /* I  - Variables */
 
        if ((tempcol = realloc(lastcol, sizeof(ipp_attribute_t) +
                                        (lastcol->num_values + 1) *
-                                       sizeof(ipp_value_t))) == NULL)
+                                       sizeof(_ipp_value_t))) == NULL)
        {
          print_fatal_error("Unable to allocate memory on line %d.", *linenum);
          goto col_error;
@@ -3317,7 +3405,9 @@ get_collection(_cups_vars_t *vars,        /* I  - Variables */
              char      units[6];       /* Units */
 
              if (sscanf(token, "%dx%d%5s", &xres, &yres, units) != 3 ||
-                 (_cups_strcasecmp(units, "dpi") && _cups_strcasecmp(units, "dpc") &&
+                 (_cups_strcasecmp(units, "dpi") &&
+                  _cups_strcasecmp(units, "dpc") &&
+                  _cups_strcasecmp(units, "dpcm") &&
                   _cups_strcasecmp(units, "other")))
              {
                print_fatal_error("Bad resolution value \"%s\" on line %d.",
@@ -3328,7 +3418,8 @@ get_collection(_cups_vars_t *vars,        /* I  - Variables */
              if (!_cups_strcasecmp(units, "dpi"))
                ippAddResolution(col, IPP_TAG_ZERO, attr, xres, yres,
                                 IPP_RES_PER_INCH);
-             else if (!_cups_strcasecmp(units, "dpc"))
+             else if (!_cups_strcasecmp(units, "dpc") ||
+                      !_cups_strcasecmp(units, "dpcm"))
                ippAddResolution(col, IPP_TAG_ZERO, attr, xres, yres,
                                 IPP_RES_PER_CM);
              else
@@ -3455,7 +3546,11 @@ get_filename(const char *testfile,       /* I - Current test file */
     if (*dstptr == '>')
       *dstptr = '\0';
   }
-  else if (*src == '/' || !strchr(testfile, '/'))
+  else if (*src == '/' || !strchr(testfile, '/')
+#ifdef WIN32
+           || (isalpha(*src & 255) && src[1] == ':')
+#endif /* WIN32 */
+           )
   {
    /*
     * Use the path as-is...
@@ -3664,8 +3759,11 @@ print_attr(ipp_attribute_t *attr,        /* I  - Attribute to print */
   {
     if (!attr->name || (group && *group != attr->group_tag))
     {
-      puts("</dict>");
-      puts("<dict>");
+      if (attr->group_tag != IPP_TAG_ZERO)
+      {
+       puts("</dict>");
+       puts("<dict>");
+      }
 
       if (group)
         *group = attr->group_tag;
@@ -3719,12 +3817,12 @@ print_attr(ipp_attribute_t *attr,       /* I  - Attribute to print */
                     attr->values[i].resolution.xres,
                     attr->values[i].resolution.yres,
                     attr->values[i].resolution.units == IPP_RES_PER_INCH ?
-                        "dpi" : "dpc");
+                        "dpi" : "dpcm");
            else
              printf("%dx%d%s ", attr->values[i].resolution.xres,
                     attr->values[i].resolution.yres,
                     attr->values[i].resolution.units == IPP_RES_PER_INCH ?
-                        "dpi" : "dpc");
+                        "dpi" : "dpcm");
          break;
 
       case IPP_TAG_DATE :
@@ -3736,6 +3834,41 @@ print_attr(ipp_attribute_t *attr,        /* I  - Attribute to print */
          break;
 
       case IPP_TAG_STRING :
+          for (i = 0; i < attr->num_values; i ++)
+          {
+            if (Output == _CUPS_OUTPUT_PLIST)
+            {
+             char      buffer[IPP_MAX_LENGTH * 5 / 4 + 1];
+                                       /* Output buffer */
+
+              printf("<data>%s</data>\n",
+                     httpEncode64_2(buffer, sizeof(buffer),
+                                    attr->values[i].unknown.data,
+                                    attr->values[i].unknown.length));
+            }
+            else
+            {
+              char     *ptr,           /* Pointer into data */
+                       *end;           /* End of data */
+
+              putchar('\"');
+              for (ptr = attr->values[i].unknown.data,
+                       end = ptr + attr->values[i].unknown.length;
+                   ptr < end;
+                   ptr ++)
+              {
+                if (*ptr == '\\' || *ptr == '\"')
+                  printf("\\%c", *ptr);
+                else if (!isprint(*ptr & 255))
+                  printf("\\%03o", *ptr & 255);
+                else
+                  putchar(*ptr);
+              }
+              putchar('\"');
+            }
+          }
+          break;
+
       case IPP_TAG_TEXT :
       case IPP_TAG_NAME :
       case IPP_TAG_KEYWORD :
@@ -3756,14 +3889,14 @@ print_attr(ipp_attribute_t *attr,       /* I  - Attribute to print */
            if (Output == _CUPS_OUTPUT_PLIST)
            {
              fputs("<dict><key>language</key><string>", stdout);
-             print_xml_string(NULL, attr->values[i].string.charset);
+             print_xml_string(NULL, attr->values[i].string.language);
              fputs("</string><key>string</key><string>", stdout);
              print_xml_string(NULL, attr->values[i].string.text);
              puts("</string></dict>");
            }
            else
-             printf("\"%s\"(%s) ", attr->values[i].string.text,
-                    attr->values[i].string.charset);
+             printf("\"%s\"[%s] ", attr->values[i].string.text,
+                    attr->values[i].string.language);
          break;
 
       case IPP_TAG_BEGIN_COLLECTION :
@@ -3817,7 +3950,7 @@ print_attr(ipp_attribute_t *attr, /* I  - Attribute to print */
             ippTagString(attr->value_tag));
     }
 
-    _ippAttrString(attr, buffer, sizeof(buffer));
+    ippAttributeString(attr, buffer, sizeof(buffer));
     puts(buffer);
   }
 }
@@ -3871,7 +4004,7 @@ print_col(ipp_t *col)                     /* I - Collection attribute to print */
            printf("%dx%d%s ", attr->values[i].resolution.xres,
                   attr->values[i].resolution.yres,
                   attr->values[i].resolution.units == IPP_RES_PER_INCH ?
-                      "dpi" : "dpc");
+                      "dpi" : "dpcm");
          break;
 
       case IPP_TAG_STRING :
@@ -3889,8 +4022,8 @@ print_col(ipp_t *col)                     /* I - Collection attribute to print */
       case IPP_TAG_TEXTLANG :
       case IPP_TAG_NAMELANG :
          for (i = 0; i < attr->num_values; i ++)
-           printf("\"%s\",%s ", attr->values[i].string.text,
-                  attr->values[i].string.charset);
+           printf("\"%s\"[%s] ", attr->values[i].string.text,
+                  attr->values[i].string.language);
          break;
 
       case IPP_TAG_BEGIN_COLLECTION :
@@ -3960,7 +4093,7 @@ print_csv(
           break;
         else if (!strcmp(current->name, displayed[i]))
         {
-          _ippAttrString(current, buffer, maxlength);
+          ippAttributeString(current, buffer, maxlength);
           break;
         }
       }
@@ -4081,7 +4214,7 @@ print_line(
           break;
         else if (!strcmp(current->name, displayed[i]))
         {
-          _ippAttrString(current, buffer, maxlength);
+          ippAttributeString(current, buffer, maxlength);
           break;
         }
       }
@@ -4118,37 +4251,6 @@ print_line(
 
 
 /*
- * 'print_test_error()' - Print a test error message.
- */
-
-static void
-print_test_error(const char *s,                /* I - Printf-style format string */
-                 ...)                  /* I - Additional arguments as needed */
-{
-  char         buffer[10240];          /* Format buffer */
-  va_list      ap;                     /* Pointer to arguments */
-
-
- /*
-  * Format the error message...
-  */
-
-  va_start(ap, s);
-  vsnprintf(buffer, sizeof(buffer), s, ap);
-  va_end(ap);
-
- /*
-  * Then output it...
-  */
-
-  if (Output == _CUPS_OUTPUT_PLIST)
-    print_xml_string("string", buffer);
-  else
-    printf("        %s\n", buffer);
-}
-
-
-/*
  * 'print_xml_header()' - Print a standard XML plist header.
  */
 
@@ -4384,14 +4486,14 @@ usage(void)
   _cupsLangPuts(stderr, _("  -6                      Connect using IPv6."));
   _cupsLangPuts(stderr, _("  -C                      Send requests using "
                           "chunking (default)."));
-  _cupsLangPuts(stderr, _("  -E                      Test with TLS "
-                          "encryption."));
+  _cupsLangPuts(stdout, _("  -E                      Test with HTTP Upgrade to "
+                          "TLS."));
   _cupsLangPuts(stderr, _("  -I                      Ignore errors."));
   _cupsLangPuts(stderr, _("  -L                      Send requests using "
                           "content-length."));
   _cupsLangPuts(stderr, _("  -S                      Test with SSL "
                          "encryption."));
-  _cupsLangPuts(stderr, _("  -T                      Set the receive/send "
+  _cupsLangPuts(stderr, _("  -T seconds              Set the receive/send "
                           "timeout in seconds."));
   _cupsLangPuts(stderr, _("  -V version              Set default IPP "
                           "version."));
@@ -4405,11 +4507,9 @@ usage(void)
                           "the given time interval."));
   _cupsLangPuts(stderr, _("  -n count                Repeat the last file the "
                           "given number of times."));
-  _cupsLangPuts(stderr, _("  -q                      Be quiet - no output "
-                          "except errors."));
+  _cupsLangPuts(stderr, _("  -q                      Run silently."));
   _cupsLangPuts(stderr, _("  -t                      Produce a test report."));
-  _cupsLangPuts(stderr, _("  -v                      Show all attributes sent "
-                          "and received."));
+  _cupsLangPuts(stderr, _("  -v                      Be verbose."));
 
   exit(1);
 }
@@ -4420,8 +4520,8 @@ usage(void)
  */
 
 static int                             /* O - 1 if valid, 0 otherwise */
-validate_attr(ipp_attribute_t *attr,   /* I - Attribute to validate */
-              int             print)   /* I - 1 = report issues to stdout */
+validate_attr(cups_array_t    *errors, /* I - Errors array */
+              ipp_attribute_t *attr)   /* I - Attribute to validate */
 {
   int          i;                      /* Looping var */
   char         scheme[64],             /* Scheme from URI */
@@ -4456,18 +4556,18 @@ validate_attr(ipp_attribute_t *attr,    /* I - Attribute to validate */
   {
     valid = 0;
 
-    if (print)
-      print_test_error("\"%s\": Bad attribute name - invalid character (RFC "
-                      "2911 section 4.1.3).", attr->name);
+    add_stringf(errors,
+               "\"%s\": Bad attribute name - invalid character "
+               "(RFC 2911 section 4.1.3).", attr->name);
   }
 
   if ((ptr - attr->name) > 255)
   {
     valid = 0;
 
-    if (print)
-      print_test_error("\"%s\": Bad attribute name - bad length (RFC 2911 "
-                      "section 4.1.3).", attr->name);
+    add_stringf(errors,
+               "\"%s\": Bad attribute name - bad length "
+               "(RFC 2911 section 4.1.3).", attr->name);
   }
 
   switch (attr->value_tag)
@@ -4483,11 +4583,10 @@ validate_attr(ipp_attribute_t *attr,    /* I - Attribute to validate */
          {
            valid = 0;
 
-           if (print)
-             print_test_error("\"%s\": Bad boolen value %d (RFC 2911 section "
-                              "4.1.10).", attr->name, attr->values[i].boolean);
-            else
-             break;
+           add_stringf(errors,
+                       "\"%s\": Bad boolen value %d "
+                       "(RFC 2911 section 4.1.10).", attr->name,
+                       attr->values[i].boolean);
          }
        }
         break;
@@ -4499,12 +4598,10 @@ validate_attr(ipp_attribute_t *attr,    /* I - Attribute to validate */
          {
            valid = 0;
 
-           if (print)
-             print_test_error("\"%s\": Bad enum value %d - out of range "
-                              "(RFC 2911 section 4.1.4).", attr->name,
-                              attr->values[i].integer);
-            else
-             break;
+           add_stringf(errors,
+                       "\"%s\": Bad enum value %d - out of range "
+                       "(RFC 2911 section 4.1.4).", attr->name,
+                       attr->values[i].integer);
          }
        }
         break;
@@ -4516,12 +4613,10 @@ validate_attr(ipp_attribute_t *attr,    /* I - Attribute to validate */
          {
            valid = 0;
 
-           if (print)
-             print_test_error("\"%s\": Bad octetString value - bad length %d "
-                              "(RFC 2911 section 4.1.10).", attr->name,
-                              attr->values[i].unknown.length);
-            else
-             break;
+           add_stringf(errors,
+                       "\"%s\": Bad octetString value - bad length %d "
+                       "(RFC 2911 section 4.1.10).", attr->name,
+                       attr->values[i].unknown.length);
          }
        }
         break;
@@ -4535,99 +4630,81 @@ validate_attr(ipp_attribute_t *attr,    /* I - Attribute to validate */
          {
            valid = 0;
 
-           if (print)
-             print_test_error("\"%s\": Bad dateTime month %u (RFC 2911 "
-                              "section 4.1.13).", attr->name, date[2]);
-            else
-             break;
+           add_stringf(errors,
+                       "\"%s\": Bad dateTime month %u "
+                       "(RFC 2911 section 4.1.13).", attr->name, date[2]);
          }
 
           if (date[3] < 1 || date[3] > 31)
          {
            valid = 0;
 
-           if (print)
-             print_test_error("\"%s\": Bad dateTime day %u (RFC 2911 "
-                              "section 4.1.13).", attr->name, date[3]);
-            else
-             break;
+           add_stringf(errors,
+                       "\"%s\": Bad dateTime day %u "
+                       "(RFC 2911 section 4.1.13).", attr->name, date[3]);
          }
 
           if (date[4] > 23)
          {
            valid = 0;
 
-           if (print)
-             print_test_error("\"%s\": Bad dateTime hours %u (RFC 2911 "
-                              "section 4.1.13).", attr->name, date[4]);
-            else
-             break;
+           add_stringf(errors,
+                       "\"%s\": Bad dateTime hours %u "
+                       "(RFC 2911 section 4.1.13).", attr->name, date[4]);
          }
 
           if (date[5] > 59)
          {
            valid = 0;
 
-           if (print)
-             print_test_error("\"%s\": Bad dateTime minutes %u (RFC 2911 "
-                              "section 4.1.13).", attr->name, date[5]);
-            else
-             break;
+           add_stringf(errors,
+                       "\"%s\": Bad dateTime minutes %u "
+                       "(RFC 2911 section 4.1.13).", attr->name, date[5]);
          }
 
           if (date[6] > 60)
          {
            valid = 0;
 
-           if (print)
-             print_test_error("\"%s\": Bad dateTime seconds %u (RFC 2911 "
-                              "section 4.1.13).", attr->name, date[6]);
-            else
-             break;
+           add_stringf(errors,
+                       "\"%s\": Bad dateTime seconds %u "
+                       "(RFC 2911 section 4.1.13).", attr->name, date[6]);
          }
 
           if (date[7] > 9)
          {
            valid = 0;
 
-           if (print)
-             print_test_error("\"%s\": Bad dateTime deciseconds %u (RFC 2911 "
-                              "section 4.1.13).", attr->name, date[7]);
-            else
-             break;
+           add_stringf(errors,
+                       "\"%s\": Bad dateTime deciseconds %u "
+                       "(RFC 2911 section 4.1.13).", attr->name, date[7]);
          }
 
           if (date[8] != '-' && date[8] != '+')
          {
            valid = 0;
 
-           if (print)
-             print_test_error("\"%s\": Bad dateTime UTC sign '%c' (RFC 2911 "
-                              "section 4.1.13).", attr->name, date[8]);
-            else
-             break;
+           add_stringf(errors,
+                       "\"%s\": Bad dateTime UTC sign '%c' "
+                       "(RFC 2911 section 4.1.13).", attr->name, date[8]);
          }
 
           if (date[9] > 11)
          {
            valid = 0;
 
-           if (print)
-             print_test_error("\"%s\": Bad dateTime UTC hours %u (RFC 2911 "
-                              "section 4.1.13).", attr->name, date[9]);
-            else
-             break;
+           add_stringf(errors,
+                       "\"%s\": Bad dateTime UTC hours %u "
+                       "(RFC 2911 section 4.1.13).", attr->name, date[9]);
          }
 
           if (date[10] > 59)
          {
            valid = 0;
 
-           if (print)
-             print_test_error("\"%s\": Bad dateTime UTC minutes %u (RFC 2911 "
-                              "section 4.1.13).", attr->name, date[10]);
-            else
-             break;
+           add_stringf(errors,
+                       "\"%s\": Bad dateTime UTC minutes %u "
+                       "(RFC 2911 section 4.1.13).", attr->name, date[10]);
          }
        }
         break;
@@ -4639,36 +4716,32 @@ validate_attr(ipp_attribute_t *attr,    /* I - Attribute to validate */
          {
            valid = 0;
 
-           if (print)
-             print_test_error("\"%s\": Bad resolution value %dx%d%s - cross "
-                              "feed resolution must be positive (RFC 2911 "
-                              "section 4.1.13).", attr->name,
-                              attr->values[i].resolution.xres,
-                              attr->values[i].resolution.yres,
-                              attr->values[i].resolution.units ==
-                                  IPP_RES_PER_INCH ? "dpi" :
-                                  attr->values[i].resolution.units ==
-                                      IPP_RES_PER_CM ? "dpc" : "unknown");
-            else
-             break;
+           add_stringf(errors,
+                       "\"%s\": Bad resolution value %dx%d%s - cross "
+                       "feed resolution must be positive "
+                       "(RFC 2911 section 4.1.13).", attr->name,
+                       attr->values[i].resolution.xres,
+                       attr->values[i].resolution.yres,
+                       attr->values[i].resolution.units ==
+                           IPP_RES_PER_INCH ? "dpi" :
+                           attr->values[i].resolution.units ==
+                               IPP_RES_PER_CM ? "dpcm" : "unknown");
          }
 
          if (attr->values[i].resolution.yres <= 0)
          {
            valid = 0;
 
-           if (print)
-             print_test_error("\"%s\": Bad resolution value %dx%d%s - feed "
-                              "resolution must be positive (RFC 2911 section "
-                              "4.1.13).", attr->name,
-                              attr->values[i].resolution.xres,
-                              attr->values[i].resolution.yres,
-                              attr->values[i].resolution.units ==
-                                  IPP_RES_PER_INCH ? "dpi" :
-                                  attr->values[i].resolution.units ==
-                                      IPP_RES_PER_CM ? "dpc" : "unknown");
-            else
-             break;
+           add_stringf(errors,
+                       "\"%s\": Bad resolution value %dx%d%s - feed "
+                       "resolution must be positive "
+                       "(RFC 2911 section 4.1.13).", attr->name,
+                       attr->values[i].resolution.xres,
+                       attr->values[i].resolution.yres,
+                       attr->values[i].resolution.units ==
+                           IPP_RES_PER_INCH ? "dpi" :
+                           attr->values[i].resolution.units ==
+                               IPP_RES_PER_CM ? "dpcm" : "unknown");
          }
 
          if (attr->values[i].resolution.units != IPP_RES_PER_INCH &&
@@ -4676,17 +4749,15 @@ validate_attr(ipp_attribute_t *attr,    /* I - Attribute to validate */
          {
            valid = 0;
 
-           if (print)
-             print_test_error("\"%s\": Bad resolution value %dx%d%s - bad "
-                              "units value (RFC 2911 section 4.1.13).",
-                              attr->name, attr->values[i].resolution.xres,
-                              attr->values[i].resolution.yres,
-                              attr->values[i].resolution.units ==
-                                  IPP_RES_PER_INCH ? "dpi" :
-                                  attr->values[i].resolution.units ==
-                                      IPP_RES_PER_CM ? "dpc" : "unknown");
-            else
-             break;
+           add_stringf(errors,
+                       "\"%s\": Bad resolution value %dx%d%s - bad "
+                       "units value (RFC 2911 section 4.1.13).",
+                       attr->name, attr->values[i].resolution.xres,
+                       attr->values[i].resolution.yres,
+                       attr->values[i].resolution.units ==
+                           IPP_RES_PER_INCH ? "dpi" :
+                           attr->values[i].resolution.units ==
+                               IPP_RES_PER_CM ? "dpcm" : "unknown");
          }
        }
         break;
@@ -4698,13 +4769,11 @@ validate_attr(ipp_attribute_t *attr,    /* I - Attribute to validate */
          {
            valid = 0;
 
-           if (print)
-             print_test_error("\"%s\": Bad rangeOfInteger value %d-%d - lower "
-                              "greater than upper (RFC 2911 section 4.1.13).",
-                              attr->name, attr->values[i].range.lower,
-                              attr->values[i].range.upper);
-            else
-             break;
+           add_stringf(errors,
+                       "\"%s\": Bad rangeOfInteger value %d-%d - lower "
+                       "greater than upper (RFC 2911 section 4.1.13).",
+                       attr->name, attr->values[i].range.lower,
+                       attr->values[i].range.upper);
          }
        }
         break;
@@ -4716,20 +4785,20 @@ validate_attr(ipp_attribute_t *attr,    /* I - Attribute to validate */
               colattr;
               colattr = colattr->next)
          {
-           if (!validate_attr(colattr, 0))
+           if (!validate_attr(NULL, colattr))
            {
              valid = 0;
              break;
            }
          }
 
-         if (colattr && print)
+         if (colattr && errors)
          {
-            print_test_error("\"%s\": Bad collection value.", attr->name);
+            add_stringf(errors, "\"%s\": Bad collection value.", attr->name);
 
            while (colattr)
            {
-             validate_attr(colattr, print);
+             validate_attr(errors, colattr);
              colattr = colattr->next;
            }
          }
@@ -4777,25 +4846,21 @@ validate_attr(ipp_attribute_t *attr,    /* I - Attribute to validate */
          {
            valid = 0;
 
-           if (print)
-             print_test_error("\"%s\": Bad text value \"%s\" - bad UTF-8 "
-                              "sequence (RFC 2911 section 4.1.1).", attr->name,
-                              attr->values[i].string.text);
-            else
-             break;
+           add_stringf(errors,
+                       "\"%s\": Bad text value \"%s\" - bad UTF-8 "
+                       "sequence (RFC 2911 section 4.1.1).", attr->name,
+                       attr->values[i].string.text);
          }
 
          if ((ptr - attr->values[i].string.text) > 1023)
          {
            valid = 0;
 
-           if (print)
-             print_test_error("\"%s\": Bad text value \"%s\" - bad length %d "
-                              "(RFC 2911 section 4.1.1).", attr->name,
-                              attr->values[i].string.text,
-                              (int)strlen(attr->values[i].string.text));
-            else
-             break;
+           add_stringf(errors,
+                       "\"%s\": Bad text value \"%s\" - bad length %d "
+                       "(RFC 2911 section 4.1.1).", attr->name,
+                       attr->values[i].string.text,
+                       (int)strlen(attr->values[i].string.text));
          }
        }
         break;
@@ -4841,25 +4906,21 @@ validate_attr(ipp_attribute_t *attr,    /* I - Attribute to validate */
          {
            valid = 0;
 
-           if (print)
-             print_test_error("\"%s\": Bad name value \"%s\" - bad UTF-8 "
-                              "sequence (RFC 2911 section 4.1.2).", attr->name,
-                              attr->values[i].string.text);
-            else
-             break;
+           add_stringf(errors,
+                       "\"%s\": Bad name value \"%s\" - bad UTF-8 "
+                       "sequence (RFC 2911 section 4.1.2).", attr->name,
+                       attr->values[i].string.text);
          }
 
          if ((ptr - attr->values[i].string.text) > 1023)
          {
            valid = 0;
 
-           if (print)
-             print_test_error("\"%s\": Bad name value \"%s\" - bad length %d "
-                              "(RFC 2911 section 4.1.2).", attr->name,
-                              attr->values[i].string.text,
-                              (int)strlen(attr->values[i].string.text));
-            else
-             break;
+           add_stringf(errors,
+                       "\"%s\": Bad name value \"%s\" - bad length %d "
+                       "(RFC 2911 section 4.1.2).", attr->name,
+                       attr->values[i].string.text,
+                       (int)strlen(attr->values[i].string.text));
          }
        }
         break;
@@ -4876,25 +4937,21 @@ validate_attr(ipp_attribute_t *attr,    /* I - Attribute to validate */
          {
            valid = 0;
 
-           if (print)
-             print_test_error("\"%s\": Bad keyword value \"%s\" - invalid "
-                              "character (RFC 2911 section 4.1.3).",
-                              attr->name, attr->values[i].string.text);
-            else
-             break;
+           add_stringf(errors,
+                       "\"%s\": Bad keyword value \"%s\" - invalid "
+                       "character (RFC 2911 section 4.1.3).",
+                       attr->name, attr->values[i].string.text);
          }
 
          if ((ptr - attr->values[i].string.text) > 255)
          {
            valid = 0;
 
-           if (print)
-             print_test_error("\"%s\": Bad keyword value \"%s\" - bad "
-                              "length %d (RFC 2911 section 4.1.3).",
-                              attr->name, attr->values[i].string.text,
-                              (int)strlen(attr->values[i].string.text));
-            else
-             break;
+           add_stringf(errors,
+                       "\"%s\": Bad keyword value \"%s\" - bad "
+                       "length %d (RFC 2911 section 4.1.3).",
+                       attr->name, attr->values[i].string.text,
+                       (int)strlen(attr->values[i].string.text));
          }
        }
         break;
@@ -4913,27 +4970,23 @@ validate_attr(ipp_attribute_t *attr,    /* I - Attribute to validate */
          {
            valid = 0;
 
-           if (print)
-             print_test_error("\"%s\": Bad URI value \"%s\" - %s "
-                              "(RFC 2911 section 4.1.5).", attr->name,
-                              attr->values[i].string.text,
-                              URIStatusStrings[uri_status -
-                                               HTTP_URI_OVERFLOW]);
-            else
-             break;
+           add_stringf(errors,
+                       "\"%s\": Bad URI value \"%s\" - %s "
+                       "(RFC 2911 section 4.1.5).", attr->name,
+                       attr->values[i].string.text,
+                       URIStatusStrings[uri_status -
+                                        HTTP_URI_OVERFLOW]);
          }
 
          if (strlen(attr->values[i].string.text) > 1023)
          {
            valid = 0;
 
-           if (print)
-             print_test_error("\"%s\": Bad URI value \"%s\" - bad length %d "
-                              "(RFC 2911 section 4.1.5).", attr->name,
-                              attr->values[i].string.text,
-                              (int)strlen(attr->values[i].string.text));
-            else
-             break;
+           add_stringf(errors,
+                       "\"%s\": Bad URI value \"%s\" - bad length %d "
+                       "(RFC 2911 section 4.1.5).", attr->name,
+                       attr->values[i].string.text,
+                       (int)strlen(attr->values[i].string.text));
          }
        }
         break;
@@ -4954,25 +5007,21 @@ validate_attr(ipp_attribute_t *attr,    /* I - Attribute to validate */
          {
            valid = 0;
 
-            if (print)
-             print_test_error("\"%s\": Bad uriScheme value \"%s\" - bad "
-                              "characters (RFC 2911 section 4.1.6).",
-                              attr->name, attr->values[i].string.text);
-            else
-             break;
+           add_stringf(errors,
+                       "\"%s\": Bad uriScheme value \"%s\" - bad "
+                       "characters (RFC 2911 section 4.1.6).",
+                       attr->name, attr->values[i].string.text);
          }
 
          if ((ptr - attr->values[i].string.text) > 63)
          {
            valid = 0;
 
-            if (print)
-             print_test_error("\"%s\": Bad uriScheme value \"%s\" - bad "
-                              "length %d (RFC 2911 section 4.1.6).",
-                              attr->name, attr->values[i].string.text,
-                              (int)strlen(attr->values[i].string.text));
-            else
-             break;
+           add_stringf(errors,
+                       "\"%s\": Bad uriScheme value \"%s\" - bad "
+                       "length %d (RFC 2911 section 4.1.6).",
+                       attr->name, attr->values[i].string.text,
+                       (int)strlen(attr->values[i].string.text));
          }
        }
         break;
@@ -4989,25 +5038,21 @@ validate_attr(ipp_attribute_t *attr,    /* I - Attribute to validate */
          {
            valid = 0;
 
-            if (print)
-             print_test_error("\"%s\": Bad charset value \"%s\" - bad "
-                              "characters (RFC 2911 section 4.1.7).",
-                              attr->name, attr->values[i].string.text);
-            else
-             break;
+           add_stringf(errors,
+                       "\"%s\": Bad charset value \"%s\" - bad "
+                       "characters (RFC 2911 section 4.1.7).",
+                       attr->name, attr->values[i].string.text);
          }
 
          if ((ptr - attr->values[i].string.text) > 40)
          {
            valid = 0;
 
-            if (print)
-             print_test_error("\"%s\": Bad charset value \"%s\" - bad "
-                              "length %d (RFC 2911 section 4.1.7).",
-                              attr->name, attr->values[i].string.text,
-                              (int)strlen(attr->values[i].string.text));
-            else
-             break;
+           add_stringf(errors,
+                       "\"%s\": Bad charset value \"%s\" - bad "
+                       "length %d (RFC 2911 section 4.1.7).",
+                       attr->name, attr->values[i].string.text,
+                       (int)strlen(attr->values[i].string.text));
          }
        }
         break;
@@ -5040,6 +5085,7 @@ validate_attr(ipp_attribute_t *attr,      /* I - Attribute to validate */
           regerror(i, &re, temp, sizeof(temp));
          print_fatal_error("Unable to compile naturalLanguage regular "
                            "expression: %s.", temp);
+         break;
         }
 
         for (i = 0; i < attr->num_values; i ++)
@@ -5048,25 +5094,21 @@ validate_attr(ipp_attribute_t *attr,    /* I - Attribute to validate */
          {
            valid = 0;
 
-            if (print)
-             print_test_error("\"%s\": Bad naturalLanguage value \"%s\" - bad "
-                              "characters (RFC 2911 section 4.1.8).",
-                              attr->name, attr->values[i].string.text);
-            else
-             break;
+           add_stringf(errors,
+                       "\"%s\": Bad naturalLanguage value \"%s\" - bad "
+                       "characters (RFC 2911 section 4.1.8).",
+                       attr->name, attr->values[i].string.text);
          }
 
          if (strlen(attr->values[i].string.text) > 63)
          {
            valid = 0;
 
-            if (print)
-             print_test_error("\"%s\": Bad naturalLanguage value \"%s\" - bad "
-                              "length %d (RFC 2911 section 4.1.8).",
-                              attr->name, attr->values[i].string.text,
-                              (int)strlen(attr->values[i].string.text));
-            else
-             break;
+           add_stringf(errors,
+                       "\"%s\": Bad naturalLanguage value \"%s\" - bad "
+                       "length %d (RFC 2911 section 4.1.8).",
+                       attr->name, attr->values[i].string.text,
+                       (int)strlen(attr->values[i].string.text));
          }
        }
 
@@ -5096,6 +5138,7 @@ validate_attr(ipp_attribute_t *attr,      /* I - Attribute to validate */
           regerror(i, &re, temp, sizeof(temp));
          print_fatal_error("Unable to compile mimeMediaType regular "
                            "expression: %s.", temp);
+         break;
         }
 
         for (i = 0; i < attr->num_values; i ++)
@@ -5104,27 +5147,25 @@ validate_attr(ipp_attribute_t *attr,    /* I - Attribute to validate */
          {
            valid = 0;
 
-            if (print)
-             print_test_error("\"%s\": Bad mimeMediaType value \"%s\" - bad "
-                              "characters (RFC 2911 section 4.1.9).",
-                              attr->name, attr->values[i].string.text);
-            else
-             break;
+           add_stringf(errors,
+                       "\"%s\": Bad mimeMediaType value \"%s\" - bad "
+                       "characters (RFC 2911 section 4.1.9).",
+                       attr->name, attr->values[i].string.text);
          }
 
          if (strlen(attr->values[i].string.text) > 255)
          {
            valid = 0;
 
-            if (print)
-             print_test_error("\"%s\": Bad mimeMediaType value \"%s\" - bad "
-                              "length %d (RFC 2911 section 4.1.9).",
-                              attr->name, attr->values[i].string.text,
-                              (int)strlen(attr->values[i].string.text));
-            else
-             break;
+           add_stringf(errors,
+                       "\"%s\": Bad mimeMediaType value \"%s\" - bad "
+                       "length %d (RFC 2911 section 4.1.9).",
+                       attr->name, attr->values[i].string.text,
+                       (int)strlen(attr->values[i].string.text));
          }
        }
+
+       regfree(&re);
         break;
 
     default :
@@ -5140,18 +5181,20 @@ validate_attr(ipp_attribute_t *attr,    /* I - Attribute to validate */
  */
 
 static int                             /* O - 1 on match, 0 on non-match */
-with_value(char            *value,     /* I - Value string */
-           int             regex,      /* I - Value is a regular expression */
+with_value(cups_array_t    *errors,    /* I - Errors array */
+           char            *value,     /* I - Value string */
+           int             flags,      /* I - Flags for match */
            ipp_attribute_t *attr,      /* I - Attribute to compare */
-          int             report,      /* I - 1 = report failures */
           char            *matchbuf,   /* I - Buffer to hold matching value */
           size_t          matchlen)    /* I - Length of match buffer */
 {
-  int  i;                              /* Looping var */
+  int  i,                              /* Looping var */
+       match;                          /* Match? */
   char *valptr;                        /* Pointer into value */
 
 
   *matchbuf = '\0';
+  match     = (flags & _CUPS_WITH_ALL) ? 1 : 0;
 
  /*
   * NULL matches everything.
@@ -5172,8 +5215,8 @@ with_value(char            *value,        /* I - Value string */
         {
          char  op,                     /* Comparison operator */
                *nextptr;               /* Next pointer */
-         int   intvalue;               /* Integer value */
-
+         int   intvalue,               /* Integer value */
+               valmatch = 0;           /* Does the current value match? */
 
           valptr = value;
 
@@ -5197,37 +5240,39 @@ with_value(char            *value,      /* I - Value string */
              break;
            valptr = nextptr;
 
-           switch (op)
+            if ((op == '=' && attr->values[i].integer == intvalue) ||
+                (op == '<' && attr->values[i].integer < intvalue) ||
+                (op == '>' && attr->values[i].integer > intvalue))
            {
-             case '=' :
-                 if (attr->values[i].integer == intvalue)
-                 {
-                   snprintf(matchbuf, matchlen, "%d", attr->values[i].integer);
-                   return (1);
-                 }
-                 break;
-             case '<' :
-                 if (attr->values[i].integer < intvalue)
-                 {
-                   snprintf(matchbuf, matchlen, "%d", attr->values[i].integer);
-                   return (1);
-                 }
-                 break;
-             case '>' :
-                 if (attr->values[i].integer > intvalue)
-                 {
-                   snprintf(matchbuf, matchlen, "%d", attr->values[i].integer);
-                   return (1);
-                 }
-                 break;
+             if (!matchbuf[0])
+               snprintf(matchbuf, matchlen, "%d",
+                        attr->values[i].integer);
+
+             valmatch = 1;
+             break;
            }
          }
+
+          if (flags & _CUPS_WITH_ALL)
+          {
+            if (!valmatch)
+            {
+              match = 0;
+              break;
+            }
+          }
+          else if (valmatch)
+          {
+            match = 1;
+            break;
+          }
         }
 
-       if (report)
+        if (!match && errors)
        {
          for (i = 0; i < attr->num_values; i ++)
-           print_test_error("GOT: %s=%d", attr->name, attr->values[i].integer);
+           add_stringf(errors, "GOT: %s=%d", attr->name,
+                       attr->values[i].integer);
        }
        break;
 
@@ -5236,8 +5281,8 @@ with_value(char            *value,        /* I - Value string */
         {
          char  op,                     /* Comparison operator */
                *nextptr;               /* Next pointer */
-         int   intvalue;               /* Integer value */
-
+         int   intvalue,               /* Integer value */
+               valmatch = 0;           /* Does the current value match? */
 
           valptr = value;
 
@@ -5261,44 +5306,40 @@ with_value(char            *value,      /* I - Value string */
              break;
            valptr = nextptr;
 
-           switch (op)
+            if ((op == '=' && (attr->values[i].range.lower == intvalue ||
+                              attr->values[i].range.upper == intvalue)) ||
+               (op == '<' && attr->values[i].range.upper < intvalue) ||
+               (op == '>' && attr->values[i].range.upper > intvalue))
            {
-             case '=' :
-                 if (attr->values[i].range.lower == intvalue ||
-                     attr->values[i].range.upper == intvalue)
-                 {
-                   snprintf(matchbuf, matchlen, "%d-%d",
-                            attr->values[i].range.lower,
-                            attr->values[i].range.upper);
-                   return (1);
-                 }
-                 break;
-             case '<' :
-                 if (attr->values[i].range.upper < intvalue)
-                 {
-                   snprintf(matchbuf, matchlen, "%d-%d",
-                            attr->values[i].range.lower,
-                            attr->values[i].range.upper);
-                   return (1);
-                 }
-                 break;
-             case '>' :
-                 if (attr->values[i].range.upper > intvalue)
-                 {
-                   snprintf(matchbuf, matchlen, "%d-%d",
-                            attr->values[i].range.lower,
-                            attr->values[i].range.upper);
-                   return (1);
-                 }
-                 break;
+             if (!matchbuf[0])
+               snprintf(matchbuf, matchlen, "%d-%d",
+                        attr->values[0].range.lower,
+                        attr->values[0].range.upper);
+
+             valmatch = 1;
+             break;
            }
          }
+
+          if (flags & _CUPS_WITH_ALL)
+          {
+            if (!valmatch)
+            {
+              match = 0;
+              break;
+            }
+          }
+          else if (valmatch)
+          {
+            match = 1;
+            break;
+          }
         }
 
-       if (report)
+        if (!match && errors)
        {
          for (i = 0; i < attr->num_values; i ++)
-           print_test_error("GOT: %s=%d-%d", attr->name,
+           add_stringf(errors, "GOT: %s=%d-%d", attr->name,
                             attr->values[i].range.lower,
                             attr->values[i].range.upper);
        }
@@ -5309,15 +5350,26 @@ with_value(char            *value,      /* I - Value string */
        {
           if (!strcmp(value, "true") == attr->values[i].boolean)
           {
-            strlcpy(matchbuf, value, matchlen);
-           return (1);
+            if (!matchbuf[0])
+             strlcpy(matchbuf, value, matchlen);
+
+           if (!(flags & _CUPS_WITH_ALL))
+           {
+             match = 1;
+             break;
+           }
+         }
+         else if (flags & _CUPS_WITH_ALL)
+         {
+           match = 0;
+           break;
          }
        }
 
-       if (report)
+       if (!match && errors)
        {
          for (i = 0; i < attr->num_values; i ++)
-           print_test_error("GOT: %s=%s", attr->name,
+           add_stringf(errors, "GOT: %s=%s", attr->name,
                             attr->values[i].boolean ? "true" : "false");
        }
        break;
@@ -5336,7 +5388,7 @@ with_value(char            *value,        /* I - Value string */
     case IPP_TAG_TEXTLANG :
     case IPP_TAG_URI :
     case IPP_TAG_URISCHEME :
-        if (regex)
+        if (flags & _CUPS_WITH_REGEX)
        {
         /*
          * Value is an extended, case-sensitive POSIX regular expression...
@@ -5361,56 +5413,69 @@ with_value(char            *value,      /* I - Value string */
 
          for (i = 0; i < attr->num_values; i ++)
          {
-           if (regexec(&re, attr->values[i].string.text, 0, NULL, 0))
+           if (!regexec(&re, attr->values[i].string.text, 0, NULL, 0))
            {
-             if (report)
-               print_test_error("GOT: %s=\"%s\"", attr->name,
-                                attr->values[i].string.text);
-             else
+             if (!matchbuf[0])
+               strlcpy(matchbuf, attr->values[i].string.text, matchlen);
+
+             if (!(flags & _CUPS_WITH_ALL))
+             {
+               match = 1;
                break;
+             }
+           }
+           else if (flags & _CUPS_WITH_ALL)
+           {
+             match = 0;
+             break;
            }
          }
 
          regfree(&re);
-
-          if (i == attr->num_values)
-            strlcpy(matchbuf, attr->values[0].string.text, matchlen);
-
-          return (i == attr->num_values);
        }
        else
        {
         /*
-         * Value is a literal string, see if at least one value matches the
-         * literal string...
+         * Value is a literal string, see if the value(s) match...
          */
 
          for (i = 0; i < attr->num_values; i ++)
          {
            if (!strcmp(value, attr->values[i].string.text))
            {
-             strlcpy(matchbuf, attr->values[i].string.text, matchlen);
-             return (1);
-           }
-         }
+             if (!matchbuf[0])
+               strlcpy(matchbuf, attr->values[i].string.text, matchlen);
 
-         if (report)
-         {
-           for (i = 0; i < attr->num_values; i ++)
-             print_test_error("GOT: %s=\"%s\"", attr->name,
-                              attr->values[i].string.text);
+             if (!(flags & _CUPS_WITH_ALL))
+             {
+               match = 1;
+               break;
+             }
+           }
+           else if (flags & _CUPS_WITH_ALL)
+           {
+             match = 0;
+             break;
+           }
          }
        }
+
+        if (!match && errors)
+        {
+         for (i = 0; i < attr->num_values; i ++)
+           add_stringf(errors, "GOT: %s=\"%s\"", attr->name,
+                            attr->values[i].string.text);
+        }
        break;
 
     default :
         break;
   }
 
-  return (0);
+  return (match);
 }
 
 
 /*
- * End of "$Id: ipptool.c 10090 2011-10-25 22:39:56Z mike $".
+ * End of "$Id: ipptool.c 11173 2013-07-23 12:31:34Z msweet $".
  */
index bfefc7a..9397b89 100644 (file)
@@ -1,7 +1,7 @@
 %!PS-Adobe-3.0
 %XpdfVersion: 3.03
 %%Creator: Scribus 1.4.0.rc5
-%%Title:
+%%Title: 
 %%LanguageLevel: 3
 %%DocumentSuppliedResources: (atend)
 %%DocumentMedia: plain 595 842 0 () ()
index 7a00ce7..dfedeb4 100644 (file)
@@ -1,7 +1,7 @@
 %!PS-Adobe-3.0
 %XpdfVersion: 3.03
 %%Creator: Scribus 1.4.0.rc5
-%%Title:
+%%Title: 
 %%LanguageLevel: 3
 %%DocumentSuppliedResources: (atend)
 %%DocumentMedia: plain 612 792 0 () ()
index 7b6d1b7..48756c8 100755 (executable)
@@ -1,11 +1,11 @@
 #!/bin/sh
 #
-# "$Id: run-stp-tests.sh 10464 2012-05-15 14:04:18Z mike $"
+# "$Id: run-stp-tests.sh 9034 2010-03-09 07:03:06Z mike $"
 #
 #   Perform the complete set of IPP compliance tests specified in the
 #   CUPS Software Test Plan.
 #
-#   Copyright 2007-2011 by Apple Inc.
+#   Copyright 2007-2012 by Apple Inc.
 #   Copyright 1997-2007 by Easy Software Products, all rights reserved.
 #
 #   These coded instructions, statements, and computer programs are the
 argcount=$#
 
 #
+# Don't allow "make check" or "make test" to be run by root...
+#
+
+if test "x`id -u`" = x0; then
+       echo Please run this as a normal user. Not supported when run as root.
+       exit 1
+fi
+
+#
+# Force the permissions of the files we create...
+#
+
+umask 022
+
+#
 # Make the IPP test program...
 #
 
@@ -203,12 +218,54 @@ echo ""
 
 case "$usevalgrind" in
        Y* | y*)
-               valgrind="valgrind --tool=memcheck --log-file=/tmp/cups-$user/log/valgrind.%p --error-limit=no --leak-check=yes --trace-children=yes --read-var-info=yes"
+               VALGRIND="valgrind --tool=memcheck --log-file=/tmp/cups-$user/log/valgrind.%p --error-limit=no --leak-check=yes --trace-children=yes --read-var-info=yes"
+               if test `uname` = Darwin; then
+                       VALGRIND="$VALGRIND --dsymutil=yes"
+               fi
+               export VALGRIND
                echo "Using Valgrind; log files can be found in /tmp/cups-$user/log..."
                ;;
 
        *)
-               valgrind=""
+               VALGRIND=""
+               export VALGRIND
+               ;;
+esac
+
+#
+# See if we want to do debug logging of the libraries...
+#
+
+echo ""
+echo "If CUPS was built with the --enable-debug-printfs configure option, you"
+echo "can enable debug logging of the libraries."
+echo ""
+echo $ac_n "Enter Y or a number from 0 to 9 to enable debug logging or N to not: [N] $ac_c"
+
+if test $# -gt 0; then
+       usedebugprintfs=$1
+       shift
+else
+       read usedebugprintfs
+fi
+echo ""
+
+case "$usedebugprintfs" in
+       Y* | y*)
+               echo "Enabling debug printfs; log files can be found in /tmp/cups-$user/log..."
+               CUPS_DEBUG_LOG="/tmp/cups-$user/log/debug_printfs.%d"; export CUPS_DEBUG_LOG
+               CUPS_DEBUG_LEVEL=5; export CUPS_DEBUG_LEVEL
+               CUPS_DEBUG_FILTER='^(http|_http|ipp|_ipp|cups.*Request|cupsGetResponse|cupsSend).*$'; export CUPS_DEBUG_FILTER
+               ;;
+
+       0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9)
+               echo "Enabling debug printfs; log files can be found in /tmp/cups-$user/log..."
+               CUPS_DEBUG_LOG="/tmp/cups-$user/log/debug_printfs.%d"; export CUPS_DEBUG_LOG
+               CUPS_DEBUG_LEVEL=$usedebugprintf; export CUPS_DEBUG_LEVEL
+               CUPS_DEBUG_FILTER='^(http|_http|ipp|_ipp|cups.*Request|cupsGetResponse|cupsSend).*$'; export CUPS_DEBUG_FILTER
+               ;;
+
+       *)
                ;;
 esac
 
@@ -250,9 +307,7 @@ ln -s $root/backend/http /tmp/cups-$user/bin/backend
 ln -s $root/backend/ipp /tmp/cups-$user/bin/backend
 ln -s $root/backend/lpd /tmp/cups-$user/bin/backend
 ln -s $root/backend/mdns /tmp/cups-$user/bin/backend
-ln -s $root/backend/parallel /tmp/cups-$user/bin/backend
 ln -s $root/backend/pseudo /tmp/cups-$user/bin/backend
-ln -s $root/backend/serial /tmp/cups-$user/bin/backend
 ln -s $root/backend/snmp /tmp/cups-$user/bin/backend
 ln -s $root/backend/socket /tmp/cups-$user/bin/backend
 ln -s $root/backend/usb /tmp/cups-$user/bin/backend
@@ -260,16 +315,13 @@ ln -s $root/cgi-bin /tmp/cups-$user/bin
 ln -s $root/monitor /tmp/cups-$user/bin
 ln -s $root/notifier /tmp/cups-$user/bin
 ln -s $root/scheduler /tmp/cups-$user/bin/daemon
-ln -s $root/filter/bannertops /tmp/cups-$user/bin/filter
 ln -s $root/filter/commandtops /tmp/cups-$user/bin/filter
 ln -s $root/filter/gziptoany /tmp/cups-$user/bin/filter
-ln -s $root/filter/hpgltops /tmp/cups-$user/bin/filter
 ln -s $root/filter/pstops /tmp/cups-$user/bin/filter
 ln -s $root/filter/rastertoepson /tmp/cups-$user/bin/filter
 ln -s $root/filter/rastertohp /tmp/cups-$user/bin/filter
 ln -s $root/filter/rastertolabel /tmp/cups-$user/bin/filter
 ln -s $root/filter/rastertopwg /tmp/cups-$user/bin/filter
-ln -s $root/filter/texttops /tmp/cups-$user/bin/filter
 
 ln -s $root/data/classified /tmp/cups-$user/share/banners
 ln -s $root/data/confidential /tmp/cups-$user/share/banners
@@ -277,10 +329,7 @@ ln -s $root/data/secret /tmp/cups-$user/share/banners
 ln -s $root/data/standard /tmp/cups-$user/share/banners
 ln -s $root/data/topsecret /tmp/cups-$user/share/banners
 ln -s $root/data/unclassified /tmp/cups-$user/share/banners
-ln -s $root/data /tmp/cups-$user/share/charmaps
-ln -s $root/data /tmp/cups-$user/share/charsets
 ln -s $root/data /tmp/cups-$user/share
-ln -s $root/fonts /tmp/cups-$user/share
 ln -s $root/ppdc/sample.drv /tmp/cups-$user/share/drv
 ln -s $root/conf/mime.types /tmp/cups-$user/share/mime
 ln -s $root/conf/mime.convs /tmp/cups-$user/share/mime
@@ -288,16 +337,8 @@ ln -s $root/data/*.h /tmp/cups-$user/share/ppdc
 ln -s $root/data/*.defs /tmp/cups-$user/share/ppdc
 ln -s $root/templates /tmp/cups-$user/share
 
-if test -f $root/filter/imagetops; then
-       ln -s $root/filter/imagetops /tmp/cups-$user/bin/filter
-fi
-
-if test -f $root/filter/imagetoraster; then
-       ln -s $root/filter/imagetoraster /tmp/cups-$user/bin/filter
-fi
-
 #
-# Mac OS X filters and configuration files...
+# Local filters and configuration files...
 #
 
 if test `uname` = Darwin; then
@@ -320,7 +361,18 @@ if test `uname` = Darwin; then
                ln -s /usr/share/cups/mime/apple.* /tmp/cups-$user/share/mime
        fi
 else
-       ln -s $root/filter/pdftops /tmp/cups-$user/bin/filter
+       ln -s /usr/lib/cups/filter/bannertops /tmp/cups-$user/bin/filter
+       ln -s /usr/lib/cups/filter/imagetops /tmp/cups-$user/bin/filter
+       ln -s /usr/lib/cups/filter/imagetoraster /tmp/cups-$user/bin/filter
+       ln -s /usr/lib/cups/filter/pdftops /tmp/cups-$user/bin/filter
+       ln -s /usr/lib/cups/filter/texttops /tmp/cups-$user/bin/filter
+
+       ln -s /usr/share/cups/mime/legacy.convs /tmp/cups-$user/share/mime
+       ln -s /usr/share/cups/charsets /tmp/cups-$user/share
+       if test -f $root/data/psglyphs; then
+               ln -s /usr/share/cups/data/psglyphs $root/data
+       fi
+       ln -s /usr/share/cups/fonts /tmp/cups-$user/share
 fi
 
 #
@@ -336,10 +388,28 @@ else
 fi
 
 cat >/tmp/cups-$user/cupsd.conf <<EOF
+StrictConformance Yes
 Browsing Off
+Listen localhost:$port
+PassEnv LOCALEDIR
+PassEnv DYLD_INSERT_LIBRARIES
+MaxSubscriptions 3
+MaxLogSize 0
+AccessLogLevel actions
+LogLevel debug2
+LogTimeFormat usecs
+PreserveJobHistory Yes
+<Policy default>
+<Limit All>
+Order Allow,Deny
+$encryption
+</Limit>
+</Policy>
+EOF
+
+cat >/tmp/cups-$user/cups-files.conf <<EOF
 FileDevice yes
 Printcap
-Listen 127.0.0.1:$port
 User $user
 ServerRoot /tmp/cups-$user
 StateDir /tmp/cups-$user
@@ -347,27 +417,12 @@ ServerBin /tmp/cups-$user/bin
 CacheDir /tmp/cups-$user/share
 DataDir /tmp/cups-$user/share
 FontPath /tmp/cups-$user/share/fonts
-PassEnv LOCALEDIR
 DocumentRoot $root/doc
 RequestRoot /tmp/cups-$user/spool
 TempDir /tmp/cups-$user/spool/temp
-MaxSubscriptions 3
-MaxLogSize 0
 AccessLog /tmp/cups-$user/log/access_log
 ErrorLog /tmp/cups-$user/log/error_log
 PageLog /tmp/cups-$user/log/page_log
-AccessLogLevel actions
-LogLevel debug2
-LogTimeFormat usecs
-PreserveJobHistory Yes
-<Policy default>
-<Limit All>
-Order Deny,Allow
-Deny from all
-Allow from 127.0.0.1
-$encryption
-</Limit>
-</Policy>
 EOF
 
 #
@@ -424,31 +479,31 @@ fi
 echo "Setting up environment variables for test..."
 
 if test "x$LD_LIBRARY_PATH" = x; then
-       LD_LIBRARY_PATH="$root/cups:$root/filter:$root/cgi-bin:$root/scheduler:$root/driver:$root/ppdc"
+       LD_LIBRARY_PATH="$root/cups:$root/filter:$root/cgi-bin:$root/scheduler:$root/ppdc"
 else
-       LD_LIBRARY_PATH="$root/cups:$root/filter:$root/cgi-bin:$root/scheduler:$root/driver:$root/ppdc:$LD_LIBRARY_PATH"
+       LD_LIBRARY_PATH="$root/cups:$root/filter:$root/cgi-bin:$root/scheduler:$root/ppdc:$LD_LIBRARY_PATH"
 fi
 
 export LD_LIBRARY_PATH
 
-LD_PRELOAD="$root/cups/libcups.so.2:$root/filter/libcupsimage.so.2:$root/cgi-bin/libcupscgi.so.1:$root/scheduler/libcupsmime.so.1:$root/driver/libcupsdriver.so.1:$root/ppdc/libcupsppdc.so.1"
+LD_PRELOAD="$root/cups/libcups.so.2:$root/filter/libcupsimage.so.2:$root/cgi-bin/libcupscgi.so.1:$root/scheduler/libcupsmime.so.1:$root/ppdc/libcupsppdc.so.1"
 if test `uname` = SunOS -a -r /usr/lib/libCrun.so.1; then
        LD_PRELOAD="/usr/lib/libCrun.so.1:$LD_PRELOAD"
 fi
 export LD_PRELOAD
 
 if test "x$DYLD_LIBRARY_PATH" = x; then
-       DYLD_LIBRARY_PATH="$root/cups:$root/filter:$root/cgi-bin:$root/scheduler:$root/driver:$root/ppdc"
+       DYLD_LIBRARY_PATH="$root/cups:$root/filter:$root/cgi-bin:$root/scheduler:$root/ppdc"
 else
-       DYLD_LIBRARY_PATH="$root/cups:$root/filter:$root/cgi-bin:$root/scheduler:$root/driver:$root/ppdc:$DYLD_LIBRARY_PATH"
+       DYLD_LIBRARY_PATH="$root/cups:$root/filter:$root/cgi-bin:$root/scheduler:$root/ppdc:$DYLD_LIBRARY_PATH"
 fi
 
 export DYLD_LIBRARY_PATH
 
 if test "x$SHLIB_PATH" = x; then
-       SHLIB_PATH="$root/cups:$root/filter:$root/cgi-bin:$root/scheduler:$root/driver:$root/ppdc"
+       SHLIB_PATH="$root/cups:$root/filter:$root/cgi-bin:$root/scheduler:$root/ppdc"
 else
-       SHLIB_PATH="$root/cups:$root/filter:$root/cgi-bin:$root/scheduler:$root/driver:$root/ppdc:$SHLIB_PATH"
+       SHLIB_PATH="$root/cups:$root/filter:$root/cgi-bin:$root/scheduler:$root/ppdc:$SHLIB_PATH"
 fi
 
 export SHLIB_PATH
@@ -482,14 +537,14 @@ export LC_MESSAGES
 #
 
 echo "Starting scheduler:"
-echo "    $valgrind ../scheduler/cupsd -c /tmp/cups-$user/cupsd.conf -f >/tmp/cups-$user/log/debug_log 2>&1 &"
+echo "    $VALGRIND ../scheduler/cupsd -c /tmp/cups-$user/cupsd.conf -f >/tmp/cups-$user/log/debug_log 2>&1 &"
 echo ""
 
-if test `uname` = Darwin -a "x$valgrind" = x -a -f /usr/lib/libgmalloc.dylib; then
-       DYLD_INSERT_LIBRARIES=/usr/lib/libgmalloc.dylib \
-       $valgrind ../scheduler/cupsd -c /tmp/cups-$user/cupsd.conf -f >/tmp/cups-$user/log/debug_log 2>&1 &
+if test `uname` = Darwin -a "x$VALGRIND" = x; then
+       DYLD_INSERT_LIBRARIES=/usr/lib/libgmalloc.dylib
+       ../scheduler/cupsd -c /tmp/cups-$user/cupsd.conf -f >/tmp/cups-$user/log/debug_log 2>&1 &
 else
-       $valgrind ../scheduler/cupsd -c /tmp/cups-$user/cupsd.conf -f >/tmp/cups-$user/log/debug_log 2>&1 &
+       $VALGRIND ../scheduler/cupsd -c /tmp/cups-$user/cupsd.conf -f >/tmp/cups-$user/log/debug_log 2>&1 &
 fi
 
 cupsd=$!
@@ -553,7 +608,7 @@ done
 #
 
 date=`date "+%Y-%m-%d"`
-strfile=/tmp/cups-$user/cups-str-1.5-$date-$user.html
+strfile=/tmp/cups-$user/cups-str-1.6-$date-$user.html
 
 rm -f $strfile
 cat str-header.html >$strfile
@@ -572,11 +627,18 @@ echo `date "+%Y-%m-%d"` by $user on `hostname`. >>$strfile
 echo "<PRE>" >>$strfile
 
 fail=0
-for file in 4*.test; do
+for file in 4*.test ipp-2.1.test; do
        echo $ac_n "Performing $file: $ac_c"
        echo "" >>$strfile
 
-       ./ipptool -tI ipp://localhost:$port/printers $file >> $strfile
+       if test $file = ipp-2.1.test; then
+               uri="ipp://localhost:$port/printers/Test1"
+               options="-V 2.1 -d NOPRINT=1 -f testfile.ps"
+       else
+               uri="ipp://localhost:$port/printers"
+               options=""
+       fi
+       $VALGRIND ./ipptool -tI $options $uri $file >> $strfile
        status=$?
 
        if test $status != 0; then
@@ -677,9 +739,21 @@ else
        echo "<P>PASS: Printer 'Test2' correctly produced $count page(s).</P>" >>$strfile
 fi
 
+# Paged printed on Test3
+count=`$GREP '^Test3 ' /tmp/cups-$user/log/page_log | grep -v total | awk 'BEGIN{count=0}{count=count+$7}END{print count}'`
+expected=2
+if test $count != $expected; then
+       echo "FAIL: Printer 'Test3' produced $count page(s), expected $expected."
+       echo "<P>FAIL: Printer 'Test3' produced $count page(s), expected $expected.</P>" >>$strfile
+       fail=`expr $fail + 1`
+else
+       echo "PASS: Printer 'Test3' correctly produced $count page(s)."
+       echo "<P>PASS: Printer 'Test3' correctly produced $count page(s).</P>" >>$strfile
+fi
+
 # Requests logged
 count=`wc -l /tmp/cups-$user/log/access_log | awk '{print $1}'`
-expected=`expr 37 + 18 + $pjobs \* 8 + $pprinters \* $pjobs \* 4`
+expected=`expr 37 + 18 + 28 + $pjobs \* 8 + $pprinters \* $pjobs \* 4`
 if test $count != $expected; then
        echo "FAIL: $count requests logged, expected $expected."
        echo "<P>FAIL: $count requests logged, expected $expected.</P>" >>$strfile
@@ -749,10 +823,10 @@ fi
 
 # Error log messages
 count=`$GREP '^E ' /tmp/cups-$user/log/error_log | wc -l | awk '{print $1}'`
-if test $count != 18; then
-       echo "FAIL: $count error messages, expected 18."
+if test $count != 33; then
+       echo "FAIL: $count error messages, expected 33."
        $GREP '^E ' /tmp/cups-$user/log/error_log
-       echo "<P>FAIL: $count error messages, expected 18.</P>" >>$strfile
+       echo "<P>FAIL: $count error messages, expected 33.</P>" >>$strfile
        echo "<PRE>" >>$strfile
        $GREP '^E ' /tmp/cups-$user/log/error_log | sed -e '1,$s/&/&amp;/g' -e '1,$s/</&lt;/g' >>$strfile
        echo "</PRE>" >>$strfile
@@ -870,5 +944,5 @@ if test $fail != 0; then
 fi
 
 #
-# End of "$Id: run-stp-tests.sh 10464 2012-05-15 14:04:18Z mike $"
+# End of "$Id: run-stp-tests.sh 9034 2010-03-09 07:03:06Z mike $"
 #
index 377819a..213bdd2 100644 (file)
@@ -17,8 +17,8 @@
        ATTR name requesting-user-name $user
 
        # What statuses are OK?
-       STATUS ok
-       STATUS ok-subst
+       STATUS successful-ok
+       STATUS successful-ok-ignored-or-substituted-attributes
 }
 
 {
@@ -45,8 +45,8 @@
        FILE ../data/testprint.ps
 
        # What statuses are OK?
-       STATUS ok
-       STATUS ok-subst
+       STATUS successful-ok
+       STATUS successful-ok-ignored-or-substituted-attributes
 
        # What attributes do we expect?
        EXPECT job-id
@@ -71,8 +71,8 @@
        ATTR integer job-id $job-id
 
        # What statuses are OK?
-       STATUS ok
-       STATUS ok-subst
+       STATUS successful-ok
+       STATUS successful-ok-ignored-or-substituted-attributes
 
        # What attributes do we expect?
        EXPECT job-state
        ATTR name job-hold-until 00:30:00
 
        # What statuses are OK?
-       STATUS ok
-       STATUS ok-subst
+       STATUS successful-ok
+       STATUS successful-ok-ignored-or-substituted-attributes
 }
 
 {
        ATTR integer job-id $job-id
 
        # What statuses are OK?
-       STATUS ok
-       STATUS ok-subst
+       STATUS successful-ok
+       STATUS successful-ok-ignored-or-substituted-attributes
 
        # What attributes do we expect?
        EXPECT job-state
        ATTR name requesting-user-name $user
 
        # What statuses are OK?
-       STATUS ok
-       STATUS ok-subst
+       STATUS successful-ok
+       STATUS successful-ok-ignored-or-substituted-attributes
 }
 
 {
        ATTR integer job-id $job-id
 
        # What statuses are OK?
-       STATUS ok
-       STATUS ok-subst
+       STATUS successful-ok
+       STATUS successful-ok-ignored-or-substituted-attributes
 
        # What attributes do we expect?
        EXPECT job-state
index 84f0d9b..64a3425 100644 (file)
@@ -1,10 +1,10 @@
 <HTML>
 <HEAD>
        <META NAME="Description" CONTENT="CUPS Test Report">
-       <META NAME="COPYRIGHT" CONTENT="Copyright 2007-2010, All Rights Reserved">
-       <META NAME="DOCNUMBER" CONTENT="CUPS-STR-1.5">
+       <META NAME="COPYRIGHT" CONTENT="Copyright 2007-2012, All Rights Reserved">
+       <META NAME="DOCNUMBER" CONTENT="CUPS-STR-1.6">
        <META NAME="Author" CONTENT="Apple Inc.">
-       <TITLE>CUPS 1.5 Software Test Report</TITLE>
+       <TITLE>CUPS 1.6 Software Test Report</TITLE>
        <STYLE TYPE="text/css"><!--
        PRE {
          font-size: 80%;
 </HEAD>
 <BODY>
 
-<H1>CUPS 1.5 Software Test Report</H1>
+<H1>CUPS 1.6 Software Test Report</H1>
 
 <P>This software test report provides detailed test results that
-are used to evaluate the stability and compliance of CUPS Version 1.5.
+are used to evaluate the stability and compliance of CUPS Version 1.6.
 
 <H2>Document Overview</H2>
 
diff --git a/test/testfile.pcl b/test/testfile.pcl
new file mode 100644 (file)
index 0000000..4b86597
--- /dev/null
@@ -0,0 +1,60 @@
+\eEAll work and no play makes Johhny a dull boy.  All work and no\r
+play makes Johhny a dull boy.  All work and no play makes Johhny\r
+a dull boy.  All work and no play makes Johhny a dull boy.  All\r
+work and no play makes Johhny a dull boy.  All work and no play\r
+makes Johhny a dull boy.  All work and no play makes Johhny a\r
+dull boy.  All work and no play makes Johhny a dull boy.  All\r
+work and no play makes Johhny a dull boy.  All work and no play\r
+makes Johhny a dull boy.  All work and no play makes Johhny a\r
+dull boy. All work and no play makes Johhny a dull boy.  All\r
+work and no play makes Johhny a dull boy.  All work and no play\r
+makes Johhny a dull boy.  All work and no play makes Johhny a\r
+dull boy.  All work and no play makes Johhny a dull boy.  All\r
+work and no play makes Johhny a dull boy.  All work and no play\r
+makes Johhny a dull boy.  All work and no play makes Johhny a\r
+dull boy.  All work and no play makes Johhny a dull boy.  All\r
+work and no play makes Johhny a dull boy.  All work and no play\r
+makes Johhny a dull boy. All work and no play makes Johhny a\r
+dull boy.  All work and no play makes Johhny a dull boy.  All\r
+work and no play makes Johhny a dull boy.  All work and no play\r
+makes Johhny a dull boy.  All work and no play makes Johhny a\r
+dull boy.  All work and no play makes Johhny a dull boy.  All\r
+work and no play makes Johhny a dull boy.  All work and no play\r
+makes Johhny a dull boy.  All work and no play makes Johhny a\r
+dull boy.  All work and no play makes Johhny a dull boy.  All\r
+work and no play makes Johhny a dull boy. All work and no play\r
+makes Johhny a dull boy.  All work and no play makes Johhny a\r
+dull boy.  All work and no play makes Johhny a dull boy.  All\r
+work and no play makes Johhny a dull boy.  All work and no play\r
+makes Johhny a dull boy.  All work and no play makes Johhny a\r
+dull boy.  All work and no play makes Johhny a dull boy.  All\r
+work and no play makes Johhny a dull boy.  All work and no play\r
+makes Johhny a dull boy.  All work and no play makes Johhny a\r
+dull boy.  All work and no play makes Johhny a dull boy. All\r
+work and no play makes Johhny a dull boy.  All work and no play\r
+makes Johhny a dull boy.  All work and no play makes Johhny a\r
+dull boy.  All work and no play makes Johhny a dull boy.  All\r
+work and no play makes Johhny a dull boy.  All work and no play\r
+makes Johhny a dull boy.  All work and no play makes Johhny a\r
+dull boy.  All work and no play makes Johhny a dull boy.  All\r
+work and no play makes Johhny a dull boy.  All work and no play\r
+makes Johhny a dull boy.  All work and no play makes Johhny a\r
+dull boy. All work and no play makes Johhny a dull boy.  All\r
+work and no play makes Johhny a dull boy.  All work and no play\r
+makes Johhny a dull boy.  All work and no play makes Johhny a\r
+dull boy.  All work and no play makes Johhny a dull boy.  All\r
+work and no play makes Johhny a dull boy.  All work and no play\r
+makes Johhny a dull boy.  All work and no play makes Johhny a\r
+dull boy.  All work and no play makes Johhny a dull boy.  All\r
+work and no play makes Johhny a dull boy.  All work and no play\r
+makes Johhny a dull boy. All work and no play makes Johhny a\r
+dull boy.  All work and no play makes Johhny a dull boy.  All\r
+work and no play makes Johhny a dull boy.  All work and no play\r
+makes Johhny a dull boy.  All work and no play makes Johhny a\r
+dull boy.  All work and no play makes Johhny a dull boy.  All\r
+work and no play makes Johhny a dull boy.  All work and no play\r
+makes Johhny a dull boy.  All work and no play makes Johhny a\r
+dull boy.  All work and no play makes Johhny a dull boy.  All\r
+work and no play makes Johhny a dull boy. All work and no play\r
+makes Johhny a dull boy.  All work and no play makes Johhny a\r
+dull boy.  All work and no play makes Johhny a dull boy.\f\eE\r
index d02503a..bf8c36c 100644 (file)
@@ -593,6 +593,6 @@ gsave
 grestore
 showpage
 %
-% End of "$Id: testfile.ps 9771 2011-05-12 05:21:56Z mike $".
+% End of "$Id: testfile.ps 6649 2007-07-11 21:46:42Z mike $".
 %
 %%EOF
index 46bbf08..bad0a31 100644 (file)
@@ -1,60 +1,60 @@
-All work and no play makes Johhny a dull boy.  All work and no
-play makes Johhny a dull boy.  All work and no play makes Johhny
-a dull boy.  All work and no play makes Johhny a dull boy.  All
-work and no play makes Johhny a dull boy.  All work and no play
-makes Johhny a dull boy.  All work and no play makes Johhny a
-dull boy.  All work and no play makes Johhny a dull boy.  All
-work and no play makes Johhny a dull boy.  All work and no play
-makes Johhny a dull boy.  All work and no play makes Johhny a
-dull boy. All work and no play makes Johhny a dull boy.  All
-work and no play makes Johhny a dull boy.  All work and no play
-makes Johhny a dull boy.  All work and no play makes Johhny a
-dull boy.  All work and no play makes Johhny a dull boy.  All
-work and no play makes Johhny a dull boy.  All work and no play
-makes Johhny a dull boy.  All work and no play makes Johhny a
-dull boy.  All work and no play makes Johhny a dull boy.  All
-work and no play makes Johhny a dull boy.  All work and no play
-makes Johhny a dull boy. All work and no play makes Johhny a
-dull boy.  All work and no play makes Johhny a dull boy.  All
-work and no play makes Johhny a dull boy.  All work and no play
-makes Johhny a dull boy.  All work and no play makes Johhny a
-dull boy.  All work and no play makes Johhny a dull boy.  All
-work and no play makes Johhny a dull boy.  All work and no play
-makes Johhny a dull boy.  All work and no play makes Johhny a
-dull boy.  All work and no play makes Johhny a dull boy.  All
-work and no play makes Johhny a dull boy. All work and no play
-makes Johhny a dull boy.  All work and no play makes Johhny a
-dull boy.  All work and no play makes Johhny a dull boy.  All
-work and no play makes Johhny a dull boy.  All work and no play
-makes Johhny a dull boy.  All work and no play makes Johhny a
-dull boy.  All work and no play makes Johhny a dull boy.  All
-work and no play makes Johhny a dull boy.  All work and no play
-makes Johhny a dull boy.  All work and no play makes Johhny a
-dull boy.  All work and no play makes Johhny a dull boy. All
-work and no play makes Johhny a dull boy.  All work and no play
-makes Johhny a dull boy.  All work and no play makes Johhny a
-dull boy.  All work and no play makes Johhny a dull boy.  All
-work and no play makes Johhny a dull boy.  All work and no play
-makes Johhny a dull boy.  All work and no play makes Johhny a
-dull boy.  All work and no play makes Johhny a dull boy.  All
-work and no play makes Johhny a dull boy.  All work and no play
-makes Johhny a dull boy.  All work and no play makes Johhny a
-dull boy. All work and no play makes Johhny a dull boy.  All
-work and no play makes Johhny a dull boy.  All work and no play
-makes Johhny a dull boy.  All work and no play makes Johhny a
-dull boy.  All work and no play makes Johhny a dull boy.  All
-work and no play makes Johhny a dull boy.  All work and no play
-makes Johhny a dull boy.  All work and no play makes Johhny a
-dull boy.  All work and no play makes Johhny a dull boy.  All
-work and no play makes Johhny a dull boy.  All work and no play
-makes Johhny a dull boy. All work and no play makes Johhny a
-dull boy.  All work and no play makes Johhny a dull boy.  All
-work and no play makes Johhny a dull boy.  All work and no play
-makes Johhny a dull boy.  All work and no play makes Johhny a
-dull boy.  All work and no play makes Johhny a dull boy.  All
-work and no play makes Johhny a dull boy.  All work and no play
-makes Johhny a dull boy.  All work and no play makes Johhny a
-dull boy.  All work and no play makes Johhny a dull boy.  All
-work and no play makes Johhny a dull boy. All work and no play
-makes Johhny a dull boy.  All work and no play makes Johhny a
-dull boy.  All work and no play makes Johhny a dull boy.
+All work and no play makes Johhny a dull boy.  All work and no\r
+play makes Johhny a dull boy.  All work and no play makes Johhny\r
+a dull boy.  All work and no play makes Johhny a dull boy.  All\r
+work and no play makes Johhny a dull boy.  All work and no play\r
+makes Johhny a dull boy.  All work and no play makes Johhny a\r
+dull boy.  All work and no play makes Johhny a dull boy.  All\r
+work and no play makes Johhny a dull boy.  All work and no play\r
+makes Johhny a dull boy.  All work and no play makes Johhny a\r
+dull boy. All work and no play makes Johhny a dull boy.  All\r
+work and no play makes Johhny a dull boy.  All work and no play\r
+makes Johhny a dull boy.  All work and no play makes Johhny a\r
+dull boy.  All work and no play makes Johhny a dull boy.  All\r
+work and no play makes Johhny a dull boy.  All work and no play\r
+makes Johhny a dull boy.  All work and no play makes Johhny a\r
+dull boy.  All work and no play makes Johhny a dull boy.  All\r
+work and no play makes Johhny a dull boy.  All work and no play\r
+makes Johhny a dull boy. All work and no play makes Johhny a\r
+dull boy.  All work and no play makes Johhny a dull boy.  All\r
+work and no play makes Johhny a dull boy.  All work and no play\r
+makes Johhny a dull boy.  All work and no play makes Johhny a\r
+dull boy.  All work and no play makes Johhny a dull boy.  All\r
+work and no play makes Johhny a dull boy.  All work and no play\r
+makes Johhny a dull boy.  All work and no play makes Johhny a\r
+dull boy.  All work and no play makes Johhny a dull boy.  All\r
+work and no play makes Johhny a dull boy. All work and no play\r
+makes Johhny a dull boy.  All work and no play makes Johhny a\r
+dull boy.  All work and no play makes Johhny a dull boy.  All\r
+work and no play makes Johhny a dull boy.  All work and no play\r
+makes Johhny a dull boy.  All work and no play makes Johhny a\r
+dull boy.  All work and no play makes Johhny a dull boy.  All\r
+work and no play makes Johhny a dull boy.  All work and no play\r
+makes Johhny a dull boy.  All work and no play makes Johhny a\r
+dull boy.  All work and no play makes Johhny a dull boy. All\r
+work and no play makes Johhny a dull boy.  All work and no play\r
+makes Johhny a dull boy.  All work and no play makes Johhny a\r
+dull boy.  All work and no play makes Johhny a dull boy.  All\r
+work and no play makes Johhny a dull boy.  All work and no play\r
+makes Johhny a dull boy.  All work and no play makes Johhny a\r
+dull boy.  All work and no play makes Johhny a dull boy.  All\r
+work and no play makes Johhny a dull boy.  All work and no play\r
+makes Johhny a dull boy.  All work and no play makes Johhny a\r
+dull boy. All work and no play makes Johhny a dull boy.  All\r
+work and no play makes Johhny a dull boy.  All work and no play\r
+makes Johhny a dull boy.  All work and no play makes Johhny a\r
+dull boy.  All work and no play makes Johhny a dull boy.  All\r
+work and no play makes Johhny a dull boy.  All work and no play\r
+makes Johhny a dull boy.  All work and no play makes Johhny a\r
+dull boy.  All work and no play makes Johhny a dull boy.  All\r
+work and no play makes Johhny a dull boy.  All work and no play\r
+makes Johhny a dull boy. All work and no play makes Johhny a\r
+dull boy.  All work and no play makes Johhny a dull boy.  All\r
+work and no play makes Johhny a dull boy.  All work and no play\r
+makes Johhny a dull boy.  All work and no play makes Johhny a\r
+dull boy.  All work and no play makes Johhny a dull boy.  All\r
+work and no play makes Johhny a dull boy.  All work and no play\r
+makes Johhny a dull boy.  All work and no play makes Johhny a\r
+dull boy.  All work and no play makes Johhny a dull boy.  All\r
+work and no play makes Johhny a dull boy. All work and no play\r
+makes Johhny a dull boy.  All work and no play makes Johhny a\r
+dull boy.  All work and no play makes Johhny a dull boy.\r
index 4a82be6..6200c7a 100644 (file)
@@ -1,6 +1,6 @@
 *PPD-Adobe: "4.3"
 *%
-*% "$Id: testhp.ppd 9563 2011-02-22 20:21:24Z mike $"
+*% "$Id: testhp.ppd 6649 2007-07-11 21:46:42Z mike $"
 *%
 *%   Test HP PPD file for CUPS.
 *%
 *Font ZapfChancery-MediumItalic: Standard "(001.007S)" Standard ROM
 *Font ZapfDingbats: Special "(001.004S)" Standard ROM
 *%
-*% End of "$Id: testhp.ppd 9563 2011-02-22 20:21:24Z mike $".
+*% End of "$Id: testhp.ppd 6649 2007-07-11 21:46:42Z mike $".
 *%
index 6e47800..10b4a37 100644 (file)
@@ -1,6 +1,6 @@
 *PPD-Adobe: "4.3"
 *%
-*% "$Id: testps.ppd 9771 2011-05-12 05:21:56Z mike $"
+*% "$Id: testps.ppd 6649 2007-07-11 21:46:42Z mike $"
 *%
 *%   Test PS PPD file for CUPS.
 *%
 *Font ZapfChancery-MediumItalic: Standard "(001.007S)" Standard ROM
 *Font ZapfDingbats: Special "(001.004S)" Standard ROM
 *%
-*% End of "$Id: testps.ppd 9771 2011-05-12 05:21:56Z mike $".
+*% End of "$Id: testps.ppd 6649 2007-07-11 21:46:42Z mike $".
 *%
index b3dec92..01c581d 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# "$Id: waitjobs.sh 8393 2009-02-25 23:24:18Z mike $"
+# "$Id: waitjobs.sh 1253 2009-02-25 23:37:25Z msweet $"
 #
 # Script to wait for jobs to complete.
 #
@@ -56,5 +56,5 @@ done
 echo ""
 
 #
-# End of "$Id: waitjobs.sh 8393 2009-02-25 23:24:18Z mike $".
+# End of "$Id: waitjobs.sh 1253 2009-02-25 23:37:25Z msweet $".
 #
diff --git a/test/xmltotest.c b/test/xmltotest.c
new file mode 100644 (file)
index 0000000..fdb9f93
--- /dev/null
@@ -0,0 +1,529 @@
+/*
+ * "$Id: xmltotest.c 11173 2013-07-23 12:31:34Z msweet $"
+ *
+ *   IANA XML registration to test file generator for CUPS.
+ *
+ *   Copyright 2011-2012 by Apple Inc.
+ *
+ *   These coded instructions, statements, and computer programs are the
+ *   property of Apple Inc. and are protected by Federal copyright
+ *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
+ *   which should have been included with this file.  If this file is
+ *   file is missing or damaged, see the license at "http://www.cups.org/".
+ *
+ *   This file is subject to the Apple OS-Developed Software exception.
+ *
+ * Usage:
+ *
+ *   ./xmltotest [--ref standard] {--job|--printer} [XML file/URL] >file.test
+ *
+ *   If not specified, loads the XML registrations from:
+ *
+ *     http://www.iana.org/assignments/ipp-registrations/ipp-registrations.xml
+ *
+ *   "Standard" is of the form "rfcNNNN" or "pwgNNNN.N".
+ *
+ * Contents:
+ *
+ *   main()        - Process command-line arguments.
+ *   compare_reg()  - Compare two registrations.
+ *   load_xml()     - Load the XML registration file or URL.
+ *   match_xref()   - Compare the xref against the named standard.
+ *   new_reg()     - Create a new registration record.
+ *   usage()       - Show usage message.
+ *   write_expect() - Write an EXPECT test for an attribute.
+ */
+
+
+#include <config.h>
+#include <cups/cups.h>
+#include <unistd.h>
+#include <fcntl.h>
+
+#ifdef HAVE_MXML_H
+#  include <mxml.h>
+/*
+ * Local types...
+ */
+
+typedef struct _cups_reg_s             /**** Registration data ****/
+{
+  char *name,                          /* Attribute name */
+       *member,                        /* Member attribute name */
+       *sub_member,                    /* Sub-member attribute name */
+       *syntax;                        /* Attribute syntax */
+} _cups_reg_t;
+
+
+/*
+ * Local functions...
+ */
+
+static int             compare_reg(_cups_reg_t *a, _cups_reg_t *b);
+static mxml_node_t     *load_xml(const char *reg_file);
+static int             match_xref(mxml_node_t *xref, const char *standard);
+static _cups_reg_t     *new_reg(mxml_node_t *name, mxml_node_t *member,
+                                mxml_node_t *sub_member, mxml_node_t *syntax);
+static int             usage(void);
+static void            write_expect(_cups_reg_t *reg, ipp_tag_t group);
+
+
+/*
+ * 'main()' - Process command-line arguments.
+ */
+
+int
+main(int  argc,                                /* I - Number of command-line args */
+     char *argv[])                     /* I - Command-line arguments */
+{
+  int          i;                      /* Looping var */
+  const char   *reg_file = NULL,       /* Registration file/URL to use */
+               *reg_standard = NULL;   /* Which standard to extract */
+  mxml_node_t  *reg_xml,               /* Registration XML data */
+               *reg_2,                 /* ipp-registrations-2 */
+               *reg_record,            /* <record> */
+               *reg_collection,        /* <collection> */
+               *reg_name,              /* <name> */
+               *reg_member,            /* <member_attribute> */
+               *reg_sub_member,        /* <sub-member_attribute> */
+               *reg_syntax,            /* <syntax> */
+               *reg_xref;              /* <xref> */
+  cups_array_t *attrs;                 /* Attribute registrations */
+  _cups_reg_t  *current;               /* Current attribute registration */
+  ipp_tag_t    group = IPP_TAG_ZERO,   /* Which attributes to test */
+               reg_group;              /* Group for registration */
+
+
+ /*
+  * Parse command-line...
+  */
+
+  for (i = 1; i < argc; i ++)
+  {
+    if (!strcmp(argv[i], "--job") && group == IPP_TAG_ZERO)
+      group = IPP_TAG_JOB;
+    else if (!strcmp(argv[i], "--ref"))
+    {
+      i ++;
+      if (i >= argc)
+        return (usage());
+
+      reg_standard = argv[i];
+    }
+    else if (!strcmp(argv[i], "--printer") && group == IPP_TAG_ZERO)
+      group = IPP_TAG_PRINTER;
+    else if (argv[i][0] == '-' || reg_file)
+      return (usage());
+    else
+      reg_file = argv[i];
+  }
+
+  if (group == IPP_TAG_ZERO)
+    return (usage());
+
+ /*
+  * Read registrations...
+  */
+
+  if (!reg_file)
+    reg_file = "http://www.iana.org/assignments/ipp-registrations/"
+              "ipp-registrations.xml";
+
+  if ((reg_xml = load_xml(reg_file)) == NULL)
+    return (1);
+
+ /*
+  * Scan registrations for attributes...
+  */
+
+  if ((reg_2 = mxmlFindElement(reg_xml, reg_xml, "registry", "id",
+                               "ipp-registrations-2",
+                               MXML_DESCEND)) == NULL)
+  {
+    fprintf(stderr, "xmltotest: No IPP attribute registrations in \"%s\".\n",
+            reg_file);
+    return (1);
+  }
+
+  attrs = cupsArrayNew((cups_array_func_t)compare_reg, NULL);
+
+  for (reg_record = mxmlFindElement(reg_2, reg_2, "record", NULL, NULL,
+                                   MXML_DESCEND);
+       reg_record;
+       reg_record = mxmlFindElement(reg_record, reg_2, "record", NULL, NULL,
+                                    MXML_NO_DESCEND))
+  {
+   /*
+    * Get the values from the current record...
+    */
+
+    reg_collection = mxmlFindElement(reg_record, reg_record, "collection",
+                                     NULL, NULL, MXML_DESCEND);
+    reg_name       = mxmlFindElement(reg_record, reg_record, "name", NULL, NULL,
+                                     MXML_DESCEND);
+    reg_member     = mxmlFindElement(reg_record, reg_record, "member_attribute",
+                                     NULL, NULL, MXML_DESCEND);
+    reg_sub_member = mxmlFindElement(reg_record, reg_record,
+                                     "sub-member_attribute", NULL, NULL,
+                                     MXML_DESCEND);
+    reg_syntax     = mxmlFindElement(reg_record, reg_record, "syntax", NULL,
+                                     NULL, MXML_DESCEND);
+    reg_xref       = mxmlFindElement(reg_record, reg_record, "xref", NULL, NULL,
+                                     MXML_DESCEND);
+
+    if (!reg_collection || !reg_name || !reg_syntax || !reg_xref)
+      continue;
+
+   /*
+    * Filter based on group and standard...
+    */
+
+    if (!strcmp(reg_collection->child->value.opaque, "Printer Description"))
+      reg_group = IPP_TAG_PRINTER;
+    else if (!strcmp(reg_collection->child->value.opaque, "Job Description"))
+      reg_group = IPP_TAG_JOB;
+    else if (!strcmp(reg_collection->child->value.opaque, "Job Template"))
+    {
+      if (strstr(reg_name->child->value.opaque, "-default") ||
+          strstr(reg_name->child->value.opaque, "-supported"))
+       reg_group = IPP_TAG_PRINTER;
+      else
+       reg_group = IPP_TAG_JOB;
+    }
+    else
+      reg_group = IPP_TAG_ZERO;
+
+    if (reg_group != group)
+      continue;
+
+    if (reg_standard && !match_xref(reg_xref, reg_standard))
+      continue;
+
+   /*
+    * Add the record to the array...
+    */
+
+    if ((current = new_reg(reg_name, reg_member, reg_sub_member,
+                           reg_syntax)) != NULL)
+      cupsArrayAdd(attrs, current);
+  }
+
+ /*
+  * Write out a test for all of the selected attributes...
+  */
+
+  puts("{");
+
+  if (group == IPP_TAG_PRINTER)
+  {
+    puts("\tOPERATION Get-Printer-Attributes");
+    puts("\tGROUP operation-attributes-tag");
+    puts("\tATTR charset attributes-charset utf-8");
+    puts("\tATTR naturalLanguage attributes-natural-language en");
+    puts("\tATTR uri printer-uri $uri");
+    puts("\tATTR name requesting-user-name $user");
+    puts("\tATTR keyword requested-attributes all,media-col-database");
+    puts("");
+    puts("\tSTATUS successful-ok");
+    puts("\tSTATUS successful-ok-ignored-or-substituted-attributes");
+    puts("");
+  }
+  else
+  {
+    puts("\tOPERATION Get-Job-Attributes");
+    puts("\tGROUP operation-attributes-tag");
+    puts("\tATTR charset attributes-charset utf-8");
+    puts("\tATTR naturalLanguage attributes-natural-language en");
+    puts("\tATTR uri printer-uri $uri");
+    puts("\tATTR integer job-id $job-id");
+    puts("\tATTR name requesting-user-name $user");
+    puts("");
+    puts("\tSTATUS successful-ok");
+    puts("");
+  }
+
+  for (current = cupsArrayFirst(attrs);
+       current;
+       current = cupsArrayNext(attrs))
+    write_expect(current, group);
+
+  puts("}");
+
+  return (0);
+}
+
+
+/*
+ * 'compare_reg()' - Compare two registrations.
+ */
+
+static int                             /* O - Result of comparison */
+compare_reg(_cups_reg_t *a,            /* I - First registration */
+            _cups_reg_t *b)            /* I - Second registration */
+{
+  int  retval;                         /* Return value */
+
+
+  if ((retval = strcmp(a->name, b->name)) != 0)
+    return (retval);
+
+  if (a->member && b->member)
+    retval = strcmp(a->member, b->member);
+  else if (a->member)
+    retval = 1;
+  else if (b->member)
+    retval = -1;
+
+  if (retval)
+    return (retval);
+
+  if (a->sub_member && b->sub_member)
+    retval = strcmp(a->sub_member, b->sub_member);
+  else if (a->sub_member)
+    retval = 1;
+  else if (b->sub_member)
+    retval = -1;
+
+  return (retval);
+}
+
+
+/*
+ * 'load_xml()' - Load the XML registration file or URL.
+ */
+
+static mxml_node_t *                   /* O - XML file or NULL */
+load_xml(const char *reg_file)         /* I - Filename or URL */
+{
+  mxml_node_t          *xml;           /* XML file */
+  char                 scheme[256],    /* Scheme */
+                       userpass[256],  /* Username and password */
+                       hostname[256],  /* Hostname */
+                       resource[1024], /* Resource path */
+                       filename[1024]; /* Temporary file */
+  int                  port,           /* Port number */
+                       fd;             /* File descriptor */
+
+
+  if (httpSeparateURI(HTTP_URI_CODING_ALL, reg_file, scheme, sizeof(scheme),
+                      userpass, sizeof(userpass), hostname, sizeof(hostname),
+                      &port, resource, sizeof(resource)) < HTTP_URI_OK)
+  {
+    fprintf(stderr, "xmltotest: Bad URI or filename \"%s\".\n", reg_file);
+    return (NULL);
+  }
+
+  if (!strcmp(scheme, "file"))
+  {
+   /*
+    * Local file...
+    */
+
+    if ((fd = open(resource, O_RDONLY)) < 0)
+    {
+      fprintf(stderr, "xmltotest: Unable to open \"%s\": %s\n", resource,
+              strerror(errno));
+      return (NULL);
+    }
+
+    filename[0] = '\0';
+  }
+  else if (strcmp(scheme, "http") && strcmp(scheme, "https"))
+  {
+    fprintf(stderr, "xmltotest: Unsupported URI scheme \"%s\".\n", scheme);
+    return (NULL);
+  }
+  else
+  {
+    http_t             *http;          /* HTTP connection */
+    http_encryption_t  encryption;     /* Encryption to use */
+    http_status_t      status;         /* Status of HTTP GET */
+
+    if (!strcmp(scheme, "https") || port == 443)
+      encryption = HTTP_ENCRYPT_ALWAYS;
+    else
+      encryption = HTTP_ENCRYPT_IF_REQUESTED;
+
+    if ((http = httpConnectEncrypt(hostname, port, encryption)) == NULL)
+    {
+      fprintf(stderr, "xmltotest: Unable to connect to \"%s\": %s\n", hostname,
+              cupsLastErrorString());
+      return (NULL);
+    }
+
+    if ((fd = cupsTempFd(filename, sizeof(filename))) < 0)
+    {
+      fprintf(stderr, "xmltotest: Unable to create temporary file: %s\n",
+              strerror(errno));
+      httpClose(http);
+      return (NULL);
+    }
+
+    status = cupsGetFd(http, resource, fd);
+    httpClose(http);
+
+    if (status != HTTP_OK)
+    {
+      fprintf(stderr, "mxmltotest: Unable to get \"%s\": %d\n", reg_file,
+              status);
+      close(fd);
+      unlink(filename);
+      return (NULL);
+    }
+
+    lseek(fd, 0, SEEK_SET);
+  }
+
+ /*
+  * Load the XML file...
+  */
+
+  xml = mxmlLoadFd(NULL, fd, MXML_OPAQUE_CALLBACK);
+
+  close(fd);
+
+  if (filename[0])
+    unlink(filename);
+
+  return (xml);
+}
+
+
+/*
+ * 'match_xref()' - Compare the xref against the named standard.
+ */
+
+static int                             /* O - 1 if match, 0 if not */
+match_xref(mxml_node_t *xref,          /* I - <xref> node */
+           const char  *standard)      /* I - Name of standard */
+{
+  const char   *data;                  /* "data" attribute */
+  char         s[256];                 /* String to look for */
+
+
+  if ((data = mxmlElementGetAttr(xref, "data")) == NULL)
+    return (1);
+
+  if (!strcmp(data, standard))
+    return (1);
+
+  if (!strncmp(standard, "pwg", 3))
+  {
+    snprintf(s, sizeof(s), "-%s.pdf", standard + 3);
+    return (strstr(data, s) != NULL);
+  }
+  else
+    return (0);
+}
+
+
+/*
+ * 'new_reg()' - Create a new registration record.
+ */
+
+static _cups_reg_t *                   /* O - New record */
+new_reg(mxml_node_t *name,             /* I - Attribute name */
+        mxml_node_t *member,           /* I - Member attribute, if any */
+        mxml_node_t *sub_member,       /* I - Sub-member attribute, if any */
+        mxml_node_t *syntax)           /* I - Syntax */
+{
+  _cups_reg_t  *reg;                   /* New record */
+
+
+  if ((reg = calloc(1, sizeof(_cups_reg_t))) != NULL)
+  {
+    reg->name   = name->child->value.opaque;
+    reg->syntax = syntax->child->value.opaque;
+
+    if (member)
+      reg->member = member->child->value.opaque;
+
+    if (sub_member)
+      reg->sub_member = sub_member->child->value.opaque;
+  }
+
+  return (reg);
+}
+
+
+/*
+ * 'usage()' - Show usage message.
+ */
+
+static int                             /* O - Exit status */
+usage(void)
+{
+  puts("Usage ./xmltotest [--ref standard] {--job|--printer} [XML file/URL] "
+       ">file.test");
+  return (1);
+}
+
+
+/*
+ * 'write_expect()' - Write an EXPECT test for an attribute.
+ */
+
+static void
+write_expect(_cups_reg_t *reg,         /* I - Registration information */
+             ipp_tag_t   group)                /* I - Attribute group tag */
+{
+  const char   *syntax;                /* Pointer into syntax string */
+  int          single = 1,             /* Single valued? */
+               skip = 0;               /* Skip characters? */
+
+
+  printf("\tEXPECT ?%s OF-TYPE ", reg->name);
+
+  syntax = reg->syntax;
+
+  while (*syntax)
+  {
+    if (!strncmp(syntax, "1setOf", 6))
+    {
+      single = 0;
+      syntax += 6;
+
+      while (isspace(*syntax & 255))
+        syntax ++;
+
+      if (*syntax == '(')
+        syntax ++;
+    }
+    else if (!strncmp(syntax, "type1", 5) || !strncmp(syntax, "type2", 5) ||
+             !strncmp(syntax, "type3", 5))
+      syntax += 5;
+    else if (*syntax == '(')
+    {
+      skip = 1;
+      syntax ++;
+    }
+    else if (*syntax == ')')
+    {
+      skip = 0;
+      syntax ++;
+    }
+    else if (!skip && (*syntax == '|' || isalpha(*syntax & 255)))
+      putchar(*syntax++);
+    else
+      syntax ++;
+  }
+
+  if (single)
+    printf(" IN-GROUP %s COUNT 1\n", ippTagString(group));
+  else
+    printf(" IN-GROUP %s\n", ippTagString(group));
+}
+
+
+#else /* !HAVE_MXML */
+int
+main(void)
+{
+  return (1);
+}
+#endif /* HAVE_MXML */
+
+
+/*
+ * End of "$Id: xmltotest.c 11173 2013-07-23 12:31:34Z msweet $".
+ */
index 4142178..82c039f 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: config.h 9793 2011-05-20 03:49:49Z mike $"
+ * "$Id: config.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Configuration file for CUPS on Windows.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2013 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -86,8 +86,8 @@
  * Version of software...
  */
 
-#define CUPS_SVERSION "CUPS v1.5.0"
-#define CUPS_MINIMAL "CUPS/1.5.0"
+#define CUPS_SVERSION "CUPS v1.6.3"
+#define CUPS_MINIMAL "CUPS/1.6.3"
 
 
 /*
 
 
 /*
- * Do we have Mac OS X 10.4's mbr_XXX functions?
+ * Do we have OS X 10.4's mbr_XXX functions?
  */
 
 /* #undef HAVE_MEMBERSHIP_H */
 
 
 /*
- * Location of Mac OS X localization bundle, if any.
+ * Location of OS X localization bundle, if any.
  */
 
 /* #undef CUPS_BUNDLEDIR */
 #endif /* !_CUPS_CONFIG_H_ */
 
 /*
- * End of "$Id: config.h 9793 2011-05-20 03:49:49Z mike $".
+ * End of "$Id: config.h 11173 2013-07-23 12:31:34Z msweet $".
  */
index 9dabb89..5fede83 100644 (file)
@@ -1,6 +1,9 @@
 Microsoft Visual Studio Solution File, Format Version 10.00\r
 # Visual Studio 2008\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcups2", "libcups2.vcproj", "{CB4AA6F2-3E84-45BE-B505-95CD375E8BE3}"\r
+       ProjectSection(ProjectDependencies) = postProject\r
+               {18950A1B-D37A-40C7-B2DF-C12986C0526E} = {18950A1B-D37A-40C7-B2DF-C12986C0526E}\r
+       EndProjectSection\r
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcupsimage2", "libcupsimage2.vcproj", "{CB4AA6F2-3E84-45BE-B505-95CD375E1234}"\r
        ProjectSection(ProjectDependencies) = postProject\r
@@ -25,9 +28,16 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cupstestppd", "cupstestppd.
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ipptool", "ipptool.vcproj", "{B246D91E-61F2-4433-BFD2-6C2A96FBD4D4}"\r
        ProjectSection(ProjectDependencies) = postProject\r
+               {18950A1B-D37A-40C7-B2DF-C12986C0526E} = {18950A1B-D37A-40C7-B2DF-C12986C0526E}\r
                {CB4AA6F2-3E84-45BE-B505-95CD375E8BE3} = {CB4AA6F2-3E84-45BE-B505-95CD375E8BE3}\r
        EndProjectSection\r
 EndProject\r
+Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "ipptool-installer", "ipptool-installer.vdproj", "{6AEA263B-92C0-426F-B5FF-F7F5917B704A}"\r
+EndProject\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "regex", "regex.vcproj", "{18950A1B-D37A-40C7-B2DF-C12986C0526E}"\r
+EndProject\r
+Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "ipptool-installer", "libcups2-installer.vdproj", "{03CF67C2-3FF5-44EA-B3AF-FB62D3BED961}"\r
+EndProject\r
 Global\r
        GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
                Debug|Win32 = Debug|Win32\r
@@ -84,6 +94,28 @@ Global
                {B246D91E-61F2-4433-BFD2-6C2A96FBD4D4}.Release|Win32.Build.0 = Release|Win32\r
                {B246D91E-61F2-4433-BFD2-6C2A96FBD4D4}.Release|x64.ActiveCfg = Release|x64\r
                {B246D91E-61F2-4433-BFD2-6C2A96FBD4D4}.Release|x64.Build.0 = Release|x64\r
+               {6AEA263B-92C0-426F-B5FF-F7F5917B704A}.Debug|Win32.ActiveCfg = Debug\r
+               {6AEA263B-92C0-426F-B5FF-F7F5917B704A}.Debug|Win32.Build.0 = Debug\r
+               {6AEA263B-92C0-426F-B5FF-F7F5917B704A}.Debug|x64.ActiveCfg = Debug\r
+               {6AEA263B-92C0-426F-B5FF-F7F5917B704A}.Debug|x64.Build.0 = Debug\r
+               {6AEA263B-92C0-426F-B5FF-F7F5917B704A}.Release|Win32.ActiveCfg = Release\r
+               {6AEA263B-92C0-426F-B5FF-F7F5917B704A}.Release|Win32.Build.0 = Release\r
+               {6AEA263B-92C0-426F-B5FF-F7F5917B704A}.Release|x64.ActiveCfg = Release\r
+               {6AEA263B-92C0-426F-B5FF-F7F5917B704A}.Release|x64.Build.0 = Release\r
+               {18950A1B-D37A-40C7-B2DF-C12986C0526E}.Debug|Win32.ActiveCfg = Debug|Win32\r
+               {18950A1B-D37A-40C7-B2DF-C12986C0526E}.Debug|Win32.Build.0 = Debug|Win32\r
+               {18950A1B-D37A-40C7-B2DF-C12986C0526E}.Debug|x64.ActiveCfg = Debug|Win32\r
+               {18950A1B-D37A-40C7-B2DF-C12986C0526E}.Release|Win32.ActiveCfg = Release|Win32\r
+               {18950A1B-D37A-40C7-B2DF-C12986C0526E}.Release|Win32.Build.0 = Release|Win32\r
+               {18950A1B-D37A-40C7-B2DF-C12986C0526E}.Release|x64.ActiveCfg = Release|Win32\r
+               {03CF67C2-3FF5-44EA-B3AF-FB62D3BED961}.Debug|Win32.ActiveCfg = Debug\r
+               {03CF67C2-3FF5-44EA-B3AF-FB62D3BED961}.Debug|Win32.Build.0 = Debug\r
+               {03CF67C2-3FF5-44EA-B3AF-FB62D3BED961}.Debug|x64.ActiveCfg = Debug\r
+               {03CF67C2-3FF5-44EA-B3AF-FB62D3BED961}.Debug|x64.Build.0 = Debug\r
+               {03CF67C2-3FF5-44EA-B3AF-FB62D3BED961}.Release|Win32.ActiveCfg = Release\r
+               {03CF67C2-3FF5-44EA-B3AF-FB62D3BED961}.Release|Win32.Build.0 = Release\r
+               {03CF67C2-3FF5-44EA-B3AF-FB62D3BED961}.Release|x64.ActiveCfg = Release\r
+               {03CF67C2-3FF5-44EA-B3AF-FB62D3BED961}.Release|x64.Build.0 = Release\r
        EndGlobalSection\r
        GlobalSection(SolutionProperties) = preSolution\r
                HideSolutionNode = FALSE\r
index 8c34169..4739f37 100644 (file)
@@ -21,8 +21,8 @@
        <Configurations>\r
                <Configuration\r
                        Name="Debug|Win32"\r
-                       OutputDirectory="$(SolutionDir)$(ConfigurationName)"\r
-                       IntermediateDirectory="$(ConfigurationName)"\r
+                       OutputDirectory="$(PlatformName)\$(ConfigurationName)"\r
+                       IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"\r
                        ConfigurationType="1"\r
                        CharacterSet="1"\r
                        >\r
                        />\r
                </Configuration>\r
                <Configuration\r
-                       Name="Release|Win32"\r
-                       OutputDirectory="$(SolutionDir)$(ConfigurationName)"\r
-                       IntermediateDirectory="$(ConfigurationName)"\r
+                       Name="Debug|x64"\r
+                       OutputDirectory="$(PlatformName)\$(ConfigurationName)"\r
+                       IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"\r
                        ConfigurationType="1"\r
                        CharacterSet="1"\r
-                       WholeProgramOptimization="1"\r
                        >\r
                        <Tool\r
                                Name="VCPreBuildEventTool"\r
                        />\r
                        <Tool\r
                                Name="VCMIDLTool"\r
+                               TargetEnvironment="3"\r
                        />\r
                        <Tool\r
                                Name="VCCLCompilerTool"\r
+                               Optimization="0"\r
                                AdditionalIncludeDirectories="..;..\vcnet"\r
-                               PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE"\r
-                               RuntimeLibrary="2"\r
+                               PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE"\r
+                               MinimalRebuild="true"\r
+                               BasicRuntimeChecks="3"\r
+                               RuntimeLibrary="3"\r
                                UsePrecompiledHeader="0"\r
                                WarningLevel="1"\r
                                Detect64BitPortabilityProblems="false"\r
                        />\r
                        <Tool\r
                                Name="VCLinkerTool"\r
-                               LinkIncremental="1"\r
+                               LinkIncremental="2"\r
                                GenerateDebugInformation="true"\r
                                SubSystem="1"\r
-                               OptimizeReferences="2"\r
-                               EnableCOMDATFolding="2"\r
                                RandomizedBaseAddress="1"\r
                                DataExecutionPrevention="0"\r
-                               TargetMachine="1"\r
+                               TargetMachine="17"\r
                        />\r
                        <Tool\r
                                Name="VCALinkTool"\r
                        />\r
                </Configuration>\r
                <Configuration\r
-                       Name="Debug|x64"\r
-                       OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"\r
+                       Name="Release|Win32"\r
+                       OutputDirectory="$(PlatformName)\$(ConfigurationName)"\r
                        IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"\r
                        ConfigurationType="1"\r
                        CharacterSet="1"\r
+                       WholeProgramOptimization="1"\r
                        >\r
                        <Tool\r
                                Name="VCPreBuildEventTool"\r
                        />\r
                        <Tool\r
                                Name="VCMIDLTool"\r
-                               TargetEnvironment="3"\r
                        />\r
                        <Tool\r
                                Name="VCCLCompilerTool"\r
-                               Optimization="0"\r
                                AdditionalIncludeDirectories="..;..\vcnet"\r
-                               PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE"\r
-                               MinimalRebuild="true"\r
-                               BasicRuntimeChecks="3"\r
-                               RuntimeLibrary="3"\r
+                               PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE"\r
+                               RuntimeLibrary="2"\r
                                UsePrecompiledHeader="0"\r
                                WarningLevel="1"\r
                                Detect64BitPortabilityProblems="false"\r
                        />\r
                        <Tool\r
                                Name="VCLinkerTool"\r
-                               LinkIncremental="2"\r
+                               LinkIncremental="1"\r
                                GenerateDebugInformation="true"\r
                                SubSystem="1"\r
+                               OptimizeReferences="2"\r
+                               EnableCOMDATFolding="2"\r
                                RandomizedBaseAddress="1"\r
                                DataExecutionPrevention="0"\r
-                               TargetMachine="17"\r
+                               TargetMachine="1"\r
                        />\r
                        <Tool\r
                                Name="VCALinkTool"\r
                </Configuration>\r
                <Configuration\r
                        Name="Release|x64"\r
-                       OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"\r
+                       OutputDirectory="$(PlatformName)\$(ConfigurationName)"\r
                        IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"\r
                        ConfigurationType="1"\r
                        CharacterSet="1"\r
diff --git a/vcnet/ipptool-installer.vdproj b/vcnet/ipptool-installer.vdproj
new file mode 100644 (file)
index 0000000..948299e
--- /dev/null
@@ -0,0 +1,1669 @@
+"DeployProject"\r
+{\r
+"VSVersion" = "3:800"\r
+"ProjectType" = "8:{978C614F-708E-4E1A-B201-565925725DBA}"\r
+"IsWebType" = "8:FALSE"\r
+"ProjectName" = "8:ipptool-installer"\r
+"LanguageId" = "3:1033"\r
+"CodePage" = "3:1252"\r
+"UILanguageId" = "3:1033"\r
+"SccProjectName" = "8:"\r
+"SccLocalPath" = "8:"\r
+"SccAuxPath" = "8:"\r
+"SccProvider" = "8:"\r
+    "Hierarchy"\r
+    {\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_009DC3ED78164048934ED35E89A0A1C5"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_1A1324305D78463BBFC62269C56DCF0B"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_1E4B2A9BD6A44926B719E0D7E8FC0952"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_290B9B52C4784AED94FA6B87CAB18D10"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_40C483299484486C9416B704F0EF4A6C"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_41260853156249FDB39A8E386F935492"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_425F2537D86148B9A4233AD27D426738"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_65CBD149C9DA448FBACE2B02766A6537"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_6F893B2A3B7048CBA39359FC368BCA27"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_7AFD2BBA568D45F5B1E871E2B93892BC"\r
+        "OwnerKey" = "8:_D02EB13951314EFD9C539150EF8E53B8"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_7AFD2BBA568D45F5B1E871E2B93892BC"\r
+        "OwnerKey" = "8:_EA282F32A10B4ED1A81AA6133B997C6A"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_7AFD2BBA568D45F5B1E871E2B93892BC"\r
+        "OwnerKey" = "8:_E97571D3FBE048DABDC59B37762D800F"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_80DBA85C961E447CB92C95CE1F38C56B"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_842C04D73EBC4F5DBC2FD58D5B98D5D1"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_8AC6B9D7EF6B4C7A8C7B5AD85AA397C3"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_8CC3562BCDED4676A672115D19D898B5"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_9967519E7058965D4C7DEF47EB39CC50"\r
+        "OwnerKey" = "8:_EA282F32A10B4ED1A81AA6133B997C6A"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_9FBF78D7B89EEA843380D5F10E1954D7"\r
+        "OwnerKey" = "8:_EA282F32A10B4ED1A81AA6133B997C6A"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_AF057921D20E4520A3C6420F0729A744"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_B9E79062FEF64745915546DDD5BF8D85"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_BD5B70C103EF41D9A30CF249D2B93CEB"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_C430646D6E7C4CBDA84F951AE95EB76F"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_D02EB13951314EFD9C539150EF8E53B8"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_D4BEA026ABFB46DD960AD8EFCAE45E31"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_D5CD9D9AB1644688A1D54B1589BDF724"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_E30823E684384F4DB7385B14F714AD95"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_E3C6C5A7FDD94965B68960844461D5EA"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_E4C0F67094B94E05AB69787080727089"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_E50F2FB950DD47D993DC8FB577266549"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_E7DD6A8D195B4752B0525628FF9586E4"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_E97571D3FBE048DABDC59B37762D800F"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_E9CA670571B5447682529CDB7BC3C100"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_EA282F32A10B4ED1A81AA6133B997C6A"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_EA9CE1B09EF1442BAA3C3F5AE7865ABF"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_EC7FE3265BDB4C52B5B87A8AC56AFDDD"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_F0AA062C769A4867B5C302491CA4F2D3"\r
+        "OwnerKey" = "8:_7AFD2BBA568D45F5B1E871E2B93892BC"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_F16FA7F9826E461E955A95B2EEABA975"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_F22F5380A6E14A43A15A452C7C6F6C07"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+    }\r
+    "Configurations"\r
+    {\r
+        "Debug"\r
+        {\r
+        "DisplayName" = "8:Debug"\r
+        "IsDebugOnly" = "11:TRUE"\r
+        "IsReleaseOnly" = "11:FALSE"\r
+        "OutputFilename" = "8:ipptool-windows.msi"\r
+        "PackageFilesAs" = "3:2"\r
+        "PackageFileSize" = "3:-2147483648"\r
+        "CabType" = "3:1"\r
+        "Compression" = "3:3"\r
+        "SignOutput" = "11:FALSE"\r
+        "CertificateFile" = "8:"\r
+        "PrivateKeyFile" = "8:"\r
+        "TimeStampServer" = "8:"\r
+        "InstallerBootstrapper" = "3:2"\r
+            "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"\r
+            {\r
+            "Enabled" = "11:TRUE"\r
+            "PromptEnabled" = "11:TRUE"\r
+            "PrerequisitesLocation" = "2:1"\r
+            "Url" = "8:"\r
+            "ComponentsUrl" = "8:"\r
+                "Items"\r
+                {\r
+                    "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Net.Framework.3.5.SP1"\r
+                    {\r
+                    "Name" = "8:.NET Framework 3.5 SP1"\r
+                    "ProductCode" = "8:Microsoft.Net.Framework.3.5.SP1"\r
+                    }\r
+                    "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Windows.Installer.3.1"\r
+                    {\r
+                    "Name" = "8:Windows Installer 3.1"\r
+                    "ProductCode" = "8:Microsoft.Windows.Installer.3.1"\r
+                    }\r
+                }\r
+            }\r
+        }\r
+        "Release"\r
+        {\r
+        "DisplayName" = "8:Release"\r
+        "IsDebugOnly" = "11:FALSE"\r
+        "IsReleaseOnly" = "11:TRUE"\r
+        "OutputFilename" = "8:ipptool-windows.msi"\r
+        "PackageFilesAs" = "3:2"\r
+        "PackageFileSize" = "3:-2147483648"\r
+        "CabType" = "3:1"\r
+        "Compression" = "3:3"\r
+        "SignOutput" = "11:FALSE"\r
+        "CertificateFile" = "8:"\r
+        "PrivateKeyFile" = "8:"\r
+        "TimeStampServer" = "8:"\r
+        "InstallerBootstrapper" = "3:2"\r
+            "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"\r
+            {\r
+            "Enabled" = "11:TRUE"\r
+            "PromptEnabled" = "11:TRUE"\r
+            "PrerequisitesLocation" = "2:1"\r
+            "Url" = "8:"\r
+            "ComponentsUrl" = "8:"\r
+                "Items"\r
+                {\r
+                    "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Net.Framework.3.5.SP1"\r
+                    {\r
+                    "Name" = "8:.NET Framework 3.5 SP1"\r
+                    "ProductCode" = "8:Microsoft.Net.Framework.3.5.SP1"\r
+                    }\r
+                    "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Windows.Installer.3.1"\r
+                    {\r
+                    "Name" = "8:Windows Installer 3.1"\r
+                    "ProductCode" = "8:Microsoft.Windows.Installer.3.1"\r
+                    }\r
+                }\r
+            }\r
+        }\r
+    }\r
+    "Deployable"\r
+    {\r
+        "CustomAction"\r
+        {\r
+        }\r
+        "DefaultFeature"\r
+        {\r
+        "Name" = "8:DefaultFeature"\r
+        "Title" = "8:"\r
+        "Description" = "8:"\r
+        }\r
+        "ExternalPersistence"\r
+        {\r
+            "LaunchCondition"\r
+            {\r
+            }\r
+        }\r
+        "File"\r
+        {\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_009DC3ED78164048934ED35E89A0A1C5"\r
+            {\r
+            "SourcePath" = "8:..\\test\\document-a4.ps"\r
+            "TargetName" = "8:document-a4.ps"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_EB00D0298C7E441EBD0257AC04FB3560"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_1A1324305D78463BBFC62269C56DCF0B"\r
+            {\r
+            "SourcePath" = "8:..\\doc\\help\\man-ipptoolfile.html"\r
+            "TargetName" = "8:man-ipptoolfile.html"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_1E4B2A9BD6A44926B719E0D7E8FC0952"\r
+            {\r
+            "SourcePath" = "8:..\\test\\get-printer-attributes.test"\r
+            "TargetName" = "8:get-printer-attributes.test"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_EB00D0298C7E441EBD0257AC04FB3560"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_290B9B52C4784AED94FA6B87CAB18D10"\r
+            {\r
+            "SourcePath" = "8:..\\test\\print-job.test"\r
+            "TargetName" = "8:print-job.test"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_EB00D0298C7E441EBD0257AC04FB3560"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_40C483299484486C9416B704F0EF4A6C"\r
+            {\r
+            "SourcePath" = "8:..\\test\\testfile.pdf"\r
+            "TargetName" = "8:testfile.pdf"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_EB00D0298C7E441EBD0257AC04FB3560"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_41260853156249FDB39A8E386F935492"\r
+            {\r
+            "SourcePath" = "8:..\\test\\ipp-1.1.test"\r
+            "TargetName" = "8:ipp-1.1.test"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_EB00D0298C7E441EBD0257AC04FB3560"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_425F2537D86148B9A4233AD27D426738"\r
+            {\r
+            "SourcePath" = "8:..\\test\\ipp-2.0.test"\r
+            "TargetName" = "8:ipp-2.0.test"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_EB00D0298C7E441EBD0257AC04FB3560"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_65CBD149C9DA448FBACE2B02766A6537"\r
+            {\r
+            "SourcePath" = "8:..\\test\\testfile.ps"\r
+            "TargetName" = "8:testfile.ps"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_EB00D0298C7E441EBD0257AC04FB3560"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_6F893B2A3B7048CBA39359FC368BCA27"\r
+            {\r
+            "SourcePath" = "8:..\\test\\onepage-letter.ps"\r
+            "TargetName" = "8:onepage-letter.ps"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_EB00D0298C7E441EBD0257AC04FB3560"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_80DBA85C961E447CB92C95CE1F38C56B"\r
+            {\r
+            "SourcePath" = "8:..\\test\\ipp-2.2.test"\r
+            "TargetName" = "8:ipp-2.2.test"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_EB00D0298C7E441EBD0257AC04FB3560"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_842C04D73EBC4F5DBC2FD58D5B98D5D1"\r
+            {\r
+            "SourcePath" = "8:..\\test\\document-a4.pdf"\r
+            "TargetName" = "8:document-a4.pdf"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_EB00D0298C7E441EBD0257AC04FB3560"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_8AC6B9D7EF6B4C7A8C7B5AD85AA397C3"\r
+            {\r
+            "SourcePath" = "8:..\\test\\get-jobs.test"\r
+            "TargetName" = "8:get-jobs.test"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_EB00D0298C7E441EBD0257AC04FB3560"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_8CC3562BCDED4676A672115D19D898B5"\r
+            {\r
+            "SourcePath" = "8:..\\test\\testfile.jpg"\r
+            "TargetName" = "8:testfile.jpg"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_EB00D0298C7E441EBD0257AC04FB3560"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_9967519E7058965D4C7DEF47EB39CC50"\r
+            {\r
+            "SourcePath" = "8:CRYPT32.dll"\r
+            "TargetName" = "8:CRYPT32.dll"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:TRUE"\r
+            "IsDependency" = "11:TRUE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_9FBF78D7B89EEA843380D5F10E1954D7"\r
+            {\r
+            "SourcePath" = "8:Secur32.dll"\r
+            "TargetName" = "8:Secur32.dll"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:TRUE"\r
+            "IsDependency" = "11:TRUE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_AF057921D20E4520A3C6420F0729A744"\r
+            {\r
+            "SourcePath" = "8:..\\IPPTOOL.txt"\r
+            "TargetName" = "8:IPPTOOL.txt"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_B9E79062FEF64745915546DDD5BF8D85"\r
+            {\r
+            "SourcePath" = "8:..\\CHANGES-IPPTOOL.txt"\r
+            "TargetName" = "8:CHANGES-IPPTOOL.txt"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_BD5B70C103EF41D9A30CF249D2B93CEB"\r
+            {\r
+            "SourcePath" = "8:setdebug.bat"\r
+            "TargetName" = "8:setdebug.bat"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_C430646D6E7C4CBDA84F951AE95EB76F"\r
+            {\r
+            "SourcePath" = "8:..\\test\\color.jpg"\r
+            "TargetName" = "8:color.jpg"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_EB00D0298C7E441EBD0257AC04FB3560"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_D4BEA026ABFB46DD960AD8EFCAE45E31"\r
+            {\r
+            "SourcePath" = "8:..\\test\\onepage-letter.pdf"\r
+            "TargetName" = "8:onepage-letter.pdf"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_EB00D0298C7E441EBD0257AC04FB3560"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_D5CD9D9AB1644688A1D54B1589BDF724"\r
+            {\r
+            "SourcePath" = "8:..\\doc\\help\\man-ipptool.html"\r
+            "TargetName" = "8:man-ipptool.html"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_E30823E684384F4DB7385B14F714AD95"\r
+            {\r
+            "SourcePath" = "8:..\\test\\ipp-2.1.test"\r
+            "TargetName" = "8:ipp-2.1.test"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_EB00D0298C7E441EBD0257AC04FB3560"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_E3C6C5A7FDD94965B68960844461D5EA"\r
+            {\r
+            "SourcePath" = "8:..\\LICENSE.txt"\r
+            "TargetName" = "8:LICENSE.txt"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_E4C0F67094B94E05AB69787080727089"\r
+            {\r
+            "SourcePath" = "8:..\\test\\create-printer-subscription.test"\r
+            "TargetName" = "8:create-printer-subscription.test"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_EB00D0298C7E441EBD0257AC04FB3560"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_E50F2FB950DD47D993DC8FB577266549"\r
+            {\r
+            "SourcePath" = "8:..\\test\\document-letter.ps"\r
+            "TargetName" = "8:document-letter.ps"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_EB00D0298C7E441EBD0257AC04FB3560"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_E7DD6A8D195B4752B0525628FF9586E4"\r
+            {\r
+            "SourcePath" = "8:..\\test\\onepage-a4.ps"\r
+            "TargetName" = "8:onepage-a4.ps"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_EB00D0298C7E441EBD0257AC04FB3560"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_E9CA670571B5447682529CDB7BC3C100"\r
+            {\r
+            "SourcePath" = "8:..\\test\\gray.jpg"\r
+            "TargetName" = "8:gray.jpg"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_EB00D0298C7E441EBD0257AC04FB3560"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_EA9CE1B09EF1442BAA3C3F5AE7865ABF"\r
+            {\r
+            "SourcePath" = "8:..\\test\\testfile.txt"\r
+            "TargetName" = "8:testfile.txt"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_EB00D0298C7E441EBD0257AC04FB3560"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_EC7FE3265BDB4C52B5B87A8AC56AFDDD"\r
+            {\r
+            "SourcePath" = "8:..\\test\\get-completed-jobs.test"\r
+            "TargetName" = "8:get-completed-jobs.test"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_EB00D0298C7E441EBD0257AC04FB3560"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_F16FA7F9826E461E955A95B2EEABA975"\r
+            {\r
+            "SourcePath" = "8:..\\test\\onepage-a4.pdf"\r
+            "TargetName" = "8:onepage-a4.pdf"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_EB00D0298C7E441EBD0257AC04FB3560"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_F22F5380A6E14A43A15A452C7C6F6C07"\r
+            {\r
+            "SourcePath" = "8:..\\test\\document-letter.pdf"\r
+            "TargetName" = "8:document-letter.pdf"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_EB00D0298C7E441EBD0257AC04FB3560"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+        }\r
+        "FileType"\r
+        {\r
+        }\r
+        "Folder"\r
+        {\r
+            "{1525181F-901A-416C-8A58-119130FE478E}:_BEC0EAE20C954C78B294B83E6696156E"\r
+            {\r
+            "Name" = "8:#1919"\r
+            "AlwaysCreate" = "11:FALSE"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Property" = "8:ProgramMenuFolder"\r
+                "Folders"\r
+                {\r
+                }\r
+            }\r
+            "{1525181F-901A-416C-8A58-119130FE478E}:_D02CDADE99F344CF92CA1A8D0278861F"\r
+            {\r
+            "Name" = "8:#1916"\r
+            "AlwaysCreate" = "11:FALSE"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Property" = "8:DesktopFolder"\r
+                "Folders"\r
+                {\r
+                }\r
+            }\r
+            "{3C67513D-01DD-4637-8A68-80971EB9504F}:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"\r
+            {\r
+            "DefaultLocation" = "8:[ProgramFilesFolder]\\ipptool"\r
+            "Name" = "8:#1925"\r
+            "AlwaysCreate" = "11:FALSE"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Property" = "8:TARGETDIR"\r
+                "Folders"\r
+                {\r
+                    "{9EF0B969-E518-4E46-987F-47570745A589}:_EB00D0298C7E441EBD0257AC04FB3560"\r
+                    {\r
+                    "Name" = "8:ipptool"\r
+                    "AlwaysCreate" = "11:FALSE"\r
+                    "Condition" = "8:"\r
+                    "Transitive" = "11:FALSE"\r
+                    "Property" = "8:_6F223FB51798428A9F2D64A5A7F2B49C"\r
+                        "Folders"\r
+                        {\r
+                        }\r
+                    }\r
+                }\r
+            }\r
+        }\r
+        "LaunchCondition"\r
+        {\r
+        }\r
+        "Locator"\r
+        {\r
+        }\r
+        "MsiBootstrapper"\r
+        {\r
+        "LangId" = "3:1033"\r
+        "RequiresElevation" = "11:FALSE"\r
+        }\r
+        "Product"\r
+        {\r
+        "Name" = "8:Microsoft Visual Studio"\r
+        "ProductName" = "8:ipptool for Windows"\r
+        "ProductCode" = "8:{8220ED6C-8FAC-4E28-8589-867295E2A23D}"\r
+        "PackageCode" = "8:{B78F9AC6-92F9-48FF-AA11-ECD929442B4A}"\r
+        "UpgradeCode" = "8:{BAB6EBBB-515D-4155-9FEF-D98DA76814CA}"\r
+        "RestartWWWService" = "11:FALSE"\r
+        "RemovePreviousVersions" = "11:TRUE"\r
+        "DetectNewerInstalledVersion" = "11:TRUE"\r
+        "InstallAllUsers" = "11:TRUE"\r
+        "ProductVersion" = "8:12.02.0600"\r
+        "Manufacturer" = "8:Apple Inc."\r
+        "ARPHELPTELEPHONE" = "8:"\r
+        "ARPHELPLINK" = "8:http://www.cups.org/str.php"\r
+        "Title" = "8:ipptool"\r
+        "Subject" = "8:"\r
+        "ARPCONTACT" = "8:Apple Inc."\r
+        "Keywords" = "8:IPP, Internet Printing Protocol"\r
+        "ARPCOMMENTS" = "8:ipptool for Windows"\r
+        "ARPURLINFOABOUT" = "8:http://www.cups.org/"\r
+        "ARPPRODUCTICON" = "8:"\r
+        "ARPIconIndex" = "3:0"\r
+        "SearchPath" = "8:"\r
+        "UseSystemSearchPath" = "11:TRUE"\r
+        "TargetPlatform" = "3:0"\r
+        "PreBuildEvent" = "8:"\r
+        "PostBuildEvent" = "8:"\r
+        "RunPostBuildEvent" = "3:0"\r
+        }\r
+        "Registry"\r
+        {\r
+            "HKLM"\r
+            {\r
+                "Keys"\r
+                {\r
+                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_BC4E66686BCA4F9A8B24B6CF2728DACD"\r
+                    {\r
+                    "Name" = "8:Software"\r
+                    "Condition" = "8:"\r
+                    "AlwaysCreate" = "11:FALSE"\r
+                    "DeleteAtUninstall" = "11:FALSE"\r
+                    "Transitive" = "11:FALSE"\r
+                        "Keys"\r
+                        {\r
+                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_F9AB9B310C7545D993D690F529048AA2"\r
+                            {\r
+                            "Name" = "8:cups.org"\r
+                            "Condition" = "8:"\r
+                            "AlwaysCreate" = "11:FALSE"\r
+                            "DeleteAtUninstall" = "11:FALSE"\r
+                            "Transitive" = "11:FALSE"\r
+                                "Keys"\r
+                                {\r
+                                }\r
+                                "Values"\r
+                                {\r
+                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_4E5BAC705A1D44E78C90C6D2A4A7BE20"\r
+                                    {\r
+                                    "Name" = "8:installdir"\r
+                                    "Condition" = "8:"\r
+                                    "Transitive" = "11:FALSE"\r
+                                    "ValueTypes" = "3:2"\r
+                                    "Value" = "8:[TARGETDIR]"\r
+                                    }\r
+                                }\r
+                            }\r
+                        }\r
+                        "Values"\r
+                        {\r
+                        }\r
+                    }\r
+                }\r
+            }\r
+            "HKCU"\r
+            {\r
+                "Keys"\r
+                {\r
+                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_A4C9879F42874B6B92960A55F2D98922"\r
+                    {\r
+                    "Name" = "8:Software"\r
+                    "Condition" = "8:"\r
+                    "AlwaysCreate" = "11:FALSE"\r
+                    "DeleteAtUninstall" = "11:FALSE"\r
+                    "Transitive" = "11:FALSE"\r
+                        "Keys"\r
+                        {\r
+                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_1ACB03C307FB4B85BB27C9913FB58B09"\r
+                            {\r
+                            "Name" = "8:[Manufacturer]"\r
+                            "Condition" = "8:"\r
+                            "AlwaysCreate" = "11:FALSE"\r
+                            "DeleteAtUninstall" = "11:FALSE"\r
+                            "Transitive" = "11:FALSE"\r
+                                "Keys"\r
+                                {\r
+                                }\r
+                                "Values"\r
+                                {\r
+                                }\r
+                            }\r
+                        }\r
+                        "Values"\r
+                        {\r
+                        }\r
+                    }\r
+                }\r
+            }\r
+            "HKCR"\r
+            {\r
+                "Keys"\r
+                {\r
+                }\r
+            }\r
+            "HKU"\r
+            {\r
+                "Keys"\r
+                {\r
+                }\r
+            }\r
+            "HKPU"\r
+            {\r
+                "Keys"\r
+                {\r
+                }\r
+            }\r
+        }\r
+        "Sequences"\r
+        {\r
+        }\r
+        "Shortcut"\r
+        {\r
+        }\r
+        "UserInterface"\r
+        {\r
+            "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_045DF90B1FF941A9BA7A742CFC0A6C00"\r
+            {\r
+            "UseDynamicProperties" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "SourcePath" = "8:<VsdDialogDir>\\VsdUserInterface.wim"\r
+            }\r
+            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_345BD86390E841A98B74ED3E07945F8C"\r
+            {\r
+            "Name" = "8:#1900"\r
+            "Sequence" = "3:2"\r
+            "Attributes" = "3:1"\r
+                "Dialogs"\r
+                {\r
+                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_067C143A8731427180B1568AF8C07375"\r
+                    {\r
+                    "Sequence" = "3:200"\r
+                    "DisplayName" = "8:Installation Folder"\r
+                    "UseDynamicProperties" = "11:TRUE"\r
+                    "IsDependency" = "11:FALSE"\r
+                    "SourcePath" = "8:<VsdDialogDir>\\VsdAdminFolderDlg.wid"\r
+                        "Properties"\r
+                        {\r
+                            "BannerBitmap"\r
+                            {\r
+                            "Name" = "8:BannerBitmap"\r
+                            "DisplayName" = "8:#1001"\r
+                            "Description" = "8:#1101"\r
+                            "Type" = "3:8"\r
+                            "ContextData" = "8:Bitmap"\r
+                            "Attributes" = "3:4"\r
+                            "Setting" = "3:1"\r
+                            "UsePlugInResources" = "11:TRUE"\r
+                            }\r
+                        }\r
+                    }\r
+                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_A2F2CC6EB9D7453599E7598D4D0629A5"\r
+                    {\r
+                    "Sequence" = "3:300"\r
+                    "DisplayName" = "8:Confirm Installation"\r
+                    "UseDynamicProperties" = "11:TRUE"\r
+                    "IsDependency" = "11:FALSE"\r
+                    "SourcePath" = "8:<VsdDialogDir>\\VsdAdminConfirmDlg.wid"\r
+                        "Properties"\r
+                        {\r
+                            "BannerBitmap"\r
+                            {\r
+                            "Name" = "8:BannerBitmap"\r
+                            "DisplayName" = "8:#1001"\r
+                            "Description" = "8:#1101"\r
+                            "Type" = "3:8"\r
+                            "ContextData" = "8:Bitmap"\r
+                            "Attributes" = "3:4"\r
+                            "Setting" = "3:1"\r
+                            "UsePlugInResources" = "11:TRUE"\r
+                            }\r
+                        }\r
+                    }\r
+                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_C2B41369B7334F419318792EBA031412"\r
+                    {\r
+                    "Sequence" = "3:100"\r
+                    "DisplayName" = "8:Welcome"\r
+                    "UseDynamicProperties" = "11:TRUE"\r
+                    "IsDependency" = "11:FALSE"\r
+                    "SourcePath" = "8:<VsdDialogDir>\\VsdAdminWelcomeDlg.wid"\r
+                        "Properties"\r
+                        {\r
+                            "BannerBitmap"\r
+                            {\r
+                            "Name" = "8:BannerBitmap"\r
+                            "DisplayName" = "8:#1001"\r
+                            "Description" = "8:#1101"\r
+                            "Type" = "3:8"\r
+                            "ContextData" = "8:Bitmap"\r
+                            "Attributes" = "3:4"\r
+                            "Setting" = "3:1"\r
+                            "UsePlugInResources" = "11:TRUE"\r
+                            }\r
+                            "CopyrightWarning"\r
+                            {\r
+                            "Name" = "8:CopyrightWarning"\r
+                            "DisplayName" = "8:#1002"\r
+                            "Description" = "8:#1102"\r
+                            "Type" = "3:3"\r
+                            "ContextData" = "8:"\r
+                            "Attributes" = "3:0"\r
+                            "Setting" = "3:2"\r
+                            "Value" = "8:This computer program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License version 2."\r
+                            "DefaultValue" = "8:#1202"\r
+                            "UsePlugInResources" = "11:TRUE"\r
+                            }\r
+                            "Welcome"\r
+                            {\r
+                            "Name" = "8:Welcome"\r
+                            "DisplayName" = "8:#1003"\r
+                            "Description" = "8:#1103"\r
+                            "Type" = "3:3"\r
+                            "ContextData" = "8:"\r
+                            "Attributes" = "3:0"\r
+                            "Setting" = "3:1"\r
+                            "Value" = "8:#1203"\r
+                            "DefaultValue" = "8:#1203"\r
+                            "UsePlugInResources" = "11:TRUE"\r
+                            }\r
+                        }\r
+                    }\r
+                }\r
+            }\r
+            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_6B654A06090344BA9AA443E0D0296737"\r
+            {\r
+            "Name" = "8:#1902"\r
+            "Sequence" = "3:1"\r
+            "Attributes" = "3:3"\r
+                "Dialogs"\r
+                {\r
+                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_FB4E7BBC3DA242309FFB58F9A6194A93"\r
+                    {\r
+                    "Sequence" = "3:100"\r
+                    "DisplayName" = "8:Finished"\r
+                    "UseDynamicProperties" = "11:TRUE"\r
+                    "IsDependency" = "11:FALSE"\r
+                    "SourcePath" = "8:<VsdDialogDir>\\VsdFinishedDlg.wid"\r
+                        "Properties"\r
+                        {\r
+                            "BannerBitmap"\r
+                            {\r
+                            "Name" = "8:BannerBitmap"\r
+                            "DisplayName" = "8:#1001"\r
+                            "Description" = "8:#1101"\r
+                            "Type" = "3:8"\r
+                            "ContextData" = "8:Bitmap"\r
+                            "Attributes" = "3:4"\r
+                            "Setting" = "3:1"\r
+                            "UsePlugInResources" = "11:TRUE"\r
+                            }\r
+                            "UpdateText"\r
+                            {\r
+                            "Name" = "8:UpdateText"\r
+                            "DisplayName" = "8:#1058"\r
+                            "Description" = "8:#1158"\r
+                            "Type" = "3:15"\r
+                            "ContextData" = "8:"\r
+                            "Attributes" = "3:0"\r
+                            "Setting" = "3:1"\r
+                            "Value" = "8:#1258"\r
+                            "DefaultValue" = "8:#1258"\r
+                            "UsePlugInResources" = "11:TRUE"\r
+                            }\r
+                        }\r
+                    }\r
+                }\r
+            }\r
+            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_712819C7C4F042ABB708949BD4426628"\r
+            {\r
+            "Name" = "8:#1900"\r
+            "Sequence" = "3:1"\r
+            "Attributes" = "3:1"\r
+                "Dialogs"\r
+                {\r
+                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_2F49D4FACB954AF2B786D2AD9206D053"\r
+                    {\r
+                    "Sequence" = "3:100"\r
+                    "DisplayName" = "8:Welcome"\r
+                    "UseDynamicProperties" = "11:TRUE"\r
+                    "IsDependency" = "11:FALSE"\r
+                    "SourcePath" = "8:<VsdDialogDir>\\VsdWelcomeDlg.wid"\r
+                        "Properties"\r
+                        {\r
+                            "BannerBitmap"\r
+                            {\r
+                            "Name" = "8:BannerBitmap"\r
+                            "DisplayName" = "8:#1001"\r
+                            "Description" = "8:#1101"\r
+                            "Type" = "3:8"\r
+                            "ContextData" = "8:Bitmap"\r
+                            "Attributes" = "3:4"\r
+                            "Setting" = "3:1"\r
+                            "UsePlugInResources" = "11:TRUE"\r
+                            }\r
+                            "CopyrightWarning"\r
+                            {\r
+                            "Name" = "8:CopyrightWarning"\r
+                            "DisplayName" = "8:#1002"\r
+                            "Description" = "8:#1102"\r
+                            "Type" = "3:3"\r
+                            "ContextData" = "8:"\r
+                            "Attributes" = "3:0"\r
+                            "Setting" = "3:2"\r
+                            "Value" = "8:This computer program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License version 2."\r
+                            "DefaultValue" = "8:#1202"\r
+                            "UsePlugInResources" = "11:TRUE"\r
+                            }\r
+                            "Welcome"\r
+                            {\r
+                            "Name" = "8:Welcome"\r
+                            "DisplayName" = "8:#1003"\r
+                            "Description" = "8:#1103"\r
+                            "Type" = "3:3"\r
+                            "ContextData" = "8:"\r
+                            "Attributes" = "3:0"\r
+                            "Setting" = "3:1"\r
+                            "Value" = "8:#1203"\r
+                            "DefaultValue" = "8:#1203"\r
+                            "UsePlugInResources" = "11:TRUE"\r
+                            }\r
+                        }\r
+                    }\r
+                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_770E25BC453A464EA8CD51381FDDDD9F"\r
+                    {\r
+                    "Sequence" = "3:300"\r
+                    "DisplayName" = "8:Confirm Installation"\r
+                    "UseDynamicProperties" = "11:TRUE"\r
+                    "IsDependency" = "11:FALSE"\r
+                    "SourcePath" = "8:<VsdDialogDir>\\VsdConfirmDlg.wid"\r
+                        "Properties"\r
+                        {\r
+                            "BannerBitmap"\r
+                            {\r
+                            "Name" = "8:BannerBitmap"\r
+                            "DisplayName" = "8:#1001"\r
+                            "Description" = "8:#1101"\r
+                            "Type" = "3:8"\r
+                            "ContextData" = "8:Bitmap"\r
+                            "Attributes" = "3:4"\r
+                            "Setting" = "3:1"\r
+                            "UsePlugInResources" = "11:TRUE"\r
+                            }\r
+                        }\r
+                    }\r
+                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_9534A64B629F4F868D6D7A384C76DCB2"\r
+                    {\r
+                    "Sequence" = "3:200"\r
+                    "DisplayName" = "8:Installation Folder"\r
+                    "UseDynamicProperties" = "11:TRUE"\r
+                    "IsDependency" = "11:FALSE"\r
+                    "SourcePath" = "8:<VsdDialogDir>\\VsdFolderDlg.wid"\r
+                        "Properties"\r
+                        {\r
+                            "BannerBitmap"\r
+                            {\r
+                            "Name" = "8:BannerBitmap"\r
+                            "DisplayName" = "8:#1001"\r
+                            "Description" = "8:#1101"\r
+                            "Type" = "3:8"\r
+                            "ContextData" = "8:Bitmap"\r
+                            "Attributes" = "3:4"\r
+                            "Setting" = "3:1"\r
+                            "UsePlugInResources" = "11:TRUE"\r
+                            }\r
+                            "InstallAllUsersVisible"\r
+                            {\r
+                            "Name" = "8:InstallAllUsersVisible"\r
+                            "DisplayName" = "8:#1059"\r
+                            "Description" = "8:#1159"\r
+                            "Type" = "3:5"\r
+                            "ContextData" = "8:1;True=1;False=0"\r
+                            "Attributes" = "3:0"\r
+                            "Setting" = "3:0"\r
+                            "Value" = "3:1"\r
+                            "DefaultValue" = "3:1"\r
+                            "UsePlugInResources" = "11:TRUE"\r
+                            }\r
+                        }\r
+                    }\r
+                }\r
+            }\r
+            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_770CCEFF81BD46A182A6E816A41A0E81"\r
+            {\r
+            "Name" = "8:#1901"\r
+            "Sequence" = "3:2"\r
+            "Attributes" = "3:2"\r
+                "Dialogs"\r
+                {\r
+                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_75E0C1FD245D493DA0D7E3E0BC0C365F"\r
+                    {\r
+                    "Sequence" = "3:100"\r
+                    "DisplayName" = "8:Progress"\r
+                    "UseDynamicProperties" = "11:TRUE"\r
+                    "IsDependency" = "11:FALSE"\r
+                    "SourcePath" = "8:<VsdDialogDir>\\VsdAdminProgressDlg.wid"\r
+                        "Properties"\r
+                        {\r
+                            "BannerBitmap"\r
+                            {\r
+                            "Name" = "8:BannerBitmap"\r
+                            "DisplayName" = "8:#1001"\r
+                            "Description" = "8:#1101"\r
+                            "Type" = "3:8"\r
+                            "ContextData" = "8:Bitmap"\r
+                            "Attributes" = "3:4"\r
+                            "Setting" = "3:1"\r
+                            "UsePlugInResources" = "11:TRUE"\r
+                            }\r
+                            "ShowProgress"\r
+                            {\r
+                            "Name" = "8:ShowProgress"\r
+                            "DisplayName" = "8:#1009"\r
+                            "Description" = "8:#1109"\r
+                            "Type" = "3:5"\r
+                            "ContextData" = "8:1;True=1;False=0"\r
+                            "Attributes" = "3:0"\r
+                            "Setting" = "3:0"\r
+                            "Value" = "3:1"\r
+                            "DefaultValue" = "3:1"\r
+                            "UsePlugInResources" = "11:TRUE"\r
+                            }\r
+                        }\r
+                    }\r
+                }\r
+            }\r
+            "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_933B15E9A383418F8ADF3B13F68458F3"\r
+            {\r
+            "UseDynamicProperties" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "SourcePath" = "8:<VsdDialogDir>\\VsdBasicDialogs.wim"\r
+            }\r
+            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_E310DA8CED734E00950A3C5D630CE987"\r
+            {\r
+            "Name" = "8:#1902"\r
+            "Sequence" = "3:2"\r
+            "Attributes" = "3:3"\r
+                "Dialogs"\r
+                {\r
+                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_CB172E69F9C74901BE1040336CFD4F72"\r
+                    {\r
+                    "Sequence" = "3:100"\r
+                    "DisplayName" = "8:Finished"\r
+                    "UseDynamicProperties" = "11:TRUE"\r
+                    "IsDependency" = "11:FALSE"\r
+                    "SourcePath" = "8:<VsdDialogDir>\\VsdAdminFinishedDlg.wid"\r
+                        "Properties"\r
+                        {\r
+                            "BannerBitmap"\r
+                            {\r
+                            "Name" = "8:BannerBitmap"\r
+                            "DisplayName" = "8:#1001"\r
+                            "Description" = "8:#1101"\r
+                            "Type" = "3:8"\r
+                            "ContextData" = "8:Bitmap"\r
+                            "Attributes" = "3:4"\r
+                            "Setting" = "3:1"\r
+                            "UsePlugInResources" = "11:TRUE"\r
+                            }\r
+                        }\r
+                    }\r
+                }\r
+            }\r
+            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_F44F9BE9B54940848289669635E4A5A2"\r
+            {\r
+            "Name" = "8:#1901"\r
+            "Sequence" = "3:1"\r
+            "Attributes" = "3:2"\r
+                "Dialogs"\r
+                {\r
+                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_14751F327A634B989283C8F28CFB6DFC"\r
+                    {\r
+                    "Sequence" = "3:100"\r
+                    "DisplayName" = "8:Progress"\r
+                    "UseDynamicProperties" = "11:TRUE"\r
+                    "IsDependency" = "11:FALSE"\r
+                    "SourcePath" = "8:<VsdDialogDir>\\VsdProgressDlg.wid"\r
+                        "Properties"\r
+                        {\r
+                            "BannerBitmap"\r
+                            {\r
+                            "Name" = "8:BannerBitmap"\r
+                            "DisplayName" = "8:#1001"\r
+                            "Description" = "8:#1101"\r
+                            "Type" = "3:8"\r
+                            "ContextData" = "8:Bitmap"\r
+                            "Attributes" = "3:4"\r
+                            "Setting" = "3:1"\r
+                            "UsePlugInResources" = "11:TRUE"\r
+                            }\r
+                            "ShowProgress"\r
+                            {\r
+                            "Name" = "8:ShowProgress"\r
+                            "DisplayName" = "8:#1009"\r
+                            "Description" = "8:#1109"\r
+                            "Type" = "3:5"\r
+                            "ContextData" = "8:1;True=1;False=0"\r
+                            "Attributes" = "3:0"\r
+                            "Setting" = "3:0"\r
+                            "Value" = "3:1"\r
+                            "DefaultValue" = "3:1"\r
+                            "UsePlugInResources" = "11:TRUE"\r
+                            }\r
+                        }\r
+                    }\r
+                }\r
+            }\r
+        }\r
+        "MergeModule"\r
+        {\r
+            "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_7AFD2BBA568D45F5B1E871E2B93892BC"\r
+            {\r
+            "UseDynamicProperties" = "11:TRUE"\r
+            "IsDependency" = "11:TRUE"\r
+            "SourcePath" = "8:policy_9_0_Microsoft_VC90_DebugCRT_x86.msm"\r
+                "Properties"\r
+                {\r
+                }\r
+            "LanguageId" = "3:0"\r
+            "Exclude" = "11:FALSE"\r
+            "Folder" = "8:"\r
+            "Feature" = "8:"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_F0AA062C769A4867B5C302491CA4F2D3"\r
+            {\r
+            "UseDynamicProperties" = "11:TRUE"\r
+            "IsDependency" = "11:TRUE"\r
+            "SourcePath" = "8:microsoft_vc90_debugcrt_x86.msm"\r
+                "Properties"\r
+                {\r
+                }\r
+            "LanguageId" = "3:0"\r
+            "Exclude" = "11:FALSE"\r
+            "Folder" = "8:"\r
+            "Feature" = "8:"\r
+            "IsolateTo" = "8:"\r
+            }\r
+        }\r
+        "ProjectOutput"\r
+        {\r
+            "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_D02EB13951314EFD9C539150EF8E53B8"\r
+            {\r
+            "SourcePath" = "8:Win32\\Debug\\regex.dll"\r
+            "TargetName" = "8:"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            "ProjectOutputGroupRegister" = "3:1"\r
+            "OutputConfiguration" = "8:"\r
+            "OutputGroupCanonicalName" = "8:Built"\r
+            "OutputProjectGuid" = "8:{18950A1B-D37A-40C7-B2DF-C12986C0526E}"\r
+            "ShowKeyOutput" = "11:TRUE"\r
+                "ExcludeFilters"\r
+                {\r
+                }\r
+            }\r
+            "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_E97571D3FBE048DABDC59B37762D800F"\r
+            {\r
+            "SourcePath" = "8:Win32\\Debug\\ipptool.exe"\r
+            "TargetName" = "8:"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            "ProjectOutputGroupRegister" = "3:1"\r
+            "OutputConfiguration" = "8:"\r
+            "OutputGroupCanonicalName" = "8:Built"\r
+            "OutputProjectGuid" = "8:{B246D91E-61F2-4433-BFD2-6C2A96FBD4D4}"\r
+            "ShowKeyOutput" = "11:TRUE"\r
+                "ExcludeFilters"\r
+                {\r
+                }\r
+            }\r
+            "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_EA282F32A10B4ED1A81AA6133B997C6A"\r
+            {\r
+            "SourcePath" = "8:Win32\\Debug\\libcups2.dll"\r
+            "TargetName" = "8:"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            "ProjectOutputGroupRegister" = "3:1"\r
+            "OutputConfiguration" = "8:"\r
+            "OutputGroupCanonicalName" = "8:Built"\r
+            "OutputProjectGuid" = "8:{CB4AA6F2-3E84-45BE-B505-95CD375E8BE3}"\r
+            "ShowKeyOutput" = "11:TRUE"\r
+                "ExcludeFilters"\r
+                {\r
+                }\r
+            }\r
+        }\r
+    }\r
+}\r
index 6c59af1..d29d73d 100644 (file)
@@ -21,8 +21,8 @@
        <Configurations>\r
                <Configuration\r
                        Name="Debug|Win32"\r
-                       OutputDirectory="$(SolutionDir)$(ConfigurationName)"\r
-                       IntermediateDirectory="$(ConfigurationName)"\r
+                       OutputDirectory="$(PlatformName)\$(ConfigurationName)"\r
+                       IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"\r
                        ConfigurationType="1"\r
                        CharacterSet="1"\r
                        >\r
                        />\r
                </Configuration>\r
                <Configuration\r
-                       Name="Release|Win32"\r
-                       OutputDirectory="$(SolutionDir)$(ConfigurationName)"\r
-                       IntermediateDirectory="$(ConfigurationName)"\r
+                       Name="Debug|x64"\r
+                       OutputDirectory="$(PlatformName)\$(ConfigurationName)"\r
+                       IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"\r
                        ConfigurationType="1"\r
                        CharacterSet="1"\r
-                       WholeProgramOptimization="1"\r
                        >\r
                        <Tool\r
                                Name="VCPreBuildEventTool"\r
                        />\r
                        <Tool\r
                                Name="VCMIDLTool"\r
+                               TargetEnvironment="3"\r
                        />\r
                        <Tool\r
                                Name="VCCLCompilerTool"\r
+                               Optimization="0"\r
                                AdditionalIncludeDirectories="..\vcnet;..;..\vcnet\regex"\r
-                               PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE"\r
-                               RuntimeLibrary="2"\r
+                               PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE"\r
+                               MinimalRebuild="true"\r
+                               BasicRuntimeChecks="3"\r
+                               RuntimeLibrary="3"\r
                                UsePrecompiledHeader="0"\r
                                WarningLevel="1"\r
                                Detect64BitPortabilityProblems="false"\r
                        />\r
                        <Tool\r
                                Name="VCLinkerTool"\r
-                               LinkIncremental="1"\r
+                               LinkIncremental="2"\r
                                GenerateDebugInformation="true"\r
                                SubSystem="1"\r
-                               OptimizeReferences="2"\r
-                               EnableCOMDATFolding="2"\r
                                RandomizedBaseAddress="1"\r
                                DataExecutionPrevention="0"\r
-                               TargetMachine="1"\r
+                               TargetMachine="17"\r
                        />\r
                        <Tool\r
                                Name="VCALinkTool"\r
                        />\r
                </Configuration>\r
                <Configuration\r
-                       Name="Debug|x64"\r
-                       OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"\r
+                       Name="Release|Win32"\r
+                       OutputDirectory="$(PlatformName)\$(ConfigurationName)"\r
                        IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"\r
                        ConfigurationType="1"\r
                        CharacterSet="1"\r
+                       WholeProgramOptimization="1"\r
                        >\r
                        <Tool\r
                                Name="VCPreBuildEventTool"\r
                        />\r
                        <Tool\r
                                Name="VCMIDLTool"\r
-                               TargetEnvironment="3"\r
                        />\r
                        <Tool\r
                                Name="VCCLCompilerTool"\r
-                               Optimization="0"\r
                                AdditionalIncludeDirectories="..\vcnet;..;..\vcnet\regex"\r
-                               PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE"\r
-                               MinimalRebuild="true"\r
-                               BasicRuntimeChecks="3"\r
-                               RuntimeLibrary="3"\r
+                               PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE"\r
+                               RuntimeLibrary="2"\r
                                UsePrecompiledHeader="0"\r
                                WarningLevel="1"\r
                                Detect64BitPortabilityProblems="false"\r
                        />\r
                        <Tool\r
                                Name="VCLinkerTool"\r
-                               LinkIncremental="2"\r
+                               LinkIncremental="1"\r
                                GenerateDebugInformation="true"\r
                                SubSystem="1"\r
+                               OptimizeReferences="2"\r
+                               EnableCOMDATFolding="2"\r
                                RandomizedBaseAddress="1"\r
                                DataExecutionPrevention="0"\r
-                               TargetMachine="17"\r
+                               TargetMachine="1"\r
                        />\r
                        <Tool\r
                                Name="VCALinkTool"\r
                </Configuration>\r
                <Configuration\r
                        Name="Release|x64"\r
-                       OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"\r
+                       OutputDirectory="$(PlatformName)\$(ConfigurationName)"\r
                        IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"\r
                        ConfigurationType="1"\r
                        CharacterSet="1"\r
                        UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"\r
                        >\r
                        <File\r
-                               RelativePath=".\regex\debug.c"\r
-                               >\r
-                       </File>\r
-                       <File\r
                                RelativePath="..\test\ipptool.c"\r
                                >\r
                        </File>\r
-                       <File\r
-                               RelativePath=".\regex\regcomp.c"\r
-                               >\r
-                       </File>\r
-                       <File\r
-                               RelativePath=".\regex\regerror.c"\r
-                               >\r
-                       </File>\r
-                       <File\r
-                               RelativePath=".\regex\regexec.c"\r
-                               >\r
-                       </File>\r
-                       <File\r
-                               RelativePath=".\regex\regfree.c"\r
-                               >\r
-                       </File>\r
-                       <File\r
-                               RelativePath=".\regex\split.c"\r
-                               >\r
-                       </File>\r
                </Filter>\r
                <Filter\r
                        Name="Header Files"\r
                        Filter="h;hpp;hxx;hm;inl;inc;xsd"\r
                        UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"\r
                        >\r
-                       <File\r
-                               RelativePath=".\regex\regex.h"\r
-                               >\r
-                       </File>\r
-                       <File\r
-                               RelativePath=".\regex\regex2.h"\r
-                               >\r
-                       </File>\r
                </Filter>\r
                <Filter\r
                        Name="Resource Files"\r
diff --git a/vcnet/libcups2-installer.vdproj b/vcnet/libcups2-installer.vdproj
new file mode 100644 (file)
index 0000000..75d6dd8
--- /dev/null
@@ -0,0 +1,2194 @@
+"DeployProject"\r
+{\r
+"VSVersion" = "3:800"\r
+"ProjectType" = "8:{978C614F-708E-4E1A-B201-565925725DBA}"\r
+"IsWebType" = "8:FALSE"\r
+"ProjectName" = "8:libcups2-installer"\r
+"LanguageId" = "3:1033"\r
+"CodePage" = "3:1252"\r
+"UILanguageId" = "3:1033"\r
+"SccProjectName" = "8:"\r
+"SccLocalPath" = "8:"\r
+"SccAuxPath" = "8:"\r
+"SccProvider" = "8:"\r
+    "Hierarchy"\r
+    {\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_00BDFF08E6DA434981F5C1F879B3EF6C"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_0299839A2CCC4F908C5D3A8F465F3FFE"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_06B57E1C99D0410EB9C8DC4D66C73FC5"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_0DDD4CA1EEBE4AB69CC694DDF483D146"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_16A59C6F3F9940288A7D26B6CA80608F"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_1AF767BD52F94DC08C2CBE11DA41E95A"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_1DFD9AECD1AD4B2291DD52028E866569"\r
+        "OwnerKey" = "8:_62CA00B1E5E4460CA93EE7E2B8FE878B"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_1ED4FB1CE10D4805981844ABC56602F6"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_22CD325A4F5141D6B5FACD713F5FD4F9"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_24E7DBA1F5964574A8251258BCDC935D"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_260594D75E4B4764BBAFE25C15E4F273"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_262BA608F9ED4BB5870E3F6C6EEA0820"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_285F62B042274099A6FD88C531DAA341"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_340E6094BE6F4BCF8350280DC8B37900"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_364DCCAFF25145BCBE75FFEEDCC75B3A"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_3697A58F04D14955AA428E89771E7BA3"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_380124B8E57C4956A73E042735724DB7"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_3CFC5A9B09ED4916A350B88FEF4662CC"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_4879AF80C19D4ED9A3758DCC412190FB"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_574EE5A852D3434987B58E3B8118C1C2"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_5ED87BAE980C4992A4C74AEAEC4A57CF"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_62CA00B1E5E4460CA93EE7E2B8FE878B"\r
+        "OwnerKey" = "8:_0299839A2CCC4F908C5D3A8F465F3FFE"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_62CA00B1E5E4460CA93EE7E2B8FE878B"\r
+        "OwnerKey" = "8:_B20638175CCB42398417E0683A12469C"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_62CA00B1E5E4460CA93EE7E2B8FE878B"\r
+        "OwnerKey" = "8:_364DCCAFF25145BCBE75FFEEDCC75B3A"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_62CA00B1E5E4460CA93EE7E2B8FE878B"\r
+        "OwnerKey" = "8:_EA282F32A10B4ED1A81AA6133B997C6A"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_62CA00B1E5E4460CA93EE7E2B8FE878B"\r
+        "OwnerKey" = "8:_D02EB13951314EFD9C539150EF8E53B8"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_65560B58BEBF468C9D06493456A17DEC"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_6BD69E32EE9A4D2B9ECC40558A68FCD8"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_6E847FCD9C014B7E81FB859A0D2D2590"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_72A7EBE64092496AA67AB2DD00C0804B"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_747C33B5F41F498ABCAE119B532F6485"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_7FC58520B0F44E3E95A207905CABFED4"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_860678A628E34D219950C2E2B1BE6A89"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_8CCA95F5402D439B9B9CAC6F0FC1A443"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_9967519E7058965D4C7DEF47EB39CC50"\r
+        "OwnerKey" = "8:_EA282F32A10B4ED1A81AA6133B997C6A"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_9D69B0FC2413407BA24D88B73EF456AA"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_9FBF78D7B89EEA843380D5F10E1954D7"\r
+        "OwnerKey" = "8:_EA282F32A10B4ED1A81AA6133B997C6A"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_A271CCE042C14DDF8F0F1A1B16584F17"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_A513FBE6CC6247C19AF06829E5470D01"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_A833908023464B61A160E0323C8E9606"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_B20638175CCB42398417E0683A12469C"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_C1FCE2FAE4714A719B7B430E2BE93CBB"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_C494B5675E2F4B1E9301627B19CF8A52"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_C6AA56CC25F14D6582803347599840BB"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_CD0CFE42ED2D4416A01253E12A0082A8"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_CDBB327B06484A60AD16B999D88A10F5"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_D02EB13951314EFD9C539150EF8E53B8"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_D3B3B266E0FC45DD9B7EEBCC3AC52965"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_D4EC471BF98C4F8FA7A927B95CB69013"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_DA4E31E0503E4EAFA1E4BAEE05144618"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_E3C6C5A7FDD94965B68960844461D5EA"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_E47BCB853AC74A81BC61E878BFCEF5DC"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_EA282F32A10B4ED1A81AA6133B997C6A"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_EA287095645D4A7BA58A530186317895"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_EB7A2E97695F4964B4AF0560A258A14A"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_F77CB9E0AE78446481BD8BFD680F548E"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+        "Entry"\r
+        {\r
+        "MsmKey" = "8:_FA604C5C4FDD4D7B8110AFC6B603FBAF"\r
+        "OwnerKey" = "8:_UNDEFINED"\r
+        "MsmSig" = "8:_UNDEFINED"\r
+        }\r
+    }\r
+    "Configurations"\r
+    {\r
+        "Debug"\r
+        {\r
+        "DisplayName" = "8:Debug"\r
+        "IsDebugOnly" = "11:TRUE"\r
+        "IsReleaseOnly" = "11:FALSE"\r
+        "OutputFilename" = "8:libcups2-windows.msi"\r
+        "PackageFilesAs" = "3:2"\r
+        "PackageFileSize" = "3:-2147483648"\r
+        "CabType" = "3:1"\r
+        "Compression" = "3:3"\r
+        "SignOutput" = "11:FALSE"\r
+        "CertificateFile" = "8:"\r
+        "PrivateKeyFile" = "8:"\r
+        "TimeStampServer" = "8:"\r
+        "InstallerBootstrapper" = "3:2"\r
+            "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"\r
+            {\r
+            "Enabled" = "11:TRUE"\r
+            "PromptEnabled" = "11:TRUE"\r
+            "PrerequisitesLocation" = "2:1"\r
+            "Url" = "8:"\r
+            "ComponentsUrl" = "8:"\r
+                "Items"\r
+                {\r
+                    "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Net.Framework.3.5.SP1"\r
+                    {\r
+                    "Name" = "8:.NET Framework 3.5 SP1"\r
+                    "ProductCode" = "8:Microsoft.Net.Framework.3.5.SP1"\r
+                    }\r
+                    "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Windows.Installer.3.1"\r
+                    {\r
+                    "Name" = "8:Windows Installer 3.1"\r
+                    "ProductCode" = "8:Microsoft.Windows.Installer.3.1"\r
+                    }\r
+                }\r
+            }\r
+        }\r
+        "Release"\r
+        {\r
+        "DisplayName" = "8:Release"\r
+        "IsDebugOnly" = "11:FALSE"\r
+        "IsReleaseOnly" = "11:TRUE"\r
+        "OutputFilename" = "8:libcups2-windows.msi"\r
+        "PackageFilesAs" = "3:2"\r
+        "PackageFileSize" = "3:-2147483648"\r
+        "CabType" = "3:1"\r
+        "Compression" = "3:3"\r
+        "SignOutput" = "11:FALSE"\r
+        "CertificateFile" = "8:"\r
+        "PrivateKeyFile" = "8:"\r
+        "TimeStampServer" = "8:"\r
+        "InstallerBootstrapper" = "3:2"\r
+            "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"\r
+            {\r
+            "Enabled" = "11:TRUE"\r
+            "PromptEnabled" = "11:TRUE"\r
+            "PrerequisitesLocation" = "2:1"\r
+            "Url" = "8:"\r
+            "ComponentsUrl" = "8:"\r
+                "Items"\r
+                {\r
+                    "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Net.Framework.3.5.SP1"\r
+                    {\r
+                    "Name" = "8:.NET Framework 3.5 SP1"\r
+                    "ProductCode" = "8:Microsoft.Net.Framework.3.5.SP1"\r
+                    }\r
+                    "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Windows.Installer.3.1"\r
+                    {\r
+                    "Name" = "8:Windows Installer 3.1"\r
+                    "ProductCode" = "8:Microsoft.Windows.Installer.3.1"\r
+                    }\r
+                }\r
+            }\r
+        }\r
+    }\r
+    "Deployable"\r
+    {\r
+        "CustomAction"\r
+        {\r
+        }\r
+        "DefaultFeature"\r
+        {\r
+        "Name" = "8:DefaultFeature"\r
+        "Title" = "8:"\r
+        "Description" = "8:"\r
+        }\r
+        "ExternalPersistence"\r
+        {\r
+            "LaunchCondition"\r
+            {\r
+            }\r
+        }\r
+        "File"\r
+        {\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_00BDFF08E6DA434981F5C1F879B3EF6C"\r
+            {\r
+            "SourcePath" = "8:..\\test\\document-a4.ps"\r
+            "TargetName" = "8:document-a4.ps"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_9DFBB4777E594B0F8884792467931241"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_06B57E1C99D0410EB9C8DC4D66C73FC5"\r
+            {\r
+            "SourcePath" = "8:..\\test\\create-printer-subscription.test"\r
+            "TargetName" = "8:create-printer-subscription.test"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_9DFBB4777E594B0F8884792467931241"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_0DDD4CA1EEBE4AB69CC694DDF483D146"\r
+            {\r
+            "SourcePath" = "8:..\\test\\get-completed-jobs.test"\r
+            "TargetName" = "8:get-completed-jobs.test"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_9DFBB4777E594B0F8884792467931241"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_16A59C6F3F9940288A7D26B6CA80608F"\r
+            {\r
+            "SourcePath" = "8:..\\test\\onepage-a4.ps"\r
+            "TargetName" = "8:onepage-a4.ps"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_9DFBB4777E594B0F8884792467931241"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_1AF767BD52F94DC08C2CBE11DA41E95A"\r
+            {\r
+            "SourcePath" = "8:..\\doc\\images\\raster.png"\r
+            "TargetName" = "8:raster.png"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_A4CDED7951A44EF794E1E1EE9F73F240"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_1ED4FB1CE10D4805981844ABC56602F6"\r
+            {\r
+            "SourcePath" = "8:..\\test\\testfile.jpg"\r
+            "TargetName" = "8:testfile.jpg"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_9DFBB4777E594B0F8884792467931241"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_22CD325A4F5141D6B5FACD713F5FD4F9"\r
+            {\r
+            "SourcePath" = "8:..\\cups\\adminutil.h"\r
+            "TargetName" = "8:adminutil.h"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_121A70CA434045EDB010E7480AFCEF18"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_24E7DBA1F5964574A8251258BCDC935D"\r
+            {\r
+            "SourcePath" = "8:..\\cups\\http.h"\r
+            "TargetName" = "8:http.h"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_121A70CA434045EDB010E7480AFCEF18"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_260594D75E4B4764BBAFE25C15E4F273"\r
+            {\r
+            "SourcePath" = "8:..\\test\\print-job.test"\r
+            "TargetName" = "8:print-job.test"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_9DFBB4777E594B0F8884792467931241"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_262BA608F9ED4BB5870E3F6C6EEA0820"\r
+            {\r
+            "SourcePath" = "8:..\\test\\ipp-1.1.test"\r
+            "TargetName" = "8:ipp-1.1.test"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_9DFBB4777E594B0F8884792467931241"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_285F62B042274099A6FD88C531DAA341"\r
+            {\r
+            "SourcePath" = "8:..\\cups\\ipp.h"\r
+            "TargetName" = "8:ipp.h"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_121A70CA434045EDB010E7480AFCEF18"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_340E6094BE6F4BCF8350280DC8B37900"\r
+            {\r
+            "SourcePath" = "8:..\\doc\\help\\api-httpipp.html"\r
+            "TargetName" = "8:api-httpipp.html"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_24DE31CE70694FD2977B5FB38F24D77F"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_3697A58F04D14955AA428E89771E7BA3"\r
+            {\r
+            "SourcePath" = "8:..\\test\\ipp-2.0.test"\r
+            "TargetName" = "8:ipp-2.0.test"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_9DFBB4777E594B0F8884792467931241"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_380124B8E57C4956A73E042735724DB7"\r
+            {\r
+            "SourcePath" = "8:Win32\\Release\\libcups2.lib"\r
+            "TargetName" = "8:libcups2.lib"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_2927DAE23F604CF9B8B4D1EC01A6F158"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_3CFC5A9B09ED4916A350B88FEF4662CC"\r
+            {\r
+            "SourcePath" = "8:..\\cups\\transcode.h"\r
+            "TargetName" = "8:transcode.h"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_121A70CA434045EDB010E7480AFCEF18"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_4879AF80C19D4ED9A3758DCC412190FB"\r
+            {\r
+            "SourcePath" = "8:..\\cups\\raster.h"\r
+            "TargetName" = "8:raster.h"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_121A70CA434045EDB010E7480AFCEF18"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_574EE5A852D3434987B58E3B8118C1C2"\r
+            {\r
+            "SourcePath" = "8:..\\cups\\array.h"\r
+            "TargetName" = "8:array.h"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_121A70CA434045EDB010E7480AFCEF18"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_5ED87BAE980C4992A4C74AEAEC4A57CF"\r
+            {\r
+            "SourcePath" = "8:..\\cups\\ppd.h"\r
+            "TargetName" = "8:ppd.h"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_121A70CA434045EDB010E7480AFCEF18"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_65560B58BEBF468C9D06493456A17DEC"\r
+            {\r
+            "SourcePath" = "8:..\\cups\\language.h"\r
+            "TargetName" = "8:language.h"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_121A70CA434045EDB010E7480AFCEF18"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_6BD69E32EE9A4D2B9ECC40558A68FCD8"\r
+            {\r
+            "SourcePath" = "8:Win32\\Release\\libcupsimage2.lib"\r
+            "TargetName" = "8:libcupsimage2.lib"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_2927DAE23F604CF9B8B4D1EC01A6F158"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_6E847FCD9C014B7E81FB859A0D2D2590"\r
+            {\r
+            "SourcePath" = "8:..\\test\\ipp-2.2.test"\r
+            "TargetName" = "8:ipp-2.2.test"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_9DFBB4777E594B0F8884792467931241"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_72A7EBE64092496AA67AB2DD00C0804B"\r
+            {\r
+            "SourcePath" = "8:..\\cups\\versioning.h"\r
+            "TargetName" = "8:versioning.h"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_121A70CA434045EDB010E7480AFCEF18"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_747C33B5F41F498ABCAE119B532F6485"\r
+            {\r
+            "SourcePath" = "8:..\\cups\\dir.h"\r
+            "TargetName" = "8:dir.h"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_121A70CA434045EDB010E7480AFCEF18"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_7FC58520B0F44E3E95A207905CABFED4"\r
+            {\r
+            "SourcePath" = "8:..\\test\\gray.jpg"\r
+            "TargetName" = "8:gray.jpg"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_9DFBB4777E594B0F8884792467931241"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_860678A628E34D219950C2E2B1BE6A89"\r
+            {\r
+            "SourcePath" = "8:..\\doc\\help\\api-raster.html"\r
+            "TargetName" = "8:api-raster.html"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_24DE31CE70694FD2977B5FB38F24D77F"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_8CCA95F5402D439B9B9CAC6F0FC1A443"\r
+            {\r
+            "SourcePath" = "8:..\\doc\\help\\api-array.html"\r
+            "TargetName" = "8:api-array.html"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_24DE31CE70694FD2977B5FB38F24D77F"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_9967519E7058965D4C7DEF47EB39CC50"\r
+            {\r
+            "SourcePath" = "8:CRYPT32.dll"\r
+            "TargetName" = "8:CRYPT32.dll"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:TRUE"\r
+            "IsDependency" = "11:TRUE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_9D69B0FC2413407BA24D88B73EF456AA"\r
+            {\r
+            "SourcePath" = "8:..\\doc\\images\\sample-image.png"\r
+            "TargetName" = "8:sample-image.png"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_A4CDED7951A44EF794E1E1EE9F73F240"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_9FBF78D7B89EEA843380D5F10E1954D7"\r
+            {\r
+            "SourcePath" = "8:Secur32.dll"\r
+            "TargetName" = "8:Secur32.dll"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:TRUE"\r
+            "IsDependency" = "11:TRUE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_A271CCE042C14DDF8F0F1A1B16584F17"\r
+            {\r
+            "SourcePath" = "8:..\\doc\\help\\api-filedir.html"\r
+            "TargetName" = "8:api-filedir.html"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_24DE31CE70694FD2977B5FB38F24D77F"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_A513FBE6CC6247C19AF06829E5470D01"\r
+            {\r
+            "SourcePath" = "8:..\\test\\document-a4.pdf"\r
+            "TargetName" = "8:document-a4.pdf"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_9DFBB4777E594B0F8884792467931241"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_A833908023464B61A160E0323C8E9606"\r
+            {\r
+            "SourcePath" = "8:..\\test\\document-letter.pdf"\r
+            "TargetName" = "8:document-letter.pdf"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_9DFBB4777E594B0F8884792467931241"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_C1FCE2FAE4714A719B7B430E2BE93CBB"\r
+            {\r
+            "SourcePath" = "8:..\\test\\testfile.ps"\r
+            "TargetName" = "8:testfile.ps"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_9DFBB4777E594B0F8884792467931241"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_C494B5675E2F4B1E9301627B19CF8A52"\r
+            {\r
+            "SourcePath" = "8:..\\test\\document-letter.ps"\r
+            "TargetName" = "8:document-letter.ps"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_9DFBB4777E594B0F8884792467931241"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_C6AA56CC25F14D6582803347599840BB"\r
+            {\r
+            "SourcePath" = "8:..\\test\\color.jpg"\r
+            "TargetName" = "8:color.jpg"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_9DFBB4777E594B0F8884792467931241"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_CD0CFE42ED2D4416A01253E12A0082A8"\r
+            {\r
+            "SourcePath" = "8:..\\test\\testfile.pdf"\r
+            "TargetName" = "8:testfile.pdf"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_9DFBB4777E594B0F8884792467931241"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_CDBB327B06484A60AD16B999D88A10F5"\r
+            {\r
+            "SourcePath" = "8:..\\test\\ipp-2.1.test"\r
+            "TargetName" = "8:ipp-2.1.test"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_9DFBB4777E594B0F8884792467931241"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_D3B3B266E0FC45DD9B7EEBCC3AC52965"\r
+            {\r
+            "SourcePath" = "8:..\\test\\get-printer-attributes.test"\r
+            "TargetName" = "8:get-printer-attributes.test"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_9DFBB4777E594B0F8884792467931241"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_D4EC471BF98C4F8FA7A927B95CB69013"\r
+            {\r
+            "SourcePath" = "8:..\\doc\\help\\api-overview.html"\r
+            "TargetName" = "8:api-overview.html"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_24DE31CE70694FD2977B5FB38F24D77F"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_DA4E31E0503E4EAFA1E4BAEE05144618"\r
+            {\r
+            "SourcePath" = "8:..\\doc\\help\\api-cups.html"\r
+            "TargetName" = "8:api-cups.html"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_24DE31CE70694FD2977B5FB38F24D77F"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_E3C6C5A7FDD94965B68960844461D5EA"\r
+            {\r
+            "SourcePath" = "8:..\\LICENSE.txt"\r
+            "TargetName" = "8:LICENSE.txt"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_E47BCB853AC74A81BC61E878BFCEF5DC"\r
+            {\r
+            "SourcePath" = "8:..\\cups\\cups.h"\r
+            "TargetName" = "8:cups.h"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_121A70CA434045EDB010E7480AFCEF18"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_EA287095645D4A7BA58A530186317895"\r
+            {\r
+            "SourcePath" = "8:..\\doc\\images\\raster-organization.png"\r
+            "TargetName" = "8:raster-organization.png"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_A4CDED7951A44EF794E1E1EE9F73F240"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_EB7A2E97695F4964B4AF0560A258A14A"\r
+            {\r
+            "SourcePath" = "8:..\\cups\\file.h"\r
+            "TargetName" = "8:file.h"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_121A70CA434045EDB010E7480AFCEF18"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_F77CB9E0AE78446481BD8BFD680F548E"\r
+            {\r
+            "SourcePath" = "8:..\\doc\\help\\api-ppd.html"\r
+            "TargetName" = "8:api-ppd.html"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_24DE31CE70694FD2977B5FB38F24D77F"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_FA604C5C4FDD4D7B8110AFC6B603FBAF"\r
+            {\r
+            "SourcePath" = "8:..\\test\\onepage-letter.ps"\r
+            "TargetName" = "8:onepage-letter.ps"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_9DFBB4777E594B0F8884792467931241"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            }\r
+        }\r
+        "FileType"\r
+        {\r
+        }\r
+        "Folder"\r
+        {\r
+            "{1525181F-901A-416C-8A58-119130FE478E}:_BEC0EAE20C954C78B294B83E6696156E"\r
+            {\r
+            "Name" = "8:#1919"\r
+            "AlwaysCreate" = "11:FALSE"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Property" = "8:ProgramMenuFolder"\r
+                "Folders"\r
+                {\r
+                }\r
+            }\r
+            "{1525181F-901A-416C-8A58-119130FE478E}:_C8D931ADC425446B916E9711B929659F"\r
+            {\r
+            "Name" = "8:#1914"\r
+            "AlwaysCreate" = "11:FALSE"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Property" = "8:SystemFolder"\r
+                "Folders"\r
+                {\r
+                }\r
+            }\r
+            "{1525181F-901A-416C-8A58-119130FE478E}:_D02CDADE99F344CF92CA1A8D0278861F"\r
+            {\r
+            "Name" = "8:#1916"\r
+            "AlwaysCreate" = "11:FALSE"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Property" = "8:DesktopFolder"\r
+                "Folders"\r
+                {\r
+                }\r
+            }\r
+            "{3C67513D-01DD-4637-8A68-80971EB9504F}:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"\r
+            {\r
+            "DefaultLocation" = "8:[ProgramFilesFolder]\\ipptool"\r
+            "Name" = "8:#1925"\r
+            "AlwaysCreate" = "11:FALSE"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Property" = "8:TARGETDIR"\r
+                "Folders"\r
+                {\r
+                    "{9EF0B969-E518-4E46-987F-47570745A589}:_121A70CA434045EDB010E7480AFCEF18"\r
+                    {\r
+                    "Name" = "8:include"\r
+                    "AlwaysCreate" = "11:FALSE"\r
+                    "Condition" = "8:"\r
+                    "Transitive" = "11:FALSE"\r
+                    "Property" = "8:_23D8BBBA9DEE4C8E88C9D1624DEAFB81"\r
+                        "Folders"\r
+                        {\r
+                        }\r
+                    }\r
+                    "{9EF0B969-E518-4E46-987F-47570745A589}:_24DE31CE70694FD2977B5FB38F24D77F"\r
+                    {\r
+                    "Name" = "8:doc"\r
+                    "AlwaysCreate" = "11:FALSE"\r
+                    "Condition" = "8:"\r
+                    "Transitive" = "11:FALSE"\r
+                    "Property" = "8:_4C3C248E2B3E4CB0AE8A9DF8D97AB433"\r
+                        "Folders"\r
+                        {\r
+                            "{9EF0B969-E518-4E46-987F-47570745A589}:_A4CDED7951A44EF794E1E1EE9F73F240"\r
+                            {\r
+                            "Name" = "8:images"\r
+                            "AlwaysCreate" = "11:FALSE"\r
+                            "Condition" = "8:"\r
+                            "Transitive" = "11:FALSE"\r
+                            "Property" = "8:_7ECE25C7A13C410AA18E0529C8998EB7"\r
+                                "Folders"\r
+                                {\r
+                                }\r
+                            }\r
+                        }\r
+                    }\r
+                    "{9EF0B969-E518-4E46-987F-47570745A589}:_2927DAE23F604CF9B8B4D1EC01A6F158"\r
+                    {\r
+                    "Name" = "8:lib"\r
+                    "AlwaysCreate" = "11:FALSE"\r
+                    "Condition" = "8:"\r
+                    "Transitive" = "11:FALSE"\r
+                    "Property" = "8:_927C9760A02446EBB2AEDE6BCCFDE29F"\r
+                        "Folders"\r
+                        {\r
+                        }\r
+                    }\r
+                    "{9EF0B969-E518-4E46-987F-47570745A589}:_9DFBB4777E594B0F8884792467931241"\r
+                    {\r
+                    "Name" = "8:ipptool"\r
+                    "AlwaysCreate" = "11:FALSE"\r
+                    "Condition" = "8:"\r
+                    "Transitive" = "11:FALSE"\r
+                    "Property" = "8:_77AF2E5323304714AF58A3F662F6051B"\r
+                        "Folders"\r
+                        {\r
+                        }\r
+                    }\r
+                }\r
+            }\r
+        }\r
+        "LaunchCondition"\r
+        {\r
+        }\r
+        "Locator"\r
+        {\r
+        }\r
+        "MsiBootstrapper"\r
+        {\r
+        "LangId" = "3:1033"\r
+        "RequiresElevation" = "11:FALSE"\r
+        }\r
+        "Product"\r
+        {\r
+        "Name" = "8:Microsoft Visual Studio"\r
+        "ProductName" = "8:CUPS SDK for Windows"\r
+        "ProductCode" = "8:{4E0D1662-B032-4CAD-8DBD-5302ADCE1C6F}"\r
+        "PackageCode" = "8:{00298F12-01DD-4785-9402-7A1E694F9577}"\r
+        "UpgradeCode" = "8:{BAB6EBBB-515D-4155-9FEF-D98DA76814CA}"\r
+        "RestartWWWService" = "11:FALSE"\r
+        "RemovePreviousVersions" = "11:TRUE"\r
+        "DetectNewerInstalledVersion" = "11:TRUE"\r
+        "InstallAllUsers" = "11:TRUE"\r
+        "ProductVersion" = "8:12.03.2600"\r
+        "Manufacturer" = "8:Apple Inc."\r
+        "ARPHELPTELEPHONE" = "8:"\r
+        "ARPHELPLINK" = "8:http://www.cups.org/str.php"\r
+        "Title" = "8:CUPS"\r
+        "Subject" = "8:"\r
+        "ARPCONTACT" = "8:Apple Inc."\r
+        "Keywords" = "8:IPP, Internet Printing Protocol"\r
+        "ARPCOMMENTS" = "8:CUPS SDK for Windows"\r
+        "ARPURLINFOABOUT" = "8:http://www.cups.org/"\r
+        "ARPPRODUCTICON" = "8:"\r
+        "ARPIconIndex" = "3:0"\r
+        "SearchPath" = "8:"\r
+        "UseSystemSearchPath" = "11:TRUE"\r
+        "TargetPlatform" = "3:0"\r
+        "PreBuildEvent" = "8:"\r
+        "PostBuildEvent" = "8:"\r
+        "RunPostBuildEvent" = "3:0"\r
+        }\r
+        "Registry"\r
+        {\r
+            "HKLM"\r
+            {\r
+                "Keys"\r
+                {\r
+                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_BC4E66686BCA4F9A8B24B6CF2728DACD"\r
+                    {\r
+                    "Name" = "8:Software"\r
+                    "Condition" = "8:"\r
+                    "AlwaysCreate" = "11:FALSE"\r
+                    "DeleteAtUninstall" = "11:FALSE"\r
+                    "Transitive" = "11:FALSE"\r
+                        "Keys"\r
+                        {\r
+                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_F9AB9B310C7545D993D690F529048AA2"\r
+                            {\r
+                            "Name" = "8:cups.org"\r
+                            "Condition" = "8:"\r
+                            "AlwaysCreate" = "11:FALSE"\r
+                            "DeleteAtUninstall" = "11:FALSE"\r
+                            "Transitive" = "11:FALSE"\r
+                                "Keys"\r
+                                {\r
+                                }\r
+                                "Values"\r
+                                {\r
+                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_4E5BAC705A1D44E78C90C6D2A4A7BE20"\r
+                                    {\r
+                                    "Name" = "8:installdir"\r
+                                    "Condition" = "8:"\r
+                                    "Transitive" = "11:FALSE"\r
+                                    "ValueTypes" = "3:2"\r
+                                    "Value" = "8:[TARGETDIR]"\r
+                                    }\r
+                                }\r
+                            }\r
+                        }\r
+                        "Values"\r
+                        {\r
+                        }\r
+                    }\r
+                }\r
+            }\r
+            "HKCU"\r
+            {\r
+                "Keys"\r
+                {\r
+                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_A4C9879F42874B6B92960A55F2D98922"\r
+                    {\r
+                    "Name" = "8:Software"\r
+                    "Condition" = "8:"\r
+                    "AlwaysCreate" = "11:FALSE"\r
+                    "DeleteAtUninstall" = "11:FALSE"\r
+                    "Transitive" = "11:FALSE"\r
+                        "Keys"\r
+                        {\r
+                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_1ACB03C307FB4B85BB27C9913FB58B09"\r
+                            {\r
+                            "Name" = "8:[Manufacturer]"\r
+                            "Condition" = "8:"\r
+                            "AlwaysCreate" = "11:FALSE"\r
+                            "DeleteAtUninstall" = "11:FALSE"\r
+                            "Transitive" = "11:FALSE"\r
+                                "Keys"\r
+                                {\r
+                                }\r
+                                "Values"\r
+                                {\r
+                                }\r
+                            }\r
+                        }\r
+                        "Values"\r
+                        {\r
+                        }\r
+                    }\r
+                }\r
+            }\r
+            "HKCR"\r
+            {\r
+                "Keys"\r
+                {\r
+                }\r
+            }\r
+            "HKU"\r
+            {\r
+                "Keys"\r
+                {\r
+                }\r
+            }\r
+            "HKPU"\r
+            {\r
+                "Keys"\r
+                {\r
+                }\r
+            }\r
+        }\r
+        "Sequences"\r
+        {\r
+        }\r
+        "Shortcut"\r
+        {\r
+        }\r
+        "UserInterface"\r
+        {\r
+            "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_045DF90B1FF941A9BA7A742CFC0A6C00"\r
+            {\r
+            "UseDynamicProperties" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "SourcePath" = "8:<VsdDialogDir>\\VsdUserInterface.wim"\r
+            }\r
+            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_345BD86390E841A98B74ED3E07945F8C"\r
+            {\r
+            "Name" = "8:#1900"\r
+            "Sequence" = "3:2"\r
+            "Attributes" = "3:1"\r
+                "Dialogs"\r
+                {\r
+                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_067C143A8731427180B1568AF8C07375"\r
+                    {\r
+                    "Sequence" = "3:200"\r
+                    "DisplayName" = "8:Installation Folder"\r
+                    "UseDynamicProperties" = "11:TRUE"\r
+                    "IsDependency" = "11:FALSE"\r
+                    "SourcePath" = "8:<VsdDialogDir>\\VsdAdminFolderDlg.wid"\r
+                        "Properties"\r
+                        {\r
+                            "BannerBitmap"\r
+                            {\r
+                            "Name" = "8:BannerBitmap"\r
+                            "DisplayName" = "8:#1001"\r
+                            "Description" = "8:#1101"\r
+                            "Type" = "3:8"\r
+                            "ContextData" = "8:Bitmap"\r
+                            "Attributes" = "3:4"\r
+                            "Setting" = "3:1"\r
+                            "UsePlugInResources" = "11:TRUE"\r
+                            }\r
+                        }\r
+                    }\r
+                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_A2F2CC6EB9D7453599E7598D4D0629A5"\r
+                    {\r
+                    "Sequence" = "3:300"\r
+                    "DisplayName" = "8:Confirm Installation"\r
+                    "UseDynamicProperties" = "11:TRUE"\r
+                    "IsDependency" = "11:FALSE"\r
+                    "SourcePath" = "8:<VsdDialogDir>\\VsdAdminConfirmDlg.wid"\r
+                        "Properties"\r
+                        {\r
+                            "BannerBitmap"\r
+                            {\r
+                            "Name" = "8:BannerBitmap"\r
+                            "DisplayName" = "8:#1001"\r
+                            "Description" = "8:#1101"\r
+                            "Type" = "3:8"\r
+                            "ContextData" = "8:Bitmap"\r
+                            "Attributes" = "3:4"\r
+                            "Setting" = "3:1"\r
+                            "UsePlugInResources" = "11:TRUE"\r
+                            }\r
+                        }\r
+                    }\r
+                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_C2B41369B7334F419318792EBA031412"\r
+                    {\r
+                    "Sequence" = "3:100"\r
+                    "DisplayName" = "8:Welcome"\r
+                    "UseDynamicProperties" = "11:TRUE"\r
+                    "IsDependency" = "11:FALSE"\r
+                    "SourcePath" = "8:<VsdDialogDir>\\VsdAdminWelcomeDlg.wid"\r
+                        "Properties"\r
+                        {\r
+                            "BannerBitmap"\r
+                            {\r
+                            "Name" = "8:BannerBitmap"\r
+                            "DisplayName" = "8:#1001"\r
+                            "Description" = "8:#1101"\r
+                            "Type" = "3:8"\r
+                            "ContextData" = "8:Bitmap"\r
+                            "Attributes" = "3:4"\r
+                            "Setting" = "3:1"\r
+                            "UsePlugInResources" = "11:TRUE"\r
+                            }\r
+                            "CopyrightWarning"\r
+                            {\r
+                            "Name" = "8:CopyrightWarning"\r
+                            "DisplayName" = "8:#1002"\r
+                            "Description" = "8:#1102"\r
+                            "Type" = "3:3"\r
+                            "ContextData" = "8:"\r
+                            "Attributes" = "3:0"\r
+                            "Setting" = "3:2"\r
+                            "Value" = "8:This computer program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License version 2."\r
+                            "DefaultValue" = "8:#1202"\r
+                            "UsePlugInResources" = "11:TRUE"\r
+                            }\r
+                            "Welcome"\r
+                            {\r
+                            "Name" = "8:Welcome"\r
+                            "DisplayName" = "8:#1003"\r
+                            "Description" = "8:#1103"\r
+                            "Type" = "3:3"\r
+                            "ContextData" = "8:"\r
+                            "Attributes" = "3:0"\r
+                            "Setting" = "3:1"\r
+                            "Value" = "8:#1203"\r
+                            "DefaultValue" = "8:#1203"\r
+                            "UsePlugInResources" = "11:TRUE"\r
+                            }\r
+                        }\r
+                    }\r
+                }\r
+            }\r
+            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_6B654A06090344BA9AA443E0D0296737"\r
+            {\r
+            "Name" = "8:#1902"\r
+            "Sequence" = "3:1"\r
+            "Attributes" = "3:3"\r
+                "Dialogs"\r
+                {\r
+                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_FB4E7BBC3DA242309FFB58F9A6194A93"\r
+                    {\r
+                    "Sequence" = "3:100"\r
+                    "DisplayName" = "8:Finished"\r
+                    "UseDynamicProperties" = "11:TRUE"\r
+                    "IsDependency" = "11:FALSE"\r
+                    "SourcePath" = "8:<VsdDialogDir>\\VsdFinishedDlg.wid"\r
+                        "Properties"\r
+                        {\r
+                            "BannerBitmap"\r
+                            {\r
+                            "Name" = "8:BannerBitmap"\r
+                            "DisplayName" = "8:#1001"\r
+                            "Description" = "8:#1101"\r
+                            "Type" = "3:8"\r
+                            "ContextData" = "8:Bitmap"\r
+                            "Attributes" = "3:4"\r
+                            "Setting" = "3:1"\r
+                            "UsePlugInResources" = "11:TRUE"\r
+                            }\r
+                            "UpdateText"\r
+                            {\r
+                            "Name" = "8:UpdateText"\r
+                            "DisplayName" = "8:#1058"\r
+                            "Description" = "8:#1158"\r
+                            "Type" = "3:15"\r
+                            "ContextData" = "8:"\r
+                            "Attributes" = "3:0"\r
+                            "Setting" = "3:1"\r
+                            "Value" = "8:#1258"\r
+                            "DefaultValue" = "8:#1258"\r
+                            "UsePlugInResources" = "11:TRUE"\r
+                            }\r
+                        }\r
+                    }\r
+                }\r
+            }\r
+            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_712819C7C4F042ABB708949BD4426628"\r
+            {\r
+            "Name" = "8:#1900"\r
+            "Sequence" = "3:1"\r
+            "Attributes" = "3:1"\r
+                "Dialogs"\r
+                {\r
+                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_2F49D4FACB954AF2B786D2AD9206D053"\r
+                    {\r
+                    "Sequence" = "3:100"\r
+                    "DisplayName" = "8:Welcome"\r
+                    "UseDynamicProperties" = "11:TRUE"\r
+                    "IsDependency" = "11:FALSE"\r
+                    "SourcePath" = "8:<VsdDialogDir>\\VsdWelcomeDlg.wid"\r
+                        "Properties"\r
+                        {\r
+                            "BannerBitmap"\r
+                            {\r
+                            "Name" = "8:BannerBitmap"\r
+                            "DisplayName" = "8:#1001"\r
+                            "Description" = "8:#1101"\r
+                            "Type" = "3:8"\r
+                            "ContextData" = "8:Bitmap"\r
+                            "Attributes" = "3:4"\r
+                            "Setting" = "3:1"\r
+                            "UsePlugInResources" = "11:TRUE"\r
+                            }\r
+                            "CopyrightWarning"\r
+                            {\r
+                            "Name" = "8:CopyrightWarning"\r
+                            "DisplayName" = "8:#1002"\r
+                            "Description" = "8:#1102"\r
+                            "Type" = "3:3"\r
+                            "ContextData" = "8:"\r
+                            "Attributes" = "3:0"\r
+                            "Setting" = "3:2"\r
+                            "Value" = "8:This computer program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License version 2."\r
+                            "DefaultValue" = "8:#1202"\r
+                            "UsePlugInResources" = "11:TRUE"\r
+                            }\r
+                            "Welcome"\r
+                            {\r
+                            "Name" = "8:Welcome"\r
+                            "DisplayName" = "8:#1003"\r
+                            "Description" = "8:#1103"\r
+                            "Type" = "3:3"\r
+                            "ContextData" = "8:"\r
+                            "Attributes" = "3:0"\r
+                            "Setting" = "3:1"\r
+                            "Value" = "8:#1203"\r
+                            "DefaultValue" = "8:#1203"\r
+                            "UsePlugInResources" = "11:TRUE"\r
+                            }\r
+                        }\r
+                    }\r
+                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_770E25BC453A464EA8CD51381FDDDD9F"\r
+                    {\r
+                    "Sequence" = "3:300"\r
+                    "DisplayName" = "8:Confirm Installation"\r
+                    "UseDynamicProperties" = "11:TRUE"\r
+                    "IsDependency" = "11:FALSE"\r
+                    "SourcePath" = "8:<VsdDialogDir>\\VsdConfirmDlg.wid"\r
+                        "Properties"\r
+                        {\r
+                            "BannerBitmap"\r
+                            {\r
+                            "Name" = "8:BannerBitmap"\r
+                            "DisplayName" = "8:#1001"\r
+                            "Description" = "8:#1101"\r
+                            "Type" = "3:8"\r
+                            "ContextData" = "8:Bitmap"\r
+                            "Attributes" = "3:4"\r
+                            "Setting" = "3:1"\r
+                            "UsePlugInResources" = "11:TRUE"\r
+                            }\r
+                        }\r
+                    }\r
+                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_9534A64B629F4F868D6D7A384C76DCB2"\r
+                    {\r
+                    "Sequence" = "3:200"\r
+                    "DisplayName" = "8:Installation Folder"\r
+                    "UseDynamicProperties" = "11:TRUE"\r
+                    "IsDependency" = "11:FALSE"\r
+                    "SourcePath" = "8:<VsdDialogDir>\\VsdFolderDlg.wid"\r
+                        "Properties"\r
+                        {\r
+                            "BannerBitmap"\r
+                            {\r
+                            "Name" = "8:BannerBitmap"\r
+                            "DisplayName" = "8:#1001"\r
+                            "Description" = "8:#1101"\r
+                            "Type" = "3:8"\r
+                            "ContextData" = "8:Bitmap"\r
+                            "Attributes" = "3:4"\r
+                            "Setting" = "3:1"\r
+                            "UsePlugInResources" = "11:TRUE"\r
+                            }\r
+                            "InstallAllUsersVisible"\r
+                            {\r
+                            "Name" = "8:InstallAllUsersVisible"\r
+                            "DisplayName" = "8:#1059"\r
+                            "Description" = "8:#1159"\r
+                            "Type" = "3:5"\r
+                            "ContextData" = "8:1;True=1;False=0"\r
+                            "Attributes" = "3:0"\r
+                            "Setting" = "3:0"\r
+                            "Value" = "3:1"\r
+                            "DefaultValue" = "3:1"\r
+                            "UsePlugInResources" = "11:TRUE"\r
+                            }\r
+                        }\r
+                    }\r
+                }\r
+            }\r
+            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_770CCEFF81BD46A182A6E816A41A0E81"\r
+            {\r
+            "Name" = "8:#1901"\r
+            "Sequence" = "3:2"\r
+            "Attributes" = "3:2"\r
+                "Dialogs"\r
+                {\r
+                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_75E0C1FD245D493DA0D7E3E0BC0C365F"\r
+                    {\r
+                    "Sequence" = "3:100"\r
+                    "DisplayName" = "8:Progress"\r
+                    "UseDynamicProperties" = "11:TRUE"\r
+                    "IsDependency" = "11:FALSE"\r
+                    "SourcePath" = "8:<VsdDialogDir>\\VsdAdminProgressDlg.wid"\r
+                        "Properties"\r
+                        {\r
+                            "BannerBitmap"\r
+                            {\r
+                            "Name" = "8:BannerBitmap"\r
+                            "DisplayName" = "8:#1001"\r
+                            "Description" = "8:#1101"\r
+                            "Type" = "3:8"\r
+                            "ContextData" = "8:Bitmap"\r
+                            "Attributes" = "3:4"\r
+                            "Setting" = "3:1"\r
+                            "UsePlugInResources" = "11:TRUE"\r
+                            }\r
+                            "ShowProgress"\r
+                            {\r
+                            "Name" = "8:ShowProgress"\r
+                            "DisplayName" = "8:#1009"\r
+                            "Description" = "8:#1109"\r
+                            "Type" = "3:5"\r
+                            "ContextData" = "8:1;True=1;False=0"\r
+                            "Attributes" = "3:0"\r
+                            "Setting" = "3:0"\r
+                            "Value" = "3:1"\r
+                            "DefaultValue" = "3:1"\r
+                            "UsePlugInResources" = "11:TRUE"\r
+                            }\r
+                        }\r
+                    }\r
+                }\r
+            }\r
+            "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_933B15E9A383418F8ADF3B13F68458F3"\r
+            {\r
+            "UseDynamicProperties" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "SourcePath" = "8:<VsdDialogDir>\\VsdBasicDialogs.wim"\r
+            }\r
+            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_E310DA8CED734E00950A3C5D630CE987"\r
+            {\r
+            "Name" = "8:#1902"\r
+            "Sequence" = "3:2"\r
+            "Attributes" = "3:3"\r
+                "Dialogs"\r
+                {\r
+                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_CB172E69F9C74901BE1040336CFD4F72"\r
+                    {\r
+                    "Sequence" = "3:100"\r
+                    "DisplayName" = "8:Finished"\r
+                    "UseDynamicProperties" = "11:TRUE"\r
+                    "IsDependency" = "11:FALSE"\r
+                    "SourcePath" = "8:<VsdDialogDir>\\VsdAdminFinishedDlg.wid"\r
+                        "Properties"\r
+                        {\r
+                            "BannerBitmap"\r
+                            {\r
+                            "Name" = "8:BannerBitmap"\r
+                            "DisplayName" = "8:#1001"\r
+                            "Description" = "8:#1101"\r
+                            "Type" = "3:8"\r
+                            "ContextData" = "8:Bitmap"\r
+                            "Attributes" = "3:4"\r
+                            "Setting" = "3:1"\r
+                            "UsePlugInResources" = "11:TRUE"\r
+                            }\r
+                        }\r
+                    }\r
+                }\r
+            }\r
+            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_F44F9BE9B54940848289669635E4A5A2"\r
+            {\r
+            "Name" = "8:#1901"\r
+            "Sequence" = "3:1"\r
+            "Attributes" = "3:2"\r
+                "Dialogs"\r
+                {\r
+                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_14751F327A634B989283C8F28CFB6DFC"\r
+                    {\r
+                    "Sequence" = "3:100"\r
+                    "DisplayName" = "8:Progress"\r
+                    "UseDynamicProperties" = "11:TRUE"\r
+                    "IsDependency" = "11:FALSE"\r
+                    "SourcePath" = "8:<VsdDialogDir>\\VsdProgressDlg.wid"\r
+                        "Properties"\r
+                        {\r
+                            "BannerBitmap"\r
+                            {\r
+                            "Name" = "8:BannerBitmap"\r
+                            "DisplayName" = "8:#1001"\r
+                            "Description" = "8:#1101"\r
+                            "Type" = "3:8"\r
+                            "ContextData" = "8:Bitmap"\r
+                            "Attributes" = "3:4"\r
+                            "Setting" = "3:1"\r
+                            "UsePlugInResources" = "11:TRUE"\r
+                            }\r
+                            "ShowProgress"\r
+                            {\r
+                            "Name" = "8:ShowProgress"\r
+                            "DisplayName" = "8:#1009"\r
+                            "Description" = "8:#1109"\r
+                            "Type" = "3:5"\r
+                            "ContextData" = "8:1;True=1;False=0"\r
+                            "Attributes" = "3:0"\r
+                            "Setting" = "3:0"\r
+                            "Value" = "3:1"\r
+                            "DefaultValue" = "3:1"\r
+                            "UsePlugInResources" = "11:TRUE"\r
+                            }\r
+                        }\r
+                    }\r
+                }\r
+            }\r
+        }\r
+        "MergeModule"\r
+        {\r
+            "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_1DFD9AECD1AD4B2291DD52028E866569"\r
+            {\r
+            "UseDynamicProperties" = "11:TRUE"\r
+            "IsDependency" = "11:TRUE"\r
+            "SourcePath" = "8:microsoft_vc90_crt_x86.msm"\r
+                "Properties"\r
+                {\r
+                }\r
+            "LanguageId" = "3:0"\r
+            "Exclude" = "11:FALSE"\r
+            "Folder" = "8:"\r
+            "Feature" = "8:"\r
+            "IsolateTo" = "8:"\r
+            }\r
+            "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_62CA00B1E5E4460CA93EE7E2B8FE878B"\r
+            {\r
+            "UseDynamicProperties" = "11:TRUE"\r
+            "IsDependency" = "11:TRUE"\r
+            "SourcePath" = "8:policy_9_0_Microsoft_VC90_CRT_x86.msm"\r
+                "Properties"\r
+                {\r
+                }\r
+            "LanguageId" = "3:0"\r
+            "Exclude" = "11:FALSE"\r
+            "Folder" = "8:"\r
+            "Feature" = "8:"\r
+            "IsolateTo" = "8:"\r
+            }\r
+        }\r
+        "ProjectOutput"\r
+        {\r
+            "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_0299839A2CCC4F908C5D3A8F465F3FFE"\r
+            {\r
+            "SourcePath" = "8:Win32\\Release\\libcupsimage2.dll"\r
+            "TargetName" = "8:"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_C8D931ADC425446B916E9711B929659F"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            "ProjectOutputGroupRegister" = "3:1"\r
+            "OutputConfiguration" = "8:"\r
+            "OutputGroupCanonicalName" = "8:Built"\r
+            "OutputProjectGuid" = "8:{CB4AA6F2-3E84-45BE-B505-95CD375E1234}"\r
+            "ShowKeyOutput" = "11:TRUE"\r
+                "ExcludeFilters"\r
+                {\r
+                }\r
+            }\r
+            "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_364DCCAFF25145BCBE75FFEEDCC75B3A"\r
+            {\r
+            "SourcePath" = "8:Win32\\Release\\cupstestppd.exe"\r
+            "TargetName" = "8:"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            "ProjectOutputGroupRegister" = "3:1"\r
+            "OutputConfiguration" = "8:"\r
+            "OutputGroupCanonicalName" = "8:Built"\r
+            "OutputProjectGuid" = "8:{6BE0CDD3-4ED7-409C-A80F-19DF73664B1F}"\r
+            "ShowKeyOutput" = "11:TRUE"\r
+                "ExcludeFilters"\r
+                {\r
+                }\r
+            }\r
+            "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_B20638175CCB42398417E0683A12469C"\r
+            {\r
+            "SourcePath" = "8:Win32\\Release\\ipptool.exe"\r
+            "TargetName" = "8:"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            "ProjectOutputGroupRegister" = "3:1"\r
+            "OutputConfiguration" = "8:"\r
+            "OutputGroupCanonicalName" = "8:Built"\r
+            "OutputProjectGuid" = "8:{B246D91E-61F2-4433-BFD2-6C2A96FBD4D4}"\r
+            "ShowKeyOutput" = "11:TRUE"\r
+                "ExcludeFilters"\r
+                {\r
+                }\r
+            }\r
+            "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_D02EB13951314EFD9C539150EF8E53B8"\r
+            {\r
+            "SourcePath" = "8:Win32\\Release\\regex.dll"\r
+            "TargetName" = "8:"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_C8D931ADC425446B916E9711B929659F"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            "ProjectOutputGroupRegister" = "3:1"\r
+            "OutputConfiguration" = "8:"\r
+            "OutputGroupCanonicalName" = "8:Built"\r
+            "OutputProjectGuid" = "8:{18950A1B-D37A-40C7-B2DF-C12986C0526E}"\r
+            "ShowKeyOutput" = "11:TRUE"\r
+                "ExcludeFilters"\r
+                {\r
+                }\r
+            }\r
+            "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_EA282F32A10B4ED1A81AA6133B997C6A"\r
+            {\r
+            "SourcePath" = "8:Win32\\Release\\libcups2.dll"\r
+            "TargetName" = "8:"\r
+            "Tag" = "8:"\r
+            "Folder" = "8:_C8D931ADC425446B916E9711B929659F"\r
+            "Condition" = "8:"\r
+            "Transitive" = "11:FALSE"\r
+            "Vital" = "11:TRUE"\r
+            "ReadOnly" = "11:FALSE"\r
+            "Hidden" = "11:FALSE"\r
+            "System" = "11:FALSE"\r
+            "Permanent" = "11:FALSE"\r
+            "SharedLegacy" = "11:FALSE"\r
+            "PackageAs" = "3:1"\r
+            "Register" = "3:1"\r
+            "Exclude" = "11:FALSE"\r
+            "IsDependency" = "11:FALSE"\r
+            "IsolateTo" = "8:"\r
+            "ProjectOutputGroupRegister" = "3:1"\r
+            "OutputConfiguration" = "8:"\r
+            "OutputGroupCanonicalName" = "8:Built"\r
+            "OutputProjectGuid" = "8:{CB4AA6F2-3E84-45BE-B505-95CD375E8BE3}"\r
+            "ShowKeyOutput" = "11:TRUE"\r
+                "ExcludeFilters"\r
+                {\r
+                }\r
+            }\r
+        }\r
+    }\r
+}\r
index 2fc8c5f..6e12bda 100644 (file)
@@ -44,8 +44,8 @@
                        <Tool\r
                                Name="VCCLCompilerTool"\r
                                Optimization="0"\r
-                               AdditionalIncludeDirectories="..\vcnet,.."\r
-                               PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBCUPS2_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS"\r
+                               AdditionalIncludeDirectories="..\vcnet;..;..\vcnet\regex"\r
+                               PreprocessorDefinitions="WIN32;DEBUG;_DEBUG;_WINDOWS;_USRDLL;LIBCUPS2_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS"\r
                                MinimalRebuild="true"\r
                                BasicRuntimeChecks="3"\r
                                RuntimeLibrary="3"\r
@@ -66,6 +66,7 @@
                        />\r
                        <Tool\r
                                Name="VCLinkerTool"\r
+                               AdditionalOptions="/NODEFAULTLIB:libcmt"\r
                                AdditionalDependencies="ws2_32.lib advapi32.lib"\r
                                OutputFile="$(OutDir)\libcups2.dll"\r
                                LinkIncremental="2"\r
                                Name="VCCLCompilerTool"\r
                                Optimization="0"\r
                                AdditionalIncludeDirectories="..\vcnet,.."\r
-                               PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBCUPS2_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS"\r
+                               PreprocessorDefinitions="WIN32;DEBUG;_DEBUG;_WINDOWS;_USRDLL;LIBCUPS2_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS"\r
                                MinimalRebuild="true"\r
                                BasicRuntimeChecks="3"\r
                                RuntimeLibrary="3"\r
                        <Tool\r
                                Name="VCCLCompilerTool"\r
                                Optimization="1"\r
-                               AdditionalIncludeDirectories="..\vcnet,.."\r
-                               PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBCUPS2_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS"\r
+                               AdditionalIncludeDirectories="..\vcnet;..;..\vcnet\regex"\r
+                               PreprocessorDefinitions="WIN32;DEBUG;NDEBUG;_WINDOWS;_USRDLL;LIBCUPS2_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS"\r
                                RuntimeLibrary="2"\r
                                UsePrecompiledHeader="0"\r
                                WarningLevel="3"\r
                        />\r
                        <Tool\r
                                Name="VCLinkerTool"\r
+                               AdditionalOptions="/NODEFAULTLIB:libcmt"\r
                                AdditionalDependencies="ws2_32.lib advapi32.lib"\r
                                OutputFile="$(OutDir)\libcups2.dll"\r
                                LinkIncremental="1"\r
                                Name="VCCLCompilerTool"\r
                                Optimization="1"\r
                                AdditionalIncludeDirectories="..\vcnet,.."\r
-                               PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBCUPS2_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS"\r
+                               PreprocessorDefinitions="WIN32;DEBUG;NDEBUG;_WINDOWS;_USRDLL;LIBCUPS2_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS"\r
                                RuntimeLibrary="2"\r
                                UsePrecompiledHeader="0"\r
                                WarningLevel="3"\r
                                >\r
                        </File>\r
                        <File\r
+                               RelativePath="..\cups\debug.c"\r
+                               >\r
+                       </File>\r
+                       <File\r
                                RelativePath="..\cups\dest.c"\r
                                >\r
                                <FileConfiguration\r
                                >\r
                        </File>\r
                        <File\r
-                               RelativePath="..\cups\debug.h"\r
+                               RelativePath="..\cups\debug-private.h"\r
                                >\r
                        </File>\r
                        <File\r
diff --git a/vcnet/regex.vcproj b/vcnet/regex.vcproj
new file mode 100644 (file)
index 0000000..8b13f6f
--- /dev/null
@@ -0,0 +1,225 @@
+<?xml version="1.0" encoding="Windows-1252"?>\r
+<VisualStudioProject\r
+       ProjectType="Visual C++"\r
+       Version="9.00"\r
+       Name="regex"\r
+       ProjectGUID="{18950A1B-D37A-40C7-B2DF-C12986C0526E}"\r
+       RootNamespace="regex"\r
+       Keyword="Win32Proj"\r
+       TargetFrameworkVersion="196613"\r
+       >\r
+       <Platforms>\r
+               <Platform\r
+                       Name="Win32"\r
+               />\r
+       </Platforms>\r
+       <ToolFiles>\r
+       </ToolFiles>\r
+       <Configurations>\r
+               <Configuration\r
+                       Name="Debug|Win32"\r
+                       OutputDirectory="$(PlatformName)\$(ConfigurationName)"\r
+                       IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"\r
+                       ConfigurationType="2"\r
+                       CharacterSet="1"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCMIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               Optimization="0"\r
+                               AdditionalIncludeDirectories="regex"\r
+                               PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_WINDOWS;_USRDLL;REGEX_EXPORTS"\r
+                               MinimalRebuild="true"\r
+                               BasicRuntimeChecks="3"\r
+                               RuntimeLibrary="3"\r
+                               UsePrecompiledHeader="0"\r
+                               WarningLevel="3"\r
+                               DebugInformationFormat="4"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               LinkIncremental="2"\r
+                               ModuleDefinitionFile="regex/regex.def"\r
+                               GenerateDebugInformation="true"\r
+                               SubSystem="2"\r
+                               TargetMachine="1"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCAppVerifierTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="Release|Win32"\r
+                       OutputDirectory="$(PlatformName)\$(ConfigurationName)"\r
+                       IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"\r
+                       ConfigurationType="2"\r
+                       CharacterSet="1"\r
+                       WholeProgramOptimization="1"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCMIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               Optimization="2"\r
+                               EnableIntrinsicFunctions="true"\r
+                               AdditionalIncludeDirectories="regex"\r
+                               PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_WINDOWS;_USRDLL;REGEX_EXPORTS"\r
+                               RuntimeLibrary="2"\r
+                               EnableFunctionLevelLinking="true"\r
+                               UsePrecompiledHeader="0"\r
+                               WarningLevel="3"\r
+                               DebugInformationFormat="3"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               LinkIncremental="1"\r
+                               ModuleDefinitionFile="regex/regex.def"\r
+                               GenerateDebugInformation="true"\r
+                               SubSystem="2"\r
+                               OptimizeReferences="2"\r
+                               EnableCOMDATFolding="2"\r
+                               TargetMachine="1"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCAppVerifierTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+       </Configurations>\r
+       <References>\r
+       </References>\r
+       <Files>\r
+               <Filter\r
+                       Name="Source Files"\r
+                       Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"\r
+                       UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"\r
+                       >\r
+                       <File\r
+                               RelativePath=".\regex\regcomp.c"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\regex\regerror.c"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\regex\regex.def"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\regex\regexec.c"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\regex\regfree.c"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\regex\split.c"\r
+                               >\r
+                       </File>\r
+               </Filter>\r
+               <Filter\r
+                       Name="Header Files"\r
+                       Filter="h;hpp;hxx;hm;inl;inc;xsd"\r
+                       UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"\r
+                       >\r
+                       <File\r
+                               RelativePath=".\regex\regex.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath=".\regex\regex2.h"\r
+                               >\r
+                       </File>\r
+               </Filter>\r
+               <Filter\r
+                       Name="Resource Files"\r
+                       Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"\r
+                       UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"\r
+                       >\r
+               </Filter>\r
+       </Files>\r
+       <Globals>\r
+       </Globals>\r
+</VisualStudioProject>\r
diff --git a/vcnet/regex/regex.def b/vcnet/regex/regex.def
new file mode 100644 (file)
index 0000000..440f348
--- /dev/null
@@ -0,0 +1,7 @@
+LIBRARY regex\r
+VERSION 1.0\r
+EXPORTS\r
+regcomp\r
+regerror\r
+regexec\r
+regfree\r
diff --git a/vcnet/setdebug.bat b/vcnet/setdebug.bat
new file mode 100644 (file)
index 0000000..dd1afa6
--- /dev/null
@@ -0,0 +1,5 @@
+@rem Script to enable debug logging for IPPTOOL
+set CUPS_DEBUG_LOG=ipptool.log
+set CUPS_DEBUG_LEVEL=6
+set "CUPS_DEBUG_FILTER=^(http|_http|ipp|_ipp|cupsDo|cupsGetResponse|cupsSend|cupsWrite)"
+
index 070dd6b..4177219 100644 (file)
@@ -17,8 +17,8 @@
        <Configurations>\r
                <Configuration\r
                        Name="Debug|Win32"\r
-                       OutputDirectory="Debug"\r
-                       IntermediateDirectory="Debug"\r
+                       OutputDirectory="$(PlatformName)\$(ConfigurationName)"\r
+                       IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"\r
                        ConfigurationType="1"\r
                        InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"\r
                        CharacterSet="2"\r
@@ -62,7 +62,7 @@
                        />\r
                        <Tool\r
                                Name="VCLinkerTool"\r
-                               OutputFile="Debug\testfile.exe"\r
+                               OutputFile="$(OutDir)\testfile.exe"\r
                                LinkIncremental="2"\r
                                GenerateDebugInformation="true"\r
                                ProgramDatabaseFile="$(OutDir)/testfile.pdb"\r
@@ -95,8 +95,8 @@
                </Configuration>\r
                <Configuration\r
                        Name="Release|Win32"\r
-                       OutputDirectory="Release"\r
-                       IntermediateDirectory="Release"\r
+                       OutputDirectory="$(PlatformName)\$(ConfigurationName)"\r
+                       IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"\r
                        ConfigurationType="1"\r
                        InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"\r
                        CharacterSet="2"\r
                        />\r
                        <Tool\r
                                Name="VCLinkerTool"\r
-                               OutputFile="testfile.exe"\r
+                               OutputFile="$(OutDir)\testfile.exe"\r
                                LinkIncremental="1"\r
                                GenerateDebugInformation="true"\r
                                SubSystem="1"\r
index c041ebb..49df722 100755 (executable)
@@ -17,8 +17,8 @@
        <Configurations>\r
                <Configuration\r
                        Name="Debug|Win32"\r
-                       OutputDirectory="Debug"\r
-                       IntermediateDirectory="Debug"\r
+                       OutputDirectory="$(PlatformName)\$(ConfigurationName)"\r
+                       IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"\r
                        ConfigurationType="1"\r
                        InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"\r
                        CharacterSet="2"\r
@@ -62,7 +62,7 @@
                        />\r
                        <Tool\r
                                Name="VCLinkerTool"\r
-                               OutputFile="Debug\testhttp.exe"\r
+                               OutputFile="$(OutDir)\testhttp.exe"\r
                                LinkIncremental="2"\r
                                GenerateDebugInformation="true"\r
                                ProgramDatabaseFile="$(OutDir)/testhttp.pdb"\r
@@ -95,8 +95,8 @@
                </Configuration>\r
                <Configuration\r
                        Name="Release|Win32"\r
-                       OutputDirectory="Release"\r
-                       IntermediateDirectory="Release"\r
+                       OutputDirectory="$(PlatformName)\$(ConfigurationName)"\r
+                       IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"\r
                        ConfigurationType="1"\r
                        InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"\r
                        CharacterSet="2"\r
                        />\r
                        <Tool\r
                                Name="VCLinkerTool"\r
-                               OutputFile="testhttp.exe"\r
+                               OutputFile="$(OutDir)\testhttp.exe"\r
                                LinkIncremental="1"\r
                                GenerateDebugInformation="true"\r
                                SubSystem="1"\r
index 5cc40ed..23a2067 100644 (file)
@@ -40,7 +40,6 @@
                                274FF5E913332D4300317ECB /* PBXTargetDependency */,
                                274FF648133335A300317ECB /* PBXTargetDependency */,
                                274FF65E13333A3400317ECB /* PBXTargetDependency */,
-                               274FF67213333AE400317ECB /* PBXTargetDependency */,
                                724379531333FECE009631B9 /* PBXTargetDependency */,
                                724379111333E4EA009631B9 /* PBXTargetDependency */,
                                276683FF1337F7C5000D33D0 /* PBXTargetDependency */,
 /* End PBXAggregateTarget section */
 
 /* Begin PBXBuildFile section */
-               270CCDB9135E3D0900007BE2 /* libcups_static.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 72F75A4C1336F31B004BB496 /* libcups_static.a */; };
                270CCDBA135E3D0900007BE2 /* libcupsmime.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220FAC13330B2200FCA411 /* libcupsmime.dylib */; };
                270CCDBC135E3D3E00007BE2 /* testmime.c in Sources */ = {isa = PBXBuildFile; fileRef = 270CCDBB135E3D3E00007BE2 /* testmime.c */; };
                273BF6C71333B5370022CAAB /* testcups.c in Sources */ = {isa = PBXBuildFile; fileRef = 273BF6C61333B5370022CAAB /* testcups.c */; };
-               273BF6CE1333B5950022CAAB /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 273BF6CB1333B5950022CAAB /* CoreFoundation.framework */; };
-               273BF6CF1333B5950022CAAB /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 273BF6CC1333B5950022CAAB /* libiconv.dylib */; };
-               273BF6D01333B5950022CAAB /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 273BF6CD1333B5950022CAAB /* libz.dylib */; };
-               273BF6D31333B5C30022CAAB /* Kerberos.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 273BF6D11333B5C30022CAAB /* Kerberos.framework */; };
-               273BF6D41333B5C30022CAAB /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 273BF6D21333B5C30022CAAB /* Security.framework */; };
-               273BF6D71333B5F60022CAAB /* libresolv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 273BF6D51333B5F60022CAAB /* libresolv.dylib */; };
-               273BF6D81333B5F60022CAAB /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 273BF6D61333B5F60022CAAB /* SystemConfiguration.framework */; };
                274FF5D913332CC700317ECB /* cups-driverd.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 274FF5D613332CC700317ECB /* cups-driverd.cxx */; };
                274FF5DA13332CC700317ECB /* util.c in Sources */ = {isa = PBXBuildFile; fileRef = 274FF5D713332CC700317ECB /* util.c */; };
                274FF5DD13332D0600317ECB /* libcups.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220EAE1333047D00FCA411 /* libcups.dylib */; };
                274FF64A1333398D00317ECB /* cups-exec.c in Sources */ = {isa = PBXBuildFile; fileRef = 274FF6491333398D00317ECB /* cups-exec.c */; };
                274FF658133339D300317ECB /* libcups.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220EAE1333047D00FCA411 /* libcups.dylib */; };
                274FF65C133339FC00317ECB /* cups-lpd.c in Sources */ = {isa = PBXBuildFile; fileRef = 274FF65B133339FC00317ECB /* cups-lpd.c */; };
-               274FF66E13333AB500317ECB /* libcups.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220EAE1333047D00FCA411 /* libcups.dylib */; };
-               274FF67013333ACF00317ECB /* cups-polld.c in Sources */ = {isa = PBXBuildFile; fileRef = 274FF66F13333ACF00317ECB /* cups-polld.c */; };
                274FF68513333B4300317ECB /* libcups.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220EAE1333047D00FCA411 /* libcups.dylib */; };
                274FF68613333B4300317ECB /* libcupsmime.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220FAC13330B2200FCA411 /* libcupsmime.dylib */; };
                274FF68813333B6E00317ECB /* cupsfilter.c in Sources */ = {isa = PBXBuildFile; fileRef = 274FF68713333B6E00317ECB /* cupsfilter.c */; };
                274FF6B61333B1C400317ECB /* transcode.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220F06133305BB00FCA411 /* transcode.c */; };
                274FF6B71333B1C400317ECB /* usersys.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220F08133305BB00FCA411 /* usersys.c */; };
                274FF6B81333B1C400317ECB /* util.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220F09133305BB00FCA411 /* util.c */; };
-               274FF6BA1333B1C400317ECB /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F49133306BB00FCA411 /* CoreFoundation.framework */; };
-               274FF6BB1333B1C400317ECB /* Kerberos.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F55133308EA00FCA411 /* Kerberos.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
-               274FF6BC1333B1C400317ECB /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F4B133306BB00FCA411 /* Security.framework */; };
-               274FF6BD1333B1C400317ECB /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F4C133306BB00FCA411 /* SystemConfiguration.framework */; };
-               274FF6BE1333B1C400317ECB /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F51133308C100FCA411 /* libiconv.dylib */; };
-               274FF6BF1333B1C400317ECB /* libresolv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F53133308CB00FCA411 /* libresolv.dylib */; };
-               274FF6C01333B1C400317ECB /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F4A133306BB00FCA411 /* libz.dylib */; };
                274FF6C21333B1C400317ECB /* adminutil.h in Headers */ = {isa = PBXBuildFile; fileRef = 72220EB71333056300FCA411 /* adminutil.h */; settings = {ATTRIBUTES = (); }; };
                274FF6C31333B1C400317ECB /* array.h in Headers */ = {isa = PBXBuildFile; fileRef = 72220EB91333056300FCA411 /* array.h */; settings = {ATTRIBUTES = (); }; };
                274FF6C41333B1C400317ECB /* backend.h in Headers */ = {isa = PBXBuildFile; fileRef = 72220EBE1333056300FCA411 /* backend.h */; settings = {ATTRIBUTES = (); }; };
                276683FD1337F7B8000D33D0 /* libcups.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220EAE1333047D00FCA411 /* libcups.dylib */; };
                2766840F1337FA38000D33D0 /* libcups.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220EAE1333047D00FCA411 /* libcups.dylib */; };
                276684111337FA7C000D33D0 /* cupsaddsmb.c in Sources */ = {isa = PBXBuildFile; fileRef = 276684101337FA7C000D33D0 /* cupsaddsmb.c */; };
-               278C58D9136B645C00836530 /* libcups_static.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 72F75A4C1336F31B004BB496 /* libcups_static.a */; };
-               278C58DE136B645C00836530 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 278C58DA136B645C00836530 /* CoreFoundation.framework */; };
-               278C58DF136B645C00836530 /* Kerberos.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 278C58DB136B645C00836530 /* Kerberos.framework */; };
-               278C58E1136B645C00836530 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 278C58DD136B645C00836530 /* SystemConfiguration.framework */; };
                278C58E3136B647200836530 /* testhttp.c in Sources */ = {isa = PBXBuildFile; fileRef = 278C58E2136B647200836530 /* testhttp.c */; };
-               278C58E4136B649200836530 /* libcups_static.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 72F75A4C1336F31B004BB496 /* libcups_static.a */; };
                278C58E9136B64B000836530 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 278C58E5136B64AF00836530 /* CoreFoundation.framework */; };
                278C58EA136B64B000836530 /* Kerberos.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 278C58E6136B64B000836530 /* Kerberos.framework */; };
                278C58EB136B64B000836530 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 278C58E7136B64B000836530 /* Security.framework */; };
                278C58EC136B64B000836530 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 278C58E8136B64B000836530 /* SystemConfiguration.framework */; };
-               278C58F6136B652300836530 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 278C58F4136B652300836530 /* Security.framework */; };
                720DD6CD1358FD720064AA82 /* libcups.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220EAE1333047D00FCA411 /* libcups.dylib */; };
                720DD6D31358FDDE0064AA82 /* snmp.c in Sources */ = {isa = PBXBuildFile; fileRef = 720DD6D21358FDDE0064AA82 /* snmp.c */; };
                720DD6D413590AB90064AA82 /* ieee1284.c in Sources */ = {isa = PBXBuildFile; fileRef = 724379CA1334000E009631B9 /* ieee1284.c */; };
                72220F43133305BB00FCA411 /* util.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220F09133305BB00FCA411 /* util.c */; };
                72220F44133305BB00FCA411 /* versioning.h in Headers */ = {isa = PBXBuildFile; fileRef = 72220F0A133305BB00FCA411 /* versioning.h */; settings = {ATTRIBUTES = (Public, ); }; };
                72220F481333063D00FCA411 /* config.h in Headers */ = {isa = PBXBuildFile; fileRef = 72220F471333063D00FCA411 /* config.h */; settings = {ATTRIBUTES = (Private, ); }; };
-               72220F4D133306BB00FCA411 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F49133306BB00FCA411 /* CoreFoundation.framework */; };
-               72220F4E133306BB00FCA411 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F4A133306BB00FCA411 /* libz.dylib */; };
-               72220F4F133306BB00FCA411 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F4B133306BB00FCA411 /* Security.framework */; };
-               72220F50133306BB00FCA411 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F4C133306BB00FCA411 /* SystemConfiguration.framework */; };
-               72220F52133308C100FCA411 /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F51133308C100FCA411 /* libiconv.dylib */; };
-               72220F54133308CB00FCA411 /* libresolv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F53133308CB00FCA411 /* libresolv.dylib */; };
-               72220F56133308EA00FCA411 /* Kerberos.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F55133308EA00FCA411 /* Kerberos.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
                72220F6613330A7000FCA411 /* libcups.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220EAE1333047D00FCA411 /* libcups.dylib */; };
-               72220F6813330A8500FCA411 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F6713330A8500FCA411 /* ApplicationServices.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
                72220F9013330B0C00FCA411 /* auth.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220F6913330B0C00FCA411 /* auth.c */; };
                72220F9113330B0C00FCA411 /* banners.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220F6B13330B0C00FCA411 /* banners.c */; };
                72220F9213330B0C00FCA411 /* cert.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220F6D13330B0C00FCA411 /* cert.c */; };
                724379511333FEBB009631B9 /* dnssd.c in Sources */ = {isa = PBXBuildFile; fileRef = 724379501333FEBB009631B9 /* dnssd.c */; };
                724379561333FF04009631B9 /* libcups.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220EAE1333047D00FCA411 /* libcups.dylib */; };
                724379661333FF3B009631B9 /* libcups.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220EAE1333047D00FCA411 /* libcups.dylib */; };
-               724379681333FF3B009631B9 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 724379671333FF3B009631B9 /* IOKit.framework */; };
                724379C71333FFC7009631B9 /* usb.c in Sources */ = {isa = PBXBuildFile; fileRef = 724379C51333FFC7009631B9 /* usb.c */; };
-               724379C91333FFF3009631B9 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 724379C81333FFF3009631B9 /* CoreFoundation.framework */; };
                724379CB1334000E009631B9 /* ieee1284.c in Sources */ = {isa = PBXBuildFile; fileRef = 724379CA1334000E009631B9 /* ieee1284.c */; };
                7258EAED134594EB009286F1 /* rastertopwg.c in Sources */ = {isa = PBXBuildFile; fileRef = 7258EAEC134594EB009286F1 /* rastertopwg.c */; };
                7258EAF413459B6D009286F1 /* libcups.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220EAE1333047D00FCA411 /* libcups.dylib */; };
                7258EAF513459B6D009286F1 /* libcupsimage.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72F75A611336F9A3004BB496 /* libcupsimage.dylib */; };
-               7263EE2713330D2800BA4D44 /* libpam.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 7263EE2613330D2800BA4D44 /* libpam.dylib */; };
-               7263EE2C13330D5C00BA4D44 /* Kerberos.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7263EE2913330D5C00BA4D44 /* Kerberos.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
-               7263EE2D13330D5C00BA4D44 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7263EE2A13330D5C00BA4D44 /* Security.framework */; };
-               7263EE2E13330D5C00BA4D44 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7263EE2B13330D5C00BA4D44 /* SystemConfiguration.framework */; };
-               7263EE3013330DC100BA4D44 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7263EE2F13330DC100BA4D44 /* IOKit.framework */; };
-               7263EE3213330E1E00BA4D44 /* libpthread.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 7263EE3113330E1E00BA4D44 /* libpthread.dylib */; };
-               7263EE3413330E3C00BA4D44 /* libresolv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 7263EE3313330E3C00BA4D44 /* libresolv.dylib */; };
-               7263EE3613330E4E00BA4D44 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7263EE3513330E4E00BA4D44 /* CoreFoundation.framework */; };
-               7263EE3813330E7500BA4D44 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 7263EE3713330E7500BA4D44 /* libz.dylib */; };
-               7263EE3A13330EC500BA4D44 /* libldap.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 7263EE3913330EC500BA4D44 /* libldap.dylib */; };
                726AD702135E8A90002C930D /* ippserver.c in Sources */ = {isa = PBXBuildFile; fileRef = 726AD701135E8A90002C930D /* ippserver.c */; };
-               726AD707135E8B11002C930D /* libcups_static.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 72F75A4C1336F31B004BB496 /* libcups_static.a */; };
-               726AD708135E8B11002C930D /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F49133306BB00FCA411 /* CoreFoundation.framework */; };
-               726AD709135E8B11002C930D /* Kerberos.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F55133308EA00FCA411 /* Kerberos.framework */; };
-               726AD70A135E8B11002C930D /* libresolv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F53133308CB00FCA411 /* libresolv.dylib */; };
-               726AD70B135E8B11002C930D /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F4A133306BB00FCA411 /* libz.dylib */; };
-               726AD70C135E8B11002C930D /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F4B133306BB00FCA411 /* Security.framework */; };
-               726AD70D135E8B11002C930D /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F4C133306BB00FCA411 /* SystemConfiguration.framework */; };
-               726AD70E135E8B5E002C930D /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F51133308C100FCA411 /* libiconv.dylib */; };
                7271883D1374AB14001A2036 /* mime-private.h in Headers */ = {isa = PBXBuildFile; fileRef = 7271883C1374AB14001A2036 /* mime-private.h */; };
+               728FB7E8153600FA005426E1 /* tls.c in Sources */ = {isa = PBXBuildFile; fileRef = 728FB7E3153600FA005426E1 /* tls.c */; };
+               728FB7E91536161C005426E1 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 278C58E5136B64AF00836530 /* CoreFoundation.framework */; };
+               728FB7EA1536161C005426E1 /* Kerberos.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 278C58E6136B64B000836530 /* Kerberos.framework */; };
+               728FB7EB1536161C005426E1 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 278C58E7136B64B000836530 /* Security.framework */; };
+               728FB7ED1536161C005426E1 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 728FB7EC1536161C005426E1 /* libz.dylib */; };
+               728FB7EE15361642005426E1 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 278C58E8136B64B000836530 /* SystemConfiguration.framework */; };
+               728FB7F11536167A005426E1 /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 728FB7EF1536167A005426E1 /* libiconv.dylib */; };
+               728FB7F21536167A005426E1 /* libresolv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 728FB7F01536167A005426E1 /* libresolv.dylib */; };
                72C16CB9137B195D007E4BF4 /* file.c in Sources */ = {isa = PBXBuildFile; fileRef = 72C16CB8137B195D007E4BF4 /* file.c */; };
+               72D53A2A15B49110003F877F /* GSS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 72D53A2915B49110003F877F /* GSS.framework */; };
+               72D53A2D15B4913D003F877F /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 72D53A2C15B4913D003F877F /* IOKit.framework */; };
+               72D53A2E15B4915B003F877F /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 278C58E8136B64B000836530 /* SystemConfiguration.framework */; };
+               72D53A2F15B49174003F877F /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 278C58E5136B64AF00836530 /* CoreFoundation.framework */; };
+               72D53A3015B4923F003F877F /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 278C58E5136B64AF00836530 /* CoreFoundation.framework */; };
+               72D53A3115B4923F003F877F /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 278C58E7136B64B000836530 /* Security.framework */; };
+               72D53A3215B4923F003F877F /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 278C58E8136B64B000836530 /* SystemConfiguration.framework */; };
+               72D53A3415B4925B003F877F /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 72D53A3315B4925B003F877F /* ApplicationServices.framework */; };
+               72D53A3515B49270003F877F /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 72D53A2C15B4913D003F877F /* IOKit.framework */; };
+               72D53A3815B4929D003F877F /* colorman.c in Sources */ = {isa = PBXBuildFile; fileRef = 72D53A3615B4929D003F877F /* colorman.c */; };
+               72D53A3A15B492FA003F877F /* libpam.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72D53A3915B492FA003F877F /* libpam.dylib */; };
+               72D53A3B15B4930A003F877F /* GSS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 72D53A2915B49110003F877F /* GSS.framework */; };
+               72D53A3C15B4930A003F877F /* Kerberos.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 278C58E6136B64B000836530 /* Kerberos.framework */; };
                72F75A5C1336F988004BB496 /* cupstestppd.c in Sources */ = {isa = PBXBuildFile; fileRef = 72F75A5B1336F988004BB496 /* cupstestppd.c */; };
                72F75A671336FA38004BB496 /* libcups.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220EAE1333047D00FCA411 /* libcups.dylib */; };
                72F75A6C1336FA8A004BB496 /* error.c in Sources */ = {isa = PBXBuildFile; fileRef = 72F75A691336FA8A004BB496 /* error.c */; };
                        remoteGlobalIDString = 274FF64E133339C400317ECB;
                        remoteInfo = "cups-lpd";
                };
-               274FF66C13333AAD00317ECB /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 72BF96371333042100B1EAD7 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = 72220EAD1333047D00FCA411;
-                       remoteInfo = libcups;
-               };
-               274FF67113333AE400317ECB /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 72BF96371333042100B1EAD7 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = 274FF66213333A9B00317ECB;
-                       remoteInfo = "cups-polld";
-               };
                274FF68113333B3C00317ECB /* PBXContainerItemProxy */ = {
                        isa = PBXContainerItemProxy;
                        containerPortal = 72BF96371333042100B1EAD7 /* Project object */;
                        );
                        runOnlyForDeploymentPostprocessing = 1;
                };
-               274FF66113333A9B00317ECB /* CopyFiles */ = {
-                       isa = PBXCopyFilesBuildPhase;
-                       buildActionMask = 2147483647;
-                       dstPath = /usr/share/man/man1/;
-                       dstSubfolderSpec = 0;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 1;
-               };
                274FF67613333B2F00317ECB /* CopyFiles */ = {
                        isa = PBXCopyFilesBuildPhase;
                        buildActionMask = 2147483647;
                2732E092137A3F5200FAFEF6 /* lpstat.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lpstat.c; path = ../systemv/lpstat.c; sourceTree = "<group>"; };
                273BF6BD1333B5000022CAAB /* testcups */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = testcups; sourceTree = BUILT_PRODUCTS_DIR; };
                273BF6C61333B5370022CAAB /* testcups.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = testcups.c; path = ../cups/testcups.c; sourceTree = "<group>"; };
-               273BF6CB1333B5950022CAAB /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreFoundation.framework; sourceTree = DEVELOPER_DIR; };
-               273BF6CC1333B5950022CAAB /* libiconv.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libiconv.dylib; path = SDKs/MacOSX10.6.sdk/usr/lib/libiconv.dylib; sourceTree = DEVELOPER_DIR; };
-               273BF6CD1333B5950022CAAB /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = SDKs/MacOSX10.6.sdk/usr/lib/libz.dylib; sourceTree = DEVELOPER_DIR; };
-               273BF6D11333B5C30022CAAB /* Kerberos.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Kerberos.framework; path = SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Kerberos.framework; sourceTree = DEVELOPER_DIR; };
-               273BF6D21333B5C30022CAAB /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Security.framework; sourceTree = DEVELOPER_DIR; };
-               273BF6D51333B5F60022CAAB /* libresolv.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libresolv.dylib; path = SDKs/MacOSX10.6.sdk/usr/lib/libresolv.dylib; sourceTree = DEVELOPER_DIR; };
-               273BF6D61333B5F60022CAAB /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = SDKs/MacOSX10.6.sdk/System/Library/Frameworks/SystemConfiguration.framework; sourceTree = DEVELOPER_DIR; };
                274FF5CC13332B1F00317ECB /* cups-driverd */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "cups-driverd"; sourceTree = BUILT_PRODUCTS_DIR; };
                274FF5D613332CC700317ECB /* cups-driverd.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "cups-driverd.cxx"; path = "../scheduler/cups-driverd.cxx"; sourceTree = "<group>"; };
                274FF5D713332CC700317ECB /* util.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = util.c; path = ../scheduler/util.c; sourceTree = "<group>"; };
                274FF6491333398D00317ECB /* cups-exec.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "cups-exec.c"; path = "../scheduler/cups-exec.c"; sourceTree = "<group>"; };
                274FF64F133339C400317ECB /* cups-lpd */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "cups-lpd"; sourceTree = BUILT_PRODUCTS_DIR; };
                274FF65B133339FC00317ECB /* cups-lpd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "cups-lpd.c"; path = "../scheduler/cups-lpd.c"; sourceTree = "<group>"; };
-               274FF66313333A9B00317ECB /* cups-polld */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "cups-polld"; sourceTree = BUILT_PRODUCTS_DIR; };
-               274FF66F13333ACF00317ECB /* cups-polld.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "cups-polld.c"; path = "../scheduler/cups-polld.c"; sourceTree = "<group>"; };
                274FF67813333B2F00317ECB /* cupsfilter */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = cupsfilter; sourceTree = BUILT_PRODUCTS_DIR; };
                274FF68713333B6E00317ECB /* cupsfilter.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = cupsfilter.c; path = ../scheduler/cupsfilter.c; sourceTree = "<group>"; };
                276683561337A8C5000D33D0 /* cups.strings */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = cups.strings; path = ../locale/cups.strings; sourceTree = "<group>"; };
                276684041337FA1D000D33D0 /* cupsaddsmb */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = cupsaddsmb; sourceTree = BUILT_PRODUCTS_DIR; };
                276684101337FA7C000D33D0 /* cupsaddsmb.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = cupsaddsmb.c; path = ../systemv/cupsaddsmb.c; sourceTree = "<group>"; };
                278C58CB136B640300836530 /* testhttp */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = testhttp; sourceTree = BUILT_PRODUCTS_DIR; };
-               278C58DA136B645C00836530 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreFoundation.framework; sourceTree = DEVELOPER_DIR; };
-               278C58DB136B645C00836530 /* Kerberos.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Kerberos.framework; path = SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Kerberos.framework; sourceTree = DEVELOPER_DIR; };
-               278C58DD136B645C00836530 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = SDKs/MacOSX10.6.sdk/System/Library/Frameworks/SystemConfiguration.framework; sourceTree = DEVELOPER_DIR; };
                278C58E2136B647200836530 /* testhttp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = testhttp.c; path = ../cups/testhttp.c; sourceTree = "<group>"; };
                278C58E5136B64AF00836530 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = "<absolute>"; };
                278C58E6136B64B000836530 /* Kerberos.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Kerberos.framework; path = /System/Library/Frameworks/Kerberos.framework; sourceTree = "<absolute>"; };
                278C58E7136B64B000836530 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = /System/Library/Frameworks/Security.framework; sourceTree = "<absolute>"; };
                278C58E8136B64B000836530 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = /System/Library/Frameworks/SystemConfiguration.framework; sourceTree = "<absolute>"; };
-               278C58F4136B652300836530 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Security.framework; sourceTree = DEVELOPER_DIR; };
                27D3037C134148CB00F022B1 /* libcups_s.exp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.exports; name = libcups_s.exp; path = ../cups/libcups_s.exp; sourceTree = "<group>"; };
                27D3037D134148CB00F022B1 /* libcups2.def */ = {isa = PBXFileReference; lastKnownFileType = text; name = libcups2.def; path = ../cups/libcups2.def; sourceTree = "<group>"; };
                720DD6C21358FD5F0064AA82 /* snmp */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = snmp; sourceTree = BUILT_PRODUCTS_DIR; };
                72220F09133305BB00FCA411 /* util.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = util.c; path = ../cups/util.c; sourceTree = "<group>"; };
                72220F0A133305BB00FCA411 /* versioning.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = versioning.h; path = ../cups/versioning.h; sourceTree = "<group>"; };
                72220F471333063D00FCA411 /* config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = "<group>"; };
-               72220F49133306BB00FCA411 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreFoundation.framework; sourceTree = DEVELOPER_DIR; };
-               72220F4A133306BB00FCA411 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = SDKs/MacOSX10.6.sdk/usr/lib/libz.dylib; sourceTree = DEVELOPER_DIR; };
-               72220F4B133306BB00FCA411 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Security.framework; sourceTree = DEVELOPER_DIR; };
-               72220F4C133306BB00FCA411 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = SDKs/MacOSX10.6.sdk/System/Library/Frameworks/SystemConfiguration.framework; sourceTree = DEVELOPER_DIR; };
-               72220F51133308C100FCA411 /* libiconv.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libiconv.dylib; path = SDKs/MacOSX10.6.sdk/usr/lib/libiconv.dylib; sourceTree = DEVELOPER_DIR; };
-               72220F53133308CB00FCA411 /* libresolv.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libresolv.dylib; path = SDKs/MacOSX10.6.sdk/usr/lib/libresolv.dylib; sourceTree = DEVELOPER_DIR; };
-               72220F55133308EA00FCA411 /* Kerberos.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Kerberos.framework; path = SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Kerberos.framework; sourceTree = DEVELOPER_DIR; };
                72220F5B13330A5A00FCA411 /* cupsd */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = cupsd; sourceTree = BUILT_PRODUCTS_DIR; };
-               72220F6713330A8500FCA411 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = SDKs/MacOSX10.6.sdk/System/Library/Frameworks/ApplicationServices.framework; sourceTree = DEVELOPER_DIR; };
                72220F6913330B0C00FCA411 /* auth.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = auth.c; path = ../scheduler/auth.c; sourceTree = SOURCE_ROOT; };
                72220F6A13330B0C00FCA411 /* auth.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = auth.h; path = ../scheduler/auth.h; sourceTree = SOURCE_ROOT; };
                72220F6B13330B0C00FCA411 /* banners.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = banners.c; path = ../scheduler/banners.c; sourceTree = SOURCE_ROOT; };
                724379471333FEA9009631B9 /* dnssd */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = dnssd; sourceTree = BUILT_PRODUCTS_DIR; };
                724379501333FEBB009631B9 /* dnssd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = dnssd.c; path = ../backend/dnssd.c; sourceTree = "<group>"; };
                7243795B1333FF1D009631B9 /* usb */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = usb; sourceTree = BUILT_PRODUCTS_DIR; };
-               724379671333FF3B009631B9 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = SDKs/MacOSX10.7.sdk/System/Library/Frameworks/IOKit.framework; sourceTree = DEVELOPER_DIR; };
                724379C41333FFC7009631B9 /* usb-darwin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "usb-darwin.c"; path = "../backend/usb-darwin.c"; sourceTree = "<group>"; };
                724379C51333FFC7009631B9 /* usb.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = usb.c; path = ../backend/usb.c; sourceTree = "<group>"; };
-               724379C81333FFF3009631B9 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = SDKs/MacOSX10.7.sdk/System/Library/Frameworks/CoreFoundation.framework; sourceTree = DEVELOPER_DIR; };
                724379CA1334000E009631B9 /* ieee1284.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ieee1284.c; path = ../backend/ieee1284.c; sourceTree = "<group>"; };
                7258EAE2134594C4009286F1 /* rastertopwg */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = rastertopwg; sourceTree = BUILT_PRODUCTS_DIR; };
                7258EAEC134594EB009286F1 /* rastertopwg.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = rastertopwg.c; path = ../filter/rastertopwg.c; sourceTree = "<group>"; };
-               7263EE2613330D2800BA4D44 /* libpam.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libpam.dylib; path = SDKs/MacOSX10.6.sdk/usr/lib/libpam.dylib; sourceTree = DEVELOPER_DIR; };
-               7263EE2913330D5C00BA4D44 /* Kerberos.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Kerberos.framework; path = SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Kerberos.framework; sourceTree = DEVELOPER_DIR; };
-               7263EE2A13330D5C00BA4D44 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Security.framework; sourceTree = DEVELOPER_DIR; };
-               7263EE2B13330D5C00BA4D44 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = SDKs/MacOSX10.6.sdk/System/Library/Frameworks/SystemConfiguration.framework; sourceTree = DEVELOPER_DIR; };
-               7263EE2F13330DC100BA4D44 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = SDKs/MacOSX10.6.sdk/System/Library/Frameworks/IOKit.framework; sourceTree = DEVELOPER_DIR; };
-               7263EE3113330E1E00BA4D44 /* libpthread.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libpthread.dylib; path = SDKs/MacOSX10.6.sdk/usr/lib/libpthread.dylib; sourceTree = DEVELOPER_DIR; };
-               7263EE3313330E3C00BA4D44 /* libresolv.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libresolv.dylib; path = SDKs/MacOSX10.6.sdk/usr/lib/libresolv.dylib; sourceTree = DEVELOPER_DIR; };
-               7263EE3513330E4E00BA4D44 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreFoundation.framework; sourceTree = DEVELOPER_DIR; };
-               7263EE3713330E7500BA4D44 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = SDKs/MacOSX10.6.sdk/usr/lib/libz.dylib; sourceTree = DEVELOPER_DIR; };
-               7263EE3913330EC500BA4D44 /* libldap.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libldap.dylib; path = SDKs/MacOSX10.6.sdk/usr/lib/libldap.dylib; sourceTree = DEVELOPER_DIR; };
                726AD6F7135E88F0002C930D /* ippserver */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = ippserver; sourceTree = BUILT_PRODUCTS_DIR; };
                726AD701135E8A90002C930D /* ippserver.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ippserver.c; path = ../test/ippserver.c; sourceTree = "<group>"; };
-               7271881613746EA8001A2036 /* bannertops.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bannertops.c; path = ../filter/bannertops.c; sourceTree = "<group>"; };
                7271881713746EA8001A2036 /* commandtops.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = commandtops.c; path = ../filter/commandtops.c; sourceTree = "<group>"; };
                7271881813746EA8001A2036 /* common.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = common.c; path = ../filter/common.c; sourceTree = "<group>"; };
                7271881913746EA8001A2036 /* common.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = common.h; path = ../filter/common.h; sourceTree = "<group>"; };
                7271881A13746EA8001A2036 /* gziptoany.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = gziptoany.c; path = ../filter/gziptoany.c; sourceTree = "<group>"; };
-               7271881B13746EA8001A2036 /* imagetops.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = imagetops.c; path = ../filter/imagetops.c; sourceTree = "<group>"; };
-               7271881C13746EA8001A2036 /* imagetoraster.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = imagetoraster.c; path = ../filter/imagetoraster.c; sourceTree = "<group>"; };
-               7271881D13746EA8001A2036 /* pdftops.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pdftops.c; path = ../filter/pdftops.c; sourceTree = "<group>"; };
-               7271881E13746EA8001A2036 /* pstext.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pstext.c; path = ../filter/pstext.c; sourceTree = "<group>"; };
-               7271881F13746EA8001A2036 /* pstext.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pstext.h; path = ../filter/pstext.h; sourceTree = "<group>"; };
                7271882013746EA8001A2036 /* pstops.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pstops.c; path = ../filter/pstops.c; sourceTree = "<group>"; };
                7271882113746EA8001A2036 /* rastertoepson.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = rastertoepson.c; path = ../filter/rastertoepson.c; sourceTree = "<group>"; };
                7271882213746EA8001A2036 /* rastertohp.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = rastertohp.c; path = ../filter/rastertohp.c; sourceTree = "<group>"; };
                7271882313746EA8001A2036 /* rastertolabel.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = rastertolabel.c; path = ../filter/rastertolabel.c; sourceTree = "<group>"; };
-               7271882413746EA8001A2036 /* textcommon.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = textcommon.c; path = ../filter/textcommon.c; sourceTree = "<group>"; };
-               7271882513746EA8001A2036 /* textcommon.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = textcommon.h; path = ../filter/textcommon.h; sourceTree = "<group>"; };
-               7271882613746EA8001A2036 /* texttops.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = texttops.c; path = ../filter/texttops.c; sourceTree = "<group>"; };
-               7271882B137498E4001A2036 /* image-bmp.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "image-bmp.c"; path = "../filter/image-bmp.c"; sourceTree = "<group>"; };
-               7271882C137498E4001A2036 /* image-colorspace.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "image-colorspace.c"; path = "../filter/image-colorspace.c"; sourceTree = "<group>"; };
-               7271882D137498E4001A2036 /* image-gif.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "image-gif.c"; path = "../filter/image-gif.c"; sourceTree = "<group>"; };
-               7271882E137498E4001A2036 /* image-jpeg.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "image-jpeg.c"; path = "../filter/image-jpeg.c"; sourceTree = "<group>"; };
-               7271882F137498E4001A2036 /* image-photocd.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "image-photocd.c"; path = "../filter/image-photocd.c"; sourceTree = "<group>"; };
-               72718830137498E4001A2036 /* image-pix.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "image-pix.c"; path = "../filter/image-pix.c"; sourceTree = "<group>"; };
-               72718831137498E4001A2036 /* image-png.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "image-png.c"; path = "../filter/image-png.c"; sourceTree = "<group>"; };
-               72718832137498E4001A2036 /* image-pnm.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "image-pnm.c"; path = "../filter/image-pnm.c"; sourceTree = "<group>"; };
-               72718833137498E4001A2036 /* image-private.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "image-private.h"; path = "../filter/image-private.h"; sourceTree = "<group>"; };
-               72718834137498E4001A2036 /* image-sgi.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "image-sgi.c"; path = "../filter/image-sgi.c"; sourceTree = "<group>"; };
-               72718835137498E4001A2036 /* image-sgi.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "image-sgi.h"; path = "../filter/image-sgi.h"; sourceTree = "<group>"; };
-               72718836137498E4001A2036 /* image-sgilib.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "image-sgilib.c"; path = "../filter/image-sgilib.c"; sourceTree = "<group>"; };
-               72718837137498E4001A2036 /* image-sun.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "image-sun.c"; path = "../filter/image-sun.c"; sourceTree = "<group>"; };
-               72718838137498E4001A2036 /* image-tiff.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "image-tiff.c"; path = "../filter/image-tiff.c"; sourceTree = "<group>"; };
-               72718839137498E4001A2036 /* image-zoom.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "image-zoom.c"; path = "../filter/image-zoom.c"; sourceTree = "<group>"; };
-               7271883A137498E4001A2036 /* image.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = image.c; path = ../filter/image.c; sourceTree = "<group>"; };
-               7271883B137498E4001A2036 /* image.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = image.h; path = ../filter/image.h; sourceTree = "<group>"; };
                7271883C1374AB14001A2036 /* mime-private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "mime-private.h"; path = "../scheduler/mime-private.h"; sourceTree = "<group>"; };
+               728FB7E0153600FA005426E1 /* tls-darwin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "tls-darwin.c"; path = "../scheduler/tls-darwin.c"; sourceTree = "<group>"; };
+               728FB7E1153600FA005426E1 /* tls-gnutls.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "tls-gnutls.c"; path = "../scheduler/tls-gnutls.c"; sourceTree = "<group>"; };
+               728FB7E2153600FA005426E1 /* tls-openssl.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "tls-openssl.c"; path = "../scheduler/tls-openssl.c"; sourceTree = "<group>"; };
+               728FB7E3153600FA005426E1 /* tls.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = tls.c; path = ../scheduler/tls.c; sourceTree = "<group>"; };
+               728FB7EC1536161C005426E1 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = ../../../../../usr/lib/libz.dylib; sourceTree = "<group>"; };
+               728FB7EF1536167A005426E1 /* libiconv.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libiconv.dylib; path = ../../../../../usr/lib/libiconv.dylib; sourceTree = "<group>"; };
+               728FB7F01536167A005426E1 /* libresolv.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libresolv.dylib; path = ../../../../../usr/lib/libresolv.dylib; sourceTree = "<group>"; };
+               72A4332F155844CF002E172D /* libcups_static.a */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libcups_static.a; sourceTree = BUILT_PRODUCTS_DIR; };
                72C16CB8137B195D007E4BF4 /* file.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = file.c; path = ../scheduler/file.c; sourceTree = SOURCE_ROOT; };
-               72F75A4C1336F31B004BB496 /* libcups_static.a */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libcups_static.a; sourceTree = BUILT_PRODUCTS_DIR; };
+               72D53A2915B49110003F877F /* GSS.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GSS.framework; path = ../../../../../System/Library/Frameworks/GSS.framework; sourceTree = "<group>"; };
+               72D53A2C15B4913D003F877F /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = ../../../../../System/Library/Frameworks/IOKit.framework; sourceTree = "<group>"; };
+               72D53A3315B4925B003F877F /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = ../../../../../System/Library/Frameworks/ApplicationServices.framework; sourceTree = "<group>"; };
+               72D53A3615B4929D003F877F /* colorman.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = colorman.c; path = ../scheduler/colorman.c; sourceTree = "<group>"; };
+               72D53A3715B4929D003F877F /* colorman.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = colorman.h; path = ../scheduler/colorman.h; sourceTree = "<group>"; };
+               72D53A3915B492FA003F877F /* libpam.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libpam.dylib; path = ../../../../../usr/lib/libpam.dylib; sourceTree = "<group>"; };
                72F75A521336F950004BB496 /* cupstestppd */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = cupstestppd; sourceTree = BUILT_PRODUCTS_DIR; };
                72F75A5B1336F988004BB496 /* cupstestppd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = cupstestppd.c; path = ../systemv/cupstestppd.c; sourceTree = "<group>"; };
                72F75A611336F9A3004BB496 /* libcupsimage.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libcupsimage.dylib; sourceTree = BUILT_PRODUCTS_DIR; };
                                278C58EA136B64B000836530 /* Kerberos.framework in Frameworks */,
                                278C58EB136B64B000836530 /* Security.framework in Frameworks */,
                                278C58EC136B64B000836530 /* SystemConfiguration.framework in Frameworks */,
-                               270CCDB9135E3D0900007BE2 /* libcups_static.a in Frameworks */,
                                270CCDBA135E3D0900007BE2 /* libcupsmime.dylib in Frameworks */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                        isa = PBXFrameworksBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
-                               278C58E4136B649200836530 /* libcups_static.a in Frameworks */,
-                               273BF6CE1333B5950022CAAB /* CoreFoundation.framework in Frameworks */,
-                               273BF6D31333B5C30022CAAB /* Kerberos.framework in Frameworks */,
-                               273BF6D41333B5C30022CAAB /* Security.framework in Frameworks */,
-                               273BF6D81333B5F60022CAAB /* SystemConfiguration.framework in Frameworks */,
-                               273BF6CF1333B5950022CAAB /* libiconv.dylib in Frameworks */,
-                               273BF6D71333B5F60022CAAB /* libresolv.dylib in Frameworks */,
-                               273BF6D01333B5950022CAAB /* libz.dylib in Frameworks */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
-               274FF66013333A9B00317ECB /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               274FF66E13333AB500317ECB /* libcups.dylib in Frameworks */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
                274FF67513333B2F00317ECB /* Frameworks */ = {
                        isa = PBXFrameworksBuildPhase;
                        buildActionMask = 2147483647;
                        isa = PBXFrameworksBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
-                               274FF6BA1333B1C400317ECB /* CoreFoundation.framework in Frameworks */,
-                               274FF6BB1333B1C400317ECB /* Kerberos.framework in Frameworks */,
-                               274FF6BC1333B1C400317ECB /* Security.framework in Frameworks */,
-                               274FF6BD1333B1C400317ECB /* SystemConfiguration.framework in Frameworks */,
-                               274FF6BE1333B1C400317ECB /* libiconv.dylib in Frameworks */,
-                               274FF6BF1333B1C400317ECB /* libresolv.dylib in Frameworks */,
-                               274FF6C01333B1C400317ECB /* libz.dylib in Frameworks */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                        isa = PBXFrameworksBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
-                               278C58DE136B645C00836530 /* CoreFoundation.framework in Frameworks */,
-                               278C58DF136B645C00836530 /* Kerberos.framework in Frameworks */,
-                               278C58F6136B652300836530 /* Security.framework in Frameworks */,
-                               278C58E1136B645C00836530 /* SystemConfiguration.framework in Frameworks */,
-                               278C58D9136B645C00836530 /* libcups_static.a in Frameworks */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                        isa = PBXFrameworksBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
-                               72220F4D133306BB00FCA411 /* CoreFoundation.framework in Frameworks */,
-                               72220F56133308EA00FCA411 /* Kerberos.framework in Frameworks */,
-                               72220F4F133306BB00FCA411 /* Security.framework in Frameworks */,
-                               72220F50133306BB00FCA411 /* SystemConfiguration.framework in Frameworks */,
-                               72220F52133308C100FCA411 /* libiconv.dylib in Frameworks */,
-                               72220F54133308CB00FCA411 /* libresolv.dylib in Frameworks */,
-                               72220F4E133306BB00FCA411 /* libz.dylib in Frameworks */,
+                               728FB7F11536167A005426E1 /* libiconv.dylib in Frameworks */,
+                               728FB7F21536167A005426E1 /* libresolv.dylib in Frameworks */,
+                               728FB7ED1536161C005426E1 /* libz.dylib in Frameworks */,
+                               728FB7E91536161C005426E1 /* CoreFoundation.framework in Frameworks */,
+                               72D53A2A15B49110003F877F /* GSS.framework in Frameworks */,
+                               728FB7EA1536161C005426E1 /* Kerberos.framework in Frameworks */,
+                               728FB7EB1536161C005426E1 /* Security.framework in Frameworks */,
+                               728FB7EE15361642005426E1 /* SystemConfiguration.framework in Frameworks */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                        isa = PBXFrameworksBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
-                               72220F6813330A8500FCA411 /* ApplicationServices.framework in Frameworks */,
-                               7263EE3613330E4E00BA4D44 /* CoreFoundation.framework in Frameworks */,
-                               7263EE3013330DC100BA4D44 /* IOKit.framework in Frameworks */,
-                               7263EE2C13330D5C00BA4D44 /* Kerberos.framework in Frameworks */,
-                               7263EE2D13330D5C00BA4D44 /* Security.framework in Frameworks */,
-                               7263EE2E13330D5C00BA4D44 /* SystemConfiguration.framework in Frameworks */,
+                               72D53A3A15B492FA003F877F /* libpam.dylib in Frameworks */,
                                72220F6613330A7000FCA411 /* libcups.dylib in Frameworks */,
                                72220FBF13330C1000FCA411 /* libcupsmime.dylib in Frameworks */,
-                               7263EE3A13330EC500BA4D44 /* libldap.dylib in Frameworks */,
-                               7263EE2713330D2800BA4D44 /* libpam.dylib in Frameworks */,
-                               7263EE3213330E1E00BA4D44 /* libpthread.dylib in Frameworks */,
-                               7263EE3413330E3C00BA4D44 /* libresolv.dylib in Frameworks */,
-                               7263EE3813330E7500BA4D44 /* libz.dylib in Frameworks */,
+                               72D53A3415B4925B003F877F /* ApplicationServices.framework in Frameworks */,
+                               72D53A3015B4923F003F877F /* CoreFoundation.framework in Frameworks */,
+                               72D53A3B15B4930A003F877F /* GSS.framework in Frameworks */,
+                               72D53A3515B49270003F877F /* IOKit.framework in Frameworks */,
+                               72D53A3C15B4930A003F877F /* Kerberos.framework in Frameworks */,
+                               72D53A3115B4923F003F877F /* Security.framework in Frameworks */,
+                               72D53A3215B4923F003F877F /* SystemConfiguration.framework in Frameworks */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                        isa = PBXFrameworksBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
-                               724379C91333FFF3009631B9 /* CoreFoundation.framework in Frameworks */,
-                               724379681333FF3B009631B9 /* IOKit.framework in Frameworks */,
                                724379661333FF3B009631B9 /* libcups.dylib in Frameworks */,
+                               72D53A2F15B49174003F877F /* CoreFoundation.framework in Frameworks */,
+                               72D53A2D15B4913D003F877F /* IOKit.framework in Frameworks */,
+                               72D53A2E15B4915B003F877F /* SystemConfiguration.framework in Frameworks */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                        isa = PBXFrameworksBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
-                               726AD70E135E8B5E002C930D /* libiconv.dylib in Frameworks */,
-                               726AD707135E8B11002C930D /* libcups_static.a in Frameworks */,
-                               726AD708135E8B11002C930D /* CoreFoundation.framework in Frameworks */,
-                               726AD709135E8B11002C930D /* Kerberos.framework in Frameworks */,
-                               726AD70A135E8B11002C930D /* libresolv.dylib in Frameworks */,
-                               726AD70B135E8B11002C930D /* libz.dylib in Frameworks */,
-                               726AD70C135E8B11002C930D /* Security.framework in Frameworks */,
-                               726AD70D135E8B11002C930D /* SystemConfiguration.framework in Frameworks */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                274FF5D513332C2C00317ECB /* daemon */ = {
                        isa = PBXGroup;
                        children = (
-                               274FF66F13333ACF00317ECB /* cups-polld.c */,
                                274FF6351333344400317ECB /* cups-deviced.c */,
                                274FF5D613332CC700317ECB /* cups-driverd.cxx */,
                                274FF6491333398D00317ECB /* cups-exec.c */,
                                274FF6291333333600317ECB /* cups-deviced */,
                                274FF63E1333358B00317ECB /* cups-exec */,
                                274FF64F133339C400317ECB /* cups-lpd */,
-                               274FF66313333A9B00317ECB /* cups-polld */,
                                274FF67813333B2F00317ECB /* cupsfilter */,
                                273BF6BD1333B5000022CAAB /* testcups */,
                                724378FD1333E43E009631B9 /* ipp */,
                                270CCDA7135E3C9E00007BE2 /* testmime */,
                                726AD6F7135E88F0002C930D /* ippserver */,
                                278C58CB136B640300836530 /* testhttp */,
+                               72A4332F155844CF002E172D /* libcups_static.a */,
                        );
                        name = Products;
                        sourceTree = "<group>";
                72220F5D13330A5A00FCA411 /* cupsd */ = {
                        isa = PBXGroup;
                        children = (
+                               72D53A3615B4929D003F877F /* colorman.c */,
+                               72D53A3715B4929D003F877F /* colorman.h */,
                                72220F6913330B0C00FCA411 /* auth.c */,
                                72220F6A13330B0C00FCA411 /* auth.h */,
                                72220F6B13330B0C00FCA411 /* banners.c */,
                                72220F8D13330B0C00FCA411 /* subscriptions.h */,
                                72220F8E13330B0C00FCA411 /* sysman.c */,
                                72220F8F13330B0C00FCA411 /* sysman.h */,
+                               728FB7E3153600FA005426E1 /* tls.c */,
+                               728FB7E0153600FA005426E1 /* tls-darwin.c */,
+                               728FB7E1153600FA005426E1 /* tls-gnutls.c */,
+                               728FB7E2153600FA005426E1 /* tls-openssl.c */,
                        );
                        name = cupsd;
                        path = .;
                72220FB113330B4A00FCA411 /* Frameworks */ = {
                        isa = PBXGroup;
                        children = (
-                               278C58F4136B652300836530 /* Security.framework */,
                                278C58E5136B64AF00836530 /* CoreFoundation.framework */,
                                278C58E6136B64B000836530 /* Kerberos.framework */,
                                278C58E7136B64B000836530 /* Security.framework */,
                                278C58E8136B64B000836530 /* SystemConfiguration.framework */,
-                               278C58DA136B645C00836530 /* CoreFoundation.framework */,
-                               278C58DB136B645C00836530 /* Kerberos.framework */,
-                               278C58DD136B645C00836530 /* SystemConfiguration.framework */,
-                               72220FAC13330B2200FCA411 /* libcupsmime.dylib */,
                                72220EAE1333047D00FCA411 /* libcups.dylib */,
                                72F75A611336F9A3004BB496 /* libcupsimage.dylib */,
+                               72220FAC13330B2200FCA411 /* libcupsmime.dylib */,
                                274FF5EE133330C800317ECB /* libcupsppdc.dylib */,
-                               724379C81333FFF3009631B9 /* CoreFoundation.framework */,
-                               724379671333FF3B009631B9 /* IOKit.framework */,
-                               273BF6D51333B5F60022CAAB /* libresolv.dylib */,
-                               273BF6D61333B5F60022CAAB /* SystemConfiguration.framework */,
-                               273BF6D11333B5C30022CAAB /* Kerberos.framework */,
-                               273BF6D21333B5C30022CAAB /* Security.framework */,
-                               273BF6CB1333B5950022CAAB /* CoreFoundation.framework */,
-                               273BF6CC1333B5950022CAAB /* libiconv.dylib */,
-                               273BF6CD1333B5950022CAAB /* libz.dylib */,
-                               7263EE3913330EC500BA4D44 /* libldap.dylib */,
-                               7263EE3713330E7500BA4D44 /* libz.dylib */,
-                               7263EE3513330E4E00BA4D44 /* CoreFoundation.framework */,
-                               7263EE3313330E3C00BA4D44 /* libresolv.dylib */,
-                               7263EE3113330E1E00BA4D44 /* libpthread.dylib */,
-                               7263EE2F13330DC100BA4D44 /* IOKit.framework */,
-                               7263EE2913330D5C00BA4D44 /* Kerberos.framework */,
-                               7263EE2A13330D5C00BA4D44 /* Security.framework */,
-                               7263EE2B13330D5C00BA4D44 /* SystemConfiguration.framework */,
-                               7263EE2613330D2800BA4D44 /* libpam.dylib */,
-                               72220F6713330A8500FCA411 /* ApplicationServices.framework */,
-                               72220F49133306BB00FCA411 /* CoreFoundation.framework */,
-                               72220F55133308EA00FCA411 /* Kerberos.framework */,
-                               72220F4B133306BB00FCA411 /* Security.framework */,
-                               72220F4C133306BB00FCA411 /* SystemConfiguration.framework */,
-                               72220F51133308C100FCA411 /* libiconv.dylib */,
-                               72220F53133308CB00FCA411 /* libresolv.dylib */,
-                               72220F4A133306BB00FCA411 /* libz.dylib */,
                        );
                        name = Frameworks;
                        sourceTree = "<group>";
                7258EADC134594A8009286F1 /* filters */ = {
                        isa = PBXGroup;
                        children = (
-                               7271881613746EA8001A2036 /* bannertops.c */,
                                7271881713746EA8001A2036 /* commandtops.c */,
                                7271881813746EA8001A2036 /* common.c */,
                                7271881913746EA8001A2036 /* common.h */,
                                7271881A13746EA8001A2036 /* gziptoany.c */,
-                               7271881B13746EA8001A2036 /* imagetops.c */,
-                               7271881C13746EA8001A2036 /* imagetoraster.c */,
-                               7271881D13746EA8001A2036 /* pdftops.c */,
-                               7271881E13746EA8001A2036 /* pstext.c */,
-                               7271881F13746EA8001A2036 /* pstext.h */,
                                7271882013746EA8001A2036 /* pstops.c */,
                                7271882113746EA8001A2036 /* rastertoepson.c */,
                                7271882213746EA8001A2036 /* rastertohp.c */,
                                7271882313746EA8001A2036 /* rastertolabel.c */,
                                7258EAEC134594EB009286F1 /* rastertopwg.c */,
-                               7271882413746EA8001A2036 /* textcommon.c */,
-                               7271882513746EA8001A2036 /* textcommon.h */,
-                               7271882613746EA8001A2036 /* texttops.c */,
                        );
                        name = filters;
                        sourceTree = "<group>";
                };
-               7271882A1374988C001A2036 /* Unused */ = {
-                       isa = PBXGroup;
-                       children = (
-                               7271882B137498E4001A2036 /* image-bmp.c */,
-                               7271882C137498E4001A2036 /* image-colorspace.c */,
-                               7271882D137498E4001A2036 /* image-gif.c */,
-                               7271882E137498E4001A2036 /* image-jpeg.c */,
-                               7271882F137498E4001A2036 /* image-photocd.c */,
-                               72718830137498E4001A2036 /* image-pix.c */,
-                               72718831137498E4001A2036 /* image-png.c */,
-                               72718832137498E4001A2036 /* image-pnm.c */,
-                               72718833137498E4001A2036 /* image-private.h */,
-                               72718834137498E4001A2036 /* image-sgi.c */,
-                               72718835137498E4001A2036 /* image-sgi.h */,
-                               72718836137498E4001A2036 /* image-sgilib.c */,
-                               72718837137498E4001A2036 /* image-sun.c */,
-                               72718838137498E4001A2036 /* image-tiff.c */,
-                               72718839137498E4001A2036 /* image-zoom.c */,
-                               7271883A137498E4001A2036 /* image.c */,
-                               7271883B137498E4001A2036 /* image.h */,
-                       );
-                       name = Unused;
-                       sourceTree = "<group>";
-               };
                72BF96351333042100B1EAD7 = {
                        isa = PBXGroup;
                        children = (
-                               72F75A4C1336F31B004BB496 /* libcups_static.a */,
+                               72D53A3915B492FA003F877F /* libpam.dylib */,
+                               72D53A3315B4925B003F877F /* ApplicationServices.framework */,
+                               72D53A2C15B4913D003F877F /* IOKit.framework */,
+                               72D53A2915B49110003F877F /* GSS.framework */,
+                               728FB7EF1536167A005426E1 /* libiconv.dylib */,
+                               728FB7F01536167A005426E1 /* libresolv.dylib */,
+                               728FB7EC1536161C005426E1 /* libz.dylib */,
                                72220FB113330B4A00FCA411 /* Frameworks */,
                                72220F45133305D000FCA411 /* Public Headers */,
                                72220F461333060C00FCA411 /* Private Headers */,
                                273BF6B81333B4A90022CAAB /* tests */,
                                72220EAF1333047D00FCA411 /* Products */,
                        );
+                       indentWidth = 2;
                        sourceTree = "<group>";
+                       tabWidth = 8;
+                       wrapsLines = 0;
                };
                72F75A681336FA42004BB496 /* libcupsimage */ = {
                        isa = PBXGroup;
                        children = (
-                               7271882A1374988C001A2036 /* Unused */,
                                72F75A691336FA8A004BB496 /* error.c */,
                                72F75A6A1336FA8A004BB496 /* interpret.c */,
                                72F75A6B1336FA8A004BB496 /* raster.c */,
                        productReference = 274FF64F133339C400317ECB /* cups-lpd */;
                        productType = "com.apple.product-type.tool";
                };
-               274FF66213333A9B00317ECB /* cups-polld */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = 274FF66913333A9B00317ECB /* Build configuration list for PBXNativeTarget "cups-polld" */;
-                       buildPhases = (
-                               274FF65F13333A9B00317ECB /* Sources */,
-                               274FF66013333A9B00317ECB /* Frameworks */,
-                               274FF66113333A9B00317ECB /* CopyFiles */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                               274FF66D13333AAD00317ECB /* PBXTargetDependency */,
-                       );
-                       name = "cups-polld";
-                       productName = "cups-polld";
-                       productReference = 274FF66313333A9B00317ECB /* cups-polld */;
-                       productType = "com.apple.product-type.tool";
-               };
                274FF67713333B2F00317ECB /* cupsfilter */ = {
                        isa = PBXNativeTarget;
                        buildConfigurationList = 274FF67E13333B2F00317ECB /* Build configuration list for PBXNativeTarget "cupsfilter" */;
                        );
                        name = libcups_static;
                        productName = libcups;
-                       productReference = 72F75A4C1336F31B004BB496 /* libcups_static.a */;
+                       productReference = 72A4332F155844CF002E172D /* libcups_static.a */;
                        productType = "com.apple.product-type.library.dynamic";
                };
                2766835B1337A9B6000D33D0 /* cupsctl */ = {
                72BF96371333042100B1EAD7 /* Project object */ = {
                        isa = PBXProject;
                        attributes = {
-                               LastUpgradeCheck = 0410;
+                               LastUpgradeCheck = 0440;
                                ORGANIZATIONNAME = "Apple Inc.";
                        };
                        buildConfigurationList = 72BF963A1333042100B1EAD7 /* Build configuration list for PBXProject "CUPS" */;
                                274FF6281333333600317ECB /* cups-deviced */,
                                274FF63D1333358B00317ECB /* cups-exec */,
                                274FF64E133339C400317ECB /* cups-lpd */,
-                               274FF66213333A9B00317ECB /* cups-polld */,
                                274FF67713333B2F00317ECB /* cupsfilter */,
                                72F75A511336F950004BB496 /* cupstestppd */,
                                724379461333FEA9009631B9 /* dnssd */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
-               274FF65F13333A9B00317ECB /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               274FF67013333ACF00317ECB /* cups-polld.c in Sources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
                274FF67413333B2F00317ECB /* Sources */ = {
                        isa = PBXSourcesBuildPhase;
                        buildActionMask = 2147483647;
                                72220FA613330B0C00FCA411 /* subscriptions.c in Sources */,
                                72220FA713330B0C00FCA411 /* sysman.c in Sources */,
                                72C16CB9137B195D007E4BF4 /* file.c in Sources */,
+                               728FB7E8153600FA005426E1 /* tls.c in Sources */,
+                               72D53A3815B4929D003F877F /* colorman.c in Sources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                        target = 274FF64E133339C400317ECB /* cups-lpd */;
                        targetProxy = 274FF65D13333A3400317ECB /* PBXContainerItemProxy */;
                };
-               274FF66D13333AAD00317ECB /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       target = 72220EAD1333047D00FCA411 /* libcups */;
-                       targetProxy = 274FF66C13333AAD00317ECB /* PBXContainerItemProxy */;
-               };
-               274FF67213333AE400317ECB /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       target = 274FF66213333A9B00317ECB /* cups-polld */;
-                       targetProxy = 274FF67113333AE400317ECB /* PBXContainerItemProxy */;
-               };
                274FF68213333B3C00317ECB /* PBXTargetDependency */ = {
                        isa = PBXTargetDependency;
                        target = 72220EAD1333047D00FCA411 /* libcups */;
                        };
                        name = Release;
                };
-               274FF66A13333A9B00317ECB /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               INSTALL_PATH = /usr/libexec/cups/daemon;
-                               PRODUCT_NAME = "$(TARGET_NAME)";
-                       };
-                       name = Debug;
-               };
-               274FF66B13333A9B00317ECB /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               INSTALL_PATH = /usr/libexec/cups/daemon;
-                               PRODUCT_NAME = "$(TARGET_NAME)";
-                       };
-                       name = Release;
-               };
                274FF67F13333B2F00317ECB /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
                        defaultConfigurationIsVisible = 0;
                        defaultConfigurationName = Release;
                };
-               274FF66913333A9B00317ECB /* Build configuration list for PBXNativeTarget "cups-polld" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               274FF66A13333A9B00317ECB /* Debug */,
-                               274FF66B13333A9B00317ECB /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
                274FF67E13333B2F00317ECB /* Build configuration list for PBXNativeTarget "cupsfilter" */ = {
                        isa = XCConfigurationList;
                        buildConfigurations = (
index 8096052..6b010a9 100644 (file)
@@ -1,10 +1,10 @@
 /* config.h.  Generated from config.h.in by configure.  */
 /*
- * "$Id: config.h 9793 2011-05-20 03:49:49Z mike $"
+ * "$Id: config.h 11173 2013-07-23 12:31:34Z msweet $"
  *
  *   Configuration file for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2013 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -21,8 +21,8 @@
  * Version of software...
  */
 
-#define CUPS_SVERSION "CUPS v1.5.0"
-#define CUPS_MINIMAL "CUPS/1.5.0"
+#define CUPS_SVERSION "CUPS v1.6.3"
+#define CUPS_MINIMAL "CUPS/1.6.3"
 
 
 /*
  */
 
 #define CUPS_DEFAULT_BROWSING 1
-#define CUPS_DEFAULT_BROWSE_LOCAL_PROTOCOLS "CUPS dnssd"
-#define CUPS_DEFAULT_BROWSE_REMOTE_PROTOCOLS ""
-#define CUPS_DEFAULT_BROWSE_SHORT_NAMES 1
+#define CUPS_DEFAULT_BROWSE_LOCAL_PROTOCOLS "dnssd"
 #define CUPS_DEFAULT_DEFAULT_SHARED 1
-#define CUPS_DEFAULT_IMPLICIT_CLASSES 1
-#define CUPS_DEFAULT_USE_NETWORK_DEFAULT 0
 
 
 /*
 #define HAVE_STRINGS_H 1
 /* #undef HAVE_BSTRING_H */
 
+
 /*
  * Do we have the long long type?
  */
 #  define CUPS_LLCAST  (long)
 #endif /* HAVE_LONG_LONG */
 
+
 /*
  * Do we have the strtoll() function?
  */
 #  define strtoll(nptr,endptr,base) strtol((nptr), (endptr), (base))
 #endif /* !HAVE_STRTOLL */
 
+
 /*
  * Do we have the strXXX() functions?
  */
 
 
 /*
+ * Do we have the SSL_set_tlsext_host_name function?
+ */
+
+/* #undef HAVE_SSL_SET_TLSEXT_HOST_NAME */
+
+
+/*
  * What Security framework headers do we have?
  */
 
 #define HAVE_AUTHORIZATION_H 1
+#define HAVE_SECBASEPRIV_H 1
 #define HAVE_SECCERTIFICATE_H 1
+#define HAVE_SECIDENTITYSEARCHPRIV_H 1
 #define HAVE_SECITEM_H 1
-/* #undef HAVE_SECITEMPRIV_H */
+#define HAVE_SECITEMPRIV_H 1
 #define HAVE_SECPOLICY_H 1
-/* #undef HAVE_SECPOLICYPRIV_H */
-/* #undef HAVE_SECBASEPRIV_H */
-/* #undef HAVE_SECIDENTITYSEARCHPRIV_H */
+#define HAVE_SECPOLICYPRIV_H 1
+#define HAVE_SECURETRANSPORTPRIV_H 1
 
 
 /*
 
 
 /*
- * Do we have the SLP library?
- */
-
-/* #undef HAVE_LIBSLP */
-
-
-/*
- * Do we have an LDAP library?
+ * Do we have libpaper?
  */
 
-#define HAVE_LDAP 1
-#define HAVE_OPENLDAP 1
-/* #undef HAVE_MOZILLA_LDAP */
-/* #undef HAVE_LDAP_SSL_H */
-/* #undef HAVE_LDAP_SSL */
-#define HAVE_LDAP_REBIND_PROC 1
+/* #undef HAVE_LIBPAPER */
 
 
 /*
- * Do we have libpaper?
+ * Do we have mDNSResponder for DNS Service Discovery (aka Bonjour)?
  */
 
-/* #undef HAVE_LIBPAPER */
+#define HAVE_DNSSD 1
 
 
 /*
- * Do we have DNS Service Discovery (aka Bonjour)?
+ * Do we have Avahi for DNS Service Discovery (aka Bonjour)?
  */
 
-#define HAVE_DNSSD 1
+/* #undef HAVE_AVAHI */
 
 
 /*
  */
 
 /* #undef HAVE_PDFTOPS */
-#define CUPS_PDFTOPS ""
+/* #undef HAVE_PDFTOPS_WITH_ORIGPAGESIZES */
+#define CUPS_PDFTOPS   "/usr/bin/pdftops"
 
 
 /*
  */
 
 /* #undef HAVE_GHOSTSCRIPT */
-#define CUPS_GHOSTSCRIPT ""
-
-
-/*
- * Do we have Darwin's CoreFoundation and SystemConfiguration frameworks?
- */
-
-#define HAVE_COREFOUNDATION 1
-#define HAVE_SYSTEMCONFIGURATION 1
+/* #undef HAVE_GHOSTSCRIPT_PS2WRITE */
+#define CUPS_GHOSTSCRIPT "/usr/bin/gs"
 
 
 /*
  */
 
 #define HAVE_COREFOUNDATION_H 1
-/* #undef HAVE_CFPRIV_H */
-/* #undef HAVE_CFBUNDLEPRIV_H */
+#define HAVE_CFPRIV_H 1
+#define HAVE_CFBUNDLEPRIV_H 1
 
 
 /*
 
 
 /*
- * Do we have MacOSX 10.4's mbr_XXX functions?
+ * Do we have OS X 10.4's mbr_XXX functions?
  */
 
 #define HAVE_MEMBERSHIP_H 1
-/* #undef HAVE_MEMBERSHIPPRIV_H */
+#define HAVE_MEMBERSHIPPRIV_H 1
 #define HAVE_MBR_UID_TO_UUID 1
 
 
 
 
 /*
- * Do we have DBUS?
+ * Do we have Darwin's IOKit private headers?
  */
 
-/* #undef HAVE_DBUS */
-/* #undef HAVE_DBUS_MESSAGE_ITER_INIT_APPEND */
+#define HAVE_IOKIT_PWR_MGT_IOPMLIBPRIVATE_H 1
 
 
 /*
- * Do we have the AppleTalk/at_proto.h header?
+ * Do we have DBUS?
  */
 
-/* #undef HAVE_APPLETALK_AT_PROTO_H */
+/* #undef HAVE_DBUS */
+/* #undef HAVE_DBUS_MESSAGE_ITER_INIT_APPEND */
 
 
 /*
  * Do we have the GSSAPI support library (for Kerberos support)?
  */
 
-/* #undef HAVE_GSS_ACQUIRE_CRED_EX_F */
+#define HAVE_GSS_ACQUIRE_CRED_EX_F 1
 #define HAVE_GSS_C_NT_HOSTBASED_SERVICE 1
-/* #undef HAVE_GSS_GSSAPI_H */
-/* #undef HAVE_GSS_GSSAPI_SPI_H */
+#define HAVE_GSS_GSSAPI_H 1
+#define HAVE_GSS_GSSAPI_SPI_H 1
 #define HAVE_GSSAPI 1
-#define HAVE_GSSAPI_H 1
-#define HAVE_GSSAPI_GSSAPI_H 1
-#define HAVE_GSSAPI_GSSAPI_GENERIC_H 1
-#define HAVE_GSSAPI_GSSAPI_KRB5_H 1
+/* #undef HAVE_GSSAPI_GENERIC_H */
+/* #undef HAVE_GSSAPI_GSSAPI_H */
+/* #undef HAVE_GSSAPI_H */
+#define HAVE_GSSAPI_KRB5_H 1
 #define HAVE_KRB5_H 1
 
 
  * Do we have libusb?
  */
 
-/* #undef HAVE_USB_H */
+/* #undef HAVE_LIBUSB */
 
 
 /*
 
 
 /*
- * Location of Mac OS X localization bundle, if any.
+ * Location of OS X localization bundle, if any.
  */
 
 #define CUPS_BUNDLEDIR "/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A"
 
 
 /*
- * Do we have the ColorSyncRegisterDevice function?
+ * Do we have XPC?
  */
 
-#define HAVE_COLORSYNCREGISTERDEVICE 1
+#define HAVE_XPC 1
+#define HAVE_XPC_PRIVATE_H 1
 
 
 /*
- * Do we have XPC?
+ * Do we have Mini-XML?
  */
 
-/* #undef HAVE_XPC */
+/* #undef HAVE_MXML_H */
+
+
+/*
+ * Do we have the C99 abs() function?
+ */
 
+#define HAVE_ABS 1
+#if !defined(HAVE_ABS) && !defined(abs)
+#  if defined(__GNUC__) || __STDC_VERSION__ >= 199901L
+#    define abs(x) _cups_abs(x)
+static inline int _cups_abs(int i) { return (i < 0 ? -i : i); }
+#  elif defined(_MSC_VER)
+#    define abs(x) _cups_abs(x)
+static __inline int _cups_abs(int i) { return (i < 0 ? -i : i); }
+#  else
+#    define abs(x) ((x) < 0 ? -(x) : (x))
+#  endif /* __GNUC__ || __STDC_VERSION__ */
+#endif /* !HAVE_ABS && !abs */
 
 #endif /* !_CUPS_CONFIG_H_ */
 
 /*
- * End of "$Id: config.h 9793 2011-05-20 03:49:49Z mike $".
+ * End of "$Id: config.h 11173 2013-07-23 12:31:34Z msweet $".
  */